diff --git a/.github/workflows/phpcs.yml b/.github/workflows/phpcs.yml index 66809a4528..75e876b25e 100644 --- a/.github/workflows/phpcs.yml +++ b/.github/workflows/phpcs.yml @@ -18,6 +18,9 @@ concurrency: group: ${{ github.workflow }}-${{ github.ref }}-${{ github.event_name == 'push' && github.sha || '' }} cancel-in-progress: true +permissions: + contents: read + jobs: phpcs: name: PHP Coding Standards @@ -27,6 +30,7 @@ jobs: - uses: actions/checkout@v7 with: fetch-depth: 0 + persist-credentials: false - name: Set up PHP uses: shivammathur/setup-php@v2 @@ -47,4 +51,6 @@ jobs: run: composer install --no-interaction --prefer-dist - name: Lint PHP - run: BASE_REF=${{ github.base_ref }} php .github/bin/phpcs-branch.php + run: php .github/bin/phpcs-branch.php + env: + BASE_REF: ${{ github.base_ref }} diff --git a/.github/workflows/plugins-theme-lint.yml b/.github/workflows/plugins-theme-lint.yml new file mode 100644 index 0000000000..1148d4e633 --- /dev/null +++ b/.github/workflows/plugins-theme-lint.yml @@ -0,0 +1,49 @@ +name: Static Analysis (Plugin Directory Theme JS) + +on: + pull_request: + paths: + - 'wordpress.org/public_html/wp-content/themes/pub/wporg-plugins-2024/**.js' + - 'wordpress.org/public_html/wp-content/themes/pub/wporg-plugins-2024/package.json' + - .github/workflows/plugins-theme-lint.yml + push: + branches: [trunk] + paths: + - 'wordpress.org/public_html/wp-content/themes/pub/wporg-plugins-2024/**.js' + - 'wordpress.org/public_html/wp-content/themes/pub/wporg-plugins-2024/package.json' + - .github/workflows/plugins-theme-lint.yml + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + +permissions: + contents: read + +jobs: + lint: + name: Plugin Directory Theme Coding Standards + runs-on: ubuntu-latest + + defaults: + run: + working-directory: wordpress.org/public_html/wp-content/themes/pub/wporg-plugins-2024 + + steps: + - uses: actions/checkout@v7 + with: + persist-credentials: false + + - name: Set up Node.js + uses: actions/setup-node@v7 + with: + node-version-file: environments/.nvmrc + cache: npm + cache-dependency-path: wordpress.org/public_html/wp-content/themes/pub/wporg-plugins-2024/package.json + + # The repository ignores package-lock.json, so resolve from package.json. + - name: Install dependencies + run: npm install --no-package-lock --no-audit --no-fund --ignore-scripts + + - name: Lint JavaScript + run: npm run lint:js diff --git a/.github/workflows/style-lint.yml b/.github/workflows/style-lint.yml index f5e551ed98..ca24ced6d9 100644 --- a/.github/workflows/style-lint.yml +++ b/.github/workflows/style-lint.yml @@ -25,6 +25,9 @@ concurrency: group: ${{ github.workflow }}-${{ github.ref }} cancel-in-progress: true +permissions: + contents: read + jobs: lint: name: Style Coding Standards @@ -36,6 +39,8 @@ jobs: steps: - uses: actions/checkout@v7 + with: + persist-credentials: false - name: Set up Node.js uses: actions/setup-node@v7 @@ -45,7 +50,7 @@ jobs: cache-dependency-path: wordpress.org/public_html/style/package-lock.json - name: Install dependencies - run: npm ci + run: npm ci --ignore-scripts - name: Lint JavaScript run: npm run lint:js diff --git a/wordpress.org/public_html/wp-content/themes/pub/wporg-plugins-2024/.eslintignore b/wordpress.org/public_html/wp-content/themes/pub/wporg-plugins-2024/.eslintignore deleted file mode 100644 index 69d3adc21b..0000000000 --- a/wordpress.org/public_html/wp-content/themes/pub/wporg-plugins-2024/.eslintignore +++ /dev/null @@ -1,4 +0,0 @@ -/*.js -/js -node_modules -image-gallery.js diff --git a/wordpress.org/public_html/wp-content/themes/pub/wporg-plugins-2024/build/blocks/plugin-card/view.asset.php b/wordpress.org/public_html/wp-content/themes/pub/wporg-plugins-2024/build/blocks/plugin-card/view.asset.php index 80bd167181..1e02757f74 100644 --- a/wordpress.org/public_html/wp-content/themes/pub/wporg-plugins-2024/build/blocks/plugin-card/view.asset.php +++ b/wordpress.org/public_html/wp-content/themes/pub/wporg-plugins-2024/build/blocks/plugin-card/view.asset.php @@ -1 +1 @@ - array(), 'version' => '84dce221de83bef91ccd'); + array(), 'version' => '57b8322b0117c4deb1bf'); \ No newline at end of file diff --git a/wordpress.org/public_html/wp-content/themes/pub/wporg-plugins-2024/build/blocks/plugin-card/view.js b/wordpress.org/public_html/wp-content/themes/pub/wporg-plugins-2024/build/blocks/plugin-card/view.js index 843d785b74..00b0e98668 100644 --- a/wordpress.org/public_html/wp-content/themes/pub/wporg-plugins-2024/build/blocks/plugin-card/view.js +++ b/wordpress.org/public_html/wp-content/themes/pub/wporg-plugins-2024/build/blocks/plugin-card/view.js @@ -1 +1 @@ -document.addEventListener("DOMContentLoaded",function(){var e=document.querySelectorAll(".plugin-cards li");e&&e.forEach(function(e){e.addEventListener("click",function(t){var n=window.getSelection().toString();if("a"!==t.target.tagName.toLowerCase()&&""===n){var o=e.querySelector("a");if(o){var r=o.getAttribute("href");window.location.href=r}}})})}); \ No newline at end of file +document.addEventListener("DOMContentLoaded",function(){const e=document.querySelectorAll(".plugin-cards li");e&&e.forEach(function(e){e.addEventListener("click",function(t){if("a"===t.target.tagName.toLowerCase())return;if(""!==e.ownerDocument.defaultView.getSelection().toString())return;const n=e.querySelector("a");if(n){const e=n.getAttribute("href");window.location.href=e}})})}); \ No newline at end of file diff --git a/wordpress.org/public_html/wp-content/themes/pub/wporg-plugins-2024/build/style-rtl.css b/wordpress.org/public_html/wp-content/themes/pub/wporg-plugins-2024/build/style-rtl.css index 190239ee63..73e4721080 100644 --- a/wordpress.org/public_html/wp-content/themes/pub/wporg-plugins-2024/build/style-rtl.css +++ b/wordpress.org/public_html/wp-content/themes/pub/wporg-plugins-2024/build/style-rtl.css @@ -1 +1 @@ -@charset "utf-8";.avatar{border-radius:50%;vertical-align:middle}.wp-block-wporg-language-suggest>p{margin:0}.block-validator>details summary{padding:var(--wp--style--block-gap) 0}.block-validator .block-validator__plugin-form label{display:block;margin-bottom:.8em}.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:4px}@media(max-width:36rem){.block-validator .block-validator__plugin-submit{width:100%}.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:var(--wp--style--block-gap)}}.block-validator .notice details,.block-validator .notice p{font-size:var(--wp--preset--font-size--normal);margin:var(--wp--style--block-gap) 0}.block-validator .notice details p{font-size:var(--wp--preset--font-size--small);margin-right:1rem}.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}.block-validator .plugin-upload-form-controls{align-items:center;display:flex;gap:4px}.block-validator .plugin-upload-form-controls>label{border:1px solid var(--wp--custom--form--border--color);border-radius:var(--wp--custom--form--border--radius);cursor:pointer;min-width:200px;padding:4px 8px}.notice{background:#fff;border-right:4px solid #fff;box-shadow:0 1px 1px 0 #0000001a;font-size:var(--wp--preset--font-size--small);margin:var(--wp--style--block-gap) 0;padding:1px 12px}.notice p,.notice ul{margin:.5em 0;padding:2px}.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:var(--wp--preset--font-size--small)}.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 .zip-file{display:inline-block}.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}.plugin-submission-item .plugin-submission-file>div,.plugin-submission-item>div{margin-bottom:.4rem;margin-top:.4rem}.plugin-submission-item .plugin-submission-name{font-size:1.2rem;font-weight:700}.plugin-submission-item .plugin-submission-email+.plugin-submission-email-clarification{margin-top:-.4rem}.plugin-submission-item .plugin-submission-email-clarification{font-size:85%}.plugin-submission-item .plugin-submission-update-code{margin-bottom:1rem;margin-top:.6rem}.plugin-submission-item .plugin-submission-update-code .show-upload-additional{display:inline-block}.plugin-submission-item .plugin-submission-file{border-inline-start:2px solid #000;padding:.4rem 1rem}.plugin-submission-item .plugin-submission-file .plugin-submission-file__meta th{text-align:start}.plugin-submission-item .plugin-submission-file .plugin-submission-file__pcp{display:inline-block}.plugin-submission-item .plugin-submission-file+.plugin-submission-file{margin-top:1rem}:where(main) a:where(:not(.wp-element-button,.wp-block-wporg-link-wrapper)):focus,:where(main) button:where(:not([class*=wp-block-button])):focus{border-radius:2px;box-shadow:0 0 0 1.5px currentColor;outline:none}.wporg-filter-bar{--wporg--filter-bar--gap:20px;--wporg--filter-bar--color:#40464d;--wporg--filter-bar--active--background-color:var(--wp--custom--button--color--background);--wporg--filter-bar--focus--border-color:var(--wp--custom--button--focus--border--color);margin:var(--wp--style--block-gap) 0}.wporg-filter-bar .wporg-query-filter__toggle.is-active,.wporg-filter-bar .wporg-query-filter__toggle:active,.wporg-filter-bar .wporg-query-filter__toggle:focus{background-color:var(--wporg--filter-bar--active--background-color);color:var(--wp--custom--button--color--text)}.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;padding-right: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;width:100%}.wporg-filter-bar .wporg-filter-bar__navigation{margin-bottom:0}}.wp-block-search__inside-wrapper{background:var(--wp--preset--color--light-grey-2);border:none}.button-link{background:none;border:0;border-radius:0;box-shadow:none;cursor:pointer;margin:0;outline:none;padding:0}.button{background-color:var(--wp--custom--button--color--background);border:0;border-radius:var(--wp--custom--button--border--radius);color:var(--wp--custom--button--color--text);cursor:pointer;opacity:1;padding:calc(var(--wp--custom--button--small--spacing--padding--top) + var(--wp--custom--button--border--width)) calc(var(--wp--custom--button--small--spacing--padding--left) + var(--wp--custom--button--border--width)) calc(var(--wp--custom--button--small--spacing--padding--bottom) + var(--wp--custom--button--border--width)) calc(var(--wp--custom--button--small--spacing--padding--right) + var(--wp--custom--button--border--width));vertical-align:middle}.button.button-large{padding:calc(var(--wp--custom--button--spacing--padding--top) + var(--wp--custom--button--border--width)) calc(var(--wp--custom--button--spacing--padding--left) + var(--wp--custom--button--border--width)) calc(var(--wp--custom--button--spacing--padding--bottom) + var(--wp--custom--button--border--width)) calc(var(--wp--custom--button--spacing--padding--right) + var(--wp--custom--button--border--width))}input+button.button,select+button.button{margin-top:-3px}.button.disabled{cursor:not-allowed;opacity:.6}.wp-block-post-content a.button{text-decoration:none}.wp-block-button__link{width:auto}pre{background-color:#f7f7f7;border:1px solid var(--wp--preset--color--light-grey-1);overflow:scroll;padding:20px}code,pre{border-radius:2px}code{background:var(--wp--preset--color--light-grey-2);display:inline-block;line-height:var(--wp--custom--body--extra-small--typography--line-height);max-width:100%;padding-inline-end:3px;padding-inline-start:3px}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}.plugin-card{display:flex;flex-direction:column;height:100%;justify-content:space-between}.plugin-card .entry{display:inline-block;vertical-align:top}.plugin-card .entry-title{display:block;display:-webkit-box;font-size:var(--wp--preset--font-size--heading-5);font-weight:500;-webkit-line-clamp:2;line-height:1.3;margin-bottom:2px!important;max-height:2.6em;overflow:hidden;-webkit-box-orient:vertical}.plugin-card .entry-title a{display:block;text-decoration:none}.plugin-card .entry-title a:focus{box-shadow:none}.plugin-card .entry-excerpt{clear:both;font-size:var(--wp--preset--font-size--small)}.plugin-card .entry-excerpt p{margin:0}.plugin-card footer{font-size:var(--wp--preset--font-size--small);margin-top:var(--wp--style--block-gap)}.plugin-card footer span{color:var(--wp--preset--color--charcoal-4);display:inline-block;line-height:var(--wp--preset--font-size--normal);overflow:hidden}.plugin-card footer span.plugin-author{width:100%}.plugin-card footer span.plugin-author span{color:var(--wp--preset--color--charcoal-1)}.plugin-card footer span.plugin-author path{fill:var(--wp--preset--color--charcoal-1)}.plugin-card footer span svg{height:24px;vertical-align:bottom;width:24px}.plugin-card footer span svg path{fill:var(--wp--preset--color--charcoal-4)}.plugin-card footer span.active-installs{min-width:48%}.plugin-cards .is-style-cards-grid li{cursor:pointer}.plugin-cards .is-style-cards-grid li:hover{background-color:#fff!important;border:1px solid var(--wp--preset--color--charcoal-1)!important}.plugin-cards .is-style-cards-grid li:focus-within{border-color:#0000;border-radius:2px;box-shadow:0 0 0 1.5px var(--wp--custom--link--color--text)}@media screen and (max-width:737px){.plugin-cards .is-style-cards-grid{grid-template-columns:100%}}.entry-thumbnail{display:none;margin-bottom:var(--wp--style--block-gap);margin-left:var(--wp--style--block-gap);max-width:80px}.entry-thumbnail .plugin-icon{background-size:cover;border-radius:var(--wp--custom--button--border--radius);display:block;height:80px;width:80px}@media screen and (min-width:21em){.entry-thumbnail{display:inline-block;float:right;vertical-align:top}}.single .entry-thumbnail{display:none;float:right;height:96px;margin-bottom:0;max-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:var(--wp--preset--color--charcoal-4);font-size:var(--wp--preset--font-size--extra-small);vertical-align:text-bottom}.plugin-rating .rating-count a{color:inherit;cursor:hand;text-decoration:none}[class*=dashicons-star-]{color:var(--wp--preset--color--pomegrade-1)}.rtl .dashicons-star-half{transform:rotateY(-180deg)}#main .plugin-section{margin:0 auto var(--wp--preset--spacing--60)}#main .plugin-section:last-of-type{margin-bottom:0}#main .plugin-section .section-header{align-items:center;column-gap:10px;display:flex;justify-content:space-between;margin-bottom:var(--wp--style--block-gap)}#main .plugin-section .section-header>h2{margin-bottom:0}#main .plugin-section .section-link{align-self:center;flex:0 0 auto;text-decoration:underline}.pagination .nav-links{margin-top:var(--wp--style--block-gap);padding-top:var(--wp--style--block-gap);text-align:center}.pagination .nav-links a{text-decoration:none}.pagination .nav-links .page-numbers{cursor:pointer;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{display:inline-block;font-size:medium;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{font-weight:700}.pagination .nav-links span.page-numbers.current{text-decoration:underline}@keyframes favme-anime{0%{font-size:var(--wp--preset--font-size--large);opacity:1;-webkit-text-stroke-color:#0000}25%{color:#fff;font-size:var(--wp--preset--font-size--small);opacity:.6;-webkit-text-stroke-width:1px;-webkit-text-stroke-color:#dc3232}75%{color:#fff;font-size:var(--wp--preset--font-size--large);opacity:.6;-webkit-text-stroke-width:1px;-webkit-text-stroke-color:#dc3232}to{font-size:var(--wp--preset--font-size--normal);opacity:1;-webkit-text-stroke-color:#0000}}.plugin-favorite{height:calc(var(--wp--custom--button--spacing--padding--top)*2 + var(--wp--preset--font-size--normal)*2);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:var(--wp--preset--font-size--large);height:100%;justify-content:center;line-height:1;margin:0;outline:none;padding:0;text-decoration:none}.plugin-favorite .plugin-favorite-heart.favorited{color:#dc3232}.plugin-favorite .plugin-favorite-heart:focus,.plugin-favorite .plugin-favorite-heart:hover{color:var(----wp--preset--color--charcoal-2);text-decoration:none}.plugin-favorite .plugin-favorite-heart:after{content:"";font-family:dashicons;vertical-align:top}.plugin-banner img{aspect-ratio:3.089;border-radius:var(--wp--custom--button--border--radius);display:block;margin:0 auto var(--wp--preset--spacing--30);width:100%}@keyframes hideAnimation{to{visibility:hidden}}.categorization .help{color:var(--wp--preset--color--charcoal-4);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 code{font-size:var(--wp--preset--font-size--small)}.plugin-developers .contributors-list li{align-items:center;display:flex;padding-bottom:var(--wp--style--block-gap)}@media screen and (min-width:500px){.plugin-developers .contributors-list{display:flex;flex-wrap:wrap}.plugin-developers .contributors-list li{padding-bottom:unset;width:50%}}.plugin-faq dl{border-bottom:1px solid var(--wp--preset--color--light-grey-1)}.plugin-faq dt{border-top:1px solid var(--wp--preset--color--light-grey-1);cursor:pointer;padding:1rem 0}.plugin-faq dt:before{content:"";float:left;font-family:dashicons;margin:0 1rem}.plugin-faq dt.open:before{content:""}.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:var(--wp--custom--link--color--text);display:inline;font-size:var(--wp--preset--font-size--normal);font-weight:400;margin-bottom:0;margin-top:0!important;text-decoration:underline}.plugin-faq dt h3 button{all:inherit;max-width:calc(100% - 60px)}.plugin-faq dt h3 button:focus,.plugin-faq dt h3 button:hover{text-decoration:underline}.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:var(--wp--preset--color--light-grey-1);display:none;font-size:48px;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 var(--wp--preset--color--light-grey-1);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:""}.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:""}.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:var(--wp--preset--color--light-grey-2);color:var(--wp--preset--color--charcoal-1);font-size:var(--wp--preset--font-size--small);line-height:1.5;padding:10px 20px;white-space:normal}@media(max-width:768px){.image-gallery-slide .image-gallery-description{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:inline-block;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:1px solid var(--wp--preset--color--light-grey-1);margin:2rem 0 1rem;padding-bottom:1rem}.plugin-reviews .plugin-review a{text-decoration:none}.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-top:4px}.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:var(--wp--preset--font-size--normal);font-weight:500;margin:2px 12px 0 0!important;text-transform:inherit}.plugin-reviews .review-author,.plugin-reviews .review-date,.plugin-reviews .review-replies{font-size:var(--wp--preset--font-size--extra-small);line-height:1.25}.plugin-reviews .review-date,.plugin-reviews .review-replies{color:var(--wp--preset--color--charcoal-4);font-size:var(--wp--preset--font-size--extra-small);margin-right:12px}.plugin-reviews .review-replies:before{content:"•";margin-left:12px}.plugin-reviews .review-content{margin:1em 0}@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}}.plugin-reviews .reviews-link{display:inline-block;font-size:var(--wp--preset--font-size--small);text-decoration:none}.plugin-reviews .reviews-link:after{content:"";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 .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;max-width:100%}.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:32px;vertical-align:middle}}hr{margin:2.5rem auto}.section h1:nth-child(2),.section h2:nth-child(2),.section h3:nth-child(2),.section h4:nth-child(2),.section h5:nth-child(2),.section h6:nth-child(2){margin-top:0}.section-heading{font-family:var(--wp--preset--font-family--inter)!important;font-size:var(--wp--preset--font-size--heading-5)!important;font-style:normal;font-weight:600;line-height:var(--wp--custom--heading--level-5--typography--line-height)}.section-intro{color:var(--wp--preset--color--charcoal-4);font-size:var(--wp--preset--font-size--small);margin-bottom:var(--wp--preset--spacing--20);margin-top:var(--wp--preset--spacing--10)}.type-plugin .plugin-notice{margin-top:0}.type-plugin .plugin-header:after,.type-plugin .plugin-header:before{content:"";display:table;table-layout:fixed}.type-plugin .plugin-header:after{clear:both}.type-plugin .plugin-header{border-bottom:0;padding-top:var(--wp--preset--spacing--40)}.type-plugin .plugin-header .entry-heading-container{display:flex;flex-direction:column;justify-content:space-between}@media screen and (max-width:599px){.type-plugin .plugin-header .entry-heading-container{--wp--custom--button--spacing--padding--top:12px;--wp--custom--button--spacing--padding--bottom:12px;--wp--custom--button--spacing--padding--left:16px;--wp--custom--button--spacing--padding--right:16px}}@media screen and (min-width:700px){.type-plugin .plugin-header .entry-heading-container{flex-direction:row}}.type-plugin .plugin-header .entry-heading-container>:first-child{align-items:center;display:flex;flex:1}.type-plugin .plugin-header .plugin-actions{align-items:center;display:flex;gap:16px;margin-top:var(--wp--style--block-gap)}@media screen and (min-width:700px){.type-plugin .plugin-header .plugin-actions{margin-top:0;margin-inline-start:1rem}}.type-plugin .plugin-header .plugin-actions>.button,.type-plugin .plugin-header .plugin-actions>div{display:inline-block;text-align:center}@media screen and (max-width:34em){.type-plugin .plugin-header .plugin-actions>.button.download-button{display:none}}.type-plugin .plugin-header .plugin-title{clear:none;font-size:var(--wp--preset--font-size--heading-3);font-weight:400;line-height:var(--wp--custom--heading--level-3--typography--line-height);margin:0}.type-plugin .plugin-header .plugin-title a{color:inherit;text-decoration:none}.type-plugin .plugin-header .plugin-title a:hover{text-decoration:underline}.type-plugin .plugin-header .byline{color:var(--wp--preset--color--charcoal-4);display:block;margin-top:4px}.type-plugin .plugin-banner+.plugin-header{padding-top:0}.type-plugin .plugin-banner+.plugin-header>.notice:first-of-type{margin-top:0}.type-plugin .tabs{border-bottom:1px solid var(--wp--preset--color--light-grey-1);list-style:none;margin:0}.type-plugin .tabs li{border:1px solid #0000;display:inline-block;font-size:.9rem;margin-bottom:-1px;transition:background .2s ease}.type-plugin .tabs li a{background:#fff;border:0;color:var(--wp--preset--color--charcoal-1);display:block;font-size:var(--wp--preset--font-size--normal);padding:.64rem 1.25rem;text-decoration:none}.type-plugin .tabs li a.active,.type-plugin .tabs li a:hover{background:var(--wp--preset--color--light-grey-2)!important}.type-plugin .tabs li.active,.type-plugin .tabs li:hover{border:1px solid var(--wp--preset--color--light-grey-1)}@media screen and (max-width:38em){.type-plugin .tabs{border-top:1px solid var(--wp--preset--color--light-grey-1)}.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 var(--wp--preset--color--light-grey-1)}}@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 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;padding-right:0}.type-plugin .plugin-blocks-list .plugin-blocks-list-item{display:grid;grid-template-columns:auto 1fr;margin-bottom:var(--wp--style--block-gap)}.type-plugin .plugin-blocks-list .block-icon{border:1px solid var(--wp--preset--color--light-grey-1);border-radius:2px;display:inline-block;height:3.5rem;line-height:16px;margin-left:var(--wp--style--block-gap);padding:var(--wp--style--block-gap);width:3.5rem}.type-plugin .plugin-blocks-list .block-icon.dashicons{color:inherit}.type-plugin .plugin-blocks-list .block-icon.dashicons:before{margin-right:-3px}.type-plugin .plugin-blocks-list .block-icon svg{fill:currentColor;height:16px;margin-right:-1px;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:.4em}.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:1px solid var(--wp--preset--color--light-grey-1);border-bottom:0;padding-bottom:1px}@media screen and (max-width:38em){.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:1px!important}}.type-plugin span#section-links{display:flex;flex-flow:row wrap;margin-top:var(--wp--preset--spacing--30)}.type-plugin span#section-links .tabs{flex:1 1 auto;padding-right:0}@media screen and (max-width:38em){.type-plugin span#section-links .tabs{border:1px solid var(--wp--preset--color--light-grey-1)!important}.type-plugin span#section-links .tabs li{border:none!important}.type-plugin span#section-links{display:block}}.type-plugin #link-support{align-self:flex-end;border-bottom:1px solid var(--wp--preset--color--light-grey-1);flex:0 0 auto;font-size:.9rem}.type-plugin #link-support a{display:inline-block;font-size:var(--wp--preset--font-size--normal);padding:.64rem 1.25rem .64rem 0}@media screen and (max-width:38em){.type-plugin #link-support{border-bottom:0;display:block;width:100%}.type-plugin #link-support a{padding-left:1.25rem}}.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{padding-right:0;padding-left:0}.type-plugin .entry-meta{float:left;width:30%}}.type-plugin .plugin-danger-zone h4{margin-top:var(--wp--preset--spacing--60)}.plugin-releases-listing{border-collapse:collapse;width:100%}.plugin-releases-listing tbody td:nth-child(4) div{font-size:14px}.plugin-releases-listing-actions{display:flex;flex-direction:column;gap:8px}@media screen and (min-width:34em){.plugin-releases-listing-actions{flex-direction:row}}.plugin-adopt-me{background:#e6f4fa;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:var(--wp--style--block-gap)}.widget.plugin-categorization .widget-head h2{font-size:var(--wp--preset--font-size--heading-4);margin-bottom:.2rem;margin-top:0}.widget.plugin-categorization .widget-head a{font-size:var(--wp--preset--font-size--small)}.widget.plugin-categorization .widget-head a[href=""]{display:none}.widget.plugin-categorization p{font-size:var(--wp--preset--font-size--small);margin-top:.5rem}.widget.plugin-categorization~.plugin-meta li:first-child{border-top:1px solid var(--wp--preset--color--light-grey-1)}.committer-list,.support-rep-list{list-style:none;margin:0;padding: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)}}.committer-list .new,.support-rep-list .new{margin-top:var(--wp--style--block-gap)}.plugin-contributors.read-more{border-bottom:1px solid var(--wp--preset--color--light-grey-1);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{list-style-type:none;margin:0;padding:0}.contributors-list li{align-items:center;display:flex;margin-bottom:1rem}.contributors-list .avatar{float:right;margin-left:10px}.plugin-meta{font-size:var(--wp--preset--font-size--small);margin-top:var(--wp--style--block-gap)}.plugin-meta ul{list-style-type:none;margin:0;padding:0}.plugin-meta li{border-top:1px solid var(--wp--preset--color--light-grey-1);display:inline-block;padding:.5rem 0;position:relative;width:100%}.plugin-meta li strong{float:left;font-weight:500}.plugin-meta li .plugin-admin{font-size:var(--wp--preset--font-size--normal);font-weight:400}.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 button{font-size:var(--wp--preset--font-size--small);outline:revert}.plugin-meta .languages .popover{margin-top:8px}.plugin-meta .languages .popover-trigger{color:var(--wp--custom--link--color--text);text-decoration:underline}.plugin-meta .languages .popover-trigger:hover{text-decoration:underline}.plugin-meta [rel=tag]{background:var(--wp--preset--color--blueberry-4);border-radius:2px;color:var(--wp--preset--color--charcoal-1);display:inline-block;font-size:var(--wp--preset--font-size--extra-small);margin:2px;max-width:95%;overflow:hidden;padding:3px 6px;position:relative;text-decoration:none;text-overflow:ellipsis;white-space:nowrap;width:auto}.plugin-meta [rel=tag]:hover{text-decoration:underline}.popover{background-color:#fff;border:1px solid var(--wp--preset--color--light-grey-1);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:var(--wp--custom--link--color--text);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-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:var(--wp--preset--color--light-grey-2);width:100%}.plugin-support .counter-bar{background-color:var(--wp--preset--color--acid-green-2);display:block}.plugin-support .counter-count{font-size:var(--wp--preset--font-size--extra-small);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:var(--wp--preset--font-size--small);margin:0;margin:var(--wp--style--block-gap);vertical-align:top;width:auto}@media screen and (min-width:737px){.home .widget,.widget-area.home .widget{margin:0;width:30%}.home .widget:first-child,.widget-area.home .widget:first-child{margin-left:5%}.home .widget:last-child,.widget-area.home .widget:last-child{margin-right:5%}}.home .widget select,.widget-area.home .widget select{max-width:100%}.entry-meta .widget-title{font-size:var(--wp--preset--font-size--heading-4)}body.single.single-plugin .entry-meta{font-size:var(--wp--preset--font-size--normal)}.widget-area{margin:0 auto;padding:var(--wp--preset--spacing--40) 0}.widget-area .widget-title{font-size:var(--wp--preset--font-size--heading-1);font-weight:var(--wp--custom--heading--typography--font-weight);margin-top:var(--wp--preset--spacing--50)}.widget-area .textwidget{text-wrap:pretty} +@charset "utf-8";.avatar{border-radius:50%;vertical-align:middle}.wp-block-wporg-language-suggest>p{margin:0}.block-validator>details summary{padding:var(--wp--style--block-gap) 0}.block-validator .block-validator__plugin-form label{display:block;margin-bottom:.8em}.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:4px}@media(max-width:36rem){.block-validator .block-validator__plugin-submit{width:100%}.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:var(--wp--style--block-gap)}}.block-validator .notice details,.block-validator .notice p{font-size:var(--wp--preset--font-size--normal);margin:var(--wp--style--block-gap) 0}.block-validator .notice details p{font-size:var(--wp--preset--font-size--small);margin-right:1rem}.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}.block-validator .plugin-upload-form-controls{align-items:center;display:flex;gap:4px}.block-validator .plugin-upload-form-controls>label{border:1px solid var(--wp--custom--form--border--color);border-radius:var(--wp--custom--form--border--radius);cursor:pointer;min-width:200px;padding:4px 8px}.notice{background:#fff;border-right:4px solid #fff;box-shadow:0 1px 1px 0 #0000001a;font-size:var(--wp--preset--font-size--small);margin:var(--wp--style--block-gap) 0;padding:1px 12px}.notice p,.notice ul{margin:.5em 0;padding:2px}.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:var(--wp--preset--font-size--small)}.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 .zip-file{display:inline-block}.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}.plugin-submission-item .plugin-submission-file>div,.plugin-submission-item>div{margin-bottom:.4rem;margin-top:.4rem}.plugin-submission-item .plugin-submission-name{font-size:1.2rem;font-weight:700}.plugin-submission-item .plugin-submission-email+.plugin-submission-email-clarification{margin-top:-.4rem}.plugin-submission-item .plugin-submission-email-clarification{font-size:85%}.plugin-submission-item .plugin-submission-update-code{margin-bottom:1rem;margin-top:.6rem}.plugin-submission-item .plugin-submission-update-code .show-upload-additional{display:inline-block}.plugin-submission-item .plugin-submission-file{border-inline-start:2px solid #000;padding:.4rem 1rem}.plugin-submission-item .plugin-submission-file .plugin-submission-file__meta th{text-align:start}.plugin-submission-item .plugin-submission-file .plugin-submission-file__pcp{display:inline-block}.plugin-submission-item .plugin-submission-file+.plugin-submission-file{margin-top:1rem}:where(main) a:where(:not(.wp-element-button,.wp-block-wporg-link-wrapper)):focus,:where(main) button:where(:not([class*=wp-block-button])):focus{border-radius:2px;box-shadow:0 0 0 1.5px currentColor;outline:none}.wporg-filter-bar{--wporg--filter-bar--gap:20px;--wporg--filter-bar--color:#40464d;--wporg--filter-bar--active--background-color:var(--wp--custom--button--color--background);--wporg--filter-bar--focus--border-color:var(--wp--custom--button--focus--border--color);margin:var(--wp--style--block-gap) 0}.wporg-filter-bar .wporg-query-filter__toggle.is-active,.wporg-filter-bar .wporg-query-filter__toggle:active,.wporg-filter-bar .wporg-query-filter__toggle:focus{background-color:var(--wporg--filter-bar--active--background-color);color:var(--wp--custom--button--color--text)}.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;padding-right: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;width:100%}.wporg-filter-bar .wporg-filter-bar__navigation{margin-bottom:0}}.wp-block-search__inside-wrapper{background:var(--wp--preset--color--light-grey-2);border:none}.button-link{background:none;border:0;border-radius:0;box-shadow:none;cursor:pointer;margin:0;outline:none;padding:0}.button{background-color:var(--wp--custom--button--color--background);border:0;border-radius:var(--wp--custom--button--border--radius);color:var(--wp--custom--button--color--text);cursor:pointer;opacity:1;padding:calc(var(--wp--custom--button--small--spacing--padding--top) + var(--wp--custom--button--border--width)) calc(var(--wp--custom--button--small--spacing--padding--left) + var(--wp--custom--button--border--width)) calc(var(--wp--custom--button--small--spacing--padding--bottom) + var(--wp--custom--button--border--width)) calc(var(--wp--custom--button--small--spacing--padding--right) + var(--wp--custom--button--border--width));vertical-align:middle}.button.button-large{padding:calc(var(--wp--custom--button--spacing--padding--top) + var(--wp--custom--button--border--width)) calc(var(--wp--custom--button--spacing--padding--left) + var(--wp--custom--button--border--width)) calc(var(--wp--custom--button--spacing--padding--bottom) + var(--wp--custom--button--border--width)) calc(var(--wp--custom--button--spacing--padding--right) + var(--wp--custom--button--border--width))}input+button.button,select+button.button{margin-top:-3px}.button.disabled{cursor:not-allowed;opacity:.6}.wp-block-post-content a.button{text-decoration:none}.wp-block-button__link{width:auto}pre{background-color:#f7f7f7;border:1px solid var(--wp--preset--color--light-grey-1);overflow:scroll;padding:20px}code,pre{border-radius:2px}code{background:var(--wp--preset--color--light-grey-2);display:inline-block;line-height:var(--wp--custom--body--extra-small--typography--line-height);max-width:100%;padding-inline-end:3px;padding-inline-start:3px}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}.plugin-card{display:flex;flex-direction:column;height:100%;justify-content:space-between}.plugin-card .entry{display:inline-block;vertical-align:top}.plugin-card .entry-title{display:block;display:-webkit-box;font-size:var(--wp--preset--font-size--heading-5);font-weight:500;-webkit-line-clamp:2;line-height:1.3;margin-bottom:2px!important;max-height:2.6em;overflow:hidden;-webkit-box-orient:vertical}.plugin-card .entry-title a{display:block;text-decoration:none}.plugin-card .entry-title a:focus{box-shadow:none}.plugin-card .entry-excerpt{clear:both;font-size:var(--wp--preset--font-size--small)}.plugin-card .entry-excerpt p{margin:0}.plugin-card footer{font-size:var(--wp--preset--font-size--small);margin-top:var(--wp--style--block-gap)}.plugin-card footer span{color:var(--wp--preset--color--charcoal-4);display:inline-block;line-height:var(--wp--preset--font-size--normal);overflow:hidden}.plugin-card footer span.plugin-author{width:100%}.plugin-card footer span.plugin-author span{color:var(--wp--preset--color--charcoal-1)}.plugin-card footer span.plugin-author path{fill:var(--wp--preset--color--charcoal-1)}.plugin-card footer span svg{height:24px;vertical-align:bottom;width:24px}.plugin-card footer span svg path{fill:var(--wp--preset--color--charcoal-4)}.plugin-card footer span.active-installs{min-width:48%}.plugin-cards .is-style-cards-grid li{cursor:pointer}.plugin-cards .is-style-cards-grid li:hover{background-color:#fff!important;border:1px solid var(--wp--preset--color--charcoal-1)!important}.plugin-cards .is-style-cards-grid li:focus-within{border-color:#0000;border-radius:2px;box-shadow:0 0 0 1.5px var(--wp--custom--link--color--text)}@media screen and (max-width:737px){.plugin-cards .is-style-cards-grid{grid-template-columns:100%}}.entry-thumbnail{display:none;margin-bottom:var(--wp--style--block-gap);margin-left:var(--wp--style--block-gap);max-width:80px}.entry-thumbnail .plugin-icon{background-size:cover;border-radius:var(--wp--custom--button--border--radius);display:block;height:80px;width:80px}@media screen and (min-width:21em){.entry-thumbnail{display:inline-block;float:right;vertical-align:top}}.single .entry-thumbnail{display:none;float:right;height:96px;margin-bottom:0;max-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:var(--wp--preset--color--charcoal-4);font-size:var(--wp--preset--font-size--extra-small);vertical-align:text-bottom}.plugin-rating .rating-count a{color:inherit;cursor:hand;text-decoration:none}[class*=dashicons-star-]{color:var(--wp--preset--color--pomegrade-1)}.rtl .dashicons-star-half{transform:rotateY(-180deg)}#main .plugin-section{margin:0 auto var(--wp--preset--spacing--60)}#main .plugin-section:last-of-type{margin-bottom:0}#main .plugin-section .section-header{align-items:center;column-gap:10px;display:flex;justify-content:space-between;margin-bottom:var(--wp--style--block-gap)}#main .plugin-section .section-header>h2{margin-bottom:0}#main .plugin-section .section-link{align-self:center;flex:0 0 auto;text-decoration:underline}.pagination .nav-links{margin-top:var(--wp--style--block-gap);padding-top:var(--wp--style--block-gap);text-align:center}.pagination .nav-links a{text-decoration:none}.pagination .nav-links .page-numbers{cursor:pointer;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{display:inline-block;font-size:medium;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{font-weight:700}.pagination .nav-links span.page-numbers.current{text-decoration:underline}@keyframes favme-anime{0%{font-size:var(--wp--preset--font-size--large);opacity:1;-webkit-text-stroke-color:#0000}25%{color:#fff;font-size:var(--wp--preset--font-size--small);opacity:.6;-webkit-text-stroke-width:1px;-webkit-text-stroke-color:#dc3232}75%{color:#fff;font-size:var(--wp--preset--font-size--large);opacity:.6;-webkit-text-stroke-width:1px;-webkit-text-stroke-color:#dc3232}to{font-size:var(--wp--preset--font-size--normal);opacity:1;-webkit-text-stroke-color:#0000}}.plugin-favorite{height:calc(var(--wp--custom--button--spacing--padding--top)*2 + var(--wp--preset--font-size--normal)*2);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:var(--wp--preset--font-size--large);height:100%;justify-content:center;line-height:1;margin:0;outline:none;padding:0;text-decoration:none}.plugin-favorite .plugin-favorite-heart.favorited{color:#dc3232}.plugin-favorite .plugin-favorite-heart:focus,.plugin-favorite .plugin-favorite-heart:hover{color:var(----wp--preset--color--charcoal-2);text-decoration:none}.plugin-favorite .plugin-favorite-heart:after{content:"";font-family:dashicons;vertical-align:top}.plugin-banner img{aspect-ratio:3.089;border-radius:var(--wp--custom--button--border--radius);display:block;margin:0 auto var(--wp--preset--spacing--30);width:100%}@keyframes hideAnimation{to{visibility:hidden}}.categorization .help{color:var(--wp--preset--color--charcoal-4);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 code{font-size:var(--wp--preset--font-size--small)}.plugin-developers .contributors-list li{align-items:center;display:flex;padding-bottom:var(--wp--style--block-gap)}@media screen and (min-width:500px){.plugin-developers .contributors-list{display:flex;flex-wrap:wrap}.plugin-developers .contributors-list li{padding-bottom:unset;width:50%}}.plugin-faq dl{border-bottom:1px solid var(--wp--preset--color--light-grey-1)}.plugin-faq dt{border-top:1px solid var(--wp--preset--color--light-grey-1);cursor:pointer;padding:1rem 0}.plugin-faq dt:before{content:"";float:left;font-family:dashicons;margin:0 1rem}.plugin-faq dt.open:before{content:""}.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:var(--wp--custom--link--color--text);display:inline;font-size:var(--wp--preset--font-size--normal);font-weight:400;margin-bottom:0;margin-top:0!important;text-decoration:underline}.plugin-faq dt h3 button{all:inherit;max-width:calc(100% - 60px)}.plugin-faq dt h3 button:focus,.plugin-faq dt h3 button:hover{text-decoration:underline}.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}.plugin-reviews{list-style-type:none;margin:0;padding:0}.plugin-reviews .plugin-review{border-bottom:1px solid var(--wp--preset--color--light-grey-1);margin:2rem 0 1rem;padding-bottom:1rem}.plugin-reviews .plugin-review a{text-decoration:none}.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-top:4px}.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:var(--wp--preset--font-size--normal);font-weight:500;margin:2px 12px 0 0!important;text-transform:inherit}.plugin-reviews .review-author,.plugin-reviews .review-date,.plugin-reviews .review-replies{font-size:var(--wp--preset--font-size--extra-small);line-height:1.25}.plugin-reviews .review-date,.plugin-reviews .review-replies{color:var(--wp--preset--color--charcoal-4);font-size:var(--wp--preset--font-size--extra-small);margin-right:12px}.plugin-reviews .review-replies:before{content:"•";margin-left:12px}.plugin-reviews .review-content{margin:1em 0}@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}}.plugin-reviews .reviews-link{display:inline-block;font-size:var(--wp--preset--font-size--small);text-decoration:none}.plugin-reviews .reviews-link:after{content:"";float:left;font-family:dashicons;padding-right:5px;position:relative;top:1px;vertical-align:text-top}.download-history-stats td{text-align:left}.previous-versions{max-width:60%}@media screen and (min-width:737px){.previous-versions{height:32px;vertical-align:middle}}hr{margin:2.5rem auto}.section h1:nth-child(2),.section h2:nth-child(2),.section h3:nth-child(2),.section h4:nth-child(2),.section h5:nth-child(2),.section h6:nth-child(2){margin-top:0}.section-heading{font-family:var(--wp--preset--font-family--inter)!important;font-size:var(--wp--preset--font-size--heading-5)!important;font-style:normal;font-weight:600;line-height:var(--wp--custom--heading--level-5--typography--line-height)}.section-intro{color:var(--wp--preset--color--charcoal-4);font-size:var(--wp--preset--font-size--small);margin-bottom:var(--wp--preset--spacing--20);margin-top:var(--wp--preset--spacing--10)}.type-plugin .plugin-notice{margin-top:0}.type-plugin .plugin-header:after,.type-plugin .plugin-header:before{content:"";display:table;table-layout:fixed}.type-plugin .plugin-header:after{clear:both}.type-plugin .plugin-header{border-bottom:0;padding-top:var(--wp--preset--spacing--40)}.type-plugin .plugin-header .entry-heading-container{display:flex;flex-direction:column;justify-content:space-between}@media screen and (max-width:599px){.type-plugin .plugin-header .entry-heading-container{--wp--custom--button--spacing--padding--top:12px;--wp--custom--button--spacing--padding--bottom:12px;--wp--custom--button--spacing--padding--left:16px;--wp--custom--button--spacing--padding--right:16px}}@media screen and (min-width:700px){.type-plugin .plugin-header .entry-heading-container{flex-direction:row}}.type-plugin .plugin-header .entry-heading-container>:first-child{align-items:center;display:flex;flex:1}.type-plugin .plugin-header .plugin-actions{align-items:center;display:flex;gap:16px;margin-top:var(--wp--style--block-gap)}@media screen and (min-width:700px){.type-plugin .plugin-header .plugin-actions{margin-top:0;margin-inline-start:1rem}}.type-plugin .plugin-header .plugin-actions>.button,.type-plugin .plugin-header .plugin-actions>div{display:inline-block;text-align:center}@media screen and (max-width:34em){.type-plugin .plugin-header .plugin-actions>.button.download-button{display:none}}.type-plugin .plugin-header .plugin-title{clear:none;font-size:var(--wp--preset--font-size--heading-3);font-weight:400;line-height:var(--wp--custom--heading--level-3--typography--line-height);margin:0}.type-plugin .plugin-header .plugin-title a{color:inherit;text-decoration:none}.type-plugin .plugin-header .plugin-title a:hover{text-decoration:underline}.type-plugin .plugin-header .byline{color:var(--wp--preset--color--charcoal-4);display:block;margin-top:4px}.type-plugin .plugin-banner+.plugin-header{padding-top:0}.type-plugin .plugin-banner+.plugin-header>.notice:first-of-type{margin-top:0}.type-plugin .tabs{border-bottom:1px solid var(--wp--preset--color--light-grey-1);list-style:none;margin:0}.type-plugin .tabs li{border:1px solid #0000;display:inline-block;font-size:.9rem;margin-bottom:-1px;transition:background .2s ease}.type-plugin .tabs li a{background:#fff;border:0;color:var(--wp--preset--color--charcoal-1);display:block;font-size:var(--wp--preset--font-size--normal);padding:.64rem 1.25rem;text-decoration:none}.type-plugin .tabs li a.active,.type-plugin .tabs li a:hover{background:var(--wp--preset--color--light-grey-2)!important}.type-plugin .tabs li.active,.type-plugin .tabs li:hover{border:1px solid var(--wp--preset--color--light-grey-1)}@media screen and (max-width:38em){.type-plugin .tabs{border-top:1px solid var(--wp--preset--color--light-grey-1)}.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 var(--wp--preset--color--light-grey-1)}}@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 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;padding-right:0}.type-plugin .plugin-blocks-list .plugin-blocks-list-item{display:grid;grid-template-columns:auto 1fr;margin-bottom:var(--wp--style--block-gap)}.type-plugin .plugin-blocks-list .block-icon{border:1px solid var(--wp--preset--color--light-grey-1);border-radius:2px;display:inline-block;height:3.5rem;line-height:16px;margin-left:var(--wp--style--block-gap);padding:var(--wp--style--block-gap);width:3.5rem}.type-plugin .plugin-blocks-list .block-icon.dashicons{color:inherit}.type-plugin .plugin-blocks-list .block-icon.dashicons:before{margin-right:-3px}.type-plugin .plugin-blocks-list .block-icon svg{fill:currentColor;height:16px;margin-right:-1px;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:.4em}.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:1px solid var(--wp--preset--color--light-grey-1);border-bottom:0;padding-bottom:1px}@media screen and (max-width:38em){.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:1px!important}}.type-plugin span#section-links{display:flex;flex-flow:row wrap;margin-top:var(--wp--preset--spacing--30)}.type-plugin span#section-links .tabs{flex:1 1 auto;padding-right:0}@media screen and (max-width:38em){.type-plugin span#section-links .tabs{border:1px solid var(--wp--preset--color--light-grey-1)!important}.type-plugin span#section-links .tabs li{border:none!important}.type-plugin span#section-links{display:block}}.type-plugin #link-support{align-self:flex-end;border-bottom:1px solid var(--wp--preset--color--light-grey-1);flex:0 0 auto;font-size:.9rem}.type-plugin #link-support a{display:inline-block;font-size:var(--wp--preset--font-size--normal);padding:.64rem 1.25rem .64rem 0}@media screen and (max-width:38em){.type-plugin #link-support{border-bottom:0;display:block;width:100%}.type-plugin #link-support a{padding-left:1.25rem}}.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{padding-right:0;padding-left:0}.type-plugin .entry-meta{float:left;width:30%}}.type-plugin .plugin-danger-zone h4{margin-top:var(--wp--preset--spacing--60)}.plugin-releases-listing{border-collapse:collapse;width:100%}.plugin-releases-listing tbody td:nth-child(4) div{font-size:14px}.plugin-releases-listing-actions{display:flex;flex-direction:column;gap:8px}@media screen and (min-width:34em){.plugin-releases-listing-actions{flex-direction:row}}.plugin-adopt-me{background:#e6f4fa;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:var(--wp--style--block-gap)}.widget.plugin-categorization .widget-head h2{font-size:var(--wp--preset--font-size--heading-4);margin-bottom:.2rem;margin-top:0}.widget.plugin-categorization .widget-head a{font-size:var(--wp--preset--font-size--small)}.widget.plugin-categorization .widget-head a[href=""]{display:none}.widget.plugin-categorization p{font-size:var(--wp--preset--font-size--small);margin-top:.5rem}.widget.plugin-categorization~.plugin-meta li:first-child{border-top:1px solid var(--wp--preset--color--light-grey-1)}.committer-list,.support-rep-list{list-style:none;margin:0;padding: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)}}.committer-list .new,.support-rep-list .new{margin-top:var(--wp--style--block-gap)}.plugin-contributors.read-more{border-bottom:1px solid var(--wp--preset--color--light-grey-1);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{list-style-type:none;margin:0;padding:0}.contributors-list li{align-items:center;display:flex;margin-bottom:1rem}.contributors-list .avatar{float:right;margin-left:10px}.plugin-meta{font-size:var(--wp--preset--font-size--small);margin-top:var(--wp--style--block-gap)}.plugin-meta ul{list-style-type:none;margin:0;padding:0}.plugin-meta li{border-top:1px solid var(--wp--preset--color--light-grey-1);display:inline-block;padding:.5rem 0;position:relative;width:100%}.plugin-meta li strong{float:left;font-weight:500}.plugin-meta li .plugin-admin{font-size:var(--wp--preset--font-size--normal);font-weight:400}.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 button{font-size:var(--wp--preset--font-size--small);outline:revert}.plugin-meta .languages .popover{margin-top:8px}.plugin-meta .languages .popover-trigger{color:var(--wp--custom--link--color--text);text-decoration:underline}.plugin-meta .languages .popover-trigger:hover{text-decoration:underline}.plugin-meta [rel=tag]{background:var(--wp--preset--color--blueberry-4);border-radius:2px;color:var(--wp--preset--color--charcoal-1);display:inline-block;font-size:var(--wp--preset--font-size--extra-small);margin:2px;max-width:95%;overflow:hidden;padding:3px 6px;position:relative;text-decoration:none;text-overflow:ellipsis;white-space:nowrap;width:auto}.plugin-meta [rel=tag]:hover{text-decoration:underline}.popover{background-color:#fff;border:1px solid var(--wp--preset--color--light-grey-1);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:var(--wp--custom--link--color--text);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-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:var(--wp--preset--color--light-grey-2);width:100%}.plugin-support .counter-bar{background-color:var(--wp--preset--color--acid-green-2);display:block}.plugin-support .counter-count{font-size:var(--wp--preset--font-size--extra-small);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:var(--wp--preset--font-size--small);margin:0;margin:var(--wp--style--block-gap);vertical-align:top;width:auto}@media screen and (min-width:737px){.home .widget,.widget-area.home .widget{margin:0;width:30%}.home .widget:first-child,.widget-area.home .widget:first-child{margin-left:5%}.home .widget:last-child,.widget-area.home .widget:last-child{margin-right:5%}}.home .widget select,.widget-area.home .widget select{max-width:100%}.entry-meta .widget-title{font-size:var(--wp--preset--font-size--heading-4)}body.single.single-plugin .entry-meta{font-size:var(--wp--preset--font-size--normal)}.widget-area{margin:0 auto;padding:var(--wp--preset--spacing--40) 0}.widget-area .widget-title{font-size:var(--wp--preset--font-size--heading-1);font-weight:var(--wp--custom--heading--typography--font-weight);margin-top:var(--wp--preset--spacing--50)}.widget-area .textwidget{text-wrap:pretty} diff --git a/wordpress.org/public_html/wp-content/themes/pub/wporg-plugins-2024/build/style.css b/wordpress.org/public_html/wp-content/themes/pub/wporg-plugins-2024/build/style.css index 522ba9a038..e7ed50b68b 100644 --- a/wordpress.org/public_html/wp-content/themes/pub/wporg-plugins-2024/build/style.css +++ b/wordpress.org/public_html/wp-content/themes/pub/wporg-plugins-2024/build/style.css @@ -1 +1 @@ -@charset "utf-8";.avatar{border-radius:50%;vertical-align:middle}.wp-block-wporg-language-suggest>p{margin:0}.block-validator>details summary{padding:var(--wp--style--block-gap) 0}.block-validator .block-validator__plugin-form label{display:block;margin-bottom:.8em}.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:4px}@media(max-width:36rem){.block-validator .block-validator__plugin-submit{width:100%}.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:var(--wp--style--block-gap)}}.block-validator .notice details,.block-validator .notice p{font-size:var(--wp--preset--font-size--normal);margin:var(--wp--style--block-gap) 0}.block-validator .notice details p{font-size:var(--wp--preset--font-size--small);margin-left:1rem}.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}.block-validator .plugin-upload-form-controls{align-items:center;display:flex;gap:4px}.block-validator .plugin-upload-form-controls>label{border:1px solid var(--wp--custom--form--border--color);border-radius:var(--wp--custom--form--border--radius);cursor:pointer;min-width:200px;padding:4px 8px}.notice{background:#fff;border-left:4px solid #fff;box-shadow:0 1px 1px 0 #0000001a;font-size:var(--wp--preset--font-size--small);margin:var(--wp--style--block-gap) 0;padding:1px 12px}.notice p,.notice ul{margin:.5em 0;padding:2px}.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:var(--wp--preset--font-size--small)}.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 .zip-file{display:inline-block}.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}.plugin-submission-item .plugin-submission-file>div,.plugin-submission-item>div{margin-bottom:.4rem;margin-top:.4rem}.plugin-submission-item .plugin-submission-name{font-size:1.2rem;font-weight:700}.plugin-submission-item .plugin-submission-email+.plugin-submission-email-clarification{margin-top:-.4rem}.plugin-submission-item .plugin-submission-email-clarification{font-size:85%}.plugin-submission-item .plugin-submission-update-code{margin-bottom:1rem;margin-top:.6rem}.plugin-submission-item .plugin-submission-update-code .show-upload-additional{display:inline-block}.plugin-submission-item .plugin-submission-file{border-inline-start:2px solid #000;padding:.4rem 1rem}.plugin-submission-item .plugin-submission-file .plugin-submission-file__meta th{text-align:start}.plugin-submission-item .plugin-submission-file .plugin-submission-file__pcp{display:inline-block}.plugin-submission-item .plugin-submission-file+.plugin-submission-file{margin-top:1rem}:where(main) a:where(:not(.wp-element-button,.wp-block-wporg-link-wrapper)):focus,:where(main) button:where(:not([class*=wp-block-button])):focus{border-radius:2px;box-shadow:0 0 0 1.5px currentColor;outline:none}.wporg-filter-bar{--wporg--filter-bar--gap:20px;--wporg--filter-bar--color:#40464d;--wporg--filter-bar--active--background-color:var(--wp--custom--button--color--background);--wporg--filter-bar--focus--border-color:var(--wp--custom--button--focus--border--color);margin:var(--wp--style--block-gap) 0}.wporg-filter-bar .wporg-query-filter__toggle.is-active,.wporg-filter-bar .wporg-query-filter__toggle:active,.wporg-filter-bar .wporg-query-filter__toggle:focus{background-color:var(--wporg--filter-bar--active--background-color);color:var(--wp--custom--button--color--text)}.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;padding-left: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;width:100%}.wporg-filter-bar .wporg-filter-bar__navigation{margin-bottom:0}}.wp-block-search__inside-wrapper{background:var(--wp--preset--color--light-grey-2);border:none}.button-link{background:none;border:0;border-radius:0;box-shadow:none;cursor:pointer;margin:0;outline:none;padding:0}.button{background-color:var(--wp--custom--button--color--background);border:0;border-radius:var(--wp--custom--button--border--radius);color:var(--wp--custom--button--color--text);cursor:pointer;opacity:1;padding:calc(var(--wp--custom--button--small--spacing--padding--top) + var(--wp--custom--button--border--width)) calc(var(--wp--custom--button--small--spacing--padding--right) + var(--wp--custom--button--border--width)) calc(var(--wp--custom--button--small--spacing--padding--bottom) + var(--wp--custom--button--border--width)) calc(var(--wp--custom--button--small--spacing--padding--left) + var(--wp--custom--button--border--width));vertical-align:middle}.button.button-large{padding:calc(var(--wp--custom--button--spacing--padding--top) + var(--wp--custom--button--border--width)) calc(var(--wp--custom--button--spacing--padding--right) + var(--wp--custom--button--border--width)) calc(var(--wp--custom--button--spacing--padding--bottom) + var(--wp--custom--button--border--width)) calc(var(--wp--custom--button--spacing--padding--left) + var(--wp--custom--button--border--width))}input+button.button,select+button.button{margin-top:-3px}.button.disabled{cursor:not-allowed;opacity:.6}.wp-block-post-content a.button{text-decoration:none}.wp-block-button__link{width:auto}pre{background-color:#f7f7f7;border:1px solid var(--wp--preset--color--light-grey-1);overflow:scroll;padding:20px}code,pre{border-radius:2px}code{background:var(--wp--preset--color--light-grey-2);display:inline-block;line-height:var(--wp--custom--body--extra-small--typography--line-height);max-width:100%;padding-inline-end:3px;padding-inline-start:3px}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}.plugin-card{display:flex;flex-direction:column;height:100%;justify-content:space-between}.plugin-card .entry{display:inline-block;vertical-align:top}.plugin-card .entry-title{display:block;display:-webkit-box;font-size:var(--wp--preset--font-size--heading-5);font-weight:500;-webkit-line-clamp:2;line-height:1.3;margin-bottom:2px!important;max-height:2.6em;overflow:hidden;-webkit-box-orient:vertical}.plugin-card .entry-title a{display:block;text-decoration:none}.plugin-card .entry-title a:focus{box-shadow:none}.plugin-card .entry-excerpt{clear:both;font-size:var(--wp--preset--font-size--small)}.plugin-card .entry-excerpt p{margin:0}.plugin-card footer{font-size:var(--wp--preset--font-size--small);margin-top:var(--wp--style--block-gap)}.plugin-card footer span{color:var(--wp--preset--color--charcoal-4);display:inline-block;line-height:var(--wp--preset--font-size--normal);overflow:hidden}.plugin-card footer span.plugin-author{width:100%}.plugin-card footer span.plugin-author span{color:var(--wp--preset--color--charcoal-1)}.plugin-card footer span.plugin-author path{fill:var(--wp--preset--color--charcoal-1)}.plugin-card footer span svg{height:24px;vertical-align:bottom;width:24px}.plugin-card footer span svg path{fill:var(--wp--preset--color--charcoal-4)}.plugin-card footer span.active-installs{min-width:48%}.plugin-cards .is-style-cards-grid li{cursor:pointer}.plugin-cards .is-style-cards-grid li:hover{background-color:#fff!important;border:1px solid var(--wp--preset--color--charcoal-1)!important}.plugin-cards .is-style-cards-grid li:focus-within{border-color:#0000;border-radius:2px;box-shadow:0 0 0 1.5px var(--wp--custom--link--color--text)}@media screen and (max-width:737px){.plugin-cards .is-style-cards-grid{grid-template-columns:100%}}.entry-thumbnail{display:none;margin-bottom:var(--wp--style--block-gap);margin-right:var(--wp--style--block-gap);max-width:80px}.entry-thumbnail .plugin-icon{background-size:cover;border-radius:var(--wp--custom--button--border--radius);display:block;height:80px;width:80px}@media screen and (min-width:21em){.entry-thumbnail{display:inline-block;float:left;vertical-align:top}}.single .entry-thumbnail{display:none;float:left;height:96px;margin-bottom:0;max-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:var(--wp--preset--color--charcoal-4);font-size:var(--wp--preset--font-size--extra-small);vertical-align:text-bottom}.plugin-rating .rating-count a{color:inherit;cursor:hand;text-decoration:none}[class*=dashicons-star-]{color:var(--wp--preset--color--pomegrade-1)}.rtl .dashicons-star-half{transform:rotateY(180deg)}#main .plugin-section{margin:0 auto var(--wp--preset--spacing--60)}#main .plugin-section:last-of-type{margin-bottom:0}#main .plugin-section .section-header{align-items:center;column-gap:10px;display:flex;justify-content:space-between;margin-bottom:var(--wp--style--block-gap)}#main .plugin-section .section-header>h2{margin-bottom:0}#main .plugin-section .section-link{align-self:center;flex:0 0 auto;text-decoration:underline}.pagination .nav-links{margin-top:var(--wp--style--block-gap);padding-top:var(--wp--style--block-gap);text-align:center}.pagination .nav-links a{text-decoration:none}.pagination .nav-links .page-numbers{cursor:pointer;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{display:inline-block;font-size:medium;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{font-weight:700}.pagination .nav-links span.page-numbers.current{text-decoration:underline}@keyframes favme-anime{0%{font-size:var(--wp--preset--font-size--large);opacity:1;-webkit-text-stroke-color:#0000}25%{color:#fff;font-size:var(--wp--preset--font-size--small);opacity:.6;-webkit-text-stroke-width:1px;-webkit-text-stroke-color:#dc3232}75%{color:#fff;font-size:var(--wp--preset--font-size--large);opacity:.6;-webkit-text-stroke-width:1px;-webkit-text-stroke-color:#dc3232}to{font-size:var(--wp--preset--font-size--normal);opacity:1;-webkit-text-stroke-color:#0000}}.plugin-favorite{height:calc(var(--wp--custom--button--spacing--padding--top)*2 + var(--wp--preset--font-size--normal)*2);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:var(--wp--preset--font-size--large);height:100%;justify-content:center;line-height:1;margin:0;outline:none;padding:0;text-decoration:none}.plugin-favorite .plugin-favorite-heart.favorited{color:#dc3232}.plugin-favorite .plugin-favorite-heart:focus,.plugin-favorite .plugin-favorite-heart:hover{color:var(----wp--preset--color--charcoal-2);text-decoration:none}.plugin-favorite .plugin-favorite-heart:after{content:"";font-family:dashicons;vertical-align:top}.plugin-banner img{aspect-ratio:3.089;border-radius:var(--wp--custom--button--border--radius);display:block;margin:0 auto var(--wp--preset--spacing--30);width:100%}@keyframes hideAnimation{to{visibility:hidden}}.categorization .help{color:var(--wp--preset--color--charcoal-4);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 code{font-size:var(--wp--preset--font-size--small)}.plugin-developers .contributors-list li{align-items:center;display:flex;padding-bottom:var(--wp--style--block-gap)}@media screen and (min-width:500px){.plugin-developers .contributors-list{display:flex;flex-wrap:wrap}.plugin-developers .contributors-list li{padding-bottom:unset;width:50%}}.plugin-faq dl{border-bottom:1px solid var(--wp--preset--color--light-grey-1)}.plugin-faq dt{border-top:1px solid var(--wp--preset--color--light-grey-1);cursor:pointer;padding:1rem 0}.plugin-faq dt:before{content:"";float:right;font-family:dashicons;margin:0 1rem}.plugin-faq dt.open:before{content:""}.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:var(--wp--custom--link--color--text);display:inline;font-size:var(--wp--preset--font-size--normal);font-weight:400;margin-bottom:0;margin-top:0!important;text-decoration:underline}.plugin-faq dt h3 button{all:inherit;max-width:calc(100% - 60px)}.plugin-faq dt h3 button:focus,.plugin-faq dt h3 button:hover{text-decoration:underline}.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:var(--wp--preset--color--light-grey-1);display:none;font-size:48px;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 var(--wp--preset--color--light-grey-1);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:""}.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:""}.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:var(--wp--preset--color--light-grey-2);color:var(--wp--preset--color--charcoal-1);font-size:var(--wp--preset--font-size--small);line-height:1.5;padding:10px 20px;white-space:normal}@media(max-width:768px){.image-gallery-slide .image-gallery-description{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:inline-block;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:1px solid var(--wp--preset--color--light-grey-1);margin:2rem 0 1rem;padding-bottom:1rem}.plugin-reviews .plugin-review a{text-decoration:none}.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-top:4px}.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:var(--wp--preset--font-size--normal);font-weight:500;margin:2px 0 0 12px!important;text-transform:inherit}.plugin-reviews .review-author,.plugin-reviews .review-date,.plugin-reviews .review-replies{font-size:var(--wp--preset--font-size--extra-small);line-height:1.25}.plugin-reviews .review-date,.plugin-reviews .review-replies{color:var(--wp--preset--color--charcoal-4);font-size:var(--wp--preset--font-size--extra-small);margin-left:12px}.plugin-reviews .review-replies:before{content:"•";margin-right:12px}.plugin-reviews .review-content{margin:1em 0}@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}}.plugin-reviews .reviews-link{display:inline-block;font-size:var(--wp--preset--font-size--small);text-decoration:none}.plugin-reviews .reviews-link:after{content:"";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 .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;max-width:100%}.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:32px;vertical-align:middle}}hr{margin:2.5rem auto}.section h1:nth-child(2),.section h2:nth-child(2),.section h3:nth-child(2),.section h4:nth-child(2),.section h5:nth-child(2),.section h6:nth-child(2){margin-top:0}.section-heading{font-family:var(--wp--preset--font-family--inter)!important;font-size:var(--wp--preset--font-size--heading-5)!important;font-style:normal;font-weight:600;line-height:var(--wp--custom--heading--level-5--typography--line-height)}.section-intro{color:var(--wp--preset--color--charcoal-4);font-size:var(--wp--preset--font-size--small);margin-bottom:var(--wp--preset--spacing--20);margin-top:var(--wp--preset--spacing--10)}.type-plugin .plugin-notice{margin-top:0}.type-plugin .plugin-header:after,.type-plugin .plugin-header:before{content:"";display:table;table-layout:fixed}.type-plugin .plugin-header:after{clear:both}.type-plugin .plugin-header{border-bottom:0;padding-top:var(--wp--preset--spacing--40)}.type-plugin .plugin-header .entry-heading-container{display:flex;flex-direction:column;justify-content:space-between}@media screen and (max-width:599px){.type-plugin .plugin-header .entry-heading-container{--wp--custom--button--spacing--padding--top:12px;--wp--custom--button--spacing--padding--bottom:12px;--wp--custom--button--spacing--padding--left:16px;--wp--custom--button--spacing--padding--right:16px}}@media screen and (min-width:700px){.type-plugin .plugin-header .entry-heading-container{flex-direction:row}}.type-plugin .plugin-header .entry-heading-container>:first-child{align-items:center;display:flex;flex:1}.type-plugin .plugin-header .plugin-actions{align-items:center;display:flex;gap:16px;margin-top:var(--wp--style--block-gap)}@media screen and (min-width:700px){.type-plugin .plugin-header .plugin-actions{margin-top:0;margin-inline-start:1rem}}.type-plugin .plugin-header .plugin-actions>.button,.type-plugin .plugin-header .plugin-actions>div{display:inline-block;text-align:center}@media screen and (max-width:34em){.type-plugin .plugin-header .plugin-actions>.button.download-button{display:none}}.type-plugin .plugin-header .plugin-title{clear:none;font-size:var(--wp--preset--font-size--heading-3);font-weight:400;line-height:var(--wp--custom--heading--level-3--typography--line-height);margin:0}.type-plugin .plugin-header .plugin-title a{color:inherit;text-decoration:none}.type-plugin .plugin-header .plugin-title a:hover{text-decoration:underline}.type-plugin .plugin-header .byline{color:var(--wp--preset--color--charcoal-4);display:block;margin-top:4px}.type-plugin .plugin-banner+.plugin-header{padding-top:0}.type-plugin .plugin-banner+.plugin-header>.notice:first-of-type{margin-top:0}.type-plugin .tabs{border-bottom:1px solid var(--wp--preset--color--light-grey-1);list-style:none;margin:0}.type-plugin .tabs li{border:1px solid #0000;display:inline-block;font-size:.9rem;margin-bottom:-1px;transition:background .2s ease}.type-plugin .tabs li a{background:#fff;border:0;color:var(--wp--preset--color--charcoal-1);display:block;font-size:var(--wp--preset--font-size--normal);padding:.64rem 1.25rem;text-decoration:none}.type-plugin .tabs li a.active,.type-plugin .tabs li a:hover{background:var(--wp--preset--color--light-grey-2)!important}.type-plugin .tabs li.active,.type-plugin .tabs li:hover{border:1px solid var(--wp--preset--color--light-grey-1)}@media screen and (max-width:38em){.type-plugin .tabs{border-top:1px solid var(--wp--preset--color--light-grey-1)}.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 var(--wp--preset--color--light-grey-1)}}@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 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;padding-left:0}.type-plugin .plugin-blocks-list .plugin-blocks-list-item{display:grid;grid-template-columns:auto 1fr;margin-bottom:var(--wp--style--block-gap)}.type-plugin .plugin-blocks-list .block-icon{border:1px solid var(--wp--preset--color--light-grey-1);border-radius:2px;display:inline-block;height:3.5rem;line-height:16px;margin-right:var(--wp--style--block-gap);padding:var(--wp--style--block-gap);width:3.5rem}.type-plugin .plugin-blocks-list .block-icon.dashicons{color:inherit}.type-plugin .plugin-blocks-list .block-icon.dashicons:before{margin-left:-3px}.type-plugin .plugin-blocks-list .block-icon svg{fill:currentColor;height:16px;margin-left:-1px;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:.4em}.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:1px solid var(--wp--preset--color--light-grey-1);border-bottom:0;padding-bottom:1px}@media screen and (max-width:38em){.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:1px!important}}.type-plugin span#section-links{display:flex;flex-flow:row wrap;margin-top:var(--wp--preset--spacing--30)}.type-plugin span#section-links .tabs{flex:1 1 auto;padding-left:0}@media screen and (max-width:38em){.type-plugin span#section-links .tabs{border:1px solid var(--wp--preset--color--light-grey-1)!important}.type-plugin span#section-links .tabs li{border:none!important}.type-plugin span#section-links{display:block}}.type-plugin #link-support{align-self:flex-end;border-bottom:1px solid var(--wp--preset--color--light-grey-1);flex:0 0 auto;font-size:.9rem}.type-plugin #link-support a{display:inline-block;font-size:var(--wp--preset--font-size--normal);padding:.64rem 0 .64rem 1.25rem}@media screen and (max-width:38em){.type-plugin #link-support{border-bottom:0;display:block;width:100%}.type-plugin #link-support a{padding-right:1.25rem}}.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{padding-left:0;padding-right:0}.type-plugin .entry-meta{float:right;width:30%}}.type-plugin .plugin-danger-zone h4{margin-top:var(--wp--preset--spacing--60)}.plugin-releases-listing{border-collapse:collapse;width:100%}.plugin-releases-listing tbody td:nth-child(4) div{font-size:14px}.plugin-releases-listing-actions{display:flex;flex-direction:column;gap:8px}@media screen and (min-width:34em){.plugin-releases-listing-actions{flex-direction:row}}.plugin-adopt-me{background:#e6f4fa;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:var(--wp--style--block-gap)}.widget.plugin-categorization .widget-head h2{font-size:var(--wp--preset--font-size--heading-4);margin-bottom:.2rem;margin-top:0}.widget.plugin-categorization .widget-head a{font-size:var(--wp--preset--font-size--small)}.widget.plugin-categorization .widget-head a[href=""]{display:none}.widget.plugin-categorization p{font-size:var(--wp--preset--font-size--small);margin-top:.5rem}.widget.plugin-categorization~.plugin-meta li:first-child{border-top:1px solid var(--wp--preset--color--light-grey-1)}.committer-list,.support-rep-list{list-style:none;margin:0;padding: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)}}.committer-list .new,.support-rep-list .new{margin-top:var(--wp--style--block-gap)}.plugin-contributors.read-more{border-bottom:1px solid var(--wp--preset--color--light-grey-1);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{list-style-type:none;margin:0;padding:0}.contributors-list li{align-items:center;display:flex;margin-bottom:1rem}.contributors-list .avatar{float:left;margin-right:10px}.plugin-meta{font-size:var(--wp--preset--font-size--small);margin-top:var(--wp--style--block-gap)}.plugin-meta ul{list-style-type:none;margin:0;padding:0}.plugin-meta li{border-top:1px solid var(--wp--preset--color--light-grey-1);display:inline-block;padding:.5rem 0;position:relative;width:100%}.plugin-meta li strong{float:right;font-weight:500}.plugin-meta li .plugin-admin{font-size:var(--wp--preset--font-size--normal);font-weight:400}.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 button{font-size:var(--wp--preset--font-size--small);outline:revert}.plugin-meta .languages .popover{margin-top:8px}.plugin-meta .languages .popover-trigger{color:var(--wp--custom--link--color--text);text-decoration:underline}.plugin-meta .languages .popover-trigger:hover{text-decoration:underline}.plugin-meta [rel=tag]{background:var(--wp--preset--color--blueberry-4);border-radius:2px;color:var(--wp--preset--color--charcoal-1);display:inline-block;font-size:var(--wp--preset--font-size--extra-small);margin:2px;max-width:95%;overflow:hidden;padding:3px 6px;position:relative;text-decoration:none;text-overflow:ellipsis;white-space:nowrap;width:auto}.plugin-meta [rel=tag]:hover{text-decoration:underline}.popover{background-color:#fff;border:1px solid var(--wp--preset--color--light-grey-1);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:var(--wp--custom--link--color--text);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-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:var(--wp--preset--color--light-grey-2);width:100%}.plugin-support .counter-bar{background-color:var(--wp--preset--color--acid-green-2);display:block}.plugin-support .counter-count{font-size:var(--wp--preset--font-size--extra-small);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:var(--wp--preset--font-size--small);margin:0;margin:var(--wp--style--block-gap);vertical-align:top;width:auto}@media screen and (min-width:737px){.home .widget,.widget-area.home .widget{margin:0;width:30%}.home .widget:first-child,.widget-area.home .widget:first-child{margin-right:5%}.home .widget:last-child,.widget-area.home .widget:last-child{margin-left:5%}}.home .widget select,.widget-area.home .widget select{max-width:100%}.entry-meta .widget-title{font-size:var(--wp--preset--font-size--heading-4)}body.single.single-plugin .entry-meta{font-size:var(--wp--preset--font-size--normal)}.widget-area{margin:0 auto;padding:var(--wp--preset--spacing--40) 0}.widget-area .widget-title{font-size:var(--wp--preset--font-size--heading-1);font-weight:var(--wp--custom--heading--typography--font-weight);margin-top:var(--wp--preset--spacing--50)}.widget-area .textwidget{text-wrap:pretty} +@charset "utf-8";.avatar{border-radius:50%;vertical-align:middle}.wp-block-wporg-language-suggest>p{margin:0}.block-validator>details summary{padding:var(--wp--style--block-gap) 0}.block-validator .block-validator__plugin-form label{display:block;margin-bottom:.8em}.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:4px}@media(max-width:36rem){.block-validator .block-validator__plugin-submit{width:100%}.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:var(--wp--style--block-gap)}}.block-validator .notice details,.block-validator .notice p{font-size:var(--wp--preset--font-size--normal);margin:var(--wp--style--block-gap) 0}.block-validator .notice details p{font-size:var(--wp--preset--font-size--small);margin-left:1rem}.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}.block-validator .plugin-upload-form-controls{align-items:center;display:flex;gap:4px}.block-validator .plugin-upload-form-controls>label{border:1px solid var(--wp--custom--form--border--color);border-radius:var(--wp--custom--form--border--radius);cursor:pointer;min-width:200px;padding:4px 8px}.notice{background:#fff;border-left:4px solid #fff;box-shadow:0 1px 1px 0 #0000001a;font-size:var(--wp--preset--font-size--small);margin:var(--wp--style--block-gap) 0;padding:1px 12px}.notice p,.notice ul{margin:.5em 0;padding:2px}.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:var(--wp--preset--font-size--small)}.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 .zip-file{display:inline-block}.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}.plugin-submission-item .plugin-submission-file>div,.plugin-submission-item>div{margin-bottom:.4rem;margin-top:.4rem}.plugin-submission-item .plugin-submission-name{font-size:1.2rem;font-weight:700}.plugin-submission-item .plugin-submission-email+.plugin-submission-email-clarification{margin-top:-.4rem}.plugin-submission-item .plugin-submission-email-clarification{font-size:85%}.plugin-submission-item .plugin-submission-update-code{margin-bottom:1rem;margin-top:.6rem}.plugin-submission-item .plugin-submission-update-code .show-upload-additional{display:inline-block}.plugin-submission-item .plugin-submission-file{border-inline-start:2px solid #000;padding:.4rem 1rem}.plugin-submission-item .plugin-submission-file .plugin-submission-file__meta th{text-align:start}.plugin-submission-item .plugin-submission-file .plugin-submission-file__pcp{display:inline-block}.plugin-submission-item .plugin-submission-file+.plugin-submission-file{margin-top:1rem}:where(main) a:where(:not(.wp-element-button,.wp-block-wporg-link-wrapper)):focus,:where(main) button:where(:not([class*=wp-block-button])):focus{border-radius:2px;box-shadow:0 0 0 1.5px currentColor;outline:none}.wporg-filter-bar{--wporg--filter-bar--gap:20px;--wporg--filter-bar--color:#40464d;--wporg--filter-bar--active--background-color:var(--wp--custom--button--color--background);--wporg--filter-bar--focus--border-color:var(--wp--custom--button--focus--border--color);margin:var(--wp--style--block-gap) 0}.wporg-filter-bar .wporg-query-filter__toggle.is-active,.wporg-filter-bar .wporg-query-filter__toggle:active,.wporg-filter-bar .wporg-query-filter__toggle:focus{background-color:var(--wporg--filter-bar--active--background-color);color:var(--wp--custom--button--color--text)}.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;padding-left: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;width:100%}.wporg-filter-bar .wporg-filter-bar__navigation{margin-bottom:0}}.wp-block-search__inside-wrapper{background:var(--wp--preset--color--light-grey-2);border:none}.button-link{background:none;border:0;border-radius:0;box-shadow:none;cursor:pointer;margin:0;outline:none;padding:0}.button{background-color:var(--wp--custom--button--color--background);border:0;border-radius:var(--wp--custom--button--border--radius);color:var(--wp--custom--button--color--text);cursor:pointer;opacity:1;padding:calc(var(--wp--custom--button--small--spacing--padding--top) + var(--wp--custom--button--border--width)) calc(var(--wp--custom--button--small--spacing--padding--right) + var(--wp--custom--button--border--width)) calc(var(--wp--custom--button--small--spacing--padding--bottom) + var(--wp--custom--button--border--width)) calc(var(--wp--custom--button--small--spacing--padding--left) + var(--wp--custom--button--border--width));vertical-align:middle}.button.button-large{padding:calc(var(--wp--custom--button--spacing--padding--top) + var(--wp--custom--button--border--width)) calc(var(--wp--custom--button--spacing--padding--right) + var(--wp--custom--button--border--width)) calc(var(--wp--custom--button--spacing--padding--bottom) + var(--wp--custom--button--border--width)) calc(var(--wp--custom--button--spacing--padding--left) + var(--wp--custom--button--border--width))}input+button.button,select+button.button{margin-top:-3px}.button.disabled{cursor:not-allowed;opacity:.6}.wp-block-post-content a.button{text-decoration:none}.wp-block-button__link{width:auto}pre{background-color:#f7f7f7;border:1px solid var(--wp--preset--color--light-grey-1);overflow:scroll;padding:20px}code,pre{border-radius:2px}code{background:var(--wp--preset--color--light-grey-2);display:inline-block;line-height:var(--wp--custom--body--extra-small--typography--line-height);max-width:100%;padding-inline-end:3px;padding-inline-start:3px}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}.plugin-card{display:flex;flex-direction:column;height:100%;justify-content:space-between}.plugin-card .entry{display:inline-block;vertical-align:top}.plugin-card .entry-title{display:block;display:-webkit-box;font-size:var(--wp--preset--font-size--heading-5);font-weight:500;-webkit-line-clamp:2;line-height:1.3;margin-bottom:2px!important;max-height:2.6em;overflow:hidden;-webkit-box-orient:vertical}.plugin-card .entry-title a{display:block;text-decoration:none}.plugin-card .entry-title a:focus{box-shadow:none}.plugin-card .entry-excerpt{clear:both;font-size:var(--wp--preset--font-size--small)}.plugin-card .entry-excerpt p{margin:0}.plugin-card footer{font-size:var(--wp--preset--font-size--small);margin-top:var(--wp--style--block-gap)}.plugin-card footer span{color:var(--wp--preset--color--charcoal-4);display:inline-block;line-height:var(--wp--preset--font-size--normal);overflow:hidden}.plugin-card footer span.plugin-author{width:100%}.plugin-card footer span.plugin-author span{color:var(--wp--preset--color--charcoal-1)}.plugin-card footer span.plugin-author path{fill:var(--wp--preset--color--charcoal-1)}.plugin-card footer span svg{height:24px;vertical-align:bottom;width:24px}.plugin-card footer span svg path{fill:var(--wp--preset--color--charcoal-4)}.plugin-card footer span.active-installs{min-width:48%}.plugin-cards .is-style-cards-grid li{cursor:pointer}.plugin-cards .is-style-cards-grid li:hover{background-color:#fff!important;border:1px solid var(--wp--preset--color--charcoal-1)!important}.plugin-cards .is-style-cards-grid li:focus-within{border-color:#0000;border-radius:2px;box-shadow:0 0 0 1.5px var(--wp--custom--link--color--text)}@media screen and (max-width:737px){.plugin-cards .is-style-cards-grid{grid-template-columns:100%}}.entry-thumbnail{display:none;margin-bottom:var(--wp--style--block-gap);margin-right:var(--wp--style--block-gap);max-width:80px}.entry-thumbnail .plugin-icon{background-size:cover;border-radius:var(--wp--custom--button--border--radius);display:block;height:80px;width:80px}@media screen and (min-width:21em){.entry-thumbnail{display:inline-block;float:left;vertical-align:top}}.single .entry-thumbnail{display:none;float:left;height:96px;margin-bottom:0;max-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:var(--wp--preset--color--charcoal-4);font-size:var(--wp--preset--font-size--extra-small);vertical-align:text-bottom}.plugin-rating .rating-count a{color:inherit;cursor:hand;text-decoration:none}[class*=dashicons-star-]{color:var(--wp--preset--color--pomegrade-1)}.rtl .dashicons-star-half{transform:rotateY(180deg)}#main .plugin-section{margin:0 auto var(--wp--preset--spacing--60)}#main .plugin-section:last-of-type{margin-bottom:0}#main .plugin-section .section-header{align-items:center;column-gap:10px;display:flex;justify-content:space-between;margin-bottom:var(--wp--style--block-gap)}#main .plugin-section .section-header>h2{margin-bottom:0}#main .plugin-section .section-link{align-self:center;flex:0 0 auto;text-decoration:underline}.pagination .nav-links{margin-top:var(--wp--style--block-gap);padding-top:var(--wp--style--block-gap);text-align:center}.pagination .nav-links a{text-decoration:none}.pagination .nav-links .page-numbers{cursor:pointer;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{display:inline-block;font-size:medium;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{font-weight:700}.pagination .nav-links span.page-numbers.current{text-decoration:underline}@keyframes favme-anime{0%{font-size:var(--wp--preset--font-size--large);opacity:1;-webkit-text-stroke-color:#0000}25%{color:#fff;font-size:var(--wp--preset--font-size--small);opacity:.6;-webkit-text-stroke-width:1px;-webkit-text-stroke-color:#dc3232}75%{color:#fff;font-size:var(--wp--preset--font-size--large);opacity:.6;-webkit-text-stroke-width:1px;-webkit-text-stroke-color:#dc3232}to{font-size:var(--wp--preset--font-size--normal);opacity:1;-webkit-text-stroke-color:#0000}}.plugin-favorite{height:calc(var(--wp--custom--button--spacing--padding--top)*2 + var(--wp--preset--font-size--normal)*2);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:var(--wp--preset--font-size--large);height:100%;justify-content:center;line-height:1;margin:0;outline:none;padding:0;text-decoration:none}.plugin-favorite .plugin-favorite-heart.favorited{color:#dc3232}.plugin-favorite .plugin-favorite-heart:focus,.plugin-favorite .plugin-favorite-heart:hover{color:var(----wp--preset--color--charcoal-2);text-decoration:none}.plugin-favorite .plugin-favorite-heart:after{content:"";font-family:dashicons;vertical-align:top}.plugin-banner img{aspect-ratio:3.089;border-radius:var(--wp--custom--button--border--radius);display:block;margin:0 auto var(--wp--preset--spacing--30);width:100%}@keyframes hideAnimation{to{visibility:hidden}}.categorization .help{color:var(--wp--preset--color--charcoal-4);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 code{font-size:var(--wp--preset--font-size--small)}.plugin-developers .contributors-list li{align-items:center;display:flex;padding-bottom:var(--wp--style--block-gap)}@media screen and (min-width:500px){.plugin-developers .contributors-list{display:flex;flex-wrap:wrap}.plugin-developers .contributors-list li{padding-bottom:unset;width:50%}}.plugin-faq dl{border-bottom:1px solid var(--wp--preset--color--light-grey-1)}.plugin-faq dt{border-top:1px solid var(--wp--preset--color--light-grey-1);cursor:pointer;padding:1rem 0}.plugin-faq dt:before{content:"";float:right;font-family:dashicons;margin:0 1rem}.plugin-faq dt.open:before{content:""}.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:var(--wp--custom--link--color--text);display:inline;font-size:var(--wp--preset--font-size--normal);font-weight:400;margin-bottom:0;margin-top:0!important;text-decoration:underline}.plugin-faq dt h3 button{all:inherit;max-width:calc(100% - 60px)}.plugin-faq dt h3 button:focus,.plugin-faq dt h3 button:hover{text-decoration:underline}.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}.plugin-reviews{list-style-type:none;margin:0;padding:0}.plugin-reviews .plugin-review{border-bottom:1px solid var(--wp--preset--color--light-grey-1);margin:2rem 0 1rem;padding-bottom:1rem}.plugin-reviews .plugin-review a{text-decoration:none}.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-top:4px}.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:var(--wp--preset--font-size--normal);font-weight:500;margin:2px 0 0 12px!important;text-transform:inherit}.plugin-reviews .review-author,.plugin-reviews .review-date,.plugin-reviews .review-replies{font-size:var(--wp--preset--font-size--extra-small);line-height:1.25}.plugin-reviews .review-date,.plugin-reviews .review-replies{color:var(--wp--preset--color--charcoal-4);font-size:var(--wp--preset--font-size--extra-small);margin-left:12px}.plugin-reviews .review-replies:before{content:"•";margin-right:12px}.plugin-reviews .review-content{margin:1em 0}@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}}.plugin-reviews .reviews-link{display:inline-block;font-size:var(--wp--preset--font-size--small);text-decoration:none}.plugin-reviews .reviews-link:after{content:"";float:right;font-family:dashicons;padding-left:5px;position:relative;top:1px;vertical-align:text-top}.download-history-stats td{text-align:right}.previous-versions{max-width:60%}@media screen and (min-width:737px){.previous-versions{height:32px;vertical-align:middle}}hr{margin:2.5rem auto}.section h1:nth-child(2),.section h2:nth-child(2),.section h3:nth-child(2),.section h4:nth-child(2),.section h5:nth-child(2),.section h6:nth-child(2){margin-top:0}.section-heading{font-family:var(--wp--preset--font-family--inter)!important;font-size:var(--wp--preset--font-size--heading-5)!important;font-style:normal;font-weight:600;line-height:var(--wp--custom--heading--level-5--typography--line-height)}.section-intro{color:var(--wp--preset--color--charcoal-4);font-size:var(--wp--preset--font-size--small);margin-bottom:var(--wp--preset--spacing--20);margin-top:var(--wp--preset--spacing--10)}.type-plugin .plugin-notice{margin-top:0}.type-plugin .plugin-header:after,.type-plugin .plugin-header:before{content:"";display:table;table-layout:fixed}.type-plugin .plugin-header:after{clear:both}.type-plugin .plugin-header{border-bottom:0;padding-top:var(--wp--preset--spacing--40)}.type-plugin .plugin-header .entry-heading-container{display:flex;flex-direction:column;justify-content:space-between}@media screen and (max-width:599px){.type-plugin .plugin-header .entry-heading-container{--wp--custom--button--spacing--padding--top:12px;--wp--custom--button--spacing--padding--bottom:12px;--wp--custom--button--spacing--padding--left:16px;--wp--custom--button--spacing--padding--right:16px}}@media screen and (min-width:700px){.type-plugin .plugin-header .entry-heading-container{flex-direction:row}}.type-plugin .plugin-header .entry-heading-container>:first-child{align-items:center;display:flex;flex:1}.type-plugin .plugin-header .plugin-actions{align-items:center;display:flex;gap:16px;margin-top:var(--wp--style--block-gap)}@media screen and (min-width:700px){.type-plugin .plugin-header .plugin-actions{margin-top:0;margin-inline-start:1rem}}.type-plugin .plugin-header .plugin-actions>.button,.type-plugin .plugin-header .plugin-actions>div{display:inline-block;text-align:center}@media screen and (max-width:34em){.type-plugin .plugin-header .plugin-actions>.button.download-button{display:none}}.type-plugin .plugin-header .plugin-title{clear:none;font-size:var(--wp--preset--font-size--heading-3);font-weight:400;line-height:var(--wp--custom--heading--level-3--typography--line-height);margin:0}.type-plugin .plugin-header .plugin-title a{color:inherit;text-decoration:none}.type-plugin .plugin-header .plugin-title a:hover{text-decoration:underline}.type-plugin .plugin-header .byline{color:var(--wp--preset--color--charcoal-4);display:block;margin-top:4px}.type-plugin .plugin-banner+.plugin-header{padding-top:0}.type-plugin .plugin-banner+.plugin-header>.notice:first-of-type{margin-top:0}.type-plugin .tabs{border-bottom:1px solid var(--wp--preset--color--light-grey-1);list-style:none;margin:0}.type-plugin .tabs li{border:1px solid #0000;display:inline-block;font-size:.9rem;margin-bottom:-1px;transition:background .2s ease}.type-plugin .tabs li a{background:#fff;border:0;color:var(--wp--preset--color--charcoal-1);display:block;font-size:var(--wp--preset--font-size--normal);padding:.64rem 1.25rem;text-decoration:none}.type-plugin .tabs li a.active,.type-plugin .tabs li a:hover{background:var(--wp--preset--color--light-grey-2)!important}.type-plugin .tabs li.active,.type-plugin .tabs li:hover{border:1px solid var(--wp--preset--color--light-grey-1)}@media screen and (max-width:38em){.type-plugin .tabs{border-top:1px solid var(--wp--preset--color--light-grey-1)}.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 var(--wp--preset--color--light-grey-1)}}@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 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;padding-left:0}.type-plugin .plugin-blocks-list .plugin-blocks-list-item{display:grid;grid-template-columns:auto 1fr;margin-bottom:var(--wp--style--block-gap)}.type-plugin .plugin-blocks-list .block-icon{border:1px solid var(--wp--preset--color--light-grey-1);border-radius:2px;display:inline-block;height:3.5rem;line-height:16px;margin-right:var(--wp--style--block-gap);padding:var(--wp--style--block-gap);width:3.5rem}.type-plugin .plugin-blocks-list .block-icon.dashicons{color:inherit}.type-plugin .plugin-blocks-list .block-icon.dashicons:before{margin-left:-3px}.type-plugin .plugin-blocks-list .block-icon svg{fill:currentColor;height:16px;margin-left:-1px;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:.4em}.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:1px solid var(--wp--preset--color--light-grey-1);border-bottom:0;padding-bottom:1px}@media screen and (max-width:38em){.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:1px!important}}.type-plugin span#section-links{display:flex;flex-flow:row wrap;margin-top:var(--wp--preset--spacing--30)}.type-plugin span#section-links .tabs{flex:1 1 auto;padding-left:0}@media screen and (max-width:38em){.type-plugin span#section-links .tabs{border:1px solid var(--wp--preset--color--light-grey-1)!important}.type-plugin span#section-links .tabs li{border:none!important}.type-plugin span#section-links{display:block}}.type-plugin #link-support{align-self:flex-end;border-bottom:1px solid var(--wp--preset--color--light-grey-1);flex:0 0 auto;font-size:.9rem}.type-plugin #link-support a{display:inline-block;font-size:var(--wp--preset--font-size--normal);padding:.64rem 0 .64rem 1.25rem}@media screen and (max-width:38em){.type-plugin #link-support{border-bottom:0;display:block;width:100%}.type-plugin #link-support a{padding-right:1.25rem}}.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{padding-left:0;padding-right:0}.type-plugin .entry-meta{float:right;width:30%}}.type-plugin .plugin-danger-zone h4{margin-top:var(--wp--preset--spacing--60)}.plugin-releases-listing{border-collapse:collapse;width:100%}.plugin-releases-listing tbody td:nth-child(4) div{font-size:14px}.plugin-releases-listing-actions{display:flex;flex-direction:column;gap:8px}@media screen and (min-width:34em){.plugin-releases-listing-actions{flex-direction:row}}.plugin-adopt-me{background:#e6f4fa;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:var(--wp--style--block-gap)}.widget.plugin-categorization .widget-head h2{font-size:var(--wp--preset--font-size--heading-4);margin-bottom:.2rem;margin-top:0}.widget.plugin-categorization .widget-head a{font-size:var(--wp--preset--font-size--small)}.widget.plugin-categorization .widget-head a[href=""]{display:none}.widget.plugin-categorization p{font-size:var(--wp--preset--font-size--small);margin-top:.5rem}.widget.plugin-categorization~.plugin-meta li:first-child{border-top:1px solid var(--wp--preset--color--light-grey-1)}.committer-list,.support-rep-list{list-style:none;margin:0;padding: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)}}.committer-list .new,.support-rep-list .new{margin-top:var(--wp--style--block-gap)}.plugin-contributors.read-more{border-bottom:1px solid var(--wp--preset--color--light-grey-1);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{list-style-type:none;margin:0;padding:0}.contributors-list li{align-items:center;display:flex;margin-bottom:1rem}.contributors-list .avatar{float:left;margin-right:10px}.plugin-meta{font-size:var(--wp--preset--font-size--small);margin-top:var(--wp--style--block-gap)}.plugin-meta ul{list-style-type:none;margin:0;padding:0}.plugin-meta li{border-top:1px solid var(--wp--preset--color--light-grey-1);display:inline-block;padding:.5rem 0;position:relative;width:100%}.plugin-meta li strong{float:right;font-weight:500}.plugin-meta li .plugin-admin{font-size:var(--wp--preset--font-size--normal);font-weight:400}.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 button{font-size:var(--wp--preset--font-size--small);outline:revert}.plugin-meta .languages .popover{margin-top:8px}.plugin-meta .languages .popover-trigger{color:var(--wp--custom--link--color--text);text-decoration:underline}.plugin-meta .languages .popover-trigger:hover{text-decoration:underline}.plugin-meta [rel=tag]{background:var(--wp--preset--color--blueberry-4);border-radius:2px;color:var(--wp--preset--color--charcoal-1);display:inline-block;font-size:var(--wp--preset--font-size--extra-small);margin:2px;max-width:95%;overflow:hidden;padding:3px 6px;position:relative;text-decoration:none;text-overflow:ellipsis;white-space:nowrap;width:auto}.plugin-meta [rel=tag]:hover{text-decoration:underline}.popover{background-color:#fff;border:1px solid var(--wp--preset--color--light-grey-1);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:var(--wp--custom--link--color--text);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-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:var(--wp--preset--color--light-grey-2);width:100%}.plugin-support .counter-bar{background-color:var(--wp--preset--color--acid-green-2);display:block}.plugin-support .counter-count{font-size:var(--wp--preset--font-size--extra-small);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:var(--wp--preset--font-size--small);margin:0;margin:var(--wp--style--block-gap);vertical-align:top;width:auto}@media screen and (min-width:737px){.home .widget,.widget-area.home .widget{margin:0;width:30%}.home .widget:first-child,.widget-area.home .widget:first-child{margin-right:5%}.home .widget:last-child,.widget-area.home .widget:last-child{margin-left:5%}}.home .widget select,.widget-area.home .widget select{max-width:100%}.entry-meta .widget-title{font-size:var(--wp--preset--font-size--heading-4)}body.single.single-plugin .entry-meta{font-size:var(--wp--preset--font-size--normal)}.widget-area{margin:0 auto;padding:var(--wp--preset--spacing--40) 0}.widget-area .widget-title{font-size:var(--wp--preset--font-size--heading-1);font-weight:var(--wp--custom--heading--typography--font-weight);margin-top:var(--wp--preset--spacing--50)}.widget-area .textwidget{text-wrap:pretty} diff --git a/wordpress.org/public_html/wp-content/themes/pub/wporg-plugins-2024/build/theme.asset.php b/wordpress.org/public_html/wp-content/themes/pub/wporg-plugins-2024/build/theme.asset.php deleted file mode 100644 index ccd850d268..0000000000 --- a/wordpress.org/public_html/wp-content/themes/pub/wporg-plugins-2024/build/theme.asset.php +++ /dev/null @@ -1 +0,0 @@ - array('react-jsx-runtime', 'wp-element'), 'version' => 'f72a953d2db7329583fb'); diff --git a/wordpress.org/public_html/wp-content/themes/pub/wporg-plugins-2024/build/theme.js b/wordpress.org/public_html/wp-content/themes/pub/wporg-plugins-2024/build/theme.js deleted file mode 100644 index b7be7188e2..0000000000 --- a/wordpress.org/public_html/wp-content/themes/pub/wporg-plugins-2024/build/theme.js +++ /dev/null @@ -1 +0,0 @@ -(()=>{var e={694(e,t,s){"use strict";var i=s(925);function n(){}function r(){}r.resetWarningCache=n,e.exports=function(){function e(e,t,s,n,r,a){if(a!==i){var l=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw l.name="Invariant Violation",l}}function t(){return e}e.isRequired=e;var s={array:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:r,resetWarningCache:n};return s.PropTypes=s,s}},556(e,t,s){e.exports=s(694)()},925(e){"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"}},t={};function s(i){var n=t[i];if(void 0!==n)return n.exports;var r=t[i]={exports:{}};return e[i](r,r.exports,s),r.exports}s.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return s.d(t,{a:t}),t},s.d=(e,t)=>{for(var i in t)s.o(t,i)&&!s.o(e,i)&&Object.defineProperty(e,i,{enumerable:!0,get:t[i]})},s.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{"use strict";const e=window.wp.element;var t=s(556),i=s.n(t);const n=window.ReactJSXRuntime;function r(...e){const t=function(e,t){let s,i,n,r=null,a=0,l=function(){a=(new Date).getTime(),r=null,n=e.apply(s,i),r||(s=i=null)};return function(){let h=(new Date).getTime(),o=t-(h-a);return s=this,i=arguments,o<=0||o>t?(r&&(clearTimeout(r),r=null),a=h,n=e.apply(s,i),r||(s=i=null)):r||(r=setTimeout(l,o)),n}}(...e);return function(e){return e?(e.persist(),t(e)):t()}}class a extends React.Component{constructor(e){super(e),this.state={currentIndex:e.startIndex,thumbsTranslateX:0,offsetPercentage:0,galleryWidth:0,thumbnailWidth:0}}componentWillReceiveProps(e){this.props.disableArrowKeys!==e.disableArrowKeys&&(e.disableArrowKeys?window.removeEventListener("keydown",this._handleKeyDown):window.addEventListener("keydown",this._handleKeyDown))}componentDidUpdate(e,t){t.thumbnailWidth===this.state.thumbnailWidth&&e.showThumbnails===this.props.showThumbnails||this._setThumbsTranslateX(-this._getThumbsTranslateX(this.state.currentIndex>0?1:0)*this.state.currentIndex),t.currentIndex!==this.state.currentIndex&&this._updateThumbnailTranslateX(t)}componentWillMount(){this._slideLeft=r(this._slideLeft.bind(this),500,!0),this._slideRight=r(this._slideRight.bind(this),500,!0),this._handleResize=this._handleResize.bind(this),this._handleKeyDown=this._handleKeyDown.bind(this),this._thumbnailDelay=300}componentDidMount(){window.setTimeout(()=>this._handleResize(),500),this.props.disableArrowKeys||window.addEventListener("keydown",this._handleKeyDown),window.addEventListener("resize",this._handleResize)}componentWillUnmount(){this.props.disableArrowKeys||window.removeEventListener("keydown",this._handleKeyDown),window.removeEventListener("resize",this._handleResize),this._intervalId&&(window.clearInterval(this._intervalId),this._intervalId=null)}fullScreen(){const e=this._imageGallery;e.requestFullscreen?e.requestFullscreen():e.msRequestFullscreen?e.msRequestFullscreen():e.mozRequestFullScreen?e.mozRequestFullScreen():e.webkitRequestFullscreen&&e.webkitRequestFullscreen()}slideToIndex(e,t){t&&t.preventDefault();let s=this.props.items.length-1,i=e;e<0?i=s:e>s&&(i=0),this.setState({previousIndex:this.state.currentIndex,currentIndex:i,offsetPercentage:0,style:{transition:"transform 0.45s ease-out"}})}getCurrentIndex(){return this.state.currentIndex}_handleResize(){this._imageGallery&&this.setState({galleryWidth:this._imageGallery.offsetWidth}),this._imageGalleryThumbnail&&this.setState({thumbnailWidth:this._imageGalleryThumbnail.offsetWidth})}_handleKeyDown(e){switch(parseInt(e.keyCode||e.which||0)){case 37:this._canSlideLeft()&&!this._intervalId&&this._slideLeft();break;case 39:this._canSlideRight()&&!this._intervalId&&this._slideRight()}}_handleMouseOverThumbnails(e){this.props.slideOnThumbnailHover&&(this.setState({hovering:!0}),this._thumbnailTimer&&(window.clearTimeout(this._thumbnailTimer),this._thumbnailTimer=null),this._thumbnailTimer=window.setTimeout(()=>{this.slideToIndex(e)},this._thumbnailDelay))}_handleMouseLeaveThumbnails(){this._thumbnailTimer&&(window.clearTimeout(this._thumbnailTimer),this._thumbnailTimer=null),this.setState({hovering:!1})}_handleMouseOver(){this.setState({hovering:!0})}_handleMouseLeave(){this.setState({hovering:!1})}_handleImageError(e){this.props.defaultImage&&-1===e.target.src.indexOf(this.props.defaultImage)&&(e.target.src=this.props.defaultImage)}_canNavigate(){return this.props.items.length>=2}_canSlideLeft(){return this.props.infinite||this.state.currentIndex>0}_canSlideRight(){return this.props.infinite||this.state.currentIndex0&&(e.currentIndexthis.state.currentIndex&&this._setThumbsTranslateX(this.state.thumbsTranslateX+s))}}_setThumbsTranslateX(e){this.setState({thumbsTranslateX:e})}_getThumbsTranslateX(e){if(this.props.disableThumbnailScroll)return 0;const{thumbnailWidth:t}=this.state;if(this._thumbnails){if(this._thumbnails.scrollWidth<=t)return 0;let s=this._thumbnails.children.length;return e*((this._thumbnails.scrollWidth-t)/(s-1))}}_getAlignmentClassName(e){let{currentIndex:t}=this.state,s="";const i="left",n="right";switch(e){case t-1:s=` ${i}`;break;case t:s=" center";break;case t+1:s=` ${n}`}return this.props.items.length>=3&&this.props.infinite&&(0===e&&t===this.props.items.length-1?s=` ${n}`:e===this.props.items.length-1&&0===t&&(s=` ${i}`)),s}_getTranslateXForTwoSlide(e){const{currentIndex:t,offsetPercentage:s,previousIndex:i}=this.state;let n=-100*t+100*e+s;return s>0?this.direction="left":s<0&&(this.direction="right"),0===t&&1===e&&s>0?n=-100+s:1===t&&0===e&&s<0&&(n=100+s),t!==i?0===i&&0===e&&0===s&&"left"===this.direction?n=100:1===i&&1===e&&0===s&&"right"===this.direction&&(n=-100):0===t&&1===e&&0===s&&"left"===this.direction?n=-100:1===t&&0===e&&0===s&&"right"===this.direction&&(n=100),n}_getSlideStyle(e){const{currentIndex:t,offsetPercentage:s}=this.state,{infinite:i,items:n}=this.props,r=-100*t,a=n.length-1;let l=r+100*e+s,h=1;e===t?h=3:e===this.state.previousIndex&&(h=2),i&&n.length>2&&(0===t&&e===a?l=-100+s:t===a&&0===e&&(l=100+s)),i&&2===n.length&&(l=this._getTranslateXForTwoSlide(e));const o=`translate3d(${l}%, 0, 0)`;return{WebkitTransform:o,MozTransform:o,msTransform:o,OTransform:o,transform:o,zIndex:h}}_getThumbnailStyle(){const e=`translate3d(${this.state.thumbsTranslateX}px, 0, 0)`;return{WebkitTransform:e,MozTransform:e,msTransform:e,OTransform:e,transform:e}}_slideLeft(e){this.slideToIndex(this.state.currentIndex-1,e)}_slideRight(e){this.slideToIndex(this.state.currentIndex+1,e)}_renderItem(e){return(0,n.jsxs)("figure",{className:"image-gallery-image",children:[(0,n.jsx)("a",{href:e.original,children:(0,n.jsx)("img",{src:e.original,alt:e.originalAlt,srcSet:e.srcSet,sizes:e.sizes,onLoad:this.props.onImageLoad,onError:this._handleImageError.bind(this)})}),e.description&&(0,n.jsx)("figcaption",{className:"image-gallery-description",children:e.description})]})}render(){const{currentIndex:e}=this.state,t=this._getThumbnailStyle(),s=this._slideLeft.bind(this),i=this._slideRight.bind(this);let r=[],a=[];return this.props.items.map((t,s)=>{const i=this._getAlignmentClassName(s),l=t.originalClass?` ${t.originalClass}`:"",h=t.thumbnailClass?` ${t.thumbnailClass}`:"",o=t.renderItem||this.props.renderItem||this._renderItem.bind(this),d=(0,n.jsx)("div",{className:"image-gallery-slide"+i+l,style:Object.assign(this._getSlideStyle(s),this.state.style),onClick:this.props.onClick,children:o(t)},s);this.props.lazyLoad?i&&r.push(d):r.push(d),a.push((0,n.jsxs)("button",{type:"button",onMouseOver:this._handleMouseOverThumbnails.bind(this,s),onMouseLeave:this._handleMouseLeaveThumbnails.bind(this,s),className:"button-link image-gallery-thumbnail"+(e===s?" active":"")+h,onTouchStart:e=>this.slideToIndex.call(this,s,e),onClick:e=>this.slideToIndex.call(this,s,e),children:[(0,n.jsx)("img",{src:t.thumbnail,alt:t.thumbnailAlt,onError:this._handleImageError.bind(this)}),(0,n.jsx)("div",{className:"image-gallery-thumbnail-label",children:t.thumbnailLabel})]},s))}),(0,n.jsxs)("section",{ref:e=>this._imageGallery=e,className:"image-gallery",children:[(0,n.jsxs)("div",{onMouseOver:this._handleMouseOver.bind(this),onMouseLeave:this._handleMouseLeave.bind(this),className:"image-gallery-content",children:[this._canNavigate()?[this.props.showNav&&(0,n.jsxs)("span",{children:[this._canSlideLeft()&&(0,n.jsx)("button",{type:"button",className:"button-link image-gallery-left-nav",onClick:s}),this._canSlideRight()&&(0,n.jsx)("button",{type:"button",className:"button-link image-gallery-right-nav",onClick:i})]},"navigation"),(0,n.jsx)("div",{className:"image-gallery-slides",children:r},this.state.currentIndex)]:(0,n.jsx)("div",{className:"image-gallery-slides",children:r}),this.props.showIndex&&(0,n.jsxs)("div",{className:"image-gallery-index",children:[(0,n.jsx)("span",{className:"image-gallery-index-current",children:this.state.currentIndex+1}),(0,n.jsx)("span",{className:"image-gallery-index-separator",children:this.props.indexSeparator}),(0,n.jsx)("span",{className:"image-gallery-index-total",children:this.props.items.length})]})]}),(0,n.jsx)("div",{className:"image-gallery-thumbnails",ref:e=>this._imageGalleryThumbnail=e,children:(0,n.jsx)("div",{ref:e=>this._thumbnails=e,className:"image-gallery-thumbnails-container",style:t,children:a})})]})}}a.propTypes={items:i().array.isRequired,showNav:i().bool,lazyLoad:i().bool,infinite:i().bool,showIndex:i().bool,showThumbnails:i().bool,slideOnThumbnailHover:i().bool,disableThumbnailScroll:i().bool,disableArrowKeys:i().bool,defaultImage:i().string,indexSeparator:i().string,startIndex:i().number,slideInterval:i().number,onClick:i().func,onImageLoad:i().func,onImageError:i().func,renderItem:i().func},a.defaultProps={items:[],showNav:!0,lazyLoad:!1,infinite:!0,showIndex:!1,showThumbnails:!0,slideOnThumbnailHover:!1,disableThumbnailScroll:!1,disableArrowKeys:!1,indexSeparator:" / ",startIndex:0,slideInterval:3e3};const l=({screenshots:e=[]})=>{if(!e)return null;const t=e.map(({caption:e,src:t})=>({original:t,originalAlt:"",thumbnail:t,thumbnailAlt:e||"",description:e||!1}));return(0,n.jsxs)("div",{id:"screenshots",className:"plugin-screenshots",children:[(0,n.jsx)("h2",{children:localeData.screenshots}),(0,n.jsx)(a,{items:t})]})};!function(){const t=document.getElementById("screenshots");if(!t)return;const s=t.querySelectorAll("figure"),i=[];for(let e=0;e0&&(0,e.render)((0,n.jsx)(l,{screenshots:i}),t)}()})()})(); \ No newline at end of file diff --git a/wordpress.org/public_html/wp-content/themes/pub/wporg-plugins-2024/client/style.scss b/wordpress.org/public_html/wp-content/themes/pub/wporg-plugins-2024/client/main.scss similarity index 100% rename from wordpress.org/public_html/wp-content/themes/pub/wporg-plugins-2024/client/style.scss rename to wordpress.org/public_html/wp-content/themes/pub/wporg-plugins-2024/client/main.scss diff --git a/wordpress.org/public_html/wp-content/themes/pub/wporg-plugins-2024/eslint.config.js b/wordpress.org/public_html/wp-content/themes/pub/wporg-plugins-2024/eslint.config.js new file mode 100644 index 0000000000..f762a5273c --- /dev/null +++ b/wordpress.org/public_html/wp-content/themes/pub/wporg-plugins-2024/eslint.config.js @@ -0,0 +1,18 @@ +/** + * ESLint configuration for the Plugin Directory theme. + */ + +const defaultConfig = require( '@wordpress/scripts/config/eslint.config.cjs' ); + +module.exports = [ + { + ignores: [ '*.js' ], + }, + ...defaultConfig, + { + rules: { + // WordPress packages are provided at runtime as script dependencies. + 'import/no-unresolved': [ 'error', { ignore: [ '^@wordpress/' ] } ], + }, + }, +]; diff --git a/wordpress.org/public_html/wp-content/themes/pub/wporg-plugins-2024/functions.php b/wordpress.org/public_html/wp-content/themes/pub/wporg-plugins-2024/functions.php index 806b59a762..cda9389671 100644 --- a/wordpress.org/public_html/wp-content/themes/pub/wporg-plugins-2024/functions.php +++ b/wordpress.org/public_html/wp-content/themes/pub/wporg-plugins-2024/functions.php @@ -99,11 +99,11 @@ function scripts() { wp_scripts()->add_data( 'jquery-core', 'group', 1 ); wp_scripts()->add_data( 'jquery-migrate', 'group', 1 ); - wp_enqueue_script( 'wporg-navigation', get_stylesheet_directory_uri() . '/js/navigation.js', array(), '20181209', true ); - wp_enqueue_script( 'wporg-skip-link-focus-fix', get_stylesheet_directory_uri() . '/js/skip-link-focus-fix.js', array(), '20151215', true ); + wp_enqueue_script( 'wporg-navigation', get_stylesheet_directory_uri() . '/js/navigation.js', array(), filemtime( __DIR__ . '/js/navigation.js' ), true ); + wp_enqueue_script( 'wporg-skip-link-focus-fix', get_stylesheet_directory_uri() . '/js/skip-link-focus-fix.js', array(), filemtime( __DIR__ . '/js/skip-link-focus-fix.js' ), true ); if ( is_singular( 'plugin' ) ) { - wp_enqueue_script( 'wporg-plugins-popover', get_stylesheet_directory_uri() . '/js/popover.js', array( 'jquery' ), '20171002', true ); + wp_enqueue_script( 'wporg-plugins-popover', get_stylesheet_directory_uri() . '/js/popover.js', array( 'jquery' ), filemtime( __DIR__ . '/js/popover.js' ), true ); wp_enqueue_script( 'wporg-plugins-faq', get_stylesheet_directory_uri() . '/js/section-faq.js', array( 'jquery' ), filemtime( __DIR__ . '/js/section-faq.js' ), true ); $post = get_post(); @@ -120,7 +120,7 @@ function scripts() { if ( get_query_var( 'plugin_advanced' ) ) { wp_enqueue_script( 'google-charts-loader', 'https://www.gstatic.com/charts/loader.js', array(), false, true ); - wp_enqueue_script( 'wporg-plugins-stats', get_stylesheet_directory_uri() . '/js/stats.js', array( 'jquery', 'google-charts-loader' ), '20260929', true ); + wp_enqueue_script( 'wporg-plugins-stats', get_stylesheet_directory_uri() . '/js/stats.js', array( 'jquery', 'google-charts-loader' ), filemtime( __DIR__ . '/js/stats.js' ), true ); wp_localize_script( 'wporg-plugins-stats', 'pluginStats', array( 'slug' => is_singular( 'plugin' ) ? get_queried_object()->post_name : '', diff --git a/wordpress.org/public_html/wp-content/themes/pub/wporg-plugins-2024/js/navigation.js b/wordpress.org/public_html/wp-content/themes/pub/wporg-plugins-2024/js/navigation.js index 1c963cb865..c49f241192 100644 --- a/wordpress.org/public_html/wp-content/themes/pub/wporg-plugins-2024/js/navigation.js +++ b/wordpress.org/public_html/wp-content/themes/pub/wporg-plugins-2024/js/navigation.js @@ -4,20 +4,20 @@ * Handles toggling the navigation menu for small screens and enables TAB key * navigation support for dropdown menus. */ -( function() { - var container, button, menu, links, subMenus, i, len; +( function () { + let i, len; - container = document.getElementById( 'site-navigation' ); + const container = document.getElementById( 'site-navigation' ); if ( ! container ) { return; } - button = container.getElementsByTagName( 'button' )[0]; + const button = container.getElementsByTagName( 'button' )[ 0 ]; if ( 'undefined' === typeof button ) { return; } - menu = container.getElementsByTagName( 'ul' )[0]; + const menu = container.getElementsByTagName( 'ul' )[ 0 ]; // Hide menu toggle button if menu is empty and return early. if ( 'undefined' === typeof menu ) { @@ -29,7 +29,7 @@ menu.className += ' nav-menu'; } - button.onclick = function() { + button.onclick = function () { if ( -1 !== container.className.indexOf( 'toggled' ) ) { container.className = container.className.replace( ' toggled', '' ); button.setAttribute( 'aria-expanded', 'false' ); @@ -40,29 +40,28 @@ }; // Get all the link elements within the menu. - links = menu.getElementsByTagName( 'a' ); - subMenus = menu.getElementsByTagName( 'ul' ); + const links = menu.getElementsByTagName( 'a' ); + const subMenus = menu.getElementsByTagName( 'ul' ); // Set menu items with submenus to aria-haspopup="true". for ( i = 0, len = subMenus.length; i < len; i++ ) { - subMenus[i].parentNode.setAttribute( 'aria-haspopup', 'true' ); + subMenus[ i ].parentNode.setAttribute( 'aria-haspopup', 'true' ); } // Each time a menu link is focused or blurred, toggle focus. for ( i = 0, len = links.length; i < len; i++ ) { - links[i].addEventListener( 'focus', toggleFocus, true ); - links[i].addEventListener( 'blur', toggleFocus, true ); + links[ i ].addEventListener( 'focus', toggleFocus, true ); + links[ i ].addEventListener( 'blur', toggleFocus, true ); } /** * Sets or removes .focus class on an element. */ function toggleFocus() { - var self = this; + let self = this; // Move up through the ancestors of the current link until we hit .nav-menu. while ( -1 === self.className.indexOf( 'nav-menu' ) ) { - // On li elements toggle the class .focus. if ( 'li' === self.tagName.toLowerCase() ) { if ( -1 !== self.className.indexOf( 'focus' ) ) { diff --git a/wordpress.org/public_html/wp-content/themes/pub/wporg-plugins-2024/js/popover.js b/wordpress.org/public_html/wp-content/themes/pub/wporg-plugins-2024/js/popover.js index 6dea646bbd..ccadb7334b 100644 --- a/wordpress.org/public_html/wp-content/themes/pub/wporg-plugins-2024/js/popover.js +++ b/wordpress.org/public_html/wp-content/themes/pub/wporg-plugins-2024/js/popover.js @@ -1,5 +1,5 @@ -( function( $ ) { - var $document = $( document ); +( function ( $ ) { + const $document = $( document ); function closePopover( $popover, $trigger ) { $popover.removeClass( 'is-visible' ); @@ -7,16 +7,16 @@ $document.off( 'click.popover-close keydown.popover-close' ); } - $( '.popover-trigger' ).each( function() { - var $el = $( this ); - var target = $el.data( 'target' ); - var $target = $( '#' + target ); + $( '.popover-trigger' ).each( function () { + const $el = $( this ); + const target = $el.data( 'target' ); + const $target = $( '#' + target ); if ( ! $target.length ) { return; } - $el.on( 'click', function( event ) { + $el.on( 'click', function ( event ) { if ( $target.hasClass( 'is-visible' ) ) { return; } @@ -26,21 +26,31 @@ $target.addClass( 'is-visible' ); $el.attr( 'aria-expanded', 'true' ); - var $closeButton = $target.find( '.popover-close' ); + const $closeButton = $target.find( '.popover-close' ); - $closeButton.on( 'click.popover-close', function() { + $closeButton.on( 'click.popover-close', function () { closePopover( $target, $el ); } ); $closeButton.focus(); - $document.on( 'click.popover-close keydown.popover-close', function( event ) { - if ( 'keydown' === event.type && 27 === event.which ) { // Esc key. - closePopover( $target, $el ); - } else if ( $target[0] !== event.target && ! $.contains( $target[0], event.target ) ) { - closePopover( $target, $el ); + $document.on( + 'click.popover-close keydown.popover-close', + function ( closeEvent ) { + if ( + 'keydown' === closeEvent.type && + 27 === closeEvent.which + ) { + // Esc key. + closePopover( $target, $el ); + } else if ( + $target[ 0 ] !== closeEvent.target && + ! $.contains( $target[ 0 ], closeEvent.target ) + ) { + closePopover( $target, $el ); + } } - } ); + ); } ); } ); -} )( jQuery ); +} )( window.jQuery ); diff --git a/wordpress.org/public_html/wp-content/themes/pub/wporg-plugins-2024/js/section-categorization.js b/wordpress.org/public_html/wp-content/themes/pub/wporg-plugins-2024/js/section-categorization.js index 40807425be..6f8fd50466 100644 --- a/wordpress.org/public_html/wp-content/themes/pub/wporg-plugins-2024/js/section-categorization.js +++ b/wordpress.org/public_html/wp-content/themes/pub/wporg-plugins-2024/js/section-categorization.js @@ -1,42 +1,56 @@ -( function( wp, pluginDir ) { - const logError = function( result ) { +( function ( wp, pluginDir ) { + const logError = function ( result ) { document.querySelector( '.spinner' )?.classList.remove( 'spinner' ); const error = result.status + ': ' + result.statusText; //result = JSON.parse( result.responseText ); //if ( typeof result.message !== 'undefined' ) { - alert( error ); + // eslint-disable-next-line no-alert + window.alert( error ); //} }; - document.addEventListener( 'submit', event => { - const form = event.target.closest('form'); - const submitButton = form.querySelector('button[type="submit"]'); - const successMsg = form.querySelector('.success-msg'); + document.addEventListener( 'submit', ( event ) => { + const form = event.target.closest( 'form' ); - if ( ! form || ! ['commercial', 'community'].includes(form.id) ) { + if ( ! form || ! [ 'commercial', 'community' ].includes( form.id ) ) { return; } + const submitButton = form.querySelector( 'button[type="submit"]' ); + const successMsg = form.querySelector( '.success-msg' ); + event.preventDefault(); successMsg?.classList.remove( 'saved' ); - let field_name = ''; + let fieldName = ''; + let restName = ''; if ( 'commercial' === form.id ) { - field_name = 'external_support_url'; - rest_name = 'supportURL'; + fieldName = 'external_support_url'; + restName = 'supportURL'; } else { - field_name = 'external_repository_url'; - rest_name = 'repositoryURL'; + fieldName = 'external_repository_url'; + restName = 'repositoryURL'; } - let fieldInput = form.querySelector( 'input[name="' + field_name + '"]' ), - button = form.querySelector( '.button-small' )?.classList.add( 'spinner' ), - url = pluginDir.restUrl + 'plugins/v1/plugin/' + pluginDir.pluginSlug + '/' + form.id + '/?_wpnonce=' + pluginDir.restNonce - + '&_wporg_action=' + pluginDir.actionNonce, + const fieldInput = form.querySelector( + 'input[name="' + fieldName + '"]' + ), + button = form.querySelector( '.button-small' ), + url = + pluginDir.restUrl + + 'plugins/v1/plugin/' + + pluginDir.pluginSlug + + '/' + + form.id + + '/?_wpnonce=' + + pluginDir.restNonce + + '&_wporg_action=' + + pluginDir.actionNonce, originalValue = fieldInput.dataset.originalValue ?? ''; + button?.classList.add( 'spinner' ); submitButton.disabled = true; fetch( url, { @@ -44,43 +58,44 @@ headers: { 'Content-Type': 'application/json', }, - body: JSON.stringify({ - [rest_name]: fieldInput.value, - }), - }) - .then((response) => { - if ( !response.ok ) { - logError(response); + body: JSON.stringify( { + [ restName ]: fieldInput.value, + } ), + } ) + .then( ( response ) => { + if ( ! response.ok ) { + logError( response ); } return response; - }) - .then((response) => { + } ) + .then( ( response ) => { return response.json(); - }) - .then((data) => { + } ) + .then( ( data ) => { let fieldValue; - if ( typeof data[rest_name] !== 'undefined' ) { + if ( typeof data[ restName ] !== 'undefined' ) { successMsg?.classList.add( 'saved' ); // Use value sanitized and saved by server. - fieldValue = data[rest_name]; + fieldValue = data[ restName ]; } else { // Restore original value. fieldValue = originalValue; } fieldInput.value = fieldValue; // Update widget. - const widgetLink = document.querySelector('.widget.plugin-categorization .widget-head a'); + const widgetLink = document.querySelector( + '.widget.plugin-categorization .widget-head a' + ); if ( widgetLink ) { widgetLink.attributes.href.value = fieldValue; } submitButton.disabled = false; button?.classList.remove( 'spinner' ); - }) - .catch((error) => { - logError(error); + } ) + .catch( ( error ) => { + logError( error ); fieldInput.value = originalValue; submitButton.disabled = false; - }) + } ); } ); } )( window.wp, window.categorizationOptions ); - diff --git a/wordpress.org/public_html/wp-content/themes/pub/wporg-plugins-2024/js/section-faq.js b/wordpress.org/public_html/wp-content/themes/pub/wporg-plugins-2024/js/section-faq.js index 651bf0b0db..bcfc559a5a 100644 --- a/wordpress.org/public_html/wp-content/themes/pub/wporg-plugins-2024/js/section-faq.js +++ b/wordpress.org/public_html/wp-content/themes/pub/wporg-plugins-2024/js/section-faq.js @@ -1,31 +1,42 @@ -( function( $ ) { - var questions = $( 'dt', '#faq' ); +( function ( $ ) { + const questions = $( 'dt', '#faq' ); questions - .each( function( index, question ) { - var $question = $( question ), - $button = $( '