Plugin Directory

Changeset 3262557


Ignore:
Timestamp:
03/27/2025 07:23:23 AM (12 months ago)
Author:
wpzinc
Message:

Update to version 1.7.7 from GitHub

Location:
page-generator
Files:
4 added
6 deleted
40 edited
1 copied

Legend:

Unmodified
Added
Removed
  • page-generator/tags/1.7.7/_modules/dashboard/class-wpzincdashboardwidget.php

    r3247852 r3262557  
    1010 */
    1111
     12// Exit if accessed directly.
     13if ( ! defined( 'ABSPATH' ) ) {
     14    exit;
     15}
     16
    1217/**
    1318 * Provides common functionality, styling and views for Plugins.
     
    4651
    4752    /**
    48      * Holds the deactivation endpoint URL.
     53     * Flag to show the Import and Export Sub Menu
     54     *
     55     * @since   1.0.0
     56     *
     57     * @var     bool
     58     */
     59    private $show_import_export_menu = true;
     60
     61    /**
     62     * Flag to show the Upgrade Sub Menu
     63     *
     64     * @since   1.0.0
     65     *
     66     * @var     bool
     67     */
     68    private $show_upgrade_menu = true;
     69
     70    /**
     71     * Flag to show the Support Sub Menu
     72     *
     73     * @since   1.0.0
     74     *
     75     * @var     bool
     76     */
     77    private $show_support_menu = false;
     78
     79    /**
     80     * Flag to show the Review Request
     81     *
     82     * @since   1.0.0
     83     *
     84     * @var     bool
     85     */
     86    private $show_review_request = true;
     87
     88    /**
     89     * Holds the message to display when importing or exporting a configuration file.
    4990     *
    5091     * @since   1.0.0
     
    5293     * @var     string
    5394     */
    54     private $endpoint;
    55 
    56     /**
    57      * Flag to show the Import and Export Sub Menu
    58      *
    59      * @since   1.0.0
    60      *
    61      * @var     bool
    62      */
    63     private $show_import_export_menu = true;
    64 
    65     /**
    66      * Flag to show the Upgrade Sub Menu
    67      *
    68      * @since   1.0.0
    69      *
    70      * @var     bool
    71      */
    72     private $show_upgrade_menu = true;
    73 
    74     /**
    75      * Flag to show the Support Sub Menu
    76      *
    77      * @since   1.0.0
    78      *
    79      * @var     bool
    80      */
    81     private $show_support_menu = false;
    82 
    83     /**
    84      * Flag to show the Review Request
    85      *
    86      * @since   1.0.0
    87      *
    88      * @var     bool
    89      */
    90     private $show_review_request = true;
    91 
    92     /**
    93      * Holds the message to display when importing or exporting a configuration file.
     95    private $message = '';
     96
     97    /**
     98     * Holds the error message to display when importing or exporting a configuration file.
    9499     *
    95100     * @since   1.0.0
     
    97102     * @var     string
    98103     */
    99     private $message = '';
    100 
    101     /**
    102      * Holds the error message to display when importing or exporting a configuration file.
    103      *
    104      * @since   1.0.0
    105      *
    106      * @var     string
    107      */
    108104    private $error_message = '';
    109105
     
    114110     *
    115111     * @param   object $plugin    WordPress Plugin.
    116      * @param   string $endpoint  LUM Deactivation Endpoint.
    117      */
    118     public function __construct( $plugin, $endpoint = false ) {
     112     */
     113    public function __construct( $plugin ) {
    119114
    120115        // Plugin Details.
    121         $this->plugin   = $plugin;
    122         $this->endpoint = $endpoint;
     116        $this->plugin = $plugin;
    123117
    124118        // Set class vars.
     
    135129        // Plugin Actions.
    136130        if ( ! isset( $this->plugin->hide_upgrade_menu ) || ! $this->plugin->hide_upgrade_menu ) {
    137             add_filter( 'plugin_action_links_' . $this->plugin->name . '/' . $this->plugin->name . '.php', array( $this, 'add_action_link' ), 10, 2 );
     131            add_filter( 'plugin_action_links_' . $this->plugin->name . '/' . $this->plugin->name . '.php', array( $this, 'add_action_link' ), 10, 1 );
    138132        }
    139133
     
    149143        add_action( 'plugins_loaded', array( $this, 'maybe_redirect' ) );
    150144
    151         // Deactivation.
    152         add_action( 'wp_ajax_wpzinc_dashboard_deactivation_modal_submit', array( $this, 'deactivation_modal_submit' ) );
     145        // Permit wpzinc.com to be redirected to when using wp_safe_redirect().
     146        add_filter( 'allowed_redirect_hosts', array( $this, 'allowed_redirect_hosts' ) );
    153147
    154148    }
     
    392386        wp_register_script( 'wpzinc-admin-autosize', $this->dashboard_url . 'js/' . ( $minified ? 'min/' : '' ) . 'autosize' . ( $minified ? '-min' : '' ) . '.js', false, $this->plugin->version, true );
    393387        wp_register_script( 'wpzinc-admin-conditional', $this->dashboard_url . 'js/' . ( $minified ? 'min/' : '' ) . 'jquery.form-conditionals' . ( $minified ? '-min' : '' ) . '.js', array( 'jquery' ), $this->plugin->version, true );
    394         wp_register_script( 'wpzinc-admin-deactivation', $this->dashboard_url . 'js/' . ( $minified ? 'min/' : '' ) . 'deactivation' . ( $minified ? '-min' : '' ) . '.js', array( 'jquery' ), $this->plugin->version, true );
    395388        wp_register_script( 'wpzinc-admin-inline-search', $this->dashboard_url . 'js/' . ( $minified ? 'min/' : '' ) . 'inline-search' . ( $minified ? '-min' : '' ) . '.js', array( 'jquery' ), $this->plugin->version, true );
    396389        wp_register_script( 'wpzinc-admin-media-library', $this->dashboard_url . 'js/' . ( $minified ? 'min/' : '' ) . 'media-library' . ( $minified ? '-min' : '' ) . '.js', array( 'jquery', 'jquery-ui-sortable' ), $this->plugin->version, true );
    397390        wp_register_script( 'wpzinc-admin-modal', $this->dashboard_url . 'js/' . ( $minified ? 'min/' : '' ) . 'modal' . ( $minified ? '-min' : '' ) . '.js', array( 'jquery' ), $this->plugin->version, true );
    398391        wp_register_script( 'wpzinc-admin-notification', $this->dashboard_url . 'js/' . ( $minified ? 'min/' : '' ) . 'notification' . ( $minified ? '-min' : '' ) . '.js', array( 'jquery' ), $this->plugin->version, true );
     392        wp_register_script( 'wpzinc-admin-review-notice', $this->dashboard_url . 'js/' . ( $minified ? 'min/' : '' ) . 'review-notice' . ( $minified ? '-min' : '' ) . '.js', array( 'jquery' ), $this->plugin->version, true );
    399393        wp_register_script( 'wpzinc-admin-selectize', $this->dashboard_url . 'js/' . ( $minified ? 'min/' : '' ) . 'selectize' . ( $minified ? '-min' : '' ) . '.js', array( 'jquery' ), $this->plugin->version, true );
    400394        wp_register_script( 'wpzinc-admin-synchronous-ajax', $this->dashboard_url . 'js/' . ( $minified ? 'min/' : '' ) . 'synchronous-ajax' . ( $minified ? '-min' : '' ) . '.js', array( 'jquery' ), $this->plugin->version, true );
     
    426420            /**
    427421             * Import / Export
    428              * - Must use displayName because of whitelabelling and WordPress stupidity?
     422             * - Use of displayName is deliberate.
    429423             */
    430424            case sanitize_title( $this->plugin->displayName ) . '_page_' . $this->plugin->name . '-import-export':
     
    455449        $slug = ( ! empty( $parent_slug ) ? $parent_slug : $this->plugin->name );
    456450
    457         // Define minimum capability for accessing Import and Export Sub Menu.
     451        /**
     452         * Filter the minimum capability for accessing Import and Export Sub Menu.
     453         *
     454         * @since   1.0.0
     455         *
     456         * @param   string  $minimum_capability   Minimum Capability.
     457         */
    458458        $minimum_capability = apply_filters( str_replace( '-', '_', $this->plugin->name ) . '_admin_admin_menu_minimum_capability', 'manage_options' ); // phpcs:ignore WordPress.NamingConventions.ValidHookName
    459459
     
    480480        $slug = ( ! empty( $parent_slug ) ? $parent_slug : $this->plugin->name );
    481481
    482         // Define minimum capability for accessing Support Menu.
     482        /**
     483         * Filter the minimum capability for accessing Support Sub Menu.
     484         *
     485         * @since   1.0.0
     486         *
     487         * @param   string  $minimum_capability   Minimum Capability.
     488         */
    483489        $minimum_capability = apply_filters( str_replace( '-', '_', $this->plugin->name ) . '_admin_admin_menu_minimum_capability', 'manage_options' ); // phpcs:ignore WordPress.NamingConventions.ValidHookName
    484490
     
    505511        $slug = ( ! empty( $parent_slug ) ? $parent_slug : $this->plugin->name );
    506512
    507         // Define minimum capability for accessing Upgrade Menu.
     513        /**
     514         * Filter the minimum capability for accessing Upgrade Sub Menu.
     515         *
     516         * @since   1.0.0
     517         *
     518         * @param   string  $minimum_capability   Minimum Capability.
     519         */
    508520        $minimum_capability = apply_filters( str_replace( '-', '_', $this->plugin->name ) . '_admin_admin_menu_minimum_capability', 'manage_options' ); // phpcs:ignore WordPress.NamingConventions.ValidHookName
    509521
     
    539551
    540552    /**
    541      * Adds Plugin Action Links to the Plugin when activated in the Plugins Screen,
    542      * as well as loading the deactivation Javascript and action for the modal view
    543      * if we're on a Free Plugin.
    544      *
    545      * @since   1.0.0
    546      *
    547      * @param   array  $links  Action Links.
    548      * @param   string $file   Plugin File.
     553     * Adds Plugin Action Links to the Plugin when activated in the Plugins Screen.
     554     *
     555     * @since   1.0.0
     556     *
     557     * @param   array $links  Action Links.
    549558     * @return  array           Action Links
    550559     */
    551     public function add_action_link( $links, $file ) { // phpcs:ignore Generic.CodeAnalysis.UnusedFunctionParameter
     560    public function add_action_link( $links ) {
    552561
    553562        // Bail if the licensing class exists,as this means we're on a Pro version.
    554563        if ( class_exists( 'LicensingUpdateManager' ) ) {
    555564            return $links;
    556         }
    557 
    558         // Late enqueue deactivation script.
    559         wp_enqueue_script( 'wpzinc-admin-deactivation' );
    560         wp_localize_script(
    561             'wpzinc-admin-deactivation',
    562             'wpzinc_dashboard',
    563             array(
    564                 'plugin' => array(
    565                     'name'    => $this->plugin->name,
    566                     'version' => $this->plugin->version,
    567                 ),
    568             )
    569         );
    570 
    571         // Late bind loading the deactivation modal HTML.
    572         if ( $this->endpoint ) {
    573             add_action( 'admin_footer', array( $this, 'output_deactivation_modal' ) );
    574565        }
    575566
     
    596587
    597588    /**
    598      * Outputs the Deactivation Modal HTML, which is displayed by Javascript.
    599      *
    600      * @since   1.0.0
    601      */
    602     public function output_deactivation_modal() {
    603 
    604         // Define the deactivation reasons.
    605         $reasons = array(
    606             'temporary'          => array(
    607                 'label'       => __( 'This is temporary / debugging an issue.', $this->plugin->name ), // phpcs:ignore WordPress.WP.I18n
    608                 'placeholder' => __( 'Optional: What problem are you experiencing?', $this->plugin->name ), // phpcs:ignore WordPress.WP.I18n
    609             ),
    610             'not_working'        => array(
    611                 'label'       => __( 'Could not get the plugin to work.', $this->plugin->name ), // phpcs:ignore WordPress.WP.I18n
    612                 'placeholder' => __( 'Optional: What problem are you experiencing?', $this->plugin->name ), // phpcs:ignore WordPress.WP.I18n
    613             ),
    614             'better_alternative' => array(
    615                 'label'       => __( 'Found a better plugin.', $this->plugin->name ), // phpcs:ignore WordPress.WP.I18n
    616                 'placeholder' => __( 'Optional: What\'s the plugin\'s name?', $this->plugin->name ), // phpcs:ignore WordPress.WP.I18n
    617             ),
    618             'not_required'       => array(
    619                 'label'       => __( 'Don\'t need this plugin.', $this->plugin->name ), // phpcs:ignore WordPress.WP.I18n
    620                 'placeholder' => __( 'Optional: What\'s one thing we could improve?', $this->plugin->name ), // phpcs:ignore WordPress.WP.I18n
    621             ),
    622             'other'              => array(
    623                 'label'       => __( 'Other.', $this->plugin->name ), // phpcs:ignore WordPress.WP.I18n
    624                 'placeholder' => __( 'Optional: What can we do better?', $this->plugin->name ), // phpcs:ignore WordPress.WP.I18n
    625             ),
    626         );
    627 
    628         /**
    629          * Filter the deactivation reasons.
    630          *
    631          * @since   1.0.0
    632          *
    633          * @param   array   $reasons        Reasons.
    634          * @param   string  $plugin_name    Plugin Name.
    635          * @param   object  $plugin         Plugin.
    636          */
    637         $reasons = apply_filters( 'wpzinc_dashboard_output_deactivation_modal_reasons', $reasons, $this->plugin->name, $this->plugin );
    638 
    639         // Bail if no reasons are given.
    640         if ( empty( $reasons ) || count( $reasons ) === 0 ) {
    641             return;
    642         }
    643 
    644         // Output modal, which will be displayed when the user clicks deactivate on this plugin.
    645         require_once $this->plugin->folder . '/_modules/dashboard/views/deactivation-modal.php';
    646 
    647     }
    648 
    649     /**
    650      * Sends the deactivation reason.
    651      *
    652      * @since   1.0.0
    653      */
    654     public function deactivation_modal_submit() {
    655 
    656         // Build args.
    657         // phpcs:disable WordPress.Security.NonceVerification
    658         $args = array(
    659             'product'      => ( isset( $_REQUEST['product'] ) ? sanitize_text_field( wp_unslash( $_REQUEST['product'] ) ) : '' ),
    660             'version'      => ( isset( $_REQUEST['version'] ) ? sanitize_text_field( wp_unslash( $_REQUEST['version'] ) ) : '' ),
    661             'reason'       => ( isset( $_REQUEST['reason'] ) ? sanitize_text_field( wp_unslash( $_REQUEST['reason'] ) ) : '' ),
    662             'reason_text'  => ( isset( $_REQUEST['reason_text'] ) ? sanitize_text_field( wp_unslash( $_REQUEST['reason_text'] ) ) : '' ),
    663             'reason_email' => ( isset( $_REQUEST['reason_email'] ) ? sanitize_text_field( wp_unslash( $_REQUEST['reason_email'] ) ) : '' ),
    664             'site_url'     => str_replace( wp_parse_url( get_bloginfo( 'url' ), PHP_URL_SCHEME ) . '://', '', get_bloginfo( 'url' ) ),
    665         );
    666         // phpcs:enable
    667 
    668         // Send deactivation reason.
    669         $response = wp_remote_get( $this->endpoint . '/index.php?' . http_build_query( $args ) );
    670 
    671         // Return error or success, depending on the result.
    672         if ( is_wp_error( $response ) ) {
    673             wp_send_json_error( $response->get_error_message(), wp_remote_retrieve_response_code( $response ) );
    674         }
    675 
    676         wp_send_json_success( wp_remote_retrieve_body( $response ) );
    677 
    678     }
    679 
    680     /**
    681589     * Displays a dismissible WordPress Administration notice requesting a review, if requested
    682590     * by the main Plugin and the Review Request hasn't been disabled.
     
    708616            return;
    709617        }
     618
     619        // Enqueue JS.
     620        wp_enqueue_script( 'wpzinc-admin-review-notice' );
     621        wp_localize_script(
     622            'wpzinc-admin-review-notice',
     623            'wpzinc_admin_review_notice',
     624            array(
     625                'plugin_name' => $this->plugin->name,
     626                'action'      => esc_attr( str_replace( '-', '_', $this->plugin->name ) ) . '_dismiss_review',
     627                'nonce'       => wp_create_nonce( 'wpzinc_admin_review_notice_dismiss_review' ),
     628            )
     629        );
    710630
    711631        // If here, display the request for a review.
     
    823743    public function dismiss_review() {
    824744
     745        // Check nonce.
     746        check_ajax_referer( 'wpzinc_admin_review_notice_dismiss_review', 'nonce' );
     747
     748        // Mark review as dismissed.
    825749        update_option( $this->plugin->review_name . '-review-dismissed', 1 );
    826750
    827         // Send success response if called via AJAX.
    828         if ( defined( 'DOING_AJAX' ) && DOING_AJAX ) {
    829             wp_send_json_success( 1 );
    830         }
     751        // Send success response.
     752        wp_send_json_success( 1 );
    831753
    832754    }
     
    879801    public function import_export_screen() {
    880802
    881         if ( ! empty( $_POST ) ) { // phpcs:ignore WordPress.Security.NonceVerification
    882             // Check nonce.
    883             $result = $this->import_export_security_check();
    884 
    885             if ( is_wp_error( $result ) ) {
    886                 $this->error_message = $result->get_error_message();
    887             } elseif ( isset( $_POST['import'] ) ) { // phpcs:ignore WordPress.Security.NonceVerification
     803        // Check nonce.
     804        if ( isset( $_POST[ $this->plugin->name . '_nonce' ] ) && wp_verify_nonce( sanitize_key( $_POST[ $this->plugin->name . '_nonce' ] ), $this->plugin->name ) ) {
     805            // Import if requested.
     806            if ( isset( $_POST['import'] ) ) {
    888807                // Import JSON.
    889808                $this->import();
    890             } else {
    891                 // Import from Third Party.
    892                 $result = true;
    893                 $result = apply_filters( str_replace( '-', '_', $this->plugin->name ) . '_import_third_party', $result, $_POST ); // phpcs:ignore WordPress.NamingConventions.ValidHookName,WordPress.Security.NonceVerification
    894 
    895                 if ( is_wp_error( $result ) ) {
    896                     $this->error_message = $result->get_error_message();
    897                 } else {
    898                     $this->message = __( 'Settings imported.', $this->plugin->name ); // phpcs:ignore WordPress.WP.I18n
    899                 }
    900809            }
    901810        }
    902811
    903         // Allow Plugin to define additional import routines.
     812        /**
     813         * Filter the import sources.
     814         *
     815         * @since   1.0.0
     816         *
     817         * @param   array   $import_sources   Import Sources.
     818         */
    904819        $import_sources = apply_filters( str_replace( '-', '_', $this->plugin->name ) . '_import_sources', array() ); // phpcs:ignore WordPress.NamingConventions.ValidHookName
    905820
     
    910825
    911826    /**
    912      * Check the nonce before importing or exporting.
    913      *
    914      * @since   1.0.0
    915      *
    916      * @return  mixed   WP_Error | bool
    917      */
    918     private function import_export_security_check() {
     827     * Import JSON file upload that confirms to our standards.
     828     *
     829     * @since   1.0.0
     830     */
     831    private function import() {
    919832
    920833        // Check nonce.
    921834        if ( ! isset( $_POST[ $this->plugin->name . '_nonce' ] ) ) {
    922835            // Missing nonce.
    923             return new WP_Error( 'import_export_nonce_missing', __( 'nonce field is missing. Settings NOT saved.', $this->plugin->name ) ); // phpcs:ignore WordPress.WP.I18n
     836            return;
    924837        }
    925838
    926839        if ( ! wp_verify_nonce( sanitize_key( $_POST[ $this->plugin->name . '_nonce' ] ), $this->plugin->name ) ) {
    927840            // Invalid nonce.
    928             return new WP_Error( 'import_export_nonce_invalid', __( 'Invalid nonce specified. Settings NOT saved.', $this->plugin->name ) ); // phpcs:ignore WordPress.WP.I18n
    929         }
    930 
    931         return true;
    932 
    933     }
    934 
    935     /**
    936      * Import JSON file upload that confirms to our standards.
    937      *
    938      * @since   1.0.0
    939      */
    940     private function import() {
    941 
    942         if ( ! is_array( $_FILES ) ) { // phpcs:ignore WordPress.Security.NonceVerification.Missing
     841            return;
     842        }
     843
     844        if ( ! is_array( $_FILES ) ) {
    943845            $this->error_message = __( 'No file was uploaded', $this->plugin->name ); // phpcs:ignore WordPress.WP.I18n
    944846            return;
    945847        }
    946         if ( ! isset( $_FILES['import']['type'] ) || ! isset( $_FILES['import']['tmp_name'] ) || ! isset( $_FILES['import']['size'] ) ) { // phpcs:ignore WordPress.Security.NonceVerification.Missing
     848        if ( ! isset( $_FILES['import']['type'] ) || ! isset( $_FILES['import']['tmp_name'] ) || ! isset( $_FILES['import']['size'] ) ) {
    947849            $this->error_message = __( 'Could not determine file type', $this->plugin->name ); // phpcs:ignore WordPress.WP.I18n
    948850            return;
    949851        }
    950852
    951         if ( isset( $_FILES['import']['error'] ) && $_FILES['import']['error'] !== 0 ) { // phpcs:ignore WordPress.Security.NonceVerification.Missing
     853        if ( isset( $_FILES['import']['error'] ) && $_FILES['import']['error'] !== 0 ) {
    952854            $this->error_message = __( 'Error when uploading file.', $this->plugin->name ); // phpcs:ignore WordPress.WP.I18n
    953855            return;
     
    955857
    956858        // Determine if the file is JSON or ZIP.
    957         switch ( $_FILES['import']['type'] ) { // phpcs:ignore WordPress.Security.NonceVerification.Missing
     859        switch ( $_FILES['import']['type'] ) {
    958860            /**
    959861             * ZIP File
     
    962864                // Open ZIP file.
    963865                $zip = new ZipArchive();
    964                 if ( $zip->open( $_FILES['import']['tmp_name'] ) !== true ) { // phpcs:ignore WordPress.Security.NonceVerification.Missing, WordPress.Security.ValidatedSanitizedInput.InputNotSanitized
     866                if ( $zip->open( sanitize_text_field( wp_unslash( $_FILES['import']['tmp_name'] ) ) ) !== true ) {
    965867                    $this->error_message = __( 'Could not extract the supplied ZIP file.', $this->plugin->name ); // phpcs:ignore WordPress.WP.I18n
    966868                    return;
     
    982884                // Read file.
    983885                // phpcs:disable WordPress.WP.AlternativeFunctions
    984                 $handle = fopen( $_FILES['import']['tmp_name'], 'r' ); // phpcs:ignore WordPress.Security.NonceVerification.Missing, WordPress.Security.ValidatedSanitizedInput.InputNotSanitized
    985                 $json   = fread( $handle, sanitize_text_field( $_FILES['import']['size'] ) ); // phpcs:ignore WordPress.Security.NonceVerification.Missing
     886                $handle = fopen( sanitize_text_field( wp_unslash( $_FILES['import']['tmp_name'] ) ), 'r' );
     887                $json   = fread( $handle, sanitize_text_field( wp_unslash( $_FILES['import']['size'] ) ) );
    986888                fclose( $handle );
    987889                // phpcs:enable
     
    1041943    public function export() {
    1042944
     945        // Check nonce.
     946        if ( ! isset( $_POST[ $this->plugin->name . '_nonce' ] ) ) {
     947            // Missing nonce.
     948            return;
     949        }
     950
     951        if ( ! wp_verify_nonce( sanitize_key( $_POST[ $this->plugin->name . '_nonce' ] ), $this->plugin->name ) ) {
     952            // Invalid nonce.
     953            return;
     954        }
     955
    1043956        // Bail if no POST data.
    1044         if ( empty( $_POST ) ) { // phpcs:ignore WordPress.Security.NonceVerification
     957        if ( empty( $_POST ) ) {
    1045958            return;
    1046959        }
    1047960
    1048961        // Bail if not exporting.
    1049         if ( ! isset( $_POST['export'] ) ) { // phpcs:ignore WordPress.Security.NonceVerification
     962        if ( ! isset( $_POST['export'] ) ) {
    1050963            return;
    1051964        }
    1052965
    1053966        // Bail if no format specified.
    1054         if ( ! isset( $_POST['format'] ) ) { // phpcs:ignore WordPress.Security.NonceVerification
    1055             return;
    1056         }
    1057 
    1058         // Bail if nonce check fails.
    1059         $result = $this->import_export_security_check();
    1060         if ( is_wp_error( $result ) ) {
    1061             $this->error_message = $result->get_error_message();
     967        if ( ! isset( $_POST['format'] ) ) {
    1062968            return;
    1063969        }
     
    1075981         * @param   array   $_POST  POST Data.
    1076982         */
    1077         $data = apply_filters( str_replace( '-', '_', $this->plugin->name ) . '_export', $data, $_POST ); // phpcs:ignore WordPress.NamingConventions.ValidHookName,WordPress.Security.NonceVerification
     983        $data = apply_filters( str_replace( '-', '_', $this->plugin->name ) . '_export', $data, $_POST );
    1078984
    1079985        // Force a file download, depending on the export format.
    1080         switch ( sanitize_text_field( wp_unslash( $_POST['format'] ) ) ) { // phpcs:ignore WordPress.Security.NonceVerification
     986        switch ( sanitize_text_field( wp_unslash( $_POST['format'] ) ) ) {
    1081987            /**
    1082988             * JSON, Zipped.
     
    11321038        $zip->close();
    11331039
     1040        // Initialize WP_Filesystem.
     1041        global $wp_filesystem;
     1042        if ( empty( $wp_filesystem ) ) {
     1043            require_once ABSPATH . '/wp-admin/includes/file.php';
     1044            WP_Filesystem();
     1045        }
     1046
     1047        // Read file contents.
     1048        $zip_contents = $wp_filesystem->get_contents( $filename );
     1049
    11341050        // Output ZIP data, prompting the browser to auto download as a ZIP file now.
    11351051        header( 'Content-type: application/zip' );
     
    11371053        header( 'Pragma: no-cache' );
    11381054        header( 'Expires: 0' );
    1139         readfile( $filename ); // phpcs:ignore WordPress.WP.AlternativeFunctions
    1140         wp_delete_file( $filename );
     1055        echo $zip_contents; // phpcs:ignore WordPress.Security.EscapeOutput
     1056
     1057        // Delete the temporary file.
     1058        $wp_filesystem->delete( $filename );
    11411059        exit();
    11421060
     
    12001118        // Redirect to Support.
    12011119        if ( $page === $this->plugin->name . '-support' ) {
    1202             wp_redirect( $this->plugin->support_url ); // phpcs:ignore WordPress.Security.SafeRedirect
     1120            wp_safe_redirect( $this->plugin->support_url );
    12031121            die();
    12041122        }
     
    12061124        // Redirect to Upgrade.
    12071125        if ( $page === $this->plugin->name . '-upgrade' ) {
    1208             wp_redirect( $this->get_upgrade_url( 'menu' ) ); // phpcs:ignore WordPress.Security.SafeRedirect
     1126            wp_safe_redirect( $this->get_upgrade_url( 'menu' ) );
    12091127            die();
    12101128        }
     
    12121130    }
    12131131
     1132    /**
     1133     * Permit wpzinc.com to be redirected to when using wp_safe_redirect().
     1134     *
     1135     * @since   1.0.0
     1136     *
     1137     * @param   array $hosts   Hosts.
     1138     * @return  array            Hosts.
     1139     */
     1140    public function allowed_redirect_hosts( $hosts ) {
     1141
     1142        $hosts[] = 'www.wpzinc.com';
     1143        return $hosts;
     1144
     1145    }
     1146
    12141147}
  • page-generator/tags/1.7.7/_modules/dashboard/css/admin.css

    r3247852 r3262557  
    1 body#wpzinc-error-page{background:#f1f1f1}body#wpzinc-error-page div.wpzinc-die-message{background:#fff;border:1px solid #ccd0d4;color:#444;font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;margin:2em auto;padding:1em 2em;max-width:700px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,0.04);box-shadow:0 1px 1px rgba(0,0,0,0.04)}body.wpzinc{background:#f0f0f1}body.wpzinc #screen-meta{margin-left:22px}body.wpzinc #wpcontent{padding-left:0}body.wpzinc #wpcontent #wpbody-content{padding-left:0}body.wpzinc #wpcontent #wpbody-content>header{height:98px;margin:0 0 10px 0;padding:0 20px;background-image:var(--wpzinc-logo);background-size:40px auto;background-position:30px 50%;background-repeat:no-repeat;background-color:var(--wpzinc-header-background-color, #fff)}body.wpzinc #wpcontent #wpbody-content>header h1{float:left;margin:0;padding:0;font-size:24px;font-weight:600;color:var(--wpzinc-header-primary-text-color, #3d3d3d);line-height:98px;text-indent:70px}body.wpzinc #wpcontent #wpbody-content>header h1 span{color:var(--wpzinc-header-secondary-text-color, #6e6e6e)}body.wpzinc #wpcontent #wpbody-content>header a.wpzinc-docs{float:right;line-height:98px;padding:0 20px;font-weight:400;color:#144264;text-decoration:none}body.wpzinc #wpcontent #wpbody-content .wrap{margin:0}body.wpzinc #wpcontent #wpbody-content .wrap>.notice,body.wpzinc #wpcontent #wpbody-content .wrap>.js-notices>.notice{margin:5px 15px 2px 15px}body.wpzinc #wpcontent #wpbody-content .wrap .wp-heading-inline,body.wpzinc #wpcontent #wpbody-content .wrap>h1{display:block;width:100%;height:98px;margin:0 0 10px 0;padding:0 20px;background-image:var(--wpzinc-logo, url("../images/icons/logo.svg"));background-position:30px 50%;background-repeat:no-repeat;background-size:40px auto;background-color:var(--wpzinc-header-background-color, #fff);font-size:24px;font-weight:600;color:var(--wpzinc-header-secondary-text-color, #6e6e6e);line-height:98px;text-indent:70px}body.wpzinc #wpcontent #wpbody-content .wrap .wp-heading-inline::before,body.wpzinc #wpcontent #wpbody-content .wrap>h1::before{content:var(--wpzinc-plugin-display-name, "WP Zinc");color:var(--wpzinc-header-primary-text-color, #3d3d3d)}body.wpzinc #wpcontent #wpbody-content .wrap .wp-heading-inline+.page-title-action,body.wpzinc #wpcontent #wpbody-content .wrap>h1+.page-title-action{margin-left:20px}body.wpzinc #wpcontent #wpbody-content .wrap #split-page-title-action{margin-left:22px}body.wpzinc #wpcontent #wpbody-content .wrap ul.subsubsub{margin-left:22px}body.wpzinc #wpcontent #wpbody-content .wrap form#posts-filter{margin:15px 20px 20px 22px}body.wpzinc #wpcontent #wpbody-content .wrap form#posts-filter div.tablenav.top{padding:6px 0 10px 0}body.wpzinc #wpcontent #wpbody-content .wrap form#posts-filter div.tablenav.bottom{padding:6px 0 0 0}body.wpzinc #wpcontent #wpbody-content .wrap form#post,body.wpzinc #wpcontent #wpbody-content .wrap form#edittag{margin:20px 20px 0 22px}body.wpzinc #wpcontent #wpbody-content .wrap form.search-form{margin-left:22px;margin-right:20px}body.wpzinc #wpcontent #wpbody-content .wrap #col-container{margin-left:22px;margin-right:20px}body.wpzinc #wpcontent #wpbody-content .wrap #col-container form#posts-filter{margin-left:0;margin-right:0}body.wpzinc #wpcontent #wpbody-content .wrap span.subtitle{position:absolute;left:0;right:0;margin:20px 0;font-style:italic;max-width:50%}body.wpzinc #wpcontent #wpbody-content .wrap .wrap-inner{margin:0 20px}body.wpzinc #wpcontent #wpbody-content .wrap .wrap-inner form#posts-filter{margin:0}body.wpzinc #wpcontent #wpbody-content .wrap .postbox{background:#fff;margin:0 0 30px 0;padding:0}body.wpzinc #wpcontent #wpbody-content .wrap form.wpzinc-settings-ui .postbox{margin:0 0 30px 0;padding:30px;font-size:14px;border-radius:8px;border:none}body.wpzinc #wpcontent #wpbody-content .wrap form.wpzinc-settings-ui .postbox h2{margin:0 0 30px 0;padding:0 0 30px 0;font-size:24px;font-weight:600;border-bottom:1px solid #e3e3e3;color:#3d3d3d}body.wpzinc #wpcontent #wpbody-content .wrap p.submit{margin-bottom:20px;padding:0}body.wpzinc .components-base-control.wpzinc-selectize-freeform,body.wpzinc .components-base-control.wpzinc-selectize-drag-drop,body.wpzinc .components-base-control.wpzinc-selectize-search,body.wpzinc .components-base-control.wpzinc-selectize-api,body.wpzinc .components-base-control.wpzinc-selectize{width:100%}.tribute-container,ul.wpzinc-tinymce-autocomplete{position:absolute;z-index:999999;display:block;top:0;left:0;height:auto;min-width:220px;max-width:500px;max-height:300px;overflow-x:hidden;overflow-y:auto;box-sizing:border-box;margin:0;padding:16px;background-color:#fff;border:1px solid #ccc;box-shadow:0 2px 6px rgba(0,0,0,0.05);border-radius:2px}.tribute-container ul,ul.wpzinc-tinymce-autocomplete{margin:0;list-style:none}.tribute-container ul li,ul.wpzinc-tinymce-autocomplete li{width:100%;line-height:24px;margin:0;padding:6px 12px;font-size:13px;text-align:left;border:0;border-radius:2px;color:#1e1e1e;text-decoration:none;cursor:pointer;background:none;transition:box-shadow .1s linear;box-sizing:border-box}.tribute-container ul li:hover,ul.wpzinc-tinymce-autocomplete li:hover{color:#007cba}.tribute-container ul li:focus,.tribute-container ul li.highlight,ul.wpzinc-tinymce-autocomplete li:focus,ul.wpzinc-tinymce-autocomplete li.highlight{color:#007cba;box-shadow:0 0 0 2px #007cba;outline:3px solid transparent}.tribute-container ul li.highlight:hover,ul.wpzinc-tinymce-autocomplete li.highlight:hover{box-shadow:none;outline:0}ul.wpzinc-tinymce-autocomplete{display:none}ul.wpzinc-tinymce-autocomplete.displayed{display:block}ul.wpzinc-tinymce-autocomplete li{display:none}ul.wpzinc-tinymce-autocomplete li.displayed{display:block}.ui-autocomplete{font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif !important;font-size:15px !important;z-index:9999999 !important;max-height:120px !important;overflow-x:hidden !important;overflow-y:auto !important;border:1px solid #dddddd !important;background:#f2f2f2 !important;color:#333333 !important}.wpzinc-media-library-selector ul{margin:0;padding:0}.wpzinc-media-library-selector li.wpzinc-media-library-attachment{position:relative;border:1px dashed #dfdfdf;background-color:#fff;padding:5px 10px}.wpzinc-media-library-selector li.wpzinc-media-library-attachment .wpzinc-media-library-insert img{position:relative;z-index:2;display:block;width:100%;height:auto}.wpzinc-media-library-selector li.wpzinc-media-library-attachment a.wpzinc-media-library-replace{position:absolute;z-index:4;top:-11px;left:-12px;width:19px;height:19px;background:url(../feather/edit-2.svg) center no-repeat #fff;background-size:15px 15px;text-indent:-9999px;border:2px solid #000;border-radius:50%}.wpzinc-media-library-selector li.wpzinc-media-library-attachment a.wpzinc-media-library-remove{position:absolute;z-index:3;top:-12px;right:-12px;width:24px;height:24px;background:url(../feather/x-circle.svg) center no-repeat #fff;background-size:24px 24px;text-indent:-9999px;border:none;border-radius:50%}.wpzinc-media-library-selector ul.ui-sortable li.wpzinc-media-library-attachment{cursor:move}.wpzinc-media-library-selector[data-multiple=true] ul{display:grid;grid-gap:10px;grid-template-columns:1fr 1fr}.wpzinc-media-library-selector[data-file-type=image] li.wpzinc-media-library-attachment{--aspect-ratio: 1/1;border:1px dashed #dfdfdf;background-color:#fff;padding:0}.wpzinc-media-library-selector[data-file-type=image] li.wpzinc-media-library-attachment:before{content:"";display:inline-block;width:1px;height:0;padding-bottom:calc(100% / (var(--aspect-ratio)))}.wpzinc-media-library-selector[data-file-type=image] li.wpzinc-media-library-attachment .wpzinc-media-library-insert{display:inline-block;position:absolute;z-index:1;width:100%;height:100%}h2.wpzinc-horizontal-tabbed-ui.nav-tab-wrapper{margin:0 0 20px 0;padding:0;border-bottom:1px solid #d0d0cf}h2.wpzinc-horizontal-tabbed-ui.nav-tab-wrapper.needs-js{display:none}h2.wpzinc-horizontal-tabbed-ui.nav-tab-wrapper a.nav-tab{position:relative;display:inline-block;margin:0 5px 0 0;padding:0 20px;height:64px;line-height:64px;text-decoration:none;font-size:14px;font-weight:600;color:#565656;border:none;background:none}h2.wpzinc-horizontal-tabbed-ui.nav-tab-wrapper a.nav-tab:hover{color:#144264;background:#e7e7e7}h2.wpzinc-horizontal-tabbed-ui.nav-tab-wrapper a.nav-tab.nav-tab-active{color:#144264;border-bottom:1px solid #4c596d}h2.wpzinc-horizontal-tabbed-ui.nav-tab-wrapper a.nav-tab.enabled{color:green}h2.wpzinc-horizontal-tabbed-ui.nav-tab-wrapper a.nav-tab.error{color:red}h2.wpzinc-horizontal-tabbed-ui.nav-tab-wrapper a.nav-tab.last{float:right;margin:0}h2.wpzinc-horizontal-tabbed-ui.nav-tab-wrapper a.nav-tab:focus{box-shadow:none;-webkit-box-shadow:none}h2.wpzinc-horizontal-tabbed-ui.nav-tab-wrapper a.nav-tab span.text-mobile{display:none}h2.wpzinc-horizontal-tabbed-ui.nav-tab-wrapper a.nav-tab span.dashicons{vertical-align:middle}h2.wpzinc-horizontal-tabbed-ui.nav-tab-wrapper a.nav-tab span.dashicons.dashicons-yes{position:absolute;display:none;top:-8px;right:-8px;background-color:green;color:white;border-radius:50%}h2.wpzinc-horizontal-tabbed-ui.nav-tab-wrapper a.nav-tab span.dashicons.dashicons-yes::before{margin-left:-2px}h2.wpzinc-horizontal-tabbed-ui.nav-tab-wrapper a.nav-tab.enabled span.dashicons.dashicons-yes{display:inline-block}h2.wpzinc-horizontal-tabbed-ui.nav-tab-wrapper a.nav-tab span.dashicons.dashicons-warning{position:absolute;display:inline-block;top:-8px;right:-8px;color:red;border-radius:50%}div.wpzinc-vertical-tabbed-ui{display:grid;grid-template-columns:180px auto;grid-template-areas:"tabs content";border:1px solid #e5e5e5 !important;background:#f7f7f7 !important}div.wpzinc-vertical-tabbed-ui.no-border{border:none !important}div.wpzinc-vertical-tabbed-ui header{border-bottom:1px solid #e5e5e5}div.wpzinc-vertical-tabbed-ui ul.wpzinc-nav-tabs{grid-area:tabs;width:100%;margin:0;padding:0;border-right:1px solid #e5e5e5}div.wpzinc-vertical-tabbed-ui ul.wpzinc-nav-tabs li.wpzinc-nav-tab{width:100%;margin:0;padding:0}div.wpzinc-vertical-tabbed-ui ul.wpzinc-nav-tabs li.wpzinc-nav-tab.download a{background-image:url(../feather/download.svg);background-size:16px 16px}div.wpzinc-vertical-tabbed-ui ul.wpzinc-nav-tabs li.wpzinc-nav-tab.upload a{background-image:url(../feather/upload.svg);background-size:16px 16px}div.wpzinc-vertical-tabbed-ui ul.wpzinc-nav-tabs li.wpzinc-nav-tab a{position:relative;display:block;width:140px;margin:0 20px;padding:20px 0 20px 25px;text-decoration:none;color:#999;border-bottom:1px solid #e5e5e5;box-sizing:border-box;transition:none;background-position:0 50%;background-repeat:no-repeat}div.wpzinc-vertical-tabbed-ui ul.wpzinc-nav-tabs li.wpzinc-nav-tab a span.dashicons{position:absolute;top:16px;right:0;display:inline-block;border-radius:50%}div.wpzinc-vertical-tabbed-ui ul.wpzinc-nav-tabs li.wpzinc-nav-tab a span.dashicons::before{margin-left:-1px}div.wpzinc-vertical-tabbed-ui ul.wpzinc-nav-tabs li.wpzinc-nav-tab a span.dashicons.dashicons-yes{background-color:green;color:white}div.wpzinc-vertical-tabbed-ui ul.wpzinc-nav-tabs li.wpzinc-nav-tab a span.dashicons.dashicons-warning{color:red}div.wpzinc-vertical-tabbed-ui ul.wpzinc-nav-tabs li.wpzinc-nav-tab a span.dashicons.hidden{display:none}div.wpzinc-vertical-tabbed-ui ul.wpzinc-nav-tabs li.wpzinc-nav-tab a span.tag{position:absolute;top:15px;right:0;display:inline-block;font-size:13px;background-color:#999;color:#fff;border-radius:3px;padding:3px}div.wpzinc-vertical-tabbed-ui ul.wpzinc-nav-tabs li.wpzinc-nav-tab a.enabled{color:green}div.wpzinc-vertical-tabbed-ui ul.wpzinc-nav-tabs li.wpzinc-nav-tab a.enabled span.dashicons.hidden{display:inline-block}div.wpzinc-vertical-tabbed-ui ul.wpzinc-nav-tabs li.wpzinc-nav-tab a.error{color:red}div.wpzinc-vertical-tabbed-ui ul.wpzinc-nav-tabs li.wpzinc-nav-tab a.error span.dashicons.hidden{display:inline-block}div.wpzinc-vertical-tabbed-ui ul.wpzinc-nav-tabs li.wpzinc-nav-tab a.wpzinc-nav-tab-vertical-active,div.wpzinc-vertical-tabbed-ui ul.wpzinc-nav-tabs li.wpzinc-nav-tab a:hover{width:181px;margin:-1px 0 0 0;padding:20px 20px 20px 45px;text-decoration:none;color:#444;border-top:1px solid #e5e5e5;border-bottom:1px solid #e5e5e5;border-right:1px solid #f9f7f4;background-color:#fff;background-position:20px 50%;background-repeat:no-repeat}div.wpzinc-vertical-tabbed-ui ul.wpzinc-nav-tabs li.wpzinc-nav-tab a.wpzinc-nav-tab-vertical-active span.dashicons,div.wpzinc-vertical-tabbed-ui ul.wpzinc-nav-tabs li.wpzinc-nav-tab a:hover span.dashicons{right:20px}div.wpzinc-vertical-tabbed-ui ul.wpzinc-nav-tabs li.wpzinc-nav-tab a.wpzinc-nav-tab-vertical-active span.tag,div.wpzinc-vertical-tabbed-ui ul.wpzinc-nav-tabs li.wpzinc-nav-tab a:hover span.tag{right:20px;font-weight:normal}div.wpzinc-vertical-tabbed-ui ul.wpzinc-nav-tabs li.wpzinc-nav-tab a.wpzinc-nav-tab-vertical-active{font-weight:700}div.wpzinc-vertical-tabbed-ui ul.wpzinc-nav-tabs li.wpzinc-nav-tab a:hover{background-color:#f9f7f4}div.wpzinc-vertical-tabbed-ui ul.wpzinc-nav-tabs li.wpzinc-nav-tab a:focus{box-shadow:none}div.wpzinc-vertical-tabbed-ui ul.wpzinc-nav-tabs li.wpzinc-nav-tab:last-child a{border-bottom:none}div.wpzinc-vertical-tabbed-ui div.wpzinc-nav-tabs-content{grid-area:content;margin:0;background:#fff;border-left:1px solid #e5e5e5}div.wpzinc-vertical-tabbed-ui div.wpzinc-nav-tabs-content:after{content:"";display:table;clear:both}div.wpzinc-vertical-tabbed-ui div.wpzinc-nav-tabs-content div.postbox{margin:0;padding:0;border:none;background-color:transparent}div.wpzinc-vertical-tabbed-ui div.wpzinc-nav-tabs-content div.postbox+div.postbox{border-top:1px solid #e5e5e5}div.wpzinc-vertical-tabbed-ui div.wpzinc-nav-tabs-content div.postbox header{padding:19px 15px 18px 15px}div.wpzinc-vertical-tabbed-ui div.wpzinc-nav-tabs-content div.postbox header h3{display:block;margin:0;font-size:1.3em;font-weight:600;color:#23282d}div.wpzinc-vertical-tabbed-ui div.wpzinc-nav-tabs-content div.postbox header h3 label{float:right;font-weight:normal}div.wpzinc-vertical-tabbed-ui div.wpzinc-nav-tabs-content div.postbox header p.description{margin:10px 0 0 0}div.wpzinc-vertical-tabbed-ui ul.wpzinc-nav-tabs-horizontal{display:inline-block;width:100%;margin:0;padding:0;background-color:#f7f7f7}div.wpzinc-vertical-tabbed-ui ul.wpzinc-nav-tabs-horizontal li.wpzinc-nav-tab-horizontal{float:left;margin:0;padding:0}div.wpzinc-vertical-tabbed-ui ul.wpzinc-nav-tabs-horizontal li.wpzinc-nav-tab-horizontal a{position:relative;float:left;height:54px;line-height:54px;margin:0;padding:0 20px;text-decoration:none;color:#999;box-sizing:border-box;transition:none;background-position:0 50%;background-repeat:no-repeat}div.wpzinc-vertical-tabbed-ui ul.wpzinc-nav-tabs-horizontal li.wpzinc-nav-tab-horizontal a.enabled{color:green}div.wpzinc-vertical-tabbed-ui ul.wpzinc-nav-tabs-horizontal li.wpzinc-nav-tab-horizontal a.error{color:red}div.wpzinc-vertical-tabbed-ui ul.wpzinc-nav-tabs-horizontal li.wpzinc-nav-tab-horizontal a span.dashicons{display:inline-block;width:16px;height:16px;font-size:17px;margin:18px 0 0 0;border-radius:50%}div.wpzinc-vertical-tabbed-ui ul.wpzinc-nav-tabs-horizontal li.wpzinc-nav-tab-horizontal a span.dashicons::before{margin-left:-1px}div.wpzinc-vertical-tabbed-ui ul.wpzinc-nav-tabs-horizontal li.wpzinc-nav-tab-horizontal a span.dashicons.dashicons-yes{margin:18px 0 0 10px;background-color:green;color:white}div.wpzinc-vertical-tabbed-ui ul.wpzinc-nav-tabs-horizontal li.wpzinc-nav-tab-horizontal a span.dashicons.dashicons-warning{margin:18px 0 0 10px;color:red}div.wpzinc-vertical-tabbed-ui ul.wpzinc-nav-tabs-horizontal li.wpzinc-nav-tab-horizontal a.wpzinc-nav-tab-horizontal-active,div.wpzinc-vertical-tabbed-ui ul.wpzinc-nav-tabs-horizontal li.wpzinc-nav-tab-horizontal a:hover{text-decoration:none;color:#444;background-color:#fff;background-position:20px 50%;background-repeat:no-repeat}div.wpzinc-vertical-tabbed-ui ul.wpzinc-nav-tabs-horizontal li.wpzinc-nav-tab-horizontal a.wpzinc-nav-tab-horizontal-active span.dashicons,div.wpzinc-vertical-tabbed-ui ul.wpzinc-nav-tabs-horizontal li.wpzinc-nav-tab-horizontal a:hover span.dashicons{right:20px}div.wpzinc-vertical-tabbed-ui ul.wpzinc-nav-tabs-horizontal li.wpzinc-nav-tab-horizontal a.wpzinc-nav-tab-horizontal-active{font-weight:700}div.wpzinc-vertical-tabbed-ui ul.wpzinc-nav-tabs-horizontal li.wpzinc-nav-tab-horizontal a:focus{box-shadow:none}.wpzinc-option{display:grid;grid-template-areas:"left right";grid-template-columns:140px auto;grid-column-gap:5px;grid-row-gap:5px;justify-items:start;text-align:left;padding:10px 15px;border:none;background-color:#f4f4f4;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.wpzinc-option.sidebar{grid-template-columns:120px auto}.wpzinc-option:nth-child(odd){background-color:#fcfcfc}.wpzinc-option.ignore-nth-child:nth-child(odd){background-color:#f5f5f5}.wpzinc-option.no-bottom-border{border-bottom:none}.wpzinc-option.highlight{background-color:#fcf8e3 !important}.wpzinc-option.highlight div.full h4,.wpzinc-option.highlight div.right h4{margin:5px 0 10px 0;font-size:14px;line-height:22px}.wpzinc-option.highlight div.full p,.wpzinc-option.highlight div.right p{margin:0 0 10px 0;font-size:14px;line-height:22px}.wpzinc-option.highlight div.full a.button,.wpzinc-option.highlight div.right a.button{margin:5px 0 0 0}.wpzinc-option.no-styling{background:none;border:none;padding:0 0 10px 0}.wpzinc-option.hidden{display:none}.wpzinc-option div.left{width:100%;grid-area:left;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.wpzinc-option div.left *:not(input){line-height:27px}.wpzinc-option div.left a{text-decoration:none}.wpzinc-option div.right{width:100%;grid-area:right;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;line-height:27px}.wpzinc-option div.right strong{line-height:27px}.wpzinc-option div.right p.description strong{line-height:1}.wpzinc-option div.right div.selectize-dropdown-content strong{line-height:normal}.wpzinc-option div.right .success{color:green}.wpzinc-option div.right .error{color:red}.wpzinc-option div.full{width:100%;grid-column:1 / span 2;line-height:30px}.wpzinc-option p.description{grid-column:1 / span 2}.wpzinc-option label{font-weight:600;white-space:normal}.wpzinc-option label.selectit{font-weight:400}.wpzinc-option select.right,.wpzinc-option input.right{float:right}.wpzinc-option input{margin:0}.wpzinc-option input[type=date],.wpzinc-option input[type=datetime-local],.wpzinc-option input[type=datetime],.wpzinc-option input[type=email],.wpzinc-option input[type=month],.wpzinc-option input[type=number],.wpzinc-option input[type=password],.wpzinc-option input[type=search],.wpzinc-option input[type=tel],.wpzinc-option input[type=text],.wpzinc-option input[type=time],.wpzinc-option input[type=url],.wpzinc-option input[type=week]{margin:0;padding:0 8px;line-height:2;min-height:30px;box-shadow:0 0 0 transparent;border-radius:4px;border:1px solid #8c8f94;background-color:#fff;color:#2c3338}.wpzinc-option select{border:1px solid #7e8993;border-radius:4px;box-shadow:0 0 0 transparent;vertical-align:baseline;font-size:14px;line-height:2;color:#2c3338;border-color:#8c8f94;box-shadow:none;border-radius:3px;margin:0;padding:0 24px 0 8px;min-height:30px;-webkit-appearance:none;background:#fff url(data:image/svg+xml;charset=US-ASCII,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M5%206l5%205%205-5%202%201-7%207-7-7%202-1z%22%20fill%3D%22%23555%22%2F%3E%3C%2Fsvg%3E) no-repeat right 5px top 55%;background-size:16px 16px;cursor:pointer}.wpzinc-option textarea.no-wrap{white-space:pre;overflow-wrap:normal;overflow-x:scroll}.wpzinc-option .content-editable{min-height:70px;box-sizing:border-box;padding:2px 6px;line-height:1.42857143;font-size:14px;box-shadow:0 0 0 transparent;border-radius:4px;border:1px solid #8c8f94;background-color:#fff;color:#2c3338}.wpzinc-option .content-editable:focus{border-color:#2271b1;box-shadow:0 0 0 1px #2271b1;outline:2px solid transparent}.wpzinc-option .content-editable.no-wrap{white-space:pre;overflow-wrap:normal;overflow-x:scroll}.wpzinc-option:nth-child(odd) .wpzinc-horizontal-selection label{background-color:#f5f5f5}.wpzinc-option details summary h3{margin:0}.wpzinc-option .checklist{margin:0;padding:0;list-style:none}.wpzinc-option .checklist li{line-height:1}.wpzinc-option .checklist li label{font-weight:400}.wpzinc-option table.widefat{clear:none}.wpzinc-option table.widefat tbody tr:first-child td a.delete-table-row,.wpzinc-option table.widefat tbody tr.hide-delete-button td a.delete-table-row{display:none}.wpzinc-option table.widefat tbody tr td label,.wpzinc-option table.widefat tbody tr td strong{line-height:30px}.wpzinc-option table.widefat .vertical-align-middle{vertical-align:middle}.wpzinc-horizontal-selection{display:flex;flex-wrap:wrap}.wpzinc-horizontal-selection label{width:300px;text-align:center;margin:0 20px 20px 0;padding:20px;background-color:#fcfcfc;border:1px solid #ccc;border-radius:5px;cursor:pointer}.wpzinc-horizontal-selection label .image{min-height:105px}.wpzinc-horizontal-selection label span{display:block}.wpzinc-horizontal-selection label span.description{margin:20px 0 0 0;color:#646970;font-size:13px}.wpzinc-horizontal-selection label input[type=radio]{margin:20px 0 0 0}.postbox .hndle .right{float:right}.postbox .hndle .right.button{margin-top:-3px}.postbox .hndle input.right,.postbox .hndle select.right{margin-top:-3px}#wpzinc-tinymce-modal #wpzinc-tinymce-modal-body{overflow-y:auto}#wpzinc-tinymce-modal div.mce-foot div.mce-cancel{left:10px !important}form.wpzinc-tinymce-popup{font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif}form.wpzinc-tinymce-popup div.wpzinc-vertical-tabbed-ui{border:none !important}form.wpzinc-tinymce-popup p.description{white-space:normal;margin:2px 0 5px;color:#666;font-size:13px;font-style:italic}form.wpzinc-tinymce-popup .wpzinc-option{display:grid;grid-template-areas:"left right";grid-template-columns:140px auto;grid-column-gap:5px;grid-row-gap:5px;justify-items:start;text-align:left;padding:10px 15px;border:none;background-color:#f4f4f4;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}form.wpzinc-tinymce-popup .wpzinc-option.sidebar{grid-template-columns:120px auto}form.wpzinc-tinymce-popup .wpzinc-option:nth-child(odd){background-color:#fcfcfc}form.wpzinc-tinymce-popup .wpzinc-option.ignore-nth-child:nth-child(odd){background-color:#f5f5f5}form.wpzinc-tinymce-popup .wpzinc-option.no-bottom-border{border-bottom:none}form.wpzinc-tinymce-popup .wpzinc-option.highlight{background-color:#fcf8e3 !important}form.wpzinc-tinymce-popup .wpzinc-option.highlight div.full h4,form.wpzinc-tinymce-popup .wpzinc-option.highlight div.right h4{margin:5px 0 10px 0;font-size:14px;line-height:22px}form.wpzinc-tinymce-popup .wpzinc-option.highlight div.full p,form.wpzinc-tinymce-popup .wpzinc-option.highlight div.right p{margin:0 0 10px 0;font-size:14px;line-height:22px}form.wpzinc-tinymce-popup .wpzinc-option.highlight div.full a.button,form.wpzinc-tinymce-popup .wpzinc-option.highlight div.right a.button{margin:5px 0 0 0}form.wpzinc-tinymce-popup .wpzinc-option.no-styling{background:none;border:none;padding:0 0 10px 0}form.wpzinc-tinymce-popup .wpzinc-option.hidden{display:none}form.wpzinc-tinymce-popup .wpzinc-option div.left{width:100%;grid-area:left;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}form.wpzinc-tinymce-popup .wpzinc-option div.left *:not(input){line-height:27px}form.wpzinc-tinymce-popup .wpzinc-option div.left a{text-decoration:none}form.wpzinc-tinymce-popup .wpzinc-option div.right{width:100%;grid-area:right;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;line-height:27px}form.wpzinc-tinymce-popup .wpzinc-option div.right strong{line-height:27px}form.wpzinc-tinymce-popup .wpzinc-option div.right p.description strong{line-height:1}form.wpzinc-tinymce-popup .wpzinc-option div.right div.selectize-dropdown-content strong{line-height:normal}form.wpzinc-tinymce-popup .wpzinc-option div.right .success{color:green}form.wpzinc-tinymce-popup .wpzinc-option div.right .error{color:red}form.wpzinc-tinymce-popup .wpzinc-option div.full{width:100%;grid-column:1 / span 2;line-height:30px}form.wpzinc-tinymce-popup .wpzinc-option p.description{grid-column:1 / span 2}form.wpzinc-tinymce-popup .wpzinc-option label{font-weight:600;white-space:normal}form.wpzinc-tinymce-popup .wpzinc-option label.selectit{font-weight:400}form.wpzinc-tinymce-popup .wpzinc-option select.right,form.wpzinc-tinymce-popup .wpzinc-option input.right{float:right}form.wpzinc-tinymce-popup .wpzinc-option input{margin:0}form.wpzinc-tinymce-popup .wpzinc-option input[type=date],form.wpzinc-tinymce-popup .wpzinc-option input[type=datetime-local],form.wpzinc-tinymce-popup .wpzinc-option input[type=datetime],form.wpzinc-tinymce-popup .wpzinc-option input[type=email],form.wpzinc-tinymce-popup .wpzinc-option input[type=month],form.wpzinc-tinymce-popup .wpzinc-option input[type=number],form.wpzinc-tinymce-popup .wpzinc-option input[type=password],form.wpzinc-tinymce-popup .wpzinc-option input[type=search],form.wpzinc-tinymce-popup .wpzinc-option input[type=tel],form.wpzinc-tinymce-popup .wpzinc-option input[type=text],form.wpzinc-tinymce-popup .wpzinc-option input[type=time],form.wpzinc-tinymce-popup .wpzinc-option input[type=url],form.wpzinc-tinymce-popup .wpzinc-option input[type=week]{margin:0;padding:0 8px;line-height:2;min-height:30px;box-shadow:0 0 0 transparent;border-radius:4px;border:1px solid #8c8f94;background-color:#fff;color:#2c3338}form.wpzinc-tinymce-popup .wpzinc-option select{border:1px solid #7e8993;border-radius:4px;box-shadow:0 0 0 transparent;vertical-align:baseline;font-size:14px;line-height:2;color:#2c3338;border-color:#8c8f94;box-shadow:none;border-radius:3px;margin:0;padding:0 24px 0 8px;min-height:30px;-webkit-appearance:none;background:#fff url(data:image/svg+xml;charset=US-ASCII,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M5%206l5%205%205-5%202%201-7%207-7-7%202-1z%22%20fill%3D%22%23555%22%2F%3E%3C%2Fsvg%3E) no-repeat right 5px top 55%;background-size:16px 16px;cursor:pointer}form.wpzinc-tinymce-popup .wpzinc-option textarea.no-wrap{white-space:pre;overflow-wrap:normal;overflow-x:scroll}form.wpzinc-tinymce-popup .wpzinc-option .content-editable{min-height:70px;box-sizing:border-box;padding:2px 6px;line-height:1.42857143;font-size:14px;box-shadow:0 0 0 transparent;border-radius:4px;border:1px solid #8c8f94;background-color:#fff;color:#2c3338}form.wpzinc-tinymce-popup .wpzinc-option .content-editable:focus{border-color:#2271b1;box-shadow:0 0 0 1px #2271b1;outline:2px solid transparent}form.wpzinc-tinymce-popup .wpzinc-option .content-editable.no-wrap{white-space:pre;overflow-wrap:normal;overflow-x:scroll}form.wpzinc-tinymce-popup .wpzinc-option:nth-child(odd) .wpzinc-horizontal-selection label{background-color:#f5f5f5}form.wpzinc-tinymce-popup .wpzinc-option details summary h3{margin:0}form.wpzinc-tinymce-popup .wpzinc-option .checklist{margin:0;padding:0;list-style:none}form.wpzinc-tinymce-popup .wpzinc-option .checklist li{line-height:1}form.wpzinc-tinymce-popup .wpzinc-option .checklist li label{font-weight:400}form.wpzinc-tinymce-popup .wpzinc-option table.widefat{clear:none}form.wpzinc-tinymce-popup .wpzinc-option table.widefat tbody tr:first-child td a.delete-table-row,form.wpzinc-tinymce-popup .wpzinc-option table.widefat tbody tr.hide-delete-button td a.delete-table-row{display:none}form.wpzinc-tinymce-popup .wpzinc-option table.widefat tbody tr td label,form.wpzinc-tinymce-popup .wpzinc-option table.widefat tbody tr td strong{line-height:30px}form.wpzinc-tinymce-popup .wpzinc-option table.widefat .vertical-align-middle{vertical-align:middle}form.wpzinc-tinymce-popup .selectize-control.plugin-drag_drop.multi>.selectize-input>div.ui-sortable-placeholder{visibility:visible !important;background:#f2f2f2 !important;background:rgba(0,0,0,0.06) !important;border:0 none !important;-webkit-box-shadow:inset 0 0 12px 4px #ffffff;box-shadow:inset 0 0 12px 4px #ffffff}form.wpzinc-tinymce-popup .selectize-control.plugin-drag_drop .ui-sortable-placeholder::after{content:'!';visibility:hidden}form.wpzinc-tinymce-popup .selectize-control.plugin-drag_drop .ui-sortable-helper{-webkit-box-shadow:0 2px 5px rgba(0,0,0,0.2);box-shadow:0 2px 5px rgba(0,0,0,0.2)}form.wpzinc-tinymce-popup .selectize-dropdown-header{position:relative;padding:5px 8px;border-bottom:1px solid #d0d0d0;background:#f8f8f8;-webkit-border-radius:3px 3px 0 0;-moz-border-radius:3px 3px 0 0;border-radius:3px 3px 0 0}form.wpzinc-tinymce-popup .selectize-dropdown-header-close{position:absolute;right:8px;top:50%;color:#303030;opacity:0.4;margin-top:-12px;line-height:20px;font-size:20px !important}form.wpzinc-tinymce-popup .selectize-dropdown-header-close:hover{color:#000000}form.wpzinc-tinymce-popup .selectize-dropdown.plugin-optgroup_columns .optgroup{border-right:1px solid #f2f2f2;border-top:0 none;float:left;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}form.wpzinc-tinymce-popup .selectize-dropdown.plugin-optgroup_columns .optgroup:last-child{border-right:0 none}form.wpzinc-tinymce-popup .selectize-dropdown.plugin-optgroup_columns .optgroup:before{display:none}form.wpzinc-tinymce-popup .selectize-dropdown.plugin-optgroup_columns .optgroup-header{border-top:0 none}form.wpzinc-tinymce-popup .selectize-control.plugin-remove_button [data-value]{position:relative;padding-right:24px !important}form.wpzinc-tinymce-popup .selectize-control.plugin-remove_button [data-value] .remove{z-index:1;position:absolute;top:0;right:0;bottom:0;width:17px;text-align:center;font-weight:bold;font-size:12px;color:inherit;text-decoration:none;vertical-align:middle;display:inline-block;padding:2px 0 0 0;border-left:1px solid #d0d0d0;-webkit-border-radius:0 2px 2px 0;-moz-border-radius:0 2px 2px 0;border-radius:0 2px 2px 0;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}form.wpzinc-tinymce-popup .selectize-control.plugin-remove_button [data-value] .remove:hover{background:rgba(0,0,0,0.05)}form.wpzinc-tinymce-popup .selectize-control.plugin-remove_button [data-value].active .remove{border-left-color:#cacaca}form.wpzinc-tinymce-popup .selectize-control.plugin-remove_button .disabled [data-value] .remove:hover{background:none}form.wpzinc-tinymce-popup .selectize-control.plugin-remove_button .disabled [data-value] .remove{border-left-color:#ffffff}form.wpzinc-tinymce-popup .selectize-control.plugin-remove_button .remove-single{position:absolute;right:28px;top:6px;font-size:23px}form.wpzinc-tinymce-popup .selectize-control{position:relative}form.wpzinc-tinymce-popup .selectize-dropdown,form.wpzinc-tinymce-popup .selectize-input,form.wpzinc-tinymce-popup .selectize-input input{color:#303030;font-family:inherit;font-size:13px;line-height:18px;-webkit-font-smoothing:inherit}form.wpzinc-tinymce-popup .selectize-input,form.wpzinc-tinymce-popup .selectize-control.single .selectize-input.input-active{background:#ffffff;cursor:text;display:inline-block}form.wpzinc-tinymce-popup .selectize-input{border:1px solid #d0d0d0;padding:6px 6px;display:inline-block;width:100%;min-height:36px;overflow:hidden;position:relative;z-index:1;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.1);box-shadow:inset 0 1px 1px rgba(0,0,0,0.1);-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}form.wpzinc-tinymce-popup .selectize-input.full{background-color:#ffffff}form.wpzinc-tinymce-popup .selectize-input.disabled,form.wpzinc-tinymce-popup .selectize-input.disabled *{cursor:default !important}form.wpzinc-tinymce-popup .selectize-input.focus{-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,0.15);box-shadow:inset 0 1px 2px rgba(0,0,0,0.15)}form.wpzinc-tinymce-popup .selectize-input.dropdown-active{-webkit-border-radius:3px 3px 0 0;-moz-border-radius:3px 3px 0 0;border-radius:3px 3px 0 0}form.wpzinc-tinymce-popup .selectize-input>*{vertical-align:baseline;display:-moz-inline-stack;display:inline-block;zoom:1;*display:inline}form.wpzinc-tinymce-popup .selectize-control.multi .selectize-input>div{cursor:pointer;margin:0 3px 0 0;padding:2px 6px;background:#f2f2f2;color:#303030;border:0 solid #d0d0d0;font-size:11px}form.wpzinc-tinymce-popup .selectize-control.multi .selectize-input>div.active{background:#e8e8e8;color:#303030;border:0 solid #cacaca}form.wpzinc-tinymce-popup .selectize-control.multi .selectize-input.disabled>div,form.wpzinc-tinymce-popup .selectize-control.multi .selectize-input.disabled>div.active{color:#7d7d7d;background:#ffffff;border:0 solid #ffffff}form.wpzinc-tinymce-popup .selectize-input>input{display:inline-block !important;padding:0 !important;min-height:0 !important;max-height:none !important;max-width:100% !important;margin:0 2px 0 0 !important;text-indent:0 !important;border:0 none !important;background:none !important;line-height:inherit !important;-webkit-user-select:auto !important;-webkit-box-shadow:none !important;box-shadow:none !important}form.wpzinc-tinymce-popup .selectize-input>input::-ms-clear{display:none}form.wpzinc-tinymce-popup .selectize-input>input:focus{outline:none !important}form.wpzinc-tinymce-popup .selectize-input::after{content:' ';display:block;clear:left}form.wpzinc-tinymce-popup .selectize-input.dropdown-active::before{content:' ';display:block;position:absolute;background:#f0f0f0;height:1px;bottom:0;left:0;right:0}form.wpzinc-tinymce-popup .selectize-dropdown{position:absolute;z-index:10;border:1px solid #d0d0d0;background:#ffffff;margin:-1px 0 0 0;border-top:0 none;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-box-shadow:0 1px 3px rgba(0,0,0,0.1);box-shadow:0 1px 3px rgba(0,0,0,0.1);-webkit-border-radius:0 0 3px 3px;-moz-border-radius:0 0 3px 3px;border-radius:0 0 3px 3px}form.wpzinc-tinymce-popup .selectize-dropdown [data-selectable]{cursor:pointer;overflow:hidden}form.wpzinc-tinymce-popup .selectize-dropdown [data-selectable] .highlight{background:rgba(125,168,208,0.2);-webkit-border-radius:1px;-moz-border-radius:1px;border-radius:1px}form.wpzinc-tinymce-popup .selectize-dropdown [data-selectable],form.wpzinc-tinymce-popup .selectize-dropdown .optgroup-header{padding:5px 8px}form.wpzinc-tinymce-popup .selectize-dropdown .optgroup:first-child .optgroup-header{border-top:0 none}form.wpzinc-tinymce-popup .selectize-dropdown .optgroup-header{color:#303030;background:#ffffff;cursor:default}form.wpzinc-tinymce-popup .selectize-dropdown .active{background-color:#f5fafd;color:#495c68}form.wpzinc-tinymce-popup .selectize-dropdown .active.create{color:#495c68}form.wpzinc-tinymce-popup .selectize-dropdown .create{color:rgba(48,48,48,0.5)}form.wpzinc-tinymce-popup .selectize-dropdown-content{overflow-y:auto;overflow-x:hidden;max-height:200px;-webkit-overflow-scrolling:touch}form.wpzinc-tinymce-popup .selectize-dropdown-content .option{display:block}form.wpzinc-tinymce-popup .selectize-control.single .selectize-input,form.wpzinc-tinymce-popup .selectize-control.single .selectize-input input{cursor:pointer}form.wpzinc-tinymce-popup .selectize-control.single .selectize-input.input-active,form.wpzinc-tinymce-popup .selectize-control.single .selectize-input.input-active input{cursor:text}form.wpzinc-tinymce-popup .selectize-control.single .selectize-input:after{content:' ';display:block;position:absolute;top:50%;right:15px;margin-top:-3px;width:0;height:0;border-style:solid;border-width:5px 5px 0 5px;border-color:#808080 transparent transparent transparent}form.wpzinc-tinymce-popup .selectize-control.single .selectize-input.dropdown-active:after{margin-top:-4px;border-width:0 5px 5px 5px;border-color:transparent transparent #808080 transparent}form.wpzinc-tinymce-popup .selectize-control.rtl.single .selectize-input:after{left:15px;right:auto}form.wpzinc-tinymce-popup .selectize-control.rtl .selectize-input>input{margin:0 4px 0 -2px !important}form.wpzinc-tinymce-popup .selectize-control .selectize-input.disabled{opacity:0.5;background-color:#fafafa}form.wpzinc-tinymce-popup #front-static-pages label{width:100%}form.wpzinc-tinymce-popup div.wpzinc-option:last-child{border-bottom:none}form.wpzinc-tinymce-popup div.wpzinc-option .widefat{width:100%;max-width:100%;box-sizing:border-box}form.wpzinc-tinymce-popup div.wpzinc-option select{background-color:#fff}form.wpzinc-tinymce-popup div.wpzinc-option textarea{padding:5px;background-color:#fff;border:1px solid #7e8993}form.wpzinc-tinymce-popup div.wpzinc-option .full{clear:both;display:block;padding:5px 0 0 0}form.wpzinc-tinymce-popup div.wpzinc-option .selectize-control{clear:none}form.wpzinc-tinymce-popup div.wpzinc-option.buttons{position:absolute;bottom:0;left:0;right:0;border-top:1px solid #ddd;background-color:#f7f7f7}form.wpzinc-tinymce-popup div.wpzinc-option.buttons.has-wpzinc-vertical-tabbed-ui{border-top:1px solid #ddd;background-color:#f7f7f7}i.mce-i-wpzinc-icon{font:normal 20px/1 'dashicons';padding:0;vertical-align:top;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin-left:-2px;padding-right:2px}div.notice.warning{border-left-color:#ffb900}.wpzinc-upgrade-hr{padding:20px 0 0 0;border-bottom:none}.wpzinc-upgrade{background:#f7f7f7;border:1px solid #e5e5e5;padding:20px}.wpzinc-upgrade h3{margin:0 0 30px 0;padding:0}.wpzinc-upgrade ul{display:grid;grid-template-columns:repeat(3, 1fr);column-gap:20px;row-gap:20px}.wpzinc-upgrade ul li{background:url(../feather/check-circle.svg) top left no-repeat;background-size:20px 20px;padding:0 0 0 30px}.wpzinc-upgrade ul li strong{display:block;font-size:15px;margin:0 0 5px 0}.wpzinc-upgrade a.button{margin:20px 0 0 0}body.wpzinc.gutenberg-editor-page .edit-post-layout__metaboxes:not(:empty),body.wpzinc.block-editor-page .edit-post-layout__metaboxes:not(:empty){margin:0;padding:0}body.wpzinc.gutenberg-editor-page .edit-post-meta-boxes-area,body.wpzinc.block-editor-page .edit-post-meta-boxes-area{margin:0}body.wpzinc.gutenberg-editor-page .edit-post-meta-boxes-area #poststuff .handlediv,body.wpzinc.block-editor-page .edit-post-meta-boxes-area #poststuff .handlediv{position:relative;z-index:2}body.wpzinc.gutenberg-editor-page .edit-post-meta-boxes-area #poststuff h2.hndle,body.wpzinc.block-editor-page .edit-post-meta-boxes-area #poststuff h2.hndle{z-index:1;background-color:#fcfcfc}body.wpzinc.gutenberg-editor-page .edit-post-meta-boxes-area .wpzinc-option,body.wpzinc.block-editor-page .edit-post-meta-boxes-area .wpzinc-option{background-color:transparent;border:none}body.wpzinc.gutenberg-editor-page .edit-post-meta-boxes-area .wpzinc-option:nth-child(odd),body.wpzinc.block-editor-page .edit-post-meta-boxes-area .wpzinc-option:nth-child(odd){background-color:transparent}.wpzinc-modal-overlay{display:none;position:fixed;z-index:99999999;top:0;left:0;opacity:0.5;width:100vw;height:100vh;background-color:#000}.wpzinc-modal{display:none;position:fixed;z-index:100000000;top:50vh;left:50vw;width:50vw;height:180px;margin:-90px 0 0 -25vw;box-sizing:border-box;background-color:#f7f7f7;padding:20px}.wpzinc-modal.wpzinc-modal-mini{top:50vh;left:50vw;width:200px;height:70px;margin:-35px 0 0 -85px}.wpzinc-modal h2{font-size:20px;line-height:25px;font-weight:700;margin:0 0 10px 0;padding:0}.wpzinc-modal h2 div.spinner{display:none;visibility:hidden;margin:0}.wpzinc-modal h2 div.tick{display:none;visibility:hidden;float:right;width:20px;height:20px;margin:4px 10px 0 4px}.wpzinc-modal p.message{margin:0 0 20px 0;padding:0}.wpzinc-modal .notice{display:block !important;margin:0 0 20px 0;padding:10px}.wpzinc-modal .notice.warning{border-left-color:orange}.wpzinc-modal .notice p{margin:0}.wpzinc-modal button.close{display:none}.wpzinc-inline-modal{display:none;position:absolute;white-space:normal;width:400px;z-index:100000000;box-sizing:border-box;background-color:#f7f7f7;box-shadow:0 0 15px -5px rgba(0,0,0,0.5);transition:all .3s ease-out}.wpzinc-inline-modal header{position:relative;height:40px;background-color:#212f4f}.wpzinc-inline-modal header::before{content:"";display:block;position:absolute;top:50%;transform:translateY(-50%);left:-10px;border-top:20px solid transparent;border-right:20px solid #212f4f;border-bottom:20px solid transparent}.wpzinc-inline-modal header h2{font-size:16px;line-height:40px;font-weight:400;margin:0;padding:0 20px;color:#fff}.wpzinc-inline-modal form{padding:20px}.wpzinc-inline-modal form ul{margin:0 0 20px 0;padding:0}.wpzinc-inline-modal form input[type="text"],.wpzinc-inline-modal form input[type="email"]{display:none;margin:0 0 10px 0}.wpzinc-inline-modal form small.wpzinc-deactivation-reason-email{display:none;margin:0 0 20px 0}.wpzinc-backbone-modal .media-modal{position:absolute;left:50%;top:50%;transform:translate(-50%, -50%)}.wpzinc-backbone-modal .media-modal .media-frame-title{left:0;height:30px}.wpzinc-backbone-modal .media-modal .media-frame-content{left:0;top:54px;bottom:54px}.wpzinc-backbone-modal .media-modal .media-frame-toolbar{left:0;bottom:47px;background:#fff}.wpzinc-backbone-modal .media-modal .media-frame-toolbar .media-toolbar{padding:10px}.wpzinc-notification{display:none;position:fixed;z-index:9999999;bottom:20px;right:20px;color:#fff;background-color:#585e65;padding:10px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;box-shadow:0 20px 30px -16px rgba(9,9,16,0.8)}.wpzinc-notification.wpzinc-notification-success{border-left:4px solid #46b450}.wpzinc-notification.wpzinc-notification-warning{border-left:4px solid orange}.wpzinc-notification.wpzinc-notification-error{border-left:4px solid #dc3232}.wp-core-ui .wpzinc-button-red{background:#b30000;border-color:#b30000;color:#fff;text-decoration:none;text-shadow:none}.wp-core-ui .wpzinc-button-red.hover,.wp-core-ui .wpzinc-button-red:hover{background:#990000;border-color:#990000;color:#fff}.wp-core-ui .wpzinc-button-red.focus,.wp-core-ui .wpzinc-button-red:focus{background:#990000;border-color:#990000;color:#fff;box-shadow:0 0 0 1px #fff, 0 0 0 3px #990000}.wpzinc-button-red{background:#b30000;border-color:#b30000;color:#fff;text-decoration:none;text-shadow:none}.wpzinc-button-red.hover,.wpzinc-button-red:hover{background:#990000;border-color:#990000;color:#fff}.wpzinc-button-red.focus,.wpzinc-button-red:focus{background:#990000;border-color:#990000;color:#fff;box-shadow:0 0 0 1px #fff, 0 0 0 3px #990000}.tax-selection .tabs-panel{height:200px !important;overflow:auto;padding:10px 15px;border-left:none;border-top:none;border-right:none;border-bottom:none;background:#fff}.tax-selection .tabs-panel ul.categorychecklist{margin:0;padding:0}#wpzinc-onboarding{max-width:900px;margin:0 auto;padding:40px 0}#wpzinc-onboarding #wpzinc-onboarding-progress{text-align:center;padding:40px 0}#wpzinc-onboarding #wpzinc-onboarding-progress ol{list-style:none;margin:0;padding:0}#wpzinc-onboarding #wpzinc-onboarding-progress ol li{position:relative;display:inline-block;width:135px;text-align:center;line-height:3em}#wpzinc-onboarding #wpzinc-onboarding-progress ol li:after{position:absolute;display:block;z-index:1;top:-2px;left:-65px;height:2px;width:135px;content:"";background-color:#dfdfdf}#wpzinc-onboarding #wpzinc-onboarding-progress ol li:before{position:absolute;z-index:2;top:-6px;left:65px;height:10px;width:10px;border-radius:1.2em;border:none;line-height:1.2em;content:" ";background-color:#dfdfdf}#wpzinc-onboarding #wpzinc-onboarding-progress ol li:first-child:after{display:none}#wpzinc-onboarding #wpzinc-onboarding-progress ol li.done{color:#1c9bd7}#wpzinc-onboarding #wpzinc-onboarding-progress ol li.done:after,#wpzinc-onboarding #wpzinc-onboarding-progress ol li.done:before{background-color:#1c9bd7}#wpzinc-onboarding #wpzinc-onboarding-form{padding:20px 80px 80px 80px;background-color:#fff;box-shadow:0 2px 5px rgba(0,0,0,0.05)}#wpzinc-onboarding #wpzinc-onboarding-form #wpzinc-onboarding-content h1{margin:60px 0 20px 0}#wpzinc-onboarding #wpzinc-onboarding-form #wpzinc-onboarding-content p{font-size:16px}#wpzinc-onboarding #wpzinc-onboarding-form #wpzinc-onboarding-content p.description{font-size:13px}#wpzinc-onboarding #wpzinc-onboarding-form #wpzinc-onboarding-content>div{margin:0 0 20px 0}#wpzinc-onboarding #wpzinc-onboarding-form #wpzinc-onboarding-content>div label{display:block;margin-bottom:10px;font-size:16px;font-weight:500}#wpzinc-onboarding #wpzinc-onboarding-form #wpzinc-onboarding-footer{display:grid;grid-template-columns:repeat(2, 1fr);grid-template-areas:"left right";padding:40px 0 0 0}#wpzinc-onboarding #wpzinc-onboarding-form #wpzinc-onboarding-footer .left{grid-area:left;text-align:left}#wpzinc-onboarding #wpzinc-onboarding-form #wpzinc-onboarding-footer .right{grid-area:right;text-align:right}@media only screen and (max-width: 1200px){.wpzinc-upgrade ul{display:grid;grid-template-columns:repeat(2, 1fr)}}@media only screen and (max-width: 768px){h2.wpzinc-horizontal-tabbed-ui.nav-tab-wrapper a.nav-tab{margin-right:10px}h2.wpzinc-horizontal-tabbed-ui.nav-tab-wrapper a.nav-tab:last-child{margin-right:0}h2.wpzinc-horizontal-tabbed-ui.nav-tab-wrapper a.nav-tab span.text{display:none}h2.wpzinc-horizontal-tabbed-ui.nav-tab-wrapper a.nav-tab span.text-mobile{display:inline-block}h2.wpzinc-horizontal-tabbed-ui.nav-tab-wrapper a.nav-tab .dashicons{font-size:24px}h2.wpzinc-horizontal-tabbed-ui.nav-tab-wrapper a.nav-tab .dashicons.dashicons-yes{font-size:20px}div.wpzinc-vertical-tabbed-ui{grid-template-columns:60px auto}div.wpzinc-vertical-tabbed-ui ul.wpzinc-nav-tabs li.wpzinc-nav-tab a,div.wpzinc-vertical-tabbed-ui ul.wpzinc-nav-tabs li.wpzinc-nav-tab a.wpzinc-nav-tab-vertical-active,div.wpzinc-vertical-tabbed-ui ul.wpzinc-nav-tabs li.wpzinc-nav-tab a:hover{width:60px;height:60px;margin:0;padding:0;text-indent:-9999px;background-position:center}div.wpzinc-vertical-tabbed-ui ul.wpzinc-nav-tabs li.wpzinc-nav-tab a span.dashicons{top:0;right:0;text-indent:0}div.wpzinc-vertical-tabbed-ui ul.wpzinc-nav-tabs li.wpzinc-nav-tab a:hover{border-top:none}div.wpzinc-vertical-tabbed-ui ul.wpzinc-nav-tabs li.wpzinc-nav-tab a:hover span.dashicons{right:0}.wpzinc-option{display:block}.wpzinc-option div.left{width:100%}.wpzinc-option div.right{width:100%}.wpzinc-option select.right,.wpzinc-option input.right{float:none;width:100%;margin:0 0 10px 0 !important}.wpzinc-option select{width:100%}.wpzinc-upgrade ul{grid-template-columns:repeat(1, 1fr)}}
     1body#wpzinc-error-page{background:#f1f1f1}body#wpzinc-error-page div.wpzinc-die-message{background:#fff;border:1px solid #ccd0d4;color:#444;font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;margin:2em auto;padding:1em 2em;max-width:700px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,0.04);box-shadow:0 1px 1px rgba(0,0,0,0.04)}body.wpzinc{background:#f0f0f1}body.wpzinc #screen-meta{margin-left:22px}body.wpzinc #wpcontent{padding-left:0}body.wpzinc #wpcontent #wpbody-content{padding-left:0}body.wpzinc #wpcontent #wpbody-content>header{height:98px;margin:0 0 10px 0;padding:0 20px;background-image:var(--wpzinc-logo);background-size:40px auto;background-position:30px 50%;background-repeat:no-repeat;background-color:var(--wpzinc-header-background-color, #fff)}body.wpzinc #wpcontent #wpbody-content>header h1{float:left;margin:0;padding:0;font-size:24px;font-weight:600;color:var(--wpzinc-header-primary-text-color, #3d3d3d);line-height:98px;text-indent:70px}body.wpzinc #wpcontent #wpbody-content>header h1 span{color:var(--wpzinc-header-secondary-text-color, #6e6e6e)}body.wpzinc #wpcontent #wpbody-content>header a.wpzinc-docs{float:right;line-height:98px;padding:0 20px;font-weight:400;color:#144264;text-decoration:none}body.wpzinc #wpcontent #wpbody-content .wrap{margin:0}body.wpzinc #wpcontent #wpbody-content .wrap>.notice,body.wpzinc #wpcontent #wpbody-content .wrap>.js-notices>.notice{margin:5px 15px 2px 15px}body.wpzinc #wpcontent #wpbody-content .wrap .wp-heading-inline,body.wpzinc #wpcontent #wpbody-content .wrap>h1{display:block;width:100%;height:98px;margin:0 0 10px 0;padding:0 20px;background-image:var(--wpzinc-logo, url("../images/icons/logo.svg"));background-position:30px 50%;background-repeat:no-repeat;background-size:40px auto;background-color:var(--wpzinc-header-background-color, #fff);font-size:24px;font-weight:600;color:var(--wpzinc-header-secondary-text-color, #6e6e6e);line-height:98px;text-indent:70px;box-sizing:border-box}body.wpzinc #wpcontent #wpbody-content .wrap .wp-heading-inline::before,body.wpzinc #wpcontent #wpbody-content .wrap>h1::before{content:var(--wpzinc-plugin-display-name, "WP Zinc");color:var(--wpzinc-header-primary-text-color, #3d3d3d)}body.wpzinc #wpcontent #wpbody-content .wrap .wp-heading-inline+.page-title-action,body.wpzinc #wpcontent #wpbody-content .wrap>h1+.page-title-action{margin-left:20px}body.wpzinc #wpcontent #wpbody-content .wrap #split-page-title-action{margin-left:22px}body.wpzinc #wpcontent #wpbody-content .wrap ul.subsubsub{margin-left:22px}body.wpzinc #wpcontent #wpbody-content .wrap form#posts-filter{margin:15px 20px 20px 22px}body.wpzinc #wpcontent #wpbody-content .wrap form#posts-filter div.tablenav.top{padding:6px 0 10px 0}body.wpzinc #wpcontent #wpbody-content .wrap form#posts-filter div.tablenav.bottom{padding:6px 0 0 0}body.wpzinc #wpcontent #wpbody-content .wrap form#post,body.wpzinc #wpcontent #wpbody-content .wrap form#edittag{margin:20px 20px 0 22px}body.wpzinc #wpcontent #wpbody-content .wrap form.search-form{margin-left:22px;margin-right:20px}body.wpzinc #wpcontent #wpbody-content .wrap #col-container{margin-left:22px;margin-right:20px}body.wpzinc #wpcontent #wpbody-content .wrap #col-container form#posts-filter{margin-left:0;margin-right:0}body.wpzinc #wpcontent #wpbody-content .wrap span.subtitle{position:absolute;left:0;right:0;margin:20px 0;font-style:italic;max-width:50%}body.wpzinc #wpcontent #wpbody-content .wrap .wrap-inner{margin:0 20px}body.wpzinc #wpcontent #wpbody-content .wrap .wrap-inner form#posts-filter{margin:0}body.wpzinc #wpcontent #wpbody-content .wrap .postbox{background:#fff;margin:0 0 30px 0;padding:0}body.wpzinc #wpcontent #wpbody-content .wrap form.wpzinc-settings-ui .postbox{margin:0 0 30px 0;padding:30px;font-size:14px;border-radius:8px;border:none}body.wpzinc #wpcontent #wpbody-content .wrap form.wpzinc-settings-ui .postbox h2{margin:0 0 30px 0;padding:0 0 30px 0;font-size:24px;font-weight:600;border-bottom:1px solid #e3e3e3;color:#3d3d3d}body.wpzinc #wpcontent #wpbody-content .wrap p.submit{margin-bottom:20px;padding:0}body.wpzinc .components-base-control.wpzinc-selectize-freeform,body.wpzinc .components-base-control.wpzinc-selectize-drag-drop,body.wpzinc .components-base-control.wpzinc-selectize-search,body.wpzinc .components-base-control.wpzinc-selectize-api,body.wpzinc .components-base-control.wpzinc-selectize{width:100%}.tribute-container,ul.wpzinc-tinymce-autocomplete{position:absolute;z-index:999999;display:block;top:0;left:0;height:auto;min-width:220px;max-width:500px;max-height:300px;overflow-x:hidden;overflow-y:auto;box-sizing:border-box;margin:0;padding:16px;background-color:#fff;border:1px solid #ccc;box-shadow:0 2px 6px rgba(0,0,0,0.05);border-radius:2px}.tribute-container ul,ul.wpzinc-tinymce-autocomplete{margin:0;list-style:none}.tribute-container ul li,ul.wpzinc-tinymce-autocomplete li{width:100%;line-height:24px;margin:0;padding:6px 12px;font-size:13px;text-align:left;border:0;border-radius:2px;color:#1e1e1e;text-decoration:none;cursor:pointer;background:none;transition:box-shadow .1s linear;box-sizing:border-box}.tribute-container ul li:hover,ul.wpzinc-tinymce-autocomplete li:hover{color:#007cba}.tribute-container ul li:focus,.tribute-container ul li.highlight,ul.wpzinc-tinymce-autocomplete li:focus,ul.wpzinc-tinymce-autocomplete li.highlight{color:#007cba;box-shadow:0 0 0 2px #007cba;outline:3px solid transparent}.tribute-container ul li.highlight:hover,ul.wpzinc-tinymce-autocomplete li.highlight:hover{box-shadow:none;outline:0}ul.wpzinc-tinymce-autocomplete{display:none}ul.wpzinc-tinymce-autocomplete.displayed{display:block}ul.wpzinc-tinymce-autocomplete li{display:none}ul.wpzinc-tinymce-autocomplete li.displayed{display:block}.ui-autocomplete{font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif !important;font-size:15px !important;z-index:9999999 !important;max-height:120px !important;overflow-x:hidden !important;overflow-y:auto !important;border:1px solid #dddddd !important;background:#f2f2f2 !important;color:#333333 !important}.wpzinc-media-library-selector ul{margin:0;padding:0}.wpzinc-media-library-selector li.wpzinc-media-library-attachment{position:relative;border:1px dashed #dfdfdf;background-color:#fff;padding:5px 10px}.wpzinc-media-library-selector li.wpzinc-media-library-attachment .wpzinc-media-library-insert img{position:relative;z-index:2;display:block;width:100%;height:auto}.wpzinc-media-library-selector li.wpzinc-media-library-attachment a.wpzinc-media-library-replace{position:absolute;z-index:4;top:-11px;left:-12px;width:19px;height:19px;background:url(../feather/edit-2.svg) center no-repeat #fff;background-size:15px 15px;text-indent:-9999px;border:2px solid #000;border-radius:50%}.wpzinc-media-library-selector li.wpzinc-media-library-attachment a.wpzinc-media-library-remove{position:absolute;z-index:3;top:-12px;right:-12px;width:24px;height:24px;background:url(../feather/x-circle.svg) center no-repeat #fff;background-size:24px 24px;text-indent:-9999px;border:none;border-radius:50%}.wpzinc-media-library-selector ul.ui-sortable li.wpzinc-media-library-attachment{cursor:move}.wpzinc-media-library-selector[data-multiple=true] ul{display:grid;grid-gap:10px;grid-template-columns:1fr 1fr}.wpzinc-media-library-selector[data-file-type=image] li.wpzinc-media-library-attachment{--aspect-ratio: 1/1;border:1px dashed #dfdfdf;background-color:#fff;padding:0}.wpzinc-media-library-selector[data-file-type=image] li.wpzinc-media-library-attachment:before{content:"";display:inline-block;width:1px;height:0;padding-bottom:calc(100% / (var(--aspect-ratio)))}.wpzinc-media-library-selector[data-file-type=image] li.wpzinc-media-library-attachment .wpzinc-media-library-insert{display:inline-block;position:absolute;z-index:1;width:100%;height:100%}h2.wpzinc-horizontal-tabbed-ui.nav-tab-wrapper{margin:0 0 20px 0;padding:0;border-bottom:1px solid #d0d0cf}h2.wpzinc-horizontal-tabbed-ui.nav-tab-wrapper.needs-js{display:none}h2.wpzinc-horizontal-tabbed-ui.nav-tab-wrapper a.nav-tab{position:relative;display:inline-block;margin:0 5px 0 0;padding:0 20px;height:64px;line-height:64px;text-decoration:none;font-size:14px;font-weight:600;color:#565656;border:none;background:none}h2.wpzinc-horizontal-tabbed-ui.nav-tab-wrapper a.nav-tab:hover{color:#144264;background:#e7e7e7}h2.wpzinc-horizontal-tabbed-ui.nav-tab-wrapper a.nav-tab.nav-tab-active{color:#144264;border-bottom:1px solid #4c596d}h2.wpzinc-horizontal-tabbed-ui.nav-tab-wrapper a.nav-tab.enabled{color:green}h2.wpzinc-horizontal-tabbed-ui.nav-tab-wrapper a.nav-tab.error{color:red}h2.wpzinc-horizontal-tabbed-ui.nav-tab-wrapper a.nav-tab.last{float:right;margin:0}h2.wpzinc-horizontal-tabbed-ui.nav-tab-wrapper a.nav-tab:focus{box-shadow:none;-webkit-box-shadow:none}h2.wpzinc-horizontal-tabbed-ui.nav-tab-wrapper a.nav-tab span.text-mobile{display:none}h2.wpzinc-horizontal-tabbed-ui.nav-tab-wrapper a.nav-tab span.dashicons{vertical-align:middle}h2.wpzinc-horizontal-tabbed-ui.nav-tab-wrapper a.nav-tab span.dashicons.dashicons-yes{position:absolute;display:none;top:-8px;right:-8px;background-color:green;color:white;border-radius:50%}h2.wpzinc-horizontal-tabbed-ui.nav-tab-wrapper a.nav-tab span.dashicons.dashicons-yes::before{margin-left:-2px}h2.wpzinc-horizontal-tabbed-ui.nav-tab-wrapper a.nav-tab.enabled span.dashicons.dashicons-yes{display:inline-block}h2.wpzinc-horizontal-tabbed-ui.nav-tab-wrapper a.nav-tab span.dashicons.dashicons-warning{position:absolute;display:inline-block;top:-8px;right:-8px;color:red;border-radius:50%}div.wpzinc-vertical-tabbed-ui{display:grid;grid-template-columns:180px auto;grid-template-areas:"tabs content";border:1px solid #e5e5e5 !important;background:#f7f7f7 !important}div.wpzinc-vertical-tabbed-ui.no-border{border:none !important}div.wpzinc-vertical-tabbed-ui header{border-bottom:1px solid #e5e5e5}div.wpzinc-vertical-tabbed-ui ul.wpzinc-nav-tabs{grid-area:tabs;width:100%;margin:0;padding:0;border-right:1px solid #e5e5e5}div.wpzinc-vertical-tabbed-ui ul.wpzinc-nav-tabs li.wpzinc-nav-tab{width:100%;margin:0;padding:0}div.wpzinc-vertical-tabbed-ui ul.wpzinc-nav-tabs li.wpzinc-nav-tab.download a{background-image:url(../feather/download.svg);background-size:16px 16px}div.wpzinc-vertical-tabbed-ui ul.wpzinc-nav-tabs li.wpzinc-nav-tab.upload a{background-image:url(../feather/upload.svg);background-size:16px 16px}div.wpzinc-vertical-tabbed-ui ul.wpzinc-nav-tabs li.wpzinc-nav-tab a{position:relative;display:block;width:140px;margin:0 20px;padding:20px 0 20px 25px;text-decoration:none;color:#999;border-bottom:1px solid #e5e5e5;box-sizing:border-box;transition:none;background-position:0 50%;background-repeat:no-repeat}div.wpzinc-vertical-tabbed-ui ul.wpzinc-nav-tabs li.wpzinc-nav-tab a span.dashicons{position:absolute;top:16px;right:0;display:inline-block;border-radius:50%}div.wpzinc-vertical-tabbed-ui ul.wpzinc-nav-tabs li.wpzinc-nav-tab a span.dashicons::before{margin-left:-1px}div.wpzinc-vertical-tabbed-ui ul.wpzinc-nav-tabs li.wpzinc-nav-tab a span.dashicons.dashicons-yes{background-color:green;color:white}div.wpzinc-vertical-tabbed-ui ul.wpzinc-nav-tabs li.wpzinc-nav-tab a span.dashicons.dashicons-warning{color:red}div.wpzinc-vertical-tabbed-ui ul.wpzinc-nav-tabs li.wpzinc-nav-tab a span.dashicons.hidden{display:none}div.wpzinc-vertical-tabbed-ui ul.wpzinc-nav-tabs li.wpzinc-nav-tab a span.tag{position:absolute;top:15px;right:0;display:inline-block;font-size:13px;background-color:#999;color:#fff;border-radius:3px;padding:3px}div.wpzinc-vertical-tabbed-ui ul.wpzinc-nav-tabs li.wpzinc-nav-tab a.enabled{color:green}div.wpzinc-vertical-tabbed-ui ul.wpzinc-nav-tabs li.wpzinc-nav-tab a.enabled span.dashicons.hidden{display:inline-block}div.wpzinc-vertical-tabbed-ui ul.wpzinc-nav-tabs li.wpzinc-nav-tab a.error{color:red}div.wpzinc-vertical-tabbed-ui ul.wpzinc-nav-tabs li.wpzinc-nav-tab a.error span.dashicons.hidden{display:inline-block}div.wpzinc-vertical-tabbed-ui ul.wpzinc-nav-tabs li.wpzinc-nav-tab a.wpzinc-nav-tab-vertical-active,div.wpzinc-vertical-tabbed-ui ul.wpzinc-nav-tabs li.wpzinc-nav-tab a:hover{width:181px;margin:-1px 0 0 0;padding:20px 20px 20px 45px;text-decoration:none;color:#444;border-top:1px solid #e5e5e5;border-bottom:1px solid #e5e5e5;border-right:1px solid #f9f7f4;background-color:#fff;background-position:20px 50%;background-repeat:no-repeat}div.wpzinc-vertical-tabbed-ui ul.wpzinc-nav-tabs li.wpzinc-nav-tab a.wpzinc-nav-tab-vertical-active span.dashicons,div.wpzinc-vertical-tabbed-ui ul.wpzinc-nav-tabs li.wpzinc-nav-tab a:hover span.dashicons{right:20px}div.wpzinc-vertical-tabbed-ui ul.wpzinc-nav-tabs li.wpzinc-nav-tab a.wpzinc-nav-tab-vertical-active span.tag,div.wpzinc-vertical-tabbed-ui ul.wpzinc-nav-tabs li.wpzinc-nav-tab a:hover span.tag{right:20px;font-weight:normal}div.wpzinc-vertical-tabbed-ui ul.wpzinc-nav-tabs li.wpzinc-nav-tab a.wpzinc-nav-tab-vertical-active{font-weight:700}div.wpzinc-vertical-tabbed-ui ul.wpzinc-nav-tabs li.wpzinc-nav-tab a:hover{background-color:#f9f7f4}div.wpzinc-vertical-tabbed-ui ul.wpzinc-nav-tabs li.wpzinc-nav-tab a:focus{box-shadow:none}div.wpzinc-vertical-tabbed-ui ul.wpzinc-nav-tabs li.wpzinc-nav-tab:last-child a{border-bottom:none}div.wpzinc-vertical-tabbed-ui div.wpzinc-nav-tabs-content{grid-area:content;margin:0;background:#fff;border-left:1px solid #e5e5e5}div.wpzinc-vertical-tabbed-ui div.wpzinc-nav-tabs-content:after{content:"";display:table;clear:both}div.wpzinc-vertical-tabbed-ui div.wpzinc-nav-tabs-content div.postbox{margin:0;padding:0;border:none;background-color:transparent}div.wpzinc-vertical-tabbed-ui div.wpzinc-nav-tabs-content div.postbox+div.postbox{border-top:1px solid #e5e5e5}div.wpzinc-vertical-tabbed-ui div.wpzinc-nav-tabs-content div.postbox header{padding:19px 15px 18px 15px}div.wpzinc-vertical-tabbed-ui div.wpzinc-nav-tabs-content div.postbox header h3{display:block;margin:0;font-size:1.3em;font-weight:600;color:#23282d}div.wpzinc-vertical-tabbed-ui div.wpzinc-nav-tabs-content div.postbox header h3 label{float:right;font-weight:normal}div.wpzinc-vertical-tabbed-ui div.wpzinc-nav-tabs-content div.postbox header p.description{margin:10px 0 0 0}div.wpzinc-vertical-tabbed-ui ul.wpzinc-nav-tabs-horizontal{display:inline-block;width:100%;margin:0;padding:0;background-color:#f7f7f7}div.wpzinc-vertical-tabbed-ui ul.wpzinc-nav-tabs-horizontal li.wpzinc-nav-tab-horizontal{float:left;margin:0;padding:0}div.wpzinc-vertical-tabbed-ui ul.wpzinc-nav-tabs-horizontal li.wpzinc-nav-tab-horizontal a{position:relative;float:left;height:54px;line-height:54px;margin:0;padding:0 20px;text-decoration:none;color:#999;box-sizing:border-box;transition:none;background-position:0 50%;background-repeat:no-repeat}div.wpzinc-vertical-tabbed-ui ul.wpzinc-nav-tabs-horizontal li.wpzinc-nav-tab-horizontal a.enabled{color:green}div.wpzinc-vertical-tabbed-ui ul.wpzinc-nav-tabs-horizontal li.wpzinc-nav-tab-horizontal a.error{color:red}div.wpzinc-vertical-tabbed-ui ul.wpzinc-nav-tabs-horizontal li.wpzinc-nav-tab-horizontal a span.dashicons{display:inline-block;width:16px;height:16px;font-size:17px;margin:18px 0 0 0;border-radius:50%}div.wpzinc-vertical-tabbed-ui ul.wpzinc-nav-tabs-horizontal li.wpzinc-nav-tab-horizontal a span.dashicons::before{margin-left:-1px}div.wpzinc-vertical-tabbed-ui ul.wpzinc-nav-tabs-horizontal li.wpzinc-nav-tab-horizontal a span.dashicons.dashicons-yes{margin:18px 0 0 10px;background-color:green;color:white}div.wpzinc-vertical-tabbed-ui ul.wpzinc-nav-tabs-horizontal li.wpzinc-nav-tab-horizontal a span.dashicons.dashicons-warning{margin:18px 0 0 10px;color:red}div.wpzinc-vertical-tabbed-ui ul.wpzinc-nav-tabs-horizontal li.wpzinc-nav-tab-horizontal a.wpzinc-nav-tab-horizontal-active,div.wpzinc-vertical-tabbed-ui ul.wpzinc-nav-tabs-horizontal li.wpzinc-nav-tab-horizontal a:hover{text-decoration:none;color:#444;background-color:#fff;background-position:20px 50%;background-repeat:no-repeat}div.wpzinc-vertical-tabbed-ui ul.wpzinc-nav-tabs-horizontal li.wpzinc-nav-tab-horizontal a.wpzinc-nav-tab-horizontal-active span.dashicons,div.wpzinc-vertical-tabbed-ui ul.wpzinc-nav-tabs-horizontal li.wpzinc-nav-tab-horizontal a:hover span.dashicons{right:20px}div.wpzinc-vertical-tabbed-ui ul.wpzinc-nav-tabs-horizontal li.wpzinc-nav-tab-horizontal a.wpzinc-nav-tab-horizontal-active{font-weight:700}div.wpzinc-vertical-tabbed-ui ul.wpzinc-nav-tabs-horizontal li.wpzinc-nav-tab-horizontal a:focus{box-shadow:none}.wpzinc-option{display:grid;grid-template-areas:"left right";grid-template-columns:140px auto;grid-column-gap:5px;grid-row-gap:5px;justify-items:start;text-align:left;padding:10px 15px;border:none;background-color:#f4f4f4;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.wpzinc-option.sidebar{grid-template-columns:120px auto}.wpzinc-option:nth-child(odd){background-color:#fcfcfc}.wpzinc-option.ignore-nth-child:nth-child(odd){background-color:#f5f5f5}.wpzinc-option.no-bottom-border{border-bottom:none}.wpzinc-option.highlight{background-color:#fcf8e3 !important}.wpzinc-option.highlight div.full h4,.wpzinc-option.highlight div.right h4{margin:5px 0 10px 0;font-size:14px;line-height:22px}.wpzinc-option.highlight div.full p,.wpzinc-option.highlight div.right p{margin:0 0 10px 0;font-size:14px;line-height:22px}.wpzinc-option.highlight div.full a.button,.wpzinc-option.highlight div.right a.button{margin:5px 0 0 0}.wpzinc-option.no-styling{background:none;border:none;padding:0 0 10px 0}.wpzinc-option.hidden{display:none}.wpzinc-option div.left{width:100%;grid-area:left;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.wpzinc-option div.left *:not(input){line-height:27px}.wpzinc-option div.left a{text-decoration:none}.wpzinc-option div.right{width:100%;grid-area:right;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;line-height:27px}.wpzinc-option div.right strong{line-height:27px}.wpzinc-option div.right p.description strong{line-height:1}.wpzinc-option div.right div.selectize-dropdown-content strong{line-height:normal}.wpzinc-option div.right .success{color:green}.wpzinc-option div.right .error{color:red}.wpzinc-option div.full{width:100%;grid-column:1 / span 2;line-height:30px}.wpzinc-option p.description{grid-column:1 / span 2}.wpzinc-option label{font-weight:600;white-space:normal}.wpzinc-option label.selectit{font-weight:400}.wpzinc-option select.right,.wpzinc-option input.right{float:right}.wpzinc-option input{margin:0}.wpzinc-option input[type=date],.wpzinc-option input[type=datetime-local],.wpzinc-option input[type=datetime],.wpzinc-option input[type=email],.wpzinc-option input[type=month],.wpzinc-option input[type=number],.wpzinc-option input[type=password],.wpzinc-option input[type=search],.wpzinc-option input[type=tel],.wpzinc-option input[type=text],.wpzinc-option input[type=time],.wpzinc-option input[type=url],.wpzinc-option input[type=week]{margin:0;padding:0 8px;line-height:2;min-height:30px;box-shadow:0 0 0 transparent;border-radius:4px;border:1px solid #8c8f94;background-color:#fff;color:#2c3338}.wpzinc-option select{border:1px solid #7e8993;border-radius:4px;box-shadow:0 0 0 transparent;vertical-align:baseline;font-size:14px;line-height:2;color:#2c3338;border-color:#8c8f94;box-shadow:none;border-radius:3px;margin:0;padding:0 24px 0 8px;min-height:30px;-webkit-appearance:none;background:#fff url(data:image/svg+xml;charset=US-ASCII,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M5%206l5%205%205-5%202%201-7%207-7-7%202-1z%22%20fill%3D%22%23555%22%2F%3E%3C%2Fsvg%3E) no-repeat right 5px top 55%;background-size:16px 16px;cursor:pointer}.wpzinc-option textarea.no-wrap{white-space:pre;overflow-wrap:normal;overflow-x:scroll}.wpzinc-option .content-editable{min-height:70px;box-sizing:border-box;padding:2px 6px;line-height:1.42857143;font-size:14px;box-shadow:0 0 0 transparent;border-radius:4px;border:1px solid #8c8f94;background-color:#fff;color:#2c3338}.wpzinc-option .content-editable:focus{border-color:#2271b1;box-shadow:0 0 0 1px #2271b1;outline:2px solid transparent}.wpzinc-option .content-editable.no-wrap{white-space:pre;overflow-wrap:normal;overflow-x:scroll}.wpzinc-option:nth-child(odd) .wpzinc-horizontal-selection label{background-color:#f5f5f5}.wpzinc-option details summary h3{margin:0}.wpzinc-option .checklist{margin:0;padding:0;list-style:none}.wpzinc-option .checklist li{line-height:1}.wpzinc-option .checklist li label{font-weight:400}.wpzinc-option table.widefat{clear:none}.wpzinc-option table.widefat tbody tr:first-child td a.delete-table-row,.wpzinc-option table.widefat tbody tr.hide-delete-button td a.delete-table-row{display:none}.wpzinc-option table.widefat tbody tr td label,.wpzinc-option table.widefat tbody tr td strong{line-height:30px}.wpzinc-option table.widefat .vertical-align-middle{vertical-align:middle}.wpzinc-horizontal-selection{display:flex;flex-wrap:wrap}.wpzinc-horizontal-selection label{width:300px;text-align:center;margin:0 20px 20px 0;padding:20px;background-color:#fcfcfc;border:1px solid #ccc;border-radius:5px;cursor:pointer}.wpzinc-horizontal-selection label .image{min-height:105px}.wpzinc-horizontal-selection label span{display:block}.wpzinc-horizontal-selection label span.description{margin:20px 0 0 0;color:#646970;font-size:13px}.wpzinc-horizontal-selection label input[type=radio]{margin:20px 0 0 0}.postbox .hndle .right{float:right}.postbox .hndle .right.button{margin-top:-3px}.postbox .hndle input.right,.postbox .hndle select.right{margin-top:-3px}#wpzinc-tinymce-modal #wpzinc-tinymce-modal-body{overflow-y:auto}#wpzinc-tinymce-modal div.mce-foot div.mce-cancel{left:10px !important}form.wpzinc-tinymce-popup{font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif}form.wpzinc-tinymce-popup div.wpzinc-vertical-tabbed-ui{border:none !important}form.wpzinc-tinymce-popup p.description{white-space:normal;margin:2px 0 5px;color:#666;font-size:13px;font-style:italic}form.wpzinc-tinymce-popup .wpzinc-option{display:grid;grid-template-areas:"left right";grid-template-columns:140px auto;grid-column-gap:5px;grid-row-gap:5px;justify-items:start;text-align:left;padding:10px 15px;border:none;background-color:#f4f4f4;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}form.wpzinc-tinymce-popup .wpzinc-option.sidebar{grid-template-columns:120px auto}form.wpzinc-tinymce-popup .wpzinc-option:nth-child(odd){background-color:#fcfcfc}form.wpzinc-tinymce-popup .wpzinc-option.ignore-nth-child:nth-child(odd){background-color:#f5f5f5}form.wpzinc-tinymce-popup .wpzinc-option.no-bottom-border{border-bottom:none}form.wpzinc-tinymce-popup .wpzinc-option.highlight{background-color:#fcf8e3 !important}form.wpzinc-tinymce-popup .wpzinc-option.highlight div.full h4,form.wpzinc-tinymce-popup .wpzinc-option.highlight div.right h4{margin:5px 0 10px 0;font-size:14px;line-height:22px}form.wpzinc-tinymce-popup .wpzinc-option.highlight div.full p,form.wpzinc-tinymce-popup .wpzinc-option.highlight div.right p{margin:0 0 10px 0;font-size:14px;line-height:22px}form.wpzinc-tinymce-popup .wpzinc-option.highlight div.full a.button,form.wpzinc-tinymce-popup .wpzinc-option.highlight div.right a.button{margin:5px 0 0 0}form.wpzinc-tinymce-popup .wpzinc-option.no-styling{background:none;border:none;padding:0 0 10px 0}form.wpzinc-tinymce-popup .wpzinc-option.hidden{display:none}form.wpzinc-tinymce-popup .wpzinc-option div.left{width:100%;grid-area:left;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}form.wpzinc-tinymce-popup .wpzinc-option div.left *:not(input){line-height:27px}form.wpzinc-tinymce-popup .wpzinc-option div.left a{text-decoration:none}form.wpzinc-tinymce-popup .wpzinc-option div.right{width:100%;grid-area:right;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;line-height:27px}form.wpzinc-tinymce-popup .wpzinc-option div.right strong{line-height:27px}form.wpzinc-tinymce-popup .wpzinc-option div.right p.description strong{line-height:1}form.wpzinc-tinymce-popup .wpzinc-option div.right div.selectize-dropdown-content strong{line-height:normal}form.wpzinc-tinymce-popup .wpzinc-option div.right .success{color:green}form.wpzinc-tinymce-popup .wpzinc-option div.right .error{color:red}form.wpzinc-tinymce-popup .wpzinc-option div.full{width:100%;grid-column:1 / span 2;line-height:30px}form.wpzinc-tinymce-popup .wpzinc-option p.description{grid-column:1 / span 2}form.wpzinc-tinymce-popup .wpzinc-option label{font-weight:600;white-space:normal}form.wpzinc-tinymce-popup .wpzinc-option label.selectit{font-weight:400}form.wpzinc-tinymce-popup .wpzinc-option select.right,form.wpzinc-tinymce-popup .wpzinc-option input.right{float:right}form.wpzinc-tinymce-popup .wpzinc-option input{margin:0}form.wpzinc-tinymce-popup .wpzinc-option input[type=date],form.wpzinc-tinymce-popup .wpzinc-option input[type=datetime-local],form.wpzinc-tinymce-popup .wpzinc-option input[type=datetime],form.wpzinc-tinymce-popup .wpzinc-option input[type=email],form.wpzinc-tinymce-popup .wpzinc-option input[type=month],form.wpzinc-tinymce-popup .wpzinc-option input[type=number],form.wpzinc-tinymce-popup .wpzinc-option input[type=password],form.wpzinc-tinymce-popup .wpzinc-option input[type=search],form.wpzinc-tinymce-popup .wpzinc-option input[type=tel],form.wpzinc-tinymce-popup .wpzinc-option input[type=text],form.wpzinc-tinymce-popup .wpzinc-option input[type=time],form.wpzinc-tinymce-popup .wpzinc-option input[type=url],form.wpzinc-tinymce-popup .wpzinc-option input[type=week]{margin:0;padding:0 8px;line-height:2;min-height:30px;box-shadow:0 0 0 transparent;border-radius:4px;border:1px solid #8c8f94;background-color:#fff;color:#2c3338}form.wpzinc-tinymce-popup .wpzinc-option select{border:1px solid #7e8993;border-radius:4px;box-shadow:0 0 0 transparent;vertical-align:baseline;font-size:14px;line-height:2;color:#2c3338;border-color:#8c8f94;box-shadow:none;border-radius:3px;margin:0;padding:0 24px 0 8px;min-height:30px;-webkit-appearance:none;background:#fff url(data:image/svg+xml;charset=US-ASCII,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M5%206l5%205%205-5%202%201-7%207-7-7%202-1z%22%20fill%3D%22%23555%22%2F%3E%3C%2Fsvg%3E) no-repeat right 5px top 55%;background-size:16px 16px;cursor:pointer}form.wpzinc-tinymce-popup .wpzinc-option textarea.no-wrap{white-space:pre;overflow-wrap:normal;overflow-x:scroll}form.wpzinc-tinymce-popup .wpzinc-option .content-editable{min-height:70px;box-sizing:border-box;padding:2px 6px;line-height:1.42857143;font-size:14px;box-shadow:0 0 0 transparent;border-radius:4px;border:1px solid #8c8f94;background-color:#fff;color:#2c3338}form.wpzinc-tinymce-popup .wpzinc-option .content-editable:focus{border-color:#2271b1;box-shadow:0 0 0 1px #2271b1;outline:2px solid transparent}form.wpzinc-tinymce-popup .wpzinc-option .content-editable.no-wrap{white-space:pre;overflow-wrap:normal;overflow-x:scroll}form.wpzinc-tinymce-popup .wpzinc-option:nth-child(odd) .wpzinc-horizontal-selection label{background-color:#f5f5f5}form.wpzinc-tinymce-popup .wpzinc-option details summary h3{margin:0}form.wpzinc-tinymce-popup .wpzinc-option .checklist{margin:0;padding:0;list-style:none}form.wpzinc-tinymce-popup .wpzinc-option .checklist li{line-height:1}form.wpzinc-tinymce-popup .wpzinc-option .checklist li label{font-weight:400}form.wpzinc-tinymce-popup .wpzinc-option table.widefat{clear:none}form.wpzinc-tinymce-popup .wpzinc-option table.widefat tbody tr:first-child td a.delete-table-row,form.wpzinc-tinymce-popup .wpzinc-option table.widefat tbody tr.hide-delete-button td a.delete-table-row{display:none}form.wpzinc-tinymce-popup .wpzinc-option table.widefat tbody tr td label,form.wpzinc-tinymce-popup .wpzinc-option table.widefat tbody tr td strong{line-height:30px}form.wpzinc-tinymce-popup .wpzinc-option table.widefat .vertical-align-middle{vertical-align:middle}form.wpzinc-tinymce-popup .selectize-control.plugin-drag_drop.multi>.selectize-input>div.ui-sortable-placeholder{visibility:visible !important;background:#f2f2f2 !important;background:rgba(0,0,0,0.06) !important;border:0 none !important;-webkit-box-shadow:inset 0 0 12px 4px #ffffff;box-shadow:inset 0 0 12px 4px #ffffff}form.wpzinc-tinymce-popup .selectize-control.plugin-drag_drop .ui-sortable-placeholder::after{content:'!';visibility:hidden}form.wpzinc-tinymce-popup .selectize-control.plugin-drag_drop .ui-sortable-helper{-webkit-box-shadow:0 2px 5px rgba(0,0,0,0.2);box-shadow:0 2px 5px rgba(0,0,0,0.2)}form.wpzinc-tinymce-popup .selectize-dropdown-header{position:relative;padding:5px 8px;border-bottom:1px solid #d0d0d0;background:#f8f8f8;-webkit-border-radius:3px 3px 0 0;-moz-border-radius:3px 3px 0 0;border-radius:3px 3px 0 0}form.wpzinc-tinymce-popup .selectize-dropdown-header-close{position:absolute;right:8px;top:50%;color:#303030;opacity:0.4;margin-top:-12px;line-height:20px;font-size:20px !important}form.wpzinc-tinymce-popup .selectize-dropdown-header-close:hover{color:#000000}form.wpzinc-tinymce-popup .selectize-dropdown.plugin-optgroup_columns .optgroup{border-right:1px solid #f2f2f2;border-top:0 none;float:left;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}form.wpzinc-tinymce-popup .selectize-dropdown.plugin-optgroup_columns .optgroup:last-child{border-right:0 none}form.wpzinc-tinymce-popup .selectize-dropdown.plugin-optgroup_columns .optgroup:before{display:none}form.wpzinc-tinymce-popup .selectize-dropdown.plugin-optgroup_columns .optgroup-header{border-top:0 none}form.wpzinc-tinymce-popup .selectize-control.plugin-remove_button [data-value]{position:relative;padding-right:24px !important}form.wpzinc-tinymce-popup .selectize-control.plugin-remove_button [data-value] .remove{z-index:1;position:absolute;top:0;right:0;bottom:0;width:17px;text-align:center;font-weight:bold;font-size:12px;color:inherit;text-decoration:none;vertical-align:middle;display:inline-block;padding:2px 0 0 0;border-left:1px solid #d0d0d0;-webkit-border-radius:0 2px 2px 0;-moz-border-radius:0 2px 2px 0;border-radius:0 2px 2px 0;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}form.wpzinc-tinymce-popup .selectize-control.plugin-remove_button [data-value] .remove:hover{background:rgba(0,0,0,0.05)}form.wpzinc-tinymce-popup .selectize-control.plugin-remove_button [data-value].active .remove{border-left-color:#cacaca}form.wpzinc-tinymce-popup .selectize-control.plugin-remove_button .disabled [data-value] .remove:hover{background:none}form.wpzinc-tinymce-popup .selectize-control.plugin-remove_button .disabled [data-value] .remove{border-left-color:#ffffff}form.wpzinc-tinymce-popup .selectize-control.plugin-remove_button .remove-single{position:absolute;right:28px;top:6px;font-size:23px}form.wpzinc-tinymce-popup .selectize-control{position:relative}form.wpzinc-tinymce-popup .selectize-dropdown,form.wpzinc-tinymce-popup .selectize-input,form.wpzinc-tinymce-popup .selectize-input input{color:#303030;font-family:inherit;font-size:13px;line-height:18px;-webkit-font-smoothing:inherit}form.wpzinc-tinymce-popup .selectize-input,form.wpzinc-tinymce-popup .selectize-control.single .selectize-input.input-active{background:#ffffff;cursor:text;display:inline-block}form.wpzinc-tinymce-popup .selectize-input{border:1px solid #d0d0d0;padding:6px 6px;display:inline-block;width:100%;min-height:36px;overflow:hidden;position:relative;z-index:1;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.1);box-shadow:inset 0 1px 1px rgba(0,0,0,0.1);-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}form.wpzinc-tinymce-popup .selectize-input.full{background-color:#ffffff}form.wpzinc-tinymce-popup .selectize-input.disabled,form.wpzinc-tinymce-popup .selectize-input.disabled *{cursor:default !important}form.wpzinc-tinymce-popup .selectize-input.focus{-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,0.15);box-shadow:inset 0 1px 2px rgba(0,0,0,0.15)}form.wpzinc-tinymce-popup .selectize-input.dropdown-active{-webkit-border-radius:3px 3px 0 0;-moz-border-radius:3px 3px 0 0;border-radius:3px 3px 0 0}form.wpzinc-tinymce-popup .selectize-input>*{vertical-align:baseline;display:-moz-inline-stack;display:inline-block;zoom:1;*display:inline}form.wpzinc-tinymce-popup .selectize-control.multi .selectize-input>div{cursor:pointer;margin:0 3px 0 0;padding:2px 6px;background:#f2f2f2;color:#303030;border:0 solid #d0d0d0;font-size:11px}form.wpzinc-tinymce-popup .selectize-control.multi .selectize-input>div.active{background:#e8e8e8;color:#303030;border:0 solid #cacaca}form.wpzinc-tinymce-popup .selectize-control.multi .selectize-input.disabled>div,form.wpzinc-tinymce-popup .selectize-control.multi .selectize-input.disabled>div.active{color:#7d7d7d;background:#ffffff;border:0 solid #ffffff}form.wpzinc-tinymce-popup .selectize-input>input{display:inline-block !important;padding:0 !important;min-height:0 !important;max-height:none !important;max-width:100% !important;margin:0 2px 0 0 !important;text-indent:0 !important;border:0 none !important;background:none !important;line-height:inherit !important;-webkit-user-select:auto !important;-webkit-box-shadow:none !important;box-shadow:none !important}form.wpzinc-tinymce-popup .selectize-input>input::-ms-clear{display:none}form.wpzinc-tinymce-popup .selectize-input>input:focus{outline:none !important}form.wpzinc-tinymce-popup .selectize-input::after{content:' ';display:block;clear:left}form.wpzinc-tinymce-popup .selectize-input.dropdown-active::before{content:' ';display:block;position:absolute;background:#f0f0f0;height:1px;bottom:0;left:0;right:0}form.wpzinc-tinymce-popup .selectize-dropdown{position:absolute;z-index:10;border:1px solid #d0d0d0;background:#ffffff;margin:-1px 0 0 0;border-top:0 none;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-box-shadow:0 1px 3px rgba(0,0,0,0.1);box-shadow:0 1px 3px rgba(0,0,0,0.1);-webkit-border-radius:0 0 3px 3px;-moz-border-radius:0 0 3px 3px;border-radius:0 0 3px 3px}form.wpzinc-tinymce-popup .selectize-dropdown [data-selectable]{cursor:pointer;overflow:hidden}form.wpzinc-tinymce-popup .selectize-dropdown [data-selectable] .highlight{background:rgba(125,168,208,0.2);-webkit-border-radius:1px;-moz-border-radius:1px;border-radius:1px}form.wpzinc-tinymce-popup .selectize-dropdown [data-selectable],form.wpzinc-tinymce-popup .selectize-dropdown .optgroup-header{padding:5px 8px}form.wpzinc-tinymce-popup .selectize-dropdown .optgroup:first-child .optgroup-header{border-top:0 none}form.wpzinc-tinymce-popup .selectize-dropdown .optgroup-header{color:#303030;background:#ffffff;cursor:default}form.wpzinc-tinymce-popup .selectize-dropdown .active{background-color:#f5fafd;color:#495c68}form.wpzinc-tinymce-popup .selectize-dropdown .active.create{color:#495c68}form.wpzinc-tinymce-popup .selectize-dropdown .create{color:rgba(48,48,48,0.5)}form.wpzinc-tinymce-popup .selectize-dropdown-content{overflow-y:auto;overflow-x:hidden;max-height:200px;-webkit-overflow-scrolling:touch}form.wpzinc-tinymce-popup .selectize-dropdown-content .option{display:block}form.wpzinc-tinymce-popup .selectize-control.single .selectize-input,form.wpzinc-tinymce-popup .selectize-control.single .selectize-input input{cursor:pointer}form.wpzinc-tinymce-popup .selectize-control.single .selectize-input.input-active,form.wpzinc-tinymce-popup .selectize-control.single .selectize-input.input-active input{cursor:text}form.wpzinc-tinymce-popup .selectize-control.single .selectize-input:after{content:' ';display:block;position:absolute;top:50%;right:15px;margin-top:-3px;width:0;height:0;border-style:solid;border-width:5px 5px 0 5px;border-color:#808080 transparent transparent transparent}form.wpzinc-tinymce-popup .selectize-control.single .selectize-input.dropdown-active:after{margin-top:-4px;border-width:0 5px 5px 5px;border-color:transparent transparent #808080 transparent}form.wpzinc-tinymce-popup .selectize-control.rtl.single .selectize-input:after{left:15px;right:auto}form.wpzinc-tinymce-popup .selectize-control.rtl .selectize-input>input{margin:0 4px 0 -2px !important}form.wpzinc-tinymce-popup .selectize-control .selectize-input.disabled{opacity:0.5;background-color:#fafafa}form.wpzinc-tinymce-popup #front-static-pages label{width:100%}form.wpzinc-tinymce-popup div.wpzinc-option:last-child{border-bottom:none}form.wpzinc-tinymce-popup div.wpzinc-option .widefat{width:100%;max-width:100%;box-sizing:border-box}form.wpzinc-tinymce-popup div.wpzinc-option select{background-color:#fff}form.wpzinc-tinymce-popup div.wpzinc-option textarea{padding:5px;background-color:#fff;border:1px solid #7e8993}form.wpzinc-tinymce-popup div.wpzinc-option .full{clear:both;display:block;padding:5px 0 0 0}form.wpzinc-tinymce-popup div.wpzinc-option .selectize-control{clear:none}form.wpzinc-tinymce-popup div.wpzinc-option.buttons{position:absolute;bottom:0;left:0;right:0;border-top:1px solid #ddd;background-color:#f7f7f7}form.wpzinc-tinymce-popup div.wpzinc-option.buttons.has-wpzinc-vertical-tabbed-ui{border-top:1px solid #ddd;background-color:#f7f7f7}i.mce-i-wpzinc-icon{font:normal 20px/1 'dashicons';padding:0;vertical-align:top;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin-left:-2px;padding-right:2px}div.notice.warning{border-left-color:#ffb900}.wpzinc-upgrade-hr{padding:20px 0 0 0;border-bottom:none}.wpzinc-upgrade{background:#f7f7f7;border:1px solid #e5e5e5;padding:20px}.wpzinc-upgrade h3{margin:0 0 30px 0;padding:0}.wpzinc-upgrade ul{display:grid;grid-template-columns:repeat(3, 1fr);column-gap:20px;row-gap:20px}.wpzinc-upgrade ul li{background:url(../feather/check-circle.svg) top left no-repeat;background-size:20px 20px;padding:0 0 0 30px}.wpzinc-upgrade ul li strong{display:block;font-size:15px;margin:0 0 5px 0}.wpzinc-upgrade a.button{margin:20px 0 0 0}body.wpzinc.gutenberg-editor-page .edit-post-layout__metaboxes:not(:empty),body.wpzinc.block-editor-page .edit-post-layout__metaboxes:not(:empty){margin:0;padding:0}body.wpzinc.gutenberg-editor-page .edit-post-meta-boxes-area,body.wpzinc.block-editor-page .edit-post-meta-boxes-area{margin:0}body.wpzinc.gutenberg-editor-page .edit-post-meta-boxes-area #poststuff .handlediv,body.wpzinc.block-editor-page .edit-post-meta-boxes-area #poststuff .handlediv{position:relative;z-index:2}body.wpzinc.gutenberg-editor-page .edit-post-meta-boxes-area #poststuff h2.hndle,body.wpzinc.block-editor-page .edit-post-meta-boxes-area #poststuff h2.hndle{z-index:1;background-color:#fcfcfc}body.wpzinc.gutenberg-editor-page .edit-post-meta-boxes-area .wpzinc-option,body.wpzinc.block-editor-page .edit-post-meta-boxes-area .wpzinc-option{background-color:transparent;border:none}body.wpzinc.gutenberg-editor-page .edit-post-meta-boxes-area .wpzinc-option:nth-child(odd),body.wpzinc.block-editor-page .edit-post-meta-boxes-area .wpzinc-option:nth-child(odd){background-color:transparent}.wpzinc-modal-overlay{display:none;position:fixed;z-index:99999999;top:0;left:0;opacity:0.5;width:100vw;height:100vh;background-color:#000}.wpzinc-modal{display:none;position:fixed;z-index:100000000;top:50vh;left:50vw;width:50vw;height:180px;margin:-90px 0 0 -25vw;box-sizing:border-box;background-color:#f7f7f7;padding:20px}.wpzinc-modal.wpzinc-modal-mini{top:50vh;left:50vw;width:200px;height:70px;margin:-35px 0 0 -85px}.wpzinc-modal h2{font-size:20px;line-height:25px;font-weight:700;margin:0 0 10px 0;padding:0}.wpzinc-modal h2 div.spinner{display:none;visibility:hidden;margin:0}.wpzinc-modal h2 div.tick{display:none;visibility:hidden;float:right;width:20px;height:20px;margin:4px 10px 0 4px}.wpzinc-modal p.message{margin:0 0 20px 0;padding:0}.wpzinc-modal .notice{display:block !important;margin:0 0 20px 0;padding:10px}.wpzinc-modal .notice.warning{border-left-color:orange}.wpzinc-modal .notice p{margin:0}.wpzinc-modal button.close{display:none}.wpzinc-backbone-modal .media-modal{position:absolute;left:50%;top:50%;transform:translate(-50%, -50%)}.wpzinc-backbone-modal .media-modal .media-frame-title{left:0;height:30px}.wpzinc-backbone-modal .media-modal .media-frame-content{left:0;top:54px;bottom:54px}.wpzinc-backbone-modal .media-modal .media-frame-toolbar{left:0;bottom:47px;background:#fff}.wpzinc-backbone-modal .media-modal .media-frame-toolbar .media-toolbar{padding:10px}.wpzinc-notification{display:none;position:fixed;z-index:9999999;bottom:20px;right:20px;color:#fff;background-color:#585e65;padding:10px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;box-shadow:0 20px 30px -16px rgba(9,9,16,0.8)}.wpzinc-notification.wpzinc-notification-success{border-left:4px solid #46b450}.wpzinc-notification.wpzinc-notification-warning{border-left:4px solid orange}.wpzinc-notification.wpzinc-notification-error{border-left:4px solid #dc3232}.wp-core-ui .wpzinc-button-red{background:#b30000;border-color:#b30000;color:#fff;text-decoration:none;text-shadow:none}.wp-core-ui .wpzinc-button-red.hover,.wp-core-ui .wpzinc-button-red:hover{background:#990000;border-color:#990000;color:#fff}.wp-core-ui .wpzinc-button-red.focus,.wp-core-ui .wpzinc-button-red:focus{background:#990000;border-color:#990000;color:#fff;box-shadow:0 0 0 1px #fff, 0 0 0 3px #990000}.wpzinc-button-red{background:#b30000;border-color:#b30000;color:#fff;text-decoration:none;text-shadow:none}.wpzinc-button-red.hover,.wpzinc-button-red:hover{background:#990000;border-color:#990000;color:#fff}.wpzinc-button-red.focus,.wpzinc-button-red:focus{background:#990000;border-color:#990000;color:#fff;box-shadow:0 0 0 1px #fff, 0 0 0 3px #990000}.tax-selection .tabs-panel{height:200px !important;overflow:auto;padding:10px 15px;border-left:none;border-top:none;border-right:none;border-bottom:none;background:#fff}.tax-selection .tabs-panel ul.categorychecklist{margin:0;padding:0}#wpzinc-onboarding{max-width:900px;margin:0 auto;padding:40px 0}#wpzinc-onboarding #wpzinc-onboarding-progress{text-align:center;padding:40px 0}#wpzinc-onboarding #wpzinc-onboarding-progress ol{list-style:none;margin:0;padding:0}#wpzinc-onboarding #wpzinc-onboarding-progress ol li{position:relative;display:inline-block;width:135px;text-align:center;line-height:3em}#wpzinc-onboarding #wpzinc-onboarding-progress ol li:after{position:absolute;display:block;z-index:1;top:-2px;left:-65px;height:2px;width:135px;content:"";background-color:#dfdfdf}#wpzinc-onboarding #wpzinc-onboarding-progress ol li:before{position:absolute;z-index:2;top:-6px;left:65px;height:10px;width:10px;border-radius:1.2em;border:none;line-height:1.2em;content:" ";background-color:#dfdfdf}#wpzinc-onboarding #wpzinc-onboarding-progress ol li:first-child:after{display:none}#wpzinc-onboarding #wpzinc-onboarding-progress ol li.done{color:#1c9bd7}#wpzinc-onboarding #wpzinc-onboarding-progress ol li.done:after,#wpzinc-onboarding #wpzinc-onboarding-progress ol li.done:before{background-color:#1c9bd7}#wpzinc-onboarding #wpzinc-onboarding-form{padding:20px 80px 80px 80px;background-color:#fff;box-shadow:0 2px 5px rgba(0,0,0,0.05)}#wpzinc-onboarding #wpzinc-onboarding-form #wpzinc-onboarding-content h1{margin:60px 0 20px 0}#wpzinc-onboarding #wpzinc-onboarding-form #wpzinc-onboarding-content p{font-size:16px}#wpzinc-onboarding #wpzinc-onboarding-form #wpzinc-onboarding-content p.description{font-size:13px}#wpzinc-onboarding #wpzinc-onboarding-form #wpzinc-onboarding-content>div{margin:0 0 20px 0}#wpzinc-onboarding #wpzinc-onboarding-form #wpzinc-onboarding-content>div label{display:block;margin-bottom:10px;font-size:16px;font-weight:500}#wpzinc-onboarding #wpzinc-onboarding-form #wpzinc-onboarding-footer{display:grid;grid-template-columns:repeat(2, 1fr);grid-template-areas:"left right";padding:40px 0 0 0}#wpzinc-onboarding #wpzinc-onboarding-form #wpzinc-onboarding-footer .left{grid-area:left;text-align:left}#wpzinc-onboarding #wpzinc-onboarding-form #wpzinc-onboarding-footer .right{grid-area:right;text-align:right}@media only screen and (max-width: 1200px){.wpzinc-upgrade ul{display:grid;grid-template-columns:repeat(2, 1fr)}}@media only screen and (max-width: 768px){h2.wpzinc-horizontal-tabbed-ui.nav-tab-wrapper a.nav-tab{margin-right:10px}h2.wpzinc-horizontal-tabbed-ui.nav-tab-wrapper a.nav-tab:last-child{margin-right:0}h2.wpzinc-horizontal-tabbed-ui.nav-tab-wrapper a.nav-tab span.text{display:none}h2.wpzinc-horizontal-tabbed-ui.nav-tab-wrapper a.nav-tab span.text-mobile{display:inline-block}h2.wpzinc-horizontal-tabbed-ui.nav-tab-wrapper a.nav-tab .dashicons{font-size:24px}h2.wpzinc-horizontal-tabbed-ui.nav-tab-wrapper a.nav-tab .dashicons.dashicons-yes{font-size:20px}div.wpzinc-vertical-tabbed-ui{grid-template-columns:60px auto}div.wpzinc-vertical-tabbed-ui ul.wpzinc-nav-tabs li.wpzinc-nav-tab a,div.wpzinc-vertical-tabbed-ui ul.wpzinc-nav-tabs li.wpzinc-nav-tab a.wpzinc-nav-tab-vertical-active,div.wpzinc-vertical-tabbed-ui ul.wpzinc-nav-tabs li.wpzinc-nav-tab a:hover{width:60px;height:60px;margin:0;padding:0;text-indent:-9999px;background-position:center}div.wpzinc-vertical-tabbed-ui ul.wpzinc-nav-tabs li.wpzinc-nav-tab a span.dashicons{top:0;right:0;text-indent:0}div.wpzinc-vertical-tabbed-ui ul.wpzinc-nav-tabs li.wpzinc-nav-tab a:hover{border-top:none}div.wpzinc-vertical-tabbed-ui ul.wpzinc-nav-tabs li.wpzinc-nav-tab a:hover span.dashicons{right:0}.wpzinc-option{display:block}.wpzinc-option div.left{width:100%}.wpzinc-option div.right{width:100%}.wpzinc-option select.right,.wpzinc-option input.right{float:none;width:100%;margin:0 0 10px 0 !important}.wpzinc-option select{width:100%}.wpzinc-upgrade ul{grid-template-columns:repeat(1, 1fr)}}
  • page-generator/tags/1.7.7/_modules/dashboard/js/autocomplete-tinymce.js

    r2957435 r3262557  
    500500                                        longname:   'Autocomplete',
    501501                                        author:     'WP Zinc',
    502                                         authorurl:  'https://www.wpzinc.com/',
    503                                         infourl:    'https://www.wpzinc.com/',
    504502                                        version:    tinymce.majorVersion + '.' + tinymce.minorVersion
    505503                                    };
  • page-generator/tags/1.7.7/_modules/dashboard/js/min/autocomplete-tinymce-min.js

    r2688389 r3262557  
    1 !function(){const e=40,t=38,n=27,i=13,o=8;var l=[e,t,n,i],s=["123"];"undefined"!=typeof wpzinc_autocomplete&&wpzinc_autocomplete.forEach((function(o,c){o.triggers.forEach((function(o,c){"url"in o||(tinymce.create("tinymce.plugins."+o.tinyMCEName,{init:function(c){function r(){var e=document.createElement("ul");return e.setAttribute("class","wpzinc-tinymce-autocomplete"),o.values.forEach((function(t,n){var i=document.createElement("li");i.classList.add("displayed"),e.appendChild(i),i.innerHTML=i.innerHTML+t.value})),document.body.appendChild(e),e}function a(e,t){var n=d(e);g(t,n.top,n.left),t.classList.remove("displayed"),t.classList.add("displayed"),k=!0}function d(e){var t=e.getContainer()?e.getContainer():document.getElementById(e.id),n=t.getBoundingClientRect().top+window.scrollY,i=t.getBoundingClientRect().left+window.scrollX,o={top:0,left:0};o=e.selection.getRng().getClientRects().length>0?{top:e.selection.getRng().getClientRects()[0].top+20,left:e.selection.getRng().getClientRects()[0].left}:{top:e.selection.getNode().getClientRects()[0].top+20,left:e.selection.getNode().getClientRects()[0].left};var l=t.getElementsByClassName("mce-toolbar-grp")[0];return l?{top:n+l.getBoundingClientRect().height+o.top,left:i+o.left}:o}function g(e,t,n){e.style.marginTop=t+"px",e.style.marginLeft=n+"px"}function u(e){var t=null==e.selection.getSel().focusNode?"":e.selection.getSel().focusNode.nodeValue,n=e.selection.getSel().focusOffset,i=0,o;if(null==t||0==t.length)return"";for(var l=n;l>=0;l--)if(-1!=s.indexOf(t.charCodeAt(l).toString())){i=l;break}return{search:t.substr(i,n-i),start:i,end:n}}function f(e,t,n){for(var i=n.getElementsByTagName("li"),o=!0,l=i.length,s=0;s<l-1;s++)i.item(s).classList.remove("highlight"),-1==i.item(s).innerText.indexOf(e.search)?i.item(s).classList.remove("displayed"):(i.item(s).classList.add("displayed"),o&&(i.item(s).classList.add("highlight"),o=!1))}function m(e,t,n){for(var i=n.querySelectorAll("li.displayed"),o=i.length,l=0;l<o-1;l++)if(i[l].classList.contains("highlight")){if("previous"==e){if(0==l)break;i[l].classList.remove("highlight"),i[l-1].classList.add("highlight");break}if("next"==e){if(l==i.length-1)break;i[l].classList.remove("highlight"),i[l+1].classList.add("highlight");break}}}function h(e,t){var n;p(t.querySelectorAll("li.highlight")[0].innerText,e,t)}function p(e,t){var n=u(t),i=t.selection.getSel().focusNode,o=t.selection.getRng();o.setStart(i,n.start),o.setEnd(i,n.end),t.selection.setRng(o),t.selection.setContent(e)}function y(e,t){t.classList.remove("displayed"),k=!1}function v(l,s){if(o.triggerKeyCode==s.keyCode&&!k){if(!o.triggerKeyShiftRequired)return void a(l,E);if(s.shiftKey)return void a(l,E)}if(n!=s.keyCode||!k){var c;if(k&&(t==s.keyCode||e==s.keyCode))m(t==s.keyCode?"previous":"next",l,E);return k&&i==s.keyCode?(tinymce.dom.Event.cancel(s),h(l,E),void y(l,E)):void 0}y(l,E)}function C(e,t){var n;-1==l.indexOf(t.keyCode)&&k&&(a(e,E),f(u(e),e,E))}function w(e,t){y(e,E)}function L(e){e.target.matches("li.displayed")?(p(e.target.innerText,c),y(c,E)):y(c,E)}var k=!1,E=r();c.onKeyDown.add(C),c.onKeyDown.add(v),c.onClick.add(w),document.addEventListener("click",L)},getInfo:function(){return{longname:"Autocomplete",author:"WP Zinc",authorurl:"https://www.wpzinc.com/",infourl:"https://www.wpzinc.com/",version:tinymce.majorVersion+"."+tinymce.minorVersion}}}),tinymce.PluginManager.add(o.tinyMCEName,tinymce.plugins[o.tinyMCEName]))}))}))}();
     1!function(){const e=40,t=38,n=27,i=13,o=8;var l=[e,t,n,i],s=["123"];"undefined"!=typeof wpzinc_autocomplete&&wpzinc_autocomplete.forEach((function(o,c){o.triggers.forEach((function(o,c){"url"in o||(tinymce.create("tinymce.plugins."+o.tinyMCEName,{init:function(c){function r(){var e=document.createElement("ul");return e.setAttribute("class","wpzinc-tinymce-autocomplete"),o.values.forEach((function(t,n){var i=document.createElement("li");i.classList.add("displayed"),e.appendChild(i),i.innerHTML=i.innerHTML+t.value})),document.body.appendChild(e),e}function a(e,t){var n=d(e);g(t,n.top,n.left),t.classList.remove("displayed"),t.classList.add("displayed"),E=!0}function d(e){var t=e.getContainer()?e.getContainer():document.getElementById(e.id),n=t.getBoundingClientRect().top+window.scrollY,i=t.getBoundingClientRect().left+window.scrollX,o={top:0,left:0};o=e.selection.getRng().getClientRects().length>0?{top:e.selection.getRng().getClientRects()[0].top+20,left:e.selection.getRng().getClientRects()[0].left}:{top:e.selection.getNode().getClientRects()[0].top+20,left:e.selection.getNode().getClientRects()[0].left};var l=t.getElementsByClassName("mce-toolbar-grp")[0];return l?{top:n+l.getBoundingClientRect().height+o.top,left:i+o.left}:o}function g(e,t,n){e.style.marginTop=t+"px",e.style.marginLeft=n+"px"}function u(e){var t=null==e.selection.getSel().focusNode?"":e.selection.getSel().focusNode.nodeValue,n=e.selection.getSel().focusOffset,i=0,o;if(null==t||0==t.length)return"";for(var l=n;l>=0;l--)if(-1!=s.indexOf(t.charCodeAt(l).toString())){i=l;break}return{search:t.substr(i,n-i),start:i,end:n}}function f(e,t,n){for(var i=n.getElementsByTagName("li"),o=!0,l=i.length,s=0;s<l-1;s++)i.item(s).classList.remove("highlight"),-1==i.item(s).innerText.indexOf(e.search)?i.item(s).classList.remove("displayed"):(i.item(s).classList.add("displayed"),o&&(i.item(s).classList.add("highlight"),o=!1))}function m(e,t,n){for(var i=n.querySelectorAll("li.displayed"),o=i.length,l=0;l<o-1;l++)if(i[l].classList.contains("highlight")){if("previous"==e){if(0==l)break;i[l].classList.remove("highlight"),i[l-1].classList.add("highlight");break}if("next"==e){if(l==i.length-1)break;i[l].classList.remove("highlight"),i[l+1].classList.add("highlight");break}}}function h(e,t){var n;y(t.querySelectorAll("li.highlight")[0].innerText,e,t)}function y(e,t){var n=u(t),i=t.selection.getSel().focusNode,o=t.selection.getRng();o.setStart(i,n.start),o.setEnd(i,n.end),t.selection.setRng(o),t.selection.setContent(e)}function p(e,t){t.classList.remove("displayed"),E=!1}function v(l,s){if(o.triggerKeyCode==s.keyCode&&!E){if(!o.triggerKeyShiftRequired)return void a(l,R);if(s.shiftKey)return void a(l,R)}if(n!=s.keyCode||!E){var c;if(E&&(t==s.keyCode||e==s.keyCode))m(t==s.keyCode?"previous":"next",l,R);return E&&i==s.keyCode?(tinymce.dom.Event.cancel(s),h(l,R),void p(l,R)):void 0}p(l,R)}function C(e,t){var n;-1==l.indexOf(t.keyCode)&&E&&(a(e,R),f(u(e),e,R))}function L(e,t){p(e,R)}function k(e){e.target.matches("li.displayed")?(y(e.target.innerText,c),p(c,R)):p(c,R)}var E=!1,R=r();c.onKeyDown.add(C),c.onKeyDown.add(v),c.onClick.add(L),document.addEventListener("click",k)},getInfo:function(){return{longname:"Autocomplete",author:"WP Zinc",version:tinymce.majorVersion+"."+tinymce.minorVersion}}}),tinymce.PluginManager.add(o.tinyMCEName,tinymce.plugins[o.tinyMCEName]))}))}))}();
  • page-generator/tags/1.7.7/_modules/dashboard/scss/_custom-post-tax-types.scss

    r3247852 r3262557  
    2929    line-height: 98px;
    3030    text-indent: 70px;
     31    box-sizing: border-box;
    3132
    3233    &::before {
  • page-generator/tags/1.7.7/_modules/dashboard/scss/admin.scss

    r3247852 r3262557  
    11951195
    11961196/**
    1197  * Inline Modal
    1198  * - Used for plugin deactivation modal reason
    1199  */
    1200 .wpzinc-inline-modal {
    1201     display: none;
    1202     position: absolute;
    1203     white-space: normal;
    1204     width: 400px;
    1205 
    1206     z-index: 100000000;
    1207     box-sizing: border-box;
    1208     background-color: #f7f7f7;
    1209     box-shadow: 0 0 15px -5px rgba(0, 0, 0, .5);
    1210     transition: all .3s ease-out;
    1211 }
    1212 .wpzinc-inline-modal header {
    1213     position: relative;
    1214     height: 40px;
    1215     background-color: #212f4f;
    1216 }
    1217 .wpzinc-inline-modal header::before {
    1218     content: "";
    1219     display: block;
    1220     position: absolute;
    1221     top: 50%;
    1222     transform: translateY(-50%);
    1223     left: -10px;
    1224     border-top: 20px solid transparent;
    1225     border-right: 20px solid #212f4f;
    1226     border-bottom: 20px solid transparent;
    1227 }
    1228 .wpzinc-inline-modal header h2 {
    1229     font-size: 16px;
    1230     line-height: 40px;
    1231     font-weight: 400;
    1232     margin: 0;
    1233     padding: 0 20px;
    1234     color: #fff;
    1235 }
    1236 .wpzinc-inline-modal form {
    1237     padding: 20px;
    1238 }
    1239 .wpzinc-inline-modal form ul {
    1240     margin: 0 0 20px 0;
    1241     padding: 0;
    1242 }
    1243 .wpzinc-inline-modal form input[type="text"],
    1244 .wpzinc-inline-modal form input[type="email"] {
    1245     display: none;
    1246     margin: 0 0 10px 0;
    1247 }
    1248 .wpzinc-inline-modal form small.wpzinc-deactivation-reason-email {
    1249     display: none;
    1250     margin: 0 0 20px 0;
    1251 }
    1252 
    1253 /**
    12541197* QuickTags Backbone Modal
    12551198* - used by tinymce-modal.js
  • page-generator/tags/1.7.7/_modules/dashboard/views/footer-upgrade-embedded.php

    r2756466 r3262557  
    66 * @author WP Zinc
    77 */
     8
     9// Exit if accessed directly.
     10if ( ! defined( 'ABSPATH' ) ) {
     11    exit;
     12}
    813
    914if ( isset( $this->base->plugin->upgrade_reasons ) && is_array( $this->base->plugin->upgrade_reasons ) && count( $this->base->plugin->upgrade_reasons ) > 0 ) {
  • page-generator/tags/1.7.7/_modules/dashboard/views/footer-upgrade.php

    r2756466 r3262557  
    66 * @author WP Zinc
    77 */
     8
     9// Exit if accessed directly.
     10if ( ! defined( 'ABSPATH' ) ) {
     11    exit;
     12}
    813
    914if ( isset( $this->base->plugin->upgrade_reasons ) && is_array( $this->base->plugin->upgrade_reasons ) && count( $this->base->plugin->upgrade_reasons ) > 0 ) {
  • page-generator/tags/1.7.7/_modules/dashboard/views/import-export.php

    r3247852 r3262557  
    66 * @author WP Zinc
    77 */
     8
     9// Exit if accessed directly.
     10if ( ! defined( 'ABSPATH' ) ) {
     11    exit;
     12}
    813
    914?>
     
    4449        </h2>
    4550
    46         <form name="post" method="post" action="<?php echo ( isset( $_SERVER['REQUEST_URI'] ) ? esc_url( sanitize_text_field( wp_unslash( $_SERVER['REQUEST_URI'] ) ) ) : '' ); ?>" id="<?php echo esc_attr( $this->plugin->name ); ?>" enctype="multipart/form-data">
     51        <form name="post" method="post" action="<?php echo ( isset( $_SERVER['REQUEST_URI'] ) ? esc_url_raw( wp_unslash( $_SERVER['REQUEST_URI'] ) ) : '' ); ?>" id="<?php echo esc_attr( $this->plugin->name ); ?>" enctype="multipart/form-data">
    4752            <div id="poststuff">
    4853                <div id="post-body" class="metabox-holder columns-1">
  • page-generator/tags/1.7.7/_modules/dashboard/views/modal.php

    r2688389 r3262557  
    66 * @author WP Zinc
    77 */
     8
     9// Exit if accessed directly.
     10if ( ! defined( 'ABSPATH' ) ) {
     11    exit;
     12}
    813
    914?>
  • page-generator/tags/1.7.7/_modules/dashboard/views/notification.php

    r2688389 r3262557  
    77 */
    88
     9// Exit if accessed directly.
     10if ( ! defined( 'ABSPATH' ) ) {
     11    exit;
     12}
     13
    914?>
    1015
  • page-generator/tags/1.7.7/_modules/dashboard/views/review-notice.php

    r2957435 r3262557  
    77 */
    88
     9// Exit if accessed directly.
     10if ( ! defined( 'ABSPATH' ) ) {
     11    exit;
     12}
    913?>
    1014<div class="notice notice-info is-dismissible wpzinc-review-<?php echo esc_attr( $this->plugin->name ); ?>">
     
    4145        </a>
    4246    </p>
    43 
    44     <script type="text/javascript">
    45         jQuery( document ).ready( function( $ ) {
    46             // Dismiss Review Notification.
    47             $( 'div.wpzinc-review-<?php echo esc_attr( $this->plugin->name ); ?>' ).on( 'click', 'a, button.notice-dismiss', function( e ) {
    48 
    49                 // Do request
    50                 $.post(
    51                     ajaxurl,
    52                     {
    53                         action: '<?php echo esc_attr( str_replace( '-', '_', $this->plugin->name ) ); ?>_dismiss_review',
    54                     },
    55                     function( response ) {
    56                     }
    57                 );
    58 
    59                 // Hide notice.
    60                 $( 'div.wpzinc-review-<?php echo esc_attr( $this->plugin->name ); ?>' ).hide();
    61 
    62             } );
    63         } );
    64     </script>
    6547</div>
    6648
  • page-generator/tags/1.7.7/_modules/dashboard/views/sidebar-upgrade.php

    r2964115 r3262557  
    88 */
    99
     10// Exit if accessed directly.
     11if ( ! defined( 'ABSPATH' ) ) {
     12    exit;
     13}
    1014?>
    1115<!-- Keep Updated -->
  • page-generator/tags/1.7.7/includes/admin/admin.php

    r3247852 r3262557  
    395395
    396396        // Get command.
    397         $cmd = ( ( isset( $_GET['cmd'] ) ) ? sanitize_text_field( $_GET['cmd'] ) : '' ); // phpcs:ignore WordPress.Security.NonceVerification
     397        $cmd = ( ( isset( $_GET['cmd'] ) ) ? sanitize_text_field( wp_unslash( $_GET['cmd'] ) ) : '' ); // phpcs:ignore WordPress.Security.NonceVerification
    398398        switch ( $cmd ) {
    399399            /**
     
    456456            array_filter(
    457457                array(
    458                     ( isset( $_REQUEST['action'] ) && $_REQUEST['action'] != '-1' ? sanitize_text_field( $_REQUEST['action'] ) : '' ), // phpcs:ignore Universal.Operators.StrictComparisons.LooseNotEqual
    459                     ( isset( $_REQUEST['action2'] ) && $_REQUEST['action2'] != '-1' ? sanitize_text_field( $_REQUEST['action2'] ) : '' ), // phpcs:ignore Universal.Operators.StrictComparisons.LooseNotEqual
    460                     ( isset( $_REQUEST['action3'] ) && ! empty( $_REQUEST['action3'] ) ? sanitize_text_field( $_REQUEST['action3'] ) : '' ),
     458                    ( isset( $_REQUEST['action'] ) && $_REQUEST['action'] != '-1' ? sanitize_text_field( wp_unslash( $_REQUEST['action'] ) ) : '' ), // phpcs:ignore Universal.Operators.StrictComparisons.LooseNotEqual
     459                    ( isset( $_REQUEST['action2'] ) && $_REQUEST['action2'] != '-1' ? sanitize_text_field( wp_unslash( $_REQUEST['action2'] ) ) : '' ), // phpcs:ignore Universal.Operators.StrictComparisons.LooseNotEqual
     460                    ( isset( $_REQUEST['action3'] ) && ! empty( $_REQUEST['action3'] ) ? sanitize_text_field( wp_unslash( $_REQUEST['action3'] ) ) : '' ),
    461461                )
    462462            )
     
    492492                // Sanitize IDs.
    493493                $ids = array();
    494                 foreach ( $_REQUEST['ids'] as $id ) {
     494                foreach ( wp_unslash( $_REQUEST['ids'] ) as $id ) { // phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotSanitized
    495495                    $id         = absint( sanitize_text_field( $id ) );
    496496                    $ids[ $id ] = $id;
     
    530530
    531531        // Bail if no page specified.
    532         $page = ( ( isset( $_GET['page'] ) ) ? sanitize_text_field( $_GET['page'] ) : false ); // phpcs:ignore WordPress.Security.NonceVerification
     532        $page = ( ( isset( $_GET['page'] ) ) ? sanitize_text_field( wp_unslash( $_GET['page'] ) ) : false ); // phpcs:ignore WordPress.Security.NonceVerification
    533533        if ( ! $page ) {
    534534            return;
     
    548548
    549549        // Bail if nonce fails verification, as it might be for a different request.
    550         if ( ! wp_verify_nonce( $_REQUEST['_wpnonce'], 'action-keywords' ) ) {
     550        if ( ! wp_verify_nonce( sanitize_key( $_REQUEST['_wpnonce'] ), 'action-keywords' ) ) {
    551551            return;
    552552        }
    553553
    554554        // Bail if no row action specified.
    555         $cmd = ( ( isset( $_GET['cmd'] ) ) ? sanitize_text_field( $_GET['cmd'] ) : false );
     555        $cmd = ( ( isset( $_GET['cmd'] ) ) ? sanitize_text_field( wp_unslash( $_GET['cmd'] ) ) : false );
    556556        if ( ! $cmd ) {
    557557            return;
     
    600600            array(
    601601                'page'    => $this->base->plugin->name . '-keywords',
    602                 's'       => ( isset( $_REQUEST['s'] ) ? sanitize_text_field( $_REQUEST['s'] ) : '' ), // phpcs:ignore WordPress.Security.NonceVerification
    603                 'paged'   => ( isset( $_REQUEST['paged'] ) ? sanitize_text_field( $_REQUEST['paged'] ) : 1 ), // phpcs:ignore WordPress.Security.NonceVerification
    604                 'orderby' => ( isset( $_REQUEST['orderby'] ) ? sanitize_sql_orderby( $_REQUEST['orderby'] ) : 'keyword' ), // phpcs:ignore WordPress.Security.NonceVerification
    605                 'order'   => ( isset( $_REQUEST['order'] ) ? sanitize_text_field( $_REQUEST['order'] ) : 'ASC' ), // phpcs:ignore WordPress.Security.NonceVerification
     602                's'       => ( isset( $_REQUEST['s'] ) ? sanitize_text_field( wp_unslash( $_REQUEST['s'] ) ) : '' ), // phpcs:ignore WordPress.Security.NonceVerification
     603                'paged'   => ( isset( $_REQUEST['paged'] ) ? sanitize_text_field( wp_unslash( $_REQUEST['paged'] ) ) : 1 ), // phpcs:ignore WordPress.Security.NonceVerification
     604                'orderby' => ( isset( $_REQUEST['orderby'] ) ? sanitize_sql_orderby( wp_unslash( $_REQUEST['orderby'] ) ) : 'keyword' ), // phpcs:ignore WordPress.Security.NonceVerification
     605                'order'   => ( isset( $_REQUEST['order'] ) ? sanitize_text_field( wp_unslash( $_REQUEST['order'] ) ) : 'ASC' ), // phpcs:ignore WordPress.Security.NonceVerification
    606606            ),
    607607            'admin.php'
     
    621621
    622622        // Get command.
    623         $cmd = ( ( isset( $_GET['cmd'] ) ) ? sanitize_text_field( $_GET['cmd'] ) : '' ); // phpcs:ignore WordPress.Security.NonceVerification
     623        $cmd = ( ( isset( $_GET['cmd'] ) ) ? sanitize_text_field( wp_unslash( $_GET['cmd'] ) ) : '' ); // phpcs:ignore WordPress.Security.NonceVerification
    624624        switch ( $cmd ) {
    625625            /**
     
    651651                // Apply the posted values to the keyword.
    652652                if ( isset( $_POST['nonce'] ) && wp_verify_nonce( sanitize_key( $_POST['nonce'] ), 'save_keyword' ) ) {
    653                     $keyword['keyword'] = wp_unslash( sanitize_text_field( $_POST['keyword'] ) );
    654                     $keyword['source']  = wp_unslash( sanitize_text_field( $_POST['source'] ) );
    655                     $keyword['options'] = stripslashes_deep( $_POST[ $keyword['source'] ] );
     653                    $keyword['keyword'] = isset( $_POST['keyword'] ) ? sanitize_text_field( wp_unslash( $_POST['keyword'] ) ) : '';
     654                    $keyword['source']  = isset( $_POST['source'] ) ? sanitize_text_field( wp_unslash( $_POST['source'] ) ) : '';
     655                    $keyword['options'] = isset( $_POST[ $keyword['source'] ] ) ? wp_unslash( $_POST[ $keyword['source'] ] ) : ''; // phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotSanitized
    656656                }
    657657
     
    708708        // Validate Form Inputs.
    709709        $id           = ( ( isset( $_REQUEST['id'] ) && ! empty( $_REQUEST['id'] ) ) ? absint( $_REQUEST['id'] ) : '' );
    710         $keyword_name = sanitize_text_field( $_POST['keyword'] );
    711         $source       = sanitize_text_field( $_POST['source'] );
     710        $keyword_name = isset( $_POST['keyword'] ) ? sanitize_text_field( wp_unslash( $_POST['keyword'] ) ) : '';
     711        $source       = isset( $_POST['source'] ) ? sanitize_text_field( wp_unslash( $_POST['source'] ) ) : '';
    712712        $options      = array(
    713             'data' => ( isset( $_POST[ $source ]['data'] ) ? sanitize_textarea_field( $_POST[ $source ]['data'] ) : '' ),
     713            'data' => ( isset( $_POST[ $source ]['data'] ) ? sanitize_textarea_field( wp_unslash( $_POST[ $source ]['data'] ) ) : '' ),
    714714        );
    715715
     
    765765        // Get Group ID and Type.
    766766        $id   = absint( $_REQUEST['id'] ); // phpcs:ignore WordPress.Security.NonceVerification
    767         $type = ( isset( $_REQUEST['type'] ) ? sanitize_text_field( $_REQUEST['type'] ) : 'content' ); // phpcs:ignore WordPress.Security.NonceVerification
     767        $type = ( isset( $_REQUEST['type'] ) ? sanitize_text_field( wp_unslash( $_REQUEST['type'] ) ) : 'content' ); // phpcs:ignore WordPress.Security.NonceVerification
    768768
    769769        // Get groups class.
  • page-generator/tags/1.7.7/includes/admin/ajax.php

    r2746523 r3262557  
    8686        check_ajax_referer( 'search_authors', 'nonce' );
    8787
     88        // Bail if no query is specified.
     89        if ( ! isset( $_REQUEST['query'] ) ) {
     90            return wp_send_json_error( __( 'No query was specified.', 'page-generator' ) );
     91        }
     92
    8893        // Get vars.
    89         $query = sanitize_text_field( $_REQUEST['query'] );
     94        $query = sanitize_text_field( wp_unslash( $_REQUEST['query'] ) );
    9095
    9196        // Get results.
     
    269274            'group_id'                      => absint( $_POST['id'] ),
    270275            'current_index'                 => ( isset( $_POST['current_index'] ) ? absint( $_POST['current_index'] ) : 0 ),
    271             'last_generated_post_date_time' => ( isset( $_POST['last_generated_post_date_time'] ) ? sanitize_text_field( $_POST['last_generated_post_date_time'] ) : false ),
     276            'last_generated_post_date_time' => ( isset( $_POST['last_generated_post_date_time'] ) ? sanitize_text_field( wp_unslash( $_POST['last_generated_post_date_time'] ) ) : false ),
    272277            'test_mode'                     => ( isset( $_POST['test_mode'] ) ? true : false ),
    273278        );
  • page-generator/tags/1.7.7/includes/admin/groups-ui.php

    r2855239 r3262557  
    581581        }
    582582
     583        // Bail if no settings are being saved.
     584        if ( ! isset( $_POST[ $this->base->plugin->name ] ) ) {
     585            return;
     586        }
     587
    583588        // Save the Group's Settings.
    584589        $result = $this->base->get_class( 'groups' )->save(
    585             $this->base->get_class( 'common' )->recursive_sanitize_text_field( $_POST[ $this->base->plugin->name ] ),
     590            $this->base->get_class( 'common' )->recursive_sanitize_text_field( wp_unslash( $_POST[ $this->base->plugin->name ] ) ), // phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotSanitized
    586591            $post_id
    587592        );
  • page-generator/tags/1.7.7/includes/admin/keywords-table.php

    r2957435 r3262557  
    301301    public function get_search() {
    302302
    303         return ( isset( $_GET['s'] ) ? sanitize_text_field( wp_unslash( urldecode( $_GET['s'] ) ) ) : '' ); // phpcs:ignore WordPress.Security.NonceVerification
     303        return ( isset( $_GET['s'] ) ? urldecode( sanitize_text_field( wp_unslash( $_GET['s'] ) ) ) : '' ); // phpcs:ignore WordPress.Security.NonceVerification
    304304
    305305    }
     
    314314    private function get_order_by() {
    315315
    316         return ( isset( $_GET['orderby'] ) ? sanitize_sql_orderby( $_GET['orderby'] ) : 'keyword' ); // phpcs:ignore WordPress.Security.NonceVerification
     316        return ( isset( $_GET['orderby'] ) ? sanitize_sql_orderby( wp_unslash( $_GET['orderby'] ) ) : 'keyword' ); // phpcs:ignore WordPress.Security.NonceVerification
    317317
    318318    }
     
    327327    private function get_order() {
    328328
    329         return ( isset( $_GET['order'] ) ? sanitize_text_field( $_GET['order'] ) : 'ASC' ); // phpcs:ignore WordPress.Security.NonceVerification
     329        return ( isset( $_GET['order'] ) ? sanitize_text_field( wp_unslash( $_GET['order'] ) ) : 'ASC' ); // phpcs:ignore WordPress.Security.NonceVerification
    330330
    331331    }
  • page-generator/tags/1.7.7/includes/global/screen.php

    r2855239 r3262557  
    9292
    9393            // Editing a Content Group on the frontend.
    94             if ( isset( $_SERVER['REQUEST_URI'] ) && stripos( $_SERVER['REQUEST_URI'], $this->base->plugin->name ) !== false ) {
     94            if ( isset( $_SERVER['REQUEST_URI'] ) && stripos( sanitize_text_field( wp_unslash( $_SERVER['REQUEST_URI'] ) ), $this->base->plugin->name ) !== false ) {
    9595                return array(
    9696                    'screen'  => 'content_groups',
     
    129129                $result = array(
    130130                    'screen'  => 'settings',
    131                     'section' => ( isset( $_REQUEST['tab'] ) ? str_replace( $this->base->plugin->name . '-', '', sanitize_text_field( $_REQUEST['tab'] ) ) : 'general' ), // phpcs:ignore WordPress.Security.NonceVerification
     131                    'section' => ( isset( $_REQUEST['tab'] ) ? str_replace( $this->base->plugin->name . '-', '', sanitize_text_field( wp_unslash( $_REQUEST['tab'] ) ) ) : 'general' ), // phpcs:ignore WordPress.Security.NonceVerification
    132132                );
    133133                break;
     
    147147             */
    148148            case $this->base->plugin->name . '-keywords':
    149                 $cmd = ( isset( $_REQUEST['cmd'] ) ? sanitize_text_field( $_REQUEST['cmd'] ) : false ); // phpcs:ignore WordPress.Security.NonceVerification
     149                $cmd = ( isset( $_REQUEST['cmd'] ) ? sanitize_text_field( wp_unslash( $_REQUEST['cmd'] ) ) : false ); // phpcs:ignore WordPress.Security.NonceVerification
    150150                switch ( $cmd ) {
    151151                    // Keywords WP_List_Table.
  • page-generator/tags/1.7.7/page-generator.php

    r3247852 r3262557  
    88 * Plugin Name: Page Generator
    99 * Plugin URI: http://www.wpzinc.com/plugins/page-generator-pro
    10  * Version: 1.7.6
     10 * Version: 1.7.7
    1111 * Author: WP Zinc
    1212 * Author URI: http://www.wpzinc.com
     
    2525
    2626// Define Plugin version and build date.
    27 define( 'PAGE_GENERATOR_PLUGIN_VERSION', '1.7.6' );
    28 define( 'PAGE_GENERATOR_PLUGIN_BUILD_DATE', '2025-02-27 18:00:00' );
     27define( 'PAGE_GENERATOR_PLUGIN_VERSION', '1.7.7' );
     28define( 'PAGE_GENERATOR_PLUGIN_BUILD_DATE', '2025-03-27 18:00:00' );
    2929
    3030// Define Plugin paths.
  • page-generator/tags/1.7.7/readme.txt

    r3247852 r3262557  
    66Tested up to: 6.7.2
    77Requires PHP: 7.4
    8 Stable tag: 1.7.6
     8Stable tag: 1.7.7
    99License: GPLv2 or later
    1010License URI: http://www.gnu.org/licenses/gpl-2.0.html
     
    9696
    9797== Changelog ==
     98
     99= 1.7.7 (2025-03-27) =
     100* Updated: Coding standards
    98101
    99102= 1.7.6 (2025-02-27) =
  • page-generator/trunk/_modules/dashboard/class-wpzincdashboardwidget.php

    r3247852 r3262557  
    1010 */
    1111
     12// Exit if accessed directly.
     13if ( ! defined( 'ABSPATH' ) ) {
     14    exit;
     15}
     16
    1217/**
    1318 * Provides common functionality, styling and views for Plugins.
     
    4651
    4752    /**
    48      * Holds the deactivation endpoint URL.
     53     * Flag to show the Import and Export Sub Menu
     54     *
     55     * @since   1.0.0
     56     *
     57     * @var     bool
     58     */
     59    private $show_import_export_menu = true;
     60
     61    /**
     62     * Flag to show the Upgrade Sub Menu
     63     *
     64     * @since   1.0.0
     65     *
     66     * @var     bool
     67     */
     68    private $show_upgrade_menu = true;
     69
     70    /**
     71     * Flag to show the Support Sub Menu
     72     *
     73     * @since   1.0.0
     74     *
     75     * @var     bool
     76     */
     77    private $show_support_menu = false;
     78
     79    /**
     80     * Flag to show the Review Request
     81     *
     82     * @since   1.0.0
     83     *
     84     * @var     bool
     85     */
     86    private $show_review_request = true;
     87
     88    /**
     89     * Holds the message to display when importing or exporting a configuration file.
    4990     *
    5091     * @since   1.0.0
     
    5293     * @var     string
    5394     */
    54     private $endpoint;
    55 
    56     /**
    57      * Flag to show the Import and Export Sub Menu
    58      *
    59      * @since   1.0.0
    60      *
    61      * @var     bool
    62      */
    63     private $show_import_export_menu = true;
    64 
    65     /**
    66      * Flag to show the Upgrade Sub Menu
    67      *
    68      * @since   1.0.0
    69      *
    70      * @var     bool
    71      */
    72     private $show_upgrade_menu = true;
    73 
    74     /**
    75      * Flag to show the Support Sub Menu
    76      *
    77      * @since   1.0.0
    78      *
    79      * @var     bool
    80      */
    81     private $show_support_menu = false;
    82 
    83     /**
    84      * Flag to show the Review Request
    85      *
    86      * @since   1.0.0
    87      *
    88      * @var     bool
    89      */
    90     private $show_review_request = true;
    91 
    92     /**
    93      * Holds the message to display when importing or exporting a configuration file.
     95    private $message = '';
     96
     97    /**
     98     * Holds the error message to display when importing or exporting a configuration file.
    9499     *
    95100     * @since   1.0.0
     
    97102     * @var     string
    98103     */
    99     private $message = '';
    100 
    101     /**
    102      * Holds the error message to display when importing or exporting a configuration file.
    103      *
    104      * @since   1.0.0
    105      *
    106      * @var     string
    107      */
    108104    private $error_message = '';
    109105
     
    114110     *
    115111     * @param   object $plugin    WordPress Plugin.
    116      * @param   string $endpoint  LUM Deactivation Endpoint.
    117      */
    118     public function __construct( $plugin, $endpoint = false ) {
     112     */
     113    public function __construct( $plugin ) {
    119114
    120115        // Plugin Details.
    121         $this->plugin   = $plugin;
    122         $this->endpoint = $endpoint;
     116        $this->plugin = $plugin;
    123117
    124118        // Set class vars.
     
    135129        // Plugin Actions.
    136130        if ( ! isset( $this->plugin->hide_upgrade_menu ) || ! $this->plugin->hide_upgrade_menu ) {
    137             add_filter( 'plugin_action_links_' . $this->plugin->name . '/' . $this->plugin->name . '.php', array( $this, 'add_action_link' ), 10, 2 );
     131            add_filter( 'plugin_action_links_' . $this->plugin->name . '/' . $this->plugin->name . '.php', array( $this, 'add_action_link' ), 10, 1 );
    138132        }
    139133
     
    149143        add_action( 'plugins_loaded', array( $this, 'maybe_redirect' ) );
    150144
    151         // Deactivation.
    152         add_action( 'wp_ajax_wpzinc_dashboard_deactivation_modal_submit', array( $this, 'deactivation_modal_submit' ) );
     145        // Permit wpzinc.com to be redirected to when using wp_safe_redirect().
     146        add_filter( 'allowed_redirect_hosts', array( $this, 'allowed_redirect_hosts' ) );
    153147
    154148    }
     
    392386        wp_register_script( 'wpzinc-admin-autosize', $this->dashboard_url . 'js/' . ( $minified ? 'min/' : '' ) . 'autosize' . ( $minified ? '-min' : '' ) . '.js', false, $this->plugin->version, true );
    393387        wp_register_script( 'wpzinc-admin-conditional', $this->dashboard_url . 'js/' . ( $minified ? 'min/' : '' ) . 'jquery.form-conditionals' . ( $minified ? '-min' : '' ) . '.js', array( 'jquery' ), $this->plugin->version, true );
    394         wp_register_script( 'wpzinc-admin-deactivation', $this->dashboard_url . 'js/' . ( $minified ? 'min/' : '' ) . 'deactivation' . ( $minified ? '-min' : '' ) . '.js', array( 'jquery' ), $this->plugin->version, true );
    395388        wp_register_script( 'wpzinc-admin-inline-search', $this->dashboard_url . 'js/' . ( $minified ? 'min/' : '' ) . 'inline-search' . ( $minified ? '-min' : '' ) . '.js', array( 'jquery' ), $this->plugin->version, true );
    396389        wp_register_script( 'wpzinc-admin-media-library', $this->dashboard_url . 'js/' . ( $minified ? 'min/' : '' ) . 'media-library' . ( $minified ? '-min' : '' ) . '.js', array( 'jquery', 'jquery-ui-sortable' ), $this->plugin->version, true );
    397390        wp_register_script( 'wpzinc-admin-modal', $this->dashboard_url . 'js/' . ( $minified ? 'min/' : '' ) . 'modal' . ( $minified ? '-min' : '' ) . '.js', array( 'jquery' ), $this->plugin->version, true );
    398391        wp_register_script( 'wpzinc-admin-notification', $this->dashboard_url . 'js/' . ( $minified ? 'min/' : '' ) . 'notification' . ( $minified ? '-min' : '' ) . '.js', array( 'jquery' ), $this->plugin->version, true );
     392        wp_register_script( 'wpzinc-admin-review-notice', $this->dashboard_url . 'js/' . ( $minified ? 'min/' : '' ) . 'review-notice' . ( $minified ? '-min' : '' ) . '.js', array( 'jquery' ), $this->plugin->version, true );
    399393        wp_register_script( 'wpzinc-admin-selectize', $this->dashboard_url . 'js/' . ( $minified ? 'min/' : '' ) . 'selectize' . ( $minified ? '-min' : '' ) . '.js', array( 'jquery' ), $this->plugin->version, true );
    400394        wp_register_script( 'wpzinc-admin-synchronous-ajax', $this->dashboard_url . 'js/' . ( $minified ? 'min/' : '' ) . 'synchronous-ajax' . ( $minified ? '-min' : '' ) . '.js', array( 'jquery' ), $this->plugin->version, true );
     
    426420            /**
    427421             * Import / Export
    428              * - Must use displayName because of whitelabelling and WordPress stupidity?
     422             * - Use of displayName is deliberate.
    429423             */
    430424            case sanitize_title( $this->plugin->displayName ) . '_page_' . $this->plugin->name . '-import-export':
     
    455449        $slug = ( ! empty( $parent_slug ) ? $parent_slug : $this->plugin->name );
    456450
    457         // Define minimum capability for accessing Import and Export Sub Menu.
     451        /**
     452         * Filter the minimum capability for accessing Import and Export Sub Menu.
     453         *
     454         * @since   1.0.0
     455         *
     456         * @param   string  $minimum_capability   Minimum Capability.
     457         */
    458458        $minimum_capability = apply_filters( str_replace( '-', '_', $this->plugin->name ) . '_admin_admin_menu_minimum_capability', 'manage_options' ); // phpcs:ignore WordPress.NamingConventions.ValidHookName
    459459
     
    480480        $slug = ( ! empty( $parent_slug ) ? $parent_slug : $this->plugin->name );
    481481
    482         // Define minimum capability for accessing Support Menu.
     482        /**
     483         * Filter the minimum capability for accessing Support Sub Menu.
     484         *
     485         * @since   1.0.0
     486         *
     487         * @param   string  $minimum_capability   Minimum Capability.
     488         */
    483489        $minimum_capability = apply_filters( str_replace( '-', '_', $this->plugin->name ) . '_admin_admin_menu_minimum_capability', 'manage_options' ); // phpcs:ignore WordPress.NamingConventions.ValidHookName
    484490
     
    505511        $slug = ( ! empty( $parent_slug ) ? $parent_slug : $this->plugin->name );
    506512
    507         // Define minimum capability for accessing Upgrade Menu.
     513        /**
     514         * Filter the minimum capability for accessing Upgrade Sub Menu.
     515         *
     516         * @since   1.0.0
     517         *
     518         * @param   string  $minimum_capability   Minimum Capability.
     519         */
    508520        $minimum_capability = apply_filters( str_replace( '-', '_', $this->plugin->name ) . '_admin_admin_menu_minimum_capability', 'manage_options' ); // phpcs:ignore WordPress.NamingConventions.ValidHookName
    509521
     
    539551
    540552    /**
    541      * Adds Plugin Action Links to the Plugin when activated in the Plugins Screen,
    542      * as well as loading the deactivation Javascript and action for the modal view
    543      * if we're on a Free Plugin.
    544      *
    545      * @since   1.0.0
    546      *
    547      * @param   array  $links  Action Links.
    548      * @param   string $file   Plugin File.
     553     * Adds Plugin Action Links to the Plugin when activated in the Plugins Screen.
     554     *
     555     * @since   1.0.0
     556     *
     557     * @param   array $links  Action Links.
    549558     * @return  array           Action Links
    550559     */
    551     public function add_action_link( $links, $file ) { // phpcs:ignore Generic.CodeAnalysis.UnusedFunctionParameter
     560    public function add_action_link( $links ) {
    552561
    553562        // Bail if the licensing class exists,as this means we're on a Pro version.
    554563        if ( class_exists( 'LicensingUpdateManager' ) ) {
    555564            return $links;
    556         }
    557 
    558         // Late enqueue deactivation script.
    559         wp_enqueue_script( 'wpzinc-admin-deactivation' );
    560         wp_localize_script(
    561             'wpzinc-admin-deactivation',
    562             'wpzinc_dashboard',
    563             array(
    564                 'plugin' => array(
    565                     'name'    => $this->plugin->name,
    566                     'version' => $this->plugin->version,
    567                 ),
    568             )
    569         );
    570 
    571         // Late bind loading the deactivation modal HTML.
    572         if ( $this->endpoint ) {
    573             add_action( 'admin_footer', array( $this, 'output_deactivation_modal' ) );
    574565        }
    575566
     
    596587
    597588    /**
    598      * Outputs the Deactivation Modal HTML, which is displayed by Javascript.
    599      *
    600      * @since   1.0.0
    601      */
    602     public function output_deactivation_modal() {
    603 
    604         // Define the deactivation reasons.
    605         $reasons = array(
    606             'temporary'          => array(
    607                 'label'       => __( 'This is temporary / debugging an issue.', $this->plugin->name ), // phpcs:ignore WordPress.WP.I18n
    608                 'placeholder' => __( 'Optional: What problem are you experiencing?', $this->plugin->name ), // phpcs:ignore WordPress.WP.I18n
    609             ),
    610             'not_working'        => array(
    611                 'label'       => __( 'Could not get the plugin to work.', $this->plugin->name ), // phpcs:ignore WordPress.WP.I18n
    612                 'placeholder' => __( 'Optional: What problem are you experiencing?', $this->plugin->name ), // phpcs:ignore WordPress.WP.I18n
    613             ),
    614             'better_alternative' => array(
    615                 'label'       => __( 'Found a better plugin.', $this->plugin->name ), // phpcs:ignore WordPress.WP.I18n
    616                 'placeholder' => __( 'Optional: What\'s the plugin\'s name?', $this->plugin->name ), // phpcs:ignore WordPress.WP.I18n
    617             ),
    618             'not_required'       => array(
    619                 'label'       => __( 'Don\'t need this plugin.', $this->plugin->name ), // phpcs:ignore WordPress.WP.I18n
    620                 'placeholder' => __( 'Optional: What\'s one thing we could improve?', $this->plugin->name ), // phpcs:ignore WordPress.WP.I18n
    621             ),
    622             'other'              => array(
    623                 'label'       => __( 'Other.', $this->plugin->name ), // phpcs:ignore WordPress.WP.I18n
    624                 'placeholder' => __( 'Optional: What can we do better?', $this->plugin->name ), // phpcs:ignore WordPress.WP.I18n
    625             ),
    626         );
    627 
    628         /**
    629          * Filter the deactivation reasons.
    630          *
    631          * @since   1.0.0
    632          *
    633          * @param   array   $reasons        Reasons.
    634          * @param   string  $plugin_name    Plugin Name.
    635          * @param   object  $plugin         Plugin.
    636          */
    637         $reasons = apply_filters( 'wpzinc_dashboard_output_deactivation_modal_reasons', $reasons, $this->plugin->name, $this->plugin );
    638 
    639         // Bail if no reasons are given.
    640         if ( empty( $reasons ) || count( $reasons ) === 0 ) {
    641             return;
    642         }
    643 
    644         // Output modal, which will be displayed when the user clicks deactivate on this plugin.
    645         require_once $this->plugin->folder . '/_modules/dashboard/views/deactivation-modal.php';
    646 
    647     }
    648 
    649     /**
    650      * Sends the deactivation reason.
    651      *
    652      * @since   1.0.0
    653      */
    654     public function deactivation_modal_submit() {
    655 
    656         // Build args.
    657         // phpcs:disable WordPress.Security.NonceVerification
    658         $args = array(
    659             'product'      => ( isset( $_REQUEST['product'] ) ? sanitize_text_field( wp_unslash( $_REQUEST['product'] ) ) : '' ),
    660             'version'      => ( isset( $_REQUEST['version'] ) ? sanitize_text_field( wp_unslash( $_REQUEST['version'] ) ) : '' ),
    661             'reason'       => ( isset( $_REQUEST['reason'] ) ? sanitize_text_field( wp_unslash( $_REQUEST['reason'] ) ) : '' ),
    662             'reason_text'  => ( isset( $_REQUEST['reason_text'] ) ? sanitize_text_field( wp_unslash( $_REQUEST['reason_text'] ) ) : '' ),
    663             'reason_email' => ( isset( $_REQUEST['reason_email'] ) ? sanitize_text_field( wp_unslash( $_REQUEST['reason_email'] ) ) : '' ),
    664             'site_url'     => str_replace( wp_parse_url( get_bloginfo( 'url' ), PHP_URL_SCHEME ) . '://', '', get_bloginfo( 'url' ) ),
    665         );
    666         // phpcs:enable
    667 
    668         // Send deactivation reason.
    669         $response = wp_remote_get( $this->endpoint . '/index.php?' . http_build_query( $args ) );
    670 
    671         // Return error or success, depending on the result.
    672         if ( is_wp_error( $response ) ) {
    673             wp_send_json_error( $response->get_error_message(), wp_remote_retrieve_response_code( $response ) );
    674         }
    675 
    676         wp_send_json_success( wp_remote_retrieve_body( $response ) );
    677 
    678     }
    679 
    680     /**
    681589     * Displays a dismissible WordPress Administration notice requesting a review, if requested
    682590     * by the main Plugin and the Review Request hasn't been disabled.
     
    708616            return;
    709617        }
     618
     619        // Enqueue JS.
     620        wp_enqueue_script( 'wpzinc-admin-review-notice' );
     621        wp_localize_script(
     622            'wpzinc-admin-review-notice',
     623            'wpzinc_admin_review_notice',
     624            array(
     625                'plugin_name' => $this->plugin->name,
     626                'action'      => esc_attr( str_replace( '-', '_', $this->plugin->name ) ) . '_dismiss_review',
     627                'nonce'       => wp_create_nonce( 'wpzinc_admin_review_notice_dismiss_review' ),
     628            )
     629        );
    710630
    711631        // If here, display the request for a review.
     
    823743    public function dismiss_review() {
    824744
     745        // Check nonce.
     746        check_ajax_referer( 'wpzinc_admin_review_notice_dismiss_review', 'nonce' );
     747
     748        // Mark review as dismissed.
    825749        update_option( $this->plugin->review_name . '-review-dismissed', 1 );
    826750
    827         // Send success response if called via AJAX.
    828         if ( defined( 'DOING_AJAX' ) && DOING_AJAX ) {
    829             wp_send_json_success( 1 );
    830         }
     751        // Send success response.
     752        wp_send_json_success( 1 );
    831753
    832754    }
     
    879801    public function import_export_screen() {
    880802
    881         if ( ! empty( $_POST ) ) { // phpcs:ignore WordPress.Security.NonceVerification
    882             // Check nonce.
    883             $result = $this->import_export_security_check();
    884 
    885             if ( is_wp_error( $result ) ) {
    886                 $this->error_message = $result->get_error_message();
    887             } elseif ( isset( $_POST['import'] ) ) { // phpcs:ignore WordPress.Security.NonceVerification
     803        // Check nonce.
     804        if ( isset( $_POST[ $this->plugin->name . '_nonce' ] ) && wp_verify_nonce( sanitize_key( $_POST[ $this->plugin->name . '_nonce' ] ), $this->plugin->name ) ) {
     805            // Import if requested.
     806            if ( isset( $_POST['import'] ) ) {
    888807                // Import JSON.
    889808                $this->import();
    890             } else {
    891                 // Import from Third Party.
    892                 $result = true;
    893                 $result = apply_filters( str_replace( '-', '_', $this->plugin->name ) . '_import_third_party', $result, $_POST ); // phpcs:ignore WordPress.NamingConventions.ValidHookName,WordPress.Security.NonceVerification
    894 
    895                 if ( is_wp_error( $result ) ) {
    896                     $this->error_message = $result->get_error_message();
    897                 } else {
    898                     $this->message = __( 'Settings imported.', $this->plugin->name ); // phpcs:ignore WordPress.WP.I18n
    899                 }
    900809            }
    901810        }
    902811
    903         // Allow Plugin to define additional import routines.
     812        /**
     813         * Filter the import sources.
     814         *
     815         * @since   1.0.0
     816         *
     817         * @param   array   $import_sources   Import Sources.
     818         */
    904819        $import_sources = apply_filters( str_replace( '-', '_', $this->plugin->name ) . '_import_sources', array() ); // phpcs:ignore WordPress.NamingConventions.ValidHookName
    905820
     
    910825
    911826    /**
    912      * Check the nonce before importing or exporting.
    913      *
    914      * @since   1.0.0
    915      *
    916      * @return  mixed   WP_Error | bool
    917      */
    918     private function import_export_security_check() {
     827     * Import JSON file upload that confirms to our standards.
     828     *
     829     * @since   1.0.0
     830     */
     831    private function import() {
    919832
    920833        // Check nonce.
    921834        if ( ! isset( $_POST[ $this->plugin->name . '_nonce' ] ) ) {
    922835            // Missing nonce.
    923             return new WP_Error( 'import_export_nonce_missing', __( 'nonce field is missing. Settings NOT saved.', $this->plugin->name ) ); // phpcs:ignore WordPress.WP.I18n
     836            return;
    924837        }
    925838
    926839        if ( ! wp_verify_nonce( sanitize_key( $_POST[ $this->plugin->name . '_nonce' ] ), $this->plugin->name ) ) {
    927840            // Invalid nonce.
    928             return new WP_Error( 'import_export_nonce_invalid', __( 'Invalid nonce specified. Settings NOT saved.', $this->plugin->name ) ); // phpcs:ignore WordPress.WP.I18n
    929         }
    930 
    931         return true;
    932 
    933     }
    934 
    935     /**
    936      * Import JSON file upload that confirms to our standards.
    937      *
    938      * @since   1.0.0
    939      */
    940     private function import() {
    941 
    942         if ( ! is_array( $_FILES ) ) { // phpcs:ignore WordPress.Security.NonceVerification.Missing
     841            return;
     842        }
     843
     844        if ( ! is_array( $_FILES ) ) {
    943845            $this->error_message = __( 'No file was uploaded', $this->plugin->name ); // phpcs:ignore WordPress.WP.I18n
    944846            return;
    945847        }
    946         if ( ! isset( $_FILES['import']['type'] ) || ! isset( $_FILES['import']['tmp_name'] ) || ! isset( $_FILES['import']['size'] ) ) { // phpcs:ignore WordPress.Security.NonceVerification.Missing
     848        if ( ! isset( $_FILES['import']['type'] ) || ! isset( $_FILES['import']['tmp_name'] ) || ! isset( $_FILES['import']['size'] ) ) {
    947849            $this->error_message = __( 'Could not determine file type', $this->plugin->name ); // phpcs:ignore WordPress.WP.I18n
    948850            return;
    949851        }
    950852
    951         if ( isset( $_FILES['import']['error'] ) && $_FILES['import']['error'] !== 0 ) { // phpcs:ignore WordPress.Security.NonceVerification.Missing
     853        if ( isset( $_FILES['import']['error'] ) && $_FILES['import']['error'] !== 0 ) {
    952854            $this->error_message = __( 'Error when uploading file.', $this->plugin->name ); // phpcs:ignore WordPress.WP.I18n
    953855            return;
     
    955857
    956858        // Determine if the file is JSON or ZIP.
    957         switch ( $_FILES['import']['type'] ) { // phpcs:ignore WordPress.Security.NonceVerification.Missing
     859        switch ( $_FILES['import']['type'] ) {
    958860            /**
    959861             * ZIP File
     
    962864                // Open ZIP file.
    963865                $zip = new ZipArchive();
    964                 if ( $zip->open( $_FILES['import']['tmp_name'] ) !== true ) { // phpcs:ignore WordPress.Security.NonceVerification.Missing, WordPress.Security.ValidatedSanitizedInput.InputNotSanitized
     866                if ( $zip->open( sanitize_text_field( wp_unslash( $_FILES['import']['tmp_name'] ) ) ) !== true ) {
    965867                    $this->error_message = __( 'Could not extract the supplied ZIP file.', $this->plugin->name ); // phpcs:ignore WordPress.WP.I18n
    966868                    return;
     
    982884                // Read file.
    983885                // phpcs:disable WordPress.WP.AlternativeFunctions
    984                 $handle = fopen( $_FILES['import']['tmp_name'], 'r' ); // phpcs:ignore WordPress.Security.NonceVerification.Missing, WordPress.Security.ValidatedSanitizedInput.InputNotSanitized
    985                 $json   = fread( $handle, sanitize_text_field( $_FILES['import']['size'] ) ); // phpcs:ignore WordPress.Security.NonceVerification.Missing
     886                $handle = fopen( sanitize_text_field( wp_unslash( $_FILES['import']['tmp_name'] ) ), 'r' );
     887                $json   = fread( $handle, sanitize_text_field( wp_unslash( $_FILES['import']['size'] ) ) );
    986888                fclose( $handle );
    987889                // phpcs:enable
     
    1041943    public function export() {
    1042944
     945        // Check nonce.
     946        if ( ! isset( $_POST[ $this->plugin->name . '_nonce' ] ) ) {
     947            // Missing nonce.
     948            return;
     949        }
     950
     951        if ( ! wp_verify_nonce( sanitize_key( $_POST[ $this->plugin->name . '_nonce' ] ), $this->plugin->name ) ) {
     952            // Invalid nonce.
     953            return;
     954        }
     955
    1043956        // Bail if no POST data.
    1044         if ( empty( $_POST ) ) { // phpcs:ignore WordPress.Security.NonceVerification
     957        if ( empty( $_POST ) ) {
    1045958            return;
    1046959        }
    1047960
    1048961        // Bail if not exporting.
    1049         if ( ! isset( $_POST['export'] ) ) { // phpcs:ignore WordPress.Security.NonceVerification
     962        if ( ! isset( $_POST['export'] ) ) {
    1050963            return;
    1051964        }
    1052965
    1053966        // Bail if no format specified.
    1054         if ( ! isset( $_POST['format'] ) ) { // phpcs:ignore WordPress.Security.NonceVerification
    1055             return;
    1056         }
    1057 
    1058         // Bail if nonce check fails.
    1059         $result = $this->import_export_security_check();
    1060         if ( is_wp_error( $result ) ) {
    1061             $this->error_message = $result->get_error_message();
     967        if ( ! isset( $_POST['format'] ) ) {
    1062968            return;
    1063969        }
     
    1075981         * @param   array   $_POST  POST Data.
    1076982         */
    1077         $data = apply_filters( str_replace( '-', '_', $this->plugin->name ) . '_export', $data, $_POST ); // phpcs:ignore WordPress.NamingConventions.ValidHookName,WordPress.Security.NonceVerification
     983        $data = apply_filters( str_replace( '-', '_', $this->plugin->name ) . '_export', $data, $_POST );
    1078984
    1079985        // Force a file download, depending on the export format.
    1080         switch ( sanitize_text_field( wp_unslash( $_POST['format'] ) ) ) { // phpcs:ignore WordPress.Security.NonceVerification
     986        switch ( sanitize_text_field( wp_unslash( $_POST['format'] ) ) ) {
    1081987            /**
    1082988             * JSON, Zipped.
     
    11321038        $zip->close();
    11331039
     1040        // Initialize WP_Filesystem.
     1041        global $wp_filesystem;
     1042        if ( empty( $wp_filesystem ) ) {
     1043            require_once ABSPATH . '/wp-admin/includes/file.php';
     1044            WP_Filesystem();
     1045        }
     1046
     1047        // Read file contents.
     1048        $zip_contents = $wp_filesystem->get_contents( $filename );
     1049
    11341050        // Output ZIP data, prompting the browser to auto download as a ZIP file now.
    11351051        header( 'Content-type: application/zip' );
     
    11371053        header( 'Pragma: no-cache' );
    11381054        header( 'Expires: 0' );
    1139         readfile( $filename ); // phpcs:ignore WordPress.WP.AlternativeFunctions
    1140         wp_delete_file( $filename );
     1055        echo $zip_contents; // phpcs:ignore WordPress.Security.EscapeOutput
     1056
     1057        // Delete the temporary file.
     1058        $wp_filesystem->delete( $filename );
    11411059        exit();
    11421060
     
    12001118        // Redirect to Support.
    12011119        if ( $page === $this->plugin->name . '-support' ) {
    1202             wp_redirect( $this->plugin->support_url ); // phpcs:ignore WordPress.Security.SafeRedirect
     1120            wp_safe_redirect( $this->plugin->support_url );
    12031121            die();
    12041122        }
     
    12061124        // Redirect to Upgrade.
    12071125        if ( $page === $this->plugin->name . '-upgrade' ) {
    1208             wp_redirect( $this->get_upgrade_url( 'menu' ) ); // phpcs:ignore WordPress.Security.SafeRedirect
     1126            wp_safe_redirect( $this->get_upgrade_url( 'menu' ) );
    12091127            die();
    12101128        }
     
    12121130    }
    12131131
     1132    /**
     1133     * Permit wpzinc.com to be redirected to when using wp_safe_redirect().
     1134     *
     1135     * @since   1.0.0
     1136     *
     1137     * @param   array $hosts   Hosts.
     1138     * @return  array            Hosts.
     1139     */
     1140    public function allowed_redirect_hosts( $hosts ) {
     1141
     1142        $hosts[] = 'www.wpzinc.com';
     1143        return $hosts;
     1144
     1145    }
     1146
    12141147}
  • page-generator/trunk/_modules/dashboard/css/admin.css

    r3247852 r3262557  
    1 body#wpzinc-error-page{background:#f1f1f1}body#wpzinc-error-page div.wpzinc-die-message{background:#fff;border:1px solid #ccd0d4;color:#444;font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;margin:2em auto;padding:1em 2em;max-width:700px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,0.04);box-shadow:0 1px 1px rgba(0,0,0,0.04)}body.wpzinc{background:#f0f0f1}body.wpzinc #screen-meta{margin-left:22px}body.wpzinc #wpcontent{padding-left:0}body.wpzinc #wpcontent #wpbody-content{padding-left:0}body.wpzinc #wpcontent #wpbody-content>header{height:98px;margin:0 0 10px 0;padding:0 20px;background-image:var(--wpzinc-logo);background-size:40px auto;background-position:30px 50%;background-repeat:no-repeat;background-color:var(--wpzinc-header-background-color, #fff)}body.wpzinc #wpcontent #wpbody-content>header h1{float:left;margin:0;padding:0;font-size:24px;font-weight:600;color:var(--wpzinc-header-primary-text-color, #3d3d3d);line-height:98px;text-indent:70px}body.wpzinc #wpcontent #wpbody-content>header h1 span{color:var(--wpzinc-header-secondary-text-color, #6e6e6e)}body.wpzinc #wpcontent #wpbody-content>header a.wpzinc-docs{float:right;line-height:98px;padding:0 20px;font-weight:400;color:#144264;text-decoration:none}body.wpzinc #wpcontent #wpbody-content .wrap{margin:0}body.wpzinc #wpcontent #wpbody-content .wrap>.notice,body.wpzinc #wpcontent #wpbody-content .wrap>.js-notices>.notice{margin:5px 15px 2px 15px}body.wpzinc #wpcontent #wpbody-content .wrap .wp-heading-inline,body.wpzinc #wpcontent #wpbody-content .wrap>h1{display:block;width:100%;height:98px;margin:0 0 10px 0;padding:0 20px;background-image:var(--wpzinc-logo, url("../images/icons/logo.svg"));background-position:30px 50%;background-repeat:no-repeat;background-size:40px auto;background-color:var(--wpzinc-header-background-color, #fff);font-size:24px;font-weight:600;color:var(--wpzinc-header-secondary-text-color, #6e6e6e);line-height:98px;text-indent:70px}body.wpzinc #wpcontent #wpbody-content .wrap .wp-heading-inline::before,body.wpzinc #wpcontent #wpbody-content .wrap>h1::before{content:var(--wpzinc-plugin-display-name, "WP Zinc");color:var(--wpzinc-header-primary-text-color, #3d3d3d)}body.wpzinc #wpcontent #wpbody-content .wrap .wp-heading-inline+.page-title-action,body.wpzinc #wpcontent #wpbody-content .wrap>h1+.page-title-action{margin-left:20px}body.wpzinc #wpcontent #wpbody-content .wrap #split-page-title-action{margin-left:22px}body.wpzinc #wpcontent #wpbody-content .wrap ul.subsubsub{margin-left:22px}body.wpzinc #wpcontent #wpbody-content .wrap form#posts-filter{margin:15px 20px 20px 22px}body.wpzinc #wpcontent #wpbody-content .wrap form#posts-filter div.tablenav.top{padding:6px 0 10px 0}body.wpzinc #wpcontent #wpbody-content .wrap form#posts-filter div.tablenav.bottom{padding:6px 0 0 0}body.wpzinc #wpcontent #wpbody-content .wrap form#post,body.wpzinc #wpcontent #wpbody-content .wrap form#edittag{margin:20px 20px 0 22px}body.wpzinc #wpcontent #wpbody-content .wrap form.search-form{margin-left:22px;margin-right:20px}body.wpzinc #wpcontent #wpbody-content .wrap #col-container{margin-left:22px;margin-right:20px}body.wpzinc #wpcontent #wpbody-content .wrap #col-container form#posts-filter{margin-left:0;margin-right:0}body.wpzinc #wpcontent #wpbody-content .wrap span.subtitle{position:absolute;left:0;right:0;margin:20px 0;font-style:italic;max-width:50%}body.wpzinc #wpcontent #wpbody-content .wrap .wrap-inner{margin:0 20px}body.wpzinc #wpcontent #wpbody-content .wrap .wrap-inner form#posts-filter{margin:0}body.wpzinc #wpcontent #wpbody-content .wrap .postbox{background:#fff;margin:0 0 30px 0;padding:0}body.wpzinc #wpcontent #wpbody-content .wrap form.wpzinc-settings-ui .postbox{margin:0 0 30px 0;padding:30px;font-size:14px;border-radius:8px;border:none}body.wpzinc #wpcontent #wpbody-content .wrap form.wpzinc-settings-ui .postbox h2{margin:0 0 30px 0;padding:0 0 30px 0;font-size:24px;font-weight:600;border-bottom:1px solid #e3e3e3;color:#3d3d3d}body.wpzinc #wpcontent #wpbody-content .wrap p.submit{margin-bottom:20px;padding:0}body.wpzinc .components-base-control.wpzinc-selectize-freeform,body.wpzinc .components-base-control.wpzinc-selectize-drag-drop,body.wpzinc .components-base-control.wpzinc-selectize-search,body.wpzinc .components-base-control.wpzinc-selectize-api,body.wpzinc .components-base-control.wpzinc-selectize{width:100%}.tribute-container,ul.wpzinc-tinymce-autocomplete{position:absolute;z-index:999999;display:block;top:0;left:0;height:auto;min-width:220px;max-width:500px;max-height:300px;overflow-x:hidden;overflow-y:auto;box-sizing:border-box;margin:0;padding:16px;background-color:#fff;border:1px solid #ccc;box-shadow:0 2px 6px rgba(0,0,0,0.05);border-radius:2px}.tribute-container ul,ul.wpzinc-tinymce-autocomplete{margin:0;list-style:none}.tribute-container ul li,ul.wpzinc-tinymce-autocomplete li{width:100%;line-height:24px;margin:0;padding:6px 12px;font-size:13px;text-align:left;border:0;border-radius:2px;color:#1e1e1e;text-decoration:none;cursor:pointer;background:none;transition:box-shadow .1s linear;box-sizing:border-box}.tribute-container ul li:hover,ul.wpzinc-tinymce-autocomplete li:hover{color:#007cba}.tribute-container ul li:focus,.tribute-container ul li.highlight,ul.wpzinc-tinymce-autocomplete li:focus,ul.wpzinc-tinymce-autocomplete li.highlight{color:#007cba;box-shadow:0 0 0 2px #007cba;outline:3px solid transparent}.tribute-container ul li.highlight:hover,ul.wpzinc-tinymce-autocomplete li.highlight:hover{box-shadow:none;outline:0}ul.wpzinc-tinymce-autocomplete{display:none}ul.wpzinc-tinymce-autocomplete.displayed{display:block}ul.wpzinc-tinymce-autocomplete li{display:none}ul.wpzinc-tinymce-autocomplete li.displayed{display:block}.ui-autocomplete{font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif !important;font-size:15px !important;z-index:9999999 !important;max-height:120px !important;overflow-x:hidden !important;overflow-y:auto !important;border:1px solid #dddddd !important;background:#f2f2f2 !important;color:#333333 !important}.wpzinc-media-library-selector ul{margin:0;padding:0}.wpzinc-media-library-selector li.wpzinc-media-library-attachment{position:relative;border:1px dashed #dfdfdf;background-color:#fff;padding:5px 10px}.wpzinc-media-library-selector li.wpzinc-media-library-attachment .wpzinc-media-library-insert img{position:relative;z-index:2;display:block;width:100%;height:auto}.wpzinc-media-library-selector li.wpzinc-media-library-attachment a.wpzinc-media-library-replace{position:absolute;z-index:4;top:-11px;left:-12px;width:19px;height:19px;background:url(../feather/edit-2.svg) center no-repeat #fff;background-size:15px 15px;text-indent:-9999px;border:2px solid #000;border-radius:50%}.wpzinc-media-library-selector li.wpzinc-media-library-attachment a.wpzinc-media-library-remove{position:absolute;z-index:3;top:-12px;right:-12px;width:24px;height:24px;background:url(../feather/x-circle.svg) center no-repeat #fff;background-size:24px 24px;text-indent:-9999px;border:none;border-radius:50%}.wpzinc-media-library-selector ul.ui-sortable li.wpzinc-media-library-attachment{cursor:move}.wpzinc-media-library-selector[data-multiple=true] ul{display:grid;grid-gap:10px;grid-template-columns:1fr 1fr}.wpzinc-media-library-selector[data-file-type=image] li.wpzinc-media-library-attachment{--aspect-ratio: 1/1;border:1px dashed #dfdfdf;background-color:#fff;padding:0}.wpzinc-media-library-selector[data-file-type=image] li.wpzinc-media-library-attachment:before{content:"";display:inline-block;width:1px;height:0;padding-bottom:calc(100% / (var(--aspect-ratio)))}.wpzinc-media-library-selector[data-file-type=image] li.wpzinc-media-library-attachment .wpzinc-media-library-insert{display:inline-block;position:absolute;z-index:1;width:100%;height:100%}h2.wpzinc-horizontal-tabbed-ui.nav-tab-wrapper{margin:0 0 20px 0;padding:0;border-bottom:1px solid #d0d0cf}h2.wpzinc-horizontal-tabbed-ui.nav-tab-wrapper.needs-js{display:none}h2.wpzinc-horizontal-tabbed-ui.nav-tab-wrapper a.nav-tab{position:relative;display:inline-block;margin:0 5px 0 0;padding:0 20px;height:64px;line-height:64px;text-decoration:none;font-size:14px;font-weight:600;color:#565656;border:none;background:none}h2.wpzinc-horizontal-tabbed-ui.nav-tab-wrapper a.nav-tab:hover{color:#144264;background:#e7e7e7}h2.wpzinc-horizontal-tabbed-ui.nav-tab-wrapper a.nav-tab.nav-tab-active{color:#144264;border-bottom:1px solid #4c596d}h2.wpzinc-horizontal-tabbed-ui.nav-tab-wrapper a.nav-tab.enabled{color:green}h2.wpzinc-horizontal-tabbed-ui.nav-tab-wrapper a.nav-tab.error{color:red}h2.wpzinc-horizontal-tabbed-ui.nav-tab-wrapper a.nav-tab.last{float:right;margin:0}h2.wpzinc-horizontal-tabbed-ui.nav-tab-wrapper a.nav-tab:focus{box-shadow:none;-webkit-box-shadow:none}h2.wpzinc-horizontal-tabbed-ui.nav-tab-wrapper a.nav-tab span.text-mobile{display:none}h2.wpzinc-horizontal-tabbed-ui.nav-tab-wrapper a.nav-tab span.dashicons{vertical-align:middle}h2.wpzinc-horizontal-tabbed-ui.nav-tab-wrapper a.nav-tab span.dashicons.dashicons-yes{position:absolute;display:none;top:-8px;right:-8px;background-color:green;color:white;border-radius:50%}h2.wpzinc-horizontal-tabbed-ui.nav-tab-wrapper a.nav-tab span.dashicons.dashicons-yes::before{margin-left:-2px}h2.wpzinc-horizontal-tabbed-ui.nav-tab-wrapper a.nav-tab.enabled span.dashicons.dashicons-yes{display:inline-block}h2.wpzinc-horizontal-tabbed-ui.nav-tab-wrapper a.nav-tab span.dashicons.dashicons-warning{position:absolute;display:inline-block;top:-8px;right:-8px;color:red;border-radius:50%}div.wpzinc-vertical-tabbed-ui{display:grid;grid-template-columns:180px auto;grid-template-areas:"tabs content";border:1px solid #e5e5e5 !important;background:#f7f7f7 !important}div.wpzinc-vertical-tabbed-ui.no-border{border:none !important}div.wpzinc-vertical-tabbed-ui header{border-bottom:1px solid #e5e5e5}div.wpzinc-vertical-tabbed-ui ul.wpzinc-nav-tabs{grid-area:tabs;width:100%;margin:0;padding:0;border-right:1px solid #e5e5e5}div.wpzinc-vertical-tabbed-ui ul.wpzinc-nav-tabs li.wpzinc-nav-tab{width:100%;margin:0;padding:0}div.wpzinc-vertical-tabbed-ui ul.wpzinc-nav-tabs li.wpzinc-nav-tab.download a{background-image:url(../feather/download.svg);background-size:16px 16px}div.wpzinc-vertical-tabbed-ui ul.wpzinc-nav-tabs li.wpzinc-nav-tab.upload a{background-image:url(../feather/upload.svg);background-size:16px 16px}div.wpzinc-vertical-tabbed-ui ul.wpzinc-nav-tabs li.wpzinc-nav-tab a{position:relative;display:block;width:140px;margin:0 20px;padding:20px 0 20px 25px;text-decoration:none;color:#999;border-bottom:1px solid #e5e5e5;box-sizing:border-box;transition:none;background-position:0 50%;background-repeat:no-repeat}div.wpzinc-vertical-tabbed-ui ul.wpzinc-nav-tabs li.wpzinc-nav-tab a span.dashicons{position:absolute;top:16px;right:0;display:inline-block;border-radius:50%}div.wpzinc-vertical-tabbed-ui ul.wpzinc-nav-tabs li.wpzinc-nav-tab a span.dashicons::before{margin-left:-1px}div.wpzinc-vertical-tabbed-ui ul.wpzinc-nav-tabs li.wpzinc-nav-tab a span.dashicons.dashicons-yes{background-color:green;color:white}div.wpzinc-vertical-tabbed-ui ul.wpzinc-nav-tabs li.wpzinc-nav-tab a span.dashicons.dashicons-warning{color:red}div.wpzinc-vertical-tabbed-ui ul.wpzinc-nav-tabs li.wpzinc-nav-tab a span.dashicons.hidden{display:none}div.wpzinc-vertical-tabbed-ui ul.wpzinc-nav-tabs li.wpzinc-nav-tab a span.tag{position:absolute;top:15px;right:0;display:inline-block;font-size:13px;background-color:#999;color:#fff;border-radius:3px;padding:3px}div.wpzinc-vertical-tabbed-ui ul.wpzinc-nav-tabs li.wpzinc-nav-tab a.enabled{color:green}div.wpzinc-vertical-tabbed-ui ul.wpzinc-nav-tabs li.wpzinc-nav-tab a.enabled span.dashicons.hidden{display:inline-block}div.wpzinc-vertical-tabbed-ui ul.wpzinc-nav-tabs li.wpzinc-nav-tab a.error{color:red}div.wpzinc-vertical-tabbed-ui ul.wpzinc-nav-tabs li.wpzinc-nav-tab a.error span.dashicons.hidden{display:inline-block}div.wpzinc-vertical-tabbed-ui ul.wpzinc-nav-tabs li.wpzinc-nav-tab a.wpzinc-nav-tab-vertical-active,div.wpzinc-vertical-tabbed-ui ul.wpzinc-nav-tabs li.wpzinc-nav-tab a:hover{width:181px;margin:-1px 0 0 0;padding:20px 20px 20px 45px;text-decoration:none;color:#444;border-top:1px solid #e5e5e5;border-bottom:1px solid #e5e5e5;border-right:1px solid #f9f7f4;background-color:#fff;background-position:20px 50%;background-repeat:no-repeat}div.wpzinc-vertical-tabbed-ui ul.wpzinc-nav-tabs li.wpzinc-nav-tab a.wpzinc-nav-tab-vertical-active span.dashicons,div.wpzinc-vertical-tabbed-ui ul.wpzinc-nav-tabs li.wpzinc-nav-tab a:hover span.dashicons{right:20px}div.wpzinc-vertical-tabbed-ui ul.wpzinc-nav-tabs li.wpzinc-nav-tab a.wpzinc-nav-tab-vertical-active span.tag,div.wpzinc-vertical-tabbed-ui ul.wpzinc-nav-tabs li.wpzinc-nav-tab a:hover span.tag{right:20px;font-weight:normal}div.wpzinc-vertical-tabbed-ui ul.wpzinc-nav-tabs li.wpzinc-nav-tab a.wpzinc-nav-tab-vertical-active{font-weight:700}div.wpzinc-vertical-tabbed-ui ul.wpzinc-nav-tabs li.wpzinc-nav-tab a:hover{background-color:#f9f7f4}div.wpzinc-vertical-tabbed-ui ul.wpzinc-nav-tabs li.wpzinc-nav-tab a:focus{box-shadow:none}div.wpzinc-vertical-tabbed-ui ul.wpzinc-nav-tabs li.wpzinc-nav-tab:last-child a{border-bottom:none}div.wpzinc-vertical-tabbed-ui div.wpzinc-nav-tabs-content{grid-area:content;margin:0;background:#fff;border-left:1px solid #e5e5e5}div.wpzinc-vertical-tabbed-ui div.wpzinc-nav-tabs-content:after{content:"";display:table;clear:both}div.wpzinc-vertical-tabbed-ui div.wpzinc-nav-tabs-content div.postbox{margin:0;padding:0;border:none;background-color:transparent}div.wpzinc-vertical-tabbed-ui div.wpzinc-nav-tabs-content div.postbox+div.postbox{border-top:1px solid #e5e5e5}div.wpzinc-vertical-tabbed-ui div.wpzinc-nav-tabs-content div.postbox header{padding:19px 15px 18px 15px}div.wpzinc-vertical-tabbed-ui div.wpzinc-nav-tabs-content div.postbox header h3{display:block;margin:0;font-size:1.3em;font-weight:600;color:#23282d}div.wpzinc-vertical-tabbed-ui div.wpzinc-nav-tabs-content div.postbox header h3 label{float:right;font-weight:normal}div.wpzinc-vertical-tabbed-ui div.wpzinc-nav-tabs-content div.postbox header p.description{margin:10px 0 0 0}div.wpzinc-vertical-tabbed-ui ul.wpzinc-nav-tabs-horizontal{display:inline-block;width:100%;margin:0;padding:0;background-color:#f7f7f7}div.wpzinc-vertical-tabbed-ui ul.wpzinc-nav-tabs-horizontal li.wpzinc-nav-tab-horizontal{float:left;margin:0;padding:0}div.wpzinc-vertical-tabbed-ui ul.wpzinc-nav-tabs-horizontal li.wpzinc-nav-tab-horizontal a{position:relative;float:left;height:54px;line-height:54px;margin:0;padding:0 20px;text-decoration:none;color:#999;box-sizing:border-box;transition:none;background-position:0 50%;background-repeat:no-repeat}div.wpzinc-vertical-tabbed-ui ul.wpzinc-nav-tabs-horizontal li.wpzinc-nav-tab-horizontal a.enabled{color:green}div.wpzinc-vertical-tabbed-ui ul.wpzinc-nav-tabs-horizontal li.wpzinc-nav-tab-horizontal a.error{color:red}div.wpzinc-vertical-tabbed-ui ul.wpzinc-nav-tabs-horizontal li.wpzinc-nav-tab-horizontal a span.dashicons{display:inline-block;width:16px;height:16px;font-size:17px;margin:18px 0 0 0;border-radius:50%}div.wpzinc-vertical-tabbed-ui ul.wpzinc-nav-tabs-horizontal li.wpzinc-nav-tab-horizontal a span.dashicons::before{margin-left:-1px}div.wpzinc-vertical-tabbed-ui ul.wpzinc-nav-tabs-horizontal li.wpzinc-nav-tab-horizontal a span.dashicons.dashicons-yes{margin:18px 0 0 10px;background-color:green;color:white}div.wpzinc-vertical-tabbed-ui ul.wpzinc-nav-tabs-horizontal li.wpzinc-nav-tab-horizontal a span.dashicons.dashicons-warning{margin:18px 0 0 10px;color:red}div.wpzinc-vertical-tabbed-ui ul.wpzinc-nav-tabs-horizontal li.wpzinc-nav-tab-horizontal a.wpzinc-nav-tab-horizontal-active,div.wpzinc-vertical-tabbed-ui ul.wpzinc-nav-tabs-horizontal li.wpzinc-nav-tab-horizontal a:hover{text-decoration:none;color:#444;background-color:#fff;background-position:20px 50%;background-repeat:no-repeat}div.wpzinc-vertical-tabbed-ui ul.wpzinc-nav-tabs-horizontal li.wpzinc-nav-tab-horizontal a.wpzinc-nav-tab-horizontal-active span.dashicons,div.wpzinc-vertical-tabbed-ui ul.wpzinc-nav-tabs-horizontal li.wpzinc-nav-tab-horizontal a:hover span.dashicons{right:20px}div.wpzinc-vertical-tabbed-ui ul.wpzinc-nav-tabs-horizontal li.wpzinc-nav-tab-horizontal a.wpzinc-nav-tab-horizontal-active{font-weight:700}div.wpzinc-vertical-tabbed-ui ul.wpzinc-nav-tabs-horizontal li.wpzinc-nav-tab-horizontal a:focus{box-shadow:none}.wpzinc-option{display:grid;grid-template-areas:"left right";grid-template-columns:140px auto;grid-column-gap:5px;grid-row-gap:5px;justify-items:start;text-align:left;padding:10px 15px;border:none;background-color:#f4f4f4;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.wpzinc-option.sidebar{grid-template-columns:120px auto}.wpzinc-option:nth-child(odd){background-color:#fcfcfc}.wpzinc-option.ignore-nth-child:nth-child(odd){background-color:#f5f5f5}.wpzinc-option.no-bottom-border{border-bottom:none}.wpzinc-option.highlight{background-color:#fcf8e3 !important}.wpzinc-option.highlight div.full h4,.wpzinc-option.highlight div.right h4{margin:5px 0 10px 0;font-size:14px;line-height:22px}.wpzinc-option.highlight div.full p,.wpzinc-option.highlight div.right p{margin:0 0 10px 0;font-size:14px;line-height:22px}.wpzinc-option.highlight div.full a.button,.wpzinc-option.highlight div.right a.button{margin:5px 0 0 0}.wpzinc-option.no-styling{background:none;border:none;padding:0 0 10px 0}.wpzinc-option.hidden{display:none}.wpzinc-option div.left{width:100%;grid-area:left;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.wpzinc-option div.left *:not(input){line-height:27px}.wpzinc-option div.left a{text-decoration:none}.wpzinc-option div.right{width:100%;grid-area:right;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;line-height:27px}.wpzinc-option div.right strong{line-height:27px}.wpzinc-option div.right p.description strong{line-height:1}.wpzinc-option div.right div.selectize-dropdown-content strong{line-height:normal}.wpzinc-option div.right .success{color:green}.wpzinc-option div.right .error{color:red}.wpzinc-option div.full{width:100%;grid-column:1 / span 2;line-height:30px}.wpzinc-option p.description{grid-column:1 / span 2}.wpzinc-option label{font-weight:600;white-space:normal}.wpzinc-option label.selectit{font-weight:400}.wpzinc-option select.right,.wpzinc-option input.right{float:right}.wpzinc-option input{margin:0}.wpzinc-option input[type=date],.wpzinc-option input[type=datetime-local],.wpzinc-option input[type=datetime],.wpzinc-option input[type=email],.wpzinc-option input[type=month],.wpzinc-option input[type=number],.wpzinc-option input[type=password],.wpzinc-option input[type=search],.wpzinc-option input[type=tel],.wpzinc-option input[type=text],.wpzinc-option input[type=time],.wpzinc-option input[type=url],.wpzinc-option input[type=week]{margin:0;padding:0 8px;line-height:2;min-height:30px;box-shadow:0 0 0 transparent;border-radius:4px;border:1px solid #8c8f94;background-color:#fff;color:#2c3338}.wpzinc-option select{border:1px solid #7e8993;border-radius:4px;box-shadow:0 0 0 transparent;vertical-align:baseline;font-size:14px;line-height:2;color:#2c3338;border-color:#8c8f94;box-shadow:none;border-radius:3px;margin:0;padding:0 24px 0 8px;min-height:30px;-webkit-appearance:none;background:#fff url(data:image/svg+xml;charset=US-ASCII,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M5%206l5%205%205-5%202%201-7%207-7-7%202-1z%22%20fill%3D%22%23555%22%2F%3E%3C%2Fsvg%3E) no-repeat right 5px top 55%;background-size:16px 16px;cursor:pointer}.wpzinc-option textarea.no-wrap{white-space:pre;overflow-wrap:normal;overflow-x:scroll}.wpzinc-option .content-editable{min-height:70px;box-sizing:border-box;padding:2px 6px;line-height:1.42857143;font-size:14px;box-shadow:0 0 0 transparent;border-radius:4px;border:1px solid #8c8f94;background-color:#fff;color:#2c3338}.wpzinc-option .content-editable:focus{border-color:#2271b1;box-shadow:0 0 0 1px #2271b1;outline:2px solid transparent}.wpzinc-option .content-editable.no-wrap{white-space:pre;overflow-wrap:normal;overflow-x:scroll}.wpzinc-option:nth-child(odd) .wpzinc-horizontal-selection label{background-color:#f5f5f5}.wpzinc-option details summary h3{margin:0}.wpzinc-option .checklist{margin:0;padding:0;list-style:none}.wpzinc-option .checklist li{line-height:1}.wpzinc-option .checklist li label{font-weight:400}.wpzinc-option table.widefat{clear:none}.wpzinc-option table.widefat tbody tr:first-child td a.delete-table-row,.wpzinc-option table.widefat tbody tr.hide-delete-button td a.delete-table-row{display:none}.wpzinc-option table.widefat tbody tr td label,.wpzinc-option table.widefat tbody tr td strong{line-height:30px}.wpzinc-option table.widefat .vertical-align-middle{vertical-align:middle}.wpzinc-horizontal-selection{display:flex;flex-wrap:wrap}.wpzinc-horizontal-selection label{width:300px;text-align:center;margin:0 20px 20px 0;padding:20px;background-color:#fcfcfc;border:1px solid #ccc;border-radius:5px;cursor:pointer}.wpzinc-horizontal-selection label .image{min-height:105px}.wpzinc-horizontal-selection label span{display:block}.wpzinc-horizontal-selection label span.description{margin:20px 0 0 0;color:#646970;font-size:13px}.wpzinc-horizontal-selection label input[type=radio]{margin:20px 0 0 0}.postbox .hndle .right{float:right}.postbox .hndle .right.button{margin-top:-3px}.postbox .hndle input.right,.postbox .hndle select.right{margin-top:-3px}#wpzinc-tinymce-modal #wpzinc-tinymce-modal-body{overflow-y:auto}#wpzinc-tinymce-modal div.mce-foot div.mce-cancel{left:10px !important}form.wpzinc-tinymce-popup{font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif}form.wpzinc-tinymce-popup div.wpzinc-vertical-tabbed-ui{border:none !important}form.wpzinc-tinymce-popup p.description{white-space:normal;margin:2px 0 5px;color:#666;font-size:13px;font-style:italic}form.wpzinc-tinymce-popup .wpzinc-option{display:grid;grid-template-areas:"left right";grid-template-columns:140px auto;grid-column-gap:5px;grid-row-gap:5px;justify-items:start;text-align:left;padding:10px 15px;border:none;background-color:#f4f4f4;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}form.wpzinc-tinymce-popup .wpzinc-option.sidebar{grid-template-columns:120px auto}form.wpzinc-tinymce-popup .wpzinc-option:nth-child(odd){background-color:#fcfcfc}form.wpzinc-tinymce-popup .wpzinc-option.ignore-nth-child:nth-child(odd){background-color:#f5f5f5}form.wpzinc-tinymce-popup .wpzinc-option.no-bottom-border{border-bottom:none}form.wpzinc-tinymce-popup .wpzinc-option.highlight{background-color:#fcf8e3 !important}form.wpzinc-tinymce-popup .wpzinc-option.highlight div.full h4,form.wpzinc-tinymce-popup .wpzinc-option.highlight div.right h4{margin:5px 0 10px 0;font-size:14px;line-height:22px}form.wpzinc-tinymce-popup .wpzinc-option.highlight div.full p,form.wpzinc-tinymce-popup .wpzinc-option.highlight div.right p{margin:0 0 10px 0;font-size:14px;line-height:22px}form.wpzinc-tinymce-popup .wpzinc-option.highlight div.full a.button,form.wpzinc-tinymce-popup .wpzinc-option.highlight div.right a.button{margin:5px 0 0 0}form.wpzinc-tinymce-popup .wpzinc-option.no-styling{background:none;border:none;padding:0 0 10px 0}form.wpzinc-tinymce-popup .wpzinc-option.hidden{display:none}form.wpzinc-tinymce-popup .wpzinc-option div.left{width:100%;grid-area:left;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}form.wpzinc-tinymce-popup .wpzinc-option div.left *:not(input){line-height:27px}form.wpzinc-tinymce-popup .wpzinc-option div.left a{text-decoration:none}form.wpzinc-tinymce-popup .wpzinc-option div.right{width:100%;grid-area:right;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;line-height:27px}form.wpzinc-tinymce-popup .wpzinc-option div.right strong{line-height:27px}form.wpzinc-tinymce-popup .wpzinc-option div.right p.description strong{line-height:1}form.wpzinc-tinymce-popup .wpzinc-option div.right div.selectize-dropdown-content strong{line-height:normal}form.wpzinc-tinymce-popup .wpzinc-option div.right .success{color:green}form.wpzinc-tinymce-popup .wpzinc-option div.right .error{color:red}form.wpzinc-tinymce-popup .wpzinc-option div.full{width:100%;grid-column:1 / span 2;line-height:30px}form.wpzinc-tinymce-popup .wpzinc-option p.description{grid-column:1 / span 2}form.wpzinc-tinymce-popup .wpzinc-option label{font-weight:600;white-space:normal}form.wpzinc-tinymce-popup .wpzinc-option label.selectit{font-weight:400}form.wpzinc-tinymce-popup .wpzinc-option select.right,form.wpzinc-tinymce-popup .wpzinc-option input.right{float:right}form.wpzinc-tinymce-popup .wpzinc-option input{margin:0}form.wpzinc-tinymce-popup .wpzinc-option input[type=date],form.wpzinc-tinymce-popup .wpzinc-option input[type=datetime-local],form.wpzinc-tinymce-popup .wpzinc-option input[type=datetime],form.wpzinc-tinymce-popup .wpzinc-option input[type=email],form.wpzinc-tinymce-popup .wpzinc-option input[type=month],form.wpzinc-tinymce-popup .wpzinc-option input[type=number],form.wpzinc-tinymce-popup .wpzinc-option input[type=password],form.wpzinc-tinymce-popup .wpzinc-option input[type=search],form.wpzinc-tinymce-popup .wpzinc-option input[type=tel],form.wpzinc-tinymce-popup .wpzinc-option input[type=text],form.wpzinc-tinymce-popup .wpzinc-option input[type=time],form.wpzinc-tinymce-popup .wpzinc-option input[type=url],form.wpzinc-tinymce-popup .wpzinc-option input[type=week]{margin:0;padding:0 8px;line-height:2;min-height:30px;box-shadow:0 0 0 transparent;border-radius:4px;border:1px solid #8c8f94;background-color:#fff;color:#2c3338}form.wpzinc-tinymce-popup .wpzinc-option select{border:1px solid #7e8993;border-radius:4px;box-shadow:0 0 0 transparent;vertical-align:baseline;font-size:14px;line-height:2;color:#2c3338;border-color:#8c8f94;box-shadow:none;border-radius:3px;margin:0;padding:0 24px 0 8px;min-height:30px;-webkit-appearance:none;background:#fff url(data:image/svg+xml;charset=US-ASCII,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M5%206l5%205%205-5%202%201-7%207-7-7%202-1z%22%20fill%3D%22%23555%22%2F%3E%3C%2Fsvg%3E) no-repeat right 5px top 55%;background-size:16px 16px;cursor:pointer}form.wpzinc-tinymce-popup .wpzinc-option textarea.no-wrap{white-space:pre;overflow-wrap:normal;overflow-x:scroll}form.wpzinc-tinymce-popup .wpzinc-option .content-editable{min-height:70px;box-sizing:border-box;padding:2px 6px;line-height:1.42857143;font-size:14px;box-shadow:0 0 0 transparent;border-radius:4px;border:1px solid #8c8f94;background-color:#fff;color:#2c3338}form.wpzinc-tinymce-popup .wpzinc-option .content-editable:focus{border-color:#2271b1;box-shadow:0 0 0 1px #2271b1;outline:2px solid transparent}form.wpzinc-tinymce-popup .wpzinc-option .content-editable.no-wrap{white-space:pre;overflow-wrap:normal;overflow-x:scroll}form.wpzinc-tinymce-popup .wpzinc-option:nth-child(odd) .wpzinc-horizontal-selection label{background-color:#f5f5f5}form.wpzinc-tinymce-popup .wpzinc-option details summary h3{margin:0}form.wpzinc-tinymce-popup .wpzinc-option .checklist{margin:0;padding:0;list-style:none}form.wpzinc-tinymce-popup .wpzinc-option .checklist li{line-height:1}form.wpzinc-tinymce-popup .wpzinc-option .checklist li label{font-weight:400}form.wpzinc-tinymce-popup .wpzinc-option table.widefat{clear:none}form.wpzinc-tinymce-popup .wpzinc-option table.widefat tbody tr:first-child td a.delete-table-row,form.wpzinc-tinymce-popup .wpzinc-option table.widefat tbody tr.hide-delete-button td a.delete-table-row{display:none}form.wpzinc-tinymce-popup .wpzinc-option table.widefat tbody tr td label,form.wpzinc-tinymce-popup .wpzinc-option table.widefat tbody tr td strong{line-height:30px}form.wpzinc-tinymce-popup .wpzinc-option table.widefat .vertical-align-middle{vertical-align:middle}form.wpzinc-tinymce-popup .selectize-control.plugin-drag_drop.multi>.selectize-input>div.ui-sortable-placeholder{visibility:visible !important;background:#f2f2f2 !important;background:rgba(0,0,0,0.06) !important;border:0 none !important;-webkit-box-shadow:inset 0 0 12px 4px #ffffff;box-shadow:inset 0 0 12px 4px #ffffff}form.wpzinc-tinymce-popup .selectize-control.plugin-drag_drop .ui-sortable-placeholder::after{content:'!';visibility:hidden}form.wpzinc-tinymce-popup .selectize-control.plugin-drag_drop .ui-sortable-helper{-webkit-box-shadow:0 2px 5px rgba(0,0,0,0.2);box-shadow:0 2px 5px rgba(0,0,0,0.2)}form.wpzinc-tinymce-popup .selectize-dropdown-header{position:relative;padding:5px 8px;border-bottom:1px solid #d0d0d0;background:#f8f8f8;-webkit-border-radius:3px 3px 0 0;-moz-border-radius:3px 3px 0 0;border-radius:3px 3px 0 0}form.wpzinc-tinymce-popup .selectize-dropdown-header-close{position:absolute;right:8px;top:50%;color:#303030;opacity:0.4;margin-top:-12px;line-height:20px;font-size:20px !important}form.wpzinc-tinymce-popup .selectize-dropdown-header-close:hover{color:#000000}form.wpzinc-tinymce-popup .selectize-dropdown.plugin-optgroup_columns .optgroup{border-right:1px solid #f2f2f2;border-top:0 none;float:left;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}form.wpzinc-tinymce-popup .selectize-dropdown.plugin-optgroup_columns .optgroup:last-child{border-right:0 none}form.wpzinc-tinymce-popup .selectize-dropdown.plugin-optgroup_columns .optgroup:before{display:none}form.wpzinc-tinymce-popup .selectize-dropdown.plugin-optgroup_columns .optgroup-header{border-top:0 none}form.wpzinc-tinymce-popup .selectize-control.plugin-remove_button [data-value]{position:relative;padding-right:24px !important}form.wpzinc-tinymce-popup .selectize-control.plugin-remove_button [data-value] .remove{z-index:1;position:absolute;top:0;right:0;bottom:0;width:17px;text-align:center;font-weight:bold;font-size:12px;color:inherit;text-decoration:none;vertical-align:middle;display:inline-block;padding:2px 0 0 0;border-left:1px solid #d0d0d0;-webkit-border-radius:0 2px 2px 0;-moz-border-radius:0 2px 2px 0;border-radius:0 2px 2px 0;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}form.wpzinc-tinymce-popup .selectize-control.plugin-remove_button [data-value] .remove:hover{background:rgba(0,0,0,0.05)}form.wpzinc-tinymce-popup .selectize-control.plugin-remove_button [data-value].active .remove{border-left-color:#cacaca}form.wpzinc-tinymce-popup .selectize-control.plugin-remove_button .disabled [data-value] .remove:hover{background:none}form.wpzinc-tinymce-popup .selectize-control.plugin-remove_button .disabled [data-value] .remove{border-left-color:#ffffff}form.wpzinc-tinymce-popup .selectize-control.plugin-remove_button .remove-single{position:absolute;right:28px;top:6px;font-size:23px}form.wpzinc-tinymce-popup .selectize-control{position:relative}form.wpzinc-tinymce-popup .selectize-dropdown,form.wpzinc-tinymce-popup .selectize-input,form.wpzinc-tinymce-popup .selectize-input input{color:#303030;font-family:inherit;font-size:13px;line-height:18px;-webkit-font-smoothing:inherit}form.wpzinc-tinymce-popup .selectize-input,form.wpzinc-tinymce-popup .selectize-control.single .selectize-input.input-active{background:#ffffff;cursor:text;display:inline-block}form.wpzinc-tinymce-popup .selectize-input{border:1px solid #d0d0d0;padding:6px 6px;display:inline-block;width:100%;min-height:36px;overflow:hidden;position:relative;z-index:1;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.1);box-shadow:inset 0 1px 1px rgba(0,0,0,0.1);-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}form.wpzinc-tinymce-popup .selectize-input.full{background-color:#ffffff}form.wpzinc-tinymce-popup .selectize-input.disabled,form.wpzinc-tinymce-popup .selectize-input.disabled *{cursor:default !important}form.wpzinc-tinymce-popup .selectize-input.focus{-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,0.15);box-shadow:inset 0 1px 2px rgba(0,0,0,0.15)}form.wpzinc-tinymce-popup .selectize-input.dropdown-active{-webkit-border-radius:3px 3px 0 0;-moz-border-radius:3px 3px 0 0;border-radius:3px 3px 0 0}form.wpzinc-tinymce-popup .selectize-input>*{vertical-align:baseline;display:-moz-inline-stack;display:inline-block;zoom:1;*display:inline}form.wpzinc-tinymce-popup .selectize-control.multi .selectize-input>div{cursor:pointer;margin:0 3px 0 0;padding:2px 6px;background:#f2f2f2;color:#303030;border:0 solid #d0d0d0;font-size:11px}form.wpzinc-tinymce-popup .selectize-control.multi .selectize-input>div.active{background:#e8e8e8;color:#303030;border:0 solid #cacaca}form.wpzinc-tinymce-popup .selectize-control.multi .selectize-input.disabled>div,form.wpzinc-tinymce-popup .selectize-control.multi .selectize-input.disabled>div.active{color:#7d7d7d;background:#ffffff;border:0 solid #ffffff}form.wpzinc-tinymce-popup .selectize-input>input{display:inline-block !important;padding:0 !important;min-height:0 !important;max-height:none !important;max-width:100% !important;margin:0 2px 0 0 !important;text-indent:0 !important;border:0 none !important;background:none !important;line-height:inherit !important;-webkit-user-select:auto !important;-webkit-box-shadow:none !important;box-shadow:none !important}form.wpzinc-tinymce-popup .selectize-input>input::-ms-clear{display:none}form.wpzinc-tinymce-popup .selectize-input>input:focus{outline:none !important}form.wpzinc-tinymce-popup .selectize-input::after{content:' ';display:block;clear:left}form.wpzinc-tinymce-popup .selectize-input.dropdown-active::before{content:' ';display:block;position:absolute;background:#f0f0f0;height:1px;bottom:0;left:0;right:0}form.wpzinc-tinymce-popup .selectize-dropdown{position:absolute;z-index:10;border:1px solid #d0d0d0;background:#ffffff;margin:-1px 0 0 0;border-top:0 none;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-box-shadow:0 1px 3px rgba(0,0,0,0.1);box-shadow:0 1px 3px rgba(0,0,0,0.1);-webkit-border-radius:0 0 3px 3px;-moz-border-radius:0 0 3px 3px;border-radius:0 0 3px 3px}form.wpzinc-tinymce-popup .selectize-dropdown [data-selectable]{cursor:pointer;overflow:hidden}form.wpzinc-tinymce-popup .selectize-dropdown [data-selectable] .highlight{background:rgba(125,168,208,0.2);-webkit-border-radius:1px;-moz-border-radius:1px;border-radius:1px}form.wpzinc-tinymce-popup .selectize-dropdown [data-selectable],form.wpzinc-tinymce-popup .selectize-dropdown .optgroup-header{padding:5px 8px}form.wpzinc-tinymce-popup .selectize-dropdown .optgroup:first-child .optgroup-header{border-top:0 none}form.wpzinc-tinymce-popup .selectize-dropdown .optgroup-header{color:#303030;background:#ffffff;cursor:default}form.wpzinc-tinymce-popup .selectize-dropdown .active{background-color:#f5fafd;color:#495c68}form.wpzinc-tinymce-popup .selectize-dropdown .active.create{color:#495c68}form.wpzinc-tinymce-popup .selectize-dropdown .create{color:rgba(48,48,48,0.5)}form.wpzinc-tinymce-popup .selectize-dropdown-content{overflow-y:auto;overflow-x:hidden;max-height:200px;-webkit-overflow-scrolling:touch}form.wpzinc-tinymce-popup .selectize-dropdown-content .option{display:block}form.wpzinc-tinymce-popup .selectize-control.single .selectize-input,form.wpzinc-tinymce-popup .selectize-control.single .selectize-input input{cursor:pointer}form.wpzinc-tinymce-popup .selectize-control.single .selectize-input.input-active,form.wpzinc-tinymce-popup .selectize-control.single .selectize-input.input-active input{cursor:text}form.wpzinc-tinymce-popup .selectize-control.single .selectize-input:after{content:' ';display:block;position:absolute;top:50%;right:15px;margin-top:-3px;width:0;height:0;border-style:solid;border-width:5px 5px 0 5px;border-color:#808080 transparent transparent transparent}form.wpzinc-tinymce-popup .selectize-control.single .selectize-input.dropdown-active:after{margin-top:-4px;border-width:0 5px 5px 5px;border-color:transparent transparent #808080 transparent}form.wpzinc-tinymce-popup .selectize-control.rtl.single .selectize-input:after{left:15px;right:auto}form.wpzinc-tinymce-popup .selectize-control.rtl .selectize-input>input{margin:0 4px 0 -2px !important}form.wpzinc-tinymce-popup .selectize-control .selectize-input.disabled{opacity:0.5;background-color:#fafafa}form.wpzinc-tinymce-popup #front-static-pages label{width:100%}form.wpzinc-tinymce-popup div.wpzinc-option:last-child{border-bottom:none}form.wpzinc-tinymce-popup div.wpzinc-option .widefat{width:100%;max-width:100%;box-sizing:border-box}form.wpzinc-tinymce-popup div.wpzinc-option select{background-color:#fff}form.wpzinc-tinymce-popup div.wpzinc-option textarea{padding:5px;background-color:#fff;border:1px solid #7e8993}form.wpzinc-tinymce-popup div.wpzinc-option .full{clear:both;display:block;padding:5px 0 0 0}form.wpzinc-tinymce-popup div.wpzinc-option .selectize-control{clear:none}form.wpzinc-tinymce-popup div.wpzinc-option.buttons{position:absolute;bottom:0;left:0;right:0;border-top:1px solid #ddd;background-color:#f7f7f7}form.wpzinc-tinymce-popup div.wpzinc-option.buttons.has-wpzinc-vertical-tabbed-ui{border-top:1px solid #ddd;background-color:#f7f7f7}i.mce-i-wpzinc-icon{font:normal 20px/1 'dashicons';padding:0;vertical-align:top;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin-left:-2px;padding-right:2px}div.notice.warning{border-left-color:#ffb900}.wpzinc-upgrade-hr{padding:20px 0 0 0;border-bottom:none}.wpzinc-upgrade{background:#f7f7f7;border:1px solid #e5e5e5;padding:20px}.wpzinc-upgrade h3{margin:0 0 30px 0;padding:0}.wpzinc-upgrade ul{display:grid;grid-template-columns:repeat(3, 1fr);column-gap:20px;row-gap:20px}.wpzinc-upgrade ul li{background:url(../feather/check-circle.svg) top left no-repeat;background-size:20px 20px;padding:0 0 0 30px}.wpzinc-upgrade ul li strong{display:block;font-size:15px;margin:0 0 5px 0}.wpzinc-upgrade a.button{margin:20px 0 0 0}body.wpzinc.gutenberg-editor-page .edit-post-layout__metaboxes:not(:empty),body.wpzinc.block-editor-page .edit-post-layout__metaboxes:not(:empty){margin:0;padding:0}body.wpzinc.gutenberg-editor-page .edit-post-meta-boxes-area,body.wpzinc.block-editor-page .edit-post-meta-boxes-area{margin:0}body.wpzinc.gutenberg-editor-page .edit-post-meta-boxes-area #poststuff .handlediv,body.wpzinc.block-editor-page .edit-post-meta-boxes-area #poststuff .handlediv{position:relative;z-index:2}body.wpzinc.gutenberg-editor-page .edit-post-meta-boxes-area #poststuff h2.hndle,body.wpzinc.block-editor-page .edit-post-meta-boxes-area #poststuff h2.hndle{z-index:1;background-color:#fcfcfc}body.wpzinc.gutenberg-editor-page .edit-post-meta-boxes-area .wpzinc-option,body.wpzinc.block-editor-page .edit-post-meta-boxes-area .wpzinc-option{background-color:transparent;border:none}body.wpzinc.gutenberg-editor-page .edit-post-meta-boxes-area .wpzinc-option:nth-child(odd),body.wpzinc.block-editor-page .edit-post-meta-boxes-area .wpzinc-option:nth-child(odd){background-color:transparent}.wpzinc-modal-overlay{display:none;position:fixed;z-index:99999999;top:0;left:0;opacity:0.5;width:100vw;height:100vh;background-color:#000}.wpzinc-modal{display:none;position:fixed;z-index:100000000;top:50vh;left:50vw;width:50vw;height:180px;margin:-90px 0 0 -25vw;box-sizing:border-box;background-color:#f7f7f7;padding:20px}.wpzinc-modal.wpzinc-modal-mini{top:50vh;left:50vw;width:200px;height:70px;margin:-35px 0 0 -85px}.wpzinc-modal h2{font-size:20px;line-height:25px;font-weight:700;margin:0 0 10px 0;padding:0}.wpzinc-modal h2 div.spinner{display:none;visibility:hidden;margin:0}.wpzinc-modal h2 div.tick{display:none;visibility:hidden;float:right;width:20px;height:20px;margin:4px 10px 0 4px}.wpzinc-modal p.message{margin:0 0 20px 0;padding:0}.wpzinc-modal .notice{display:block !important;margin:0 0 20px 0;padding:10px}.wpzinc-modal .notice.warning{border-left-color:orange}.wpzinc-modal .notice p{margin:0}.wpzinc-modal button.close{display:none}.wpzinc-inline-modal{display:none;position:absolute;white-space:normal;width:400px;z-index:100000000;box-sizing:border-box;background-color:#f7f7f7;box-shadow:0 0 15px -5px rgba(0,0,0,0.5);transition:all .3s ease-out}.wpzinc-inline-modal header{position:relative;height:40px;background-color:#212f4f}.wpzinc-inline-modal header::before{content:"";display:block;position:absolute;top:50%;transform:translateY(-50%);left:-10px;border-top:20px solid transparent;border-right:20px solid #212f4f;border-bottom:20px solid transparent}.wpzinc-inline-modal header h2{font-size:16px;line-height:40px;font-weight:400;margin:0;padding:0 20px;color:#fff}.wpzinc-inline-modal form{padding:20px}.wpzinc-inline-modal form ul{margin:0 0 20px 0;padding:0}.wpzinc-inline-modal form input[type="text"],.wpzinc-inline-modal form input[type="email"]{display:none;margin:0 0 10px 0}.wpzinc-inline-modal form small.wpzinc-deactivation-reason-email{display:none;margin:0 0 20px 0}.wpzinc-backbone-modal .media-modal{position:absolute;left:50%;top:50%;transform:translate(-50%, -50%)}.wpzinc-backbone-modal .media-modal .media-frame-title{left:0;height:30px}.wpzinc-backbone-modal .media-modal .media-frame-content{left:0;top:54px;bottom:54px}.wpzinc-backbone-modal .media-modal .media-frame-toolbar{left:0;bottom:47px;background:#fff}.wpzinc-backbone-modal .media-modal .media-frame-toolbar .media-toolbar{padding:10px}.wpzinc-notification{display:none;position:fixed;z-index:9999999;bottom:20px;right:20px;color:#fff;background-color:#585e65;padding:10px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;box-shadow:0 20px 30px -16px rgba(9,9,16,0.8)}.wpzinc-notification.wpzinc-notification-success{border-left:4px solid #46b450}.wpzinc-notification.wpzinc-notification-warning{border-left:4px solid orange}.wpzinc-notification.wpzinc-notification-error{border-left:4px solid #dc3232}.wp-core-ui .wpzinc-button-red{background:#b30000;border-color:#b30000;color:#fff;text-decoration:none;text-shadow:none}.wp-core-ui .wpzinc-button-red.hover,.wp-core-ui .wpzinc-button-red:hover{background:#990000;border-color:#990000;color:#fff}.wp-core-ui .wpzinc-button-red.focus,.wp-core-ui .wpzinc-button-red:focus{background:#990000;border-color:#990000;color:#fff;box-shadow:0 0 0 1px #fff, 0 0 0 3px #990000}.wpzinc-button-red{background:#b30000;border-color:#b30000;color:#fff;text-decoration:none;text-shadow:none}.wpzinc-button-red.hover,.wpzinc-button-red:hover{background:#990000;border-color:#990000;color:#fff}.wpzinc-button-red.focus,.wpzinc-button-red:focus{background:#990000;border-color:#990000;color:#fff;box-shadow:0 0 0 1px #fff, 0 0 0 3px #990000}.tax-selection .tabs-panel{height:200px !important;overflow:auto;padding:10px 15px;border-left:none;border-top:none;border-right:none;border-bottom:none;background:#fff}.tax-selection .tabs-panel ul.categorychecklist{margin:0;padding:0}#wpzinc-onboarding{max-width:900px;margin:0 auto;padding:40px 0}#wpzinc-onboarding #wpzinc-onboarding-progress{text-align:center;padding:40px 0}#wpzinc-onboarding #wpzinc-onboarding-progress ol{list-style:none;margin:0;padding:0}#wpzinc-onboarding #wpzinc-onboarding-progress ol li{position:relative;display:inline-block;width:135px;text-align:center;line-height:3em}#wpzinc-onboarding #wpzinc-onboarding-progress ol li:after{position:absolute;display:block;z-index:1;top:-2px;left:-65px;height:2px;width:135px;content:"";background-color:#dfdfdf}#wpzinc-onboarding #wpzinc-onboarding-progress ol li:before{position:absolute;z-index:2;top:-6px;left:65px;height:10px;width:10px;border-radius:1.2em;border:none;line-height:1.2em;content:" ";background-color:#dfdfdf}#wpzinc-onboarding #wpzinc-onboarding-progress ol li:first-child:after{display:none}#wpzinc-onboarding #wpzinc-onboarding-progress ol li.done{color:#1c9bd7}#wpzinc-onboarding #wpzinc-onboarding-progress ol li.done:after,#wpzinc-onboarding #wpzinc-onboarding-progress ol li.done:before{background-color:#1c9bd7}#wpzinc-onboarding #wpzinc-onboarding-form{padding:20px 80px 80px 80px;background-color:#fff;box-shadow:0 2px 5px rgba(0,0,0,0.05)}#wpzinc-onboarding #wpzinc-onboarding-form #wpzinc-onboarding-content h1{margin:60px 0 20px 0}#wpzinc-onboarding #wpzinc-onboarding-form #wpzinc-onboarding-content p{font-size:16px}#wpzinc-onboarding #wpzinc-onboarding-form #wpzinc-onboarding-content p.description{font-size:13px}#wpzinc-onboarding #wpzinc-onboarding-form #wpzinc-onboarding-content>div{margin:0 0 20px 0}#wpzinc-onboarding #wpzinc-onboarding-form #wpzinc-onboarding-content>div label{display:block;margin-bottom:10px;font-size:16px;font-weight:500}#wpzinc-onboarding #wpzinc-onboarding-form #wpzinc-onboarding-footer{display:grid;grid-template-columns:repeat(2, 1fr);grid-template-areas:"left right";padding:40px 0 0 0}#wpzinc-onboarding #wpzinc-onboarding-form #wpzinc-onboarding-footer .left{grid-area:left;text-align:left}#wpzinc-onboarding #wpzinc-onboarding-form #wpzinc-onboarding-footer .right{grid-area:right;text-align:right}@media only screen and (max-width: 1200px){.wpzinc-upgrade ul{display:grid;grid-template-columns:repeat(2, 1fr)}}@media only screen and (max-width: 768px){h2.wpzinc-horizontal-tabbed-ui.nav-tab-wrapper a.nav-tab{margin-right:10px}h2.wpzinc-horizontal-tabbed-ui.nav-tab-wrapper a.nav-tab:last-child{margin-right:0}h2.wpzinc-horizontal-tabbed-ui.nav-tab-wrapper a.nav-tab span.text{display:none}h2.wpzinc-horizontal-tabbed-ui.nav-tab-wrapper a.nav-tab span.text-mobile{display:inline-block}h2.wpzinc-horizontal-tabbed-ui.nav-tab-wrapper a.nav-tab .dashicons{font-size:24px}h2.wpzinc-horizontal-tabbed-ui.nav-tab-wrapper a.nav-tab .dashicons.dashicons-yes{font-size:20px}div.wpzinc-vertical-tabbed-ui{grid-template-columns:60px auto}div.wpzinc-vertical-tabbed-ui ul.wpzinc-nav-tabs li.wpzinc-nav-tab a,div.wpzinc-vertical-tabbed-ui ul.wpzinc-nav-tabs li.wpzinc-nav-tab a.wpzinc-nav-tab-vertical-active,div.wpzinc-vertical-tabbed-ui ul.wpzinc-nav-tabs li.wpzinc-nav-tab a:hover{width:60px;height:60px;margin:0;padding:0;text-indent:-9999px;background-position:center}div.wpzinc-vertical-tabbed-ui ul.wpzinc-nav-tabs li.wpzinc-nav-tab a span.dashicons{top:0;right:0;text-indent:0}div.wpzinc-vertical-tabbed-ui ul.wpzinc-nav-tabs li.wpzinc-nav-tab a:hover{border-top:none}div.wpzinc-vertical-tabbed-ui ul.wpzinc-nav-tabs li.wpzinc-nav-tab a:hover span.dashicons{right:0}.wpzinc-option{display:block}.wpzinc-option div.left{width:100%}.wpzinc-option div.right{width:100%}.wpzinc-option select.right,.wpzinc-option input.right{float:none;width:100%;margin:0 0 10px 0 !important}.wpzinc-option select{width:100%}.wpzinc-upgrade ul{grid-template-columns:repeat(1, 1fr)}}
     1body#wpzinc-error-page{background:#f1f1f1}body#wpzinc-error-page div.wpzinc-die-message{background:#fff;border:1px solid #ccd0d4;color:#444;font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;margin:2em auto;padding:1em 2em;max-width:700px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,0.04);box-shadow:0 1px 1px rgba(0,0,0,0.04)}body.wpzinc{background:#f0f0f1}body.wpzinc #screen-meta{margin-left:22px}body.wpzinc #wpcontent{padding-left:0}body.wpzinc #wpcontent #wpbody-content{padding-left:0}body.wpzinc #wpcontent #wpbody-content>header{height:98px;margin:0 0 10px 0;padding:0 20px;background-image:var(--wpzinc-logo);background-size:40px auto;background-position:30px 50%;background-repeat:no-repeat;background-color:var(--wpzinc-header-background-color, #fff)}body.wpzinc #wpcontent #wpbody-content>header h1{float:left;margin:0;padding:0;font-size:24px;font-weight:600;color:var(--wpzinc-header-primary-text-color, #3d3d3d);line-height:98px;text-indent:70px}body.wpzinc #wpcontent #wpbody-content>header h1 span{color:var(--wpzinc-header-secondary-text-color, #6e6e6e)}body.wpzinc #wpcontent #wpbody-content>header a.wpzinc-docs{float:right;line-height:98px;padding:0 20px;font-weight:400;color:#144264;text-decoration:none}body.wpzinc #wpcontent #wpbody-content .wrap{margin:0}body.wpzinc #wpcontent #wpbody-content .wrap>.notice,body.wpzinc #wpcontent #wpbody-content .wrap>.js-notices>.notice{margin:5px 15px 2px 15px}body.wpzinc #wpcontent #wpbody-content .wrap .wp-heading-inline,body.wpzinc #wpcontent #wpbody-content .wrap>h1{display:block;width:100%;height:98px;margin:0 0 10px 0;padding:0 20px;background-image:var(--wpzinc-logo, url("../images/icons/logo.svg"));background-position:30px 50%;background-repeat:no-repeat;background-size:40px auto;background-color:var(--wpzinc-header-background-color, #fff);font-size:24px;font-weight:600;color:var(--wpzinc-header-secondary-text-color, #6e6e6e);line-height:98px;text-indent:70px;box-sizing:border-box}body.wpzinc #wpcontent #wpbody-content .wrap .wp-heading-inline::before,body.wpzinc #wpcontent #wpbody-content .wrap>h1::before{content:var(--wpzinc-plugin-display-name, "WP Zinc");color:var(--wpzinc-header-primary-text-color, #3d3d3d)}body.wpzinc #wpcontent #wpbody-content .wrap .wp-heading-inline+.page-title-action,body.wpzinc #wpcontent #wpbody-content .wrap>h1+.page-title-action{margin-left:20px}body.wpzinc #wpcontent #wpbody-content .wrap #split-page-title-action{margin-left:22px}body.wpzinc #wpcontent #wpbody-content .wrap ul.subsubsub{margin-left:22px}body.wpzinc #wpcontent #wpbody-content .wrap form#posts-filter{margin:15px 20px 20px 22px}body.wpzinc #wpcontent #wpbody-content .wrap form#posts-filter div.tablenav.top{padding:6px 0 10px 0}body.wpzinc #wpcontent #wpbody-content .wrap form#posts-filter div.tablenav.bottom{padding:6px 0 0 0}body.wpzinc #wpcontent #wpbody-content .wrap form#post,body.wpzinc #wpcontent #wpbody-content .wrap form#edittag{margin:20px 20px 0 22px}body.wpzinc #wpcontent #wpbody-content .wrap form.search-form{margin-left:22px;margin-right:20px}body.wpzinc #wpcontent #wpbody-content .wrap #col-container{margin-left:22px;margin-right:20px}body.wpzinc #wpcontent #wpbody-content .wrap #col-container form#posts-filter{margin-left:0;margin-right:0}body.wpzinc #wpcontent #wpbody-content .wrap span.subtitle{position:absolute;left:0;right:0;margin:20px 0;font-style:italic;max-width:50%}body.wpzinc #wpcontent #wpbody-content .wrap .wrap-inner{margin:0 20px}body.wpzinc #wpcontent #wpbody-content .wrap .wrap-inner form#posts-filter{margin:0}body.wpzinc #wpcontent #wpbody-content .wrap .postbox{background:#fff;margin:0 0 30px 0;padding:0}body.wpzinc #wpcontent #wpbody-content .wrap form.wpzinc-settings-ui .postbox{margin:0 0 30px 0;padding:30px;font-size:14px;border-radius:8px;border:none}body.wpzinc #wpcontent #wpbody-content .wrap form.wpzinc-settings-ui .postbox h2{margin:0 0 30px 0;padding:0 0 30px 0;font-size:24px;font-weight:600;border-bottom:1px solid #e3e3e3;color:#3d3d3d}body.wpzinc #wpcontent #wpbody-content .wrap p.submit{margin-bottom:20px;padding:0}body.wpzinc .components-base-control.wpzinc-selectize-freeform,body.wpzinc .components-base-control.wpzinc-selectize-drag-drop,body.wpzinc .components-base-control.wpzinc-selectize-search,body.wpzinc .components-base-control.wpzinc-selectize-api,body.wpzinc .components-base-control.wpzinc-selectize{width:100%}.tribute-container,ul.wpzinc-tinymce-autocomplete{position:absolute;z-index:999999;display:block;top:0;left:0;height:auto;min-width:220px;max-width:500px;max-height:300px;overflow-x:hidden;overflow-y:auto;box-sizing:border-box;margin:0;padding:16px;background-color:#fff;border:1px solid #ccc;box-shadow:0 2px 6px rgba(0,0,0,0.05);border-radius:2px}.tribute-container ul,ul.wpzinc-tinymce-autocomplete{margin:0;list-style:none}.tribute-container ul li,ul.wpzinc-tinymce-autocomplete li{width:100%;line-height:24px;margin:0;padding:6px 12px;font-size:13px;text-align:left;border:0;border-radius:2px;color:#1e1e1e;text-decoration:none;cursor:pointer;background:none;transition:box-shadow .1s linear;box-sizing:border-box}.tribute-container ul li:hover,ul.wpzinc-tinymce-autocomplete li:hover{color:#007cba}.tribute-container ul li:focus,.tribute-container ul li.highlight,ul.wpzinc-tinymce-autocomplete li:focus,ul.wpzinc-tinymce-autocomplete li.highlight{color:#007cba;box-shadow:0 0 0 2px #007cba;outline:3px solid transparent}.tribute-container ul li.highlight:hover,ul.wpzinc-tinymce-autocomplete li.highlight:hover{box-shadow:none;outline:0}ul.wpzinc-tinymce-autocomplete{display:none}ul.wpzinc-tinymce-autocomplete.displayed{display:block}ul.wpzinc-tinymce-autocomplete li{display:none}ul.wpzinc-tinymce-autocomplete li.displayed{display:block}.ui-autocomplete{font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif !important;font-size:15px !important;z-index:9999999 !important;max-height:120px !important;overflow-x:hidden !important;overflow-y:auto !important;border:1px solid #dddddd !important;background:#f2f2f2 !important;color:#333333 !important}.wpzinc-media-library-selector ul{margin:0;padding:0}.wpzinc-media-library-selector li.wpzinc-media-library-attachment{position:relative;border:1px dashed #dfdfdf;background-color:#fff;padding:5px 10px}.wpzinc-media-library-selector li.wpzinc-media-library-attachment .wpzinc-media-library-insert img{position:relative;z-index:2;display:block;width:100%;height:auto}.wpzinc-media-library-selector li.wpzinc-media-library-attachment a.wpzinc-media-library-replace{position:absolute;z-index:4;top:-11px;left:-12px;width:19px;height:19px;background:url(../feather/edit-2.svg) center no-repeat #fff;background-size:15px 15px;text-indent:-9999px;border:2px solid #000;border-radius:50%}.wpzinc-media-library-selector li.wpzinc-media-library-attachment a.wpzinc-media-library-remove{position:absolute;z-index:3;top:-12px;right:-12px;width:24px;height:24px;background:url(../feather/x-circle.svg) center no-repeat #fff;background-size:24px 24px;text-indent:-9999px;border:none;border-radius:50%}.wpzinc-media-library-selector ul.ui-sortable li.wpzinc-media-library-attachment{cursor:move}.wpzinc-media-library-selector[data-multiple=true] ul{display:grid;grid-gap:10px;grid-template-columns:1fr 1fr}.wpzinc-media-library-selector[data-file-type=image] li.wpzinc-media-library-attachment{--aspect-ratio: 1/1;border:1px dashed #dfdfdf;background-color:#fff;padding:0}.wpzinc-media-library-selector[data-file-type=image] li.wpzinc-media-library-attachment:before{content:"";display:inline-block;width:1px;height:0;padding-bottom:calc(100% / (var(--aspect-ratio)))}.wpzinc-media-library-selector[data-file-type=image] li.wpzinc-media-library-attachment .wpzinc-media-library-insert{display:inline-block;position:absolute;z-index:1;width:100%;height:100%}h2.wpzinc-horizontal-tabbed-ui.nav-tab-wrapper{margin:0 0 20px 0;padding:0;border-bottom:1px solid #d0d0cf}h2.wpzinc-horizontal-tabbed-ui.nav-tab-wrapper.needs-js{display:none}h2.wpzinc-horizontal-tabbed-ui.nav-tab-wrapper a.nav-tab{position:relative;display:inline-block;margin:0 5px 0 0;padding:0 20px;height:64px;line-height:64px;text-decoration:none;font-size:14px;font-weight:600;color:#565656;border:none;background:none}h2.wpzinc-horizontal-tabbed-ui.nav-tab-wrapper a.nav-tab:hover{color:#144264;background:#e7e7e7}h2.wpzinc-horizontal-tabbed-ui.nav-tab-wrapper a.nav-tab.nav-tab-active{color:#144264;border-bottom:1px solid #4c596d}h2.wpzinc-horizontal-tabbed-ui.nav-tab-wrapper a.nav-tab.enabled{color:green}h2.wpzinc-horizontal-tabbed-ui.nav-tab-wrapper a.nav-tab.error{color:red}h2.wpzinc-horizontal-tabbed-ui.nav-tab-wrapper a.nav-tab.last{float:right;margin:0}h2.wpzinc-horizontal-tabbed-ui.nav-tab-wrapper a.nav-tab:focus{box-shadow:none;-webkit-box-shadow:none}h2.wpzinc-horizontal-tabbed-ui.nav-tab-wrapper a.nav-tab span.text-mobile{display:none}h2.wpzinc-horizontal-tabbed-ui.nav-tab-wrapper a.nav-tab span.dashicons{vertical-align:middle}h2.wpzinc-horizontal-tabbed-ui.nav-tab-wrapper a.nav-tab span.dashicons.dashicons-yes{position:absolute;display:none;top:-8px;right:-8px;background-color:green;color:white;border-radius:50%}h2.wpzinc-horizontal-tabbed-ui.nav-tab-wrapper a.nav-tab span.dashicons.dashicons-yes::before{margin-left:-2px}h2.wpzinc-horizontal-tabbed-ui.nav-tab-wrapper a.nav-tab.enabled span.dashicons.dashicons-yes{display:inline-block}h2.wpzinc-horizontal-tabbed-ui.nav-tab-wrapper a.nav-tab span.dashicons.dashicons-warning{position:absolute;display:inline-block;top:-8px;right:-8px;color:red;border-radius:50%}div.wpzinc-vertical-tabbed-ui{display:grid;grid-template-columns:180px auto;grid-template-areas:"tabs content";border:1px solid #e5e5e5 !important;background:#f7f7f7 !important}div.wpzinc-vertical-tabbed-ui.no-border{border:none !important}div.wpzinc-vertical-tabbed-ui header{border-bottom:1px solid #e5e5e5}div.wpzinc-vertical-tabbed-ui ul.wpzinc-nav-tabs{grid-area:tabs;width:100%;margin:0;padding:0;border-right:1px solid #e5e5e5}div.wpzinc-vertical-tabbed-ui ul.wpzinc-nav-tabs li.wpzinc-nav-tab{width:100%;margin:0;padding:0}div.wpzinc-vertical-tabbed-ui ul.wpzinc-nav-tabs li.wpzinc-nav-tab.download a{background-image:url(../feather/download.svg);background-size:16px 16px}div.wpzinc-vertical-tabbed-ui ul.wpzinc-nav-tabs li.wpzinc-nav-tab.upload a{background-image:url(../feather/upload.svg);background-size:16px 16px}div.wpzinc-vertical-tabbed-ui ul.wpzinc-nav-tabs li.wpzinc-nav-tab a{position:relative;display:block;width:140px;margin:0 20px;padding:20px 0 20px 25px;text-decoration:none;color:#999;border-bottom:1px solid #e5e5e5;box-sizing:border-box;transition:none;background-position:0 50%;background-repeat:no-repeat}div.wpzinc-vertical-tabbed-ui ul.wpzinc-nav-tabs li.wpzinc-nav-tab a span.dashicons{position:absolute;top:16px;right:0;display:inline-block;border-radius:50%}div.wpzinc-vertical-tabbed-ui ul.wpzinc-nav-tabs li.wpzinc-nav-tab a span.dashicons::before{margin-left:-1px}div.wpzinc-vertical-tabbed-ui ul.wpzinc-nav-tabs li.wpzinc-nav-tab a span.dashicons.dashicons-yes{background-color:green;color:white}div.wpzinc-vertical-tabbed-ui ul.wpzinc-nav-tabs li.wpzinc-nav-tab a span.dashicons.dashicons-warning{color:red}div.wpzinc-vertical-tabbed-ui ul.wpzinc-nav-tabs li.wpzinc-nav-tab a span.dashicons.hidden{display:none}div.wpzinc-vertical-tabbed-ui ul.wpzinc-nav-tabs li.wpzinc-nav-tab a span.tag{position:absolute;top:15px;right:0;display:inline-block;font-size:13px;background-color:#999;color:#fff;border-radius:3px;padding:3px}div.wpzinc-vertical-tabbed-ui ul.wpzinc-nav-tabs li.wpzinc-nav-tab a.enabled{color:green}div.wpzinc-vertical-tabbed-ui ul.wpzinc-nav-tabs li.wpzinc-nav-tab a.enabled span.dashicons.hidden{display:inline-block}div.wpzinc-vertical-tabbed-ui ul.wpzinc-nav-tabs li.wpzinc-nav-tab a.error{color:red}div.wpzinc-vertical-tabbed-ui ul.wpzinc-nav-tabs li.wpzinc-nav-tab a.error span.dashicons.hidden{display:inline-block}div.wpzinc-vertical-tabbed-ui ul.wpzinc-nav-tabs li.wpzinc-nav-tab a.wpzinc-nav-tab-vertical-active,div.wpzinc-vertical-tabbed-ui ul.wpzinc-nav-tabs li.wpzinc-nav-tab a:hover{width:181px;margin:-1px 0 0 0;padding:20px 20px 20px 45px;text-decoration:none;color:#444;border-top:1px solid #e5e5e5;border-bottom:1px solid #e5e5e5;border-right:1px solid #f9f7f4;background-color:#fff;background-position:20px 50%;background-repeat:no-repeat}div.wpzinc-vertical-tabbed-ui ul.wpzinc-nav-tabs li.wpzinc-nav-tab a.wpzinc-nav-tab-vertical-active span.dashicons,div.wpzinc-vertical-tabbed-ui ul.wpzinc-nav-tabs li.wpzinc-nav-tab a:hover span.dashicons{right:20px}div.wpzinc-vertical-tabbed-ui ul.wpzinc-nav-tabs li.wpzinc-nav-tab a.wpzinc-nav-tab-vertical-active span.tag,div.wpzinc-vertical-tabbed-ui ul.wpzinc-nav-tabs li.wpzinc-nav-tab a:hover span.tag{right:20px;font-weight:normal}div.wpzinc-vertical-tabbed-ui ul.wpzinc-nav-tabs li.wpzinc-nav-tab a.wpzinc-nav-tab-vertical-active{font-weight:700}div.wpzinc-vertical-tabbed-ui ul.wpzinc-nav-tabs li.wpzinc-nav-tab a:hover{background-color:#f9f7f4}div.wpzinc-vertical-tabbed-ui ul.wpzinc-nav-tabs li.wpzinc-nav-tab a:focus{box-shadow:none}div.wpzinc-vertical-tabbed-ui ul.wpzinc-nav-tabs li.wpzinc-nav-tab:last-child a{border-bottom:none}div.wpzinc-vertical-tabbed-ui div.wpzinc-nav-tabs-content{grid-area:content;margin:0;background:#fff;border-left:1px solid #e5e5e5}div.wpzinc-vertical-tabbed-ui div.wpzinc-nav-tabs-content:after{content:"";display:table;clear:both}div.wpzinc-vertical-tabbed-ui div.wpzinc-nav-tabs-content div.postbox{margin:0;padding:0;border:none;background-color:transparent}div.wpzinc-vertical-tabbed-ui div.wpzinc-nav-tabs-content div.postbox+div.postbox{border-top:1px solid #e5e5e5}div.wpzinc-vertical-tabbed-ui div.wpzinc-nav-tabs-content div.postbox header{padding:19px 15px 18px 15px}div.wpzinc-vertical-tabbed-ui div.wpzinc-nav-tabs-content div.postbox header h3{display:block;margin:0;font-size:1.3em;font-weight:600;color:#23282d}div.wpzinc-vertical-tabbed-ui div.wpzinc-nav-tabs-content div.postbox header h3 label{float:right;font-weight:normal}div.wpzinc-vertical-tabbed-ui div.wpzinc-nav-tabs-content div.postbox header p.description{margin:10px 0 0 0}div.wpzinc-vertical-tabbed-ui ul.wpzinc-nav-tabs-horizontal{display:inline-block;width:100%;margin:0;padding:0;background-color:#f7f7f7}div.wpzinc-vertical-tabbed-ui ul.wpzinc-nav-tabs-horizontal li.wpzinc-nav-tab-horizontal{float:left;margin:0;padding:0}div.wpzinc-vertical-tabbed-ui ul.wpzinc-nav-tabs-horizontal li.wpzinc-nav-tab-horizontal a{position:relative;float:left;height:54px;line-height:54px;margin:0;padding:0 20px;text-decoration:none;color:#999;box-sizing:border-box;transition:none;background-position:0 50%;background-repeat:no-repeat}div.wpzinc-vertical-tabbed-ui ul.wpzinc-nav-tabs-horizontal li.wpzinc-nav-tab-horizontal a.enabled{color:green}div.wpzinc-vertical-tabbed-ui ul.wpzinc-nav-tabs-horizontal li.wpzinc-nav-tab-horizontal a.error{color:red}div.wpzinc-vertical-tabbed-ui ul.wpzinc-nav-tabs-horizontal li.wpzinc-nav-tab-horizontal a span.dashicons{display:inline-block;width:16px;height:16px;font-size:17px;margin:18px 0 0 0;border-radius:50%}div.wpzinc-vertical-tabbed-ui ul.wpzinc-nav-tabs-horizontal li.wpzinc-nav-tab-horizontal a span.dashicons::before{margin-left:-1px}div.wpzinc-vertical-tabbed-ui ul.wpzinc-nav-tabs-horizontal li.wpzinc-nav-tab-horizontal a span.dashicons.dashicons-yes{margin:18px 0 0 10px;background-color:green;color:white}div.wpzinc-vertical-tabbed-ui ul.wpzinc-nav-tabs-horizontal li.wpzinc-nav-tab-horizontal a span.dashicons.dashicons-warning{margin:18px 0 0 10px;color:red}div.wpzinc-vertical-tabbed-ui ul.wpzinc-nav-tabs-horizontal li.wpzinc-nav-tab-horizontal a.wpzinc-nav-tab-horizontal-active,div.wpzinc-vertical-tabbed-ui ul.wpzinc-nav-tabs-horizontal li.wpzinc-nav-tab-horizontal a:hover{text-decoration:none;color:#444;background-color:#fff;background-position:20px 50%;background-repeat:no-repeat}div.wpzinc-vertical-tabbed-ui ul.wpzinc-nav-tabs-horizontal li.wpzinc-nav-tab-horizontal a.wpzinc-nav-tab-horizontal-active span.dashicons,div.wpzinc-vertical-tabbed-ui ul.wpzinc-nav-tabs-horizontal li.wpzinc-nav-tab-horizontal a:hover span.dashicons{right:20px}div.wpzinc-vertical-tabbed-ui ul.wpzinc-nav-tabs-horizontal li.wpzinc-nav-tab-horizontal a.wpzinc-nav-tab-horizontal-active{font-weight:700}div.wpzinc-vertical-tabbed-ui ul.wpzinc-nav-tabs-horizontal li.wpzinc-nav-tab-horizontal a:focus{box-shadow:none}.wpzinc-option{display:grid;grid-template-areas:"left right";grid-template-columns:140px auto;grid-column-gap:5px;grid-row-gap:5px;justify-items:start;text-align:left;padding:10px 15px;border:none;background-color:#f4f4f4;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.wpzinc-option.sidebar{grid-template-columns:120px auto}.wpzinc-option:nth-child(odd){background-color:#fcfcfc}.wpzinc-option.ignore-nth-child:nth-child(odd){background-color:#f5f5f5}.wpzinc-option.no-bottom-border{border-bottom:none}.wpzinc-option.highlight{background-color:#fcf8e3 !important}.wpzinc-option.highlight div.full h4,.wpzinc-option.highlight div.right h4{margin:5px 0 10px 0;font-size:14px;line-height:22px}.wpzinc-option.highlight div.full p,.wpzinc-option.highlight div.right p{margin:0 0 10px 0;font-size:14px;line-height:22px}.wpzinc-option.highlight div.full a.button,.wpzinc-option.highlight div.right a.button{margin:5px 0 0 0}.wpzinc-option.no-styling{background:none;border:none;padding:0 0 10px 0}.wpzinc-option.hidden{display:none}.wpzinc-option div.left{width:100%;grid-area:left;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.wpzinc-option div.left *:not(input){line-height:27px}.wpzinc-option div.left a{text-decoration:none}.wpzinc-option div.right{width:100%;grid-area:right;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;line-height:27px}.wpzinc-option div.right strong{line-height:27px}.wpzinc-option div.right p.description strong{line-height:1}.wpzinc-option div.right div.selectize-dropdown-content strong{line-height:normal}.wpzinc-option div.right .success{color:green}.wpzinc-option div.right .error{color:red}.wpzinc-option div.full{width:100%;grid-column:1 / span 2;line-height:30px}.wpzinc-option p.description{grid-column:1 / span 2}.wpzinc-option label{font-weight:600;white-space:normal}.wpzinc-option label.selectit{font-weight:400}.wpzinc-option select.right,.wpzinc-option input.right{float:right}.wpzinc-option input{margin:0}.wpzinc-option input[type=date],.wpzinc-option input[type=datetime-local],.wpzinc-option input[type=datetime],.wpzinc-option input[type=email],.wpzinc-option input[type=month],.wpzinc-option input[type=number],.wpzinc-option input[type=password],.wpzinc-option input[type=search],.wpzinc-option input[type=tel],.wpzinc-option input[type=text],.wpzinc-option input[type=time],.wpzinc-option input[type=url],.wpzinc-option input[type=week]{margin:0;padding:0 8px;line-height:2;min-height:30px;box-shadow:0 0 0 transparent;border-radius:4px;border:1px solid #8c8f94;background-color:#fff;color:#2c3338}.wpzinc-option select{border:1px solid #7e8993;border-radius:4px;box-shadow:0 0 0 transparent;vertical-align:baseline;font-size:14px;line-height:2;color:#2c3338;border-color:#8c8f94;box-shadow:none;border-radius:3px;margin:0;padding:0 24px 0 8px;min-height:30px;-webkit-appearance:none;background:#fff url(data:image/svg+xml;charset=US-ASCII,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M5%206l5%205%205-5%202%201-7%207-7-7%202-1z%22%20fill%3D%22%23555%22%2F%3E%3C%2Fsvg%3E) no-repeat right 5px top 55%;background-size:16px 16px;cursor:pointer}.wpzinc-option textarea.no-wrap{white-space:pre;overflow-wrap:normal;overflow-x:scroll}.wpzinc-option .content-editable{min-height:70px;box-sizing:border-box;padding:2px 6px;line-height:1.42857143;font-size:14px;box-shadow:0 0 0 transparent;border-radius:4px;border:1px solid #8c8f94;background-color:#fff;color:#2c3338}.wpzinc-option .content-editable:focus{border-color:#2271b1;box-shadow:0 0 0 1px #2271b1;outline:2px solid transparent}.wpzinc-option .content-editable.no-wrap{white-space:pre;overflow-wrap:normal;overflow-x:scroll}.wpzinc-option:nth-child(odd) .wpzinc-horizontal-selection label{background-color:#f5f5f5}.wpzinc-option details summary h3{margin:0}.wpzinc-option .checklist{margin:0;padding:0;list-style:none}.wpzinc-option .checklist li{line-height:1}.wpzinc-option .checklist li label{font-weight:400}.wpzinc-option table.widefat{clear:none}.wpzinc-option table.widefat tbody tr:first-child td a.delete-table-row,.wpzinc-option table.widefat tbody tr.hide-delete-button td a.delete-table-row{display:none}.wpzinc-option table.widefat tbody tr td label,.wpzinc-option table.widefat tbody tr td strong{line-height:30px}.wpzinc-option table.widefat .vertical-align-middle{vertical-align:middle}.wpzinc-horizontal-selection{display:flex;flex-wrap:wrap}.wpzinc-horizontal-selection label{width:300px;text-align:center;margin:0 20px 20px 0;padding:20px;background-color:#fcfcfc;border:1px solid #ccc;border-radius:5px;cursor:pointer}.wpzinc-horizontal-selection label .image{min-height:105px}.wpzinc-horizontal-selection label span{display:block}.wpzinc-horizontal-selection label span.description{margin:20px 0 0 0;color:#646970;font-size:13px}.wpzinc-horizontal-selection label input[type=radio]{margin:20px 0 0 0}.postbox .hndle .right{float:right}.postbox .hndle .right.button{margin-top:-3px}.postbox .hndle input.right,.postbox .hndle select.right{margin-top:-3px}#wpzinc-tinymce-modal #wpzinc-tinymce-modal-body{overflow-y:auto}#wpzinc-tinymce-modal div.mce-foot div.mce-cancel{left:10px !important}form.wpzinc-tinymce-popup{font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif}form.wpzinc-tinymce-popup div.wpzinc-vertical-tabbed-ui{border:none !important}form.wpzinc-tinymce-popup p.description{white-space:normal;margin:2px 0 5px;color:#666;font-size:13px;font-style:italic}form.wpzinc-tinymce-popup .wpzinc-option{display:grid;grid-template-areas:"left right";grid-template-columns:140px auto;grid-column-gap:5px;grid-row-gap:5px;justify-items:start;text-align:left;padding:10px 15px;border:none;background-color:#f4f4f4;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}form.wpzinc-tinymce-popup .wpzinc-option.sidebar{grid-template-columns:120px auto}form.wpzinc-tinymce-popup .wpzinc-option:nth-child(odd){background-color:#fcfcfc}form.wpzinc-tinymce-popup .wpzinc-option.ignore-nth-child:nth-child(odd){background-color:#f5f5f5}form.wpzinc-tinymce-popup .wpzinc-option.no-bottom-border{border-bottom:none}form.wpzinc-tinymce-popup .wpzinc-option.highlight{background-color:#fcf8e3 !important}form.wpzinc-tinymce-popup .wpzinc-option.highlight div.full h4,form.wpzinc-tinymce-popup .wpzinc-option.highlight div.right h4{margin:5px 0 10px 0;font-size:14px;line-height:22px}form.wpzinc-tinymce-popup .wpzinc-option.highlight div.full p,form.wpzinc-tinymce-popup .wpzinc-option.highlight div.right p{margin:0 0 10px 0;font-size:14px;line-height:22px}form.wpzinc-tinymce-popup .wpzinc-option.highlight div.full a.button,form.wpzinc-tinymce-popup .wpzinc-option.highlight div.right a.button{margin:5px 0 0 0}form.wpzinc-tinymce-popup .wpzinc-option.no-styling{background:none;border:none;padding:0 0 10px 0}form.wpzinc-tinymce-popup .wpzinc-option.hidden{display:none}form.wpzinc-tinymce-popup .wpzinc-option div.left{width:100%;grid-area:left;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}form.wpzinc-tinymce-popup .wpzinc-option div.left *:not(input){line-height:27px}form.wpzinc-tinymce-popup .wpzinc-option div.left a{text-decoration:none}form.wpzinc-tinymce-popup .wpzinc-option div.right{width:100%;grid-area:right;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;line-height:27px}form.wpzinc-tinymce-popup .wpzinc-option div.right strong{line-height:27px}form.wpzinc-tinymce-popup .wpzinc-option div.right p.description strong{line-height:1}form.wpzinc-tinymce-popup .wpzinc-option div.right div.selectize-dropdown-content strong{line-height:normal}form.wpzinc-tinymce-popup .wpzinc-option div.right .success{color:green}form.wpzinc-tinymce-popup .wpzinc-option div.right .error{color:red}form.wpzinc-tinymce-popup .wpzinc-option div.full{width:100%;grid-column:1 / span 2;line-height:30px}form.wpzinc-tinymce-popup .wpzinc-option p.description{grid-column:1 / span 2}form.wpzinc-tinymce-popup .wpzinc-option label{font-weight:600;white-space:normal}form.wpzinc-tinymce-popup .wpzinc-option label.selectit{font-weight:400}form.wpzinc-tinymce-popup .wpzinc-option select.right,form.wpzinc-tinymce-popup .wpzinc-option input.right{float:right}form.wpzinc-tinymce-popup .wpzinc-option input{margin:0}form.wpzinc-tinymce-popup .wpzinc-option input[type=date],form.wpzinc-tinymce-popup .wpzinc-option input[type=datetime-local],form.wpzinc-tinymce-popup .wpzinc-option input[type=datetime],form.wpzinc-tinymce-popup .wpzinc-option input[type=email],form.wpzinc-tinymce-popup .wpzinc-option input[type=month],form.wpzinc-tinymce-popup .wpzinc-option input[type=number],form.wpzinc-tinymce-popup .wpzinc-option input[type=password],form.wpzinc-tinymce-popup .wpzinc-option input[type=search],form.wpzinc-tinymce-popup .wpzinc-option input[type=tel],form.wpzinc-tinymce-popup .wpzinc-option input[type=text],form.wpzinc-tinymce-popup .wpzinc-option input[type=time],form.wpzinc-tinymce-popup .wpzinc-option input[type=url],form.wpzinc-tinymce-popup .wpzinc-option input[type=week]{margin:0;padding:0 8px;line-height:2;min-height:30px;box-shadow:0 0 0 transparent;border-radius:4px;border:1px solid #8c8f94;background-color:#fff;color:#2c3338}form.wpzinc-tinymce-popup .wpzinc-option select{border:1px solid #7e8993;border-radius:4px;box-shadow:0 0 0 transparent;vertical-align:baseline;font-size:14px;line-height:2;color:#2c3338;border-color:#8c8f94;box-shadow:none;border-radius:3px;margin:0;padding:0 24px 0 8px;min-height:30px;-webkit-appearance:none;background:#fff url(data:image/svg+xml;charset=US-ASCII,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M5%206l5%205%205-5%202%201-7%207-7-7%202-1z%22%20fill%3D%22%23555%22%2F%3E%3C%2Fsvg%3E) no-repeat right 5px top 55%;background-size:16px 16px;cursor:pointer}form.wpzinc-tinymce-popup .wpzinc-option textarea.no-wrap{white-space:pre;overflow-wrap:normal;overflow-x:scroll}form.wpzinc-tinymce-popup .wpzinc-option .content-editable{min-height:70px;box-sizing:border-box;padding:2px 6px;line-height:1.42857143;font-size:14px;box-shadow:0 0 0 transparent;border-radius:4px;border:1px solid #8c8f94;background-color:#fff;color:#2c3338}form.wpzinc-tinymce-popup .wpzinc-option .content-editable:focus{border-color:#2271b1;box-shadow:0 0 0 1px #2271b1;outline:2px solid transparent}form.wpzinc-tinymce-popup .wpzinc-option .content-editable.no-wrap{white-space:pre;overflow-wrap:normal;overflow-x:scroll}form.wpzinc-tinymce-popup .wpzinc-option:nth-child(odd) .wpzinc-horizontal-selection label{background-color:#f5f5f5}form.wpzinc-tinymce-popup .wpzinc-option details summary h3{margin:0}form.wpzinc-tinymce-popup .wpzinc-option .checklist{margin:0;padding:0;list-style:none}form.wpzinc-tinymce-popup .wpzinc-option .checklist li{line-height:1}form.wpzinc-tinymce-popup .wpzinc-option .checklist li label{font-weight:400}form.wpzinc-tinymce-popup .wpzinc-option table.widefat{clear:none}form.wpzinc-tinymce-popup .wpzinc-option table.widefat tbody tr:first-child td a.delete-table-row,form.wpzinc-tinymce-popup .wpzinc-option table.widefat tbody tr.hide-delete-button td a.delete-table-row{display:none}form.wpzinc-tinymce-popup .wpzinc-option table.widefat tbody tr td label,form.wpzinc-tinymce-popup .wpzinc-option table.widefat tbody tr td strong{line-height:30px}form.wpzinc-tinymce-popup .wpzinc-option table.widefat .vertical-align-middle{vertical-align:middle}form.wpzinc-tinymce-popup .selectize-control.plugin-drag_drop.multi>.selectize-input>div.ui-sortable-placeholder{visibility:visible !important;background:#f2f2f2 !important;background:rgba(0,0,0,0.06) !important;border:0 none !important;-webkit-box-shadow:inset 0 0 12px 4px #ffffff;box-shadow:inset 0 0 12px 4px #ffffff}form.wpzinc-tinymce-popup .selectize-control.plugin-drag_drop .ui-sortable-placeholder::after{content:'!';visibility:hidden}form.wpzinc-tinymce-popup .selectize-control.plugin-drag_drop .ui-sortable-helper{-webkit-box-shadow:0 2px 5px rgba(0,0,0,0.2);box-shadow:0 2px 5px rgba(0,0,0,0.2)}form.wpzinc-tinymce-popup .selectize-dropdown-header{position:relative;padding:5px 8px;border-bottom:1px solid #d0d0d0;background:#f8f8f8;-webkit-border-radius:3px 3px 0 0;-moz-border-radius:3px 3px 0 0;border-radius:3px 3px 0 0}form.wpzinc-tinymce-popup .selectize-dropdown-header-close{position:absolute;right:8px;top:50%;color:#303030;opacity:0.4;margin-top:-12px;line-height:20px;font-size:20px !important}form.wpzinc-tinymce-popup .selectize-dropdown-header-close:hover{color:#000000}form.wpzinc-tinymce-popup .selectize-dropdown.plugin-optgroup_columns .optgroup{border-right:1px solid #f2f2f2;border-top:0 none;float:left;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}form.wpzinc-tinymce-popup .selectize-dropdown.plugin-optgroup_columns .optgroup:last-child{border-right:0 none}form.wpzinc-tinymce-popup .selectize-dropdown.plugin-optgroup_columns .optgroup:before{display:none}form.wpzinc-tinymce-popup .selectize-dropdown.plugin-optgroup_columns .optgroup-header{border-top:0 none}form.wpzinc-tinymce-popup .selectize-control.plugin-remove_button [data-value]{position:relative;padding-right:24px !important}form.wpzinc-tinymce-popup .selectize-control.plugin-remove_button [data-value] .remove{z-index:1;position:absolute;top:0;right:0;bottom:0;width:17px;text-align:center;font-weight:bold;font-size:12px;color:inherit;text-decoration:none;vertical-align:middle;display:inline-block;padding:2px 0 0 0;border-left:1px solid #d0d0d0;-webkit-border-radius:0 2px 2px 0;-moz-border-radius:0 2px 2px 0;border-radius:0 2px 2px 0;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}form.wpzinc-tinymce-popup .selectize-control.plugin-remove_button [data-value] .remove:hover{background:rgba(0,0,0,0.05)}form.wpzinc-tinymce-popup .selectize-control.plugin-remove_button [data-value].active .remove{border-left-color:#cacaca}form.wpzinc-tinymce-popup .selectize-control.plugin-remove_button .disabled [data-value] .remove:hover{background:none}form.wpzinc-tinymce-popup .selectize-control.plugin-remove_button .disabled [data-value] .remove{border-left-color:#ffffff}form.wpzinc-tinymce-popup .selectize-control.plugin-remove_button .remove-single{position:absolute;right:28px;top:6px;font-size:23px}form.wpzinc-tinymce-popup .selectize-control{position:relative}form.wpzinc-tinymce-popup .selectize-dropdown,form.wpzinc-tinymce-popup .selectize-input,form.wpzinc-tinymce-popup .selectize-input input{color:#303030;font-family:inherit;font-size:13px;line-height:18px;-webkit-font-smoothing:inherit}form.wpzinc-tinymce-popup .selectize-input,form.wpzinc-tinymce-popup .selectize-control.single .selectize-input.input-active{background:#ffffff;cursor:text;display:inline-block}form.wpzinc-tinymce-popup .selectize-input{border:1px solid #d0d0d0;padding:6px 6px;display:inline-block;width:100%;min-height:36px;overflow:hidden;position:relative;z-index:1;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.1);box-shadow:inset 0 1px 1px rgba(0,0,0,0.1);-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}form.wpzinc-tinymce-popup .selectize-input.full{background-color:#ffffff}form.wpzinc-tinymce-popup .selectize-input.disabled,form.wpzinc-tinymce-popup .selectize-input.disabled *{cursor:default !important}form.wpzinc-tinymce-popup .selectize-input.focus{-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,0.15);box-shadow:inset 0 1px 2px rgba(0,0,0,0.15)}form.wpzinc-tinymce-popup .selectize-input.dropdown-active{-webkit-border-radius:3px 3px 0 0;-moz-border-radius:3px 3px 0 0;border-radius:3px 3px 0 0}form.wpzinc-tinymce-popup .selectize-input>*{vertical-align:baseline;display:-moz-inline-stack;display:inline-block;zoom:1;*display:inline}form.wpzinc-tinymce-popup .selectize-control.multi .selectize-input>div{cursor:pointer;margin:0 3px 0 0;padding:2px 6px;background:#f2f2f2;color:#303030;border:0 solid #d0d0d0;font-size:11px}form.wpzinc-tinymce-popup .selectize-control.multi .selectize-input>div.active{background:#e8e8e8;color:#303030;border:0 solid #cacaca}form.wpzinc-tinymce-popup .selectize-control.multi .selectize-input.disabled>div,form.wpzinc-tinymce-popup .selectize-control.multi .selectize-input.disabled>div.active{color:#7d7d7d;background:#ffffff;border:0 solid #ffffff}form.wpzinc-tinymce-popup .selectize-input>input{display:inline-block !important;padding:0 !important;min-height:0 !important;max-height:none !important;max-width:100% !important;margin:0 2px 0 0 !important;text-indent:0 !important;border:0 none !important;background:none !important;line-height:inherit !important;-webkit-user-select:auto !important;-webkit-box-shadow:none !important;box-shadow:none !important}form.wpzinc-tinymce-popup .selectize-input>input::-ms-clear{display:none}form.wpzinc-tinymce-popup .selectize-input>input:focus{outline:none !important}form.wpzinc-tinymce-popup .selectize-input::after{content:' ';display:block;clear:left}form.wpzinc-tinymce-popup .selectize-input.dropdown-active::before{content:' ';display:block;position:absolute;background:#f0f0f0;height:1px;bottom:0;left:0;right:0}form.wpzinc-tinymce-popup .selectize-dropdown{position:absolute;z-index:10;border:1px solid #d0d0d0;background:#ffffff;margin:-1px 0 0 0;border-top:0 none;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-box-shadow:0 1px 3px rgba(0,0,0,0.1);box-shadow:0 1px 3px rgba(0,0,0,0.1);-webkit-border-radius:0 0 3px 3px;-moz-border-radius:0 0 3px 3px;border-radius:0 0 3px 3px}form.wpzinc-tinymce-popup .selectize-dropdown [data-selectable]{cursor:pointer;overflow:hidden}form.wpzinc-tinymce-popup .selectize-dropdown [data-selectable] .highlight{background:rgba(125,168,208,0.2);-webkit-border-radius:1px;-moz-border-radius:1px;border-radius:1px}form.wpzinc-tinymce-popup .selectize-dropdown [data-selectable],form.wpzinc-tinymce-popup .selectize-dropdown .optgroup-header{padding:5px 8px}form.wpzinc-tinymce-popup .selectize-dropdown .optgroup:first-child .optgroup-header{border-top:0 none}form.wpzinc-tinymce-popup .selectize-dropdown .optgroup-header{color:#303030;background:#ffffff;cursor:default}form.wpzinc-tinymce-popup .selectize-dropdown .active{background-color:#f5fafd;color:#495c68}form.wpzinc-tinymce-popup .selectize-dropdown .active.create{color:#495c68}form.wpzinc-tinymce-popup .selectize-dropdown .create{color:rgba(48,48,48,0.5)}form.wpzinc-tinymce-popup .selectize-dropdown-content{overflow-y:auto;overflow-x:hidden;max-height:200px;-webkit-overflow-scrolling:touch}form.wpzinc-tinymce-popup .selectize-dropdown-content .option{display:block}form.wpzinc-tinymce-popup .selectize-control.single .selectize-input,form.wpzinc-tinymce-popup .selectize-control.single .selectize-input input{cursor:pointer}form.wpzinc-tinymce-popup .selectize-control.single .selectize-input.input-active,form.wpzinc-tinymce-popup .selectize-control.single .selectize-input.input-active input{cursor:text}form.wpzinc-tinymce-popup .selectize-control.single .selectize-input:after{content:' ';display:block;position:absolute;top:50%;right:15px;margin-top:-3px;width:0;height:0;border-style:solid;border-width:5px 5px 0 5px;border-color:#808080 transparent transparent transparent}form.wpzinc-tinymce-popup .selectize-control.single .selectize-input.dropdown-active:after{margin-top:-4px;border-width:0 5px 5px 5px;border-color:transparent transparent #808080 transparent}form.wpzinc-tinymce-popup .selectize-control.rtl.single .selectize-input:after{left:15px;right:auto}form.wpzinc-tinymce-popup .selectize-control.rtl .selectize-input>input{margin:0 4px 0 -2px !important}form.wpzinc-tinymce-popup .selectize-control .selectize-input.disabled{opacity:0.5;background-color:#fafafa}form.wpzinc-tinymce-popup #front-static-pages label{width:100%}form.wpzinc-tinymce-popup div.wpzinc-option:last-child{border-bottom:none}form.wpzinc-tinymce-popup div.wpzinc-option .widefat{width:100%;max-width:100%;box-sizing:border-box}form.wpzinc-tinymce-popup div.wpzinc-option select{background-color:#fff}form.wpzinc-tinymce-popup div.wpzinc-option textarea{padding:5px;background-color:#fff;border:1px solid #7e8993}form.wpzinc-tinymce-popup div.wpzinc-option .full{clear:both;display:block;padding:5px 0 0 0}form.wpzinc-tinymce-popup div.wpzinc-option .selectize-control{clear:none}form.wpzinc-tinymce-popup div.wpzinc-option.buttons{position:absolute;bottom:0;left:0;right:0;border-top:1px solid #ddd;background-color:#f7f7f7}form.wpzinc-tinymce-popup div.wpzinc-option.buttons.has-wpzinc-vertical-tabbed-ui{border-top:1px solid #ddd;background-color:#f7f7f7}i.mce-i-wpzinc-icon{font:normal 20px/1 'dashicons';padding:0;vertical-align:top;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin-left:-2px;padding-right:2px}div.notice.warning{border-left-color:#ffb900}.wpzinc-upgrade-hr{padding:20px 0 0 0;border-bottom:none}.wpzinc-upgrade{background:#f7f7f7;border:1px solid #e5e5e5;padding:20px}.wpzinc-upgrade h3{margin:0 0 30px 0;padding:0}.wpzinc-upgrade ul{display:grid;grid-template-columns:repeat(3, 1fr);column-gap:20px;row-gap:20px}.wpzinc-upgrade ul li{background:url(../feather/check-circle.svg) top left no-repeat;background-size:20px 20px;padding:0 0 0 30px}.wpzinc-upgrade ul li strong{display:block;font-size:15px;margin:0 0 5px 0}.wpzinc-upgrade a.button{margin:20px 0 0 0}body.wpzinc.gutenberg-editor-page .edit-post-layout__metaboxes:not(:empty),body.wpzinc.block-editor-page .edit-post-layout__metaboxes:not(:empty){margin:0;padding:0}body.wpzinc.gutenberg-editor-page .edit-post-meta-boxes-area,body.wpzinc.block-editor-page .edit-post-meta-boxes-area{margin:0}body.wpzinc.gutenberg-editor-page .edit-post-meta-boxes-area #poststuff .handlediv,body.wpzinc.block-editor-page .edit-post-meta-boxes-area #poststuff .handlediv{position:relative;z-index:2}body.wpzinc.gutenberg-editor-page .edit-post-meta-boxes-area #poststuff h2.hndle,body.wpzinc.block-editor-page .edit-post-meta-boxes-area #poststuff h2.hndle{z-index:1;background-color:#fcfcfc}body.wpzinc.gutenberg-editor-page .edit-post-meta-boxes-area .wpzinc-option,body.wpzinc.block-editor-page .edit-post-meta-boxes-area .wpzinc-option{background-color:transparent;border:none}body.wpzinc.gutenberg-editor-page .edit-post-meta-boxes-area .wpzinc-option:nth-child(odd),body.wpzinc.block-editor-page .edit-post-meta-boxes-area .wpzinc-option:nth-child(odd){background-color:transparent}.wpzinc-modal-overlay{display:none;position:fixed;z-index:99999999;top:0;left:0;opacity:0.5;width:100vw;height:100vh;background-color:#000}.wpzinc-modal{display:none;position:fixed;z-index:100000000;top:50vh;left:50vw;width:50vw;height:180px;margin:-90px 0 0 -25vw;box-sizing:border-box;background-color:#f7f7f7;padding:20px}.wpzinc-modal.wpzinc-modal-mini{top:50vh;left:50vw;width:200px;height:70px;margin:-35px 0 0 -85px}.wpzinc-modal h2{font-size:20px;line-height:25px;font-weight:700;margin:0 0 10px 0;padding:0}.wpzinc-modal h2 div.spinner{display:none;visibility:hidden;margin:0}.wpzinc-modal h2 div.tick{display:none;visibility:hidden;float:right;width:20px;height:20px;margin:4px 10px 0 4px}.wpzinc-modal p.message{margin:0 0 20px 0;padding:0}.wpzinc-modal .notice{display:block !important;margin:0 0 20px 0;padding:10px}.wpzinc-modal .notice.warning{border-left-color:orange}.wpzinc-modal .notice p{margin:0}.wpzinc-modal button.close{display:none}.wpzinc-backbone-modal .media-modal{position:absolute;left:50%;top:50%;transform:translate(-50%, -50%)}.wpzinc-backbone-modal .media-modal .media-frame-title{left:0;height:30px}.wpzinc-backbone-modal .media-modal .media-frame-content{left:0;top:54px;bottom:54px}.wpzinc-backbone-modal .media-modal .media-frame-toolbar{left:0;bottom:47px;background:#fff}.wpzinc-backbone-modal .media-modal .media-frame-toolbar .media-toolbar{padding:10px}.wpzinc-notification{display:none;position:fixed;z-index:9999999;bottom:20px;right:20px;color:#fff;background-color:#585e65;padding:10px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;box-shadow:0 20px 30px -16px rgba(9,9,16,0.8)}.wpzinc-notification.wpzinc-notification-success{border-left:4px solid #46b450}.wpzinc-notification.wpzinc-notification-warning{border-left:4px solid orange}.wpzinc-notification.wpzinc-notification-error{border-left:4px solid #dc3232}.wp-core-ui .wpzinc-button-red{background:#b30000;border-color:#b30000;color:#fff;text-decoration:none;text-shadow:none}.wp-core-ui .wpzinc-button-red.hover,.wp-core-ui .wpzinc-button-red:hover{background:#990000;border-color:#990000;color:#fff}.wp-core-ui .wpzinc-button-red.focus,.wp-core-ui .wpzinc-button-red:focus{background:#990000;border-color:#990000;color:#fff;box-shadow:0 0 0 1px #fff, 0 0 0 3px #990000}.wpzinc-button-red{background:#b30000;border-color:#b30000;color:#fff;text-decoration:none;text-shadow:none}.wpzinc-button-red.hover,.wpzinc-button-red:hover{background:#990000;border-color:#990000;color:#fff}.wpzinc-button-red.focus,.wpzinc-button-red:focus{background:#990000;border-color:#990000;color:#fff;box-shadow:0 0 0 1px #fff, 0 0 0 3px #990000}.tax-selection .tabs-panel{height:200px !important;overflow:auto;padding:10px 15px;border-left:none;border-top:none;border-right:none;border-bottom:none;background:#fff}.tax-selection .tabs-panel ul.categorychecklist{margin:0;padding:0}#wpzinc-onboarding{max-width:900px;margin:0 auto;padding:40px 0}#wpzinc-onboarding #wpzinc-onboarding-progress{text-align:center;padding:40px 0}#wpzinc-onboarding #wpzinc-onboarding-progress ol{list-style:none;margin:0;padding:0}#wpzinc-onboarding #wpzinc-onboarding-progress ol li{position:relative;display:inline-block;width:135px;text-align:center;line-height:3em}#wpzinc-onboarding #wpzinc-onboarding-progress ol li:after{position:absolute;display:block;z-index:1;top:-2px;left:-65px;height:2px;width:135px;content:"";background-color:#dfdfdf}#wpzinc-onboarding #wpzinc-onboarding-progress ol li:before{position:absolute;z-index:2;top:-6px;left:65px;height:10px;width:10px;border-radius:1.2em;border:none;line-height:1.2em;content:" ";background-color:#dfdfdf}#wpzinc-onboarding #wpzinc-onboarding-progress ol li:first-child:after{display:none}#wpzinc-onboarding #wpzinc-onboarding-progress ol li.done{color:#1c9bd7}#wpzinc-onboarding #wpzinc-onboarding-progress ol li.done:after,#wpzinc-onboarding #wpzinc-onboarding-progress ol li.done:before{background-color:#1c9bd7}#wpzinc-onboarding #wpzinc-onboarding-form{padding:20px 80px 80px 80px;background-color:#fff;box-shadow:0 2px 5px rgba(0,0,0,0.05)}#wpzinc-onboarding #wpzinc-onboarding-form #wpzinc-onboarding-content h1{margin:60px 0 20px 0}#wpzinc-onboarding #wpzinc-onboarding-form #wpzinc-onboarding-content p{font-size:16px}#wpzinc-onboarding #wpzinc-onboarding-form #wpzinc-onboarding-content p.description{font-size:13px}#wpzinc-onboarding #wpzinc-onboarding-form #wpzinc-onboarding-content>div{margin:0 0 20px 0}#wpzinc-onboarding #wpzinc-onboarding-form #wpzinc-onboarding-content>div label{display:block;margin-bottom:10px;font-size:16px;font-weight:500}#wpzinc-onboarding #wpzinc-onboarding-form #wpzinc-onboarding-footer{display:grid;grid-template-columns:repeat(2, 1fr);grid-template-areas:"left right";padding:40px 0 0 0}#wpzinc-onboarding #wpzinc-onboarding-form #wpzinc-onboarding-footer .left{grid-area:left;text-align:left}#wpzinc-onboarding #wpzinc-onboarding-form #wpzinc-onboarding-footer .right{grid-area:right;text-align:right}@media only screen and (max-width: 1200px){.wpzinc-upgrade ul{display:grid;grid-template-columns:repeat(2, 1fr)}}@media only screen and (max-width: 768px){h2.wpzinc-horizontal-tabbed-ui.nav-tab-wrapper a.nav-tab{margin-right:10px}h2.wpzinc-horizontal-tabbed-ui.nav-tab-wrapper a.nav-tab:last-child{margin-right:0}h2.wpzinc-horizontal-tabbed-ui.nav-tab-wrapper a.nav-tab span.text{display:none}h2.wpzinc-horizontal-tabbed-ui.nav-tab-wrapper a.nav-tab span.text-mobile{display:inline-block}h2.wpzinc-horizontal-tabbed-ui.nav-tab-wrapper a.nav-tab .dashicons{font-size:24px}h2.wpzinc-horizontal-tabbed-ui.nav-tab-wrapper a.nav-tab .dashicons.dashicons-yes{font-size:20px}div.wpzinc-vertical-tabbed-ui{grid-template-columns:60px auto}div.wpzinc-vertical-tabbed-ui ul.wpzinc-nav-tabs li.wpzinc-nav-tab a,div.wpzinc-vertical-tabbed-ui ul.wpzinc-nav-tabs li.wpzinc-nav-tab a.wpzinc-nav-tab-vertical-active,div.wpzinc-vertical-tabbed-ui ul.wpzinc-nav-tabs li.wpzinc-nav-tab a:hover{width:60px;height:60px;margin:0;padding:0;text-indent:-9999px;background-position:center}div.wpzinc-vertical-tabbed-ui ul.wpzinc-nav-tabs li.wpzinc-nav-tab a span.dashicons{top:0;right:0;text-indent:0}div.wpzinc-vertical-tabbed-ui ul.wpzinc-nav-tabs li.wpzinc-nav-tab a:hover{border-top:none}div.wpzinc-vertical-tabbed-ui ul.wpzinc-nav-tabs li.wpzinc-nav-tab a:hover span.dashicons{right:0}.wpzinc-option{display:block}.wpzinc-option div.left{width:100%}.wpzinc-option div.right{width:100%}.wpzinc-option select.right,.wpzinc-option input.right{float:none;width:100%;margin:0 0 10px 0 !important}.wpzinc-option select{width:100%}.wpzinc-upgrade ul{grid-template-columns:repeat(1, 1fr)}}
  • page-generator/trunk/_modules/dashboard/js/autocomplete-tinymce.js

    r2957435 r3262557  
    500500                                        longname:   'Autocomplete',
    501501                                        author:     'WP Zinc',
    502                                         authorurl:  'https://www.wpzinc.com/',
    503                                         infourl:    'https://www.wpzinc.com/',
    504502                                        version:    tinymce.majorVersion + '.' + tinymce.minorVersion
    505503                                    };
  • page-generator/trunk/_modules/dashboard/js/min/autocomplete-tinymce-min.js

    r2688389 r3262557  
    1 !function(){const e=40,t=38,n=27,i=13,o=8;var l=[e,t,n,i],s=["123"];"undefined"!=typeof wpzinc_autocomplete&&wpzinc_autocomplete.forEach((function(o,c){o.triggers.forEach((function(o,c){"url"in o||(tinymce.create("tinymce.plugins."+o.tinyMCEName,{init:function(c){function r(){var e=document.createElement("ul");return e.setAttribute("class","wpzinc-tinymce-autocomplete"),o.values.forEach((function(t,n){var i=document.createElement("li");i.classList.add("displayed"),e.appendChild(i),i.innerHTML=i.innerHTML+t.value})),document.body.appendChild(e),e}function a(e,t){var n=d(e);g(t,n.top,n.left),t.classList.remove("displayed"),t.classList.add("displayed"),k=!0}function d(e){var t=e.getContainer()?e.getContainer():document.getElementById(e.id),n=t.getBoundingClientRect().top+window.scrollY,i=t.getBoundingClientRect().left+window.scrollX,o={top:0,left:0};o=e.selection.getRng().getClientRects().length>0?{top:e.selection.getRng().getClientRects()[0].top+20,left:e.selection.getRng().getClientRects()[0].left}:{top:e.selection.getNode().getClientRects()[0].top+20,left:e.selection.getNode().getClientRects()[0].left};var l=t.getElementsByClassName("mce-toolbar-grp")[0];return l?{top:n+l.getBoundingClientRect().height+o.top,left:i+o.left}:o}function g(e,t,n){e.style.marginTop=t+"px",e.style.marginLeft=n+"px"}function u(e){var t=null==e.selection.getSel().focusNode?"":e.selection.getSel().focusNode.nodeValue,n=e.selection.getSel().focusOffset,i=0,o;if(null==t||0==t.length)return"";for(var l=n;l>=0;l--)if(-1!=s.indexOf(t.charCodeAt(l).toString())){i=l;break}return{search:t.substr(i,n-i),start:i,end:n}}function f(e,t,n){for(var i=n.getElementsByTagName("li"),o=!0,l=i.length,s=0;s<l-1;s++)i.item(s).classList.remove("highlight"),-1==i.item(s).innerText.indexOf(e.search)?i.item(s).classList.remove("displayed"):(i.item(s).classList.add("displayed"),o&&(i.item(s).classList.add("highlight"),o=!1))}function m(e,t,n){for(var i=n.querySelectorAll("li.displayed"),o=i.length,l=0;l<o-1;l++)if(i[l].classList.contains("highlight")){if("previous"==e){if(0==l)break;i[l].classList.remove("highlight"),i[l-1].classList.add("highlight");break}if("next"==e){if(l==i.length-1)break;i[l].classList.remove("highlight"),i[l+1].classList.add("highlight");break}}}function h(e,t){var n;p(t.querySelectorAll("li.highlight")[0].innerText,e,t)}function p(e,t){var n=u(t),i=t.selection.getSel().focusNode,o=t.selection.getRng();o.setStart(i,n.start),o.setEnd(i,n.end),t.selection.setRng(o),t.selection.setContent(e)}function y(e,t){t.classList.remove("displayed"),k=!1}function v(l,s){if(o.triggerKeyCode==s.keyCode&&!k){if(!o.triggerKeyShiftRequired)return void a(l,E);if(s.shiftKey)return void a(l,E)}if(n!=s.keyCode||!k){var c;if(k&&(t==s.keyCode||e==s.keyCode))m(t==s.keyCode?"previous":"next",l,E);return k&&i==s.keyCode?(tinymce.dom.Event.cancel(s),h(l,E),void y(l,E)):void 0}y(l,E)}function C(e,t){var n;-1==l.indexOf(t.keyCode)&&k&&(a(e,E),f(u(e),e,E))}function w(e,t){y(e,E)}function L(e){e.target.matches("li.displayed")?(p(e.target.innerText,c),y(c,E)):y(c,E)}var k=!1,E=r();c.onKeyDown.add(C),c.onKeyDown.add(v),c.onClick.add(w),document.addEventListener("click",L)},getInfo:function(){return{longname:"Autocomplete",author:"WP Zinc",authorurl:"https://www.wpzinc.com/",infourl:"https://www.wpzinc.com/",version:tinymce.majorVersion+"."+tinymce.minorVersion}}}),tinymce.PluginManager.add(o.tinyMCEName,tinymce.plugins[o.tinyMCEName]))}))}))}();
     1!function(){const e=40,t=38,n=27,i=13,o=8;var l=[e,t,n,i],s=["123"];"undefined"!=typeof wpzinc_autocomplete&&wpzinc_autocomplete.forEach((function(o,c){o.triggers.forEach((function(o,c){"url"in o||(tinymce.create("tinymce.plugins."+o.tinyMCEName,{init:function(c){function r(){var e=document.createElement("ul");return e.setAttribute("class","wpzinc-tinymce-autocomplete"),o.values.forEach((function(t,n){var i=document.createElement("li");i.classList.add("displayed"),e.appendChild(i),i.innerHTML=i.innerHTML+t.value})),document.body.appendChild(e),e}function a(e,t){var n=d(e);g(t,n.top,n.left),t.classList.remove("displayed"),t.classList.add("displayed"),E=!0}function d(e){var t=e.getContainer()?e.getContainer():document.getElementById(e.id),n=t.getBoundingClientRect().top+window.scrollY,i=t.getBoundingClientRect().left+window.scrollX,o={top:0,left:0};o=e.selection.getRng().getClientRects().length>0?{top:e.selection.getRng().getClientRects()[0].top+20,left:e.selection.getRng().getClientRects()[0].left}:{top:e.selection.getNode().getClientRects()[0].top+20,left:e.selection.getNode().getClientRects()[0].left};var l=t.getElementsByClassName("mce-toolbar-grp")[0];return l?{top:n+l.getBoundingClientRect().height+o.top,left:i+o.left}:o}function g(e,t,n){e.style.marginTop=t+"px",e.style.marginLeft=n+"px"}function u(e){var t=null==e.selection.getSel().focusNode?"":e.selection.getSel().focusNode.nodeValue,n=e.selection.getSel().focusOffset,i=0,o;if(null==t||0==t.length)return"";for(var l=n;l>=0;l--)if(-1!=s.indexOf(t.charCodeAt(l).toString())){i=l;break}return{search:t.substr(i,n-i),start:i,end:n}}function f(e,t,n){for(var i=n.getElementsByTagName("li"),o=!0,l=i.length,s=0;s<l-1;s++)i.item(s).classList.remove("highlight"),-1==i.item(s).innerText.indexOf(e.search)?i.item(s).classList.remove("displayed"):(i.item(s).classList.add("displayed"),o&&(i.item(s).classList.add("highlight"),o=!1))}function m(e,t,n){for(var i=n.querySelectorAll("li.displayed"),o=i.length,l=0;l<o-1;l++)if(i[l].classList.contains("highlight")){if("previous"==e){if(0==l)break;i[l].classList.remove("highlight"),i[l-1].classList.add("highlight");break}if("next"==e){if(l==i.length-1)break;i[l].classList.remove("highlight"),i[l+1].classList.add("highlight");break}}}function h(e,t){var n;y(t.querySelectorAll("li.highlight")[0].innerText,e,t)}function y(e,t){var n=u(t),i=t.selection.getSel().focusNode,o=t.selection.getRng();o.setStart(i,n.start),o.setEnd(i,n.end),t.selection.setRng(o),t.selection.setContent(e)}function p(e,t){t.classList.remove("displayed"),E=!1}function v(l,s){if(o.triggerKeyCode==s.keyCode&&!E){if(!o.triggerKeyShiftRequired)return void a(l,R);if(s.shiftKey)return void a(l,R)}if(n!=s.keyCode||!E){var c;if(E&&(t==s.keyCode||e==s.keyCode))m(t==s.keyCode?"previous":"next",l,R);return E&&i==s.keyCode?(tinymce.dom.Event.cancel(s),h(l,R),void p(l,R)):void 0}p(l,R)}function C(e,t){var n;-1==l.indexOf(t.keyCode)&&E&&(a(e,R),f(u(e),e,R))}function L(e,t){p(e,R)}function k(e){e.target.matches("li.displayed")?(y(e.target.innerText,c),p(c,R)):p(c,R)}var E=!1,R=r();c.onKeyDown.add(C),c.onKeyDown.add(v),c.onClick.add(L),document.addEventListener("click",k)},getInfo:function(){return{longname:"Autocomplete",author:"WP Zinc",version:tinymce.majorVersion+"."+tinymce.minorVersion}}}),tinymce.PluginManager.add(o.tinyMCEName,tinymce.plugins[o.tinyMCEName]))}))}))}();
  • page-generator/trunk/_modules/dashboard/scss/_custom-post-tax-types.scss

    r3247852 r3262557  
    2929    line-height: 98px;
    3030    text-indent: 70px;
     31    box-sizing: border-box;
    3132
    3233    &::before {
  • page-generator/trunk/_modules/dashboard/scss/admin.scss

    r3247852 r3262557  
    11951195
    11961196/**
    1197  * Inline Modal
    1198  * - Used for plugin deactivation modal reason
    1199  */
    1200 .wpzinc-inline-modal {
    1201     display: none;
    1202     position: absolute;
    1203     white-space: normal;
    1204     width: 400px;
    1205 
    1206     z-index: 100000000;
    1207     box-sizing: border-box;
    1208     background-color: #f7f7f7;
    1209     box-shadow: 0 0 15px -5px rgba(0, 0, 0, .5);
    1210     transition: all .3s ease-out;
    1211 }
    1212 .wpzinc-inline-modal header {
    1213     position: relative;
    1214     height: 40px;
    1215     background-color: #212f4f;
    1216 }
    1217 .wpzinc-inline-modal header::before {
    1218     content: "";
    1219     display: block;
    1220     position: absolute;
    1221     top: 50%;
    1222     transform: translateY(-50%);
    1223     left: -10px;
    1224     border-top: 20px solid transparent;
    1225     border-right: 20px solid #212f4f;
    1226     border-bottom: 20px solid transparent;
    1227 }
    1228 .wpzinc-inline-modal header h2 {
    1229     font-size: 16px;
    1230     line-height: 40px;
    1231     font-weight: 400;
    1232     margin: 0;
    1233     padding: 0 20px;
    1234     color: #fff;
    1235 }
    1236 .wpzinc-inline-modal form {
    1237     padding: 20px;
    1238 }
    1239 .wpzinc-inline-modal form ul {
    1240     margin: 0 0 20px 0;
    1241     padding: 0;
    1242 }
    1243 .wpzinc-inline-modal form input[type="text"],
    1244 .wpzinc-inline-modal form input[type="email"] {
    1245     display: none;
    1246     margin: 0 0 10px 0;
    1247 }
    1248 .wpzinc-inline-modal form small.wpzinc-deactivation-reason-email {
    1249     display: none;
    1250     margin: 0 0 20px 0;
    1251 }
    1252 
    1253 /**
    12541197* QuickTags Backbone Modal
    12551198* - used by tinymce-modal.js
  • page-generator/trunk/_modules/dashboard/views/footer-upgrade-embedded.php

    r2756466 r3262557  
    66 * @author WP Zinc
    77 */
     8
     9// Exit if accessed directly.
     10if ( ! defined( 'ABSPATH' ) ) {
     11    exit;
     12}
    813
    914if ( isset( $this->base->plugin->upgrade_reasons ) && is_array( $this->base->plugin->upgrade_reasons ) && count( $this->base->plugin->upgrade_reasons ) > 0 ) {
  • page-generator/trunk/_modules/dashboard/views/footer-upgrade.php

    r2756466 r3262557  
    66 * @author WP Zinc
    77 */
     8
     9// Exit if accessed directly.
     10if ( ! defined( 'ABSPATH' ) ) {
     11    exit;
     12}
    813
    914if ( isset( $this->base->plugin->upgrade_reasons ) && is_array( $this->base->plugin->upgrade_reasons ) && count( $this->base->plugin->upgrade_reasons ) > 0 ) {
  • page-generator/trunk/_modules/dashboard/views/import-export.php

    r3247852 r3262557  
    66 * @author WP Zinc
    77 */
     8
     9// Exit if accessed directly.
     10if ( ! defined( 'ABSPATH' ) ) {
     11    exit;
     12}
    813
    914?>
     
    4449        </h2>
    4550
    46         <form name="post" method="post" action="<?php echo ( isset( $_SERVER['REQUEST_URI'] ) ? esc_url( sanitize_text_field( wp_unslash( $_SERVER['REQUEST_URI'] ) ) ) : '' ); ?>" id="<?php echo esc_attr( $this->plugin->name ); ?>" enctype="multipart/form-data">
     51        <form name="post" method="post" action="<?php echo ( isset( $_SERVER['REQUEST_URI'] ) ? esc_url_raw( wp_unslash( $_SERVER['REQUEST_URI'] ) ) : '' ); ?>" id="<?php echo esc_attr( $this->plugin->name ); ?>" enctype="multipart/form-data">
    4752            <div id="poststuff">
    4853                <div id="post-body" class="metabox-holder columns-1">
  • page-generator/trunk/_modules/dashboard/views/modal.php

    r2688389 r3262557  
    66 * @author WP Zinc
    77 */
     8
     9// Exit if accessed directly.
     10if ( ! defined( 'ABSPATH' ) ) {
     11    exit;
     12}
    813
    914?>
  • page-generator/trunk/_modules/dashboard/views/notification.php

    r2688389 r3262557  
    77 */
    88
     9// Exit if accessed directly.
     10if ( ! defined( 'ABSPATH' ) ) {
     11    exit;
     12}
     13
    914?>
    1015
  • page-generator/trunk/_modules/dashboard/views/review-notice.php

    r2957435 r3262557  
    77 */
    88
     9// Exit if accessed directly.
     10if ( ! defined( 'ABSPATH' ) ) {
     11    exit;
     12}
    913?>
    1014<div class="notice notice-info is-dismissible wpzinc-review-<?php echo esc_attr( $this->plugin->name ); ?>">
     
    4145        </a>
    4246    </p>
    43 
    44     <script type="text/javascript">
    45         jQuery( document ).ready( function( $ ) {
    46             // Dismiss Review Notification.
    47             $( 'div.wpzinc-review-<?php echo esc_attr( $this->plugin->name ); ?>' ).on( 'click', 'a, button.notice-dismiss', function( e ) {
    48 
    49                 // Do request
    50                 $.post(
    51                     ajaxurl,
    52                     {
    53                         action: '<?php echo esc_attr( str_replace( '-', '_', $this->plugin->name ) ); ?>_dismiss_review',
    54                     },
    55                     function( response ) {
    56                     }
    57                 );
    58 
    59                 // Hide notice.
    60                 $( 'div.wpzinc-review-<?php echo esc_attr( $this->plugin->name ); ?>' ).hide();
    61 
    62             } );
    63         } );
    64     </script>
    6547</div>
    6648
  • page-generator/trunk/_modules/dashboard/views/sidebar-upgrade.php

    r2964115 r3262557  
    88 */
    99
     10// Exit if accessed directly.
     11if ( ! defined( 'ABSPATH' ) ) {
     12    exit;
     13}
    1014?>
    1115<!-- Keep Updated -->
  • page-generator/trunk/includes/admin/admin.php

    r3247852 r3262557  
    395395
    396396        // Get command.
    397         $cmd = ( ( isset( $_GET['cmd'] ) ) ? sanitize_text_field( $_GET['cmd'] ) : '' ); // phpcs:ignore WordPress.Security.NonceVerification
     397        $cmd = ( ( isset( $_GET['cmd'] ) ) ? sanitize_text_field( wp_unslash( $_GET['cmd'] ) ) : '' ); // phpcs:ignore WordPress.Security.NonceVerification
    398398        switch ( $cmd ) {
    399399            /**
     
    456456            array_filter(
    457457                array(
    458                     ( isset( $_REQUEST['action'] ) && $_REQUEST['action'] != '-1' ? sanitize_text_field( $_REQUEST['action'] ) : '' ), // phpcs:ignore Universal.Operators.StrictComparisons.LooseNotEqual
    459                     ( isset( $_REQUEST['action2'] ) && $_REQUEST['action2'] != '-1' ? sanitize_text_field( $_REQUEST['action2'] ) : '' ), // phpcs:ignore Universal.Operators.StrictComparisons.LooseNotEqual
    460                     ( isset( $_REQUEST['action3'] ) && ! empty( $_REQUEST['action3'] ) ? sanitize_text_field( $_REQUEST['action3'] ) : '' ),
     458                    ( isset( $_REQUEST['action'] ) && $_REQUEST['action'] != '-1' ? sanitize_text_field( wp_unslash( $_REQUEST['action'] ) ) : '' ), // phpcs:ignore Universal.Operators.StrictComparisons.LooseNotEqual
     459                    ( isset( $_REQUEST['action2'] ) && $_REQUEST['action2'] != '-1' ? sanitize_text_field( wp_unslash( $_REQUEST['action2'] ) ) : '' ), // phpcs:ignore Universal.Operators.StrictComparisons.LooseNotEqual
     460                    ( isset( $_REQUEST['action3'] ) && ! empty( $_REQUEST['action3'] ) ? sanitize_text_field( wp_unslash( $_REQUEST['action3'] ) ) : '' ),
    461461                )
    462462            )
     
    492492                // Sanitize IDs.
    493493                $ids = array();
    494                 foreach ( $_REQUEST['ids'] as $id ) {
     494                foreach ( wp_unslash( $_REQUEST['ids'] ) as $id ) { // phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotSanitized
    495495                    $id         = absint( sanitize_text_field( $id ) );
    496496                    $ids[ $id ] = $id;
     
    530530
    531531        // Bail if no page specified.
    532         $page = ( ( isset( $_GET['page'] ) ) ? sanitize_text_field( $_GET['page'] ) : false ); // phpcs:ignore WordPress.Security.NonceVerification
     532        $page = ( ( isset( $_GET['page'] ) ) ? sanitize_text_field( wp_unslash( $_GET['page'] ) ) : false ); // phpcs:ignore WordPress.Security.NonceVerification
    533533        if ( ! $page ) {
    534534            return;
     
    548548
    549549        // Bail if nonce fails verification, as it might be for a different request.
    550         if ( ! wp_verify_nonce( $_REQUEST['_wpnonce'], 'action-keywords' ) ) {
     550        if ( ! wp_verify_nonce( sanitize_key( $_REQUEST['_wpnonce'] ), 'action-keywords' ) ) {
    551551            return;
    552552        }
    553553
    554554        // Bail if no row action specified.
    555         $cmd = ( ( isset( $_GET['cmd'] ) ) ? sanitize_text_field( $_GET['cmd'] ) : false );
     555        $cmd = ( ( isset( $_GET['cmd'] ) ) ? sanitize_text_field( wp_unslash( $_GET['cmd'] ) ) : false );
    556556        if ( ! $cmd ) {
    557557            return;
     
    600600            array(
    601601                'page'    => $this->base->plugin->name . '-keywords',
    602                 's'       => ( isset( $_REQUEST['s'] ) ? sanitize_text_field( $_REQUEST['s'] ) : '' ), // phpcs:ignore WordPress.Security.NonceVerification
    603                 'paged'   => ( isset( $_REQUEST['paged'] ) ? sanitize_text_field( $_REQUEST['paged'] ) : 1 ), // phpcs:ignore WordPress.Security.NonceVerification
    604                 'orderby' => ( isset( $_REQUEST['orderby'] ) ? sanitize_sql_orderby( $_REQUEST['orderby'] ) : 'keyword' ), // phpcs:ignore WordPress.Security.NonceVerification
    605                 'order'   => ( isset( $_REQUEST['order'] ) ? sanitize_text_field( $_REQUEST['order'] ) : 'ASC' ), // phpcs:ignore WordPress.Security.NonceVerification
     602                's'       => ( isset( $_REQUEST['s'] ) ? sanitize_text_field( wp_unslash( $_REQUEST['s'] ) ) : '' ), // phpcs:ignore WordPress.Security.NonceVerification
     603                'paged'   => ( isset( $_REQUEST['paged'] ) ? sanitize_text_field( wp_unslash( $_REQUEST['paged'] ) ) : 1 ), // phpcs:ignore WordPress.Security.NonceVerification
     604                'orderby' => ( isset( $_REQUEST['orderby'] ) ? sanitize_sql_orderby( wp_unslash( $_REQUEST['orderby'] ) ) : 'keyword' ), // phpcs:ignore WordPress.Security.NonceVerification
     605                'order'   => ( isset( $_REQUEST['order'] ) ? sanitize_text_field( wp_unslash( $_REQUEST['order'] ) ) : 'ASC' ), // phpcs:ignore WordPress.Security.NonceVerification
    606606            ),
    607607            'admin.php'
     
    621621
    622622        // Get command.
    623         $cmd = ( ( isset( $_GET['cmd'] ) ) ? sanitize_text_field( $_GET['cmd'] ) : '' ); // phpcs:ignore WordPress.Security.NonceVerification
     623        $cmd = ( ( isset( $_GET['cmd'] ) ) ? sanitize_text_field( wp_unslash( $_GET['cmd'] ) ) : '' ); // phpcs:ignore WordPress.Security.NonceVerification
    624624        switch ( $cmd ) {
    625625            /**
     
    651651                // Apply the posted values to the keyword.
    652652                if ( isset( $_POST['nonce'] ) && wp_verify_nonce( sanitize_key( $_POST['nonce'] ), 'save_keyword' ) ) {
    653                     $keyword['keyword'] = wp_unslash( sanitize_text_field( $_POST['keyword'] ) );
    654                     $keyword['source']  = wp_unslash( sanitize_text_field( $_POST['source'] ) );
    655                     $keyword['options'] = stripslashes_deep( $_POST[ $keyword['source'] ] );
     653                    $keyword['keyword'] = isset( $_POST['keyword'] ) ? sanitize_text_field( wp_unslash( $_POST['keyword'] ) ) : '';
     654                    $keyword['source']  = isset( $_POST['source'] ) ? sanitize_text_field( wp_unslash( $_POST['source'] ) ) : '';
     655                    $keyword['options'] = isset( $_POST[ $keyword['source'] ] ) ? wp_unslash( $_POST[ $keyword['source'] ] ) : ''; // phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotSanitized
    656656                }
    657657
     
    708708        // Validate Form Inputs.
    709709        $id           = ( ( isset( $_REQUEST['id'] ) && ! empty( $_REQUEST['id'] ) ) ? absint( $_REQUEST['id'] ) : '' );
    710         $keyword_name = sanitize_text_field( $_POST['keyword'] );
    711         $source       = sanitize_text_field( $_POST['source'] );
     710        $keyword_name = isset( $_POST['keyword'] ) ? sanitize_text_field( wp_unslash( $_POST['keyword'] ) ) : '';
     711        $source       = isset( $_POST['source'] ) ? sanitize_text_field( wp_unslash( $_POST['source'] ) ) : '';
    712712        $options      = array(
    713             'data' => ( isset( $_POST[ $source ]['data'] ) ? sanitize_textarea_field( $_POST[ $source ]['data'] ) : '' ),
     713            'data' => ( isset( $_POST[ $source ]['data'] ) ? sanitize_textarea_field( wp_unslash( $_POST[ $source ]['data'] ) ) : '' ),
    714714        );
    715715
     
    765765        // Get Group ID and Type.
    766766        $id   = absint( $_REQUEST['id'] ); // phpcs:ignore WordPress.Security.NonceVerification
    767         $type = ( isset( $_REQUEST['type'] ) ? sanitize_text_field( $_REQUEST['type'] ) : 'content' ); // phpcs:ignore WordPress.Security.NonceVerification
     767        $type = ( isset( $_REQUEST['type'] ) ? sanitize_text_field( wp_unslash( $_REQUEST['type'] ) ) : 'content' ); // phpcs:ignore WordPress.Security.NonceVerification
    768768
    769769        // Get groups class.
  • page-generator/trunk/includes/admin/ajax.php

    r2746523 r3262557  
    8686        check_ajax_referer( 'search_authors', 'nonce' );
    8787
     88        // Bail if no query is specified.
     89        if ( ! isset( $_REQUEST['query'] ) ) {
     90            return wp_send_json_error( __( 'No query was specified.', 'page-generator' ) );
     91        }
     92
    8893        // Get vars.
    89         $query = sanitize_text_field( $_REQUEST['query'] );
     94        $query = sanitize_text_field( wp_unslash( $_REQUEST['query'] ) );
    9095
    9196        // Get results.
     
    269274            'group_id'                      => absint( $_POST['id'] ),
    270275            'current_index'                 => ( isset( $_POST['current_index'] ) ? absint( $_POST['current_index'] ) : 0 ),
    271             'last_generated_post_date_time' => ( isset( $_POST['last_generated_post_date_time'] ) ? sanitize_text_field( $_POST['last_generated_post_date_time'] ) : false ),
     276            'last_generated_post_date_time' => ( isset( $_POST['last_generated_post_date_time'] ) ? sanitize_text_field( wp_unslash( $_POST['last_generated_post_date_time'] ) ) : false ),
    272277            'test_mode'                     => ( isset( $_POST['test_mode'] ) ? true : false ),
    273278        );
  • page-generator/trunk/includes/admin/groups-ui.php

    r2855239 r3262557  
    581581        }
    582582
     583        // Bail if no settings are being saved.
     584        if ( ! isset( $_POST[ $this->base->plugin->name ] ) ) {
     585            return;
     586        }
     587
    583588        // Save the Group's Settings.
    584589        $result = $this->base->get_class( 'groups' )->save(
    585             $this->base->get_class( 'common' )->recursive_sanitize_text_field( $_POST[ $this->base->plugin->name ] ),
     590            $this->base->get_class( 'common' )->recursive_sanitize_text_field( wp_unslash( $_POST[ $this->base->plugin->name ] ) ), // phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotSanitized
    586591            $post_id
    587592        );
  • page-generator/trunk/includes/admin/keywords-table.php

    r2957435 r3262557  
    301301    public function get_search() {
    302302
    303         return ( isset( $_GET['s'] ) ? sanitize_text_field( wp_unslash( urldecode( $_GET['s'] ) ) ) : '' ); // phpcs:ignore WordPress.Security.NonceVerification
     303        return ( isset( $_GET['s'] ) ? urldecode( sanitize_text_field( wp_unslash( $_GET['s'] ) ) ) : '' ); // phpcs:ignore WordPress.Security.NonceVerification
    304304
    305305    }
     
    314314    private function get_order_by() {
    315315
    316         return ( isset( $_GET['orderby'] ) ? sanitize_sql_orderby( $_GET['orderby'] ) : 'keyword' ); // phpcs:ignore WordPress.Security.NonceVerification
     316        return ( isset( $_GET['orderby'] ) ? sanitize_sql_orderby( wp_unslash( $_GET['orderby'] ) ) : 'keyword' ); // phpcs:ignore WordPress.Security.NonceVerification
    317317
    318318    }
     
    327327    private function get_order() {
    328328
    329         return ( isset( $_GET['order'] ) ? sanitize_text_field( $_GET['order'] ) : 'ASC' ); // phpcs:ignore WordPress.Security.NonceVerification
     329        return ( isset( $_GET['order'] ) ? sanitize_text_field( wp_unslash( $_GET['order'] ) ) : 'ASC' ); // phpcs:ignore WordPress.Security.NonceVerification
    330330
    331331    }
  • page-generator/trunk/includes/global/screen.php

    r2855239 r3262557  
    9292
    9393            // Editing a Content Group on the frontend.
    94             if ( isset( $_SERVER['REQUEST_URI'] ) && stripos( $_SERVER['REQUEST_URI'], $this->base->plugin->name ) !== false ) {
     94            if ( isset( $_SERVER['REQUEST_URI'] ) && stripos( sanitize_text_field( wp_unslash( $_SERVER['REQUEST_URI'] ) ), $this->base->plugin->name ) !== false ) {
    9595                return array(
    9696                    'screen'  => 'content_groups',
     
    129129                $result = array(
    130130                    'screen'  => 'settings',
    131                     'section' => ( isset( $_REQUEST['tab'] ) ? str_replace( $this->base->plugin->name . '-', '', sanitize_text_field( $_REQUEST['tab'] ) ) : 'general' ), // phpcs:ignore WordPress.Security.NonceVerification
     131                    'section' => ( isset( $_REQUEST['tab'] ) ? str_replace( $this->base->plugin->name . '-', '', sanitize_text_field( wp_unslash( $_REQUEST['tab'] ) ) ) : 'general' ), // phpcs:ignore WordPress.Security.NonceVerification
    132132                );
    133133                break;
     
    147147             */
    148148            case $this->base->plugin->name . '-keywords':
    149                 $cmd = ( isset( $_REQUEST['cmd'] ) ? sanitize_text_field( $_REQUEST['cmd'] ) : false ); // phpcs:ignore WordPress.Security.NonceVerification
     149                $cmd = ( isset( $_REQUEST['cmd'] ) ? sanitize_text_field( wp_unslash( $_REQUEST['cmd'] ) ) : false ); // phpcs:ignore WordPress.Security.NonceVerification
    150150                switch ( $cmd ) {
    151151                    // Keywords WP_List_Table.
  • page-generator/trunk/page-generator.php

    r3247852 r3262557  
    88 * Plugin Name: Page Generator
    99 * Plugin URI: http://www.wpzinc.com/plugins/page-generator-pro
    10  * Version: 1.7.6
     10 * Version: 1.7.7
    1111 * Author: WP Zinc
    1212 * Author URI: http://www.wpzinc.com
     
    2525
    2626// Define Plugin version and build date.
    27 define( 'PAGE_GENERATOR_PLUGIN_VERSION', '1.7.6' );
    28 define( 'PAGE_GENERATOR_PLUGIN_BUILD_DATE', '2025-02-27 18:00:00' );
     27define( 'PAGE_GENERATOR_PLUGIN_VERSION', '1.7.7' );
     28define( 'PAGE_GENERATOR_PLUGIN_BUILD_DATE', '2025-03-27 18:00:00' );
    2929
    3030// Define Plugin paths.
  • page-generator/trunk/readme.txt

    r3247852 r3262557  
    66Tested up to: 6.7.2
    77Requires PHP: 7.4
    8 Stable tag: 1.7.6
     8Stable tag: 1.7.7
    99License: GPLv2 or later
    1010License URI: http://www.gnu.org/licenses/gpl-2.0.html
     
    9696
    9797== Changelog ==
     98
     99= 1.7.7 (2025-03-27) =
     100* Updated: Coding standards
    98101
    99102= 1.7.6 (2025-02-27) =
Note: See TracChangeset for help on using the changeset viewer.