Making WordPress.org

Changeset 13109


Ignore:
Timestamp:
01/15/2024 05:23:52 AM (13 months ago)
Author:
dd32
Message:

Plugin Directory: Allow plugins to upload additional versions for review.

This is currently limited to new plugins, which is prior to the first human review.

Iterations upon this will open it to plugins in the pending state as well, which is during the human review.

See #7384.

Location:
sites/trunk/wordpress.org/public_html/wp-content
Files:
15 edited

Legend:

Unmodified
Added
Removed
  • sites/trunk/wordpress.org/public_html/wp-content/plugins/plugin-directory/admin/class-customizations.php

    r13033 r13109  
    77use \WordPressdotorg\Plugin_Directory\Readme\Validator;
    88use \WordPressdotorg\Plugin_Directory\Admin\List_Table\Plugin_Posts;
     9
     10use const \WordPressdotorg\Plugin_Directory\PLUGIN_FILE;
     11use const \WordPressdotorg\Plugin_Directory\PLUGIN_DIR;
    912
    1013/**
     
    3740        add_filter( 'admin_head-edit.php', array( $this, 'plugin_posts_list_table' ) );
    3841        add_action( 'edit_form_top', array( $this, 'show_permalink' ) );
     42        add_action( 'post_edit_form_tag', array( $this, 'post_edit_form_tag' ) );
    3943        add_action( 'admin_notices', array( $this, 'add_post_status_notice' ) );
    4044        add_action( 'all_admin_notices', array( $this, 'admin_notices' ) );
     
    7074        add_action( 'save_post', array( __NAMESPACE__ . '\Metabox\Author_Notice', 'save_post' ) );
    7175        add_action( 'save_post', array( __NAMESPACE__ . '\Metabox\Reviewer', 'save_post' ) );
     76        add_action( 'save_post', array( __NAMESPACE__ . '\Metabox\Review_Tools', 'save_post' ) );
    7277    }
    7378
     
    129134            switch ( $hook_suffix ) {
    130135                case 'post.php':
    131                     wp_enqueue_style( 'plugin-admin-post-css', plugins_url( 'css/edit-form.css', Plugin_Directory\PLUGIN_FILE ), array( 'edit' ), 7 );
    132                     wp_enqueue_script( 'plugin-admin-post-js', plugins_url( 'js/edit-form.js', Plugin_Directory\PLUGIN_FILE ), array( 'wp-util', 'wp-lists' ), 5 );
     136                    wp_enqueue_style( 'plugin-admin-post-css', plugins_url( 'css/edit-form.css', PLUGIN_FILE ), array( 'edit' ), filemtime( PLUGIN_DIR . '/css/edit-form.css') );
     137                    wp_enqueue_script( 'plugin-admin-post-js', plugins_url( 'js/edit-form.js',PLUGIN_FILE ), array( 'wp-util', 'wp-lists', 'wp-api' ), filemtime( PLUGIN_DIR . '/js/edit-form.js') );
     138
    133139                    wp_localize_script( 'plugin-admin-post-js', 'pluginDirectory', array(
    134140                        'approvePluginAYS'    => __( 'Are you sure you want to approve this plugin?', 'wporg-plugins' ),
     
    400406        if ( 'plugin' === $post->post_type && 'publish' === $post->post_status ) {
    401407            echo get_sample_permalink_html( $post );
     408        }
     409    }
     410
     411    /**
     412     * Allow file uploads within the plugin edit screen.
     413     */
     414    public function post_edit_form_tag( $post ) {
     415        if ( 'plugin' === $post->post_type ) {
     416            echo ' enctype="multipart/form-data"';
    402417        }
    403418    }
  • sites/trunk/wordpress.org/public_html/wp-content/plugins/plugin-directory/admin/metabox/class-review-tools.php

    r13088 r13109  
    130130                $zip_preview                = Template::preview_link_zip( $slug, $zip_file->ID );
    131131                $zip_pcp                    = Template::preview_link_zip( $slug, $zip_file->ID, 'pcp' );
     132                $zip_filename               = $zip_file->submitted_name ?? preg_replace( '!^[0-9-_]+!', '', basename( $zip_url ) );
    132133
    133134                printf(
    134                     '<li>%1$s <a href="%2$s">%3$s</a> (%4$s) (<a href="%5$s" target="_blank">preview</a> | <a href="%6$s" target="_blank">pcp</a>)</li>',
     135                    '<li>%1$s <a href="%2$s" title="%3$s">%4$s</a> (%5$s) (<a href="%6$s" target="_blank">preview</a> | <a href="%7$s" target="_blank">pcp</a>)</li>',
    135136                    esc_html( $zip_date ),
    136137                    esc_url( $zip_url ),
    137                     esc_html( basename( $zip_url ) ),
     138                    esc_attr( $zip_file->post_title ),
     139                    esc_html( $zip_filename ),
    138140                    esc_html( $zip_size ),
    139141                    esc_url( $zip_preview ),
     
    142144            }
    143145            echo '</ul>';
     146        }
     147
     148        // Ability to upload an additional ZIP.
     149        if ( in_array( $post->post_status, [ 'draft', 'pending', 'new' ], true ) ) {
     150            echo '<label>
     151                <input type="file" class="plugin-file" name="zip_file" size="25" accept=".zip"/>
     152                <button class="button button-secondary plugin-upload-zip">' . __( 'Upload', 'wporg-plugins' ) . '</button>
     153                </label>';
    144154        }
    145155
  • sites/trunk/wordpress.org/public_html/wp-content/plugins/plugin-directory/api/routes/class-plugin-upload.php

    r12617 r13109  
    2323            'methods'             => WP_REST_Server::EDITABLE,
    2424            'callback'            => array( $this, 'upload' ),
    25             'permission_callback' => function( $request ) {
    26                 if (
    27                     ! current_user_can( 'plugin_approve' ) &&
    28                     get_current_user_id() != get_post_field( 'post_author', $request['ID'] )
    29                 ) {
    30                     return false;
    31                 }
    32 
    33                 $post = get_post( $request['ID'] );
    34                 if ( $post->ID != $request['ID'] || 'plugin' !== $post->post_type ) {
    35                     return false;
    36                 }
    37 
    38                 return true;
    39             },
     25            'permission_callback' => array( $this, 'permission_check' ),
     26            'args' => [
     27                'post_name' => [
     28                    'type'     => 'string',
     29                    'required' => false,
     30                ],
     31            ]
     32        ) );
     33
     34        register_rest_route( 'plugins/v1', '/upload/(?P<ID>[0-9]+)/slug', array(
     35            'methods'             => WP_REST_Server::EDITABLE,
     36            'callback'            => array( $this, 'slug' ),
     37            'permission_callback' => array( $this, 'permission_check' ),
    4038            'args' => [
    4139                'post_name' => [
    4240                    'type'     => 'string',
    4341                    'required' => true,
    44                 ]
     42                ],
    4543            ]
    4644        ) );
    4745    }
    4846
     47    public function permission_check( $request ) {
     48        if (
     49            ! current_user_can( 'plugin_approve' ) &&
     50            get_current_user_id() != get_post_field( 'post_author', $request['ID'] )
     51        ) {
     52            return false;
     53        }
     54
     55        $post = get_post( $request['ID'] );
     56        if ( $post->ID != $request['ID'] || 'plugin' !== $post->post_type ) {
     57            return false;
     58        }
     59
     60        return true;
     61    }
     62
    4963    public function upload( $request ) {
    5064        $plugin = get_post( $request['ID'] );
     65
     66        if ( ! empty( $request['post_name'] ) ) {
     67            return $this->slug( $request );
     68
     69        } elseif ( ! empty( $_FILES['zip_file'] ) && current_user_can( 'plugin_approve' ) ) {
     70            return ( new Upload_Handler() )->process_upload( $plugin->ID );
     71        }
     72    }
     73
     74    /**
     75     * Change the slug of a plugin.
     76     */
     77    public function slug( $request ) {
     78        $plugin = get_post( $request['ID'] );
    5179        $slug   = trim( $request['post_name'] ?? '' );
    52 
    5380        $result = $this->perform_slug_change( $plugin, $slug );
    5481        if ( is_wp_error( $result ) ) {
    55             // Warn the reviewer when a plugin author has attempted to use an unavailable slug. 
     82            // Warn the reviewer when a plugin author has attempted to use an unavailable slug.
    5683            Tools::audit_log(
    5784                sprintf(
  • sites/trunk/wordpress.org/public_html/wp-content/plugins/plugin-directory/class-plugin-directory.php

    r13061 r13109  
    160160            ),
    161161            'description'  => __( 'A Repo Plugin', 'wporg-plugins' ),
    162             'supports'     => array( 'comments', 'author', 'custom-fields' ),
     162            'supports'     => array( 'comments', 'author', 'custom-fields', 'media' ),
    163163            'public'       => true,
    164164            'show_ui'      => true,
     
    17421742
    17431743    /**
    1744      * Create a new post entry for a given plugin slug.
     1744     * Create (or update) a new post entry for a given plugin slug.
    17451745     *
    17461746     * @static
     
    18051805        ) );
    18061806
     1807        $update = ! empty( $args['ID'] );
    18071808        $result = wp_insert_post( $args, true );
    18081809
     
    18111812            $result = get_post( $result );
    18121813
    1813             $owner = get_userdata( $result->post_author );
    1814 
    1815             Tools::audit_log( sprintf(
    1816                 'Submitted by <a href="%s">%s</a>.',
    1817                 esc_url( 'https://profiles.wordpress.org/' . $owner->user_nicename . '/' ),
    1818                 $owner->user_login
    1819             ), $result->ID );
     1814            if ( ! $update ) {
     1815                $owner = get_userdata( $result->post_author );
     1816                Tools::audit_log( sprintf(
     1817                    'Submitted by <a href="%s">%s</a>.',
     1818                    esc_url( 'https://profiles.wordpress.org/' . $owner->user_nicename . '/' ),
     1819                    $owner->user_login
     1820                ), $result->ID );
     1821            }
    18201822        }
    18211823
  • sites/trunk/wordpress.org/public_html/wp-content/plugins/plugin-directory/jobs/class-zip-cleanup.php

    r13024 r13109  
    8888            delete_post_meta( $plugin->ID, '_submitted_zip_loc' );
    8989
     90            // Delete the file hash from the post.
     91            $file_hash = sha1_file( get_attached_file( $attachment ) );
     92            if ( $file_hash ) {
     93                delete_post_meta( $plugin->ID, 'uploaded_zip_hash', $file_hash );
     94            }
     95
    9096            // Include some log output for debugging.
    9197            $filename = basename( wp_get_attachment_url( $attachment->ID ) );
  • sites/trunk/wordpress.org/public_html/wp-content/plugins/plugin-directory/js/edit-form.js

    r6337 r13109  
    4747
    4848            $( '#contact-author' ).appendTo( '#plugin-review .inside' );
     49
     50            $( '.plugin-upload-zip' ).click( PluginEdit.uploadZip );
     51            $( '.plugin-upload-zip' ).parents('form').submit( PluginEdit.uploadZipDisable );
    4952        },
    5053
     
    148151                $( '#support-rep-error' ).empty().hide();
    149152            }
     153        },
     154
     155        uploadZip: function( e ) {
     156            e.preventDefault();
     157
     158            var $this = $(this),
     159                $container = $this.parents('label'),
     160                post_ID = $( '#post_ID' ).val(),
     161                $file = $container.find('input[type="file"]' ),
     162                file_input = $file.get(0),
     163                restEndpoint = 'plugins/v1/upload/' + post_ID;
     164
     165            if ( ! file_input.files.length ) {
     166                alert( "Select a file first." );
     167                return;
     168            }
     169
     170            $this.prop( 'disabled', true );
     171            $this.text( 'Uploading...' );
     172            $container.find( '.notice' ).remove();
     173
     174            var data = new FormData()
     175            data.append( $file.prop( 'name' ), file_input.files[0] );
     176            data.append( 'admin', true );
     177
     178            wp.apiRequest( {
     179                path: restEndpoint,
     180                type: 'POST',
     181                data: data,
     182                processData: false,
     183                contentType: false,
     184            } )
     185            .done( function( response, statusText ) {
     186                var successHtml = response?.responseJSON?.message || statusText;
     187
     188                $container.append( '<div class="notice notice-success"><p>' + successHtml + '</p></div>' );
     189
     190                $('ul.plugin-zip-files').append(
     191                    '<li>' + new Date().toLocaleString() + ' ' + file_input.files[0].name + '</li>'
     192                );
     193
     194                $file.val( '' );
     195            } )
     196            .fail( function( response, statusText ) {
     197                var errorHtml = response?.responseJSON?.message || statusText;
     198
     199                $container.append( '<div class="notice notice-error"><p>' + errorHtml + '</p></div>' );
     200            } )
     201            .always( function() {
     202                $this.text( 'Upload' ).prop( 'disabled', false );
     203            } );
     204        },
     205   
     206        // Disable any file input fields, to prevent the browser sending it.
     207        uploadZipDisable: function() {
     208            $(this).find('input[type="file"]').prop( 'disabled', true );
    150209        }
    151210
  • sites/trunk/wordpress.org/public_html/wp-content/plugins/plugin-directory/plugin-directory.php

    r8440 r13109  
    2121define( __NAMESPACE__ . '\PLUGIN_FILE', __FILE__ );
    2222
     23/**
     24 * Store the root plugin folder for usage with functions which need the relative path.
     25 */
     26define( __NAMESPACE__ . '\PLUGIN_DIR', __DIR__ );
     27
    2328// Register an Autoloader for all files
    2429require __DIR__ . '/class-autoloader.php';
  • sites/trunk/wordpress.org/public_html/wp-content/plugins/plugin-directory/shortcodes/class-upload-handler.php

    r13021 r13109  
    22namespace WordPressdotorg\Plugin_Directory\Shortcodes;
    33
     4use WP_Error;
    45use WordPressdotorg\Plugin_Directory\CLI\Import;
    56use WordPressdotorg\Plugin_Directory\Readme\Parser;
     
    5859     * Runs various tests and creates plugin post.
    5960     *
     61     * @param int $for_plugin Optional. The plugin being uploaded to. This is used when adding additional .zip files.
     62     *
    6063     * @return string|WP_Error Confirmation message on success, WP_Error object on failure.
    6164     */
    62     public function process_upload() {
     65    public function process_upload( $for_plugin = 0 ) {
    6366        if ( UPLOAD_ERR_OK !== $_FILES['zip_file']['error'] ) {
    64             return new \WP_Error( 'error_upload', __( 'Error in file upload.', 'wporg-plugins' ) );
     67            return new WP_Error( 'error_upload', __( 'Error in file upload.', 'wporg-plugins' ) );
    6568        }
    6669
    6770        // Validate the maximum upload size.
    6871        if ( $_FILES['zip_file']['size'] > wp_max_upload_size() ) {
    69             return new \WP_Error( 'error_upload', __( 'Error in file upload.', 'wporg-plugins' ) );
     72            return new WP_Error( 'error_upload', __( 'Error in file upload.', 'wporg-plugins' ) );
    7073        }
    7174
     
    7376        $has_upload_token = $this->has_valid_upload_token();
    7477        $this->plugin_dir = Filesystem::unzip( $zip_file );
     78
     79        $plugin_post       = $for_plugin ? get_post( $for_plugin ) : false;
     80        $updating_existing = (bool) $plugin_post;
     81        $this->plugin_slug = $plugin_post->post_name ?? '';
     82
     83        if ( $for_plugin && ! $updating_existing ) {
     84            return new WP_Error( 'error_upload', __( 'Error in file upload.', 'wporg-plugins' ) );
     85        }
     86
     87        // Allow plugin reviewers to bypass some restrictions.
     88        if ( $updating_existing && current_user_can( 'approve_plugins' ) && ! $has_upload_token ) {
     89            $has_upload_token = true;
     90        }
     91
     92        // If the plugin was uploaded using a token, we'll assume future uploads for the plugin should use one.
     93        if ( $updating_existing && ! $has_upload_token && $plugin_post->{'_used_upload_token'} ) {
     94            $has_upload_token = true;
     95        }
    7596
    7697        $plugin_data = (array) Import::find_plugin_headers( $this->plugin_dir, 1 /* Max Depth to search */ );
     
    85106            $error = __( 'Error: The plugin has no name.', 'wporg-plugins' );
    86107
    87             return new \WP_Error( 'no_name', $error . ' ' . sprintf(
     108            return new WP_Error( 'no_name', $error . ' ' . sprintf(
    88109                /* translators: 1: plugin header line, 2: Documentation URL */
    89110                __( 'Add a %1$s line to your main plugin file and upload the plugin again. For more information, please review our documentation on <a href="%2$s">Plugin Headers</a>.', 'wporg-plugins' ),
     
    94115
    95116        // Determine the plugin slug based on the name of the plugin in the main plugin file.
    96         $this->plugin_slug = remove_accents( $this->plugin['Name'] );
    97         $this->plugin_slug = preg_replace( '/[^a-z0-9 _.-]/i', '', $this->plugin_slug );
    98         $this->plugin_slug = str_replace( '_', '-', $this->plugin_slug );
    99         $this->plugin_slug = sanitize_title_with_dashes( $this->plugin_slug );
     117        if ( ! $this->plugin_slug ) {
     118            $this->plugin_slug = $this->generate_plugin_slug( $this->plugin['Name'] );
     119        }
    100120
    101121        if ( ! $this->plugin_slug ) {
    102122            $error = __( 'Error: The plugin has an unsupported name.', 'wporg-plugins' );
    103123
    104             return new \WP_Error( 'unsupported_name', $error . ' ' . sprintf(
     124            return new WP_Error( 'unsupported_name', $error . ' ' . sprintf(
    105125                /* translators: %s: 'Plugin Name:' */
    106126                __( 'Plugin names may only contain latin letters (A-z), numbers, spaces, and hyphens. Please change the %s line in your main plugin file and readme, then you may upload it again.', 'wporg-plugins' ),
     
    114134            $error = __( 'Error: The plugin has a reserved name.', 'wporg-plugins' );
    115135
    116             return new \WP_Error( 'reserved_name', $error . ' ' . sprintf(
     136            return new WP_Error( 'reserved_name', $error . ' ' . sprintf(
    117137                /* translators: 1: plugin slug, 2: 'Plugin Name:' */
    118138                __( 'Your chosen plugin name - %1$s - has been reserved or otherwise restricted from use entirely. Please change the %2$s line in your main plugin file and readme, then you may upload it again.', 'wporg-plugins' ),
     
    123143
    124144        // Make sure it doesn't use a TRADEMARK protected slug.
    125         if ( false !== $this->has_trademarked_slug() && ! $has_upload_token ) {
     145        if ( ! $updating_existing ) {
     146            $has_trademarked_slug = $this->has_trademarked_slug( $this->plugin_slug );
     147        } else {
     148            // If we're updating an existing plugin, we need to check the new name, but the slug may be different.
     149            $has_trademarked_slug = $this->has_trademarked_slug(
     150                $this->generate_plugin_slug( $this->plugin['Name'] )
     151            );
     152        }
     153        if ( false !== $has_trademarked_slug && ! $has_upload_token ) {
    126154            $error = __( 'Error: The plugin name includes a restricted term.', 'wporg-plugins' );
    127155
    128             if ( $this->has_trademarked_slug() === trim( $this->has_trademarked_slug(), '-' ) ) {
     156            if ( $has_trademarked_slug === trim( $has_trademarked_slug, '-' ) ) {
    129157                // Trademarks that do NOT end in "-" indicate slug cannot contain term at all.
    130158                $message = sprintf(
    131159                    /* translators: 1: plugin slug, 2: trademarked term, 3: 'Plugin Name:', 4: plugin email address */
    132160                    __( 'Your chosen plugin name - %1$s - contains the restricted term "%2$s" and cannot be used at all in your plugin permalink nor the display name. To proceed with this submission you must remove "%2$s" from the %3$s line in both your main plugin file and readme entirely. Once you\'ve finished, you may upload the plugin again. Do not attempt to work around this by removing letters (i.e. WordPess) or using numbers (4 instead of A). Those are seen as intentional actions to avoid our restrictions, and are not permitted. If you feel this is in error, such as you legally own the trademark for a term, please email us at %4$s and explain your situation.', 'wporg-plugins' ),
    133                     '<code>' . $this->plugin_slug . '</code>',
    134                     trim( $this->has_trademarked_slug(), '-' ),
     161                    '<code>' . esc_html( $this->plugin['Name'] ) . '</code>',
     162                    trim( $has_trademarked_slug, '-' ),
    135163                    '<code>Plugin Name:</code>',
    136164                    '<code>plugins@wordpress.org</code>'
     
    141169                    /* translators: 1: plugin slug, 2: trademarked term, 3: 'Plugin Name:', 4: plugin email address */
    142170                    __( 'Your chosen plugin name - %1$s - contains the restricted term "%2$s" and cannot be used to begin your permalink or display name. We disallow the use of certain terms in ways that are abused, or potentially infringe on and/or are misleading with regards to trademarks. In order to proceed with this submission, you must change the %3$s line in your main plugin file and readme to end with  "-%2$s" instead. Once you\'ve finished, you may upload the plugin again. If you feel this is in error, such as you legally own the trademark for the term, please email us at %4$s and explain your situation.', 'wporg-plugins' ),
    143                     '<code>' . $this->plugin_slug . '</code>',
    144                     trim( $this->has_trademarked_slug(), '-' ),
     171                    '<code>' . esc_html( $this->plugin['Name'] ) . '</code>',
     172                    trim( $has_trademarked_slug, '-' ),
    145173                    '<code>Plugin Name:</code>',
    146174                    '<code>plugins@wordpress.org</code>'
     
    148176            }
    149177
    150             return new \WP_Error( 'trademarked_name', $error . ' ' . $message );
    151         }
    152 
    153         $plugin_post = Plugin_Directory::get_plugin_post( $this->plugin_slug );
     178            return new WP_Error( 'trademarked_name', $error . ' ' . $message );
     179        }
     180
     181        if ( ! $plugin_post ) {
     182            $plugin_post = Plugin_Directory::get_plugin_post( $this->plugin_slug );
     183        }
    154184
    155185        // If no matching plugin by that slug, check to see if a plugin exists with that Title in the database.
     
    170200            $error = __( 'Error: The plugin already exists.', 'wporg-plugins' );
    171201
    172             return new \WP_Error( 'already_exists', $error . ' ' . sprintf(
     202            return new WP_Error( 'already_exists', $error . ' ' . sprintf(
    173203                /* translators: 1: plugin slug, 2: 'Plugin Name:' */
    174204                __( 'There is already a plugin with the name %1$s in the directory. You must rename your plugin by changing the %2$s line in your main plugin file and in your readme. Once you have done so, you may upload it again.', 'wporg-plugins' ),
     
    179209
    180210        // Is there already a plugin with the same slug by the same author?
    181         if ( $plugin_post ) {
     211        if ( $plugin_post && ! $updating_existing ) {
    182212            $error = __( 'Error: The plugin has already been submitted.', 'wporg-plugins' );
    183213
    184             return new \WP_Error( 'already_submitted', $error . ' ' . sprintf(
     214            return new WP_Error( 'already_submitted', $error . ' ' . sprintf(
    185215                /* translators: 1: plugin slug, 2: Documentation URL, 3: plugins@wordpress.org */
    186216                __( 'You have already submitted a plugin named %1$s. There is no need to resubmit existing plugins, even for new versions. Instead, please update your plugin within the directory via <a href="%2$s">SVN</a>. If you need assistance, email <a href="mailto:%3$s">%3$s</a> and let us know.', 'wporg-plugins' ),
     
    195225            $error = __( 'Error: The plugin slug is too short.', 'wporg-plugins' );
    196226
    197             return new \WP_Error( 'trademarked_name', $error . ' ' . sprintf(
     227            return new WP_Error( 'trademarked_name', $error . ' ' . sprintf(
    198228                /* translators: 1: plugin slug, 2: 'Plugin Name:' */
    199229                __( 'Your chosen plugin name - %1$s - is not permitted because it is too short. Please change the %2$s line in your main plugin file and readme to a different name. When you have finished, you may upload your plugin again.', 'wporg-plugins' ),
     
    207237            $error = __( 'Error: The plugin has no description.', 'wporg-plugins' );
    208238
    209             return new \WP_Error( 'no_description', $error . ' ' . sprintf(
     239            return new WP_Error( 'no_description', $error . ' ' . sprintf(
    210240                /* translators: 1: plugin header line, 2: Documentation URL */
    211241                __( 'We cannot find a description in your plugin headers. Please add a %1$s line to your main plugin file and upload the complete plugin again. If you need more information, please review our documentation on <a href="%2$s">Plugin Headers</a>.', 'wporg-plugins' ),
     
    219249            $error = __( 'Error: The plugin has no version.', 'wporg-plugins' );
    220250
    221             return new \WP_Error( 'no_version', $error . ' ' . sprintf(
     251            return new WP_Error( 'no_version', $error . ' ' . sprintf(
    222252                /* translators: 1: plugin header line, 2: Documentation URL */
    223253                __( 'We cannot find a version listed in your plugin headers. Please add a %1$s line to your main plugin file and upload the complete plugin again. If you need more information, please review our documentation on <a href="%2$s">Plugin Headers</a>.', 'wporg-plugins' ),
     
    231261            $error = __( 'Error: Plugin versions are expected to be numbers.', 'wporg-plugins' );
    232262
    233             return new \WP_Error( 'invalid_version', $error . ' ' . sprintf(
     263            return new WP_Error( 'invalid_version', $error . ' ' . sprintf(
    234264                /* translators: %s: 'Version:' */
    235265                __( 'Version strings may only contain numeric and period characters (i.e. 1.2). Please correct the %s line in your main plugin file and upload the plugin again.', 'wporg-plugins' ),
     
    240270        // Prevent duplicate URLs.
    241271        // This is part of how the API looks for updates, so having them different helps prevent conflicts.
    242         if ( ! empty( $this->plugin['PluginURI'] ) && ! empty( $this->plugin['AuthorURI'] ) && $this->plugin['PluginURI'] == $this->plugin['AuthorURI'] ) {
     272        if (
     273            ! empty( $this->plugin['PluginURI'] ) &&
     274            ! empty( $this->plugin['AuthorURI'] ) &&
     275            $this->plugin['PluginURI'] == $this->plugin['AuthorURI']
     276        ) {
    243277            $error = __( 'Error: Your plugin and author URIs are the same.', 'wporg-plugins' );
    244278
    245             return new \WP_Error(
     279            return new WP_Error(
    246280                'plugin_author_uri', $error . ' ' .
    247281                __( 'Your plugin headers in the main plugin file headers have the same value for both the plugin and author URI (Uniform Resource Identifier). A plugin URI is a webpage that provides details about this specific plugin. An author URI is a webpage that provides information about the author of the plugin. Those two must be different. You are not required to provide both, so pick the one that best applies to your situation.', 'wporg-plugins' )
     
    250284
    251285        // Prevent uploads using popular Plugin names in the wild.
    252         if ( function_exists( 'wporg_stats_get_plugin_name_install_count' ) && ! $has_upload_token ) {
     286        if ( function_exists( 'wporg_stats_get_plugin_name_install_count' ) && ! $has_upload_token && ! $updating_existing ) {
    253287            $installs = wporg_stats_get_plugin_name_install_count( $this->plugin['Name'] );
    254288
     
    256290                $error = __( 'Error: That plugin name is already in use.', 'wporg-plugins' );
    257291
    258                 return new \WP_Error( 'already_exists_in_the_wild', $error . ' ' . sprintf(
     292                return new WP_Error( 'already_exists_in_the_wild', $error . ' ' . sprintf(
    259293                    /* translators: 1: plugin slug, 2: 'Plugin Name:' */
    260294                    __( 'There is already a plugin with the name %1$s known to exist, though it is not hosted on WordPress.org. This means the permalink %2$s is already in use, and has a significant user base. Were we to accept it as-is, our system would overwrite those other installs and potentially damage any existing users. This is especially true since WordPress 5.5 and up will automatically update plugins and themes. You must rename your plugin by changing the %3$s line in your main plugin file and in your readme. Once you have done so, you may upload it again. If you feel this is an incorrect assessment of the situation, please email <a href="mailto:%4$s">%4$s</a> and explain why so that we may help you.', 'wporg-plugins' ),
     
    272306            $error = __( 'Error: The plugin has no readme.', 'wporg-plugins' );
    273307
    274             return new \WP_Error( 'no_readme', $error . ' ' . sprintf(
     308            return new WP_Error( 'no_readme', $error . ' ' . sprintf(
    275309                /* translators: 1: readme.txt, 2: readme.md */
    276310                __( 'The zip file must include a file named %1$s or %2$s. We recommend using %1$s as it will allow you to fully utilize our directory.', 'wporg-plugins' ),
     
    283317        // Double check no existing plugins clash with the readme title.
    284318        $readme_plugin_post = get_posts( array(
    285             'post_type'   => 'plugin',
    286             'title'       => $readme->name,
    287             'post_status' => array( 'publish', 'pending', 'disabled', 'closed', 'new', 'draft', 'approved' ),
     319            'post_type'    => 'plugin',
     320            'title'        => $readme->name,
     321            'post_status'  => array( 'publish', 'pending', 'disabled', 'closed', 'new', 'draft', 'approved' ),
     322            'post__not_in' => $plugin_post ? array( $plugin_post->ID ) : [],
    288323        ) );
    289324        if ( $readme_plugin_post && trim( $readme->name ) ) {
     
    291326
    292327            if ( $readme_plugin_post->post_author != get_current_user_id() ) {
    293                 return new \WP_Error( 'already_submitted', $error . ' ' . sprintf(
     328                return new WP_Error( 'already_submitted', $error . ' ' . sprintf(
    294329                    /* translators: 1: plugin slug, 2: 'Plugin Name:' */
    295330                    __( 'There is already a plugin with the name %1$s in the directory. You must rename your plugin by changing the %2$s line in your main plugin file and in your readme. Once you have done so, you may upload it again.', 'wporg-plugins' ),
     
    299334            }
    300335
    301             return new \WP_Error( 'already_submitted', $error . ' ' . sprintf(
     336            return new WP_Error( 'already_submitted', $error . ' ' . sprintf(
    302337                /* translators: 1: plugin slug, 2: Documentation URL, 3: plugins@wordpress.org */
    303338                __( 'You have already submitted a plugin named %1$s. There is no need to resubmit existing plugins, even for new versions. Instead, please update your plugin within the directory via <a href="%2$s">SVN</a>. If you need assistance, email <a href="mailto:%3$s">%3$s</a> and let us know.', 'wporg-plugins' ),
     
    308343        }
    309344
    310         if ( function_exists( 'wporg_stats_get_plugin_name_install_count' ) && ! $has_upload_token ) {
     345        if ( function_exists( 'wporg_stats_get_plugin_name_install_count' ) && ! $has_upload_token && ! $updating_existing ) {
    311346            $installs = wporg_stats_get_plugin_name_install_count( $readme->name );
    312347
     
    314349                $error = __( 'Error: That plugin name is already in use.', 'wporg-plugins' );
    315350
    316                 return new \WP_Error( 'already_exists_in_the_wild', $error . ' ' . sprintf(
     351                return new WP_Error( 'already_exists_in_the_wild', $error . ' ' . sprintf(
    317352                    /* translators: 1: plugin slug, 2: 'Plugin Name:' */
    318353                    __( 'There is already a plugin with the name %1$s known to exist, though it is not hosted on WordPress.org. This means the permalink %2$s is already in use, and has a significant user base. Were we to accept it as-is, our system would overwrite those other installs and potentially damage any existing users. This is especially true since WordPress 5.5 and up will automatically update plugins and themes. You must rename your plugin by changing the %3$s line in your main plugin file and in your readme. Once you have done so, you may upload it again. If you feel this is an incorrect assessment of the situation, please email <a href="mailto:%4$s">%4$s</a> and explain why so that we may help you.', 'wporg-plugins' ),
     
    329364            $error = __( 'Error: No license defined.', 'wporg-plugins' );
    330365
    331             return new \WP_Error( 'no_license', $error . ' ' . sprintf(
     366            return new WP_Error( 'no_license', $error . ' ' . sprintf(
    332367                /* translators: 1: readme.txt */
    333368                __( 'Your plugin has no license declared. Please update your %1$s with a GPLv2 (or later) compatible license.', 'wporg-plugins' ),
     
    338373        // Pass it through Plugin Check and see how great this plugin really is.
    339374        // We're not actually using this right now.
    340         $result = $this->check_plugin();
    341 
    342         if ( ! $result && ! $has_upload_token ) {
     375        $plugin_check_result = $this->check_plugin();
     376
     377        if ( ! $plugin_check_result && ! $has_upload_token ) {
    343378            $error = __( 'Error: The plugin has failed the automated checks.', 'wporg-plugins' );
    344379
    345             return new \WP_Error( 'failed_checks', $error . ' ' . sprintf(
     380            return new WP_Error( 'failed_checks', $error . ' ' . sprintf(
    346381                /* translators: 1: Plugin Check Plugin URL, 2: https://make.wordpress.org/plugins */
    347382                __( 'Please correct the listed problems with your plugin and upload it again. You can also use the <a href="%1$s">Plugin Check Plugin</a> to test your plugin before uploading. If you have any questions about this please post them to %2$s.', 'wporg-plugins' ),
    348                 '//wordpress.org/plugins/plugin-check/',
     383                'https://wordpress.org/plugins/plugin-check/',
    349384                '<a href="https://make.wordpress.org/plugins">https://make.wordpress.org/plugins</a>'
    350385            ) );
     
    354389        // Let's save everything and get things wrapped up.
    355390        // Create a new post on first-time submissions.
     391        $content = '';
     392        foreach ( $readme->sections as $section => $section_content ) {
     393            $content .= "\n\n<!--section={$section}-->\n{$section_content}";
     394        }
     395
     396        $post_args = array(
     397            'ID'           => $plugin_post->ID ?? 0,
     398            'post_title'   => $this->plugin['Name'],
     399            'post_name'    => $this->plugin_slug,
     400            'post_status'  => $plugin_post->post_status ?? 'new',
     401            'post_content' => $content,
     402            'post_excerpt' => $this->plugin['Description'],
     403            // 'tax_input'    => wp_unslash( $_POST['tax_input'] ), // for category selection
     404            'meta_input'   => array(
     405                'tested'                   => $readme->tested,
     406                'requires'                 => $readme->requires,
     407                'requires_php'             => $readme->requires_php,
     408                'stable_tag'               => $readme->stable_tag,
     409                'upgrade_notice'           => $readme->upgrade_notice,
     410                'contributors'             => $readme->contributors,
     411                'screenshots'              => $readme->screenshots,
     412                'donate_link'              => $readme->donate_link,
     413                'license'                  => $readme->license,
     414                'license_uri'              => $readme->license_uri,
     415                'sections'                 => array_keys( $readme->sections ),
     416                'version'                  => $this->plugin['Version'],
     417                'header_name'              => $this->plugin['Name'],
     418                'header_plugin_uri'        => $this->plugin['PluginURI'],
     419                'header_author'            => $this->plugin['Author'],
     420                'header_author_uri'        => $this->plugin['AuthorURI'],
     421                'header_textdomain'        => $this->plugin['TextDomain'],
     422                'header_description'       => $this->plugin['Description'],
     423                'requires_plugins'         => array_filter( array_map( 'trim', explode( ',', $this->plugin['RequiresPlugins'] ) ) ),
     424                'assets_screenshots'       => array(),
     425                'assets_icons'             => array(),
     426                'assets_banners'           => array(),
     427                'assets_banners_color'     => false,
     428                'support_threads'          => 0,
     429                'support_threads_resolved' => 0,
     430                'downloads'                => 0,
     431                'last_updated'             => gmdate( 'Y-m-d H:i:s' ),
     432                'rating'                   => 0,
     433                'ratings'                  => array(),
     434                'active_installs'          => 0,
     435                '_active_installs'         => 0,
     436                'usage'                    => array(),
     437            ),
     438        );
     439
     440        // First time submission, track some additional metadata.
    356441        if ( ! $plugin_post ) {
    357             $content = '';
    358             foreach ( $readme->sections as $section => $section_content ) {
    359                 $content .= "\n\n<!--section={$section}-->\n{$section_content}";
    360             }
    361 
    362             // Add a Plugin Directory entry for this plugin.
    363             $plugin_post = Plugin_Directory::create_plugin_post( array(
    364                 'post_title'   => $this->plugin['Name'],
    365                 'post_name'    => $this->plugin_slug,
    366                 'post_status'  => 'new',
    367                 'post_content' => $content,
    368                 'post_excerpt' => $this->plugin['Description'],
    369                 // 'tax_input'    => wp_unslash( $_POST['tax_input'] ), // for category selection
    370                 'meta_input'   => array(
    371                     'tested'                   => $readme->tested,
    372                     'requires'                 => $readme->requires,
    373                     'requires_php'             => $readme->requires_php,
    374                     'stable_tag'               => $readme->stable_tag,
    375                     'upgrade_notice'           => $readme->upgrade_notice,
    376                     'contributors'             => $readme->contributors,
    377                     'screenshots'              => $readme->screenshots,
    378                     'donate_link'              => $readme->donate_link,
    379                     'license'                  => $readme->license,
    380                     'license_uri'              => $readme->license_uri,
    381                     'sections'                 => array_keys( $readme->sections ),
    382                     'version'                  => $this->plugin['Version'],
    383                     'header_name'              => $this->plugin['Name'],
    384                     'header_plugin_uri'        => $this->plugin['PluginURI'],
    385                     'header_author'            => $this->plugin['Author'],
    386                     'header_author_uri'        => $this->plugin['AuthorURI'],
    387                     'header_textdomain'        => $this->plugin['TextDomain'],
    388                     'header_description'       => $this->plugin['Description'],
    389                     'requires_plugins'         => array_filter( array_map( 'trim', explode( ',', $this->plugin['RequiresPlugins'] ) ) ),
    390                     'assets_screenshots'       => array(),
    391                     'assets_icons'             => array(),
    392                     'assets_banners'           => array(),
    393                     'assets_banners_color'     => false,
    394                     'support_threads'          => 0,
    395                     'support_threads_resolved' => 0,
    396                     'downloads'                => 0,
    397                     'last_updated'             => gmdate( 'Y-m-d H:i:s' ),
    398                     'rating'                   => 0,
    399                     'ratings'                  => array(),
    400                     'active_installs'          => 0,
    401                     '_active_installs'         => 0,
    402                     'usage'                    => array(),
    403                     '_author_ip'               => preg_replace( '/[^0-9a-fA-F:., ]/', '', $_SERVER['REMOTE_ADDR'] ),
    404                     '_submitted_date'          => time(),
    405                 ),
    406             ) );
    407             if ( is_wp_error( $plugin_post ) ) {
    408                 return $plugin_post->get_error_message();
    409             }
     442            $post_args['meta_input']['_author_ip']        = preg_replace( '/[^0-9a-fA-F:., ]/', '', $_SERVER['REMOTE_ADDR'] );
     443            $post_args['meta_input']['_submitted_date']   = time();
     444            $post_args['meta_input']['_used_upload_token'] = $has_upload_token;
     445        }
     446
     447        // Add/Update the Plugin Directory entry for this plugin.
     448        $plugin_post = Plugin_Directory::create_plugin_post( $post_args );
     449
     450        if ( is_wp_error( $plugin_post ) ) {
     451            return $plugin_post;
    410452        }
    411453
    412454        $attachment = $this->save_zip_file( $plugin_post->ID );
    413455        if ( is_wp_error( $attachment ) ) {
    414             return $attachment->get_error_message();
     456            return $attachment;
    415457        }
    416458
     
    422464        update_post_meta( $plugin_post->ID, '_submitted_zip_loc', $lines_of_code );
    423465
     466        do_action( 'plugin_upload', $this->plugin, $plugin_post );
     467
     468        if ( $updating_existing ) {
     469            return sprintf(
     470                __( 'New version of %s uploaded for review.', 'wporg-plugins' ),
     471                esc_html( $this->plugin['Name'] )
     472            );
     473        }
     474
    424475        // Send plugin author an email for peace of mind.
    425476        $this->send_email_notification();
    426 
    427         do_action( 'plugin_upload', $this->plugin, $plugin_post );
    428477
    429478        $message = sprintf(
     
    451500        // Success!
    452501        return $message;
     502    }
     503
     504    /**
     505     * Generate a plugin slug from a Plugin name.
     506     *
     507     * @param string $plugin_name The plugin name.
     508     * @return string The generated plugin slug.
     509     */
     510    public function generate_plugin_slug( $plugin_name ) {
     511        $plugin_slug = remove_accents( $plugin_name );
     512        $plugin_slug = preg_replace( '/[^a-z0-9 _.-]/i', '', $plugin_slug );
     513        $plugin_slug = str_replace( '_', '-', $plugin_slug );
     514        $plugin_slug = sanitize_title_with_dashes( $plugin_slug );
     515
     516        return $plugin_slug;
    453517    }
    454518
     
    505569     * @return string|false The trademarked slug if found, false otherwise.
    506570     */
    507     public function has_trademarked_slug() {
     571    public function has_trademarked_slug( $plugin_slug = false ) {
     572        $plugin_slug = $plugin_slug ?: $this->plugin_slug;
     573
    508574        $trademarked_slugs = array(
    509575            'adobe-',
     
    647713            if ( '-' === $trademark[-1] ) {
    648714                // Trademarks ending in "-" indicate slug cannot begin with that term.
    649                 if ( 0 === strpos( $this->plugin_slug, $trademark ) ) {
     715                if ( 0 === strpos( $plugin_slug, $trademark ) ) {
    650716                    $has_trademarked_slug = $trademark;
    651717                    break;
    652718                }
    653             } elseif ( false !== strpos( $this->plugin_slug, $trademark ) ) {
     719            } elseif ( false !== strpos( $plugin_slug, $trademark ) ) {
    654720                // Otherwise, the term cannot appear anywhere in slug.
    655721                $has_trademarked_slug = $trademark;
     
    662728            $for_trademark = '-for-' . $has_trademarked_slug;
    663729            // At this point we might be okay, but there's one more check.
    664             if ( $for_trademark === substr( $this->plugin_slug, -1 * strlen( $for_trademark ) ) ) {
     730            if ( $for_trademark === substr( $plugin_slug, -1 * strlen( $for_trademark ) ) ) {
    665731                // Yes the slug ENDS with 'for-TRADEMARK'.
    666732                $has_trademarked_slug = false;
     
    670736        // Check portmanteaus.
    671737        foreach ( $portmanteaus as $portmanteau ) {
    672             if ( 0 === strpos( $this->plugin_slug, $portmanteau ) ) {
     738            if ( 0 === strpos( $plugin_slug, $portmanteau ) ) {
    673739                $has_trademarked_slug = $portmanteau;
    674740                break;
     
    720786     *
    721787     * @param int $post_id Post ID.
    722      * @return int|\WP_Error Attachment ID or upload error.
     788     * @return int|WP_Error Attachment ID or upload error.
    723789     */
    724790    public function save_zip_file( $post_id ) {
     791        $zip_hash = sha1_file( $_FILES['zip_file']['tmp_name'] );
     792        if ( in_array( $zip_hash, get_post_meta( $post_id, 'uploaded_zip_hash' ) ?: [], true ) ) {
     793            return new WP_Error( 'already_uploaded', __( "You've already uploaded that ZIP file.", 'wporg-plugins' ) );
     794        }
    725795
    726796        // Upload folders are already year/month based. A second-based prefix should be specific enough.
     797        $original_name              = $_FILES['zip_file']['name'];
    727798        $_FILES['zip_file']['name'] = date( 'd_H-i-s' ) . '_' . $_FILES['zip_file']['name'];
    728799
     
    730801        add_filter( 'default_site_option_upload_filetypes', array( $this, 'whitelist_zip_files' ) );
    731802
    732         $attachment_id = media_handle_upload( 'zip_file', $post_id );
     803        // Store the plugin details against the media as well.
     804        $post_details  = array(
     805            'post_title'   => sprintf( '%s Version %s', $this->plugin['Name'], $this->plugin['Version'] ),
     806            'post_excerpt' => $this->plugin['Description'],
     807        );
     808        $attachment_id = media_handle_upload( 'zip_file', $post_id, $post_details );
    733809
    734810        remove_filter( 'site_option_upload_filetypes', array( $this, 'whitelist_zip_files' ) );
    735811        remove_filter( 'default_site_option_upload_filetypes', array( $this, 'whitelist_zip_files' ) );
     812
     813        if ( ! is_wp_error( $attachment_id ) ) {
     814            // Save some basic details with the ZIP.
     815            update_post_meta( $attachment_id, 'version', $this->plugin['Version'] );
     816            update_post_meta( $attachment_id, 'submitted_name', $original_name );
     817
     818            // And record this ZIP as having been uploaded.
     819            add_post_meta( $post_id, 'uploaded_zip_hash', $zip_hash );
     820        }
    736821
    737822        return $attachment_id;
  • sites/trunk/wordpress.org/public_html/wp-content/plugins/plugin-directory/shortcodes/class-upload.php

    r12793 r13109  
    5252        ob_start();
    5353
    54         $uploader = new Upload_Handler();
    55 
    5654        include_once ABSPATH . 'wp-admin/includes/template.php';
    5755
     56        $uploader      = new Upload_Handler();
     57        $upload_result = false;
     58
    5859        list( $submitted_plugins, $submitted_counts ) = self::get_submitted_plugins();
    5960
    60         $upload_result = false;
    61 
    6261        if (
    63             ! empty( $_POST['_wpnonce'] )
    64             && wp_verify_nonce( $_POST['_wpnonce'], 'wporg-plugins-upload' )
    65             && 'upload' === $_POST['action']
    66             && ! $submitted_counts->total
    67             && ! empty( $_FILES['zip_file'] )
     62            ! empty( $_POST['_wpnonce'] ) &&
     63            ! empty( $_FILES['zip_file'] ) &&
     64            (
     65                // New submission.
     66                ! $submitted_counts->total &&
     67                empty( $_POST['plugin_id'] ) &&
     68                wp_verify_nonce( $_POST['_wpnonce'], 'wporg-plugins-upload' ) &&
     69                'upload' === $_POST['action']
     70            ) || (
     71                // Existing submission
     72                ! empty( $_POST['plugin_id'] ) &&
     73                'upload-additional' === $_POST['action'] &&
     74                wp_verify_nonce( $_POST['_wpnonce'], 'wporg-plugins-upload-' . $_POST['plugin_id'] )
     75            )
    6876        ) {
    69             $upload_result = $uploader->process_upload();
     77            $for_plugin    = absint( $_POST['plugin_id'] ?? 0 );
     78            $upload_result = $uploader->process_upload( $for_plugin );
    7079
    7180            if ( is_wp_error( $upload_result ) ) {
     81                $type    = 'error';
    7282                $message = $upload_result->get_error_message();
    7383            } else {
     84                $type    = 'success';
    7485                $message = $upload_result;
    7586            }
     
    7990
    8091            if ( ! empty( $message ) ) {
    81                 echo "<div class='notice notice-warning notice-alt'><p>{$message}</p></div>\n";
     92                echo "<div class='notice notice-{$type} notice-alt'><p>{$message}</p></div>\n";
    8293            }
    8394        }
    8495
    85         if ( ! is_wp_error( $upload_result ) ) :
     96        if ( ! is_wp_error( $upload_result ) || $submitted_counts->total ) :
    8697            $plugins       = wp_count_posts( 'plugin', 'readable' );
    8798            $oldest_plugin = get_posts( [ 'post_type' => 'plugin', 'post_status' => 'new', 'order' => 'ASC', 'orderby' => 'post_date_gmt', 'numberposts' => 1 ] );
     
    183194                    // List of all plugins in progress.
    184195                    foreach ( $submitted_plugins as $plugin ) {
    185                         $can_change_slug = ( 'new' === $plugin->post_status && ! $plugin->{'_wporg_plugin_original_slug'} );
     196                        $can_change_slug   = ( 'new' === $plugin->post_status && ! $plugin->{'_wporg_plugin_original_slug'} );
     197                        $can_upload_extras = in_array( $plugin->post_status, array( 'new', /* 'pending' */ ), true );
    186198
    187199                        echo '<li>';
     
    258270                            endif; // $can_change_slug
    259271                            echo '</li>';
     272
     273                            echo '<li>';
     274                            $attached_media = get_attached_media( 'application/zip', $plugin );
     275
     276                            echo '<strong>' . __( 'Submitted files:', 'wporg' ) . '</strong><ol>';
     277                            foreach ( $attached_media as $upload ) {
     278                                echo '<li><ul>';
     279                                $filename = $upload->submitted_name ?: preg_replace( '!^[0-9-_]+!', '', basename( get_attached_file( $upload->ID ) ) );
     280                                $version  = $upload->version ?: $plugin->version;
     281
     282                                echo '<li><code>' . esc_html( $filename ) . '</code></li>';
     283                                echo '<li>' . sprintf( __( 'Version: %s', 'wporg-plugins' ), '<code>' . esc_html( $version ) . '</code>' ) . '</li>';
     284                                echo '<li>' . sprintf( __( 'Upload Date: %s', 'wporg-plugins' ), date_i18n( get_option( 'date_format' ), strtotime( $upload->post_date ) ) ) . '</li>';
     285                                echo '</ul></li>';
     286                            }
     287                            if ( $can_upload_extras ) {
     288                                echo '<li class="unmarked-list"><a href="#" class="show-upload-additional hide-if-no-js">' . sprintf( __( 'Upload new version of %s for review.', 'wporg-plugins' ), esc_html( $plugin->post_title ) ) . '</a>';
     289                            }
     290                            echo '</ol>';
     291
     292                            if ( $can_upload_extras ) {
     293                                ?>
     294                                <form class="plugin-upload-form hidden" enctype="multipart/form-data" method="POST" action="">
     295                                    <?php wp_nonce_field( 'wporg-plugins-upload-' . $plugin->ID ); ?>
     296                                    <input type="hidden" name="action" value="upload-additional"/>
     297                                    <input type="hidden" name="plugin_id" value="<?php echo esc_attr( $plugin->ID ); ?>" />
     298
     299                                    <label class="button button-secondary zip-file">
     300                                        <input type="file" class="plugin-file" name="zip_file" size="25" accept=".zip" required data-maxbytes="<?php echo esc_attr( wp_max_upload_size() ); ?>" />
     301                                        <span><?php _e( 'Select File', 'wporg-plugins' ); ?></span>
     302                                    </label>
     303
     304                                    <input class="upload-button button button-primary" type="submit" value="<?php esc_attr_e( 'Upload', 'wporg-plugins' ) ?>"/>
     305                                </form>
     306                                <?php
     307                            }
     308                            echo '</li>';
    260309                            echo '</ul>';
    261                        
    262310                        echo "</li>\n";
    263311                    }
     
    306354                    </ul>
    307355                </fieldset> */
    308 ?>
    309 
    310                 <input type="file" id="zip_file" class="plugin-file" name="zip_file" size="25" accept=".zip" required data-maxbytes="<?php echo esc_attr( wp_max_upload_size() ); ?>" />
    311                 <label class="button button-secondary" for="zip_file"><?php _e( 'Select File', 'wporg-plugins' ); ?></label>
     356                ?>
     357
     358                <label class="button button-secondary zip-file">
     359                    <input type="file" class="plugin-file" name="zip_file" size="25" accept=".zip" required data-maxbytes="<?php echo esc_attr( wp_max_upload_size() ); ?>" />
     360                    <span><?php _e( 'Select File', 'wporg-plugins' ); ?></span>
     361                </label>
    312362
    313363                <p>
     
    357407                <input id="upload_button" class="button button-primary" type="submit" value="<?php esc_attr_e( 'Upload', 'wporg-plugins' ); ?>"/>
    358408            </form>
    359 
    360             <?php
    361             $upload_script = '
    362                 ( function ( $ ) {
    363                     var $label = $( "label.button" ),
    364                         labelText = $label.text();
    365                     $( "#zip_file" )
    366                         .on( "change", function( event ) {
    367                             var fileName = event.target.value.split( "\\\\" ).pop(),
    368                                 fileSize = event.target.files[0].size || 0;
    369 
    370                             if ( fileSize > $(this).data( "maxbytes" ) ) {
    371                                 event.target.value = "";
    372                                 fileName = false;
    373                             }
    374 
    375                             fileName ? $label.text( fileName ) : $label.text( labelText );
    376                         } )
    377                         .on( "focus", function() { $label.addClass( "focus" ); } )
    378                         .on( "blur", function() { $label.removeClass( "focus" ); } );
    379                 } ( window.jQuery ) );';
    380 
    381             if ( ! wp_script_is( 'jquery', 'done' ) ) {
    382                 wp_enqueue_script( 'jquery' );
    383                 wp_add_inline_script( 'jquery-migrate', $upload_script );
    384             } else {
    385                 printf( '<script>%s</script>', $upload_script );
    386             }
    387             ?>
    388 
    389409        <?php endif; // ! $submitted_counts->total
    390410
  • sites/trunk/wordpress.org/public_html/wp-content/themes/pub/wporg-plugins/client/styles/objects/_upload.scss

    r12617 r13109  
    11.plugin-upload-form {
     2
     3    &.hidden {
     4        display: none;
     5    }
     6
    27    fieldset {
    38        border: none;
     
    5459.plugin-queue-message {
    5560
     61    code {
     62        font-size: 1em;
     63    }
     64
    5665    dialog.slug-change input[type="text"] {
    5766        font-family: monospace;
  • sites/trunk/wordpress.org/public_html/wp-content/themes/pub/wporg-plugins/css/style-rtl.css

    r13065 r13109  
    1 @charset "UTF-8";[class*=col-]{margin:inherit}.row{display:flex;flex-direction:row;flex-wrap:wrap}@media (max-width:768px){.row{flex-direction:column;flex-wrap:nowrap}}.row.gutters>.row{margin-right:-2%}@media (max-width:768px){.row.gutters>.row{margin-right:0}}.row.gutters>.row>[class*=col-]{margin-right:2%}@media (max-width:768px){.row.gutters>.row>[class*=col-]{margin-right:0}}.row.around{justify-content:space-around}.row.between{justify-content:space-between}.row.auto .col{flex-grow:1}.col-1{width:8.3333333333%}.offset-1{margin-right:8.3333333333%}.col-2{width:16.6666666667%}.offset-2{margin-right:16.6666666667%}.col-3{width:25%}.offset-3{margin-right:25%}.col-4{width:33.3333333333%}.offset-4{margin-right:33.3333333333%}.col-5{width:41.6666666667%}.offset-5{margin-right:41.6666666667%}.col-6{width:50%}.offset-6{margin-right:50%}.col-7{width:58.3333333333%}.offset-7{margin-right:58.3333333333%}.col-8{width:66.6666666667%}.offset-8{margin-right:66.6666666667%}.col-9{width:75%}.offset-9{margin-right:75%}.col-10{width:83.3333333333%}.offset-10{margin-right:83.3333333333%}.col-11{width:91.6666666667%}.offset-11{margin-right:91.6666666667%}.col-12{width:100%}.offset-12{margin-right:100%}.gutters>.col-1{width:6.33333%}.gutters>.col-1:nth-child(n+13){margin-top:2%}.gutters>.offset-1{margin-right:10.33333%!important}.gutters>.col-2{width:14.66667%}.gutters>.col-2:nth-child(n+7){margin-top:2%}.gutters>.offset-2{margin-right:18.66667%!important}.gutters>.col-3{width:23%}.gutters>.col-3:nth-child(n+5){margin-top:2%}.gutters>.offset-3{margin-right:27%!important}.gutters>.col-4{width:31.33333%}.gutters>.col-4:nth-child(n+4){margin-top:2%}.gutters>.offset-4{margin-right:35.33333%!important}.gutters>.col-5{width:39.66667%}.gutters>.offset-5{margin-right:43.66667%!important}.gutters>.col-6{width:48%}.gutters>.col-6:nth-child(n+3){margin-top:2%}.gutters>.offset-6{margin-right:52%!important}.gutters>.col-7{width:56.33333%}.gutters>.offset-7{margin-right:60.33333%!important}.gutters>.col-8{width:64.66667%}.gutters>.offset-8{margin-right:68.66667%!important}.gutters>.col-9{width:73%}.gutters>.offset-9{margin-right:77%!important}.gutters>.col-10{width:81.33333%}.gutters>.offset-10{margin-right:85.33333%!important}.gutters>.col-11{width:89.66667%}.gutters>.offset-11{margin-right:93.66667%!important}.gutters>.col-12{width:98%}.gutters>.offset-12{margin-right:102%!important}@media (max-width:768px){[class*=" offset-"],[class^=offset-]{margin-right:0}}.first{order:-1}.last{order:1}@media (max-width:768px){.row [class*=col-]{margin-right:0;width:100%}.row.gutters [class*=col-]{margin-bottom:16px}.first-sm{order:-1}.last-sm{order:1}}.gutters .column.push-left,.push-left{margin-left:auto}.gutters .column.push-right,.push-right{margin-right:auto}.gutters .column.push-center,.push-center{margin-right:auto;margin-left:auto}.gutters .column.push-middle,.push-middle{margin-bottom:auto;margin-top:auto}.push-bottom{margin-top:auto}@media (max-width:768px){.gutters .column.push-left-sm,.push-left-sm{margin-right:0}.gutters .column.push-center-sm,.push-center-sm{margin-right:auto;margin-left:auto}.push-top-sm{margin-top:0}}.align-middle{align-items:center}.align-right{justify-content:flex-end}.align-center{justify-content:center}@media (max-width:768px){.align-left-sm{justify-content:flex-start}}.float-right{float:left}.float-left{float:right}@media (max-width:768px){.float-left,.float-right{float:none}}.fixed{right:0;position:fixed;top:0;width:100%;z-index:100}html{font-family:sans-serif;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:initial}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:initial}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{font-size:2em;margin:.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:initial}sup{top:-.5em}sub{bottom:-.25em}img{border:0}figure{margin:1em 40px}hr{box-sizing:initial;height:0}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0}optgroup{font-weight:700}table{border-spacing:0}td,th{padding:0}p{margin:1rem 0}blockquote{margin:0 1.5rem}address{margin:0 0 1.5rem}pre{margin-bottom:1.6rem;padding:1.6rem}html{box-sizing:border-box}*,:after,:before{box-sizing:inherit}body{background:#fff}blockquote,q{quotes:"" ""}blockquote:after,blockquote:before,q:after,q:before{content:""}blockquote{border-right:2px solid #767676;color:#767676;margin:1rem 0;padding-right:.8rem}blockquote cite{font-size:.8rem}figure{margin:0}hr{background-color:#eee;border:0;height:2px;margin:5rem auto}img{height:auto;max-width:100%}h1,h2,h3,h4,h5,h6{clear:both;font-family:Open Sans,sans-serif;line-height:1.5;margin:2rem 0 1rem}.h1,h1{font-size:2.44140625rem}.h1,.h2,h1,h2{font-weight:300}.h2,h2{font-size:1.953125rem}.h3,h3{font-size:1.5625rem;font-weight:400}.h4,h4{color:#32373c;font-size:1.25rem;font-weight:600;padding:0}.h5,h5{font-size:1rem;letter-spacing:.01rem}.h5,.h6,h5,h6{font-weight:600;text-transform:uppercase}.h6,h6{font-size:.8rem;letter-spacing:.8px}a{color:#0073aa;text-decoration:none}a:active,a:focus,a:hover{text-decoration:underline}a:focus{outline:thin dotted}a:active,a:hover{outline:0}li>a,p a{text-decoration:underline}li>a:hover,p a:hover{color:#d54e21}ol,ul{margin:0 1.5em 1.5em 0;padding:0}ul{list-style:square}ol{list-style:decimal}ol.unmarked-list,ul.unmarked-list{list-style:none;padding-right:0}li>ol,li>ul{margin-bottom:0}dt{font-weight:700}dd{margin:0 1.5em 1.5em}table{border:1px solid #eee;border-collapse:collapse;font-size:.8rem;margin:0 0 1rem;padding:0;width:100%}table thead{background:#32373c;color:#fff}table td,table th{border:1px solid #eee;font-weight:400;margin:0;padding:.4rem;text-align:right;vertical-align:top}table tbody tr:nth-child(2n){background:#f7f7f7}html{font-size:100%}body,button,input,select,textarea{color:#32373c;font-family:Open Sans,sans-serif;font-size:100%;line-height:1.5}@media screen and (min-width:737px){html{font-size:1.125rem}}cite,dfn,em,i{font-style:italic}blockquote{margin:0 1.5em}address{margin:0 0 1.5em}pre{background:#eee;font-family:Courier\ 10 Pitch,Courier,monospace;font-size:.9375rem;line-height:1.6;margin-bottom:1.6em;max-width:100%;overflow:auto;padding:1.6em;word-wrap:normal}code,kbd,tt,var{font-family:Monaco,Consolas,Andale Mono,DejaVu Sans Mono,monospace;font-size:.9375rem;-webkit-hyphens:none;hyphens:none}abbr,acronym{border-bottom:1px dotted #666;cursor:help}ins,mark{background:#fff9c0;text-decoration:none}big{font-size:125%}h1.title{color:#0073aa;font-size:.8rem;font-weight:600;letter-spacing:.05rem;text-transform:uppercase}.screen-reader-text{clip:rect(1px,1px,1px,1px);height:1px;overflow:hidden;position:absolute!important;width:1px}.screen-reader-text:focus{background-color:#f1f1f1;border-radius:3px;box-shadow:0 0 2px 2px #0009;clip:auto!important;color:#21759b;display:block;font-size:.875rem;font-weight:700;height:auto;right:5px;line-height:normal;padding:15px 23px 14px;text-decoration:none;top:5px;width:auto;z-index:100000}.site-content[tabindex="-1"]:focus{outline:0}.no-js .hide-if-no-js{display:none}.alignleft{display:inline;float:right;margin-left:1.5em}.alignright{display:inline;float:left;margin-right:1.5em}.aligncenter{clear:both;display:block;margin-right:auto;margin-left:auto}@media screen and (max-width:480px){.alignleft,.alignright{display:block;float:none;margin-right:auto;margin-left:auto}}.button,.button-primary,.button-secondary,.plugin-upload-form .button-primary{-webkit-appearance:none;border:1px solid;border-radius:3px;box-sizing:border-box;cursor:pointer;display:inline-block;font-size:.8rem;height:1.5625rem;line-height:1;margin:0;padding:0 .8rem;text-decoration:none;white-space:nowrap}button::-moz-focus-inner,input[type=button]::-moz-focus-inner,input[type=reset]::-moz-focus-inner,input[type=submit]::-moz-focus-inner{border:0;padding:0}.button-group.button-xl .button,.button.button-xl{font-size:1rem;height:2.44140625rem;line-height:1;padding:0 1.5rem}.button-group.button-large .button,.button.button-large{height:1.953125rem;line-height:1;padding:0 1rem}.button-group.button-small .button,.button.button-small{font-size:.64rem;height:1.25rem;line-height:1;padding:0 .5rem}a.button,a.button-primary,a.button-secondary{line-height:1.5625rem}.button-group.button-large a.button,a.button.button-large{line-height:1.953125rem}.button-group.button-xl a.button,a.button.button-xl{line-height:2.44140625rem}.button-group.button-small a.button,a.button.button-small{line-height:1.25rem}.button:active,.button:focus{outline:none}.button.hidden{display:none}input[type=reset],input[type=reset]:active,input[type=reset]:focus,input[type=reset]:hover{background:none;border:none;box-shadow:none;padding:0 2px 1px;width:auto}.button,.button-secondary,.button:visited{background:#f7f7f7;border-color:#ccc;box-shadow:0 1px 0 #ccc;color:#555;vertical-align:top}p .button{vertical-align:initial}.button-secondary:focus,.button-secondary:hover,.button.focus,.button.hover,.button:focus,.button:hover{background:#fafafa;border-color:#999;color:#23282d}.button-link:focus,.button-secondary:focus,.button.focus,.button:focus{border-color:#5b9dd9;box-shadow:0 0 3px #0073aacc}.button-secondary:active,.button.active,.button.active:hover,.button:active{background:#eee;border-color:#999;box-shadow:inset 0 2px 5px -3px #00000080;transform:translateY(1px)}.button.active:focus{border-color:#5b9dd9;box-shadow:inset 0 2px 5px -3px #00000080,0 0 3px #0073aacc}.button-disabled,.button-secondary.disabled,.button-secondary:disabled,.button-secondary[disabled],.button.disabled,.button:disabled,.button[disabled]{background:#f7f7f7!important;border-color:#ddd!important;box-shadow:none!important;color:#a0a5aa!important;cursor:default;text-shadow:0 1px 0 #fff!important;transform:none!important}.button-link,input[type=submit].button-link{background:none;border:0;border-radius:0;box-shadow:none;cursor:pointer;margin:0;outline:none;padding:0}.button-link:focus{outline:1px solid #5b9dd9}.button-primary,.download-button,.plugin-upload-form .button-primary{text-decoration:none;text-shadow:0 -1px 1px #006799,-1px 0 1px #006799,0 1px 1px #006799,1px 0 1px #006799}.button-primary,.button-primary:visited,.download-button,.download-button:visited,.plugin-upload-form .button-primary,.plugin-upload-form .button-primary:visited{background:#0085ba;border-color:#0073aa #006799 #006799;box-shadow:0 1px 0 #006799;color:#fff}.button-primary.focus,.button-primary.hover,.button-primary:focus,.button-primary:hover,.download-button.focus,.download-button.hover,.download-button:focus,.download-button:hover,.plugin-upload-form .button-primary.focus,.plugin-upload-form .button-primary.hover,.plugin-upload-form .button-primary:focus,.plugin-upload-form .button-primary:hover{background:#008ec2;border-color:#006799;box-shadow:0 1px 0 #006799;color:#fff}.button-primary.focus,.button-primary:focus,.download-button.focus,.download-button:focus,.plugin-upload-form .button-primary.focus,.plugin-upload-form .button-primary:focus{box-shadow:0 1px 0 #0073aa,0 0 2px 1px #33b3db}.button-primary.active,.button-primary.active:focus,.button-primary.active:hover,.button-primary:active,.download-button.active,.download-button.active:focus,.download-button.active:hover,.download-button:active,.plugin-upload-form .button-primary.active,.plugin-upload-form .button-primary.active:focus,.plugin-upload-form .button-primary.active:hover,.plugin-upload-form .button-primary:active{background:#0073aa;border-color:#006799;box-shadow:inset 0 2px 0 #006799;vertical-align:top}.button-primary.disabled,.button-primary:disabled,.button-primary[disabled],.download-button.disabled,.download-button:disabled,.download-button[disabled],.plugin-upload-form .button-primary.disabled,.plugin-upload-form .button-primary:disabled,.plugin-upload-form .button-primary[disabled]{background:#008ec2!important;border-color:#007cb2!important;box-shadow:none!important;color:#66c6e4!important;cursor:default;text-shadow:0 -1px 0 #0000001a!important}.button-primary.button.button-hero,.download-button.button.button-hero,.plugin-upload-form .button-primary.button.button-hero{box-shadow:0 2px 0 #006799}.button-primary.button.button-hero.active,.button-primary.button.button-hero.active:focus,.button-primary.button.button-hero.active:hover,.button-primary.button.button-hero:active,.download-button.button.button-hero.active,.download-button.button.button-hero.active:focus,.download-button.button.button-hero.active:hover,.download-button.button.button-hero:active,.plugin-upload-form .button-primary.button.button-hero.active,.plugin-upload-form .button-primary.button.button-hero.active:focus,.plugin-upload-form .button-primary.button.button-hero.active:hover,.plugin-upload-form .button-primary.button.button-hero:active{box-shadow:inset 0 3px 0 #006799}.button-primary-disabled{background:#008ec2!important;border-color:#007cb2!important;box-shadow:none!important;color:#66c6e4!important;cursor:default;text-shadow:0 -1px 0 #0000001a!important}.button-group{display:inline-block;font-size:0;position:relative;vertical-align:middle;white-space:nowrap}.button-group>.button{border-radius:0;display:inline-block;margin-left:-1px;z-index:10}.button-group>.button-primary{z-index:100}.button-group>.button:hover{z-index:20}.button-group>.button:first-child{border-radius:0 3px 3px 0}.button-group>.button:last-child{border-radius:3px 0 0 3px}.button-group>.button:focus{position:relative;z-index:1}@media screen and (max-width:737px){.button,.button.button-large,.button.button-small,.plugin-upload-form .button-primary{font-size:14px;height:auto;line-height:normal;margin-bottom:4px;padding:6px 14px;vertical-align:middle}}.clear:after,.clear:before,.comment-content:after,.comment-content:before,.committer-list li:after,.committer-list li:before,.entry-content:after,.entry-content:before,.home-below:after,.home-below:before,.plugin-meta:after,.plugin-meta:before,.plugin-upload-form .category-checklist:after,.plugin-upload-form .category-checklist:before,.site-content:after,.site-content:before,.site-footer:after,.site-footer:before,.site-header:after,.site-header:before,.support-rep-list li:after,.support-rep-list li:before,.type-plugin .plugin-header:after,.type-plugin .plugin-header:before,.type-plugin:after,.type-plugin:before{content:"";display:table;table-layout:fixed}.clear:after,.comment-content:after,.committer-list li:after,.entry-content:after,.home-below:after,.plugin-meta:after,.plugin-upload-form .category-checklist:after,.site-content:after,.site-footer:after,.site-header:after,.support-rep-list li:after,.type-plugin .plugin-header:after,.type-plugin:after{clear:both}p.subheading{color:#82878c;font-weight:300;margin:-.4rem auto 2rem;text-align:center}p.intro,p.subheading{font-size:1.25rem}p.aside{font-size:.8rem}p.note{font-size:.64rem;letter-spacing:.01rem;max-width:18.1898940355rem}input[type=checkbox],input[type=color],input[type=date],input[type=datetime-local],input[type=datetime],input[type=email],input[type=month],input[type=number],input[type=password],input[type=radio],input[type=search],input[type=tel],input[type=text],input[type=time],input[type=url],input[type=week],select,textarea{background-color:#fff;border:1px solid #ddd;box-shadow:inset 0 1px 2px #00000012;color:#32373c;outline:none;transition:border-color .05s ease-in-out}input[type=checkbox]:focus,input[type=color]:focus,input[type=date]:focus,input[type=datetime-local]:focus,input[type=datetime]:focus,input[type=email]:focus,input[type=month]:focus,input[type=number]:focus,input[type=password]:focus,input[type=radio]:focus,input[type=search]:focus,input[type=tel]:focus,input[type=text]:focus,input[type=time]:focus,input[type=url]:focus,input[type=week]:focus,select:focus,textarea:focus{border-color:#5b9dd9;box-shadow:0 0 2px #1e8cbecc}input[type=number]{height:28px}input[type=checkbox],input[type=radio]{height:16px;outline:0;width:16px}input[type=checkbox]:checked:before{margin:-3px -4px 0 0}input[type=radio]:checked+label:before{color:#82878c}input[type=radio]:checked:before{height:6px;margin:4px;width:6px}input[type=reset]:active,input[type=reset]:hover{color:#00a0d2}input[type=search]{-webkit-appearance:textfield}input,select,textarea{font-size:14px;padding:3px 5px}textarea.code{line-height:1.4;padding:4px 6px 1px}label{vertical-align:middle}input,select{margin:1px;padding:3px 5px}input.code{padding-top:6px}.wp-core-ui :-moz-placeholder,:-moz-placeholder{color:#a9a9a9}input.large-text,textarea.large-text{width:99%}input.regular-text{width:25em}input.small-text{padding:1px 6px;width:50px}input[type=number].small-text{width:65px}input.tiny-text{width:35px}input[type=number].tiny-text{width:45px}@media screen and (max-width:782px){textarea{-webkit-appearance:none}input[type=email],input[type=number],input[type=password],input[type=search],input[type=text]{-webkit-appearance:none;padding:6px 10px}input[type=number]{height:40px}input.code{padding-bottom:5px;padding-top:10px}input[type=checkbox]{-webkit-appearance:none;padding:10px}input[type=checkbox]:checked:before{font:normal 30px/1 dashicons;margin:-3px -5px}input[type=checkbox],input[type=radio]{height:25px;width:25px}input[type=radio]:checked:before{height:9px;line-height:16px;margin:7px;vertical-align:middle;width:9px}input,textarea{font-size:16px}input[type=number].small-text,input[type=password].small-text,input[type=search].small-text,input[type=text].small-text{display:inline;margin:0 3px;max-width:55px;padding:3px 6px;width:auto}input.regular-text{width:100%}label{font-size:14px}fieldset label{display:block}}a.button:active,a.button:focus,a.button:hover{text-decoration:none}.notice p{font-size:.8rem;margin:.5em 0;padding:2px}.avatar{border-radius:50%;vertical-align:middle}.locale-banner{background:#c7e8ca;font-size:.8rem;padding:.5rem;text-align:center}@media (min-width:67rem){.locale-banner{margin:1rem auto;max-width:960px}}.locale-banner a{text-decoration:underline}.block-validator .block-validator__plugin-form label{display:block;margin-bottom:.8rem}.block-validator .block-validator__plugin-input-container{display:flex;max-width:34rem}.block-validator .block-validator__plugin-input{flex:1}.block-validator .block-validator__plugin-submit{flex:0;margin-right:.73152rem}@media (max-width:36rem){.block-validator .block-validator__plugin-input-container{display:block}.block-validator .block-validator__plugin-input{width:100%}.block-validator .block-validator__plugin-submit{margin-right:0;margin-top:.73152rem}}.block-validator .notice details,.block-validator .notice p{font-size:1rem;margin:.73152rem 0}.block-validator .notice details p{font-size:.8rem;margin-right:1rem}.block-validator .notice code{font-size:1em}.block-validator .notice summary{display:list-item}.block-validator figure{border:1px solid #aaa;display:inline-block;padding:1em}.block-validator .test-screenshot{text-align:center}input,textarea{box-sizing:border-box}input[type=checkbox],input[type=color],input[type=date],input[type=datetime-local],input[type=datetime],input[type=email],input[type=month],input[type=number],input[type=password],input[type=radio],input[type=search],input[type=tel],input[type=text],input[type=time],input[type=url],input[type=week],select,textarea{background-color:#fff;border:1px solid #ddd;box-shadow:inset 0 1px 2px #00000012;color:#32373c;outline:none;transition:border-color .05s ease-in-out}input[type=checkbox]:focus,input[type=color]:focus,input[type=date]:focus,input[type=datetime-local]:focus,input[type=datetime]:focus,input[type=email]:focus,input[type=month]:focus,input[type=number]:focus,input[type=password]:focus,input[type=radio]:focus,input[type=search]:focus,input[type=tel]:focus,input[type=text]:focus,input[type=time]:focus,input[type=url]:focus,input[type=week]:focus,select:focus,textarea:focus{border-color:#5b9dd9;box-shadow:0 0 2px #1e8cbecc;color:#111}input[type=email],input[type=url]{direction:rtl}input[type=email],input[type=number],input[type=password],input[type=search],input[type=text],select{padding:6px 10px}input[type=number]{height:40px;line-height:inherit}input[type=checkbox],input[type=radio]{-webkit-appearance:none;background:#fff;border:1px solid #b4b9be;box-shadow:inset 0 1px 2px #0000001a;clear:none;color:#555;cursor:pointer;display:inline-block;height:25px;line-height:0;margin:-4px 0 0 4px;min-width:16px;padding:0!important;text-align:center;transition:border-color .05s ease-in-out;vertical-align:middle;width:25px}input[type=checkbox]{padding:10px}input[type=radio]{border-radius:50%;line-height:10px;margin-left:4px}input[type=checkbox]:checked:before,input[type=radio]:checked:before{display:inline-block;float:right;font:normal 21px/1 dashicons;vertical-align:middle;width:16px;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;speak:none}input[type=checkbox]:checked:before{color:#1e8cbe;content:"\f147";font:normal 30px/1 dashicons;margin:-3px -5px}input[type=radio]:checked:before{background-color:#1e8cbe;border-radius:50px;content:"•";font-size:24px;height:9px;line-height:16px;margin:7px;text-indent:-9999px;vertical-align:middle;width:9px}@-moz-document url-prefix(){.form-table input.tog,input[type=checkbox],input[type=radio]{margin-bottom:-1px}}input[type=search]::-webkit-search-decoration{display:none}.ie8 input[type=password]{font-family:sans-serif}button,input,select,textarea{font-family:inherit;font-size:inherit;font-weight:inherit}input,select,textarea{border-radius:0;font-size:16px}textarea{line-height:1.4;overflow:auto;padding:2px 6px;resize:vertical}input[type=file]{padding:3px 0}label{cursor:pointer}input.readonly,input[readonly],textarea.readonly,textarea[readonly]{background-color:#eee}:-moz-placeholder{color:#a9a9a9}input.disabled,input:disabled,select.disabled,select:disabled,textarea.disabled,textarea:disabled{background:#ffffff80;border-color:#dededebf;box-shadow:inset 0 1px 2px #0000000a;color:#33333380}input[type=file].disabled,input[type=file]:disabled,input[type=range].disabled,input[type=range]:disabled{background:none;box-shadow:none}input[type=checkbox].disabled,input[type=checkbox].disabled:checked:before,input[type=checkbox]:disabled,input[type=checkbox]:disabled:checked:before,input[type=radio].disabled,input[type=radio].disabled:checked:before,input[type=radio]:disabled,input[type=radio]:disabled:checked:before{opacity:.7}fieldset label,label{vertical-align:middle}@media screen and (min-width:737px){input[type=email],input[type=number],input[type=password],input[type=search],input[type=text]{padding:3px 5px}input[type=number]{height:28px}input[type=checkbox]{padding:0}input[type=checkbox]:checked:before{font:normal 21px/1 dashicons;margin:-3px -4px 0 0}input[type=checkbox],input[type=radio]{height:16px;width:16px}input[type=radio]:checked:before{height:6px;margin:4px;width:6px}input,select,textarea{font-size:14px;padding:3px 5px}}.infinite-scroll .posts-navigation,.infinite-scroll.neverending .site-footer{display:none}.infinity-end.neverending .site-footer{display:block}.notice{background:#fff;border-right:4px solid #fff;box-shadow:0 1px 1px 0 #0000001a;font-size:.8rem;margin:1em 0;padding:1px 12px}.notice p,.notice ul{margin:.5em 0;padding:2px}.notice p a,.notice ul a{border-bottom:0}.notice pre{white-space:pre-wrap}.notice ul{list-style:none;margin:.5em}.notice.notice-alt{box-shadow:none}.notice.notice-large{padding:10px 20px}.notice.notice-success{border-right-color:#46b450}.notice.notice-success.notice-alt{background-color:#ecf7ed}.notice.notice-warning{border-right-color:#ffb900}.notice.notice-warning.notice-alt{background-color:#fff8e5}.notice.notice-error{border-right-color:#dc3232}.notice.notice-error.notice-alt{background-color:#fbeaea}.notice.notice-info{border-right-color:#00a0d2}.notice.notice-info.notice-alt{background-color:#e5f5fa}.notice.hidden{display:none}.plugin-upload-form fieldset{border:none;margin:0;padding:0}.plugin-upload-form legend{margin:1rem 0}.plugin-upload-form .category-checklist{list-style-type:none;margin:0 0 2rem}.plugin-upload-form .category-checklist li{float:right;padding:.5rem 0;width:50%}@media screen and (min-width:48em){.plugin-upload-form .category-checklist li{padding:0}.plugin-upload-form .category-checklist label{font-size:.8rem}.plugin-upload-form label.button{line-height:1.8}}.plugin-upload-form .plugin-file{height:.1px;opacity:0;overflow:hidden;position:absolute;width:.1px;z-index:-1}.plugin-upload-form .plugin-file:focus+label{box-shadow:0 1px 0 #0073aa,0 0 2px 1px #33b3db}.plugin-queue-message dialog.slug-change input[type=text]{font-family:monospace;font-size:1.2em;width:20em}.error-404 .page-content,.error-404 .page-title{text-align:center}.error-404 .page-content .logo-swing{height:10rem;margin:6rem auto;position:relative;text-align:center;width:10rem}.error-404 .page-content .logo-swing .wp-logo{right:0;max-width:none;position:absolute;top:0;width:10rem}@keyframes hinge{10%{height:180px;transform:rotate(0deg);width:180px}15%{height:185px;transform:rotate(0deg);width:185px}20%{height:180px;transform:rotate(-5deg);width:180px}40%{animation-timing-function:ease-in-out;transform-origin:top right}60%{animation-timing-function:ease-in-out;transform:rotate(-40deg);transform-origin:top right}40%,80%{animation-timing-function:ease-in-out;opacity:1;transform:rotate(-60deg);transform-origin:top right}to{opacity:0;transform:translate3d(0,700px,0)}}.hinge{animation-duration:2s;animation-name:hinge}.comments-area{margin-top:5em}.comments-area>:last-child{margin-bottom:0}.comments-area .comment-list+.comment-respond{border-top:1px solid #eaeaea}.comments-area .comment-list+.comment-respond,.comments-area .comment-navigation+.comment-respond{padding-top:1.6em}.comments-area .comments-title{margin-bottom:1.3333em}.comments-area .comment-list{list-style:none;margin:0}.comments-area .comment-list .pingback,.comments-area .comment-list .trackback,.comments-area .comment-list article{border-top:1px solid #eaeaea;padding:1.6em 0}.comments-area .comment-list article:not(:only-child){padding-bottom:0}.comments-area .comment-list article+.comment-respond{padding-bottom:1.6em}.comments-area .comment-list .children{list-style:none;margin:0}.comments-area .comment-list .children>li{padding-right:.8em}.comments-area .comment-list .alt{background:none}.comments-area .comment-author{color:#999;margin-bottom:.4em}.comments-area .comment-author .avatar{float:right;height:24px;margin-left:.8em;width:24px}.comments-area .comment-metadata,.comments-area .pingback .edit-link{color:#999;line-height:1.5}.comments-area .comment-metadata a,.comments-area .pingback .edit-link a{color:#777}.comments-area .comment-metadata{font-size:.8rem;margin-bottom:1.6em}.comments-area .comment-metadata .edit-link,.comments-area .pingback .edit-link{margin-right:1em}.comments-area .pingback .edit-link:before{top:5px}.comments-area .comment-content ol,.comments-area .comment-content ul{margin:0 1.3333em 1.6em 0}.comments-area .comment-content li>ol,.comments-area .comment-content li>ul,.comments-area .comment-content>:last-child{margin-bottom:0}.comments-area .comment-content .reply{font-size:12px}.comments-area .comment-content .reply a{border:1px solid #eaeaea;color:#707070;display:inline-block;font-weight:700;line-height:1;margin-top:2em;padding:.4167em .8333em;text-transform:uppercase}.comments-area .comment-content .reply a:focus,.comments-area .comment-content .reply a:hover{border-color:#333;color:#333;outline:0}.comments-area .comment-reply-title a{font-weight:inherit}.comments-area .comment-form label{display:block;font-size:.8rem;font-weight:700;letter-spacing:.04em;line-height:1.5}.comments-area .comment-form input[type=email],.comments-area .comment-form input[type=text],.comments-area .comment-form input[type=url],.comments-area .comment-form textarea{width:100%}.comments-area .comment-awaiting-moderation,.comments-area .comment-notes,.comments-area .form-allowed-tags,.comments-area .logged-in-as{font-size:1rem;line-height:1.5;margin-bottom:2em}.comments-area .no-comments{border-top:1px solid #eaeaea;color:#999;font-weight:700;padding-top:1.6em}.comments-area .comment-navigation+.no-comments{border-top:0}.comments-area .form-allowed-tags code{font-family:Inconsolata,monospace}.comments-area .form-submit{margin-bottom:0}.comments-area .required{color:#c0392b}.entry-content{-webkit-hyphens:auto;hyphens:auto;word-wrap:break-word}.entry-content>p:first-child{margin-top:0}.entry-content [class*=col-]~h1,.entry-content [class*=col-]~h2,.entry-content [class*=col-]~h3,.entry-content [class*=col-]~h4,.entry-content [class*=col-]~h5,.entry-content [class*=col-]~h6{clear:none}.entry-header{position:relative}.entry-header .sticky-post{color:#999;font-size:.8rem;font-style:italic;position:absolute;top:-.8rem}.entry-summary{-webkit-hyphens:auto;hyphens:auto;word-wrap:break-word}body:not(.single):not(.search) .site-main .post{margin-bottom:3.0517578125rem;max-width:40em}.gallery{margin-bottom:1.5rem}.gallery .gallery-item{display:inline-block;margin:0;text-align:center;vertical-align:top;width:100%}.gallery.gallery-columns-2 .gallery-item{max-width:50%}.gallery.gallery-columns-3 .gallery-item{max-width:33.33%}.gallery.gallery-columns-4 .gallery-item{max-width:25%}.gallery.gallery-columns-5 .gallery-item{max-width:20%}.gallery.gallery-columns-6 .gallery-item{max-width:16.66%}.gallery.gallery-columns-7 .gallery-item{max-width:14.28%}.gallery.gallery-columns-8 .gallery-item{max-width:12.5%}.gallery.gallery-columns-9 .gallery-item{max-width:11.11%}.gallery .gallery-caption{display:block}.post-navigation{margin:5em auto;padding:0}.post-navigation a{border-bottom:1px solid #eaeaea;color:#444;display:block;font-weight:600;padding:11px 0 12px;text-transform:none;width:100%}.post-navigation a:hover{color:#21759b}.post-navigation .nav-links{border-top:1px solid #eaeaea;-webkit-hyphens:auto;hyphens:auto;word-wrap:break-word}.post-navigation .meta-nav{color:#777;display:block;font-size:13px;line-height:2;text-transform:uppercase}.post-navigation .nav-next{text-align:left}.pagination .nav-links{text-align:center}.pagination .nav-links .page-numbers{background-color:#f9f9f9;cursor:hand;display:inline-block;min-width:2em;padding:8px;text-align:center}.pagination .nav-links .page-numbers.dots,.pagination .nav-links .page-numbers.next,.pagination .nav-links .page-numbers.prev{background:none;font-size:.9em;width:auto}.pagination .nav-links .page-numbers.dots{cursor:inherit}@media screen and (max-width:737px){.pagination .nav-links .page-numbers.next,.pagination .nav-links .page-numbers.prev{font-size:0;min-width:auto;padding:0}.pagination .nav-links .page-numbers.next:after,.pagination .nav-links .page-numbers.prev:before{background-color:#f9f9f9;display:inline-block;font-size:1rem;line-height:1.5;min-width:2em;padding:8px}.pagination .nav-links .page-numbers.prev:before{content:"‹"}.pagination .nav-links .page-numbers.next:after{content:"›"}}.pagination .nav-links span.page-numbers{background-color:#f7f7f7;font-weight:700}.search-form .search-field{line-height:normal;margin:0;padding:4px 5px;vertical-align:text-bottom}.site-content{margin:0 auto;max-width:960px;padding:0 1.5625rem}@media screen and (min-width:737px){.site-content{padding:0 10px 3.0517578125rem}}@media screen and (max-width:737px){.site-content .site-main{float:none;margin:0;width:auto}}.home .site-content,.page .site-content,.site-content.page{margin:auto;max-width:none;padding:0}.site-content .page-title{font-size:1.25rem;font-weight:400}.site-content .no-results{margin:0 auto 3.0517578125rem;max-width:40em;padding:0 2rem}.site-description{color:#fffc;font-size:1.25rem;font-weight:300;margin:-.4rem auto 2rem;text-align:center}.site-header{background:#0073aa;padding:1rem 0;position:relative}.site-header .site-branding{margin:0 auto;max-width:960px;padding:0 1.5625rem}@media screen and (min-width:737px){.site-header .site-branding{padding:0 10px}}.site-header.home{padding:1.5625rem 1.143rem;text-align:center}.site-title a:active,.site-title a:focus,.site-title a:hover{text-decoration:none}.widget-area{font-size:.8rem}@media screen and (min-width:480px) and (max-width:768px){.widget-area{display:flex}.widget-area .widget{width:48%}}#wporg-footer{background-color:#f7f7f7;border-top:1px solid #dfdfdf;padding:22px 14px 65px}#wporg-footer,#wporg-footer .wrapper{clear:both;margin:0 auto;overflow:auto}#wporg-footer .wrapper{max-width:930px}#wporg-footer ul{float:right;margin-bottom:20px;margin-right:24px;overflow:auto;padding-right:0;width:135px}@media screen and (min-width:960px){#wporg-footer ul:first-child{margin-right:0}}#wporg-footer ul li{color:#bbb;font-size:14px;list-style-type:none;margin-bottom:1px}#wporg-footer ul li a{text-decoration:none;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}#wporg-footer ul li a:hover{color:#0073aa;text-decoration:underline}#wporg-footer .social-media-links .dashicons{margin-left:4px}#wporg-footer .cip{clear:both;color:#ccc;float:none;font-size:.8rem;letter-spacing:.3em;margin:35px auto 0;text-align:center;text-transform:uppercase}#wporg-footer .cip.cip-image{background:url(//s.w.org/style/images/codeispoetry.png?1) 50% no-repeat;background-size:190px 15px;height:15px;text-indent:-9999px;width:190px}@media only screen and (min-resolution:1.5dppx),only screen and (min-resolution:144dpi){#wporg-footer .cip.cip-image{background-image:url(//s.w.org/style/images/codeispoetry-2x.png?1)}}@media screen and (min-width:561px) and (max-width:959px){#wporg-footer .wrapper{max-width:600px}#wporg-footer ul{margin-right:2%;width:32%}#wporg-footer ul:nth-child(3n+1){margin-right:0}#wporg-footer ul:nth-child(4n){clear:both}}@media screen and (max-width:560px){#wporg-footer .wrapper{max-width:360px}#wporg-footer ul{margin-right:4%;width:48%}#wporg-footer ul:nth-child(odd){clear:both;margin-right:0}}#wporg-header{background:#23282d;height:140px;position:relative;text-align:center;width:100%}#wporg-header .wrapper{margin:0 auto;max-width:960px}#wporg-header h1{display:inline-block;margin:auto;width:303px}#wporg-header h1 a{background:url(//s.w.org/style/images/wporg-logo.svg?3) 100% no-repeat;background-size:290px 46px;display:block;height:88px;text-indent:-9999px}#wporg-header h2.rosetta{clear:none;color:#dfdfdf;font-family:Georgia,Times New Roman,serif;font-size:30px;margin:0 60px 0 0}#wporg-header h2.rosetta a{border-bottom:none;color:#dfdfdf;display:block;height:52px;line-height:22px;padding:0}#wporg-header h2.rosetta a:hover{text-decoration:none}#wporg-header #wporg-header-menu{background:#23282d;right:-75%;list-style:none;margin:0;max-width:75%;min-width:200px;position:absolute;text-align:right;top:100%;transition:right .3s;z-index:100000}#wporg-header #wporg-header-menu.toggled{right:0}#wporg-header ul li{list-style-type:none;position:relative}#wporg-header ul li a{color:#eee;display:block;font-family:Open Sans,Helvetica,Arial,Liberation Sans,sans-serif;font-size:13px;font-weight:600;height:34px;line-height:34px;margin:0 4px;padding:10px 30px;text-decoration:none}#wporg-header ul li a.subcurrent{font-weight:700}@media (max-width:768px){#wporg-header ul li a{height:auto}}#wporg-header ul li a.current,#wporg-header ul li a:hover,#wporg-header ul li.current-menu-item a,#wporg-header ul li.current_page_parent a{color:#00a0d2}#wporg-header ul li#download,#wporg-header ul li.download{float:left;height:34px;margin-left:14px;overflow:hidden;padding:0 0 34px}@media screen and (max-width:767px){#wporg-header ul li#download,#wporg-header ul li.download{display:block;float:none;height:auto;margin:10px 20px 20px;padding-bottom:0}#wporg-header ul li#download a,#wporg-header ul li.download a{padding:4px 10px;text-align:center}}#wporg-header ul li#download a,#wporg-header ul li.download a{margin:0;padding:0 16px}#wporg-header ul li#download a:hover,#wporg-header ul li.download a:hover{color:#eee}#wporg-header ul li#download .uparrow,#wporg-header ul li#download.current,#wporg-header ul li#download.current-menu-item,#wporg-header ul li.download .uparrow,#wporg-header ul li.download.current,#wporg-header ul li.download.current-menu-item{display:none}#wporg-header ul li .nav-submenu{clip:rect(1px,1px,1px,1px);height:1px;right:-2px;margin:0;overflow:hidden;padding:0;position:absolute;width:1px;z-index:99999}#wporg-header ul li .nav-submenu li a{display:inline-block;height:24px;line-height:24px;margin:0;white-space:nowrap}@media screen and (min-width:768px){#wporg-header #head-search{float:left;margin-left:14px;padding-top:30px}}#wporg-header #head-search form{border-bottom:1px solid #3f3f3f;display:inline-block;margin-right:60px;width:288px}#wporg-header #head-search form input.text{background:#191e23;border:0;border-radius:0;box-sizing:initial;color:#b4b9be;float:right;font-family:Open Sans,sans-serif;font-size:12px;height:24px;margin:0;outline:none;padding:3px;vertical-align:top;width:256px}#wporg-header #head-search form input.text::-moz-placeholder{color:#eee}@media screen and (max-width:480px){#wporg-header #head-search form input.text{width:216px}}#wporg-header #head-search form .button{background:#191e23 url(//s.w.org/wp-includes/images/admin-bar-sprite.png?d=20120831) no-repeat 2px 5px;border:none;border-radius:0;box-shadow:none;float:right;height:30px;margin:0;padding:0;text-shadow:none!important;width:26px}@media screen and (max-width:480px){#wporg-header #head-search form{width:248px}}@media screen and (min-width:480px){#wporg-header #head-search form{margin-right:0}}@media screen and (min-width:768px){#wporg-header{height:120px;text-align:inherit}#wporg-header h1{float:right;padding-right:10px}#wporg-header h2.rosetta{float:right;margin-right:0;padding:36px 27px 0}#wporg-header #headline h2{text-rendering:optimizeLegibility}#wporg-header #wporg-header-menu{float:right;height:46px;list-style:none;margin:-15px 0 0;max-width:inherit;min-width:0;padding:0;position:static;width:100%}#wporg-header ul li{float:right;position:relative}#wporg-header ul li a{height:46px;padding:0 6px}#wporg-header ul li a.current~.uparrow{border-bottom:9px solid #f7f7f7;border-right:9px solid #0000;border-left:9px solid #0000;height:0;margin:-8px auto 0;width:0}#wporg-header ul li.current-menu-item:after,#wporg-header ul li.current_page_parent:after{border-bottom:9px solid #f7f7f7;border-right:9px solid #0000;border-left:9px solid #0000;content:"";height:0;right:50%;margin:-8px -9px 0 0;position:absolute;width:0}#wporg-header ul li .nav-submenu:hover~.uparrow,#wporg-header ul li:hover .nav-submenu~.uparrow{border-bottom:9px solid #32373c;border-right:9px solid #0000;border-left:9px solid #0000;height:0;margin:-10px auto 0;width:0}#wporg-header ul li .nav-submenu{background:#32373c;border:1px solid #32373c;border-top:0;margin-top:-1px;min-width:0}#wporg-header ul li .nav-submenu li{float:none}#wporg-header ul li .nav-submenu li a{height:34px;line-height:34px}#wporg-header .nav-menu .focus>ul,#wporg-header .nav-menu ul li:hover>ul,#wporg-header ul.nav-menu .focus>ul,#wporg-header ul.nav-menu li:hover>ul{clip:inherit;height:inherit;overflow:inherit;width:inherit}#wporg-header ul li a.current~.uparrow,#wporg-header ul li.current-menu-item:after,#wporg-header ul li.current_page_parent:after{border-bottom-color:#0073aa}}.page-download #wporg-header #download,.page-parent-download #wporg-header #download{display:none}#mobile-menu-button{background:none;border:none;box-shadow:none;display:block;float:right;font-family:dashicons;font-size:16px;font-style:normal;font-weight:400;right:10px;line-height:1;padding:1px;position:absolute;text-align:center;text-decoration:inherit;text-shadow:none;top:75px;transition:color .1s ease-in;vertical-align:top;-webkit-font-smoothing:antialiased}#mobile-menu-button:before{border:none;box-sizing:border-box;color:#888;content:"\f228";display:inline-block;float:right;font:normal 50px/1 Dashicons;margin:0;outline:none;padding:3px;text-decoration:none;vertical-align:middle;-webkit-font-smoothing:antialiased}@media screen and (min-width:768px){#mobile-menu-button{display:none}}#download-mobile{background:#f7f7f7;border-bottom:1px solid #ddd}#download-mobile .wrapper{padding:20px 0;text-align:center}#download-mobile span.download-ready{font-size:1.6em;margin:0 .25em}#download-mobile a.download-button{font-size:1.6em;height:inherit;margin:10px .25em;padding:10px 15px}.comment-content .wp-smiley,.entry-content .wp-smiley,.page-content .wp-smiley{border:none;margin-bottom:0;margin-top:0;padding:0}.wp-caption,embed,iframe,object{max-width:100%}.wp-caption{margin-bottom:1.5em}.wp-caption img[class*=wp-image-]{display:block;margin-right:auto;margin-left:auto}.wp-caption .wp-caption-text{margin:.8075em 0}.wp-caption-text{text-align:center}.gallery{margin-bottom:1.5em}.gallery-item{display:inline-block;text-align:center;vertical-align:top;width:100%}.gallery-columns-2 .gallery-item{max-width:50%}.gallery-columns-3 .gallery-item{max-width:33.33%}.gallery-columns-4 .gallery-item{max-width:25%}.gallery-columns-5 .gallery-item{max-width:20%}.gallery-columns-6 .gallery-item{max-width:16.66%}.gallery-columns-7 .gallery-item{max-width:14.28%}.gallery-columns-8 .gallery-item{max-width:12.5%}.gallery-columns-9 .gallery-item{max-width:11.11%}.gallery-caption{display:block}.site-title{display:inline-block;font-size:1.5625rem;font-weight:300;line-height:1;margin:0 0 0 2rem;max-width:none}.site-title a{color:#fff;font-weight:300;text-decoration:none}.site-title a:active,.site-title a:focus,.site-title a:hover{color:#fff}.site-header.home .site-title{display:inherit;font-size:3.8146972656rem;margin:2rem 0 1rem}.wporg-filter-bar{--wporg--filter-bar--gap:20px;--wporg--filter-bar--color:#40464d;--wporg--filter-bar--active--background-color:#2371a6;--wporg--filter-bar--focus--border-color:#2371a6;margin:0 auto;max-width:960px;padding:40px 1.5625rem 0}.wporg-filter-bar+.site-main{margin-top:2rem;padding-top:0}.wporg-filter-bar .wporg-filter-bar__navigation{flex-grow:1;margin-bottom:var(--wporg--filter-bar--gap)}.wporg-filter-bar .wporg-filter-bar__navigation ul{display:inline-block;font-size:13px;line-height:1.538;list-style:none;margin:0}.wporg-filter-bar .wporg-filter-bar__navigation ul li{display:inline-block}.wporg-filter-bar .wporg-filter-bar__navigation ul li+li{margin-right:8px}.wporg-filter-bar .wporg-filter-bar__navigation ul a{border-radius:2px;color:var(--wporg--filter-bar--color);display:block;padding:8px 12px;text-decoration:none}.wporg-filter-bar .wporg-filter-bar__navigation ul a:focus,.wporg-filter-bar .wporg-filter-bar__navigation ul a:hover{text-decoration:underline}.wporg-filter-bar .wporg-filter-bar__navigation ul a:focus-visible{box-shadow:none;outline:1.5px solid var(--wporg--filter-bar--focus--border-color);outline-offset:-.5px}.wporg-filter-bar .wporg-filter-bar__navigation ul a.is-active{background-color:var(--wporg--filter-bar--active--background-color);color:#fff}.wporg-filter-bar .wporg-filter-bar__navigation ul a.is-active:focus,.wporg-filter-bar .wporg-filter-bar__navigation ul a.is-active:hover{color:#fff}.wporg-filter-bar .wporg-filter-bar__navigation ul a.is-active:focus-visible{box-shadow:inset 0 0 0 1.5px #fff;outline:1.5px solid var(--wporg--filter-bar--focus--border-color);outline-offset:-.5px}@media screen and (min-width:737px){.wporg-filter-bar{align-items:center;display:flex;flex-wrap:wrap;gap:var(--wporg--filter-bar--gap);justify-content:space-between;padding:40px 10px 0}.wporg-filter-bar .wporg-filter-bar__navigation{margin-bottom:0}}.archive .site-main{margin-top:2rem;padding-top:0}.archive .page-header{margin:2rem 0}dialog{border:0;box-shadow:-6px 6px 6px #0003;min-height:50%;min-width:30%}@media (min-width:1280px){dialog{max-width:55%}}dialog::backdrop{background:#000;opacity:.5}dialog .close{color:inherit;cursor:pointer;position:absolute;left:1em;text-decoration:none!important;top:1em}.main-navigation{background:#0073aa;clear:both;right:0;position:absolute;top:60px;width:100%;z-index:1}.main-navigation ul{display:none;list-style:none;margin:0;padding-right:0}.main-navigation ul ul{box-shadow:0 3px 3px #0003;float:right;right:-999em;position:absolute;top:1.5em;z-index:99999}.main-navigation ul ul ul{right:-999em;top:0}.main-navigation ul ul li.focus>ul,.main-navigation ul ul li:hover>ul{right:100%}.main-navigation ul ul a{width:200px}.main-navigation ul li.focus>ul,.main-navigation ul li:hover>ul{right:auto}.main-navigation li{border-top:1px solid #fff3}.main-navigation a{color:#fffc;display:block;font-size:.8rem;padding:1rem 1.5rem 1rem 1rem;text-decoration:none}.main-navigation a.active,.main-navigation a:hover{color:#fff}@media screen and (min-width:737px){.main-navigation a.active{border-bottom:1px solid}}.main-navigation.toggled ul{display:block}.menu-toggle{-webkit-appearance:none;background:#0000;border:none;color:#fff;font-size:1.5625rem;height:3.5rem;overflow:hidden;position:absolute;left:1rem;top:-58px;width:3.5rem}.toggled .menu-toggle:before{content:"\f343"}@media screen and (min-width:737px){.menu-toggle{display:none}.main-navigation{float:left;position:relative;top:auto;width:auto}.main-navigation.toggled{padding:1px 0}.main-navigation ul{display:inline-block;font-size:0}.main-navigation ul li{border:0;display:inline-block;font-size:1rem;margin-left:1rem}.main-navigation ul li:last-of-type{margin-left:0}.main-navigation a{padding:0}}.page .entry-header{margin-top:2rem}@media screen and (min-width:737px){.page .entry-header{padding:0 2rem}}.page .entry-header .entry-title{font-size:1.5625rem;font-weight:400}@media screen and (min-width:737px){.page .entry-content{padding:0 2rem}}.page .entry-content h2{font-size:1.5625rem;font-weight:400}.page .entry-content h3{font-size:1rem;font-weight:600;letter-spacing:.01rem;text-transform:uppercase}.page .entry-content section{padding:2rem 0}.page .entry-content section:first-of-type{padding-top:0}.page .entry-content section+section{border-top:2px solid #eee}.plugin-card{background-color:#f9f9f9;margin-bottom:4%;padding:15px 15px 8px;vertical-align:top}@media screen and (min-width:737px){.plugin-card{display:inline-block;margin-left:4%;width:48%}.plugin-card:nth-of-type(2n){margin-left:0}}.plugin-card .entry{display:inline-block;margin:auto;vertical-align:top}@media screen and (min-width:21em){.plugin-card .entry{width:calc(96% - 128px)}}.plugin-card .entry-title{font-size:1rem;line-height:1.3;margin:0 0 8px}.plugin-card .entry-title a{font-weight:400;word-wrap:break-word}.plugin-card .entry-excerpt{font-size:.8rem}.plugin-card .entry-excerpt p{margin:0}.plugin-card hr{background-color:#fff;margin:15px -15px 8px}.plugin-card footer span{display:inline-block;font-size:.73152rem;overflow:hidden;white-space:nowrap}.plugin-card footer span i{display:inline-block;font-size:1rem;margin-left:.4rem}.plugin-card footer span.last-updated{display:none}.plugin-card footer span.plugin-author{width:100%}.plugin-card footer span.active-installs{min-width:48%}.plugin-card footer .dashicons{color:#bbb;display:none;height:auto;margin:0 2px -1rem;width:auto}@media (min-width:414px){.plugin-card footer .dashicons{display:inline-block}}.entry-thumbnail{display:none;max-width:128px}.entry-thumbnail .plugin-icon{background-size:cover;height:128px;width:128px}@media screen and (min-width:21em){.entry-thumbnail{display:inline-block;margin:0 0 0 4%;vertical-align:top}.entry-thumbnail a{display:block}}.single .entry-thumbnail{display:none;float:right;height:96px;margin-left:1rem;width:96px}@media screen and (min-width:26em){.single .entry-thumbnail{display:block}}.single .entry-thumbnail .plugin-icon{background-size:contain!important;height:96px!important;width:96px!important}.plugin-rating{line-height:1;margin:0 0 8px 10px}.plugin-rating .wporg-ratings{display:inline-block;margin-left:5px}.plugin-rating .rating-count{color:#999;font-size:.8rem}.site-main.single .plugin-rating .rating-count{display:none}.plugin-rating .rating-count a{color:inherit;cursor:hand;text-decoration:none}[class*=dashicons-star-]{color:#ffb900}.rtl .dashicons-star-half{transform:rotateY(-180deg)}.plugin-section{border-bottom:2px solid #eee;margin:0 auto 4.768371582rem;max-width:960px;padding-bottom:3.0517578125rem}.plugin-section:last-of-type{margin-bottom:0}.plugin-section .section-header{column-gap:10px;display:flex;flex-flow:row wrap;margin-bottom:2rem}.plugin-section .section-title{flex:1 1 auto;font-size:1.5625rem;font-weight:400;margin-bottom:0;margin-top:0}.plugin-section .section-link{align-self:center;flex:0 0 auto;font-size:1rem}.search-form{font-size:0;margin-bottom:2rem;max-width:100%;position:relative}.search-form .search-field{-webkit-appearance:none;border:none;border-radius:0;box-shadow:none;display:block;font-size:1rem;line-height:1.5;margin:0 auto;max-width:100%;padding:.5rem .5rem .5rem 2.4rem;vertical-align:initial;width:22.7373675443rem}.search-form .button-search{border-right:none;border-radius:2px 0 0 2px;border-top:none;font-size:1rem;margin:0;position:relative;left:auto;top:auto;vertical-align:top}.search-form .button-search:active{background:#006799;border-left:1px solid #006799;box-shadow:none}.search-form .button-search svg{fill:currentColor}.site-header .search-form{display:inline-block}.site-header.home .search-form .button-search,.site-main .search-form .button-search{background:#0000;border:none;border-radius:0;box-shadow:none;color:#32373c;display:block;height:45px;padding:.5rem;position:absolute;left:0;text-shadow:none;top:0}.site-header.home .search-form .button-search:focus,.site-main .search-form .button-search:focus{box-shadow:0 0 2px 1px #33b3db}.site-header.home .search-form .button-search:active,.site-main .search-form .button-search:active{background:#0000;border:none;transform:none}.site-header:not(.home) .search-form{display:block;margin:0;padding:1rem 1.5rem 1rem 1rem}@media screen and (min-width:737px){.site-header:not(.home) .search-form{padding:0}}.site-header:not(.home) .search-form .search-field{border:0;border-radius:0 2px 2px 0;display:inline-block;font-size:1rem;padding:5px 10px;position:relative;width:calc(100% - 55px)}@media screen and (min-width:737px){.site-header:not(.home) .search-form .search-field{font-size:.64rem;width:7rem}.site-header:not(.home) .search-form .search-field+.button-search{display:inline-block;margin-bottom:0}}@media screen and (min-width:60em){.site-header:not(.home) .search-form .search-field{width:10rem}}@media screen and (max-width:737px){.site-header:not(.home) .search-form .search-field+.button-search{padding:4px 14px 1px}}.site-main .search-form .search-field{border:1px solid #ddd;box-shadow:inset 0 1px 2px #00000012;padding:.5rem;width:100%}.search .site-main{margin-top:2rem;padding-top:0}.search.search-results .page-header{margin:2rem 0}.site-content{max-width:none;padding:0}nav .nav-links{text-align:center}nav .nav-links .page-numbers{background-color:#f9f9f9;cursor:hand;display:inline-block;min-width:2em;padding:8px}nav .nav-links .page-numbers.dots,nav .nav-links .page-numbers.next,nav .nav-links .page-numbers.prev{background:none;font-size:.9em;width:auto}nav .nav-links .page-numbers.dots{cursor:inherit}nav .nav-links span.page-numbers{background-color:#f7f7f7;font-weight:700}.site-main{margin:0 auto;max-width:960px;padding:3.0517578125rem 1.5625rem}@media screen and (min-width:737px){.site-main{padding:3.0517578125rem 10px}}.single .site-main,.site-main.single{padding:0}@media screen and (min-width:737px){.single .site-main,.site-main.single{padding:0 10px 3.0517578125rem}}.page .site-main,.site-main.page{padding-top:0}.site-main .page-title{font-size:1.5625rem;font-weight:400}.site-main .no-results{margin:0 auto;max-width:35.527136788rem;padding:0 2rem}@keyframes favme-anime{0%{font-size:1rem;opacity:1;-webkit-text-stroke-color:#0000}25%{color:#fff;font-size:.8rem;opacity:.6;-webkit-text-stroke-width:1px;-webkit-text-stroke-color:#dc3232}75%{color:#fff;font-size:1.42875rem;opacity:.6;-webkit-text-stroke-width:1px;-webkit-text-stroke-color:#dc3232}to{font-size:1.25rem;opacity:1;-webkit-text-stroke-color:#0000}}@keyframes favme-hover{0%{font-size:1.42875rem}80%{font-size:1.25rem}}.plugin-favorite{height:36px;text-align:center;vertical-align:top;width:36px}.plugin-favorite .plugin-favorite-heart{align-items:center;background:none;border:0;border-radius:0;box-shadow:none;color:#cbcdce;cursor:pointer;display:flex;font-size:1.25rem;height:100%;justify-content:center;line-height:1;margin:0;outline:none;padding:0;transition:all .2s ease}.plugin-favorite .plugin-favorite-heart.favorited{color:#dc3232}.plugin-favorite .plugin-favorite-heart:hover{animation:favme-hover .3s infinite alternate}.plugin-favorite .plugin-favorite-heart:focus{outline:thin dotted}.plugin-favorite .plugin-favorite-heart:focus,.plugin-favorite .plugin-favorite-heart:hover{text-decoration:none}.plugin-favorite .plugin-favorite-heart:after{content:"\f487";font-family:dashicons;vertical-align:top}.plugin-favorite .plugin-favorite-heart.is-animating{animation:favme-anime .3s}.plugin-banner{background-position:50% 50%;background-repeat:no-repeat;background-size:100%;display:inline-block;font-size:0;line-height:0;margin:0 auto 1.143rem;padding-top:32.38342%;vertical-align:middle;width:100%}@media screen and (min-width:60em){.plugin-banner{margin-top:1.5625rem}}@keyframes hideAnimation{to{visibility:hidden}}.categorization .help{color:#999;display:inline-block;font-size:.8rem;margin-top:0}.categorization label{display:block;font-weight:700}.categorization input{width:100%}.categorization .success-msg{background:#eff7ed;border:solid #64b450;border-width:0 5px 0 0;font-size:.8rem;margin-right:1rem;opacity:0;overflow:auto;padding:.1rem .6rem .2rem;position:relative;transition:visibility 0s,opacity .5s linear;-webkit-user-select:none;user-select:none;visibility:hidden}.categorization .success-msg.saved{animation:hideAnimation 0s ease-in 5s;animation-fill-mode:forwards;opacity:1;visibility:visible}.plugin-changelog,.plugin-changelog code{font-size:.8rem}.plugin-changelog h4{margin-top:0}.plugin-developers .contributors-list{font-size:0}.plugin-developers .contributors-list li{display:inline-block;font-size:1rem;margin-left:4%;vertical-align:top;width:48%}.plugin-developers .contributors-list li:nth-of-type(2n){margin-left:0}.plugin-faq h2:first-of-type{border:none;color:#32373c;font-size:1.25rem;font-weight:600;letter-spacing:.01rem;padding:0;text-transform:uppercase;text-transform:inherit}.plugin-faq dl{border-bottom:1px solid #eee}.plugin-faq dt{border-top:1px solid #eee;cursor:pointer;font-size:1rem;font-weight:600;padding:1rem 0}.plugin-faq dt:before{content:"\f347";float:left;font-family:dashicons;margin:0 1rem}.plugin-faq dt.open:before{content:"\f343"}.plugin-faq dt .button-link{display:inherit;text-align:inherit}.plugin-faq dt .button-link.no-focus{box-shadow:none;outline:none}.plugin-faq dt h3{color:#0073aa;display:inline;margin-bottom:0;margin-top:0;text-decoration:underline;text-transform:none}.plugin-faq dt h3 button{all:inherit;max-width:calc(100% - 60px)}.plugin-faq dd{display:none;margin:0 0 1rem}.no-js .plugin-faq dd{display:block}.plugin-faq dd p{margin:0}.plugin-faq dd p+p{margin-top:1rem}.image-gallery{-webkit-user-select:none;user-select:none}.image-gallery-content{position:relative}.image-gallery-content .image-gallery-left-nav,.image-gallery-content .image-gallery-right-nav{border-color:#eee;display:none;font-size:3.0517578125rem;height:100%;position:absolute;top:0;transition:background .1s ease,border .1s ease;z-index:4}@media (max-width:768px){.image-gallery-content .image-gallery-left-nav,.image-gallery-content .image-gallery-right-nav{font-size:3.4em}}@media (min-width:768px){.image-gallery-content .image-gallery-left-nav:hover,.image-gallery-content .image-gallery-right-nav:hover{background:#fff;border:1px solid #eee;opacity:.8}}.image-gallery-content .image-gallery-left-nav:before,.image-gallery-content .image-gallery-right-nav:before{font-family:dashicons;position:relative}.image-gallery-content .image-gallery-left-nav{right:0}.image-gallery-content .image-gallery-left-nav:before{content:"\f345"}.image-gallery-content .image-gallery-left-nav:hover{margin-right:-1px}.image-gallery-content .image-gallery-right-nav{left:0}.image-gallery-content .image-gallery-right-nav:before{content:"\f341"}.image-gallery-content .image-gallery-right-nav:hover{margin-left:-1px}.image-gallery-content:hover .image-gallery-left-nav,.image-gallery-content:hover .image-gallery-right-nav{display:block}.image-gallery-slides{border:1px solid #eee;line-height:0;overflow:hidden;position:relative;white-space:nowrap}.image-gallery-slide{right:0;position:absolute;top:0;width:100%}.image-gallery-slide.center{position:relative}.image-gallery-slide .image-gallery-image{margin:0}.image-gallery-slide img{display:block;margin:0 auto}.image-gallery-slide .image-gallery-description{background:#f5f5f5;color:#32373c;font-size:.8rem;line-height:1.5;padding:10px 20px;white-space:normal}@media (max-width:768px){.image-gallery-slide .image-gallery-description{font-size:.8rem;padding:8px 15px}}.image-gallery-thumbnails{background:#fff;margin-top:5px}.image-gallery-thumbnails .image-gallery-thumbnails-container{cursor:pointer;text-align:center;white-space:nowrap}.image-gallery-thumbnail{border:1px solid #eee;display:table-cell;margin-left:5px;max-height:100px;overflow:hidden}.image-gallery-thumbnail .image-gallery-image{margin:0}.image-gallery-thumbnail img{vertical-align:middle;width:100px}@media (max-width:768px){.image-gallery-thumbnail img{width:75px}}.image-gallery-thumbnail:hover{box-shadow:0 1px 8px #0000004d}.image-gallery-thumbnail.active{border:1px solid #337ab7}.image-gallery-thumbnail-label{color:#222;font-size:1em}@media (max-width:768px){.image-gallery-thumbnail-label{font-size:.8em}}.image-gallery-index{background:#0006;bottom:0;color:#fff;line-height:1;padding:10px 20px;position:absolute;left:0;z-index:4}.plugin-reviews{list-style-type:none;margin:0;padding:0}.plugin-reviews .plugin-review{border-bottom:2px solid #eee;margin:2rem 0 1rem;padding-bottom:1rem}.plugin-reviews .plugin-review:first-child{margin-top:0}.plugin-reviews .plugin-review .header-top{display:flex}.plugin-reviews .plugin-review .header-top .wporg-ratings{flex-shrink:0}.plugin-reviews .plugin-review .header-bottom{display:flex;margin-bottom:12px}.plugin-reviews .review-avatar{display:none}.plugin-reviews .review,.plugin-reviews .review-author,.plugin-reviews .wporg-ratings{display:inline-block;vertical-align:top}.plugin-reviews .review-header{margin:0 0 .5rem}.plugin-reviews .review-title{font-size:1rem;font-weight:600;letter-spacing:.01rem;line-height:1.25;margin:0 12px 8px 0;text-transform:inherit}.plugin-reviews .review-author,.plugin-reviews .review-date,.plugin-reviews .review-replies{font-size:.9em;line-height:1.25}.plugin-reviews .review-date,.plugin-reviews .review-replies{color:#999;font-size:.9em;margin-right:12px}.plugin-reviews .review-replies:before{content:"•";margin-left:12px}@media screen and (min-width:737px){.plugin-reviews .review-avatar{display:inline-block;vertical-align:top}.plugin-reviews .review-avatar .avatar{margin-left:1rem}.plugin-reviews .review{width:calc(100% - 60px - 1rem)}.plugin-reviews .review-header{margin:0}.plugin-reviews .review-author,.plugin-reviews .review-date,.plugin-reviews .review-replies{line-height:1}}.reviews-link{display:inline-block;font-size:.8rem;margin-top:.5rem;text-decoration:none}.reviews-link:after{content:"\f341";float:left;font-family:dashicons;padding-right:5px;position:relative;top:1px;vertical-align:text-top}.plugin-screenshots{list-style-type:none;margin:0;padding:0}.plugin-screenshots h2:first-of-type{border:none;color:#32373c;font-size:1.25rem;font-weight:600;padding:0;text-transform:inherit}.plugin-screenshots .image-gallery-content{display:table;width:100%}.plugin-screenshots .image-gallery-slides{display:table-cell;max-height:600px}.plugin-screenshots .image-gallery-image img{max-height:550px}.plugin-screenshots .image-gallery-thumbnail{vertical-align:top}.plugin-screenshots .image-gallery-thumbnail img{max-height:100px}.plugin-screenshots .image-gallery-thumbnails{overflow:hidden}.download-history-stats td{text-align:left}.previous-versions{max-width:60%}@media screen and (min-width:737px){.previous-versions{height:30px;vertical-align:top}}hr{margin:2.5rem auto}.section h1,.section h2,.section h3{font-size:1rem;font-weight:600;letter-spacing:.01rem;text-transform:uppercase}.section h1:nth-child(2),.section h2:nth-child(2),.section h3:nth-child(2){margin-top:0}.section h4,.section h5,.section h6{font-size:.8rem;font-weight:600;letter-spacing:.05rem;text-transform:uppercase}.section h4:nth-child(2),.section h5:nth-child(2),.section h6:nth-child(2){margin-top:0}.section h2:first-of-type{border:none;color:#32373c;font-size:1.25rem;font-weight:600;padding:0;text-transform:inherit}.type-plugin .plugin-notice{margin-top:0}.type-plugin .plugin-header{border-bottom:0;padding:1.143rem 1.5625rem}.type-plugin .plugin-header .plugin-actions{float:left;margin-inline-start:1rem}.type-plugin .plugin-header .plugin-actions div{display:inline-block;text-align:center}.type-plugin .plugin-header .plugin-title{clear:none;font-size:1.5625rem;font-weight:400;margin:0}.type-plugin .plugin-header .plugin-title a{color:inherit;text-decoration:none}.type-plugin .plugin-header .byline{color:#78848f}.type-plugin .plugin-banner+.plugin-header{padding-top:0}.type-plugin .tabs{border-bottom:2px solid #eee;list-style:none;margin:0}.type-plugin .tabs li{border:2px solid #0000;color:#0073aa;display:inline-block;font-size:.8rem;margin-bottom:-2px;transition:background .2s ease}.type-plugin .tabs li a{background:#fff;border:0;display:block;padding:.64rem 1.25rem;text-decoration:none}.type-plugin .tabs li a.active,.type-plugin .tabs li a:hover{background:#eee}.type-plugin .tabs li.active,.type-plugin .tabs li:hover{border:2px solid #eee;padding-bottom:0!important}@media screen and (max-width:34em){.type-plugin .tabs{border-top:2px solid #eee}.type-plugin .tabs li{display:block;margin-bottom:1px}.type-plugin .tabs li,.type-plugin .tabs li.active,.type-plugin .tabs li:hover{border:none;border-bottom:1px solid #eee}}.type-plugin .entry-content{max-width:48rem;padding:0 1.5625rem}@media screen and (min-width:737px){.type-plugin .entry-content{float:right;padding:0;width:65%}}.type-plugin .entry-content>div,.type-plugin .entry-content>div~button{border:0;display:none}.type-plugin .entry-content a:not(.button,.dashicons){text-decoration:underline}.type-plugin .entry-content ol>li>p,.type-plugin .entry-content ul>li>p{margin:0}.type-plugin .entry-content #admin{display:block!important}.type-plugin .plugin-blocks-list{list-style:none;margin-right:0}.type-plugin .plugin-blocks-list .plugin-blocks-list-item{display:grid;grid-template-columns:auto 1fr;margin-bottom:1.25rem}.type-plugin .plugin-blocks-list .block-icon{border:1px solid #eee;border-radius:2px;display:inline-block;height:3.5rem;margin-left:1rem;padding:1.143rem;width:3.5rem}.type-plugin .plugin-blocks-list .block-icon.dashicons{color:inherit}.type-plugin .plugin-blocks-list .block-icon svg{height:16px;width:16px;fill:currentColor}.type-plugin .plugin-blocks-list .block-title{align-self:center;font-weight:700}.type-plugin .plugin-blocks-list .has-description .block-icon{grid-row:1/span 2}.type-plugin .plugin-blocks-list .has-description .block-title{margin-bottom:.4096rem}.type-plugin .entry-meta{padding:0 1.5625rem}.type-plugin span#description,.type-plugin span#developers,.type-plugin span#installation,.type-plugin span#reviews{position:fixed}.type-plugin span#advanced.displayed~#section-links .tabs li#tablink-advanced,.type-plugin span#developers:target~#section-links .tabs li#tablink-developers,.type-plugin span#installation:target~#section-links .tabs li#tablink-installation,.type-plugin span#reviews:not(:target)~span#installation:not(:target)~span#developers:not(:target)~span#advanced:not(.displayed)~#section-links .tabs li#tablink-description,.type-plugin span#reviews:target~#section-links .tabs li#tablink-reviews{background:#fff;border:2px solid #eee;border-bottom:0;padding-bottom:2px}@media screen and (max-width:34em){.type-plugin span#advanced.displayed~#section-links .tabs li#tablink-advanced.active,.type-plugin span#advanced.displayed~#section-links .tabs li#tablink-advanced:hover,.type-plugin span#developers:target~#section-links .tabs li#tablink-developers.active,.type-plugin span#developers:target~#section-links .tabs li#tablink-developers:hover,.type-plugin span#installation:target~#section-links .tabs li#tablink-installation.active,.type-plugin span#installation:target~#section-links .tabs li#tablink-installation:hover,.type-plugin span#reviews:not(:target)~span#installation:not(:target)~span#developers:not(:target)~span#advanced:not(.displayed)~#section-links .tabs li#tablink-description.active,.type-plugin span#reviews:not(:target)~span#installation:not(:target)~span#developers:not(:target)~span#advanced:not(.displayed)~#section-links .tabs li#tablink-description:hover,.type-plugin span#reviews:target~#section-links .tabs li#tablink-reviews.active,.type-plugin span#reviews:target~#section-links .tabs li#tablink-reviews:hover{padding-bottom:2px!important}}.type-plugin span#section-links{display:flex;flex-flow:row wrap}.type-plugin span#section-links .tabs{flex:1 1 auto}@media screen and (max-width:34em){.type-plugin span#section-links{display:block}}.type-plugin #link-support{align-self:flex-end;border-bottom:2px solid #eee;flex:0 0 auto;font-size:.9rem;height:2rem}.type-plugin #link-support a:before{content:"\f125";display:inline-block;font-family:dashicons;font-size:1.2em;margin-left:.4em;max-height:1em;vertical-align:top}@media screen and (max-width:737px){.type-plugin #link-support{padding-left:20px}}@media screen and (max-width:34em){.type-plugin #link-support{border-bottom:0;display:block;margin-right:20px;margin-top:1.5rem;width:100%}}.type-plugin span#developers:target~.entry-content #tab-changelog,.type-plugin span#developers:target~.entry-content #tab-developers,.type-plugin span#developers:target~.entry-content #tab-developers .plugin-development,.type-plugin span#developers:target~.entry-content #tab-developers~button,.type-plugin span#installation:target~.entry-content #tab-installation,.type-plugin span#reviews:not(:target)~span#installation:not(:target)~span#developers:not(:target)~.entry-content #blocks,.type-plugin span#reviews:not(:target)~span#installation:not(:target)~span#developers:not(:target)~.entry-content #faq,.type-plugin span#reviews:not(:target)~span#installation:not(:target)~span#developers:not(:target)~.entry-content #screenshots,.type-plugin span#reviews:not(:target)~span#installation:not(:target)~span#developers:not(:target)~.entry-content #tab-description,.type-plugin span#reviews:not(:target)~span#installation:not(:target)~span#developers:not(:target)~.entry-content #tab-developers,.type-plugin span#reviews:not(:target)~span#installation:not(:target)~span#developers:not(:target)~.entry-content #tab-developers~button,.type-plugin span#reviews:target~.entry-content #tab-reviews{display:block}.type-plugin span#developers:target~.entry-content #tab-developers .plugin-contributors,.type-plugin span#installation:target~.entry-meta .plugin-contributors,.type-plugin span#reviews:not(:target)~span#installation:not(:target)~span#developers:not(:target)~.entry-content #tab-developers .plugin-development,.type-plugin span#reviews:not(:target)~span#installation:not(:target)~span#developers:not(:target)~.entry-meta .plugin-contributors,.type-plugin span#reviews:target~.entry-meta .plugin-contributors,.type-plugin span#reviews:target~.entry-meta .plugin-donate,.type-plugin span#reviews:target~.entry-meta .plugin-meta,.type-plugin span#reviews:target~.entry-meta .plugin-support{display:none}@media screen and (min-width:737px){.type-plugin .entry-content,.type-plugin .entry-meta,.type-plugin .plugin-header{padding-right:0;padding-left:0}.type-plugin .entry-meta{float:left;width:30%}}.plugin-adopt-me{background:#e6f4fa;font-size:.8rem;margin-top:36px;padding:12px}.plugin-adopt-me .widget-title{margin-top:0}.plugin-adopt-me p{margin-bottom:0}.widget.plugin-categorization{margin-top:2rem}.widget.plugin-categorization .widget-head{column-gap:12px;display:flex;flex-flow:row wrap;justify-content:space-between}.widget.plugin-categorization .widget-head h2{flex:1 1 auto;font-size:1rem;font-weight:700;margin-bottom:.2rem;margin-top:0}.widget.plugin-categorization .widget-head a{flex:0 0 auto;font-size:.8rem;line-height:2;text-align:left}.widget.plugin-categorization .widget-head a[href=""]{display:none}.widget.plugin-categorization .widget-head a:after{content:"\f504";font-family:dashicons;margin-right:2px}.widget.plugin-categorization p{font-size:.7rem;margin-top:.5rem}.widget.plugin-categorization~.plugin-meta li:first-child{border-top:1px solid #eee}.committer-list,.support-rep-list{font-size:.8rem;list-style:none;margin:0}.committer-list li,.support-rep-list li{padding-bottom:.5rem}.committer-list li .remove,.support-rep-list li .remove{color:red;visibility:hidden}.committer-list li:hover .remove,.support-rep-list li:hover .remove{visibility:visible}.committer-list .avatar,.support-rep-list .avatar{float:right;margin-left:10px}.committer-list .spinner,.support-rep-list .spinner{position:relative}.committer-list .spinner:after,.support-rep-list .spinner:after{background:url(/wp-admin/images/spinner.gif) no-repeat 50%;background-size:20px 20px;content:"";display:block;height:20px;margin:-10px 0 0 -10px;position:absolute;left:-50%;top:50%;transform:translateZ(0);width:20px}@media (min-resolution:120dpi),print{.committer-list .spinner:after,.support-rep-list .spinner:after{background-image:url(/wp-admin/images/spinner-2x.gif)}}.plugin-contributors.read-more{border-bottom:2px solid #eee;max-height:200px;overflow:hidden;padding-bottom:1px}.plugin-contributors.read-more.toggled{max-height:none}.no-js .plugin-contributors.read-more{max-height:none;overflow:auto}.contributors-list{font-size:.8rem;list-style-type:none;margin:0}.contributors-list li{margin-bottom:1rem}.contributors-list .avatar{float:right;margin-left:10px}.plugin-meta{margin-top:2rem}.plugin-meta ul{font-size:.8rem;list-style-type:none;margin:0;padding:0}.plugin-meta li{border-top:1px solid #eee;display:inline-block;padding:.5rem 0;position:relative;width:100%}.plugin-meta li strong{float:left}.plugin-meta li:first-child{border-top:0}.plugin-meta .languages,.plugin-meta .tags{float:left;text-align:left}.plugin-meta .tags{width:60%}.plugin-meta .languages .popover{margin-top:8px}.plugin-meta .languages .popover-trigger{color:#0073aa;font-weight:600}.plugin-meta .languages .popover-trigger:hover{text-decoration:underline}.plugin-meta [rel=tag]{background:#eee;border-radius:2px;color:#000;display:inline-block;font-size:.64rem;margin:2px;max-width:95%;overflow:hidden;padding:3px 6px;position:relative;text-overflow:ellipsis;white-space:nowrap;width:auto}.plugin-meta [rel=tag]:hover{background:#f3f3f3}.plugin-meta [rel=tag]:active{background:#dfdfdf}.popover{background-color:#fff;border:1px solid #ccc;border-radius:2px;box-shadow:0 2px 10px #0000001a;display:none;right:0;margin-top:10px;max-width:300px;padding:1em 1em 2em;position:absolute;width:100%;z-index:100}.popover.is-top-right{right:auto;left:0}.popover.is-visible{display:block}.popover .popover-close{bottom:.5em;color:#0073aa;font-size:small;position:absolute;left:.6em}.popover .popover-close:active,.popover .popover-close:focus,.popover .popover-close:hover{text-decoration:underline}.popover .popover-arrow{border:10px solid #0000;border-bottom:10px solid #ccc;border-top:none;height:0;position:absolute;left:20px;top:-10px;width:0;z-index:-1}.popover .popover-arrow:after{border:10px solid #0000;border-bottom:10px solid #fff;border-top:none;content:"";right:-10px;position:absolute;top:2px}.popover .popover-inner{text-align:right}.popover .popover-inner p:first-child{margin-top:0}.popover .popover-inner p:last-child{margin-bottom:0}.plugin-ratings{font-size:.8rem;position:relative}.plugin-ratings .reviews-link{position:absolute;left:0;top:0}.plugin-ratings .reviews-link:after{content:"\f341";font-family:dashicons;padding-right:5px;vertical-align:top}.plugin-ratings [class*=dashicons-star-]{color:#ffb900;display:inline-block;font-size:1.5625rem;height:auto;margin:0;width:auto}.plugin-ratings .ratings-list{list-style-type:none;margin:1rem 0;padding:0}.plugin-ratings .ratings-list .counter-container,.plugin-ratings .ratings-list .counter-container a{text-decoration:none;width:100%}.plugin-ratings .ratings-list .counter-label{display:inline-block;min-width:65px}.plugin-ratings .ratings-list .counter-back,.plugin-ratings .ratings-list .counter-bar{display:inline-block;height:1rem;vertical-align:middle}.plugin-ratings .ratings-list .counter-back{background-color:#ececec;width:58%;width:calc(100% - 130px)}.plugin-ratings .ratings-list .counter-bar{background-color:#ffc733;display:block}.plugin-ratings .ratings-list .counter-count{margin-right:3px}.plugin-support{font-size:.8rem}.plugin-support .counter-container{margin-bottom:1rem;position:relative}.plugin-support .counter-back,.plugin-support .counter-bar{display:inline-block;height:30px;vertical-align:middle}.plugin-support .counter-back{background-color:#ececec;width:100%}.plugin-support .counter-bar{background-color:#c7e8ca;display:block}.plugin-support .counter-count{font-size:.64rem;right:8px;position:absolute;top:8px;width:100%;width:calc(100% - 8px)}@media screen and (min-width:737px){.plugin-support .counter-count{top:5px}}.home .widget,.widget-area.home .widget{display:inline-block;font-size:.8rem;margin:0;vertical-align:top}@media screen and (min-width:737px){.home .widget,.widget-area.home .widget{margin-left:5%;width:30%}.home .widget:last-child,.widget-area.home .widget:last-child{margin-left:0}}.home .widget select,.widget-area.home .widget select{max-width:100%}.entry-meta .widget-title{border:none;color:#32373c;font-size:1.25rem;font-weight:600;padding:0}.widget-area{margin:0 auto;max-width:960px;padding:0 1.5625rem 3.0517578125rem}@media screen and (min-width:737px){.widget-area{padding:0 10px 3.0517578125rem}}
     1@charset "UTF-8";[class*=col-]{margin:inherit}.row{display:flex;flex-direction:row;flex-wrap:wrap}@media (max-width:768px){.row{flex-direction:column;flex-wrap:nowrap}}.row.gutters>.row{margin-right:-2%}@media (max-width:768px){.row.gutters>.row{margin-right:0}}.row.gutters>.row>[class*=col-]{margin-right:2%}@media (max-width:768px){.row.gutters>.row>[class*=col-]{margin-right:0}}.row.around{justify-content:space-around}.row.between{justify-content:space-between}.row.auto .col{flex-grow:1}.col-1{width:8.3333333333%}.offset-1{margin-right:8.3333333333%}.col-2{width:16.6666666667%}.offset-2{margin-right:16.6666666667%}.col-3{width:25%}.offset-3{margin-right:25%}.col-4{width:33.3333333333%}.offset-4{margin-right:33.3333333333%}.col-5{width:41.6666666667%}.offset-5{margin-right:41.6666666667%}.col-6{width:50%}.offset-6{margin-right:50%}.col-7{width:58.3333333333%}.offset-7{margin-right:58.3333333333%}.col-8{width:66.6666666667%}.offset-8{margin-right:66.6666666667%}.col-9{width:75%}.offset-9{margin-right:75%}.col-10{width:83.3333333333%}.offset-10{margin-right:83.3333333333%}.col-11{width:91.6666666667%}.offset-11{margin-right:91.6666666667%}.col-12{width:100%}.offset-12{margin-right:100%}.gutters>.col-1{width:6.33333%}.gutters>.col-1:nth-child(n+13){margin-top:2%}.gutters>.offset-1{margin-right:10.33333%!important}.gutters>.col-2{width:14.66667%}.gutters>.col-2:nth-child(n+7){margin-top:2%}.gutters>.offset-2{margin-right:18.66667%!important}.gutters>.col-3{width:23%}.gutters>.col-3:nth-child(n+5){margin-top:2%}.gutters>.offset-3{margin-right:27%!important}.gutters>.col-4{width:31.33333%}.gutters>.col-4:nth-child(n+4){margin-top:2%}.gutters>.offset-4{margin-right:35.33333%!important}.gutters>.col-5{width:39.66667%}.gutters>.offset-5{margin-right:43.66667%!important}.gutters>.col-6{width:48%}.gutters>.col-6:nth-child(n+3){margin-top:2%}.gutters>.offset-6{margin-right:52%!important}.gutters>.col-7{width:56.33333%}.gutters>.offset-7{margin-right:60.33333%!important}.gutters>.col-8{width:64.66667%}.gutters>.offset-8{margin-right:68.66667%!important}.gutters>.col-9{width:73%}.gutters>.offset-9{margin-right:77%!important}.gutters>.col-10{width:81.33333%}.gutters>.offset-10{margin-right:85.33333%!important}.gutters>.col-11{width:89.66667%}.gutters>.offset-11{margin-right:93.66667%!important}.gutters>.col-12{width:98%}.gutters>.offset-12{margin-right:102%!important}@media (max-width:768px){[class*=" offset-"],[class^=offset-]{margin-right:0}}.first{order:-1}.last{order:1}@media (max-width:768px){.row [class*=col-]{margin-right:0;width:100%}.row.gutters [class*=col-]{margin-bottom:16px}.first-sm{order:-1}.last-sm{order:1}}.gutters .column.push-left,.push-left{margin-left:auto}.gutters .column.push-right,.push-right{margin-right:auto}.gutters .column.push-center,.push-center{margin-right:auto;margin-left:auto}.gutters .column.push-middle,.push-middle{margin-bottom:auto;margin-top:auto}.push-bottom{margin-top:auto}@media (max-width:768px){.gutters .column.push-left-sm,.push-left-sm{margin-right:0}.gutters .column.push-center-sm,.push-center-sm{margin-right:auto;margin-left:auto}.push-top-sm{margin-top:0}}.align-middle{align-items:center}.align-right{justify-content:flex-end}.align-center{justify-content:center}@media (max-width:768px){.align-left-sm{justify-content:flex-start}}.float-right{float:left}.float-left{float:right}@media (max-width:768px){.float-left,.float-right{float:none}}.fixed{right:0;position:fixed;top:0;width:100%;z-index:100}html{-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;font-family:sans-serif}body{margin:0}article,aside,details,figcaption,figure,footer,header,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{font-size:2em;margin:.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}figure{margin:1em 40px}hr{box-sizing:content-box;height:0}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0}optgroup{font-weight:700}table{border-spacing:0}td,th{padding:0}p{margin:1rem 0}blockquote{margin:0 1.5rem}address{margin:0 0 1.5rem}pre{margin-bottom:1.6rem;padding:1.6rem}html{box-sizing:border-box}*,:after,:before{box-sizing:inherit}body{background:#fff}blockquote,q{quotes:"" ""}blockquote:after,blockquote:before,q:after,q:before{content:""}blockquote{border-right:2px solid #767676;color:#767676;margin:1rem 0;padding-right:.8rem}blockquote cite{font-size:.8rem}figure{margin:0}hr{background-color:#eee;border:0;height:2px;margin:5rem auto}img{height:auto;max-width:100%}h1,h2,h3,h4,h5,h6{clear:both;font-family:Open Sans,sans-serif;line-height:1.5;margin:2rem 0 1rem}.h1,h1{font-size:2.44140625rem}.h1,.h2,h1,h2{font-weight:300}.h2,h2{font-size:1.953125rem}.h3,h3{font-size:1.5625rem;font-weight:400}.h4,h4{color:#32373c;font-size:1.25rem;font-weight:600;padding:0}.h5,h5{font-size:1rem;letter-spacing:.01rem}.h5,.h6,h5,h6{font-weight:600;text-transform:uppercase}.h6,h6{font-size:.8rem;letter-spacing:.8px}a{color:#0073aa;text-decoration:none}a:active,a:focus,a:hover{text-decoration:underline}a:focus{outline:thin dotted}a:active,a:hover{outline:0}li>a,p a{text-decoration:underline}li>a:hover,p a:hover{color:#d54e21}ol,ul{margin:0 1.5em 1.5em 0;padding:0}ul{list-style:square}ol{list-style:decimal}li.unmarked-list,ol.unmarked-list,ul.unmarked-list{list-style:none;padding-right:0}li>ol,li>ul{margin-bottom:0}dt{font-weight:700}dd{margin:0 1.5em 1.5em}table{border:1px solid #eee;border-collapse:collapse;font-size:.8rem;margin:0 0 1rem;padding:0;width:100%}table thead{background:#32373c;color:#fff}table td,table th{border:1px solid #eee;font-weight:400;margin:0;padding:.4rem;text-align:right;vertical-align:top}table tbody tr:nth-child(2n){background:#f7f7f7}html{font-size:100%}body,button,input,select,textarea{color:#32373c;font-family:Open Sans,sans-serif;font-size:100%;line-height:1.5}@media screen and (min-width:737px){html{font-size:1.125rem}}cite,dfn,em,i{font-style:italic}blockquote{margin:0 1.5em}address{margin:0 0 1.5em}pre{word-wrap:normal;background:#eee;font-family:Courier\ 10 Pitch,Courier,monospace;font-size:.9375rem;line-height:1.6;margin-bottom:1.6em;max-width:100%;overflow:auto;padding:1.6em}code,kbd,tt,var{font-family:Monaco,Consolas,Andale Mono,DejaVu Sans Mono,monospace;font-size:.9375rem;-webkit-hyphens:none;hyphens:none}abbr,acronym{border-bottom:1px dotted #666;cursor:help}ins,mark{background:#fff9c0;text-decoration:none}big{font-size:125%}h1.title{color:#0073aa;font-size:.8rem;font-weight:600;letter-spacing:.05rem;text-transform:uppercase}.screen-reader-text{clip:rect(1px,1px,1px,1px);height:1px;overflow:hidden;position:absolute!important;width:1px}.screen-reader-text:focus{clip:auto!important;background-color:#f1f1f1;border-radius:3px;box-shadow:0 0 2px 2px rgba(0,0,0,.6);color:#21759b;display:block;font-size:.875rem;font-weight:700;height:auto;right:5px;line-height:normal;padding:15px 23px 14px;text-decoration:none;top:5px;width:auto;z-index:100000}.site-content[tabindex="-1"]:focus{outline:0}.no-js .hide-if-no-js{display:none}.alignleft{display:inline;float:right;margin-left:1.5em}.alignright{display:inline;float:left;margin-right:1.5em}.aligncenter{clear:both;display:block;margin-right:auto;margin-left:auto}@media screen and (max-width:480px){.alignleft,.alignright{display:block;float:none;margin-right:auto;margin-left:auto}}.button,.button-primary,.button-secondary,.plugin-upload-form .button-primary{-webkit-appearance:none;border:1px solid;border-radius:3px;box-sizing:border-box;cursor:pointer;display:inline-block;font-size:.8rem;height:1.5625rem;line-height:1;margin:0;padding:0 .8rem;text-decoration:none;white-space:nowrap}button::-moz-focus-inner,input[type=button]::-moz-focus-inner,input[type=reset]::-moz-focus-inner,input[type=submit]::-moz-focus-inner{border:0;padding:0}.button-group.button-xl .button,.button.button-xl{font-size:1rem;height:2.44140625rem;line-height:1;padding:0 1.5rem}.button-group.button-large .button,.button.button-large{height:1.953125rem;line-height:1;padding:0 1rem}.button-group.button-small .button,.button.button-small{font-size:.64rem;height:1.25rem;line-height:1;padding:0 .5rem}a.button,a.button-primary,a.button-secondary{line-height:1.5625rem}.button-group.button-large a.button,a.button.button-large{line-height:1.953125rem}.button-group.button-xl a.button,a.button.button-xl{line-height:2.44140625rem}.button-group.button-small a.button,a.button.button-small{line-height:1.25rem}.button:active,.button:focus{outline:none}.button.hidden{display:none}input[type=reset],input[type=reset]:active,input[type=reset]:focus,input[type=reset]:hover{background:none;border:none;box-shadow:none;padding:0 2px 1px;width:auto}.button,.button-secondary,.button:visited{background:#f7f7f7;border-color:#ccc;box-shadow:0 1px 0 #ccc;color:#555;vertical-align:top}p .button{vertical-align:baseline}.button-secondary:focus,.button-secondary:hover,.button.focus,.button.hover,.button:focus,.button:hover{background:#fafafa;border-color:#999;color:#23282d}.button-link:focus,.button-secondary:focus,.button.focus,.button:focus{border-color:#5b9dd9;box-shadow:0 0 3px rgba(0,115,170,.8)}.button-secondary:active,.button.active,.button.active:hover,.button:active{background:#eee;border-color:#999;box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5);transform:translateY(1px)}.button.active:focus{border-color:#5b9dd9;box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5),0 0 3px rgba(0,115,170,.8)}.button-disabled,.button-secondary.disabled,.button-secondary:disabled,.button-secondary[disabled],.button.disabled,.button:disabled,.button[disabled]{background:#f7f7f7!important;border-color:#ddd!important;box-shadow:none!important;color:#a0a5aa!important;cursor:default;text-shadow:0 1px 0 #fff!important;transform:none!important}.button-link,input[type=submit].button-link{background:none;border:0;border-radius:0;box-shadow:none;cursor:pointer;margin:0;outline:none;padding:0}.button-link:focus{outline:1px solid #5b9dd9}.button-primary,.download-button,.plugin-upload-form .button-primary{text-decoration:none;text-shadow:0 -1px 1px #006799,-1px 0 1px #006799,0 1px 1px #006799,1px 0 1px #006799}.button-primary,.button-primary:visited,.download-button,.download-button:visited,.plugin-upload-form .button-primary,.plugin-upload-form .button-primary:visited{background:#0085ba;border-color:#0073aa #006799 #006799;box-shadow:0 1px 0 #006799;color:#fff}.button-primary.focus,.button-primary.hover,.button-primary:focus,.button-primary:hover,.download-button.focus,.download-button.hover,.download-button:focus,.download-button:hover,.plugin-upload-form .button-primary.focus,.plugin-upload-form .button-primary.hover,.plugin-upload-form .button-primary:focus,.plugin-upload-form .button-primary:hover{background:#008ec2;border-color:#006799;box-shadow:0 1px 0 #006799;color:#fff}.button-primary.focus,.button-primary:focus,.download-button.focus,.download-button:focus,.plugin-upload-form .button-primary.focus,.plugin-upload-form .button-primary:focus{box-shadow:0 1px 0 #0073aa,0 0 2px 1px #33b3db}.button-primary.active,.button-primary.active:focus,.button-primary.active:hover,.button-primary:active,.download-button.active,.download-button.active:focus,.download-button.active:hover,.download-button:active,.plugin-upload-form .button-primary.active,.plugin-upload-form .button-primary.active:focus,.plugin-upload-form .button-primary.active:hover,.plugin-upload-form .button-primary:active{background:#0073aa;border-color:#006799;box-shadow:inset 0 2px 0 #006799;vertical-align:top}.button-primary.disabled,.button-primary:disabled,.button-primary[disabled],.download-button.disabled,.download-button:disabled,.download-button[disabled],.plugin-upload-form .button-primary.disabled,.plugin-upload-form .button-primary:disabled,.plugin-upload-form .button-primary[disabled]{background:#008ec2!important;border-color:#007cb2!important;box-shadow:none!important;color:#66c6e4!important;cursor:default;text-shadow:0 -1px 0 rgba(0,0,0,.1)!important}.button-primary.button.button-hero,.download-button.button.button-hero,.plugin-upload-form .button-primary.button.button-hero{box-shadow:0 2px 0 #006799}.button-primary.button.button-hero.active,.button-primary.button.button-hero.active:focus,.button-primary.button.button-hero.active:hover,.button-primary.button.button-hero:active,.download-button.button.button-hero.active,.download-button.button.button-hero.active:focus,.download-button.button.button-hero.active:hover,.download-button.button.button-hero:active,.plugin-upload-form .button-primary.button.button-hero.active,.plugin-upload-form .button-primary.button.button-hero.active:focus,.plugin-upload-form .button-primary.button.button-hero.active:hover,.plugin-upload-form .button-primary.button.button-hero:active{box-shadow:inset 0 3px 0 #006799}.button-primary-disabled{background:#008ec2!important;border-color:#007cb2!important;box-shadow:none!important;color:#66c6e4!important;cursor:default;text-shadow:0 -1px 0 rgba(0,0,0,.1)!important}.button-group{display:inline-block;font-size:0;position:relative;vertical-align:middle;white-space:nowrap}.button-group>.button{border-radius:0;display:inline-block;margin-left:-1px;z-index:10}.button-group>.button-primary{z-index:100}.button-group>.button:hover{z-index:20}.button-group>.button:first-child{border-radius:0 3px 3px 0}.button-group>.button:last-child{border-radius:3px 0 0 3px}.button-group>.button:focus{position:relative;z-index:1}@media screen and (max-width:737px){.button,.button.button-large,.button.button-small,.plugin-upload-form .button-primary{font-size:14px;height:auto;line-height:normal;margin-bottom:4px;padding:6px 14px;vertical-align:middle}}.clear:after,.clear:before,.comment-content:after,.comment-content:before,.committer-list li:after,.committer-list li:before,.entry-content:after,.entry-content:before,.home-below:after,.home-below:before,.plugin-meta:after,.plugin-meta:before,.plugin-upload-form .category-checklist:after,.plugin-upload-form .category-checklist:before,.site-content:after,.site-content:before,.site-footer:after,.site-footer:before,.site-header:after,.site-header:before,.support-rep-list li:after,.support-rep-list li:before,.type-plugin .plugin-header:after,.type-plugin .plugin-header:before,.type-plugin:after,.type-plugin:before{content:"";display:table;table-layout:fixed}.clear:after,.comment-content:after,.committer-list li:after,.entry-content:after,.home-below:after,.plugin-meta:after,.plugin-upload-form .category-checklist:after,.site-content:after,.site-footer:after,.site-header:after,.support-rep-list li:after,.type-plugin .plugin-header:after,.type-plugin:after{clear:both}p.subheading{color:#82878c;font-weight:300;margin:-.4rem auto 2rem;text-align:center}p.intro,p.subheading{font-size:1.25rem}p.aside{font-size:.8rem}p.note{font-size:.64rem;letter-spacing:.01rem;max-width:18.1898940355rem}input[type=checkbox],input[type=color],input[type=date],input[type=datetime-local],input[type=datetime],input[type=email],input[type=month],input[type=number],input[type=password],input[type=radio],input[type=search],input[type=tel],input[type=text],input[type=time],input[type=url],input[type=week],select,textarea{background-color:#fff;border:1px solid #ddd;box-shadow:inset 0 1px 2px rgba(0,0,0,.07);color:#32373c;outline:none;transition:border-color .05s ease-in-out}input[type=checkbox]:focus,input[type=color]:focus,input[type=date]:focus,input[type=datetime-local]:focus,input[type=datetime]:focus,input[type=email]:focus,input[type=month]:focus,input[type=number]:focus,input[type=password]:focus,input[type=radio]:focus,input[type=search]:focus,input[type=tel]:focus,input[type=text]:focus,input[type=time]:focus,input[type=url]:focus,input[type=week]:focus,select:focus,textarea:focus{border-color:#5b9dd9;box-shadow:0 0 2px rgba(30,140,190,.8)}input[type=number]{height:28px}input[type=checkbox],input[type=radio]{height:16px;outline:0;width:16px}input[type=checkbox]:checked:before{margin:-3px -4px 0 0}input[type=radio]:checked+label:before{color:#82878c}input[type=radio]:checked:before{height:6px;margin:4px;width:6px}input[type=reset]:active,input[type=reset]:hover{color:#00a0d2}input[type=search]{-webkit-appearance:textfield}input,select,textarea{font-size:14px;padding:3px 5px}textarea.code{line-height:1.4;padding:4px 6px 1px}label{vertical-align:middle}input,select{margin:1px;padding:3px 5px}input.code{padding-top:6px}.wp-core-ui :-moz-placeholder,:-moz-placeholder{color:#a9a9a9}input.large-text,textarea.large-text{width:99%}input.regular-text{width:25em}input.small-text{padding:1px 6px;width:50px}input[type=number].small-text{width:65px}input.tiny-text{width:35px}input[type=number].tiny-text{width:45px}@media screen and (max-width:782px){textarea{-webkit-appearance:none}input[type=email],input[type=number],input[type=password],input[type=search],input[type=text]{-webkit-appearance:none;padding:6px 10px}input[type=number]{height:40px}input.code{padding-bottom:5px;padding-top:10px}input[type=checkbox]{-webkit-appearance:none;padding:10px}input[type=checkbox]:checked:before{font:normal 30px/1 dashicons;margin:-3px -5px}input[type=checkbox],input[type=radio]{height:25px;width:25px}input[type=radio]:checked:before{height:9px;line-height:16px;margin:7px;vertical-align:middle;width:9px}input,textarea{font-size:16px}input[type=number].small-text,input[type=password].small-text,input[type=search].small-text,input[type=text].small-text{display:inline;margin:0 3px;max-width:55px;padding:3px 6px;width:auto}input.regular-text{width:100%}label{font-size:14px}fieldset label{display:block}}a.button:active,a.button:focus,a.button:hover{text-decoration:none}.notice p{font-size:.8rem;margin:.5em 0;padding:2px}.avatar{border-radius:50%;vertical-align:middle}.locale-banner{background:#c7e8ca;font-size:.8rem;padding:.5rem;text-align:center}@media (min-width:67rem){.locale-banner{margin:1rem auto;max-width:960px}}.locale-banner a{text-decoration:underline}.block-validator .block-validator__plugin-form label{display:block;margin-bottom:.8rem}.block-validator .block-validator__plugin-input-container{display:flex;max-width:34rem}.block-validator .block-validator__plugin-input{flex:1}.block-validator .block-validator__plugin-submit{flex:0;margin-right:.73152rem}@media (max-width:36rem){.block-validator .block-validator__plugin-input-container{display:block}.block-validator .block-validator__plugin-input{width:100%}.block-validator .block-validator__plugin-submit{margin-right:0;margin-top:.73152rem}}.block-validator .notice details,.block-validator .notice p{font-size:1rem;margin:.73152rem 0}.block-validator .notice details p{font-size:.8rem;margin-right:1rem}.block-validator .notice code{font-size:1em}.block-validator .notice summary{display:list-item}.block-validator figure{border:1px solid #aaa;display:inline-block;padding:1em}.block-validator .test-screenshot{text-align:center}input,textarea{box-sizing:border-box}input[type=checkbox],input[type=color],input[type=date],input[type=datetime-local],input[type=datetime],input[type=email],input[type=month],input[type=number],input[type=password],input[type=radio],input[type=search],input[type=tel],input[type=text],input[type=time],input[type=url],input[type=week],select,textarea{background-color:#fff;border:1px solid #ddd;box-shadow:inset 0 1px 2px rgba(0,0,0,.07);color:#32373c;outline:none;transition:border-color .05s ease-in-out}input[type=checkbox]:focus,input[type=color]:focus,input[type=date]:focus,input[type=datetime-local]:focus,input[type=datetime]:focus,input[type=email]:focus,input[type=month]:focus,input[type=number]:focus,input[type=password]:focus,input[type=radio]:focus,input[type=search]:focus,input[type=tel]:focus,input[type=text]:focus,input[type=time]:focus,input[type=url]:focus,input[type=week]:focus,select:focus,textarea:focus{border-color:#5b9dd9;box-shadow:0 0 2px rgba(30,140,190,.8);color:#111}input[type=email],input[type=url]{direction:rtl}input[type=email],input[type=number],input[type=password],input[type=search],input[type=text],select{padding:6px 10px}input[type=number]{height:40px;line-height:inherit}input[type=checkbox],input[type=radio]{-webkit-appearance:none;background:#fff;border:1px solid #b4b9be;box-shadow:inset 0 1px 2px rgba(0,0,0,.1);clear:none;color:#555;cursor:pointer;display:inline-block;height:25px;line-height:0;margin:-4px 0 0 4px;min-width:16px;padding:0!important;text-align:center;transition:border-color .05s ease-in-out;vertical-align:middle;width:25px}input[type=checkbox]{padding:10px}input[type=radio]{border-radius:50%;line-height:10px;margin-left:4px}input[type=checkbox]:checked:before,input[type=radio]:checked:before{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;speak:none;display:inline-block;float:right;font:normal 21px/1 dashicons;vertical-align:middle;width:16px}input[type=checkbox]:checked:before{color:#1e8cbe;content:"\f147";font:normal 30px/1 dashicons;margin:-3px -5px}input[type=radio]:checked:before{background-color:#1e8cbe;border-radius:50px;content:"•";font-size:24px;height:9px;line-height:16px;margin:7px;text-indent:-9999px;vertical-align:middle;width:9px}@-moz-document url-prefix(){.form-table input.tog,input[type=checkbox],input[type=radio]{margin-bottom:-1px}}input[type=search]::-webkit-search-decoration{display:none}.ie8 input[type=password]{font-family:sans-serif}button,input,select,textarea{font-family:inherit;font-size:inherit;font-weight:inherit}input,select,textarea{border-radius:0;font-size:16px}textarea{line-height:1.4;overflow:auto;padding:2px 6px;resize:vertical}input[type=file]{padding:3px 0}label{cursor:pointer}input.readonly,input[readonly],textarea.readonly,textarea[readonly]{background-color:#eee}:-moz-placeholder{color:#a9a9a9}input.disabled,input:disabled,select.disabled,select:disabled,textarea.disabled,textarea:disabled{background:hsla(0,0%,100%,.5);border-color:hsla(0,0%,87%,.75);box-shadow:inset 0 1px 2px rgba(0,0,0,.04);color:rgba(51,51,51,.5)}input[type=file].disabled,input[type=file]:disabled,input[type=range].disabled,input[type=range]:disabled{background:none;box-shadow:none}input[type=checkbox].disabled,input[type=checkbox].disabled:checked:before,input[type=checkbox]:disabled,input[type=checkbox]:disabled:checked:before,input[type=radio].disabled,input[type=radio].disabled:checked:before,input[type=radio]:disabled,input[type=radio]:disabled:checked:before{opacity:.7}fieldset label,label{vertical-align:middle}@media screen and (min-width:737px){input[type=email],input[type=number],input[type=password],input[type=search],input[type=text]{padding:3px 5px}input[type=number]{height:28px}input[type=checkbox]{padding:0}input[type=checkbox]:checked:before{font:normal 21px/1 dashicons;margin:-3px -4px 0 0}input[type=checkbox],input[type=radio]{height:16px;width:16px}input[type=radio]:checked:before{height:6px;margin:4px;width:6px}input,select,textarea{font-size:14px;padding:3px 5px}}.infinite-scroll .posts-navigation,.infinite-scroll.neverending .site-footer{display:none}.infinity-end.neverending .site-footer{display:block}.notice{background:#fff;border-right:4px solid #fff;box-shadow:0 1px 1px 0 rgba(0,0,0,.1);font-size:.8rem;margin:1em 0;padding:1px 12px}.notice p,.notice ul{margin:.5em 0;padding:2px}.notice p a,.notice ul a{border-bottom:0}.notice pre{white-space:pre-wrap}.notice ul{list-style:none;margin:.5em}.notice.notice-alt{box-shadow:none}.notice.notice-large{padding:10px 20px}.notice.notice-success{border-right-color:#46b450}.notice.notice-success.notice-alt{background-color:#ecf7ed}.notice.notice-warning{border-right-color:#ffb900}.notice.notice-warning.notice-alt{background-color:#fff8e5}.notice.notice-error{border-right-color:#dc3232}.notice.notice-error.notice-alt{background-color:#fbeaea}.notice.notice-info{border-right-color:#00a0d2}.notice.notice-info.notice-alt{background-color:#e5f5fa}.notice.hidden,.plugin-upload-form.hidden{display:none}.plugin-upload-form fieldset{border:none;margin:0;padding:0}.plugin-upload-form legend{margin:1rem 0}.plugin-upload-form .category-checklist{list-style-type:none;margin:0 0 2rem}.plugin-upload-form .category-checklist li{float:right;padding:.5rem 0;width:50%}@media screen and (min-width:48em){.plugin-upload-form .category-checklist li{padding:0}.plugin-upload-form .category-checklist label{font-size:.8rem}.plugin-upload-form label.button{line-height:1.8}}.plugin-upload-form .plugin-file{height:.1px;opacity:0;overflow:hidden;position:absolute;width:.1px;z-index:-1}.plugin-upload-form .plugin-file:focus+label{box-shadow:0 1px 0 #0073aa,0 0 2px 1px #33b3db}.plugin-queue-message code{font-size:1em}.plugin-queue-message dialog.slug-change input[type=text]{font-family:monospace;font-size:1.2em;width:20em}.error-404 .page-content,.error-404 .page-title{text-align:center}.error-404 .page-content .logo-swing{height:10rem;margin:6rem auto;position:relative;text-align:center;width:10rem}.error-404 .page-content .logo-swing .wp-logo{right:0;max-width:none;position:absolute;top:0;width:10rem}@keyframes hinge{10%{height:180px;transform:rotate(0deg);width:180px}15%{height:185px;transform:rotate(0deg);width:185px}20%{height:180px;transform:rotate(-5deg);width:180px}40%{animation-timing-function:ease-in-out;transform-origin:top right}60%{animation-timing-function:ease-in-out;transform:rotate(-40deg);transform-origin:top right}40%,80%{animation-timing-function:ease-in-out;opacity:1;transform:rotate(-60deg);transform-origin:top right}to{opacity:0;transform:translate3d(0,700px,0)}}.hinge{animation-duration:2s;animation-name:hinge}.comments-area{margin-top:5em}.comments-area>:last-child{margin-bottom:0}.comments-area .comment-list+.comment-respond{border-top:1px solid #eaeaea}.comments-area .comment-list+.comment-respond,.comments-area .comment-navigation+.comment-respond{padding-top:1.6em}.comments-area .comments-title{margin-bottom:1.3333em}.comments-area .comment-list{list-style:none;margin:0}.comments-area .comment-list .pingback,.comments-area .comment-list .trackback,.comments-area .comment-list article{border-top:1px solid #eaeaea;padding:1.6em 0}.comments-area .comment-list article:not(:only-child){padding-bottom:0}.comments-area .comment-list article+.comment-respond{padding-bottom:1.6em}.comments-area .comment-list .children{list-style:none;margin:0}.comments-area .comment-list .children>li{padding-right:.8em}.comments-area .comment-list .alt{background:none}.comments-area .comment-author{color:#999;margin-bottom:.4em}.comments-area .comment-author .avatar{float:right;height:24px;margin-left:.8em;width:24px}.comments-area .comment-metadata,.comments-area .pingback .edit-link{color:#999;line-height:1.5}.comments-area .comment-metadata a,.comments-area .pingback .edit-link a{color:#777}.comments-area .comment-metadata{font-size:.8rem;margin-bottom:1.6em}.comments-area .comment-metadata .edit-link,.comments-area .pingback .edit-link{margin-right:1em}.comments-area .pingback .edit-link:before{top:5px}.comments-area .comment-content ol,.comments-area .comment-content ul{margin:0 1.3333em 1.6em 0}.comments-area .comment-content li>ol,.comments-area .comment-content li>ul,.comments-area .comment-content>:last-child{margin-bottom:0}.comments-area .comment-content .reply{font-size:12px}.comments-area .comment-content .reply a{border:1px solid #eaeaea;color:#707070;display:inline-block;font-weight:700;line-height:1;margin-top:2em;padding:.4167em .8333em;text-transform:uppercase}.comments-area .comment-content .reply a:focus,.comments-area .comment-content .reply a:hover{border-color:#333;color:#333;outline:0}.comments-area .comment-reply-title a{font-weight:inherit}.comments-area .comment-form label{display:block;font-size:.8rem;font-weight:700;letter-spacing:.04em;line-height:1.5}.comments-area .comment-form input[type=email],.comments-area .comment-form input[type=text],.comments-area .comment-form input[type=url],.comments-area .comment-form textarea{width:100%}.comments-area .comment-awaiting-moderation,.comments-area .comment-notes,.comments-area .form-allowed-tags,.comments-area .logged-in-as{font-size:1rem;line-height:1.5;margin-bottom:2em}.comments-area .no-comments{border-top:1px solid #eaeaea;color:#999;font-weight:700;padding-top:1.6em}.comments-area .comment-navigation+.no-comments{border-top:0}.comments-area .form-allowed-tags code{font-family:Inconsolata,monospace}.comments-area .form-submit{margin-bottom:0}.comments-area .required{color:#c0392b}.entry-content{word-wrap:break-word;-webkit-hyphens:auto;hyphens:auto}.entry-content>p:first-child{margin-top:0}.entry-content [class*=col-]~h1,.entry-content [class*=col-]~h2,.entry-content [class*=col-]~h3,.entry-content [class*=col-]~h4,.entry-content [class*=col-]~h5,.entry-content [class*=col-]~h6{clear:none}.entry-header{position:relative}.entry-header .sticky-post{color:#999;font-size:.8rem;font-style:italic;position:absolute;top:-.8rem}.entry-summary{word-wrap:break-word;-webkit-hyphens:auto;hyphens:auto}body:not(.single):not(.search) .site-main .post{margin-bottom:3.0517578125rem;max-width:40em}.gallery{margin-bottom:1.5rem}.gallery .gallery-item{display:inline-block;margin:0;text-align:center;vertical-align:top;width:100%}.gallery.gallery-columns-2 .gallery-item{max-width:50%}.gallery.gallery-columns-3 .gallery-item{max-width:33.33%}.gallery.gallery-columns-4 .gallery-item{max-width:25%}.gallery.gallery-columns-5 .gallery-item{max-width:20%}.gallery.gallery-columns-6 .gallery-item{max-width:16.66%}.gallery.gallery-columns-7 .gallery-item{max-width:14.28%}.gallery.gallery-columns-8 .gallery-item{max-width:12.5%}.gallery.gallery-columns-9 .gallery-item{max-width:11.11%}.gallery .gallery-caption{display:block}.post-navigation{margin:5em auto;padding:0}.post-navigation a{border-bottom:1px solid #eaeaea;color:#444;display:block;font-weight:600;padding:11px 0 12px;text-transform:none;width:100%}.post-navigation a:hover{color:#21759b}.post-navigation .nav-links{word-wrap:break-word;border-top:1px solid #eaeaea;-webkit-hyphens:auto;hyphens:auto}.post-navigation .meta-nav{color:#777;display:block;font-size:13px;line-height:2;text-transform:uppercase}.post-navigation .nav-next{text-align:left}.pagination .nav-links{text-align:center}.pagination .nav-links .page-numbers{background-color:#f9f9f9;cursor:hand;display:inline-block;min-width:2em;padding:8px;text-align:center}.pagination .nav-links .page-numbers.dots,.pagination .nav-links .page-numbers.next,.pagination .nav-links .page-numbers.prev{background:none;font-size:.9em;width:auto}.pagination .nav-links .page-numbers.dots{cursor:inherit}@media screen and (max-width:737px){.pagination .nav-links .page-numbers.next,.pagination .nav-links .page-numbers.prev{font-size:0;min-width:auto;padding:0}.pagination .nav-links .page-numbers.next:after,.pagination .nav-links .page-numbers.prev:before{background-color:#f9f9f9;display:inline-block;font-size:1rem;line-height:1.5;min-width:2em;padding:8px}.pagination .nav-links .page-numbers.prev:before{content:"‹"}.pagination .nav-links .page-numbers.next:after{content:"›"}}.pagination .nav-links span.page-numbers{background-color:#f7f7f7;font-weight:700}.search-form .search-field{line-height:normal;margin:0;padding:4px 5px;vertical-align:text-bottom}.site-content{margin:0 auto;max-width:960px;padding:0 1.5625rem}@media screen and (min-width:737px){.site-content{padding:0 10px 3.0517578125rem}}@media screen and (max-width:737px){.site-content .site-main{float:none;margin:0;width:auto}}.home .site-content,.page .site-content,.site-content.page{margin:auto;max-width:none;padding:0}.site-content .page-title{font-size:1.25rem;font-weight:400}.site-content .no-results{margin:0 auto 3.0517578125rem;max-width:40em;padding:0 2rem}.site-description{color:hsla(0,0%,100%,.8);font-size:1.25rem;font-weight:300;margin:-.4rem auto 2rem;text-align:center}.site-header{background:#0073aa;padding:1rem 0;position:relative}.site-header .site-branding{margin:0 auto;max-width:960px;padding:0 1.5625rem}@media screen and (min-width:737px){.site-header .site-branding{padding:0 10px}}.site-header.home{padding:1.5625rem 1.143rem;text-align:center}.site-title a:active,.site-title a:focus,.site-title a:hover{text-decoration:none}.widget-area{font-size:.8rem}@media screen and (min-width:480px) and (max-width:768px){.widget-area{display:flex}.widget-area .widget{width:48%}}#wporg-footer{background-color:#f7f7f7;border-top:1px solid #dfdfdf;padding:22px 14px 65px}#wporg-footer,#wporg-footer .wrapper{clear:both;margin:0 auto;overflow:auto}#wporg-footer .wrapper{max-width:930px}#wporg-footer ul{float:right;margin-bottom:20px;margin-right:24px;overflow:auto;padding-right:0;width:135px}@media screen and (min-width:960px){#wporg-footer ul:first-child{margin-right:0}}#wporg-footer ul li{color:#bbb;font-size:14px;list-style-type:none;margin-bottom:1px}#wporg-footer ul li a{text-decoration:none;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}#wporg-footer ul li a:hover{color:#0073aa;text-decoration:underline}#wporg-footer .social-media-links .dashicons{margin-left:4px}#wporg-footer .cip{clear:both;color:#ccc;float:none;font-size:.8rem;letter-spacing:.3em;margin:35px auto 0;text-align:center;text-transform:uppercase}#wporg-footer .cip.cip-image{background:url(//s.w.org/style/images/codeispoetry.png?1) 50% no-repeat;background-size:190px 15px;height:15px;text-indent:-9999px;width:190px}@media only screen and (-webkit-min-device-pixel-ratio:1.5),only screen and (min-resolution:1.5dppx),only screen and (min-resolution:144dpi){#wporg-footer .cip.cip-image{background-image:url(//s.w.org/style/images/codeispoetry-2x.png?1)}}@media screen and (min-width:561px) and (max-width:959px){#wporg-footer .wrapper{max-width:600px}#wporg-footer ul{margin-right:2%;width:32%}#wporg-footer ul:nth-child(3n+1){margin-right:0}#wporg-footer ul:nth-child(4n){clear:both}}@media screen and (max-width:560px){#wporg-footer .wrapper{max-width:360px}#wporg-footer ul{margin-right:4%;width:48%}#wporg-footer ul:nth-child(odd){clear:both;margin-right:0}}#wporg-header{background:#23282d;height:140px;position:relative;text-align:center;width:100%}#wporg-header .wrapper{margin:0 auto;max-width:960px}#wporg-header h1{display:inline-block;margin:auto;width:303px}#wporg-header h1 a{background:url(//s.w.org/style/images/wporg-logo.svg?3) 100% no-repeat;background-size:290px 46px;display:block;height:88px;text-indent:-9999px}#wporg-header h2.rosetta{clear:none;color:#dfdfdf;font-family:Georgia,Times New Roman,serif;font-size:30px;margin:0 60px 0 0}#wporg-header h2.rosetta a{border-bottom:none;color:#dfdfdf;display:block;height:52px;line-height:22px;padding:0}#wporg-header h2.rosetta a:hover{text-decoration:none}#wporg-header #wporg-header-menu{background:#23282d;right:-75%;list-style:none;margin:0;max-width:75%;min-width:200px;position:absolute;text-align:right;top:100%;transition:right .3s;z-index:100000}#wporg-header #wporg-header-menu.toggled{right:0}#wporg-header ul li{list-style-type:none;position:relative}#wporg-header ul li a{color:#eee;display:block;font-family:Open Sans,Helvetica,Arial,Liberation Sans,sans-serif;font-size:13px;font-weight:600;height:34px;line-height:34px;margin:0 4px;padding:10px 30px;text-decoration:none}#wporg-header ul li a.subcurrent{font-weight:700}@media (max-width:768px){#wporg-header ul li a{height:auto}}#wporg-header ul li a.current,#wporg-header ul li a:hover,#wporg-header ul li.current-menu-item a,#wporg-header ul li.current_page_parent a{color:#00a0d2}#wporg-header ul li#download,#wporg-header ul li.download{float:left;height:34px;margin-left:14px;overflow:hidden;padding:0 0 34px}@media screen and (max-width:767px){#wporg-header ul li#download,#wporg-header ul li.download{display:block;float:none;height:auto;margin:10px 20px 20px;padding-bottom:0}#wporg-header ul li#download a,#wporg-header ul li.download a{padding:4px 10px;text-align:center}}#wporg-header ul li#download a,#wporg-header ul li.download a{margin:0;padding:0 16px}#wporg-header ul li#download a:hover,#wporg-header ul li.download a:hover{color:#eee}#wporg-header ul li#download .uparrow,#wporg-header ul li#download.current,#wporg-header ul li#download.current-menu-item,#wporg-header ul li.download .uparrow,#wporg-header ul li.download.current,#wporg-header ul li.download.current-menu-item{display:none}#wporg-header ul li .nav-submenu{clip:rect(1px,1px,1px,1px);height:1px;right:-2px;margin:0;overflow:hidden;padding:0;position:absolute;width:1px;z-index:99999}#wporg-header ul li .nav-submenu li a{display:inline-block;height:24px;line-height:24px;margin:0;white-space:nowrap}@media screen and (min-width:768px){#wporg-header #head-search{float:left;margin-left:14px;padding-top:30px}}#wporg-header #head-search form{border-bottom:1px solid #3f3f3f;display:inline-block;margin-right:60px;width:288px}#wporg-header #head-search form input.text{background:#191e23;border:0;border-radius:0;box-sizing:content-box;color:#b4b9be;float:right;font-family:Open Sans,sans-serif;font-size:12px;height:24px;margin:0;outline:none;padding:3px;vertical-align:top;width:256px}#wporg-header #head-search form input.text::-moz-placeholder{color:#eee}@media screen and (max-width:480px){#wporg-header #head-search form input.text{width:216px}}#wporg-header #head-search form .button{background:#191e23 url(//s.w.org/wp-includes/images/admin-bar-sprite.png?d=20120831) no-repeat 2px 5px;border:none;border-radius:0;box-shadow:none;float:right;height:30px;margin:0;padding:0;text-shadow:none!important;width:26px}@media screen and (max-width:480px){#wporg-header #head-search form{width:248px}}@media screen and (min-width:480px){#wporg-header #head-search form{margin-right:0}}@media screen and (min-width:768px){#wporg-header{height:120px;text-align:inherit}#wporg-header h1{float:right;padding-right:10px}#wporg-header h2.rosetta{float:right;margin-right:0;padding:36px 27px 0}#wporg-header #headline h2{text-rendering:optimizeLegibility}#wporg-header #wporg-header-menu{float:right;height:46px;list-style:none;margin:-15px 0 0;max-width:inherit;min-width:0;padding:0;position:static;width:100%}#wporg-header ul li{float:right;position:relative}#wporg-header ul li a{height:46px;padding:0 6px}#wporg-header ul li a.current~.uparrow{border-bottom:9px solid #f7f7f7;border-right:9px solid transparent;border-left:9px solid transparent;height:0;margin:-8px auto 0;width:0}#wporg-header ul li.current-menu-item:after,#wporg-header ul li.current_page_parent:after{border-bottom:9px solid #f7f7f7;border-right:9px solid transparent;border-left:9px solid transparent;content:"";height:0;right:50%;margin:-8px -9px 0 0;position:absolute;width:0}#wporg-header ul li .nav-submenu:hover~.uparrow,#wporg-header ul li:hover .nav-submenu~.uparrow{border-bottom:9px solid #32373c;border-right:9px solid transparent;border-left:9px solid transparent;height:0;margin:-10px auto 0;width:0}#wporg-header ul li .nav-submenu{background:#32373c;border:1px solid #32373c;border-top:0;margin-top:-1px;min-width:0}#wporg-header ul li .nav-submenu li{float:none}#wporg-header ul li .nav-submenu li a{height:34px;line-height:34px}#wporg-header .nav-menu .focus>ul,#wporg-header .nav-menu ul li:hover>ul,#wporg-header ul.nav-menu .focus>ul,#wporg-header ul.nav-menu li:hover>ul{clip:inherit;height:inherit;overflow:inherit;width:inherit}#wporg-header ul li a.current~.uparrow,#wporg-header ul li.current-menu-item:after,#wporg-header ul li.current_page_parent:after{border-bottom-color:#0073aa}}.page-download #wporg-header #download,.page-parent-download #wporg-header #download{display:none}#mobile-menu-button{-webkit-font-smoothing:antialiased;background:none;border:none;box-shadow:none;display:block;float:right;font-family:dashicons;font-size:16px;font-style:normal;font-weight:400;right:10px;line-height:1;padding:1px;position:absolute;text-align:center;text-decoration:inherit;text-shadow:none;top:75px;transition:color .1s ease-in;vertical-align:top}#mobile-menu-button:before{-webkit-font-smoothing:antialiased;border:none;box-sizing:border-box;color:#888;content:"\f228";display:inline-block;float:right;font:normal 50px/1 Dashicons;margin:0;outline:none;padding:3px;text-decoration:none;vertical-align:middle}@media screen and (min-width:768px){#mobile-menu-button{display:none}}#download-mobile{background:#f7f7f7;border-bottom:1px solid #ddd}#download-mobile .wrapper{padding:20px 0;text-align:center}#download-mobile span.download-ready{font-size:1.6em;margin:0 .25em}#download-mobile a.download-button{font-size:1.6em;height:inherit;margin:10px .25em;padding:10px 15px}.comment-content .wp-smiley,.entry-content .wp-smiley,.page-content .wp-smiley{border:none;margin-bottom:0;margin-top:0;padding:0}.wp-caption,embed,iframe,object{max-width:100%}.wp-caption{margin-bottom:1.5em}.wp-caption img[class*=wp-image-]{display:block;margin-right:auto;margin-left:auto}.wp-caption .wp-caption-text{margin:.8075em 0}.wp-caption-text{text-align:center}.gallery{margin-bottom:1.5em}.gallery-item{display:inline-block;text-align:center;vertical-align:top;width:100%}.gallery-columns-2 .gallery-item{max-width:50%}.gallery-columns-3 .gallery-item{max-width:33.33%}.gallery-columns-4 .gallery-item{max-width:25%}.gallery-columns-5 .gallery-item{max-width:20%}.gallery-columns-6 .gallery-item{max-width:16.66%}.gallery-columns-7 .gallery-item{max-width:14.28%}.gallery-columns-8 .gallery-item{max-width:12.5%}.gallery-columns-9 .gallery-item{max-width:11.11%}.gallery-caption{display:block}.site-title{display:inline-block;font-size:1.5625rem;font-weight:300;line-height:1;margin:0 0 0 2rem;max-width:none}.site-title a{color:#fff;font-weight:300;text-decoration:none}.site-title a:active,.site-title a:focus,.site-title a:hover{color:#fff}.site-header.home .site-title{display:inherit;font-size:3.8146972656rem;margin:2rem 0 1rem}.wporg-filter-bar{--wporg--filter-bar--gap:20px;--wporg--filter-bar--color:#40464d;--wporg--filter-bar--active--background-color:#2371a6;--wporg--filter-bar--focus--border-color:#2371a6;margin:0 auto;max-width:960px;padding:40px 1.5625rem 0}.wporg-filter-bar+.site-main{margin-top:2rem;padding-top:0}.wporg-filter-bar .wporg-filter-bar__navigation{flex-grow:1;margin-bottom:var(--wporg--filter-bar--gap)}.wporg-filter-bar .wporg-filter-bar__navigation ul{display:inline-block;font-size:13px;line-height:1.538;list-style:none;margin:0}.wporg-filter-bar .wporg-filter-bar__navigation ul li{display:inline-block}.wporg-filter-bar .wporg-filter-bar__navigation ul li+li{margin-right:8px}.wporg-filter-bar .wporg-filter-bar__navigation ul a{border-radius:2px;color:var(--wporg--filter-bar--color);display:block;padding:8px 12px;text-decoration:none}.wporg-filter-bar .wporg-filter-bar__navigation ul a:focus,.wporg-filter-bar .wporg-filter-bar__navigation ul a:hover{text-decoration:underline}.wporg-filter-bar .wporg-filter-bar__navigation ul a:focus-visible{box-shadow:none;outline:1.5px solid var(--wporg--filter-bar--focus--border-color);outline-offset:-.5px}.wporg-filter-bar .wporg-filter-bar__navigation ul a.is-active{background-color:var(--wporg--filter-bar--active--background-color);color:#fff}.wporg-filter-bar .wporg-filter-bar__navigation ul a.is-active:focus,.wporg-filter-bar .wporg-filter-bar__navigation ul a.is-active:hover{color:#fff}.wporg-filter-bar .wporg-filter-bar__navigation ul a.is-active:focus-visible{box-shadow:inset 0 0 0 1.5px #fff;outline:1.5px solid var(--wporg--filter-bar--focus--border-color);outline-offset:-.5px}@media screen and (min-width:737px){.wporg-filter-bar{align-items:center;display:flex;flex-wrap:wrap;gap:var(--wporg--filter-bar--gap);justify-content:space-between;padding:40px 10px 0}.wporg-filter-bar .wporg-filter-bar__navigation{margin-bottom:0}}.archive .site-main{margin-top:2rem;padding-top:0}.archive .page-header{margin:2rem 0}dialog{border:0;box-shadow:-6px 6px 6px rgba(0,0,0,.2);min-height:50%;min-width:30%}@media (min-width:1280px){dialog{max-width:55%}}dialog::-webkit-backdrop{background:#000;opacity:.5}dialog::backdrop{background:#000;opacity:.5}dialog .close{color:inherit;cursor:pointer;position:absolute;left:1em;text-decoration:none!important;top:1em}.main-navigation{background:#0073aa;clear:both;right:0;position:absolute;top:60px;width:100%;z-index:1}.main-navigation ul{display:none;list-style:none;margin:0;padding-right:0}.main-navigation ul ul{box-shadow:0 3px 3px rgba(0,0,0,.2);float:right;right:-999em;position:absolute;top:1.5em;z-index:99999}.main-navigation ul ul ul{right:-999em;top:0}.main-navigation ul ul li.focus>ul,.main-navigation ul ul li:hover>ul{right:100%}.main-navigation ul ul a{width:200px}.main-navigation ul li.focus>ul,.main-navigation ul li:hover>ul{right:auto}.main-navigation li{border-top:1px solid hsla(0,0%,100%,.2)}.main-navigation a{color:hsla(0,0%,100%,.8);display:block;font-size:.8rem;padding:1rem 1.5rem 1rem 1rem;text-decoration:none}.main-navigation a.active,.main-navigation a:hover{color:#fff}@media screen and (min-width:737px){.main-navigation a.active{border-bottom:1px solid}}.main-navigation.toggled ul{display:block}.menu-toggle{-webkit-appearance:none;background:transparent;border:none;color:#fff;font-size:1.5625rem;height:3.5rem;overflow:hidden;position:absolute;left:1rem;top:-58px;width:3.5rem}.toggled .menu-toggle:before{content:"\f343"}@media screen and (min-width:737px){.menu-toggle{display:none}.main-navigation{float:left;position:relative;top:auto;width:auto}.main-navigation.toggled{padding:1px 0}.main-navigation ul{display:inline-block;font-size:0}.main-navigation ul li{border:0;display:inline-block;font-size:1rem;margin-left:1rem}.main-navigation ul li:last-of-type{margin-left:0}.main-navigation a{padding:0}}.page .entry-header{margin-top:2rem}@media screen and (min-width:737px){.page .entry-header{padding:0 2rem}}.page .entry-header .entry-title{font-size:1.5625rem;font-weight:400}@media screen and (min-width:737px){.page .entry-content{padding:0 2rem}}.page .entry-content h2{font-size:1.5625rem;font-weight:400}.page .entry-content h3{font-size:1rem;font-weight:600;letter-spacing:.01rem;text-transform:uppercase}.page .entry-content section{padding:2rem 0}.page .entry-content section:first-of-type{padding-top:0}.page .entry-content section+section{border-top:2px solid #eee}.plugin-card{background-color:#f9f9f9;margin-bottom:4%;padding:15px 15px 8px;vertical-align:top}@media screen and (min-width:737px){.plugin-card{display:inline-block;margin-left:4%;width:48%}.plugin-card:nth-of-type(2n){margin-left:0}}.plugin-card .entry{display:inline-block;margin:auto;vertical-align:top}@media screen and (min-width:21em){.plugin-card .entry{width:calc(96% - 128px)}}.plugin-card .entry-title{font-size:1rem;line-height:1.3;margin:0 0 8px}.plugin-card .entry-title a{word-wrap:break-word;font-weight:400}.plugin-card .entry-excerpt{font-size:.8rem}.plugin-card .entry-excerpt p{margin:0}.plugin-card hr{background-color:#fff;margin:15px -15px 8px}.plugin-card footer span{display:inline-block;font-size:.73152rem;overflow:hidden;white-space:nowrap}.plugin-card footer span i{display:inline-block;font-size:1rem;margin-left:.4rem}.plugin-card footer span.last-updated{display:none}.plugin-card footer span.plugin-author{width:100%}.plugin-card footer span.active-installs{min-width:48%}.plugin-card footer .dashicons{color:#bbb;display:none;height:auto;margin:0 2px -1rem;width:auto}@media (min-width:414px){.plugin-card footer .dashicons{display:inline-block}}.entry-thumbnail{display:none;max-width:128px}.entry-thumbnail .plugin-icon{background-size:cover;height:128px;width:128px}@media screen and (min-width:21em){.entry-thumbnail{display:inline-block;margin:0 0 0 4%;vertical-align:top}.entry-thumbnail a{display:block}}.single .entry-thumbnail{display:none;float:right;height:96px;margin-left:1rem;width:96px}@media screen and (min-width:26em){.single .entry-thumbnail{display:block}}.single .entry-thumbnail .plugin-icon{background-size:contain!important;height:96px!important;width:96px!important}.plugin-rating{line-height:1;margin:0 0 8px 10px}.plugin-rating .wporg-ratings{display:inline-block;margin-left:5px}.plugin-rating .rating-count{color:#999;font-size:.8rem}.site-main.single .plugin-rating .rating-count{display:none}.plugin-rating .rating-count a{color:inherit;cursor:hand;text-decoration:none}[class*=dashicons-star-]{color:#ffb900}.rtl .dashicons-star-half{transform:rotateY(-180deg)}.plugin-section{border-bottom:2px solid #eee;margin:0 auto 4.768371582rem;max-width:960px;padding-bottom:3.0517578125rem}.plugin-section:last-of-type{margin-bottom:0}.plugin-section .section-header{column-gap:10px;display:flex;flex-flow:row wrap;margin-bottom:2rem}.plugin-section .section-title{flex:1 1 auto;font-size:1.5625rem;font-weight:400;margin-bottom:0;margin-top:0}.plugin-section .section-link{align-self:center;flex:0 0 auto;font-size:1rem}.search-form{font-size:0;margin-bottom:2rem;max-width:100%;position:relative}.search-form .search-field{-webkit-appearance:none;border:none;border-radius:0;box-shadow:none;display:block;font-size:1rem;line-height:1.5;margin:0 auto;max-width:100%;padding:.5rem .5rem .5rem 2.4rem;vertical-align:initial;width:22.7373675443rem}.search-form .button-search{border-right:none;border-radius:2px 0 0 2px;border-top:none;font-size:1rem;margin:0;position:relative;left:auto;top:auto;vertical-align:top}.search-form .button-search:active{background:#006799;border-left:1px solid #006799;box-shadow:none}.search-form .button-search svg{fill:currentColor}.site-header .search-form{display:inline-block}.site-header.home .search-form .button-search,.site-main .search-form .button-search{background:transparent;border:none;border-radius:0;box-shadow:none;color:#32373c;display:block;height:45px;padding:.5rem;position:absolute;left:0;text-shadow:none;top:0}.site-header.home .search-form .button-search:focus,.site-main .search-form .button-search:focus{box-shadow:0 0 2px 1px #33b3db}.site-header.home .search-form .button-search:active,.site-main .search-form .button-search:active{background:transparent;border:none;transform:none}.site-header:not(.home) .search-form{display:block;margin:0;padding:1rem 1.5rem 1rem 1rem}@media screen and (min-width:737px){.site-header:not(.home) .search-form{padding:0}}.site-header:not(.home) .search-form .search-field{border:0;border-radius:0 2px 2px 0;display:inline-block;font-size:1rem;padding:5px 10px;position:relative;width:calc(100% - 55px)}@media screen and (min-width:737px){.site-header:not(.home) .search-form .search-field{font-size:.64rem;width:7rem}.site-header:not(.home) .search-form .search-field+.button-search{display:inline-block;margin-bottom:0}}@media screen and (min-width:60em){.site-header:not(.home) .search-form .search-field{width:10rem}}@media screen and (max-width:737px){.site-header:not(.home) .search-form .search-field+.button-search{padding:4px 14px 1px}}.site-main .search-form .search-field{border:1px solid #ddd;box-shadow:inset 0 1px 2px rgba(0,0,0,.07);padding:.5rem;width:100%}.search .site-main{margin-top:2rem;padding-top:0}.search.search-results .page-header{margin:2rem 0}.site-content{max-width:none;padding:0}nav .nav-links{text-align:center}nav .nav-links .page-numbers{background-color:#f9f9f9;cursor:hand;display:inline-block;min-width:2em;padding:8px}nav .nav-links .page-numbers.dots,nav .nav-links .page-numbers.next,nav .nav-links .page-numbers.prev{background:none;font-size:.9em;width:auto}nav .nav-links .page-numbers.dots{cursor:inherit}nav .nav-links span.page-numbers{background-color:#f7f7f7;font-weight:700}.site-main{margin:0 auto;max-width:960px;padding:3.0517578125rem 1.5625rem}@media screen and (min-width:737px){.site-main{padding:3.0517578125rem 10px}}.single .site-main,.site-main.single{padding:0}@media screen and (min-width:737px){.single .site-main,.site-main.single{padding:0 10px 3.0517578125rem}}.page .site-main,.site-main.page{padding-top:0}.site-main .page-title{font-size:1.5625rem;font-weight:400}.site-main .no-results{margin:0 auto;max-width:35.527136788rem;padding:0 2rem}@keyframes favme-anime{0%{-webkit-text-stroke-color:transparent;font-size:1rem;opacity:1}25%{-webkit-text-stroke-width:1px;-webkit-text-stroke-color:#dc3232;color:#fff;font-size:.8rem;opacity:.6}75%{-webkit-text-stroke-width:1px;-webkit-text-stroke-color:#dc3232;color:#fff;font-size:1.42875rem;opacity:.6}to{-webkit-text-stroke-color:transparent;font-size:1.25rem;opacity:1}}@keyframes favme-hover{0%{font-size:1.42875rem}80%{font-size:1.25rem}}.plugin-favorite{height:36px;text-align:center;vertical-align:top;width:36px}.plugin-favorite .plugin-favorite-heart{align-items:center;background:none;border:0;border-radius:0;box-shadow:none;color:#cbcdce;cursor:pointer;display:flex;font-size:1.25rem;height:100%;justify-content:center;line-height:1;margin:0;outline:none;padding:0;transition:all .2s ease}.plugin-favorite .plugin-favorite-heart.favorited{color:#dc3232}.plugin-favorite .plugin-favorite-heart:hover{animation:favme-hover .3s infinite alternate}.plugin-favorite .plugin-favorite-heart:focus{outline:thin dotted}.plugin-favorite .plugin-favorite-heart:focus,.plugin-favorite .plugin-favorite-heart:hover{text-decoration:none}.plugin-favorite .plugin-favorite-heart:after{content:"\f487";font-family:dashicons;vertical-align:top}.plugin-favorite .plugin-favorite-heart.is-animating{animation:favme-anime .3s}.plugin-banner{background-position:50% 50%;background-repeat:no-repeat;background-size:100%;display:inline-block;font-size:0;line-height:0;margin:0 auto 1.143rem;padding-top:32.38342%;vertical-align:middle;width:100%}@media screen and (min-width:60em){.plugin-banner{margin-top:1.5625rem}}@keyframes hideAnimation{to{visibility:hidden}}.categorization .help{color:#999;display:inline-block;font-size:.8rem;margin-top:0}.categorization label{display:block;font-weight:700}.categorization input{width:100%}.categorization .success-msg{background:#eff7ed;border:solid #64b450;border-width:0 5px 0 0;font-size:.8rem;margin-right:1rem;opacity:0;overflow:auto;padding:.1rem .6rem .2rem;position:relative;transition:visibility 0s,opacity .5s linear;-webkit-user-select:none;user-select:none;visibility:hidden}.categorization .success-msg.saved{animation:hideAnimation 0s ease-in 5s;animation-fill-mode:forwards;opacity:1;visibility:visible}.plugin-changelog,.plugin-changelog code{font-size:.8rem}.plugin-changelog h4{margin-top:0}.plugin-developers .contributors-list{font-size:0}.plugin-developers .contributors-list li{display:inline-block;font-size:1rem;margin-left:4%;vertical-align:top;width:48%}.plugin-developers .contributors-list li:nth-of-type(2n){margin-left:0}.plugin-faq h2:first-of-type{border:none;color:#32373c;font-size:1.25rem;font-weight:600;letter-spacing:.01rem;padding:0;text-transform:uppercase;text-transform:inherit}.plugin-faq dl{border-bottom:1px solid #eee}.plugin-faq dt{border-top:1px solid #eee;cursor:pointer;font-size:1rem;font-weight:600;padding:1rem 0}.plugin-faq dt:before{content:"\f347";float:left;font-family:dashicons;margin:0 1rem}.plugin-faq dt.open:before{content:"\f343"}.plugin-faq dt .button-link{display:inherit;text-align:inherit}.plugin-faq dt .button-link.no-focus{box-shadow:none;outline:none}.plugin-faq dt h3{color:#0073aa;display:inline;margin-bottom:0;margin-top:0;text-decoration:underline;text-transform:none}.plugin-faq dt h3 button{all:inherit;max-width:calc(100% - 60px)}.plugin-faq dd{display:none;margin:0 0 1rem}.no-js .plugin-faq dd{display:block}.plugin-faq dd p{margin:0}.plugin-faq dd p+p{margin-top:1rem}.image-gallery{-webkit-user-select:none;user-select:none}.image-gallery-content{position:relative}.image-gallery-content .image-gallery-left-nav,.image-gallery-content .image-gallery-right-nav{border-color:#eee;display:none;font-size:3.0517578125rem;height:100%;position:absolute;top:0;transition:background .1s ease,border .1s ease;z-index:4}@media (max-width:768px){.image-gallery-content .image-gallery-left-nav,.image-gallery-content .image-gallery-right-nav{font-size:3.4em}}@media (min-width:768px){.image-gallery-content .image-gallery-left-nav:hover,.image-gallery-content .image-gallery-right-nav:hover{background:#fff;border:1px solid #eee;opacity:.8}}.image-gallery-content .image-gallery-left-nav:before,.image-gallery-content .image-gallery-right-nav:before{font-family:dashicons;position:relative}.image-gallery-content .image-gallery-left-nav{right:0}.image-gallery-content .image-gallery-left-nav:before{content:"\f345"}.image-gallery-content .image-gallery-left-nav:hover{margin-right:-1px}.image-gallery-content .image-gallery-right-nav{left:0}.image-gallery-content .image-gallery-right-nav:before{content:"\f341"}.image-gallery-content .image-gallery-right-nav:hover{margin-left:-1px}.image-gallery-content:hover .image-gallery-left-nav,.image-gallery-content:hover .image-gallery-right-nav{display:block}.image-gallery-slides{border:1px solid #eee;line-height:0;overflow:hidden;position:relative;white-space:nowrap}.image-gallery-slide{right:0;position:absolute;top:0;width:100%}.image-gallery-slide.center{position:relative}.image-gallery-slide .image-gallery-image{margin:0}.image-gallery-slide img{display:block;margin:0 auto}.image-gallery-slide .image-gallery-description{background:#f5f5f5;color:#32373c;font-size:.8rem;line-height:1.5;padding:10px 20px;white-space:normal}@media (max-width:768px){.image-gallery-slide .image-gallery-description{font-size:.8rem;padding:8px 15px}}.image-gallery-thumbnails{background:#fff;margin-top:5px}.image-gallery-thumbnails .image-gallery-thumbnails-container{cursor:pointer;text-align:center;white-space:nowrap}.image-gallery-thumbnail{border:1px solid #eee;display:table-cell;margin-left:5px;max-height:100px;overflow:hidden}.image-gallery-thumbnail .image-gallery-image{margin:0}.image-gallery-thumbnail img{vertical-align:middle;width:100px}@media (max-width:768px){.image-gallery-thumbnail img{width:75px}}.image-gallery-thumbnail:hover{box-shadow:0 1px 8px rgba(0,0,0,.3)}.image-gallery-thumbnail.active{border:1px solid #337ab7}.image-gallery-thumbnail-label{color:#222;font-size:1em}@media (max-width:768px){.image-gallery-thumbnail-label{font-size:.8em}}.image-gallery-index{background:rgba(0,0,0,.4);bottom:0;color:#fff;line-height:1;padding:10px 20px;position:absolute;left:0;z-index:4}.plugin-reviews{list-style-type:none;margin:0;padding:0}.plugin-reviews .plugin-review{border-bottom:2px solid #eee;margin:2rem 0 1rem;padding-bottom:1rem}.plugin-reviews .plugin-review:first-child{margin-top:0}.plugin-reviews .plugin-review .header-top{display:flex}.plugin-reviews .plugin-review .header-top .wporg-ratings{flex-shrink:0}.plugin-reviews .plugin-review .header-bottom{display:flex;margin-bottom:12px}.plugin-reviews .review-avatar{display:none}.plugin-reviews .review,.plugin-reviews .review-author,.plugin-reviews .wporg-ratings{display:inline-block;vertical-align:top}.plugin-reviews .review-header{margin:0 0 .5rem}.plugin-reviews .review-title{font-size:1rem;font-weight:600;letter-spacing:.01rem;line-height:1.25;margin:0 12px 8px 0;text-transform:inherit}.plugin-reviews .review-author,.plugin-reviews .review-date,.plugin-reviews .review-replies{font-size:.9em;line-height:1.25}.plugin-reviews .review-date,.plugin-reviews .review-replies{color:#999;font-size:.9em;margin-right:12px}.plugin-reviews .review-replies:before{content:"•";margin-left:12px}@media screen and (min-width:737px){.plugin-reviews .review-avatar{display:inline-block;vertical-align:top}.plugin-reviews .review-avatar .avatar{margin-left:1rem}.plugin-reviews .review{width:calc(100% - 60px - 1rem)}.plugin-reviews .review-header{margin:0}.plugin-reviews .review-author,.plugin-reviews .review-date,.plugin-reviews .review-replies{line-height:1}}.reviews-link{display:inline-block;font-size:.8rem;margin-top:.5rem;text-decoration:none}.reviews-link:after{content:"\f341";float:left;font-family:dashicons;padding-right:5px;position:relative;top:1px;vertical-align:text-top}.plugin-screenshots{list-style-type:none;margin:0;padding:0}.plugin-screenshots h2:first-of-type{border:none;color:#32373c;font-size:1.25rem;font-weight:600;padding:0;text-transform:inherit}.plugin-screenshots .image-gallery-content{display:table;width:100%}.plugin-screenshots .image-gallery-slides{display:table-cell;max-height:600px}.plugin-screenshots .image-gallery-image img{max-height:550px}.plugin-screenshots .image-gallery-thumbnail{vertical-align:top}.plugin-screenshots .image-gallery-thumbnail img{max-height:100px}.plugin-screenshots .image-gallery-thumbnails{overflow:hidden}.download-history-stats td{text-align:left}.previous-versions{max-width:60%}@media screen and (min-width:737px){.previous-versions{height:30px;vertical-align:top}}hr{margin:2.5rem auto}.section h1,.section h2,.section h3{font-size:1rem;font-weight:600;letter-spacing:.01rem;text-transform:uppercase}.section h1:nth-child(2),.section h2:nth-child(2),.section h3:nth-child(2){margin-top:0}.section h4,.section h5,.section h6{font-size:.8rem;font-weight:600;letter-spacing:.05rem;text-transform:uppercase}.section h4:nth-child(2),.section h5:nth-child(2),.section h6:nth-child(2){margin-top:0}.section h2:first-of-type{border:none;color:#32373c;font-size:1.25rem;font-weight:600;padding:0;text-transform:inherit}.type-plugin .plugin-notice{margin-top:0}.type-plugin .plugin-header{border-bottom:0;padding:1.143rem 1.5625rem}.type-plugin .plugin-header .plugin-actions{float:left;margin-inline-start:1rem}.type-plugin .plugin-header .plugin-actions div{display:inline-block;text-align:center}.type-plugin .plugin-header .plugin-title{clear:none;font-size:1.5625rem;font-weight:400;margin:0}.type-plugin .plugin-header .plugin-title a{color:inherit;text-decoration:none}.type-plugin .plugin-header .byline{color:#78848f}.type-plugin .plugin-banner+.plugin-header{padding-top:0}.type-plugin .tabs{border-bottom:2px solid #eee;list-style:none;margin:0}.type-plugin .tabs li{border:2px solid transparent;color:#0073aa;display:inline-block;font-size:.8rem;margin-bottom:-2px;transition:background .2s ease}.type-plugin .tabs li a{background:#fff;border:0;display:block;padding:.64rem 1.25rem;text-decoration:none}.type-plugin .tabs li a.active,.type-plugin .tabs li a:hover{background:#eee}.type-plugin .tabs li.active,.type-plugin .tabs li:hover{border:2px solid #eee;padding-bottom:0!important}@media screen and (max-width:34em){.type-plugin .tabs{border-top:2px solid #eee}.type-plugin .tabs li{display:block;margin-bottom:1px}.type-plugin .tabs li,.type-plugin .tabs li.active,.type-plugin .tabs li:hover{border:none;border-bottom:1px solid #eee}}.type-plugin .entry-content{max-width:48rem;padding:0 1.5625rem}@media screen and (min-width:737px){.type-plugin .entry-content{float:right;padding:0;width:65%}}.type-plugin .entry-content>div,.type-plugin .entry-content>div~button{border:0;display:none}.type-plugin .entry-content a:not(.button,.dashicons){text-decoration:underline}.type-plugin .entry-content ol>li>p,.type-plugin .entry-content ul>li>p{margin:0}.type-plugin .entry-content #admin{display:block!important}.type-plugin .plugin-blocks-list{list-style:none;margin-right:0}.type-plugin .plugin-blocks-list .plugin-blocks-list-item{display:grid;grid-template-columns:auto 1fr;margin-bottom:1.25rem}.type-plugin .plugin-blocks-list .block-icon{border:1px solid #eee;border-radius:2px;display:inline-block;height:3.5rem;margin-left:1rem;padding:1.143rem;width:3.5rem}.type-plugin .plugin-blocks-list .block-icon.dashicons{color:inherit}.type-plugin .plugin-blocks-list .block-icon svg{fill:currentColor;height:16px;width:16px}.type-plugin .plugin-blocks-list .block-title{align-self:center;font-weight:700}.type-plugin .plugin-blocks-list .has-description .block-icon{grid-row:1/span 2}.type-plugin .plugin-blocks-list .has-description .block-title{margin-bottom:.4096rem}.type-plugin .entry-meta{padding:0 1.5625rem}.type-plugin span#description,.type-plugin span#developers,.type-plugin span#installation,.type-plugin span#reviews{position:fixed}.type-plugin span#advanced.displayed~#section-links .tabs li#tablink-advanced,.type-plugin span#developers:target~#section-links .tabs li#tablink-developers,.type-plugin span#installation:target~#section-links .tabs li#tablink-installation,.type-plugin span#reviews:not(:target)~span#installation:not(:target)~span#developers:not(:target)~span#advanced:not(.displayed)~#section-links .tabs li#tablink-description,.type-plugin span#reviews:target~#section-links .tabs li#tablink-reviews{background:#fff;border:2px solid #eee;border-bottom:0;padding-bottom:2px}@media screen and (max-width:34em){.type-plugin span#advanced.displayed~#section-links .tabs li#tablink-advanced.active,.type-plugin span#advanced.displayed~#section-links .tabs li#tablink-advanced:hover,.type-plugin span#developers:target~#section-links .tabs li#tablink-developers.active,.type-plugin span#developers:target~#section-links .tabs li#tablink-developers:hover,.type-plugin span#installation:target~#section-links .tabs li#tablink-installation.active,.type-plugin span#installation:target~#section-links .tabs li#tablink-installation:hover,.type-plugin span#reviews:not(:target)~span#installation:not(:target)~span#developers:not(:target)~span#advanced:not(.displayed)~#section-links .tabs li#tablink-description.active,.type-plugin span#reviews:not(:target)~span#installation:not(:target)~span#developers:not(:target)~span#advanced:not(.displayed)~#section-links .tabs li#tablink-description:hover,.type-plugin span#reviews:target~#section-links .tabs li#tablink-reviews.active,.type-plugin span#reviews:target~#section-links .tabs li#tablink-reviews:hover{padding-bottom:2px!important}}.type-plugin span#section-links{display:flex;flex-flow:row wrap}.type-plugin span#section-links .tabs{flex:1 1 auto}@media screen and (max-width:34em){.type-plugin span#section-links{display:block}}.type-plugin #link-support{align-self:flex-end;border-bottom:2px solid #eee;flex:0 0 auto;font-size:.9rem;height:2rem}.type-plugin #link-support a:before{content:"\f125";display:inline-block;font-family:dashicons;font-size:1.2em;margin-left:.4em;max-height:1em;vertical-align:top}@media screen and (max-width:737px){.type-plugin #link-support{padding-left:20px}}@media screen and (max-width:34em){.type-plugin #link-support{border-bottom:0;display:block;margin-right:20px;margin-top:1.5rem;width:100%}}.type-plugin span#developers:target~.entry-content #tab-changelog,.type-plugin span#developers:target~.entry-content #tab-developers,.type-plugin span#developers:target~.entry-content #tab-developers .plugin-development,.type-plugin span#developers:target~.entry-content #tab-developers~button,.type-plugin span#installation:target~.entry-content #tab-installation,.type-plugin span#reviews:not(:target)~span#installation:not(:target)~span#developers:not(:target)~.entry-content #blocks,.type-plugin span#reviews:not(:target)~span#installation:not(:target)~span#developers:not(:target)~.entry-content #faq,.type-plugin span#reviews:not(:target)~span#installation:not(:target)~span#developers:not(:target)~.entry-content #screenshots,.type-plugin span#reviews:not(:target)~span#installation:not(:target)~span#developers:not(:target)~.entry-content #tab-description,.type-plugin span#reviews:not(:target)~span#installation:not(:target)~span#developers:not(:target)~.entry-content #tab-developers,.type-plugin span#reviews:not(:target)~span#installation:not(:target)~span#developers:not(:target)~.entry-content #tab-developers~button,.type-plugin span#reviews:target~.entry-content #tab-reviews{display:block}.type-plugin span#developers:target~.entry-content #tab-developers .plugin-contributors,.type-plugin span#installation:target~.entry-meta .plugin-contributors,.type-plugin span#reviews:not(:target)~span#installation:not(:target)~span#developers:not(:target)~.entry-content #tab-developers .plugin-development,.type-plugin span#reviews:not(:target)~span#installation:not(:target)~span#developers:not(:target)~.entry-meta .plugin-contributors,.type-plugin span#reviews:target~.entry-meta .plugin-contributors,.type-plugin span#reviews:target~.entry-meta .plugin-donate,.type-plugin span#reviews:target~.entry-meta .plugin-meta,.type-plugin span#reviews:target~.entry-meta .plugin-support{display:none}@media screen and (min-width:737px){.type-plugin .entry-content,.type-plugin .entry-meta,.type-plugin .plugin-header{padding-right:0;padding-left:0}.type-plugin .entry-meta{float:left;width:30%}}.plugin-adopt-me{background:#e6f4fa;font-size:.8rem;margin-top:36px;padding:12px}.plugin-adopt-me .widget-title{margin-top:0}.plugin-adopt-me p{margin-bottom:0}.widget.plugin-categorization{margin-top:2rem}.widget.plugin-categorization .widget-head{column-gap:12px;display:flex;flex-flow:row wrap;justify-content:space-between}.widget.plugin-categorization .widget-head h2{flex:1 1 auto;font-size:1rem;font-weight:700;margin-bottom:.2rem;margin-top:0}.widget.plugin-categorization .widget-head a{flex:0 0 auto;font-size:.8rem;line-height:2;text-align:left}.widget.plugin-categorization .widget-head a[href=""]{display:none}.widget.plugin-categorization .widget-head a:after{content:"\f504";font-family:dashicons;margin-right:2px}.widget.plugin-categorization p{font-size:.7rem;margin-top:.5rem}.widget.plugin-categorization~.plugin-meta li:first-child{border-top:1px solid #eee}.committer-list,.support-rep-list{font-size:.8rem;list-style:none;margin:0}.committer-list li,.support-rep-list li{padding-bottom:.5rem}.committer-list li .remove,.support-rep-list li .remove{color:red;visibility:hidden}.committer-list li:hover .remove,.support-rep-list li:hover .remove{visibility:visible}.committer-list .avatar,.support-rep-list .avatar{float:right;margin-left:10px}.committer-list .spinner,.support-rep-list .spinner{position:relative}.committer-list .spinner:after,.support-rep-list .spinner:after{background:url(/wp-admin/images/spinner.gif) no-repeat 50%;background-size:20px 20px;content:"";display:block;height:20px;margin:-10px 0 0 -10px;position:absolute;left:-50%;top:50%;transform:translateZ(0);width:20px}@media (-webkit-min-device-pixel-ratio:1.25),(min-resolution:120dpi),print{.committer-list .spinner:after,.support-rep-list .spinner:after{background-image:url(/wp-admin/images/spinner-2x.gif)}}.plugin-contributors.read-more{border-bottom:2px solid #eee;max-height:200px;overflow:hidden;padding-bottom:1px}.plugin-contributors.read-more.toggled{max-height:none}.no-js .plugin-contributors.read-more{max-height:none;overflow:auto}.contributors-list{font-size:.8rem;list-style-type:none;margin:0}.contributors-list li{margin-bottom:1rem}.contributors-list .avatar{float:right;margin-left:10px}.plugin-meta{margin-top:2rem}.plugin-meta ul{font-size:.8rem;list-style-type:none;margin:0;padding:0}.plugin-meta li{border-top:1px solid #eee;display:inline-block;padding:.5rem 0;position:relative;width:100%}.plugin-meta li strong{float:left}.plugin-meta li:first-child{border-top:0}.plugin-meta .languages,.plugin-meta .tags{float:left;text-align:left}.plugin-meta .tags{width:60%}.plugin-meta .languages .popover{margin-top:8px}.plugin-meta .languages .popover-trigger{color:#0073aa;font-weight:600}.plugin-meta .languages .popover-trigger:hover{text-decoration:underline}.plugin-meta [rel=tag]{background:#eee;border-radius:2px;color:#000;display:inline-block;font-size:.64rem;margin:2px;max-width:95%;overflow:hidden;padding:3px 6px;position:relative;text-overflow:ellipsis;white-space:nowrap;width:auto}.plugin-meta [rel=tag]:hover{background:#f3f3f3}.plugin-meta [rel=tag]:active{background:#dfdfdf}.popover{background-color:#fff;border:1px solid #ccc;border-radius:2px;box-shadow:0 2px 10px rgba(0,0,0,.1);display:none;right:0;margin-top:10px;max-width:300px;padding:1em 1em 2em;position:absolute;width:100%;z-index:100}.popover.is-top-right{right:auto;left:0}.popover.is-visible{display:block}.popover .popover-close{bottom:.5em;color:#0073aa;font-size:small;position:absolute;left:.6em}.popover .popover-close:active,.popover .popover-close:focus,.popover .popover-close:hover{text-decoration:underline}.popover .popover-arrow{border:10px solid transparent;border-bottom:10px solid #ccc;border-top:none;height:0;position:absolute;left:20px;top:-10px;width:0;z-index:-1}.popover .popover-arrow:after{border:10px solid transparent;border-bottom:10px solid #fff;border-top:none;content:"";right:-10px;position:absolute;top:2px}.popover .popover-inner{text-align:right}.popover .popover-inner p:first-child{margin-top:0}.popover .popover-inner p:last-child{margin-bottom:0}.plugin-ratings{font-size:.8rem;position:relative}.plugin-ratings .reviews-link{position:absolute;left:0;top:0}.plugin-ratings .reviews-link:after{content:"\f341";font-family:dashicons;padding-right:5px;vertical-align:top}.plugin-ratings [class*=dashicons-star-]{color:#ffb900;display:inline-block;font-size:1.5625rem;height:auto;margin:0;width:auto}.plugin-ratings .ratings-list{list-style-type:none;margin:1rem 0;padding:0}.plugin-ratings .ratings-list .counter-container,.plugin-ratings .ratings-list .counter-container a{text-decoration:none;width:100%}.plugin-ratings .ratings-list .counter-label{display:inline-block;min-width:65px}.plugin-ratings .ratings-list .counter-back,.plugin-ratings .ratings-list .counter-bar{display:inline-block;height:1rem;vertical-align:middle}.plugin-ratings .ratings-list .counter-back{background-color:#ececec;width:58%;width:calc(100% - 130px)}.plugin-ratings .ratings-list .counter-bar{background-color:#ffc733;display:block}.plugin-ratings .ratings-list .counter-count{margin-right:3px}.plugin-support{font-size:.8rem}.plugin-support .counter-container{margin-bottom:1rem;position:relative}.plugin-support .counter-back,.plugin-support .counter-bar{display:inline-block;height:30px;vertical-align:middle}.plugin-support .counter-back{background-color:#ececec;width:100%}.plugin-support .counter-bar{background-color:#c7e8ca;display:block}.plugin-support .counter-count{font-size:.64rem;right:8px;position:absolute;top:8px;width:100%;width:calc(100% - 8px)}@media screen and (min-width:737px){.plugin-support .counter-count{top:5px}}.home .widget,.widget-area.home .widget{display:inline-block;font-size:.8rem;margin:0;vertical-align:top}@media screen and (min-width:737px){.home .widget,.widget-area.home .widget{margin-left:5%;width:30%}.home .widget:last-child,.widget-area.home .widget:last-child{margin-left:0}}.home .widget select,.widget-area.home .widget select{max-width:100%}.entry-meta .widget-title{border:none;color:#32373c;font-size:1.25rem;font-weight:600;padding:0}.widget-area{margin:0 auto;max-width:960px;padding:0 1.5625rem 3.0517578125rem}@media screen and (min-width:737px){.widget-area{padding:0 10px 3.0517578125rem}}
  • sites/trunk/wordpress.org/public_html/wp-content/themes/pub/wporg-plugins/css/style.css

    r13065 r13109  
    1 @charset "UTF-8";[class*=col-]{margin:inherit}.row{display:flex;flex-direction:row;flex-wrap:wrap}@media (max-width:768px){.row{flex-direction:column;flex-wrap:nowrap}}.row.gutters>.row{margin-left:-2%}@media (max-width:768px){.row.gutters>.row{margin-left:0}}.row.gutters>.row>[class*=col-]{margin-left:2%}@media (max-width:768px){.row.gutters>.row>[class*=col-]{margin-left:0}}.row.around{justify-content:space-around}.row.between{justify-content:space-between}.row.auto .col{flex-grow:1}.col-1{width:8.3333333333%}.offset-1{margin-left:8.3333333333%}.col-2{width:16.6666666667%}.offset-2{margin-left:16.6666666667%}.col-3{width:25%}.offset-3{margin-left:25%}.col-4{width:33.3333333333%}.offset-4{margin-left:33.3333333333%}.col-5{width:41.6666666667%}.offset-5{margin-left:41.6666666667%}.col-6{width:50%}.offset-6{margin-left:50%}.col-7{width:58.3333333333%}.offset-7{margin-left:58.3333333333%}.col-8{width:66.6666666667%}.offset-8{margin-left:66.6666666667%}.col-9{width:75%}.offset-9{margin-left:75%}.col-10{width:83.3333333333%}.offset-10{margin-left:83.3333333333%}.col-11{width:91.6666666667%}.offset-11{margin-left:91.6666666667%}.col-12{width:100%}.offset-12{margin-left:100%}.gutters>.col-1{width:6.33333%}.gutters>.col-1:nth-child(n+13){margin-top:2%}.gutters>.offset-1{margin-left:10.33333%!important}.gutters>.col-2{width:14.66667%}.gutters>.col-2:nth-child(n+7){margin-top:2%}.gutters>.offset-2{margin-left:18.66667%!important}.gutters>.col-3{width:23%}.gutters>.col-3:nth-child(n+5){margin-top:2%}.gutters>.offset-3{margin-left:27%!important}.gutters>.col-4{width:31.33333%}.gutters>.col-4:nth-child(n+4){margin-top:2%}.gutters>.offset-4{margin-left:35.33333%!important}.gutters>.col-5{width:39.66667%}.gutters>.offset-5{margin-left:43.66667%!important}.gutters>.col-6{width:48%}.gutters>.col-6:nth-child(n+3){margin-top:2%}.gutters>.offset-6{margin-left:52%!important}.gutters>.col-7{width:56.33333%}.gutters>.offset-7{margin-left:60.33333%!important}.gutters>.col-8{width:64.66667%}.gutters>.offset-8{margin-left:68.66667%!important}.gutters>.col-9{width:73%}.gutters>.offset-9{margin-left:77%!important}.gutters>.col-10{width:81.33333%}.gutters>.offset-10{margin-left:85.33333%!important}.gutters>.col-11{width:89.66667%}.gutters>.offset-11{margin-left:93.66667%!important}.gutters>.col-12{width:98%}.gutters>.offset-12{margin-left:102%!important}@media (max-width:768px){[class*=" offset-"],[class^=offset-]{margin-left:0}}.first{order:-1}.last{order:1}@media (max-width:768px){.row [class*=col-]{margin-left:0;width:100%}.row.gutters [class*=col-]{margin-bottom:16px}.first-sm{order:-1}.last-sm{order:1}}.gutters .column.push-left,.push-left{margin-right:auto}.gutters .column.push-right,.push-right{margin-left:auto}.gutters .column.push-center,.push-center{margin-left:auto;margin-right:auto}.gutters .column.push-middle,.push-middle{margin-bottom:auto;margin-top:auto}.push-bottom{margin-top:auto}@media (max-width:768px){.gutters .column.push-left-sm,.push-left-sm{margin-left:0}.gutters .column.push-center-sm,.push-center-sm{margin-left:auto;margin-right:auto}.push-top-sm{margin-top:0}}.align-middle{align-items:center}.align-right{justify-content:flex-end}.align-center{justify-content:center}@media (max-width:768px){.align-left-sm{justify-content:flex-start}}.float-right{float:right}.float-left{float:left}@media (max-width:768px){.float-left,.float-right{float:none}}.fixed{left:0;position:fixed;top:0;width:100%;z-index:100}html{font-family:sans-serif;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:initial}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:initial}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{font-size:2em;margin:.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:initial}sup{top:-.5em}sub{bottom:-.25em}img{border:0}figure{margin:1em 40px}hr{box-sizing:initial;height:0}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0}optgroup{font-weight:700}table{border-spacing:0}td,th{padding:0}p{margin:1rem 0}blockquote{margin:0 1.5rem}address{margin:0 0 1.5rem}pre{margin-bottom:1.6rem;padding:1.6rem}html{box-sizing:border-box}*,:after,:before{box-sizing:inherit}body{background:#fff}blockquote,q{quotes:"" ""}blockquote:after,blockquote:before,q:after,q:before{content:""}blockquote{border-left:2px solid #767676;color:#767676;margin:1rem 0;padding-left:.8rem}blockquote cite{font-size:.8rem}figure{margin:0}hr{background-color:#eee;border:0;height:2px;margin:5rem auto}img{height:auto;max-width:100%}h1,h2,h3,h4,h5,h6{clear:both;font-family:Open Sans,sans-serif;line-height:1.5;margin:2rem 0 1rem}.h1,h1{font-size:2.44140625rem}.h1,.h2,h1,h2{font-weight:300}.h2,h2{font-size:1.953125rem}.h3,h3{font-size:1.5625rem;font-weight:400}.h4,h4{color:#32373c;font-size:1.25rem;font-weight:600;padding:0}.h5,h5{font-size:1rem;letter-spacing:.01rem}.h5,.h6,h5,h6{font-weight:600;text-transform:uppercase}.h6,h6{font-size:.8rem;letter-spacing:.8px}a{color:#0073aa;text-decoration:none}a:active,a:focus,a:hover{text-decoration:underline}a:focus{outline:thin dotted}a:active,a:hover{outline:0}li>a,p a{text-decoration:underline}li>a:hover,p a:hover{color:#d54e21}ol,ul{margin:0 0 1.5em 1.5em;padding:0}ul{list-style:square}ol{list-style:decimal}ol.unmarked-list,ul.unmarked-list{list-style:none;padding-left:0}li>ol,li>ul{margin-bottom:0}dt{font-weight:700}dd{margin:0 1.5em 1.5em}table{border:1px solid #eee;border-collapse:collapse;font-size:.8rem;margin:0 0 1rem;padding:0;width:100%}table thead{background:#32373c;color:#fff}table td,table th{border:1px solid #eee;font-weight:400;margin:0;padding:.4rem;text-align:left;vertical-align:top}table tbody tr:nth-child(2n){background:#f7f7f7}html{font-size:100%}body,button,input,select,textarea{color:#32373c;font-family:Open Sans,sans-serif;font-size:100%;line-height:1.5}@media screen and (min-width:737px){html{font-size:1.125rem}}cite,dfn,em,i{font-style:italic}blockquote{margin:0 1.5em}address{margin:0 0 1.5em}pre{background:#eee;font-family:Courier\ 10 Pitch,Courier,monospace;font-size:.9375rem;line-height:1.6;margin-bottom:1.6em;max-width:100%;overflow:auto;padding:1.6em;word-wrap:normal}code,kbd,tt,var{font-family:Monaco,Consolas,Andale Mono,DejaVu Sans Mono,monospace;font-size:.9375rem;-webkit-hyphens:none;hyphens:none}abbr,acronym{border-bottom:1px dotted #666;cursor:help}ins,mark{background:#fff9c0;text-decoration:none}big{font-size:125%}h1.title{color:#0073aa;font-size:.8rem;font-weight:600;letter-spacing:.05rem;text-transform:uppercase}.screen-reader-text{clip:rect(1px,1px,1px,1px);height:1px;overflow:hidden;position:absolute!important;width:1px}.screen-reader-text:focus{background-color:#f1f1f1;border-radius:3px;box-shadow:0 0 2px 2px #0009;clip:auto!important;color:#21759b;display:block;font-size:.875rem;font-weight:700;height:auto;left:5px;line-height:normal;padding:15px 23px 14px;text-decoration:none;top:5px;width:auto;z-index:100000}.site-content[tabindex="-1"]:focus{outline:0}.no-js .hide-if-no-js{display:none}.alignleft{display:inline;float:left;margin-right:1.5em}.alignright{display:inline;float:right;margin-left:1.5em}.aligncenter{clear:both;display:block;margin-left:auto;margin-right:auto}@media screen and (max-width:480px){.alignleft,.alignright{display:block;float:none;margin-left:auto;margin-right:auto}}.button,.button-primary,.button-secondary,.plugin-upload-form .button-primary{-webkit-appearance:none;border:1px solid;border-radius:3px;box-sizing:border-box;cursor:pointer;display:inline-block;font-size:.8rem;height:1.5625rem;line-height:1;margin:0;padding:0 .8rem;text-decoration:none;white-space:nowrap}button::-moz-focus-inner,input[type=button]::-moz-focus-inner,input[type=reset]::-moz-focus-inner,input[type=submit]::-moz-focus-inner{border:0;padding:0}.button-group.button-xl .button,.button.button-xl{font-size:1rem;height:2.44140625rem;line-height:1;padding:0 1.5rem}.button-group.button-large .button,.button.button-large{height:1.953125rem;line-height:1;padding:0 1rem}.button-group.button-small .button,.button.button-small{font-size:.64rem;height:1.25rem;line-height:1;padding:0 .5rem}a.button,a.button-primary,a.button-secondary{line-height:1.5625rem}.button-group.button-large a.button,a.button.button-large{line-height:1.953125rem}.button-group.button-xl a.button,a.button.button-xl{line-height:2.44140625rem}.button-group.button-small a.button,a.button.button-small{line-height:1.25rem}.button:active,.button:focus{outline:none}.button.hidden{display:none}input[type=reset],input[type=reset]:active,input[type=reset]:focus,input[type=reset]:hover{background:none;border:none;box-shadow:none;padding:0 2px 1px;width:auto}.button,.button-secondary,.button:visited{background:#f7f7f7;border-color:#ccc;box-shadow:0 1px 0 #ccc;color:#555;vertical-align:top}p .button{vertical-align:initial}.button-secondary:focus,.button-secondary:hover,.button.focus,.button.hover,.button:focus,.button:hover{background:#fafafa;border-color:#999;color:#23282d}.button-link:focus,.button-secondary:focus,.button.focus,.button:focus{border-color:#5b9dd9;box-shadow:0 0 3px #0073aacc}.button-secondary:active,.button.active,.button.active:hover,.button:active{background:#eee;border-color:#999;box-shadow:inset 0 2px 5px -3px #00000080;transform:translateY(1px)}.button.active:focus{border-color:#5b9dd9;box-shadow:inset 0 2px 5px -3px #00000080,0 0 3px #0073aacc}.button-disabled,.button-secondary.disabled,.button-secondary:disabled,.button-secondary[disabled],.button.disabled,.button:disabled,.button[disabled]{background:#f7f7f7!important;border-color:#ddd!important;box-shadow:none!important;color:#a0a5aa!important;cursor:default;text-shadow:0 1px 0 #fff!important;transform:none!important}.button-link,input[type=submit].button-link{background:none;border:0;border-radius:0;box-shadow:none;cursor:pointer;margin:0;outline:none;padding:0}.button-link:focus{outline:1px solid #5b9dd9}.button-primary,.download-button,.plugin-upload-form .button-primary{text-decoration:none;text-shadow:0 -1px 1px #006799,1px 0 1px #006799,0 1px 1px #006799,-1px 0 1px #006799}.button-primary,.button-primary:visited,.download-button,.download-button:visited,.plugin-upload-form .button-primary,.plugin-upload-form .button-primary:visited{background:#0085ba;border-color:#0073aa #006799 #006799;box-shadow:0 1px 0 #006799;color:#fff}.button-primary.focus,.button-primary.hover,.button-primary:focus,.button-primary:hover,.download-button.focus,.download-button.hover,.download-button:focus,.download-button:hover,.plugin-upload-form .button-primary.focus,.plugin-upload-form .button-primary.hover,.plugin-upload-form .button-primary:focus,.plugin-upload-form .button-primary:hover{background:#008ec2;border-color:#006799;box-shadow:0 1px 0 #006799;color:#fff}.button-primary.focus,.button-primary:focus,.download-button.focus,.download-button:focus,.plugin-upload-form .button-primary.focus,.plugin-upload-form .button-primary:focus{box-shadow:0 1px 0 #0073aa,0 0 2px 1px #33b3db}.button-primary.active,.button-primary.active:focus,.button-primary.active:hover,.button-primary:active,.download-button.active,.download-button.active:focus,.download-button.active:hover,.download-button:active,.plugin-upload-form .button-primary.active,.plugin-upload-form .button-primary.active:focus,.plugin-upload-form .button-primary.active:hover,.plugin-upload-form .button-primary:active{background:#0073aa;border-color:#006799;box-shadow:inset 0 2px 0 #006799;vertical-align:top}.button-primary.disabled,.button-primary:disabled,.button-primary[disabled],.download-button.disabled,.download-button:disabled,.download-button[disabled],.plugin-upload-form .button-primary.disabled,.plugin-upload-form .button-primary:disabled,.plugin-upload-form .button-primary[disabled]{background:#008ec2!important;border-color:#007cb2!important;box-shadow:none!important;color:#66c6e4!important;cursor:default;text-shadow:0 -1px 0 #0000001a!important}.button-primary.button.button-hero,.download-button.button.button-hero,.plugin-upload-form .button-primary.button.button-hero{box-shadow:0 2px 0 #006799}.button-primary.button.button-hero.active,.button-primary.button.button-hero.active:focus,.button-primary.button.button-hero.active:hover,.button-primary.button.button-hero:active,.download-button.button.button-hero.active,.download-button.button.button-hero.active:focus,.download-button.button.button-hero.active:hover,.download-button.button.button-hero:active,.plugin-upload-form .button-primary.button.button-hero.active,.plugin-upload-form .button-primary.button.button-hero.active:focus,.plugin-upload-form .button-primary.button.button-hero.active:hover,.plugin-upload-form .button-primary.button.button-hero:active{box-shadow:inset 0 3px 0 #006799}.button-primary-disabled{background:#008ec2!important;border-color:#007cb2!important;box-shadow:none!important;color:#66c6e4!important;cursor:default;text-shadow:0 -1px 0 #0000001a!important}.button-group{display:inline-block;font-size:0;position:relative;vertical-align:middle;white-space:nowrap}.button-group>.button{border-radius:0;display:inline-block;margin-right:-1px;z-index:10}.button-group>.button-primary{z-index:100}.button-group>.button:hover{z-index:20}.button-group>.button:first-child{border-radius:3px 0 0 3px}.button-group>.button:last-child{border-radius:0 3px 3px 0}.button-group>.button:focus{position:relative;z-index:1}@media screen and (max-width:737px){.button,.button.button-large,.button.button-small,.plugin-upload-form .button-primary{font-size:14px;height:auto;line-height:normal;margin-bottom:4px;padding:6px 14px;vertical-align:middle}}.clear:after,.clear:before,.comment-content:after,.comment-content:before,.committer-list li:after,.committer-list li:before,.entry-content:after,.entry-content:before,.home-below:after,.home-below:before,.plugin-meta:after,.plugin-meta:before,.plugin-upload-form .category-checklist:after,.plugin-upload-form .category-checklist:before,.site-content:after,.site-content:before,.site-footer:after,.site-footer:before,.site-header:after,.site-header:before,.support-rep-list li:after,.support-rep-list li:before,.type-plugin .plugin-header:after,.type-plugin .plugin-header:before,.type-plugin:after,.type-plugin:before{content:"";display:table;table-layout:fixed}.clear:after,.comment-content:after,.committer-list li:after,.entry-content:after,.home-below:after,.plugin-meta:after,.plugin-upload-form .category-checklist:after,.site-content:after,.site-footer:after,.site-header:after,.support-rep-list li:after,.type-plugin .plugin-header:after,.type-plugin:after{clear:both}p.subheading{color:#82878c;font-weight:300;margin:-.4rem auto 2rem;text-align:center}p.intro,p.subheading{font-size:1.25rem}p.aside{font-size:.8rem}p.note{font-size:.64rem;letter-spacing:.01rem;max-width:18.1898940355rem}input[type=checkbox],input[type=color],input[type=date],input[type=datetime-local],input[type=datetime],input[type=email],input[type=month],input[type=number],input[type=password],input[type=radio],input[type=search],input[type=tel],input[type=text],input[type=time],input[type=url],input[type=week],select,textarea{background-color:#fff;border:1px solid #ddd;box-shadow:inset 0 1px 2px #00000012;color:#32373c;outline:none;transition:border-color .05s ease-in-out}input[type=checkbox]:focus,input[type=color]:focus,input[type=date]:focus,input[type=datetime-local]:focus,input[type=datetime]:focus,input[type=email]:focus,input[type=month]:focus,input[type=number]:focus,input[type=password]:focus,input[type=radio]:focus,input[type=search]:focus,input[type=tel]:focus,input[type=text]:focus,input[type=time]:focus,input[type=url]:focus,input[type=week]:focus,select:focus,textarea:focus{border-color:#5b9dd9;box-shadow:0 0 2px #1e8cbecc}input[type=number]{height:28px}input[type=checkbox],input[type=radio]{height:16px;outline:0;width:16px}input[type=checkbox]:checked:before{margin:-3px 0 0 -4px}input[type=radio]:checked+label:before{color:#82878c}input[type=radio]:checked:before{height:6px;margin:4px;width:6px}input[type=reset]:active,input[type=reset]:hover{color:#00a0d2}input[type=search]{-webkit-appearance:textfield}input,select,textarea{font-size:14px;padding:3px 5px}textarea.code{line-height:1.4;padding:4px 6px 1px}label{vertical-align:middle}input,select{margin:1px;padding:3px 5px}input.code{padding-top:6px}.wp-core-ui :-moz-placeholder,:-moz-placeholder{color:#a9a9a9}input.large-text,textarea.large-text{width:99%}input.regular-text{width:25em}input.small-text{padding:1px 6px;width:50px}input[type=number].small-text{width:65px}input.tiny-text{width:35px}input[type=number].tiny-text{width:45px}@media screen and (max-width:782px){textarea{-webkit-appearance:none}input[type=email],input[type=number],input[type=password],input[type=search],input[type=text]{-webkit-appearance:none;padding:6px 10px}input[type=number]{height:40px}input.code{padding-bottom:5px;padding-top:10px}input[type=checkbox]{-webkit-appearance:none;padding:10px}input[type=checkbox]:checked:before{font:normal 30px/1 dashicons;margin:-3px -5px}input[type=checkbox],input[type=radio]{height:25px;width:25px}input[type=radio]:checked:before{height:9px;line-height:16px;margin:7px;vertical-align:middle;width:9px}input,textarea{font-size:16px}input[type=number].small-text,input[type=password].small-text,input[type=search].small-text,input[type=text].small-text{display:inline;margin:0 3px;max-width:55px;padding:3px 6px;width:auto}input.regular-text{width:100%}label{font-size:14px}fieldset label{display:block}}a.button:active,a.button:focus,a.button:hover{text-decoration:none}.notice p{font-size:.8rem;margin:.5em 0;padding:2px}.avatar{border-radius:50%;vertical-align:middle}.locale-banner{background:#c7e8ca;font-size:.8rem;padding:.5rem;text-align:center}@media (min-width:67rem){.locale-banner{margin:1rem auto;max-width:960px}}.locale-banner a{text-decoration:underline}.block-validator .block-validator__plugin-form label{display:block;margin-bottom:.8rem}.block-validator .block-validator__plugin-input-container{display:flex;max-width:34rem}.block-validator .block-validator__plugin-input{flex:1}.block-validator .block-validator__plugin-submit{flex:0;margin-left:.73152rem}@media (max-width:36rem){.block-validator .block-validator__plugin-input-container{display:block}.block-validator .block-validator__plugin-input{width:100%}.block-validator .block-validator__plugin-submit{margin-left:0;margin-top:.73152rem}}.block-validator .notice details,.block-validator .notice p{font-size:1rem;margin:.73152rem 0}.block-validator .notice details p{font-size:.8rem;margin-left:1rem}.block-validator .notice code{font-size:1em}.block-validator .notice summary{display:list-item}.block-validator figure{border:1px solid #aaa;display:inline-block;padding:1em}.block-validator .test-screenshot{text-align:center}input,textarea{box-sizing:border-box}input[type=checkbox],input[type=color],input[type=date],input[type=datetime-local],input[type=datetime],input[type=email],input[type=month],input[type=number],input[type=password],input[type=radio],input[type=search],input[type=tel],input[type=text],input[type=time],input[type=url],input[type=week],select,textarea{background-color:#fff;border:1px solid #ddd;box-shadow:inset 0 1px 2px #00000012;color:#32373c;outline:none;transition:border-color .05s ease-in-out}input[type=checkbox]:focus,input[type=color]:focus,input[type=date]:focus,input[type=datetime-local]:focus,input[type=datetime]:focus,input[type=email]:focus,input[type=month]:focus,input[type=number]:focus,input[type=password]:focus,input[type=radio]:focus,input[type=search]:focus,input[type=tel]:focus,input[type=text]:focus,input[type=time]:focus,input[type=url]:focus,input[type=week]:focus,select:focus,textarea:focus{border-color:#5b9dd9;box-shadow:0 0 2px #1e8cbecc;color:#111}input[type=email],input[type=url]{direction:ltr}input[type=email],input[type=number],input[type=password],input[type=search],input[type=text],select{padding:6px 10px}input[type=number]{height:40px;line-height:inherit}input[type=checkbox],input[type=radio]{-webkit-appearance:none;background:#fff;border:1px solid #b4b9be;box-shadow:inset 0 1px 2px #0000001a;clear:none;color:#555;cursor:pointer;display:inline-block;height:25px;line-height:0;margin:-4px 4px 0 0;min-width:16px;padding:0!important;text-align:center;transition:border-color .05s ease-in-out;vertical-align:middle;width:25px}input[type=checkbox]{padding:10px}input[type=radio]{border-radius:50%;line-height:10px;margin-right:4px}input[type=checkbox]:checked:before,input[type=radio]:checked:before{display:inline-block;float:left;font:normal 21px/1 dashicons;vertical-align:middle;width:16px;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;speak:none}input[type=checkbox]:checked:before{color:#1e8cbe;content:"\f147";font:normal 30px/1 dashicons;margin:-3px -5px}input[type=radio]:checked:before{background-color:#1e8cbe;border-radius:50px;content:"•";font-size:24px;height:9px;line-height:16px;margin:7px;text-indent:-9999px;vertical-align:middle;width:9px}@-moz-document url-prefix(){.form-table input.tog,input[type=checkbox],input[type=radio]{margin-bottom:-1px}}input[type=search]::-webkit-search-decoration{display:none}.ie8 input[type=password]{font-family:sans-serif}button,input,select,textarea{font-family:inherit;font-size:inherit;font-weight:inherit}input,select,textarea{border-radius:0;font-size:16px}textarea{line-height:1.4;overflow:auto;padding:2px 6px;resize:vertical}input[type=file]{padding:3px 0}label{cursor:pointer}input.readonly,input[readonly],textarea.readonly,textarea[readonly]{background-color:#eee}:-moz-placeholder{color:#a9a9a9}input.disabled,input:disabled,select.disabled,select:disabled,textarea.disabled,textarea:disabled{background:#ffffff80;border-color:#dededebf;box-shadow:inset 0 1px 2px #0000000a;color:#33333380}input[type=file].disabled,input[type=file]:disabled,input[type=range].disabled,input[type=range]:disabled{background:none;box-shadow:none}input[type=checkbox].disabled,input[type=checkbox].disabled:checked:before,input[type=checkbox]:disabled,input[type=checkbox]:disabled:checked:before,input[type=radio].disabled,input[type=radio].disabled:checked:before,input[type=radio]:disabled,input[type=radio]:disabled:checked:before{opacity:.7}fieldset label,label{vertical-align:middle}@media screen and (min-width:737px){input[type=email],input[type=number],input[type=password],input[type=search],input[type=text]{padding:3px 5px}input[type=number]{height:28px}input[type=checkbox]{padding:0}input[type=checkbox]:checked:before{font:normal 21px/1 dashicons;margin:-3px 0 0 -4px}input[type=checkbox],input[type=radio]{height:16px;width:16px}input[type=radio]:checked:before{height:6px;margin:4px;width:6px}input,select,textarea{font-size:14px;padding:3px 5px}}.infinite-scroll .posts-navigation,.infinite-scroll.neverending .site-footer{display:none}.infinity-end.neverending .site-footer{display:block}.notice{background:#fff;border-left:4px solid #fff;box-shadow:0 1px 1px 0 #0000001a;font-size:.8rem;margin:1em 0;padding:1px 12px}.notice p,.notice ul{margin:.5em 0;padding:2px}.notice p a,.notice ul a{border-bottom:0}.notice pre{white-space:pre-wrap}.notice ul{list-style:none;margin:.5em}.notice.notice-alt{box-shadow:none}.notice.notice-large{padding:10px 20px}.notice.notice-success{border-left-color:#46b450}.notice.notice-success.notice-alt{background-color:#ecf7ed}.notice.notice-warning{border-left-color:#ffb900}.notice.notice-warning.notice-alt{background-color:#fff8e5}.notice.notice-error{border-left-color:#dc3232}.notice.notice-error.notice-alt{background-color:#fbeaea}.notice.notice-info{border-left-color:#00a0d2}.notice.notice-info.notice-alt{background-color:#e5f5fa}.notice.hidden{display:none}.plugin-upload-form fieldset{border:none;margin:0;padding:0}.plugin-upload-form legend{margin:1rem 0}.plugin-upload-form .category-checklist{list-style-type:none;margin:0 0 2rem}.plugin-upload-form .category-checklist li{float:left;padding:.5rem 0;width:50%}@media screen and (min-width:48em){.plugin-upload-form .category-checklist li{padding:0}.plugin-upload-form .category-checklist label{font-size:.8rem}.plugin-upload-form label.button{line-height:1.8}}.plugin-upload-form .plugin-file{height:.1px;opacity:0;overflow:hidden;position:absolute;width:.1px;z-index:-1}.plugin-upload-form .plugin-file:focus+label{box-shadow:0 1px 0 #0073aa,0 0 2px 1px #33b3db}.plugin-queue-message dialog.slug-change input[type=text]{font-family:monospace;font-size:1.2em;width:20em}.error-404 .page-content,.error-404 .page-title{text-align:center}.error-404 .page-content .logo-swing{height:10rem;margin:6rem auto;position:relative;text-align:center;width:10rem}.error-404 .page-content .logo-swing .wp-logo{left:0;max-width:none;position:absolute;top:0;width:10rem}@keyframes hinge{10%{height:180px;transform:rotate(0deg);width:180px}15%{height:185px;transform:rotate(0deg);width:185px}20%{height:180px;transform:rotate(5deg);width:180px}40%{animation-timing-function:ease-in-out;transform-origin:top left}60%{animation-timing-function:ease-in-out;transform:rotate(40deg);transform-origin:top left}40%,80%{animation-timing-function:ease-in-out;opacity:1;transform:rotate(60deg);transform-origin:top left}to{opacity:0;transform:translate3d(0,700px,0)}}.hinge{animation-duration:2s;animation-name:hinge}.comments-area{margin-top:5em}.comments-area>:last-child{margin-bottom:0}.comments-area .comment-list+.comment-respond{border-top:1px solid #eaeaea}.comments-area .comment-list+.comment-respond,.comments-area .comment-navigation+.comment-respond{padding-top:1.6em}.comments-area .comments-title{margin-bottom:1.3333em}.comments-area .comment-list{list-style:none;margin:0}.comments-area .comment-list .pingback,.comments-area .comment-list .trackback,.comments-area .comment-list article{border-top:1px solid #eaeaea;padding:1.6em 0}.comments-area .comment-list article:not(:only-child){padding-bottom:0}.comments-area .comment-list article+.comment-respond{padding-bottom:1.6em}.comments-area .comment-list .children{list-style:none;margin:0}.comments-area .comment-list .children>li{padding-left:.8em}.comments-area .comment-list .alt{background:none}.comments-area .comment-author{color:#999;margin-bottom:.4em}.comments-area .comment-author .avatar{float:left;height:24px;margin-right:.8em;width:24px}.comments-area .comment-metadata,.comments-area .pingback .edit-link{color:#999;line-height:1.5}.comments-area .comment-metadata a,.comments-area .pingback .edit-link a{color:#777}.comments-area .comment-metadata{font-size:.8rem;margin-bottom:1.6em}.comments-area .comment-metadata .edit-link,.comments-area .pingback .edit-link{margin-left:1em}.comments-area .pingback .edit-link:before{top:5px}.comments-area .comment-content ol,.comments-area .comment-content ul{margin:0 0 1.6em 1.3333em}.comments-area .comment-content li>ol,.comments-area .comment-content li>ul,.comments-area .comment-content>:last-child{margin-bottom:0}.comments-area .comment-content .reply{font-size:12px}.comments-area .comment-content .reply a{border:1px solid #eaeaea;color:#707070;display:inline-block;font-weight:700;line-height:1;margin-top:2em;padding:.4167em .8333em;text-transform:uppercase}.comments-area .comment-content .reply a:focus,.comments-area .comment-content .reply a:hover{border-color:#333;color:#333;outline:0}.comments-area .comment-reply-title a{font-weight:inherit}.comments-area .comment-form label{display:block;font-size:.8rem;font-weight:700;letter-spacing:.04em;line-height:1.5}.comments-area .comment-form input[type=email],.comments-area .comment-form input[type=text],.comments-area .comment-form input[type=url],.comments-area .comment-form textarea{width:100%}.comments-area .comment-awaiting-moderation,.comments-area .comment-notes,.comments-area .form-allowed-tags,.comments-area .logged-in-as{font-size:1rem;line-height:1.5;margin-bottom:2em}.comments-area .no-comments{border-top:1px solid #eaeaea;color:#999;font-weight:700;padding-top:1.6em}.comments-area .comment-navigation+.no-comments{border-top:0}.comments-area .form-allowed-tags code{font-family:Inconsolata,monospace}.comments-area .form-submit{margin-bottom:0}.comments-area .required{color:#c0392b}.entry-content{-webkit-hyphens:auto;hyphens:auto;word-wrap:break-word}.entry-content>p:first-child{margin-top:0}.entry-content [class*=col-]~h1,.entry-content [class*=col-]~h2,.entry-content [class*=col-]~h3,.entry-content [class*=col-]~h4,.entry-content [class*=col-]~h5,.entry-content [class*=col-]~h6{clear:none}.entry-header{position:relative}.entry-header .sticky-post{color:#999;font-size:.8rem;font-style:italic;position:absolute;top:-.8rem}.entry-summary{-webkit-hyphens:auto;hyphens:auto;word-wrap:break-word}body:not(.single):not(.search) .site-main .post{margin-bottom:3.0517578125rem;max-width:40em}.gallery{margin-bottom:1.5rem}.gallery .gallery-item{display:inline-block;margin:0;text-align:center;vertical-align:top;width:100%}.gallery.gallery-columns-2 .gallery-item{max-width:50%}.gallery.gallery-columns-3 .gallery-item{max-width:33.33%}.gallery.gallery-columns-4 .gallery-item{max-width:25%}.gallery.gallery-columns-5 .gallery-item{max-width:20%}.gallery.gallery-columns-6 .gallery-item{max-width:16.66%}.gallery.gallery-columns-7 .gallery-item{max-width:14.28%}.gallery.gallery-columns-8 .gallery-item{max-width:12.5%}.gallery.gallery-columns-9 .gallery-item{max-width:11.11%}.gallery .gallery-caption{display:block}.post-navigation{margin:5em auto;padding:0}.post-navigation a{border-bottom:1px solid #eaeaea;color:#444;display:block;font-weight:600;padding:11px 0 12px;text-transform:none;width:100%}.post-navigation a:hover{color:#21759b}.post-navigation .nav-links{border-top:1px solid #eaeaea;-webkit-hyphens:auto;hyphens:auto;word-wrap:break-word}.post-navigation .meta-nav{color:#777;display:block;font-size:13px;line-height:2;text-transform:uppercase}.post-navigation .nav-next{text-align:right}.pagination .nav-links{text-align:center}.pagination .nav-links .page-numbers{background-color:#f9f9f9;cursor:hand;display:inline-block;min-width:2em;padding:8px;text-align:center}.pagination .nav-links .page-numbers.dots,.pagination .nav-links .page-numbers.next,.pagination .nav-links .page-numbers.prev{background:none;font-size:.9em;width:auto}.pagination .nav-links .page-numbers.dots{cursor:inherit}@media screen and (max-width:737px){.pagination .nav-links .page-numbers.next,.pagination .nav-links .page-numbers.prev{font-size:0;min-width:auto;padding:0}.pagination .nav-links .page-numbers.next:after,.pagination .nav-links .page-numbers.prev:before{background-color:#f9f9f9;display:inline-block;font-size:1rem;line-height:1.5;min-width:2em;padding:8px}.pagination .nav-links .page-numbers.prev:before{content:"‹"}.pagination .nav-links .page-numbers.next:after{content:"›"}}.pagination .nav-links span.page-numbers{background-color:#f7f7f7;font-weight:700}.search-form .search-field{line-height:normal;margin:0;padding:4px 5px;vertical-align:text-bottom}.site-content{margin:0 auto;max-width:960px;padding:0 1.5625rem}@media screen and (min-width:737px){.site-content{padding:0 10px 3.0517578125rem}}@media screen and (max-width:737px){.site-content .site-main{float:none;margin:0;width:auto}}.home .site-content,.page .site-content,.site-content.page{margin:auto;max-width:none;padding:0}.site-content .page-title{font-size:1.25rem;font-weight:400}.site-content .no-results{margin:0 auto 3.0517578125rem;max-width:40em;padding:0 2rem}.site-description{color:#fffc;font-size:1.25rem;font-weight:300;margin:-.4rem auto 2rem;text-align:center}.site-header{background:#0073aa;padding:1rem 0;position:relative}.site-header .site-branding{margin:0 auto;max-width:960px;padding:0 1.5625rem}@media screen and (min-width:737px){.site-header .site-branding{padding:0 10px}}.site-header.home{padding:1.5625rem 1.143rem;text-align:center}.site-title a:active,.site-title a:focus,.site-title a:hover{text-decoration:none}.widget-area{font-size:.8rem}@media screen and (min-width:480px) and (max-width:768px){.widget-area{display:flex}.widget-area .widget{width:48%}}#wporg-footer{background-color:#f7f7f7;border-top:1px solid #dfdfdf;padding:22px 14px 65px}#wporg-footer,#wporg-footer .wrapper{clear:both;margin:0 auto;overflow:auto}#wporg-footer .wrapper{max-width:930px}#wporg-footer ul{float:left;margin-bottom:20px;margin-left:24px;overflow:auto;padding-left:0;width:135px}@media screen and (min-width:960px){#wporg-footer ul:first-child{margin-left:0}}#wporg-footer ul li{color:#bbb;font-size:14px;list-style-type:none;margin-bottom:1px}#wporg-footer ul li a{text-decoration:none;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}#wporg-footer ul li a:hover{color:#0073aa;text-decoration:underline}#wporg-footer .social-media-links .dashicons{margin-right:4px}#wporg-footer .cip{clear:both;color:#ccc;float:none;font-size:.8rem;letter-spacing:.3em;margin:35px auto 0;text-align:center;text-transform:uppercase}#wporg-footer .cip.cip-image{background:url(//s.w.org/style/images/codeispoetry.png?1) 50% no-repeat;background-size:190px 15px;height:15px;text-indent:-9999px;width:190px}@media only screen and (min-resolution:1.5dppx),only screen and (min-resolution:144dpi){#wporg-footer .cip.cip-image{background-image:url(//s.w.org/style/images/codeispoetry-2x.png?1)}}@media screen and (min-width:561px) and (max-width:959px){#wporg-footer .wrapper{max-width:600px}#wporg-footer ul{margin-left:2%;width:32%}#wporg-footer ul:nth-child(3n+1){margin-left:0}#wporg-footer ul:nth-child(4n){clear:both}}@media screen and (max-width:560px){#wporg-footer .wrapper{max-width:360px}#wporg-footer ul{margin-left:4%;width:48%}#wporg-footer ul:nth-child(odd){clear:both;margin-left:0}}#wporg-header{background:#23282d;height:140px;position:relative;text-align:center;width:100%}#wporg-header .wrapper{margin:0 auto;max-width:960px}#wporg-header h1{display:inline-block;margin:auto;width:303px}#wporg-header h1 a{background:url(//s.w.org/style/images/wporg-logo.svg?3) 0 no-repeat;background-size:290px 46px;display:block;height:88px;text-indent:-9999px}#wporg-header h2.rosetta{clear:none;color:#dfdfdf;font-family:Georgia,Times New Roman,serif;font-size:30px;margin:0 0 0 60px}#wporg-header h2.rosetta a{border-bottom:none;color:#dfdfdf;display:block;height:52px;line-height:22px;padding:0}#wporg-header h2.rosetta a:hover{text-decoration:none}#wporg-header #wporg-header-menu{background:#23282d;left:-75%;list-style:none;margin:0;max-width:75%;min-width:200px;position:absolute;text-align:left;top:100%;transition:left .3s;z-index:100000}#wporg-header #wporg-header-menu.toggled{left:0}#wporg-header ul li{list-style-type:none;position:relative}#wporg-header ul li a{color:#eee;display:block;font-family:Open Sans,Helvetica,Arial,Liberation Sans,sans-serif;font-size:13px;font-weight:600;height:34px;line-height:34px;margin:0 4px;padding:10px 30px;text-decoration:none}#wporg-header ul li a.subcurrent{font-weight:700}@media (max-width:768px){#wporg-header ul li a{height:auto}}#wporg-header ul li a.current,#wporg-header ul li a:hover,#wporg-header ul li.current-menu-item a,#wporg-header ul li.current_page_parent a{color:#00a0d2}#wporg-header ul li#download,#wporg-header ul li.download{float:right;height:34px;margin-right:14px;overflow:hidden;padding:0 0 34px}@media screen and (max-width:767px){#wporg-header ul li#download,#wporg-header ul li.download{display:block;float:none;height:auto;margin:10px 20px 20px;padding-bottom:0}#wporg-header ul li#download a,#wporg-header ul li.download a{padding:4px 10px;text-align:center}}#wporg-header ul li#download a,#wporg-header ul li.download a{margin:0;padding:0 16px}#wporg-header ul li#download a:hover,#wporg-header ul li.download a:hover{color:#eee}#wporg-header ul li#download .uparrow,#wporg-header ul li#download.current,#wporg-header ul li#download.current-menu-item,#wporg-header ul li.download .uparrow,#wporg-header ul li.download.current,#wporg-header ul li.download.current-menu-item{display:none}#wporg-header ul li .nav-submenu{clip:rect(1px,1px,1px,1px);height:1px;left:-2px;margin:0;overflow:hidden;padding:0;position:absolute;width:1px;z-index:99999}#wporg-header ul li .nav-submenu li a{display:inline-block;height:24px;line-height:24px;margin:0;white-space:nowrap}@media screen and (min-width:768px){#wporg-header #head-search{float:right;margin-right:14px;padding-top:30px}}#wporg-header #head-search form{border-bottom:1px solid #3f3f3f;display:inline-block;margin-left:60px;width:288px}#wporg-header #head-search form input.text{background:#191e23;border:0;border-radius:0;box-sizing:initial;color:#b4b9be;float:left;font-family:Open Sans,sans-serif;font-size:12px;height:24px;margin:0;outline:none;padding:3px;vertical-align:top;width:256px}#wporg-header #head-search form input.text::-moz-placeholder{color:#eee}@media screen and (max-width:480px){#wporg-header #head-search form input.text{width:216px}}#wporg-header #head-search form .button{background:#191e23 url(//s.w.org/wp-includes/images/admin-bar-sprite.png?d=20120831) no-repeat 2px 5px;border:none;border-radius:0;box-shadow:none;float:left;height:30px;margin:0;padding:0;text-shadow:none!important;width:26px}@media screen and (max-width:480px){#wporg-header #head-search form{width:248px}}@media screen and (min-width:480px){#wporg-header #head-search form{margin-left:0}}@media screen and (min-width:768px){#wporg-header{height:120px;text-align:inherit}#wporg-header h1{float:left;padding-left:10px}#wporg-header h2.rosetta{float:left;margin-left:0;padding:36px 27px 0}#wporg-header #headline h2{text-rendering:optimizeLegibility}#wporg-header #wporg-header-menu{float:left;height:46px;list-style:none;margin:-15px 0 0;max-width:inherit;min-width:0;padding:0;position:static;width:100%}#wporg-header ul li{float:left;position:relative}#wporg-header ul li a{height:46px;padding:0 6px}#wporg-header ul li a.current~.uparrow{border-bottom:9px solid #f7f7f7;border-left:9px solid #0000;border-right:9px solid #0000;height:0;margin:-8px auto 0;width:0}#wporg-header ul li.current-menu-item:after,#wporg-header ul li.current_page_parent:after{border-bottom:9px solid #f7f7f7;border-left:9px solid #0000;border-right:9px solid #0000;content:"";height:0;left:50%;margin:-8px 0 0 -9px;position:absolute;width:0}#wporg-header ul li .nav-submenu:hover~.uparrow,#wporg-header ul li:hover .nav-submenu~.uparrow{border-bottom:9px solid #32373c;border-left:9px solid #0000;border-right:9px solid #0000;height:0;margin:-10px auto 0;width:0}#wporg-header ul li .nav-submenu{background:#32373c;border:1px solid #32373c;border-top:0;margin-top:-1px;min-width:0}#wporg-header ul li .nav-submenu li{float:none}#wporg-header ul li .nav-submenu li a{height:34px;line-height:34px}#wporg-header .nav-menu .focus>ul,#wporg-header .nav-menu ul li:hover>ul,#wporg-header ul.nav-menu .focus>ul,#wporg-header ul.nav-menu li:hover>ul{clip:inherit;height:inherit;overflow:inherit;width:inherit}#wporg-header ul li a.current~.uparrow,#wporg-header ul li.current-menu-item:after,#wporg-header ul li.current_page_parent:after{border-bottom-color:#0073aa}}.page-download #wporg-header #download,.page-parent-download #wporg-header #download{display:none}#mobile-menu-button{background:none;border:none;box-shadow:none;display:block;float:left;font-family:dashicons;font-size:16px;font-style:normal;font-weight:400;left:10px;line-height:1;padding:1px;position:absolute;text-align:center;text-decoration:inherit;text-shadow:none;top:75px;transition:color .1s ease-in;vertical-align:top;-webkit-font-smoothing:antialiased}#mobile-menu-button:before{border:none;box-sizing:border-box;color:#888;content:"\f228";display:inline-block;float:left;font:normal 50px/1 Dashicons;margin:0;outline:none;padding:3px;text-decoration:none;vertical-align:middle;-webkit-font-smoothing:antialiased}@media screen and (min-width:768px){#mobile-menu-button{display:none}}#download-mobile{background:#f7f7f7;border-bottom:1px solid #ddd}#download-mobile .wrapper{padding:20px 0;text-align:center}#download-mobile span.download-ready{font-size:1.6em;margin:0 .25em}#download-mobile a.download-button{font-size:1.6em;height:inherit;margin:10px .25em;padding:10px 15px}.comment-content .wp-smiley,.entry-content .wp-smiley,.page-content .wp-smiley{border:none;margin-bottom:0;margin-top:0;padding:0}.wp-caption,embed,iframe,object{max-width:100%}.wp-caption{margin-bottom:1.5em}.wp-caption img[class*=wp-image-]{display:block;margin-left:auto;margin-right:auto}.wp-caption .wp-caption-text{margin:.8075em 0}.wp-caption-text{text-align:center}.gallery{margin-bottom:1.5em}.gallery-item{display:inline-block;text-align:center;vertical-align:top;width:100%}.gallery-columns-2 .gallery-item{max-width:50%}.gallery-columns-3 .gallery-item{max-width:33.33%}.gallery-columns-4 .gallery-item{max-width:25%}.gallery-columns-5 .gallery-item{max-width:20%}.gallery-columns-6 .gallery-item{max-width:16.66%}.gallery-columns-7 .gallery-item{max-width:14.28%}.gallery-columns-8 .gallery-item{max-width:12.5%}.gallery-columns-9 .gallery-item{max-width:11.11%}.gallery-caption{display:block}.site-title{display:inline-block;font-size:1.5625rem;font-weight:300;line-height:1;margin:0 2rem 0 0;max-width:none}.site-title a{color:#fff;font-weight:300;text-decoration:none}.site-title a:active,.site-title a:focus,.site-title a:hover{color:#fff}.site-header.home .site-title{display:inherit;font-size:3.8146972656rem;margin:2rem 0 1rem}.wporg-filter-bar{--wporg--filter-bar--gap:20px;--wporg--filter-bar--color:#40464d;--wporg--filter-bar--active--background-color:#2371a6;--wporg--filter-bar--focus--border-color:#2371a6;margin:0 auto;max-width:960px;padding:40px 1.5625rem 0}.wporg-filter-bar+.site-main{margin-top:2rem;padding-top:0}.wporg-filter-bar .wporg-filter-bar__navigation{flex-grow:1;margin-bottom:var(--wporg--filter-bar--gap)}.wporg-filter-bar .wporg-filter-bar__navigation ul{display:inline-block;font-size:13px;line-height:1.538;list-style:none;margin:0}.wporg-filter-bar .wporg-filter-bar__navigation ul li{display:inline-block}.wporg-filter-bar .wporg-filter-bar__navigation ul li+li{margin-left:8px}.wporg-filter-bar .wporg-filter-bar__navigation ul a{border-radius:2px;color:var(--wporg--filter-bar--color);display:block;padding:8px 12px;text-decoration:none}.wporg-filter-bar .wporg-filter-bar__navigation ul a:focus,.wporg-filter-bar .wporg-filter-bar__navigation ul a:hover{text-decoration:underline}.wporg-filter-bar .wporg-filter-bar__navigation ul a:focus-visible{box-shadow:none;outline:1.5px solid var(--wporg--filter-bar--focus--border-color);outline-offset:-.5px}.wporg-filter-bar .wporg-filter-bar__navigation ul a.is-active{background-color:var(--wporg--filter-bar--active--background-color);color:#fff}.wporg-filter-bar .wporg-filter-bar__navigation ul a.is-active:focus,.wporg-filter-bar .wporg-filter-bar__navigation ul a.is-active:hover{color:#fff}.wporg-filter-bar .wporg-filter-bar__navigation ul a.is-active:focus-visible{box-shadow:inset 0 0 0 1.5px #fff;outline:1.5px solid var(--wporg--filter-bar--focus--border-color);outline-offset:-.5px}@media screen and (min-width:737px){.wporg-filter-bar{align-items:center;display:flex;flex-wrap:wrap;gap:var(--wporg--filter-bar--gap);justify-content:space-between;padding:40px 10px 0}.wporg-filter-bar .wporg-filter-bar__navigation{margin-bottom:0}}.archive .site-main{margin-top:2rem;padding-top:0}.archive .page-header{margin:2rem 0}dialog{border:0;box-shadow:6px 6px 6px #0003;min-height:50%;min-width:30%}@media (min-width:1280px){dialog{max-width:55%}}dialog::backdrop{background:#000;opacity:.5}dialog .close{color:inherit;cursor:pointer;position:absolute;right:1em;text-decoration:none!important;top:1em}.main-navigation{background:#0073aa;clear:both;left:0;position:absolute;top:60px;width:100%;z-index:1}.main-navigation ul{display:none;list-style:none;margin:0;padding-left:0}.main-navigation ul ul{box-shadow:0 3px 3px #0003;float:left;left:-999em;position:absolute;top:1.5em;z-index:99999}.main-navigation ul ul ul{left:-999em;top:0}.main-navigation ul ul li.focus>ul,.main-navigation ul ul li:hover>ul{left:100%}.main-navigation ul ul a{width:200px}.main-navigation ul li.focus>ul,.main-navigation ul li:hover>ul{left:auto}.main-navigation li{border-top:1px solid #fff3}.main-navigation a{color:#fffc;display:block;font-size:.8rem;padding:1rem 1rem 1rem 1.5rem;text-decoration:none}.main-navigation a.active,.main-navigation a:hover{color:#fff}@media screen and (min-width:737px){.main-navigation a.active{border-bottom:1px solid}}.main-navigation.toggled ul{display:block}.menu-toggle{-webkit-appearance:none;background:#0000;border:none;color:#fff;font-size:1.5625rem;height:3.5rem;overflow:hidden;position:absolute;right:1rem;top:-58px;width:3.5rem}.toggled .menu-toggle:before{content:"\f343"}@media screen and (min-width:737px){.menu-toggle{display:none}.main-navigation{float:right;position:relative;top:auto;width:auto}.main-navigation.toggled{padding:1px 0}.main-navigation ul{display:inline-block;font-size:0}.main-navigation ul li{border:0;display:inline-block;font-size:1rem;margin-right:1rem}.main-navigation ul li:last-of-type{margin-right:0}.main-navigation a{padding:0}}.page .entry-header{margin-top:2rem}@media screen and (min-width:737px){.page .entry-header{padding:0 2rem}}.page .entry-header .entry-title{font-size:1.5625rem;font-weight:400}@media screen and (min-width:737px){.page .entry-content{padding:0 2rem}}.page .entry-content h2{font-size:1.5625rem;font-weight:400}.page .entry-content h3{font-size:1rem;font-weight:600;letter-spacing:.01rem;text-transform:uppercase}.page .entry-content section{padding:2rem 0}.page .entry-content section:first-of-type{padding-top:0}.page .entry-content section+section{border-top:2px solid #eee}.plugin-card{background-color:#f9f9f9;margin-bottom:4%;padding:15px 15px 8px;vertical-align:top}@media screen and (min-width:737px){.plugin-card{display:inline-block;margin-right:4%;width:48%}.plugin-card:nth-of-type(2n){margin-right:0}}.plugin-card .entry{display:inline-block;margin:auto;vertical-align:top}@media screen and (min-width:21em){.plugin-card .entry{width:calc(96% - 128px)}}.plugin-card .entry-title{font-size:1rem;line-height:1.3;margin:0 0 8px}.plugin-card .entry-title a{font-weight:400;word-wrap:break-word}.plugin-card .entry-excerpt{font-size:.8rem}.plugin-card .entry-excerpt p{margin:0}.plugin-card hr{background-color:#fff;margin:15px -15px 8px}.plugin-card footer span{display:inline-block;font-size:.73152rem;overflow:hidden;white-space:nowrap}.plugin-card footer span i{display:inline-block;font-size:1rem;margin-right:.4rem}.plugin-card footer span.last-updated{display:none}.plugin-card footer span.plugin-author{width:100%}.plugin-card footer span.active-installs{min-width:48%}.plugin-card footer .dashicons{color:#bbb;display:none;height:auto;margin:0 2px -1rem;width:auto}@media (min-width:414px){.plugin-card footer .dashicons{display:inline-block}}.entry-thumbnail{display:none;max-width:128px}.entry-thumbnail .plugin-icon{background-size:cover;height:128px;width:128px}@media screen and (min-width:21em){.entry-thumbnail{display:inline-block;margin:0 4% 0 0;vertical-align:top}.entry-thumbnail a{display:block}}.single .entry-thumbnail{display:none;float:left;height:96px;margin-right:1rem;width:96px}@media screen and (min-width:26em){.single .entry-thumbnail{display:block}}.single .entry-thumbnail .plugin-icon{background-size:contain!important;height:96px!important;width:96px!important}.plugin-rating{line-height:1;margin:0 10px 8px 0}.plugin-rating .wporg-ratings{display:inline-block;margin-right:5px}.plugin-rating .rating-count{color:#999;font-size:.8rem}.site-main.single .plugin-rating .rating-count{display:none}.plugin-rating .rating-count a{color:inherit;cursor:hand;text-decoration:none}[class*=dashicons-star-]{color:#ffb900}.rtl .dashicons-star-half{transform:rotateY(180deg)}.plugin-section{border-bottom:2px solid #eee;margin:0 auto 4.768371582rem;max-width:960px;padding-bottom:3.0517578125rem}.plugin-section:last-of-type{margin-bottom:0}.plugin-section .section-header{column-gap:10px;display:flex;flex-flow:row wrap;margin-bottom:2rem}.plugin-section .section-title{flex:1 1 auto;font-size:1.5625rem;font-weight:400;margin-bottom:0;margin-top:0}.plugin-section .section-link{align-self:center;flex:0 0 auto;font-size:1rem}.search-form{font-size:0;margin-bottom:2rem;max-width:100%;position:relative}.search-form .search-field{-webkit-appearance:none;border:none;border-radius:0;box-shadow:none;display:block;font-size:1rem;line-height:1.5;margin:0 auto;max-width:100%;padding:.5rem 2.4rem .5rem .5rem;vertical-align:initial;width:22.7373675443rem}.search-form .button-search{border-left:none;border-radius:0 2px 2px 0;border-top:none;font-size:1rem;margin:0;position:relative;right:auto;top:auto;vertical-align:top}.search-form .button-search:active{background:#006799;border-right:1px solid #006799;box-shadow:none}.search-form .button-search svg{fill:currentColor}.site-header .search-form{display:inline-block}.site-header.home .search-form .button-search,.site-main .search-form .button-search{background:#0000;border:none;border-radius:0;box-shadow:none;color:#32373c;display:block;height:45px;padding:.5rem;position:absolute;right:0;text-shadow:none;top:0}.site-header.home .search-form .button-search:focus,.site-main .search-form .button-search:focus{box-shadow:0 0 2px 1px #33b3db}.site-header.home .search-form .button-search:active,.site-main .search-form .button-search:active{background:#0000;border:none;transform:none}.site-header:not(.home) .search-form{display:block;margin:0;padding:1rem 1rem 1rem 1.5rem}@media screen and (min-width:737px){.site-header:not(.home) .search-form{padding:0}}.site-header:not(.home) .search-form .search-field{border:0;border-radius:2px 0 0 2px;display:inline-block;font-size:1rem;padding:5px 10px;position:relative;width:calc(100% - 55px)}@media screen and (min-width:737px){.site-header:not(.home) .search-form .search-field{font-size:.64rem;width:7rem}.site-header:not(.home) .search-form .search-field+.button-search{display:inline-block;margin-bottom:0}}@media screen and (min-width:60em){.site-header:not(.home) .search-form .search-field{width:10rem}}@media screen and (max-width:737px){.site-header:not(.home) .search-form .search-field+.button-search{padding:4px 14px 1px}}.site-main .search-form .search-field{border:1px solid #ddd;box-shadow:inset 0 1px 2px #00000012;padding:.5rem;width:100%}.search .site-main{margin-top:2rem;padding-top:0}.search.search-results .page-header{margin:2rem 0}.site-content{max-width:none;padding:0}nav .nav-links{text-align:center}nav .nav-links .page-numbers{background-color:#f9f9f9;cursor:hand;display:inline-block;min-width:2em;padding:8px}nav .nav-links .page-numbers.dots,nav .nav-links .page-numbers.next,nav .nav-links .page-numbers.prev{background:none;font-size:.9em;width:auto}nav .nav-links .page-numbers.dots{cursor:inherit}nav .nav-links span.page-numbers{background-color:#f7f7f7;font-weight:700}.site-main{margin:0 auto;max-width:960px;padding:3.0517578125rem 1.5625rem}@media screen and (min-width:737px){.site-main{padding:3.0517578125rem 10px}}.single .site-main,.site-main.single{padding:0}@media screen and (min-width:737px){.single .site-main,.site-main.single{padding:0 10px 3.0517578125rem}}.page .site-main,.site-main.page{padding-top:0}.site-main .page-title{font-size:1.5625rem;font-weight:400}.site-main .no-results{margin:0 auto;max-width:35.527136788rem;padding:0 2rem}@keyframes favme-anime{0%{font-size:1rem;opacity:1;-webkit-text-stroke-color:#0000}25%{color:#fff;font-size:.8rem;opacity:.6;-webkit-text-stroke-width:1px;-webkit-text-stroke-color:#dc3232}75%{color:#fff;font-size:1.42875rem;opacity:.6;-webkit-text-stroke-width:1px;-webkit-text-stroke-color:#dc3232}to{font-size:1.25rem;opacity:1;-webkit-text-stroke-color:#0000}}@keyframes favme-hover{0%{font-size:1.42875rem}80%{font-size:1.25rem}}.plugin-favorite{height:36px;text-align:center;vertical-align:top;width:36px}.plugin-favorite .plugin-favorite-heart{align-items:center;background:none;border:0;border-radius:0;box-shadow:none;color:#cbcdce;cursor:pointer;display:flex;font-size:1.25rem;height:100%;justify-content:center;line-height:1;margin:0;outline:none;padding:0;transition:all .2s ease}.plugin-favorite .plugin-favorite-heart.favorited{color:#dc3232}.plugin-favorite .plugin-favorite-heart:hover{animation:favme-hover .3s infinite alternate}.plugin-favorite .plugin-favorite-heart:focus{outline:thin dotted}.plugin-favorite .plugin-favorite-heart:focus,.plugin-favorite .plugin-favorite-heart:hover{text-decoration:none}.plugin-favorite .plugin-favorite-heart:after{content:"\f487";font-family:dashicons;vertical-align:top}.plugin-favorite .plugin-favorite-heart.is-animating{animation:favme-anime .3s}.plugin-banner{background-position:50% 50%;background-repeat:no-repeat;background-size:100%;display:inline-block;font-size:0;line-height:0;margin:0 auto 1.143rem;padding-top:32.38342%;vertical-align:middle;width:100%}@media screen and (min-width:60em){.plugin-banner{margin-top:1.5625rem}}@keyframes hideAnimation{to{visibility:hidden}}.categorization .help{color:#999;display:inline-block;font-size:.8rem;margin-top:0}.categorization label{display:block;font-weight:700}.categorization input{width:100%}.categorization .success-msg{background:#eff7ed;border:solid #64b450;border-width:0 0 0 5px;font-size:.8rem;margin-left:1rem;opacity:0;overflow:auto;padding:.1rem .6rem .2rem;position:relative;transition:visibility 0s,opacity .5s linear;-webkit-user-select:none;user-select:none;visibility:hidden}.categorization .success-msg.saved{animation:hideAnimation 0s ease-in 5s;animation-fill-mode:forwards;opacity:1;visibility:visible}.plugin-changelog,.plugin-changelog code{font-size:.8rem}.plugin-changelog h4{margin-top:0}.plugin-developers .contributors-list{font-size:0}.plugin-developers .contributors-list li{display:inline-block;font-size:1rem;margin-right:4%;vertical-align:top;width:48%}.plugin-developers .contributors-list li:nth-of-type(2n){margin-right:0}.plugin-faq h2:first-of-type{border:none;color:#32373c;font-size:1.25rem;font-weight:600;letter-spacing:.01rem;padding:0;text-transform:uppercase;text-transform:inherit}.plugin-faq dl{border-bottom:1px solid #eee}.plugin-faq dt{border-top:1px solid #eee;cursor:pointer;font-size:1rem;font-weight:600;padding:1rem 0}.plugin-faq dt:before{content:"\f347";float:right;font-family:dashicons;margin:0 1rem}.plugin-faq dt.open:before{content:"\f343"}.plugin-faq dt .button-link{display:inherit;text-align:inherit}.plugin-faq dt .button-link.no-focus{box-shadow:none;outline:none}.plugin-faq dt h3{color:#0073aa;display:inline;margin-bottom:0;margin-top:0;text-decoration:underline;text-transform:none}.plugin-faq dt h3 button{all:inherit;max-width:calc(100% - 60px)}.plugin-faq dd{display:none;margin:0 0 1rem}.no-js .plugin-faq dd{display:block}.plugin-faq dd p{margin:0}.plugin-faq dd p+p{margin-top:1rem}.image-gallery{-webkit-user-select:none;user-select:none}.image-gallery-content{position:relative}.image-gallery-content .image-gallery-left-nav,.image-gallery-content .image-gallery-right-nav{border-color:#eee;display:none;font-size:3.0517578125rem;height:100%;position:absolute;top:0;transition:background .1s ease,border .1s ease;z-index:4}@media (max-width:768px){.image-gallery-content .image-gallery-left-nav,.image-gallery-content .image-gallery-right-nav{font-size:3.4em}}@media (min-width:768px){.image-gallery-content .image-gallery-left-nav:hover,.image-gallery-content .image-gallery-right-nav:hover{background:#fff;border:1px solid #eee;opacity:.8}}.image-gallery-content .image-gallery-left-nav:before,.image-gallery-content .image-gallery-right-nav:before{font-family:dashicons;position:relative}.image-gallery-content .image-gallery-left-nav{left:0}.image-gallery-content .image-gallery-left-nav:before{content:"\f341"}.image-gallery-content .image-gallery-left-nav:hover{margin-left:-1px}.image-gallery-content .image-gallery-right-nav{right:0}.image-gallery-content .image-gallery-right-nav:before{content:"\f345"}.image-gallery-content .image-gallery-right-nav:hover{margin-right:-1px}.image-gallery-content:hover .image-gallery-left-nav,.image-gallery-content:hover .image-gallery-right-nav{display:block}.image-gallery-slides{border:1px solid #eee;line-height:0;overflow:hidden;position:relative;white-space:nowrap}.image-gallery-slide{left:0;position:absolute;top:0;width:100%}.image-gallery-slide.center{position:relative}.image-gallery-slide .image-gallery-image{margin:0}.image-gallery-slide img{display:block;margin:0 auto}.image-gallery-slide .image-gallery-description{background:#f5f5f5;color:#32373c;font-size:.8rem;line-height:1.5;padding:10px 20px;white-space:normal}@media (max-width:768px){.image-gallery-slide .image-gallery-description{font-size:.8rem;padding:8px 15px}}.image-gallery-thumbnails{background:#fff;margin-top:5px}.image-gallery-thumbnails .image-gallery-thumbnails-container{cursor:pointer;text-align:center;white-space:nowrap}.image-gallery-thumbnail{border:1px solid #eee;display:table-cell;margin-right:5px;max-height:100px;overflow:hidden}.image-gallery-thumbnail .image-gallery-image{margin:0}.image-gallery-thumbnail img{vertical-align:middle;width:100px}@media (max-width:768px){.image-gallery-thumbnail img{width:75px}}.image-gallery-thumbnail:hover{box-shadow:0 1px 8px #0000004d}.image-gallery-thumbnail.active{border:1px solid #337ab7}.image-gallery-thumbnail-label{color:#222;font-size:1em}@media (max-width:768px){.image-gallery-thumbnail-label{font-size:.8em}}.image-gallery-index{background:#0006;bottom:0;color:#fff;line-height:1;padding:10px 20px;position:absolute;right:0;z-index:4}.plugin-reviews{list-style-type:none;margin:0;padding:0}.plugin-reviews .plugin-review{border-bottom:2px solid #eee;margin:2rem 0 1rem;padding-bottom:1rem}.plugin-reviews .plugin-review:first-child{margin-top:0}.plugin-reviews .plugin-review .header-top{display:flex}.plugin-reviews .plugin-review .header-top .wporg-ratings{flex-shrink:0}.plugin-reviews .plugin-review .header-bottom{display:flex;margin-bottom:12px}.plugin-reviews .review-avatar{display:none}.plugin-reviews .review,.plugin-reviews .review-author,.plugin-reviews .wporg-ratings{display:inline-block;vertical-align:top}.plugin-reviews .review-header{margin:0 0 .5rem}.plugin-reviews .review-title{font-size:1rem;font-weight:600;letter-spacing:.01rem;line-height:1.25;margin:0 0 8px 12px;text-transform:inherit}.plugin-reviews .review-author,.plugin-reviews .review-date,.plugin-reviews .review-replies{font-size:.9em;line-height:1.25}.plugin-reviews .review-date,.plugin-reviews .review-replies{color:#999;font-size:.9em;margin-left:12px}.plugin-reviews .review-replies:before{content:"•";margin-right:12px}@media screen and (min-width:737px){.plugin-reviews .review-avatar{display:inline-block;vertical-align:top}.plugin-reviews .review-avatar .avatar{margin-right:1rem}.plugin-reviews .review{width:calc(100% - 60px - 1rem)}.plugin-reviews .review-header{margin:0}.plugin-reviews .review-author,.plugin-reviews .review-date,.plugin-reviews .review-replies{line-height:1}}.reviews-link{display:inline-block;font-size:.8rem;margin-top:.5rem;text-decoration:none}.reviews-link:after{content:"\f345";float:right;font-family:dashicons;padding-left:5px;position:relative;top:1px;vertical-align:text-top}.plugin-screenshots{list-style-type:none;margin:0;padding:0}.plugin-screenshots h2:first-of-type{border:none;color:#32373c;font-size:1.25rem;font-weight:600;padding:0;text-transform:inherit}.plugin-screenshots .image-gallery-content{display:table;width:100%}.plugin-screenshots .image-gallery-slides{display:table-cell;max-height:600px}.plugin-screenshots .image-gallery-image img{max-height:550px}.plugin-screenshots .image-gallery-thumbnail{vertical-align:top}.plugin-screenshots .image-gallery-thumbnail img{max-height:100px}.plugin-screenshots .image-gallery-thumbnails{overflow:hidden}.download-history-stats td{text-align:right}.previous-versions{max-width:60%}@media screen and (min-width:737px){.previous-versions{height:30px;vertical-align:top}}hr{margin:2.5rem auto}.section h1,.section h2,.section h3{font-size:1rem;font-weight:600;letter-spacing:.01rem;text-transform:uppercase}.section h1:nth-child(2),.section h2:nth-child(2),.section h3:nth-child(2){margin-top:0}.section h4,.section h5,.section h6{font-size:.8rem;font-weight:600;letter-spacing:.05rem;text-transform:uppercase}.section h4:nth-child(2),.section h5:nth-child(2),.section h6:nth-child(2){margin-top:0}.section h2:first-of-type{border:none;color:#32373c;font-size:1.25rem;font-weight:600;padding:0;text-transform:inherit}.type-plugin .plugin-notice{margin-top:0}.type-plugin .plugin-header{border-bottom:0;padding:1.143rem 1.5625rem}.type-plugin .plugin-header .plugin-actions{float:right;margin-inline-start:1rem}.type-plugin .plugin-header .plugin-actions div{display:inline-block;text-align:center}.type-plugin .plugin-header .plugin-title{clear:none;font-size:1.5625rem;font-weight:400;margin:0}.type-plugin .plugin-header .plugin-title a{color:inherit;text-decoration:none}.type-plugin .plugin-header .byline{color:#78848f}.type-plugin .plugin-banner+.plugin-header{padding-top:0}.type-plugin .tabs{border-bottom:2px solid #eee;list-style:none;margin:0}.type-plugin .tabs li{border:2px solid #0000;color:#0073aa;display:inline-block;font-size:.8rem;margin-bottom:-2px;transition:background .2s ease}.type-plugin .tabs li a{background:#fff;border:0;display:block;padding:.64rem 1.25rem;text-decoration:none}.type-plugin .tabs li a.active,.type-plugin .tabs li a:hover{background:#eee}.type-plugin .tabs li.active,.type-plugin .tabs li:hover{border:2px solid #eee;padding-bottom:0!important}@media screen and (max-width:34em){.type-plugin .tabs{border-top:2px solid #eee}.type-plugin .tabs li{display:block;margin-bottom:1px}.type-plugin .tabs li,.type-plugin .tabs li.active,.type-plugin .tabs li:hover{border:none;border-bottom:1px solid #eee}}.type-plugin .entry-content{max-width:48rem;padding:0 1.5625rem}@media screen and (min-width:737px){.type-plugin .entry-content{float:left;padding:0;width:65%}}.type-plugin .entry-content>div,.type-plugin .entry-content>div~button{border:0;display:none}.type-plugin .entry-content a:not(.button,.dashicons){text-decoration:underline}.type-plugin .entry-content ol>li>p,.type-plugin .entry-content ul>li>p{margin:0}.type-plugin .entry-content #admin{display:block!important}.type-plugin .plugin-blocks-list{list-style:none;margin-left:0}.type-plugin .plugin-blocks-list .plugin-blocks-list-item{display:grid;grid-template-columns:auto 1fr;margin-bottom:1.25rem}.type-plugin .plugin-blocks-list .block-icon{border:1px solid #eee;border-radius:2px;display:inline-block;height:3.5rem;margin-right:1rem;padding:1.143rem;width:3.5rem}.type-plugin .plugin-blocks-list .block-icon.dashicons{color:inherit}.type-plugin .plugin-blocks-list .block-icon svg{height:16px;width:16px;fill:currentColor}.type-plugin .plugin-blocks-list .block-title{align-self:center;font-weight:700}.type-plugin .plugin-blocks-list .has-description .block-icon{grid-row:1/span 2}.type-plugin .plugin-blocks-list .has-description .block-title{margin-bottom:.4096rem}.type-plugin .entry-meta{padding:0 1.5625rem}.type-plugin span#description,.type-plugin span#developers,.type-plugin span#installation,.type-plugin span#reviews{position:fixed}.type-plugin span#advanced.displayed~#section-links .tabs li#tablink-advanced,.type-plugin span#developers:target~#section-links .tabs li#tablink-developers,.type-plugin span#installation:target~#section-links .tabs li#tablink-installation,.type-plugin span#reviews:not(:target)~span#installation:not(:target)~span#developers:not(:target)~span#advanced:not(.displayed)~#section-links .tabs li#tablink-description,.type-plugin span#reviews:target~#section-links .tabs li#tablink-reviews{background:#fff;border:2px solid #eee;border-bottom:0;padding-bottom:2px}@media screen and (max-width:34em){.type-plugin span#advanced.displayed~#section-links .tabs li#tablink-advanced.active,.type-plugin span#advanced.displayed~#section-links .tabs li#tablink-advanced:hover,.type-plugin span#developers:target~#section-links .tabs li#tablink-developers.active,.type-plugin span#developers:target~#section-links .tabs li#tablink-developers:hover,.type-plugin span#installation:target~#section-links .tabs li#tablink-installation.active,.type-plugin span#installation:target~#section-links .tabs li#tablink-installation:hover,.type-plugin span#reviews:not(:target)~span#installation:not(:target)~span#developers:not(:target)~span#advanced:not(.displayed)~#section-links .tabs li#tablink-description.active,.type-plugin span#reviews:not(:target)~span#installation:not(:target)~span#developers:not(:target)~span#advanced:not(.displayed)~#section-links .tabs li#tablink-description:hover,.type-plugin span#reviews:target~#section-links .tabs li#tablink-reviews.active,.type-plugin span#reviews:target~#section-links .tabs li#tablink-reviews:hover{padding-bottom:2px!important}}.type-plugin span#section-links{display:flex;flex-flow:row wrap}.type-plugin span#section-links .tabs{flex:1 1 auto}@media screen and (max-width:34em){.type-plugin span#section-links{display:block}}.type-plugin #link-support{align-self:flex-end;border-bottom:2px solid #eee;flex:0 0 auto;font-size:.9rem;height:2rem}.type-plugin #link-support a:before{content:"\f125";display:inline-block;font-family:dashicons;font-size:1.2em;margin-right:.4em;max-height:1em;vertical-align:top}@media screen and (max-width:737px){.type-plugin #link-support{padding-right:20px}}@media screen and (max-width:34em){.type-plugin #link-support{border-bottom:0;display:block;margin-left:20px;margin-top:1.5rem;width:100%}}.type-plugin span#developers:target~.entry-content #tab-changelog,.type-plugin span#developers:target~.entry-content #tab-developers,.type-plugin span#developers:target~.entry-content #tab-developers .plugin-development,.type-plugin span#developers:target~.entry-content #tab-developers~button,.type-plugin span#installation:target~.entry-content #tab-installation,.type-plugin span#reviews:not(:target)~span#installation:not(:target)~span#developers:not(:target)~.entry-content #blocks,.type-plugin span#reviews:not(:target)~span#installation:not(:target)~span#developers:not(:target)~.entry-content #faq,.type-plugin span#reviews:not(:target)~span#installation:not(:target)~span#developers:not(:target)~.entry-content #screenshots,.type-plugin span#reviews:not(:target)~span#installation:not(:target)~span#developers:not(:target)~.entry-content #tab-description,.type-plugin span#reviews:not(:target)~span#installation:not(:target)~span#developers:not(:target)~.entry-content #tab-developers,.type-plugin span#reviews:not(:target)~span#installation:not(:target)~span#developers:not(:target)~.entry-content #tab-developers~button,.type-plugin span#reviews:target~.entry-content #tab-reviews{display:block}.type-plugin span#developers:target~.entry-content #tab-developers .plugin-contributors,.type-plugin span#installation:target~.entry-meta .plugin-contributors,.type-plugin span#reviews:not(:target)~span#installation:not(:target)~span#developers:not(:target)~.entry-content #tab-developers .plugin-development,.type-plugin span#reviews:not(:target)~span#installation:not(:target)~span#developers:not(:target)~.entry-meta .plugin-contributors,.type-plugin span#reviews:target~.entry-meta .plugin-contributors,.type-plugin span#reviews:target~.entry-meta .plugin-donate,.type-plugin span#reviews:target~.entry-meta .plugin-meta,.type-plugin span#reviews:target~.entry-meta .plugin-support{display:none}@media screen and (min-width:737px){.type-plugin .entry-content,.type-plugin .entry-meta,.type-plugin .plugin-header{padding-left:0;padding-right:0}.type-plugin .entry-meta{float:right;width:30%}}.plugin-adopt-me{background:#e6f4fa;font-size:.8rem;margin-top:36px;padding:12px}.plugin-adopt-me .widget-title{margin-top:0}.plugin-adopt-me p{margin-bottom:0}.widget.plugin-categorization{margin-top:2rem}.widget.plugin-categorization .widget-head{column-gap:12px;display:flex;flex-flow:row wrap;justify-content:space-between}.widget.plugin-categorization .widget-head h2{flex:1 1 auto;font-size:1rem;font-weight:700;margin-bottom:.2rem;margin-top:0}.widget.plugin-categorization .widget-head a{flex:0 0 auto;font-size:.8rem;line-height:2;text-align:right}.widget.plugin-categorization .widget-head a[href=""]{display:none}.widget.plugin-categorization .widget-head a:after{content:"\f504";font-family:dashicons;margin-left:2px}.widget.plugin-categorization p{font-size:.7rem;margin-top:.5rem}.widget.plugin-categorization~.plugin-meta li:first-child{border-top:1px solid #eee}.committer-list,.support-rep-list{font-size:.8rem;list-style:none;margin:0}.committer-list li,.support-rep-list li{padding-bottom:.5rem}.committer-list li .remove,.support-rep-list li .remove{color:red;visibility:hidden}.committer-list li:hover .remove,.support-rep-list li:hover .remove{visibility:visible}.committer-list .avatar,.support-rep-list .avatar{float:left;margin-right:10px}.committer-list .spinner,.support-rep-list .spinner{position:relative}.committer-list .spinner:after,.support-rep-list .spinner:after{background:url(/wp-admin/images/spinner.gif) no-repeat 50%;background-size:20px 20px;content:"";display:block;height:20px;margin:-10px -10px 0 0;position:absolute;right:-50%;top:50%;transform:translateZ(0);width:20px}@media (min-resolution:120dpi),print{.committer-list .spinner:after,.support-rep-list .spinner:after{background-image:url(/wp-admin/images/spinner-2x.gif)}}.plugin-contributors.read-more{border-bottom:2px solid #eee;max-height:200px;overflow:hidden;padding-bottom:1px}.plugin-contributors.read-more.toggled{max-height:none}.no-js .plugin-contributors.read-more{max-height:none;overflow:auto}.contributors-list{font-size:.8rem;list-style-type:none;margin:0}.contributors-list li{margin-bottom:1rem}.contributors-list .avatar{float:left;margin-right:10px}.plugin-meta{margin-top:2rem}.plugin-meta ul{font-size:.8rem;list-style-type:none;margin:0;padding:0}.plugin-meta li{border-top:1px solid #eee;display:inline-block;padding:.5rem 0;position:relative;width:100%}.plugin-meta li strong{float:right}.plugin-meta li:first-child{border-top:0}.plugin-meta .languages,.plugin-meta .tags{float:right;text-align:right}.plugin-meta .tags{width:60%}.plugin-meta .languages .popover{margin-top:8px}.plugin-meta .languages .popover-trigger{color:#0073aa;font-weight:600}.plugin-meta .languages .popover-trigger:hover{text-decoration:underline}.plugin-meta [rel=tag]{background:#eee;border-radius:2px;color:#000;display:inline-block;font-size:.64rem;margin:2px;max-width:95%;overflow:hidden;padding:3px 6px;position:relative;text-overflow:ellipsis;white-space:nowrap;width:auto}.plugin-meta [rel=tag]:hover{background:#f3f3f3}.plugin-meta [rel=tag]:active{background:#dfdfdf}.popover{background-color:#fff;border:1px solid #ccc;border-radius:2px;box-shadow:0 2px 10px #0000001a;display:none;left:0;margin-top:10px;max-width:300px;padding:1em 1em 2em;position:absolute;width:100%;z-index:100}.popover.is-top-right{left:auto;right:0}.popover.is-visible{display:block}.popover .popover-close{bottom:.5em;color:#0073aa;font-size:small;position:absolute;right:.6em}.popover .popover-close:active,.popover .popover-close:focus,.popover .popover-close:hover{text-decoration:underline}.popover .popover-arrow{border:10px solid #0000;border-bottom:10px solid #ccc;border-top:none;height:0;position:absolute;right:20px;top:-10px;width:0;z-index:-1}.popover .popover-arrow:after{border:10px solid #0000;border-bottom:10px solid #fff;border-top:none;content:"";left:-10px;position:absolute;top:2px}.popover .popover-inner{text-align:left}.popover .popover-inner p:first-child{margin-top:0}.popover .popover-inner p:last-child{margin-bottom:0}.plugin-ratings{font-size:.8rem;position:relative}.plugin-ratings .reviews-link{position:absolute;right:0;top:0}.plugin-ratings .reviews-link:after{content:"\f345";font-family:dashicons;padding-left:5px;vertical-align:top}.plugin-ratings [class*=dashicons-star-]{color:#ffb900;display:inline-block;font-size:1.5625rem;height:auto;margin:0;width:auto}.plugin-ratings .ratings-list{list-style-type:none;margin:1rem 0;padding:0}.plugin-ratings .ratings-list .counter-container,.plugin-ratings .ratings-list .counter-container a{text-decoration:none;width:100%}.plugin-ratings .ratings-list .counter-label{display:inline-block;min-width:65px}.plugin-ratings .ratings-list .counter-back,.plugin-ratings .ratings-list .counter-bar{display:inline-block;height:1rem;vertical-align:middle}.plugin-ratings .ratings-list .counter-back{background-color:#ececec;width:58%;width:calc(100% - 130px)}.plugin-ratings .ratings-list .counter-bar{background-color:#ffc733;display:block}.plugin-ratings .ratings-list .counter-count{margin-left:3px}.plugin-support{font-size:.8rem}.plugin-support .counter-container{margin-bottom:1rem;position:relative}.plugin-support .counter-back,.plugin-support .counter-bar{display:inline-block;height:30px;vertical-align:middle}.plugin-support .counter-back{background-color:#ececec;width:100%}.plugin-support .counter-bar{background-color:#c7e8ca;display:block}.plugin-support .counter-count{font-size:.64rem;left:8px;position:absolute;top:8px;width:100%;width:calc(100% - 8px)}@media screen and (min-width:737px){.plugin-support .counter-count{top:5px}}.home .widget,.widget-area.home .widget{display:inline-block;font-size:.8rem;margin:0;vertical-align:top}@media screen and (min-width:737px){.home .widget,.widget-area.home .widget{margin-right:5%;width:30%}.home .widget:last-child,.widget-area.home .widget:last-child{margin-right:0}}.home .widget select,.widget-area.home .widget select{max-width:100%}.entry-meta .widget-title{border:none;color:#32373c;font-size:1.25rem;font-weight:600;padding:0}.widget-area{margin:0 auto;max-width:960px;padding:0 1.5625rem 3.0517578125rem}@media screen and (min-width:737px){.widget-area{padding:0 10px 3.0517578125rem}}
     1@charset "UTF-8";[class*=col-]{margin:inherit}.row{display:flex;flex-direction:row;flex-wrap:wrap}@media (max-width:768px){.row{flex-direction:column;flex-wrap:nowrap}}.row.gutters>.row{margin-left:-2%}@media (max-width:768px){.row.gutters>.row{margin-left:0}}.row.gutters>.row>[class*=col-]{margin-left:2%}@media (max-width:768px){.row.gutters>.row>[class*=col-]{margin-left:0}}.row.around{justify-content:space-around}.row.between{justify-content:space-between}.row.auto .col{flex-grow:1}.col-1{width:8.3333333333%}.offset-1{margin-left:8.3333333333%}.col-2{width:16.6666666667%}.offset-2{margin-left:16.6666666667%}.col-3{width:25%}.offset-3{margin-left:25%}.col-4{width:33.3333333333%}.offset-4{margin-left:33.3333333333%}.col-5{width:41.6666666667%}.offset-5{margin-left:41.6666666667%}.col-6{width:50%}.offset-6{margin-left:50%}.col-7{width:58.3333333333%}.offset-7{margin-left:58.3333333333%}.col-8{width:66.6666666667%}.offset-8{margin-left:66.6666666667%}.col-9{width:75%}.offset-9{margin-left:75%}.col-10{width:83.3333333333%}.offset-10{margin-left:83.3333333333%}.col-11{width:91.6666666667%}.offset-11{margin-left:91.6666666667%}.col-12{width:100%}.offset-12{margin-left:100%}.gutters>.col-1{width:6.33333%}.gutters>.col-1:nth-child(n+13){margin-top:2%}.gutters>.offset-1{margin-left:10.33333%!important}.gutters>.col-2{width:14.66667%}.gutters>.col-2:nth-child(n+7){margin-top:2%}.gutters>.offset-2{margin-left:18.66667%!important}.gutters>.col-3{width:23%}.gutters>.col-3:nth-child(n+5){margin-top:2%}.gutters>.offset-3{margin-left:27%!important}.gutters>.col-4{width:31.33333%}.gutters>.col-4:nth-child(n+4){margin-top:2%}.gutters>.offset-4{margin-left:35.33333%!important}.gutters>.col-5{width:39.66667%}.gutters>.offset-5{margin-left:43.66667%!important}.gutters>.col-6{width:48%}.gutters>.col-6:nth-child(n+3){margin-top:2%}.gutters>.offset-6{margin-left:52%!important}.gutters>.col-7{width:56.33333%}.gutters>.offset-7{margin-left:60.33333%!important}.gutters>.col-8{width:64.66667%}.gutters>.offset-8{margin-left:68.66667%!important}.gutters>.col-9{width:73%}.gutters>.offset-9{margin-left:77%!important}.gutters>.col-10{width:81.33333%}.gutters>.offset-10{margin-left:85.33333%!important}.gutters>.col-11{width:89.66667%}.gutters>.offset-11{margin-left:93.66667%!important}.gutters>.col-12{width:98%}.gutters>.offset-12{margin-left:102%!important}@media (max-width:768px){[class*=" offset-"],[class^=offset-]{margin-left:0}}.first{order:-1}.last{order:1}@media (max-width:768px){.row [class*=col-]{margin-left:0;width:100%}.row.gutters [class*=col-]{margin-bottom:16px}.first-sm{order:-1}.last-sm{order:1}}.gutters .column.push-left,.push-left{margin-right:auto}.gutters .column.push-right,.push-right{margin-left:auto}.gutters .column.push-center,.push-center{margin-left:auto;margin-right:auto}.gutters .column.push-middle,.push-middle{margin-bottom:auto;margin-top:auto}.push-bottom{margin-top:auto}@media (max-width:768px){.gutters .column.push-left-sm,.push-left-sm{margin-left:0}.gutters .column.push-center-sm,.push-center-sm{margin-left:auto;margin-right:auto}.push-top-sm{margin-top:0}}.align-middle{align-items:center}.align-right{justify-content:flex-end}.align-center{justify-content:center}@media (max-width:768px){.align-left-sm{justify-content:flex-start}}.float-right{float:right}.float-left{float:left}@media (max-width:768px){.float-left,.float-right{float:none}}.fixed{left:0;position:fixed;top:0;width:100%;z-index:100}html{-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;font-family:sans-serif}body{margin:0}article,aside,details,figcaption,figure,footer,header,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{font-size:2em;margin:.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}figure{margin:1em 40px}hr{box-sizing:content-box;height:0}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0}optgroup{font-weight:700}table{border-spacing:0}td,th{padding:0}p{margin:1rem 0}blockquote{margin:0 1.5rem}address{margin:0 0 1.5rem}pre{margin-bottom:1.6rem;padding:1.6rem}html{box-sizing:border-box}*,:after,:before{box-sizing:inherit}body{background:#fff}blockquote,q{quotes:"" ""}blockquote:after,blockquote:before,q:after,q:before{content:""}blockquote{border-left:2px solid #767676;color:#767676;margin:1rem 0;padding-left:.8rem}blockquote cite{font-size:.8rem}figure{margin:0}hr{background-color:#eee;border:0;height:2px;margin:5rem auto}img{height:auto;max-width:100%}h1,h2,h3,h4,h5,h6{clear:both;font-family:Open Sans,sans-serif;line-height:1.5;margin:2rem 0 1rem}.h1,h1{font-size:2.44140625rem}.h1,.h2,h1,h2{font-weight:300}.h2,h2{font-size:1.953125rem}.h3,h3{font-size:1.5625rem;font-weight:400}.h4,h4{color:#32373c;font-size:1.25rem;font-weight:600;padding:0}.h5,h5{font-size:1rem;letter-spacing:.01rem}.h5,.h6,h5,h6{font-weight:600;text-transform:uppercase}.h6,h6{font-size:.8rem;letter-spacing:.8px}a{color:#0073aa;text-decoration:none}a:active,a:focus,a:hover{text-decoration:underline}a:focus{outline:thin dotted}a:active,a:hover{outline:0}li>a,p a{text-decoration:underline}li>a:hover,p a:hover{color:#d54e21}ol,ul{margin:0 0 1.5em 1.5em;padding:0}ul{list-style:square}ol{list-style:decimal}li.unmarked-list,ol.unmarked-list,ul.unmarked-list{list-style:none;padding-left:0}li>ol,li>ul{margin-bottom:0}dt{font-weight:700}dd{margin:0 1.5em 1.5em}table{border:1px solid #eee;border-collapse:collapse;font-size:.8rem;margin:0 0 1rem;padding:0;width:100%}table thead{background:#32373c;color:#fff}table td,table th{border:1px solid #eee;font-weight:400;margin:0;padding:.4rem;text-align:left;vertical-align:top}table tbody tr:nth-child(2n){background:#f7f7f7}html{font-size:100%}body,button,input,select,textarea{color:#32373c;font-family:Open Sans,sans-serif;font-size:100%;line-height:1.5}@media screen and (min-width:737px){html{font-size:1.125rem}}cite,dfn,em,i{font-style:italic}blockquote{margin:0 1.5em}address{margin:0 0 1.5em}pre{word-wrap:normal;background:#eee;font-family:Courier\ 10 Pitch,Courier,monospace;font-size:.9375rem;line-height:1.6;margin-bottom:1.6em;max-width:100%;overflow:auto;padding:1.6em}code,kbd,tt,var{font-family:Monaco,Consolas,Andale Mono,DejaVu Sans Mono,monospace;font-size:.9375rem;-webkit-hyphens:none;hyphens:none}abbr,acronym{border-bottom:1px dotted #666;cursor:help}ins,mark{background:#fff9c0;text-decoration:none}big{font-size:125%}h1.title{color:#0073aa;font-size:.8rem;font-weight:600;letter-spacing:.05rem;text-transform:uppercase}.screen-reader-text{clip:rect(1px,1px,1px,1px);height:1px;overflow:hidden;position:absolute!important;width:1px}.screen-reader-text:focus{clip:auto!important;background-color:#f1f1f1;border-radius:3px;box-shadow:0 0 2px 2px rgba(0,0,0,.6);color:#21759b;display:block;font-size:.875rem;font-weight:700;height:auto;left:5px;line-height:normal;padding:15px 23px 14px;text-decoration:none;top:5px;width:auto;z-index:100000}.site-content[tabindex="-1"]:focus{outline:0}.no-js .hide-if-no-js{display:none}.alignleft{display:inline;float:left;margin-right:1.5em}.alignright{display:inline;float:right;margin-left:1.5em}.aligncenter{clear:both;display:block;margin-left:auto;margin-right:auto}@media screen and (max-width:480px){.alignleft,.alignright{display:block;float:none;margin-left:auto;margin-right:auto}}.button,.button-primary,.button-secondary,.plugin-upload-form .button-primary{-webkit-appearance:none;border:1px solid;border-radius:3px;box-sizing:border-box;cursor:pointer;display:inline-block;font-size:.8rem;height:1.5625rem;line-height:1;margin:0;padding:0 .8rem;text-decoration:none;white-space:nowrap}button::-moz-focus-inner,input[type=button]::-moz-focus-inner,input[type=reset]::-moz-focus-inner,input[type=submit]::-moz-focus-inner{border:0;padding:0}.button-group.button-xl .button,.button.button-xl{font-size:1rem;height:2.44140625rem;line-height:1;padding:0 1.5rem}.button-group.button-large .button,.button.button-large{height:1.953125rem;line-height:1;padding:0 1rem}.button-group.button-small .button,.button.button-small{font-size:.64rem;height:1.25rem;line-height:1;padding:0 .5rem}a.button,a.button-primary,a.button-secondary{line-height:1.5625rem}.button-group.button-large a.button,a.button.button-large{line-height:1.953125rem}.button-group.button-xl a.button,a.button.button-xl{line-height:2.44140625rem}.button-group.button-small a.button,a.button.button-small{line-height:1.25rem}.button:active,.button:focus{outline:none}.button.hidden{display:none}input[type=reset],input[type=reset]:active,input[type=reset]:focus,input[type=reset]:hover{background:none;border:none;box-shadow:none;padding:0 2px 1px;width:auto}.button,.button-secondary,.button:visited{background:#f7f7f7;border-color:#ccc;box-shadow:0 1px 0 #ccc;color:#555;vertical-align:top}p .button{vertical-align:baseline}.button-secondary:focus,.button-secondary:hover,.button.focus,.button.hover,.button:focus,.button:hover{background:#fafafa;border-color:#999;color:#23282d}.button-link:focus,.button-secondary:focus,.button.focus,.button:focus{border-color:#5b9dd9;box-shadow:0 0 3px rgba(0,115,170,.8)}.button-secondary:active,.button.active,.button.active:hover,.button:active{background:#eee;border-color:#999;box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5);transform:translateY(1px)}.button.active:focus{border-color:#5b9dd9;box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5),0 0 3px rgba(0,115,170,.8)}.button-disabled,.button-secondary.disabled,.button-secondary:disabled,.button-secondary[disabled],.button.disabled,.button:disabled,.button[disabled]{background:#f7f7f7!important;border-color:#ddd!important;box-shadow:none!important;color:#a0a5aa!important;cursor:default;text-shadow:0 1px 0 #fff!important;transform:none!important}.button-link,input[type=submit].button-link{background:none;border:0;border-radius:0;box-shadow:none;cursor:pointer;margin:0;outline:none;padding:0}.button-link:focus{outline:1px solid #5b9dd9}.button-primary,.download-button,.plugin-upload-form .button-primary{text-decoration:none;text-shadow:0 -1px 1px #006799,1px 0 1px #006799,0 1px 1px #006799,-1px 0 1px #006799}.button-primary,.button-primary:visited,.download-button,.download-button:visited,.plugin-upload-form .button-primary,.plugin-upload-form .button-primary:visited{background:#0085ba;border-color:#0073aa #006799 #006799;box-shadow:0 1px 0 #006799;color:#fff}.button-primary.focus,.button-primary.hover,.button-primary:focus,.button-primary:hover,.download-button.focus,.download-button.hover,.download-button:focus,.download-button:hover,.plugin-upload-form .button-primary.focus,.plugin-upload-form .button-primary.hover,.plugin-upload-form .button-primary:focus,.plugin-upload-form .button-primary:hover{background:#008ec2;border-color:#006799;box-shadow:0 1px 0 #006799;color:#fff}.button-primary.focus,.button-primary:focus,.download-button.focus,.download-button:focus,.plugin-upload-form .button-primary.focus,.plugin-upload-form .button-primary:focus{box-shadow:0 1px 0 #0073aa,0 0 2px 1px #33b3db}.button-primary.active,.button-primary.active:focus,.button-primary.active:hover,.button-primary:active,.download-button.active,.download-button.active:focus,.download-button.active:hover,.download-button:active,.plugin-upload-form .button-primary.active,.plugin-upload-form .button-primary.active:focus,.plugin-upload-form .button-primary.active:hover,.plugin-upload-form .button-primary:active{background:#0073aa;border-color:#006799;box-shadow:inset 0 2px 0 #006799;vertical-align:top}.button-primary.disabled,.button-primary:disabled,.button-primary[disabled],.download-button.disabled,.download-button:disabled,.download-button[disabled],.plugin-upload-form .button-primary.disabled,.plugin-upload-form .button-primary:disabled,.plugin-upload-form .button-primary[disabled]{background:#008ec2!important;border-color:#007cb2!important;box-shadow:none!important;color:#66c6e4!important;cursor:default;text-shadow:0 -1px 0 rgba(0,0,0,.1)!important}.button-primary.button.button-hero,.download-button.button.button-hero,.plugin-upload-form .button-primary.button.button-hero{box-shadow:0 2px 0 #006799}.button-primary.button.button-hero.active,.button-primary.button.button-hero.active:focus,.button-primary.button.button-hero.active:hover,.button-primary.button.button-hero:active,.download-button.button.button-hero.active,.download-button.button.button-hero.active:focus,.download-button.button.button-hero.active:hover,.download-button.button.button-hero:active,.plugin-upload-form .button-primary.button.button-hero.active,.plugin-upload-form .button-primary.button.button-hero.active:focus,.plugin-upload-form .button-primary.button.button-hero.active:hover,.plugin-upload-form .button-primary.button.button-hero:active{box-shadow:inset 0 3px 0 #006799}.button-primary-disabled{background:#008ec2!important;border-color:#007cb2!important;box-shadow:none!important;color:#66c6e4!important;cursor:default;text-shadow:0 -1px 0 rgba(0,0,0,.1)!important}.button-group{display:inline-block;font-size:0;position:relative;vertical-align:middle;white-space:nowrap}.button-group>.button{border-radius:0;display:inline-block;margin-right:-1px;z-index:10}.button-group>.button-primary{z-index:100}.button-group>.button:hover{z-index:20}.button-group>.button:first-child{border-radius:3px 0 0 3px}.button-group>.button:last-child{border-radius:0 3px 3px 0}.button-group>.button:focus{position:relative;z-index:1}@media screen and (max-width:737px){.button,.button.button-large,.button.button-small,.plugin-upload-form .button-primary{font-size:14px;height:auto;line-height:normal;margin-bottom:4px;padding:6px 14px;vertical-align:middle}}.clear:after,.clear:before,.comment-content:after,.comment-content:before,.committer-list li:after,.committer-list li:before,.entry-content:after,.entry-content:before,.home-below:after,.home-below:before,.plugin-meta:after,.plugin-meta:before,.plugin-upload-form .category-checklist:after,.plugin-upload-form .category-checklist:before,.site-content:after,.site-content:before,.site-footer:after,.site-footer:before,.site-header:after,.site-header:before,.support-rep-list li:after,.support-rep-list li:before,.type-plugin .plugin-header:after,.type-plugin .plugin-header:before,.type-plugin:after,.type-plugin:before{content:"";display:table;table-layout:fixed}.clear:after,.comment-content:after,.committer-list li:after,.entry-content:after,.home-below:after,.plugin-meta:after,.plugin-upload-form .category-checklist:after,.site-content:after,.site-footer:after,.site-header:after,.support-rep-list li:after,.type-plugin .plugin-header:after,.type-plugin:after{clear:both}p.subheading{color:#82878c;font-weight:300;margin:-.4rem auto 2rem;text-align:center}p.intro,p.subheading{font-size:1.25rem}p.aside{font-size:.8rem}p.note{font-size:.64rem;letter-spacing:.01rem;max-width:18.1898940355rem}input[type=checkbox],input[type=color],input[type=date],input[type=datetime-local],input[type=datetime],input[type=email],input[type=month],input[type=number],input[type=password],input[type=radio],input[type=search],input[type=tel],input[type=text],input[type=time],input[type=url],input[type=week],select,textarea{background-color:#fff;border:1px solid #ddd;box-shadow:inset 0 1px 2px rgba(0,0,0,.07);color:#32373c;outline:none;transition:border-color .05s ease-in-out}input[type=checkbox]:focus,input[type=color]:focus,input[type=date]:focus,input[type=datetime-local]:focus,input[type=datetime]:focus,input[type=email]:focus,input[type=month]:focus,input[type=number]:focus,input[type=password]:focus,input[type=radio]:focus,input[type=search]:focus,input[type=tel]:focus,input[type=text]:focus,input[type=time]:focus,input[type=url]:focus,input[type=week]:focus,select:focus,textarea:focus{border-color:#5b9dd9;box-shadow:0 0 2px rgba(30,140,190,.8)}input[type=number]{height:28px}input[type=checkbox],input[type=radio]{height:16px;outline:0;width:16px}input[type=checkbox]:checked:before{margin:-3px 0 0 -4px}input[type=radio]:checked+label:before{color:#82878c}input[type=radio]:checked:before{height:6px;margin:4px;width:6px}input[type=reset]:active,input[type=reset]:hover{color:#00a0d2}input[type=search]{-webkit-appearance:textfield}input,select,textarea{font-size:14px;padding:3px 5px}textarea.code{line-height:1.4;padding:4px 6px 1px}label{vertical-align:middle}input,select{margin:1px;padding:3px 5px}input.code{padding-top:6px}.wp-core-ui :-moz-placeholder,:-moz-placeholder{color:#a9a9a9}input.large-text,textarea.large-text{width:99%}input.regular-text{width:25em}input.small-text{padding:1px 6px;width:50px}input[type=number].small-text{width:65px}input.tiny-text{width:35px}input[type=number].tiny-text{width:45px}@media screen and (max-width:782px){textarea{-webkit-appearance:none}input[type=email],input[type=number],input[type=password],input[type=search],input[type=text]{-webkit-appearance:none;padding:6px 10px}input[type=number]{height:40px}input.code{padding-bottom:5px;padding-top:10px}input[type=checkbox]{-webkit-appearance:none;padding:10px}input[type=checkbox]:checked:before{font:normal 30px/1 dashicons;margin:-3px -5px}input[type=checkbox],input[type=radio]{height:25px;width:25px}input[type=radio]:checked:before{height:9px;line-height:16px;margin:7px;vertical-align:middle;width:9px}input,textarea{font-size:16px}input[type=number].small-text,input[type=password].small-text,input[type=search].small-text,input[type=text].small-text{display:inline;margin:0 3px;max-width:55px;padding:3px 6px;width:auto}input.regular-text{width:100%}label{font-size:14px}fieldset label{display:block}}a.button:active,a.button:focus,a.button:hover{text-decoration:none}.notice p{font-size:.8rem;margin:.5em 0;padding:2px}.avatar{border-radius:50%;vertical-align:middle}.locale-banner{background:#c7e8ca;font-size:.8rem;padding:.5rem;text-align:center}@media (min-width:67rem){.locale-banner{margin:1rem auto;max-width:960px}}.locale-banner a{text-decoration:underline}.block-validator .block-validator__plugin-form label{display:block;margin-bottom:.8rem}.block-validator .block-validator__plugin-input-container{display:flex;max-width:34rem}.block-validator .block-validator__plugin-input{flex:1}.block-validator .block-validator__plugin-submit{flex:0;margin-left:.73152rem}@media (max-width:36rem){.block-validator .block-validator__plugin-input-container{display:block}.block-validator .block-validator__plugin-input{width:100%}.block-validator .block-validator__plugin-submit{margin-left:0;margin-top:.73152rem}}.block-validator .notice details,.block-validator .notice p{font-size:1rem;margin:.73152rem 0}.block-validator .notice details p{font-size:.8rem;margin-left:1rem}.block-validator .notice code{font-size:1em}.block-validator .notice summary{display:list-item}.block-validator figure{border:1px solid #aaa;display:inline-block;padding:1em}.block-validator .test-screenshot{text-align:center}input,textarea{box-sizing:border-box}input[type=checkbox],input[type=color],input[type=date],input[type=datetime-local],input[type=datetime],input[type=email],input[type=month],input[type=number],input[type=password],input[type=radio],input[type=search],input[type=tel],input[type=text],input[type=time],input[type=url],input[type=week],select,textarea{background-color:#fff;border:1px solid #ddd;box-shadow:inset 0 1px 2px rgba(0,0,0,.07);color:#32373c;outline:none;transition:border-color .05s ease-in-out}input[type=checkbox]:focus,input[type=color]:focus,input[type=date]:focus,input[type=datetime-local]:focus,input[type=datetime]:focus,input[type=email]:focus,input[type=month]:focus,input[type=number]:focus,input[type=password]:focus,input[type=radio]:focus,input[type=search]:focus,input[type=tel]:focus,input[type=text]:focus,input[type=time]:focus,input[type=url]:focus,input[type=week]:focus,select:focus,textarea:focus{border-color:#5b9dd9;box-shadow:0 0 2px rgba(30,140,190,.8);color:#111}input[type=email],input[type=url]{direction:ltr}input[type=email],input[type=number],input[type=password],input[type=search],input[type=text],select{padding:6px 10px}input[type=number]{height:40px;line-height:inherit}input[type=checkbox],input[type=radio]{-webkit-appearance:none;background:#fff;border:1px solid #b4b9be;box-shadow:inset 0 1px 2px rgba(0,0,0,.1);clear:none;color:#555;cursor:pointer;display:inline-block;height:25px;line-height:0;margin:-4px 4px 0 0;min-width:16px;padding:0!important;text-align:center;transition:border-color .05s ease-in-out;vertical-align:middle;width:25px}input[type=checkbox]{padding:10px}input[type=radio]{border-radius:50%;line-height:10px;margin-right:4px}input[type=checkbox]:checked:before,input[type=radio]:checked:before{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;speak:none;display:inline-block;float:left;font:normal 21px/1 dashicons;vertical-align:middle;width:16px}input[type=checkbox]:checked:before{color:#1e8cbe;content:"\f147";font:normal 30px/1 dashicons;margin:-3px -5px}input[type=radio]:checked:before{background-color:#1e8cbe;border-radius:50px;content:"•";font-size:24px;height:9px;line-height:16px;margin:7px;text-indent:-9999px;vertical-align:middle;width:9px}@-moz-document url-prefix(){.form-table input.tog,input[type=checkbox],input[type=radio]{margin-bottom:-1px}}input[type=search]::-webkit-search-decoration{display:none}.ie8 input[type=password]{font-family:sans-serif}button,input,select,textarea{font-family:inherit;font-size:inherit;font-weight:inherit}input,select,textarea{border-radius:0;font-size:16px}textarea{line-height:1.4;overflow:auto;padding:2px 6px;resize:vertical}input[type=file]{padding:3px 0}label{cursor:pointer}input.readonly,input[readonly],textarea.readonly,textarea[readonly]{background-color:#eee}:-moz-placeholder{color:#a9a9a9}input.disabled,input:disabled,select.disabled,select:disabled,textarea.disabled,textarea:disabled{background:hsla(0,0%,100%,.5);border-color:hsla(0,0%,87%,.75);box-shadow:inset 0 1px 2px rgba(0,0,0,.04);color:rgba(51,51,51,.5)}input[type=file].disabled,input[type=file]:disabled,input[type=range].disabled,input[type=range]:disabled{background:none;box-shadow:none}input[type=checkbox].disabled,input[type=checkbox].disabled:checked:before,input[type=checkbox]:disabled,input[type=checkbox]:disabled:checked:before,input[type=radio].disabled,input[type=radio].disabled:checked:before,input[type=radio]:disabled,input[type=radio]:disabled:checked:before{opacity:.7}fieldset label,label{vertical-align:middle}@media screen and (min-width:737px){input[type=email],input[type=number],input[type=password],input[type=search],input[type=text]{padding:3px 5px}input[type=number]{height:28px}input[type=checkbox]{padding:0}input[type=checkbox]:checked:before{font:normal 21px/1 dashicons;margin:-3px 0 0 -4px}input[type=checkbox],input[type=radio]{height:16px;width:16px}input[type=radio]:checked:before{height:6px;margin:4px;width:6px}input,select,textarea{font-size:14px;padding:3px 5px}}.infinite-scroll .posts-navigation,.infinite-scroll.neverending .site-footer{display:none}.infinity-end.neverending .site-footer{display:block}.notice{background:#fff;border-left:4px solid #fff;box-shadow:0 1px 1px 0 rgba(0,0,0,.1);font-size:.8rem;margin:1em 0;padding:1px 12px}.notice p,.notice ul{margin:.5em 0;padding:2px}.notice p a,.notice ul a{border-bottom:0}.notice pre{white-space:pre-wrap}.notice ul{list-style:none;margin:.5em}.notice.notice-alt{box-shadow:none}.notice.notice-large{padding:10px 20px}.notice.notice-success{border-left-color:#46b450}.notice.notice-success.notice-alt{background-color:#ecf7ed}.notice.notice-warning{border-left-color:#ffb900}.notice.notice-warning.notice-alt{background-color:#fff8e5}.notice.notice-error{border-left-color:#dc3232}.notice.notice-error.notice-alt{background-color:#fbeaea}.notice.notice-info{border-left-color:#00a0d2}.notice.notice-info.notice-alt{background-color:#e5f5fa}.notice.hidden,.plugin-upload-form.hidden{display:none}.plugin-upload-form fieldset{border:none;margin:0;padding:0}.plugin-upload-form legend{margin:1rem 0}.plugin-upload-form .category-checklist{list-style-type:none;margin:0 0 2rem}.plugin-upload-form .category-checklist li{float:left;padding:.5rem 0;width:50%}@media screen and (min-width:48em){.plugin-upload-form .category-checklist li{padding:0}.plugin-upload-form .category-checklist label{font-size:.8rem}.plugin-upload-form label.button{line-height:1.8}}.plugin-upload-form .plugin-file{height:.1px;opacity:0;overflow:hidden;position:absolute;width:.1px;z-index:-1}.plugin-upload-form .plugin-file:focus+label{box-shadow:0 1px 0 #0073aa,0 0 2px 1px #33b3db}.plugin-queue-message code{font-size:1em}.plugin-queue-message dialog.slug-change input[type=text]{font-family:monospace;font-size:1.2em;width:20em}.error-404 .page-content,.error-404 .page-title{text-align:center}.error-404 .page-content .logo-swing{height:10rem;margin:6rem auto;position:relative;text-align:center;width:10rem}.error-404 .page-content .logo-swing .wp-logo{left:0;max-width:none;position:absolute;top:0;width:10rem}@keyframes hinge{10%{height:180px;transform:rotate(0deg);width:180px}15%{height:185px;transform:rotate(0deg);width:185px}20%{height:180px;transform:rotate(5deg);width:180px}40%{animation-timing-function:ease-in-out;transform-origin:top left}60%{animation-timing-function:ease-in-out;transform:rotate(40deg);transform-origin:top left}40%,80%{animation-timing-function:ease-in-out;opacity:1;transform:rotate(60deg);transform-origin:top left}to{opacity:0;transform:translate3d(0,700px,0)}}.hinge{animation-duration:2s;animation-name:hinge}.comments-area{margin-top:5em}.comments-area>:last-child{margin-bottom:0}.comments-area .comment-list+.comment-respond{border-top:1px solid #eaeaea}.comments-area .comment-list+.comment-respond,.comments-area .comment-navigation+.comment-respond{padding-top:1.6em}.comments-area .comments-title{margin-bottom:1.3333em}.comments-area .comment-list{list-style:none;margin:0}.comments-area .comment-list .pingback,.comments-area .comment-list .trackback,.comments-area .comment-list article{border-top:1px solid #eaeaea;padding:1.6em 0}.comments-area .comment-list article:not(:only-child){padding-bottom:0}.comments-area .comment-list article+.comment-respond{padding-bottom:1.6em}.comments-area .comment-list .children{list-style:none;margin:0}.comments-area .comment-list .children>li{padding-left:.8em}.comments-area .comment-list .alt{background:none}.comments-area .comment-author{color:#999;margin-bottom:.4em}.comments-area .comment-author .avatar{float:left;height:24px;margin-right:.8em;width:24px}.comments-area .comment-metadata,.comments-area .pingback .edit-link{color:#999;line-height:1.5}.comments-area .comment-metadata a,.comments-area .pingback .edit-link a{color:#777}.comments-area .comment-metadata{font-size:.8rem;margin-bottom:1.6em}.comments-area .comment-metadata .edit-link,.comments-area .pingback .edit-link{margin-left:1em}.comments-area .pingback .edit-link:before{top:5px}.comments-area .comment-content ol,.comments-area .comment-content ul{margin:0 0 1.6em 1.3333em}.comments-area .comment-content li>ol,.comments-area .comment-content li>ul,.comments-area .comment-content>:last-child{margin-bottom:0}.comments-area .comment-content .reply{font-size:12px}.comments-area .comment-content .reply a{border:1px solid #eaeaea;color:#707070;display:inline-block;font-weight:700;line-height:1;margin-top:2em;padding:.4167em .8333em;text-transform:uppercase}.comments-area .comment-content .reply a:focus,.comments-area .comment-content .reply a:hover{border-color:#333;color:#333;outline:0}.comments-area .comment-reply-title a{font-weight:inherit}.comments-area .comment-form label{display:block;font-size:.8rem;font-weight:700;letter-spacing:.04em;line-height:1.5}.comments-area .comment-form input[type=email],.comments-area .comment-form input[type=text],.comments-area .comment-form input[type=url],.comments-area .comment-form textarea{width:100%}.comments-area .comment-awaiting-moderation,.comments-area .comment-notes,.comments-area .form-allowed-tags,.comments-area .logged-in-as{font-size:1rem;line-height:1.5;margin-bottom:2em}.comments-area .no-comments{border-top:1px solid #eaeaea;color:#999;font-weight:700;padding-top:1.6em}.comments-area .comment-navigation+.no-comments{border-top:0}.comments-area .form-allowed-tags code{font-family:Inconsolata,monospace}.comments-area .form-submit{margin-bottom:0}.comments-area .required{color:#c0392b}.entry-content{word-wrap:break-word;-webkit-hyphens:auto;hyphens:auto}.entry-content>p:first-child{margin-top:0}.entry-content [class*=col-]~h1,.entry-content [class*=col-]~h2,.entry-content [class*=col-]~h3,.entry-content [class*=col-]~h4,.entry-content [class*=col-]~h5,.entry-content [class*=col-]~h6{clear:none}.entry-header{position:relative}.entry-header .sticky-post{color:#999;font-size:.8rem;font-style:italic;position:absolute;top:-.8rem}.entry-summary{word-wrap:break-word;-webkit-hyphens:auto;hyphens:auto}body:not(.single):not(.search) .site-main .post{margin-bottom:3.0517578125rem;max-width:40em}.gallery{margin-bottom:1.5rem}.gallery .gallery-item{display:inline-block;margin:0;text-align:center;vertical-align:top;width:100%}.gallery.gallery-columns-2 .gallery-item{max-width:50%}.gallery.gallery-columns-3 .gallery-item{max-width:33.33%}.gallery.gallery-columns-4 .gallery-item{max-width:25%}.gallery.gallery-columns-5 .gallery-item{max-width:20%}.gallery.gallery-columns-6 .gallery-item{max-width:16.66%}.gallery.gallery-columns-7 .gallery-item{max-width:14.28%}.gallery.gallery-columns-8 .gallery-item{max-width:12.5%}.gallery.gallery-columns-9 .gallery-item{max-width:11.11%}.gallery .gallery-caption{display:block}.post-navigation{margin:5em auto;padding:0}.post-navigation a{border-bottom:1px solid #eaeaea;color:#444;display:block;font-weight:600;padding:11px 0 12px;text-transform:none;width:100%}.post-navigation a:hover{color:#21759b}.post-navigation .nav-links{word-wrap:break-word;border-top:1px solid #eaeaea;-webkit-hyphens:auto;hyphens:auto}.post-navigation .meta-nav{color:#777;display:block;font-size:13px;line-height:2;text-transform:uppercase}.post-navigation .nav-next{text-align:right}.pagination .nav-links{text-align:center}.pagination .nav-links .page-numbers{background-color:#f9f9f9;cursor:hand;display:inline-block;min-width:2em;padding:8px;text-align:center}.pagination .nav-links .page-numbers.dots,.pagination .nav-links .page-numbers.next,.pagination .nav-links .page-numbers.prev{background:none;font-size:.9em;width:auto}.pagination .nav-links .page-numbers.dots{cursor:inherit}@media screen and (max-width:737px){.pagination .nav-links .page-numbers.next,.pagination .nav-links .page-numbers.prev{font-size:0;min-width:auto;padding:0}.pagination .nav-links .page-numbers.next:after,.pagination .nav-links .page-numbers.prev:before{background-color:#f9f9f9;display:inline-block;font-size:1rem;line-height:1.5;min-width:2em;padding:8px}.pagination .nav-links .page-numbers.prev:before{content:"‹"}.pagination .nav-links .page-numbers.next:after{content:"›"}}.pagination .nav-links span.page-numbers{background-color:#f7f7f7;font-weight:700}.search-form .search-field{line-height:normal;margin:0;padding:4px 5px;vertical-align:text-bottom}.site-content{margin:0 auto;max-width:960px;padding:0 1.5625rem}@media screen and (min-width:737px){.site-content{padding:0 10px 3.0517578125rem}}@media screen and (max-width:737px){.site-content .site-main{float:none;margin:0;width:auto}}.home .site-content,.page .site-content,.site-content.page{margin:auto;max-width:none;padding:0}.site-content .page-title{font-size:1.25rem;font-weight:400}.site-content .no-results{margin:0 auto 3.0517578125rem;max-width:40em;padding:0 2rem}.site-description{color:hsla(0,0%,100%,.8);font-size:1.25rem;font-weight:300;margin:-.4rem auto 2rem;text-align:center}.site-header{background:#0073aa;padding:1rem 0;position:relative}.site-header .site-branding{margin:0 auto;max-width:960px;padding:0 1.5625rem}@media screen and (min-width:737px){.site-header .site-branding{padding:0 10px}}.site-header.home{padding:1.5625rem 1.143rem;text-align:center}.site-title a:active,.site-title a:focus,.site-title a:hover{text-decoration:none}.widget-area{font-size:.8rem}@media screen and (min-width:480px) and (max-width:768px){.widget-area{display:flex}.widget-area .widget{width:48%}}#wporg-footer{background-color:#f7f7f7;border-top:1px solid #dfdfdf;padding:22px 14px 65px}#wporg-footer,#wporg-footer .wrapper{clear:both;margin:0 auto;overflow:auto}#wporg-footer .wrapper{max-width:930px}#wporg-footer ul{float:left;margin-bottom:20px;margin-left:24px;overflow:auto;padding-left:0;width:135px}@media screen and (min-width:960px){#wporg-footer ul:first-child{margin-left:0}}#wporg-footer ul li{color:#bbb;font-size:14px;list-style-type:none;margin-bottom:1px}#wporg-footer ul li a{text-decoration:none;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}#wporg-footer ul li a:hover{color:#0073aa;text-decoration:underline}#wporg-footer .social-media-links .dashicons{margin-right:4px}#wporg-footer .cip{clear:both;color:#ccc;float:none;font-size:.8rem;letter-spacing:.3em;margin:35px auto 0;text-align:center;text-transform:uppercase}#wporg-footer .cip.cip-image{background:url(//s.w.org/style/images/codeispoetry.png?1) 50% no-repeat;background-size:190px 15px;height:15px;text-indent:-9999px;width:190px}@media only screen and (-webkit-min-device-pixel-ratio:1.5),only screen and (min-resolution:1.5dppx),only screen and (min-resolution:144dpi){#wporg-footer .cip.cip-image{background-image:url(//s.w.org/style/images/codeispoetry-2x.png?1)}}@media screen and (min-width:561px) and (max-width:959px){#wporg-footer .wrapper{max-width:600px}#wporg-footer ul{margin-left:2%;width:32%}#wporg-footer ul:nth-child(3n+1){margin-left:0}#wporg-footer ul:nth-child(4n){clear:both}}@media screen and (max-width:560px){#wporg-footer .wrapper{max-width:360px}#wporg-footer ul{margin-left:4%;width:48%}#wporg-footer ul:nth-child(odd){clear:both;margin-left:0}}#wporg-header{background:#23282d;height:140px;position:relative;text-align:center;width:100%}#wporg-header .wrapper{margin:0 auto;max-width:960px}#wporg-header h1{display:inline-block;margin:auto;width:303px}#wporg-header h1 a{background:url(//s.w.org/style/images/wporg-logo.svg?3) 0 no-repeat;background-size:290px 46px;display:block;height:88px;text-indent:-9999px}#wporg-header h2.rosetta{clear:none;color:#dfdfdf;font-family:Georgia,Times New Roman,serif;font-size:30px;margin:0 0 0 60px}#wporg-header h2.rosetta a{border-bottom:none;color:#dfdfdf;display:block;height:52px;line-height:22px;padding:0}#wporg-header h2.rosetta a:hover{text-decoration:none}#wporg-header #wporg-header-menu{background:#23282d;left:-75%;list-style:none;margin:0;max-width:75%;min-width:200px;position:absolute;text-align:left;top:100%;transition:left .3s;z-index:100000}#wporg-header #wporg-header-menu.toggled{left:0}#wporg-header ul li{list-style-type:none;position:relative}#wporg-header ul li a{color:#eee;display:block;font-family:Open Sans,Helvetica,Arial,Liberation Sans,sans-serif;font-size:13px;font-weight:600;height:34px;line-height:34px;margin:0 4px;padding:10px 30px;text-decoration:none}#wporg-header ul li a.subcurrent{font-weight:700}@media (max-width:768px){#wporg-header ul li a{height:auto}}#wporg-header ul li a.current,#wporg-header ul li a:hover,#wporg-header ul li.current-menu-item a,#wporg-header ul li.current_page_parent a{color:#00a0d2}#wporg-header ul li#download,#wporg-header ul li.download{float:right;height:34px;margin-right:14px;overflow:hidden;padding:0 0 34px}@media screen and (max-width:767px){#wporg-header ul li#download,#wporg-header ul li.download{display:block;float:none;height:auto;margin:10px 20px 20px;padding-bottom:0}#wporg-header ul li#download a,#wporg-header ul li.download a{padding:4px 10px;text-align:center}}#wporg-header ul li#download a,#wporg-header ul li.download a{margin:0;padding:0 16px}#wporg-header ul li#download a:hover,#wporg-header ul li.download a:hover{color:#eee}#wporg-header ul li#download .uparrow,#wporg-header ul li#download.current,#wporg-header ul li#download.current-menu-item,#wporg-header ul li.download .uparrow,#wporg-header ul li.download.current,#wporg-header ul li.download.current-menu-item{display:none}#wporg-header ul li .nav-submenu{clip:rect(1px,1px,1px,1px);height:1px;left:-2px;margin:0;overflow:hidden;padding:0;position:absolute;width:1px;z-index:99999}#wporg-header ul li .nav-submenu li a{display:inline-block;height:24px;line-height:24px;margin:0;white-space:nowrap}@media screen and (min-width:768px){#wporg-header #head-search{float:right;margin-right:14px;padding-top:30px}}#wporg-header #head-search form{border-bottom:1px solid #3f3f3f;display:inline-block;margin-left:60px;width:288px}#wporg-header #head-search form input.text{background:#191e23;border:0;border-radius:0;box-sizing:content-box;color:#b4b9be;float:left;font-family:Open Sans,sans-serif;font-size:12px;height:24px;margin:0;outline:none;padding:3px;vertical-align:top;width:256px}#wporg-header #head-search form input.text::-moz-placeholder{color:#eee}@media screen and (max-width:480px){#wporg-header #head-search form input.text{width:216px}}#wporg-header #head-search form .button{background:#191e23 url(//s.w.org/wp-includes/images/admin-bar-sprite.png?d=20120831) no-repeat 2px 5px;border:none;border-radius:0;box-shadow:none;float:left;height:30px;margin:0;padding:0;text-shadow:none!important;width:26px}@media screen and (max-width:480px){#wporg-header #head-search form{width:248px}}@media screen and (min-width:480px){#wporg-header #head-search form{margin-left:0}}@media screen and (min-width:768px){#wporg-header{height:120px;text-align:inherit}#wporg-header h1{float:left;padding-left:10px}#wporg-header h2.rosetta{float:left;margin-left:0;padding:36px 27px 0}#wporg-header #headline h2{text-rendering:optimizeLegibility}#wporg-header #wporg-header-menu{float:left;height:46px;list-style:none;margin:-15px 0 0;max-width:inherit;min-width:0;padding:0;position:static;width:100%}#wporg-header ul li{float:left;position:relative}#wporg-header ul li a{height:46px;padding:0 6px}#wporg-header ul li a.current~.uparrow{border-bottom:9px solid #f7f7f7;border-left:9px solid transparent;border-right:9px solid transparent;height:0;margin:-8px auto 0;width:0}#wporg-header ul li.current-menu-item:after,#wporg-header ul li.current_page_parent:after{border-bottom:9px solid #f7f7f7;border-left:9px solid transparent;border-right:9px solid transparent;content:"";height:0;left:50%;margin:-8px 0 0 -9px;position:absolute;width:0}#wporg-header ul li .nav-submenu:hover~.uparrow,#wporg-header ul li:hover .nav-submenu~.uparrow{border-bottom:9px solid #32373c;border-left:9px solid transparent;border-right:9px solid transparent;height:0;margin:-10px auto 0;width:0}#wporg-header ul li .nav-submenu{background:#32373c;border:1px solid #32373c;border-top:0;margin-top:-1px;min-width:0}#wporg-header ul li .nav-submenu li{float:none}#wporg-header ul li .nav-submenu li a{height:34px;line-height:34px}#wporg-header .nav-menu .focus>ul,#wporg-header .nav-menu ul li:hover>ul,#wporg-header ul.nav-menu .focus>ul,#wporg-header ul.nav-menu li:hover>ul{clip:inherit;height:inherit;overflow:inherit;width:inherit}#wporg-header ul li a.current~.uparrow,#wporg-header ul li.current-menu-item:after,#wporg-header ul li.current_page_parent:after{border-bottom-color:#0073aa}}.page-download #wporg-header #download,.page-parent-download #wporg-header #download{display:none}#mobile-menu-button{-webkit-font-smoothing:antialiased;background:none;border:none;box-shadow:none;display:block;float:left;font-family:dashicons;font-size:16px;font-style:normal;font-weight:400;left:10px;line-height:1;padding:1px;position:absolute;text-align:center;text-decoration:inherit;text-shadow:none;top:75px;transition:color .1s ease-in;vertical-align:top}#mobile-menu-button:before{-webkit-font-smoothing:antialiased;border:none;box-sizing:border-box;color:#888;content:"\f228";display:inline-block;float:left;font:normal 50px/1 Dashicons;margin:0;outline:none;padding:3px;text-decoration:none;vertical-align:middle}@media screen and (min-width:768px){#mobile-menu-button{display:none}}#download-mobile{background:#f7f7f7;border-bottom:1px solid #ddd}#download-mobile .wrapper{padding:20px 0;text-align:center}#download-mobile span.download-ready{font-size:1.6em;margin:0 .25em}#download-mobile a.download-button{font-size:1.6em;height:inherit;margin:10px .25em;padding:10px 15px}.comment-content .wp-smiley,.entry-content .wp-smiley,.page-content .wp-smiley{border:none;margin-bottom:0;margin-top:0;padding:0}.wp-caption,embed,iframe,object{max-width:100%}.wp-caption{margin-bottom:1.5em}.wp-caption img[class*=wp-image-]{display:block;margin-left:auto;margin-right:auto}.wp-caption .wp-caption-text{margin:.8075em 0}.wp-caption-text{text-align:center}.gallery{margin-bottom:1.5em}.gallery-item{display:inline-block;text-align:center;vertical-align:top;width:100%}.gallery-columns-2 .gallery-item{max-width:50%}.gallery-columns-3 .gallery-item{max-width:33.33%}.gallery-columns-4 .gallery-item{max-width:25%}.gallery-columns-5 .gallery-item{max-width:20%}.gallery-columns-6 .gallery-item{max-width:16.66%}.gallery-columns-7 .gallery-item{max-width:14.28%}.gallery-columns-8 .gallery-item{max-width:12.5%}.gallery-columns-9 .gallery-item{max-width:11.11%}.gallery-caption{display:block}.site-title{display:inline-block;font-size:1.5625rem;font-weight:300;line-height:1;margin:0 2rem 0 0;max-width:none}.site-title a{color:#fff;font-weight:300;text-decoration:none}.site-title a:active,.site-title a:focus,.site-title a:hover{color:#fff}.site-header.home .site-title{display:inherit;font-size:3.8146972656rem;margin:2rem 0 1rem}.wporg-filter-bar{--wporg--filter-bar--gap:20px;--wporg--filter-bar--color:#40464d;--wporg--filter-bar--active--background-color:#2371a6;--wporg--filter-bar--focus--border-color:#2371a6;margin:0 auto;max-width:960px;padding:40px 1.5625rem 0}.wporg-filter-bar+.site-main{margin-top:2rem;padding-top:0}.wporg-filter-bar .wporg-filter-bar__navigation{flex-grow:1;margin-bottom:var(--wporg--filter-bar--gap)}.wporg-filter-bar .wporg-filter-bar__navigation ul{display:inline-block;font-size:13px;line-height:1.538;list-style:none;margin:0}.wporg-filter-bar .wporg-filter-bar__navigation ul li{display:inline-block}.wporg-filter-bar .wporg-filter-bar__navigation ul li+li{margin-left:8px}.wporg-filter-bar .wporg-filter-bar__navigation ul a{border-radius:2px;color:var(--wporg--filter-bar--color);display:block;padding:8px 12px;text-decoration:none}.wporg-filter-bar .wporg-filter-bar__navigation ul a:focus,.wporg-filter-bar .wporg-filter-bar__navigation ul a:hover{text-decoration:underline}.wporg-filter-bar .wporg-filter-bar__navigation ul a:focus-visible{box-shadow:none;outline:1.5px solid var(--wporg--filter-bar--focus--border-color);outline-offset:-.5px}.wporg-filter-bar .wporg-filter-bar__navigation ul a.is-active{background-color:var(--wporg--filter-bar--active--background-color);color:#fff}.wporg-filter-bar .wporg-filter-bar__navigation ul a.is-active:focus,.wporg-filter-bar .wporg-filter-bar__navigation ul a.is-active:hover{color:#fff}.wporg-filter-bar .wporg-filter-bar__navigation ul a.is-active:focus-visible{box-shadow:inset 0 0 0 1.5px #fff;outline:1.5px solid var(--wporg--filter-bar--focus--border-color);outline-offset:-.5px}@media screen and (min-width:737px){.wporg-filter-bar{align-items:center;display:flex;flex-wrap:wrap;gap:var(--wporg--filter-bar--gap);justify-content:space-between;padding:40px 10px 0}.wporg-filter-bar .wporg-filter-bar__navigation{margin-bottom:0}}.archive .site-main{margin-top:2rem;padding-top:0}.archive .page-header{margin:2rem 0}dialog{border:0;box-shadow:6px 6px 6px rgba(0,0,0,.2);min-height:50%;min-width:30%}@media (min-width:1280px){dialog{max-width:55%}}dialog::-webkit-backdrop{background:#000;opacity:.5}dialog::backdrop{background:#000;opacity:.5}dialog .close{color:inherit;cursor:pointer;position:absolute;right:1em;text-decoration:none!important;top:1em}.main-navigation{background:#0073aa;clear:both;left:0;position:absolute;top:60px;width:100%;z-index:1}.main-navigation ul{display:none;list-style:none;margin:0;padding-left:0}.main-navigation ul ul{box-shadow:0 3px 3px rgba(0,0,0,.2);float:left;left:-999em;position:absolute;top:1.5em;z-index:99999}.main-navigation ul ul ul{left:-999em;top:0}.main-navigation ul ul li.focus>ul,.main-navigation ul ul li:hover>ul{left:100%}.main-navigation ul ul a{width:200px}.main-navigation ul li.focus>ul,.main-navigation ul li:hover>ul{left:auto}.main-navigation li{border-top:1px solid hsla(0,0%,100%,.2)}.main-navigation a{color:hsla(0,0%,100%,.8);display:block;font-size:.8rem;padding:1rem 1rem 1rem 1.5rem;text-decoration:none}.main-navigation a.active,.main-navigation a:hover{color:#fff}@media screen and (min-width:737px){.main-navigation a.active{border-bottom:1px solid}}.main-navigation.toggled ul{display:block}.menu-toggle{-webkit-appearance:none;background:transparent;border:none;color:#fff;font-size:1.5625rem;height:3.5rem;overflow:hidden;position:absolute;right:1rem;top:-58px;width:3.5rem}.toggled .menu-toggle:before{content:"\f343"}@media screen and (min-width:737px){.menu-toggle{display:none}.main-navigation{float:right;position:relative;top:auto;width:auto}.main-navigation.toggled{padding:1px 0}.main-navigation ul{display:inline-block;font-size:0}.main-navigation ul li{border:0;display:inline-block;font-size:1rem;margin-right:1rem}.main-navigation ul li:last-of-type{margin-right:0}.main-navigation a{padding:0}}.page .entry-header{margin-top:2rem}@media screen and (min-width:737px){.page .entry-header{padding:0 2rem}}.page .entry-header .entry-title{font-size:1.5625rem;font-weight:400}@media screen and (min-width:737px){.page .entry-content{padding:0 2rem}}.page .entry-content h2{font-size:1.5625rem;font-weight:400}.page .entry-content h3{font-size:1rem;font-weight:600;letter-spacing:.01rem;text-transform:uppercase}.page .entry-content section{padding:2rem 0}.page .entry-content section:first-of-type{padding-top:0}.page .entry-content section+section{border-top:2px solid #eee}.plugin-card{background-color:#f9f9f9;margin-bottom:4%;padding:15px 15px 8px;vertical-align:top}@media screen and (min-width:737px){.plugin-card{display:inline-block;margin-right:4%;width:48%}.plugin-card:nth-of-type(2n){margin-right:0}}.plugin-card .entry{display:inline-block;margin:auto;vertical-align:top}@media screen and (min-width:21em){.plugin-card .entry{width:calc(96% - 128px)}}.plugin-card .entry-title{font-size:1rem;line-height:1.3;margin:0 0 8px}.plugin-card .entry-title a{word-wrap:break-word;font-weight:400}.plugin-card .entry-excerpt{font-size:.8rem}.plugin-card .entry-excerpt p{margin:0}.plugin-card hr{background-color:#fff;margin:15px -15px 8px}.plugin-card footer span{display:inline-block;font-size:.73152rem;overflow:hidden;white-space:nowrap}.plugin-card footer span i{display:inline-block;font-size:1rem;margin-right:.4rem}.plugin-card footer span.last-updated{display:none}.plugin-card footer span.plugin-author{width:100%}.plugin-card footer span.active-installs{min-width:48%}.plugin-card footer .dashicons{color:#bbb;display:none;height:auto;margin:0 2px -1rem;width:auto}@media (min-width:414px){.plugin-card footer .dashicons{display:inline-block}}.entry-thumbnail{display:none;max-width:128px}.entry-thumbnail .plugin-icon{background-size:cover;height:128px;width:128px}@media screen and (min-width:21em){.entry-thumbnail{display:inline-block;margin:0 4% 0 0;vertical-align:top}.entry-thumbnail a{display:block}}.single .entry-thumbnail{display:none;float:left;height:96px;margin-right:1rem;width:96px}@media screen and (min-width:26em){.single .entry-thumbnail{display:block}}.single .entry-thumbnail .plugin-icon{background-size:contain!important;height:96px!important;width:96px!important}.plugin-rating{line-height:1;margin:0 10px 8px 0}.plugin-rating .wporg-ratings{display:inline-block;margin-right:5px}.plugin-rating .rating-count{color:#999;font-size:.8rem}.site-main.single .plugin-rating .rating-count{display:none}.plugin-rating .rating-count a{color:inherit;cursor:hand;text-decoration:none}[class*=dashicons-star-]{color:#ffb900}.rtl .dashicons-star-half{transform:rotateY(180deg)}.plugin-section{border-bottom:2px solid #eee;margin:0 auto 4.768371582rem;max-width:960px;padding-bottom:3.0517578125rem}.plugin-section:last-of-type{margin-bottom:0}.plugin-section .section-header{column-gap:10px;display:flex;flex-flow:row wrap;margin-bottom:2rem}.plugin-section .section-title{flex:1 1 auto;font-size:1.5625rem;font-weight:400;margin-bottom:0;margin-top:0}.plugin-section .section-link{align-self:center;flex:0 0 auto;font-size:1rem}.search-form{font-size:0;margin-bottom:2rem;max-width:100%;position:relative}.search-form .search-field{-webkit-appearance:none;border:none;border-radius:0;box-shadow:none;display:block;font-size:1rem;line-height:1.5;margin:0 auto;max-width:100%;padding:.5rem 2.4rem .5rem .5rem;vertical-align:initial;width:22.7373675443rem}.search-form .button-search{border-left:none;border-radius:0 2px 2px 0;border-top:none;font-size:1rem;margin:0;position:relative;right:auto;top:auto;vertical-align:top}.search-form .button-search:active{background:#006799;border-right:1px solid #006799;box-shadow:none}.search-form .button-search svg{fill:currentColor}.site-header .search-form{display:inline-block}.site-header.home .search-form .button-search,.site-main .search-form .button-search{background:transparent;border:none;border-radius:0;box-shadow:none;color:#32373c;display:block;height:45px;padding:.5rem;position:absolute;right:0;text-shadow:none;top:0}.site-header.home .search-form .button-search:focus,.site-main .search-form .button-search:focus{box-shadow:0 0 2px 1px #33b3db}.site-header.home .search-form .button-search:active,.site-main .search-form .button-search:active{background:transparent;border:none;transform:none}.site-header:not(.home) .search-form{display:block;margin:0;padding:1rem 1rem 1rem 1.5rem}@media screen and (min-width:737px){.site-header:not(.home) .search-form{padding:0}}.site-header:not(.home) .search-form .search-field{border:0;border-radius:2px 0 0 2px;display:inline-block;font-size:1rem;padding:5px 10px;position:relative;width:calc(100% - 55px)}@media screen and (min-width:737px){.site-header:not(.home) .search-form .search-field{font-size:.64rem;width:7rem}.site-header:not(.home) .search-form .search-field+.button-search{display:inline-block;margin-bottom:0}}@media screen and (min-width:60em){.site-header:not(.home) .search-form .search-field{width:10rem}}@media screen and (max-width:737px){.site-header:not(.home) .search-form .search-field+.button-search{padding:4px 14px 1px}}.site-main .search-form .search-field{border:1px solid #ddd;box-shadow:inset 0 1px 2px rgba(0,0,0,.07);padding:.5rem;width:100%}.search .site-main{margin-top:2rem;padding-top:0}.search.search-results .page-header{margin:2rem 0}.site-content{max-width:none;padding:0}nav .nav-links{text-align:center}nav .nav-links .page-numbers{background-color:#f9f9f9;cursor:hand;display:inline-block;min-width:2em;padding:8px}nav .nav-links .page-numbers.dots,nav .nav-links .page-numbers.next,nav .nav-links .page-numbers.prev{background:none;font-size:.9em;width:auto}nav .nav-links .page-numbers.dots{cursor:inherit}nav .nav-links span.page-numbers{background-color:#f7f7f7;font-weight:700}.site-main{margin:0 auto;max-width:960px;padding:3.0517578125rem 1.5625rem}@media screen and (min-width:737px){.site-main{padding:3.0517578125rem 10px}}.single .site-main,.site-main.single{padding:0}@media screen and (min-width:737px){.single .site-main,.site-main.single{padding:0 10px 3.0517578125rem}}.page .site-main,.site-main.page{padding-top:0}.site-main .page-title{font-size:1.5625rem;font-weight:400}.site-main .no-results{margin:0 auto;max-width:35.527136788rem;padding:0 2rem}@keyframes favme-anime{0%{-webkit-text-stroke-color:transparent;font-size:1rem;opacity:1}25%{-webkit-text-stroke-width:1px;-webkit-text-stroke-color:#dc3232;color:#fff;font-size:.8rem;opacity:.6}75%{-webkit-text-stroke-width:1px;-webkit-text-stroke-color:#dc3232;color:#fff;font-size:1.42875rem;opacity:.6}to{-webkit-text-stroke-color:transparent;font-size:1.25rem;opacity:1}}@keyframes favme-hover{0%{font-size:1.42875rem}80%{font-size:1.25rem}}.plugin-favorite{height:36px;text-align:center;vertical-align:top;width:36px}.plugin-favorite .plugin-favorite-heart{align-items:center;background:none;border:0;border-radius:0;box-shadow:none;color:#cbcdce;cursor:pointer;display:flex;font-size:1.25rem;height:100%;justify-content:center;line-height:1;margin:0;outline:none;padding:0;transition:all .2s ease}.plugin-favorite .plugin-favorite-heart.favorited{color:#dc3232}.plugin-favorite .plugin-favorite-heart:hover{animation:favme-hover .3s infinite alternate}.plugin-favorite .plugin-favorite-heart:focus{outline:thin dotted}.plugin-favorite .plugin-favorite-heart:focus,.plugin-favorite .plugin-favorite-heart:hover{text-decoration:none}.plugin-favorite .plugin-favorite-heart:after{content:"\f487";font-family:dashicons;vertical-align:top}.plugin-favorite .plugin-favorite-heart.is-animating{animation:favme-anime .3s}.plugin-banner{background-position:50% 50%;background-repeat:no-repeat;background-size:100%;display:inline-block;font-size:0;line-height:0;margin:0 auto 1.143rem;padding-top:32.38342%;vertical-align:middle;width:100%}@media screen and (min-width:60em){.plugin-banner{margin-top:1.5625rem}}@keyframes hideAnimation{to{visibility:hidden}}.categorization .help{color:#999;display:inline-block;font-size:.8rem;margin-top:0}.categorization label{display:block;font-weight:700}.categorization input{width:100%}.categorization .success-msg{background:#eff7ed;border:solid #64b450;border-width:0 0 0 5px;font-size:.8rem;margin-left:1rem;opacity:0;overflow:auto;padding:.1rem .6rem .2rem;position:relative;transition:visibility 0s,opacity .5s linear;-webkit-user-select:none;user-select:none;visibility:hidden}.categorization .success-msg.saved{animation:hideAnimation 0s ease-in 5s;animation-fill-mode:forwards;opacity:1;visibility:visible}.plugin-changelog,.plugin-changelog code{font-size:.8rem}.plugin-changelog h4{margin-top:0}.plugin-developers .contributors-list{font-size:0}.plugin-developers .contributors-list li{display:inline-block;font-size:1rem;margin-right:4%;vertical-align:top;width:48%}.plugin-developers .contributors-list li:nth-of-type(2n){margin-right:0}.plugin-faq h2:first-of-type{border:none;color:#32373c;font-size:1.25rem;font-weight:600;letter-spacing:.01rem;padding:0;text-transform:uppercase;text-transform:inherit}.plugin-faq dl{border-bottom:1px solid #eee}.plugin-faq dt{border-top:1px solid #eee;cursor:pointer;font-size:1rem;font-weight:600;padding:1rem 0}.plugin-faq dt:before{content:"\f347";float:right;font-family:dashicons;margin:0 1rem}.plugin-faq dt.open:before{content:"\f343"}.plugin-faq dt .button-link{display:inherit;text-align:inherit}.plugin-faq dt .button-link.no-focus{box-shadow:none;outline:none}.plugin-faq dt h3{color:#0073aa;display:inline;margin-bottom:0;margin-top:0;text-decoration:underline;text-transform:none}.plugin-faq dt h3 button{all:inherit;max-width:calc(100% - 60px)}.plugin-faq dd{display:none;margin:0 0 1rem}.no-js .plugin-faq dd{display:block}.plugin-faq dd p{margin:0}.plugin-faq dd p+p{margin-top:1rem}.image-gallery{-webkit-user-select:none;user-select:none}.image-gallery-content{position:relative}.image-gallery-content .image-gallery-left-nav,.image-gallery-content .image-gallery-right-nav{border-color:#eee;display:none;font-size:3.0517578125rem;height:100%;position:absolute;top:0;transition:background .1s ease,border .1s ease;z-index:4}@media (max-width:768px){.image-gallery-content .image-gallery-left-nav,.image-gallery-content .image-gallery-right-nav{font-size:3.4em}}@media (min-width:768px){.image-gallery-content .image-gallery-left-nav:hover,.image-gallery-content .image-gallery-right-nav:hover{background:#fff;border:1px solid #eee;opacity:.8}}.image-gallery-content .image-gallery-left-nav:before,.image-gallery-content .image-gallery-right-nav:before{font-family:dashicons;position:relative}.image-gallery-content .image-gallery-left-nav{left:0}.image-gallery-content .image-gallery-left-nav:before{content:"\f341"}.image-gallery-content .image-gallery-left-nav:hover{margin-left:-1px}.image-gallery-content .image-gallery-right-nav{right:0}.image-gallery-content .image-gallery-right-nav:before{content:"\f345"}.image-gallery-content .image-gallery-right-nav:hover{margin-right:-1px}.image-gallery-content:hover .image-gallery-left-nav,.image-gallery-content:hover .image-gallery-right-nav{display:block}.image-gallery-slides{border:1px solid #eee;line-height:0;overflow:hidden;position:relative;white-space:nowrap}.image-gallery-slide{left:0;position:absolute;top:0;width:100%}.image-gallery-slide.center{position:relative}.image-gallery-slide .image-gallery-image{margin:0}.image-gallery-slide img{display:block;margin:0 auto}.image-gallery-slide .image-gallery-description{background:#f5f5f5;color:#32373c;font-size:.8rem;line-height:1.5;padding:10px 20px;white-space:normal}@media (max-width:768px){.image-gallery-slide .image-gallery-description{font-size:.8rem;padding:8px 15px}}.image-gallery-thumbnails{background:#fff;margin-top:5px}.image-gallery-thumbnails .image-gallery-thumbnails-container{cursor:pointer;text-align:center;white-space:nowrap}.image-gallery-thumbnail{border:1px solid #eee;display:table-cell;margin-right:5px;max-height:100px;overflow:hidden}.image-gallery-thumbnail .image-gallery-image{margin:0}.image-gallery-thumbnail img{vertical-align:middle;width:100px}@media (max-width:768px){.image-gallery-thumbnail img{width:75px}}.image-gallery-thumbnail:hover{box-shadow:0 1px 8px rgba(0,0,0,.3)}.image-gallery-thumbnail.active{border:1px solid #337ab7}.image-gallery-thumbnail-label{color:#222;font-size:1em}@media (max-width:768px){.image-gallery-thumbnail-label{font-size:.8em}}.image-gallery-index{background:rgba(0,0,0,.4);bottom:0;color:#fff;line-height:1;padding:10px 20px;position:absolute;right:0;z-index:4}.plugin-reviews{list-style-type:none;margin:0;padding:0}.plugin-reviews .plugin-review{border-bottom:2px solid #eee;margin:2rem 0 1rem;padding-bottom:1rem}.plugin-reviews .plugin-review:first-child{margin-top:0}.plugin-reviews .plugin-review .header-top{display:flex}.plugin-reviews .plugin-review .header-top .wporg-ratings{flex-shrink:0}.plugin-reviews .plugin-review .header-bottom{display:flex;margin-bottom:12px}.plugin-reviews .review-avatar{display:none}.plugin-reviews .review,.plugin-reviews .review-author,.plugin-reviews .wporg-ratings{display:inline-block;vertical-align:top}.plugin-reviews .review-header{margin:0 0 .5rem}.plugin-reviews .review-title{font-size:1rem;font-weight:600;letter-spacing:.01rem;line-height:1.25;margin:0 0 8px 12px;text-transform:inherit}.plugin-reviews .review-author,.plugin-reviews .review-date,.plugin-reviews .review-replies{font-size:.9em;line-height:1.25}.plugin-reviews .review-date,.plugin-reviews .review-replies{color:#999;font-size:.9em;margin-left:12px}.plugin-reviews .review-replies:before{content:"•";margin-right:12px}@media screen and (min-width:737px){.plugin-reviews .review-avatar{display:inline-block;vertical-align:top}.plugin-reviews .review-avatar .avatar{margin-right:1rem}.plugin-reviews .review{width:calc(100% - 60px - 1rem)}.plugin-reviews .review-header{margin:0}.plugin-reviews .review-author,.plugin-reviews .review-date,.plugin-reviews .review-replies{line-height:1}}.reviews-link{display:inline-block;font-size:.8rem;margin-top:.5rem;text-decoration:none}.reviews-link:after{content:"\f345";float:right;font-family:dashicons;padding-left:5px;position:relative;top:1px;vertical-align:text-top}.plugin-screenshots{list-style-type:none;margin:0;padding:0}.plugin-screenshots h2:first-of-type{border:none;color:#32373c;font-size:1.25rem;font-weight:600;padding:0;text-transform:inherit}.plugin-screenshots .image-gallery-content{display:table;width:100%}.plugin-screenshots .image-gallery-slides{display:table-cell;max-height:600px}.plugin-screenshots .image-gallery-image img{max-height:550px}.plugin-screenshots .image-gallery-thumbnail{vertical-align:top}.plugin-screenshots .image-gallery-thumbnail img{max-height:100px}.plugin-screenshots .image-gallery-thumbnails{overflow:hidden}.download-history-stats td{text-align:right}.previous-versions{max-width:60%}@media screen and (min-width:737px){.previous-versions{height:30px;vertical-align:top}}hr{margin:2.5rem auto}.section h1,.section h2,.section h3{font-size:1rem;font-weight:600;letter-spacing:.01rem;text-transform:uppercase}.section h1:nth-child(2),.section h2:nth-child(2),.section h3:nth-child(2){margin-top:0}.section h4,.section h5,.section h6{font-size:.8rem;font-weight:600;letter-spacing:.05rem;text-transform:uppercase}.section h4:nth-child(2),.section h5:nth-child(2),.section h6:nth-child(2){margin-top:0}.section h2:first-of-type{border:none;color:#32373c;font-size:1.25rem;font-weight:600;padding:0;text-transform:inherit}.type-plugin .plugin-notice{margin-top:0}.type-plugin .plugin-header{border-bottom:0;padding:1.143rem 1.5625rem}.type-plugin .plugin-header .plugin-actions{float:right;margin-inline-start:1rem}.type-plugin .plugin-header .plugin-actions div{display:inline-block;text-align:center}.type-plugin .plugin-header .plugin-title{clear:none;font-size:1.5625rem;font-weight:400;margin:0}.type-plugin .plugin-header .plugin-title a{color:inherit;text-decoration:none}.type-plugin .plugin-header .byline{color:#78848f}.type-plugin .plugin-banner+.plugin-header{padding-top:0}.type-plugin .tabs{border-bottom:2px solid #eee;list-style:none;margin:0}.type-plugin .tabs li{border:2px solid transparent;color:#0073aa;display:inline-block;font-size:.8rem;margin-bottom:-2px;transition:background .2s ease}.type-plugin .tabs li a{background:#fff;border:0;display:block;padding:.64rem 1.25rem;text-decoration:none}.type-plugin .tabs li a.active,.type-plugin .tabs li a:hover{background:#eee}.type-plugin .tabs li.active,.type-plugin .tabs li:hover{border:2px solid #eee;padding-bottom:0!important}@media screen and (max-width:34em){.type-plugin .tabs{border-top:2px solid #eee}.type-plugin .tabs li{display:block;margin-bottom:1px}.type-plugin .tabs li,.type-plugin .tabs li.active,.type-plugin .tabs li:hover{border:none;border-bottom:1px solid #eee}}.type-plugin .entry-content{max-width:48rem;padding:0 1.5625rem}@media screen and (min-width:737px){.type-plugin .entry-content{float:left;padding:0;width:65%}}.type-plugin .entry-content>div,.type-plugin .entry-content>div~button{border:0;display:none}.type-plugin .entry-content a:not(.button,.dashicons){text-decoration:underline}.type-plugin .entry-content ol>li>p,.type-plugin .entry-content ul>li>p{margin:0}.type-plugin .entry-content #admin{display:block!important}.type-plugin .plugin-blocks-list{list-style:none;margin-left:0}.type-plugin .plugin-blocks-list .plugin-blocks-list-item{display:grid;grid-template-columns:auto 1fr;margin-bottom:1.25rem}.type-plugin .plugin-blocks-list .block-icon{border:1px solid #eee;border-radius:2px;display:inline-block;height:3.5rem;margin-right:1rem;padding:1.143rem;width:3.5rem}.type-plugin .plugin-blocks-list .block-icon.dashicons{color:inherit}.type-plugin .plugin-blocks-list .block-icon svg{fill:currentColor;height:16px;width:16px}.type-plugin .plugin-blocks-list .block-title{align-self:center;font-weight:700}.type-plugin .plugin-blocks-list .has-description .block-icon{grid-row:1/span 2}.type-plugin .plugin-blocks-list .has-description .block-title{margin-bottom:.4096rem}.type-plugin .entry-meta{padding:0 1.5625rem}.type-plugin span#description,.type-plugin span#developers,.type-plugin span#installation,.type-plugin span#reviews{position:fixed}.type-plugin span#advanced.displayed~#section-links .tabs li#tablink-advanced,.type-plugin span#developers:target~#section-links .tabs li#tablink-developers,.type-plugin span#installation:target~#section-links .tabs li#tablink-installation,.type-plugin span#reviews:not(:target)~span#installation:not(:target)~span#developers:not(:target)~span#advanced:not(.displayed)~#section-links .tabs li#tablink-description,.type-plugin span#reviews:target~#section-links .tabs li#tablink-reviews{background:#fff;border:2px solid #eee;border-bottom:0;padding-bottom:2px}@media screen and (max-width:34em){.type-plugin span#advanced.displayed~#section-links .tabs li#tablink-advanced.active,.type-plugin span#advanced.displayed~#section-links .tabs li#tablink-advanced:hover,.type-plugin span#developers:target~#section-links .tabs li#tablink-developers.active,.type-plugin span#developers:target~#section-links .tabs li#tablink-developers:hover,.type-plugin span#installation:target~#section-links .tabs li#tablink-installation.active,.type-plugin span#installation:target~#section-links .tabs li#tablink-installation:hover,.type-plugin span#reviews:not(:target)~span#installation:not(:target)~span#developers:not(:target)~span#advanced:not(.displayed)~#section-links .tabs li#tablink-description.active,.type-plugin span#reviews:not(:target)~span#installation:not(:target)~span#developers:not(:target)~span#advanced:not(.displayed)~#section-links .tabs li#tablink-description:hover,.type-plugin span#reviews:target~#section-links .tabs li#tablink-reviews.active,.type-plugin span#reviews:target~#section-links .tabs li#tablink-reviews:hover{padding-bottom:2px!important}}.type-plugin span#section-links{display:flex;flex-flow:row wrap}.type-plugin span#section-links .tabs{flex:1 1 auto}@media screen and (max-width:34em){.type-plugin span#section-links{display:block}}.type-plugin #link-support{align-self:flex-end;border-bottom:2px solid #eee;flex:0 0 auto;font-size:.9rem;height:2rem}.type-plugin #link-support a:before{content:"\f125";display:inline-block;font-family:dashicons;font-size:1.2em;margin-right:.4em;max-height:1em;vertical-align:top}@media screen and (max-width:737px){.type-plugin #link-support{padding-right:20px}}@media screen and (max-width:34em){.type-plugin #link-support{border-bottom:0;display:block;margin-left:20px;margin-top:1.5rem;width:100%}}.type-plugin span#developers:target~.entry-content #tab-changelog,.type-plugin span#developers:target~.entry-content #tab-developers,.type-plugin span#developers:target~.entry-content #tab-developers .plugin-development,.type-plugin span#developers:target~.entry-content #tab-developers~button,.type-plugin span#installation:target~.entry-content #tab-installation,.type-plugin span#reviews:not(:target)~span#installation:not(:target)~span#developers:not(:target)~.entry-content #blocks,.type-plugin span#reviews:not(:target)~span#installation:not(:target)~span#developers:not(:target)~.entry-content #faq,.type-plugin span#reviews:not(:target)~span#installation:not(:target)~span#developers:not(:target)~.entry-content #screenshots,.type-plugin span#reviews:not(:target)~span#installation:not(:target)~span#developers:not(:target)~.entry-content #tab-description,.type-plugin span#reviews:not(:target)~span#installation:not(:target)~span#developers:not(:target)~.entry-content #tab-developers,.type-plugin span#reviews:not(:target)~span#installation:not(:target)~span#developers:not(:target)~.entry-content #tab-developers~button,.type-plugin span#reviews:target~.entry-content #tab-reviews{display:block}.type-plugin span#developers:target~.entry-content #tab-developers .plugin-contributors,.type-plugin span#installation:target~.entry-meta .plugin-contributors,.type-plugin span#reviews:not(:target)~span#installation:not(:target)~span#developers:not(:target)~.entry-content #tab-developers .plugin-development,.type-plugin span#reviews:not(:target)~span#installation:not(:target)~span#developers:not(:target)~.entry-meta .plugin-contributors,.type-plugin span#reviews:target~.entry-meta .plugin-contributors,.type-plugin span#reviews:target~.entry-meta .plugin-donate,.type-plugin span#reviews:target~.entry-meta .plugin-meta,.type-plugin span#reviews:target~.entry-meta .plugin-support{display:none}@media screen and (min-width:737px){.type-plugin .entry-content,.type-plugin .entry-meta,.type-plugin .plugin-header{padding-left:0;padding-right:0}.type-plugin .entry-meta{float:right;width:30%}}.plugin-adopt-me{background:#e6f4fa;font-size:.8rem;margin-top:36px;padding:12px}.plugin-adopt-me .widget-title{margin-top:0}.plugin-adopt-me p{margin-bottom:0}.widget.plugin-categorization{margin-top:2rem}.widget.plugin-categorization .widget-head{column-gap:12px;display:flex;flex-flow:row wrap;justify-content:space-between}.widget.plugin-categorization .widget-head h2{flex:1 1 auto;font-size:1rem;font-weight:700;margin-bottom:.2rem;margin-top:0}.widget.plugin-categorization .widget-head a{flex:0 0 auto;font-size:.8rem;line-height:2;text-align:right}.widget.plugin-categorization .widget-head a[href=""]{display:none}.widget.plugin-categorization .widget-head a:after{content:"\f504";font-family:dashicons;margin-left:2px}.widget.plugin-categorization p{font-size:.7rem;margin-top:.5rem}.widget.plugin-categorization~.plugin-meta li:first-child{border-top:1px solid #eee}.committer-list,.support-rep-list{font-size:.8rem;list-style:none;margin:0}.committer-list li,.support-rep-list li{padding-bottom:.5rem}.committer-list li .remove,.support-rep-list li .remove{color:red;visibility:hidden}.committer-list li:hover .remove,.support-rep-list li:hover .remove{visibility:visible}.committer-list .avatar,.support-rep-list .avatar{float:left;margin-right:10px}.committer-list .spinner,.support-rep-list .spinner{position:relative}.committer-list .spinner:after,.support-rep-list .spinner:after{background:url(/wp-admin/images/spinner.gif) no-repeat 50%;background-size:20px 20px;content:"";display:block;height:20px;margin:-10px -10px 0 0;position:absolute;right:-50%;top:50%;transform:translateZ(0);width:20px}@media (-webkit-min-device-pixel-ratio:1.25),(min-resolution:120dpi),print{.committer-list .spinner:after,.support-rep-list .spinner:after{background-image:url(/wp-admin/images/spinner-2x.gif)}}.plugin-contributors.read-more{border-bottom:2px solid #eee;max-height:200px;overflow:hidden;padding-bottom:1px}.plugin-contributors.read-more.toggled{max-height:none}.no-js .plugin-contributors.read-more{max-height:none;overflow:auto}.contributors-list{font-size:.8rem;list-style-type:none;margin:0}.contributors-list li{margin-bottom:1rem}.contributors-list .avatar{float:left;margin-right:10px}.plugin-meta{margin-top:2rem}.plugin-meta ul{font-size:.8rem;list-style-type:none;margin:0;padding:0}.plugin-meta li{border-top:1px solid #eee;display:inline-block;padding:.5rem 0;position:relative;width:100%}.plugin-meta li strong{float:right}.plugin-meta li:first-child{border-top:0}.plugin-meta .languages,.plugin-meta .tags{float:right;text-align:right}.plugin-meta .tags{width:60%}.plugin-meta .languages .popover{margin-top:8px}.plugin-meta .languages .popover-trigger{color:#0073aa;font-weight:600}.plugin-meta .languages .popover-trigger:hover{text-decoration:underline}.plugin-meta [rel=tag]{background:#eee;border-radius:2px;color:#000;display:inline-block;font-size:.64rem;margin:2px;max-width:95%;overflow:hidden;padding:3px 6px;position:relative;text-overflow:ellipsis;white-space:nowrap;width:auto}.plugin-meta [rel=tag]:hover{background:#f3f3f3}.plugin-meta [rel=tag]:active{background:#dfdfdf}.popover{background-color:#fff;border:1px solid #ccc;border-radius:2px;box-shadow:0 2px 10px rgba(0,0,0,.1);display:none;left:0;margin-top:10px;max-width:300px;padding:1em 1em 2em;position:absolute;width:100%;z-index:100}.popover.is-top-right{left:auto;right:0}.popover.is-visible{display:block}.popover .popover-close{bottom:.5em;color:#0073aa;font-size:small;position:absolute;right:.6em}.popover .popover-close:active,.popover .popover-close:focus,.popover .popover-close:hover{text-decoration:underline}.popover .popover-arrow{border:10px solid transparent;border-bottom:10px solid #ccc;border-top:none;height:0;position:absolute;right:20px;top:-10px;width:0;z-index:-1}.popover .popover-arrow:after{border:10px solid transparent;border-bottom:10px solid #fff;border-top:none;content:"";left:-10px;position:absolute;top:2px}.popover .popover-inner{text-align:left}.popover .popover-inner p:first-child{margin-top:0}.popover .popover-inner p:last-child{margin-bottom:0}.plugin-ratings{font-size:.8rem;position:relative}.plugin-ratings .reviews-link{position:absolute;right:0;top:0}.plugin-ratings .reviews-link:after{content:"\f345";font-family:dashicons;padding-left:5px;vertical-align:top}.plugin-ratings [class*=dashicons-star-]{color:#ffb900;display:inline-block;font-size:1.5625rem;height:auto;margin:0;width:auto}.plugin-ratings .ratings-list{list-style-type:none;margin:1rem 0;padding:0}.plugin-ratings .ratings-list .counter-container,.plugin-ratings .ratings-list .counter-container a{text-decoration:none;width:100%}.plugin-ratings .ratings-list .counter-label{display:inline-block;min-width:65px}.plugin-ratings .ratings-list .counter-back,.plugin-ratings .ratings-list .counter-bar{display:inline-block;height:1rem;vertical-align:middle}.plugin-ratings .ratings-list .counter-back{background-color:#ececec;width:58%;width:calc(100% - 130px)}.plugin-ratings .ratings-list .counter-bar{background-color:#ffc733;display:block}.plugin-ratings .ratings-list .counter-count{margin-left:3px}.plugin-support{font-size:.8rem}.plugin-support .counter-container{margin-bottom:1rem;position:relative}.plugin-support .counter-back,.plugin-support .counter-bar{display:inline-block;height:30px;vertical-align:middle}.plugin-support .counter-back{background-color:#ececec;width:100%}.plugin-support .counter-bar{background-color:#c7e8ca;display:block}.plugin-support .counter-count{font-size:.64rem;left:8px;position:absolute;top:8px;width:100%;width:calc(100% - 8px)}@media screen and (min-width:737px){.plugin-support .counter-count{top:5px}}.home .widget,.widget-area.home .widget{display:inline-block;font-size:.8rem;margin:0;vertical-align:top}@media screen and (min-width:737px){.home .widget,.widget-area.home .widget{margin-right:5%;width:30%}.home .widget:last-child,.widget-area.home .widget:last-child{margin-right:0}}.home .widget select,.widget-area.home .widget select{max-width:100%}.entry-meta .widget-title{border:none;color:#32373c;font-size:1.25rem;font-weight:600;padding:0}.widget-area{margin:0 auto;max-width:960px;padding:0 1.5625rem 3.0517578125rem}@media screen and (min-width:737px){.widget-area{padding:0 10px 3.0517578125rem}}
  • sites/trunk/wordpress.org/public_html/wp-content/themes/pub/wporg-plugins/functions.php

    r12643 r13109  
    128128    // The plugin submission page: /developers/add/
    129129    if ( is_page( 'add' ) ) {
    130         wp_enqueue_script( 'wporg-plugins-upload', get_stylesheet_directory_uri() . '/js/upload.js', array( 'wp-api' ), filemtime( __DIR__ . '/js/upload.js' ), true );
     130        wp_enqueue_script( 'wporg-plugins-upload', get_stylesheet_directory_uri() . '/js/upload.js', array( 'wp-api', 'jquery' ), filemtime( __DIR__ . '/js/upload.js' ), true );
    131131    }
    132132
  • sites/trunk/wordpress.org/public_html/wp-content/themes/pub/wporg-plugins/js/upload.js

    r12617 r13109  
    44        var $form = $(e.target),
    55            $errorNotice = $form.find('.notice-error p'),
    6             restEndpoint = 'plugins/v1/upload/' + $form.find('input[name="id"]').val(),
    7             slug = $form.find('input[name="post_name"]').val();
     6            pluginId = $form.find('input[name="id"]').val(),
     7            slug = $form.find('input[name="post_name"]').val(),
     8            restEndpoint = 'plugins/v1/upload/' + pluginId + '/slug';
    89
    910        $form.find('input').prop('disabled', true);
     
    1920            window.location.reload();
    2021        } )
    21         .fail( function( request, statusText ) {
    22             var errorHtml = request?.responseJSON?.message || statusText;
     22        .fail( function( response, statusText ) {
     23            var errorHtml = response?.responseJSON?.message || statusText;
    2324
    2425            $errorNotice.html( errorHtml ).parent().removeClass('hidden');
     
    2728        } );
    2829    } );
     30
     31    // Show the filename on the button when a file is selected.
     32    $( 'input.plugin-file' )
     33        .on( 'change', function( e ) {
     34            var $span = $(this).parent().find('span'),
     35                fileName = e.target.value.split( '\\' ).pop();
     36
     37            if ( ! $span.data( 'defaultText' ) ) {
     38                $span.data( 'defaultText', $span.text() );
     39            }
     40
     41            $span.text( fileName || $span.data( 'defaultText' ) );
     42        } )
     43        .on( 'focus', function() { $(this).parent().addClass( 'focus' ); } )
     44        .on( 'blur', function() { $(this).parent().removeClass( 'focus' ); } );
     45
     46    $( 'a.show-upload-additional').on( 'click', function( e ) {
     47        e.preventDefault();
     48
     49        $(this).hide().parents('ul').find('.plugin-upload-form.hidden').removeClass( 'hidden' );
     50    } );
     51
    2952})( jQuery );
  • sites/trunk/wordpress.org/public_html/wp-content/themes/pub/wporg-plugins/package-lock.json

    r12617 r13109  
    44974497      }
    44984498    },
     4499    "node_modules/@wordpress/scripts/node_modules/prettier": {
     4500      "name": "wp-prettier",
     4501      "version": "2.2.1-beta-1",
     4502      "resolved": "https://registry.npmjs.org/wp-prettier/-/wp-prettier-2.2.1-beta-1.tgz",
     4503      "integrity": "sha512-+JHkqs9LC/JPp51yy1hzs3lQ7qeuWCwOcSzpQNeeY/G7oSpnF61vxt7hRh87zNRTr6ob2ndy0W8rVzhgrcA+Gw==",
     4504      "dev": true,
     4505      "bin": {
     4506        "prettier": "bin-prettier.js"
     4507      },
     4508      "engines": {
     4509        "node": ">=10.13.0"
     4510      }
     4511    },
    44994512    "node_modules/@wordpress/scripts/node_modules/supports-color": {
    45004513      "version": "7.2.0",
     
    1591015923    },
    1591115924    "node_modules/prettier": {
    15912       "name": "wp-prettier",
    15913       "version": "2.2.1-beta-1",
    15914       "resolved": "https://registry.npmjs.org/wp-prettier/-/wp-prettier-2.2.1-beta-1.tgz",
    15915       "integrity": "sha512-+JHkqs9LC/JPp51yy1hzs3lQ7qeuWCwOcSzpQNeeY/G7oSpnF61vxt7hRh87zNRTr6ob2ndy0W8rVzhgrcA+Gw==",
    15916       "dev": true
     15925      "version": "3.2.2",
     15926      "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.2.2.tgz",
     15927      "integrity": "sha512-HTByuKZzw7utPiDO523Tt2pLtEyK7OibUD9suEJQrPUCYQqrHr74GGX6VidMrovbf/I50mPqr8j/II6oBAuc5A==",
     15928      "dev": true,
     15929      "peer": true,
     15930      "bin": {
     15931        "prettier": "bin/prettier.cjs"
     15932      },
     15933      "engines": {
     15934        "node": ">=14"
     15935      },
     15936      "funding": {
     15937        "url": "https://github.com/prettier/prettier?sponsor=1"
     15938      }
    1591715939    },
    1591815940    "node_modules/prettier-linter-helpers": {
     
    1858718609      "dependencies": {
    1858818610        "is-typedarray": "^1.0.0"
     18611      }
     18612    },
     18613    "node_modules/typescript": {
     18614      "version": "5.3.3",
     18615      "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.3.3.tgz",
     18616      "integrity": "sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==",
     18617      "dev": true,
     18618      "peer": true,
     18619      "bin": {
     18620        "tsc": "bin/tsc",
     18621        "tsserver": "bin/tsserver"
     18622      },
     18623      "engines": {
     18624        "node": ">=14.17"
    1858918625      }
    1859018626    },
     
    2307223108          "dev": true
    2307323109        },
     23110        "prettier": {
     23111          "version": "npm:wp-prettier@2.2.1-beta-1",
     23112          "resolved": "https://registry.npmjs.org/wp-prettier/-/wp-prettier-2.2.1-beta-1.tgz",
     23113          "integrity": "sha512-+JHkqs9LC/JPp51yy1hzs3lQ7qeuWCwOcSzpQNeeY/G7oSpnF61vxt7hRh87zNRTr6ob2ndy0W8rVzhgrcA+Gw==",
     23114          "dev": true
     23115        },
    2307423116        "supports-color": {
    2307523117          "version": "7.2.0",
     
    3158331625    },
    3158431626    "prettier": {
    31585       "version": "npm:wp-prettier@2.2.1-beta-1",
    31586       "resolved": "https://registry.npmjs.org/wp-prettier/-/wp-prettier-2.2.1-beta-1.tgz",
    31587       "integrity": "sha512-+JHkqs9LC/JPp51yy1hzs3lQ7qeuWCwOcSzpQNeeY/G7oSpnF61vxt7hRh87zNRTr6ob2ndy0W8rVzhgrcA+Gw==",
    31588       "dev": true
     31627      "version": "3.2.2",
     31628      "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.2.2.tgz",
     31629      "integrity": "sha512-HTByuKZzw7utPiDO523Tt2pLtEyK7OibUD9suEJQrPUCYQqrHr74GGX6VidMrovbf/I50mPqr8j/II6oBAuc5A==",
     31630      "dev": true,
     31631      "peer": true
    3158931632    },
    3159031633    "prettier-linter-helpers": {
     
    3365733700      }
    3365833701    },
     33702    "typescript": {
     33703      "version": "5.3.3",
     33704      "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.3.3.tgz",
     33705      "integrity": "sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==",
     33706      "dev": true,
     33707      "peer": true
     33708    },
    3365933709    "uc.micro": {
    3366033710      "version": "1.0.6",
Note: See TracChangeset for help on using the changeset viewer.