Making WordPress.org

Changeset 13109


Ignore:
Timestamp:
01/15/2024 05:23:52 AM (3 years 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.