diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index d814229c2..b97f61268 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -11,16 +11,16 @@ jobs: steps: - uses: actions/checkout@v4 - uses: actions/setup-node@v4 + with: + node-version: 'lts/Jod' - name: Install dependencies run: | cd wp-content/themes/mediasanctuary npm install - - name: Build run: | cd wp-content/themes/mediasanctuary npm run build - - name: Sync env: dest: "devmediasan@claudette.mayfirst.org:/home/members/nyma/sites/dev.mediasanctuary.org/web/wp-content/" @@ -36,4 +36,6 @@ jobs: --human-readable \ --filter='P uploads' \ --exclude wp-content/uploads \ + --exclude deploy_key \ ./wp-content/ ${{env.dest}} + rm deploy_key diff --git a/.nvmrc b/.nvmrc new file mode 100644 index 000000000..92f279e3e --- /dev/null +++ b/.nvmrc @@ -0,0 +1 @@ +v22 \ No newline at end of file diff --git a/README.md b/README.md index 782a30100..adfe6ae8f 100644 --- a/README.md +++ b/README.md @@ -8,7 +8,7 @@ This is a WordPress site, the theme `mediasanctuary` and the plugins it depends ## Developer dependencies -* [node.js](https://nodejs.org/) v16 +* [node.js](https://nodejs.org/) v22 * [Docker Desktop](https://www.docker.com/products/docker-desktop) ## How to run locally diff --git a/bin/start b/bin/start index 8394ce438..344559ba9 100755 --- a/bin/start +++ b/bin/start @@ -1,4 +1,4 @@ -#!/bin/bash +#!/usr/bin/env bash set -o errexit set -o pipefail @@ -7,6 +7,12 @@ set -o nounset dir="$( cd "$(dirname "$( dirname "${BASH_SOURCE[0]}" )" )" >/dev/null 2>&1 && pwd )" mkdir -p "$dir/wp-content/uploads" +# use nvm if it's installed +if [ -f ~/.nvm/nvm.sh ] ; then + source ~/.nvm/nvm.sh + nvm use +fi + stop_containers() { echo "Shutting off containers..." echo diff --git a/docker-compose.yml b/compose.yaml similarity index 87% rename from docker-compose.yml rename to compose.yaml index 481c8feca..6138e9967 100644 --- a/docker-compose.yml +++ b/compose.yaml @@ -1,4 +1,3 @@ -version: "3.5" services: web: build: @@ -13,6 +12,7 @@ services: WORDPRESS_CONFIG_EXTRA: | define( 'WP_DEBUG_LOG', true ); define( 'WP_DEBUG_DISPLAY', false ); + define( 'FEED_IMPORT', ['https://feeds.soundcloud.com/users/soundcloud:users:164222112/sounds.rss'] ); WORDPRESS_DEBUG: "true" volumes: - ./wp-content/plugins:/var/www/html/wp-content/plugins @@ -22,7 +22,7 @@ services: db: image: mariadb:10.5.8 ports: - - 3307:3306 + - 3306:3306 restart: always environment: MYSQL_DATABASE: wordpress diff --git a/wp-content/plugins/advanced-custom-fields-pro/acf.php b/wp-content/plugins/advanced-custom-fields-pro/acf.php index 744b33321..716ca9de0 100644 --- a/wp-content/plugins/advanced-custom-fields-pro/acf.php +++ b/wp-content/plugins/advanced-custom-fields-pro/acf.php @@ -9,10 +9,10 @@ * Plugin Name: Advanced Custom Fields PRO * Plugin URI: https://www.advancedcustomfields.com * Description: Customize WordPress with powerful, professional and intuitive fields. - * Version: 6.3.1 + * Version: 6.3.11 * Author: WP Engine * Author URI: https://wpengine.com/?utm_source=wordpress.org&utm_medium=referral&utm_campaign=plugin_directory&utm_content=advanced_custom_fields - * Update URI: https://www.advancedcustomfields.com/pro + * Update URI: false * Text Domain: acf * Domain Path: /lang * Requires PHP: 7.4 @@ -36,7 +36,7 @@ class ACF { * * @var string */ - public $version = '6.3.1'; + public $version = '6.3.11'; /** * The plugin settings array. @@ -130,6 +130,7 @@ public function initialize() { 'enable_shortcode' => true, 'enable_bidirection' => true, 'enable_block_bindings' => true, + 'enable_meta_box_cb_edit' => true, ); // Include utility functions. @@ -227,6 +228,9 @@ public function initialize() { // Include legacy. acf_include( 'includes/legacy/legacy-locations.php' ); + // Include updater. + acf_include( 'includes/Updater/Updater.php' ); + // Include PRO. acf_include( 'pro/acf-pro.php' ); @@ -391,12 +395,24 @@ public function init() { */ do_action( 'acf/include_taxonomies', ACF_MAJOR_VERSION ); - // If we're on 6.5 or newer, load block bindings. This will move to an autoloader in 6.3. + // If we're on 6.5 or newer, load block bindings. This will move to an autoloader in 6.4. if ( version_compare( get_bloginfo( 'version' ), '6.5-beta1', '>=' ) ) { acf_include( 'includes/Blocks/Bindings.php' ); new ACF\Blocks\Bindings(); } + // If we're ACF free, register the updater. + if ( function_exists( 'acf_is_pro' ) && ! acf_is_pro() ) { + acf_register_plugin_update( + array( + 'id' => 'acf', + 'slug' => acf_get_setting( 'slug' ), + 'basename' => acf_get_setting( 'basename' ), + 'version' => acf_get_setting( 'version' ), + ) + ); + } + /** * Fires after ACF is completely "initialized". * @@ -783,6 +799,73 @@ public function acf_plugin_activated() { } } + if ( ! class_exists( 'ACF_Updates' ) ) { + /** + * The main function responsible for returning the acf_updates singleton. + * Use this function like you would a global variable, except without needing to declare the global. + * + * Example: + * + * @since 5.5.12 + * + * @return ACF\Updater The singleton instance of Updater. + */ + function acf_updates() { + global $acf_updates; + if ( ! isset( $acf_updates ) ) { + $acf_updates = new ACF\Updater(); + } + return $acf_updates; + } + + /** + * Alias of acf_updates()->add_plugin(). + * + * @since 5.5.10 + * + * @param array $plugin Plugin data array. + */ + function acf_register_plugin_update( $plugin ) { + acf_updates()->add_plugin( $plugin ); + } + + /** + * Register a dummy ACF_Updates class for back compat. + */ + class ACF_Updates {} //phpcs:ignore -- Back compat. + } + + /** + * An ACF specific getter to replace `home_url` in our license checks to ensure we can avoid third party filters. + * + * @since 6.0.1 + * @since 6.2.8 - Renamed to acf_pro_get_home_url to match pro exclusive function naming. + * @since 6.3.10 - Renamed to acf_get_home_url now updater logic applies to free. + * + * @return string $home_url The output from home_url, sans known third party filters which cause license activation issues. + */ + function acf_get_home_url() { + if ( acf_is_pro() ) { + // Disable WPML and TranslatePress's home url overrides for our license check. + add_filter( 'wpml_get_home_url', 'acf_pro_license_ml_intercept', 99, 2 ); + add_filter( 'trp_home_url', 'acf_pro_license_ml_intercept', 99, 2 ); + + if ( acf_pro_is_legacy_multisite() && acf_is_multisite_sub_site() ) { + $home_url = get_home_url( get_main_site_id() ); + } else { + $home_url = home_url(); + } + + // Re-enable WPML and TranslatePress's home url overrides. + remove_filter( 'wpml_get_home_url', 'acf_pro_license_ml_intercept', 99 ); + remove_filter( 'trp_home_url', 'acf_pro_license_ml_intercept', 99 ); + } else { + $home_url = home_url(); + } + + return $home_url; + } + /** * The main function responsible for returning the one true acf Instance to functions everywhere. * Use this function like you would a global variable, except without needing to declare the global. diff --git a/wp-content/plugins/advanced-custom-fields-pro/assets/build/css/acf-dark.css b/wp-content/plugins/advanced-custom-fields-pro/assets/build/css/acf-dark.css deleted file mode 100644 index 05ae440e8..000000000 --- a/wp-content/plugins/advanced-custom-fields-pro/assets/build/css/acf-dark.css +++ /dev/null @@ -1,321 +0,0 @@ -/*!***************************************************************************************************************************************************************************************************************!*\ - !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].use[1]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./src/advanced-custom-fields-pro/assets/src/sass/acf-dark.scss ***! - \***************************************************************************************************************************************************************************************************************/ -/*-------------------------------------------------------------------------------------------- -* -* Dark mode -* -* WordPress plugin: https://en-au.wordpress.org/plugins/dark-mode/ -* Github Documentation: https://github.com/danieltj27/Dark-Mode/wiki/Help:-Plugin-Compatibility-Guide -* -*--------------------------------------------------------------------------------------------*/ -/*--------------------------------------------------------------------------------------------- -* -* Global -* -*---------------------------------------------------------------------------------------------*/ -.acf-box { - background-color: #32373c; - border-color: #191f25; - color: #bbc8d4; -} -.acf-box .title, -.acf-box .footer { - border-color: #23282d; -} -.acf-box h2 { - color: #bbc8d4; -} -.acf-box table, .acf-box tbody, .acf-box tr { - background: transparent !important; -} - -.acf-thead { - color: #bbc8d4; - border-color: #191f25; -} - -.acf-tfoot { - background-color: #2d3136; - border-color: #23282d; -} - -.acf-table.-clear, -.acf-table.-clear tr { - background: transparent !important; -} - -.acf-loading-overlay { - background: rgba(0, 0, 0, 0.5); -} - -/*--------------------------------------------------------------------------------------------- -* -* Fields -* -*---------------------------------------------------------------------------------------------*/ -.acf-fields > .acf-field { - border-color: #23282d; -} - -.acf-fields.-left > .acf-field:before { - background: rgba(0, 0, 0, 0.1); - border-color: #23282d; -} - -.acf-fields.-border { - background-color: #32373c; - border-color: #191f25; - color: #bbc8d4; -} - -.acf-field[data-width] + .acf-field[data-width] { - border-color: #23282d; -} - -.acf-input-prepend, -.acf-input-append { - background-color: #32373c; - border-color: #191f25; - color: #bbc8d4; -} - -.acf-fields > .acf-tab-wrap { - background-color: #32373c; - border-color: #191f25; - color: #bbc8d4; -} -.acf-fields > .acf-tab-wrap .acf-tab-group { - background-color: #2d3136; - border-color: #23282d; -} -.acf-fields > .acf-tab-wrap .acf-tab-group li a { - background-color: #2d3136; - border-color: #23282d; -} -.acf-fields > .acf-tab-wrap .acf-tab-group li a:hover { - background-color: #2d3136; - border-color: #23282d; - color: #bbc8d4; -} -.acf-fields > .acf-tab-wrap .acf-tab-group li.active a { - background-color: #32373c; - border-color: #191f25; - color: #bbc8d4; -} - -.acf-fields.-sidebar:before { - background-color: #2d3136; - border-color: #23282d; -} - -.acf-fields.-sidebar.-left:before { - background-color: #2d3136; - border-color: #23282d; - background: #23282d; -} -.acf-fields.-sidebar.-left > .acf-tab-wrap.-left .acf-tab-group li a { - background-color: #2d3136; - border-color: #23282d; -} -.acf-fields.-sidebar.-left > .acf-tab-wrap.-left .acf-tab-group li.active a { - background-color: #2d3136; - border-color: #23282d; -} - -.acf-file-uploader .show-if-value { - background-color: #32373c; - border-color: #191f25; - color: #bbc8d4; -} -.acf-file-uploader .show-if-value .file-icon { - background-color: #2d3136; - border-color: #23282d; -} - -.acf-oembed { - background-color: #2d3136; - border-color: #23282d; -} -.acf-oembed .title { - background-color: #50626f; - border-color: #191f25; - color: #fff; -} - -.acf-gallery { - background-color: #2d3136; - border-color: #23282d; -} -.acf-gallery .acf-gallery-main { - background: #23282d; -} -.acf-gallery .acf-gallery-attachment .margin { - background-color: #2d3136; - border-color: #23282d; -} -.acf-gallery .acf-gallery-side { - background-color: #2d3136; - border-color: #23282d; -} -.acf-gallery .acf-gallery-side .acf-gallery-side-info { - background-color: #2d3136; - border-color: #23282d; -} -.acf-gallery .acf-gallery-toolbar { - background-color: #2d3136; - border-color: #23282d; -} - -.acf-button-group label:not(.selected) { - background-color: #2d3136; - border-color: #23282d; -} - -.acf-switch:not(.-on) { - background-color: #2d3136; - border-color: #23282d; -} -.acf-switch:not(.-on) .acf-switch-slider { - background-color: #50626f; - border-color: #191f25; - color: #fff; -} - -.acf-link .link-wrap { - background-color: #2d3136; - border-color: #23282d; -} - -.acf-relationship .filters { - background-color: #32373c; - border-color: #191f25; - color: #bbc8d4; -} -.acf-relationship .selection { - background-color: #2d3136; - border-color: #23282d; -} -.acf-relationship .selection .choices, -.acf-relationship .selection .choices-list, -.acf-relationship .selection .values { - background-color: #2d3136; - border-color: #23282d; -} - -.acf-taxonomy-field .categorychecklist-holder { - background-color: #2d3136; - border-color: #23282d; -} - -.acf-google-map { - background-color: #2d3136; - border-color: #23282d; -} -.acf-google-map .title { - background-color: #50626f; - border-color: #191f25; - color: #fff; -} - -.acf-accordion { - background-color: #32373c; - border-color: #191f25; - color: #bbc8d4; -} - -.acf-field.acf-accordion .acf-accordion-content > .acf-fields { - border-color: #191f25; -} - -.acf-flexible-content .layout { - background-color: #32373c; - border-color: #191f25; - color: #bbc8d4; -} -.acf-flexible-content .layout .acf-fc-layout-handle { - background-color: #2d3136; - border-color: #23282d; -} -.acf-flexible-content .layout .acf-fc-layout-handle .acf-fc-layout-order { - background-color: #32373c; - border-color: #191f25; - color: #bbc8d4; -} - -#wpbody .acf-table { - background-color: #2d3136; - border-color: #23282d; -} -#wpbody .acf-table > tbody > tr, -#wpbody .acf-table > thead > tr { - background: transparent; -} -#wpbody .acf-table > tbody > tr > td, -#wpbody .acf-table > tbody > tr > th, -#wpbody .acf-table > thead > tr > td, -#wpbody .acf-table > thead > tr > th { - border-color: #191f25; -} - -.acf-field select optgroup, .acf-field select optgroup:nth-child(2n) { - background: #50626f; -} - -/*--------------------------------------------------------------------------------------------- -* -* Field Group -* -*---------------------------------------------------------------------------------------------*/ -#acf-field-group-fields .acf-field-list-wrap { - background-color: #32373c; - border-color: #191f25; - color: #bbc8d4; -} -#acf-field-group-fields .acf-field-list .no-fields-message { - background-color: #32373c; - border-color: #191f25; - color: #bbc8d4; -} -#acf-field-group-fields .acf-field-object { - background-color: #32373c; - border-color: #191f25; - color: #bbc8d4; - border-color: #23282d; -} -#acf-field-group-fields .acf-field-object table, #acf-field-group-fields .acf-field-object tbody, #acf-field-group-fields .acf-field-object tr, #acf-field-group-fields .acf-field-object td, #acf-field-group-fields .acf-field-object th { - background: transparent; - border-color: #23282d; -} -#acf-field-group-fields .acf-field-object .acf-field .acf-label { - background-color: #2d3136; - border-color: #23282d; -} -#acf-field-group-fields .acf-field-object.ui-sortable-helper { - border-color: #191f25; - box-shadow: none; -} -#acf-field-group-fields .acf-field-object.ui-sortable-placeholder { - background-color: #2d3136; - border-color: #23282d; - box-shadow: none; -} -#acf-field-group-fields .acf-field-object + .acf-field-object-tab::before, -#acf-field-group-fields .acf-field-object + .acf-field-object-accordion::before { - background-color: #2d3136; - border-color: #23282d; -} - -/*--------------------------------------------------------------------------------------------- -* -* Admin: Tools -* -*---------------------------------------------------------------------------------------------*/ -.acf-meta-box-wrap .acf-fields { - background-color: #50626f; - border-color: #191f25; - color: #fff; - background: transparent; -} - -/*# sourceMappingURL=acf-dark.css.map*/ \ No newline at end of file diff --git a/wp-content/plugins/advanced-custom-fields-pro/assets/build/css/acf-dark.css.map b/wp-content/plugins/advanced-custom-fields-pro/assets/build/css/acf-dark.css.map deleted file mode 100644 index 1430f7284..000000000 --- a/wp-content/plugins/advanced-custom-fields-pro/assets/build/css/acf-dark.css.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"acf-dark.css","mappings":"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","sources":["webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/sass/_dark.scss","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/sass/acf-dark.scss"],"sourcesContent":["/*--------------------------------------------------------------------------------------------\n*\n* Dark mode\n*\n* WordPress plugin: https://en-au.wordpress.org/plugins/dark-mode/\n* Github Documentation: https://github.com/danieltj27/Dark-Mode/wiki/Help:-Plugin-Compatibility-Guide\n*\n*--------------------------------------------------------------------------------------------*/\n\n// Dark Mode Colours.\n$white: #ffffff;\n$black: #000000;\n$blue: #0073aa;\n$medium-blue: #00a0d2;\n$clear: transparent;\n\n$accent-red: #dc3232;\n$accent-orange: #f56e28;\n$accent-yellow: #ffb900;\n$accent-green: #46b450;\n$accent-blue: $blue;\n$accent-purple: #826eb4;\n\n$base-grey: #23282d;\n$light-grey: #bbc8d4;\n$heavy-grey: #37444c;\n$dark-grey: #32373c;\n$ultra-grey: #191f25;\n$dark-silver: #50626f;\n$base-blue: #2e74aa;\n$light-blue: #4092d2;\n$dark-blue: #2c5f88;\n$ultra-blue: #1f3f58;\n$bright-blue: #30ceff;\n\n$editor-lavender: #c678dd;\n$editor-sunglo: #e06c75;\n$editor-olivine: #98c379;\n\n// Custom variables.\n$body_text: \t\t\t#bbc8d4;\n$body_background: \t\t#23282d;\n$body_background2: \t\t#191f25;\n$postbox_background: \t#32373c;\n$postbox_border: \t\t#191f25;\n$postbox_divider: \t\t#23282d;\n$input_background: \t\t#50626f;\n$input_text: \t\t\t#fff;\n$input_border: \t\t\t#191f25;\n\n// Mixins.\n@mixin dark-text() {\n\tcolor: $body_text;\n}\n@mixin dark-heading() {\n\tcolor: $body_text;\n}\n@mixin dark-border() {\n\tborder-color: $postbox_border;\n}\n@mixin dark-background() {\n\tbackground: $body_background;\n}\n@mixin darker-background() {\n\tbackground: darken($body_background, 5%);\n}\n@mixin dark-postbox() {\n\tbackground-color: $postbox_background;\n\tborder-color: $postbox_border;\n\tcolor: $body_text;\n}\n@mixin dark-postbox-block() {\n\tbackground-color: #2d3136;\n\tborder-color: $postbox_divider;\n}\n@mixin dark-divider() {\n\tborder-color: $postbox_divider;\n}\n@mixin dark-input() {\n\tbackground-color: $input_background;\n\tborder-color: $input_border;\n\tcolor: $input_text;\n}\n\n\n/*---------------------------------------------------------------------------------------------\n*\n* Global\n*\n*---------------------------------------------------------------------------------------------*/\n\n// acf-box\n.acf-box {\n\t@include dark-postbox();\n\n\t.title,\n\t.footer {\n\t\t@include dark-divider();\n\t}\n\n\th2 {\n\t\t@include dark-heading();\n\t}\n\n\ttable, tbody, tr {\n\t\tbackground: transparent !important;\n\t}\n}\n\n// thead\n.acf-thead {\n\t@include dark-heading();\n\t@include dark-border();\n}\n.acf-tfoot {\n\t@include dark-postbox-block();\n}\n\n// table clear\n.acf-table.-clear,\n.acf-table.-clear tr {\n\tbackground: transparent !important;\n}\n\n// loading overlay\n.acf-loading-overlay {\n\tbackground: rgba(0,0,0,0.5);\n}\n\n\n/*---------------------------------------------------------------------------------------------\n*\n* Fields\n*\n*---------------------------------------------------------------------------------------------*/\n\n// fields\n.acf-fields {\n\n\t// field\n\t> .acf-field {\n\t\t@include dark-divider();\n\t}\n}\n\n// fields (left)\n.acf-fields.-left {\n\n\t> .acf-field {\n\t\t&:before {\n\t\t\tbackground: rgba(0,0,0,0.1);\n\t\t\t@include dark-divider();\n\t\t}\n\t}\n}\n\n// fields (border)\n.acf-fields.-border {\n\t@include dark-postbox();\n}\n\n// width\n.acf-field[data-width] + .acf-field[data-width] {\n\t@include dark-divider();\n}\n\n// text\n.acf-input-prepend,\n.acf-input-append {\n\t@include dark-postbox();\n}\n\n// tab\n.acf-tab-wrap {\n\n}\n\n.acf-fields > .acf-tab-wrap {\n\t@include dark-postbox();\n\n\t.acf-tab-group {\n\t\t@include dark-postbox-block();\n\n\t\tli {\n\t\t\ta {\n\t\t\t\t@include dark-postbox-block();\n\n\t\t\t\t&:hover {\n\t\t\t\t\t@include dark-postbox-block();\n\t\t\t\t\t@include dark-text();\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t&.active a {\n\t\t\t\t@include dark-postbox();\n\t\t\t}\n\t\t}\n\t}\n}\n\n.acf-fields.-sidebar {\n\t&:before {\n\t\t@include dark-postbox-block();\n\t}\n}\n\n.acf-fields.-sidebar.-left {\n\t&:before {\n\t\t@include dark-postbox-block();\n\t\tbackground: $body_background;\n\t}\n\t> .acf-tab-wrap.-left {\n\t\t.acf-tab-group li a {\n\t\t\t@include dark-postbox-block();\n\t\t}\n\n\t\t.acf-tab-group li.active a {\n\t\t\t@include dark-postbox-block();\n\t\t}\n\t}\n}\n\n// file\n.acf-file-uploader {\n\n\t.show-if-value {\n\t\t@include dark-postbox();\n\n\t\t.file-icon {\n\t\t\t@include dark-postbox-block();\n\t\t}\n\t}\n}\n\n// acf-oembed\n.acf-oembed {\n\t@include dark-postbox-block();\n\n\t.title {\n\t\t@include dark-input();\n\t}\n}\n\n// gallery\n.acf-gallery {\n\t@include dark-postbox-block();\n\n\t.acf-gallery-main {\n\t\t@include dark-background();\n\t}\n\n\t.acf-gallery-attachment {\n\t\t.margin {\n\t\t\t@include dark-postbox-block();\n\t\t}\n\t}\n\n\t.acf-gallery-side {\n\t\t@include dark-postbox-block();\n\n\t\t.acf-gallery-side-info {\n\t\t\t@include dark-postbox-block();\n\t\t}\n\t}\n\n\t.acf-gallery-toolbar {\n\t\t@include dark-postbox-block();\n\t}\n}\n\n// button group\n.acf-button-group {\n\n\tlabel:not(.selected) {\n\t\t@include dark-postbox-block();\n\t}\n}\n\n// switch\n.acf-switch:not(.-on) {\n\t@include dark-postbox-block();\n\t.acf-switch-slider {\n\t\t@include dark-input();\n\t}\n}\n\n// link\n.acf-link .link-wrap {\n\t@include dark-postbox-block();\n}\n\n// relationship\n.acf-relationship {\n\t.filters {\n\t\t@include dark-postbox();\n\t}\n\t.selection {\n\t\t@include dark-postbox-block();\n\t\t.choices,\n\t\t.choices-list,\n\t\t.values {\n\t\t\t@include dark-postbox-block();\n\t\t}\n\t}\n}\n\n// checkbox\n.acf-taxonomy-field .categorychecklist-holder {\n\t@include dark-postbox-block();\n}\n\n// google map\n.acf-google-map {\n\t@include dark-postbox-block();\n\n\t.title {\n\t\t@include dark-input();\n\t}\n}\n\n// accordion\n.acf-accordion {\n\t@include dark-postbox();\n}\n.acf-field.acf-accordion .acf-accordion-content > .acf-fields {\n\t@include dark-border();\n}\n\n// flexible content\n.acf-flexible-content {\n\t.layout {\n\t\t@include dark-postbox();\n\n\t\t.acf-fc-layout-handle {\n\t\t\t@include dark-postbox-block();\n\n\t\t\t.acf-fc-layout-order {\n\t\t\t\t@include dark-postbox();\n\t\t\t}\n\t\t}\n\t}\n}\n\n// repeater\n#wpbody .acf-table {\n\t@include dark-postbox-block();\n\n\t> tbody,\n\t> thead {\n\t\t> tr {\n\t\t\tbackground: transparent;\n\n\t\t\t> td,\n\t\t\t> th {\n\t\t\t\t@include dark-border();\n\t\t\t}\n\t\t}\n\t}\n}\n\n// Select\n.acf-field select {\n\toptgroup, optgroup:nth-child(2n) {\n\t\tbackground: $input_background;\n\t}\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* Field Group\n*\n*---------------------------------------------------------------------------------------------*/\n\n// fields\n#acf-field-group-fields {\n\n\t// field list\n\t.acf-field-list-wrap {\n\t\t@include dark-postbox();\n\t}\n\n\t.acf-field-list {\n\t\t.no-fields-message {\n\t\t\t@include dark-postbox();\n\t\t}\n\t}\n\n\t// field\n\t.acf-field-object {\n\t\t@include dark-postbox();\n\t\t@include dark-divider();\n\n\n\t\ttable, tbody, tr, td, th {\n\t\t\tbackground: transparent;\n\t\t\t@include dark-divider();\n\t\t}\n\n\t\t.acf-field {\n\t\t\t.acf-label {\n\t\t\t\t@include dark-postbox-block();\n\t\t\t}\n\t\t}\n\n\t\t// sortable\n\t\t&.ui-sortable-helper {\n\t\t\t@include dark-border();\n\t\t\tbox-shadow: none;\n\t\t}\n\n\t\t&.ui-sortable-placeholder {\n\t\t\t@include dark-postbox-block();\n\t\t\tbox-shadow: none;\n\t\t}\n\t}\n\n\t.acf-field-object + .acf-field-object-tab::before,\n\t.acf-field-object + .acf-field-object-accordion::before {\n\t\t@include dark-postbox-block();\n\t}\n}\n\n\n/*---------------------------------------------------------------------------------------------\n*\n* Admin: Tools\n*\n*---------------------------------------------------------------------------------------------*/\n\n// tools\n.acf-meta-box-wrap {\n\n\t.acf-fields {\n\t\t@include dark-input();\n\t\tbackground: transparent;\n\t}\n}","/*--------------------------------------------------------------------------------------------\n*\n* Dark mode\n*\n* WordPress plugin: https://en-au.wordpress.org/plugins/dark-mode/\n* Github Documentation: https://github.com/danieltj27/Dark-Mode/wiki/Help:-Plugin-Compatibility-Guide\n*\n*--------------------------------------------------------------------------------------------*/\n/*---------------------------------------------------------------------------------------------\n*\n* Global\n*\n*---------------------------------------------------------------------------------------------*/\n.acf-box {\n background-color: #32373c;\n border-color: #191f25;\n color: #bbc8d4;\n}\n.acf-box .title,\n.acf-box .footer {\n border-color: #23282d;\n}\n.acf-box h2 {\n color: #bbc8d4;\n}\n.acf-box table, .acf-box tbody, .acf-box tr {\n background: transparent !important;\n}\n\n.acf-thead {\n color: #bbc8d4;\n border-color: #191f25;\n}\n\n.acf-tfoot {\n background-color: #2d3136;\n border-color: #23282d;\n}\n\n.acf-table.-clear,\n.acf-table.-clear tr {\n background: transparent !important;\n}\n\n.acf-loading-overlay {\n background: rgba(0, 0, 0, 0.5);\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* Fields\n*\n*---------------------------------------------------------------------------------------------*/\n.acf-fields > .acf-field {\n border-color: #23282d;\n}\n\n.acf-fields.-left > .acf-field:before {\n background: rgba(0, 0, 0, 0.1);\n border-color: #23282d;\n}\n\n.acf-fields.-border {\n background-color: #32373c;\n border-color: #191f25;\n color: #bbc8d4;\n}\n\n.acf-field[data-width] + .acf-field[data-width] {\n border-color: #23282d;\n}\n\n.acf-input-prepend,\n.acf-input-append {\n background-color: #32373c;\n border-color: #191f25;\n color: #bbc8d4;\n}\n\n.acf-fields > .acf-tab-wrap {\n background-color: #32373c;\n border-color: #191f25;\n color: #bbc8d4;\n}\n.acf-fields > .acf-tab-wrap .acf-tab-group {\n background-color: #2d3136;\n border-color: #23282d;\n}\n.acf-fields > .acf-tab-wrap .acf-tab-group li a {\n background-color: #2d3136;\n border-color: #23282d;\n}\n.acf-fields > .acf-tab-wrap .acf-tab-group li a:hover {\n background-color: #2d3136;\n border-color: #23282d;\n color: #bbc8d4;\n}\n.acf-fields > .acf-tab-wrap .acf-tab-group li.active a {\n background-color: #32373c;\n border-color: #191f25;\n color: #bbc8d4;\n}\n\n.acf-fields.-sidebar:before {\n background-color: #2d3136;\n border-color: #23282d;\n}\n\n.acf-fields.-sidebar.-left:before {\n background-color: #2d3136;\n border-color: #23282d;\n background: #23282d;\n}\n.acf-fields.-sidebar.-left > .acf-tab-wrap.-left .acf-tab-group li a {\n background-color: #2d3136;\n border-color: #23282d;\n}\n.acf-fields.-sidebar.-left > .acf-tab-wrap.-left .acf-tab-group li.active a {\n background-color: #2d3136;\n border-color: #23282d;\n}\n\n.acf-file-uploader .show-if-value {\n background-color: #32373c;\n border-color: #191f25;\n color: #bbc8d4;\n}\n.acf-file-uploader .show-if-value .file-icon {\n background-color: #2d3136;\n border-color: #23282d;\n}\n\n.acf-oembed {\n background-color: #2d3136;\n border-color: #23282d;\n}\n.acf-oembed .title {\n background-color: #50626f;\n border-color: #191f25;\n color: #fff;\n}\n\n.acf-gallery {\n background-color: #2d3136;\n border-color: #23282d;\n}\n.acf-gallery .acf-gallery-main {\n background: #23282d;\n}\n.acf-gallery .acf-gallery-attachment .margin {\n background-color: #2d3136;\n border-color: #23282d;\n}\n.acf-gallery .acf-gallery-side {\n background-color: #2d3136;\n border-color: #23282d;\n}\n.acf-gallery .acf-gallery-side .acf-gallery-side-info {\n background-color: #2d3136;\n border-color: #23282d;\n}\n.acf-gallery .acf-gallery-toolbar {\n background-color: #2d3136;\n border-color: #23282d;\n}\n\n.acf-button-group label:not(.selected) {\n background-color: #2d3136;\n border-color: #23282d;\n}\n\n.acf-switch:not(.-on) {\n background-color: #2d3136;\n border-color: #23282d;\n}\n.acf-switch:not(.-on) .acf-switch-slider {\n background-color: #50626f;\n border-color: #191f25;\n color: #fff;\n}\n\n.acf-link .link-wrap {\n background-color: #2d3136;\n border-color: #23282d;\n}\n\n.acf-relationship .filters {\n background-color: #32373c;\n border-color: #191f25;\n color: #bbc8d4;\n}\n.acf-relationship .selection {\n background-color: #2d3136;\n border-color: #23282d;\n}\n.acf-relationship .selection .choices,\n.acf-relationship .selection .choices-list,\n.acf-relationship .selection .values {\n background-color: #2d3136;\n border-color: #23282d;\n}\n\n.acf-taxonomy-field .categorychecklist-holder {\n background-color: #2d3136;\n border-color: #23282d;\n}\n\n.acf-google-map {\n background-color: #2d3136;\n border-color: #23282d;\n}\n.acf-google-map .title {\n background-color: #50626f;\n border-color: #191f25;\n color: #fff;\n}\n\n.acf-accordion {\n background-color: #32373c;\n border-color: #191f25;\n color: #bbc8d4;\n}\n\n.acf-field.acf-accordion .acf-accordion-content > .acf-fields {\n border-color: #191f25;\n}\n\n.acf-flexible-content .layout {\n background-color: #32373c;\n border-color: #191f25;\n color: #bbc8d4;\n}\n.acf-flexible-content .layout .acf-fc-layout-handle {\n background-color: #2d3136;\n border-color: #23282d;\n}\n.acf-flexible-content .layout .acf-fc-layout-handle .acf-fc-layout-order {\n background-color: #32373c;\n border-color: #191f25;\n color: #bbc8d4;\n}\n\n#wpbody .acf-table {\n background-color: #2d3136;\n border-color: #23282d;\n}\n#wpbody .acf-table > tbody > tr,\n#wpbody .acf-table > thead > tr {\n background: transparent;\n}\n#wpbody .acf-table > tbody > tr > td,\n#wpbody .acf-table > tbody > tr > th,\n#wpbody .acf-table > thead > tr > td,\n#wpbody .acf-table > thead > tr > th {\n border-color: #191f25;\n}\n\n.acf-field select optgroup, .acf-field select optgroup:nth-child(2n) {\n background: #50626f;\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* Field Group\n*\n*---------------------------------------------------------------------------------------------*/\n#acf-field-group-fields .acf-field-list-wrap {\n background-color: #32373c;\n border-color: #191f25;\n color: #bbc8d4;\n}\n#acf-field-group-fields .acf-field-list .no-fields-message {\n background-color: #32373c;\n border-color: #191f25;\n color: #bbc8d4;\n}\n#acf-field-group-fields .acf-field-object {\n background-color: #32373c;\n border-color: #191f25;\n color: #bbc8d4;\n border-color: #23282d;\n}\n#acf-field-group-fields .acf-field-object table, #acf-field-group-fields .acf-field-object tbody, #acf-field-group-fields .acf-field-object tr, #acf-field-group-fields .acf-field-object td, #acf-field-group-fields .acf-field-object th {\n background: transparent;\n border-color: #23282d;\n}\n#acf-field-group-fields .acf-field-object .acf-field .acf-label {\n background-color: #2d3136;\n border-color: #23282d;\n}\n#acf-field-group-fields .acf-field-object.ui-sortable-helper {\n border-color: #191f25;\n box-shadow: none;\n}\n#acf-field-group-fields .acf-field-object.ui-sortable-placeholder {\n background-color: #2d3136;\n border-color: #23282d;\n box-shadow: none;\n}\n#acf-field-group-fields .acf-field-object + .acf-field-object-tab::before,\n#acf-field-group-fields .acf-field-object + .acf-field-object-accordion::before {\n background-color: #2d3136;\n border-color: #23282d;\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* Admin: Tools\n*\n*---------------------------------------------------------------------------------------------*/\n.acf-meta-box-wrap .acf-fields {\n background-color: #50626f;\n border-color: #191f25;\n color: #fff;\n background: transparent;\n}"],"names":[],"sourceRoot":""} \ No newline at end of file diff --git a/wp-content/plugins/advanced-custom-fields-pro/assets/build/css/acf-field-group.css b/wp-content/plugins/advanced-custom-fields-pro/assets/build/css/acf-field-group.css deleted file mode 100644 index b39804c34..000000000 --- a/wp-content/plugins/advanced-custom-fields-pro/assets/build/css/acf-field-group.css +++ /dev/null @@ -1,3266 +0,0 @@ -/*!**********************************************************************************************************************************************************************************************************************!*\ - !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].use[1]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./src/advanced-custom-fields-pro/assets/src/sass/acf-field-group.scss ***! - \**********************************************************************************************************************************************************************************************************************/ -@charset "UTF-8"; -/*-------------------------------------------------------------------------------------------- -* -* Vars -* -*--------------------------------------------------------------------------------------------*/ -/* colors */ -/* acf-field */ -/* responsive */ -/*-------------------------------------------------------------------------------------------- -* -* ACF 6 ↓ -* -*--------------------------------------------------------------------------------------------*/ -/*-------------------------------------------------------------------------------------------- -* -* Mixins -* -*--------------------------------------------------------------------------------------------*/ -/*-------------------------------------------------------------------------------------------- -* -* Field Group -* -*--------------------------------------------------------------------------------------------*/ -#acf-field-group-fields > .inside, -#acf-field-group-locations > .inside, -#acf-field-group-options > .inside { - padding: 0; - margin: 0; -} - -.postbox .handle-order-higher, -.postbox .handle-order-lower { - display: none; -} - -/*---------------------------------------------------------------------------- -* -* Postbox: Publish -* -*----------------------------------------------------------------------------*/ -#minor-publishing-actions, -#misc-publishing-actions #visibility, -#misc-publishing-actions .edit-timestamp { - display: none; -} - -#minor-publishing { - border-bottom: 0 none; -} - -#misc-pub-section { - border-bottom: 0 none; -} - -#misc-publishing-actions .misc-pub-section { - border-bottom-color: #F5F5F5; -} - -/*---------------------------------------------------------------------------- -* -* Postbox: Fields -* -*----------------------------------------------------------------------------*/ -#acf-field-group-fields { - border: 0 none; - /* links */ - /* Field type */ - /* table header */ - /* show keys */ - /* hide tabs */ - /* fields */ -} -#acf-field-group-fields .inside { - border-top-width: 0; - border-top-style: none; -} -#acf-field-group-fields a { - text-decoration: none; -} -#acf-field-group-fields .li-field-type .field-type-icon { - margin-right: 8px; -} -@media screen and (max-width: 600px) { - #acf-field-group-fields .li-field-type .field-type-icon { - display: none; - } -} -#acf-field-group-fields .li-field-type .field-type-label { - display: flex; -} -#acf-field-group-fields .li-field-type .acf-pro-label-field-type { - position: relative; - top: -3px; - margin-left: 8px; -} -#acf-field-group-fields .li-field-type .acf-pro-label-field-type img { - max-width: 34px; -} -#acf-field-group-fields .li-field-order { - width: 64px; - justify-content: center; -} -@media screen and (max-width: 880px) { - #acf-field-group-fields .li-field-order { - width: 32px; - } -} -#acf-field-group-fields .li-field-label { - width: calc(50% - 64px); -} -#acf-field-group-fields .li-field-name { - width: 25%; - word-break: break-word; -} -#acf-field-group-fields .li-field-key { - display: none; -} -#acf-field-group-fields .li-field-type { - width: 25%; -} -#acf-field-group-fields.show-field-keys .li-field-label { - width: calc(35% - 64px); -} -#acf-field-group-fields.show-field-keys .li-field-name { - width: 15%; -} -#acf-field-group-fields.show-field-keys .li-field-key { - width: 25%; - display: flex; -} -#acf-field-group-fields.show-field-keys .li-field-type { - width: 25%; -} -#acf-field-group-fields.hide-tabs .acf-field-settings-tab-bar { - display: none; -} -#acf-field-group-fields.hide-tabs .acf-field-settings-main { - padding: 0; -} -#acf-field-group-fields.hide-tabs .acf-field-settings-main.acf-field-settings-main-general { - padding-top: 32px; -} -#acf-field-group-fields.hide-tabs .acf-field-settings-main .acf-field { - margin-bottom: 32px; -} -#acf-field-group-fields.hide-tabs .acf-field-settings-main .acf-field-setting-wrapper { - padding-top: 0; - border-top: none; -} -#acf-field-group-fields.hide-tabs .acf-field-settings-main .acf-field-settings-split .acf-field { - border-bottom-width: 1px; - border-bottom-style: solid; - border-bottom-color: #EAECF0; -} -#acf-field-group-fields.hide-tabs .acf-field-settings-main .acf-field-setting-first_day { - padding-top: 0; - border-top: none; -} -#acf-field-group-fields.hide-tabs .acf-field-settings-footer { - margin-top: 32px; -} -#acf-field-group-fields .acf-field-list-wrap { - border: #ccd0d4 solid 1px; -} -#acf-field-group-fields .acf-field-list { - background: #f5f5f5; - margin-top: -1px; - /* no fields */ - /* empty */ -} -#acf-field-group-fields .acf-field-list .acf-tbody > .li-field-name, -#acf-field-group-fields .acf-field-list .acf-tbody > .li-field-key { - align-items: flex-start; -} -#acf-field-group-fields .acf-field-list .copyable:not(.input-copyable, .copy-unsupported) { - cursor: pointer; - display: inline-flex; - align-items: center; -} -#acf-field-group-fields .acf-field-list .copyable:not(.input-copyable, .copy-unsupported):hover:after { - content: ""; - padding-left: 5px; - display: inline-flex; - width: 12px; - height: 12px; - background-color: #667085; - border: none; - border-radius: 0; - -webkit-mask-size: contain; - mask-size: contain; - -webkit-mask-repeat: no-repeat; - mask-repeat: no-repeat; - -webkit-mask-position: center; - mask-position: center; - text-indent: 500%; - white-space: nowrap; - overflow: hidden; - -webkit-mask-image: url("../../images/icons/icon-copy.svg"); - mask-image: url("../../images/icons/icon-copy.svg"); - background-size: cover; -} -#acf-field-group-fields .acf-field-list .copyable:not(.input-copyable, .copy-unsupported).sub-label { - padding-right: 22px; -} -#acf-field-group-fields .acf-field-list .copyable:not(.input-copyable, .copy-unsupported).sub-label:hover { - padding-right: 0; -} -#acf-field-group-fields .acf-field-list .copyable:not(.input-copyable, .copy-unsupported).sub-label:hover:after { - width: 14px; - height: 14px; - padding-left: 8px; -} -#acf-field-group-fields .acf-field-list .copyable:not(.input-copyable, .copy-unsupported).copied:hover:after { - -webkit-mask-image: url("../../images/icons/icon-check-circle-solid.svg"); - mask-image: url("../../images/icons/icon-check-circle-solid.svg"); - background-color: #49ad52; -} -#acf-field-group-fields .acf-field-list .copyable.input-copyable:not(.copy-unsupported) { - cursor: pointer; - display: block; - position: relative; - align-items: center; -} -#acf-field-group-fields .acf-field-list .copyable.input-copyable:not(.copy-unsupported) input { - padding-right: 40px; -} -#acf-field-group-fields .acf-field-list .copyable.input-copyable:not(.copy-unsupported) .acf-input-wrap:after { - content: ""; - padding-left: 5px; - right: 12px; - top: 12px; - position: absolute; - width: 16px; - height: 16px; - background-color: #98A2B3; - border: none; - border-radius: 0; - -webkit-mask-size: contain; - mask-size: contain; - -webkit-mask-repeat: no-repeat; - mask-repeat: no-repeat; - -webkit-mask-position: center; - mask-position: center; - text-indent: 500%; - white-space: nowrap; - overflow: hidden; - -webkit-mask-image: url("../../images/icons/icon-copy.svg"); - mask-image: url("../../images/icons/icon-copy.svg"); - background-size: cover; -} -#acf-field-group-fields .acf-field-list .copyable.input-copyable:not(.copy-unsupported).copied .acf-input-wrap:after { - -webkit-mask-image: url("../../images/icons/icon-check-circle-solid.svg"); - mask-image: url("../../images/icons/icon-check-circle-solid.svg"); - background-color: #49ad52; -} -#acf-field-group-fields .acf-field-list .no-fields-message { - padding: 15px 15px; - background: #fff; - display: none; -} -#acf-field-group-fields .acf-field-list.-empty .no-fields-message { - display: block; -} -.acf-admin-3-8 #acf-field-group-fields .acf-field-list-wrap { - border-color: #dfdfdf; -} - -.rtl #acf-field-group-fields .li-field-type .field-type-icon { - margin-left: 8px; - margin-right: 0; -} - -/* field object */ -.acf-field-object { - border-top: #eeeeee solid 1px; - background: #fff; - /* sortable */ - /* meta */ - /* handle */ - /* open */ - /* - // debug - &[data-save="meta"] { - > .handle { - border-left: #ffb700 solid 5px !important; - } - } - - &[data-save="settings"] { - > .handle { - border-left: #0ec563 solid 5px !important; - } - } - */ - /* hover */ - /* settings */ - /* conditional logic */ -} -.acf-field-object.ui-sortable-helper { - overflow: hidden !important; - border-width: 1px; - border-style: solid; - border-color: #A5D2E7 !important; - border-radius: 8px; - filter: drop-shadow(0px 10px 20px rgba(16, 24, 40, 0.14)) drop-shadow(0px 1px 3px rgba(16, 24, 40, 0.1)); -} -.acf-field-object.ui-sortable-helper:before { - display: none !important; -} -.acf-field-object.ui-sortable-placeholder { - box-shadow: 0 -1px 0 0 #DFDFDF; - visibility: visible !important; - background: #F9F9F9; - border-top-color: transparent; - min-height: 54px; -} -.acf-field-object.ui-sortable-placeholder:after, .acf-field-object.ui-sortable-placeholder:before { - visibility: hidden; -} -.acf-field-object > .meta { - display: none; -} -.acf-field-object > .handle a { - -webkit-transition: none; - -moz-transition: none; - -o-transition: none; - transition: none; -} -.acf-field-object > .handle li { - word-wrap: break-word; -} -.acf-field-object > .handle strong { - display: block; - padding-bottom: 0; - font-size: 14px; - line-height: 14px; - min-height: 14px; -} -.acf-field-object > .handle .row-options { - display: block; - opacity: 0; - margin-top: 5px; -} -@media screen and (max-width: 880px) { - .acf-field-object > .handle .row-options { - opacity: 1; - margin-bottom: 0; - } -} -.acf-field-object > .handle .row-options a { - margin-right: 4px; -} -.acf-field-object > .handle .row-options a:hover { - color: #044767; -} -.acf-field-object > .handle .row-options a.delete-field { - color: #a00; -} -.acf-field-object > .handle .row-options a.delete-field:hover { - color: #f00; -} -.acf-field-object > .handle .row-options.active { - visibility: visible; -} -.acf-field-object.open + .acf-field-object { - border-top-color: #E1E1E1; -} -.acf-field-object.open > .handle { - background: #2a9bd9; - border: #2696d3 solid 1px; - text-shadow: #268FBB 0 1px 0; - color: #fff; - position: relative; - margin: 0 -1px 0 -1px; -} -.acf-field-object.open > .handle a { - color: #fff !important; -} -.acf-field-object.open > .handle a:hover { - text-decoration: underline !important; -} -.acf-field-object:hover > .handle .row-options, .acf-field-object.-hover > .handle .row-options, .acf-field-object:focus-within > .handle .row-options { - opacity: 1; - margin-bottom: 0; -} -.acf-field-object > .settings { - display: none; - width: 100%; -} -.acf-field-object > .settings > .acf-table { - border: none; -} -.acf-field-object .rule-groups { - margin-top: 20px; -} - -/*---------------------------------------------------------------------------- -* -* Postbox: Locations -* -*----------------------------------------------------------------------------*/ -.rule-groups h4 { - margin: 3px 0; -} -.rule-groups .rule-group { - margin: 0 0 5px; -} -.rule-groups .rule-group h4 { - margin: 0 0 3px; -} -.rule-groups .rule-group td.param { - width: 35%; -} -.rule-groups .rule-group td.operator { - width: 20%; -} -.rule-groups .rule-group td.add { - width: 40px; -} -.rule-groups .rule-group td.remove { - width: 28px; - vertical-align: middle; -} -.rule-groups .rule-group td.remove a { - width: 22px; - height: 22px; - visibility: hidden; -} -.rule-groups .rule-group td.remove a:before { - position: relative; - top: -2px; - font-size: 16px; -} -.rule-groups .rule-group tr:hover td.remove a { - visibility: visible; -} -.rule-groups .rule-group select:empty { - background: #f8f8f8; -} -.rule-groups:not(.rule-groups-multiple) .rule-group:first-child tr:first-child td.remove a { - /* Don't allow user to delete the only rule group */ - visibility: hidden !important; -} - -/*---------------------------------------------------------------------------- -* -* Options -* -*----------------------------------------------------------------------------*/ -#acf-field-group-options tr[data-name=hide_on_screen] li { - float: left; - width: 33%; -} - -@media (max-width: 1100px) { - #acf-field-group-options tr[data-name=hide_on_screen] li { - width: 50%; - } -} -/*---------------------------------------------------------------------------- -* -* Conditional Logic -* -*----------------------------------------------------------------------------*/ -table.conditional-logic-rules { - background: transparent; - border: 0 none; - border-radius: 0; -} - -table.conditional-logic-rules tbody td { - background: transparent; - border: 0 none !important; - padding: 5px 2px !important; -} - -/*---------------------------------------------------------------------------- -* -* Field: Tab -* -*----------------------------------------------------------------------------*/ -.acf-field-object-tab .acf-field-setting-name, -.acf-field-object-tab .acf-field-setting-instructions, -.acf-field-object-tab .acf-field-setting-required, -.acf-field-object-tab .acf-field-setting-warning, -.acf-field-object-tab .acf-field-setting-wrapper { - display: none; -} -.acf-field-object-tab .li-field-name { - visibility: hidden; -} -.acf-field-object-tab p:first-child { - margin: 0.5em 0; -} -.acf-field-object-tab li.acf-settings-type-presentation, -.acf-field-object-tab .acf-field-settings-main-presentation { - display: none !important; -} - -/*---------------------------------------------------------------------------- -* -* Field: Accordion -* -*----------------------------------------------------------------------------*/ -.acf-field-object-accordion .acf-field-setting-name, -.acf-field-object-accordion .acf-field-setting-instructions, -.acf-field-object-accordion .acf-field-setting-required, -.acf-field-object-accordion .acf-field-setting-warning, -.acf-field-object-accordion .acf-field-setting-wrapper { - display: none; -} -.acf-field-object-accordion .li-field-name { - visibility: hidden; -} -.acf-field-object-accordion p:first-child { - margin: 0.5em 0; -} -.acf-field-object-accordion .acf-field-setting-instructions { - display: block; -} - -/*---------------------------------------------------------------------------- -* -* Field: Message -* -*----------------------------------------------------------------------------*/ -.acf-field-object-message tr[data-name=name], -.acf-field-object-message tr[data-name=instructions], -.acf-field-object-message tr[data-name=required] { - display: none !important; -} - -.acf-field-object-message .li-field-name { - visibility: hidden; -} - -.acf-field-object-message textarea { - height: 175px !important; -} - -/*---------------------------------------------------------------------------- -* -* Field: Separator -* -*----------------------------------------------------------------------------*/ -.acf-field-object-separator tr[data-name=name], -.acf-field-object-separator tr[data-name=instructions], -.acf-field-object-separator tr[data-name=required] { - display: none !important; -} - -/*---------------------------------------------------------------------------- -* -* Field: Date Picker -* -*----------------------------------------------------------------------------*/ -.acf-field-object-date-picker .acf-radio-list li, -.acf-field-object-time-picker .acf-radio-list li, -.acf-field-object-date-time-picker .acf-radio-list li { - line-height: 25px; -} -.acf-field-object-date-picker .acf-radio-list span, -.acf-field-object-time-picker .acf-radio-list span, -.acf-field-object-date-time-picker .acf-radio-list span { - display: inline-block; - min-width: 10em; -} -.acf-field-object-date-picker .acf-radio-list input[type=text], -.acf-field-object-time-picker .acf-radio-list input[type=text], -.acf-field-object-date-time-picker .acf-radio-list input[type=text] { - width: 100px; -} - -.acf-field-object-date-time-picker .acf-radio-list span { - min-width: 15em; -} -.acf-field-object-date-time-picker .acf-radio-list input[type=text] { - width: 200px; -} - -/*-------------------------------------------------------------------------------------------- -* -* Slug -* -*--------------------------------------------------------------------------------------------*/ -#slugdiv .inside { - padding: 12px; - margin: 0; -} -#slugdiv input[type=text] { - width: 100%; - height: 28px; - font-size: 14px; -} - -/*-------------------------------------------------------------------------------------------- -* -* RTL -* -*--------------------------------------------------------------------------------------------*/ -html[dir=rtl] .acf-field-object.open > .handle { - margin: 0; -} - -/*---------------------------------------------------------------------------- -* -* Device -* -*----------------------------------------------------------------------------*/ -@media only screen and (max-width: 850px) { - tr.acf-field, - td.acf-label, - td.acf-input { - display: block !important; - width: auto !important; - border: 0 none !important; - } - tr.acf-field { - border-top: #ededed solid 1px !important; - margin-bottom: 0 !important; - } - td.acf-label { - background: transparent !important; - padding-bottom: 0 !important; - } -} -/*---------------------------------------------------------------------------- -* -* Subtle background on accordion & tab fields to separate them from others -* -*----------------------------------------------------------------------------*/ -.post-type-acf-field-group #acf-field-group-fields .acf-field-object-tab, -.post-type-acf-field-group #acf-field-group-fields .acf-field-object-accordion { - background-color: #F9FAFB; -} - -/*--------------------------------------------------------------------------------------------- -* -* Global -* -*---------------------------------------------------------------------------------------------*/ -.acf-admin-page #wpcontent { - line-height: 140%; -} - -/*--------------------------------------------------------------------------------------------- -* -* Links -* -*---------------------------------------------------------------------------------------------*/ -.acf-admin-page a { - color: #0783BE; -} - -/*--------------------------------------------------------------------------------------------- -* -* Headings -* -*---------------------------------------------------------------------------------------------*/ -.acf-h1, .acf-admin-page h1, -.acf-headerbar h1 { - font-size: 21px; - font-weight: 400; -} - -.acf-h2, .post-type-acf-field-group #acf-field-group-fields .acf-field-list.-empty .no-fields-message .no-fields-message-inner h2, .acf-page-title, .acf-admin-page h2, -.acf-headerbar h2 { - font-size: 18px; - font-weight: 400; -} - -.acf-h3, .post-type-acf-field-group .acf-field-settings-fc_head label, .acf-admin-page #acf-popup .acf-popup-box .title h1, -.acf-admin-page #acf-popup .acf-popup-box .title h2, -.acf-admin-page #acf-popup .acf-popup-box .title h3, -.acf-admin-page #acf-popup .acf-popup-box .title h4, .acf-admin-page h3, -.acf-headerbar h3 { - font-size: 16px; - font-weight: 400; -} - -/*--------------------------------------------------------------------------------------------- -* -* Paragraphs -* -*---------------------------------------------------------------------------------------------*/ -.acf-admin-page .p1 { - font-size: 15px; -} -.acf-admin-page .p2, .acf-admin-page .post-type-acf-field-group #acf-field-group-fields .acf-field-list.-empty .no-fields-message .no-fields-message-inner p, .post-type-acf-field-group #acf-field-group-fields .acf-field-list.-empty .no-fields-message .no-fields-message-inner .acf-admin-page p { - font-size: 14px; -} -.acf-admin-page .p3 { - font-size: 13.5px; -} -.acf-admin-page .p4, .acf-admin-page .acf-field-list .acf-sortable-handle, .acf-field-list .acf-admin-page .acf-sortable-handle, .acf-admin-page .post-type-acf-field-group .acf-field-object .handle li.li-field-label a.edit-field, .post-type-acf-field-group .acf-field-object .handle li.li-field-label .acf-admin-page a.edit-field, .acf-admin-page .post-type-acf-field-group .acf-field-object .handle li, .post-type-acf-field-group .acf-field-object .handle .acf-admin-page li, .acf-admin-page .post-type-acf-field-group .acf-thead li, .post-type-acf-field-group .acf-thead .acf-admin-page li, .acf-admin-page .acf-input .select2-container.-acf .select2-selection__rendered, -.acf-admin-page .rule-groups .select2-container.-acf .select2-selection__rendered, .acf-admin-page .button, .acf-admin-page input[type=text], -.acf-admin-page input[type=search], -.acf-admin-page input[type=number], -.acf-admin-page textarea, -.acf-admin-page select { - font-size: 13px; -} -.acf-admin-page .p5, .acf-admin-page .acf-field-setting-display_format .acf-radio-list li label code, .acf-field-setting-display_format .acf-radio-list li label .acf-admin-page code, -.acf-admin-page .acf-field-setting-return_format .acf-radio-list li label code, -.acf-field-setting-return_format .acf-radio-list li label .acf-admin-page code, .acf-admin-page .acf-field-group-settings-footer .acf-created-on, .acf-field-group-settings-footer .acf-admin-page .acf-created-on, .acf-admin-page .acf-fields .acf-field-settings-tab-bar li a, .acf-fields .acf-field-settings-tab-bar li .acf-admin-page a, -.acf-admin-page .acf-fields .acf-tab-wrap .acf-tab-group li a, -.acf-fields .acf-tab-wrap .acf-tab-group li .acf-admin-page a, -.acf-admin-page.acf-internal-post-type .acf-field-settings-tab-bar li a, -.acf-admin-page.acf-internal-post-type .acf-tab-wrap .acf-tab-group li a, -.acf-admin-page .acf-browse-fields-modal-wrap .acf-field-settings-tab-bar li a, -.acf-browse-fields-modal-wrap .acf-field-settings-tab-bar li .acf-admin-page a, -.acf-admin-page .acf-browse-fields-modal-wrap .acf-tab-wrap .acf-tab-group li a, -.acf-browse-fields-modal-wrap .acf-tab-wrap .acf-tab-group li .acf-admin-page a { - font-size: 12.5px; -} -.acf-admin-page .p6, .acf-admin-page .post-type-acf-field-group #acf-field-group-fields .acf-field-list.-empty .no-fields-message .no-fields-message-inner p.acf-small, .post-type-acf-field-group #acf-field-group-fields .acf-field-list.-empty .no-fields-message .no-fields-message-inner .acf-admin-page p.acf-small, .acf-admin-page .post-type-acf-field-group .acf-field-object .handle li.li-field-label .row-options a, .post-type-acf-field-group .acf-field-object .handle li.li-field-label .row-options .acf-admin-page a, .acf-admin-page .acf-small { - font-size: 12px; -} -.acf-admin-page .p7 { - font-size: 11.5px; -} -.acf-admin-page .p8 { - font-size: 11px; -} - -/*--------------------------------------------------------------------------------------------- -* -* Page titles -* -*---------------------------------------------------------------------------------------------*/ -.acf-page-title { - color: #344054; -} - -/*--------------------------------------------------------------------------------------------- -* -* Hide old / native WP titles from pages -* -*---------------------------------------------------------------------------------------------*/ -.acf-admin-page .acf-settings-wrap h1 { - display: none !important; -} -.acf-admin-page #acf-admin-tools h1:not(.acf-field-group-pro-features-title, .acf-field-group-pro-features-title-sm) { - display: none !important; -} - -/*--------------------------------------------------------------------------------------------- -* -* Small -* -*---------------------------------------------------------------------------------------------*/ -/*--------------------------------------------------------------------------------------------- -* -* Link focus style -* -*---------------------------------------------------------------------------------------------*/ -.acf-admin-page a:focus { - box-shadow: none; - outline: none; -} -.acf-admin-page a:focus-visible { - box-shadow: 0 0 0 1px #4f94d4, 0 0 2px 1px rgba(79, 148, 212, 0.8); - outline: 1px solid transparent; -} - -.acf-admin-page { - /*--------------------------------------------------------------------------------------------- - * - * All Inputs - * - *---------------------------------------------------------------------------------------------*/ - /*--------------------------------------------------------------------------------------------- - * - * Read only text inputs - * - *---------------------------------------------------------------------------------------------*/ - /*--------------------------------------------------------------------------------------------- - * - * Number fields - * - *---------------------------------------------------------------------------------------------*/ - /*--------------------------------------------------------------------------------------------- - * - * Textarea - * - *---------------------------------------------------------------------------------------------*/ - /*--------------------------------------------------------------------------------------------- - * - * Select - * - *---------------------------------------------------------------------------------------------*/ - /*--------------------------------------------------------------------------------------------- - * - * Radio Button & Checkbox base styling - * - *---------------------------------------------------------------------------------------------*/ - /*--------------------------------------------------------------------------------------------- - * - * Radio Buttons - * - *---------------------------------------------------------------------------------------------*/ - /*--------------------------------------------------------------------------------------------- - * - * Checkboxes - * - *---------------------------------------------------------------------------------------------*/ - /*--------------------------------------------------------------------------------------------- - * - * Radio Buttons & Checkbox lists - * - *---------------------------------------------------------------------------------------------*/ - /*--------------------------------------------------------------------------------------------- - * - * ACF Switch - * - *---------------------------------------------------------------------------------------------*/ - /*--------------------------------------------------------------------------------------------- - * - * File input button - * - *---------------------------------------------------------------------------------------------*/ - /*--------------------------------------------------------------------------------------------- - * - * Action Buttons - * - *---------------------------------------------------------------------------------------------*/ - /*--------------------------------------------------------------------------------------------- - * - * Edit field group header - * - *---------------------------------------------------------------------------------------------*/ - /*--------------------------------------------------------------------------------------------- - * - * Select2 inputs - * - *---------------------------------------------------------------------------------------------*/ - /*--------------------------------------------------------------------------------------------- - * - * ACF label - * - *---------------------------------------------------------------------------------------------*/ - /*--------------------------------------------------------------------------------------------- - * - * Tooltip for field name field setting (result of a fix for keyboard navigation) - * - *---------------------------------------------------------------------------------------------*/ - /* Field Type Selection select2 */ - /*--------------------------------------------------------------------------------------------- - * - * RTL arrow position - * - *---------------------------------------------------------------------------------------------*/ -} -.acf-admin-page input[type=text], -.acf-admin-page input[type=search], -.acf-admin-page input[type=number], -.acf-admin-page textarea, -.acf-admin-page select { - box-sizing: border-box; - height: 40px; - padding-right: 12px; - padding-left: 12px; - background-color: #fff; - border-color: #D0D5DD; - box-shadow: 0px 1px 2px rgba(16, 24, 40, 0.1); - border-radius: 6px; - /* stylelint-disable-next-line scss/at-extend-no-missing-placeholder */ - color: #344054; -} -.acf-admin-page input[type=text]:focus, -.acf-admin-page input[type=search]:focus, -.acf-admin-page input[type=number]:focus, -.acf-admin-page textarea:focus, -.acf-admin-page select:focus { - outline: 3px solid #EBF5FA; - border-color: #399CCB; -} -.acf-admin-page input[type=text]:disabled, -.acf-admin-page input[type=search]:disabled, -.acf-admin-page input[type=number]:disabled, -.acf-admin-page textarea:disabled, -.acf-admin-page select:disabled { - background-color: #F9FAFB; - color: #808a9e; -} -.acf-admin-page input[type=text]::placeholder, -.acf-admin-page input[type=search]::placeholder, -.acf-admin-page input[type=number]::placeholder, -.acf-admin-page textarea::placeholder, -.acf-admin-page select::placeholder { - color: #98A2B3; -} -.acf-admin-page input[type=text]:read-only { - background-color: #F9FAFB; - color: #98A2B3; -} -.acf-admin-page .acf-field.acf-field-number .acf-label, -.acf-admin-page .acf-field.acf-field-number .acf-input input[type=number] { - max-width: 180px; -} -.acf-admin-page textarea { - box-sizing: border-box; - padding-top: 10px; - padding-bottom: 10px; - height: 80px; - min-height: 56px; -} -.acf-admin-page select { - min-width: 160px; - max-width: 100%; - padding-right: 40px; - padding-left: 12px; - background-image: url("../../images/icons/icon-chevron-down.svg"); - background-position: right 10px top 50%; - background-size: 20px; -} -.acf-admin-page select:hover, .acf-admin-page select:focus { - color: #0783BE; -} -.acf-admin-page select::before { - content: ""; - display: block; - position: absolute; - top: 5px; - left: 5px; - width: 20px; - height: 20px; -} -.acf-admin-page.rtl select { - padding-right: 12px; - padding-left: 40px; - background-position: left 10px top 50%; -} -.acf-admin-page input[type=radio], -.acf-admin-page input[type=checkbox] { - box-sizing: border-box; - width: 16px; - height: 16px; - padding: 0; - border-width: 1px; - border-style: solid; - border-color: #98A2B3; - background: #fff; - box-shadow: none; -} -.acf-admin-page input[type=radio]:hover, -.acf-admin-page input[type=checkbox]:hover { - background-color: #EBF5FA; - border-color: #0783BE; -} -.acf-admin-page input[type=radio]:checked, .acf-admin-page input[type=radio]:focus-visible, -.acf-admin-page input[type=checkbox]:checked, -.acf-admin-page input[type=checkbox]:focus-visible { - background-color: #EBF5FA; - border-color: #0783BE; -} -.acf-admin-page input[type=radio]:checked:before, .acf-admin-page input[type=radio]:focus-visible:before, -.acf-admin-page input[type=checkbox]:checked:before, -.acf-admin-page input[type=checkbox]:focus-visible:before { - content: ""; - position: relative; - top: -1px; - left: -1px; - width: 16px; - height: 16px; - margin: 0; - padding: 0; - background-color: transparent; - background-size: cover; - background-repeat: no-repeat; - background-position: center; -} -.acf-admin-page input[type=radio]:active, -.acf-admin-page input[type=checkbox]:active { - box-shadow: 0px 0px 0px 3px #EBF5FA, 0px 0px 0px rgba(255, 54, 54, 0.25); -} -.acf-admin-page input[type=radio]:disabled, -.acf-admin-page input[type=checkbox]:disabled { - background-color: #F9FAFB; - border-color: #D0D5DD; -} -.acf-admin-page.rtl input[type=radio]:checked:before, .acf-admin-page.rtl input[type=radio]:focus-visible:before, -.acf-admin-page.rtl input[type=checkbox]:checked:before, -.acf-admin-page.rtl input[type=checkbox]:focus-visible:before { - left: 1px; -} -.acf-admin-page input[type=radio]:checked:before, .acf-admin-page input[type=radio]:focus:before { - background-image: url("../../images/field-states/radio-active.svg"); -} -.acf-admin-page input[type=checkbox]:checked:before, .acf-admin-page input[type=checkbox]:focus:before { - background-image: url("../../images/field-states/checkbox-active.svg"); -} -.acf-admin-page .acf-radio-list li input[type=radio], -.acf-admin-page .acf-radio-list li input[type=checkbox], -.acf-admin-page .acf-checkbox-list li input[type=radio], -.acf-admin-page .acf-checkbox-list li input[type=checkbox] { - margin-right: 6px; -} -.acf-admin-page .acf-radio-list.acf-bl li, -.acf-admin-page .acf-checkbox-list.acf-bl li { - margin-bottom: 8px; -} -.acf-admin-page .acf-radio-list.acf-bl li:last-of-type, -.acf-admin-page .acf-checkbox-list.acf-bl li:last-of-type { - margin-bottom: 0; -} -.acf-admin-page .acf-radio-list label, -.acf-admin-page .acf-checkbox-list label { - display: flex; - align-items: center; - align-content: center; -} -.acf-admin-page .acf-switch { - width: 42px; - height: 24px; - border: none; - background-color: #D0D5DD; - border-radius: 12px; -} -.acf-admin-page .acf-switch:hover { - background-color: #98A2B3; -} -.acf-admin-page .acf-switch:active { - box-shadow: 0px 0px 0px 3px #EBF5FA, 0px 0px 0px rgba(255, 54, 54, 0.25); -} -.acf-admin-page .acf-switch.-on { - background-color: #0783BE; -} -.acf-admin-page .acf-switch.-on:hover { - background-color: #066998; -} -.acf-admin-page .acf-switch.-on .acf-switch-slider { - left: 20px; -} -.acf-admin-page .acf-switch .acf-switch-off, -.acf-admin-page .acf-switch .acf-switch-on { - visibility: hidden; -} -.acf-admin-page .acf-switch .acf-switch-slider { - width: 20px; - height: 20px; - border: none; - border-radius: 100px; - box-shadow: 0px 1px 3px rgba(16, 24, 40, 0.1), 0px 1px 2px rgba(16, 24, 40, 0.06); -} -.acf-admin-page .acf-field-true-false { - display: flex; - align-items: flex-start; -} -.acf-admin-page .acf-field-true-false .acf-label { - order: 2; - display: block; - align-items: center; - margin-top: 2px; - margin-bottom: 0; - margin-left: 12px; -} -.acf-admin-page .acf-field-true-false .acf-label label { - margin-bottom: 0; -} -.acf-admin-page .acf-field-true-false .acf-label .acf-tip { - margin-left: 12px; -} -.acf-admin-page .acf-field-true-false .acf-label .description { - display: block; - margin-top: 2px; - margin-left: 0; -} -.acf-admin-page.rtl .acf-field-true-false .acf-label { - margin-right: 12px; - margin-left: 0; -} -.acf-admin-page.rtl .acf-field-true-false .acf-tip { - margin-right: 12px; - margin-left: 0; -} -.acf-admin-page input::file-selector-button { - box-sizing: border-box; - min-height: 40px; - margin-right: 16px; - padding-top: 8px; - padding-right: 16px; - padding-bottom: 8px; - padding-left: 16px; - background-color: transparent; - color: #0783BE !important; - border-radius: 6px; - border-width: 1px; - border-style: solid; - border-color: #0783BE; - text-decoration: none; -} -.acf-admin-page input::file-selector-button:hover { - border-color: #066998; - cursor: pointer; - color: #066998 !important; -} -.acf-admin-page .button { - display: inline-flex; - align-items: center; - height: 40px; - padding-right: 16px; - padding-left: 16px; - background-color: transparent; - border-width: 1px; - border-style: solid; - border-color: #0783BE; - border-radius: 6px; - color: #0783BE; -} -.acf-admin-page .button:hover { - background-color: #f3f9fc; - border-color: #0783BE; - color: #0783BE; -} -.acf-admin-page .button:focus { - background-color: #f3f9fc; - outline: 3px solid #EBF5FA; - color: #0783BE; -} -.acf-admin-page .edit-field-group-header { - display: block !important; -} -.acf-admin-page .acf-input .select2-container.-acf .select2-selection, -.acf-admin-page .rule-groups .select2-container.-acf .select2-selection { - border: none; - line-height: 1; -} -.acf-admin-page .acf-input .select2-container.-acf .select2-selection__rendered, -.acf-admin-page .rule-groups .select2-container.-acf .select2-selection__rendered { - box-sizing: border-box; - padding-right: 0; - padding-left: 0; - background-color: #fff; - border-width: 1px; - border-style: solid; - border-color: #D0D5DD; - box-shadow: 0px 1px 2px rgba(16, 24, 40, 0.1); - border-radius: 6px; - /* stylelint-disable-next-line scss/at-extend-no-missing-placeholder */ - color: #344054; -} -.acf-admin-page .acf-input .acf-conditional-select-name, -.acf-admin-page .rule-groups .acf-conditional-select-name { - min-width: 180px; - white-space: nowrap; - overflow: hidden; - text-overflow: ellipsis; -} -.acf-admin-page .acf-input .acf-conditional-select-id, -.acf-admin-page .rule-groups .acf-conditional-select-id { - padding-right: 30px; -} -.acf-admin-page .acf-input .value .select2-container--focus, -.acf-admin-page .rule-groups .value .select2-container--focus { - height: 40px; -} -.acf-admin-page .acf-input .value .select2-container--open .select2-selection__rendered, -.acf-admin-page .rule-groups .value .select2-container--open .select2-selection__rendered { - border-color: #399CCB; -} -.acf-admin-page .acf-input .select2-container--focus, -.acf-admin-page .rule-groups .select2-container--focus { - outline: 3px solid #EBF5FA; - border-color: #399CCB; - border-radius: 6px; -} -.acf-admin-page .acf-input .select2-container--focus .select2-selection__rendered, -.acf-admin-page .rule-groups .select2-container--focus .select2-selection__rendered { - border-color: #399CCB !important; -} -.acf-admin-page .acf-input .select2-container--focus.select2-container--below.select2-container--open .select2-selection__rendered, -.acf-admin-page .rule-groups .select2-container--focus.select2-container--below.select2-container--open .select2-selection__rendered { - border-bottom-right-radius: 0 !important; - border-bottom-left-radius: 0 !important; -} -.acf-admin-page .acf-input .select2-container--focus.select2-container--above.select2-container--open .select2-selection__rendered, -.acf-admin-page .rule-groups .select2-container--focus.select2-container--above.select2-container--open .select2-selection__rendered { - border-top-right-radius: 0 !important; - border-top-left-radius: 0 !important; -} -.acf-admin-page .acf-input .select2-container .select2-search--inline .select2-search__field, -.acf-admin-page .rule-groups .select2-container .select2-search--inline .select2-search__field { - margin: 0; - padding-left: 6px; -} -.acf-admin-page .acf-input .select2-container .select2-search--inline .select2-search__field:focus, -.acf-admin-page .rule-groups .select2-container .select2-search--inline .select2-search__field:focus { - outline: none; - border: none; -} -.acf-admin-page .acf-input .select2-container--default .select2-selection--multiple .select2-selection__rendered, -.acf-admin-page .rule-groups .select2-container--default .select2-selection--multiple .select2-selection__rendered { - padding-top: 0; - padding-right: 6px; - padding-bottom: 0; - padding-left: 6px; -} -.acf-admin-page .acf-input .select2-selection__clear, -.acf-admin-page .rule-groups .select2-selection__clear { - width: 18px; - height: 18px; - margin-top: 12px; - margin-right: 1px; - text-indent: 100%; - white-space: nowrap; - overflow: hidden; - color: #fff; -} -.acf-admin-page .acf-input .select2-selection__clear:before, -.acf-admin-page .rule-groups .select2-selection__clear:before { - content: ""; - display: block; - width: 16px; - height: 16px; - top: 0; - left: 0; - border: none; - border-radius: 0; - -webkit-mask-size: contain; - mask-size: contain; - -webkit-mask-repeat: no-repeat; - mask-repeat: no-repeat; - -webkit-mask-position: center; - mask-position: center; - -webkit-mask-image: url("../../images/icons/icon-close.svg"); - mask-image: url("../../images/icons/icon-close.svg"); - background-color: #98A2B3; -} -.acf-admin-page .acf-input .select2-selection__clear:hover::before, -.acf-admin-page .rule-groups .select2-selection__clear:hover::before { - background-color: #0783BE; -} -.acf-admin-page .acf-label { - display: flex; - align-items: center; - justify-content: space-between; -} -.acf-admin-page .acf-label .acf-icon-help { - width: 18px; - height: 18px; - background-color: #98A2B3; -} -.acf-admin-page .acf-label label { - margin-bottom: 0; -} -.acf-admin-page .acf-label .description { - margin-top: 2px; -} -.acf-admin-page .acf-field-setting-name .acf-tip { - position: absolute; - top: 0; - left: 654px; - color: #98A2B3; -} -.rtl.acf-admin-page .acf-field-setting-name .acf-tip { - left: auto; - right: 654px; -} - -.acf-admin-page .acf-field-setting-name .acf-tip .acf-icon-help { - width: 18px; - height: 18px; -} -.acf-admin-page .acf-field-setting-type .select2-container.-acf, -.acf-admin-page .acf-field-permalink-rewrite .select2-container.-acf, -.acf-admin-page .acf-field-query-var .select2-container.-acf, -.acf-admin-page .acf-field-capability .select2-container.-acf, -.acf-admin-page .acf-field-parent-slug .select2-container.-acf, -.acf-admin-page .acf-field-data-storage .select2-container.-acf, -.acf-admin-page .acf-field-manage-terms .select2-container.-acf, -.acf-admin-page .acf-field-edit-terms .select2-container.-acf, -.acf-admin-page .acf-field-delete-terms .select2-container.-acf, -.acf-admin-page .acf-field-assign-terms .select2-container.-acf, -.acf-admin-page .acf-field-meta-box .select2-container.-acf, -.acf-admin-page .rule-groups .select2-container.-acf { - min-height: 40px; -} -.acf-admin-page .acf-field-setting-type .select2-container--default .select2-selection--single .select2-selection__rendered, -.acf-admin-page .acf-field-permalink-rewrite .select2-container--default .select2-selection--single .select2-selection__rendered, -.acf-admin-page .acf-field-query-var .select2-container--default .select2-selection--single .select2-selection__rendered, -.acf-admin-page .acf-field-capability .select2-container--default .select2-selection--single .select2-selection__rendered, -.acf-admin-page .acf-field-parent-slug .select2-container--default .select2-selection--single .select2-selection__rendered, -.acf-admin-page .acf-field-data-storage .select2-container--default .select2-selection--single .select2-selection__rendered, -.acf-admin-page .acf-field-manage-terms .select2-container--default .select2-selection--single .select2-selection__rendered, -.acf-admin-page .acf-field-edit-terms .select2-container--default .select2-selection--single .select2-selection__rendered, -.acf-admin-page .acf-field-delete-terms .select2-container--default .select2-selection--single .select2-selection__rendered, -.acf-admin-page .acf-field-assign-terms .select2-container--default .select2-selection--single .select2-selection__rendered, -.acf-admin-page .acf-field-meta-box .select2-container--default .select2-selection--single .select2-selection__rendered, -.acf-admin-page .rule-groups .select2-container--default .select2-selection--single .select2-selection__rendered { - display: flex; - align-items: center; - position: relative; - z-index: 800; - min-height: 40px; - padding-top: 0; - padding-right: 12px; - padding-bottom: 0; - padding-left: 12px; -} -.acf-admin-page .acf-field-setting-type .select2-container--default .select2-selection--single .field-type-icon, -.acf-admin-page .acf-field-permalink-rewrite .select2-container--default .select2-selection--single .field-type-icon, -.acf-admin-page .acf-field-query-var .select2-container--default .select2-selection--single .field-type-icon, -.acf-admin-page .acf-field-capability .select2-container--default .select2-selection--single .field-type-icon, -.acf-admin-page .acf-field-parent-slug .select2-container--default .select2-selection--single .field-type-icon, -.acf-admin-page .acf-field-data-storage .select2-container--default .select2-selection--single .field-type-icon, -.acf-admin-page .acf-field-manage-terms .select2-container--default .select2-selection--single .field-type-icon, -.acf-admin-page .acf-field-edit-terms .select2-container--default .select2-selection--single .field-type-icon, -.acf-admin-page .acf-field-delete-terms .select2-container--default .select2-selection--single .field-type-icon, -.acf-admin-page .acf-field-assign-terms .select2-container--default .select2-selection--single .field-type-icon, -.acf-admin-page .acf-field-meta-box .select2-container--default .select2-selection--single .field-type-icon, -.acf-admin-page .rule-groups .select2-container--default .select2-selection--single .field-type-icon { - top: auto; - width: 18px; - height: 18px; - margin-right: 2px; -} -.acf-admin-page .acf-field-setting-type .select2-container--default .select2-selection--single .field-type-icon:before, -.acf-admin-page .acf-field-permalink-rewrite .select2-container--default .select2-selection--single .field-type-icon:before, -.acf-admin-page .acf-field-query-var .select2-container--default .select2-selection--single .field-type-icon:before, -.acf-admin-page .acf-field-capability .select2-container--default .select2-selection--single .field-type-icon:before, -.acf-admin-page .acf-field-parent-slug .select2-container--default .select2-selection--single .field-type-icon:before, -.acf-admin-page .acf-field-data-storage .select2-container--default .select2-selection--single .field-type-icon:before, -.acf-admin-page .acf-field-manage-terms .select2-container--default .select2-selection--single .field-type-icon:before, -.acf-admin-page .acf-field-edit-terms .select2-container--default .select2-selection--single .field-type-icon:before, -.acf-admin-page .acf-field-delete-terms .select2-container--default .select2-selection--single .field-type-icon:before, -.acf-admin-page .acf-field-assign-terms .select2-container--default .select2-selection--single .field-type-icon:before, -.acf-admin-page .acf-field-meta-box .select2-container--default .select2-selection--single .field-type-icon:before, -.acf-admin-page .rule-groups .select2-container--default .select2-selection--single .field-type-icon:before { - width: 9px; - height: 9px; -} -.acf-admin-page .acf-field-setting-type .select2-container--open .select2-selection__rendered, -.acf-admin-page .acf-field-permalink-rewrite .select2-container--open .select2-selection__rendered, -.acf-admin-page .acf-field-query-var .select2-container--open .select2-selection__rendered, -.acf-admin-page .acf-field-capability .select2-container--open .select2-selection__rendered, -.acf-admin-page .acf-field-parent-slug .select2-container--open .select2-selection__rendered, -.acf-admin-page .acf-field-data-storage .select2-container--open .select2-selection__rendered, -.acf-admin-page .acf-field-manage-terms .select2-container--open .select2-selection__rendered, -.acf-admin-page .acf-field-edit-terms .select2-container--open .select2-selection__rendered, -.acf-admin-page .acf-field-delete-terms .select2-container--open .select2-selection__rendered, -.acf-admin-page .acf-field-assign-terms .select2-container--open .select2-selection__rendered, -.acf-admin-page .acf-field-meta-box .select2-container--open .select2-selection__rendered, -.acf-admin-page .rule-groups .select2-container--open .select2-selection__rendered { - border-color: #6BB5D8 !important; - border-bottom-color: #D0D5DD !important; -} -.acf-admin-page .acf-field-setting-type .select2-container--open.select2-container--below .select2-selection__rendered, -.acf-admin-page .acf-field-permalink-rewrite .select2-container--open.select2-container--below .select2-selection__rendered, -.acf-admin-page .acf-field-query-var .select2-container--open.select2-container--below .select2-selection__rendered, -.acf-admin-page .acf-field-capability .select2-container--open.select2-container--below .select2-selection__rendered, -.acf-admin-page .acf-field-parent-slug .select2-container--open.select2-container--below .select2-selection__rendered, -.acf-admin-page .acf-field-data-storage .select2-container--open.select2-container--below .select2-selection__rendered, -.acf-admin-page .acf-field-manage-terms .select2-container--open.select2-container--below .select2-selection__rendered, -.acf-admin-page .acf-field-edit-terms .select2-container--open.select2-container--below .select2-selection__rendered, -.acf-admin-page .acf-field-delete-terms .select2-container--open.select2-container--below .select2-selection__rendered, -.acf-admin-page .acf-field-assign-terms .select2-container--open.select2-container--below .select2-selection__rendered, -.acf-admin-page .acf-field-meta-box .select2-container--open.select2-container--below .select2-selection__rendered, -.acf-admin-page .rule-groups .select2-container--open.select2-container--below .select2-selection__rendered { - border-bottom-right-radius: 0 !important; - border-bottom-left-radius: 0 !important; -} -.acf-admin-page .acf-field-setting-type .select2-container--open.select2-container--above .select2-selection__rendered, -.acf-admin-page .acf-field-permalink-rewrite .select2-container--open.select2-container--above .select2-selection__rendered, -.acf-admin-page .acf-field-query-var .select2-container--open.select2-container--above .select2-selection__rendered, -.acf-admin-page .acf-field-capability .select2-container--open.select2-container--above .select2-selection__rendered, -.acf-admin-page .acf-field-parent-slug .select2-container--open.select2-container--above .select2-selection__rendered, -.acf-admin-page .acf-field-data-storage .select2-container--open.select2-container--above .select2-selection__rendered, -.acf-admin-page .acf-field-manage-terms .select2-container--open.select2-container--above .select2-selection__rendered, -.acf-admin-page .acf-field-edit-terms .select2-container--open.select2-container--above .select2-selection__rendered, -.acf-admin-page .acf-field-delete-terms .select2-container--open.select2-container--above .select2-selection__rendered, -.acf-admin-page .acf-field-assign-terms .select2-container--open.select2-container--above .select2-selection__rendered, -.acf-admin-page .acf-field-meta-box .select2-container--open.select2-container--above .select2-selection__rendered, -.acf-admin-page .rule-groups .select2-container--open.select2-container--above .select2-selection__rendered { - border-top-right-radius: 0 !important; - border-top-left-radius: 0 !important; - border-bottom-color: #6BB5D8 !important; - border-top-color: #D0D5DD !important; -} -.acf-admin-page .acf-field-setting-type .acf-selection.has-icon, -.acf-admin-page .acf-field-permalink-rewrite .acf-selection.has-icon, -.acf-admin-page .acf-field-query-var .acf-selection.has-icon, -.acf-admin-page .acf-field-capability .acf-selection.has-icon, -.acf-admin-page .acf-field-parent-slug .acf-selection.has-icon, -.acf-admin-page .acf-field-data-storage .acf-selection.has-icon, -.acf-admin-page .acf-field-manage-terms .acf-selection.has-icon, -.acf-admin-page .acf-field-edit-terms .acf-selection.has-icon, -.acf-admin-page .acf-field-delete-terms .acf-selection.has-icon, -.acf-admin-page .acf-field-assign-terms .acf-selection.has-icon, -.acf-admin-page .acf-field-meta-box .acf-selection.has-icon, -.acf-admin-page .rule-groups .acf-selection.has-icon { - margin-left: 6px; -} -.rtl.acf-admin-page .acf-field-setting-type .acf-selection.has-icon, .acf-admin-page .acf-field-permalink-rewrite .acf-selection.has-icon, .acf-admin-page .acf-field-query-var .acf-selection.has-icon, .acf-admin-page .acf-field-capability .acf-selection.has-icon, .acf-admin-page .acf-field-parent-slug .acf-selection.has-icon, .acf-admin-page .acf-field-data-storage .acf-selection.has-icon, .acf-admin-page .acf-field-manage-terms .acf-selection.has-icon, .acf-admin-page .acf-field-edit-terms .acf-selection.has-icon, .acf-admin-page .acf-field-delete-terms .acf-selection.has-icon, .acf-admin-page .acf-field-assign-terms .acf-selection.has-icon, .acf-admin-page .acf-field-meta-box .acf-selection.has-icon, .acf-admin-page .rule-groups .acf-selection.has-icon { - margin-right: 6px; -} - -.acf-admin-page .acf-field-setting-type .select2-selection__arrow, -.acf-admin-page .acf-field-permalink-rewrite .select2-selection__arrow, -.acf-admin-page .acf-field-query-var .select2-selection__arrow, -.acf-admin-page .acf-field-capability .select2-selection__arrow, -.acf-admin-page .acf-field-parent-slug .select2-selection__arrow, -.acf-admin-page .acf-field-data-storage .select2-selection__arrow, -.acf-admin-page .acf-field-manage-terms .select2-selection__arrow, -.acf-admin-page .acf-field-edit-terms .select2-selection__arrow, -.acf-admin-page .acf-field-delete-terms .select2-selection__arrow, -.acf-admin-page .acf-field-assign-terms .select2-selection__arrow, -.acf-admin-page .acf-field-meta-box .select2-selection__arrow, -.acf-admin-page .rule-groups .select2-selection__arrow { - width: 20px; - height: 20px; - top: calc(50% - 10px); - right: 12px; - background-color: transparent; -} -.acf-admin-page .acf-field-setting-type .select2-selection__arrow:after, -.acf-admin-page .acf-field-permalink-rewrite .select2-selection__arrow:after, -.acf-admin-page .acf-field-query-var .select2-selection__arrow:after, -.acf-admin-page .acf-field-capability .select2-selection__arrow:after, -.acf-admin-page .acf-field-parent-slug .select2-selection__arrow:after, -.acf-admin-page .acf-field-data-storage .select2-selection__arrow:after, -.acf-admin-page .acf-field-manage-terms .select2-selection__arrow:after, -.acf-admin-page .acf-field-edit-terms .select2-selection__arrow:after, -.acf-admin-page .acf-field-delete-terms .select2-selection__arrow:after, -.acf-admin-page .acf-field-assign-terms .select2-selection__arrow:after, -.acf-admin-page .acf-field-meta-box .select2-selection__arrow:after, -.acf-admin-page .rule-groups .select2-selection__arrow:after { - content: ""; - display: block; - position: absolute; - z-index: 850; - top: 1px; - left: 0; - width: 20px; - height: 20px; - -webkit-mask-image: url("../../images/icons/icon-chevron-down.svg"); - mask-image: url("../../images/icons/icon-chevron-down.svg"); - background-color: #667085; - border: none; - border-radius: 0; - -webkit-mask-size: contain; - mask-size: contain; - -webkit-mask-repeat: no-repeat; - mask-repeat: no-repeat; - -webkit-mask-position: center; - mask-position: center; - text-indent: 500%; - white-space: nowrap; - overflow: hidden; -} -.acf-admin-page .acf-field-setting-type .select2-selection__arrow b[role=presentation], -.acf-admin-page .acf-field-permalink-rewrite .select2-selection__arrow b[role=presentation], -.acf-admin-page .acf-field-query-var .select2-selection__arrow b[role=presentation], -.acf-admin-page .acf-field-capability .select2-selection__arrow b[role=presentation], -.acf-admin-page .acf-field-parent-slug .select2-selection__arrow b[role=presentation], -.acf-admin-page .acf-field-data-storage .select2-selection__arrow b[role=presentation], -.acf-admin-page .acf-field-manage-terms .select2-selection__arrow b[role=presentation], -.acf-admin-page .acf-field-edit-terms .select2-selection__arrow b[role=presentation], -.acf-admin-page .acf-field-delete-terms .select2-selection__arrow b[role=presentation], -.acf-admin-page .acf-field-assign-terms .select2-selection__arrow b[role=presentation], -.acf-admin-page .acf-field-meta-box .select2-selection__arrow b[role=presentation], -.acf-admin-page .rule-groups .select2-selection__arrow b[role=presentation] { - display: none; -} -.acf-admin-page .acf-field-setting-type .select2-container--open .select2-selection__arrow:after, -.acf-admin-page .acf-field-permalink-rewrite .select2-container--open .select2-selection__arrow:after, -.acf-admin-page .acf-field-query-var .select2-container--open .select2-selection__arrow:after, -.acf-admin-page .acf-field-capability .select2-container--open .select2-selection__arrow:after, -.acf-admin-page .acf-field-parent-slug .select2-container--open .select2-selection__arrow:after, -.acf-admin-page .acf-field-data-storage .select2-container--open .select2-selection__arrow:after, -.acf-admin-page .acf-field-manage-terms .select2-container--open .select2-selection__arrow:after, -.acf-admin-page .acf-field-edit-terms .select2-container--open .select2-selection__arrow:after, -.acf-admin-page .acf-field-delete-terms .select2-container--open .select2-selection__arrow:after, -.acf-admin-page .acf-field-assign-terms .select2-container--open .select2-selection__arrow:after, -.acf-admin-page .acf-field-meta-box .select2-container--open .select2-selection__arrow:after, -.acf-admin-page .rule-groups .select2-container--open .select2-selection__arrow:after { - -webkit-mask-image: url("../../images/icons/icon-chevron-up.svg"); - mask-image: url("../../images/icons/icon-chevron-up.svg"); -} -.acf-admin-page .acf-term-search-term-name { - background-color: #F9FAFB; - border-top: 1px solid #EAECF0; - border-bottom: 1px solid #EAECF0; - color: #98A2B3; - padding: 5px 5px 5px 10px; - width: 100%; - margin: 0; - display: block; - font-weight: 300; -} -.acf-admin-page .field-type-select-results { - position: relative; - top: 4px; - z-index: 1002; - border-radius: 0 0 6px 6px; - box-shadow: 0px 8px 24px 4px rgba(16, 24, 40, 0.12); -} -.acf-admin-page .field-type-select-results.select2-dropdown--above { - display: flex; - flex-direction: column-reverse; - top: 0; - border-radius: 6px 6px 0 0; - z-index: 99999; -} -.select2-container.select2-container--open.acf-admin-page .field-type-select-results { - box-shadow: 0px 0px 0px 3px #EBF5FA, 0px 8px 24px 4px rgba(16, 24, 40, 0.12); -} - -.acf-admin-page .field-type-select-results .acf-selection.has-icon { - margin-left: 6px; -} -.rtl.acf-admin-page .field-type-select-results .acf-selection.has-icon { - margin-right: 6px; -} - -.acf-admin-page .field-type-select-results .select2-search { - position: relative; - margin: 0; - padding: 0; -} -.acf-admin-page .field-type-select-results .select2-search--dropdown:after { - content: ""; - display: block; - position: absolute; - top: 12px; - left: 13px; - width: 16px; - height: 16px; - -webkit-mask-image: url("../../images/icons/icon-search.svg"); - mask-image: url("../../images/icons/icon-search.svg"); - background-color: #98A2B3; - border: none; - border-radius: 0; - -webkit-mask-size: contain; - mask-size: contain; - -webkit-mask-repeat: no-repeat; - mask-repeat: no-repeat; - -webkit-mask-position: center; - mask-position: center; - text-indent: 500%; - white-space: nowrap; - overflow: hidden; -} -.rtl.acf-admin-page .field-type-select-results .select2-search--dropdown:after { - right: 12px; - left: auto; -} - -.acf-admin-page .field-type-select-results .select2-search .select2-search__field { - padding-left: 38px; - border-right: 0; - border-bottom: 0; - border-left: 0; - border-radius: 0; -} -.rtl.acf-admin-page .field-type-select-results .select2-search .select2-search__field { - padding-right: 38px; - padding-left: 0; -} - -.acf-admin-page .field-type-select-results .select2-search .select2-search__field:focus { - border-top-color: #D0D5DD; - outline: 0; -} -.acf-admin-page .field-type-select-results .select2-results__options { - max-height: 440px; -} -.acf-admin-page .field-type-select-results .select2-results__option .select2-results__option--highlighted { - background-color: #0783BE !important; - color: #F9FAFB !important; -} -.acf-admin-page .field-type-select-results .select2-results__option .select2-results__option { - display: inline-flex; - position: relative; - width: calc(100% - 24px); - min-height: 32px; - padding-top: 0; - padding-right: 12px; - padding-bottom: 0; - padding-left: 12px; - align-items: center; -} -.acf-admin-page .field-type-select-results .select2-results__option .select2-results__option .field-type-icon { - top: auto; - width: 18px; - height: 18px; - margin-right: 2px; - box-shadow: 0 0 0 1px #F9FAFB; -} -.acf-admin-page .field-type-select-results .select2-results__option .select2-results__option .field-type-icon:before { - width: 9px; - height: 9px; -} -.acf-admin-page .field-type-select-results .select2-results__option[aria-selected=true] { - background-color: #EBF5FA !important; - color: #344054 !important; -} -.acf-admin-page .field-type-select-results .select2-results__option[aria-selected=true]:after { - content: ""; - right: 13px; - position: absolute; - width: 16px; - height: 16px; - -webkit-mask-image: url("../../images/icons/icon-check.svg"); - mask-image: url("../../images/icons/icon-check.svg"); - background-color: #0783BE; - border: none; - border-radius: 0; - -webkit-mask-size: contain; - mask-size: contain; - -webkit-mask-repeat: no-repeat; - mask-repeat: no-repeat; - -webkit-mask-position: center; - mask-position: center; - text-indent: 500%; - white-space: nowrap; - overflow: hidden; -} -.rtl.acf-admin-page .field-type-select-results .select2-results__option[aria-selected=true]:after { - left: 13px; - right: auto; -} - -.acf-admin-page .field-type-select-results .select2-results__group { - display: inline-flex; - align-items: center; - width: calc(100% - 24px); - min-height: 25px; - background-color: #F9FAFB; - border-top-width: 1px; - border-top-style: solid; - border-top-color: #EAECF0; - border-bottom-width: 1px; - border-bottom-style: solid; - border-bottom-color: #EAECF0; - color: #98A2B3; - font-size: 11px; - margin-bottom: 0; - padding-top: 0; - padding-right: 12px; - padding-bottom: 0; - padding-left: 12px; - font-weight: normal; -} -.acf-admin-page.rtl .acf-field-setting-type .select2-selection__arrow:after, -.acf-admin-page.rtl .acf-field-permalink-rewrite .select2-selection__arrow:after, -.acf-admin-page.rtl .acf-field-query-var .select2-selection__arrow:after { - right: auto; - left: 10px; -} - -.rtl.post-type-acf-field-group .acf-field-setting-name .acf-tip, -.rtl.acf-internal-post-type .acf-field-setting-name .acf-tip { - left: auto; - right: 654px; -} - -/*---------------------------------------------------------------------------- -* -* Container sizes -* -*----------------------------------------------------------------------------*/ -.post-type-acf-field-group .metabox-holder.columns-1 #acf-field-group-fields, -.post-type-acf-field-group .metabox-holder.columns-1 #acf-field-group-options, -.post-type-acf-field-group .metabox-holder.columns-1 .meta-box-sortables.ui-sortable, -.post-type-acf-field-group .metabox-holder.columns-1 .notice { - max-width: 1440px; -} - -/*---------------------------------------------------------------------------- -* -* Max width for notices in 1 column edit field group layout -* -*----------------------------------------------------------------------------*/ -.post-type-acf-field-group.columns-1 .notice { - max-width: 1440px; -} - -/*---------------------------------------------------------------------------- -* -* Widen edit field group headerbar for 2 column layout -* -*----------------------------------------------------------------------------*/ -.post-type-acf-field-group.columns-2 .acf-headerbar .acf-headerbar-inner { - max-width: 100%; -} - -/*---------------------------------------------------------------------------- -* -* Post stuff -* -*----------------------------------------------------------------------------*/ -.post-type-acf-field-group #poststuff { - margin-top: 0; - margin-right: 0; - margin-bottom: 0; - margin-left: 0; - padding-top: 0; - padding-right: 0; - padding-bottom: 0; - padding-left: 0; -} - -/*---------------------------------------------------------------------------- -* -* Table -* -*----------------------------------------------------------------------------*/ -.post-type-acf-field-group #acf-field-group-fields .acf-field-list-wrap { - overflow: hidden; - border: none; - border-radius: 0 0 8px 8px; - box-shadow: 0px 1px 2px rgba(16, 24, 40, 0.1); -} -.post-type-acf-field-group #acf-field-group-fields .acf-field-list-wrap.-empty { - border-top-width: 1px; - border-top-style: solid; - border-top-color: #EAECF0; -} -.post-type-acf-field-group #acf-field-group-fields .acf-field-list-wrap.-empty .acf-thead, -.post-type-acf-field-group #acf-field-group-fields .acf-field-list-wrap.-empty .acf-tfoot { - display: none; -} -.post-type-acf-field-group #acf-field-group-fields .acf-field-list-wrap.-empty .no-fields-message { - min-height: 280px; -} - -/*---------------------------------------------------------------------------- -* -* Table header -* -*----------------------------------------------------------------------------*/ -.post-type-acf-field-group .acf-thead { - background-color: #F9FAFB; - border-top-width: 1px; - border-top-style: solid; - border-top-color: #EAECF0; - border-bottom-width: 1px; - border-bottom-style: solid; - border-bottom-color: #EAECF0; -} -.post-type-acf-field-group .acf-thead li { - display: flex; - align-items: center; - min-height: 48px; - padding-top: 0; - padding-bottom: 0; - color: #344054; - font-weight: 500; -} - -/*---------------------------------------------------------------------------- -* -* Table body -* -*----------------------------------------------------------------------------*/ -.post-type-acf-field-group .acf-field-object { - border-top-width: 1px; - border-top-style: solid; - border-top-color: #EAECF0; -} -.post-type-acf-field-group .acf-field-object:hover .acf-sortable-handle:before { - display: inline-flex; -} -.post-type-acf-field-group .acf-field-object.acf-field-is-endpoint:before { - display: block; - content: ""; - height: 2px; - width: 100%; - background: #D0D5DD; - margin-top: -1px; -} -.post-type-acf-field-group .acf-field-object.acf-field-is-endpoint.acf-field-object-accordion:before { - display: none; -} -.post-type-acf-field-group .acf-field-object.acf-field-is-endpoint.acf-field-object-accordion:after { - display: block; - content: ""; - height: 2px; - width: 100%; - background: #D0D5DD; - z-index: 500; -} -.post-type-acf-field-group .acf-field-object:hover { - background-color: #f7fbfd; -} -.post-type-acf-field-group .acf-field-object.open { - background-color: #fff; - border-top-color: #A5D2E7; -} -.post-type-acf-field-group .acf-field-object.open .handle { - background-color: #D8EBF5; - border: none; - text-shadow: none; -} -.post-type-acf-field-group .acf-field-object.open .handle a { - color: #0783BE !important; -} -.post-type-acf-field-group .acf-field-object.open .handle a.delete-field { - color: #a00 !important; -} -.post-type-acf-field-group .acf-field-object .acf-field-setting-type .acf-hl { - margin: 0; -} -.post-type-acf-field-group .acf-field-object .acf-field-setting-type .acf-hl li { - width: auto; -} -.post-type-acf-field-group .acf-field-object .acf-field-setting-type .acf-hl li:first-child { - flex-grow: 1; - margin-left: -10px; -} -.post-type-acf-field-group .acf-field-object .acf-field-setting-type .acf-hl li:nth-child(2) { - padding-right: 0; -} -.post-type-acf-field-group .acf-field-object ul.acf-hl { - display: flex; - align-items: stretch; -} -.post-type-acf-field-group .acf-field-object .handle li { - display: flex; - align-items: top; - flex-wrap: wrap; - min-height: 60px; - color: #344054; -} -.post-type-acf-field-group .acf-field-object .handle li.li-field-label { - display: flex; - flex-wrap: wrap; - justify-content: flex-start; - align-content: flex-start; - align-items: flex-start; - width: auto; -} -.post-type-acf-field-group .acf-field-object .handle li.li-field-label strong { - font-weight: 500; -} -.post-type-acf-field-group .acf-field-object .handle li.li-field-label .row-options { - width: 100%; -} -/*---------------------------------------------------------------------------- -* -* Table footer -* -*----------------------------------------------------------------------------*/ -.post-type-acf-field-group .acf-tfoot { - display: flex; - align-items: center; - justify-content: flex-end; - min-height: 80px; - box-sizing: border-box; - padding-top: 8px; - padding-right: 24px; - padding-bottom: 8px; - padding-left: 24px; - background-color: #fff; - border-top-width: 1px; - border-top-style: solid; - border-top-color: #EAECF0; -} -.post-type-acf-field-group .acf-tfoot .acf-fr { - margin-top: 0; - margin-right: 0; - margin-bottom: 0; - margin-left: 0; - padding-top: 0; - padding-right: 0; - padding-bottom: 0; - padding-left: 0; -} - -/*---------------------------------------------------------------------------- -* -* Edit field settings -* -*----------------------------------------------------------------------------*/ -.post-type-acf-field-group .acf-field-object .settings { - box-sizing: border-box; - padding-top: 0; - padding-bottom: 0; - background-color: #fff; - border-left-width: 4px; - border-left-style: solid; - border-left-color: #6BB5D8; -} - -/*---------------------------------------------------------------------------- -* -* Main field settings container -* -*----------------------------------------------------------------------------*/ -.acf-field-settings-main { - padding-top: 32px; - padding-right: 0; - padding-bottom: 32px; - padding-left: 0; -} -.acf-field-settings-main .acf-field:last-of-type, -.acf-field-settings-main .acf-field.acf-last-visible { - margin-bottom: 0; -} - -/*---------------------------------------------------------------------------- -* -* Field label -* -*----------------------------------------------------------------------------*/ -.acf-field-settings .acf-label { - display: block; - justify-content: space-between; - align-items: center; - align-content: center; - margin-top: 0; - margin-right: 0; - margin-bottom: 6px; - margin-left: 0; -} - -/*---------------------------------------------------------------------------- -* -* Single field -* -*----------------------------------------------------------------------------*/ -.acf-field-settings .acf-field { - box-sizing: border-box; - width: 100%; - margin-top: 0; - margin-right: 0; - margin-bottom: 32px; - margin-left: 0; - padding-top: 0; - padding-right: 72px; - padding-bottom: 0; - padding-left: 72px; -} -@media screen and (max-width: 600px) { - .acf-field-settings .acf-field { - padding-right: 12px; - padding-left: 12px; - } -} -.acf-field-settings .acf-field .acf-label, -.acf-field-settings .acf-field .acf-input { - max-width: 600px; -} -.acf-field-settings .acf-field .acf-label.acf-input-sub, -.acf-field-settings .acf-field .acf-input.acf-input-sub { - max-width: 100%; -} -.acf-field-settings .acf-field .acf-label .acf-btn:disabled, -.acf-field-settings .acf-field .acf-input .acf-btn:disabled { - background-color: #F2F4F7; - color: #98A2B3 !important; - border: 1px #D0D5DD solid; - cursor: default; -} -.acf-field-settings .acf-field .acf-input-wrap { - overflow: visible; -} - -/*---------------------------------------------------------------------------- -* -* Field separators -* -*----------------------------------------------------------------------------*/ -.acf-field-settings .acf-field.acf-field-setting-label, -.acf-field-settings .acf-field-setting-wrapper { - padding-top: 24px; - border-top-width: 1px; - border-top-style: solid; - border-top-color: #EAECF0; -} - -.acf-field-settings .acf-field-setting-wrapper { - margin-top: 24px; -} - -/*---------------------------------------------------------------------------- -* -* Informational Notes for specific fields -* -*----------------------------------------------------------------------------*/ -.acf-field-setting-bidirectional_notes .acf-label { - display: none; -} -.acf-field-setting-bidirectional_notes .acf-feature-notice { - background-color: #F9FAFB; - border: 1px solid #EAECF0; - border-radius: 6px; - padding: 16px; - color: #344054; - position: relative; -} -.acf-field-setting-bidirectional_notes .acf-feature-notice.with-warning-icon { - padding-left: 45px; -} -.acf-field-setting-bidirectional_notes .acf-feature-notice.with-warning-icon::before { - content: ""; - display: block; - position: absolute; - top: 17px; - left: 18px; - z-index: 600; - width: 18px; - height: 18px; - margin-right: 8px; - background-color: #667085; - border: none; - border-radius: 0; - -webkit-mask-size: contain; - mask-size: contain; - -webkit-mask-repeat: no-repeat; - mask-repeat: no-repeat; - -webkit-mask-position: center; - mask-position: center; - -webkit-mask-image: url("../../images/icons/icon-info.svg"); - mask-image: url("../../images/icons/icon-info.svg"); -} - -/*---------------------------------------------------------------------------- -* -* Edit fields footer -* -*----------------------------------------------------------------------------*/ -.acf-field-settings .acf-field-settings-footer { - display: flex; - align-items: center; - min-height: 72px; - box-sizing: border-box; - width: 100%; - margin-top: 0; - margin-right: 0; - margin-bottom: 0; - margin-left: 0; - padding-top: 0; - padding-right: 0; - padding-bottom: 0; - padding-left: 72px; - border-top-width: 1px; - border-top-style: solid; - border-top-color: #EAECF0; -} -@media screen and (max-width: 600px) { - .acf-field-settings .acf-field-settings-footer { - padding-left: 12px; - } -} - -.rtl .acf-field-settings .acf-field-settings-footer { - padding-top: 0; - padding-right: 72px; - padding-bottom: 0; - padding-left: 0; -} - -/*---------------------------------------------------------------------------- -* -* Tabs -* -*----------------------------------------------------------------------------*/ -.acf-fields .acf-tab-wrap, -.acf-admin-page.acf-internal-post-type .acf-tab-wrap, -.acf-browse-fields-modal-wrap .acf-tab-wrap { - background: #F9FAFB; - border-bottom-color: #1D2939; -} -.acf-fields .acf-tab-wrap .acf-tab-group, -.acf-admin-page.acf-internal-post-type .acf-tab-wrap .acf-tab-group, -.acf-browse-fields-modal-wrap .acf-tab-wrap .acf-tab-group { - padding-right: 24px; - padding-left: 24px; - border-top-width: 0; - border-bottom-width: 1px; - border-bottom-style: solid; - border-bottom-color: #EAECF0; -} -.acf-fields .acf-field-settings-tab-bar, -.acf-fields .acf-tab-wrap .acf-tab-group, -.acf-admin-page.acf-internal-post-type .acf-field-settings-tab-bar, -.acf-admin-page.acf-internal-post-type .acf-tab-wrap .acf-tab-group, -.acf-browse-fields-modal-wrap .acf-field-settings-tab-bar, -.acf-browse-fields-modal-wrap .acf-tab-wrap .acf-tab-group { - display: flex; - align-items: stretch; - min-height: 48px; - padding-top: 0; - padding-right: 0; - padding-bottom: 0; - padding-left: 24px; - margin-top: 0; - margin-bottom: 0; - border-bottom-width: 1px; - border-bottom-style: solid; - border-bottom-color: #EAECF0; -} -.acf-fields .acf-field-settings-tab-bar li, -.acf-fields .acf-tab-wrap .acf-tab-group li, -.acf-admin-page.acf-internal-post-type .acf-field-settings-tab-bar li, -.acf-admin-page.acf-internal-post-type .acf-tab-wrap .acf-tab-group li, -.acf-browse-fields-modal-wrap .acf-field-settings-tab-bar li, -.acf-browse-fields-modal-wrap .acf-tab-wrap .acf-tab-group li { - display: flex; - margin-top: 0; - margin-right: 24px; - margin-bottom: 0; - margin-left: 0; - padding: 0; -} -.acf-fields .acf-field-settings-tab-bar li a, -.acf-fields .acf-tab-wrap .acf-tab-group li a, -.acf-admin-page.acf-internal-post-type .acf-field-settings-tab-bar li a, -.acf-admin-page.acf-internal-post-type .acf-tab-wrap .acf-tab-group li a, -.acf-browse-fields-modal-wrap .acf-field-settings-tab-bar li a, -.acf-browse-fields-modal-wrap .acf-tab-wrap .acf-tab-group li a { - box-sizing: border-box; - display: inline-flex; - align-items: center; - height: 100%; - padding-top: 3px; - padding-right: 0; - padding-bottom: 0; - padding-left: 0; - background: none; - border-top: none; - border-right: none; - border-bottom-width: 3px; - border-bottom-style: solid; - border-bottom-color: transparent; - border-left: none; - color: #667085; - font-weight: normal; -} -.acf-fields .acf-field-settings-tab-bar li a:focus-visible, -.acf-fields .acf-tab-wrap .acf-tab-group li a:focus-visible, -.acf-admin-page.acf-internal-post-type .acf-field-settings-tab-bar li a:focus-visible, -.acf-admin-page.acf-internal-post-type .acf-tab-wrap .acf-tab-group li a:focus-visible, -.acf-browse-fields-modal-wrap .acf-field-settings-tab-bar li a:focus-visible, -.acf-browse-fields-modal-wrap .acf-tab-wrap .acf-tab-group li a:focus-visible { - border: 1px solid #5897fb; -} -.acf-fields .acf-field-settings-tab-bar li a:hover, -.acf-fields .acf-tab-wrap .acf-tab-group li a:hover, -.acf-admin-page.acf-internal-post-type .acf-field-settings-tab-bar li a:hover, -.acf-admin-page.acf-internal-post-type .acf-tab-wrap .acf-tab-group li a:hover, -.acf-browse-fields-modal-wrap .acf-field-settings-tab-bar li a:hover, -.acf-browse-fields-modal-wrap .acf-tab-wrap .acf-tab-group li a:hover { - color: #1D2939; -} -.acf-fields .acf-field-settings-tab-bar li a:hover, -.acf-fields .acf-tab-wrap .acf-tab-group li a:hover, -.acf-admin-page.acf-internal-post-type .acf-field-settings-tab-bar li a:hover, -.acf-admin-page.acf-internal-post-type .acf-tab-wrap .acf-tab-group li a:hover, -.acf-browse-fields-modal-wrap .acf-field-settings-tab-bar li a:hover, -.acf-browse-fields-modal-wrap .acf-tab-wrap .acf-tab-group li a:hover { - background-color: transparent; -} -.acf-fields .acf-field-settings-tab-bar li.active a, -.acf-fields .acf-tab-wrap .acf-tab-group li.active a, -.acf-admin-page.acf-internal-post-type .acf-field-settings-tab-bar li.active a, -.acf-admin-page.acf-internal-post-type .acf-tab-wrap .acf-tab-group li.active a, -.acf-browse-fields-modal-wrap .acf-field-settings-tab-bar li.active a, -.acf-browse-fields-modal-wrap .acf-tab-wrap .acf-tab-group li.active a { - background: none; - border-bottom-color: #0783BE; - color: #0783BE; -} -.acf-fields .acf-field-settings-tab-bar li.active a:focus-visible, -.acf-fields .acf-tab-wrap .acf-tab-group li.active a:focus-visible, -.acf-admin-page.acf-internal-post-type .acf-field-settings-tab-bar li.active a:focus-visible, -.acf-admin-page.acf-internal-post-type .acf-tab-wrap .acf-tab-group li.active a:focus-visible, -.acf-browse-fields-modal-wrap .acf-field-settings-tab-bar li.active a:focus-visible, -.acf-browse-fields-modal-wrap .acf-tab-wrap .acf-tab-group li.active a:focus-visible { - border-bottom-color: #0783BE; - border-bottom-width: 3px; -} - -.acf-admin-page.acf-internal-post-type .acf-field-editor .acf-field-settings-tab-bar { - padding-left: 72px; -} -@media screen and (max-width: 600px) { - .acf-admin-page.acf-internal-post-type .acf-field-editor .acf-field-settings-tab-bar { - padding-left: 12px; - } -} - -/*---------------------------------------------------------------------------- -* -* Field group settings -* -*----------------------------------------------------------------------------*/ -#acf-field-group-options .field-group-settings-tab { - padding-top: 24px; - padding-right: 24px; - padding-bottom: 24px; - padding-left: 24px; -} -#acf-field-group-options .field-group-settings-tab .acf-field:last-of-type { - padding: 0; -} -#acf-field-group-options .acf-field { - border: none; - margin-top: 0; - margin-right: 0; - margin-bottom: 0; - margin-left: 0; - padding-top: 0; - padding-right: 0; - padding-bottom: 24px; - padding-left: 0; -} -#acf-field-group-options .field-group-setting-split-container { - display: flex; - padding-top: 0; - padding-right: 0; - padding-bottom: 0; - padding-left: 0; -} -#acf-field-group-options .field-group-setting-split-container .field-group-setting-split { - box-sizing: border-box; - padding-top: 24px; - padding-right: 24px; - padding-bottom: 24px; - padding-left: 24px; -} -#acf-field-group-options .field-group-setting-split-container .field-group-setting-split:nth-child(1) { - flex: 1 0 auto; -} -#acf-field-group-options .field-group-setting-split-container .field-group-setting-split:nth-child(2n) { - flex: 1 0 auto; - max-width: 320px; - margin-top: 0; - margin-right: 0; - margin-bottom: 0; - margin-left: 32px; - padding-right: 32px; - padding-left: 32px; - border-left-width: 1px; - border-left-style: solid; - border-left-color: #EAECF0; -} -#acf-field-group-options .acf-field[data-name=description] { - max-width: 600px; -} -#acf-field-group-options .acf-button-group { - display: inline-flex; -} - -.rtl #acf-field-group-options .field-group-setting-split-container .field-group-setting-split:nth-child(2n) { - margin-right: 32px; - margin-left: 0; - border-left: none; - border-right-width: 1px; - border-right-style: solid; - border-right-color: #EAECF0; -} - -/*---------------------------------------------------------------------------- -* -* Reorder handles -* -*----------------------------------------------------------------------------*/ -.acf-field-list .li-field-order { - padding: 0; - display: flex; - flex-direction: row; - flex-wrap: nowrap; - justify-content: center; - align-content: stretch; - align-items: stretch; - background-color: transparent; -} -.acf-field-list .acf-sortable-handle { - display: flex; - flex-direction: row; - flex-wrap: nowrap; - justify-content: center; - align-content: flex-start; - align-items: flex-start; - width: 100%; - height: 100%; - position: relative; - padding-top: 11px; - padding-bottom: 8px; - background-color: transparent; - border: none; - border-radius: 0; -} -.acf-field-list .acf-sortable-handle:hover { - cursor: grab; -} -.acf-field-list .acf-sortable-handle:before { - content: ""; - display: none; - position: absolute; - top: 16px; - left: 8px; - width: 16px; - height: 16px; - width: 12px; - height: 12px; - background-color: #98A2B3; - border: none; - border-radius: 0; - -webkit-mask-size: contain; - mask-size: contain; - -webkit-mask-repeat: no-repeat; - mask-repeat: no-repeat; - -webkit-mask-position: center; - mask-position: center; - text-indent: 500%; - white-space: nowrap; - overflow: hidden; - -webkit-mask-image: url("../../images/icons/icon-draggable.svg"); - mask-image: url("../../images/icons/icon-draggable.svg"); -} - -.rtl .acf-field-list .acf-sortable-handle:before { - left: 0; - right: 8px; -} - -/*---------------------------------------------------------------------------- -* -* Expand / collapse field icon -* -*----------------------------------------------------------------------------*/ -.acf-field-object .li-field-label { - position: relative; - padding-left: 40px; -} -.acf-field-object .li-field-label:before { - content: ""; - display: block; - position: absolute; - left: 6px; - display: inline-flex; - width: 18px; - height: 18px; - margin-top: -2px; - background-color: #667085; - border: none; - border-radius: 0; - -webkit-mask-size: contain; - mask-size: contain; - -webkit-mask-repeat: no-repeat; - mask-repeat: no-repeat; - -webkit-mask-position: center; - mask-position: center; - text-indent: 500%; - white-space: nowrap; - overflow: hidden; - -webkit-mask-image: url("../../images/icons/icon-chevron-down.svg"); - mask-image: url("../../images/icons/icon-chevron-down.svg"); -} -.acf-field-object .li-field-label:hover:before { - cursor: pointer; -} - -.rtl .acf-field-object .li-field-label { - padding-left: 0; - padding-right: 40px; -} -.rtl .acf-field-object .li-field-label:before { - left: 0; - right: 6px; - -webkit-mask-image: url("../../images/icons/icon-chevron-down.svg"); - mask-image: url("../../images/icons/icon-chevron-down.svg"); -} -.rtl .acf-field-object.open .li-field-label:before { - -webkit-mask-image: url("../../images/icons/icon-chevron-down.svg"); - mask-image: url("../../images/icons/icon-chevron-down.svg"); -} -.rtl .acf-field-object.open .acf-input-sub .li-field-label:before { - -webkit-mask-image: url("../../images/icons/icon-chevron-right.svg"); - mask-image: url("../../images/icons/icon-chevron-right.svg"); -} -.rtl .acf-field-object.open .acf-input-sub .acf-field-object.open .li-field-label:before { - -webkit-mask-image: url("../../images/icons/icon-chevron-down.svg"); - mask-image: url("../../images/icons/icon-chevron-down.svg"); -} - -.acf-thead .li-field-label { - padding-left: 40px; -} -.rtl .acf-thead .li-field-label { - padding-left: 0; - padding-right: 40px; -} - -/*---------------------------------------------------------------------------- -* -* Conditional logic layout -* -*----------------------------------------------------------------------------*/ -.acf-field-settings-main-conditional-logic .acf-conditional-toggle { - display: flex; - padding-right: 72px; - padding-left: 72px; -} -@media screen and (max-width: 600px) { - .acf-field-settings-main-conditional-logic .acf-conditional-toggle { - padding-left: 12px; - } -} -.acf-field-settings-main-conditional-logic .acf-field { - flex-wrap: wrap; - margin-bottom: 0; - padding-right: 0; - padding-left: 0; -} -.acf-field-settings-main-conditional-logic .acf-field .rule-groups { - flex: 0 1 100%; - order: 3; - margin-top: 32px; - padding-top: 32px; - padding-right: 72px; - padding-left: 72px; - border-top-width: 1px; - border-top-style: solid; - border-top-color: #EAECF0; -} -@media screen and (max-width: 600px) { - .acf-field-settings-main-conditional-logic .acf-field .rule-groups { - padding-left: 12px; - } - .acf-field-settings-main-conditional-logic .acf-field .rule-groups table.acf-table tbody tr { - display: flex; - flex-wrap: wrap; - justify-content: flex-start; - align-content: flex-start; - align-items: flex-start; - } - .acf-field-settings-main-conditional-logic .acf-field .rule-groups table.acf-table tbody tr td { - flex: 1 1 100%; - } -} - -.acf-taxonomy-select-id, -.acf-relationship-select-id, -.acf-post_object-select-id, -.acf-page_link-select-id { - color: #98A2B3; - padding-left: 10px; -} - -.acf-taxonomy-select-sub-item { - max-width: 180px; - white-space: nowrap; - overflow: hidden; - text-overflow: ellipsis; - margin-left: 5px; -} - -.acf-taxonomy-select-name { - max-width: 180px; - white-space: nowrap; - overflow: hidden; - text-overflow: ellipsis; -} - -/*---------------------------------------------------------------------------- -* -* Prefix & append styling -* -*----------------------------------------------------------------------------*/ -.acf-input .acf-input-prepend, -.acf-input .acf-input-append { - display: inline-flex; - align-items: center; - height: 100%; - min-height: 40px; - padding-right: 12px; - padding-left: 12px; - background-color: #F9FAFB; - border-color: #D0D5DD; - box-shadow: 0px 1px 2px rgba(16, 24, 40, 0.1); - color: #667085; -} -.acf-input .acf-input-prepend { - border-radius: 6px 0 0 6px; -} -.acf-input .acf-input-append { - border-radius: 0 6px 6px 0; -} - -/*---------------------------------------------------------------------------- -* -* ACF input wrap -* -*----------------------------------------------------------------------------*/ -.acf-input-wrap { - display: flex; -} - -.acf-field-settings-main-presentation .acf-input-wrap { - display: flex; -} - -/*---------------------------------------------------------------------------- -* -* Empty state -* -*----------------------------------------------------------------------------*/ -.post-type-acf-field-group #acf-field-group-fields .acf-field-list.-empty .no-fields-message { - display: flex; - justify-content: center; - padding-top: 48px; - padding-bottom: 48px; -} -.post-type-acf-field-group #acf-field-group-fields .acf-field-list.-empty .no-fields-message .no-fields-message-inner { - display: flex; - flex-wrap: wrap; - justify-content: center; - align-content: center; - align-items: flex-start; - text-align: center; - max-width: 400px; -} -.post-type-acf-field-group #acf-field-group-fields .acf-field-list.-empty .no-fields-message .no-fields-message-inner img, -.post-type-acf-field-group #acf-field-group-fields .acf-field-list.-empty .no-fields-message .no-fields-message-inner h2, -.post-type-acf-field-group #acf-field-group-fields .acf-field-list.-empty .no-fields-message .no-fields-message-inner p { - flex: 1 0 100%; -} -.post-type-acf-field-group #acf-field-group-fields .acf-field-list.-empty .no-fields-message .no-fields-message-inner h2 { - margin-top: 32px; - margin-bottom: 0; - padding: 0; - color: #344054; -} -.post-type-acf-field-group #acf-field-group-fields .acf-field-list.-empty .no-fields-message .no-fields-message-inner p { - margin-top: 12px; - margin-bottom: 0; - padding: 0; - color: #667085; -} -.post-type-acf-field-group #acf-field-group-fields .acf-field-list.-empty .no-fields-message .no-fields-message-inner p.acf-small { - margin-top: 32px; -} -.post-type-acf-field-group #acf-field-group-fields .acf-field-list.-empty .no-fields-message .no-fields-message-inner img { - max-width: 284px; - margin-bottom: 0; -} -.post-type-acf-field-group #acf-field-group-fields .acf-field-list.-empty .no-fields-message .no-fields-message-inner .acf-btn { - margin-top: 32px; -} - -/*---------------------------------------------------------------------------- -* -* Hide add title prompt label -* -*----------------------------------------------------------------------------*/ -.post-type-acf-field-group .acf-headerbar #title-prompt-text { - display: none; -} - -/*---------------------------------------------------------------------------- -* -* Modal styling -* -*----------------------------------------------------------------------------*/ -.acf-admin-page #acf-popup .acf-popup-box { - min-width: 480px; -} -.acf-admin-page #acf-popup .acf-popup-box .title { - display: flex; - align-items: center; - align-content: center; - justify-content: space-between; - min-height: 64px; - box-sizing: border-box; - margin: 0; - padding-right: 24px; - padding-left: 24px; - border-bottom-width: 1px; - border-bottom-style: solid; - border-bottom-color: #EAECF0; -} -.acf-admin-page #acf-popup .acf-popup-box .title h1, -.acf-admin-page #acf-popup .acf-popup-box .title h2, -.acf-admin-page #acf-popup .acf-popup-box .title h3, -.acf-admin-page #acf-popup .acf-popup-box .title h4 { - padding-left: 0; - color: #344054; -} -.acf-admin-page #acf-popup .acf-popup-box .title .acf-icon { - display: block; - position: relative; - top: auto; - right: auto; - width: 22px; - height: 22px; - background-color: transparent; - color: transparent; -} -.acf-admin-page #acf-popup .acf-popup-box .title .acf-icon:before { - display: inline-flex; - position: absolute; - top: 0; - left: 0; - width: 22px; - height: 22px; - background-color: #667085; - border: none; - border-radius: 0; - -webkit-mask-size: contain; - mask-size: contain; - -webkit-mask-repeat: no-repeat; - mask-repeat: no-repeat; - -webkit-mask-position: center; - mask-position: center; - text-indent: 500%; - white-space: nowrap; - overflow: hidden; - -webkit-mask-image: url("../../images/icons/icon-close-circle.svg"); - mask-image: url("../../images/icons/icon-close-circle.svg"); -} -.acf-admin-page #acf-popup .acf-popup-box .title .acf-icon:hover:before { - background-color: #0783BE; -} -.acf-admin-page #acf-popup .acf-popup-box .inner { - box-sizing: border-box; - margin: 0; - padding-top: 24px; - padding-right: 24px; - padding-bottom: 24px; - padding-left: 24px; - border-top: none; -} -.acf-admin-page #acf-popup .acf-popup-box .inner p { - margin-top: 0; - margin-bottom: 0; -} -.acf-admin-page #acf-popup .acf-popup-box #acf-move-field-form .acf-field-select, -.acf-admin-page #acf-popup .acf-popup-box #acf-link-field-groups-form .acf-field-select { - margin-top: 0; -} -.acf-admin-page .acf-link-field-groups-popup .acf-popup-box .title h3, -.acf-admin-page .acf-create-options-page-popup .acf-popup-box .title h3 { - color: #1D2939; - font-weight: 500; -} -.acf-admin-page .acf-link-field-groups-popup .acf-popup-box .title h3:before, -.acf-admin-page .acf-create-options-page-popup .acf-popup-box .title h3:before { - content: ""; - width: 18px; - height: 18px; - background: #98A2B3; - margin-right: 9px; -} -.acf-admin-page .acf-link-field-groups-popup .acf-popup-box .inner, -.acf-admin-page .acf-create-options-page-popup .acf-popup-box .inner { - padding: 0 !important; -} -.acf-admin-page .acf-link-field-groups-popup .acf-popup-box .inner .acf-field-select, -.acf-admin-page .acf-link-field-groups-popup .acf-popup-box .inner .acf-link-successful, -.acf-admin-page .acf-create-options-page-popup .acf-popup-box .inner .acf-field-select, -.acf-admin-page .acf-create-options-page-popup .acf-popup-box .inner .acf-link-successful { - padding: 32px 24px; - margin-bottom: 0; -} -.acf-admin-page .acf-link-field-groups-popup .acf-popup-box .inner .acf-field-select .description, -.acf-admin-page .acf-link-field-groups-popup .acf-popup-box .inner .acf-link-successful .description, -.acf-admin-page .acf-create-options-page-popup .acf-popup-box .inner .acf-field-select .description, -.acf-admin-page .acf-create-options-page-popup .acf-popup-box .inner .acf-link-successful .description { - margin-top: 6px !important; -} -.acf-admin-page .acf-link-field-groups-popup .acf-popup-box .inner .acf-actions, -.acf-admin-page .acf-create-options-page-popup .acf-popup-box .inner .acf-actions { - background: #F9FAFB; - border-top: 1px solid #EAECF0; - padding-top: 20px; - padding-left: 24px; - padding-bottom: 20px; - padding-right: 24px; - border-bottom-left-radius: 8px; - border-bottom-right-radius: 8px; -} -.acf-admin-page .acf-link-field-groups-popup .acf-popup-box .inner .acf-actions .acf-btn, -.acf-admin-page .acf-create-options-page-popup .acf-popup-box .inner .acf-actions .acf-btn { - display: inline-block; - margin-left: 8px; -} -.acf-admin-page .acf-link-field-groups-popup .acf-popup-box .inner .acf-actions .acf-btn.acf-btn-primary, -.acf-admin-page .acf-create-options-page-popup .acf-popup-box .inner .acf-actions .acf-btn.acf-btn-primary { - width: 120px; -} -.acf-admin-page .acf-create-options-page-popup .acf-popup-box .inner .acf-error-message.-success { - display: none; -} -.acf-admin-page .acf-create-options-page-popup .acf-popup-box .inner .-dismiss { - margin: 24px 32px !important; -} -.acf-admin-page .acf-create-options-page-popup .acf-popup-box .inner .acf-field { - padding: 24px 32px 0 32px; - margin: 0; -} -.acf-admin-page .acf-create-options-page-popup .acf-popup-box .inner .acf-field.acf-error .acf-input-wrap { - overflow: inherit; -} -.acf-admin-page .acf-create-options-page-popup .acf-popup-box .inner .acf-field.acf-error .acf-input-wrap input[type=text] { - border: 1px rgba(209, 55, 55, 0.5) solid !important; - box-shadow: 0px 0px 0px 3px rgba(209, 55, 55, 0.12), 0px 0px 0px rgba(255, 54, 54, 0.25) !important; - background-image: url(../../images/icons/icon-info-red.svg); - background-position: right 10px top 50%; - background-size: 14px; - background-repeat: no-repeat; -} -.acf-admin-page .acf-create-options-page-popup .acf-popup-box .inner .acf-field .acf-options-page-modal-error p { - font-size: 12px; - color: #D13737; -} -.acf-admin-page .acf-create-options-page-popup .acf-popup-box .inner .acf-actions { - margin-top: 32px; -} -.acf-admin-page .acf-create-options-page-popup .acf-popup-box .inner .acf-actions .acf-btn:disabled { - background-color: #0783BE; -} - -/*---------------------------------------------------------------------------- -* -* Hide original #post-body-content from edit field group page -* -*----------------------------------------------------------------------------*/ -.acf-admin-single-field-group #post-body-content { - display: none; -} - -/*---------------------------------------------------------------------------- -* -* Settings section footer -* -*----------------------------------------------------------------------------*/ -.acf-field-group-settings-footer { - display: flex; - justify-content: space-between; - align-content: stretch; - align-items: center; - position: relative; - min-height: 88px; - margin-right: -24px; - margin-left: -24px; - margin-bottom: -24px; - padding-right: 24px; - padding-left: 24px; - border-top-width: 1px; - border-top-style: solid; - border-top-color: #EAECF0; -} -.acf-field-group-settings-footer .acf-created-on { - display: inline-flex; - justify-content: flex-start; - align-content: stretch; - align-items: center; - color: #667085; -} -.acf-field-group-settings-footer .acf-created-on:before { - content: ""; - display: inline-block; - width: 20px; - height: 20px; - margin-right: 8px; - background-color: #98A2B3; - border: none; - border-radius: 0; - -webkit-mask-size: contain; - mask-size: contain; - -webkit-mask-repeat: no-repeat; - mask-repeat: no-repeat; - -webkit-mask-position: center; - mask-position: center; - -webkit-mask-image: url("../../images/icons/icon-time.svg"); - mask-image: url("../../images/icons/icon-time.svg"); -} - -/*---------------------------------------------------------------------------- -* -* Conditional logic enabled badge -* -*----------------------------------------------------------------------------*/ -.conditional-logic-badge { - display: none; -} -.conditional-logic-badge.is-enabled { - display: inline-block; - width: 6px; - height: 6px; - overflow: hidden; - margin-left: 8px; - background-color: rgba(82, 170, 89, 0.4); - border-width: 1px; - border-style: solid; - border-color: #52AA59; - border-radius: 100px; - text-indent: 100%; - white-space: nowrap; -} - -/*---------------------------------------------------------------------------- -* -* Field settings container -* -*----------------------------------------------------------------------------*/ -.acf-field-type-settings { - container-name: settings; - container-type: inline-size; -} - -/*---------------------------------------------------------------------------- -* -* Split field settings -* -*----------------------------------------------------------------------------*/ -.acf-field-settings-split { - display: flex; - border-top-width: 1px; - border-top-style: solid; - border-top-color: #EAECF0; -} -.acf-field-settings-split .acf-field { - margin: 0; - padding-top: 32px; - padding-bottom: 32px; -} -.acf-field-settings-split .acf-field:nth-child(2n) { - border-left-width: 1px; - border-left-style: solid; - border-left-color: #EAECF0; -} - -@container settings (max-width: 1170px) { - .acf-field-settings-split { - border: none; - flex-direction: column; - } - .acf-field { - border-top-width: 1px; - border-top-style: solid; - border-top-color: #EAECF0; - } -} -/*---------------------------------------------------------------------------- -* -* Display & return format -* -*----------------------------------------------------------------------------*/ -.acf-field-setting-display_format .acf-label, -.acf-field-setting-return_format .acf-label { - margin-bottom: 6px; -} -.acf-field-setting-display_format .acf-radio-list li, -.acf-field-setting-return_format .acf-radio-list li { - display: flex; -} -.acf-field-setting-display_format .acf-radio-list li label, -.acf-field-setting-return_format .acf-radio-list li label { - display: inline-flex; - width: 100%; -} -.acf-field-setting-display_format .acf-radio-list li label span, -.acf-field-setting-return_format .acf-radio-list li label span { - flex: 1 1 auto; -} -.acf-field-setting-display_format .acf-radio-list li label code, -.acf-field-setting-return_format .acf-radio-list li label code { - padding-right: 8px; - padding-left: 8px; - background-color: #F2F4F7; - border-radius: 4px; - color: #475467; -} -.acf-field-setting-display_format .acf-radio-list li input[type=text], -.acf-field-setting-return_format .acf-radio-list li input[type=text] { - height: 32px; -} - -.acf-field-settings .acf-field-setting-first_day { - padding-top: 32px; - border-top-width: 1px; - border-top-style: solid; - border-top-color: #EAECF0; -} - -/*---------------------------------------------------------------------------- -* -* Image and Gallery fields -* -*----------------------------------------------------------------------------*/ -.acf-field-object-image .acf-hl[data-cols="3"] > li, -.acf-field-object-gallery .acf-hl[data-cols="3"] > li { - width: auto; -} - -/*---------------------------------------------------------------------------- -* -* Appended fields fields -* -*----------------------------------------------------------------------------*/ -.acf-field-settings .acf-field-appended { - overflow: auto; -} -.acf-field-settings .acf-field-appended .acf-input { - float: left; -} - -/*---------------------------------------------------------------------------- -* -* Flexible widths for image minimum / maximum size fields -* -*----------------------------------------------------------------------------*/ -.acf-field-settings .acf-field.acf-field-setting-min_width .acf-input, -.acf-field-settings .acf-field.acf-field-setting-max_width .acf-input { - max-width: none; -} -.acf-field-settings .acf-field.acf-field-setting-min_width .acf-input-wrap input[type=text], -.acf-field-settings .acf-field.acf-field-setting-max_width .acf-input-wrap input[type=text] { - max-width: 81px; -} - -/*---------------------------------------------------------------------------- -* -* Temporary fix to hide pagination setting for repeaters used as subfields. -* -*----------------------------------------------------------------------------*/ -.post-type-acf-field-group .acf-field-object-flexible-content .acf-field-setting-pagination { - display: none; -} -.post-type-acf-field-group .acf-field-object-repeater .acf-field-object-repeater .acf-field-setting-pagination { - display: none; -} - -/*---------------------------------------------------------------------------- -* -* Flexible content field width -* -*----------------------------------------------------------------------------*/ -.acf-admin-single-field-group .acf-field-object-flexible-content .acf-is-subfields .acf-field-object .acf-label, -.acf-admin-single-field-group .acf-field-object-flexible-content .acf-is-subfields .acf-field-object .acf-input { - max-width: 600px; -} - -/*---------------------------------------------------------------------------- -* -* Fix default value checkbox focus state -* -*----------------------------------------------------------------------------*/ -.acf-admin-single-field-group .acf-field.acf-field-true-false.acf-field-setting-default_value .acf-true-false { - border: none; -} -.acf-admin-single-field-group .acf-field.acf-field-true-false.acf-field-setting-default_value .acf-true-false input[type=checkbox] { - margin-right: 0; -} - -/*---------------------------------------------------------------------------- -* -* With front field extra spacing -* -*----------------------------------------------------------------------------*/ -.acf-field.acf-field-with-front { - margin-top: 32px; -} - -/*--------------------------------------------------------------------------------------------- -* -* Sub-fields layout -* -*---------------------------------------------------------------------------------------------*/ -.post-type-acf-field-group #acf-field-group-fields .acf-field-list-wrap .acf-input-sub { - max-width: 100%; - overflow: hidden; - border-radius: 8px; - border-width: 1px; - border-style: solid; - border-color: #dbdfe5; - box-shadow: 0px 1px 2px rgba(16, 24, 40, 0.1); -} -.post-type-acf-field-group #acf-field-group-fields .acf-field-list-wrap .acf-input-sub .acf-sub-field-list-header { - display: flex; - justify-content: space-between; - align-content: stretch; - align-items: center; - min-height: 64px; - padding-right: 24px; - padding-left: 24px; -} -.post-type-acf-field-group #acf-field-group-fields .acf-field-list-wrap .acf-input-sub .acf-field-list-wrap { - box-shadow: none; -} -.post-type-acf-field-group #acf-field-group-fields .acf-field-list-wrap .acf-input-sub .acf-hl.acf-tfoot { - min-height: 64px; - align-items: center; -} -.post-type-acf-field-group #acf-field-group-fields .acf-field-list-wrap .acf-input-sub .acf-input.acf-input-sub { - max-width: 100%; - margin-right: 0; - margin-left: 0; -} - -.post-type-acf-field-group .acf-input-sub .acf-field-object .acf-sortable-handle { - width: 100%; - height: 100%; -} - -.post-type-acf-field-group .acf-field-object:hover .acf-input-sub .acf-sortable-handle:before { - display: none; -} - -.post-type-acf-field-group .acf-field-object:hover .acf-input-sub .acf-field-list .acf-field-object:hover .acf-sortable-handle:before { - display: block; -} - -.post-type-acf-field-group .acf-field-object .acf-is-subfields .acf-thead .li-field-label:before { - display: none; -} - -.post-type-acf-field-group #acf-field-group-fields .acf-field-list-wrap .acf-input-sub .acf-field-object.open { - border-top-color: #dbdfe5; -} - -/*--------------------------------------------------------------------------------------------- -* -* Flexible content field -* -*---------------------------------------------------------------------------------------------*/ -.post-type-acf-field-group i.acf-icon.-duplicate.duplicate-layout { - margin: 0 auto !important; - background-color: #667085; - color: #667085; -} -.post-type-acf-field-group i.acf-icon.acf-icon-trash.delete-layout { - margin: 0 auto !important; - background-color: #667085; - color: #667085; -} -.post-type-acf-field-group button.acf-btn.acf-btn-tertiary.acf-field-setting-fc-duplicate, .post-type-acf-field-group button.acf-btn.acf-btn-tertiary.acf-field-setting-fc-delete { - background-color: #ffffff !important; - box-shadow: 0px 1px 2px rgba(16, 24, 40, 0.1); - border-radius: 6px; - width: 32px; - height: 32px !important; - min-height: 32px; - padding: 0; -} -.post-type-acf-field-group button.add-layout.acf-btn.acf-btn-primary.add-field, -.post-type-acf-field-group .acf-sub-field-list-header a.acf-btn.acf-btn-secondary.add-field, -.post-type-acf-field-group .acf-field-list-wrap.acf-is-subfields a.acf-btn.acf-btn-secondary.add-field { - height: 32px !important; - min-height: 32px; - margin-left: 5px; -} -.post-type-acf-field-group .acf-field.acf-field-setting-fc_layout { - background-color: #ffffff; - margin-bottom: 16px; -} -.post-type-acf-field-group .acf-field-setting-fc_layout { - width: calc(100% - 144px); - margin-right: 72px; - margin-left: 72px; - padding-right: 0; - padding-left: 0; - border-width: 1px; - border-style: solid; - border-color: #dbdfe5; - border-radius: 8px; - box-shadow: 0px 1px 2px rgba(16, 24, 40, 0.1); -} -.post-type-acf-field-group .acf-field-setting-fc_layout .acf-field-layout-settings.open { - background-color: #ffffff; - border-top-width: 1px; - border-top-style: solid; - border-top-color: #EAECF0; -} -@media screen and (max-width: 768px) { - .post-type-acf-field-group .acf-field-setting-fc_layout { - width: calc(100% - 16px); - margin-right: 8px; - margin-left: 8px; - } -} -.post-type-acf-field-group .acf-field-setting-fc_layout .acf-input-sub { - max-width: 100%; - margin-right: 0; - margin-left: 0; -} -.post-type-acf-field-group .acf-field-setting-fc_layout .acf-label, -.post-type-acf-field-group .acf-field-setting-fc_layout .acf-input { - max-width: 100% !important; -} -.post-type-acf-field-group .acf-field-setting-fc_layout .acf-input-sub { - margin-right: 32px; - margin-bottom: 32px; - margin-left: 32px; -} -.post-type-acf-field-group .acf-field-setting-fc_layout .acf-fc-meta { - max-width: 100%; - padding-top: 24px; - padding-right: 32px; - padding-left: 32px; -} -.post-type-acf-field-group .acf-field-settings-fc_head { - display: flex; - align-items: center; - justify-content: left; - background-color: #F9FAFB; - border-radius: 8px; - min-height: 64px; - margin-bottom: 0px; - padding-right: 24px; -} -.post-type-acf-field-group .acf-field-settings-fc_head .acf-fc_draggable { - min-height: 64px; - padding-left: 24px; - display: flex; - white-space: nowrap; -} -.post-type-acf-field-group .acf-field-settings-fc_head .acf-fc-layout-name { - min-width: 0; - color: #98A2B3; - padding-left: 8px; - font-size: 16px; -} -.post-type-acf-field-group .acf-field-settings-fc_head .acf-fc-layout-name.copyable:not(.input-copyable, .copy-unsupported):hover:after { - width: 14px !important; - height: 14px !important; -} -@media screen and (max-width: 880px) { - .post-type-acf-field-group .acf-field-settings-fc_head .acf-fc-layout-name { - display: none !important; - } -} -.post-type-acf-field-group .acf-field-settings-fc_head .acf-fc-layout-name span { - white-space: nowrap; - overflow: hidden; - text-overflow: ellipsis; -} -.post-type-acf-field-group .acf-field-settings-fc_head span.toggle-indicator { - pointer-events: none; - margin-top: 7px; -} -.post-type-acf-field-group .acf-field-settings-fc_head label { - display: inline-flex; - align-items: center; -} -.post-type-acf-field-group .acf-field-settings-fc_head label.acf-fc-layout-name { - margin-left: 1rem; -} -@media screen and (max-width: 880px) { - .post-type-acf-field-group .acf-field-settings-fc_head label.acf-fc-layout-name { - display: none !important; - } -} -.post-type-acf-field-group .acf-field-settings-fc_head label.acf-fc-layout-name span.acf-fc-layout-name { - text-overflow: ellipsis; - overflow: hidden; - height: 22px; - white-space: nowrap; -} -.post-type-acf-field-group .acf-field-settings-fc_head label.acf-fc-layout-label:before { - content: ""; - display: inline-block; - width: 20px; - height: 20px; - margin-right: 8px; - background-color: #98A2B3; - border: none; - border-radius: 0; - -webkit-mask-size: contain; - mask-size: contain; - -webkit-mask-repeat: no-repeat; - mask-repeat: no-repeat; - -webkit-mask-position: center; - mask-position: center; -} -.rtl.post-type-acf-field-group .acf-field-settings-fc_head label.acf-fc-layout-label:before { - padding-right: 10px; -} - -.post-type-acf-field-group .acf-field-settings-fc_head .acf-fl-actions { - display: flex; - align-items: center; - white-space: nowrap; - margin-left: auto; -} -.post-type-acf-field-group .acf-field-settings-fc_head .acf-fl-actions .acf-fc-add-layout { - margin-left: 10px; -} -.post-type-acf-field-group .acf-field-settings-fc_head .acf-fl-actions .acf-fc-add-layout .add-field { - margin-left: 0px !important; -} -.post-type-acf-field-group .acf-field-settings-fc_head .acf-fl-actions li { - margin-right: 4px; -} -.post-type-acf-field-group .acf-field-settings-fc_head .acf-fl-actions li:last-of-type { - margin-right: 0; -} -.post-type-acf-field-group .acf-field-settings-fc_head.open { - border-radius: 8px 8px 0px 0px; -} - -/*--------------------------------------------------------------------------------------------- -* -* Field open / closed icon state -* -*---------------------------------------------------------------------------------------------*/ -.post-type-acf-field-group .acf-field-object.open > .handle > .acf-tbody > .li-field-label::before { - -webkit-mask-image: url("../../images/icons/icon-chevron-up.svg"); - mask-image: url("../../images/icons/icon-chevron-up.svg"); -} - -/*--------------------------------------------------------------------------------------------- -* -* Different coloured levels (current 5 supported) -* -*---------------------------------------------------------------------------------------------*/ -.post-type-acf-field-group #acf-field-group-fields .acf-field-list-wrap .acf-input-sub .acf-field-object .handle { - background-color: transparent; -} -.post-type-acf-field-group #acf-field-group-fields .acf-field-list-wrap .acf-input-sub .acf-field-object .handle:hover { - background-color: #f9f2fb; -} -.post-type-acf-field-group #acf-field-group-fields .acf-field-list-wrap .acf-input-sub .acf-field-object.open .handle { - background-color: #f5eaf9; -} -.post-type-acf-field-group #acf-field-group-fields .acf-field-list-wrap .acf-input-sub .acf-field-object .settings { - border-left-color: #BF7DD7; -} -.post-type-acf-field-group #acf-field-group-fields .acf-field-list-wrap .acf-input-sub .acf-input-sub .acf-field-object .handle { - background-color: transparent; -} -.post-type-acf-field-group #acf-field-group-fields .acf-field-list-wrap .acf-input-sub .acf-input-sub .acf-field-object .handle:hover { - background-color: #ebf7f4; -} -.post-type-acf-field-group #acf-field-group-fields .acf-field-list-wrap .acf-input-sub .acf-input-sub .acf-field-object.open .handle { - background-color: #e3f4f0; -} -.post-type-acf-field-group #acf-field-group-fields .acf-field-list-wrap .acf-input-sub .acf-input-sub .acf-field-object .settings { - border-left-color: #7CCDB9; -} -.post-type-acf-field-group #acf-field-group-fields .acf-field-list-wrap .acf-input-sub .acf-input-sub .acf-input-sub .acf-field-object .handle { - background-color: transparent; -} -.post-type-acf-field-group #acf-field-group-fields .acf-field-list-wrap .acf-input-sub .acf-input-sub .acf-input-sub .acf-field-object .handle:hover { - background-color: #fcf5f2; -} -.post-type-acf-field-group #acf-field-group-fields .acf-field-list-wrap .acf-input-sub .acf-input-sub .acf-input-sub .acf-field-object.open .handle { - background-color: #fbeee9; -} -.post-type-acf-field-group #acf-field-group-fields .acf-field-list-wrap .acf-input-sub .acf-input-sub .acf-input-sub .acf-field-object .settings { - border-left-color: #E29473; -} -.post-type-acf-field-group #acf-field-group-fields .acf-field-list-wrap .acf-input-sub .acf-input-sub .acf-input-sub .acf-input-sub .acf-field-object .handle { - background-color: transparent; -} -.post-type-acf-field-group #acf-field-group-fields .acf-field-list-wrap .acf-input-sub .acf-input-sub .acf-input-sub .acf-input-sub .acf-field-object .handle:hover { - background-color: #fafbfb; -} -.post-type-acf-field-group #acf-field-group-fields .acf-field-list-wrap .acf-input-sub .acf-input-sub .acf-input-sub .acf-input-sub .acf-field-object.open .handle { - background-color: #f4f6f7; -} -.post-type-acf-field-group #acf-field-group-fields .acf-field-list-wrap .acf-input-sub .acf-input-sub .acf-input-sub .acf-input-sub .acf-field-object .settings { - border-left-color: #A3B1B9; -} - -/*# sourceMappingURL=acf-field-group.css.map*/ \ No newline at end of file diff --git a/wp-content/plugins/advanced-custom-fields-pro/assets/build/css/acf-field-group.css.map b/wp-content/plugins/advanced-custom-fields-pro/assets/build/css/acf-field-group.css.map deleted file mode 100644 index 8d62a7c1e..000000000 --- a/wp-content/plugins/advanced-custom-fields-pro/assets/build/css/acf-field-group.css.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"acf-field-group.css","mappings":"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J;AMh/CE;EACC;ANk/CH;AM/+CE;EACC;EACA;EAEC;EACA;EACA;EACA;EAGA;EACA;EAGA;EACA;EACA,0BLrqBO;ADipEX;AMt+CC;EACC;ANw+CF;AMp+CC;EACC;ANs+CF;;AMh+CE;EAEE;EACA;EAED;EAEC;EACA;EACA,2BLhsBO;ADgqEX;;AM19CA;;;;8EAAA;AAMC;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AN49CF;AMz9CC;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAEC;EACA;EAGD;EACA;EACA;ANw9CF;AMt9CE;EACC;ANw9CH;AMr9CE;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EAEA,WADY;EAEZ,YAFY;EAGZ,yBLvvBQ;EKwvBR;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;ANs9CH;;AM/8CE;EACC;EACA;ANk9CH;;AM78CA;;;;8EAAA;AAMC;EACC;EAEC;AN88CH;AM38CE;EACC;EACA;EACA;EACA;EAEA;EACA,WAFY;EAGZ,YAHY;EAKX;EAED,yBLzyBQ;EK0yBR;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AN08CH;AMv8CE;EACC;ANy8CH;;AMl8CE;EAEE;EACA;ANo8CJ;AMj8CG;EACC;EACA;EACA;EACA;ANm8CJ;AM77CG;EACC;EACA;AN+7CJ;AM57CG;EACC;EACA;AN87CJ;AM37CG;EACC;EACA;AN67CJ;;AMt7CC;EAEE;ANw7CH;AMp7CE;EAEE;EACA;ANq7CJ;;AM/6CA;;;;8EAAA;AAOC;EACC;EAEC;EACA;AN+6CH;AM56CE;EAPD;IASG;EN86CF;AACF;AM16CC;EACC;EAEC;EAGA;EACA;ANy6CH;AMt6CE;EACC;EACA;EAEC;EAGA;EACA;EACA;EAGA;EACA;EACA,yBLn6BO;ADs0EX;AMh6CG;EAjBD;IAmBG;ENk6CH;EM/5CE;IACC;IACA;IACA;IACA;IACA;ENi6CH;EM/5CG;IACC;ENi6CJ;AACF;;AM15CA;;;;EAIC,cL77BU;EK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","sources":["webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/sass/acf-field-group.scss","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/sass/_variables.scss","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/sass/_mixins.scss","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/sass/_field-group.scss","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/sass/_typography.scss","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/sass/_admin-inputs.scss","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/sass/_edit-field-group.scss","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/sass/_sub-field-groups.scss"],"sourcesContent":["@charset \"UTF-8\";\n/*--------------------------------------------------------------------------------------------\n*\n*\tVars\n*\n*--------------------------------------------------------------------------------------------*/\n/* colors */\n/* acf-field */\n/* responsive */\n/*--------------------------------------------------------------------------------------------\n*\n*\tACF 6 ↓\n*\n*--------------------------------------------------------------------------------------------*/\n/*--------------------------------------------------------------------------------------------\n*\n* Mixins\n*\n*--------------------------------------------------------------------------------------------*/\n/*--------------------------------------------------------------------------------------------\n*\n*\tField Group\n*\n*--------------------------------------------------------------------------------------------*/\n#acf-field-group-fields > .inside,\n#acf-field-group-locations > .inside,\n#acf-field-group-options > .inside {\n padding: 0;\n margin: 0;\n}\n\n.postbox .handle-order-higher,\n.postbox .handle-order-lower {\n display: none;\n}\n\n/*----------------------------------------------------------------------------\n*\n* Postbox: Publish\n*\n*----------------------------------------------------------------------------*/\n#minor-publishing-actions,\n#misc-publishing-actions #visibility,\n#misc-publishing-actions .edit-timestamp {\n display: none;\n}\n\n#minor-publishing {\n border-bottom: 0 none;\n}\n\n#misc-pub-section {\n border-bottom: 0 none;\n}\n\n#misc-publishing-actions .misc-pub-section {\n border-bottom-color: #F5F5F5;\n}\n\n/*----------------------------------------------------------------------------\n*\n* Postbox: Fields\n*\n*----------------------------------------------------------------------------*/\n#acf-field-group-fields {\n border: 0 none;\n /* links */\n /* Field type */\n /* table header */\n /* show keys */\n /* hide tabs */\n /* fields */\n}\n#acf-field-group-fields .inside {\n border-top-width: 0;\n border-top-style: none;\n}\n#acf-field-group-fields a {\n text-decoration: none;\n}\n#acf-field-group-fields .li-field-type .field-type-icon {\n margin-right: 8px;\n}\n@media screen and (max-width: 600px) {\n #acf-field-group-fields .li-field-type .field-type-icon {\n display: none;\n }\n}\n#acf-field-group-fields .li-field-type .field-type-label {\n display: flex;\n}\n#acf-field-group-fields .li-field-type .acf-pro-label-field-type {\n position: relative;\n top: -3px;\n margin-left: 8px;\n}\n#acf-field-group-fields .li-field-type .acf-pro-label-field-type img {\n max-width: 34px;\n}\n#acf-field-group-fields .li-field-order {\n width: 64px;\n justify-content: center;\n}\n@media screen and (max-width: 880px) {\n #acf-field-group-fields .li-field-order {\n width: 32px;\n }\n}\n#acf-field-group-fields .li-field-label {\n width: calc(50% - 64px);\n}\n#acf-field-group-fields .li-field-name {\n width: 25%;\n word-break: break-word;\n}\n#acf-field-group-fields .li-field-key {\n display: none;\n}\n#acf-field-group-fields .li-field-type {\n width: 25%;\n}\n#acf-field-group-fields.show-field-keys .li-field-label {\n width: calc(35% - 64px);\n}\n#acf-field-group-fields.show-field-keys .li-field-name {\n width: 15%;\n}\n#acf-field-group-fields.show-field-keys .li-field-key {\n width: 25%;\n display: flex;\n}\n#acf-field-group-fields.show-field-keys .li-field-type {\n width: 25%;\n}\n#acf-field-group-fields.hide-tabs .acf-field-settings-tab-bar {\n display: none;\n}\n#acf-field-group-fields.hide-tabs .acf-field-settings-main {\n padding: 0;\n}\n#acf-field-group-fields.hide-tabs .acf-field-settings-main.acf-field-settings-main-general {\n padding-top: 32px;\n}\n#acf-field-group-fields.hide-tabs .acf-field-settings-main .acf-field {\n margin-bottom: 32px;\n}\n#acf-field-group-fields.hide-tabs .acf-field-settings-main .acf-field-setting-wrapper {\n padding-top: 0;\n border-top: none;\n}\n#acf-field-group-fields.hide-tabs .acf-field-settings-main .acf-field-settings-split .acf-field {\n border-bottom-width: 1px;\n border-bottom-style: solid;\n border-bottom-color: #EAECF0;\n}\n#acf-field-group-fields.hide-tabs .acf-field-settings-main .acf-field-setting-first_day {\n padding-top: 0;\n border-top: none;\n}\n#acf-field-group-fields.hide-tabs .acf-field-settings-footer {\n margin-top: 32px;\n}\n#acf-field-group-fields .acf-field-list-wrap {\n border: #ccd0d4 solid 1px;\n}\n#acf-field-group-fields .acf-field-list {\n background: #f5f5f5;\n margin-top: -1px;\n /* no fields */\n /* empty */\n}\n#acf-field-group-fields .acf-field-list .acf-tbody > .li-field-name,\n#acf-field-group-fields .acf-field-list .acf-tbody > .li-field-key {\n align-items: flex-start;\n}\n#acf-field-group-fields .acf-field-list .copyable:not(.input-copyable, .copy-unsupported) {\n cursor: pointer;\n display: inline-flex;\n align-items: center;\n}\n#acf-field-group-fields .acf-field-list .copyable:not(.input-copyable, .copy-unsupported):hover:after {\n content: \"\";\n padding-left: 5px;\n display: inline-flex;\n width: 12px;\n height: 12px;\n background-color: #667085;\n border: none;\n border-radius: 0;\n -webkit-mask-size: contain;\n mask-size: contain;\n -webkit-mask-repeat: no-repeat;\n mask-repeat: no-repeat;\n -webkit-mask-position: center;\n mask-position: center;\n text-indent: 500%;\n white-space: nowrap;\n overflow: hidden;\n -webkit-mask-image: url(\"../../images/icons/icon-copy.svg\");\n mask-image: url(\"../../images/icons/icon-copy.svg\");\n background-size: cover;\n}\n#acf-field-group-fields .acf-field-list .copyable:not(.input-copyable, .copy-unsupported).sub-label {\n padding-right: 22px;\n}\n#acf-field-group-fields .acf-field-list .copyable:not(.input-copyable, .copy-unsupported).sub-label:hover {\n padding-right: 0;\n}\n#acf-field-group-fields .acf-field-list .copyable:not(.input-copyable, .copy-unsupported).sub-label:hover:after {\n width: 14px;\n height: 14px;\n padding-left: 8px;\n}\n#acf-field-group-fields .acf-field-list .copyable:not(.input-copyable, .copy-unsupported).copied:hover:after {\n -webkit-mask-image: url(\"../../images/icons/icon-check-circle-solid.svg\");\n mask-image: url(\"../../images/icons/icon-check-circle-solid.svg\");\n background-color: #49ad52;\n}\n#acf-field-group-fields .acf-field-list .copyable.input-copyable:not(.copy-unsupported) {\n cursor: pointer;\n display: block;\n position: relative;\n align-items: center;\n}\n#acf-field-group-fields .acf-field-list .copyable.input-copyable:not(.copy-unsupported) input {\n padding-right: 40px;\n}\n#acf-field-group-fields .acf-field-list .copyable.input-copyable:not(.copy-unsupported) .acf-input-wrap:after {\n content: \"\";\n padding-left: 5px;\n right: 12px;\n top: 12px;\n position: absolute;\n width: 16px;\n height: 16px;\n background-color: #98A2B3;\n border: none;\n border-radius: 0;\n -webkit-mask-size: contain;\n mask-size: contain;\n -webkit-mask-repeat: no-repeat;\n mask-repeat: no-repeat;\n -webkit-mask-position: center;\n mask-position: center;\n text-indent: 500%;\n white-space: nowrap;\n overflow: hidden;\n -webkit-mask-image: url(\"../../images/icons/icon-copy.svg\");\n mask-image: url(\"../../images/icons/icon-copy.svg\");\n background-size: cover;\n}\n#acf-field-group-fields .acf-field-list .copyable.input-copyable:not(.copy-unsupported).copied .acf-input-wrap:after {\n -webkit-mask-image: url(\"../../images/icons/icon-check-circle-solid.svg\");\n mask-image: url(\"../../images/icons/icon-check-circle-solid.svg\");\n background-color: #49ad52;\n}\n#acf-field-group-fields .acf-field-list .no-fields-message {\n padding: 15px 15px;\n background: #fff;\n display: none;\n}\n#acf-field-group-fields .acf-field-list.-empty .no-fields-message {\n display: block;\n}\n.acf-admin-3-8 #acf-field-group-fields .acf-field-list-wrap {\n border-color: #dfdfdf;\n}\n\n.rtl #acf-field-group-fields .li-field-type .field-type-icon {\n margin-left: 8px;\n margin-right: 0;\n}\n\n/* field object */\n.acf-field-object {\n border-top: #eeeeee solid 1px;\n background: #fff;\n /* sortable */\n /* meta */\n /* handle */\n /* open */\n /*\n \t// debug\n \t&[data-save=\"meta\"] {\n \t\t> .handle {\n \t\t\tborder-left: #ffb700 solid 5px !important;\n \t\t}\n \t}\n\n \t&[data-save=\"settings\"] {\n \t\t> .handle {\n \t\t\tborder-left: #0ec563 solid 5px !important;\n \t\t}\n \t}\n */\n /* hover */\n /* settings */\n /* conditional logic */\n}\n.acf-field-object.ui-sortable-helper {\n overflow: hidden !important;\n border-width: 1px;\n border-style: solid;\n border-color: #A5D2E7 !important;\n border-radius: 8px;\n filter: drop-shadow(0px 10px 20px rgba(16, 24, 40, 0.14)) drop-shadow(0px 1px 3px rgba(16, 24, 40, 0.1));\n}\n.acf-field-object.ui-sortable-helper:before {\n display: none !important;\n}\n.acf-field-object.ui-sortable-placeholder {\n box-shadow: 0 -1px 0 0 #DFDFDF;\n visibility: visible !important;\n background: #F9F9F9;\n border-top-color: transparent;\n min-height: 54px;\n}\n.acf-field-object.ui-sortable-placeholder:after, .acf-field-object.ui-sortable-placeholder:before {\n visibility: hidden;\n}\n.acf-field-object > .meta {\n display: none;\n}\n.acf-field-object > .handle a {\n -webkit-transition: none;\n -moz-transition: none;\n -o-transition: none;\n transition: none;\n}\n.acf-field-object > .handle li {\n word-wrap: break-word;\n}\n.acf-field-object > .handle strong {\n display: block;\n padding-bottom: 0;\n font-size: 14px;\n line-height: 14px;\n min-height: 14px;\n}\n.acf-field-object > .handle .row-options {\n display: block;\n opacity: 0;\n margin-top: 5px;\n}\n@media screen and (max-width: 880px) {\n .acf-field-object > .handle .row-options {\n opacity: 1;\n margin-bottom: 0;\n }\n}\n.acf-field-object > .handle .row-options a {\n margin-right: 4px;\n}\n.acf-field-object > .handle .row-options a:hover {\n color: #044767;\n}\n.acf-field-object > .handle .row-options a.delete-field {\n color: #a00;\n}\n.acf-field-object > .handle .row-options a.delete-field:hover {\n color: #f00;\n}\n.acf-field-object > .handle .row-options.active {\n visibility: visible;\n}\n.acf-field-object.open + .acf-field-object {\n border-top-color: #E1E1E1;\n}\n.acf-field-object.open > .handle {\n background: #2a9bd9;\n border: #2696d3 solid 1px;\n text-shadow: #268FBB 0 1px 0;\n color: #fff;\n position: relative;\n margin: 0 -1px 0 -1px;\n}\n.acf-field-object.open > .handle a {\n color: #fff !important;\n}\n.acf-field-object.open > .handle a:hover {\n text-decoration: underline !important;\n}\n.acf-field-object:hover > .handle .row-options, .acf-field-object.-hover > .handle .row-options, .acf-field-object:focus-within > .handle .row-options {\n opacity: 1;\n margin-bottom: 0;\n}\n.acf-field-object > .settings {\n display: none;\n width: 100%;\n}\n.acf-field-object > .settings > .acf-table {\n border: none;\n}\n.acf-field-object .rule-groups {\n margin-top: 20px;\n}\n\n/*----------------------------------------------------------------------------\n*\n* Postbox: Locations\n*\n*----------------------------------------------------------------------------*/\n.rule-groups h4 {\n margin: 3px 0;\n}\n.rule-groups .rule-group {\n margin: 0 0 5px;\n}\n.rule-groups .rule-group h4 {\n margin: 0 0 3px;\n}\n.rule-groups .rule-group td.param {\n width: 35%;\n}\n.rule-groups .rule-group td.operator {\n width: 20%;\n}\n.rule-groups .rule-group td.add {\n width: 40px;\n}\n.rule-groups .rule-group td.remove {\n width: 28px;\n vertical-align: middle;\n}\n.rule-groups .rule-group td.remove a {\n width: 22px;\n height: 22px;\n visibility: hidden;\n}\n.rule-groups .rule-group td.remove a:before {\n position: relative;\n top: -2px;\n font-size: 16px;\n}\n.rule-groups .rule-group tr:hover td.remove a {\n visibility: visible;\n}\n.rule-groups .rule-group select:empty {\n background: #f8f8f8;\n}\n.rule-groups:not(.rule-groups-multiple) .rule-group:first-child tr:first-child td.remove a {\n /* Don't allow user to delete the only rule group */\n visibility: hidden !important;\n}\n\n/*----------------------------------------------------------------------------\n*\n*\tOptions\n*\n*----------------------------------------------------------------------------*/\n#acf-field-group-options tr[data-name=hide_on_screen] li {\n float: left;\n width: 33%;\n}\n\n@media (max-width: 1100px) {\n #acf-field-group-options tr[data-name=hide_on_screen] li {\n width: 50%;\n }\n}\n/*----------------------------------------------------------------------------\n*\n*\tConditional Logic\n*\n*----------------------------------------------------------------------------*/\ntable.conditional-logic-rules {\n background: transparent;\n border: 0 none;\n border-radius: 0;\n}\n\ntable.conditional-logic-rules tbody td {\n background: transparent;\n border: 0 none !important;\n padding: 5px 2px !important;\n}\n\n/*----------------------------------------------------------------------------\n*\n*\tField: Tab\n*\n*----------------------------------------------------------------------------*/\n.acf-field-object-tab .acf-field-setting-name,\n.acf-field-object-tab .acf-field-setting-instructions,\n.acf-field-object-tab .acf-field-setting-required,\n.acf-field-object-tab .acf-field-setting-warning,\n.acf-field-object-tab .acf-field-setting-wrapper {\n display: none;\n}\n.acf-field-object-tab .li-field-name {\n visibility: hidden;\n}\n.acf-field-object-tab p:first-child {\n margin: 0.5em 0;\n}\n.acf-field-object-tab li.acf-settings-type-presentation,\n.acf-field-object-tab .acf-field-settings-main-presentation {\n display: none !important;\n}\n\n/*----------------------------------------------------------------------------\n*\n*\tField: Accordion\n*\n*----------------------------------------------------------------------------*/\n.acf-field-object-accordion .acf-field-setting-name,\n.acf-field-object-accordion .acf-field-setting-instructions,\n.acf-field-object-accordion .acf-field-setting-required,\n.acf-field-object-accordion .acf-field-setting-warning,\n.acf-field-object-accordion .acf-field-setting-wrapper {\n display: none;\n}\n.acf-field-object-accordion .li-field-name {\n visibility: hidden;\n}\n.acf-field-object-accordion p:first-child {\n margin: 0.5em 0;\n}\n.acf-field-object-accordion .acf-field-setting-instructions {\n display: block;\n}\n\n/*----------------------------------------------------------------------------\n*\n*\tField: Message\n*\n*----------------------------------------------------------------------------*/\n.acf-field-object-message tr[data-name=name],\n.acf-field-object-message tr[data-name=instructions],\n.acf-field-object-message tr[data-name=required] {\n display: none !important;\n}\n\n.acf-field-object-message .li-field-name {\n visibility: hidden;\n}\n\n.acf-field-object-message textarea {\n height: 175px !important;\n}\n\n/*----------------------------------------------------------------------------\n*\n*\tField: Separator\n*\n*----------------------------------------------------------------------------*/\n.acf-field-object-separator tr[data-name=name],\n.acf-field-object-separator tr[data-name=instructions],\n.acf-field-object-separator tr[data-name=required] {\n display: none !important;\n}\n\n/*----------------------------------------------------------------------------\n*\n*\tField: Date Picker\n*\n*----------------------------------------------------------------------------*/\n.acf-field-object-date-picker .acf-radio-list li,\n.acf-field-object-time-picker .acf-radio-list li,\n.acf-field-object-date-time-picker .acf-radio-list li {\n line-height: 25px;\n}\n.acf-field-object-date-picker .acf-radio-list span,\n.acf-field-object-time-picker .acf-radio-list span,\n.acf-field-object-date-time-picker .acf-radio-list span {\n display: inline-block;\n min-width: 10em;\n}\n.acf-field-object-date-picker .acf-radio-list input[type=text],\n.acf-field-object-time-picker .acf-radio-list input[type=text],\n.acf-field-object-date-time-picker .acf-radio-list input[type=text] {\n width: 100px;\n}\n\n.acf-field-object-date-time-picker .acf-radio-list span {\n min-width: 15em;\n}\n.acf-field-object-date-time-picker .acf-radio-list input[type=text] {\n width: 200px;\n}\n\n/*--------------------------------------------------------------------------------------------\n*\n*\tSlug\n*\n*--------------------------------------------------------------------------------------------*/\n#slugdiv .inside {\n padding: 12px;\n margin: 0;\n}\n#slugdiv input[type=text] {\n width: 100%;\n height: 28px;\n font-size: 14px;\n}\n\n/*--------------------------------------------------------------------------------------------\n*\n*\tRTL\n*\n*--------------------------------------------------------------------------------------------*/\nhtml[dir=rtl] .acf-field-object.open > .handle {\n margin: 0;\n}\n\n/*----------------------------------------------------------------------------\n*\n* Device\n*\n*----------------------------------------------------------------------------*/\n@media only screen and (max-width: 850px) {\n tr.acf-field,\n td.acf-label,\n td.acf-input {\n display: block !important;\n width: auto !important;\n border: 0 none !important;\n }\n tr.acf-field {\n border-top: #ededed solid 1px !important;\n margin-bottom: 0 !important;\n }\n td.acf-label {\n background: transparent !important;\n padding-bottom: 0 !important;\n }\n}\n/*----------------------------------------------------------------------------\n*\n* Subtle background on accordion & tab fields to separate them from others\n*\n*----------------------------------------------------------------------------*/\n.post-type-acf-field-group #acf-field-group-fields .acf-field-object-tab,\n.post-type-acf-field-group #acf-field-group-fields .acf-field-object-accordion {\n background-color: #F9FAFB;\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* Global\n*\n*---------------------------------------------------------------------------------------------*/\n.acf-admin-page #wpcontent {\n line-height: 140%;\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* Links\n*\n*---------------------------------------------------------------------------------------------*/\n.acf-admin-page a {\n color: #0783BE;\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* Headings\n*\n*---------------------------------------------------------------------------------------------*/\n.acf-h1, .acf-admin-page h1,\n.acf-headerbar h1 {\n font-size: 21px;\n font-weight: 400;\n}\n\n.acf-h2, .post-type-acf-field-group #acf-field-group-fields .acf-field-list.-empty .no-fields-message .no-fields-message-inner h2, .acf-page-title, .acf-admin-page h2,\n.acf-headerbar h2 {\n font-size: 18px;\n font-weight: 400;\n}\n\n.acf-h3, .post-type-acf-field-group .acf-field-settings-fc_head label, .acf-admin-page #acf-popup .acf-popup-box .title h1,\n.acf-admin-page #acf-popup .acf-popup-box .title h2,\n.acf-admin-page #acf-popup .acf-popup-box .title h3,\n.acf-admin-page #acf-popup .acf-popup-box .title h4, .acf-admin-page h3,\n.acf-headerbar h3 {\n font-size: 16px;\n font-weight: 400;\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* Paragraphs\n*\n*---------------------------------------------------------------------------------------------*/\n.acf-admin-page .p1 {\n font-size: 15px;\n}\n.acf-admin-page .p2, .acf-admin-page .post-type-acf-field-group #acf-field-group-fields .acf-field-list.-empty .no-fields-message .no-fields-message-inner p, .post-type-acf-field-group #acf-field-group-fields .acf-field-list.-empty .no-fields-message .no-fields-message-inner .acf-admin-page p {\n font-size: 14px;\n}\n.acf-admin-page .p3 {\n font-size: 13.5px;\n}\n.acf-admin-page .p4, .acf-admin-page .acf-field-list .acf-sortable-handle, .acf-field-list .acf-admin-page .acf-sortable-handle, .acf-admin-page .post-type-acf-field-group .acf-field-object .handle li.li-field-label a.edit-field, .post-type-acf-field-group .acf-field-object .handle li.li-field-label .acf-admin-page a.edit-field, .acf-admin-page .post-type-acf-field-group .acf-field-object .handle li, .post-type-acf-field-group .acf-field-object .handle .acf-admin-page li, .acf-admin-page .post-type-acf-field-group .acf-thead li, .post-type-acf-field-group .acf-thead .acf-admin-page li, .acf-admin-page .acf-input .select2-container.-acf .select2-selection__rendered,\n.acf-admin-page .rule-groups .select2-container.-acf .select2-selection__rendered, .acf-admin-page .button, .acf-admin-page input[type=text],\n.acf-admin-page input[type=search],\n.acf-admin-page input[type=number],\n.acf-admin-page textarea,\n.acf-admin-page select {\n font-size: 13px;\n}\n.acf-admin-page .p5, .acf-admin-page .acf-field-setting-display_format .acf-radio-list li label code, .acf-field-setting-display_format .acf-radio-list li label .acf-admin-page code,\n.acf-admin-page .acf-field-setting-return_format .acf-radio-list li label code,\n.acf-field-setting-return_format .acf-radio-list li label .acf-admin-page code, .acf-admin-page .acf-field-group-settings-footer .acf-created-on, .acf-field-group-settings-footer .acf-admin-page .acf-created-on, .acf-admin-page .acf-fields .acf-field-settings-tab-bar li a, .acf-fields .acf-field-settings-tab-bar li .acf-admin-page a,\n.acf-admin-page .acf-fields .acf-tab-wrap .acf-tab-group li a,\n.acf-fields .acf-tab-wrap .acf-tab-group li .acf-admin-page a,\n.acf-admin-page.acf-internal-post-type .acf-field-settings-tab-bar li a,\n.acf-admin-page.acf-internal-post-type .acf-tab-wrap .acf-tab-group li a,\n.acf-admin-page .acf-browse-fields-modal-wrap .acf-field-settings-tab-bar li a,\n.acf-browse-fields-modal-wrap .acf-field-settings-tab-bar li .acf-admin-page a,\n.acf-admin-page .acf-browse-fields-modal-wrap .acf-tab-wrap .acf-tab-group li a,\n.acf-browse-fields-modal-wrap .acf-tab-wrap .acf-tab-group li .acf-admin-page a {\n font-size: 12.5px;\n}\n.acf-admin-page .p6, .acf-admin-page .post-type-acf-field-group #acf-field-group-fields .acf-field-list.-empty .no-fields-message .no-fields-message-inner p.acf-small, .post-type-acf-field-group #acf-field-group-fields .acf-field-list.-empty .no-fields-message .no-fields-message-inner .acf-admin-page p.acf-small, .acf-admin-page .post-type-acf-field-group .acf-field-object .handle li.li-field-label .row-options a, .post-type-acf-field-group .acf-field-object .handle li.li-field-label .row-options .acf-admin-page a, .acf-admin-page .acf-small {\n font-size: 12px;\n}\n.acf-admin-page .p7 {\n font-size: 11.5px;\n}\n.acf-admin-page .p8 {\n font-size: 11px;\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* Page titles\n*\n*---------------------------------------------------------------------------------------------*/\n.acf-page-title {\n color: #344054;\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* Hide old / native WP titles from pages\n*\n*---------------------------------------------------------------------------------------------*/\n.acf-admin-page .acf-settings-wrap h1 {\n display: none !important;\n}\n.acf-admin-page #acf-admin-tools h1:not(.acf-field-group-pro-features-title, .acf-field-group-pro-features-title-sm) {\n display: none !important;\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* Small\n*\n*---------------------------------------------------------------------------------------------*/\n/*---------------------------------------------------------------------------------------------\n*\n* Link focus style\n*\n*---------------------------------------------------------------------------------------------*/\n.acf-admin-page a:focus {\n box-shadow: none;\n outline: none;\n}\n.acf-admin-page a:focus-visible {\n box-shadow: 0 0 0 1px #4f94d4, 0 0 2px 1px rgba(79, 148, 212, 0.8);\n outline: 1px solid transparent;\n}\n\n.acf-admin-page {\n /*---------------------------------------------------------------------------------------------\n *\n * All Inputs\n *\n *---------------------------------------------------------------------------------------------*/\n /*---------------------------------------------------------------------------------------------\n *\n * Read only text inputs\n *\n *---------------------------------------------------------------------------------------------*/\n /*---------------------------------------------------------------------------------------------\n *\n * Number fields\n *\n *---------------------------------------------------------------------------------------------*/\n /*---------------------------------------------------------------------------------------------\n *\n * Textarea\n *\n *---------------------------------------------------------------------------------------------*/\n /*---------------------------------------------------------------------------------------------\n *\n * Select\n *\n *---------------------------------------------------------------------------------------------*/\n /*---------------------------------------------------------------------------------------------\n *\n * Radio Button & Checkbox base styling\n *\n *---------------------------------------------------------------------------------------------*/\n /*---------------------------------------------------------------------------------------------\n *\n * Radio Buttons\n *\n *---------------------------------------------------------------------------------------------*/\n /*---------------------------------------------------------------------------------------------\n *\n * Checkboxes\n *\n *---------------------------------------------------------------------------------------------*/\n /*---------------------------------------------------------------------------------------------\n *\n * Radio Buttons & Checkbox lists\n *\n *---------------------------------------------------------------------------------------------*/\n /*---------------------------------------------------------------------------------------------\n *\n * ACF Switch\n *\n *---------------------------------------------------------------------------------------------*/\n /*---------------------------------------------------------------------------------------------\n *\n * File input button\n *\n *---------------------------------------------------------------------------------------------*/\n /*---------------------------------------------------------------------------------------------\n *\n * Action Buttons\n *\n *---------------------------------------------------------------------------------------------*/\n /*---------------------------------------------------------------------------------------------\n *\n * Edit field group header\n *\n *---------------------------------------------------------------------------------------------*/\n /*---------------------------------------------------------------------------------------------\n *\n * Select2 inputs\n *\n *---------------------------------------------------------------------------------------------*/\n /*---------------------------------------------------------------------------------------------\n *\n * ACF label\n *\n *---------------------------------------------------------------------------------------------*/\n /*---------------------------------------------------------------------------------------------\n *\n * Tooltip for field name field setting (result of a fix for keyboard navigation)\n *\n *---------------------------------------------------------------------------------------------*/\n /* Field Type Selection select2 */\n /*---------------------------------------------------------------------------------------------\n *\n * RTL arrow position\n *\n *---------------------------------------------------------------------------------------------*/\n}\n.acf-admin-page input[type=text],\n.acf-admin-page input[type=search],\n.acf-admin-page input[type=number],\n.acf-admin-page textarea,\n.acf-admin-page select {\n box-sizing: border-box;\n height: 40px;\n padding-right: 12px;\n padding-left: 12px;\n background-color: #fff;\n border-color: #D0D5DD;\n box-shadow: 0px 1px 2px rgba(16, 24, 40, 0.1);\n border-radius: 6px;\n /* stylelint-disable-next-line scss/at-extend-no-missing-placeholder */\n color: #344054;\n}\n.acf-admin-page input[type=text]:focus,\n.acf-admin-page input[type=search]:focus,\n.acf-admin-page input[type=number]:focus,\n.acf-admin-page textarea:focus,\n.acf-admin-page select:focus {\n outline: 3px solid #EBF5FA;\n border-color: #399CCB;\n}\n.acf-admin-page input[type=text]:disabled,\n.acf-admin-page input[type=search]:disabled,\n.acf-admin-page input[type=number]:disabled,\n.acf-admin-page textarea:disabled,\n.acf-admin-page select:disabled {\n background-color: #F9FAFB;\n color: #808a9e;\n}\n.acf-admin-page input[type=text]::placeholder,\n.acf-admin-page input[type=search]::placeholder,\n.acf-admin-page input[type=number]::placeholder,\n.acf-admin-page textarea::placeholder,\n.acf-admin-page select::placeholder {\n color: #98A2B3;\n}\n.acf-admin-page input[type=text]:read-only {\n background-color: #F9FAFB;\n color: #98A2B3;\n}\n.acf-admin-page .acf-field.acf-field-number .acf-label,\n.acf-admin-page .acf-field.acf-field-number .acf-input input[type=number] {\n max-width: 180px;\n}\n.acf-admin-page textarea {\n box-sizing: border-box;\n padding-top: 10px;\n padding-bottom: 10px;\n height: 80px;\n min-height: 56px;\n}\n.acf-admin-page select {\n min-width: 160px;\n max-width: 100%;\n padding-right: 40px;\n padding-left: 12px;\n background-image: url(\"../../images/icons/icon-chevron-down.svg\");\n background-position: right 10px top 50%;\n background-size: 20px;\n}\n.acf-admin-page select:hover, .acf-admin-page select:focus {\n color: #0783BE;\n}\n.acf-admin-page select::before {\n content: \"\";\n display: block;\n position: absolute;\n top: 5px;\n left: 5px;\n width: 20px;\n height: 20px;\n}\n.acf-admin-page.rtl select {\n padding-right: 12px;\n padding-left: 40px;\n background-position: left 10px top 50%;\n}\n.acf-admin-page input[type=radio],\n.acf-admin-page input[type=checkbox] {\n box-sizing: border-box;\n width: 16px;\n height: 16px;\n padding: 0;\n border-width: 1px;\n border-style: solid;\n border-color: #98A2B3;\n background: #fff;\n box-shadow: none;\n}\n.acf-admin-page input[type=radio]:hover,\n.acf-admin-page input[type=checkbox]:hover {\n background-color: #EBF5FA;\n border-color: #0783BE;\n}\n.acf-admin-page input[type=radio]:checked, .acf-admin-page input[type=radio]:focus-visible,\n.acf-admin-page input[type=checkbox]:checked,\n.acf-admin-page input[type=checkbox]:focus-visible {\n background-color: #EBF5FA;\n border-color: #0783BE;\n}\n.acf-admin-page input[type=radio]:checked:before, .acf-admin-page input[type=radio]:focus-visible:before,\n.acf-admin-page input[type=checkbox]:checked:before,\n.acf-admin-page input[type=checkbox]:focus-visible:before {\n content: \"\";\n position: relative;\n top: -1px;\n left: -1px;\n width: 16px;\n height: 16px;\n margin: 0;\n padding: 0;\n background-color: transparent;\n background-size: cover;\n background-repeat: no-repeat;\n background-position: center;\n}\n.acf-admin-page input[type=radio]:active,\n.acf-admin-page input[type=checkbox]:active {\n box-shadow: 0px 0px 0px 3px #EBF5FA, 0px 0px 0px rgba(255, 54, 54, 0.25);\n}\n.acf-admin-page input[type=radio]:disabled,\n.acf-admin-page input[type=checkbox]:disabled {\n background-color: #F9FAFB;\n border-color: #D0D5DD;\n}\n.acf-admin-page.rtl input[type=radio]:checked:before, .acf-admin-page.rtl input[type=radio]:focus-visible:before,\n.acf-admin-page.rtl input[type=checkbox]:checked:before,\n.acf-admin-page.rtl input[type=checkbox]:focus-visible:before {\n left: 1px;\n}\n.acf-admin-page input[type=radio]:checked:before, .acf-admin-page input[type=radio]:focus:before {\n background-image: url(\"../../images/field-states/radio-active.svg\");\n}\n.acf-admin-page input[type=checkbox]:checked:before, .acf-admin-page input[type=checkbox]:focus:before {\n background-image: url(\"../../images/field-states/checkbox-active.svg\");\n}\n.acf-admin-page .acf-radio-list li input[type=radio],\n.acf-admin-page .acf-radio-list li input[type=checkbox],\n.acf-admin-page .acf-checkbox-list li input[type=radio],\n.acf-admin-page .acf-checkbox-list li input[type=checkbox] {\n margin-right: 6px;\n}\n.acf-admin-page .acf-radio-list.acf-bl li,\n.acf-admin-page .acf-checkbox-list.acf-bl li {\n margin-bottom: 8px;\n}\n.acf-admin-page .acf-radio-list.acf-bl li:last-of-type,\n.acf-admin-page .acf-checkbox-list.acf-bl li:last-of-type {\n margin-bottom: 0;\n}\n.acf-admin-page .acf-radio-list label,\n.acf-admin-page .acf-checkbox-list label {\n display: flex;\n align-items: center;\n align-content: center;\n}\n.acf-admin-page .acf-switch {\n width: 42px;\n height: 24px;\n border: none;\n background-color: #D0D5DD;\n border-radius: 12px;\n}\n.acf-admin-page .acf-switch:hover {\n background-color: #98A2B3;\n}\n.acf-admin-page .acf-switch:active {\n box-shadow: 0px 0px 0px 3px #EBF5FA, 0px 0px 0px rgba(255, 54, 54, 0.25);\n}\n.acf-admin-page .acf-switch.-on {\n background-color: #0783BE;\n}\n.acf-admin-page .acf-switch.-on:hover {\n background-color: #066998;\n}\n.acf-admin-page .acf-switch.-on .acf-switch-slider {\n left: 20px;\n}\n.acf-admin-page .acf-switch .acf-switch-off,\n.acf-admin-page .acf-switch .acf-switch-on {\n visibility: hidden;\n}\n.acf-admin-page .acf-switch .acf-switch-slider {\n width: 20px;\n height: 20px;\n border: none;\n border-radius: 100px;\n box-shadow: 0px 1px 3px rgba(16, 24, 40, 0.1), 0px 1px 2px rgba(16, 24, 40, 0.06);\n}\n.acf-admin-page .acf-field-true-false {\n display: flex;\n align-items: flex-start;\n}\n.acf-admin-page .acf-field-true-false .acf-label {\n order: 2;\n display: block;\n align-items: center;\n margin-top: 2px;\n margin-bottom: 0;\n margin-left: 12px;\n}\n.acf-admin-page .acf-field-true-false .acf-label label {\n margin-bottom: 0;\n}\n.acf-admin-page .acf-field-true-false .acf-label .acf-tip {\n margin-left: 12px;\n}\n.acf-admin-page .acf-field-true-false .acf-label .description {\n display: block;\n margin-top: 2px;\n margin-left: 0;\n}\n.acf-admin-page.rtl .acf-field-true-false .acf-label {\n margin-right: 12px;\n margin-left: 0;\n}\n.acf-admin-page.rtl .acf-field-true-false .acf-tip {\n margin-right: 12px;\n margin-left: 0;\n}\n.acf-admin-page input::file-selector-button {\n box-sizing: border-box;\n min-height: 40px;\n margin-right: 16px;\n padding-top: 8px;\n padding-right: 16px;\n padding-bottom: 8px;\n padding-left: 16px;\n background-color: transparent;\n color: #0783BE !important;\n border-radius: 6px;\n border-width: 1px;\n border-style: solid;\n border-color: #0783BE;\n text-decoration: none;\n}\n.acf-admin-page input::file-selector-button:hover {\n border-color: #066998;\n cursor: pointer;\n color: #066998 !important;\n}\n.acf-admin-page .button {\n display: inline-flex;\n align-items: center;\n height: 40px;\n padding-right: 16px;\n padding-left: 16px;\n background-color: transparent;\n border-width: 1px;\n border-style: solid;\n border-color: #0783BE;\n border-radius: 6px;\n color: #0783BE;\n}\n.acf-admin-page .button:hover {\n background-color: #f3f9fc;\n border-color: #0783BE;\n color: #0783BE;\n}\n.acf-admin-page .button:focus {\n background-color: #f3f9fc;\n outline: 3px solid #EBF5FA;\n color: #0783BE;\n}\n.acf-admin-page .edit-field-group-header {\n display: block !important;\n}\n.acf-admin-page .acf-input .select2-container.-acf .select2-selection,\n.acf-admin-page .rule-groups .select2-container.-acf .select2-selection {\n border: none;\n line-height: 1;\n}\n.acf-admin-page .acf-input .select2-container.-acf .select2-selection__rendered,\n.acf-admin-page .rule-groups .select2-container.-acf .select2-selection__rendered {\n box-sizing: border-box;\n padding-right: 0;\n padding-left: 0;\n background-color: #fff;\n border-width: 1px;\n border-style: solid;\n border-color: #D0D5DD;\n box-shadow: 0px 1px 2px rgba(16, 24, 40, 0.1);\n border-radius: 6px;\n /* stylelint-disable-next-line scss/at-extend-no-missing-placeholder */\n color: #344054;\n}\n.acf-admin-page .acf-input .acf-conditional-select-name,\n.acf-admin-page .rule-groups .acf-conditional-select-name {\n min-width: 180px;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n.acf-admin-page .acf-input .acf-conditional-select-id,\n.acf-admin-page .rule-groups .acf-conditional-select-id {\n padding-right: 30px;\n}\n.acf-admin-page .acf-input .value .select2-container--focus,\n.acf-admin-page .rule-groups .value .select2-container--focus {\n height: 40px;\n}\n.acf-admin-page .acf-input .value .select2-container--open .select2-selection__rendered,\n.acf-admin-page .rule-groups .value .select2-container--open .select2-selection__rendered {\n border-color: #399CCB;\n}\n.acf-admin-page .acf-input .select2-container--focus,\n.acf-admin-page .rule-groups .select2-container--focus {\n outline: 3px solid #EBF5FA;\n border-color: #399CCB;\n border-radius: 6px;\n}\n.acf-admin-page .acf-input .select2-container--focus .select2-selection__rendered,\n.acf-admin-page .rule-groups .select2-container--focus .select2-selection__rendered {\n border-color: #399CCB !important;\n}\n.acf-admin-page .acf-input .select2-container--focus.select2-container--below.select2-container--open .select2-selection__rendered,\n.acf-admin-page .rule-groups .select2-container--focus.select2-container--below.select2-container--open .select2-selection__rendered {\n border-bottom-right-radius: 0 !important;\n border-bottom-left-radius: 0 !important;\n}\n.acf-admin-page .acf-input .select2-container--focus.select2-container--above.select2-container--open .select2-selection__rendered,\n.acf-admin-page .rule-groups .select2-container--focus.select2-container--above.select2-container--open .select2-selection__rendered {\n border-top-right-radius: 0 !important;\n border-top-left-radius: 0 !important;\n}\n.acf-admin-page .acf-input .select2-container .select2-search--inline .select2-search__field,\n.acf-admin-page .rule-groups .select2-container .select2-search--inline .select2-search__field {\n margin: 0;\n padding-left: 6px;\n}\n.acf-admin-page .acf-input .select2-container .select2-search--inline .select2-search__field:focus,\n.acf-admin-page .rule-groups .select2-container .select2-search--inline .select2-search__field:focus {\n outline: none;\n border: none;\n}\n.acf-admin-page .acf-input .select2-container--default .select2-selection--multiple .select2-selection__rendered,\n.acf-admin-page .rule-groups .select2-container--default .select2-selection--multiple .select2-selection__rendered {\n padding-top: 0;\n padding-right: 6px;\n padding-bottom: 0;\n padding-left: 6px;\n}\n.acf-admin-page .acf-input .select2-selection__clear,\n.acf-admin-page .rule-groups .select2-selection__clear {\n width: 18px;\n height: 18px;\n margin-top: 12px;\n margin-right: 1px;\n text-indent: 100%;\n white-space: nowrap;\n overflow: hidden;\n color: #fff;\n}\n.acf-admin-page .acf-input .select2-selection__clear:before,\n.acf-admin-page .rule-groups .select2-selection__clear:before {\n content: \"\";\n display: block;\n width: 16px;\n height: 16px;\n top: 0;\n left: 0;\n border: none;\n border-radius: 0;\n -webkit-mask-size: contain;\n mask-size: contain;\n -webkit-mask-repeat: no-repeat;\n mask-repeat: no-repeat;\n -webkit-mask-position: center;\n mask-position: center;\n -webkit-mask-image: url(\"../../images/icons/icon-close.svg\");\n mask-image: url(\"../../images/icons/icon-close.svg\");\n background-color: #98A2B3;\n}\n.acf-admin-page .acf-input .select2-selection__clear:hover::before,\n.acf-admin-page .rule-groups .select2-selection__clear:hover::before {\n background-color: #0783BE;\n}\n.acf-admin-page .acf-label {\n display: flex;\n align-items: center;\n justify-content: space-between;\n}\n.acf-admin-page .acf-label .acf-icon-help {\n width: 18px;\n height: 18px;\n background-color: #98A2B3;\n}\n.acf-admin-page .acf-label label {\n margin-bottom: 0;\n}\n.acf-admin-page .acf-label .description {\n margin-top: 2px;\n}\n.acf-admin-page .acf-field-setting-name .acf-tip {\n position: absolute;\n top: 0;\n left: 654px;\n color: #98A2B3;\n}\n.rtl.acf-admin-page .acf-field-setting-name .acf-tip {\n left: auto;\n right: 654px;\n}\n\n.acf-admin-page .acf-field-setting-name .acf-tip .acf-icon-help {\n width: 18px;\n height: 18px;\n}\n.acf-admin-page .acf-field-setting-type .select2-container.-acf,\n.acf-admin-page .acf-field-permalink-rewrite .select2-container.-acf,\n.acf-admin-page .acf-field-query-var .select2-container.-acf,\n.acf-admin-page .acf-field-capability .select2-container.-acf,\n.acf-admin-page .acf-field-parent-slug .select2-container.-acf,\n.acf-admin-page .acf-field-data-storage .select2-container.-acf,\n.acf-admin-page .acf-field-manage-terms .select2-container.-acf,\n.acf-admin-page .acf-field-edit-terms .select2-container.-acf,\n.acf-admin-page .acf-field-delete-terms .select2-container.-acf,\n.acf-admin-page .acf-field-assign-terms .select2-container.-acf,\n.acf-admin-page .acf-field-meta-box .select2-container.-acf,\n.acf-admin-page .rule-groups .select2-container.-acf {\n min-height: 40px;\n}\n.acf-admin-page .acf-field-setting-type .select2-container--default .select2-selection--single .select2-selection__rendered,\n.acf-admin-page .acf-field-permalink-rewrite .select2-container--default .select2-selection--single .select2-selection__rendered,\n.acf-admin-page .acf-field-query-var .select2-container--default .select2-selection--single .select2-selection__rendered,\n.acf-admin-page .acf-field-capability .select2-container--default .select2-selection--single .select2-selection__rendered,\n.acf-admin-page .acf-field-parent-slug .select2-container--default .select2-selection--single .select2-selection__rendered,\n.acf-admin-page .acf-field-data-storage .select2-container--default .select2-selection--single .select2-selection__rendered,\n.acf-admin-page .acf-field-manage-terms .select2-container--default .select2-selection--single .select2-selection__rendered,\n.acf-admin-page .acf-field-edit-terms .select2-container--default .select2-selection--single .select2-selection__rendered,\n.acf-admin-page .acf-field-delete-terms .select2-container--default .select2-selection--single .select2-selection__rendered,\n.acf-admin-page .acf-field-assign-terms .select2-container--default .select2-selection--single .select2-selection__rendered,\n.acf-admin-page .acf-field-meta-box .select2-container--default .select2-selection--single .select2-selection__rendered,\n.acf-admin-page .rule-groups .select2-container--default .select2-selection--single .select2-selection__rendered {\n display: flex;\n align-items: center;\n position: relative;\n z-index: 800;\n min-height: 40px;\n padding-top: 0;\n padding-right: 12px;\n padding-bottom: 0;\n padding-left: 12px;\n}\n.acf-admin-page .acf-field-setting-type .select2-container--default .select2-selection--single .field-type-icon,\n.acf-admin-page .acf-field-permalink-rewrite .select2-container--default .select2-selection--single .field-type-icon,\n.acf-admin-page .acf-field-query-var .select2-container--default .select2-selection--single .field-type-icon,\n.acf-admin-page .acf-field-capability .select2-container--default .select2-selection--single .field-type-icon,\n.acf-admin-page .acf-field-parent-slug .select2-container--default .select2-selection--single .field-type-icon,\n.acf-admin-page .acf-field-data-storage .select2-container--default .select2-selection--single .field-type-icon,\n.acf-admin-page .acf-field-manage-terms .select2-container--default .select2-selection--single .field-type-icon,\n.acf-admin-page .acf-field-edit-terms .select2-container--default .select2-selection--single .field-type-icon,\n.acf-admin-page .acf-field-delete-terms .select2-container--default .select2-selection--single .field-type-icon,\n.acf-admin-page .acf-field-assign-terms .select2-container--default .select2-selection--single .field-type-icon,\n.acf-admin-page .acf-field-meta-box .select2-container--default .select2-selection--single .field-type-icon,\n.acf-admin-page .rule-groups .select2-container--default .select2-selection--single .field-type-icon {\n top: auto;\n width: 18px;\n height: 18px;\n margin-right: 2px;\n}\n.acf-admin-page .acf-field-setting-type .select2-container--default .select2-selection--single .field-type-icon:before,\n.acf-admin-page .acf-field-permalink-rewrite .select2-container--default .select2-selection--single .field-type-icon:before,\n.acf-admin-page .acf-field-query-var .select2-container--default .select2-selection--single .field-type-icon:before,\n.acf-admin-page .acf-field-capability .select2-container--default .select2-selection--single .field-type-icon:before,\n.acf-admin-page .acf-field-parent-slug .select2-container--default .select2-selection--single .field-type-icon:before,\n.acf-admin-page .acf-field-data-storage .select2-container--default .select2-selection--single .field-type-icon:before,\n.acf-admin-page .acf-field-manage-terms .select2-container--default .select2-selection--single .field-type-icon:before,\n.acf-admin-page .acf-field-edit-terms .select2-container--default .select2-selection--single .field-type-icon:before,\n.acf-admin-page .acf-field-delete-terms .select2-container--default .select2-selection--single .field-type-icon:before,\n.acf-admin-page .acf-field-assign-terms .select2-container--default .select2-selection--single .field-type-icon:before,\n.acf-admin-page .acf-field-meta-box .select2-container--default .select2-selection--single .field-type-icon:before,\n.acf-admin-page .rule-groups .select2-container--default .select2-selection--single .field-type-icon:before {\n width: 9px;\n height: 9px;\n}\n.acf-admin-page .acf-field-setting-type .select2-container--open .select2-selection__rendered,\n.acf-admin-page .acf-field-permalink-rewrite .select2-container--open .select2-selection__rendered,\n.acf-admin-page .acf-field-query-var .select2-container--open .select2-selection__rendered,\n.acf-admin-page .acf-field-capability .select2-container--open .select2-selection__rendered,\n.acf-admin-page .acf-field-parent-slug .select2-container--open .select2-selection__rendered,\n.acf-admin-page .acf-field-data-storage .select2-container--open .select2-selection__rendered,\n.acf-admin-page .acf-field-manage-terms .select2-container--open .select2-selection__rendered,\n.acf-admin-page .acf-field-edit-terms .select2-container--open .select2-selection__rendered,\n.acf-admin-page .acf-field-delete-terms .select2-container--open .select2-selection__rendered,\n.acf-admin-page .acf-field-assign-terms .select2-container--open .select2-selection__rendered,\n.acf-admin-page .acf-field-meta-box .select2-container--open .select2-selection__rendered,\n.acf-admin-page .rule-groups .select2-container--open .select2-selection__rendered {\n border-color: #6BB5D8 !important;\n border-bottom-color: #D0D5DD !important;\n}\n.acf-admin-page .acf-field-setting-type .select2-container--open.select2-container--below .select2-selection__rendered,\n.acf-admin-page .acf-field-permalink-rewrite .select2-container--open.select2-container--below .select2-selection__rendered,\n.acf-admin-page .acf-field-query-var .select2-container--open.select2-container--below .select2-selection__rendered,\n.acf-admin-page .acf-field-capability .select2-container--open.select2-container--below .select2-selection__rendered,\n.acf-admin-page .acf-field-parent-slug .select2-container--open.select2-container--below .select2-selection__rendered,\n.acf-admin-page .acf-field-data-storage .select2-container--open.select2-container--below .select2-selection__rendered,\n.acf-admin-page .acf-field-manage-terms .select2-container--open.select2-container--below .select2-selection__rendered,\n.acf-admin-page .acf-field-edit-terms .select2-container--open.select2-container--below .select2-selection__rendered,\n.acf-admin-page .acf-field-delete-terms .select2-container--open.select2-container--below .select2-selection__rendered,\n.acf-admin-page .acf-field-assign-terms .select2-container--open.select2-container--below .select2-selection__rendered,\n.acf-admin-page .acf-field-meta-box .select2-container--open.select2-container--below .select2-selection__rendered,\n.acf-admin-page .rule-groups .select2-container--open.select2-container--below .select2-selection__rendered {\n border-bottom-right-radius: 0 !important;\n border-bottom-left-radius: 0 !important;\n}\n.acf-admin-page .acf-field-setting-type .select2-container--open.select2-container--above .select2-selection__rendered,\n.acf-admin-page .acf-field-permalink-rewrite .select2-container--open.select2-container--above .select2-selection__rendered,\n.acf-admin-page .acf-field-query-var .select2-container--open.select2-container--above .select2-selection__rendered,\n.acf-admin-page .acf-field-capability .select2-container--open.select2-container--above .select2-selection__rendered,\n.acf-admin-page .acf-field-parent-slug .select2-container--open.select2-container--above .select2-selection__rendered,\n.acf-admin-page .acf-field-data-storage .select2-container--open.select2-container--above .select2-selection__rendered,\n.acf-admin-page .acf-field-manage-terms .select2-container--open.select2-container--above .select2-selection__rendered,\n.acf-admin-page .acf-field-edit-terms .select2-container--open.select2-container--above .select2-selection__rendered,\n.acf-admin-page .acf-field-delete-terms .select2-container--open.select2-container--above .select2-selection__rendered,\n.acf-admin-page .acf-field-assign-terms .select2-container--open.select2-container--above .select2-selection__rendered,\n.acf-admin-page .acf-field-meta-box .select2-container--open.select2-container--above .select2-selection__rendered,\n.acf-admin-page .rule-groups .select2-container--open.select2-container--above .select2-selection__rendered {\n border-top-right-radius: 0 !important;\n border-top-left-radius: 0 !important;\n border-bottom-color: #6BB5D8 !important;\n border-top-color: #D0D5DD !important;\n}\n.acf-admin-page .acf-field-setting-type .acf-selection.has-icon,\n.acf-admin-page .acf-field-permalink-rewrite .acf-selection.has-icon,\n.acf-admin-page .acf-field-query-var .acf-selection.has-icon,\n.acf-admin-page .acf-field-capability .acf-selection.has-icon,\n.acf-admin-page .acf-field-parent-slug .acf-selection.has-icon,\n.acf-admin-page .acf-field-data-storage .acf-selection.has-icon,\n.acf-admin-page .acf-field-manage-terms .acf-selection.has-icon,\n.acf-admin-page .acf-field-edit-terms .acf-selection.has-icon,\n.acf-admin-page .acf-field-delete-terms .acf-selection.has-icon,\n.acf-admin-page .acf-field-assign-terms .acf-selection.has-icon,\n.acf-admin-page .acf-field-meta-box .acf-selection.has-icon,\n.acf-admin-page .rule-groups .acf-selection.has-icon {\n margin-left: 6px;\n}\n.rtl.acf-admin-page .acf-field-setting-type .acf-selection.has-icon, .acf-admin-page .acf-field-permalink-rewrite .acf-selection.has-icon, .acf-admin-page .acf-field-query-var .acf-selection.has-icon, .acf-admin-page .acf-field-capability .acf-selection.has-icon, .acf-admin-page .acf-field-parent-slug .acf-selection.has-icon, .acf-admin-page .acf-field-data-storage .acf-selection.has-icon, .acf-admin-page .acf-field-manage-terms .acf-selection.has-icon, .acf-admin-page .acf-field-edit-terms .acf-selection.has-icon, .acf-admin-page .acf-field-delete-terms .acf-selection.has-icon, .acf-admin-page .acf-field-assign-terms .acf-selection.has-icon, .acf-admin-page .acf-field-meta-box .acf-selection.has-icon, .acf-admin-page .rule-groups .acf-selection.has-icon {\n margin-right: 6px;\n}\n\n.acf-admin-page .acf-field-setting-type .select2-selection__arrow,\n.acf-admin-page .acf-field-permalink-rewrite .select2-selection__arrow,\n.acf-admin-page .acf-field-query-var .select2-selection__arrow,\n.acf-admin-page .acf-field-capability .select2-selection__arrow,\n.acf-admin-page .acf-field-parent-slug .select2-selection__arrow,\n.acf-admin-page .acf-field-data-storage .select2-selection__arrow,\n.acf-admin-page .acf-field-manage-terms .select2-selection__arrow,\n.acf-admin-page .acf-field-edit-terms .select2-selection__arrow,\n.acf-admin-page .acf-field-delete-terms .select2-selection__arrow,\n.acf-admin-page .acf-field-assign-terms .select2-selection__arrow,\n.acf-admin-page .acf-field-meta-box .select2-selection__arrow,\n.acf-admin-page .rule-groups .select2-selection__arrow {\n width: 20px;\n height: 20px;\n top: calc(50% - 10px);\n right: 12px;\n background-color: transparent;\n}\n.acf-admin-page .acf-field-setting-type .select2-selection__arrow:after,\n.acf-admin-page .acf-field-permalink-rewrite .select2-selection__arrow:after,\n.acf-admin-page .acf-field-query-var .select2-selection__arrow:after,\n.acf-admin-page .acf-field-capability .select2-selection__arrow:after,\n.acf-admin-page .acf-field-parent-slug .select2-selection__arrow:after,\n.acf-admin-page .acf-field-data-storage .select2-selection__arrow:after,\n.acf-admin-page .acf-field-manage-terms .select2-selection__arrow:after,\n.acf-admin-page .acf-field-edit-terms .select2-selection__arrow:after,\n.acf-admin-page .acf-field-delete-terms .select2-selection__arrow:after,\n.acf-admin-page .acf-field-assign-terms .select2-selection__arrow:after,\n.acf-admin-page .acf-field-meta-box .select2-selection__arrow:after,\n.acf-admin-page .rule-groups .select2-selection__arrow:after {\n content: \"\";\n display: block;\n position: absolute;\n z-index: 850;\n top: 1px;\n left: 0;\n width: 20px;\n height: 20px;\n -webkit-mask-image: url(\"../../images/icons/icon-chevron-down.svg\");\n mask-image: url(\"../../images/icons/icon-chevron-down.svg\");\n background-color: #667085;\n border: none;\n border-radius: 0;\n -webkit-mask-size: contain;\n mask-size: contain;\n -webkit-mask-repeat: no-repeat;\n mask-repeat: no-repeat;\n -webkit-mask-position: center;\n mask-position: center;\n text-indent: 500%;\n white-space: nowrap;\n overflow: hidden;\n}\n.acf-admin-page .acf-field-setting-type .select2-selection__arrow b[role=presentation],\n.acf-admin-page .acf-field-permalink-rewrite .select2-selection__arrow b[role=presentation],\n.acf-admin-page .acf-field-query-var .select2-selection__arrow b[role=presentation],\n.acf-admin-page .acf-field-capability .select2-selection__arrow b[role=presentation],\n.acf-admin-page .acf-field-parent-slug .select2-selection__arrow b[role=presentation],\n.acf-admin-page .acf-field-data-storage .select2-selection__arrow b[role=presentation],\n.acf-admin-page .acf-field-manage-terms .select2-selection__arrow b[role=presentation],\n.acf-admin-page .acf-field-edit-terms .select2-selection__arrow b[role=presentation],\n.acf-admin-page .acf-field-delete-terms .select2-selection__arrow b[role=presentation],\n.acf-admin-page .acf-field-assign-terms .select2-selection__arrow b[role=presentation],\n.acf-admin-page .acf-field-meta-box .select2-selection__arrow b[role=presentation],\n.acf-admin-page .rule-groups .select2-selection__arrow b[role=presentation] {\n display: none;\n}\n.acf-admin-page .acf-field-setting-type .select2-container--open .select2-selection__arrow:after,\n.acf-admin-page .acf-field-permalink-rewrite .select2-container--open .select2-selection__arrow:after,\n.acf-admin-page .acf-field-query-var .select2-container--open .select2-selection__arrow:after,\n.acf-admin-page .acf-field-capability .select2-container--open .select2-selection__arrow:after,\n.acf-admin-page .acf-field-parent-slug .select2-container--open .select2-selection__arrow:after,\n.acf-admin-page .acf-field-data-storage .select2-container--open .select2-selection__arrow:after,\n.acf-admin-page .acf-field-manage-terms .select2-container--open .select2-selection__arrow:after,\n.acf-admin-page .acf-field-edit-terms .select2-container--open .select2-selection__arrow:after,\n.acf-admin-page .acf-field-delete-terms .select2-container--open .select2-selection__arrow:after,\n.acf-admin-page .acf-field-assign-terms .select2-container--open .select2-selection__arrow:after,\n.acf-admin-page .acf-field-meta-box .select2-container--open .select2-selection__arrow:after,\n.acf-admin-page .rule-groups .select2-container--open .select2-selection__arrow:after {\n -webkit-mask-image: url(\"../../images/icons/icon-chevron-up.svg\");\n mask-image: url(\"../../images/icons/icon-chevron-up.svg\");\n}\n.acf-admin-page .acf-term-search-term-name {\n background-color: #F9FAFB;\n border-top: 1px solid #EAECF0;\n border-bottom: 1px solid #EAECF0;\n color: #98A2B3;\n padding: 5px 5px 5px 10px;\n width: 100%;\n margin: 0;\n display: block;\n font-weight: 300;\n}\n.acf-admin-page .field-type-select-results {\n position: relative;\n top: 4px;\n z-index: 1002;\n border-radius: 0 0 6px 6px;\n box-shadow: 0px 8px 24px 4px rgba(16, 24, 40, 0.12);\n}\n.acf-admin-page .field-type-select-results.select2-dropdown--above {\n display: flex;\n flex-direction: column-reverse;\n top: 0;\n border-radius: 6px 6px 0 0;\n z-index: 99999;\n}\n.select2-container.select2-container--open.acf-admin-page .field-type-select-results {\n box-shadow: 0px 0px 0px 3px #EBF5FA, 0px 8px 24px 4px rgba(16, 24, 40, 0.12);\n}\n\n.acf-admin-page .field-type-select-results .acf-selection.has-icon {\n margin-left: 6px;\n}\n.rtl.acf-admin-page .field-type-select-results .acf-selection.has-icon {\n margin-right: 6px;\n}\n\n.acf-admin-page .field-type-select-results .select2-search {\n position: relative;\n margin: 0;\n padding: 0;\n}\n.acf-admin-page .field-type-select-results .select2-search--dropdown:after {\n content: \"\";\n display: block;\n position: absolute;\n top: 12px;\n left: 13px;\n width: 16px;\n height: 16px;\n -webkit-mask-image: url(\"../../images/icons/icon-search.svg\");\n mask-image: url(\"../../images/icons/icon-search.svg\");\n background-color: #98A2B3;\n border: none;\n border-radius: 0;\n -webkit-mask-size: contain;\n mask-size: contain;\n -webkit-mask-repeat: no-repeat;\n mask-repeat: no-repeat;\n -webkit-mask-position: center;\n mask-position: center;\n text-indent: 500%;\n white-space: nowrap;\n overflow: hidden;\n}\n.rtl.acf-admin-page .field-type-select-results .select2-search--dropdown:after {\n right: 12px;\n left: auto;\n}\n\n.acf-admin-page .field-type-select-results .select2-search .select2-search__field {\n padding-left: 38px;\n border-right: 0;\n border-bottom: 0;\n border-left: 0;\n border-radius: 0;\n}\n.rtl.acf-admin-page .field-type-select-results .select2-search .select2-search__field {\n padding-right: 38px;\n padding-left: 0;\n}\n\n.acf-admin-page .field-type-select-results .select2-search .select2-search__field:focus {\n border-top-color: #D0D5DD;\n outline: 0;\n}\n.acf-admin-page .field-type-select-results .select2-results__options {\n max-height: 440px;\n}\n.acf-admin-page .field-type-select-results .select2-results__option .select2-results__option--highlighted {\n background-color: #0783BE !important;\n color: #F9FAFB !important;\n}\n.acf-admin-page .field-type-select-results .select2-results__option .select2-results__option {\n display: inline-flex;\n position: relative;\n width: calc(100% - 24px);\n min-height: 32px;\n padding-top: 0;\n padding-right: 12px;\n padding-bottom: 0;\n padding-left: 12px;\n align-items: center;\n}\n.acf-admin-page .field-type-select-results .select2-results__option .select2-results__option .field-type-icon {\n top: auto;\n width: 18px;\n height: 18px;\n margin-right: 2px;\n box-shadow: 0 0 0 1px #F9FAFB;\n}\n.acf-admin-page .field-type-select-results .select2-results__option .select2-results__option .field-type-icon:before {\n width: 9px;\n height: 9px;\n}\n.acf-admin-page .field-type-select-results .select2-results__option[aria-selected=true] {\n background-color: #EBF5FA !important;\n color: #344054 !important;\n}\n.acf-admin-page .field-type-select-results .select2-results__option[aria-selected=true]:after {\n content: \"\";\n right: 13px;\n position: absolute;\n width: 16px;\n height: 16px;\n -webkit-mask-image: url(\"../../images/icons/icon-check.svg\");\n mask-image: url(\"../../images/icons/icon-check.svg\");\n background-color: #0783BE;\n border: none;\n border-radius: 0;\n -webkit-mask-size: contain;\n mask-size: contain;\n -webkit-mask-repeat: no-repeat;\n mask-repeat: no-repeat;\n -webkit-mask-position: center;\n mask-position: center;\n text-indent: 500%;\n white-space: nowrap;\n overflow: hidden;\n}\n.rtl.acf-admin-page .field-type-select-results .select2-results__option[aria-selected=true]:after {\n left: 13px;\n right: auto;\n}\n\n.acf-admin-page .field-type-select-results .select2-results__group {\n display: inline-flex;\n align-items: center;\n width: calc(100% - 24px);\n min-height: 25px;\n background-color: #F9FAFB;\n border-top-width: 1px;\n border-top-style: solid;\n border-top-color: #EAECF0;\n border-bottom-width: 1px;\n border-bottom-style: solid;\n border-bottom-color: #EAECF0;\n color: #98A2B3;\n font-size: 11px;\n margin-bottom: 0;\n padding-top: 0;\n padding-right: 12px;\n padding-bottom: 0;\n padding-left: 12px;\n font-weight: normal;\n}\n.acf-admin-page.rtl .acf-field-setting-type .select2-selection__arrow:after,\n.acf-admin-page.rtl .acf-field-permalink-rewrite .select2-selection__arrow:after,\n.acf-admin-page.rtl .acf-field-query-var .select2-selection__arrow:after {\n right: auto;\n left: 10px;\n}\n\n.rtl.post-type-acf-field-group .acf-field-setting-name .acf-tip,\n.rtl.acf-internal-post-type .acf-field-setting-name .acf-tip {\n left: auto;\n right: 654px;\n}\n\n/*----------------------------------------------------------------------------\n*\n* Container sizes\n*\n*----------------------------------------------------------------------------*/\n.post-type-acf-field-group .metabox-holder.columns-1 #acf-field-group-fields,\n.post-type-acf-field-group .metabox-holder.columns-1 #acf-field-group-options,\n.post-type-acf-field-group .metabox-holder.columns-1 .meta-box-sortables.ui-sortable,\n.post-type-acf-field-group .metabox-holder.columns-1 .notice {\n max-width: 1440px;\n}\n\n/*----------------------------------------------------------------------------\n*\n* Max width for notices in 1 column edit field group layout\n*\n*----------------------------------------------------------------------------*/\n.post-type-acf-field-group.columns-1 .notice {\n max-width: 1440px;\n}\n\n/*----------------------------------------------------------------------------\n*\n* Widen edit field group headerbar for 2 column layout\n*\n*----------------------------------------------------------------------------*/\n.post-type-acf-field-group.columns-2 .acf-headerbar .acf-headerbar-inner {\n max-width: 100%;\n}\n\n/*----------------------------------------------------------------------------\n*\n* Post stuff\n*\n*----------------------------------------------------------------------------*/\n.post-type-acf-field-group #poststuff {\n margin-top: 0;\n margin-right: 0;\n margin-bottom: 0;\n margin-left: 0;\n padding-top: 0;\n padding-right: 0;\n padding-bottom: 0;\n padding-left: 0;\n}\n\n/*----------------------------------------------------------------------------\n*\n* Table\n*\n*----------------------------------------------------------------------------*/\n.post-type-acf-field-group #acf-field-group-fields .acf-field-list-wrap {\n overflow: hidden;\n border: none;\n border-radius: 0 0 8px 8px;\n box-shadow: 0px 1px 2px rgba(16, 24, 40, 0.1);\n}\n.post-type-acf-field-group #acf-field-group-fields .acf-field-list-wrap.-empty {\n border-top-width: 1px;\n border-top-style: solid;\n border-top-color: #EAECF0;\n}\n.post-type-acf-field-group #acf-field-group-fields .acf-field-list-wrap.-empty .acf-thead,\n.post-type-acf-field-group #acf-field-group-fields .acf-field-list-wrap.-empty .acf-tfoot {\n display: none;\n}\n.post-type-acf-field-group #acf-field-group-fields .acf-field-list-wrap.-empty .no-fields-message {\n min-height: 280px;\n}\n\n/*----------------------------------------------------------------------------\n*\n* Table header\n*\n*----------------------------------------------------------------------------*/\n.post-type-acf-field-group .acf-thead {\n background-color: #F9FAFB;\n border-top-width: 1px;\n border-top-style: solid;\n border-top-color: #EAECF0;\n border-bottom-width: 1px;\n border-bottom-style: solid;\n border-bottom-color: #EAECF0;\n}\n.post-type-acf-field-group .acf-thead li {\n display: flex;\n align-items: center;\n min-height: 48px;\n padding-top: 0;\n padding-bottom: 0;\n color: #344054;\n font-weight: 500;\n}\n\n/*----------------------------------------------------------------------------\n*\n* Table body\n*\n*----------------------------------------------------------------------------*/\n.post-type-acf-field-group .acf-field-object {\n border-top-width: 1px;\n border-top-style: solid;\n border-top-color: #EAECF0;\n}\n.post-type-acf-field-group .acf-field-object:hover .acf-sortable-handle:before {\n display: inline-flex;\n}\n.post-type-acf-field-group .acf-field-object.acf-field-is-endpoint:before {\n display: block;\n content: \"\";\n height: 2px;\n width: 100%;\n background: #D0D5DD;\n margin-top: -1px;\n}\n.post-type-acf-field-group .acf-field-object.acf-field-is-endpoint.acf-field-object-accordion:before {\n display: none;\n}\n.post-type-acf-field-group .acf-field-object.acf-field-is-endpoint.acf-field-object-accordion:after {\n display: block;\n content: \"\";\n height: 2px;\n width: 100%;\n background: #D0D5DD;\n z-index: 500;\n}\n.post-type-acf-field-group .acf-field-object:hover {\n background-color: #f7fbfd;\n}\n.post-type-acf-field-group .acf-field-object.open {\n background-color: #fff;\n border-top-color: #A5D2E7;\n}\n.post-type-acf-field-group .acf-field-object.open .handle {\n background-color: #D8EBF5;\n border: none;\n text-shadow: none;\n}\n.post-type-acf-field-group .acf-field-object.open .handle a {\n color: #0783BE !important;\n}\n.post-type-acf-field-group .acf-field-object.open .handle a.delete-field {\n color: #a00 !important;\n}\n.post-type-acf-field-group .acf-field-object .acf-field-setting-type .acf-hl {\n margin: 0;\n}\n.post-type-acf-field-group .acf-field-object .acf-field-setting-type .acf-hl li {\n width: auto;\n}\n.post-type-acf-field-group .acf-field-object .acf-field-setting-type .acf-hl li:first-child {\n flex-grow: 1;\n margin-left: -10px;\n}\n.post-type-acf-field-group .acf-field-object .acf-field-setting-type .acf-hl li:nth-child(2) {\n padding-right: 0;\n}\n.post-type-acf-field-group .acf-field-object ul.acf-hl {\n display: flex;\n align-items: stretch;\n}\n.post-type-acf-field-group .acf-field-object .handle li {\n display: flex;\n align-items: top;\n flex-wrap: wrap;\n min-height: 60px;\n color: #344054;\n}\n.post-type-acf-field-group .acf-field-object .handle li.li-field-label {\n display: flex;\n flex-wrap: wrap;\n justify-content: flex-start;\n align-content: flex-start;\n align-items: flex-start;\n width: auto;\n}\n.post-type-acf-field-group .acf-field-object .handle li.li-field-label strong {\n font-weight: 500;\n}\n.post-type-acf-field-group .acf-field-object .handle li.li-field-label .row-options {\n width: 100%;\n}\n/*----------------------------------------------------------------------------\n*\n* Table footer\n*\n*----------------------------------------------------------------------------*/\n.post-type-acf-field-group .acf-tfoot {\n display: flex;\n align-items: center;\n justify-content: flex-end;\n min-height: 80px;\n box-sizing: border-box;\n padding-top: 8px;\n padding-right: 24px;\n padding-bottom: 8px;\n padding-left: 24px;\n background-color: #fff;\n border-top-width: 1px;\n border-top-style: solid;\n border-top-color: #EAECF0;\n}\n.post-type-acf-field-group .acf-tfoot .acf-fr {\n margin-top: 0;\n margin-right: 0;\n margin-bottom: 0;\n margin-left: 0;\n padding-top: 0;\n padding-right: 0;\n padding-bottom: 0;\n padding-left: 0;\n}\n\n/*----------------------------------------------------------------------------\n*\n* Edit field settings\n*\n*----------------------------------------------------------------------------*/\n.post-type-acf-field-group .acf-field-object .settings {\n box-sizing: border-box;\n padding-top: 0;\n padding-bottom: 0;\n background-color: #fff;\n border-left-width: 4px;\n border-left-style: solid;\n border-left-color: #6BB5D8;\n}\n\n/*----------------------------------------------------------------------------\n*\n* Main field settings container\n*\n*----------------------------------------------------------------------------*/\n.acf-field-settings-main {\n padding-top: 32px;\n padding-right: 0;\n padding-bottom: 32px;\n padding-left: 0;\n}\n.acf-field-settings-main .acf-field:last-of-type,\n.acf-field-settings-main .acf-field.acf-last-visible {\n margin-bottom: 0;\n}\n\n/*----------------------------------------------------------------------------\n*\n* Field label\n*\n*----------------------------------------------------------------------------*/\n.acf-field-settings .acf-label {\n display: block;\n justify-content: space-between;\n align-items: center;\n align-content: center;\n margin-top: 0;\n margin-right: 0;\n margin-bottom: 6px;\n margin-left: 0;\n}\n\n/*----------------------------------------------------------------------------\n*\n* Single field\n*\n*----------------------------------------------------------------------------*/\n.acf-field-settings .acf-field {\n box-sizing: border-box;\n width: 100%;\n margin-top: 0;\n margin-right: 0;\n margin-bottom: 32px;\n margin-left: 0;\n padding-top: 0;\n padding-right: 72px;\n padding-bottom: 0;\n padding-left: 72px;\n}\n@media screen and (max-width: 600px) {\n .acf-field-settings .acf-field {\n padding-right: 12px;\n padding-left: 12px;\n }\n}\n.acf-field-settings .acf-field .acf-label,\n.acf-field-settings .acf-field .acf-input {\n max-width: 600px;\n}\n.acf-field-settings .acf-field .acf-label.acf-input-sub,\n.acf-field-settings .acf-field .acf-input.acf-input-sub {\n max-width: 100%;\n}\n.acf-field-settings .acf-field .acf-label .acf-btn:disabled,\n.acf-field-settings .acf-field .acf-input .acf-btn:disabled {\n background-color: #F2F4F7;\n color: #98A2B3 !important;\n border: 1px #D0D5DD solid;\n cursor: default;\n}\n.acf-field-settings .acf-field .acf-input-wrap {\n overflow: visible;\n}\n\n/*----------------------------------------------------------------------------\n*\n* Field separators\n*\n*----------------------------------------------------------------------------*/\n.acf-field-settings .acf-field.acf-field-setting-label,\n.acf-field-settings .acf-field-setting-wrapper {\n padding-top: 24px;\n border-top-width: 1px;\n border-top-style: solid;\n border-top-color: #EAECF0;\n}\n\n.acf-field-settings .acf-field-setting-wrapper {\n margin-top: 24px;\n}\n\n/*----------------------------------------------------------------------------\n*\n* Informational Notes for specific fields\n*\n*----------------------------------------------------------------------------*/\n.acf-field-setting-bidirectional_notes .acf-label {\n display: none;\n}\n.acf-field-setting-bidirectional_notes .acf-feature-notice {\n background-color: #F9FAFB;\n border: 1px solid #EAECF0;\n border-radius: 6px;\n padding: 16px;\n color: #344054;\n position: relative;\n}\n.acf-field-setting-bidirectional_notes .acf-feature-notice.with-warning-icon {\n padding-left: 45px;\n}\n.acf-field-setting-bidirectional_notes .acf-feature-notice.with-warning-icon::before {\n content: \"\";\n display: block;\n position: absolute;\n top: 17px;\n left: 18px;\n z-index: 600;\n width: 18px;\n height: 18px;\n margin-right: 8px;\n background-color: #667085;\n border: none;\n border-radius: 0;\n -webkit-mask-size: contain;\n mask-size: contain;\n -webkit-mask-repeat: no-repeat;\n mask-repeat: no-repeat;\n -webkit-mask-position: center;\n mask-position: center;\n -webkit-mask-image: url(\"../../images/icons/icon-info.svg\");\n mask-image: url(\"../../images/icons/icon-info.svg\");\n}\n\n/*----------------------------------------------------------------------------\n*\n* Edit fields footer\n*\n*----------------------------------------------------------------------------*/\n.acf-field-settings .acf-field-settings-footer {\n display: flex;\n align-items: center;\n min-height: 72px;\n box-sizing: border-box;\n width: 100%;\n margin-top: 0;\n margin-right: 0;\n margin-bottom: 0;\n margin-left: 0;\n padding-top: 0;\n padding-right: 0;\n padding-bottom: 0;\n padding-left: 72px;\n border-top-width: 1px;\n border-top-style: solid;\n border-top-color: #EAECF0;\n}\n@media screen and (max-width: 600px) {\n .acf-field-settings .acf-field-settings-footer {\n padding-left: 12px;\n }\n}\n\n.rtl .acf-field-settings .acf-field-settings-footer {\n padding-top: 0;\n padding-right: 72px;\n padding-bottom: 0;\n padding-left: 0;\n}\n\n/*----------------------------------------------------------------------------\n*\n* Tabs\n*\n*----------------------------------------------------------------------------*/\n.acf-fields .acf-tab-wrap,\n.acf-admin-page.acf-internal-post-type .acf-tab-wrap,\n.acf-browse-fields-modal-wrap .acf-tab-wrap {\n background: #F9FAFB;\n border-bottom-color: #1D2939;\n}\n.acf-fields .acf-tab-wrap .acf-tab-group,\n.acf-admin-page.acf-internal-post-type .acf-tab-wrap .acf-tab-group,\n.acf-browse-fields-modal-wrap .acf-tab-wrap .acf-tab-group {\n padding-right: 24px;\n padding-left: 24px;\n border-top-width: 0;\n border-bottom-width: 1px;\n border-bottom-style: solid;\n border-bottom-color: #EAECF0;\n}\n.acf-fields .acf-field-settings-tab-bar,\n.acf-fields .acf-tab-wrap .acf-tab-group,\n.acf-admin-page.acf-internal-post-type .acf-field-settings-tab-bar,\n.acf-admin-page.acf-internal-post-type .acf-tab-wrap .acf-tab-group,\n.acf-browse-fields-modal-wrap .acf-field-settings-tab-bar,\n.acf-browse-fields-modal-wrap .acf-tab-wrap .acf-tab-group {\n display: flex;\n align-items: stretch;\n min-height: 48px;\n padding-top: 0;\n padding-right: 0;\n padding-bottom: 0;\n padding-left: 24px;\n margin-top: 0;\n margin-bottom: 0;\n border-bottom-width: 1px;\n border-bottom-style: solid;\n border-bottom-color: #EAECF0;\n}\n.acf-fields .acf-field-settings-tab-bar li,\n.acf-fields .acf-tab-wrap .acf-tab-group li,\n.acf-admin-page.acf-internal-post-type .acf-field-settings-tab-bar li,\n.acf-admin-page.acf-internal-post-type .acf-tab-wrap .acf-tab-group li,\n.acf-browse-fields-modal-wrap .acf-field-settings-tab-bar li,\n.acf-browse-fields-modal-wrap .acf-tab-wrap .acf-tab-group li {\n display: flex;\n margin-top: 0;\n margin-right: 24px;\n margin-bottom: 0;\n margin-left: 0;\n padding: 0;\n}\n.acf-fields .acf-field-settings-tab-bar li a,\n.acf-fields .acf-tab-wrap .acf-tab-group li a,\n.acf-admin-page.acf-internal-post-type .acf-field-settings-tab-bar li a,\n.acf-admin-page.acf-internal-post-type .acf-tab-wrap .acf-tab-group li a,\n.acf-browse-fields-modal-wrap .acf-field-settings-tab-bar li a,\n.acf-browse-fields-modal-wrap .acf-tab-wrap .acf-tab-group li a {\n box-sizing: border-box;\n display: inline-flex;\n align-items: center;\n height: 100%;\n padding-top: 3px;\n padding-right: 0;\n padding-bottom: 0;\n padding-left: 0;\n background: none;\n border-top: none;\n border-right: none;\n border-bottom-width: 3px;\n border-bottom-style: solid;\n border-bottom-color: transparent;\n border-left: none;\n color: #667085;\n font-weight: normal;\n}\n.acf-fields .acf-field-settings-tab-bar li a:focus-visible,\n.acf-fields .acf-tab-wrap .acf-tab-group li a:focus-visible,\n.acf-admin-page.acf-internal-post-type .acf-field-settings-tab-bar li a:focus-visible,\n.acf-admin-page.acf-internal-post-type .acf-tab-wrap .acf-tab-group li a:focus-visible,\n.acf-browse-fields-modal-wrap .acf-field-settings-tab-bar li a:focus-visible,\n.acf-browse-fields-modal-wrap .acf-tab-wrap .acf-tab-group li a:focus-visible {\n border: 1px solid #5897fb;\n}\n.acf-fields .acf-field-settings-tab-bar li a:hover,\n.acf-fields .acf-tab-wrap .acf-tab-group li a:hover,\n.acf-admin-page.acf-internal-post-type .acf-field-settings-tab-bar li a:hover,\n.acf-admin-page.acf-internal-post-type .acf-tab-wrap .acf-tab-group li a:hover,\n.acf-browse-fields-modal-wrap .acf-field-settings-tab-bar li a:hover,\n.acf-browse-fields-modal-wrap .acf-tab-wrap .acf-tab-group li a:hover {\n color: #1D2939;\n}\n.acf-fields .acf-field-settings-tab-bar li a:hover,\n.acf-fields .acf-tab-wrap .acf-tab-group li a:hover,\n.acf-admin-page.acf-internal-post-type .acf-field-settings-tab-bar li a:hover,\n.acf-admin-page.acf-internal-post-type .acf-tab-wrap .acf-tab-group li a:hover,\n.acf-browse-fields-modal-wrap .acf-field-settings-tab-bar li a:hover,\n.acf-browse-fields-modal-wrap .acf-tab-wrap .acf-tab-group li a:hover {\n background-color: transparent;\n}\n.acf-fields .acf-field-settings-tab-bar li.active a,\n.acf-fields .acf-tab-wrap .acf-tab-group li.active a,\n.acf-admin-page.acf-internal-post-type .acf-field-settings-tab-bar li.active a,\n.acf-admin-page.acf-internal-post-type .acf-tab-wrap .acf-tab-group li.active a,\n.acf-browse-fields-modal-wrap .acf-field-settings-tab-bar li.active a,\n.acf-browse-fields-modal-wrap .acf-tab-wrap .acf-tab-group li.active a {\n background: none;\n border-bottom-color: #0783BE;\n color: #0783BE;\n}\n.acf-fields .acf-field-settings-tab-bar li.active a:focus-visible,\n.acf-fields .acf-tab-wrap .acf-tab-group li.active a:focus-visible,\n.acf-admin-page.acf-internal-post-type .acf-field-settings-tab-bar li.active a:focus-visible,\n.acf-admin-page.acf-internal-post-type .acf-tab-wrap .acf-tab-group li.active a:focus-visible,\n.acf-browse-fields-modal-wrap .acf-field-settings-tab-bar li.active a:focus-visible,\n.acf-browse-fields-modal-wrap .acf-tab-wrap .acf-tab-group li.active a:focus-visible {\n border-bottom-color: #0783BE;\n border-bottom-width: 3px;\n}\n\n.acf-admin-page.acf-internal-post-type .acf-field-editor .acf-field-settings-tab-bar {\n padding-left: 72px;\n}\n@media screen and (max-width: 600px) {\n .acf-admin-page.acf-internal-post-type .acf-field-editor .acf-field-settings-tab-bar {\n padding-left: 12px;\n }\n}\n\n/*----------------------------------------------------------------------------\n*\n* Field group settings\n*\n*----------------------------------------------------------------------------*/\n#acf-field-group-options .field-group-settings-tab {\n padding-top: 24px;\n padding-right: 24px;\n padding-bottom: 24px;\n padding-left: 24px;\n}\n#acf-field-group-options .field-group-settings-tab .acf-field:last-of-type {\n padding: 0;\n}\n#acf-field-group-options .acf-field {\n border: none;\n margin-top: 0;\n margin-right: 0;\n margin-bottom: 0;\n margin-left: 0;\n padding-top: 0;\n padding-right: 0;\n padding-bottom: 24px;\n padding-left: 0;\n}\n#acf-field-group-options .field-group-setting-split-container {\n display: flex;\n padding-top: 0;\n padding-right: 0;\n padding-bottom: 0;\n padding-left: 0;\n}\n#acf-field-group-options .field-group-setting-split-container .field-group-setting-split {\n box-sizing: border-box;\n padding-top: 24px;\n padding-right: 24px;\n padding-bottom: 24px;\n padding-left: 24px;\n}\n#acf-field-group-options .field-group-setting-split-container .field-group-setting-split:nth-child(1) {\n flex: 1 0 auto;\n}\n#acf-field-group-options .field-group-setting-split-container .field-group-setting-split:nth-child(2n) {\n flex: 1 0 auto;\n max-width: 320px;\n margin-top: 0;\n margin-right: 0;\n margin-bottom: 0;\n margin-left: 32px;\n padding-right: 32px;\n padding-left: 32px;\n border-left-width: 1px;\n border-left-style: solid;\n border-left-color: #EAECF0;\n}\n#acf-field-group-options .acf-field[data-name=description] {\n max-width: 600px;\n}\n#acf-field-group-options .acf-button-group {\n display: inline-flex;\n}\n\n.rtl #acf-field-group-options .field-group-setting-split-container .field-group-setting-split:nth-child(2n) {\n margin-right: 32px;\n margin-left: 0;\n border-left: none;\n border-right-width: 1px;\n border-right-style: solid;\n border-right-color: #EAECF0;\n}\n\n/*----------------------------------------------------------------------------\n*\n* Reorder handles\n*\n*----------------------------------------------------------------------------*/\n.acf-field-list .li-field-order {\n padding: 0;\n display: flex;\n flex-direction: row;\n flex-wrap: nowrap;\n justify-content: center;\n align-content: stretch;\n align-items: stretch;\n background-color: transparent;\n}\n.acf-field-list .acf-sortable-handle {\n display: flex;\n flex-direction: row;\n flex-wrap: nowrap;\n justify-content: center;\n align-content: flex-start;\n align-items: flex-start;\n width: 100%;\n height: 100%;\n position: relative;\n padding-top: 11px;\n padding-bottom: 8px;\n background-color: transparent;\n border: none;\n border-radius: 0;\n}\n.acf-field-list .acf-sortable-handle:hover {\n cursor: grab;\n}\n.acf-field-list .acf-sortable-handle:before {\n content: \"\";\n display: none;\n position: absolute;\n top: 16px;\n left: 8px;\n width: 16px;\n height: 16px;\n width: 12px;\n height: 12px;\n background-color: #98A2B3;\n border: none;\n border-radius: 0;\n -webkit-mask-size: contain;\n mask-size: contain;\n -webkit-mask-repeat: no-repeat;\n mask-repeat: no-repeat;\n -webkit-mask-position: center;\n mask-position: center;\n text-indent: 500%;\n white-space: nowrap;\n overflow: hidden;\n -webkit-mask-image: url(\"../../images/icons/icon-draggable.svg\");\n mask-image: url(\"../../images/icons/icon-draggable.svg\");\n}\n\n.rtl .acf-field-list .acf-sortable-handle:before {\n left: 0;\n right: 8px;\n}\n\n/*----------------------------------------------------------------------------\n*\n* Expand / collapse field icon\n*\n*----------------------------------------------------------------------------*/\n.acf-field-object .li-field-label {\n position: relative;\n padding-left: 40px;\n}\n.acf-field-object .li-field-label:before {\n content: \"\";\n display: block;\n position: absolute;\n left: 6px;\n display: inline-flex;\n width: 18px;\n height: 18px;\n margin-top: -2px;\n background-color: #667085;\n border: none;\n border-radius: 0;\n -webkit-mask-size: contain;\n mask-size: contain;\n -webkit-mask-repeat: no-repeat;\n mask-repeat: no-repeat;\n -webkit-mask-position: center;\n mask-position: center;\n text-indent: 500%;\n white-space: nowrap;\n overflow: hidden;\n -webkit-mask-image: url(\"../../images/icons/icon-chevron-down.svg\");\n mask-image: url(\"../../images/icons/icon-chevron-down.svg\");\n}\n.acf-field-object .li-field-label:hover:before {\n cursor: pointer;\n}\n\n.rtl .acf-field-object .li-field-label {\n padding-left: 0;\n padding-right: 40px;\n}\n.rtl .acf-field-object .li-field-label:before {\n left: 0;\n right: 6px;\n -webkit-mask-image: url(\"../../images/icons/icon-chevron-down.svg\");\n mask-image: url(\"../../images/icons/icon-chevron-down.svg\");\n}\n.rtl .acf-field-object.open .li-field-label:before {\n -webkit-mask-image: url(\"../../images/icons/icon-chevron-down.svg\");\n mask-image: url(\"../../images/icons/icon-chevron-down.svg\");\n}\n.rtl .acf-field-object.open .acf-input-sub .li-field-label:before {\n -webkit-mask-image: url(\"../../images/icons/icon-chevron-right.svg\");\n mask-image: url(\"../../images/icons/icon-chevron-right.svg\");\n}\n.rtl .acf-field-object.open .acf-input-sub .acf-field-object.open .li-field-label:before {\n -webkit-mask-image: url(\"../../images/icons/icon-chevron-down.svg\");\n mask-image: url(\"../../images/icons/icon-chevron-down.svg\");\n}\n\n.acf-thead .li-field-label {\n padding-left: 40px;\n}\n.rtl .acf-thead .li-field-label {\n padding-left: 0;\n padding-right: 40px;\n}\n\n/*----------------------------------------------------------------------------\n*\n* Conditional logic layout\n*\n*----------------------------------------------------------------------------*/\n.acf-field-settings-main-conditional-logic .acf-conditional-toggle {\n display: flex;\n padding-right: 72px;\n padding-left: 72px;\n}\n@media screen and (max-width: 600px) {\n .acf-field-settings-main-conditional-logic .acf-conditional-toggle {\n padding-left: 12px;\n }\n}\n.acf-field-settings-main-conditional-logic .acf-field {\n flex-wrap: wrap;\n margin-bottom: 0;\n padding-right: 0;\n padding-left: 0;\n}\n.acf-field-settings-main-conditional-logic .acf-field .rule-groups {\n flex: 0 1 100%;\n order: 3;\n margin-top: 32px;\n padding-top: 32px;\n padding-right: 72px;\n padding-left: 72px;\n border-top-width: 1px;\n border-top-style: solid;\n border-top-color: #EAECF0;\n}\n@media screen and (max-width: 600px) {\n .acf-field-settings-main-conditional-logic .acf-field .rule-groups {\n padding-left: 12px;\n }\n .acf-field-settings-main-conditional-logic .acf-field .rule-groups table.acf-table tbody tr {\n display: flex;\n flex-wrap: wrap;\n justify-content: flex-start;\n align-content: flex-start;\n align-items: flex-start;\n }\n .acf-field-settings-main-conditional-logic .acf-field .rule-groups table.acf-table tbody tr td {\n flex: 1 1 100%;\n }\n}\n\n.acf-taxonomy-select-id,\n.acf-relationship-select-id,\n.acf-post_object-select-id,\n.acf-page_link-select-id {\n color: #98A2B3;\n padding-left: 10px;\n}\n\n.acf-taxonomy-select-sub-item {\n max-width: 180px;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n margin-left: 5px;\n}\n\n.acf-taxonomy-select-name {\n max-width: 180px;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n/*----------------------------------------------------------------------------\n*\n* Prefix & append styling\n*\n*----------------------------------------------------------------------------*/\n.acf-input .acf-input-prepend,\n.acf-input .acf-input-append {\n display: inline-flex;\n align-items: center;\n height: 100%;\n min-height: 40px;\n padding-right: 12px;\n padding-left: 12px;\n background-color: #F9FAFB;\n border-color: #D0D5DD;\n box-shadow: 0px 1px 2px rgba(16, 24, 40, 0.1);\n color: #667085;\n}\n.acf-input .acf-input-prepend {\n border-radius: 6px 0 0 6px;\n}\n.acf-input .acf-input-append {\n border-radius: 0 6px 6px 0;\n}\n\n/*----------------------------------------------------------------------------\n*\n* ACF input wrap\n*\n*----------------------------------------------------------------------------*/\n.acf-input-wrap {\n display: flex;\n}\n\n.acf-field-settings-main-presentation .acf-input-wrap {\n display: flex;\n}\n\n/*----------------------------------------------------------------------------\n*\n* Empty state\n*\n*----------------------------------------------------------------------------*/\n.post-type-acf-field-group #acf-field-group-fields .acf-field-list.-empty .no-fields-message {\n display: flex;\n justify-content: center;\n padding-top: 48px;\n padding-bottom: 48px;\n}\n.post-type-acf-field-group #acf-field-group-fields .acf-field-list.-empty .no-fields-message .no-fields-message-inner {\n display: flex;\n flex-wrap: wrap;\n justify-content: center;\n align-content: center;\n align-items: flex-start;\n text-align: center;\n max-width: 400px;\n}\n.post-type-acf-field-group #acf-field-group-fields .acf-field-list.-empty .no-fields-message .no-fields-message-inner img,\n.post-type-acf-field-group #acf-field-group-fields .acf-field-list.-empty .no-fields-message .no-fields-message-inner h2,\n.post-type-acf-field-group #acf-field-group-fields .acf-field-list.-empty .no-fields-message .no-fields-message-inner p {\n flex: 1 0 100%;\n}\n.post-type-acf-field-group #acf-field-group-fields .acf-field-list.-empty .no-fields-message .no-fields-message-inner h2 {\n margin-top: 32px;\n margin-bottom: 0;\n padding: 0;\n color: #344054;\n}\n.post-type-acf-field-group #acf-field-group-fields .acf-field-list.-empty .no-fields-message .no-fields-message-inner p {\n margin-top: 12px;\n margin-bottom: 0;\n padding: 0;\n color: #667085;\n}\n.post-type-acf-field-group #acf-field-group-fields .acf-field-list.-empty .no-fields-message .no-fields-message-inner p.acf-small {\n margin-top: 32px;\n}\n.post-type-acf-field-group #acf-field-group-fields .acf-field-list.-empty .no-fields-message .no-fields-message-inner img {\n max-width: 284px;\n margin-bottom: 0;\n}\n.post-type-acf-field-group #acf-field-group-fields .acf-field-list.-empty .no-fields-message .no-fields-message-inner .acf-btn {\n margin-top: 32px;\n}\n\n/*----------------------------------------------------------------------------\n*\n* Hide add title prompt label\n*\n*----------------------------------------------------------------------------*/\n.post-type-acf-field-group .acf-headerbar #title-prompt-text {\n display: none;\n}\n\n/*----------------------------------------------------------------------------\n*\n* Modal styling\n*\n*----------------------------------------------------------------------------*/\n.acf-admin-page #acf-popup .acf-popup-box {\n min-width: 480px;\n}\n.acf-admin-page #acf-popup .acf-popup-box .title {\n display: flex;\n align-items: center;\n align-content: center;\n justify-content: space-between;\n min-height: 64px;\n box-sizing: border-box;\n margin: 0;\n padding-right: 24px;\n padding-left: 24px;\n border-bottom-width: 1px;\n border-bottom-style: solid;\n border-bottom-color: #EAECF0;\n}\n.acf-admin-page #acf-popup .acf-popup-box .title h1,\n.acf-admin-page #acf-popup .acf-popup-box .title h2,\n.acf-admin-page #acf-popup .acf-popup-box .title h3,\n.acf-admin-page #acf-popup .acf-popup-box .title h4 {\n padding-left: 0;\n color: #344054;\n}\n.acf-admin-page #acf-popup .acf-popup-box .title .acf-icon {\n display: block;\n position: relative;\n top: auto;\n right: auto;\n width: 22px;\n height: 22px;\n background-color: transparent;\n color: transparent;\n}\n.acf-admin-page #acf-popup .acf-popup-box .title .acf-icon:before {\n display: inline-flex;\n position: absolute;\n top: 0;\n left: 0;\n width: 22px;\n height: 22px;\n background-color: #667085;\n border: none;\n border-radius: 0;\n -webkit-mask-size: contain;\n mask-size: contain;\n -webkit-mask-repeat: no-repeat;\n mask-repeat: no-repeat;\n -webkit-mask-position: center;\n mask-position: center;\n text-indent: 500%;\n white-space: nowrap;\n overflow: hidden;\n -webkit-mask-image: url(\"../../images/icons/icon-close-circle.svg\");\n mask-image: url(\"../../images/icons/icon-close-circle.svg\");\n}\n.acf-admin-page #acf-popup .acf-popup-box .title .acf-icon:hover:before {\n background-color: #0783BE;\n}\n.acf-admin-page #acf-popup .acf-popup-box .inner {\n box-sizing: border-box;\n margin: 0;\n padding-top: 24px;\n padding-right: 24px;\n padding-bottom: 24px;\n padding-left: 24px;\n border-top: none;\n}\n.acf-admin-page #acf-popup .acf-popup-box .inner p {\n margin-top: 0;\n margin-bottom: 0;\n}\n.acf-admin-page #acf-popup .acf-popup-box #acf-move-field-form .acf-field-select,\n.acf-admin-page #acf-popup .acf-popup-box #acf-link-field-groups-form .acf-field-select {\n margin-top: 0;\n}\n.acf-admin-page .acf-link-field-groups-popup .acf-popup-box .title h3,\n.acf-admin-page .acf-create-options-page-popup .acf-popup-box .title h3 {\n color: #1D2939;\n font-weight: 500;\n}\n.acf-admin-page .acf-link-field-groups-popup .acf-popup-box .title h3:before,\n.acf-admin-page .acf-create-options-page-popup .acf-popup-box .title h3:before {\n content: \"\";\n width: 18px;\n height: 18px;\n background: #98A2B3;\n margin-right: 9px;\n}\n.acf-admin-page .acf-link-field-groups-popup .acf-popup-box .inner,\n.acf-admin-page .acf-create-options-page-popup .acf-popup-box .inner {\n padding: 0 !important;\n}\n.acf-admin-page .acf-link-field-groups-popup .acf-popup-box .inner .acf-field-select,\n.acf-admin-page .acf-link-field-groups-popup .acf-popup-box .inner .acf-link-successful,\n.acf-admin-page .acf-create-options-page-popup .acf-popup-box .inner .acf-field-select,\n.acf-admin-page .acf-create-options-page-popup .acf-popup-box .inner .acf-link-successful {\n padding: 32px 24px;\n margin-bottom: 0;\n}\n.acf-admin-page .acf-link-field-groups-popup .acf-popup-box .inner .acf-field-select .description,\n.acf-admin-page .acf-link-field-groups-popup .acf-popup-box .inner .acf-link-successful .description,\n.acf-admin-page .acf-create-options-page-popup .acf-popup-box .inner .acf-field-select .description,\n.acf-admin-page .acf-create-options-page-popup .acf-popup-box .inner .acf-link-successful .description {\n margin-top: 6px !important;\n}\n.acf-admin-page .acf-link-field-groups-popup .acf-popup-box .inner .acf-actions,\n.acf-admin-page .acf-create-options-page-popup .acf-popup-box .inner .acf-actions {\n background: #F9FAFB;\n border-top: 1px solid #EAECF0;\n padding-top: 20px;\n padding-left: 24px;\n padding-bottom: 20px;\n padding-right: 24px;\n border-bottom-left-radius: 8px;\n border-bottom-right-radius: 8px;\n}\n.acf-admin-page .acf-link-field-groups-popup .acf-popup-box .inner .acf-actions .acf-btn,\n.acf-admin-page .acf-create-options-page-popup .acf-popup-box .inner .acf-actions .acf-btn {\n display: inline-block;\n margin-left: 8px;\n}\n.acf-admin-page .acf-link-field-groups-popup .acf-popup-box .inner .acf-actions .acf-btn.acf-btn-primary,\n.acf-admin-page .acf-create-options-page-popup .acf-popup-box .inner .acf-actions .acf-btn.acf-btn-primary {\n width: 120px;\n}\n.acf-admin-page .acf-create-options-page-popup .acf-popup-box .inner .acf-error-message.-success {\n display: none;\n}\n.acf-admin-page .acf-create-options-page-popup .acf-popup-box .inner .-dismiss {\n margin: 24px 32px !important;\n}\n.acf-admin-page .acf-create-options-page-popup .acf-popup-box .inner .acf-field {\n padding: 24px 32px 0 32px;\n margin: 0;\n}\n.acf-admin-page .acf-create-options-page-popup .acf-popup-box .inner .acf-field.acf-error .acf-input-wrap {\n overflow: inherit;\n}\n.acf-admin-page .acf-create-options-page-popup .acf-popup-box .inner .acf-field.acf-error .acf-input-wrap input[type=text] {\n border: 1px rgba(209, 55, 55, 0.5) solid !important;\n box-shadow: 0px 0px 0px 3px rgba(209, 55, 55, 0.12), 0px 0px 0px rgba(255, 54, 54, 0.25) !important;\n background-image: url(../../images/icons/icon-info-red.svg);\n background-position: right 10px top 50%;\n background-size: 14px;\n background-repeat: no-repeat;\n}\n.acf-admin-page .acf-create-options-page-popup .acf-popup-box .inner .acf-field .acf-options-page-modal-error p {\n font-size: 12px;\n color: #D13737;\n}\n.acf-admin-page .acf-create-options-page-popup .acf-popup-box .inner .acf-actions {\n margin-top: 32px;\n}\n.acf-admin-page .acf-create-options-page-popup .acf-popup-box .inner .acf-actions .acf-btn:disabled {\n background-color: #0783BE;\n}\n\n/*----------------------------------------------------------------------------\n*\n* Hide original #post-body-content from edit field group page\n*\n*----------------------------------------------------------------------------*/\n.acf-admin-single-field-group #post-body-content {\n display: none;\n}\n\n/*----------------------------------------------------------------------------\n*\n* Settings section footer\n*\n*----------------------------------------------------------------------------*/\n.acf-field-group-settings-footer {\n display: flex;\n justify-content: space-between;\n align-content: stretch;\n align-items: center;\n position: relative;\n min-height: 88px;\n margin-right: -24px;\n margin-left: -24px;\n margin-bottom: -24px;\n padding-right: 24px;\n padding-left: 24px;\n border-top-width: 1px;\n border-top-style: solid;\n border-top-color: #EAECF0;\n}\n.acf-field-group-settings-footer .acf-created-on {\n display: inline-flex;\n justify-content: flex-start;\n align-content: stretch;\n align-items: center;\n color: #667085;\n}\n.acf-field-group-settings-footer .acf-created-on:before {\n content: \"\";\n display: inline-block;\n width: 20px;\n height: 20px;\n margin-right: 8px;\n background-color: #98A2B3;\n border: none;\n border-radius: 0;\n -webkit-mask-size: contain;\n mask-size: contain;\n -webkit-mask-repeat: no-repeat;\n mask-repeat: no-repeat;\n -webkit-mask-position: center;\n mask-position: center;\n -webkit-mask-image: url(\"../../images/icons/icon-time.svg\");\n mask-image: url(\"../../images/icons/icon-time.svg\");\n}\n\n/*----------------------------------------------------------------------------\n*\n* Conditional logic enabled badge\n*\n*----------------------------------------------------------------------------*/\n.conditional-logic-badge {\n display: none;\n}\n.conditional-logic-badge.is-enabled {\n display: inline-block;\n width: 6px;\n height: 6px;\n overflow: hidden;\n margin-left: 8px;\n background-color: rgba(82, 170, 89, 0.4);\n border-width: 1px;\n border-style: solid;\n border-color: #52AA59;\n border-radius: 100px;\n text-indent: 100%;\n white-space: nowrap;\n}\n\n/*----------------------------------------------------------------------------\n*\n* Field settings container\n*\n*----------------------------------------------------------------------------*/\n.acf-field-type-settings {\n container-name: settings;\n container-type: inline-size;\n}\n\n/*----------------------------------------------------------------------------\n*\n* Split field settings\n*\n*----------------------------------------------------------------------------*/\n.acf-field-settings-split {\n display: flex;\n border-top-width: 1px;\n border-top-style: solid;\n border-top-color: #EAECF0;\n}\n.acf-field-settings-split .acf-field {\n margin: 0;\n padding-top: 32px;\n padding-bottom: 32px;\n}\n.acf-field-settings-split .acf-field:nth-child(2n) {\n border-left-width: 1px;\n border-left-style: solid;\n border-left-color: #EAECF0;\n}\n\n@container settings (max-width: 1170px) {\n .acf-field-settings-split {\n border: none;\n flex-direction: column;\n }\n .acf-field {\n border-top-width: 1px;\n border-top-style: solid;\n border-top-color: #EAECF0;\n }\n}\n/*----------------------------------------------------------------------------\n*\n* Display & return format\n*\n*----------------------------------------------------------------------------*/\n.acf-field-setting-display_format .acf-label,\n.acf-field-setting-return_format .acf-label {\n margin-bottom: 6px;\n}\n.acf-field-setting-display_format .acf-radio-list li,\n.acf-field-setting-return_format .acf-radio-list li {\n display: flex;\n}\n.acf-field-setting-display_format .acf-radio-list li label,\n.acf-field-setting-return_format .acf-radio-list li label {\n display: inline-flex;\n width: 100%;\n}\n.acf-field-setting-display_format .acf-radio-list li label span,\n.acf-field-setting-return_format .acf-radio-list li label span {\n flex: 1 1 auto;\n}\n.acf-field-setting-display_format .acf-radio-list li label code,\n.acf-field-setting-return_format .acf-radio-list li label code {\n padding-right: 8px;\n padding-left: 8px;\n background-color: #F2F4F7;\n border-radius: 4px;\n color: #475467;\n}\n.acf-field-setting-display_format .acf-radio-list li input[type=text],\n.acf-field-setting-return_format .acf-radio-list li input[type=text] {\n height: 32px;\n}\n\n.acf-field-settings .acf-field-setting-first_day {\n padding-top: 32px;\n border-top-width: 1px;\n border-top-style: solid;\n border-top-color: #EAECF0;\n}\n\n/*----------------------------------------------------------------------------\n*\n* Image and Gallery fields\n*\n*----------------------------------------------------------------------------*/\n.acf-field-object-image .acf-hl[data-cols=\"3\"] > li,\n.acf-field-object-gallery .acf-hl[data-cols=\"3\"] > li {\n width: auto;\n}\n\n/*----------------------------------------------------------------------------\n*\n* Appended fields fields\n*\n*----------------------------------------------------------------------------*/\n.acf-field-settings .acf-field-appended {\n overflow: auto;\n}\n.acf-field-settings .acf-field-appended .acf-input {\n float: left;\n}\n\n/*----------------------------------------------------------------------------\n*\n* Flexible widths for image minimum / maximum size fields\n*\n*----------------------------------------------------------------------------*/\n.acf-field-settings .acf-field.acf-field-setting-min_width .acf-input,\n.acf-field-settings .acf-field.acf-field-setting-max_width .acf-input {\n max-width: none;\n}\n.acf-field-settings .acf-field.acf-field-setting-min_width .acf-input-wrap input[type=text],\n.acf-field-settings .acf-field.acf-field-setting-max_width .acf-input-wrap input[type=text] {\n max-width: 81px;\n}\n\n/*----------------------------------------------------------------------------\n*\n* Temporary fix to hide pagination setting for repeaters used as subfields.\n*\n*----------------------------------------------------------------------------*/\n.post-type-acf-field-group .acf-field-object-flexible-content .acf-field-setting-pagination {\n display: none;\n}\n.post-type-acf-field-group .acf-field-object-repeater .acf-field-object-repeater .acf-field-setting-pagination {\n display: none;\n}\n\n/*----------------------------------------------------------------------------\n*\n* Flexible content field width\n*\n*----------------------------------------------------------------------------*/\n.acf-admin-single-field-group .acf-field-object-flexible-content .acf-is-subfields .acf-field-object .acf-label,\n.acf-admin-single-field-group .acf-field-object-flexible-content .acf-is-subfields .acf-field-object .acf-input {\n max-width: 600px;\n}\n\n/*----------------------------------------------------------------------------\n*\n* Fix default value checkbox focus state\n*\n*----------------------------------------------------------------------------*/\n.acf-admin-single-field-group .acf-field.acf-field-true-false.acf-field-setting-default_value .acf-true-false {\n border: none;\n}\n.acf-admin-single-field-group .acf-field.acf-field-true-false.acf-field-setting-default_value .acf-true-false input[type=checkbox] {\n margin-right: 0;\n}\n\n/*----------------------------------------------------------------------------\n*\n* With front field extra spacing\n*\n*----------------------------------------------------------------------------*/\n.acf-field.acf-field-with-front {\n margin-top: 32px;\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* Sub-fields layout\n*\n*---------------------------------------------------------------------------------------------*/\n.post-type-acf-field-group #acf-field-group-fields .acf-field-list-wrap .acf-input-sub {\n max-width: 100%;\n overflow: hidden;\n border-radius: 8px;\n border-width: 1px;\n border-style: solid;\n border-color: #dbdfe5;\n box-shadow: 0px 1px 2px rgba(16, 24, 40, 0.1);\n}\n.post-type-acf-field-group #acf-field-group-fields .acf-field-list-wrap .acf-input-sub .acf-sub-field-list-header {\n display: flex;\n justify-content: space-between;\n align-content: stretch;\n align-items: center;\n min-height: 64px;\n padding-right: 24px;\n padding-left: 24px;\n}\n.post-type-acf-field-group #acf-field-group-fields .acf-field-list-wrap .acf-input-sub .acf-field-list-wrap {\n box-shadow: none;\n}\n.post-type-acf-field-group #acf-field-group-fields .acf-field-list-wrap .acf-input-sub .acf-hl.acf-tfoot {\n min-height: 64px;\n align-items: center;\n}\n.post-type-acf-field-group #acf-field-group-fields .acf-field-list-wrap .acf-input-sub .acf-input.acf-input-sub {\n max-width: 100%;\n margin-right: 0;\n margin-left: 0;\n}\n\n.post-type-acf-field-group .acf-input-sub .acf-field-object .acf-sortable-handle {\n width: 100%;\n height: 100%;\n}\n\n.post-type-acf-field-group .acf-field-object:hover .acf-input-sub .acf-sortable-handle:before {\n display: none;\n}\n\n.post-type-acf-field-group .acf-field-object:hover .acf-input-sub .acf-field-list .acf-field-object:hover .acf-sortable-handle:before {\n display: block;\n}\n\n.post-type-acf-field-group .acf-field-object .acf-is-subfields .acf-thead .li-field-label:before {\n display: none;\n}\n\n.post-type-acf-field-group #acf-field-group-fields .acf-field-list-wrap .acf-input-sub .acf-field-object.open {\n border-top-color: #dbdfe5;\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* Flexible content field\n*\n*---------------------------------------------------------------------------------------------*/\n.post-type-acf-field-group i.acf-icon.-duplicate.duplicate-layout {\n margin: 0 auto !important;\n background-color: #667085;\n color: #667085;\n}\n.post-type-acf-field-group i.acf-icon.acf-icon-trash.delete-layout {\n margin: 0 auto !important;\n background-color: #667085;\n color: #667085;\n}\n.post-type-acf-field-group button.acf-btn.acf-btn-tertiary.acf-field-setting-fc-duplicate, .post-type-acf-field-group button.acf-btn.acf-btn-tertiary.acf-field-setting-fc-delete {\n background-color: #ffffff !important;\n box-shadow: 0px 1px 2px rgba(16, 24, 40, 0.1);\n border-radius: 6px;\n width: 32px;\n height: 32px !important;\n min-height: 32px;\n padding: 0;\n}\n.post-type-acf-field-group button.add-layout.acf-btn.acf-btn-primary.add-field,\n.post-type-acf-field-group .acf-sub-field-list-header a.acf-btn.acf-btn-secondary.add-field,\n.post-type-acf-field-group .acf-field-list-wrap.acf-is-subfields a.acf-btn.acf-btn-secondary.add-field {\n height: 32px !important;\n min-height: 32px;\n margin-left: 5px;\n}\n.post-type-acf-field-group .acf-field.acf-field-setting-fc_layout {\n background-color: #ffffff;\n margin-bottom: 16px;\n}\n.post-type-acf-field-group .acf-field-setting-fc_layout {\n width: calc(100% - 144px);\n margin-right: 72px;\n margin-left: 72px;\n padding-right: 0;\n padding-left: 0;\n border-width: 1px;\n border-style: solid;\n border-color: #dbdfe5;\n border-radius: 8px;\n box-shadow: 0px 1px 2px rgba(16, 24, 40, 0.1);\n}\n.post-type-acf-field-group .acf-field-setting-fc_layout .acf-field-layout-settings.open {\n background-color: #ffffff;\n border-top-width: 1px;\n border-top-style: solid;\n border-top-color: #EAECF0;\n}\n@media screen and (max-width: 768px) {\n .post-type-acf-field-group .acf-field-setting-fc_layout {\n width: calc(100% - 16px);\n margin-right: 8px;\n margin-left: 8px;\n }\n}\n.post-type-acf-field-group .acf-field-setting-fc_layout .acf-input-sub {\n max-width: 100%;\n margin-right: 0;\n margin-left: 0;\n}\n.post-type-acf-field-group .acf-field-setting-fc_layout .acf-label,\n.post-type-acf-field-group .acf-field-setting-fc_layout .acf-input {\n max-width: 100% !important;\n}\n.post-type-acf-field-group .acf-field-setting-fc_layout .acf-input-sub {\n margin-right: 32px;\n margin-bottom: 32px;\n margin-left: 32px;\n}\n.post-type-acf-field-group .acf-field-setting-fc_layout .acf-fc-meta {\n max-width: 100%;\n padding-top: 24px;\n padding-right: 32px;\n padding-left: 32px;\n}\n.post-type-acf-field-group .acf-field-settings-fc_head {\n display: flex;\n align-items: center;\n justify-content: left;\n background-color: #F9FAFB;\n border-radius: 8px;\n min-height: 64px;\n margin-bottom: 0px;\n padding-right: 24px;\n}\n.post-type-acf-field-group .acf-field-settings-fc_head .acf-fc_draggable {\n min-height: 64px;\n padding-left: 24px;\n display: flex;\n white-space: nowrap;\n}\n.post-type-acf-field-group .acf-field-settings-fc_head .acf-fc-layout-name {\n min-width: 0;\n color: #98A2B3;\n padding-left: 8px;\n font-size: 16px;\n}\n.post-type-acf-field-group .acf-field-settings-fc_head .acf-fc-layout-name.copyable:not(.input-copyable, .copy-unsupported):hover:after {\n width: 14px !important;\n height: 14px !important;\n}\n@media screen and (max-width: 880px) {\n .post-type-acf-field-group .acf-field-settings-fc_head .acf-fc-layout-name {\n display: none !important;\n }\n}\n.post-type-acf-field-group .acf-field-settings-fc_head .acf-fc-layout-name span {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n.post-type-acf-field-group .acf-field-settings-fc_head span.toggle-indicator {\n pointer-events: none;\n margin-top: 7px;\n}\n.post-type-acf-field-group .acf-field-settings-fc_head label {\n display: inline-flex;\n align-items: center;\n}\n.post-type-acf-field-group .acf-field-settings-fc_head label.acf-fc-layout-name {\n margin-left: 1rem;\n}\n@media screen and (max-width: 880px) {\n .post-type-acf-field-group .acf-field-settings-fc_head label.acf-fc-layout-name {\n display: none !important;\n }\n}\n.post-type-acf-field-group .acf-field-settings-fc_head label.acf-fc-layout-name span.acf-fc-layout-name {\n text-overflow: ellipsis;\n overflow: hidden;\n height: 22px;\n white-space: nowrap;\n}\n.post-type-acf-field-group .acf-field-settings-fc_head label.acf-fc-layout-label:before {\n content: \"\";\n display: inline-block;\n width: 20px;\n height: 20px;\n margin-right: 8px;\n background-color: #98A2B3;\n border: none;\n border-radius: 0;\n -webkit-mask-size: contain;\n mask-size: contain;\n -webkit-mask-repeat: no-repeat;\n mask-repeat: no-repeat;\n -webkit-mask-position: center;\n mask-position: center;\n}\n.rtl.post-type-acf-field-group .acf-field-settings-fc_head label.acf-fc-layout-label:before {\n padding-right: 10px;\n}\n\n.post-type-acf-field-group .acf-field-settings-fc_head .acf-fl-actions {\n display: flex;\n align-items: center;\n white-space: nowrap;\n margin-left: auto;\n}\n.post-type-acf-field-group .acf-field-settings-fc_head .acf-fl-actions .acf-fc-add-layout {\n margin-left: 10px;\n}\n.post-type-acf-field-group .acf-field-settings-fc_head .acf-fl-actions .acf-fc-add-layout .add-field {\n margin-left: 0px !important;\n}\n.post-type-acf-field-group .acf-field-settings-fc_head .acf-fl-actions li {\n margin-right: 4px;\n}\n.post-type-acf-field-group .acf-field-settings-fc_head .acf-fl-actions li:last-of-type {\n margin-right: 0;\n}\n.post-type-acf-field-group .acf-field-settings-fc_head.open {\n border-radius: 8px 8px 0px 0px;\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* Field open / closed icon state\n*\n*---------------------------------------------------------------------------------------------*/\n.post-type-acf-field-group .acf-field-object.open > .handle > .acf-tbody > .li-field-label::before {\n -webkit-mask-image: url(\"../../images/icons/icon-chevron-up.svg\");\n mask-image: url(\"../../images/icons/icon-chevron-up.svg\");\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* Different coloured levels (current 5 supported)\n*\n*---------------------------------------------------------------------------------------------*/\n.post-type-acf-field-group #acf-field-group-fields .acf-field-list-wrap .acf-input-sub .acf-field-object .handle {\n background-color: transparent;\n}\n.post-type-acf-field-group #acf-field-group-fields .acf-field-list-wrap .acf-input-sub .acf-field-object .handle:hover {\n background-color: #f9f2fb;\n}\n.post-type-acf-field-group #acf-field-group-fields .acf-field-list-wrap .acf-input-sub .acf-field-object.open .handle {\n background-color: #f5eaf9;\n}\n.post-type-acf-field-group #acf-field-group-fields .acf-field-list-wrap .acf-input-sub .acf-field-object .settings {\n border-left-color: #BF7DD7;\n}\n.post-type-acf-field-group #acf-field-group-fields .acf-field-list-wrap .acf-input-sub .acf-input-sub .acf-field-object .handle {\n background-color: transparent;\n}\n.post-type-acf-field-group #acf-field-group-fields .acf-field-list-wrap .acf-input-sub .acf-input-sub .acf-field-object .handle:hover {\n background-color: #ebf7f4;\n}\n.post-type-acf-field-group #acf-field-group-fields .acf-field-list-wrap .acf-input-sub .acf-input-sub .acf-field-object.open .handle {\n background-color: #e3f4f0;\n}\n.post-type-acf-field-group #acf-field-group-fields .acf-field-list-wrap .acf-input-sub .acf-input-sub .acf-field-object .settings {\n border-left-color: #7CCDB9;\n}\n.post-type-acf-field-group #acf-field-group-fields .acf-field-list-wrap .acf-input-sub .acf-input-sub .acf-input-sub .acf-field-object .handle {\n background-color: transparent;\n}\n.post-type-acf-field-group #acf-field-group-fields .acf-field-list-wrap .acf-input-sub .acf-input-sub .acf-input-sub .acf-field-object .handle:hover {\n background-color: #fcf5f2;\n}\n.post-type-acf-field-group #acf-field-group-fields .acf-field-list-wrap .acf-input-sub .acf-input-sub .acf-input-sub .acf-field-object.open .handle {\n background-color: #fbeee9;\n}\n.post-type-acf-field-group #acf-field-group-fields .acf-field-list-wrap .acf-input-sub .acf-input-sub .acf-input-sub .acf-field-object .settings {\n border-left-color: #E29473;\n}\n.post-type-acf-field-group #acf-field-group-fields .acf-field-list-wrap .acf-input-sub .acf-input-sub .acf-input-sub .acf-input-sub .acf-field-object .handle {\n background-color: transparent;\n}\n.post-type-acf-field-group #acf-field-group-fields .acf-field-list-wrap .acf-input-sub .acf-input-sub .acf-input-sub .acf-input-sub .acf-field-object .handle:hover {\n background-color: #fafbfb;\n}\n.post-type-acf-field-group #acf-field-group-fields .acf-field-list-wrap .acf-input-sub .acf-input-sub .acf-input-sub .acf-input-sub .acf-field-object.open .handle {\n background-color: #f4f6f7;\n}\n.post-type-acf-field-group #acf-field-group-fields .acf-field-list-wrap .acf-input-sub .acf-input-sub .acf-input-sub .acf-input-sub .acf-field-object .settings {\n border-left-color: #A3B1B9;\n}","/*--------------------------------------------------------------------------------------------\n*\n*\tVars\n*\n*--------------------------------------------------------------------------------------------*/\n\n/* colors */\n$acf_blue: #2a9bd9;\n$acf_notice: #2a9bd9;\n$acf_error: #d94f4f;\n$acf_success: #49ad52;\n$acf_warning: #fd8d3b;\n\n/* acf-field */\n$field_padding: 15px 12px;\n$field_padding_x: 12px;\n$field_padding_y: 15px;\n$fp: 15px 12px;\n$fy: 15px;\n$fx: 12px;\n\n/* responsive */\n$md: 880px;\n$sm: 640px;\n\n// Admin.\n$wp-card-border: #ccd0d4;\t\t\t// Card border.\n$wp-card-border-1: #d5d9dd;\t\t // Card inner border 1: Structural (darker).\n$wp-card-border-2: #eeeeee;\t\t // Card inner border 2: Fields (lighter).\n$wp-input-border: #7e8993;\t\t // Input border.\n\n// Admin 3.8\n$wp38-card-border: #E5E5E5;\t\t // Card border.\n$wp38-card-border-1: #dfdfdf;\t\t// Card inner border 1: Structural (darker).\n$wp38-card-border-2: #eeeeee;\t\t// Card inner border 2: Fields (lighter).\n$wp38-input-border: #dddddd;\t\t // Input border.\n\n/*--------------------------------------------------------------------------------------------\n*\n*\tACF 6 ↓\n*\n*--------------------------------------------------------------------------------------------*/\n\n// Grays\n$gray-50: #F9FAFB;\n$gray-100: #F2F4F7;\n$gray-200: #EAECF0;\n$gray-300: #D0D5DD;\n$gray-400: #98A2B3;\n$gray-500: #667085;\n$gray-600: #475467;\n$gray-700: #344054;\n$gray-800: #1D2939;\n$gray-900: #101828;\n\n// Blues\n$blue-50: #EBF5FA;\n$blue-100: #D8EBF5;\n$blue-200: #A5D2E7;\n$blue-300: #6BB5D8;\n$blue-400: #399CCB;\n$blue-500: #0783BE;\n$blue-600: #066998;\n$blue-700: #044E71;\n$blue-800: #033F5B;\n$blue-900: #032F45;\n\n// Utility\n$color-info:\t#2D69DA;\n$color-success:\t#52AA59;\n$color-warning:\t#F79009;\n$color-danger:\t#D13737;\n\n$color-primary: $blue-500;\n$color-primary-hover: $blue-600;\n$color-secondary: $gray-500;\n$color-secondary-hover: $gray-400;\n\n// Gradients\n$gradient-pro: radial-gradient(141.77% 141.08% at 100.26% 99.25%, #0ECAD4 0%, #7A45E5 100%);\n\n// Border radius\n$radius-sm:\t4px;\n$radius-md: 6px;\n$radius-lg: 8px;\n$radius-xl: 12px;\n\n// Elevations / Box shadows\n$elevation-01: 0px 1px 2px rgba($gray-900, 0.10);\n\n// Input & button focus outline\n$outline: 3px solid $blue-50;\n\n// Link colours\n$link-color: $blue-500;\n\n// Responsive\n$max-width: 1440px;","/*--------------------------------------------------------------------------------------------\n*\n* Mixins\n*\n*--------------------------------------------------------------------------------------------*/\n@mixin clearfix() {\n\t&:after {\n\t\tdisplay: block;\n\t\tclear: both;\n\t\tcontent: \"\";\n\t}\n}\n\n@mixin border-box() {\n\t-webkit-box-sizing: border-box;\n\t-moz-box-sizing: border-box;\n\tbox-sizing: border-box;\n}\n\n@mixin centered() {\n\tposition: absolute;\n\ttop: 50%;\n\tleft: 50%;\n\ttransform: translate(-50%, -50%);\n}\n\n@mixin animate( $properties: 'all' ) {\n\t-webkit-transition: $properties 0.3s ease; // Safari 3.2+, Chrome\n -moz-transition: $properties 0.3s ease; \t// Firefox 4-15\n -o-transition: $properties 0.3s ease; \t\t// Opera 10.5–12.00\n transition: $properties 0.3s ease; \t\t// Firefox 16+, Opera 12.50+\n}\n\n@mixin rtl() {\n\thtml[dir=\"rtl\"] & {\n\t\ttext-align: right;\n\t\t@content;\n\t}\n}\n\n@mixin wp-admin( $version: '3-8' ) {\n\t.acf-admin-#{$version} & {\n\t\t@content;\n\t}\n}","/*--------------------------------------------------------------------------------------------\n*\n*\tField Group\n*\n*--------------------------------------------------------------------------------------------*/\n\n// Reset postbox inner padding.\n#acf-field-group-fields > .inside,\n#acf-field-group-locations > .inside,\n#acf-field-group-options > .inside {\n\tpadding: 0;\n\tmargin: 0;\n}\n\n// Hide metabox order buttons added in WP 5.5.\n.postbox {\n\t.handle-order-higher,\n\t.handle-order-lower {\n\t\tdisplay: none;\n\t}\n}\n\n/*----------------------------------------------------------------------------\n*\n* Postbox: Publish\n*\n*----------------------------------------------------------------------------*/\n#minor-publishing-actions,\n#misc-publishing-actions #visibility,\n#misc-publishing-actions .edit-timestamp {\n\tdisplay: none;\n}\n\n#minor-publishing {\n\tborder-bottom: 0 none;\n}\n\n#misc-pub-section {\n\tborder-bottom: 0 none;\n}\n\n#misc-publishing-actions .misc-pub-section {\n\tborder-bottom-color: #F5F5F5;\n}\n\n\n/*----------------------------------------------------------------------------\n*\n* Postbox: Fields\n*\n*----------------------------------------------------------------------------*/\n#acf-field-group-fields {\n\tborder: 0 none;\n\n\t.inside {\n\t\tborder-top: {\n\t\t\twidth: 0;\n\t\t\tstyle: none;\n\t\t};\n\t}\n\n\t/* links */\n\ta {\n\t\ttext-decoration: none;\n\t}\n\n\t/* Field type */\n\t.li-field-type {\n\n\t\t.field-type-icon {\n\t\t\tmargin: {\n\t\t\t\tright: 8px;\n\t\t\t};\n\n\t\t\t@media screen and (max-width: 600px) {\n\t\t\t\tdisplay: none;\n\t\t\t}\n\n\t\t}\n\n\t\t.field-type-label {\n\t\t\tdisplay: flex;\n\t\t}\n\n\t\t.acf-pro-label-field-type {\n\t\t\tposition: relative;\n\t\t\ttop: -3px;\n\t\t\tmargin-left: 8px;\n\n\t\t\timg {\n\t\t\t\tmax-width: 34px;\n\t\t\t}\n\t\t}\n\n\t}\n\n\t/* table header */\n\t.li-field-order {\n\t\twidth: 64px;\n\t\tjustify-content: center;\n\n\t\t@media screen and (max-width: $md) {\n\t\t\twidth: 32px;\n\t\t}\n\n\t}\n\t.li-field-label { width: calc(50% - 64px); }\n\t.li-field-name { width: 25%; word-break: break-word; }\n\t.li-field-key { display: none; }\n\t.li-field-type { width: 25%; }\n\n\t/* show keys */\n\t&.show-field-keys {\n\n\t\t.li-field-label { width: calc(35% - 64px); };\n\t\t.li-field-name { width: 15%; };\n\t\t.li-field-key { width: 25%; display: flex; };\n\t\t.li-field-type { width: 25%; };\n\n\t}\n\n\t/* hide tabs */\n\t&.hide-tabs {\n\t\t.acf-field-settings-tab-bar {\n\t\t\tdisplay: none;\n\t\t}\n\n\t\t.acf-field-settings-main {\n\t\t\tpadding: 0;\n\n\t\t\t&.acf-field-settings-main-general {\n\t\t\t\tpadding-top: 32px;\n\t\t\t}\n\n\t\t\t.acf-field {\n\t\t\t\tmargin-bottom: 32px;\n\t\t\t}\n\n\t\t\t.acf-field-setting-wrapper {\n\t\t\t\tpadding-top: 0;\n\t\t\t\tborder-top: none;\n\t\t\t}\n\n\t\t\t.acf-field-settings-split .acf-field {\n\t\t\t\tborder-bottom: {\n\t\t\t\t\twidth: 1px;\n\t\t\t\t\tstyle: solid;\n\t\t\t\t\tcolor: $gray-200;\n\t\t\t\t};\n\t\t\t}\n\n\t\t\t.acf-field-setting-first_day {\n\t\t\t\tpadding-top: 0;\n\t\t\t\tborder-top: none;\n\t\t\t}\n\t\t}\n\n\t\t.acf-field-settings-footer {\n\t\t\tmargin-top: 32px;\n\t\t}\n\t}\n\n\t/* fields */\n\t.acf-field-list-wrap {\n\t\tborder: $wp-card-border solid 1px;\n\t}\n\n\t.acf-field-list {\n\t\tbackground: #f5f5f5;\n\t\tmargin-top: -1px;\n\n\t\t.acf-tbody {\n\n\t\t\t> .li-field-name,\n\t\t\t> .li-field-key {\n\t\t\t\talign-items: flex-start;\n\t\t\t}\n\n\t\t}\n\n\t\t.copyable:not(.input-copyable, .copy-unsupported) {\n\t\t\tcursor: pointer;\n\t\t\tdisplay: inline-flex;\n\t\t\talign-items: center;\n\n\t\t\t&:hover:after {\n\t\t\t\tcontent: '';\n\t\t\t\tpadding-left: 5px;\n\t\t\t\t$icon-size: 12px;\n\t\t\t\tdisplay: inline-flex;\n\t\t\t\twidth: $icon-size;\n\t\t\t\theight: $icon-size;\n\t\t\t\tbackground-color: $gray-500;\n\t\t\t\tborder: none;\n\t\t\t\tborder-radius: 0;\n\t\t\t\t-webkit-mask-size: contain;\n\t\t\t\tmask-size: contain;\n\t\t\t\t-webkit-mask-repeat: no-repeat;\n\t\t\t\tmask-repeat: no-repeat;\n\t\t\t\t-webkit-mask-position: center;\n\t\t\t\tmask-position: center;\n\t\t\t\ttext-indent: 500%;\n\t\t\t\twhite-space: nowrap;\n\t\t\t\toverflow: hidden;\n\t\t\t\t-webkit-mask-image: url('../../images/icons/icon-copy.svg');\n\t\t\t\tmask-image: url('../../images/icons/icon-copy.svg');\n\t\t\t\tbackground-size: cover;\n\t\t\t}\n\n\t\t\t&.sub-label {\n\t\t\t\tpadding-right: 22px;\n\n\t\t\t\t&:hover {\n\t\t\t\t\tpadding-right: 0;\n\n\t\t\t\t\t&:after {\n\t\t\t\t\t\t$icon-size: 14px;\n\t\t\t\t\t\twidth: $icon-size;\n\t\t\t\t\t\theight: $icon-size;\n\t\t\t\t\t\tpadding-left: 8px;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t&.copied:hover:after {\n\t\t\t\t-webkit-mask-image: url('../../images/icons/icon-check-circle-solid.svg');\n\t\t\t\tmask-image: url('../../images/icons/icon-check-circle-solid.svg');\n\t\t\t\tbackground-color: $acf_success;\n\t\t\t}\n\t\t}\n\n\t\t.copyable.input-copyable:not(.copy-unsupported) {\n\t\t\tcursor: pointer;\n\t\t\tdisplay: block;\n\t\t\tposition: relative;\n\t\t\talign-items: center;\n\n\t\t\tinput {\n\t\t\t\tpadding-right: 40px;\n\t\t\t}\n\n\t\t\t.acf-input-wrap:after {\n\t\t\t\tcontent: '';\n\t\t\t\tpadding-left: 5px;\n\t\t\t\t$icon-size: 16px;\n\t\t\t\tright: 12px;\n\t\t\t\ttop: 12px;\n\t\t\t\tposition: absolute;\n\t\t\t\twidth: $icon-size;\n\t\t\t\theight: $icon-size;\n\t\t\t\tbackground-color: $gray-400;\n\t\t\t\tborder: none;\n\t\t\t\tborder-radius: 0;\n\t\t\t\t-webkit-mask-size: contain;\n\t\t\t\tmask-size: contain;\n\t\t\t\t-webkit-mask-repeat: no-repeat;\n\t\t\t\tmask-repeat: no-repeat;\n\t\t\t\t-webkit-mask-position: center;\n\t\t\t\tmask-position: center;\n\t\t\t\ttext-indent: 500%;\n\t\t\t\twhite-space: nowrap;\n\t\t\t\toverflow: hidden;\n\t\t\t\t-webkit-mask-image: url('../../images/icons/icon-copy.svg');\n\t\t\t\tmask-image: url('../../images/icons/icon-copy.svg');\n\t\t\t\tbackground-size: cover;\n\t\t\t}\n\n\t\t\t&.copied .acf-input-wrap:after {\n\t\t\t\t-webkit-mask-image: url('../../images/icons/icon-check-circle-solid.svg');\n\t\t\t\tmask-image: url('../../images/icons/icon-check-circle-solid.svg');\n\t\t\t\tbackground-color: $acf_success;\n\t\t\t}\n\t\t}\n\n\t\t\n\n\t\t/* no fields */\n\t\t.no-fields-message {\n\t\t\tpadding: 15px 15px;\n\t\t\tbackground: #fff;\n\t\t\tdisplay: none;\n\t\t}\n\n\t\t/* empty */\n\t\t&.-empty {\n\t\t\t.no-fields-message {\n\t\t\t\tdisplay: block;\n\t\t\t}\n\t\t}\n\t}\n\n\t// WP Admin 3.8\n\t@include wp-admin('3-8') {\n\t\t.acf-field-list-wrap {\n\t\t\tborder-color: $wp38-card-border-1;\n\t\t}\n\t}\n}\n\n\n.rtl #acf-field-group-fields {\n\t.li-field-type {\n\t\t.field-type-icon {\n\t\t\tmargin: {\n\t\t\t\tleft: 8px;\n\t\t\t\tright: 0;\n\t\t\t};\n\t\t}\n\t}\n}\n\n/* field object */\n.acf-field-object {\n\tborder-top: $wp38-card-border-2 solid 1px;\n\tbackground: #fff;\n\n\t/* sortable */\n\t&.ui-sortable-helper {\n\t\toverflow: hidden !important;\n\t\tborder: {\n\t\t\twidth: 1px;\n\t\t\tstyle: solid;\n\t\t\tcolor: $blue-200 !important;\n\t\t};\n\t\tborder-radius: $radius-lg;\n\t\tfilter: drop-shadow(0px 10px 20px rgba(16, 24, 40, 0.14)) drop-shadow(0px 1px 3px rgba(16, 24, 40, 0.1));\n\n\t\t&:before {\n\t\t\tdisplay: none !important;\n\t\t}\n\n\t}\n\n\t&.ui-sortable-placeholder {\n\t\tbox-shadow: 0 -1px 0 0 #DFDFDF;\n\t\tvisibility: visible !important;\n\t\tbackground: #F9F9F9;\n\t\tborder-top-color: transparent;\n\t\tmin-height: 54px;\n\n\t\t// hide tab field separator\n\t\t&:after, &:before {\n\t\t\tvisibility: hidden;\n\t\t}\n\t}\n\n\n\t/* meta */\n\t> .meta {\n\t\tdisplay: none;\n\t}\n\n\n\t/* handle */\n\t> .handle {\n\n\t\ta {\n\t\t\t-webkit-transition: none;\n\t\t\t-moz-transition: none;\n\t\t\t-o-transition: none;\n\t\t\ttransition: none;\n\t\t}\n\n\t\tli {\n\t\t\tword-wrap: break-word;\n\t\t}\n\n\t\tstrong {\n\t\t\tdisplay: block;\n\t\t\tpadding-bottom: 0;\n\t\t\tfont-size: 14px;\n\t\t\tline-height: 14px;\n\t\t\tmin-height: 14px;\n\t\t}\n\n\t\t.row-options {\n\t\t\tdisplay: block;\n\t\t\topacity: 0;\n\t\t\tmargin: {\n\t\t\t\ttop: 5px;\n\t\t\t};\n\n\t\t\t@media screen and (max-width: 880px) {\n\t\t\t\topacity: 1;\n\t\t\t\tmargin: {\n\t\t\t\t\tbottom: 0;\n\t\t\t\t};\n\t\t\t}\n\n\t\t\ta {\n\t\t\t\tmargin-right: 4px;\n\n\t\t\t\t&:hover {\n\t\t\t\t\tcolor: darken($color-primary-hover, 10%);\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t\ta.delete-field {\n\t\t\t\tcolor: #a00;\n\n\t\t\t\t&:hover { color: #f00; }\n\t\t\t}\n\n\t\t\t&.active {\n\t\t\t\tvisibility: visible;\n\t\t\t}\n\t\t}\n\n\t}\n\n\t/* open */\n\t&.open {\n\n\t\t+ .acf-field-object {\n\t\t\tborder-top-color: #E1E1E1;\n\t\t}\n\n\t\t> .handle {\n\t\t\tbackground: $acf_blue;\n\t\t\tborder: darken($acf_blue, 2%) solid 1px;\n\t\t\ttext-shadow: #268FBB 0 1px 0;\n\t\t\tcolor: #fff;\n\t\t\tposition: relative;\n\t\t\tmargin: 0 -1px 0 -1px;\n\n\t\t\ta {\n\t\t\t\tcolor: #fff !important;\n\n\t\t\t\t&:hover {\n\t\t\t\t\ttext-decoration: underline !important;\n\t\t\t\t}\n\t\t\t}\n\n\t\t}\n\t}\n\n\n\t/*\n\t// debug\n\t&[data-save=\"meta\"] {\n\t\t> .handle {\n\t\t\tborder-left: #ffb700 solid 5px !important;\n\t\t}\n\t}\n\n\t&[data-save=\"settings\"] {\n\t\t> .handle {\n\t\t\tborder-left: #0ec563 solid 5px !important;\n\t\t}\n\t}\n*/\n\n\n\t/* hover */\n\t&:hover, &.-hover, &:focus-within {\n\n\t\t> .handle {\n\n\t\t\t.row-options {\n\t\t\t\topacity: 1;\n\t\t\t\tmargin-bottom: 0;\n\t\t\t}\n\n\t\t}\n\t}\n\n\n\t/* settings */\n\t> .settings {\n\t\tdisplay: none;\n\t\twidth: 100%;\n\n\t\t> .acf-table {\n\t\t\tborder: none;\n\t\t}\n\t}\n\n\n\t/* conditional logic */\n\t.rule-groups {\n\t\tmargin-top: 20px;\n\t}\n\n}\n\n\n/*----------------------------------------------------------------------------\n*\n* Postbox: Locations\n*\n*----------------------------------------------------------------------------*/\n\n.rule-groups {\n\n\th4 {\n\t\tmargin: 3px 0;\n\t}\n\n\t.rule-group {\n\t\tmargin: 0 0 5px;\n\n\t\th4 {\n\t\t\tmargin: 0 0 3px;\n\t\t}\n\n\t\ttd.param {\n\t\t\twidth: 35%;\n\t\t}\n\n\t\ttd.operator {\n\t\t\twidth: 20%;\n\t\t}\n\n\t\ttd.add {\n\t\t\twidth: 40px;\n\t\t}\n\n\t\ttd.remove {\n\t\t\twidth: 28px;\n\t\t\tvertical-align: middle;\n\n\t\t\ta {\n\t\t\t\twidth: 22px;\n\t\t\t\theight: 22px;\n\t\t\t\tvisibility: hidden;\n\n\t\t\t\t&:before {\n\t\t\t\t\tposition: relative;\n\t\t\t\t\ttop: -2px;\n\t\t\t\t\tfont-size: 16px;\n\t\t\t\t}\n\n\t\t\t}\n\t\t}\n\n\t\ttr:hover td.remove a {\n\t\t\tvisibility: visible;\n\t\t}\n\n\t\t// empty select\n\t\tselect:empty {\n\t\t\tbackground: #f8f8f8;\n\t\t}\n\t}\n\n\n\t&:not(.rule-groups-multiple) {\n\t\t.rule-group {\n\t\t\t&:first-child tr:first-child td.remove a {\n\t\t\t\t/* Don't allow user to delete the only rule group */\n\t\t\t\tvisibility: hidden !important;\n\t\t\t}\n\t\t}\n\t}\n}\n\n\n/*----------------------------------------------------------------------------\n*\n*\tOptions\n*\n*----------------------------------------------------------------------------*/\n\n#acf-field-group-options tr[data-name=\"hide_on_screen\"] li {\n\tfloat: left;\n\twidth: 33%;\n}\n\n@media (max-width: 1100px) {\n\n\t#acf-field-group-options tr[data-name=\"hide_on_screen\"] li {\n\t\twidth: 50%;\n\t}\n\n}\n\n\n/*----------------------------------------------------------------------------\n*\n*\tConditional Logic\n*\n*----------------------------------------------------------------------------*/\n\ntable.conditional-logic-rules {\n\tbackground: transparent;\n\tborder: 0 none;\n\tborder-radius: 0;\n}\n\ntable.conditional-logic-rules tbody td {\n\tbackground: transparent;\n\tborder: 0 none !important;\n\tpadding: 5px 2px !important;\n}\n\n\n/*----------------------------------------------------------------------------\n*\n*\tField: Tab\n*\n*----------------------------------------------------------------------------*/\n\n.acf-field-object-tab {\n\n\t// hide setting\n\t.acf-field-setting-name,\n\t.acf-field-setting-instructions,\n\t.acf-field-setting-required,\n\t.acf-field-setting-warning,\n\t.acf-field-setting-wrapper {\n\t\tdisplay: none;\n\t}\n\n\t// hide name\n\t.li-field-name {\n\t\tvisibility: hidden;\n\t}\n\n\tp:first-child {\n\t\tmargin: 0.5em 0;\n\t}\n\n\t// hide presentation setting tabs.\n\tli.acf-settings-type-presentation,\n\t.acf-field-settings-main-presentation {\n\t\tdisplay: none !important;\n\t}\n}\n\n/*----------------------------------------------------------------------------\n*\n*\tField: Accordion\n*\n*----------------------------------------------------------------------------*/\n\n.acf-field-object-accordion {\n\n\t// hide setting\n\t.acf-field-setting-name,\n\t.acf-field-setting-instructions,\n\t.acf-field-setting-required,\n\t.acf-field-setting-warning,\n\t.acf-field-setting-wrapper {\n\t\tdisplay: none;\n\t}\n\n\t// hide name\n\t.li-field-name {\n\t\tvisibility: hidden;\n\t}\n\n\tp:first-child {\n\t\tmargin: 0.5em 0;\n\t}\n\n\t// show settings\n\t.acf-field-setting-instructions {\n\t\tdisplay: block;\n\t}\n\n}\n\n\n/*----------------------------------------------------------------------------\n*\n*\tField: Message\n*\n*----------------------------------------------------------------------------*/\n\n.acf-field-object-message tr[data-name=\"name\"],\n.acf-field-object-message tr[data-name=\"instructions\"],\n.acf-field-object-message tr[data-name=\"required\"] {\n\tdisplay: none !important;\n}\n\n.acf-field-object-message .li-field-name {\n\tvisibility: hidden;\n}\n\n.acf-field-object-message textarea {\n\theight: 175px !important;\n}\n\n\n/*----------------------------------------------------------------------------\n*\n*\tField: Separator\n*\n*----------------------------------------------------------------------------*/\n\n.acf-field-object-separator tr[data-name=\"name\"],\n.acf-field-object-separator tr[data-name=\"instructions\"],\n.acf-field-object-separator tr[data-name=\"required\"] {\n\tdisplay: none !important;\n}\n\n\n/*----------------------------------------------------------------------------\n*\n*\tField: Date Picker\n*\n*----------------------------------------------------------------------------*/\n\n.acf-field-object-date-picker,\n.acf-field-object-time-picker,\n.acf-field-object-date-time-picker {\n\n\t.acf-radio-list {\n\n\t\tli {\n\t\t\tline-height: 25px;\n\t\t}\n\n\t\tspan {\n\t\t\tdisplay: inline-block;\n\t\t\tmin-width: 10em;\n\t\t}\n\n\t\tinput[type=\"text\"] {\n\t\t\twidth: 100px;\n\t\t}\n\t}\n\n}\n\n.acf-field-object-date-time-picker {\n\n\t.acf-radio-list {\n\n\t\tspan {\n\t\t\tmin-width: 15em;\n\t\t}\n\n\t\tinput[type=\"text\"] {\n\t\t\twidth: 200px;\n\t\t}\n\t}\n\n}\n\n\n/*--------------------------------------------------------------------------------------------\n*\n*\tSlug\n*\n*--------------------------------------------------------------------------------------------*/\n\n#slugdiv {\n\n\t.inside {\n\t\tpadding: 12px;\n\t\tmargin: 0;\n\t}\n\n\tinput[type=\"text\"] {\n\t\twidth: 100%;\n\t\theight: 28px;\n\t\tfont-size: 14px;\n\t}\n}\n\n\n/*--------------------------------------------------------------------------------------------\n*\n*\tRTL\n*\n*--------------------------------------------------------------------------------------------*/\n\nhtml[dir=\"rtl\"] .acf-field-object.open > .handle {\n\tmargin: 0\n}\n\n/*----------------------------------------------------------------------------\n*\n* Device\n*\n*----------------------------------------------------------------------------*/\n\n@media only screen and (max-width: 850px) {\n\n\ttr.acf-field,\n\ttd.acf-label,\n\ttd.acf-input {\n\t\tdisplay: block !important;\n\t\twidth: auto !important;\n\t\tborder: 0 none !important;\n\t}\n\n\ttr.acf-field {\n\t\tborder-top: #ededed solid 1px !important;\n\t\tmargin-bottom: 0 !important;\n\t}\n\n\ttd.acf-label {\n\t\tbackground: transparent !important;\n\t\tpadding-bottom: 0 !important;\n\n\t}\n\n}\n\n/*----------------------------------------------------------------------------\n*\n* Subtle background on accordion & tab fields to separate them from others\n*\n*----------------------------------------------------------------------------*/\n.post-type-acf-field-group {\n\n\t#acf-field-group-fields {\n\n\t\t.acf-field-object-tab,\n\t\t.acf-field-object-accordion {\n\t\t\tbackground-color: $gray-50;\n\t\t}\n\n\t}\n\n}","/*---------------------------------------------------------------------------------------------\n*\n* Global\n*\n*---------------------------------------------------------------------------------------------*/\n.acf-admin-page {\n\t#wpcontent {\n\t\tline-height: 140%;\n\t}\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* Links\n*\n*---------------------------------------------------------------------------------------------*/\n.acf-admin-page {\n\n\ta {\n\t\tcolor: $blue-500;\n\t}\n\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* Headings\n*\n*---------------------------------------------------------------------------------------------*/\n\n.acf-h1 {\n\tfont-size: 21px;\n\tfont-weight: 400;\n}\n\n.acf-h2 {\n\tfont-size: 18px;\n\tfont-weight: 400;\n}\n\n.acf-h3 {\n\tfont-size: 16px;\n\tfont-weight: 400;\n}\n\n.acf-admin-page,\n.acf-headerbar {\n\n\th1 {\n\t\t@extend .acf-h1;\n\t}\n\n\th2 {\n\t\t@extend .acf-h2;\n\t}\n\n\th3 {\n\t\t@extend .acf-h3;\n\t}\n\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* Paragraphs\n*\n*---------------------------------------------------------------------------------------------*/\n\n.acf-admin-page {\n\n\t.p1 {\n\t\tfont-size: 15px;\n\t}\n\n\t.p2 {\n\t\tfont-size: 14px;\n\t}\n\n\t.p3 {\n\t\tfont-size: 13.5px;\n\t}\n\n\t.p4 {\n\t\tfont-size: 13px;\n\t}\n\n\t.p5 {\n\t\tfont-size: 12.5px;\n\t}\n\n\t.p6 {\n\t\tfont-size: 12px;\n\t}\n\n\t.p7 {\n\t\tfont-size: 11.5px;\n\t}\n\n\t.p8 {\n\t\tfont-size: 11px;\n\t}\n\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* Page titles\n*\n*---------------------------------------------------------------------------------------------*/\n.acf-page-title {\n\t@extend .acf-h2;\n\tcolor: $gray-700;\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* Hide old / native WP titles from pages\n*\n*---------------------------------------------------------------------------------------------*/\n.acf-admin-page {\n\n\t.acf-settings-wrap h1 {\n\t\tdisplay: none !important;\n\t}\n\n\t#acf-admin-tools h1:not(.acf-field-group-pro-features-title, .acf-field-group-pro-features-title-sm) {\n\t\tdisplay: none !important;\n\t}\n\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* Small\n*\n*---------------------------------------------------------------------------------------------*/\n.acf-small {\n\t@extend .p6;\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* Link focus style\n*\n*---------------------------------------------------------------------------------------------*/\n.acf-admin-page {\n\ta:focus {\n\t\tbox-shadow: none;\n\t\toutline: none;\n\t}\n\n\ta:focus-visible {\n\t\tbox-shadow: 0 0 0 1px #4f94d4, 0 0 2px 1px rgb(79 148 212 / 80%);\n\t\toutline: 1px solid transparent;\n\t}\n}\n",".acf-admin-page {\n\n\t/*---------------------------------------------------------------------------------------------\n\t*\n\t* All Inputs\n\t*\n\t*---------------------------------------------------------------------------------------------*/\n\tinput[type=\"text\"],\n\tinput[type=\"search\"],\n\tinput[type=\"number\"],\n\ttextarea,\n\tselect {\n\t\tbox-sizing: border-box;\n\t\theight: 40px;\n\t\tpadding: {\n\t\t\tright: 12px;\n\t\t\tleft: 12px;\n\t\t};\n\t\tbackground-color: #fff;\n\t\tborder-color: $gray-300;\n\t\tbox-shadow: $elevation-01;\n\t\tborder-radius: $radius-md;\n\t\t/* stylelint-disable-next-line scss/at-extend-no-missing-placeholder */\n\t\t@extend .p4;\n\t\tcolor: $gray-700;\n\n\t\t&:focus {\n\t\t\toutline: $outline;\n\t\t\tborder-color: $blue-400;\n\t\t}\n\n\t\t&:disabled {\n\t\t\tbackground-color: $gray-50;\n\t\t\tcolor: lighten($gray-500, 10%);\n\t\t}\n\n\t\t&::placeholder {\n\t\t\tcolor: $gray-400;\n\t\t}\n\n\t}\n\n\t/*---------------------------------------------------------------------------------------------\n\t*\n\t* Read only text inputs\n\t*\n\t*---------------------------------------------------------------------------------------------*/\n\tinput[type=\"text\"] {\n\n\t\t&:read-only {\n\t\t\tbackground-color: $gray-50;\n\t\t\tcolor: $gray-400;\n\t\t}\n\n\t}\n\n\t/*---------------------------------------------------------------------------------------------\n\t*\n\t* Number fields\n\t*\n\t*---------------------------------------------------------------------------------------------*/\n\t.acf-field.acf-field-number {\n\n\t\t.acf-label,\n\t\t.acf-input input[type=\"number\"] {\n\t\t\tmax-width: 180px;\n\t\t}\n\n\t}\n\n\t/*---------------------------------------------------------------------------------------------\n\t*\n\t* Textarea\n\t*\n\t*---------------------------------------------------------------------------------------------*/\n\ttextarea {\n\t\tbox-sizing: border-box;\n\t\tpadding: {\n\t\t\ttop: 10px;\n\t\t\tbottom: 10px;\n\t\t};\n\t\theight: 80px;\n\t\tmin-height: 56px;\n\t}\n\n\t/*---------------------------------------------------------------------------------------------\n\t*\n\t* Select\n\t*\n\t*---------------------------------------------------------------------------------------------*/\n\tselect {\n\t\tmin-width: 160px;\n\t\tmax-width: 100%;\n\t\tpadding: {\n\t\t\tright: 40px;\n\t\t\tleft: 12px;\n\t\t};\n\t\tbackground-image: url('../../images/icons/icon-chevron-down.svg');\n\t\tbackground-position: right 10px top 50%;\n\t\tbackground-size: 20px;\n\t\t@extend .p4;\n\n\t\t&:hover,\n\t\t&:focus {\n\t\t\tcolor: $blue-500;\n\t\t}\n\n\t\t&::before {\n\t\t\tcontent: '';\n\t\t\tdisplay: block;\n\t\t\tposition: absolute;\n\t\t\ttop: 5px;\n\t\t\tleft: 5px;\n\t\t\twidth: 20px;\n\t\t\theight: 20px;\n\t\t}\n\n\t}\n\n\t&.rtl {\n\n\t\tselect {\n\t\t\tpadding: {\n\t\t\t\tright: 12px;\n\t\t\t\tleft: 40px;\n\t\t\t};\n\t\t\tbackground-position: left 10px top 50%;\n\t\t}\n\t}\n\n\t/*---------------------------------------------------------------------------------------------\n\t*\n\t* Radio Button & Checkbox base styling\n\t*\n\t*---------------------------------------------------------------------------------------------*/\n\tinput[type=\"radio\"],\n\tinput[type=\"checkbox\"] {\n\t\tbox-sizing: border-box;\n\t\twidth: 16px;\n\t\theight: 16px;\n\t\tpadding: 0;\n\t\tborder: {\n\t\t\twidth: 1px;\n\t\t\tstyle: solid;\n\t\t\tcolor: $gray-400;\n\t\t};\n\t\tbackground: #fff;\n\t\tbox-shadow: none;\n\n\t\t&:hover {\n\t\t\tbackground-color: $blue-50;\n\t\t\tborder-color: $blue-500;\n\t\t}\n\n\t\t&:checked,\n\t\t&:focus-visible {\n\t\t\tbackground-color: $blue-50;\n\t\t\tborder-color: $blue-500;\n\n\t\t\t&:before {\n\t\t\t\tcontent: '';\n\t\t\t\tposition: relative;\n\t\t\t\ttop: -1px;\n\t\t\t\tleft: -1px;\n\t\t\t\twidth: 16px;\n\t\t\t\theight: 16px;\n\t\t\t\tmargin: 0;\n\t\t\t\tpadding: 0;\n\t\t\t\tbackground-color: transparent;\n\t\t\t\tbackground-size: cover;\n\t\t\t\tbackground-repeat: no-repeat;\n\t\t\t\tbackground-position: center;\n\t\t\t}\n\n\t\t}\n\n\t\t&:active {\n\t\t\tbox-shadow: 0px 0px 0px 3px $blue-50, 0px 0px 0px rgba(255, 54, 54, 0.25);\n\t\t}\n\n\t\t&:disabled {\n\t\t\tbackground-color: $gray-50;\n\t\t\tborder-color: $gray-300;\n\t\t}\n\n\t}\n\n\t&.rtl {\n\n\t\tinput[type=\"radio\"],\n\t\tinput[type=\"checkbox\"] {\n\n\t\t\t&:checked,\n\t\t\t&:focus-visible {\n\n\t\t\t\t&:before {\n\t\t\t\t\tleft: 1px;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\n\t/*---------------------------------------------------------------------------------------------\n\t*\n\t* Radio Buttons\n\t*\n\t*---------------------------------------------------------------------------------------------*/\n\tinput[type=\"radio\"] {\n\n\t\t&:checked,\n\t\t&:focus {\n\n\t\t\t&:before {\n\t\t\t\tbackground-image: url('../../images/field-states/radio-active.svg');\n\t\t\t}\n\n\t\t}\n\n\t}\n\n\t/*---------------------------------------------------------------------------------------------\n\t*\n\t* Checkboxes\n\t*\n\t*---------------------------------------------------------------------------------------------*/\n\tinput[type=\"checkbox\"] {\n\n\t\t&:checked,\n\t\t&:focus {\n\n\t\t\t&:before {\n\t\t\t\tbackground-image: url('../../images/field-states/checkbox-active.svg');\n\t\t\t}\n\n\t\t}\n\n\t}\n\n\t/*---------------------------------------------------------------------------------------------\n\t*\n\t* Radio Buttons & Checkbox lists\n\t*\n\t*---------------------------------------------------------------------------------------------*/\n\t.acf-radio-list,\n\t.acf-checkbox-list {\n\n\t\tli input[type=\"radio\"],\n\t\tli input[type=\"checkbox\"] {\n\t\t\tmargin: {\n\t\t\t\tright: 6px;\n\t\t\t};\n\t\t}\n\n\t\t&.acf-bl li {\n\t\t\tmargin: {\n\t\t\t\tbottom: 8px;\n\t\t\t};\n\n\t\t\t&:last-of-type {\n\t\t\t\tmargin: {\n\t\t\t\t\tbottom: 0;\n\t\t\t\t};\n\t\t\t}\n\n\n\t\t}\n\n\t\tlabel {\n\t\t\tdisplay: flex;\n\t\t\talign-items: center;\n\t\t\talign-content: center;\n\t\t}\n\n\t}\n\n\t/*---------------------------------------------------------------------------------------------\n\t*\n\t* ACF Switch\n\t*\n\t*---------------------------------------------------------------------------------------------*/\n\t.acf-switch {\n\t\twidth: 42px;\n\t\theight: 24px;\n\t\tborder: none;\n\t\tbackground-color: $gray-300;\n\t\tborder-radius: 12px;\n\n\t\t&:hover {\n\t\t\tbackground-color: $gray-400;\n\t\t}\n\n\t\t&:active {\n\t\t\tbox-shadow: 0px 0px 0px 3px $blue-50, 0px 0px 0px rgba(255, 54, 54, 0.25);\n\t\t}\n\n\t\t&.-on {\n\t\t\tbackground-color: $color-primary;\n\n\t\t\t&:hover {\n\t\t\t\tbackground-color: $color-primary-hover;\n\t\t\t}\n\n\t\t\t.acf-switch-slider {\n\t\t\t\tleft: 20px;\n\t\t\t}\n\n\t\t}\n\n\t\t.acf-switch-off,\n\t\t.acf-switch-on {\n\t\t\tvisibility: hidden;\n\t\t}\n\n\t\t.acf-switch-slider {\n\t\t\twidth: 20px;\n\t\t\theight: 20px;\n\t\t\tborder: none;\n\t\t\tborder-radius: 100px;\n\t\t\tbox-shadow: 0px 1px 3px rgba(16, 24, 40, 0.1), 0px 1px 2px rgba(16, 24, 40, 0.06);\n\t\t}\n\n\t}\n\n\t.acf-field-true-false {\n\t\tdisplay: flex;\n\t\talign-items: flex-start;\n\n\t\t.acf-label {\n\t\t\torder: 2;\n\t\t\tdisplay: block;\n\t\t\talign-items: center;\n\t\t\tmargin: {\n\t\t\t\ttop: 2px;\n\t\t\t\tbottom: 0;\n\t\t\t\tleft: 12px;\n\t\t\t};\n\n\t\t\tlabel {\n\t\t\t\tmargin: {\n\t\t\t\t\tbottom: 0;\n\t\t\t\t};\n\t\t\t}\n\n\t\t\t.acf-tip {\n\t\t\t\tmargin: {\n\t\t\t\t\tleft: 12px;\n\t\t\t\t};\n\t\t\t}\n\n\t\t\t.description {\n\t\t\t\tdisplay: block;\n\t\t\t\tmargin: {\n\t\t\t\t\ttop: 2px;\n\t\t\t\t\tleft: 0;\n\t\t\t\t};\n\t\t\t}\n\t\t}\n\n\t}\n\n\t&.rtl {\n\n\t\t.acf-field-true-false {\n\n\t\t\t.acf-label {\n\t\t\t\tmargin: {\n\t\t\t\t\tright: 12px;\n\t\t\t\t\tleft: 0;\n\t\t\t\t};\n\t\t\t}\n\n\t\t\t.acf-tip {\n\t\t\t\tmargin: {\n\t\t\t\t\tright: 12px;\n\t\t\t\t\tleft: 0;\n\t\t\t\t};\n\t\t\t}\n\t\t}\n\t}\n\n\t/*---------------------------------------------------------------------------------------------\n\t*\n\t* File input button\n\t*\n\t*---------------------------------------------------------------------------------------------*/\n\n\tinput::file-selector-button {\n\t\tbox-sizing: border-box;\n\t\tmin-height: 40px;\n\t\tmargin: {\n\t\t\tright: 16px;\n\t\t};\n\t\tpadding: {\n\t\t\ttop: 8px;\n\t\t\tright: 16px;\n\t\t\tbottom: 8px;\n\t\t\tleft: 16px;\n\t\t};\n\t\tbackground-color: transparent;\n\t\tcolor: $color-primary !important;\n\t\tborder-radius: $radius-md;\n\t\tborder: {\n\t\t\twidth: 1px;\n\t\t\tstyle: solid;\n\t\t\tcolor: $color-primary;\n\t\t};\n\t\ttext-decoration: none;\n\n\t\t&:hover {\n\t\t\tborder-color: $color-primary-hover;\n\t\t\tcursor: pointer;\n\t\t\tcolor: $color-primary-hover !important;\n\t\t}\n\n\t}\n\n\n\t/*---------------------------------------------------------------------------------------------\n\t*\n\t* Action Buttons\n\t*\n\t*---------------------------------------------------------------------------------------------*/\n\t.button {\n\t\tdisplay: inline-flex;\n\t\talign-items: center;\n\t\theight: 40px;\n\t\tpadding: {\n\t\t\tright: 16px;\n\t\t\tleft: 16px;\n\t\t};\n\t\tbackground-color: transparent;\n\t\tborder-width: 1px;\n\t\tborder-style: solid;\n\t\tborder-color: $blue-500;\n\t\tborder-radius: $radius-md;\n\t\t@extend .p4;\n\t\tcolor: $blue-500;\n\n\t\t&:hover {\n\t\t\tbackground-color: lighten($blue-50, 2%);\n\t\t\tborder-color: $color-primary;\n\t\t\tcolor: $color-primary;\n\t\t}\n\n\t\t&:focus {\n\t\t\tbackground-color: lighten($blue-50, 2%);\n\t\t\toutline: $outline;\n\t\t\tcolor: $color-primary;\n\t\t}\n\n\t}\n\n\t/*---------------------------------------------------------------------------------------------\n\t*\n\t* Edit field group header\n\t*\n\t*---------------------------------------------------------------------------------------------*/\n\t.edit-field-group-header {\n\t\tdisplay: block !important;\n\t}\n\n\t/*---------------------------------------------------------------------------------------------\n\t*\n\t* Select2 inputs\n\t*\n\t*---------------------------------------------------------------------------------------------*/\n\t.acf-input,\n\t.rule-groups {\n\n\t\t.select2-container.-acf .select2-selection {\n\t\t\tborder: none;\n\t\t\tline-height: 1;\n\t\t}\n\n\t\t.select2-container.-acf .select2-selection__rendered {\n\t\t\tbox-sizing: border-box;\n\t\t\tpadding: {\n\t\t\t\tright: 0;\n\t\t\t\tleft: 0;\n\t\t\t};\n\t\t\tbackground-color: #fff;\n\t\t\tborder: {\n\t\t\t\twidth: 1px;\n\t\t\t\tstyle: solid;\n\t\t\t\tcolor: $gray-300;\n\t\t\t};\n\t\t\tbox-shadow: $elevation-01;\n\t\t\tborder-radius: $radius-md;\n\t\t\t/* stylelint-disable-next-line scss/at-extend-no-missing-placeholder */\n\t\t\t@extend .p4;\n\t\t\tcolor: $gray-700;\n\t\t}\n\n\t\t.acf-conditional-select-name {\n\t\t\tmin-width: 180px;\n\t\t\twhite-space: nowrap;\n\t\t\toverflow: hidden;\n\t\t\ttext-overflow: ellipsis;\n\t\t}\n\n\t\t.acf-conditional-select-id {\n\t\t\tpadding-right: 30px;\n\t\t}\n\n\t\t.value .select2-container--focus {\n\t\t\theight: 40px;\n\t\t}\n\n\t\t.value .select2-container--open .select2-selection__rendered {\n\t\t\tborder-color: $blue-400;\n\t\t}\n\n\t\t.select2-container--focus {\n\t\t\toutline: $outline;\n\t\t\tborder-color: $blue-400;\n\t\t\tborder-radius: $radius-md;\n\n\t\t\t.select2-selection__rendered {\n\t\t\t\tborder-color: $blue-400 !important;\n\t\t\t}\n\n\t\t\t&.select2-container--below.select2-container--open {\n\n\t\t\t\t.select2-selection__rendered {\n\t\t\t\t\tborder-bottom-right-radius: 0 !important;\n\t\t\t\t\tborder-bottom-left-radius: 0 !important;\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t\t&.select2-container--above.select2-container--open {\n\n\t\t\t\t.select2-selection__rendered {\n\t\t\t\t\tborder-top-right-radius: 0 !important;\n\t\t\t\t\tborder-top-left-radius: 0 !important;\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t}\n\n\t\t.select2-container .select2-search--inline .select2-search__field {\n\t\t\tmargin: 0;\n\t\t\tpadding: {\n\t\t\t\tleft: 6px;\n\t\t\t};\n\n\t\t\t&:focus {\n\t\t\t\toutline: none;\n\t\t\t\tborder: none;\n\t\t\t}\n\n\t\t}\n\n\t\t.select2-container--default .select2-selection--multiple .select2-selection__rendered {\n\t\t\tpadding: {\n\t\t\t\ttop: 0;\n\t\t\t\tright: 6px;\n\t\t\t\tbottom: 0;\n\t\t\t\tleft: 6px;\n\t\t\t};\n\t\t}\n\n\t\t.select2-selection__clear {\n\t\t\twidth: 18px;\n\t\t\theight: 18px;\n\t\t\tmargin: {\n\t\t\t\ttop: 12px;\n\t\t\t\tright: 1px;\n\t\t\t};\n\t\t\ttext-indent: 100%;\n\t\t\twhite-space: nowrap;\n\t\t\toverflow: hidden;\n\t\t\tcolor: #fff;\n\n\t\t\t&:before {\n\t\t\t\tcontent: '';\n\t\t\t\t$icon-size: 16px;\n\t\t\t\tdisplay: block;\n\t\t\t\twidth: $icon-size;\n\t\t\t\theight: $icon-size;\n\t\t\t\ttop: 0;\n\t\t\t\tleft: 0;\n\t\t\t\tborder: none;\n\t\t\t\tborder-radius: 0;\n\t\t\t\t-webkit-mask-size: contain;\n\t\t\t\tmask-size: contain;\n\t\t\t\t-webkit-mask-repeat: no-repeat;\n\t\t\t\tmask-repeat: no-repeat;\n\t\t\t\t-webkit-mask-position: center;\n\t\t\t\tmask-position: center;\n\t\t\t\t-webkit-mask-image: url('../../images/icons/icon-close.svg');\n\t\t\t\tmask-image: url('../../images/icons/icon-close.svg');\n\t\t\t\tbackground-color: $gray-400;\n\t\t\t}\n\n\t\t\t&:hover::before {\n\t\t\t\tbackground-color: $blue-500;\n\t\t\t}\n\t\t}\n\t}\n\n\t/*---------------------------------------------------------------------------------------------\n\t*\n\t* ACF label\n\t*\n\t*---------------------------------------------------------------------------------------------*/\n\t.acf-label {\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\tjustify-content: space-between;\n\n\t\t.acf-icon-help {\n\t\t\t$icon-size: 18px;\n\t\t\twidth: $icon-size;\n\t\t\theight: $icon-size;\n\t\t\tbackground-color: $gray-400;\n\t\t}\n\n\t\tlabel {\n\t\t\tmargin: {\n\t\t\t\tbottom: 0;\n\t\t\t};\n\t\t}\n\n\t\t.description {\n\t\t\tmargin: {\n\t\t\t\ttop: 2px;\n\t\t\t};\n\t\t}\n\n\t}\n\n\t/*---------------------------------------------------------------------------------------------\n\t*\n\t* Tooltip for field name field setting (result of a fix for keyboard navigation)\n\t*\n\t*---------------------------------------------------------------------------------------------*/\n\t.acf-field-setting-name .acf-tip {\n\t\tposition: absolute;\n\t\ttop: 0;\n\t\tleft: 654px;\n\t\tcolor: #98A2B3;\n\n\t\t@at-root .rtl#{&} {\n\t\t\tleft: auto;\n\t\t\tright: 654px;\n\t\t}\n\n\t\t.acf-icon-help {\n\t\t\twidth: 18px;\n\t\t\theight: 18px;\n\t\t}\n\t}\n\n\t/* Field Type Selection select2 */\n\t.acf-field-setting-type,\n\t.acf-field-permalink-rewrite,\n\t.acf-field-query-var,\n\t.acf-field-capability,\n\t.acf-field-parent-slug,\n\t.acf-field-data-storage,\n\t.acf-field-manage-terms,\n\t.acf-field-edit-terms,\n\t.acf-field-delete-terms,\n\t.acf-field-assign-terms,\n\t.acf-field-meta-box,\n\t.rule-groups {\n\n\t\t.select2-container.-acf {\n\t\t\tmin-height: 40px;\n\t\t}\n\n\t\t.select2-container--default .select2-selection--single {\n\n\t\t\t.select2-selection__rendered {\n\t\t\t\tdisplay: flex;\n\t\t\t\talign-items: center;\n\t\t\t\tposition: relative;\n\t\t\t\tz-index: 800;\n\t\t\t\tmin-height: 40px;\n\t\t\t\tpadding: {\n\t\t\t\t\ttop: 0;\n\t\t\t\t\tright: 12px;\n\t\t\t\t\tbottom: 0;\n\t\t\t\t\tleft: 12px;\n\t\t\t\t};\n\t\t\t}\n\n\t\t\t.field-type-icon {\n\t\t\t\ttop: auto;\n\t\t\t\twidth: 18px;\n\t\t\t\theight: 18px;\n\t\t\t\tmargin: {\n\t\t\t\t\tright: 2px;\n\t\t\t\t};\n\n\t\t\t\t&:before {\n\t\t\t\t\twidth: 9px;\n\t\t\t\t\theight: 9px;\n\t\t\t\t}\n\n\t\t\t}\n\t\t}\n\n\t\t.select2-container--open .select2-selection__rendered {\n\t\t\tborder-color: $blue-300 !important;\n\t\t\tborder-bottom-color: $gray-300 !important;\n\t\t}\n\n\t\t.select2-container--open.select2-container--below .select2-selection__rendered {\n\t\t\tborder-bottom-right-radius: 0 !important;\n\t\t\tborder-bottom-left-radius: 0 !important;\n\t\t}\n\n\t\t.select2-container--open.select2-container--above .select2-selection__rendered {\n\t\t\tborder-top-right-radius: 0 !important;\n\t\t\tborder-top-left-radius: 0 !important;\n\t\t\tborder-bottom-color: $blue-300 !important;\n\t\t\tborder-top-color: $gray-300 !important;\n\t\t}\n\n\t\t// icon margins\n\t\t.acf-selection.has-icon {\n\t\t\tmargin-left: 6px;\n\t\n\t\t\t@at-root .rtl#{&} {\n\t\t\t\tmargin-right: 6px;\n\t\t\t}\n\t\t}\n\t\t\n\t\t// Dropdown icon\n\t\t.select2-selection__arrow {\n\t\t\twidth: 20px;\n\t\t\theight: 20px;\n\t\t\ttop: calc(50% - 10px);\n\t\t\tright: 12px;\n\t\t\tbackground-color: transparent;\n\t\t\t\n\t\t\t&:after {\n\t\t\t\tcontent: \"\";\n\t\t\t\t$icon-size: 20px;\n\t\t\t\tdisplay: block;\n\t\t\t\tposition: absolute;\n\t\t\t\tz-index: 850;\n\t\t\t\ttop: 1px;\n\t\t\t\tleft: 0;\n\t\t\t\twidth: $icon-size;\n\t\t\t\theight: $icon-size;\n\t\t\t\t-webkit-mask-image: url(\"../../images/icons/icon-chevron-down.svg\");\n\t\t\t\tmask-image: url(\"../../images/icons/icon-chevron-down.svg\");\n\t\t\t\tbackground-color: $gray-500;\n\t\t\t\tborder: none;\n\t\t\t\tborder-radius: 0;\n\t\t\t\t-webkit-mask-size: contain;\n\t\t\t\tmask-size: contain;\n\t\t\t\t-webkit-mask-repeat: no-repeat;\n\t\t\t\tmask-repeat: no-repeat;\n\t\t\t\t-webkit-mask-position: center;\n\t\t\t\tmask-position: center;\n\t\t\t\ttext-indent: 500%;\n\t\t\t\twhite-space: nowrap;\n\t\t\t\toverflow: hidden;\n\t\t\t}\n\t\t\t\n\t\t\tb[role=\"presentation\"] {\n\t\t\t\tdisplay: none;\n\t\t\t}\n\t\t\t\n\t\t}\n\n\t\t// Open state\n\t\t.select2-container--open {\n\t\t\t\n\t\t\t// Swap chevron icon\n\t\t\t.select2-selection__arrow:after {\n\t\t\t\t-webkit-mask-image: url(\"../../images/icons/icon-chevron-up.svg\");\n\t\t\t\tmask-image: url(\"../../images/icons/icon-chevron-up.svg\");\n\t\t\t}\n\t\t\t\n\t\t}\n\n\t}\n\n\t.acf-term-search-term-name {\n\t\tbackground-color: $gray-50;\n\t\tborder-top: 1px solid $gray-200;\n\t\tborder-bottom: 1px solid $gray-200;\n\t\tcolor: $gray-400;\n\t\tpadding: 5px 5px 5px 10px;\n\t\twidth: 100%;\n\t\tmargin: 0;\n\t\tdisplay: block;\n\t\tfont-weight: 300;\n\t}\n\n\t.field-type-select-results {\n\t\tposition: relative;\n\t\ttop: 4px;\n\t\tz-index: 1002;\n\t\tborder-radius: 0 0 $radius-md $radius-md;\n\t\tbox-shadow: 0px 8px 24px 4px rgba(16, 24, 40, 0.12);\n\n\t\t&.select2-dropdown--above {\n\t\t\tdisplay: flex;\n\t\t\tflex-direction: column-reverse;\t \n\t\t\ttop: 0;\n\t\t\tborder-radius: $radius-md $radius-md 0 0;\n\t\t\tz-index: 99999;\n\t\t}\n\t\t\n\t\t@at-root .select2-container.select2-container--open#{&} {\n\t\t\t// outline: 3px solid $blue-50;\n\t\t\tbox-shadow: 0px 0px 0px 3px #EBF5FA, 0px 8px 24px 4px rgba(16, 24, 40, 0.12);\n\t\t}\n\n\t\t// icon margins\n\t\t.acf-selection.has-icon {\n\t\t\tmargin-left: 6px;\n\n\t\t\t@at-root .rtl#{&} {\n\t\t\t\tmargin-right: 6px;\n\t\t\t}\n\t\t}\n\n\t\t// Search field\n\t\t.select2-search {\n\t\t\tposition: relative;\n\t\t\tmargin: 0;\n\t\t\tpadding: 0;\n\n\t\t\t&--dropdown {\n\n\t\t\t\t&:after {\n\t\t\t\t\tcontent: \"\";\n\t\t\t\t\t$icon-size: 16px;\n\t\t\t\t\tdisplay: block;\n\t\t\t\t\tposition: absolute;\n\t\t\t\t\ttop: 12px;\n\t\t\t\t\tleft: 13px;\n\t\t\t\t\twidth: $icon-size;\n\t\t\t\t\theight: $icon-size;\n\t\t\t\t\t-webkit-mask-image: url(\"../../images/icons/icon-search.svg\");\n\t\t\t\t\tmask-image: url(\"../../images/icons/icon-search.svg\");\n\t\t\t\t\tbackground-color: $gray-400;\n\t\t\t\t\tborder: none;\n\t\t\t\t\tborder-radius: 0;\n\t\t\t\t\t-webkit-mask-size: contain;\n\t\t\t\t\tmask-size: contain;\n\t\t\t\t\t-webkit-mask-repeat: no-repeat;\n\t\t\t\t\tmask-repeat: no-repeat;\n\t\t\t\t\t-webkit-mask-position: center;\n\t\t\t\t\tmask-position: center;\n\t\t\t\t\ttext-indent: 500%;\n\t\t\t\t\twhite-space: nowrap;\n\t\t\t\t\toverflow: hidden;\n\n\t\t\t\t\t@at-root .rtl#{&} {\n\t\t\t\t\t\tright: 12px;\n\t\t\t\t\t\tleft: auto;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t.select2-search__field {\n\t\t\t\tpadding-left: 38px;\n\n\t\t\t\tborder-right: 0;\n\t\t\t\tborder-bottom: 0;\n\t\t\t\tborder-left: 0;\n\t\t\t\tborder-radius: 0;\n\n\t\t\t\t@at-root .rtl#{&} {\n\t\t\t\t\tpadding-right: 38px;\n\t\t\t\t\tpadding-left: 0;\n\t\t\t\t}\n\n\t\t\t\t&:focus {\n\t\t\t\t\tborder-top-color: $gray-300;\n\t\t\t\t\toutline: 0;\n\t\t\t\t}\n\t\t\t}\n\n\t\t}\n\n\t\t.select2-results__options {\n\t\t\tmax-height: 440px;\n\t\t}\n\t\t\n\t\t.select2-results__option {\n\n\t\t\t.select2-results__option--highlighted {\n\t\t\t\tbackground-color: $blue-500 !important;\n\t\t\t\tcolor: $gray-50 !important;\n\t\t\t}\n\t\t}\n\n\t\t// List items\n\t\t.select2-results__option .select2-results__option {\n\t\t\tdisplay: inline-flex;\n\t\t\tposition: relative;\n\t\t\twidth: calc(100% - 24px);\n\t\t\tmin-height: 32px;\n\t\t\tpadding: {\n\t\t\t\ttop: 0;\n\t\t\t\tright: 12px;\n\t\t\t\tbottom: 0;\n\t\t\t\tleft: 12px;\n\t\t\t}\n\t\t\talign-items: center;\n\t\t\t\n\t\t\t.field-type-icon {\n\t\t\t\ttop: auto;\n\t\t\t\twidth: 18px;\n\t\t\t\theight: 18px;\n\t\t\t\tmargin: {\n\t\t\t\t\tright: 2px;\n\t\t\t\t};\n\t\t\t\tbox-shadow: 0 0 0 1px $gray-50;\n\t\t\t\n\t\t\t\t&:before {\n\t\t\t\t\twidth: 9px;\n\t\t\t\t\theight: 9px;\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t}\n\n\t\t.select2-results__option[aria-selected=\"true\"] {\n\t\t\tbackground-color: $blue-50 !important;\n\t\t\tcolor: $gray-700 !important;\n\t\t\t\n\t\t\t&:after {\n\t\t\t\tcontent: \"\";\n\t\t\t\t$icon-size: 16px;\n\t\t\t\tright: 13px;\n\t\t\t\tposition: absolute;\n\t\t\t\twidth: $icon-size;\n\t\t\t\theight: $icon-size;\n\t\t\t\t-webkit-mask-image: url(\"../../images/icons/icon-check.svg\");\n\t\t\t\tmask-image: url(\"../../images/icons/icon-check.svg\");\n\t\t\t\tbackground-color: $blue-500;\n\t\t\t\tborder: none;\n\t\t\t\tborder-radius: 0;\n\t\t\t\t-webkit-mask-size: contain;\n\t\t\t\tmask-size: contain;\n\t\t\t\t-webkit-mask-repeat: no-repeat;\n\t\t\t\tmask-repeat: no-repeat;\n\t\t\t\t-webkit-mask-position: center;\n\t\t\t\tmask-position: center;\n\t\t\t\ttext-indent: 500%;\n\t\t\t\twhite-space: nowrap;\n\t\t\t\toverflow: hidden;\n\n\t\t\t\t@at-root .rtl#{&} {\n\t\t\t\t\tleft: 13px;\n\t\t\t\t\tright: auto;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t.select2-results__group {\n\t\t\tdisplay: inline-flex;\n\t\t\talign-items: center;\n\t\t\twidth: calc(100% - 24px);\n\t\t\tmin-height: 25px;\n\t\t\tbackground-color: $gray-50;\n\t\t\tborder-top: {\n\t\t\t\twidth: 1px;\n\t\t\t\tstyle: solid;\n\t\t\t\tcolor: $gray-200;\n\t\t\t};\n\t\t\tborder-bottom: {\n\t\t\t\twidth: 1px;\n\t\t\t\tstyle: solid;\n\t\t\t\tcolor: $gray-200;\n\t\t\t};\n\t\t\tcolor: $gray-400;\n\t\t\tfont-size: 11px;\n\t\t\tmargin: {\n\t\t\t\tbottom: 0;\n\t\t\t};\n\t\t\tpadding: {\n\t\t\t\ttop: 0;\n\t\t\t\tright: 12px;\n\t\t\t\tbottom: 0;\n\t\t\t\tleft: 12px;\n\t\t\t};\n\t\t\tfont-weight: normal;\n\t\t}\n\t}\n\t\n\t/*---------------------------------------------------------------------------------------------\n\t*\n\t* RTL arrow position\n\t*\n\t*---------------------------------------------------------------------------------------------*/\n\t&.rtl {\n\n\t\t.acf-field-setting-type,\n\t\t.acf-field-permalink-rewrite,\n\t\t.acf-field-query-var {\n\n\t\t\t.select2-selection__arrow:after {\n\t\t\t\tright: auto;\n\t\t\t\tleft: 10px;\n\t\t\t}\n\t\t}\n\t}\n}\n\n.rtl.post-type-acf-field-group,\n.rtl.acf-internal-post-type {\n\n\t.acf-field-setting-name .acf-tip {\n\t\tleft: auto;\n\t\tright: 654px;\n\t}\n}","/*----------------------------------------------------------------------------\n*\n* Container sizes\n*\n*----------------------------------------------------------------------------*/\n.post-type-acf-field-group .metabox-holder.columns-1 {\n\t#acf-field-group-fields,\n\t#acf-field-group-options,\n\t.meta-box-sortables.ui-sortable,\n\t.notice {\n\t\tmax-width: $max-width;\n\t}\n}\n\n/*----------------------------------------------------------------------------\n*\n* Max width for notices in 1 column edit field group layout\n*\n*----------------------------------------------------------------------------*/\n.post-type-acf-field-group.columns-1 {\n\t.notice {\n\t\tmax-width: $max-width;\n\t}\n}\n\n/*----------------------------------------------------------------------------\n*\n* Widen edit field group headerbar for 2 column layout\n*\n*----------------------------------------------------------------------------*/\n.post-type-acf-field-group.columns-2 {\n\t.acf-headerbar .acf-headerbar-inner {\n\t\tmax-width: 100%;\n\t}\n}\n\n/*----------------------------------------------------------------------------\n*\n* Post stuff\n*\n*----------------------------------------------------------------------------*/\n.post-type-acf-field-group {\n\t#poststuff {\n\t\tmargin: {\n\t\t\ttop: 0;\n\t\t\tright: 0;\n\t\t\tbottom: 0;\n\t\t\tleft: 0;\n\t\t}\n\t\tpadding: {\n\t\t\ttop: 0;\n\t\t\tright: 0;\n\t\t\tbottom: 0;\n\t\t\tleft: 0;\n\t\t}\n\t}\n}\n\n/*----------------------------------------------------------------------------\n*\n* Table\n*\n*----------------------------------------------------------------------------*/\n.post-type-acf-field-group {\n\t#acf-field-group-fields .acf-field-list-wrap {\n\t\toverflow: hidden;\n\t\tborder: none;\n\t\tborder-radius: 0 0 $radius-lg $radius-lg;\n\t\tbox-shadow: $elevation-01;\n\n\t\t&.-empty {\n\t\t\tborder-top: {\n\t\t\t\twidth: 1px;\n\t\t\t\tstyle: solid;\n\t\t\t\tcolor: $gray-200;\n\t\t\t}\n\n\t\t\t.acf-thead,\n\t\t\t.acf-tfoot {\n\t\t\t\tdisplay: none;\n\t\t\t}\n\n\t\t\t.no-fields-message {\n\t\t\t\tmin-height: 280px;\n\t\t\t}\n\t\t}\n\t}\n}\n\n/*----------------------------------------------------------------------------\n*\n* Table header\n*\n*----------------------------------------------------------------------------*/\n.post-type-acf-field-group {\n\t.acf-thead {\n\t\tbackground-color: $gray-50;\n\t\tborder-top: {\n\t\t\twidth: 1px;\n\t\t\tstyle: solid;\n\t\t\tcolor: $gray-200;\n\t\t}\n\t\tborder-bottom: {\n\t\t\twidth: 1px;\n\t\t\tstyle: solid;\n\t\t\tcolor: $gray-200;\n\t\t}\n\n\t\tli {\n\t\t\tdisplay: flex;\n\t\t\talign-items: center;\n\t\t\tmin-height: 48px;\n\t\t\tpadding: {\n\t\t\t\ttop: 0;\n\t\t\t\tbottom: 0;\n\t\t\t}\n\t\t\t@extend .p4;\n\t\t\tcolor: $gray-700;\n\t\t\tfont-weight: 500;\n\t\t}\n\t}\n}\n\n/*----------------------------------------------------------------------------\n*\n* Table body\n*\n*----------------------------------------------------------------------------*/\n.post-type-acf-field-group {\n\t.acf-field-object {\n\t\tborder-top: {\n\t\t\twidth: 1px;\n\t\t\tstyle: solid;\n\t\t\tcolor: $gray-200;\n\t\t}\n\n\t\t&:hover {\n\t\t\t.acf-sortable-handle:before {\n\t\t\t\tdisplay: inline-flex;\n\t\t\t}\n\t\t}\n\n\t\t// Add divider to show which fields have endpoint\n\t\t&.acf-field-is-endpoint {\n\t\t\t&:before {\n\t\t\t\tdisplay: block;\n\t\t\t\tcontent: \"\";\n\t\t\t\theight: 2px;\n\t\t\t\twidth: 100%;\n\t\t\t\tbackground: $gray-300;\n\t\t\t\tmargin-top: -1px;\n\t\t\t}\n\n\t\t\t&.acf-field-object-accordion {\n\t\t\t\t&:before {\n\t\t\t\t\tdisplay: none;\n\t\t\t\t}\n\n\t\t\t\t&:after {\n\t\t\t\t\tdisplay: block;\n\t\t\t\t\tcontent: \"\";\n\t\t\t\t\theight: 2px;\n\t\t\t\t\twidth: 100%;\n\t\t\t\t\tbackground: $gray-300;\n\t\t\t\t\tz-index: 500;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t&:hover {\n\t\t\tbackground-color: lighten($blue-50, 3%);\n\t\t}\n\n\t\t&.open {\n\t\t\tbackground-color: #fff;\n\t\t\tborder-top-color: $blue-200;\n\t\t}\n\n\t\t&.open .handle {\n\t\t\tbackground-color: $blue-100;\n\t\t\tborder: none;\n\t\t\ttext-shadow: none;\n\n\t\t\ta {\n\t\t\t\tcolor: $link-color !important;\n\n\t\t\t\t&.delete-field {\n\t\t\t\t\tcolor: #a00 !important;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t.acf-field-setting-type .acf-hl {\n\t\t\tmargin: 0;\n\n\t\t\tli {\n\t\t\t\twidth: auto;\n\n\t\t\t\t&:first-child {\n\t\t\t\t\tflex-grow: 1;\n\t\t\t\t\tmargin-left: -10px;\n\t\t\t\t}\n\n\t\t\t\t&:nth-child(2) {\n\t\t\t\t\tpadding-right: 0;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tul.acf-hl {\n\t\t\tdisplay: flex;\n\t\t\talign-items: stretch;\n\t\t}\n\n\t\t.handle li {\n\t\t\tdisplay: flex;\n\t\t\talign-items: top;\n\t\t\tflex-wrap: wrap;\n\t\t\tmin-height: 60px;\n\t\t\t@extend .p4;\n\t\t\tcolor: $gray-700;\n\n\t\t\t&.li-field-label {\n\t\t\t\tdisplay: flex;\n\t\t\t\tflex-wrap: wrap;\n\t\t\t\tjustify-content: flex-start;\n\t\t\t\talign-content: flex-start;\n\t\t\t\talign-items: flex-start;\n\t\t\t\twidth: auto;\n\n\t\t\t\ta.edit-field {\n\t\t\t\t\t@extend .p4;\n\t\t\t\t}\n\n\t\t\t\tstrong {\n\t\t\t\t\tfont-weight: 500;\n\t\t\t\t}\n\n\t\t\t\t.row-options {\n\t\t\t\t\twidth: 100%;\n\t\t\t\t}\n\n\t\t\t\t.row-options a {\n\t\t\t\t\t@extend .p6;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n\n/*----------------------------------------------------------------------------\n*\n* Table footer\n*\n*----------------------------------------------------------------------------*/\n.post-type-acf-field-group {\n\t.acf-tfoot {\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\tjustify-content: flex-end;\n\t\tmin-height: 80px;\n\t\tbox-sizing: border-box;\n\t\tpadding: {\n\t\t\ttop: 8px;\n\t\t\tright: 24px;\n\t\t\tbottom: 8px;\n\t\t\tleft: 24px;\n\t\t}\n\t\tbackground-color: #fff;\n\t\tborder-top: {\n\t\t\twidth: 1px;\n\t\t\tstyle: solid;\n\t\t\tcolor: $gray-200;\n\t\t}\n\n\t\t.acf-fr {\n\t\t\tmargin: {\n\t\t\t\ttop: 0;\n\t\t\t\tright: 0;\n\t\t\t\tbottom: 0;\n\t\t\t\tleft: 0;\n\t\t\t}\n\t\t\tpadding: {\n\t\t\t\ttop: 0;\n\t\t\t\tright: 0;\n\t\t\t\tbottom: 0;\n\t\t\t\tleft: 0;\n\t\t\t}\n\t\t}\n\t}\n}\n\n/*----------------------------------------------------------------------------\n*\n* Edit field settings\n*\n*----------------------------------------------------------------------------*/\n.post-type-acf-field-group .acf-field-object .settings {\n\tbox-sizing: border-box;\n\tpadding: {\n\t\ttop: 0;\n\t\tbottom: 0;\n\t}\n\tbackground-color: #fff;\n\tborder-left: {\n\t\twidth: 4px;\n\t\tstyle: solid;\n\t\tcolor: $blue-300;\n\t}\n}\n\n/*----------------------------------------------------------------------------\n*\n* Main field settings container\n*\n*----------------------------------------------------------------------------*/\n.acf-field-settings-main {\n\tpadding: {\n\t\ttop: 32px;\n\t\tright: 0;\n\t\tbottom: 32px;\n\t\tleft: 0;\n\t}\n\n\t.acf-field:last-of-type,\n\t.acf-field.acf-last-visible {\n\t\tmargin: {\n\t\t\tbottom: 0;\n\t\t}\n\t}\n}\n\n/*----------------------------------------------------------------------------\n*\n* Field label\n*\n*----------------------------------------------------------------------------*/\n.acf-field-settings .acf-label {\n\tdisplay: block;\n\tjustify-content: space-between;\n\talign-items: center;\n\talign-content: center;\n\tmargin: {\n\t\ttop: 0;\n\t\tright: 0;\n\t\tbottom: 6px;\n\t\tleft: 0;\n\t}\n}\n\n/*----------------------------------------------------------------------------\n*\n* Single field\n*\n*----------------------------------------------------------------------------*/\n.acf-field-settings .acf-field {\n\tbox-sizing: border-box;\n\twidth: 100%;\n\tmargin: {\n\t\ttop: 0;\n\t\tright: 0;\n\t\tbottom: 32px;\n\t\tleft: 0;\n\t}\n\tpadding: {\n\t\ttop: 0;\n\t\tright: 72px;\n\t\tbottom: 0;\n\t\tleft: 72px;\n\t}\n\n\t@media screen and (max-width: 600px) {\n\t\tpadding: {\n\t\t\tright: 12px;\n\t\t\tleft: 12px;\n\t\t}\n\t}\n\n\t.acf-label,\n\t.acf-input {\n\t\tmax-width: 600px;\n\n\t\t&.acf-input-sub {\n\t\t\tmax-width: 100%;\n\t\t}\n\n\t\t.acf-btn {\n\t\t\t&:disabled {\n\t\t\t\tbackground-color: $gray-100;\n\t\t\t\tcolor: $gray-400 !important;\n\t\t\t\tborder: 1px $gray-300 solid;\n\t\t\t\tcursor: default;\n\t\t\t}\n\t\t}\n\t}\n\n\t.acf-input-wrap {\n\t\toverflow: visible;\n\t}\n}\n\n/*----------------------------------------------------------------------------\n*\n* Field separators\n*\n*----------------------------------------------------------------------------*/\n\n.acf-field-settings .acf-field.acf-field-setting-label,\n.acf-field-settings .acf-field-setting-wrapper {\n\tpadding: {\n\t\ttop: 24px;\n\t}\n\tborder-top: {\n\t\twidth: 1px;\n\t\tstyle: solid;\n\t\tcolor: $gray-200;\n\t}\n}\n\n.acf-field-settings .acf-field-setting-wrapper {\n\tmargin: {\n\t\ttop: 24px;\n\t}\n}\n\n/*----------------------------------------------------------------------------\n*\n* Informational Notes for specific fields\n*\n*----------------------------------------------------------------------------*/\n.acf-field-setting-bidirectional_notes {\n\t.acf-label {\n\t\tdisplay: none;\n\t}\n\n\t.acf-feature-notice {\n\t\tbackground-color: $gray-50;\n\t\tborder: 1px solid $gray-200;\n\t\tborder-radius: 6px;\n\t\tpadding: 16px;\n\t\tcolor: $gray-700;\n\t\tposition: relative;\n\n\t\t&.with-warning-icon {\n\t\t\tpadding-left: 45px;\n\t\t\t&::before {\n\t\t\t\tcontent: \"\";\n\t\t\t\t$icon-size: 18px;\n\t\t\t\tdisplay: block;\n\t\t\t\tposition: absolute;\n\t\t\t\ttop: 17px;\n\t\t\t\tleft: 18px;\n\t\t\t\tz-index: 600;\n\t\t\t\twidth: $icon-size;\n\t\t\t\theight: $icon-size;\n\t\t\t\tmargin: {\n\t\t\t\t\tright: 8px;\n\t\t\t\t}\n\t\t\t\tbackground-color: $gray-500;\n\t\t\t\tborder: none;\n\t\t\t\tborder-radius: 0;\n\t\t\t\t-webkit-mask-size: contain;\n\t\t\t\tmask-size: contain;\n\t\t\t\t-webkit-mask-repeat: no-repeat;\n\t\t\t\tmask-repeat: no-repeat;\n\t\t\t\t-webkit-mask-position: center;\n\t\t\t\tmask-position: center;\n\t\t\t\t-webkit-mask-image: url(\"../../images/icons/icon-info.svg\");\n\t\t\t\tmask-image: url(\"../../images/icons/icon-info.svg\");\n\t\t\t}\n\t\t}\n\t}\n}\n\n/*----------------------------------------------------------------------------\n*\n* Edit fields footer\n*\n*----------------------------------------------------------------------------*/\n.acf-field-settings .acf-field-settings-footer {\n\tdisplay: flex;\n\talign-items: center;\n\tmin-height: 72px;\n\tbox-sizing: border-box;\n\twidth: 100%;\n\tmargin: {\n\t\ttop: 0;\n\t\tright: 0;\n\t\tbottom: 0;\n\t\tleft: 0;\n\t}\n\tpadding: {\n\t\ttop: 0;\n\t\tright: 0;\n\t\tbottom: 0;\n\t\tleft: 72px;\n\t}\n\tborder-top: {\n\t\twidth: 1px;\n\t\tstyle: solid;\n\t\tcolor: $gray-200;\n\t}\n\n\t@media screen and (max-width: 600px) {\n\t\tpadding: {\n\t\t\tleft: 12px;\n\t\t}\n\t}\n}\n\n.rtl .acf-field-settings .acf-field-settings-footer {\n\tpadding: {\n\t\ttop: 0;\n\t\tright: 72px;\n\t\tbottom: 0;\n\t\tleft: 0;\n\t}\n}\n\n/*----------------------------------------------------------------------------\n*\n* Tabs\n*\n*----------------------------------------------------------------------------*/\n.acf-fields,\n.acf-admin-page.acf-internal-post-type,\n.acf-browse-fields-modal-wrap {\n\t.acf-tab-wrap {\n\t\tbackground: $gray-50;\n\t\tborder-bottom: {\n\t\t\tcolor: $gray-800;\n\t\t}\n\n\t\t.acf-tab-group {\n\t\t\tpadding: {\n\t\t\t\tright: 24px;\n\t\t\t\tleft: 24px;\n\t\t\t}\n\t\t\tborder-top: {\n\t\t\t\twidth: 0;\n\t\t\t}\n\t\t\tborder-bottom: {\n\t\t\t\twidth: 1px;\n\t\t\t\tstyle: solid;\n\t\t\t\tcolor: $gray-200;\n\t\t\t}\n\t\t}\n\t}\n\n\t.acf-field-settings-tab-bar,\n\t.acf-tab-wrap .acf-tab-group {\n\t\tdisplay: flex;\n\t\talign-items: stretch;\n\t\tmin-height: 48px;\n\t\tpadding: {\n\t\t\ttop: 0;\n\t\t\tright: 0;\n\t\t\tbottom: 0;\n\t\t\tleft: 24px;\n\t\t}\n\t\tmargin: {\n\t\t\ttop: 0;\n\t\t\tbottom: 0;\n\t\t}\n\t\tborder-bottom: {\n\t\t\twidth: 1px;\n\t\t\tstyle: solid;\n\t\t\tcolor: $gray-200;\n\t\t}\n\t\tli {\n\t\t\tdisplay: flex;\n\t\t\tmargin: {\n\t\t\t\ttop: 0;\n\t\t\t\tright: 24px;\n\t\t\t\tbottom: 0;\n\t\t\t\tleft: 0;\n\t\t\t}\n\t\t\tpadding: 0;\n\n\t\t\ta {\n\t\t\t\t&:focus-visible {\n\t\t\t\t\tborder: 1px solid #5897fb;\n\t\t\t\t}\n\n\t\t\t\tbox-sizing: border-box;\n\t\t\t\tdisplay: inline-flex;\n\t\t\t\talign-items: center;\n\t\t\t\theight: 100%;\n\t\t\t\tpadding: {\n\t\t\t\t\ttop: 3px;\n\t\t\t\t\tright: 0;\n\t\t\t\t\tbottom: 0;\n\t\t\t\t\tleft: 0;\n\t\t\t\t}\n\t\t\t\tbackground: none;\n\t\t\t\tborder-top: none;\n\t\t\t\tborder-right: none;\n\t\t\t\tborder-bottom: {\n\t\t\t\t\twidth: 3px;\n\t\t\t\t\tstyle: solid;\n\t\t\t\t\tcolor: transparent;\n\t\t\t\t}\n\t\t\t\tborder-left: none;\n\t\t\t\tcolor: $gray-500;\n\t\t\t\t@extend .p5;\n\t\t\t\tfont-weight: normal;\n\n\t\t\t\t&:hover {\n\t\t\t\t\tcolor: $gray-800;\n\t\t\t\t}\n\n\t\t\t\t&:hover {\n\t\t\t\t\tbackground-color: transparent;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t&.active a {\n\t\t\t\tbackground: none;\n\t\t\t\tborder-bottom: {\n\t\t\t\t\tcolor: $color-primary;\n\t\t\t\t}\n\t\t\t\tcolor: $blue-500;\n\n\t\t\t\t&:focus-visible {\n\t\t\t\t\tborder-bottom: {\n\t\t\t\t\t\tcolor: $color-primary;\n\t\t\t\t\t\twidth: 3px;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n\n.acf-admin-page.acf-internal-post-type\n\t.acf-field-editor\n\t.acf-field-settings-tab-bar {\n\tpadding: {\n\t\tleft: 72px;\n\t}\n\n\t@media screen and (max-width: 600px) {\n\t\tpadding: {\n\t\t\tleft: 12px;\n\t\t}\n\t}\n}\n\n/*----------------------------------------------------------------------------\n*\n* Field group settings\n*\n*----------------------------------------------------------------------------*/\n#acf-field-group-options {\n\t.field-group-settings-tab {\n\t\tpadding: {\n\t\t\ttop: 24px;\n\t\t\tright: 24px;\n\t\t\tbottom: 24px;\n\t\t\tleft: 24px;\n\t\t}\n\n\t\t.acf-field:last-of-type {\n\t\t\tpadding: 0;\n\t\t}\n\t}\n\n\t.acf-field {\n\t\tborder: none;\n\t\tmargin: {\n\t\t\ttop: 0;\n\t\t\tright: 0;\n\t\t\tbottom: 0;\n\t\t\tleft: 0;\n\t\t}\n\t\tpadding: {\n\t\t\ttop: 0;\n\t\t\tright: 0;\n\t\t\tbottom: 24px;\n\t\t\tleft: 0;\n\t\t}\n\t}\n\n\t// Split layout\n\t.field-group-setting-split-container {\n\t\tdisplay: flex;\n\t\tpadding: {\n\t\t\ttop: 0;\n\t\t\tright: 0;\n\t\t\tbottom: 0;\n\t\t\tleft: 0;\n\t\t}\n\n\t\t.field-group-setting-split {\n\t\t\tbox-sizing: border-box;\n\t\t\tpadding: {\n\t\t\t\ttop: 24px;\n\t\t\t\tright: 24px;\n\t\t\t\tbottom: 24px;\n\t\t\t\tleft: 24px;\n\t\t\t}\n\t\t}\n\n\t\t.field-group-setting-split:nth-child(1) {\n\t\t\tflex: 1 0 auto;\n\t\t}\n\n\t\t.field-group-setting-split:nth-child(2n) {\n\t\t\tflex: 1 0 auto;\n\t\t\tmax-width: 320px;\n\t\t\tmargin: {\n\t\t\t\ttop: 0;\n\t\t\t\tright: 0;\n\t\t\t\tbottom: 0;\n\t\t\t\tleft: 32px;\n\t\t\t}\n\t\t\tpadding: {\n\t\t\t\tright: 32px;\n\t\t\t\tleft: 32px;\n\t\t\t}\n\t\t\tborder-left: {\n\t\t\t\twidth: 1px;\n\t\t\t\tstyle: solid;\n\t\t\t\tcolor: $gray-200;\n\t\t\t}\n\t\t}\n\t}\n\n\t// Description field\n\t.acf-field[data-name=\"description\"] {\n\t\tmax-width: 600px;\n\t}\n\n\t// Button group\n\t.acf-button-group {\n\t\tdisplay: inline-flex;\n\t}\n}\n\n.rtl #acf-field-group-options {\n\t.field-group-setting-split-container {\n\t\t.field-group-setting-split:nth-child(2n) {\n\t\t\tmargin: {\n\t\t\t\tright: 32px;\n\t\t\t\tleft: 0;\n\t\t\t}\n\t\t\tborder-left: none;\n\t\t\tborder-right: {\n\t\t\t\twidth: 1px;\n\t\t\t\tstyle: solid;\n\t\t\t\tcolor: $gray-200;\n\t\t\t}\n\t\t}\n\t}\n}\n\n/*----------------------------------------------------------------------------\n*\n* Reorder handles\n*\n*----------------------------------------------------------------------------*/\n.acf-field-list {\n\t.li-field-order {\n\t\tpadding: 0;\n\t\tdisplay: flex;\n\t\tflex-direction: row;\n\t\tflex-wrap: nowrap;\n\t\tjustify-content: center;\n\t\talign-content: stretch;\n\t\talign-items: stretch;\n\t\tbackground-color: transparent;\n\t}\n\n\t.acf-sortable-handle {\n\t\tdisplay: flex;\n\t\tflex-direction: row;\n\t\tflex-wrap: nowrap;\n\t\tjustify-content: center;\n\t\talign-content: flex-start;\n\t\talign-items: flex-start;\n\t\twidth: 100%;\n\t\theight: 100%;\n\t\tposition: relative;\n\t\tpadding: {\n\t\t\ttop: 11px;\n\t\t\tbottom: 8px;\n\t\t}\n\t\t@extend .p4;\n\t\tbackground-color: transparent;\n\t\tborder: none;\n\t\tborder-radius: 0;\n\n\t\t&:hover {\n\t\t\tcursor: grab;\n\t\t}\n\n\t\t&:before {\n\t\t\tcontent: \"\";\n\t\t\tdisplay: none;\n\t\t\tposition: absolute;\n\t\t\ttop: 16px;\n\t\t\tleft: 8px;\n\t\t\twidth: 16px;\n\t\t\theight: 16px;\n\t\t\t$icon-size: 12px;\n\t\t\twidth: $icon-size;\n\t\t\theight: $icon-size;\n\t\t\tbackground-color: $gray-400;\n\t\t\tborder: none;\n\t\t\tborder-radius: 0;\n\t\t\t-webkit-mask-size: contain;\n\t\t\tmask-size: contain;\n\t\t\t-webkit-mask-repeat: no-repeat;\n\t\t\tmask-repeat: no-repeat;\n\t\t\t-webkit-mask-position: center;\n\t\t\tmask-position: center;\n\t\t\ttext-indent: 500%;\n\t\t\twhite-space: nowrap;\n\t\t\toverflow: hidden;\n\t\t\t-webkit-mask-image: url(\"../../images/icons/icon-draggable.svg\");\n\t\t\tmask-image: url(\"../../images/icons/icon-draggable.svg\");\n\t\t}\n\t}\n}\n\n.rtl .acf-field-list {\n\t.acf-sortable-handle {\n\t\t&:before {\n\t\t\tleft: 0;\n\t\t\tright: 8px;\n\t\t}\n\t}\n}\n\n/*----------------------------------------------------------------------------\n*\n* Expand / collapse field icon\n*\n*----------------------------------------------------------------------------*/\n.acf-field-object {\n\t.li-field-label {\n\t\tposition: relative;\n\t\tpadding: {\n\t\t\tleft: 40px;\n\t\t}\n\n\t\t&:before {\n\t\t\tcontent: \"\";\n\t\t\tdisplay: block;\n\t\t\tposition: absolute;\n\t\t\tleft: 6px;\n\t\t\t$icon-size: 18px;\n\t\t\tdisplay: inline-flex;\n\t\t\twidth: $icon-size;\n\t\t\theight: $icon-size;\n\t\t\tmargin: {\n\t\t\t\ttop: -2px;\n\t\t\t}\n\t\t\tbackground-color: $gray-500;\n\t\t\tborder: none;\n\t\t\tborder-radius: 0;\n\t\t\t-webkit-mask-size: contain;\n\t\t\tmask-size: contain;\n\t\t\t-webkit-mask-repeat: no-repeat;\n\t\t\tmask-repeat: no-repeat;\n\t\t\t-webkit-mask-position: center;\n\t\t\tmask-position: center;\n\t\t\ttext-indent: 500%;\n\t\t\twhite-space: nowrap;\n\t\t\toverflow: hidden;\n\t\t\t-webkit-mask-image: url(\"../../images/icons/icon-chevron-down.svg\");\n\t\t\tmask-image: url(\"../../images/icons/icon-chevron-down.svg\");\n\t\t}\n\n\t\t&:hover:before {\n\t\t\tcursor: pointer;\n\t\t}\n\t}\n}\n\n.rtl {\n\t.acf-field-object {\n\t\t.li-field-label {\n\t\t\tpadding: {\n\t\t\t\tleft: 0;\n\t\t\t\tright: 40px;\n\t\t\t}\n\n\t\t\t&:before {\n\t\t\t\tleft: 0;\n\t\t\t\tright: 6px;\n\t\t\t\t-webkit-mask-image: url(\"../../images/icons/icon-chevron-down.svg\");\n\t\t\t\tmask-image: url(\"../../images/icons/icon-chevron-down.svg\");\n\t\t\t}\n\t\t}\n\n\t\t// Open\n\t\t&.open {\n\t\t\t.li-field-label:before {\n\t\t\t\t-webkit-mask-image: url(\"../../images/icons/icon-chevron-down.svg\");\n\t\t\t\tmask-image: url(\"../../images/icons/icon-chevron-down.svg\");\n\t\t\t}\n\n\t\t\t.acf-input-sub .li-field-label:before {\n\t\t\t\t-webkit-mask-image: url(\"../../images/icons/icon-chevron-right.svg\");\n\t\t\t\tmask-image: url(\"../../images/icons/icon-chevron-right.svg\");\n\t\t\t}\n\n\t\t\t.acf-input-sub .acf-field-object.open .li-field-label:before {\n\t\t\t\t-webkit-mask-image: url(\"../../images/icons/icon-chevron-down.svg\");\n\t\t\t\tmask-image: url(\"../../images/icons/icon-chevron-down.svg\");\n\t\t\t}\n\t\t}\n\t}\n}\n\n.acf-thead {\n\t.li-field-label {\n\t\tpadding: {\n\t\t\tleft: 40px;\n\t\t}\n\t}\n\t.rtl & {\n\t\t.li-field-label {\n\t\t\tpadding: {\n\t\t\t\tleft: 0;\n\t\t\t\tright: 40px;\n\t\t\t}\n\t\t}\n\t}\n}\n\n/*----------------------------------------------------------------------------\n*\n* Conditional logic layout\n*\n*----------------------------------------------------------------------------*/\n.acf-field-settings-main-conditional-logic {\n\n\t.acf-conditional-toggle {\n\t\tdisplay: flex;\n\t\tpadding: {\n\t\t\tright: 72px;\n\t\t\tleft: 72px;\n\t\t}\n\n\t\t@media screen and (max-width: 600px) {\n\t\t\tpadding: {\n\t\t\t\tleft: 12px;\n\t\t\t}\n\t\t}\n\t}\n\n\t.acf-field {\n\t\tflex-wrap: wrap;\n\t\tmargin: {\n\t\t\tbottom: 0;\n\t\t}\n\t\tpadding: {\n\t\t\tright: 0;\n\t\t\tleft: 0;\n\t\t}\n\n\t\t.rule-groups {\n\t\t\tflex: 0 1 100%;\n\t\t\torder: 3;\n\t\t\tmargin: {\n\t\t\t\ttop: 32px;\n\t\t\t}\n\t\t\tpadding: {\n\t\t\t\ttop: 32px;\n\t\t\t\tright: 72px;\n\t\t\t\tleft: 72px;\n\t\t\t}\n\t\t\tborder-top: {\n\t\t\t\twidth: 1px;\n\t\t\t\tstyle: solid;\n\t\t\t\tcolor: $gray-200;\n\t\t\t}\n\n\t\t\t@media screen and (max-width: 600px) {\n\t\t\t\tpadding: {\n\t\t\t\t\tleft: 12px;\n\t\t\t\t}\n\n\t\t\t\ttable.acf-table tbody tr {\n\t\t\t\t\tdisplay: flex;\n\t\t\t\t\tflex-wrap: wrap;\n\t\t\t\t\tjustify-content: flex-start;\n\t\t\t\t\talign-content: flex-start;\n\t\t\t\t\talign-items: flex-start;\n\n\t\t\t\t\ttd {\n\t\t\t\t\t\tflex: 1 1 100%;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n\n.acf-taxonomy-select-id,\n.acf-relationship-select-id,\n.acf-post_object-select-id,\n.acf-page_link-select-id {\n\tcolor: $gray-400;\n\tpadding-left: 10px;\n}\n\n.acf-taxonomy-select-sub-item {\n\tmax-width: 180px;\n\twhite-space: nowrap;\n\toverflow: hidden;\n\ttext-overflow: ellipsis;\n\tmargin-left: 5px;\n}\n\n.acf-taxonomy-select-name {\n\tmax-width: 180px;\n\twhite-space: nowrap;\n\toverflow: hidden;\n\ttext-overflow: ellipsis;\n}\n\n/*----------------------------------------------------------------------------\n*\n* Prefix & append styling\n*\n*----------------------------------------------------------------------------*/\n.acf-input {\n\t.acf-input-prepend,\n\t.acf-input-append {\n\t\tdisplay: inline-flex;\n\t\talign-items: center;\n\t\theight: 100%;\n\t\tmin-height: 40px;\n\t\tpadding: {\n\t\t\tright: 12px;\n\t\t\tleft: 12px;\n\t\t}\n\t\tbackground-color: $gray-50;\n\t\tborder-color: $gray-300;\n\t\tbox-shadow: $elevation-01;\n\t\tcolor: $gray-500;\n\t}\n\n\t.acf-input-prepend {\n\t\tborder-radius: $radius-md 0 0 $radius-md;\n\t}\n\n\t.acf-input-append {\n\t\tborder-radius: 0 $radius-md $radius-md 0;\n\t}\n}\n\n/*----------------------------------------------------------------------------\n*\n* ACF input wrap\n*\n*----------------------------------------------------------------------------*/\n.acf-input-wrap {\n\tdisplay: flex;\n}\n\n.acf-field-settings-main-presentation .acf-input-wrap {\n\tdisplay: flex;\n}\n\n/*----------------------------------------------------------------------------\n*\n* Empty state\n*\n*----------------------------------------------------------------------------*/\n.post-type-acf-field-group\n\t#acf-field-group-fields\n\t.acf-field-list.-empty\n\t.no-fields-message {\n\tdisplay: flex;\n\tjustify-content: center;\n\tpadding: {\n\t\ttop: 48px;\n\t\tbottom: 48px;\n\t}\n\n\t.no-fields-message-inner {\n\t\tdisplay: flex;\n\t\tflex-wrap: wrap;\n\t\tjustify-content: center;\n\t\talign-content: center;\n\t\talign-items: flex-start;\n\t\ttext-align: center;\n\t\tmax-width: 400px;\n\n\t\timg,\n\t\th2,\n\t\tp {\n\t\t\tflex: 1 0 100%;\n\t\t}\n\n\t\th2 {\n\t\t\t@extend .acf-h2;\n\t\t\tmargin: {\n\t\t\t\ttop: 32px;\n\t\t\t\tbottom: 0;\n\t\t\t}\n\t\t\tpadding: 0;\n\t\t\tcolor: $gray-700;\n\t\t}\n\n\t\tp {\n\t\t\t@extend .p2;\n\t\t\tmargin: {\n\t\t\t\ttop: 12px;\n\t\t\t\tbottom: 0;\n\t\t\t}\n\t\t\tpadding: 0;\n\t\t\tcolor: $gray-500;\n\n\t\t\t&.acf-small {\n\t\t\t\t@extend .p6;\n\t\t\t\tmargin: {\n\t\t\t\t\ttop: 32px;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\timg {\n\t\t\tmax-width: 284px;\n\t\t\tmargin: {\n\t\t\t\tbottom: 0;\n\t\t\t}\n\t\t}\n\n\t\t.acf-btn {\n\t\t\tmargin: {\n\t\t\t\ttop: 32px;\n\t\t\t}\n\t\t}\n\t}\n}\n\n/*----------------------------------------------------------------------------\n*\n* Hide add title prompt label\n*\n*----------------------------------------------------------------------------*/\n.post-type-acf-field-group {\n\t.acf-headerbar {\n\t\t#title-prompt-text {\n\t\t\tdisplay: none;\n\t\t}\n\t}\n}\n\n/*----------------------------------------------------------------------------\n*\n* Modal styling\n*\n*----------------------------------------------------------------------------*/\n.acf-admin-page {\n\t#acf-popup .acf-popup-box {\n\t\tmin-width: 480px;\n\n\t\t.title {\n\t\t\tdisplay: flex;\n\t\t\talign-items: center;\n\t\t\talign-content: center;\n\t\t\tjustify-content: space-between;\n\t\t\tmin-height: 64px;\n\t\t\tbox-sizing: border-box;\n\t\t\tmargin: 0;\n\t\t\tpadding: {\n\t\t\t\tright: 24px;\n\t\t\t\tleft: 24px;\n\t\t\t}\n\t\t\tborder-bottom: {\n\t\t\t\twidth: 1px;\n\t\t\t\tstyle: solid;\n\t\t\t\tcolor: $gray-200;\n\t\t\t}\n\n\t\t\th1,\n\t\t\th2,\n\t\t\th3,\n\t\t\th4 {\n\t\t\t\t@extend .acf-h3;\n\t\t\t\tpadding: {\n\t\t\t\t\tleft: 0;\n\t\t\t\t}\n\t\t\t\tcolor: $gray-700;\n\t\t\t}\n\n\t\t\t.acf-icon {\n\t\t\t\tdisplay: block;\n\t\t\t\tposition: relative;\n\t\t\t\ttop: auto;\n\t\t\t\tright: auto;\n\t\t\t\twidth: 22px;\n\t\t\t\theight: 22px;\n\t\t\t\tbackground-color: transparent;\n\t\t\t\tcolor: transparent;\n\n\t\t\t\t&:before {\n\t\t\t\t\t$icon-size: 22px;\n\t\t\t\t\tdisplay: inline-flex;\n\t\t\t\t\tposition: absolute;\n\t\t\t\t\ttop: 0;\n\t\t\t\t\tleft: 0;\n\t\t\t\t\twidth: $icon-size;\n\t\t\t\t\theight: $icon-size;\n\t\t\t\t\tbackground-color: $gray-500;\n\t\t\t\t\tborder: none;\n\t\t\t\t\tborder-radius: 0;\n\t\t\t\t\t-webkit-mask-size: contain;\n\t\t\t\t\tmask-size: contain;\n\t\t\t\t\t-webkit-mask-repeat: no-repeat;\n\t\t\t\t\tmask-repeat: no-repeat;\n\t\t\t\t\t-webkit-mask-position: center;\n\t\t\t\t\tmask-position: center;\n\t\t\t\t\ttext-indent: 500%;\n\t\t\t\t\twhite-space: nowrap;\n\t\t\t\t\toverflow: hidden;\n\t\t\t\t\t-webkit-mask-image: url(\"../../images/icons/icon-close-circle.svg\");\n\t\t\t\t\tmask-image: url(\"../../images/icons/icon-close-circle.svg\");\n\t\t\t\t}\n\n\t\t\t\t&:hover:before {\n\t\t\t\t\tbackground-color: $color-primary;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t.inner {\n\t\t\tbox-sizing: border-box;\n\t\t\tmargin: 0;\n\t\t\tpadding: {\n\t\t\t\ttop: 24px;\n\t\t\t\tright: 24px;\n\t\t\t\tbottom: 24px;\n\t\t\t\tleft: 24px;\n\t\t\t}\n\t\t\tborder-top: none;\n\n\t\t\tp {\n\t\t\t\tmargin: {\n\t\t\t\t\ttop: 0;\n\t\t\t\t\tbottom: 0;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// Custom styling for move custom field modal/link field groups modal.\n\t\t#acf-move-field-form,\n\t\t#acf-link-field-groups-form {\n\t\t\t.acf-field-select {\n\t\t\t\tmargin: {\n\t\t\t\t\ttop: 0;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t// Custom styling for the link field groups/create options page modal.\n\t.acf-link-field-groups-popup .acf-popup-box,\n\t.acf-create-options-page-popup .acf-popup-box {\n\t\t.title h3 {\n\t\t\tcolor: $gray-800;\n\t\t\tfont-weight: 500;\n\n\t\t\t&:before {\n\t\t\t\tcontent: \"\";\n\t\t\t\twidth: 18px;\n\t\t\t\theight: 18px;\n\t\t\t\tbackground: $gray-400;\n\t\t\t\tmargin-right: 9px;\n\t\t\t}\n\t\t}\n\n\t\t.inner {\n\t\t\tpadding: 0 !important;\n\n\t\t\t.acf-field-select,\n\t\t\t.acf-link-successful {\n\t\t\t\tpadding: 32px 24px;\n\t\t\t\tmargin-bottom: 0;\n\n\t\t\t\t.description {\n\t\t\t\t\tmargin-top: 6px !important;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t.acf-actions {\n\t\t\t\tbackground: $gray-50;\n\t\t\t\tborder-top: 1px solid $gray-200;\n\t\t\t\tpadding: {\n\t\t\t\t\ttop: 20px;\n\t\t\t\t\tleft: 24px;\n\t\t\t\t\tbottom: 20px;\n\t\t\t\t\tright: 24px;\n\t\t\t\t}\n\t\t\t\tborder-bottom-left-radius: 8px;\n\t\t\t\tborder-bottom-right-radius: 8px;\n\n\t\t\t\t.acf-btn {\n\t\t\t\t\tdisplay: inline-block;\n\t\t\t\t\tmargin-left: 8px;\n\n\t\t\t\t\t&.acf-btn-primary {\n\t\t\t\t\t\twidth: 120px;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t.acf-create-options-page-popup .acf-popup-box {\n\t\t.inner {\n\t\t\t.acf-error-message.-success {\n\t\t\t\tdisplay: none;\n\t\t\t}\n\n\t\t\t.-dismiss {\n\t\t\t\tmargin: 24px 32px !important;\n\t\t\t}\n\n\t\t\t.acf-field {\n\t\t\t\tpadding: 24px 32px 0 32px;\n\t\t\t\tmargin: 0;\n\n\t\t\t\t&.acf-error {\n\t\t\t\t\t.acf-input-wrap {\n\t\t\t\t\t\toverflow: inherit;\n\n\t\t\t\t\t\tinput[type=\"text\"] {\n\t\t\t\t\t\t\tborder: 1px rgba($color-danger, 0.5) solid !important;\n\t\t\t\t\t\t\tbox-shadow:\n\t\t\t\t\t\t\t\t0px 0px 0px 3px rgba(209, 55, 55, 0.12),\n\t\t\t\t\t\t\t\t0px 0px 0px rgba(255, 54, 54, 0.25) !important;\n\t\t\t\t\t\t\tbackground-image: url(../../images/icons/icon-info-red.svg);\n\t\t\t\t\t\t\tbackground-position: right 10px top 50%;\n\t\t\t\t\t\t\tbackground-size: 14px;\n\t\t\t\t\t\t\tbackground-repeat: no-repeat;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t.acf-options-page-modal-error p {\n\t\t\t\t\tfont-size: 12px;\n\t\t\t\t\tcolor: $color-danger;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t.acf-actions {\n\t\t\t\tmargin-top: 32px;\n\n\t\t\t\t.acf-btn:disabled {\n\t\t\t\t\tbackground-color: $blue-500;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n\n/*----------------------------------------------------------------------------\n*\n* Hide original #post-body-content from edit field group page\n*\n*----------------------------------------------------------------------------*/\n.acf-admin-single-field-group {\n\t#post-body-content {\n\t\tdisplay: none;\n\t}\n}\n\n/*----------------------------------------------------------------------------\n*\n* Settings section footer\n*\n*----------------------------------------------------------------------------*/\n.acf-field-group-settings-footer {\n\tdisplay: flex;\n\tjustify-content: space-between;\n\talign-content: stretch;\n\talign-items: center;\n\tposition: relative;\n\tmin-height: 88px;\n\tmargin: {\n\t\tright: -24px;\n\t\tleft: -24px;\n\t\tbottom: -24px;\n\t}\n\tpadding: {\n\t\tright: 24px;\n\t\tleft: 24px;\n\t}\n\tborder-top: {\n\t\twidth: 1px;\n\t\tstyle: solid;\n\t\tcolor: $gray-200;\n\t}\n\n\t.acf-created-on {\n\t\tdisplay: inline-flex;\n\t\tjustify-content: flex-start;\n\t\talign-content: stretch;\n\t\talign-items: center;\n\t\t@extend .p5;\n\t\tcolor: $gray-500;\n\n\t\t&:before {\n\t\t\tcontent: \"\";\n\t\t\t$icon-size: 20px;\n\t\t\tdisplay: inline-block;\n\t\t\twidth: $icon-size;\n\t\t\theight: $icon-size;\n\t\t\tmargin: {\n\t\t\t\tright: 8px;\n\t\t\t}\n\t\t\tbackground-color: $gray-400;\n\t\t\tborder: none;\n\t\t\tborder-radius: 0;\n\t\t\t-webkit-mask-size: contain;\n\t\t\tmask-size: contain;\n\t\t\t-webkit-mask-repeat: no-repeat;\n\t\t\tmask-repeat: no-repeat;\n\t\t\t-webkit-mask-position: center;\n\t\t\tmask-position: center;\n\t\t\t-webkit-mask-image: url(\"../../images/icons/icon-time.svg\");\n\t\t\tmask-image: url(\"../../images/icons/icon-time.svg\");\n\t\t}\n\t}\n}\n\n/*----------------------------------------------------------------------------\n*\n* Conditional logic enabled badge\n*\n*----------------------------------------------------------------------------*/\n.conditional-logic-badge {\n\tdisplay: none;\n\n\t&.is-enabled {\n\t\tdisplay: inline-block;\n\t\twidth: 6px;\n\t\theight: 6px;\n\t\toverflow: hidden;\n\t\tmargin: {\n\t\t\tleft: 8px;\n\t\t}\n\t\tbackground-color: rgba($color-success, 0.4);\n\t\tborder: {\n\t\t\twidth: 1px;\n\t\t\tstyle: solid;\n\t\t\tcolor: $color-success;\n\t\t}\n\t\tborder-radius: 100px;\n\t\ttext-indent: 100%;\n\t\twhite-space: nowrap;\n\t}\n}\n\n/*----------------------------------------------------------------------------\n*\n* Field settings container\n*\n*----------------------------------------------------------------------------*/\n.acf-field-type-settings {\n\tcontainer-name: settings;\n\tcontainer-type: inline-size;\n}\n\n/*----------------------------------------------------------------------------\n*\n* Split field settings\n*\n*----------------------------------------------------------------------------*/\n.acf-field-settings-split {\n\tdisplay: flex;\n\tborder-top: {\n\t\twidth: 1px;\n\t\tstyle: solid;\n\t\tcolor: $gray-200;\n\t}\n\t.acf-field {\n\t\tmargin: 0;\n\t\tpadding: {\n\t\t\ttop: 32px;\n\t\t\tbottom: 32px;\n\t\t}\n\n\t\t&:nth-child(2n) {\n\t\t\tborder-left: {\n\t\t\t\twidth: 1px;\n\t\t\t\tstyle: solid;\n\t\t\t\tcolor: $gray-200;\n\t\t\t}\n\t\t}\n\t}\n}\n\n@container settings (max-width: 1170px) {\n\t.acf-field-settings-split {\n\t\tborder: none;\n\t\tflex-direction: column;\n\t}\n\t.acf-field {\n\t\tborder-top-width: 1px;\n\t\tborder-top-style: solid;\n\t\tborder-top-color: $gray-200;\n\t}\n}\n\n/*----------------------------------------------------------------------------\n*\n* Display & return format\n*\n*----------------------------------------------------------------------------*/\n.acf-field-setting-display_format,\n.acf-field-setting-return_format {\n\t.acf-label {\n\t\tmargin: {\n\t\t\tbottom: 6px;\n\t\t}\n\t}\n\n\t.acf-radio-list {\n\t\tli {\n\t\t\tdisplay: flex;\n\n\t\t\tlabel {\n\t\t\t\tdisplay: inline-flex;\n\t\t\t\twidth: 100%;\n\n\t\t\t\tspan {\n\t\t\t\t\tflex: 1 1 auto;\n\t\t\t\t}\n\n\t\t\t\tcode {\n\t\t\t\t\tpadding: {\n\t\t\t\t\t\tright: 8px;\n\t\t\t\t\t\tleft: 8px;\n\t\t\t\t\t}\n\t\t\t\t\tbackground-color: $gray-100;\n\t\t\t\t\tborder-radius: 4px;\n\t\t\t\t\t@extend .p5;\n\t\t\t\t\tcolor: $gray-600;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tinput[type=\"text\"] {\n\t\t\t\theight: 32px;\n\t\t\t}\n\t\t}\n\t}\n}\n\n.acf-field-settings .acf-field-setting-first_day {\n\tpadding: {\n\t\ttop: 32px;\n\t}\n\tborder-top: {\n\t\twidth: 1px;\n\t\tstyle: solid;\n\t\tcolor: $gray-200;\n\t}\n}\n\n/*----------------------------------------------------------------------------\n*\n* Image and Gallery fields\n*\n*----------------------------------------------------------------------------*/\n.acf-field-object-image,\n.acf-field-object-gallery {\n\t.acf-hl[data-cols=\"3\"] > li {\n\t\twidth: auto;\n\t}\n}\n\n/*----------------------------------------------------------------------------\n*\n* Appended fields fields\n*\n*----------------------------------------------------------------------------*/\n.acf-field-settings .acf-field-appended {\n\toverflow: auto;\n\n\t.acf-input {\n\t\tfloat: left;\n\t}\n}\n\n/*----------------------------------------------------------------------------\n*\n* Flexible widths for image minimum / maximum size fields\n*\n*----------------------------------------------------------------------------*/\n.acf-field-settings .acf-field.acf-field-setting-min_width,\n.acf-field-settings .acf-field.acf-field-setting-max_width {\n\t.acf-input {\n\t\tmax-width: none;\n\t}\n\n\t.acf-input-wrap input[type=\"text\"] {\n\t\tmax-width: 81px;\n\t}\n}\n\n/*----------------------------------------------------------------------------\n*\n* Temporary fix to hide pagination setting for repeaters used as subfields.\n*\n*----------------------------------------------------------------------------*/\n.post-type-acf-field-group {\n\t.acf-field-object-flexible-content {\n\t\t.acf-field-setting-pagination {\n\t\t\tdisplay: none;\n\t\t}\n\t}\n\n\t.acf-field-object-repeater {\n\t\t.acf-field-object-repeater {\n\t\t\t.acf-field-setting-pagination {\n\t\t\t\tdisplay: none;\n\t\t\t}\n\t\t}\n\t}\n}\n\n/*----------------------------------------------------------------------------\n*\n* Flexible content field width\n*\n*----------------------------------------------------------------------------*/\n\n.acf-admin-single-field-group\n\t.acf-field-object-flexible-content\n\t.acf-is-subfields\n\t.acf-field-object {\n\t.acf-label,\n\t.acf-input {\n\t\tmax-width: 600px;\n\t}\n}\n\n/*----------------------------------------------------------------------------\n*\n* Fix default value checkbox focus state\n*\n*----------------------------------------------------------------------------*/\n\n.acf-admin-single-field-group {\n\t.acf-field.acf-field-true-false.acf-field-setting-default_value\n\t\t.acf-true-false {\n\t\tborder: none;\n\n\t\tinput[type=\"checkbox\"] {\n\t\t\tmargin-right: 0;\n\t\t}\n\t}\n}\n\n/*----------------------------------------------------------------------------\n*\n* With front field extra spacing\n*\n*----------------------------------------------------------------------------*/\n.acf-field.acf-field-with-front {\n\tmargin: {\n\t\ttop: 32px;\n\t}\n}\n","/*---------------------------------------------------------------------------------------------\n*\n* Sub-fields layout\n*\n*---------------------------------------------------------------------------------------------*/\n.post-type-acf-field-group #acf-field-group-fields .acf-field-list-wrap .acf-input-sub {\n\tmax-width: 100%;\n\toverflow: hidden;\n\tborder-radius: $radius-lg;\n\tborder: {\n\t\twidth: 1px;\n\t\tstyle: solid;\n\t\tcolor: darken($gray-200, 5%);\n\t};\n\tbox-shadow: $elevation-01;\n\n\t// Header\n\t.acf-sub-field-list-header {\n\t\tdisplay: flex;\n\t\tjustify-content: space-between;\n\t\talign-content: stretch;\n\t\talign-items: center;\n\t\tmin-height: 64px;\n\t\tpadding: {\n\t\t\tright: 24px;\n\t\t\tleft: 24px;\n\t\t};\n\t}\n\n\t// Main sub-fields wrapper\n\t.acf-field-list-wrap {\n\t\tbox-shadow: none;\n\t}\n\n\t// Sub-field footer\n\t.acf-hl.acf-tfoot {\n\t\tmin-height: 64px;\n\t\talign-items: center;\n\t}\n\t\n\t// Secondary level sub-fields\n\t.acf-input.acf-input-sub {\n\t\tmax-width: 100%;\n\t\tmargin: {\n\t\t\tright: 0;\n\t\t\tleft: 0;\n\t\t};\n\t}\n\n}\n\n.post-type-acf-field-group .acf-input-sub .acf-field-object .acf-sortable-handle {\n\twidth: 100%;\n\theight: 100%;\n}\n\n.post-type-acf-field-group .acf-field-object:hover .acf-input-sub .acf-sortable-handle:before {\n\tdisplay: none;\n}\n\n.post-type-acf-field-group .acf-field-object:hover .acf-input-sub .acf-field-list .acf-field-object:hover .acf-sortable-handle:before {\n\tdisplay: block;\n}\n\n.post-type-acf-field-group .acf-field-object .acf-is-subfields .acf-thead .li-field-label:before {\n\tdisplay: none;\n}\n\n.post-type-acf-field-group #acf-field-group-fields .acf-field-list-wrap .acf-input-sub .acf-field-object.open {\n\tborder-top-color: darken($gray-200, 5%);\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* Flexible content field\n*\n*---------------------------------------------------------------------------------------------*/\n.post-type-acf-field-group {\n\n\ti.acf-icon.-duplicate.duplicate-layout {\n\t\tmargin: 0 auto !important;\n\t\tbackground-color: $gray-500;\n\t\tcolor: $gray-500;\n\t}\n\ti.acf-icon.acf-icon-trash.delete-layout {\n\t\tmargin: 0 auto !important;\n\t\tbackground-color: $gray-500;\n\t\tcolor: $gray-500;\n\t}\n\n\tbutton.acf-btn.acf-btn-tertiary.acf-field-setting-fc-duplicate, button.acf-btn.acf-btn-tertiary.acf-field-setting-fc-delete {\n\t\tbackground-color: #ffffff !important;\n\t\tbox-shadow: $elevation-01;\n\t\tborder-radius: 6px;\n\t\twidth: 32px;\n\t\theight: 32px !important;\n\t\tmin-height: 32px;\n\t\tpadding: 0;\n\t}\n\n\tbutton.add-layout.acf-btn.acf-btn-primary.add-field,\n\t.acf-sub-field-list-header a.acf-btn.acf-btn-secondary.add-field, \n\t.acf-field-list-wrap.acf-is-subfields a.acf-btn.acf-btn-secondary.add-field {\n\t\theight: 32px !important;\n\t\tmin-height: 32px;\n\t\tmargin-left: 5px;\n\t}\n\n\t.acf-field.acf-field-setting-fc_layout {\n\t\tbackground-color: #ffffff;\n\t\tmargin-bottom: 16px;\n\t}\n\t\n\t.acf-field-setting-fc_layout {\n\t\t.acf-field-layout-settings.open {\n\t\t\tbackground-color: #ffffff;\n\t\t\tborder-top: {\n\t\t\t\twidth: 1px;\n\t\t\t\tstyle: solid;\n\t\t\t\tcolor: $gray-200;\n\t\t\t};\n\t\t}\n\n\t\twidth: calc(100% - 144px);\n\t\tmargin: {\n\t\t\tright: 72px;\n\t\t\tleft: 72px;\n\t\t};\n\t\tpadding: {\n\t\t\tright: 0;\n\t\t\tleft: 0;\n\t\t};\n\t\tborder: {\n\t\t\twidth: 1px;\n\t\t\tstyle: solid;\n\t\t\tcolor: darken($gray-200, 5%);\n\t\t};\n\t\tborder-radius: $radius-lg;\n\t\tbox-shadow: $elevation-01;\n\n\t\t@media screen and (max-width: 768px) {\n\t\t\twidth: calc(100% - 16px);\n\t\t\tmargin: {\n\t\t\t\tright: 8px;\n\t\t\t\tleft: 8px;\n\t\t\t};\n\t\t}\n\n\t\t// Secondary level sub-fields\n\t\t.acf-input-sub {\n\t\t\tmax-width: 100%;\n\t\t\tmargin: {\n\t\t\t\tright: 0;\n\t\t\t\tleft: 0;\n\t\t\t};\n\t\t}\n\n\t\t.acf-label,\n\t\t.acf-input {\n\t\t\tmax-width: 100% !important;\n\t\t}\n\n\t\t.acf-input-sub {\n\t\t\tmargin: {\n\t\t\t\tright: 32px;\n\t\t\t\tbottom: 32px;\n\t\t\t\tleft: 32px;\n\t\t\t};\n\t\t}\n\n\t\t.acf-fc-meta {\n\t\t\tmax-width: 100%;\n\t\t\tpadding: {\n\t\t\t\ttop: 24px;\n\t\t\t\tright: 32px;\n\t\t\t\tleft: 32px;\n\t\t\t};\n\t\t}\n\n\t}\n\n\t.acf-field-settings-fc_head {\n\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\tjustify-content: left;\n\n\t\tbackground-color: $gray-50;\n\t\tborder-radius: 8px;\n\t\tmin-height: 64px;\n\t\tmargin: {\n\t\t\tbottom: 0px;\n\t\t};\n\t\tpadding: {\n\t\t\tright: 24px;\n\t\t};\n\n\t\t.acf-fc_draggable {\n\t\t\tmin-height: 64px;\n\t\t\tpadding-left: 24px;\n\t\t\tdisplay: flex;\n\t\t\twhite-space: nowrap;\n\t\t}\n\n\t\t.acf-fc-layout-name {\n\t\t\tmin-width: 0;\n\t\t\tcolor: $gray-400;\n\t\t\tpadding-left: 8px;\n\t\t\tfont-size: 16px;\n\n\t\t\t&.copyable:not(.input-copyable, .copy-unsupported):hover:after {\n\t\t\t\twidth: 14px !important;\n\t\t\t\theight: 14px !important;\n\t\t\t}\n\n\t\t\t@media screen and (max-width: $md) {\n\t\t\t\tdisplay: none !important;\n\t\t\t}\n\n\t\t\tspan {\n\t\t\t\twhite-space: nowrap;\n\t\t\t\toverflow: hidden;\n\t\t\t\ttext-overflow: ellipsis;\n\t\t\t}\n\t\t}\n\n\t\tspan.toggle-indicator {\n\t\t\tpointer-events: none;\n\t\t\tmargin-top: 7px;\n\t\t}\n\n\t\tlabel {\n\t\t\tdisplay: inline-flex;\n\t\t\talign-items: center;\n\t\t\t@extend .acf-h3;\n\n\t\t\t&.acf-fc-layout-name {\n\t\t\t\tmargin-left: 1rem;\n\n\t\t\t\t@media screen and (max-width: $md) {\n\t\t\t\t\tdisplay: none !important;\n\t\t\t\t}\n\n\t\t\t\tspan.acf-fc-layout-name {\n\t\t\t\t\ttext-overflow: ellipsis;\n\t\t\t\t\toverflow: hidden;\n\t\t\t\t\theight: 22px;\n\t\t\t\t\twhite-space: nowrap;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t&.acf-fc-layout-label:before {\n\t\t\t\tcontent: '';\n\t\t\t\t$icon-size: 20px;\n\t\t\t\tdisplay: inline-block;\n\t\t\t\twidth: $icon-size;\n\t\t\t\theight: $icon-size;\n\t\t\t\tmargin: {\n\t\t\t\t\tright: 8px;\n\t\t\t\t};\n\t\t\t\tbackground-color: $gray-400;\n\t\t\t\tborder: none;\n\t\t\t\tborder-radius: 0;\n\t\t\t\t-webkit-mask-size: contain;\n\t\t\t\tmask-size: contain;\n\t\t\t\t-webkit-mask-repeat: no-repeat;\n\t\t\t\tmask-repeat: no-repeat;\n\t\t\t\t-webkit-mask-position: center;\n\t\t\t\tmask-position: center;\n\n\t\t\t\t@at-root .rtl#{&} {\n\t\t\t\t\tpadding-right: 10px;\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t}\n\n\t\t.acf-fl-actions {\n\t\t\tdisplay: flex;\n\t\t\talign-items: center;\n\t\t\twhite-space: nowrap;\n\t\t\tmargin-left: auto;\n\n\t\t\t.acf-fc-add-layout {\n\t\t\t\tmargin-left: 10px;\n\t\t\t}\n\n\t\t\t.acf-fc-add-layout .add-field {\n\t\t\t\tmargin-left: 0px !important;\n\t\t\t}\n\n\t\t\tli {\n\t\t\t\tmargin: {\n\t\t\t\t\tright: 4px;\n\t\t\t\t};\n\n\t\t\t\t&:last-of-type {\n\t\t\t\t\tmargin: {\n\t\t\t\t\t\tright: 0;\n\t\t\t\t\t};\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t}\n\n\t}\n\n\t.acf-field-settings-fc_head.open {\n\t\tborder-radius: 8px 8px 0px 0px;\n\t}\n\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* Field open / closed icon state\n*\n*---------------------------------------------------------------------------------------------*/\n\n.post-type-acf-field-group .acf-field-object.open > .handle > .acf-tbody > .li-field-label::before {\n\t-webkit-mask-image: url('../../images/icons/icon-chevron-up.svg');\n\tmask-image: url('../../images/icons/icon-chevron-up.svg');\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* Different coloured levels (current 5 supported)\n*\n*---------------------------------------------------------------------------------------------*/\n\n.post-type-acf-field-group #acf-field-group-fields .acf-field-list-wrap .acf-input-sub {\n\t\n\t// Second level\n\t$nested-color: #BF7DD7;\n\t// Row hover color \n\t.acf-field-object .handle { background-color: transparent; &:hover { background-color: lighten($nested-color, 30%); } }\n\t// Active row color \n\t.acf-field-object.open .handle { background-color: lighten($nested-color, 28%); }\n\t// Active border color \n\t.acf-field-object .settings { border-left: { color: $nested-color; }; }\n\t\n\t// Third level\n\t.acf-input-sub {\n\t\t$nested-color: #7CCDB9;\n\t\t// Row hover color \n\t\t.acf-field-object .handle { background-color: transparent; &:hover { background-color: lighten($nested-color, 30%); } }\n\t\t// Active row color \n\t\t.acf-field-object.open .handle { background-color: lighten($nested-color, 28%); }\n\t\t// Active border color \n\t\t.acf-field-object .settings { border-left: { color: $nested-color; }; }\n\t\t\n\t\t// Fourth level\n\t\t.acf-input-sub {\n\t\t\t$nested-color: #E29473;\n\t\t\t// Row hover color \n\t\t\t.acf-field-object .handle { background-color: transparent; &:hover { background-color: lighten($nested-color, 30%); } }\n\t\t\t// Active row color \n\t\t\t.acf-field-object.open .handle { background-color: lighten($nested-color, 28%); }\n\t\t\t// Active border color \n\t\t\t.acf-field-object .settings { border-left: { color: $nested-color; }; }\n\t\t\t\n\t\t\t// Fifth level\n\t\t\t.acf-input-sub {\n\t\t\t\t$nested-color: #A3B1B9;\n\t\t\t\t// Row hover color \n\t\t\t\t.acf-field-object .handle { background-color: transparent; &:hover { background-color: lighten($nested-color, 30%); } }\n\t\t\t\t// Active row color \n\t\t\t\t.acf-field-object.open .handle { background-color: lighten($nested-color, 28%); }\n\t\t\t\t// Active border color \n\t\t\t\t.acf-field-object .settings { border-left: { color: $nested-color; }; }\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t}\n\t\n}"],"names":[],"sourceRoot":""} \ No newline at end of file diff --git a/wp-content/plugins/advanced-custom-fields-pro/assets/build/css/acf-field-group.min.css b/wp-content/plugins/advanced-custom-fields-pro/assets/build/css/acf-field-group.min.css index e279cac07..87ab905ff 100644 --- a/wp-content/plugins/advanced-custom-fields-pro/assets/build/css/acf-field-group.min.css +++ b/wp-content/plugins/advanced-custom-fields-pro/assets/build/css/acf-field-group.min.css @@ -1 +1 @@ -#acf-field-group-fields>.inside,#acf-field-group-locations>.inside,#acf-field-group-options>.inside{padding:0;margin:0}.postbox .handle-order-higher,.postbox .handle-order-lower{display:none}#minor-publishing-actions,#misc-publishing-actions #visibility,#misc-publishing-actions .edit-timestamp{display:none}#minor-publishing{border-bottom:0 none}#misc-pub-section{border-bottom:0 none}#misc-publishing-actions .misc-pub-section{border-bottom-color:#f5f5f5}#acf-field-group-fields{border:0 none}#acf-field-group-fields .inside{border-top-width:0;border-top-style:none}#acf-field-group-fields a{text-decoration:none}#acf-field-group-fields .li-field-type .field-type-icon{margin-right:8px}@media screen and (max-width: 600px){#acf-field-group-fields .li-field-type .field-type-icon{display:none}}#acf-field-group-fields .li-field-type .field-type-label{display:flex}#acf-field-group-fields .li-field-type .acf-pro-label-field-type{position:relative;top:-3px;margin-left:8px}#acf-field-group-fields .li-field-type .acf-pro-label-field-type img{max-width:34px}#acf-field-group-fields .li-field-order{width:64px;justify-content:center}@media screen and (max-width: 880px){#acf-field-group-fields .li-field-order{width:32px}}#acf-field-group-fields .li-field-label{width:calc(50% - 64px)}#acf-field-group-fields .li-field-name{width:25%;word-break:break-word}#acf-field-group-fields .li-field-key{display:none}#acf-field-group-fields .li-field-type{width:25%}#acf-field-group-fields.show-field-keys .li-field-label{width:calc(35% - 64px)}#acf-field-group-fields.show-field-keys .li-field-name{width:15%}#acf-field-group-fields.show-field-keys .li-field-key{width:25%;display:flex}#acf-field-group-fields.show-field-keys .li-field-type{width:25%}#acf-field-group-fields.hide-tabs .acf-field-settings-tab-bar{display:none}#acf-field-group-fields.hide-tabs .acf-field-settings-main{padding:0}#acf-field-group-fields.hide-tabs .acf-field-settings-main.acf-field-settings-main-general{padding-top:32px}#acf-field-group-fields.hide-tabs .acf-field-settings-main .acf-field{margin-bottom:32px}#acf-field-group-fields.hide-tabs .acf-field-settings-main .acf-field-setting-wrapper{padding-top:0;border-top:none}#acf-field-group-fields.hide-tabs .acf-field-settings-main .acf-field-settings-split .acf-field{border-bottom-width:1px;border-bottom-style:solid;border-bottom-color:#eaecf0}#acf-field-group-fields.hide-tabs .acf-field-settings-main .acf-field-setting-first_day{padding-top:0;border-top:none}#acf-field-group-fields.hide-tabs .acf-field-settings-footer{margin-top:32px}#acf-field-group-fields .acf-field-list-wrap{border:#ccd0d4 solid 1px}#acf-field-group-fields .acf-field-list{background:#f5f5f5;margin-top:-1px}#acf-field-group-fields .acf-field-list .acf-tbody>.li-field-name,#acf-field-group-fields .acf-field-list .acf-tbody>.li-field-key{align-items:flex-start}#acf-field-group-fields .acf-field-list .copyable:not(.input-copyable,.copy-unsupported){cursor:pointer;display:inline-flex;align-items:center}#acf-field-group-fields .acf-field-list .copyable:not(.input-copyable,.copy-unsupported):hover:after{content:"";padding-left:5px;display:inline-flex;width:12px;height:12px;background-color:#667085;border:none;border-radius:0;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;text-indent:500%;white-space:nowrap;overflow:hidden;-webkit-mask-image:url("../../images/icons/icon-copy.svg");mask-image:url("../../images/icons/icon-copy.svg");background-size:cover}#acf-field-group-fields .acf-field-list .copyable:not(.input-copyable,.copy-unsupported).sub-label{padding-right:22px}#acf-field-group-fields .acf-field-list .copyable:not(.input-copyable,.copy-unsupported).sub-label:hover{padding-right:0}#acf-field-group-fields .acf-field-list .copyable:not(.input-copyable,.copy-unsupported).sub-label:hover:after{width:14px;height:14px;padding-left:8px}#acf-field-group-fields .acf-field-list .copyable:not(.input-copyable,.copy-unsupported).copied:hover:after{-webkit-mask-image:url("../../images/icons/icon-check-circle-solid.svg");mask-image:url("../../images/icons/icon-check-circle-solid.svg");background-color:#49ad52}#acf-field-group-fields .acf-field-list .copyable.input-copyable:not(.copy-unsupported){cursor:pointer;display:block;position:relative;align-items:center}#acf-field-group-fields .acf-field-list .copyable.input-copyable:not(.copy-unsupported) input{padding-right:40px}#acf-field-group-fields .acf-field-list .copyable.input-copyable:not(.copy-unsupported) .acf-input-wrap:after{content:"";padding-left:5px;right:12px;top:12px;position:absolute;width:16px;height:16px;background-color:#98a2b3;border:none;border-radius:0;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;text-indent:500%;white-space:nowrap;overflow:hidden;-webkit-mask-image:url("../../images/icons/icon-copy.svg");mask-image:url("../../images/icons/icon-copy.svg");background-size:cover}#acf-field-group-fields .acf-field-list .copyable.input-copyable:not(.copy-unsupported).copied .acf-input-wrap:after{-webkit-mask-image:url("../../images/icons/icon-check-circle-solid.svg");mask-image:url("../../images/icons/icon-check-circle-solid.svg");background-color:#49ad52}#acf-field-group-fields .acf-field-list .no-fields-message{padding:15px 15px;background:#fff;display:none}#acf-field-group-fields .acf-field-list.-empty .no-fields-message{display:block}.acf-admin-3-8 #acf-field-group-fields .acf-field-list-wrap{border-color:#dfdfdf}.rtl #acf-field-group-fields .li-field-type .field-type-icon{margin-left:8px;margin-right:0}.acf-field-object{border-top:#eee solid 1px;background:#fff}.acf-field-object.ui-sortable-helper{overflow:hidden !important;border-width:1px;border-style:solid;border-color:#a5d2e7 !important;border-radius:8px;filter:drop-shadow(0px 10px 20px rgba(16, 24, 40, 0.14)) drop-shadow(0px 1px 3px rgba(16, 24, 40, 0.1))}.acf-field-object.ui-sortable-helper:before{display:none !important}.acf-field-object.ui-sortable-placeholder{box-shadow:0 -1px 0 0 #dfdfdf;visibility:visible !important;background:#f9f9f9;border-top-color:rgba(0,0,0,0);min-height:54px}.acf-field-object.ui-sortable-placeholder:after,.acf-field-object.ui-sortable-placeholder:before{visibility:hidden}.acf-field-object>.meta{display:none}.acf-field-object>.handle a{-webkit-transition:none;-moz-transition:none;-o-transition:none;transition:none}.acf-field-object>.handle li{word-wrap:break-word}.acf-field-object>.handle strong{display:block;padding-bottom:0;font-size:14px;line-height:14px;min-height:14px}.acf-field-object>.handle .row-options{display:block;opacity:0;margin-top:5px}@media screen and (max-width: 880px){.acf-field-object>.handle .row-options{opacity:1;margin-bottom:0}}.acf-field-object>.handle .row-options a{margin-right:4px}.acf-field-object>.handle .row-options a:hover{color:#044767}.acf-field-object>.handle .row-options a.delete-field{color:#a00}.acf-field-object>.handle .row-options a.delete-field:hover{color:red}.acf-field-object>.handle .row-options.active{visibility:visible}.acf-field-object.open+.acf-field-object{border-top-color:#e1e1e1}.acf-field-object.open>.handle{background:#2a9bd9;border:#2696d3 solid 1px;text-shadow:#268fbb 0 1px 0;color:#fff;position:relative;margin:0 -1px 0 -1px}.acf-field-object.open>.handle a{color:#fff !important}.acf-field-object.open>.handle a:hover{text-decoration:underline !important}.acf-field-object:hover>.handle .row-options,.acf-field-object.-hover>.handle .row-options,.acf-field-object:focus-within>.handle .row-options{opacity:1;margin-bottom:0}.acf-field-object>.settings{display:none;width:100%}.acf-field-object>.settings>.acf-table{border:none}.acf-field-object .rule-groups{margin-top:20px}.rule-groups h4{margin:3px 0}.rule-groups .rule-group{margin:0 0 5px}.rule-groups .rule-group h4{margin:0 0 3px}.rule-groups .rule-group td.param{width:35%}.rule-groups .rule-group td.operator{width:20%}.rule-groups .rule-group td.add{width:40px}.rule-groups .rule-group td.remove{width:28px;vertical-align:middle}.rule-groups .rule-group td.remove a{width:22px;height:22px;visibility:hidden}.rule-groups .rule-group td.remove a:before{position:relative;top:-2px;font-size:16px}.rule-groups .rule-group tr:hover td.remove a{visibility:visible}.rule-groups .rule-group select:empty{background:#f8f8f8}.rule-groups:not(.rule-groups-multiple) .rule-group:first-child tr:first-child td.remove a{visibility:hidden !important}#acf-field-group-options tr[data-name=hide_on_screen] li{float:left;width:33%}@media(max-width: 1100px){#acf-field-group-options tr[data-name=hide_on_screen] li{width:50%}}table.conditional-logic-rules{background:rgba(0,0,0,0);border:0 none;border-radius:0}table.conditional-logic-rules tbody td{background:rgba(0,0,0,0);border:0 none !important;padding:5px 2px !important}.acf-field-object-tab .acf-field-setting-name,.acf-field-object-tab .acf-field-setting-instructions,.acf-field-object-tab .acf-field-setting-required,.acf-field-object-tab .acf-field-setting-warning,.acf-field-object-tab .acf-field-setting-wrapper{display:none}.acf-field-object-tab .li-field-name{visibility:hidden}.acf-field-object-tab p:first-child{margin:.5em 0}.acf-field-object-tab li.acf-settings-type-presentation,.acf-field-object-tab .acf-field-settings-main-presentation{display:none !important}.acf-field-object-accordion .acf-field-setting-name,.acf-field-object-accordion .acf-field-setting-instructions,.acf-field-object-accordion .acf-field-setting-required,.acf-field-object-accordion .acf-field-setting-warning,.acf-field-object-accordion .acf-field-setting-wrapper{display:none}.acf-field-object-accordion .li-field-name{visibility:hidden}.acf-field-object-accordion p:first-child{margin:.5em 0}.acf-field-object-accordion .acf-field-setting-instructions{display:block}.acf-field-object-message tr[data-name=name],.acf-field-object-message tr[data-name=instructions],.acf-field-object-message tr[data-name=required]{display:none !important}.acf-field-object-message .li-field-name{visibility:hidden}.acf-field-object-message textarea{height:175px !important}.acf-field-object-separator tr[data-name=name],.acf-field-object-separator tr[data-name=instructions],.acf-field-object-separator tr[data-name=required]{display:none !important}.acf-field-object-date-picker .acf-radio-list li,.acf-field-object-time-picker .acf-radio-list li,.acf-field-object-date-time-picker .acf-radio-list li{line-height:25px}.acf-field-object-date-picker .acf-radio-list span,.acf-field-object-time-picker .acf-radio-list span,.acf-field-object-date-time-picker .acf-radio-list span{display:inline-block;min-width:10em}.acf-field-object-date-picker .acf-radio-list input[type=text],.acf-field-object-time-picker .acf-radio-list input[type=text],.acf-field-object-date-time-picker .acf-radio-list input[type=text]{width:100px}.acf-field-object-date-time-picker .acf-radio-list span{min-width:15em}.acf-field-object-date-time-picker .acf-radio-list input[type=text]{width:200px}#slugdiv .inside{padding:12px;margin:0}#slugdiv input[type=text]{width:100%;height:28px;font-size:14px}html[dir=rtl] .acf-field-object.open>.handle{margin:0}@media only screen and (max-width: 850px){tr.acf-field,td.acf-label,td.acf-input{display:block !important;width:auto !important;border:0 none !important}tr.acf-field{border-top:#ededed solid 1px !important;margin-bottom:0 !important}td.acf-label{background:rgba(0,0,0,0) !important;padding-bottom:0 !important}}.post-type-acf-field-group #acf-field-group-fields .acf-field-object-tab,.post-type-acf-field-group #acf-field-group-fields .acf-field-object-accordion{background-color:#f9fafb}.acf-admin-page #wpcontent{line-height:140%}.acf-admin-page a{color:#0783be}.acf-h1,.acf-admin-page h1,.acf-headerbar h1{font-size:21px;font-weight:400}.acf-h2,.post-type-acf-field-group #acf-field-group-fields .acf-field-list.-empty .no-fields-message .no-fields-message-inner h2,.acf-page-title,.acf-admin-page h2,.acf-headerbar h2{font-size:18px;font-weight:400}.acf-h3,.post-type-acf-field-group .acf-field-settings-fc_head label,.acf-admin-page #acf-popup .acf-popup-box .title h1,.acf-admin-page #acf-popup .acf-popup-box .title h2,.acf-admin-page #acf-popup .acf-popup-box .title h3,.acf-admin-page #acf-popup .acf-popup-box .title h4,.acf-admin-page h3,.acf-headerbar h3{font-size:16px;font-weight:400}.acf-admin-page .p1{font-size:15px}.acf-admin-page .p2,.acf-admin-page .post-type-acf-field-group #acf-field-group-fields .acf-field-list.-empty .no-fields-message .no-fields-message-inner p,.post-type-acf-field-group #acf-field-group-fields .acf-field-list.-empty .no-fields-message .no-fields-message-inner .acf-admin-page p{font-size:14px}.acf-admin-page .p3{font-size:13.5px}.acf-admin-page .p4,.acf-admin-page .acf-field-list .acf-sortable-handle,.acf-field-list .acf-admin-page .acf-sortable-handle,.acf-admin-page .post-type-acf-field-group .acf-field-object .handle li.li-field-label a.edit-field,.post-type-acf-field-group .acf-field-object .handle li.li-field-label .acf-admin-page a.edit-field,.acf-admin-page .post-type-acf-field-group .acf-field-object .handle li,.post-type-acf-field-group .acf-field-object .handle .acf-admin-page li,.acf-admin-page .post-type-acf-field-group .acf-thead li,.post-type-acf-field-group .acf-thead .acf-admin-page li,.acf-admin-page .acf-input .select2-container.-acf .select2-selection__rendered,.acf-admin-page .rule-groups .select2-container.-acf .select2-selection__rendered,.acf-admin-page .button,.acf-admin-page input[type=text],.acf-admin-page input[type=search],.acf-admin-page input[type=number],.acf-admin-page textarea,.acf-admin-page select{font-size:13px}.acf-admin-page .p5,.acf-admin-page .acf-field-setting-display_format .acf-radio-list li label code,.acf-field-setting-display_format .acf-radio-list li label .acf-admin-page code,.acf-admin-page .acf-field-setting-return_format .acf-radio-list li label code,.acf-field-setting-return_format .acf-radio-list li label .acf-admin-page code,.acf-admin-page .acf-field-group-settings-footer .acf-created-on,.acf-field-group-settings-footer .acf-admin-page .acf-created-on,.acf-admin-page .acf-fields .acf-field-settings-tab-bar li a,.acf-fields .acf-field-settings-tab-bar li .acf-admin-page a,.acf-admin-page .acf-fields .acf-tab-wrap .acf-tab-group li a,.acf-fields .acf-tab-wrap .acf-tab-group li .acf-admin-page a,.acf-admin-page.acf-internal-post-type .acf-field-settings-tab-bar li a,.acf-admin-page.acf-internal-post-type .acf-tab-wrap .acf-tab-group li a,.acf-admin-page .acf-browse-fields-modal-wrap .acf-field-settings-tab-bar li a,.acf-browse-fields-modal-wrap .acf-field-settings-tab-bar li .acf-admin-page a,.acf-admin-page .acf-browse-fields-modal-wrap .acf-tab-wrap .acf-tab-group li a,.acf-browse-fields-modal-wrap .acf-tab-wrap .acf-tab-group li .acf-admin-page a{font-size:12.5px}.acf-admin-page .p6,.acf-admin-page .post-type-acf-field-group #acf-field-group-fields .acf-field-list.-empty .no-fields-message .no-fields-message-inner p.acf-small,.post-type-acf-field-group #acf-field-group-fields .acf-field-list.-empty .no-fields-message .no-fields-message-inner .acf-admin-page p.acf-small,.acf-admin-page .post-type-acf-field-group .acf-field-object .handle li.li-field-label .row-options a,.post-type-acf-field-group .acf-field-object .handle li.li-field-label .row-options .acf-admin-page a,.acf-admin-page .acf-small{font-size:12px}.acf-admin-page .p7{font-size:11.5px}.acf-admin-page .p8{font-size:11px}.acf-page-title{color:#344054}.acf-admin-page .acf-settings-wrap h1{display:none !important}.acf-admin-page #acf-admin-tools h1:not(.acf-field-group-pro-features-title,.acf-field-group-pro-features-title-sm){display:none !important}.acf-admin-page a:focus{box-shadow:none;outline:none}.acf-admin-page a:focus-visible{box-shadow:0 0 0 1px #4f94d4,0 0 2px 1px rgba(79,148,212,.8);outline:1px solid rgba(0,0,0,0)}.acf-admin-page input[type=text],.acf-admin-page input[type=search],.acf-admin-page input[type=number],.acf-admin-page textarea,.acf-admin-page select{box-sizing:border-box;height:40px;padding-right:12px;padding-left:12px;background-color:#fff;border-color:#d0d5dd;box-shadow:0px 1px 2px rgba(16,24,40,.1);border-radius:6px;color:#344054}.acf-admin-page input[type=text]:focus,.acf-admin-page input[type=search]:focus,.acf-admin-page input[type=number]:focus,.acf-admin-page textarea:focus,.acf-admin-page select:focus{outline:3px solid #ebf5fa;border-color:#399ccb}.acf-admin-page input[type=text]:disabled,.acf-admin-page input[type=search]:disabled,.acf-admin-page input[type=number]:disabled,.acf-admin-page textarea:disabled,.acf-admin-page select:disabled{background-color:#f9fafb;color:#808a9e}.acf-admin-page input[type=text]::placeholder,.acf-admin-page input[type=search]::placeholder,.acf-admin-page input[type=number]::placeholder,.acf-admin-page textarea::placeholder,.acf-admin-page select::placeholder{color:#98a2b3}.acf-admin-page input[type=text]:read-only{background-color:#f9fafb;color:#98a2b3}.acf-admin-page .acf-field.acf-field-number .acf-label,.acf-admin-page .acf-field.acf-field-number .acf-input input[type=number]{max-width:180px}.acf-admin-page textarea{box-sizing:border-box;padding-top:10px;padding-bottom:10px;height:80px;min-height:56px}.acf-admin-page select{min-width:160px;max-width:100%;padding-right:40px;padding-left:12px;background-image:url("../../images/icons/icon-chevron-down.svg");background-position:right 10px top 50%;background-size:20px}.acf-admin-page select:hover,.acf-admin-page select:focus{color:#0783be}.acf-admin-page select::before{content:"";display:block;position:absolute;top:5px;left:5px;width:20px;height:20px}.acf-admin-page.rtl select{padding-right:12px;padding-left:40px;background-position:left 10px top 50%}.acf-admin-page input[type=radio],.acf-admin-page input[type=checkbox]{box-sizing:border-box;width:16px;height:16px;padding:0;border-width:1px;border-style:solid;border-color:#98a2b3;background:#fff;box-shadow:none}.acf-admin-page input[type=radio]:hover,.acf-admin-page input[type=checkbox]:hover{background-color:#ebf5fa;border-color:#0783be}.acf-admin-page input[type=radio]:checked,.acf-admin-page input[type=radio]:focus-visible,.acf-admin-page input[type=checkbox]:checked,.acf-admin-page input[type=checkbox]:focus-visible{background-color:#ebf5fa;border-color:#0783be}.acf-admin-page input[type=radio]:checked:before,.acf-admin-page input[type=radio]:focus-visible:before,.acf-admin-page input[type=checkbox]:checked:before,.acf-admin-page input[type=checkbox]:focus-visible:before{content:"";position:relative;top:-1px;left:-1px;width:16px;height:16px;margin:0;padding:0;background-color:rgba(0,0,0,0);background-size:cover;background-repeat:no-repeat;background-position:center}.acf-admin-page input[type=radio]:active,.acf-admin-page input[type=checkbox]:active{box-shadow:0px 0px 0px 3px #ebf5fa,0px 0px 0px rgba(255,54,54,.25)}.acf-admin-page input[type=radio]:disabled,.acf-admin-page input[type=checkbox]:disabled{background-color:#f9fafb;border-color:#d0d5dd}.acf-admin-page.rtl input[type=radio]:checked:before,.acf-admin-page.rtl input[type=radio]:focus-visible:before,.acf-admin-page.rtl input[type=checkbox]:checked:before,.acf-admin-page.rtl input[type=checkbox]:focus-visible:before{left:1px}.acf-admin-page input[type=radio]:checked:before,.acf-admin-page input[type=radio]:focus:before{background-image:url("../../images/field-states/radio-active.svg")}.acf-admin-page input[type=checkbox]:checked:before,.acf-admin-page input[type=checkbox]:focus:before{background-image:url("../../images/field-states/checkbox-active.svg")}.acf-admin-page .acf-radio-list li input[type=radio],.acf-admin-page .acf-radio-list li input[type=checkbox],.acf-admin-page .acf-checkbox-list li input[type=radio],.acf-admin-page .acf-checkbox-list li input[type=checkbox]{margin-right:6px}.acf-admin-page .acf-radio-list.acf-bl li,.acf-admin-page .acf-checkbox-list.acf-bl li{margin-bottom:8px}.acf-admin-page .acf-radio-list.acf-bl li:last-of-type,.acf-admin-page .acf-checkbox-list.acf-bl li:last-of-type{margin-bottom:0}.acf-admin-page .acf-radio-list label,.acf-admin-page .acf-checkbox-list label{display:flex;align-items:center;align-content:center}.acf-admin-page .acf-switch{width:42px;height:24px;border:none;background-color:#d0d5dd;border-radius:12px}.acf-admin-page .acf-switch:hover{background-color:#98a2b3}.acf-admin-page .acf-switch:active{box-shadow:0px 0px 0px 3px #ebf5fa,0px 0px 0px rgba(255,54,54,.25)}.acf-admin-page .acf-switch.-on{background-color:#0783be}.acf-admin-page .acf-switch.-on:hover{background-color:#066998}.acf-admin-page .acf-switch.-on .acf-switch-slider{left:20px}.acf-admin-page .acf-switch .acf-switch-off,.acf-admin-page .acf-switch .acf-switch-on{visibility:hidden}.acf-admin-page .acf-switch .acf-switch-slider{width:20px;height:20px;border:none;border-radius:100px;box-shadow:0px 1px 3px rgba(16,24,40,.1),0px 1px 2px rgba(16,24,40,.06)}.acf-admin-page .acf-field-true-false{display:flex;align-items:flex-start}.acf-admin-page .acf-field-true-false .acf-label{order:2;display:block;align-items:center;margin-top:2px;margin-bottom:0;margin-left:12px}.acf-admin-page .acf-field-true-false .acf-label label{margin-bottom:0}.acf-admin-page .acf-field-true-false .acf-label .acf-tip{margin-left:12px}.acf-admin-page .acf-field-true-false .acf-label .description{display:block;margin-top:2px;margin-left:0}.acf-admin-page.rtl .acf-field-true-false .acf-label{margin-right:12px;margin-left:0}.acf-admin-page.rtl .acf-field-true-false .acf-tip{margin-right:12px;margin-left:0}.acf-admin-page input::file-selector-button{box-sizing:border-box;min-height:40px;margin-right:16px;padding-top:8px;padding-right:16px;padding-bottom:8px;padding-left:16px;background-color:rgba(0,0,0,0);color:#0783be !important;border-radius:6px;border-width:1px;border-style:solid;border-color:#0783be;text-decoration:none}.acf-admin-page input::file-selector-button:hover{border-color:#066998;cursor:pointer;color:#066998 !important}.acf-admin-page .button{display:inline-flex;align-items:center;height:40px;padding-right:16px;padding-left:16px;background-color:rgba(0,0,0,0);border-width:1px;border-style:solid;border-color:#0783be;border-radius:6px;color:#0783be}.acf-admin-page .button:hover{background-color:#f3f9fc;border-color:#0783be;color:#0783be}.acf-admin-page .button:focus{background-color:#f3f9fc;outline:3px solid #ebf5fa;color:#0783be}.acf-admin-page .edit-field-group-header{display:block !important}.acf-admin-page .acf-input .select2-container.-acf .select2-selection,.acf-admin-page .rule-groups .select2-container.-acf .select2-selection{border:none;line-height:1}.acf-admin-page .acf-input .select2-container.-acf .select2-selection__rendered,.acf-admin-page .rule-groups .select2-container.-acf .select2-selection__rendered{box-sizing:border-box;padding-right:0;padding-left:0;background-color:#fff;border-width:1px;border-style:solid;border-color:#d0d5dd;box-shadow:0px 1px 2px rgba(16,24,40,.1);border-radius:6px;color:#344054}.acf-admin-page .acf-input .acf-conditional-select-name,.acf-admin-page .rule-groups .acf-conditional-select-name{min-width:180px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.acf-admin-page .acf-input .acf-conditional-select-id,.acf-admin-page .rule-groups .acf-conditional-select-id{padding-right:30px}.acf-admin-page .acf-input .value .select2-container--focus,.acf-admin-page .rule-groups .value .select2-container--focus{height:40px}.acf-admin-page .acf-input .value .select2-container--open .select2-selection__rendered,.acf-admin-page .rule-groups .value .select2-container--open .select2-selection__rendered{border-color:#399ccb}.acf-admin-page .acf-input .select2-container--focus,.acf-admin-page .rule-groups .select2-container--focus{outline:3px solid #ebf5fa;border-color:#399ccb;border-radius:6px}.acf-admin-page .acf-input .select2-container--focus .select2-selection__rendered,.acf-admin-page .rule-groups .select2-container--focus .select2-selection__rendered{border-color:#399ccb !important}.acf-admin-page .acf-input .select2-container--focus.select2-container--below.select2-container--open .select2-selection__rendered,.acf-admin-page .rule-groups .select2-container--focus.select2-container--below.select2-container--open .select2-selection__rendered{border-bottom-right-radius:0 !important;border-bottom-left-radius:0 !important}.acf-admin-page .acf-input .select2-container--focus.select2-container--above.select2-container--open .select2-selection__rendered,.acf-admin-page .rule-groups .select2-container--focus.select2-container--above.select2-container--open .select2-selection__rendered{border-top-right-radius:0 !important;border-top-left-radius:0 !important}.acf-admin-page .acf-input .select2-container .select2-search--inline .select2-search__field,.acf-admin-page .rule-groups .select2-container .select2-search--inline .select2-search__field{margin:0;padding-left:6px}.acf-admin-page .acf-input .select2-container .select2-search--inline .select2-search__field:focus,.acf-admin-page .rule-groups .select2-container .select2-search--inline .select2-search__field:focus{outline:none;border:none}.acf-admin-page .acf-input .select2-container--default .select2-selection--multiple .select2-selection__rendered,.acf-admin-page .rule-groups .select2-container--default .select2-selection--multiple .select2-selection__rendered{padding-top:0;padding-right:6px;padding-bottom:0;padding-left:6px}.acf-admin-page .acf-input .select2-selection__clear,.acf-admin-page .rule-groups .select2-selection__clear{width:18px;height:18px;margin-top:12px;margin-right:1px;text-indent:100%;white-space:nowrap;overflow:hidden;color:#fff}.acf-admin-page .acf-input .select2-selection__clear:before,.acf-admin-page .rule-groups .select2-selection__clear:before{content:"";display:block;width:16px;height:16px;top:0;left:0;border:none;border-radius:0;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;-webkit-mask-image:url("../../images/icons/icon-close.svg");mask-image:url("../../images/icons/icon-close.svg");background-color:#98a2b3}.acf-admin-page .acf-input .select2-selection__clear:hover::before,.acf-admin-page .rule-groups .select2-selection__clear:hover::before{background-color:#0783be}.acf-admin-page .acf-label{display:flex;align-items:center;justify-content:space-between}.acf-admin-page .acf-label .acf-icon-help{width:18px;height:18px;background-color:#98a2b3}.acf-admin-page .acf-label label{margin-bottom:0}.acf-admin-page .acf-label .description{margin-top:2px}.acf-admin-page .acf-field-setting-name .acf-tip{position:absolute;top:0;left:654px;color:#98a2b3}.rtl.acf-admin-page .acf-field-setting-name .acf-tip{left:auto;right:654px}.acf-admin-page .acf-field-setting-name .acf-tip .acf-icon-help{width:18px;height:18px}.acf-admin-page .acf-field-setting-type .select2-container.-acf,.acf-admin-page .acf-field-permalink-rewrite .select2-container.-acf,.acf-admin-page .acf-field-query-var .select2-container.-acf,.acf-admin-page .acf-field-capability .select2-container.-acf,.acf-admin-page .acf-field-parent-slug .select2-container.-acf,.acf-admin-page .acf-field-data-storage .select2-container.-acf,.acf-admin-page .acf-field-manage-terms .select2-container.-acf,.acf-admin-page .acf-field-edit-terms .select2-container.-acf,.acf-admin-page .acf-field-delete-terms .select2-container.-acf,.acf-admin-page .acf-field-assign-terms .select2-container.-acf,.acf-admin-page .acf-field-meta-box .select2-container.-acf,.acf-admin-page .rule-groups .select2-container.-acf{min-height:40px}.acf-admin-page .acf-field-setting-type .select2-container--default .select2-selection--single .select2-selection__rendered,.acf-admin-page .acf-field-permalink-rewrite .select2-container--default .select2-selection--single .select2-selection__rendered,.acf-admin-page .acf-field-query-var .select2-container--default .select2-selection--single .select2-selection__rendered,.acf-admin-page .acf-field-capability .select2-container--default .select2-selection--single .select2-selection__rendered,.acf-admin-page .acf-field-parent-slug .select2-container--default .select2-selection--single .select2-selection__rendered,.acf-admin-page .acf-field-data-storage .select2-container--default .select2-selection--single .select2-selection__rendered,.acf-admin-page .acf-field-manage-terms .select2-container--default .select2-selection--single .select2-selection__rendered,.acf-admin-page .acf-field-edit-terms .select2-container--default .select2-selection--single .select2-selection__rendered,.acf-admin-page .acf-field-delete-terms .select2-container--default .select2-selection--single .select2-selection__rendered,.acf-admin-page .acf-field-assign-terms .select2-container--default .select2-selection--single .select2-selection__rendered,.acf-admin-page .acf-field-meta-box .select2-container--default .select2-selection--single .select2-selection__rendered,.acf-admin-page .rule-groups .select2-container--default .select2-selection--single .select2-selection__rendered{display:flex;align-items:center;position:relative;z-index:800;min-height:40px;padding-top:0;padding-right:12px;padding-bottom:0;padding-left:12px}.acf-admin-page .acf-field-setting-type .select2-container--default .select2-selection--single .field-type-icon,.acf-admin-page .acf-field-permalink-rewrite .select2-container--default .select2-selection--single .field-type-icon,.acf-admin-page .acf-field-query-var .select2-container--default .select2-selection--single .field-type-icon,.acf-admin-page .acf-field-capability .select2-container--default .select2-selection--single .field-type-icon,.acf-admin-page .acf-field-parent-slug .select2-container--default .select2-selection--single .field-type-icon,.acf-admin-page .acf-field-data-storage .select2-container--default .select2-selection--single .field-type-icon,.acf-admin-page .acf-field-manage-terms .select2-container--default .select2-selection--single .field-type-icon,.acf-admin-page .acf-field-edit-terms .select2-container--default .select2-selection--single .field-type-icon,.acf-admin-page .acf-field-delete-terms .select2-container--default .select2-selection--single .field-type-icon,.acf-admin-page .acf-field-assign-terms .select2-container--default .select2-selection--single .field-type-icon,.acf-admin-page .acf-field-meta-box .select2-container--default .select2-selection--single .field-type-icon,.acf-admin-page .rule-groups .select2-container--default .select2-selection--single .field-type-icon{top:auto;width:18px;height:18px;margin-right:2px}.acf-admin-page .acf-field-setting-type .select2-container--default .select2-selection--single .field-type-icon:before,.acf-admin-page .acf-field-permalink-rewrite .select2-container--default .select2-selection--single .field-type-icon:before,.acf-admin-page .acf-field-query-var .select2-container--default .select2-selection--single .field-type-icon:before,.acf-admin-page .acf-field-capability .select2-container--default .select2-selection--single .field-type-icon:before,.acf-admin-page .acf-field-parent-slug .select2-container--default .select2-selection--single .field-type-icon:before,.acf-admin-page .acf-field-data-storage .select2-container--default .select2-selection--single .field-type-icon:before,.acf-admin-page .acf-field-manage-terms .select2-container--default .select2-selection--single .field-type-icon:before,.acf-admin-page .acf-field-edit-terms .select2-container--default .select2-selection--single .field-type-icon:before,.acf-admin-page .acf-field-delete-terms .select2-container--default .select2-selection--single .field-type-icon:before,.acf-admin-page .acf-field-assign-terms .select2-container--default .select2-selection--single .field-type-icon:before,.acf-admin-page .acf-field-meta-box .select2-container--default .select2-selection--single .field-type-icon:before,.acf-admin-page .rule-groups .select2-container--default .select2-selection--single .field-type-icon:before{width:9px;height:9px}.acf-admin-page .acf-field-setting-type .select2-container--open .select2-selection__rendered,.acf-admin-page .acf-field-permalink-rewrite .select2-container--open .select2-selection__rendered,.acf-admin-page .acf-field-query-var .select2-container--open .select2-selection__rendered,.acf-admin-page .acf-field-capability .select2-container--open .select2-selection__rendered,.acf-admin-page .acf-field-parent-slug .select2-container--open .select2-selection__rendered,.acf-admin-page .acf-field-data-storage .select2-container--open .select2-selection__rendered,.acf-admin-page .acf-field-manage-terms .select2-container--open .select2-selection__rendered,.acf-admin-page .acf-field-edit-terms .select2-container--open .select2-selection__rendered,.acf-admin-page .acf-field-delete-terms .select2-container--open .select2-selection__rendered,.acf-admin-page .acf-field-assign-terms .select2-container--open .select2-selection__rendered,.acf-admin-page .acf-field-meta-box .select2-container--open .select2-selection__rendered,.acf-admin-page .rule-groups .select2-container--open .select2-selection__rendered{border-color:#6bb5d8 !important;border-bottom-color:#d0d5dd !important}.acf-admin-page .acf-field-setting-type .select2-container--open.select2-container--below .select2-selection__rendered,.acf-admin-page .acf-field-permalink-rewrite .select2-container--open.select2-container--below .select2-selection__rendered,.acf-admin-page .acf-field-query-var .select2-container--open.select2-container--below .select2-selection__rendered,.acf-admin-page .acf-field-capability .select2-container--open.select2-container--below .select2-selection__rendered,.acf-admin-page .acf-field-parent-slug .select2-container--open.select2-container--below .select2-selection__rendered,.acf-admin-page .acf-field-data-storage .select2-container--open.select2-container--below .select2-selection__rendered,.acf-admin-page .acf-field-manage-terms .select2-container--open.select2-container--below .select2-selection__rendered,.acf-admin-page .acf-field-edit-terms .select2-container--open.select2-container--below .select2-selection__rendered,.acf-admin-page .acf-field-delete-terms .select2-container--open.select2-container--below .select2-selection__rendered,.acf-admin-page .acf-field-assign-terms .select2-container--open.select2-container--below .select2-selection__rendered,.acf-admin-page .acf-field-meta-box .select2-container--open.select2-container--below .select2-selection__rendered,.acf-admin-page .rule-groups .select2-container--open.select2-container--below .select2-selection__rendered{border-bottom-right-radius:0 !important;border-bottom-left-radius:0 !important}.acf-admin-page .acf-field-setting-type .select2-container--open.select2-container--above .select2-selection__rendered,.acf-admin-page .acf-field-permalink-rewrite .select2-container--open.select2-container--above .select2-selection__rendered,.acf-admin-page .acf-field-query-var .select2-container--open.select2-container--above .select2-selection__rendered,.acf-admin-page .acf-field-capability .select2-container--open.select2-container--above .select2-selection__rendered,.acf-admin-page .acf-field-parent-slug .select2-container--open.select2-container--above .select2-selection__rendered,.acf-admin-page .acf-field-data-storage .select2-container--open.select2-container--above .select2-selection__rendered,.acf-admin-page .acf-field-manage-terms .select2-container--open.select2-container--above .select2-selection__rendered,.acf-admin-page .acf-field-edit-terms .select2-container--open.select2-container--above .select2-selection__rendered,.acf-admin-page .acf-field-delete-terms .select2-container--open.select2-container--above .select2-selection__rendered,.acf-admin-page .acf-field-assign-terms .select2-container--open.select2-container--above .select2-selection__rendered,.acf-admin-page .acf-field-meta-box .select2-container--open.select2-container--above .select2-selection__rendered,.acf-admin-page .rule-groups .select2-container--open.select2-container--above .select2-selection__rendered{border-top-right-radius:0 !important;border-top-left-radius:0 !important;border-bottom-color:#6bb5d8 !important;border-top-color:#d0d5dd !important}.acf-admin-page .acf-field-setting-type .acf-selection.has-icon,.acf-admin-page .acf-field-permalink-rewrite .acf-selection.has-icon,.acf-admin-page .acf-field-query-var .acf-selection.has-icon,.acf-admin-page .acf-field-capability .acf-selection.has-icon,.acf-admin-page .acf-field-parent-slug .acf-selection.has-icon,.acf-admin-page .acf-field-data-storage .acf-selection.has-icon,.acf-admin-page .acf-field-manage-terms .acf-selection.has-icon,.acf-admin-page .acf-field-edit-terms .acf-selection.has-icon,.acf-admin-page .acf-field-delete-terms .acf-selection.has-icon,.acf-admin-page .acf-field-assign-terms .acf-selection.has-icon,.acf-admin-page .acf-field-meta-box .acf-selection.has-icon,.acf-admin-page .rule-groups .acf-selection.has-icon{margin-left:6px}.rtl.acf-admin-page .acf-field-setting-type .acf-selection.has-icon,.acf-admin-page .acf-field-permalink-rewrite .acf-selection.has-icon,.acf-admin-page .acf-field-query-var .acf-selection.has-icon,.acf-admin-page .acf-field-capability .acf-selection.has-icon,.acf-admin-page .acf-field-parent-slug .acf-selection.has-icon,.acf-admin-page .acf-field-data-storage .acf-selection.has-icon,.acf-admin-page .acf-field-manage-terms .acf-selection.has-icon,.acf-admin-page .acf-field-edit-terms .acf-selection.has-icon,.acf-admin-page .acf-field-delete-terms .acf-selection.has-icon,.acf-admin-page .acf-field-assign-terms .acf-selection.has-icon,.acf-admin-page .acf-field-meta-box .acf-selection.has-icon,.acf-admin-page .rule-groups .acf-selection.has-icon{margin-right:6px}.acf-admin-page .acf-field-setting-type .select2-selection__arrow,.acf-admin-page .acf-field-permalink-rewrite .select2-selection__arrow,.acf-admin-page .acf-field-query-var .select2-selection__arrow,.acf-admin-page .acf-field-capability .select2-selection__arrow,.acf-admin-page .acf-field-parent-slug .select2-selection__arrow,.acf-admin-page .acf-field-data-storage .select2-selection__arrow,.acf-admin-page .acf-field-manage-terms .select2-selection__arrow,.acf-admin-page .acf-field-edit-terms .select2-selection__arrow,.acf-admin-page .acf-field-delete-terms .select2-selection__arrow,.acf-admin-page .acf-field-assign-terms .select2-selection__arrow,.acf-admin-page .acf-field-meta-box .select2-selection__arrow,.acf-admin-page .rule-groups .select2-selection__arrow{width:20px;height:20px;top:calc(50% - 10px);right:12px;background-color:rgba(0,0,0,0)}.acf-admin-page .acf-field-setting-type .select2-selection__arrow:after,.acf-admin-page .acf-field-permalink-rewrite .select2-selection__arrow:after,.acf-admin-page .acf-field-query-var .select2-selection__arrow:after,.acf-admin-page .acf-field-capability .select2-selection__arrow:after,.acf-admin-page .acf-field-parent-slug .select2-selection__arrow:after,.acf-admin-page .acf-field-data-storage .select2-selection__arrow:after,.acf-admin-page .acf-field-manage-terms .select2-selection__arrow:after,.acf-admin-page .acf-field-edit-terms .select2-selection__arrow:after,.acf-admin-page .acf-field-delete-terms .select2-selection__arrow:after,.acf-admin-page .acf-field-assign-terms .select2-selection__arrow:after,.acf-admin-page .acf-field-meta-box .select2-selection__arrow:after,.acf-admin-page .rule-groups .select2-selection__arrow:after{content:"";display:block;position:absolute;z-index:850;top:1px;left:0;width:20px;height:20px;-webkit-mask-image:url("../../images/icons/icon-chevron-down.svg");mask-image:url("../../images/icons/icon-chevron-down.svg");background-color:#667085;border:none;border-radius:0;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;text-indent:500%;white-space:nowrap;overflow:hidden}.acf-admin-page .acf-field-setting-type .select2-selection__arrow b[role=presentation],.acf-admin-page .acf-field-permalink-rewrite .select2-selection__arrow b[role=presentation],.acf-admin-page .acf-field-query-var .select2-selection__arrow b[role=presentation],.acf-admin-page .acf-field-capability .select2-selection__arrow b[role=presentation],.acf-admin-page .acf-field-parent-slug .select2-selection__arrow b[role=presentation],.acf-admin-page .acf-field-data-storage .select2-selection__arrow b[role=presentation],.acf-admin-page .acf-field-manage-terms .select2-selection__arrow b[role=presentation],.acf-admin-page .acf-field-edit-terms .select2-selection__arrow b[role=presentation],.acf-admin-page .acf-field-delete-terms .select2-selection__arrow b[role=presentation],.acf-admin-page .acf-field-assign-terms .select2-selection__arrow b[role=presentation],.acf-admin-page .acf-field-meta-box .select2-selection__arrow b[role=presentation],.acf-admin-page .rule-groups .select2-selection__arrow b[role=presentation]{display:none}.acf-admin-page .acf-field-setting-type .select2-container--open .select2-selection__arrow:after,.acf-admin-page .acf-field-permalink-rewrite .select2-container--open .select2-selection__arrow:after,.acf-admin-page .acf-field-query-var .select2-container--open .select2-selection__arrow:after,.acf-admin-page .acf-field-capability .select2-container--open .select2-selection__arrow:after,.acf-admin-page .acf-field-parent-slug .select2-container--open .select2-selection__arrow:after,.acf-admin-page .acf-field-data-storage .select2-container--open .select2-selection__arrow:after,.acf-admin-page .acf-field-manage-terms .select2-container--open .select2-selection__arrow:after,.acf-admin-page .acf-field-edit-terms .select2-container--open .select2-selection__arrow:after,.acf-admin-page .acf-field-delete-terms .select2-container--open .select2-selection__arrow:after,.acf-admin-page .acf-field-assign-terms .select2-container--open .select2-selection__arrow:after,.acf-admin-page .acf-field-meta-box .select2-container--open .select2-selection__arrow:after,.acf-admin-page .rule-groups .select2-container--open .select2-selection__arrow:after{-webkit-mask-image:url("../../images/icons/icon-chevron-up.svg");mask-image:url("../../images/icons/icon-chevron-up.svg")}.acf-admin-page .acf-term-search-term-name{background-color:#f9fafb;border-top:1px solid #eaecf0;border-bottom:1px solid #eaecf0;color:#98a2b3;padding:5px 5px 5px 10px;width:100%;margin:0;display:block;font-weight:300}.acf-admin-page .field-type-select-results{position:relative;top:4px;z-index:1002;border-radius:0 0 6px 6px;box-shadow:0px 8px 24px 4px rgba(16,24,40,.12)}.acf-admin-page .field-type-select-results.select2-dropdown--above{display:flex;flex-direction:column-reverse;top:0;border-radius:6px 6px 0 0;z-index:99999}.select2-container.select2-container--open.acf-admin-page .field-type-select-results{box-shadow:0px 0px 0px 3px #ebf5fa,0px 8px 24px 4px rgba(16,24,40,.12)}.acf-admin-page .field-type-select-results .acf-selection.has-icon{margin-left:6px}.rtl.acf-admin-page .field-type-select-results .acf-selection.has-icon{margin-right:6px}.acf-admin-page .field-type-select-results .select2-search{position:relative;margin:0;padding:0}.acf-admin-page .field-type-select-results .select2-search--dropdown:after{content:"";display:block;position:absolute;top:12px;left:13px;width:16px;height:16px;-webkit-mask-image:url("../../images/icons/icon-search.svg");mask-image:url("../../images/icons/icon-search.svg");background-color:#98a2b3;border:none;border-radius:0;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;text-indent:500%;white-space:nowrap;overflow:hidden}.rtl.acf-admin-page .field-type-select-results .select2-search--dropdown:after{right:12px;left:auto}.acf-admin-page .field-type-select-results .select2-search .select2-search__field{padding-left:38px;border-right:0;border-bottom:0;border-left:0;border-radius:0}.rtl.acf-admin-page .field-type-select-results .select2-search .select2-search__field{padding-right:38px;padding-left:0}.acf-admin-page .field-type-select-results .select2-search .select2-search__field:focus{border-top-color:#d0d5dd;outline:0}.acf-admin-page .field-type-select-results .select2-results__options{max-height:440px}.acf-admin-page .field-type-select-results .select2-results__option .select2-results__option--highlighted{background-color:#0783be !important;color:#f9fafb !important}.acf-admin-page .field-type-select-results .select2-results__option .select2-results__option{display:inline-flex;position:relative;width:calc(100% - 24px);min-height:32px;padding-top:0;padding-right:12px;padding-bottom:0;padding-left:12px;align-items:center}.acf-admin-page .field-type-select-results .select2-results__option .select2-results__option .field-type-icon{top:auto;width:18px;height:18px;margin-right:2px;box-shadow:0 0 0 1px #f9fafb}.acf-admin-page .field-type-select-results .select2-results__option .select2-results__option .field-type-icon:before{width:9px;height:9px}.acf-admin-page .field-type-select-results .select2-results__option[aria-selected=true]{background-color:#ebf5fa !important;color:#344054 !important}.acf-admin-page .field-type-select-results .select2-results__option[aria-selected=true]:after{content:"";right:13px;position:absolute;width:16px;height:16px;-webkit-mask-image:url("../../images/icons/icon-check.svg");mask-image:url("../../images/icons/icon-check.svg");background-color:#0783be;border:none;border-radius:0;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;text-indent:500%;white-space:nowrap;overflow:hidden}.rtl.acf-admin-page .field-type-select-results .select2-results__option[aria-selected=true]:after{left:13px;right:auto}.acf-admin-page .field-type-select-results .select2-results__group{display:inline-flex;align-items:center;width:calc(100% - 24px);min-height:25px;background-color:#f9fafb;border-top-width:1px;border-top-style:solid;border-top-color:#eaecf0;border-bottom-width:1px;border-bottom-style:solid;border-bottom-color:#eaecf0;color:#98a2b3;font-size:11px;margin-bottom:0;padding-top:0;padding-right:12px;padding-bottom:0;padding-left:12px;font-weight:normal}.acf-admin-page.rtl .acf-field-setting-type .select2-selection__arrow:after,.acf-admin-page.rtl .acf-field-permalink-rewrite .select2-selection__arrow:after,.acf-admin-page.rtl .acf-field-query-var .select2-selection__arrow:after{right:auto;left:10px}.rtl.post-type-acf-field-group .acf-field-setting-name .acf-tip,.rtl.acf-internal-post-type .acf-field-setting-name .acf-tip{left:auto;right:654px}.post-type-acf-field-group .metabox-holder.columns-1 #acf-field-group-fields,.post-type-acf-field-group .metabox-holder.columns-1 #acf-field-group-options,.post-type-acf-field-group .metabox-holder.columns-1 .meta-box-sortables.ui-sortable,.post-type-acf-field-group .metabox-holder.columns-1 .notice{max-width:1440px}.post-type-acf-field-group.columns-1 .notice{max-width:1440px}.post-type-acf-field-group.columns-2 .acf-headerbar .acf-headerbar-inner{max-width:100%}.post-type-acf-field-group #poststuff{margin-top:0;margin-right:0;margin-bottom:0;margin-left:0;padding-top:0;padding-right:0;padding-bottom:0;padding-left:0}.post-type-acf-field-group #acf-field-group-fields .acf-field-list-wrap{overflow:hidden;border:none;border-radius:0 0 8px 8px;box-shadow:0px 1px 2px rgba(16,24,40,.1)}.post-type-acf-field-group #acf-field-group-fields .acf-field-list-wrap.-empty{border-top-width:1px;border-top-style:solid;border-top-color:#eaecf0}.post-type-acf-field-group #acf-field-group-fields .acf-field-list-wrap.-empty .acf-thead,.post-type-acf-field-group #acf-field-group-fields .acf-field-list-wrap.-empty .acf-tfoot{display:none}.post-type-acf-field-group #acf-field-group-fields .acf-field-list-wrap.-empty .no-fields-message{min-height:280px}.post-type-acf-field-group .acf-thead{background-color:#f9fafb;border-top-width:1px;border-top-style:solid;border-top-color:#eaecf0;border-bottom-width:1px;border-bottom-style:solid;border-bottom-color:#eaecf0}.post-type-acf-field-group .acf-thead li{display:flex;align-items:center;min-height:48px;padding-top:0;padding-bottom:0;color:#344054;font-weight:500}.post-type-acf-field-group .acf-field-object{border-top-width:1px;border-top-style:solid;border-top-color:#eaecf0}.post-type-acf-field-group .acf-field-object:hover .acf-sortable-handle:before{display:inline-flex}.post-type-acf-field-group .acf-field-object.acf-field-is-endpoint:before{display:block;content:"";height:2px;width:100%;background:#d0d5dd;margin-top:-1px}.post-type-acf-field-group .acf-field-object.acf-field-is-endpoint.acf-field-object-accordion:before{display:none}.post-type-acf-field-group .acf-field-object.acf-field-is-endpoint.acf-field-object-accordion:after{display:block;content:"";height:2px;width:100%;background:#d0d5dd;z-index:500}.post-type-acf-field-group .acf-field-object:hover{background-color:#f7fbfd}.post-type-acf-field-group .acf-field-object.open{background-color:#fff;border-top-color:#a5d2e7}.post-type-acf-field-group .acf-field-object.open .handle{background-color:#d8ebf5;border:none;text-shadow:none}.post-type-acf-field-group .acf-field-object.open .handle a{color:#0783be !important}.post-type-acf-field-group .acf-field-object.open .handle a.delete-field{color:#a00 !important}.post-type-acf-field-group .acf-field-object .acf-field-setting-type .acf-hl{margin:0}.post-type-acf-field-group .acf-field-object .acf-field-setting-type .acf-hl li{width:auto}.post-type-acf-field-group .acf-field-object .acf-field-setting-type .acf-hl li:first-child{flex-grow:1;margin-left:-10px}.post-type-acf-field-group .acf-field-object .acf-field-setting-type .acf-hl li:nth-child(2){padding-right:0}.post-type-acf-field-group .acf-field-object ul.acf-hl{display:flex;align-items:stretch}.post-type-acf-field-group .acf-field-object .handle li{display:flex;align-items:top;flex-wrap:wrap;min-height:60px;color:#344054}.post-type-acf-field-group .acf-field-object .handle li.li-field-label{display:flex;flex-wrap:wrap;justify-content:flex-start;align-content:flex-start;align-items:flex-start;width:auto}.post-type-acf-field-group .acf-field-object .handle li.li-field-label strong{font-weight:500}.post-type-acf-field-group .acf-field-object .handle li.li-field-label .row-options{width:100%}.post-type-acf-field-group .acf-tfoot{display:flex;align-items:center;justify-content:flex-end;min-height:80px;box-sizing:border-box;padding-top:8px;padding-right:24px;padding-bottom:8px;padding-left:24px;background-color:#fff;border-top-width:1px;border-top-style:solid;border-top-color:#eaecf0}.post-type-acf-field-group .acf-tfoot .acf-fr{margin-top:0;margin-right:0;margin-bottom:0;margin-left:0;padding-top:0;padding-right:0;padding-bottom:0;padding-left:0}.post-type-acf-field-group .acf-field-object .settings{box-sizing:border-box;padding-top:0;padding-bottom:0;background-color:#fff;border-left-width:4px;border-left-style:solid;border-left-color:#6bb5d8}.acf-field-settings-main{padding-top:32px;padding-right:0;padding-bottom:32px;padding-left:0}.acf-field-settings-main .acf-field:last-of-type,.acf-field-settings-main .acf-field.acf-last-visible{margin-bottom:0}.acf-field-settings .acf-label{display:block;justify-content:space-between;align-items:center;align-content:center;margin-top:0;margin-right:0;margin-bottom:6px;margin-left:0}.acf-field-settings .acf-field{box-sizing:border-box;width:100%;margin-top:0;margin-right:0;margin-bottom:32px;margin-left:0;padding-top:0;padding-right:72px;padding-bottom:0;padding-left:72px}@media screen and (max-width: 600px){.acf-field-settings .acf-field{padding-right:12px;padding-left:12px}}.acf-field-settings .acf-field .acf-label,.acf-field-settings .acf-field .acf-input{max-width:600px}.acf-field-settings .acf-field .acf-label.acf-input-sub,.acf-field-settings .acf-field .acf-input.acf-input-sub{max-width:100%}.acf-field-settings .acf-field .acf-label .acf-btn:disabled,.acf-field-settings .acf-field .acf-input .acf-btn:disabled{background-color:#f2f4f7;color:#98a2b3 !important;border:1px #d0d5dd solid;cursor:default}.acf-field-settings .acf-field .acf-input-wrap{overflow:visible}.acf-field-settings .acf-field.acf-field-setting-label,.acf-field-settings .acf-field-setting-wrapper{padding-top:24px;border-top-width:1px;border-top-style:solid;border-top-color:#eaecf0}.acf-field-settings .acf-field-setting-wrapper{margin-top:24px}.acf-field-setting-bidirectional_notes .acf-label{display:none}.acf-field-setting-bidirectional_notes .acf-feature-notice{background-color:#f9fafb;border:1px solid #eaecf0;border-radius:6px;padding:16px;color:#344054;position:relative}.acf-field-setting-bidirectional_notes .acf-feature-notice.with-warning-icon{padding-left:45px}.acf-field-setting-bidirectional_notes .acf-feature-notice.with-warning-icon::before{content:"";display:block;position:absolute;top:17px;left:18px;z-index:600;width:18px;height:18px;margin-right:8px;background-color:#667085;border:none;border-radius:0;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;-webkit-mask-image:url("../../images/icons/icon-info.svg");mask-image:url("../../images/icons/icon-info.svg")}.acf-field-settings .acf-field-settings-footer{display:flex;align-items:center;min-height:72px;box-sizing:border-box;width:100%;margin-top:0;margin-right:0;margin-bottom:0;margin-left:0;padding-top:0;padding-right:0;padding-bottom:0;padding-left:72px;border-top-width:1px;border-top-style:solid;border-top-color:#eaecf0}@media screen and (max-width: 600px){.acf-field-settings .acf-field-settings-footer{padding-left:12px}}.rtl .acf-field-settings .acf-field-settings-footer{padding-top:0;padding-right:72px;padding-bottom:0;padding-left:0}.acf-fields .acf-tab-wrap,.acf-admin-page.acf-internal-post-type .acf-tab-wrap,.acf-browse-fields-modal-wrap .acf-tab-wrap{background:#f9fafb;border-bottom-color:#1d2939}.acf-fields .acf-tab-wrap .acf-tab-group,.acf-admin-page.acf-internal-post-type .acf-tab-wrap .acf-tab-group,.acf-browse-fields-modal-wrap .acf-tab-wrap .acf-tab-group{padding-right:24px;padding-left:24px;border-top-width:0;border-bottom-width:1px;border-bottom-style:solid;border-bottom-color:#eaecf0}.acf-fields .acf-field-settings-tab-bar,.acf-fields .acf-tab-wrap .acf-tab-group,.acf-admin-page.acf-internal-post-type .acf-field-settings-tab-bar,.acf-admin-page.acf-internal-post-type .acf-tab-wrap .acf-tab-group,.acf-browse-fields-modal-wrap .acf-field-settings-tab-bar,.acf-browse-fields-modal-wrap .acf-tab-wrap .acf-tab-group{display:flex;align-items:stretch;min-height:48px;padding-top:0;padding-right:0;padding-bottom:0;padding-left:24px;margin-top:0;margin-bottom:0;border-bottom-width:1px;border-bottom-style:solid;border-bottom-color:#eaecf0}.acf-fields .acf-field-settings-tab-bar li,.acf-fields .acf-tab-wrap .acf-tab-group li,.acf-admin-page.acf-internal-post-type .acf-field-settings-tab-bar li,.acf-admin-page.acf-internal-post-type .acf-tab-wrap .acf-tab-group li,.acf-browse-fields-modal-wrap .acf-field-settings-tab-bar li,.acf-browse-fields-modal-wrap .acf-tab-wrap .acf-tab-group li{display:flex;margin-top:0;margin-right:24px;margin-bottom:0;margin-left:0;padding:0}.acf-fields .acf-field-settings-tab-bar li a,.acf-fields .acf-tab-wrap .acf-tab-group li a,.acf-admin-page.acf-internal-post-type .acf-field-settings-tab-bar li a,.acf-admin-page.acf-internal-post-type .acf-tab-wrap .acf-tab-group li a,.acf-browse-fields-modal-wrap .acf-field-settings-tab-bar li a,.acf-browse-fields-modal-wrap .acf-tab-wrap .acf-tab-group li a{box-sizing:border-box;display:inline-flex;align-items:center;height:100%;padding-top:3px;padding-right:0;padding-bottom:0;padding-left:0;background:none;border-top:none;border-right:none;border-bottom-width:3px;border-bottom-style:solid;border-bottom-color:rgba(0,0,0,0);border-left:none;color:#667085;font-weight:normal}.acf-fields .acf-field-settings-tab-bar li a:focus-visible,.acf-fields .acf-tab-wrap .acf-tab-group li a:focus-visible,.acf-admin-page.acf-internal-post-type .acf-field-settings-tab-bar li a:focus-visible,.acf-admin-page.acf-internal-post-type .acf-tab-wrap .acf-tab-group li a:focus-visible,.acf-browse-fields-modal-wrap .acf-field-settings-tab-bar li a:focus-visible,.acf-browse-fields-modal-wrap .acf-tab-wrap .acf-tab-group li a:focus-visible{border:1px solid #5897fb}.acf-fields .acf-field-settings-tab-bar li a:hover,.acf-fields .acf-tab-wrap .acf-tab-group li a:hover,.acf-admin-page.acf-internal-post-type .acf-field-settings-tab-bar li a:hover,.acf-admin-page.acf-internal-post-type .acf-tab-wrap .acf-tab-group li a:hover,.acf-browse-fields-modal-wrap .acf-field-settings-tab-bar li a:hover,.acf-browse-fields-modal-wrap .acf-tab-wrap .acf-tab-group li a:hover{color:#1d2939}.acf-fields .acf-field-settings-tab-bar li a:hover,.acf-fields .acf-tab-wrap .acf-tab-group li a:hover,.acf-admin-page.acf-internal-post-type .acf-field-settings-tab-bar li a:hover,.acf-admin-page.acf-internal-post-type .acf-tab-wrap .acf-tab-group li a:hover,.acf-browse-fields-modal-wrap .acf-field-settings-tab-bar li a:hover,.acf-browse-fields-modal-wrap .acf-tab-wrap .acf-tab-group li a:hover{background-color:rgba(0,0,0,0)}.acf-fields .acf-field-settings-tab-bar li.active a,.acf-fields .acf-tab-wrap .acf-tab-group li.active a,.acf-admin-page.acf-internal-post-type .acf-field-settings-tab-bar li.active a,.acf-admin-page.acf-internal-post-type .acf-tab-wrap .acf-tab-group li.active a,.acf-browse-fields-modal-wrap .acf-field-settings-tab-bar li.active a,.acf-browse-fields-modal-wrap .acf-tab-wrap .acf-tab-group li.active a{background:none;border-bottom-color:#0783be;color:#0783be}.acf-fields .acf-field-settings-tab-bar li.active a:focus-visible,.acf-fields .acf-tab-wrap .acf-tab-group li.active a:focus-visible,.acf-admin-page.acf-internal-post-type .acf-field-settings-tab-bar li.active a:focus-visible,.acf-admin-page.acf-internal-post-type .acf-tab-wrap .acf-tab-group li.active a:focus-visible,.acf-browse-fields-modal-wrap .acf-field-settings-tab-bar li.active a:focus-visible,.acf-browse-fields-modal-wrap .acf-tab-wrap .acf-tab-group li.active a:focus-visible{border-bottom-color:#0783be;border-bottom-width:3px}.acf-admin-page.acf-internal-post-type .acf-field-editor .acf-field-settings-tab-bar{padding-left:72px}@media screen and (max-width: 600px){.acf-admin-page.acf-internal-post-type .acf-field-editor .acf-field-settings-tab-bar{padding-left:12px}}#acf-field-group-options .field-group-settings-tab{padding-top:24px;padding-right:24px;padding-bottom:24px;padding-left:24px}#acf-field-group-options .field-group-settings-tab .acf-field:last-of-type{padding:0}#acf-field-group-options .acf-field{border:none;margin-top:0;margin-right:0;margin-bottom:0;margin-left:0;padding-top:0;padding-right:0;padding-bottom:24px;padding-left:0}#acf-field-group-options .field-group-setting-split-container{display:flex;padding-top:0;padding-right:0;padding-bottom:0;padding-left:0}#acf-field-group-options .field-group-setting-split-container .field-group-setting-split{box-sizing:border-box;padding-top:24px;padding-right:24px;padding-bottom:24px;padding-left:24px}#acf-field-group-options .field-group-setting-split-container .field-group-setting-split:nth-child(1){flex:1 0 auto}#acf-field-group-options .field-group-setting-split-container .field-group-setting-split:nth-child(2n){flex:1 0 auto;max-width:320px;margin-top:0;margin-right:0;margin-bottom:0;margin-left:32px;padding-right:32px;padding-left:32px;border-left-width:1px;border-left-style:solid;border-left-color:#eaecf0}#acf-field-group-options .acf-field[data-name=description]{max-width:600px}#acf-field-group-options .acf-button-group{display:inline-flex}.rtl #acf-field-group-options .field-group-setting-split-container .field-group-setting-split:nth-child(2n){margin-right:32px;margin-left:0;border-left:none;border-right-width:1px;border-right-style:solid;border-right-color:#eaecf0}.acf-field-list .li-field-order{padding:0;display:flex;flex-direction:row;flex-wrap:nowrap;justify-content:center;align-content:stretch;align-items:stretch;background-color:rgba(0,0,0,0)}.acf-field-list .acf-sortable-handle{display:flex;flex-direction:row;flex-wrap:nowrap;justify-content:center;align-content:flex-start;align-items:flex-start;width:100%;height:100%;position:relative;padding-top:11px;padding-bottom:8px;background-color:rgba(0,0,0,0);border:none;border-radius:0}.acf-field-list .acf-sortable-handle:hover{cursor:grab}.acf-field-list .acf-sortable-handle:before{content:"";display:none;position:absolute;top:16px;left:8px;width:16px;height:16px;width:12px;height:12px;background-color:#98a2b3;border:none;border-radius:0;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;text-indent:500%;white-space:nowrap;overflow:hidden;-webkit-mask-image:url("../../images/icons/icon-draggable.svg");mask-image:url("../../images/icons/icon-draggable.svg")}.rtl .acf-field-list .acf-sortable-handle:before{left:0;right:8px}.acf-field-object .li-field-label{position:relative;padding-left:40px}.acf-field-object .li-field-label:before{content:"";display:block;position:absolute;left:6px;display:inline-flex;width:18px;height:18px;margin-top:-2px;background-color:#667085;border:none;border-radius:0;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;text-indent:500%;white-space:nowrap;overflow:hidden;-webkit-mask-image:url("../../images/icons/icon-chevron-down.svg");mask-image:url("../../images/icons/icon-chevron-down.svg")}.acf-field-object .li-field-label:hover:before{cursor:pointer}.rtl .acf-field-object .li-field-label{padding-left:0;padding-right:40px}.rtl .acf-field-object .li-field-label:before{left:0;right:6px;-webkit-mask-image:url("../../images/icons/icon-chevron-down.svg");mask-image:url("../../images/icons/icon-chevron-down.svg")}.rtl .acf-field-object.open .li-field-label:before{-webkit-mask-image:url("../../images/icons/icon-chevron-down.svg");mask-image:url("../../images/icons/icon-chevron-down.svg")}.rtl .acf-field-object.open .acf-input-sub .li-field-label:before{-webkit-mask-image:url("../../images/icons/icon-chevron-right.svg");mask-image:url("../../images/icons/icon-chevron-right.svg")}.rtl .acf-field-object.open .acf-input-sub .acf-field-object.open .li-field-label:before{-webkit-mask-image:url("../../images/icons/icon-chevron-down.svg");mask-image:url("../../images/icons/icon-chevron-down.svg")}.acf-thead .li-field-label{padding-left:40px}.rtl .acf-thead .li-field-label{padding-left:0;padding-right:40px}.acf-field-settings-main-conditional-logic .acf-conditional-toggle{display:flex;padding-right:72px;padding-left:72px}@media screen and (max-width: 600px){.acf-field-settings-main-conditional-logic .acf-conditional-toggle{padding-left:12px}}.acf-field-settings-main-conditional-logic .acf-field{flex-wrap:wrap;margin-bottom:0;padding-right:0;padding-left:0}.acf-field-settings-main-conditional-logic .acf-field .rule-groups{flex:0 1 100%;order:3;margin-top:32px;padding-top:32px;padding-right:72px;padding-left:72px;border-top-width:1px;border-top-style:solid;border-top-color:#eaecf0}@media screen and (max-width: 600px){.acf-field-settings-main-conditional-logic .acf-field .rule-groups{padding-left:12px}.acf-field-settings-main-conditional-logic .acf-field .rule-groups table.acf-table tbody tr{display:flex;flex-wrap:wrap;justify-content:flex-start;align-content:flex-start;align-items:flex-start}.acf-field-settings-main-conditional-logic .acf-field .rule-groups table.acf-table tbody tr td{flex:1 1 100%}}.acf-taxonomy-select-id,.acf-relationship-select-id,.acf-post_object-select-id,.acf-page_link-select-id{color:#98a2b3;padding-left:10px}.acf-taxonomy-select-sub-item{max-width:180px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-left:5px}.acf-taxonomy-select-name{max-width:180px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.acf-input .acf-input-prepend,.acf-input .acf-input-append{display:inline-flex;align-items:center;height:100%;min-height:40px;padding-right:12px;padding-left:12px;background-color:#f9fafb;border-color:#d0d5dd;box-shadow:0px 1px 2px rgba(16,24,40,.1);color:#667085}.acf-input .acf-input-prepend{border-radius:6px 0 0 6px}.acf-input .acf-input-append{border-radius:0 6px 6px 0}.acf-input-wrap{display:flex}.acf-field-settings-main-presentation .acf-input-wrap{display:flex}.post-type-acf-field-group #acf-field-group-fields .acf-field-list.-empty .no-fields-message{display:flex;justify-content:center;padding-top:48px;padding-bottom:48px}.post-type-acf-field-group #acf-field-group-fields .acf-field-list.-empty .no-fields-message .no-fields-message-inner{display:flex;flex-wrap:wrap;justify-content:center;align-content:center;align-items:flex-start;text-align:center;max-width:400px}.post-type-acf-field-group #acf-field-group-fields .acf-field-list.-empty .no-fields-message .no-fields-message-inner img,.post-type-acf-field-group #acf-field-group-fields .acf-field-list.-empty .no-fields-message .no-fields-message-inner h2,.post-type-acf-field-group #acf-field-group-fields .acf-field-list.-empty .no-fields-message .no-fields-message-inner p{flex:1 0 100%}.post-type-acf-field-group #acf-field-group-fields .acf-field-list.-empty .no-fields-message .no-fields-message-inner h2{margin-top:32px;margin-bottom:0;padding:0;color:#344054}.post-type-acf-field-group #acf-field-group-fields .acf-field-list.-empty .no-fields-message .no-fields-message-inner p{margin-top:12px;margin-bottom:0;padding:0;color:#667085}.post-type-acf-field-group #acf-field-group-fields .acf-field-list.-empty .no-fields-message .no-fields-message-inner p.acf-small{margin-top:32px}.post-type-acf-field-group #acf-field-group-fields .acf-field-list.-empty .no-fields-message .no-fields-message-inner img{max-width:284px;margin-bottom:0}.post-type-acf-field-group #acf-field-group-fields .acf-field-list.-empty .no-fields-message .no-fields-message-inner .acf-btn{margin-top:32px}.post-type-acf-field-group .acf-headerbar #title-prompt-text{display:none}.acf-admin-page #acf-popup .acf-popup-box{min-width:480px}.acf-admin-page #acf-popup .acf-popup-box .title{display:flex;align-items:center;align-content:center;justify-content:space-between;min-height:64px;box-sizing:border-box;margin:0;padding-right:24px;padding-left:24px;border-bottom-width:1px;border-bottom-style:solid;border-bottom-color:#eaecf0}.acf-admin-page #acf-popup .acf-popup-box .title h1,.acf-admin-page #acf-popup .acf-popup-box .title h2,.acf-admin-page #acf-popup .acf-popup-box .title h3,.acf-admin-page #acf-popup .acf-popup-box .title h4{padding-left:0;color:#344054}.acf-admin-page #acf-popup .acf-popup-box .title .acf-icon{display:block;position:relative;top:auto;right:auto;width:22px;height:22px;background-color:rgba(0,0,0,0);color:rgba(0,0,0,0)}.acf-admin-page #acf-popup .acf-popup-box .title .acf-icon:before{display:inline-flex;position:absolute;top:0;left:0;width:22px;height:22px;background-color:#667085;border:none;border-radius:0;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;text-indent:500%;white-space:nowrap;overflow:hidden;-webkit-mask-image:url("../../images/icons/icon-close-circle.svg");mask-image:url("../../images/icons/icon-close-circle.svg")}.acf-admin-page #acf-popup .acf-popup-box .title .acf-icon:hover:before{background-color:#0783be}.acf-admin-page #acf-popup .acf-popup-box .inner{box-sizing:border-box;margin:0;padding-top:24px;padding-right:24px;padding-bottom:24px;padding-left:24px;border-top:none}.acf-admin-page #acf-popup .acf-popup-box .inner p{margin-top:0;margin-bottom:0}.acf-admin-page #acf-popup .acf-popup-box #acf-move-field-form .acf-field-select,.acf-admin-page #acf-popup .acf-popup-box #acf-link-field-groups-form .acf-field-select{margin-top:0}.acf-admin-page .acf-link-field-groups-popup .acf-popup-box .title h3,.acf-admin-page .acf-create-options-page-popup .acf-popup-box .title h3{color:#1d2939;font-weight:500}.acf-admin-page .acf-link-field-groups-popup .acf-popup-box .title h3:before,.acf-admin-page .acf-create-options-page-popup .acf-popup-box .title h3:before{content:"";width:18px;height:18px;background:#98a2b3;margin-right:9px}.acf-admin-page .acf-link-field-groups-popup .acf-popup-box .inner,.acf-admin-page .acf-create-options-page-popup .acf-popup-box .inner{padding:0 !important}.acf-admin-page .acf-link-field-groups-popup .acf-popup-box .inner .acf-field-select,.acf-admin-page .acf-link-field-groups-popup .acf-popup-box .inner .acf-link-successful,.acf-admin-page .acf-create-options-page-popup .acf-popup-box .inner .acf-field-select,.acf-admin-page .acf-create-options-page-popup .acf-popup-box .inner .acf-link-successful{padding:32px 24px;margin-bottom:0}.acf-admin-page .acf-link-field-groups-popup .acf-popup-box .inner .acf-field-select .description,.acf-admin-page .acf-link-field-groups-popup .acf-popup-box .inner .acf-link-successful .description,.acf-admin-page .acf-create-options-page-popup .acf-popup-box .inner .acf-field-select .description,.acf-admin-page .acf-create-options-page-popup .acf-popup-box .inner .acf-link-successful .description{margin-top:6px !important}.acf-admin-page .acf-link-field-groups-popup .acf-popup-box .inner .acf-actions,.acf-admin-page .acf-create-options-page-popup .acf-popup-box .inner .acf-actions{background:#f9fafb;border-top:1px solid #eaecf0;padding-top:20px;padding-left:24px;padding-bottom:20px;padding-right:24px;border-bottom-left-radius:8px;border-bottom-right-radius:8px}.acf-admin-page .acf-link-field-groups-popup .acf-popup-box .inner .acf-actions .acf-btn,.acf-admin-page .acf-create-options-page-popup .acf-popup-box .inner .acf-actions .acf-btn{display:inline-block;margin-left:8px}.acf-admin-page .acf-link-field-groups-popup .acf-popup-box .inner .acf-actions .acf-btn.acf-btn-primary,.acf-admin-page .acf-create-options-page-popup .acf-popup-box .inner .acf-actions .acf-btn.acf-btn-primary{width:120px}.acf-admin-page .acf-create-options-page-popup .acf-popup-box .inner .acf-error-message.-success{display:none}.acf-admin-page .acf-create-options-page-popup .acf-popup-box .inner .-dismiss{margin:24px 32px !important}.acf-admin-page .acf-create-options-page-popup .acf-popup-box .inner .acf-field{padding:24px 32px 0 32px;margin:0}.acf-admin-page .acf-create-options-page-popup .acf-popup-box .inner .acf-field.acf-error .acf-input-wrap{overflow:inherit}.acf-admin-page .acf-create-options-page-popup .acf-popup-box .inner .acf-field.acf-error .acf-input-wrap input[type=text]{border:1px rgba(209,55,55,.5) solid !important;box-shadow:0px 0px 0px 3px rgba(209,55,55,.12),0px 0px 0px rgba(255,54,54,.25) !important;background-image:url(../../images/icons/icon-info-red.svg);background-position:right 10px top 50%;background-size:14px;background-repeat:no-repeat}.acf-admin-page .acf-create-options-page-popup .acf-popup-box .inner .acf-field .acf-options-page-modal-error p{font-size:12px;color:#d13737}.acf-admin-page .acf-create-options-page-popup .acf-popup-box .inner .acf-actions{margin-top:32px}.acf-admin-page .acf-create-options-page-popup .acf-popup-box .inner .acf-actions .acf-btn:disabled{background-color:#0783be}.acf-admin-single-field-group #post-body-content{display:none}.acf-field-group-settings-footer{display:flex;justify-content:space-between;align-content:stretch;align-items:center;position:relative;min-height:88px;margin-right:-24px;margin-left:-24px;margin-bottom:-24px;padding-right:24px;padding-left:24px;border-top-width:1px;border-top-style:solid;border-top-color:#eaecf0}.acf-field-group-settings-footer .acf-created-on{display:inline-flex;justify-content:flex-start;align-content:stretch;align-items:center;color:#667085}.acf-field-group-settings-footer .acf-created-on:before{content:"";display:inline-block;width:20px;height:20px;margin-right:8px;background-color:#98a2b3;border:none;border-radius:0;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;-webkit-mask-image:url("../../images/icons/icon-time.svg");mask-image:url("../../images/icons/icon-time.svg")}.conditional-logic-badge{display:none}.conditional-logic-badge.is-enabled{display:inline-block;width:6px;height:6px;overflow:hidden;margin-left:8px;background-color:rgba(82,170,89,.4);border-width:1px;border-style:solid;border-color:#52aa59;border-radius:100px;text-indent:100%;white-space:nowrap}.acf-field-type-settings{container-name:settings;container-type:inline-size}.acf-field-settings-split{display:flex;border-top-width:1px;border-top-style:solid;border-top-color:#eaecf0}.acf-field-settings-split .acf-field{margin:0;padding-top:32px;padding-bottom:32px}.acf-field-settings-split .acf-field:nth-child(2n){border-left-width:1px;border-left-style:solid;border-left-color:#eaecf0}@container settings (max-width: 1170px){.acf-field-settings-split{border:none;flex-direction:column}.acf-field{border-top-width:1px;border-top-style:solid;border-top-color:#eaecf0}}.acf-field-setting-display_format .acf-label,.acf-field-setting-return_format .acf-label{margin-bottom:6px}.acf-field-setting-display_format .acf-radio-list li,.acf-field-setting-return_format .acf-radio-list li{display:flex}.acf-field-setting-display_format .acf-radio-list li label,.acf-field-setting-return_format .acf-radio-list li label{display:inline-flex;width:100%}.acf-field-setting-display_format .acf-radio-list li label span,.acf-field-setting-return_format .acf-radio-list li label span{flex:1 1 auto}.acf-field-setting-display_format .acf-radio-list li label code,.acf-field-setting-return_format .acf-radio-list li label code{padding-right:8px;padding-left:8px;background-color:#f2f4f7;border-radius:4px;color:#475467}.acf-field-setting-display_format .acf-radio-list li input[type=text],.acf-field-setting-return_format .acf-radio-list li input[type=text]{height:32px}.acf-field-settings .acf-field-setting-first_day{padding-top:32px;border-top-width:1px;border-top-style:solid;border-top-color:#eaecf0}.acf-field-object-image .acf-hl[data-cols="3"]>li,.acf-field-object-gallery .acf-hl[data-cols="3"]>li{width:auto}.acf-field-settings .acf-field-appended{overflow:auto}.acf-field-settings .acf-field-appended .acf-input{float:left}.acf-field-settings .acf-field.acf-field-setting-min_width .acf-input,.acf-field-settings .acf-field.acf-field-setting-max_width .acf-input{max-width:none}.acf-field-settings .acf-field.acf-field-setting-min_width .acf-input-wrap input[type=text],.acf-field-settings .acf-field.acf-field-setting-max_width .acf-input-wrap input[type=text]{max-width:81px}.post-type-acf-field-group .acf-field-object-flexible-content .acf-field-setting-pagination{display:none}.post-type-acf-field-group .acf-field-object-repeater .acf-field-object-repeater .acf-field-setting-pagination{display:none}.acf-admin-single-field-group .acf-field-object-flexible-content .acf-is-subfields .acf-field-object .acf-label,.acf-admin-single-field-group .acf-field-object-flexible-content .acf-is-subfields .acf-field-object .acf-input{max-width:600px}.acf-admin-single-field-group .acf-field.acf-field-true-false.acf-field-setting-default_value .acf-true-false{border:none}.acf-admin-single-field-group .acf-field.acf-field-true-false.acf-field-setting-default_value .acf-true-false input[type=checkbox]{margin-right:0}.acf-field.acf-field-with-front{margin-top:32px}.post-type-acf-field-group #acf-field-group-fields .acf-field-list-wrap .acf-input-sub{max-width:100%;overflow:hidden;border-radius:8px;border-width:1px;border-style:solid;border-color:#dbdfe5;box-shadow:0px 1px 2px rgba(16,24,40,.1)}.post-type-acf-field-group #acf-field-group-fields .acf-field-list-wrap .acf-input-sub .acf-sub-field-list-header{display:flex;justify-content:space-between;align-content:stretch;align-items:center;min-height:64px;padding-right:24px;padding-left:24px}.post-type-acf-field-group #acf-field-group-fields .acf-field-list-wrap .acf-input-sub .acf-field-list-wrap{box-shadow:none}.post-type-acf-field-group #acf-field-group-fields .acf-field-list-wrap .acf-input-sub .acf-hl.acf-tfoot{min-height:64px;align-items:center}.post-type-acf-field-group #acf-field-group-fields .acf-field-list-wrap .acf-input-sub .acf-input.acf-input-sub{max-width:100%;margin-right:0;margin-left:0}.post-type-acf-field-group .acf-input-sub .acf-field-object .acf-sortable-handle{width:100%;height:100%}.post-type-acf-field-group .acf-field-object:hover .acf-input-sub .acf-sortable-handle:before{display:none}.post-type-acf-field-group .acf-field-object:hover .acf-input-sub .acf-field-list .acf-field-object:hover .acf-sortable-handle:before{display:block}.post-type-acf-field-group .acf-field-object .acf-is-subfields .acf-thead .li-field-label:before{display:none}.post-type-acf-field-group #acf-field-group-fields .acf-field-list-wrap .acf-input-sub .acf-field-object.open{border-top-color:#dbdfe5}.post-type-acf-field-group i.acf-icon.-duplicate.duplicate-layout{margin:0 auto !important;background-color:#667085;color:#667085}.post-type-acf-field-group i.acf-icon.acf-icon-trash.delete-layout{margin:0 auto !important;background-color:#667085;color:#667085}.post-type-acf-field-group button.acf-btn.acf-btn-tertiary.acf-field-setting-fc-duplicate,.post-type-acf-field-group button.acf-btn.acf-btn-tertiary.acf-field-setting-fc-delete{background-color:#fff !important;box-shadow:0px 1px 2px rgba(16,24,40,.1);border-radius:6px;width:32px;height:32px !important;min-height:32px;padding:0}.post-type-acf-field-group button.add-layout.acf-btn.acf-btn-primary.add-field,.post-type-acf-field-group .acf-sub-field-list-header a.acf-btn.acf-btn-secondary.add-field,.post-type-acf-field-group .acf-field-list-wrap.acf-is-subfields a.acf-btn.acf-btn-secondary.add-field{height:32px !important;min-height:32px;margin-left:5px}.post-type-acf-field-group .acf-field.acf-field-setting-fc_layout{background-color:#fff;margin-bottom:16px}.post-type-acf-field-group .acf-field-setting-fc_layout{width:calc(100% - 144px);margin-right:72px;margin-left:72px;padding-right:0;padding-left:0;border-width:1px;border-style:solid;border-color:#dbdfe5;border-radius:8px;box-shadow:0px 1px 2px rgba(16,24,40,.1)}.post-type-acf-field-group .acf-field-setting-fc_layout .acf-field-layout-settings.open{background-color:#fff;border-top-width:1px;border-top-style:solid;border-top-color:#eaecf0}@media screen and (max-width: 768px){.post-type-acf-field-group .acf-field-setting-fc_layout{width:calc(100% - 16px);margin-right:8px;margin-left:8px}}.post-type-acf-field-group .acf-field-setting-fc_layout .acf-input-sub{max-width:100%;margin-right:0;margin-left:0}.post-type-acf-field-group .acf-field-setting-fc_layout .acf-label,.post-type-acf-field-group .acf-field-setting-fc_layout .acf-input{max-width:100% !important}.post-type-acf-field-group .acf-field-setting-fc_layout .acf-input-sub{margin-right:32px;margin-bottom:32px;margin-left:32px}.post-type-acf-field-group .acf-field-setting-fc_layout .acf-fc-meta{max-width:100%;padding-top:24px;padding-right:32px;padding-left:32px}.post-type-acf-field-group .acf-field-settings-fc_head{display:flex;align-items:center;justify-content:left;background-color:#f9fafb;border-radius:8px;min-height:64px;margin-bottom:0px;padding-right:24px}.post-type-acf-field-group .acf-field-settings-fc_head .acf-fc_draggable{min-height:64px;padding-left:24px;display:flex;white-space:nowrap}.post-type-acf-field-group .acf-field-settings-fc_head .acf-fc-layout-name{min-width:0;color:#98a2b3;padding-left:8px;font-size:16px}.post-type-acf-field-group .acf-field-settings-fc_head .acf-fc-layout-name.copyable:not(.input-copyable,.copy-unsupported):hover:after{width:14px !important;height:14px !important}@media screen and (max-width: 880px){.post-type-acf-field-group .acf-field-settings-fc_head .acf-fc-layout-name{display:none !important}}.post-type-acf-field-group .acf-field-settings-fc_head .acf-fc-layout-name span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.post-type-acf-field-group .acf-field-settings-fc_head span.toggle-indicator{pointer-events:none;margin-top:7px}.post-type-acf-field-group .acf-field-settings-fc_head label{display:inline-flex;align-items:center}.post-type-acf-field-group .acf-field-settings-fc_head label.acf-fc-layout-name{margin-left:1rem}@media screen and (max-width: 880px){.post-type-acf-field-group .acf-field-settings-fc_head label.acf-fc-layout-name{display:none !important}}.post-type-acf-field-group .acf-field-settings-fc_head label.acf-fc-layout-name span.acf-fc-layout-name{text-overflow:ellipsis;overflow:hidden;height:22px;white-space:nowrap}.post-type-acf-field-group .acf-field-settings-fc_head label.acf-fc-layout-label:before{content:"";display:inline-block;width:20px;height:20px;margin-right:8px;background-color:#98a2b3;border:none;border-radius:0;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center}.rtl.post-type-acf-field-group .acf-field-settings-fc_head label.acf-fc-layout-label:before{padding-right:10px}.post-type-acf-field-group .acf-field-settings-fc_head .acf-fl-actions{display:flex;align-items:center;white-space:nowrap;margin-left:auto}.post-type-acf-field-group .acf-field-settings-fc_head .acf-fl-actions .acf-fc-add-layout{margin-left:10px}.post-type-acf-field-group .acf-field-settings-fc_head .acf-fl-actions .acf-fc-add-layout .add-field{margin-left:0px !important}.post-type-acf-field-group .acf-field-settings-fc_head .acf-fl-actions li{margin-right:4px}.post-type-acf-field-group .acf-field-settings-fc_head .acf-fl-actions li:last-of-type{margin-right:0}.post-type-acf-field-group .acf-field-settings-fc_head.open{border-radius:8px 8px 0px 0px}.post-type-acf-field-group .acf-field-object.open>.handle>.acf-tbody>.li-field-label::before{-webkit-mask-image:url("../../images/icons/icon-chevron-up.svg");mask-image:url("../../images/icons/icon-chevron-up.svg")}.post-type-acf-field-group #acf-field-group-fields .acf-field-list-wrap .acf-input-sub .acf-field-object .handle{background-color:rgba(0,0,0,0)}.post-type-acf-field-group #acf-field-group-fields .acf-field-list-wrap .acf-input-sub .acf-field-object .handle:hover{background-color:#f9f2fb}.post-type-acf-field-group #acf-field-group-fields .acf-field-list-wrap .acf-input-sub .acf-field-object.open .handle{background-color:#f5eaf9}.post-type-acf-field-group #acf-field-group-fields .acf-field-list-wrap .acf-input-sub .acf-field-object .settings{border-left-color:#bf7dd7}.post-type-acf-field-group #acf-field-group-fields .acf-field-list-wrap .acf-input-sub .acf-input-sub .acf-field-object .handle{background-color:rgba(0,0,0,0)}.post-type-acf-field-group #acf-field-group-fields .acf-field-list-wrap .acf-input-sub .acf-input-sub .acf-field-object .handle:hover{background-color:#ebf7f4}.post-type-acf-field-group #acf-field-group-fields .acf-field-list-wrap .acf-input-sub .acf-input-sub .acf-field-object.open .handle{background-color:#e3f4f0}.post-type-acf-field-group #acf-field-group-fields .acf-field-list-wrap .acf-input-sub .acf-input-sub .acf-field-object .settings{border-left-color:#7ccdb9}.post-type-acf-field-group #acf-field-group-fields .acf-field-list-wrap .acf-input-sub .acf-input-sub .acf-input-sub .acf-field-object .handle{background-color:rgba(0,0,0,0)}.post-type-acf-field-group #acf-field-group-fields .acf-field-list-wrap .acf-input-sub .acf-input-sub .acf-input-sub .acf-field-object .handle:hover{background-color:#fcf5f2}.post-type-acf-field-group #acf-field-group-fields .acf-field-list-wrap .acf-input-sub .acf-input-sub .acf-input-sub .acf-field-object.open .handle{background-color:#fbeee9}.post-type-acf-field-group #acf-field-group-fields .acf-field-list-wrap .acf-input-sub .acf-input-sub .acf-input-sub .acf-field-object .settings{border-left-color:#e29473}.post-type-acf-field-group #acf-field-group-fields .acf-field-list-wrap .acf-input-sub .acf-input-sub .acf-input-sub .acf-input-sub .acf-field-object .handle{background-color:rgba(0,0,0,0)}.post-type-acf-field-group #acf-field-group-fields .acf-field-list-wrap .acf-input-sub .acf-input-sub .acf-input-sub .acf-input-sub .acf-field-object .handle:hover{background-color:#fafbfb}.post-type-acf-field-group #acf-field-group-fields .acf-field-list-wrap .acf-input-sub .acf-input-sub .acf-input-sub .acf-input-sub .acf-field-object.open .handle{background-color:#f4f6f7}.post-type-acf-field-group #acf-field-group-fields .acf-field-list-wrap .acf-input-sub .acf-input-sub .acf-input-sub .acf-input-sub .acf-field-object .settings{border-left-color:#a3b1b9} +#acf-field-group-fields>.inside,#acf-field-group-locations>.inside,#acf-field-group-options>.inside{padding:0;margin:0}.postbox .handle-order-higher,.postbox .handle-order-lower{display:none}#minor-publishing-actions,#misc-publishing-actions #visibility,#misc-publishing-actions .edit-timestamp{display:none}#minor-publishing{border-bottom:0 none}#misc-pub-section{border-bottom:0 none}#misc-publishing-actions .misc-pub-section{border-bottom-color:#f5f5f5}#acf-field-group-fields{border:0 none}#acf-field-group-fields .inside{border-top-width:0;border-top-style:none}#acf-field-group-fields a{text-decoration:none}#acf-field-group-fields .li-field-type .field-type-icon{margin-right:8px}@media screen and (max-width: 600px){#acf-field-group-fields .li-field-type .field-type-icon{display:none}}#acf-field-group-fields .li-field-type .field-type-label{display:flex}#acf-field-group-fields .li-field-type .acf-pro-label-field-type{position:relative;top:-3px;margin-left:8px}#acf-field-group-fields .li-field-type .acf-pro-label-field-type img{max-width:34px}#acf-field-group-fields .li-field-order{width:64px;justify-content:center}@media screen and (max-width: 880px){#acf-field-group-fields .li-field-order{width:32px}}#acf-field-group-fields .li-field-label{width:calc(50% - 64px)}#acf-field-group-fields .li-field-name{width:25%;word-break:break-word}#acf-field-group-fields .li-field-key{display:none}#acf-field-group-fields .li-field-type{width:25%}#acf-field-group-fields.show-field-keys .li-field-label{width:calc(35% - 64px)}#acf-field-group-fields.show-field-keys .li-field-name{width:15%}#acf-field-group-fields.show-field-keys .li-field-key{width:25%;display:flex}#acf-field-group-fields.show-field-keys .li-field-type{width:25%}#acf-field-group-fields.hide-tabs .acf-field-settings-tab-bar{display:none}#acf-field-group-fields.hide-tabs .acf-field-settings-main{padding:0}#acf-field-group-fields.hide-tabs .acf-field-settings-main.acf-field-settings-main-general{padding-top:32px}#acf-field-group-fields.hide-tabs .acf-field-settings-main .acf-field{margin-bottom:32px}#acf-field-group-fields.hide-tabs .acf-field-settings-main .acf-field-setting-wrapper{padding-top:0;border-top:none}#acf-field-group-fields.hide-tabs .acf-field-settings-main .acf-field-settings-split .acf-field{border-bottom-width:1px;border-bottom-style:solid;border-bottom-color:#eaecf0}#acf-field-group-fields.hide-tabs .acf-field-settings-main .acf-field-setting-first_day{padding-top:0;border-top:none}#acf-field-group-fields.hide-tabs .acf-field-settings-footer{margin-top:32px}#acf-field-group-fields .acf-field-list-wrap{border:#ccd0d4 solid 1px}#acf-field-group-fields .acf-field-list{background:#f5f5f5;margin-top:-1px}#acf-field-group-fields .acf-field-list .acf-tbody>.li-field-name,#acf-field-group-fields .acf-field-list .acf-tbody>.li-field-key{align-items:flex-start}#acf-field-group-fields .acf-field-list .copyable:not(.input-copyable,.copy-unsupported){cursor:pointer;display:inline-flex;align-items:center}#acf-field-group-fields .acf-field-list .copyable:not(.input-copyable,.copy-unsupported):hover:after{content:"";padding-left:5px;display:inline-flex;width:12px;height:12px;background-color:#667085;border:none;border-radius:0;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;text-indent:500%;white-space:nowrap;overflow:hidden;-webkit-mask-image:url("../../images/icons/icon-copy.svg");mask-image:url("../../images/icons/icon-copy.svg");background-size:cover}#acf-field-group-fields .acf-field-list .copyable:not(.input-copyable,.copy-unsupported).sub-label{padding-right:22px}#acf-field-group-fields .acf-field-list .copyable:not(.input-copyable,.copy-unsupported).sub-label:hover{padding-right:0}#acf-field-group-fields .acf-field-list .copyable:not(.input-copyable,.copy-unsupported).sub-label:hover:after{width:14px;height:14px;padding-left:8px}#acf-field-group-fields .acf-field-list .copyable:not(.input-copyable,.copy-unsupported).copied:hover:after{-webkit-mask-image:url("../../images/icons/icon-check-circle-solid.svg");mask-image:url("../../images/icons/icon-check-circle-solid.svg");background-color:#49ad52}#acf-field-group-fields .acf-field-list .copyable.input-copyable:not(.copy-unsupported){cursor:pointer;display:block;position:relative;align-items:center}#acf-field-group-fields .acf-field-list .copyable.input-copyable:not(.copy-unsupported) input{padding-right:40px}#acf-field-group-fields .acf-field-list .copyable.input-copyable:not(.copy-unsupported) .acf-input-wrap:after{content:"";padding-left:5px;right:12px;top:12px;position:absolute;width:16px;height:16px;background-color:#98a2b3;border:none;border-radius:0;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;text-indent:500%;white-space:nowrap;overflow:hidden;-webkit-mask-image:url("../../images/icons/icon-copy.svg");mask-image:url("../../images/icons/icon-copy.svg");background-size:cover}#acf-field-group-fields .acf-field-list .copyable.input-copyable:not(.copy-unsupported).copied .acf-input-wrap:after{-webkit-mask-image:url("../../images/icons/icon-check-circle-solid.svg");mask-image:url("../../images/icons/icon-check-circle-solid.svg");background-color:#49ad52}#acf-field-group-fields .acf-field-list .no-fields-message{padding:15px 15px;background:#fff;display:none}#acf-field-group-fields .acf-field-list.-empty .no-fields-message{display:block}.acf-admin-3-8 #acf-field-group-fields .acf-field-list-wrap{border-color:#dfdfdf}.rtl #acf-field-group-fields .li-field-type .field-type-icon{margin-left:8px;margin-right:0}.acf-field-object{border-top:#eee solid 1px;background:#fff}.acf-field-object.ui-sortable-helper{overflow:hidden !important;border-width:1px;border-style:solid;border-color:#a5d2e7 !important;border-radius:8px;filter:drop-shadow(0px 10px 20px rgba(16, 24, 40, 0.14)) drop-shadow(0px 1px 3px rgba(16, 24, 40, 0.1))}.acf-field-object.ui-sortable-helper:before{display:none !important}.acf-field-object.ui-sortable-placeholder{box-shadow:0 -1px 0 0 #dfdfdf;visibility:visible !important;background:#f9f9f9;border-top-color:rgba(0,0,0,0);min-height:54px}.acf-field-object.ui-sortable-placeholder:after,.acf-field-object.ui-sortable-placeholder:before{visibility:hidden}.acf-field-object>.meta{display:none}.acf-field-object>.handle a{-webkit-transition:none;-moz-transition:none;-o-transition:none;transition:none}.acf-field-object>.handle li{word-wrap:break-word}.acf-field-object>.handle strong{display:block;padding-bottom:0;font-size:14px;line-height:14px;min-height:14px}.acf-field-object>.handle .row-options{display:block;opacity:0;margin-top:5px}@media screen and (max-width: 880px){.acf-field-object>.handle .row-options{opacity:1;margin-bottom:0}}.acf-field-object>.handle .row-options a{margin-right:4px}.acf-field-object>.handle .row-options a:hover{color:rgb(4.0632911392,71.1075949367,102.9367088608)}.acf-field-object>.handle .row-options a.delete-field{color:#a00}.acf-field-object>.handle .row-options a.delete-field:hover{color:red}.acf-field-object>.handle .row-options.active{visibility:visible}.acf-field-object.open+.acf-field-object{border-top-color:#e1e1e1}.acf-field-object.open>.handle{background:#2a9bd9;border:rgb(37.6669322709,149.6764940239,211.1330677291) solid 1px;text-shadow:#268fbb 0 1px 0;color:#fff;position:relative;margin:0 -1px 0 -1px}.acf-field-object.open>.handle a{color:#fff !important}.acf-field-object.open>.handle a:hover{text-decoration:underline !important}.acf-field-object:hover>.handle .row-options,.acf-field-object.-hover>.handle .row-options,.acf-field-object:focus-within>.handle .row-options{opacity:1;margin-bottom:0}.acf-field-object>.settings{display:none;width:100%}.acf-field-object>.settings>.acf-table{border:none}.acf-field-object .rule-groups{margin-top:20px}.rule-groups h4{margin:3px 0}.rule-groups .rule-group{margin:0 0 5px}.rule-groups .rule-group h4{margin:0 0 3px}.rule-groups .rule-group td.param{width:35%}.rule-groups .rule-group td.operator{width:20%}.rule-groups .rule-group td.add{width:40px}.rule-groups .rule-group td.remove{width:28px;vertical-align:middle}.rule-groups .rule-group td.remove a{width:22px;height:22px;visibility:hidden}.rule-groups .rule-group td.remove a:before{position:relative;top:-2px;font-size:16px}.rule-groups .rule-group tr:hover td.remove a{visibility:visible}.rule-groups .rule-group select:empty{background:#f8f8f8}.rule-groups:not(.rule-groups-multiple) .rule-group:first-child tr:first-child td.remove a{visibility:hidden !important}#acf-field-group-options tr[data-name=hide_on_screen] li{float:left;width:33%}@media(max-width: 1100px){#acf-field-group-options tr[data-name=hide_on_screen] li{width:50%}}table.conditional-logic-rules{background:rgba(0,0,0,0);border:0 none;border-radius:0}table.conditional-logic-rules tbody td{background:rgba(0,0,0,0);border:0 none !important;padding:5px 2px !important}.acf-field-object-tab .acf-field-setting-name,.acf-field-object-tab .acf-field-setting-instructions,.acf-field-object-tab .acf-field-setting-required,.acf-field-object-tab .acf-field-setting-warning,.acf-field-object-tab .acf-field-setting-wrapper{display:none}.acf-field-object-tab .li-field-name{visibility:hidden}.acf-field-object-tab p:first-child{margin:.5em 0}.acf-field-object-tab li.acf-settings-type-presentation,.acf-field-object-tab .acf-field-settings-main-presentation{display:none !important}.acf-field-object-accordion .acf-field-setting-name,.acf-field-object-accordion .acf-field-setting-instructions,.acf-field-object-accordion .acf-field-setting-required,.acf-field-object-accordion .acf-field-setting-warning,.acf-field-object-accordion .acf-field-setting-wrapper{display:none}.acf-field-object-accordion .li-field-name{visibility:hidden}.acf-field-object-accordion p:first-child{margin:.5em 0}.acf-field-object-accordion .acf-field-setting-instructions{display:block}.acf-field-object-message tr[data-name=name],.acf-field-object-message tr[data-name=instructions],.acf-field-object-message tr[data-name=required]{display:none !important}.acf-field-object-message .li-field-name{visibility:hidden}.acf-field-object-message textarea{height:175px !important}.acf-field-object-separator tr[data-name=name],.acf-field-object-separator tr[data-name=instructions],.acf-field-object-separator tr[data-name=required]{display:none !important}.acf-field-object-date-picker .acf-radio-list li,.acf-field-object-time-picker .acf-radio-list li,.acf-field-object-date-time-picker .acf-radio-list li{line-height:25px}.acf-field-object-date-picker .acf-radio-list span,.acf-field-object-time-picker .acf-radio-list span,.acf-field-object-date-time-picker .acf-radio-list span{display:inline-block;min-width:10em}.acf-field-object-date-picker .acf-radio-list input[type=text],.acf-field-object-time-picker .acf-radio-list input[type=text],.acf-field-object-date-time-picker .acf-radio-list input[type=text]{width:100px}.acf-field-object-date-time-picker .acf-radio-list span{min-width:15em}.acf-field-object-date-time-picker .acf-radio-list input[type=text]{width:200px}#slugdiv .inside{padding:12px;margin:0}#slugdiv input[type=text]{width:100%;height:28px;font-size:14px}html[dir=rtl] .acf-field-object.open>.handle{margin:0}@media only screen and (max-width: 850px){tr.acf-field,td.acf-label,td.acf-input{display:block !important;width:auto !important;border:0 none !important}tr.acf-field{border-top:#ededed solid 1px !important;margin-bottom:0 !important}td.acf-label{background:rgba(0,0,0,0) !important;padding-bottom:0 !important}}.post-type-acf-field-group #acf-field-group-fields .acf-field-object-tab,.post-type-acf-field-group #acf-field-group-fields .acf-field-object-accordion{background-color:#f9fafb}.acf-admin-page #wpcontent{line-height:140%}.acf-admin-page a{color:#0783be}.acf-h1,.acf-admin-page h1,.acf-headerbar h1{font-size:21px;font-weight:400}.acf-h2,.post-type-acf-field-group #acf-field-group-fields .acf-field-list.-empty .no-fields-message .no-fields-message-inner h2,.acf-page-title,.acf-admin-page h2,.acf-headerbar h2{font-size:18px;font-weight:400}.acf-h3,.post-type-acf-field-group .acf-field-settings-fc_head label,.acf-admin-page #acf-popup .acf-popup-box .title h1,.acf-admin-page #acf-popup .acf-popup-box .title h2,.acf-admin-page #acf-popup .acf-popup-box .title h3,.acf-admin-page #acf-popup .acf-popup-box .title h4,.acf-admin-page h3,.acf-headerbar h3{font-size:16px;font-weight:400}.acf-admin-page .p1{font-size:15px}.acf-admin-page .p2,.acf-admin-page .post-type-acf-field-group #acf-field-group-fields .acf-field-list.-empty .no-fields-message .no-fields-message-inner p,.post-type-acf-field-group #acf-field-group-fields .acf-field-list.-empty .no-fields-message .no-fields-message-inner .acf-admin-page p{font-size:14px}.acf-admin-page .p3{font-size:13.5px}.acf-admin-page .p4,.acf-admin-page .acf-field-list .acf-sortable-handle,.acf-field-list .acf-admin-page .acf-sortable-handle,.acf-admin-page .post-type-acf-field-group .acf-field-object .handle li.li-field-label a.edit-field,.post-type-acf-field-group .acf-field-object .handle li.li-field-label .acf-admin-page a.edit-field,.acf-admin-page .post-type-acf-field-group .acf-field-object .handle li,.post-type-acf-field-group .acf-field-object .handle .acf-admin-page li,.acf-admin-page .post-type-acf-field-group .acf-thead li,.post-type-acf-field-group .acf-thead .acf-admin-page li,.acf-admin-page .acf-input .select2-container.-acf .select2-selection__rendered,.acf-admin-page .rule-groups .select2-container.-acf .select2-selection__rendered,.acf-admin-page .button,.acf-admin-page input[type=text],.acf-admin-page input[type=search],.acf-admin-page input[type=number],.acf-admin-page textarea,.acf-admin-page select{font-size:13px}.acf-admin-page .p5,.acf-admin-page .acf-field-setting-display_format .acf-radio-list li label code,.acf-field-setting-display_format .acf-radio-list li label .acf-admin-page code,.acf-admin-page .acf-field-setting-return_format .acf-radio-list li label code,.acf-field-setting-return_format .acf-radio-list li label .acf-admin-page code,.acf-admin-page .acf-field-group-settings-footer .acf-created-on,.acf-field-group-settings-footer .acf-admin-page .acf-created-on,.acf-admin-page .acf-fields .acf-field-settings-tab-bar li a,.acf-fields .acf-field-settings-tab-bar li .acf-admin-page a,.acf-admin-page .acf-fields .acf-tab-wrap .acf-tab-group li a,.acf-fields .acf-tab-wrap .acf-tab-group li .acf-admin-page a,.acf-admin-page.acf-internal-post-type .acf-field-settings-tab-bar li a,.acf-admin-page.acf-internal-post-type .acf-tab-wrap .acf-tab-group li a,.acf-admin-page .acf-browse-fields-modal-wrap .acf-field-settings-tab-bar li a,.acf-browse-fields-modal-wrap .acf-field-settings-tab-bar li .acf-admin-page a,.acf-admin-page .acf-browse-fields-modal-wrap .acf-tab-wrap .acf-tab-group li a,.acf-browse-fields-modal-wrap .acf-tab-wrap .acf-tab-group li .acf-admin-page a{font-size:12.5px}.acf-admin-page .p6,.acf-admin-page .post-type-acf-field-group #acf-field-group-fields .acf-field-list.-empty .no-fields-message .no-fields-message-inner p.acf-small,.post-type-acf-field-group #acf-field-group-fields .acf-field-list.-empty .no-fields-message .no-fields-message-inner .acf-admin-page p.acf-small,.acf-admin-page .post-type-acf-field-group .acf-field-object .handle li.li-field-label .row-options a,.post-type-acf-field-group .acf-field-object .handle li.li-field-label .row-options .acf-admin-page a,.acf-admin-page .acf-small{font-size:12px}.acf-admin-page .p7{font-size:11.5px}.acf-admin-page .p8{font-size:11px}.acf-page-title{color:#344054}.acf-admin-page .acf-settings-wrap h1{display:none !important}.acf-admin-page #acf-admin-tools h1:not(.acf-field-group-pro-features-title,.acf-field-group-pro-features-title-sm){display:none !important}.acf-admin-page a:focus{box-shadow:none;outline:none}.acf-admin-page a:focus-visible{box-shadow:0 0 0 1px #4f94d4,0 0 2px 1px rgba(79,148,212,.8);outline:1px solid rgba(0,0,0,0)}.acf-admin-page input[type=text],.acf-admin-page input[type=search],.acf-admin-page input[type=number],.acf-admin-page textarea,.acf-admin-page select{box-sizing:border-box;height:40px;padding-right:12px;padding-left:12px;background-color:#fff;border-color:#d0d5dd;box-shadow:0px 1px 2px rgba(16,24,40,.1);border-radius:6px;color:#344054}.acf-admin-page input[type=text]:focus,.acf-admin-page input[type=search]:focus,.acf-admin-page input[type=number]:focus,.acf-admin-page textarea:focus,.acf-admin-page select:focus{outline:3px solid #ebf5fa;border-color:#399ccb}.acf-admin-page input[type=text]:disabled,.acf-admin-page input[type=search]:disabled,.acf-admin-page input[type=number]:disabled,.acf-admin-page textarea:disabled,.acf-admin-page select:disabled{background-color:#f9fafb;color:rgb(128.2255319149,137.7574468085,157.7744680851)}.acf-admin-page input[type=text]::placeholder,.acf-admin-page input[type=search]::placeholder,.acf-admin-page input[type=number]::placeholder,.acf-admin-page textarea::placeholder,.acf-admin-page select::placeholder{color:#98a2b3}.acf-admin-page input[type=text]:read-only{background-color:#f9fafb;color:#98a2b3}.acf-admin-page .acf-field.acf-field-number .acf-label,.acf-admin-page .acf-field.acf-field-number .acf-input input[type=number]{max-width:180px}.acf-admin-page textarea{box-sizing:border-box;padding-top:10px;padding-bottom:10px;height:80px;min-height:56px}.acf-admin-page select{min-width:160px;max-width:100%;padding-right:40px;padding-left:12px;background-image:url("../../images/icons/icon-chevron-down.svg");background-position:right 10px top 50%;background-size:20px}.acf-admin-page select:hover,.acf-admin-page select:focus{color:#0783be}.acf-admin-page select::before{content:"";display:block;position:absolute;top:5px;left:5px;width:20px;height:20px}.acf-admin-page.rtl select{padding-right:12px;padding-left:40px;background-position:left 10px top 50%}.acf-admin-page input[type=radio],.acf-admin-page input[type=checkbox]{box-sizing:border-box;width:16px;height:16px;padding:0;border-width:1px;border-style:solid;border-color:#98a2b3;background:#fff;box-shadow:none}.acf-admin-page input[type=radio]:hover,.acf-admin-page input[type=checkbox]:hover{background-color:#ebf5fa;border-color:#0783be}.acf-admin-page input[type=radio]:checked,.acf-admin-page input[type=radio]:focus-visible,.acf-admin-page input[type=checkbox]:checked,.acf-admin-page input[type=checkbox]:focus-visible{background-color:#ebf5fa;border-color:#0783be}.acf-admin-page input[type=radio]:checked:before,.acf-admin-page input[type=radio]:focus-visible:before,.acf-admin-page input[type=checkbox]:checked:before,.acf-admin-page input[type=checkbox]:focus-visible:before{content:"";position:relative;top:-1px;left:-1px;width:16px;height:16px;margin:0;padding:0;background-color:rgba(0,0,0,0);background-size:cover;background-repeat:no-repeat;background-position:center}.acf-admin-page input[type=radio]:active,.acf-admin-page input[type=checkbox]:active{box-shadow:0px 0px 0px 3px #ebf5fa,0px 0px 0px rgba(255,54,54,.25)}.acf-admin-page input[type=radio]:disabled,.acf-admin-page input[type=checkbox]:disabled{background-color:#f9fafb;border-color:#d0d5dd}.acf-admin-page.rtl input[type=radio]:checked:before,.acf-admin-page.rtl input[type=radio]:focus-visible:before,.acf-admin-page.rtl input[type=checkbox]:checked:before,.acf-admin-page.rtl input[type=checkbox]:focus-visible:before{left:1px}.acf-admin-page input[type=radio]:checked:before,.acf-admin-page input[type=radio]:focus:before{background-image:url("../../images/field-states/radio-active.svg")}.acf-admin-page input[type=checkbox]:checked:before,.acf-admin-page input[type=checkbox]:focus:before{background-image:url("../../images/field-states/checkbox-active.svg")}.acf-admin-page .acf-radio-list li input[type=radio],.acf-admin-page .acf-radio-list li input[type=checkbox],.acf-admin-page .acf-checkbox-list li input[type=radio],.acf-admin-page .acf-checkbox-list li input[type=checkbox]{margin-right:6px}.acf-admin-page .acf-radio-list.acf-bl li,.acf-admin-page .acf-checkbox-list.acf-bl li{margin-bottom:8px}.acf-admin-page .acf-radio-list.acf-bl li:last-of-type,.acf-admin-page .acf-checkbox-list.acf-bl li:last-of-type{margin-bottom:0}.acf-admin-page .acf-radio-list label,.acf-admin-page .acf-checkbox-list label{display:flex;align-items:center;align-content:center}.acf-admin-page .acf-switch{width:42px;height:24px;border:none;background-color:#d0d5dd;border-radius:12px}.acf-admin-page .acf-switch:hover{background-color:#98a2b3}.acf-admin-page .acf-switch:active{box-shadow:0px 0px 0px 3px #ebf5fa,0px 0px 0px rgba(255,54,54,.25)}.acf-admin-page .acf-switch.-on{background-color:#0783be}.acf-admin-page .acf-switch.-on:hover{background-color:#066998}.acf-admin-page .acf-switch.-on .acf-switch-slider{left:20px}.acf-admin-page .acf-switch .acf-switch-off,.acf-admin-page .acf-switch .acf-switch-on{visibility:hidden}.acf-admin-page .acf-switch .acf-switch-slider{width:20px;height:20px;border:none;border-radius:100px;box-shadow:0px 1px 3px rgba(16,24,40,.1),0px 1px 2px rgba(16,24,40,.06)}.acf-admin-page .acf-field-true-false{display:flex;align-items:flex-start}.acf-admin-page .acf-field-true-false .acf-label{order:2;display:block;align-items:center;max-width:550px !important;margin-top:2px;margin-bottom:0;margin-left:12px}.acf-admin-page .acf-field-true-false .acf-label label{margin-bottom:0}.acf-admin-page .acf-field-true-false .acf-label .acf-tip{margin-left:12px}.acf-admin-page .acf-field-true-false .acf-label .description{display:block;margin-top:2px;margin-left:0}.acf-admin-page.rtl .acf-field-true-false .acf-label{margin-right:12px;margin-left:0}.acf-admin-page.rtl .acf-field-true-false .acf-tip{margin-right:12px;margin-left:0}.acf-admin-page input::file-selector-button{box-sizing:border-box;min-height:40px;margin-right:16px;padding-top:8px;padding-right:16px;padding-bottom:8px;padding-left:16px;background-color:rgba(0,0,0,0);color:#0783be !important;border-radius:6px;border-width:1px;border-style:solid;border-color:#0783be;text-decoration:none}.acf-admin-page input::file-selector-button:hover{border-color:#066998;cursor:pointer;color:#066998 !important}.acf-admin-page .button{display:inline-flex;align-items:center;height:40px;padding-right:16px;padding-left:16px;background-color:rgba(0,0,0,0);border-width:1px;border-style:solid;border-color:#0783be;border-radius:6px;color:#0783be}.acf-admin-page .button:hover{background-color:rgb(243.16,249.08,252.04);border-color:#0783be;color:#0783be}.acf-admin-page .button:focus{background-color:rgb(243.16,249.08,252.04);outline:3px solid #ebf5fa;color:#0783be}.acf-admin-page .edit-field-group-header{display:block !important}.acf-admin-page .acf-input .select2-container.-acf .select2-selection,.acf-admin-page .rule-groups .select2-container.-acf .select2-selection{border:none;line-height:1}.acf-admin-page .acf-input .select2-container.-acf .select2-selection__rendered,.acf-admin-page .rule-groups .select2-container.-acf .select2-selection__rendered{box-sizing:border-box;padding-right:0;padding-left:0;background-color:#fff;border-width:1px;border-style:solid;border-color:#d0d5dd;box-shadow:0px 1px 2px rgba(16,24,40,.1);border-radius:6px;color:#344054}.acf-admin-page .acf-input .acf-conditional-select-name,.acf-admin-page .rule-groups .acf-conditional-select-name{min-width:180px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.acf-admin-page .acf-input .acf-conditional-select-id,.acf-admin-page .rule-groups .acf-conditional-select-id{padding-right:30px}.acf-admin-page .acf-input .value .select2-container--focus,.acf-admin-page .rule-groups .value .select2-container--focus{height:40px}.acf-admin-page .acf-input .value .select2-container--open .select2-selection__rendered,.acf-admin-page .rule-groups .value .select2-container--open .select2-selection__rendered{border-color:#399ccb}.acf-admin-page .acf-input .select2-container--focus,.acf-admin-page .rule-groups .select2-container--focus{outline:3px solid #ebf5fa;border-color:#399ccb;border-radius:6px}.acf-admin-page .acf-input .select2-container--focus .select2-selection__rendered,.acf-admin-page .rule-groups .select2-container--focus .select2-selection__rendered{border-color:#399ccb !important}.acf-admin-page .acf-input .select2-container--focus.select2-container--below.select2-container--open .select2-selection__rendered,.acf-admin-page .rule-groups .select2-container--focus.select2-container--below.select2-container--open .select2-selection__rendered{border-bottom-right-radius:0 !important;border-bottom-left-radius:0 !important}.acf-admin-page .acf-input .select2-container--focus.select2-container--above.select2-container--open .select2-selection__rendered,.acf-admin-page .rule-groups .select2-container--focus.select2-container--above.select2-container--open .select2-selection__rendered{border-top-right-radius:0 !important;border-top-left-radius:0 !important}.acf-admin-page .acf-input .select2-container .select2-search--inline .select2-search__field,.acf-admin-page .rule-groups .select2-container .select2-search--inline .select2-search__field{margin:0;padding-left:6px}.acf-admin-page .acf-input .select2-container .select2-search--inline .select2-search__field:focus,.acf-admin-page .rule-groups .select2-container .select2-search--inline .select2-search__field:focus{outline:none;border:none}.acf-admin-page .acf-input .select2-container--default .select2-selection--multiple .select2-selection__rendered,.acf-admin-page .rule-groups .select2-container--default .select2-selection--multiple .select2-selection__rendered{padding-top:0;padding-right:6px;padding-bottom:0;padding-left:6px}.acf-admin-page .acf-input .select2-selection__clear,.acf-admin-page .rule-groups .select2-selection__clear{width:18px;height:18px;margin-top:12px;margin-right:1px;text-indent:100%;white-space:nowrap;overflow:hidden;color:#fff}.acf-admin-page .acf-input .select2-selection__clear:before,.acf-admin-page .rule-groups .select2-selection__clear:before{content:"";display:block;width:16px;height:16px;top:0;left:0;border:none;border-radius:0;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;-webkit-mask-image:url("../../images/icons/icon-close.svg");mask-image:url("../../images/icons/icon-close.svg");background-color:#98a2b3}.acf-admin-page .acf-input .select2-selection__clear:hover::before,.acf-admin-page .rule-groups .select2-selection__clear:hover::before{background-color:#0783be}.acf-admin-page .acf-label{display:flex;align-items:center;justify-content:space-between}.acf-admin-page .acf-label .acf-icon-help{width:18px;height:18px;background-color:#98a2b3}.acf-admin-page .acf-label label{margin-bottom:0}.acf-admin-page .acf-label .description{margin-top:2px}.acf-admin-page .acf-field-setting-name .acf-tip{position:absolute;top:0;left:654px;color:#98a2b3}.rtl.acf-admin-page .acf-field-setting-name .acf-tip{left:auto;right:654px}.acf-admin-page .acf-field-setting-name .acf-tip .acf-icon-help{width:18px;height:18px}.acf-admin-page .acf-field-setting-type .select2-container.-acf,.acf-admin-page .acf-field-permalink-rewrite .select2-container.-acf,.acf-admin-page .acf-field-query-var .select2-container.-acf,.acf-admin-page .acf-field-capability .select2-container.-acf,.acf-admin-page .acf-field-parent-slug .select2-container.-acf,.acf-admin-page .acf-field-data-storage .select2-container.-acf,.acf-admin-page .acf-field-manage-terms .select2-container.-acf,.acf-admin-page .acf-field-edit-terms .select2-container.-acf,.acf-admin-page .acf-field-delete-terms .select2-container.-acf,.acf-admin-page .acf-field-assign-terms .select2-container.-acf,.acf-admin-page .acf-field-meta-box .select2-container.-acf,.acf-admin-page .rule-groups .select2-container.-acf{min-height:40px}.acf-admin-page .acf-field-setting-type .select2-container--default .select2-selection--single .select2-selection__rendered,.acf-admin-page .acf-field-permalink-rewrite .select2-container--default .select2-selection--single .select2-selection__rendered,.acf-admin-page .acf-field-query-var .select2-container--default .select2-selection--single .select2-selection__rendered,.acf-admin-page .acf-field-capability .select2-container--default .select2-selection--single .select2-selection__rendered,.acf-admin-page .acf-field-parent-slug .select2-container--default .select2-selection--single .select2-selection__rendered,.acf-admin-page .acf-field-data-storage .select2-container--default .select2-selection--single .select2-selection__rendered,.acf-admin-page .acf-field-manage-terms .select2-container--default .select2-selection--single .select2-selection__rendered,.acf-admin-page .acf-field-edit-terms .select2-container--default .select2-selection--single .select2-selection__rendered,.acf-admin-page .acf-field-delete-terms .select2-container--default .select2-selection--single .select2-selection__rendered,.acf-admin-page .acf-field-assign-terms .select2-container--default .select2-selection--single .select2-selection__rendered,.acf-admin-page .acf-field-meta-box .select2-container--default .select2-selection--single .select2-selection__rendered,.acf-admin-page .rule-groups .select2-container--default .select2-selection--single .select2-selection__rendered{display:flex;align-items:center;position:relative;z-index:800;min-height:40px;padding-top:0;padding-right:12px;padding-bottom:0;padding-left:12px}.acf-admin-page .acf-field-setting-type .select2-container--default .select2-selection--single .field-type-icon,.acf-admin-page .acf-field-permalink-rewrite .select2-container--default .select2-selection--single .field-type-icon,.acf-admin-page .acf-field-query-var .select2-container--default .select2-selection--single .field-type-icon,.acf-admin-page .acf-field-capability .select2-container--default .select2-selection--single .field-type-icon,.acf-admin-page .acf-field-parent-slug .select2-container--default .select2-selection--single .field-type-icon,.acf-admin-page .acf-field-data-storage .select2-container--default .select2-selection--single .field-type-icon,.acf-admin-page .acf-field-manage-terms .select2-container--default .select2-selection--single .field-type-icon,.acf-admin-page .acf-field-edit-terms .select2-container--default .select2-selection--single .field-type-icon,.acf-admin-page .acf-field-delete-terms .select2-container--default .select2-selection--single .field-type-icon,.acf-admin-page .acf-field-assign-terms .select2-container--default .select2-selection--single .field-type-icon,.acf-admin-page .acf-field-meta-box .select2-container--default .select2-selection--single .field-type-icon,.acf-admin-page .rule-groups .select2-container--default .select2-selection--single .field-type-icon{top:auto;width:18px;height:18px;margin-right:2px}.acf-admin-page .acf-field-setting-type .select2-container--default .select2-selection--single .field-type-icon:before,.acf-admin-page .acf-field-permalink-rewrite .select2-container--default .select2-selection--single .field-type-icon:before,.acf-admin-page .acf-field-query-var .select2-container--default .select2-selection--single .field-type-icon:before,.acf-admin-page .acf-field-capability .select2-container--default .select2-selection--single .field-type-icon:before,.acf-admin-page .acf-field-parent-slug .select2-container--default .select2-selection--single .field-type-icon:before,.acf-admin-page .acf-field-data-storage .select2-container--default .select2-selection--single .field-type-icon:before,.acf-admin-page .acf-field-manage-terms .select2-container--default .select2-selection--single .field-type-icon:before,.acf-admin-page .acf-field-edit-terms .select2-container--default .select2-selection--single .field-type-icon:before,.acf-admin-page .acf-field-delete-terms .select2-container--default .select2-selection--single .field-type-icon:before,.acf-admin-page .acf-field-assign-terms .select2-container--default .select2-selection--single .field-type-icon:before,.acf-admin-page .acf-field-meta-box .select2-container--default .select2-selection--single .field-type-icon:before,.acf-admin-page .rule-groups .select2-container--default .select2-selection--single .field-type-icon:before{width:9px;height:9px}.acf-admin-page .acf-field-setting-type .select2-container--open .select2-selection__rendered,.acf-admin-page .acf-field-permalink-rewrite .select2-container--open .select2-selection__rendered,.acf-admin-page .acf-field-query-var .select2-container--open .select2-selection__rendered,.acf-admin-page .acf-field-capability .select2-container--open .select2-selection__rendered,.acf-admin-page .acf-field-parent-slug .select2-container--open .select2-selection__rendered,.acf-admin-page .acf-field-data-storage .select2-container--open .select2-selection__rendered,.acf-admin-page .acf-field-manage-terms .select2-container--open .select2-selection__rendered,.acf-admin-page .acf-field-edit-terms .select2-container--open .select2-selection__rendered,.acf-admin-page .acf-field-delete-terms .select2-container--open .select2-selection__rendered,.acf-admin-page .acf-field-assign-terms .select2-container--open .select2-selection__rendered,.acf-admin-page .acf-field-meta-box .select2-container--open .select2-selection__rendered,.acf-admin-page .rule-groups .select2-container--open .select2-selection__rendered{border-color:#6bb5d8 !important;border-bottom-color:#d0d5dd !important}.acf-admin-page .acf-field-setting-type .select2-container--open.select2-container--below .select2-selection__rendered,.acf-admin-page .acf-field-permalink-rewrite .select2-container--open.select2-container--below .select2-selection__rendered,.acf-admin-page .acf-field-query-var .select2-container--open.select2-container--below .select2-selection__rendered,.acf-admin-page .acf-field-capability .select2-container--open.select2-container--below .select2-selection__rendered,.acf-admin-page .acf-field-parent-slug .select2-container--open.select2-container--below .select2-selection__rendered,.acf-admin-page .acf-field-data-storage .select2-container--open.select2-container--below .select2-selection__rendered,.acf-admin-page .acf-field-manage-terms .select2-container--open.select2-container--below .select2-selection__rendered,.acf-admin-page .acf-field-edit-terms .select2-container--open.select2-container--below .select2-selection__rendered,.acf-admin-page .acf-field-delete-terms .select2-container--open.select2-container--below .select2-selection__rendered,.acf-admin-page .acf-field-assign-terms .select2-container--open.select2-container--below .select2-selection__rendered,.acf-admin-page .acf-field-meta-box .select2-container--open.select2-container--below .select2-selection__rendered,.acf-admin-page .rule-groups .select2-container--open.select2-container--below .select2-selection__rendered{border-bottom-right-radius:0 !important;border-bottom-left-radius:0 !important}.acf-admin-page .acf-field-setting-type .select2-container--open.select2-container--above .select2-selection__rendered,.acf-admin-page .acf-field-permalink-rewrite .select2-container--open.select2-container--above .select2-selection__rendered,.acf-admin-page .acf-field-query-var .select2-container--open.select2-container--above .select2-selection__rendered,.acf-admin-page .acf-field-capability .select2-container--open.select2-container--above .select2-selection__rendered,.acf-admin-page .acf-field-parent-slug .select2-container--open.select2-container--above .select2-selection__rendered,.acf-admin-page .acf-field-data-storage .select2-container--open.select2-container--above .select2-selection__rendered,.acf-admin-page .acf-field-manage-terms .select2-container--open.select2-container--above .select2-selection__rendered,.acf-admin-page .acf-field-edit-terms .select2-container--open.select2-container--above .select2-selection__rendered,.acf-admin-page .acf-field-delete-terms .select2-container--open.select2-container--above .select2-selection__rendered,.acf-admin-page .acf-field-assign-terms .select2-container--open.select2-container--above .select2-selection__rendered,.acf-admin-page .acf-field-meta-box .select2-container--open.select2-container--above .select2-selection__rendered,.acf-admin-page .rule-groups .select2-container--open.select2-container--above .select2-selection__rendered{border-top-right-radius:0 !important;border-top-left-radius:0 !important;border-bottom-color:#6bb5d8 !important;border-top-color:#d0d5dd !important}.acf-admin-page .acf-field-setting-type .acf-selection.has-icon,.acf-admin-page .acf-field-permalink-rewrite .acf-selection.has-icon,.acf-admin-page .acf-field-query-var .acf-selection.has-icon,.acf-admin-page .acf-field-capability .acf-selection.has-icon,.acf-admin-page .acf-field-parent-slug .acf-selection.has-icon,.acf-admin-page .acf-field-data-storage .acf-selection.has-icon,.acf-admin-page .acf-field-manage-terms .acf-selection.has-icon,.acf-admin-page .acf-field-edit-terms .acf-selection.has-icon,.acf-admin-page .acf-field-delete-terms .acf-selection.has-icon,.acf-admin-page .acf-field-assign-terms .acf-selection.has-icon,.acf-admin-page .acf-field-meta-box .acf-selection.has-icon,.acf-admin-page .rule-groups .acf-selection.has-icon{margin-left:6px}.rtl.acf-admin-page .acf-field-setting-type .acf-selection.has-icon,.acf-admin-page .acf-field-permalink-rewrite .acf-selection.has-icon,.acf-admin-page .acf-field-query-var .acf-selection.has-icon,.acf-admin-page .acf-field-capability .acf-selection.has-icon,.acf-admin-page .acf-field-parent-slug .acf-selection.has-icon,.acf-admin-page .acf-field-data-storage .acf-selection.has-icon,.acf-admin-page .acf-field-manage-terms .acf-selection.has-icon,.acf-admin-page .acf-field-edit-terms .acf-selection.has-icon,.acf-admin-page .acf-field-delete-terms .acf-selection.has-icon,.acf-admin-page .acf-field-assign-terms .acf-selection.has-icon,.acf-admin-page .acf-field-meta-box .acf-selection.has-icon,.acf-admin-page .rule-groups .acf-selection.has-icon{margin-right:6px}.acf-admin-page .acf-field-setting-type .select2-selection__arrow,.acf-admin-page .acf-field-permalink-rewrite .select2-selection__arrow,.acf-admin-page .acf-field-query-var .select2-selection__arrow,.acf-admin-page .acf-field-capability .select2-selection__arrow,.acf-admin-page .acf-field-parent-slug .select2-selection__arrow,.acf-admin-page .acf-field-data-storage .select2-selection__arrow,.acf-admin-page .acf-field-manage-terms .select2-selection__arrow,.acf-admin-page .acf-field-edit-terms .select2-selection__arrow,.acf-admin-page .acf-field-delete-terms .select2-selection__arrow,.acf-admin-page .acf-field-assign-terms .select2-selection__arrow,.acf-admin-page .acf-field-meta-box .select2-selection__arrow,.acf-admin-page .rule-groups .select2-selection__arrow{width:20px;height:20px;top:calc(50% - 10px);right:12px;background-color:rgba(0,0,0,0)}.acf-admin-page .acf-field-setting-type .select2-selection__arrow:after,.acf-admin-page .acf-field-permalink-rewrite .select2-selection__arrow:after,.acf-admin-page .acf-field-query-var .select2-selection__arrow:after,.acf-admin-page .acf-field-capability .select2-selection__arrow:after,.acf-admin-page .acf-field-parent-slug .select2-selection__arrow:after,.acf-admin-page .acf-field-data-storage .select2-selection__arrow:after,.acf-admin-page .acf-field-manage-terms .select2-selection__arrow:after,.acf-admin-page .acf-field-edit-terms .select2-selection__arrow:after,.acf-admin-page .acf-field-delete-terms .select2-selection__arrow:after,.acf-admin-page .acf-field-assign-terms .select2-selection__arrow:after,.acf-admin-page .acf-field-meta-box .select2-selection__arrow:after,.acf-admin-page .rule-groups .select2-selection__arrow:after{content:"";display:block;position:absolute;z-index:850;top:1px;left:0;width:20px;height:20px;-webkit-mask-image:url("../../images/icons/icon-chevron-down.svg");mask-image:url("../../images/icons/icon-chevron-down.svg");background-color:#667085;border:none;border-radius:0;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;text-indent:500%;white-space:nowrap;overflow:hidden}.acf-admin-page .acf-field-setting-type .select2-selection__arrow b[role=presentation],.acf-admin-page .acf-field-permalink-rewrite .select2-selection__arrow b[role=presentation],.acf-admin-page .acf-field-query-var .select2-selection__arrow b[role=presentation],.acf-admin-page .acf-field-capability .select2-selection__arrow b[role=presentation],.acf-admin-page .acf-field-parent-slug .select2-selection__arrow b[role=presentation],.acf-admin-page .acf-field-data-storage .select2-selection__arrow b[role=presentation],.acf-admin-page .acf-field-manage-terms .select2-selection__arrow b[role=presentation],.acf-admin-page .acf-field-edit-terms .select2-selection__arrow b[role=presentation],.acf-admin-page .acf-field-delete-terms .select2-selection__arrow b[role=presentation],.acf-admin-page .acf-field-assign-terms .select2-selection__arrow b[role=presentation],.acf-admin-page .acf-field-meta-box .select2-selection__arrow b[role=presentation],.acf-admin-page .rule-groups .select2-selection__arrow b[role=presentation]{display:none}.acf-admin-page .acf-field-setting-type .select2-container--open .select2-selection__arrow:after,.acf-admin-page .acf-field-permalink-rewrite .select2-container--open .select2-selection__arrow:after,.acf-admin-page .acf-field-query-var .select2-container--open .select2-selection__arrow:after,.acf-admin-page .acf-field-capability .select2-container--open .select2-selection__arrow:after,.acf-admin-page .acf-field-parent-slug .select2-container--open .select2-selection__arrow:after,.acf-admin-page .acf-field-data-storage .select2-container--open .select2-selection__arrow:after,.acf-admin-page .acf-field-manage-terms .select2-container--open .select2-selection__arrow:after,.acf-admin-page .acf-field-edit-terms .select2-container--open .select2-selection__arrow:after,.acf-admin-page .acf-field-delete-terms .select2-container--open .select2-selection__arrow:after,.acf-admin-page .acf-field-assign-terms .select2-container--open .select2-selection__arrow:after,.acf-admin-page .acf-field-meta-box .select2-container--open .select2-selection__arrow:after,.acf-admin-page .rule-groups .select2-container--open .select2-selection__arrow:after{-webkit-mask-image:url("../../images/icons/icon-chevron-up.svg");mask-image:url("../../images/icons/icon-chevron-up.svg")}.acf-admin-page .acf-term-search-term-name{background-color:#f9fafb;border-top:1px solid #eaecf0;border-bottom:1px solid #eaecf0;color:#98a2b3;padding:5px 5px 5px 10px;width:100%;margin:0;display:block;font-weight:300}.acf-admin-page .field-type-select-results{position:relative;top:4px;z-index:1002;border-radius:0 0 6px 6px;box-shadow:0px 8px 24px 4px rgba(16,24,40,.12)}.acf-admin-page .field-type-select-results.select2-dropdown--above{display:flex;flex-direction:column-reverse;top:0;border-radius:6px 6px 0 0;z-index:99999}.select2-container.select2-container--open.acf-admin-page .field-type-select-results{box-shadow:0px 0px 0px 3px #ebf5fa,0px 8px 24px 4px rgba(16,24,40,.12)}.acf-admin-page .field-type-select-results .acf-selection.has-icon{margin-left:6px}.rtl.acf-admin-page .field-type-select-results .acf-selection.has-icon{margin-right:6px}.acf-admin-page .field-type-select-results .select2-search{position:relative;margin:0;padding:0}.acf-admin-page .field-type-select-results .select2-search--dropdown:after{content:"";display:block;position:absolute;top:12px;left:13px;width:16px;height:16px;-webkit-mask-image:url("../../images/icons/icon-search.svg");mask-image:url("../../images/icons/icon-search.svg");background-color:#98a2b3;border:none;border-radius:0;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;text-indent:500%;white-space:nowrap;overflow:hidden}.rtl.acf-admin-page .field-type-select-results .select2-search--dropdown:after{right:12px;left:auto}.acf-admin-page .field-type-select-results .select2-search .select2-search__field{padding-left:38px;border-right:0;border-bottom:0;border-left:0;border-radius:0}.rtl.acf-admin-page .field-type-select-results .select2-search .select2-search__field{padding-right:38px;padding-left:0}.acf-admin-page .field-type-select-results .select2-search .select2-search__field:focus{border-top-color:#d0d5dd;outline:0}.acf-admin-page .field-type-select-results .select2-results__options{max-height:440px}.acf-admin-page .field-type-select-results .select2-results__option .select2-results__option--highlighted{background-color:#0783be !important;color:#f9fafb !important}.acf-admin-page .field-type-select-results .select2-results__option .select2-results__option{display:inline-flex;position:relative;width:calc(100% - 24px);min-height:32px;padding-top:0;padding-right:12px;padding-bottom:0;padding-left:12px;align-items:center}.acf-admin-page .field-type-select-results .select2-results__option .select2-results__option .field-type-icon{top:auto;width:18px;height:18px;margin-right:2px;box-shadow:0 0 0 1px #f9fafb}.acf-admin-page .field-type-select-results .select2-results__option .select2-results__option .field-type-icon:before{width:9px;height:9px}.acf-admin-page .field-type-select-results .select2-results__option[aria-selected=true]{background-color:#ebf5fa !important;color:#344054 !important}.acf-admin-page .field-type-select-results .select2-results__option[aria-selected=true]:after{content:"";right:13px;position:absolute;width:16px;height:16px;-webkit-mask-image:url("../../images/icons/icon-check.svg");mask-image:url("../../images/icons/icon-check.svg");background-color:#0783be;border:none;border-radius:0;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;text-indent:500%;white-space:nowrap;overflow:hidden}.rtl.acf-admin-page .field-type-select-results .select2-results__option[aria-selected=true]:after{left:13px;right:auto}.acf-admin-page .field-type-select-results .select2-results__group{display:inline-flex;align-items:center;width:calc(100% - 24px);min-height:25px;background-color:#f9fafb;border-top-width:1px;border-top-style:solid;border-top-color:#eaecf0;border-bottom-width:1px;border-bottom-style:solid;border-bottom-color:#eaecf0;color:#98a2b3;font-size:11px;margin-bottom:0;padding-top:0;padding-right:12px;padding-bottom:0;padding-left:12px;font-weight:normal}.acf-admin-page.rtl .acf-field-setting-type .select2-selection__arrow:after,.acf-admin-page.rtl .acf-field-permalink-rewrite .select2-selection__arrow:after,.acf-admin-page.rtl .acf-field-query-var .select2-selection__arrow:after{right:auto;left:10px}.rtl.post-type-acf-field-group .acf-field-setting-name .acf-tip,.rtl.acf-internal-post-type .acf-field-setting-name .acf-tip{left:auto;right:654px}.post-type-acf-field-group .metabox-holder.columns-1 #acf-field-group-fields,.post-type-acf-field-group .metabox-holder.columns-1 #acf-field-group-options,.post-type-acf-field-group .metabox-holder.columns-1 .meta-box-sortables.ui-sortable,.post-type-acf-field-group .metabox-holder.columns-1 .notice{max-width:1440px}.post-type-acf-field-group.columns-1 .notice{max-width:1440px}.post-type-acf-field-group.columns-2 .acf-headerbar .acf-headerbar-inner{max-width:100%}.post-type-acf-field-group #poststuff{margin-top:0;margin-right:0;margin-bottom:0;margin-left:0;padding-top:0;padding-right:0;padding-bottom:0;padding-left:0}.post-type-acf-field-group #acf-field-group-fields .acf-field-list-wrap{overflow:hidden;border:none;border-radius:0 0 8px 8px;box-shadow:0px 1px 2px rgba(16,24,40,.1)}.post-type-acf-field-group #acf-field-group-fields .acf-field-list-wrap.-empty{border-top-width:1px;border-top-style:solid;border-top-color:#eaecf0}.post-type-acf-field-group #acf-field-group-fields .acf-field-list-wrap.-empty .acf-thead,.post-type-acf-field-group #acf-field-group-fields .acf-field-list-wrap.-empty .acf-tfoot{display:none}.post-type-acf-field-group #acf-field-group-fields .acf-field-list-wrap.-empty .no-fields-message{min-height:280px}.post-type-acf-field-group .acf-thead{background-color:#f9fafb;border-top-width:1px;border-top-style:solid;border-top-color:#eaecf0;border-bottom-width:1px;border-bottom-style:solid;border-bottom-color:#eaecf0}.post-type-acf-field-group .acf-thead li{display:flex;align-items:center;min-height:48px;padding-top:0;padding-bottom:0;color:#344054;font-weight:500}.post-type-acf-field-group .acf-field-object{border-top-width:1px;border-top-style:solid;border-top-color:#eaecf0}.post-type-acf-field-group .acf-field-object:hover .acf-sortable-handle:before{display:inline-flex}.post-type-acf-field-group .acf-field-object.acf-field-is-endpoint:before{display:block;content:"";height:2px;width:100%;background:#d0d5dd;margin-top:-1px}.post-type-acf-field-group .acf-field-object.acf-field-is-endpoint.acf-field-object-accordion:before{display:none}.post-type-acf-field-group .acf-field-object.acf-field-is-endpoint.acf-field-object-accordion:after{display:block;content:"";height:2px;width:100%;background:#d0d5dd;z-index:500}.post-type-acf-field-group .acf-field-object:hover{background-color:rgb(247.24,251.12,253.06)}.post-type-acf-field-group .acf-field-object.open{background-color:#fff;border-top-color:#a5d2e7}.post-type-acf-field-group .acf-field-object.open .handle{background-color:#d8ebf5;border:none;text-shadow:none}.post-type-acf-field-group .acf-field-object.open .handle a{color:#0783be !important}.post-type-acf-field-group .acf-field-object.open .handle a.delete-field{color:#a00 !important}.post-type-acf-field-group .acf-field-object .acf-field-setting-type .acf-hl{margin:0}.post-type-acf-field-group .acf-field-object .acf-field-setting-type .acf-hl li{width:auto}.post-type-acf-field-group .acf-field-object .acf-field-setting-type .acf-hl li:first-child{flex-grow:1;margin-left:-10px}.post-type-acf-field-group .acf-field-object .acf-field-setting-type .acf-hl li:nth-child(2){padding-right:0}.post-type-acf-field-group .acf-field-object ul.acf-hl{display:flex;align-items:stretch}.post-type-acf-field-group .acf-field-object .handle li{display:flex;align-items:top;flex-wrap:wrap;min-height:60px;color:#344054}.post-type-acf-field-group .acf-field-object .handle li.li-field-label{display:flex;flex-wrap:wrap;justify-content:flex-start;align-content:flex-start;align-items:flex-start;width:auto}.post-type-acf-field-group .acf-field-object .handle li.li-field-label strong{font-weight:500}.post-type-acf-field-group .acf-field-object .handle li.li-field-label .row-options{width:100%}.post-type-acf-field-group .acf-tfoot{display:flex;align-items:center;justify-content:flex-end;min-height:80px;box-sizing:border-box;padding-top:8px;padding-right:24px;padding-bottom:8px;padding-left:24px;background-color:#f9fafb;border-top-width:1px;border-top-style:solid;border-top-color:#eaecf0}.post-type-acf-field-group .acf-tfoot .acf-fr{margin-top:0;margin-right:0;margin-bottom:0;margin-left:0;padding-top:0;padding-right:0;padding-bottom:0;padding-left:0}.post-type-acf-field-group .acf-field-object .settings{box-sizing:border-box;padding-top:0;padding-bottom:0;background-color:#fff;border-left-width:4px;border-left-style:solid;border-left-color:#6bb5d8}.acf-field-settings-main{padding-top:32px;padding-right:0;padding-bottom:32px;padding-left:0}.acf-field-settings-main .acf-field:last-of-type,.acf-field-settings-main .acf-field.acf-last-visible{margin-bottom:0}.acf-field-settings .acf-label{display:block;justify-content:space-between;align-items:center;align-content:center;margin-top:0;margin-right:0;margin-bottom:6px;margin-left:0}.acf-field-settings .acf-field{box-sizing:border-box;width:100%;margin-top:0;margin-right:0;margin-bottom:32px;margin-left:0;padding-top:0;padding-right:72px;padding-bottom:0;padding-left:72px}@media screen and (max-width: 600px){.acf-field-settings .acf-field{padding-right:12px;padding-left:12px}}.acf-field-settings .acf-field .acf-label,.acf-field-settings .acf-field .acf-input{max-width:600px}.acf-field-settings .acf-field .acf-label.acf-input-sub,.acf-field-settings .acf-field .acf-input.acf-input-sub{max-width:100%}.acf-field-settings .acf-field .acf-label .acf-btn:disabled,.acf-field-settings .acf-field .acf-input .acf-btn:disabled{background-color:#f2f4f7;color:#98a2b3 !important;border:1px #d0d5dd solid;cursor:default}.acf-field-settings .acf-field .acf-input-wrap{overflow:visible}.acf-field-settings .acf-field.acf-field-setting-label,.acf-field-settings .acf-field-setting-wrapper{padding-top:24px;border-top-width:1px;border-top-style:solid;border-top-color:#eaecf0}.acf-field-settings .acf-field-setting-wrapper{margin-top:24px}.acf-field-setting-bidirectional_notes .acf-label{display:none}.acf-field-setting-bidirectional_notes .acf-feature-notice{background-color:#f9fafb;border:1px solid #eaecf0;border-radius:6px;padding:16px;color:#344054;position:relative}.acf-field-setting-bidirectional_notes .acf-feature-notice.with-warning-icon{padding-left:45px}.acf-field-setting-bidirectional_notes .acf-feature-notice.with-warning-icon::before{content:"";display:block;position:absolute;top:17px;left:18px;z-index:600;width:18px;height:18px;margin-right:8px;background-color:#667085;border:none;border-radius:0;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;-webkit-mask-image:url("../../images/icons/icon-info.svg");mask-image:url("../../images/icons/icon-info.svg")}.acf-field-settings .acf-field-settings-footer{display:flex;align-items:center;min-height:72px;box-sizing:border-box;width:100%;gap:8px;margin-top:0;margin-right:0;margin-bottom:0;margin-left:0;padding-top:0;padding-right:0;padding-bottom:0;padding-left:72px;border-top-width:1px;border-top-style:solid;border-top-color:#eaecf0}@media screen and (max-width: 600px){.acf-field-settings .acf-field-settings-footer{padding-left:12px}}.rtl .acf-field-settings .acf-field-settings-footer{padding-top:0;padding-right:72px;padding-bottom:0;padding-left:0}.acf-fields .acf-tab-wrap,.acf-admin-page.acf-internal-post-type .acf-tab-wrap,.acf-browse-fields-modal-wrap .acf-tab-wrap{background:#f9fafb;border-bottom-color:#1d2939}.acf-fields .acf-tab-wrap .acf-tab-group,.acf-admin-page.acf-internal-post-type .acf-tab-wrap .acf-tab-group,.acf-browse-fields-modal-wrap .acf-tab-wrap .acf-tab-group{padding-right:24px;padding-left:24px;border-top-width:0;border-bottom-width:1px;border-bottom-style:solid;border-bottom-color:#eaecf0}.acf-fields .acf-field-settings-tab-bar,.acf-fields .acf-tab-wrap .acf-tab-group,.acf-admin-page.acf-internal-post-type .acf-field-settings-tab-bar,.acf-admin-page.acf-internal-post-type .acf-tab-wrap .acf-tab-group,.acf-browse-fields-modal-wrap .acf-field-settings-tab-bar,.acf-browse-fields-modal-wrap .acf-tab-wrap .acf-tab-group{display:flex;align-items:stretch;min-height:48px;padding-top:0;padding-right:0;padding-bottom:0;padding-left:24px;margin-top:0;margin-bottom:0;border-bottom-width:1px;border-bottom-style:solid;border-bottom-color:#eaecf0}.acf-fields .acf-field-settings-tab-bar li,.acf-fields .acf-tab-wrap .acf-tab-group li,.acf-admin-page.acf-internal-post-type .acf-field-settings-tab-bar li,.acf-admin-page.acf-internal-post-type .acf-tab-wrap .acf-tab-group li,.acf-browse-fields-modal-wrap .acf-field-settings-tab-bar li,.acf-browse-fields-modal-wrap .acf-tab-wrap .acf-tab-group li{display:flex;margin-top:0;margin-right:24px;margin-bottom:0;margin-left:0;padding:0}.acf-fields .acf-field-settings-tab-bar li a,.acf-fields .acf-tab-wrap .acf-tab-group li a,.acf-admin-page.acf-internal-post-type .acf-field-settings-tab-bar li a,.acf-admin-page.acf-internal-post-type .acf-tab-wrap .acf-tab-group li a,.acf-browse-fields-modal-wrap .acf-field-settings-tab-bar li a,.acf-browse-fields-modal-wrap .acf-tab-wrap .acf-tab-group li a{box-sizing:border-box;display:inline-flex;align-items:center;height:100%;padding-top:3px;padding-right:0;padding-bottom:0;padding-left:0;background:none;border-top:none;border-right:none;border-bottom-width:3px;border-bottom-style:solid;border-bottom-color:rgba(0,0,0,0);border-left:none;color:#667085;font-weight:normal}.acf-fields .acf-field-settings-tab-bar li a:focus-visible,.acf-fields .acf-tab-wrap .acf-tab-group li a:focus-visible,.acf-admin-page.acf-internal-post-type .acf-field-settings-tab-bar li a:focus-visible,.acf-admin-page.acf-internal-post-type .acf-tab-wrap .acf-tab-group li a:focus-visible,.acf-browse-fields-modal-wrap .acf-field-settings-tab-bar li a:focus-visible,.acf-browse-fields-modal-wrap .acf-tab-wrap .acf-tab-group li a:focus-visible{border:1px solid #5897fb}.acf-fields .acf-field-settings-tab-bar li a:hover,.acf-fields .acf-tab-wrap .acf-tab-group li a:hover,.acf-admin-page.acf-internal-post-type .acf-field-settings-tab-bar li a:hover,.acf-admin-page.acf-internal-post-type .acf-tab-wrap .acf-tab-group li a:hover,.acf-browse-fields-modal-wrap .acf-field-settings-tab-bar li a:hover,.acf-browse-fields-modal-wrap .acf-tab-wrap .acf-tab-group li a:hover{color:#1d2939}.acf-fields .acf-field-settings-tab-bar li a:hover,.acf-fields .acf-tab-wrap .acf-tab-group li a:hover,.acf-admin-page.acf-internal-post-type .acf-field-settings-tab-bar li a:hover,.acf-admin-page.acf-internal-post-type .acf-tab-wrap .acf-tab-group li a:hover,.acf-browse-fields-modal-wrap .acf-field-settings-tab-bar li a:hover,.acf-browse-fields-modal-wrap .acf-tab-wrap .acf-tab-group li a:hover{background-color:rgba(0,0,0,0)}.acf-fields .acf-field-settings-tab-bar li.active a,.acf-fields .acf-tab-wrap .acf-tab-group li.active a,.acf-admin-page.acf-internal-post-type .acf-field-settings-tab-bar li.active a,.acf-admin-page.acf-internal-post-type .acf-tab-wrap .acf-tab-group li.active a,.acf-browse-fields-modal-wrap .acf-field-settings-tab-bar li.active a,.acf-browse-fields-modal-wrap .acf-tab-wrap .acf-tab-group li.active a{background:none;border-bottom-color:#0783be;color:#0783be}.acf-fields .acf-field-settings-tab-bar li.active a:focus-visible,.acf-fields .acf-tab-wrap .acf-tab-group li.active a:focus-visible,.acf-admin-page.acf-internal-post-type .acf-field-settings-tab-bar li.active a:focus-visible,.acf-admin-page.acf-internal-post-type .acf-tab-wrap .acf-tab-group li.active a:focus-visible,.acf-browse-fields-modal-wrap .acf-field-settings-tab-bar li.active a:focus-visible,.acf-browse-fields-modal-wrap .acf-tab-wrap .acf-tab-group li.active a:focus-visible{border-bottom-color:#0783be;border-bottom-width:3px}.acf-admin-page.acf-internal-post-type .acf-field-editor .acf-field-settings-tab-bar{padding-left:72px}@media screen and (max-width: 600px){.acf-admin-page.acf-internal-post-type .acf-field-editor .acf-field-settings-tab-bar{padding-left:12px}}#acf-field-group-options .field-group-settings-tab{padding-top:24px;padding-right:24px;padding-bottom:24px;padding-left:24px}#acf-field-group-options .field-group-settings-tab .acf-field:last-of-type{padding:0}#acf-field-group-options .acf-field{border:none;margin-top:0;margin-right:0;margin-bottom:0;margin-left:0;padding-top:0;padding-right:0;padding-bottom:24px;padding-left:0}#acf-field-group-options .field-group-setting-split-container{display:flex;padding-top:0;padding-right:0;padding-bottom:0;padding-left:0}#acf-field-group-options .field-group-setting-split-container .field-group-setting-split{box-sizing:border-box;padding-top:24px;padding-right:24px;padding-bottom:24px;padding-left:24px}#acf-field-group-options .field-group-setting-split-container .field-group-setting-split:nth-child(1){flex:1 0 auto}#acf-field-group-options .field-group-setting-split-container .field-group-setting-split:nth-child(2n){flex:1 0 auto;max-width:320px;margin-top:0;margin-right:0;margin-bottom:0;margin-left:32px;padding-right:32px;padding-left:32px;border-left-width:1px;border-left-style:solid;border-left-color:#eaecf0}#acf-field-group-options .acf-field[data-name=description]{max-width:600px}#acf-field-group-options .acf-button-group{display:inline-flex}.rtl #acf-field-group-options .field-group-setting-split-container .field-group-setting-split:nth-child(2n){margin-right:32px;margin-left:0;border-left:none;border-right-width:1px;border-right-style:solid;border-right-color:#eaecf0}.acf-field-list .li-field-order{padding:0;display:flex;flex-direction:row;flex-wrap:nowrap;justify-content:center;align-content:stretch;align-items:stretch;background-color:rgba(0,0,0,0)}.acf-field-list .acf-sortable-handle{display:flex;flex-direction:row;flex-wrap:nowrap;justify-content:center;align-content:flex-start;align-items:flex-start;width:100%;height:100%;position:relative;padding-top:11px;padding-bottom:8px;background-color:rgba(0,0,0,0);border:none;border-radius:0}.acf-field-list .acf-sortable-handle:hover{cursor:grab}.acf-field-list .acf-sortable-handle:before{content:"";display:none;position:absolute;top:16px;left:8px;width:16px;height:16px;width:12px;height:12px;background-color:#98a2b3;border:none;border-radius:0;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;text-indent:500%;white-space:nowrap;overflow:hidden;-webkit-mask-image:url("../../images/icons/icon-draggable.svg");mask-image:url("../../images/icons/icon-draggable.svg")}.rtl .acf-field-list .acf-sortable-handle:before{left:0;right:8px}.acf-field-object .li-field-label{position:relative;padding-left:40px}.acf-field-object .li-field-label:before{content:"";display:block;position:absolute;left:6px;display:inline-flex;width:18px;height:18px;margin-top:-2px;background-color:#667085;border:none;border-radius:0;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;text-indent:500%;white-space:nowrap;overflow:hidden;-webkit-mask-image:url("../../images/icons/icon-chevron-down.svg");mask-image:url("../../images/icons/icon-chevron-down.svg")}.acf-field-object .li-field-label:hover:before{cursor:pointer}.rtl .acf-field-object .li-field-label{padding-left:0;padding-right:40px}.rtl .acf-field-object .li-field-label:before{left:0;right:6px;-webkit-mask-image:url("../../images/icons/icon-chevron-down.svg");mask-image:url("../../images/icons/icon-chevron-down.svg")}.rtl .acf-field-object.open .li-field-label:before{-webkit-mask-image:url("../../images/icons/icon-chevron-down.svg");mask-image:url("../../images/icons/icon-chevron-down.svg")}.rtl .acf-field-object.open .acf-input-sub .li-field-label:before{-webkit-mask-image:url("../../images/icons/icon-chevron-right.svg");mask-image:url("../../images/icons/icon-chevron-right.svg")}.rtl .acf-field-object.open .acf-input-sub .acf-field-object.open .li-field-label:before{-webkit-mask-image:url("../../images/icons/icon-chevron-down.svg");mask-image:url("../../images/icons/icon-chevron-down.svg")}.acf-thead .li-field-label{padding-left:40px}.rtl .acf-thead .li-field-label{padding-left:0;padding-right:40px}.acf-field-settings-main-conditional-logic .acf-conditional-toggle{display:flex;padding-right:72px;padding-left:72px}@media screen and (max-width: 600px){.acf-field-settings-main-conditional-logic .acf-conditional-toggle{padding-left:12px}}.acf-field-settings-main-conditional-logic .acf-field{flex-wrap:wrap;margin-bottom:0;padding-right:0;padding-left:0}.acf-field-settings-main-conditional-logic .acf-field .rule-groups{flex:0 1 100%;order:3;margin-top:32px;padding-top:32px;padding-right:72px;padding-left:72px;border-top-width:1px;border-top-style:solid;border-top-color:#eaecf0}@media screen and (max-width: 600px){.acf-field-settings-main-conditional-logic .acf-field .rule-groups{padding-left:12px}.acf-field-settings-main-conditional-logic .acf-field .rule-groups table.acf-table tbody tr{display:flex;flex-wrap:wrap;justify-content:flex-start;align-content:flex-start;align-items:flex-start}.acf-field-settings-main-conditional-logic .acf-field .rule-groups table.acf-table tbody tr td{flex:1 1 100%}}.acf-taxonomy-select-id,.acf-relationship-select-id,.acf-post_object-select-id,.acf-page_link-select-id,.acf-user-select-id{color:#98a2b3;padding-left:10px}.acf-taxonomy-select-sub-item{max-width:180px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-left:5px}.acf-taxonomy-select-name{max-width:180px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.acf-input .acf-input-prepend,.acf-input .acf-input-append{display:inline-flex;align-items:center;height:100%;min-height:40px;padding-right:12px;padding-left:12px;background-color:#f9fafb;border-color:#d0d5dd;box-shadow:0px 1px 2px rgba(16,24,40,.1);color:#667085}.acf-input .acf-input-prepend{border-radius:6px 0 0 6px}.acf-input .acf-input-append{border-radius:0 6px 6px 0}.acf-input-wrap{display:flex}.acf-field-settings-main-presentation .acf-input-wrap{display:flex}.post-type-acf-field-group #acf-field-group-fields .acf-field-list.-empty .no-fields-message{display:flex;justify-content:center;padding-top:48px;padding-bottom:48px}.post-type-acf-field-group #acf-field-group-fields .acf-field-list.-empty .no-fields-message .no-fields-message-inner{display:flex;flex-wrap:wrap;justify-content:center;align-content:center;align-items:flex-start;text-align:center;max-width:400px}.post-type-acf-field-group #acf-field-group-fields .acf-field-list.-empty .no-fields-message .no-fields-message-inner img,.post-type-acf-field-group #acf-field-group-fields .acf-field-list.-empty .no-fields-message .no-fields-message-inner h2,.post-type-acf-field-group #acf-field-group-fields .acf-field-list.-empty .no-fields-message .no-fields-message-inner p{flex:1 0 100%}.post-type-acf-field-group #acf-field-group-fields .acf-field-list.-empty .no-fields-message .no-fields-message-inner h2{margin-top:32px;margin-bottom:0;padding:0;color:#344054}.post-type-acf-field-group #acf-field-group-fields .acf-field-list.-empty .no-fields-message .no-fields-message-inner p{margin-top:12px;margin-bottom:0;padding:0;color:#667085}.post-type-acf-field-group #acf-field-group-fields .acf-field-list.-empty .no-fields-message .no-fields-message-inner p.acf-small{margin-top:32px}.post-type-acf-field-group #acf-field-group-fields .acf-field-list.-empty .no-fields-message .no-fields-message-inner img{max-width:284px;margin-bottom:0}.post-type-acf-field-group #acf-field-group-fields .acf-field-list.-empty .no-fields-message .no-fields-message-inner .acf-btn{margin-top:32px}.post-type-acf-field-group .acf-headerbar #title-prompt-text{display:none}.acf-admin-page #acf-popup .acf-popup-box{min-width:480px}.acf-admin-page #acf-popup .acf-popup-box .title{display:flex;align-items:center;align-content:center;justify-content:space-between;min-height:64px;box-sizing:border-box;margin:0;padding-right:24px;padding-left:24px;border-bottom-width:1px;border-bottom-style:solid;border-bottom-color:#eaecf0}.acf-admin-page #acf-popup .acf-popup-box .title h1,.acf-admin-page #acf-popup .acf-popup-box .title h2,.acf-admin-page #acf-popup .acf-popup-box .title h3,.acf-admin-page #acf-popup .acf-popup-box .title h4{padding-left:0;color:#344054}.acf-admin-page #acf-popup .acf-popup-box .title .acf-icon{display:block;position:relative;top:auto;right:auto;width:22px;height:22px;background-color:rgba(0,0,0,0);color:rgba(0,0,0,0)}.acf-admin-page #acf-popup .acf-popup-box .title .acf-icon:before{display:inline-flex;position:absolute;top:0;left:0;width:22px;height:22px;background-color:#667085;border:none;border-radius:0;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;text-indent:500%;white-space:nowrap;overflow:hidden;-webkit-mask-image:url("../../images/icons/icon-close-circle.svg");mask-image:url("../../images/icons/icon-close-circle.svg")}.acf-admin-page #acf-popup .acf-popup-box .title .acf-icon:hover:before{background-color:#0783be}.acf-admin-page #acf-popup .acf-popup-box .inner{box-sizing:border-box;margin:0;padding-top:24px;padding-right:24px;padding-bottom:24px;padding-left:24px;border-top:none}.acf-admin-page #acf-popup .acf-popup-box .inner p{margin-top:0;margin-bottom:0}.acf-admin-page #acf-popup .acf-popup-box #acf-move-field-form .acf-field-select,.acf-admin-page #acf-popup .acf-popup-box #acf-link-field-groups-form .acf-field-select{margin-top:0}.acf-admin-page .acf-link-field-groups-popup .acf-popup-box .title h3,.acf-admin-page .acf-create-options-page-popup .acf-popup-box .title h3{color:#1d2939;font-weight:500}.acf-admin-page .acf-link-field-groups-popup .acf-popup-box .title h3:before,.acf-admin-page .acf-create-options-page-popup .acf-popup-box .title h3:before{content:"";width:18px;height:18px;background:#98a2b3;margin-right:9px}.acf-admin-page .acf-link-field-groups-popup .acf-popup-box .inner,.acf-admin-page .acf-create-options-page-popup .acf-popup-box .inner{padding:0 !important}.acf-admin-page .acf-link-field-groups-popup .acf-popup-box .inner .acf-field-select,.acf-admin-page .acf-link-field-groups-popup .acf-popup-box .inner .acf-link-successful,.acf-admin-page .acf-create-options-page-popup .acf-popup-box .inner .acf-field-select,.acf-admin-page .acf-create-options-page-popup .acf-popup-box .inner .acf-link-successful{padding:32px 24px;margin-bottom:0}.acf-admin-page .acf-link-field-groups-popup .acf-popup-box .inner .acf-field-select .description,.acf-admin-page .acf-link-field-groups-popup .acf-popup-box .inner .acf-link-successful .description,.acf-admin-page .acf-create-options-page-popup .acf-popup-box .inner .acf-field-select .description,.acf-admin-page .acf-create-options-page-popup .acf-popup-box .inner .acf-link-successful .description{margin-top:6px !important}.acf-admin-page .acf-link-field-groups-popup .acf-popup-box .inner .acf-actions,.acf-admin-page .acf-create-options-page-popup .acf-popup-box .inner .acf-actions{background:#f9fafb;border-top:1px solid #eaecf0;padding-top:20px;padding-left:24px;padding-bottom:20px;padding-right:24px;border-bottom-left-radius:8px;border-bottom-right-radius:8px}.acf-admin-page .acf-link-field-groups-popup .acf-popup-box .inner .acf-actions .acf-btn,.acf-admin-page .acf-create-options-page-popup .acf-popup-box .inner .acf-actions .acf-btn{display:inline-block;margin-left:8px}.acf-admin-page .acf-link-field-groups-popup .acf-popup-box .inner .acf-actions .acf-btn.acf-btn-primary,.acf-admin-page .acf-create-options-page-popup .acf-popup-box .inner .acf-actions .acf-btn.acf-btn-primary{width:120px}.acf-admin-page .acf-create-options-page-popup .acf-popup-box .inner .acf-error-message.-success{display:none}.acf-admin-page .acf-create-options-page-popup .acf-popup-box .inner .-dismiss{margin:24px 32px !important}.acf-admin-page .acf-create-options-page-popup .acf-popup-box .inner .acf-field{padding:24px 32px 0 32px;margin:0}.acf-admin-page .acf-create-options-page-popup .acf-popup-box .inner .acf-field.acf-error .acf-input-wrap{overflow:inherit}.acf-admin-page .acf-create-options-page-popup .acf-popup-box .inner .acf-field.acf-error .acf-input-wrap input[type=text]{border:1px rgba(209,55,55,.5) solid !important;box-shadow:0px 0px 0px 3px rgba(209,55,55,.12),0px 0px 0px rgba(255,54,54,.25) !important;background-image:url(../../images/icons/icon-info-red.svg);background-position:right 10px top 50%;background-size:14px;background-repeat:no-repeat}.acf-admin-page .acf-create-options-page-popup .acf-popup-box .inner .acf-field .acf-options-page-modal-error p{font-size:12px;color:#d13737}.acf-admin-page .acf-create-options-page-popup .acf-popup-box .inner .acf-actions{margin-top:32px}.acf-admin-page .acf-create-options-page-popup .acf-popup-box .inner .acf-actions .acf-btn:disabled{background-color:#0783be}.acf-admin-single-field-group #post-body-content{display:none}.acf-field-group-settings-footer{display:flex;justify-content:space-between;align-content:stretch;align-items:center;position:relative;min-height:88px;margin-right:-24px;margin-left:-24px;margin-bottom:-24px;padding-right:24px;padding-left:24px;border-top-width:1px;border-top-style:solid;border-top-color:#eaecf0}.acf-field-group-settings-footer .acf-created-on{display:inline-flex;justify-content:flex-start;align-content:stretch;align-items:center;color:#667085}.acf-field-group-settings-footer .acf-created-on:before{content:"";display:inline-block;width:20px;height:20px;margin-right:8px;background-color:#98a2b3;border:none;border-radius:0;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;-webkit-mask-image:url("../../images/icons/icon-time.svg");mask-image:url("../../images/icons/icon-time.svg")}.conditional-logic-badge{display:none}.conditional-logic-badge.is-enabled{display:inline-block;width:6px;height:6px;overflow:hidden;margin-left:8px;background-color:rgba(82,170,89,.4);border-width:1px;border-style:solid;border-color:#52aa59;border-radius:100px;text-indent:100%;white-space:nowrap}.acf-field-type-settings{container-name:settings;container-type:inline-size}.acf-field-settings-split{display:flex;border-top-width:1px;border-top-style:solid;border-top-color:#eaecf0}.acf-field-settings-split .acf-field{margin:0;padding-top:32px;padding-bottom:32px}.acf-field-settings-split .acf-field:nth-child(2n){border-left-width:1px;border-left-style:solid;border-left-color:#eaecf0}@container settings (max-width: 1170px){.acf-field-settings-split{border:none;flex-direction:column}.acf-field{border-top-width:1px;border-top-style:solid;border-top-color:#eaecf0}}.acf-field-setting-display_format .acf-label,.acf-field-setting-return_format .acf-label{margin-bottom:6px}.acf-field-setting-display_format .acf-radio-list li,.acf-field-setting-return_format .acf-radio-list li{display:flex}.acf-field-setting-display_format .acf-radio-list li label,.acf-field-setting-return_format .acf-radio-list li label{display:inline-flex;width:100%}.acf-field-setting-display_format .acf-radio-list li label span,.acf-field-setting-return_format .acf-radio-list li label span{flex:1 1 auto}.acf-field-setting-display_format .acf-radio-list li label code,.acf-field-setting-return_format .acf-radio-list li label code{padding-right:8px;padding-left:8px;background-color:#f2f4f7;border-radius:4px;color:#475467}.acf-field-setting-display_format .acf-radio-list li input[type=text],.acf-field-setting-return_format .acf-radio-list li input[type=text]{height:32px}.acf-field-settings .acf-field-setting-first_day{padding-top:32px;border-top-width:1px;border-top-style:solid;border-top-color:#eaecf0}.acf-field-object-image .acf-hl[data-cols="3"]>li,.acf-field-object-gallery .acf-hl[data-cols="3"]>li{width:auto}.acf-field-settings .acf-field-appended{overflow:auto}.acf-field-settings .acf-field-appended .acf-input{float:left}.acf-field-settings .acf-field.acf-field-setting-min_width .acf-input,.acf-field-settings .acf-field.acf-field-setting-max_width .acf-input{max-width:none}.acf-field-settings .acf-field.acf-field-setting-min_width .acf-input-wrap input[type=text],.acf-field-settings .acf-field.acf-field-setting-max_width .acf-input-wrap input[type=text]{max-width:81px}.post-type-acf-field-group .acf-field-object-flexible-content .acf-field-setting-pagination{display:none}.post-type-acf-field-group .acf-field-object-repeater .acf-field-object-repeater .acf-field-setting-pagination{display:none}.acf-admin-single-field-group .acf-field-object-flexible-content .acf-is-subfields .acf-field-object .acf-label,.acf-admin-single-field-group .acf-field-object-flexible-content .acf-is-subfields .acf-field-object .acf-input{max-width:600px}.acf-admin-single-field-group .acf-field.acf-field-true-false.acf-field-setting-default_value .acf-true-false{border:none}.acf-admin-single-field-group .acf-field.acf-field-true-false.acf-field-setting-default_value .acf-true-false input[type=checkbox]{margin-right:0}.acf-field.acf-field-with-front{margin-top:32px}.post-type-acf-field-group #acf-field-group-fields .acf-field-list-wrap .acf-input-sub{max-width:100%;overflow:hidden;border-radius:8px;border-width:1px;border-style:solid;border-color:rgb(219.125,222.5416666667,229.375);box-shadow:0px 1px 2px rgba(16,24,40,.1)}.post-type-acf-field-group #acf-field-group-fields .acf-field-list-wrap .acf-input-sub .acf-sub-field-list-header{display:flex;justify-content:space-between;align-content:stretch;align-items:center;min-height:64px;padding-right:24px;padding-left:24px}.post-type-acf-field-group #acf-field-group-fields .acf-field-list-wrap .acf-input-sub .acf-field-list-wrap{box-shadow:none}.post-type-acf-field-group #acf-field-group-fields .acf-field-list-wrap .acf-input-sub .acf-hl.acf-tfoot{min-height:64px;align-items:center}.post-type-acf-field-group #acf-field-group-fields .acf-field-list-wrap .acf-input-sub .acf-input.acf-input-sub{max-width:100%;margin-right:0;margin-left:0}.post-type-acf-field-group .acf-input-sub .acf-field-object .acf-sortable-handle{width:100%;height:100%}.post-type-acf-field-group .acf-field-object:hover .acf-input-sub .acf-sortable-handle:before{display:none}.post-type-acf-field-group .acf-field-object:hover .acf-input-sub .acf-field-list .acf-field-object:hover .acf-sortable-handle:before{display:block}.post-type-acf-field-group .acf-field-object .acf-is-subfields .acf-thead .li-field-label:before{display:none}.post-type-acf-field-group #acf-field-group-fields .acf-field-list-wrap .acf-input-sub .acf-field-object.open{border-top-color:rgb(219.125,222.5416666667,229.375)}.post-type-acf-field-group i.acf-icon.-duplicate.duplicate-layout{margin:0 auto !important;background-color:#667085;color:#667085}.post-type-acf-field-group i.acf-icon.acf-icon-trash.delete-layout{margin:0 auto !important;background-color:#667085;color:#667085}.post-type-acf-field-group button.acf-btn.acf-btn-tertiary.acf-field-setting-fc-duplicate,.post-type-acf-field-group button.acf-btn.acf-btn-tertiary.acf-field-setting-fc-delete{background-color:#fff !important;box-shadow:0px 1px 2px rgba(16,24,40,.1);border-radius:6px;width:32px;height:32px !important;min-height:32px;padding:0}.post-type-acf-field-group button.add-layout.acf-btn.acf-btn-primary.add-field,.post-type-acf-field-group .acf-sub-field-list-header a.acf-btn.acf-btn-secondary.add-field,.post-type-acf-field-group .acf-field-list-wrap.acf-is-subfields a.acf-btn.acf-btn-secondary.add-field{height:32px !important;min-height:32px;margin-left:5px}.post-type-acf-field-group .acf-field.acf-field-setting-fc_layout{background-color:#fff;margin-bottom:16px}.post-type-acf-field-group .acf-field-setting-fc_layout{width:calc(100% - 144px);margin-right:72px;margin-left:72px;padding-right:0;padding-left:0;border-width:1px;border-style:solid;border-color:rgb(219.125,222.5416666667,229.375);border-radius:8px;box-shadow:0px 1px 2px rgba(16,24,40,.1)}.post-type-acf-field-group .acf-field-setting-fc_layout .acf-field-layout-settings.open{background-color:#fff;border-top-width:1px;border-top-style:solid;border-top-color:#eaecf0}@media screen and (max-width: 768px){.post-type-acf-field-group .acf-field-setting-fc_layout{width:calc(100% - 16px);margin-right:8px;margin-left:8px}}.post-type-acf-field-group .acf-field-setting-fc_layout .acf-input-sub{max-width:100%;margin-right:0;margin-left:0}.post-type-acf-field-group .acf-field-setting-fc_layout .acf-label,.post-type-acf-field-group .acf-field-setting-fc_layout .acf-input{max-width:100% !important}.post-type-acf-field-group .acf-field-setting-fc_layout .acf-input-sub{margin-right:32px;margin-bottom:32px;margin-left:32px}.post-type-acf-field-group .acf-field-setting-fc_layout .acf-fc-meta{max-width:100%;padding-top:24px;padding-right:32px;padding-left:32px}.post-type-acf-field-group .acf-field-settings-fc_head{display:flex;align-items:center;justify-content:left;background-color:#f9fafb;border-radius:8px;min-height:64px;margin-bottom:0px;padding-right:24px}.post-type-acf-field-group .acf-field-settings-fc_head .acf-fc_draggable{min-height:64px;padding-left:24px;display:flex;white-space:nowrap}.post-type-acf-field-group .acf-field-settings-fc_head .acf-fc-layout-name{min-width:0;color:#98a2b3;padding-left:8px;font-size:16px}.post-type-acf-field-group .acf-field-settings-fc_head .acf-fc-layout-name.copyable:not(.input-copyable,.copy-unsupported):hover:after{width:14px !important;height:14px !important}@media screen and (max-width: 880px){.post-type-acf-field-group .acf-field-settings-fc_head .acf-fc-layout-name{display:none !important}}.post-type-acf-field-group .acf-field-settings-fc_head .acf-fc-layout-name span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.post-type-acf-field-group .acf-field-settings-fc_head span.toggle-indicator{pointer-events:none;margin-top:7px}.post-type-acf-field-group .acf-field-settings-fc_head label{display:inline-flex;align-items:center}.post-type-acf-field-group .acf-field-settings-fc_head label.acf-fc-layout-name{margin-left:1rem}@media screen and (max-width: 880px){.post-type-acf-field-group .acf-field-settings-fc_head label.acf-fc-layout-name{display:none !important}}.post-type-acf-field-group .acf-field-settings-fc_head label.acf-fc-layout-name span.acf-fc-layout-name{text-overflow:ellipsis;overflow:hidden;height:22px;white-space:nowrap}.post-type-acf-field-group .acf-field-settings-fc_head label.acf-fc-layout-label:before{content:"";display:inline-block;width:20px;height:20px;margin-right:8px;background-color:#98a2b3;border:none;border-radius:0;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center}.rtl.post-type-acf-field-group .acf-field-settings-fc_head label.acf-fc-layout-label:before{padding-right:10px}.post-type-acf-field-group .acf-field-settings-fc_head .acf-fl-actions{display:flex;align-items:center;white-space:nowrap;margin-left:auto}.post-type-acf-field-group .acf-field-settings-fc_head .acf-fl-actions .acf-fc-add-layout{margin-left:10px}.post-type-acf-field-group .acf-field-settings-fc_head .acf-fl-actions .acf-fc-add-layout .add-field{margin-left:0px !important}.post-type-acf-field-group .acf-field-settings-fc_head .acf-fl-actions li{margin-right:4px}.post-type-acf-field-group .acf-field-settings-fc_head .acf-fl-actions li:last-of-type{margin-right:0}.post-type-acf-field-group .acf-field-settings-fc_head.open{border-radius:8px 8px 0px 0px}.post-type-acf-field-group .acf-field-object.open>.handle>.acf-tbody>.li-field-label::before{-webkit-mask-image:url("../../images/icons/icon-chevron-up.svg");mask-image:url("../../images/icons/icon-chevron-up.svg")}.post-type-acf-field-group #acf-field-group-fields .acf-field-list-wrap .acf-input-sub .acf-field-object .handle{background-color:rgba(0,0,0,0)}.post-type-acf-field-group #acf-field-group-fields .acf-field-list-wrap .acf-input-sub .acf-field-object .handle:hover{background-color:rgb(248.6,242,251)}.post-type-acf-field-group #acf-field-group-fields .acf-field-list-wrap .acf-input-sub .acf-field-object.open .handle{background-color:rgb(244.76,234.2,248.6)}.post-type-acf-field-group #acf-field-group-fields .acf-field-list-wrap .acf-input-sub .acf-field-object .settings{border-left-color:#bf7dd7}.post-type-acf-field-group #acf-field-group-fields .acf-field-list-wrap .acf-input-sub .acf-input-sub .acf-field-object .handle{background-color:rgba(0,0,0,0)}.post-type-acf-field-group #acf-field-group-fields .acf-field-list-wrap .acf-input-sub .acf-input-sub .acf-field-object .handle:hover{background-color:rgb(234.7348066298,247.2651933702,244.1712707182)}.post-type-acf-field-group #acf-field-group-fields .acf-field-list-wrap .acf-input-sub .acf-input-sub .acf-field-object.open .handle{background-color:rgb(227.3524861878,244.4475138122,240.226519337)}.post-type-acf-field-group #acf-field-group-fields .acf-field-list-wrap .acf-input-sub .acf-input-sub .acf-field-object .settings{border-left-color:#7ccdb9}.post-type-acf-field-group #acf-field-group-fields .acf-field-list-wrap .acf-input-sub .acf-input-sub .acf-input-sub .acf-field-object .handle{background-color:rgba(0,0,0,0)}.post-type-acf-field-group #acf-field-group-fields .acf-field-list-wrap .acf-input-sub .acf-input-sub .acf-input-sub .acf-field-object .handle:hover{background-color:hsl(17.8378378378,65.6804733728%,96.862745098%)}.post-type-acf-field-group #acf-field-group-fields .acf-field-list-wrap .acf-input-sub .acf-input-sub .acf-input-sub .acf-field-object.open .handle{background-color:hsl(17.8378378378,65.6804733728%,94.862745098%)}.post-type-acf-field-group #acf-field-group-fields .acf-field-list-wrap .acf-input-sub .acf-input-sub .acf-input-sub .acf-field-object .settings{border-left-color:#e29473}.post-type-acf-field-group #acf-field-group-fields .acf-field-list-wrap .acf-input-sub .acf-input-sub .acf-input-sub .acf-input-sub .acf-field-object .handle{background-color:rgba(0,0,0,0)}.post-type-acf-field-group #acf-field-group-fields .acf-field-list-wrap .acf-input-sub .acf-input-sub .acf-input-sub .acf-input-sub .acf-field-object .handle:hover{background-color:rgb(249.8888888889,250.6666666667,251.1111111111)}.post-type-acf-field-group #acf-field-group-fields .acf-field-list-wrap .acf-input-sub .acf-input-sub .acf-input-sub .acf-input-sub .acf-field-object.open .handle{background-color:rgb(244.0962962963,245.7555555556,246.7037037037)}.post-type-acf-field-group #acf-field-group-fields .acf-field-list-wrap .acf-input-sub .acf-input-sub .acf-input-sub .acf-input-sub .acf-field-object .settings{border-left-color:#a3b1b9} diff --git a/wp-content/plugins/advanced-custom-fields-pro/assets/build/css/acf-global.css b/wp-content/plugins/advanced-custom-fields-pro/assets/build/css/acf-global.css deleted file mode 100644 index 11f093cb1..000000000 --- a/wp-content/plugins/advanced-custom-fields-pro/assets/build/css/acf-global.css +++ /dev/null @@ -1,7435 +0,0 @@ -/*!*****************************************************************************************************************************************************************************************************************!*\ - !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].use[1]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./src/advanced-custom-fields-pro/assets/src/sass/acf-global.scss ***! - \*****************************************************************************************************************************************************************************************************************/ -@charset "UTF-8"; -/*-------------------------------------------------------------------------------------------- -* -* Vars -* -*--------------------------------------------------------------------------------------------*/ -/* colors */ -/* acf-field */ -/* responsive */ -/*-------------------------------------------------------------------------------------------- -* -* ACF 6 ↓ -* -*--------------------------------------------------------------------------------------------*/ -/*-------------------------------------------------------------------------------------------- -* -* Mixins -* -*--------------------------------------------------------------------------------------------*/ -/*-------------------------------------------------------------------------------------------- -* -* Global -* -*--------------------------------------------------------------------------------------------*/ -/* Horizontal List */ -.acf-hl { - padding: 0; - margin: 0; - list-style: none; - display: block; - position: relative; -} - -.acf-hl > li { - float: left; - display: block; - margin: 0; - padding: 0; -} - -.acf-hl > li.acf-fr { - float: right; -} - -/* Horizontal List: Clearfix */ -.acf-hl:before, -.acf-hl:after, -.acf-bl:before, -.acf-bl:after, -.acf-cf:before, -.acf-cf:after { - content: ""; - display: block; - line-height: 0; -} - -.acf-hl:after, -.acf-bl:after, -.acf-cf:after { - clear: both; -} - -/* Block List */ -.acf-bl { - padding: 0; - margin: 0; - list-style: none; - display: block; - position: relative; -} - -.acf-bl > li { - display: block; - margin: 0; - padding: 0; - float: none; -} - -/* Visibility */ -.acf-hidden { - display: none !important; -} - -.acf-empty { - display: table-cell !important; -} -.acf-empty * { - display: none !important; -} - -/* Float */ -.acf-fl { - float: left; -} - -.acf-fr { - float: right; -} - -.acf-fn { - float: none; -} - -/* Align */ -.acf-al { - text-align: left; -} - -.acf-ar { - text-align: right; -} - -.acf-ac { - text-align: center; -} - -/* loading */ -.acf-loading, -.acf-spinner { - display: inline-block; - height: 20px; - width: 20px; - vertical-align: text-top; - background: transparent url(../../images/spinner.gif) no-repeat 50% 50%; -} - -/* spinner */ -.acf-spinner { - display: none; -} - -.acf-spinner.is-active { - display: inline-block; -} - -/* WP < 4.2 */ -.spinner.is-active { - display: inline-block; -} - -/* required */ -.acf-required { - color: #f00; -} - -/* Allow pointer events in reusable blocks */ -.acf-button, -.acf-tab-button { - pointer-events: auto !important; -} - -/* show on hover */ -.acf-soh .acf-soh-target { - -webkit-transition: opacity 0.25s 0s ease-in-out, visibility 0s linear 0.25s; - -moz-transition: opacity 0.25s 0s ease-in-out, visibility 0s linear 0.25s; - -o-transition: opacity 0.25s 0s ease-in-out, visibility 0s linear 0.25s; - transition: opacity 0.25s 0s ease-in-out, visibility 0s linear 0.25s; - visibility: hidden; - opacity: 0; -} - -.acf-soh:hover .acf-soh-target { - -webkit-transition-delay: 0s; - -moz-transition-delay: 0s; - -o-transition-delay: 0s; - transition-delay: 0s; - visibility: visible; - opacity: 1; -} - -/* show if value */ -.show-if-value { - display: none; -} - -.hide-if-value { - display: block; -} - -.has-value .show-if-value { - display: block; -} - -.has-value .hide-if-value { - display: none; -} - -/* select2 WP animation fix */ -.select2-search-choice-close { - -webkit-transition: none; - -moz-transition: none; - -o-transition: none; - transition: none; -} - -/*--------------------------------------------------------------------------------------------- -* -* tooltip -* -*---------------------------------------------------------------------------------------------*/ -/* tooltip */ -.acf-tooltip { - background: #1D2939; - border-radius: 6px; - color: #D0D5DD; - padding-top: 8px; - padding-right: 12px; - padding-bottom: 10px; - padding-left: 12px; - position: absolute; - z-index: 900000; - max-width: 280px; - box-shadow: 0px 12px 16px -4px rgba(16, 24, 40, 0.08), 0px 4px 6px -2px rgba(16, 24, 40, 0.03); - /* tip */ - /* positions */ -} -.acf-tooltip:before { - border: solid; - border-color: transparent; - border-width: 6px; - content: ""; - position: absolute; -} -.acf-tooltip.top { - margin-top: -8px; -} -.acf-tooltip.top:before { - top: 100%; - left: 50%; - margin-left: -6px; - border-top-color: #2f353e; - border-bottom-width: 0; -} -.acf-tooltip.right { - margin-left: 8px; -} -.acf-tooltip.right:before { - top: 50%; - margin-top: -6px; - right: 100%; - border-right-color: #2f353e; - border-left-width: 0; -} -.acf-tooltip.bottom { - margin-top: 8px; -} -.acf-tooltip.bottom:before { - bottom: 100%; - left: 50%; - margin-left: -6px; - border-bottom-color: #2f353e; - border-top-width: 0; -} -.acf-tooltip.left { - margin-left: -8px; -} -.acf-tooltip.left:before { - top: 50%; - margin-top: -6px; - left: 100%; - border-left-color: #2f353e; - border-right-width: 0; -} -.acf-tooltip .acf-overlay { - z-index: -1; -} - -/* confirm */ -.acf-tooltip.-confirm { - z-index: 900001; -} -.acf-tooltip.-confirm a { - text-decoration: none; - color: #9ea3a8; -} -.acf-tooltip.-confirm a:hover { - text-decoration: underline; -} -.acf-tooltip.-confirm a[data-event=confirm] { - color: #f55e4f; -} - -.acf-overlay { - position: fixed; - top: 0; - bottom: 0; - left: 0; - right: 0; - cursor: default; -} - -.acf-tooltip-target { - position: relative; - z-index: 900002; -} - -/*--------------------------------------------------------------------------------------------- -* -* loading -* -*---------------------------------------------------------------------------------------------*/ -.acf-loading-overlay { - position: absolute; - top: 0; - bottom: 0; - left: 0; - right: 0; - cursor: default; - z-index: 99; - background: rgba(249, 249, 249, 0.5); -} -.acf-loading-overlay i { - position: absolute; - top: 50%; - left: 50%; - transform: translate(-50%, -50%); -} - -/*-------------------------------------------------------------------------------------------- -* -* acf-icon -* -*--------------------------------------------------------------------------------------------*/ -.acf-icon { - display: inline-block; - height: 28px; - width: 28px; - border: transparent solid 1px; - border-radius: 100%; - font-size: 20px; - line-height: 21px; - text-align: center; - text-decoration: none; - vertical-align: top; - box-sizing: border-box; -} -.acf-icon:before { - font-family: dashicons; - display: inline-block; - line-height: 1; - font-weight: 400; - font-style: normal; - speak: none; - text-decoration: inherit; - text-transform: none; - text-rendering: auto; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; - width: 1em; - height: 1em; - vertical-align: middle; - text-align: center; -} - -.acf-icon.-plus:before { - content: "\f543"; -} - -.acf-icon.-minus:before { - content: "\f460"; -} - -.acf-icon.-cancel:before { - content: "\f335"; - margin: -1px 0 0 -1px; -} - -.acf-icon.-pencil:before { - content: "\f464"; -} - -.acf-icon.-location:before { - content: "\f230"; -} - -.acf-icon.-up:before { - content: "\f343"; - margin-top: -0.1em; -} - -.acf-icon.-down:before { - content: "\f347"; - margin-top: 0.1em; -} - -.acf-icon.-left:before { - content: "\f341"; - margin-left: -0.1em; -} - -.acf-icon.-right:before { - content: "\f345"; - margin-left: 0.1em; -} - -.acf-icon.-sync:before { - content: "\f463"; -} - -.acf-icon.-globe:before { - content: "\f319"; - margin-top: 0.1em; - margin-left: 0.1em; -} - -.acf-icon.-picture:before { - content: "\f128"; -} - -.acf-icon.-check:before { - content: "\f147"; - margin-left: -0.1em; -} - -.acf-icon.-dot-3:before { - content: "\f533"; - margin-top: -0.1em; -} - -.acf-icon.-arrow-combo:before { - content: "\f156"; -} - -.acf-icon.-arrow-up:before { - content: "\f142"; - margin-left: -0.1em; -} - -.acf-icon.-arrow-down:before { - content: "\f140"; - margin-left: -0.1em; -} - -.acf-icon.-search:before { - content: "\f179"; -} - -.acf-icon.-link-ext:before { - content: "\f504"; -} - -.acf-icon.-duplicate { - position: relative; -} -.acf-icon.-duplicate:before, .acf-icon.-duplicate:after { - content: ""; - display: block; - box-sizing: border-box; - width: 46%; - height: 46%; - position: absolute; - top: 33%; - left: 23%; -} -.acf-icon.-duplicate:before { - margin: -1px 0 0 1px; - box-shadow: 2px -2px 0px 0px currentColor; -} -.acf-icon.-duplicate:after { - border: solid 2px currentColor; -} - -.acf-icon.-trash { - position: relative; -} -.acf-icon.-trash:before, .acf-icon.-trash:after { - content: ""; - display: block; - box-sizing: border-box; - width: 46%; - height: 46%; - position: absolute; - top: 33%; - left: 23%; -} -.acf-icon.-trash:before { - margin: -1px 0 0 1px; - box-shadow: 2px -2px 0px 0px currentColor; -} -.acf-icon.-trash:after { - border: solid 2px currentColor; -} - -.acf-icon.-collapse:before { - content: "\f142"; - margin-left: -0.1em; -} - -.-collapsed .acf-icon.-collapse:before { - content: "\f140"; - margin-left: -0.1em; -} - -span.acf-icon { - color: #555d66; - border-color: #b5bcc2; - background-color: #fff; -} - -a.acf-icon { - color: #555d66; - border-color: #b5bcc2; - background-color: #fff; - position: relative; - transition: none; - cursor: pointer; -} -a.acf-icon:hover { - background: #f3f5f6; - border-color: #0071a1; - color: #0071a1; -} -a.acf-icon.-minus:hover, a.acf-icon.-cancel:hover { - background: #f7efef; - border-color: #a10000; - color: #dc3232; -} -a.acf-icon:active, a.acf-icon:focus { - outline: none; - box-shadow: none; -} - -.acf-icon.-clear { - border-color: transparent; - background: transparent; - color: #444; -} - -.acf-icon.light { - border-color: transparent; - background: #f5f5f5; - color: #23282d; -} - -.acf-icon.dark { - border-color: transparent !important; - background: #23282d; - color: #eee; -} - -a.acf-icon.dark:hover { - background: #191e23; - color: #00b9eb; -} -a.acf-icon.dark.-minus:hover, a.acf-icon.dark.-cancel:hover { - color: #d54e21; -} - -.acf-icon.grey { - border-color: transparent !important; - background: #b4b9be; - color: #fff !important; -} -.acf-icon.grey:hover { - background: #00a0d2; - color: #fff; -} -.acf-icon.grey.-minus:hover, .acf-icon.grey.-cancel:hover { - background: #32373c; -} - -.acf-icon.small, -.acf-icon.-small { - width: 20px; - height: 20px; - line-height: 14px; - font-size: 14px; -} -.acf-icon.small.-duplicate:before, .acf-icon.small.-duplicate:after, -.acf-icon.-small.-duplicate:before, -.acf-icon.-small.-duplicate:after { - opacity: 0.8; -} - -/*-------------------------------------------------------------------------------------------- -* -* acf-box -* -*--------------------------------------------------------------------------------------------*/ -.acf-box { - background: #ffffff; - border: 1px solid #ccd0d4; - position: relative; - box-shadow: 0 1px 1px rgba(0, 0, 0, 0.04); - /* title */ - /* footer */ -} -.acf-box .title { - border-bottom: 1px solid #ccd0d4; - margin: 0; - padding: 15px; -} -.acf-box .title h3 { - display: flex; - align-items: center; - font-size: 14px; - line-height: 1em; - margin: 0; - padding: 0; -} -.acf-box .inner { - padding: 15px; -} -.acf-box h2 { - color: #333333; - font-size: 26px; - line-height: 1.25em; - margin: 0.25em 0 0.75em; - padding: 0; -} -.acf-box h3 { - margin: 1.5em 0 0; -} -.acf-box p { - margin-top: 0.5em; -} -.acf-box a { - text-decoration: none; -} -.acf-box i.dashicons-external { - margin-top: -1px; -} -.acf-box .footer { - border-top: 1px solid #ccd0d4; - padding: 12px; - font-size: 13px; - line-height: 1.5; -} -.acf-box .footer p { - margin: 0; -} -.acf-admin-3-8 .acf-box { - border-color: #E5E5E5; -} -.acf-admin-3-8 .acf-box .title, -.acf-admin-3-8 .acf-box .footer { - border-color: #E5E5E5; -} - -/*-------------------------------------------------------------------------------------------- -* -* acf-notice -* -*--------------------------------------------------------------------------------------------*/ -.acf-notice { - position: relative; - display: block; - color: #fff; - margin: 5px 0 15px; - padding: 3px 12px; - background: #2a9bd9; - border-left: #1f7db1 solid 3px; -} -.acf-notice p { - font-size: 13px; - line-height: 1.5; - margin: 0.5em 0; - text-shadow: none; - color: inherit; -} -.acf-notice .acf-notice-dismiss { - position: absolute; - top: 9px; - right: 12px; - background: transparent !important; - color: inherit !important; - border-color: #fff !important; - opacity: 0.75; -} -.acf-notice .acf-notice-dismiss:hover { - opacity: 1; -} -.acf-notice.-dismiss { - padding-right: 40px; -} -.acf-notice.-error { - background: #d94f4f; - border-color: #c92c2c; -} -.acf-notice.-success { - background: #49ad52; - border-color: #3a8941; -} -.acf-notice.-warning { - background: #fd8d3b; - border-color: #fc7009; -} - -/*-------------------------------------------------------------------------------------------- -* -* acf-table -* -*--------------------------------------------------------------------------------------------*/ -.acf-table { - border: #ccd0d4 solid 1px; - background: #fff; - border-spacing: 0; - border-radius: 0; - table-layout: auto; - padding: 0; - margin: 0; - width: 100%; - clear: both; - box-sizing: content-box; - /* defaults */ - /* thead */ - /* tbody */ - /* -clear */ -} -.acf-table > tbody > tr > th, -.acf-table > tbody > tr > td, -.acf-table > thead > tr > th, -.acf-table > thead > tr > td { - padding: 8px; - vertical-align: top; - background: #fff; - text-align: left; - border-style: solid; - font-weight: normal; -} -.acf-table > tbody > tr > th, -.acf-table > thead > tr > th { - position: relative; - color: #333333; -} -.acf-table > thead > tr > th { - border-color: #d5d9dd; - border-width: 0 0 1px 1px; -} -.acf-table > thead > tr > th:first-child { - border-left-width: 0; -} -.acf-table > tbody > tr { - z-index: 1; -} -.acf-table > tbody > tr > td { - border-color: #eeeeee; - border-width: 1px 0 0 1px; -} -.acf-table > tbody > tr > td:first-child { - border-left-width: 0; -} -.acf-table > tbody > tr:first-child > td { - border-top-width: 0; -} -.acf-table.-clear { - border: 0 none; -} -.acf-table.-clear > tbody > tr > td, -.acf-table.-clear > tbody > tr > th, -.acf-table.-clear > thead > tr > td, -.acf-table.-clear > thead > tr > th { - border: 0 none; - padding: 4px; -} - -/* remove tr */ -.acf-remove-element { - -webkit-transition: all 0.25s ease-out; - -moz-transition: all 0.25s ease-out; - -o-transition: all 0.25s ease-out; - transition: all 0.25s ease-out; - transform: translate(50px, 0); - opacity: 0; -} - -/* fade-up */ -.acf-fade-up { - -webkit-transition: all 0.25s ease-out; - -moz-transition: all 0.25s ease-out; - -o-transition: all 0.25s ease-out; - transition: all 0.25s ease-out; - transform: translate(0, -10px); - opacity: 0; -} - -/*--------------------------------------------------------------------------------------------- -* -* Fake table -* -*---------------------------------------------------------------------------------------------*/ -.acf-thead, -.acf-tbody, -.acf-tfoot { - width: 100%; - padding: 0; - margin: 0; -} -.acf-thead > li, -.acf-tbody > li, -.acf-tfoot > li { - box-sizing: border-box; - padding-top: 14px; - font-size: 12px; - line-height: 14px; -} - -.acf-thead { - border-bottom: #ccd0d4 solid 1px; - color: #23282d; -} -.acf-thead > li { - font-size: 14px; - line-height: 1.4; - font-weight: bold; -} -.acf-admin-3-8 .acf-thead { - border-color: #dfdfdf; -} - -.acf-tfoot { - background: #f5f5f5; - border-top: #d5d9dd solid 1px; -} - -/*-------------------------------------------------------------------------------------------- -* -* Settings -* -*--------------------------------------------------------------------------------------------*/ -.acf-settings-wrap #poststuff { - padding-top: 15px; -} -.acf-settings-wrap .acf-box { - margin: 20px 0; -} -.acf-settings-wrap table { - margin: 0; -} -.acf-settings-wrap table .button { - vertical-align: middle; -} - -/*-------------------------------------------------------------------------------------------- -* -* acf-popup -* -*--------------------------------------------------------------------------------------------*/ -#acf-popup { - position: fixed; - z-index: 900000; - top: 0; - left: 0; - right: 0; - bottom: 0; - text-align: center; -} -#acf-popup .bg { - position: absolute; - top: 0; - left: 0; - right: 0; - bottom: 0; - z-index: 0; - background: rgba(0, 0, 0, 0.25); -} -#acf-popup:before { - content: ""; - display: inline-block; - height: 100%; - vertical-align: middle; -} -#acf-popup .acf-popup-box { - display: inline-block; - vertical-align: middle; - z-index: 1; - min-width: 300px; - min-height: 160px; - border-color: #aaaaaa; - box-shadow: 0 5px 30px -5px rgba(0, 0, 0, 0.25); - text-align: left; -} -html[dir=rtl] #acf-popup .acf-popup-box { - text-align: right; -} -#acf-popup .acf-popup-box .title { - min-height: 15px; - line-height: 15px; -} -#acf-popup .acf-popup-box .title .acf-icon { - position: absolute; - top: 10px; - right: 10px; -} -html[dir=rtl] #acf-popup .acf-popup-box .title .acf-icon { - right: auto; - left: 10px; -} -#acf-popup .acf-popup-box .inner { - min-height: 50px; - padding: 0; - margin: 15px; -} -#acf-popup .acf-popup-box .loading { - position: absolute; - top: 45px; - left: 0; - right: 0; - bottom: 0; - z-index: 2; - background: rgba(0, 0, 0, 0.1); - display: none; -} -#acf-popup .acf-popup-box .loading i { - position: absolute; - top: 50%; - left: 50%; - transform: translate(-50%, -50%); -} - -.acf-submit { - margin-bottom: 0; - line-height: 28px; -} -.acf-submit span { - float: right; - color: #999; -} -.acf-submit span.-error { - color: #dd4232; -} -.acf-submit .button { - margin-right: 5px; -} - -/*-------------------------------------------------------------------------------------------- -* -* upgrade notice -* -*--------------------------------------------------------------------------------------------*/ -#acf-upgrade-notice { - position: relative; - background: #fff; - padding: 20px; -} -#acf-upgrade-notice:after { - display: block; - clear: both; - content: ""; -} -#acf-upgrade-notice .col-content { - float: left; - width: 55%; - padding-left: 90px; -} -#acf-upgrade-notice .notice-container { - display: flex; - justify-content: space-between; - align-items: flex-start; - align-content: flex-start; -} -#acf-upgrade-notice .col-actions { - float: right; - text-align: center; -} -#acf-upgrade-notice img { - float: left; - width: 64px; - height: 64px; - margin: 0 0 0 -90px; -} -#acf-upgrade-notice h2 { - display: inline-block; - font-size: 16px; - margin: 2px 0 6.5px; -} -#acf-upgrade-notice p { - padding: 0; - margin: 0; -} -#acf-upgrade-notice .button:before { - margin-top: 11px; -} -@media screen and (max-width: 640px) { - #acf-upgrade-notice .col-content, - #acf-upgrade-notice .col-actions { - float: none; - padding-left: 90px; - width: auto; - text-align: left; - } -} - -#acf-upgrade-notice:has(.notice-container)::before, -#acf-upgrade-notice:has(.notice-container)::after { - display: none; -} - -#acf-upgrade-notice:has(.notice-container) { - padding-left: 20px !important; -} - -/*-------------------------------------------------------------------------------------------- -* -* Welcome -* -*--------------------------------------------------------------------------------------------*/ -.acf-wrap h1 { - margin-top: 0; - padding-top: 20px; -} -.acf-wrap .about-text { - margin-top: 0.5em; - min-height: 50px; -} -.acf-wrap .about-headline-callout { - font-size: 2.4em; - font-weight: 300; - line-height: 1.3; - margin: 1.1em 0 0.2em; - text-align: center; -} -.acf-wrap .feature-section { - padding: 40px 0; -} -.acf-wrap .feature-section h2 { - margin-top: 20px; -} -.acf-wrap .changelog { - list-style: disc; - padding-left: 15px; -} -.acf-wrap .changelog li { - margin: 0 0 0.75em; -} -.acf-wrap .acf-three-col { - display: flex; - flex-wrap: wrap; - justify-content: space-between; -} -.acf-wrap .acf-three-col > div { - flex: 1; - align-self: flex-start; - min-width: 31%; - max-width: 31%; -} -@media screen and (max-width: 880px) { - .acf-wrap .acf-three-col > div { - min-width: 48%; - } -} -@media screen and (max-width: 640px) { - .acf-wrap .acf-three-col > div { - min-width: 100%; - } -} -.acf-wrap .acf-three-col h3 .badge { - display: inline-block; - vertical-align: top; - border-radius: 5px; - background: #fc9700; - color: #fff; - font-weight: normal; - font-size: 12px; - padding: 2px 5px; -} -.acf-wrap .acf-three-col img + h3 { - margin-top: 0.5em; -} - -/*-------------------------------------------------------------------------------------------- -* -* acf-hl cols -* -*--------------------------------------------------------------------------------------------*/ -.acf-hl[data-cols] { - margin-left: -10px; - margin-right: -10px; -} -.acf-hl[data-cols] > li { - padding: 0 6px 0 10px; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; -} - -/* sizes */ -.acf-hl[data-cols="2"] > li { - width: 50%; -} - -.acf-hl[data-cols="3"] > li { - width: 33.333%; -} - -.acf-hl[data-cols="4"] > li { - width: 25%; -} - -/* mobile */ -@media screen and (max-width: 640px) { - .acf-hl[data-cols] { - flex-wrap: wrap; - justify-content: flex-start; - align-content: flex-start; - align-items: flex-start; - margin-left: 0; - margin-right: 0; - margin-top: -10px; - } - .acf-hl[data-cols] > li { - flex: 1 1 100%; - width: 100% !important; - padding: 10px 0 0; - } -} -/*-------------------------------------------------------------------------------------------- -* -* misc -* -*--------------------------------------------------------------------------------------------*/ -.acf-actions { - text-align: right; - z-index: 1; - /* hover */ - /* rtl */ -} -.acf-actions.-hover { - position: absolute; - display: none; - top: 0; - right: 0; - padding: 5px; - z-index: 1050; -} -html[dir=rtl] .acf-actions.-hover { - right: auto; - left: 0; -} - -/* ul compatibility */ -ul.acf-actions li { - float: right; - margin-left: 4px; -} - -/*-------------------------------------------------------------------------------------------- -* -* RTL -* -*--------------------------------------------------------------------------------------------*/ -html[dir=rtl] .acf-fl { - float: right; -} - -html[dir=rtl] .acf-fr { - float: left; -} - -html[dir=rtl] .acf-hl > li { - float: right; -} - -html[dir=rtl] .acf-hl > li.acf-fr { - float: left; -} - -html[dir=rtl] .acf-icon.logo { - left: 0; - right: auto; -} - -html[dir=rtl] .acf-table thead th { - text-align: right; - border-right-width: 1px; - border-left-width: 0px; -} - -html[dir=rtl] .acf-table > tbody > tr > td { - text-align: right; - border-right-width: 1px; - border-left-width: 0px; -} - -html[dir=rtl] .acf-table > thead > tr > th:first-child, -html[dir=rtl] .acf-table > tbody > tr > td:first-child { - border-right-width: 0; -} - -html[dir=rtl] .acf-table > tbody > tr > td.order + td { - border-right-color: #e1e1e1; -} - -/*--------------------------------------------------------------------------------------------- -* -* acf-postbox-columns -* -*---------------------------------------------------------------------------------------------*/ -.acf-postbox-columns { - position: relative; - margin-top: -11px; - margin-bottom: -12px; - margin-left: -12px; - margin-right: 268px; -} -.acf-postbox-columns:after { - display: block; - clear: both; - content: ""; -} -.acf-postbox-columns .acf-postbox-main, -.acf-postbox-columns .acf-postbox-side { - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; - padding: 0 12px 12px; -} -.acf-postbox-columns .acf-postbox-main { - float: left; - width: 100%; -} -.acf-postbox-columns .acf-postbox-side { - float: right; - width: 280px; - margin-right: -280px; -} -.acf-postbox-columns .acf-postbox-side:before { - content: ""; - display: block; - position: absolute; - width: 1px; - height: 100%; - top: 0; - right: 0; - background: #d5d9dd; -} -.acf-admin-3-8 .acf-postbox-columns .acf-postbox-side:before { - background: #dfdfdf; -} - -/* mobile */ -@media only screen and (max-width: 850px) { - .acf-postbox-columns { - margin: 0; - } - .acf-postbox-columns .acf-postbox-main, - .acf-postbox-columns .acf-postbox-side { - float: none; - width: auto; - margin: 0; - padding: 0; - } - .acf-postbox-columns .acf-postbox-side { - margin-top: 1em; - } - .acf-postbox-columns .acf-postbox-side:before { - display: none; - } -} -/*--------------------------------------------------------------------------------------------- -* -* acf-panel -* -*---------------------------------------------------------------------------------------------*/ -.acf-panel { - margin-top: -1px; - border-top: 1px solid #d5d9dd; - border-bottom: 1px solid #d5d9dd; - /* open */ - /* inside postbox */ - /* fields */ -} -.acf-panel .acf-panel-title { - margin: 0; - padding: 12px; - font-weight: bold; - cursor: pointer; - font-size: inherit; -} -.acf-panel .acf-panel-title i { - float: right; -} -.acf-panel .acf-panel-inside { - margin: 0; - padding: 0 12px 12px; - display: none; -} -.acf-panel.-open .acf-panel-inside { - display: block; -} -.postbox .acf-panel { - margin-left: -12px; - margin-right: -12px; -} -.acf-panel .acf-field { - margin: 20px 0 0; -} -.acf-panel .acf-field .acf-label label { - color: #555d66; - font-weight: normal; -} -.acf-panel .acf-field:first-child { - margin-top: 0; -} -.acf-admin-3-8 .acf-panel { - border-color: #dfdfdf; -} - -/*--------------------------------------------------------------------------------------------- -* -* Admin Tools -* -*---------------------------------------------------------------------------------------------*/ -#acf-admin-tools .notice { - margin-top: 10px; -} -#acf-admin-tools .acf-meta-box-wrap { - /* acf-fields */ -} -#acf-admin-tools .acf-meta-box-wrap .inside { - border-top: none; -} -#acf-admin-tools .acf-meta-box-wrap .acf-fields { - margin-bottom: 24px; - border: none; - background: #fff; - border-radius: 0; -} -#acf-admin-tools .acf-meta-box-wrap .acf-fields .acf-field { - padding: 0; - margin-bottom: 19px; - border-top: none; -} -#acf-admin-tools .acf-meta-box-wrap .acf-fields .acf-label { - margin-bottom: 16px; -} -#acf-admin-tools .acf-meta-box-wrap .acf-fields .acf-input { - padding-top: 16px; - padding-right: 16px; - padding-bottom: 16px; - padding-left: 16px; - border-width: 1px; - border-style: solid; - border-color: #D0D5DD; - border-radius: 6px; -} -#acf-admin-tools .acf-meta-box-wrap .acf-fields.import-cptui { - margin-top: 19px; -} - -.acf-meta-box-wrap .postbox { - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; -} -.acf-meta-box-wrap .postbox .inside { - margin-bottom: 0; -} -.acf-meta-box-wrap .postbox .hndle { - font-size: 14px; - padding: 8px 12px; - margin: 0; - line-height: 1.4; - position: relative; - z-index: 1; - cursor: default; -} -.acf-meta-box-wrap .postbox .handlediv, -.acf-meta-box-wrap .postbox .handle-order-higher, -.acf-meta-box-wrap .postbox .handle-order-lower { - display: none; -} - -/* grid */ -.acf-meta-box-wrap.-grid { - margin-left: 8px; - margin-right: 8px; -} -.acf-meta-box-wrap.-grid .postbox { - float: left; - clear: left; - width: 50%; - margin: 0 0 16px; -} -.acf-meta-box-wrap.-grid .postbox:nth-child(odd) { - margin-left: -8px; -} -.acf-meta-box-wrap.-grid .postbox:nth-child(even) { - float: right; - clear: right; - margin-right: -8px; -} - -/* mobile */ -@media only screen and (max-width: 850px) { - .acf-meta-box-wrap.-grid { - margin-left: 0; - margin-right: 0; - } - .acf-meta-box-wrap.-grid .postbox { - margin-left: 0 !important; - margin-right: 0 !important; - width: 100%; - } -} -/* export tool */ -#acf-admin-tool-export { - /* panel: selection */ -} -#acf-admin-tool-export p { - max-width: 800px; -} -#acf-admin-tool-export ul { - display: flex; - flex-wrap: wrap; - width: 100%; -} -#acf-admin-tool-export ul li { - flex: 0 1 33.33%; -} -@media screen and (max-width: 1600px) { - #acf-admin-tool-export ul li { - flex: 0 1 50%; - } -} -@media screen and (max-width: 1200px) { - #acf-admin-tool-export ul li { - flex: 0 1 100%; - } -} -#acf-admin-tool-export .acf-postbox-side ul { - display: block; -} -#acf-admin-tool-export .acf-postbox-side .button { - margin: 0; - width: 100%; -} -#acf-admin-tool-export textarea { - display: block; - width: 100%; - min-height: 500px; - background: #F9FAFB; - border-color: #D0D5DD; - box-shadow: none; - padding: 7px; - border-radius: 6px; -} -#acf-admin-tool-export .acf-panel-selection .acf-label label { - font-weight: bold; - color: #344054; -} - -#acf-admin-tool-import ul { - column-width: 200px; -} - -.acf-css-tooltip { - position: relative; -} -.acf-css-tooltip:before { - content: attr(aria-label); - display: none; - position: absolute; - z-index: 999; - bottom: 100%; - left: 50%; - transform: translate(-50%, -8px); - background: #191e23; - border-radius: 2px; - padding: 5px 10px; - color: #fff; - font-size: 12px; - line-height: 1.4em; - white-space: pre; -} -.acf-css-tooltip:after { - content: ""; - display: none; - position: absolute; - z-index: 998; - bottom: 100%; - left: 50%; - transform: translate(-50%, 4px); - border: solid 6px transparent; - border-top-color: #191e23; -} -.acf-css-tooltip:hover:before, .acf-css-tooltip:hover:after, .acf-css-tooltip:focus:before, .acf-css-tooltip:focus:after { - display: block; -} - -.acf-diff .acf-diff-title { - position: absolute; - top: 0; - left: 0; - right: 0; - height: 40px; - padding: 14px 16px; - background: #f3f3f3; - border-bottom: #dddddd solid 1px; -} -.acf-diff .acf-diff-title strong { - font-size: 14px; - display: block; -} -.acf-diff .acf-diff-title .acf-diff-title-left, -.acf-diff .acf-diff-title .acf-diff-title-right { - width: 50%; - float: left; -} -.acf-diff .acf-diff-content { - position: absolute; - top: 70px; - left: 0; - right: 0; - bottom: 0; - overflow: auto; -} -.acf-diff table.diff { - border-spacing: 0; -} -.acf-diff table.diff col.diffsplit.middle { - width: 0; -} -.acf-diff table.diff td, -.acf-diff table.diff th { - padding-top: 0.25em; - padding-bottom: 0.25em; -} -.acf-diff table.diff tr td:nth-child(2) { - width: auto; -} -.acf-diff table.diff td:nth-child(3) { - border-left: #dddddd solid 1px; -} -@media screen and (max-width: 600px) { - .acf-diff .acf-diff-title { - height: 70px; - } - .acf-diff .acf-diff-content { - top: 100px; - } -} - -/*--------------------------------------------------------------------------------------------- -* -* Modal -* -*---------------------------------------------------------------------------------------------*/ -.acf-modal { - position: fixed; - top: 30px; - left: 30px; - right: 30px; - bottom: 30px; - z-index: 160000; - box-shadow: 0 5px 15px rgba(0, 0, 0, 0.7); - background: #fcfcfc; -} -.acf-modal .acf-modal-title, -.acf-modal .acf-modal-content, -.acf-modal .acf-modal-toolbar { - box-sizing: border-box; - position: absolute; - left: 0; - right: 0; -} -.acf-modal .acf-modal-title { - height: 50px; - top: 0; - border-bottom: 1px solid #ddd; -} -.acf-modal .acf-modal-title h2 { - margin: 0; - padding: 0 16px; - line-height: 50px; -} -.acf-modal .acf-modal-title .acf-modal-close { - position: absolute; - top: 0; - right: 0; - height: 50px; - width: 50px; - border: none; - border-left: 1px solid #ddd; - background: transparent; - cursor: pointer; - color: #666; -} -.acf-modal .acf-modal-title .acf-modal-close:hover { - color: #00a0d2; -} -.acf-modal .acf-modal-content { - top: 50px; - bottom: 60px; - background: #fff; - overflow: auto; - padding: 16px; -} -.acf-modal .acf-modal-feedback { - position: absolute; - top: 50%; - margin: -10px 0; - left: 0; - right: 0; - text-align: center; - opacity: 0.75; -} -.acf-modal .acf-modal-feedback.error { - opacity: 1; - color: #b52727; -} -.acf-modal .acf-modal-toolbar { - height: 60px; - bottom: 0; - padding: 15px 16px; - border-top: 1px solid #ddd; -} -.acf-modal .acf-modal-toolbar .button { - float: right; -} -@media only screen and (max-width: 640px) { - .acf-modal { - top: 0; - left: 0; - right: 0; - bottom: 0; - } -} - -.acf-modal-backdrop { - position: fixed; - top: 0; - left: 0; - right: 0; - bottom: 0; - background: #101828; - opacity: 0.8; - z-index: 159900; -} - -/*--------------------------------------------------------------------------------------------- -* -* Retina -* -*---------------------------------------------------------------------------------------------*/ -@media only screen and (-webkit-min-device-pixel-ratio: 2), only screen and (min--moz-device-pixel-ratio: 2), only screen and (-o-min-device-pixel-ratio: 2/1), only screen and (min-device-pixel-ratio: 2), only screen and (min-resolution: 192dpi), only screen and (min-resolution: 2dppx) { - .acf-loading, - .acf-spinner { - background-image: url(../../images/spinner@2x.gif); - background-size: 20px 20px; - } -} -/*-------------------------------------------------------------------------------------------- -* -* Wrap -* -*--------------------------------------------------------------------------------------------*/ -.acf-admin-page .wrap { - margin-top: 48px; - margin-right: 32px; - margin-bottom: 0; - margin-left: 12px; -} -@media screen and (max-width: 768px) { - .acf-admin-page .wrap { - margin-right: 8px; - margin-left: 8px; - } -} -.acf-admin-page.rtl .wrap { - margin-right: 12px; - margin-left: 32px; -} -@media screen and (max-width: 768px) { - .acf-admin-page.rtl .wrap { - margin-right: 8px; - margin-left: 8px; - } -} -@media screen and (max-width: 768px) { - .acf-admin-page #wpcontent { - padding-left: 0; - } -} - -/*------------------------------------------------------------------- -* -* ACF Admin Page Footer Styles -* -*------------------------------------------------------------------*/ -.acf-admin-page #wpfooter { - font-style: italic; -} - -/*--------------------------------------------------------------------------------------------- -* -* Admin Postbox & ACF Postbox -* -*---------------------------------------------------------------------------------------------*/ -.acf-admin-page .postbox, -.acf-admin-page .acf-box { - border: none; - border-radius: 8px; - box-shadow: 0px 1px 2px rgba(16, 24, 40, 0.1); -} -.acf-admin-page .postbox .inside, -.acf-admin-page .acf-box .inside { - padding-top: 24px; - padding-right: 24px; - padding-bottom: 24px; - padding-left: 24px; -} -.acf-admin-page .postbox .acf-postbox-inner, -.acf-admin-page .acf-box .acf-postbox-inner { - margin-top: 0; - margin-right: 0; - margin-bottom: 0; - margin-left: 0; - padding-top: 24px; - padding-right: 0; - padding-bottom: 0; - padding-left: 0; -} -.acf-admin-page .postbox .inner, -.acf-admin-page .postbox .inside, -.acf-admin-page .acf-box .inner, -.acf-admin-page .acf-box .inside { - margin-top: 0 !important; - margin-right: 0 !important; - margin-bottom: 0 !important; - margin-left: 0 !important; - border-top-width: 1px; - border-top-style: solid; - border-top-color: #EAECF0; -} -.acf-admin-page .postbox .postbox-header, -.acf-admin-page .postbox .title, -.acf-admin-page .acf-box .postbox-header, -.acf-admin-page .acf-box .title { - display: flex; - align-items: center; - box-sizing: border-box; - min-height: 64px; - margin-top: 0; - margin-right: 0; - margin-bottom: 0; - margin-left: 0; - padding-top: 0; - padding-right: 24px; - padding-bottom: 0; - padding-left: 24px; - border-bottom-width: 0; - border-bottom-style: none; -} -.acf-admin-page .postbox .postbox-header h2, -.acf-admin-page .postbox .postbox-header h3, -.acf-admin-page .postbox .title h2, -.acf-admin-page .postbox .title h3, -.acf-admin-page .acf-box .postbox-header h2, -.acf-admin-page .acf-box .postbox-header h3, -.acf-admin-page .acf-box .title h2, -.acf-admin-page .acf-box .title h3 { - margin-top: 0; - margin-right: 0; - margin-bottom: 0; - margin-left: 0; - padding-top: 0; - padding-right: 0; - padding-bottom: 0; - padding-left: 0; - color: #344054; -} -.acf-admin-page .postbox .hndle, -.acf-admin-page .acf-box .hndle { - padding-top: 0; - padding-right: 24px; - padding-bottom: 0; - padding-left: 24px; -} - -/*--------------------------------------------------------------------------------------------- -* -* Custom ACF postbox header -* -*---------------------------------------------------------------------------------------------*/ -.acf-postbox-header { - display: flex; - align-items: center; - justify-content: space-between; - box-sizing: border-box; - min-height: 64px; - margin-top: -24px; - margin-right: -24px; - margin-bottom: 0; - margin-left: -24px; - padding-top: 0; - padding-right: 24px; - padding-bottom: 0; - padding-left: 24px; - border-bottom-width: 1px; - border-bottom-style: solid; - border-bottom-color: #EAECF0; -} -.acf-postbox-header h2.acf-postbox-title { - margin-top: 0; - margin-right: 0; - margin-bottom: 0; - margin-left: 0; - padding-top: 0; - padding-right: 24px; - padding-bottom: 0; - padding-left: 0; - color: #344054; -} -.rtl .acf-postbox-header h2.acf-postbox-title { - padding-right: 0; - padding-left: 24px; -} -.acf-postbox-header .acf-icon { - background-color: #98A2B3; -} - -/*--------------------------------------------------------------------------------------------- -* -* Screen options button & screen meta container -* -*---------------------------------------------------------------------------------------------*/ -.acf-admin-page #screen-meta-links { - margin-right: 32px; -} -.acf-admin-page #screen-meta-links .show-settings { - border-color: #D0D5DD; -} -@media screen and (max-width: 768px) { - .acf-admin-page #screen-meta-links { - margin-right: 16px; - margin-bottom: 0; - } -} -.acf-admin-page.rtl #screen-meta-links { - margin-right: 0; - margin-left: 32px; -} -@media screen and (max-width: 768px) { - .acf-admin-page.rtl #screen-meta-links { - margin-right: 0; - margin-left: 16px; - } -} -.acf-admin-page #screen-meta { - border-color: #D0D5DD; -} - -/*--------------------------------------------------------------------------------------------- -* -* Postbox headings -* -*---------------------------------------------------------------------------------------------*/ -.acf-admin-page #poststuff .postbox-header h2, -.acf-admin-page #poststuff .postbox-header h3 { - justify-content: flex-start; - margin-top: 0; - margin-right: 0; - margin-bottom: 0; - margin-left: 0; - padding-top: 0; - padding-right: 0; - padding-bottom: 0; - padding-left: 0; - color: #344054 !important; -} - -/*--------------------------------------------------------------------------------------------- -* -* Postbox drag state -* -*---------------------------------------------------------------------------------------------*/ -.acf-admin-page.is-dragging-metaboxes .metabox-holder .postbox-container .meta-box-sortables { - box-sizing: border-box; - padding: 2px; - outline: none; - background-image: repeating-linear-gradient(0deg, #667085, #667085 5px, transparent 5px, transparent 10px, #667085 10px), repeating-linear-gradient(90deg, #667085, #667085 5px, transparent 5px, transparent 10px, #667085 10px), repeating-linear-gradient(180deg, #667085, #667085 5px, transparent 5px, transparent 10px, #667085 10px), repeating-linear-gradient(270deg, #667085, #667085 5px, transparent 5px, transparent 10px, #667085 10px); - background-size: 1.5px 100%, 100% 1.5px, 1.5px 100%, 100% 1.5px; - background-position: 0 0, 0 0, 100% 0, 0 100%; - background-repeat: no-repeat; - border-radius: 8px; -} -.acf-admin-page .ui-sortable-placeholder { - border: none; -} - -/*-------------------------------------------------------------------------------------------- -* -* Search summary -* -*--------------------------------------------------------------------------------------------*/ -.acf-admin-page .subtitle { - display: inline-flex; - align-items: center; - height: 24px; - margin: 0; - padding-top: 4px; - padding-right: 12px; - padding-bottom: 4px; - padding-left: 12px; - background-color: #EBF5FA; - border-width: 1px; - border-style: solid; - border-color: #A5D2E7; - border-radius: 6px; -} -.acf-admin-page .subtitle strong { - margin-left: 5px; -} - -/*-------------------------------------------------------------------------------------------- -* -* Action strip -* -*--------------------------------------------------------------------------------------------*/ -.acf-actions-strip { - display: flex; -} -.acf-actions-strip .acf-btn { - margin-right: 8px; -} - -/*-------------------------------------------------------------------------------------------- -* -* Notices -* -*--------------------------------------------------------------------------------------------*/ -.acf-admin-page .acf-notice, -.acf-admin-page .notice, -.acf-admin-page #lost-connection-notice { - position: relative; - box-sizing: border-box; - min-height: 48px; - margin-top: 0 !important; - margin-right: 0 !important; - margin-bottom: 16px !important; - margin-left: 0 !important; - padding-top: 13px !important; - padding-right: 16px; - padding-bottom: 12px !important; - padding-left: 50px !important; - background-color: #e7eff9; - border-width: 1px; - border-style: solid; - border-color: #9dbaee; - border-radius: 8px; - box-shadow: 0px 1px 2px rgba(16, 24, 40, 0.1); - color: #344054; -} -.acf-admin-page .acf-notice.update-nag, -.acf-admin-page .notice.update-nag, -.acf-admin-page #lost-connection-notice.update-nag { - display: block; - position: relative; - width: calc(100% - 44px); - margin-top: 48px !important; - margin-right: 44px !important; - margin-bottom: -32px !important; - margin-left: 12px !important; -} -.acf-admin-page .acf-notice .button, -.acf-admin-page .notice .button, -.acf-admin-page #lost-connection-notice .button { - height: auto; - margin-left: 8px; - padding: 0; - border: none; -} -.acf-admin-page .acf-notice > div, -.acf-admin-page .notice > div, -.acf-admin-page #lost-connection-notice > div { - margin-top: 0; - margin-bottom: 0; -} -.acf-admin-page .acf-notice p, -.acf-admin-page .notice p, -.acf-admin-page #lost-connection-notice p { - flex: 1 0 auto; - max-width: 100%; - line-height: 18px; - margin: 0; - padding: 0; -} -.acf-admin-page .acf-notice p.help, -.acf-admin-page .notice p.help, -.acf-admin-page #lost-connection-notice p.help { - margin-top: 0; - padding-top: 0; - color: rgba(52, 64, 84, 0.7); -} -.acf-admin-page .acf-notice .acf-notice-dismiss, -.acf-admin-page .acf-notice .notice-dismiss, -.acf-admin-page .notice .acf-notice-dismiss, -.acf-admin-page .notice .notice-dismiss, -.acf-admin-page #lost-connection-notice .acf-notice-dismiss, -.acf-admin-page #lost-connection-notice .notice-dismiss { - position: absolute; - top: 4px; - right: 8px; - padding: 9px; - border: none; -} -.acf-admin-page .acf-notice .acf-notice-dismiss:before, -.acf-admin-page .acf-notice .notice-dismiss:before, -.acf-admin-page .notice .acf-notice-dismiss:before, -.acf-admin-page .notice .notice-dismiss:before, -.acf-admin-page #lost-connection-notice .acf-notice-dismiss:before, -.acf-admin-page #lost-connection-notice .notice-dismiss:before { - content: ""; - display: block; - position: relative; - z-index: 600; - width: 20px; - height: 20px; - background-color: #667085; - border: none; - border-radius: 0; - -webkit-mask-size: contain; - mask-size: contain; - -webkit-mask-repeat: no-repeat; - mask-repeat: no-repeat; - -webkit-mask-position: center; - mask-position: center; - -webkit-mask-image: url("../../images/icons/icon-close.svg"); - mask-image: url("../../images/icons/icon-close.svg"); -} -.acf-admin-page .acf-notice .acf-notice-dismiss:hover::before, -.acf-admin-page .acf-notice .notice-dismiss:hover::before, -.acf-admin-page .notice .acf-notice-dismiss:hover::before, -.acf-admin-page .notice .notice-dismiss:hover::before, -.acf-admin-page #lost-connection-notice .acf-notice-dismiss:hover::before, -.acf-admin-page #lost-connection-notice .notice-dismiss:hover::before { - background-color: #344054; -} -.acf-admin-page .acf-notice a.acf-notice-dismiss, -.acf-admin-page .notice a.acf-notice-dismiss, -.acf-admin-page #lost-connection-notice a.acf-notice-dismiss { - position: absolute; - top: 5px; - right: 24px; -} -.acf-admin-page .acf-notice a.acf-notice-dismiss:before, -.acf-admin-page .notice a.acf-notice-dismiss:before, -.acf-admin-page #lost-connection-notice a.acf-notice-dismiss:before { - background-color: #475467; -} -.acf-admin-page .acf-notice:before, -.acf-admin-page .notice:before, -.acf-admin-page #lost-connection-notice:before { - content: ""; - display: block; - position: absolute; - top: 15px; - left: 18px; - z-index: 600; - width: 16px; - height: 16px; - margin-right: 8px; - background-color: #fff; - border: none; - border-radius: 0; - -webkit-mask-size: contain; - mask-size: contain; - -webkit-mask-repeat: no-repeat; - mask-repeat: no-repeat; - -webkit-mask-position: center; - mask-position: center; - -webkit-mask-image: url("../../images/icons/icon-info-solid.svg"); - mask-image: url("../../images/icons/icon-info-solid.svg"); -} -.acf-admin-page .acf-notice:after, -.acf-admin-page .notice:after, -.acf-admin-page #lost-connection-notice:after { - content: ""; - display: block; - position: absolute; - top: 9px; - left: 12px; - z-index: 500; - width: 28px; - height: 28px; - background-color: #2D69DA; - border-radius: 6px; - box-shadow: 0px 1px 2px rgba(16, 24, 40, 0.1); -} -.acf-admin-page .acf-notice .local-restore, -.acf-admin-page .notice .local-restore, -.acf-admin-page #lost-connection-notice .local-restore { - align-items: center; - margin-top: -6px; - margin-bottom: 0; -} -.acf-admin-page .notice[data-persisted=true] { - display: none; -} -.acf-admin-page .notice.is-dismissible { - padding-right: 56px; -} -.acf-admin-page .notice.notice-success { - background-color: #edf7ef; - border-color: #b6deb9; -} -.acf-admin-page .notice.notice-success:before { - -webkit-mask-image: url("../../images/icons/icon-check-circle-solid.svg"); - mask-image: url("../../images/icons/icon-check-circle-solid.svg"); -} -.acf-admin-page .notice.notice-success:after { - background-color: #52AA59; -} -.acf-admin-page .acf-notice.acf-error-message, -.acf-admin-page .notice.notice-error, -.acf-admin-page #lost-connection-notice { - background-color: #f7eeeb; - border-color: #f1b6b3; -} -.acf-admin-page .acf-notice.acf-error-message:before, -.acf-admin-page .notice.notice-error:before, -.acf-admin-page #lost-connection-notice:before { - -webkit-mask-image: url("../../images/icons/icon-warning.svg"); - mask-image: url("../../images/icons/icon-warning.svg"); -} -.acf-admin-page .acf-notice.acf-error-message:after, -.acf-admin-page .notice.notice-error:after, -.acf-admin-page #lost-connection-notice:after { - background-color: #D13737; -} -.acf-admin-page .notice.notice-warning { - background: linear-gradient(0deg, rgba(247, 144, 9, 0.08), rgba(247, 144, 9, 0.08)), #FFFFFF; - border: 1px solid rgba(247, 144, 9, 0.32); - color: #344054; -} -.acf-admin-page .notice.notice-warning:before { - -webkit-mask-image: url("../../images/icons/icon-alert-triangle.svg"); - mask-image: url("../../images/icons/icon-alert-triangle.svg"); - background: #f56e28; -} -.acf-admin-page .notice.notice-warning:after { - content: none; -} - -.acf-admin-single-taxonomy .notice-success .acf-item-saved-text, -.acf-admin-single-post-type .notice-success .acf-item-saved-text, -.acf-admin-single-options-page .notice-success .acf-item-saved-text { - font-weight: 600; -} -.acf-admin-single-taxonomy .notice-success .acf-item-saved-links, -.acf-admin-single-post-type .notice-success .acf-item-saved-links, -.acf-admin-single-options-page .notice-success .acf-item-saved-links { - display: flex; - gap: 12px; -} -.acf-admin-single-taxonomy .notice-success .acf-item-saved-links a, -.acf-admin-single-post-type .notice-success .acf-item-saved-links a, -.acf-admin-single-options-page .notice-success .acf-item-saved-links a { - text-decoration: none; - opacity: 1; -} -.acf-admin-single-taxonomy .notice-success .acf-item-saved-links a:after, -.acf-admin-single-post-type .notice-success .acf-item-saved-links a:after, -.acf-admin-single-options-page .notice-success .acf-item-saved-links a:after { - content: ""; - width: 1px; - height: 13px; - display: inline-flex; - position: relative; - top: 2px; - left: 6px; - background-color: #475467; - opacity: 0.3; -} -.acf-admin-single-taxonomy .notice-success .acf-item-saved-links a:last-child:after, -.acf-admin-single-post-type .notice-success .acf-item-saved-links a:last-child:after, -.acf-admin-single-options-page .notice-success .acf-item-saved-links a:last-child:after { - content: none; -} - -.rtl.acf-field-group .notice, -.rtl.acf-internal-post-type .notice { - padding-right: 50px !important; -} -.rtl.acf-field-group .notice .notice-dismiss, -.rtl.acf-internal-post-type .notice .notice-dismiss { - left: 8px; - right: unset; -} -.rtl.acf-field-group .notice:before, -.rtl.acf-internal-post-type .notice:before { - left: unset; - right: 10px; -} -.rtl.acf-field-group .notice:after, -.rtl.acf-internal-post-type .notice:after { - left: unset; - right: 12px; -} -.rtl.acf-field-group.acf-admin-single-taxonomy .notice-success .acf-item-saved-links a:after, .rtl.acf-field-group.acf-admin-single-post-type .notice-success .acf-item-saved-links a:after, .rtl.acf-field-group.acf-admin-single-options-page .notice-success .acf-item-saved-links a:after, -.rtl.acf-internal-post-type.acf-admin-single-taxonomy .notice-success .acf-item-saved-links a:after, -.rtl.acf-internal-post-type.acf-admin-single-post-type .notice-success .acf-item-saved-links a:after, -.rtl.acf-internal-post-type.acf-admin-single-options-page .notice-success .acf-item-saved-links a:after { - left: unset; - right: 6px; -} - -/*-------------------------------------------------------------------------------------------- -* -* ACF PRO label -* -*--------------------------------------------------------------------------------------------*/ -.acf-pro-label { - display: inline-flex; - align-items: center; - min-height: 22px; - border: none; - font-size: 11px; - text-transform: uppercase; - text-decoration: none; - color: #fff; -} - -/*-------------------------------------------------------------------------------------------- -* -* Inline notice overrides -* -*--------------------------------------------------------------------------------------------*/ -.acf-admin-page .acf-field .acf-notice { - display: flex; - align-items: center; - min-height: 40px !important; - margin-bottom: 6px !important; - padding-top: 6px !important; - padding-left: 40px !important; - padding-bottom: 6px !important; - margin: 0 0 15px; - background: #edf2ff; - color: #344054 !important; - border-color: #2183b9; - border-radius: 6px; -} -.acf-admin-page .acf-field .acf-notice:after { - top: 8px; - left: 8px; - width: 22px; - height: 22px; -} -.acf-admin-page .acf-field .acf-notice:before { - top: 12px; - left: 12px; - width: 14px; - height: 14px; -} -.acf-admin-page .acf-field .acf-notice.-error { - background: #f7eeeb; - border-color: #f1b6b3; -} -.acf-admin-page .acf-field .acf-notice.-success { - background: #edf7ef; - border-color: #b6deb9; -} -.acf-admin-page .acf-field .acf-notice.-warning { - background: #fdf8eb; - border-color: #f4dbb4; -} - -/*--------------------------------------------------------------------------------------------- -* -* Global -* -*---------------------------------------------------------------------------------------------*/ -.acf-admin-page #wpcontent { - line-height: 140%; -} - -/*--------------------------------------------------------------------------------------------- -* -* Links -* -*---------------------------------------------------------------------------------------------*/ -.acf-admin-page a { - color: #0783BE; -} - -/*--------------------------------------------------------------------------------------------- -* -* Headings -* -*---------------------------------------------------------------------------------------------*/ -.acf-h1, .acf-admin-page #tmpl-acf-field-group-pro-features h1, -.acf-admin-page #acf-field-group-pro-features h1, .acf-admin-page h1, -.acf-headerbar h1 { - font-size: 21px; - font-weight: 400; -} - -.acf-h2, .acf-no-field-groups-wrapper .acf-no-field-groups-inner h2, -.acf-no-field-groups-wrapper .acf-no-taxonomies-inner h2, -.acf-no-field-groups-wrapper .acf-no-post-types-inner h2, -.acf-no-field-groups-wrapper .acf-no-options-pages-inner h2, -.acf-no-field-groups-wrapper .acf-options-preview-inner h2, -.acf-no-taxonomies-wrapper .acf-no-field-groups-inner h2, -.acf-no-taxonomies-wrapper .acf-no-taxonomies-inner h2, -.acf-no-taxonomies-wrapper .acf-no-post-types-inner h2, -.acf-no-taxonomies-wrapper .acf-no-options-pages-inner h2, -.acf-no-taxonomies-wrapper .acf-options-preview-inner h2, -.acf-no-post-types-wrapper .acf-no-field-groups-inner h2, -.acf-no-post-types-wrapper .acf-no-taxonomies-inner h2, -.acf-no-post-types-wrapper .acf-no-post-types-inner h2, -.acf-no-post-types-wrapper .acf-no-options-pages-inner h2, -.acf-no-post-types-wrapper .acf-options-preview-inner h2, -.acf-no-options-pages-wrapper .acf-no-field-groups-inner h2, -.acf-no-options-pages-wrapper .acf-no-taxonomies-inner h2, -.acf-no-options-pages-wrapper .acf-no-post-types-inner h2, -.acf-no-options-pages-wrapper .acf-no-options-pages-inner h2, -.acf-no-options-pages-wrapper .acf-options-preview-inner h2, -.acf-options-preview-wrapper .acf-no-field-groups-inner h2, -.acf-options-preview-wrapper .acf-no-taxonomies-inner h2, -.acf-options-preview-wrapper .acf-no-post-types-inner h2, -.acf-options-preview-wrapper .acf-no-options-pages-inner h2, -.acf-options-preview-wrapper .acf-options-preview-inner h2, .acf-page-title, .acf-admin-page h2, -.acf-headerbar h2 { - font-size: 18px; - font-weight: 400; -} - -.acf-h3, .acf-admin-page h3, -.acf-headerbar h3, .acf-admin-page .postbox .postbox-header h2, -.acf-admin-page .postbox .postbox-header h3, -.acf-admin-page .postbox .title h2, -.acf-admin-page .postbox .title h3, -.acf-admin-page .acf-box .postbox-header h2, -.acf-admin-page .acf-box .postbox-header h3, -.acf-admin-page .acf-box .title h2, -.acf-admin-page .acf-box .title h3, .acf-postbox-header h2.acf-postbox-title, .acf-admin-page #poststuff .postbox-header h2, -.acf-admin-page #poststuff .postbox-header h3 { - font-size: 16px; - font-weight: 400; -} - -/*--------------------------------------------------------------------------------------------- -* -* Paragraphs -* -*---------------------------------------------------------------------------------------------*/ -.acf-admin-page .p1 { - font-size: 15px; -} -.acf-admin-page .p2, .acf-admin-page .acf-no-field-groups-wrapper .acf-no-field-groups-inner p, .acf-no-field-groups-wrapper .acf-no-field-groups-inner .acf-admin-page p, -.acf-admin-page .acf-no-field-groups-wrapper .acf-no-taxonomies-inner p, -.acf-no-field-groups-wrapper .acf-no-taxonomies-inner .acf-admin-page p, -.acf-admin-page .acf-no-field-groups-wrapper .acf-no-post-types-inner p, -.acf-no-field-groups-wrapper .acf-no-post-types-inner .acf-admin-page p, -.acf-admin-page .acf-no-field-groups-wrapper .acf-no-options-pages-inner p, -.acf-no-field-groups-wrapper .acf-no-options-pages-inner .acf-admin-page p, -.acf-admin-page .acf-no-field-groups-wrapper .acf-options-preview-inner p, -.acf-no-field-groups-wrapper .acf-options-preview-inner .acf-admin-page p, -.acf-admin-page .acf-no-taxonomies-wrapper .acf-no-field-groups-inner p, -.acf-no-taxonomies-wrapper .acf-no-field-groups-inner .acf-admin-page p, -.acf-admin-page .acf-no-taxonomies-wrapper .acf-no-taxonomies-inner p, -.acf-no-taxonomies-wrapper .acf-no-taxonomies-inner .acf-admin-page p, -.acf-admin-page .acf-no-taxonomies-wrapper .acf-no-post-types-inner p, -.acf-no-taxonomies-wrapper .acf-no-post-types-inner .acf-admin-page p, -.acf-admin-page .acf-no-taxonomies-wrapper .acf-no-options-pages-inner p, -.acf-no-taxonomies-wrapper .acf-no-options-pages-inner .acf-admin-page p, -.acf-admin-page .acf-no-taxonomies-wrapper .acf-options-preview-inner p, -.acf-no-taxonomies-wrapper .acf-options-preview-inner .acf-admin-page p, -.acf-admin-page .acf-no-post-types-wrapper .acf-no-field-groups-inner p, -.acf-no-post-types-wrapper .acf-no-field-groups-inner .acf-admin-page p, -.acf-admin-page .acf-no-post-types-wrapper .acf-no-taxonomies-inner p, -.acf-no-post-types-wrapper .acf-no-taxonomies-inner .acf-admin-page p, -.acf-admin-page .acf-no-post-types-wrapper .acf-no-post-types-inner p, -.acf-no-post-types-wrapper .acf-no-post-types-inner .acf-admin-page p, -.acf-admin-page .acf-no-post-types-wrapper .acf-no-options-pages-inner p, -.acf-no-post-types-wrapper .acf-no-options-pages-inner .acf-admin-page p, -.acf-admin-page .acf-no-post-types-wrapper .acf-options-preview-inner p, -.acf-no-post-types-wrapper .acf-options-preview-inner .acf-admin-page p, -.acf-admin-page .acf-no-options-pages-wrapper .acf-no-field-groups-inner p, -.acf-no-options-pages-wrapper .acf-no-field-groups-inner .acf-admin-page p, -.acf-admin-page .acf-no-options-pages-wrapper .acf-no-taxonomies-inner p, -.acf-no-options-pages-wrapper .acf-no-taxonomies-inner .acf-admin-page p, -.acf-admin-page .acf-no-options-pages-wrapper .acf-no-post-types-inner p, -.acf-no-options-pages-wrapper .acf-no-post-types-inner .acf-admin-page p, -.acf-admin-page .acf-no-options-pages-wrapper .acf-no-options-pages-inner p, -.acf-no-options-pages-wrapper .acf-no-options-pages-inner .acf-admin-page p, -.acf-admin-page .acf-no-options-pages-wrapper .acf-options-preview-inner p, -.acf-no-options-pages-wrapper .acf-options-preview-inner .acf-admin-page p, -.acf-admin-page .acf-options-preview-wrapper .acf-no-field-groups-inner p, -.acf-options-preview-wrapper .acf-no-field-groups-inner .acf-admin-page p, -.acf-admin-page .acf-options-preview-wrapper .acf-no-taxonomies-inner p, -.acf-options-preview-wrapper .acf-no-taxonomies-inner .acf-admin-page p, -.acf-admin-page .acf-options-preview-wrapper .acf-no-post-types-inner p, -.acf-options-preview-wrapper .acf-no-post-types-inner .acf-admin-page p, -.acf-admin-page .acf-options-preview-wrapper .acf-no-options-pages-inner p, -.acf-options-preview-wrapper .acf-no-options-pages-inner .acf-admin-page p, -.acf-admin-page .acf-options-preview-wrapper .acf-options-preview-inner p, -.acf-options-preview-wrapper .acf-options-preview-inner .acf-admin-page p, .acf-admin-page #acf-admin-tools .acf-meta-box-wrap .acf-fields .acf-label, #acf-admin-tools .acf-meta-box-wrap .acf-fields .acf-admin-page .acf-label { - font-size: 14px; -} -.acf-admin-page .p3, .acf-admin-page .acf-internal-post-type .wp-list-table .post-state, .acf-internal-post-type .wp-list-table .acf-admin-page .post-state, .acf-admin-page .subtitle { - font-size: 13.5px; -} -.acf-admin-page .p4, .acf-admin-page .acf-admin-toolbar a.acf-admin-toolbar-upgrade-btn p, .acf-admin-toolbar a.acf-admin-toolbar-upgrade-btn .acf-admin-page p, .acf-admin-page #acf-update-information .form-table th, #acf-update-information .form-table .acf-admin-page th, -.acf-admin-page #acf-update-information .form-table td, -#acf-update-information .form-table .acf-admin-page td, .acf-admin-page #acf-admin-tools.tool-export .acf-panel h3, #acf-admin-tools.tool-export .acf-panel .acf-admin-page h3, .acf-admin-page .acf-btn.acf-btn-sm, .acf-admin-page .acf-admin-toolbar .acf-tab, .acf-admin-toolbar .acf-admin-page .acf-tab, .acf-admin-page .acf-options-preview .acf-options-pages-preview-upgrade-button p, .acf-options-preview .acf-options-pages-preview-upgrade-button .acf-admin-page p, -.acf-admin-page .acf-no-options-pages-wrapper .acf-options-pages-preview-upgrade-button p, -.acf-no-options-pages-wrapper .acf-options-pages-preview-upgrade-button .acf-admin-page p, .acf-admin-page .acf-internal-post-type .subsubsub li, .acf-internal-post-type .subsubsub .acf-admin-page li, .acf-admin-page .acf-internal-post-type .wp-list-table tbody th, .acf-internal-post-type .wp-list-table tbody .acf-admin-page th, -.acf-admin-page .acf-internal-post-type .wp-list-table tbody td, -.acf-internal-post-type .wp-list-table tbody .acf-admin-page td, .acf-admin-page .acf-internal-post-type .wp-list-table thead th, .acf-internal-post-type .wp-list-table thead .acf-admin-page th, .acf-admin-page .acf-internal-post-type .wp-list-table thead td, .acf-internal-post-type .wp-list-table thead .acf-admin-page td, -.acf-admin-page .acf-internal-post-type .wp-list-table tfoot th, -.acf-internal-post-type .wp-list-table tfoot .acf-admin-page th, .acf-admin-page .acf-internal-post-type .wp-list-table tfoot td, .acf-internal-post-type .wp-list-table tfoot .acf-admin-page td, .acf-admin-page .acf-input .select2-container.-acf .select2-selection__rendered, -.acf-admin-page .rule-groups .select2-container.-acf .select2-selection__rendered, .acf-admin-page .button, .acf-admin-page input[type=text], -.acf-admin-page input[type=search], -.acf-admin-page input[type=number], -.acf-admin-page textarea, -.acf-admin-page select { - font-size: 13px; -} -.acf-admin-page .p5, .acf-admin-page .acf-modal.acf-browse-fields-modal .acf-field-picker .acf-modal-content .acf-field-types-tab .acf-field-type .field-type-label, .acf-modal.acf-browse-fields-modal .acf-field-picker .acf-modal-content .acf-field-types-tab .acf-field-type .acf-admin-page .field-type-label, -.acf-admin-page .acf-modal.acf-browse-fields-modal .acf-field-picker .acf-modal-content .acf-field-type-search-results .acf-field-type .field-type-label, -.acf-modal.acf-browse-fields-modal .acf-field-picker .acf-modal-content .acf-field-type-search-results .acf-field-type .acf-admin-page .field-type-label, .acf-admin-page .acf-internal-post-type .row-actions, .acf-internal-post-type .acf-admin-page .row-actions, .acf-admin-page .acf-notice .button, -.acf-admin-page .notice .button, -.acf-admin-page #lost-connection-notice .button { - font-size: 12.5px; -} -.acf-admin-page .p6, .acf-admin-page #acf-update-information .acf-update-changelog p em, #acf-update-information .acf-update-changelog p .acf-admin-page em, .acf-admin-page .acf-no-field-groups-wrapper .acf-no-field-groups-inner p.acf-small, .acf-no-field-groups-wrapper .acf-no-field-groups-inner .acf-admin-page p.acf-small, -.acf-admin-page .acf-no-field-groups-wrapper .acf-no-taxonomies-inner p.acf-small, -.acf-no-field-groups-wrapper .acf-no-taxonomies-inner .acf-admin-page p.acf-small, -.acf-admin-page .acf-no-field-groups-wrapper .acf-no-post-types-inner p.acf-small, -.acf-no-field-groups-wrapper .acf-no-post-types-inner .acf-admin-page p.acf-small, -.acf-admin-page .acf-no-field-groups-wrapper .acf-no-options-pages-inner p.acf-small, -.acf-no-field-groups-wrapper .acf-no-options-pages-inner .acf-admin-page p.acf-small, -.acf-admin-page .acf-no-field-groups-wrapper .acf-options-preview-inner p.acf-small, -.acf-no-field-groups-wrapper .acf-options-preview-inner .acf-admin-page p.acf-small, -.acf-admin-page .acf-no-taxonomies-wrapper .acf-no-field-groups-inner p.acf-small, -.acf-no-taxonomies-wrapper .acf-no-field-groups-inner .acf-admin-page p.acf-small, -.acf-admin-page .acf-no-taxonomies-wrapper .acf-no-taxonomies-inner p.acf-small, -.acf-no-taxonomies-wrapper .acf-no-taxonomies-inner .acf-admin-page p.acf-small, -.acf-admin-page .acf-no-taxonomies-wrapper .acf-no-post-types-inner p.acf-small, -.acf-no-taxonomies-wrapper .acf-no-post-types-inner .acf-admin-page p.acf-small, -.acf-admin-page .acf-no-taxonomies-wrapper .acf-no-options-pages-inner p.acf-small, -.acf-no-taxonomies-wrapper .acf-no-options-pages-inner .acf-admin-page p.acf-small, -.acf-admin-page .acf-no-taxonomies-wrapper .acf-options-preview-inner p.acf-small, -.acf-no-taxonomies-wrapper .acf-options-preview-inner .acf-admin-page p.acf-small, -.acf-admin-page .acf-no-post-types-wrapper .acf-no-field-groups-inner p.acf-small, -.acf-no-post-types-wrapper .acf-no-field-groups-inner .acf-admin-page p.acf-small, -.acf-admin-page .acf-no-post-types-wrapper .acf-no-taxonomies-inner p.acf-small, -.acf-no-post-types-wrapper .acf-no-taxonomies-inner .acf-admin-page p.acf-small, -.acf-admin-page .acf-no-post-types-wrapper .acf-no-post-types-inner p.acf-small, -.acf-no-post-types-wrapper .acf-no-post-types-inner .acf-admin-page p.acf-small, -.acf-admin-page .acf-no-post-types-wrapper .acf-no-options-pages-inner p.acf-small, -.acf-no-post-types-wrapper .acf-no-options-pages-inner .acf-admin-page p.acf-small, -.acf-admin-page .acf-no-post-types-wrapper .acf-options-preview-inner p.acf-small, -.acf-no-post-types-wrapper .acf-options-preview-inner .acf-admin-page p.acf-small, -.acf-admin-page .acf-no-options-pages-wrapper .acf-no-field-groups-inner p.acf-small, -.acf-no-options-pages-wrapper .acf-no-field-groups-inner .acf-admin-page p.acf-small, -.acf-admin-page .acf-no-options-pages-wrapper .acf-no-taxonomies-inner p.acf-small, -.acf-no-options-pages-wrapper .acf-no-taxonomies-inner .acf-admin-page p.acf-small, -.acf-admin-page .acf-no-options-pages-wrapper .acf-no-post-types-inner p.acf-small, -.acf-no-options-pages-wrapper .acf-no-post-types-inner .acf-admin-page p.acf-small, -.acf-admin-page .acf-no-options-pages-wrapper .acf-no-options-pages-inner p.acf-small, -.acf-no-options-pages-wrapper .acf-no-options-pages-inner .acf-admin-page p.acf-small, -.acf-admin-page .acf-no-options-pages-wrapper .acf-options-preview-inner p.acf-small, -.acf-no-options-pages-wrapper .acf-options-preview-inner .acf-admin-page p.acf-small, -.acf-admin-page .acf-options-preview-wrapper .acf-no-field-groups-inner p.acf-small, -.acf-options-preview-wrapper .acf-no-field-groups-inner .acf-admin-page p.acf-small, -.acf-admin-page .acf-options-preview-wrapper .acf-no-taxonomies-inner p.acf-small, -.acf-options-preview-wrapper .acf-no-taxonomies-inner .acf-admin-page p.acf-small, -.acf-admin-page .acf-options-preview-wrapper .acf-no-post-types-inner p.acf-small, -.acf-options-preview-wrapper .acf-no-post-types-inner .acf-admin-page p.acf-small, -.acf-admin-page .acf-options-preview-wrapper .acf-no-options-pages-inner p.acf-small, -.acf-options-preview-wrapper .acf-no-options-pages-inner .acf-admin-page p.acf-small, -.acf-admin-page .acf-options-preview-wrapper .acf-options-preview-inner p.acf-small, -.acf-options-preview-wrapper .acf-options-preview-inner .acf-admin-page p.acf-small, .acf-admin-page .acf-internal-post-type .row-actions, .acf-internal-post-type .acf-admin-page .row-actions, .acf-admin-page .acf-small { - font-size: 12px; -} -.acf-admin-page .p7, .acf-admin-page .acf-tooltip, .acf-admin-page .acf-notice p.help, -.acf-admin-page .notice p.help, -.acf-admin-page #lost-connection-notice p.help { - font-size: 11.5px; -} -.acf-admin-page .p8 { - font-size: 11px; -} - -/*--------------------------------------------------------------------------------------------- -* -* Page titles -* -*---------------------------------------------------------------------------------------------*/ -.acf-page-title { - color: #344054; -} - -/*--------------------------------------------------------------------------------------------- -* -* Hide old / native WP titles from pages -* -*---------------------------------------------------------------------------------------------*/ -.acf-admin-page .acf-settings-wrap h1 { - display: none !important; -} -.acf-admin-page #acf-admin-tools h1:not(.acf-field-group-pro-features-title, .acf-field-group-pro-features-title-sm) { - display: none !important; -} - -/*--------------------------------------------------------------------------------------------- -* -* Small -* -*---------------------------------------------------------------------------------------------*/ -/*--------------------------------------------------------------------------------------------- -* -* Link focus style -* -*---------------------------------------------------------------------------------------------*/ -.acf-admin-page a:focus { - box-shadow: none; - outline: none; -} -.acf-admin-page a:focus-visible { - box-shadow: 0 0 0 1px #4f94d4, 0 0 2px 1px rgba(79, 148, 212, 0.8); - outline: 1px solid transparent; -} - -.acf-admin-page { - /*--------------------------------------------------------------------------------------------- - * - * All Inputs - * - *---------------------------------------------------------------------------------------------*/ - /*--------------------------------------------------------------------------------------------- - * - * Read only text inputs - * - *---------------------------------------------------------------------------------------------*/ - /*--------------------------------------------------------------------------------------------- - * - * Number fields - * - *---------------------------------------------------------------------------------------------*/ - /*--------------------------------------------------------------------------------------------- - * - * Textarea - * - *---------------------------------------------------------------------------------------------*/ - /*--------------------------------------------------------------------------------------------- - * - * Select - * - *---------------------------------------------------------------------------------------------*/ - /*--------------------------------------------------------------------------------------------- - * - * Radio Button & Checkbox base styling - * - *---------------------------------------------------------------------------------------------*/ - /*--------------------------------------------------------------------------------------------- - * - * Radio Buttons - * - *---------------------------------------------------------------------------------------------*/ - /*--------------------------------------------------------------------------------------------- - * - * Checkboxes - * - *---------------------------------------------------------------------------------------------*/ - /*--------------------------------------------------------------------------------------------- - * - * Radio Buttons & Checkbox lists - * - *---------------------------------------------------------------------------------------------*/ - /*--------------------------------------------------------------------------------------------- - * - * ACF Switch - * - *---------------------------------------------------------------------------------------------*/ - /*--------------------------------------------------------------------------------------------- - * - * File input button - * - *---------------------------------------------------------------------------------------------*/ - /*--------------------------------------------------------------------------------------------- - * - * Action Buttons - * - *---------------------------------------------------------------------------------------------*/ - /*--------------------------------------------------------------------------------------------- - * - * Edit field group header - * - *---------------------------------------------------------------------------------------------*/ - /*--------------------------------------------------------------------------------------------- - * - * Select2 inputs - * - *---------------------------------------------------------------------------------------------*/ - /*--------------------------------------------------------------------------------------------- - * - * ACF label - * - *---------------------------------------------------------------------------------------------*/ - /*--------------------------------------------------------------------------------------------- - * - * Tooltip for field name field setting (result of a fix for keyboard navigation) - * - *---------------------------------------------------------------------------------------------*/ - /* Field Type Selection select2 */ - /*--------------------------------------------------------------------------------------------- - * - * RTL arrow position - * - *---------------------------------------------------------------------------------------------*/ -} -.acf-admin-page input[type=text], -.acf-admin-page input[type=search], -.acf-admin-page input[type=number], -.acf-admin-page textarea, -.acf-admin-page select { - box-sizing: border-box; - height: 40px; - padding-right: 12px; - padding-left: 12px; - background-color: #fff; - border-color: #D0D5DD; - box-shadow: 0px 1px 2px rgba(16, 24, 40, 0.1); - border-radius: 6px; - /* stylelint-disable-next-line scss/at-extend-no-missing-placeholder */ - color: #344054; -} -.acf-admin-page input[type=text]:focus, -.acf-admin-page input[type=search]:focus, -.acf-admin-page input[type=number]:focus, -.acf-admin-page textarea:focus, -.acf-admin-page select:focus { - outline: 3px solid #EBF5FA; - border-color: #399CCB; -} -.acf-admin-page input[type=text]:disabled, -.acf-admin-page input[type=search]:disabled, -.acf-admin-page input[type=number]:disabled, -.acf-admin-page textarea:disabled, -.acf-admin-page select:disabled { - background-color: #F9FAFB; - color: #808a9e; -} -.acf-admin-page input[type=text]::placeholder, -.acf-admin-page input[type=search]::placeholder, -.acf-admin-page input[type=number]::placeholder, -.acf-admin-page textarea::placeholder, -.acf-admin-page select::placeholder { - color: #98A2B3; -} -.acf-admin-page input[type=text]:read-only { - background-color: #F9FAFB; - color: #98A2B3; -} -.acf-admin-page .acf-field.acf-field-number .acf-label, -.acf-admin-page .acf-field.acf-field-number .acf-input input[type=number] { - max-width: 180px; -} -.acf-admin-page textarea { - box-sizing: border-box; - padding-top: 10px; - padding-bottom: 10px; - height: 80px; - min-height: 56px; -} -.acf-admin-page select { - min-width: 160px; - max-width: 100%; - padding-right: 40px; - padding-left: 12px; - background-image: url("../../images/icons/icon-chevron-down.svg"); - background-position: right 10px top 50%; - background-size: 20px; -} -.acf-admin-page select:hover, .acf-admin-page select:focus { - color: #0783BE; -} -.acf-admin-page select::before { - content: ""; - display: block; - position: absolute; - top: 5px; - left: 5px; - width: 20px; - height: 20px; -} -.acf-admin-page.rtl select { - padding-right: 12px; - padding-left: 40px; - background-position: left 10px top 50%; -} -.acf-admin-page input[type=radio], -.acf-admin-page input[type=checkbox] { - box-sizing: border-box; - width: 16px; - height: 16px; - padding: 0; - border-width: 1px; - border-style: solid; - border-color: #98A2B3; - background: #fff; - box-shadow: none; -} -.acf-admin-page input[type=radio]:hover, -.acf-admin-page input[type=checkbox]:hover { - background-color: #EBF5FA; - border-color: #0783BE; -} -.acf-admin-page input[type=radio]:checked, .acf-admin-page input[type=radio]:focus-visible, -.acf-admin-page input[type=checkbox]:checked, -.acf-admin-page input[type=checkbox]:focus-visible { - background-color: #EBF5FA; - border-color: #0783BE; -} -.acf-admin-page input[type=radio]:checked:before, .acf-admin-page input[type=radio]:focus-visible:before, -.acf-admin-page input[type=checkbox]:checked:before, -.acf-admin-page input[type=checkbox]:focus-visible:before { - content: ""; - position: relative; - top: -1px; - left: -1px; - width: 16px; - height: 16px; - margin: 0; - padding: 0; - background-color: transparent; - background-size: cover; - background-repeat: no-repeat; - background-position: center; -} -.acf-admin-page input[type=radio]:active, -.acf-admin-page input[type=checkbox]:active { - box-shadow: 0px 0px 0px 3px #EBF5FA, 0px 0px 0px rgba(255, 54, 54, 0.25); -} -.acf-admin-page input[type=radio]:disabled, -.acf-admin-page input[type=checkbox]:disabled { - background-color: #F9FAFB; - border-color: #D0D5DD; -} -.acf-admin-page.rtl input[type=radio]:checked:before, .acf-admin-page.rtl input[type=radio]:focus-visible:before, -.acf-admin-page.rtl input[type=checkbox]:checked:before, -.acf-admin-page.rtl input[type=checkbox]:focus-visible:before { - left: 1px; -} -.acf-admin-page input[type=radio]:checked:before, .acf-admin-page input[type=radio]:focus:before { - background-image: url("../../images/field-states/radio-active.svg"); -} -.acf-admin-page input[type=checkbox]:checked:before, .acf-admin-page input[type=checkbox]:focus:before { - background-image: url("../../images/field-states/checkbox-active.svg"); -} -.acf-admin-page .acf-radio-list li input[type=radio], -.acf-admin-page .acf-radio-list li input[type=checkbox], -.acf-admin-page .acf-checkbox-list li input[type=radio], -.acf-admin-page .acf-checkbox-list li input[type=checkbox] { - margin-right: 6px; -} -.acf-admin-page .acf-radio-list.acf-bl li, -.acf-admin-page .acf-checkbox-list.acf-bl li { - margin-bottom: 8px; -} -.acf-admin-page .acf-radio-list.acf-bl li:last-of-type, -.acf-admin-page .acf-checkbox-list.acf-bl li:last-of-type { - margin-bottom: 0; -} -.acf-admin-page .acf-radio-list label, -.acf-admin-page .acf-checkbox-list label { - display: flex; - align-items: center; - align-content: center; -} -.acf-admin-page .acf-switch { - width: 42px; - height: 24px; - border: none; - background-color: #D0D5DD; - border-radius: 12px; -} -.acf-admin-page .acf-switch:hover { - background-color: #98A2B3; -} -.acf-admin-page .acf-switch:active { - box-shadow: 0px 0px 0px 3px #EBF5FA, 0px 0px 0px rgba(255, 54, 54, 0.25); -} -.acf-admin-page .acf-switch.-on { - background-color: #0783BE; -} -.acf-admin-page .acf-switch.-on:hover { - background-color: #066998; -} -.acf-admin-page .acf-switch.-on .acf-switch-slider { - left: 20px; -} -.acf-admin-page .acf-switch .acf-switch-off, -.acf-admin-page .acf-switch .acf-switch-on { - visibility: hidden; -} -.acf-admin-page .acf-switch .acf-switch-slider { - width: 20px; - height: 20px; - border: none; - border-radius: 100px; - box-shadow: 0px 1px 3px rgba(16, 24, 40, 0.1), 0px 1px 2px rgba(16, 24, 40, 0.06); -} -.acf-admin-page .acf-field-true-false { - display: flex; - align-items: flex-start; -} -.acf-admin-page .acf-field-true-false .acf-label { - order: 2; - display: block; - align-items: center; - margin-top: 2px; - margin-bottom: 0; - margin-left: 12px; -} -.acf-admin-page .acf-field-true-false .acf-label label { - margin-bottom: 0; -} -.acf-admin-page .acf-field-true-false .acf-label .acf-tip { - margin-left: 12px; -} -.acf-admin-page .acf-field-true-false .acf-label .description { - display: block; - margin-top: 2px; - margin-left: 0; -} -.acf-admin-page.rtl .acf-field-true-false .acf-label { - margin-right: 12px; - margin-left: 0; -} -.acf-admin-page.rtl .acf-field-true-false .acf-tip { - margin-right: 12px; - margin-left: 0; -} -.acf-admin-page input::file-selector-button { - box-sizing: border-box; - min-height: 40px; - margin-right: 16px; - padding-top: 8px; - padding-right: 16px; - padding-bottom: 8px; - padding-left: 16px; - background-color: transparent; - color: #0783BE !important; - border-radius: 6px; - border-width: 1px; - border-style: solid; - border-color: #0783BE; - text-decoration: none; -} -.acf-admin-page input::file-selector-button:hover { - border-color: #066998; - cursor: pointer; - color: #066998 !important; -} -.acf-admin-page .button { - display: inline-flex; - align-items: center; - height: 40px; - padding-right: 16px; - padding-left: 16px; - background-color: transparent; - border-width: 1px; - border-style: solid; - border-color: #0783BE; - border-radius: 6px; - color: #0783BE; -} -.acf-admin-page .button:hover { - background-color: #f3f9fc; - border-color: #0783BE; - color: #0783BE; -} -.acf-admin-page .button:focus { - background-color: #f3f9fc; - outline: 3px solid #EBF5FA; - color: #0783BE; -} -.acf-admin-page .edit-field-group-header { - display: block !important; -} -.acf-admin-page .acf-input .select2-container.-acf .select2-selection, -.acf-admin-page .rule-groups .select2-container.-acf .select2-selection { - border: none; - line-height: 1; -} -.acf-admin-page .acf-input .select2-container.-acf .select2-selection__rendered, -.acf-admin-page .rule-groups .select2-container.-acf .select2-selection__rendered { - box-sizing: border-box; - padding-right: 0; - padding-left: 0; - background-color: #fff; - border-width: 1px; - border-style: solid; - border-color: #D0D5DD; - box-shadow: 0px 1px 2px rgba(16, 24, 40, 0.1); - border-radius: 6px; - /* stylelint-disable-next-line scss/at-extend-no-missing-placeholder */ - color: #344054; -} -.acf-admin-page .acf-input .acf-conditional-select-name, -.acf-admin-page .rule-groups .acf-conditional-select-name { - min-width: 180px; - white-space: nowrap; - overflow: hidden; - text-overflow: ellipsis; -} -.acf-admin-page .acf-input .acf-conditional-select-id, -.acf-admin-page .rule-groups .acf-conditional-select-id { - padding-right: 30px; -} -.acf-admin-page .acf-input .value .select2-container--focus, -.acf-admin-page .rule-groups .value .select2-container--focus { - height: 40px; -} -.acf-admin-page .acf-input .value .select2-container--open .select2-selection__rendered, -.acf-admin-page .rule-groups .value .select2-container--open .select2-selection__rendered { - border-color: #399CCB; -} -.acf-admin-page .acf-input .select2-container--focus, -.acf-admin-page .rule-groups .select2-container--focus { - outline: 3px solid #EBF5FA; - border-color: #399CCB; - border-radius: 6px; -} -.acf-admin-page .acf-input .select2-container--focus .select2-selection__rendered, -.acf-admin-page .rule-groups .select2-container--focus .select2-selection__rendered { - border-color: #399CCB !important; -} -.acf-admin-page .acf-input .select2-container--focus.select2-container--below.select2-container--open .select2-selection__rendered, -.acf-admin-page .rule-groups .select2-container--focus.select2-container--below.select2-container--open .select2-selection__rendered { - border-bottom-right-radius: 0 !important; - border-bottom-left-radius: 0 !important; -} -.acf-admin-page .acf-input .select2-container--focus.select2-container--above.select2-container--open .select2-selection__rendered, -.acf-admin-page .rule-groups .select2-container--focus.select2-container--above.select2-container--open .select2-selection__rendered { - border-top-right-radius: 0 !important; - border-top-left-radius: 0 !important; -} -.acf-admin-page .acf-input .select2-container .select2-search--inline .select2-search__field, -.acf-admin-page .rule-groups .select2-container .select2-search--inline .select2-search__field { - margin: 0; - padding-left: 6px; -} -.acf-admin-page .acf-input .select2-container .select2-search--inline .select2-search__field:focus, -.acf-admin-page .rule-groups .select2-container .select2-search--inline .select2-search__field:focus { - outline: none; - border: none; -} -.acf-admin-page .acf-input .select2-container--default .select2-selection--multiple .select2-selection__rendered, -.acf-admin-page .rule-groups .select2-container--default .select2-selection--multiple .select2-selection__rendered { - padding-top: 0; - padding-right: 6px; - padding-bottom: 0; - padding-left: 6px; -} -.acf-admin-page .acf-input .select2-selection__clear, -.acf-admin-page .rule-groups .select2-selection__clear { - width: 18px; - height: 18px; - margin-top: 12px; - margin-right: 1px; - text-indent: 100%; - white-space: nowrap; - overflow: hidden; - color: #fff; -} -.acf-admin-page .acf-input .select2-selection__clear:before, -.acf-admin-page .rule-groups .select2-selection__clear:before { - content: ""; - display: block; - width: 16px; - height: 16px; - top: 0; - left: 0; - border: none; - border-radius: 0; - -webkit-mask-size: contain; - mask-size: contain; - -webkit-mask-repeat: no-repeat; - mask-repeat: no-repeat; - -webkit-mask-position: center; - mask-position: center; - -webkit-mask-image: url("../../images/icons/icon-close.svg"); - mask-image: url("../../images/icons/icon-close.svg"); - background-color: #98A2B3; -} -.acf-admin-page .acf-input .select2-selection__clear:hover::before, -.acf-admin-page .rule-groups .select2-selection__clear:hover::before { - background-color: #0783BE; -} -.acf-admin-page .acf-label { - display: flex; - align-items: center; - justify-content: space-between; -} -.acf-admin-page .acf-label .acf-icon-help { - width: 18px; - height: 18px; - background-color: #98A2B3; -} -.acf-admin-page .acf-label label { - margin-bottom: 0; -} -.acf-admin-page .acf-label .description { - margin-top: 2px; -} -.acf-admin-page .acf-field-setting-name .acf-tip { - position: absolute; - top: 0; - left: 654px; - color: #98A2B3; -} -.rtl.acf-admin-page .acf-field-setting-name .acf-tip { - left: auto; - right: 654px; -} - -.acf-admin-page .acf-field-setting-name .acf-tip .acf-icon-help { - width: 18px; - height: 18px; -} -.acf-admin-page .acf-field-setting-type .select2-container.-acf, -.acf-admin-page .acf-field-permalink-rewrite .select2-container.-acf, -.acf-admin-page .acf-field-query-var .select2-container.-acf, -.acf-admin-page .acf-field-capability .select2-container.-acf, -.acf-admin-page .acf-field-parent-slug .select2-container.-acf, -.acf-admin-page .acf-field-data-storage .select2-container.-acf, -.acf-admin-page .acf-field-manage-terms .select2-container.-acf, -.acf-admin-page .acf-field-edit-terms .select2-container.-acf, -.acf-admin-page .acf-field-delete-terms .select2-container.-acf, -.acf-admin-page .acf-field-assign-terms .select2-container.-acf, -.acf-admin-page .acf-field-meta-box .select2-container.-acf, -.acf-admin-page .rule-groups .select2-container.-acf { - min-height: 40px; -} -.acf-admin-page .acf-field-setting-type .select2-container--default .select2-selection--single .select2-selection__rendered, -.acf-admin-page .acf-field-permalink-rewrite .select2-container--default .select2-selection--single .select2-selection__rendered, -.acf-admin-page .acf-field-query-var .select2-container--default .select2-selection--single .select2-selection__rendered, -.acf-admin-page .acf-field-capability .select2-container--default .select2-selection--single .select2-selection__rendered, -.acf-admin-page .acf-field-parent-slug .select2-container--default .select2-selection--single .select2-selection__rendered, -.acf-admin-page .acf-field-data-storage .select2-container--default .select2-selection--single .select2-selection__rendered, -.acf-admin-page .acf-field-manage-terms .select2-container--default .select2-selection--single .select2-selection__rendered, -.acf-admin-page .acf-field-edit-terms .select2-container--default .select2-selection--single .select2-selection__rendered, -.acf-admin-page .acf-field-delete-terms .select2-container--default .select2-selection--single .select2-selection__rendered, -.acf-admin-page .acf-field-assign-terms .select2-container--default .select2-selection--single .select2-selection__rendered, -.acf-admin-page .acf-field-meta-box .select2-container--default .select2-selection--single .select2-selection__rendered, -.acf-admin-page .rule-groups .select2-container--default .select2-selection--single .select2-selection__rendered { - display: flex; - align-items: center; - position: relative; - z-index: 800; - min-height: 40px; - padding-top: 0; - padding-right: 12px; - padding-bottom: 0; - padding-left: 12px; -} -.acf-admin-page .acf-field-setting-type .select2-container--default .select2-selection--single .field-type-icon, -.acf-admin-page .acf-field-permalink-rewrite .select2-container--default .select2-selection--single .field-type-icon, -.acf-admin-page .acf-field-query-var .select2-container--default .select2-selection--single .field-type-icon, -.acf-admin-page .acf-field-capability .select2-container--default .select2-selection--single .field-type-icon, -.acf-admin-page .acf-field-parent-slug .select2-container--default .select2-selection--single .field-type-icon, -.acf-admin-page .acf-field-data-storage .select2-container--default .select2-selection--single .field-type-icon, -.acf-admin-page .acf-field-manage-terms .select2-container--default .select2-selection--single .field-type-icon, -.acf-admin-page .acf-field-edit-terms .select2-container--default .select2-selection--single .field-type-icon, -.acf-admin-page .acf-field-delete-terms .select2-container--default .select2-selection--single .field-type-icon, -.acf-admin-page .acf-field-assign-terms .select2-container--default .select2-selection--single .field-type-icon, -.acf-admin-page .acf-field-meta-box .select2-container--default .select2-selection--single .field-type-icon, -.acf-admin-page .rule-groups .select2-container--default .select2-selection--single .field-type-icon { - top: auto; - width: 18px; - height: 18px; - margin-right: 2px; -} -.acf-admin-page .acf-field-setting-type .select2-container--default .select2-selection--single .field-type-icon:before, -.acf-admin-page .acf-field-permalink-rewrite .select2-container--default .select2-selection--single .field-type-icon:before, -.acf-admin-page .acf-field-query-var .select2-container--default .select2-selection--single .field-type-icon:before, -.acf-admin-page .acf-field-capability .select2-container--default .select2-selection--single .field-type-icon:before, -.acf-admin-page .acf-field-parent-slug .select2-container--default .select2-selection--single .field-type-icon:before, -.acf-admin-page .acf-field-data-storage .select2-container--default .select2-selection--single .field-type-icon:before, -.acf-admin-page .acf-field-manage-terms .select2-container--default .select2-selection--single .field-type-icon:before, -.acf-admin-page .acf-field-edit-terms .select2-container--default .select2-selection--single .field-type-icon:before, -.acf-admin-page .acf-field-delete-terms .select2-container--default .select2-selection--single .field-type-icon:before, -.acf-admin-page .acf-field-assign-terms .select2-container--default .select2-selection--single .field-type-icon:before, -.acf-admin-page .acf-field-meta-box .select2-container--default .select2-selection--single .field-type-icon:before, -.acf-admin-page .rule-groups .select2-container--default .select2-selection--single .field-type-icon:before { - width: 9px; - height: 9px; -} -.acf-admin-page .acf-field-setting-type .select2-container--open .select2-selection__rendered, -.acf-admin-page .acf-field-permalink-rewrite .select2-container--open .select2-selection__rendered, -.acf-admin-page .acf-field-query-var .select2-container--open .select2-selection__rendered, -.acf-admin-page .acf-field-capability .select2-container--open .select2-selection__rendered, -.acf-admin-page .acf-field-parent-slug .select2-container--open .select2-selection__rendered, -.acf-admin-page .acf-field-data-storage .select2-container--open .select2-selection__rendered, -.acf-admin-page .acf-field-manage-terms .select2-container--open .select2-selection__rendered, -.acf-admin-page .acf-field-edit-terms .select2-container--open .select2-selection__rendered, -.acf-admin-page .acf-field-delete-terms .select2-container--open .select2-selection__rendered, -.acf-admin-page .acf-field-assign-terms .select2-container--open .select2-selection__rendered, -.acf-admin-page .acf-field-meta-box .select2-container--open .select2-selection__rendered, -.acf-admin-page .rule-groups .select2-container--open .select2-selection__rendered { - border-color: #6BB5D8 !important; - border-bottom-color: #D0D5DD !important; -} -.acf-admin-page .acf-field-setting-type .select2-container--open.select2-container--below .select2-selection__rendered, -.acf-admin-page .acf-field-permalink-rewrite .select2-container--open.select2-container--below .select2-selection__rendered, -.acf-admin-page .acf-field-query-var .select2-container--open.select2-container--below .select2-selection__rendered, -.acf-admin-page .acf-field-capability .select2-container--open.select2-container--below .select2-selection__rendered, -.acf-admin-page .acf-field-parent-slug .select2-container--open.select2-container--below .select2-selection__rendered, -.acf-admin-page .acf-field-data-storage .select2-container--open.select2-container--below .select2-selection__rendered, -.acf-admin-page .acf-field-manage-terms .select2-container--open.select2-container--below .select2-selection__rendered, -.acf-admin-page .acf-field-edit-terms .select2-container--open.select2-container--below .select2-selection__rendered, -.acf-admin-page .acf-field-delete-terms .select2-container--open.select2-container--below .select2-selection__rendered, -.acf-admin-page .acf-field-assign-terms .select2-container--open.select2-container--below .select2-selection__rendered, -.acf-admin-page .acf-field-meta-box .select2-container--open.select2-container--below .select2-selection__rendered, -.acf-admin-page .rule-groups .select2-container--open.select2-container--below .select2-selection__rendered { - border-bottom-right-radius: 0 !important; - border-bottom-left-radius: 0 !important; -} -.acf-admin-page .acf-field-setting-type .select2-container--open.select2-container--above .select2-selection__rendered, -.acf-admin-page .acf-field-permalink-rewrite .select2-container--open.select2-container--above .select2-selection__rendered, -.acf-admin-page .acf-field-query-var .select2-container--open.select2-container--above .select2-selection__rendered, -.acf-admin-page .acf-field-capability .select2-container--open.select2-container--above .select2-selection__rendered, -.acf-admin-page .acf-field-parent-slug .select2-container--open.select2-container--above .select2-selection__rendered, -.acf-admin-page .acf-field-data-storage .select2-container--open.select2-container--above .select2-selection__rendered, -.acf-admin-page .acf-field-manage-terms .select2-container--open.select2-container--above .select2-selection__rendered, -.acf-admin-page .acf-field-edit-terms .select2-container--open.select2-container--above .select2-selection__rendered, -.acf-admin-page .acf-field-delete-terms .select2-container--open.select2-container--above .select2-selection__rendered, -.acf-admin-page .acf-field-assign-terms .select2-container--open.select2-container--above .select2-selection__rendered, -.acf-admin-page .acf-field-meta-box .select2-container--open.select2-container--above .select2-selection__rendered, -.acf-admin-page .rule-groups .select2-container--open.select2-container--above .select2-selection__rendered { - border-top-right-radius: 0 !important; - border-top-left-radius: 0 !important; - border-bottom-color: #6BB5D8 !important; - border-top-color: #D0D5DD !important; -} -.acf-admin-page .acf-field-setting-type .acf-selection.has-icon, -.acf-admin-page .acf-field-permalink-rewrite .acf-selection.has-icon, -.acf-admin-page .acf-field-query-var .acf-selection.has-icon, -.acf-admin-page .acf-field-capability .acf-selection.has-icon, -.acf-admin-page .acf-field-parent-slug .acf-selection.has-icon, -.acf-admin-page .acf-field-data-storage .acf-selection.has-icon, -.acf-admin-page .acf-field-manage-terms .acf-selection.has-icon, -.acf-admin-page .acf-field-edit-terms .acf-selection.has-icon, -.acf-admin-page .acf-field-delete-terms .acf-selection.has-icon, -.acf-admin-page .acf-field-assign-terms .acf-selection.has-icon, -.acf-admin-page .acf-field-meta-box .acf-selection.has-icon, -.acf-admin-page .rule-groups .acf-selection.has-icon { - margin-left: 6px; -} -.rtl.acf-admin-page .acf-field-setting-type .acf-selection.has-icon, .acf-admin-page .acf-field-permalink-rewrite .acf-selection.has-icon, .acf-admin-page .acf-field-query-var .acf-selection.has-icon, .acf-admin-page .acf-field-capability .acf-selection.has-icon, .acf-admin-page .acf-field-parent-slug .acf-selection.has-icon, .acf-admin-page .acf-field-data-storage .acf-selection.has-icon, .acf-admin-page .acf-field-manage-terms .acf-selection.has-icon, .acf-admin-page .acf-field-edit-terms .acf-selection.has-icon, .acf-admin-page .acf-field-delete-terms .acf-selection.has-icon, .acf-admin-page .acf-field-assign-terms .acf-selection.has-icon, .acf-admin-page .acf-field-meta-box .acf-selection.has-icon, .acf-admin-page .rule-groups .acf-selection.has-icon { - margin-right: 6px; -} - -.acf-admin-page .acf-field-setting-type .select2-selection__arrow, -.acf-admin-page .acf-field-permalink-rewrite .select2-selection__arrow, -.acf-admin-page .acf-field-query-var .select2-selection__arrow, -.acf-admin-page .acf-field-capability .select2-selection__arrow, -.acf-admin-page .acf-field-parent-slug .select2-selection__arrow, -.acf-admin-page .acf-field-data-storage .select2-selection__arrow, -.acf-admin-page .acf-field-manage-terms .select2-selection__arrow, -.acf-admin-page .acf-field-edit-terms .select2-selection__arrow, -.acf-admin-page .acf-field-delete-terms .select2-selection__arrow, -.acf-admin-page .acf-field-assign-terms .select2-selection__arrow, -.acf-admin-page .acf-field-meta-box .select2-selection__arrow, -.acf-admin-page .rule-groups .select2-selection__arrow { - width: 20px; - height: 20px; - top: calc(50% - 10px); - right: 12px; - background-color: transparent; -} -.acf-admin-page .acf-field-setting-type .select2-selection__arrow:after, -.acf-admin-page .acf-field-permalink-rewrite .select2-selection__arrow:after, -.acf-admin-page .acf-field-query-var .select2-selection__arrow:after, -.acf-admin-page .acf-field-capability .select2-selection__arrow:after, -.acf-admin-page .acf-field-parent-slug .select2-selection__arrow:after, -.acf-admin-page .acf-field-data-storage .select2-selection__arrow:after, -.acf-admin-page .acf-field-manage-terms .select2-selection__arrow:after, -.acf-admin-page .acf-field-edit-terms .select2-selection__arrow:after, -.acf-admin-page .acf-field-delete-terms .select2-selection__arrow:after, -.acf-admin-page .acf-field-assign-terms .select2-selection__arrow:after, -.acf-admin-page .acf-field-meta-box .select2-selection__arrow:after, -.acf-admin-page .rule-groups .select2-selection__arrow:after { - content: ""; - display: block; - position: absolute; - z-index: 850; - top: 1px; - left: 0; - width: 20px; - height: 20px; - -webkit-mask-image: url("../../images/icons/icon-chevron-down.svg"); - mask-image: url("../../images/icons/icon-chevron-down.svg"); - background-color: #667085; - border: none; - border-radius: 0; - -webkit-mask-size: contain; - mask-size: contain; - -webkit-mask-repeat: no-repeat; - mask-repeat: no-repeat; - -webkit-mask-position: center; - mask-position: center; - text-indent: 500%; - white-space: nowrap; - overflow: hidden; -} -.acf-admin-page .acf-field-setting-type .select2-selection__arrow b[role=presentation], -.acf-admin-page .acf-field-permalink-rewrite .select2-selection__arrow b[role=presentation], -.acf-admin-page .acf-field-query-var .select2-selection__arrow b[role=presentation], -.acf-admin-page .acf-field-capability .select2-selection__arrow b[role=presentation], -.acf-admin-page .acf-field-parent-slug .select2-selection__arrow b[role=presentation], -.acf-admin-page .acf-field-data-storage .select2-selection__arrow b[role=presentation], -.acf-admin-page .acf-field-manage-terms .select2-selection__arrow b[role=presentation], -.acf-admin-page .acf-field-edit-terms .select2-selection__arrow b[role=presentation], -.acf-admin-page .acf-field-delete-terms .select2-selection__arrow b[role=presentation], -.acf-admin-page .acf-field-assign-terms .select2-selection__arrow b[role=presentation], -.acf-admin-page .acf-field-meta-box .select2-selection__arrow b[role=presentation], -.acf-admin-page .rule-groups .select2-selection__arrow b[role=presentation] { - display: none; -} -.acf-admin-page .acf-field-setting-type .select2-container--open .select2-selection__arrow:after, -.acf-admin-page .acf-field-permalink-rewrite .select2-container--open .select2-selection__arrow:after, -.acf-admin-page .acf-field-query-var .select2-container--open .select2-selection__arrow:after, -.acf-admin-page .acf-field-capability .select2-container--open .select2-selection__arrow:after, -.acf-admin-page .acf-field-parent-slug .select2-container--open .select2-selection__arrow:after, -.acf-admin-page .acf-field-data-storage .select2-container--open .select2-selection__arrow:after, -.acf-admin-page .acf-field-manage-terms .select2-container--open .select2-selection__arrow:after, -.acf-admin-page .acf-field-edit-terms .select2-container--open .select2-selection__arrow:after, -.acf-admin-page .acf-field-delete-terms .select2-container--open .select2-selection__arrow:after, -.acf-admin-page .acf-field-assign-terms .select2-container--open .select2-selection__arrow:after, -.acf-admin-page .acf-field-meta-box .select2-container--open .select2-selection__arrow:after, -.acf-admin-page .rule-groups .select2-container--open .select2-selection__arrow:after { - -webkit-mask-image: url("../../images/icons/icon-chevron-up.svg"); - mask-image: url("../../images/icons/icon-chevron-up.svg"); -} -.acf-admin-page .acf-term-search-term-name { - background-color: #F9FAFB; - border-top: 1px solid #EAECF0; - border-bottom: 1px solid #EAECF0; - color: #98A2B3; - padding: 5px 5px 5px 10px; - width: 100%; - margin: 0; - display: block; - font-weight: 300; -} -.acf-admin-page .field-type-select-results { - position: relative; - top: 4px; - z-index: 1002; - border-radius: 0 0 6px 6px; - box-shadow: 0px 8px 24px 4px rgba(16, 24, 40, 0.12); -} -.acf-admin-page .field-type-select-results.select2-dropdown--above { - display: flex; - flex-direction: column-reverse; - top: 0; - border-radius: 6px 6px 0 0; - z-index: 99999; -} -.select2-container.select2-container--open.acf-admin-page .field-type-select-results { - box-shadow: 0px 0px 0px 3px #EBF5FA, 0px 8px 24px 4px rgba(16, 24, 40, 0.12); -} - -.acf-admin-page .field-type-select-results .acf-selection.has-icon { - margin-left: 6px; -} -.rtl.acf-admin-page .field-type-select-results .acf-selection.has-icon { - margin-right: 6px; -} - -.acf-admin-page .field-type-select-results .select2-search { - position: relative; - margin: 0; - padding: 0; -} -.acf-admin-page .field-type-select-results .select2-search--dropdown:after { - content: ""; - display: block; - position: absolute; - top: 12px; - left: 13px; - width: 16px; - height: 16px; - -webkit-mask-image: url("../../images/icons/icon-search.svg"); - mask-image: url("../../images/icons/icon-search.svg"); - background-color: #98A2B3; - border: none; - border-radius: 0; - -webkit-mask-size: contain; - mask-size: contain; - -webkit-mask-repeat: no-repeat; - mask-repeat: no-repeat; - -webkit-mask-position: center; - mask-position: center; - text-indent: 500%; - white-space: nowrap; - overflow: hidden; -} -.rtl.acf-admin-page .field-type-select-results .select2-search--dropdown:after { - right: 12px; - left: auto; -} - -.acf-admin-page .field-type-select-results .select2-search .select2-search__field { - padding-left: 38px; - border-right: 0; - border-bottom: 0; - border-left: 0; - border-radius: 0; -} -.rtl.acf-admin-page .field-type-select-results .select2-search .select2-search__field { - padding-right: 38px; - padding-left: 0; -} - -.acf-admin-page .field-type-select-results .select2-search .select2-search__field:focus { - border-top-color: #D0D5DD; - outline: 0; -} -.acf-admin-page .field-type-select-results .select2-results__options { - max-height: 440px; -} -.acf-admin-page .field-type-select-results .select2-results__option .select2-results__option--highlighted { - background-color: #0783BE !important; - color: #F9FAFB !important; -} -.acf-admin-page .field-type-select-results .select2-results__option .select2-results__option { - display: inline-flex; - position: relative; - width: calc(100% - 24px); - min-height: 32px; - padding-top: 0; - padding-right: 12px; - padding-bottom: 0; - padding-left: 12px; - align-items: center; -} -.acf-admin-page .field-type-select-results .select2-results__option .select2-results__option .field-type-icon { - top: auto; - width: 18px; - height: 18px; - margin-right: 2px; - box-shadow: 0 0 0 1px #F9FAFB; -} -.acf-admin-page .field-type-select-results .select2-results__option .select2-results__option .field-type-icon:before { - width: 9px; - height: 9px; -} -.acf-admin-page .field-type-select-results .select2-results__option[aria-selected=true] { - background-color: #EBF5FA !important; - color: #344054 !important; -} -.acf-admin-page .field-type-select-results .select2-results__option[aria-selected=true]:after { - content: ""; - right: 13px; - position: absolute; - width: 16px; - height: 16px; - -webkit-mask-image: url("../../images/icons/icon-check.svg"); - mask-image: url("../../images/icons/icon-check.svg"); - background-color: #0783BE; - border: none; - border-radius: 0; - -webkit-mask-size: contain; - mask-size: contain; - -webkit-mask-repeat: no-repeat; - mask-repeat: no-repeat; - -webkit-mask-position: center; - mask-position: center; - text-indent: 500%; - white-space: nowrap; - overflow: hidden; -} -.rtl.acf-admin-page .field-type-select-results .select2-results__option[aria-selected=true]:after { - left: 13px; - right: auto; -} - -.acf-admin-page .field-type-select-results .select2-results__group { - display: inline-flex; - align-items: center; - width: calc(100% - 24px); - min-height: 25px; - background-color: #F9FAFB; - border-top-width: 1px; - border-top-style: solid; - border-top-color: #EAECF0; - border-bottom-width: 1px; - border-bottom-style: solid; - border-bottom-color: #EAECF0; - color: #98A2B3; - font-size: 11px; - margin-bottom: 0; - padding-top: 0; - padding-right: 12px; - padding-bottom: 0; - padding-left: 12px; - font-weight: normal; -} -.acf-admin-page.rtl .acf-field-setting-type .select2-selection__arrow:after, -.acf-admin-page.rtl .acf-field-permalink-rewrite .select2-selection__arrow:after, -.acf-admin-page.rtl .acf-field-query-var .select2-selection__arrow:after { - right: auto; - left: 10px; -} - -.rtl.post-type-acf-field-group .acf-field-setting-name .acf-tip, -.rtl.acf-internal-post-type .acf-field-setting-name .acf-tip { - left: auto; - right: 654px; -} - -/*--------------------------------------------------------------------------------------------- -* -* Field Groups -* -*---------------------------------------------------------------------------------------------*/ -.acf-internal-post-type .tablenav.top { - display: none; -} -.acf-internal-post-type .subsubsub { - margin-bottom: 3px; -} -.acf-internal-post-type .wp-list-table { - margin-top: 0; - margin-right: 0; - margin-bottom: 0; - margin-left: 0; - border-radius: 8px; - border: none; - overflow: hidden; - box-shadow: 0px 1px 2px rgba(16, 24, 40, 0.1); -} -.acf-internal-post-type .wp-list-table strong { - color: #98A2B3; - margin: 0; -} -.acf-internal-post-type .wp-list-table a.row-title { - font-size: 13px !important; - font-weight: 500; -} -.acf-internal-post-type .wp-list-table th, -.acf-internal-post-type .wp-list-table td { - color: #344054; -} -.acf-internal-post-type .wp-list-table th.sortable a, -.acf-internal-post-type .wp-list-table td.sortable a { - padding: 0; -} -.acf-internal-post-type .wp-list-table th.check-column, -.acf-internal-post-type .wp-list-table td.check-column { - padding-top: 12px; - padding-right: 16px; - padding-left: 16px; -} -@media screen and (max-width: 880px) { - .acf-internal-post-type .wp-list-table th.check-column, - .acf-internal-post-type .wp-list-table td.check-column { - vertical-align: top; - padding-right: 2px; - padding-left: 10px; - } -} -.acf-internal-post-type .wp-list-table th input, -.acf-internal-post-type .wp-list-table td input { - margin: 0; - padding: 0; -} -.acf-internal-post-type .wp-list-table th .acf-more-items, -.acf-internal-post-type .wp-list-table td .acf-more-items { - display: inline-flex; - flex-direction: row; - justify-content: center; - align-items: center; - padding: 0px 6px 1px; - gap: 8px; - width: 25px; - height: 16px; - background: #EAECF0; - border-radius: 100px; - font-weight: 400; - font-size: 10px; - color: #475467; -} -.acf-internal-post-type .wp-list-table th .acf-emdash, -.acf-internal-post-type .wp-list-table td .acf-emdash { - color: #D0D5DD; -} -.acf-internal-post-type .wp-list-table thead th, .acf-internal-post-type .wp-list-table thead td, -.acf-internal-post-type .wp-list-table tfoot th, .acf-internal-post-type .wp-list-table tfoot td { - height: 48px; - padding-right: 24px; - padding-left: 24px; - box-sizing: border-box; - background-color: #F9FAFB; - border-color: #EAECF0; - font-weight: 500; -} -@media screen and (max-width: 880px) { - .acf-internal-post-type .wp-list-table thead th, .acf-internal-post-type .wp-list-table thead td, - .acf-internal-post-type .wp-list-table tfoot th, .acf-internal-post-type .wp-list-table tfoot td { - padding-right: 16px; - padding-left: 8px; - } -} -@media screen and (max-width: 880px) { - .acf-internal-post-type .wp-list-table thead th.check-column, .acf-internal-post-type .wp-list-table thead td.check-column, - .acf-internal-post-type .wp-list-table tfoot th.check-column, .acf-internal-post-type .wp-list-table tfoot td.check-column { - vertical-align: middle; - } -} -.acf-internal-post-type .wp-list-table tbody th, -.acf-internal-post-type .wp-list-table tbody td { - box-sizing: border-box; - height: 60px; - padding-top: 10px; - padding-right: 24px; - padding-bottom: 10px; - padding-left: 24px; - vertical-align: top; - background-color: #fff; - border-bottom-width: 1px; - border-bottom-color: #EAECF0; - border-bottom-style: solid; -} -@media screen and (max-width: 880px) { - .acf-internal-post-type .wp-list-table tbody th, - .acf-internal-post-type .wp-list-table tbody td { - padding-right: 16px; - padding-left: 8px; - } -} -.acf-internal-post-type .wp-list-table .column-acf-key { - white-space: nowrap; -} -.acf-internal-post-type .wp-list-table .column-acf-key .acf-icon-key-solid { - display: inline-block; - position: relative; - bottom: -2px; - width: 15px; - height: 15px; - margin-right: 4px; - color: #98A2B3; -} -.acf-internal-post-type .wp-list-table .acf-location .dashicons { - position: relative; - bottom: -2px; - width: 16px; - height: 16px; - margin-right: 6px; - font-size: 16px; - color: #98A2B3; -} -.acf-internal-post-type .wp-list-table .post-state { - color: #667085; -} -.acf-internal-post-type .wp-list-table tr:hover, -.acf-internal-post-type .wp-list-table tr:focus-within { - background: #f7f7f7; -} -.acf-internal-post-type .wp-list-table tr:hover .row-actions, -.acf-internal-post-type .wp-list-table tr:focus-within .row-actions { - margin-bottom: 0; -} -@media screen and (min-width: 782px) { - .acf-internal-post-type .wp-list-table .column-acf-count { - width: 10%; - } -} -.acf-internal-post-type .wp-list-table .row-actions span.file { - display: block; - overflow: hidden; - white-space: nowrap; - text-overflow: ellipsis; -} -.acf-internal-post-type.rtl .wp-list-table .column-acf-key .acf-icon-key-solid { - margin-left: 4px; - margin-right: 0; -} -.acf-internal-post-type.rtl .wp-list-table .acf-location .dashicons { - margin-left: 6px; - margin-right: 0; -} -.acf-internal-post-type .row-actions { - margin-top: 2px; - padding-top: 0; - padding-right: 0; - padding-bottom: 0; - padding-left: 0; - line-height: 14px; - color: #D0D5DD; -} -.acf-internal-post-type .row-actions .trash a { - color: #d94f4f; -} -.acf-internal-post-type .widefat thead td.check-column, -.acf-internal-post-type .widefat tfoot td.check-column { - padding-top: 0; -} - -/*-------------------------------------------------------------------------------------------- -* -* Row actions -* -*--------------------------------------------------------------------------------------------*/ -.acf-internal-post-type .row-actions a:hover { - color: #044767; -} -.acf-internal-post-type .row-actions .trash a { - color: #a00; -} -.acf-internal-post-type .row-actions .trash a:hover { - color: #f00; -} -.acf-internal-post-type .row-actions.visible { - margin-bottom: 0; - opacity: 1; -} - -/*-------------------------------------------------------------------------------------------- -* -* Row hover -* -*--------------------------------------------------------------------------------------------*/ -.acf-internal-post-type #the-list tr:hover td, -.acf-internal-post-type #the-list tr:hover th { - background-color: #f7fbfd; -} - -/*--------------------------------------------------------------------------------------------- -* -* Table Nav -* -*---------------------------------------------------------------------------------------------*/ -.acf-internal-post-type .tablenav { - margin-top: 24px; - margin-right: 0; - margin-bottom: 0; - margin-left: 0; - padding-top: 0; - padding-right: 0; - padding-bottom: 0; - padding-left: 0; - color: #667085; -} - -/*-------------------------------------------------------------------------------------------- -* -* Search box -* -*--------------------------------------------------------------------------------------------*/ -.acf-internal-post-type #posts-filter p.search-box { - margin-top: 5px; - margin-right: 0; - margin-bottom: 24px; - margin-left: 0; -} -.acf-internal-post-type #posts-filter p.search-box #post-search-input { - min-width: 280px; - margin-top: 0; - margin-right: 8px; - margin-bottom: 0; - margin-left: 0; -} -@media screen and (max-width: 768px) { - .acf-internal-post-type #posts-filter p.search-box { - display: flex; - box-sizing: border-box; - padding-right: 24px; - margin-right: 16px; - position: inherit; - } - .acf-internal-post-type #posts-filter p.search-box #post-search-input { - min-width: auto; - } -} - -.rtl.acf-internal-post-type #posts-filter p.search-box #post-search-input { - margin-right: 0; - margin-left: 8px; -} -@media screen and (max-width: 768px) { - .rtl.acf-internal-post-type #posts-filter p.search-box { - padding-left: 24px; - padding-right: 0; - margin-left: 16px; - margin-right: 0; - } -} - -/*-------------------------------------------------------------------------------------------- -* -* Status tabs -* -*--------------------------------------------------------------------------------------------*/ -.acf-internal-post-type .subsubsub { - display: flex; - align-items: flex-end; - height: 40px; - margin-bottom: 16px; -} -.acf-internal-post-type .subsubsub li { - margin-top: 0; - margin-right: 4px; - color: #98A2B3; -} -.acf-internal-post-type .subsubsub li .count { - color: #667085; -} - -/*-------------------------------------------------------------------------------------------- -* -* Pagination -* -*--------------------------------------------------------------------------------------------*/ -.acf-internal-post-type .tablenav-pages { - display: flex; - align-items: center; -} -.acf-internal-post-type .tablenav-pages.no-pages { - display: none; -} -.acf-internal-post-type .tablenav-pages .displaying-num { - margin-top: 0; - margin-right: 16px; - margin-bottom: 0; - margin-left: 0; -} -.acf-internal-post-type .tablenav-pages .pagination-links { - display: flex; - align-items: center; -} -.acf-internal-post-type .tablenav-pages .pagination-links #table-paging { - margin-top: 0; - margin-right: 4px; - margin-bottom: 0; - margin-left: 8px; -} -.acf-internal-post-type .tablenav-pages .pagination-links #table-paging .total-pages { - margin-right: 0; -} -.acf-internal-post-type .tablenav-pages.one-page .pagination-links { - display: none; -} - -/*-------------------------------------------------------------------------------------------- -* -* Pagination buttons & icons -* -*--------------------------------------------------------------------------------------------*/ -.acf-internal-post-type .tablenav-pages .pagination-links .button { - display: inline-flex; - align-items: center; - align-content: center; - justify-content: center; - min-width: 40px; - margin-top: 0; - margin-right: 0; - margin-bottom: 0; - margin-left: 0; - padding-top: 0; - padding-right: 0; - padding-bottom: 0; - padding-left: 0; - background-color: transparent; -} -.acf-internal-post-type .tablenav-pages .pagination-links .button:nth-child(1), .acf-internal-post-type .tablenav-pages .pagination-links .button:nth-child(2), .acf-internal-post-type .tablenav-pages .pagination-links .button:last-child, .acf-internal-post-type .tablenav-pages .pagination-links .button:nth-last-child(2) { - display: inline-block; - position: relative; - text-indent: 100%; - white-space: nowrap; - overflow: hidden; - margin-left: 4px; -} -.acf-internal-post-type .tablenav-pages .pagination-links .button:nth-child(1):before, .acf-internal-post-type .tablenav-pages .pagination-links .button:nth-child(2):before, .acf-internal-post-type .tablenav-pages .pagination-links .button:last-child:before, .acf-internal-post-type .tablenav-pages .pagination-links .button:nth-last-child(2):before { - content: ""; - display: block; - position: absolute; - width: 100%; - height: 100%; - top: 0; - left: 0; - background-color: #0783BE; - border-radius: 0; - -webkit-mask-size: 20px; - mask-size: 20px; - -webkit-mask-repeat: no-repeat; - mask-repeat: no-repeat; - -webkit-mask-position: center; - mask-position: center; -} -.acf-internal-post-type .tablenav-pages .pagination-links .button:nth-child(1):before { - -webkit-mask-image: url("../../images/icons/icon-chevron-left-double.svg"); - mask-image: url("../../images/icons/icon-chevron-left-double.svg"); -} -.acf-internal-post-type .tablenav-pages .pagination-links .button:nth-child(2):before { - -webkit-mask-image: url("../../images/icons/icon-chevron-left.svg"); - mask-image: url("../../images/icons/icon-chevron-left.svg"); -} -.acf-internal-post-type .tablenav-pages .pagination-links .button:nth-last-child(2):before { - -webkit-mask-image: url("../../images/icons/icon-chevron-right.svg"); - mask-image: url("../../images/icons/icon-chevron-right.svg"); -} -.acf-internal-post-type .tablenav-pages .pagination-links .button:last-child:before { - -webkit-mask-image: url("../../images/icons/icon-chevron-right-double.svg"); - mask-image: url("../../images/icons/icon-chevron-right-double.svg"); -} -.acf-internal-post-type .tablenav-pages .pagination-links .button:hover { - border-color: #066998; - background-color: rgba(7, 131, 190, 0.05); -} -.acf-internal-post-type .tablenav-pages .pagination-links .button:hover:before { - background-color: #066998; -} -.acf-internal-post-type .tablenav-pages .pagination-links .button.disabled { - background-color: transparent !important; -} -.acf-internal-post-type .tablenav-pages .pagination-links .button.disabled.disabled:before { - background-color: #D0D5DD; -} - -/*--------------------------------------------------------------------------------------------- -* -* Empty state -* -*---------------------------------------------------------------------------------------------*/ -.acf-no-field-groups-wrapper, -.acf-no-taxonomies-wrapper, -.acf-no-post-types-wrapper, -.acf-no-options-pages-wrapper, -.acf-options-preview-wrapper { - display: flex; - justify-content: center; - padding-top: 48px; - padding-bottom: 48px; -} -.acf-no-field-groups-wrapper .acf-no-field-groups-inner, -.acf-no-field-groups-wrapper .acf-no-taxonomies-inner, -.acf-no-field-groups-wrapper .acf-no-post-types-inner, -.acf-no-field-groups-wrapper .acf-no-options-pages-inner, -.acf-no-field-groups-wrapper .acf-options-preview-inner, -.acf-no-taxonomies-wrapper .acf-no-field-groups-inner, -.acf-no-taxonomies-wrapper .acf-no-taxonomies-inner, -.acf-no-taxonomies-wrapper .acf-no-post-types-inner, -.acf-no-taxonomies-wrapper .acf-no-options-pages-inner, -.acf-no-taxonomies-wrapper .acf-options-preview-inner, -.acf-no-post-types-wrapper .acf-no-field-groups-inner, -.acf-no-post-types-wrapper .acf-no-taxonomies-inner, -.acf-no-post-types-wrapper .acf-no-post-types-inner, -.acf-no-post-types-wrapper .acf-no-options-pages-inner, -.acf-no-post-types-wrapper .acf-options-preview-inner, -.acf-no-options-pages-wrapper .acf-no-field-groups-inner, -.acf-no-options-pages-wrapper .acf-no-taxonomies-inner, -.acf-no-options-pages-wrapper .acf-no-post-types-inner, -.acf-no-options-pages-wrapper .acf-no-options-pages-inner, -.acf-no-options-pages-wrapper .acf-options-preview-inner, -.acf-options-preview-wrapper .acf-no-field-groups-inner, -.acf-options-preview-wrapper .acf-no-taxonomies-inner, -.acf-options-preview-wrapper .acf-no-post-types-inner, -.acf-options-preview-wrapper .acf-no-options-pages-inner, -.acf-options-preview-wrapper .acf-options-preview-inner { - display: flex; - flex-wrap: wrap; - justify-content: center; - align-content: center; - align-items: flex-start; - text-align: center; - max-width: 420px; - min-height: 320px; -} -.acf-no-field-groups-wrapper .acf-no-field-groups-inner img, -.acf-no-field-groups-wrapper .acf-no-field-groups-inner h2, -.acf-no-field-groups-wrapper .acf-no-field-groups-inner p, -.acf-no-field-groups-wrapper .acf-no-taxonomies-inner img, -.acf-no-field-groups-wrapper .acf-no-taxonomies-inner h2, -.acf-no-field-groups-wrapper .acf-no-taxonomies-inner p, -.acf-no-field-groups-wrapper .acf-no-post-types-inner img, -.acf-no-field-groups-wrapper .acf-no-post-types-inner h2, -.acf-no-field-groups-wrapper .acf-no-post-types-inner p, -.acf-no-field-groups-wrapper .acf-no-options-pages-inner img, -.acf-no-field-groups-wrapper .acf-no-options-pages-inner h2, -.acf-no-field-groups-wrapper .acf-no-options-pages-inner p, -.acf-no-field-groups-wrapper .acf-options-preview-inner img, -.acf-no-field-groups-wrapper .acf-options-preview-inner h2, -.acf-no-field-groups-wrapper .acf-options-preview-inner p, -.acf-no-taxonomies-wrapper .acf-no-field-groups-inner img, -.acf-no-taxonomies-wrapper .acf-no-field-groups-inner h2, -.acf-no-taxonomies-wrapper .acf-no-field-groups-inner p, -.acf-no-taxonomies-wrapper .acf-no-taxonomies-inner img, -.acf-no-taxonomies-wrapper .acf-no-taxonomies-inner h2, -.acf-no-taxonomies-wrapper .acf-no-taxonomies-inner p, -.acf-no-taxonomies-wrapper .acf-no-post-types-inner img, -.acf-no-taxonomies-wrapper .acf-no-post-types-inner h2, -.acf-no-taxonomies-wrapper .acf-no-post-types-inner p, -.acf-no-taxonomies-wrapper .acf-no-options-pages-inner img, -.acf-no-taxonomies-wrapper .acf-no-options-pages-inner h2, -.acf-no-taxonomies-wrapper .acf-no-options-pages-inner p, -.acf-no-taxonomies-wrapper .acf-options-preview-inner img, -.acf-no-taxonomies-wrapper .acf-options-preview-inner h2, -.acf-no-taxonomies-wrapper .acf-options-preview-inner p, -.acf-no-post-types-wrapper .acf-no-field-groups-inner img, -.acf-no-post-types-wrapper .acf-no-field-groups-inner h2, -.acf-no-post-types-wrapper .acf-no-field-groups-inner p, -.acf-no-post-types-wrapper .acf-no-taxonomies-inner img, -.acf-no-post-types-wrapper .acf-no-taxonomies-inner h2, -.acf-no-post-types-wrapper .acf-no-taxonomies-inner p, -.acf-no-post-types-wrapper .acf-no-post-types-inner img, -.acf-no-post-types-wrapper .acf-no-post-types-inner h2, -.acf-no-post-types-wrapper .acf-no-post-types-inner p, -.acf-no-post-types-wrapper .acf-no-options-pages-inner img, -.acf-no-post-types-wrapper .acf-no-options-pages-inner h2, -.acf-no-post-types-wrapper .acf-no-options-pages-inner p, -.acf-no-post-types-wrapper .acf-options-preview-inner img, -.acf-no-post-types-wrapper .acf-options-preview-inner h2, -.acf-no-post-types-wrapper .acf-options-preview-inner p, -.acf-no-options-pages-wrapper .acf-no-field-groups-inner img, -.acf-no-options-pages-wrapper .acf-no-field-groups-inner h2, -.acf-no-options-pages-wrapper .acf-no-field-groups-inner p, -.acf-no-options-pages-wrapper .acf-no-taxonomies-inner img, -.acf-no-options-pages-wrapper .acf-no-taxonomies-inner h2, -.acf-no-options-pages-wrapper .acf-no-taxonomies-inner p, -.acf-no-options-pages-wrapper .acf-no-post-types-inner img, -.acf-no-options-pages-wrapper .acf-no-post-types-inner h2, -.acf-no-options-pages-wrapper .acf-no-post-types-inner p, -.acf-no-options-pages-wrapper .acf-no-options-pages-inner img, -.acf-no-options-pages-wrapper .acf-no-options-pages-inner h2, -.acf-no-options-pages-wrapper .acf-no-options-pages-inner p, -.acf-no-options-pages-wrapper .acf-options-preview-inner img, -.acf-no-options-pages-wrapper .acf-options-preview-inner h2, -.acf-no-options-pages-wrapper .acf-options-preview-inner p, -.acf-options-preview-wrapper .acf-no-field-groups-inner img, -.acf-options-preview-wrapper .acf-no-field-groups-inner h2, -.acf-options-preview-wrapper .acf-no-field-groups-inner p, -.acf-options-preview-wrapper .acf-no-taxonomies-inner img, -.acf-options-preview-wrapper .acf-no-taxonomies-inner h2, -.acf-options-preview-wrapper .acf-no-taxonomies-inner p, -.acf-options-preview-wrapper .acf-no-post-types-inner img, -.acf-options-preview-wrapper .acf-no-post-types-inner h2, -.acf-options-preview-wrapper .acf-no-post-types-inner p, -.acf-options-preview-wrapper .acf-no-options-pages-inner img, -.acf-options-preview-wrapper .acf-no-options-pages-inner h2, -.acf-options-preview-wrapper .acf-no-options-pages-inner p, -.acf-options-preview-wrapper .acf-options-preview-inner img, -.acf-options-preview-wrapper .acf-options-preview-inner h2, -.acf-options-preview-wrapper .acf-options-preview-inner p { - flex: 1 0 100%; -} -.acf-no-field-groups-wrapper .acf-no-field-groups-inner h2, -.acf-no-field-groups-wrapper .acf-no-taxonomies-inner h2, -.acf-no-field-groups-wrapper .acf-no-post-types-inner h2, -.acf-no-field-groups-wrapper .acf-no-options-pages-inner h2, -.acf-no-field-groups-wrapper .acf-options-preview-inner h2, -.acf-no-taxonomies-wrapper .acf-no-field-groups-inner h2, -.acf-no-taxonomies-wrapper .acf-no-taxonomies-inner h2, -.acf-no-taxonomies-wrapper .acf-no-post-types-inner h2, -.acf-no-taxonomies-wrapper .acf-no-options-pages-inner h2, -.acf-no-taxonomies-wrapper .acf-options-preview-inner h2, -.acf-no-post-types-wrapper .acf-no-field-groups-inner h2, -.acf-no-post-types-wrapper .acf-no-taxonomies-inner h2, -.acf-no-post-types-wrapper .acf-no-post-types-inner h2, -.acf-no-post-types-wrapper .acf-no-options-pages-inner h2, -.acf-no-post-types-wrapper .acf-options-preview-inner h2, -.acf-no-options-pages-wrapper .acf-no-field-groups-inner h2, -.acf-no-options-pages-wrapper .acf-no-taxonomies-inner h2, -.acf-no-options-pages-wrapper .acf-no-post-types-inner h2, -.acf-no-options-pages-wrapper .acf-no-options-pages-inner h2, -.acf-no-options-pages-wrapper .acf-options-preview-inner h2, -.acf-options-preview-wrapper .acf-no-field-groups-inner h2, -.acf-options-preview-wrapper .acf-no-taxonomies-inner h2, -.acf-options-preview-wrapper .acf-no-post-types-inner h2, -.acf-options-preview-wrapper .acf-no-options-pages-inner h2, -.acf-options-preview-wrapper .acf-options-preview-inner h2 { - margin-top: 32px; - margin-bottom: 0; - padding: 0; - color: #344054; - line-height: 1.6rem; -} -.acf-no-field-groups-wrapper .acf-no-field-groups-inner p, -.acf-no-field-groups-wrapper .acf-no-taxonomies-inner p, -.acf-no-field-groups-wrapper .acf-no-post-types-inner p, -.acf-no-field-groups-wrapper .acf-no-options-pages-inner p, -.acf-no-field-groups-wrapper .acf-options-preview-inner p, -.acf-no-taxonomies-wrapper .acf-no-field-groups-inner p, -.acf-no-taxonomies-wrapper .acf-no-taxonomies-inner p, -.acf-no-taxonomies-wrapper .acf-no-post-types-inner p, -.acf-no-taxonomies-wrapper .acf-no-options-pages-inner p, -.acf-no-taxonomies-wrapper .acf-options-preview-inner p, -.acf-no-post-types-wrapper .acf-no-field-groups-inner p, -.acf-no-post-types-wrapper .acf-no-taxonomies-inner p, -.acf-no-post-types-wrapper .acf-no-post-types-inner p, -.acf-no-post-types-wrapper .acf-no-options-pages-inner p, -.acf-no-post-types-wrapper .acf-options-preview-inner p, -.acf-no-options-pages-wrapper .acf-no-field-groups-inner p, -.acf-no-options-pages-wrapper .acf-no-taxonomies-inner p, -.acf-no-options-pages-wrapper .acf-no-post-types-inner p, -.acf-no-options-pages-wrapper .acf-no-options-pages-inner p, -.acf-no-options-pages-wrapper .acf-options-preview-inner p, -.acf-options-preview-wrapper .acf-no-field-groups-inner p, -.acf-options-preview-wrapper .acf-no-taxonomies-inner p, -.acf-options-preview-wrapper .acf-no-post-types-inner p, -.acf-options-preview-wrapper .acf-no-options-pages-inner p, -.acf-options-preview-wrapper .acf-options-preview-inner p { - margin-top: 12px; - margin-bottom: 0; - padding: 0; - color: #667085; -} -.acf-no-field-groups-wrapper .acf-no-field-groups-inner p.acf-small, -.acf-no-field-groups-wrapper .acf-no-taxonomies-inner p.acf-small, -.acf-no-field-groups-wrapper .acf-no-post-types-inner p.acf-small, -.acf-no-field-groups-wrapper .acf-no-options-pages-inner p.acf-small, -.acf-no-field-groups-wrapper .acf-options-preview-inner p.acf-small, -.acf-no-taxonomies-wrapper .acf-no-field-groups-inner p.acf-small, -.acf-no-taxonomies-wrapper .acf-no-taxonomies-inner p.acf-small, -.acf-no-taxonomies-wrapper .acf-no-post-types-inner p.acf-small, -.acf-no-taxonomies-wrapper .acf-no-options-pages-inner p.acf-small, -.acf-no-taxonomies-wrapper .acf-options-preview-inner p.acf-small, -.acf-no-post-types-wrapper .acf-no-field-groups-inner p.acf-small, -.acf-no-post-types-wrapper .acf-no-taxonomies-inner p.acf-small, -.acf-no-post-types-wrapper .acf-no-post-types-inner p.acf-small, -.acf-no-post-types-wrapper .acf-no-options-pages-inner p.acf-small, -.acf-no-post-types-wrapper .acf-options-preview-inner p.acf-small, -.acf-no-options-pages-wrapper .acf-no-field-groups-inner p.acf-small, -.acf-no-options-pages-wrapper .acf-no-taxonomies-inner p.acf-small, -.acf-no-options-pages-wrapper .acf-no-post-types-inner p.acf-small, -.acf-no-options-pages-wrapper .acf-no-options-pages-inner p.acf-small, -.acf-no-options-pages-wrapper .acf-options-preview-inner p.acf-small, -.acf-options-preview-wrapper .acf-no-field-groups-inner p.acf-small, -.acf-options-preview-wrapper .acf-no-taxonomies-inner p.acf-small, -.acf-options-preview-wrapper .acf-no-post-types-inner p.acf-small, -.acf-options-preview-wrapper .acf-no-options-pages-inner p.acf-small, -.acf-options-preview-wrapper .acf-options-preview-inner p.acf-small { - display: block; - position: relative; - margin-top: 32px; -} -.acf-no-field-groups-wrapper .acf-no-field-groups-inner img, -.acf-no-field-groups-wrapper .acf-no-taxonomies-inner img, -.acf-no-field-groups-wrapper .acf-no-post-types-inner img, -.acf-no-field-groups-wrapper .acf-no-options-pages-inner img, -.acf-no-field-groups-wrapper .acf-options-preview-inner img, -.acf-no-taxonomies-wrapper .acf-no-field-groups-inner img, -.acf-no-taxonomies-wrapper .acf-no-taxonomies-inner img, -.acf-no-taxonomies-wrapper .acf-no-post-types-inner img, -.acf-no-taxonomies-wrapper .acf-no-options-pages-inner img, -.acf-no-taxonomies-wrapper .acf-options-preview-inner img, -.acf-no-post-types-wrapper .acf-no-field-groups-inner img, -.acf-no-post-types-wrapper .acf-no-taxonomies-inner img, -.acf-no-post-types-wrapper .acf-no-post-types-inner img, -.acf-no-post-types-wrapper .acf-no-options-pages-inner img, -.acf-no-post-types-wrapper .acf-options-preview-inner img, -.acf-no-options-pages-wrapper .acf-no-field-groups-inner img, -.acf-no-options-pages-wrapper .acf-no-taxonomies-inner img, -.acf-no-options-pages-wrapper .acf-no-post-types-inner img, -.acf-no-options-pages-wrapper .acf-no-options-pages-inner img, -.acf-no-options-pages-wrapper .acf-options-preview-inner img, -.acf-options-preview-wrapper .acf-no-field-groups-inner img, -.acf-options-preview-wrapper .acf-no-taxonomies-inner img, -.acf-options-preview-wrapper .acf-no-post-types-inner img, -.acf-options-preview-wrapper .acf-no-options-pages-inner img, -.acf-options-preview-wrapper .acf-options-preview-inner img { - max-width: 284px; - margin-bottom: 0; -} -.acf-no-field-groups-wrapper .acf-no-field-groups-inner .acf-btn, -.acf-no-field-groups-wrapper .acf-no-taxonomies-inner .acf-btn, -.acf-no-field-groups-wrapper .acf-no-post-types-inner .acf-btn, -.acf-no-field-groups-wrapper .acf-no-options-pages-inner .acf-btn, -.acf-no-field-groups-wrapper .acf-options-preview-inner .acf-btn, -.acf-no-taxonomies-wrapper .acf-no-field-groups-inner .acf-btn, -.acf-no-taxonomies-wrapper .acf-no-taxonomies-inner .acf-btn, -.acf-no-taxonomies-wrapper .acf-no-post-types-inner .acf-btn, -.acf-no-taxonomies-wrapper .acf-no-options-pages-inner .acf-btn, -.acf-no-taxonomies-wrapper .acf-options-preview-inner .acf-btn, -.acf-no-post-types-wrapper .acf-no-field-groups-inner .acf-btn, -.acf-no-post-types-wrapper .acf-no-taxonomies-inner .acf-btn, -.acf-no-post-types-wrapper .acf-no-post-types-inner .acf-btn, -.acf-no-post-types-wrapper .acf-no-options-pages-inner .acf-btn, -.acf-no-post-types-wrapper .acf-options-preview-inner .acf-btn, -.acf-no-options-pages-wrapper .acf-no-field-groups-inner .acf-btn, -.acf-no-options-pages-wrapper .acf-no-taxonomies-inner .acf-btn, -.acf-no-options-pages-wrapper .acf-no-post-types-inner .acf-btn, -.acf-no-options-pages-wrapper .acf-no-options-pages-inner .acf-btn, -.acf-no-options-pages-wrapper .acf-options-preview-inner .acf-btn, -.acf-options-preview-wrapper .acf-no-field-groups-inner .acf-btn, -.acf-options-preview-wrapper .acf-no-taxonomies-inner .acf-btn, -.acf-options-preview-wrapper .acf-no-post-types-inner .acf-btn, -.acf-options-preview-wrapper .acf-no-options-pages-inner .acf-btn, -.acf-options-preview-wrapper .acf-options-preview-inner .acf-btn { - margin-top: 32px; -} -.acf-no-field-groups-wrapper .acf-no-post-types-inner img, -.acf-no-field-groups-wrapper .acf-no-options-pages-inner img, -.acf-no-taxonomies-wrapper .acf-no-post-types-inner img, -.acf-no-taxonomies-wrapper .acf-no-options-pages-inner img, -.acf-no-post-types-wrapper .acf-no-post-types-inner img, -.acf-no-post-types-wrapper .acf-no-options-pages-inner img, -.acf-no-options-pages-wrapper .acf-no-post-types-inner img, -.acf-no-options-pages-wrapper .acf-no-options-pages-inner img, -.acf-options-preview-wrapper .acf-no-post-types-inner img, -.acf-options-preview-wrapper .acf-no-options-pages-inner img { - width: 106px; - height: 88px; -} -.acf-no-field-groups-wrapper .acf-no-taxonomies-inner img, -.acf-no-taxonomies-wrapper .acf-no-taxonomies-inner img, -.acf-no-post-types-wrapper .acf-no-taxonomies-inner img, -.acf-no-options-pages-wrapper .acf-no-taxonomies-inner img, -.acf-options-preview-wrapper .acf-no-taxonomies-inner img { - width: 98px; - height: 88px; -} - -.acf-no-field-groups #the-list tr:hover td, -.acf-no-field-groups #the-list tr:hover th, -.acf-no-field-groups .acf-admin-field-groups .wp-list-table tr:hover, -.acf-no-field-groups .striped > tbody > :nth-child(odd), .acf-no-field-groups ul.striped > :nth-child(odd), .acf-no-field-groups .alternate, -.acf-no-post-types #the-list tr:hover td, -.acf-no-post-types #the-list tr:hover th, -.acf-no-post-types .acf-admin-field-groups .wp-list-table tr:hover, -.acf-no-post-types .striped > tbody > :nth-child(odd), -.acf-no-post-types ul.striped > :nth-child(odd), -.acf-no-post-types .alternate, -.acf-no-taxonomies #the-list tr:hover td, -.acf-no-taxonomies #the-list tr:hover th, -.acf-no-taxonomies .acf-admin-field-groups .wp-list-table tr:hover, -.acf-no-taxonomies .striped > tbody > :nth-child(odd), -.acf-no-taxonomies ul.striped > :nth-child(odd), -.acf-no-taxonomies .alternate, -.acf-no-options-pages #the-list tr:hover td, -.acf-no-options-pages #the-list tr:hover th, -.acf-no-options-pages .acf-admin-field-groups .wp-list-table tr:hover, -.acf-no-options-pages .striped > tbody > :nth-child(odd), -.acf-no-options-pages ul.striped > :nth-child(odd), -.acf-no-options-pages .alternate { - background-color: transparent !important; -} -.acf-no-field-groups .wp-list-table thead, -.acf-no-field-groups .wp-list-table tfoot, -.acf-no-post-types .wp-list-table thead, -.acf-no-post-types .wp-list-table tfoot, -.acf-no-taxonomies .wp-list-table thead, -.acf-no-taxonomies .wp-list-table tfoot, -.acf-no-options-pages .wp-list-table thead, -.acf-no-options-pages .wp-list-table tfoot { - display: none; -} -.acf-no-field-groups .wp-list-table a.acf-btn, -.acf-no-post-types .wp-list-table a.acf-btn, -.acf-no-taxonomies .wp-list-table a.acf-btn, -.acf-no-options-pages .wp-list-table a.acf-btn { - border: 1px solid rgba(0, 0, 0, 0.16); - box-shadow: none; -} - -.acf-internal-post-type #the-list .no-items td { - vertical-align: middle; -} - -/*--------------------------------------------------------------------------------------------- -* -* Options Page Preview -* -*---------------------------------------------------------------------------------------------*/ -.acf-options-preview .acf-btn, -.acf-no-options-pages-wrapper .acf-btn { - margin-left: 8px; -} -.acf-options-preview .disabled, -.acf-no-options-pages-wrapper .disabled { - background-color: #F2F4F7 !important; - color: #98A2B3 !important; - border: 1px #D0D5DD solid; - cursor: default !important; -} -.acf-options-preview .acf-options-pages-preview-upgrade-button, -.acf-no-options-pages-wrapper .acf-options-pages-preview-upgrade-button { - height: 48px; - padding: 8px 48px 8px 48px !important; - border: none !important; - gap: 6px; - display: inline-flex; - align-items: center; - align-self: stretch; - background: radial-gradient(141.77% 141.08% at 100.26% 99.25%, #0ECAD4 0%, #7A45E5 100%); - border-radius: 6px; - text-decoration: none; -} -.acf-options-preview .acf-options-pages-preview-upgrade-button:focus, -.acf-no-options-pages-wrapper .acf-options-pages-preview-upgrade-button:focus { - border: none; - outline: none; - box-shadow: none; -} -.acf-options-preview .acf-options-pages-preview-upgrade-button p, -.acf-no-options-pages-wrapper .acf-options-pages-preview-upgrade-button p { - margin: 0; - padding-top: 8px; - padding-bottom: 8px; - font-weight: normal; - text-transform: none; - color: #fff; -} -.acf-options-preview .acf-options-pages-preview-upgrade-button .acf-icon, -.acf-no-options-pages-wrapper .acf-options-pages-preview-upgrade-button .acf-icon { - width: 20px; - height: 20px; - margin-right: 6px; - margin-left: -2px; - background-color: #F9FAFB; -} -.acf-options-preview .acf-ui-options-page-pro-features-actions a.acf-btn i, -.acf-no-options-pages-wrapper .acf-ui-options-page-pro-features-actions a.acf-btn i { - margin-right: -2px !important; - margin-left: 0px !important; -} -.acf-options-preview .acf-pro-label, -.acf-no-options-pages-wrapper .acf-pro-label { - vertical-align: middle; -} -.acf-options-preview .acf_options_preview_wrap img, -.acf-no-options-pages-wrapper .acf_options_preview_wrap img { - max-height: 88px; -} - -/*--------------------------------------------------------------------------------------------- -* -* Small screen list table info toggle -* -*---------------------------------------------------------------------------------------------*/ -.acf-internal-post-type .wp-list-table .toggle-row:before { - top: 4px; - left: 16px; - border-radius: 0; - content: ""; - display: block; - position: absolute; - width: 16px; - height: 16px; - background-color: #0783BE; - border-radius: 0; - -webkit-mask-size: 20px; - mask-size: 20px; - -webkit-mask-repeat: no-repeat; - mask-repeat: no-repeat; - -webkit-mask-position: center; - mask-position: center; - -webkit-mask-image: url("../../images/icons/icon-chevron-down.svg"); - mask-image: url("../../images/icons/icon-chevron-down.svg"); - text-indent: 100%; - white-space: nowrap; - overflow: hidden; -} -.acf-internal-post-type .wp-list-table .is-expanded .toggle-row:before { - -webkit-mask-image: url("../../images/icons/icon-chevron-up.svg"); - mask-image: url("../../images/icons/icon-chevron-up.svg"); -} - -/*--------------------------------------------------------------------------------------------- -* -* Small screen checkbox -* -*---------------------------------------------------------------------------------------------*/ -@media screen and (max-width: 880px) { - .acf-internal-post-type .widefat th input[type=checkbox], - .acf-internal-post-type .widefat thead td input[type=checkbox], - .acf-internal-post-type .widefat tfoot td input[type=checkbox] { - margin-bottom: 0; - } -} - -/*--------------------------------------------------------------------------------------------- -* -* Invalid license states -* -*---------------------------------------------------------------------------------------------*/ -.acf-internal-post-type.acf-pro-inactive-license.acf-admin-options-pages .row-title { - color: #667085; - pointer-events: none; - display: inline-flex; - vertical-align: middle; - gap: 6px; -} -.acf-internal-post-type.acf-pro-inactive-license.acf-admin-options-pages .row-title:before { - content: ""; - width: 16px; - height: 16px; - background-color: #667085; - display: inline-block; - align-self: center; - -webkit-mask-image: url("../../images/icons/icon-lock.svg"); - mask-image: url("../../images/icons/icon-lock.svg"); -} -.acf-internal-post-type.acf-pro-inactive-license.acf-admin-options-pages .row-actions { - display: none; -} -.acf-internal-post-type.acf-pro-inactive-license.acf-admin-options-pages .column-title .acf-js-tooltip { - display: inline-block; -} -.acf-internal-post-type.acf-pro-inactive-license tr.acf-has-block-location .row-title { - color: #667085; - pointer-events: none; - display: inline-flex; - vertical-align: middle; - gap: 6px; -} -.acf-internal-post-type.acf-pro-inactive-license tr.acf-has-block-location .row-title:before { - content: ""; - width: 16px; - height: 16px; - background-color: #667085; - display: inline-block; - align-self: center; - -webkit-mask-image: url("../../images/icons/icon-lock.svg"); - mask-image: url("../../images/icons/icon-lock.svg"); -} -.acf-internal-post-type.acf-pro-inactive-license tr.acf-has-block-location .acf-count a { - color: #667085; - pointer-events: none; -} -.acf-internal-post-type.acf-pro-inactive-license tr.acf-has-block-location .row-actions { - display: none; -} -.acf-internal-post-type.acf-pro-inactive-license tr.acf-has-block-location .column-title .acf-js-tooltip { - display: inline-block; -} - -/*--------------------------------------------------------------------------------------------- -* -* Admin Navigation -* -*---------------------------------------------------------------------------------------------*/ -.acf-admin-toolbar { - position: unset; - top: 32px; - height: 72px; - z-index: 800; - background: #344054; - color: #98A2B3; -} -.acf-admin-toolbar .acf-admin-toolbar-inner { - display: flex; - justify-content: space-between; - align-content: center; - align-items: center; - max-width: 100%; -} -.acf-admin-toolbar .acf-admin-toolbar-inner .acf-nav-wrap { - display: flex; - align-items: center; - position: relative; - padding-left: 72px; -} -@media screen and (max-width: 1250px) { - .acf-admin-toolbar .acf-admin-toolbar-inner .acf-nav-wrap .acf-header-tab-acf-post-type, - .acf-admin-toolbar .acf-admin-toolbar-inner .acf-nav-wrap .acf-header-tab-acf-taxonomy { - display: none; - } - .acf-admin-toolbar .acf-admin-toolbar-inner .acf-nav-wrap .acf-more .acf-header-tab-acf-post-type, - .acf-admin-toolbar .acf-admin-toolbar-inner .acf-nav-wrap .acf-more .acf-header-tab-acf-taxonomy { - display: flex; - } -} -.acf-admin-toolbar .acf-admin-toolbar-inner .acf-nav-upgrade-wrap { - display: flex; - align-items: center; -} -.acf-admin-toolbar .acf-admin-toolbar-inner .acf-nav-wpengine-logo { - display: inline-flex; - margin-left: 24px; -} -.acf-admin-toolbar .acf-admin-toolbar-inner .acf-nav-wpengine-logo img { - height: 20px; -} -@media screen and (max-width: 1000px) { - .acf-admin-toolbar .acf-admin-toolbar-inner .acf-nav-wpengine-logo { - display: none; - } -} -@media screen and (max-width: 880px) { - .acf-admin-toolbar { - position: static; - } -} -.acf-admin-toolbar .acf-logo { - display: flex; - margin-right: 24px; - text-decoration: none; - position: absolute; - top: 0; - left: 0; -} -.acf-admin-toolbar .acf-logo img { - display: block; -} -.acf-admin-toolbar .acf-logo.pro img { - height: 46px; -} -.acf-admin-toolbar h2 { - display: none; - color: #F9FAFB; -} -.acf-admin-toolbar .acf-tab { - display: flex; - align-items: center; - box-sizing: border-box; - min-height: 40px; - margin-right: 8px; - padding-top: 8px; - padding-right: 16px; - padding-bottom: 8px; - padding-left: 16px; - border-width: 1px; - border-style: solid; - border-color: transparent; - border-radius: 6px; - color: #98A2B3; - text-decoration: none; -} -.acf-admin-toolbar .acf-tab.is-active { - background-color: #475467; - color: #fff; -} -.acf-admin-toolbar .acf-tab:hover { - background-color: #475467; - color: #F9FAFB; -} -.acf-admin-toolbar .acf-tab:focus-visible { - border-width: 1px; - border-style: solid; - border-color: #667085; -} -.acf-admin-toolbar .acf-tab:focus { - box-shadow: none; -} -.acf-admin-toolbar .acf-more:hover .acf-tab.acf-more-tab { - background-color: #475467; - color: #F9FAFB; -} -.acf-admin-toolbar .acf-more ul { - display: none; - position: absolute; - box-sizing: border-box; - background: #fff; - z-index: 1051; - overflow: hidden; - min-width: 280px; - margin-top: 0; - margin-right: 0; - margin-bottom: 0; - margin-left: 0; - padding: 0; - border-radius: 8px; - box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.04), 0px 8px 23px rgba(0, 0, 0, 0.12); -} -.acf-admin-toolbar .acf-more ul .acf-wp-engine { - display: flex; - align-items: center; - justify-content: space-between; - min-height: 48px; - border-top: 1px solid rgba(0, 0, 0, 0.08); - background: #ECFBFC; -} -.acf-admin-toolbar .acf-more ul .acf-wp-engine a { - display: flex; - width: 100%; - justify-content: space-between; - border-top: none; -} -.acf-admin-toolbar .acf-more ul li { - margin: 0; - padding: 0 16px; -} -.acf-admin-toolbar .acf-more ul li .acf-header-tab-acf-post-type, -.acf-admin-toolbar .acf-more ul li .acf-header-tab-acf-taxonomy { - display: none; -} -.acf-admin-toolbar .acf-more ul li.acf-more-section-header { - background: #F9FAFB; - padding: 1px 0 0 0; - margin-top: -1px; - border-top: 1px solid #EAECF0; - border-bottom: 1px solid #EAECF0; -} -.acf-admin-toolbar .acf-more ul li.acf-more-section-header span { - color: #475467; - font-size: 12px; - font-weight: bold; -} -.acf-admin-toolbar .acf-more ul li.acf-more-section-header span:hover { - background: #F9FAFB; -} -.acf-admin-toolbar .acf-more ul li a { - margin: 0; - padding: 0; - color: #1D2939; - border-radius: 0; - border-top-width: 1px; - border-top-style: solid; - border-top-color: #F2F4F7; -} -.acf-admin-toolbar .acf-more ul li a:hover, .acf-admin-toolbar .acf-more ul li a.acf-tab.is-active { - background-color: unset; - color: #0783BE; -} -.acf-admin-toolbar .acf-more ul li a i.acf-icon { - display: none !important; - width: 16px; - height: 16px; - -webkit-mask-size: 16px; - mask-size: 16px; - background-color: #98A2B3 !important; -} -.acf-admin-toolbar .acf-more ul li a .acf-requires-pro { - justify-content: center; - align-items: center; - color: white; - background: radial-gradient(141.77% 141.08% at 100.26% 99.25%, #0ECAD4 0%, #7A45E5 100%); - border-radius: 100px; - font-size: 11px; - position: absolute; - right: 16px; - padding-right: 6px; - padding-left: 6px; -} -.acf-admin-toolbar .acf-more ul li a img.acf-wp-engine-pro { - display: block; - height: 16px; - width: auto; -} -.acf-admin-toolbar .acf-more ul li a .acf-wp-engine-upsell-pill { - display: inline-flex; - justify-content: center; - align-items: center; - min-height: 22px; - border-radius: 100px; - font-size: 11px; - padding-right: 8px; - padding-left: 8px; - background: #0ECAD4; - color: #FFFFFF; - text-shadow: 0px 1px 0 rgba(0, 0, 0, 0.12); - text-transform: uppercase; -} -.acf-admin-toolbar .acf-more ul li:first-child a { - border-bottom: none; -} -.acf-admin-toolbar .acf-more ul:hover, .acf-admin-toolbar .acf-more ul:focus { - display: block; -} -.acf-admin-toolbar .acf-more:hover ul, .acf-admin-toolbar .acf-more:focus ul { - display: block; -} -#wpcontent .acf-admin-toolbar { - box-sizing: border-box; - margin-left: -20px; - padding-top: 16px; - padding-right: 32px; - padding-bottom: 16px; - padding-left: 32px; -} -@media screen and (max-width: 600px) { - .acf-admin-toolbar { - display: none; - } -} - -.rtl #wpcontent .acf-admin-toolbar { - margin-left: 0; - margin-right: -20px; -} -.rtl #wpcontent .acf-admin-toolbar .acf-tab { - margin-left: 8px; - margin-right: 0; -} -.rtl .acf-logo { - margin-right: 0; - margin-left: 32px; -} - -/*--------------------------------------------------------------------------------------------- -* -* Admin Toolbar Icons -* -*---------------------------------------------------------------------------------------------*/ -.acf-admin-toolbar .acf-tab i.acf-icon, -.acf-admin-toolbar .acf-more i.acf-icon { - display: none; - margin-right: 8px; - margin-left: -2px; -} -.acf-admin-toolbar .acf-tab i.acf-icon.acf-icon-dropdown, -.acf-admin-toolbar .acf-more i.acf-icon.acf-icon-dropdown { - -webkit-mask-image: url("../../images/icons/icon-chevron-down.svg"); - mask-image: url("../../images/icons/icon-chevron-down.svg"); - width: 16px; - height: 16px; - -webkit-mask-size: 16px; - mask-size: 16px; - margin-right: -6px; - margin-left: 6px; -} -.acf-admin-toolbar .acf-tab.acf-header-tab-acf-field-group i.acf-icon, .acf-admin-toolbar .acf-tab.acf-header-tab-acf-post-type i.acf-icon, .acf-admin-toolbar .acf-tab.acf-header-tab-acf-taxonomy i.acf-icon, .acf-admin-toolbar .acf-tab.acf-header-tab-acf-tools i.acf-icon, .acf-admin-toolbar .acf-tab.acf-header-tab-acf-settings-updates i.acf-icon, .acf-admin-toolbar .acf-tab.acf-header-tab-acf-more i.acf-icon, -.acf-admin-toolbar .acf-more.acf-header-tab-acf-field-group i.acf-icon, -.acf-admin-toolbar .acf-more.acf-header-tab-acf-post-type i.acf-icon, -.acf-admin-toolbar .acf-more.acf-header-tab-acf-taxonomy i.acf-icon, -.acf-admin-toolbar .acf-more.acf-header-tab-acf-tools i.acf-icon, -.acf-admin-toolbar .acf-more.acf-header-tab-acf-settings-updates i.acf-icon, -.acf-admin-toolbar .acf-more.acf-header-tab-acf-more i.acf-icon { - display: inline-flex; -} -.acf-admin-toolbar .acf-tab.is-active i.acf-icon, .acf-admin-toolbar .acf-tab:hover i.acf-icon, -.acf-admin-toolbar .acf-more.is-active i.acf-icon, -.acf-admin-toolbar .acf-more:hover i.acf-icon { - background-color: #EAECF0; -} -.rtl .acf-admin-toolbar .acf-tab i.acf-icon { - margin-right: -2px; - margin-left: 8px; -} -.acf-admin-toolbar .acf-header-tab-acf-field-group i.acf-icon { - -webkit-mask-image: url("../../images/icons/icon-field-groups.svg"); - mask-image: url("../../images/icons/icon-field-groups.svg"); -} -.acf-admin-toolbar .acf-header-tab-acf-post-type i.acf-icon { - -webkit-mask-image: url("../../images/icons/icon-post-type.svg"); - mask-image: url("../../images/icons/icon-post-type.svg"); -} -.acf-admin-toolbar .acf-header-tab-acf-taxonomy i.acf-icon { - -webkit-mask-image: url("../../images/icons/icon-taxonomies.svg"); - mask-image: url("../../images/icons/icon-taxonomies.svg"); -} -.acf-admin-toolbar .acf-header-tab-acf-tools i.acf-icon { - -webkit-mask-image: url("../../images/icons/icon-tools.svg"); - mask-image: url("../../images/icons/icon-tools.svg"); -} -.acf-admin-toolbar .acf-header-tab-acf-settings-updates i.acf-icon { - -webkit-mask-image: url("../../images/icons/icon-updates.svg"); - mask-image: url("../../images/icons/icon-updates.svg"); -} -.acf-admin-toolbar .acf-header-tab-acf-more i.acf-icon-more { - -webkit-mask-image: url("../../images/icons/icon-extended-menu.svg"); - mask-image: url("../../images/icons/icon-extended-menu.svg"); -} - -/*--------------------------------------------------------------------------------------------- -* -* Hide WP default controls -* -*---------------------------------------------------------------------------------------------*/ -.acf-admin-page #wpbody-content > .notice:not(.inline, .below-h2) { - display: none; -} -.acf-admin-page h1.wp-heading-inline { - display: none; -} -.acf-admin-page .wrap .wp-heading-inline + .page-title-action { - display: none; -} - -/*--------------------------------------------------------------------------------------------- -* -* Headerbar -* -*---------------------------------------------------------------------------------------------*/ -.acf-headerbar { - display: flex; - align-items: center; - position: sticky; - top: 32px; - z-index: 700; - box-sizing: border-box; - min-height: 72px; - margin-left: -20px; - padding-top: 8px; - padding-right: 32px; - padding-bottom: 8px; - padding-left: 32px; - background-color: #fff; - box-shadow: 0px 1px 2px rgba(16, 24, 40, 0.1); -} -.acf-headerbar .acf-headerbar-inner { - flex: 1 1 auto; - display: flex; - align-items: center; - justify-content: space-between; - max-width: 1440px; - gap: 8px; -} -.acf-headerbar .acf-page-title { - display: flex; - align-items: center; - gap: 8px; - margin-top: 0; - margin-right: 16px; - margin-bottom: 0; - margin-left: 0; - padding-top: 0; - padding-right: 0; - padding-bottom: 0; - padding-left: 0; -} -.acf-headerbar .acf-page-title .acf-duplicated-from { - color: #98A2B3; -} -.acf-headerbar .acf-page-title .acf-pro-label { - box-shadow: none; -} -@media screen and (max-width: 880px) { - .acf-headerbar { - position: static; - } -} -@media screen and (max-width: 600px) { - .acf-headerbar { - justify-content: space-between; - position: relative; - top: 46px; - min-height: 64px; - padding-right: 12px; - } -} -.acf-headerbar .acf-headerbar-content { - flex: 1 1 auto; - display: flex; - align-items: center; -} -@media screen and (max-width: 880px) { - .acf-headerbar .acf-headerbar-content { - flex-wrap: wrap; - } - .acf-headerbar .acf-headerbar-content .acf-headerbar-title, - .acf-headerbar .acf-headerbar-content .acf-title-wrap { - flex: 1 1 100%; - } - .acf-headerbar .acf-headerbar-content .acf-title-wrap { - margin-top: 8px; - } -} -.acf-headerbar .acf-input-error { - border: 1px rgba(209, 55, 55, 0.5) solid !important; - box-shadow: 0 0 0 3px rgba(209, 55, 55, 0.12), 0 0 0 rgba(255, 54, 54, 0.25) !important; - background-image: url("../../images/icons/icon-warning-alt-red.svg"); - background-position: right 10px top 50%; - background-size: 20px; - background-repeat: no-repeat; -} -.acf-headerbar .acf-input-error:focus { - outline: none !important; - border: 1px rgba(209, 55, 55, 0.8) solid !important; - box-shadow: 0 0 0 3px rgba(209, 55, 55, 0.16), 0 0 0 rgba(255, 54, 54, 0.25) !important; -} -.acf-headerbar .acf-headerbar-title-field { - min-width: 320px; -} -@media screen and (max-width: 880px) { - .acf-headerbar .acf-headerbar-title-field { - min-width: 100%; - } -} -.acf-headerbar .acf-headerbar-actions { - display: flex; -} -.acf-headerbar .acf-headerbar-actions .acf-btn { - margin-left: 8px; -} -.acf-headerbar .acf-headerbar-actions .disabled { - background-color: #F2F4F7; - color: #98A2B3 !important; - border: 1px #D0D5DD solid; - cursor: default; -} - -/*--------------------------------------------------------------------------------------------- -* -* Edit Field Group Headerbar -* -*---------------------------------------------------------------------------------------------*/ -.acf-headerbar-field-editor { - position: sticky; - top: 32px; - z-index: 1020; - margin-left: -20px; - width: calc(100% + 20px); -} -@media screen and (max-width: 880px) { - .acf-headerbar-field-editor { - position: relative; - top: 0; - width: 100%; - margin-left: 0; - padding-right: 8px; - padding-left: 8px; - } -} -@media screen and (max-width: 640px) { - .acf-headerbar-field-editor { - position: relative; - top: 46px; - z-index: unset; - } -} -@media screen and (max-width: 880px) { - .acf-headerbar-field-editor .acf-headerbar-inner { - flex-wrap: wrap; - justify-content: flex-start; - align-content: flex-start; - align-items: flex-start; - width: 100%; - } - .acf-headerbar-field-editor .acf-headerbar-inner .acf-page-title { - flex: 1 1 auto; - } - .acf-headerbar-field-editor .acf-headerbar-inner .acf-headerbar-actions { - flex: 1 1 100%; - margin-top: 8px; - gap: 8px; - } - .acf-headerbar-field-editor .acf-headerbar-inner .acf-headerbar-actions .acf-btn { - width: 100%; - display: inline-flex; - justify-content: center; - margin: 0; - } -} -.acf-headerbar-field-editor .acf-page-title { - margin-right: 16px; -} - -.rtl .acf-headerbar, -.rtl .acf-headerbar-field-editor { - margin-left: 0; - margin-right: -20px; -} -.rtl .acf-headerbar .acf-page-title, -.rtl .acf-headerbar-field-editor .acf-page-title { - margin-left: 16px; - margin-right: 0; -} -.rtl .acf-headerbar .acf-headerbar-actions .acf-btn, -.rtl .acf-headerbar-field-editor .acf-headerbar-actions .acf-btn { - margin-left: 0; - margin-right: 8px; -} - -/*--------------------------------------------------------------------------------------------- -* -* ACF Buttons -* -*---------------------------------------------------------------------------------------------*/ -.acf-btn { - display: inline-flex; - align-items: center; - box-sizing: border-box; - min-height: 40px; - padding-top: 8px; - padding-right: 16px; - padding-bottom: 8px; - padding-left: 16px; - background-color: #0783BE; - border-radius: 6px; - border-width: 1px; - border-style: solid; - border-color: rgba(16, 24, 40, 0.2); - text-decoration: none; - color: #fff !important; - transition: all 0.2s ease-in-out; - transition-property: background, border, box-shadow; -} -.acf-btn:hover { - background-color: #066998; - color: #fff; - cursor: pointer; -} -.acf-btn:disabled, .acf-btn.disabled { - background-color: #F2F4F7; - border-color: #EAECF0; - color: #98A2B3 !important; - transition: none; - pointer-events: none; -} -.acf-btn.acf-btn-sm { - min-height: 32px; - padding-top: 4px; - padding-right: 12px; - padding-bottom: 4px; - padding-left: 12px; -} -.acf-btn.acf-btn-secondary { - background-color: transparent; - color: #0783BE !important; - border-color: #0783BE; -} -.acf-btn.acf-btn-secondary:hover { - background-color: #f3f9fc; -} -.acf-btn.acf-btn-muted { - background-color: #667085; - color: white; - height: 48px; - padding: 8px 28px 8px 28px !important; - border-radius: 6px; - border: 1px; - gap: 6px; -} -.acf-btn.acf-btn-muted:hover { - background-color: #475467 !important; -} -.acf-btn.acf-btn-tertiary { - background-color: transparent; - color: #667085 !important; - border-color: #D0D5DD; -} -.acf-btn.acf-btn-tertiary:hover { - color: #667085 !important; - border-color: #98A2B3; -} -.acf-btn.acf-btn-clear { - background-color: transparent; - color: #667085 !important; - border-color: transparent; -} -.acf-btn.acf-btn-clear:hover { - color: #0783BE !important; -} -.acf-btn.acf-btn-pro { - background: radial-gradient(141.77% 141.08% at 100.26% 99.25%, #0ECAD4 0%, #7A45E5 100%); - border: none; -} - -/*--------------------------------------------------------------------------------------------- -* -* Button icons -* -*---------------------------------------------------------------------------------------------*/ -.acf-btn i.acf-icon { - width: 20px; - height: 20px; - -webkit-mask-size: 20px; - mask-size: 20px; - margin-right: 6px; - margin-left: -4px; -} -.acf-btn.acf-btn-sm i.acf-icon { - width: 16px; - height: 16px; - -webkit-mask-size: 16px; - mask-size: 16px; - margin-right: 6px; - margin-left: -2px; -} - -.rtl .acf-btn i.acf-icon { - margin-right: -4px; - margin-left: 6px; -} -.rtl .acf-btn.acf-btn-sm i.acf-icon { - margin-right: -4px; - margin-left: 2px; -} - -/*--------------------------------------------------------------------------------------------- -* -* Delete field group button -* -*---------------------------------------------------------------------------------------------*/ -.acf-btn.acf-delete-field-group:hover { - background-color: #fbeded; - border-color: #D13737 !important; - color: #D13737 !important; -} - -/*-------------------------------------------------------------------------------------------- -* -* Icon base styling -* -*--------------------------------------------------------------------------------------------*/ -.acf-internal-post-type i.acf-icon, -.post-type-acf-field-group i.acf-icon { - display: inline-flex; - width: 20px; - height: 20px; - background-color: currentColor; - border: none; - border-radius: 0; - -webkit-mask-size: contain; - mask-size: contain; - -webkit-mask-repeat: no-repeat; - mask-repeat: no-repeat; - -webkit-mask-position: center; - mask-position: center; - text-indent: 500%; - white-space: nowrap; - overflow: hidden; -} - -/*-------------------------------------------------------------------------------------------- -* -* Icons -* -*--------------------------------------------------------------------------------------------*/ -.acf-admin-page { - /*-------------------------------------------------------------------------------------------- - * - * Inactive group icon - * - *--------------------------------------------------------------------------------------------*/ -} -.acf-admin-page i.acf-field-setting-fc-delete, .acf-admin-page i.acf-field-setting-fc-duplicate { - box-sizing: border-box; - /* Auto layout */ - display: flex; - flex-direction: row; - justify-content: center; - align-items: center; - padding: 8px; - cursor: pointer; - width: 32px; - height: 32px; - /* Base / White */ - background: #FFFFFF; - /* Gray/300 */ - border: 1px solid #D0D5DD; - /* Elevation/01 */ - box-shadow: 0px 1px 2px rgba(16, 24, 40, 0.1); - border-radius: 6px; - /* Inside auto layout */ - flex: none; - order: 0; - flex-grow: 0; -} -.acf-admin-page i.acf-icon-plus { - -webkit-mask-image: url("../../images/icons/icon-add.svg"); - mask-image: url("../../images/icons/icon-add.svg"); -} -.acf-admin-page i.acf-icon-stars { - -webkit-mask-image: url("../../images/icons/icon-stars.svg"); - mask-image: url("../../images/icons/icon-stars.svg"); -} -.acf-admin-page i.acf-icon-help { - -webkit-mask-image: url("../../images/icons/icon-help.svg"); - mask-image: url("../../images/icons/icon-help.svg"); -} -.acf-admin-page i.acf-icon-key { - -webkit-mask-image: url("../../images/icons/icon-key.svg"); - mask-image: url("../../images/icons/icon-key.svg"); -} -.acf-admin-page i.acf-icon-regenerate { - -webkit-mask-image: url("../../images/icons/icon-regenerate.svg"); - mask-image: url("../../images/icons/icon-regenerate.svg"); -} -.acf-admin-page i.acf-icon-trash, .acf-admin-page button.acf-icon-trash { - -webkit-mask-image: url("../../images/icons/icon-trash.svg"); - mask-image: url("../../images/icons/icon-trash.svg"); -} -.acf-admin-page i.acf-icon-extended-menu, .acf-admin-page button.acf-icon-extended-menu { - -webkit-mask-image: url("../../images/icons/icon-extended-menu.svg"); - mask-image: url("../../images/icons/icon-extended-menu.svg"); -} -.acf-admin-page i.acf-icon.-duplicate, .acf-admin-page button.acf-icon-duplicate { - -webkit-mask-image: url("../../images/field-type-icons/icon-field-clone.svg"); - mask-image: url("../../images/field-type-icons/icon-field-clone.svg"); -} -.acf-admin-page i.acf-icon.-duplicate:before, .acf-admin-page i.acf-icon.-duplicate:after, .acf-admin-page button.acf-icon-duplicate:before, .acf-admin-page button.acf-icon-duplicate:after { - content: none; -} -.acf-admin-page i.acf-icon-arrow-right { - -webkit-mask-image: url("../../images/icons/icon-arrow-right.svg"); - mask-image: url("../../images/icons/icon-arrow-right.svg"); -} -.acf-admin-page i.acf-icon-arrow-up-right { - -webkit-mask-image: url("../../images/icons/icon-arrow-up-right.svg"); - mask-image: url("../../images/icons/icon-arrow-up-right.svg"); -} -.acf-admin-page i.acf-icon-arrow-left { - -webkit-mask-image: url("../../images/icons/icon-arrow-left.svg"); - mask-image: url("../../images/icons/icon-arrow-left.svg"); -} -.acf-admin-page i.acf-icon-chevron-right, -.acf-admin-page .acf-icon.-right { - -webkit-mask-image: url("../../images/icons/icon-chevron-right.svg"); - mask-image: url("../../images/icons/icon-chevron-right.svg"); -} -.acf-admin-page i.acf-icon-chevron-left, -.acf-admin-page .acf-icon.-left { - -webkit-mask-image: url("../../images/icons/icon-chevron-left.svg"); - mask-image: url("../../images/icons/icon-chevron-left.svg"); -} -.acf-admin-page i.acf-icon-key-solid { - -webkit-mask-image: url("../../images/icons/icon-key-solid.svg"); - mask-image: url("../../images/icons/icon-key-solid.svg"); -} -.acf-admin-page i.acf-icon-globe, -.acf-admin-page .acf-icon.-globe { - -webkit-mask-image: url("../../images/icons/icon-globe.svg"); - mask-image: url("../../images/icons/icon-globe.svg"); -} -.acf-admin-page i.acf-icon-image, -.acf-admin-page .acf-icon.-picture { - -webkit-mask-image: url("../../images/field-type-icons/icon-field-image.svg"); - mask-image: url("../../images/field-type-icons/icon-field-image.svg"); -} -.acf-admin-page i.acf-icon-warning { - -webkit-mask-image: url("../../images/icons/icon-warning-alt.svg"); - mask-image: url("../../images/icons/icon-warning-alt.svg"); -} -.acf-admin-page i.acf-icon-warning-red { - -webkit-mask-image: url("../../images/icons/icon-warning-alt-red.svg"); - mask-image: url("../../images/icons/icon-warning-alt-red.svg"); -} -.acf-admin-page i.acf-icon-dots-grid { - -webkit-mask-image: url("../../images/icons/icon-dots-grid.svg"); - mask-image: url("../../images/icons/icon-dots-grid.svg"); -} -.acf-admin-page i.acf-icon-play { - -webkit-mask-image: url("../../images/icons/icon-play.svg"); - mask-image: url("../../images/icons/icon-play.svg"); -} -.acf-admin-page i.acf-icon-lock { - -webkit-mask-image: url("../../images/icons/icon-lock.svg"); - mask-image: url("../../images/icons/icon-lock.svg"); -} -.acf-admin-page i.acf-icon-document { - -webkit-mask-image: url("../../images/icons/icon-document.svg"); - mask-image: url("../../images/icons/icon-document.svg"); -} -.acf-admin-page .post-type-acf-field-group .post-state, -.acf-admin-page .acf-internal-post-type .post-state { - font-weight: normal; -} -.acf-admin-page .post-type-acf-field-group .post-state .dashicons.dashicons-hidden, -.acf-admin-page .acf-internal-post-type .post-state .dashicons.dashicons-hidden { - display: inline-flex; - width: 18px; - height: 18px; - background-color: #98A2B3; - border: none; - border-radius: 0; - -webkit-mask-size: 18px; - mask-size: 18px; - -webkit-mask-repeat: no-repeat; - mask-repeat: no-repeat; - -webkit-mask-position: center; - mask-position: center; - -webkit-mask-image: url("../../images/icons/icon-hidden.svg"); - mask-image: url("../../images/icons/icon-hidden.svg"); -} -.acf-admin-page .post-type-acf-field-group .post-state .dashicons.dashicons-hidden:before, -.acf-admin-page .acf-internal-post-type .post-state .dashicons.dashicons-hidden:before { - display: none; -} - -/*-------------------------------------------------------------------------------------------- -* -* Edit field group page postbox header icons -* -*--------------------------------------------------------------------------------------------*/ -#acf-field-group-fields .postbox-header h2, -#acf-field-group-fields .postbox-header h3, -#acf-field-group-fields .acf-sub-field-list-header h2, -#acf-field-group-fields .acf-sub-field-list-header h3, -#acf-field-group-options .postbox-header h2, -#acf-field-group-options .postbox-header h3, -#acf-field-group-options .acf-sub-field-list-header h2, -#acf-field-group-options .acf-sub-field-list-header h3, -#acf-advanced-settings .postbox-header h2, -#acf-advanced-settings .postbox-header h3, -#acf-advanced-settings .acf-sub-field-list-header h2, -#acf-advanced-settings .acf-sub-field-list-header h3 { - display: inline-flex; - justify-content: flex-start; - align-content: stretch; - align-items: center; -} -#acf-field-group-fields .postbox-header h2:before, -#acf-field-group-fields .postbox-header h3:before, -#acf-field-group-fields .acf-sub-field-list-header h2:before, -#acf-field-group-fields .acf-sub-field-list-header h3:before, -#acf-field-group-options .postbox-header h2:before, -#acf-field-group-options .postbox-header h3:before, -#acf-field-group-options .acf-sub-field-list-header h2:before, -#acf-field-group-options .acf-sub-field-list-header h3:before, -#acf-advanced-settings .postbox-header h2:before, -#acf-advanced-settings .postbox-header h3:before, -#acf-advanced-settings .acf-sub-field-list-header h2:before, -#acf-advanced-settings .acf-sub-field-list-header h3:before { - content: ""; - display: inline-block; - width: 20px; - height: 20px; - margin-right: 8px; - background-color: #98A2B3; - border: none; - border-radius: 0; - -webkit-mask-size: contain; - mask-size: contain; - -webkit-mask-repeat: no-repeat; - mask-repeat: no-repeat; - -webkit-mask-position: center; - mask-position: center; -} - -.rtl #acf-field-group-fields .postbox-header h2:before, -.rtl #acf-field-group-fields .postbox-header h3:before, -.rtl #acf-field-group-fields .acf-sub-field-list-header h2:before, -.rtl #acf-field-group-fields .acf-sub-field-list-header h3:before, -.rtl #acf-field-group-options .postbox-header h2:before, -.rtl #acf-field-group-options .postbox-header h3:before, -.rtl #acf-field-group-options .acf-sub-field-list-header h2:before, -.rtl #acf-field-group-options .acf-sub-field-list-header h3:before { - margin-right: 0; - margin-left: 8px; -} - -#acf-field-group-fields .postbox-header h2:before, -h3.acf-sub-field-list-title:before, -.acf-link-field-groups-popup h3:before { - -webkit-mask-image: url("../../images/icons/icon-fields.svg"); - mask-image: url("../../images/icons/icon-fields.svg"); -} - -.acf-create-options-page-popup h3:before { - -webkit-mask-image: url("../../images/icons/icon-sliders.svg"); - mask-image: url("../../images/icons/icon-sliders.svg"); -} - -#acf-field-group-options .postbox-header h2:before { - -webkit-mask-image: url("../../images/icons/icon-settings.svg"); - mask-image: url("../../images/icons/icon-settings.svg"); -} - -.acf-field-setting-fc_layout .acf-field-settings-fc_head label:before { - -webkit-mask-image: url("../../images/icons/icon-layout.svg"); - mask-image: url("../../images/icons/icon-layout.svg"); -} - -.acf-admin-single-post-type #acf-advanced-settings .postbox-header h2:before, -.acf-admin-single-taxonomy #acf-advanced-settings .postbox-header h2:before, -.acf-admin-single-options-page #acf-advanced-settings .postbox-header h2:before { - -webkit-mask-image: url("../../images/icons/icon-post-type.svg"); - mask-image: url("../../images/icons/icon-post-type.svg"); -} - -.acf-field-setting-fc_layout .acf-field-settings-fc_head .acf-fc_draggable:hover .reorder-layout:before { - width: 20px; - height: 11px; - background-color: #475467 !important; - -webkit-mask-image: url("../../images/icons/icon-draggable.svg"); - mask-image: url("../../images/icons/icon-draggable.svg"); -} - -/*-------------------------------------------------------------------------------------------- -* -* Postbox expand / collapse icon -* -*--------------------------------------------------------------------------------------------*/ -.post-type-acf-field-group .postbox-header .handle-actions, -.post-type-acf-field-group #acf-field-group-fields .postbox-header .handle-actions, -.post-type-acf-field-group #acf-field-group-options .postbox-header .handle-actions, -.post-type-acf-field-group .postbox .postbox-header .handle-actions, -.acf-admin-single-post-type #acf-advanced-settings .postbox-header .handle-actions, -.acf-admin-single-taxonomy #acf-advanced-settings .postbox-header .handle-actions, -.acf-admin-single-options-page #acf-advanced-settings .postbox-header .handle-actions { - display: flex; -} -.post-type-acf-field-group .postbox-header .handle-actions .toggle-indicator:before, -.post-type-acf-field-group #acf-field-group-fields .postbox-header .handle-actions .toggle-indicator:before, -.post-type-acf-field-group #acf-field-group-options .postbox-header .handle-actions .toggle-indicator:before, -.post-type-acf-field-group .postbox .postbox-header .handle-actions .toggle-indicator:before, -.acf-admin-single-post-type #acf-advanced-settings .postbox-header .handle-actions .toggle-indicator:before, -.acf-admin-single-taxonomy #acf-advanced-settings .postbox-header .handle-actions .toggle-indicator:before, -.acf-admin-single-options-page #acf-advanced-settings .postbox-header .handle-actions .toggle-indicator:before { - content: ""; - display: inline-flex; - width: 20px; - height: 20px; - background-color: currentColor; - border: none; - border-radius: 0; - -webkit-mask-size: contain; - mask-size: contain; - -webkit-mask-repeat: no-repeat; - mask-repeat: no-repeat; - -webkit-mask-position: center; - mask-position: center; - -webkit-mask-image: url("../../images/icons/icon-chevron-up.svg"); - mask-image: url("../../images/icons/icon-chevron-up.svg"); -} -.post-type-acf-field-group.closed .postbox-header .handle-actions .toggle-indicator:before, -.post-type-acf-field-group #acf-field-group-fields.closed .postbox-header .handle-actions .toggle-indicator:before, -.post-type-acf-field-group #acf-field-group-options.closed .postbox-header .handle-actions .toggle-indicator:before, -.post-type-acf-field-group .postbox.closed .postbox-header .handle-actions .toggle-indicator:before, -.acf-admin-single-post-type #acf-advanced-settings.closed .postbox-header .handle-actions .toggle-indicator:before, -.acf-admin-single-taxonomy #acf-advanced-settings.closed .postbox-header .handle-actions .toggle-indicator:before, -.acf-admin-single-options-page #acf-advanced-settings.closed .postbox-header .handle-actions .toggle-indicator:before { - -webkit-mask-image: url("../../images/icons/icon-chevron-down.svg"); - mask-image: url("../../images/icons/icon-chevron-down.svg"); -} - -/*--------------------------------------------------------------------------------------------- -* -* Tools & updates page heading icons -* -*---------------------------------------------------------------------------------------------*/ -.post-type-acf-field-group #acf-admin-tool-export h2, -.post-type-acf-field-group #acf-admin-tool-export h3, -.post-type-acf-field-group #acf-admin-tool-import h2, -.post-type-acf-field-group #acf-admin-tool-import h3, -.post-type-acf-field-group #acf-license-information h2, -.post-type-acf-field-group #acf-license-information h3, -.post-type-acf-field-group #acf-update-information h2, -.post-type-acf-field-group #acf-update-information h3 { - display: inline-flex; - justify-content: flex-start; - align-content: stretch; - align-items: center; -} -.post-type-acf-field-group #acf-admin-tool-export h2:before, -.post-type-acf-field-group #acf-admin-tool-export h3:before, -.post-type-acf-field-group #acf-admin-tool-import h2:before, -.post-type-acf-field-group #acf-admin-tool-import h3:before, -.post-type-acf-field-group #acf-license-information h2:before, -.post-type-acf-field-group #acf-license-information h3:before, -.post-type-acf-field-group #acf-update-information h2:before, -.post-type-acf-field-group #acf-update-information h3:before { - content: ""; - display: inline-block; - width: 20px; - height: 20px; - margin-right: 8px; - background-color: #98A2B3; - border: none; - border-radius: 0; - -webkit-mask-size: contain; - mask-size: contain; - -webkit-mask-repeat: no-repeat; - mask-repeat: no-repeat; - -webkit-mask-position: center; - mask-position: center; -} -.post-type-acf-field-group.rtl #acf-admin-tool-export h2:before, -.post-type-acf-field-group.rtl #acf-admin-tool-export h3:before, -.post-type-acf-field-group.rtl #acf-admin-tool-import h2:before, -.post-type-acf-field-group.rtl #acf-admin-tool-import h3:before, -.post-type-acf-field-group.rtl #acf-license-information h2:before, -.post-type-acf-field-group.rtl #acf-license-information h3:before, -.post-type-acf-field-group.rtl #acf-update-information h2:before, -.post-type-acf-field-group.rtl #acf-update-information h3:before { - margin-right: 0; - margin-left: 8px; -} - -.post-type-acf-field-group #acf-admin-tool-export h2:before { - -webkit-mask-image: url("../../images/icons/icon-export.svg"); - mask-image: url("../../images/icons/icon-export.svg"); -} - -.post-type-acf-field-group #acf-admin-tool-import h2:before { - -webkit-mask-image: url("../../images/icons/icon-import.svg"); - mask-image: url("../../images/icons/icon-import.svg"); -} - -.post-type-acf-field-group #acf-license-information h3:before { - -webkit-mask-image: url("../../images/icons/icon-key.svg"); - mask-image: url("../../images/icons/icon-key.svg"); -} - -.post-type-acf-field-group #acf-update-information h3:before { - -webkit-mask-image: url("../../images/icons/icon-info.svg"); - mask-image: url("../../images/icons/icon-info.svg"); -} - -/*-------------------------------------------------------------------------------------------- -* -* Admin field icons -* -*--------------------------------------------------------------------------------------------*/ -.acf-admin-single-field-group .acf-input .acf-icon { - width: 18px; - height: 18px; -} - -/*-------------------------------------------------------------------------------------------- -* -* Field type icon base styling -* -*--------------------------------------------------------------------------------------------*/ -.field-type-icon { - box-sizing: border-box; - display: inline-flex; - align-content: center; - align-items: center; - justify-content: center; - position: relative; - width: 24px; - height: 24px; - top: -4px; - background-color: #EBF5FA; - border-width: 1px; - border-style: solid; - border-color: #A5D2E7; - border-radius: 100%; -} -.field-type-icon:before { - content: ""; - width: 14px; - height: 14px; - position: relative; - background-color: #0783BE; - -webkit-mask-size: cover; - mask-size: cover; - -webkit-mask-repeat: no-repeat; - mask-repeat: no-repeat; - -webkit-mask-position: center; - mask-position: center; - -webkit-mask-image: url("../../images/field-type-icons/icon-field-default.svg"); - mask-image: url("../../images/field-type-icons/icon-field-default.svg"); -} - -/*-------------------------------------------------------------------------------------------- -* -* Field type icons -* -*--------------------------------------------------------------------------------------------*/ -.field-type-icon.field-type-icon-text:before { - -webkit-mask-image: url("../../images/field-type-icons/icon-field-text.svg"); - mask-image: url("../../images/field-type-icons/icon-field-text.svg"); -} - -.field-type-icon.field-type-icon-textarea:before { - -webkit-mask-image: url("../../images/field-type-icons/icon-field-textarea.svg"); - mask-image: url("../../images/field-type-icons/icon-field-textarea.svg"); -} - -.field-type-icon.field-type-icon-textarea:before { - -webkit-mask-image: url("../../images/field-type-icons/icon-field-textarea.svg"); - mask-image: url("../../images/field-type-icons/icon-field-textarea.svg"); -} - -.field-type-icon.field-type-icon-number:before { - -webkit-mask-image: url("../../images/field-type-icons/icon-field-number.svg"); - mask-image: url("../../images/field-type-icons/icon-field-number.svg"); -} - -.field-type-icon.field-type-icon-range:before { - -webkit-mask-image: url("../../images/field-type-icons/icon-field-range.svg"); - mask-image: url("../../images/field-type-icons/icon-field-range.svg"); -} - -.field-type-icon.field-type-icon-email:before { - -webkit-mask-image: url("../../images/field-type-icons/icon-field-email.svg"); - mask-image: url("../../images/field-type-icons/icon-field-email.svg"); -} - -.field-type-icon.field-type-icon-url:before { - -webkit-mask-image: url("../../images/field-type-icons/icon-field-url.svg"); - mask-image: url("../../images/field-type-icons/icon-field-url.svg"); -} - -.field-type-icon.field-type-icon-password:before { - -webkit-mask-image: url("../../images/field-type-icons/icon-field-password.svg"); - mask-image: url("../../images/field-type-icons/icon-field-password.svg"); -} - -.field-type-icon.field-type-icon-image:before { - -webkit-mask-image: url("../../images/field-type-icons/icon-field-image.svg"); - mask-image: url("../../images/field-type-icons/icon-field-image.svg"); -} - -.field-type-icon.field-type-icon-file:before { - -webkit-mask-image: url("../../images/field-type-icons/icon-field-file.svg"); - mask-image: url("../../images/field-type-icons/icon-field-file.svg"); -} - -.field-type-icon.field-type-icon-wysiwyg:before { - -webkit-mask-image: url("../../images/field-type-icons/icon-field-wysiwyg.svg"); - mask-image: url("../../images/field-type-icons/icon-field-wysiwyg.svg"); -} - -.field-type-icon.field-type-icon-oembed:before { - -webkit-mask-image: url("../../images/field-type-icons/icon-field-oembed.svg"); - mask-image: url("../../images/field-type-icons/icon-field-oembed.svg"); -} - -.field-type-icon.field-type-icon-gallery:before { - -webkit-mask-image: url("../../images/field-type-icons/icon-field-gallery.svg"); - mask-image: url("../../images/field-type-icons/icon-field-gallery.svg"); -} - -.field-type-icon.field-type-icon-select:before { - -webkit-mask-image: url("../../images/field-type-icons/icon-field-select.svg"); - mask-image: url("../../images/field-type-icons/icon-field-select.svg"); -} - -.field-type-icon.field-type-icon-checkbox:before { - -webkit-mask-image: url("../../images/field-type-icons/icon-field-checkbox.svg"); - mask-image: url("../../images/field-type-icons/icon-field-checkbox.svg"); -} - -.field-type-icon.field-type-icon-radio:before { - -webkit-mask-image: url("../../images/field-type-icons/icon-field-radio.svg"); - mask-image: url("../../images/field-type-icons/icon-field-radio.svg"); -} - -.field-type-icon.field-type-icon-button-group:before { - -webkit-mask-image: url("../../images/field-type-icons/icon-field-button-group.svg"); - mask-image: url("../../images/field-type-icons/icon-field-button-group.svg"); -} - -.field-type-icon.field-type-icon-true-false:before { - -webkit-mask-image: url("../../images/field-type-icons/icon-field-true-false.svg"); - mask-image: url("../../images/field-type-icons/icon-field-true-false.svg"); -} - -.field-type-icon.field-type-icon-link:before { - -webkit-mask-image: url("../../images/field-type-icons/icon-field-link.svg"); - mask-image: url("../../images/field-type-icons/icon-field-link.svg"); -} - -.field-type-icon.field-type-icon-post-object:before { - -webkit-mask-image: url("../../images/field-type-icons/icon-field-post-object.svg"); - mask-image: url("../../images/field-type-icons/icon-field-post-object.svg"); -} - -.field-type-icon.field-type-icon-page-link:before { - -webkit-mask-image: url("../../images/field-type-icons/icon-field-page-link.svg"); - mask-image: url("../../images/field-type-icons/icon-field-page-link.svg"); -} - -.field-type-icon.field-type-icon-relationship:before { - -webkit-mask-image: url("../../images/field-type-icons/icon-field-relationship.svg"); - mask-image: url("../../images/field-type-icons/icon-field-relationship.svg"); -} - -.field-type-icon.field-type-icon-taxonomy:before { - -webkit-mask-image: url("../../images/field-type-icons/icon-field-taxonomy.svg"); - mask-image: url("../../images/field-type-icons/icon-field-taxonomy.svg"); -} - -.field-type-icon.field-type-icon-user:before { - -webkit-mask-image: url("../../images/field-type-icons/icon-field-user.svg"); - mask-image: url("../../images/field-type-icons/icon-field-user.svg"); -} - -.field-type-icon.field-type-icon-google-map:before { - -webkit-mask-image: url("../../images/field-type-icons/icon-field-google-map.svg"); - mask-image: url("../../images/field-type-icons/icon-field-google-map.svg"); -} - -.field-type-icon.field-type-icon-date-picker:before { - -webkit-mask-image: url("../../images/field-type-icons/icon-field-date-picker.svg"); - mask-image: url("../../images/field-type-icons/icon-field-date-picker.svg"); -} - -.field-type-icon.field-type-icon-date-time-picker:before { - -webkit-mask-image: url("../../images/field-type-icons/icon-field-date-time-picker.svg"); - mask-image: url("../../images/field-type-icons/icon-field-date-time-picker.svg"); -} - -.field-type-icon.field-type-icon-time-picker:before { - -webkit-mask-image: url("../../images/field-type-icons/icon-field-time-picker.svg"); - mask-image: url("../../images/field-type-icons/icon-field-time-picker.svg"); -} - -.field-type-icon.field-type-icon-color-picker:before { - -webkit-mask-image: url("../../images/field-type-icons/icon-field-color-picker.svg"); - mask-image: url("../../images/field-type-icons/icon-field-color-picker.svg"); -} - -.field-type-icon.field-type-icon-icon-picker:before { - -webkit-mask-image: url("../../images/field-type-icons/icon-field-icon-picker.svg"); - mask-image: url("../../images/field-type-icons/icon-field-icon-picker.svg"); -} - -.field-type-icon.field-type-icon-message:before { - -webkit-mask-image: url("../../images/field-type-icons/icon-field-message.svg"); - mask-image: url("../../images/field-type-icons/icon-field-message.svg"); -} - -.field-type-icon.field-type-icon-accordion:before { - -webkit-mask-image: url("../../images/field-type-icons/icon-field-accordion.svg"); - mask-image: url("../../images/field-type-icons/icon-field-accordion.svg"); -} - -.field-type-icon.field-type-icon-tab:before { - -webkit-mask-image: url("../../images/field-type-icons/icon-field-tab.svg"); - mask-image: url("../../images/field-type-icons/icon-field-tab.svg"); -} - -.field-type-icon.field-type-icon-group:before { - -webkit-mask-image: url("../../images/field-type-icons/icon-field-group.svg"); - mask-image: url("../../images/field-type-icons/icon-field-group.svg"); -} - -.field-type-icon.field-type-icon-repeater:before { - -webkit-mask-image: url("../../images/field-type-icons/icon-field-repeater.svg"); - mask-image: url("../../images/field-type-icons/icon-field-repeater.svg"); -} - -.field-type-icon.field-type-icon-flexible-content:before { - -webkit-mask-image: url("../../images/field-type-icons/icon-field-flexible-content.svg"); - mask-image: url("../../images/field-type-icons/icon-field-flexible-content.svg"); -} - -.field-type-icon.field-type-icon-clone:before { - -webkit-mask-image: url("../../images/field-type-icons/icon-field-clone.svg"); - mask-image: url("../../images/field-type-icons/icon-field-clone.svg"); -} - -/*--------------------------------------------------------------------------------------------- -* -* Tools page layout -* -*---------------------------------------------------------------------------------------------*/ -#acf-admin-tools .postbox-header { - display: none; -} -#acf-admin-tools .acf-meta-box-wrap.-grid { - margin-top: 0; - margin-right: 0; - margin-bottom: 0; - margin-left: 0; -} -#acf-admin-tools .acf-meta-box-wrap.-grid .postbox { - width: 100%; - clear: none; - float: none; - margin-bottom: 0; -} -@media screen and (max-width: 880px) { - #acf-admin-tools .acf-meta-box-wrap.-grid .postbox { - flex: 1 1 100%; - } -} -#acf-admin-tools .acf-meta-box-wrap.-grid .postbox:nth-child(odd) { - margin-left: 0; -} -#acf-admin-tools .meta-box-sortables { - display: grid; - grid-template-columns: repeat(2, 1fr); - grid-template-rows: repeat(1, 1fr); - grid-column-gap: 32px; - grid-row-gap: 32px; -} -@media screen and (max-width: 880px) { - #acf-admin-tools .meta-box-sortables { - display: flex; - flex-wrap: wrap; - justify-content: flex-start; - align-content: flex-start; - align-items: center; - grid-column-gap: 8px; - grid-row-gap: 8px; - } -} - -/*--------------------------------------------------------------------------------------------- -* -* Tools export pages -* -*---------------------------------------------------------------------------------------------*/ -#acf-admin-tools.tool-export .inside { - margin: 0; -} -#acf-admin-tools.tool-export .acf-postbox-header { - margin-bottom: 24px; -} -#acf-admin-tools.tool-export .acf-postbox-main { - border: none; - margin: 0; - padding-top: 0; - padding-right: 24px; - padding-bottom: 0; - padding-left: 0; -} -#acf-admin-tools.tool-export .acf-postbox-columns { - margin-top: 0; - margin-right: 280px; - margin-bottom: 0; - margin-left: 0; - padding: 0; -} -#acf-admin-tools.tool-export .acf-postbox-columns .acf-postbox-side { - padding: 0; -} -#acf-admin-tools.tool-export .acf-postbox-columns .acf-postbox-side .acf-panel { - margin: 0; - padding: 0; -} -#acf-admin-tools.tool-export .acf-postbox-columns .acf-postbox-side:before { - display: none; -} -#acf-admin-tools.tool-export .acf-postbox-columns .acf-postbox-side .acf-btn { - display: block; - width: 100%; - text-align: center; -} -#acf-admin-tools.tool-export .meta-box-sortables { - display: block; -} -#acf-admin-tools.tool-export .acf-panel { - border: none; -} -#acf-admin-tools.tool-export .acf-panel h3 { - margin: 0; - padding: 0; - color: #344054; -} -#acf-admin-tools.tool-export .acf-panel h3:before { - display: none; -} -#acf-admin-tools.tool-export .acf-checkbox-list { - margin-top: 16px; - border-width: 1px; - border-style: solid; - border-color: #D0D5DD; - border-radius: 6px; -} -#acf-admin-tools.tool-export .acf-checkbox-list li { - display: inline-flex; - box-sizing: border-box; - width: 100%; - height: 48px; - align-items: center; - margin: 0; - padding-right: 12px; - padding-left: 12px; - border-bottom-width: 1px; - border-bottom-style: solid; - border-bottom-color: #EAECF0; -} -#acf-admin-tools.tool-export .acf-checkbox-list li:last-child { - border-bottom: none; -} - -/*--------------------------------------------------------------------------------------------- -* -* Updates layout -* -*---------------------------------------------------------------------------------------------*/ -.acf-settings-wrap.acf-updates { - display: flex; - flex-direction: row; - flex-wrap: wrap; - justify-content: flex-start; - align-content: flex-start; - align-items: flex-start; -} - -.custom-fields_page_acf-settings-updates .acf-admin-notice, -.custom-fields_page_acf-settings-updates .acf-upgrade-notice, -.custom-fields_page_acf-settings-updates .notice { - flex: 1 1 100%; -} - -/*--------------------------------------------------------------------------------------------- -* -* ACF Box -* -*---------------------------------------------------------------------------------------------*/ -.acf-settings-wrap.acf-updates .acf-box { - margin-top: 0; - margin-right: 0; - margin-bottom: 0; - margin-left: 0; -} -.acf-settings-wrap.acf-updates .acf-box .inner { - padding-top: 24px; - padding-right: 24px; - padding-bottom: 24px; - padding-left: 24px; -} -@media screen and (max-width: 880px) { - .acf-settings-wrap.acf-updates .acf-box { - flex: 1 1 100%; - } -} - -/*--------------------------------------------------------------------------------------------- -* -* Notices -* -*---------------------------------------------------------------------------------------------*/ -.acf-settings-wrap.acf-updates .acf-admin-notice { - flex: 1 1 100%; - margin-top: 16px; - margin-right: 0; - margin-left: 0; -} - -/*--------------------------------------------------------------------------------------------- -* -* License information -* -*---------------------------------------------------------------------------------------------*/ -#acf-license-information { - flex: 1 1 65%; - margin-right: 32px; -} -#acf-license-information .inner { - padding: 0; -} -#acf-license-information .inner .acf-license-defined { - padding: 24px; - margin: 0; -} -#acf-license-information .inner .acf-activation-form, -#acf-license-information .inner .acf-retry-activation { - padding: 24px; -} -#acf-license-information .inner .acf-activation-form.acf-retry-activation, -#acf-license-information .inner .acf-retry-activation.acf-retry-activation { - padding-top: 0; - min-height: 40px; -} -#acf-license-information .inner .acf-activation-form.acf-retry-activation .acf-recheck-license.acf-btn, -#acf-license-information .inner .acf-retry-activation.acf-retry-activation .acf-recheck-license.acf-btn { - float: none; - line-height: initial; -} -#acf-license-information .inner .acf-activation-form.acf-retry-activation .acf-recheck-license.acf-btn i, -#acf-license-information .inner .acf-retry-activation.acf-retry-activation .acf-recheck-license.acf-btn i { - display: none; -} -#acf-license-information .inner .acf-activation-form .acf-manage-license-btn, -#acf-license-information .inner .acf-retry-activation .acf-manage-license-btn { - float: right; - line-height: 40px; - align-items: center; - display: inline-flex; -} -#acf-license-information .inner .acf-activation-form .acf-manage-license-btn.acf-renew-subscription, -#acf-license-information .inner .acf-retry-activation .acf-manage-license-btn.acf-renew-subscription { - float: none; - line-height: initial; -} -#acf-license-information .inner .acf-activation-form .acf-manage-license-btn i, -#acf-license-information .inner .acf-retry-activation .acf-manage-license-btn i { - margin: 0 0 0 5px; - width: 19px; - height: 19px; -} -#acf-license-information .inner .acf-activation-form .acf-recheck-license, -#acf-license-information .inner .acf-retry-activation .acf-recheck-license { - float: right; - line-height: 40px; -} -#acf-license-information .inner .acf-activation-form .acf-recheck-license i, -#acf-license-information .inner .acf-retry-activation .acf-recheck-license i { - margin-right: 8px; - vertical-align: middle; -} -#acf-license-information .inner .acf-license-status-wrap { - background: #F9FAFB; - border-top: 1px solid #EAECF0; - border-bottom-left-radius: 8px; - border-bottom-right-radius: 8px; -} -#acf-license-information .inner .acf-license-status-wrap .acf-license-status-table { - font-size: 14px; - padding: 24px 24px 16px 24px; -} -#acf-license-information .inner .acf-license-status-wrap .acf-license-status-table th { - width: 160px; - font-weight: 500; - text-align: left; - padding-bottom: 16px; -} -#acf-license-information .inner .acf-license-status-wrap .acf-license-status-table td { - padding-bottom: 16px; -} -#acf-license-information .inner .acf-license-status-wrap .acf-license-status-table td .acf-license-status { - display: inline-block; - height: 24px; - line-height: 24px; - border-radius: 100px; - background: #EAECF0; - padding: 0 13px 1px 12px; - border: 1px solid rgba(0, 0, 0, 0.12); - color: #667085; -} -#acf-license-information .inner .acf-license-status-wrap .acf-license-status-table td .acf-license-status.active { - background: rgba(18, 183, 106, 0.15); - border: 1px solid rgba(18, 183, 106, 0.24); - color: rgb(18, 183, 106); -} -#acf-license-information .inner .acf-license-status-wrap .acf-license-status-table td .acf-license-status.expired, #acf-license-information .inner .acf-license-status-wrap .acf-license-status-table td .acf-license-status.cancelled { - background: rgba(209, 55, 55, 0.24); - border: 1px solid rgba(209, 55, 55, 0.24); - color: rgb(209, 55, 55); -} -#acf-license-information .inner .acf-license-status-wrap .acf-no-license-view-pricing { - padding: 12px 24px; - border-top: 1px solid #EAECF0; - color: #667085; -} -@media screen and (max-width: 1024px) { - #acf-license-information { - margin-right: 0; - margin-bottom: 32px; - } -} -#acf-license-information label { - font-weight: 500; -} -#acf-license-information .acf-input-wrap { - margin-top: 8px; - margin-bottom: 24px; -} -#acf-license-information #acf_pro_license { - width: 100%; -} - -/*--------------------------------------------------------------------------------------------- -* -* Update information table -* -*---------------------------------------------------------------------------------------------*/ -#acf-update-information { - flex: 1 1 35%; - max-width: calc(35% - 32px); -} -#acf-update-information .form-table th, -#acf-update-information .form-table td { - padding-top: 0; - padding-right: 0; - padding-bottom: 24px; - padding-left: 0; - color: #344054; -} -#acf-update-information .acf-update-changelog { - margin-top: 8px; - margin-bottom: 24px; - padding-top: 8px; - border-top-width: 1px; - border-top-style: solid; - border-top-color: #EAECF0; - color: #344054; -} -#acf-update-information .acf-update-changelog h4 { - margin-bottom: 0; -} -#acf-update-information .acf-update-changelog p { - margin-top: 0; - margin-bottom: 16px; -} -#acf-update-information .acf-update-changelog p:last-of-type { - margin-bottom: 0; -} -#acf-update-information .acf-update-changelog p em { - color: #667085; -} -#acf-update-information .acf-btn { - display: inline-flex; -} - -/*-------------------------------------------------------------------------------------------- -* -* Header pro upgrade button -* -*--------------------------------------------------------------------------------------------*/ -.acf-admin-toolbar a.acf-admin-toolbar-upgrade-btn { - display: inline-flex; - align-items: center; - align-self: stretch; - padding-top: 0; - padding-right: 16px; - padding-bottom: 0; - padding-left: 16px; - background: radial-gradient(141.77% 141.08% at 100.26% 99.25%, #0ECAD4 0%, #7A45E5 100%); - box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.16); - border-radius: 6px; - text-decoration: none; -} -@media screen and (max-width: 768px) { - .acf-admin-toolbar a.acf-admin-toolbar-upgrade-btn { - display: none; - } -} -.acf-admin-toolbar a.acf-admin-toolbar-upgrade-btn:focus { - border: none; - outline: none; - box-shadow: none; -} -.acf-admin-toolbar a.acf-admin-toolbar-upgrade-btn p { - margin: 0; - padding-top: 8px; - padding-bottom: 8px; - font-weight: 400; - text-transform: none; - color: #fff; -} -.acf-admin-toolbar a.acf-admin-toolbar-upgrade-btn .acf-icon { - width: 18px; - height: 18px; - margin-right: 6px; - margin-left: -2px; - background-color: #F9FAFB; -} - -/*-------------------------------------------------------------------------------------------- -* -* Upsell block -* -*--------------------------------------------------------------------------------------------*/ -.acf-admin-page #tmpl-acf-field-group-pro-features, -.acf-admin-page #acf-field-group-pro-features { - display: none; - align-items: center; - min-height: 120px; - background-color: #121833; - background-image: url(../../images/pro-upgrade-grid-bg.svg), url(../../images/pro-upgrade-overlay.svg); - background-repeat: repeat, no-repeat; - background-size: 1224px, 1880px; - background-position: left top, -520px -680px; - color: #EAECF0; - border-radius: 8px; - margin-top: 24px; - margin-bottom: 24px; -} -@media screen and (max-width: 768px) { - .acf-admin-page #tmpl-acf-field-group-pro-features, - .acf-admin-page #acf-field-group-pro-features { - background-size: 1024px, 980px; - background-position: left top, -500px -200px; - } -} -@media screen and (max-width: 1200px) { - .acf-admin-page #tmpl-acf-field-group-pro-features, - .acf-admin-page #acf-field-group-pro-features { - background-size: 1024px, 1880px; - background-position: left top, -520px -300px; - } -} -.acf-admin-page #tmpl-acf-field-group-pro-features .postbox-header, -.acf-admin-page #acf-field-group-pro-features .postbox-header { - display: none; -} -.acf-admin-page #tmpl-acf-field-group-pro-features .inside, -.acf-admin-page #acf-field-group-pro-features .inside { - width: 100%; - border: none; - padding: 0; -} -.acf-admin-page #tmpl-acf-field-group-pro-features .acf-field-group-pro-features-wrapper, -.acf-admin-page #acf-field-group-pro-features .acf-field-group-pro-features-wrapper { - display: flex; - justify-content: center; - align-content: stretch; - align-items: center; - gap: 96px; - height: 358px; - max-width: 950px; - margin: 0 auto; - padding: 0 35px; -} -@media screen and (max-width: 1200px) { - .acf-admin-page #tmpl-acf-field-group-pro-features .acf-field-group-pro-features-wrapper, - .acf-admin-page #acf-field-group-pro-features .acf-field-group-pro-features-wrapper { - gap: 48px; - } -} -@media screen and (max-width: 768px) { - .acf-admin-page #tmpl-acf-field-group-pro-features .acf-field-group-pro-features-wrapper, - .acf-admin-page #acf-field-group-pro-features .acf-field-group-pro-features-wrapper { - gap: 0; - } -} -.acf-admin-page #tmpl-acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-title, -.acf-admin-page #tmpl-acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-title-sm, -.acf-admin-page #acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-title, -.acf-admin-page #acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-title-sm { - font-weight: 590; - line-height: 150%; -} -.acf-admin-page #tmpl-acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-title .acf-pro-label, -.acf-admin-page #tmpl-acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-title-sm .acf-pro-label, -.acf-admin-page #acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-title .acf-pro-label, -.acf-admin-page #acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-title-sm .acf-pro-label { - font-weight: 400; - margin-top: -6px; - margin-left: 2px; - vertical-align: middle; - height: 22px; - position: relative; - overflow: hidden; -} -.acf-admin-page #tmpl-acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-title .acf-pro-label::before, -.acf-admin-page #tmpl-acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-title-sm .acf-pro-label::before, -.acf-admin-page #acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-title .acf-pro-label::before, -.acf-admin-page #acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-title-sm .acf-pro-label::before { - display: block; - position: absolute; - content: ""; - top: 0; - right: 0; - bottom: 0; - left: 0; - border-radius: 9999px; - border: 1px solid rgba(255, 255, 255, 0.2); -} -.acf-admin-page #tmpl-acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-title-sm, -.acf-admin-page #acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-title-sm { - display: none !important; - font-size: 18px; -} -.acf-admin-page #tmpl-acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-title-sm .acf-pro-label, -.acf-admin-page #acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-title-sm .acf-pro-label { - font-size: 10px; - height: 20px; -} -@media screen and (max-width: 768px) { - .acf-admin-page #tmpl-acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-title-sm, - .acf-admin-page #acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-title-sm { - width: 100%; - text-align: center; - } -} -@media screen and (max-width: 768px) { - .acf-admin-page #tmpl-acf-field-group-pro-features .acf-field-group-pro-features-wrapper, - .acf-admin-page #acf-field-group-pro-features .acf-field-group-pro-features-wrapper { - flex-direction: column; - flex-wrap: wrap; - justify-content: flex-start; - align-content: flex-start; - align-items: flex-start; - padding: 32px 32px 0 32px; - height: unset; - } - .acf-admin-page #tmpl-acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-title-sm, - .acf-admin-page #acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-title-sm { - display: block !important; - margin-bottom: 24px; - } -} -.acf-admin-page #tmpl-acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-content, -.acf-admin-page #acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-content { - display: flex; - flex-direction: column; - width: 416px; -} -.acf-admin-page #tmpl-acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-content .acf-field-group-pro-features-desc, -.acf-admin-page #acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-content .acf-field-group-pro-features-desc { - margin-top: 8px; - margin-bottom: 24px; - font-size: 15px; - font-weight: 300; - color: #D0D5DD; -} -@media screen and (max-width: 768px) { - .acf-admin-page #tmpl-acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-content, - .acf-admin-page #acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-content { - width: 100%; - order: 1; - margin-right: 0; - margin-bottom: 8px; - } - .acf-admin-page #tmpl-acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-content .acf-field-group-pro-features-title, - .acf-admin-page #tmpl-acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-content .acf-field-group-pro-features-desc, - .acf-admin-page #acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-content .acf-field-group-pro-features-title, - .acf-admin-page #acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-content .acf-field-group-pro-features-desc { - display: none !important; - } -} -.acf-admin-page #tmpl-acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-actions, -.acf-admin-page #acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-actions { - display: flex; - flex-direction: row; - align-items: flex-start; - min-width: 160px; - gap: 12px; -} -@media screen and (max-width: 768px) { - .acf-admin-page #tmpl-acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-actions, - .acf-admin-page #acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-actions { - justify-content: flex-start; - flex-direction: column; - margin-bottom: 24px; - } - .acf-admin-page #tmpl-acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-actions a, - .acf-admin-page #acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-actions a { - justify-content: center; - text-align: center; - width: 100%; - } -} -.acf-admin-page #tmpl-acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-grid, -.acf-admin-page #acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-grid { - display: flex; - flex-direction: row; - flex-wrap: wrap; - gap: 16px; - width: 416px; -} -.acf-admin-page #tmpl-acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-grid .acf-field-group-pro-feature, -.acf-admin-page #acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-grid .acf-field-group-pro-feature { - display: flex; - flex-direction: column; - justify-content: center; - align-items: center; - width: 128px; - height: 124px; - background: rgba(255, 255, 255, 0.08); - box-shadow: 0 0 4px rgba(0, 0, 0, 0.04), 0 8px 16px rgba(0, 0, 0, 0.08), inset 0 0 0 1px rgba(255, 255, 255, 0.08); - backdrop-filter: blur(6px); - border-radius: 8px; -} -.acf-admin-page #tmpl-acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-grid .acf-field-group-pro-feature .field-type-icon, -.acf-admin-page #acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-grid .acf-field-group-pro-feature .field-type-icon { - border: none; - background: none; - width: 24px; - opacity: 0.8; -} -.acf-admin-page #tmpl-acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-grid .acf-field-group-pro-feature .field-type-icon::before, -.acf-admin-page #acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-grid .acf-field-group-pro-feature .field-type-icon::before { - background-color: #fff; - width: 20px; - height: 20px; -} -@media screen and (max-width: 1200px) { - .acf-admin-page #tmpl-acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-grid .acf-field-group-pro-feature .field-type-icon::before, - .acf-admin-page #acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-grid .acf-field-group-pro-feature .field-type-icon::before { - width: 18px; - height: 18px; - } -} -.acf-admin-page #tmpl-acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-grid .acf-field-group-pro-feature .pro-feature-blocks::before, -.acf-admin-page #acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-grid .acf-field-group-pro-feature .pro-feature-blocks::before { - -webkit-mask-image: url("../../images/icons/icon-extended-menu.svg"); - mask-image: url("../../images/icons/icon-extended-menu.svg"); -} -.acf-admin-page #tmpl-acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-grid .acf-field-group-pro-feature .pro-feature-options-pages::before, -.acf-admin-page #acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-grid .acf-field-group-pro-feature .pro-feature-options-pages::before { - -webkit-mask-image: url("../../images/icons/icon-settings.svg"); - mask-image: url("../../images/icons/icon-settings.svg"); -} -.acf-admin-page #tmpl-acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-grid .acf-field-group-pro-feature .field-type-label, -.acf-admin-page #acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-grid .acf-field-group-pro-feature .field-type-label { - margin-top: 4px; - font-size: 13px; - font-weight: 300; - text-align: center; - color: #fff; -} -@media screen and (max-width: 1200px) { - .acf-admin-page #tmpl-acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-grid, - .acf-admin-page #acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-grid { - flex-direction: column; - gap: 8px; - width: 288px; - } - .acf-admin-page #tmpl-acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-grid .acf-field-group-pro-feature, - .acf-admin-page #acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-grid .acf-field-group-pro-feature { - width: 100%; - height: 40px; - flex-direction: row; - justify-content: unset; - gap: 8px; - } - .acf-admin-page #tmpl-acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-grid .acf-field-group-pro-feature .field-type-icon, - .acf-admin-page #acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-grid .acf-field-group-pro-feature .field-type-icon { - position: initial; - margin-left: 16px; - } - .acf-admin-page #tmpl-acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-grid .acf-field-group-pro-feature .field-type-label, - .acf-admin-page #acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-grid .acf-field-group-pro-feature .field-type-label { - margin-top: 0; - } -} -@media screen and (max-width: 768px) { - .acf-admin-page #tmpl-acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-grid, - .acf-admin-page #acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-grid { - gap: 0; - width: 100%; - height: auto; - margin-bottom: 16px; - flex-direction: unset; - flex-wrap: wrap; - } - .acf-admin-page #tmpl-acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-grid .acf-field-group-pro-feature, - .acf-admin-page #acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-grid .acf-field-group-pro-feature { - flex: 1 0 50%; - margin-bottom: 8px; - width: auto; - height: auto; - justify-content: center; - background: none; - box-shadow: none; - backdrop-filter: none; - } - .acf-admin-page #tmpl-acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-grid .acf-field-group-pro-feature .field-type-label, - .acf-admin-page #acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-grid .acf-field-group-pro-feature .field-type-label { - margin-left: 2px; - } - .acf-admin-page #tmpl-acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-grid .acf-field-group-pro-feature .field-type-icon, - .acf-admin-page #acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-grid .acf-field-group-pro-feature .field-type-icon { - position: initial; - margin-left: 0; - } - .acf-admin-page #tmpl-acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-grid .acf-field-group-pro-feature .field-type-icon::before, - .acf-admin-page #acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-grid .acf-field-group-pro-feature .field-type-icon::before { - height: 16px; - width: 16px; - } - .acf-admin-page #tmpl-acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-grid .acf-field-group-pro-feature .field-type-label, - .acf-admin-page #acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-grid .acf-field-group-pro-feature .field-type-label { - font-size: 12px; - margin-top: 0; - } -} -.acf-admin-page #tmpl-acf-field-group-pro-features h1, -.acf-admin-page #acf-field-group-pro-features h1 { - margin-top: 0; - margin-bottom: 4px; - padding-top: 0; - padding-bottom: 0; - font-weight: 700; - color: #F9FAFB; -} -.acf-admin-page #tmpl-acf-field-group-pro-features h1 .acf-icon, -.acf-admin-page #acf-field-group-pro-features h1 .acf-icon { - margin-right: 8px; -} -.acf-admin-page #tmpl-acf-field-group-pro-features .acf-btn, -.acf-admin-page #acf-field-group-pro-features .acf-btn { - display: inline-flex; - background-color: rgba(255, 255, 255, 0.1); - border: none; - box-shadow: 0 0 4px rgba(0, 0, 0, 0.04), 0 4px 8px rgba(0, 0, 0, 0.06), inset 0 0 0 1px rgba(255, 255, 255, 0.16); - backdrop-filter: blur(6px); - padding: 8px 24px; - height: 48px; -} -.acf-admin-page #tmpl-acf-field-group-pro-features .acf-btn:hover, -.acf-admin-page #acf-field-group-pro-features .acf-btn:hover { - background-color: rgba(255, 255, 255, 0.2); -} -.acf-admin-page #tmpl-acf-field-group-pro-features .acf-btn .acf-icon, -.acf-admin-page #acf-field-group-pro-features .acf-btn .acf-icon { - margin-right: -2px; - margin-left: 6px; -} -.acf-admin-page #tmpl-acf-field-group-pro-features .acf-btn.acf-pro-features-upgrade, -.acf-admin-page #acf-field-group-pro-features .acf-btn.acf-pro-features-upgrade { - background: radial-gradient(141.77% 141.08% at 100.26% 99.25%, #0ECAD4 0%, #7A45E5 100%); - box-shadow: 0 0 4px rgba(0, 0, 0, 0.04), 0 4px 8px rgba(0, 0, 0, 0.06), inset 0 0 0 1px rgba(255, 255, 255, 0.16); - border-radius: 6px; -} -.acf-admin-page #tmpl-acf-field-group-pro-features .acf-field-group-pro-features-footer-wrap, -.acf-admin-page #acf-field-group-pro-features .acf-field-group-pro-features-footer-wrap { - height: 48px; - background: rgba(16, 24, 40, 0.4); - backdrop-filter: blur(6px); - border-top: 1px solid rgba(255, 255, 255, 0.08); - border-bottom-left-radius: 8px; - border-bottom-right-radius: 8px; - color: #98A2B3; - font-size: 13px; - font-weight: 300; - padding: 0 35px; -} -.acf-admin-page #tmpl-acf-field-group-pro-features .acf-field-group-pro-features-footer-wrap .acf-field-group-pro-features-footer, -.acf-admin-page #acf-field-group-pro-features .acf-field-group-pro-features-footer-wrap .acf-field-group-pro-features-footer { - display: flex; - align-items: center; - justify-content: space-between; - max-width: 950px; - height: 48px; - margin: 0 auto; -} -.acf-admin-page #tmpl-acf-field-group-pro-features .acf-field-group-pro-features-footer-wrap .acf-field-group-pro-features-wpengine-logo, -.acf-admin-page #acf-field-group-pro-features .acf-field-group-pro-features-footer-wrap .acf-field-group-pro-features-wpengine-logo { - height: 16px; - vertical-align: middle; - margin-top: -2px; - margin-left: 3px; -} -.acf-admin-page #tmpl-acf-field-group-pro-features .acf-field-group-pro-features-footer-wrap a, -.acf-admin-page #acf-field-group-pro-features .acf-field-group-pro-features-footer-wrap a { - color: #98A2B3; - text-decoration: none; -} -.acf-admin-page #tmpl-acf-field-group-pro-features .acf-field-group-pro-features-footer-wrap a:hover, -.acf-admin-page #acf-field-group-pro-features .acf-field-group-pro-features-footer-wrap a:hover { - color: #D0D5DD; -} -.acf-admin-page #tmpl-acf-field-group-pro-features .acf-field-group-pro-features-footer-wrap a .acf-icon, -.acf-admin-page #acf-field-group-pro-features .acf-field-group-pro-features-footer-wrap a .acf-icon { - width: 18px; - height: 18px; - margin-left: 4px; -} -.acf-admin-page #tmpl-acf-field-group-pro-features .acf-field-group-pro-features-footer-wrap .acf-more-tools-from-wpengine a, -.acf-admin-page #acf-field-group-pro-features .acf-field-group-pro-features-footer-wrap .acf-more-tools-from-wpengine a { - display: inline-flex; - align-items: center; -} -@media screen and (max-width: 768px) { - .acf-admin-page #tmpl-acf-field-group-pro-features .acf-field-group-pro-features-footer-wrap, - .acf-admin-page #acf-field-group-pro-features .acf-field-group-pro-features-footer-wrap { - height: 70px; - font-size: 12px; - } - .acf-admin-page #tmpl-acf-field-group-pro-features .acf-field-group-pro-features-footer-wrap .acf-more-tools-from-wpengine, - .acf-admin-page #acf-field-group-pro-features .acf-field-group-pro-features-footer-wrap .acf-more-tools-from-wpengine { - display: none; - } - .acf-admin-page #tmpl-acf-field-group-pro-features .acf-field-group-pro-features-footer-wrap .acf-field-group-pro-features-footer, - .acf-admin-page #acf-field-group-pro-features .acf-field-group-pro-features-footer-wrap .acf-field-group-pro-features-footer { - justify-content: center; - height: 70px; - } - .acf-admin-page #tmpl-acf-field-group-pro-features .acf-field-group-pro-features-footer-wrap .acf-field-group-pro-features-footer .acf-field-group-pro-features-wpengine-logo, - .acf-admin-page #acf-field-group-pro-features .acf-field-group-pro-features-footer-wrap .acf-field-group-pro-features-footer .acf-field-group-pro-features-wpengine-logo { - clear: both; - margin: 6px auto 0 auto; - display: block; - } -} - -.acf-no-field-groups #tmpl-acf-field-group-pro-features, -.acf-no-post-types #tmpl-acf-field-group-pro-features, -.acf-no-taxonomies #tmpl-acf-field-group-pro-features { - margin-top: 0; -} - -/*-------------------------------------------------------------------------------------------- -* -* Post type & taxonomies styles -* -*--------------------------------------------------------------------------------------------*/ -.acf-admin-single-post-type label[for=acf-basic-settings-hide], -.acf-admin-single-taxonomy label[for=acf-basic-settings-hide], -.acf-admin-single-options-page label[for=acf-basic-settings-hide] { - display: none; -} -.acf-admin-single-post-type fieldset.columns-prefs, -.acf-admin-single-taxonomy fieldset.columns-prefs, -.acf-admin-single-options-page fieldset.columns-prefs { - display: none; -} -.acf-admin-single-post-type #acf-basic-settings .postbox-header, -.acf-admin-single-taxonomy #acf-basic-settings .postbox-header, -.acf-admin-single-options-page #acf-basic-settings .postbox-header { - display: none; -} -.acf-admin-single-post-type .postbox-container, -.acf-admin-single-post-type .notice, -.acf-admin-single-taxonomy .postbox-container, -.acf-admin-single-taxonomy .notice, -.acf-admin-single-options-page .postbox-container, -.acf-admin-single-options-page .notice { - max-width: 1440px; - clear: left; -} -.acf-admin-single-post-type #post-body-content, -.acf-admin-single-taxonomy #post-body-content, -.acf-admin-single-options-page #post-body-content { - margin: 0; -} -.acf-admin-single-post-type .postbox .inside, -.acf-admin-single-post-type .acf-box .inside, -.acf-admin-single-taxonomy .postbox .inside, -.acf-admin-single-taxonomy .acf-box .inside, -.acf-admin-single-options-page .postbox .inside, -.acf-admin-single-options-page .acf-box .inside { - padding-top: 48px; - padding-right: 48px; - padding-bottom: 48px; - padding-left: 48px; -} -.acf-admin-single-post-type #acf-advanced-settings.postbox .inside, -.acf-admin-single-taxonomy #acf-advanced-settings.postbox .inside, -.acf-admin-single-options-page #acf-advanced-settings.postbox .inside { - padding-bottom: 24px; -} -.acf-admin-single-post-type .postbox-container .meta-box-sortables #acf-basic-settings .inside, -.acf-admin-single-taxonomy .postbox-container .meta-box-sortables #acf-basic-settings .inside, -.acf-admin-single-options-page .postbox-container .meta-box-sortables #acf-basic-settings .inside { - border: none; -} -.acf-admin-single-post-type .acf-input-wrap, -.acf-admin-single-taxonomy .acf-input-wrap, -.acf-admin-single-options-page .acf-input-wrap { - overflow: visible; -} -.acf-admin-single-post-type .acf-field, -.acf-admin-single-taxonomy .acf-field, -.acf-admin-single-options-page .acf-field { - margin-top: 0; - margin-right: 0; - margin-bottom: 24px; - margin-left: 0; -} -.acf-admin-single-post-type .acf-field .acf-label, -.acf-admin-single-taxonomy .acf-field .acf-label, -.acf-admin-single-options-page .acf-field .acf-label { - margin-bottom: 6px; -} -.acf-admin-single-post-type .acf-field-text, -.acf-admin-single-post-type .acf-field-textarea, -.acf-admin-single-post-type .acf-field-select, -.acf-admin-single-taxonomy .acf-field-text, -.acf-admin-single-taxonomy .acf-field-textarea, -.acf-admin-single-taxonomy .acf-field-select, -.acf-admin-single-options-page .acf-field-text, -.acf-admin-single-options-page .acf-field-textarea, -.acf-admin-single-options-page .acf-field-select { - max-width: 600px; -} -.acf-admin-single-post-type .acf-field-true-false, -.acf-admin-single-taxonomy .acf-field-true-false, -.acf-admin-single-options-page .acf-field-true-false { - max-width: 700px; -} -.acf-admin-single-post-type .acf-field-supports, -.acf-admin-single-taxonomy .acf-field-supports, -.acf-admin-single-options-page .acf-field-supports { - max-width: 600px; -} -.acf-admin-single-post-type .acf-field-supports .acf-label, -.acf-admin-single-taxonomy .acf-field-supports .acf-label, -.acf-admin-single-options-page .acf-field-supports .acf-label { - display: block; -} -.acf-admin-single-post-type .acf-field-supports .acf-label .description, -.acf-admin-single-taxonomy .acf-field-supports .acf-label .description, -.acf-admin-single-options-page .acf-field-supports .acf-label .description { - margin-top: 4px; - margin-bottom: 12px; -} -.acf-admin-single-post-type .acf-field-supports .acf_post_type_supports, -.acf-admin-single-taxonomy .acf-field-supports .acf_post_type_supports, -.acf-admin-single-options-page .acf-field-supports .acf_post_type_supports { - display: flex; - flex-wrap: wrap; - justify-content: flex-start; - align-content: flex-start; - align-items: flex-start; -} -.acf-admin-single-post-type .acf-field-supports .acf_post_type_supports:focus-within, -.acf-admin-single-taxonomy .acf-field-supports .acf_post_type_supports:focus-within, -.acf-admin-single-options-page .acf-field-supports .acf_post_type_supports:focus-within { - border-color: transparent; -} -.acf-admin-single-post-type .acf-field-supports .acf_post_type_supports li, -.acf-admin-single-taxonomy .acf-field-supports .acf_post_type_supports li, -.acf-admin-single-options-page .acf-field-supports .acf_post_type_supports li { - flex: 0 0 25%; -} -.acf-admin-single-post-type .acf-field-supports .acf_post_type_supports li a.button, -.acf-admin-single-taxonomy .acf-field-supports .acf_post_type_supports li a.button, -.acf-admin-single-options-page .acf-field-supports .acf_post_type_supports li a.button { - background-color: transparent; - padding: 0; - border: 0; - height: auto; - min-height: auto; - margin-top: 0; - border-radius: 0; - line-height: 22px; -} -.acf-admin-single-post-type .acf-field-supports .acf_post_type_supports li a.button:before, -.acf-admin-single-taxonomy .acf-field-supports .acf_post_type_supports li a.button:before, -.acf-admin-single-options-page .acf-field-supports .acf_post_type_supports li a.button:before { - content: ""; - margin-right: 6px; - display: inline-flex; - width: 16px; - height: 16px; - background-color: currentColor; - border: none; - border-radius: 0; - -webkit-mask-size: contain; - mask-size: contain; - -webkit-mask-repeat: no-repeat; - mask-repeat: no-repeat; - -webkit-mask-position: center; - mask-position: center; - text-indent: 500%; - white-space: nowrap; - overflow: hidden; - -webkit-mask-image: url("../../images/icons/icon-add.svg"); - mask-image: url("../../images/icons/icon-add.svg"); -} -.acf-admin-single-post-type .acf-field-supports .acf_post_type_supports li a.button:hover, -.acf-admin-single-taxonomy .acf-field-supports .acf_post_type_supports li a.button:hover, -.acf-admin-single-options-page .acf-field-supports .acf_post_type_supports li a.button:hover { - color: #044E71; -} -.acf-admin-single-post-type .acf-field-supports .acf_post_type_supports li input[type=text], -.acf-admin-single-taxonomy .acf-field-supports .acf_post_type_supports li input[type=text], -.acf-admin-single-options-page .acf-field-supports .acf_post_type_supports li input[type=text] { - width: calc(100% - 36px); - padding: 0; - box-shadow: none; - border: none; - border-bottom: 1px solid #D0D5DD; - border-radius: 0; - height: auto; - margin: 0; - min-height: auto; -} -.acf-admin-single-post-type .acf-field-supports .acf_post_type_supports li input[type=text]:focus, -.acf-admin-single-taxonomy .acf-field-supports .acf_post_type_supports li input[type=text]:focus, -.acf-admin-single-options-page .acf-field-supports .acf_post_type_supports li input[type=text]:focus { - outline: none; - border-bottom-color: #399CCB; -} -.acf-admin-single-post-type .acf-field-seperator, -.acf-admin-single-taxonomy .acf-field-seperator, -.acf-admin-single-options-page .acf-field-seperator { - margin-top: 40px; - margin-bottom: 40px; - border-top: 1px solid #EAECF0; - border-right: none; - border-bottom: none; - border-left: none; -} -.acf-admin-single-post-type .acf-field-advanced-configuration, -.acf-admin-single-taxonomy .acf-field-advanced-configuration, -.acf-admin-single-options-page .acf-field-advanced-configuration { - margin-bottom: 0; -} -.acf-admin-single-post-type .postbox-container .acf-tab-wrap, -.acf-admin-single-post-type .acf-regenerate-labels-bar, -.acf-admin-single-taxonomy .postbox-container .acf-tab-wrap, -.acf-admin-single-taxonomy .acf-regenerate-labels-bar, -.acf-admin-single-options-page .postbox-container .acf-tab-wrap, -.acf-admin-single-options-page .acf-regenerate-labels-bar { - position: relative; - top: -48px; - left: -48px; - width: calc(100% + 96px); -} -.acf-admin-single-post-type .acf-regenerate-labels-bar, -.acf-admin-single-taxonomy .acf-regenerate-labels-bar, -.acf-admin-single-options-page .acf-regenerate-labels-bar { - display: flex; - align-items: center; - justify-content: right; - min-height: 48px; - margin-bottom: 0; - padding-right: 16px; - padding-left: 16px; - gap: 8px; - border-bottom-width: 1px; - border-bottom-style: solid; - border-bottom-color: #F2F4F7; -} -.acf-admin-single-post-type .acf-labels-tip, -.acf-admin-single-taxonomy .acf-labels-tip, -.acf-admin-single-options-page .acf-labels-tip { - display: inline-flex; - align-items: center; - min-height: 24px; - margin-right: 8px; - padding-left: 16px; - border-left-width: 1px; - border-left-style: solid; - border-left-color: #EAECF0; -} -.acf-admin-single-post-type .acf-labels-tip .acf-icon, -.acf-admin-single-taxonomy .acf-labels-tip .acf-icon, -.acf-admin-single-options-page .acf-labels-tip .acf-icon { - display: inline-flex; - align-items: center; - width: 16px; - height: 16px; - -webkit-mask-size: 16px; - mask-size: 16px; - background-color: #98A2B3; -} - -.acf-select2-default-pill { - border-radius: 100px; - min-height: 20px; - padding-top: 2px; - padding-bottom: 2px; - padding-left: 8px; - padding-right: 8px; - font-size: 11px; - margin-left: 6px; - background-color: #EAECF0; - color: #667085; -} - -.acf-menu-position-desc-child { - display: none; -} - -/*--------------------------------------------------------------------------------------------- -* -* Field picker modal -* -*---------------------------------------------------------------------------------------------*/ -.acf-modal.acf-browse-fields-modal { - width: 1120px; - height: 664px; - top: 50%; - right: auto; - bottom: auto; - left: 50%; - transform: translate(-50%, -50%); - display: flex; - flex-direction: row; - border-radius: 12px; - box-shadow: 0 0 4px rgba(0, 0, 0, 0.04), 0 8px 16px rgba(0, 0, 0, 0.08); - overflow: hidden; -} -.acf-modal.acf-browse-fields-modal .acf-field-picker { - display: flex; - flex-direction: column; - flex-grow: 1; - width: 760px; - background: #fff; -} -.acf-modal.acf-browse-fields-modal .acf-field-picker .acf-modal-title, -.acf-modal.acf-browse-fields-modal .acf-field-picker .acf-modal-content, -.acf-modal.acf-browse-fields-modal .acf-field-picker .acf-modal-toolbar { - position: relative; -} -.acf-modal.acf-browse-fields-modal .acf-field-picker .acf-modal-title { - display: flex; - flex-direction: row; - justify-content: space-between; - align-items: center; - background: #F9FAFB; - border: none; - padding: 35px 32px; -} -.acf-modal.acf-browse-fields-modal .acf-field-picker .acf-modal-title .acf-search-field-types-wrap { - position: relative; -} -.acf-modal.acf-browse-fields-modal .acf-field-picker .acf-modal-title .acf-search-field-types-wrap::after { - content: ""; - display: block; - position: absolute; - top: 11px; - left: 10px; - width: 18px; - height: 18px; - -webkit-mask-image: url("../../images/icons/icon-search.svg"); - mask-image: url("../../images/icons/icon-search.svg"); - background-color: #98A2B3; - border: none; - border-radius: 0; - -webkit-mask-size: contain; - mask-size: contain; - -webkit-mask-repeat: no-repeat; - mask-repeat: no-repeat; - -webkit-mask-position: center; - mask-position: center; - text-indent: 500%; - white-space: nowrap; - overflow: hidden; -} -.acf-modal.acf-browse-fields-modal .acf-field-picker .acf-modal-title .acf-search-field-types-wrap input { - width: 280px; - height: 40px; - margin: 0; - padding-left: 32px; - box-shadow: none; -} -.acf-modal.acf-browse-fields-modal .acf-field-picker .acf-modal-content { - top: auto; - bottom: auto; - padding: 0; - height: 100%; -} -.acf-modal.acf-browse-fields-modal .acf-field-picker .acf-modal-content .acf-tab-group { - padding-left: 32px; -} -.acf-modal.acf-browse-fields-modal .acf-field-picker .acf-modal-content .acf-field-types-tab { - display: flex; -} -.acf-modal.acf-browse-fields-modal .acf-field-picker .acf-modal-content .acf-field-types-tab, -.acf-modal.acf-browse-fields-modal .acf-field-picker .acf-modal-content .acf-field-type-search-results { - flex-direction: row; - flex-wrap: wrap; - gap: 24px; - padding: 32px; -} -.acf-modal.acf-browse-fields-modal .acf-field-picker .acf-modal-content .acf-field-types-tab .acf-field-type, -.acf-modal.acf-browse-fields-modal .acf-field-picker .acf-modal-content .acf-field-type-search-results .acf-field-type { - position: relative; - display: flex; - flex-direction: column; - justify-content: center; - align-items: center; - isolation: isolate; - width: 120px; - height: 120px; - background: #F9FAFB; - border: 1px solid #EAECF0; - border-radius: 8px; - box-sizing: border-box; - color: #1D2939; - text-decoration: none; -} -.acf-modal.acf-browse-fields-modal .acf-field-picker .acf-modal-content .acf-field-types-tab .acf-field-type:hover, .acf-modal.acf-browse-fields-modal .acf-field-picker .acf-modal-content .acf-field-types-tab .acf-field-type:active, .acf-modal.acf-browse-fields-modal .acf-field-picker .acf-modal-content .acf-field-types-tab .acf-field-type.selected, -.acf-modal.acf-browse-fields-modal .acf-field-picker .acf-modal-content .acf-field-type-search-results .acf-field-type:hover, -.acf-modal.acf-browse-fields-modal .acf-field-picker .acf-modal-content .acf-field-type-search-results .acf-field-type:active, -.acf-modal.acf-browse-fields-modal .acf-field-picker .acf-modal-content .acf-field-type-search-results .acf-field-type.selected { - background: #EBF5FA; - border: 1px solid #399CCB; - box-shadow: inset 0 0 0 1px #399CCB; -} -.acf-modal.acf-browse-fields-modal .acf-field-picker .acf-modal-content .acf-field-types-tab .acf-field-type .field-type-icon, -.acf-modal.acf-browse-fields-modal .acf-field-picker .acf-modal-content .acf-field-type-search-results .acf-field-type .field-type-icon { - border: none; - background: none; - top: 0; -} -.acf-modal.acf-browse-fields-modal .acf-field-picker .acf-modal-content .acf-field-types-tab .acf-field-type .field-type-icon::before, -.acf-modal.acf-browse-fields-modal .acf-field-picker .acf-modal-content .acf-field-type-search-results .acf-field-type .field-type-icon::before { - width: 22px; - height: 22px; -} -.acf-modal.acf-browse-fields-modal .acf-field-picker .acf-modal-content .acf-field-types-tab .acf-field-type .field-type-label, -.acf-modal.acf-browse-fields-modal .acf-field-picker .acf-modal-content .acf-field-type-search-results .acf-field-type .field-type-label { - margin-top: 12px; -} -.acf-modal.acf-browse-fields-modal .acf-field-picker .acf-modal-content .acf-field-types-tab .field-type-requires-pro, -.acf-modal.acf-browse-fields-modal .acf-field-picker .acf-modal-content .acf-field-type-search-results .field-type-requires-pro { - display: flex; - justify-content: center; - align-items: center; - position: absolute; - top: -10px; - right: -10px; - color: white; - font-size: 11px; - padding-right: 6px; - padding-left: 6px; - background-image: url("../../images/pro-chip.svg"); - background-repeat: no-repeat; - height: 24px; - width: 28px; -} -.acf-modal.acf-browse-fields-modal .acf-field-picker .acf-modal-content .acf-field-types-tab .field-type-requires-pro.not-pro, -.acf-modal.acf-browse-fields-modal .acf-field-picker .acf-modal-content .acf-field-type-search-results .field-type-requires-pro.not-pro { - background-image: url("../../images/pro-chip-locked.svg"); - width: 43px; -} -.acf-modal.acf-browse-fields-modal .acf-field-picker .acf-modal-toolbar { - display: flex; - align-items: flex-start; - justify-content: space-between; - height: auto; - min-height: 72px; - padding-top: 0; - padding-right: 32px; - padding-bottom: 0; - padding-left: 32px; - margin: 0; - border: none; -} -.acf-modal.acf-browse-fields-modal .acf-field-picker .acf-modal-toolbar .acf-select-field, -.acf-modal.acf-browse-fields-modal .acf-field-picker .acf-modal-toolbar .acf-btn-pro { - min-width: 160px; - justify-content: center; -} -.acf-modal.acf-browse-fields-modal .acf-field-picker .acf-modal-toolbar .acf-insert-field-label { - min-width: 280px; - box-shadow: none; -} -.acf-modal.acf-browse-fields-modal .acf-field-picker .acf-modal-toolbar .acf-field-picker-actions { - display: flex; - gap: 8px; -} -.acf-modal.acf-browse-fields-modal .acf-field-type-preview { - display: flex; - flex-direction: column; - width: 360px; - background-color: #F9FAFB; - background-image: url("../../images/field-preview-grid.png"); - background-size: 740px; - background-repeat: no-repeat; - background-position: center bottom; - border-left: 1px solid #EAECF0; - box-sizing: border-box; - padding: 32px; -} -.acf-modal.acf-browse-fields-modal .acf-field-type-preview .field-type-desc { - margin: 0; - padding: 0; - color: #667085; -} -.acf-modal.acf-browse-fields-modal .acf-field-type-preview .field-type-preview-container { - display: inline-flex; - justify-content: center; - width: 100%; - margin-top: 24px; - padding-top: 32px; - padding-bottom: 32px; - background-color: rgba(255, 255, 255, 0.64); - border-radius: 8px; - box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.04), 0 8px 24px rgba(0, 0, 0, 0.04); -} -.acf-modal.acf-browse-fields-modal .acf-field-type-preview .field-type-image { - max-width: 232px; -} -.acf-modal.acf-browse-fields-modal .acf-field-type-preview .field-type-info { - flex-grow: 1; -} -.acf-modal.acf-browse-fields-modal .acf-field-type-preview .field-type-info .field-type-name { - font-size: 21px; - margin-top: 0; - margin-right: 0; - margin-bottom: 16px; - margin-left: 0; -} -.acf-modal.acf-browse-fields-modal .acf-field-type-preview .field-type-info .field-type-upgrade-to-unlock { - display: inline-flex; - justify-items: center; - align-items: center; - min-height: 24px; - margin-bottom: 12px; - padding-right: 10px; - padding-left: 10px; - background: radial-gradient(141.77% 141.08% at 100.26% 99.25%, #0ECAD4 0%, #7A45E5 100%); - border-radius: 100px; - color: white; - text-decoration: none; - font-size: 10px; - text-transform: uppercase; -} -.acf-modal.acf-browse-fields-modal .acf-field-type-preview .field-type-info .field-type-upgrade-to-unlock i.acf-icon { - width: 14px; - height: 14px; - margin-right: 4px; -} -.acf-modal.acf-browse-fields-modal .acf-field-type-preview .field-type-links { - display: flex; - align-items: center; - gap: 24px; - min-height: 40px; -} -.acf-modal.acf-browse-fields-modal .acf-field-type-preview .field-type-links .acf-icon { - width: 18px; - height: 18px; -} -.acf-modal.acf-browse-fields-modal .acf-field-type-preview .field-type-links::before { - display: none; -} -.acf-modal.acf-browse-fields-modal .acf-field-type-preview .field-type-links a { - display: flex; - gap: 6px; - text-decoration: none; -} -.acf-modal.acf-browse-fields-modal .acf-field-type-preview .field-type-links a:hover { - text-decoration: underline; -} -.acf-modal.acf-browse-fields-modal .acf-field-type-search-results, -.acf-modal.acf-browse-fields-modal .acf-field-type-search-no-results { - display: none; -} -.acf-modal.acf-browse-fields-modal.is-searching .acf-tab-wrap, -.acf-modal.acf-browse-fields-modal.is-searching .acf-field-types-tab, -.acf-modal.acf-browse-fields-modal.is-searching .acf-field-type-search-no-results { - display: none !important; -} -.acf-modal.acf-browse-fields-modal.is-searching .acf-field-type-search-results { - display: flex; -} -.acf-modal.acf-browse-fields-modal.no-results-found .acf-tab-wrap, -.acf-modal.acf-browse-fields-modal.no-results-found .acf-field-types-tab, -.acf-modal.acf-browse-fields-modal.no-results-found .acf-field-type-search-results, -.acf-modal.acf-browse-fields-modal.no-results-found .field-type-info, -.acf-modal.acf-browse-fields-modal.no-results-found .field-type-links, -.acf-modal.acf-browse-fields-modal.no-results-found .acf-field-picker-toolbar { - display: none !important; -} -.acf-modal.acf-browse-fields-modal.no-results-found .acf-modal-title { - border-bottom-width: 1px; - border-bottom-style: solid; - border-bottom-color: #EAECF0; -} -.acf-modal.acf-browse-fields-modal.no-results-found .acf-field-type-search-no-results { - display: flex; - flex-direction: column; - justify-content: center; - align-items: center; - height: 100%; - gap: 6px; -} -.acf-modal.acf-browse-fields-modal.no-results-found .acf-field-type-search-no-results img { - margin-bottom: 19px; -} -.acf-modal.acf-browse-fields-modal.no-results-found .acf-field-type-search-no-results p { - margin: 0; -} -.acf-modal.acf-browse-fields-modal.no-results-found .acf-field-type-search-no-results p.acf-no-results-text { - display: flex; -} -.acf-modal.acf-browse-fields-modal.no-results-found .acf-field-type-search-no-results .acf-invalid-search-term { - max-width: 200px; - overflow: hidden; - text-overflow: ellipsis; - display: inline-block; -} - -/*--------------------------------------------------------------------------------------------- -* -* Hide browse fields button for smaller screen sizes -* -*---------------------------------------------------------------------------------------------*/ -@media only screen and (max-width: 1080px) { - .acf-btn.browse-fields { - display: none; - } -} -.acf-block-body .acf-field-icon-picker .acf-tab-group { - margin: 0; - padding-left: 0 !important; -} - -.acf-field-icon-picker { - max-width: 600px; -} -.acf-field-icon-picker .acf-tab-group { - padding: 0; - border-bottom: 0; - overflow: hidden; -} -.acf-field-icon-picker .active a { - background: #667085; - color: #fff; -} -.acf-field-icon-picker .acf-dashicons-search-wrap { - position: relative; -} -.acf-field-icon-picker .acf-dashicons-search-wrap::after { - content: ""; - display: block; - position: absolute; - top: 6px; - left: 10px; - width: 18px; - height: 18px; - -webkit-mask-image: url(../../images/icons/icon-search.svg); - mask-image: url(../../images/icons/icon-search.svg); - background-color: #98A2B3; - border: none; - border-radius: 0; - -webkit-mask-size: contain; - mask-size: contain; - -webkit-mask-repeat: no-repeat; - mask-repeat: no-repeat; - -webkit-mask-position: center; - mask-position: center; - text-indent: 500%; - white-space: nowrap; - overflow: hidden; -} -.acf-field-icon-picker .acf-dashicons-search-wrap .acf-dashicons-search-input { - padding-left: 32px; - border-radius: 0; -} -.acf-field-icon-picker .acf-dashicons-list { - margin-bottom: 0; - display: flex; - flex-wrap: wrap; - justify-content: space-between; - align-content: start; - height: 135px; - overflow: hidden; - overflow-y: auto; - background-color: #f9f9f9; - border: 1px solid #8c8f94; - border-top: none; - border-radius: 0 0 6px 6px; - gap: 8px; - padding: 8px; -} -.acf-field-icon-picker .acf-dashicons-list .acf-icon-picker-dashicon { - background-color: transparent; - display: flex; - justify-content: center; - align-items: center; - width: 32px; - height: 32px; - border: solid 2px transparent; - color: #3c434a; -} -.acf-field-icon-picker .acf-dashicons-list .acf-icon-picker-dashicon label { - display: none; -} -.acf-field-icon-picker .acf-dashicons-list .acf-icon-picker-dashicon [type=radio], -.acf-field-icon-picker .acf-dashicons-list .acf-icon-picker-dashicon [type=radio]:active, -.acf-field-icon-picker .acf-dashicons-list .acf-icon-picker-dashicon [type=radio]:checked::before, -.acf-field-icon-picker .acf-dashicons-list .acf-icon-picker-dashicon [type=radio]:focus { - all: initial; - appearance: none; -} -.acf-field-icon-picker .acf-dashicons-list .acf-icon-picker-dashicon:hover { - border: solid 2px #0783BE; - border-radius: 6px; - cursor: pointer; -} -.acf-field-icon-picker .acf-dashicons-list .active { - border: solid 2px #0783BE; - background-color: #EBF5FA; - border-radius: 6px; -} -.acf-field-icon-picker .acf-dashicons-list .active.focus { - border: solid 2px #0783BE; - background-color: #EBF5FA; - border-radius: 6px; - box-shadow: 0 0 2px #0783be; -} -.acf-field-icon-picker .acf-dashicons-list::after { - content: ""; - flex: auto; -} -.acf-field-icon-picker .acf-dashicons-list-empty { - position: relative; - display: none; - flex-direction: column; - justify-content: center; - align-items: center; - padding-top: 10px; - padding-left: 10px; - height: 135px; - overflow: scroll; - background-color: #F9FAFB; - border: 1px solid #D0D5DD; - border-top: none; - border-radius: 0 0 6px 6px; -} -.acf-field-icon-picker .acf-dashicons-list-empty img { - height: 30px; - width: 30px; - color: #D0D5DD; -} -.acf-field-icon-picker .acf-icon-picker-media-library, -.acf-field-icon-picker .acf-icon-picker-url-tabs { - box-sizing: border-box; - display: flex; - align-items: center; - justify-items: center; - gap: 12px; - background-color: #f9f9f9; - padding: 12px; - border: 1px solid #8c8f94; - border-radius: 0; -} -.acf-field-icon-picker .acf-icon-picker-media-library .acf-icon-picker-media-library-preview, -.acf-field-icon-picker .acf-icon-picker-url-tabs .acf-icon-picker-media-library-preview { - all: unset; - cursor: pointer; -} -.acf-field-icon-picker .acf-icon-picker-media-library .acf-icon-picker-media-library-preview:focus, -.acf-field-icon-picker .acf-icon-picker-url-tabs .acf-icon-picker-media-library-preview:focus { - outline: 1px solid #0783BE; - border-radius: 6px; -} -.acf-field-icon-picker .acf-icon-picker-media-library .acf-icon-picker-media-library-preview-dashicon, -.acf-field-icon-picker .acf-icon-picker-media-library .acf-icon-picker-media-library-preview-img, -.acf-field-icon-picker .acf-icon-picker-url-tabs .acf-icon-picker-media-library-preview-dashicon, -.acf-field-icon-picker .acf-icon-picker-url-tabs .acf-icon-picker-media-library-preview-img { - box-sizing: border-box; - width: 40px; - height: 40px; - border: solid 2px transparent; - color: #fff; - background-color: #191e23; - display: flex; - justify-content: center; - align-items: center; - border-radius: 6px; -} -.acf-field-icon-picker .acf-icon-picker-media-library .acf-icon-picker-media-library-preview-img > img, -.acf-field-icon-picker .acf-icon-picker-url-tabs .acf-icon-picker-media-library-preview-img > img { - width: 90%; - height: 90%; - object-fit: cover; - border-radius: 5px; - border: 1px solid #667085; -} -.acf-field-icon-picker .acf-icon-picker-media-library .acf-icon-picker-media-library-button, -.acf-field-icon-picker .acf-icon-picker-url-tabs .acf-icon-picker-media-library-button { - height: 40px; - background-color: #0783BE; - border: none; - border-radius: 6px; - padding: 8px 12px; - color: #fff; - display: flex; - align-items: center; - justify-items: center; - gap: 4px; - cursor: pointer; -} -.acf-field-icon-picker .acf-icon-picker-media-library .acf-icon-picker-url, -.acf-field-icon-picker .acf-icon-picker-url-tabs .acf-icon-picker-url { - width: 100%; -} - -.-left .acf-field-icon-picker { - max-width: inherit; -} - -.acf-admin-page.acf-internal-post-type .acf-field-icon-picker { - max-width: 600px; -} -.acf-admin-page.acf-internal-post-type .acf-field-icon-picker .active a { - background: #667085; - color: #fff; -} -.acf-admin-page.acf-internal-post-type .acf-field-icon-picker .acf-tab-button { - border: none; - height: 25px; - padding: 5px 10px; - border-radius: 15px; -} -.acf-admin-page.acf-internal-post-type .acf-field-icon-picker li a .acf-tab-button { - color: #667085; -} -.acf-admin-page.acf-internal-post-type .acf-field-icon-picker .acf-icon-picker > *:not(.acf-tab-wrap) { - top: -32px; - position: relative; -} -.acf-admin-page.acf-internal-post-type .acf-field-icon-picker .acf-tab-wrap .acf-tab-group { - margin-right: 48px; - display: flex; - gap: 10px; - justify-content: flex-end; - align-items: center; - background: none; - border: none; - max-width: 648px; - border-bottom-width: 0; -} -.acf-admin-page.acf-internal-post-type .acf-field-icon-picker .acf-tab-wrap .acf-tab-group li { - all: initial; - box-sizing: border-box; - margin-bottom: -17px; - margin-right: 0; - border-radius: 10px; -} -.acf-admin-page.acf-internal-post-type .acf-field-icon-picker .acf-tab-wrap .acf-tab-group li a { - all: initial; - outline: 1px solid transparent; - color: #667085; - box-sizing: border-box; - border-radius: 100px; - cursor: pointer; - padding: 7px; - font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif; - font-size: 12.5px; -} -.acf-admin-page.acf-internal-post-type .acf-field-icon-picker .acf-tab-wrap .acf-tab-group li.active a { - background-color: #667085; - color: #fff; - border-bottom-width: 1px !important; -} -.acf-admin-page.acf-internal-post-type .acf-field-icon-picker .acf-tab-wrap .acf-tab-group li a:focus { - outline: 1px solid #0783BE; -} -.acf-admin-page.acf-internal-post-type .acf-field-icon-picker .acf-tab-wrap { - background: none; - border: none; - overflow: visible; -} -.acf-admin-page.acf-internal-post-type .acf-field-icon-picker .acf-dashicons-search-wrap { - position: relative; -} -.acf-admin-page.acf-internal-post-type .acf-field-icon-picker .acf-dashicons-search-wrap::after { - content: ""; - display: block; - position: absolute; - top: 11px; - left: 10px; - width: 18px; - height: 18px; - -webkit-mask-image: url(../../images/icons/icon-search.svg); - mask-image: url(../../images/icons/icon-search.svg); - background-color: #98A2B3; - border: none; - border-radius: 0; - -webkit-mask-size: contain; - mask-size: contain; - -webkit-mask-repeat: no-repeat; - mask-repeat: no-repeat; - -webkit-mask-position: center; - mask-position: center; - text-indent: 500%; - white-space: nowrap; - overflow: hidden; -} -.acf-admin-page.acf-internal-post-type .acf-field-icon-picker .acf-dashicons-search-wrap .acf-dashicons-search-input { - padding-left: 32px; - border-radius: 6px 6px 0 0; -} -.acf-admin-page.acf-internal-post-type .acf-field-icon-picker .acf-dashicons-list { - margin-bottom: -32px; - display: flex; - flex-wrap: wrap; - justify-content: space-between; - align-content: start; - height: 135px; - overflow: hidden; - overflow-y: auto; - background-color: #F9FAFB; - border: 1px solid #D0D5DD; - border-top: none; - border-radius: 0 0 6px 6px; - gap: 8px; - padding: 8px; -} -.acf-admin-page.acf-internal-post-type .acf-field-icon-picker .acf-dashicons-list .acf-icon-picker-dashicon { - background-color: transparent; - display: flex; - justify-content: center; - align-items: center; - width: 32px; - height: 32px; - border: solid 2px transparent; - color: #3c434a; -} -.acf-admin-page.acf-internal-post-type .acf-field-icon-picker .acf-dashicons-list .acf-icon-picker-dashicon label { - display: none; -} -.acf-admin-page.acf-internal-post-type .acf-field-icon-picker .acf-dashicons-list .acf-icon-picker-dashicon [type=radio], -.acf-admin-page.acf-internal-post-type .acf-field-icon-picker .acf-dashicons-list .acf-icon-picker-dashicon [type=radio]:active, -.acf-admin-page.acf-internal-post-type .acf-field-icon-picker .acf-dashicons-list .acf-icon-picker-dashicon [type=radio]:checked::before, -.acf-admin-page.acf-internal-post-type .acf-field-icon-picker .acf-dashicons-list .acf-icon-picker-dashicon [type=radio]:focus { - all: initial; - appearance: none; -} -.acf-admin-page.acf-internal-post-type .acf-field-icon-picker .acf-dashicons-list .acf-icon-picker-dashicon:hover { - border: solid 2px #0783BE; - border-radius: 6px; - cursor: pointer; -} -.acf-admin-page.acf-internal-post-type .acf-field-icon-picker .acf-dashicons-list .active { - border: solid 2px #0783BE; - background-color: #EBF5FA; - border-radius: 6px; -} -.acf-admin-page.acf-internal-post-type .acf-field-icon-picker .acf-dashicons-list .active.focus { - border: solid 2px #0783BE; - background-color: #EBF5FA; - border-radius: 6px; - box-shadow: 0 0 2px #0783be; -} -.acf-admin-page.acf-internal-post-type .acf-field-icon-picker .acf-dashicons-list::after { - content: ""; - flex: auto; -} -.acf-admin-page.acf-internal-post-type .acf-field-icon-picker .acf-dashicons-list-empty { - position: relative; - display: none; - flex-direction: column; - justify-content: center; - align-items: center; - padding-top: 10px; - padding-left: 10px; - height: 135px; - overflow: scroll; - background-color: #F9FAFB; - border: 1px solid #D0D5DD; - border-top: none; - border-radius: 0 0 6px 6px; -} -.acf-admin-page.acf-internal-post-type .acf-field-icon-picker .acf-dashicons-list-empty img { - height: 30px; - width: 30px; - color: #D0D5DD; -} -.acf-admin-page.acf-internal-post-type .acf-field-icon-picker .acf-icon-picker-media-library, -.acf-admin-page.acf-internal-post-type .acf-field-icon-picker .acf-icon-picker-url-tabs { - box-sizing: border-box; - display: flex; - align-items: center; - justify-items: center; - gap: 12px; - background-color: #F9FAFB; - padding: 12px; - border: 1px solid #D0D5DD; - border-radius: 6px; -} -.acf-admin-page.acf-internal-post-type .acf-field-icon-picker .acf-icon-picker-media-library .acf-icon-picker-media-library-preview, -.acf-admin-page.acf-internal-post-type .acf-field-icon-picker .acf-icon-picker-url-tabs .acf-icon-picker-media-library-preview { - all: unset; - cursor: pointer; -} -.acf-admin-page.acf-internal-post-type .acf-field-icon-picker .acf-icon-picker-media-library .acf-icon-picker-media-library-preview:focus, -.acf-admin-page.acf-internal-post-type .acf-field-icon-picker .acf-icon-picker-url-tabs .acf-icon-picker-media-library-preview:focus { - outline: 1px solid #0783BE; - border-radius: 6px; -} -.acf-admin-page.acf-internal-post-type .acf-field-icon-picker .acf-icon-picker-media-library .acf-icon-picker-media-library-preview-dashicon, -.acf-admin-page.acf-internal-post-type .acf-field-icon-picker .acf-icon-picker-media-library .acf-icon-picker-media-library-preview-img, -.acf-admin-page.acf-internal-post-type .acf-field-icon-picker .acf-icon-picker-url-tabs .acf-icon-picker-media-library-preview-dashicon, -.acf-admin-page.acf-internal-post-type .acf-field-icon-picker .acf-icon-picker-url-tabs .acf-icon-picker-media-library-preview-img { - box-sizing: border-box; - width: 40px; - height: 40px; - border: solid 2px transparent; - color: #fff; - background-color: #191e23; - display: flex; - justify-content: center; - align-items: center; - border-radius: 6px; -} -.acf-admin-page.acf-internal-post-type .acf-field-icon-picker .acf-icon-picker-media-library .acf-icon-picker-media-library-preview-img > img, -.acf-admin-page.acf-internal-post-type .acf-field-icon-picker .acf-icon-picker-url-tabs .acf-icon-picker-media-library-preview-img > img { - width: 90%; - height: 90%; - object-fit: cover; - border-radius: 5px; - border: 1px solid #667085; -} -.acf-admin-page.acf-internal-post-type .acf-field-icon-picker .acf-icon-picker-media-library .acf-icon-picker-media-library-button, -.acf-admin-page.acf-internal-post-type .acf-field-icon-picker .acf-icon-picker-url-tabs .acf-icon-picker-media-library-button { - height: 40px; - background-color: #0783BE; - border: none; - border-radius: 6px; - padding: 8px 12px; - color: #fff; - display: flex; - align-items: center; - justify-items: center; - gap: 4px; - cursor: pointer; -} - -/*# sourceMappingURL=acf-global.css.map*/ \ No newline at end of file diff --git a/wp-content/plugins/advanced-custom-fields-pro/assets/build/css/acf-global.css.map b/wp-content/plugins/advanced-custom-fields-pro/assets/build/css/acf-global.css.map deleted file mode 100644 index 6aa8f2033..000000000 --- a/wp-content/plugins/advanced-custom-fields-pro/assets/build/css/acf-global.css.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"acf-global.css","mappings":";;;AAAA,gBAAgB;ACAhB;;;;8FAAA;AAMA;AAOA;AAQA;AAgBA;;;;8FAAA;ACrCA;;;;8FAAA;ACCA;;;;8FAAA;AAMA;AACA;EACC;EACA;EACA;EACA;EACA;AHkBD;;AGhBA;EACC;EACA;EACA;EACA;AHmBD;;AGjBA;EACC;AHoBD;;AGjBA;AACA;;;;;;EAMC;EACA;EACA;AHoBD;;AGlBA;;;EAGC;AHqBD;;AGlBA;AACA;EACC;EACA;EACA;EACA;EACA;AHqBD;;AGnBA;EACC;EACA;EACA;EACA;AHsBD;;AGnBA;AACA;EACC;AHsBD;;AGpBA;EACC;AHuBD;AGtBC;EACC;AHwBF;;AGpBA;AACA;EACC;AHuBD;;AGrBA;EACC;AHwBD;;AGtBA;EACC;AHyBD;;AGtBA;AACA;EACC;AHyBD;;AGvBA;EACC;AH0BD;;AGxBA;EACC;AH2BD;;AGxBA;AACA;;EAEC;EACA;EACA;EACA;EACA;AH2BD;;AGxBA;AACA;EACC;AH2BD;;AGxBA;EACC;AH2BD;;AGxBA;AACA;EACC;AH2BD;;AGxBA;AACA;EACC;AH2BD;;AGxBA;AACA;;EAEC;AH2BD;;AGxBA;AACA;EACC;EACA;EACA;EACA;EAEA;EACA;AH0BD;;AGvBA;EACC;EACA;EACA;EACA;EAEA;EACA;AHyBD;;AGtBA;AACA;EACC;AHyBD;;AGvBA;EACC;AH0BD;;AGvBA;EACC;AH0BD;;AGxBA;EACC;AH2BD;;AGxBA;AACA;EACC;EACA;EACA;EACA;AH2BD;;AGxBA;;;;+FAAA;AAMA;AACA;EACC,mBF7HU;EE8HV,kBF/FW;EEgGX,cFpIU;EEsIT;EACA;EACA;EACA;EAED;EAEA;EACA;EACA;EAGA;EASA;AHaD;AGrBC;EACC;EACA;EACA;EACA;EACA;AHuBF;AGnBC;EACC;AHqBF;AGnBE;EACC;EACA;EACA;EACA;EACA;AHqBH;AGjBC;EACC;AHmBF;AGjBE;EACC;EACA;EACA;EACA;EACA;AHmBH;AGfC;EACC;AHiBF;AGfE;EACC;EACA;EACA;EACA;EACA;AHiBH;AGbC;EACC;AHeF;AGbE;EACC;EACA;EACA;EACA;EACA;AHeH;AGXC;EACC;AHaF;;AGTA;AACA;EACC;AHYD;AGVC;EACC;EACA;AHYF;AGVE;EACC;AHYH;AGTE;EACC;AHWH;;AGNA;EACC;EACA;EACA;EACA;EACA;EACA;AHSD;;AGNA;EACC;EACA;AHSD;;AGNA;;;;+FAAA;AAKA;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AHSD;AGPC;ED3RA;EACA;EACA;EACA;AFqSD;;AGRA;;;;8FAAA;AAKA;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AHWD;AGTC;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AHWF;;AGNA;EACC;AHSD;;AGPA;EACC;AHUD;;AGRA;EACC;EACA;AHWD;;AGTA;EACC;AHYD;;AGVA;EACC;AHaD;;AGXA;EACC;EAGA;AHYD;;AGVA;EACC;EAGA;AHWD;;AGTA;EACC;EAGA;AHUD;;AGRA;EACC;EAGA;AHSD;;AGPA;EACC;AHUD;;AGRA;EACC;EAGA;EACA;AHSD;;AGPA;EACC;AHUD;;AGRA;EACC;EAGA;AHSD;;AGPA;EACC;EAGA;AHQD;;AGNA;EACC;AHSD;;AGPA;EACC;EAGA;AHQD;;AGNA;EACC;EAGA;AHOD;;AGLA;EACC;AHQD;;AGNA;EACC;AHSD;;AGLA;EACC;AHQD;AGPC;EAEC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AHQF;AGNC;EACC;EACA;AHQF;AGNC;EACC;AHQF;;AGJA;EACC;AHOD;AGNC;EAEC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AHOF;AGLC;EACC;EACA;AHOF;AGLC;EACC;AHOF;;AGFA;EACC;EAGA;AHGD;;AGDA;EACC;EAGA;AHED;;AGEA;EACC;EACA;EACA;AHCD;;AGGA;EACC;EACA;EACA;EACA;EACA;EACA;AHAD;AGGC;EACC;EACA;EACA;AHDF;AGGC;EAEC;EACA;EACA;AHFF;AGMC;EAEC;EACA;AHLF;;AGUA;EACC;EACA;EACA;AHPD;;AGWA;EACC;EACA;EACA;AHRD;;AGYA;EACC;EACA;EACA;AHTD;;AGYC;EACC;EACA;AHTF;AGWC;EAEC;AHVF;;AGeA;EACC;EACA;EACA;AHZD;AGcC;EACC;EACA;AHZF;AGcC;EAEC;AHbF;;AGkBA;;EAEC;EACA;EACA;EACA;AHfD;AGoBE;;;EAGC;AHlBH;;AGuBA;;;;8FAAA;AAKA;EACC;EACA;EACA;EACA;EAEA;EA8CA;AHlED;AGqBC;EACC;EACA;EACA;AHnBF;AGqBE;EACC;EACA;EACA;EACA;EACA;EACA;AHnBH;AGuBC;EACC;AHrBF;AGwBC;EACC;EACA;EACA;EACA;EACA;AHtBF;AGyBC;EACC;AHvBF;AG0BC;EACC;AHxBF;AG2BC;EACC;AHzBF;AG6BE;EACC;AH3BH;AGgCC;EACC;EACA;EACA;EACA;AH9BF;AGgCE;EACC;AH9BH;AE7kBC;ECinBC,qBF1nBiB;ADylBnB;AGkCE;;EAEC,qBF7nBgB;AD6lBnB;;AGqCA;;;;8FAAA;AAMA;EACC;EACA;EACA;EACA;EACA;EACA,mBFtqBY;EEuqBZ;AHnCD;AGqCC;EACC;EACA;EACA;EACA;EACA;AHnCF;AGsCC;EACC;EACA;EACA;EACA;EACA;EACA;EACA;AHpCF;AGqCE;EACC;AHnCH;AGwCC;EACC;AHtCF;AG0CC;EACC,mBFpsBU;EEqsBV;AHxCF;AG4CC;EACC,mBFzsBY;EE0sBZ;AH1CF;AG8CC;EACC,mBF9sBY;EE+sBZ;AH5CF;;AGgDA;;;;8FAAA;AAMA;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAEA;EAmBA;EAcA;EAoBA;AHjGD;AG+CE;;;;EAEC;EACA;EACA;EACA;EACA;EACA;AH3CH;AG8CE;;EACC;EACA;AH3CH;AGkDG;EACC,qBF5uBe;EE6uBf;AHhDJ;AGkDI;EACC;AHhDL;AGwDE;EACC;AHtDH;AGwDG;EACC,qBF3vBe;EE4vBf;AHtDJ;AGwDI;EACC;AHtDL;AG0DG;EACC;AHxDJ;AG8DC;EACC;AH5DF;AGgEG;;;;EAEC;EACA;AH5DJ;;AGkEA;AACA;EACC;EACA;EACA;EACA;EAEA;EACA;AHhED;;AGmEA;AACA;EACC;EACA;EACA;EACA;EAEA;EACA;AHjED;;AGoEA;;;;+FAAA;AAMA;;;EAGC;EACA;EACA;AHlED;AGoEC;;;EACC;EAEC;EAED;EACA;AHlEF;;AGsEA;EACC;EACA;AHnED;AGqEC;EACC;EACA;EACA;AHnEF;AE5vBC;ECo0BC,qBF50BmB;ADuwBrB;;AGyEA;EACC;EACA;AHtED;;AGyEA;;;;8FAAA;AAOC;EACC;AHxEF;AG2EC;EACC;AHzEF;AG4EC;EACC;AH1EF;AG4EE;EACC;AH1EH;;AG+EA;;;;8FAAA;AAMA;EACC;EACA;EACA;EACA;EACA;EACA;EACA;AH7ED;AGgFC;EACC;EACA;EACA;EACA;EACA;EACA;EACA;AH9EF;AGiFC;EACC;EACA;EACA;EACA;AH/EF;AGmFC;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AHjFF;AEr0BC;EACC;AFu0BF;AGkFE;EACC;EACA;AHhFH;AGmFG;EACC;EACA;EACA;AHjFJ;AGoFI;EACC;EACA;AHlFL;AGuFE;EACC;EAGA;EACA;AHvFH;AG2FE;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AHzFH;AG2FG;ED78BF;EACA;EACA;EACA;AFq3BD;;AG6FA;EACC;EACA;AH1FD;AG6FC;EACC;EACA;AH3FF;AG6FE;EACC;AH3FH;AGgGC;EACC;AH9FF;;AGkGA;;;;8FAAA;AAMA;EACC;EACA;EACA;AHhGD;AEh6BC;EACC;EACA;EACA;AFk6BF;AG8FC;EACC;EACA;EACA;AH5FF;AG+FC;EACC;EACA;EACA;EACA;AH7FF;AGgGC;EACC;EACA;AH9FF;AGiGC;EACC;EACA;EACA;EACA;AH/FF;AGkGC;EACC;EACA;EACA;AHhGF;AGmGC;EACC;EACA;AHjGF;AGoGC;EACC;AHlGF;AGsGC;EACC;;IAEC;IACA;IACA;IACA;EHpGD;AACF;;AGyGA;;EAEC;AHtGD;;AG0GA;EACC;AHvGD;;AG0GA;;;;8FAAA;AAOC;EACC;EACA;AHzGF;AG4GC;EACC;EACA;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LC;EACC;EACA;EACA;EACA;EAEA;EACA;EACA;EAEA;EACA;AHxLF;AG6LE;EAEC;AH5LH;;AGmMC;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AHhMF;AGkME;EACC;EACA;AHhMH;AGmME;;EAEC;EACA;AHjMH;AGqMC;EACC;EACA;EACA;EACA;EACA;EACA;AHnMF;AGsMC;EACC;AHpMF;AGsME;EACC;AHpMH;AGuME;;EAEC;EACA;AHrMH;AGyME;EACC;AHvMH;AG0ME;EACC;AHxMH;AG6MC;EACC;IACC;EH3MD;EG6MA;IACC;EH3MD;AACF;;AG+MA;;;;+FAAA;AAKA;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AH5MD;AG8MC;;;EAGC;EACA;EACA;EACA;AH5MF;AG+MC;EACC;EACA;EACA;AH7MF;AG+ME;EACC;EACA;EACA;AH7MH;AG+ME;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AH7MH;AG8MG;EACC;AH5MJ;AGiNC;EACC;EACA;EACA;EACA;EACA;AH/MF;AGkNC;EACC;EACA;EACA;EACA;EACA;EACA;EACA;AHhNF;AGkNE;EACC;EACA;AHhNH;AGoNC;EACC;EACA;EACA;EACA;AHlNF;AGoNE;EACC;AHlNH;AGuNC;EAjFD;IAkFE;IACA;IACA;IACA;EHpNA;AACF;;AGsNA;EACC;EACA;EACA;EACA;EACA;EACA,mBFxvDU;EEyvDV;EACA;AHnND;;AGsNA;;;;+FAAA;AAMA;EAMC;;IAEC;IACA;EHzNA;AACF;AG4NA;;;;8FAAA;AAOC;EAEE;EACA;EACA;EACA;AH7NH;AGgOE;EARD;IAUG;IACA;EH9NF;AACF;AGkOC;EAEE;EACA;AHjOH;AGoOE;EAND;IAQG;IACA;EHlOF;AACF;AGuOE;EADD;IAGG;EHrOF;AACF;;AG0OA;;;;oEAAA;AAMC;EACC;AHxOF;;AG4OA;;;;+FAAA;AAMC;;EAEC;EACA,kBFnzDU;EEozDV,6CFhzDa;ADskDf;AG4OE;;EAEE;EACA;EACA;EACA;AH1OJ;AG8OE;;EAEE;EACA;EACA;EA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2kDD;AKriFC;;;;;EAKC;EACA;EAEC;EACA;EAED;EACA,qBJ4BS;EI3BT,6CJoEa;EInEb,kBJ8DU;EI7DV;EAEA,cJ2BS;ADygFX;AKliFE;;;;;EACC,0BJgEO;EI/DP,qBJgCQ;ADwgFX;AKriFE;;;;;EACC,yBJYQ;EIXR;AL2iFH;AKxiFE;;;;;EACC,cJWQ;ADmiFX;AKliFE;EACC,yBJNQ;EIOR,cJHQ;ADuiFX;AKxhFE;;EAEC;AL0hFH;AKhhFC;EACC;EAEC;EACA;EAED;EACA;ALghFF;AKxgFC;EACC;EACA;EAEC;EACA;EAED;EACA;EACA;ALwgFF;AKrgFE;EAEC,cJ3CQ;ADijFX;AKngFE;EACC;EACA;EACA;EACA;EACA;EACA;EACA;ALqgFH;AK9/EE;EAEE;EACA;EAED;AL8/EH;AKr/EC;;EAEC;EACA;EACA;EACA;EAEC;EACA;EACA,qBJhGQ;EIkGT;EACA;ALq/EF;AKn/EE;;EACC,yBJ9FQ;EI+FR,qBJ1FQ;ADglFX;AKn/EE;;;EAEC,yBJpGQ;EIqGR,qBJhGQ;ADslFX;AKp/EG;;;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;ALw/EJ;AKn/EE;;EACC;ALs/EH;AKn/EE;;EACC,yBJzIQ;EI0IR,qBJvIQ;AD6nFX;AKz+EI;;;EACC;AL6+EL;AK59EG;EACC;AL89EJ;AK78EG;EACC;AL+8EJ;AKh8EE;;;;EAGE;ALm8EJ;AK/7EE;;EAEE;ALi8EJ;AK97EG;;EAEE;ALg8EL;AKz7EE;;EACC;EACA;EACA;AL47EH;AKl7EC;EACC;EACA;EACA;EACA,yBJ9OS;EI+OT;ALo7EF;AKl7EE;EACC,yBJjPQ;ADqqFX;AKj7EE;EACC;ALm7EH;AKh7EE;EACC,yBJ5OQ;AD8pFX;AKh7EG;EACC,yBJ9OO;ADgqFX;AK/6EG;EACC;ALi7EJ;AK56EE;;EAEC;AL86EH;AK36EE;EACC;EACA;EACA;EACA;EACA;AL66EH;AKx6EC;EACC;EACA;AL06EF;AKx6EE;EACC;EACA;EACA;EAEC;EACA;EACA;ALy6EJ;AKt6EG;EAEE;ALu6EL;AKn6EG;EAEE;ALo6EL;AKh6EG;EACC;EAEC;EACA;ALi6EL;AKt5EG;EAEE;EACA;ALu5EL;AKn5EG;EAEE;EACA;ALo5EL;AKx4EC;EACC;EACA;EAEC;EAGA;EACA;EACA;EACA;EAED;EACA;EACA,kBJ9TU;EIgUT;EACA;EACA,qBJxVQ;EI0VT;ALo4EF;AKl4EE;EACC,qBJ5VQ;EI6VR;EACA;ALo4EH;AKz3EC;EACC;EACA;EACA;EAEC;EACA;EAED;EACA;EACA;EACA,qBJrXS;EIsXT,kBJhWU;EIkWV,cJxXS;ADgvFX;AKt3EE;EACC;EACA,qBJ5XQ;EI6XR,cJ7XQ;ADqvFX;AKr3EE;EACC;EACA,0BJpWO;EIqWP,cJnYQ;AD0vFX;AK72EC;EACC;AL+2EF;AKp2EE;;EACC;EACA;ALu2EH;AKp2EE;;EACC;EAEC;EACA;EAED;EAEC;EACA;EACA,qBJtbO;EIwbR,6CJ/YY;EIgZZ,kBJrZS;EIsZT;EAEA,cJxbQ;AD0xFX;AK/1EE;;EACC;EACA;EACA;EACA;ALk2EH;AK/1EE;;EACC;ALk2EH;AK/1EE;;EACC;ALk2EH;AK/1EE;;EACC,qBJlcQ;ADoyFX;AK/1EE;;EACC,0BJvaO;EIwaP,qBJvcQ;EIwcR,kBJjbS;ADmxFZ;AKh2EG;;EACC;ALm2EJ;AK91EI;;EACC;EACA;ALi2EL;AK11EI;;EACC;EACA;AL61EL;AKt1EE;;EACC;EAEC;ALw1EJ;AKr1EG;;EACC;EACA;ALw1EJ;AKn1EE;;EAEE;EACA;EACA;EACA;ALq1EJ;AKj1EE;;EACC;EACA;EAEC;EACA;EAED;EACA;EACA;EACA;ALk1EH;AKh1EG;;EACC;EAEA;EACA,WAFY;EAGZ,YAHY;EAIZ;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,yBJliBO;ADo3FX;AK/0EG;;EACC,yBJzhBO;AD22FX;AKx0EC;EACC;EACA;EACA;AL00EF;AKx0EE;EAEC,WADY;EAEZ,YAFY;EAGZ,yBJzjBQ;ADk4FX;AKt0EE;EAEE;ALu0EJ;AKn0EE;EAEE;ALo0EJ;AKzzEC;EACC;EACA;EACA;EACA;AL2zEF;AKzzEW;EACR;EACA;AL2zEH;;AKxzEE;EACC;EACA;AL2zEH;AKzyEE;;;;;;;;;;;;EACC;ALszEH;AKjzEG;;;;;;;;;;;;EACC;EACA;EACA;EACA;EACA;EAEC;EACA;EACA;EACA;AL6zEL;AKzzEG;;;;;;;;;;;;EACC;EACA;EACA;EAEC;ALq0EL;AKl0EI;;;;;;;;;;;;EACC;EACA;AL+0EL;AKz0EE;;;;;;;;;;;;EACC;EACA;ALs1EH;AKn1EE;;;;;;;;;;;;EACC;EACA;ALg2EH;AK71EE;;;;;;;;;;;;EACC;EACA;EACA;EACA;AL02EH;AKt2EE;;;;;;;;;;;;EACC;ALm3EH;AKj3EY;EACR;ALm3EJ;;AK92EE;;;;;;;;;;;;EACC;EACA;EACA;EACA;EACA;AL43EH;AK13EG;;;;;;;;;;;;EACC;EAEA;EACA;EACA;EACA;EACA;EACA,WANY;EAOZ,YAPY;EAQZ;EACA;EACA,yBJ/rBO;EIgsBP;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;ALs4EJ;AKn4EG;;;;;;;;;;;;EACC;ALg5EJ;AKv4EG;;;;;;;;;;;;EACC;EACA;ALo5EJ;AK74EC;EACC,yBJtuBS;EIuuBT;EACA;EACA,cJruBS;EIsuBT;EACA;EACA;EACA;EACA;AL+4EF;AK54EC;EACC;EACA;EACA;EACA;EACA;AL84EF;AK54EE;EACC;EACA;EACA;EACA;EACA;AL84EH;AK34EW;EAER;AL44EH;;AKx4EE;EACC;AL24EH;AKz4EY;EACR;AL24EJ;;AKt4EE;EACC;EACA;EACA;ALy4EH;AKr4EI;EACC;EAEA;EACA;EACA;EACA;EACA,WALY;EAMZ,YANY;EAOZ;EACA;EACA,yBJ7xBM;EI8xBN;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;ALs4EL;AKp4Ec;EACR;EACA;ALs4EN;;AKj4EG;EACC;EAEA;EACA;EACA;EACA;ALm4EJ;AKj4Ea;EACR;EACA;ALm4EL;;AKh4EI;EACC,yBJh0BM;EIi0BN;ALm4EL;AK73EE;EACC;AL+3EH;AK13EG;EACC;EACA;AL43EJ;AKv3EE;EACC;EACA;EACA;EACA;EAEC;EACA;EACA;EACA;EAED;ALu3EH;AKr3EG;EACC;EACA;EACA;EAEC;EAED;ALq3EJ;AKn3EI;EACC;EACA;ALq3EL;AK/2EE;EACC;EACA;ALi3EH;AK/2EG;EACC;EAEA;EACA;EACA,WAHY;EAIZ,YAJY;EAKZ;EACA;EACA,yBJj3BO;EIk3BP;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;ALg3EJ;AK92Ea;EACR;EACA;ALg3EL;;AK32EE;EACC;EACA;EACA;EACA;EACA,yBJ35BQ;EI65BP;EACA;EACA,yBJ75BO;EIg6BP;EACA;EACA,4BJl6BO;EIo6BR,cJl6BQ;EIm6BR;EAEC;EAGA;EACA;EACA;EACA;EAED;ALs2EH;AKv1EG;;;EACC;EACA;AL21EJ;;AKl1EC;;EACC;EACA;ALs1EF;;AM/0GA;;;;+FAAA;AAQC;EACC;AN+0GF;AM30GC;EACC;AN60GF;AMz0GC;EAEE;EACA;EACA;EACA;EAED,kBL2DU;EK1DV;EACA;EACA,6CL4Da;AD6wGf;AMv0GE;EACC,cLiBQ;EKhBR;ANy0GH;AMt0GE;EACC;EACA;ANw0GH;AMr0GE;;EAEC,cLSQ;AD8zGX;AMr0GG;;EACC;ANw0GJ;AMr0GG;;EAEE;EACA;EACA;ANu0GL;AMp0GI;EAPD;;IAQE;IAEC;IACA;ENu0GJ;AACF;AMl0GG;;EACC;EACA;ANq0GJ;AMl0GG;;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,mBLjCO;EKkCP;EACA;EACA;EACA,cLjCO;ADs2GX;AMl0GG;;EACC,cLxCO;AD62GX;AMh0GE;;EAEC;EAEC;EACA;EAED;EACA,yBLxDQ;EKyDR,qBLvDQ;EKyDR;AN+zGH;AM7zGG;EAbD;;IAeG;IACA;ENg0GH;AACF;AM5zGI;EADD;;IAEE;ENg0GH;AACF;AM1zGE;;EAEC;EACA;EAEC;EACA;EACA;EACA;EAED;EACA;EAEC;EACA,4BLzFO;EK0FP;ANyzGJ;AMrzGG;EAnBD;;IAqBG;IACA;ENwzGH;AACF;AMnzGE;EACC;ANqzGH;AMjzGE;EACC;EACA;EACA;EACA;EACA;EAEC;EAED,cLnHQ;ADo6GX;AM7yGE;EACC;EACA;EACA;EACA;EAEC;EAED;EACA,cLhIQ;AD66GX;AM1yGE;EAEC,cLpIQ;AD+6GX;AMvyGE;;EAEC;ANyyGH;AMvyGG;;EAEE;ANyyGL;AMlyGE;EACC;IAAoB;ENqyGrB;AACF;AMlyGG;EACC;EACA;EACA;EACA;ANoyGJ;AM7xGG;EAEE;EACA;AN8xGL;AM1xGG;EAEE;EACA;AN2xGL;AMpxGC;EAEE;EAGA;EACA;EACA;EACA;EAGD;EACA,cLpMS;ADq9GX;AM/wGE;EACC,cL7OS;AD8/GZ;AM1wGC;;EAGE;AN2wGH;;AMrwGA;;;;8FAAA;AAUE;EACC;ANmwGH;AMhwGE;EACC;ANkwGH;AMjwGG;EAAU;ANowGb;AMjwGE;EAEE;EAED;ANiwGH;;AMzvGA;;;;8FAAA;AAOC;;EAEC;AN0vGF;;AMrvGA;;;;+FAAA;AAOC;EAEE;EACA;EACA;EACA;EAGA;EACA;EACA;EACA;EAED,cLtRS;ADwgHX;;AM7uGA;;;;8FAAA;AAKA;EAEE;EACA;EACA;EACA;AN+uGF;AM5uGC;EACC;EAEC;EACA;EACA;EACA;AN6uGH;AMzuGC;EAlBD;IAmBE;IACA;IACA;IACA;IACA;EN4uGA;EM1uGA;IACC;EN4uGD;AACF;;AMruGC;EAEE;EACA;ANuuGH;AMnuGC;EARD;IASE;IACA;IACA;IACA;ENsuGA;AACF;;AMnuGA;;;;8FAAA;AAKA;EACC;EACA;EACA;EAEC;ANquGF;AMluGC;EAEE;EACA;EAED,cLpWS;ADskHX;AM/tGE;EACC,cLvWQ;ADwkHX;;AM1tGA;;;;8FAAA;AAOC;EACC;EACA;AN2tGF;AMztGE;EACC;AN2tGH;AMxtGE;EAEE;EACA;EACA;EACA;ANytGJ;AMrtGE;EACC;EACA;ANutGH;AMrtGG;EAEE;EACA;EACA;EACA;ANstGL;AMntGI;EAEE;ANotGN;AM3sGE;EACC;AN6sGH;;AMtsGA;;;;8FAAA;AAKA;EACC;EACA;EACA;EACA;EACA;EAEC;EACA;EACA;EACA;EAGA;EACA;EACA;EACA;EAED;ANqsGD;AMlsGC;EAIC;EACA;EACA;EACA;EACA;EAEC;ANgsGH;AM5rGE;EAEC;EACA;EACA;EACA;EACA;EACA;EACA;EAEA,yBL3cQ;EK4cR;EACA,uBAXY;EAYZ,eAZY;EAaZ;EACA;EACA;EACA;AN4rGH;AMtrGC;EACC;EACA;ANwrGF;AMprGC;EACC;EACA;ANsrGF;AMlrGC;EACC;EACA;ANorGF;AMhrGC;EACC;EACA;ANkrGF;AM9qGC;EACC,qBLhfS;EKifT;ANgrGF;AM9qGE;EACC,yBLpfQ;ADoqHX;AM1qGC;EACC;AN4qGF;AM1qGE;EACC,yBL7gBQ;ADyrHX;;AMrqGA;;;;+FAAA;AAKA;;;;;EAKC;EACA;EAEC;EACA;ANuqGF;AMpqGC;;;;;;;;;;;;;;;;;;;;;;;;;EAKC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AN0rGF;AMxrGE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAGC;ANkwGH;AM/vGE;;;;;;;;;;;;;;;;;;;;;;;;;EAGE;EACA;EAED;EACA,cL5jBQ;EK6jBR;ANsxGH;AMnxGE;;;;;;;;;;;;;;;;;;;;;;;;;EAGE;EACA;EAED;EACA,cLzkBQ;ADm3HX;AMxyGG;;;;;;;;;;;;;;;;;;;;;;;;;EACC;EACA;EAEC;ANi0GL;AMzzGE;;;;;;;;;;;;;;;;;;;;;;;;;EACC;EAEC;ANk1GJ;AM90GE;;;;;;;;;;;;;;;;;;;;;;;;;EAEE;ANu2GJ;AM/1GE;;;;;;;;;;EACC;EACA;AN02GH;AMr2GE;;;;;EACC;EACA;AN22GH;;AMh2GC;;;;;;;;;;;;;;;;;;;;;;EAIC;ANq3GF;AMh3GE;;;;;;;;EAEC;ANw3GH;AMr3GE;;;;EACC;EACA;AN03GH;;AMn3GA;EACC;ANs3GD;;AMl3GA;;;;+FAAA;AAOC;;EAEE;ANm3GH;AM/2GC;;EACC;EACA;EACA;EACA;ANk3GF;AM/2GC;;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA,wFLtpBa;EKupBb,kBLnpBU;EKopBV;ANk3GF;AMh3GE;;EACC;EACA;EACA;ANm3GH;AMh3GE;;EACC;EAEC;EACA;EAGD;EACA;EACA;ANg3GH;AM72GE;;EAEC,WADY;EAEZ,YAFY;EAIX;EACA;EAED,yBLvtBQ;ADokIX;AMz2GC;;EACC;EACA;AN42GF;AMz2GC;;EACC;AN42GF;AMx2GE;;EACC;AN22GH;;AMr2GA;;;;+FAAA;AAOC;EACC;EACA;EACA;EAEA;EACA;EACA;EACA;EACA;EAEA,yBL7uBS;EK8uBT;EACA,uBATY;EAUZ,eAVY;EAWZ;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;ANo2GF;AMj2GC;EACC;EACA;ANm2GF;;AM91GA;;;;+FAAA;AAOC;EAEC;;;IAGC;EN81GD;AACF;;AMx1GA;;;;+FAAA;AAQG;EACC,cL3yBO;EK4yBP;EACA;EACA;EACA;ANw1GJ;AMt1GI;EACC;EACA;EACA;EACA,yBLrzBM;EKszBN;EACA;EACA;EACA;ANw1GL;AMp1GG;EACC;ANs1GJ;AMn1GG;EACC;ANq1GJ;AMh1GG;EACC,cLx0BO;EKy0BP;EACA;EACA;EACA;ANk1GJ;AMh1GI;EACC;EACA;EACA;EACA,yBLl1BM;EKm1BN;EACA;EACA;EACA;ANk1GL;AM90GG;EACC,cL31BO;EK41BP;ANg1GJ;AM70GG;EACC;AN+0GJ;AM50GG;EACC;AN80GJ;;AOnuIA;;;;+FAAA;AAKA;EACC;EACA;EACA;EACA;EACA,mBNyCU;EMxCV,cNqCU;ADisIX;AOpuIC;EACC;EACA;EACA;EACA;EACA;APsuIF;AOpuIE;EACC;EACA;EAEA;EACA;APquIH;AOnuIG;EACC;;IAEC;EPquIH;EOjuIG;;IAEC;EPmuIJ;AACF;AO7tIE;EACC;EACA;AP+tIH;AO5tIE;EACC;EACA;AP8tIH;AO5tIG;EACC;AP8tIJ;AO3tIG;EARD;IASE;EP8tIF;AACF;AO1tIC;EAzDD;IA0DE;EP6tIA;AACF;AO3tIC;EACC;EAEC;EAED;EAEA;EACA;EACA;AP0tIF;AOxtIE;EACC;AP0tIH;AOvtIE;EACC;APytIH;AOrtIC;EACC;EACA,cN5CS;ADmwIX;AOptIC;EACC;EACA;EACA;EACA;EAEC;EAGA;EACA;EACA;EACA;EAGA;EACA;EACA;EAED,kBN3BU;EM6BV,cNhES;EMiET;AP+sIF;AO7sIE;EACC,yBNlEQ;EMmER;AP+sIH;AO7sIE;EACC,yBNtEQ;EMuER,cN7EQ;AD4xIX;AO7sIE;EAEE;EACA;EACA,qBN9EO;AD4xIX;AO3sIE;EACC;AP6sIH;AOvsIG;EACC,yBNxFO;EMyFP,cN/FO;ADwyIX;AOrsIE;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EAEC;EACA;EACA;EACA;EAED;EACA,kBN1ES;EM2ET;APqsIH;AOnsIG;EACC;EACA;EACA;EACA;EACA;EACA;APqsIJ;AOnsII;EACC;EACA;EACA;EACA;APqsIL;AOhsIG;EACC;EACA;APksIJ;AOhsII;;EAEC;APksIL;AO/rII;EACC,mBNhJM;EMiJN;EACA;EACA;EACA;APisIL;AO/rIK;EACC,cNjJK;EMkJL;EACA;APisIN;AO/rIM;EACC,mBN5JI;AD61IX;AO3rII;EACC;EACA;EACA,cN7JM;EM8JN;EAEC;EACA;EACA,yBNzKK;ADq2IX;AOzrIK;EAEC;EACA,cN/JK;ADy1IX;AOvrIK;EACC;EAEA,WADY;EAEZ,YAFY;EAGZ,uBAHY;EAIZ,eAJY;EAKZ;APwrIN;AOrrIK;EACC;EACA;EACA;EACA,wFN9JS;EM+JT;EACA;EACA;EACA;EAEC;EACA;APsrIP;AOlrIK;EACC;EACA;EACA;APorIN;AOjrIK;EACC;EACA;EACA;EACA;EACA;EACA;EAEC;EACA;EAED;EACA;EACA;EACA;APirIN;AO3qIK;EACC;AP6qIN;AOvqIG;EAEC;APwqIJ;AOnqIG;EACC;APqqIJ;AO/pIC;EACC;EACA;EAEC;EACA;EACA;EACA;APgqIH;AO3pIC;EACC;IACC;EP6pID;AACF;;AOxpIC;EACC;EACA;AP2pIF;AOzpIE;EAEE;EACA;AP0pIJ;AOrpIC;EAEE;EACA;APspIH;;AOjpIA;;;;+FAAA;AAQE;;EACC;EAEC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kxMD;;AgBhiNA;;;;+FAAA;AAKA;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,mBfsEW;EerEX,uEACC;EAED;AhBiiND;AgB/hNC;EACC;EACA;EACA;EACA;EACA;AhBiiNF;AgB/hNE;;;EAGC;AhBiiNH;AgB9hNE;EACC;EACA;EACA;EACA;EACA,mBfKQ;EeJR;EACA;AhBgiNH;AgB9hNG;EACC;AhBgiNJ;AgB9hNI;EACC;EACA;EACA;EACA;EACA;EAEA,WADY;EAEZ,YAFY;EAGZ;EACA;EACA,yBfTM;EeUN;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AhB+hNL;AgB5hNI;EACC;EACA;EACA;EACA;EACA;AhB8hNL;AgBzhNE;EACC;EACA;EACA;EACA;AhB2hNH;AgBzhNG;EACC;AhB2hNJ;AgBxhNG;EACC;AhB0hNJ;AgBvhNG;;EAEC;EACA;EACA;EACA;AhByhNJ;AgBvhNI;;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,mBfnEM;EeoEN;EACA;EACA;EACA,cf/DM;EegEN;AhB0hNL;AgBxhNK;;;;EAGC,mBfjEK;EekEL;EACA;AhB2hNN;AgBxhNK;;EACC;EACA;EACA;AhB2hNN;AgBzhNM;;EACC;EACA;AhB4hNP;AgBxhNK;;EACC;AhB2hNN;AgBrhNI;;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAEC;EACA;EAED;EACA;EACA;EACA;AhBshNL;AgBphNK;;EACC;EACA;AhBuhNN;AgBjhNE;EACC;EACA;EACA;EACA;EACA;EAEC;EACA;EACA;EACA;EAED;EACA;AhBihNH;AgB/gNG;;EAEC;EACA;AhBihNJ;AgB9gNG;EACC;EACA;AhBghNJ;AgB7gNG;EACC;EACA;AhB+gNJ;AgB1gNC;EACC;EACA;EACA;EACA,yBfnKS;EeoKT;EACA;EACA;EACA;EACA;EACA;EACA;AhB4gNF;AgB1gNE;EACC;EACA;EACA,cf1KQ;ADsrNX;AgBzgNE;EACC;EACA;EACA;EAEC;EAGA;EACA;EAED;EACA,kBftJS;EeuJT,yEACC;AhBsgNJ;AgBlgNE;EACC;AhBogNH;AgBjgNE;EACC;AhBmgNH;AgBjgNG;EACC;EAEC;EACA;EACA;EACA;AhBkgNL;AgB9/MG;EACC;EACA;EACA;EACA;EAEC;EAGA;EACA;EAED,wFf9LW;Ee+LX;EACA;EACA;EACA;EACA;AhB4/MJ;AgB1/MI;EACC;EACA;EAEC;AhB2/MN;AgBr/ME;EACC;EACA;EACA;EACA;AhBu/MH;AgBr/MG;EAEC,WADY;EAEZ,YAFY;AhBw/MhB;AgBn/MG;EACC;AhBq/MJ;AgBl/MG;EACC;EACA;EACA;AhBo/MJ;AgBl/MI;EACC;AhBo/ML;AgB9+MC;;EAEC;AhBg/MF;AgB3+ME;;;EAGC;AhB6+MH;AgB1+ME;EACC;AhB4+MH;AgBt+ME;;;;;;EAMC;AhBw+MH;AgBr+ME;EAEE;EACA;EACA,4Bf7SO;ADmxNX;AgBl+ME;EACC;EACA;EACA;EACA;EACA;EACA;AhBo+MH;AgBl+MG;EACC;AhBo+MJ;AgBj+MG;EACC;AhBm+MJ;AgBj+MI;EACC;AhBm+ML;AgB/9MG;EACC;EACA;EACA;EACA;AhBi+MJ;;AgB39MA;;;;+FAAA;AAKA;EAEC;IACC;EhB69MA;AACF;AiBj2NC;EACC;EACA;AjBm2NF;;AiB91NA;EACC;AjBi2ND;AiB/1NC;EACC;EACA;EACA;AjBi2NF;AiB51NE;EACC,mBhB4BQ;EgB3BR;AjB81NH;AiB11NC;EACC;AjB41NF;AiB11NE;EACC;EACA;EACA;EACA;EACA;EAEA,WADY;EAEZ,YAFY;EAGZ;EACA;EACA,yBhBQQ;EgBPR;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AjB21NH;AiBx1NE;EACC;EACA;AjB01NH;AiBt1NC;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AjBw1NF;AiBt1NE;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AjBw1NH;AiBt1NG;EACC;AjBw1NJ;AiBr1NG;;;;EAIC;EACA;AjBu1NJ;AiBn1NE;EACC;EACA;EACA;AjBq1NH;AiBl1NE;EACC;EACA,yBhBnDQ;EgBoDR;AjBo1NH;AiBj1NE;EACC;EACA,yBhBzDQ;EgB0DR;EACA;AjBm1NH;AiB/0NC;EACC;EACA;AjBi1NF;AiB90NC;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,yBhB1FS;EgB2FT;EACA;EACA;AjBg1NF;AiB90NE;EACC;EACA;EACA,chB/FQ;AD+6NX;AiB50NC;;EAEC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AjB80NF;AiB50NE;;EACC;EACA;AjB+0NH;AiB50NE;;EACC;EACA;AjB+0NH;AiB50NE;;;;EAEC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AjBg1NH;AiB70NE;;EACC;EACA;EACA;EACA;EACA;AjBg1NH;AiB70NE;;EACC;EACA,yBhBnIQ;EgBoIR;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AjBg1NH;AiB70NE;;EACC;AjBg1NH;;AiB30NA;EACC;AjB80ND;;AiB10NA;EACC;AjB60ND;AiBz0NE;EACC,mBhB5KQ;EgB6KR;AjB20NH;AiBv0NC;EACC;EACA;EACA;EACA;AjBy0NF;AiBp0NE;EACC,chB3LQ;ADigOX;AiBl0NC;EACC;EACA;AjBo0NF;AiBj0NC;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AjBm0NF;AiBj0NE;EACC;EACA;EACA;EACA;EACA;AjBm0NH;AiBh0NE;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AjBk0NH;AiB/zNE;EACC;EACA;EACA;AjBi0NH;AiB9zNE;EACC;AjBg0NH;AiB5zNC;EACC;EACA;EACA;AjB8zNF;AiB3zNC;EACC;AjB6zNF;AiB3zNE;EACC;EACA;EACA;EACA;EACA;EAEA,WADY;EAEZ,YAFY;EAGZ;EACA;EACA,yBhBnQQ;EgBoQR;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AjB4zNH;AiBzzNE;EACC;EACA;AjB2zNH;AiBvzNC;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,yBhBpSS;EgBqST;EACA;EACA;EACA;EACA;AjByzNF;AiBvzNE;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AjByzNH;AiBvzNG;EACC;AjByzNJ;AiBtzNG;;;;EAIC;EACA;AjBwzNJ;AiBpzNE;EACC;EACA;EACA;AjBszNH;AiBnzNE;EACC;EACA,yBhB9TQ;EgB+TR;AjBqzNH;AiBlzNE;EACC;EACA,yBhBpUQ;EgBqUR;EACA;AjBozNH;AiBhzNC;EACC;EACA;AjBkzNF;AiB/yNC;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,yBhBrWS;EgBsWT;EACA;EACA;AjBizNF;AiB/yNE;EACC;EACA;EACA,chB1WQ;AD2pOX;AiB7yNC;;EAEC;EACA;EACA;EACA;EACA;EACA,yBhBxXS;EgByXT;EACA;EACA;AjB+yNF;AiB7yNE;;EACC;EACA;AjBgzNH;AiB7yNE;;EACC;EACA;AjBgzNH;AiB7yNE;;;;EAEC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AjBizNH;AiB9yNE;;EACC;EACA;EACA;EACA;EACA;AjBizNH;AiB9yNE;;EACC;EACA,yBhB9YQ;EgB+YR;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AjBizNH,C","sources":["webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/sass/acf-global.scss","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/sass/_variables.scss","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/sass/_mixins.scss","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/sass/_global.scss","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/sass/_typography.scss","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/sass/_admin-inputs.scss","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/sass/_list-table.scss","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/sass/_admin-toolbar.scss","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/sass/_acf-headerbar.scss","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/sass/_btn.scss","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/sass/_icons.scss","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/sass/_field-type-icons.scss","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/sass/_tools.scss","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/sass/_updates.scss","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/sass/_pro-upgrade.scss","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/sass/_post-types-taxonomies.scss","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/sass/_field-picker.scss","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/sass/_acf-icon-picker.scss"],"sourcesContent":["@charset \"UTF-8\";\n/*--------------------------------------------------------------------------------------------\n*\n*\tVars\n*\n*--------------------------------------------------------------------------------------------*/\n/* colors */\n/* acf-field */\n/* responsive */\n/*--------------------------------------------------------------------------------------------\n*\n*\tACF 6 ↓\n*\n*--------------------------------------------------------------------------------------------*/\n/*--------------------------------------------------------------------------------------------\n*\n* Mixins\n*\n*--------------------------------------------------------------------------------------------*/\n/*--------------------------------------------------------------------------------------------\n*\n* Global\n*\n*--------------------------------------------------------------------------------------------*/\n/* Horizontal List */\n.acf-hl {\n padding: 0;\n margin: 0;\n list-style: none;\n display: block;\n position: relative;\n}\n\n.acf-hl > li {\n float: left;\n display: block;\n margin: 0;\n padding: 0;\n}\n\n.acf-hl > li.acf-fr {\n float: right;\n}\n\n/* Horizontal List: Clearfix */\n.acf-hl:before,\n.acf-hl:after,\n.acf-bl:before,\n.acf-bl:after,\n.acf-cf:before,\n.acf-cf:after {\n content: \"\";\n display: block;\n line-height: 0;\n}\n\n.acf-hl:after,\n.acf-bl:after,\n.acf-cf:after {\n clear: both;\n}\n\n/* Block List */\n.acf-bl {\n padding: 0;\n margin: 0;\n list-style: none;\n display: block;\n position: relative;\n}\n\n.acf-bl > li {\n display: block;\n margin: 0;\n padding: 0;\n float: none;\n}\n\n/* Visibility */\n.acf-hidden {\n display: none !important;\n}\n\n.acf-empty {\n display: table-cell !important;\n}\n.acf-empty * {\n display: none !important;\n}\n\n/* Float */\n.acf-fl {\n float: left;\n}\n\n.acf-fr {\n float: right;\n}\n\n.acf-fn {\n float: none;\n}\n\n/* Align */\n.acf-al {\n text-align: left;\n}\n\n.acf-ar {\n text-align: right;\n}\n\n.acf-ac {\n text-align: center;\n}\n\n/* loading */\n.acf-loading,\n.acf-spinner {\n display: inline-block;\n height: 20px;\n width: 20px;\n vertical-align: text-top;\n background: transparent url(../../images/spinner.gif) no-repeat 50% 50%;\n}\n\n/* spinner */\n.acf-spinner {\n display: none;\n}\n\n.acf-spinner.is-active {\n display: inline-block;\n}\n\n/* WP < 4.2 */\n.spinner.is-active {\n display: inline-block;\n}\n\n/* required */\n.acf-required {\n color: #f00;\n}\n\n/* Allow pointer events in reusable blocks */\n.acf-button,\n.acf-tab-button {\n pointer-events: auto !important;\n}\n\n/* show on hover */\n.acf-soh .acf-soh-target {\n -webkit-transition: opacity 0.25s 0s ease-in-out, visibility 0s linear 0.25s;\n -moz-transition: opacity 0.25s 0s ease-in-out, visibility 0s linear 0.25s;\n -o-transition: opacity 0.25s 0s ease-in-out, visibility 0s linear 0.25s;\n transition: opacity 0.25s 0s ease-in-out, visibility 0s linear 0.25s;\n visibility: hidden;\n opacity: 0;\n}\n\n.acf-soh:hover .acf-soh-target {\n -webkit-transition-delay: 0s;\n -moz-transition-delay: 0s;\n -o-transition-delay: 0s;\n transition-delay: 0s;\n visibility: visible;\n opacity: 1;\n}\n\n/* show if value */\n.show-if-value {\n display: none;\n}\n\n.hide-if-value {\n display: block;\n}\n\n.has-value .show-if-value {\n display: block;\n}\n\n.has-value .hide-if-value {\n display: none;\n}\n\n/* select2 WP animation fix */\n.select2-search-choice-close {\n -webkit-transition: none;\n -moz-transition: none;\n -o-transition: none;\n transition: none;\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* tooltip\n*\n*---------------------------------------------------------------------------------------------*/\n/* tooltip */\n.acf-tooltip {\n background: #1D2939;\n border-radius: 6px;\n color: #D0D5DD;\n padding-top: 8px;\n padding-right: 12px;\n padding-bottom: 10px;\n padding-left: 12px;\n position: absolute;\n z-index: 900000;\n max-width: 280px;\n box-shadow: 0px 12px 16px -4px rgba(16, 24, 40, 0.08), 0px 4px 6px -2px rgba(16, 24, 40, 0.03);\n /* tip */\n /* positions */\n}\n.acf-tooltip:before {\n border: solid;\n border-color: transparent;\n border-width: 6px;\n content: \"\";\n position: absolute;\n}\n.acf-tooltip.top {\n margin-top: -8px;\n}\n.acf-tooltip.top:before {\n top: 100%;\n left: 50%;\n margin-left: -6px;\n border-top-color: #2f353e;\n border-bottom-width: 0;\n}\n.acf-tooltip.right {\n margin-left: 8px;\n}\n.acf-tooltip.right:before {\n top: 50%;\n margin-top: -6px;\n right: 100%;\n border-right-color: #2f353e;\n border-left-width: 0;\n}\n.acf-tooltip.bottom {\n margin-top: 8px;\n}\n.acf-tooltip.bottom:before {\n bottom: 100%;\n left: 50%;\n margin-left: -6px;\n border-bottom-color: #2f353e;\n border-top-width: 0;\n}\n.acf-tooltip.left {\n margin-left: -8px;\n}\n.acf-tooltip.left:before {\n top: 50%;\n margin-top: -6px;\n left: 100%;\n border-left-color: #2f353e;\n border-right-width: 0;\n}\n.acf-tooltip .acf-overlay {\n z-index: -1;\n}\n\n/* confirm */\n.acf-tooltip.-confirm {\n z-index: 900001;\n}\n.acf-tooltip.-confirm a {\n text-decoration: none;\n color: #9ea3a8;\n}\n.acf-tooltip.-confirm a:hover {\n text-decoration: underline;\n}\n.acf-tooltip.-confirm a[data-event=confirm] {\n color: #f55e4f;\n}\n\n.acf-overlay {\n position: fixed;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n cursor: default;\n}\n\n.acf-tooltip-target {\n position: relative;\n z-index: 900002;\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* loading\n*\n*---------------------------------------------------------------------------------------------*/\n.acf-loading-overlay {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n cursor: default;\n z-index: 99;\n background: rgba(249, 249, 249, 0.5);\n}\n.acf-loading-overlay i {\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n}\n\n/*--------------------------------------------------------------------------------------------\n*\n*\tacf-icon\n*\n*--------------------------------------------------------------------------------------------*/\n.acf-icon {\n display: inline-block;\n height: 28px;\n width: 28px;\n border: transparent solid 1px;\n border-radius: 100%;\n font-size: 20px;\n line-height: 21px;\n text-align: center;\n text-decoration: none;\n vertical-align: top;\n box-sizing: border-box;\n}\n.acf-icon:before {\n font-family: dashicons;\n display: inline-block;\n line-height: 1;\n font-weight: 400;\n font-style: normal;\n speak: none;\n text-decoration: inherit;\n text-transform: none;\n text-rendering: auto;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n width: 1em;\n height: 1em;\n vertical-align: middle;\n text-align: center;\n}\n\n.acf-icon.-plus:before {\n content: \"\\f543\";\n}\n\n.acf-icon.-minus:before {\n content: \"\\f460\";\n}\n\n.acf-icon.-cancel:before {\n content: \"\\f335\";\n margin: -1px 0 0 -1px;\n}\n\n.acf-icon.-pencil:before {\n content: \"\\f464\";\n}\n\n.acf-icon.-location:before {\n content: \"\\f230\";\n}\n\n.acf-icon.-up:before {\n content: \"\\f343\";\n margin-top: -0.1em;\n}\n\n.acf-icon.-down:before {\n content: \"\\f347\";\n margin-top: 0.1em;\n}\n\n.acf-icon.-left:before {\n content: \"\\f341\";\n margin-left: -0.1em;\n}\n\n.acf-icon.-right:before {\n content: \"\\f345\";\n margin-left: 0.1em;\n}\n\n.acf-icon.-sync:before {\n content: \"\\f463\";\n}\n\n.acf-icon.-globe:before {\n content: \"\\f319\";\n margin-top: 0.1em;\n margin-left: 0.1em;\n}\n\n.acf-icon.-picture:before {\n content: \"\\f128\";\n}\n\n.acf-icon.-check:before {\n content: \"\\f147\";\n margin-left: -0.1em;\n}\n\n.acf-icon.-dot-3:before {\n content: \"\\f533\";\n margin-top: -0.1em;\n}\n\n.acf-icon.-arrow-combo:before {\n content: \"\\f156\";\n}\n\n.acf-icon.-arrow-up:before {\n content: \"\\f142\";\n margin-left: -0.1em;\n}\n\n.acf-icon.-arrow-down:before {\n content: \"\\f140\";\n margin-left: -0.1em;\n}\n\n.acf-icon.-search:before {\n content: \"\\f179\";\n}\n\n.acf-icon.-link-ext:before {\n content: \"\\f504\";\n}\n\n.acf-icon.-duplicate {\n position: relative;\n}\n.acf-icon.-duplicate:before, .acf-icon.-duplicate:after {\n content: \"\";\n display: block;\n box-sizing: border-box;\n width: 46%;\n height: 46%;\n position: absolute;\n top: 33%;\n left: 23%;\n}\n.acf-icon.-duplicate:before {\n margin: -1px 0 0 1px;\n box-shadow: 2px -2px 0px 0px currentColor;\n}\n.acf-icon.-duplicate:after {\n border: solid 2px currentColor;\n}\n\n.acf-icon.-trash {\n position: relative;\n}\n.acf-icon.-trash:before, .acf-icon.-trash:after {\n content: \"\";\n display: block;\n box-sizing: border-box;\n width: 46%;\n height: 46%;\n position: absolute;\n top: 33%;\n left: 23%;\n}\n.acf-icon.-trash:before {\n margin: -1px 0 0 1px;\n box-shadow: 2px -2px 0px 0px currentColor;\n}\n.acf-icon.-trash:after {\n border: solid 2px currentColor;\n}\n\n.acf-icon.-collapse:before {\n content: \"\\f142\";\n margin-left: -0.1em;\n}\n\n.-collapsed .acf-icon.-collapse:before {\n content: \"\\f140\";\n margin-left: -0.1em;\n}\n\nspan.acf-icon {\n color: #555d66;\n border-color: #b5bcc2;\n background-color: #fff;\n}\n\na.acf-icon {\n color: #555d66;\n border-color: #b5bcc2;\n background-color: #fff;\n position: relative;\n transition: none;\n cursor: pointer;\n}\na.acf-icon:hover {\n background: #f3f5f6;\n border-color: #0071a1;\n color: #0071a1;\n}\na.acf-icon.-minus:hover, a.acf-icon.-cancel:hover {\n background: #f7efef;\n border-color: #a10000;\n color: #dc3232;\n}\na.acf-icon:active, a.acf-icon:focus {\n outline: none;\n box-shadow: none;\n}\n\n.acf-icon.-clear {\n border-color: transparent;\n background: transparent;\n color: #444;\n}\n\n.acf-icon.light {\n border-color: transparent;\n background: #f5f5f5;\n color: #23282d;\n}\n\n.acf-icon.dark {\n border-color: transparent !important;\n background: #23282d;\n color: #eee;\n}\n\na.acf-icon.dark:hover {\n background: #191e23;\n color: #00b9eb;\n}\na.acf-icon.dark.-minus:hover, a.acf-icon.dark.-cancel:hover {\n color: #d54e21;\n}\n\n.acf-icon.grey {\n border-color: transparent !important;\n background: #b4b9be;\n color: #fff !important;\n}\n.acf-icon.grey:hover {\n background: #00a0d2;\n color: #fff;\n}\n.acf-icon.grey.-minus:hover, .acf-icon.grey.-cancel:hover {\n background: #32373c;\n}\n\n.acf-icon.small,\n.acf-icon.-small {\n width: 20px;\n height: 20px;\n line-height: 14px;\n font-size: 14px;\n}\n.acf-icon.small.-duplicate:before, .acf-icon.small.-duplicate:after,\n.acf-icon.-small.-duplicate:before,\n.acf-icon.-small.-duplicate:after {\n opacity: 0.8;\n}\n\n/*--------------------------------------------------------------------------------------------\n*\n*\tacf-box\n*\n*--------------------------------------------------------------------------------------------*/\n.acf-box {\n background: #ffffff;\n border: 1px solid #ccd0d4;\n position: relative;\n box-shadow: 0 1px 1px rgba(0, 0, 0, 0.04);\n /* title */\n /* footer */\n}\n.acf-box .title {\n border-bottom: 1px solid #ccd0d4;\n margin: 0;\n padding: 15px;\n}\n.acf-box .title h3 {\n display: flex;\n align-items: center;\n font-size: 14px;\n line-height: 1em;\n margin: 0;\n padding: 0;\n}\n.acf-box .inner {\n padding: 15px;\n}\n.acf-box h2 {\n color: #333333;\n font-size: 26px;\n line-height: 1.25em;\n margin: 0.25em 0 0.75em;\n padding: 0;\n}\n.acf-box h3 {\n margin: 1.5em 0 0;\n}\n.acf-box p {\n margin-top: 0.5em;\n}\n.acf-box a {\n text-decoration: none;\n}\n.acf-box i.dashicons-external {\n margin-top: -1px;\n}\n.acf-box .footer {\n border-top: 1px solid #ccd0d4;\n padding: 12px;\n font-size: 13px;\n line-height: 1.5;\n}\n.acf-box .footer p {\n margin: 0;\n}\n.acf-admin-3-8 .acf-box {\n border-color: #E5E5E5;\n}\n.acf-admin-3-8 .acf-box .title,\n.acf-admin-3-8 .acf-box .footer {\n border-color: #E5E5E5;\n}\n\n/*--------------------------------------------------------------------------------------------\n*\n*\tacf-notice\n*\n*--------------------------------------------------------------------------------------------*/\n.acf-notice {\n position: relative;\n display: block;\n color: #fff;\n margin: 5px 0 15px;\n padding: 3px 12px;\n background: #2a9bd9;\n border-left: #1f7db1 solid 3px;\n}\n.acf-notice p {\n font-size: 13px;\n line-height: 1.5;\n margin: 0.5em 0;\n text-shadow: none;\n color: inherit;\n}\n.acf-notice .acf-notice-dismiss {\n position: absolute;\n top: 9px;\n right: 12px;\n background: transparent !important;\n color: inherit !important;\n border-color: #fff !important;\n opacity: 0.75;\n}\n.acf-notice .acf-notice-dismiss:hover {\n opacity: 1;\n}\n.acf-notice.-dismiss {\n padding-right: 40px;\n}\n.acf-notice.-error {\n background: #d94f4f;\n border-color: #c92c2c;\n}\n.acf-notice.-success {\n background: #49ad52;\n border-color: #3a8941;\n}\n.acf-notice.-warning {\n background: #fd8d3b;\n border-color: #fc7009;\n}\n\n/*--------------------------------------------------------------------------------------------\n*\n*\tacf-table\n*\n*--------------------------------------------------------------------------------------------*/\n.acf-table {\n border: #ccd0d4 solid 1px;\n background: #fff;\n border-spacing: 0;\n border-radius: 0;\n table-layout: auto;\n padding: 0;\n margin: 0;\n width: 100%;\n clear: both;\n box-sizing: content-box;\n /* defaults */\n /* thead */\n /* tbody */\n /* -clear */\n}\n.acf-table > tbody > tr > th,\n.acf-table > tbody > tr > td,\n.acf-table > thead > tr > th,\n.acf-table > thead > tr > td {\n padding: 8px;\n vertical-align: top;\n background: #fff;\n text-align: left;\n border-style: solid;\n font-weight: normal;\n}\n.acf-table > tbody > tr > th,\n.acf-table > thead > tr > th {\n position: relative;\n color: #333333;\n}\n.acf-table > thead > tr > th {\n border-color: #d5d9dd;\n border-width: 0 0 1px 1px;\n}\n.acf-table > thead > tr > th:first-child {\n border-left-width: 0;\n}\n.acf-table > tbody > tr {\n z-index: 1;\n}\n.acf-table > tbody > tr > td {\n border-color: #eeeeee;\n border-width: 1px 0 0 1px;\n}\n.acf-table > tbody > tr > td:first-child {\n border-left-width: 0;\n}\n.acf-table > tbody > tr:first-child > td {\n border-top-width: 0;\n}\n.acf-table.-clear {\n border: 0 none;\n}\n.acf-table.-clear > tbody > tr > td,\n.acf-table.-clear > tbody > tr > th,\n.acf-table.-clear > thead > tr > td,\n.acf-table.-clear > thead > tr > th {\n border: 0 none;\n padding: 4px;\n}\n\n/* remove tr */\n.acf-remove-element {\n -webkit-transition: all 0.25s ease-out;\n -moz-transition: all 0.25s ease-out;\n -o-transition: all 0.25s ease-out;\n transition: all 0.25s ease-out;\n transform: translate(50px, 0);\n opacity: 0;\n}\n\n/* fade-up */\n.acf-fade-up {\n -webkit-transition: all 0.25s ease-out;\n -moz-transition: all 0.25s ease-out;\n -o-transition: all 0.25s ease-out;\n transition: all 0.25s ease-out;\n transform: translate(0, -10px);\n opacity: 0;\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* Fake table\n*\n*---------------------------------------------------------------------------------------------*/\n.acf-thead,\n.acf-tbody,\n.acf-tfoot {\n width: 100%;\n padding: 0;\n margin: 0;\n}\n.acf-thead > li,\n.acf-tbody > li,\n.acf-tfoot > li {\n box-sizing: border-box;\n padding-top: 14px;\n font-size: 12px;\n line-height: 14px;\n}\n\n.acf-thead {\n border-bottom: #ccd0d4 solid 1px;\n color: #23282d;\n}\n.acf-thead > li {\n font-size: 14px;\n line-height: 1.4;\n font-weight: bold;\n}\n.acf-admin-3-8 .acf-thead {\n border-color: #dfdfdf;\n}\n\n.acf-tfoot {\n background: #f5f5f5;\n border-top: #d5d9dd solid 1px;\n}\n\n/*--------------------------------------------------------------------------------------------\n*\n*\tSettings\n*\n*--------------------------------------------------------------------------------------------*/\n.acf-settings-wrap #poststuff {\n padding-top: 15px;\n}\n.acf-settings-wrap .acf-box {\n margin: 20px 0;\n}\n.acf-settings-wrap table {\n margin: 0;\n}\n.acf-settings-wrap table .button {\n vertical-align: middle;\n}\n\n/*--------------------------------------------------------------------------------------------\n*\n*\tacf-popup\n*\n*--------------------------------------------------------------------------------------------*/\n#acf-popup {\n position: fixed;\n z-index: 900000;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n text-align: center;\n}\n#acf-popup .bg {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n z-index: 0;\n background: rgba(0, 0, 0, 0.25);\n}\n#acf-popup:before {\n content: \"\";\n display: inline-block;\n height: 100%;\n vertical-align: middle;\n}\n#acf-popup .acf-popup-box {\n display: inline-block;\n vertical-align: middle;\n z-index: 1;\n min-width: 300px;\n min-height: 160px;\n border-color: #aaaaaa;\n box-shadow: 0 5px 30px -5px rgba(0, 0, 0, 0.25);\n text-align: left;\n}\nhtml[dir=rtl] #acf-popup .acf-popup-box {\n text-align: right;\n}\n#acf-popup .acf-popup-box .title {\n min-height: 15px;\n line-height: 15px;\n}\n#acf-popup .acf-popup-box .title .acf-icon {\n position: absolute;\n top: 10px;\n right: 10px;\n}\nhtml[dir=rtl] #acf-popup .acf-popup-box .title .acf-icon {\n right: auto;\n left: 10px;\n}\n#acf-popup .acf-popup-box .inner {\n min-height: 50px;\n padding: 0;\n margin: 15px;\n}\n#acf-popup .acf-popup-box .loading {\n position: absolute;\n top: 45px;\n left: 0;\n right: 0;\n bottom: 0;\n z-index: 2;\n background: rgba(0, 0, 0, 0.1);\n display: none;\n}\n#acf-popup .acf-popup-box .loading i {\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n}\n\n.acf-submit {\n margin-bottom: 0;\n line-height: 28px;\n}\n.acf-submit span {\n float: right;\n color: #999;\n}\n.acf-submit span.-error {\n color: #dd4232;\n}\n.acf-submit .button {\n margin-right: 5px;\n}\n\n/*--------------------------------------------------------------------------------------------\n*\n*\tupgrade notice\n*\n*--------------------------------------------------------------------------------------------*/\n#acf-upgrade-notice {\n position: relative;\n background: #fff;\n padding: 20px;\n}\n#acf-upgrade-notice:after {\n display: block;\n clear: both;\n content: \"\";\n}\n#acf-upgrade-notice .col-content {\n float: left;\n width: 55%;\n padding-left: 90px;\n}\n#acf-upgrade-notice .notice-container {\n display: flex;\n justify-content: space-between;\n align-items: flex-start;\n align-content: flex-start;\n}\n#acf-upgrade-notice .col-actions {\n float: right;\n text-align: center;\n}\n#acf-upgrade-notice img {\n float: left;\n width: 64px;\n height: 64px;\n margin: 0 0 0 -90px;\n}\n#acf-upgrade-notice h2 {\n display: inline-block;\n font-size: 16px;\n margin: 2px 0 6.5px;\n}\n#acf-upgrade-notice p {\n padding: 0;\n margin: 0;\n}\n#acf-upgrade-notice .button:before {\n margin-top: 11px;\n}\n@media screen and (max-width: 640px) {\n #acf-upgrade-notice .col-content,\n #acf-upgrade-notice .col-actions {\n float: none;\n padding-left: 90px;\n width: auto;\n text-align: left;\n }\n}\n\n#acf-upgrade-notice:has(.notice-container)::before,\n#acf-upgrade-notice:has(.notice-container)::after {\n display: none;\n}\n\n#acf-upgrade-notice:has(.notice-container) {\n padding-left: 20px !important;\n}\n\n/*--------------------------------------------------------------------------------------------\n*\n*\tWelcome\n*\n*--------------------------------------------------------------------------------------------*/\n.acf-wrap h1 {\n margin-top: 0;\n padding-top: 20px;\n}\n.acf-wrap .about-text {\n margin-top: 0.5em;\n min-height: 50px;\n}\n.acf-wrap .about-headline-callout {\n font-size: 2.4em;\n font-weight: 300;\n line-height: 1.3;\n margin: 1.1em 0 0.2em;\n text-align: center;\n}\n.acf-wrap .feature-section {\n padding: 40px 0;\n}\n.acf-wrap .feature-section h2 {\n margin-top: 20px;\n}\n.acf-wrap .changelog {\n list-style: disc;\n padding-left: 15px;\n}\n.acf-wrap .changelog li {\n margin: 0 0 0.75em;\n}\n.acf-wrap .acf-three-col {\n display: flex;\n flex-wrap: wrap;\n justify-content: space-between;\n}\n.acf-wrap .acf-three-col > div {\n flex: 1;\n align-self: flex-start;\n min-width: 31%;\n max-width: 31%;\n}\n@media screen and (max-width: 880px) {\n .acf-wrap .acf-three-col > div {\n min-width: 48%;\n }\n}\n@media screen and (max-width: 640px) {\n .acf-wrap .acf-three-col > div {\n min-width: 100%;\n }\n}\n.acf-wrap .acf-three-col h3 .badge {\n display: inline-block;\n vertical-align: top;\n border-radius: 5px;\n background: #fc9700;\n color: #fff;\n font-weight: normal;\n font-size: 12px;\n padding: 2px 5px;\n}\n.acf-wrap .acf-three-col img + h3 {\n margin-top: 0.5em;\n}\n\n/*--------------------------------------------------------------------------------------------\n*\n*\tacf-hl cols\n*\n*--------------------------------------------------------------------------------------------*/\n.acf-hl[data-cols] {\n margin-left: -10px;\n margin-right: -10px;\n}\n.acf-hl[data-cols] > li {\n padding: 0 6px 0 10px;\n -webkit-box-sizing: border-box;\n -moz-box-sizing: border-box;\n box-sizing: border-box;\n}\n\n/* sizes */\n.acf-hl[data-cols=\"2\"] > li {\n width: 50%;\n}\n\n.acf-hl[data-cols=\"3\"] > li {\n width: 33.333%;\n}\n\n.acf-hl[data-cols=\"4\"] > li {\n width: 25%;\n}\n\n/* mobile */\n@media screen and (max-width: 640px) {\n .acf-hl[data-cols] {\n flex-wrap: wrap;\n justify-content: flex-start;\n align-content: flex-start;\n align-items: flex-start;\n margin-left: 0;\n margin-right: 0;\n margin-top: -10px;\n }\n .acf-hl[data-cols] > li {\n flex: 1 1 100%;\n width: 100% !important;\n padding: 10px 0 0;\n }\n}\n/*--------------------------------------------------------------------------------------------\n*\n*\tmisc\n*\n*--------------------------------------------------------------------------------------------*/\n.acf-actions {\n text-align: right;\n z-index: 1;\n /* hover */\n /* rtl */\n}\n.acf-actions.-hover {\n position: absolute;\n display: none;\n top: 0;\n right: 0;\n padding: 5px;\n z-index: 1050;\n}\nhtml[dir=rtl] .acf-actions.-hover {\n right: auto;\n left: 0;\n}\n\n/* ul compatibility */\nul.acf-actions li {\n float: right;\n margin-left: 4px;\n}\n\n/*--------------------------------------------------------------------------------------------\n*\n*\tRTL\n*\n*--------------------------------------------------------------------------------------------*/\nhtml[dir=rtl] .acf-fl {\n float: right;\n}\n\nhtml[dir=rtl] .acf-fr {\n float: left;\n}\n\nhtml[dir=rtl] .acf-hl > li {\n float: right;\n}\n\nhtml[dir=rtl] .acf-hl > li.acf-fr {\n float: left;\n}\n\nhtml[dir=rtl] .acf-icon.logo {\n left: 0;\n right: auto;\n}\n\nhtml[dir=rtl] .acf-table thead th {\n text-align: right;\n border-right-width: 1px;\n border-left-width: 0px;\n}\n\nhtml[dir=rtl] .acf-table > tbody > tr > td {\n text-align: right;\n border-right-width: 1px;\n border-left-width: 0px;\n}\n\nhtml[dir=rtl] .acf-table > thead > tr > th:first-child,\nhtml[dir=rtl] .acf-table > tbody > tr > td:first-child {\n border-right-width: 0;\n}\n\nhtml[dir=rtl] .acf-table > tbody > tr > td.order + td {\n border-right-color: #e1e1e1;\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* acf-postbox-columns\n*\n*---------------------------------------------------------------------------------------------*/\n.acf-postbox-columns {\n position: relative;\n margin-top: -11px;\n margin-bottom: -12px;\n margin-left: -12px;\n margin-right: 268px;\n}\n.acf-postbox-columns:after {\n display: block;\n clear: both;\n content: \"\";\n}\n.acf-postbox-columns .acf-postbox-main,\n.acf-postbox-columns .acf-postbox-side {\n -webkit-box-sizing: border-box;\n -moz-box-sizing: border-box;\n box-sizing: border-box;\n padding: 0 12px 12px;\n}\n.acf-postbox-columns .acf-postbox-main {\n float: left;\n width: 100%;\n}\n.acf-postbox-columns .acf-postbox-side {\n float: right;\n width: 280px;\n margin-right: -280px;\n}\n.acf-postbox-columns .acf-postbox-side:before {\n content: \"\";\n display: block;\n position: absolute;\n width: 1px;\n height: 100%;\n top: 0;\n right: 0;\n background: #d5d9dd;\n}\n.acf-admin-3-8 .acf-postbox-columns .acf-postbox-side:before {\n background: #dfdfdf;\n}\n\n/* mobile */\n@media only screen and (max-width: 850px) {\n .acf-postbox-columns {\n margin: 0;\n }\n .acf-postbox-columns .acf-postbox-main,\n .acf-postbox-columns .acf-postbox-side {\n float: none;\n width: auto;\n margin: 0;\n padding: 0;\n }\n .acf-postbox-columns .acf-postbox-side {\n margin-top: 1em;\n }\n .acf-postbox-columns .acf-postbox-side:before {\n display: none;\n }\n}\n/*---------------------------------------------------------------------------------------------\n*\n* acf-panel\n*\n*---------------------------------------------------------------------------------------------*/\n.acf-panel {\n margin-top: -1px;\n border-top: 1px solid #d5d9dd;\n border-bottom: 1px solid #d5d9dd;\n /* open */\n /* inside postbox */\n /* fields */\n}\n.acf-panel .acf-panel-title {\n margin: 0;\n padding: 12px;\n font-weight: bold;\n cursor: pointer;\n font-size: inherit;\n}\n.acf-panel .acf-panel-title i {\n float: right;\n}\n.acf-panel .acf-panel-inside {\n margin: 0;\n padding: 0 12px 12px;\n display: none;\n}\n.acf-panel.-open .acf-panel-inside {\n display: block;\n}\n.postbox .acf-panel {\n margin-left: -12px;\n margin-right: -12px;\n}\n.acf-panel .acf-field {\n margin: 20px 0 0;\n}\n.acf-panel .acf-field .acf-label label {\n color: #555d66;\n font-weight: normal;\n}\n.acf-panel .acf-field:first-child {\n margin-top: 0;\n}\n.acf-admin-3-8 .acf-panel {\n border-color: #dfdfdf;\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* Admin Tools\n*\n*---------------------------------------------------------------------------------------------*/\n#acf-admin-tools .notice {\n margin-top: 10px;\n}\n#acf-admin-tools .acf-meta-box-wrap {\n /* acf-fields */\n}\n#acf-admin-tools .acf-meta-box-wrap .inside {\n border-top: none;\n}\n#acf-admin-tools .acf-meta-box-wrap .acf-fields {\n margin-bottom: 24px;\n border: none;\n background: #fff;\n border-radius: 0;\n}\n#acf-admin-tools .acf-meta-box-wrap .acf-fields .acf-field {\n padding: 0;\n margin-bottom: 19px;\n border-top: none;\n}\n#acf-admin-tools .acf-meta-box-wrap .acf-fields .acf-label {\n margin-bottom: 16px;\n}\n#acf-admin-tools .acf-meta-box-wrap .acf-fields .acf-input {\n padding-top: 16px;\n padding-right: 16px;\n padding-bottom: 16px;\n padding-left: 16px;\n border-width: 1px;\n border-style: solid;\n border-color: #D0D5DD;\n border-radius: 6px;\n}\n#acf-admin-tools .acf-meta-box-wrap .acf-fields.import-cptui {\n margin-top: 19px;\n}\n\n.acf-meta-box-wrap .postbox {\n -webkit-box-sizing: border-box;\n -moz-box-sizing: border-box;\n box-sizing: border-box;\n}\n.acf-meta-box-wrap .postbox .inside {\n margin-bottom: 0;\n}\n.acf-meta-box-wrap .postbox .hndle {\n font-size: 14px;\n padding: 8px 12px;\n margin: 0;\n line-height: 1.4;\n position: relative;\n z-index: 1;\n cursor: default;\n}\n.acf-meta-box-wrap .postbox .handlediv,\n.acf-meta-box-wrap .postbox .handle-order-higher,\n.acf-meta-box-wrap .postbox .handle-order-lower {\n display: none;\n}\n\n/* grid */\n.acf-meta-box-wrap.-grid {\n margin-left: 8px;\n margin-right: 8px;\n}\n.acf-meta-box-wrap.-grid .postbox {\n float: left;\n clear: left;\n width: 50%;\n margin: 0 0 16px;\n}\n.acf-meta-box-wrap.-grid .postbox:nth-child(odd) {\n margin-left: -8px;\n}\n.acf-meta-box-wrap.-grid .postbox:nth-child(even) {\n float: right;\n clear: right;\n margin-right: -8px;\n}\n\n/* mobile */\n@media only screen and (max-width: 850px) {\n .acf-meta-box-wrap.-grid {\n margin-left: 0;\n margin-right: 0;\n }\n .acf-meta-box-wrap.-grid .postbox {\n margin-left: 0 !important;\n margin-right: 0 !important;\n width: 100%;\n }\n}\n/* export tool */\n#acf-admin-tool-export {\n /* panel: selection */\n}\n#acf-admin-tool-export p {\n max-width: 800px;\n}\n#acf-admin-tool-export ul {\n display: flex;\n flex-wrap: wrap;\n width: 100%;\n}\n#acf-admin-tool-export ul li {\n flex: 0 1 33.33%;\n}\n@media screen and (max-width: 1600px) {\n #acf-admin-tool-export ul li {\n flex: 0 1 50%;\n }\n}\n@media screen and (max-width: 1200px) {\n #acf-admin-tool-export ul li {\n flex: 0 1 100%;\n }\n}\n#acf-admin-tool-export .acf-postbox-side ul {\n display: block;\n}\n#acf-admin-tool-export .acf-postbox-side .button {\n margin: 0;\n width: 100%;\n}\n#acf-admin-tool-export textarea {\n display: block;\n width: 100%;\n min-height: 500px;\n background: #F9FAFB;\n border-color: #D0D5DD;\n box-shadow: none;\n padding: 7px;\n border-radius: 6px;\n}\n#acf-admin-tool-export .acf-panel-selection .acf-label label {\n font-weight: bold;\n color: #344054;\n}\n\n#acf-admin-tool-import ul {\n column-width: 200px;\n}\n\n.acf-css-tooltip {\n position: relative;\n}\n.acf-css-tooltip:before {\n content: attr(aria-label);\n display: none;\n position: absolute;\n z-index: 999;\n bottom: 100%;\n left: 50%;\n transform: translate(-50%, -8px);\n background: #191e23;\n border-radius: 2px;\n padding: 5px 10px;\n color: #fff;\n font-size: 12px;\n line-height: 1.4em;\n white-space: pre;\n}\n.acf-css-tooltip:after {\n content: \"\";\n display: none;\n position: absolute;\n z-index: 998;\n bottom: 100%;\n left: 50%;\n transform: translate(-50%, 4px);\n border: solid 6px transparent;\n border-top-color: #191e23;\n}\n.acf-css-tooltip:hover:before, .acf-css-tooltip:hover:after, .acf-css-tooltip:focus:before, .acf-css-tooltip:focus:after {\n display: block;\n}\n\n.acf-diff .acf-diff-title {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n height: 40px;\n padding: 14px 16px;\n background: #f3f3f3;\n border-bottom: #dddddd solid 1px;\n}\n.acf-diff .acf-diff-title strong {\n font-size: 14px;\n display: block;\n}\n.acf-diff .acf-diff-title .acf-diff-title-left,\n.acf-diff .acf-diff-title .acf-diff-title-right {\n width: 50%;\n float: left;\n}\n.acf-diff .acf-diff-content {\n position: absolute;\n top: 70px;\n left: 0;\n right: 0;\n bottom: 0;\n overflow: auto;\n}\n.acf-diff table.diff {\n border-spacing: 0;\n}\n.acf-diff table.diff col.diffsplit.middle {\n width: 0;\n}\n.acf-diff table.diff td,\n.acf-diff table.diff th {\n padding-top: 0.25em;\n padding-bottom: 0.25em;\n}\n.acf-diff table.diff tr td:nth-child(2) {\n width: auto;\n}\n.acf-diff table.diff td:nth-child(3) {\n border-left: #dddddd solid 1px;\n}\n@media screen and (max-width: 600px) {\n .acf-diff .acf-diff-title {\n height: 70px;\n }\n .acf-diff .acf-diff-content {\n top: 100px;\n }\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* Modal\n*\n*---------------------------------------------------------------------------------------------*/\n.acf-modal {\n position: fixed;\n top: 30px;\n left: 30px;\n right: 30px;\n bottom: 30px;\n z-index: 160000;\n box-shadow: 0 5px 15px rgba(0, 0, 0, 0.7);\n background: #fcfcfc;\n}\n.acf-modal .acf-modal-title,\n.acf-modal .acf-modal-content,\n.acf-modal .acf-modal-toolbar {\n box-sizing: border-box;\n position: absolute;\n left: 0;\n right: 0;\n}\n.acf-modal .acf-modal-title {\n height: 50px;\n top: 0;\n border-bottom: 1px solid #ddd;\n}\n.acf-modal .acf-modal-title h2 {\n margin: 0;\n padding: 0 16px;\n line-height: 50px;\n}\n.acf-modal .acf-modal-title .acf-modal-close {\n position: absolute;\n top: 0;\n right: 0;\n height: 50px;\n width: 50px;\n border: none;\n border-left: 1px solid #ddd;\n background: transparent;\n cursor: pointer;\n color: #666;\n}\n.acf-modal .acf-modal-title .acf-modal-close:hover {\n color: #00a0d2;\n}\n.acf-modal .acf-modal-content {\n top: 50px;\n bottom: 60px;\n background: #fff;\n overflow: auto;\n padding: 16px;\n}\n.acf-modal .acf-modal-feedback {\n position: absolute;\n top: 50%;\n margin: -10px 0;\n left: 0;\n right: 0;\n text-align: center;\n opacity: 0.75;\n}\n.acf-modal .acf-modal-feedback.error {\n opacity: 1;\n color: #b52727;\n}\n.acf-modal .acf-modal-toolbar {\n height: 60px;\n bottom: 0;\n padding: 15px 16px;\n border-top: 1px solid #ddd;\n}\n.acf-modal .acf-modal-toolbar .button {\n float: right;\n}\n@media only screen and (max-width: 640px) {\n .acf-modal {\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n }\n}\n\n.acf-modal-backdrop {\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: #101828;\n opacity: 0.8;\n z-index: 159900;\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* Retina\n*\n*---------------------------------------------------------------------------------------------*/\n@media only screen and (-webkit-min-device-pixel-ratio: 2), only screen and (min--moz-device-pixel-ratio: 2), only screen and (-o-min-device-pixel-ratio: 2/1), only screen and (min-device-pixel-ratio: 2), only screen and (min-resolution: 192dpi), only screen and (min-resolution: 2dppx) {\n .acf-loading,\n .acf-spinner {\n background-image: url(../../images/spinner@2x.gif);\n background-size: 20px 20px;\n }\n}\n/*--------------------------------------------------------------------------------------------\n*\n* Wrap\n*\n*--------------------------------------------------------------------------------------------*/\n.acf-admin-page .wrap {\n margin-top: 48px;\n margin-right: 32px;\n margin-bottom: 0;\n margin-left: 12px;\n}\n@media screen and (max-width: 768px) {\n .acf-admin-page .wrap {\n margin-right: 8px;\n margin-left: 8px;\n }\n}\n.acf-admin-page.rtl .wrap {\n margin-right: 12px;\n margin-left: 32px;\n}\n@media screen and (max-width: 768px) {\n .acf-admin-page.rtl .wrap {\n margin-right: 8px;\n margin-left: 8px;\n }\n}\n@media screen and (max-width: 768px) {\n .acf-admin-page #wpcontent {\n padding-left: 0;\n }\n}\n\n/*-------------------------------------------------------------------\n*\n* ACF Admin Page Footer Styles\n*\n*------------------------------------------------------------------*/\n.acf-admin-page #wpfooter {\n font-style: italic;\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* Admin Postbox & ACF Postbox\n*\n*---------------------------------------------------------------------------------------------*/\n.acf-admin-page .postbox,\n.acf-admin-page .acf-box {\n border: none;\n border-radius: 8px;\n box-shadow: 0px 1px 2px rgba(16, 24, 40, 0.1);\n}\n.acf-admin-page .postbox .inside,\n.acf-admin-page .acf-box .inside {\n padding-top: 24px;\n padding-right: 24px;\n padding-bottom: 24px;\n padding-left: 24px;\n}\n.acf-admin-page .postbox .acf-postbox-inner,\n.acf-admin-page .acf-box .acf-postbox-inner {\n margin-top: 0;\n margin-right: 0;\n margin-bottom: 0;\n margin-left: 0;\n padding-top: 24px;\n padding-right: 0;\n padding-bottom: 0;\n padding-left: 0;\n}\n.acf-admin-page .postbox .inner,\n.acf-admin-page .postbox .inside,\n.acf-admin-page .acf-box .inner,\n.acf-admin-page .acf-box .inside {\n margin-top: 0 !important;\n margin-right: 0 !important;\n margin-bottom: 0 !important;\n margin-left: 0 !important;\n border-top-width: 1px;\n border-top-style: solid;\n border-top-color: #EAECF0;\n}\n.acf-admin-page .postbox .postbox-header,\n.acf-admin-page .postbox .title,\n.acf-admin-page .acf-box .postbox-header,\n.acf-admin-page .acf-box .title {\n display: flex;\n align-items: center;\n box-sizing: border-box;\n min-height: 64px;\n margin-top: 0;\n margin-right: 0;\n margin-bottom: 0;\n margin-left: 0;\n padding-top: 0;\n padding-right: 24px;\n padding-bottom: 0;\n padding-left: 24px;\n border-bottom-width: 0;\n border-bottom-style: none;\n}\n.acf-admin-page .postbox .postbox-header h2,\n.acf-admin-page .postbox .postbox-header h3,\n.acf-admin-page .postbox .title h2,\n.acf-admin-page .postbox .title h3,\n.acf-admin-page .acf-box .postbox-header h2,\n.acf-admin-page .acf-box .postbox-header h3,\n.acf-admin-page .acf-box .title h2,\n.acf-admin-page .acf-box .title h3 {\n margin-top: 0;\n margin-right: 0;\n margin-bottom: 0;\n margin-left: 0;\n padding-top: 0;\n padding-right: 0;\n padding-bottom: 0;\n padding-left: 0;\n color: #344054;\n}\n.acf-admin-page .postbox .hndle,\n.acf-admin-page .acf-box .hndle {\n padding-top: 0;\n padding-right: 24px;\n padding-bottom: 0;\n padding-left: 24px;\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* Custom ACF postbox header\n*\n*---------------------------------------------------------------------------------------------*/\n.acf-postbox-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n box-sizing: border-box;\n min-height: 64px;\n margin-top: -24px;\n margin-right: -24px;\n margin-bottom: 0;\n margin-left: -24px;\n padding-top: 0;\n padding-right: 24px;\n padding-bottom: 0;\n padding-left: 24px;\n border-bottom-width: 1px;\n border-bottom-style: solid;\n border-bottom-color: #EAECF0;\n}\n.acf-postbox-header h2.acf-postbox-title {\n margin-top: 0;\n margin-right: 0;\n margin-bottom: 0;\n margin-left: 0;\n padding-top: 0;\n padding-right: 24px;\n padding-bottom: 0;\n padding-left: 0;\n color: #344054;\n}\n.rtl .acf-postbox-header h2.acf-postbox-title {\n padding-right: 0;\n padding-left: 24px;\n}\n.acf-postbox-header .acf-icon {\n background-color: #98A2B3;\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* Screen options button & screen meta container\n*\n*---------------------------------------------------------------------------------------------*/\n.acf-admin-page #screen-meta-links {\n margin-right: 32px;\n}\n.acf-admin-page #screen-meta-links .show-settings {\n border-color: #D0D5DD;\n}\n@media screen and (max-width: 768px) {\n .acf-admin-page #screen-meta-links {\n margin-right: 16px;\n margin-bottom: 0;\n }\n}\n.acf-admin-page.rtl #screen-meta-links {\n margin-right: 0;\n margin-left: 32px;\n}\n@media screen and (max-width: 768px) {\n .acf-admin-page.rtl #screen-meta-links {\n margin-right: 0;\n margin-left: 16px;\n }\n}\n.acf-admin-page #screen-meta {\n border-color: #D0D5DD;\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* Postbox headings\n*\n*---------------------------------------------------------------------------------------------*/\n.acf-admin-page #poststuff .postbox-header h2,\n.acf-admin-page #poststuff .postbox-header h3 {\n justify-content: flex-start;\n margin-top: 0;\n margin-right: 0;\n margin-bottom: 0;\n margin-left: 0;\n padding-top: 0;\n padding-right: 0;\n padding-bottom: 0;\n padding-left: 0;\n color: #344054 !important;\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* Postbox drag state\n*\n*---------------------------------------------------------------------------------------------*/\n.acf-admin-page.is-dragging-metaboxes .metabox-holder .postbox-container .meta-box-sortables {\n box-sizing: border-box;\n padding: 2px;\n outline: none;\n background-image: repeating-linear-gradient(0deg, #667085, #667085 5px, transparent 5px, transparent 10px, #667085 10px), repeating-linear-gradient(90deg, #667085, #667085 5px, transparent 5px, transparent 10px, #667085 10px), repeating-linear-gradient(180deg, #667085, #667085 5px, transparent 5px, transparent 10px, #667085 10px), repeating-linear-gradient(270deg, #667085, #667085 5px, transparent 5px, transparent 10px, #667085 10px);\n background-size: 1.5px 100%, 100% 1.5px, 1.5px 100%, 100% 1.5px;\n background-position: 0 0, 0 0, 100% 0, 0 100%;\n background-repeat: no-repeat;\n border-radius: 8px;\n}\n.acf-admin-page .ui-sortable-placeholder {\n border: none;\n}\n\n/*--------------------------------------------------------------------------------------------\n*\n* Search summary\n*\n*--------------------------------------------------------------------------------------------*/\n.acf-admin-page .subtitle {\n display: inline-flex;\n align-items: center;\n height: 24px;\n margin: 0;\n padding-top: 4px;\n padding-right: 12px;\n padding-bottom: 4px;\n padding-left: 12px;\n background-color: #EBF5FA;\n border-width: 1px;\n border-style: solid;\n border-color: #A5D2E7;\n border-radius: 6px;\n}\n.acf-admin-page .subtitle strong {\n margin-left: 5px;\n}\n\n/*--------------------------------------------------------------------------------------------\n*\n* Action strip\n*\n*--------------------------------------------------------------------------------------------*/\n.acf-actions-strip {\n display: flex;\n}\n.acf-actions-strip .acf-btn {\n margin-right: 8px;\n}\n\n/*--------------------------------------------------------------------------------------------\n*\n* Notices\n*\n*--------------------------------------------------------------------------------------------*/\n.acf-admin-page .acf-notice,\n.acf-admin-page .notice,\n.acf-admin-page #lost-connection-notice {\n position: relative;\n box-sizing: border-box;\n min-height: 48px;\n margin-top: 0 !important;\n margin-right: 0 !important;\n margin-bottom: 16px !important;\n margin-left: 0 !important;\n padding-top: 13px !important;\n padding-right: 16px;\n padding-bottom: 12px !important;\n padding-left: 50px !important;\n background-color: #e7eff9;\n border-width: 1px;\n border-style: solid;\n border-color: #9dbaee;\n border-radius: 8px;\n box-shadow: 0px 1px 2px rgba(16, 24, 40, 0.1);\n color: #344054;\n}\n.acf-admin-page .acf-notice.update-nag,\n.acf-admin-page .notice.update-nag,\n.acf-admin-page #lost-connection-notice.update-nag {\n display: block;\n position: relative;\n width: calc(100% - 44px);\n margin-top: 48px !important;\n margin-right: 44px !important;\n margin-bottom: -32px !important;\n margin-left: 12px !important;\n}\n.acf-admin-page .acf-notice .button,\n.acf-admin-page .notice .button,\n.acf-admin-page #lost-connection-notice .button {\n height: auto;\n margin-left: 8px;\n padding: 0;\n border: none;\n}\n.acf-admin-page .acf-notice > div,\n.acf-admin-page .notice > div,\n.acf-admin-page #lost-connection-notice > div {\n margin-top: 0;\n margin-bottom: 0;\n}\n.acf-admin-page .acf-notice p,\n.acf-admin-page .notice p,\n.acf-admin-page #lost-connection-notice p {\n flex: 1 0 auto;\n max-width: 100%;\n line-height: 18px;\n margin: 0;\n padding: 0;\n}\n.acf-admin-page .acf-notice p.help,\n.acf-admin-page .notice p.help,\n.acf-admin-page #lost-connection-notice p.help {\n margin-top: 0;\n padding-top: 0;\n color: rgba(52, 64, 84, 0.7);\n}\n.acf-admin-page .acf-notice .acf-notice-dismiss,\n.acf-admin-page .acf-notice .notice-dismiss,\n.acf-admin-page .notice .acf-notice-dismiss,\n.acf-admin-page .notice .notice-dismiss,\n.acf-admin-page #lost-connection-notice .acf-notice-dismiss,\n.acf-admin-page #lost-connection-notice .notice-dismiss {\n position: absolute;\n top: 4px;\n right: 8px;\n padding: 9px;\n border: none;\n}\n.acf-admin-page .acf-notice .acf-notice-dismiss:before,\n.acf-admin-page .acf-notice .notice-dismiss:before,\n.acf-admin-page .notice .acf-notice-dismiss:before,\n.acf-admin-page .notice .notice-dismiss:before,\n.acf-admin-page #lost-connection-notice .acf-notice-dismiss:before,\n.acf-admin-page #lost-connection-notice .notice-dismiss:before {\n content: \"\";\n display: block;\n position: relative;\n z-index: 600;\n width: 20px;\n height: 20px;\n background-color: #667085;\n border: none;\n border-radius: 0;\n -webkit-mask-size: contain;\n mask-size: contain;\n -webkit-mask-repeat: no-repeat;\n mask-repeat: no-repeat;\n -webkit-mask-position: center;\n mask-position: center;\n -webkit-mask-image: url(\"../../images/icons/icon-close.svg\");\n mask-image: url(\"../../images/icons/icon-close.svg\");\n}\n.acf-admin-page .acf-notice .acf-notice-dismiss:hover::before,\n.acf-admin-page .acf-notice .notice-dismiss:hover::before,\n.acf-admin-page .notice .acf-notice-dismiss:hover::before,\n.acf-admin-page .notice .notice-dismiss:hover::before,\n.acf-admin-page #lost-connection-notice .acf-notice-dismiss:hover::before,\n.acf-admin-page #lost-connection-notice .notice-dismiss:hover::before {\n background-color: #344054;\n}\n.acf-admin-page .acf-notice a.acf-notice-dismiss,\n.acf-admin-page .notice a.acf-notice-dismiss,\n.acf-admin-page #lost-connection-notice a.acf-notice-dismiss {\n position: absolute;\n top: 5px;\n right: 24px;\n}\n.acf-admin-page .acf-notice a.acf-notice-dismiss:before,\n.acf-admin-page .notice a.acf-notice-dismiss:before,\n.acf-admin-page #lost-connection-notice a.acf-notice-dismiss:before {\n background-color: #475467;\n}\n.acf-admin-page .acf-notice:before,\n.acf-admin-page .notice:before,\n.acf-admin-page #lost-connection-notice:before {\n content: \"\";\n display: block;\n position: absolute;\n top: 15px;\n left: 18px;\n z-index: 600;\n width: 16px;\n height: 16px;\n margin-right: 8px;\n background-color: #fff;\n border: none;\n border-radius: 0;\n -webkit-mask-size: contain;\n mask-size: contain;\n -webkit-mask-repeat: no-repeat;\n mask-repeat: no-repeat;\n -webkit-mask-position: center;\n mask-position: center;\n -webkit-mask-image: url(\"../../images/icons/icon-info-solid.svg\");\n mask-image: url(\"../../images/icons/icon-info-solid.svg\");\n}\n.acf-admin-page .acf-notice:after,\n.acf-admin-page .notice:after,\n.acf-admin-page #lost-connection-notice:after {\n content: \"\";\n display: block;\n position: absolute;\n top: 9px;\n left: 12px;\n z-index: 500;\n width: 28px;\n height: 28px;\n background-color: #2D69DA;\n border-radius: 6px;\n box-shadow: 0px 1px 2px rgba(16, 24, 40, 0.1);\n}\n.acf-admin-page .acf-notice .local-restore,\n.acf-admin-page .notice .local-restore,\n.acf-admin-page #lost-connection-notice .local-restore {\n align-items: center;\n margin-top: -6px;\n margin-bottom: 0;\n}\n.acf-admin-page .notice[data-persisted=true] {\n display: none;\n}\n.acf-admin-page .notice.is-dismissible {\n padding-right: 56px;\n}\n.acf-admin-page .notice.notice-success {\n background-color: #edf7ef;\n border-color: #b6deb9;\n}\n.acf-admin-page .notice.notice-success:before {\n -webkit-mask-image: url(\"../../images/icons/icon-check-circle-solid.svg\");\n mask-image: url(\"../../images/icons/icon-check-circle-solid.svg\");\n}\n.acf-admin-page .notice.notice-success:after {\n background-color: #52AA59;\n}\n.acf-admin-page .acf-notice.acf-error-message,\n.acf-admin-page .notice.notice-error,\n.acf-admin-page #lost-connection-notice {\n background-color: #f7eeeb;\n border-color: #f1b6b3;\n}\n.acf-admin-page .acf-notice.acf-error-message:before,\n.acf-admin-page .notice.notice-error:before,\n.acf-admin-page #lost-connection-notice:before {\n -webkit-mask-image: url(\"../../images/icons/icon-warning.svg\");\n mask-image: url(\"../../images/icons/icon-warning.svg\");\n}\n.acf-admin-page .acf-notice.acf-error-message:after,\n.acf-admin-page .notice.notice-error:after,\n.acf-admin-page #lost-connection-notice:after {\n background-color: #D13737;\n}\n.acf-admin-page .notice.notice-warning {\n background: linear-gradient(0deg, rgba(247, 144, 9, 0.08), rgba(247, 144, 9, 0.08)), #FFFFFF;\n border: 1px solid rgba(247, 144, 9, 0.32);\n color: #344054;\n}\n.acf-admin-page .notice.notice-warning:before {\n -webkit-mask-image: url(\"../../images/icons/icon-alert-triangle.svg\");\n mask-image: url(\"../../images/icons/icon-alert-triangle.svg\");\n background: #f56e28;\n}\n.acf-admin-page .notice.notice-warning:after {\n content: none;\n}\n\n.acf-admin-single-taxonomy .notice-success .acf-item-saved-text,\n.acf-admin-single-post-type .notice-success .acf-item-saved-text,\n.acf-admin-single-options-page .notice-success .acf-item-saved-text {\n font-weight: 600;\n}\n.acf-admin-single-taxonomy .notice-success .acf-item-saved-links,\n.acf-admin-single-post-type .notice-success .acf-item-saved-links,\n.acf-admin-single-options-page .notice-success .acf-item-saved-links {\n display: flex;\n gap: 12px;\n}\n.acf-admin-single-taxonomy .notice-success .acf-item-saved-links a,\n.acf-admin-single-post-type .notice-success .acf-item-saved-links a,\n.acf-admin-single-options-page .notice-success .acf-item-saved-links a {\n text-decoration: none;\n opacity: 1;\n}\n.acf-admin-single-taxonomy .notice-success .acf-item-saved-links a:after,\n.acf-admin-single-post-type .notice-success .acf-item-saved-links a:after,\n.acf-admin-single-options-page .notice-success .acf-item-saved-links a:after {\n content: \"\";\n width: 1px;\n height: 13px;\n display: inline-flex;\n position: relative;\n top: 2px;\n left: 6px;\n background-color: #475467;\n opacity: 0.3;\n}\n.acf-admin-single-taxonomy .notice-success .acf-item-saved-links a:last-child:after,\n.acf-admin-single-post-type .notice-success .acf-item-saved-links a:last-child:after,\n.acf-admin-single-options-page .notice-success .acf-item-saved-links a:last-child:after {\n content: none;\n}\n\n.rtl.acf-field-group .notice,\n.rtl.acf-internal-post-type .notice {\n padding-right: 50px !important;\n}\n.rtl.acf-field-group .notice .notice-dismiss,\n.rtl.acf-internal-post-type .notice .notice-dismiss {\n left: 8px;\n right: unset;\n}\n.rtl.acf-field-group .notice:before,\n.rtl.acf-internal-post-type .notice:before {\n left: unset;\n right: 10px;\n}\n.rtl.acf-field-group .notice:after,\n.rtl.acf-internal-post-type .notice:after {\n left: unset;\n right: 12px;\n}\n.rtl.acf-field-group.acf-admin-single-taxonomy .notice-success .acf-item-saved-links a:after, .rtl.acf-field-group.acf-admin-single-post-type .notice-success .acf-item-saved-links a:after, .rtl.acf-field-group.acf-admin-single-options-page .notice-success .acf-item-saved-links a:after,\n.rtl.acf-internal-post-type.acf-admin-single-taxonomy .notice-success .acf-item-saved-links a:after,\n.rtl.acf-internal-post-type.acf-admin-single-post-type .notice-success .acf-item-saved-links a:after,\n.rtl.acf-internal-post-type.acf-admin-single-options-page .notice-success .acf-item-saved-links a:after {\n left: unset;\n right: 6px;\n}\n\n/*--------------------------------------------------------------------------------------------\n*\n* ACF PRO label\n*\n*--------------------------------------------------------------------------------------------*/\n.acf-pro-label {\n display: inline-flex;\n align-items: center;\n min-height: 22px;\n border: none;\n font-size: 11px;\n text-transform: uppercase;\n text-decoration: none;\n color: #fff;\n}\n\n/*--------------------------------------------------------------------------------------------\n*\n* Inline notice overrides\n*\n*--------------------------------------------------------------------------------------------*/\n.acf-admin-page .acf-field .acf-notice {\n display: flex;\n align-items: center;\n min-height: 40px !important;\n margin-bottom: 6px !important;\n padding-top: 6px !important;\n padding-left: 40px !important;\n padding-bottom: 6px !important;\n margin: 0 0 15px;\n background: #edf2ff;\n color: #344054 !important;\n border-color: #2183b9;\n border-radius: 6px;\n}\n.acf-admin-page .acf-field .acf-notice:after {\n top: 8px;\n left: 8px;\n width: 22px;\n height: 22px;\n}\n.acf-admin-page .acf-field .acf-notice:before {\n top: 12px;\n left: 12px;\n width: 14px;\n height: 14px;\n}\n.acf-admin-page .acf-field .acf-notice.-error {\n background: #f7eeeb;\n border-color: #f1b6b3;\n}\n.acf-admin-page .acf-field .acf-notice.-success {\n background: #edf7ef;\n border-color: #b6deb9;\n}\n.acf-admin-page .acf-field .acf-notice.-warning {\n background: #fdf8eb;\n border-color: #f4dbb4;\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* Global\n*\n*---------------------------------------------------------------------------------------------*/\n.acf-admin-page #wpcontent {\n line-height: 140%;\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* Links\n*\n*---------------------------------------------------------------------------------------------*/\n.acf-admin-page a {\n color: #0783BE;\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* Headings\n*\n*---------------------------------------------------------------------------------------------*/\n.acf-h1, .acf-admin-page #tmpl-acf-field-group-pro-features h1,\n.acf-admin-page #acf-field-group-pro-features h1, .acf-admin-page h1,\n.acf-headerbar h1 {\n font-size: 21px;\n font-weight: 400;\n}\n\n.acf-h2, .acf-no-field-groups-wrapper .acf-no-field-groups-inner h2,\n.acf-no-field-groups-wrapper .acf-no-taxonomies-inner h2,\n.acf-no-field-groups-wrapper .acf-no-post-types-inner h2,\n.acf-no-field-groups-wrapper .acf-no-options-pages-inner h2,\n.acf-no-field-groups-wrapper .acf-options-preview-inner h2,\n.acf-no-taxonomies-wrapper .acf-no-field-groups-inner h2,\n.acf-no-taxonomies-wrapper .acf-no-taxonomies-inner h2,\n.acf-no-taxonomies-wrapper .acf-no-post-types-inner h2,\n.acf-no-taxonomies-wrapper .acf-no-options-pages-inner h2,\n.acf-no-taxonomies-wrapper .acf-options-preview-inner h2,\n.acf-no-post-types-wrapper .acf-no-field-groups-inner h2,\n.acf-no-post-types-wrapper .acf-no-taxonomies-inner h2,\n.acf-no-post-types-wrapper .acf-no-post-types-inner h2,\n.acf-no-post-types-wrapper .acf-no-options-pages-inner h2,\n.acf-no-post-types-wrapper .acf-options-preview-inner h2,\n.acf-no-options-pages-wrapper .acf-no-field-groups-inner h2,\n.acf-no-options-pages-wrapper .acf-no-taxonomies-inner h2,\n.acf-no-options-pages-wrapper .acf-no-post-types-inner h2,\n.acf-no-options-pages-wrapper .acf-no-options-pages-inner h2,\n.acf-no-options-pages-wrapper .acf-options-preview-inner h2,\n.acf-options-preview-wrapper .acf-no-field-groups-inner h2,\n.acf-options-preview-wrapper .acf-no-taxonomies-inner h2,\n.acf-options-preview-wrapper .acf-no-post-types-inner h2,\n.acf-options-preview-wrapper .acf-no-options-pages-inner h2,\n.acf-options-preview-wrapper .acf-options-preview-inner h2, .acf-page-title, .acf-admin-page h2,\n.acf-headerbar h2 {\n font-size: 18px;\n font-weight: 400;\n}\n\n.acf-h3, .acf-admin-page h3,\n.acf-headerbar h3, .acf-admin-page .postbox .postbox-header h2,\n.acf-admin-page .postbox .postbox-header h3,\n.acf-admin-page .postbox .title h2,\n.acf-admin-page .postbox .title h3,\n.acf-admin-page .acf-box .postbox-header h2,\n.acf-admin-page .acf-box .postbox-header h3,\n.acf-admin-page .acf-box .title h2,\n.acf-admin-page .acf-box .title h3, .acf-postbox-header h2.acf-postbox-title, .acf-admin-page #poststuff .postbox-header h2,\n.acf-admin-page #poststuff .postbox-header h3 {\n font-size: 16px;\n font-weight: 400;\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* Paragraphs\n*\n*---------------------------------------------------------------------------------------------*/\n.acf-admin-page .p1 {\n font-size: 15px;\n}\n.acf-admin-page .p2, .acf-admin-page .acf-no-field-groups-wrapper .acf-no-field-groups-inner p, .acf-no-field-groups-wrapper .acf-no-field-groups-inner .acf-admin-page p,\n.acf-admin-page .acf-no-field-groups-wrapper .acf-no-taxonomies-inner p,\n.acf-no-field-groups-wrapper .acf-no-taxonomies-inner .acf-admin-page p,\n.acf-admin-page .acf-no-field-groups-wrapper .acf-no-post-types-inner p,\n.acf-no-field-groups-wrapper .acf-no-post-types-inner .acf-admin-page p,\n.acf-admin-page .acf-no-field-groups-wrapper .acf-no-options-pages-inner p,\n.acf-no-field-groups-wrapper .acf-no-options-pages-inner .acf-admin-page p,\n.acf-admin-page .acf-no-field-groups-wrapper .acf-options-preview-inner p,\n.acf-no-field-groups-wrapper .acf-options-preview-inner .acf-admin-page p,\n.acf-admin-page .acf-no-taxonomies-wrapper .acf-no-field-groups-inner p,\n.acf-no-taxonomies-wrapper .acf-no-field-groups-inner .acf-admin-page p,\n.acf-admin-page .acf-no-taxonomies-wrapper .acf-no-taxonomies-inner p,\n.acf-no-taxonomies-wrapper .acf-no-taxonomies-inner .acf-admin-page p,\n.acf-admin-page .acf-no-taxonomies-wrapper .acf-no-post-types-inner p,\n.acf-no-taxonomies-wrapper .acf-no-post-types-inner .acf-admin-page p,\n.acf-admin-page .acf-no-taxonomies-wrapper .acf-no-options-pages-inner p,\n.acf-no-taxonomies-wrapper .acf-no-options-pages-inner .acf-admin-page p,\n.acf-admin-page .acf-no-taxonomies-wrapper .acf-options-preview-inner p,\n.acf-no-taxonomies-wrapper .acf-options-preview-inner .acf-admin-page p,\n.acf-admin-page .acf-no-post-types-wrapper .acf-no-field-groups-inner p,\n.acf-no-post-types-wrapper .acf-no-field-groups-inner .acf-admin-page p,\n.acf-admin-page .acf-no-post-types-wrapper .acf-no-taxonomies-inner p,\n.acf-no-post-types-wrapper .acf-no-taxonomies-inner .acf-admin-page p,\n.acf-admin-page .acf-no-post-types-wrapper .acf-no-post-types-inner p,\n.acf-no-post-types-wrapper .acf-no-post-types-inner .acf-admin-page p,\n.acf-admin-page .acf-no-post-types-wrapper .acf-no-options-pages-inner p,\n.acf-no-post-types-wrapper .acf-no-options-pages-inner .acf-admin-page p,\n.acf-admin-page .acf-no-post-types-wrapper .acf-options-preview-inner p,\n.acf-no-post-types-wrapper .acf-options-preview-inner .acf-admin-page p,\n.acf-admin-page .acf-no-options-pages-wrapper .acf-no-field-groups-inner p,\n.acf-no-options-pages-wrapper .acf-no-field-groups-inner .acf-admin-page p,\n.acf-admin-page .acf-no-options-pages-wrapper .acf-no-taxonomies-inner p,\n.acf-no-options-pages-wrapper .acf-no-taxonomies-inner .acf-admin-page p,\n.acf-admin-page .acf-no-options-pages-wrapper .acf-no-post-types-inner p,\n.acf-no-options-pages-wrapper .acf-no-post-types-inner .acf-admin-page p,\n.acf-admin-page .acf-no-options-pages-wrapper .acf-no-options-pages-inner p,\n.acf-no-options-pages-wrapper .acf-no-options-pages-inner .acf-admin-page p,\n.acf-admin-page .acf-no-options-pages-wrapper .acf-options-preview-inner p,\n.acf-no-options-pages-wrapper .acf-options-preview-inner .acf-admin-page p,\n.acf-admin-page .acf-options-preview-wrapper .acf-no-field-groups-inner p,\n.acf-options-preview-wrapper .acf-no-field-groups-inner .acf-admin-page p,\n.acf-admin-page .acf-options-preview-wrapper .acf-no-taxonomies-inner p,\n.acf-options-preview-wrapper .acf-no-taxonomies-inner .acf-admin-page p,\n.acf-admin-page .acf-options-preview-wrapper .acf-no-post-types-inner p,\n.acf-options-preview-wrapper .acf-no-post-types-inner .acf-admin-page p,\n.acf-admin-page .acf-options-preview-wrapper .acf-no-options-pages-inner p,\n.acf-options-preview-wrapper .acf-no-options-pages-inner .acf-admin-page p,\n.acf-admin-page .acf-options-preview-wrapper .acf-options-preview-inner p,\n.acf-options-preview-wrapper .acf-options-preview-inner .acf-admin-page p, .acf-admin-page #acf-admin-tools .acf-meta-box-wrap .acf-fields .acf-label, #acf-admin-tools .acf-meta-box-wrap .acf-fields .acf-admin-page .acf-label {\n font-size: 14px;\n}\n.acf-admin-page .p3, .acf-admin-page .acf-internal-post-type .wp-list-table .post-state, .acf-internal-post-type .wp-list-table .acf-admin-page .post-state, .acf-admin-page .subtitle {\n font-size: 13.5px;\n}\n.acf-admin-page .p4, .acf-admin-page .acf-admin-toolbar a.acf-admin-toolbar-upgrade-btn p, .acf-admin-toolbar a.acf-admin-toolbar-upgrade-btn .acf-admin-page p, .acf-admin-page #acf-update-information .form-table th, #acf-update-information .form-table .acf-admin-page th,\n.acf-admin-page #acf-update-information .form-table td,\n#acf-update-information .form-table .acf-admin-page td, .acf-admin-page #acf-admin-tools.tool-export .acf-panel h3, #acf-admin-tools.tool-export .acf-panel .acf-admin-page h3, .acf-admin-page .acf-btn.acf-btn-sm, .acf-admin-page .acf-admin-toolbar .acf-tab, .acf-admin-toolbar .acf-admin-page .acf-tab, .acf-admin-page .acf-options-preview .acf-options-pages-preview-upgrade-button p, .acf-options-preview .acf-options-pages-preview-upgrade-button .acf-admin-page p,\n.acf-admin-page .acf-no-options-pages-wrapper .acf-options-pages-preview-upgrade-button p,\n.acf-no-options-pages-wrapper .acf-options-pages-preview-upgrade-button .acf-admin-page p, .acf-admin-page .acf-internal-post-type .subsubsub li, .acf-internal-post-type .subsubsub .acf-admin-page li, .acf-admin-page .acf-internal-post-type .wp-list-table tbody th, .acf-internal-post-type .wp-list-table tbody .acf-admin-page th,\n.acf-admin-page .acf-internal-post-type .wp-list-table tbody td,\n.acf-internal-post-type .wp-list-table tbody .acf-admin-page td, .acf-admin-page .acf-internal-post-type .wp-list-table thead th, .acf-internal-post-type .wp-list-table thead .acf-admin-page th, .acf-admin-page .acf-internal-post-type .wp-list-table thead td, .acf-internal-post-type .wp-list-table thead .acf-admin-page td,\n.acf-admin-page .acf-internal-post-type .wp-list-table tfoot th,\n.acf-internal-post-type .wp-list-table tfoot .acf-admin-page th, .acf-admin-page .acf-internal-post-type .wp-list-table tfoot td, .acf-internal-post-type .wp-list-table tfoot .acf-admin-page td, .acf-admin-page .acf-input .select2-container.-acf .select2-selection__rendered,\n.acf-admin-page .rule-groups .select2-container.-acf .select2-selection__rendered, .acf-admin-page .button, .acf-admin-page input[type=text],\n.acf-admin-page input[type=search],\n.acf-admin-page input[type=number],\n.acf-admin-page textarea,\n.acf-admin-page select {\n font-size: 13px;\n}\n.acf-admin-page .p5, .acf-admin-page .acf-modal.acf-browse-fields-modal .acf-field-picker .acf-modal-content .acf-field-types-tab .acf-field-type .field-type-label, .acf-modal.acf-browse-fields-modal .acf-field-picker .acf-modal-content .acf-field-types-tab .acf-field-type .acf-admin-page .field-type-label,\n.acf-admin-page .acf-modal.acf-browse-fields-modal .acf-field-picker .acf-modal-content .acf-field-type-search-results .acf-field-type .field-type-label,\n.acf-modal.acf-browse-fields-modal .acf-field-picker .acf-modal-content .acf-field-type-search-results .acf-field-type .acf-admin-page .field-type-label, .acf-admin-page .acf-internal-post-type .row-actions, .acf-internal-post-type .acf-admin-page .row-actions, .acf-admin-page .acf-notice .button,\n.acf-admin-page .notice .button,\n.acf-admin-page #lost-connection-notice .button {\n font-size: 12.5px;\n}\n.acf-admin-page .p6, .acf-admin-page #acf-update-information .acf-update-changelog p em, #acf-update-information .acf-update-changelog p .acf-admin-page em, .acf-admin-page .acf-no-field-groups-wrapper .acf-no-field-groups-inner p.acf-small, .acf-no-field-groups-wrapper .acf-no-field-groups-inner .acf-admin-page p.acf-small,\n.acf-admin-page .acf-no-field-groups-wrapper .acf-no-taxonomies-inner p.acf-small,\n.acf-no-field-groups-wrapper .acf-no-taxonomies-inner .acf-admin-page p.acf-small,\n.acf-admin-page .acf-no-field-groups-wrapper .acf-no-post-types-inner p.acf-small,\n.acf-no-field-groups-wrapper .acf-no-post-types-inner .acf-admin-page p.acf-small,\n.acf-admin-page .acf-no-field-groups-wrapper .acf-no-options-pages-inner p.acf-small,\n.acf-no-field-groups-wrapper .acf-no-options-pages-inner .acf-admin-page p.acf-small,\n.acf-admin-page .acf-no-field-groups-wrapper .acf-options-preview-inner p.acf-small,\n.acf-no-field-groups-wrapper .acf-options-preview-inner .acf-admin-page p.acf-small,\n.acf-admin-page .acf-no-taxonomies-wrapper .acf-no-field-groups-inner p.acf-small,\n.acf-no-taxonomies-wrapper .acf-no-field-groups-inner .acf-admin-page p.acf-small,\n.acf-admin-page .acf-no-taxonomies-wrapper .acf-no-taxonomies-inner p.acf-small,\n.acf-no-taxonomies-wrapper .acf-no-taxonomies-inner .acf-admin-page p.acf-small,\n.acf-admin-page .acf-no-taxonomies-wrapper .acf-no-post-types-inner p.acf-small,\n.acf-no-taxonomies-wrapper .acf-no-post-types-inner .acf-admin-page p.acf-small,\n.acf-admin-page .acf-no-taxonomies-wrapper .acf-no-options-pages-inner p.acf-small,\n.acf-no-taxonomies-wrapper .acf-no-options-pages-inner .acf-admin-page p.acf-small,\n.acf-admin-page .acf-no-taxonomies-wrapper .acf-options-preview-inner p.acf-small,\n.acf-no-taxonomies-wrapper .acf-options-preview-inner .acf-admin-page p.acf-small,\n.acf-admin-page .acf-no-post-types-wrapper .acf-no-field-groups-inner p.acf-small,\n.acf-no-post-types-wrapper .acf-no-field-groups-inner .acf-admin-page p.acf-small,\n.acf-admin-page .acf-no-post-types-wrapper .acf-no-taxonomies-inner p.acf-small,\n.acf-no-post-types-wrapper .acf-no-taxonomies-inner .acf-admin-page p.acf-small,\n.acf-admin-page .acf-no-post-types-wrapper .acf-no-post-types-inner p.acf-small,\n.acf-no-post-types-wrapper .acf-no-post-types-inner .acf-admin-page p.acf-small,\n.acf-admin-page .acf-no-post-types-wrapper .acf-no-options-pages-inner p.acf-small,\n.acf-no-post-types-wrapper .acf-no-options-pages-inner .acf-admin-page p.acf-small,\n.acf-admin-page .acf-no-post-types-wrapper .acf-options-preview-inner p.acf-small,\n.acf-no-post-types-wrapper .acf-options-preview-inner .acf-admin-page p.acf-small,\n.acf-admin-page .acf-no-options-pages-wrapper .acf-no-field-groups-inner p.acf-small,\n.acf-no-options-pages-wrapper .acf-no-field-groups-inner .acf-admin-page p.acf-small,\n.acf-admin-page .acf-no-options-pages-wrapper .acf-no-taxonomies-inner p.acf-small,\n.acf-no-options-pages-wrapper .acf-no-taxonomies-inner .acf-admin-page p.acf-small,\n.acf-admin-page .acf-no-options-pages-wrapper .acf-no-post-types-inner p.acf-small,\n.acf-no-options-pages-wrapper .acf-no-post-types-inner .acf-admin-page p.acf-small,\n.acf-admin-page .acf-no-options-pages-wrapper .acf-no-options-pages-inner p.acf-small,\n.acf-no-options-pages-wrapper .acf-no-options-pages-inner .acf-admin-page p.acf-small,\n.acf-admin-page .acf-no-options-pages-wrapper .acf-options-preview-inner p.acf-small,\n.acf-no-options-pages-wrapper .acf-options-preview-inner .acf-admin-page p.acf-small,\n.acf-admin-page .acf-options-preview-wrapper .acf-no-field-groups-inner p.acf-small,\n.acf-options-preview-wrapper .acf-no-field-groups-inner .acf-admin-page p.acf-small,\n.acf-admin-page .acf-options-preview-wrapper .acf-no-taxonomies-inner p.acf-small,\n.acf-options-preview-wrapper .acf-no-taxonomies-inner .acf-admin-page p.acf-small,\n.acf-admin-page .acf-options-preview-wrapper .acf-no-post-types-inner p.acf-small,\n.acf-options-preview-wrapper .acf-no-post-types-inner .acf-admin-page p.acf-small,\n.acf-admin-page .acf-options-preview-wrapper .acf-no-options-pages-inner p.acf-small,\n.acf-options-preview-wrapper .acf-no-options-pages-inner .acf-admin-page p.acf-small,\n.acf-admin-page .acf-options-preview-wrapper .acf-options-preview-inner p.acf-small,\n.acf-options-preview-wrapper .acf-options-preview-inner .acf-admin-page p.acf-small, .acf-admin-page .acf-internal-post-type .row-actions, .acf-internal-post-type .acf-admin-page .row-actions, .acf-admin-page .acf-small {\n font-size: 12px;\n}\n.acf-admin-page .p7, .acf-admin-page .acf-tooltip, .acf-admin-page .acf-notice p.help,\n.acf-admin-page .notice p.help,\n.acf-admin-page #lost-connection-notice p.help {\n font-size: 11.5px;\n}\n.acf-admin-page .p8 {\n font-size: 11px;\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* Page titles\n*\n*---------------------------------------------------------------------------------------------*/\n.acf-page-title {\n color: #344054;\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* Hide old / native WP titles from pages\n*\n*---------------------------------------------------------------------------------------------*/\n.acf-admin-page .acf-settings-wrap h1 {\n display: none !important;\n}\n.acf-admin-page #acf-admin-tools h1:not(.acf-field-group-pro-features-title, .acf-field-group-pro-features-title-sm) {\n display: none !important;\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* Small\n*\n*---------------------------------------------------------------------------------------------*/\n/*---------------------------------------------------------------------------------------------\n*\n* Link focus style\n*\n*---------------------------------------------------------------------------------------------*/\n.acf-admin-page a:focus {\n box-shadow: none;\n outline: none;\n}\n.acf-admin-page a:focus-visible {\n box-shadow: 0 0 0 1px #4f94d4, 0 0 2px 1px rgba(79, 148, 212, 0.8);\n outline: 1px solid transparent;\n}\n\n.acf-admin-page {\n /*---------------------------------------------------------------------------------------------\n *\n * All Inputs\n *\n *---------------------------------------------------------------------------------------------*/\n /*---------------------------------------------------------------------------------------------\n *\n * Read only text inputs\n *\n *---------------------------------------------------------------------------------------------*/\n /*---------------------------------------------------------------------------------------------\n *\n * Number fields\n *\n *---------------------------------------------------------------------------------------------*/\n /*---------------------------------------------------------------------------------------------\n *\n * Textarea\n *\n *---------------------------------------------------------------------------------------------*/\n /*---------------------------------------------------------------------------------------------\n *\n * Select\n *\n *---------------------------------------------------------------------------------------------*/\n /*---------------------------------------------------------------------------------------------\n *\n * Radio Button & Checkbox base styling\n *\n *---------------------------------------------------------------------------------------------*/\n /*---------------------------------------------------------------------------------------------\n *\n * Radio Buttons\n *\n *---------------------------------------------------------------------------------------------*/\n /*---------------------------------------------------------------------------------------------\n *\n * Checkboxes\n *\n *---------------------------------------------------------------------------------------------*/\n /*---------------------------------------------------------------------------------------------\n *\n * Radio Buttons & Checkbox lists\n *\n *---------------------------------------------------------------------------------------------*/\n /*---------------------------------------------------------------------------------------------\n *\n * ACF Switch\n *\n *---------------------------------------------------------------------------------------------*/\n /*---------------------------------------------------------------------------------------------\n *\n * File input button\n *\n *---------------------------------------------------------------------------------------------*/\n /*---------------------------------------------------------------------------------------------\n *\n * Action Buttons\n *\n *---------------------------------------------------------------------------------------------*/\n /*---------------------------------------------------------------------------------------------\n *\n * Edit field group header\n *\n *---------------------------------------------------------------------------------------------*/\n /*---------------------------------------------------------------------------------------------\n *\n * Select2 inputs\n *\n *---------------------------------------------------------------------------------------------*/\n /*---------------------------------------------------------------------------------------------\n *\n * ACF label\n *\n *---------------------------------------------------------------------------------------------*/\n /*---------------------------------------------------------------------------------------------\n *\n * Tooltip for field name field setting (result of a fix for keyboard navigation)\n *\n *---------------------------------------------------------------------------------------------*/\n /* Field Type Selection select2 */\n /*---------------------------------------------------------------------------------------------\n *\n * RTL arrow position\n *\n *---------------------------------------------------------------------------------------------*/\n}\n.acf-admin-page input[type=text],\n.acf-admin-page input[type=search],\n.acf-admin-page input[type=number],\n.acf-admin-page textarea,\n.acf-admin-page select {\n box-sizing: border-box;\n height: 40px;\n padding-right: 12px;\n padding-left: 12px;\n background-color: #fff;\n border-color: #D0D5DD;\n box-shadow: 0px 1px 2px rgba(16, 24, 40, 0.1);\n border-radius: 6px;\n /* stylelint-disable-next-line scss/at-extend-no-missing-placeholder */\n color: #344054;\n}\n.acf-admin-page input[type=text]:focus,\n.acf-admin-page input[type=search]:focus,\n.acf-admin-page input[type=number]:focus,\n.acf-admin-page textarea:focus,\n.acf-admin-page select:focus {\n outline: 3px solid #EBF5FA;\n border-color: #399CCB;\n}\n.acf-admin-page input[type=text]:disabled,\n.acf-admin-page input[type=search]:disabled,\n.acf-admin-page input[type=number]:disabled,\n.acf-admin-page textarea:disabled,\n.acf-admin-page select:disabled {\n background-color: #F9FAFB;\n color: #808a9e;\n}\n.acf-admin-page input[type=text]::placeholder,\n.acf-admin-page input[type=search]::placeholder,\n.acf-admin-page input[type=number]::placeholder,\n.acf-admin-page textarea::placeholder,\n.acf-admin-page select::placeholder {\n color: #98A2B3;\n}\n.acf-admin-page input[type=text]:read-only {\n background-color: #F9FAFB;\n color: #98A2B3;\n}\n.acf-admin-page .acf-field.acf-field-number .acf-label,\n.acf-admin-page .acf-field.acf-field-number .acf-input input[type=number] {\n max-width: 180px;\n}\n.acf-admin-page textarea {\n box-sizing: border-box;\n padding-top: 10px;\n padding-bottom: 10px;\n height: 80px;\n min-height: 56px;\n}\n.acf-admin-page select {\n min-width: 160px;\n max-width: 100%;\n padding-right: 40px;\n padding-left: 12px;\n background-image: url(\"../../images/icons/icon-chevron-down.svg\");\n background-position: right 10px top 50%;\n background-size: 20px;\n}\n.acf-admin-page select:hover, .acf-admin-page select:focus {\n color: #0783BE;\n}\n.acf-admin-page select::before {\n content: \"\";\n display: block;\n position: absolute;\n top: 5px;\n left: 5px;\n width: 20px;\n height: 20px;\n}\n.acf-admin-page.rtl select {\n padding-right: 12px;\n padding-left: 40px;\n background-position: left 10px top 50%;\n}\n.acf-admin-page input[type=radio],\n.acf-admin-page input[type=checkbox] {\n box-sizing: border-box;\n width: 16px;\n height: 16px;\n padding: 0;\n border-width: 1px;\n border-style: solid;\n border-color: #98A2B3;\n background: #fff;\n box-shadow: none;\n}\n.acf-admin-page input[type=radio]:hover,\n.acf-admin-page input[type=checkbox]:hover {\n background-color: #EBF5FA;\n border-color: #0783BE;\n}\n.acf-admin-page input[type=radio]:checked, .acf-admin-page input[type=radio]:focus-visible,\n.acf-admin-page input[type=checkbox]:checked,\n.acf-admin-page input[type=checkbox]:focus-visible {\n background-color: #EBF5FA;\n border-color: #0783BE;\n}\n.acf-admin-page input[type=radio]:checked:before, .acf-admin-page input[type=radio]:focus-visible:before,\n.acf-admin-page input[type=checkbox]:checked:before,\n.acf-admin-page input[type=checkbox]:focus-visible:before {\n content: \"\";\n position: relative;\n top: -1px;\n left: -1px;\n width: 16px;\n height: 16px;\n margin: 0;\n padding: 0;\n background-color: transparent;\n background-size: cover;\n background-repeat: no-repeat;\n background-position: center;\n}\n.acf-admin-page input[type=radio]:active,\n.acf-admin-page input[type=checkbox]:active {\n box-shadow: 0px 0px 0px 3px #EBF5FA, 0px 0px 0px rgba(255, 54, 54, 0.25);\n}\n.acf-admin-page input[type=radio]:disabled,\n.acf-admin-page input[type=checkbox]:disabled {\n background-color: #F9FAFB;\n border-color: #D0D5DD;\n}\n.acf-admin-page.rtl input[type=radio]:checked:before, .acf-admin-page.rtl input[type=radio]:focus-visible:before,\n.acf-admin-page.rtl input[type=checkbox]:checked:before,\n.acf-admin-page.rtl input[type=checkbox]:focus-visible:before {\n left: 1px;\n}\n.acf-admin-page input[type=radio]:checked:before, .acf-admin-page input[type=radio]:focus:before {\n background-image: url(\"../../images/field-states/radio-active.svg\");\n}\n.acf-admin-page input[type=checkbox]:checked:before, .acf-admin-page input[type=checkbox]:focus:before {\n background-image: url(\"../../images/field-states/checkbox-active.svg\");\n}\n.acf-admin-page .acf-radio-list li input[type=radio],\n.acf-admin-page .acf-radio-list li input[type=checkbox],\n.acf-admin-page .acf-checkbox-list li input[type=radio],\n.acf-admin-page .acf-checkbox-list li input[type=checkbox] {\n margin-right: 6px;\n}\n.acf-admin-page .acf-radio-list.acf-bl li,\n.acf-admin-page .acf-checkbox-list.acf-bl li {\n margin-bottom: 8px;\n}\n.acf-admin-page .acf-radio-list.acf-bl li:last-of-type,\n.acf-admin-page .acf-checkbox-list.acf-bl li:last-of-type {\n margin-bottom: 0;\n}\n.acf-admin-page .acf-radio-list label,\n.acf-admin-page .acf-checkbox-list label {\n display: flex;\n align-items: center;\n align-content: center;\n}\n.acf-admin-page .acf-switch {\n width: 42px;\n height: 24px;\n border: none;\n background-color: #D0D5DD;\n border-radius: 12px;\n}\n.acf-admin-page .acf-switch:hover {\n background-color: #98A2B3;\n}\n.acf-admin-page .acf-switch:active {\n box-shadow: 0px 0px 0px 3px #EBF5FA, 0px 0px 0px rgba(255, 54, 54, 0.25);\n}\n.acf-admin-page .acf-switch.-on {\n background-color: #0783BE;\n}\n.acf-admin-page .acf-switch.-on:hover {\n background-color: #066998;\n}\n.acf-admin-page .acf-switch.-on .acf-switch-slider {\n left: 20px;\n}\n.acf-admin-page .acf-switch .acf-switch-off,\n.acf-admin-page .acf-switch .acf-switch-on {\n visibility: hidden;\n}\n.acf-admin-page .acf-switch .acf-switch-slider {\n width: 20px;\n height: 20px;\n border: none;\n border-radius: 100px;\n box-shadow: 0px 1px 3px rgba(16, 24, 40, 0.1), 0px 1px 2px rgba(16, 24, 40, 0.06);\n}\n.acf-admin-page .acf-field-true-false {\n display: flex;\n align-items: flex-start;\n}\n.acf-admin-page .acf-field-true-false .acf-label {\n order: 2;\n display: block;\n align-items: center;\n margin-top: 2px;\n margin-bottom: 0;\n margin-left: 12px;\n}\n.acf-admin-page .acf-field-true-false .acf-label label {\n margin-bottom: 0;\n}\n.acf-admin-page .acf-field-true-false .acf-label .acf-tip {\n margin-left: 12px;\n}\n.acf-admin-page .acf-field-true-false .acf-label .description {\n display: block;\n margin-top: 2px;\n margin-left: 0;\n}\n.acf-admin-page.rtl .acf-field-true-false .acf-label {\n margin-right: 12px;\n margin-left: 0;\n}\n.acf-admin-page.rtl .acf-field-true-false .acf-tip {\n margin-right: 12px;\n margin-left: 0;\n}\n.acf-admin-page input::file-selector-button {\n box-sizing: border-box;\n min-height: 40px;\n margin-right: 16px;\n padding-top: 8px;\n padding-right: 16px;\n padding-bottom: 8px;\n padding-left: 16px;\n background-color: transparent;\n color: #0783BE !important;\n border-radius: 6px;\n border-width: 1px;\n border-style: solid;\n border-color: #0783BE;\n text-decoration: none;\n}\n.acf-admin-page input::file-selector-button:hover {\n border-color: #066998;\n cursor: pointer;\n color: #066998 !important;\n}\n.acf-admin-page .button {\n display: inline-flex;\n align-items: center;\n height: 40px;\n padding-right: 16px;\n padding-left: 16px;\n background-color: transparent;\n border-width: 1px;\n border-style: solid;\n border-color: #0783BE;\n border-radius: 6px;\n color: #0783BE;\n}\n.acf-admin-page .button:hover {\n background-color: #f3f9fc;\n border-color: #0783BE;\n color: #0783BE;\n}\n.acf-admin-page .button:focus {\n background-color: #f3f9fc;\n outline: 3px solid #EBF5FA;\n color: #0783BE;\n}\n.acf-admin-page .edit-field-group-header {\n display: block !important;\n}\n.acf-admin-page .acf-input .select2-container.-acf .select2-selection,\n.acf-admin-page .rule-groups .select2-container.-acf .select2-selection {\n border: none;\n line-height: 1;\n}\n.acf-admin-page .acf-input .select2-container.-acf .select2-selection__rendered,\n.acf-admin-page .rule-groups .select2-container.-acf .select2-selection__rendered {\n box-sizing: border-box;\n padding-right: 0;\n padding-left: 0;\n background-color: #fff;\n border-width: 1px;\n border-style: solid;\n border-color: #D0D5DD;\n box-shadow: 0px 1px 2px rgba(16, 24, 40, 0.1);\n border-radius: 6px;\n /* stylelint-disable-next-line scss/at-extend-no-missing-placeholder */\n color: #344054;\n}\n.acf-admin-page .acf-input .acf-conditional-select-name,\n.acf-admin-page .rule-groups .acf-conditional-select-name {\n min-width: 180px;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n.acf-admin-page .acf-input .acf-conditional-select-id,\n.acf-admin-page .rule-groups .acf-conditional-select-id {\n padding-right: 30px;\n}\n.acf-admin-page .acf-input .value .select2-container--focus,\n.acf-admin-page .rule-groups .value .select2-container--focus {\n height: 40px;\n}\n.acf-admin-page .acf-input .value .select2-container--open .select2-selection__rendered,\n.acf-admin-page .rule-groups .value .select2-container--open .select2-selection__rendered {\n border-color: #399CCB;\n}\n.acf-admin-page .acf-input .select2-container--focus,\n.acf-admin-page .rule-groups .select2-container--focus {\n outline: 3px solid #EBF5FA;\n border-color: #399CCB;\n border-radius: 6px;\n}\n.acf-admin-page .acf-input .select2-container--focus .select2-selection__rendered,\n.acf-admin-page .rule-groups .select2-container--focus .select2-selection__rendered {\n border-color: #399CCB !important;\n}\n.acf-admin-page .acf-input .select2-container--focus.select2-container--below.select2-container--open .select2-selection__rendered,\n.acf-admin-page .rule-groups .select2-container--focus.select2-container--below.select2-container--open .select2-selection__rendered {\n border-bottom-right-radius: 0 !important;\n border-bottom-left-radius: 0 !important;\n}\n.acf-admin-page .acf-input .select2-container--focus.select2-container--above.select2-container--open .select2-selection__rendered,\n.acf-admin-page .rule-groups .select2-container--focus.select2-container--above.select2-container--open .select2-selection__rendered {\n border-top-right-radius: 0 !important;\n border-top-left-radius: 0 !important;\n}\n.acf-admin-page .acf-input .select2-container .select2-search--inline .select2-search__field,\n.acf-admin-page .rule-groups .select2-container .select2-search--inline .select2-search__field {\n margin: 0;\n padding-left: 6px;\n}\n.acf-admin-page .acf-input .select2-container .select2-search--inline .select2-search__field:focus,\n.acf-admin-page .rule-groups .select2-container .select2-search--inline .select2-search__field:focus {\n outline: none;\n border: none;\n}\n.acf-admin-page .acf-input .select2-container--default .select2-selection--multiple .select2-selection__rendered,\n.acf-admin-page .rule-groups .select2-container--default .select2-selection--multiple .select2-selection__rendered {\n padding-top: 0;\n padding-right: 6px;\n padding-bottom: 0;\n padding-left: 6px;\n}\n.acf-admin-page .acf-input .select2-selection__clear,\n.acf-admin-page .rule-groups .select2-selection__clear {\n width: 18px;\n height: 18px;\n margin-top: 12px;\n margin-right: 1px;\n text-indent: 100%;\n white-space: nowrap;\n overflow: hidden;\n color: #fff;\n}\n.acf-admin-page .acf-input .select2-selection__clear:before,\n.acf-admin-page .rule-groups .select2-selection__clear:before {\n content: \"\";\n display: block;\n width: 16px;\n height: 16px;\n top: 0;\n left: 0;\n border: none;\n border-radius: 0;\n -webkit-mask-size: contain;\n mask-size: contain;\n -webkit-mask-repeat: no-repeat;\n mask-repeat: no-repeat;\n -webkit-mask-position: center;\n mask-position: center;\n -webkit-mask-image: url(\"../../images/icons/icon-close.svg\");\n mask-image: url(\"../../images/icons/icon-close.svg\");\n background-color: #98A2B3;\n}\n.acf-admin-page .acf-input .select2-selection__clear:hover::before,\n.acf-admin-page .rule-groups .select2-selection__clear:hover::before {\n background-color: #0783BE;\n}\n.acf-admin-page .acf-label {\n display: flex;\n align-items: center;\n justify-content: space-between;\n}\n.acf-admin-page .acf-label .acf-icon-help {\n width: 18px;\n height: 18px;\n background-color: #98A2B3;\n}\n.acf-admin-page .acf-label label {\n margin-bottom: 0;\n}\n.acf-admin-page .acf-label .description {\n margin-top: 2px;\n}\n.acf-admin-page .acf-field-setting-name .acf-tip {\n position: absolute;\n top: 0;\n left: 654px;\n color: #98A2B3;\n}\n.rtl.acf-admin-page .acf-field-setting-name .acf-tip {\n left: auto;\n right: 654px;\n}\n\n.acf-admin-page .acf-field-setting-name .acf-tip .acf-icon-help {\n width: 18px;\n height: 18px;\n}\n.acf-admin-page .acf-field-setting-type .select2-container.-acf,\n.acf-admin-page .acf-field-permalink-rewrite .select2-container.-acf,\n.acf-admin-page .acf-field-query-var .select2-container.-acf,\n.acf-admin-page .acf-field-capability .select2-container.-acf,\n.acf-admin-page .acf-field-parent-slug .select2-container.-acf,\n.acf-admin-page .acf-field-data-storage .select2-container.-acf,\n.acf-admin-page .acf-field-manage-terms .select2-container.-acf,\n.acf-admin-page .acf-field-edit-terms .select2-container.-acf,\n.acf-admin-page .acf-field-delete-terms .select2-container.-acf,\n.acf-admin-page .acf-field-assign-terms .select2-container.-acf,\n.acf-admin-page .acf-field-meta-box .select2-container.-acf,\n.acf-admin-page .rule-groups .select2-container.-acf {\n min-height: 40px;\n}\n.acf-admin-page .acf-field-setting-type .select2-container--default .select2-selection--single .select2-selection__rendered,\n.acf-admin-page .acf-field-permalink-rewrite .select2-container--default .select2-selection--single .select2-selection__rendered,\n.acf-admin-page .acf-field-query-var .select2-container--default .select2-selection--single .select2-selection__rendered,\n.acf-admin-page .acf-field-capability .select2-container--default .select2-selection--single .select2-selection__rendered,\n.acf-admin-page .acf-field-parent-slug .select2-container--default .select2-selection--single .select2-selection__rendered,\n.acf-admin-page .acf-field-data-storage .select2-container--default .select2-selection--single .select2-selection__rendered,\n.acf-admin-page .acf-field-manage-terms .select2-container--default .select2-selection--single .select2-selection__rendered,\n.acf-admin-page .acf-field-edit-terms .select2-container--default .select2-selection--single .select2-selection__rendered,\n.acf-admin-page .acf-field-delete-terms .select2-container--default .select2-selection--single .select2-selection__rendered,\n.acf-admin-page .acf-field-assign-terms .select2-container--default .select2-selection--single .select2-selection__rendered,\n.acf-admin-page .acf-field-meta-box .select2-container--default .select2-selection--single .select2-selection__rendered,\n.acf-admin-page .rule-groups .select2-container--default .select2-selection--single .select2-selection__rendered {\n display: flex;\n align-items: center;\n position: relative;\n z-index: 800;\n min-height: 40px;\n padding-top: 0;\n padding-right: 12px;\n padding-bottom: 0;\n padding-left: 12px;\n}\n.acf-admin-page .acf-field-setting-type .select2-container--default .select2-selection--single .field-type-icon,\n.acf-admin-page .acf-field-permalink-rewrite .select2-container--default .select2-selection--single .field-type-icon,\n.acf-admin-page .acf-field-query-var .select2-container--default .select2-selection--single .field-type-icon,\n.acf-admin-page .acf-field-capability .select2-container--default .select2-selection--single .field-type-icon,\n.acf-admin-page .acf-field-parent-slug .select2-container--default .select2-selection--single .field-type-icon,\n.acf-admin-page .acf-field-data-storage .select2-container--default .select2-selection--single .field-type-icon,\n.acf-admin-page .acf-field-manage-terms .select2-container--default .select2-selection--single .field-type-icon,\n.acf-admin-page .acf-field-edit-terms .select2-container--default .select2-selection--single .field-type-icon,\n.acf-admin-page .acf-field-delete-terms .select2-container--default .select2-selection--single .field-type-icon,\n.acf-admin-page .acf-field-assign-terms .select2-container--default .select2-selection--single .field-type-icon,\n.acf-admin-page .acf-field-meta-box .select2-container--default .select2-selection--single .field-type-icon,\n.acf-admin-page .rule-groups .select2-container--default .select2-selection--single .field-type-icon {\n top: auto;\n width: 18px;\n height: 18px;\n margin-right: 2px;\n}\n.acf-admin-page .acf-field-setting-type .select2-container--default .select2-selection--single .field-type-icon:before,\n.acf-admin-page .acf-field-permalink-rewrite .select2-container--default .select2-selection--single .field-type-icon:before,\n.acf-admin-page .acf-field-query-var .select2-container--default .select2-selection--single .field-type-icon:before,\n.acf-admin-page .acf-field-capability .select2-container--default .select2-selection--single .field-type-icon:before,\n.acf-admin-page .acf-field-parent-slug .select2-container--default .select2-selection--single .field-type-icon:before,\n.acf-admin-page .acf-field-data-storage .select2-container--default .select2-selection--single .field-type-icon:before,\n.acf-admin-page .acf-field-manage-terms .select2-container--default .select2-selection--single .field-type-icon:before,\n.acf-admin-page .acf-field-edit-terms .select2-container--default .select2-selection--single .field-type-icon:before,\n.acf-admin-page .acf-field-delete-terms .select2-container--default .select2-selection--single .field-type-icon:before,\n.acf-admin-page .acf-field-assign-terms .select2-container--default .select2-selection--single .field-type-icon:before,\n.acf-admin-page .acf-field-meta-box .select2-container--default .select2-selection--single .field-type-icon:before,\n.acf-admin-page .rule-groups .select2-container--default .select2-selection--single .field-type-icon:before {\n width: 9px;\n height: 9px;\n}\n.acf-admin-page .acf-field-setting-type .select2-container--open .select2-selection__rendered,\n.acf-admin-page .acf-field-permalink-rewrite .select2-container--open .select2-selection__rendered,\n.acf-admin-page .acf-field-query-var .select2-container--open .select2-selection__rendered,\n.acf-admin-page .acf-field-capability .select2-container--open .select2-selection__rendered,\n.acf-admin-page .acf-field-parent-slug .select2-container--open .select2-selection__rendered,\n.acf-admin-page .acf-field-data-storage .select2-container--open .select2-selection__rendered,\n.acf-admin-page .acf-field-manage-terms .select2-container--open .select2-selection__rendered,\n.acf-admin-page .acf-field-edit-terms .select2-container--open .select2-selection__rendered,\n.acf-admin-page .acf-field-delete-terms .select2-container--open .select2-selection__rendered,\n.acf-admin-page .acf-field-assign-terms .select2-container--open .select2-selection__rendered,\n.acf-admin-page .acf-field-meta-box .select2-container--open .select2-selection__rendered,\n.acf-admin-page .rule-groups .select2-container--open .select2-selection__rendered {\n border-color: #6BB5D8 !important;\n border-bottom-color: #D0D5DD !important;\n}\n.acf-admin-page .acf-field-setting-type .select2-container--open.select2-container--below .select2-selection__rendered,\n.acf-admin-page .acf-field-permalink-rewrite .select2-container--open.select2-container--below .select2-selection__rendered,\n.acf-admin-page .acf-field-query-var .select2-container--open.select2-container--below .select2-selection__rendered,\n.acf-admin-page .acf-field-capability .select2-container--open.select2-container--below .select2-selection__rendered,\n.acf-admin-page .acf-field-parent-slug .select2-container--open.select2-container--below .select2-selection__rendered,\n.acf-admin-page .acf-field-data-storage .select2-container--open.select2-container--below .select2-selection__rendered,\n.acf-admin-page .acf-field-manage-terms .select2-container--open.select2-container--below .select2-selection__rendered,\n.acf-admin-page .acf-field-edit-terms .select2-container--open.select2-container--below .select2-selection__rendered,\n.acf-admin-page .acf-field-delete-terms .select2-container--open.select2-container--below .select2-selection__rendered,\n.acf-admin-page .acf-field-assign-terms .select2-container--open.select2-container--below .select2-selection__rendered,\n.acf-admin-page .acf-field-meta-box .select2-container--open.select2-container--below .select2-selection__rendered,\n.acf-admin-page .rule-groups .select2-container--open.select2-container--below .select2-selection__rendered {\n border-bottom-right-radius: 0 !important;\n border-bottom-left-radius: 0 !important;\n}\n.acf-admin-page .acf-field-setting-type .select2-container--open.select2-container--above .select2-selection__rendered,\n.acf-admin-page .acf-field-permalink-rewrite .select2-container--open.select2-container--above .select2-selection__rendered,\n.acf-admin-page .acf-field-query-var .select2-container--open.select2-container--above .select2-selection__rendered,\n.acf-admin-page .acf-field-capability .select2-container--open.select2-container--above .select2-selection__rendered,\n.acf-admin-page .acf-field-parent-slug .select2-container--open.select2-container--above .select2-selection__rendered,\n.acf-admin-page .acf-field-data-storage .select2-container--open.select2-container--above .select2-selection__rendered,\n.acf-admin-page .acf-field-manage-terms .select2-container--open.select2-container--above .select2-selection__rendered,\n.acf-admin-page .acf-field-edit-terms .select2-container--open.select2-container--above .select2-selection__rendered,\n.acf-admin-page .acf-field-delete-terms .select2-container--open.select2-container--above .select2-selection__rendered,\n.acf-admin-page .acf-field-assign-terms .select2-container--open.select2-container--above .select2-selection__rendered,\n.acf-admin-page .acf-field-meta-box .select2-container--open.select2-container--above .select2-selection__rendered,\n.acf-admin-page .rule-groups .select2-container--open.select2-container--above .select2-selection__rendered {\n border-top-right-radius: 0 !important;\n border-top-left-radius: 0 !important;\n border-bottom-color: #6BB5D8 !important;\n border-top-color: #D0D5DD !important;\n}\n.acf-admin-page .acf-field-setting-type .acf-selection.has-icon,\n.acf-admin-page .acf-field-permalink-rewrite .acf-selection.has-icon,\n.acf-admin-page .acf-field-query-var .acf-selection.has-icon,\n.acf-admin-page .acf-field-capability .acf-selection.has-icon,\n.acf-admin-page .acf-field-parent-slug .acf-selection.has-icon,\n.acf-admin-page .acf-field-data-storage .acf-selection.has-icon,\n.acf-admin-page .acf-field-manage-terms .acf-selection.has-icon,\n.acf-admin-page .acf-field-edit-terms .acf-selection.has-icon,\n.acf-admin-page .acf-field-delete-terms .acf-selection.has-icon,\n.acf-admin-page .acf-field-assign-terms .acf-selection.has-icon,\n.acf-admin-page .acf-field-meta-box .acf-selection.has-icon,\n.acf-admin-page .rule-groups .acf-selection.has-icon {\n margin-left: 6px;\n}\n.rtl.acf-admin-page .acf-field-setting-type .acf-selection.has-icon, .acf-admin-page .acf-field-permalink-rewrite .acf-selection.has-icon, .acf-admin-page .acf-field-query-var .acf-selection.has-icon, .acf-admin-page .acf-field-capability .acf-selection.has-icon, .acf-admin-page .acf-field-parent-slug .acf-selection.has-icon, .acf-admin-page .acf-field-data-storage .acf-selection.has-icon, .acf-admin-page .acf-field-manage-terms .acf-selection.has-icon, .acf-admin-page .acf-field-edit-terms .acf-selection.has-icon, .acf-admin-page .acf-field-delete-terms .acf-selection.has-icon, .acf-admin-page .acf-field-assign-terms .acf-selection.has-icon, .acf-admin-page .acf-field-meta-box .acf-selection.has-icon, .acf-admin-page .rule-groups .acf-selection.has-icon {\n margin-right: 6px;\n}\n\n.acf-admin-page .acf-field-setting-type .select2-selection__arrow,\n.acf-admin-page .acf-field-permalink-rewrite .select2-selection__arrow,\n.acf-admin-page .acf-field-query-var .select2-selection__arrow,\n.acf-admin-page .acf-field-capability .select2-selection__arrow,\n.acf-admin-page .acf-field-parent-slug .select2-selection__arrow,\n.acf-admin-page .acf-field-data-storage .select2-selection__arrow,\n.acf-admin-page .acf-field-manage-terms .select2-selection__arrow,\n.acf-admin-page .acf-field-edit-terms .select2-selection__arrow,\n.acf-admin-page .acf-field-delete-terms .select2-selection__arrow,\n.acf-admin-page .acf-field-assign-terms .select2-selection__arrow,\n.acf-admin-page .acf-field-meta-box .select2-selection__arrow,\n.acf-admin-page .rule-groups .select2-selection__arrow {\n width: 20px;\n height: 20px;\n top: calc(50% - 10px);\n right: 12px;\n background-color: transparent;\n}\n.acf-admin-page .acf-field-setting-type .select2-selection__arrow:after,\n.acf-admin-page .acf-field-permalink-rewrite .select2-selection__arrow:after,\n.acf-admin-page .acf-field-query-var .select2-selection__arrow:after,\n.acf-admin-page .acf-field-capability .select2-selection__arrow:after,\n.acf-admin-page .acf-field-parent-slug .select2-selection__arrow:after,\n.acf-admin-page .acf-field-data-storage .select2-selection__arrow:after,\n.acf-admin-page .acf-field-manage-terms .select2-selection__arrow:after,\n.acf-admin-page .acf-field-edit-terms .select2-selection__arrow:after,\n.acf-admin-page .acf-field-delete-terms .select2-selection__arrow:after,\n.acf-admin-page .acf-field-assign-terms .select2-selection__arrow:after,\n.acf-admin-page .acf-field-meta-box .select2-selection__arrow:after,\n.acf-admin-page .rule-groups .select2-selection__arrow:after {\n content: \"\";\n display: block;\n position: absolute;\n z-index: 850;\n top: 1px;\n left: 0;\n width: 20px;\n height: 20px;\n -webkit-mask-image: url(\"../../images/icons/icon-chevron-down.svg\");\n mask-image: url(\"../../images/icons/icon-chevron-down.svg\");\n background-color: #667085;\n border: none;\n border-radius: 0;\n -webkit-mask-size: contain;\n mask-size: contain;\n -webkit-mask-repeat: no-repeat;\n mask-repeat: no-repeat;\n -webkit-mask-position: center;\n mask-position: center;\n text-indent: 500%;\n white-space: nowrap;\n overflow: hidden;\n}\n.acf-admin-page .acf-field-setting-type .select2-selection__arrow b[role=presentation],\n.acf-admin-page .acf-field-permalink-rewrite .select2-selection__arrow b[role=presentation],\n.acf-admin-page .acf-field-query-var .select2-selection__arrow b[role=presentation],\n.acf-admin-page .acf-field-capability .select2-selection__arrow b[role=presentation],\n.acf-admin-page .acf-field-parent-slug .select2-selection__arrow b[role=presentation],\n.acf-admin-page .acf-field-data-storage .select2-selection__arrow b[role=presentation],\n.acf-admin-page .acf-field-manage-terms .select2-selection__arrow b[role=presentation],\n.acf-admin-page .acf-field-edit-terms .select2-selection__arrow b[role=presentation],\n.acf-admin-page .acf-field-delete-terms .select2-selection__arrow b[role=presentation],\n.acf-admin-page .acf-field-assign-terms .select2-selection__arrow b[role=presentation],\n.acf-admin-page .acf-field-meta-box .select2-selection__arrow b[role=presentation],\n.acf-admin-page .rule-groups .select2-selection__arrow b[role=presentation] {\n display: none;\n}\n.acf-admin-page .acf-field-setting-type .select2-container--open .select2-selection__arrow:after,\n.acf-admin-page .acf-field-permalink-rewrite .select2-container--open .select2-selection__arrow:after,\n.acf-admin-page .acf-field-query-var .select2-container--open .select2-selection__arrow:after,\n.acf-admin-page .acf-field-capability .select2-container--open .select2-selection__arrow:after,\n.acf-admin-page .acf-field-parent-slug .select2-container--open .select2-selection__arrow:after,\n.acf-admin-page .acf-field-data-storage .select2-container--open .select2-selection__arrow:after,\n.acf-admin-page .acf-field-manage-terms .select2-container--open .select2-selection__arrow:after,\n.acf-admin-page .acf-field-edit-terms .select2-container--open .select2-selection__arrow:after,\n.acf-admin-page .acf-field-delete-terms .select2-container--open .select2-selection__arrow:after,\n.acf-admin-page .acf-field-assign-terms .select2-container--open .select2-selection__arrow:after,\n.acf-admin-page .acf-field-meta-box .select2-container--open .select2-selection__arrow:after,\n.acf-admin-page .rule-groups .select2-container--open .select2-selection__arrow:after {\n -webkit-mask-image: url(\"../../images/icons/icon-chevron-up.svg\");\n mask-image: url(\"../../images/icons/icon-chevron-up.svg\");\n}\n.acf-admin-page .acf-term-search-term-name {\n background-color: #F9FAFB;\n border-top: 1px solid #EAECF0;\n border-bottom: 1px solid #EAECF0;\n color: #98A2B3;\n padding: 5px 5px 5px 10px;\n width: 100%;\n margin: 0;\n display: block;\n font-weight: 300;\n}\n.acf-admin-page .field-type-select-results {\n position: relative;\n top: 4px;\n z-index: 1002;\n border-radius: 0 0 6px 6px;\n box-shadow: 0px 8px 24px 4px rgba(16, 24, 40, 0.12);\n}\n.acf-admin-page .field-type-select-results.select2-dropdown--above {\n display: flex;\n flex-direction: column-reverse;\n top: 0;\n border-radius: 6px 6px 0 0;\n z-index: 99999;\n}\n.select2-container.select2-container--open.acf-admin-page .field-type-select-results {\n box-shadow: 0px 0px 0px 3px #EBF5FA, 0px 8px 24px 4px rgba(16, 24, 40, 0.12);\n}\n\n.acf-admin-page .field-type-select-results .acf-selection.has-icon {\n margin-left: 6px;\n}\n.rtl.acf-admin-page .field-type-select-results .acf-selection.has-icon {\n margin-right: 6px;\n}\n\n.acf-admin-page .field-type-select-results .select2-search {\n position: relative;\n margin: 0;\n padding: 0;\n}\n.acf-admin-page .field-type-select-results .select2-search--dropdown:after {\n content: \"\";\n display: block;\n position: absolute;\n top: 12px;\n left: 13px;\n width: 16px;\n height: 16px;\n -webkit-mask-image: url(\"../../images/icons/icon-search.svg\");\n mask-image: url(\"../../images/icons/icon-search.svg\");\n background-color: #98A2B3;\n border: none;\n border-radius: 0;\n -webkit-mask-size: contain;\n mask-size: contain;\n -webkit-mask-repeat: no-repeat;\n mask-repeat: no-repeat;\n -webkit-mask-position: center;\n mask-position: center;\n text-indent: 500%;\n white-space: nowrap;\n overflow: hidden;\n}\n.rtl.acf-admin-page .field-type-select-results .select2-search--dropdown:after {\n right: 12px;\n left: auto;\n}\n\n.acf-admin-page .field-type-select-results .select2-search .select2-search__field {\n padding-left: 38px;\n border-right: 0;\n border-bottom: 0;\n border-left: 0;\n border-radius: 0;\n}\n.rtl.acf-admin-page .field-type-select-results .select2-search .select2-search__field {\n padding-right: 38px;\n padding-left: 0;\n}\n\n.acf-admin-page .field-type-select-results .select2-search .select2-search__field:focus {\n border-top-color: #D0D5DD;\n outline: 0;\n}\n.acf-admin-page .field-type-select-results .select2-results__options {\n max-height: 440px;\n}\n.acf-admin-page .field-type-select-results .select2-results__option .select2-results__option--highlighted {\n background-color: #0783BE !important;\n color: #F9FAFB !important;\n}\n.acf-admin-page .field-type-select-results .select2-results__option .select2-results__option {\n display: inline-flex;\n position: relative;\n width: calc(100% - 24px);\n min-height: 32px;\n padding-top: 0;\n padding-right: 12px;\n padding-bottom: 0;\n padding-left: 12px;\n align-items: center;\n}\n.acf-admin-page .field-type-select-results .select2-results__option .select2-results__option .field-type-icon {\n top: auto;\n width: 18px;\n height: 18px;\n margin-right: 2px;\n box-shadow: 0 0 0 1px #F9FAFB;\n}\n.acf-admin-page .field-type-select-results .select2-results__option .select2-results__option .field-type-icon:before {\n width: 9px;\n height: 9px;\n}\n.acf-admin-page .field-type-select-results .select2-results__option[aria-selected=true] {\n background-color: #EBF5FA !important;\n color: #344054 !important;\n}\n.acf-admin-page .field-type-select-results .select2-results__option[aria-selected=true]:after {\n content: \"\";\n right: 13px;\n position: absolute;\n width: 16px;\n height: 16px;\n -webkit-mask-image: url(\"../../images/icons/icon-check.svg\");\n mask-image: url(\"../../images/icons/icon-check.svg\");\n background-color: #0783BE;\n border: none;\n border-radius: 0;\n -webkit-mask-size: contain;\n mask-size: contain;\n -webkit-mask-repeat: no-repeat;\n mask-repeat: no-repeat;\n -webkit-mask-position: center;\n mask-position: center;\n text-indent: 500%;\n white-space: nowrap;\n overflow: hidden;\n}\n.rtl.acf-admin-page .field-type-select-results .select2-results__option[aria-selected=true]:after {\n left: 13px;\n right: auto;\n}\n\n.acf-admin-page .field-type-select-results .select2-results__group {\n display: inline-flex;\n align-items: center;\n width: calc(100% - 24px);\n min-height: 25px;\n background-color: #F9FAFB;\n border-top-width: 1px;\n border-top-style: solid;\n border-top-color: #EAECF0;\n border-bottom-width: 1px;\n border-bottom-style: solid;\n border-bottom-color: #EAECF0;\n color: #98A2B3;\n font-size: 11px;\n margin-bottom: 0;\n padding-top: 0;\n padding-right: 12px;\n padding-bottom: 0;\n padding-left: 12px;\n font-weight: normal;\n}\n.acf-admin-page.rtl .acf-field-setting-type .select2-selection__arrow:after,\n.acf-admin-page.rtl .acf-field-permalink-rewrite .select2-selection__arrow:after,\n.acf-admin-page.rtl .acf-field-query-var .select2-selection__arrow:after {\n right: auto;\n left: 10px;\n}\n\n.rtl.post-type-acf-field-group .acf-field-setting-name .acf-tip,\n.rtl.acf-internal-post-type .acf-field-setting-name .acf-tip {\n left: auto;\n right: 654px;\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* Field Groups\n*\n*---------------------------------------------------------------------------------------------*/\n.acf-internal-post-type .tablenav.top {\n display: none;\n}\n.acf-internal-post-type .subsubsub {\n margin-bottom: 3px;\n}\n.acf-internal-post-type .wp-list-table {\n margin-top: 0;\n margin-right: 0;\n margin-bottom: 0;\n margin-left: 0;\n border-radius: 8px;\n border: none;\n overflow: hidden;\n box-shadow: 0px 1px 2px rgba(16, 24, 40, 0.1);\n}\n.acf-internal-post-type .wp-list-table strong {\n color: #98A2B3;\n margin: 0;\n}\n.acf-internal-post-type .wp-list-table a.row-title {\n font-size: 13px !important;\n font-weight: 500;\n}\n.acf-internal-post-type .wp-list-table th,\n.acf-internal-post-type .wp-list-table td {\n color: #344054;\n}\n.acf-internal-post-type .wp-list-table th.sortable a,\n.acf-internal-post-type .wp-list-table td.sortable a {\n padding: 0;\n}\n.acf-internal-post-type .wp-list-table th.check-column,\n.acf-internal-post-type .wp-list-table td.check-column {\n padding-top: 12px;\n padding-right: 16px;\n padding-left: 16px;\n}\n@media screen and (max-width: 880px) {\n .acf-internal-post-type .wp-list-table th.check-column,\n .acf-internal-post-type .wp-list-table td.check-column {\n vertical-align: top;\n padding-right: 2px;\n padding-left: 10px;\n }\n}\n.acf-internal-post-type .wp-list-table th input,\n.acf-internal-post-type .wp-list-table td input {\n margin: 0;\n padding: 0;\n}\n.acf-internal-post-type .wp-list-table th .acf-more-items,\n.acf-internal-post-type .wp-list-table td .acf-more-items {\n display: inline-flex;\n flex-direction: row;\n justify-content: center;\n align-items: center;\n padding: 0px 6px 1px;\n gap: 8px;\n width: 25px;\n height: 16px;\n background: #EAECF0;\n border-radius: 100px;\n font-weight: 400;\n font-size: 10px;\n color: #475467;\n}\n.acf-internal-post-type .wp-list-table th .acf-emdash,\n.acf-internal-post-type .wp-list-table td .acf-emdash {\n color: #D0D5DD;\n}\n.acf-internal-post-type .wp-list-table thead th, .acf-internal-post-type .wp-list-table thead td,\n.acf-internal-post-type .wp-list-table tfoot th, .acf-internal-post-type .wp-list-table tfoot td {\n height: 48px;\n padding-right: 24px;\n padding-left: 24px;\n box-sizing: border-box;\n background-color: #F9FAFB;\n border-color: #EAECF0;\n font-weight: 500;\n}\n@media screen and (max-width: 880px) {\n .acf-internal-post-type .wp-list-table thead th, .acf-internal-post-type .wp-list-table thead td,\n .acf-internal-post-type .wp-list-table tfoot th, .acf-internal-post-type .wp-list-table tfoot td {\n padding-right: 16px;\n padding-left: 8px;\n }\n}\n@media screen and (max-width: 880px) {\n .acf-internal-post-type .wp-list-table thead th.check-column, .acf-internal-post-type .wp-list-table thead td.check-column,\n .acf-internal-post-type .wp-list-table tfoot th.check-column, .acf-internal-post-type .wp-list-table tfoot td.check-column {\n vertical-align: middle;\n }\n}\n.acf-internal-post-type .wp-list-table tbody th,\n.acf-internal-post-type .wp-list-table tbody td {\n box-sizing: border-box;\n height: 60px;\n padding-top: 10px;\n padding-right: 24px;\n padding-bottom: 10px;\n padding-left: 24px;\n vertical-align: top;\n background-color: #fff;\n border-bottom-width: 1px;\n border-bottom-color: #EAECF0;\n border-bottom-style: solid;\n}\n@media screen and (max-width: 880px) {\n .acf-internal-post-type .wp-list-table tbody th,\n .acf-internal-post-type .wp-list-table tbody td {\n padding-right: 16px;\n padding-left: 8px;\n }\n}\n.acf-internal-post-type .wp-list-table .column-acf-key {\n white-space: nowrap;\n}\n.acf-internal-post-type .wp-list-table .column-acf-key .acf-icon-key-solid {\n display: inline-block;\n position: relative;\n bottom: -2px;\n width: 15px;\n height: 15px;\n margin-right: 4px;\n color: #98A2B3;\n}\n.acf-internal-post-type .wp-list-table .acf-location .dashicons {\n position: relative;\n bottom: -2px;\n width: 16px;\n height: 16px;\n margin-right: 6px;\n font-size: 16px;\n color: #98A2B3;\n}\n.acf-internal-post-type .wp-list-table .post-state {\n color: #667085;\n}\n.acf-internal-post-type .wp-list-table tr:hover,\n.acf-internal-post-type .wp-list-table tr:focus-within {\n background: #f7f7f7;\n}\n.acf-internal-post-type .wp-list-table tr:hover .row-actions,\n.acf-internal-post-type .wp-list-table tr:focus-within .row-actions {\n margin-bottom: 0;\n}\n@media screen and (min-width: 782px) {\n .acf-internal-post-type .wp-list-table .column-acf-count {\n width: 10%;\n }\n}\n.acf-internal-post-type .wp-list-table .row-actions span.file {\n display: block;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n.acf-internal-post-type.rtl .wp-list-table .column-acf-key .acf-icon-key-solid {\n margin-left: 4px;\n margin-right: 0;\n}\n.acf-internal-post-type.rtl .wp-list-table .acf-location .dashicons {\n margin-left: 6px;\n margin-right: 0;\n}\n.acf-internal-post-type .row-actions {\n margin-top: 2px;\n padding-top: 0;\n padding-right: 0;\n padding-bottom: 0;\n padding-left: 0;\n line-height: 14px;\n color: #D0D5DD;\n}\n.acf-internal-post-type .row-actions .trash a {\n color: #d94f4f;\n}\n.acf-internal-post-type .widefat thead td.check-column,\n.acf-internal-post-type .widefat tfoot td.check-column {\n padding-top: 0;\n}\n\n/*--------------------------------------------------------------------------------------------\n*\n*\tRow actions\n*\n*--------------------------------------------------------------------------------------------*/\n.acf-internal-post-type .row-actions a:hover {\n color: #044767;\n}\n.acf-internal-post-type .row-actions .trash a {\n color: #a00;\n}\n.acf-internal-post-type .row-actions .trash a:hover {\n color: #f00;\n}\n.acf-internal-post-type .row-actions.visible {\n margin-bottom: 0;\n opacity: 1;\n}\n\n/*--------------------------------------------------------------------------------------------\n*\n*\tRow hover\n*\n*--------------------------------------------------------------------------------------------*/\n.acf-internal-post-type #the-list tr:hover td,\n.acf-internal-post-type #the-list tr:hover th {\n background-color: #f7fbfd;\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* Table Nav\n*\n*---------------------------------------------------------------------------------------------*/\n.acf-internal-post-type .tablenav {\n margin-top: 24px;\n margin-right: 0;\n margin-bottom: 0;\n margin-left: 0;\n padding-top: 0;\n padding-right: 0;\n padding-bottom: 0;\n padding-left: 0;\n color: #667085;\n}\n\n/*--------------------------------------------------------------------------------------------\n*\n*\tSearch box\n*\n*--------------------------------------------------------------------------------------------*/\n.acf-internal-post-type #posts-filter p.search-box {\n margin-top: 5px;\n margin-right: 0;\n margin-bottom: 24px;\n margin-left: 0;\n}\n.acf-internal-post-type #posts-filter p.search-box #post-search-input {\n min-width: 280px;\n margin-top: 0;\n margin-right: 8px;\n margin-bottom: 0;\n margin-left: 0;\n}\n@media screen and (max-width: 768px) {\n .acf-internal-post-type #posts-filter p.search-box {\n display: flex;\n box-sizing: border-box;\n padding-right: 24px;\n margin-right: 16px;\n position: inherit;\n }\n .acf-internal-post-type #posts-filter p.search-box #post-search-input {\n min-width: auto;\n }\n}\n\n.rtl.acf-internal-post-type #posts-filter p.search-box #post-search-input {\n margin-right: 0;\n margin-left: 8px;\n}\n@media screen and (max-width: 768px) {\n .rtl.acf-internal-post-type #posts-filter p.search-box {\n padding-left: 24px;\n padding-right: 0;\n margin-left: 16px;\n margin-right: 0;\n }\n}\n\n/*--------------------------------------------------------------------------------------------\n*\n*\tStatus tabs\n*\n*--------------------------------------------------------------------------------------------*/\n.acf-internal-post-type .subsubsub {\n display: flex;\n align-items: flex-end;\n height: 40px;\n margin-bottom: 16px;\n}\n.acf-internal-post-type .subsubsub li {\n margin-top: 0;\n margin-right: 4px;\n color: #98A2B3;\n}\n.acf-internal-post-type .subsubsub li .count {\n color: #667085;\n}\n\n/*--------------------------------------------------------------------------------------------\n*\n*\tPagination\n*\n*--------------------------------------------------------------------------------------------*/\n.acf-internal-post-type .tablenav-pages {\n display: flex;\n align-items: center;\n}\n.acf-internal-post-type .tablenav-pages.no-pages {\n display: none;\n}\n.acf-internal-post-type .tablenav-pages .displaying-num {\n margin-top: 0;\n margin-right: 16px;\n margin-bottom: 0;\n margin-left: 0;\n}\n.acf-internal-post-type .tablenav-pages .pagination-links {\n display: flex;\n align-items: center;\n}\n.acf-internal-post-type .tablenav-pages .pagination-links #table-paging {\n margin-top: 0;\n margin-right: 4px;\n margin-bottom: 0;\n margin-left: 8px;\n}\n.acf-internal-post-type .tablenav-pages .pagination-links #table-paging .total-pages {\n margin-right: 0;\n}\n.acf-internal-post-type .tablenav-pages.one-page .pagination-links {\n display: none;\n}\n\n/*--------------------------------------------------------------------------------------------\n*\n*\tPagination buttons & icons\n*\n*--------------------------------------------------------------------------------------------*/\n.acf-internal-post-type .tablenav-pages .pagination-links .button {\n display: inline-flex;\n align-items: center;\n align-content: center;\n justify-content: center;\n min-width: 40px;\n margin-top: 0;\n margin-right: 0;\n margin-bottom: 0;\n margin-left: 0;\n padding-top: 0;\n padding-right: 0;\n padding-bottom: 0;\n padding-left: 0;\n background-color: transparent;\n}\n.acf-internal-post-type .tablenav-pages .pagination-links .button:nth-child(1), .acf-internal-post-type .tablenav-pages .pagination-links .button:nth-child(2), .acf-internal-post-type .tablenav-pages .pagination-links .button:last-child, .acf-internal-post-type .tablenav-pages .pagination-links .button:nth-last-child(2) {\n display: inline-block;\n position: relative;\n text-indent: 100%;\n white-space: nowrap;\n overflow: hidden;\n margin-left: 4px;\n}\n.acf-internal-post-type .tablenav-pages .pagination-links .button:nth-child(1):before, .acf-internal-post-type .tablenav-pages .pagination-links .button:nth-child(2):before, .acf-internal-post-type .tablenav-pages .pagination-links .button:last-child:before, .acf-internal-post-type .tablenav-pages .pagination-links .button:nth-last-child(2):before {\n content: \"\";\n display: block;\n position: absolute;\n width: 100%;\n height: 100%;\n top: 0;\n left: 0;\n background-color: #0783BE;\n border-radius: 0;\n -webkit-mask-size: 20px;\n mask-size: 20px;\n -webkit-mask-repeat: no-repeat;\n mask-repeat: no-repeat;\n -webkit-mask-position: center;\n mask-position: center;\n}\n.acf-internal-post-type .tablenav-pages .pagination-links .button:nth-child(1):before {\n -webkit-mask-image: url(\"../../images/icons/icon-chevron-left-double.svg\");\n mask-image: url(\"../../images/icons/icon-chevron-left-double.svg\");\n}\n.acf-internal-post-type .tablenav-pages .pagination-links .button:nth-child(2):before {\n -webkit-mask-image: url(\"../../images/icons/icon-chevron-left.svg\");\n mask-image: url(\"../../images/icons/icon-chevron-left.svg\");\n}\n.acf-internal-post-type .tablenav-pages .pagination-links .button:nth-last-child(2):before {\n -webkit-mask-image: url(\"../../images/icons/icon-chevron-right.svg\");\n mask-image: url(\"../../images/icons/icon-chevron-right.svg\");\n}\n.acf-internal-post-type .tablenav-pages .pagination-links .button:last-child:before {\n -webkit-mask-image: url(\"../../images/icons/icon-chevron-right-double.svg\");\n mask-image: url(\"../../images/icons/icon-chevron-right-double.svg\");\n}\n.acf-internal-post-type .tablenav-pages .pagination-links .button:hover {\n border-color: #066998;\n background-color: rgba(7, 131, 190, 0.05);\n}\n.acf-internal-post-type .tablenav-pages .pagination-links .button:hover:before {\n background-color: #066998;\n}\n.acf-internal-post-type .tablenav-pages .pagination-links .button.disabled {\n background-color: transparent !important;\n}\n.acf-internal-post-type .tablenav-pages .pagination-links .button.disabled.disabled:before {\n background-color: #D0D5DD;\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* Empty state\n*\n*---------------------------------------------------------------------------------------------*/\n.acf-no-field-groups-wrapper,\n.acf-no-taxonomies-wrapper,\n.acf-no-post-types-wrapper,\n.acf-no-options-pages-wrapper,\n.acf-options-preview-wrapper {\n display: flex;\n justify-content: center;\n padding-top: 48px;\n padding-bottom: 48px;\n}\n.acf-no-field-groups-wrapper .acf-no-field-groups-inner,\n.acf-no-field-groups-wrapper .acf-no-taxonomies-inner,\n.acf-no-field-groups-wrapper .acf-no-post-types-inner,\n.acf-no-field-groups-wrapper .acf-no-options-pages-inner,\n.acf-no-field-groups-wrapper .acf-options-preview-inner,\n.acf-no-taxonomies-wrapper .acf-no-field-groups-inner,\n.acf-no-taxonomies-wrapper .acf-no-taxonomies-inner,\n.acf-no-taxonomies-wrapper .acf-no-post-types-inner,\n.acf-no-taxonomies-wrapper .acf-no-options-pages-inner,\n.acf-no-taxonomies-wrapper .acf-options-preview-inner,\n.acf-no-post-types-wrapper .acf-no-field-groups-inner,\n.acf-no-post-types-wrapper .acf-no-taxonomies-inner,\n.acf-no-post-types-wrapper .acf-no-post-types-inner,\n.acf-no-post-types-wrapper .acf-no-options-pages-inner,\n.acf-no-post-types-wrapper .acf-options-preview-inner,\n.acf-no-options-pages-wrapper .acf-no-field-groups-inner,\n.acf-no-options-pages-wrapper .acf-no-taxonomies-inner,\n.acf-no-options-pages-wrapper .acf-no-post-types-inner,\n.acf-no-options-pages-wrapper .acf-no-options-pages-inner,\n.acf-no-options-pages-wrapper .acf-options-preview-inner,\n.acf-options-preview-wrapper .acf-no-field-groups-inner,\n.acf-options-preview-wrapper .acf-no-taxonomies-inner,\n.acf-options-preview-wrapper .acf-no-post-types-inner,\n.acf-options-preview-wrapper .acf-no-options-pages-inner,\n.acf-options-preview-wrapper .acf-options-preview-inner {\n display: flex;\n flex-wrap: wrap;\n justify-content: center;\n align-content: center;\n align-items: flex-start;\n text-align: center;\n max-width: 420px;\n min-height: 320px;\n}\n.acf-no-field-groups-wrapper .acf-no-field-groups-inner img,\n.acf-no-field-groups-wrapper .acf-no-field-groups-inner h2,\n.acf-no-field-groups-wrapper .acf-no-field-groups-inner p,\n.acf-no-field-groups-wrapper .acf-no-taxonomies-inner img,\n.acf-no-field-groups-wrapper .acf-no-taxonomies-inner h2,\n.acf-no-field-groups-wrapper .acf-no-taxonomies-inner p,\n.acf-no-field-groups-wrapper .acf-no-post-types-inner img,\n.acf-no-field-groups-wrapper .acf-no-post-types-inner h2,\n.acf-no-field-groups-wrapper .acf-no-post-types-inner p,\n.acf-no-field-groups-wrapper .acf-no-options-pages-inner img,\n.acf-no-field-groups-wrapper .acf-no-options-pages-inner h2,\n.acf-no-field-groups-wrapper .acf-no-options-pages-inner p,\n.acf-no-field-groups-wrapper .acf-options-preview-inner img,\n.acf-no-field-groups-wrapper .acf-options-preview-inner h2,\n.acf-no-field-groups-wrapper .acf-options-preview-inner p,\n.acf-no-taxonomies-wrapper .acf-no-field-groups-inner img,\n.acf-no-taxonomies-wrapper .acf-no-field-groups-inner h2,\n.acf-no-taxonomies-wrapper .acf-no-field-groups-inner p,\n.acf-no-taxonomies-wrapper .acf-no-taxonomies-inner img,\n.acf-no-taxonomies-wrapper .acf-no-taxonomies-inner h2,\n.acf-no-taxonomies-wrapper .acf-no-taxonomies-inner p,\n.acf-no-taxonomies-wrapper .acf-no-post-types-inner img,\n.acf-no-taxonomies-wrapper .acf-no-post-types-inner h2,\n.acf-no-taxonomies-wrapper .acf-no-post-types-inner p,\n.acf-no-taxonomies-wrapper .acf-no-options-pages-inner img,\n.acf-no-taxonomies-wrapper .acf-no-options-pages-inner h2,\n.acf-no-taxonomies-wrapper .acf-no-options-pages-inner p,\n.acf-no-taxonomies-wrapper .acf-options-preview-inner img,\n.acf-no-taxonomies-wrapper .acf-options-preview-inner h2,\n.acf-no-taxonomies-wrapper .acf-options-preview-inner p,\n.acf-no-post-types-wrapper .acf-no-field-groups-inner img,\n.acf-no-post-types-wrapper .acf-no-field-groups-inner h2,\n.acf-no-post-types-wrapper .acf-no-field-groups-inner p,\n.acf-no-post-types-wrapper .acf-no-taxonomies-inner img,\n.acf-no-post-types-wrapper .acf-no-taxonomies-inner h2,\n.acf-no-post-types-wrapper .acf-no-taxonomies-inner p,\n.acf-no-post-types-wrapper .acf-no-post-types-inner img,\n.acf-no-post-types-wrapper .acf-no-post-types-inner h2,\n.acf-no-post-types-wrapper .acf-no-post-types-inner p,\n.acf-no-post-types-wrapper .acf-no-options-pages-inner img,\n.acf-no-post-types-wrapper .acf-no-options-pages-inner h2,\n.acf-no-post-types-wrapper .acf-no-options-pages-inner p,\n.acf-no-post-types-wrapper .acf-options-preview-inner img,\n.acf-no-post-types-wrapper .acf-options-preview-inner h2,\n.acf-no-post-types-wrapper .acf-options-preview-inner p,\n.acf-no-options-pages-wrapper .acf-no-field-groups-inner img,\n.acf-no-options-pages-wrapper .acf-no-field-groups-inner h2,\n.acf-no-options-pages-wrapper .acf-no-field-groups-inner p,\n.acf-no-options-pages-wrapper .acf-no-taxonomies-inner img,\n.acf-no-options-pages-wrapper .acf-no-taxonomies-inner h2,\n.acf-no-options-pages-wrapper .acf-no-taxonomies-inner p,\n.acf-no-options-pages-wrapper .acf-no-post-types-inner img,\n.acf-no-options-pages-wrapper .acf-no-post-types-inner h2,\n.acf-no-options-pages-wrapper .acf-no-post-types-inner p,\n.acf-no-options-pages-wrapper .acf-no-options-pages-inner img,\n.acf-no-options-pages-wrapper .acf-no-options-pages-inner h2,\n.acf-no-options-pages-wrapper .acf-no-options-pages-inner p,\n.acf-no-options-pages-wrapper .acf-options-preview-inner img,\n.acf-no-options-pages-wrapper .acf-options-preview-inner h2,\n.acf-no-options-pages-wrapper .acf-options-preview-inner p,\n.acf-options-preview-wrapper .acf-no-field-groups-inner img,\n.acf-options-preview-wrapper .acf-no-field-groups-inner h2,\n.acf-options-preview-wrapper .acf-no-field-groups-inner p,\n.acf-options-preview-wrapper .acf-no-taxonomies-inner img,\n.acf-options-preview-wrapper .acf-no-taxonomies-inner h2,\n.acf-options-preview-wrapper .acf-no-taxonomies-inner p,\n.acf-options-preview-wrapper .acf-no-post-types-inner img,\n.acf-options-preview-wrapper .acf-no-post-types-inner h2,\n.acf-options-preview-wrapper .acf-no-post-types-inner p,\n.acf-options-preview-wrapper .acf-no-options-pages-inner img,\n.acf-options-preview-wrapper .acf-no-options-pages-inner h2,\n.acf-options-preview-wrapper .acf-no-options-pages-inner p,\n.acf-options-preview-wrapper .acf-options-preview-inner img,\n.acf-options-preview-wrapper .acf-options-preview-inner h2,\n.acf-options-preview-wrapper .acf-options-preview-inner p {\n flex: 1 0 100%;\n}\n.acf-no-field-groups-wrapper .acf-no-field-groups-inner h2,\n.acf-no-field-groups-wrapper .acf-no-taxonomies-inner h2,\n.acf-no-field-groups-wrapper .acf-no-post-types-inner h2,\n.acf-no-field-groups-wrapper .acf-no-options-pages-inner h2,\n.acf-no-field-groups-wrapper .acf-options-preview-inner h2,\n.acf-no-taxonomies-wrapper .acf-no-field-groups-inner h2,\n.acf-no-taxonomies-wrapper .acf-no-taxonomies-inner h2,\n.acf-no-taxonomies-wrapper .acf-no-post-types-inner h2,\n.acf-no-taxonomies-wrapper .acf-no-options-pages-inner h2,\n.acf-no-taxonomies-wrapper .acf-options-preview-inner h2,\n.acf-no-post-types-wrapper .acf-no-field-groups-inner h2,\n.acf-no-post-types-wrapper .acf-no-taxonomies-inner h2,\n.acf-no-post-types-wrapper .acf-no-post-types-inner h2,\n.acf-no-post-types-wrapper .acf-no-options-pages-inner h2,\n.acf-no-post-types-wrapper .acf-options-preview-inner h2,\n.acf-no-options-pages-wrapper .acf-no-field-groups-inner h2,\n.acf-no-options-pages-wrapper .acf-no-taxonomies-inner h2,\n.acf-no-options-pages-wrapper .acf-no-post-types-inner h2,\n.acf-no-options-pages-wrapper .acf-no-options-pages-inner h2,\n.acf-no-options-pages-wrapper .acf-options-preview-inner h2,\n.acf-options-preview-wrapper .acf-no-field-groups-inner h2,\n.acf-options-preview-wrapper .acf-no-taxonomies-inner h2,\n.acf-options-preview-wrapper .acf-no-post-types-inner h2,\n.acf-options-preview-wrapper .acf-no-options-pages-inner h2,\n.acf-options-preview-wrapper .acf-options-preview-inner h2 {\n margin-top: 32px;\n margin-bottom: 0;\n padding: 0;\n color: #344054;\n line-height: 1.6rem;\n}\n.acf-no-field-groups-wrapper .acf-no-field-groups-inner p,\n.acf-no-field-groups-wrapper .acf-no-taxonomies-inner p,\n.acf-no-field-groups-wrapper .acf-no-post-types-inner p,\n.acf-no-field-groups-wrapper .acf-no-options-pages-inner p,\n.acf-no-field-groups-wrapper .acf-options-preview-inner p,\n.acf-no-taxonomies-wrapper .acf-no-field-groups-inner p,\n.acf-no-taxonomies-wrapper .acf-no-taxonomies-inner p,\n.acf-no-taxonomies-wrapper .acf-no-post-types-inner p,\n.acf-no-taxonomies-wrapper .acf-no-options-pages-inner p,\n.acf-no-taxonomies-wrapper .acf-options-preview-inner p,\n.acf-no-post-types-wrapper .acf-no-field-groups-inner p,\n.acf-no-post-types-wrapper .acf-no-taxonomies-inner p,\n.acf-no-post-types-wrapper .acf-no-post-types-inner p,\n.acf-no-post-types-wrapper .acf-no-options-pages-inner p,\n.acf-no-post-types-wrapper .acf-options-preview-inner p,\n.acf-no-options-pages-wrapper .acf-no-field-groups-inner p,\n.acf-no-options-pages-wrapper .acf-no-taxonomies-inner p,\n.acf-no-options-pages-wrapper .acf-no-post-types-inner p,\n.acf-no-options-pages-wrapper .acf-no-options-pages-inner p,\n.acf-no-options-pages-wrapper .acf-options-preview-inner p,\n.acf-options-preview-wrapper .acf-no-field-groups-inner p,\n.acf-options-preview-wrapper .acf-no-taxonomies-inner p,\n.acf-options-preview-wrapper .acf-no-post-types-inner p,\n.acf-options-preview-wrapper .acf-no-options-pages-inner p,\n.acf-options-preview-wrapper .acf-options-preview-inner p {\n margin-top: 12px;\n margin-bottom: 0;\n padding: 0;\n color: #667085;\n}\n.acf-no-field-groups-wrapper .acf-no-field-groups-inner p.acf-small,\n.acf-no-field-groups-wrapper .acf-no-taxonomies-inner p.acf-small,\n.acf-no-field-groups-wrapper .acf-no-post-types-inner p.acf-small,\n.acf-no-field-groups-wrapper .acf-no-options-pages-inner p.acf-small,\n.acf-no-field-groups-wrapper .acf-options-preview-inner p.acf-small,\n.acf-no-taxonomies-wrapper .acf-no-field-groups-inner p.acf-small,\n.acf-no-taxonomies-wrapper .acf-no-taxonomies-inner p.acf-small,\n.acf-no-taxonomies-wrapper .acf-no-post-types-inner p.acf-small,\n.acf-no-taxonomies-wrapper .acf-no-options-pages-inner p.acf-small,\n.acf-no-taxonomies-wrapper .acf-options-preview-inner p.acf-small,\n.acf-no-post-types-wrapper .acf-no-field-groups-inner p.acf-small,\n.acf-no-post-types-wrapper .acf-no-taxonomies-inner p.acf-small,\n.acf-no-post-types-wrapper .acf-no-post-types-inner p.acf-small,\n.acf-no-post-types-wrapper .acf-no-options-pages-inner p.acf-small,\n.acf-no-post-types-wrapper .acf-options-preview-inner p.acf-small,\n.acf-no-options-pages-wrapper .acf-no-field-groups-inner p.acf-small,\n.acf-no-options-pages-wrapper .acf-no-taxonomies-inner p.acf-small,\n.acf-no-options-pages-wrapper .acf-no-post-types-inner p.acf-small,\n.acf-no-options-pages-wrapper .acf-no-options-pages-inner p.acf-small,\n.acf-no-options-pages-wrapper .acf-options-preview-inner p.acf-small,\n.acf-options-preview-wrapper .acf-no-field-groups-inner p.acf-small,\n.acf-options-preview-wrapper .acf-no-taxonomies-inner p.acf-small,\n.acf-options-preview-wrapper .acf-no-post-types-inner p.acf-small,\n.acf-options-preview-wrapper .acf-no-options-pages-inner p.acf-small,\n.acf-options-preview-wrapper .acf-options-preview-inner p.acf-small {\n display: block;\n position: relative;\n margin-top: 32px;\n}\n.acf-no-field-groups-wrapper .acf-no-field-groups-inner img,\n.acf-no-field-groups-wrapper .acf-no-taxonomies-inner img,\n.acf-no-field-groups-wrapper .acf-no-post-types-inner img,\n.acf-no-field-groups-wrapper .acf-no-options-pages-inner img,\n.acf-no-field-groups-wrapper .acf-options-preview-inner img,\n.acf-no-taxonomies-wrapper .acf-no-field-groups-inner img,\n.acf-no-taxonomies-wrapper .acf-no-taxonomies-inner img,\n.acf-no-taxonomies-wrapper .acf-no-post-types-inner img,\n.acf-no-taxonomies-wrapper .acf-no-options-pages-inner img,\n.acf-no-taxonomies-wrapper .acf-options-preview-inner img,\n.acf-no-post-types-wrapper .acf-no-field-groups-inner img,\n.acf-no-post-types-wrapper .acf-no-taxonomies-inner img,\n.acf-no-post-types-wrapper .acf-no-post-types-inner img,\n.acf-no-post-types-wrapper .acf-no-options-pages-inner img,\n.acf-no-post-types-wrapper .acf-options-preview-inner img,\n.acf-no-options-pages-wrapper .acf-no-field-groups-inner img,\n.acf-no-options-pages-wrapper .acf-no-taxonomies-inner img,\n.acf-no-options-pages-wrapper .acf-no-post-types-inner img,\n.acf-no-options-pages-wrapper .acf-no-options-pages-inner img,\n.acf-no-options-pages-wrapper .acf-options-preview-inner img,\n.acf-options-preview-wrapper .acf-no-field-groups-inner img,\n.acf-options-preview-wrapper .acf-no-taxonomies-inner img,\n.acf-options-preview-wrapper .acf-no-post-types-inner img,\n.acf-options-preview-wrapper .acf-no-options-pages-inner img,\n.acf-options-preview-wrapper .acf-options-preview-inner img {\n max-width: 284px;\n margin-bottom: 0;\n}\n.acf-no-field-groups-wrapper .acf-no-field-groups-inner .acf-btn,\n.acf-no-field-groups-wrapper .acf-no-taxonomies-inner .acf-btn,\n.acf-no-field-groups-wrapper .acf-no-post-types-inner .acf-btn,\n.acf-no-field-groups-wrapper .acf-no-options-pages-inner .acf-btn,\n.acf-no-field-groups-wrapper .acf-options-preview-inner .acf-btn,\n.acf-no-taxonomies-wrapper .acf-no-field-groups-inner .acf-btn,\n.acf-no-taxonomies-wrapper .acf-no-taxonomies-inner .acf-btn,\n.acf-no-taxonomies-wrapper .acf-no-post-types-inner .acf-btn,\n.acf-no-taxonomies-wrapper .acf-no-options-pages-inner .acf-btn,\n.acf-no-taxonomies-wrapper .acf-options-preview-inner .acf-btn,\n.acf-no-post-types-wrapper .acf-no-field-groups-inner .acf-btn,\n.acf-no-post-types-wrapper .acf-no-taxonomies-inner .acf-btn,\n.acf-no-post-types-wrapper .acf-no-post-types-inner .acf-btn,\n.acf-no-post-types-wrapper .acf-no-options-pages-inner .acf-btn,\n.acf-no-post-types-wrapper .acf-options-preview-inner .acf-btn,\n.acf-no-options-pages-wrapper .acf-no-field-groups-inner .acf-btn,\n.acf-no-options-pages-wrapper .acf-no-taxonomies-inner .acf-btn,\n.acf-no-options-pages-wrapper .acf-no-post-types-inner .acf-btn,\n.acf-no-options-pages-wrapper .acf-no-options-pages-inner .acf-btn,\n.acf-no-options-pages-wrapper .acf-options-preview-inner .acf-btn,\n.acf-options-preview-wrapper .acf-no-field-groups-inner .acf-btn,\n.acf-options-preview-wrapper .acf-no-taxonomies-inner .acf-btn,\n.acf-options-preview-wrapper .acf-no-post-types-inner .acf-btn,\n.acf-options-preview-wrapper .acf-no-options-pages-inner .acf-btn,\n.acf-options-preview-wrapper .acf-options-preview-inner .acf-btn {\n margin-top: 32px;\n}\n.acf-no-field-groups-wrapper .acf-no-post-types-inner img,\n.acf-no-field-groups-wrapper .acf-no-options-pages-inner img,\n.acf-no-taxonomies-wrapper .acf-no-post-types-inner img,\n.acf-no-taxonomies-wrapper .acf-no-options-pages-inner img,\n.acf-no-post-types-wrapper .acf-no-post-types-inner img,\n.acf-no-post-types-wrapper .acf-no-options-pages-inner img,\n.acf-no-options-pages-wrapper .acf-no-post-types-inner img,\n.acf-no-options-pages-wrapper .acf-no-options-pages-inner img,\n.acf-options-preview-wrapper .acf-no-post-types-inner img,\n.acf-options-preview-wrapper .acf-no-options-pages-inner img {\n width: 106px;\n height: 88px;\n}\n.acf-no-field-groups-wrapper .acf-no-taxonomies-inner img,\n.acf-no-taxonomies-wrapper .acf-no-taxonomies-inner img,\n.acf-no-post-types-wrapper .acf-no-taxonomies-inner img,\n.acf-no-options-pages-wrapper .acf-no-taxonomies-inner img,\n.acf-options-preview-wrapper .acf-no-taxonomies-inner img {\n width: 98px;\n height: 88px;\n}\n\n.acf-no-field-groups #the-list tr:hover td,\n.acf-no-field-groups #the-list tr:hover th,\n.acf-no-field-groups .acf-admin-field-groups .wp-list-table tr:hover,\n.acf-no-field-groups .striped > tbody > :nth-child(odd), .acf-no-field-groups ul.striped > :nth-child(odd), .acf-no-field-groups .alternate,\n.acf-no-post-types #the-list tr:hover td,\n.acf-no-post-types #the-list tr:hover th,\n.acf-no-post-types .acf-admin-field-groups .wp-list-table tr:hover,\n.acf-no-post-types .striped > tbody > :nth-child(odd),\n.acf-no-post-types ul.striped > :nth-child(odd),\n.acf-no-post-types .alternate,\n.acf-no-taxonomies #the-list tr:hover td,\n.acf-no-taxonomies #the-list tr:hover th,\n.acf-no-taxonomies .acf-admin-field-groups .wp-list-table tr:hover,\n.acf-no-taxonomies .striped > tbody > :nth-child(odd),\n.acf-no-taxonomies ul.striped > :nth-child(odd),\n.acf-no-taxonomies .alternate,\n.acf-no-options-pages #the-list tr:hover td,\n.acf-no-options-pages #the-list tr:hover th,\n.acf-no-options-pages .acf-admin-field-groups .wp-list-table tr:hover,\n.acf-no-options-pages .striped > tbody > :nth-child(odd),\n.acf-no-options-pages ul.striped > :nth-child(odd),\n.acf-no-options-pages .alternate {\n background-color: transparent !important;\n}\n.acf-no-field-groups .wp-list-table thead,\n.acf-no-field-groups .wp-list-table tfoot,\n.acf-no-post-types .wp-list-table thead,\n.acf-no-post-types .wp-list-table tfoot,\n.acf-no-taxonomies .wp-list-table thead,\n.acf-no-taxonomies .wp-list-table tfoot,\n.acf-no-options-pages .wp-list-table thead,\n.acf-no-options-pages .wp-list-table tfoot {\n display: none;\n}\n.acf-no-field-groups .wp-list-table a.acf-btn,\n.acf-no-post-types .wp-list-table a.acf-btn,\n.acf-no-taxonomies .wp-list-table a.acf-btn,\n.acf-no-options-pages .wp-list-table a.acf-btn {\n border: 1px solid rgba(0, 0, 0, 0.16);\n box-shadow: none;\n}\n\n.acf-internal-post-type #the-list .no-items td {\n vertical-align: middle;\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* Options Page Preview\n*\n*---------------------------------------------------------------------------------------------*/\n.acf-options-preview .acf-btn,\n.acf-no-options-pages-wrapper .acf-btn {\n margin-left: 8px;\n}\n.acf-options-preview .disabled,\n.acf-no-options-pages-wrapper .disabled {\n background-color: #F2F4F7 !important;\n color: #98A2B3 !important;\n border: 1px #D0D5DD solid;\n cursor: default !important;\n}\n.acf-options-preview .acf-options-pages-preview-upgrade-button,\n.acf-no-options-pages-wrapper .acf-options-pages-preview-upgrade-button {\n height: 48px;\n padding: 8px 48px 8px 48px !important;\n border: none !important;\n gap: 6px;\n display: inline-flex;\n align-items: center;\n align-self: stretch;\n background: radial-gradient(141.77% 141.08% at 100.26% 99.25%, #0ECAD4 0%, #7A45E5 100%);\n border-radius: 6px;\n text-decoration: none;\n}\n.acf-options-preview .acf-options-pages-preview-upgrade-button:focus,\n.acf-no-options-pages-wrapper .acf-options-pages-preview-upgrade-button:focus {\n border: none;\n outline: none;\n box-shadow: none;\n}\n.acf-options-preview .acf-options-pages-preview-upgrade-button p,\n.acf-no-options-pages-wrapper .acf-options-pages-preview-upgrade-button p {\n margin: 0;\n padding-top: 8px;\n padding-bottom: 8px;\n font-weight: normal;\n text-transform: none;\n color: #fff;\n}\n.acf-options-preview .acf-options-pages-preview-upgrade-button .acf-icon,\n.acf-no-options-pages-wrapper .acf-options-pages-preview-upgrade-button .acf-icon {\n width: 20px;\n height: 20px;\n margin-right: 6px;\n margin-left: -2px;\n background-color: #F9FAFB;\n}\n.acf-options-preview .acf-ui-options-page-pro-features-actions a.acf-btn i,\n.acf-no-options-pages-wrapper .acf-ui-options-page-pro-features-actions a.acf-btn i {\n margin-right: -2px !important;\n margin-left: 0px !important;\n}\n.acf-options-preview .acf-pro-label,\n.acf-no-options-pages-wrapper .acf-pro-label {\n vertical-align: middle;\n}\n.acf-options-preview .acf_options_preview_wrap img,\n.acf-no-options-pages-wrapper .acf_options_preview_wrap img {\n max-height: 88px;\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* Small screen list table info toggle\n*\n*---------------------------------------------------------------------------------------------*/\n.acf-internal-post-type .wp-list-table .toggle-row:before {\n top: 4px;\n left: 16px;\n border-radius: 0;\n content: \"\";\n display: block;\n position: absolute;\n width: 16px;\n height: 16px;\n background-color: #0783BE;\n border-radius: 0;\n -webkit-mask-size: 20px;\n mask-size: 20px;\n -webkit-mask-repeat: no-repeat;\n mask-repeat: no-repeat;\n -webkit-mask-position: center;\n mask-position: center;\n -webkit-mask-image: url(\"../../images/icons/icon-chevron-down.svg\");\n mask-image: url(\"../../images/icons/icon-chevron-down.svg\");\n text-indent: 100%;\n white-space: nowrap;\n overflow: hidden;\n}\n.acf-internal-post-type .wp-list-table .is-expanded .toggle-row:before {\n -webkit-mask-image: url(\"../../images/icons/icon-chevron-up.svg\");\n mask-image: url(\"../../images/icons/icon-chevron-up.svg\");\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* Small screen checkbox\n*\n*---------------------------------------------------------------------------------------------*/\n@media screen and (max-width: 880px) {\n .acf-internal-post-type .widefat th input[type=checkbox],\n .acf-internal-post-type .widefat thead td input[type=checkbox],\n .acf-internal-post-type .widefat tfoot td input[type=checkbox] {\n margin-bottom: 0;\n }\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* Invalid license states\n*\n*---------------------------------------------------------------------------------------------*/\n.acf-internal-post-type.acf-pro-inactive-license.acf-admin-options-pages .row-title {\n color: #667085;\n pointer-events: none;\n display: inline-flex;\n vertical-align: middle;\n gap: 6px;\n}\n.acf-internal-post-type.acf-pro-inactive-license.acf-admin-options-pages .row-title:before {\n content: \"\";\n width: 16px;\n height: 16px;\n background-color: #667085;\n display: inline-block;\n align-self: center;\n -webkit-mask-image: url(\"../../images/icons/icon-lock.svg\");\n mask-image: url(\"../../images/icons/icon-lock.svg\");\n}\n.acf-internal-post-type.acf-pro-inactive-license.acf-admin-options-pages .row-actions {\n display: none;\n}\n.acf-internal-post-type.acf-pro-inactive-license.acf-admin-options-pages .column-title .acf-js-tooltip {\n display: inline-block;\n}\n.acf-internal-post-type.acf-pro-inactive-license tr.acf-has-block-location .row-title {\n color: #667085;\n pointer-events: none;\n display: inline-flex;\n vertical-align: middle;\n gap: 6px;\n}\n.acf-internal-post-type.acf-pro-inactive-license tr.acf-has-block-location .row-title:before {\n content: \"\";\n width: 16px;\n height: 16px;\n background-color: #667085;\n display: inline-block;\n align-self: center;\n -webkit-mask-image: url(\"../../images/icons/icon-lock.svg\");\n mask-image: url(\"../../images/icons/icon-lock.svg\");\n}\n.acf-internal-post-type.acf-pro-inactive-license tr.acf-has-block-location .acf-count a {\n color: #667085;\n pointer-events: none;\n}\n.acf-internal-post-type.acf-pro-inactive-license tr.acf-has-block-location .row-actions {\n display: none;\n}\n.acf-internal-post-type.acf-pro-inactive-license tr.acf-has-block-location .column-title .acf-js-tooltip {\n display: inline-block;\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* Admin Navigation\n*\n*---------------------------------------------------------------------------------------------*/\n.acf-admin-toolbar {\n position: unset;\n top: 32px;\n height: 72px;\n z-index: 800;\n background: #344054;\n color: #98A2B3;\n}\n.acf-admin-toolbar .acf-admin-toolbar-inner {\n display: flex;\n justify-content: space-between;\n align-content: center;\n align-items: center;\n max-width: 100%;\n}\n.acf-admin-toolbar .acf-admin-toolbar-inner .acf-nav-wrap {\n display: flex;\n align-items: center;\n position: relative;\n padding-left: 72px;\n}\n@media screen and (max-width: 1250px) {\n .acf-admin-toolbar .acf-admin-toolbar-inner .acf-nav-wrap .acf-header-tab-acf-post-type,\n .acf-admin-toolbar .acf-admin-toolbar-inner .acf-nav-wrap .acf-header-tab-acf-taxonomy {\n display: none;\n }\n .acf-admin-toolbar .acf-admin-toolbar-inner .acf-nav-wrap .acf-more .acf-header-tab-acf-post-type,\n .acf-admin-toolbar .acf-admin-toolbar-inner .acf-nav-wrap .acf-more .acf-header-tab-acf-taxonomy {\n display: flex;\n }\n}\n.acf-admin-toolbar .acf-admin-toolbar-inner .acf-nav-upgrade-wrap {\n display: flex;\n align-items: center;\n}\n.acf-admin-toolbar .acf-admin-toolbar-inner .acf-nav-wpengine-logo {\n display: inline-flex;\n margin-left: 24px;\n}\n.acf-admin-toolbar .acf-admin-toolbar-inner .acf-nav-wpengine-logo img {\n height: 20px;\n}\n@media screen and (max-width: 1000px) {\n .acf-admin-toolbar .acf-admin-toolbar-inner .acf-nav-wpengine-logo {\n display: none;\n }\n}\n@media screen and (max-width: 880px) {\n .acf-admin-toolbar {\n position: static;\n }\n}\n.acf-admin-toolbar .acf-logo {\n display: flex;\n margin-right: 24px;\n text-decoration: none;\n position: absolute;\n top: 0;\n left: 0;\n}\n.acf-admin-toolbar .acf-logo img {\n display: block;\n}\n.acf-admin-toolbar .acf-logo.pro img {\n height: 46px;\n}\n.acf-admin-toolbar h2 {\n display: none;\n color: #F9FAFB;\n}\n.acf-admin-toolbar .acf-tab {\n display: flex;\n align-items: center;\n box-sizing: border-box;\n min-height: 40px;\n margin-right: 8px;\n padding-top: 8px;\n padding-right: 16px;\n padding-bottom: 8px;\n padding-left: 16px;\n border-width: 1px;\n border-style: solid;\n border-color: transparent;\n border-radius: 6px;\n color: #98A2B3;\n text-decoration: none;\n}\n.acf-admin-toolbar .acf-tab.is-active {\n background-color: #475467;\n color: #fff;\n}\n.acf-admin-toolbar .acf-tab:hover {\n background-color: #475467;\n color: #F9FAFB;\n}\n.acf-admin-toolbar .acf-tab:focus-visible {\n border-width: 1px;\n border-style: solid;\n border-color: #667085;\n}\n.acf-admin-toolbar .acf-tab:focus {\n box-shadow: none;\n}\n.acf-admin-toolbar .acf-more:hover .acf-tab.acf-more-tab {\n background-color: #475467;\n color: #F9FAFB;\n}\n.acf-admin-toolbar .acf-more ul {\n display: none;\n position: absolute;\n box-sizing: border-box;\n background: #fff;\n z-index: 1051;\n overflow: hidden;\n min-width: 280px;\n margin-top: 0;\n margin-right: 0;\n margin-bottom: 0;\n margin-left: 0;\n padding: 0;\n border-radius: 8px;\n box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.04), 0px 8px 23px rgba(0, 0, 0, 0.12);\n}\n.acf-admin-toolbar .acf-more ul .acf-wp-engine {\n display: flex;\n align-items: center;\n justify-content: space-between;\n min-height: 48px;\n border-top: 1px solid rgba(0, 0, 0, 0.08);\n background: #ECFBFC;\n}\n.acf-admin-toolbar .acf-more ul .acf-wp-engine a {\n display: flex;\n width: 100%;\n justify-content: space-between;\n border-top: none;\n}\n.acf-admin-toolbar .acf-more ul li {\n margin: 0;\n padding: 0 16px;\n}\n.acf-admin-toolbar .acf-more ul li .acf-header-tab-acf-post-type,\n.acf-admin-toolbar .acf-more ul li .acf-header-tab-acf-taxonomy {\n display: none;\n}\n.acf-admin-toolbar .acf-more ul li.acf-more-section-header {\n background: #F9FAFB;\n padding: 1px 0 0 0;\n margin-top: -1px;\n border-top: 1px solid #EAECF0;\n border-bottom: 1px solid #EAECF0;\n}\n.acf-admin-toolbar .acf-more ul li.acf-more-section-header span {\n color: #475467;\n font-size: 12px;\n font-weight: bold;\n}\n.acf-admin-toolbar .acf-more ul li.acf-more-section-header span:hover {\n background: #F9FAFB;\n}\n.acf-admin-toolbar .acf-more ul li a {\n margin: 0;\n padding: 0;\n color: #1D2939;\n border-radius: 0;\n border-top-width: 1px;\n border-top-style: solid;\n border-top-color: #F2F4F7;\n}\n.acf-admin-toolbar .acf-more ul li a:hover, .acf-admin-toolbar .acf-more ul li a.acf-tab.is-active {\n background-color: unset;\n color: #0783BE;\n}\n.acf-admin-toolbar .acf-more ul li a i.acf-icon {\n display: none !important;\n width: 16px;\n height: 16px;\n -webkit-mask-size: 16px;\n mask-size: 16px;\n background-color: #98A2B3 !important;\n}\n.acf-admin-toolbar .acf-more ul li a .acf-requires-pro {\n justify-content: center;\n align-items: center;\n color: white;\n background: radial-gradient(141.77% 141.08% at 100.26% 99.25%, #0ECAD4 0%, #7A45E5 100%);\n border-radius: 100px;\n font-size: 11px;\n position: absolute;\n right: 16px;\n padding-right: 6px;\n padding-left: 6px;\n}\n.acf-admin-toolbar .acf-more ul li a img.acf-wp-engine-pro {\n display: block;\n height: 16px;\n width: auto;\n}\n.acf-admin-toolbar .acf-more ul li a .acf-wp-engine-upsell-pill {\n display: inline-flex;\n justify-content: center;\n align-items: center;\n min-height: 22px;\n border-radius: 100px;\n font-size: 11px;\n padding-right: 8px;\n padding-left: 8px;\n background: #0ECAD4;\n color: #FFFFFF;\n text-shadow: 0px 1px 0 rgba(0, 0, 0, 0.12);\n text-transform: uppercase;\n}\n.acf-admin-toolbar .acf-more ul li:first-child a {\n border-bottom: none;\n}\n.acf-admin-toolbar .acf-more ul:hover, .acf-admin-toolbar .acf-more ul:focus {\n display: block;\n}\n.acf-admin-toolbar .acf-more:hover ul, .acf-admin-toolbar .acf-more:focus ul {\n display: block;\n}\n#wpcontent .acf-admin-toolbar {\n box-sizing: border-box;\n margin-left: -20px;\n padding-top: 16px;\n padding-right: 32px;\n padding-bottom: 16px;\n padding-left: 32px;\n}\n@media screen and (max-width: 600px) {\n .acf-admin-toolbar {\n display: none;\n }\n}\n\n.rtl #wpcontent .acf-admin-toolbar {\n margin-left: 0;\n margin-right: -20px;\n}\n.rtl #wpcontent .acf-admin-toolbar .acf-tab {\n margin-left: 8px;\n margin-right: 0;\n}\n.rtl .acf-logo {\n margin-right: 0;\n margin-left: 32px;\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* Admin Toolbar Icons\n*\n*---------------------------------------------------------------------------------------------*/\n.acf-admin-toolbar .acf-tab i.acf-icon,\n.acf-admin-toolbar .acf-more i.acf-icon {\n display: none;\n margin-right: 8px;\n margin-left: -2px;\n}\n.acf-admin-toolbar .acf-tab i.acf-icon.acf-icon-dropdown,\n.acf-admin-toolbar .acf-more i.acf-icon.acf-icon-dropdown {\n -webkit-mask-image: url(\"../../images/icons/icon-chevron-down.svg\");\n mask-image: url(\"../../images/icons/icon-chevron-down.svg\");\n width: 16px;\n height: 16px;\n -webkit-mask-size: 16px;\n mask-size: 16px;\n margin-right: -6px;\n margin-left: 6px;\n}\n.acf-admin-toolbar .acf-tab.acf-header-tab-acf-field-group i.acf-icon, .acf-admin-toolbar .acf-tab.acf-header-tab-acf-post-type i.acf-icon, .acf-admin-toolbar .acf-tab.acf-header-tab-acf-taxonomy i.acf-icon, .acf-admin-toolbar .acf-tab.acf-header-tab-acf-tools i.acf-icon, .acf-admin-toolbar .acf-tab.acf-header-tab-acf-settings-updates i.acf-icon, .acf-admin-toolbar .acf-tab.acf-header-tab-acf-more i.acf-icon,\n.acf-admin-toolbar .acf-more.acf-header-tab-acf-field-group i.acf-icon,\n.acf-admin-toolbar .acf-more.acf-header-tab-acf-post-type i.acf-icon,\n.acf-admin-toolbar .acf-more.acf-header-tab-acf-taxonomy i.acf-icon,\n.acf-admin-toolbar .acf-more.acf-header-tab-acf-tools i.acf-icon,\n.acf-admin-toolbar .acf-more.acf-header-tab-acf-settings-updates i.acf-icon,\n.acf-admin-toolbar .acf-more.acf-header-tab-acf-more i.acf-icon {\n display: inline-flex;\n}\n.acf-admin-toolbar .acf-tab.is-active i.acf-icon, .acf-admin-toolbar .acf-tab:hover i.acf-icon,\n.acf-admin-toolbar .acf-more.is-active i.acf-icon,\n.acf-admin-toolbar .acf-more:hover i.acf-icon {\n background-color: #EAECF0;\n}\n.rtl .acf-admin-toolbar .acf-tab i.acf-icon {\n margin-right: -2px;\n margin-left: 8px;\n}\n.acf-admin-toolbar .acf-header-tab-acf-field-group i.acf-icon {\n -webkit-mask-image: url(\"../../images/icons/icon-field-groups.svg\");\n mask-image: url(\"../../images/icons/icon-field-groups.svg\");\n}\n.acf-admin-toolbar .acf-header-tab-acf-post-type i.acf-icon {\n -webkit-mask-image: url(\"../../images/icons/icon-post-type.svg\");\n mask-image: url(\"../../images/icons/icon-post-type.svg\");\n}\n.acf-admin-toolbar .acf-header-tab-acf-taxonomy i.acf-icon {\n -webkit-mask-image: url(\"../../images/icons/icon-taxonomies.svg\");\n mask-image: url(\"../../images/icons/icon-taxonomies.svg\");\n}\n.acf-admin-toolbar .acf-header-tab-acf-tools i.acf-icon {\n -webkit-mask-image: url(\"../../images/icons/icon-tools.svg\");\n mask-image: url(\"../../images/icons/icon-tools.svg\");\n}\n.acf-admin-toolbar .acf-header-tab-acf-settings-updates i.acf-icon {\n -webkit-mask-image: url(\"../../images/icons/icon-updates.svg\");\n mask-image: url(\"../../images/icons/icon-updates.svg\");\n}\n.acf-admin-toolbar .acf-header-tab-acf-more i.acf-icon-more {\n -webkit-mask-image: url(\"../../images/icons/icon-extended-menu.svg\");\n mask-image: url(\"../../images/icons/icon-extended-menu.svg\");\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* Hide WP default controls\n*\n*---------------------------------------------------------------------------------------------*/\n.acf-admin-page #wpbody-content > .notice:not(.inline, .below-h2) {\n display: none;\n}\n.acf-admin-page h1.wp-heading-inline {\n display: none;\n}\n.acf-admin-page .wrap .wp-heading-inline + .page-title-action {\n display: none;\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* Headerbar\n*\n*---------------------------------------------------------------------------------------------*/\n.acf-headerbar {\n display: flex;\n align-items: center;\n position: sticky;\n top: 32px;\n z-index: 700;\n box-sizing: border-box;\n min-height: 72px;\n margin-left: -20px;\n padding-top: 8px;\n padding-right: 32px;\n padding-bottom: 8px;\n padding-left: 32px;\n background-color: #fff;\n box-shadow: 0px 1px 2px rgba(16, 24, 40, 0.1);\n}\n.acf-headerbar .acf-headerbar-inner {\n flex: 1 1 auto;\n display: flex;\n align-items: center;\n justify-content: space-between;\n max-width: 1440px;\n gap: 8px;\n}\n.acf-headerbar .acf-page-title {\n display: flex;\n align-items: center;\n gap: 8px;\n margin-top: 0;\n margin-right: 16px;\n margin-bottom: 0;\n margin-left: 0;\n padding-top: 0;\n padding-right: 0;\n padding-bottom: 0;\n padding-left: 0;\n}\n.acf-headerbar .acf-page-title .acf-duplicated-from {\n color: #98A2B3;\n}\n.acf-headerbar .acf-page-title .acf-pro-label {\n box-shadow: none;\n}\n@media screen and (max-width: 880px) {\n .acf-headerbar {\n position: static;\n }\n}\n@media screen and (max-width: 600px) {\n .acf-headerbar {\n justify-content: space-between;\n position: relative;\n top: 46px;\n min-height: 64px;\n padding-right: 12px;\n }\n}\n.acf-headerbar .acf-headerbar-content {\n flex: 1 1 auto;\n display: flex;\n align-items: center;\n}\n@media screen and (max-width: 880px) {\n .acf-headerbar .acf-headerbar-content {\n flex-wrap: wrap;\n }\n .acf-headerbar .acf-headerbar-content .acf-headerbar-title,\n .acf-headerbar .acf-headerbar-content .acf-title-wrap {\n flex: 1 1 100%;\n }\n .acf-headerbar .acf-headerbar-content .acf-title-wrap {\n margin-top: 8px;\n }\n}\n.acf-headerbar .acf-input-error {\n border: 1px rgba(209, 55, 55, 0.5) solid !important;\n box-shadow: 0 0 0 3px rgba(209, 55, 55, 0.12), 0 0 0 rgba(255, 54, 54, 0.25) !important;\n background-image: url(\"../../images/icons/icon-warning-alt-red.svg\");\n background-position: right 10px top 50%;\n background-size: 20px;\n background-repeat: no-repeat;\n}\n.acf-headerbar .acf-input-error:focus {\n outline: none !important;\n border: 1px rgba(209, 55, 55, 0.8) solid !important;\n box-shadow: 0 0 0 3px rgba(209, 55, 55, 0.16), 0 0 0 rgba(255, 54, 54, 0.25) !important;\n}\n.acf-headerbar .acf-headerbar-title-field {\n min-width: 320px;\n}\n@media screen and (max-width: 880px) {\n .acf-headerbar .acf-headerbar-title-field {\n min-width: 100%;\n }\n}\n.acf-headerbar .acf-headerbar-actions {\n display: flex;\n}\n.acf-headerbar .acf-headerbar-actions .acf-btn {\n margin-left: 8px;\n}\n.acf-headerbar .acf-headerbar-actions .disabled {\n background-color: #F2F4F7;\n color: #98A2B3 !important;\n border: 1px #D0D5DD solid;\n cursor: default;\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* Edit Field Group Headerbar\n*\n*---------------------------------------------------------------------------------------------*/\n.acf-headerbar-field-editor {\n position: sticky;\n top: 32px;\n z-index: 1020;\n margin-left: -20px;\n width: calc(100% + 20px);\n}\n@media screen and (max-width: 880px) {\n .acf-headerbar-field-editor {\n position: relative;\n top: 0;\n width: 100%;\n margin-left: 0;\n padding-right: 8px;\n padding-left: 8px;\n }\n}\n@media screen and (max-width: 640px) {\n .acf-headerbar-field-editor {\n position: relative;\n top: 46px;\n z-index: unset;\n }\n}\n@media screen and (max-width: 880px) {\n .acf-headerbar-field-editor .acf-headerbar-inner {\n flex-wrap: wrap;\n justify-content: flex-start;\n align-content: flex-start;\n align-items: flex-start;\n width: 100%;\n }\n .acf-headerbar-field-editor .acf-headerbar-inner .acf-page-title {\n flex: 1 1 auto;\n }\n .acf-headerbar-field-editor .acf-headerbar-inner .acf-headerbar-actions {\n flex: 1 1 100%;\n margin-top: 8px;\n gap: 8px;\n }\n .acf-headerbar-field-editor .acf-headerbar-inner .acf-headerbar-actions .acf-btn {\n width: 100%;\n display: inline-flex;\n justify-content: center;\n margin: 0;\n }\n}\n.acf-headerbar-field-editor .acf-page-title {\n margin-right: 16px;\n}\n\n.rtl .acf-headerbar,\n.rtl .acf-headerbar-field-editor {\n margin-left: 0;\n margin-right: -20px;\n}\n.rtl .acf-headerbar .acf-page-title,\n.rtl .acf-headerbar-field-editor .acf-page-title {\n margin-left: 16px;\n margin-right: 0;\n}\n.rtl .acf-headerbar .acf-headerbar-actions .acf-btn,\n.rtl .acf-headerbar-field-editor .acf-headerbar-actions .acf-btn {\n margin-left: 0;\n margin-right: 8px;\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* ACF Buttons\n*\n*---------------------------------------------------------------------------------------------*/\n.acf-btn {\n display: inline-flex;\n align-items: center;\n box-sizing: border-box;\n min-height: 40px;\n padding-top: 8px;\n padding-right: 16px;\n padding-bottom: 8px;\n padding-left: 16px;\n background-color: #0783BE;\n border-radius: 6px;\n border-width: 1px;\n border-style: solid;\n border-color: rgba(16, 24, 40, 0.2);\n text-decoration: none;\n color: #fff !important;\n transition: all 0.2s ease-in-out;\n transition-property: background, border, box-shadow;\n}\n.acf-btn:hover {\n background-color: #066998;\n color: #fff;\n cursor: pointer;\n}\n.acf-btn:disabled, .acf-btn.disabled {\n background-color: #F2F4F7;\n border-color: #EAECF0;\n color: #98A2B3 !important;\n transition: none;\n pointer-events: none;\n}\n.acf-btn.acf-btn-sm {\n min-height: 32px;\n padding-top: 4px;\n padding-right: 12px;\n padding-bottom: 4px;\n padding-left: 12px;\n}\n.acf-btn.acf-btn-secondary {\n background-color: transparent;\n color: #0783BE !important;\n border-color: #0783BE;\n}\n.acf-btn.acf-btn-secondary:hover {\n background-color: #f3f9fc;\n}\n.acf-btn.acf-btn-muted {\n background-color: #667085;\n color: white;\n height: 48px;\n padding: 8px 28px 8px 28px !important;\n border-radius: 6px;\n border: 1px;\n gap: 6px;\n}\n.acf-btn.acf-btn-muted:hover {\n background-color: #475467 !important;\n}\n.acf-btn.acf-btn-tertiary {\n background-color: transparent;\n color: #667085 !important;\n border-color: #D0D5DD;\n}\n.acf-btn.acf-btn-tertiary:hover {\n color: #667085 !important;\n border-color: #98A2B3;\n}\n.acf-btn.acf-btn-clear {\n background-color: transparent;\n color: #667085 !important;\n border-color: transparent;\n}\n.acf-btn.acf-btn-clear:hover {\n color: #0783BE !important;\n}\n.acf-btn.acf-btn-pro {\n background: radial-gradient(141.77% 141.08% at 100.26% 99.25%, #0ECAD4 0%, #7A45E5 100%);\n border: none;\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* Button icons\n*\n*---------------------------------------------------------------------------------------------*/\n.acf-btn i.acf-icon {\n width: 20px;\n height: 20px;\n -webkit-mask-size: 20px;\n mask-size: 20px;\n margin-right: 6px;\n margin-left: -4px;\n}\n.acf-btn.acf-btn-sm i.acf-icon {\n width: 16px;\n height: 16px;\n -webkit-mask-size: 16px;\n mask-size: 16px;\n margin-right: 6px;\n margin-left: -2px;\n}\n\n.rtl .acf-btn i.acf-icon {\n margin-right: -4px;\n margin-left: 6px;\n}\n.rtl .acf-btn.acf-btn-sm i.acf-icon {\n margin-right: -4px;\n margin-left: 2px;\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* Delete field group button\n*\n*---------------------------------------------------------------------------------------------*/\n.acf-btn.acf-delete-field-group:hover {\n background-color: #fbeded;\n border-color: #D13737 !important;\n color: #D13737 !important;\n}\n\n/*--------------------------------------------------------------------------------------------\n*\n*\tIcon base styling\n*\n*--------------------------------------------------------------------------------------------*/\n.acf-internal-post-type i.acf-icon,\n.post-type-acf-field-group i.acf-icon {\n display: inline-flex;\n width: 20px;\n height: 20px;\n background-color: currentColor;\n border: none;\n border-radius: 0;\n -webkit-mask-size: contain;\n mask-size: contain;\n -webkit-mask-repeat: no-repeat;\n mask-repeat: no-repeat;\n -webkit-mask-position: center;\n mask-position: center;\n text-indent: 500%;\n white-space: nowrap;\n overflow: hidden;\n}\n\n/*--------------------------------------------------------------------------------------------\n*\n*\tIcons\n*\n*--------------------------------------------------------------------------------------------*/\n.acf-admin-page {\n /*--------------------------------------------------------------------------------------------\n *\n *\tInactive group icon\n *\n *--------------------------------------------------------------------------------------------*/\n}\n.acf-admin-page i.acf-field-setting-fc-delete, .acf-admin-page i.acf-field-setting-fc-duplicate {\n box-sizing: border-box;\n /* Auto layout */\n display: flex;\n flex-direction: row;\n justify-content: center;\n align-items: center;\n padding: 8px;\n cursor: pointer;\n width: 32px;\n height: 32px;\n /* Base / White */\n background: #FFFFFF;\n /* Gray/300 */\n border: 1px solid #D0D5DD;\n /* Elevation/01 */\n box-shadow: 0px 1px 2px rgba(16, 24, 40, 0.1);\n border-radius: 6px;\n /* Inside auto layout */\n flex: none;\n order: 0;\n flex-grow: 0;\n}\n.acf-admin-page i.acf-icon-plus {\n -webkit-mask-image: url(\"../../images/icons/icon-add.svg\");\n mask-image: url(\"../../images/icons/icon-add.svg\");\n}\n.acf-admin-page i.acf-icon-stars {\n -webkit-mask-image: url(\"../../images/icons/icon-stars.svg\");\n mask-image: url(\"../../images/icons/icon-stars.svg\");\n}\n.acf-admin-page i.acf-icon-help {\n -webkit-mask-image: url(\"../../images/icons/icon-help.svg\");\n mask-image: url(\"../../images/icons/icon-help.svg\");\n}\n.acf-admin-page i.acf-icon-key {\n -webkit-mask-image: url(\"../../images/icons/icon-key.svg\");\n mask-image: url(\"../../images/icons/icon-key.svg\");\n}\n.acf-admin-page i.acf-icon-regenerate {\n -webkit-mask-image: url(\"../../images/icons/icon-regenerate.svg\");\n mask-image: url(\"../../images/icons/icon-regenerate.svg\");\n}\n.acf-admin-page i.acf-icon-trash, .acf-admin-page button.acf-icon-trash {\n -webkit-mask-image: url(\"../../images/icons/icon-trash.svg\");\n mask-image: url(\"../../images/icons/icon-trash.svg\");\n}\n.acf-admin-page i.acf-icon-extended-menu, .acf-admin-page button.acf-icon-extended-menu {\n -webkit-mask-image: url(\"../../images/icons/icon-extended-menu.svg\");\n mask-image: url(\"../../images/icons/icon-extended-menu.svg\");\n}\n.acf-admin-page i.acf-icon.-duplicate, .acf-admin-page button.acf-icon-duplicate {\n -webkit-mask-image: url(\"../../images/field-type-icons/icon-field-clone.svg\");\n mask-image: url(\"../../images/field-type-icons/icon-field-clone.svg\");\n}\n.acf-admin-page i.acf-icon.-duplicate:before, .acf-admin-page i.acf-icon.-duplicate:after, .acf-admin-page button.acf-icon-duplicate:before, .acf-admin-page button.acf-icon-duplicate:after {\n content: none;\n}\n.acf-admin-page i.acf-icon-arrow-right {\n -webkit-mask-image: url(\"../../images/icons/icon-arrow-right.svg\");\n mask-image: url(\"../../images/icons/icon-arrow-right.svg\");\n}\n.acf-admin-page i.acf-icon-arrow-up-right {\n -webkit-mask-image: url(\"../../images/icons/icon-arrow-up-right.svg\");\n mask-image: url(\"../../images/icons/icon-arrow-up-right.svg\");\n}\n.acf-admin-page i.acf-icon-arrow-left {\n -webkit-mask-image: url(\"../../images/icons/icon-arrow-left.svg\");\n mask-image: url(\"../../images/icons/icon-arrow-left.svg\");\n}\n.acf-admin-page i.acf-icon-chevron-right,\n.acf-admin-page .acf-icon.-right {\n -webkit-mask-image: url(\"../../images/icons/icon-chevron-right.svg\");\n mask-image: url(\"../../images/icons/icon-chevron-right.svg\");\n}\n.acf-admin-page i.acf-icon-chevron-left,\n.acf-admin-page .acf-icon.-left {\n -webkit-mask-image: url(\"../../images/icons/icon-chevron-left.svg\");\n mask-image: url(\"../../images/icons/icon-chevron-left.svg\");\n}\n.acf-admin-page i.acf-icon-key-solid {\n -webkit-mask-image: url(\"../../images/icons/icon-key-solid.svg\");\n mask-image: url(\"../../images/icons/icon-key-solid.svg\");\n}\n.acf-admin-page i.acf-icon-globe,\n.acf-admin-page .acf-icon.-globe {\n -webkit-mask-image: url(\"../../images/icons/icon-globe.svg\");\n mask-image: url(\"../../images/icons/icon-globe.svg\");\n}\n.acf-admin-page i.acf-icon-image,\n.acf-admin-page .acf-icon.-picture {\n -webkit-mask-image: url(\"../../images/field-type-icons/icon-field-image.svg\");\n mask-image: url(\"../../images/field-type-icons/icon-field-image.svg\");\n}\n.acf-admin-page i.acf-icon-warning {\n -webkit-mask-image: url(\"../../images/icons/icon-warning-alt.svg\");\n mask-image: url(\"../../images/icons/icon-warning-alt.svg\");\n}\n.acf-admin-page i.acf-icon-warning-red {\n -webkit-mask-image: url(\"../../images/icons/icon-warning-alt-red.svg\");\n mask-image: url(\"../../images/icons/icon-warning-alt-red.svg\");\n}\n.acf-admin-page i.acf-icon-dots-grid {\n -webkit-mask-image: url(\"../../images/icons/icon-dots-grid.svg\");\n mask-image: url(\"../../images/icons/icon-dots-grid.svg\");\n}\n.acf-admin-page i.acf-icon-play {\n -webkit-mask-image: url(\"../../images/icons/icon-play.svg\");\n mask-image: url(\"../../images/icons/icon-play.svg\");\n}\n.acf-admin-page i.acf-icon-lock {\n -webkit-mask-image: url(\"../../images/icons/icon-lock.svg\");\n mask-image: url(\"../../images/icons/icon-lock.svg\");\n}\n.acf-admin-page i.acf-icon-document {\n -webkit-mask-image: url(\"../../images/icons/icon-document.svg\");\n mask-image: url(\"../../images/icons/icon-document.svg\");\n}\n.acf-admin-page .post-type-acf-field-group .post-state,\n.acf-admin-page .acf-internal-post-type .post-state {\n font-weight: normal;\n}\n.acf-admin-page .post-type-acf-field-group .post-state .dashicons.dashicons-hidden,\n.acf-admin-page .acf-internal-post-type .post-state .dashicons.dashicons-hidden {\n display: inline-flex;\n width: 18px;\n height: 18px;\n background-color: #98A2B3;\n border: none;\n border-radius: 0;\n -webkit-mask-size: 18px;\n mask-size: 18px;\n -webkit-mask-repeat: no-repeat;\n mask-repeat: no-repeat;\n -webkit-mask-position: center;\n mask-position: center;\n -webkit-mask-image: url(\"../../images/icons/icon-hidden.svg\");\n mask-image: url(\"../../images/icons/icon-hidden.svg\");\n}\n.acf-admin-page .post-type-acf-field-group .post-state .dashicons.dashicons-hidden:before,\n.acf-admin-page .acf-internal-post-type .post-state .dashicons.dashicons-hidden:before {\n display: none;\n}\n\n/*--------------------------------------------------------------------------------------------\n*\n*\tEdit field group page postbox header icons\n*\n*--------------------------------------------------------------------------------------------*/\n#acf-field-group-fields .postbox-header h2,\n#acf-field-group-fields .postbox-header h3,\n#acf-field-group-fields .acf-sub-field-list-header h2,\n#acf-field-group-fields .acf-sub-field-list-header h3,\n#acf-field-group-options .postbox-header h2,\n#acf-field-group-options .postbox-header h3,\n#acf-field-group-options .acf-sub-field-list-header h2,\n#acf-field-group-options .acf-sub-field-list-header h3,\n#acf-advanced-settings .postbox-header h2,\n#acf-advanced-settings .postbox-header h3,\n#acf-advanced-settings .acf-sub-field-list-header h2,\n#acf-advanced-settings .acf-sub-field-list-header h3 {\n display: inline-flex;\n justify-content: flex-start;\n align-content: stretch;\n align-items: center;\n}\n#acf-field-group-fields .postbox-header h2:before,\n#acf-field-group-fields .postbox-header h3:before,\n#acf-field-group-fields .acf-sub-field-list-header h2:before,\n#acf-field-group-fields .acf-sub-field-list-header h3:before,\n#acf-field-group-options .postbox-header h2:before,\n#acf-field-group-options .postbox-header h3:before,\n#acf-field-group-options .acf-sub-field-list-header h2:before,\n#acf-field-group-options .acf-sub-field-list-header h3:before,\n#acf-advanced-settings .postbox-header h2:before,\n#acf-advanced-settings .postbox-header h3:before,\n#acf-advanced-settings .acf-sub-field-list-header h2:before,\n#acf-advanced-settings .acf-sub-field-list-header h3:before {\n content: \"\";\n display: inline-block;\n width: 20px;\n height: 20px;\n margin-right: 8px;\n background-color: #98A2B3;\n border: none;\n border-radius: 0;\n -webkit-mask-size: contain;\n mask-size: contain;\n -webkit-mask-repeat: no-repeat;\n mask-repeat: no-repeat;\n -webkit-mask-position: center;\n mask-position: center;\n}\n\n.rtl #acf-field-group-fields .postbox-header h2:before,\n.rtl #acf-field-group-fields .postbox-header h3:before,\n.rtl #acf-field-group-fields .acf-sub-field-list-header h2:before,\n.rtl #acf-field-group-fields .acf-sub-field-list-header h3:before,\n.rtl #acf-field-group-options .postbox-header h2:before,\n.rtl #acf-field-group-options .postbox-header h3:before,\n.rtl #acf-field-group-options .acf-sub-field-list-header h2:before,\n.rtl #acf-field-group-options .acf-sub-field-list-header h3:before {\n margin-right: 0;\n margin-left: 8px;\n}\n\n#acf-field-group-fields .postbox-header h2:before,\nh3.acf-sub-field-list-title:before,\n.acf-link-field-groups-popup h3:before {\n -webkit-mask-image: url(\"../../images/icons/icon-fields.svg\");\n mask-image: url(\"../../images/icons/icon-fields.svg\");\n}\n\n.acf-create-options-page-popup h3:before {\n -webkit-mask-image: url(\"../../images/icons/icon-sliders.svg\");\n mask-image: url(\"../../images/icons/icon-sliders.svg\");\n}\n\n#acf-field-group-options .postbox-header h2:before {\n -webkit-mask-image: url(\"../../images/icons/icon-settings.svg\");\n mask-image: url(\"../../images/icons/icon-settings.svg\");\n}\n\n.acf-field-setting-fc_layout .acf-field-settings-fc_head label:before {\n -webkit-mask-image: url(\"../../images/icons/icon-layout.svg\");\n mask-image: url(\"../../images/icons/icon-layout.svg\");\n}\n\n.acf-admin-single-post-type #acf-advanced-settings .postbox-header h2:before,\n.acf-admin-single-taxonomy #acf-advanced-settings .postbox-header h2:before,\n.acf-admin-single-options-page #acf-advanced-settings .postbox-header h2:before {\n -webkit-mask-image: url(\"../../images/icons/icon-post-type.svg\");\n mask-image: url(\"../../images/icons/icon-post-type.svg\");\n}\n\n.acf-field-setting-fc_layout .acf-field-settings-fc_head .acf-fc_draggable:hover .reorder-layout:before {\n width: 20px;\n height: 11px;\n background-color: #475467 !important;\n -webkit-mask-image: url(\"../../images/icons/icon-draggable.svg\");\n mask-image: url(\"../../images/icons/icon-draggable.svg\");\n}\n\n/*--------------------------------------------------------------------------------------------\n*\n*\tPostbox expand / collapse icon\n*\n*--------------------------------------------------------------------------------------------*/\n.post-type-acf-field-group .postbox-header .handle-actions,\n.post-type-acf-field-group #acf-field-group-fields .postbox-header .handle-actions,\n.post-type-acf-field-group #acf-field-group-options .postbox-header .handle-actions,\n.post-type-acf-field-group .postbox .postbox-header .handle-actions,\n.acf-admin-single-post-type #acf-advanced-settings .postbox-header .handle-actions,\n.acf-admin-single-taxonomy #acf-advanced-settings .postbox-header .handle-actions,\n.acf-admin-single-options-page #acf-advanced-settings .postbox-header .handle-actions {\n display: flex;\n}\n.post-type-acf-field-group .postbox-header .handle-actions .toggle-indicator:before,\n.post-type-acf-field-group #acf-field-group-fields .postbox-header .handle-actions .toggle-indicator:before,\n.post-type-acf-field-group #acf-field-group-options .postbox-header .handle-actions .toggle-indicator:before,\n.post-type-acf-field-group .postbox .postbox-header .handle-actions .toggle-indicator:before,\n.acf-admin-single-post-type #acf-advanced-settings .postbox-header .handle-actions .toggle-indicator:before,\n.acf-admin-single-taxonomy #acf-advanced-settings .postbox-header .handle-actions .toggle-indicator:before,\n.acf-admin-single-options-page #acf-advanced-settings .postbox-header .handle-actions .toggle-indicator:before {\n content: \"\";\n display: inline-flex;\n width: 20px;\n height: 20px;\n background-color: currentColor;\n border: none;\n border-radius: 0;\n -webkit-mask-size: contain;\n mask-size: contain;\n -webkit-mask-repeat: no-repeat;\n mask-repeat: no-repeat;\n -webkit-mask-position: center;\n mask-position: center;\n -webkit-mask-image: url(\"../../images/icons/icon-chevron-up.svg\");\n mask-image: url(\"../../images/icons/icon-chevron-up.svg\");\n}\n.post-type-acf-field-group.closed .postbox-header .handle-actions .toggle-indicator:before,\n.post-type-acf-field-group #acf-field-group-fields.closed .postbox-header .handle-actions .toggle-indicator:before,\n.post-type-acf-field-group #acf-field-group-options.closed .postbox-header .handle-actions .toggle-indicator:before,\n.post-type-acf-field-group .postbox.closed .postbox-header .handle-actions .toggle-indicator:before,\n.acf-admin-single-post-type #acf-advanced-settings.closed .postbox-header .handle-actions .toggle-indicator:before,\n.acf-admin-single-taxonomy #acf-advanced-settings.closed .postbox-header .handle-actions .toggle-indicator:before,\n.acf-admin-single-options-page #acf-advanced-settings.closed .postbox-header .handle-actions .toggle-indicator:before {\n -webkit-mask-image: url(\"../../images/icons/icon-chevron-down.svg\");\n mask-image: url(\"../../images/icons/icon-chevron-down.svg\");\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* Tools & updates page heading icons\n*\n*---------------------------------------------------------------------------------------------*/\n.post-type-acf-field-group #acf-admin-tool-export h2,\n.post-type-acf-field-group #acf-admin-tool-export h3,\n.post-type-acf-field-group #acf-admin-tool-import h2,\n.post-type-acf-field-group #acf-admin-tool-import h3,\n.post-type-acf-field-group #acf-license-information h2,\n.post-type-acf-field-group #acf-license-information h3,\n.post-type-acf-field-group #acf-update-information h2,\n.post-type-acf-field-group #acf-update-information h3 {\n display: inline-flex;\n justify-content: flex-start;\n align-content: stretch;\n align-items: center;\n}\n.post-type-acf-field-group #acf-admin-tool-export h2:before,\n.post-type-acf-field-group #acf-admin-tool-export h3:before,\n.post-type-acf-field-group #acf-admin-tool-import h2:before,\n.post-type-acf-field-group #acf-admin-tool-import h3:before,\n.post-type-acf-field-group #acf-license-information h2:before,\n.post-type-acf-field-group #acf-license-information h3:before,\n.post-type-acf-field-group #acf-update-information h2:before,\n.post-type-acf-field-group #acf-update-information h3:before {\n content: \"\";\n display: inline-block;\n width: 20px;\n height: 20px;\n margin-right: 8px;\n background-color: #98A2B3;\n border: none;\n border-radius: 0;\n -webkit-mask-size: contain;\n mask-size: contain;\n -webkit-mask-repeat: no-repeat;\n mask-repeat: no-repeat;\n -webkit-mask-position: center;\n mask-position: center;\n}\n.post-type-acf-field-group.rtl #acf-admin-tool-export h2:before,\n.post-type-acf-field-group.rtl #acf-admin-tool-export h3:before,\n.post-type-acf-field-group.rtl #acf-admin-tool-import h2:before,\n.post-type-acf-field-group.rtl #acf-admin-tool-import h3:before,\n.post-type-acf-field-group.rtl #acf-license-information h2:before,\n.post-type-acf-field-group.rtl #acf-license-information h3:before,\n.post-type-acf-field-group.rtl #acf-update-information h2:before,\n.post-type-acf-field-group.rtl #acf-update-information h3:before {\n margin-right: 0;\n margin-left: 8px;\n}\n\n.post-type-acf-field-group #acf-admin-tool-export h2:before {\n -webkit-mask-image: url(\"../../images/icons/icon-export.svg\");\n mask-image: url(\"../../images/icons/icon-export.svg\");\n}\n\n.post-type-acf-field-group #acf-admin-tool-import h2:before {\n -webkit-mask-image: url(\"../../images/icons/icon-import.svg\");\n mask-image: url(\"../../images/icons/icon-import.svg\");\n}\n\n.post-type-acf-field-group #acf-license-information h3:before {\n -webkit-mask-image: url(\"../../images/icons/icon-key.svg\");\n mask-image: url(\"../../images/icons/icon-key.svg\");\n}\n\n.post-type-acf-field-group #acf-update-information h3:before {\n -webkit-mask-image: url(\"../../images/icons/icon-info.svg\");\n mask-image: url(\"../../images/icons/icon-info.svg\");\n}\n\n/*--------------------------------------------------------------------------------------------\n*\n*\tAdmin field icons\n*\n*--------------------------------------------------------------------------------------------*/\n.acf-admin-single-field-group .acf-input .acf-icon {\n width: 18px;\n height: 18px;\n}\n\n/*--------------------------------------------------------------------------------------------\n*\n*\tField type icon base styling\n*\n*--------------------------------------------------------------------------------------------*/\n.field-type-icon {\n box-sizing: border-box;\n display: inline-flex;\n align-content: center;\n align-items: center;\n justify-content: center;\n position: relative;\n width: 24px;\n height: 24px;\n top: -4px;\n background-color: #EBF5FA;\n border-width: 1px;\n border-style: solid;\n border-color: #A5D2E7;\n border-radius: 100%;\n}\n.field-type-icon:before {\n content: \"\";\n width: 14px;\n height: 14px;\n position: relative;\n background-color: #0783BE;\n -webkit-mask-size: cover;\n mask-size: cover;\n -webkit-mask-repeat: no-repeat;\n mask-repeat: no-repeat;\n -webkit-mask-position: center;\n mask-position: center;\n -webkit-mask-image: url(\"../../images/field-type-icons/icon-field-default.svg\");\n mask-image: url(\"../../images/field-type-icons/icon-field-default.svg\");\n}\n\n/*--------------------------------------------------------------------------------------------\n*\n*\tField type icons\n*\n*--------------------------------------------------------------------------------------------*/\n.field-type-icon.field-type-icon-text:before {\n -webkit-mask-image: url(\"../../images/field-type-icons/icon-field-text.svg\");\n mask-image: url(\"../../images/field-type-icons/icon-field-text.svg\");\n}\n\n.field-type-icon.field-type-icon-textarea:before {\n -webkit-mask-image: url(\"../../images/field-type-icons/icon-field-textarea.svg\");\n mask-image: url(\"../../images/field-type-icons/icon-field-textarea.svg\");\n}\n\n.field-type-icon.field-type-icon-textarea:before {\n -webkit-mask-image: url(\"../../images/field-type-icons/icon-field-textarea.svg\");\n mask-image: url(\"../../images/field-type-icons/icon-field-textarea.svg\");\n}\n\n.field-type-icon.field-type-icon-number:before {\n -webkit-mask-image: url(\"../../images/field-type-icons/icon-field-number.svg\");\n mask-image: url(\"../../images/field-type-icons/icon-field-number.svg\");\n}\n\n.field-type-icon.field-type-icon-range:before {\n -webkit-mask-image: url(\"../../images/field-type-icons/icon-field-range.svg\");\n mask-image: url(\"../../images/field-type-icons/icon-field-range.svg\");\n}\n\n.field-type-icon.field-type-icon-email:before {\n -webkit-mask-image: url(\"../../images/field-type-icons/icon-field-email.svg\");\n mask-image: url(\"../../images/field-type-icons/icon-field-email.svg\");\n}\n\n.field-type-icon.field-type-icon-url:before {\n -webkit-mask-image: url(\"../../images/field-type-icons/icon-field-url.svg\");\n mask-image: url(\"../../images/field-type-icons/icon-field-url.svg\");\n}\n\n.field-type-icon.field-type-icon-password:before {\n -webkit-mask-image: url(\"../../images/field-type-icons/icon-field-password.svg\");\n mask-image: url(\"../../images/field-type-icons/icon-field-password.svg\");\n}\n\n.field-type-icon.field-type-icon-image:before {\n -webkit-mask-image: url(\"../../images/field-type-icons/icon-field-image.svg\");\n mask-image: url(\"../../images/field-type-icons/icon-field-image.svg\");\n}\n\n.field-type-icon.field-type-icon-file:before {\n -webkit-mask-image: url(\"../../images/field-type-icons/icon-field-file.svg\");\n mask-image: url(\"../../images/field-type-icons/icon-field-file.svg\");\n}\n\n.field-type-icon.field-type-icon-wysiwyg:before {\n -webkit-mask-image: url(\"../../images/field-type-icons/icon-field-wysiwyg.svg\");\n mask-image: url(\"../../images/field-type-icons/icon-field-wysiwyg.svg\");\n}\n\n.field-type-icon.field-type-icon-oembed:before {\n -webkit-mask-image: url(\"../../images/field-type-icons/icon-field-oembed.svg\");\n mask-image: url(\"../../images/field-type-icons/icon-field-oembed.svg\");\n}\n\n.field-type-icon.field-type-icon-gallery:before {\n -webkit-mask-image: url(\"../../images/field-type-icons/icon-field-gallery.svg\");\n mask-image: url(\"../../images/field-type-icons/icon-field-gallery.svg\");\n}\n\n.field-type-icon.field-type-icon-select:before {\n -webkit-mask-image: url(\"../../images/field-type-icons/icon-field-select.svg\");\n mask-image: url(\"../../images/field-type-icons/icon-field-select.svg\");\n}\n\n.field-type-icon.field-type-icon-checkbox:before {\n -webkit-mask-image: url(\"../../images/field-type-icons/icon-field-checkbox.svg\");\n mask-image: url(\"../../images/field-type-icons/icon-field-checkbox.svg\");\n}\n\n.field-type-icon.field-type-icon-radio:before {\n -webkit-mask-image: url(\"../../images/field-type-icons/icon-field-radio.svg\");\n mask-image: url(\"../../images/field-type-icons/icon-field-radio.svg\");\n}\n\n.field-type-icon.field-type-icon-button-group:before {\n -webkit-mask-image: url(\"../../images/field-type-icons/icon-field-button-group.svg\");\n mask-image: url(\"../../images/field-type-icons/icon-field-button-group.svg\");\n}\n\n.field-type-icon.field-type-icon-true-false:before {\n -webkit-mask-image: url(\"../../images/field-type-icons/icon-field-true-false.svg\");\n mask-image: url(\"../../images/field-type-icons/icon-field-true-false.svg\");\n}\n\n.field-type-icon.field-type-icon-link:before {\n -webkit-mask-image: url(\"../../images/field-type-icons/icon-field-link.svg\");\n mask-image: url(\"../../images/field-type-icons/icon-field-link.svg\");\n}\n\n.field-type-icon.field-type-icon-post-object:before {\n -webkit-mask-image: url(\"../../images/field-type-icons/icon-field-post-object.svg\");\n mask-image: url(\"../../images/field-type-icons/icon-field-post-object.svg\");\n}\n\n.field-type-icon.field-type-icon-page-link:before {\n -webkit-mask-image: url(\"../../images/field-type-icons/icon-field-page-link.svg\");\n mask-image: url(\"../../images/field-type-icons/icon-field-page-link.svg\");\n}\n\n.field-type-icon.field-type-icon-relationship:before {\n -webkit-mask-image: url(\"../../images/field-type-icons/icon-field-relationship.svg\");\n mask-image: url(\"../../images/field-type-icons/icon-field-relationship.svg\");\n}\n\n.field-type-icon.field-type-icon-taxonomy:before {\n -webkit-mask-image: url(\"../../images/field-type-icons/icon-field-taxonomy.svg\");\n mask-image: url(\"../../images/field-type-icons/icon-field-taxonomy.svg\");\n}\n\n.field-type-icon.field-type-icon-user:before {\n -webkit-mask-image: url(\"../../images/field-type-icons/icon-field-user.svg\");\n mask-image: url(\"../../images/field-type-icons/icon-field-user.svg\");\n}\n\n.field-type-icon.field-type-icon-google-map:before {\n -webkit-mask-image: url(\"../../images/field-type-icons/icon-field-google-map.svg\");\n mask-image: url(\"../../images/field-type-icons/icon-field-google-map.svg\");\n}\n\n.field-type-icon.field-type-icon-date-picker:before {\n -webkit-mask-image: url(\"../../images/field-type-icons/icon-field-date-picker.svg\");\n mask-image: url(\"../../images/field-type-icons/icon-field-date-picker.svg\");\n}\n\n.field-type-icon.field-type-icon-date-time-picker:before {\n -webkit-mask-image: url(\"../../images/field-type-icons/icon-field-date-time-picker.svg\");\n mask-image: url(\"../../images/field-type-icons/icon-field-date-time-picker.svg\");\n}\n\n.field-type-icon.field-type-icon-time-picker:before {\n -webkit-mask-image: url(\"../../images/field-type-icons/icon-field-time-picker.svg\");\n mask-image: url(\"../../images/field-type-icons/icon-field-time-picker.svg\");\n}\n\n.field-type-icon.field-type-icon-color-picker:before {\n -webkit-mask-image: url(\"../../images/field-type-icons/icon-field-color-picker.svg\");\n mask-image: url(\"../../images/field-type-icons/icon-field-color-picker.svg\");\n}\n\n.field-type-icon.field-type-icon-icon-picker:before {\n -webkit-mask-image: url(\"../../images/field-type-icons/icon-field-icon-picker.svg\");\n mask-image: url(\"../../images/field-type-icons/icon-field-icon-picker.svg\");\n}\n\n.field-type-icon.field-type-icon-message:before {\n -webkit-mask-image: url(\"../../images/field-type-icons/icon-field-message.svg\");\n mask-image: url(\"../../images/field-type-icons/icon-field-message.svg\");\n}\n\n.field-type-icon.field-type-icon-accordion:before {\n -webkit-mask-image: url(\"../../images/field-type-icons/icon-field-accordion.svg\");\n mask-image: url(\"../../images/field-type-icons/icon-field-accordion.svg\");\n}\n\n.field-type-icon.field-type-icon-tab:before {\n -webkit-mask-image: url(\"../../images/field-type-icons/icon-field-tab.svg\");\n mask-image: url(\"../../images/field-type-icons/icon-field-tab.svg\");\n}\n\n.field-type-icon.field-type-icon-group:before {\n -webkit-mask-image: url(\"../../images/field-type-icons/icon-field-group.svg\");\n mask-image: url(\"../../images/field-type-icons/icon-field-group.svg\");\n}\n\n.field-type-icon.field-type-icon-repeater:before {\n -webkit-mask-image: url(\"../../images/field-type-icons/icon-field-repeater.svg\");\n mask-image: url(\"../../images/field-type-icons/icon-field-repeater.svg\");\n}\n\n.field-type-icon.field-type-icon-flexible-content:before {\n -webkit-mask-image: url(\"../../images/field-type-icons/icon-field-flexible-content.svg\");\n mask-image: url(\"../../images/field-type-icons/icon-field-flexible-content.svg\");\n}\n\n.field-type-icon.field-type-icon-clone:before {\n -webkit-mask-image: url(\"../../images/field-type-icons/icon-field-clone.svg\");\n mask-image: url(\"../../images/field-type-icons/icon-field-clone.svg\");\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* Tools page layout\n*\n*---------------------------------------------------------------------------------------------*/\n#acf-admin-tools .postbox-header {\n display: none;\n}\n#acf-admin-tools .acf-meta-box-wrap.-grid {\n margin-top: 0;\n margin-right: 0;\n margin-bottom: 0;\n margin-left: 0;\n}\n#acf-admin-tools .acf-meta-box-wrap.-grid .postbox {\n width: 100%;\n clear: none;\n float: none;\n margin-bottom: 0;\n}\n@media screen and (max-width: 880px) {\n #acf-admin-tools .acf-meta-box-wrap.-grid .postbox {\n flex: 1 1 100%;\n }\n}\n#acf-admin-tools .acf-meta-box-wrap.-grid .postbox:nth-child(odd) {\n margin-left: 0;\n}\n#acf-admin-tools .meta-box-sortables {\n display: grid;\n grid-template-columns: repeat(2, 1fr);\n grid-template-rows: repeat(1, 1fr);\n grid-column-gap: 32px;\n grid-row-gap: 32px;\n}\n@media screen and (max-width: 880px) {\n #acf-admin-tools .meta-box-sortables {\n display: flex;\n flex-wrap: wrap;\n justify-content: flex-start;\n align-content: flex-start;\n align-items: center;\n grid-column-gap: 8px;\n grid-row-gap: 8px;\n }\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* Tools export pages\n*\n*---------------------------------------------------------------------------------------------*/\n#acf-admin-tools.tool-export .inside {\n margin: 0;\n}\n#acf-admin-tools.tool-export .acf-postbox-header {\n margin-bottom: 24px;\n}\n#acf-admin-tools.tool-export .acf-postbox-main {\n border: none;\n margin: 0;\n padding-top: 0;\n padding-right: 24px;\n padding-bottom: 0;\n padding-left: 0;\n}\n#acf-admin-tools.tool-export .acf-postbox-columns {\n margin-top: 0;\n margin-right: 280px;\n margin-bottom: 0;\n margin-left: 0;\n padding: 0;\n}\n#acf-admin-tools.tool-export .acf-postbox-columns .acf-postbox-side {\n padding: 0;\n}\n#acf-admin-tools.tool-export .acf-postbox-columns .acf-postbox-side .acf-panel {\n margin: 0;\n padding: 0;\n}\n#acf-admin-tools.tool-export .acf-postbox-columns .acf-postbox-side:before {\n display: none;\n}\n#acf-admin-tools.tool-export .acf-postbox-columns .acf-postbox-side .acf-btn {\n display: block;\n width: 100%;\n text-align: center;\n}\n#acf-admin-tools.tool-export .meta-box-sortables {\n display: block;\n}\n#acf-admin-tools.tool-export .acf-panel {\n border: none;\n}\n#acf-admin-tools.tool-export .acf-panel h3 {\n margin: 0;\n padding: 0;\n color: #344054;\n}\n#acf-admin-tools.tool-export .acf-panel h3:before {\n display: none;\n}\n#acf-admin-tools.tool-export .acf-checkbox-list {\n margin-top: 16px;\n border-width: 1px;\n border-style: solid;\n border-color: #D0D5DD;\n border-radius: 6px;\n}\n#acf-admin-tools.tool-export .acf-checkbox-list li {\n display: inline-flex;\n box-sizing: border-box;\n width: 100%;\n height: 48px;\n align-items: center;\n margin: 0;\n padding-right: 12px;\n padding-left: 12px;\n border-bottom-width: 1px;\n border-bottom-style: solid;\n border-bottom-color: #EAECF0;\n}\n#acf-admin-tools.tool-export .acf-checkbox-list li:last-child {\n border-bottom: none;\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* Updates layout\n*\n*---------------------------------------------------------------------------------------------*/\n.acf-settings-wrap.acf-updates {\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n justify-content: flex-start;\n align-content: flex-start;\n align-items: flex-start;\n}\n\n.custom-fields_page_acf-settings-updates .acf-admin-notice,\n.custom-fields_page_acf-settings-updates .acf-upgrade-notice,\n.custom-fields_page_acf-settings-updates .notice {\n flex: 1 1 100%;\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* ACF Box\n*\n*---------------------------------------------------------------------------------------------*/\n.acf-settings-wrap.acf-updates .acf-box {\n margin-top: 0;\n margin-right: 0;\n margin-bottom: 0;\n margin-left: 0;\n}\n.acf-settings-wrap.acf-updates .acf-box .inner {\n padding-top: 24px;\n padding-right: 24px;\n padding-bottom: 24px;\n padding-left: 24px;\n}\n@media screen and (max-width: 880px) {\n .acf-settings-wrap.acf-updates .acf-box {\n flex: 1 1 100%;\n }\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* Notices\n*\n*---------------------------------------------------------------------------------------------*/\n.acf-settings-wrap.acf-updates .acf-admin-notice {\n flex: 1 1 100%;\n margin-top: 16px;\n margin-right: 0;\n margin-left: 0;\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* License information\n*\n*---------------------------------------------------------------------------------------------*/\n#acf-license-information {\n flex: 1 1 65%;\n margin-right: 32px;\n}\n#acf-license-information .inner {\n padding: 0;\n}\n#acf-license-information .inner .acf-license-defined {\n padding: 24px;\n margin: 0;\n}\n#acf-license-information .inner .acf-activation-form,\n#acf-license-information .inner .acf-retry-activation {\n padding: 24px;\n}\n#acf-license-information .inner .acf-activation-form.acf-retry-activation,\n#acf-license-information .inner .acf-retry-activation.acf-retry-activation {\n padding-top: 0;\n min-height: 40px;\n}\n#acf-license-information .inner .acf-activation-form.acf-retry-activation .acf-recheck-license.acf-btn,\n#acf-license-information .inner .acf-retry-activation.acf-retry-activation .acf-recheck-license.acf-btn {\n float: none;\n line-height: initial;\n}\n#acf-license-information .inner .acf-activation-form.acf-retry-activation .acf-recheck-license.acf-btn i,\n#acf-license-information .inner .acf-retry-activation.acf-retry-activation .acf-recheck-license.acf-btn i {\n display: none;\n}\n#acf-license-information .inner .acf-activation-form .acf-manage-license-btn,\n#acf-license-information .inner .acf-retry-activation .acf-manage-license-btn {\n float: right;\n line-height: 40px;\n align-items: center;\n display: inline-flex;\n}\n#acf-license-information .inner .acf-activation-form .acf-manage-license-btn.acf-renew-subscription,\n#acf-license-information .inner .acf-retry-activation .acf-manage-license-btn.acf-renew-subscription {\n float: none;\n line-height: initial;\n}\n#acf-license-information .inner .acf-activation-form .acf-manage-license-btn i,\n#acf-license-information .inner .acf-retry-activation .acf-manage-license-btn i {\n margin: 0 0 0 5px;\n width: 19px;\n height: 19px;\n}\n#acf-license-information .inner .acf-activation-form .acf-recheck-license,\n#acf-license-information .inner .acf-retry-activation .acf-recheck-license {\n float: right;\n line-height: 40px;\n}\n#acf-license-information .inner .acf-activation-form .acf-recheck-license i,\n#acf-license-information .inner .acf-retry-activation .acf-recheck-license i {\n margin-right: 8px;\n vertical-align: middle;\n}\n#acf-license-information .inner .acf-license-status-wrap {\n background: #F9FAFB;\n border-top: 1px solid #EAECF0;\n border-bottom-left-radius: 8px;\n border-bottom-right-radius: 8px;\n}\n#acf-license-information .inner .acf-license-status-wrap .acf-license-status-table {\n font-size: 14px;\n padding: 24px 24px 16px 24px;\n}\n#acf-license-information .inner .acf-license-status-wrap .acf-license-status-table th {\n width: 160px;\n font-weight: 500;\n text-align: left;\n padding-bottom: 16px;\n}\n#acf-license-information .inner .acf-license-status-wrap .acf-license-status-table td {\n padding-bottom: 16px;\n}\n#acf-license-information .inner .acf-license-status-wrap .acf-license-status-table td .acf-license-status {\n display: inline-block;\n height: 24px;\n line-height: 24px;\n border-radius: 100px;\n background: #EAECF0;\n padding: 0 13px 1px 12px;\n border: 1px solid rgba(0, 0, 0, 0.12);\n color: #667085;\n}\n#acf-license-information .inner .acf-license-status-wrap .acf-license-status-table td .acf-license-status.active {\n background: rgba(18, 183, 106, 0.15);\n border: 1px solid rgba(18, 183, 106, 0.24);\n color: rgb(18, 183, 106);\n}\n#acf-license-information .inner .acf-license-status-wrap .acf-license-status-table td .acf-license-status.expired, #acf-license-information .inner .acf-license-status-wrap .acf-license-status-table td .acf-license-status.cancelled {\n background: rgba(209, 55, 55, 0.24);\n border: 1px solid rgba(209, 55, 55, 0.24);\n color: rgb(209, 55, 55);\n}\n#acf-license-information .inner .acf-license-status-wrap .acf-no-license-view-pricing {\n padding: 12px 24px;\n border-top: 1px solid #EAECF0;\n color: #667085;\n}\n@media screen and (max-width: 1024px) {\n #acf-license-information {\n margin-right: 0;\n margin-bottom: 32px;\n }\n}\n#acf-license-information label {\n font-weight: 500;\n}\n#acf-license-information .acf-input-wrap {\n margin-top: 8px;\n margin-bottom: 24px;\n}\n#acf-license-information #acf_pro_license {\n width: 100%;\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* Update information table\n*\n*---------------------------------------------------------------------------------------------*/\n#acf-update-information {\n flex: 1 1 35%;\n max-width: calc(35% - 32px);\n}\n#acf-update-information .form-table th,\n#acf-update-information .form-table td {\n padding-top: 0;\n padding-right: 0;\n padding-bottom: 24px;\n padding-left: 0;\n color: #344054;\n}\n#acf-update-information .acf-update-changelog {\n margin-top: 8px;\n margin-bottom: 24px;\n padding-top: 8px;\n border-top-width: 1px;\n border-top-style: solid;\n border-top-color: #EAECF0;\n color: #344054;\n}\n#acf-update-information .acf-update-changelog h4 {\n margin-bottom: 0;\n}\n#acf-update-information .acf-update-changelog p {\n margin-top: 0;\n margin-bottom: 16px;\n}\n#acf-update-information .acf-update-changelog p:last-of-type {\n margin-bottom: 0;\n}\n#acf-update-information .acf-update-changelog p em {\n color: #667085;\n}\n#acf-update-information .acf-btn {\n display: inline-flex;\n}\n\n/*--------------------------------------------------------------------------------------------\n*\n*\tHeader pro upgrade button\n*\n*--------------------------------------------------------------------------------------------*/\n.acf-admin-toolbar a.acf-admin-toolbar-upgrade-btn {\n display: inline-flex;\n align-items: center;\n align-self: stretch;\n padding-top: 0;\n padding-right: 16px;\n padding-bottom: 0;\n padding-left: 16px;\n background: radial-gradient(141.77% 141.08% at 100.26% 99.25%, #0ECAD4 0%, #7A45E5 100%);\n box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.16);\n border-radius: 6px;\n text-decoration: none;\n}\n@media screen and (max-width: 768px) {\n .acf-admin-toolbar a.acf-admin-toolbar-upgrade-btn {\n display: none;\n }\n}\n.acf-admin-toolbar a.acf-admin-toolbar-upgrade-btn:focus {\n border: none;\n outline: none;\n box-shadow: none;\n}\n.acf-admin-toolbar a.acf-admin-toolbar-upgrade-btn p {\n margin: 0;\n padding-top: 8px;\n padding-bottom: 8px;\n font-weight: 400;\n text-transform: none;\n color: #fff;\n}\n.acf-admin-toolbar a.acf-admin-toolbar-upgrade-btn .acf-icon {\n width: 18px;\n height: 18px;\n margin-right: 6px;\n margin-left: -2px;\n background-color: #F9FAFB;\n}\n\n/*--------------------------------------------------------------------------------------------\n*\n* Upsell block\n*\n*--------------------------------------------------------------------------------------------*/\n.acf-admin-page #tmpl-acf-field-group-pro-features,\n.acf-admin-page #acf-field-group-pro-features {\n display: none;\n align-items: center;\n min-height: 120px;\n background-color: #121833;\n background-image: url(../../images/pro-upgrade-grid-bg.svg), url(../../images/pro-upgrade-overlay.svg);\n background-repeat: repeat, no-repeat;\n background-size: 1224px, 1880px;\n background-position: left top, -520px -680px;\n color: #EAECF0;\n border-radius: 8px;\n margin-top: 24px;\n margin-bottom: 24px;\n}\n@media screen and (max-width: 768px) {\n .acf-admin-page #tmpl-acf-field-group-pro-features,\n .acf-admin-page #acf-field-group-pro-features {\n background-size: 1024px, 980px;\n background-position: left top, -500px -200px;\n }\n}\n@media screen and (max-width: 1200px) {\n .acf-admin-page #tmpl-acf-field-group-pro-features,\n .acf-admin-page #acf-field-group-pro-features {\n background-size: 1024px, 1880px;\n background-position: left top, -520px -300px;\n }\n}\n.acf-admin-page #tmpl-acf-field-group-pro-features .postbox-header,\n.acf-admin-page #acf-field-group-pro-features .postbox-header {\n display: none;\n}\n.acf-admin-page #tmpl-acf-field-group-pro-features .inside,\n.acf-admin-page #acf-field-group-pro-features .inside {\n width: 100%;\n border: none;\n padding: 0;\n}\n.acf-admin-page #tmpl-acf-field-group-pro-features .acf-field-group-pro-features-wrapper,\n.acf-admin-page #acf-field-group-pro-features .acf-field-group-pro-features-wrapper {\n display: flex;\n justify-content: center;\n align-content: stretch;\n align-items: center;\n gap: 96px;\n height: 358px;\n max-width: 950px;\n margin: 0 auto;\n padding: 0 35px;\n}\n@media screen and (max-width: 1200px) {\n .acf-admin-page #tmpl-acf-field-group-pro-features .acf-field-group-pro-features-wrapper,\n .acf-admin-page #acf-field-group-pro-features .acf-field-group-pro-features-wrapper {\n gap: 48px;\n }\n}\n@media screen and (max-width: 768px) {\n .acf-admin-page #tmpl-acf-field-group-pro-features .acf-field-group-pro-features-wrapper,\n .acf-admin-page #acf-field-group-pro-features .acf-field-group-pro-features-wrapper {\n gap: 0;\n }\n}\n.acf-admin-page #tmpl-acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-title,\n.acf-admin-page #tmpl-acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-title-sm,\n.acf-admin-page #acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-title,\n.acf-admin-page #acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-title-sm {\n font-weight: 590;\n line-height: 150%;\n}\n.acf-admin-page #tmpl-acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-title .acf-pro-label,\n.acf-admin-page #tmpl-acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-title-sm .acf-pro-label,\n.acf-admin-page #acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-title .acf-pro-label,\n.acf-admin-page #acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-title-sm .acf-pro-label {\n font-weight: 400;\n margin-top: -6px;\n margin-left: 2px;\n vertical-align: middle;\n height: 22px;\n position: relative;\n overflow: hidden;\n}\n.acf-admin-page #tmpl-acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-title .acf-pro-label::before,\n.acf-admin-page #tmpl-acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-title-sm .acf-pro-label::before,\n.acf-admin-page #acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-title .acf-pro-label::before,\n.acf-admin-page #acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-title-sm .acf-pro-label::before {\n display: block;\n position: absolute;\n content: \"\";\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n border-radius: 9999px;\n border: 1px solid rgba(255, 255, 255, 0.2);\n}\n.acf-admin-page #tmpl-acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-title-sm,\n.acf-admin-page #acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-title-sm {\n display: none !important;\n font-size: 18px;\n}\n.acf-admin-page #tmpl-acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-title-sm .acf-pro-label,\n.acf-admin-page #acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-title-sm .acf-pro-label {\n font-size: 10px;\n height: 20px;\n}\n@media screen and (max-width: 768px) {\n .acf-admin-page #tmpl-acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-title-sm,\n .acf-admin-page #acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-title-sm {\n width: 100%;\n text-align: center;\n }\n}\n@media screen and (max-width: 768px) {\n .acf-admin-page #tmpl-acf-field-group-pro-features .acf-field-group-pro-features-wrapper,\n .acf-admin-page #acf-field-group-pro-features .acf-field-group-pro-features-wrapper {\n flex-direction: column;\n flex-wrap: wrap;\n justify-content: flex-start;\n align-content: flex-start;\n align-items: flex-start;\n padding: 32px 32px 0 32px;\n height: unset;\n }\n .acf-admin-page #tmpl-acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-title-sm,\n .acf-admin-page #acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-title-sm {\n display: block !important;\n margin-bottom: 24px;\n }\n}\n.acf-admin-page #tmpl-acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-content,\n.acf-admin-page #acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-content {\n display: flex;\n flex-direction: column;\n width: 416px;\n}\n.acf-admin-page #tmpl-acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-content .acf-field-group-pro-features-desc,\n.acf-admin-page #acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-content .acf-field-group-pro-features-desc {\n margin-top: 8px;\n margin-bottom: 24px;\n font-size: 15px;\n font-weight: 300;\n color: #D0D5DD;\n}\n@media screen and (max-width: 768px) {\n .acf-admin-page #tmpl-acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-content,\n .acf-admin-page #acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-content {\n width: 100%;\n order: 1;\n margin-right: 0;\n margin-bottom: 8px;\n }\n .acf-admin-page #tmpl-acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-content .acf-field-group-pro-features-title,\n .acf-admin-page #tmpl-acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-content .acf-field-group-pro-features-desc,\n .acf-admin-page #acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-content .acf-field-group-pro-features-title,\n .acf-admin-page #acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-content .acf-field-group-pro-features-desc {\n display: none !important;\n }\n}\n.acf-admin-page #tmpl-acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-actions,\n.acf-admin-page #acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-actions {\n display: flex;\n flex-direction: row;\n align-items: flex-start;\n min-width: 160px;\n gap: 12px;\n}\n@media screen and (max-width: 768px) {\n .acf-admin-page #tmpl-acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-actions,\n .acf-admin-page #acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-actions {\n justify-content: flex-start;\n flex-direction: column;\n margin-bottom: 24px;\n }\n .acf-admin-page #tmpl-acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-actions a,\n .acf-admin-page #acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-actions a {\n justify-content: center;\n text-align: center;\n width: 100%;\n }\n}\n.acf-admin-page #tmpl-acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-grid,\n.acf-admin-page #acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-grid {\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n gap: 16px;\n width: 416px;\n}\n.acf-admin-page #tmpl-acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-grid .acf-field-group-pro-feature,\n.acf-admin-page #acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-grid .acf-field-group-pro-feature {\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n width: 128px;\n height: 124px;\n background: rgba(255, 255, 255, 0.08);\n box-shadow: 0 0 4px rgba(0, 0, 0, 0.04), 0 8px 16px rgba(0, 0, 0, 0.08), inset 0 0 0 1px rgba(255, 255, 255, 0.08);\n backdrop-filter: blur(6px);\n border-radius: 8px;\n}\n.acf-admin-page #tmpl-acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-grid .acf-field-group-pro-feature .field-type-icon,\n.acf-admin-page #acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-grid .acf-field-group-pro-feature .field-type-icon {\n border: none;\n background: none;\n width: 24px;\n opacity: 0.8;\n}\n.acf-admin-page #tmpl-acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-grid .acf-field-group-pro-feature .field-type-icon::before,\n.acf-admin-page #acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-grid .acf-field-group-pro-feature .field-type-icon::before {\n background-color: #fff;\n width: 20px;\n height: 20px;\n}\n@media screen and (max-width: 1200px) {\n .acf-admin-page #tmpl-acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-grid .acf-field-group-pro-feature .field-type-icon::before,\n .acf-admin-page #acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-grid .acf-field-group-pro-feature .field-type-icon::before {\n width: 18px;\n height: 18px;\n }\n}\n.acf-admin-page #tmpl-acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-grid .acf-field-group-pro-feature .pro-feature-blocks::before,\n.acf-admin-page #acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-grid .acf-field-group-pro-feature .pro-feature-blocks::before {\n -webkit-mask-image: url(\"../../images/icons/icon-extended-menu.svg\");\n mask-image: url(\"../../images/icons/icon-extended-menu.svg\");\n}\n.acf-admin-page #tmpl-acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-grid .acf-field-group-pro-feature .pro-feature-options-pages::before,\n.acf-admin-page #acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-grid .acf-field-group-pro-feature .pro-feature-options-pages::before {\n -webkit-mask-image: url(\"../../images/icons/icon-settings.svg\");\n mask-image: url(\"../../images/icons/icon-settings.svg\");\n}\n.acf-admin-page #tmpl-acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-grid .acf-field-group-pro-feature .field-type-label,\n.acf-admin-page #acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-grid .acf-field-group-pro-feature .field-type-label {\n margin-top: 4px;\n font-size: 13px;\n font-weight: 300;\n text-align: center;\n color: #fff;\n}\n@media screen and (max-width: 1200px) {\n .acf-admin-page #tmpl-acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-grid,\n .acf-admin-page #acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-grid {\n flex-direction: column;\n gap: 8px;\n width: 288px;\n }\n .acf-admin-page #tmpl-acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-grid .acf-field-group-pro-feature,\n .acf-admin-page #acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-grid .acf-field-group-pro-feature {\n width: 100%;\n height: 40px;\n flex-direction: row;\n justify-content: unset;\n gap: 8px;\n }\n .acf-admin-page #tmpl-acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-grid .acf-field-group-pro-feature .field-type-icon,\n .acf-admin-page #acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-grid .acf-field-group-pro-feature .field-type-icon {\n position: initial;\n margin-left: 16px;\n }\n .acf-admin-page #tmpl-acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-grid .acf-field-group-pro-feature .field-type-label,\n .acf-admin-page #acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-grid .acf-field-group-pro-feature .field-type-label {\n margin-top: 0;\n }\n}\n@media screen and (max-width: 768px) {\n .acf-admin-page #tmpl-acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-grid,\n .acf-admin-page #acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-grid {\n gap: 0;\n width: 100%;\n height: auto;\n margin-bottom: 16px;\n flex-direction: unset;\n flex-wrap: wrap;\n }\n .acf-admin-page #tmpl-acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-grid .acf-field-group-pro-feature,\n .acf-admin-page #acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-grid .acf-field-group-pro-feature {\n flex: 1 0 50%;\n margin-bottom: 8px;\n width: auto;\n height: auto;\n justify-content: center;\n background: none;\n box-shadow: none;\n backdrop-filter: none;\n }\n .acf-admin-page #tmpl-acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-grid .acf-field-group-pro-feature .field-type-label,\n .acf-admin-page #acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-grid .acf-field-group-pro-feature .field-type-label {\n margin-left: 2px;\n }\n .acf-admin-page #tmpl-acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-grid .acf-field-group-pro-feature .field-type-icon,\n .acf-admin-page #acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-grid .acf-field-group-pro-feature .field-type-icon {\n position: initial;\n margin-left: 0;\n }\n .acf-admin-page #tmpl-acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-grid .acf-field-group-pro-feature .field-type-icon::before,\n .acf-admin-page #acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-grid .acf-field-group-pro-feature .field-type-icon::before {\n height: 16px;\n width: 16px;\n }\n .acf-admin-page #tmpl-acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-grid .acf-field-group-pro-feature .field-type-label,\n .acf-admin-page #acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-grid .acf-field-group-pro-feature .field-type-label {\n font-size: 12px;\n margin-top: 0;\n }\n}\n.acf-admin-page #tmpl-acf-field-group-pro-features h1,\n.acf-admin-page #acf-field-group-pro-features h1 {\n margin-top: 0;\n margin-bottom: 4px;\n padding-top: 0;\n padding-bottom: 0;\n font-weight: 700;\n color: #F9FAFB;\n}\n.acf-admin-page #tmpl-acf-field-group-pro-features h1 .acf-icon,\n.acf-admin-page #acf-field-group-pro-features h1 .acf-icon {\n margin-right: 8px;\n}\n.acf-admin-page #tmpl-acf-field-group-pro-features .acf-btn,\n.acf-admin-page #acf-field-group-pro-features .acf-btn {\n display: inline-flex;\n background-color: rgba(255, 255, 255, 0.1);\n border: none;\n box-shadow: 0 0 4px rgba(0, 0, 0, 0.04), 0 4px 8px rgba(0, 0, 0, 0.06), inset 0 0 0 1px rgba(255, 255, 255, 0.16);\n backdrop-filter: blur(6px);\n padding: 8px 24px;\n height: 48px;\n}\n.acf-admin-page #tmpl-acf-field-group-pro-features .acf-btn:hover,\n.acf-admin-page #acf-field-group-pro-features .acf-btn:hover {\n background-color: rgba(255, 255, 255, 0.2);\n}\n.acf-admin-page #tmpl-acf-field-group-pro-features .acf-btn .acf-icon,\n.acf-admin-page #acf-field-group-pro-features .acf-btn .acf-icon {\n margin-right: -2px;\n margin-left: 6px;\n}\n.acf-admin-page #tmpl-acf-field-group-pro-features .acf-btn.acf-pro-features-upgrade,\n.acf-admin-page #acf-field-group-pro-features .acf-btn.acf-pro-features-upgrade {\n background: radial-gradient(141.77% 141.08% at 100.26% 99.25%, #0ECAD4 0%, #7A45E5 100%);\n box-shadow: 0 0 4px rgba(0, 0, 0, 0.04), 0 4px 8px rgba(0, 0, 0, 0.06), inset 0 0 0 1px rgba(255, 255, 255, 0.16);\n border-radius: 6px;\n}\n.acf-admin-page #tmpl-acf-field-group-pro-features .acf-field-group-pro-features-footer-wrap,\n.acf-admin-page #acf-field-group-pro-features .acf-field-group-pro-features-footer-wrap {\n height: 48px;\n background: rgba(16, 24, 40, 0.4);\n backdrop-filter: blur(6px);\n border-top: 1px solid rgba(255, 255, 255, 0.08);\n border-bottom-left-radius: 8px;\n border-bottom-right-radius: 8px;\n color: #98A2B3;\n font-size: 13px;\n font-weight: 300;\n padding: 0 35px;\n}\n.acf-admin-page #tmpl-acf-field-group-pro-features .acf-field-group-pro-features-footer-wrap .acf-field-group-pro-features-footer,\n.acf-admin-page #acf-field-group-pro-features .acf-field-group-pro-features-footer-wrap .acf-field-group-pro-features-footer {\n display: flex;\n align-items: center;\n justify-content: space-between;\n max-width: 950px;\n height: 48px;\n margin: 0 auto;\n}\n.acf-admin-page #tmpl-acf-field-group-pro-features .acf-field-group-pro-features-footer-wrap .acf-field-group-pro-features-wpengine-logo,\n.acf-admin-page #acf-field-group-pro-features .acf-field-group-pro-features-footer-wrap .acf-field-group-pro-features-wpengine-logo {\n height: 16px;\n vertical-align: middle;\n margin-top: -2px;\n margin-left: 3px;\n}\n.acf-admin-page #tmpl-acf-field-group-pro-features .acf-field-group-pro-features-footer-wrap a,\n.acf-admin-page #acf-field-group-pro-features .acf-field-group-pro-features-footer-wrap a {\n color: #98A2B3;\n text-decoration: none;\n}\n.acf-admin-page #tmpl-acf-field-group-pro-features .acf-field-group-pro-features-footer-wrap a:hover,\n.acf-admin-page #acf-field-group-pro-features .acf-field-group-pro-features-footer-wrap a:hover {\n color: #D0D5DD;\n}\n.acf-admin-page #tmpl-acf-field-group-pro-features .acf-field-group-pro-features-footer-wrap a .acf-icon,\n.acf-admin-page #acf-field-group-pro-features .acf-field-group-pro-features-footer-wrap a .acf-icon {\n width: 18px;\n height: 18px;\n margin-left: 4px;\n}\n.acf-admin-page #tmpl-acf-field-group-pro-features .acf-field-group-pro-features-footer-wrap .acf-more-tools-from-wpengine a,\n.acf-admin-page #acf-field-group-pro-features .acf-field-group-pro-features-footer-wrap .acf-more-tools-from-wpengine a {\n display: inline-flex;\n align-items: center;\n}\n@media screen and (max-width: 768px) {\n .acf-admin-page #tmpl-acf-field-group-pro-features .acf-field-group-pro-features-footer-wrap,\n .acf-admin-page #acf-field-group-pro-features .acf-field-group-pro-features-footer-wrap {\n height: 70px;\n font-size: 12px;\n }\n .acf-admin-page #tmpl-acf-field-group-pro-features .acf-field-group-pro-features-footer-wrap .acf-more-tools-from-wpengine,\n .acf-admin-page #acf-field-group-pro-features .acf-field-group-pro-features-footer-wrap .acf-more-tools-from-wpengine {\n display: none;\n }\n .acf-admin-page #tmpl-acf-field-group-pro-features .acf-field-group-pro-features-footer-wrap .acf-field-group-pro-features-footer,\n .acf-admin-page #acf-field-group-pro-features .acf-field-group-pro-features-footer-wrap .acf-field-group-pro-features-footer {\n justify-content: center;\n height: 70px;\n }\n .acf-admin-page #tmpl-acf-field-group-pro-features .acf-field-group-pro-features-footer-wrap .acf-field-group-pro-features-footer .acf-field-group-pro-features-wpengine-logo,\n .acf-admin-page #acf-field-group-pro-features .acf-field-group-pro-features-footer-wrap .acf-field-group-pro-features-footer .acf-field-group-pro-features-wpengine-logo {\n clear: both;\n margin: 6px auto 0 auto;\n display: block;\n }\n}\n\n.acf-no-field-groups #tmpl-acf-field-group-pro-features,\n.acf-no-post-types #tmpl-acf-field-group-pro-features,\n.acf-no-taxonomies #tmpl-acf-field-group-pro-features {\n margin-top: 0;\n}\n\n/*--------------------------------------------------------------------------------------------\n*\n*\tPost type & taxonomies styles\n*\n*--------------------------------------------------------------------------------------------*/\n.acf-admin-single-post-type label[for=acf-basic-settings-hide],\n.acf-admin-single-taxonomy label[for=acf-basic-settings-hide],\n.acf-admin-single-options-page label[for=acf-basic-settings-hide] {\n display: none;\n}\n.acf-admin-single-post-type fieldset.columns-prefs,\n.acf-admin-single-taxonomy fieldset.columns-prefs,\n.acf-admin-single-options-page fieldset.columns-prefs {\n display: none;\n}\n.acf-admin-single-post-type #acf-basic-settings .postbox-header,\n.acf-admin-single-taxonomy #acf-basic-settings .postbox-header,\n.acf-admin-single-options-page #acf-basic-settings .postbox-header {\n display: none;\n}\n.acf-admin-single-post-type .postbox-container,\n.acf-admin-single-post-type .notice,\n.acf-admin-single-taxonomy .postbox-container,\n.acf-admin-single-taxonomy .notice,\n.acf-admin-single-options-page .postbox-container,\n.acf-admin-single-options-page .notice {\n max-width: 1440px;\n clear: left;\n}\n.acf-admin-single-post-type #post-body-content,\n.acf-admin-single-taxonomy #post-body-content,\n.acf-admin-single-options-page #post-body-content {\n margin: 0;\n}\n.acf-admin-single-post-type .postbox .inside,\n.acf-admin-single-post-type .acf-box .inside,\n.acf-admin-single-taxonomy .postbox .inside,\n.acf-admin-single-taxonomy .acf-box .inside,\n.acf-admin-single-options-page .postbox .inside,\n.acf-admin-single-options-page .acf-box .inside {\n padding-top: 48px;\n padding-right: 48px;\n padding-bottom: 48px;\n padding-left: 48px;\n}\n.acf-admin-single-post-type #acf-advanced-settings.postbox .inside,\n.acf-admin-single-taxonomy #acf-advanced-settings.postbox .inside,\n.acf-admin-single-options-page #acf-advanced-settings.postbox .inside {\n padding-bottom: 24px;\n}\n.acf-admin-single-post-type .postbox-container .meta-box-sortables #acf-basic-settings .inside,\n.acf-admin-single-taxonomy .postbox-container .meta-box-sortables #acf-basic-settings .inside,\n.acf-admin-single-options-page .postbox-container .meta-box-sortables #acf-basic-settings .inside {\n border: none;\n}\n.acf-admin-single-post-type .acf-input-wrap,\n.acf-admin-single-taxonomy .acf-input-wrap,\n.acf-admin-single-options-page .acf-input-wrap {\n overflow: visible;\n}\n.acf-admin-single-post-type .acf-field,\n.acf-admin-single-taxonomy .acf-field,\n.acf-admin-single-options-page .acf-field {\n margin-top: 0;\n margin-right: 0;\n margin-bottom: 24px;\n margin-left: 0;\n}\n.acf-admin-single-post-type .acf-field .acf-label,\n.acf-admin-single-taxonomy .acf-field .acf-label,\n.acf-admin-single-options-page .acf-field .acf-label {\n margin-bottom: 6px;\n}\n.acf-admin-single-post-type .acf-field-text,\n.acf-admin-single-post-type .acf-field-textarea,\n.acf-admin-single-post-type .acf-field-select,\n.acf-admin-single-taxonomy .acf-field-text,\n.acf-admin-single-taxonomy .acf-field-textarea,\n.acf-admin-single-taxonomy .acf-field-select,\n.acf-admin-single-options-page .acf-field-text,\n.acf-admin-single-options-page .acf-field-textarea,\n.acf-admin-single-options-page .acf-field-select {\n max-width: 600px;\n}\n.acf-admin-single-post-type .acf-field-true-false,\n.acf-admin-single-taxonomy .acf-field-true-false,\n.acf-admin-single-options-page .acf-field-true-false {\n max-width: 700px;\n}\n.acf-admin-single-post-type .acf-field-supports,\n.acf-admin-single-taxonomy .acf-field-supports,\n.acf-admin-single-options-page .acf-field-supports {\n max-width: 600px;\n}\n.acf-admin-single-post-type .acf-field-supports .acf-label,\n.acf-admin-single-taxonomy .acf-field-supports .acf-label,\n.acf-admin-single-options-page .acf-field-supports .acf-label {\n display: block;\n}\n.acf-admin-single-post-type .acf-field-supports .acf-label .description,\n.acf-admin-single-taxonomy .acf-field-supports .acf-label .description,\n.acf-admin-single-options-page .acf-field-supports .acf-label .description {\n margin-top: 4px;\n margin-bottom: 12px;\n}\n.acf-admin-single-post-type .acf-field-supports .acf_post_type_supports,\n.acf-admin-single-taxonomy .acf-field-supports .acf_post_type_supports,\n.acf-admin-single-options-page .acf-field-supports .acf_post_type_supports {\n display: flex;\n flex-wrap: wrap;\n justify-content: flex-start;\n align-content: flex-start;\n align-items: flex-start;\n}\n.acf-admin-single-post-type .acf-field-supports .acf_post_type_supports:focus-within,\n.acf-admin-single-taxonomy .acf-field-supports .acf_post_type_supports:focus-within,\n.acf-admin-single-options-page .acf-field-supports .acf_post_type_supports:focus-within {\n border-color: transparent;\n}\n.acf-admin-single-post-type .acf-field-supports .acf_post_type_supports li,\n.acf-admin-single-taxonomy .acf-field-supports .acf_post_type_supports li,\n.acf-admin-single-options-page .acf-field-supports .acf_post_type_supports li {\n flex: 0 0 25%;\n}\n.acf-admin-single-post-type .acf-field-supports .acf_post_type_supports li a.button,\n.acf-admin-single-taxonomy .acf-field-supports .acf_post_type_supports li a.button,\n.acf-admin-single-options-page .acf-field-supports .acf_post_type_supports li a.button {\n background-color: transparent;\n padding: 0;\n border: 0;\n height: auto;\n min-height: auto;\n margin-top: 0;\n border-radius: 0;\n line-height: 22px;\n}\n.acf-admin-single-post-type .acf-field-supports .acf_post_type_supports li a.button:before,\n.acf-admin-single-taxonomy .acf-field-supports .acf_post_type_supports li a.button:before,\n.acf-admin-single-options-page .acf-field-supports .acf_post_type_supports li a.button:before {\n content: \"\";\n margin-right: 6px;\n display: inline-flex;\n width: 16px;\n height: 16px;\n background-color: currentColor;\n border: none;\n border-radius: 0;\n -webkit-mask-size: contain;\n mask-size: contain;\n -webkit-mask-repeat: no-repeat;\n mask-repeat: no-repeat;\n -webkit-mask-position: center;\n mask-position: center;\n text-indent: 500%;\n white-space: nowrap;\n overflow: hidden;\n -webkit-mask-image: url(\"../../images/icons/icon-add.svg\");\n mask-image: url(\"../../images/icons/icon-add.svg\");\n}\n.acf-admin-single-post-type .acf-field-supports .acf_post_type_supports li a.button:hover,\n.acf-admin-single-taxonomy .acf-field-supports .acf_post_type_supports li a.button:hover,\n.acf-admin-single-options-page .acf-field-supports .acf_post_type_supports li a.button:hover {\n color: #044E71;\n}\n.acf-admin-single-post-type .acf-field-supports .acf_post_type_supports li input[type=text],\n.acf-admin-single-taxonomy .acf-field-supports .acf_post_type_supports li input[type=text],\n.acf-admin-single-options-page .acf-field-supports .acf_post_type_supports li input[type=text] {\n width: calc(100% - 36px);\n padding: 0;\n box-shadow: none;\n border: none;\n border-bottom: 1px solid #D0D5DD;\n border-radius: 0;\n height: auto;\n margin: 0;\n min-height: auto;\n}\n.acf-admin-single-post-type .acf-field-supports .acf_post_type_supports li input[type=text]:focus,\n.acf-admin-single-taxonomy .acf-field-supports .acf_post_type_supports li input[type=text]:focus,\n.acf-admin-single-options-page .acf-field-supports .acf_post_type_supports li input[type=text]:focus {\n outline: none;\n border-bottom-color: #399CCB;\n}\n.acf-admin-single-post-type .acf-field-seperator,\n.acf-admin-single-taxonomy .acf-field-seperator,\n.acf-admin-single-options-page .acf-field-seperator {\n margin-top: 40px;\n margin-bottom: 40px;\n border-top: 1px solid #EAECF0;\n border-right: none;\n border-bottom: none;\n border-left: none;\n}\n.acf-admin-single-post-type .acf-field-advanced-configuration,\n.acf-admin-single-taxonomy .acf-field-advanced-configuration,\n.acf-admin-single-options-page .acf-field-advanced-configuration {\n margin-bottom: 0;\n}\n.acf-admin-single-post-type .postbox-container .acf-tab-wrap,\n.acf-admin-single-post-type .acf-regenerate-labels-bar,\n.acf-admin-single-taxonomy .postbox-container .acf-tab-wrap,\n.acf-admin-single-taxonomy .acf-regenerate-labels-bar,\n.acf-admin-single-options-page .postbox-container .acf-tab-wrap,\n.acf-admin-single-options-page .acf-regenerate-labels-bar {\n position: relative;\n top: -48px;\n left: -48px;\n width: calc(100% + 96px);\n}\n.acf-admin-single-post-type .acf-regenerate-labels-bar,\n.acf-admin-single-taxonomy .acf-regenerate-labels-bar,\n.acf-admin-single-options-page .acf-regenerate-labels-bar {\n display: flex;\n align-items: center;\n justify-content: right;\n min-height: 48px;\n margin-bottom: 0;\n padding-right: 16px;\n padding-left: 16px;\n gap: 8px;\n border-bottom-width: 1px;\n border-bottom-style: solid;\n border-bottom-color: #F2F4F7;\n}\n.acf-admin-single-post-type .acf-labels-tip,\n.acf-admin-single-taxonomy .acf-labels-tip,\n.acf-admin-single-options-page .acf-labels-tip {\n display: inline-flex;\n align-items: center;\n min-height: 24px;\n margin-right: 8px;\n padding-left: 16px;\n border-left-width: 1px;\n border-left-style: solid;\n border-left-color: #EAECF0;\n}\n.acf-admin-single-post-type .acf-labels-tip .acf-icon,\n.acf-admin-single-taxonomy .acf-labels-tip .acf-icon,\n.acf-admin-single-options-page .acf-labels-tip .acf-icon {\n display: inline-flex;\n align-items: center;\n width: 16px;\n height: 16px;\n -webkit-mask-size: 16px;\n mask-size: 16px;\n background-color: #98A2B3;\n}\n\n.acf-select2-default-pill {\n border-radius: 100px;\n min-height: 20px;\n padding-top: 2px;\n padding-bottom: 2px;\n padding-left: 8px;\n padding-right: 8px;\n font-size: 11px;\n margin-left: 6px;\n background-color: #EAECF0;\n color: #667085;\n}\n\n.acf-menu-position-desc-child {\n display: none;\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* Field picker modal\n*\n*---------------------------------------------------------------------------------------------*/\n.acf-modal.acf-browse-fields-modal {\n width: 1120px;\n height: 664px;\n top: 50%;\n right: auto;\n bottom: auto;\n left: 50%;\n transform: translate(-50%, -50%);\n display: flex;\n flex-direction: row;\n border-radius: 12px;\n box-shadow: 0 0 4px rgba(0, 0, 0, 0.04), 0 8px 16px rgba(0, 0, 0, 0.08);\n overflow: hidden;\n}\n.acf-modal.acf-browse-fields-modal .acf-field-picker {\n display: flex;\n flex-direction: column;\n flex-grow: 1;\n width: 760px;\n background: #fff;\n}\n.acf-modal.acf-browse-fields-modal .acf-field-picker .acf-modal-title,\n.acf-modal.acf-browse-fields-modal .acf-field-picker .acf-modal-content,\n.acf-modal.acf-browse-fields-modal .acf-field-picker .acf-modal-toolbar {\n position: relative;\n}\n.acf-modal.acf-browse-fields-modal .acf-field-picker .acf-modal-title {\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n align-items: center;\n background: #F9FAFB;\n border: none;\n padding: 35px 32px;\n}\n.acf-modal.acf-browse-fields-modal .acf-field-picker .acf-modal-title .acf-search-field-types-wrap {\n position: relative;\n}\n.acf-modal.acf-browse-fields-modal .acf-field-picker .acf-modal-title .acf-search-field-types-wrap::after {\n content: \"\";\n display: block;\n position: absolute;\n top: 11px;\n left: 10px;\n width: 18px;\n height: 18px;\n -webkit-mask-image: url(\"../../images/icons/icon-search.svg\");\n mask-image: url(\"../../images/icons/icon-search.svg\");\n background-color: #98A2B3;\n border: none;\n border-radius: 0;\n -webkit-mask-size: contain;\n mask-size: contain;\n -webkit-mask-repeat: no-repeat;\n mask-repeat: no-repeat;\n -webkit-mask-position: center;\n mask-position: center;\n text-indent: 500%;\n white-space: nowrap;\n overflow: hidden;\n}\n.acf-modal.acf-browse-fields-modal .acf-field-picker .acf-modal-title .acf-search-field-types-wrap input {\n width: 280px;\n height: 40px;\n margin: 0;\n padding-left: 32px;\n box-shadow: none;\n}\n.acf-modal.acf-browse-fields-modal .acf-field-picker .acf-modal-content {\n top: auto;\n bottom: auto;\n padding: 0;\n height: 100%;\n}\n.acf-modal.acf-browse-fields-modal .acf-field-picker .acf-modal-content .acf-tab-group {\n padding-left: 32px;\n}\n.acf-modal.acf-browse-fields-modal .acf-field-picker .acf-modal-content .acf-field-types-tab {\n display: flex;\n}\n.acf-modal.acf-browse-fields-modal .acf-field-picker .acf-modal-content .acf-field-types-tab,\n.acf-modal.acf-browse-fields-modal .acf-field-picker .acf-modal-content .acf-field-type-search-results {\n flex-direction: row;\n flex-wrap: wrap;\n gap: 24px;\n padding: 32px;\n}\n.acf-modal.acf-browse-fields-modal .acf-field-picker .acf-modal-content .acf-field-types-tab .acf-field-type,\n.acf-modal.acf-browse-fields-modal .acf-field-picker .acf-modal-content .acf-field-type-search-results .acf-field-type {\n position: relative;\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n isolation: isolate;\n width: 120px;\n height: 120px;\n background: #F9FAFB;\n border: 1px solid #EAECF0;\n border-radius: 8px;\n box-sizing: border-box;\n color: #1D2939;\n text-decoration: none;\n}\n.acf-modal.acf-browse-fields-modal .acf-field-picker .acf-modal-content .acf-field-types-tab .acf-field-type:hover, .acf-modal.acf-browse-fields-modal .acf-field-picker .acf-modal-content .acf-field-types-tab .acf-field-type:active, .acf-modal.acf-browse-fields-modal .acf-field-picker .acf-modal-content .acf-field-types-tab .acf-field-type.selected,\n.acf-modal.acf-browse-fields-modal .acf-field-picker .acf-modal-content .acf-field-type-search-results .acf-field-type:hover,\n.acf-modal.acf-browse-fields-modal .acf-field-picker .acf-modal-content .acf-field-type-search-results .acf-field-type:active,\n.acf-modal.acf-browse-fields-modal .acf-field-picker .acf-modal-content .acf-field-type-search-results .acf-field-type.selected {\n background: #EBF5FA;\n border: 1px solid #399CCB;\n box-shadow: inset 0 0 0 1px #399CCB;\n}\n.acf-modal.acf-browse-fields-modal .acf-field-picker .acf-modal-content .acf-field-types-tab .acf-field-type .field-type-icon,\n.acf-modal.acf-browse-fields-modal .acf-field-picker .acf-modal-content .acf-field-type-search-results .acf-field-type .field-type-icon {\n border: none;\n background: none;\n top: 0;\n}\n.acf-modal.acf-browse-fields-modal .acf-field-picker .acf-modal-content .acf-field-types-tab .acf-field-type .field-type-icon::before,\n.acf-modal.acf-browse-fields-modal .acf-field-picker .acf-modal-content .acf-field-type-search-results .acf-field-type .field-type-icon::before {\n width: 22px;\n height: 22px;\n}\n.acf-modal.acf-browse-fields-modal .acf-field-picker .acf-modal-content .acf-field-types-tab .acf-field-type .field-type-label,\n.acf-modal.acf-browse-fields-modal .acf-field-picker .acf-modal-content .acf-field-type-search-results .acf-field-type .field-type-label {\n margin-top: 12px;\n}\n.acf-modal.acf-browse-fields-modal .acf-field-picker .acf-modal-content .acf-field-types-tab .field-type-requires-pro,\n.acf-modal.acf-browse-fields-modal .acf-field-picker .acf-modal-content .acf-field-type-search-results .field-type-requires-pro {\n display: flex;\n justify-content: center;\n align-items: center;\n position: absolute;\n top: -10px;\n right: -10px;\n color: white;\n font-size: 11px;\n padding-right: 6px;\n padding-left: 6px;\n background-image: url(\"../../images/pro-chip.svg\");\n background-repeat: no-repeat;\n height: 24px;\n width: 28px;\n}\n.acf-modal.acf-browse-fields-modal .acf-field-picker .acf-modal-content .acf-field-types-tab .field-type-requires-pro.not-pro,\n.acf-modal.acf-browse-fields-modal .acf-field-picker .acf-modal-content .acf-field-type-search-results .field-type-requires-pro.not-pro {\n background-image: url(\"../../images/pro-chip-locked.svg\");\n width: 43px;\n}\n.acf-modal.acf-browse-fields-modal .acf-field-picker .acf-modal-toolbar {\n display: flex;\n align-items: flex-start;\n justify-content: space-between;\n height: auto;\n min-height: 72px;\n padding-top: 0;\n padding-right: 32px;\n padding-bottom: 0;\n padding-left: 32px;\n margin: 0;\n border: none;\n}\n.acf-modal.acf-browse-fields-modal .acf-field-picker .acf-modal-toolbar .acf-select-field,\n.acf-modal.acf-browse-fields-modal .acf-field-picker .acf-modal-toolbar .acf-btn-pro {\n min-width: 160px;\n justify-content: center;\n}\n.acf-modal.acf-browse-fields-modal .acf-field-picker .acf-modal-toolbar .acf-insert-field-label {\n min-width: 280px;\n box-shadow: none;\n}\n.acf-modal.acf-browse-fields-modal .acf-field-picker .acf-modal-toolbar .acf-field-picker-actions {\n display: flex;\n gap: 8px;\n}\n.acf-modal.acf-browse-fields-modal .acf-field-type-preview {\n display: flex;\n flex-direction: column;\n width: 360px;\n background-color: #F9FAFB;\n background-image: url(\"../../images/field-preview-grid.png\");\n background-size: 740px;\n background-repeat: no-repeat;\n background-position: center bottom;\n border-left: 1px solid #EAECF0;\n box-sizing: border-box;\n padding: 32px;\n}\n.acf-modal.acf-browse-fields-modal .acf-field-type-preview .field-type-desc {\n margin: 0;\n padding: 0;\n color: #667085;\n}\n.acf-modal.acf-browse-fields-modal .acf-field-type-preview .field-type-preview-container {\n display: inline-flex;\n justify-content: center;\n width: 100%;\n margin-top: 24px;\n padding-top: 32px;\n padding-bottom: 32px;\n background-color: rgba(255, 255, 255, 0.64);\n border-radius: 8px;\n box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.04), 0 8px 24px rgba(0, 0, 0, 0.04);\n}\n.acf-modal.acf-browse-fields-modal .acf-field-type-preview .field-type-image {\n max-width: 232px;\n}\n.acf-modal.acf-browse-fields-modal .acf-field-type-preview .field-type-info {\n flex-grow: 1;\n}\n.acf-modal.acf-browse-fields-modal .acf-field-type-preview .field-type-info .field-type-name {\n font-size: 21px;\n margin-top: 0;\n margin-right: 0;\n margin-bottom: 16px;\n margin-left: 0;\n}\n.acf-modal.acf-browse-fields-modal .acf-field-type-preview .field-type-info .field-type-upgrade-to-unlock {\n display: inline-flex;\n justify-items: center;\n align-items: center;\n min-height: 24px;\n margin-bottom: 12px;\n padding-right: 10px;\n padding-left: 10px;\n background: radial-gradient(141.77% 141.08% at 100.26% 99.25%, #0ECAD4 0%, #7A45E5 100%);\n border-radius: 100px;\n color: white;\n text-decoration: none;\n font-size: 10px;\n text-transform: uppercase;\n}\n.acf-modal.acf-browse-fields-modal .acf-field-type-preview .field-type-info .field-type-upgrade-to-unlock i.acf-icon {\n width: 14px;\n height: 14px;\n margin-right: 4px;\n}\n.acf-modal.acf-browse-fields-modal .acf-field-type-preview .field-type-links {\n display: flex;\n align-items: center;\n gap: 24px;\n min-height: 40px;\n}\n.acf-modal.acf-browse-fields-modal .acf-field-type-preview .field-type-links .acf-icon {\n width: 18px;\n height: 18px;\n}\n.acf-modal.acf-browse-fields-modal .acf-field-type-preview .field-type-links::before {\n display: none;\n}\n.acf-modal.acf-browse-fields-modal .acf-field-type-preview .field-type-links a {\n display: flex;\n gap: 6px;\n text-decoration: none;\n}\n.acf-modal.acf-browse-fields-modal .acf-field-type-preview .field-type-links a:hover {\n text-decoration: underline;\n}\n.acf-modal.acf-browse-fields-modal .acf-field-type-search-results,\n.acf-modal.acf-browse-fields-modal .acf-field-type-search-no-results {\n display: none;\n}\n.acf-modal.acf-browse-fields-modal.is-searching .acf-tab-wrap,\n.acf-modal.acf-browse-fields-modal.is-searching .acf-field-types-tab,\n.acf-modal.acf-browse-fields-modal.is-searching .acf-field-type-search-no-results {\n display: none !important;\n}\n.acf-modal.acf-browse-fields-modal.is-searching .acf-field-type-search-results {\n display: flex;\n}\n.acf-modal.acf-browse-fields-modal.no-results-found .acf-tab-wrap,\n.acf-modal.acf-browse-fields-modal.no-results-found .acf-field-types-tab,\n.acf-modal.acf-browse-fields-modal.no-results-found .acf-field-type-search-results,\n.acf-modal.acf-browse-fields-modal.no-results-found .field-type-info,\n.acf-modal.acf-browse-fields-modal.no-results-found .field-type-links,\n.acf-modal.acf-browse-fields-modal.no-results-found .acf-field-picker-toolbar {\n display: none !important;\n}\n.acf-modal.acf-browse-fields-modal.no-results-found .acf-modal-title {\n border-bottom-width: 1px;\n border-bottom-style: solid;\n border-bottom-color: #EAECF0;\n}\n.acf-modal.acf-browse-fields-modal.no-results-found .acf-field-type-search-no-results {\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n height: 100%;\n gap: 6px;\n}\n.acf-modal.acf-browse-fields-modal.no-results-found .acf-field-type-search-no-results img {\n margin-bottom: 19px;\n}\n.acf-modal.acf-browse-fields-modal.no-results-found .acf-field-type-search-no-results p {\n margin: 0;\n}\n.acf-modal.acf-browse-fields-modal.no-results-found .acf-field-type-search-no-results p.acf-no-results-text {\n display: flex;\n}\n.acf-modal.acf-browse-fields-modal.no-results-found .acf-field-type-search-no-results .acf-invalid-search-term {\n max-width: 200px;\n overflow: hidden;\n text-overflow: ellipsis;\n display: inline-block;\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* Hide browse fields button for smaller screen sizes\n*\n*---------------------------------------------------------------------------------------------*/\n@media only screen and (max-width: 1080px) {\n .acf-btn.browse-fields {\n display: none;\n }\n}\n.acf-block-body .acf-field-icon-picker .acf-tab-group {\n margin: 0;\n padding-left: 0 !important;\n}\n\n.acf-field-icon-picker {\n max-width: 600px;\n}\n.acf-field-icon-picker .acf-tab-group {\n padding: 0;\n border-bottom: 0;\n overflow: hidden;\n}\n.acf-field-icon-picker .active a {\n background: #667085;\n color: #fff;\n}\n.acf-field-icon-picker .acf-dashicons-search-wrap {\n position: relative;\n}\n.acf-field-icon-picker .acf-dashicons-search-wrap::after {\n content: \"\";\n display: block;\n position: absolute;\n top: 6px;\n left: 10px;\n width: 18px;\n height: 18px;\n -webkit-mask-image: url(../../images/icons/icon-search.svg);\n mask-image: url(../../images/icons/icon-search.svg);\n background-color: #98A2B3;\n border: none;\n border-radius: 0;\n -webkit-mask-size: contain;\n mask-size: contain;\n -webkit-mask-repeat: no-repeat;\n mask-repeat: no-repeat;\n -webkit-mask-position: center;\n mask-position: center;\n text-indent: 500%;\n white-space: nowrap;\n overflow: hidden;\n}\n.acf-field-icon-picker .acf-dashicons-search-wrap .acf-dashicons-search-input {\n padding-left: 32px;\n border-radius: 0;\n}\n.acf-field-icon-picker .acf-dashicons-list {\n margin-bottom: 0;\n display: flex;\n flex-wrap: wrap;\n justify-content: space-between;\n align-content: start;\n height: 135px;\n overflow: hidden;\n overflow-y: auto;\n background-color: #f9f9f9;\n border: 1px solid #8c8f94;\n border-top: none;\n border-radius: 0 0 6px 6px;\n gap: 8px;\n padding: 8px;\n}\n.acf-field-icon-picker .acf-dashicons-list .acf-icon-picker-dashicon {\n background-color: transparent;\n display: flex;\n justify-content: center;\n align-items: center;\n width: 32px;\n height: 32px;\n border: solid 2px transparent;\n color: #3c434a;\n}\n.acf-field-icon-picker .acf-dashicons-list .acf-icon-picker-dashicon label {\n display: none;\n}\n.acf-field-icon-picker .acf-dashicons-list .acf-icon-picker-dashicon [type=radio],\n.acf-field-icon-picker .acf-dashicons-list .acf-icon-picker-dashicon [type=radio]:active,\n.acf-field-icon-picker .acf-dashicons-list .acf-icon-picker-dashicon [type=radio]:checked::before,\n.acf-field-icon-picker .acf-dashicons-list .acf-icon-picker-dashicon [type=radio]:focus {\n all: initial;\n appearance: none;\n}\n.acf-field-icon-picker .acf-dashicons-list .acf-icon-picker-dashicon:hover {\n border: solid 2px #0783BE;\n border-radius: 6px;\n cursor: pointer;\n}\n.acf-field-icon-picker .acf-dashicons-list .active {\n border: solid 2px #0783BE;\n background-color: #EBF5FA;\n border-radius: 6px;\n}\n.acf-field-icon-picker .acf-dashicons-list .active.focus {\n border: solid 2px #0783BE;\n background-color: #EBF5FA;\n border-radius: 6px;\n box-shadow: 0 0 2px #0783be;\n}\n.acf-field-icon-picker .acf-dashicons-list::after {\n content: \"\";\n flex: auto;\n}\n.acf-field-icon-picker .acf-dashicons-list-empty {\n position: relative;\n display: none;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n padding-top: 10px;\n padding-left: 10px;\n height: 135px;\n overflow: scroll;\n background-color: #F9FAFB;\n border: 1px solid #D0D5DD;\n border-top: none;\n border-radius: 0 0 6px 6px;\n}\n.acf-field-icon-picker .acf-dashicons-list-empty img {\n height: 30px;\n width: 30px;\n color: #D0D5DD;\n}\n.acf-field-icon-picker .acf-icon-picker-media-library,\n.acf-field-icon-picker .acf-icon-picker-url-tabs {\n box-sizing: border-box;\n display: flex;\n align-items: center;\n justify-items: center;\n gap: 12px;\n background-color: #f9f9f9;\n padding: 12px;\n border: 1px solid #8c8f94;\n border-radius: 0;\n}\n.acf-field-icon-picker .acf-icon-picker-media-library .acf-icon-picker-media-library-preview,\n.acf-field-icon-picker .acf-icon-picker-url-tabs .acf-icon-picker-media-library-preview {\n all: unset;\n cursor: pointer;\n}\n.acf-field-icon-picker .acf-icon-picker-media-library .acf-icon-picker-media-library-preview:focus,\n.acf-field-icon-picker .acf-icon-picker-url-tabs .acf-icon-picker-media-library-preview:focus {\n outline: 1px solid #0783BE;\n border-radius: 6px;\n}\n.acf-field-icon-picker .acf-icon-picker-media-library .acf-icon-picker-media-library-preview-dashicon,\n.acf-field-icon-picker .acf-icon-picker-media-library .acf-icon-picker-media-library-preview-img,\n.acf-field-icon-picker .acf-icon-picker-url-tabs .acf-icon-picker-media-library-preview-dashicon,\n.acf-field-icon-picker .acf-icon-picker-url-tabs .acf-icon-picker-media-library-preview-img {\n box-sizing: border-box;\n width: 40px;\n height: 40px;\n border: solid 2px transparent;\n color: #fff;\n background-color: #191e23;\n display: flex;\n justify-content: center;\n align-items: center;\n border-radius: 6px;\n}\n.acf-field-icon-picker .acf-icon-picker-media-library .acf-icon-picker-media-library-preview-img > img,\n.acf-field-icon-picker .acf-icon-picker-url-tabs .acf-icon-picker-media-library-preview-img > img {\n width: 90%;\n height: 90%;\n object-fit: cover;\n border-radius: 5px;\n border: 1px solid #667085;\n}\n.acf-field-icon-picker .acf-icon-picker-media-library .acf-icon-picker-media-library-button,\n.acf-field-icon-picker .acf-icon-picker-url-tabs .acf-icon-picker-media-library-button {\n height: 40px;\n background-color: #0783BE;\n border: none;\n border-radius: 6px;\n padding: 8px 12px;\n color: #fff;\n display: flex;\n align-items: center;\n justify-items: center;\n gap: 4px;\n cursor: pointer;\n}\n.acf-field-icon-picker .acf-icon-picker-media-library .acf-icon-picker-url,\n.acf-field-icon-picker .acf-icon-picker-url-tabs .acf-icon-picker-url {\n width: 100%;\n}\n\n.-left .acf-field-icon-picker {\n max-width: inherit;\n}\n\n.acf-admin-page.acf-internal-post-type .acf-field-icon-picker {\n max-width: 600px;\n}\n.acf-admin-page.acf-internal-post-type .acf-field-icon-picker .active a {\n background: #667085;\n color: #fff;\n}\n.acf-admin-page.acf-internal-post-type .acf-field-icon-picker .acf-tab-button {\n border: none;\n height: 25px;\n padding: 5px 10px;\n border-radius: 15px;\n}\n.acf-admin-page.acf-internal-post-type .acf-field-icon-picker li a .acf-tab-button {\n color: #667085;\n}\n.acf-admin-page.acf-internal-post-type .acf-field-icon-picker .acf-icon-picker > *:not(.acf-tab-wrap) {\n top: -32px;\n position: relative;\n}\n.acf-admin-page.acf-internal-post-type .acf-field-icon-picker .acf-tab-wrap .acf-tab-group {\n margin-right: 48px;\n display: flex;\n gap: 10px;\n justify-content: flex-end;\n align-items: center;\n background: none;\n border: none;\n max-width: 648px;\n border-bottom-width: 0;\n}\n.acf-admin-page.acf-internal-post-type .acf-field-icon-picker .acf-tab-wrap .acf-tab-group li {\n all: initial;\n box-sizing: border-box;\n margin-bottom: -17px;\n margin-right: 0;\n border-radius: 10px;\n}\n.acf-admin-page.acf-internal-post-type .acf-field-icon-picker .acf-tab-wrap .acf-tab-group li a {\n all: initial;\n outline: 1px solid transparent;\n color: #667085;\n box-sizing: border-box;\n border-radius: 100px;\n cursor: pointer;\n padding: 7px;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Oxygen-Sans, Ubuntu, Cantarell, \"Helvetica Neue\", sans-serif;\n font-size: 12.5px;\n}\n.acf-admin-page.acf-internal-post-type .acf-field-icon-picker .acf-tab-wrap .acf-tab-group li.active a {\n background-color: #667085;\n color: #fff;\n border-bottom-width: 1px !important;\n}\n.acf-admin-page.acf-internal-post-type .acf-field-icon-picker .acf-tab-wrap .acf-tab-group li a:focus {\n outline: 1px solid #0783BE;\n}\n.acf-admin-page.acf-internal-post-type .acf-field-icon-picker .acf-tab-wrap {\n background: none;\n border: none;\n overflow: visible;\n}\n.acf-admin-page.acf-internal-post-type .acf-field-icon-picker .acf-dashicons-search-wrap {\n position: relative;\n}\n.acf-admin-page.acf-internal-post-type .acf-field-icon-picker .acf-dashicons-search-wrap::after {\n content: \"\";\n display: block;\n position: absolute;\n top: 11px;\n left: 10px;\n width: 18px;\n height: 18px;\n -webkit-mask-image: url(../../images/icons/icon-search.svg);\n mask-image: url(../../images/icons/icon-search.svg);\n background-color: #98A2B3;\n border: none;\n border-radius: 0;\n -webkit-mask-size: contain;\n mask-size: contain;\n -webkit-mask-repeat: no-repeat;\n mask-repeat: no-repeat;\n -webkit-mask-position: center;\n mask-position: center;\n text-indent: 500%;\n white-space: nowrap;\n overflow: hidden;\n}\n.acf-admin-page.acf-internal-post-type .acf-field-icon-picker .acf-dashicons-search-wrap .acf-dashicons-search-input {\n padding-left: 32px;\n border-radius: 6px 6px 0 0;\n}\n.acf-admin-page.acf-internal-post-type .acf-field-icon-picker .acf-dashicons-list {\n margin-bottom: -32px;\n display: flex;\n flex-wrap: wrap;\n justify-content: space-between;\n align-content: start;\n height: 135px;\n overflow: hidden;\n overflow-y: auto;\n background-color: #F9FAFB;\n border: 1px solid #D0D5DD;\n border-top: none;\n border-radius: 0 0 6px 6px;\n gap: 8px;\n padding: 8px;\n}\n.acf-admin-page.acf-internal-post-type .acf-field-icon-picker .acf-dashicons-list .acf-icon-picker-dashicon {\n background-color: transparent;\n display: flex;\n justify-content: center;\n align-items: center;\n width: 32px;\n height: 32px;\n border: solid 2px transparent;\n color: #3c434a;\n}\n.acf-admin-page.acf-internal-post-type .acf-field-icon-picker .acf-dashicons-list .acf-icon-picker-dashicon label {\n display: none;\n}\n.acf-admin-page.acf-internal-post-type .acf-field-icon-picker .acf-dashicons-list .acf-icon-picker-dashicon [type=radio],\n.acf-admin-page.acf-internal-post-type .acf-field-icon-picker .acf-dashicons-list .acf-icon-picker-dashicon [type=radio]:active,\n.acf-admin-page.acf-internal-post-type .acf-field-icon-picker .acf-dashicons-list .acf-icon-picker-dashicon [type=radio]:checked::before,\n.acf-admin-page.acf-internal-post-type .acf-field-icon-picker .acf-dashicons-list .acf-icon-picker-dashicon [type=radio]:focus {\n all: initial;\n appearance: none;\n}\n.acf-admin-page.acf-internal-post-type .acf-field-icon-picker .acf-dashicons-list .acf-icon-picker-dashicon:hover {\n border: solid 2px #0783BE;\n border-radius: 6px;\n cursor: pointer;\n}\n.acf-admin-page.acf-internal-post-type .acf-field-icon-picker .acf-dashicons-list .active {\n border: solid 2px #0783BE;\n background-color: #EBF5FA;\n border-radius: 6px;\n}\n.acf-admin-page.acf-internal-post-type .acf-field-icon-picker .acf-dashicons-list .active.focus {\n border: solid 2px #0783BE;\n background-color: #EBF5FA;\n border-radius: 6px;\n box-shadow: 0 0 2px #0783be;\n}\n.acf-admin-page.acf-internal-post-type .acf-field-icon-picker .acf-dashicons-list::after {\n content: \"\";\n flex: auto;\n}\n.acf-admin-page.acf-internal-post-type .acf-field-icon-picker .acf-dashicons-list-empty {\n position: relative;\n display: none;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n padding-top: 10px;\n padding-left: 10px;\n height: 135px;\n overflow: scroll;\n background-color: #F9FAFB;\n border: 1px solid #D0D5DD;\n border-top: none;\n border-radius: 0 0 6px 6px;\n}\n.acf-admin-page.acf-internal-post-type .acf-field-icon-picker .acf-dashicons-list-empty img {\n height: 30px;\n width: 30px;\n color: #D0D5DD;\n}\n.acf-admin-page.acf-internal-post-type .acf-field-icon-picker .acf-icon-picker-media-library,\n.acf-admin-page.acf-internal-post-type .acf-field-icon-picker .acf-icon-picker-url-tabs {\n box-sizing: border-box;\n display: flex;\n align-items: center;\n justify-items: center;\n gap: 12px;\n background-color: #F9FAFB;\n padding: 12px;\n border: 1px solid #D0D5DD;\n border-radius: 6px;\n}\n.acf-admin-page.acf-internal-post-type .acf-field-icon-picker .acf-icon-picker-media-library .acf-icon-picker-media-library-preview,\n.acf-admin-page.acf-internal-post-type .acf-field-icon-picker .acf-icon-picker-url-tabs .acf-icon-picker-media-library-preview {\n all: unset;\n cursor: pointer;\n}\n.acf-admin-page.acf-internal-post-type .acf-field-icon-picker .acf-icon-picker-media-library .acf-icon-picker-media-library-preview:focus,\n.acf-admin-page.acf-internal-post-type .acf-field-icon-picker .acf-icon-picker-url-tabs .acf-icon-picker-media-library-preview:focus {\n outline: 1px solid #0783BE;\n border-radius: 6px;\n}\n.acf-admin-page.acf-internal-post-type .acf-field-icon-picker .acf-icon-picker-media-library .acf-icon-picker-media-library-preview-dashicon,\n.acf-admin-page.acf-internal-post-type .acf-field-icon-picker .acf-icon-picker-media-library .acf-icon-picker-media-library-preview-img,\n.acf-admin-page.acf-internal-post-type .acf-field-icon-picker .acf-icon-picker-url-tabs .acf-icon-picker-media-library-preview-dashicon,\n.acf-admin-page.acf-internal-post-type .acf-field-icon-picker .acf-icon-picker-url-tabs .acf-icon-picker-media-library-preview-img {\n box-sizing: border-box;\n width: 40px;\n height: 40px;\n border: solid 2px transparent;\n color: #fff;\n background-color: #191e23;\n display: flex;\n justify-content: center;\n align-items: center;\n border-radius: 6px;\n}\n.acf-admin-page.acf-internal-post-type .acf-field-icon-picker .acf-icon-picker-media-library .acf-icon-picker-media-library-preview-img > img,\n.acf-admin-page.acf-internal-post-type .acf-field-icon-picker .acf-icon-picker-url-tabs .acf-icon-picker-media-library-preview-img > img {\n width: 90%;\n height: 90%;\n object-fit: cover;\n border-radius: 5px;\n border: 1px solid #667085;\n}\n.acf-admin-page.acf-internal-post-type .acf-field-icon-picker .acf-icon-picker-media-library .acf-icon-picker-media-library-button,\n.acf-admin-page.acf-internal-post-type .acf-field-icon-picker .acf-icon-picker-url-tabs .acf-icon-picker-media-library-button {\n height: 40px;\n background-color: #0783BE;\n border: none;\n border-radius: 6px;\n padding: 8px 12px;\n color: #fff;\n display: flex;\n align-items: center;\n justify-items: center;\n gap: 4px;\n cursor: pointer;\n}","/*--------------------------------------------------------------------------------------------\n*\n*\tVars\n*\n*--------------------------------------------------------------------------------------------*/\n\n/* colors */\n$acf_blue: #2a9bd9;\n$acf_notice: #2a9bd9;\n$acf_error: #d94f4f;\n$acf_success: #49ad52;\n$acf_warning: #fd8d3b;\n\n/* acf-field */\n$field_padding: 15px 12px;\n$field_padding_x: 12px;\n$field_padding_y: 15px;\n$fp: 15px 12px;\n$fy: 15px;\n$fx: 12px;\n\n/* responsive */\n$md: 880px;\n$sm: 640px;\n\n// Admin.\n$wp-card-border: #ccd0d4;\t\t\t// Card border.\n$wp-card-border-1: #d5d9dd;\t\t // Card inner border 1: Structural (darker).\n$wp-card-border-2: #eeeeee;\t\t // Card inner border 2: Fields (lighter).\n$wp-input-border: #7e8993;\t\t // Input border.\n\n// Admin 3.8\n$wp38-card-border: #E5E5E5;\t\t // Card border.\n$wp38-card-border-1: #dfdfdf;\t\t// Card inner border 1: Structural (darker).\n$wp38-card-border-2: #eeeeee;\t\t// Card inner border 2: Fields (lighter).\n$wp38-input-border: #dddddd;\t\t // Input border.\n\n/*--------------------------------------------------------------------------------------------\n*\n*\tACF 6 ↓\n*\n*--------------------------------------------------------------------------------------------*/\n\n// Grays\n$gray-50: #F9FAFB;\n$gray-100: #F2F4F7;\n$gray-200: #EAECF0;\n$gray-300: #D0D5DD;\n$gray-400: #98A2B3;\n$gray-500: #667085;\n$gray-600: #475467;\n$gray-700: #344054;\n$gray-800: #1D2939;\n$gray-900: #101828;\n\n// Blues\n$blue-50: #EBF5FA;\n$blue-100: #D8EBF5;\n$blue-200: #A5D2E7;\n$blue-300: #6BB5D8;\n$blue-400: #399CCB;\n$blue-500: #0783BE;\n$blue-600: #066998;\n$blue-700: #044E71;\n$blue-800: #033F5B;\n$blue-900: #032F45;\n\n// Utility\n$color-info:\t#2D69DA;\n$color-success:\t#52AA59;\n$color-warning:\t#F79009;\n$color-danger:\t#D13737;\n\n$color-primary: $blue-500;\n$color-primary-hover: $blue-600;\n$color-secondary: $gray-500;\n$color-secondary-hover: $gray-400;\n\n// Gradients\n$gradient-pro: radial-gradient(141.77% 141.08% at 100.26% 99.25%, #0ECAD4 0%, #7A45E5 100%);\n\n// Border radius\n$radius-sm:\t4px;\n$radius-md: 6px;\n$radius-lg: 8px;\n$radius-xl: 12px;\n\n// Elevations / Box shadows\n$elevation-01: 0px 1px 2px rgba($gray-900, 0.10);\n\n// Input & button focus outline\n$outline: 3px solid $blue-50;\n\n// Link colours\n$link-color: $blue-500;\n\n// Responsive\n$max-width: 1440px;","/*--------------------------------------------------------------------------------------------\n*\n* Mixins\n*\n*--------------------------------------------------------------------------------------------*/\n@mixin clearfix() {\n\t&:after {\n\t\tdisplay: block;\n\t\tclear: both;\n\t\tcontent: \"\";\n\t}\n}\n\n@mixin border-box() {\n\t-webkit-box-sizing: border-box;\n\t-moz-box-sizing: border-box;\n\tbox-sizing: border-box;\n}\n\n@mixin centered() {\n\tposition: absolute;\n\ttop: 50%;\n\tleft: 50%;\n\ttransform: translate(-50%, -50%);\n}\n\n@mixin animate( $properties: 'all' ) {\n\t-webkit-transition: $properties 0.3s ease; // Safari 3.2+, Chrome\n -moz-transition: $properties 0.3s ease; \t// Firefox 4-15\n -o-transition: $properties 0.3s ease; \t\t// Opera 10.5–12.00\n transition: $properties 0.3s ease; \t\t// Firefox 16+, Opera 12.50+\n}\n\n@mixin rtl() {\n\thtml[dir=\"rtl\"] & {\n\t\ttext-align: right;\n\t\t@content;\n\t}\n}\n\n@mixin wp-admin( $version: '3-8' ) {\n\t.acf-admin-#{$version} & {\n\t\t@content;\n\t}\n}","@use \"sass:math\";\n/*--------------------------------------------------------------------------------------------\n*\n* Global\n*\n*--------------------------------------------------------------------------------------------*/\n\n/* Horizontal List */\n.acf-hl {\n\tpadding: 0;\n\tmargin: 0;\n\tlist-style: none;\n\tdisplay: block;\n\tposition: relative;\n}\n.acf-hl > li {\n\tfloat: left;\n\tdisplay: block;\n\tmargin: 0;\n\tpadding: 0;\n}\n.acf-hl > li.acf-fr {\n\tfloat: right;\n}\n\n/* Horizontal List: Clearfix */\n.acf-hl:before,\n.acf-hl:after,\n.acf-bl:before,\n.acf-bl:after,\n.acf-cf:before,\n.acf-cf:after {\n\tcontent: \"\";\n\tdisplay: block;\n\tline-height: 0;\n}\n.acf-hl:after,\n.acf-bl:after,\n.acf-cf:after {\n\tclear: both;\n}\n\n/* Block List */\n.acf-bl {\n\tpadding: 0;\n\tmargin: 0;\n\tlist-style: none;\n\tdisplay: block;\n\tposition: relative;\n}\n.acf-bl > li {\n\tdisplay: block;\n\tmargin: 0;\n\tpadding: 0;\n\tfloat: none;\n}\n\n/* Visibility */\n.acf-hidden {\n\tdisplay: none !important;\n}\n.acf-empty {\n\tdisplay: table-cell !important;\n\t* {\n\t\tdisplay: none !important;\n\t}\n}\n\n/* Float */\n.acf-fl {\n\tfloat: left;\n}\n.acf-fr {\n\tfloat: right;\n}\n.acf-fn {\n\tfloat: none;\n}\n\n/* Align */\n.acf-al {\n\ttext-align: left;\n}\n.acf-ar {\n\ttext-align: right;\n}\n.acf-ac {\n\ttext-align: center;\n}\n\n/* loading */\n.acf-loading,\n.acf-spinner {\n\tdisplay: inline-block;\n\theight: 20px;\n\twidth: 20px;\n\tvertical-align: text-top;\n\tbackground: transparent url(../../images/spinner.gif) no-repeat 50% 50%;\n}\n\n/* spinner */\n.acf-spinner {\n\tdisplay: none;\n}\n\n.acf-spinner.is-active {\n\tdisplay: inline-block;\n}\n\n/* WP < 4.2 */\n.spinner.is-active {\n\tdisplay: inline-block;\n}\n\n/* required */\n.acf-required {\n\tcolor: #f00;\n}\n\n/* Allow pointer events in reusable blocks */\n.acf-button,\n.acf-tab-button {\n\tpointer-events: auto !important;\n}\n\n/* show on hover */\n.acf-soh .acf-soh-target {\n\t-webkit-transition: opacity 0.25s 0s ease-in-out, visibility 0s linear 0.25s;\n\t-moz-transition: opacity 0.25s 0s ease-in-out, visibility 0s linear 0.25s;\n\t-o-transition: opacity 0.25s 0s ease-in-out, visibility 0s linear 0.25s;\n\ttransition: opacity 0.25s 0s ease-in-out, visibility 0s linear 0.25s;\n\n\tvisibility: hidden;\n\topacity: 0;\n}\n\n.acf-soh:hover .acf-soh-target {\n\t-webkit-transition-delay: 0s;\n\t-moz-transition-delay: 0s;\n\t-o-transition-delay: 0s;\n\ttransition-delay: 0s;\n\n\tvisibility: visible;\n\topacity: 1;\n}\n\n/* show if value */\n.show-if-value {\n\tdisplay: none;\n}\n.hide-if-value {\n\tdisplay: block;\n}\n\n.has-value .show-if-value {\n\tdisplay: block;\n}\n.has-value .hide-if-value {\n\tdisplay: none;\n}\n\n/* select2 WP animation fix */\n.select2-search-choice-close {\n\t-webkit-transition: none;\n\t-moz-transition: none;\n\t-o-transition: none;\n\ttransition: none;\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* tooltip\n*\n*---------------------------------------------------------------------------------------------*/\n\n/* tooltip */\n.acf-tooltip {\n\tbackground: $gray-800;\n\tborder-radius: $radius-md;\n\tcolor: $gray-300;\n\tpadding: {\n\t\ttop: 8px;\n\t\tright: 12px;\n\t\tbottom: 10px;\n\t\tleft: 12px;\n\t}\n\tposition: absolute;\n\t@extend .p7;\n\tz-index: 900000;\n\tmax-width: 280px;\n\tbox-shadow: 0px 12px 16px -4px rgba(16, 24, 40, 0.08),\n\t\t0px 4px 6px -2px rgba(16, 24, 40, 0.03);\n\n\t/* tip */\n\t&:before {\n\t\tborder: solid;\n\t\tborder-color: transparent;\n\t\tborder-width: 6px;\n\t\tcontent: \"\";\n\t\tposition: absolute;\n\t}\n\n\t/* positions */\n\t&.top {\n\t\tmargin-top: -8px;\n\n\t\t&:before {\n\t\t\ttop: 100%;\n\t\t\tleft: 50%;\n\t\t\tmargin-left: -6px;\n\t\t\tborder-top-color: #2f353e;\n\t\t\tborder-bottom-width: 0;\n\t\t}\n\t}\n\n\t&.right {\n\t\tmargin-left: 8px;\n\n\t\t&:before {\n\t\t\ttop: 50%;\n\t\t\tmargin-top: -6px;\n\t\t\tright: 100%;\n\t\t\tborder-right-color: #2f353e;\n\t\t\tborder-left-width: 0;\n\t\t}\n\t}\n\n\t&.bottom {\n\t\tmargin-top: 8px;\n\n\t\t&:before {\n\t\t\tbottom: 100%;\n\t\t\tleft: 50%;\n\t\t\tmargin-left: -6px;\n\t\t\tborder-bottom-color: #2f353e;\n\t\t\tborder-top-width: 0;\n\t\t}\n\t}\n\n\t&.left {\n\t\tmargin-left: -8px;\n\n\t\t&:before {\n\t\t\ttop: 50%;\n\t\t\tmargin-top: -6px;\n\t\t\tleft: 100%;\n\t\t\tborder-left-color: #2f353e;\n\t\t\tborder-right-width: 0;\n\t\t}\n\t}\n\n\t.acf-overlay {\n\t\tz-index: -1;\n\t}\n}\n\n/* confirm */\n.acf-tooltip.-confirm {\n\tz-index: 900001; // +1 higher than .acf-tooltip\n\n\ta {\n\t\ttext-decoration: none;\n\t\tcolor: #9ea3a8;\n\n\t\t&:hover {\n\t\t\ttext-decoration: underline;\n\t\t}\n\n\t\t&[data-event=\"confirm\"] {\n\t\t\tcolor: #f55e4f;\n\t\t}\n\t}\n}\n\n.acf-overlay {\n\tposition: fixed;\n\ttop: 0;\n\tbottom: 0;\n\tleft: 0;\n\tright: 0;\n\tcursor: default;\n}\n\n.acf-tooltip-target {\n\tposition: relative;\n\tz-index: 900002; // +1 higher than .acf-tooltip\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* loading\n*\n*---------------------------------------------------------------------------------------------*/\n.acf-loading-overlay {\n\tposition: absolute;\n\ttop: 0;\n\tbottom: 0;\n\tleft: 0;\n\tright: 0;\n\tcursor: default;\n\tz-index: 99;\n\tbackground: rgba(249, 249, 249, 0.5);\n\n\ti {\n\t\t@include centered();\n\t}\n}\n\n/*--------------------------------------------------------------------------------------------\n*\n*\tacf-icon\n*\n*--------------------------------------------------------------------------------------------*/\n.acf-icon {\n\tdisplay: inline-block;\n\theight: 28px;\n\twidth: 28px;\n\tborder: transparent solid 1px;\n\tborder-radius: 100%;\n\tfont-size: 20px;\n\tline-height: 21px;\n\ttext-align: center;\n\ttext-decoration: none;\n\tvertical-align: top;\n\tbox-sizing: border-box;\n\n\t&:before {\n\t\tfont-family: dashicons;\n\t\tdisplay: inline-block;\n\t\tline-height: 1;\n\t\tfont-weight: 400;\n\t\tfont-style: normal;\n\t\tspeak: none;\n\t\ttext-decoration: inherit;\n\t\ttext-transform: none;\n\t\ttext-rendering: auto;\n\t\t-webkit-font-smoothing: antialiased;\n\t\t-moz-osx-font-smoothing: grayscale;\n\t\twidth: 1em;\n\t\theight: 1em;\n\t\tvertical-align: middle;\n\t\ttext-align: center;\n\t}\n}\n\n// Icon types.\n.acf-icon.-plus:before {\n\tcontent: \"\\f543\";\n}\n.acf-icon.-minus:before {\n\tcontent: \"\\f460\";\n}\n.acf-icon.-cancel:before {\n\tcontent: \"\\f335\";\n\tmargin: -1px 0 0 -1px;\n}\n.acf-icon.-pencil:before {\n\tcontent: \"\\f464\";\n}\n.acf-icon.-location:before {\n\tcontent: \"\\f230\";\n}\n.acf-icon.-up:before {\n\tcontent: \"\\f343\";\n\n\t// Fix position relative to font-size.\n\tmargin-top: math.div(-2em, 20);\n}\n.acf-icon.-down:before {\n\tcontent: \"\\f347\";\n\n\t// Fix position relative to font-size.\n\tmargin-top: math.div(2em, 20);\n}\n.acf-icon.-left:before {\n\tcontent: \"\\f341\";\n\n\t// Fix position relative to font-size.\n\tmargin-left: math.div(-2em, 20);\n}\n.acf-icon.-right:before {\n\tcontent: \"\\f345\";\n\n\t// Fix position relative to font-size.\n\tmargin-left: math.div(2em, 20);\n}\n.acf-icon.-sync:before {\n\tcontent: \"\\f463\";\n}\n.acf-icon.-globe:before {\n\tcontent: \"\\f319\";\n\n\t// Fix position relative to font-size.\n\tmargin-top: math.div(2em, 20);\n\tmargin-left: math.div(2em, 20);\n}\n.acf-icon.-picture:before {\n\tcontent: \"\\f128\";\n}\n.acf-icon.-check:before {\n\tcontent: \"\\f147\";\n\n\t// Fix position relative to font-size.\n\tmargin-left: math.div(-2em, 20);\n}\n.acf-icon.-dot-3:before {\n\tcontent: \"\\f533\";\n\n\t// Fix position relative to font-size.\n\tmargin-top: math.div(-2em, 20);\n}\n.acf-icon.-arrow-combo:before {\n\tcontent: \"\\f156\";\n}\n.acf-icon.-arrow-up:before {\n\tcontent: \"\\f142\";\n\n\t// Fix position relative to font-size.\n\tmargin-left: math.div(-2em, 20);\n}\n.acf-icon.-arrow-down:before {\n\tcontent: \"\\f140\";\n\n\t// Fix position relative to font-size.\n\tmargin-left: math.div(-2em, 20);\n}\n.acf-icon.-search:before {\n\tcontent: \"\\f179\";\n}\n.acf-icon.-link-ext:before {\n\tcontent: \"\\f504\";\n}\n\n// Duplicate is a custom icon made from pseudo elements.\n.acf-icon.-duplicate {\n\tposition: relative;\n\t&:before,\n\t&:after {\n\t\tcontent: \"\";\n\t\tdisplay: block;\n\t\tbox-sizing: border-box;\n\t\twidth: 46%;\n\t\theight: 46%;\n\t\tposition: absolute;\n\t\ttop: 33%;\n\t\tleft: 23%;\n\t}\n\t&:before {\n\t\tmargin: -1px 0 0 1px;\n\t\tbox-shadow: 2px -2px 0px 0px currentColor;\n\t}\n\t&:after {\n\t\tborder: solid 2px currentColor;\n\t}\n}\n\n.acf-icon.-trash {\n\tposition: relative;\n\t&:before,\n\t&:after {\n\t\tcontent: \"\";\n\t\tdisplay: block;\n\t\tbox-sizing: border-box;\n\t\twidth: 46%;\n\t\theight: 46%;\n\t\tposition: absolute;\n\t\ttop: 33%;\n\t\tleft: 23%;\n\t}\n\t&:before {\n\t\tmargin: -1px 0 0 1px;\n\t\tbox-shadow: 2px -2px 0px 0px currentColor;\n\t}\n\t&:after {\n\t\tborder: solid 2px currentColor;\n\t}\n}\n\n// Collapse icon toggles automatically.\n.acf-icon.-collapse:before {\n\tcontent: \"\\f142\";\n\n\t// Fix position relative to font-size.\n\tmargin-left: math.div(-2em, 20);\n}\n.-collapsed .acf-icon.-collapse:before {\n\tcontent: \"\\f140\";\n\n\t// Fix position relative to font-size.\n\tmargin-left: math.div(-2em, 20);\n}\n\n// displays with grey border.\nspan.acf-icon {\n\tcolor: #555d66;\n\tborder-color: #b5bcc2;\n\tbackground-color: #fff;\n}\n\n// also displays with grey border.\na.acf-icon {\n\tcolor: #555d66;\n\tborder-color: #b5bcc2;\n\tbackground-color: #fff;\n\tposition: relative;\n\ttransition: none;\n\tcursor: pointer;\n\n\t// State \"hover\".\n\t&:hover {\n\t\tbackground: #f3f5f6;\n\t\tborder-color: #0071a1;\n\t\tcolor: #0071a1;\n\t}\n\t&.-minus:hover,\n\t&.-cancel:hover {\n\t\tbackground: #f7efef;\n\t\tborder-color: #a10000;\n\t\tcolor: #dc3232;\n\t}\n\n\t// Fix: Remove WP outline box-shadow.\n\t&:active,\n\t&:focus {\n\t\toutline: none;\n\t\tbox-shadow: none;\n\t}\n}\n\n// Style \"clear\".\n.acf-icon.-clear {\n\tborder-color: transparent;\n\tbackground: transparent;\n\tcolor: #444;\n}\n\n// Style \"light\".\n.acf-icon.light {\n\tborder-color: transparent;\n\tbackground: #f5f5f5;\n\tcolor: #23282d;\n}\n\n// Style \"dark\".\n.acf-icon.dark {\n\tborder-color: transparent !important;\n\tbackground: #23282d;\n\tcolor: #eee;\n}\na.acf-icon.dark {\n\t&:hover {\n\t\tbackground: #191e23;\n\t\tcolor: #00b9eb;\n\t}\n\t&.-minus:hover,\n\t&.-cancel:hover {\n\t\tcolor: #d54e21;\n\t}\n}\n\n// Style \"grey\".\n.acf-icon.grey {\n\tborder-color: transparent !important;\n\tbackground: #b4b9be;\n\tcolor: #fff !important;\n\n\t&:hover {\n\t\tbackground: #00a0d2;\n\t\tcolor: #fff;\n\t}\n\t&.-minus:hover,\n\t&.-cancel:hover {\n\t\tbackground: #32373c;\n\t}\n}\n\n// Size \"small\".\n.acf-icon.small,\n.acf-icon.-small {\n\twidth: 20px;\n\theight: 20px;\n\tline-height: 14px;\n\tfont-size: 14px;\n\n\t// Apply minor transforms to reduce clarirty of \"duplicate\" icon.\n\t// Helps to unify rendering with dashicons.\n\t&.-duplicate {\n\t\t&:before,\n\t\t&:after {\n\t\t\t//transform: rotate(0.1deg) scale(0.9) translate(-5%, 5%);\n\t\t\topacity: 0.8;\n\t\t}\n\t}\n}\n\n/*--------------------------------------------------------------------------------------------\n*\n*\tacf-box\n*\n*--------------------------------------------------------------------------------------------*/\n.acf-box {\n\tbackground: #ffffff;\n\tborder: 1px solid $wp-card-border;\n\tposition: relative;\n\tbox-shadow: 0 1px 1px rgba(0, 0, 0, 0.04);\n\n\t/* title */\n\t.title {\n\t\tborder-bottom: 1px solid $wp-card-border;\n\t\tmargin: 0;\n\t\tpadding: 15px;\n\n\t\th3 {\n\t\t\tdisplay: flex;\n\t\t\talign-items: center;\n\t\t\tfont-size: 14px;\n\t\t\tline-height: 1em;\n\t\t\tmargin: 0;\n\t\t\tpadding: 0;\n\t\t}\n\t}\n\n\t.inner {\n\t\tpadding: 15px;\n\t}\n\n\th2 {\n\t\tcolor: #333333;\n\t\tfont-size: 26px;\n\t\tline-height: 1.25em;\n\t\tmargin: 0.25em 0 0.75em;\n\t\tpadding: 0;\n\t}\n\n\th3 {\n\t\tmargin: 1.5em 0 0;\n\t}\n\n\tp {\n\t\tmargin-top: 0.5em;\n\t}\n\n\ta {\n\t\ttext-decoration: none;\n\t}\n\n\ti {\n\t\t&.dashicons-external {\n\t\t\tmargin-top: -1px;\n\t\t}\n\t}\n\n\t/* footer */\n\t.footer {\n\t\tborder-top: 1px solid $wp-card-border;\n\t\tpadding: 12px;\n\t\tfont-size: 13px;\n\t\tline-height: 1.5;\n\n\t\tp {\n\t\t\tmargin: 0;\n\t\t}\n\t}\n\n\t// WP Admin 3.8\n\t@include wp-admin(\"3-8\") {\n\t\tborder-color: $wp38-card-border;\n\t\t.title,\n\t\t.footer {\n\t\t\tborder-color: $wp38-card-border;\n\t\t}\n\t}\n}\n\n/*--------------------------------------------------------------------------------------------\n*\n*\tacf-notice\n*\n*--------------------------------------------------------------------------------------------*/\n\n.acf-notice {\n\tposition: relative;\n\tdisplay: block;\n\tcolor: #fff;\n\tmargin: 5px 0 15px;\n\tpadding: 3px 12px;\n\tbackground: $acf_notice;\n\tborder-left: darken($acf_notice, 10%) solid 3px;\n\n\tp {\n\t\tfont-size: 13px;\n\t\tline-height: 1.5;\n\t\tmargin: 0.5em 0;\n\t\ttext-shadow: none;\n\t\tcolor: inherit;\n\t}\n\n\t.acf-notice-dismiss {\n\t\tposition: absolute;\n\t\ttop: 9px;\n\t\tright: 12px;\n\t\tbackground: transparent !important;\n\t\tcolor: inherit !important;\n\t\tborder-color: #fff !important;\n\t\topacity: 0.75;\n\t\t&:hover {\n\t\t\topacity: 1;\n\t\t}\n\t}\n\n\t// dismiss\n\t&.-dismiss {\n\t\tpadding-right: 40px;\n\t}\n\n\t// error\n\t&.-error {\n\t\tbackground: $acf_error;\n\t\tborder-color: darken($acf_error, 10%);\n\t}\n\n\t// success\n\t&.-success {\n\t\tbackground: $acf_success;\n\t\tborder-color: darken($acf_success, 10%);\n\t}\n\n\t// warning\n\t&.-warning {\n\t\tbackground: $acf_warning;\n\t\tborder-color: darken($acf_warning, 10%);\n\t}\n}\n\n/*--------------------------------------------------------------------------------------------\n*\n*\tacf-table\n*\n*--------------------------------------------------------------------------------------------*/\n\n.acf-table {\n\tborder: $wp-card-border solid 1px;\n\tbackground: #fff;\n\tborder-spacing: 0;\n\tborder-radius: 0;\n\ttable-layout: auto;\n\tpadding: 0;\n\tmargin: 0;\n\twidth: 100%;\n\tclear: both;\n\tbox-sizing: content-box;\n\n\t/* defaults */\n\t> tbody > tr,\n\t> thead > tr {\n\t\t> th,\n\t\t> td {\n\t\t\tpadding: 8px;\n\t\t\tvertical-align: top;\n\t\t\tbackground: #fff;\n\t\t\ttext-align: left;\n\t\t\tborder-style: solid;\n\t\t\tfont-weight: normal;\n\t\t}\n\n\t\t> th {\n\t\t\tposition: relative;\n\t\t\tcolor: #333333;\n\t\t}\n\t}\n\n\t/* thead */\n\t> thead {\n\t\t> tr {\n\t\t\t> th {\n\t\t\t\tborder-color: $wp-card-border-1;\n\t\t\t\tborder-width: 0 0 1px 1px;\n\n\t\t\t\t&:first-child {\n\t\t\t\t\tborder-left-width: 0;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t/* tbody */\n\t> tbody {\n\t\t> tr {\n\t\t\tz-index: 1;\n\n\t\t\t> td {\n\t\t\t\tborder-color: $wp-card-border-2;\n\t\t\t\tborder-width: 1px 0 0 1px;\n\n\t\t\t\t&:first-child {\n\t\t\t\t\tborder-left-width: 0;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t&:first-child > td {\n\t\t\t\tborder-top-width: 0;\n\t\t\t}\n\t\t}\n\t}\n\n\t/* -clear */\n\t&.-clear {\n\t\tborder: 0 none;\n\n\t\t> tbody > tr,\n\t\t> thead > tr {\n\t\t\t> td,\n\t\t\t> th {\n\t\t\t\tborder: 0 none;\n\t\t\t\tpadding: 4px;\n\t\t\t}\n\t\t}\n\t}\n}\n\n/* remove tr */\n.acf-remove-element {\n\t-webkit-transition: all 0.25s ease-out;\n\t-moz-transition: all 0.25s ease-out;\n\t-o-transition: all 0.25s ease-out;\n\ttransition: all 0.25s ease-out;\n\n\ttransform: translate(50px, 0);\n\topacity: 0;\n}\n\n/* fade-up */\n.acf-fade-up {\n\t-webkit-transition: all 0.25s ease-out;\n\t-moz-transition: all 0.25s ease-out;\n\t-o-transition: all 0.25s ease-out;\n\ttransition: all 0.25s ease-out;\n\n\ttransform: translate(0, -10px);\n\topacity: 0;\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* Fake table\n*\n*---------------------------------------------------------------------------------------------*/\n\n.acf-thead,\n.acf-tbody,\n.acf-tfoot {\n\twidth: 100%;\n\tpadding: 0;\n\tmargin: 0;\n\n\t> li {\n\t\tbox-sizing: border-box;\n\t\tpadding: {\n\t\t\ttop: 14px;\n\t\t}\n\t\tfont-size: 12px;\n\t\tline-height: 14px;\n\t}\n}\n\n.acf-thead {\n\tborder-bottom: $wp-card-border solid 1px;\n\tcolor: #23282d;\n\n\t> li {\n\t\tfont-size: 14px;\n\t\tline-height: 1.4;\n\t\tfont-weight: bold;\n\t}\n\n\t// WP Admin 3.8\n\t@include wp-admin(\"3-8\") {\n\t\tborder-color: $wp38-card-border-1;\n\t}\n}\n\n.acf-tfoot {\n\tbackground: #f5f5f5;\n\tborder-top: $wp-card-border-1 solid 1px;\n}\n\n/*--------------------------------------------------------------------------------------------\n*\n*\tSettings\n*\n*--------------------------------------------------------------------------------------------*/\n\n.acf-settings-wrap {\n\t#poststuff {\n\t\tpadding-top: 15px;\n\t}\n\n\t.acf-box {\n\t\tmargin: 20px 0;\n\t}\n\n\ttable {\n\t\tmargin: 0;\n\n\t\t.button {\n\t\t\tvertical-align: middle;\n\t\t}\n\t}\n}\n\n/*--------------------------------------------------------------------------------------------\n*\n*\tacf-popup\n*\n*--------------------------------------------------------------------------------------------*/\n\n#acf-popup {\n\tposition: fixed;\n\tz-index: 900000;\n\ttop: 0;\n\tleft: 0;\n\tright: 0;\n\tbottom: 0;\n\ttext-align: center;\n\n\t// bg\n\t.bg {\n\t\tposition: absolute;\n\t\ttop: 0;\n\t\tleft: 0;\n\t\tright: 0;\n\t\tbottom: 0;\n\t\tz-index: 0;\n\t\tbackground: rgba(0, 0, 0, 0.25);\n\t}\n\n\t&:before {\n\t\tcontent: \"\";\n\t\tdisplay: inline-block;\n\t\theight: 100%;\n\t\tvertical-align: middle;\n\t}\n\n\t// box\n\t.acf-popup-box {\n\t\tdisplay: inline-block;\n\t\tvertical-align: middle;\n\t\tz-index: 1;\n\t\tmin-width: 300px;\n\t\tmin-height: 160px;\n\t\tborder-color: #aaaaaa;\n\t\tbox-shadow: 0 5px 30px -5px rgba(0, 0, 0, 0.25);\n\t\ttext-align: left;\n\t\t@include rtl();\n\n\t\t// title\n\t\t.title {\n\t\t\tmin-height: 15px;\n\t\t\tline-height: 15px;\n\n\t\t\t// icon\n\t\t\t.acf-icon {\n\t\t\t\tposition: absolute;\n\t\t\t\ttop: 10px;\n\t\t\t\tright: 10px;\n\n\t\t\t\t// rtl\n\t\t\t\thtml[dir=\"rtl\"] & {\n\t\t\t\t\tright: auto;\n\t\t\t\t\tleft: 10px;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t.inner {\n\t\t\tmin-height: 50px;\n\n\t\t\t// use margin instead of padding to allow inner elements marin to overlap and avoid large hitespace at top/bottom\n\t\t\tpadding: 0;\n\t\t\tmargin: 15px;\n\t\t}\n\n\t\t// loading\n\t\t.loading {\n\t\t\tposition: absolute;\n\t\t\ttop: 45px;\n\t\t\tleft: 0;\n\t\t\tright: 0;\n\t\t\tbottom: 0;\n\t\t\tz-index: 2;\n\t\t\tbackground: rgba(0, 0, 0, 0.1);\n\t\t\tdisplay: none;\n\n\t\t\ti {\n\t\t\t\t@include centered();\n\t\t\t}\n\t\t}\n\t}\n}\n\n// acf-submit\n.acf-submit {\n\tmargin-bottom: 0;\n\tline-height: 28px; // .button height\n\n\t// message\n\tspan {\n\t\tfloat: right;\n\t\tcolor: #999;\n\n\t\t&.-error {\n\t\t\tcolor: #dd4232;\n\t\t}\n\t}\n\n\t// button (allow margin between loading)\n\t.button {\n\t\tmargin-right: 5px;\n\t}\n}\n\n/*--------------------------------------------------------------------------------------------\n*\n*\tupgrade notice\n*\n*--------------------------------------------------------------------------------------------*/\n\n#acf-upgrade-notice {\n\tposition: relative;\n\tbackground: #fff;\n\tpadding: 20px;\n\t@include clearfix();\n\n\t.col-content {\n\t\tfloat: left;\n\t\twidth: 55%;\n\t\tpadding-left: 90px;\n\t}\n\n\t.notice-container {\n\t\tdisplay: flex;\n\t\tjustify-content: space-between;\n\t\talign-items: flex-start;\n\t\talign-content: flex-start;\n\t}\n\n\t.col-actions {\n\t\tfloat: right;\n\t\ttext-align: center;\n\t}\n\n\timg {\n\t\tfloat: left;\n\t\twidth: 64px;\n\t\theight: 64px;\n\t\tmargin: 0 0 0 -90px;\n\t}\n\n\th2 {\n\t\tdisplay: inline-block;\n\t\tfont-size: 16px;\n\t\tmargin: 2px 0 6.5px;\n\t}\n\n\tp {\n\t\tpadding: 0;\n\t\tmargin: 0;\n\t}\n\n\t.button:before {\n\t\tmargin-top: 11px;\n\t}\n\n\t// mobile\n\t@media screen and (max-width: $sm) {\n\t\t.col-content,\n\t\t.col-actions {\n\t\t\tfloat: none;\n\t\t\tpadding-left: 90px;\n\t\t\twidth: auto;\n\t\t\ttext-align: left;\n\t\t}\n\t}\n}\n\n// Hide icons for upgade notice.\n#acf-upgrade-notice:has(.notice-container)::before,\n#acf-upgrade-notice:has(.notice-container)::after {\n\tdisplay: none;\n}\n\n// Match padding of other non-icon notices.\n#acf-upgrade-notice:has(.notice-container) {\n\tpadding-left: 20px !important;\n}\n\n/*--------------------------------------------------------------------------------------------\n*\n*\tWelcome\n*\n*--------------------------------------------------------------------------------------------*/\n\n.acf-wrap {\n\th1 {\n\t\tmargin-top: 0;\n\t\tpadding-top: 20px;\n\t}\n\n\t.about-text {\n\t\tmargin-top: 0.5em;\n\t\tmin-height: 50px;\n\t}\n\n\t.about-headline-callout {\n\t\tfont-size: 2.4em;\n\t\tfont-weight: 300;\n\t\tline-height: 1.3;\n\t\tmargin: 1.1em 0 0.2em;\n\t\ttext-align: center;\n\t}\n\n\t.feature-section {\n\t\tpadding: 40px 0;\n\n\t\th2 {\n\t\t\tmargin-top: 20px;\n\t\t}\n\t}\n\n\t.changelog {\n\t\tlist-style: disc;\n\t\tpadding-left: 15px;\n\n\t\tli {\n\t\t\tmargin: 0 0 0.75em;\n\t\t}\n\t}\n\n\t.acf-three-col {\n\t\tdisplay: flex;\n\t\tflex-wrap: wrap;\n\t\tjustify-content: space-between;\n\n\t\t> div {\n\t\t\tflex: 1;\n\t\t\talign-self: flex-start;\n\t\t\tmin-width: 31%;\n\t\t\tmax-width: 31%;\n\n\t\t\t@media screen and (max-width: $md) {\n\t\t\t\tmin-width: 48%;\n\t\t\t}\n\n\t\t\t@media screen and (max-width: $sm) {\n\t\t\t\tmin-width: 100%;\n\t\t\t}\n\t\t}\n\n\t\th3 .badge {\n\t\t\tdisplay: inline-block;\n\t\t\tvertical-align: top;\n\t\t\tborder-radius: 5px;\n\t\t\tbackground: #fc9700;\n\t\t\tcolor: #fff;\n\t\t\tfont-weight: normal;\n\t\t\tfont-size: 12px;\n\t\t\tpadding: 2px 5px;\n\t\t}\n\n\t\timg + h3 {\n\t\t\tmargin-top: 0.5em;\n\t\t}\n\t}\n}\n\n/*--------------------------------------------------------------------------------------------\n*\n*\tacf-hl cols\n*\n*--------------------------------------------------------------------------------------------*/\n\n.acf-hl[data-cols] {\n\tmargin-left: -10px;\n\tmargin-right: -10px;\n\n\t> li {\n\t\tpadding: 0 6px 0 10px;\n\n\t\t-webkit-box-sizing: border-box;\n\t\t-moz-box-sizing: border-box;\n\t\tbox-sizing: border-box;\n\t}\n}\n\n/* sizes */\n.acf-hl[data-cols=\"2\"] > li {\n\twidth: 50%;\n}\n.acf-hl[data-cols=\"3\"] > li {\n\twidth: 33.333%;\n}\n.acf-hl[data-cols=\"4\"] > li {\n\twidth: 25%;\n}\n\n/* mobile */\n@media screen and (max-width: $sm) {\n\t.acf-hl[data-cols] {\n\t\tflex-wrap: wrap;\n\t\tjustify-content: flex-start;\n\t\talign-content: flex-start;\n\t\talign-items: flex-start;\n\t\tmargin-left: 0;\n\t\tmargin-right: 0;\n\t\tmargin-top: -10px;\n\n\t\t> li {\n\t\t\tflex: 1 1 100%;\n\t\t\twidth: 100% !important;\n\t\t\tpadding: 10px 0 0;\n\t\t}\n\t}\n}\n\n/*--------------------------------------------------------------------------------------------\n*\n*\tmisc\n*\n*--------------------------------------------------------------------------------------------*/\n\n.acf-actions {\n\ttext-align: right;\n\tz-index: 1;\n\n\t/* hover */\n\t&.-hover {\n\t\tposition: absolute;\n\t\tdisplay: none;\n\t\ttop: 0;\n\t\tright: 0;\n\t\tpadding: 5px;\n\t\tz-index: 1050;\n\t}\n\n\t/* rtl */\n\thtml[dir=\"rtl\"] & {\n\t\t&.-hover {\n\t\t\tright: auto;\n\t\t\tleft: 0;\n\t\t}\n\t}\n}\n\n/* ul compatibility */\nul.acf-actions {\n\tli {\n\t\tfloat: right;\n\t\tmargin-left: 4px;\n\t}\n}\n\n/*--------------------------------------------------------------------------------------------\n*\n*\tRTL\n*\n*--------------------------------------------------------------------------------------------*/\n\nhtml[dir=\"rtl\"] .acf-fl {\n\tfloat: right;\n}\nhtml[dir=\"rtl\"] .acf-fr {\n\tfloat: left;\n}\n\nhtml[dir=\"rtl\"] .acf-hl > li {\n\tfloat: right;\n}\n\nhtml[dir=\"rtl\"] .acf-hl > li.acf-fr {\n\tfloat: left;\n}\n\nhtml[dir=\"rtl\"] .acf-icon.logo {\n\tleft: 0;\n\tright: auto;\n}\n\nhtml[dir=\"rtl\"] .acf-table thead th {\n\ttext-align: right;\n\tborder-right-width: 1px;\n\tborder-left-width: 0px;\n}\n\nhtml[dir=\"rtl\"] .acf-table > tbody > tr > td {\n\ttext-align: right;\n\tborder-right-width: 1px;\n\tborder-left-width: 0px;\n}\n\nhtml[dir=\"rtl\"] .acf-table > thead > tr > th:first-child,\nhtml[dir=\"rtl\"] .acf-table > tbody > tr > td:first-child {\n\tborder-right-width: 0;\n}\n\nhtml[dir=\"rtl\"] .acf-table > tbody > tr > td.order + td {\n\tborder-right-color: #e1e1e1;\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* acf-postbox-columns\n*\n*---------------------------------------------------------------------------------------------*/\n\n.acf-postbox-columns {\n\t@include clearfix();\n\tposition: relative;\n\tmargin-top: -11px;\n\tmargin-bottom: -12px;\n\tmargin-left: -12px;\n\tmargin-right: (280px - 12px);\n\n\t.acf-postbox-main,\n\t.acf-postbox-side {\n\t\t@include border-box();\n\t\tpadding: 0 12px 12px;\n\t}\n\n\t.acf-postbox-main {\n\t\tfloat: left;\n\t\twidth: 100%;\n\t}\n\n\t.acf-postbox-side {\n\t\tfloat: right;\n\t\twidth: 280px;\n\t\tmargin-right: -280px;\n\n\t\t&:before {\n\t\t\tcontent: \"\";\n\t\t\tdisplay: block;\n\t\t\tposition: absolute;\n\t\t\twidth: 1px;\n\t\t\theight: 100%;\n\t\t\ttop: 0;\n\t\t\tright: 0;\n\t\t\tbackground: $wp-card-border-1;\n\t\t}\n\t}\n\n\t// WP Admin 3.8\n\t@include wp-admin(\"3-8\") {\n\t\t.acf-postbox-side:before {\n\t\t\tbackground: $wp38-card-border-1;\n\t\t}\n\t}\n}\n\n/* mobile */\n@media only screen and (max-width: 850px) {\n\t.acf-postbox-columns {\n\t\tmargin: 0;\n\n\t\t.acf-postbox-main,\n\t\t.acf-postbox-side {\n\t\t\tfloat: none;\n\t\t\twidth: auto;\n\t\t\tmargin: 0;\n\t\t\tpadding: 0;\n\t\t}\n\n\t\t.acf-postbox-side {\n\t\t\tmargin-top: 1em;\n\n\t\t\t&:before {\n\t\t\t\tdisplay: none;\n\t\t\t}\n\t\t}\n\t}\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* acf-panel\n*\n*---------------------------------------------------------------------------------------------*/\n\n.acf-panel {\n\tmargin-top: -1px;\n\tborder-top: 1px solid $wp-card-border-1;\n\tborder-bottom: 1px solid $wp-card-border-1;\n\n\t.acf-panel-title {\n\t\tmargin: 0;\n\t\tpadding: 12px;\n\t\tfont-weight: bold;\n\t\tcursor: pointer;\n\t\tfont-size: inherit;\n\n\t\ti {\n\t\t\tfloat: right;\n\t\t}\n\t}\n\n\t.acf-panel-inside {\n\t\tmargin: 0;\n\t\tpadding: 0 12px 12px;\n\t\tdisplay: none;\n\t}\n\n\t/* open */\n\t&.-open {\n\t\t.acf-panel-inside {\n\t\t\tdisplay: block;\n\t\t}\n\t}\n\n\t/* inside postbox */\n\t.postbox & {\n\t\tmargin-left: -12px;\n\t\tmargin-right: -12px;\n\t}\n\n\t/* fields */\n\t.acf-field {\n\t\tmargin: 20px 0 0;\n\n\t\t.acf-label label {\n\t\t\tcolor: #555d66;\n\t\t\tfont-weight: normal;\n\t\t}\n\n\t\t&:first-child {\n\t\t\tmargin-top: 0;\n\t\t}\n\t}\n\n\t// WP Admin 3.8\n\t@include wp-admin(\"3-8\") {\n\t\tborder-color: $wp38-card-border-1;\n\t}\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* Admin Tools\n*\n*---------------------------------------------------------------------------------------------*/\n\n#acf-admin-tools {\n\t.notice {\n\t\tmargin-top: 10px;\n\t}\n\n\t.acf-meta-box-wrap {\n\t\t.inside {\n\t\t\tborder-top: none;\n\t\t}\n\n\t\t/* acf-fields */\n\t\t.acf-fields {\n\t\t\tmargin: {\n\t\t\t\tbottom: 24px;\n\t\t\t}\n\t\t\tborder: none;\n\t\t\tbackground: #fff;\n\t\t\tborder-radius: 0;\n\n\t\t\t.acf-field {\n\t\t\t\tpadding: 0;\n\t\t\t\tmargin-bottom: 19px;\n\t\t\t\tborder-top: none;\n\t\t\t}\n\n\t\t\t.acf-label {\n\t\t\t\t@extend .p2;\n\t\t\t\tmargin: {\n\t\t\t\t\tbottom: 16px;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t.acf-input {\n\t\t\t\tpadding: {\n\t\t\t\t\ttop: 16px;\n\t\t\t\t\tright: 16px;\n\t\t\t\t\tbottom: 16px;\n\t\t\t\t\tleft: 16px;\n\t\t\t\t}\n\t\t\t\tborder: {\n\t\t\t\t\twidth: 1px;\n\t\t\t\t\tstyle: solid;\n\t\t\t\t\tcolor: $gray-300;\n\t\t\t\t}\n\t\t\t\tborder-radius: $radius-md;\n\t\t\t}\n\n\t\t\t&.import-cptui {\n\t\t\t\tmargin-top: 19px;\n\t\t\t}\n\t\t}\n\t}\n}\n\n.acf-meta-box-wrap {\n\t.postbox {\n\t\t@include border-box();\n\n\t\t.inside {\n\t\t\tmargin-bottom: 0;\n\t\t}\n\n\t\t.hndle {\n\t\t\tfont-size: 14px;\n\t\t\tpadding: 8px 12px;\n\t\t\tmargin: 0;\n\t\t\tline-height: 1.4;\n\n\t\t\t// Prevent .acf-panel border overlapping.\n\t\t\tposition: relative;\n\t\t\tz-index: 1;\n\t\t\tcursor: default;\n\t\t}\n\n\t\t.handlediv,\n\t\t.handle-order-higher,\n\t\t.handle-order-lower {\n\t\t\tdisplay: none;\n\t\t}\n\t}\n}\n\n/* grid */\n.acf-meta-box-wrap.-grid {\n\tmargin-left: 8px;\n\tmargin-right: 8px;\n\n\t.postbox {\n\t\tfloat: left;\n\t\tclear: left;\n\t\twidth: 50%;\n\t\tmargin: 0 0 16px;\n\n\t\t&:nth-child(odd) {\n\t\t\tmargin-left: -8px;\n\t\t}\n\n\t\t&:nth-child(even) {\n\t\t\tfloat: right;\n\t\t\tclear: right;\n\t\t\tmargin-right: -8px;\n\t\t}\n\t}\n}\n\n/* mobile */\n@media only screen and (max-width: 850px) {\n\t.acf-meta-box-wrap.-grid {\n\t\tmargin-left: 0;\n\t\tmargin-right: 0;\n\n\t\t.postbox {\n\t\t\tmargin-left: 0 !important;\n\t\t\tmargin-right: 0 !important;\n\t\t\twidth: 100%;\n\t\t}\n\t}\n}\n\n/* export tool */\n#acf-admin-tool-export {\n\tp {\n\t\tmax-width: 800px;\n\t}\n\n\tul {\n\t\tdisplay: flex;\n\t\tflex-wrap: wrap;\n\t\twidth: 100%;\n\t\tli {\n\t\t\tflex: 0 1 33.33%;\n\t\t\t@media screen and (max-width: 1600px) {\n\t\t\t\tflex: 0 1 50%;\n\t\t\t}\n\t\t\t@media screen and (max-width: 1200px) {\n\t\t\t\tflex: 0 1 100%;\n\t\t\t}\n\t\t}\n\t}\n\n\t.acf-postbox-side {\n\t\tul {\n\t\t\tdisplay: block;\n\t\t}\n\n\t\t.button {\n\t\t\tmargin: 0;\n\t\t\twidth: 100%;\n\t\t}\n\t}\n\n\ttextarea {\n\t\tdisplay: block;\n\t\twidth: 100%;\n\t\tmin-height: 500px;\n\t\tbackground: $gray-50;\n\t\tborder-color: $gray-300;\n\t\tbox-shadow: none;\n\t\tpadding: 7px;\n\t\tborder-radius: $radius-md;\n\t}\n\n\t/* panel: selection */\n\t.acf-panel-selection {\n\t\t.acf-label label {\n\t\t\tfont-weight: bold;\n\t\t\tcolor: $gray-700;\n\t\t}\n\t}\n}\n\n#acf-admin-tool-import {\n\tul {\n\t\tcolumn-width: 200px;\n\t}\n}\n\n// CSS only Tooltip.\n.acf-css-tooltip {\n\tposition: relative;\n\t&:before {\n\t\tcontent: attr(aria-label);\n\t\tdisplay: none;\n\t\tposition: absolute;\n\t\tz-index: 999;\n\n\t\tbottom: 100%;\n\t\tleft: 50%;\n\t\ttransform: translate(-50%, -8px);\n\n\t\tbackground: #191e23;\n\t\tborder-radius: 2px;\n\t\tpadding: 5px 10px;\n\n\t\tcolor: #fff;\n\t\tfont-size: 12px;\n\t\tline-height: 1.4em;\n\t\twhite-space: pre;\n\t}\n\t&:after {\n\t\tcontent: \"\";\n\t\tdisplay: none;\n\t\tposition: absolute;\n\t\tz-index: 998;\n\n\t\tbottom: 100%;\n\t\tleft: 50%;\n\t\ttransform: translate(-50%, 4px);\n\n\t\tborder: solid 6px transparent;\n\t\tborder-top-color: #191e23;\n\t}\n\n\t&:hover,\n\t&:focus {\n\t\t&:before,\n\t\t&:after {\n\t\t\tdisplay: block;\n\t\t}\n\t}\n}\n\n// Diff modal.\n.acf-diff {\n\t.acf-diff-title {\n\t\tposition: absolute;\n\t\ttop: 0;\n\t\tleft: 0;\n\t\tright: 0;\n\t\theight: 40px;\n\t\tpadding: 14px 16px;\n\t\tbackground: #f3f3f3;\n\t\tborder-bottom: #dddddd solid 1px;\n\n\t\tstrong {\n\t\t\tfont-size: 14px;\n\t\t\tdisplay: block;\n\t\t}\n\n\t\t.acf-diff-title-left,\n\t\t.acf-diff-title-right {\n\t\t\twidth: 50%;\n\t\t\tfloat: left;\n\t\t}\n\t}\n\n\t.acf-diff-content {\n\t\tposition: absolute;\n\t\ttop: 70px;\n\t\tleft: 0;\n\t\tright: 0;\n\t\tbottom: 0;\n\t\toverflow: auto;\n\t}\n\n\ttable.diff {\n\t\tborder-spacing: 0;\n\n\t\tcol.diffsplit.middle {\n\t\t\twidth: 0;\n\t\t}\n\n\t\ttd,\n\t\tth {\n\t\t\tpadding-top: 0.25em;\n\t\t\tpadding-bottom: 0.25em;\n\t\t}\n\n\t\t// Fix WP 5.7 conflicting CSS.\n\t\ttr td:nth-child(2) {\n\t\t\twidth: auto;\n\t\t}\n\n\t\ttd:nth-child(3) {\n\t\t\tborder-left: #dddddd solid 1px;\n\t\t}\n\t}\n\n\t// Mobile\n\t@media screen and (max-width: 600px) {\n\t\t.acf-diff-title {\n\t\t\theight: 70px;\n\t\t}\n\t\t.acf-diff-content {\n\t\t\ttop: 100px;\n\t\t}\n\t}\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* Modal\n*\n*---------------------------------------------------------------------------------------------*/\n.acf-modal {\n\tposition: fixed;\n\ttop: 30px;\n\tleft: 30px;\n\tright: 30px;\n\tbottom: 30px;\n\tz-index: 160000;\n\tbox-shadow: 0 5px 15px rgba(0, 0, 0, 0.7);\n\tbackground: #fcfcfc;\n\n\t.acf-modal-title,\n\t.acf-modal-content,\n\t.acf-modal-toolbar {\n\t\tbox-sizing: border-box;\n\t\tposition: absolute;\n\t\tleft: 0;\n\t\tright: 0;\n\t}\n\n\t.acf-modal-title {\n\t\theight: 50px;\n\t\ttop: 0;\n\t\tborder-bottom: 1px solid #ddd;\n\n\t\th2 {\n\t\t\tmargin: 0;\n\t\t\tpadding: 0 16px;\n\t\t\tline-height: 50px;\n\t\t}\n\t\t.acf-modal-close {\n\t\t\tposition: absolute;\n\t\t\ttop: 0;\n\t\t\tright: 0;\n\t\t\theight: 50px;\n\t\t\twidth: 50px;\n\t\t\tborder: none;\n\t\t\tborder-left: 1px solid #ddd;\n\t\t\tbackground: transparent;\n\t\t\tcursor: pointer;\n\t\t\tcolor: #666;\n\t\t\t&:hover {\n\t\t\t\tcolor: #00a0d2;\n\t\t\t}\n\t\t}\n\t}\n\n\t.acf-modal-content {\n\t\ttop: 50px;\n\t\tbottom: 60px;\n\t\tbackground: #fff;\n\t\toverflow: auto;\n\t\tpadding: 16px;\n\t}\n\n\t.acf-modal-feedback {\n\t\tposition: absolute;\n\t\ttop: 50%;\n\t\tmargin: -10px 0;\n\t\tleft: 0;\n\t\tright: 0;\n\t\ttext-align: center;\n\t\topacity: 0.75;\n\n\t\t&.error {\n\t\t\topacity: 1;\n\t\t\tcolor: #b52727;\n\t\t}\n\t}\n\n\t.acf-modal-toolbar {\n\t\theight: 60px;\n\t\tbottom: 0;\n\t\tpadding: 15px 16px;\n\t\tborder-top: 1px solid #ddd;\n\n\t\t.button {\n\t\t\tfloat: right;\n\t\t}\n\t}\n\n\t// Responsive.\n\t@media only screen and (max-width: 640px) {\n\t\ttop: 0;\n\t\tleft: 0;\n\t\tright: 0;\n\t\tbottom: 0;\n\t}\n}\n.acf-modal-backdrop {\n\tposition: fixed;\n\ttop: 0;\n\tleft: 0;\n\tright: 0;\n\tbottom: 0;\n\tbackground: $gray-900;\n\topacity: 0.8;\n\tz-index: 159900;\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* Retina\n*\n*---------------------------------------------------------------------------------------------*/\n\n@media only screen and (-webkit-min-device-pixel-ratio: 2),\n\tonly screen and (min--moz-device-pixel-ratio: 2),\n\tonly screen and (-o-min-device-pixel-ratio: 2/1),\n\tonly screen and (min-device-pixel-ratio: 2),\n\tonly screen and (min-resolution: 192dpi),\n\tonly screen and (min-resolution: 2dppx) {\n\t.acf-loading,\n\t.acf-spinner {\n\t\tbackground-image: url(../../images/spinner@2x.gif);\n\t\tbackground-size: 20px 20px;\n\t}\n}\n\n/*--------------------------------------------------------------------------------------------\n*\n* Wrap\n*\n*--------------------------------------------------------------------------------------------*/\n\n.acf-admin-page {\n\t.wrap {\n\t\tmargin: {\n\t\t\ttop: 48px;\n\t\t\tright: 32px;\n\t\t\tbottom: 0;\n\t\t\tleft: 12px;\n\t\t}\n\n\t\t@media screen and (max-width: 768px) {\n\t\t\tmargin: {\n\t\t\t\tright: 8px;\n\t\t\t\tleft: 8px;\n\t\t\t}\n\t\t}\n\t}\n\n\t&.rtl .wrap {\n\t\tmargin: {\n\t\t\tright: 12px;\n\t\t\tleft: 32px;\n\t\t}\n\n\t\t@media screen and (max-width: 768px) {\n\t\t\tmargin: {\n\t\t\t\tright: 8px;\n\t\t\t\tleft: 8px;\n\t\t\t}\n\t\t}\n\t}\n\n\t#wpcontent {\n\t\t@media screen and (max-width: 768px) {\n\t\t\tpadding: {\n\t\t\t\tleft: 0;\n\t\t\t}\n\t\t}\n\t}\n}\n\n/*-------------------------------------------------------------------\n*\n* ACF Admin Page Footer Styles\n*\n*------------------------------------------------------------------*/\n.acf-admin-page {\n\t#wpfooter {\n\t\tfont-style: italic;\n\t}\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* Admin Postbox & ACF Postbox\n*\n*---------------------------------------------------------------------------------------------*/\n.acf-admin-page {\n\t.postbox,\n\t.acf-box {\n\t\tborder: none;\n\t\tborder-radius: $radius-lg;\n\t\tbox-shadow: $elevation-01;\n\n\t\t.inside {\n\t\t\tpadding: {\n\t\t\t\ttop: 24px;\n\t\t\t\tright: 24px;\n\t\t\t\tbottom: 24px;\n\t\t\t\tleft: 24px;\n\t\t\t}\n\t\t}\n\n\t\t.acf-postbox-inner {\n\t\t\tmargin: {\n\t\t\t\ttop: 0;\n\t\t\t\tright: 0;\n\t\t\t\tbottom: 0;\n\t\t\t\tleft: 0;\n\t\t\t}\n\t\t\tpadding: {\n\t\t\t\ttop: 24px;\n\t\t\t\tright: 0;\n\t\t\t\tbottom: 0;\n\t\t\t\tleft: 0;\n\t\t\t}\n\t\t}\n\n\t\t.inner,\n\t\t.inside {\n\t\t\tmargin: {\n\t\t\t\ttop: 0 !important;\n\t\t\t\tright: 0 !important;\n\t\t\t\tbottom: 0 !important;\n\t\t\t\tleft: 0 !important;\n\t\t\t}\n\t\t\tborder-top: {\n\t\t\t\twidth: 1px;\n\t\t\t\tstyle: solid;\n\t\t\t\tcolor: $gray-200;\n\t\t\t}\n\t\t}\n\n\t\t.postbox-header,\n\t\t.title {\n\t\t\tdisplay: flex;\n\t\t\talign-items: center;\n\t\t\tbox-sizing: border-box;\n\t\t\tmin-height: 64px;\n\t\t\tmargin: {\n\t\t\t\ttop: 0;\n\t\t\t\tright: 0;\n\t\t\t\tbottom: 0;\n\t\t\t\tleft: 0;\n\t\t\t}\n\t\t\tpadding: {\n\t\t\t\ttop: 0;\n\t\t\t\tright: 24px;\n\t\t\t\tbottom: 0;\n\t\t\t\tleft: 24px;\n\t\t\t}\n\t\t\tborder-bottom: {\n\t\t\t\twidth: 0;\n\t\t\t\tstyle: none;\n\t\t\t}\n\n\t\t\th2,\n\t\t\th3 {\n\t\t\t\tmargin: {\n\t\t\t\t\ttop: 0;\n\t\t\t\t\tright: 0;\n\t\t\t\t\tbottom: 0;\n\t\t\t\t\tleft: 0;\n\t\t\t\t}\n\t\t\t\tpadding: {\n\t\t\t\t\ttop: 0;\n\t\t\t\t\tright: 0;\n\t\t\t\t\tbottom: 0;\n\t\t\t\t\tleft: 0;\n\t\t\t\t}\n\t\t\t\t@extend .acf-h3;\n\t\t\t\tcolor: $gray-700;\n\t\t\t}\n\t\t}\n\n\t\t.hndle {\n\t\t\tpadding: {\n\t\t\t\ttop: 0;\n\t\t\t\tright: 24px;\n\t\t\t\tbottom: 0;\n\t\t\t\tleft: 24px;\n\t\t\t}\n\t\t}\n\t}\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* Custom ACF postbox header\n*\n*---------------------------------------------------------------------------------------------*/\n.acf-postbox-header {\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: space-between;\n\tbox-sizing: border-box;\n\tmin-height: 64px;\n\tmargin: {\n\t\ttop: -24px;\n\t\tright: -24px;\n\t\tbottom: 0;\n\t\tleft: -24px;\n\t}\n\tpadding: {\n\t\ttop: 0;\n\t\tright: 24px;\n\t\tbottom: 0;\n\t\tleft: 24px;\n\t}\n\tborder-bottom: {\n\t\twidth: 1px;\n\t\tstyle: solid;\n\t\tcolor: $gray-200;\n\t}\n\n\th2.acf-postbox-title {\n\t\tmargin: {\n\t\t\ttop: 0;\n\t\t\tright: 0;\n\t\t\tbottom: 0;\n\t\t\tleft: 0;\n\t\t}\n\t\tpadding: {\n\t\t\ttop: 0;\n\t\t\tright: 24px;\n\t\t\tbottom: 0;\n\t\t\tleft: 0;\n\t\t}\n\t\t@extend .acf-h3;\n\t\tcolor: $gray-700;\n\t}\n\n\t.rtl & h2.acf-postbox-title {\n\t\tpadding: {\n\t\t\tright: 0;\n\t\t\tleft: 24px;\n\t\t}\n\t}\n\n\t.acf-icon {\n\t\tbackground-color: $gray-400;\n\t}\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* Screen options button & screen meta container\n*\n*---------------------------------------------------------------------------------------------*/\n.acf-admin-page {\n\t#screen-meta-links {\n\t\tmargin: {\n\t\t\tright: 32px;\n\t\t}\n\n\t\t.show-settings {\n\t\t\tborder-color: $gray-300;\n\t\t}\n\n\t\t@media screen and (max-width: 768px) {\n\t\t\tmargin: {\n\t\t\t\tright: 16px;\n\t\t\t\tbottom: 0;\n\t\t\t}\n\t\t}\n\t}\n\n\t&.rtl #screen-meta-links {\n\t\tmargin: {\n\t\t\tright: 0;\n\t\t\tleft: 32px;\n\t\t}\n\n\t\t@media screen and (max-width: 768px) {\n\t\t\tmargin: {\n\t\t\t\tright: 0;\n\t\t\t\tleft: 16px;\n\t\t\t}\n\t\t}\n\t}\n\n\t#screen-meta {\n\t\tborder-color: $gray-300;\n\t}\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* Postbox headings\n*\n*---------------------------------------------------------------------------------------------*/\n.acf-admin-page {\n\t#poststuff {\n\t\t.postbox-header {\n\t\t\th2,\n\t\t\th3 {\n\t\t\t\tjustify-content: flex-start;\n\t\t\t\tmargin: {\n\t\t\t\t\ttop: 0;\n\t\t\t\t\tright: 0;\n\t\t\t\t\tbottom: 0;\n\t\t\t\t\tleft: 0;\n\t\t\t\t}\n\t\t\t\tpadding: {\n\t\t\t\t\ttop: 0;\n\t\t\t\t\tright: 0;\n\t\t\t\t\tbottom: 0;\n\t\t\t\t\tleft: 0;\n\t\t\t\t}\n\t\t\t\t@extend .acf-h3;\n\t\t\t\tcolor: $gray-700 !important;\n\t\t\t}\n\t\t}\n\t}\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* Postbox drag state\n*\n*---------------------------------------------------------------------------------------------*/\n.acf-admin-page {\n\t&.is-dragging-metaboxes\n\t\t.metabox-holder\n\t\t.postbox-container\n\t\t.meta-box-sortables {\n\t\tbox-sizing: border-box;\n\t\tpadding: 2px;\n\t\toutline: none;\n\t\tbackground-image: repeating-linear-gradient(\n\t\t\t\t0deg,\n\t\t\t\t$gray-500,\n\t\t\t\t$gray-500 5px,\n\t\t\t\ttransparent 5px,\n\t\t\t\ttransparent 10px,\n\t\t\t\t$gray-500 10px\n\t\t\t),\n\t\t\trepeating-linear-gradient(\n\t\t\t\t90deg,\n\t\t\t\t$gray-500,\n\t\t\t\t$gray-500 5px,\n\t\t\t\ttransparent 5px,\n\t\t\t\ttransparent 10px,\n\t\t\t\t$gray-500 10px\n\t\t\t),\n\t\t\trepeating-linear-gradient(\n\t\t\t\t180deg,\n\t\t\t\t$gray-500,\n\t\t\t\t$gray-500 5px,\n\t\t\t\ttransparent 5px,\n\t\t\t\ttransparent 10px,\n\t\t\t\t$gray-500 10px\n\t\t\t),\n\t\t\trepeating-linear-gradient(\n\t\t\t\t270deg,\n\t\t\t\t$gray-500,\n\t\t\t\t$gray-500 5px,\n\t\t\t\ttransparent 5px,\n\t\t\t\ttransparent 10px,\n\t\t\t\t$gray-500 10px\n\t\t\t);\n\t\tbackground-size: 1.5px 100%, 100% 1.5px, 1.5px 100%, 100% 1.5px;\n\t\tbackground-position: 0 0, 0 0, 100% 0, 0 100%;\n\t\tbackground-repeat: no-repeat;\n\t\tborder-radius: $radius-lg;\n\t}\n\n\t.ui-sortable-placeholder {\n\t\tborder: none;\n\t}\n}\n\n/*--------------------------------------------------------------------------------------------\n*\n* Search summary\n*\n*--------------------------------------------------------------------------------------------*/\n.acf-admin-page {\n\t.subtitle {\n\t\tdisplay: inline-flex;\n\t\talign-items: center;\n\t\theight: 24px;\n\t\tmargin: 0;\n\t\tpadding: {\n\t\t\ttop: 4px;\n\t\t\tright: 12px;\n\t\t\tbottom: 4px;\n\t\t\tleft: 12px;\n\t\t}\n\t\tbackground-color: $blue-50;\n\t\tborder: {\n\t\t\twidth: 1px;\n\t\t\tstyle: solid;\n\t\t\tcolor: $blue-200;\n\t\t}\n\t\tborder-radius: $radius-md;\n\t\t@extend .p3;\n\n\t\tstrong {\n\t\t\tmargin: {\n\t\t\t\tleft: 5px;\n\t\t\t}\n\t\t}\n\t}\n}\n\n/*--------------------------------------------------------------------------------------------\n*\n* Action strip\n*\n*--------------------------------------------------------------------------------------------*/\n.acf-actions-strip {\n\tdisplay: flex;\n\n\t.acf-btn {\n\t\tmargin: {\n\t\t\tright: 8px;\n\t\t}\n\t}\n}\n\n/*--------------------------------------------------------------------------------------------\n*\n* Notices\n*\n*--------------------------------------------------------------------------------------------*/\n.acf-admin-page {\n\t.acf-notice,\n\t.notice,\n\t#lost-connection-notice {\n\t\tposition: relative;\n\t\tbox-sizing: border-box;\n\t\tmin-height: 48px;\n\t\tmargin: {\n\t\t\ttop: 0 !important;\n\t\t\tright: 0 !important;\n\t\t\tbottom: 16px !important;\n\t\t\tleft: 0 !important;\n\t\t}\n\t\tpadding: {\n\t\t\ttop: 13px !important;\n\t\t\tright: 16px;\n\t\t\tbottom: 12px !important;\n\t\t\tleft: 50px !important;\n\t\t}\n\t\tbackground-color: #e7eff9;\n\t\tborder: {\n\t\t\twidth: 1px;\n\t\t\tstyle: solid;\n\t\t\tcolor: #9dbaee;\n\t\t}\n\t\tborder-radius: $radius-lg;\n\t\tbox-shadow: $elevation-01;\n\t\tcolor: $gray-700;\n\n\t\t&.update-nag {\n\t\t\tdisplay: block;\n\t\t\tposition: relative;\n\t\t\twidth: calc(100% - 44px);\n\t\t\tmargin: {\n\t\t\t\ttop: 48px !important;\n\t\t\t\tright: 44px !important;\n\t\t\t\tbottom: -32px !important;\n\t\t\t\tleft: 12px !important;\n\t\t\t}\n\t\t}\n\n\t\t.button {\n\t\t\theight: auto;\n\t\t\tmargin: {\n\t\t\t\tleft: 8px;\n\t\t\t}\n\t\t\tpadding: 0;\n\t\t\tborder: none;\n\t\t\t@extend .p5;\n\t\t}\n\n\t\t> div {\n\t\t\tmargin: {\n\t\t\t\ttop: 0;\n\t\t\t\tbottom: 0;\n\t\t\t}\n\t\t}\n\n\t\tp {\n\t\t\tflex: 1 0 auto;\n\t\t\tmax-width: 100%;\n\t\t\tline-height: 18px;\n\t\t\tmargin: 0;\n\t\t\tpadding: 0;\n\n\t\t\t&.help {\n\t\t\t\tmargin: {\n\t\t\t\t\ttop: 0;\n\t\t\t\t}\n\t\t\t\tpadding: {\n\t\t\t\t\ttop: 0;\n\t\t\t\t}\n\t\t\t\t@extend .p7;\n\t\t\t\tcolor: rgba($gray-700, 0.7);\n\t\t\t}\n\t\t}\n\n\t\t// Dismiss button\n\t\t.acf-notice-dismiss,\n\t\t.notice-dismiss {\n\t\t\tposition: absolute;\n\t\t\ttop: 4px;\n\t\t\tright: 8px;\n\t\t\tpadding: 9px;\n\t\t\tborder: none;\n\n\t\t\t&:before {\n\t\t\t\tcontent: \"\";\n\t\t\t\t$icon-size: 20px;\n\t\t\t\tdisplay: block;\n\t\t\t\tposition: relative;\n\t\t\t\tz-index: 600;\n\t\t\t\twidth: $icon-size;\n\t\t\t\theight: $icon-size;\n\t\t\t\tbackground-color: $gray-500;\n\t\t\t\tborder: none;\n\t\t\t\tborder-radius: 0;\n\t\t\t\t-webkit-mask-size: contain;\n\t\t\t\tmask-size: contain;\n\t\t\t\t-webkit-mask-repeat: no-repeat;\n\t\t\t\tmask-repeat: no-repeat;\n\t\t\t\t-webkit-mask-position: center;\n\t\t\t\tmask-position: center;\n\t\t\t\t-webkit-mask-image: url(\"../../images/icons/icon-close.svg\");\n\t\t\t\tmask-image: url(\"../../images/icons/icon-close.svg\");\n\t\t\t}\n\n\t\t\t&:hover::before {\n\t\t\t\tbackground-color: $gray-700;\n\t\t\t}\n\t\t}\n\n\t\ta.acf-notice-dismiss {\n\t\t\tposition: absolute;\n\t\t\ttop: 5px;\n\t\t\tright: 24px;\n\n\t\t\t&:before {\n\t\t\t\tbackground-color: $gray-600;\n\t\t\t}\n\t\t}\n\n\t\t// Icon base styling\n\t\t&:before {\n\t\t\tcontent: \"\";\n\t\t\t$icon-size: 16px;\n\t\t\tdisplay: block;\n\t\t\tposition: absolute;\n\t\t\ttop: 15px;\n\t\t\tleft: 18px;\n\t\t\tz-index: 600;\n\t\t\twidth: $icon-size;\n\t\t\theight: $icon-size;\n\t\t\tmargin: {\n\t\t\t\tright: 8px;\n\t\t\t}\n\t\t\tbackground-color: #fff;\n\t\t\tborder: none;\n\t\t\tborder-radius: 0;\n\t\t\t-webkit-mask-size: contain;\n\t\t\tmask-size: contain;\n\t\t\t-webkit-mask-repeat: no-repeat;\n\t\t\tmask-repeat: no-repeat;\n\t\t\t-webkit-mask-position: center;\n\t\t\tmask-position: center;\n\t\t\t-webkit-mask-image: url(\"../../images/icons/icon-info-solid.svg\");\n\t\t\tmask-image: url(\"../../images/icons/icon-info-solid.svg\");\n\t\t}\n\n\t\t&:after {\n\t\t\tcontent: \"\";\n\t\t\tdisplay: block;\n\t\t\tposition: absolute;\n\t\t\ttop: 9px;\n\t\t\tleft: 12px;\n\t\t\tz-index: 500;\n\t\t\twidth: 28px;\n\t\t\theight: 28px;\n\t\t\tbackground-color: $color-info;\n\t\t\tborder-radius: $radius-md;\n\t\t\tbox-shadow: $elevation-01;\n\t\t}\n\n\t\t.local-restore {\n\t\t\talign-items: center;\n\t\t\tmargin: {\n\t\t\t\ttop: -6px;\n\t\t\t\tbottom: 0;\n\t\t\t}\n\t\t}\n\t}\n\n\t// Persisted notices should be hidden by default as they will be shown by JS if required.\n\t.notice[data-persisted=\"true\"] {\n\t\tdisplay: none;\n\t}\n\n\t.notice.is-dismissible {\n\t\tpadding: {\n\t\t\tright: 56px;\n\t\t}\n\t}\n\n\t// Success notice\n\t.notice.notice-success {\n\t\tbackground-color: #edf7ef;\n\t\tborder-color: #b6deb9;\n\n\t\t&:before {\n\t\t\t-webkit-mask-image: url(\"../../images/icons/icon-check-circle-solid.svg\");\n\t\t\tmask-image: url(\"../../images/icons/icon-check-circle-solid.svg\");\n\t\t}\n\n\t\t&:after {\n\t\t\tbackground-color: $color-success;\n\t\t}\n\t}\n\n\t// Error notice\n\t.acf-notice.acf-error-message,\n\t.notice.notice-error,\n\t#lost-connection-notice {\n\t\tbackground-color: #f7eeeb;\n\t\tborder-color: #f1b6b3;\n\n\t\t&:before {\n\t\t\t-webkit-mask-image: url(\"../../images/icons/icon-warning.svg\");\n\t\t\tmask-image: url(\"../../images/icons/icon-warning.svg\");\n\t\t}\n\n\t\t&:after {\n\t\t\tbackground-color: $color-danger;\n\t\t}\n\t}\n\t\n\t.notice.notice-warning {\n\t\t&:before {\n\t\t\t-webkit-mask-image: url(\"../../images/icons/icon-alert-triangle.svg\");\n\t\t\tmask-image: url(\"../../images/icons/icon-alert-triangle.svg\");\n\t\t\tbackground: #f56e28;\n\t\t}\n\n\t\t&:after {\n\t\t\tcontent: none;\n\t\t}\n\n\t\tbackground: linear-gradient(0deg, rgba(247, 144, 9, 0.08), rgba(247, 144, 9, 0.08)), #FFFFFF;\n\t\tborder: 1px solid rgba(247, 144, 9, 0.32);\n\t\tcolor: $gray-700;\n\t}\n}\n\n.acf-admin-single-taxonomy,\n.acf-admin-single-post-type,\n.acf-admin-single-options-page {\n\t.notice-success {\n\t\t.acf-item-saved-text {\n\t\t\tfont-weight: 600;\n\t\t}\n\n\t\t.acf-item-saved-links {\n\t\t\tdisplay: flex;\n\t\t\tgap: 12px;\n\n\t\t\ta {\n\t\t\t\ttext-decoration: none;\n\t\t\t\topacity: 1;\n\n\t\t\t\t&:after {\n\t\t\t\t\tcontent: \"\";\n\t\t\t\t\twidth: 1px;\n\t\t\t\t\theight: 13px;\n\t\t\t\t\tdisplay: inline-flex;\n\t\t\t\t\tposition: relative;\n\t\t\t\t\ttop: 2px;\n\t\t\t\t\tleft: 6px;\n\t\t\t\t\tbackground-color: $gray-600;\n\t\t\t\t\topacity: 0.3;\n\t\t\t\t}\n\n\t\t\t\t&:last-child {\n\t\t\t\t\t&:after {\n\t\t\t\t\t\tcontent: none;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n\n.rtl.acf-field-group,\n.rtl.acf-internal-post-type {\n\t.notice {\n\t\tpadding-right: 50px !important;\n\n\t\t.notice-dismiss {\n\t\t\tleft: 8px;\n\t\t\tright: unset;\n\t\t}\n\n\t\t&:before {\n\t\t\tleft: unset;\n\t\t\tright: 10px;\n\t\t}\n\n\t\t&:after {\n\t\t\tleft: unset;\n\t\t\tright: 12px;\n\t\t}\n\t}\n\n\t&.acf-admin-single-taxonomy,\n\t&.acf-admin-single-post-type,\n\t&.acf-admin-single-options-page {\n\t\t.notice-success .acf-item-saved-links a {\n\t\t\t&:after {\n\t\t\t\tleft: unset;\n\t\t\t\tright: 6px;\n\t\t\t}\n\t\t}\n\t}\n}\n\n/*--------------------------------------------------------------------------------------------\n*\n* ACF PRO label\n*\n*--------------------------------------------------------------------------------------------*/\n.acf-pro-label {\n\tdisplay: inline-flex;\n\talign-items: center;\n\tmin-height: 22px;\n\tborder: none;\n\tfont-size: 11px;\n\ttext-transform: uppercase;\n\ttext-decoration: none;\n\tcolor: #fff;\n}\n\n/*--------------------------------------------------------------------------------------------\n*\n* Inline notice overrides\n*\n*--------------------------------------------------------------------------------------------*/\n.acf-admin-page {\n\t.acf-field {\n\t\t// notice\n\t\t.acf-notice {\n\t\t\tdisplay: flex;\n\t\t\talign-items: center;\n\t\t\tmin-height: 40px !important;\n\t\t\tmargin: {\n\t\t\t\tbottom: 6px !important;\n\t\t\t}\n\t\t\tpadding: {\n\t\t\t\ttop: 6px !important;\n\t\t\t\tleft: 40px !important;\n\t\t\t\tbottom: 6px !important;\n\t\t\t}\n\t\t\tmargin: 0 0 15px;\n\t\t\tbackground: #edf2ff;\n\t\t\tcolor: $gray-700 !important;\n\t\t\tborder-color: #2183b9;\n\t\t\tborder-radius: $radius-md;\n\n\t\t\t&:after {\n\t\t\t\ttop: 8px;\n\t\t\t\tleft: 8px;\n\t\t\t\twidth: 22px;\n\t\t\t\theight: 22px;\n\t\t\t}\n\n\t\t\t&:before {\n\t\t\t\ttop: 12px;\n\t\t\t\tleft: 12px;\n\t\t\t\twidth: 14px;\n\t\t\t\theight: 14px;\n\t\t\t}\n\n\t\t\t// error\n\t\t\t&.-error {\n\t\t\t\tbackground: #f7eeeb;\n\t\t\t\tborder-color: #f1b6b3;\n\t\t\t}\n\n\t\t\t// success\n\t\t\t&.-success {\n\t\t\t\tbackground: #edf7ef;\n\t\t\t\tborder-color: #b6deb9;\n\t\t\t}\n\n\t\t\t// warning\n\t\t\t&.-warning {\n\t\t\t\tbackground: #fdf8eb;\n\t\t\t\tborder-color: #f4dbb4;\n\t\t\t}\n\t\t}\n\t}\n}\n","/*---------------------------------------------------------------------------------------------\n*\n* Global\n*\n*---------------------------------------------------------------------------------------------*/\n.acf-admin-page {\n\t#wpcontent {\n\t\tline-height: 140%;\n\t}\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* Links\n*\n*---------------------------------------------------------------------------------------------*/\n.acf-admin-page {\n\n\ta {\n\t\tcolor: $blue-500;\n\t}\n\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* Headings\n*\n*---------------------------------------------------------------------------------------------*/\n\n.acf-h1 {\n\tfont-size: 21px;\n\tfont-weight: 400;\n}\n\n.acf-h2 {\n\tfont-size: 18px;\n\tfont-weight: 400;\n}\n\n.acf-h3 {\n\tfont-size: 16px;\n\tfont-weight: 400;\n}\n\n.acf-admin-page,\n.acf-headerbar {\n\n\th1 {\n\t\t@extend .acf-h1;\n\t}\n\n\th2 {\n\t\t@extend .acf-h2;\n\t}\n\n\th3 {\n\t\t@extend .acf-h3;\n\t}\n\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* Paragraphs\n*\n*---------------------------------------------------------------------------------------------*/\n\n.acf-admin-page {\n\n\t.p1 {\n\t\tfont-size: 15px;\n\t}\n\n\t.p2 {\n\t\tfont-size: 14px;\n\t}\n\n\t.p3 {\n\t\tfont-size: 13.5px;\n\t}\n\n\t.p4 {\n\t\tfont-size: 13px;\n\t}\n\n\t.p5 {\n\t\tfont-size: 12.5px;\n\t}\n\n\t.p6 {\n\t\tfont-size: 12px;\n\t}\n\n\t.p7 {\n\t\tfont-size: 11.5px;\n\t}\n\n\t.p8 {\n\t\tfont-size: 11px;\n\t}\n\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* Page titles\n*\n*---------------------------------------------------------------------------------------------*/\n.acf-page-title {\n\t@extend .acf-h2;\n\tcolor: $gray-700;\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* Hide old / native WP titles from pages\n*\n*---------------------------------------------------------------------------------------------*/\n.acf-admin-page {\n\n\t.acf-settings-wrap h1 {\n\t\tdisplay: none !important;\n\t}\n\n\t#acf-admin-tools h1:not(.acf-field-group-pro-features-title, .acf-field-group-pro-features-title-sm) {\n\t\tdisplay: none !important;\n\t}\n\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* Small\n*\n*---------------------------------------------------------------------------------------------*/\n.acf-small {\n\t@extend .p6;\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* Link focus style\n*\n*---------------------------------------------------------------------------------------------*/\n.acf-admin-page {\n\ta:focus {\n\t\tbox-shadow: none;\n\t\toutline: none;\n\t}\n\n\ta:focus-visible {\n\t\tbox-shadow: 0 0 0 1px #4f94d4, 0 0 2px 1px rgb(79 148 212 / 80%);\n\t\toutline: 1px solid transparent;\n\t}\n}\n",".acf-admin-page {\n\n\t/*---------------------------------------------------------------------------------------------\n\t*\n\t* All Inputs\n\t*\n\t*---------------------------------------------------------------------------------------------*/\n\tinput[type=\"text\"],\n\tinput[type=\"search\"],\n\tinput[type=\"number\"],\n\ttextarea,\n\tselect {\n\t\tbox-sizing: border-box;\n\t\theight: 40px;\n\t\tpadding: {\n\t\t\tright: 12px;\n\t\t\tleft: 12px;\n\t\t};\n\t\tbackground-color: #fff;\n\t\tborder-color: $gray-300;\n\t\tbox-shadow: $elevation-01;\n\t\tborder-radius: $radius-md;\n\t\t/* stylelint-disable-next-line scss/at-extend-no-missing-placeholder */\n\t\t@extend .p4;\n\t\tcolor: $gray-700;\n\n\t\t&:focus {\n\t\t\toutline: $outline;\n\t\t\tborder-color: $blue-400;\n\t\t}\n\n\t\t&:disabled {\n\t\t\tbackground-color: $gray-50;\n\t\t\tcolor: lighten($gray-500, 10%);\n\t\t}\n\n\t\t&::placeholder {\n\t\t\tcolor: $gray-400;\n\t\t}\n\n\t}\n\n\t/*---------------------------------------------------------------------------------------------\n\t*\n\t* Read only text inputs\n\t*\n\t*---------------------------------------------------------------------------------------------*/\n\tinput[type=\"text\"] {\n\n\t\t&:read-only {\n\t\t\tbackground-color: $gray-50;\n\t\t\tcolor: $gray-400;\n\t\t}\n\n\t}\n\n\t/*---------------------------------------------------------------------------------------------\n\t*\n\t* Number fields\n\t*\n\t*---------------------------------------------------------------------------------------------*/\n\t.acf-field.acf-field-number {\n\n\t\t.acf-label,\n\t\t.acf-input input[type=\"number\"] {\n\t\t\tmax-width: 180px;\n\t\t}\n\n\t}\n\n\t/*---------------------------------------------------------------------------------------------\n\t*\n\t* Textarea\n\t*\n\t*---------------------------------------------------------------------------------------------*/\n\ttextarea {\n\t\tbox-sizing: border-box;\n\t\tpadding: {\n\t\t\ttop: 10px;\n\t\t\tbottom: 10px;\n\t\t};\n\t\theight: 80px;\n\t\tmin-height: 56px;\n\t}\n\n\t/*---------------------------------------------------------------------------------------------\n\t*\n\t* Select\n\t*\n\t*---------------------------------------------------------------------------------------------*/\n\tselect {\n\t\tmin-width: 160px;\n\t\tmax-width: 100%;\n\t\tpadding: {\n\t\t\tright: 40px;\n\t\t\tleft: 12px;\n\t\t};\n\t\tbackground-image: url('../../images/icons/icon-chevron-down.svg');\n\t\tbackground-position: right 10px top 50%;\n\t\tbackground-size: 20px;\n\t\t@extend .p4;\n\n\t\t&:hover,\n\t\t&:focus {\n\t\t\tcolor: $blue-500;\n\t\t}\n\n\t\t&::before {\n\t\t\tcontent: '';\n\t\t\tdisplay: block;\n\t\t\tposition: absolute;\n\t\t\ttop: 5px;\n\t\t\tleft: 5px;\n\t\t\twidth: 20px;\n\t\t\theight: 20px;\n\t\t}\n\n\t}\n\n\t&.rtl {\n\n\t\tselect {\n\t\t\tpadding: {\n\t\t\t\tright: 12px;\n\t\t\t\tleft: 40px;\n\t\t\t};\n\t\t\tbackground-position: left 10px top 50%;\n\t\t}\n\t}\n\n\t/*---------------------------------------------------------------------------------------------\n\t*\n\t* Radio Button & Checkbox base styling\n\t*\n\t*---------------------------------------------------------------------------------------------*/\n\tinput[type=\"radio\"],\n\tinput[type=\"checkbox\"] {\n\t\tbox-sizing: border-box;\n\t\twidth: 16px;\n\t\theight: 16px;\n\t\tpadding: 0;\n\t\tborder: {\n\t\t\twidth: 1px;\n\t\t\tstyle: solid;\n\t\t\tcolor: $gray-400;\n\t\t};\n\t\tbackground: #fff;\n\t\tbox-shadow: none;\n\n\t\t&:hover {\n\t\t\tbackground-color: $blue-50;\n\t\t\tborder-color: $blue-500;\n\t\t}\n\n\t\t&:checked,\n\t\t&:focus-visible {\n\t\t\tbackground-color: $blue-50;\n\t\t\tborder-color: $blue-500;\n\n\t\t\t&:before {\n\t\t\t\tcontent: '';\n\t\t\t\tposition: relative;\n\t\t\t\ttop: -1px;\n\t\t\t\tleft: -1px;\n\t\t\t\twidth: 16px;\n\t\t\t\theight: 16px;\n\t\t\t\tmargin: 0;\n\t\t\t\tpadding: 0;\n\t\t\t\tbackground-color: transparent;\n\t\t\t\tbackground-size: cover;\n\t\t\t\tbackground-repeat: no-repeat;\n\t\t\t\tbackground-position: center;\n\t\t\t}\n\n\t\t}\n\n\t\t&:active {\n\t\t\tbox-shadow: 0px 0px 0px 3px $blue-50, 0px 0px 0px rgba(255, 54, 54, 0.25);\n\t\t}\n\n\t\t&:disabled {\n\t\t\tbackground-color: $gray-50;\n\t\t\tborder-color: $gray-300;\n\t\t}\n\n\t}\n\n\t&.rtl {\n\n\t\tinput[type=\"radio\"],\n\t\tinput[type=\"checkbox\"] {\n\n\t\t\t&:checked,\n\t\t\t&:focus-visible {\n\n\t\t\t\t&:before {\n\t\t\t\t\tleft: 1px;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\n\t/*---------------------------------------------------------------------------------------------\n\t*\n\t* Radio Buttons\n\t*\n\t*---------------------------------------------------------------------------------------------*/\n\tinput[type=\"radio\"] {\n\n\t\t&:checked,\n\t\t&:focus {\n\n\t\t\t&:before {\n\t\t\t\tbackground-image: url('../../images/field-states/radio-active.svg');\n\t\t\t}\n\n\t\t}\n\n\t}\n\n\t/*---------------------------------------------------------------------------------------------\n\t*\n\t* Checkboxes\n\t*\n\t*---------------------------------------------------------------------------------------------*/\n\tinput[type=\"checkbox\"] {\n\n\t\t&:checked,\n\t\t&:focus {\n\n\t\t\t&:before {\n\t\t\t\tbackground-image: url('../../images/field-states/checkbox-active.svg');\n\t\t\t}\n\n\t\t}\n\n\t}\n\n\t/*---------------------------------------------------------------------------------------------\n\t*\n\t* Radio Buttons & Checkbox lists\n\t*\n\t*---------------------------------------------------------------------------------------------*/\n\t.acf-radio-list,\n\t.acf-checkbox-list {\n\n\t\tli input[type=\"radio\"],\n\t\tli input[type=\"checkbox\"] {\n\t\t\tmargin: {\n\t\t\t\tright: 6px;\n\t\t\t};\n\t\t}\n\n\t\t&.acf-bl li {\n\t\t\tmargin: {\n\t\t\t\tbottom: 8px;\n\t\t\t};\n\n\t\t\t&:last-of-type {\n\t\t\t\tmargin: {\n\t\t\t\t\tbottom: 0;\n\t\t\t\t};\n\t\t\t}\n\n\n\t\t}\n\n\t\tlabel {\n\t\t\tdisplay: flex;\n\t\t\talign-items: center;\n\t\t\talign-content: center;\n\t\t}\n\n\t}\n\n\t/*---------------------------------------------------------------------------------------------\n\t*\n\t* ACF Switch\n\t*\n\t*---------------------------------------------------------------------------------------------*/\n\t.acf-switch {\n\t\twidth: 42px;\n\t\theight: 24px;\n\t\tborder: none;\n\t\tbackground-color: $gray-300;\n\t\tborder-radius: 12px;\n\n\t\t&:hover {\n\t\t\tbackground-color: $gray-400;\n\t\t}\n\n\t\t&:active {\n\t\t\tbox-shadow: 0px 0px 0px 3px $blue-50, 0px 0px 0px rgba(255, 54, 54, 0.25);\n\t\t}\n\n\t\t&.-on {\n\t\t\tbackground-color: $color-primary;\n\n\t\t\t&:hover {\n\t\t\t\tbackground-color: $color-primary-hover;\n\t\t\t}\n\n\t\t\t.acf-switch-slider {\n\t\t\t\tleft: 20px;\n\t\t\t}\n\n\t\t}\n\n\t\t.acf-switch-off,\n\t\t.acf-switch-on {\n\t\t\tvisibility: hidden;\n\t\t}\n\n\t\t.acf-switch-slider {\n\t\t\twidth: 20px;\n\t\t\theight: 20px;\n\t\t\tborder: none;\n\t\t\tborder-radius: 100px;\n\t\t\tbox-shadow: 0px 1px 3px rgba(16, 24, 40, 0.1), 0px 1px 2px rgba(16, 24, 40, 0.06);\n\t\t}\n\n\t}\n\n\t.acf-field-true-false {\n\t\tdisplay: flex;\n\t\talign-items: flex-start;\n\n\t\t.acf-label {\n\t\t\torder: 2;\n\t\t\tdisplay: block;\n\t\t\talign-items: center;\n\t\t\tmargin: {\n\t\t\t\ttop: 2px;\n\t\t\t\tbottom: 0;\n\t\t\t\tleft: 12px;\n\t\t\t};\n\n\t\t\tlabel {\n\t\t\t\tmargin: {\n\t\t\t\t\tbottom: 0;\n\t\t\t\t};\n\t\t\t}\n\n\t\t\t.acf-tip {\n\t\t\t\tmargin: {\n\t\t\t\t\tleft: 12px;\n\t\t\t\t};\n\t\t\t}\n\n\t\t\t.description {\n\t\t\t\tdisplay: block;\n\t\t\t\tmargin: {\n\t\t\t\t\ttop: 2px;\n\t\t\t\t\tleft: 0;\n\t\t\t\t};\n\t\t\t}\n\t\t}\n\n\t}\n\n\t&.rtl {\n\n\t\t.acf-field-true-false {\n\n\t\t\t.acf-label {\n\t\t\t\tmargin: {\n\t\t\t\t\tright: 12px;\n\t\t\t\t\tleft: 0;\n\t\t\t\t};\n\t\t\t}\n\n\t\t\t.acf-tip {\n\t\t\t\tmargin: {\n\t\t\t\t\tright: 12px;\n\t\t\t\t\tleft: 0;\n\t\t\t\t};\n\t\t\t}\n\t\t}\n\t}\n\n\t/*---------------------------------------------------------------------------------------------\n\t*\n\t* File input button\n\t*\n\t*---------------------------------------------------------------------------------------------*/\n\n\tinput::file-selector-button {\n\t\tbox-sizing: border-box;\n\t\tmin-height: 40px;\n\t\tmargin: {\n\t\t\tright: 16px;\n\t\t};\n\t\tpadding: {\n\t\t\ttop: 8px;\n\t\t\tright: 16px;\n\t\t\tbottom: 8px;\n\t\t\tleft: 16px;\n\t\t};\n\t\tbackground-color: transparent;\n\t\tcolor: $color-primary !important;\n\t\tborder-radius: $radius-md;\n\t\tborder: {\n\t\t\twidth: 1px;\n\t\t\tstyle: solid;\n\t\t\tcolor: $color-primary;\n\t\t};\n\t\ttext-decoration: none;\n\n\t\t&:hover {\n\t\t\tborder-color: $color-primary-hover;\n\t\t\tcursor: pointer;\n\t\t\tcolor: $color-primary-hover !important;\n\t\t}\n\n\t}\n\n\n\t/*---------------------------------------------------------------------------------------------\n\t*\n\t* Action Buttons\n\t*\n\t*---------------------------------------------------------------------------------------------*/\n\t.button {\n\t\tdisplay: inline-flex;\n\t\talign-items: center;\n\t\theight: 40px;\n\t\tpadding: {\n\t\t\tright: 16px;\n\t\t\tleft: 16px;\n\t\t};\n\t\tbackground-color: transparent;\n\t\tborder-width: 1px;\n\t\tborder-style: solid;\n\t\tborder-color: $blue-500;\n\t\tborder-radius: $radius-md;\n\t\t@extend .p4;\n\t\tcolor: $blue-500;\n\n\t\t&:hover {\n\t\t\tbackground-color: lighten($blue-50, 2%);\n\t\t\tborder-color: $color-primary;\n\t\t\tcolor: $color-primary;\n\t\t}\n\n\t\t&:focus {\n\t\t\tbackground-color: lighten($blue-50, 2%);\n\t\t\toutline: $outline;\n\t\t\tcolor: $color-primary;\n\t\t}\n\n\t}\n\n\t/*---------------------------------------------------------------------------------------------\n\t*\n\t* Edit field group header\n\t*\n\t*---------------------------------------------------------------------------------------------*/\n\t.edit-field-group-header {\n\t\tdisplay: block !important;\n\t}\n\n\t/*---------------------------------------------------------------------------------------------\n\t*\n\t* Select2 inputs\n\t*\n\t*---------------------------------------------------------------------------------------------*/\n\t.acf-input,\n\t.rule-groups {\n\n\t\t.select2-container.-acf .select2-selection {\n\t\t\tborder: none;\n\t\t\tline-height: 1;\n\t\t}\n\n\t\t.select2-container.-acf .select2-selection__rendered {\n\t\t\tbox-sizing: border-box;\n\t\t\tpadding: {\n\t\t\t\tright: 0;\n\t\t\t\tleft: 0;\n\t\t\t};\n\t\t\tbackground-color: #fff;\n\t\t\tborder: {\n\t\t\t\twidth: 1px;\n\t\t\t\tstyle: solid;\n\t\t\t\tcolor: $gray-300;\n\t\t\t};\n\t\t\tbox-shadow: $elevation-01;\n\t\t\tborder-radius: $radius-md;\n\t\t\t/* stylelint-disable-next-line scss/at-extend-no-missing-placeholder */\n\t\t\t@extend .p4;\n\t\t\tcolor: $gray-700;\n\t\t}\n\n\t\t.acf-conditional-select-name {\n\t\t\tmin-width: 180px;\n\t\t\twhite-space: nowrap;\n\t\t\toverflow: hidden;\n\t\t\ttext-overflow: ellipsis;\n\t\t}\n\n\t\t.acf-conditional-select-id {\n\t\t\tpadding-right: 30px;\n\t\t}\n\n\t\t.value .select2-container--focus {\n\t\t\theight: 40px;\n\t\t}\n\n\t\t.value .select2-container--open .select2-selection__rendered {\n\t\t\tborder-color: $blue-400;\n\t\t}\n\n\t\t.select2-container--focus {\n\t\t\toutline: $outline;\n\t\t\tborder-color: $blue-400;\n\t\t\tborder-radius: $radius-md;\n\n\t\t\t.select2-selection__rendered {\n\t\t\t\tborder-color: $blue-400 !important;\n\t\t\t}\n\n\t\t\t&.select2-container--below.select2-container--open {\n\n\t\t\t\t.select2-selection__rendered {\n\t\t\t\t\tborder-bottom-right-radius: 0 !important;\n\t\t\t\t\tborder-bottom-left-radius: 0 !important;\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t\t&.select2-container--above.select2-container--open {\n\n\t\t\t\t.select2-selection__rendered {\n\t\t\t\t\tborder-top-right-radius: 0 !important;\n\t\t\t\t\tborder-top-left-radius: 0 !important;\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t}\n\n\t\t.select2-container .select2-search--inline .select2-search__field {\n\t\t\tmargin: 0;\n\t\t\tpadding: {\n\t\t\t\tleft: 6px;\n\t\t\t};\n\n\t\t\t&:focus {\n\t\t\t\toutline: none;\n\t\t\t\tborder: none;\n\t\t\t}\n\n\t\t}\n\n\t\t.select2-container--default .select2-selection--multiple .select2-selection__rendered {\n\t\t\tpadding: {\n\t\t\t\ttop: 0;\n\t\t\t\tright: 6px;\n\t\t\t\tbottom: 0;\n\t\t\t\tleft: 6px;\n\t\t\t};\n\t\t}\n\n\t\t.select2-selection__clear {\n\t\t\twidth: 18px;\n\t\t\theight: 18px;\n\t\t\tmargin: {\n\t\t\t\ttop: 12px;\n\t\t\t\tright: 1px;\n\t\t\t};\n\t\t\ttext-indent: 100%;\n\t\t\twhite-space: nowrap;\n\t\t\toverflow: hidden;\n\t\t\tcolor: #fff;\n\n\t\t\t&:before {\n\t\t\t\tcontent: '';\n\t\t\t\t$icon-size: 16px;\n\t\t\t\tdisplay: block;\n\t\t\t\twidth: $icon-size;\n\t\t\t\theight: $icon-size;\n\t\t\t\ttop: 0;\n\t\t\t\tleft: 0;\n\t\t\t\tborder: none;\n\t\t\t\tborder-radius: 0;\n\t\t\t\t-webkit-mask-size: contain;\n\t\t\t\tmask-size: contain;\n\t\t\t\t-webkit-mask-repeat: no-repeat;\n\t\t\t\tmask-repeat: no-repeat;\n\t\t\t\t-webkit-mask-position: center;\n\t\t\t\tmask-position: center;\n\t\t\t\t-webkit-mask-image: url('../../images/icons/icon-close.svg');\n\t\t\t\tmask-image: url('../../images/icons/icon-close.svg');\n\t\t\t\tbackground-color: $gray-400;\n\t\t\t}\n\n\t\t\t&:hover::before {\n\t\t\t\tbackground-color: $blue-500;\n\t\t\t}\n\t\t}\n\t}\n\n\t/*---------------------------------------------------------------------------------------------\n\t*\n\t* ACF label\n\t*\n\t*---------------------------------------------------------------------------------------------*/\n\t.acf-label {\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\tjustify-content: space-between;\n\n\t\t.acf-icon-help {\n\t\t\t$icon-size: 18px;\n\t\t\twidth: $icon-size;\n\t\t\theight: $icon-size;\n\t\t\tbackground-color: $gray-400;\n\t\t}\n\n\t\tlabel {\n\t\t\tmargin: {\n\t\t\t\tbottom: 0;\n\t\t\t};\n\t\t}\n\n\t\t.description {\n\t\t\tmargin: {\n\t\t\t\ttop: 2px;\n\t\t\t};\n\t\t}\n\n\t}\n\n\t/*---------------------------------------------------------------------------------------------\n\t*\n\t* Tooltip for field name field setting (result of a fix for keyboard navigation)\n\t*\n\t*---------------------------------------------------------------------------------------------*/\n\t.acf-field-setting-name .acf-tip {\n\t\tposition: absolute;\n\t\ttop: 0;\n\t\tleft: 654px;\n\t\tcolor: #98A2B3;\n\n\t\t@at-root .rtl#{&} {\n\t\t\tleft: auto;\n\t\t\tright: 654px;\n\t\t}\n\n\t\t.acf-icon-help {\n\t\t\twidth: 18px;\n\t\t\theight: 18px;\n\t\t}\n\t}\n\n\t/* Field Type Selection select2 */\n\t.acf-field-setting-type,\n\t.acf-field-permalink-rewrite,\n\t.acf-field-query-var,\n\t.acf-field-capability,\n\t.acf-field-parent-slug,\n\t.acf-field-data-storage,\n\t.acf-field-manage-terms,\n\t.acf-field-edit-terms,\n\t.acf-field-delete-terms,\n\t.acf-field-assign-terms,\n\t.acf-field-meta-box,\n\t.rule-groups {\n\n\t\t.select2-container.-acf {\n\t\t\tmin-height: 40px;\n\t\t}\n\n\t\t.select2-container--default .select2-selection--single {\n\n\t\t\t.select2-selection__rendered {\n\t\t\t\tdisplay: flex;\n\t\t\t\talign-items: center;\n\t\t\t\tposition: relative;\n\t\t\t\tz-index: 800;\n\t\t\t\tmin-height: 40px;\n\t\t\t\tpadding: {\n\t\t\t\t\ttop: 0;\n\t\t\t\t\tright: 12px;\n\t\t\t\t\tbottom: 0;\n\t\t\t\t\tleft: 12px;\n\t\t\t\t};\n\t\t\t}\n\n\t\t\t.field-type-icon {\n\t\t\t\ttop: auto;\n\t\t\t\twidth: 18px;\n\t\t\t\theight: 18px;\n\t\t\t\tmargin: {\n\t\t\t\t\tright: 2px;\n\t\t\t\t};\n\n\t\t\t\t&:before {\n\t\t\t\t\twidth: 9px;\n\t\t\t\t\theight: 9px;\n\t\t\t\t}\n\n\t\t\t}\n\t\t}\n\n\t\t.select2-container--open .select2-selection__rendered {\n\t\t\tborder-color: $blue-300 !important;\n\t\t\tborder-bottom-color: $gray-300 !important;\n\t\t}\n\n\t\t.select2-container--open.select2-container--below .select2-selection__rendered {\n\t\t\tborder-bottom-right-radius: 0 !important;\n\t\t\tborder-bottom-left-radius: 0 !important;\n\t\t}\n\n\t\t.select2-container--open.select2-container--above .select2-selection__rendered {\n\t\t\tborder-top-right-radius: 0 !important;\n\t\t\tborder-top-left-radius: 0 !important;\n\t\t\tborder-bottom-color: $blue-300 !important;\n\t\t\tborder-top-color: $gray-300 !important;\n\t\t}\n\n\t\t// icon margins\n\t\t.acf-selection.has-icon {\n\t\t\tmargin-left: 6px;\n\t\n\t\t\t@at-root .rtl#{&} {\n\t\t\t\tmargin-right: 6px;\n\t\t\t}\n\t\t}\n\t\t\n\t\t// Dropdown icon\n\t\t.select2-selection__arrow {\n\t\t\twidth: 20px;\n\t\t\theight: 20px;\n\t\t\ttop: calc(50% - 10px);\n\t\t\tright: 12px;\n\t\t\tbackground-color: transparent;\n\t\t\t\n\t\t\t&:after {\n\t\t\t\tcontent: \"\";\n\t\t\t\t$icon-size: 20px;\n\t\t\t\tdisplay: block;\n\t\t\t\tposition: absolute;\n\t\t\t\tz-index: 850;\n\t\t\t\ttop: 1px;\n\t\t\t\tleft: 0;\n\t\t\t\twidth: $icon-size;\n\t\t\t\theight: $icon-size;\n\t\t\t\t-webkit-mask-image: url(\"../../images/icons/icon-chevron-down.svg\");\n\t\t\t\tmask-image: url(\"../../images/icons/icon-chevron-down.svg\");\n\t\t\t\tbackground-color: $gray-500;\n\t\t\t\tborder: none;\n\t\t\t\tborder-radius: 0;\n\t\t\t\t-webkit-mask-size: contain;\n\t\t\t\tmask-size: contain;\n\t\t\t\t-webkit-mask-repeat: no-repeat;\n\t\t\t\tmask-repeat: no-repeat;\n\t\t\t\t-webkit-mask-position: center;\n\t\t\t\tmask-position: center;\n\t\t\t\ttext-indent: 500%;\n\t\t\t\twhite-space: nowrap;\n\t\t\t\toverflow: hidden;\n\t\t\t}\n\t\t\t\n\t\t\tb[role=\"presentation\"] {\n\t\t\t\tdisplay: none;\n\t\t\t}\n\t\t\t\n\t\t}\n\n\t\t// Open state\n\t\t.select2-container--open {\n\t\t\t\n\t\t\t// Swap chevron icon\n\t\t\t.select2-selection__arrow:after {\n\t\t\t\t-webkit-mask-image: url(\"../../images/icons/icon-chevron-up.svg\");\n\t\t\t\tmask-image: url(\"../../images/icons/icon-chevron-up.svg\");\n\t\t\t}\n\t\t\t\n\t\t}\n\n\t}\n\n\t.acf-term-search-term-name {\n\t\tbackground-color: $gray-50;\n\t\tborder-top: 1px solid $gray-200;\n\t\tborder-bottom: 1px solid $gray-200;\n\t\tcolor: $gray-400;\n\t\tpadding: 5px 5px 5px 10px;\n\t\twidth: 100%;\n\t\tmargin: 0;\n\t\tdisplay: block;\n\t\tfont-weight: 300;\n\t}\n\n\t.field-type-select-results {\n\t\tposition: relative;\n\t\ttop: 4px;\n\t\tz-index: 1002;\n\t\tborder-radius: 0 0 $radius-md $radius-md;\n\t\tbox-shadow: 0px 8px 24px 4px rgba(16, 24, 40, 0.12);\n\n\t\t&.select2-dropdown--above {\n\t\t\tdisplay: flex;\n\t\t\tflex-direction: column-reverse;\t \n\t\t\ttop: 0;\n\t\t\tborder-radius: $radius-md $radius-md 0 0;\n\t\t\tz-index: 99999;\n\t\t}\n\t\t\n\t\t@at-root .select2-container.select2-container--open#{&} {\n\t\t\t// outline: 3px solid $blue-50;\n\t\t\tbox-shadow: 0px 0px 0px 3px #EBF5FA, 0px 8px 24px 4px rgba(16, 24, 40, 0.12);\n\t\t}\n\n\t\t// icon margins\n\t\t.acf-selection.has-icon {\n\t\t\tmargin-left: 6px;\n\n\t\t\t@at-root .rtl#{&} {\n\t\t\t\tmargin-right: 6px;\n\t\t\t}\n\t\t}\n\n\t\t// Search field\n\t\t.select2-search {\n\t\t\tposition: relative;\n\t\t\tmargin: 0;\n\t\t\tpadding: 0;\n\n\t\t\t&--dropdown {\n\n\t\t\t\t&:after {\n\t\t\t\t\tcontent: \"\";\n\t\t\t\t\t$icon-size: 16px;\n\t\t\t\t\tdisplay: block;\n\t\t\t\t\tposition: absolute;\n\t\t\t\t\ttop: 12px;\n\t\t\t\t\tleft: 13px;\n\t\t\t\t\twidth: $icon-size;\n\t\t\t\t\theight: $icon-size;\n\t\t\t\t\t-webkit-mask-image: url(\"../../images/icons/icon-search.svg\");\n\t\t\t\t\tmask-image: url(\"../../images/icons/icon-search.svg\");\n\t\t\t\t\tbackground-color: $gray-400;\n\t\t\t\t\tborder: none;\n\t\t\t\t\tborder-radius: 0;\n\t\t\t\t\t-webkit-mask-size: contain;\n\t\t\t\t\tmask-size: contain;\n\t\t\t\t\t-webkit-mask-repeat: no-repeat;\n\t\t\t\t\tmask-repeat: no-repeat;\n\t\t\t\t\t-webkit-mask-position: center;\n\t\t\t\t\tmask-position: center;\n\t\t\t\t\ttext-indent: 500%;\n\t\t\t\t\twhite-space: nowrap;\n\t\t\t\t\toverflow: hidden;\n\n\t\t\t\t\t@at-root .rtl#{&} {\n\t\t\t\t\t\tright: 12px;\n\t\t\t\t\t\tleft: auto;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t.select2-search__field {\n\t\t\t\tpadding-left: 38px;\n\n\t\t\t\tborder-right: 0;\n\t\t\t\tborder-bottom: 0;\n\t\t\t\tborder-left: 0;\n\t\t\t\tborder-radius: 0;\n\n\t\t\t\t@at-root .rtl#{&} {\n\t\t\t\t\tpadding-right: 38px;\n\t\t\t\t\tpadding-left: 0;\n\t\t\t\t}\n\n\t\t\t\t&:focus {\n\t\t\t\t\tborder-top-color: $gray-300;\n\t\t\t\t\toutline: 0;\n\t\t\t\t}\n\t\t\t}\n\n\t\t}\n\n\t\t.select2-results__options {\n\t\t\tmax-height: 440px;\n\t\t}\n\t\t\n\t\t.select2-results__option {\n\n\t\t\t.select2-results__option--highlighted {\n\t\t\t\tbackground-color: $blue-500 !important;\n\t\t\t\tcolor: $gray-50 !important;\n\t\t\t}\n\t\t}\n\n\t\t// List items\n\t\t.select2-results__option .select2-results__option {\n\t\t\tdisplay: inline-flex;\n\t\t\tposition: relative;\n\t\t\twidth: calc(100% - 24px);\n\t\t\tmin-height: 32px;\n\t\t\tpadding: {\n\t\t\t\ttop: 0;\n\t\t\t\tright: 12px;\n\t\t\t\tbottom: 0;\n\t\t\t\tleft: 12px;\n\t\t\t}\n\t\t\talign-items: center;\n\t\t\t\n\t\t\t.field-type-icon {\n\t\t\t\ttop: auto;\n\t\t\t\twidth: 18px;\n\t\t\t\theight: 18px;\n\t\t\t\tmargin: {\n\t\t\t\t\tright: 2px;\n\t\t\t\t};\n\t\t\t\tbox-shadow: 0 0 0 1px $gray-50;\n\t\t\t\n\t\t\t\t&:before {\n\t\t\t\t\twidth: 9px;\n\t\t\t\t\theight: 9px;\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t}\n\n\t\t.select2-results__option[aria-selected=\"true\"] {\n\t\t\tbackground-color: $blue-50 !important;\n\t\t\tcolor: $gray-700 !important;\n\t\t\t\n\t\t\t&:after {\n\t\t\t\tcontent: \"\";\n\t\t\t\t$icon-size: 16px;\n\t\t\t\tright: 13px;\n\t\t\t\tposition: absolute;\n\t\t\t\twidth: $icon-size;\n\t\t\t\theight: $icon-size;\n\t\t\t\t-webkit-mask-image: url(\"../../images/icons/icon-check.svg\");\n\t\t\t\tmask-image: url(\"../../images/icons/icon-check.svg\");\n\t\t\t\tbackground-color: $blue-500;\n\t\t\t\tborder: none;\n\t\t\t\tborder-radius: 0;\n\t\t\t\t-webkit-mask-size: contain;\n\t\t\t\tmask-size: contain;\n\t\t\t\t-webkit-mask-repeat: no-repeat;\n\t\t\t\tmask-repeat: no-repeat;\n\t\t\t\t-webkit-mask-position: center;\n\t\t\t\tmask-position: center;\n\t\t\t\ttext-indent: 500%;\n\t\t\t\twhite-space: nowrap;\n\t\t\t\toverflow: hidden;\n\n\t\t\t\t@at-root .rtl#{&} {\n\t\t\t\t\tleft: 13px;\n\t\t\t\t\tright: auto;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t.select2-results__group {\n\t\t\tdisplay: inline-flex;\n\t\t\talign-items: center;\n\t\t\twidth: calc(100% - 24px);\n\t\t\tmin-height: 25px;\n\t\t\tbackground-color: $gray-50;\n\t\t\tborder-top: {\n\t\t\t\twidth: 1px;\n\t\t\t\tstyle: solid;\n\t\t\t\tcolor: $gray-200;\n\t\t\t};\n\t\t\tborder-bottom: {\n\t\t\t\twidth: 1px;\n\t\t\t\tstyle: solid;\n\t\t\t\tcolor: $gray-200;\n\t\t\t};\n\t\t\tcolor: $gray-400;\n\t\t\tfont-size: 11px;\n\t\t\tmargin: {\n\t\t\t\tbottom: 0;\n\t\t\t};\n\t\t\tpadding: {\n\t\t\t\ttop: 0;\n\t\t\t\tright: 12px;\n\t\t\t\tbottom: 0;\n\t\t\t\tleft: 12px;\n\t\t\t};\n\t\t\tfont-weight: normal;\n\t\t}\n\t}\n\t\n\t/*---------------------------------------------------------------------------------------------\n\t*\n\t* RTL arrow position\n\t*\n\t*---------------------------------------------------------------------------------------------*/\n\t&.rtl {\n\n\t\t.acf-field-setting-type,\n\t\t.acf-field-permalink-rewrite,\n\t\t.acf-field-query-var {\n\n\t\t\t.select2-selection__arrow:after {\n\t\t\t\tright: auto;\n\t\t\t\tleft: 10px;\n\t\t\t}\n\t\t}\n\t}\n}\n\n.rtl.post-type-acf-field-group,\n.rtl.acf-internal-post-type {\n\n\t.acf-field-setting-name .acf-tip {\n\t\tleft: auto;\n\t\tright: 654px;\n\t}\n}","/*---------------------------------------------------------------------------------------------\n*\n* Field Groups\n*\n*---------------------------------------------------------------------------------------------*/\n.acf-internal-post-type {\n\n\t// Hide tablenav top.\n\t.tablenav.top {\n\t\tdisplay: none;\n\t}\n\n\t// Fix margin due to hidden tablenav.\n\t.subsubsub {\n\t\tmargin-bottom: 3px;\n\t}\n\n\t// table.\n\t.wp-list-table {\n\t\tmargin: {\n\t\t\ttop: 0;\n\t\t\tright: 0;\n\t\t\tbottom: 0;\n\t\t\tleft: 0;\n\t\t}\n\t\tborder-radius: $radius-lg;\n\t\tborder: none;\n\t\toverflow: hidden;\n\t\tbox-shadow: $elevation-01;\n\n\t\tstrong {\n\t\t\tcolor: $gray-400;\n\t\t\tmargin: 0;\n\t\t}\n\n\t\ta.row-title {\n\t\t\tfont-size: 13px !important;\n\t\t\tfont-weight: 500;\n\t\t}\n\n\t\tth,\n\t\ttd {\n\t\t\tcolor: $gray-700;\n\n\t\t\t&.sortable a {\n\t\t\t\tpadding: 0;\n\t\t\t}\n\n\t\t\t&.check-column {\n\t\t\t\tpadding: {\n\t\t\t\t\ttop: 12px;\n\t\t\t\t\tright: 16px;\n\t\t\t\t\tleft: 16px;\n\t\t\t\t};\n\n\t\t\t\t@media screen and (max-width: $md) {\n\t\t\t\t\tvertical-align: top;\n\t\t\t\t\tpadding: {\n\t\t\t\t\t\tright: 2px;\n\t\t\t\t\t\tleft: 10px;\n\t\t\t\t\t};\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t\tinput {\n\t\t\t\tmargin: 0;\n\t\t\t\tpadding: 0;\n\t\t\t}\n\n\t\t\t.acf-more-items {\n\t\t\t\tdisplay: inline-flex;\n\t\t\t\tflex-direction: row;\n\t\t\t\tjustify-content: center;\n\t\t\t\talign-items: center;\n\t\t\t\tpadding: 0px 6px 1px;\n\t\t\t\tgap: 8px;\n\t\t\t\twidth: 25px;\n\t\t\t\theight: 16px;\n\t\t\t\tbackground: $gray-200;\n\t\t\t\tborder-radius: 100px;\n\t\t\t\tfont-weight: 400;\n\t\t\t\tfont-size: 10px;\n\t\t\t\tcolor: $gray-600;\n\t\t\t}\n\n\t\t\t.acf-emdash {\n\t\t\t\tcolor: $gray-300;\n\t\t\t}\n\t\t}\n\n\t\t// Table headers\n\t\tthead th, thead td,\n\t\ttfoot th, tfoot td {\n\t\t\theight: 48px;\n\t\t\tpadding: {\n\t\t\t\tright: 24px;\n\t\t\t\tleft: 24px;\n\t\t\t};\n\t\t\tbox-sizing: border-box;\n\t\t\tbackground-color: $gray-50;\n\t\t\tborder-color: $gray-200;\n\t\t\t@extend .p4;\n\t\t\tfont-weight: 500;\n\n\t\t\t@media screen and (max-width: $md) {\n\t\t\t\tpadding: {\n\t\t\t\t\tright: 16px;\n\t\t\t\t\tleft: 8px;\n\t\t\t\t};\n\t\t\t}\n\n\t\t\t&.check-column {\n\t\t\t\t@media screen and (max-width: $md) {\n\t\t\t\t\tvertical-align: middle;\n\t\t\t\t}\n\t\t\t}\n\n\t\t}\n\n\t\t// Table body\n\t\ttbody th,\n\t\ttbody td {\n\t\t\tbox-sizing: border-box;\n\t\t\theight: 60px;\n\t\t\tpadding: {\n\t\t\t\ttop: 10px;\n\t\t\t\tright: 24px;\n\t\t\t\tbottom: 10px;\n\t\t\t\tleft: 24px;\n\t\t\t};\n\t\t\tvertical-align: top;\n\t\t\tbackground-color: #fff;\n\t\t\tborder-bottom: {\n\t\t\t\twidth: 1px;\n\t\t\t\tcolor: $gray-200;\n\t\t\t\tstyle: solid;\n\t\t\t};\n\t\t\t@extend .p4;\n\n\t\t\t@media screen and (max-width: $md) {\n\t\t\t\tpadding: {\n\t\t\t\t\tright: 16px;\n\t\t\t\t\tleft: 8px;\n\t\t\t\t};\n\t\t\t}\n\n\t\t}\n\n\t\t.column-acf-key {\n\t\t\twhite-space: nowrap;\n\t\t}\n\n\t\t// SVG icons\n\t\t.column-acf-key .acf-icon-key-solid {\n\t\t\tdisplay: inline-block;\n\t\t\tposition: relative;\n\t\t\tbottom: -2px;\n\t\t\twidth: 15px;\n\t\t\theight: 15px;\n\t\t\tmargin: {\n\t\t\t\tright: 4px;\n\t\t\t};\n\t\t\tcolor: $gray-400;\n\t\t}\n\n\t\t// Post location icon\n\t\t.acf-location .dashicons {\n\t\t\tposition: relative;\n\t\t\tbottom: -2px;\n\t\t\twidth: 16px;\n\t\t\theight: 16px;\n\t\t\tmargin: {\n\t\t\t\tright: 6px;\n\t\t\t};\n\t\t\tfont-size: 16px;\n\t\t\tcolor: $gray-400;\n\t\t}\n\n\t\t.post-state {\n\t\t\t@extend .p3;\n\t\t\tcolor: $gray-500;\n\t\t}\n\n\t\t// Add subtle hover background to define row.\n\t\ttr:hover,\n\t\ttr:focus-within {\n\t\t\tbackground: #f7f7f7;\n\n\t\t\t.row-actions {\n\t\t\t\tmargin: {\n\t\t\t\t\tbottom: 0;\n\t\t\t\t};\n\t\t\t};\n\n\t\t}\n\n\t\t// Use less specific identifier to inherit mobile styling.\n\t\t@media screen and ( min-width: 782px ) {\n\t\t\t.column-acf-count { width: 10%; }\n\t\t}\n\n\t\t.row-actions {\n\t\t\tspan.file {\n\t\t\t\tdisplay: block;\n\t\t\t\toverflow: hidden;\n\t\t\t\twhite-space: nowrap;\n\t\t\t\ttext-overflow: ellipsis;\n\t\t\t}\n\t\t}\n\t}\n\n\t&.rtl {\n\t\t.wp-list-table {\n\t\t\t.column-acf-key .acf-icon-key-solid {\n\t\t\t\tmargin: {\n\t\t\t\t\tleft: 4px;\n\t\t\t\t\tright: 0;\n\t\t\t\t};\n\t\t\t}\n\n\t\t\t.acf-location .dashicons {\n\t\t\t\tmargin: {\n\t\t\t\t\tleft: 6px;\n\t\t\t\t\tright: 0;\n\t\t\t\t};\n\t\t\t}\n\t\t}\n\t}\n\n\t// Actions\n\t.row-actions {\n\t\tmargin: {\n\t\t\ttop: 2px;\n\t\t};\n\t\tpadding: {\n\t\t\ttop: 0;\n\t\t\tright: 0;\n\t\t\tbottom: 0;\n\t\t\tleft: 0;\n\t\t}\n\t\t@extend .p5;\n\t\tline-height: 14px;\n\t\tcolor: $gray-300;\n\n\t\t.trash a {\n\t\t\tcolor: $acf_error;\n\t\t}\n\n\t}\n\n\n\t// Remove padding from checkbox column\n\t.widefat thead td.check-column,\n\t.widefat tfoot td.check-column {\n\t\tpadding: {\n\t\t\ttop: 0;\n\t\t};\n\t}\n\n}\n\n/*--------------------------------------------------------------------------------------------\n*\n*\tRow actions\n*\n*--------------------------------------------------------------------------------------------*/\n.acf-internal-post-type {\n\n\t.row-actions {\n\t\t@extend .p6;\n\n\t\ta:hover {\n\t\t\tcolor: darken($color-primary-hover, 10%);\n\t\t}\n\n\t\t.trash a {\n\t\t\tcolor: #a00;\n\t\t\t&:hover { color: #f00; }\n\t\t}\n\n\t\t&.visible {\n\t\t\tmargin: {\n\t\t\t\tbottom: 0;\n\t\t\t};\n\t\t\topacity: 1;\n\t\t}\n\n\t}\n\n}\n\n\n/*--------------------------------------------------------------------------------------------\n*\n*\tRow hover\n*\n*--------------------------------------------------------------------------------------------*/\n.acf-internal-post-type {\n\n\t#the-list tr:hover td,\n\t#the-list tr:hover th {\n\t\tbackground-color: lighten($blue-50, 3%);\n\t}\n\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* Table Nav\n*\n*---------------------------------------------------------------------------------------------*/\n.acf-internal-post-type {\n\n\t.tablenav {\n\t\tmargin: {\n\t\t\ttop: 24px;\n\t\t\tright: 0;\n\t\t\tbottom: 0;\n\t\t\tleft: 0;\n\t\t};\n\t\tpadding: {\n\t\t\ttop: 0;\n\t\t\tright: 0;\n\t\t\tbottom: 0;\n\t\t\tleft: 0;\n\t\t};\n\t\tcolor: $gray-500;\n\t}\n\n}\n\n/*--------------------------------------------------------------------------------------------\n*\n*\tSearch box\n*\n*--------------------------------------------------------------------------------------------*/\n.acf-internal-post-type #posts-filter p.search-box {\n\tmargin: {\n\t\ttop: 5px;\n\t\tright: 0;\n\t\tbottom: 24px;\n\t\tleft: 0;\n\t};\n\n\t#post-search-input {\n\t\tmin-width: 280px;\n\t\tmargin: {\n\t\t\ttop: 0;\n\t\t\tright: 8px;\n\t\t\tbottom: 0;\n\t\t\tleft: 0;\n\t\t};\n\t}\n\n\t@media screen and (max-width: 768px) {\n\t\tdisplay: flex;\n\t\tbox-sizing: border-box;\n\t\tpadding-right: 24px;\n\t\tmargin-right: 16px;\n\t\tposition: inherit;\n\n\t\t#post-search-input {\n\t\t\tmin-width: auto;\n\t\t}\n\n\t}\n\n}\n\n.rtl.acf-internal-post-type #posts-filter p.search-box {\n\t#post-search-input {\n\t\tmargin: {\n\t\t\tright: 0;\n\t\t\tleft: 8px;\n\t\t};\n\t}\n\n\t@media screen and (max-width: 768px) {\n\t\tpadding-left: 24px;\n\t\tpadding-right: 0;\n\t\tmargin-left: 16px;\n\t\tmargin-right: 0;\n\t}\n}\n\n/*--------------------------------------------------------------------------------------------\n*\n*\tStatus tabs\n*\n*--------------------------------------------------------------------------------------------*/\n.acf-internal-post-type .subsubsub {\n\tdisplay: flex;\n\talign-items: flex-end;\n\theight: 40px;\n\tmargin: {\n\t\tbottom: 16px;\n\t};\n\n\tli {\n\t\tmargin: {\n\t\t\ttop: 0;\n\t\t\tright: 4px;\n\t\t};\n\t\tcolor: $gray-400;\n\t\t@extend .p4;\n\n\t\t.count {\n\t\t\tcolor: $gray-500;\n\t\t}\n\n\t}\n\n}\n\n/*--------------------------------------------------------------------------------------------\n*\n*\tPagination\n*\n*--------------------------------------------------------------------------------------------*/\n.acf-internal-post-type {\n\n\t.tablenav-pages {\n\t\tdisplay: flex;\n\t\talign-items: center;\n\n\t\t&.no-pages{\n\t\t\tdisplay: none;\n\t\t}\n\n\t\t.displaying-num {\n\t\t\tmargin: {\n\t\t\t\ttop: 0;\n\t\t\t\tright: 16px;\n\t\t\t\tbottom: 0;\n\t\t\t\tleft: 0;\n\t\t\t};\n\t\t}\n\n\t\t.pagination-links {\n\t\t\tdisplay: flex;\n\t\t\talign-items: center;\n\n\t\t\t#table-paging {\n\t\t\t\tmargin: {\n\t\t\t\t\ttop: 0;\n\t\t\t\t\tright: 4px;\n\t\t\t\t\tbottom: 0;\n\t\t\t\t\tleft: 8px;\n\t\t\t\t};\n\n\t\t\t\t.total-pages {\n\t\t\t\t\tmargin: {\n\t\t\t\t\t\tright: 0;\n\t\t\t\t\t};\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t}\n\n\t\t// Hide pagination if there's only 1 page\n\t\t&.one-page .pagination-links {\n\t\t\tdisplay: none;\n\t\t}\n\n\t}\n\n}\n\n/*--------------------------------------------------------------------------------------------\n*\n*\tPagination buttons & icons\n*\n*--------------------------------------------------------------------------------------------*/\n.acf-internal-post-type .tablenav-pages .pagination-links .button {\n\tdisplay: inline-flex;\n\talign-items: center;\n\talign-content: center;\n\tjustify-content: center;\n\tmin-width: 40px;\n\tmargin: {\n\t\ttop: 0;\n\t\tright: 0;\n\t\tbottom: 0;\n\t\tleft: 0;\n\t};\n\tpadding: {\n\t\ttop: 0;\n\t\tright: 0;\n\t\tbottom: 0;\n\t\tleft: 0;\n\t};\n\tbackground-color: transparent;\n\n\t// Pagination Buttons\n\t&:nth-child(1),\n\t&:nth-child(2),\n\t&:last-child,\n\t&:nth-last-child(2) {\n\t\tdisplay: inline-block;\n\t\tposition: relative;\n\t\ttext-indent: 100%;\n\t\twhite-space: nowrap;\n\t\toverflow: hidden;\n\t\tmargin: {\n\t\t\tleft: 4px;\n\t\t}\n\n\t\t// Pagination Button Icons\n\t\t&:before {\n\t\t\t$icon-size: 20px;\n\t\t\tcontent: \"\";\n\t\t\tdisplay: block;\n\t\t\tposition: absolute;\n\t\t\twidth: 100%;\n\t\t\theight: 100%;\n\t\t\ttop: 0;\n\t\t\tleft: 0;\n\t\t\t$icon-size: $icon-size;\n\t\t\tbackground-color: $link-color;\n\t\t\tborder-radius: 0;\n\t\t\t-webkit-mask-size: $icon-size;\n\t\t\tmask-size: $icon-size;\n\t\t\t-webkit-mask-repeat: no-repeat;\n\t\t\tmask-repeat: no-repeat;\n\t\t\t-webkit-mask-position: center;\n\t\t\tmask-position: center;\n\t\t}\n\n\t}\n\n\t// First Page Icon\n\t&:nth-child(1):before {\n\t\t-webkit-mask-image: url('../../images/icons/icon-chevron-left-double.svg');\n\t\tmask-image: url('../../images/icons/icon-chevron-left-double.svg');\n\t}\n\n\t// Previous Page Icon\n\t&:nth-child(2):before {\n\t\t-webkit-mask-image: url('../../images/icons/icon-chevron-left.svg');\n\t\tmask-image: url('../../images/icons/icon-chevron-left.svg');\n\t}\n\n\t// Next Page Icon\n\t&:nth-last-child(2):before {\n\t\t-webkit-mask-image: url('../../images/icons/icon-chevron-right.svg');\n\t\tmask-image: url('../../images/icons/icon-chevron-right.svg');\n\t}\n\n\t// Last Page Icon\n\t&:last-child:before {\n\t\t-webkit-mask-image: url('../../images/icons/icon-chevron-right-double.svg');\n\t\tmask-image: url('../../images/icons/icon-chevron-right-double.svg');\n\t}\n\n\t// Pagination Button Hover State\n\t&:hover {\n\t\tborder-color: $blue-600;\n\t\tbackground-color: rgba($link-color, .05);\n\n\t\t&:before {\n\t\t\tbackground-color: $blue-600;\n\t\t}\n\n\t}\n\n\t// Pagination Button Disabled State\n\t&.disabled {\n\t\tbackground-color: transparent !important;\n\n\t\t&.disabled:before {\n\t\t\tbackground-color: $gray-300;\n\t\t}\n\n\t}\n\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* Empty state\n*\n*---------------------------------------------------------------------------------------------*/\n.acf-no-field-groups-wrapper,\n.acf-no-taxonomies-wrapper,\n.acf-no-post-types-wrapper,\n.acf-no-options-pages-wrapper,\n.acf-options-preview-wrapper {\n\tdisplay: flex;\n\tjustify-content: center;\n\tpadding: {\n\t\ttop: 48px;\n\t\tbottom: 48px;\n\t};\n\n\t.acf-no-field-groups-inner,\n\t.acf-no-taxonomies-inner,\n\t.acf-no-post-types-inner,\n\t.acf-no-options-pages-inner,\n\t.acf-options-preview-inner {\n\t\tdisplay: flex;\n\t\tflex-wrap: wrap;\n\t\tjustify-content: center;\n\t\talign-content: center;\n\t\talign-items: flex-start;\n\t\ttext-align: center;\n\t\tmax-width: 420px;\n\t\tmin-height: 320px;\n\n\t\timg,\n\t\th2,\n\t\tp {\n\t\t\tflex: 1 0 100%;\n\t\t}\n\n\t\th2 {\n\t\t\t@extend .acf-h2;\n\t\t\tmargin: {\n\t\t\t\ttop: 32px;\n\t\t\t\tbottom: 0;\n\t\t\t};\n\t\t\tpadding: 0;\n\t\t\tcolor: $gray-700;\n\t\t\tline-height: 1.6rem;\n\t\t}\n\n\t\tp {\n\t\t\t@extend .p2;\n\t\t\tmargin: {\n\t\t\t\ttop: 12px;\n\t\t\t\tbottom: 0;\n\t\t\t};\n\t\t\tpadding: 0;\n\t\t\tcolor: $gray-500;\n\n\t\t\t&.acf-small {\n\t\t\t\tdisplay: block;\n\t\t\t\tposition: relative;\n\t\t\t\tmargin: {\n\t\t\t\t\ttop: 32px;\n\t\t\t\t};\n\t\t\t\t@extend .p6;\n\t\t\t}\n\n\t\t}\n\n\n\t\timg {\n\t\t\tmax-width: 284px;\n\t\t\tmargin: {\n\t\t\t\tbottom: 0;\n\t\t\t};\n\t\t}\n\n\t\t.acf-btn {\n\t\t\tmargin: {\n\t\t\t\ttop: 32px;\n\t\t\t};\n\t\t}\n\n\t}\n\n\t.acf-no-post-types-inner,\n\t.acf-no-options-pages-inner {\n\t\timg {\n\t\t\twidth: 106px;\n\t\t\theight: 88px;\n\t\t}\n\t}\n\n\t.acf-no-taxonomies-inner {\n\t\timg {\n\t\t\twidth: 98px;\n\t\t\theight: 88px;\n\t\t}\n\t}\n\n};\n\n.acf-no-field-groups,\n.acf-no-post-types,\n.acf-no-taxonomies,\n.acf-no-options-pages {\n\n\t#the-list tr:hover td,\n\t#the-list tr:hover th,\n\t.acf-admin-field-groups .wp-list-table tr:hover,\n\t.striped > tbody > :nth-child(odd), ul.striped > :nth-child(odd), .alternate {\n\t\tbackground-color: transparent !important;\n\t}\n\n\t.wp-list-table {\n\n\t\tthead,\n\t\ttfoot {\n\t\t\tdisplay: none;\n\t\t}\n\n\t\ta.acf-btn {\n\t\t\tborder: 1px solid rgba(0, 0, 0, 0.16);\n\t\t\tbox-shadow: none;\n\t\t}\n\n\t}\n\n}\n\n.acf-internal-post-type #the-list .no-items td {\n\tvertical-align: middle;\n}\n\n\n/*---------------------------------------------------------------------------------------------\n*\n* Options Page Preview\n*\n*---------------------------------------------------------------------------------------------*/\n.acf-options-preview,\n.acf-no-options-pages-wrapper {\n\t.acf-btn {\n\t\tmargin: {\n\t\t\tleft: 8px;\n\t\t};\n\t};\n\n\t.disabled {\n\t\tbackground-color: $gray-100 !important;\n\t\tcolor: $gray-400 !important;\n\t\tborder: 1px $gray-300 solid;\n\t\tcursor: default !important;\n\t}\n\n\t.acf-options-pages-preview-upgrade-button {\n\t\theight: 48px;\n\t\tpadding: 8px 48px 8px 48px !important;\n\t\tborder: none !important;\n\t\tgap: 6px;\n\t\tdisplay: inline-flex;\n\t\talign-items: center;\n\t\talign-self: stretch;\n\t\tbackground: $gradient-pro;\n\t\tborder-radius: $radius-md;\n\t\ttext-decoration: none;\n\n\t\t&:focus {\n\t\t\tborder: none;\n\t\t\toutline: none;\n\t\t\tbox-shadow: none;\n\t\t}\n\n\t\tp {\n\t\t\tmargin: 0;\n\t\t\tpadding: {\n\t\t\t\ttop: 8px;\n\t\t\t\tbottom: 8px;\n\t\t\t}\n\t\t\t@extend .p4;\n\t\t\tfont-weight: normal;\n\t\t\ttext-transform: none;\n\t\t\tcolor: #fff;\n\t\t}\n\n\t\t.acf-icon {\n\t\t\t$icon-size: 20px;\n\t\t\twidth: $icon-size;\n\t\t\theight: $icon-size;\n\t\t\tmargin: {\n\t\t\t\tright: 6px;\n\t\t\t\tleft: -2px;\n\t\t\t};\n\t\t\tbackground-color: $gray-50;\n\t\t}\n\t}\n\n\t.acf-ui-options-page-pro-features-actions a.acf-btn i {\n\t\tmargin-right: -2px !important;\n\t\tmargin-left: 0px !important;\n\t}\n\n\t.acf-pro-label {\n\t\tvertical-align: middle;\n\t}\n\n\t.acf_options_preview_wrap {\n\t\timg {\n\t\t\tmax-height: 88px;\n\t\t}\n\t}\n\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* Small screen list table info toggle\n*\n*---------------------------------------------------------------------------------------------*/\n.acf-internal-post-type {\n\n\t.wp-list-table .toggle-row:before {\n\t\ttop: 4px;\n\t\tleft: 16px;\n\t\tborder-radius: 0;\n\t\t$icon-size: 20px;\n\t\tcontent: \"\";\n\t\tdisplay: block;\n\t\tposition: absolute;\n\t\twidth: 16px;\n\t\theight: 16px;\n\t\t$icon-size: $icon-size;\n\t\tbackground-color: $link-color;\n\t\tborder-radius: 0;\n\t\t-webkit-mask-size: $icon-size;\n\t\tmask-size: $icon-size;\n\t\t-webkit-mask-repeat: no-repeat;\n\t\tmask-repeat: no-repeat;\n\t\t-webkit-mask-position: center;\n\t\tmask-position: center;\n\t\t-webkit-mask-image: url('../../images/icons/icon-chevron-down.svg');\n\t\tmask-image: url('../../images/icons/icon-chevron-down.svg');\n\t\ttext-indent: 100%;\n\t\twhite-space: nowrap;\n\t\toverflow: hidden;\n\t}\n\n\t.wp-list-table .is-expanded .toggle-row:before {\n\t\t-webkit-mask-image: url('../../images/icons/icon-chevron-up.svg');\n\t\tmask-image: url('../../images/icons/icon-chevron-up.svg');\n\t}\n\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* Small screen checkbox\n*\n*---------------------------------------------------------------------------------------------*/\n.acf-internal-post-type {\n\n\t@media screen and (max-width: $md) {\n\n\t\t.widefat th input[type=\"checkbox\"],\n\t\t.widefat thead td input[type=\"checkbox\"],\n\t\t.widefat tfoot td input[type=\"checkbox\"] {\n\t\t\tmargin-bottom: 0;\n\t\t}\n\n\t}\n\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* Invalid license states\n*\n*---------------------------------------------------------------------------------------------*/\n.acf-internal-post-type {\n\t&.acf-pro-inactive-license {\n\t\t&.acf-admin-options-pages {\n\t\t\t.row-title {\n\t\t\t\tcolor: $gray-500;\n\t\t\t\tpointer-events: none;\n\t\t\t\tdisplay: inline-flex;\n\t\t\t\tvertical-align: middle;\n\t\t\t\tgap: 6px;\n\n\t\t\t\t&:before {\n\t\t\t\t\tcontent: \"\";\n\t\t\t\t\twidth: 16px;\n\t\t\t\t\theight: 16px;\n\t\t\t\t\tbackground-color: $gray-500;\n\t\t\t\t\tdisplay: inline-block;\n\t\t\t\t\talign-self: center;\n\t\t\t\t\t-webkit-mask-image: url(\"../../images/icons/icon-lock.svg\");\n\t\t\t\t\tmask-image: url(\"../../images/icons/icon-lock.svg\");\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t.row-actions {\n\t\t\t\tdisplay: none;\n\t\t\t}\n\n\t\t\t.column-title .acf-js-tooltip {\n\t\t\t\tdisplay: inline-block;\n\t\t\t}\n\t\t}\n\n\t\ttr.acf-has-block-location {\n\t\t\t.row-title {\n\t\t\t\tcolor: $gray-500;\n\t\t\t\tpointer-events: none;\n\t\t\t\tdisplay: inline-flex;\n\t\t\t\tvertical-align: middle;\n\t\t\t\tgap: 6px;\n\n\t\t\t\t&:before {\n\t\t\t\t\tcontent: \"\";\n\t\t\t\t\twidth: 16px;\n\t\t\t\t\theight: 16px;\n\t\t\t\t\tbackground-color: $gray-500;\n\t\t\t\t\tdisplay: inline-block;\n\t\t\t\t\talign-self: center;\n\t\t\t\t\t-webkit-mask-image: url(\"../../images/icons/icon-lock.svg\");\n\t\t\t\t\tmask-image: url(\"../../images/icons/icon-lock.svg\");\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t.acf-count a {\n\t\t\t\tcolor: $gray-500;\n\t\t\t\tpointer-events: none;\n\t\t\t}\n\n\t\t\t.row-actions {\n\t\t\t\tdisplay: none;\n\t\t\t}\n\n\t\t\t.column-title .acf-js-tooltip {\n\t\t\t\tdisplay: inline-block;\n\t\t\t}\n\t\t}\n\t}\n}\n","/*---------------------------------------------------------------------------------------------\n*\n* Admin Navigation\n*\n*---------------------------------------------------------------------------------------------*/\n.acf-admin-toolbar {\n\tposition: unset;\n\ttop: 32px;\n\theight: 72px;\n\tz-index: 800;\n\tbackground: $gray-700;\n\tcolor: $gray-400;\n\n\t.acf-admin-toolbar-inner {\n\t\tdisplay: flex;\n\t\tjustify-content: space-between;\n\t\talign-content: center;\n\t\talign-items: center;\n\t\tmax-width: 100%;\n\n\t\t.acf-nav-wrap {\n\t\t\tdisplay: flex;\n\t\t\talign-items: center;\n\n\t\t\tposition: relative;\n\t\t\tpadding-left: 72px;\n\n\t\t\t@media screen and (max-width: 1250px) {\n\t\t\t\t.acf-header-tab-acf-post-type,\n\t\t\t\t.acf-header-tab-acf-taxonomy {\n\t\t\t\t\tdisplay: none;\n\t\t\t\t}\n\n\t\t\t\t.acf-more {\n\t\t\t\t\t.acf-header-tab-acf-post-type,\n\t\t\t\t\t.acf-header-tab-acf-taxonomy {\n\t\t\t\t\t\tdisplay: flex;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t}\n\t\t\n\t\t.acf-nav-upgrade-wrap {\n\t\t\tdisplay: flex;\n\t\t\talign-items: center;\n\t\t}\n\n\t\t.acf-nav-wpengine-logo {\n\t\t\tdisplay: inline-flex;\n\t\t\tmargin-left: 24px;\n\n\t\t\timg {\n\t\t\t\theight: 20px;\n\t\t\t}\n\n\t\t\t@media screen and (max-width: 1000px) {\n\t\t\t\tdisplay: none;\n\t\t\t}\n\t\t}\n\t}\n\n\t@media screen and (max-width: $md) {\n\t\tposition: static;\n\t}\n\n\t.acf-logo {\n\t\tdisplay: flex;\n\t\tmargin: {\n\t\t\tright: 24px;\n\t\t}\n\t\ttext-decoration: none;\n\n\t\tposition: absolute;\n\t\ttop: 0;\n\t\tleft: 0;\n\n\t\timg {\n\t\t\tdisplay: block;\n\t\t}\n\n\t\t&.pro img {\n\t\t\theight: 46px;\n\t\t}\n\t}\n\n\th2 {\n\t\tdisplay: none;\n\t\tcolor: $gray-50;\n\t}\n\n\t.acf-tab {\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\tbox-sizing: border-box;\n\t\tmin-height: 40px;\n\t\tmargin: {\n\t\t\tright: 8px;\n\t\t}\n\t\tpadding: {\n\t\t\ttop: 8px;\n\t\t\tright: 16px;\n\t\t\tbottom: 8px;\n\t\t\tleft: 16px;\n\t\t}\n\t\tborder: {\n\t\t\twidth: 1px;\n\t\t\tstyle: solid;\n\t\t\tcolor: transparent;\n\t\t}\n\t\tborder-radius: $radius-md;\n\t\t@extend .p4;\n\t\tcolor: $gray-400;\n\t\ttext-decoration: none;\n\n\t\t&.is-active {\n\t\t\tbackground-color: $gray-600;\n\t\t\tcolor: #fff;\n\t\t}\n\t\t&:hover {\n\t\t\tbackground-color: $gray-600;\n\t\t\tcolor: $gray-50;\n\t\t}\n\t\t&:focus-visible {\n\t\t\tborder: {\n\t\t\t\twidth: 1px;\n\t\t\t\tstyle: solid;\n\t\t\t\tcolor: $gray-500;\n\t\t\t}\n\t\t}\n\t\t&:focus {\n\t\t\tbox-shadow: none;\n\t\t}\n\t}\n\n\t.acf-more {\n\t\t&:hover {\n\t\t\t.acf-tab.acf-more-tab {\n\t\t\t\tbackground-color: $gray-600;\n\t\t\t\tcolor: $gray-50;\n\t\t\t}\n\t\t}\n\t\t\n\t\tul {\n\t\t\tdisplay: none;\n\t\t\tposition: absolute;\n\t\t\tbox-sizing: border-box;\n\t\t\tbackground: #fff;\n\t\t\tz-index: 1051;\n\t\t\toverflow: hidden;\n\t\t\tmin-width: 280px;\n\t\t\tmargin: {\n\t\t\t\ttop: 0;\n\t\t\t\tright: 0;\n\t\t\t\tbottom: 0;\n\t\t\t\tleft: 0;\n\t\t\t};\n\t\t\tpadding: 0;\n\t\t\tborder-radius: $radius-lg;\n\t\t\tbox-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.04), 0px 8px 23px rgba(0, 0, 0, 0.12);\n\t\t\t\n\t\t\t.acf-wp-engine {\n\t\t\t\tdisplay: flex;\n\t\t\t\talign-items: center;\n\t\t\t\tjustify-content: space-between;\n\t\t\t\tmin-height: 48px;\n\t\t\t\tborder-top: 1px solid rgba(0, 0, 0, 0.08);\n\t\t\t\tbackground: #ECFBFC;\n\t\t\t\t\n\t\t\t\ta {\n\t\t\t\t\tdisplay: flex;\n\t\t\t\t\twidth: 100%;\n\t\t\t\t\tjustify-content: space-between;\n\t\t\t\t\tborder-top: none;\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\n\t\t\tli {\n\t\t\t\tmargin: 0;\n\t\t\t\tpadding: 0 16px;\n\n\t\t\t\t.acf-header-tab-acf-post-type,\n\t\t\t\t.acf-header-tab-acf-taxonomy {\n\t\t\t\t\tdisplay: none;\n\t\t\t\t}\n\n\t\t\t\t&.acf-more-section-header {\n\t\t\t\t\tbackground: $gray-50;\n\t\t\t\t\tpadding: 1px 0 0 0;\n\t\t\t\t\tmargin-top: -1px;\n\t\t\t\t\tborder-top: 1px solid $gray-200;\n\t\t\t\t\tborder-bottom: 1px solid $gray-200;\n\n\t\t\t\t\tspan {\n\t\t\t\t\t\tcolor: $gray-600;\n\t\t\t\t\t\tfont-size: 12px;\n\t\t\t\t\t\tfont-weight: bold;\n\n\t\t\t\t\t\t&:hover {\n\t\t\t\t\t\t\tbackground: $gray-50;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\t// Links\n\t\t\t\ta {\n\t\t\t\t\tmargin: 0;\n\t\t\t\t\tpadding: 0;\n\t\t\t\t\tcolor: $gray-800;\n\t\t\t\t\tborder-radius: 0;\n\t\t\t\t\tborder-top: {\n\t\t\t\t\t\twidth: 1px;\n\t\t\t\t\t\tstyle: solid;\n\t\t\t\t\t\tcolor: $gray-100;\n\t\t\t\t\t};\n\t\t\t\t\t\n\t\t\t\t\t&:hover,\n\t\t\t\t\t&.acf-tab.is-active {\n\t\t\t\t\t\tbackground-color: unset;\n\t\t\t\t\t\tcolor: $blue-500;\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\ti.acf-icon {\n\t\t\t\t\t\tdisplay: none !important;\n\t\t\t\t\t\t$icon-size: 16px;\n\t\t\t\t\t\twidth: $icon-size;\n\t\t\t\t\t\theight: $icon-size;\n\t\t\t\t\t\t-webkit-mask-size: $icon-size;\n\t\t\t\t\t\tmask-size: $icon-size;\n\t\t\t\t\t\tbackground-color: $gray-400 !important;\n\t\t\t\t\t}\n\n\t\t\t\t\t.acf-requires-pro {\n\t\t\t\t\t\tjustify-content: center;\n\t\t\t\t\t\talign-items: center;\n\t\t\t\t\t\tcolor: white;\n\t\t\t\t\t\tbackground: $gradient-pro;\n\t\t\t\t\t\tborder-radius: 100px;\n\t\t\t\t\t\tfont-size: 11px;\n\t\t\t\t\t\tposition: absolute;\n\t\t\t\t\t\tright: 16px;\n\t\t\t\t\t\tpadding: {\n\t\t\t\t\t\t\tright: 6px;\n\t\t\t\t\t\t\tleft: 6px;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\timg.acf-wp-engine-pro {\n\t\t\t\t\t\tdisplay: block;\n\t\t\t\t\t\theight: 16px;\n\t\t\t\t\t\twidth: auto;\n\t\t\t\t\t}\n\n\t\t\t\t\t.acf-wp-engine-upsell-pill {\n\t\t\t\t\t\tdisplay: inline-flex;\n\t\t\t\t\t\tjustify-content: center;\n\t\t\t\t\t\talign-items: center;\n\t\t\t\t\t\tmin-height: 22px;\n\t\t\t\t\t\tborder-radius: 100px;\n\t\t\t\t\t\tfont-size: 11px;\n\t\t\t\t\t\tpadding: {\n\t\t\t\t\t\t\tright: 8px;\n\t\t\t\t\t\t\tleft: 8px;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbackground: #0ECAD4;\n\t\t\t\t\t\tcolor: #FFFFFF;\n\t\t\t\t\t\ttext-shadow: 0px 1px 0 rgba(0, 0, 0, 0.12);\n\t\t\t\t\t\ttext-transform: uppercase;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\t// First list item\n\t\t\t\t&:first-child {\n\t\t\t\t\ta {\n\t\t\t\t\t\tborder-bottom: none;\n\t\t\t\t\t}\t\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\t&:hover,\n\t\t\t&:focus {\n\t\t\t\tdisplay: block;\n\t\t\t}\n\t\t}\n\t\t&:hover,\n\t\t&:focus {\n\t\t\tul {\n\t\t\t\tdisplay: block;\n\t\t\t}\n\t\t}\n\t}\n\n\t// Within wpcontent.\n\t#wpcontent & {\n\t\tbox-sizing: border-box;\n\t\tmargin-left: -20px;\n\t\tpadding: {\n\t\t\ttop: 16px;\n\t\t\tright: 32px;\n\t\t\tbottom: 16px;\n\t\t\tleft: 32px;\n\t\t}\n\t}\n\n\t// Mobile\n\t@media screen and (max-width: 600px) {\n\t\t& {\n\t\t\tdisplay: none;\n\t\t}\n\t}\n}\n\n.rtl {\n\t#wpcontent .acf-admin-toolbar {\n\t\tmargin-left: 0;\n\t\tmargin-right: -20px;\n\n\t\t.acf-tab {\n\t\t\tmargin: {\n\t\t\t\tleft: 8px;\n\t\t\t\tright: 0;\n\t\t\t}\n\t\t}\n\t}\n\n\t.acf-logo {\n\t\tmargin: {\n\t\t\tright: 0;\n\t\t\tleft: 32px;\n\t\t}\n\t}\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* Admin Toolbar Icons\n*\n*---------------------------------------------------------------------------------------------*/\n.acf-admin-toolbar {\n\t.acf-tab,\n\t.acf-more {\n\t\ti.acf-icon {\n\t\t\tdisplay: none; // Icons only shown for specified nav items below\n\t\t\tmargin: {\n\t\t\t\tright: 8px;\n\t\t\t\tleft: -2px;\n\t\t\t}\n\t\t\t\n\t\t\t&.acf-icon-dropdown {\n\t\t\t\t-webkit-mask-image: url(\"../../images/icons/icon-chevron-down.svg\");\n\t\t\t\tmask-image: url(\"../../images/icons/icon-chevron-down.svg\");\n\t\t\t\t$icon-size: 16px;\n\t\t\t\twidth: $icon-size;\n\t\t\t\theight: $icon-size;\n\t\t\t\t-webkit-mask-size: $icon-size;\n\t\t\t\tmask-size: $icon-size;\n\t\t\t\tmargin: {\n\t\t\t\t\tright: -6px;\n\t\t\t\t\tleft: 6px;\n\t\t\t\t};\n\t\t\t}\n\t\t\t\n\t\t}\n\n\t\t// Only show icons for specified nav items, stops third party plugin items with no icon appearing broken\n\t\t&.acf-header-tab-acf-field-group,\n\t\t&.acf-header-tab-acf-post-type,\n\t\t&.acf-header-tab-acf-taxonomy,\n\t\t&.acf-header-tab-acf-tools,\n\t\t&.acf-header-tab-acf-settings-updates,\n\t\t&.acf-header-tab-acf-more {\n\t\t\ti.acf-icon {\n\t\t\t\tdisplay: inline-flex;\n\t\t\t}\n\t\t}\n\n\t\t&.is-active,\n\t\t&:hover {\n\t\t\ti.acf-icon {\n\t\t\t\tbackground-color: $gray-200;\n\t\t\t}\n\t\t}\n\t}\n\n\t.rtl & .acf-tab {\n\t\ti.acf-icon {\n\t\t\tmargin: {\n\t\t\t\tright: -2px;\n\t\t\t\tleft: 8px;\n\t\t\t}\n\t\t}\n\t}\n\n\t// Field groups tab\n\t.acf-header-tab-acf-field-group {\n\t\ti.acf-icon {\n\t\t\t$icon-url: url(\"../../images/icons/icon-field-groups.svg\");\n\t\t\t-webkit-mask-image: $icon-url;\n\t\t\tmask-image: $icon-url;\n\t\t}\n\t}\n\n\t// Post types tab\n\t.acf-header-tab-acf-post-type {\n\t\ti.acf-icon {\n\t\t\t$icon-url: url(\"../../images/icons/icon-post-type.svg\");\n\t\t\t-webkit-mask-image: $icon-url;\n\t\t\tmask-image: $icon-url;\n\t\t}\n\t}\n\n\t// Taxonomies tab\n\t.acf-header-tab-acf-taxonomy {\n\t\ti.acf-icon {\n\t\t\t$icon-url: url(\"../../images/icons/icon-taxonomies.svg\");\n\t\t\t-webkit-mask-image: $icon-url;\n\t\t\tmask-image: $icon-url;\n\t\t}\n\t}\n\n\t// Tools tab\n\t.acf-header-tab-acf-tools {\n\t\ti.acf-icon {\n\t\t\t$icon-url: url(\"../../images/icons/icon-tools.svg\");\n\t\t\t-webkit-mask-image: $icon-url;\n\t\t\tmask-image: $icon-url;\n\t\t}\n\t}\n\n\t// Updates tab\n\t.acf-header-tab-acf-settings-updates {\n\t\ti.acf-icon {\n\t\t\t$icon-url: url(\"../../images/icons/icon-updates.svg\");\n\t\t\t-webkit-mask-image: $icon-url;\n\t\t\tmask-image: $icon-url;\n\t\t}\n\t}\n\t\n\t// More tab\n\t.acf-header-tab-acf-more {\n\t\ti.acf-icon-more {\n\t\t\t$icon-url: url(\"../../images/icons/icon-extended-menu.svg\");\n\t\t\t-webkit-mask-image: $icon-url;\n\t\t\tmask-image: $icon-url;\n\t\t}\n\t}\n}\n","/*---------------------------------------------------------------------------------------------\n*\n* Hide WP default controls\n*\n*---------------------------------------------------------------------------------------------*/\n.acf-admin-page {\n\n\t// Prevents flicker caused by notice moving locations.\n\t#wpbody-content > .notice:not(.inline, .below-h2) {\n\t\tdisplay: none;\n\t}\n\n\th1.wp-heading-inline {\n\t\tdisplay: none;\n\t}\n\n\t.wrap .wp-heading-inline + .page-title-action {\n\t\tdisplay: none;\n\t}\n\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* Headerbar\n*\n*---------------------------------------------------------------------------------------------*/\n.acf-headerbar {\n\tdisplay: flex;\n\talign-items: center;\n\tposition: sticky;\n\ttop: 32px;\n\tz-index: 700;\n\tbox-sizing: border-box;\n\tmin-height: 72px;\n\tmargin: {\n\t\tleft: -20px;\n\t};\n\tpadding: {\n\t\ttop: 8px;\n\t\tright: 32px;\n\t\tbottom: 8px;\n\t\tleft: 32px;\n\t};\n\tbackground-color: #fff;\n\tbox-shadow: $elevation-01;\n\n\t.acf-headerbar-inner {\n\t\tflex: 1 1 auto;\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\tjustify-content: space-between;\n\t\tmax-width: $max-width;\n\t\tgap: 8px;\n\t}\n\n\t.acf-page-title {\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\tgap: 8px;\n\t\tmargin: {\n\t\t\ttop: 0;\n\t\t\tright: 16px;\n\t\t\tbottom: 0;\n\t\t\tleft: 0;\n\t\t};\n\t\tpadding: {\n\t\t\ttop: 0;\n\t\t\tright: 0;\n\t\t\tbottom: 0;\n\t\t\tleft: 0;\n\t\t};\n\n\t\t.acf-duplicated-from {\n\t\t\tcolor: $gray-400;\n\t\t}\n\n\t\t.acf-pro-label {\n\t\t\tbox-shadow: none;\n\t\t}\n\t}\n\n\t@media screen and (max-width: $md) {\n\t\tposition: static;\n\t}\n\n\t@media screen and (max-width: 600px) {\n\t\tjustify-content: space-between;\n\t\tposition: relative;\n\t\ttop: 46px;\n\t\tmin-height: 64px;\n\t\tpadding: {\n\t\t\tright: 12px;\n\t\t};\n\t}\n\n\t.acf-headerbar-content {\n\t\tflex: 1 1 auto;\n\t\tdisplay: flex;\n\t\talign-items: center;\n\n\t\t@media screen and (max-width: $md) {\n\t\t\tflex-wrap: wrap;\n\n\t\t\t.acf-headerbar-title,\n\t\t\t.acf-title-wrap {\n\t\t\t\tflex: 1 1 100%;\n\t\t\t}\n\n\t\t\t.acf-title-wrap {\n\t\t\t\tmargin: {\n\t\t\t\t\ttop: 8px;\n\t\t\t\t};\n\t\t\t}\n\n\t\t}\n\n\t}\n\n\t.acf-input-error {\n\t\tborder: 1px rgba($color-danger, 0.5) solid !important;\n\t\tbox-shadow: 0 0 0 3px rgba(209, 55, 55, 0.12), 0 0 0 rgba(255, 54, 54, 0.25) !important;\n\t\tbackground-image: url(\"../../images/icons/icon-warning-alt-red.svg\");\n\t\tbackground-position: right 10px top 50%;\n\t\tbackground-size: 20px;\n\t\tbackground-repeat: no-repeat;\n\n\t\t&:focus {\n\t\t\toutline: none !important;\n\t\t\tborder: 1px rgba($color-danger, 0.8) solid !important;\n\t\t\tbox-shadow: 0 0 0 3px rgba(209, 55, 55, 0.16), 0 0 0 rgba(255, 54, 54, 0.25) !important;\n\t\t}\n\t}\n\n\t.acf-headerbar-title-field {\n\t\tmin-width: 320px;\n\n\t\t@media screen and (max-width: $md) {\n\t\t\tmin-width: 100%;\n\t\t}\n\t}\n\n\t.acf-headerbar-actions {\n\t\tdisplay: flex;\n\n\t\t.acf-btn {\n\t\t\tmargin: {\n\t\t\t\tleft: 8px;\n\t\t\t};\n\t\t}\n\n\t\t.disabled {\n\t\t\tbackground-color: $gray-100;\n\t\t\tcolor: $gray-400 !important;\n\t\t\tborder: 1px $gray-300 solid;\n\t\t\tcursor: default;\n\t\t}\n\n\t}\n\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* Edit Field Group Headerbar\n*\n*---------------------------------------------------------------------------------------------*/\n.acf-headerbar-field-editor {\n\tposition: sticky;\n\ttop: 32px;\n\tz-index: 1020;\n\tmargin: {\n\t\tleft: -20px;\n\t};\n\twidth: calc(100% + 20px);\n\n\t@media screen and (max-width: $md) {\n\t\tposition: relative;\n\t\ttop: 0;\n\t\twidth: 100%;\n\t\tmargin: {\n\t\t\tleft: 0;\n\t\t};\n\t\tpadding: {\n\t\t\tright: 8px;\n\t\t\tleft: 8px;\n\t\t};\n\t}\n\n\t@media screen and (max-width: $sm) {\n\t\tposition: relative;\n\t\ttop: 46px;\n\t\tz-index: unset;\n\t}\n\n\n\t.acf-headerbar-inner {\n\n\t\t@media screen and (max-width: $md) {\n\t\t\tflex-wrap: wrap;\n\t\t\tjustify-content: flex-start;\n\t\t\talign-content: flex-start;\n\t\t\talign-items: flex-start;\n\t\t\twidth: 100%;\n\n\t\t\t.acf-page-title {\n\t\t\t\tflex: 1 1 auto;\n\t\t\t}\n\n\t\t\t.acf-headerbar-actions {\n\t\t\t\tflex: 1 1 100%;\n\t\t\t\tmargin-top: 8px;\n\t\t\t\tgap: 8px;\n\n\t\t\t\t.acf-btn {\n\t\t\t\t\twidth: 100%;\n\t\t\t\t\tdisplay: inline-flex;\n\t\t\t\t\tjustify-content: center;\n\t\t\t\t\tmargin: 0;\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t}\n\n\t}\n\n\t.acf-page-title {\n\t\tmargin: {\n\t\t\tright: 16px;\n\t\t};\n\t}\n\n}\n\n.rtl .acf-headerbar,\n.rtl .acf-headerbar-field-editor {\n\tmargin-left: 0;\n\tmargin-right: -20px;\n\n\t.acf-page-title {\n\t\tmargin: {\n\t\t\tleft: 16px;\n\t\t\tright: 0;\n\t\t};\n\t}\n\n\t.acf-headerbar-actions {\n\n\t\t.acf-btn {\n\t\t\tmargin: {\n\t\t\t\tleft: 0;\n\t\t\t\tright: 8px;\n\t\t\t};\n\t\t}\n\n\t}\n}\n","/*---------------------------------------------------------------------------------------------\n*\n* ACF Buttons\n*\n*---------------------------------------------------------------------------------------------*/\n.acf-btn {\n\tdisplay: inline-flex;\n\talign-items: center;\n\tbox-sizing: border-box;\n\tmin-height: 40px;\n\tpadding: {\n\t\ttop: 8px;\n\t\tright: 16px;\n\t\tbottom: 8px;\n\t\tleft: 16px;\n\t}\n\tbackground-color: $color-primary;\n\tborder-radius: $radius-md;\n\tborder: {\n\t\twidth: 1px;\n\t\tstyle: solid;\n\t\tcolor: rgba($gray-900, 20%);\n\t}\n\ttext-decoration: none;\n\tcolor: #fff !important;\n\ttransition: all 0.2s ease-in-out;\n\ttransition-property: background, border, box-shadow;\n\n\t&:hover {\n\t\tbackground-color: $color-primary-hover;\n\t\tcolor: #fff;\n\t\tcursor: pointer;\n\t}\n\n\t&:disabled, &.disabled {\n\t\tbackground-color: $gray-100;\n\t\tborder-color: $gray-200;\n\t\tcolor: $gray-400 !important;\n\t\ttransition: none;\n\t\tpointer-events: none;\n\t}\n\n\t&.acf-btn-sm {\n\t\tmin-height: 32px;\n\t\tpadding: {\n\t\t\ttop: 4px;\n\t\t\tright: 12px;\n\t\t\tbottom: 4px;\n\t\t\tleft: 12px;\n\t\t}\n\t\t@extend .p4;\n\t}\n\n\t&.acf-btn-secondary {\n\t\tbackground-color: transparent;\n\t\tcolor: $color-primary !important;\n\t\tborder-color: $color-primary;\n\n\t\t&:hover {\n\t\t\tbackground-color: lighten($blue-50, 2%);\n\t\t}\n\t}\n\n\t&.acf-btn-muted {\n\t\tbackground-color: $gray-500;\n\t\tcolor: white;\n\t\theight: 48px;\n\t\tpadding: 8px 28px 8px 28px !important;\n\t\tborder-radius: 6px;\n\t\tborder: 1px;\n\t\tgap: 6px;\n\t\t\n\t\t&:hover {\n\t\t\tbackground-color: $gray-600 !important;\n\t\t}\n\t}\n\n\t&.acf-btn-tertiary {\n\t\tbackground-color: transparent;\n\t\tcolor: $gray-500 !important;\n\t\tborder-color: $gray-300;\n\n\t\t&:hover {\n\t\t\tcolor: $gray-500 !important;\n\t\t\tborder-color: $gray-400;\n\t\t}\n\t}\n\n\t&.acf-btn-clear {\n\t\tbackground-color: transparent;\n\t\tcolor: $gray-500 !important;\n\t\tborder-color: transparent;\n\n\t\t&:hover {\n\t\t\tcolor: $blue-500 !important;\n\t\t}\n\t}\n\n\t&.acf-btn-pro {\n\t\tbackground: $gradient-pro;\n\t\tborder: none;\n\t}\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* Button icons\n*\n*---------------------------------------------------------------------------------------------*/\n.acf-btn {\n\ti.acf-icon {\n\t\t$icon-size: 20px;\n\t\twidth: $icon-size;\n\t\theight: $icon-size;\n\t\t-webkit-mask-size: $icon-size;\n\t\tmask-size: $icon-size;\n\t\tmargin: {\n\t\t\tright: 6px;\n\t\t\tleft: -4px;\n\t\t}\n\t}\n\n\t&.acf-btn-sm {\n\t\ti.acf-icon {\n\t\t\t$icon-size: 16px;\n\t\t\twidth: $icon-size;\n\t\t\theight: $icon-size;\n\t\t\t-webkit-mask-size: $icon-size;\n\t\t\tmask-size: $icon-size;\n\t\t\tmargin: {\n\t\t\t\tright: 6px;\n\t\t\t\tleft: -2px;\n\t\t\t}\n\t\t}\n\t}\n}\n\n.rtl .acf-btn {\n\ti.acf-icon {\n\t\tmargin: {\n\t\t\tright: -4px;\n\t\t\tleft: 6px;\n\t\t}\n\t}\n\n\t&.acf-btn-sm {\n\t\ti.acf-icon {\n\t\t\tmargin: {\n\t\t\t\tright: -4px;\n\t\t\t\tleft: 2px;\n\t\t\t}\n\t\t}\n\t}\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* Delete field group button\n*\n*---------------------------------------------------------------------------------------------*/\n.acf-btn.acf-delete-field-group {\n\t&:hover {\n\t\tbackground-color: lighten($color-danger, 44%);\n\t\tborder-color: $color-danger !important;\n\t\tcolor: $color-danger !important;\n\t}\n}\n","/*--------------------------------------------------------------------------------------------\n*\n*\tIcon base styling\n*\n*--------------------------------------------------------------------------------------------*/\n.acf-internal-post-type,\n.post-type-acf-field-group {\n\ti.acf-icon {\n\t\t$icon-size: 20px;\n\t\tdisplay: inline-flex;\n\t\twidth: $icon-size;\n\t\theight: $icon-size;\n\t\tbackground-color: currentColor;\n\t\tborder: none;\n\t\tborder-radius: 0;\n\t\t-webkit-mask-size: contain;\n\t\tmask-size: contain;\n\t\t-webkit-mask-repeat: no-repeat;\n\t\tmask-repeat: no-repeat;\n\t\t-webkit-mask-position: center;\n\t\tmask-position: center;\n\t\ttext-indent: 500%;\n\t\twhite-space: nowrap;\n\t\toverflow: hidden;\n\t}\n}\n\n/*--------------------------------------------------------------------------------------------\n*\n*\tIcons\n*\n*--------------------------------------------------------------------------------------------*/\n.acf-admin-page {\n\n\t// Action icons for Flexible Content Field\n\ti.acf-field-setting-fc-delete, i.acf-field-setting-fc-duplicate {\n\t\tbox-sizing: border-box;\n\n\t\t/* Auto layout */\n\n\t\tdisplay: flex;\n\t\tflex-direction: row;\n\t\tjustify-content: center;\n\t\talign-items: center;\n\t\tpadding: 8px;\n\t\tcursor: pointer;\n\n\t\twidth: 32px;\n\t\theight: 32px;\n\n\t\t/* Base / White */\n\n\t\tbackground: #FFFFFF;\n\t\t/* Gray/300 */\n\n\t\tborder: 1px solid $gray-300;\n\t\t/* Elevation/01 */\n\n\t\tbox-shadow: $elevation-01;\n\t\tborder-radius: 6px;\n\n\t\t/* Inside auto layout */\n\n\t\tflex: none;\n\t\torder: 0;\n\t\tflex-grow: 0;\n\t}\n\n\ti.acf-icon-plus {\n\t\t-webkit-mask-image: url(\"../../images/icons/icon-add.svg\");\n\t\tmask-image: url(\"../../images/icons/icon-add.svg\");\n\t}\n\n\ti.acf-icon-stars {\n\t\t-webkit-mask-image: url(\"../../images/icons/icon-stars.svg\");\n\t\tmask-image: url(\"../../images/icons/icon-stars.svg\");\n\t}\n\n\ti.acf-icon-help {\n\t\t-webkit-mask-image: url(\"../../images/icons/icon-help.svg\");\n\t\tmask-image: url(\"../../images/icons/icon-help.svg\");\n\t}\n\n\ti.acf-icon-key {\n\t\t-webkit-mask-image: url(\"../../images/icons/icon-key.svg\");\n\t\tmask-image: url(\"../../images/icons/icon-key.svg\");\n\t}\n\n\ti.acf-icon-regenerate {\n\t\t-webkit-mask-image: url(\"../../images/icons/icon-regenerate.svg\");\n\t\tmask-image: url(\"../../images/icons/icon-regenerate.svg\");\n\t}\n\n\ti.acf-icon-trash, button.acf-icon-trash {\n\t\t-webkit-mask-image: url(\"../../images/icons/icon-trash.svg\");\n\t\tmask-image: url(\"../../images/icons/icon-trash.svg\");\n\t}\n\t\n\ti.acf-icon-extended-menu, button.acf-icon-extended-menu {\n\t\t-webkit-mask-image: url(\"../../images/icons/icon-extended-menu.svg\");\n\t\tmask-image: url(\"../../images/icons/icon-extended-menu.svg\");\n\t}\n\n\ti.acf-icon.-duplicate, button.acf-icon-duplicate {\n\t\t-webkit-mask-image: url(\"../../images/field-type-icons/icon-field-clone.svg\");\n\t\tmask-image: url(\"../../images/field-type-icons/icon-field-clone.svg\");\n\n\t\t&:before,\n\t\t&:after {\n\t\t\tcontent: none;\n\t\t}\n\t}\n\n\ti.acf-icon-arrow-right {\n\t\t-webkit-mask-image: url(\"../../images/icons/icon-arrow-right.svg\");\n\t\tmask-image: url(\"../../images/icons/icon-arrow-right.svg\");\n\t}\n\n\ti.acf-icon-arrow-up-right {\n\t\t-webkit-mask-image: url(\"../../images/icons/icon-arrow-up-right.svg\");\n\t\tmask-image: url(\"../../images/icons/icon-arrow-up-right.svg\");\n\t}\n\n\ti.acf-icon-arrow-left {\n\t\t-webkit-mask-image: url(\"../../images/icons/icon-arrow-left.svg\");\n\t\tmask-image: url(\"../../images/icons/icon-arrow-left.svg\");\n\t}\n\n\ti.acf-icon-chevron-right,\n\t.acf-icon.-right {\n\t\t-webkit-mask-image: url(\"../../images/icons/icon-chevron-right.svg\");\n\t\tmask-image: url(\"../../images/icons/icon-chevron-right.svg\");\n\t}\n\n\ti.acf-icon-chevron-left,\n\t.acf-icon.-left {\n\t\t-webkit-mask-image: url(\"../../images/icons/icon-chevron-left.svg\");\n\t\tmask-image: url(\"../../images/icons/icon-chevron-left.svg\");\n\t}\n\n\ti.acf-icon-key-solid {\n\t\t-webkit-mask-image: url(\"../../images/icons/icon-key-solid.svg\");\n\t\tmask-image: url(\"../../images/icons/icon-key-solid.svg\");\n\t}\n\n\ti.acf-icon-globe,\n\t.acf-icon.-globe {\n\t\t-webkit-mask-image: url(\"../../images/icons/icon-globe.svg\");\n\t\tmask-image: url(\"../../images/icons/icon-globe.svg\");\n\t}\n\n\ti.acf-icon-image,\n\t.acf-icon.-picture {\n\t\t-webkit-mask-image: url(\"../../images/field-type-icons/icon-field-image.svg\");\n\t\tmask-image: url(\"../../images/field-type-icons/icon-field-image.svg\");\n\t}\n\t\n\ti.acf-icon-warning {\n\t\t-webkit-mask-image: url(\"../../images/icons/icon-warning-alt.svg\");\n\t\tmask-image: url(\"../../images/icons/icon-warning-alt.svg\");\n\t}\n\t\n\ti.acf-icon-warning-red {\n\t\t-webkit-mask-image: url(\"../../images/icons/icon-warning-alt-red.svg\");\n\t\tmask-image: url(\"../../images/icons/icon-warning-alt-red.svg\");\n\t}\n\n\ti.acf-icon-dots-grid {\n\t\t-webkit-mask-image: url(\"../../images/icons/icon-dots-grid.svg\");\n\t\tmask-image: url(\"../../images/icons/icon-dots-grid.svg\");\n\t}\n\n\ti.acf-icon-play {\n\t\t-webkit-mask-image: url(\"../../images/icons/icon-play.svg\");\n\t\tmask-image: url(\"../../images/icons/icon-play.svg\");\n\t}\n\t\n\ti.acf-icon-lock {\n\t\t-webkit-mask-image: url(\"../../images/icons/icon-lock.svg\");\n\t\tmask-image: url(\"../../images/icons/icon-lock.svg\");\n\t}\n\n\ti.acf-icon-document {\n\t\t-webkit-mask-image: url(\"../../images/icons/icon-document.svg\");\n\t\tmask-image: url(\"../../images/icons/icon-document.svg\");\n\t}\n\t/*--------------------------------------------------------------------------------------------\n\t*\n\t*\tInactive group icon\n\t*\n\t*--------------------------------------------------------------------------------------------*/\n\t.post-type-acf-field-group,\n\t.acf-internal-post-type {\n\t\t.post-state {\n\t\t\tfont-weight: normal;\n\n\t\t\t.dashicons.dashicons-hidden {\n\t\t\t\t$icon-size: 18px;\n\t\t\t\tdisplay: inline-flex;\n\t\t\t\twidth: $icon-size;\n\t\t\t\theight: $icon-size;\n\t\t\t\tbackground-color: $gray-400;\n\t\t\t\tborder: none;\n\t\t\t\tborder-radius: 0;\n\t\t\t\t-webkit-mask-size: $icon-size;\n\t\t\t\tmask-size: $icon-size;\n\t\t\t\t-webkit-mask-repeat: no-repeat;\n\t\t\t\tmask-repeat: no-repeat;\n\t\t\t\t-webkit-mask-position: center;\n\t\t\t\tmask-position: center;\n\t\t\t\t-webkit-mask-image: url(\"../../images/icons/icon-hidden.svg\");\n\t\t\t\tmask-image: url(\"../../images/icons/icon-hidden.svg\");\n\n\t\t\t\t&:before {\n\t\t\t\t\tdisplay: none;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n\n/*--------------------------------------------------------------------------------------------\n*\n*\tEdit field group page postbox header icons\n*\n*--------------------------------------------------------------------------------------------*/\n#acf-field-group-fields,\n#acf-field-group-options,\n#acf-advanced-settings {\n\t.postbox-header,\n\t.acf-sub-field-list-header {\n\t\th2,\n\t\th3 {\n\t\t\tdisplay: inline-flex;\n\t\t\tjustify-content: flex-start;\n\t\t\talign-content: stretch;\n\t\t\talign-items: center;\n\n\t\t\t&:before {\n\t\t\t\tcontent: \"\";\n\t\t\t\t$icon-size: 20px;\n\t\t\t\tdisplay: inline-block;\n\t\t\t\twidth: $icon-size;\n\t\t\t\theight: $icon-size;\n\t\t\t\tmargin: {\n\t\t\t\t\tright: 8px;\n\t\t\t\t}\n\t\t\t\tbackground-color: $gray-400;\n\t\t\t\tborder: none;\n\t\t\t\tborder-radius: 0;\n\t\t\t\t-webkit-mask-size: contain;\n\t\t\t\tmask-size: contain;\n\t\t\t\t-webkit-mask-repeat: no-repeat;\n\t\t\t\tmask-repeat: no-repeat;\n\t\t\t\t-webkit-mask-position: center;\n\t\t\t\tmask-position: center;\n\t\t\t}\n\t\t}\n\t}\n}\n\n.rtl #acf-field-group-fields,\n.rtl #acf-field-group-options {\n\t.postbox-header,\n\t.acf-sub-field-list-header {\n\t\th2,\n\t\th3 {\n\t\t\t&:before {\n\t\t\t\tmargin: {\n\t\t\t\t\tright: 0;\n\t\t\t\t\tleft: 8px;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n\n// Field icon\n#acf-field-group-fields .postbox-header h2:before,\nh3.acf-sub-field-list-title:before,\n.acf-link-field-groups-popup h3:before {\n\t-webkit-mask-image: url(\"../../images/icons/icon-fields.svg\");\n\tmask-image: url(\"../../images/icons/icon-fields.svg\");\n}\n\n// Create options page modal icon\n.acf-create-options-page-popup h3:before {\n\t-webkit-mask-image: url(\"../../images/icons/icon-sliders.svg\");\n\tmask-image: url(\"../../images/icons/icon-sliders.svg\");\n}\n\n// Settings icon\n#acf-field-group-options .postbox-header h2:before {\n\t-webkit-mask-image: url(\"../../images/icons/icon-settings.svg\");\n\tmask-image: url(\"../../images/icons/icon-settings.svg\");\n}\n\n// Layout icon\n.acf-field-setting-fc_layout .acf-field-settings-fc_head label:before {\n\t-webkit-mask-image: url(\"../../images/icons/icon-layout.svg\");\n\tmask-image: url(\"../../images/icons/icon-layout.svg\");\n}\n\n// Advanced post type and taxonomies settings icon\n.acf-admin-single-post-type,\n.acf-admin-single-taxonomy,\n.acf-admin-single-options-page {\n\n\t#acf-advanced-settings .postbox-header h2:before {\n\t\t-webkit-mask-image: url(\"../../images/icons/icon-post-type.svg\");\n\t\tmask-image: url(\"../../images/icons/icon-post-type.svg\");\n\t}\n\n}\n\n// Flexible Content reorder\n.acf-field-setting-fc_layout .acf-field-settings-fc_head .acf-fc_draggable:hover .reorder-layout:before {\n\twidth: 20px;\n\theight: 11px;\n\tbackground-color: $gray-600 !important;\n\t-webkit-mask-image: url(\"../../images/icons/icon-draggable.svg\");\n\tmask-image: url(\"../../images/icons/icon-draggable.svg\");\n}\n\n/*--------------------------------------------------------------------------------------------\n*\n*\tPostbox expand / collapse icon\n*\n*--------------------------------------------------------------------------------------------*/\n.post-type-acf-field-group, \n.post-type-acf-field-group #acf-field-group-fields,\n.post-type-acf-field-group #acf-field-group-options,\n.post-type-acf-field-group .postbox,\n.acf-admin-single-post-type #acf-advanced-settings,\n.acf-admin-single-taxonomy #acf-advanced-settings,\n.acf-admin-single-options-page #acf-advanced-settings{\n\t\n\t.postbox-header .handle-actions {\n\t\tdisplay: flex;\n\n\t\t.toggle-indicator:before {\n\t\t\tcontent: \"\";\n\t\t\t$icon-size: 20px;\n\t\t\tdisplay: inline-flex;\n\t\t\twidth: $icon-size;\n\t\t\theight: $icon-size;\n\t\t\tbackground-color: currentColor;\n\t\t\tborder: none;\n\t\t\tborder-radius: 0;\n\t\t\t-webkit-mask-size: contain;\n\t\t\tmask-size: contain;\n\t\t\t-webkit-mask-repeat: no-repeat;\n\t\t\tmask-repeat: no-repeat;\n\t\t\t-webkit-mask-position: center;\n\t\t\tmask-position: center;\n\t\t\t-webkit-mask-image: url(\"../../images/icons/icon-chevron-up.svg\");\n\t\t\tmask-image: url(\"../../images/icons/icon-chevron-up.svg\");\n\t\t}\n\t}\n\n\t// Closed state\n\t&.closed {\n\t\t.postbox-header .handle-actions {\n\t\t\t.toggle-indicator:before {\n\t\t\t\t-webkit-mask-image: url(\"../../images/icons/icon-chevron-down.svg\");\n\t\t\t\tmask-image: url(\"../../images/icons/icon-chevron-down.svg\");\n\t\t\t}\n\t\t}\n\t}\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* Tools & updates page heading icons\n*\n*---------------------------------------------------------------------------------------------*/\n.post-type-acf-field-group {\n\t#acf-admin-tool-export,\n\t#acf-admin-tool-import,\n\t#acf-license-information,\n\t#acf-update-information {\n\t\th2,\n\t\th3 {\n\t\t\tdisplay: inline-flex;\n\t\t\tjustify-content: flex-start;\n\t\t\talign-content: stretch;\n\t\t\talign-items: center;\n\n\t\t\t&:before {\n\t\t\t\tcontent: \"\";\n\t\t\t\t$icon-size: 20px;\n\t\t\t\tdisplay: inline-block;\n\t\t\t\twidth: $icon-size;\n\t\t\t\theight: $icon-size;\n\t\t\t\tmargin: {\n\t\t\t\t\tright: 8px;\n\t\t\t\t}\n\t\t\t\tbackground-color: $gray-400;\n\t\t\t\tborder: none;\n\t\t\t\tborder-radius: 0;\n\t\t\t\t-webkit-mask-size: contain;\n\t\t\t\tmask-size: contain;\n\t\t\t\t-webkit-mask-repeat: no-repeat;\n\t\t\t\tmask-repeat: no-repeat;\n\t\t\t\t-webkit-mask-position: center;\n\t\t\t\tmask-position: center;\n\t\t\t}\n\t\t}\n\t}\n\n\t&.rtl {\n\t\t#acf-admin-tool-export,\n\t\t#acf-admin-tool-import,\n\t\t#acf-license-information,\n\t\t#acf-update-information {\n\t\t\th2,\n\t\t\th3 {\n\t\t\t\t&:before {\n\t\t\t\t\tmargin: {\n\t\t\t\t\t\tright: 0;\n\t\t\t\t\t\tleft: 8px;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n\n// Export icon\n.post-type-acf-field-group #acf-admin-tool-export h2:before {\n\t-webkit-mask-image: url(\"../../images/icons/icon-export.svg\");\n\tmask-image: url(\"../../images/icons/icon-export.svg\");\n}\n\n// Import icon\n.post-type-acf-field-group #acf-admin-tool-import h2:before {\n\t-webkit-mask-image: url(\"../../images/icons/icon-import.svg\");\n\tmask-image: url(\"../../images/icons/icon-import.svg\");\n}\n\n// License information icon\n.post-type-acf-field-group #acf-license-information h3:before {\n\t-webkit-mask-image: url(\"../../images/icons/icon-key.svg\");\n\tmask-image: url(\"../../images/icons/icon-key.svg\");\n}\n\n// Update information icon\n.post-type-acf-field-group #acf-update-information h3:before {\n\t-webkit-mask-image: url(\"../../images/icons/icon-info.svg\");\n\tmask-image: url(\"../../images/icons/icon-info.svg\");\n}\n\n/*--------------------------------------------------------------------------------------------\n*\n*\tAdmin field icons\n*\n*--------------------------------------------------------------------------------------------*/\n.acf-admin-single-field-group .acf-input {\n\t.acf-icon {\n\t\t$icon-size: 18px;\n\t\twidth: $icon-size;\n\t\theight: $icon-size;\n\t}\n}\n","/*--------------------------------------------------------------------------------------------\n*\n*\tField type icon base styling\n*\n*--------------------------------------------------------------------------------------------*/\n.field-type-icon {\n\tbox-sizing: border-box;\n\tdisplay: inline-flex;\n\talign-content: center;\n\talign-items: center;\n\tjustify-content: center;\n\tposition: relative;\n\twidth: 24px;\n\theight: 24px;\n\ttop: -4px;\n\tbackground-color: $blue-50;\n\tborder: {\n\t\twidth: 1px;\n\t\tstyle: solid;\n\t\tcolor: $blue-200;\n\t};\n\tborder-radius: 100%;\n\n\t&:before {\n\t\t$icon-size: 14px;\n\t\tcontent: \"\";\n\t\twidth: $icon-size;\n\t\theight: $icon-size;\n\t\tposition: relative;\n\t\tbackground-color: $blue-500;\n\t\t-webkit-mask-size: cover;\n\t\tmask-size: cover;\n\t\t-webkit-mask-repeat: no-repeat;\n\t\tmask-repeat: no-repeat;\n\t\t-webkit-mask-position: center;\n\t\tmask-position: center;\n\t\t-webkit-mask-image: url('../../images/field-type-icons/icon-field-default.svg');\n\t\tmask-image: url('../../images/field-type-icons/icon-field-default.svg');\n\t}\n\n}\n\n/*--------------------------------------------------------------------------------------------\n*\n*\tField type icons\n*\n*--------------------------------------------------------------------------------------------*/\n\n// Text field\n.field-type-icon.field-type-icon-text:before {\n\t-webkit-mask-image: url('../../images/field-type-icons/icon-field-text.svg');\n\tmask-image: url('../../images/field-type-icons/icon-field-text.svg');\n}\n\n// Textarea\n.field-type-icon.field-type-icon-textarea:before {\n\t-webkit-mask-image: url('../../images/field-type-icons/icon-field-textarea.svg');\n\tmask-image: url('../../images/field-type-icons/icon-field-textarea.svg');\n}\n\n// Textarea\n.field-type-icon.field-type-icon-textarea:before {\n\t-webkit-mask-image: url('../../images/field-type-icons/icon-field-textarea.svg');\n\tmask-image: url('../../images/field-type-icons/icon-field-textarea.svg');\n}\n\n// Number\n.field-type-icon.field-type-icon-number:before {\n\t-webkit-mask-image: url('../../images/field-type-icons/icon-field-number.svg');\n\tmask-image: url('../../images/field-type-icons/icon-field-number.svg');\n}\n\n// Range\n.field-type-icon.field-type-icon-range:before {\n\t-webkit-mask-image: url('../../images/field-type-icons/icon-field-range.svg');\n\tmask-image: url('../../images/field-type-icons/icon-field-range.svg');\n}\n\n// Email\n.field-type-icon.field-type-icon-email:before {\n\t-webkit-mask-image: url('../../images/field-type-icons/icon-field-email.svg');\n\tmask-image: url('../../images/field-type-icons/icon-field-email.svg');\n}\n\n// URL\n.field-type-icon.field-type-icon-url:before {\n\t-webkit-mask-image: url('../../images/field-type-icons/icon-field-url.svg');\n\tmask-image: url('../../images/field-type-icons/icon-field-url.svg');\n}\n\n// Password\n.field-type-icon.field-type-icon-password:before {\n\t-webkit-mask-image: url('../../images/field-type-icons/icon-field-password.svg');\n\tmask-image: url('../../images/field-type-icons/icon-field-password.svg');\n}\n\n// Image\n.field-type-icon.field-type-icon-image:before {\n\t-webkit-mask-image: url('../../images/field-type-icons/icon-field-image.svg');\n\tmask-image: url('../../images/field-type-icons/icon-field-image.svg');\n}\n\n// File\n.field-type-icon.field-type-icon-file:before {\n\t-webkit-mask-image: url('../../images/field-type-icons/icon-field-file.svg');\n\tmask-image: url('../../images/field-type-icons/icon-field-file.svg');\n}\n\n// WYSIWYG\n.field-type-icon.field-type-icon-wysiwyg:before {\n\t-webkit-mask-image: url('../../images/field-type-icons/icon-field-wysiwyg.svg');\n\tmask-image: url('../../images/field-type-icons/icon-field-wysiwyg.svg');\n}\n\n// oEmbed\n.field-type-icon.field-type-icon-oembed:before {\n\t-webkit-mask-image: url('../../images/field-type-icons/icon-field-oembed.svg');\n\tmask-image: url('../../images/field-type-icons/icon-field-oembed.svg');\n}\n\n// Gallery\n.field-type-icon.field-type-icon-gallery:before {\n\t-webkit-mask-image: url('../../images/field-type-icons/icon-field-gallery.svg');\n\tmask-image: url('../../images/field-type-icons/icon-field-gallery.svg');\n}\n\n// Select\n.field-type-icon.field-type-icon-select:before {\n\t-webkit-mask-image: url('../../images/field-type-icons/icon-field-select.svg');\n\tmask-image: url('../../images/field-type-icons/icon-field-select.svg');\n}\n\n// Checkbox\n.field-type-icon.field-type-icon-checkbox:before {\n\t-webkit-mask-image: url('../../images/field-type-icons/icon-field-checkbox.svg');\n\tmask-image: url('../../images/field-type-icons/icon-field-checkbox.svg');\n}\n\n// Radio Button\n.field-type-icon.field-type-icon-radio:before {\n\t-webkit-mask-image: url('../../images/field-type-icons/icon-field-radio.svg');\n\tmask-image: url('../../images/field-type-icons/icon-field-radio.svg');\n}\n\n// Button Group\n.field-type-icon.field-type-icon-button-group:before {\n\t-webkit-mask-image: url('../../images/field-type-icons/icon-field-button-group.svg');\n\tmask-image: url('../../images/field-type-icons/icon-field-button-group.svg');\n}\n\n// True / False\n.field-type-icon.field-type-icon-true-false:before {\n\t-webkit-mask-image: url('../../images/field-type-icons/icon-field-true-false.svg');\n\tmask-image: url('../../images/field-type-icons/icon-field-true-false.svg');\n}\n\n// Link\n.field-type-icon.field-type-icon-link:before {\n\t-webkit-mask-image: url('../../images/field-type-icons/icon-field-link.svg');\n\tmask-image: url('../../images/field-type-icons/icon-field-link.svg');\n}\n\n// Post Object\n.field-type-icon.field-type-icon-post-object:before {\n\t-webkit-mask-image: url('../../images/field-type-icons/icon-field-post-object.svg');\n\tmask-image: url('../../images/field-type-icons/icon-field-post-object.svg');\n}\n\n// Page Link\n.field-type-icon.field-type-icon-page-link:before {\n\t-webkit-mask-image: url('../../images/field-type-icons/icon-field-page-link.svg');\n\tmask-image: url('../../images/field-type-icons/icon-field-page-link.svg');\n}\n\n// Relationship\n.field-type-icon.field-type-icon-relationship:before {\n\t-webkit-mask-image: url('../../images/field-type-icons/icon-field-relationship.svg');\n\tmask-image: url('../../images/field-type-icons/icon-field-relationship.svg');\n}\n\n// Taxonomy\n.field-type-icon.field-type-icon-taxonomy:before {\n\t-webkit-mask-image: url('../../images/field-type-icons/icon-field-taxonomy.svg');\n\tmask-image: url('../../images/field-type-icons/icon-field-taxonomy.svg');\n}\n\n// User\n.field-type-icon.field-type-icon-user:before {\n\t-webkit-mask-image: url('../../images/field-type-icons/icon-field-user.svg');\n\tmask-image: url('../../images/field-type-icons/icon-field-user.svg');\n}\n\n// Google Map\n.field-type-icon.field-type-icon-google-map:before {\n\t-webkit-mask-image: url('../../images/field-type-icons/icon-field-google-map.svg');\n\tmask-image: url('../../images/field-type-icons/icon-field-google-map.svg');\n}\n\n// Date Picker\n.field-type-icon.field-type-icon-date-picker:before {\n\t-webkit-mask-image: url('../../images/field-type-icons/icon-field-date-picker.svg');\n\tmask-image: url('../../images/field-type-icons/icon-field-date-picker.svg');\n}\n\n// Date / Time Picker\n.field-type-icon.field-type-icon-date-time-picker:before {\n\t-webkit-mask-image: url('../../images/field-type-icons/icon-field-date-time-picker.svg');\n\tmask-image: url('../../images/field-type-icons/icon-field-date-time-picker.svg');\n}\n\n// Time Picker\n.field-type-icon.field-type-icon-time-picker:before {\n\t-webkit-mask-image: url('../../images/field-type-icons/icon-field-time-picker.svg');\n\tmask-image: url('../../images/field-type-icons/icon-field-time-picker.svg');\n}\n\n// Color Picker\n.field-type-icon.field-type-icon-color-picker:before {\n\t-webkit-mask-image: url('../../images/field-type-icons/icon-field-color-picker.svg');\n\tmask-image: url('../../images/field-type-icons/icon-field-color-picker.svg');\n}\n\n// Icon Picker\n.field-type-icon.field-type-icon-icon-picker:before {\n\t-webkit-mask-image: url('../../images/field-type-icons/icon-field-icon-picker.svg');\n\tmask-image: url('../../images/field-type-icons/icon-field-icon-picker.svg');\n}\n\n// Message\n.field-type-icon.field-type-icon-message:before {\n\t-webkit-mask-image: url('../../images/field-type-icons/icon-field-message.svg');\n\tmask-image: url('../../images/field-type-icons/icon-field-message.svg');\n}\n\n// Accordion\n.field-type-icon.field-type-icon-accordion:before {\n\t-webkit-mask-image: url('../../images/field-type-icons/icon-field-accordion.svg');\n\tmask-image: url('../../images/field-type-icons/icon-field-accordion.svg');\n}\n\n// Tab\n.field-type-icon.field-type-icon-tab:before {\n\t-webkit-mask-image: url('../../images/field-type-icons/icon-field-tab.svg');\n\tmask-image: url('../../images/field-type-icons/icon-field-tab.svg');\n}\n\n// Group\n.field-type-icon.field-type-icon-group:before {\n\t-webkit-mask-image: url('../../images/field-type-icons/icon-field-group.svg');\n\tmask-image: url('../../images/field-type-icons/icon-field-group.svg');\n}\n\n// Repeater\n.field-type-icon.field-type-icon-repeater:before {\n\t-webkit-mask-image: url('../../images/field-type-icons/icon-field-repeater.svg');\n\tmask-image: url('../../images/field-type-icons/icon-field-repeater.svg');\n}\n\n\n// Flexible Content\n.field-type-icon.field-type-icon-flexible-content:before {\n\t-webkit-mask-image: url('../../images/field-type-icons/icon-field-flexible-content.svg');\n\tmask-image: url('../../images/field-type-icons/icon-field-flexible-content.svg');\n}\n\n// Clone\n.field-type-icon.field-type-icon-clone:before {\n\t-webkit-mask-image: url('../../images/field-type-icons/icon-field-clone.svg');\n\tmask-image: url('../../images/field-type-icons/icon-field-clone.svg');\n}","/*---------------------------------------------------------------------------------------------\n*\n* Tools page layout\n*\n*---------------------------------------------------------------------------------------------*/\n#acf-admin-tools {\n\n\t.postbox-header {\n\t\tdisplay: none; // Hide native WP postbox headers\n\t}\n\n\t.acf-meta-box-wrap.-grid {\n\t\tmargin: {\n\t\t\ttop: 0;\n\t\t\tright: 0;\n\t\t\tbottom: 0;\n\t\t\tleft: 0;\n\t\t};\n\n\t\t.postbox {\n\t\t\twidth: 100%;\n\t\t\tclear: none;\n\t\t\tfloat: none;\n\t\t\tmargin: {\n\t\t\t\tbottom: 0;\n\t\t\t};\n\n\t\t\t@media screen and (max-width: $md) {\n\t\t\t\tflex: 1 1 100%;\n\t\t\t}\n\n\t\t}\n\n\t}\n\n\t.acf-meta-box-wrap.-grid .postbox:nth-child(odd) {\n\t\tmargin: {\n\t\t\tleft: 0;\n\t\t};\n\t}\n\n\t.meta-box-sortables {\n\t\tdisplay: grid;\n\t\tgrid-template-columns: repeat(2, 1fr);\n\t\tgrid-template-rows: repeat(1, 1fr);\n\t\tgrid-column-gap: 32px;\n\t\tgrid-row-gap: 32px;\n\n\t\t@media screen and (max-width: $md) {\n\t\t\tdisplay: flex;\n\t\t\tflex-wrap: wrap;\n\t\t\tjustify-content: flex-start;\n\t\t\talign-content: flex-start;\n\t\t\talign-items: center;\n\t\t\tgrid-column-gap: 8px;\n\t\t\tgrid-row-gap: 8px;\n\t\t}\n\n\t}\n\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* Tools export pages\n*\n*---------------------------------------------------------------------------------------------*/\n#acf-admin-tools {\n\n\t&.tool-export {\n\n\t\t.inside {\n\t\t\tmargin: 0;\n\t\t}\n\n\t\t// ACF custom postbox header\n\t\t.acf-postbox-header {\n\t\t\tmargin: {\n\t\t\t\tbottom: 24px;\n\t\t\t};\n\t\t}\n\n\t\t// Main postbox area\n\t\t.acf-postbox-main {\n\t\t\tborder: none;\n\t\t\tmargin: 0;\n\t\t\tpadding: {\n\t\t\t\ttop: 0;\n\t\t\t\tright: 24px;\n\t\t\t\tbottom: 0;\n\t\t\t\tleft: 0;\n\t\t\t};\n\t\t}\n\n\t\t.acf-postbox-columns {\n\t\t\tmargin: {\n\t\t\t\ttop: 0;\n\t\t\t\tright: 280px;\n\t\t\t\tbottom: 0;\n\t\t\t\tleft: 0;\n\t\t\t};\n\t\t\tpadding: 0;\n\n\t\t\t.acf-postbox-side {\n\t\t\t\tpadding: 0;\n\n\t\t\t\t.acf-panel {\n\t\t\t\t\tmargin: 0;\n\t\t\t\t\tpadding: 0;\n\t\t\t\t}\n\n\t\t\t\t&:before {\n\t\t\t\t\tdisplay: none;\n\t\t\t\t}\n\n\t\t\t\t.acf-btn {\n\t\t\t\t\tdisplay: block;\n\t\t\t\t\twidth: 100%;\n\t\t\t\t\ttext-align: center;\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t}\n\n\t\t.meta-box-sortables {\n\t\t\tdisplay: block;\n\t\t}\n\n\t\t.acf-panel {\n\t\t\tborder: none;\n\n\t\t\th3 {\n\t\t\t\tmargin: 0;\n\t\t\t\tpadding: 0;\n\t\t\t\tcolor: $gray-700;\n\t\t\t\t@extend .p4;\n\n\t\t\t\t&:before {\n\t\t\t\t\tdisplay: none;\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t}\n\n\t\t.acf-checkbox-list {\n\t\t\tmargin: {\n\t\t\t\ttop: 16px;\n\t\t\t};\n\t\t\tborder: {\n\t\t\t\twidth: 1px;\n\t\t\t\tstyle: solid;\n\t\t\t\tcolor: $gray-300;\n\t\t\t};\n\t\t\tborder-radius: $radius-md;\n\n\t\t\tli {\n\t\t\t\tdisplay: inline-flex;\n\t\t\t\tbox-sizing: border-box;\n\t\t\t\twidth: 100%;\n\t\t\t\theight: 48px;\n\t\t\t\talign-items: center;\n\t\t\t\tmargin: 0;\n\t\t\t\tpadding: {\n\t\t\t\t\tright: 12px;\n\t\t\t\t\tleft: 12px;\n\t\t\t\t};\n\t\t\t\tborder-bottom: {\n\t\t\t\t\twidth: 1px;\n\t\t\t\t\tstyle: solid;\n\t\t\t\t\tcolor: $gray-200;\n\t\t\t\t};\n\n\t\t\t\t&:last-child {\n\t\t\t\t\tborder-bottom: none;\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t}\n\n\t}\n\n}","/*---------------------------------------------------------------------------------------------\n*\n* Updates layout\n*\n*---------------------------------------------------------------------------------------------*/\n.acf-settings-wrap.acf-updates {\n\tdisplay: flex;\n\tflex-direction: row;\n\tflex-wrap: wrap;\n\tjustify-content: flex-start;\n\talign-content: flex-start;\n\talign-items: flex-start;\n}\n\n.custom-fields_page_acf-settings-updates .acf-admin-notice,\n.custom-fields_page_acf-settings-updates .acf-upgrade-notice,\n.custom-fields_page_acf-settings-updates .notice {\n\tflex: 1 1 100%;\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* ACF Box\n*\n*---------------------------------------------------------------------------------------------*/\n.acf-settings-wrap.acf-updates {\n\n\t.acf-box {\n\t\tmargin: {\n\t\t\ttop: 0;\n\t\t\tright: 0;\n\t\t\tbottom: 0;\n\t\t\tleft: 0;\n\t\t};\n\n\t\t.inner {\n\t\t\tpadding: {\n\t\t\t\ttop: 24px;\n\t\t\t\tright: 24px;\n\t\t\t\tbottom: 24px;\n\t\t\t\tleft: 24px;\n\t\t\t};\n\t\t}\n\n\t\t@media screen and (max-width: $md) {\n\t\t\tflex: 1 1 100%;\n\t\t}\n\n\t}\n\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* Notices\n*\n*---------------------------------------------------------------------------------------------*/\n.acf-settings-wrap.acf-updates {\n\n\t.acf-admin-notice {\n\t\tflex: 1 1 100%;\n\t\tmargin: {\n\t\t\ttop: 16px;\n\t\t\tright: 0;\n\t\t\tleft: 0;\n\t\t};\n\t}\n\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* License information\n*\n*---------------------------------------------------------------------------------------------*/\n#acf-license-information {\n\tflex: 1 1 65%;\n\tmargin: {\n\t\tright: 32px;\n\t};\n\n\t.inner {\n\t\tpadding: 0;\n\n\t\t.acf-license-defined {\n\t\t\tpadding: 24px;\n\t\t\tmargin: 0;\n\t\t}\n\n\t\t.acf-activation-form,\n\t\t.acf-retry-activation {\n\t\t\tpadding: 24px;\n\n\t\t\t&.acf-retry-activation {\n\t\t\t\tpadding-top: 0;\n\t\t\t\tmin-height: 40px;\n\n\t\t\t\t.acf-recheck-license.acf-btn {\n\t\t\t\t\tfloat: none;\n\t\t\t\t\tline-height: initial;\n\n\t\t\t\t\ti {\n\t\t\t\t\t\tdisplay: none;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t.acf-manage-license-btn {\n\t\t\t\tfloat: right;\n\t\t\t\tline-height: 40px;\n\t\t\t\talign-items: center;\n\t\t\t\tdisplay: inline-flex;\n\n\t\t\t\t&.acf-renew-subscription {\n\t\t\t\t\tfloat: none;\n\t\t\t\t\tline-height: initial;\n\t\t\t\t}\n\n\t\t\t\ti {\n\t\t\t\t\tmargin: 0 0 0 5px;\n\t\t\t\t\twidth: 19px;\n\t\t\t\t\theight: 19px;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t.acf-recheck-license {\n\t\t\t\tfloat: right;\n\t\t\t\tline-height: 40px;\n\n\t\t\t\ti {\n\t\t\t\t\tmargin-right: 8px;\n\t\t\t\t\tvertical-align: middle;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t.acf-license-status-wrap {\n\t\t\tbackground: $gray-50;\n\t\t\tborder-top: 1px solid $gray-200;\n\t\t\tborder-bottom-left-radius: 8px;\n\t\t\tborder-bottom-right-radius: 8px;\n\t\t\t\n\t\t\t.acf-license-status-table {\n\t\t\t\tfont-size: 14px;\n\t\t\t\tpadding: 24px 24px 16px 24px;\n\n\t\t\t\tth {\n\t\t\t\t\twidth: 160px;\n\t\t\t\t\tfont-weight: 500;\n\t\t\t\t\ttext-align: left;\n\t\t\t\t\tpadding-bottom: 16px;\n\t\t\t\t}\n\n\t\t\t\ttd {\n\t\t\t\t\tpadding-bottom: 16px;\n\n\t\t\t\t\t.acf-license-status {\n\t\t\t\t\t\tdisplay: inline-block;\n\t\t\t\t\t\theight: 24px;\n\t\t\t\t\t\tline-height: 24px;\n\t\t\t\t\t\tborder-radius: 100px;\n\t\t\t\t\t\tbackground: $gray-200;\n\t\t\t\t\t\tpadding: 0 13px 1px 12px;\n\t\t\t\t\t\tborder: 1px solid rgba(0, 0, 0, 0.12);\n\t\t\t\t\t\tcolor: $gray-500;\n\n\t\t\t\t\t\t&.active {\n\t\t\t\t\t\t\tbackground: rgba(18, 183, 106, 0.15);\n\t\t\t\t\t\t\tborder: 1px solid rgba(18, 183, 106, 0.24);\n\t\t\t\t\t\t\tcolor: rgba(18, 183, 106, 1);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t&.expired,\n\t\t\t\t\t\t&.cancelled {\n\t\t\t\t\t\t\tbackground: rgba(209, 55, 55, 0.24);\n\t\t\t\t\t\t\tborder: 1px solid rgba(209, 55, 55, 0.24);\n\t\t\t\t\t\t\tcolor: rgba(209, 55, 55, 1);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t\t.acf-no-license-view-pricing {\n\t\t\t\tpadding: 12px 24px;\n\t\t\t\tborder-top: 1px solid $gray-200;\n\t\t\t\tcolor: $gray-500;\n\t\t\t}\n\t\t}\n\t}\n\n\t@media screen and (max-width: 1024px) {\n\t\tmargin: {\n\t\t\tright: 0;\n\t\t\tbottom: 32px;\n\t\t};\n\t}\n\n\tlabel {\n\t\tfont-weight: 500;\n\t}\n\n\t.acf-input-wrap {\n\t\tmargin: {\n\t\t\ttop: 8px;\n\t\t\tbottom: 24px;\n\t\t};\n\t}\n\n\t#acf_pro_license {\n\t\twidth: 100%;\n\t}\n\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* Update information table\n*\n*---------------------------------------------------------------------------------------------*/\n#acf-update-information {\n\tflex: 1 1 35%;\n\tmax-width: calc(35% - 32px);\n\n\t.form-table {\n\n\t\tth,\n\t\ttd {\n\t\t\tpadding: {\n\t\t\t\ttop: 0;\n\t\t\t\tright: 0;\n\t\t\t\tbottom: 24px;\n\t\t\t\tleft: 0;\n\t\t\t};\n\t\t\t@extend .p4;\n\t\t\tcolor: $gray-700;\n\t\t}\n\n\t}\n\n\t.acf-update-changelog {\n\t\tmargin: {\n\t\t\ttop: 8px;\n\t\t\tbottom: 24px;\n\t\t};\n\t\tpadding: {\n\t\t\ttop: 8px;\n\t\t};\n\t\tborder-top: {\n\t\t\twidth: 1px;\n\t\t\tstyle: solid;\n\t\t\tcolor: $gray-200;\n\t\t};\n\t\tcolor: $gray-700;\n\n\t\th4 {\n\t\t\tmargin: {\n\t\t\t\tbottom: 0;\n\t\t\t};\n\t\t}\n\n\t\tp {\n\t\t\tmargin: {\n\t\t\t\ttop: 0;\n\t\t\t\tbottom: 16px;\n\t\t\t};\n\n\t\t\t&:last-of-type {\n\t\t\t\tmargin: {\n\t\t\t\t\tbottom: 0;\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tem {\n\t\t\t\t@extend .p6;\n\t\t\t\tcolor: $gray-500;\n\t\t\t}\n\n\t\t}\n\n\t}\n\n\t.acf-btn {\n\t\tdisplay: inline-flex;\n\t}\n\n}","/*--------------------------------------------------------------------------------------------\n*\n*\tHeader pro upgrade button\n*\n*--------------------------------------------------------------------------------------------*/\n.acf-admin-toolbar {\n\n\ta.acf-admin-toolbar-upgrade-btn {\n\t\tdisplay: inline-flex;\n\t\talign-items: center;\n\t\talign-self: stretch;\n\t\tpadding: {\n\t\t\ttop: 0;\n\t\t\tright: 16px;\n\t\t\tbottom: 0;\n\t\t\tleft: 16px;\n\t\t};\n\t\tbackground: $gradient-pro;\n\t\tbox-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.16);\n\t\tborder-radius: $radius-md;\n\t\ttext-decoration: none;\n\n\t\t@media screen and (max-width: 768px) {\n\t\t\tdisplay: none;\n\t\t}\n\n\t\t&:focus {\n\t\t\tborder: none;\n\t\t\toutline: none;\n\t\t\tbox-shadow: none;\n\t\t}\n\n\t\tp {\n\t\t\tmargin: 0;\n\t\t\tpadding: {\n\t\t\t\ttop: 8px;\n\t\t\t\tbottom: 8px;\n\t\t\t}\n\n\t\t\t@extend .p4;\n\t\t\tfont-weight: 400;\n\t\t\ttext-transform: none;\n\t\t\tcolor: #fff;\n\t\t}\n\n\t\t.acf-icon {\n\t\t\t$icon-size: 18px;\n\t\t\twidth: $icon-size;\n\t\t\theight: $icon-size;\n\t\t\tmargin: {\n\t\t\t\tright: 6px;\n\t\t\t\tleft: -2px;\n\t\t\t};\n\t\t\tbackground-color: $gray-50;\n\t\t}\n\n\t}\n\n}\n\n/*--------------------------------------------------------------------------------------------\n*\n* Upsell block\n*\n*--------------------------------------------------------------------------------------------*/\n.acf-admin-page #tmpl-acf-field-group-pro-features,\n.acf-admin-page #acf-field-group-pro-features {\n\tdisplay: none;\n\talign-items: center;\n\tmin-height: 120px;\n\tbackground-color: #121833;\n\tbackground-image: url(../../images/pro-upgrade-grid-bg.svg), url(../../images/pro-upgrade-overlay.svg);\n\tbackground-repeat: repeat, no-repeat;\n\tbackground-size: 1224px, 1880px;\n\tbackground-position: left top, -520px -680px;\n\tcolor: $gray-200;\n\tborder-radius: 8px;\n\tmargin-top: 24px;\n\tmargin-bottom: 24px;\n\n\t@media screen and (max-width: 768px) {\n\t\tbackground-size: 1024px, 980px;\n\t\tbackground-position: left top, -500px -200px;\n\t}\n\n\t@media screen and (max-width: 1200px) {\n\t\tbackground-size: 1024px, 1880px;\n\t\tbackground-position: left top, -520px -300px;\n\t}\n\n\t.postbox-header {\n\t\tdisplay: none;\n\t}\n\n\t.inside {\n\t\twidth: 100%;\n\t\tborder: none;\n\t\tpadding: 0;\n\t}\n\n\t.acf-field-group-pro-features-wrapper {\n\t\tdisplay: flex;\n\t\tjustify-content: center;\n\t\talign-content: stretch;\n\t\talign-items: center;\n\t\tgap: 96px;\n\t\theight: 358px;\n\t\tmax-width: 950px;\n\t\tmargin: 0 auto;\n\t\tpadding: 0 35px;\n\n\t\t@media screen and (max-width: 1200px) {\n\t\t\tgap: 48px;\n\t\t}\n\n\t\t@media screen and (max-width: 768px) {\n\t\t\tgap: 0;\n\t\t}\n\n\t\t.acf-field-group-pro-features-title,\n\t\t.acf-field-group-pro-features-title-sm {\n\t\t\tfont-weight: 590;\n\t\t\tline-height: 150%;\n\n\t\t\t.acf-pro-label {\n\t\t\t\tfont-weight: 400;\n\t\t\t\tmargin-top: -6px;\n\t\t\t\tmargin-left: 2px;\n\t\t\t\tvertical-align: middle;\n\t\t\t\theight: 22px;\n\t\t\t\tposition: relative;\n\t\t\t\toverflow: hidden;\n\n\t\t\t\t&::before {\n\t\t\t\t\tdisplay: block;\n\t\t\t\t\tposition: absolute;\n\t\t\t\t\tcontent: \"\";\n\t\t\t\t\ttop: 0;\n\t\t\t\t\tright: 0;\n\t\t\t\t\tbottom: 0;\n\t\t\t\t\tleft: 0;\n\t\t\t\t\tborder-radius: 9999px;\n\t\t\t\t\tborder: 1px solid rgba(255, 255, 255, 0.2);\n\t\t\t\t}\n\t\t\t}\n\n\t\t}\n\n\t\t.acf-field-group-pro-features-title-sm {\n\t\t\tdisplay: none !important;\n\t\t\tfont-size: 18px;\n\n\t\t\t.acf-pro-label {\n\t\t\t\tfont-size: 10px;\n\t\t\t\theight: 20px;\n\t\t\t}\n\n\t\t\t@media screen and (max-width: 768px) {\n\t\t\t\twidth: 100%;\n\t\t\t\ttext-align: center;\n\t\t\t}\n\n\t\t}\n\n\t\t@media screen and (max-width: 768px) {\n\t\t\tflex-direction: column;\n\t\t\tflex-wrap: wrap;\n\t\t\tjustify-content: flex-start;\n\t\t\talign-content: flex-start;\n\t\t\talign-items: flex-start;\n\t\t\tpadding: 32px 32px 0 32px;\n\t\t\theight: unset;\n\n\t\t\t.acf-field-group-pro-features-title-sm {\n\t\t\t\tdisplay: block !important;\n\t\t\t\tmargin-bottom: 24px;\n\t\t\t}\n\t\t}\n\n\t\t.acf-field-group-pro-features-content {\n\t\t\tdisplay: flex;\n\t\t\tflex-direction: column;\n\t\t\twidth: 416px;\n\n\t\t\t.acf-field-group-pro-features-desc {\n\t\t\t\tmargin-top: 8px;\n\t\t\t\tmargin-bottom: 24px;\n\t\t\t\tfont-size: 15px;\n\t\t\t\tfont-weight: 300;\n\t\t\t\tcolor: $gray-300;\n\t\t\t}\n\n\t\t\t@media screen and (max-width: 768px) {\n\t\t\t\twidth: 100%;\n\t\t\t\torder: 1;\n\t\t\t\tmargin: {\n\t\t\t\t\tright: 0;\n\t\t\t\t\tbottom: 8px;\n\t\t\t\t};\n\n\t\t\t\t.acf-field-group-pro-features-title,\n\t\t\t\t.acf-field-group-pro-features-desc {\n\t\t\t\t\tdisplay: none !important;\n\t\t\t\t}\n\t\t\t}\n\n\t\t}\n\n\t\t.acf-field-group-pro-features-actions {\n\t\t\tdisplay: flex;\n\t\t\tflex-direction: row;\n\t\t\talign-items: flex-start;\n\t\t\tmin-width: 160px;\n\t\t\tgap: 12px;\n\n\t\t\t@media screen and (max-width: 768px) {\n\t\t\t\tjustify-content: flex-start;\n\t\t\t\tflex-direction: column;\n\t\t\t\tmargin-bottom: 24px;\n\n\t\t\t\ta {\n\t\t\t\t\tjustify-content: center;\n\t\t\t\t\ttext-align: center;\n\t\t\t\t\twidth: 100%;\n\t\t\t\t}\n\t\t\t}\n\n\t\t}\n\n\t\t.acf-field-group-pro-features-grid {\n\t\t\tdisplay: flex;\n\t\t\tflex-direction: row;\n\t\t\tflex-wrap: wrap;\n\t\t\tgap: 16px;\n\t\t\twidth: 416px;\n\n\t\t\t.acf-field-group-pro-feature {\n\t\t\t\tdisplay: flex;\n\t\t\t\tflex-direction: column;\n\t\t\t\tjustify-content: center;\n\t\t\t\talign-items: center;\n\t\t\t\twidth: 128px;\n\t\t\t\theight: 124px;\n\t\t\t\tbackground: rgba(255, 255, 255, 0.08);\n\t\t\t\tbox-shadow: 0 0 4px rgba(0, 0, 0, 0.04), 0 8px 16px rgba(0, 0, 0, 0.08), inset 0 0 0 1px rgba(255, 255, 255, 0.08);\n\t\t\t\tbackdrop-filter: blur(6px);\n\t\t\t\tborder-radius: 8px;\n\n\t\t\t\t.field-type-icon {\n\t\t\t\t\tborder: none;\n\t\t\t\t\tbackground: none;\n\t\t\t\t\twidth: 24px;\n\t\t\t\t\topacity: 0.8;\n\n\t\t\t\t\t&::before {\n\t\t\t\t\t\tbackground-color: #fff;\n\t\t\t\t\t\twidth: 20px;\n\t\t\t\t\t\theight: 20px;\n\t\t\t\t\t}\n\n\t\t\t\t\t@media screen and (max-width: 1200px) {\n\n\t\t\t\t\t\t&::before {\n\t\t\t\t\t\t\twidth: 18px;\n\t\t\t\t\t\t\theight: 18px;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t}\n\n\t\t\t\t.pro-feature-blocks::before {\n\t\t\t\t\t-webkit-mask-image: url(\"../../images/icons/icon-extended-menu.svg\");\n\t\t\t\t\tmask-image: url(\"../../images/icons/icon-extended-menu.svg\");\n\t\t\t\t}\n\n\t\t\t\t.pro-feature-options-pages::before {\n\t\t\t\t\t-webkit-mask-image: url(\"../../images/icons/icon-settings.svg\");\n\t\t\t\t\tmask-image: url(\"../../images/icons/icon-settings.svg\");\n\t\t\t\t}\n\n\t\t\t\t.field-type-label {\n\t\t\t\t\tmargin-top: 4px;\n\t\t\t\t\tfont-size: 13px;\n\t\t\t\t\tfont-weight: 300;\n\t\t\t\t\ttext-align: center;\n\t\t\t\t\tcolor: #fff;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t@media screen and (max-width: 1200px) {\n\t\t\t\tflex-direction: column;\n\t\t\t\tgap: 8px;\n\t\t\t\twidth: 288px;\n\n\t\t\t\t.acf-field-group-pro-feature {\n\t\t\t\t\twidth: 100%;\n\t\t\t\t\theight: 40px;\n\t\t\t\t\tflex-direction: row;\n\t\t\t\t\tjustify-content: unset;\n\t\t\t\t\tgap: 8px;\n\n\n\t\t\t\t\t.field-type-icon {\n\t\t\t\t\t\tposition: initial;\n\t\t\t\t\t\tmargin-left: 16px;\n\t\t\t\t\t}\n\n\t\t\t\t\t.field-type-label {\n\t\t\t\t\t\tmargin-top: 0;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t@media screen and (max-width: 768px) {\n\t\t\t\tgap: 0;\n\t\t\t\twidth: 100%;\n\t\t\t\theight: auto;\n\t\t\t\tmargin-bottom: 16px;\n\t\t\t\tflex-direction: unset;\n\t\t\t\tflex-wrap: wrap;\n\n\t\t\t\t.acf-field-group-pro-feature {\n\t\t\t\t\tflex: 1 0 50%;\n\t\t\t\t\tmargin-bottom: 8px;\n\t\t\t\t\twidth: auto;\n\t\t\t\t\theight: auto;\n\t\t\t\t\tjustify-content: center;\n\t\t\t\t\tbackground: none;\n\t\t\t\t\tbox-shadow: none;\n\t\t\t\t\tbackdrop-filter: none;\n\n\t\t\t\t\t.field-type-label {\n\t\t\t\t\t\tmargin-left: 2px;\n\t\t\t\t\t}\n\n\t\t\t\t\t.field-type-icon {\n\t\t\t\t\t\tposition: initial;\n\t\t\t\t\t\tmargin-left: 0;\n\n\t\t\t\t\t\t&::before {\n\t\t\t\t\t\t\theight: 16px;\n\t\t\t\t\t\t\twidth: 16px;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t.field-type-label {\n\t\t\t\t\t\tfont-size: 12px;\n\t\t\t\t\t\tmargin-top: 0;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t}\n\n\th1 {\n\t\tmargin: {\n\t\t\ttop: 0;\n\t\t\tbottom: 4px;\n\t\t};\n\t\tpadding: {\n\t\t\ttop: 0;\n\t\t\tbottom: 0;\n\t\t};\n\n\t\t@extend .acf-h1;\n\t\tfont-weight: 700;\n\t\tcolor: $gray-50;\n\n\t\t.acf-icon {\n\t\t\tmargin: {\n\t\t\t\tright: 8px;\n\t\t\t};\n\t\t}\n\n\t}\n\n\t// Upsell block btn\n\t.acf-btn {\n\t\tdisplay: inline-flex;\n\t\tbackground-color: rgba(#fff, 0.1);\n\t\tborder: none;\n\t\tbox-shadow: 0 0 4px rgba(0, 0, 0, 0.04), 0 4px 8px rgba(0, 0, 0, 0.06), inset 0 0 0 1px rgba(255, 255, 255, 0.16);\n\t\tbackdrop-filter: blur(6px);\n\t\tpadding: 8px 24px;\n\t\theight: 48px;\n\n\t\t&:hover {\n\t\t\tbackground-color: rgba(#fff, 0.2);\n\t\t}\n\n\t\t.acf-icon {\n\t\t\tmargin: {\n\t\t\t\tright: -2px;\n\t\t\t\tleft: 6px;\n\t\t\t};\n\t\t}\n\n\t\t&.acf-pro-features-upgrade {\n\t\t\tbackground: $gradient-pro;\n\t\t\tbox-shadow: 0 0 4px rgba(0, 0, 0, 0.04), 0 4px 8px rgba(0, 0, 0, 0.06), inset 0 0 0 1px rgba(255, 255, 255, 0.16);\n\t\t\tborder-radius: 6px;\n\t\t}\n\t}\n\n\t.acf-field-group-pro-features-footer-wrap {\n\t\theight: 48px;\n\t\tbackground: rgba(16, 24, 40, 0.4);\n\t\tbackdrop-filter: blur(6px);\n\t\tborder-top: 1px solid rgba(255, 255, 255, 0.08);\n\t\tborder-bottom-left-radius: 8px;\n\t\tborder-bottom-right-radius: 8px;\n\t\tcolor: $gray-400;\n\t\tfont-size: 13px;\n\t\tfont-weight: 300;\n\t\tpadding: 0 35px;\n\n\t\t.acf-field-group-pro-features-footer {\n\t\t\tdisplay: flex;\n\t\t\talign-items: center;\n\t\t\tjustify-content: space-between;\n\t\t\tmax-width: 950px;\n\t\t\theight: 48px;\n\t\t\tmargin: 0 auto;\n\t\t}\n\n\t\t.acf-field-group-pro-features-wpengine-logo {\n\t\t\theight: 16px;\n\t\t\tvertical-align: middle;\n\t\t\tmargin-top: -2px;\n\t\t\tmargin-left: 3px;\n\t\t}\n\n\t\ta {\n\t\t\tcolor: $gray-400;\n\t\t\ttext-decoration: none;\n\n\t\t\t&:hover {\n\t\t\t\tcolor: $gray-300;\n\t\t\t}\n\n\t\t\t.acf-icon {\n\t\t\t\twidth: 18px;\n\t\t\t\theight: 18px;\n\t\t\t\tmargin-left: 4px;\n\t\t\t}\n\n\t\t}\n\n\t\t.acf-more-tools-from-wpengine {\n\n\t\t\ta {\n\t\t\t\tdisplay: inline-flex;\n\t\t\t\talign-items: center;\n\t\t\t}\n\n\t\t}\n\n\t\t@media screen and (max-width: 768px) {\n\t\t\theight: 70px;\n\t\t\tfont-size: 12px;\n\n\t\t\t.acf-more-tools-from-wpengine {\n\t\t\t\tdisplay: none;\n\t\t\t}\n\n\t\t\t.acf-field-group-pro-features-footer {\n\t\t\t\tjustify-content: center;\n\t\t\t\theight: 70px;\n\n\t\t\t\t.acf-field-group-pro-features-wpengine-logo {\n\t\t\t\t\tclear: both;\n\t\t\t\t\tmargin: 6px auto 0 auto;\n\t\t\t\t\tdisplay: block;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n}\n\n.acf-no-field-groups,\n.acf-no-post-types,\n.acf-no-taxonomies {\n\n\t#tmpl-acf-field-group-pro-features {\n\t\tmargin-top: 0;\n\t}\n}\n","/*--------------------------------------------------------------------------------------------\n*\n*\tPost type & taxonomies styles\n*\n*--------------------------------------------------------------------------------------------*/\n\n.acf-admin-single-post-type,\n.acf-admin-single-taxonomy,\n.acf-admin-single-options-page {\n\tlabel[for=\"acf-basic-settings-hide\"] {\n\t\tdisplay: none;\n\t}\n\tfieldset.columns-prefs {\n\t\tdisplay: none;\n\t}\n\n\t#acf-basic-settings {\n\t\t.postbox-header {\n\t\t\tdisplay: none;\n\t\t}\n\t}\n\n\t.postbox-container,\n\t.notice {\n\t\tmax-width: $max-width;\n\t\tclear: left;\n\t}\n\n\t#post-body-content {\n\t\tmargin: 0;\n\t}\n\n\t// Main postbox\n\t.postbox,\n\t.acf-box {\n\t\t.inside {\n\t\t\tpadding: {\n\t\t\t\ttop: 48px;\n\t\t\t\tright: 48px;\n\t\t\t\tbottom: 48px;\n\t\t\t\tleft: 48px;\n\t\t\t}\n\t\t}\n\t}\n\n\t#acf-advanced-settings.postbox {\n\t\t.inside {\n\t\t\tpadding: {\n\t\t\t\tbottom: 24px;\n\t\t\t}\n\t\t}\n\t}\n\n\t.postbox-container .meta-box-sortables #acf-basic-settings .inside {\n\t\tborder: none;\n\t}\n\n\t// Input wrap\n\t.acf-input-wrap {\n\t\toverflow: visible;\n\t}\n\n\t// Field & label margins & paddings\n\t.acf-field {\n\t\tmargin: {\n\t\t\ttop: 0;\n\t\t\tright: 0;\n\t\t\tbottom: 24px;\n\t\t\tleft: 0;\n\t\t}\n\n\t\t.acf-label {\n\t\t\tmargin: {\n\t\t\t\tbottom: 6px;\n\t\t\t}\n\t\t}\n\t}\n\n\t// Specific field overrides\n\t.acf-field-text,\n\t.acf-field-textarea,\n\t.acf-field-select {\n\t\tmax-width: 600px;\n\t}\n\n\t.acf-field-true-false {\n\t\tmax-width: 700px;\n\t}\n\n\t.acf-field-supports {\n\t\tmax-width: 600px;\n\n\t\t.acf-label {\n\t\t\tdisplay: block;\n\n\t\t\t.description {\n\t\t\t\tmargin: {\n\t\t\t\t\ttop: 4px;\n\t\t\t\t\tbottom: 12px;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t.acf_post_type_supports {\n\t\t\tdisplay: flex;\n\t\t\tflex-wrap: wrap;\n\t\t\tjustify-content: flex-start;\n\t\t\talign-content: flex-start;\n\t\t\talign-items: flex-start;\n\n\t\t\t&:focus-within {\n\t\t\t\tborder-color: transparent;\n\t\t\t}\n\n\t\t\tli {\n\t\t\t\tflex: 0 0 25%;\n\n\t\t\t\ta.button {\n\t\t\t\t\tbackground-color: transparent;\n\t\t\t\t\tpadding: 0;\n\t\t\t\t\tborder: 0;\n\t\t\t\t\theight: auto;\n\t\t\t\t\tmin-height: auto;\n\t\t\t\t\tmargin-top: 0;\n\t\t\t\t\tborder-radius: 0;\n\t\t\t\t\tline-height: 22px;\n\t\t\t\t\t&:before {\n\t\t\t\t\t\tcontent: '';\n\t\t\t\t\t\t$icon-size: 16px;\n\t\t\t\t\t\tmargin-right: 6px;\n\t\t\t\t\t\tdisplay: inline-flex;\n\t\t\t\t\t\twidth: $icon-size;\n\t\t\t\t\t\theight: $icon-size;\n\t\t\t\t\t\tbackground-color: currentColor;\n\t\t\t\t\t\tborder: none;\n\t\t\t\t\t\tborder-radius: 0;\n\t\t\t\t\t\t-webkit-mask-size: contain;\n\t\t\t\t\t\tmask-size: contain;\n\t\t\t\t\t\t-webkit-mask-repeat: no-repeat;\n\t\t\t\t\t\tmask-repeat: no-repeat;\n\t\t\t\t\t\t-webkit-mask-position: center;\n\t\t\t\t\t\tmask-position: center;\n\t\t\t\t\t\ttext-indent: 500%;\n\t\t\t\t\t\twhite-space: nowrap;\n\t\t\t\t\t\toverflow: hidden;\n\t\t\t\t\t\t-webkit-mask-image: url(\"../../images/icons/icon-add.svg\");\n\t\t\t\t\t\tmask-image: url(\"../../images/icons/icon-add.svg\");\n\t\t\t\t\t}\n\t\t\t\t\t&:hover {\n\t\t\t\t\t\tcolor: $blue-700;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tinput[type=text] {\n\t\t\t\t\twidth: calc(100% - 36px);\n\t\t\t\t\tpadding: 0;\n\t\t\t\t\tbox-shadow: none;\n\t\t\t\t\tborder: none;\n\t\t\t\t\tborder-bottom: 1px solid $gray-300;\n\t\t\t\t\tborder-radius: 0;\n\t\t\t\t\theight: auto;\n\t\t\t\t\tmargin: 0;\n\t\t\t\t\tmin-height: auto;\n\t\t\t\t\t&:focus {\n\t\t\t\t\t\toutline: none;\n\t\t\t\t\t\tborder-bottom-color: $blue-400;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t// Dividers\n\t.acf-field-seperator {\n\t\tmargin: {\n\t\t\ttop: 40px;\n\t\t\tbottom: 40px;\n\t\t}\n\t\tborder: {\n\t\t\ttop: 1px solid $gray-200;\n\t\t\tright: none;\n\t\t\tbottom: none;\n\t\t\tleft: none;\n\t\t}\n\t}\n\n\t// Remove margin from last fields in postbox\n\t.acf-field-advanced-configuration {\n\t\tmargin: {\n\t\t\tbottom: 0;\n\t\t}\n\t}\n\n\t// Tabbed navigation & labels utility bar\n\t.postbox-container .acf-tab-wrap,\n\t.acf-regenerate-labels-bar {\n\t\tposition: relative;\n\t\ttop: -48px;\n\t\tleft: -48px;\n\t\twidth: calc(100% + 96px);\n\t}\n\n\t// Labels utility bar\n\t.acf-regenerate-labels-bar {\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\tjustify-content: right;\n\t\tmin-height: 48px;\n\t\tmargin: {\n\t\t\tbottom: 0;\n\t\t}\n\t\tpadding: {\n\t\t\tright: 16px;\n\t\t\tleft: 16px;\n\t\t}\n\t\tgap: 8px;\n\t\tborder-bottom: {\n\t\t\twidth: 1px;\n\t\t\tstyle: solid;\n\t\t\tcolor: $gray-100;\n\t\t}\n\t}\n\n\t// Labels utility bar help/tip icon\n\t.acf-labels-tip {\n\t\tdisplay: inline-flex;\n\t\talign-items: center;\n\t\tmin-height: 24px;\n\t\tmargin: {\n\t\t\tright: 8px;\n\t\t}\n\t\tpadding: {\n\t\t\tleft: 16px;\n\t\t}\n\t\tborder-left: {\n\t\t\twidth: 1px;\n\t\t\tstyle: solid;\n\t\t\tcolor: $gray-200;\n\t\t}\n\n\t\t.acf-icon {\n\t\t\tdisplay: inline-flex;\n\t\t\talign-items: center;\n\t\t\t$icon-size: 16px;\n\t\t\twidth: $icon-size;\n\t\t\theight: $icon-size;\n\t\t\t-webkit-mask-size: $icon-size;\n\t\t\tmask-size: $icon-size;\n\t\t\tbackground-color: $gray-400;\n\t\t}\n\t}\n}\n\n// Select2 for default values in permalink rewrite\n.acf-select2-default-pill {\n\tborder-radius: 100px;\n\tmin-height: 20px;\n\tpadding: {\n\t\ttop: 2px;\n\t\tbottom: 2px;\n\t\tleft: 8px;\n\t\tright: 8px;\n\t}\n\tfont-size: 11px;\n\tmargin-left: 6px;\n\tbackground-color: $gray-200;\n\tcolor: $gray-500;\n}\n\n.acf-menu-position-desc-child {\n\tdisplay: none;\n}","/*---------------------------------------------------------------------------------------------\n*\n* Field picker modal\n*\n*---------------------------------------------------------------------------------------------*/\n.acf-modal.acf-browse-fields-modal {\n\twidth: 1120px;\n\theight: 664px;\n\ttop: 50%;\n\tright: auto;\n\tbottom: auto;\n\tleft: 50%;\n\ttransform: translate(-50%, -50%);\n\tdisplay: flex;\n\tflex-direction: row;\n\tborder-radius: $radius-xl;\n\tbox-shadow:\n\t\t0 0 4px rgba(0, 0, 0, 0.04),\n\t\t0 8px 16px rgba(0, 0, 0, 0.08);\n\toverflow: hidden;\n\n\t.acf-field-picker {\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\tflex-grow: 1;\n\t\twidth: 760px;\n\t\tbackground: #fff;\n\n\t\t.acf-modal-title,\n\t\t.acf-modal-content,\n\t\t.acf-modal-toolbar {\n\t\t\tposition: relative;\n\t\t}\n\n\t\t.acf-modal-title {\n\t\t\tdisplay: flex;\n\t\t\tflex-direction: row;\n\t\t\tjustify-content: space-between;\n\t\t\talign-items: center;\n\t\t\tbackground: $gray-50;\n\t\t\tborder: none;\n\t\t\tpadding: 35px 32px;\n\n\t\t\t.acf-search-field-types-wrap {\n\t\t\t\tposition: relative;\n\n\t\t\t\t&::after {\n\t\t\t\t\tcontent: \"\";\n\t\t\t\t\tdisplay: block;\n\t\t\t\t\tposition: absolute;\n\t\t\t\t\ttop: 11px;\n\t\t\t\t\tleft: 10px;\n\t\t\t\t\t$icon-size: 18px;\n\t\t\t\t\twidth: $icon-size;\n\t\t\t\t\theight: $icon-size;\n\t\t\t\t\t-webkit-mask-image: url(\"../../images/icons/icon-search.svg\");\n\t\t\t\t\tmask-image: url(\"../../images/icons/icon-search.svg\");\n\t\t\t\t\tbackground-color: $gray-400;\n\t\t\t\t\tborder: none;\n\t\t\t\t\tborder-radius: 0;\n\t\t\t\t\t-webkit-mask-size: contain;\n\t\t\t\t\tmask-size: contain;\n\t\t\t\t\t-webkit-mask-repeat: no-repeat;\n\t\t\t\t\tmask-repeat: no-repeat;\n\t\t\t\t\t-webkit-mask-position: center;\n\t\t\t\t\tmask-position: center;\n\t\t\t\t\ttext-indent: 500%;\n\t\t\t\t\twhite-space: nowrap;\n\t\t\t\t\toverflow: hidden;\n\t\t\t\t}\n\n\t\t\t\tinput {\n\t\t\t\t\twidth: 280px;\n\t\t\t\t\theight: 40px;\n\t\t\t\t\tmargin: 0;\n\t\t\t\t\tpadding-left: 32px;\n\t\t\t\t\tbox-shadow: none;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t.acf-modal-content {\n\t\t\ttop: auto;\n\t\t\tbottom: auto;\n\t\t\tpadding: 0;\n\t\t\theight: 100%;\n\n\t\t\t.acf-tab-group {\n\t\t\t\tpadding-left: 32px;\n\t\t\t}\n\n\t\t\t.acf-field-types-tab {\n\t\t\t\tdisplay: flex;\n\t\t\t}\n\n\t\t\t.acf-field-types-tab,\n\t\t\t.acf-field-type-search-results {\n\t\t\t\tflex-direction: row;\n\t\t\t\tflex-wrap: wrap;\n\t\t\t\tgap: 24px;\n\t\t\t\tpadding: 32px;\n\n\t\t\t\t.acf-field-type {\n\t\t\t\t\tposition: relative;\n\t\t\t\t\tdisplay: flex;\n\t\t\t\t\tflex-direction: column;\n\t\t\t\t\tjustify-content: center;\n\t\t\t\t\talign-items: center;\n\t\t\t\t\tisolation: isolate;\n\t\t\t\t\twidth: 120px;\n\t\t\t\t\theight: 120px;\n\t\t\t\t\tbackground: $gray-50;\n\t\t\t\t\tborder: 1px solid $gray-200;\n\t\t\t\t\tborder-radius: 8px;\n\t\t\t\t\tbox-sizing: border-box;\n\t\t\t\t\tcolor: $gray-800;\n\t\t\t\t\ttext-decoration: none;\n\n\t\t\t\t\t&:hover,\n\t\t\t\t\t&:active,\n\t\t\t\t\t&.selected {\n\t\t\t\t\t\tbackground: $blue-50;\n\t\t\t\t\t\tborder: 1px solid $blue-400;\n\t\t\t\t\t\tbox-shadow: inset 0 0 0 1px $blue-400;\n\t\t\t\t\t}\n\n\t\t\t\t\t.field-type-icon {\n\t\t\t\t\t\tborder: none;\n\t\t\t\t\t\tbackground: none;\n\t\t\t\t\t\ttop: 0;\n\n\t\t\t\t\t\t&::before {\n\t\t\t\t\t\t\twidth: 22px;\n\t\t\t\t\t\t\theight: 22px;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t.field-type-label {\n\t\t\t\t\t\tmargin-top: 12px;\n\n\t\t\t\t\t\t@extend .p5;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t.field-type-requires-pro {\n\t\t\t\t\tdisplay: flex;\n\t\t\t\t\tjustify-content: center;\n\t\t\t\t\talign-items: center;\n\t\t\t\t\tposition: absolute;\n\t\t\t\t\ttop: -10px;\n\t\t\t\t\tright: -10px;\n\t\t\t\t\tcolor: white;\n\t\t\t\t\tfont-size: 11px;\n\t\t\t\t\tpadding: {\n\t\t\t\t\t\tright: 6px;\n\t\t\t\t\t\tleft: 6px;\n\t\t\t\t\t}\n\t\t\t\t\tbackground-image: url(\"../../images/pro-chip.svg\");\n\t\t\t\t\tbackground-repeat: no-repeat;\n\t\t\t\t\theight: 24px;\n\t\t\t\t\twidth: 28px;\n\n\t\t\t\t\t&.not-pro {\n\t\t\t\t\t\tbackground-image: url(\"../../images/pro-chip-locked.svg\");\n\t\t\t\t\t\twidth: 43px;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t.acf-modal-toolbar {\n\t\t\tdisplay: flex;\n\t\t\talign-items: flex-start;\n\t\t\tjustify-content: space-between;\n\t\t\theight: auto;\n\t\t\tmin-height: 72px;\n\t\t\tpadding: {\n\t\t\t\ttop: 0;\n\t\t\t\tright: 32px;\n\t\t\t\tbottom: 0;\n\t\t\t\tleft: 32px;\n\t\t\t}\n\t\t\tmargin: 0;\n\t\t\tborder: none;\n\n\t\t\t.acf-select-field,\n\t\t\t.acf-btn-pro {\n\t\t\t\tmin-width: 160px;\n\t\t\t\tjustify-content: center;\n\t\t\t}\n\n\t\t\t.acf-insert-field-label {\n\t\t\t\tmin-width: 280px;\n\t\t\t\tbox-shadow: none;\n\t\t\t}\n\n\t\t\t.acf-field-picker-actions {\n\t\t\t\tdisplay: flex;\n\t\t\t\tgap: 8px;\n\t\t\t}\n\t\t}\n\t}\n\n\t.acf-field-type-preview {\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\twidth: 360px;\n\t\tbackground-color: $gray-50;\n\t\tbackground-image: url(\"../../images/field-preview-grid.png\");\n\t\tbackground-size: 740px;\n\t\tbackground-repeat: no-repeat;\n\t\tbackground-position: center bottom;\n\t\tborder-left: 1px solid $gray-200;\n\t\tbox-sizing: border-box;\n\t\tpadding: 32px;\n\n\t\t.field-type-desc {\n\t\t\tmargin: 0;\n\t\t\tpadding: 0;\n\t\t\tcolor: $gray-500;\n\t\t}\n\n\t\t.field-type-preview-container {\n\t\t\tdisplay: inline-flex;\n\t\t\tjustify-content: center;\n\t\t\twidth: 100%;\n\t\t\tmargin: {\n\t\t\t\ttop: 24px;\n\t\t\t}\n\t\t\tpadding: {\n\t\t\t\ttop: 32px;\n\t\t\t\tbottom: 32px;\n\t\t\t}\n\t\t\tbackground-color: rgba(#fff, 0.64);\n\t\t\tborder-radius: $radius-lg;\n\t\t\tbox-shadow:\n\t\t\t\t0 0 0 1px rgba(0, 0, 0, 0.04),\n\t\t\t\t0 8px 24px rgba(0, 0, 0, 0.04);\n\t\t}\n\n\t\t.field-type-image {\n\t\t\tmax-width: 232px;\n\t\t}\n\n\t\t.field-type-info {\n\t\t\tflex-grow: 1;\n\n\t\t\t.field-type-name {\n\t\t\t\tfont-size: 21px;\n\t\t\t\tmargin: {\n\t\t\t\t\ttop: 0;\n\t\t\t\t\tright: 0;\n\t\t\t\t\tbottom: 16px;\n\t\t\t\t\tleft: 0;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t.field-type-upgrade-to-unlock {\n\t\t\t\tdisplay: inline-flex;\n\t\t\t\tjustify-items: center;\n\t\t\t\talign-items: center;\n\t\t\t\tmin-height: 24px;\n\t\t\t\tmargin: {\n\t\t\t\t\tbottom: 12px;\n\t\t\t\t}\n\t\t\t\tpadding: {\n\t\t\t\t\tright: 10px;\n\t\t\t\t\tleft: 10px;\n\t\t\t\t}\n\t\t\t\tbackground: $gradient-pro;\n\t\t\t\tborder-radius: 100px;\n\t\t\t\tcolor: white;\n\t\t\t\ttext-decoration: none;\n\t\t\t\tfont-size: 10px;\n\t\t\t\ttext-transform: uppercase;\n\n\t\t\t\ti.acf-icon {\n\t\t\t\t\twidth: 14px;\n\t\t\t\t\theight: 14px;\n\t\t\t\t\tmargin: {\n\t\t\t\t\t\tright: 4px;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t.field-type-links {\n\t\t\tdisplay: flex;\n\t\t\talign-items: center;\n\t\t\tgap: 24px;\n\t\t\tmin-height: 40px;\n\n\t\t\t.acf-icon {\n\t\t\t\t$icon-size: 18px;\n\t\t\t\twidth: $icon-size;\n\t\t\t\theight: $icon-size;\n\t\t\t}\n\n\t\t\t&::before {\n\t\t\t\tdisplay: none;\n\t\t\t}\n\n\t\t\ta {\n\t\t\t\tdisplay: flex;\n\t\t\t\tgap: 6px;\n\t\t\t\ttext-decoration: none;\n\n\t\t\t\t&:hover {\n\t\t\t\t\ttext-decoration: underline;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t.acf-field-type-search-results,\n\t.acf-field-type-search-no-results {\n\t\tdisplay: none;\n\t}\n\n\t&.is-searching {\n\n\t\t.acf-tab-wrap,\n\t\t.acf-field-types-tab,\n\t\t.acf-field-type-search-no-results {\n\t\t\tdisplay: none !important;\n\t\t}\n\n\t\t.acf-field-type-search-results {\n\t\t\tdisplay: flex;\n\t\t}\n\t}\n\n\t&.no-results-found {\n\n\t\t.acf-tab-wrap,\n\t\t.acf-field-types-tab,\n\t\t.acf-field-type-search-results,\n\t\t.field-type-info,\n\t\t.field-type-links,\n\t\t.acf-field-picker-toolbar {\n\t\t\tdisplay: none !important;\n\t\t}\n\n\t\t.acf-modal-title {\n\t\t\tborder-bottom: {\n\t\t\t\twidth: 1px;\n\t\t\t\tstyle: solid;\n\t\t\t\tcolor: $gray-200;\n\t\t\t}\n\t\t}\n\n\t\t.acf-field-type-search-no-results {\n\t\t\tdisplay: flex;\n\t\t\tflex-direction: column;\n\t\t\tjustify-content: center;\n\t\t\talign-items: center;\n\t\t\theight: 100%;\n\t\t\tgap: 6px;\n\n\t\t\timg {\n\t\t\t\tmargin-bottom: 19px;\n\t\t\t}\n\n\t\t\tp {\n\t\t\t\tmargin: 0;\n\n\t\t\t\t&.acf-no-results-text {\n\t\t\t\t\tdisplay: flex;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t.acf-invalid-search-term {\n\t\t\t\tmax-width: 200px;\n\t\t\t\toverflow: hidden;\n\t\t\t\ttext-overflow: ellipsis;\n\t\t\t\tdisplay: inline-block;\n\t\t\t}\n\t\t}\n\t}\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* Hide browse fields button for smaller screen sizes\n*\n*---------------------------------------------------------------------------------------------*/\n@media only screen and (max-width: 1080px) {\n\n\t.acf-btn.browse-fields {\n\t\tdisplay: none;\n\t}\n}\n","// CSS for icon picker in blocks.\n.acf-block-body .acf-field-icon-picker {\n\t.acf-tab-group {\n\t\tmargin: 0;\n\t\tpadding-left: 0 !important;\n\t}\n}\n\n// CSS for use outside ACF admin pages (like the post editor).\n.acf-field-icon-picker {\n\tmax-width: 600px;\n\n\t.acf-tab-group{\n\t\tpadding: 0;\n\t\tborder-bottom: 0;\n\t\toverflow: hidden;\n\t}\n\n\t.active {\n\n\t\ta {\n\t\t\tbackground: $gray-500;\n\t\t\tcolor: #fff;\n\t\t}\n\t}\n\n\t.acf-dashicons-search-wrap {\n\t\tposition: relative;\n\n\t\t&::after {\n\t\t\tcontent: \"\";\n\t\t\tdisplay: block;\n\t\t\tposition: absolute;\n\t\t\ttop: 6px;\n\t\t\tleft: 10px;\n\t\t\t$icon-size: 18px;\n\t\t\twidth: $icon-size;\n\t\t\theight: $icon-size;\n\t\t\t-webkit-mask-image: url(../../images/icons/icon-search.svg);\n\t\t\tmask-image: url(../../images/icons/icon-search.svg);\n\t\t\tbackground-color: $gray-400;\n\t\t\tborder: none;\n\t\t\tborder-radius: 0;\n\t\t\t-webkit-mask-size: contain;\n\t\t\tmask-size: contain;\n\t\t\t-webkit-mask-repeat: no-repeat;\n\t\t\tmask-repeat: no-repeat;\n\t\t\t-webkit-mask-position: center;\n\t\t\tmask-position: center;\n\t\t\ttext-indent: 500%;\n\t\t\twhite-space: nowrap;\n\t\t\toverflow: hidden;\n\t\t}\n\n\t\t.acf-dashicons-search-input {\n\t\t\tpadding-left: 32px;\n\t\t\tborder-radius: 0;\n\t\t}\n\t}\n\n\t.acf-dashicons-list {\n\t\tmargin-bottom: 0;\n\t\tdisplay: flex;\n\t\tflex-wrap: wrap;\n\t\tjustify-content: space-between;\n\t\talign-content: start;\n\t\theight: 135px;\n\t\toverflow: hidden;\n\t\toverflow-y: auto;\n\t\tbackground-color: #f9f9f9;\n\t\tborder: 1px solid #8c8f94;\n\t\tborder-top: none;\n\t\tborder-radius: 0 0 6px 6px;\n\t\tgap: 8px;\n\t\tpadding: 8px;\n\n\t\t.acf-icon-picker-dashicon {\n\t\t\tbackground-color: transparent;\n\t\t\tdisplay: flex;\n\t\t\tjustify-content: center;\n\t\t\talign-items: center;\n\t\t\twidth: 32px;\n\t\t\theight: 32px;\n\t\t\tborder: solid 2px transparent;\n\t\t\tcolor: #3c434a;\n\n\t\t\tlabel {\n\t\t\t\tdisplay: none;\n\t\t\t}\n\n\t\t\t[type=\"radio\"],\n\t\t\t[type=\"radio\"]:active,\n\t\t\t[type=\"radio\"]:checked::before,\n\t\t\t[type=\"radio\"]:focus {\n\t\t\t\tall: initial;\n\t\t\t\tappearance: none;\n\t\t\t}\n\t\t}\n\n\t\t.acf-icon-picker-dashicon:hover {\n\t\t\tborder: solid 2px $blue-500;\n\t\t\tborder-radius: 6px;\n\t\t\tcursor: pointer;\n\t\t}\n\n\t\t.active {\n\t\t\tborder: solid 2px $blue-500;\n\t\t\tbackground-color: $blue-50;\n\t\t\tborder-radius: 6px;\n\t\t}\n\n\t\t.active.focus {\n\t\t\tborder: solid 2px $blue-500;\n\t\t\tbackground-color: $blue-50;\n\t\t\tborder-radius: 6px;\n\t\t\tbox-shadow: 0 0 2px #0783be;\n\t\t}\n\t}\n\n\t.acf-dashicons-list::after {\n\t\tcontent: \"\";\n\t\tflex: auto;\n\t}\n\n\t.acf-dashicons-list-empty {\n\t\tposition: relative;\n\t\tdisplay: none;\n\t\tflex-direction: column;\n\t\tjustify-content: center;\n\t\talign-items: center;\n\t\tpadding-top: 10px;\n\t\tpadding-left: 10px;\n\t\theight: 135px;\n\t\toverflow: scroll;\n\t\tbackground-color: $gray-50;\n\t\tborder: 1px solid $gray-300;\n\t\tborder-top: none;\n\t\tborder-radius: 0 0 6px 6px;\n\n\t\timg {\n\t\t\theight: 30px;\n\t\t\twidth: 30px;\n\t\t\tcolor: $gray-300;\n\t\t}\n\t}\n\n\t.acf-icon-picker-media-library,\n\t.acf-icon-picker-url-tabs {\n\t\tbox-sizing: border-box;\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\tjustify-items: center;\n\t\tgap: 12px;\n\t\tbackground-color: #f9f9f9;\n\t\tpadding: 12px;\n\t\tborder: 1px solid #8c8f94;\n\t\tborder-radius: 0;\n\n\t\t.acf-icon-picker-media-library-preview {\n\t\t\tall: unset;\n\t\t\tcursor: pointer;\n\t\t}\n\n\t\t.acf-icon-picker-media-library-preview:focus {\n\t\t\toutline: 1px solid $blue-500;\n\t\t\tborder-radius: 6px;\n\t\t}\n\n\t\t.acf-icon-picker-media-library-preview-dashicon,\n\t\t.acf-icon-picker-media-library-preview-img {\n\t\t\tbox-sizing: border-box;\n\t\t\twidth: 40px;\n\t\t\theight: 40px;\n\t\t\tborder: solid 2px transparent;\n\t\t\tcolor: #fff;\n\t\t\tbackground-color: #191e23;\n\t\t\tdisplay: flex;\n\t\t\tjustify-content: center;\n\t\t\talign-items: center;\n\t\t\tborder-radius: 6px;\n\t\t}\n\n\t\t.acf-icon-picker-media-library-preview-img > img {\n\t\t\twidth: 90%;\n\t\t\theight: 90%;\n\t\t\tobject-fit: cover;\n\t\t\tborder-radius: 5px;\n\t\t\tborder: 1px solid $gray-500;\n\t\t}\n\n\t\t.acf-icon-picker-media-library-button {\n\t\t\theight: 40px;\n\t\t\tbackground-color: $blue-500;\n\t\t\tborder: none;\n\t\t\tborder-radius: 6px;\n\t\t\tpadding: 8px 12px;\n\t\t\tcolor: #fff;\n\t\t\tdisplay: flex;\n\t\t\talign-items: center;\n\t\t\tjustify-items: center;\n\t\t\tgap: 4px;\n\t\t\tcursor: pointer;\n\t\t}\n\n\t\t.acf-icon-picker-url {\n\t\t\twidth: 100%;\n\t\t}\n\t}\n}\n\n.-left .acf-field-icon-picker {\n\tmax-width: inherit;\n}\n\n// Admin page styles.\n.acf-admin-page.acf-internal-post-type .acf-field-icon-picker {\n\tmax-width: 600px;\n\n\t.active {\n\n\t\ta {\n\t\t\tbackground: $gray-500;\n\t\t\tcolor: #fff;\n\t\t}\n\t}\n\n\t.acf-tab-button {\n\t\tborder: none;\n\t\theight: 25px;\n\t\tpadding: 5px 10px;\n\t\tborder-radius: 15px;\n\t}\n\n\tli {\n\n\t\ta .acf-tab-button {\n\t\t\tcolor: $gray-500;\n\t\t}\n\t}\n\n\t.acf-icon-picker > *:not(.acf-tab-wrap) {\n\t\ttop: -32px;\n\t\tposition: relative;\n\t}\n\n\t.acf-tab-wrap .acf-tab-group {\n\t\tmargin-right: 48px;\n\t\tdisplay: flex;\n\t\tgap: 10px;\n\t\tjustify-content: flex-end;\n\t\talign-items: center;\n\t\tbackground: none;\n\t\tborder: none;\n\t\tmax-width: 648px;\n\t\tborder-bottom-width: 0;\n\n\t\tli {\n\t\t\tall: initial;\n\t\t\tbox-sizing: border-box;\n\t\t\tmargin-bottom: -17px;\n\t\t\tmargin-right: 0;\n\t\t\tborder-radius: 10px;\n\t\t}\n\n\t\tli a {\n\t\t\tall: initial;\n\t\t\toutline: 1px solid transparent;\n\t\t\tcolor: #667085;\n\t\t\tbox-sizing: border-box;\n\t\t\tborder-radius: 100px;\n\t\t\tcursor: pointer;\n\t\t\tpadding: 7px;\n\t\t\tfont-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Oxygen-Sans, Ubuntu, Cantarell, \"Helvetica Neue\", sans-serif;\n\t\t\tfont-size: 12.5px;\n\t\t}\n\n\t\tli.active a {\n\t\t\tbackground-color: #667085;\n\t\t\tcolor: #fff;\n\t\t\tborder-bottom-width: 1px !important;\n\t\t}\n\n\t\tli a:focus {\n\t\t\toutline: 1px solid $blue-500;\n\t\t}\n\t}\n\n\t.acf-tab-wrap {\n\t\tbackground: none;\n\t\tborder: none;\n\t\toverflow: visible;\n\t}\n\n\t.acf-dashicons-search-wrap {\n\t\tposition: relative;\n\n\t\t&::after {\n\t\t\tcontent: \"\";\n\t\t\tdisplay: block;\n\t\t\tposition: absolute;\n\t\t\ttop: 11px;\n\t\t\tleft: 10px;\n\t\t\t$icon-size: 18px;\n\t\t\twidth: $icon-size;\n\t\t\theight: $icon-size;\n\t\t\t-webkit-mask-image: url(../../images/icons/icon-search.svg);\n\t\t\tmask-image: url(../../images/icons/icon-search.svg);\n\t\t\tbackground-color: $gray-400;\n\t\t\tborder: none;\n\t\t\tborder-radius: 0;\n\t\t\t-webkit-mask-size: contain;\n\t\t\tmask-size: contain;\n\t\t\t-webkit-mask-repeat: no-repeat;\n\t\t\tmask-repeat: no-repeat;\n\t\t\t-webkit-mask-position: center;\n\t\t\tmask-position: center;\n\t\t\ttext-indent: 500%;\n\t\t\twhite-space: nowrap;\n\t\t\toverflow: hidden;\n\t\t}\n\n\t\t.acf-dashicons-search-input {\n\t\t\tpadding-left: 32px;\n\t\t\tborder-radius: 6px 6px 0 0;\n\t\t}\n\t}\n\n\t.acf-dashicons-list {\n\t\tmargin-bottom: -32px;\n\t\tdisplay: flex;\n\t\tflex-wrap: wrap;\n\t\tjustify-content: space-between;\n\t\talign-content: start;\n\t\theight: 135px;\n\t\toverflow: hidden;\n\t\toverflow-y: auto;\n\t\tbackground-color: $gray-50;\n\t\tborder: 1px solid $gray-300;\n\t\tborder-top: none;\n\t\tborder-radius: 0 0 6px 6px;\n\t\tgap: 8px;\n\t\tpadding: 8px;\n\n\t\t.acf-icon-picker-dashicon {\n\t\t\tbackground-color: transparent;\n\t\t\tdisplay: flex;\n\t\t\tjustify-content: center;\n\t\t\talign-items: center;\n\t\t\twidth: 32px;\n\t\t\theight: 32px;\n\t\t\tborder: solid 2px transparent;\n\t\t\tcolor: #3c434a;\n\n\t\t\tlabel {\n\t\t\t\tdisplay: none;\n\t\t\t}\n\n\t\t\t[type=\"radio\"],\n\t\t\t[type=\"radio\"]:active,\n\t\t\t[type=\"radio\"]:checked::before,\n\t\t\t[type=\"radio\"]:focus {\n\t\t\t\tall: initial;\n\t\t\t\tappearance: none;\n\t\t\t}\n\t\t}\n\n\t\t.acf-icon-picker-dashicon:hover {\n\t\t\tborder: solid 2px $blue-500;\n\t\t\tborder-radius: 6px;\n\t\t\tcursor: pointer;\n\t\t}\n\n\t\t.active {\n\t\t\tborder: solid 2px $blue-500;\n\t\t\tbackground-color: $blue-50;\n\t\t\tborder-radius: 6px;\n\t\t}\n\n\t\t.active.focus {\n\t\t\tborder: solid 2px $blue-500;\n\t\t\tbackground-color: $blue-50;\n\t\t\tborder-radius: 6px;\n\t\t\tbox-shadow: 0 0 2px #0783be;\n\t\t}\n\t}\n\n\t.acf-dashicons-list::after {\n\t\tcontent: \"\";\n\t\tflex: auto;\n\t}\n\n\t.acf-dashicons-list-empty {\n\t\tposition: relative;\n\t\tdisplay: none;\n\t\tflex-direction: column;\n\t\tjustify-content: center;\n\t\talign-items: center;\n\t\tpadding-top: 10px;\n\t\tpadding-left: 10px;\n\t\theight: 135px;\n\t\toverflow: scroll;\n\t\tbackground-color: $gray-50;\n\t\tborder: 1px solid $gray-300;\n\t\tborder-top: none;\n\t\tborder-radius: 0 0 6px 6px;\n\n\t\timg {\n\t\t\theight: 30px;\n\t\t\twidth: 30px;\n\t\t\tcolor: $gray-300;\n\t\t}\n\t}\n\n\t.acf-icon-picker-media-library,\n\t.acf-icon-picker-url-tabs {\n\t\tbox-sizing: border-box;\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\tjustify-items: center;\n\t\tgap: 12px;\n\t\tbackground-color: $gray-50;\n\t\tpadding: 12px;\n\t\tborder: 1px solid $gray-300;\n\t\tborder-radius: 6px;\n\n\t\t.acf-icon-picker-media-library-preview {\n\t\t\tall: unset;\n\t\t\tcursor: pointer;\n\t\t}\n\n\t\t.acf-icon-picker-media-library-preview:focus {\n\t\t\toutline: 1px solid $blue-500;\n\t\t\tborder-radius: 6px;\n\t\t}\n\n\t\t.acf-icon-picker-media-library-preview-dashicon,\n\t\t.acf-icon-picker-media-library-preview-img {\n\t\t\tbox-sizing: border-box;\n\t\t\twidth: 40px;\n\t\t\theight: 40px;\n\t\t\tborder: solid 2px transparent;\n\t\t\tcolor: #fff;\n\t\t\tbackground-color: #191e23;\n\t\t\tdisplay: flex;\n\t\t\tjustify-content: center;\n\t\t\talign-items: center;\n\t\t\tborder-radius: 6px;\n\t\t}\n\n\t\t.acf-icon-picker-media-library-preview-img > img {\n\t\t\twidth: 90%;\n\t\t\theight: 90%;\n\t\t\tobject-fit: cover;\n\t\t\tborder-radius: 5px;\n\t\t\tborder: 1px solid $gray-500;\n\t\t}\n\n\t\t.acf-icon-picker-media-library-button {\n\t\t\theight: 40px;\n\t\t\tbackground-color: $blue-500;\n\t\t\tborder: none;\n\t\t\tborder-radius: 6px;\n\t\t\tpadding: 8px 12px;\n\t\t\tcolor: #fff;\n\t\t\tdisplay: flex;\n\t\t\talign-items: center;\n\t\t\tjustify-items: center;\n\t\t\tgap: 4px;\n\t\t\tcursor: pointer;\n\t\t}\n\t}\n}\n"],"names":[],"sourceRoot":""} \ No newline at end of file diff --git a/wp-content/plugins/advanced-custom-fields-pro/assets/build/css/acf-global.min.css b/wp-content/plugins/advanced-custom-fields-pro/assets/build/css/acf-global.min.css index c71d1115b..ae56e02af 100644 --- a/wp-content/plugins/advanced-custom-fields-pro/assets/build/css/acf-global.min.css +++ b/wp-content/plugins/advanced-custom-fields-pro/assets/build/css/acf-global.min.css @@ -1 +1 @@ -.acf-hl{padding:0;margin:0;list-style:none;display:block;position:relative}.acf-hl>li{float:left;display:block;margin:0;padding:0}.acf-hl>li.acf-fr{float:right}.acf-hl:before,.acf-hl:after,.acf-bl:before,.acf-bl:after,.acf-cf:before,.acf-cf:after{content:"";display:block;line-height:0}.acf-hl:after,.acf-bl:after,.acf-cf:after{clear:both}.acf-bl{padding:0;margin:0;list-style:none;display:block;position:relative}.acf-bl>li{display:block;margin:0;padding:0;float:none}.acf-hidden{display:none !important}.acf-empty{display:table-cell !important}.acf-empty *{display:none !important}.acf-fl{float:left}.acf-fr{float:right}.acf-fn{float:none}.acf-al{text-align:left}.acf-ar{text-align:right}.acf-ac{text-align:center}.acf-loading,.acf-spinner{display:inline-block;height:20px;width:20px;vertical-align:text-top;background:rgba(0,0,0,0) url(../../images/spinner.gif) no-repeat 50% 50%}.acf-spinner{display:none}.acf-spinner.is-active{display:inline-block}.spinner.is-active{display:inline-block}.acf-required{color:red}.acf-button,.acf-tab-button{pointer-events:auto !important}.acf-soh .acf-soh-target{-webkit-transition:opacity .25s 0s ease-in-out,visibility 0s linear .25s;-moz-transition:opacity .25s 0s ease-in-out,visibility 0s linear .25s;-o-transition:opacity .25s 0s ease-in-out,visibility 0s linear .25s;transition:opacity .25s 0s ease-in-out,visibility 0s linear .25s;visibility:hidden;opacity:0}.acf-soh:hover .acf-soh-target{-webkit-transition-delay:0s;-moz-transition-delay:0s;-o-transition-delay:0s;transition-delay:0s;visibility:visible;opacity:1}.show-if-value{display:none}.hide-if-value{display:block}.has-value .show-if-value{display:block}.has-value .hide-if-value{display:none}.select2-search-choice-close{-webkit-transition:none;-moz-transition:none;-o-transition:none;transition:none}.acf-tooltip{background:#1d2939;border-radius:6px;color:#d0d5dd;padding-top:8px;padding-right:12px;padding-bottom:10px;padding-left:12px;position:absolute;z-index:900000;max-width:280px;box-shadow:0px 12px 16px -4px rgba(16,24,40,.08),0px 4px 6px -2px rgba(16,24,40,.03)}.acf-tooltip:before{border:solid;border-color:rgba(0,0,0,0);border-width:6px;content:"";position:absolute}.acf-tooltip.top{margin-top:-8px}.acf-tooltip.top:before{top:100%;left:50%;margin-left:-6px;border-top-color:#2f353e;border-bottom-width:0}.acf-tooltip.right{margin-left:8px}.acf-tooltip.right:before{top:50%;margin-top:-6px;right:100%;border-right-color:#2f353e;border-left-width:0}.acf-tooltip.bottom{margin-top:8px}.acf-tooltip.bottom:before{bottom:100%;left:50%;margin-left:-6px;border-bottom-color:#2f353e;border-top-width:0}.acf-tooltip.left{margin-left:-8px}.acf-tooltip.left:before{top:50%;margin-top:-6px;left:100%;border-left-color:#2f353e;border-right-width:0}.acf-tooltip .acf-overlay{z-index:-1}.acf-tooltip.-confirm{z-index:900001}.acf-tooltip.-confirm a{text-decoration:none;color:#9ea3a8}.acf-tooltip.-confirm a:hover{text-decoration:underline}.acf-tooltip.-confirm a[data-event=confirm]{color:#f55e4f}.acf-overlay{position:fixed;top:0;bottom:0;left:0;right:0;cursor:default}.acf-tooltip-target{position:relative;z-index:900002}.acf-loading-overlay{position:absolute;top:0;bottom:0;left:0;right:0;cursor:default;z-index:99;background:rgba(249,249,249,.5)}.acf-loading-overlay i{position:absolute;top:50%;left:50%;transform:translate(-50%, -50%)}.acf-icon{display:inline-block;height:28px;width:28px;border:rgba(0,0,0,0) solid 1px;border-radius:100%;font-size:20px;line-height:21px;text-align:center;text-decoration:none;vertical-align:top;box-sizing:border-box}.acf-icon:before{font-family:dashicons;display:inline-block;line-height:1;font-weight:400;font-style:normal;speak:none;text-decoration:inherit;text-transform:none;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;width:1em;height:1em;vertical-align:middle;text-align:center}.acf-icon.-plus:before{content:""}.acf-icon.-minus:before{content:""}.acf-icon.-cancel:before{content:"";margin:-1px 0 0 -1px}.acf-icon.-pencil:before{content:""}.acf-icon.-location:before{content:""}.acf-icon.-up:before{content:"";margin-top:-0.1em}.acf-icon.-down:before{content:"";margin-top:.1em}.acf-icon.-left:before{content:"";margin-left:-0.1em}.acf-icon.-right:before{content:"";margin-left:.1em}.acf-icon.-sync:before{content:""}.acf-icon.-globe:before{content:"";margin-top:.1em;margin-left:.1em}.acf-icon.-picture:before{content:""}.acf-icon.-check:before{content:"";margin-left:-0.1em}.acf-icon.-dot-3:before{content:"";margin-top:-0.1em}.acf-icon.-arrow-combo:before{content:""}.acf-icon.-arrow-up:before{content:"";margin-left:-0.1em}.acf-icon.-arrow-down:before{content:"";margin-left:-0.1em}.acf-icon.-search:before{content:""}.acf-icon.-link-ext:before{content:""}.acf-icon.-duplicate{position:relative}.acf-icon.-duplicate:before,.acf-icon.-duplicate:after{content:"";display:block;box-sizing:border-box;width:46%;height:46%;position:absolute;top:33%;left:23%}.acf-icon.-duplicate:before{margin:-1px 0 0 1px;box-shadow:2px -2px 0px 0px currentColor}.acf-icon.-duplicate:after{border:solid 2px currentColor}.acf-icon.-trash{position:relative}.acf-icon.-trash:before,.acf-icon.-trash:after{content:"";display:block;box-sizing:border-box;width:46%;height:46%;position:absolute;top:33%;left:23%}.acf-icon.-trash:before{margin:-1px 0 0 1px;box-shadow:2px -2px 0px 0px currentColor}.acf-icon.-trash:after{border:solid 2px currentColor}.acf-icon.-collapse:before{content:"";margin-left:-0.1em}.-collapsed .acf-icon.-collapse:before{content:"";margin-left:-0.1em}span.acf-icon{color:#555d66;border-color:#b5bcc2;background-color:#fff}a.acf-icon{color:#555d66;border-color:#b5bcc2;background-color:#fff;position:relative;transition:none;cursor:pointer}a.acf-icon:hover{background:#f3f5f6;border-color:#0071a1;color:#0071a1}a.acf-icon.-minus:hover,a.acf-icon.-cancel:hover{background:#f7efef;border-color:#a10000;color:#dc3232}a.acf-icon:active,a.acf-icon:focus{outline:none;box-shadow:none}.acf-icon.-clear{border-color:rgba(0,0,0,0);background:rgba(0,0,0,0);color:#444}.acf-icon.light{border-color:rgba(0,0,0,0);background:#f5f5f5;color:#23282d}.acf-icon.dark{border-color:rgba(0,0,0,0) !important;background:#23282d;color:#eee}a.acf-icon.dark:hover{background:#191e23;color:#00b9eb}a.acf-icon.dark.-minus:hover,a.acf-icon.dark.-cancel:hover{color:#d54e21}.acf-icon.grey{border-color:rgba(0,0,0,0) !important;background:#b4b9be;color:#fff !important}.acf-icon.grey:hover{background:#00a0d2;color:#fff}.acf-icon.grey.-minus:hover,.acf-icon.grey.-cancel:hover{background:#32373c}.acf-icon.small,.acf-icon.-small{width:20px;height:20px;line-height:14px;font-size:14px}.acf-icon.small.-duplicate:before,.acf-icon.small.-duplicate:after,.acf-icon.-small.-duplicate:before,.acf-icon.-small.-duplicate:after{opacity:.8}.acf-box{background:#fff;border:1px solid #ccd0d4;position:relative;box-shadow:0 1px 1px rgba(0,0,0,.04)}.acf-box .title{border-bottom:1px solid #ccd0d4;margin:0;padding:15px}.acf-box .title h3{display:flex;align-items:center;font-size:14px;line-height:1em;margin:0;padding:0}.acf-box .inner{padding:15px}.acf-box h2{color:#333;font-size:26px;line-height:1.25em;margin:.25em 0 .75em;padding:0}.acf-box h3{margin:1.5em 0 0}.acf-box p{margin-top:.5em}.acf-box a{text-decoration:none}.acf-box i.dashicons-external{margin-top:-1px}.acf-box .footer{border-top:1px solid #ccd0d4;padding:12px;font-size:13px;line-height:1.5}.acf-box .footer p{margin:0}.acf-admin-3-8 .acf-box{border-color:#e5e5e5}.acf-admin-3-8 .acf-box .title,.acf-admin-3-8 .acf-box .footer{border-color:#e5e5e5}.acf-notice{position:relative;display:block;color:#fff;margin:5px 0 15px;padding:3px 12px;background:#2a9bd9;border-left:#1f7db1 solid 3px}.acf-notice p{font-size:13px;line-height:1.5;margin:.5em 0;text-shadow:none;color:inherit}.acf-notice .acf-notice-dismiss{position:absolute;top:9px;right:12px;background:rgba(0,0,0,0) !important;color:inherit !important;border-color:#fff !important;opacity:.75}.acf-notice .acf-notice-dismiss:hover{opacity:1}.acf-notice.-dismiss{padding-right:40px}.acf-notice.-error{background:#d94f4f;border-color:#c92c2c}.acf-notice.-success{background:#49ad52;border-color:#3a8941}.acf-notice.-warning{background:#fd8d3b;border-color:#fc7009}.acf-table{border:#ccd0d4 solid 1px;background:#fff;border-spacing:0;border-radius:0;table-layout:auto;padding:0;margin:0;width:100%;clear:both;box-sizing:content-box}.acf-table>tbody>tr>th,.acf-table>tbody>tr>td,.acf-table>thead>tr>th,.acf-table>thead>tr>td{padding:8px;vertical-align:top;background:#fff;text-align:left;border-style:solid;font-weight:normal}.acf-table>tbody>tr>th,.acf-table>thead>tr>th{position:relative;color:#333}.acf-table>thead>tr>th{border-color:#d5d9dd;border-width:0 0 1px 1px}.acf-table>thead>tr>th:first-child{border-left-width:0}.acf-table>tbody>tr{z-index:1}.acf-table>tbody>tr>td{border-color:#eee;border-width:1px 0 0 1px}.acf-table>tbody>tr>td:first-child{border-left-width:0}.acf-table>tbody>tr:first-child>td{border-top-width:0}.acf-table.-clear{border:0 none}.acf-table.-clear>tbody>tr>td,.acf-table.-clear>tbody>tr>th,.acf-table.-clear>thead>tr>td,.acf-table.-clear>thead>tr>th{border:0 none;padding:4px}.acf-remove-element{-webkit-transition:all .25s ease-out;-moz-transition:all .25s ease-out;-o-transition:all .25s ease-out;transition:all .25s ease-out;transform:translate(50px, 0);opacity:0}.acf-fade-up{-webkit-transition:all .25s ease-out;-moz-transition:all .25s ease-out;-o-transition:all .25s ease-out;transition:all .25s ease-out;transform:translate(0, -10px);opacity:0}.acf-thead,.acf-tbody,.acf-tfoot{width:100%;padding:0;margin:0}.acf-thead>li,.acf-tbody>li,.acf-tfoot>li{box-sizing:border-box;padding-top:14px;font-size:12px;line-height:14px}.acf-thead{border-bottom:#ccd0d4 solid 1px;color:#23282d}.acf-thead>li{font-size:14px;line-height:1.4;font-weight:bold}.acf-admin-3-8 .acf-thead{border-color:#dfdfdf}.acf-tfoot{background:#f5f5f5;border-top:#d5d9dd solid 1px}.acf-settings-wrap #poststuff{padding-top:15px}.acf-settings-wrap .acf-box{margin:20px 0}.acf-settings-wrap table{margin:0}.acf-settings-wrap table .button{vertical-align:middle}#acf-popup{position:fixed;z-index:900000;top:0;left:0;right:0;bottom:0;text-align:center}#acf-popup .bg{position:absolute;top:0;left:0;right:0;bottom:0;z-index:0;background:rgba(0,0,0,.25)}#acf-popup:before{content:"";display:inline-block;height:100%;vertical-align:middle}#acf-popup .acf-popup-box{display:inline-block;vertical-align:middle;z-index:1;min-width:300px;min-height:160px;border-color:#aaa;box-shadow:0 5px 30px -5px rgba(0,0,0,.25);text-align:left}html[dir=rtl] #acf-popup .acf-popup-box{text-align:right}#acf-popup .acf-popup-box .title{min-height:15px;line-height:15px}#acf-popup .acf-popup-box .title .acf-icon{position:absolute;top:10px;right:10px}html[dir=rtl] #acf-popup .acf-popup-box .title .acf-icon{right:auto;left:10px}#acf-popup .acf-popup-box .inner{min-height:50px;padding:0;margin:15px}#acf-popup .acf-popup-box .loading{position:absolute;top:45px;left:0;right:0;bottom:0;z-index:2;background:rgba(0,0,0,.1);display:none}#acf-popup .acf-popup-box .loading i{position:absolute;top:50%;left:50%;transform:translate(-50%, -50%)}.acf-submit{margin-bottom:0;line-height:28px}.acf-submit span{float:right;color:#999}.acf-submit span.-error{color:#dd4232}.acf-submit .button{margin-right:5px}#acf-upgrade-notice{position:relative;background:#fff;padding:20px}#acf-upgrade-notice:after{display:block;clear:both;content:""}#acf-upgrade-notice .col-content{float:left;width:55%;padding-left:90px}#acf-upgrade-notice .notice-container{display:flex;justify-content:space-between;align-items:flex-start;align-content:flex-start}#acf-upgrade-notice .col-actions{float:right;text-align:center}#acf-upgrade-notice img{float:left;width:64px;height:64px;margin:0 0 0 -90px}#acf-upgrade-notice h2{display:inline-block;font-size:16px;margin:2px 0 6.5px}#acf-upgrade-notice p{padding:0;margin:0}#acf-upgrade-notice .button:before{margin-top:11px}@media screen and (max-width: 640px){#acf-upgrade-notice .col-content,#acf-upgrade-notice .col-actions{float:none;padding-left:90px;width:auto;text-align:left}}#acf-upgrade-notice:has(.notice-container)::before,#acf-upgrade-notice:has(.notice-container)::after{display:none}#acf-upgrade-notice:has(.notice-container){padding-left:20px !important}.acf-wrap h1{margin-top:0;padding-top:20px}.acf-wrap .about-text{margin-top:.5em;min-height:50px}.acf-wrap .about-headline-callout{font-size:2.4em;font-weight:300;line-height:1.3;margin:1.1em 0 .2em;text-align:center}.acf-wrap .feature-section{padding:40px 0}.acf-wrap .feature-section h2{margin-top:20px}.acf-wrap .changelog{list-style:disc;padding-left:15px}.acf-wrap .changelog li{margin:0 0 .75em}.acf-wrap .acf-three-col{display:flex;flex-wrap:wrap;justify-content:space-between}.acf-wrap .acf-three-col>div{flex:1;align-self:flex-start;min-width:31%;max-width:31%}@media screen and (max-width: 880px){.acf-wrap .acf-three-col>div{min-width:48%}}@media screen and (max-width: 640px){.acf-wrap .acf-three-col>div{min-width:100%}}.acf-wrap .acf-three-col h3 .badge{display:inline-block;vertical-align:top;border-radius:5px;background:#fc9700;color:#fff;font-weight:normal;font-size:12px;padding:2px 5px}.acf-wrap .acf-three-col img+h3{margin-top:.5em}.acf-hl[data-cols]{margin-left:-10px;margin-right:-10px}.acf-hl[data-cols]>li{padding:0 6px 0 10px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.acf-hl[data-cols="2"]>li{width:50%}.acf-hl[data-cols="3"]>li{width:33.333%}.acf-hl[data-cols="4"]>li{width:25%}@media screen and (max-width: 640px){.acf-hl[data-cols]{flex-wrap:wrap;justify-content:flex-start;align-content:flex-start;align-items:flex-start;margin-left:0;margin-right:0;margin-top:-10px}.acf-hl[data-cols]>li{flex:1 1 100%;width:100% !important;padding:10px 0 0}}.acf-actions{text-align:right;z-index:1}.acf-actions.-hover{position:absolute;display:none;top:0;right:0;padding:5px;z-index:1050}html[dir=rtl] .acf-actions.-hover{right:auto;left:0}ul.acf-actions li{float:right;margin-left:4px}html[dir=rtl] .acf-fl{float:right}html[dir=rtl] .acf-fr{float:left}html[dir=rtl] .acf-hl>li{float:right}html[dir=rtl] .acf-hl>li.acf-fr{float:left}html[dir=rtl] .acf-icon.logo{left:0;right:auto}html[dir=rtl] .acf-table thead th{text-align:right;border-right-width:1px;border-left-width:0px}html[dir=rtl] .acf-table>tbody>tr>td{text-align:right;border-right-width:1px;border-left-width:0px}html[dir=rtl] .acf-table>thead>tr>th:first-child,html[dir=rtl] .acf-table>tbody>tr>td:first-child{border-right-width:0}html[dir=rtl] .acf-table>tbody>tr>td.order+td{border-right-color:#e1e1e1}.acf-postbox-columns{position:relative;margin-top:-11px;margin-bottom:-12px;margin-left:-12px;margin-right:268px}.acf-postbox-columns:after{display:block;clear:both;content:""}.acf-postbox-columns .acf-postbox-main,.acf-postbox-columns .acf-postbox-side{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:0 12px 12px}.acf-postbox-columns .acf-postbox-main{float:left;width:100%}.acf-postbox-columns .acf-postbox-side{float:right;width:280px;margin-right:-280px}.acf-postbox-columns .acf-postbox-side:before{content:"";display:block;position:absolute;width:1px;height:100%;top:0;right:0;background:#d5d9dd}.acf-admin-3-8 .acf-postbox-columns .acf-postbox-side:before{background:#dfdfdf}@media only screen and (max-width: 850px){.acf-postbox-columns{margin:0}.acf-postbox-columns .acf-postbox-main,.acf-postbox-columns .acf-postbox-side{float:none;width:auto;margin:0;padding:0}.acf-postbox-columns .acf-postbox-side{margin-top:1em}.acf-postbox-columns .acf-postbox-side:before{display:none}}.acf-panel{margin-top:-1px;border-top:1px solid #d5d9dd;border-bottom:1px solid #d5d9dd}.acf-panel .acf-panel-title{margin:0;padding:12px;font-weight:bold;cursor:pointer;font-size:inherit}.acf-panel .acf-panel-title i{float:right}.acf-panel .acf-panel-inside{margin:0;padding:0 12px 12px;display:none}.acf-panel.-open .acf-panel-inside{display:block}.postbox .acf-panel{margin-left:-12px;margin-right:-12px}.acf-panel .acf-field{margin:20px 0 0}.acf-panel .acf-field .acf-label label{color:#555d66;font-weight:normal}.acf-panel .acf-field:first-child{margin-top:0}.acf-admin-3-8 .acf-panel{border-color:#dfdfdf}#acf-admin-tools .notice{margin-top:10px}#acf-admin-tools .acf-meta-box-wrap .inside{border-top:none}#acf-admin-tools .acf-meta-box-wrap .acf-fields{margin-bottom:24px;border:none;background:#fff;border-radius:0}#acf-admin-tools .acf-meta-box-wrap .acf-fields .acf-field{padding:0;margin-bottom:19px;border-top:none}#acf-admin-tools .acf-meta-box-wrap .acf-fields .acf-label{margin-bottom:16px}#acf-admin-tools .acf-meta-box-wrap .acf-fields .acf-input{padding-top:16px;padding-right:16px;padding-bottom:16px;padding-left:16px;border-width:1px;border-style:solid;border-color:#d0d5dd;border-radius:6px}#acf-admin-tools .acf-meta-box-wrap .acf-fields.import-cptui{margin-top:19px}.acf-meta-box-wrap .postbox{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.acf-meta-box-wrap .postbox .inside{margin-bottom:0}.acf-meta-box-wrap .postbox .hndle{font-size:14px;padding:8px 12px;margin:0;line-height:1.4;position:relative;z-index:1;cursor:default}.acf-meta-box-wrap .postbox .handlediv,.acf-meta-box-wrap .postbox .handle-order-higher,.acf-meta-box-wrap .postbox .handle-order-lower{display:none}.acf-meta-box-wrap.-grid{margin-left:8px;margin-right:8px}.acf-meta-box-wrap.-grid .postbox{float:left;clear:left;width:50%;margin:0 0 16px}.acf-meta-box-wrap.-grid .postbox:nth-child(odd){margin-left:-8px}.acf-meta-box-wrap.-grid .postbox:nth-child(even){float:right;clear:right;margin-right:-8px}@media only screen and (max-width: 850px){.acf-meta-box-wrap.-grid{margin-left:0;margin-right:0}.acf-meta-box-wrap.-grid .postbox{margin-left:0 !important;margin-right:0 !important;width:100%}}#acf-admin-tool-export p{max-width:800px}#acf-admin-tool-export ul{display:flex;flex-wrap:wrap;width:100%}#acf-admin-tool-export ul li{flex:0 1 33.33%}@media screen and (max-width: 1600px){#acf-admin-tool-export ul li{flex:0 1 50%}}@media screen and (max-width: 1200px){#acf-admin-tool-export ul li{flex:0 1 100%}}#acf-admin-tool-export .acf-postbox-side ul{display:block}#acf-admin-tool-export .acf-postbox-side .button{margin:0;width:100%}#acf-admin-tool-export textarea{display:block;width:100%;min-height:500px;background:#f9fafb;border-color:#d0d5dd;box-shadow:none;padding:7px;border-radius:6px}#acf-admin-tool-export .acf-panel-selection .acf-label label{font-weight:bold;color:#344054}#acf-admin-tool-import ul{column-width:200px}.acf-css-tooltip{position:relative}.acf-css-tooltip:before{content:attr(aria-label);display:none;position:absolute;z-index:999;bottom:100%;left:50%;transform:translate(-50%, -8px);background:#191e23;border-radius:2px;padding:5px 10px;color:#fff;font-size:12px;line-height:1.4em;white-space:pre}.acf-css-tooltip:after{content:"";display:none;position:absolute;z-index:998;bottom:100%;left:50%;transform:translate(-50%, 4px);border:solid 6px rgba(0,0,0,0);border-top-color:#191e23}.acf-css-tooltip:hover:before,.acf-css-tooltip:hover:after,.acf-css-tooltip:focus:before,.acf-css-tooltip:focus:after{display:block}.acf-diff .acf-diff-title{position:absolute;top:0;left:0;right:0;height:40px;padding:14px 16px;background:#f3f3f3;border-bottom:#ddd solid 1px}.acf-diff .acf-diff-title strong{font-size:14px;display:block}.acf-diff .acf-diff-title .acf-diff-title-left,.acf-diff .acf-diff-title .acf-diff-title-right{width:50%;float:left}.acf-diff .acf-diff-content{position:absolute;top:70px;left:0;right:0;bottom:0;overflow:auto}.acf-diff table.diff{border-spacing:0}.acf-diff table.diff col.diffsplit.middle{width:0}.acf-diff table.diff td,.acf-diff table.diff th{padding-top:.25em;padding-bottom:.25em}.acf-diff table.diff tr td:nth-child(2){width:auto}.acf-diff table.diff td:nth-child(3){border-left:#ddd solid 1px}@media screen and (max-width: 600px){.acf-diff .acf-diff-title{height:70px}.acf-diff .acf-diff-content{top:100px}}.acf-modal{position:fixed;top:30px;left:30px;right:30px;bottom:30px;z-index:160000;box-shadow:0 5px 15px rgba(0,0,0,.7);background:#fcfcfc}.acf-modal .acf-modal-title,.acf-modal .acf-modal-content,.acf-modal .acf-modal-toolbar{box-sizing:border-box;position:absolute;left:0;right:0}.acf-modal .acf-modal-title{height:50px;top:0;border-bottom:1px solid #ddd}.acf-modal .acf-modal-title h2{margin:0;padding:0 16px;line-height:50px}.acf-modal .acf-modal-title .acf-modal-close{position:absolute;top:0;right:0;height:50px;width:50px;border:none;border-left:1px solid #ddd;background:rgba(0,0,0,0);cursor:pointer;color:#666}.acf-modal .acf-modal-title .acf-modal-close:hover{color:#00a0d2}.acf-modal .acf-modal-content{top:50px;bottom:60px;background:#fff;overflow:auto;padding:16px}.acf-modal .acf-modal-feedback{position:absolute;top:50%;margin:-10px 0;left:0;right:0;text-align:center;opacity:.75}.acf-modal .acf-modal-feedback.error{opacity:1;color:#b52727}.acf-modal .acf-modal-toolbar{height:60px;bottom:0;padding:15px 16px;border-top:1px solid #ddd}.acf-modal .acf-modal-toolbar .button{float:right}@media only screen and (max-width: 640px){.acf-modal{top:0;left:0;right:0;bottom:0}}.acf-modal-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;background:#101828;opacity:.8;z-index:159900}@media only screen and (-webkit-min-device-pixel-ratio: 2),only screen and (min--moz-device-pixel-ratio: 2),only screen and (-o-min-device-pixel-ratio: 2/1),only screen and (min-device-pixel-ratio: 2),only screen and (min-resolution: 192dpi),only screen and (min-resolution: 2dppx){.acf-loading,.acf-spinner{background-image:url(../../images/spinner@2x.gif);background-size:20px 20px}}.acf-admin-page .wrap{margin-top:48px;margin-right:32px;margin-bottom:0;margin-left:12px}@media screen and (max-width: 768px){.acf-admin-page .wrap{margin-right:8px;margin-left:8px}}.acf-admin-page.rtl .wrap{margin-right:12px;margin-left:32px}@media screen and (max-width: 768px){.acf-admin-page.rtl .wrap{margin-right:8px;margin-left:8px}}@media screen and (max-width: 768px){.acf-admin-page #wpcontent{padding-left:0}}.acf-admin-page #wpfooter{font-style:italic}.acf-admin-page .postbox,.acf-admin-page .acf-box{border:none;border-radius:8px;box-shadow:0px 1px 2px rgba(16,24,40,.1)}.acf-admin-page .postbox .inside,.acf-admin-page .acf-box .inside{padding-top:24px;padding-right:24px;padding-bottom:24px;padding-left:24px}.acf-admin-page .postbox .acf-postbox-inner,.acf-admin-page .acf-box .acf-postbox-inner{margin-top:0;margin-right:0;margin-bottom:0;margin-left:0;padding-top:24px;padding-right:0;padding-bottom:0;padding-left:0}.acf-admin-page .postbox .inner,.acf-admin-page .postbox .inside,.acf-admin-page .acf-box .inner,.acf-admin-page .acf-box .inside{margin-top:0 !important;margin-right:0 !important;margin-bottom:0 !important;margin-left:0 !important;border-top-width:1px;border-top-style:solid;border-top-color:#eaecf0}.acf-admin-page .postbox .postbox-header,.acf-admin-page .postbox .title,.acf-admin-page .acf-box .postbox-header,.acf-admin-page .acf-box .title{display:flex;align-items:center;box-sizing:border-box;min-height:64px;margin-top:0;margin-right:0;margin-bottom:0;margin-left:0;padding-top:0;padding-right:24px;padding-bottom:0;padding-left:24px;border-bottom-width:0;border-bottom-style:none}.acf-admin-page .postbox .postbox-header h2,.acf-admin-page .postbox .postbox-header h3,.acf-admin-page .postbox .title h2,.acf-admin-page .postbox .title h3,.acf-admin-page .acf-box .postbox-header h2,.acf-admin-page .acf-box .postbox-header h3,.acf-admin-page .acf-box .title h2,.acf-admin-page .acf-box .title h3{margin-top:0;margin-right:0;margin-bottom:0;margin-left:0;padding-top:0;padding-right:0;padding-bottom:0;padding-left:0;color:#344054}.acf-admin-page .postbox .hndle,.acf-admin-page .acf-box .hndle{padding-top:0;padding-right:24px;padding-bottom:0;padding-left:24px}.acf-postbox-header{display:flex;align-items:center;justify-content:space-between;box-sizing:border-box;min-height:64px;margin-top:-24px;margin-right:-24px;margin-bottom:0;margin-left:-24px;padding-top:0;padding-right:24px;padding-bottom:0;padding-left:24px;border-bottom-width:1px;border-bottom-style:solid;border-bottom-color:#eaecf0}.acf-postbox-header h2.acf-postbox-title{margin-top:0;margin-right:0;margin-bottom:0;margin-left:0;padding-top:0;padding-right:24px;padding-bottom:0;padding-left:0;color:#344054}.rtl .acf-postbox-header h2.acf-postbox-title{padding-right:0;padding-left:24px}.acf-postbox-header .acf-icon{background-color:#98a2b3}.acf-admin-page #screen-meta-links{margin-right:32px}.acf-admin-page #screen-meta-links .show-settings{border-color:#d0d5dd}@media screen and (max-width: 768px){.acf-admin-page #screen-meta-links{margin-right:16px;margin-bottom:0}}.acf-admin-page.rtl #screen-meta-links{margin-right:0;margin-left:32px}@media screen and (max-width: 768px){.acf-admin-page.rtl #screen-meta-links{margin-right:0;margin-left:16px}}.acf-admin-page #screen-meta{border-color:#d0d5dd}.acf-admin-page #poststuff .postbox-header h2,.acf-admin-page #poststuff .postbox-header h3{justify-content:flex-start;margin-top:0;margin-right:0;margin-bottom:0;margin-left:0;padding-top:0;padding-right:0;padding-bottom:0;padding-left:0;color:#344054 !important}.acf-admin-page.is-dragging-metaboxes .metabox-holder .postbox-container .meta-box-sortables{box-sizing:border-box;padding:2px;outline:none;background-image:repeating-linear-gradient(0deg, #667085, #667085 5px, transparent 5px, transparent 10px, #667085 10px),repeating-linear-gradient(90deg, #667085, #667085 5px, transparent 5px, transparent 10px, #667085 10px),repeating-linear-gradient(180deg, #667085, #667085 5px, transparent 5px, transparent 10px, #667085 10px),repeating-linear-gradient(270deg, #667085, #667085 5px, transparent 5px, transparent 10px, #667085 10px);background-size:1.5px 100%,100% 1.5px,1.5px 100%,100% 1.5px;background-position:0 0,0 0,100% 0,0 100%;background-repeat:no-repeat;border-radius:8px}.acf-admin-page .ui-sortable-placeholder{border:none}.acf-admin-page .subtitle{display:inline-flex;align-items:center;height:24px;margin:0;padding-top:4px;padding-right:12px;padding-bottom:4px;padding-left:12px;background-color:#ebf5fa;border-width:1px;border-style:solid;border-color:#a5d2e7;border-radius:6px}.acf-admin-page .subtitle strong{margin-left:5px}.acf-actions-strip{display:flex}.acf-actions-strip .acf-btn{margin-right:8px}.acf-admin-page .acf-notice,.acf-admin-page .notice,.acf-admin-page #lost-connection-notice{position:relative;box-sizing:border-box;min-height:48px;margin-top:0 !important;margin-right:0 !important;margin-bottom:16px !important;margin-left:0 !important;padding-top:13px !important;padding-right:16px;padding-bottom:12px !important;padding-left:50px !important;background-color:#e7eff9;border-width:1px;border-style:solid;border-color:#9dbaee;border-radius:8px;box-shadow:0px 1px 2px rgba(16,24,40,.1);color:#344054}.acf-admin-page .acf-notice.update-nag,.acf-admin-page .notice.update-nag,.acf-admin-page #lost-connection-notice.update-nag{display:block;position:relative;width:calc(100% - 44px);margin-top:48px !important;margin-right:44px !important;margin-bottom:-32px !important;margin-left:12px !important}.acf-admin-page .acf-notice .button,.acf-admin-page .notice .button,.acf-admin-page #lost-connection-notice .button{height:auto;margin-left:8px;padding:0;border:none}.acf-admin-page .acf-notice>div,.acf-admin-page .notice>div,.acf-admin-page #lost-connection-notice>div{margin-top:0;margin-bottom:0}.acf-admin-page .acf-notice p,.acf-admin-page .notice p,.acf-admin-page #lost-connection-notice p{flex:1 0 auto;max-width:100%;line-height:18px;margin:0;padding:0}.acf-admin-page .acf-notice p.help,.acf-admin-page .notice p.help,.acf-admin-page #lost-connection-notice p.help{margin-top:0;padding-top:0;color:rgba(52,64,84,.7)}.acf-admin-page .acf-notice .acf-notice-dismiss,.acf-admin-page .acf-notice .notice-dismiss,.acf-admin-page .notice .acf-notice-dismiss,.acf-admin-page .notice .notice-dismiss,.acf-admin-page #lost-connection-notice .acf-notice-dismiss,.acf-admin-page #lost-connection-notice .notice-dismiss{position:absolute;top:4px;right:8px;padding:9px;border:none}.acf-admin-page .acf-notice .acf-notice-dismiss:before,.acf-admin-page .acf-notice .notice-dismiss:before,.acf-admin-page .notice .acf-notice-dismiss:before,.acf-admin-page .notice .notice-dismiss:before,.acf-admin-page #lost-connection-notice .acf-notice-dismiss:before,.acf-admin-page #lost-connection-notice .notice-dismiss:before{content:"";display:block;position:relative;z-index:600;width:20px;height:20px;background-color:#667085;border:none;border-radius:0;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;-webkit-mask-image:url("../../images/icons/icon-close.svg");mask-image:url("../../images/icons/icon-close.svg")}.acf-admin-page .acf-notice .acf-notice-dismiss:hover::before,.acf-admin-page .acf-notice .notice-dismiss:hover::before,.acf-admin-page .notice .acf-notice-dismiss:hover::before,.acf-admin-page .notice .notice-dismiss:hover::before,.acf-admin-page #lost-connection-notice .acf-notice-dismiss:hover::before,.acf-admin-page #lost-connection-notice .notice-dismiss:hover::before{background-color:#344054}.acf-admin-page .acf-notice a.acf-notice-dismiss,.acf-admin-page .notice a.acf-notice-dismiss,.acf-admin-page #lost-connection-notice a.acf-notice-dismiss{position:absolute;top:5px;right:24px}.acf-admin-page .acf-notice a.acf-notice-dismiss:before,.acf-admin-page .notice a.acf-notice-dismiss:before,.acf-admin-page #lost-connection-notice a.acf-notice-dismiss:before{background-color:#475467}.acf-admin-page .acf-notice:before,.acf-admin-page .notice:before,.acf-admin-page #lost-connection-notice:before{content:"";display:block;position:absolute;top:15px;left:18px;z-index:600;width:16px;height:16px;margin-right:8px;background-color:#fff;border:none;border-radius:0;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;-webkit-mask-image:url("../../images/icons/icon-info-solid.svg");mask-image:url("../../images/icons/icon-info-solid.svg")}.acf-admin-page .acf-notice:after,.acf-admin-page .notice:after,.acf-admin-page #lost-connection-notice:after{content:"";display:block;position:absolute;top:9px;left:12px;z-index:500;width:28px;height:28px;background-color:#2d69da;border-radius:6px;box-shadow:0px 1px 2px rgba(16,24,40,.1)}.acf-admin-page .acf-notice .local-restore,.acf-admin-page .notice .local-restore,.acf-admin-page #lost-connection-notice .local-restore{align-items:center;margin-top:-6px;margin-bottom:0}.acf-admin-page .notice[data-persisted=true]{display:none}.acf-admin-page .notice.is-dismissible{padding-right:56px}.acf-admin-page .notice.notice-success{background-color:#edf7ef;border-color:#b6deb9}.acf-admin-page .notice.notice-success:before{-webkit-mask-image:url("../../images/icons/icon-check-circle-solid.svg");mask-image:url("../../images/icons/icon-check-circle-solid.svg")}.acf-admin-page .notice.notice-success:after{background-color:#52aa59}.acf-admin-page .acf-notice.acf-error-message,.acf-admin-page .notice.notice-error,.acf-admin-page #lost-connection-notice{background-color:#f7eeeb;border-color:#f1b6b3}.acf-admin-page .acf-notice.acf-error-message:before,.acf-admin-page .notice.notice-error:before,.acf-admin-page #lost-connection-notice:before{-webkit-mask-image:url("../../images/icons/icon-warning.svg");mask-image:url("../../images/icons/icon-warning.svg")}.acf-admin-page .acf-notice.acf-error-message:after,.acf-admin-page .notice.notice-error:after,.acf-admin-page #lost-connection-notice:after{background-color:#d13737}.acf-admin-page .notice.notice-warning{background:linear-gradient(0deg, rgba(247, 144, 9, 0.08), rgba(247, 144, 9, 0.08)),#fff;border:1px solid rgba(247,144,9,.32);color:#344054}.acf-admin-page .notice.notice-warning:before{-webkit-mask-image:url("../../images/icons/icon-alert-triangle.svg");mask-image:url("../../images/icons/icon-alert-triangle.svg");background:#f56e28}.acf-admin-page .notice.notice-warning:after{content:none}.acf-admin-single-taxonomy .notice-success .acf-item-saved-text,.acf-admin-single-post-type .notice-success .acf-item-saved-text,.acf-admin-single-options-page .notice-success .acf-item-saved-text{font-weight:600}.acf-admin-single-taxonomy .notice-success .acf-item-saved-links,.acf-admin-single-post-type .notice-success .acf-item-saved-links,.acf-admin-single-options-page .notice-success .acf-item-saved-links{display:flex;gap:12px}.acf-admin-single-taxonomy .notice-success .acf-item-saved-links a,.acf-admin-single-post-type .notice-success .acf-item-saved-links a,.acf-admin-single-options-page .notice-success .acf-item-saved-links a{text-decoration:none;opacity:1}.acf-admin-single-taxonomy .notice-success .acf-item-saved-links a:after,.acf-admin-single-post-type .notice-success .acf-item-saved-links a:after,.acf-admin-single-options-page .notice-success .acf-item-saved-links a:after{content:"";width:1px;height:13px;display:inline-flex;position:relative;top:2px;left:6px;background-color:#475467;opacity:.3}.acf-admin-single-taxonomy .notice-success .acf-item-saved-links a:last-child:after,.acf-admin-single-post-type .notice-success .acf-item-saved-links a:last-child:after,.acf-admin-single-options-page .notice-success .acf-item-saved-links a:last-child:after{content:none}.rtl.acf-field-group .notice,.rtl.acf-internal-post-type .notice{padding-right:50px !important}.rtl.acf-field-group .notice .notice-dismiss,.rtl.acf-internal-post-type .notice .notice-dismiss{left:8px;right:unset}.rtl.acf-field-group .notice:before,.rtl.acf-internal-post-type .notice:before{left:unset;right:10px}.rtl.acf-field-group .notice:after,.rtl.acf-internal-post-type .notice:after{left:unset;right:12px}.rtl.acf-field-group.acf-admin-single-taxonomy .notice-success .acf-item-saved-links a:after,.rtl.acf-field-group.acf-admin-single-post-type .notice-success .acf-item-saved-links a:after,.rtl.acf-field-group.acf-admin-single-options-page .notice-success .acf-item-saved-links a:after,.rtl.acf-internal-post-type.acf-admin-single-taxonomy .notice-success .acf-item-saved-links a:after,.rtl.acf-internal-post-type.acf-admin-single-post-type .notice-success .acf-item-saved-links a:after,.rtl.acf-internal-post-type.acf-admin-single-options-page .notice-success .acf-item-saved-links a:after{left:unset;right:6px}.acf-pro-label{display:inline-flex;align-items:center;min-height:22px;border:none;font-size:11px;text-transform:uppercase;text-decoration:none;color:#fff}.acf-admin-page .acf-field .acf-notice{display:flex;align-items:center;min-height:40px !important;margin-bottom:6px !important;padding-top:6px !important;padding-left:40px !important;padding-bottom:6px !important;margin:0 0 15px;background:#edf2ff;color:#344054 !important;border-color:#2183b9;border-radius:6px}.acf-admin-page .acf-field .acf-notice:after{top:8px;left:8px;width:22px;height:22px}.acf-admin-page .acf-field .acf-notice:before{top:12px;left:12px;width:14px;height:14px}.acf-admin-page .acf-field .acf-notice.-error{background:#f7eeeb;border-color:#f1b6b3}.acf-admin-page .acf-field .acf-notice.-success{background:#edf7ef;border-color:#b6deb9}.acf-admin-page .acf-field .acf-notice.-warning{background:#fdf8eb;border-color:#f4dbb4}.acf-admin-page #wpcontent{line-height:140%}.acf-admin-page a{color:#0783be}.acf-h1,.acf-admin-page #tmpl-acf-field-group-pro-features h1,.acf-admin-page #acf-field-group-pro-features h1,.acf-admin-page h1,.acf-headerbar h1{font-size:21px;font-weight:400}.acf-h2,.acf-no-field-groups-wrapper .acf-no-field-groups-inner h2,.acf-no-field-groups-wrapper .acf-no-taxonomies-inner h2,.acf-no-field-groups-wrapper .acf-no-post-types-inner h2,.acf-no-field-groups-wrapper .acf-no-options-pages-inner h2,.acf-no-field-groups-wrapper .acf-options-preview-inner h2,.acf-no-taxonomies-wrapper .acf-no-field-groups-inner h2,.acf-no-taxonomies-wrapper .acf-no-taxonomies-inner h2,.acf-no-taxonomies-wrapper .acf-no-post-types-inner h2,.acf-no-taxonomies-wrapper .acf-no-options-pages-inner h2,.acf-no-taxonomies-wrapper .acf-options-preview-inner h2,.acf-no-post-types-wrapper .acf-no-field-groups-inner h2,.acf-no-post-types-wrapper .acf-no-taxonomies-inner h2,.acf-no-post-types-wrapper .acf-no-post-types-inner h2,.acf-no-post-types-wrapper .acf-no-options-pages-inner h2,.acf-no-post-types-wrapper .acf-options-preview-inner h2,.acf-no-options-pages-wrapper .acf-no-field-groups-inner h2,.acf-no-options-pages-wrapper .acf-no-taxonomies-inner h2,.acf-no-options-pages-wrapper .acf-no-post-types-inner h2,.acf-no-options-pages-wrapper .acf-no-options-pages-inner h2,.acf-no-options-pages-wrapper .acf-options-preview-inner h2,.acf-options-preview-wrapper .acf-no-field-groups-inner h2,.acf-options-preview-wrapper .acf-no-taxonomies-inner h2,.acf-options-preview-wrapper .acf-no-post-types-inner h2,.acf-options-preview-wrapper .acf-no-options-pages-inner h2,.acf-options-preview-wrapper .acf-options-preview-inner h2,.acf-page-title,.acf-admin-page h2,.acf-headerbar h2{font-size:18px;font-weight:400}.acf-h3,.acf-admin-page h3,.acf-headerbar h3,.acf-admin-page .postbox .postbox-header h2,.acf-admin-page .postbox .postbox-header h3,.acf-admin-page .postbox .title h2,.acf-admin-page .postbox .title h3,.acf-admin-page .acf-box .postbox-header h2,.acf-admin-page .acf-box .postbox-header h3,.acf-admin-page .acf-box .title h2,.acf-admin-page .acf-box .title h3,.acf-postbox-header h2.acf-postbox-title,.acf-admin-page #poststuff .postbox-header h2,.acf-admin-page #poststuff .postbox-header h3{font-size:16px;font-weight:400}.acf-admin-page .p1{font-size:15px}.acf-admin-page .p2,.acf-admin-page .acf-no-field-groups-wrapper .acf-no-field-groups-inner p,.acf-no-field-groups-wrapper .acf-no-field-groups-inner .acf-admin-page p,.acf-admin-page .acf-no-field-groups-wrapper .acf-no-taxonomies-inner p,.acf-no-field-groups-wrapper .acf-no-taxonomies-inner .acf-admin-page p,.acf-admin-page .acf-no-field-groups-wrapper .acf-no-post-types-inner p,.acf-no-field-groups-wrapper .acf-no-post-types-inner .acf-admin-page p,.acf-admin-page .acf-no-field-groups-wrapper .acf-no-options-pages-inner p,.acf-no-field-groups-wrapper .acf-no-options-pages-inner .acf-admin-page p,.acf-admin-page .acf-no-field-groups-wrapper .acf-options-preview-inner p,.acf-no-field-groups-wrapper .acf-options-preview-inner .acf-admin-page p,.acf-admin-page .acf-no-taxonomies-wrapper .acf-no-field-groups-inner p,.acf-no-taxonomies-wrapper .acf-no-field-groups-inner .acf-admin-page p,.acf-admin-page .acf-no-taxonomies-wrapper .acf-no-taxonomies-inner p,.acf-no-taxonomies-wrapper .acf-no-taxonomies-inner .acf-admin-page p,.acf-admin-page .acf-no-taxonomies-wrapper .acf-no-post-types-inner p,.acf-no-taxonomies-wrapper .acf-no-post-types-inner .acf-admin-page p,.acf-admin-page .acf-no-taxonomies-wrapper .acf-no-options-pages-inner p,.acf-no-taxonomies-wrapper .acf-no-options-pages-inner .acf-admin-page p,.acf-admin-page .acf-no-taxonomies-wrapper .acf-options-preview-inner p,.acf-no-taxonomies-wrapper .acf-options-preview-inner .acf-admin-page p,.acf-admin-page .acf-no-post-types-wrapper .acf-no-field-groups-inner p,.acf-no-post-types-wrapper .acf-no-field-groups-inner .acf-admin-page p,.acf-admin-page .acf-no-post-types-wrapper .acf-no-taxonomies-inner p,.acf-no-post-types-wrapper .acf-no-taxonomies-inner .acf-admin-page p,.acf-admin-page .acf-no-post-types-wrapper .acf-no-post-types-inner p,.acf-no-post-types-wrapper .acf-no-post-types-inner .acf-admin-page p,.acf-admin-page .acf-no-post-types-wrapper .acf-no-options-pages-inner p,.acf-no-post-types-wrapper .acf-no-options-pages-inner .acf-admin-page p,.acf-admin-page .acf-no-post-types-wrapper .acf-options-preview-inner p,.acf-no-post-types-wrapper .acf-options-preview-inner .acf-admin-page p,.acf-admin-page .acf-no-options-pages-wrapper .acf-no-field-groups-inner p,.acf-no-options-pages-wrapper .acf-no-field-groups-inner .acf-admin-page p,.acf-admin-page .acf-no-options-pages-wrapper .acf-no-taxonomies-inner p,.acf-no-options-pages-wrapper .acf-no-taxonomies-inner .acf-admin-page p,.acf-admin-page .acf-no-options-pages-wrapper .acf-no-post-types-inner p,.acf-no-options-pages-wrapper .acf-no-post-types-inner .acf-admin-page p,.acf-admin-page .acf-no-options-pages-wrapper .acf-no-options-pages-inner p,.acf-no-options-pages-wrapper .acf-no-options-pages-inner .acf-admin-page p,.acf-admin-page .acf-no-options-pages-wrapper .acf-options-preview-inner p,.acf-no-options-pages-wrapper .acf-options-preview-inner .acf-admin-page p,.acf-admin-page .acf-options-preview-wrapper .acf-no-field-groups-inner p,.acf-options-preview-wrapper .acf-no-field-groups-inner .acf-admin-page p,.acf-admin-page .acf-options-preview-wrapper .acf-no-taxonomies-inner p,.acf-options-preview-wrapper .acf-no-taxonomies-inner .acf-admin-page p,.acf-admin-page .acf-options-preview-wrapper .acf-no-post-types-inner p,.acf-options-preview-wrapper .acf-no-post-types-inner .acf-admin-page p,.acf-admin-page .acf-options-preview-wrapper .acf-no-options-pages-inner p,.acf-options-preview-wrapper .acf-no-options-pages-inner .acf-admin-page p,.acf-admin-page .acf-options-preview-wrapper .acf-options-preview-inner p,.acf-options-preview-wrapper .acf-options-preview-inner .acf-admin-page p,.acf-admin-page #acf-admin-tools .acf-meta-box-wrap .acf-fields .acf-label,#acf-admin-tools .acf-meta-box-wrap .acf-fields .acf-admin-page .acf-label{font-size:14px}.acf-admin-page .p3,.acf-admin-page .acf-internal-post-type .wp-list-table .post-state,.acf-internal-post-type .wp-list-table .acf-admin-page .post-state,.acf-admin-page .subtitle{font-size:13.5px}.acf-admin-page .p4,.acf-admin-page .acf-admin-toolbar a.acf-admin-toolbar-upgrade-btn p,.acf-admin-toolbar a.acf-admin-toolbar-upgrade-btn .acf-admin-page p,.acf-admin-page #acf-update-information .form-table th,#acf-update-information .form-table .acf-admin-page th,.acf-admin-page #acf-update-information .form-table td,#acf-update-information .form-table .acf-admin-page td,.acf-admin-page #acf-admin-tools.tool-export .acf-panel h3,#acf-admin-tools.tool-export .acf-panel .acf-admin-page h3,.acf-admin-page .acf-btn.acf-btn-sm,.acf-admin-page .acf-admin-toolbar .acf-tab,.acf-admin-toolbar .acf-admin-page .acf-tab,.acf-admin-page .acf-options-preview .acf-options-pages-preview-upgrade-button p,.acf-options-preview .acf-options-pages-preview-upgrade-button .acf-admin-page p,.acf-admin-page .acf-no-options-pages-wrapper .acf-options-pages-preview-upgrade-button p,.acf-no-options-pages-wrapper .acf-options-pages-preview-upgrade-button .acf-admin-page p,.acf-admin-page .acf-internal-post-type .subsubsub li,.acf-internal-post-type .subsubsub .acf-admin-page li,.acf-admin-page .acf-internal-post-type .wp-list-table tbody th,.acf-internal-post-type .wp-list-table tbody .acf-admin-page th,.acf-admin-page .acf-internal-post-type .wp-list-table tbody td,.acf-internal-post-type .wp-list-table tbody .acf-admin-page td,.acf-admin-page .acf-internal-post-type .wp-list-table thead th,.acf-internal-post-type .wp-list-table thead .acf-admin-page th,.acf-admin-page .acf-internal-post-type .wp-list-table thead td,.acf-internal-post-type .wp-list-table thead .acf-admin-page td,.acf-admin-page .acf-internal-post-type .wp-list-table tfoot th,.acf-internal-post-type .wp-list-table tfoot .acf-admin-page th,.acf-admin-page .acf-internal-post-type .wp-list-table tfoot td,.acf-internal-post-type .wp-list-table tfoot .acf-admin-page td,.acf-admin-page .acf-input .select2-container.-acf .select2-selection__rendered,.acf-admin-page .rule-groups .select2-container.-acf .select2-selection__rendered,.acf-admin-page .button,.acf-admin-page input[type=text],.acf-admin-page input[type=search],.acf-admin-page input[type=number],.acf-admin-page textarea,.acf-admin-page select{font-size:13px}.acf-admin-page .p5,.acf-admin-page .acf-modal.acf-browse-fields-modal .acf-field-picker .acf-modal-content .acf-field-types-tab .acf-field-type .field-type-label,.acf-modal.acf-browse-fields-modal .acf-field-picker .acf-modal-content .acf-field-types-tab .acf-field-type .acf-admin-page .field-type-label,.acf-admin-page .acf-modal.acf-browse-fields-modal .acf-field-picker .acf-modal-content .acf-field-type-search-results .acf-field-type .field-type-label,.acf-modal.acf-browse-fields-modal .acf-field-picker .acf-modal-content .acf-field-type-search-results .acf-field-type .acf-admin-page .field-type-label,.acf-admin-page .acf-internal-post-type .row-actions,.acf-internal-post-type .acf-admin-page .row-actions,.acf-admin-page .acf-notice .button,.acf-admin-page .notice .button,.acf-admin-page #lost-connection-notice .button{font-size:12.5px}.acf-admin-page .p6,.acf-admin-page #acf-update-information .acf-update-changelog p em,#acf-update-information .acf-update-changelog p .acf-admin-page em,.acf-admin-page .acf-no-field-groups-wrapper .acf-no-field-groups-inner p.acf-small,.acf-no-field-groups-wrapper .acf-no-field-groups-inner .acf-admin-page p.acf-small,.acf-admin-page .acf-no-field-groups-wrapper .acf-no-taxonomies-inner p.acf-small,.acf-no-field-groups-wrapper .acf-no-taxonomies-inner .acf-admin-page p.acf-small,.acf-admin-page .acf-no-field-groups-wrapper .acf-no-post-types-inner p.acf-small,.acf-no-field-groups-wrapper .acf-no-post-types-inner .acf-admin-page p.acf-small,.acf-admin-page .acf-no-field-groups-wrapper .acf-no-options-pages-inner p.acf-small,.acf-no-field-groups-wrapper .acf-no-options-pages-inner .acf-admin-page p.acf-small,.acf-admin-page .acf-no-field-groups-wrapper .acf-options-preview-inner p.acf-small,.acf-no-field-groups-wrapper .acf-options-preview-inner .acf-admin-page p.acf-small,.acf-admin-page .acf-no-taxonomies-wrapper .acf-no-field-groups-inner p.acf-small,.acf-no-taxonomies-wrapper .acf-no-field-groups-inner .acf-admin-page p.acf-small,.acf-admin-page .acf-no-taxonomies-wrapper .acf-no-taxonomies-inner p.acf-small,.acf-no-taxonomies-wrapper .acf-no-taxonomies-inner .acf-admin-page p.acf-small,.acf-admin-page .acf-no-taxonomies-wrapper .acf-no-post-types-inner p.acf-small,.acf-no-taxonomies-wrapper .acf-no-post-types-inner .acf-admin-page p.acf-small,.acf-admin-page .acf-no-taxonomies-wrapper .acf-no-options-pages-inner p.acf-small,.acf-no-taxonomies-wrapper .acf-no-options-pages-inner .acf-admin-page p.acf-small,.acf-admin-page .acf-no-taxonomies-wrapper .acf-options-preview-inner p.acf-small,.acf-no-taxonomies-wrapper .acf-options-preview-inner .acf-admin-page p.acf-small,.acf-admin-page .acf-no-post-types-wrapper .acf-no-field-groups-inner p.acf-small,.acf-no-post-types-wrapper .acf-no-field-groups-inner .acf-admin-page p.acf-small,.acf-admin-page .acf-no-post-types-wrapper .acf-no-taxonomies-inner p.acf-small,.acf-no-post-types-wrapper .acf-no-taxonomies-inner .acf-admin-page p.acf-small,.acf-admin-page .acf-no-post-types-wrapper .acf-no-post-types-inner p.acf-small,.acf-no-post-types-wrapper .acf-no-post-types-inner .acf-admin-page p.acf-small,.acf-admin-page .acf-no-post-types-wrapper .acf-no-options-pages-inner p.acf-small,.acf-no-post-types-wrapper .acf-no-options-pages-inner .acf-admin-page p.acf-small,.acf-admin-page .acf-no-post-types-wrapper .acf-options-preview-inner p.acf-small,.acf-no-post-types-wrapper .acf-options-preview-inner .acf-admin-page p.acf-small,.acf-admin-page .acf-no-options-pages-wrapper .acf-no-field-groups-inner p.acf-small,.acf-no-options-pages-wrapper .acf-no-field-groups-inner .acf-admin-page p.acf-small,.acf-admin-page .acf-no-options-pages-wrapper .acf-no-taxonomies-inner p.acf-small,.acf-no-options-pages-wrapper .acf-no-taxonomies-inner .acf-admin-page p.acf-small,.acf-admin-page .acf-no-options-pages-wrapper .acf-no-post-types-inner p.acf-small,.acf-no-options-pages-wrapper .acf-no-post-types-inner .acf-admin-page p.acf-small,.acf-admin-page .acf-no-options-pages-wrapper .acf-no-options-pages-inner p.acf-small,.acf-no-options-pages-wrapper .acf-no-options-pages-inner .acf-admin-page p.acf-small,.acf-admin-page .acf-no-options-pages-wrapper .acf-options-preview-inner p.acf-small,.acf-no-options-pages-wrapper .acf-options-preview-inner .acf-admin-page p.acf-small,.acf-admin-page .acf-options-preview-wrapper .acf-no-field-groups-inner p.acf-small,.acf-options-preview-wrapper .acf-no-field-groups-inner .acf-admin-page p.acf-small,.acf-admin-page .acf-options-preview-wrapper .acf-no-taxonomies-inner p.acf-small,.acf-options-preview-wrapper .acf-no-taxonomies-inner .acf-admin-page p.acf-small,.acf-admin-page .acf-options-preview-wrapper .acf-no-post-types-inner p.acf-small,.acf-options-preview-wrapper .acf-no-post-types-inner .acf-admin-page p.acf-small,.acf-admin-page .acf-options-preview-wrapper .acf-no-options-pages-inner p.acf-small,.acf-options-preview-wrapper .acf-no-options-pages-inner .acf-admin-page p.acf-small,.acf-admin-page .acf-options-preview-wrapper .acf-options-preview-inner p.acf-small,.acf-options-preview-wrapper .acf-options-preview-inner .acf-admin-page p.acf-small,.acf-admin-page .acf-internal-post-type .row-actions,.acf-internal-post-type .acf-admin-page .row-actions,.acf-admin-page .acf-small{font-size:12px}.acf-admin-page .p7,.acf-admin-page .acf-tooltip,.acf-admin-page .acf-notice p.help,.acf-admin-page .notice p.help,.acf-admin-page #lost-connection-notice p.help{font-size:11.5px}.acf-admin-page .p8{font-size:11px}.acf-page-title{color:#344054}.acf-admin-page .acf-settings-wrap h1{display:none !important}.acf-admin-page #acf-admin-tools h1:not(.acf-field-group-pro-features-title,.acf-field-group-pro-features-title-sm){display:none !important}.acf-admin-page a:focus{box-shadow:none;outline:none}.acf-admin-page a:focus-visible{box-shadow:0 0 0 1px #4f94d4,0 0 2px 1px rgba(79,148,212,.8);outline:1px solid rgba(0,0,0,0)}.acf-admin-page input[type=text],.acf-admin-page input[type=search],.acf-admin-page input[type=number],.acf-admin-page textarea,.acf-admin-page select{box-sizing:border-box;height:40px;padding-right:12px;padding-left:12px;background-color:#fff;border-color:#d0d5dd;box-shadow:0px 1px 2px rgba(16,24,40,.1);border-radius:6px;color:#344054}.acf-admin-page input[type=text]:focus,.acf-admin-page input[type=search]:focus,.acf-admin-page input[type=number]:focus,.acf-admin-page textarea:focus,.acf-admin-page select:focus{outline:3px solid #ebf5fa;border-color:#399ccb}.acf-admin-page input[type=text]:disabled,.acf-admin-page input[type=search]:disabled,.acf-admin-page input[type=number]:disabled,.acf-admin-page textarea:disabled,.acf-admin-page select:disabled{background-color:#f9fafb;color:#808a9e}.acf-admin-page input[type=text]::placeholder,.acf-admin-page input[type=search]::placeholder,.acf-admin-page input[type=number]::placeholder,.acf-admin-page textarea::placeholder,.acf-admin-page select::placeholder{color:#98a2b3}.acf-admin-page input[type=text]:read-only{background-color:#f9fafb;color:#98a2b3}.acf-admin-page .acf-field.acf-field-number .acf-label,.acf-admin-page .acf-field.acf-field-number .acf-input input[type=number]{max-width:180px}.acf-admin-page textarea{box-sizing:border-box;padding-top:10px;padding-bottom:10px;height:80px;min-height:56px}.acf-admin-page select{min-width:160px;max-width:100%;padding-right:40px;padding-left:12px;background-image:url("../../images/icons/icon-chevron-down.svg");background-position:right 10px top 50%;background-size:20px}.acf-admin-page select:hover,.acf-admin-page select:focus{color:#0783be}.acf-admin-page select::before{content:"";display:block;position:absolute;top:5px;left:5px;width:20px;height:20px}.acf-admin-page.rtl select{padding-right:12px;padding-left:40px;background-position:left 10px top 50%}.acf-admin-page input[type=radio],.acf-admin-page input[type=checkbox]{box-sizing:border-box;width:16px;height:16px;padding:0;border-width:1px;border-style:solid;border-color:#98a2b3;background:#fff;box-shadow:none}.acf-admin-page input[type=radio]:hover,.acf-admin-page input[type=checkbox]:hover{background-color:#ebf5fa;border-color:#0783be}.acf-admin-page input[type=radio]:checked,.acf-admin-page input[type=radio]:focus-visible,.acf-admin-page input[type=checkbox]:checked,.acf-admin-page input[type=checkbox]:focus-visible{background-color:#ebf5fa;border-color:#0783be}.acf-admin-page input[type=radio]:checked:before,.acf-admin-page input[type=radio]:focus-visible:before,.acf-admin-page input[type=checkbox]:checked:before,.acf-admin-page input[type=checkbox]:focus-visible:before{content:"";position:relative;top:-1px;left:-1px;width:16px;height:16px;margin:0;padding:0;background-color:rgba(0,0,0,0);background-size:cover;background-repeat:no-repeat;background-position:center}.acf-admin-page input[type=radio]:active,.acf-admin-page input[type=checkbox]:active{box-shadow:0px 0px 0px 3px #ebf5fa,0px 0px 0px rgba(255,54,54,.25)}.acf-admin-page input[type=radio]:disabled,.acf-admin-page input[type=checkbox]:disabled{background-color:#f9fafb;border-color:#d0d5dd}.acf-admin-page.rtl input[type=radio]:checked:before,.acf-admin-page.rtl input[type=radio]:focus-visible:before,.acf-admin-page.rtl input[type=checkbox]:checked:before,.acf-admin-page.rtl input[type=checkbox]:focus-visible:before{left:1px}.acf-admin-page input[type=radio]:checked:before,.acf-admin-page input[type=radio]:focus:before{background-image:url("../../images/field-states/radio-active.svg")}.acf-admin-page input[type=checkbox]:checked:before,.acf-admin-page input[type=checkbox]:focus:before{background-image:url("../../images/field-states/checkbox-active.svg")}.acf-admin-page .acf-radio-list li input[type=radio],.acf-admin-page .acf-radio-list li input[type=checkbox],.acf-admin-page .acf-checkbox-list li input[type=radio],.acf-admin-page .acf-checkbox-list li input[type=checkbox]{margin-right:6px}.acf-admin-page .acf-radio-list.acf-bl li,.acf-admin-page .acf-checkbox-list.acf-bl li{margin-bottom:8px}.acf-admin-page .acf-radio-list.acf-bl li:last-of-type,.acf-admin-page .acf-checkbox-list.acf-bl li:last-of-type{margin-bottom:0}.acf-admin-page .acf-radio-list label,.acf-admin-page .acf-checkbox-list label{display:flex;align-items:center;align-content:center}.acf-admin-page .acf-switch{width:42px;height:24px;border:none;background-color:#d0d5dd;border-radius:12px}.acf-admin-page .acf-switch:hover{background-color:#98a2b3}.acf-admin-page .acf-switch:active{box-shadow:0px 0px 0px 3px #ebf5fa,0px 0px 0px rgba(255,54,54,.25)}.acf-admin-page .acf-switch.-on{background-color:#0783be}.acf-admin-page .acf-switch.-on:hover{background-color:#066998}.acf-admin-page .acf-switch.-on .acf-switch-slider{left:20px}.acf-admin-page .acf-switch .acf-switch-off,.acf-admin-page .acf-switch .acf-switch-on{visibility:hidden}.acf-admin-page .acf-switch .acf-switch-slider{width:20px;height:20px;border:none;border-radius:100px;box-shadow:0px 1px 3px rgba(16,24,40,.1),0px 1px 2px rgba(16,24,40,.06)}.acf-admin-page .acf-field-true-false{display:flex;align-items:flex-start}.acf-admin-page .acf-field-true-false .acf-label{order:2;display:block;align-items:center;margin-top:2px;margin-bottom:0;margin-left:12px}.acf-admin-page .acf-field-true-false .acf-label label{margin-bottom:0}.acf-admin-page .acf-field-true-false .acf-label .acf-tip{margin-left:12px}.acf-admin-page .acf-field-true-false .acf-label .description{display:block;margin-top:2px;margin-left:0}.acf-admin-page.rtl .acf-field-true-false .acf-label{margin-right:12px;margin-left:0}.acf-admin-page.rtl .acf-field-true-false .acf-tip{margin-right:12px;margin-left:0}.acf-admin-page input::file-selector-button{box-sizing:border-box;min-height:40px;margin-right:16px;padding-top:8px;padding-right:16px;padding-bottom:8px;padding-left:16px;background-color:rgba(0,0,0,0);color:#0783be !important;border-radius:6px;border-width:1px;border-style:solid;border-color:#0783be;text-decoration:none}.acf-admin-page input::file-selector-button:hover{border-color:#066998;cursor:pointer;color:#066998 !important}.acf-admin-page .button{display:inline-flex;align-items:center;height:40px;padding-right:16px;padding-left:16px;background-color:rgba(0,0,0,0);border-width:1px;border-style:solid;border-color:#0783be;border-radius:6px;color:#0783be}.acf-admin-page .button:hover{background-color:#f3f9fc;border-color:#0783be;color:#0783be}.acf-admin-page .button:focus{background-color:#f3f9fc;outline:3px solid #ebf5fa;color:#0783be}.acf-admin-page .edit-field-group-header{display:block !important}.acf-admin-page .acf-input .select2-container.-acf .select2-selection,.acf-admin-page .rule-groups .select2-container.-acf .select2-selection{border:none;line-height:1}.acf-admin-page .acf-input .select2-container.-acf .select2-selection__rendered,.acf-admin-page .rule-groups .select2-container.-acf .select2-selection__rendered{box-sizing:border-box;padding-right:0;padding-left:0;background-color:#fff;border-width:1px;border-style:solid;border-color:#d0d5dd;box-shadow:0px 1px 2px rgba(16,24,40,.1);border-radius:6px;color:#344054}.acf-admin-page .acf-input .acf-conditional-select-name,.acf-admin-page .rule-groups .acf-conditional-select-name{min-width:180px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.acf-admin-page .acf-input .acf-conditional-select-id,.acf-admin-page .rule-groups .acf-conditional-select-id{padding-right:30px}.acf-admin-page .acf-input .value .select2-container--focus,.acf-admin-page .rule-groups .value .select2-container--focus{height:40px}.acf-admin-page .acf-input .value .select2-container--open .select2-selection__rendered,.acf-admin-page .rule-groups .value .select2-container--open .select2-selection__rendered{border-color:#399ccb}.acf-admin-page .acf-input .select2-container--focus,.acf-admin-page .rule-groups .select2-container--focus{outline:3px solid #ebf5fa;border-color:#399ccb;border-radius:6px}.acf-admin-page .acf-input .select2-container--focus .select2-selection__rendered,.acf-admin-page .rule-groups .select2-container--focus .select2-selection__rendered{border-color:#399ccb !important}.acf-admin-page .acf-input .select2-container--focus.select2-container--below.select2-container--open .select2-selection__rendered,.acf-admin-page .rule-groups .select2-container--focus.select2-container--below.select2-container--open .select2-selection__rendered{border-bottom-right-radius:0 !important;border-bottom-left-radius:0 !important}.acf-admin-page .acf-input .select2-container--focus.select2-container--above.select2-container--open .select2-selection__rendered,.acf-admin-page .rule-groups .select2-container--focus.select2-container--above.select2-container--open .select2-selection__rendered{border-top-right-radius:0 !important;border-top-left-radius:0 !important}.acf-admin-page .acf-input .select2-container .select2-search--inline .select2-search__field,.acf-admin-page .rule-groups .select2-container .select2-search--inline .select2-search__field{margin:0;padding-left:6px}.acf-admin-page .acf-input .select2-container .select2-search--inline .select2-search__field:focus,.acf-admin-page .rule-groups .select2-container .select2-search--inline .select2-search__field:focus{outline:none;border:none}.acf-admin-page .acf-input .select2-container--default .select2-selection--multiple .select2-selection__rendered,.acf-admin-page .rule-groups .select2-container--default .select2-selection--multiple .select2-selection__rendered{padding-top:0;padding-right:6px;padding-bottom:0;padding-left:6px}.acf-admin-page .acf-input .select2-selection__clear,.acf-admin-page .rule-groups .select2-selection__clear{width:18px;height:18px;margin-top:12px;margin-right:1px;text-indent:100%;white-space:nowrap;overflow:hidden;color:#fff}.acf-admin-page .acf-input .select2-selection__clear:before,.acf-admin-page .rule-groups .select2-selection__clear:before{content:"";display:block;width:16px;height:16px;top:0;left:0;border:none;border-radius:0;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;-webkit-mask-image:url("../../images/icons/icon-close.svg");mask-image:url("../../images/icons/icon-close.svg");background-color:#98a2b3}.acf-admin-page .acf-input .select2-selection__clear:hover::before,.acf-admin-page .rule-groups .select2-selection__clear:hover::before{background-color:#0783be}.acf-admin-page .acf-label{display:flex;align-items:center;justify-content:space-between}.acf-admin-page .acf-label .acf-icon-help{width:18px;height:18px;background-color:#98a2b3}.acf-admin-page .acf-label label{margin-bottom:0}.acf-admin-page .acf-label .description{margin-top:2px}.acf-admin-page .acf-field-setting-name .acf-tip{position:absolute;top:0;left:654px;color:#98a2b3}.rtl.acf-admin-page .acf-field-setting-name .acf-tip{left:auto;right:654px}.acf-admin-page .acf-field-setting-name .acf-tip .acf-icon-help{width:18px;height:18px}.acf-admin-page .acf-field-setting-type .select2-container.-acf,.acf-admin-page .acf-field-permalink-rewrite .select2-container.-acf,.acf-admin-page .acf-field-query-var .select2-container.-acf,.acf-admin-page .acf-field-capability .select2-container.-acf,.acf-admin-page .acf-field-parent-slug .select2-container.-acf,.acf-admin-page .acf-field-data-storage .select2-container.-acf,.acf-admin-page .acf-field-manage-terms .select2-container.-acf,.acf-admin-page .acf-field-edit-terms .select2-container.-acf,.acf-admin-page .acf-field-delete-terms .select2-container.-acf,.acf-admin-page .acf-field-assign-terms .select2-container.-acf,.acf-admin-page .acf-field-meta-box .select2-container.-acf,.acf-admin-page .rule-groups .select2-container.-acf{min-height:40px}.acf-admin-page .acf-field-setting-type .select2-container--default .select2-selection--single .select2-selection__rendered,.acf-admin-page .acf-field-permalink-rewrite .select2-container--default .select2-selection--single .select2-selection__rendered,.acf-admin-page .acf-field-query-var .select2-container--default .select2-selection--single .select2-selection__rendered,.acf-admin-page .acf-field-capability .select2-container--default .select2-selection--single .select2-selection__rendered,.acf-admin-page .acf-field-parent-slug .select2-container--default .select2-selection--single .select2-selection__rendered,.acf-admin-page .acf-field-data-storage .select2-container--default .select2-selection--single .select2-selection__rendered,.acf-admin-page .acf-field-manage-terms .select2-container--default .select2-selection--single .select2-selection__rendered,.acf-admin-page .acf-field-edit-terms .select2-container--default .select2-selection--single .select2-selection__rendered,.acf-admin-page .acf-field-delete-terms .select2-container--default .select2-selection--single .select2-selection__rendered,.acf-admin-page .acf-field-assign-terms .select2-container--default .select2-selection--single .select2-selection__rendered,.acf-admin-page .acf-field-meta-box .select2-container--default .select2-selection--single .select2-selection__rendered,.acf-admin-page .rule-groups .select2-container--default .select2-selection--single .select2-selection__rendered{display:flex;align-items:center;position:relative;z-index:800;min-height:40px;padding-top:0;padding-right:12px;padding-bottom:0;padding-left:12px}.acf-admin-page .acf-field-setting-type .select2-container--default .select2-selection--single .field-type-icon,.acf-admin-page .acf-field-permalink-rewrite .select2-container--default .select2-selection--single .field-type-icon,.acf-admin-page .acf-field-query-var .select2-container--default .select2-selection--single .field-type-icon,.acf-admin-page .acf-field-capability .select2-container--default .select2-selection--single .field-type-icon,.acf-admin-page .acf-field-parent-slug .select2-container--default .select2-selection--single .field-type-icon,.acf-admin-page .acf-field-data-storage .select2-container--default .select2-selection--single .field-type-icon,.acf-admin-page .acf-field-manage-terms .select2-container--default .select2-selection--single .field-type-icon,.acf-admin-page .acf-field-edit-terms .select2-container--default .select2-selection--single .field-type-icon,.acf-admin-page .acf-field-delete-terms .select2-container--default .select2-selection--single .field-type-icon,.acf-admin-page .acf-field-assign-terms .select2-container--default .select2-selection--single .field-type-icon,.acf-admin-page .acf-field-meta-box .select2-container--default .select2-selection--single .field-type-icon,.acf-admin-page .rule-groups .select2-container--default .select2-selection--single .field-type-icon{top:auto;width:18px;height:18px;margin-right:2px}.acf-admin-page .acf-field-setting-type .select2-container--default .select2-selection--single .field-type-icon:before,.acf-admin-page .acf-field-permalink-rewrite .select2-container--default .select2-selection--single .field-type-icon:before,.acf-admin-page .acf-field-query-var .select2-container--default .select2-selection--single .field-type-icon:before,.acf-admin-page .acf-field-capability .select2-container--default .select2-selection--single .field-type-icon:before,.acf-admin-page .acf-field-parent-slug .select2-container--default .select2-selection--single .field-type-icon:before,.acf-admin-page .acf-field-data-storage .select2-container--default .select2-selection--single .field-type-icon:before,.acf-admin-page .acf-field-manage-terms .select2-container--default .select2-selection--single .field-type-icon:before,.acf-admin-page .acf-field-edit-terms .select2-container--default .select2-selection--single .field-type-icon:before,.acf-admin-page .acf-field-delete-terms .select2-container--default .select2-selection--single .field-type-icon:before,.acf-admin-page .acf-field-assign-terms .select2-container--default .select2-selection--single .field-type-icon:before,.acf-admin-page .acf-field-meta-box .select2-container--default .select2-selection--single .field-type-icon:before,.acf-admin-page .rule-groups .select2-container--default .select2-selection--single .field-type-icon:before{width:9px;height:9px}.acf-admin-page .acf-field-setting-type .select2-container--open .select2-selection__rendered,.acf-admin-page .acf-field-permalink-rewrite .select2-container--open .select2-selection__rendered,.acf-admin-page .acf-field-query-var .select2-container--open .select2-selection__rendered,.acf-admin-page .acf-field-capability .select2-container--open .select2-selection__rendered,.acf-admin-page .acf-field-parent-slug .select2-container--open .select2-selection__rendered,.acf-admin-page .acf-field-data-storage .select2-container--open .select2-selection__rendered,.acf-admin-page .acf-field-manage-terms .select2-container--open .select2-selection__rendered,.acf-admin-page .acf-field-edit-terms .select2-container--open .select2-selection__rendered,.acf-admin-page .acf-field-delete-terms .select2-container--open .select2-selection__rendered,.acf-admin-page .acf-field-assign-terms .select2-container--open .select2-selection__rendered,.acf-admin-page .acf-field-meta-box .select2-container--open .select2-selection__rendered,.acf-admin-page .rule-groups .select2-container--open .select2-selection__rendered{border-color:#6bb5d8 !important;border-bottom-color:#d0d5dd !important}.acf-admin-page .acf-field-setting-type .select2-container--open.select2-container--below .select2-selection__rendered,.acf-admin-page .acf-field-permalink-rewrite .select2-container--open.select2-container--below .select2-selection__rendered,.acf-admin-page .acf-field-query-var .select2-container--open.select2-container--below .select2-selection__rendered,.acf-admin-page .acf-field-capability .select2-container--open.select2-container--below .select2-selection__rendered,.acf-admin-page .acf-field-parent-slug .select2-container--open.select2-container--below .select2-selection__rendered,.acf-admin-page .acf-field-data-storage .select2-container--open.select2-container--below .select2-selection__rendered,.acf-admin-page .acf-field-manage-terms .select2-container--open.select2-container--below .select2-selection__rendered,.acf-admin-page .acf-field-edit-terms .select2-container--open.select2-container--below .select2-selection__rendered,.acf-admin-page .acf-field-delete-terms .select2-container--open.select2-container--below .select2-selection__rendered,.acf-admin-page .acf-field-assign-terms .select2-container--open.select2-container--below .select2-selection__rendered,.acf-admin-page .acf-field-meta-box .select2-container--open.select2-container--below .select2-selection__rendered,.acf-admin-page .rule-groups .select2-container--open.select2-container--below .select2-selection__rendered{border-bottom-right-radius:0 !important;border-bottom-left-radius:0 !important}.acf-admin-page .acf-field-setting-type .select2-container--open.select2-container--above .select2-selection__rendered,.acf-admin-page .acf-field-permalink-rewrite .select2-container--open.select2-container--above .select2-selection__rendered,.acf-admin-page .acf-field-query-var .select2-container--open.select2-container--above .select2-selection__rendered,.acf-admin-page .acf-field-capability .select2-container--open.select2-container--above .select2-selection__rendered,.acf-admin-page .acf-field-parent-slug .select2-container--open.select2-container--above .select2-selection__rendered,.acf-admin-page .acf-field-data-storage .select2-container--open.select2-container--above .select2-selection__rendered,.acf-admin-page .acf-field-manage-terms .select2-container--open.select2-container--above .select2-selection__rendered,.acf-admin-page .acf-field-edit-terms .select2-container--open.select2-container--above .select2-selection__rendered,.acf-admin-page .acf-field-delete-terms .select2-container--open.select2-container--above .select2-selection__rendered,.acf-admin-page .acf-field-assign-terms .select2-container--open.select2-container--above .select2-selection__rendered,.acf-admin-page .acf-field-meta-box .select2-container--open.select2-container--above .select2-selection__rendered,.acf-admin-page .rule-groups .select2-container--open.select2-container--above .select2-selection__rendered{border-top-right-radius:0 !important;border-top-left-radius:0 !important;border-bottom-color:#6bb5d8 !important;border-top-color:#d0d5dd !important}.acf-admin-page .acf-field-setting-type .acf-selection.has-icon,.acf-admin-page .acf-field-permalink-rewrite .acf-selection.has-icon,.acf-admin-page .acf-field-query-var .acf-selection.has-icon,.acf-admin-page .acf-field-capability .acf-selection.has-icon,.acf-admin-page .acf-field-parent-slug .acf-selection.has-icon,.acf-admin-page .acf-field-data-storage .acf-selection.has-icon,.acf-admin-page .acf-field-manage-terms .acf-selection.has-icon,.acf-admin-page .acf-field-edit-terms .acf-selection.has-icon,.acf-admin-page .acf-field-delete-terms .acf-selection.has-icon,.acf-admin-page .acf-field-assign-terms .acf-selection.has-icon,.acf-admin-page .acf-field-meta-box .acf-selection.has-icon,.acf-admin-page .rule-groups .acf-selection.has-icon{margin-left:6px}.rtl.acf-admin-page .acf-field-setting-type .acf-selection.has-icon,.acf-admin-page .acf-field-permalink-rewrite .acf-selection.has-icon,.acf-admin-page .acf-field-query-var .acf-selection.has-icon,.acf-admin-page .acf-field-capability .acf-selection.has-icon,.acf-admin-page .acf-field-parent-slug .acf-selection.has-icon,.acf-admin-page .acf-field-data-storage .acf-selection.has-icon,.acf-admin-page .acf-field-manage-terms .acf-selection.has-icon,.acf-admin-page .acf-field-edit-terms .acf-selection.has-icon,.acf-admin-page .acf-field-delete-terms .acf-selection.has-icon,.acf-admin-page .acf-field-assign-terms .acf-selection.has-icon,.acf-admin-page .acf-field-meta-box .acf-selection.has-icon,.acf-admin-page .rule-groups .acf-selection.has-icon{margin-right:6px}.acf-admin-page .acf-field-setting-type .select2-selection__arrow,.acf-admin-page .acf-field-permalink-rewrite .select2-selection__arrow,.acf-admin-page .acf-field-query-var .select2-selection__arrow,.acf-admin-page .acf-field-capability .select2-selection__arrow,.acf-admin-page .acf-field-parent-slug .select2-selection__arrow,.acf-admin-page .acf-field-data-storage .select2-selection__arrow,.acf-admin-page .acf-field-manage-terms .select2-selection__arrow,.acf-admin-page .acf-field-edit-terms .select2-selection__arrow,.acf-admin-page .acf-field-delete-terms .select2-selection__arrow,.acf-admin-page .acf-field-assign-terms .select2-selection__arrow,.acf-admin-page .acf-field-meta-box .select2-selection__arrow,.acf-admin-page .rule-groups .select2-selection__arrow{width:20px;height:20px;top:calc(50% - 10px);right:12px;background-color:rgba(0,0,0,0)}.acf-admin-page .acf-field-setting-type .select2-selection__arrow:after,.acf-admin-page .acf-field-permalink-rewrite .select2-selection__arrow:after,.acf-admin-page .acf-field-query-var .select2-selection__arrow:after,.acf-admin-page .acf-field-capability .select2-selection__arrow:after,.acf-admin-page .acf-field-parent-slug .select2-selection__arrow:after,.acf-admin-page .acf-field-data-storage .select2-selection__arrow:after,.acf-admin-page .acf-field-manage-terms .select2-selection__arrow:after,.acf-admin-page .acf-field-edit-terms .select2-selection__arrow:after,.acf-admin-page .acf-field-delete-terms .select2-selection__arrow:after,.acf-admin-page .acf-field-assign-terms .select2-selection__arrow:after,.acf-admin-page .acf-field-meta-box .select2-selection__arrow:after,.acf-admin-page .rule-groups .select2-selection__arrow:after{content:"";display:block;position:absolute;z-index:850;top:1px;left:0;width:20px;height:20px;-webkit-mask-image:url("../../images/icons/icon-chevron-down.svg");mask-image:url("../../images/icons/icon-chevron-down.svg");background-color:#667085;border:none;border-radius:0;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;text-indent:500%;white-space:nowrap;overflow:hidden}.acf-admin-page .acf-field-setting-type .select2-selection__arrow b[role=presentation],.acf-admin-page .acf-field-permalink-rewrite .select2-selection__arrow b[role=presentation],.acf-admin-page .acf-field-query-var .select2-selection__arrow b[role=presentation],.acf-admin-page .acf-field-capability .select2-selection__arrow b[role=presentation],.acf-admin-page .acf-field-parent-slug .select2-selection__arrow b[role=presentation],.acf-admin-page .acf-field-data-storage .select2-selection__arrow b[role=presentation],.acf-admin-page .acf-field-manage-terms .select2-selection__arrow b[role=presentation],.acf-admin-page .acf-field-edit-terms .select2-selection__arrow b[role=presentation],.acf-admin-page .acf-field-delete-terms .select2-selection__arrow b[role=presentation],.acf-admin-page .acf-field-assign-terms .select2-selection__arrow b[role=presentation],.acf-admin-page .acf-field-meta-box .select2-selection__arrow b[role=presentation],.acf-admin-page .rule-groups .select2-selection__arrow b[role=presentation]{display:none}.acf-admin-page .acf-field-setting-type .select2-container--open .select2-selection__arrow:after,.acf-admin-page .acf-field-permalink-rewrite .select2-container--open .select2-selection__arrow:after,.acf-admin-page .acf-field-query-var .select2-container--open .select2-selection__arrow:after,.acf-admin-page .acf-field-capability .select2-container--open .select2-selection__arrow:after,.acf-admin-page .acf-field-parent-slug .select2-container--open .select2-selection__arrow:after,.acf-admin-page .acf-field-data-storage .select2-container--open .select2-selection__arrow:after,.acf-admin-page .acf-field-manage-terms .select2-container--open .select2-selection__arrow:after,.acf-admin-page .acf-field-edit-terms .select2-container--open .select2-selection__arrow:after,.acf-admin-page .acf-field-delete-terms .select2-container--open .select2-selection__arrow:after,.acf-admin-page .acf-field-assign-terms .select2-container--open .select2-selection__arrow:after,.acf-admin-page .acf-field-meta-box .select2-container--open .select2-selection__arrow:after,.acf-admin-page .rule-groups .select2-container--open .select2-selection__arrow:after{-webkit-mask-image:url("../../images/icons/icon-chevron-up.svg");mask-image:url("../../images/icons/icon-chevron-up.svg")}.acf-admin-page .acf-term-search-term-name{background-color:#f9fafb;border-top:1px solid #eaecf0;border-bottom:1px solid #eaecf0;color:#98a2b3;padding:5px 5px 5px 10px;width:100%;margin:0;display:block;font-weight:300}.acf-admin-page .field-type-select-results{position:relative;top:4px;z-index:1002;border-radius:0 0 6px 6px;box-shadow:0px 8px 24px 4px rgba(16,24,40,.12)}.acf-admin-page .field-type-select-results.select2-dropdown--above{display:flex;flex-direction:column-reverse;top:0;border-radius:6px 6px 0 0;z-index:99999}.select2-container.select2-container--open.acf-admin-page .field-type-select-results{box-shadow:0px 0px 0px 3px #ebf5fa,0px 8px 24px 4px rgba(16,24,40,.12)}.acf-admin-page .field-type-select-results .acf-selection.has-icon{margin-left:6px}.rtl.acf-admin-page .field-type-select-results .acf-selection.has-icon{margin-right:6px}.acf-admin-page .field-type-select-results .select2-search{position:relative;margin:0;padding:0}.acf-admin-page .field-type-select-results .select2-search--dropdown:after{content:"";display:block;position:absolute;top:12px;left:13px;width:16px;height:16px;-webkit-mask-image:url("../../images/icons/icon-search.svg");mask-image:url("../../images/icons/icon-search.svg");background-color:#98a2b3;border:none;border-radius:0;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;text-indent:500%;white-space:nowrap;overflow:hidden}.rtl.acf-admin-page .field-type-select-results .select2-search--dropdown:after{right:12px;left:auto}.acf-admin-page .field-type-select-results .select2-search .select2-search__field{padding-left:38px;border-right:0;border-bottom:0;border-left:0;border-radius:0}.rtl.acf-admin-page .field-type-select-results .select2-search .select2-search__field{padding-right:38px;padding-left:0}.acf-admin-page .field-type-select-results .select2-search .select2-search__field:focus{border-top-color:#d0d5dd;outline:0}.acf-admin-page .field-type-select-results .select2-results__options{max-height:440px}.acf-admin-page .field-type-select-results .select2-results__option .select2-results__option--highlighted{background-color:#0783be !important;color:#f9fafb !important}.acf-admin-page .field-type-select-results .select2-results__option .select2-results__option{display:inline-flex;position:relative;width:calc(100% - 24px);min-height:32px;padding-top:0;padding-right:12px;padding-bottom:0;padding-left:12px;align-items:center}.acf-admin-page .field-type-select-results .select2-results__option .select2-results__option .field-type-icon{top:auto;width:18px;height:18px;margin-right:2px;box-shadow:0 0 0 1px #f9fafb}.acf-admin-page .field-type-select-results .select2-results__option .select2-results__option .field-type-icon:before{width:9px;height:9px}.acf-admin-page .field-type-select-results .select2-results__option[aria-selected=true]{background-color:#ebf5fa !important;color:#344054 !important}.acf-admin-page .field-type-select-results .select2-results__option[aria-selected=true]:after{content:"";right:13px;position:absolute;width:16px;height:16px;-webkit-mask-image:url("../../images/icons/icon-check.svg");mask-image:url("../../images/icons/icon-check.svg");background-color:#0783be;border:none;border-radius:0;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;text-indent:500%;white-space:nowrap;overflow:hidden}.rtl.acf-admin-page .field-type-select-results .select2-results__option[aria-selected=true]:after{left:13px;right:auto}.acf-admin-page .field-type-select-results .select2-results__group{display:inline-flex;align-items:center;width:calc(100% - 24px);min-height:25px;background-color:#f9fafb;border-top-width:1px;border-top-style:solid;border-top-color:#eaecf0;border-bottom-width:1px;border-bottom-style:solid;border-bottom-color:#eaecf0;color:#98a2b3;font-size:11px;margin-bottom:0;padding-top:0;padding-right:12px;padding-bottom:0;padding-left:12px;font-weight:normal}.acf-admin-page.rtl .acf-field-setting-type .select2-selection__arrow:after,.acf-admin-page.rtl .acf-field-permalink-rewrite .select2-selection__arrow:after,.acf-admin-page.rtl .acf-field-query-var .select2-selection__arrow:after{right:auto;left:10px}.rtl.post-type-acf-field-group .acf-field-setting-name .acf-tip,.rtl.acf-internal-post-type .acf-field-setting-name .acf-tip{left:auto;right:654px}.acf-internal-post-type .tablenav.top{display:none}.acf-internal-post-type .subsubsub{margin-bottom:3px}.acf-internal-post-type .wp-list-table{margin-top:0;margin-right:0;margin-bottom:0;margin-left:0;border-radius:8px;border:none;overflow:hidden;box-shadow:0px 1px 2px rgba(16,24,40,.1)}.acf-internal-post-type .wp-list-table strong{color:#98a2b3;margin:0}.acf-internal-post-type .wp-list-table a.row-title{font-size:13px !important;font-weight:500}.acf-internal-post-type .wp-list-table th,.acf-internal-post-type .wp-list-table td{color:#344054}.acf-internal-post-type .wp-list-table th.sortable a,.acf-internal-post-type .wp-list-table td.sortable a{padding:0}.acf-internal-post-type .wp-list-table th.check-column,.acf-internal-post-type .wp-list-table td.check-column{padding-top:12px;padding-right:16px;padding-left:16px}@media screen and (max-width: 880px){.acf-internal-post-type .wp-list-table th.check-column,.acf-internal-post-type .wp-list-table td.check-column{vertical-align:top;padding-right:2px;padding-left:10px}}.acf-internal-post-type .wp-list-table th input,.acf-internal-post-type .wp-list-table td input{margin:0;padding:0}.acf-internal-post-type .wp-list-table th .acf-more-items,.acf-internal-post-type .wp-list-table td .acf-more-items{display:inline-flex;flex-direction:row;justify-content:center;align-items:center;padding:0px 6px 1px;gap:8px;width:25px;height:16px;background:#eaecf0;border-radius:100px;font-weight:400;font-size:10px;color:#475467}.acf-internal-post-type .wp-list-table th .acf-emdash,.acf-internal-post-type .wp-list-table td .acf-emdash{color:#d0d5dd}.acf-internal-post-type .wp-list-table thead th,.acf-internal-post-type .wp-list-table thead td,.acf-internal-post-type .wp-list-table tfoot th,.acf-internal-post-type .wp-list-table tfoot td{height:48px;padding-right:24px;padding-left:24px;box-sizing:border-box;background-color:#f9fafb;border-color:#eaecf0;font-weight:500}@media screen and (max-width: 880px){.acf-internal-post-type .wp-list-table thead th,.acf-internal-post-type .wp-list-table thead td,.acf-internal-post-type .wp-list-table tfoot th,.acf-internal-post-type .wp-list-table tfoot td{padding-right:16px;padding-left:8px}}@media screen and (max-width: 880px){.acf-internal-post-type .wp-list-table thead th.check-column,.acf-internal-post-type .wp-list-table thead td.check-column,.acf-internal-post-type .wp-list-table tfoot th.check-column,.acf-internal-post-type .wp-list-table tfoot td.check-column{vertical-align:middle}}.acf-internal-post-type .wp-list-table tbody th,.acf-internal-post-type .wp-list-table tbody td{box-sizing:border-box;height:60px;padding-top:10px;padding-right:24px;padding-bottom:10px;padding-left:24px;vertical-align:top;background-color:#fff;border-bottom-width:1px;border-bottom-color:#eaecf0;border-bottom-style:solid}@media screen and (max-width: 880px){.acf-internal-post-type .wp-list-table tbody th,.acf-internal-post-type .wp-list-table tbody td{padding-right:16px;padding-left:8px}}.acf-internal-post-type .wp-list-table .column-acf-key{white-space:nowrap}.acf-internal-post-type .wp-list-table .column-acf-key .acf-icon-key-solid{display:inline-block;position:relative;bottom:-2px;width:15px;height:15px;margin-right:4px;color:#98a2b3}.acf-internal-post-type .wp-list-table .acf-location .dashicons{position:relative;bottom:-2px;width:16px;height:16px;margin-right:6px;font-size:16px;color:#98a2b3}.acf-internal-post-type .wp-list-table .post-state{color:#667085}.acf-internal-post-type .wp-list-table tr:hover,.acf-internal-post-type .wp-list-table tr:focus-within{background:#f7f7f7}.acf-internal-post-type .wp-list-table tr:hover .row-actions,.acf-internal-post-type .wp-list-table tr:focus-within .row-actions{margin-bottom:0}@media screen and (min-width: 782px){.acf-internal-post-type .wp-list-table .column-acf-count{width:10%}}.acf-internal-post-type .wp-list-table .row-actions span.file{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.acf-internal-post-type.rtl .wp-list-table .column-acf-key .acf-icon-key-solid{margin-left:4px;margin-right:0}.acf-internal-post-type.rtl .wp-list-table .acf-location .dashicons{margin-left:6px;margin-right:0}.acf-internal-post-type .row-actions{margin-top:2px;padding-top:0;padding-right:0;padding-bottom:0;padding-left:0;line-height:14px;color:#d0d5dd}.acf-internal-post-type .row-actions .trash a{color:#d94f4f}.acf-internal-post-type .widefat thead td.check-column,.acf-internal-post-type .widefat tfoot td.check-column{padding-top:0}.acf-internal-post-type .row-actions a:hover{color:#044767}.acf-internal-post-type .row-actions .trash a{color:#a00}.acf-internal-post-type .row-actions .trash a:hover{color:red}.acf-internal-post-type .row-actions.visible{margin-bottom:0;opacity:1}.acf-internal-post-type #the-list tr:hover td,.acf-internal-post-type #the-list tr:hover th{background-color:#f7fbfd}.acf-internal-post-type .tablenav{margin-top:24px;margin-right:0;margin-bottom:0;margin-left:0;padding-top:0;padding-right:0;padding-bottom:0;padding-left:0;color:#667085}.acf-internal-post-type #posts-filter p.search-box{margin-top:5px;margin-right:0;margin-bottom:24px;margin-left:0}.acf-internal-post-type #posts-filter p.search-box #post-search-input{min-width:280px;margin-top:0;margin-right:8px;margin-bottom:0;margin-left:0}@media screen and (max-width: 768px){.acf-internal-post-type #posts-filter p.search-box{display:flex;box-sizing:border-box;padding-right:24px;margin-right:16px;position:inherit}.acf-internal-post-type #posts-filter p.search-box #post-search-input{min-width:auto}}.rtl.acf-internal-post-type #posts-filter p.search-box #post-search-input{margin-right:0;margin-left:8px}@media screen and (max-width: 768px){.rtl.acf-internal-post-type #posts-filter p.search-box{padding-left:24px;padding-right:0;margin-left:16px;margin-right:0}}.acf-internal-post-type .subsubsub{display:flex;align-items:flex-end;height:40px;margin-bottom:16px}.acf-internal-post-type .subsubsub li{margin-top:0;margin-right:4px;color:#98a2b3}.acf-internal-post-type .subsubsub li .count{color:#667085}.acf-internal-post-type .tablenav-pages{display:flex;align-items:center}.acf-internal-post-type .tablenav-pages.no-pages{display:none}.acf-internal-post-type .tablenav-pages .displaying-num{margin-top:0;margin-right:16px;margin-bottom:0;margin-left:0}.acf-internal-post-type .tablenav-pages .pagination-links{display:flex;align-items:center}.acf-internal-post-type .tablenav-pages .pagination-links #table-paging{margin-top:0;margin-right:4px;margin-bottom:0;margin-left:8px}.acf-internal-post-type .tablenav-pages .pagination-links #table-paging .total-pages{margin-right:0}.acf-internal-post-type .tablenav-pages.one-page .pagination-links{display:none}.acf-internal-post-type .tablenav-pages .pagination-links .button{display:inline-flex;align-items:center;align-content:center;justify-content:center;min-width:40px;margin-top:0;margin-right:0;margin-bottom:0;margin-left:0;padding-top:0;padding-right:0;padding-bottom:0;padding-left:0;background-color:rgba(0,0,0,0)}.acf-internal-post-type .tablenav-pages .pagination-links .button:nth-child(1),.acf-internal-post-type .tablenav-pages .pagination-links .button:nth-child(2),.acf-internal-post-type .tablenav-pages .pagination-links .button:last-child,.acf-internal-post-type .tablenav-pages .pagination-links .button:nth-last-child(2){display:inline-block;position:relative;text-indent:100%;white-space:nowrap;overflow:hidden;margin-left:4px}.acf-internal-post-type .tablenav-pages .pagination-links .button:nth-child(1):before,.acf-internal-post-type .tablenav-pages .pagination-links .button:nth-child(2):before,.acf-internal-post-type .tablenav-pages .pagination-links .button:last-child:before,.acf-internal-post-type .tablenav-pages .pagination-links .button:nth-last-child(2):before{content:"";display:block;position:absolute;width:100%;height:100%;top:0;left:0;background-color:#0783be;border-radius:0;-webkit-mask-size:20px;mask-size:20px;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center}.acf-internal-post-type .tablenav-pages .pagination-links .button:nth-child(1):before{-webkit-mask-image:url("../../images/icons/icon-chevron-left-double.svg");mask-image:url("../../images/icons/icon-chevron-left-double.svg")}.acf-internal-post-type .tablenav-pages .pagination-links .button:nth-child(2):before{-webkit-mask-image:url("../../images/icons/icon-chevron-left.svg");mask-image:url("../../images/icons/icon-chevron-left.svg")}.acf-internal-post-type .tablenav-pages .pagination-links .button:nth-last-child(2):before{-webkit-mask-image:url("../../images/icons/icon-chevron-right.svg");mask-image:url("../../images/icons/icon-chevron-right.svg")}.acf-internal-post-type .tablenav-pages .pagination-links .button:last-child:before{-webkit-mask-image:url("../../images/icons/icon-chevron-right-double.svg");mask-image:url("../../images/icons/icon-chevron-right-double.svg")}.acf-internal-post-type .tablenav-pages .pagination-links .button:hover{border-color:#066998;background-color:rgba(7,131,190,.05)}.acf-internal-post-type .tablenav-pages .pagination-links .button:hover:before{background-color:#066998}.acf-internal-post-type .tablenav-pages .pagination-links .button.disabled{background-color:rgba(0,0,0,0) !important}.acf-internal-post-type .tablenav-pages .pagination-links .button.disabled.disabled:before{background-color:#d0d5dd}.acf-no-field-groups-wrapper,.acf-no-taxonomies-wrapper,.acf-no-post-types-wrapper,.acf-no-options-pages-wrapper,.acf-options-preview-wrapper{display:flex;justify-content:center;padding-top:48px;padding-bottom:48px}.acf-no-field-groups-wrapper .acf-no-field-groups-inner,.acf-no-field-groups-wrapper .acf-no-taxonomies-inner,.acf-no-field-groups-wrapper .acf-no-post-types-inner,.acf-no-field-groups-wrapper .acf-no-options-pages-inner,.acf-no-field-groups-wrapper .acf-options-preview-inner,.acf-no-taxonomies-wrapper .acf-no-field-groups-inner,.acf-no-taxonomies-wrapper .acf-no-taxonomies-inner,.acf-no-taxonomies-wrapper .acf-no-post-types-inner,.acf-no-taxonomies-wrapper .acf-no-options-pages-inner,.acf-no-taxonomies-wrapper .acf-options-preview-inner,.acf-no-post-types-wrapper .acf-no-field-groups-inner,.acf-no-post-types-wrapper .acf-no-taxonomies-inner,.acf-no-post-types-wrapper .acf-no-post-types-inner,.acf-no-post-types-wrapper .acf-no-options-pages-inner,.acf-no-post-types-wrapper .acf-options-preview-inner,.acf-no-options-pages-wrapper .acf-no-field-groups-inner,.acf-no-options-pages-wrapper .acf-no-taxonomies-inner,.acf-no-options-pages-wrapper .acf-no-post-types-inner,.acf-no-options-pages-wrapper .acf-no-options-pages-inner,.acf-no-options-pages-wrapper .acf-options-preview-inner,.acf-options-preview-wrapper .acf-no-field-groups-inner,.acf-options-preview-wrapper .acf-no-taxonomies-inner,.acf-options-preview-wrapper .acf-no-post-types-inner,.acf-options-preview-wrapper .acf-no-options-pages-inner,.acf-options-preview-wrapper .acf-options-preview-inner{display:flex;flex-wrap:wrap;justify-content:center;align-content:center;align-items:flex-start;text-align:center;max-width:420px;min-height:320px}.acf-no-field-groups-wrapper .acf-no-field-groups-inner img,.acf-no-field-groups-wrapper .acf-no-field-groups-inner h2,.acf-no-field-groups-wrapper .acf-no-field-groups-inner p,.acf-no-field-groups-wrapper .acf-no-taxonomies-inner img,.acf-no-field-groups-wrapper .acf-no-taxonomies-inner h2,.acf-no-field-groups-wrapper .acf-no-taxonomies-inner p,.acf-no-field-groups-wrapper .acf-no-post-types-inner img,.acf-no-field-groups-wrapper .acf-no-post-types-inner h2,.acf-no-field-groups-wrapper .acf-no-post-types-inner p,.acf-no-field-groups-wrapper .acf-no-options-pages-inner img,.acf-no-field-groups-wrapper .acf-no-options-pages-inner h2,.acf-no-field-groups-wrapper .acf-no-options-pages-inner p,.acf-no-field-groups-wrapper .acf-options-preview-inner img,.acf-no-field-groups-wrapper .acf-options-preview-inner h2,.acf-no-field-groups-wrapper .acf-options-preview-inner p,.acf-no-taxonomies-wrapper .acf-no-field-groups-inner img,.acf-no-taxonomies-wrapper .acf-no-field-groups-inner h2,.acf-no-taxonomies-wrapper .acf-no-field-groups-inner p,.acf-no-taxonomies-wrapper .acf-no-taxonomies-inner img,.acf-no-taxonomies-wrapper .acf-no-taxonomies-inner h2,.acf-no-taxonomies-wrapper .acf-no-taxonomies-inner p,.acf-no-taxonomies-wrapper .acf-no-post-types-inner img,.acf-no-taxonomies-wrapper .acf-no-post-types-inner h2,.acf-no-taxonomies-wrapper .acf-no-post-types-inner p,.acf-no-taxonomies-wrapper .acf-no-options-pages-inner img,.acf-no-taxonomies-wrapper .acf-no-options-pages-inner h2,.acf-no-taxonomies-wrapper .acf-no-options-pages-inner p,.acf-no-taxonomies-wrapper .acf-options-preview-inner img,.acf-no-taxonomies-wrapper .acf-options-preview-inner h2,.acf-no-taxonomies-wrapper .acf-options-preview-inner p,.acf-no-post-types-wrapper .acf-no-field-groups-inner img,.acf-no-post-types-wrapper .acf-no-field-groups-inner h2,.acf-no-post-types-wrapper .acf-no-field-groups-inner p,.acf-no-post-types-wrapper .acf-no-taxonomies-inner img,.acf-no-post-types-wrapper .acf-no-taxonomies-inner h2,.acf-no-post-types-wrapper .acf-no-taxonomies-inner p,.acf-no-post-types-wrapper .acf-no-post-types-inner img,.acf-no-post-types-wrapper .acf-no-post-types-inner h2,.acf-no-post-types-wrapper .acf-no-post-types-inner p,.acf-no-post-types-wrapper .acf-no-options-pages-inner img,.acf-no-post-types-wrapper .acf-no-options-pages-inner h2,.acf-no-post-types-wrapper .acf-no-options-pages-inner p,.acf-no-post-types-wrapper .acf-options-preview-inner img,.acf-no-post-types-wrapper .acf-options-preview-inner h2,.acf-no-post-types-wrapper .acf-options-preview-inner p,.acf-no-options-pages-wrapper .acf-no-field-groups-inner img,.acf-no-options-pages-wrapper .acf-no-field-groups-inner h2,.acf-no-options-pages-wrapper .acf-no-field-groups-inner p,.acf-no-options-pages-wrapper .acf-no-taxonomies-inner img,.acf-no-options-pages-wrapper .acf-no-taxonomies-inner h2,.acf-no-options-pages-wrapper .acf-no-taxonomies-inner p,.acf-no-options-pages-wrapper .acf-no-post-types-inner img,.acf-no-options-pages-wrapper .acf-no-post-types-inner h2,.acf-no-options-pages-wrapper .acf-no-post-types-inner p,.acf-no-options-pages-wrapper .acf-no-options-pages-inner img,.acf-no-options-pages-wrapper .acf-no-options-pages-inner h2,.acf-no-options-pages-wrapper .acf-no-options-pages-inner p,.acf-no-options-pages-wrapper .acf-options-preview-inner img,.acf-no-options-pages-wrapper .acf-options-preview-inner h2,.acf-no-options-pages-wrapper .acf-options-preview-inner p,.acf-options-preview-wrapper .acf-no-field-groups-inner img,.acf-options-preview-wrapper .acf-no-field-groups-inner h2,.acf-options-preview-wrapper .acf-no-field-groups-inner p,.acf-options-preview-wrapper .acf-no-taxonomies-inner img,.acf-options-preview-wrapper .acf-no-taxonomies-inner h2,.acf-options-preview-wrapper .acf-no-taxonomies-inner p,.acf-options-preview-wrapper .acf-no-post-types-inner img,.acf-options-preview-wrapper .acf-no-post-types-inner h2,.acf-options-preview-wrapper .acf-no-post-types-inner p,.acf-options-preview-wrapper .acf-no-options-pages-inner img,.acf-options-preview-wrapper .acf-no-options-pages-inner h2,.acf-options-preview-wrapper .acf-no-options-pages-inner p,.acf-options-preview-wrapper .acf-options-preview-inner img,.acf-options-preview-wrapper .acf-options-preview-inner h2,.acf-options-preview-wrapper .acf-options-preview-inner p{flex:1 0 100%}.acf-no-field-groups-wrapper .acf-no-field-groups-inner h2,.acf-no-field-groups-wrapper .acf-no-taxonomies-inner h2,.acf-no-field-groups-wrapper .acf-no-post-types-inner h2,.acf-no-field-groups-wrapper .acf-no-options-pages-inner h2,.acf-no-field-groups-wrapper .acf-options-preview-inner h2,.acf-no-taxonomies-wrapper .acf-no-field-groups-inner h2,.acf-no-taxonomies-wrapper .acf-no-taxonomies-inner h2,.acf-no-taxonomies-wrapper .acf-no-post-types-inner h2,.acf-no-taxonomies-wrapper .acf-no-options-pages-inner h2,.acf-no-taxonomies-wrapper .acf-options-preview-inner h2,.acf-no-post-types-wrapper .acf-no-field-groups-inner h2,.acf-no-post-types-wrapper .acf-no-taxonomies-inner h2,.acf-no-post-types-wrapper .acf-no-post-types-inner h2,.acf-no-post-types-wrapper .acf-no-options-pages-inner h2,.acf-no-post-types-wrapper .acf-options-preview-inner h2,.acf-no-options-pages-wrapper .acf-no-field-groups-inner h2,.acf-no-options-pages-wrapper .acf-no-taxonomies-inner h2,.acf-no-options-pages-wrapper .acf-no-post-types-inner h2,.acf-no-options-pages-wrapper .acf-no-options-pages-inner h2,.acf-no-options-pages-wrapper .acf-options-preview-inner h2,.acf-options-preview-wrapper .acf-no-field-groups-inner h2,.acf-options-preview-wrapper .acf-no-taxonomies-inner h2,.acf-options-preview-wrapper .acf-no-post-types-inner h2,.acf-options-preview-wrapper .acf-no-options-pages-inner h2,.acf-options-preview-wrapper .acf-options-preview-inner h2{margin-top:32px;margin-bottom:0;padding:0;color:#344054;line-height:1.6rem}.acf-no-field-groups-wrapper .acf-no-field-groups-inner p,.acf-no-field-groups-wrapper .acf-no-taxonomies-inner p,.acf-no-field-groups-wrapper .acf-no-post-types-inner p,.acf-no-field-groups-wrapper .acf-no-options-pages-inner p,.acf-no-field-groups-wrapper .acf-options-preview-inner p,.acf-no-taxonomies-wrapper .acf-no-field-groups-inner p,.acf-no-taxonomies-wrapper .acf-no-taxonomies-inner p,.acf-no-taxonomies-wrapper .acf-no-post-types-inner p,.acf-no-taxonomies-wrapper .acf-no-options-pages-inner p,.acf-no-taxonomies-wrapper .acf-options-preview-inner p,.acf-no-post-types-wrapper .acf-no-field-groups-inner p,.acf-no-post-types-wrapper .acf-no-taxonomies-inner p,.acf-no-post-types-wrapper .acf-no-post-types-inner p,.acf-no-post-types-wrapper .acf-no-options-pages-inner p,.acf-no-post-types-wrapper .acf-options-preview-inner p,.acf-no-options-pages-wrapper .acf-no-field-groups-inner p,.acf-no-options-pages-wrapper .acf-no-taxonomies-inner p,.acf-no-options-pages-wrapper .acf-no-post-types-inner p,.acf-no-options-pages-wrapper .acf-no-options-pages-inner p,.acf-no-options-pages-wrapper .acf-options-preview-inner p,.acf-options-preview-wrapper .acf-no-field-groups-inner p,.acf-options-preview-wrapper .acf-no-taxonomies-inner p,.acf-options-preview-wrapper .acf-no-post-types-inner p,.acf-options-preview-wrapper .acf-no-options-pages-inner p,.acf-options-preview-wrapper .acf-options-preview-inner p{margin-top:12px;margin-bottom:0;padding:0;color:#667085}.acf-no-field-groups-wrapper .acf-no-field-groups-inner p.acf-small,.acf-no-field-groups-wrapper .acf-no-taxonomies-inner p.acf-small,.acf-no-field-groups-wrapper .acf-no-post-types-inner p.acf-small,.acf-no-field-groups-wrapper .acf-no-options-pages-inner p.acf-small,.acf-no-field-groups-wrapper .acf-options-preview-inner p.acf-small,.acf-no-taxonomies-wrapper .acf-no-field-groups-inner p.acf-small,.acf-no-taxonomies-wrapper .acf-no-taxonomies-inner p.acf-small,.acf-no-taxonomies-wrapper .acf-no-post-types-inner p.acf-small,.acf-no-taxonomies-wrapper .acf-no-options-pages-inner p.acf-small,.acf-no-taxonomies-wrapper .acf-options-preview-inner p.acf-small,.acf-no-post-types-wrapper .acf-no-field-groups-inner p.acf-small,.acf-no-post-types-wrapper .acf-no-taxonomies-inner p.acf-small,.acf-no-post-types-wrapper .acf-no-post-types-inner p.acf-small,.acf-no-post-types-wrapper .acf-no-options-pages-inner p.acf-small,.acf-no-post-types-wrapper .acf-options-preview-inner p.acf-small,.acf-no-options-pages-wrapper .acf-no-field-groups-inner p.acf-small,.acf-no-options-pages-wrapper .acf-no-taxonomies-inner p.acf-small,.acf-no-options-pages-wrapper .acf-no-post-types-inner p.acf-small,.acf-no-options-pages-wrapper .acf-no-options-pages-inner p.acf-small,.acf-no-options-pages-wrapper .acf-options-preview-inner p.acf-small,.acf-options-preview-wrapper .acf-no-field-groups-inner p.acf-small,.acf-options-preview-wrapper .acf-no-taxonomies-inner p.acf-small,.acf-options-preview-wrapper .acf-no-post-types-inner p.acf-small,.acf-options-preview-wrapper .acf-no-options-pages-inner p.acf-small,.acf-options-preview-wrapper .acf-options-preview-inner p.acf-small{display:block;position:relative;margin-top:32px}.acf-no-field-groups-wrapper .acf-no-field-groups-inner img,.acf-no-field-groups-wrapper .acf-no-taxonomies-inner img,.acf-no-field-groups-wrapper .acf-no-post-types-inner img,.acf-no-field-groups-wrapper .acf-no-options-pages-inner img,.acf-no-field-groups-wrapper .acf-options-preview-inner img,.acf-no-taxonomies-wrapper .acf-no-field-groups-inner img,.acf-no-taxonomies-wrapper .acf-no-taxonomies-inner img,.acf-no-taxonomies-wrapper .acf-no-post-types-inner img,.acf-no-taxonomies-wrapper .acf-no-options-pages-inner img,.acf-no-taxonomies-wrapper .acf-options-preview-inner img,.acf-no-post-types-wrapper .acf-no-field-groups-inner img,.acf-no-post-types-wrapper .acf-no-taxonomies-inner img,.acf-no-post-types-wrapper .acf-no-post-types-inner img,.acf-no-post-types-wrapper .acf-no-options-pages-inner img,.acf-no-post-types-wrapper .acf-options-preview-inner img,.acf-no-options-pages-wrapper .acf-no-field-groups-inner img,.acf-no-options-pages-wrapper .acf-no-taxonomies-inner img,.acf-no-options-pages-wrapper .acf-no-post-types-inner img,.acf-no-options-pages-wrapper .acf-no-options-pages-inner img,.acf-no-options-pages-wrapper .acf-options-preview-inner img,.acf-options-preview-wrapper .acf-no-field-groups-inner img,.acf-options-preview-wrapper .acf-no-taxonomies-inner img,.acf-options-preview-wrapper .acf-no-post-types-inner img,.acf-options-preview-wrapper .acf-no-options-pages-inner img,.acf-options-preview-wrapper .acf-options-preview-inner img{max-width:284px;margin-bottom:0}.acf-no-field-groups-wrapper .acf-no-field-groups-inner .acf-btn,.acf-no-field-groups-wrapper .acf-no-taxonomies-inner .acf-btn,.acf-no-field-groups-wrapper .acf-no-post-types-inner .acf-btn,.acf-no-field-groups-wrapper .acf-no-options-pages-inner .acf-btn,.acf-no-field-groups-wrapper .acf-options-preview-inner .acf-btn,.acf-no-taxonomies-wrapper .acf-no-field-groups-inner .acf-btn,.acf-no-taxonomies-wrapper .acf-no-taxonomies-inner .acf-btn,.acf-no-taxonomies-wrapper .acf-no-post-types-inner .acf-btn,.acf-no-taxonomies-wrapper .acf-no-options-pages-inner .acf-btn,.acf-no-taxonomies-wrapper .acf-options-preview-inner .acf-btn,.acf-no-post-types-wrapper .acf-no-field-groups-inner .acf-btn,.acf-no-post-types-wrapper .acf-no-taxonomies-inner .acf-btn,.acf-no-post-types-wrapper .acf-no-post-types-inner .acf-btn,.acf-no-post-types-wrapper .acf-no-options-pages-inner .acf-btn,.acf-no-post-types-wrapper .acf-options-preview-inner .acf-btn,.acf-no-options-pages-wrapper .acf-no-field-groups-inner .acf-btn,.acf-no-options-pages-wrapper .acf-no-taxonomies-inner .acf-btn,.acf-no-options-pages-wrapper .acf-no-post-types-inner .acf-btn,.acf-no-options-pages-wrapper .acf-no-options-pages-inner .acf-btn,.acf-no-options-pages-wrapper .acf-options-preview-inner .acf-btn,.acf-options-preview-wrapper .acf-no-field-groups-inner .acf-btn,.acf-options-preview-wrapper .acf-no-taxonomies-inner .acf-btn,.acf-options-preview-wrapper .acf-no-post-types-inner .acf-btn,.acf-options-preview-wrapper .acf-no-options-pages-inner .acf-btn,.acf-options-preview-wrapper .acf-options-preview-inner .acf-btn{margin-top:32px}.acf-no-field-groups-wrapper .acf-no-post-types-inner img,.acf-no-field-groups-wrapper .acf-no-options-pages-inner img,.acf-no-taxonomies-wrapper .acf-no-post-types-inner img,.acf-no-taxonomies-wrapper .acf-no-options-pages-inner img,.acf-no-post-types-wrapper .acf-no-post-types-inner img,.acf-no-post-types-wrapper .acf-no-options-pages-inner img,.acf-no-options-pages-wrapper .acf-no-post-types-inner img,.acf-no-options-pages-wrapper .acf-no-options-pages-inner img,.acf-options-preview-wrapper .acf-no-post-types-inner img,.acf-options-preview-wrapper .acf-no-options-pages-inner img{width:106px;height:88px}.acf-no-field-groups-wrapper .acf-no-taxonomies-inner img,.acf-no-taxonomies-wrapper .acf-no-taxonomies-inner img,.acf-no-post-types-wrapper .acf-no-taxonomies-inner img,.acf-no-options-pages-wrapper .acf-no-taxonomies-inner img,.acf-options-preview-wrapper .acf-no-taxonomies-inner img{width:98px;height:88px}.acf-no-field-groups #the-list tr:hover td,.acf-no-field-groups #the-list tr:hover th,.acf-no-field-groups .acf-admin-field-groups .wp-list-table tr:hover,.acf-no-field-groups .striped>tbody>:nth-child(odd),.acf-no-field-groups ul.striped>:nth-child(odd),.acf-no-field-groups .alternate,.acf-no-post-types #the-list tr:hover td,.acf-no-post-types #the-list tr:hover th,.acf-no-post-types .acf-admin-field-groups .wp-list-table tr:hover,.acf-no-post-types .striped>tbody>:nth-child(odd),.acf-no-post-types ul.striped>:nth-child(odd),.acf-no-post-types .alternate,.acf-no-taxonomies #the-list tr:hover td,.acf-no-taxonomies #the-list tr:hover th,.acf-no-taxonomies .acf-admin-field-groups .wp-list-table tr:hover,.acf-no-taxonomies .striped>tbody>:nth-child(odd),.acf-no-taxonomies ul.striped>:nth-child(odd),.acf-no-taxonomies .alternate,.acf-no-options-pages #the-list tr:hover td,.acf-no-options-pages #the-list tr:hover th,.acf-no-options-pages .acf-admin-field-groups .wp-list-table tr:hover,.acf-no-options-pages .striped>tbody>:nth-child(odd),.acf-no-options-pages ul.striped>:nth-child(odd),.acf-no-options-pages .alternate{background-color:rgba(0,0,0,0) !important}.acf-no-field-groups .wp-list-table thead,.acf-no-field-groups .wp-list-table tfoot,.acf-no-post-types .wp-list-table thead,.acf-no-post-types .wp-list-table tfoot,.acf-no-taxonomies .wp-list-table thead,.acf-no-taxonomies .wp-list-table tfoot,.acf-no-options-pages .wp-list-table thead,.acf-no-options-pages .wp-list-table tfoot{display:none}.acf-no-field-groups .wp-list-table a.acf-btn,.acf-no-post-types .wp-list-table a.acf-btn,.acf-no-taxonomies .wp-list-table a.acf-btn,.acf-no-options-pages .wp-list-table a.acf-btn{border:1px solid rgba(0,0,0,.16);box-shadow:none}.acf-internal-post-type #the-list .no-items td{vertical-align:middle}.acf-options-preview .acf-btn,.acf-no-options-pages-wrapper .acf-btn{margin-left:8px}.acf-options-preview .disabled,.acf-no-options-pages-wrapper .disabled{background-color:#f2f4f7 !important;color:#98a2b3 !important;border:1px #d0d5dd solid;cursor:default !important}.acf-options-preview .acf-options-pages-preview-upgrade-button,.acf-no-options-pages-wrapper .acf-options-pages-preview-upgrade-button{height:48px;padding:8px 48px 8px 48px !important;border:none !important;gap:6px;display:inline-flex;align-items:center;align-self:stretch;background:radial-gradient(141.77% 141.08% at 100.26% 99.25%, #0ECAD4 0%, #7A45E5 100%);border-radius:6px;text-decoration:none}.acf-options-preview .acf-options-pages-preview-upgrade-button:focus,.acf-no-options-pages-wrapper .acf-options-pages-preview-upgrade-button:focus{border:none;outline:none;box-shadow:none}.acf-options-preview .acf-options-pages-preview-upgrade-button p,.acf-no-options-pages-wrapper .acf-options-pages-preview-upgrade-button p{margin:0;padding-top:8px;padding-bottom:8px;font-weight:normal;text-transform:none;color:#fff}.acf-options-preview .acf-options-pages-preview-upgrade-button .acf-icon,.acf-no-options-pages-wrapper .acf-options-pages-preview-upgrade-button .acf-icon{width:20px;height:20px;margin-right:6px;margin-left:-2px;background-color:#f9fafb}.acf-options-preview .acf-ui-options-page-pro-features-actions a.acf-btn i,.acf-no-options-pages-wrapper .acf-ui-options-page-pro-features-actions a.acf-btn i{margin-right:-2px !important;margin-left:0px !important}.acf-options-preview .acf-pro-label,.acf-no-options-pages-wrapper .acf-pro-label{vertical-align:middle}.acf-options-preview .acf_options_preview_wrap img,.acf-no-options-pages-wrapper .acf_options_preview_wrap img{max-height:88px}.acf-internal-post-type .wp-list-table .toggle-row:before{top:4px;left:16px;border-radius:0;content:"";display:block;position:absolute;width:16px;height:16px;background-color:#0783be;border-radius:0;-webkit-mask-size:20px;mask-size:20px;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;-webkit-mask-image:url("../../images/icons/icon-chevron-down.svg");mask-image:url("../../images/icons/icon-chevron-down.svg");text-indent:100%;white-space:nowrap;overflow:hidden}.acf-internal-post-type .wp-list-table .is-expanded .toggle-row:before{-webkit-mask-image:url("../../images/icons/icon-chevron-up.svg");mask-image:url("../../images/icons/icon-chevron-up.svg")}@media screen and (max-width: 880px){.acf-internal-post-type .widefat th input[type=checkbox],.acf-internal-post-type .widefat thead td input[type=checkbox],.acf-internal-post-type .widefat tfoot td input[type=checkbox]{margin-bottom:0}}.acf-internal-post-type.acf-pro-inactive-license.acf-admin-options-pages .row-title{color:#667085;pointer-events:none;display:inline-flex;vertical-align:middle;gap:6px}.acf-internal-post-type.acf-pro-inactive-license.acf-admin-options-pages .row-title:before{content:"";width:16px;height:16px;background-color:#667085;display:inline-block;align-self:center;-webkit-mask-image:url("../../images/icons/icon-lock.svg");mask-image:url("../../images/icons/icon-lock.svg")}.acf-internal-post-type.acf-pro-inactive-license.acf-admin-options-pages .row-actions{display:none}.acf-internal-post-type.acf-pro-inactive-license.acf-admin-options-pages .column-title .acf-js-tooltip{display:inline-block}.acf-internal-post-type.acf-pro-inactive-license tr.acf-has-block-location .row-title{color:#667085;pointer-events:none;display:inline-flex;vertical-align:middle;gap:6px}.acf-internal-post-type.acf-pro-inactive-license tr.acf-has-block-location .row-title:before{content:"";width:16px;height:16px;background-color:#667085;display:inline-block;align-self:center;-webkit-mask-image:url("../../images/icons/icon-lock.svg");mask-image:url("../../images/icons/icon-lock.svg")}.acf-internal-post-type.acf-pro-inactive-license tr.acf-has-block-location .acf-count a{color:#667085;pointer-events:none}.acf-internal-post-type.acf-pro-inactive-license tr.acf-has-block-location .row-actions{display:none}.acf-internal-post-type.acf-pro-inactive-license tr.acf-has-block-location .column-title .acf-js-tooltip{display:inline-block}.acf-admin-toolbar{position:unset;top:32px;height:72px;z-index:800;background:#344054;color:#98a2b3}.acf-admin-toolbar .acf-admin-toolbar-inner{display:flex;justify-content:space-between;align-content:center;align-items:center;max-width:100%}.acf-admin-toolbar .acf-admin-toolbar-inner .acf-nav-wrap{display:flex;align-items:center;position:relative;padding-left:72px}@media screen and (max-width: 1250px){.acf-admin-toolbar .acf-admin-toolbar-inner .acf-nav-wrap .acf-header-tab-acf-post-type,.acf-admin-toolbar .acf-admin-toolbar-inner .acf-nav-wrap .acf-header-tab-acf-taxonomy{display:none}.acf-admin-toolbar .acf-admin-toolbar-inner .acf-nav-wrap .acf-more .acf-header-tab-acf-post-type,.acf-admin-toolbar .acf-admin-toolbar-inner .acf-nav-wrap .acf-more .acf-header-tab-acf-taxonomy{display:flex}}.acf-admin-toolbar .acf-admin-toolbar-inner .acf-nav-upgrade-wrap{display:flex;align-items:center}.acf-admin-toolbar .acf-admin-toolbar-inner .acf-nav-wpengine-logo{display:inline-flex;margin-left:24px}.acf-admin-toolbar .acf-admin-toolbar-inner .acf-nav-wpengine-logo img{height:20px}@media screen and (max-width: 1000px){.acf-admin-toolbar .acf-admin-toolbar-inner .acf-nav-wpengine-logo{display:none}}@media screen and (max-width: 880px){.acf-admin-toolbar{position:static}}.acf-admin-toolbar .acf-logo{display:flex;margin-right:24px;text-decoration:none;position:absolute;top:0;left:0}.acf-admin-toolbar .acf-logo img{display:block}.acf-admin-toolbar .acf-logo.pro img{height:46px}.acf-admin-toolbar h2{display:none;color:#f9fafb}.acf-admin-toolbar .acf-tab{display:flex;align-items:center;box-sizing:border-box;min-height:40px;margin-right:8px;padding-top:8px;padding-right:16px;padding-bottom:8px;padding-left:16px;border-width:1px;border-style:solid;border-color:rgba(0,0,0,0);border-radius:6px;color:#98a2b3;text-decoration:none}.acf-admin-toolbar .acf-tab.is-active{background-color:#475467;color:#fff}.acf-admin-toolbar .acf-tab:hover{background-color:#475467;color:#f9fafb}.acf-admin-toolbar .acf-tab:focus-visible{border-width:1px;border-style:solid;border-color:#667085}.acf-admin-toolbar .acf-tab:focus{box-shadow:none}.acf-admin-toolbar .acf-more:hover .acf-tab.acf-more-tab{background-color:#475467;color:#f9fafb}.acf-admin-toolbar .acf-more ul{display:none;position:absolute;box-sizing:border-box;background:#fff;z-index:1051;overflow:hidden;min-width:280px;margin-top:0;margin-right:0;margin-bottom:0;margin-left:0;padding:0;border-radius:8px;box-shadow:0px 0px 0px 1px rgba(0,0,0,.04),0px 8px 23px rgba(0,0,0,.12)}.acf-admin-toolbar .acf-more ul .acf-wp-engine{display:flex;align-items:center;justify-content:space-between;min-height:48px;border-top:1px solid rgba(0,0,0,.08);background:#ecfbfc}.acf-admin-toolbar .acf-more ul .acf-wp-engine a{display:flex;width:100%;justify-content:space-between;border-top:none}.acf-admin-toolbar .acf-more ul li{margin:0;padding:0 16px}.acf-admin-toolbar .acf-more ul li .acf-header-tab-acf-post-type,.acf-admin-toolbar .acf-more ul li .acf-header-tab-acf-taxonomy{display:none}.acf-admin-toolbar .acf-more ul li.acf-more-section-header{background:#f9fafb;padding:1px 0 0 0;margin-top:-1px;border-top:1px solid #eaecf0;border-bottom:1px solid #eaecf0}.acf-admin-toolbar .acf-more ul li.acf-more-section-header span{color:#475467;font-size:12px;font-weight:bold}.acf-admin-toolbar .acf-more ul li.acf-more-section-header span:hover{background:#f9fafb}.acf-admin-toolbar .acf-more ul li a{margin:0;padding:0;color:#1d2939;border-radius:0;border-top-width:1px;border-top-style:solid;border-top-color:#f2f4f7}.acf-admin-toolbar .acf-more ul li a:hover,.acf-admin-toolbar .acf-more ul li a.acf-tab.is-active{background-color:unset;color:#0783be}.acf-admin-toolbar .acf-more ul li a i.acf-icon{display:none !important;width:16px;height:16px;-webkit-mask-size:16px;mask-size:16px;background-color:#98a2b3 !important}.acf-admin-toolbar .acf-more ul li a .acf-requires-pro{justify-content:center;align-items:center;color:#fff;background:radial-gradient(141.77% 141.08% at 100.26% 99.25%, #0ECAD4 0%, #7A45E5 100%);border-radius:100px;font-size:11px;position:absolute;right:16px;padding-right:6px;padding-left:6px}.acf-admin-toolbar .acf-more ul li a img.acf-wp-engine-pro{display:block;height:16px;width:auto}.acf-admin-toolbar .acf-more ul li a .acf-wp-engine-upsell-pill{display:inline-flex;justify-content:center;align-items:center;min-height:22px;border-radius:100px;font-size:11px;padding-right:8px;padding-left:8px;background:#0ecad4;color:#fff;text-shadow:0px 1px 0 rgba(0,0,0,.12);text-transform:uppercase}.acf-admin-toolbar .acf-more ul li:first-child a{border-bottom:none}.acf-admin-toolbar .acf-more ul:hover,.acf-admin-toolbar .acf-more ul:focus{display:block}.acf-admin-toolbar .acf-more:hover ul,.acf-admin-toolbar .acf-more:focus ul{display:block}#wpcontent .acf-admin-toolbar{box-sizing:border-box;margin-left:-20px;padding-top:16px;padding-right:32px;padding-bottom:16px;padding-left:32px}@media screen and (max-width: 600px){.acf-admin-toolbar{display:none}}.rtl #wpcontent .acf-admin-toolbar{margin-left:0;margin-right:-20px}.rtl #wpcontent .acf-admin-toolbar .acf-tab{margin-left:8px;margin-right:0}.rtl .acf-logo{margin-right:0;margin-left:32px}.acf-admin-toolbar .acf-tab i.acf-icon,.acf-admin-toolbar .acf-more i.acf-icon{display:none;margin-right:8px;margin-left:-2px}.acf-admin-toolbar .acf-tab i.acf-icon.acf-icon-dropdown,.acf-admin-toolbar .acf-more i.acf-icon.acf-icon-dropdown{-webkit-mask-image:url("../../images/icons/icon-chevron-down.svg");mask-image:url("../../images/icons/icon-chevron-down.svg");width:16px;height:16px;-webkit-mask-size:16px;mask-size:16px;margin-right:-6px;margin-left:6px}.acf-admin-toolbar .acf-tab.acf-header-tab-acf-field-group i.acf-icon,.acf-admin-toolbar .acf-tab.acf-header-tab-acf-post-type i.acf-icon,.acf-admin-toolbar .acf-tab.acf-header-tab-acf-taxonomy i.acf-icon,.acf-admin-toolbar .acf-tab.acf-header-tab-acf-tools i.acf-icon,.acf-admin-toolbar .acf-tab.acf-header-tab-acf-settings-updates i.acf-icon,.acf-admin-toolbar .acf-tab.acf-header-tab-acf-more i.acf-icon,.acf-admin-toolbar .acf-more.acf-header-tab-acf-field-group i.acf-icon,.acf-admin-toolbar .acf-more.acf-header-tab-acf-post-type i.acf-icon,.acf-admin-toolbar .acf-more.acf-header-tab-acf-taxonomy i.acf-icon,.acf-admin-toolbar .acf-more.acf-header-tab-acf-tools i.acf-icon,.acf-admin-toolbar .acf-more.acf-header-tab-acf-settings-updates i.acf-icon,.acf-admin-toolbar .acf-more.acf-header-tab-acf-more i.acf-icon{display:inline-flex}.acf-admin-toolbar .acf-tab.is-active i.acf-icon,.acf-admin-toolbar .acf-tab:hover i.acf-icon,.acf-admin-toolbar .acf-more.is-active i.acf-icon,.acf-admin-toolbar .acf-more:hover i.acf-icon{background-color:#eaecf0}.rtl .acf-admin-toolbar .acf-tab i.acf-icon{margin-right:-2px;margin-left:8px}.acf-admin-toolbar .acf-header-tab-acf-field-group i.acf-icon{-webkit-mask-image:url("../../images/icons/icon-field-groups.svg");mask-image:url("../../images/icons/icon-field-groups.svg")}.acf-admin-toolbar .acf-header-tab-acf-post-type i.acf-icon{-webkit-mask-image:url("../../images/icons/icon-post-type.svg");mask-image:url("../../images/icons/icon-post-type.svg")}.acf-admin-toolbar .acf-header-tab-acf-taxonomy i.acf-icon{-webkit-mask-image:url("../../images/icons/icon-taxonomies.svg");mask-image:url("../../images/icons/icon-taxonomies.svg")}.acf-admin-toolbar .acf-header-tab-acf-tools i.acf-icon{-webkit-mask-image:url("../../images/icons/icon-tools.svg");mask-image:url("../../images/icons/icon-tools.svg")}.acf-admin-toolbar .acf-header-tab-acf-settings-updates i.acf-icon{-webkit-mask-image:url("../../images/icons/icon-updates.svg");mask-image:url("../../images/icons/icon-updates.svg")}.acf-admin-toolbar .acf-header-tab-acf-more i.acf-icon-more{-webkit-mask-image:url("../../images/icons/icon-extended-menu.svg");mask-image:url("../../images/icons/icon-extended-menu.svg")}.acf-admin-page #wpbody-content>.notice:not(.inline,.below-h2){display:none}.acf-admin-page h1.wp-heading-inline{display:none}.acf-admin-page .wrap .wp-heading-inline+.page-title-action{display:none}.acf-headerbar{display:flex;align-items:center;position:sticky;top:32px;z-index:700;box-sizing:border-box;min-height:72px;margin-left:-20px;padding-top:8px;padding-right:32px;padding-bottom:8px;padding-left:32px;background-color:#fff;box-shadow:0px 1px 2px rgba(16,24,40,.1)}.acf-headerbar .acf-headerbar-inner{flex:1 1 auto;display:flex;align-items:center;justify-content:space-between;max-width:1440px;gap:8px}.acf-headerbar .acf-page-title{display:flex;align-items:center;gap:8px;margin-top:0;margin-right:16px;margin-bottom:0;margin-left:0;padding-top:0;padding-right:0;padding-bottom:0;padding-left:0}.acf-headerbar .acf-page-title .acf-duplicated-from{color:#98a2b3}.acf-headerbar .acf-page-title .acf-pro-label{box-shadow:none}@media screen and (max-width: 880px){.acf-headerbar{position:static}}@media screen and (max-width: 600px){.acf-headerbar{justify-content:space-between;position:relative;top:46px;min-height:64px;padding-right:12px}}.acf-headerbar .acf-headerbar-content{flex:1 1 auto;display:flex;align-items:center}@media screen and (max-width: 880px){.acf-headerbar .acf-headerbar-content{flex-wrap:wrap}.acf-headerbar .acf-headerbar-content .acf-headerbar-title,.acf-headerbar .acf-headerbar-content .acf-title-wrap{flex:1 1 100%}.acf-headerbar .acf-headerbar-content .acf-title-wrap{margin-top:8px}}.acf-headerbar .acf-input-error{border:1px rgba(209,55,55,.5) solid !important;box-shadow:0 0 0 3px rgba(209,55,55,.12),0 0 0 rgba(255,54,54,.25) !important;background-image:url("../../images/icons/icon-warning-alt-red.svg");background-position:right 10px top 50%;background-size:20px;background-repeat:no-repeat}.acf-headerbar .acf-input-error:focus{outline:none !important;border:1px rgba(209,55,55,.8) solid !important;box-shadow:0 0 0 3px rgba(209,55,55,.16),0 0 0 rgba(255,54,54,.25) !important}.acf-headerbar .acf-headerbar-title-field{min-width:320px}@media screen and (max-width: 880px){.acf-headerbar .acf-headerbar-title-field{min-width:100%}}.acf-headerbar .acf-headerbar-actions{display:flex}.acf-headerbar .acf-headerbar-actions .acf-btn{margin-left:8px}.acf-headerbar .acf-headerbar-actions .disabled{background-color:#f2f4f7;color:#98a2b3 !important;border:1px #d0d5dd solid;cursor:default}.acf-headerbar-field-editor{position:sticky;top:32px;z-index:1020;margin-left:-20px;width:calc(100% + 20px)}@media screen and (max-width: 880px){.acf-headerbar-field-editor{position:relative;top:0;width:100%;margin-left:0;padding-right:8px;padding-left:8px}}@media screen and (max-width: 640px){.acf-headerbar-field-editor{position:relative;top:46px;z-index:unset}}@media screen and (max-width: 880px){.acf-headerbar-field-editor .acf-headerbar-inner{flex-wrap:wrap;justify-content:flex-start;align-content:flex-start;align-items:flex-start;width:100%}.acf-headerbar-field-editor .acf-headerbar-inner .acf-page-title{flex:1 1 auto}.acf-headerbar-field-editor .acf-headerbar-inner .acf-headerbar-actions{flex:1 1 100%;margin-top:8px;gap:8px}.acf-headerbar-field-editor .acf-headerbar-inner .acf-headerbar-actions .acf-btn{width:100%;display:inline-flex;justify-content:center;margin:0}}.acf-headerbar-field-editor .acf-page-title{margin-right:16px}.rtl .acf-headerbar,.rtl .acf-headerbar-field-editor{margin-left:0;margin-right:-20px}.rtl .acf-headerbar .acf-page-title,.rtl .acf-headerbar-field-editor .acf-page-title{margin-left:16px;margin-right:0}.rtl .acf-headerbar .acf-headerbar-actions .acf-btn,.rtl .acf-headerbar-field-editor .acf-headerbar-actions .acf-btn{margin-left:0;margin-right:8px}.acf-btn{display:inline-flex;align-items:center;box-sizing:border-box;min-height:40px;padding-top:8px;padding-right:16px;padding-bottom:8px;padding-left:16px;background-color:#0783be;border-radius:6px;border-width:1px;border-style:solid;border-color:rgba(16,24,40,.2);text-decoration:none;color:#fff !important;transition:all .2s ease-in-out;transition-property:background,border,box-shadow}.acf-btn:hover{background-color:#066998;color:#fff;cursor:pointer}.acf-btn:disabled,.acf-btn.disabled{background-color:#f2f4f7;border-color:#eaecf0;color:#98a2b3 !important;transition:none;pointer-events:none}.acf-btn.acf-btn-sm{min-height:32px;padding-top:4px;padding-right:12px;padding-bottom:4px;padding-left:12px}.acf-btn.acf-btn-secondary{background-color:rgba(0,0,0,0);color:#0783be !important;border-color:#0783be}.acf-btn.acf-btn-secondary:hover{background-color:#f3f9fc}.acf-btn.acf-btn-muted{background-color:#667085;color:#fff;height:48px;padding:8px 28px 8px 28px !important;border-radius:6px;border:1px;gap:6px}.acf-btn.acf-btn-muted:hover{background-color:#475467 !important}.acf-btn.acf-btn-tertiary{background-color:rgba(0,0,0,0);color:#667085 !important;border-color:#d0d5dd}.acf-btn.acf-btn-tertiary:hover{color:#667085 !important;border-color:#98a2b3}.acf-btn.acf-btn-clear{background-color:rgba(0,0,0,0);color:#667085 !important;border-color:rgba(0,0,0,0)}.acf-btn.acf-btn-clear:hover{color:#0783be !important}.acf-btn.acf-btn-pro{background:radial-gradient(141.77% 141.08% at 100.26% 99.25%, #0ECAD4 0%, #7A45E5 100%);border:none}.acf-btn i.acf-icon{width:20px;height:20px;-webkit-mask-size:20px;mask-size:20px;margin-right:6px;margin-left:-4px}.acf-btn.acf-btn-sm i.acf-icon{width:16px;height:16px;-webkit-mask-size:16px;mask-size:16px;margin-right:6px;margin-left:-2px}.rtl .acf-btn i.acf-icon{margin-right:-4px;margin-left:6px}.rtl .acf-btn.acf-btn-sm i.acf-icon{margin-right:-4px;margin-left:2px}.acf-btn.acf-delete-field-group:hover{background-color:#fbeded;border-color:#d13737 !important;color:#d13737 !important}.acf-internal-post-type i.acf-icon,.post-type-acf-field-group i.acf-icon{display:inline-flex;width:20px;height:20px;background-color:currentColor;border:none;border-radius:0;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;text-indent:500%;white-space:nowrap;overflow:hidden}.acf-admin-page i.acf-field-setting-fc-delete,.acf-admin-page i.acf-field-setting-fc-duplicate{box-sizing:border-box;display:flex;flex-direction:row;justify-content:center;align-items:center;padding:8px;cursor:pointer;width:32px;height:32px;background:#fff;border:1px solid #d0d5dd;box-shadow:0px 1px 2px rgba(16,24,40,.1);border-radius:6px;flex:none;order:0;flex-grow:0}.acf-admin-page i.acf-icon-plus{-webkit-mask-image:url("../../images/icons/icon-add.svg");mask-image:url("../../images/icons/icon-add.svg")}.acf-admin-page i.acf-icon-stars{-webkit-mask-image:url("../../images/icons/icon-stars.svg");mask-image:url("../../images/icons/icon-stars.svg")}.acf-admin-page i.acf-icon-help{-webkit-mask-image:url("../../images/icons/icon-help.svg");mask-image:url("../../images/icons/icon-help.svg")}.acf-admin-page i.acf-icon-key{-webkit-mask-image:url("../../images/icons/icon-key.svg");mask-image:url("../../images/icons/icon-key.svg")}.acf-admin-page i.acf-icon-regenerate{-webkit-mask-image:url("../../images/icons/icon-regenerate.svg");mask-image:url("../../images/icons/icon-regenerate.svg")}.acf-admin-page i.acf-icon-trash,.acf-admin-page button.acf-icon-trash{-webkit-mask-image:url("../../images/icons/icon-trash.svg");mask-image:url("../../images/icons/icon-trash.svg")}.acf-admin-page i.acf-icon-extended-menu,.acf-admin-page button.acf-icon-extended-menu{-webkit-mask-image:url("../../images/icons/icon-extended-menu.svg");mask-image:url("../../images/icons/icon-extended-menu.svg")}.acf-admin-page i.acf-icon.-duplicate,.acf-admin-page button.acf-icon-duplicate{-webkit-mask-image:url("../../images/field-type-icons/icon-field-clone.svg");mask-image:url("../../images/field-type-icons/icon-field-clone.svg")}.acf-admin-page i.acf-icon.-duplicate:before,.acf-admin-page i.acf-icon.-duplicate:after,.acf-admin-page button.acf-icon-duplicate:before,.acf-admin-page button.acf-icon-duplicate:after{content:none}.acf-admin-page i.acf-icon-arrow-right{-webkit-mask-image:url("../../images/icons/icon-arrow-right.svg");mask-image:url("../../images/icons/icon-arrow-right.svg")}.acf-admin-page i.acf-icon-arrow-up-right{-webkit-mask-image:url("../../images/icons/icon-arrow-up-right.svg");mask-image:url("../../images/icons/icon-arrow-up-right.svg")}.acf-admin-page i.acf-icon-arrow-left{-webkit-mask-image:url("../../images/icons/icon-arrow-left.svg");mask-image:url("../../images/icons/icon-arrow-left.svg")}.acf-admin-page i.acf-icon-chevron-right,.acf-admin-page .acf-icon.-right{-webkit-mask-image:url("../../images/icons/icon-chevron-right.svg");mask-image:url("../../images/icons/icon-chevron-right.svg")}.acf-admin-page i.acf-icon-chevron-left,.acf-admin-page .acf-icon.-left{-webkit-mask-image:url("../../images/icons/icon-chevron-left.svg");mask-image:url("../../images/icons/icon-chevron-left.svg")}.acf-admin-page i.acf-icon-key-solid{-webkit-mask-image:url("../../images/icons/icon-key-solid.svg");mask-image:url("../../images/icons/icon-key-solid.svg")}.acf-admin-page i.acf-icon-globe,.acf-admin-page .acf-icon.-globe{-webkit-mask-image:url("../../images/icons/icon-globe.svg");mask-image:url("../../images/icons/icon-globe.svg")}.acf-admin-page i.acf-icon-image,.acf-admin-page .acf-icon.-picture{-webkit-mask-image:url("../../images/field-type-icons/icon-field-image.svg");mask-image:url("../../images/field-type-icons/icon-field-image.svg")}.acf-admin-page i.acf-icon-warning{-webkit-mask-image:url("../../images/icons/icon-warning-alt.svg");mask-image:url("../../images/icons/icon-warning-alt.svg")}.acf-admin-page i.acf-icon-warning-red{-webkit-mask-image:url("../../images/icons/icon-warning-alt-red.svg");mask-image:url("../../images/icons/icon-warning-alt-red.svg")}.acf-admin-page i.acf-icon-dots-grid{-webkit-mask-image:url("../../images/icons/icon-dots-grid.svg");mask-image:url("../../images/icons/icon-dots-grid.svg")}.acf-admin-page i.acf-icon-play{-webkit-mask-image:url("../../images/icons/icon-play.svg");mask-image:url("../../images/icons/icon-play.svg")}.acf-admin-page i.acf-icon-lock{-webkit-mask-image:url("../../images/icons/icon-lock.svg");mask-image:url("../../images/icons/icon-lock.svg")}.acf-admin-page i.acf-icon-document{-webkit-mask-image:url("../../images/icons/icon-document.svg");mask-image:url("../../images/icons/icon-document.svg")}.acf-admin-page .post-type-acf-field-group .post-state,.acf-admin-page .acf-internal-post-type .post-state{font-weight:normal}.acf-admin-page .post-type-acf-field-group .post-state .dashicons.dashicons-hidden,.acf-admin-page .acf-internal-post-type .post-state .dashicons.dashicons-hidden{display:inline-flex;width:18px;height:18px;background-color:#98a2b3;border:none;border-radius:0;-webkit-mask-size:18px;mask-size:18px;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;-webkit-mask-image:url("../../images/icons/icon-hidden.svg");mask-image:url("../../images/icons/icon-hidden.svg")}.acf-admin-page .post-type-acf-field-group .post-state .dashicons.dashicons-hidden:before,.acf-admin-page .acf-internal-post-type .post-state .dashicons.dashicons-hidden:before{display:none}#acf-field-group-fields .postbox-header h2,#acf-field-group-fields .postbox-header h3,#acf-field-group-fields .acf-sub-field-list-header h2,#acf-field-group-fields .acf-sub-field-list-header h3,#acf-field-group-options .postbox-header h2,#acf-field-group-options .postbox-header h3,#acf-field-group-options .acf-sub-field-list-header h2,#acf-field-group-options .acf-sub-field-list-header h3,#acf-advanced-settings .postbox-header h2,#acf-advanced-settings .postbox-header h3,#acf-advanced-settings .acf-sub-field-list-header h2,#acf-advanced-settings .acf-sub-field-list-header h3{display:inline-flex;justify-content:flex-start;align-content:stretch;align-items:center}#acf-field-group-fields .postbox-header h2:before,#acf-field-group-fields .postbox-header h3:before,#acf-field-group-fields .acf-sub-field-list-header h2:before,#acf-field-group-fields .acf-sub-field-list-header h3:before,#acf-field-group-options .postbox-header h2:before,#acf-field-group-options .postbox-header h3:before,#acf-field-group-options .acf-sub-field-list-header h2:before,#acf-field-group-options .acf-sub-field-list-header h3:before,#acf-advanced-settings .postbox-header h2:before,#acf-advanced-settings .postbox-header h3:before,#acf-advanced-settings .acf-sub-field-list-header h2:before,#acf-advanced-settings .acf-sub-field-list-header h3:before{content:"";display:inline-block;width:20px;height:20px;margin-right:8px;background-color:#98a2b3;border:none;border-radius:0;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center}.rtl #acf-field-group-fields .postbox-header h2:before,.rtl #acf-field-group-fields .postbox-header h3:before,.rtl #acf-field-group-fields .acf-sub-field-list-header h2:before,.rtl #acf-field-group-fields .acf-sub-field-list-header h3:before,.rtl #acf-field-group-options .postbox-header h2:before,.rtl #acf-field-group-options .postbox-header h3:before,.rtl #acf-field-group-options .acf-sub-field-list-header h2:before,.rtl #acf-field-group-options .acf-sub-field-list-header h3:before{margin-right:0;margin-left:8px}#acf-field-group-fields .postbox-header h2:before,h3.acf-sub-field-list-title:before,.acf-link-field-groups-popup h3:before{-webkit-mask-image:url("../../images/icons/icon-fields.svg");mask-image:url("../../images/icons/icon-fields.svg")}.acf-create-options-page-popup h3:before{-webkit-mask-image:url("../../images/icons/icon-sliders.svg");mask-image:url("../../images/icons/icon-sliders.svg")}#acf-field-group-options .postbox-header h2:before{-webkit-mask-image:url("../../images/icons/icon-settings.svg");mask-image:url("../../images/icons/icon-settings.svg")}.acf-field-setting-fc_layout .acf-field-settings-fc_head label:before{-webkit-mask-image:url("../../images/icons/icon-layout.svg");mask-image:url("../../images/icons/icon-layout.svg")}.acf-admin-single-post-type #acf-advanced-settings .postbox-header h2:before,.acf-admin-single-taxonomy #acf-advanced-settings .postbox-header h2:before,.acf-admin-single-options-page #acf-advanced-settings .postbox-header h2:before{-webkit-mask-image:url("../../images/icons/icon-post-type.svg");mask-image:url("../../images/icons/icon-post-type.svg")}.acf-field-setting-fc_layout .acf-field-settings-fc_head .acf-fc_draggable:hover .reorder-layout:before{width:20px;height:11px;background-color:#475467 !important;-webkit-mask-image:url("../../images/icons/icon-draggable.svg");mask-image:url("../../images/icons/icon-draggable.svg")}.post-type-acf-field-group .postbox-header .handle-actions,.post-type-acf-field-group #acf-field-group-fields .postbox-header .handle-actions,.post-type-acf-field-group #acf-field-group-options .postbox-header .handle-actions,.post-type-acf-field-group .postbox .postbox-header .handle-actions,.acf-admin-single-post-type #acf-advanced-settings .postbox-header .handle-actions,.acf-admin-single-taxonomy #acf-advanced-settings .postbox-header .handle-actions,.acf-admin-single-options-page #acf-advanced-settings .postbox-header .handle-actions{display:flex}.post-type-acf-field-group .postbox-header .handle-actions .toggle-indicator:before,.post-type-acf-field-group #acf-field-group-fields .postbox-header .handle-actions .toggle-indicator:before,.post-type-acf-field-group #acf-field-group-options .postbox-header .handle-actions .toggle-indicator:before,.post-type-acf-field-group .postbox .postbox-header .handle-actions .toggle-indicator:before,.acf-admin-single-post-type #acf-advanced-settings .postbox-header .handle-actions .toggle-indicator:before,.acf-admin-single-taxonomy #acf-advanced-settings .postbox-header .handle-actions .toggle-indicator:before,.acf-admin-single-options-page #acf-advanced-settings .postbox-header .handle-actions .toggle-indicator:before{content:"";display:inline-flex;width:20px;height:20px;background-color:currentColor;border:none;border-radius:0;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;-webkit-mask-image:url("../../images/icons/icon-chevron-up.svg");mask-image:url("../../images/icons/icon-chevron-up.svg")}.post-type-acf-field-group.closed .postbox-header .handle-actions .toggle-indicator:before,.post-type-acf-field-group #acf-field-group-fields.closed .postbox-header .handle-actions .toggle-indicator:before,.post-type-acf-field-group #acf-field-group-options.closed .postbox-header .handle-actions .toggle-indicator:before,.post-type-acf-field-group .postbox.closed .postbox-header .handle-actions .toggle-indicator:before,.acf-admin-single-post-type #acf-advanced-settings.closed .postbox-header .handle-actions .toggle-indicator:before,.acf-admin-single-taxonomy #acf-advanced-settings.closed .postbox-header .handle-actions .toggle-indicator:before,.acf-admin-single-options-page #acf-advanced-settings.closed .postbox-header .handle-actions .toggle-indicator:before{-webkit-mask-image:url("../../images/icons/icon-chevron-down.svg");mask-image:url("../../images/icons/icon-chevron-down.svg")}.post-type-acf-field-group #acf-admin-tool-export h2,.post-type-acf-field-group #acf-admin-tool-export h3,.post-type-acf-field-group #acf-admin-tool-import h2,.post-type-acf-field-group #acf-admin-tool-import h3,.post-type-acf-field-group #acf-license-information h2,.post-type-acf-field-group #acf-license-information h3,.post-type-acf-field-group #acf-update-information h2,.post-type-acf-field-group #acf-update-information h3{display:inline-flex;justify-content:flex-start;align-content:stretch;align-items:center}.post-type-acf-field-group #acf-admin-tool-export h2:before,.post-type-acf-field-group #acf-admin-tool-export h3:before,.post-type-acf-field-group #acf-admin-tool-import h2:before,.post-type-acf-field-group #acf-admin-tool-import h3:before,.post-type-acf-field-group #acf-license-information h2:before,.post-type-acf-field-group #acf-license-information h3:before,.post-type-acf-field-group #acf-update-information h2:before,.post-type-acf-field-group #acf-update-information h3:before{content:"";display:inline-block;width:20px;height:20px;margin-right:8px;background-color:#98a2b3;border:none;border-radius:0;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center}.post-type-acf-field-group.rtl #acf-admin-tool-export h2:before,.post-type-acf-field-group.rtl #acf-admin-tool-export h3:before,.post-type-acf-field-group.rtl #acf-admin-tool-import h2:before,.post-type-acf-field-group.rtl #acf-admin-tool-import h3:before,.post-type-acf-field-group.rtl #acf-license-information h2:before,.post-type-acf-field-group.rtl #acf-license-information h3:before,.post-type-acf-field-group.rtl #acf-update-information h2:before,.post-type-acf-field-group.rtl #acf-update-information h3:before{margin-right:0;margin-left:8px}.post-type-acf-field-group #acf-admin-tool-export h2:before{-webkit-mask-image:url("../../images/icons/icon-export.svg");mask-image:url("../../images/icons/icon-export.svg")}.post-type-acf-field-group #acf-admin-tool-import h2:before{-webkit-mask-image:url("../../images/icons/icon-import.svg");mask-image:url("../../images/icons/icon-import.svg")}.post-type-acf-field-group #acf-license-information h3:before{-webkit-mask-image:url("../../images/icons/icon-key.svg");mask-image:url("../../images/icons/icon-key.svg")}.post-type-acf-field-group #acf-update-information h3:before{-webkit-mask-image:url("../../images/icons/icon-info.svg");mask-image:url("../../images/icons/icon-info.svg")}.acf-admin-single-field-group .acf-input .acf-icon{width:18px;height:18px}.field-type-icon{box-sizing:border-box;display:inline-flex;align-content:center;align-items:center;justify-content:center;position:relative;width:24px;height:24px;top:-4px;background-color:#ebf5fa;border-width:1px;border-style:solid;border-color:#a5d2e7;border-radius:100%}.field-type-icon:before{content:"";width:14px;height:14px;position:relative;background-color:#0783be;-webkit-mask-size:cover;mask-size:cover;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;-webkit-mask-image:url("../../images/field-type-icons/icon-field-default.svg");mask-image:url("../../images/field-type-icons/icon-field-default.svg")}.field-type-icon.field-type-icon-text:before{-webkit-mask-image:url("../../images/field-type-icons/icon-field-text.svg");mask-image:url("../../images/field-type-icons/icon-field-text.svg")}.field-type-icon.field-type-icon-textarea:before{-webkit-mask-image:url("../../images/field-type-icons/icon-field-textarea.svg");mask-image:url("../../images/field-type-icons/icon-field-textarea.svg")}.field-type-icon.field-type-icon-textarea:before{-webkit-mask-image:url("../../images/field-type-icons/icon-field-textarea.svg");mask-image:url("../../images/field-type-icons/icon-field-textarea.svg")}.field-type-icon.field-type-icon-number:before{-webkit-mask-image:url("../../images/field-type-icons/icon-field-number.svg");mask-image:url("../../images/field-type-icons/icon-field-number.svg")}.field-type-icon.field-type-icon-range:before{-webkit-mask-image:url("../../images/field-type-icons/icon-field-range.svg");mask-image:url("../../images/field-type-icons/icon-field-range.svg")}.field-type-icon.field-type-icon-email:before{-webkit-mask-image:url("../../images/field-type-icons/icon-field-email.svg");mask-image:url("../../images/field-type-icons/icon-field-email.svg")}.field-type-icon.field-type-icon-url:before{-webkit-mask-image:url("../../images/field-type-icons/icon-field-url.svg");mask-image:url("../../images/field-type-icons/icon-field-url.svg")}.field-type-icon.field-type-icon-password:before{-webkit-mask-image:url("../../images/field-type-icons/icon-field-password.svg");mask-image:url("../../images/field-type-icons/icon-field-password.svg")}.field-type-icon.field-type-icon-image:before{-webkit-mask-image:url("../../images/field-type-icons/icon-field-image.svg");mask-image:url("../../images/field-type-icons/icon-field-image.svg")}.field-type-icon.field-type-icon-file:before{-webkit-mask-image:url("../../images/field-type-icons/icon-field-file.svg");mask-image:url("../../images/field-type-icons/icon-field-file.svg")}.field-type-icon.field-type-icon-wysiwyg:before{-webkit-mask-image:url("../../images/field-type-icons/icon-field-wysiwyg.svg");mask-image:url("../../images/field-type-icons/icon-field-wysiwyg.svg")}.field-type-icon.field-type-icon-oembed:before{-webkit-mask-image:url("../../images/field-type-icons/icon-field-oembed.svg");mask-image:url("../../images/field-type-icons/icon-field-oembed.svg")}.field-type-icon.field-type-icon-gallery:before{-webkit-mask-image:url("../../images/field-type-icons/icon-field-gallery.svg");mask-image:url("../../images/field-type-icons/icon-field-gallery.svg")}.field-type-icon.field-type-icon-select:before{-webkit-mask-image:url("../../images/field-type-icons/icon-field-select.svg");mask-image:url("../../images/field-type-icons/icon-field-select.svg")}.field-type-icon.field-type-icon-checkbox:before{-webkit-mask-image:url("../../images/field-type-icons/icon-field-checkbox.svg");mask-image:url("../../images/field-type-icons/icon-field-checkbox.svg")}.field-type-icon.field-type-icon-radio:before{-webkit-mask-image:url("../../images/field-type-icons/icon-field-radio.svg");mask-image:url("../../images/field-type-icons/icon-field-radio.svg")}.field-type-icon.field-type-icon-button-group:before{-webkit-mask-image:url("../../images/field-type-icons/icon-field-button-group.svg");mask-image:url("../../images/field-type-icons/icon-field-button-group.svg")}.field-type-icon.field-type-icon-true-false:before{-webkit-mask-image:url("../../images/field-type-icons/icon-field-true-false.svg");mask-image:url("../../images/field-type-icons/icon-field-true-false.svg")}.field-type-icon.field-type-icon-link:before{-webkit-mask-image:url("../../images/field-type-icons/icon-field-link.svg");mask-image:url("../../images/field-type-icons/icon-field-link.svg")}.field-type-icon.field-type-icon-post-object:before{-webkit-mask-image:url("../../images/field-type-icons/icon-field-post-object.svg");mask-image:url("../../images/field-type-icons/icon-field-post-object.svg")}.field-type-icon.field-type-icon-page-link:before{-webkit-mask-image:url("../../images/field-type-icons/icon-field-page-link.svg");mask-image:url("../../images/field-type-icons/icon-field-page-link.svg")}.field-type-icon.field-type-icon-relationship:before{-webkit-mask-image:url("../../images/field-type-icons/icon-field-relationship.svg");mask-image:url("../../images/field-type-icons/icon-field-relationship.svg")}.field-type-icon.field-type-icon-taxonomy:before{-webkit-mask-image:url("../../images/field-type-icons/icon-field-taxonomy.svg");mask-image:url("../../images/field-type-icons/icon-field-taxonomy.svg")}.field-type-icon.field-type-icon-user:before{-webkit-mask-image:url("../../images/field-type-icons/icon-field-user.svg");mask-image:url("../../images/field-type-icons/icon-field-user.svg")}.field-type-icon.field-type-icon-google-map:before{-webkit-mask-image:url("../../images/field-type-icons/icon-field-google-map.svg");mask-image:url("../../images/field-type-icons/icon-field-google-map.svg")}.field-type-icon.field-type-icon-date-picker:before{-webkit-mask-image:url("../../images/field-type-icons/icon-field-date-picker.svg");mask-image:url("../../images/field-type-icons/icon-field-date-picker.svg")}.field-type-icon.field-type-icon-date-time-picker:before{-webkit-mask-image:url("../../images/field-type-icons/icon-field-date-time-picker.svg");mask-image:url("../../images/field-type-icons/icon-field-date-time-picker.svg")}.field-type-icon.field-type-icon-time-picker:before{-webkit-mask-image:url("../../images/field-type-icons/icon-field-time-picker.svg");mask-image:url("../../images/field-type-icons/icon-field-time-picker.svg")}.field-type-icon.field-type-icon-color-picker:before{-webkit-mask-image:url("../../images/field-type-icons/icon-field-color-picker.svg");mask-image:url("../../images/field-type-icons/icon-field-color-picker.svg")}.field-type-icon.field-type-icon-icon-picker:before{-webkit-mask-image:url("../../images/field-type-icons/icon-field-icon-picker.svg");mask-image:url("../../images/field-type-icons/icon-field-icon-picker.svg")}.field-type-icon.field-type-icon-message:before{-webkit-mask-image:url("../../images/field-type-icons/icon-field-message.svg");mask-image:url("../../images/field-type-icons/icon-field-message.svg")}.field-type-icon.field-type-icon-accordion:before{-webkit-mask-image:url("../../images/field-type-icons/icon-field-accordion.svg");mask-image:url("../../images/field-type-icons/icon-field-accordion.svg")}.field-type-icon.field-type-icon-tab:before{-webkit-mask-image:url("../../images/field-type-icons/icon-field-tab.svg");mask-image:url("../../images/field-type-icons/icon-field-tab.svg")}.field-type-icon.field-type-icon-group:before{-webkit-mask-image:url("../../images/field-type-icons/icon-field-group.svg");mask-image:url("../../images/field-type-icons/icon-field-group.svg")}.field-type-icon.field-type-icon-repeater:before{-webkit-mask-image:url("../../images/field-type-icons/icon-field-repeater.svg");mask-image:url("../../images/field-type-icons/icon-field-repeater.svg")}.field-type-icon.field-type-icon-flexible-content:before{-webkit-mask-image:url("../../images/field-type-icons/icon-field-flexible-content.svg");mask-image:url("../../images/field-type-icons/icon-field-flexible-content.svg")}.field-type-icon.field-type-icon-clone:before{-webkit-mask-image:url("../../images/field-type-icons/icon-field-clone.svg");mask-image:url("../../images/field-type-icons/icon-field-clone.svg")}#acf-admin-tools .postbox-header{display:none}#acf-admin-tools .acf-meta-box-wrap.-grid{margin-top:0;margin-right:0;margin-bottom:0;margin-left:0}#acf-admin-tools .acf-meta-box-wrap.-grid .postbox{width:100%;clear:none;float:none;margin-bottom:0}@media screen and (max-width: 880px){#acf-admin-tools .acf-meta-box-wrap.-grid .postbox{flex:1 1 100%}}#acf-admin-tools .acf-meta-box-wrap.-grid .postbox:nth-child(odd){margin-left:0}#acf-admin-tools .meta-box-sortables{display:grid;grid-template-columns:repeat(2, 1fr);grid-template-rows:repeat(1, 1fr);grid-column-gap:32px;grid-row-gap:32px}@media screen and (max-width: 880px){#acf-admin-tools .meta-box-sortables{display:flex;flex-wrap:wrap;justify-content:flex-start;align-content:flex-start;align-items:center;grid-column-gap:8px;grid-row-gap:8px}}#acf-admin-tools.tool-export .inside{margin:0}#acf-admin-tools.tool-export .acf-postbox-header{margin-bottom:24px}#acf-admin-tools.tool-export .acf-postbox-main{border:none;margin:0;padding-top:0;padding-right:24px;padding-bottom:0;padding-left:0}#acf-admin-tools.tool-export .acf-postbox-columns{margin-top:0;margin-right:280px;margin-bottom:0;margin-left:0;padding:0}#acf-admin-tools.tool-export .acf-postbox-columns .acf-postbox-side{padding:0}#acf-admin-tools.tool-export .acf-postbox-columns .acf-postbox-side .acf-panel{margin:0;padding:0}#acf-admin-tools.tool-export .acf-postbox-columns .acf-postbox-side:before{display:none}#acf-admin-tools.tool-export .acf-postbox-columns .acf-postbox-side .acf-btn{display:block;width:100%;text-align:center}#acf-admin-tools.tool-export .meta-box-sortables{display:block}#acf-admin-tools.tool-export .acf-panel{border:none}#acf-admin-tools.tool-export .acf-panel h3{margin:0;padding:0;color:#344054}#acf-admin-tools.tool-export .acf-panel h3:before{display:none}#acf-admin-tools.tool-export .acf-checkbox-list{margin-top:16px;border-width:1px;border-style:solid;border-color:#d0d5dd;border-radius:6px}#acf-admin-tools.tool-export .acf-checkbox-list li{display:inline-flex;box-sizing:border-box;width:100%;height:48px;align-items:center;margin:0;padding-right:12px;padding-left:12px;border-bottom-width:1px;border-bottom-style:solid;border-bottom-color:#eaecf0}#acf-admin-tools.tool-export .acf-checkbox-list li:last-child{border-bottom:none}.acf-settings-wrap.acf-updates{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:flex-start;align-content:flex-start;align-items:flex-start}.custom-fields_page_acf-settings-updates .acf-admin-notice,.custom-fields_page_acf-settings-updates .acf-upgrade-notice,.custom-fields_page_acf-settings-updates .notice{flex:1 1 100%}.acf-settings-wrap.acf-updates .acf-box{margin-top:0;margin-right:0;margin-bottom:0;margin-left:0}.acf-settings-wrap.acf-updates .acf-box .inner{padding-top:24px;padding-right:24px;padding-bottom:24px;padding-left:24px}@media screen and (max-width: 880px){.acf-settings-wrap.acf-updates .acf-box{flex:1 1 100%}}.acf-settings-wrap.acf-updates .acf-admin-notice{flex:1 1 100%;margin-top:16px;margin-right:0;margin-left:0}#acf-license-information{flex:1 1 65%;margin-right:32px}#acf-license-information .inner{padding:0}#acf-license-information .inner .acf-license-defined{padding:24px;margin:0}#acf-license-information .inner .acf-activation-form,#acf-license-information .inner .acf-retry-activation{padding:24px}#acf-license-information .inner .acf-activation-form.acf-retry-activation,#acf-license-information .inner .acf-retry-activation.acf-retry-activation{padding-top:0;min-height:40px}#acf-license-information .inner .acf-activation-form.acf-retry-activation .acf-recheck-license.acf-btn,#acf-license-information .inner .acf-retry-activation.acf-retry-activation .acf-recheck-license.acf-btn{float:none;line-height:initial}#acf-license-information .inner .acf-activation-form.acf-retry-activation .acf-recheck-license.acf-btn i,#acf-license-information .inner .acf-retry-activation.acf-retry-activation .acf-recheck-license.acf-btn i{display:none}#acf-license-information .inner .acf-activation-form .acf-manage-license-btn,#acf-license-information .inner .acf-retry-activation .acf-manage-license-btn{float:right;line-height:40px;align-items:center;display:inline-flex}#acf-license-information .inner .acf-activation-form .acf-manage-license-btn.acf-renew-subscription,#acf-license-information .inner .acf-retry-activation .acf-manage-license-btn.acf-renew-subscription{float:none;line-height:initial}#acf-license-information .inner .acf-activation-form .acf-manage-license-btn i,#acf-license-information .inner .acf-retry-activation .acf-manage-license-btn i{margin:0 0 0 5px;width:19px;height:19px}#acf-license-information .inner .acf-activation-form .acf-recheck-license,#acf-license-information .inner .acf-retry-activation .acf-recheck-license{float:right;line-height:40px}#acf-license-information .inner .acf-activation-form .acf-recheck-license i,#acf-license-information .inner .acf-retry-activation .acf-recheck-license i{margin-right:8px;vertical-align:middle}#acf-license-information .inner .acf-license-status-wrap{background:#f9fafb;border-top:1px solid #eaecf0;border-bottom-left-radius:8px;border-bottom-right-radius:8px}#acf-license-information .inner .acf-license-status-wrap .acf-license-status-table{font-size:14px;padding:24px 24px 16px 24px}#acf-license-information .inner .acf-license-status-wrap .acf-license-status-table th{width:160px;font-weight:500;text-align:left;padding-bottom:16px}#acf-license-information .inner .acf-license-status-wrap .acf-license-status-table td{padding-bottom:16px}#acf-license-information .inner .acf-license-status-wrap .acf-license-status-table td .acf-license-status{display:inline-block;height:24px;line-height:24px;border-radius:100px;background:#eaecf0;padding:0 13px 1px 12px;border:1px solid rgba(0,0,0,.12);color:#667085}#acf-license-information .inner .acf-license-status-wrap .acf-license-status-table td .acf-license-status.active{background:rgba(18,183,106,.15);border:1px solid rgba(18,183,106,.24);color:#12b76a}#acf-license-information .inner .acf-license-status-wrap .acf-license-status-table td .acf-license-status.expired,#acf-license-information .inner .acf-license-status-wrap .acf-license-status-table td .acf-license-status.cancelled{background:rgba(209,55,55,.24);border:1px solid rgba(209,55,55,.24);color:#d13737}#acf-license-information .inner .acf-license-status-wrap .acf-no-license-view-pricing{padding:12px 24px;border-top:1px solid #eaecf0;color:#667085}@media screen and (max-width: 1024px){#acf-license-information{margin-right:0;margin-bottom:32px}}#acf-license-information label{font-weight:500}#acf-license-information .acf-input-wrap{margin-top:8px;margin-bottom:24px}#acf-license-information #acf_pro_license{width:100%}#acf-update-information{flex:1 1 35%;max-width:calc(35% - 32px)}#acf-update-information .form-table th,#acf-update-information .form-table td{padding-top:0;padding-right:0;padding-bottom:24px;padding-left:0;color:#344054}#acf-update-information .acf-update-changelog{margin-top:8px;margin-bottom:24px;padding-top:8px;border-top-width:1px;border-top-style:solid;border-top-color:#eaecf0;color:#344054}#acf-update-information .acf-update-changelog h4{margin-bottom:0}#acf-update-information .acf-update-changelog p{margin-top:0;margin-bottom:16px}#acf-update-information .acf-update-changelog p:last-of-type{margin-bottom:0}#acf-update-information .acf-update-changelog p em{color:#667085}#acf-update-information .acf-btn{display:inline-flex}.acf-admin-toolbar a.acf-admin-toolbar-upgrade-btn{display:inline-flex;align-items:center;align-self:stretch;padding-top:0;padding-right:16px;padding-bottom:0;padding-left:16px;background:radial-gradient(141.77% 141.08% at 100.26% 99.25%, #0ECAD4 0%, #7A45E5 100%);box-shadow:inset 0 0 0 1px rgba(255,255,255,.16);border-radius:6px;text-decoration:none}@media screen and (max-width: 768px){.acf-admin-toolbar a.acf-admin-toolbar-upgrade-btn{display:none}}.acf-admin-toolbar a.acf-admin-toolbar-upgrade-btn:focus{border:none;outline:none;box-shadow:none}.acf-admin-toolbar a.acf-admin-toolbar-upgrade-btn p{margin:0;padding-top:8px;padding-bottom:8px;font-weight:400;text-transform:none;color:#fff}.acf-admin-toolbar a.acf-admin-toolbar-upgrade-btn .acf-icon{width:18px;height:18px;margin-right:6px;margin-left:-2px;background-color:#f9fafb}.acf-admin-page #tmpl-acf-field-group-pro-features,.acf-admin-page #acf-field-group-pro-features{display:none;align-items:center;min-height:120px;background-color:#121833;background-image:url(../../images/pro-upgrade-grid-bg.svg),url(../../images/pro-upgrade-overlay.svg);background-repeat:repeat,no-repeat;background-size:1224px,1880px;background-position:left top,-520px -680px;color:#eaecf0;border-radius:8px;margin-top:24px;margin-bottom:24px}@media screen and (max-width: 768px){.acf-admin-page #tmpl-acf-field-group-pro-features,.acf-admin-page #acf-field-group-pro-features{background-size:1024px,980px;background-position:left top,-500px -200px}}@media screen and (max-width: 1200px){.acf-admin-page #tmpl-acf-field-group-pro-features,.acf-admin-page #acf-field-group-pro-features{background-size:1024px,1880px;background-position:left top,-520px -300px}}.acf-admin-page #tmpl-acf-field-group-pro-features .postbox-header,.acf-admin-page #acf-field-group-pro-features .postbox-header{display:none}.acf-admin-page #tmpl-acf-field-group-pro-features .inside,.acf-admin-page #acf-field-group-pro-features .inside{width:100%;border:none;padding:0}.acf-admin-page #tmpl-acf-field-group-pro-features .acf-field-group-pro-features-wrapper,.acf-admin-page #acf-field-group-pro-features .acf-field-group-pro-features-wrapper{display:flex;justify-content:center;align-content:stretch;align-items:center;gap:96px;height:358px;max-width:950px;margin:0 auto;padding:0 35px}@media screen and (max-width: 1200px){.acf-admin-page #tmpl-acf-field-group-pro-features .acf-field-group-pro-features-wrapper,.acf-admin-page #acf-field-group-pro-features .acf-field-group-pro-features-wrapper{gap:48px}}@media screen and (max-width: 768px){.acf-admin-page #tmpl-acf-field-group-pro-features .acf-field-group-pro-features-wrapper,.acf-admin-page #acf-field-group-pro-features .acf-field-group-pro-features-wrapper{gap:0}}.acf-admin-page #tmpl-acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-title,.acf-admin-page #tmpl-acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-title-sm,.acf-admin-page #acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-title,.acf-admin-page #acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-title-sm{font-weight:590;line-height:150%}.acf-admin-page #tmpl-acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-title .acf-pro-label,.acf-admin-page #tmpl-acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-title-sm .acf-pro-label,.acf-admin-page #acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-title .acf-pro-label,.acf-admin-page #acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-title-sm .acf-pro-label{font-weight:400;margin-top:-6px;margin-left:2px;vertical-align:middle;height:22px;position:relative;overflow:hidden}.acf-admin-page #tmpl-acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-title .acf-pro-label::before,.acf-admin-page #tmpl-acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-title-sm .acf-pro-label::before,.acf-admin-page #acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-title .acf-pro-label::before,.acf-admin-page #acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-title-sm .acf-pro-label::before{display:block;position:absolute;content:"";top:0;right:0;bottom:0;left:0;border-radius:9999px;border:1px solid rgba(255,255,255,.2)}.acf-admin-page #tmpl-acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-title-sm,.acf-admin-page #acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-title-sm{display:none !important;font-size:18px}.acf-admin-page #tmpl-acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-title-sm .acf-pro-label,.acf-admin-page #acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-title-sm .acf-pro-label{font-size:10px;height:20px}@media screen and (max-width: 768px){.acf-admin-page #tmpl-acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-title-sm,.acf-admin-page #acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-title-sm{width:100%;text-align:center}}@media screen and (max-width: 768px){.acf-admin-page #tmpl-acf-field-group-pro-features .acf-field-group-pro-features-wrapper,.acf-admin-page #acf-field-group-pro-features .acf-field-group-pro-features-wrapper{flex-direction:column;flex-wrap:wrap;justify-content:flex-start;align-content:flex-start;align-items:flex-start;padding:32px 32px 0 32px;height:unset}.acf-admin-page #tmpl-acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-title-sm,.acf-admin-page #acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-title-sm{display:block !important;margin-bottom:24px}}.acf-admin-page #tmpl-acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-content,.acf-admin-page #acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-content{display:flex;flex-direction:column;width:416px}.acf-admin-page #tmpl-acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-content .acf-field-group-pro-features-desc,.acf-admin-page #acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-content .acf-field-group-pro-features-desc{margin-top:8px;margin-bottom:24px;font-size:15px;font-weight:300;color:#d0d5dd}@media screen and (max-width: 768px){.acf-admin-page #tmpl-acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-content,.acf-admin-page #acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-content{width:100%;order:1;margin-right:0;margin-bottom:8px}.acf-admin-page #tmpl-acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-content .acf-field-group-pro-features-title,.acf-admin-page #tmpl-acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-content .acf-field-group-pro-features-desc,.acf-admin-page #acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-content .acf-field-group-pro-features-title,.acf-admin-page #acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-content .acf-field-group-pro-features-desc{display:none !important}}.acf-admin-page #tmpl-acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-actions,.acf-admin-page #acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-actions{display:flex;flex-direction:row;align-items:flex-start;min-width:160px;gap:12px}@media screen and (max-width: 768px){.acf-admin-page #tmpl-acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-actions,.acf-admin-page #acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-actions{justify-content:flex-start;flex-direction:column;margin-bottom:24px}.acf-admin-page #tmpl-acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-actions a,.acf-admin-page #acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-actions a{justify-content:center;text-align:center;width:100%}}.acf-admin-page #tmpl-acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-grid,.acf-admin-page #acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-grid{display:flex;flex-direction:row;flex-wrap:wrap;gap:16px;width:416px}.acf-admin-page #tmpl-acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-grid .acf-field-group-pro-feature,.acf-admin-page #acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-grid .acf-field-group-pro-feature{display:flex;flex-direction:column;justify-content:center;align-items:center;width:128px;height:124px;background:rgba(255,255,255,.08);box-shadow:0 0 4px rgba(0,0,0,.04),0 8px 16px rgba(0,0,0,.08),inset 0 0 0 1px rgba(255,255,255,.08);backdrop-filter:blur(6px);border-radius:8px}.acf-admin-page #tmpl-acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-grid .acf-field-group-pro-feature .field-type-icon,.acf-admin-page #acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-grid .acf-field-group-pro-feature .field-type-icon{border:none;background:none;width:24px;opacity:.8}.acf-admin-page #tmpl-acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-grid .acf-field-group-pro-feature .field-type-icon::before,.acf-admin-page #acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-grid .acf-field-group-pro-feature .field-type-icon::before{background-color:#fff;width:20px;height:20px}@media screen and (max-width: 1200px){.acf-admin-page #tmpl-acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-grid .acf-field-group-pro-feature .field-type-icon::before,.acf-admin-page #acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-grid .acf-field-group-pro-feature .field-type-icon::before{width:18px;height:18px}}.acf-admin-page #tmpl-acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-grid .acf-field-group-pro-feature .pro-feature-blocks::before,.acf-admin-page #acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-grid .acf-field-group-pro-feature .pro-feature-blocks::before{-webkit-mask-image:url("../../images/icons/icon-extended-menu.svg");mask-image:url("../../images/icons/icon-extended-menu.svg")}.acf-admin-page #tmpl-acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-grid .acf-field-group-pro-feature .pro-feature-options-pages::before,.acf-admin-page #acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-grid .acf-field-group-pro-feature .pro-feature-options-pages::before{-webkit-mask-image:url("../../images/icons/icon-settings.svg");mask-image:url("../../images/icons/icon-settings.svg")}.acf-admin-page #tmpl-acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-grid .acf-field-group-pro-feature .field-type-label,.acf-admin-page #acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-grid .acf-field-group-pro-feature .field-type-label{margin-top:4px;font-size:13px;font-weight:300;text-align:center;color:#fff}@media screen and (max-width: 1200px){.acf-admin-page #tmpl-acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-grid,.acf-admin-page #acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-grid{flex-direction:column;gap:8px;width:288px}.acf-admin-page #tmpl-acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-grid .acf-field-group-pro-feature,.acf-admin-page #acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-grid .acf-field-group-pro-feature{width:100%;height:40px;flex-direction:row;justify-content:unset;gap:8px}.acf-admin-page #tmpl-acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-grid .acf-field-group-pro-feature .field-type-icon,.acf-admin-page #acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-grid .acf-field-group-pro-feature .field-type-icon{position:initial;margin-left:16px}.acf-admin-page #tmpl-acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-grid .acf-field-group-pro-feature .field-type-label,.acf-admin-page #acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-grid .acf-field-group-pro-feature .field-type-label{margin-top:0}}@media screen and (max-width: 768px){.acf-admin-page #tmpl-acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-grid,.acf-admin-page #acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-grid{gap:0;width:100%;height:auto;margin-bottom:16px;flex-direction:unset;flex-wrap:wrap}.acf-admin-page #tmpl-acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-grid .acf-field-group-pro-feature,.acf-admin-page #acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-grid .acf-field-group-pro-feature{flex:1 0 50%;margin-bottom:8px;width:auto;height:auto;justify-content:center;background:none;box-shadow:none;backdrop-filter:none}.acf-admin-page #tmpl-acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-grid .acf-field-group-pro-feature .field-type-label,.acf-admin-page #acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-grid .acf-field-group-pro-feature .field-type-label{margin-left:2px}.acf-admin-page #tmpl-acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-grid .acf-field-group-pro-feature .field-type-icon,.acf-admin-page #acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-grid .acf-field-group-pro-feature .field-type-icon{position:initial;margin-left:0}.acf-admin-page #tmpl-acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-grid .acf-field-group-pro-feature .field-type-icon::before,.acf-admin-page #acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-grid .acf-field-group-pro-feature .field-type-icon::before{height:16px;width:16px}.acf-admin-page #tmpl-acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-grid .acf-field-group-pro-feature .field-type-label,.acf-admin-page #acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-grid .acf-field-group-pro-feature .field-type-label{font-size:12px;margin-top:0}}.acf-admin-page #tmpl-acf-field-group-pro-features h1,.acf-admin-page #acf-field-group-pro-features h1{margin-top:0;margin-bottom:4px;padding-top:0;padding-bottom:0;font-weight:700;color:#f9fafb}.acf-admin-page #tmpl-acf-field-group-pro-features h1 .acf-icon,.acf-admin-page #acf-field-group-pro-features h1 .acf-icon{margin-right:8px}.acf-admin-page #tmpl-acf-field-group-pro-features .acf-btn,.acf-admin-page #acf-field-group-pro-features .acf-btn{display:inline-flex;background-color:rgba(255,255,255,.1);border:none;box-shadow:0 0 4px rgba(0,0,0,.04),0 4px 8px rgba(0,0,0,.06),inset 0 0 0 1px rgba(255,255,255,.16);backdrop-filter:blur(6px);padding:8px 24px;height:48px}.acf-admin-page #tmpl-acf-field-group-pro-features .acf-btn:hover,.acf-admin-page #acf-field-group-pro-features .acf-btn:hover{background-color:rgba(255,255,255,.2)}.acf-admin-page #tmpl-acf-field-group-pro-features .acf-btn .acf-icon,.acf-admin-page #acf-field-group-pro-features .acf-btn .acf-icon{margin-right:-2px;margin-left:6px}.acf-admin-page #tmpl-acf-field-group-pro-features .acf-btn.acf-pro-features-upgrade,.acf-admin-page #acf-field-group-pro-features .acf-btn.acf-pro-features-upgrade{background:radial-gradient(141.77% 141.08% at 100.26% 99.25%, #0ECAD4 0%, #7A45E5 100%);box-shadow:0 0 4px rgba(0,0,0,.04),0 4px 8px rgba(0,0,0,.06),inset 0 0 0 1px rgba(255,255,255,.16);border-radius:6px}.acf-admin-page #tmpl-acf-field-group-pro-features .acf-field-group-pro-features-footer-wrap,.acf-admin-page #acf-field-group-pro-features .acf-field-group-pro-features-footer-wrap{height:48px;background:rgba(16,24,40,.4);backdrop-filter:blur(6px);border-top:1px solid rgba(255,255,255,.08);border-bottom-left-radius:8px;border-bottom-right-radius:8px;color:#98a2b3;font-size:13px;font-weight:300;padding:0 35px}.acf-admin-page #tmpl-acf-field-group-pro-features .acf-field-group-pro-features-footer-wrap .acf-field-group-pro-features-footer,.acf-admin-page #acf-field-group-pro-features .acf-field-group-pro-features-footer-wrap .acf-field-group-pro-features-footer{display:flex;align-items:center;justify-content:space-between;max-width:950px;height:48px;margin:0 auto}.acf-admin-page #tmpl-acf-field-group-pro-features .acf-field-group-pro-features-footer-wrap .acf-field-group-pro-features-wpengine-logo,.acf-admin-page #acf-field-group-pro-features .acf-field-group-pro-features-footer-wrap .acf-field-group-pro-features-wpengine-logo{height:16px;vertical-align:middle;margin-top:-2px;margin-left:3px}.acf-admin-page #tmpl-acf-field-group-pro-features .acf-field-group-pro-features-footer-wrap a,.acf-admin-page #acf-field-group-pro-features .acf-field-group-pro-features-footer-wrap a{color:#98a2b3;text-decoration:none}.acf-admin-page #tmpl-acf-field-group-pro-features .acf-field-group-pro-features-footer-wrap a:hover,.acf-admin-page #acf-field-group-pro-features .acf-field-group-pro-features-footer-wrap a:hover{color:#d0d5dd}.acf-admin-page #tmpl-acf-field-group-pro-features .acf-field-group-pro-features-footer-wrap a .acf-icon,.acf-admin-page #acf-field-group-pro-features .acf-field-group-pro-features-footer-wrap a .acf-icon{width:18px;height:18px;margin-left:4px}.acf-admin-page #tmpl-acf-field-group-pro-features .acf-field-group-pro-features-footer-wrap .acf-more-tools-from-wpengine a,.acf-admin-page #acf-field-group-pro-features .acf-field-group-pro-features-footer-wrap .acf-more-tools-from-wpengine a{display:inline-flex;align-items:center}@media screen and (max-width: 768px){.acf-admin-page #tmpl-acf-field-group-pro-features .acf-field-group-pro-features-footer-wrap,.acf-admin-page #acf-field-group-pro-features .acf-field-group-pro-features-footer-wrap{height:70px;font-size:12px}.acf-admin-page #tmpl-acf-field-group-pro-features .acf-field-group-pro-features-footer-wrap .acf-more-tools-from-wpengine,.acf-admin-page #acf-field-group-pro-features .acf-field-group-pro-features-footer-wrap .acf-more-tools-from-wpengine{display:none}.acf-admin-page #tmpl-acf-field-group-pro-features .acf-field-group-pro-features-footer-wrap .acf-field-group-pro-features-footer,.acf-admin-page #acf-field-group-pro-features .acf-field-group-pro-features-footer-wrap .acf-field-group-pro-features-footer{justify-content:center;height:70px}.acf-admin-page #tmpl-acf-field-group-pro-features .acf-field-group-pro-features-footer-wrap .acf-field-group-pro-features-footer .acf-field-group-pro-features-wpengine-logo,.acf-admin-page #acf-field-group-pro-features .acf-field-group-pro-features-footer-wrap .acf-field-group-pro-features-footer .acf-field-group-pro-features-wpengine-logo{clear:both;margin:6px auto 0 auto;display:block}}.acf-no-field-groups #tmpl-acf-field-group-pro-features,.acf-no-post-types #tmpl-acf-field-group-pro-features,.acf-no-taxonomies #tmpl-acf-field-group-pro-features{margin-top:0}.acf-admin-single-post-type label[for=acf-basic-settings-hide],.acf-admin-single-taxonomy label[for=acf-basic-settings-hide],.acf-admin-single-options-page label[for=acf-basic-settings-hide]{display:none}.acf-admin-single-post-type fieldset.columns-prefs,.acf-admin-single-taxonomy fieldset.columns-prefs,.acf-admin-single-options-page fieldset.columns-prefs{display:none}.acf-admin-single-post-type #acf-basic-settings .postbox-header,.acf-admin-single-taxonomy #acf-basic-settings .postbox-header,.acf-admin-single-options-page #acf-basic-settings .postbox-header{display:none}.acf-admin-single-post-type .postbox-container,.acf-admin-single-post-type .notice,.acf-admin-single-taxonomy .postbox-container,.acf-admin-single-taxonomy .notice,.acf-admin-single-options-page .postbox-container,.acf-admin-single-options-page .notice{max-width:1440px;clear:left}.acf-admin-single-post-type #post-body-content,.acf-admin-single-taxonomy #post-body-content,.acf-admin-single-options-page #post-body-content{margin:0}.acf-admin-single-post-type .postbox .inside,.acf-admin-single-post-type .acf-box .inside,.acf-admin-single-taxonomy .postbox .inside,.acf-admin-single-taxonomy .acf-box .inside,.acf-admin-single-options-page .postbox .inside,.acf-admin-single-options-page .acf-box .inside{padding-top:48px;padding-right:48px;padding-bottom:48px;padding-left:48px}.acf-admin-single-post-type #acf-advanced-settings.postbox .inside,.acf-admin-single-taxonomy #acf-advanced-settings.postbox .inside,.acf-admin-single-options-page #acf-advanced-settings.postbox .inside{padding-bottom:24px}.acf-admin-single-post-type .postbox-container .meta-box-sortables #acf-basic-settings .inside,.acf-admin-single-taxonomy .postbox-container .meta-box-sortables #acf-basic-settings .inside,.acf-admin-single-options-page .postbox-container .meta-box-sortables #acf-basic-settings .inside{border:none}.acf-admin-single-post-type .acf-input-wrap,.acf-admin-single-taxonomy .acf-input-wrap,.acf-admin-single-options-page .acf-input-wrap{overflow:visible}.acf-admin-single-post-type .acf-field,.acf-admin-single-taxonomy .acf-field,.acf-admin-single-options-page .acf-field{margin-top:0;margin-right:0;margin-bottom:24px;margin-left:0}.acf-admin-single-post-type .acf-field .acf-label,.acf-admin-single-taxonomy .acf-field .acf-label,.acf-admin-single-options-page .acf-field .acf-label{margin-bottom:6px}.acf-admin-single-post-type .acf-field-text,.acf-admin-single-post-type .acf-field-textarea,.acf-admin-single-post-type .acf-field-select,.acf-admin-single-taxonomy .acf-field-text,.acf-admin-single-taxonomy .acf-field-textarea,.acf-admin-single-taxonomy .acf-field-select,.acf-admin-single-options-page .acf-field-text,.acf-admin-single-options-page .acf-field-textarea,.acf-admin-single-options-page .acf-field-select{max-width:600px}.acf-admin-single-post-type .acf-field-true-false,.acf-admin-single-taxonomy .acf-field-true-false,.acf-admin-single-options-page .acf-field-true-false{max-width:700px}.acf-admin-single-post-type .acf-field-supports,.acf-admin-single-taxonomy .acf-field-supports,.acf-admin-single-options-page .acf-field-supports{max-width:600px}.acf-admin-single-post-type .acf-field-supports .acf-label,.acf-admin-single-taxonomy .acf-field-supports .acf-label,.acf-admin-single-options-page .acf-field-supports .acf-label{display:block}.acf-admin-single-post-type .acf-field-supports .acf-label .description,.acf-admin-single-taxonomy .acf-field-supports .acf-label .description,.acf-admin-single-options-page .acf-field-supports .acf-label .description{margin-top:4px;margin-bottom:12px}.acf-admin-single-post-type .acf-field-supports .acf_post_type_supports,.acf-admin-single-taxonomy .acf-field-supports .acf_post_type_supports,.acf-admin-single-options-page .acf-field-supports .acf_post_type_supports{display:flex;flex-wrap:wrap;justify-content:flex-start;align-content:flex-start;align-items:flex-start}.acf-admin-single-post-type .acf-field-supports .acf_post_type_supports:focus-within,.acf-admin-single-taxonomy .acf-field-supports .acf_post_type_supports:focus-within,.acf-admin-single-options-page .acf-field-supports .acf_post_type_supports:focus-within{border-color:rgba(0,0,0,0)}.acf-admin-single-post-type .acf-field-supports .acf_post_type_supports li,.acf-admin-single-taxonomy .acf-field-supports .acf_post_type_supports li,.acf-admin-single-options-page .acf-field-supports .acf_post_type_supports li{flex:0 0 25%}.acf-admin-single-post-type .acf-field-supports .acf_post_type_supports li a.button,.acf-admin-single-taxonomy .acf-field-supports .acf_post_type_supports li a.button,.acf-admin-single-options-page .acf-field-supports .acf_post_type_supports li a.button{background-color:rgba(0,0,0,0);padding:0;border:0;height:auto;min-height:auto;margin-top:0;border-radius:0;line-height:22px}.acf-admin-single-post-type .acf-field-supports .acf_post_type_supports li a.button:before,.acf-admin-single-taxonomy .acf-field-supports .acf_post_type_supports li a.button:before,.acf-admin-single-options-page .acf-field-supports .acf_post_type_supports li a.button:before{content:"";margin-right:6px;display:inline-flex;width:16px;height:16px;background-color:currentColor;border:none;border-radius:0;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;text-indent:500%;white-space:nowrap;overflow:hidden;-webkit-mask-image:url("../../images/icons/icon-add.svg");mask-image:url("../../images/icons/icon-add.svg")}.acf-admin-single-post-type .acf-field-supports .acf_post_type_supports li a.button:hover,.acf-admin-single-taxonomy .acf-field-supports .acf_post_type_supports li a.button:hover,.acf-admin-single-options-page .acf-field-supports .acf_post_type_supports li a.button:hover{color:#044e71}.acf-admin-single-post-type .acf-field-supports .acf_post_type_supports li input[type=text],.acf-admin-single-taxonomy .acf-field-supports .acf_post_type_supports li input[type=text],.acf-admin-single-options-page .acf-field-supports .acf_post_type_supports li input[type=text]{width:calc(100% - 36px);padding:0;box-shadow:none;border:none;border-bottom:1px solid #d0d5dd;border-radius:0;height:auto;margin:0;min-height:auto}.acf-admin-single-post-type .acf-field-supports .acf_post_type_supports li input[type=text]:focus,.acf-admin-single-taxonomy .acf-field-supports .acf_post_type_supports li input[type=text]:focus,.acf-admin-single-options-page .acf-field-supports .acf_post_type_supports li input[type=text]:focus{outline:none;border-bottom-color:#399ccb}.acf-admin-single-post-type .acf-field-seperator,.acf-admin-single-taxonomy .acf-field-seperator,.acf-admin-single-options-page .acf-field-seperator{margin-top:40px;margin-bottom:40px;border-top:1px solid #eaecf0;border-right:none;border-bottom:none;border-left:none}.acf-admin-single-post-type .acf-field-advanced-configuration,.acf-admin-single-taxonomy .acf-field-advanced-configuration,.acf-admin-single-options-page .acf-field-advanced-configuration{margin-bottom:0}.acf-admin-single-post-type .postbox-container .acf-tab-wrap,.acf-admin-single-post-type .acf-regenerate-labels-bar,.acf-admin-single-taxonomy .postbox-container .acf-tab-wrap,.acf-admin-single-taxonomy .acf-regenerate-labels-bar,.acf-admin-single-options-page .postbox-container .acf-tab-wrap,.acf-admin-single-options-page .acf-regenerate-labels-bar{position:relative;top:-48px;left:-48px;width:calc(100% + 96px)}.acf-admin-single-post-type .acf-regenerate-labels-bar,.acf-admin-single-taxonomy .acf-regenerate-labels-bar,.acf-admin-single-options-page .acf-regenerate-labels-bar{display:flex;align-items:center;justify-content:right;min-height:48px;margin-bottom:0;padding-right:16px;padding-left:16px;gap:8px;border-bottom-width:1px;border-bottom-style:solid;border-bottom-color:#f2f4f7}.acf-admin-single-post-type .acf-labels-tip,.acf-admin-single-taxonomy .acf-labels-tip,.acf-admin-single-options-page .acf-labels-tip{display:inline-flex;align-items:center;min-height:24px;margin-right:8px;padding-left:16px;border-left-width:1px;border-left-style:solid;border-left-color:#eaecf0}.acf-admin-single-post-type .acf-labels-tip .acf-icon,.acf-admin-single-taxonomy .acf-labels-tip .acf-icon,.acf-admin-single-options-page .acf-labels-tip .acf-icon{display:inline-flex;align-items:center;width:16px;height:16px;-webkit-mask-size:16px;mask-size:16px;background-color:#98a2b3}.acf-select2-default-pill{border-radius:100px;min-height:20px;padding-top:2px;padding-bottom:2px;padding-left:8px;padding-right:8px;font-size:11px;margin-left:6px;background-color:#eaecf0;color:#667085}.acf-menu-position-desc-child{display:none}.acf-modal.acf-browse-fields-modal{width:1120px;height:664px;top:50%;right:auto;bottom:auto;left:50%;transform:translate(-50%, -50%);display:flex;flex-direction:row;border-radius:12px;box-shadow:0 0 4px rgba(0,0,0,.04),0 8px 16px rgba(0,0,0,.08);overflow:hidden}.acf-modal.acf-browse-fields-modal .acf-field-picker{display:flex;flex-direction:column;flex-grow:1;width:760px;background:#fff}.acf-modal.acf-browse-fields-modal .acf-field-picker .acf-modal-title,.acf-modal.acf-browse-fields-modal .acf-field-picker .acf-modal-content,.acf-modal.acf-browse-fields-modal .acf-field-picker .acf-modal-toolbar{position:relative}.acf-modal.acf-browse-fields-modal .acf-field-picker .acf-modal-title{display:flex;flex-direction:row;justify-content:space-between;align-items:center;background:#f9fafb;border:none;padding:35px 32px}.acf-modal.acf-browse-fields-modal .acf-field-picker .acf-modal-title .acf-search-field-types-wrap{position:relative}.acf-modal.acf-browse-fields-modal .acf-field-picker .acf-modal-title .acf-search-field-types-wrap::after{content:"";display:block;position:absolute;top:11px;left:10px;width:18px;height:18px;-webkit-mask-image:url("../../images/icons/icon-search.svg");mask-image:url("../../images/icons/icon-search.svg");background-color:#98a2b3;border:none;border-radius:0;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;text-indent:500%;white-space:nowrap;overflow:hidden}.acf-modal.acf-browse-fields-modal .acf-field-picker .acf-modal-title .acf-search-field-types-wrap input{width:280px;height:40px;margin:0;padding-left:32px;box-shadow:none}.acf-modal.acf-browse-fields-modal .acf-field-picker .acf-modal-content{top:auto;bottom:auto;padding:0;height:100%}.acf-modal.acf-browse-fields-modal .acf-field-picker .acf-modal-content .acf-tab-group{padding-left:32px}.acf-modal.acf-browse-fields-modal .acf-field-picker .acf-modal-content .acf-field-types-tab{display:flex}.acf-modal.acf-browse-fields-modal .acf-field-picker .acf-modal-content .acf-field-types-tab,.acf-modal.acf-browse-fields-modal .acf-field-picker .acf-modal-content .acf-field-type-search-results{flex-direction:row;flex-wrap:wrap;gap:24px;padding:32px}.acf-modal.acf-browse-fields-modal .acf-field-picker .acf-modal-content .acf-field-types-tab .acf-field-type,.acf-modal.acf-browse-fields-modal .acf-field-picker .acf-modal-content .acf-field-type-search-results .acf-field-type{position:relative;display:flex;flex-direction:column;justify-content:center;align-items:center;isolation:isolate;width:120px;height:120px;background:#f9fafb;border:1px solid #eaecf0;border-radius:8px;box-sizing:border-box;color:#1d2939;text-decoration:none}.acf-modal.acf-browse-fields-modal .acf-field-picker .acf-modal-content .acf-field-types-tab .acf-field-type:hover,.acf-modal.acf-browse-fields-modal .acf-field-picker .acf-modal-content .acf-field-types-tab .acf-field-type:active,.acf-modal.acf-browse-fields-modal .acf-field-picker .acf-modal-content .acf-field-types-tab .acf-field-type.selected,.acf-modal.acf-browse-fields-modal .acf-field-picker .acf-modal-content .acf-field-type-search-results .acf-field-type:hover,.acf-modal.acf-browse-fields-modal .acf-field-picker .acf-modal-content .acf-field-type-search-results .acf-field-type:active,.acf-modal.acf-browse-fields-modal .acf-field-picker .acf-modal-content .acf-field-type-search-results .acf-field-type.selected{background:#ebf5fa;border:1px solid #399ccb;box-shadow:inset 0 0 0 1px #399ccb}.acf-modal.acf-browse-fields-modal .acf-field-picker .acf-modal-content .acf-field-types-tab .acf-field-type .field-type-icon,.acf-modal.acf-browse-fields-modal .acf-field-picker .acf-modal-content .acf-field-type-search-results .acf-field-type .field-type-icon{border:none;background:none;top:0}.acf-modal.acf-browse-fields-modal .acf-field-picker .acf-modal-content .acf-field-types-tab .acf-field-type .field-type-icon::before,.acf-modal.acf-browse-fields-modal .acf-field-picker .acf-modal-content .acf-field-type-search-results .acf-field-type .field-type-icon::before{width:22px;height:22px}.acf-modal.acf-browse-fields-modal .acf-field-picker .acf-modal-content .acf-field-types-tab .acf-field-type .field-type-label,.acf-modal.acf-browse-fields-modal .acf-field-picker .acf-modal-content .acf-field-type-search-results .acf-field-type .field-type-label{margin-top:12px}.acf-modal.acf-browse-fields-modal .acf-field-picker .acf-modal-content .acf-field-types-tab .field-type-requires-pro,.acf-modal.acf-browse-fields-modal .acf-field-picker .acf-modal-content .acf-field-type-search-results .field-type-requires-pro{display:flex;justify-content:center;align-items:center;position:absolute;top:-10px;right:-10px;color:#fff;font-size:11px;padding-right:6px;padding-left:6px;background-image:url("../../images/pro-chip.svg");background-repeat:no-repeat;height:24px;width:28px}.acf-modal.acf-browse-fields-modal .acf-field-picker .acf-modal-content .acf-field-types-tab .field-type-requires-pro.not-pro,.acf-modal.acf-browse-fields-modal .acf-field-picker .acf-modal-content .acf-field-type-search-results .field-type-requires-pro.not-pro{background-image:url("../../images/pro-chip-locked.svg");width:43px}.acf-modal.acf-browse-fields-modal .acf-field-picker .acf-modal-toolbar{display:flex;align-items:flex-start;justify-content:space-between;height:auto;min-height:72px;padding-top:0;padding-right:32px;padding-bottom:0;padding-left:32px;margin:0;border:none}.acf-modal.acf-browse-fields-modal .acf-field-picker .acf-modal-toolbar .acf-select-field,.acf-modal.acf-browse-fields-modal .acf-field-picker .acf-modal-toolbar .acf-btn-pro{min-width:160px;justify-content:center}.acf-modal.acf-browse-fields-modal .acf-field-picker .acf-modal-toolbar .acf-insert-field-label{min-width:280px;box-shadow:none}.acf-modal.acf-browse-fields-modal .acf-field-picker .acf-modal-toolbar .acf-field-picker-actions{display:flex;gap:8px}.acf-modal.acf-browse-fields-modal .acf-field-type-preview{display:flex;flex-direction:column;width:360px;background-color:#f9fafb;background-image:url("../../images/field-preview-grid.png");background-size:740px;background-repeat:no-repeat;background-position:center bottom;border-left:1px solid #eaecf0;box-sizing:border-box;padding:32px}.acf-modal.acf-browse-fields-modal .acf-field-type-preview .field-type-desc{margin:0;padding:0;color:#667085}.acf-modal.acf-browse-fields-modal .acf-field-type-preview .field-type-preview-container{display:inline-flex;justify-content:center;width:100%;margin-top:24px;padding-top:32px;padding-bottom:32px;background-color:rgba(255,255,255,.64);border-radius:8px;box-shadow:0 0 0 1px rgba(0,0,0,.04),0 8px 24px rgba(0,0,0,.04)}.acf-modal.acf-browse-fields-modal .acf-field-type-preview .field-type-image{max-width:232px}.acf-modal.acf-browse-fields-modal .acf-field-type-preview .field-type-info{flex-grow:1}.acf-modal.acf-browse-fields-modal .acf-field-type-preview .field-type-info .field-type-name{font-size:21px;margin-top:0;margin-right:0;margin-bottom:16px;margin-left:0}.acf-modal.acf-browse-fields-modal .acf-field-type-preview .field-type-info .field-type-upgrade-to-unlock{display:inline-flex;justify-items:center;align-items:center;min-height:24px;margin-bottom:12px;padding-right:10px;padding-left:10px;background:radial-gradient(141.77% 141.08% at 100.26% 99.25%, #0ECAD4 0%, #7A45E5 100%);border-radius:100px;color:#fff;text-decoration:none;font-size:10px;text-transform:uppercase}.acf-modal.acf-browse-fields-modal .acf-field-type-preview .field-type-info .field-type-upgrade-to-unlock i.acf-icon{width:14px;height:14px;margin-right:4px}.acf-modal.acf-browse-fields-modal .acf-field-type-preview .field-type-links{display:flex;align-items:center;gap:24px;min-height:40px}.acf-modal.acf-browse-fields-modal .acf-field-type-preview .field-type-links .acf-icon{width:18px;height:18px}.acf-modal.acf-browse-fields-modal .acf-field-type-preview .field-type-links::before{display:none}.acf-modal.acf-browse-fields-modal .acf-field-type-preview .field-type-links a{display:flex;gap:6px;text-decoration:none}.acf-modal.acf-browse-fields-modal .acf-field-type-preview .field-type-links a:hover{text-decoration:underline}.acf-modal.acf-browse-fields-modal .acf-field-type-search-results,.acf-modal.acf-browse-fields-modal .acf-field-type-search-no-results{display:none}.acf-modal.acf-browse-fields-modal.is-searching .acf-tab-wrap,.acf-modal.acf-browse-fields-modal.is-searching .acf-field-types-tab,.acf-modal.acf-browse-fields-modal.is-searching .acf-field-type-search-no-results{display:none !important}.acf-modal.acf-browse-fields-modal.is-searching .acf-field-type-search-results{display:flex}.acf-modal.acf-browse-fields-modal.no-results-found .acf-tab-wrap,.acf-modal.acf-browse-fields-modal.no-results-found .acf-field-types-tab,.acf-modal.acf-browse-fields-modal.no-results-found .acf-field-type-search-results,.acf-modal.acf-browse-fields-modal.no-results-found .field-type-info,.acf-modal.acf-browse-fields-modal.no-results-found .field-type-links,.acf-modal.acf-browse-fields-modal.no-results-found .acf-field-picker-toolbar{display:none !important}.acf-modal.acf-browse-fields-modal.no-results-found .acf-modal-title{border-bottom-width:1px;border-bottom-style:solid;border-bottom-color:#eaecf0}.acf-modal.acf-browse-fields-modal.no-results-found .acf-field-type-search-no-results{display:flex;flex-direction:column;justify-content:center;align-items:center;height:100%;gap:6px}.acf-modal.acf-browse-fields-modal.no-results-found .acf-field-type-search-no-results img{margin-bottom:19px}.acf-modal.acf-browse-fields-modal.no-results-found .acf-field-type-search-no-results p{margin:0}.acf-modal.acf-browse-fields-modal.no-results-found .acf-field-type-search-no-results p.acf-no-results-text{display:flex}.acf-modal.acf-browse-fields-modal.no-results-found .acf-field-type-search-no-results .acf-invalid-search-term{max-width:200px;overflow:hidden;text-overflow:ellipsis;display:inline-block}@media only screen and (max-width: 1080px){.acf-btn.browse-fields{display:none}}.acf-block-body .acf-field-icon-picker .acf-tab-group{margin:0;padding-left:0 !important}.acf-field-icon-picker{max-width:600px}.acf-field-icon-picker .acf-tab-group{padding:0;border-bottom:0;overflow:hidden}.acf-field-icon-picker .active a{background:#667085;color:#fff}.acf-field-icon-picker .acf-dashicons-search-wrap{position:relative}.acf-field-icon-picker .acf-dashicons-search-wrap::after{content:"";display:block;position:absolute;top:6px;left:10px;width:18px;height:18px;-webkit-mask-image:url(../../images/icons/icon-search.svg);mask-image:url(../../images/icons/icon-search.svg);background-color:#98a2b3;border:none;border-radius:0;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;text-indent:500%;white-space:nowrap;overflow:hidden}.acf-field-icon-picker .acf-dashicons-search-wrap .acf-dashicons-search-input{padding-left:32px;border-radius:0}.acf-field-icon-picker .acf-dashicons-list{margin-bottom:0;display:flex;flex-wrap:wrap;justify-content:space-between;align-content:start;height:135px;overflow:hidden;overflow-y:auto;background-color:#f9f9f9;border:1px solid #8c8f94;border-top:none;border-radius:0 0 6px 6px;gap:8px;padding:8px}.acf-field-icon-picker .acf-dashicons-list .acf-icon-picker-dashicon{background-color:rgba(0,0,0,0);display:flex;justify-content:center;align-items:center;width:32px;height:32px;border:solid 2px rgba(0,0,0,0);color:#3c434a}.acf-field-icon-picker .acf-dashicons-list .acf-icon-picker-dashicon label{display:none}.acf-field-icon-picker .acf-dashicons-list .acf-icon-picker-dashicon [type=radio],.acf-field-icon-picker .acf-dashicons-list .acf-icon-picker-dashicon [type=radio]:active,.acf-field-icon-picker .acf-dashicons-list .acf-icon-picker-dashicon [type=radio]:checked::before,.acf-field-icon-picker .acf-dashicons-list .acf-icon-picker-dashicon [type=radio]:focus{all:initial;appearance:none}.acf-field-icon-picker .acf-dashicons-list .acf-icon-picker-dashicon:hover{border:solid 2px #0783be;border-radius:6px;cursor:pointer}.acf-field-icon-picker .acf-dashicons-list .active{border:solid 2px #0783be;background-color:#ebf5fa;border-radius:6px}.acf-field-icon-picker .acf-dashicons-list .active.focus{border:solid 2px #0783be;background-color:#ebf5fa;border-radius:6px;box-shadow:0 0 2px #0783be}.acf-field-icon-picker .acf-dashicons-list::after{content:"";flex:auto}.acf-field-icon-picker .acf-dashicons-list-empty{position:relative;display:none;flex-direction:column;justify-content:center;align-items:center;padding-top:10px;padding-left:10px;height:135px;overflow:scroll;background-color:#f9fafb;border:1px solid #d0d5dd;border-top:none;border-radius:0 0 6px 6px}.acf-field-icon-picker .acf-dashicons-list-empty img{height:30px;width:30px;color:#d0d5dd}.acf-field-icon-picker .acf-icon-picker-media-library,.acf-field-icon-picker .acf-icon-picker-url-tabs{box-sizing:border-box;display:flex;align-items:center;justify-items:center;gap:12px;background-color:#f9f9f9;padding:12px;border:1px solid #8c8f94;border-radius:0}.acf-field-icon-picker .acf-icon-picker-media-library .acf-icon-picker-media-library-preview,.acf-field-icon-picker .acf-icon-picker-url-tabs .acf-icon-picker-media-library-preview{all:unset;cursor:pointer}.acf-field-icon-picker .acf-icon-picker-media-library .acf-icon-picker-media-library-preview:focus,.acf-field-icon-picker .acf-icon-picker-url-tabs .acf-icon-picker-media-library-preview:focus{outline:1px solid #0783be;border-radius:6px}.acf-field-icon-picker .acf-icon-picker-media-library .acf-icon-picker-media-library-preview-dashicon,.acf-field-icon-picker .acf-icon-picker-media-library .acf-icon-picker-media-library-preview-img,.acf-field-icon-picker .acf-icon-picker-url-tabs .acf-icon-picker-media-library-preview-dashicon,.acf-field-icon-picker .acf-icon-picker-url-tabs .acf-icon-picker-media-library-preview-img{box-sizing:border-box;width:40px;height:40px;border:solid 2px rgba(0,0,0,0);color:#fff;background-color:#191e23;display:flex;justify-content:center;align-items:center;border-radius:6px}.acf-field-icon-picker .acf-icon-picker-media-library .acf-icon-picker-media-library-preview-img>img,.acf-field-icon-picker .acf-icon-picker-url-tabs .acf-icon-picker-media-library-preview-img>img{width:90%;height:90%;object-fit:cover;border-radius:5px;border:1px solid #667085}.acf-field-icon-picker .acf-icon-picker-media-library .acf-icon-picker-media-library-button,.acf-field-icon-picker .acf-icon-picker-url-tabs .acf-icon-picker-media-library-button{height:40px;background-color:#0783be;border:none;border-radius:6px;padding:8px 12px;color:#fff;display:flex;align-items:center;justify-items:center;gap:4px;cursor:pointer}.acf-field-icon-picker .acf-icon-picker-media-library .acf-icon-picker-url,.acf-field-icon-picker .acf-icon-picker-url-tabs .acf-icon-picker-url{width:100%}.-left .acf-field-icon-picker{max-width:inherit}.acf-admin-page.acf-internal-post-type .acf-field-icon-picker{max-width:600px}.acf-admin-page.acf-internal-post-type .acf-field-icon-picker .active a{background:#667085;color:#fff}.acf-admin-page.acf-internal-post-type .acf-field-icon-picker .acf-tab-button{border:none;height:25px;padding:5px 10px;border-radius:15px}.acf-admin-page.acf-internal-post-type .acf-field-icon-picker li a .acf-tab-button{color:#667085}.acf-admin-page.acf-internal-post-type .acf-field-icon-picker .acf-icon-picker>*:not(.acf-tab-wrap){top:-32px;position:relative}.acf-admin-page.acf-internal-post-type .acf-field-icon-picker .acf-tab-wrap .acf-tab-group{margin-right:48px;display:flex;gap:10px;justify-content:flex-end;align-items:center;background:none;border:none;max-width:648px;border-bottom-width:0}.acf-admin-page.acf-internal-post-type .acf-field-icon-picker .acf-tab-wrap .acf-tab-group li{all:initial;box-sizing:border-box;margin-bottom:-17px;margin-right:0;border-radius:10px}.acf-admin-page.acf-internal-post-type .acf-field-icon-picker .acf-tab-wrap .acf-tab-group li a{all:initial;outline:1px solid rgba(0,0,0,0);color:#667085;box-sizing:border-box;border-radius:100px;cursor:pointer;padding:7px;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-size:12.5px}.acf-admin-page.acf-internal-post-type .acf-field-icon-picker .acf-tab-wrap .acf-tab-group li.active a{background-color:#667085;color:#fff;border-bottom-width:1px !important}.acf-admin-page.acf-internal-post-type .acf-field-icon-picker .acf-tab-wrap .acf-tab-group li a:focus{outline:1px solid #0783be}.acf-admin-page.acf-internal-post-type .acf-field-icon-picker .acf-tab-wrap{background:none;border:none;overflow:visible}.acf-admin-page.acf-internal-post-type .acf-field-icon-picker .acf-dashicons-search-wrap{position:relative}.acf-admin-page.acf-internal-post-type .acf-field-icon-picker .acf-dashicons-search-wrap::after{content:"";display:block;position:absolute;top:11px;left:10px;width:18px;height:18px;-webkit-mask-image:url(../../images/icons/icon-search.svg);mask-image:url(../../images/icons/icon-search.svg);background-color:#98a2b3;border:none;border-radius:0;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;text-indent:500%;white-space:nowrap;overflow:hidden}.acf-admin-page.acf-internal-post-type .acf-field-icon-picker .acf-dashicons-search-wrap .acf-dashicons-search-input{padding-left:32px;border-radius:6px 6px 0 0}.acf-admin-page.acf-internal-post-type .acf-field-icon-picker .acf-dashicons-list{margin-bottom:-32px;display:flex;flex-wrap:wrap;justify-content:space-between;align-content:start;height:135px;overflow:hidden;overflow-y:auto;background-color:#f9fafb;border:1px solid #d0d5dd;border-top:none;border-radius:0 0 6px 6px;gap:8px;padding:8px}.acf-admin-page.acf-internal-post-type .acf-field-icon-picker .acf-dashicons-list .acf-icon-picker-dashicon{background-color:rgba(0,0,0,0);display:flex;justify-content:center;align-items:center;width:32px;height:32px;border:solid 2px rgba(0,0,0,0);color:#3c434a}.acf-admin-page.acf-internal-post-type .acf-field-icon-picker .acf-dashicons-list .acf-icon-picker-dashicon label{display:none}.acf-admin-page.acf-internal-post-type .acf-field-icon-picker .acf-dashicons-list .acf-icon-picker-dashicon [type=radio],.acf-admin-page.acf-internal-post-type .acf-field-icon-picker .acf-dashicons-list .acf-icon-picker-dashicon [type=radio]:active,.acf-admin-page.acf-internal-post-type .acf-field-icon-picker .acf-dashicons-list .acf-icon-picker-dashicon [type=radio]:checked::before,.acf-admin-page.acf-internal-post-type .acf-field-icon-picker .acf-dashicons-list .acf-icon-picker-dashicon [type=radio]:focus{all:initial;appearance:none}.acf-admin-page.acf-internal-post-type .acf-field-icon-picker .acf-dashicons-list .acf-icon-picker-dashicon:hover{border:solid 2px #0783be;border-radius:6px;cursor:pointer}.acf-admin-page.acf-internal-post-type .acf-field-icon-picker .acf-dashicons-list .active{border:solid 2px #0783be;background-color:#ebf5fa;border-radius:6px}.acf-admin-page.acf-internal-post-type .acf-field-icon-picker .acf-dashicons-list .active.focus{border:solid 2px #0783be;background-color:#ebf5fa;border-radius:6px;box-shadow:0 0 2px #0783be}.acf-admin-page.acf-internal-post-type .acf-field-icon-picker .acf-dashicons-list::after{content:"";flex:auto}.acf-admin-page.acf-internal-post-type .acf-field-icon-picker .acf-dashicons-list-empty{position:relative;display:none;flex-direction:column;justify-content:center;align-items:center;padding-top:10px;padding-left:10px;height:135px;overflow:scroll;background-color:#f9fafb;border:1px solid #d0d5dd;border-top:none;border-radius:0 0 6px 6px}.acf-admin-page.acf-internal-post-type .acf-field-icon-picker .acf-dashicons-list-empty img{height:30px;width:30px;color:#d0d5dd}.acf-admin-page.acf-internal-post-type .acf-field-icon-picker .acf-icon-picker-media-library,.acf-admin-page.acf-internal-post-type .acf-field-icon-picker .acf-icon-picker-url-tabs{box-sizing:border-box;display:flex;align-items:center;justify-items:center;gap:12px;background-color:#f9fafb;padding:12px;border:1px solid #d0d5dd;border-radius:6px}.acf-admin-page.acf-internal-post-type .acf-field-icon-picker .acf-icon-picker-media-library .acf-icon-picker-media-library-preview,.acf-admin-page.acf-internal-post-type .acf-field-icon-picker .acf-icon-picker-url-tabs .acf-icon-picker-media-library-preview{all:unset;cursor:pointer}.acf-admin-page.acf-internal-post-type .acf-field-icon-picker .acf-icon-picker-media-library .acf-icon-picker-media-library-preview:focus,.acf-admin-page.acf-internal-post-type .acf-field-icon-picker .acf-icon-picker-url-tabs .acf-icon-picker-media-library-preview:focus{outline:1px solid #0783be;border-radius:6px}.acf-admin-page.acf-internal-post-type .acf-field-icon-picker .acf-icon-picker-media-library .acf-icon-picker-media-library-preview-dashicon,.acf-admin-page.acf-internal-post-type .acf-field-icon-picker .acf-icon-picker-media-library .acf-icon-picker-media-library-preview-img,.acf-admin-page.acf-internal-post-type .acf-field-icon-picker .acf-icon-picker-url-tabs .acf-icon-picker-media-library-preview-dashicon,.acf-admin-page.acf-internal-post-type .acf-field-icon-picker .acf-icon-picker-url-tabs .acf-icon-picker-media-library-preview-img{box-sizing:border-box;width:40px;height:40px;border:solid 2px rgba(0,0,0,0);color:#fff;background-color:#191e23;display:flex;justify-content:center;align-items:center;border-radius:6px}.acf-admin-page.acf-internal-post-type .acf-field-icon-picker .acf-icon-picker-media-library .acf-icon-picker-media-library-preview-img>img,.acf-admin-page.acf-internal-post-type .acf-field-icon-picker .acf-icon-picker-url-tabs .acf-icon-picker-media-library-preview-img>img{width:90%;height:90%;object-fit:cover;border-radius:5px;border:1px solid #667085}.acf-admin-page.acf-internal-post-type .acf-field-icon-picker .acf-icon-picker-media-library .acf-icon-picker-media-library-button,.acf-admin-page.acf-internal-post-type .acf-field-icon-picker .acf-icon-picker-url-tabs .acf-icon-picker-media-library-button{height:40px;background-color:#0783be;border:none;border-radius:6px;padding:8px 12px;color:#fff;display:flex;align-items:center;justify-items:center;gap:4px;cursor:pointer} +.acf-hl{padding:0;margin:0;list-style:none;display:block;position:relative}.acf-hl>li{float:left;display:block;margin:0;padding:0}.acf-hl>li.acf-fr{float:right}.acf-hl:before,.acf-hl:after,.acf-bl:before,.acf-bl:after,.acf-cf:before,.acf-cf:after{content:"";display:block;line-height:0}.acf-hl:after,.acf-bl:after,.acf-cf:after{clear:both}.acf-bl{padding:0;margin:0;list-style:none;display:block;position:relative}.acf-bl>li{display:block;margin:0;padding:0;float:none}.acf-hidden{display:none !important}.acf-empty{display:table-cell !important}.acf-empty *{display:none !important}.acf-fl{float:left}.acf-fr{float:right}.acf-fn{float:none}.acf-al{text-align:left}.acf-ar{text-align:right}.acf-ac{text-align:center}.acf-loading,.acf-spinner{display:inline-block;height:20px;width:20px;vertical-align:text-top;background:rgba(0,0,0,0) url(../../images/spinner.gif) no-repeat 50% 50%}.acf-spinner{display:none}.acf-spinner.is-active{display:inline-block}.spinner.is-active{display:inline-block}.acf-required{color:red}.acf-button,.acf-tab-button{pointer-events:auto !important}.acf-soh .acf-soh-target{-webkit-transition:opacity .25s 0s ease-in-out,visibility 0s linear .25s;-moz-transition:opacity .25s 0s ease-in-out,visibility 0s linear .25s;-o-transition:opacity .25s 0s ease-in-out,visibility 0s linear .25s;transition:opacity .25s 0s ease-in-out,visibility 0s linear .25s;visibility:hidden;opacity:0}.acf-soh:hover .acf-soh-target{-webkit-transition-delay:0s;-moz-transition-delay:0s;-o-transition-delay:0s;transition-delay:0s;visibility:visible;opacity:1}.show-if-value{display:none}.hide-if-value{display:block}.has-value .show-if-value{display:block}.has-value .hide-if-value{display:none}.select2-search-choice-close{-webkit-transition:none;-moz-transition:none;-o-transition:none;transition:none}.acf-tooltip{background:#1d2939;border-radius:6px;color:#d0d5dd;padding-top:8px;padding-right:12px;padding-bottom:10px;padding-left:12px;position:absolute;z-index:900000;max-width:280px;box-shadow:0px 12px 16px -4px rgba(16,24,40,.08),0px 4px 6px -2px rgba(16,24,40,.03)}.acf-tooltip:before{border:solid;border-color:rgba(0,0,0,0);border-width:6px;content:"";position:absolute}.acf-tooltip.top{margin-top:-8px}.acf-tooltip.top:before{top:100%;left:50%;margin-left:-6px;border-top-color:#2f353e;border-bottom-width:0}.acf-tooltip.right{margin-left:8px}.acf-tooltip.right:before{top:50%;margin-top:-6px;right:100%;border-right-color:#2f353e;border-left-width:0}.acf-tooltip.bottom{margin-top:8px}.acf-tooltip.bottom:before{bottom:100%;left:50%;margin-left:-6px;border-bottom-color:#2f353e;border-top-width:0}.acf-tooltip.left{margin-left:-8px}.acf-tooltip.left:before{top:50%;margin-top:-6px;left:100%;border-left-color:#2f353e;border-right-width:0}.acf-tooltip .acf-overlay{z-index:-1}.acf-tooltip.-confirm{z-index:900001}.acf-tooltip.-confirm a{text-decoration:none;color:#9ea3a8}.acf-tooltip.-confirm a:hover{text-decoration:underline}.acf-tooltip.-confirm a[data-event=confirm]{color:#f55e4f}.acf-overlay{position:fixed;top:0;bottom:0;left:0;right:0;cursor:default}.acf-tooltip-target{position:relative;z-index:900002}.acf-loading-overlay{position:absolute;top:0;bottom:0;left:0;right:0;cursor:default;z-index:99;background:rgba(249,249,249,.5)}.acf-loading-overlay i{position:absolute;top:50%;left:50%;transform:translate(-50%, -50%)}.acf-icon{display:inline-block;height:28px;width:28px;border:rgba(0,0,0,0) solid 1px;border-radius:100%;font-size:20px;line-height:21px;text-align:center;text-decoration:none;vertical-align:top;box-sizing:border-box}.acf-icon:before{font-family:dashicons;display:inline-block;line-height:1;font-weight:400;font-style:normal;speak:none;text-decoration:inherit;text-transform:none;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;width:1em;height:1em;vertical-align:middle;text-align:center}.acf-icon.-plus:before{content:""}.acf-icon.-minus:before{content:""}.acf-icon.-cancel:before{content:"";margin:-1px 0 0 -1px}.acf-icon.-pencil:before{content:""}.acf-icon.-location:before{content:""}.acf-icon.-up:before{content:"";margin-top:-0.1em}.acf-icon.-down:before{content:"";margin-top:.1em}.acf-icon.-left:before{content:"";margin-left:-0.1em}.acf-icon.-right:before{content:"";margin-left:.1em}.acf-icon.-sync:before{content:""}.acf-icon.-globe:before{content:"";margin-top:.1em;margin-left:.1em}.acf-icon.-picture:before{content:""}.acf-icon.-check:before{content:"";margin-left:-0.1em}.acf-icon.-dot-3:before{content:"";margin-top:-0.1em}.acf-icon.-arrow-combo:before{content:""}.acf-icon.-arrow-up:before{content:"";margin-left:-0.1em}.acf-icon.-arrow-down:before{content:"";margin-left:-0.1em}.acf-icon.-search:before{content:""}.acf-icon.-link-ext:before{content:""}.acf-icon.-duplicate{position:relative}.acf-icon.-duplicate:before,.acf-icon.-duplicate:after{content:"";display:block;box-sizing:border-box;width:46%;height:46%;position:absolute;top:33%;left:23%}.acf-icon.-duplicate:before{margin:-1px 0 0 1px;box-shadow:2px -2px 0px 0px currentColor}.acf-icon.-duplicate:after{border:solid 2px currentColor}.acf-icon.-trash{position:relative}.acf-icon.-trash:before,.acf-icon.-trash:after{content:"";display:block;box-sizing:border-box;width:46%;height:46%;position:absolute;top:33%;left:23%}.acf-icon.-trash:before{margin:-1px 0 0 1px;box-shadow:2px -2px 0px 0px currentColor}.acf-icon.-trash:after{border:solid 2px currentColor}.acf-icon.-collapse:before{content:"";margin-left:-0.1em}.-collapsed .acf-icon.-collapse:before{content:"";margin-left:-0.1em}span.acf-icon{color:#555d66;border-color:#b5bcc2;background-color:#fff}a.acf-icon{color:#555d66;border-color:#b5bcc2;background-color:#fff;position:relative;transition:none;cursor:pointer}a.acf-icon:hover{background:#f3f5f6;border-color:#0071a1;color:#0071a1}a.acf-icon.-minus:hover,a.acf-icon.-cancel:hover{background:#f7efef;border-color:#a10000;color:#dc3232}a.acf-icon:active,a.acf-icon:focus{outline:none;box-shadow:none}.acf-icon.-clear{border-color:rgba(0,0,0,0);background:rgba(0,0,0,0);color:#444}.acf-icon.light{border-color:rgba(0,0,0,0);background:#f5f5f5;color:#23282d}.acf-icon.dark{border-color:rgba(0,0,0,0) !important;background:#23282d;color:#eee}a.acf-icon.dark:hover{background:#191e23;color:#00b9eb}a.acf-icon.dark.-minus:hover,a.acf-icon.dark.-cancel:hover{color:#d54e21}.acf-icon.grey{border-color:rgba(0,0,0,0) !important;background:#b4b9be;color:#fff !important}.acf-icon.grey:hover{background:#00a0d2;color:#fff}.acf-icon.grey.-minus:hover,.acf-icon.grey.-cancel:hover{background:#32373c}.acf-icon.small,.acf-icon.-small{width:20px;height:20px;line-height:14px;font-size:14px}.acf-icon.small.-duplicate:before,.acf-icon.small.-duplicate:after,.acf-icon.-small.-duplicate:before,.acf-icon.-small.-duplicate:after{opacity:.8}.acf-box{background:#fff;border:1px solid #ccd0d4;position:relative;box-shadow:0 1px 1px rgba(0,0,0,.04)}.acf-box .title{border-bottom:1px solid #ccd0d4;margin:0;padding:15px}.acf-box .title h3{display:flex;align-items:center;font-size:14px;line-height:1em;margin:0;padding:0}.acf-box .inner{padding:15px}.acf-box h2{color:#333;font-size:26px;line-height:1.25em;margin:.25em 0 .75em;padding:0}.acf-box h3{margin:1.5em 0 0}.acf-box p{margin-top:.5em}.acf-box a{text-decoration:none}.acf-box i.dashicons-external{margin-top:-1px}.acf-box .footer{border-top:1px solid #ccd0d4;padding:12px;font-size:13px;line-height:1.5}.acf-box .footer p{margin:0}.acf-admin-3-8 .acf-box{border-color:#e5e5e5}.acf-admin-3-8 .acf-box .title,.acf-admin-3-8 .acf-box .footer{border-color:#e5e5e5}.acf-notice{position:relative;display:block;color:#fff;margin:5px 0 15px;padding:3px 12px;background:#2a9bd9;border-left:rgb(31.4900398406,125.1314741036,176.5099601594) solid 3px}.acf-notice p{font-size:13px;line-height:1.5;margin:.5em 0;text-shadow:none;color:inherit}.acf-notice .acf-notice-dismiss{position:absolute;top:9px;right:12px;background:rgba(0,0,0,0) !important;color:inherit !important;border-color:#fff !important;opacity:.75}.acf-notice .acf-notice-dismiss:hover{opacity:1}.acf-notice.-dismiss{padding-right:40px}.acf-notice.-error{background:#d94f4f;border-color:hsl(0,64.4859813084%,48.0392156863%)}.acf-notice.-success{background:#49ad52;border-color:rgb(57.8658536585,137.1341463415,65)}.acf-notice.-warning{background:#fd8d3b;border-color:rgb(252.4848484848,111.6363636364,8.5151515152)}.acf-table{border:#ccd0d4 solid 1px;background:#fff;border-spacing:0;border-radius:0;table-layout:auto;padding:0;margin:0;width:100%;clear:both;box-sizing:content-box}.acf-table>tbody>tr>th,.acf-table>tbody>tr>td,.acf-table>thead>tr>th,.acf-table>thead>tr>td{padding:8px;vertical-align:top;background:#fff;text-align:left;border-style:solid;font-weight:normal}.acf-table>tbody>tr>th,.acf-table>thead>tr>th{position:relative;color:#333}.acf-table>thead>tr>th{border-color:#d5d9dd;border-width:0 0 1px 1px}.acf-table>thead>tr>th:first-child{border-left-width:0}.acf-table>tbody>tr{z-index:1}.acf-table>tbody>tr>td{border-color:#eee;border-width:1px 0 0 1px}.acf-table>tbody>tr>td:first-child{border-left-width:0}.acf-table>tbody>tr:first-child>td{border-top-width:0}.acf-table.-clear{border:0 none}.acf-table.-clear>tbody>tr>td,.acf-table.-clear>tbody>tr>th,.acf-table.-clear>thead>tr>td,.acf-table.-clear>thead>tr>th{border:0 none;padding:4px}.acf-remove-element{-webkit-transition:all .25s ease-out;-moz-transition:all .25s ease-out;-o-transition:all .25s ease-out;transition:all .25s ease-out;transform:translate(50px, 0);opacity:0}.acf-fade-up{-webkit-transition:all .25s ease-out;-moz-transition:all .25s ease-out;-o-transition:all .25s ease-out;transition:all .25s ease-out;transform:translate(0, -10px);opacity:0}.acf-thead,.acf-tbody,.acf-tfoot{width:100%;padding:0;margin:0}.acf-thead>li,.acf-tbody>li,.acf-tfoot>li{box-sizing:border-box;padding-top:14px;font-size:12px;line-height:14px}.acf-thead{border-bottom:#ccd0d4 solid 1px;color:#23282d}.acf-thead>li{font-size:14px;line-height:1.4;font-weight:bold}.acf-admin-3-8 .acf-thead{border-color:#dfdfdf}.acf-tfoot{background:#f5f5f5;border-top:#d5d9dd solid 1px}.acf-settings-wrap #poststuff{padding-top:15px}.acf-settings-wrap .acf-box{margin:20px 0}.acf-settings-wrap table{margin:0}.acf-settings-wrap table .button{vertical-align:middle}#acf-popup{position:fixed;z-index:900000;top:0;left:0;right:0;bottom:0;text-align:center}#acf-popup .bg{position:absolute;top:0;left:0;right:0;bottom:0;z-index:0;background:rgba(0,0,0,.25)}#acf-popup:before{content:"";display:inline-block;height:100%;vertical-align:middle}#acf-popup .acf-popup-box{display:inline-block;vertical-align:middle;z-index:1;min-width:300px;min-height:160px;border-color:#aaa;box-shadow:0 5px 30px -5px rgba(0,0,0,.25);text-align:left}html[dir=rtl] #acf-popup .acf-popup-box{text-align:right}#acf-popup .acf-popup-box .title{min-height:15px;line-height:15px}#acf-popup .acf-popup-box .title .acf-icon{position:absolute;top:10px;right:10px}html[dir=rtl] #acf-popup .acf-popup-box .title .acf-icon{right:auto;left:10px}#acf-popup .acf-popup-box .inner{min-height:50px;padding:0;margin:15px}#acf-popup .acf-popup-box .loading{position:absolute;top:45px;left:0;right:0;bottom:0;z-index:2;background:rgba(0,0,0,.1);display:none}#acf-popup .acf-popup-box .loading i{position:absolute;top:50%;left:50%;transform:translate(-50%, -50%)}.acf-submit{margin-bottom:0;line-height:28px}.acf-submit span{float:right;color:#999}.acf-submit span.-error{color:#dd4232}.acf-submit .button{margin-right:5px}#acf-upgrade-notice{position:relative;background:#fff;padding:20px}#acf-upgrade-notice:after{display:block;clear:both;content:""}#acf-upgrade-notice .col-content{float:left;width:55%;padding-left:90px}#acf-upgrade-notice .notice-container{display:flex;justify-content:space-between;align-items:flex-start;align-content:flex-start}#acf-upgrade-notice .col-actions{float:right;text-align:center}#acf-upgrade-notice img{float:left;width:64px;height:64px;margin:0 0 0 -90px}#acf-upgrade-notice h2{display:inline-block;font-size:16px;margin:2px 0 6.5px}#acf-upgrade-notice p{padding:0;margin:0}#acf-upgrade-notice .button:before{margin-top:11px}@media screen and (max-width: 640px){#acf-upgrade-notice .col-content,#acf-upgrade-notice .col-actions{float:none;padding-left:90px;width:auto;text-align:left}}#acf-upgrade-notice:has(.notice-container)::before,#acf-upgrade-notice:has(.notice-container)::after{display:none}#acf-upgrade-notice:has(.notice-container){padding-left:20px !important}.acf-wrap h1{margin-top:0;padding-top:20px}.acf-wrap .about-text{margin-top:.5em;min-height:50px}.acf-wrap .about-headline-callout{font-size:2.4em;font-weight:300;line-height:1.3;margin:1.1em 0 .2em;text-align:center}.acf-wrap .feature-section{padding:40px 0}.acf-wrap .feature-section h2{margin-top:20px}.acf-wrap .changelog{list-style:disc;padding-left:15px}.acf-wrap .changelog li{margin:0 0 .75em}.acf-wrap .acf-three-col{display:flex;flex-wrap:wrap;justify-content:space-between}.acf-wrap .acf-three-col>div{flex:1;align-self:flex-start;min-width:31%;max-width:31%}@media screen and (max-width: 880px){.acf-wrap .acf-three-col>div{min-width:48%}}@media screen and (max-width: 640px){.acf-wrap .acf-three-col>div{min-width:100%}}.acf-wrap .acf-three-col h3 .badge{display:inline-block;vertical-align:top;border-radius:5px;background:#fc9700;color:#fff;font-weight:normal;font-size:12px;padding:2px 5px}.acf-wrap .acf-three-col img+h3{margin-top:.5em}.acf-hl[data-cols]{margin-left:-10px;margin-right:-10px}.acf-hl[data-cols]>li{padding:0 6px 0 10px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.acf-hl[data-cols="2"]>li{width:50%}.acf-hl[data-cols="3"]>li{width:33.333%}.acf-hl[data-cols="4"]>li{width:25%}@media screen and (max-width: 640px){.acf-hl[data-cols]{flex-wrap:wrap;justify-content:flex-start;align-content:flex-start;align-items:flex-start;margin-left:0;margin-right:0;margin-top:-10px}.acf-hl[data-cols]>li{flex:1 1 100%;width:100% !important;padding:10px 0 0}}.acf-actions{text-align:right;z-index:1}.acf-actions.-hover{position:absolute;display:none;top:0;right:0;padding:5px;z-index:1050}html[dir=rtl] .acf-actions.-hover{right:auto;left:0}ul.acf-actions li{float:right;margin-left:4px}html[dir=rtl] .acf-fl{float:right}html[dir=rtl] .acf-fr{float:left}html[dir=rtl] .acf-hl>li{float:right}html[dir=rtl] .acf-hl>li.acf-fr{float:left}html[dir=rtl] .acf-icon.logo{left:0;right:auto}html[dir=rtl] .acf-table thead th{text-align:right;border-right-width:1px;border-left-width:0px}html[dir=rtl] .acf-table>tbody>tr>td{text-align:right;border-right-width:1px;border-left-width:0px}html[dir=rtl] .acf-table>thead>tr>th:first-child,html[dir=rtl] .acf-table>tbody>tr>td:first-child{border-right-width:0}html[dir=rtl] .acf-table>tbody>tr>td.order+td{border-right-color:#e1e1e1}.acf-postbox-columns{position:relative;margin-top:-11px;margin-bottom:-12px;margin-left:-12px;margin-right:268px}.acf-postbox-columns:after{display:block;clear:both;content:""}.acf-postbox-columns .acf-postbox-main,.acf-postbox-columns .acf-postbox-side{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:0 12px 12px}.acf-postbox-columns .acf-postbox-main{float:left;width:100%}.acf-postbox-columns .acf-postbox-side{float:right;width:280px;margin-right:-280px}.acf-postbox-columns .acf-postbox-side:before{content:"";display:block;position:absolute;width:1px;height:100%;top:0;right:0;background:#d5d9dd}.acf-admin-3-8 .acf-postbox-columns .acf-postbox-side:before{background:#dfdfdf}@media only screen and (max-width: 850px){.acf-postbox-columns{margin:0}.acf-postbox-columns .acf-postbox-main,.acf-postbox-columns .acf-postbox-side{float:none;width:auto;margin:0;padding:0}.acf-postbox-columns .acf-postbox-side{margin-top:1em}.acf-postbox-columns .acf-postbox-side:before{display:none}}.acf-panel{margin-top:-1px;border-top:1px solid #d5d9dd;border-bottom:1px solid #d5d9dd}.acf-panel .acf-panel-title{margin:0;padding:12px;font-weight:bold;cursor:pointer;font-size:inherit}.acf-panel .acf-panel-title i{float:right}.acf-panel .acf-panel-inside{margin:0;padding:0 12px 12px;display:none}.acf-panel.-open .acf-panel-inside{display:block}.postbox .acf-panel{margin-left:-12px;margin-right:-12px}.acf-panel .acf-field{margin:20px 0 0}.acf-panel .acf-field .acf-label label{color:#555d66;font-weight:normal}.acf-panel .acf-field:first-child{margin-top:0}.acf-admin-3-8 .acf-panel{border-color:#dfdfdf}#acf-admin-tools .notice{margin-top:10px}#acf-admin-tools .acf-meta-box-wrap .inside{border-top:none}#acf-admin-tools .acf-meta-box-wrap .acf-fields{margin-bottom:24px;border:none;background:#fff;border-radius:0}#acf-admin-tools .acf-meta-box-wrap .acf-fields .acf-field{padding:0;margin-bottom:19px;border-top:none}#acf-admin-tools .acf-meta-box-wrap .acf-fields .acf-label{margin-bottom:16px}#acf-admin-tools .acf-meta-box-wrap .acf-fields .acf-input{padding-top:16px;padding-right:16px;padding-bottom:16px;padding-left:16px;border-width:1px;border-style:solid;border-color:#d0d5dd;border-radius:6px}#acf-admin-tools .acf-meta-box-wrap .acf-fields.import-cptui{margin-top:19px}.acf-meta-box-wrap .postbox{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.acf-meta-box-wrap .postbox .inside{margin-bottom:0}.acf-meta-box-wrap .postbox .hndle{font-size:14px;padding:8px 12px;margin:0;line-height:1.4;position:relative;z-index:1;cursor:default}.acf-meta-box-wrap .postbox .handlediv,.acf-meta-box-wrap .postbox .handle-order-higher,.acf-meta-box-wrap .postbox .handle-order-lower{display:none}.acf-meta-box-wrap.-grid{margin-left:8px;margin-right:8px}.acf-meta-box-wrap.-grid .postbox{float:left;clear:left;width:50%;margin:0 0 16px}.acf-meta-box-wrap.-grid .postbox:nth-child(odd){margin-left:-8px}.acf-meta-box-wrap.-grid .postbox:nth-child(even){float:right;clear:right;margin-right:-8px}@media only screen and (max-width: 850px){.acf-meta-box-wrap.-grid{margin-left:0;margin-right:0}.acf-meta-box-wrap.-grid .postbox{margin-left:0 !important;margin-right:0 !important;width:100%}}#acf-admin-tool-export p{max-width:800px}#acf-admin-tool-export ul{display:flex;flex-wrap:wrap;width:100%}#acf-admin-tool-export ul li{flex:0 1 33.33%}@media screen and (max-width: 1600px){#acf-admin-tool-export ul li{flex:0 1 50%}}@media screen and (max-width: 1200px){#acf-admin-tool-export ul li{flex:0 1 100%}}#acf-admin-tool-export .acf-postbox-side ul{display:block}#acf-admin-tool-export .acf-postbox-side .button{margin:0;width:100%}#acf-admin-tool-export textarea{display:block;width:100%;min-height:500px;background:#f9fafb;border-color:#d0d5dd;box-shadow:none;padding:7px;border-radius:6px}#acf-admin-tool-export .acf-panel-selection .acf-label label{font-weight:bold;color:#344054}#acf-admin-tool-import ul{column-width:200px}.acf-css-tooltip{position:relative}.acf-css-tooltip:before{content:attr(aria-label);display:none;position:absolute;z-index:999;bottom:100%;left:50%;transform:translate(-50%, -8px);background:#191e23;border-radius:2px;padding:5px 10px;color:#fff;font-size:12px;line-height:1.4em;white-space:pre}.acf-css-tooltip:after{content:"";display:none;position:absolute;z-index:998;bottom:100%;left:50%;transform:translate(-50%, 4px);border:solid 6px rgba(0,0,0,0);border-top-color:#191e23}.acf-css-tooltip:hover:before,.acf-css-tooltip:hover:after,.acf-css-tooltip:focus:before,.acf-css-tooltip:focus:after{display:block}.acf-diff .acf-diff-title{position:absolute;top:0;left:0;right:0;height:40px;padding:14px 16px;background:#f3f3f3;border-bottom:#ddd solid 1px}.acf-diff .acf-diff-title strong{font-size:14px;display:block}.acf-diff .acf-diff-title .acf-diff-title-left,.acf-diff .acf-diff-title .acf-diff-title-right{width:50%;float:left}.acf-diff .acf-diff-content{position:absolute;top:70px;left:0;right:0;bottom:0;overflow:auto}.acf-diff table.diff{border-spacing:0}.acf-diff table.diff col.diffsplit.middle{width:0}.acf-diff table.diff td,.acf-diff table.diff th{padding-top:.25em;padding-bottom:.25em}.acf-diff table.diff tr td:nth-child(2){width:auto}.acf-diff table.diff td:nth-child(3){border-left:#ddd solid 1px}@media screen and (max-width: 600px){.acf-diff .acf-diff-title{height:70px}.acf-diff .acf-diff-content{top:100px}}.acf-modal{position:fixed;top:30px;left:30px;right:30px;bottom:30px;z-index:160000;box-shadow:0 5px 15px rgba(0,0,0,.7);background:#fcfcfc}.acf-modal .acf-modal-title,.acf-modal .acf-modal-content,.acf-modal .acf-modal-toolbar{box-sizing:border-box;position:absolute;left:0;right:0}.acf-modal .acf-modal-title{height:50px;top:0;border-bottom:1px solid #ddd}.acf-modal .acf-modal-title h2{margin:0;padding:0 16px;line-height:50px}.acf-modal .acf-modal-title .acf-modal-close{position:absolute;top:0;right:0;height:50px;width:50px;border:none;border-left:1px solid #ddd;background:rgba(0,0,0,0);cursor:pointer;color:#666}.acf-modal .acf-modal-title .acf-modal-close:hover{color:#00a0d2}.acf-modal .acf-modal-content{top:50px;bottom:60px;background:#fff;overflow:auto;padding:16px}.acf-modal .acf-modal-feedback{position:absolute;top:50%;margin:-10px 0;left:0;right:0;text-align:center;opacity:.75}.acf-modal .acf-modal-feedback.error{opacity:1;color:#b52727}.acf-modal .acf-modal-toolbar{height:60px;bottom:0;padding:15px 16px;border-top:1px solid #ddd}.acf-modal .acf-modal-toolbar .button{float:right}@media only screen and (max-width: 640px){.acf-modal{top:0;left:0;right:0;bottom:0}}.acf-modal-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;background:#101828;opacity:.8;z-index:159900}@media only screen and (-webkit-min-device-pixel-ratio: 2),only screen and (min--moz-device-pixel-ratio: 2),only screen and (-o-min-device-pixel-ratio: 2/1),only screen and (min-device-pixel-ratio: 2),only screen and (min-resolution: 192dpi),only screen and (min-resolution: 2dppx){.acf-loading,.acf-spinner{background-image:url(../../images/spinner@2x.gif);background-size:20px 20px}}.acf-admin-page .wrap{margin-top:48px;margin-right:32px;margin-bottom:0;margin-left:12px}@media screen and (max-width: 768px){.acf-admin-page .wrap{margin-right:8px;margin-left:8px}}.acf-admin-page.rtl .wrap{margin-right:12px;margin-left:32px}@media screen and (max-width: 768px){.acf-admin-page.rtl .wrap{margin-right:8px;margin-left:8px}}@media screen and (max-width: 768px){.acf-admin-page #wpcontent{padding-left:0}}.acf-admin-page #wpfooter{font-style:italic}.acf-admin-page .postbox,.acf-admin-page .acf-box{border:none;border-radius:8px;box-shadow:0px 1px 2px rgba(16,24,40,.1)}.acf-admin-page .postbox .inside,.acf-admin-page .acf-box .inside{padding-top:24px;padding-right:24px;padding-bottom:24px;padding-left:24px}.acf-admin-page .postbox .acf-postbox-inner,.acf-admin-page .acf-box .acf-postbox-inner{margin-top:0;margin-right:0;margin-bottom:0;margin-left:0;padding-top:24px;padding-right:0;padding-bottom:0;padding-left:0}.acf-admin-page .postbox .inner,.acf-admin-page .postbox .inside,.acf-admin-page .acf-box .inner,.acf-admin-page .acf-box .inside{margin-top:0 !important;margin-right:0 !important;margin-bottom:0 !important;margin-left:0 !important;border-top-width:1px;border-top-style:solid;border-top-color:#eaecf0}.acf-admin-page .postbox .postbox-header,.acf-admin-page .postbox .title,.acf-admin-page .acf-box .postbox-header,.acf-admin-page .acf-box .title{display:flex;align-items:center;box-sizing:border-box;min-height:64px;margin-top:0;margin-right:0;margin-bottom:0;margin-left:0;padding-top:0;padding-right:24px;padding-bottom:0;padding-left:24px;border-bottom-width:0;border-bottom-style:none}.acf-admin-page .postbox .postbox-header h2,.acf-admin-page .postbox .postbox-header h3,.acf-admin-page .postbox .title h2,.acf-admin-page .postbox .title h3,.acf-admin-page .acf-box .postbox-header h2,.acf-admin-page .acf-box .postbox-header h3,.acf-admin-page .acf-box .title h2,.acf-admin-page .acf-box .title h3{margin-top:0;margin-right:0;margin-bottom:0;margin-left:0;padding-top:0;padding-right:0;padding-bottom:0;padding-left:0;color:#344054}.acf-admin-page .postbox .hndle,.acf-admin-page .acf-box .hndle{padding-top:0;padding-right:24px;padding-bottom:0;padding-left:24px}.acf-postbox-header{display:flex;align-items:center;justify-content:space-between;box-sizing:border-box;min-height:64px;margin-top:-24px;margin-right:-24px;margin-bottom:0;margin-left:-24px;padding-top:0;padding-right:24px;padding-bottom:0;padding-left:24px;border-bottom-width:1px;border-bottom-style:solid;border-bottom-color:#eaecf0}.acf-postbox-header h2.acf-postbox-title{margin-top:0;margin-right:0;margin-bottom:0;margin-left:0;padding-top:0;padding-right:24px;padding-bottom:0;padding-left:0;color:#344054}.rtl .acf-postbox-header h2.acf-postbox-title{padding-right:0;padding-left:24px}.acf-postbox-header .acf-icon{background-color:#98a2b3}.acf-admin-page #screen-meta-links{margin-right:32px}.acf-admin-page #screen-meta-links .show-settings{border-color:#d0d5dd}@media screen and (max-width: 768px){.acf-admin-page #screen-meta-links{margin-right:16px;margin-bottom:0}}.acf-admin-page.rtl #screen-meta-links{margin-right:0;margin-left:32px}@media screen and (max-width: 768px){.acf-admin-page.rtl #screen-meta-links{margin-right:0;margin-left:16px}}.acf-admin-page #screen-meta{border-color:#d0d5dd}.acf-admin-page #poststuff .postbox-header h2,.acf-admin-page #poststuff .postbox-header h3{justify-content:flex-start;margin-top:0;margin-right:0;margin-bottom:0;margin-left:0;padding-top:0;padding-right:0;padding-bottom:0;padding-left:0;color:#344054 !important}.acf-admin-page.is-dragging-metaboxes .metabox-holder .postbox-container .meta-box-sortables{box-sizing:border-box;padding:2px;outline:none;background-image:repeating-linear-gradient(0deg, #667085, #667085 5px, transparent 5px, transparent 10px, #667085 10px),repeating-linear-gradient(90deg, #667085, #667085 5px, transparent 5px, transparent 10px, #667085 10px),repeating-linear-gradient(180deg, #667085, #667085 5px, transparent 5px, transparent 10px, #667085 10px),repeating-linear-gradient(270deg, #667085, #667085 5px, transparent 5px, transparent 10px, #667085 10px);background-size:1.5px 100%,100% 1.5px,1.5px 100%,100% 1.5px;background-position:0 0,0 0,100% 0,0 100%;background-repeat:no-repeat;border-radius:8px}.acf-admin-page .ui-sortable-placeholder{border:none}.acf-admin-page .subtitle{display:inline-flex;align-items:center;height:24px;margin:0;padding-top:4px;padding-right:12px;padding-bottom:4px;padding-left:12px;background-color:#ebf5fa;border-width:1px;border-style:solid;border-color:#a5d2e7;border-radius:6px}.acf-admin-page .subtitle strong{margin-left:5px}.acf-actions-strip{display:flex}.acf-actions-strip .acf-btn{margin-right:8px}.acf-admin-page .acf-notice,.acf-admin-page .notice,.acf-admin-page #lost-connection-notice{position:relative;box-sizing:border-box;min-height:48px;margin-top:0 !important;margin-right:0 !important;margin-bottom:16px !important;margin-left:0 !important;padding-top:13px !important;padding-right:16px;padding-bottom:12px !important;padding-left:50px !important;background-color:#e7eff9;border-width:1px;border-style:solid;border-color:#9dbaee;border-radius:8px;box-shadow:0px 1px 2px rgba(16,24,40,.1);color:#344054}.acf-admin-page .acf-notice.update-nag,.acf-admin-page .notice.update-nag,.acf-admin-page #lost-connection-notice.update-nag{display:block;position:relative;width:calc(100% - 44px);margin-top:48px !important;margin-right:44px !important;margin-bottom:-32px !important;margin-left:12px !important}.acf-admin-page .acf-notice .button,.acf-admin-page .notice .button,.acf-admin-page #lost-connection-notice .button{height:auto;margin-left:8px;padding:0;border:none}.acf-admin-page .acf-notice>div,.acf-admin-page .notice>div,.acf-admin-page #lost-connection-notice>div{margin-top:0;margin-bottom:0}.acf-admin-page .acf-notice p,.acf-admin-page .notice p,.acf-admin-page #lost-connection-notice p{flex:1 0 auto;max-width:100%;line-height:18px;margin:0;padding:0}.acf-admin-page .acf-notice p.help,.acf-admin-page .notice p.help,.acf-admin-page #lost-connection-notice p.help{margin-top:0;padding-top:0;color:rgba(52,64,84,.7)}.acf-admin-page .acf-notice .acf-notice-dismiss,.acf-admin-page .acf-notice .notice-dismiss,.acf-admin-page .notice .acf-notice-dismiss,.acf-admin-page .notice .notice-dismiss,.acf-admin-page #lost-connection-notice .acf-notice-dismiss,.acf-admin-page #lost-connection-notice .notice-dismiss{position:absolute;top:4px;right:8px;padding:9px;border:none}.acf-admin-page .acf-notice .acf-notice-dismiss:before,.acf-admin-page .acf-notice .notice-dismiss:before,.acf-admin-page .notice .acf-notice-dismiss:before,.acf-admin-page .notice .notice-dismiss:before,.acf-admin-page #lost-connection-notice .acf-notice-dismiss:before,.acf-admin-page #lost-connection-notice .notice-dismiss:before{content:"";display:block;position:relative;z-index:600;width:20px;height:20px;background-color:#667085;border:none;border-radius:0;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;-webkit-mask-image:url("../../images/icons/icon-close.svg");mask-image:url("../../images/icons/icon-close.svg")}.acf-admin-page .acf-notice .acf-notice-dismiss:hover::before,.acf-admin-page .acf-notice .notice-dismiss:hover::before,.acf-admin-page .notice .acf-notice-dismiss:hover::before,.acf-admin-page .notice .notice-dismiss:hover::before,.acf-admin-page #lost-connection-notice .acf-notice-dismiss:hover::before,.acf-admin-page #lost-connection-notice .notice-dismiss:hover::before{background-color:#344054}.acf-admin-page .acf-notice a.acf-notice-dismiss,.acf-admin-page .notice a.acf-notice-dismiss,.acf-admin-page #lost-connection-notice a.acf-notice-dismiss{position:absolute;top:5px;right:24px}.acf-admin-page .acf-notice a.acf-notice-dismiss:before,.acf-admin-page .notice a.acf-notice-dismiss:before,.acf-admin-page #lost-connection-notice a.acf-notice-dismiss:before{background-color:#475467}.acf-admin-page .acf-notice:before,.acf-admin-page .notice:before,.acf-admin-page #lost-connection-notice:before{content:"";display:block;position:absolute;top:15px;left:18px;z-index:600;width:16px;height:16px;margin-right:8px;background-color:#fff;border:none;border-radius:0;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;-webkit-mask-image:url("../../images/icons/icon-info-solid.svg");mask-image:url("../../images/icons/icon-info-solid.svg")}.acf-admin-page .acf-notice:after,.acf-admin-page .notice:after,.acf-admin-page #lost-connection-notice:after{content:"";display:block;position:absolute;top:9px;left:12px;z-index:500;width:28px;height:28px;background-color:#2d69da;border-radius:6px;box-shadow:0px 1px 2px rgba(16,24,40,.1)}.acf-admin-page .acf-notice .local-restore,.acf-admin-page .notice .local-restore,.acf-admin-page #lost-connection-notice .local-restore{align-items:center;margin-top:-6px;margin-bottom:0}.acf-admin-page .notice[data-persisted=true]{display:none}.acf-admin-page .notice.is-dismissible{padding-right:56px}.acf-admin-page .notice.notice-success{background-color:#edf7ef;border-color:#b6deb9}.acf-admin-page .notice.notice-success:before{-webkit-mask-image:url("../../images/icons/icon-check-circle-solid.svg");mask-image:url("../../images/icons/icon-check-circle-solid.svg")}.acf-admin-page .notice.notice-success:after{background-color:#52aa59}.acf-admin-page .acf-notice.acf-error-message,.acf-admin-page .notice.notice-error,.acf-admin-page #lost-connection-notice{background-color:#f7eeeb;border-color:#f1b6b3}.acf-admin-page .acf-notice.acf-error-message:before,.acf-admin-page .notice.notice-error:before,.acf-admin-page #lost-connection-notice:before{-webkit-mask-image:url("../../images/icons/icon-warning.svg");mask-image:url("../../images/icons/icon-warning.svg")}.acf-admin-page .acf-notice.acf-error-message:after,.acf-admin-page .notice.notice-error:after,.acf-admin-page #lost-connection-notice:after{background-color:#d13737}.acf-admin-page .notice.notice-warning{background:linear-gradient(0deg, rgba(247, 144, 9, 0.08), rgba(247, 144, 9, 0.08)),#fff;border:1px solid rgba(247,144,9,.32);color:#344054}.acf-admin-page .notice.notice-warning:before{-webkit-mask-image:url("../../images/icons/icon-alert-triangle.svg");mask-image:url("../../images/icons/icon-alert-triangle.svg");background:#f56e28}.acf-admin-page .notice.notice-warning:after{content:none}.acf-admin-single-taxonomy .notice-success .acf-item-saved-text,.acf-admin-single-post-type .notice-success .acf-item-saved-text,.acf-admin-single-options-page .notice-success .acf-item-saved-text{font-weight:600}.acf-admin-single-taxonomy .notice-success .acf-item-saved-links,.acf-admin-single-post-type .notice-success .acf-item-saved-links,.acf-admin-single-options-page .notice-success .acf-item-saved-links{display:flex;gap:12px}.acf-admin-single-taxonomy .notice-success .acf-item-saved-links a,.acf-admin-single-post-type .notice-success .acf-item-saved-links a,.acf-admin-single-options-page .notice-success .acf-item-saved-links a{text-decoration:none;opacity:1}.acf-admin-single-taxonomy .notice-success .acf-item-saved-links a:after,.acf-admin-single-post-type .notice-success .acf-item-saved-links a:after,.acf-admin-single-options-page .notice-success .acf-item-saved-links a:after{content:"";width:1px;height:13px;display:inline-flex;position:relative;top:2px;left:6px;background-color:#475467;opacity:.3}.acf-admin-single-taxonomy .notice-success .acf-item-saved-links a:last-child:after,.acf-admin-single-post-type .notice-success .acf-item-saved-links a:last-child:after,.acf-admin-single-options-page .notice-success .acf-item-saved-links a:last-child:after{content:none}.rtl.acf-field-group .notice,.rtl.acf-internal-post-type .notice{padding-right:50px !important}.rtl.acf-field-group .notice .notice-dismiss,.rtl.acf-internal-post-type .notice .notice-dismiss{left:8px;right:unset}.rtl.acf-field-group .notice:before,.rtl.acf-internal-post-type .notice:before{left:unset;right:10px}.rtl.acf-field-group .notice:after,.rtl.acf-internal-post-type .notice:after{left:unset;right:12px}.rtl.acf-field-group.acf-admin-single-taxonomy .notice-success .acf-item-saved-links a:after,.rtl.acf-field-group.acf-admin-single-post-type .notice-success .acf-item-saved-links a:after,.rtl.acf-field-group.acf-admin-single-options-page .notice-success .acf-item-saved-links a:after,.rtl.acf-internal-post-type.acf-admin-single-taxonomy .notice-success .acf-item-saved-links a:after,.rtl.acf-internal-post-type.acf-admin-single-post-type .notice-success .acf-item-saved-links a:after,.rtl.acf-internal-post-type.acf-admin-single-options-page .notice-success .acf-item-saved-links a:after{left:unset;right:6px}.acf-pro-label{display:inline-flex;align-items:center;min-height:22px;border:none;font-size:11px;text-transform:uppercase;text-decoration:none;color:#fff}.acf-admin-page .acf-field .acf-notice{display:flex;align-items:center;min-height:40px !important;margin-bottom:6px !important;padding-top:6px !important;padding-left:40px !important;padding-bottom:6px !important;margin:0 0 15px;background:#edf2ff;color:#344054 !important;border-color:#2183b9;border-radius:6px}.acf-admin-page .acf-field .acf-notice:after{top:8px;left:8px;width:22px;height:22px}.acf-admin-page .acf-field .acf-notice:before{top:12px;left:12px;width:14px;height:14px}.acf-admin-page .acf-field .acf-notice.-error{background:#f7eeeb;border-color:#f1b6b3}.acf-admin-page .acf-field .acf-notice.-success{background:#edf7ef;border-color:#b6deb9}.acf-admin-page .acf-field .acf-notice.-warning{background:#fdf8eb;border-color:#f4dbb4}.acf-admin-page #wpcontent{line-height:140%}.acf-admin-page a{color:#0783be}.acf-h1,.acf-admin-page #tmpl-acf-field-group-pro-features h1,.acf-admin-page #acf-field-group-pro-features h1,.acf-admin-page h1,.acf-headerbar h1{font-size:21px;font-weight:400}.acf-h2,.acf-no-field-groups-wrapper .acf-no-field-groups-inner h2,.acf-no-field-groups-wrapper .acf-no-taxonomies-inner h2,.acf-no-field-groups-wrapper .acf-no-post-types-inner h2,.acf-no-field-groups-wrapper .acf-no-options-pages-inner h2,.acf-no-field-groups-wrapper .acf-options-preview-inner h2,.acf-no-taxonomies-wrapper .acf-no-field-groups-inner h2,.acf-no-taxonomies-wrapper .acf-no-taxonomies-inner h2,.acf-no-taxonomies-wrapper .acf-no-post-types-inner h2,.acf-no-taxonomies-wrapper .acf-no-options-pages-inner h2,.acf-no-taxonomies-wrapper .acf-options-preview-inner h2,.acf-no-post-types-wrapper .acf-no-field-groups-inner h2,.acf-no-post-types-wrapper .acf-no-taxonomies-inner h2,.acf-no-post-types-wrapper .acf-no-post-types-inner h2,.acf-no-post-types-wrapper .acf-no-options-pages-inner h2,.acf-no-post-types-wrapper .acf-options-preview-inner h2,.acf-no-options-pages-wrapper .acf-no-field-groups-inner h2,.acf-no-options-pages-wrapper .acf-no-taxonomies-inner h2,.acf-no-options-pages-wrapper .acf-no-post-types-inner h2,.acf-no-options-pages-wrapper .acf-no-options-pages-inner h2,.acf-no-options-pages-wrapper .acf-options-preview-inner h2,.acf-options-preview-wrapper .acf-no-field-groups-inner h2,.acf-options-preview-wrapper .acf-no-taxonomies-inner h2,.acf-options-preview-wrapper .acf-no-post-types-inner h2,.acf-options-preview-wrapper .acf-no-options-pages-inner h2,.acf-options-preview-wrapper .acf-options-preview-inner h2,.acf-page-title,.acf-admin-page h2,.acf-headerbar h2{font-size:18px;font-weight:400}.acf-h3,.acf-admin-page h3,.acf-headerbar h3,.acf-admin-page .postbox .postbox-header h2,.acf-admin-page .postbox .postbox-header h3,.acf-admin-page .postbox .title h2,.acf-admin-page .postbox .title h3,.acf-admin-page .acf-box .postbox-header h2,.acf-admin-page .acf-box .postbox-header h3,.acf-admin-page .acf-box .title h2,.acf-admin-page .acf-box .title h3,.acf-postbox-header h2.acf-postbox-title,.acf-admin-page #poststuff .postbox-header h2,.acf-admin-page #poststuff .postbox-header h3{font-size:16px;font-weight:400}.acf-admin-page .p1{font-size:15px}.acf-admin-page .p2,.acf-admin-page .acf-no-field-groups-wrapper .acf-no-field-groups-inner p,.acf-no-field-groups-wrapper .acf-no-field-groups-inner .acf-admin-page p,.acf-admin-page .acf-no-field-groups-wrapper .acf-no-taxonomies-inner p,.acf-no-field-groups-wrapper .acf-no-taxonomies-inner .acf-admin-page p,.acf-admin-page .acf-no-field-groups-wrapper .acf-no-post-types-inner p,.acf-no-field-groups-wrapper .acf-no-post-types-inner .acf-admin-page p,.acf-admin-page .acf-no-field-groups-wrapper .acf-no-options-pages-inner p,.acf-no-field-groups-wrapper .acf-no-options-pages-inner .acf-admin-page p,.acf-admin-page .acf-no-field-groups-wrapper .acf-options-preview-inner p,.acf-no-field-groups-wrapper .acf-options-preview-inner .acf-admin-page p,.acf-admin-page .acf-no-taxonomies-wrapper .acf-no-field-groups-inner p,.acf-no-taxonomies-wrapper .acf-no-field-groups-inner .acf-admin-page p,.acf-admin-page .acf-no-taxonomies-wrapper .acf-no-taxonomies-inner p,.acf-no-taxonomies-wrapper .acf-no-taxonomies-inner .acf-admin-page p,.acf-admin-page .acf-no-taxonomies-wrapper .acf-no-post-types-inner p,.acf-no-taxonomies-wrapper .acf-no-post-types-inner .acf-admin-page p,.acf-admin-page .acf-no-taxonomies-wrapper .acf-no-options-pages-inner p,.acf-no-taxonomies-wrapper .acf-no-options-pages-inner .acf-admin-page p,.acf-admin-page .acf-no-taxonomies-wrapper .acf-options-preview-inner p,.acf-no-taxonomies-wrapper .acf-options-preview-inner .acf-admin-page p,.acf-admin-page .acf-no-post-types-wrapper .acf-no-field-groups-inner p,.acf-no-post-types-wrapper .acf-no-field-groups-inner .acf-admin-page p,.acf-admin-page .acf-no-post-types-wrapper .acf-no-taxonomies-inner p,.acf-no-post-types-wrapper .acf-no-taxonomies-inner .acf-admin-page p,.acf-admin-page .acf-no-post-types-wrapper .acf-no-post-types-inner p,.acf-no-post-types-wrapper .acf-no-post-types-inner .acf-admin-page p,.acf-admin-page .acf-no-post-types-wrapper .acf-no-options-pages-inner p,.acf-no-post-types-wrapper .acf-no-options-pages-inner .acf-admin-page p,.acf-admin-page .acf-no-post-types-wrapper .acf-options-preview-inner p,.acf-no-post-types-wrapper .acf-options-preview-inner .acf-admin-page p,.acf-admin-page .acf-no-options-pages-wrapper .acf-no-field-groups-inner p,.acf-no-options-pages-wrapper .acf-no-field-groups-inner .acf-admin-page p,.acf-admin-page .acf-no-options-pages-wrapper .acf-no-taxonomies-inner p,.acf-no-options-pages-wrapper .acf-no-taxonomies-inner .acf-admin-page p,.acf-admin-page .acf-no-options-pages-wrapper .acf-no-post-types-inner p,.acf-no-options-pages-wrapper .acf-no-post-types-inner .acf-admin-page p,.acf-admin-page .acf-no-options-pages-wrapper .acf-no-options-pages-inner p,.acf-no-options-pages-wrapper .acf-no-options-pages-inner .acf-admin-page p,.acf-admin-page .acf-no-options-pages-wrapper .acf-options-preview-inner p,.acf-no-options-pages-wrapper .acf-options-preview-inner .acf-admin-page p,.acf-admin-page .acf-options-preview-wrapper .acf-no-field-groups-inner p,.acf-options-preview-wrapper .acf-no-field-groups-inner .acf-admin-page p,.acf-admin-page .acf-options-preview-wrapper .acf-no-taxonomies-inner p,.acf-options-preview-wrapper .acf-no-taxonomies-inner .acf-admin-page p,.acf-admin-page .acf-options-preview-wrapper .acf-no-post-types-inner p,.acf-options-preview-wrapper .acf-no-post-types-inner .acf-admin-page p,.acf-admin-page .acf-options-preview-wrapper .acf-no-options-pages-inner p,.acf-options-preview-wrapper .acf-no-options-pages-inner .acf-admin-page p,.acf-admin-page .acf-options-preview-wrapper .acf-options-preview-inner p,.acf-options-preview-wrapper .acf-options-preview-inner .acf-admin-page p,.acf-admin-page #acf-admin-tools .acf-meta-box-wrap .acf-fields .acf-label,#acf-admin-tools .acf-meta-box-wrap .acf-fields .acf-admin-page .acf-label{font-size:14px}.acf-admin-page .p3,.acf-admin-page .acf-internal-post-type .wp-list-table .post-state,.acf-internal-post-type .wp-list-table .acf-admin-page .post-state,.acf-admin-page .subtitle{font-size:13.5px}.acf-admin-page .p4,.acf-admin-page .acf-admin-toolbar a.acf-admin-toolbar-upgrade-btn p,.acf-admin-toolbar a.acf-admin-toolbar-upgrade-btn .acf-admin-page p,.acf-admin-page #acf-update-information .form-table th,#acf-update-information .form-table .acf-admin-page th,.acf-admin-page #acf-update-information .form-table td,#acf-update-information .form-table .acf-admin-page td,.acf-admin-page #acf-admin-tools.tool-export .acf-panel h3,#acf-admin-tools.tool-export .acf-panel .acf-admin-page h3,.acf-admin-page .acf-btn.acf-btn-sm,.acf-admin-page .acf-admin-toolbar .acf-tab,.acf-admin-toolbar .acf-admin-page .acf-tab,.acf-admin-page .acf-options-preview .acf-options-pages-preview-upgrade-button p,.acf-options-preview .acf-options-pages-preview-upgrade-button .acf-admin-page p,.acf-admin-page .acf-no-options-pages-wrapper .acf-options-pages-preview-upgrade-button p,.acf-no-options-pages-wrapper .acf-options-pages-preview-upgrade-button .acf-admin-page p,.acf-admin-page .acf-internal-post-type .subsubsub li,.acf-internal-post-type .subsubsub .acf-admin-page li,.acf-admin-page .acf-internal-post-type .wp-list-table tbody th,.acf-internal-post-type .wp-list-table tbody .acf-admin-page th,.acf-admin-page .acf-internal-post-type .wp-list-table tbody td,.acf-internal-post-type .wp-list-table tbody .acf-admin-page td,.acf-admin-page .acf-internal-post-type .wp-list-table thead th,.acf-internal-post-type .wp-list-table thead .acf-admin-page th,.acf-admin-page .acf-internal-post-type .wp-list-table thead td,.acf-internal-post-type .wp-list-table thead .acf-admin-page td,.acf-admin-page .acf-internal-post-type .wp-list-table tfoot th,.acf-internal-post-type .wp-list-table tfoot .acf-admin-page th,.acf-admin-page .acf-internal-post-type .wp-list-table tfoot td,.acf-internal-post-type .wp-list-table tfoot .acf-admin-page td,.acf-admin-page .acf-input .select2-container.-acf .select2-selection__rendered,.acf-admin-page .rule-groups .select2-container.-acf .select2-selection__rendered,.acf-admin-page .button,.acf-admin-page input[type=text],.acf-admin-page input[type=search],.acf-admin-page input[type=number],.acf-admin-page textarea,.acf-admin-page select{font-size:13px}.acf-admin-page .p5,.acf-admin-page .acf-modal.acf-browse-fields-modal .acf-field-picker .acf-modal-content .acf-field-types-tab .acf-field-type .field-type-label,.acf-modal.acf-browse-fields-modal .acf-field-picker .acf-modal-content .acf-field-types-tab .acf-field-type .acf-admin-page .field-type-label,.acf-admin-page .acf-modal.acf-browse-fields-modal .acf-field-picker .acf-modal-content .acf-field-type-search-results .acf-field-type .field-type-label,.acf-modal.acf-browse-fields-modal .acf-field-picker .acf-modal-content .acf-field-type-search-results .acf-field-type .acf-admin-page .field-type-label,.acf-admin-page .acf-internal-post-type .row-actions,.acf-internal-post-type .acf-admin-page .row-actions,.acf-admin-page .acf-notice .button,.acf-admin-page .notice .button,.acf-admin-page #lost-connection-notice .button{font-size:12.5px}.acf-admin-page .p6,.acf-admin-page #acf-update-information .acf-update-changelog p em,#acf-update-information .acf-update-changelog p .acf-admin-page em,.acf-admin-page .acf-no-field-groups-wrapper .acf-no-field-groups-inner p.acf-small,.acf-no-field-groups-wrapper .acf-no-field-groups-inner .acf-admin-page p.acf-small,.acf-admin-page .acf-no-field-groups-wrapper .acf-no-taxonomies-inner p.acf-small,.acf-no-field-groups-wrapper .acf-no-taxonomies-inner .acf-admin-page p.acf-small,.acf-admin-page .acf-no-field-groups-wrapper .acf-no-post-types-inner p.acf-small,.acf-no-field-groups-wrapper .acf-no-post-types-inner .acf-admin-page p.acf-small,.acf-admin-page .acf-no-field-groups-wrapper .acf-no-options-pages-inner p.acf-small,.acf-no-field-groups-wrapper .acf-no-options-pages-inner .acf-admin-page p.acf-small,.acf-admin-page .acf-no-field-groups-wrapper .acf-options-preview-inner p.acf-small,.acf-no-field-groups-wrapper .acf-options-preview-inner .acf-admin-page p.acf-small,.acf-admin-page .acf-no-taxonomies-wrapper .acf-no-field-groups-inner p.acf-small,.acf-no-taxonomies-wrapper .acf-no-field-groups-inner .acf-admin-page p.acf-small,.acf-admin-page .acf-no-taxonomies-wrapper .acf-no-taxonomies-inner p.acf-small,.acf-no-taxonomies-wrapper .acf-no-taxonomies-inner .acf-admin-page p.acf-small,.acf-admin-page .acf-no-taxonomies-wrapper .acf-no-post-types-inner p.acf-small,.acf-no-taxonomies-wrapper .acf-no-post-types-inner .acf-admin-page p.acf-small,.acf-admin-page .acf-no-taxonomies-wrapper .acf-no-options-pages-inner p.acf-small,.acf-no-taxonomies-wrapper .acf-no-options-pages-inner .acf-admin-page p.acf-small,.acf-admin-page .acf-no-taxonomies-wrapper .acf-options-preview-inner p.acf-small,.acf-no-taxonomies-wrapper .acf-options-preview-inner .acf-admin-page p.acf-small,.acf-admin-page .acf-no-post-types-wrapper .acf-no-field-groups-inner p.acf-small,.acf-no-post-types-wrapper .acf-no-field-groups-inner .acf-admin-page p.acf-small,.acf-admin-page .acf-no-post-types-wrapper .acf-no-taxonomies-inner p.acf-small,.acf-no-post-types-wrapper .acf-no-taxonomies-inner .acf-admin-page p.acf-small,.acf-admin-page .acf-no-post-types-wrapper .acf-no-post-types-inner p.acf-small,.acf-no-post-types-wrapper .acf-no-post-types-inner .acf-admin-page p.acf-small,.acf-admin-page .acf-no-post-types-wrapper .acf-no-options-pages-inner p.acf-small,.acf-no-post-types-wrapper .acf-no-options-pages-inner .acf-admin-page p.acf-small,.acf-admin-page .acf-no-post-types-wrapper .acf-options-preview-inner p.acf-small,.acf-no-post-types-wrapper .acf-options-preview-inner .acf-admin-page p.acf-small,.acf-admin-page .acf-no-options-pages-wrapper .acf-no-field-groups-inner p.acf-small,.acf-no-options-pages-wrapper .acf-no-field-groups-inner .acf-admin-page p.acf-small,.acf-admin-page .acf-no-options-pages-wrapper .acf-no-taxonomies-inner p.acf-small,.acf-no-options-pages-wrapper .acf-no-taxonomies-inner .acf-admin-page p.acf-small,.acf-admin-page .acf-no-options-pages-wrapper .acf-no-post-types-inner p.acf-small,.acf-no-options-pages-wrapper .acf-no-post-types-inner .acf-admin-page p.acf-small,.acf-admin-page .acf-no-options-pages-wrapper .acf-no-options-pages-inner p.acf-small,.acf-no-options-pages-wrapper .acf-no-options-pages-inner .acf-admin-page p.acf-small,.acf-admin-page .acf-no-options-pages-wrapper .acf-options-preview-inner p.acf-small,.acf-no-options-pages-wrapper .acf-options-preview-inner .acf-admin-page p.acf-small,.acf-admin-page .acf-options-preview-wrapper .acf-no-field-groups-inner p.acf-small,.acf-options-preview-wrapper .acf-no-field-groups-inner .acf-admin-page p.acf-small,.acf-admin-page .acf-options-preview-wrapper .acf-no-taxonomies-inner p.acf-small,.acf-options-preview-wrapper .acf-no-taxonomies-inner .acf-admin-page p.acf-small,.acf-admin-page .acf-options-preview-wrapper .acf-no-post-types-inner p.acf-small,.acf-options-preview-wrapper .acf-no-post-types-inner .acf-admin-page p.acf-small,.acf-admin-page .acf-options-preview-wrapper .acf-no-options-pages-inner p.acf-small,.acf-options-preview-wrapper .acf-no-options-pages-inner .acf-admin-page p.acf-small,.acf-admin-page .acf-options-preview-wrapper .acf-options-preview-inner p.acf-small,.acf-options-preview-wrapper .acf-options-preview-inner .acf-admin-page p.acf-small,.acf-admin-page .acf-internal-post-type .row-actions,.acf-internal-post-type .acf-admin-page .row-actions,.acf-admin-page .acf-small{font-size:12px}.acf-admin-page .p7,.acf-admin-page .acf-tooltip,.acf-admin-page .acf-notice p.help,.acf-admin-page .notice p.help,.acf-admin-page #lost-connection-notice p.help{font-size:11.5px}.acf-admin-page .p8{font-size:11px}.acf-page-title{color:#344054}.acf-admin-page .acf-settings-wrap h1{display:none !important}.acf-admin-page #acf-admin-tools h1:not(.acf-field-group-pro-features-title,.acf-field-group-pro-features-title-sm){display:none !important}.acf-admin-page a:focus{box-shadow:none;outline:none}.acf-admin-page a:focus-visible{box-shadow:0 0 0 1px #4f94d4,0 0 2px 1px rgba(79,148,212,.8);outline:1px solid rgba(0,0,0,0)}.acf-admin-page input[type=text],.acf-admin-page input[type=search],.acf-admin-page input[type=number],.acf-admin-page textarea,.acf-admin-page select{box-sizing:border-box;height:40px;padding-right:12px;padding-left:12px;background-color:#fff;border-color:#d0d5dd;box-shadow:0px 1px 2px rgba(16,24,40,.1);border-radius:6px;color:#344054}.acf-admin-page input[type=text]:focus,.acf-admin-page input[type=search]:focus,.acf-admin-page input[type=number]:focus,.acf-admin-page textarea:focus,.acf-admin-page select:focus{outline:3px solid #ebf5fa;border-color:#399ccb}.acf-admin-page input[type=text]:disabled,.acf-admin-page input[type=search]:disabled,.acf-admin-page input[type=number]:disabled,.acf-admin-page textarea:disabled,.acf-admin-page select:disabled{background-color:#f9fafb;color:rgb(128.2255319149,137.7574468085,157.7744680851)}.acf-admin-page input[type=text]::placeholder,.acf-admin-page input[type=search]::placeholder,.acf-admin-page input[type=number]::placeholder,.acf-admin-page textarea::placeholder,.acf-admin-page select::placeholder{color:#98a2b3}.acf-admin-page input[type=text]:read-only{background-color:#f9fafb;color:#98a2b3}.acf-admin-page .acf-field.acf-field-number .acf-label,.acf-admin-page .acf-field.acf-field-number .acf-input input[type=number]{max-width:180px}.acf-admin-page textarea{box-sizing:border-box;padding-top:10px;padding-bottom:10px;height:80px;min-height:56px}.acf-admin-page select{min-width:160px;max-width:100%;padding-right:40px;padding-left:12px;background-image:url("../../images/icons/icon-chevron-down.svg");background-position:right 10px top 50%;background-size:20px}.acf-admin-page select:hover,.acf-admin-page select:focus{color:#0783be}.acf-admin-page select::before{content:"";display:block;position:absolute;top:5px;left:5px;width:20px;height:20px}.acf-admin-page.rtl select{padding-right:12px;padding-left:40px;background-position:left 10px top 50%}.acf-admin-page input[type=radio],.acf-admin-page input[type=checkbox]{box-sizing:border-box;width:16px;height:16px;padding:0;border-width:1px;border-style:solid;border-color:#98a2b3;background:#fff;box-shadow:none}.acf-admin-page input[type=radio]:hover,.acf-admin-page input[type=checkbox]:hover{background-color:#ebf5fa;border-color:#0783be}.acf-admin-page input[type=radio]:checked,.acf-admin-page input[type=radio]:focus-visible,.acf-admin-page input[type=checkbox]:checked,.acf-admin-page input[type=checkbox]:focus-visible{background-color:#ebf5fa;border-color:#0783be}.acf-admin-page input[type=radio]:checked:before,.acf-admin-page input[type=radio]:focus-visible:before,.acf-admin-page input[type=checkbox]:checked:before,.acf-admin-page input[type=checkbox]:focus-visible:before{content:"";position:relative;top:-1px;left:-1px;width:16px;height:16px;margin:0;padding:0;background-color:rgba(0,0,0,0);background-size:cover;background-repeat:no-repeat;background-position:center}.acf-admin-page input[type=radio]:active,.acf-admin-page input[type=checkbox]:active{box-shadow:0px 0px 0px 3px #ebf5fa,0px 0px 0px rgba(255,54,54,.25)}.acf-admin-page input[type=radio]:disabled,.acf-admin-page input[type=checkbox]:disabled{background-color:#f9fafb;border-color:#d0d5dd}.acf-admin-page.rtl input[type=radio]:checked:before,.acf-admin-page.rtl input[type=radio]:focus-visible:before,.acf-admin-page.rtl input[type=checkbox]:checked:before,.acf-admin-page.rtl input[type=checkbox]:focus-visible:before{left:1px}.acf-admin-page input[type=radio]:checked:before,.acf-admin-page input[type=radio]:focus:before{background-image:url("../../images/field-states/radio-active.svg")}.acf-admin-page input[type=checkbox]:checked:before,.acf-admin-page input[type=checkbox]:focus:before{background-image:url("../../images/field-states/checkbox-active.svg")}.acf-admin-page .acf-radio-list li input[type=radio],.acf-admin-page .acf-radio-list li input[type=checkbox],.acf-admin-page .acf-checkbox-list li input[type=radio],.acf-admin-page .acf-checkbox-list li input[type=checkbox]{margin-right:6px}.acf-admin-page .acf-radio-list.acf-bl li,.acf-admin-page .acf-checkbox-list.acf-bl li{margin-bottom:8px}.acf-admin-page .acf-radio-list.acf-bl li:last-of-type,.acf-admin-page .acf-checkbox-list.acf-bl li:last-of-type{margin-bottom:0}.acf-admin-page .acf-radio-list label,.acf-admin-page .acf-checkbox-list label{display:flex;align-items:center;align-content:center}.acf-admin-page .acf-switch{width:42px;height:24px;border:none;background-color:#d0d5dd;border-radius:12px}.acf-admin-page .acf-switch:hover{background-color:#98a2b3}.acf-admin-page .acf-switch:active{box-shadow:0px 0px 0px 3px #ebf5fa,0px 0px 0px rgba(255,54,54,.25)}.acf-admin-page .acf-switch.-on{background-color:#0783be}.acf-admin-page .acf-switch.-on:hover{background-color:#066998}.acf-admin-page .acf-switch.-on .acf-switch-slider{left:20px}.acf-admin-page .acf-switch .acf-switch-off,.acf-admin-page .acf-switch .acf-switch-on{visibility:hidden}.acf-admin-page .acf-switch .acf-switch-slider{width:20px;height:20px;border:none;border-radius:100px;box-shadow:0px 1px 3px rgba(16,24,40,.1),0px 1px 2px rgba(16,24,40,.06)}.acf-admin-page .acf-field-true-false{display:flex;align-items:flex-start}.acf-admin-page .acf-field-true-false .acf-label{order:2;display:block;align-items:center;max-width:550px !important;margin-top:2px;margin-bottom:0;margin-left:12px}.acf-admin-page .acf-field-true-false .acf-label label{margin-bottom:0}.acf-admin-page .acf-field-true-false .acf-label .acf-tip{margin-left:12px}.acf-admin-page .acf-field-true-false .acf-label .description{display:block;margin-top:2px;margin-left:0}.acf-admin-page.rtl .acf-field-true-false .acf-label{margin-right:12px;margin-left:0}.acf-admin-page.rtl .acf-field-true-false .acf-tip{margin-right:12px;margin-left:0}.acf-admin-page input::file-selector-button{box-sizing:border-box;min-height:40px;margin-right:16px;padding-top:8px;padding-right:16px;padding-bottom:8px;padding-left:16px;background-color:rgba(0,0,0,0);color:#0783be !important;border-radius:6px;border-width:1px;border-style:solid;border-color:#0783be;text-decoration:none}.acf-admin-page input::file-selector-button:hover{border-color:#066998;cursor:pointer;color:#066998 !important}.acf-admin-page .button{display:inline-flex;align-items:center;height:40px;padding-right:16px;padding-left:16px;background-color:rgba(0,0,0,0);border-width:1px;border-style:solid;border-color:#0783be;border-radius:6px;color:#0783be}.acf-admin-page .button:hover{background-color:rgb(243.16,249.08,252.04);border-color:#0783be;color:#0783be}.acf-admin-page .button:focus{background-color:rgb(243.16,249.08,252.04);outline:3px solid #ebf5fa;color:#0783be}.acf-admin-page .edit-field-group-header{display:block !important}.acf-admin-page .acf-input .select2-container.-acf .select2-selection,.acf-admin-page .rule-groups .select2-container.-acf .select2-selection{border:none;line-height:1}.acf-admin-page .acf-input .select2-container.-acf .select2-selection__rendered,.acf-admin-page .rule-groups .select2-container.-acf .select2-selection__rendered{box-sizing:border-box;padding-right:0;padding-left:0;background-color:#fff;border-width:1px;border-style:solid;border-color:#d0d5dd;box-shadow:0px 1px 2px rgba(16,24,40,.1);border-radius:6px;color:#344054}.acf-admin-page .acf-input .acf-conditional-select-name,.acf-admin-page .rule-groups .acf-conditional-select-name{min-width:180px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.acf-admin-page .acf-input .acf-conditional-select-id,.acf-admin-page .rule-groups .acf-conditional-select-id{padding-right:30px}.acf-admin-page .acf-input .value .select2-container--focus,.acf-admin-page .rule-groups .value .select2-container--focus{height:40px}.acf-admin-page .acf-input .value .select2-container--open .select2-selection__rendered,.acf-admin-page .rule-groups .value .select2-container--open .select2-selection__rendered{border-color:#399ccb}.acf-admin-page .acf-input .select2-container--focus,.acf-admin-page .rule-groups .select2-container--focus{outline:3px solid #ebf5fa;border-color:#399ccb;border-radius:6px}.acf-admin-page .acf-input .select2-container--focus .select2-selection__rendered,.acf-admin-page .rule-groups .select2-container--focus .select2-selection__rendered{border-color:#399ccb !important}.acf-admin-page .acf-input .select2-container--focus.select2-container--below.select2-container--open .select2-selection__rendered,.acf-admin-page .rule-groups .select2-container--focus.select2-container--below.select2-container--open .select2-selection__rendered{border-bottom-right-radius:0 !important;border-bottom-left-radius:0 !important}.acf-admin-page .acf-input .select2-container--focus.select2-container--above.select2-container--open .select2-selection__rendered,.acf-admin-page .rule-groups .select2-container--focus.select2-container--above.select2-container--open .select2-selection__rendered{border-top-right-radius:0 !important;border-top-left-radius:0 !important}.acf-admin-page .acf-input .select2-container .select2-search--inline .select2-search__field,.acf-admin-page .rule-groups .select2-container .select2-search--inline .select2-search__field{margin:0;padding-left:6px}.acf-admin-page .acf-input .select2-container .select2-search--inline .select2-search__field:focus,.acf-admin-page .rule-groups .select2-container .select2-search--inline .select2-search__field:focus{outline:none;border:none}.acf-admin-page .acf-input .select2-container--default .select2-selection--multiple .select2-selection__rendered,.acf-admin-page .rule-groups .select2-container--default .select2-selection--multiple .select2-selection__rendered{padding-top:0;padding-right:6px;padding-bottom:0;padding-left:6px}.acf-admin-page .acf-input .select2-selection__clear,.acf-admin-page .rule-groups .select2-selection__clear{width:18px;height:18px;margin-top:12px;margin-right:1px;text-indent:100%;white-space:nowrap;overflow:hidden;color:#fff}.acf-admin-page .acf-input .select2-selection__clear:before,.acf-admin-page .rule-groups .select2-selection__clear:before{content:"";display:block;width:16px;height:16px;top:0;left:0;border:none;border-radius:0;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;-webkit-mask-image:url("../../images/icons/icon-close.svg");mask-image:url("../../images/icons/icon-close.svg");background-color:#98a2b3}.acf-admin-page .acf-input .select2-selection__clear:hover::before,.acf-admin-page .rule-groups .select2-selection__clear:hover::before{background-color:#0783be}.acf-admin-page .acf-label{display:flex;align-items:center;justify-content:space-between}.acf-admin-page .acf-label .acf-icon-help{width:18px;height:18px;background-color:#98a2b3}.acf-admin-page .acf-label label{margin-bottom:0}.acf-admin-page .acf-label .description{margin-top:2px}.acf-admin-page .acf-field-setting-name .acf-tip{position:absolute;top:0;left:654px;color:#98a2b3}.rtl.acf-admin-page .acf-field-setting-name .acf-tip{left:auto;right:654px}.acf-admin-page .acf-field-setting-name .acf-tip .acf-icon-help{width:18px;height:18px}.acf-admin-page .acf-field-setting-type .select2-container.-acf,.acf-admin-page .acf-field-permalink-rewrite .select2-container.-acf,.acf-admin-page .acf-field-query-var .select2-container.-acf,.acf-admin-page .acf-field-capability .select2-container.-acf,.acf-admin-page .acf-field-parent-slug .select2-container.-acf,.acf-admin-page .acf-field-data-storage .select2-container.-acf,.acf-admin-page .acf-field-manage-terms .select2-container.-acf,.acf-admin-page .acf-field-edit-terms .select2-container.-acf,.acf-admin-page .acf-field-delete-terms .select2-container.-acf,.acf-admin-page .acf-field-assign-terms .select2-container.-acf,.acf-admin-page .acf-field-meta-box .select2-container.-acf,.acf-admin-page .rule-groups .select2-container.-acf{min-height:40px}.acf-admin-page .acf-field-setting-type .select2-container--default .select2-selection--single .select2-selection__rendered,.acf-admin-page .acf-field-permalink-rewrite .select2-container--default .select2-selection--single .select2-selection__rendered,.acf-admin-page .acf-field-query-var .select2-container--default .select2-selection--single .select2-selection__rendered,.acf-admin-page .acf-field-capability .select2-container--default .select2-selection--single .select2-selection__rendered,.acf-admin-page .acf-field-parent-slug .select2-container--default .select2-selection--single .select2-selection__rendered,.acf-admin-page .acf-field-data-storage .select2-container--default .select2-selection--single .select2-selection__rendered,.acf-admin-page .acf-field-manage-terms .select2-container--default .select2-selection--single .select2-selection__rendered,.acf-admin-page .acf-field-edit-terms .select2-container--default .select2-selection--single .select2-selection__rendered,.acf-admin-page .acf-field-delete-terms .select2-container--default .select2-selection--single .select2-selection__rendered,.acf-admin-page .acf-field-assign-terms .select2-container--default .select2-selection--single .select2-selection__rendered,.acf-admin-page .acf-field-meta-box .select2-container--default .select2-selection--single .select2-selection__rendered,.acf-admin-page .rule-groups .select2-container--default .select2-selection--single .select2-selection__rendered{display:flex;align-items:center;position:relative;z-index:800;min-height:40px;padding-top:0;padding-right:12px;padding-bottom:0;padding-left:12px}.acf-admin-page .acf-field-setting-type .select2-container--default .select2-selection--single .field-type-icon,.acf-admin-page .acf-field-permalink-rewrite .select2-container--default .select2-selection--single .field-type-icon,.acf-admin-page .acf-field-query-var .select2-container--default .select2-selection--single .field-type-icon,.acf-admin-page .acf-field-capability .select2-container--default .select2-selection--single .field-type-icon,.acf-admin-page .acf-field-parent-slug .select2-container--default .select2-selection--single .field-type-icon,.acf-admin-page .acf-field-data-storage .select2-container--default .select2-selection--single .field-type-icon,.acf-admin-page .acf-field-manage-terms .select2-container--default .select2-selection--single .field-type-icon,.acf-admin-page .acf-field-edit-terms .select2-container--default .select2-selection--single .field-type-icon,.acf-admin-page .acf-field-delete-terms .select2-container--default .select2-selection--single .field-type-icon,.acf-admin-page .acf-field-assign-terms .select2-container--default .select2-selection--single .field-type-icon,.acf-admin-page .acf-field-meta-box .select2-container--default .select2-selection--single .field-type-icon,.acf-admin-page .rule-groups .select2-container--default .select2-selection--single .field-type-icon{top:auto;width:18px;height:18px;margin-right:2px}.acf-admin-page .acf-field-setting-type .select2-container--default .select2-selection--single .field-type-icon:before,.acf-admin-page .acf-field-permalink-rewrite .select2-container--default .select2-selection--single .field-type-icon:before,.acf-admin-page .acf-field-query-var .select2-container--default .select2-selection--single .field-type-icon:before,.acf-admin-page .acf-field-capability .select2-container--default .select2-selection--single .field-type-icon:before,.acf-admin-page .acf-field-parent-slug .select2-container--default .select2-selection--single .field-type-icon:before,.acf-admin-page .acf-field-data-storage .select2-container--default .select2-selection--single .field-type-icon:before,.acf-admin-page .acf-field-manage-terms .select2-container--default .select2-selection--single .field-type-icon:before,.acf-admin-page .acf-field-edit-terms .select2-container--default .select2-selection--single .field-type-icon:before,.acf-admin-page .acf-field-delete-terms .select2-container--default .select2-selection--single .field-type-icon:before,.acf-admin-page .acf-field-assign-terms .select2-container--default .select2-selection--single .field-type-icon:before,.acf-admin-page .acf-field-meta-box .select2-container--default .select2-selection--single .field-type-icon:before,.acf-admin-page .rule-groups .select2-container--default .select2-selection--single .field-type-icon:before{width:9px;height:9px}.acf-admin-page .acf-field-setting-type .select2-container--open .select2-selection__rendered,.acf-admin-page .acf-field-permalink-rewrite .select2-container--open .select2-selection__rendered,.acf-admin-page .acf-field-query-var .select2-container--open .select2-selection__rendered,.acf-admin-page .acf-field-capability .select2-container--open .select2-selection__rendered,.acf-admin-page .acf-field-parent-slug .select2-container--open .select2-selection__rendered,.acf-admin-page .acf-field-data-storage .select2-container--open .select2-selection__rendered,.acf-admin-page .acf-field-manage-terms .select2-container--open .select2-selection__rendered,.acf-admin-page .acf-field-edit-terms .select2-container--open .select2-selection__rendered,.acf-admin-page .acf-field-delete-terms .select2-container--open .select2-selection__rendered,.acf-admin-page .acf-field-assign-terms .select2-container--open .select2-selection__rendered,.acf-admin-page .acf-field-meta-box .select2-container--open .select2-selection__rendered,.acf-admin-page .rule-groups .select2-container--open .select2-selection__rendered{border-color:#6bb5d8 !important;border-bottom-color:#d0d5dd !important}.acf-admin-page .acf-field-setting-type .select2-container--open.select2-container--below .select2-selection__rendered,.acf-admin-page .acf-field-permalink-rewrite .select2-container--open.select2-container--below .select2-selection__rendered,.acf-admin-page .acf-field-query-var .select2-container--open.select2-container--below .select2-selection__rendered,.acf-admin-page .acf-field-capability .select2-container--open.select2-container--below .select2-selection__rendered,.acf-admin-page .acf-field-parent-slug .select2-container--open.select2-container--below .select2-selection__rendered,.acf-admin-page .acf-field-data-storage .select2-container--open.select2-container--below .select2-selection__rendered,.acf-admin-page .acf-field-manage-terms .select2-container--open.select2-container--below .select2-selection__rendered,.acf-admin-page .acf-field-edit-terms .select2-container--open.select2-container--below .select2-selection__rendered,.acf-admin-page .acf-field-delete-terms .select2-container--open.select2-container--below .select2-selection__rendered,.acf-admin-page .acf-field-assign-terms .select2-container--open.select2-container--below .select2-selection__rendered,.acf-admin-page .acf-field-meta-box .select2-container--open.select2-container--below .select2-selection__rendered,.acf-admin-page .rule-groups .select2-container--open.select2-container--below .select2-selection__rendered{border-bottom-right-radius:0 !important;border-bottom-left-radius:0 !important}.acf-admin-page .acf-field-setting-type .select2-container--open.select2-container--above .select2-selection__rendered,.acf-admin-page .acf-field-permalink-rewrite .select2-container--open.select2-container--above .select2-selection__rendered,.acf-admin-page .acf-field-query-var .select2-container--open.select2-container--above .select2-selection__rendered,.acf-admin-page .acf-field-capability .select2-container--open.select2-container--above .select2-selection__rendered,.acf-admin-page .acf-field-parent-slug .select2-container--open.select2-container--above .select2-selection__rendered,.acf-admin-page .acf-field-data-storage .select2-container--open.select2-container--above .select2-selection__rendered,.acf-admin-page .acf-field-manage-terms .select2-container--open.select2-container--above .select2-selection__rendered,.acf-admin-page .acf-field-edit-terms .select2-container--open.select2-container--above .select2-selection__rendered,.acf-admin-page .acf-field-delete-terms .select2-container--open.select2-container--above .select2-selection__rendered,.acf-admin-page .acf-field-assign-terms .select2-container--open.select2-container--above .select2-selection__rendered,.acf-admin-page .acf-field-meta-box .select2-container--open.select2-container--above .select2-selection__rendered,.acf-admin-page .rule-groups .select2-container--open.select2-container--above .select2-selection__rendered{border-top-right-radius:0 !important;border-top-left-radius:0 !important;border-bottom-color:#6bb5d8 !important;border-top-color:#d0d5dd !important}.acf-admin-page .acf-field-setting-type .acf-selection.has-icon,.acf-admin-page .acf-field-permalink-rewrite .acf-selection.has-icon,.acf-admin-page .acf-field-query-var .acf-selection.has-icon,.acf-admin-page .acf-field-capability .acf-selection.has-icon,.acf-admin-page .acf-field-parent-slug .acf-selection.has-icon,.acf-admin-page .acf-field-data-storage .acf-selection.has-icon,.acf-admin-page .acf-field-manage-terms .acf-selection.has-icon,.acf-admin-page .acf-field-edit-terms .acf-selection.has-icon,.acf-admin-page .acf-field-delete-terms .acf-selection.has-icon,.acf-admin-page .acf-field-assign-terms .acf-selection.has-icon,.acf-admin-page .acf-field-meta-box .acf-selection.has-icon,.acf-admin-page .rule-groups .acf-selection.has-icon{margin-left:6px}.rtl.acf-admin-page .acf-field-setting-type .acf-selection.has-icon,.acf-admin-page .acf-field-permalink-rewrite .acf-selection.has-icon,.acf-admin-page .acf-field-query-var .acf-selection.has-icon,.acf-admin-page .acf-field-capability .acf-selection.has-icon,.acf-admin-page .acf-field-parent-slug .acf-selection.has-icon,.acf-admin-page .acf-field-data-storage .acf-selection.has-icon,.acf-admin-page .acf-field-manage-terms .acf-selection.has-icon,.acf-admin-page .acf-field-edit-terms .acf-selection.has-icon,.acf-admin-page .acf-field-delete-terms .acf-selection.has-icon,.acf-admin-page .acf-field-assign-terms .acf-selection.has-icon,.acf-admin-page .acf-field-meta-box .acf-selection.has-icon,.acf-admin-page .rule-groups .acf-selection.has-icon{margin-right:6px}.acf-admin-page .acf-field-setting-type .select2-selection__arrow,.acf-admin-page .acf-field-permalink-rewrite .select2-selection__arrow,.acf-admin-page .acf-field-query-var .select2-selection__arrow,.acf-admin-page .acf-field-capability .select2-selection__arrow,.acf-admin-page .acf-field-parent-slug .select2-selection__arrow,.acf-admin-page .acf-field-data-storage .select2-selection__arrow,.acf-admin-page .acf-field-manage-terms .select2-selection__arrow,.acf-admin-page .acf-field-edit-terms .select2-selection__arrow,.acf-admin-page .acf-field-delete-terms .select2-selection__arrow,.acf-admin-page .acf-field-assign-terms .select2-selection__arrow,.acf-admin-page .acf-field-meta-box .select2-selection__arrow,.acf-admin-page .rule-groups .select2-selection__arrow{width:20px;height:20px;top:calc(50% - 10px);right:12px;background-color:rgba(0,0,0,0)}.acf-admin-page .acf-field-setting-type .select2-selection__arrow:after,.acf-admin-page .acf-field-permalink-rewrite .select2-selection__arrow:after,.acf-admin-page .acf-field-query-var .select2-selection__arrow:after,.acf-admin-page .acf-field-capability .select2-selection__arrow:after,.acf-admin-page .acf-field-parent-slug .select2-selection__arrow:after,.acf-admin-page .acf-field-data-storage .select2-selection__arrow:after,.acf-admin-page .acf-field-manage-terms .select2-selection__arrow:after,.acf-admin-page .acf-field-edit-terms .select2-selection__arrow:after,.acf-admin-page .acf-field-delete-terms .select2-selection__arrow:after,.acf-admin-page .acf-field-assign-terms .select2-selection__arrow:after,.acf-admin-page .acf-field-meta-box .select2-selection__arrow:after,.acf-admin-page .rule-groups .select2-selection__arrow:after{content:"";display:block;position:absolute;z-index:850;top:1px;left:0;width:20px;height:20px;-webkit-mask-image:url("../../images/icons/icon-chevron-down.svg");mask-image:url("../../images/icons/icon-chevron-down.svg");background-color:#667085;border:none;border-radius:0;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;text-indent:500%;white-space:nowrap;overflow:hidden}.acf-admin-page .acf-field-setting-type .select2-selection__arrow b[role=presentation],.acf-admin-page .acf-field-permalink-rewrite .select2-selection__arrow b[role=presentation],.acf-admin-page .acf-field-query-var .select2-selection__arrow b[role=presentation],.acf-admin-page .acf-field-capability .select2-selection__arrow b[role=presentation],.acf-admin-page .acf-field-parent-slug .select2-selection__arrow b[role=presentation],.acf-admin-page .acf-field-data-storage .select2-selection__arrow b[role=presentation],.acf-admin-page .acf-field-manage-terms .select2-selection__arrow b[role=presentation],.acf-admin-page .acf-field-edit-terms .select2-selection__arrow b[role=presentation],.acf-admin-page .acf-field-delete-terms .select2-selection__arrow b[role=presentation],.acf-admin-page .acf-field-assign-terms .select2-selection__arrow b[role=presentation],.acf-admin-page .acf-field-meta-box .select2-selection__arrow b[role=presentation],.acf-admin-page .rule-groups .select2-selection__arrow b[role=presentation]{display:none}.acf-admin-page .acf-field-setting-type .select2-container--open .select2-selection__arrow:after,.acf-admin-page .acf-field-permalink-rewrite .select2-container--open .select2-selection__arrow:after,.acf-admin-page .acf-field-query-var .select2-container--open .select2-selection__arrow:after,.acf-admin-page .acf-field-capability .select2-container--open .select2-selection__arrow:after,.acf-admin-page .acf-field-parent-slug .select2-container--open .select2-selection__arrow:after,.acf-admin-page .acf-field-data-storage .select2-container--open .select2-selection__arrow:after,.acf-admin-page .acf-field-manage-terms .select2-container--open .select2-selection__arrow:after,.acf-admin-page .acf-field-edit-terms .select2-container--open .select2-selection__arrow:after,.acf-admin-page .acf-field-delete-terms .select2-container--open .select2-selection__arrow:after,.acf-admin-page .acf-field-assign-terms .select2-container--open .select2-selection__arrow:after,.acf-admin-page .acf-field-meta-box .select2-container--open .select2-selection__arrow:after,.acf-admin-page .rule-groups .select2-container--open .select2-selection__arrow:after{-webkit-mask-image:url("../../images/icons/icon-chevron-up.svg");mask-image:url("../../images/icons/icon-chevron-up.svg")}.acf-admin-page .acf-term-search-term-name{background-color:#f9fafb;border-top:1px solid #eaecf0;border-bottom:1px solid #eaecf0;color:#98a2b3;padding:5px 5px 5px 10px;width:100%;margin:0;display:block;font-weight:300}.acf-admin-page .field-type-select-results{position:relative;top:4px;z-index:1002;border-radius:0 0 6px 6px;box-shadow:0px 8px 24px 4px rgba(16,24,40,.12)}.acf-admin-page .field-type-select-results.select2-dropdown--above{display:flex;flex-direction:column-reverse;top:0;border-radius:6px 6px 0 0;z-index:99999}.select2-container.select2-container--open.acf-admin-page .field-type-select-results{box-shadow:0px 0px 0px 3px #ebf5fa,0px 8px 24px 4px rgba(16,24,40,.12)}.acf-admin-page .field-type-select-results .acf-selection.has-icon{margin-left:6px}.rtl.acf-admin-page .field-type-select-results .acf-selection.has-icon{margin-right:6px}.acf-admin-page .field-type-select-results .select2-search{position:relative;margin:0;padding:0}.acf-admin-page .field-type-select-results .select2-search--dropdown:after{content:"";display:block;position:absolute;top:12px;left:13px;width:16px;height:16px;-webkit-mask-image:url("../../images/icons/icon-search.svg");mask-image:url("../../images/icons/icon-search.svg");background-color:#98a2b3;border:none;border-radius:0;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;text-indent:500%;white-space:nowrap;overflow:hidden}.rtl.acf-admin-page .field-type-select-results .select2-search--dropdown:after{right:12px;left:auto}.acf-admin-page .field-type-select-results .select2-search .select2-search__field{padding-left:38px;border-right:0;border-bottom:0;border-left:0;border-radius:0}.rtl.acf-admin-page .field-type-select-results .select2-search .select2-search__field{padding-right:38px;padding-left:0}.acf-admin-page .field-type-select-results .select2-search .select2-search__field:focus{border-top-color:#d0d5dd;outline:0}.acf-admin-page .field-type-select-results .select2-results__options{max-height:440px}.acf-admin-page .field-type-select-results .select2-results__option .select2-results__option--highlighted{background-color:#0783be !important;color:#f9fafb !important}.acf-admin-page .field-type-select-results .select2-results__option .select2-results__option{display:inline-flex;position:relative;width:calc(100% - 24px);min-height:32px;padding-top:0;padding-right:12px;padding-bottom:0;padding-left:12px;align-items:center}.acf-admin-page .field-type-select-results .select2-results__option .select2-results__option .field-type-icon{top:auto;width:18px;height:18px;margin-right:2px;box-shadow:0 0 0 1px #f9fafb}.acf-admin-page .field-type-select-results .select2-results__option .select2-results__option .field-type-icon:before{width:9px;height:9px}.acf-admin-page .field-type-select-results .select2-results__option[aria-selected=true]{background-color:#ebf5fa !important;color:#344054 !important}.acf-admin-page .field-type-select-results .select2-results__option[aria-selected=true]:after{content:"";right:13px;position:absolute;width:16px;height:16px;-webkit-mask-image:url("../../images/icons/icon-check.svg");mask-image:url("../../images/icons/icon-check.svg");background-color:#0783be;border:none;border-radius:0;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;text-indent:500%;white-space:nowrap;overflow:hidden}.rtl.acf-admin-page .field-type-select-results .select2-results__option[aria-selected=true]:after{left:13px;right:auto}.acf-admin-page .field-type-select-results .select2-results__group{display:inline-flex;align-items:center;width:calc(100% - 24px);min-height:25px;background-color:#f9fafb;border-top-width:1px;border-top-style:solid;border-top-color:#eaecf0;border-bottom-width:1px;border-bottom-style:solid;border-bottom-color:#eaecf0;color:#98a2b3;font-size:11px;margin-bottom:0;padding-top:0;padding-right:12px;padding-bottom:0;padding-left:12px;font-weight:normal}.acf-admin-page.rtl .acf-field-setting-type .select2-selection__arrow:after,.acf-admin-page.rtl .acf-field-permalink-rewrite .select2-selection__arrow:after,.acf-admin-page.rtl .acf-field-query-var .select2-selection__arrow:after{right:auto;left:10px}.rtl.post-type-acf-field-group .acf-field-setting-name .acf-tip,.rtl.acf-internal-post-type .acf-field-setting-name .acf-tip{left:auto;right:654px}.acf-internal-post-type .tablenav.top{display:none}.acf-internal-post-type .subsubsub{margin-bottom:3px}.acf-internal-post-type .wp-list-table{margin-top:0;margin-right:0;margin-bottom:0;margin-left:0;border-radius:8px;border:none;overflow:hidden;box-shadow:0px 1px 2px rgba(16,24,40,.1)}.acf-internal-post-type .wp-list-table strong{color:#98a2b3;margin:0}.acf-internal-post-type .wp-list-table a.row-title{font-size:13px !important;font-weight:500}.acf-internal-post-type .wp-list-table th,.acf-internal-post-type .wp-list-table td{color:#344054}.acf-internal-post-type .wp-list-table th.sortable a,.acf-internal-post-type .wp-list-table td.sortable a{padding:0}.acf-internal-post-type .wp-list-table th.check-column,.acf-internal-post-type .wp-list-table td.check-column{padding-top:12px;padding-right:16px;padding-left:16px}@media screen and (max-width: 880px){.acf-internal-post-type .wp-list-table th.check-column,.acf-internal-post-type .wp-list-table td.check-column{vertical-align:top;padding-right:2px;padding-left:10px}}.acf-internal-post-type .wp-list-table th input,.acf-internal-post-type .wp-list-table td input{margin:0;padding:0}.acf-internal-post-type .wp-list-table th .acf-more-items,.acf-internal-post-type .wp-list-table td .acf-more-items{display:inline-flex;flex-direction:row;justify-content:center;align-items:center;padding:0px 6px 1px;gap:8px;width:25px;height:16px;background:#eaecf0;border-radius:100px;font-weight:400;font-size:10px;color:#475467}.acf-internal-post-type .wp-list-table th .acf-emdash,.acf-internal-post-type .wp-list-table td .acf-emdash{color:#d0d5dd}.acf-internal-post-type .wp-list-table thead th,.acf-internal-post-type .wp-list-table thead td,.acf-internal-post-type .wp-list-table tfoot th,.acf-internal-post-type .wp-list-table tfoot td{height:48px;padding-right:24px;padding-left:24px;box-sizing:border-box;background-color:#f9fafb;border-color:#eaecf0;font-weight:500}@media screen and (max-width: 880px){.acf-internal-post-type .wp-list-table thead th,.acf-internal-post-type .wp-list-table thead td,.acf-internal-post-type .wp-list-table tfoot th,.acf-internal-post-type .wp-list-table tfoot td{padding-right:16px;padding-left:8px}}@media screen and (max-width: 880px){.acf-internal-post-type .wp-list-table thead th.check-column,.acf-internal-post-type .wp-list-table thead td.check-column,.acf-internal-post-type .wp-list-table tfoot th.check-column,.acf-internal-post-type .wp-list-table tfoot td.check-column{vertical-align:middle}}.acf-internal-post-type .wp-list-table tbody th,.acf-internal-post-type .wp-list-table tbody td{box-sizing:border-box;height:60px;padding-top:10px;padding-right:24px;padding-bottom:10px;padding-left:24px;vertical-align:top;background-color:#fff;border-bottom-width:1px;border-bottom-color:#eaecf0;border-bottom-style:solid}@media screen and (max-width: 880px){.acf-internal-post-type .wp-list-table tbody th,.acf-internal-post-type .wp-list-table tbody td{padding-right:16px;padding-left:8px}}.acf-internal-post-type .wp-list-table .column-acf-key{white-space:nowrap}.acf-internal-post-type .wp-list-table .column-acf-key .copyable:not(.input-copyable,.copy-unsupported){cursor:pointer;display:inline-flex;align-items:center}.acf-internal-post-type .wp-list-table .column-acf-key .copyable:not(.input-copyable,.copy-unsupported):hover:after{content:"";padding-left:5px;display:inline-flex;width:12px;height:12px;background-color:#667085;border:none;border-radius:0;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;text-indent:500%;white-space:nowrap;overflow:hidden;-webkit-mask-image:url("../../images/icons/icon-copy.svg");mask-image:url("../../images/icons/icon-copy.svg");background-size:cover}.acf-internal-post-type .wp-list-table .column-acf-key .copyable:not(.input-copyable,.copy-unsupported).sub-label{padding-right:22px}.acf-internal-post-type .wp-list-table .column-acf-key .copyable:not(.input-copyable,.copy-unsupported).sub-label:hover{padding-right:0}.acf-internal-post-type .wp-list-table .column-acf-key .copyable:not(.input-copyable,.copy-unsupported).sub-label:hover:after{width:14px;height:14px;padding-left:8px}.acf-internal-post-type .wp-list-table .column-acf-key .copyable:not(.input-copyable,.copy-unsupported).copied:hover:after{-webkit-mask-image:url("../../images/icons/icon-check-circle-solid.svg");mask-image:url("../../images/icons/icon-check-circle-solid.svg");background-color:#49ad52}.acf-internal-post-type .wp-list-table .column-acf-key .copyable.input-copyable:not(.copy-unsupported){cursor:pointer;display:block;position:relative;align-items:center}.acf-internal-post-type .wp-list-table .column-acf-key .copyable.input-copyable:not(.copy-unsupported) input{padding-right:40px}.acf-internal-post-type .wp-list-table .column-acf-key .copyable.input-copyable:not(.copy-unsupported) .acf-input-wrap:after{content:"";padding-left:5px;right:12px;top:12px;position:absolute;width:16px;height:16px;background-color:#98a2b3;border:none;border-radius:0;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;text-indent:500%;white-space:nowrap;overflow:hidden;-webkit-mask-image:url("../../images/icons/icon-copy.svg");mask-image:url("../../images/icons/icon-copy.svg");background-size:cover}.acf-internal-post-type .wp-list-table .column-acf-key .copyable.input-copyable:not(.copy-unsupported).copied .acf-input-wrap:after{-webkit-mask-image:url("../../images/icons/icon-check-circle-solid.svg");mask-image:url("../../images/icons/icon-check-circle-solid.svg");background-color:#49ad52}.acf-internal-post-type .wp-list-table .column-acf-key .acf-icon-key-solid{display:inline-block;position:relative;bottom:-2px;width:15px;height:15px;margin-right:4px;color:#98a2b3}.acf-internal-post-type .wp-list-table .acf-location .dashicons{position:relative;bottom:-2px;width:16px;height:16px;margin-right:6px;font-size:16px;color:#98a2b3}.acf-internal-post-type .wp-list-table .post-state{color:#667085}.acf-internal-post-type .wp-list-table tr:hover,.acf-internal-post-type .wp-list-table tr:focus-within{background:#f7f7f7}.acf-internal-post-type .wp-list-table tr:hover .row-actions,.acf-internal-post-type .wp-list-table tr:focus-within .row-actions{margin-bottom:0}@media screen and (min-width: 782px){.acf-internal-post-type .wp-list-table .column-acf-count{width:10%}}.acf-internal-post-type .wp-list-table .row-actions span.file{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.acf-internal-post-type.rtl .wp-list-table .column-acf-key .acf-icon-key-solid{margin-left:4px;margin-right:0}.acf-internal-post-type.rtl .wp-list-table .acf-location .dashicons{margin-left:6px;margin-right:0}.acf-internal-post-type .row-actions{margin-top:2px;padding-top:0;padding-right:0;padding-bottom:0;padding-left:0;line-height:14px;color:#d0d5dd}.acf-internal-post-type .row-actions .trash a{color:#d94f4f}.acf-internal-post-type .widefat thead td.check-column,.acf-internal-post-type .widefat tfoot td.check-column{padding-top:0}.acf-internal-post-type .row-actions a:hover{color:rgb(4.0632911392,71.1075949367,102.9367088608)}.acf-internal-post-type .row-actions .trash a{color:#a00}.acf-internal-post-type .row-actions .trash a:hover{color:red}.acf-internal-post-type .row-actions.visible{margin-bottom:0;opacity:1}.acf-internal-post-type #the-list tr:hover td,.acf-internal-post-type #the-list tr:hover th{background-color:rgb(247.24,251.12,253.06)}.acf-internal-post-type .tablenav{margin-top:24px;margin-right:0;margin-bottom:0;margin-left:0;padding-top:0;padding-right:0;padding-bottom:0;padding-left:0;color:#667085}.acf-internal-post-type #posts-filter p.search-box{margin-top:5px;margin-right:0;margin-bottom:24px;margin-left:0}.acf-internal-post-type #posts-filter p.search-box #post-search-input{min-width:280px;margin-top:0;margin-right:8px;margin-bottom:0;margin-left:0}@media screen and (max-width: 768px){.acf-internal-post-type #posts-filter p.search-box{display:flex;box-sizing:border-box;padding-right:24px;margin-right:16px;position:inherit}.acf-internal-post-type #posts-filter p.search-box #post-search-input{min-width:auto}}.rtl.acf-internal-post-type #posts-filter p.search-box #post-search-input{margin-right:0;margin-left:8px}@media screen and (max-width: 768px){.rtl.acf-internal-post-type #posts-filter p.search-box{padding-left:24px;padding-right:0;margin-left:16px;margin-right:0}}.acf-internal-post-type .subsubsub{display:flex;align-items:flex-end;height:40px;margin-bottom:16px}.acf-internal-post-type .subsubsub li{margin-top:0;margin-right:4px;color:#98a2b3}.acf-internal-post-type .subsubsub li .count{color:#667085}.acf-internal-post-type .tablenav-pages{display:flex;align-items:center}.acf-internal-post-type .tablenav-pages.no-pages{display:none}.acf-internal-post-type .tablenav-pages .displaying-num{margin-top:0;margin-right:16px;margin-bottom:0;margin-left:0}.acf-internal-post-type .tablenav-pages .pagination-links{display:flex;align-items:center}.acf-internal-post-type .tablenav-pages .pagination-links #table-paging{margin-top:0;margin-right:4px;margin-bottom:0;margin-left:8px}.acf-internal-post-type .tablenav-pages .pagination-links #table-paging .total-pages{margin-right:0}.acf-internal-post-type .tablenav-pages.one-page .pagination-links{display:none}.acf-internal-post-type .tablenav-pages .pagination-links .button{display:inline-flex;align-items:center;align-content:center;justify-content:center;min-width:40px;margin-top:0;margin-right:0;margin-bottom:0;margin-left:0;padding-top:0;padding-right:0;padding-bottom:0;padding-left:0;background-color:rgba(0,0,0,0)}.acf-internal-post-type .tablenav-pages .pagination-links .button:nth-child(1),.acf-internal-post-type .tablenav-pages .pagination-links .button:nth-child(2),.acf-internal-post-type .tablenav-pages .pagination-links .button:last-child,.acf-internal-post-type .tablenav-pages .pagination-links .button:nth-last-child(2){display:inline-block;position:relative;text-indent:100%;white-space:nowrap;overflow:hidden;margin-left:4px}.acf-internal-post-type .tablenav-pages .pagination-links .button:nth-child(1):before,.acf-internal-post-type .tablenav-pages .pagination-links .button:nth-child(2):before,.acf-internal-post-type .tablenav-pages .pagination-links .button:last-child:before,.acf-internal-post-type .tablenav-pages .pagination-links .button:nth-last-child(2):before{content:"";display:block;position:absolute;width:100%;height:100%;top:0;left:0;background-color:#0783be;border-radius:0;-webkit-mask-size:20px;mask-size:20px;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center}.acf-internal-post-type .tablenav-pages .pagination-links .button:nth-child(1):before{-webkit-mask-image:url("../../images/icons/icon-chevron-left-double.svg");mask-image:url("../../images/icons/icon-chevron-left-double.svg")}.acf-internal-post-type .tablenav-pages .pagination-links .button:nth-child(2):before{-webkit-mask-image:url("../../images/icons/icon-chevron-left.svg");mask-image:url("../../images/icons/icon-chevron-left.svg")}.acf-internal-post-type .tablenav-pages .pagination-links .button:nth-last-child(2):before{-webkit-mask-image:url("../../images/icons/icon-chevron-right.svg");mask-image:url("../../images/icons/icon-chevron-right.svg")}.acf-internal-post-type .tablenav-pages .pagination-links .button:last-child:before{-webkit-mask-image:url("../../images/icons/icon-chevron-right-double.svg");mask-image:url("../../images/icons/icon-chevron-right-double.svg")}.acf-internal-post-type .tablenav-pages .pagination-links .button:hover{border-color:#066998;background-color:rgba(7,131,190,.05)}.acf-internal-post-type .tablenav-pages .pagination-links .button:hover:before{background-color:#066998}.acf-internal-post-type .tablenav-pages .pagination-links .button.disabled{background-color:rgba(0,0,0,0) !important}.acf-internal-post-type .tablenav-pages .pagination-links .button.disabled.disabled:before{background-color:#d0d5dd}.acf-no-field-groups-wrapper,.acf-no-taxonomies-wrapper,.acf-no-post-types-wrapper,.acf-no-options-pages-wrapper,.acf-options-preview-wrapper{display:flex;justify-content:center;padding-top:48px;padding-bottom:48px}.acf-no-field-groups-wrapper .acf-no-field-groups-inner,.acf-no-field-groups-wrapper .acf-no-taxonomies-inner,.acf-no-field-groups-wrapper .acf-no-post-types-inner,.acf-no-field-groups-wrapper .acf-no-options-pages-inner,.acf-no-field-groups-wrapper .acf-options-preview-inner,.acf-no-taxonomies-wrapper .acf-no-field-groups-inner,.acf-no-taxonomies-wrapper .acf-no-taxonomies-inner,.acf-no-taxonomies-wrapper .acf-no-post-types-inner,.acf-no-taxonomies-wrapper .acf-no-options-pages-inner,.acf-no-taxonomies-wrapper .acf-options-preview-inner,.acf-no-post-types-wrapper .acf-no-field-groups-inner,.acf-no-post-types-wrapper .acf-no-taxonomies-inner,.acf-no-post-types-wrapper .acf-no-post-types-inner,.acf-no-post-types-wrapper .acf-no-options-pages-inner,.acf-no-post-types-wrapper .acf-options-preview-inner,.acf-no-options-pages-wrapper .acf-no-field-groups-inner,.acf-no-options-pages-wrapper .acf-no-taxonomies-inner,.acf-no-options-pages-wrapper .acf-no-post-types-inner,.acf-no-options-pages-wrapper .acf-no-options-pages-inner,.acf-no-options-pages-wrapper .acf-options-preview-inner,.acf-options-preview-wrapper .acf-no-field-groups-inner,.acf-options-preview-wrapper .acf-no-taxonomies-inner,.acf-options-preview-wrapper .acf-no-post-types-inner,.acf-options-preview-wrapper .acf-no-options-pages-inner,.acf-options-preview-wrapper .acf-options-preview-inner{display:flex;flex-wrap:wrap;justify-content:center;align-content:center;align-items:flex-start;text-align:center;max-width:420px;min-height:320px}.acf-no-field-groups-wrapper .acf-no-field-groups-inner img,.acf-no-field-groups-wrapper .acf-no-field-groups-inner h2,.acf-no-field-groups-wrapper .acf-no-field-groups-inner p,.acf-no-field-groups-wrapper .acf-no-taxonomies-inner img,.acf-no-field-groups-wrapper .acf-no-taxonomies-inner h2,.acf-no-field-groups-wrapper .acf-no-taxonomies-inner p,.acf-no-field-groups-wrapper .acf-no-post-types-inner img,.acf-no-field-groups-wrapper .acf-no-post-types-inner h2,.acf-no-field-groups-wrapper .acf-no-post-types-inner p,.acf-no-field-groups-wrapper .acf-no-options-pages-inner img,.acf-no-field-groups-wrapper .acf-no-options-pages-inner h2,.acf-no-field-groups-wrapper .acf-no-options-pages-inner p,.acf-no-field-groups-wrapper .acf-options-preview-inner img,.acf-no-field-groups-wrapper .acf-options-preview-inner h2,.acf-no-field-groups-wrapper .acf-options-preview-inner p,.acf-no-taxonomies-wrapper .acf-no-field-groups-inner img,.acf-no-taxonomies-wrapper .acf-no-field-groups-inner h2,.acf-no-taxonomies-wrapper .acf-no-field-groups-inner p,.acf-no-taxonomies-wrapper .acf-no-taxonomies-inner img,.acf-no-taxonomies-wrapper .acf-no-taxonomies-inner h2,.acf-no-taxonomies-wrapper .acf-no-taxonomies-inner p,.acf-no-taxonomies-wrapper .acf-no-post-types-inner img,.acf-no-taxonomies-wrapper .acf-no-post-types-inner h2,.acf-no-taxonomies-wrapper .acf-no-post-types-inner p,.acf-no-taxonomies-wrapper .acf-no-options-pages-inner img,.acf-no-taxonomies-wrapper .acf-no-options-pages-inner h2,.acf-no-taxonomies-wrapper .acf-no-options-pages-inner p,.acf-no-taxonomies-wrapper .acf-options-preview-inner img,.acf-no-taxonomies-wrapper .acf-options-preview-inner h2,.acf-no-taxonomies-wrapper .acf-options-preview-inner p,.acf-no-post-types-wrapper .acf-no-field-groups-inner img,.acf-no-post-types-wrapper .acf-no-field-groups-inner h2,.acf-no-post-types-wrapper .acf-no-field-groups-inner p,.acf-no-post-types-wrapper .acf-no-taxonomies-inner img,.acf-no-post-types-wrapper .acf-no-taxonomies-inner h2,.acf-no-post-types-wrapper .acf-no-taxonomies-inner p,.acf-no-post-types-wrapper .acf-no-post-types-inner img,.acf-no-post-types-wrapper .acf-no-post-types-inner h2,.acf-no-post-types-wrapper .acf-no-post-types-inner p,.acf-no-post-types-wrapper .acf-no-options-pages-inner img,.acf-no-post-types-wrapper .acf-no-options-pages-inner h2,.acf-no-post-types-wrapper .acf-no-options-pages-inner p,.acf-no-post-types-wrapper .acf-options-preview-inner img,.acf-no-post-types-wrapper .acf-options-preview-inner h2,.acf-no-post-types-wrapper .acf-options-preview-inner p,.acf-no-options-pages-wrapper .acf-no-field-groups-inner img,.acf-no-options-pages-wrapper .acf-no-field-groups-inner h2,.acf-no-options-pages-wrapper .acf-no-field-groups-inner p,.acf-no-options-pages-wrapper .acf-no-taxonomies-inner img,.acf-no-options-pages-wrapper .acf-no-taxonomies-inner h2,.acf-no-options-pages-wrapper .acf-no-taxonomies-inner p,.acf-no-options-pages-wrapper .acf-no-post-types-inner img,.acf-no-options-pages-wrapper .acf-no-post-types-inner h2,.acf-no-options-pages-wrapper .acf-no-post-types-inner p,.acf-no-options-pages-wrapper .acf-no-options-pages-inner img,.acf-no-options-pages-wrapper .acf-no-options-pages-inner h2,.acf-no-options-pages-wrapper .acf-no-options-pages-inner p,.acf-no-options-pages-wrapper .acf-options-preview-inner img,.acf-no-options-pages-wrapper .acf-options-preview-inner h2,.acf-no-options-pages-wrapper .acf-options-preview-inner p,.acf-options-preview-wrapper .acf-no-field-groups-inner img,.acf-options-preview-wrapper .acf-no-field-groups-inner h2,.acf-options-preview-wrapper .acf-no-field-groups-inner p,.acf-options-preview-wrapper .acf-no-taxonomies-inner img,.acf-options-preview-wrapper .acf-no-taxonomies-inner h2,.acf-options-preview-wrapper .acf-no-taxonomies-inner p,.acf-options-preview-wrapper .acf-no-post-types-inner img,.acf-options-preview-wrapper .acf-no-post-types-inner h2,.acf-options-preview-wrapper .acf-no-post-types-inner p,.acf-options-preview-wrapper .acf-no-options-pages-inner img,.acf-options-preview-wrapper .acf-no-options-pages-inner h2,.acf-options-preview-wrapper .acf-no-options-pages-inner p,.acf-options-preview-wrapper .acf-options-preview-inner img,.acf-options-preview-wrapper .acf-options-preview-inner h2,.acf-options-preview-wrapper .acf-options-preview-inner p{flex:1 0 100%}.acf-no-field-groups-wrapper .acf-no-field-groups-inner h2,.acf-no-field-groups-wrapper .acf-no-taxonomies-inner h2,.acf-no-field-groups-wrapper .acf-no-post-types-inner h2,.acf-no-field-groups-wrapper .acf-no-options-pages-inner h2,.acf-no-field-groups-wrapper .acf-options-preview-inner h2,.acf-no-taxonomies-wrapper .acf-no-field-groups-inner h2,.acf-no-taxonomies-wrapper .acf-no-taxonomies-inner h2,.acf-no-taxonomies-wrapper .acf-no-post-types-inner h2,.acf-no-taxonomies-wrapper .acf-no-options-pages-inner h2,.acf-no-taxonomies-wrapper .acf-options-preview-inner h2,.acf-no-post-types-wrapper .acf-no-field-groups-inner h2,.acf-no-post-types-wrapper .acf-no-taxonomies-inner h2,.acf-no-post-types-wrapper .acf-no-post-types-inner h2,.acf-no-post-types-wrapper .acf-no-options-pages-inner h2,.acf-no-post-types-wrapper .acf-options-preview-inner h2,.acf-no-options-pages-wrapper .acf-no-field-groups-inner h2,.acf-no-options-pages-wrapper .acf-no-taxonomies-inner h2,.acf-no-options-pages-wrapper .acf-no-post-types-inner h2,.acf-no-options-pages-wrapper .acf-no-options-pages-inner h2,.acf-no-options-pages-wrapper .acf-options-preview-inner h2,.acf-options-preview-wrapper .acf-no-field-groups-inner h2,.acf-options-preview-wrapper .acf-no-taxonomies-inner h2,.acf-options-preview-wrapper .acf-no-post-types-inner h2,.acf-options-preview-wrapper .acf-no-options-pages-inner h2,.acf-options-preview-wrapper .acf-options-preview-inner h2{margin-top:32px;margin-bottom:0;padding:0;color:#344054;line-height:1.6rem}.acf-no-field-groups-wrapper .acf-no-field-groups-inner p,.acf-no-field-groups-wrapper .acf-no-taxonomies-inner p,.acf-no-field-groups-wrapper .acf-no-post-types-inner p,.acf-no-field-groups-wrapper .acf-no-options-pages-inner p,.acf-no-field-groups-wrapper .acf-options-preview-inner p,.acf-no-taxonomies-wrapper .acf-no-field-groups-inner p,.acf-no-taxonomies-wrapper .acf-no-taxonomies-inner p,.acf-no-taxonomies-wrapper .acf-no-post-types-inner p,.acf-no-taxonomies-wrapper .acf-no-options-pages-inner p,.acf-no-taxonomies-wrapper .acf-options-preview-inner p,.acf-no-post-types-wrapper .acf-no-field-groups-inner p,.acf-no-post-types-wrapper .acf-no-taxonomies-inner p,.acf-no-post-types-wrapper .acf-no-post-types-inner p,.acf-no-post-types-wrapper .acf-no-options-pages-inner p,.acf-no-post-types-wrapper .acf-options-preview-inner p,.acf-no-options-pages-wrapper .acf-no-field-groups-inner p,.acf-no-options-pages-wrapper .acf-no-taxonomies-inner p,.acf-no-options-pages-wrapper .acf-no-post-types-inner p,.acf-no-options-pages-wrapper .acf-no-options-pages-inner p,.acf-no-options-pages-wrapper .acf-options-preview-inner p,.acf-options-preview-wrapper .acf-no-field-groups-inner p,.acf-options-preview-wrapper .acf-no-taxonomies-inner p,.acf-options-preview-wrapper .acf-no-post-types-inner p,.acf-options-preview-wrapper .acf-no-options-pages-inner p,.acf-options-preview-wrapper .acf-options-preview-inner p{margin-top:12px;margin-bottom:0;padding:0;color:#667085}.acf-no-field-groups-wrapper .acf-no-field-groups-inner p.acf-small,.acf-no-field-groups-wrapper .acf-no-taxonomies-inner p.acf-small,.acf-no-field-groups-wrapper .acf-no-post-types-inner p.acf-small,.acf-no-field-groups-wrapper .acf-no-options-pages-inner p.acf-small,.acf-no-field-groups-wrapper .acf-options-preview-inner p.acf-small,.acf-no-taxonomies-wrapper .acf-no-field-groups-inner p.acf-small,.acf-no-taxonomies-wrapper .acf-no-taxonomies-inner p.acf-small,.acf-no-taxonomies-wrapper .acf-no-post-types-inner p.acf-small,.acf-no-taxonomies-wrapper .acf-no-options-pages-inner p.acf-small,.acf-no-taxonomies-wrapper .acf-options-preview-inner p.acf-small,.acf-no-post-types-wrapper .acf-no-field-groups-inner p.acf-small,.acf-no-post-types-wrapper .acf-no-taxonomies-inner p.acf-small,.acf-no-post-types-wrapper .acf-no-post-types-inner p.acf-small,.acf-no-post-types-wrapper .acf-no-options-pages-inner p.acf-small,.acf-no-post-types-wrapper .acf-options-preview-inner p.acf-small,.acf-no-options-pages-wrapper .acf-no-field-groups-inner p.acf-small,.acf-no-options-pages-wrapper .acf-no-taxonomies-inner p.acf-small,.acf-no-options-pages-wrapper .acf-no-post-types-inner p.acf-small,.acf-no-options-pages-wrapper .acf-no-options-pages-inner p.acf-small,.acf-no-options-pages-wrapper .acf-options-preview-inner p.acf-small,.acf-options-preview-wrapper .acf-no-field-groups-inner p.acf-small,.acf-options-preview-wrapper .acf-no-taxonomies-inner p.acf-small,.acf-options-preview-wrapper .acf-no-post-types-inner p.acf-small,.acf-options-preview-wrapper .acf-no-options-pages-inner p.acf-small,.acf-options-preview-wrapper .acf-options-preview-inner p.acf-small{display:block;position:relative;margin-top:32px}.acf-no-field-groups-wrapper .acf-no-field-groups-inner img,.acf-no-field-groups-wrapper .acf-no-taxonomies-inner img,.acf-no-field-groups-wrapper .acf-no-post-types-inner img,.acf-no-field-groups-wrapper .acf-no-options-pages-inner img,.acf-no-field-groups-wrapper .acf-options-preview-inner img,.acf-no-taxonomies-wrapper .acf-no-field-groups-inner img,.acf-no-taxonomies-wrapper .acf-no-taxonomies-inner img,.acf-no-taxonomies-wrapper .acf-no-post-types-inner img,.acf-no-taxonomies-wrapper .acf-no-options-pages-inner img,.acf-no-taxonomies-wrapper .acf-options-preview-inner img,.acf-no-post-types-wrapper .acf-no-field-groups-inner img,.acf-no-post-types-wrapper .acf-no-taxonomies-inner img,.acf-no-post-types-wrapper .acf-no-post-types-inner img,.acf-no-post-types-wrapper .acf-no-options-pages-inner img,.acf-no-post-types-wrapper .acf-options-preview-inner img,.acf-no-options-pages-wrapper .acf-no-field-groups-inner img,.acf-no-options-pages-wrapper .acf-no-taxonomies-inner img,.acf-no-options-pages-wrapper .acf-no-post-types-inner img,.acf-no-options-pages-wrapper .acf-no-options-pages-inner img,.acf-no-options-pages-wrapper .acf-options-preview-inner img,.acf-options-preview-wrapper .acf-no-field-groups-inner img,.acf-options-preview-wrapper .acf-no-taxonomies-inner img,.acf-options-preview-wrapper .acf-no-post-types-inner img,.acf-options-preview-wrapper .acf-no-options-pages-inner img,.acf-options-preview-wrapper .acf-options-preview-inner img{max-width:284px;margin-bottom:0}.acf-no-field-groups-wrapper .acf-no-field-groups-inner .acf-btn,.acf-no-field-groups-wrapper .acf-no-taxonomies-inner .acf-btn,.acf-no-field-groups-wrapper .acf-no-post-types-inner .acf-btn,.acf-no-field-groups-wrapper .acf-no-options-pages-inner .acf-btn,.acf-no-field-groups-wrapper .acf-options-preview-inner .acf-btn,.acf-no-taxonomies-wrapper .acf-no-field-groups-inner .acf-btn,.acf-no-taxonomies-wrapper .acf-no-taxonomies-inner .acf-btn,.acf-no-taxonomies-wrapper .acf-no-post-types-inner .acf-btn,.acf-no-taxonomies-wrapper .acf-no-options-pages-inner .acf-btn,.acf-no-taxonomies-wrapper .acf-options-preview-inner .acf-btn,.acf-no-post-types-wrapper .acf-no-field-groups-inner .acf-btn,.acf-no-post-types-wrapper .acf-no-taxonomies-inner .acf-btn,.acf-no-post-types-wrapper .acf-no-post-types-inner .acf-btn,.acf-no-post-types-wrapper .acf-no-options-pages-inner .acf-btn,.acf-no-post-types-wrapper .acf-options-preview-inner .acf-btn,.acf-no-options-pages-wrapper .acf-no-field-groups-inner .acf-btn,.acf-no-options-pages-wrapper .acf-no-taxonomies-inner .acf-btn,.acf-no-options-pages-wrapper .acf-no-post-types-inner .acf-btn,.acf-no-options-pages-wrapper .acf-no-options-pages-inner .acf-btn,.acf-no-options-pages-wrapper .acf-options-preview-inner .acf-btn,.acf-options-preview-wrapper .acf-no-field-groups-inner .acf-btn,.acf-options-preview-wrapper .acf-no-taxonomies-inner .acf-btn,.acf-options-preview-wrapper .acf-no-post-types-inner .acf-btn,.acf-options-preview-wrapper .acf-no-options-pages-inner .acf-btn,.acf-options-preview-wrapper .acf-options-preview-inner .acf-btn{margin-top:32px}.acf-no-field-groups-wrapper .acf-no-post-types-inner img,.acf-no-field-groups-wrapper .acf-no-options-pages-inner img,.acf-no-taxonomies-wrapper .acf-no-post-types-inner img,.acf-no-taxonomies-wrapper .acf-no-options-pages-inner img,.acf-no-post-types-wrapper .acf-no-post-types-inner img,.acf-no-post-types-wrapper .acf-no-options-pages-inner img,.acf-no-options-pages-wrapper .acf-no-post-types-inner img,.acf-no-options-pages-wrapper .acf-no-options-pages-inner img,.acf-options-preview-wrapper .acf-no-post-types-inner img,.acf-options-preview-wrapper .acf-no-options-pages-inner img{width:106px;height:88px}.acf-no-field-groups-wrapper .acf-no-taxonomies-inner img,.acf-no-taxonomies-wrapper .acf-no-taxonomies-inner img,.acf-no-post-types-wrapper .acf-no-taxonomies-inner img,.acf-no-options-pages-wrapper .acf-no-taxonomies-inner img,.acf-options-preview-wrapper .acf-no-taxonomies-inner img{width:98px;height:88px}.acf-no-field-groups #the-list tr:hover td,.acf-no-field-groups #the-list tr:hover th,.acf-no-field-groups .acf-admin-field-groups .wp-list-table tr:hover,.acf-no-field-groups .striped>tbody>:nth-child(odd),.acf-no-field-groups ul.striped>:nth-child(odd),.acf-no-field-groups .alternate,.acf-no-post-types #the-list tr:hover td,.acf-no-post-types #the-list tr:hover th,.acf-no-post-types .acf-admin-field-groups .wp-list-table tr:hover,.acf-no-post-types .striped>tbody>:nth-child(odd),.acf-no-post-types ul.striped>:nth-child(odd),.acf-no-post-types .alternate,.acf-no-taxonomies #the-list tr:hover td,.acf-no-taxonomies #the-list tr:hover th,.acf-no-taxonomies .acf-admin-field-groups .wp-list-table tr:hover,.acf-no-taxonomies .striped>tbody>:nth-child(odd),.acf-no-taxonomies ul.striped>:nth-child(odd),.acf-no-taxonomies .alternate,.acf-no-options-pages #the-list tr:hover td,.acf-no-options-pages #the-list tr:hover th,.acf-no-options-pages .acf-admin-field-groups .wp-list-table tr:hover,.acf-no-options-pages .striped>tbody>:nth-child(odd),.acf-no-options-pages ul.striped>:nth-child(odd),.acf-no-options-pages .alternate{background-color:rgba(0,0,0,0) !important}.acf-no-field-groups .wp-list-table thead,.acf-no-field-groups .wp-list-table tfoot,.acf-no-post-types .wp-list-table thead,.acf-no-post-types .wp-list-table tfoot,.acf-no-taxonomies .wp-list-table thead,.acf-no-taxonomies .wp-list-table tfoot,.acf-no-options-pages .wp-list-table thead,.acf-no-options-pages .wp-list-table tfoot{display:none}.acf-no-field-groups .wp-list-table a.acf-btn,.acf-no-post-types .wp-list-table a.acf-btn,.acf-no-taxonomies .wp-list-table a.acf-btn,.acf-no-options-pages .wp-list-table a.acf-btn{border:1px solid rgba(0,0,0,.16);box-shadow:none}.acf-internal-post-type #the-list .no-items td{vertical-align:middle}.acf-options-preview .acf-btn,.acf-no-options-pages-wrapper .acf-btn{margin-left:8px}.acf-options-preview .disabled,.acf-no-options-pages-wrapper .disabled{background-color:#f2f4f7 !important;color:#98a2b3 !important;border:1px #d0d5dd solid;cursor:default !important}.acf-options-preview .acf-options-pages-preview-upgrade-button,.acf-no-options-pages-wrapper .acf-options-pages-preview-upgrade-button{height:48px;padding:8px 48px 8px 48px !important;border:none !important;gap:6px;display:inline-flex;align-items:center;align-self:stretch;background:radial-gradient(141.77% 141.08% at 100.26% 99.25%, #0ECAD4 0%, #7A45E5 100%);border-radius:6px;text-decoration:none}.acf-options-preview .acf-options-pages-preview-upgrade-button:focus,.acf-no-options-pages-wrapper .acf-options-pages-preview-upgrade-button:focus{border:none;outline:none;box-shadow:none}.acf-options-preview .acf-options-pages-preview-upgrade-button p,.acf-no-options-pages-wrapper .acf-options-pages-preview-upgrade-button p{margin:0;padding-top:8px;padding-bottom:8px;font-weight:normal;text-transform:none;color:#fff}.acf-options-preview .acf-options-pages-preview-upgrade-button .acf-icon,.acf-no-options-pages-wrapper .acf-options-pages-preview-upgrade-button .acf-icon{width:20px;height:20px;margin-right:6px;margin-left:-2px;background-color:#f9fafb}.acf-options-preview .acf-ui-options-page-pro-features-actions a.acf-btn i,.acf-no-options-pages-wrapper .acf-ui-options-page-pro-features-actions a.acf-btn i{margin-right:-2px !important;margin-left:0px !important}.acf-options-preview .acf-pro-label,.acf-no-options-pages-wrapper .acf-pro-label{vertical-align:middle}.acf-options-preview .acf_options_preview_wrap img,.acf-no-options-pages-wrapper .acf_options_preview_wrap img{max-height:88px}.acf-internal-post-type .wp-list-table .toggle-row:before{top:4px;left:16px;border-radius:0;content:"";display:block;position:absolute;width:16px;height:16px;background-color:#0783be;border-radius:0;-webkit-mask-size:20px;mask-size:20px;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;-webkit-mask-image:url("../../images/icons/icon-chevron-down.svg");mask-image:url("../../images/icons/icon-chevron-down.svg");text-indent:100%;white-space:nowrap;overflow:hidden}.acf-internal-post-type .wp-list-table .is-expanded .toggle-row:before{-webkit-mask-image:url("../../images/icons/icon-chevron-up.svg");mask-image:url("../../images/icons/icon-chevron-up.svg")}@media screen and (max-width: 880px){.acf-internal-post-type .widefat th input[type=checkbox],.acf-internal-post-type .widefat thead td input[type=checkbox],.acf-internal-post-type .widefat tfoot td input[type=checkbox]{margin-bottom:0}}.acf-internal-post-type.acf-pro-inactive-license.acf-admin-options-pages .row-title{color:#667085;pointer-events:none;display:inline-flex;vertical-align:middle;gap:6px}.acf-internal-post-type.acf-pro-inactive-license.acf-admin-options-pages .row-title:before{content:"";width:16px;height:16px;background-color:#667085;display:inline-block;align-self:center;-webkit-mask-image:url("../../images/icons/icon-lock.svg");mask-image:url("../../images/icons/icon-lock.svg")}.acf-internal-post-type.acf-pro-inactive-license.acf-admin-options-pages .row-actions{display:none}.acf-internal-post-type.acf-pro-inactive-license.acf-admin-options-pages .column-title .acf-js-tooltip{display:inline-block}.acf-internal-post-type.acf-pro-inactive-license tr.acf-has-block-location .row-title{color:#667085;pointer-events:none;display:inline-flex;vertical-align:middle;gap:6px}.acf-internal-post-type.acf-pro-inactive-license tr.acf-has-block-location .row-title:before{content:"";width:16px;height:16px;background-color:#667085;display:inline-block;align-self:center;-webkit-mask-image:url("../../images/icons/icon-lock.svg");mask-image:url("../../images/icons/icon-lock.svg")}.acf-internal-post-type.acf-pro-inactive-license tr.acf-has-block-location .acf-count a{color:#667085;pointer-events:none}.acf-internal-post-type.acf-pro-inactive-license tr.acf-has-block-location .row-actions{display:none}.acf-internal-post-type.acf-pro-inactive-license tr.acf-has-block-location .column-title .acf-js-tooltip{display:inline-block}.acf-admin-toolbar{position:unset;top:32px;height:72px;z-index:800;background:#344054;color:#98a2b3}.acf-admin-toolbar .acf-admin-toolbar-inner{display:flex;justify-content:space-between;align-content:center;align-items:center;max-width:100%}.acf-admin-toolbar .acf-admin-toolbar-inner .acf-nav-wrap{display:flex;align-items:center;position:relative;padding-left:72px}@media screen and (max-width: 1250px){.acf-admin-toolbar .acf-admin-toolbar-inner .acf-nav-wrap .acf-header-tab-acf-post-type,.acf-admin-toolbar .acf-admin-toolbar-inner .acf-nav-wrap .acf-header-tab-acf-taxonomy{display:none}.acf-admin-toolbar .acf-admin-toolbar-inner .acf-nav-wrap .acf-more .acf-header-tab-acf-post-type,.acf-admin-toolbar .acf-admin-toolbar-inner .acf-nav-wrap .acf-more .acf-header-tab-acf-taxonomy{display:flex}}.acf-admin-toolbar .acf-admin-toolbar-inner .acf-nav-upgrade-wrap{display:flex;align-items:center}.acf-admin-toolbar .acf-admin-toolbar-inner .acf-nav-wpengine-logo{display:inline-flex;margin-left:24px}.acf-admin-toolbar .acf-admin-toolbar-inner .acf-nav-wpengine-logo img{height:20px}@media screen and (max-width: 1000px){.acf-admin-toolbar .acf-admin-toolbar-inner .acf-nav-wpengine-logo{display:none}}@media screen and (max-width: 880px){.acf-admin-toolbar{position:static}}.acf-admin-toolbar .acf-logo{display:flex;margin-right:24px;text-decoration:none;position:absolute;top:0;left:0}.acf-admin-toolbar .acf-logo img{display:block}.acf-admin-toolbar .acf-logo.pro img{height:46px}.acf-admin-toolbar h2{display:none;color:#f9fafb}.acf-admin-toolbar .acf-tab{display:flex;align-items:center;box-sizing:border-box;min-height:40px;margin-right:8px;padding-top:8px;padding-right:16px;padding-bottom:8px;padding-left:16px;border-width:1px;border-style:solid;border-color:rgba(0,0,0,0);border-radius:6px;color:#98a2b3;text-decoration:none}.acf-admin-toolbar .acf-tab.is-active{background-color:#475467;color:#fff}.acf-admin-toolbar .acf-tab:hover{background-color:#475467;color:#f9fafb}.acf-admin-toolbar .acf-tab:focus-visible{border-width:1px;border-style:solid;border-color:#667085}.acf-admin-toolbar .acf-tab:focus{box-shadow:none}.acf-admin-toolbar .acf-more:hover .acf-tab.acf-more-tab{background-color:#475467;color:#f9fafb}.acf-admin-toolbar .acf-more ul{display:none;position:absolute;box-sizing:border-box;background:#fff;z-index:1051;overflow:hidden;min-width:280px;margin-top:0;margin-right:0;margin-bottom:0;margin-left:0;padding:0;border-radius:8px;box-shadow:0px 0px 0px 1px rgba(0,0,0,.04),0px 8px 23px rgba(0,0,0,.12)}.acf-admin-toolbar .acf-more ul .acf-wp-engine{display:flex;align-items:center;justify-content:space-between;min-height:48px;border-top:1px solid rgba(0,0,0,.08);background:#ecfbfc}.acf-admin-toolbar .acf-more ul .acf-wp-engine a{display:flex;width:100%;justify-content:space-between;border-top:none}.acf-admin-toolbar .acf-more ul li{margin:0;padding:0 16px}.acf-admin-toolbar .acf-more ul li .acf-header-tab-acf-post-type,.acf-admin-toolbar .acf-more ul li .acf-header-tab-acf-taxonomy{display:none}.acf-admin-toolbar .acf-more ul li.acf-more-section-header{background:#f9fafb;padding:1px 0 0 0;margin-top:-1px;border-top:1px solid #eaecf0;border-bottom:1px solid #eaecf0}.acf-admin-toolbar .acf-more ul li.acf-more-section-header span{color:#475467;font-size:12px;font-weight:bold}.acf-admin-toolbar .acf-more ul li.acf-more-section-header span:hover{background:#f9fafb}.acf-admin-toolbar .acf-more ul li a{margin:0;padding:0;color:#1d2939;border-radius:0;border-top-width:1px;border-top-style:solid;border-top-color:#f2f4f7}.acf-admin-toolbar .acf-more ul li a:hover,.acf-admin-toolbar .acf-more ul li a.acf-tab.is-active{background-color:unset;color:#0783be}.acf-admin-toolbar .acf-more ul li a i.acf-icon{display:none !important;width:16px;height:16px;-webkit-mask-size:16px;mask-size:16px;background-color:#98a2b3 !important}.acf-admin-toolbar .acf-more ul li a .acf-requires-pro{justify-content:center;align-items:center;color:#fff;background:radial-gradient(141.77% 141.08% at 100.26% 99.25%, #0ECAD4 0%, #7A45E5 100%);border-radius:100px;font-size:11px;position:absolute;right:16px;padding-right:6px;padding-left:6px}.acf-admin-toolbar .acf-more ul li a img.acf-wp-engine-pro{display:block;height:16px;width:auto}.acf-admin-toolbar .acf-more ul li a .acf-wp-engine-upsell-pill{display:inline-flex;justify-content:center;align-items:center;min-height:22px;border-radius:100px;font-size:11px;padding-right:8px;padding-left:8px;background:#0ecad4;color:#fff;text-shadow:0px 1px 0 rgba(0,0,0,.12);text-transform:uppercase}.acf-admin-toolbar .acf-more ul li:first-child a{border-bottom:none}.acf-admin-toolbar .acf-more ul:hover,.acf-admin-toolbar .acf-more ul:focus{display:block}.acf-admin-toolbar .acf-more:hover ul,.acf-admin-toolbar .acf-more:focus ul{display:block}#wpcontent .acf-admin-toolbar{box-sizing:border-box;margin-left:-20px;padding-top:16px;padding-right:32px;padding-bottom:16px;padding-left:32px}@media screen and (max-width: 600px){.acf-admin-toolbar{display:none}}.rtl #wpcontent .acf-admin-toolbar{margin-left:0;margin-right:-20px}.rtl #wpcontent .acf-admin-toolbar .acf-tab{margin-left:8px;margin-right:0}.rtl .acf-logo{margin-right:0;margin-left:32px}.acf-admin-toolbar .acf-tab i.acf-icon,.acf-admin-toolbar .acf-more i.acf-icon{display:none;margin-right:8px;margin-left:-2px}.acf-admin-toolbar .acf-tab i.acf-icon.acf-icon-dropdown,.acf-admin-toolbar .acf-more i.acf-icon.acf-icon-dropdown{-webkit-mask-image:url("../../images/icons/icon-chevron-down.svg");mask-image:url("../../images/icons/icon-chevron-down.svg");width:16px;height:16px;-webkit-mask-size:16px;mask-size:16px;margin-right:-6px;margin-left:6px}.acf-admin-toolbar .acf-tab.acf-header-tab-acf-field-group i.acf-icon,.acf-admin-toolbar .acf-tab.acf-header-tab-acf-post-type i.acf-icon,.acf-admin-toolbar .acf-tab.acf-header-tab-acf-taxonomy i.acf-icon,.acf-admin-toolbar .acf-tab.acf-header-tab-acf-tools i.acf-icon,.acf-admin-toolbar .acf-tab.acf-header-tab-acf-settings-updates i.acf-icon,.acf-admin-toolbar .acf-tab.acf-header-tab-acf-more i.acf-icon,.acf-admin-toolbar .acf-more.acf-header-tab-acf-field-group i.acf-icon,.acf-admin-toolbar .acf-more.acf-header-tab-acf-post-type i.acf-icon,.acf-admin-toolbar .acf-more.acf-header-tab-acf-taxonomy i.acf-icon,.acf-admin-toolbar .acf-more.acf-header-tab-acf-tools i.acf-icon,.acf-admin-toolbar .acf-more.acf-header-tab-acf-settings-updates i.acf-icon,.acf-admin-toolbar .acf-more.acf-header-tab-acf-more i.acf-icon{display:inline-flex}.acf-admin-toolbar .acf-tab.is-active i.acf-icon,.acf-admin-toolbar .acf-tab:hover i.acf-icon,.acf-admin-toolbar .acf-more.is-active i.acf-icon,.acf-admin-toolbar .acf-more:hover i.acf-icon{background-color:#eaecf0}.rtl .acf-admin-toolbar .acf-tab i.acf-icon{margin-right:-2px;margin-left:8px}.acf-admin-toolbar .acf-header-tab-acf-field-group i.acf-icon{-webkit-mask-image:url("../../images/icons/icon-field-groups.svg");mask-image:url("../../images/icons/icon-field-groups.svg")}.acf-admin-toolbar .acf-header-tab-acf-post-type i.acf-icon{-webkit-mask-image:url("../../images/icons/icon-post-type.svg");mask-image:url("../../images/icons/icon-post-type.svg")}.acf-admin-toolbar .acf-header-tab-acf-taxonomy i.acf-icon{-webkit-mask-image:url("../../images/icons/icon-taxonomies.svg");mask-image:url("../../images/icons/icon-taxonomies.svg")}.acf-admin-toolbar .acf-header-tab-acf-tools i.acf-icon{-webkit-mask-image:url("../../images/icons/icon-tools.svg");mask-image:url("../../images/icons/icon-tools.svg")}.acf-admin-toolbar .acf-header-tab-acf-settings-updates i.acf-icon{-webkit-mask-image:url("../../images/icons/icon-updates.svg");mask-image:url("../../images/icons/icon-updates.svg")}.acf-admin-toolbar .acf-header-tab-acf-more i.acf-icon-more{-webkit-mask-image:url("../../images/icons/icon-extended-menu.svg");mask-image:url("../../images/icons/icon-extended-menu.svg")}.acf-admin-page #wpbody-content>.notice:not(.inline,.below-h2){display:none}.acf-admin-page h1.wp-heading-inline{display:none}.acf-admin-page .wrap .wp-heading-inline+.page-title-action{display:none}.acf-headerbar{display:flex;align-items:center;position:sticky;top:32px;z-index:700;box-sizing:border-box;min-height:72px;margin-left:-20px;padding-top:8px;padding-right:32px;padding-bottom:8px;padding-left:32px;background-color:#fff;box-shadow:0px 1px 2px rgba(16,24,40,.1)}.acf-headerbar .acf-headerbar-inner{flex:1 1 auto;display:flex;align-items:center;justify-content:space-between;max-width:1440px;gap:8px}.acf-headerbar .acf-page-title{display:flex;align-items:center;gap:8px;margin-top:0;margin-right:16px;margin-bottom:0;margin-left:0;padding-top:0;padding-right:0;padding-bottom:0;padding-left:0}.acf-headerbar .acf-page-title .acf-duplicated-from{color:#98a2b3}.acf-headerbar .acf-page-title .acf-pro-label{box-shadow:none}@media screen and (max-width: 880px){.acf-headerbar{position:static}}@media screen and (max-width: 600px){.acf-headerbar{justify-content:space-between;position:relative;top:46px;min-height:64px;padding-right:12px}}.acf-headerbar .acf-headerbar-content{flex:1 1 auto;display:flex;align-items:center}@media screen and (max-width: 880px){.acf-headerbar .acf-headerbar-content{flex-wrap:wrap}.acf-headerbar .acf-headerbar-content .acf-headerbar-title,.acf-headerbar .acf-headerbar-content .acf-title-wrap{flex:1 1 100%}.acf-headerbar .acf-headerbar-content .acf-title-wrap{margin-top:8px}}.acf-headerbar .acf-input-error{border:1px rgba(209,55,55,.5) solid !important;box-shadow:0 0 0 3px rgba(209,55,55,.12),0 0 0 rgba(255,54,54,.25) !important;background-image:url("../../images/icons/icon-warning-alt-red.svg");background-position:right 10px top 50%;background-size:20px;background-repeat:no-repeat}.acf-headerbar .acf-input-error:focus{outline:none !important;border:1px rgba(209,55,55,.8) solid !important;box-shadow:0 0 0 3px rgba(209,55,55,.16),0 0 0 rgba(255,54,54,.25) !important}.acf-headerbar .acf-headerbar-title-field{min-width:320px}@media screen and (max-width: 880px){.acf-headerbar .acf-headerbar-title-field{min-width:100%}}.acf-headerbar .acf-headerbar-actions{display:flex}.acf-headerbar .acf-headerbar-actions .acf-btn{margin-left:8px}.acf-headerbar .acf-headerbar-actions .disabled{background-color:#f2f4f7;color:#98a2b3 !important;border:1px #d0d5dd solid;cursor:default}.acf-headerbar-field-editor{position:sticky;top:32px;z-index:1020;margin-left:-20px;width:calc(100% + 20px)}@media screen and (max-width: 880px){.acf-headerbar-field-editor{position:relative;top:0;width:100%;margin-left:0;padding-right:8px;padding-left:8px}}@media screen and (max-width: 640px){.acf-headerbar-field-editor{position:relative;top:46px;z-index:unset}}@media screen and (max-width: 880px){.acf-headerbar-field-editor .acf-headerbar-inner{flex-wrap:wrap;justify-content:flex-start;align-content:flex-start;align-items:flex-start;width:100%}.acf-headerbar-field-editor .acf-headerbar-inner .acf-page-title{flex:1 1 auto}.acf-headerbar-field-editor .acf-headerbar-inner .acf-headerbar-actions{flex:1 1 100%;margin-top:8px;gap:8px}.acf-headerbar-field-editor .acf-headerbar-inner .acf-headerbar-actions .acf-btn{width:100%;display:inline-flex;justify-content:center;margin:0}}.acf-headerbar-field-editor .acf-page-title{margin-right:16px}.rtl .acf-headerbar,.rtl .acf-headerbar-field-editor{margin-left:0;margin-right:-20px}.rtl .acf-headerbar .acf-page-title,.rtl .acf-headerbar-field-editor .acf-page-title{margin-left:16px;margin-right:0}.rtl .acf-headerbar .acf-headerbar-actions .acf-btn,.rtl .acf-headerbar-field-editor .acf-headerbar-actions .acf-btn{margin-left:0;margin-right:8px}.acf-btn{display:inline-flex;align-items:center;box-sizing:border-box;min-height:40px;padding-top:8px;padding-right:16px;padding-bottom:8px;padding-left:16px;background-color:#0783be;border-radius:6px;border-width:1px;border-style:solid;border-color:rgba(16,24,40,.2);text-decoration:none;color:#fff !important;transition:all .2s ease-in-out;transition-property:background,border,box-shadow}.acf-btn:hover{background-color:#066998;color:#fff;cursor:pointer}.acf-btn:disabled,.acf-btn.disabled{background-color:#f2f4f7;border-color:#eaecf0;color:#98a2b3 !important;transition:none;pointer-events:none}.acf-btn.acf-btn-sm{min-height:32px;padding-top:4px;padding-right:12px;padding-bottom:4px;padding-left:12px}.acf-btn.acf-btn-secondary{background-color:rgba(0,0,0,0);color:#0783be !important;border-color:#0783be}.acf-btn.acf-btn-secondary:hover{background-color:rgb(243.16,249.08,252.04)}.acf-btn.acf-btn-muted{background-color:#667085;color:#fff;height:48px;padding:8px 28px 8px 28px !important;border-radius:6px;border:1px;gap:6px}.acf-btn.acf-btn-muted:hover{background-color:#475467 !important}.acf-btn.acf-btn-tertiary{background-color:rgba(0,0,0,0);color:#667085 !important;border-color:#d0d5dd}.acf-btn.acf-btn-tertiary:hover{color:#667085 !important;border-color:#98a2b3}.acf-btn.acf-btn-clear{background-color:rgba(0,0,0,0);color:#667085 !important;border-color:rgba(0,0,0,0)}.acf-btn.acf-btn-clear:hover{color:#0783be !important}.acf-btn.acf-btn-pro{background:radial-gradient(141.77% 141.08% at 100.26% 99.25%, #0ECAD4 0%, #7A45E5 100%);border:none}.acf-btn i.acf-icon{width:20px;height:20px;-webkit-mask-size:20px;mask-size:20px;margin-right:6px;margin-left:-4px}.acf-btn.acf-btn-sm i.acf-icon{width:16px;height:16px;-webkit-mask-size:16px;mask-size:16px;margin-right:6px;margin-left:-2px}.rtl .acf-btn i.acf-icon{margin-right:-4px;margin-left:6px}.rtl .acf-btn.acf-btn-sm i.acf-icon{margin-right:-4px;margin-left:2px}.acf-btn.acf-delete-field-group:hover{background-color:hsl(0,62.6016260163%,95.7647058824%);border-color:#d13737 !important;color:#d13737 !important}.acf-internal-post-type i.acf-icon,.post-type-acf-field-group i.acf-icon{display:inline-flex;width:20px;height:20px;background-color:currentColor;border:none;border-radius:0;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;text-indent:500%;white-space:nowrap;overflow:hidden}.acf-admin-page i.acf-field-setting-fc-delete,.acf-admin-page i.acf-field-setting-fc-duplicate{box-sizing:border-box;display:flex;flex-direction:row;justify-content:center;align-items:center;padding:8px;cursor:pointer;width:32px;height:32px;background:#fff;border:1px solid #d0d5dd;box-shadow:0px 1px 2px rgba(16,24,40,.1);border-radius:6px;flex:none;order:0;flex-grow:0}.acf-admin-page i.acf-icon-plus{-webkit-mask-image:url("../../images/icons/icon-add.svg");mask-image:url("../../images/icons/icon-add.svg")}.acf-admin-page i.acf-icon-stars{-webkit-mask-image:url("../../images/icons/icon-stars.svg");mask-image:url("../../images/icons/icon-stars.svg")}.acf-admin-page i.acf-icon-help{-webkit-mask-image:url("../../images/icons/icon-help.svg");mask-image:url("../../images/icons/icon-help.svg")}.acf-admin-page i.acf-icon-key{-webkit-mask-image:url("../../images/icons/icon-key.svg");mask-image:url("../../images/icons/icon-key.svg")}.acf-admin-page i.acf-icon-regenerate{-webkit-mask-image:url("../../images/icons/icon-regenerate.svg");mask-image:url("../../images/icons/icon-regenerate.svg")}.acf-admin-page i.acf-icon-trash,.acf-admin-page button.acf-icon-trash{-webkit-mask-image:url("../../images/icons/icon-trash.svg");mask-image:url("../../images/icons/icon-trash.svg")}.acf-admin-page i.acf-icon-extended-menu,.acf-admin-page button.acf-icon-extended-menu{-webkit-mask-image:url("../../images/icons/icon-extended-menu.svg");mask-image:url("../../images/icons/icon-extended-menu.svg")}.acf-admin-page i.acf-icon.-duplicate,.acf-admin-page button.acf-icon-duplicate{-webkit-mask-image:url("../../images/field-type-icons/icon-field-clone.svg");mask-image:url("../../images/field-type-icons/icon-field-clone.svg")}.acf-admin-page i.acf-icon.-duplicate:before,.acf-admin-page i.acf-icon.-duplicate:after,.acf-admin-page button.acf-icon-duplicate:before,.acf-admin-page button.acf-icon-duplicate:after{content:none}.acf-admin-page i.acf-icon-arrow-right{-webkit-mask-image:url("../../images/icons/icon-arrow-right.svg");mask-image:url("../../images/icons/icon-arrow-right.svg")}.acf-admin-page i.acf-icon-arrow-up-right{-webkit-mask-image:url("../../images/icons/icon-arrow-up-right.svg");mask-image:url("../../images/icons/icon-arrow-up-right.svg")}.acf-admin-page i.acf-icon-arrow-left{-webkit-mask-image:url("../../images/icons/icon-arrow-left.svg");mask-image:url("../../images/icons/icon-arrow-left.svg")}.acf-admin-page i.acf-icon-chevron-right,.acf-admin-page .acf-icon.-right{-webkit-mask-image:url("../../images/icons/icon-chevron-right.svg");mask-image:url("../../images/icons/icon-chevron-right.svg")}.acf-admin-page i.acf-icon-chevron-left,.acf-admin-page .acf-icon.-left{-webkit-mask-image:url("../../images/icons/icon-chevron-left.svg");mask-image:url("../../images/icons/icon-chevron-left.svg")}.acf-admin-page i.acf-icon-key-solid{-webkit-mask-image:url("../../images/icons/icon-key-solid.svg");mask-image:url("../../images/icons/icon-key-solid.svg")}.acf-admin-page i.acf-icon-globe,.acf-admin-page .acf-icon.-globe{-webkit-mask-image:url("../../images/icons/icon-globe.svg");mask-image:url("../../images/icons/icon-globe.svg")}.acf-admin-page i.acf-icon-image,.acf-admin-page .acf-icon.-picture{-webkit-mask-image:url("../../images/field-type-icons/icon-field-image.svg");mask-image:url("../../images/field-type-icons/icon-field-image.svg")}.acf-admin-page i.acf-icon-warning{-webkit-mask-image:url("../../images/icons/icon-warning-alt.svg");mask-image:url("../../images/icons/icon-warning-alt.svg")}.acf-admin-page i.acf-icon-warning-red{-webkit-mask-image:url("../../images/icons/icon-warning-alt-red.svg");mask-image:url("../../images/icons/icon-warning-alt-red.svg")}.acf-admin-page i.acf-icon-dots-grid{-webkit-mask-image:url("../../images/icons/icon-dots-grid.svg");mask-image:url("../../images/icons/icon-dots-grid.svg")}.acf-admin-page i.acf-icon-play{-webkit-mask-image:url("../../images/icons/icon-play.svg");mask-image:url("../../images/icons/icon-play.svg")}.acf-admin-page i.acf-icon-lock{-webkit-mask-image:url("../../images/icons/icon-lock.svg");mask-image:url("../../images/icons/icon-lock.svg")}.acf-admin-page i.acf-icon-document{-webkit-mask-image:url("../../images/icons/icon-document.svg");mask-image:url("../../images/icons/icon-document.svg")}.acf-admin-page .post-type-acf-field-group .post-state,.acf-admin-page .acf-internal-post-type .post-state{font-weight:normal}.acf-admin-page .post-type-acf-field-group .post-state .dashicons.dashicons-hidden,.acf-admin-page .acf-internal-post-type .post-state .dashicons.dashicons-hidden{display:inline-flex;width:18px;height:18px;background-color:#98a2b3;border:none;border-radius:0;-webkit-mask-size:18px;mask-size:18px;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;-webkit-mask-image:url("../../images/icons/icon-hidden.svg");mask-image:url("../../images/icons/icon-hidden.svg")}.acf-admin-page .post-type-acf-field-group .post-state .dashicons.dashicons-hidden:before,.acf-admin-page .acf-internal-post-type .post-state .dashicons.dashicons-hidden:before{display:none}#acf-field-group-fields .postbox-header h2,#acf-field-group-fields .postbox-header h3,#acf-field-group-fields .acf-sub-field-list-header h2,#acf-field-group-fields .acf-sub-field-list-header h3,#acf-field-group-options .postbox-header h2,#acf-field-group-options .postbox-header h3,#acf-field-group-options .acf-sub-field-list-header h2,#acf-field-group-options .acf-sub-field-list-header h3,#acf-advanced-settings .postbox-header h2,#acf-advanced-settings .postbox-header h3,#acf-advanced-settings .acf-sub-field-list-header h2,#acf-advanced-settings .acf-sub-field-list-header h3{display:inline-flex;justify-content:flex-start;align-content:stretch;align-items:center}#acf-field-group-fields .postbox-header h2:before,#acf-field-group-fields .postbox-header h3:before,#acf-field-group-fields .acf-sub-field-list-header h2:before,#acf-field-group-fields .acf-sub-field-list-header h3:before,#acf-field-group-options .postbox-header h2:before,#acf-field-group-options .postbox-header h3:before,#acf-field-group-options .acf-sub-field-list-header h2:before,#acf-field-group-options .acf-sub-field-list-header h3:before,#acf-advanced-settings .postbox-header h2:before,#acf-advanced-settings .postbox-header h3:before,#acf-advanced-settings .acf-sub-field-list-header h2:before,#acf-advanced-settings .acf-sub-field-list-header h3:before{content:"";display:inline-block;width:20px;height:20px;margin-right:8px;background-color:#98a2b3;border:none;border-radius:0;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center}.rtl #acf-field-group-fields .postbox-header h2:before,.rtl #acf-field-group-fields .postbox-header h3:before,.rtl #acf-field-group-fields .acf-sub-field-list-header h2:before,.rtl #acf-field-group-fields .acf-sub-field-list-header h3:before,.rtl #acf-field-group-options .postbox-header h2:before,.rtl #acf-field-group-options .postbox-header h3:before,.rtl #acf-field-group-options .acf-sub-field-list-header h2:before,.rtl #acf-field-group-options .acf-sub-field-list-header h3:before{margin-right:0;margin-left:8px}#acf-field-group-fields .postbox-header h2:before,h3.acf-sub-field-list-title:before,.acf-link-field-groups-popup h3:before{-webkit-mask-image:url("../../images/icons/icon-fields.svg");mask-image:url("../../images/icons/icon-fields.svg")}.acf-create-options-page-popup h3:before{-webkit-mask-image:url("../../images/icons/icon-sliders.svg");mask-image:url("../../images/icons/icon-sliders.svg")}#acf-field-group-options .postbox-header h2:before{-webkit-mask-image:url("../../images/icons/icon-settings.svg");mask-image:url("../../images/icons/icon-settings.svg")}.acf-field-setting-fc_layout .acf-field-settings-fc_head label:before{-webkit-mask-image:url("../../images/icons/icon-layout.svg");mask-image:url("../../images/icons/icon-layout.svg")}.acf-admin-single-post-type #acf-advanced-settings .postbox-header h2:before,.acf-admin-single-taxonomy #acf-advanced-settings .postbox-header h2:before,.acf-admin-single-options-page #acf-advanced-settings .postbox-header h2:before{-webkit-mask-image:url("../../images/icons/icon-post-type.svg");mask-image:url("../../images/icons/icon-post-type.svg")}.acf-field-setting-fc_layout .acf-field-settings-fc_head .acf-fc_draggable:hover .reorder-layout:before{width:20px;height:11px;background-color:#475467 !important;-webkit-mask-image:url("../../images/icons/icon-draggable.svg");mask-image:url("../../images/icons/icon-draggable.svg")}.post-type-acf-field-group .postbox-header .handle-actions,.post-type-acf-field-group #acf-field-group-fields .postbox-header .handle-actions,.post-type-acf-field-group #acf-field-group-options .postbox-header .handle-actions,.post-type-acf-field-group .postbox .postbox-header .handle-actions,.acf-admin-single-post-type #acf-advanced-settings .postbox-header .handle-actions,.acf-admin-single-taxonomy #acf-advanced-settings .postbox-header .handle-actions,.acf-admin-single-options-page #acf-advanced-settings .postbox-header .handle-actions{display:flex}.post-type-acf-field-group .postbox-header .handle-actions .toggle-indicator:before,.post-type-acf-field-group #acf-field-group-fields .postbox-header .handle-actions .toggle-indicator:before,.post-type-acf-field-group #acf-field-group-options .postbox-header .handle-actions .toggle-indicator:before,.post-type-acf-field-group .postbox .postbox-header .handle-actions .toggle-indicator:before,.acf-admin-single-post-type #acf-advanced-settings .postbox-header .handle-actions .toggle-indicator:before,.acf-admin-single-taxonomy #acf-advanced-settings .postbox-header .handle-actions .toggle-indicator:before,.acf-admin-single-options-page #acf-advanced-settings .postbox-header .handle-actions .toggle-indicator:before{content:"";display:inline-flex;width:20px;height:20px;background-color:currentColor;border:none;border-radius:0;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;-webkit-mask-image:url("../../images/icons/icon-chevron-up.svg");mask-image:url("../../images/icons/icon-chevron-up.svg")}.post-type-acf-field-group.closed .postbox-header .handle-actions .toggle-indicator:before,.post-type-acf-field-group #acf-field-group-fields.closed .postbox-header .handle-actions .toggle-indicator:before,.post-type-acf-field-group #acf-field-group-options.closed .postbox-header .handle-actions .toggle-indicator:before,.post-type-acf-field-group .postbox.closed .postbox-header .handle-actions .toggle-indicator:before,.acf-admin-single-post-type #acf-advanced-settings.closed .postbox-header .handle-actions .toggle-indicator:before,.acf-admin-single-taxonomy #acf-advanced-settings.closed .postbox-header .handle-actions .toggle-indicator:before,.acf-admin-single-options-page #acf-advanced-settings.closed .postbox-header .handle-actions .toggle-indicator:before{-webkit-mask-image:url("../../images/icons/icon-chevron-down.svg");mask-image:url("../../images/icons/icon-chevron-down.svg")}.post-type-acf-field-group #acf-admin-tool-export h2,.post-type-acf-field-group #acf-admin-tool-export h3,.post-type-acf-field-group #acf-admin-tool-import h2,.post-type-acf-field-group #acf-admin-tool-import h3,.post-type-acf-field-group #acf-license-information h2,.post-type-acf-field-group #acf-license-information h3,.post-type-acf-field-group #acf-update-information h2,.post-type-acf-field-group #acf-update-information h3{display:inline-flex;justify-content:flex-start;align-content:stretch;align-items:center}.post-type-acf-field-group #acf-admin-tool-export h2:before,.post-type-acf-field-group #acf-admin-tool-export h3:before,.post-type-acf-field-group #acf-admin-tool-import h2:before,.post-type-acf-field-group #acf-admin-tool-import h3:before,.post-type-acf-field-group #acf-license-information h2:before,.post-type-acf-field-group #acf-license-information h3:before,.post-type-acf-field-group #acf-update-information h2:before,.post-type-acf-field-group #acf-update-information h3:before{content:"";display:inline-block;width:20px;height:20px;margin-right:8px;background-color:#98a2b3;border:none;border-radius:0;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center}.post-type-acf-field-group.rtl #acf-admin-tool-export h2:before,.post-type-acf-field-group.rtl #acf-admin-tool-export h3:before,.post-type-acf-field-group.rtl #acf-admin-tool-import h2:before,.post-type-acf-field-group.rtl #acf-admin-tool-import h3:before,.post-type-acf-field-group.rtl #acf-license-information h2:before,.post-type-acf-field-group.rtl #acf-license-information h3:before,.post-type-acf-field-group.rtl #acf-update-information h2:before,.post-type-acf-field-group.rtl #acf-update-information h3:before{margin-right:0;margin-left:8px}.post-type-acf-field-group #acf-admin-tool-export h2:before{-webkit-mask-image:url("../../images/icons/icon-export.svg");mask-image:url("../../images/icons/icon-export.svg")}.post-type-acf-field-group #acf-admin-tool-import h2:before{-webkit-mask-image:url("../../images/icons/icon-import.svg");mask-image:url("../../images/icons/icon-import.svg")}.post-type-acf-field-group #acf-license-information h3:before{-webkit-mask-image:url("../../images/icons/icon-key.svg");mask-image:url("../../images/icons/icon-key.svg")}.post-type-acf-field-group #acf-update-information h3:before{-webkit-mask-image:url("../../images/icons/icon-info.svg");mask-image:url("../../images/icons/icon-info.svg")}.acf-admin-single-field-group .acf-input .acf-icon{width:18px;height:18px}.field-type-icon{box-sizing:border-box;display:inline-flex;align-content:center;align-items:center;justify-content:center;position:relative;width:24px;height:24px;top:-4px;background-color:#ebf5fa;border-width:1px;border-style:solid;border-color:#a5d2e7;border-radius:100%}.field-type-icon:before{content:"";width:14px;height:14px;position:relative;background-color:#0783be;-webkit-mask-size:cover;mask-size:cover;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;-webkit-mask-image:url("../../images/field-type-icons/icon-field-default.svg");mask-image:url("../../images/field-type-icons/icon-field-default.svg")}.field-type-icon.field-type-icon-text:before{-webkit-mask-image:url("../../images/field-type-icons/icon-field-text.svg");mask-image:url("../../images/field-type-icons/icon-field-text.svg")}.field-type-icon.field-type-icon-textarea:before{-webkit-mask-image:url("../../images/field-type-icons/icon-field-textarea.svg");mask-image:url("../../images/field-type-icons/icon-field-textarea.svg")}.field-type-icon.field-type-icon-textarea:before{-webkit-mask-image:url("../../images/field-type-icons/icon-field-textarea.svg");mask-image:url("../../images/field-type-icons/icon-field-textarea.svg")}.field-type-icon.field-type-icon-number:before{-webkit-mask-image:url("../../images/field-type-icons/icon-field-number.svg");mask-image:url("../../images/field-type-icons/icon-field-number.svg")}.field-type-icon.field-type-icon-range:before{-webkit-mask-image:url("../../images/field-type-icons/icon-field-range.svg");mask-image:url("../../images/field-type-icons/icon-field-range.svg")}.field-type-icon.field-type-icon-email:before{-webkit-mask-image:url("../../images/field-type-icons/icon-field-email.svg");mask-image:url("../../images/field-type-icons/icon-field-email.svg")}.field-type-icon.field-type-icon-url:before{-webkit-mask-image:url("../../images/field-type-icons/icon-field-url.svg");mask-image:url("../../images/field-type-icons/icon-field-url.svg")}.field-type-icon.field-type-icon-password:before{-webkit-mask-image:url("../../images/field-type-icons/icon-field-password.svg");mask-image:url("../../images/field-type-icons/icon-field-password.svg")}.field-type-icon.field-type-icon-image:before{-webkit-mask-image:url("../../images/field-type-icons/icon-field-image.svg");mask-image:url("../../images/field-type-icons/icon-field-image.svg")}.field-type-icon.field-type-icon-file:before{-webkit-mask-image:url("../../images/field-type-icons/icon-field-file.svg");mask-image:url("../../images/field-type-icons/icon-field-file.svg")}.field-type-icon.field-type-icon-wysiwyg:before{-webkit-mask-image:url("../../images/field-type-icons/icon-field-wysiwyg.svg");mask-image:url("../../images/field-type-icons/icon-field-wysiwyg.svg")}.field-type-icon.field-type-icon-oembed:before{-webkit-mask-image:url("../../images/field-type-icons/icon-field-oembed.svg");mask-image:url("../../images/field-type-icons/icon-field-oembed.svg")}.field-type-icon.field-type-icon-gallery:before{-webkit-mask-image:url("../../images/field-type-icons/icon-field-gallery.svg");mask-image:url("../../images/field-type-icons/icon-field-gallery.svg")}.field-type-icon.field-type-icon-select:before{-webkit-mask-image:url("../../images/field-type-icons/icon-field-select.svg");mask-image:url("../../images/field-type-icons/icon-field-select.svg")}.field-type-icon.field-type-icon-checkbox:before{-webkit-mask-image:url("../../images/field-type-icons/icon-field-checkbox.svg");mask-image:url("../../images/field-type-icons/icon-field-checkbox.svg")}.field-type-icon.field-type-icon-radio:before{-webkit-mask-image:url("../../images/field-type-icons/icon-field-radio.svg");mask-image:url("../../images/field-type-icons/icon-field-radio.svg")}.field-type-icon.field-type-icon-button-group:before{-webkit-mask-image:url("../../images/field-type-icons/icon-field-button-group.svg");mask-image:url("../../images/field-type-icons/icon-field-button-group.svg")}.field-type-icon.field-type-icon-true-false:before{-webkit-mask-image:url("../../images/field-type-icons/icon-field-true-false.svg");mask-image:url("../../images/field-type-icons/icon-field-true-false.svg")}.field-type-icon.field-type-icon-link:before{-webkit-mask-image:url("../../images/field-type-icons/icon-field-link.svg");mask-image:url("../../images/field-type-icons/icon-field-link.svg")}.field-type-icon.field-type-icon-post-object:before{-webkit-mask-image:url("../../images/field-type-icons/icon-field-post-object.svg");mask-image:url("../../images/field-type-icons/icon-field-post-object.svg")}.field-type-icon.field-type-icon-page-link:before{-webkit-mask-image:url("../../images/field-type-icons/icon-field-page-link.svg");mask-image:url("../../images/field-type-icons/icon-field-page-link.svg")}.field-type-icon.field-type-icon-relationship:before{-webkit-mask-image:url("../../images/field-type-icons/icon-field-relationship.svg");mask-image:url("../../images/field-type-icons/icon-field-relationship.svg")}.field-type-icon.field-type-icon-taxonomy:before{-webkit-mask-image:url("../../images/field-type-icons/icon-field-taxonomy.svg");mask-image:url("../../images/field-type-icons/icon-field-taxonomy.svg")}.field-type-icon.field-type-icon-user:before{-webkit-mask-image:url("../../images/field-type-icons/icon-field-user.svg");mask-image:url("../../images/field-type-icons/icon-field-user.svg")}.field-type-icon.field-type-icon-google-map:before{-webkit-mask-image:url("../../images/field-type-icons/icon-field-google-map.svg");mask-image:url("../../images/field-type-icons/icon-field-google-map.svg")}.field-type-icon.field-type-icon-date-picker:before{-webkit-mask-image:url("../../images/field-type-icons/icon-field-date-picker.svg");mask-image:url("../../images/field-type-icons/icon-field-date-picker.svg")}.field-type-icon.field-type-icon-date-time-picker:before{-webkit-mask-image:url("../../images/field-type-icons/icon-field-date-time-picker.svg");mask-image:url("../../images/field-type-icons/icon-field-date-time-picker.svg")}.field-type-icon.field-type-icon-time-picker:before{-webkit-mask-image:url("../../images/field-type-icons/icon-field-time-picker.svg");mask-image:url("../../images/field-type-icons/icon-field-time-picker.svg")}.field-type-icon.field-type-icon-color-picker:before{-webkit-mask-image:url("../../images/field-type-icons/icon-field-color-picker.svg");mask-image:url("../../images/field-type-icons/icon-field-color-picker.svg")}.field-type-icon.field-type-icon-icon-picker:before{-webkit-mask-image:url("../../images/field-type-icons/icon-field-icon-picker.svg");mask-image:url("../../images/field-type-icons/icon-field-icon-picker.svg")}.field-type-icon.field-type-icon-message:before{-webkit-mask-image:url("../../images/field-type-icons/icon-field-message.svg");mask-image:url("../../images/field-type-icons/icon-field-message.svg")}.field-type-icon.field-type-icon-accordion:before{-webkit-mask-image:url("../../images/field-type-icons/icon-field-accordion.svg");mask-image:url("../../images/field-type-icons/icon-field-accordion.svg")}.field-type-icon.field-type-icon-tab:before{-webkit-mask-image:url("../../images/field-type-icons/icon-field-tab.svg");mask-image:url("../../images/field-type-icons/icon-field-tab.svg")}.field-type-icon.field-type-icon-group:before{-webkit-mask-image:url("../../images/field-type-icons/icon-field-group.svg");mask-image:url("../../images/field-type-icons/icon-field-group.svg")}.field-type-icon.field-type-icon-repeater:before{-webkit-mask-image:url("../../images/field-type-icons/icon-field-repeater.svg");mask-image:url("../../images/field-type-icons/icon-field-repeater.svg")}.field-type-icon.field-type-icon-flexible-content:before{-webkit-mask-image:url("../../images/field-type-icons/icon-field-flexible-content.svg");mask-image:url("../../images/field-type-icons/icon-field-flexible-content.svg")}.field-type-icon.field-type-icon-clone:before{-webkit-mask-image:url("../../images/field-type-icons/icon-field-clone.svg");mask-image:url("../../images/field-type-icons/icon-field-clone.svg")}#acf-admin-tools .postbox-header{display:none}#acf-admin-tools .acf-meta-box-wrap.-grid{margin-top:0;margin-right:0;margin-bottom:0;margin-left:0}#acf-admin-tools .acf-meta-box-wrap.-grid .postbox{width:100%;clear:none;float:none;margin-bottom:0}@media screen and (max-width: 880px){#acf-admin-tools .acf-meta-box-wrap.-grid .postbox{flex:1 1 100%}}#acf-admin-tools .acf-meta-box-wrap.-grid .postbox:nth-child(odd){margin-left:0}#acf-admin-tools .meta-box-sortables{display:grid;grid-template-columns:repeat(2, 1fr);grid-template-rows:repeat(1, 1fr);grid-column-gap:32px;grid-row-gap:32px}@media screen and (max-width: 880px){#acf-admin-tools .meta-box-sortables{display:flex;flex-wrap:wrap;justify-content:flex-start;align-content:flex-start;align-items:center;grid-column-gap:8px;grid-row-gap:8px}}#acf-admin-tools.tool-export .inside{margin:0}#acf-admin-tools.tool-export .acf-postbox-header{margin-bottom:24px}#acf-admin-tools.tool-export .acf-postbox-main{border:none;margin:0;padding-top:0;padding-right:24px;padding-bottom:0;padding-left:0}#acf-admin-tools.tool-export .acf-postbox-columns{margin-top:0;margin-right:280px;margin-bottom:0;margin-left:0;padding:0}#acf-admin-tools.tool-export .acf-postbox-columns .acf-postbox-side{padding:0}#acf-admin-tools.tool-export .acf-postbox-columns .acf-postbox-side .acf-panel{margin:0;padding:0}#acf-admin-tools.tool-export .acf-postbox-columns .acf-postbox-side:before{display:none}#acf-admin-tools.tool-export .acf-postbox-columns .acf-postbox-side .acf-btn{display:block;width:100%;text-align:center}#acf-admin-tools.tool-export .meta-box-sortables{display:block}#acf-admin-tools.tool-export .acf-panel{border:none}#acf-admin-tools.tool-export .acf-panel h3{margin:0;padding:0;color:#344054}#acf-admin-tools.tool-export .acf-panel h3:before{display:none}#acf-admin-tools.tool-export .acf-checkbox-list{margin-top:16px;border-width:1px;border-style:solid;border-color:#d0d5dd;border-radius:6px}#acf-admin-tools.tool-export .acf-checkbox-list li{display:inline-flex;box-sizing:border-box;width:100%;height:48px;align-items:center;margin:0;padding-right:12px;padding-left:12px;border-bottom-width:1px;border-bottom-style:solid;border-bottom-color:#eaecf0}#acf-admin-tools.tool-export .acf-checkbox-list li:last-child{border-bottom:none}.acf-settings-wrap.acf-updates{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:flex-start;align-content:flex-start;align-items:flex-start}.custom-fields_page_acf-settings-updates .acf-admin-notice,.custom-fields_page_acf-settings-updates .acf-upgrade-notice,.custom-fields_page_acf-settings-updates .notice{flex:1 1 100%}.acf-settings-wrap.acf-updates .acf-box{margin-top:0;margin-right:0;margin-bottom:0;margin-left:0}.acf-settings-wrap.acf-updates .acf-box .inner{padding-top:24px;padding-right:24px;padding-bottom:24px;padding-left:24px}@media screen and (max-width: 880px){.acf-settings-wrap.acf-updates .acf-box{flex:1 1 100%}}.acf-settings-wrap.acf-updates .acf-admin-notice{flex:1 1 100%;margin-top:16px;margin-right:0;margin-left:0}#acf-license-information{flex:1 1 65%;margin-right:32px}#acf-license-information .inner{padding:0}#acf-license-information .inner .acf-license-defined{padding:24px;margin:0}#acf-license-information .inner .acf-activation-form,#acf-license-information .inner .acf-retry-activation{padding:24px}#acf-license-information .inner .acf-activation-form.acf-retry-activation,#acf-license-information .inner .acf-retry-activation.acf-retry-activation{padding-top:0;min-height:40px}#acf-license-information .inner .acf-activation-form.acf-retry-activation .acf-recheck-license.acf-btn,#acf-license-information .inner .acf-retry-activation.acf-retry-activation .acf-recheck-license.acf-btn{float:none;line-height:initial}#acf-license-information .inner .acf-activation-form.acf-retry-activation .acf-recheck-license.acf-btn i,#acf-license-information .inner .acf-retry-activation.acf-retry-activation .acf-recheck-license.acf-btn i{display:none}#acf-license-information .inner .acf-activation-form .acf-manage-license-btn,#acf-license-information .inner .acf-retry-activation .acf-manage-license-btn{float:right;line-height:40px;align-items:center;display:inline-flex}#acf-license-information .inner .acf-activation-form .acf-manage-license-btn.acf-renew-subscription,#acf-license-information .inner .acf-retry-activation .acf-manage-license-btn.acf-renew-subscription{float:none;line-height:initial}#acf-license-information .inner .acf-activation-form .acf-manage-license-btn i,#acf-license-information .inner .acf-retry-activation .acf-manage-license-btn i{margin:0 0 0 5px;width:19px;height:19px}#acf-license-information .inner .acf-activation-form .acf-recheck-license,#acf-license-information .inner .acf-retry-activation .acf-recheck-license{float:right;line-height:40px}#acf-license-information .inner .acf-activation-form .acf-recheck-license i,#acf-license-information .inner .acf-retry-activation .acf-recheck-license i{margin-right:8px;vertical-align:middle}#acf-license-information .inner .acf-license-status-wrap{background:#f9fafb;border-top:1px solid #eaecf0;border-bottom-left-radius:8px;border-bottom-right-radius:8px}#acf-license-information .inner .acf-license-status-wrap .acf-license-status-table{font-size:14px;padding:24px 24px 16px 24px}#acf-license-information .inner .acf-license-status-wrap .acf-license-status-table th{width:160px;font-weight:500;text-align:left;padding-bottom:16px}#acf-license-information .inner .acf-license-status-wrap .acf-license-status-table td{padding-bottom:16px}#acf-license-information .inner .acf-license-status-wrap .acf-license-status-table td .acf-license-status{display:inline-block;height:24px;line-height:24px;border-radius:100px;background:#eaecf0;padding:0 13px 1px 12px;border:1px solid rgba(0,0,0,.12);color:#667085}#acf-license-information .inner .acf-license-status-wrap .acf-license-status-table td .acf-license-status.active{background:rgba(18,183,106,.15);border:1px solid rgba(18,183,106,.24);color:#12b76a}#acf-license-information .inner .acf-license-status-wrap .acf-license-status-table td .acf-license-status.expired,#acf-license-information .inner .acf-license-status-wrap .acf-license-status-table td .acf-license-status.cancelled{background:rgba(209,55,55,.24);border:1px solid rgba(209,55,55,.24);color:#d13737}#acf-license-information .inner .acf-license-status-wrap .acf-no-license-view-pricing{padding:12px 24px;border-top:1px solid #eaecf0;color:#667085}@media screen and (max-width: 1024px){#acf-license-information{margin-right:0;margin-bottom:32px}}#acf-license-information label{font-weight:500}#acf-license-information .acf-input-wrap{margin-top:8px;margin-bottom:24px}#acf-license-information #acf_pro_license{width:100%}#acf-update-information{flex:1 1 35%;max-width:calc(35% - 32px)}#acf-update-information .form-table th,#acf-update-information .form-table td{padding-top:0;padding-right:0;padding-bottom:24px;padding-left:0;color:#344054}#acf-update-information .acf-update-changelog{margin-top:8px;margin-bottom:24px;padding-top:8px;border-top-width:1px;border-top-style:solid;border-top-color:#eaecf0;color:#344054}#acf-update-information .acf-update-changelog h4{margin-bottom:0}#acf-update-information .acf-update-changelog p{margin-top:0;margin-bottom:16px}#acf-update-information .acf-update-changelog p:last-of-type{margin-bottom:0}#acf-update-information .acf-update-changelog p em{color:#667085}#acf-update-information .acf-btn{display:inline-flex}.acf-admin-toolbar a.acf-admin-toolbar-upgrade-btn{display:inline-flex;align-items:center;align-self:stretch;padding-top:0;padding-right:16px;padding-bottom:0;padding-left:16px;background:radial-gradient(141.77% 141.08% at 100.26% 99.25%, #0ECAD4 0%, #7A45E5 100%);box-shadow:inset 0 0 0 1px hsla(0,0%,100%,.16);border-radius:6px;text-decoration:none}@media screen and (max-width: 768px){.acf-admin-toolbar a.acf-admin-toolbar-upgrade-btn{display:none}}.acf-admin-toolbar a.acf-admin-toolbar-upgrade-btn:focus{border:none;outline:none;box-shadow:none}.acf-admin-toolbar a.acf-admin-toolbar-upgrade-btn p{margin:0;padding-top:8px;padding-bottom:8px;font-weight:400;text-transform:none;color:#fff}.acf-admin-toolbar a.acf-admin-toolbar-upgrade-btn .acf-icon{width:18px;height:18px;margin-right:6px;margin-left:-2px;background-color:#f9fafb}.acf-admin-page #tmpl-acf-field-group-pro-features,.acf-admin-page #acf-field-group-pro-features{display:none;align-items:center;min-height:120px;background-color:#121833;background-image:url(../../images/pro-upgrade-grid-bg.svg),url(../../images/pro-upgrade-overlay.svg);background-repeat:repeat,no-repeat;background-size:1224px,1880px;background-position:left top,-520px -680px;color:#eaecf0;border-radius:8px;margin-top:24px;margin-bottom:24px}@media screen and (max-width: 768px){.acf-admin-page #tmpl-acf-field-group-pro-features,.acf-admin-page #acf-field-group-pro-features{background-size:1024px,980px;background-position:left top,-500px -200px}}@media screen and (max-width: 1200px){.acf-admin-page #tmpl-acf-field-group-pro-features,.acf-admin-page #acf-field-group-pro-features{background-size:1024px,1880px;background-position:left top,-520px -300px}}.acf-admin-page #tmpl-acf-field-group-pro-features .postbox-header,.acf-admin-page #acf-field-group-pro-features .postbox-header{display:none}.acf-admin-page #tmpl-acf-field-group-pro-features .inside,.acf-admin-page #acf-field-group-pro-features .inside{width:100%;border:none;padding:0}.acf-admin-page #tmpl-acf-field-group-pro-features .acf-field-group-pro-features-wrapper,.acf-admin-page #acf-field-group-pro-features .acf-field-group-pro-features-wrapper{display:flex;justify-content:center;align-content:stretch;align-items:center;gap:96px;height:358px;max-width:950px;margin:0 auto;padding:0 35px}@media screen and (max-width: 1200px){.acf-admin-page #tmpl-acf-field-group-pro-features .acf-field-group-pro-features-wrapper,.acf-admin-page #acf-field-group-pro-features .acf-field-group-pro-features-wrapper{gap:48px}}@media screen and (max-width: 768px){.acf-admin-page #tmpl-acf-field-group-pro-features .acf-field-group-pro-features-wrapper,.acf-admin-page #acf-field-group-pro-features .acf-field-group-pro-features-wrapper{gap:0}}.acf-admin-page #tmpl-acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-title,.acf-admin-page #tmpl-acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-title-sm,.acf-admin-page #acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-title,.acf-admin-page #acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-title-sm{font-weight:590;line-height:150%}.acf-admin-page #tmpl-acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-title .acf-pro-label,.acf-admin-page #tmpl-acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-title-sm .acf-pro-label,.acf-admin-page #acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-title .acf-pro-label,.acf-admin-page #acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-title-sm .acf-pro-label{font-weight:400;margin-top:-6px;margin-left:2px;vertical-align:middle;height:22px;position:relative;overflow:hidden}.acf-admin-page #tmpl-acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-title .acf-pro-label::before,.acf-admin-page #tmpl-acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-title-sm .acf-pro-label::before,.acf-admin-page #acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-title .acf-pro-label::before,.acf-admin-page #acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-title-sm .acf-pro-label::before{display:block;position:absolute;content:"";top:0;right:0;bottom:0;left:0;border-radius:9999px;border:1px solid hsla(0,0%,100%,.2)}.acf-admin-page #tmpl-acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-title-sm,.acf-admin-page #acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-title-sm{display:none !important;font-size:18px}.acf-admin-page #tmpl-acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-title-sm .acf-pro-label,.acf-admin-page #acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-title-sm .acf-pro-label{font-size:10px;height:20px}@media screen and (max-width: 768px){.acf-admin-page #tmpl-acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-title-sm,.acf-admin-page #acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-title-sm{width:100%;text-align:center}}@media screen and (max-width: 768px){.acf-admin-page #tmpl-acf-field-group-pro-features .acf-field-group-pro-features-wrapper,.acf-admin-page #acf-field-group-pro-features .acf-field-group-pro-features-wrapper{flex-direction:column;flex-wrap:wrap;justify-content:flex-start;align-content:flex-start;align-items:flex-start;padding:32px 32px 0 32px;height:unset}.acf-admin-page #tmpl-acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-title-sm,.acf-admin-page #acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-title-sm{display:block !important;margin-bottom:24px}}.acf-admin-page #tmpl-acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-content,.acf-admin-page #acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-content{display:flex;flex-direction:column;width:416px}.acf-admin-page #tmpl-acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-content .acf-field-group-pro-features-desc,.acf-admin-page #acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-content .acf-field-group-pro-features-desc{margin-top:8px;margin-bottom:24px;font-size:15px;font-weight:300;color:#d0d5dd}@media screen and (max-width: 768px){.acf-admin-page #tmpl-acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-content,.acf-admin-page #acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-content{width:100%;order:1;margin-right:0;margin-bottom:8px}.acf-admin-page #tmpl-acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-content .acf-field-group-pro-features-title,.acf-admin-page #tmpl-acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-content .acf-field-group-pro-features-desc,.acf-admin-page #acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-content .acf-field-group-pro-features-title,.acf-admin-page #acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-content .acf-field-group-pro-features-desc{display:none !important}}.acf-admin-page #tmpl-acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-actions,.acf-admin-page #acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-actions{display:flex;flex-direction:row;align-items:flex-start;min-width:160px;gap:12px}@media screen and (max-width: 768px){.acf-admin-page #tmpl-acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-actions,.acf-admin-page #acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-actions{justify-content:flex-start;flex-direction:column;margin-bottom:24px}.acf-admin-page #tmpl-acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-actions a,.acf-admin-page #acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-actions a{justify-content:center;text-align:center;width:100%}}.acf-admin-page #tmpl-acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-grid,.acf-admin-page #acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-grid{display:flex;flex-direction:row;flex-wrap:wrap;gap:16px;width:416px}.acf-admin-page #tmpl-acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-grid .acf-field-group-pro-feature,.acf-admin-page #acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-grid .acf-field-group-pro-feature{display:flex;flex-direction:column;justify-content:center;align-items:center;width:128px;height:124px;background:hsla(0,0%,100%,.08);box-shadow:0 0 4px rgba(0,0,0,.04),0 8px 16px rgba(0,0,0,.08),inset 0 0 0 1px hsla(0,0%,100%,.08);backdrop-filter:blur(6px);border-radius:8px}.acf-admin-page #tmpl-acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-grid .acf-field-group-pro-feature .field-type-icon,.acf-admin-page #acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-grid .acf-field-group-pro-feature .field-type-icon{border:none;background:none;width:24px;opacity:.8}.acf-admin-page #tmpl-acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-grid .acf-field-group-pro-feature .field-type-icon::before,.acf-admin-page #acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-grid .acf-field-group-pro-feature .field-type-icon::before{background-color:#fff;width:20px;height:20px}@media screen and (max-width: 1200px){.acf-admin-page #tmpl-acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-grid .acf-field-group-pro-feature .field-type-icon::before,.acf-admin-page #acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-grid .acf-field-group-pro-feature .field-type-icon::before{width:18px;height:18px}}.acf-admin-page #tmpl-acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-grid .acf-field-group-pro-feature .pro-feature-blocks::before,.acf-admin-page #acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-grid .acf-field-group-pro-feature .pro-feature-blocks::before{-webkit-mask-image:url("../../images/icons/icon-extended-menu.svg");mask-image:url("../../images/icons/icon-extended-menu.svg")}.acf-admin-page #tmpl-acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-grid .acf-field-group-pro-feature .pro-feature-options-pages::before,.acf-admin-page #acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-grid .acf-field-group-pro-feature .pro-feature-options-pages::before{-webkit-mask-image:url("../../images/icons/icon-settings.svg");mask-image:url("../../images/icons/icon-settings.svg")}.acf-admin-page #tmpl-acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-grid .acf-field-group-pro-feature .field-type-label,.acf-admin-page #acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-grid .acf-field-group-pro-feature .field-type-label{margin-top:4px;font-size:13px;font-weight:300;text-align:center;color:#fff}@media screen and (max-width: 1200px){.acf-admin-page #tmpl-acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-grid,.acf-admin-page #acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-grid{flex-direction:column;gap:8px;width:288px}.acf-admin-page #tmpl-acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-grid .acf-field-group-pro-feature,.acf-admin-page #acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-grid .acf-field-group-pro-feature{width:100%;height:40px;flex-direction:row;justify-content:unset;gap:8px}.acf-admin-page #tmpl-acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-grid .acf-field-group-pro-feature .field-type-icon,.acf-admin-page #acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-grid .acf-field-group-pro-feature .field-type-icon{position:initial;margin-left:16px}.acf-admin-page #tmpl-acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-grid .acf-field-group-pro-feature .field-type-label,.acf-admin-page #acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-grid .acf-field-group-pro-feature .field-type-label{margin-top:0}}@media screen and (max-width: 768px){.acf-admin-page #tmpl-acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-grid,.acf-admin-page #acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-grid{gap:0;width:100%;height:auto;margin-bottom:16px;flex-direction:unset;flex-wrap:wrap}.acf-admin-page #tmpl-acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-grid .acf-field-group-pro-feature,.acf-admin-page #acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-grid .acf-field-group-pro-feature{flex:1 0 50%;margin-bottom:8px;width:auto;height:auto;justify-content:center;background:none;box-shadow:none;backdrop-filter:none}.acf-admin-page #tmpl-acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-grid .acf-field-group-pro-feature .field-type-label,.acf-admin-page #acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-grid .acf-field-group-pro-feature .field-type-label{margin-left:2px}.acf-admin-page #tmpl-acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-grid .acf-field-group-pro-feature .field-type-icon,.acf-admin-page #acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-grid .acf-field-group-pro-feature .field-type-icon{position:initial;margin-left:0}.acf-admin-page #tmpl-acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-grid .acf-field-group-pro-feature .field-type-icon::before,.acf-admin-page #acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-grid .acf-field-group-pro-feature .field-type-icon::before{height:16px;width:16px}.acf-admin-page #tmpl-acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-grid .acf-field-group-pro-feature .field-type-label,.acf-admin-page #acf-field-group-pro-features .acf-field-group-pro-features-wrapper .acf-field-group-pro-features-grid .acf-field-group-pro-feature .field-type-label{font-size:12px;margin-top:0}}.acf-admin-page #tmpl-acf-field-group-pro-features h1,.acf-admin-page #acf-field-group-pro-features h1{margin-top:0;margin-bottom:4px;padding-top:0;padding-bottom:0;font-weight:700;color:#f9fafb}.acf-admin-page #tmpl-acf-field-group-pro-features h1 .acf-icon,.acf-admin-page #acf-field-group-pro-features h1 .acf-icon{margin-right:8px}.acf-admin-page #tmpl-acf-field-group-pro-features .acf-btn,.acf-admin-page #acf-field-group-pro-features .acf-btn{display:inline-flex;background-color:hsla(0,0%,100%,.1);border:none;box-shadow:0 0 4px rgba(0,0,0,.04),0 4px 8px rgba(0,0,0,.06),inset 0 0 0 1px hsla(0,0%,100%,.16);backdrop-filter:blur(6px);padding:8px 24px;height:48px}.acf-admin-page #tmpl-acf-field-group-pro-features .acf-btn:hover,.acf-admin-page #acf-field-group-pro-features .acf-btn:hover{background-color:hsla(0,0%,100%,.2)}.acf-admin-page #tmpl-acf-field-group-pro-features .acf-btn .acf-icon,.acf-admin-page #acf-field-group-pro-features .acf-btn .acf-icon{margin-right:-2px;margin-left:6px}.acf-admin-page #tmpl-acf-field-group-pro-features .acf-btn.acf-pro-features-upgrade,.acf-admin-page #acf-field-group-pro-features .acf-btn.acf-pro-features-upgrade{background:radial-gradient(141.77% 141.08% at 100.26% 99.25%, #0ECAD4 0%, #7A45E5 100%);box-shadow:0 0 4px rgba(0,0,0,.04),0 4px 8px rgba(0,0,0,.06),inset 0 0 0 1px hsla(0,0%,100%,.16);border-radius:6px}.acf-admin-page #tmpl-acf-field-group-pro-features .acf-field-group-pro-features-footer-wrap,.acf-admin-page #acf-field-group-pro-features .acf-field-group-pro-features-footer-wrap{height:48px;background:rgba(16,24,40,.4);backdrop-filter:blur(6px);border-top:1px solid hsla(0,0%,100%,.08);border-bottom-left-radius:8px;border-bottom-right-radius:8px;color:#98a2b3;font-size:13px;font-weight:300;padding:0 35px}.acf-admin-page #tmpl-acf-field-group-pro-features .acf-field-group-pro-features-footer-wrap .acf-field-group-pro-features-footer,.acf-admin-page #acf-field-group-pro-features .acf-field-group-pro-features-footer-wrap .acf-field-group-pro-features-footer{display:flex;align-items:center;justify-content:space-between;max-width:950px;height:48px;margin:0 auto}.acf-admin-page #tmpl-acf-field-group-pro-features .acf-field-group-pro-features-footer-wrap .acf-field-group-pro-features-wpengine-logo,.acf-admin-page #acf-field-group-pro-features .acf-field-group-pro-features-footer-wrap .acf-field-group-pro-features-wpengine-logo{height:16px;vertical-align:middle;margin-top:-2px;margin-left:3px}.acf-admin-page #tmpl-acf-field-group-pro-features .acf-field-group-pro-features-footer-wrap a,.acf-admin-page #acf-field-group-pro-features .acf-field-group-pro-features-footer-wrap a{color:#98a2b3;text-decoration:none}.acf-admin-page #tmpl-acf-field-group-pro-features .acf-field-group-pro-features-footer-wrap a:hover,.acf-admin-page #acf-field-group-pro-features .acf-field-group-pro-features-footer-wrap a:hover{color:#d0d5dd}.acf-admin-page #tmpl-acf-field-group-pro-features .acf-field-group-pro-features-footer-wrap a .acf-icon,.acf-admin-page #acf-field-group-pro-features .acf-field-group-pro-features-footer-wrap a .acf-icon{width:18px;height:18px;margin-left:4px}.acf-admin-page #tmpl-acf-field-group-pro-features .acf-field-group-pro-features-footer-wrap .acf-more-tools-from-wpengine a,.acf-admin-page #acf-field-group-pro-features .acf-field-group-pro-features-footer-wrap .acf-more-tools-from-wpengine a{display:inline-flex;align-items:center}@media screen and (max-width: 768px){.acf-admin-page #tmpl-acf-field-group-pro-features .acf-field-group-pro-features-footer-wrap,.acf-admin-page #acf-field-group-pro-features .acf-field-group-pro-features-footer-wrap{height:70px;font-size:12px}.acf-admin-page #tmpl-acf-field-group-pro-features .acf-field-group-pro-features-footer-wrap .acf-more-tools-from-wpengine,.acf-admin-page #acf-field-group-pro-features .acf-field-group-pro-features-footer-wrap .acf-more-tools-from-wpengine{display:none}.acf-admin-page #tmpl-acf-field-group-pro-features .acf-field-group-pro-features-footer-wrap .acf-field-group-pro-features-footer,.acf-admin-page #acf-field-group-pro-features .acf-field-group-pro-features-footer-wrap .acf-field-group-pro-features-footer{justify-content:center;height:70px}.acf-admin-page #tmpl-acf-field-group-pro-features .acf-field-group-pro-features-footer-wrap .acf-field-group-pro-features-footer .acf-field-group-pro-features-wpengine-logo,.acf-admin-page #acf-field-group-pro-features .acf-field-group-pro-features-footer-wrap .acf-field-group-pro-features-footer .acf-field-group-pro-features-wpengine-logo{clear:both;margin:6px auto 0 auto;display:block}}.acf-no-field-groups #tmpl-acf-field-group-pro-features,.acf-no-post-types #tmpl-acf-field-group-pro-features,.acf-no-taxonomies #tmpl-acf-field-group-pro-features{margin-top:0}.acf-admin-single-post-type label[for=acf-basic-settings-hide],.acf-admin-single-taxonomy label[for=acf-basic-settings-hide],.acf-admin-single-options-page label[for=acf-basic-settings-hide]{display:none}.acf-admin-single-post-type fieldset.columns-prefs,.acf-admin-single-taxonomy fieldset.columns-prefs,.acf-admin-single-options-page fieldset.columns-prefs{display:none}.acf-admin-single-post-type #acf-basic-settings .postbox-header,.acf-admin-single-taxonomy #acf-basic-settings .postbox-header,.acf-admin-single-options-page #acf-basic-settings .postbox-header{display:none}.acf-admin-single-post-type .postbox-container,.acf-admin-single-post-type .notice,.acf-admin-single-taxonomy .postbox-container,.acf-admin-single-taxonomy .notice,.acf-admin-single-options-page .postbox-container,.acf-admin-single-options-page .notice{max-width:1440px;clear:left}.acf-admin-single-post-type #post-body-content,.acf-admin-single-taxonomy #post-body-content,.acf-admin-single-options-page #post-body-content{margin:0}.acf-admin-single-post-type .postbox .inside,.acf-admin-single-post-type .acf-box .inside,.acf-admin-single-taxonomy .postbox .inside,.acf-admin-single-taxonomy .acf-box .inside,.acf-admin-single-options-page .postbox .inside,.acf-admin-single-options-page .acf-box .inside{padding-top:48px;padding-right:48px;padding-bottom:48px;padding-left:48px}.acf-admin-single-post-type #acf-advanced-settings.postbox .inside,.acf-admin-single-taxonomy #acf-advanced-settings.postbox .inside,.acf-admin-single-options-page #acf-advanced-settings.postbox .inside{padding-bottom:24px}.acf-admin-single-post-type .postbox-container .meta-box-sortables #acf-basic-settings .inside,.acf-admin-single-taxonomy .postbox-container .meta-box-sortables #acf-basic-settings .inside,.acf-admin-single-options-page .postbox-container .meta-box-sortables #acf-basic-settings .inside{border:none}.acf-admin-single-post-type .acf-input-wrap,.acf-admin-single-taxonomy .acf-input-wrap,.acf-admin-single-options-page .acf-input-wrap{overflow:visible}.acf-admin-single-post-type .acf-field,.acf-admin-single-taxonomy .acf-field,.acf-admin-single-options-page .acf-field{margin-top:0;margin-right:0;margin-bottom:24px;margin-left:0}.acf-admin-single-post-type .acf-field .acf-label,.acf-admin-single-taxonomy .acf-field .acf-label,.acf-admin-single-options-page .acf-field .acf-label{margin-bottom:6px}.acf-admin-single-post-type .acf-field-text,.acf-admin-single-post-type .acf-field-textarea,.acf-admin-single-post-type .acf-field-select,.acf-admin-single-taxonomy .acf-field-text,.acf-admin-single-taxonomy .acf-field-textarea,.acf-admin-single-taxonomy .acf-field-select,.acf-admin-single-options-page .acf-field-text,.acf-admin-single-options-page .acf-field-textarea,.acf-admin-single-options-page .acf-field-select{max-width:600px}.acf-admin-single-post-type .acf-field-true-false,.acf-admin-single-taxonomy .acf-field-true-false,.acf-admin-single-options-page .acf-field-true-false{max-width:700px}.acf-admin-single-post-type .acf-field-supports,.acf-admin-single-taxonomy .acf-field-supports,.acf-admin-single-options-page .acf-field-supports{max-width:600px}.acf-admin-single-post-type .acf-field-supports .acf-label,.acf-admin-single-taxonomy .acf-field-supports .acf-label,.acf-admin-single-options-page .acf-field-supports .acf-label{display:block}.acf-admin-single-post-type .acf-field-supports .acf-label .description,.acf-admin-single-taxonomy .acf-field-supports .acf-label .description,.acf-admin-single-options-page .acf-field-supports .acf-label .description{margin-top:4px;margin-bottom:12px}.acf-admin-single-post-type .acf-field-supports .acf_post_type_supports,.acf-admin-single-taxonomy .acf-field-supports .acf_post_type_supports,.acf-admin-single-options-page .acf-field-supports .acf_post_type_supports{display:flex;flex-wrap:wrap;justify-content:flex-start;align-content:flex-start;align-items:flex-start}.acf-admin-single-post-type .acf-field-supports .acf_post_type_supports:focus-within,.acf-admin-single-taxonomy .acf-field-supports .acf_post_type_supports:focus-within,.acf-admin-single-options-page .acf-field-supports .acf_post_type_supports:focus-within{border-color:rgba(0,0,0,0)}.acf-admin-single-post-type .acf-field-supports .acf_post_type_supports li,.acf-admin-single-taxonomy .acf-field-supports .acf_post_type_supports li,.acf-admin-single-options-page .acf-field-supports .acf_post_type_supports li{flex:0 0 25%}.acf-admin-single-post-type .acf-field-supports .acf_post_type_supports li a.button,.acf-admin-single-taxonomy .acf-field-supports .acf_post_type_supports li a.button,.acf-admin-single-options-page .acf-field-supports .acf_post_type_supports li a.button{background-color:rgba(0,0,0,0);padding:0;border:0;height:auto;min-height:auto;margin-top:0;border-radius:0;line-height:22px}.acf-admin-single-post-type .acf-field-supports .acf_post_type_supports li a.button:before,.acf-admin-single-taxonomy .acf-field-supports .acf_post_type_supports li a.button:before,.acf-admin-single-options-page .acf-field-supports .acf_post_type_supports li a.button:before{content:"";margin-right:6px;display:inline-flex;width:16px;height:16px;background-color:currentColor;border:none;border-radius:0;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;text-indent:500%;white-space:nowrap;overflow:hidden;-webkit-mask-image:url("../../images/icons/icon-add.svg");mask-image:url("../../images/icons/icon-add.svg")}.acf-admin-single-post-type .acf-field-supports .acf_post_type_supports li a.button:hover,.acf-admin-single-taxonomy .acf-field-supports .acf_post_type_supports li a.button:hover,.acf-admin-single-options-page .acf-field-supports .acf_post_type_supports li a.button:hover{color:#044e71}.acf-admin-single-post-type .acf-field-supports .acf_post_type_supports li input[type=text],.acf-admin-single-taxonomy .acf-field-supports .acf_post_type_supports li input[type=text],.acf-admin-single-options-page .acf-field-supports .acf_post_type_supports li input[type=text]{width:calc(100% - 36px);padding:0;box-shadow:none;border:none;border-bottom:1px solid #d0d5dd;border-radius:0;height:auto;margin:0;min-height:auto}.acf-admin-single-post-type .acf-field-supports .acf_post_type_supports li input[type=text]:focus,.acf-admin-single-taxonomy .acf-field-supports .acf_post_type_supports li input[type=text]:focus,.acf-admin-single-options-page .acf-field-supports .acf_post_type_supports li input[type=text]:focus{outline:none;border-bottom-color:#399ccb}.acf-admin-single-post-type .acf-field-seperator,.acf-admin-single-taxonomy .acf-field-seperator,.acf-admin-single-options-page .acf-field-seperator{margin-top:40px;margin-bottom:40px;border-top:1px solid #eaecf0;border-right:none;border-bottom:none;border-left:none}.acf-admin-single-post-type .acf-field-advanced-configuration,.acf-admin-single-taxonomy .acf-field-advanced-configuration,.acf-admin-single-options-page .acf-field-advanced-configuration{margin-bottom:0}.acf-admin-single-post-type .postbox-container .acf-tab-wrap,.acf-admin-single-post-type .acf-regenerate-labels-bar,.acf-admin-single-taxonomy .postbox-container .acf-tab-wrap,.acf-admin-single-taxonomy .acf-regenerate-labels-bar,.acf-admin-single-options-page .postbox-container .acf-tab-wrap,.acf-admin-single-options-page .acf-regenerate-labels-bar{position:relative;top:-48px;left:-48px;width:calc(100% + 96px)}.acf-admin-single-post-type .acf-regenerate-labels-bar,.acf-admin-single-taxonomy .acf-regenerate-labels-bar,.acf-admin-single-options-page .acf-regenerate-labels-bar{display:flex;align-items:center;justify-content:right;min-height:48px;margin-bottom:0;padding-right:16px;padding-left:16px;gap:8px;border-bottom-width:1px;border-bottom-style:solid;border-bottom-color:#f2f4f7}.acf-admin-single-post-type .acf-labels-tip,.acf-admin-single-taxonomy .acf-labels-tip,.acf-admin-single-options-page .acf-labels-tip{display:inline-flex;align-items:center;min-height:24px;margin-right:8px;padding-left:16px;border-left-width:1px;border-left-style:solid;border-left-color:#eaecf0}.acf-admin-single-post-type .acf-labels-tip .acf-icon,.acf-admin-single-taxonomy .acf-labels-tip .acf-icon,.acf-admin-single-options-page .acf-labels-tip .acf-icon{display:inline-flex;align-items:center;width:16px;height:16px;-webkit-mask-size:16px;mask-size:16px;background-color:#98a2b3}.acf-select2-default-pill{border-radius:100px;min-height:20px;padding-top:2px;padding-bottom:2px;padding-left:8px;padding-right:8px;font-size:11px;margin-left:6px;background-color:#eaecf0;color:#667085}.acf-menu-position-desc-child{display:none}.acf-modal.acf-browse-fields-modal{width:1120px;height:664px;top:50%;right:auto;bottom:auto;left:50%;transform:translate(-50%, -50%);display:flex;flex-direction:row;border-radius:12px;box-shadow:0 0 4px rgba(0,0,0,.04),0 8px 16px rgba(0,0,0,.08);overflow:hidden}.acf-modal.acf-browse-fields-modal .acf-field-picker{display:flex;flex-direction:column;flex-grow:1;width:760px;background:#fff}.acf-modal.acf-browse-fields-modal .acf-field-picker .acf-modal-title,.acf-modal.acf-browse-fields-modal .acf-field-picker .acf-modal-content,.acf-modal.acf-browse-fields-modal .acf-field-picker .acf-modal-toolbar{position:relative}.acf-modal.acf-browse-fields-modal .acf-field-picker .acf-modal-title{display:flex;flex-direction:row;justify-content:space-between;align-items:center;background:#f9fafb;border:none;padding:35px 32px}.acf-modal.acf-browse-fields-modal .acf-field-picker .acf-modal-title .acf-search-field-types-wrap{position:relative}.acf-modal.acf-browse-fields-modal .acf-field-picker .acf-modal-title .acf-search-field-types-wrap::after{content:"";display:block;position:absolute;top:11px;left:10px;width:18px;height:18px;-webkit-mask-image:url("../../images/icons/icon-search.svg");mask-image:url("../../images/icons/icon-search.svg");background-color:#98a2b3;border:none;border-radius:0;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;text-indent:500%;white-space:nowrap;overflow:hidden}.acf-modal.acf-browse-fields-modal .acf-field-picker .acf-modal-title .acf-search-field-types-wrap input{width:280px;height:40px;margin:0;padding-left:32px;box-shadow:none}.acf-modal.acf-browse-fields-modal .acf-field-picker .acf-modal-content{top:auto;bottom:auto;padding:0;height:100%}.acf-modal.acf-browse-fields-modal .acf-field-picker .acf-modal-content .acf-tab-group{padding-left:32px}.acf-modal.acf-browse-fields-modal .acf-field-picker .acf-modal-content .acf-field-types-tab{display:flex}.acf-modal.acf-browse-fields-modal .acf-field-picker .acf-modal-content .acf-field-types-tab,.acf-modal.acf-browse-fields-modal .acf-field-picker .acf-modal-content .acf-field-type-search-results{flex-direction:row;flex-wrap:wrap;gap:24px;padding:32px}.acf-modal.acf-browse-fields-modal .acf-field-picker .acf-modal-content .acf-field-types-tab .acf-field-type,.acf-modal.acf-browse-fields-modal .acf-field-picker .acf-modal-content .acf-field-type-search-results .acf-field-type{position:relative;display:flex;flex-direction:column;justify-content:center;align-items:center;isolation:isolate;width:120px;height:120px;background:#f9fafb;border:1px solid #eaecf0;border-radius:8px;box-sizing:border-box;color:#1d2939;text-decoration:none}.acf-modal.acf-browse-fields-modal .acf-field-picker .acf-modal-content .acf-field-types-tab .acf-field-type:hover,.acf-modal.acf-browse-fields-modal .acf-field-picker .acf-modal-content .acf-field-types-tab .acf-field-type:active,.acf-modal.acf-browse-fields-modal .acf-field-picker .acf-modal-content .acf-field-types-tab .acf-field-type.selected,.acf-modal.acf-browse-fields-modal .acf-field-picker .acf-modal-content .acf-field-type-search-results .acf-field-type:hover,.acf-modal.acf-browse-fields-modal .acf-field-picker .acf-modal-content .acf-field-type-search-results .acf-field-type:active,.acf-modal.acf-browse-fields-modal .acf-field-picker .acf-modal-content .acf-field-type-search-results .acf-field-type.selected{background:#ebf5fa;border:1px solid #399ccb;box-shadow:inset 0 0 0 1px #399ccb}.acf-modal.acf-browse-fields-modal .acf-field-picker .acf-modal-content .acf-field-types-tab .acf-field-type .field-type-icon,.acf-modal.acf-browse-fields-modal .acf-field-picker .acf-modal-content .acf-field-type-search-results .acf-field-type .field-type-icon{border:none;background:none;top:0}.acf-modal.acf-browse-fields-modal .acf-field-picker .acf-modal-content .acf-field-types-tab .acf-field-type .field-type-icon::before,.acf-modal.acf-browse-fields-modal .acf-field-picker .acf-modal-content .acf-field-type-search-results .acf-field-type .field-type-icon::before{width:22px;height:22px}.acf-modal.acf-browse-fields-modal .acf-field-picker .acf-modal-content .acf-field-types-tab .acf-field-type .field-type-label,.acf-modal.acf-browse-fields-modal .acf-field-picker .acf-modal-content .acf-field-type-search-results .acf-field-type .field-type-label{margin-top:12px}.acf-modal.acf-browse-fields-modal .acf-field-picker .acf-modal-content .acf-field-types-tab .field-type-requires-pro,.acf-modal.acf-browse-fields-modal .acf-field-picker .acf-modal-content .acf-field-type-search-results .field-type-requires-pro{display:flex;justify-content:center;align-items:center;position:absolute;top:-10px;right:-10px;color:#fff;font-size:11px;padding-right:6px;padding-left:6px;background-image:url("../../images/pro-chip.svg");background-repeat:no-repeat;height:24px;width:28px}.acf-modal.acf-browse-fields-modal .acf-field-picker .acf-modal-content .acf-field-types-tab .field-type-requires-pro.not-pro,.acf-modal.acf-browse-fields-modal .acf-field-picker .acf-modal-content .acf-field-type-search-results .field-type-requires-pro.not-pro{background-image:url("../../images/pro-chip-locked.svg");width:43px}.acf-modal.acf-browse-fields-modal .acf-field-picker .acf-modal-toolbar{display:flex;align-items:flex-start;justify-content:space-between;height:auto;min-height:72px;padding-top:0;padding-right:32px;padding-bottom:0;padding-left:32px;margin:0;border:none}.acf-modal.acf-browse-fields-modal .acf-field-picker .acf-modal-toolbar .acf-select-field,.acf-modal.acf-browse-fields-modal .acf-field-picker .acf-modal-toolbar .acf-btn-pro{min-width:160px;justify-content:center}.acf-modal.acf-browse-fields-modal .acf-field-picker .acf-modal-toolbar .acf-insert-field-label{min-width:280px;box-shadow:none}.acf-modal.acf-browse-fields-modal .acf-field-picker .acf-modal-toolbar .acf-field-picker-actions{display:flex;gap:8px}.acf-modal.acf-browse-fields-modal .acf-field-type-preview{display:flex;flex-direction:column;width:360px;background-color:#f9fafb;background-image:url("../../images/field-preview-grid.png");background-size:740px;background-repeat:no-repeat;background-position:center bottom;border-left:1px solid #eaecf0;box-sizing:border-box;padding:32px}.acf-modal.acf-browse-fields-modal .acf-field-type-preview .field-type-desc{margin:0;padding:0;color:#667085}.acf-modal.acf-browse-fields-modal .acf-field-type-preview .field-type-preview-container{display:inline-flex;justify-content:center;width:100%;margin-top:24px;padding-top:32px;padding-bottom:32px;background-color:hsla(0,0%,100%,.64);border-radius:8px;box-shadow:0 0 0 1px rgba(0,0,0,.04),0 8px 24px rgba(0,0,0,.04)}.acf-modal.acf-browse-fields-modal .acf-field-type-preview .field-type-image{max-width:232px}.acf-modal.acf-browse-fields-modal .acf-field-type-preview .field-type-info{flex-grow:1}.acf-modal.acf-browse-fields-modal .acf-field-type-preview .field-type-info .field-type-name{font-size:21px;margin-top:0;margin-right:0;margin-bottom:16px;margin-left:0}.acf-modal.acf-browse-fields-modal .acf-field-type-preview .field-type-info .field-type-upgrade-to-unlock{display:inline-flex;justify-items:center;align-items:center;min-height:24px;margin-bottom:12px;padding-right:10px;padding-left:10px;background:radial-gradient(141.77% 141.08% at 100.26% 99.25%, #0ECAD4 0%, #7A45E5 100%);border-radius:100px;color:#fff;text-decoration:none;font-size:10px;text-transform:uppercase}.acf-modal.acf-browse-fields-modal .acf-field-type-preview .field-type-info .field-type-upgrade-to-unlock i.acf-icon{width:14px;height:14px;margin-right:4px}.acf-modal.acf-browse-fields-modal .acf-field-type-preview .field-type-links{display:flex;align-items:center;gap:24px;min-height:40px}.acf-modal.acf-browse-fields-modal .acf-field-type-preview .field-type-links .acf-icon{width:18px;height:18px}.acf-modal.acf-browse-fields-modal .acf-field-type-preview .field-type-links::before{display:none}.acf-modal.acf-browse-fields-modal .acf-field-type-preview .field-type-links a{display:flex;gap:6px;text-decoration:none}.acf-modal.acf-browse-fields-modal .acf-field-type-preview .field-type-links a:hover{text-decoration:underline}.acf-modal.acf-browse-fields-modal .acf-field-type-search-results,.acf-modal.acf-browse-fields-modal .acf-field-type-search-no-results{display:none}.acf-modal.acf-browse-fields-modal.is-searching .acf-tab-wrap,.acf-modal.acf-browse-fields-modal.is-searching .acf-field-types-tab,.acf-modal.acf-browse-fields-modal.is-searching .acf-field-type-search-no-results{display:none !important}.acf-modal.acf-browse-fields-modal.is-searching .acf-field-type-search-results{display:flex}.acf-modal.acf-browse-fields-modal.no-results-found .acf-tab-wrap,.acf-modal.acf-browse-fields-modal.no-results-found .acf-field-types-tab,.acf-modal.acf-browse-fields-modal.no-results-found .acf-field-type-search-results,.acf-modal.acf-browse-fields-modal.no-results-found .field-type-info,.acf-modal.acf-browse-fields-modal.no-results-found .field-type-links,.acf-modal.acf-browse-fields-modal.no-results-found .acf-field-picker-toolbar{display:none !important}.acf-modal.acf-browse-fields-modal.no-results-found .acf-modal-title{border-bottom-width:1px;border-bottom-style:solid;border-bottom-color:#eaecf0}.acf-modal.acf-browse-fields-modal.no-results-found .acf-field-type-search-no-results{display:flex;flex-direction:column;justify-content:center;align-items:center;height:100%;gap:6px}.acf-modal.acf-browse-fields-modal.no-results-found .acf-field-type-search-no-results img{margin-bottom:19px}.acf-modal.acf-browse-fields-modal.no-results-found .acf-field-type-search-no-results p{margin:0}.acf-modal.acf-browse-fields-modal.no-results-found .acf-field-type-search-no-results p.acf-no-results-text{display:flex}.acf-modal.acf-browse-fields-modal.no-results-found .acf-field-type-search-no-results .acf-invalid-search-term{max-width:200px;overflow:hidden;text-overflow:ellipsis;display:inline-block}@media only screen and (max-width: 1080px){.acf-btn.browse-fields{display:none}}.acf-block-body .acf-field-icon-picker .acf-tab-group{margin:0;padding-left:0 !important}.acf-field-icon-picker{max-width:600px}.acf-field-icon-picker .acf-tab-group{padding:0;border-bottom:0;overflow:hidden}.acf-field-icon-picker .active a{background:#667085;color:#fff}.acf-field-icon-picker .acf-dashicons-search-wrap{position:relative}.acf-field-icon-picker .acf-dashicons-search-wrap::after{content:"";display:block;position:absolute;top:6px;left:10px;width:18px;height:18px;-webkit-mask-image:url(../../images/icons/icon-search.svg);mask-image:url(../../images/icons/icon-search.svg);background-color:#98a2b3;border:none;border-radius:0;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;text-indent:500%;white-space:nowrap;overflow:hidden}.acf-field-icon-picker .acf-dashicons-search-wrap .acf-dashicons-search-input{padding-left:32px;border-radius:0}.acf-field-icon-picker .acf-dashicons-list{margin-bottom:0;display:flex;flex-wrap:wrap;justify-content:space-between;align-content:start;height:135px;overflow:hidden;overflow-y:auto;background-color:#f9f9f9;border:1px solid #8c8f94;border-top:none;border-radius:0 0 6px 6px;gap:8px;padding:8px}.acf-field-icon-picker .acf-dashicons-list .acf-icon-picker-dashicon{background-color:rgba(0,0,0,0);display:flex;justify-content:center;align-items:center;width:32px;height:32px;border:solid 2px rgba(0,0,0,0);color:#3c434a}.acf-field-icon-picker .acf-dashicons-list .acf-icon-picker-dashicon label{display:none}.acf-field-icon-picker .acf-dashicons-list .acf-icon-picker-dashicon [type=radio],.acf-field-icon-picker .acf-dashicons-list .acf-icon-picker-dashicon [type=radio]:active,.acf-field-icon-picker .acf-dashicons-list .acf-icon-picker-dashicon [type=radio]:checked::before,.acf-field-icon-picker .acf-dashicons-list .acf-icon-picker-dashicon [type=radio]:focus{all:initial;appearance:none}.acf-field-icon-picker .acf-dashicons-list .acf-icon-picker-dashicon:hover{border:solid 2px #0783be;border-radius:6px;cursor:pointer}.acf-field-icon-picker .acf-dashicons-list .active{border:solid 2px #0783be;background-color:#ebf5fa;border-radius:6px}.acf-field-icon-picker .acf-dashicons-list .active.focus{border:solid 2px #0783be;background-color:#ebf5fa;border-radius:6px;box-shadow:0 0 2px #0783be}.acf-field-icon-picker .acf-dashicons-list::after{content:"";flex:auto}.acf-field-icon-picker .acf-dashicons-list-empty{position:relative;display:none;flex-direction:column;justify-content:center;align-items:center;padding-top:10px;padding-left:10px;height:135px;overflow:scroll;background-color:#f9fafb;border:1px solid #d0d5dd;border-top:none;border-radius:0 0 6px 6px}.acf-field-icon-picker .acf-dashicons-list-empty img{height:30px;width:30px;color:#d0d5dd}.acf-field-icon-picker .acf-icon-picker-media-library,.acf-field-icon-picker .acf-icon-picker-url-tabs{box-sizing:border-box;display:flex;align-items:center;justify-items:center;gap:12px;background-color:#f9f9f9;padding:12px;border:1px solid #8c8f94;border-radius:0}.acf-field-icon-picker .acf-icon-picker-media-library .acf-icon-picker-media-library-preview,.acf-field-icon-picker .acf-icon-picker-url-tabs .acf-icon-picker-media-library-preview{all:unset;cursor:pointer}.acf-field-icon-picker .acf-icon-picker-media-library .acf-icon-picker-media-library-preview:focus,.acf-field-icon-picker .acf-icon-picker-url-tabs .acf-icon-picker-media-library-preview:focus{outline:1px solid #0783be;border-radius:6px}.acf-field-icon-picker .acf-icon-picker-media-library .acf-icon-picker-media-library-preview-dashicon,.acf-field-icon-picker .acf-icon-picker-media-library .acf-icon-picker-media-library-preview-img,.acf-field-icon-picker .acf-icon-picker-url-tabs .acf-icon-picker-media-library-preview-dashicon,.acf-field-icon-picker .acf-icon-picker-url-tabs .acf-icon-picker-media-library-preview-img{box-sizing:border-box;width:40px;height:40px;border:solid 2px rgba(0,0,0,0);color:#fff;background-color:#191e23;display:flex;justify-content:center;align-items:center;border-radius:6px}.acf-field-icon-picker .acf-icon-picker-media-library .acf-icon-picker-media-library-preview-img>img,.acf-field-icon-picker .acf-icon-picker-url-tabs .acf-icon-picker-media-library-preview-img>img{width:90%;height:90%;object-fit:cover;border-radius:5px;border:1px solid #667085}.acf-field-icon-picker .acf-icon-picker-media-library .acf-icon-picker-media-library-button,.acf-field-icon-picker .acf-icon-picker-url-tabs .acf-icon-picker-media-library-button{height:40px;background-color:#0783be;border:none;border-radius:6px;padding:8px 12px;color:#fff;display:flex;align-items:center;justify-items:center;gap:4px;cursor:pointer}.acf-field-icon-picker .acf-icon-picker-media-library .acf-icon-picker-url,.acf-field-icon-picker .acf-icon-picker-url-tabs .acf-icon-picker-url{width:100%}.-left .acf-field-icon-picker{max-width:inherit}.acf-admin-page.acf-internal-post-type .acf-field-icon-picker{max-width:600px}.acf-admin-page.acf-internal-post-type .acf-field-icon-picker .active a{background:#667085;color:#fff}.acf-admin-page.acf-internal-post-type .acf-field-icon-picker .acf-tab-button{border:none;height:25px;padding:5px 10px;border-radius:15px}.acf-admin-page.acf-internal-post-type .acf-field-icon-picker li a .acf-tab-button{color:#667085}.acf-admin-page.acf-internal-post-type .acf-field-icon-picker .acf-icon-picker>*:not(.acf-tab-wrap){top:-32px;position:relative}.acf-admin-page.acf-internal-post-type .acf-field-icon-picker .acf-tab-wrap .acf-tab-group{margin-right:48px;display:flex;gap:10px;justify-content:flex-end;align-items:center;background:none;border:none;max-width:648px;border-bottom-width:0}.acf-admin-page.acf-internal-post-type .acf-field-icon-picker .acf-tab-wrap .acf-tab-group li{all:initial;box-sizing:border-box;margin-bottom:-17px;margin-right:0;border-radius:10px}.acf-admin-page.acf-internal-post-type .acf-field-icon-picker .acf-tab-wrap .acf-tab-group li a{all:initial;outline:1px solid rgba(0,0,0,0);color:#667085;box-sizing:border-box;border-radius:100px;cursor:pointer;padding:7px;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-size:12.5px}.acf-admin-page.acf-internal-post-type .acf-field-icon-picker .acf-tab-wrap .acf-tab-group li.active a{background-color:#667085;color:#fff;border-bottom-width:1px !important}.acf-admin-page.acf-internal-post-type .acf-field-icon-picker .acf-tab-wrap .acf-tab-group li a:focus{outline:1px solid #0783be}.acf-admin-page.acf-internal-post-type .acf-field-icon-picker .acf-tab-wrap{background:none;border:none;overflow:visible}.acf-admin-page.acf-internal-post-type .acf-field-icon-picker .acf-dashicons-search-wrap{position:relative}.acf-admin-page.acf-internal-post-type .acf-field-icon-picker .acf-dashicons-search-wrap::after{content:"";display:block;position:absolute;top:11px;left:10px;width:18px;height:18px;-webkit-mask-image:url(../../images/icons/icon-search.svg);mask-image:url(../../images/icons/icon-search.svg);background-color:#98a2b3;border:none;border-radius:0;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;text-indent:500%;white-space:nowrap;overflow:hidden}.acf-admin-page.acf-internal-post-type .acf-field-icon-picker .acf-dashicons-search-wrap .acf-dashicons-search-input{padding-left:32px;border-radius:6px 6px 0 0}.acf-admin-page.acf-internal-post-type .acf-field-icon-picker .acf-dashicons-list{margin-bottom:-32px;display:flex;flex-wrap:wrap;justify-content:space-between;align-content:start;height:135px;overflow:hidden;overflow-y:auto;background-color:#f9fafb;border:1px solid #d0d5dd;border-top:none;border-radius:0 0 6px 6px;gap:8px;padding:8px}.acf-admin-page.acf-internal-post-type .acf-field-icon-picker .acf-dashicons-list .acf-icon-picker-dashicon{background-color:rgba(0,0,0,0);display:flex;justify-content:center;align-items:center;width:32px;height:32px;border:solid 2px rgba(0,0,0,0);color:#3c434a}.acf-admin-page.acf-internal-post-type .acf-field-icon-picker .acf-dashicons-list .acf-icon-picker-dashicon label{display:none}.acf-admin-page.acf-internal-post-type .acf-field-icon-picker .acf-dashicons-list .acf-icon-picker-dashicon [type=radio],.acf-admin-page.acf-internal-post-type .acf-field-icon-picker .acf-dashicons-list .acf-icon-picker-dashicon [type=radio]:active,.acf-admin-page.acf-internal-post-type .acf-field-icon-picker .acf-dashicons-list .acf-icon-picker-dashicon [type=radio]:checked::before,.acf-admin-page.acf-internal-post-type .acf-field-icon-picker .acf-dashicons-list .acf-icon-picker-dashicon [type=radio]:focus{all:initial;appearance:none}.acf-admin-page.acf-internal-post-type .acf-field-icon-picker .acf-dashicons-list .acf-icon-picker-dashicon:hover{border:solid 2px #0783be;border-radius:6px;cursor:pointer}.acf-admin-page.acf-internal-post-type .acf-field-icon-picker .acf-dashicons-list .active{border:solid 2px #0783be;background-color:#ebf5fa;border-radius:6px}.acf-admin-page.acf-internal-post-type .acf-field-icon-picker .acf-dashicons-list .active.focus{border:solid 2px #0783be;background-color:#ebf5fa;border-radius:6px;box-shadow:0 0 2px #0783be}.acf-admin-page.acf-internal-post-type .acf-field-icon-picker .acf-dashicons-list::after{content:"";flex:auto}.acf-admin-page.acf-internal-post-type .acf-field-icon-picker .acf-dashicons-list-empty{position:relative;display:none;flex-direction:column;justify-content:center;align-items:center;padding-top:10px;padding-left:10px;height:135px;overflow:scroll;background-color:#f9fafb;border:1px solid #d0d5dd;border-top:none;border-radius:0 0 6px 6px}.acf-admin-page.acf-internal-post-type .acf-field-icon-picker .acf-dashicons-list-empty img{height:30px;width:30px;color:#d0d5dd}.acf-admin-page.acf-internal-post-type .acf-field-icon-picker .acf-icon-picker-media-library,.acf-admin-page.acf-internal-post-type .acf-field-icon-picker .acf-icon-picker-url-tabs{box-sizing:border-box;display:flex;align-items:center;justify-items:center;gap:12px;background-color:#f9fafb;padding:12px;border:1px solid #d0d5dd;border-radius:6px}.acf-admin-page.acf-internal-post-type .acf-field-icon-picker .acf-icon-picker-media-library .acf-icon-picker-media-library-preview,.acf-admin-page.acf-internal-post-type .acf-field-icon-picker .acf-icon-picker-url-tabs .acf-icon-picker-media-library-preview{all:unset;cursor:pointer}.acf-admin-page.acf-internal-post-type .acf-field-icon-picker .acf-icon-picker-media-library .acf-icon-picker-media-library-preview:focus,.acf-admin-page.acf-internal-post-type .acf-field-icon-picker .acf-icon-picker-url-tabs .acf-icon-picker-media-library-preview:focus{outline:1px solid #0783be;border-radius:6px}.acf-admin-page.acf-internal-post-type .acf-field-icon-picker .acf-icon-picker-media-library .acf-icon-picker-media-library-preview-dashicon,.acf-admin-page.acf-internal-post-type .acf-field-icon-picker .acf-icon-picker-media-library .acf-icon-picker-media-library-preview-img,.acf-admin-page.acf-internal-post-type .acf-field-icon-picker .acf-icon-picker-url-tabs .acf-icon-picker-media-library-preview-dashicon,.acf-admin-page.acf-internal-post-type .acf-field-icon-picker .acf-icon-picker-url-tabs .acf-icon-picker-media-library-preview-img{box-sizing:border-box;width:40px;height:40px;border:solid 2px rgba(0,0,0,0);color:#fff;background-color:#191e23;display:flex;justify-content:center;align-items:center;border-radius:6px}.acf-admin-page.acf-internal-post-type .acf-field-icon-picker .acf-icon-picker-media-library .acf-icon-picker-media-library-preview-img>img,.acf-admin-page.acf-internal-post-type .acf-field-icon-picker .acf-icon-picker-url-tabs .acf-icon-picker-media-library-preview-img>img{width:90%;height:90%;object-fit:cover;border-radius:5px;border:1px solid #667085}.acf-admin-page.acf-internal-post-type .acf-field-icon-picker .acf-icon-picker-media-library .acf-icon-picker-media-library-button,.acf-admin-page.acf-internal-post-type .acf-field-icon-picker .acf-icon-picker-url-tabs .acf-icon-picker-media-library-button{height:40px;background-color:#0783be;border:none;border-radius:6px;padding:8px 12px;color:#fff;display:flex;align-items:center;justify-items:center;gap:4px;cursor:pointer} diff --git a/wp-content/plugins/advanced-custom-fields-pro/assets/build/css/acf-input.css b/wp-content/plugins/advanced-custom-fields-pro/assets/build/css/acf-input.css deleted file mode 100644 index a1874d3d5..000000000 --- a/wp-content/plugins/advanced-custom-fields-pro/assets/build/css/acf-input.css +++ /dev/null @@ -1,3256 +0,0 @@ -/*!****************************************************************************************************************************************************************************************************************!*\ - !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].use[1]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./src/advanced-custom-fields-pro/assets/src/sass/acf-input.scss ***! - \****************************************************************************************************************************************************************************************************************/ -@charset "UTF-8"; -/*-------------------------------------------------------------------------------------------- -* -* Vars -* -*--------------------------------------------------------------------------------------------*/ -/* colors */ -/* acf-field */ -/* responsive */ -/*-------------------------------------------------------------------------------------------- -* -* ACF 6 ↓ -* -*--------------------------------------------------------------------------------------------*/ -/*-------------------------------------------------------------------------------------------- -* -* Mixins -* -*--------------------------------------------------------------------------------------------*/ -/*--------------------------------------------------------------------------------------------- -* -* Global -* -*---------------------------------------------------------------------------------------------*/ -.acf-admin-page #wpcontent { - line-height: 140%; -} - -/*--------------------------------------------------------------------------------------------- -* -* Links -* -*---------------------------------------------------------------------------------------------*/ -.acf-admin-page a { - color: #0783BE; -} - -/*--------------------------------------------------------------------------------------------- -* -* Headings -* -*---------------------------------------------------------------------------------------------*/ -.acf-h1, .acf-admin-page h1, -.acf-headerbar h1 { - font-size: 21px; - font-weight: 400; -} - -.acf-h2, .acf-page-title, .acf-admin-page h2, -.acf-headerbar h2 { - font-size: 18px; - font-weight: 400; -} - -.acf-h3, .acf-admin-page h3, -.acf-headerbar h3 { - font-size: 16px; - font-weight: 400; -} - -/*--------------------------------------------------------------------------------------------- -* -* Paragraphs -* -*---------------------------------------------------------------------------------------------*/ -.acf-admin-page .p1 { - font-size: 15px; -} -.acf-admin-page .p2 { - font-size: 14px; -} -.acf-admin-page .p3 { - font-size: 13.5px; -} -.acf-admin-page .p4 { - font-size: 13px; -} -.acf-admin-page .p5 { - font-size: 12.5px; -} -.acf-admin-page .p6, .acf-admin-page .acf-field p.description, .acf-field .acf-admin-page p.description, .acf-admin-page .acf-small { - font-size: 12px; -} -.acf-admin-page .p7, .acf-admin-page .acf-field-setting-prefix_label p.description code, .acf-field-setting-prefix_label p.description .acf-admin-page code, -.acf-admin-page .acf-field-setting-prefix_name p.description code, -.acf-field-setting-prefix_name p.description .acf-admin-page code { - font-size: 11.5px; -} -.acf-admin-page .p8 { - font-size: 11px; -} - -/*--------------------------------------------------------------------------------------------- -* -* Page titles -* -*---------------------------------------------------------------------------------------------*/ -.acf-page-title { - color: #344054; -} - -/*--------------------------------------------------------------------------------------------- -* -* Hide old / native WP titles from pages -* -*---------------------------------------------------------------------------------------------*/ -.acf-admin-page .acf-settings-wrap h1 { - display: none !important; -} -.acf-admin-page #acf-admin-tools h1:not(.acf-field-group-pro-features-title, .acf-field-group-pro-features-title-sm) { - display: none !important; -} - -/*--------------------------------------------------------------------------------------------- -* -* Small -* -*---------------------------------------------------------------------------------------------*/ -/*--------------------------------------------------------------------------------------------- -* -* Link focus style -* -*---------------------------------------------------------------------------------------------*/ -.acf-admin-page a:focus { - box-shadow: none; - outline: none; -} -.acf-admin-page a:focus-visible { - box-shadow: 0 0 0 1px #4f94d4, 0 0 2px 1px rgba(79, 148, 212, 0.8); - outline: 1px solid transparent; -} - -/*-------------------------------------------------------------------------------------------- -* -* acf-field -* -*--------------------------------------------------------------------------------------------*/ -.acf-field, -.acf-field .acf-label, -.acf-field .acf-input { - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; - position: relative; -} - -.acf-field { - margin: 15px 0; - clear: both; -} -.acf-field p.description { - display: block; - margin: 0; - padding: 0; -} -.acf-field .acf-label { - vertical-align: top; - margin: 0 0 10px; -} -.acf-field .acf-label label { - display: block; - font-weight: 500; - margin: 0 0 3px; - padding: 0; -} -.acf-field .acf-label:empty { - margin-bottom: 0; -} -.acf-field .acf-input { - vertical-align: top; -} -.acf-field p.description { - display: block; - margin-top: 6px; - color: #667085; -} -.acf-field .acf-notice { - margin: 0 0 15px; - background: #edf2ff; - color: #0c6ca0; - border-color: #2183b9; -} -.acf-field .acf-notice.-error { - background: #ffe6e6; - color: #cc2727; - border-color: #d12626; -} -.acf-field .acf-notice.-success { - background: #eefbe8; - color: #0e7b17; - border-color: #32a23b; -} -.acf-field .acf-notice.-warning { - background: #fff3e6; - color: #bd4b0e; - border-color: #d16226; -} -td.acf-field, -tr.acf-field { - margin: 0; -} - -.acf-field[data-width] { - float: left; - clear: none; - /* - @media screen and (max-width: $sm) { - float: none; - width: auto; - border-left-width: 0; - border-right-width: 0; - } - */ -} -.acf-field[data-width] + .acf-field[data-width] { - border-left: 1px solid #eeeeee; -} -html[dir=rtl] .acf-field[data-width] { - float: right; -} -html[dir=rtl] .acf-field[data-width] + .acf-field[data-width] { - border-left: none; - border-right: 1px solid #eeeeee; -} -td.acf-field[data-width], -tr.acf-field[data-width] { - float: none; -} - -.acf-field.-c0 { - clear: both; - border-left-width: 0 !important; -} -html[dir=rtl] .acf-field.-c0 { - border-left-width: 1px !important; - border-right-width: 0 !important; -} - -.acf-field.-r0 { - border-top-width: 0 !important; -} - -/*-------------------------------------------------------------------------------------------- -* -* acf-fields -* -*--------------------------------------------------------------------------------------------*/ -.acf-fields { - position: relative; -} -.acf-fields:after { - display: block; - clear: both; - content: ""; -} -.acf-fields.-border { - border: #ccd0d4 solid 1px; - background: #fff; -} -.acf-fields > .acf-field { - position: relative; - margin: 0; - padding: 16px; - border-top-width: 1px; - border-top-style: solid; - border-top-color: #EAECF0; -} -.acf-fields > .acf-field:first-child { - border-top: none; - margin-top: 0; -} -td.acf-fields { - padding: 0 !important; -} - -/*-------------------------------------------------------------------------------------------- -* -* acf-fields (clear) -* -*--------------------------------------------------------------------------------------------*/ -.acf-fields.-clear > .acf-field { - border: none; - padding: 0; - margin: 15px 0; -} -.acf-fields.-clear > .acf-field[data-width] { - border: none !important; -} -.acf-fields.-clear > .acf-field > .acf-label { - padding: 0; -} -.acf-fields.-clear > .acf-field > .acf-input { - padding: 0; -} - -/*-------------------------------------------------------------------------------------------- -* -* acf-fields (left) -* -*--------------------------------------------------------------------------------------------*/ -.acf-fields.-left > .acf-field { - padding: 15px 0; -} -.acf-fields.-left > .acf-field:after { - display: block; - clear: both; - content: ""; -} -.acf-fields.-left > .acf-field:before { - content: ""; - display: block; - position: absolute; - z-index: 0; - background: #f9f9f9; - border-color: #e1e1e1; - border-style: solid; - border-width: 0 1px 0 0; - top: 0; - bottom: 0; - left: 0; - width: 20%; -} -.acf-fields.-left > .acf-field[data-width] { - float: none; - width: auto !important; - border-left-width: 0 !important; - border-right-width: 0 !important; -} -.acf-fields.-left > .acf-field > .acf-label { - float: left; - width: 20%; - margin: 0; - padding: 0 12px; -} -.acf-fields.-left > .acf-field > .acf-input { - float: left; - width: 80%; - margin: 0; - padding: 0 12px; -} -html[dir=rtl] .acf-fields.-left > .acf-field:before { - border-width: 0 0 0 1px; - left: auto; - right: 0; -} -html[dir=rtl] .acf-fields.-left > .acf-field > .acf-label { - float: right; -} -html[dir=rtl] .acf-fields.-left > .acf-field > .acf-input { - float: right; -} -#side-sortables .acf-fields.-left > .acf-field:before { - display: none; -} -#side-sortables .acf-fields.-left > .acf-field > .acf-label { - width: 100%; - margin-bottom: 10px; -} -#side-sortables .acf-fields.-left > .acf-field > .acf-input { - width: 100%; -} -@media screen and (max-width: 640px) { - .acf-fields.-left > .acf-field:before { - display: none; - } - .acf-fields.-left > .acf-field > .acf-label { - width: 100%; - margin-bottom: 10px; - } - .acf-fields.-left > .acf-field > .acf-input { - width: 100%; - } -} - -/* clear + left */ -.acf-fields.-clear.-left > .acf-field { - padding: 0; - border: none; -} -.acf-fields.-clear.-left > .acf-field:before { - display: none; -} -.acf-fields.-clear.-left > .acf-field > .acf-label { - padding: 0; -} -.acf-fields.-clear.-left > .acf-field > .acf-input { - padding: 0; -} - -/*-------------------------------------------------------------------------------------------- -* -* acf-table -* -*--------------------------------------------------------------------------------------------*/ -.acf-table tr.acf-field > td.acf-label { - padding: 15px 12px; - margin: 0; - background: #f9f9f9; - width: 20%; -} -.acf-table tr.acf-field > td.acf-input { - padding: 15px 12px; - margin: 0; - border-left-color: #e1e1e1; -} - -.acf-sortable-tr-helper { - position: relative !important; - display: table-row !important; -} - -/*-------------------------------------------------------------------------------------------- -* -* acf-postbox -* -*--------------------------------------------------------------------------------------------*/ -.acf-postbox { - position: relative; -} -.acf-postbox > .inside { - margin: 0 !important; /* override WP style - do not delete - you have tried this before */ - padding: 0 !important; /* override WP style - do not delete - you have tried this before */ -} -.acf-postbox .acf-hndle-cog { - color: #72777c; - font-size: 16px; - line-height: 36px; - height: 36px; - width: 1.62rem; - position: relative; - display: none; -} -.acf-postbox .acf-hndle-cog:hover { - color: #191e23; -} -.acf-postbox > .hndle:hover .acf-hndle-cog, -.acf-postbox > .postbox-header:hover .acf-hndle-cog { - display: inline-block; -} -.acf-postbox > .hndle .acf-hndle-cog { - height: 20px; - line-height: 20px; - float: right; - width: auto; -} -.acf-postbox > .hndle .acf-hndle-cog:hover { - color: #777777; -} -.acf-postbox .acf-replace-with-fields { - padding: 15px; - text-align: center; -} - -#post-body-content #acf_after_title-sortables { - margin: 20px 0 -20px; -} - -/* seamless */ -.acf-postbox.seamless { - border: 0 none; - background: transparent; - box-shadow: none; - /* hide hndle */ - /* inside */ -} -.acf-postbox.seamless > .postbox-header, -.acf-postbox.seamless > .hndle, -.acf-postbox.seamless > .handlediv { - display: none !important; -} -.acf-postbox.seamless > .inside { - display: block !important; /* stop metabox from hiding when closed */ - margin-left: -12px !important; - margin-right: -12px !important; -} -.acf-postbox.seamless > .inside > .acf-field { - border-color: transparent; -} - -/* seamless (left) */ -.acf-postbox.seamless > .acf-fields.-left { - /* hide sidebar bg */ - /* mobile */ -} -.acf-postbox.seamless > .acf-fields.-left > .acf-field:before { - display: none; -} -@media screen and (max-width: 782px) { - .acf-postbox.seamless > .acf-fields.-left { - /* remove padding */ - } - .acf-postbox.seamless > .acf-fields.-left > .acf-field > .acf-label, .acf-postbox.seamless > .acf-fields.-left > .acf-field > .acf-input { - padding: 0; - } -} - -/*----------------------------------------------------------------------------- -* -* Inputs -* -*-----------------------------------------------------------------------------*/ -.acf-field input[type=text], -.acf-field input[type=password], -.acf-field input[type=date], -.acf-field input[type=datetime], -.acf-field input[type=datetime-local], -.acf-field input[type=email], -.acf-field input[type=month], -.acf-field input[type=number], -.acf-field input[type=search], -.acf-field input[type=tel], -.acf-field input[type=time], -.acf-field input[type=url], -.acf-field input[type=week], -.acf-field textarea, -.acf-field select { - width: 100%; - padding: 4px 8px; - margin: 0; - box-sizing: border-box; - font-size: 14px; - line-height: 1.4; -} -.acf-admin-3-8 .acf-field input[type=text], -.acf-admin-3-8 .acf-field input[type=password], -.acf-admin-3-8 .acf-field input[type=date], -.acf-admin-3-8 .acf-field input[type=datetime], -.acf-admin-3-8 .acf-field input[type=datetime-local], -.acf-admin-3-8 .acf-field input[type=email], -.acf-admin-3-8 .acf-field input[type=month], -.acf-admin-3-8 .acf-field input[type=number], -.acf-admin-3-8 .acf-field input[type=search], -.acf-admin-3-8 .acf-field input[type=tel], -.acf-admin-3-8 .acf-field input[type=time], -.acf-admin-3-8 .acf-field input[type=url], -.acf-admin-3-8 .acf-field input[type=week], -.acf-admin-3-8 .acf-field textarea, -.acf-admin-3-8 .acf-field select { - padding: 3px 5px; -} -.acf-field textarea { - resize: vertical; -} - -body.acf-browser-firefox .acf-field select { - padding: 4px 5px; -} - -/*----------------------------------------------------------------------------- -* -* Text -* -*-----------------------------------------------------------------------------*/ -.acf-input-prepend, -.acf-input-append, -.acf-input-wrap { - box-sizing: border-box; -} - -.acf-input-prepend, -.acf-input-append { - font-size: 13px; - line-height: 1.4; - padding: 4px 8px; - background: #f5f5f5; - border: #7e8993 solid 1px; - min-height: 30px; -} -.acf-admin-3-8 .acf-input-prepend, -.acf-admin-3-8 .acf-input-append { - padding: 3px 5px; - border-color: #dddddd; - min-height: 28px; -} - -.acf-input-prepend { - float: left; - border-right-width: 0; - border-radius: 3px 0 0 3px; -} - -.acf-input-append { - float: right; - border-left-width: 0; - border-radius: 0 3px 3px 0; -} - -.acf-input-wrap { - position: relative; - overflow: hidden; -} -.acf-input-wrap .acf-is-prepended { - border-radius: 0 6px 6px 0 !important; -} -.acf-input-wrap .acf-is-appended { - border-radius: 6px 0 0 6px !important; -} -.acf-input-wrap .acf-is-prepended.acf-is-appended { - border-radius: 0 !important; -} - -/* rtl */ -html[dir=rtl] .acf-input-prepend { - border-left-width: 0; - border-right-width: 1px; - border-radius: 0 3px 3px 0; - float: right; -} - -html[dir=rtl] .acf-input-append { - border-left-width: 1px; - border-right-width: 0; - border-radius: 3px 0 0 3px; - float: left; -} - -html[dir=rtl] input.acf-is-prepended { - border-radius: 3px 0 0 3px !important; -} - -html[dir=rtl] input.acf-is-appended { - border-radius: 0 3px 3px 0 !important; -} - -html[dir=rtl] input.acf-is-prepended.acf-is-appended { - border-radius: 0 !important; -} - -/*----------------------------------------------------------------------------- -* -* Color Picker -* -*-----------------------------------------------------------------------------*/ -.acf-color-picker .wp-color-result { - border-color: #7e8993; -} -.acf-admin-3-8 .acf-color-picker .wp-color-result { - border-color: #ccd0d4; -} -.acf-color-picker .wp-picker-active { - position: relative; - z-index: 1; -} - -/*----------------------------------------------------------------------------- -* -* Url -* -*-----------------------------------------------------------------------------*/ -.acf-url i { - position: absolute; - top: 5px; - left: 5px; - opacity: 0.5; - color: #7e8993; -} -.acf-url input[type=url] { - padding-left: 27px !important; -} -.acf-url.-valid i { - opacity: 1; -} - -/*----------------------------------------------------------------------------- -* -* Select2 (v3) -* -*-----------------------------------------------------------------------------*/ -.select2-container.-acf { - z-index: 1001; - /* open */ - /* single open */ -} -.select2-container.-acf .select2-choices { - background: #fff; - border-color: #ddd; - box-shadow: 0 1px 2px rgba(0, 0, 0, 0.07) inset; - min-height: 31px; -} -.select2-container.-acf .select2-choices .select2-search-choice { - margin: 5px 0 5px 5px; - padding: 3px 5px 3px 18px; - border-color: #bbb; - background: #f9f9f9; - box-shadow: 0 1px 0 rgba(255, 255, 255, 0.25) inset; - /* sortable item*/ - /* sortable shadow */ -} -.select2-container.-acf .select2-choices .select2-search-choice.ui-sortable-helper { - background: #5897fb; - border-color: #3f87fa; - color: #fff !important; - box-shadow: 0 0 3px rgba(0, 0, 0, 0.1); -} -.select2-container.-acf .select2-choices .select2-search-choice.ui-sortable-helper a { - visibility: hidden; -} -.select2-container.-acf .select2-choices .select2-search-choice.ui-sortable-placeholder { - background-color: #f7f7f7; - border-color: #f7f7f7; - visibility: visible !important; -} -.select2-container.-acf .select2-choices .select2-search-choice-focus { - border-color: #999; -} -.select2-container.-acf .select2-choices .select2-search-field input { - height: 31px; - line-height: 22px; - margin: 0; - padding: 5px 5px 5px 7px; -} -.select2-container.-acf .select2-choice { - border-color: #bbbbbb; -} -.select2-container.-acf .select2-choice .select2-arrow { - background: transparent; - border-left-color: #dfdfdf; - padding-left: 1px; -} -.select2-container.-acf .select2-choice .select2-result-description { - display: none; -} -.select2-container.-acf.select2-container-active .select2-choices, .select2-container.-acf.select2-dropdown-open .select2-choices { - border-color: #5b9dd9; - border-radius: 3px 3px 0 0; -} -.select2-container.-acf.select2-dropdown-open .select2-choice { - background: #fff; - border-color: #5b9dd9; -} - -/* rtl */ -html[dir=rtl] .select2-container.-acf .select2-search-choice-close { - left: 24px; -} -html[dir=rtl] .select2-container.-acf .select2-choice > .select2-chosen { - margin-left: 42px; -} -html[dir=rtl] .select2-container.-acf .select2-choice .select2-arrow { - padding-left: 0; - padding-right: 1px; -} - -/* description */ -.select2-drop { - /* search*/ - /* result */ -} -.select2-drop .select2-search { - padding: 4px 4px 0; -} -.select2-drop .select2-result { - /* hover*/ -} -.select2-drop .select2-result .select2-result-description { - color: #999; - font-size: 12px; - margin-left: 5px; -} -.select2-drop .select2-result.select2-highlighted .select2-result-description { - color: #fff; - opacity: 0.75; -} - -/*----------------------------------------------------------------------------- -* -* Select2 (v4) -* -*-----------------------------------------------------------------------------*/ -.select2-container.-acf li { - margin-bottom: 0; -} -.select2-container.-acf[data-select2-id^=select2-data] .select2-selection--multiple { - overflow: hidden; -} -.select2-container.-acf .select2-selection { - border-color: #7e8993; -} -.acf-admin-3-8 .select2-container.-acf .select2-selection { - border-color: #aaa; -} -.select2-container.-acf .select2-selection--multiple .select2-search--inline:first-child { - float: none; -} -.select2-container.-acf .select2-selection--multiple .select2-search--inline:first-child input { - width: 100% !important; -} -.select2-container.-acf .select2-selection--multiple .select2-selection__rendered { - padding-right: 0; -} -.select2-container.-acf .select2-selection--multiple .select2-selection__rendered[id^=select2-acf-field] { - display: inline; - padding: 0; - margin: 0; -} -.select2-container.-acf .select2-selection--multiple .select2-selection__rendered[id^=select2-acf-field] .select2-selection__choice { - margin-right: 0; -} -.select2-container.-acf .select2-selection--multiple .select2-selection__choice { - background-color: #f7f7f7; - border-color: #cccccc; - max-width: 100%; - overflow: hidden; - word-wrap: normal !important; - white-space: normal; -} -.select2-container.-acf .select2-selection--multiple .select2-selection__choice.ui-sortable-helper { - background: #0783BE; - border-color: #066998; - color: #fff !important; - box-shadow: 0 0 3px rgba(0, 0, 0, 0.1); -} -.select2-container.-acf .select2-selection--multiple .select2-selection__choice.ui-sortable-helper span { - visibility: hidden; -} -.select2-container.-acf .select2-selection--multiple .select2-selection__choice .select2-selection__choice__remove { - position: static; - border-right: none; - padding: 0; -} -.select2-container.-acf .select2-selection--multiple .select2-selection__choice.ui-sortable-placeholder { - background-color: #F2F4F7; - border-color: #F2F4F7; - visibility: visible !important; -} -.select2-container.-acf .select2-selection--multiple .select2-search__field { - box-shadow: none !important; - min-height: 0; -} -.acf-row .select2-container.-acf .select2-selection--single { - overflow: hidden; -} -.acf-row .select2-container.-acf .select2-selection--single .select2-selection__rendered { - white-space: normal; -} - -.acf-admin-single-field-group .select2-dropdown { - border-color: #6BB5D8 !important; - margin-top: -5px; - overflow: hidden; - box-shadow: 0px 1px 2px rgba(16, 24, 40, 0.1); -} - -.select2-dropdown.select2-dropdown--above { - margin-top: 0; -} - -.acf-admin-single-field-group .select2-container--default .select2-results__option[aria-selected=true] { - background-color: #F9FAFB !important; - color: #667085; -} -.acf-admin-single-field-group .select2-container--default .select2-results__option[aria-selected=true]:hover { - color: #399CCB; -} - -.acf-admin-single-field-group .select2-container--default .select2-results__option--highlighted[aria-selected] { - color: #fff !important; - background-color: #0783BE !important; -} - -.select2-dropdown .select2-results__option { - margin-bottom: 0; -} - -.select2-container .select2-dropdown { - z-index: 900000; -} -.select2-container .select2-dropdown .select2-search__field { - line-height: 1.4; - min-height: 0; -} - -/*----------------------------------------------------------------------------- -* -* Link -* -*-----------------------------------------------------------------------------*/ -.acf-link .link-wrap { - display: none; - border: #ccd0d4 solid 1px; - border-radius: 3px; - padding: 5px; - line-height: 26px; - background: #fff; - word-wrap: break-word; - word-break: break-all; -} -.acf-link .link-wrap .link-title { - padding: 0 5px; -} -.acf-link.-value .button { - display: none; -} -.acf-link.-value .acf-icon.-link-ext { - display: none; -} -.acf-link.-value .link-wrap { - display: inline-block; -} -.acf-link.-external .acf-icon.-link-ext { - display: inline-block; -} - -#wp-link-backdrop { - z-index: 900000 !important; -} - -#wp-link-wrap { - z-index: 900001 !important; -} - -/*----------------------------------------------------------------------------- -* -* Radio -* -*-----------------------------------------------------------------------------*/ -ul.acf-radio-list, -ul.acf-checkbox-list { - background: transparent; - border: 1px solid transparent; - position: relative; - padding: 1px; - margin: 0; - /* hl */ - /* rtl */ -} -ul.acf-radio-list:focus-within, -ul.acf-checkbox-list:focus-within { - border: 1px solid #A5D2E7; - border-radius: 6px; -} -ul.acf-radio-list li, -ul.acf-checkbox-list li { - font-size: 13px; - line-height: 22px; - margin: 0; - position: relative; - word-wrap: break-word; - /* attachment sidebar fix*/ -} -ul.acf-radio-list li label, -ul.acf-checkbox-list li label { - display: inline; -} -ul.acf-radio-list li input[type=checkbox], -ul.acf-radio-list li input[type=radio], -ul.acf-checkbox-list li input[type=checkbox], -ul.acf-checkbox-list li input[type=radio] { - margin: -1px 4px 0 0; - vertical-align: middle; -} -ul.acf-radio-list li input[type=text], -ul.acf-checkbox-list li input[type=text] { - width: auto; - vertical-align: middle; - margin: 2px 0; -} -ul.acf-radio-list li span, -ul.acf-checkbox-list li span { - float: none; -} -ul.acf-radio-list li i, -ul.acf-checkbox-list li i { - vertical-align: middle; -} -ul.acf-radio-list.acf-hl li, -ul.acf-checkbox-list.acf-hl li { - margin-right: 20px; - clear: none; -} -html[dir=rtl] ul.acf-radio-list input[type=checkbox], -html[dir=rtl] ul.acf-radio-list input[type=radio], -html[dir=rtl] ul.acf-checkbox-list input[type=checkbox], -html[dir=rtl] ul.acf-checkbox-list input[type=radio] { - margin-left: 4px; - margin-right: 0; -} - -/*----------------------------------------------------------------------------- -* -* Button Group -* -*-----------------------------------------------------------------------------*/ -.acf-button-group { - display: inline-block; - /* default (horizontal) */ - /* vertical */ -} -.acf-button-group label { - display: inline-block; - border: #7e8993 solid 1px; - position: relative; - z-index: 1; - padding: 5px 10px; - background: #fff; -} -.acf-button-group label:hover { - color: #016087; - background: #f3f5f6; - border-color: #0071a1; - z-index: 2; -} -.acf-button-group label.selected { - border-color: #007cba; - background: #008dd4; - color: #fff; - z-index: 2; -} -.acf-button-group input { - display: none !important; -} -.acf-button-group { - padding-left: 1px; - display: inline-flex; - flex-direction: row; - flex-wrap: nowrap; -} -.acf-button-group label { - margin: 0 0 0 -1px; - flex: 1; - text-align: center; - white-space: nowrap; -} -.acf-button-group label:first-child { - border-radius: 3px 0 0 3px; -} -html[dir=rtl] .acf-button-group label:first-child { - border-radius: 0 3px 3px 0; -} -.acf-button-group label:last-child { - border-radius: 0 3px 3px 0; -} -html[dir=rtl] .acf-button-group label:last-child { - border-radius: 3px 0 0 3px; -} -.acf-button-group label:only-child { - border-radius: 3px; -} -.acf-button-group.-vertical { - padding-left: 0; - padding-top: 1px; - flex-direction: column; -} -.acf-button-group.-vertical label { - margin: -1px 0 0 0; -} -.acf-button-group.-vertical label:first-child { - border-radius: 3px 3px 0 0; -} -.acf-button-group.-vertical label:last-child { - border-radius: 0 0 3px 3px; -} -.acf-button-group.-vertical label:only-child { - border-radius: 3px; -} -.acf-admin-3-8 .acf-button-group label { - border-color: #ccd0d4; -} -.acf-admin-3-8 .acf-button-group label:hover { - border-color: #0071a1; -} -.acf-admin-3-8 .acf-button-group label.selected { - border-color: #007cba; -} - -.acf-admin-page .acf-button-group { - display: flex; - align-items: stretch; - align-content: center; - height: 40px; - border-radius: 6px; - box-shadow: 0px 1px 2px rgba(16, 24, 40, 0.1); -} -.acf-admin-page .acf-button-group label { - display: inline-flex; - align-items: center; - align-content: center; - border: #D0D5DD solid 1px; - padding: 6px 16px; - color: #475467; - font-weight: 500; -} -.acf-admin-page .acf-button-group label:hover { - color: #0783BE; -} -.acf-admin-page .acf-button-group label.selected { - background: #F9FAFB; - color: #0783BE; -} -.acf-admin-page .select2-container.-acf .select2-selection--multiple .select2-selection__choice { - display: inline-flex; - align-items: center; - margin-top: 8px; - margin-left: 2px; - position: relative; - padding-top: 4px; - padding-right: auto; - padding-bottom: 4px; - padding-left: 8px; - background-color: #EBF5FA; - border-color: #A5D2E7; - color: #0783BE; -} -.acf-admin-page .select2-container.-acf .select2-selection--multiple .select2-selection__choice .select2-selection__choice__remove { - order: 2; - width: 14px; - height: 14px; - margin-right: 0; - margin-left: 4px; - color: #6BB5D8; - text-indent: 100%; - white-space: nowrap; - overflow: hidden; -} -.acf-admin-page .select2-container.-acf .select2-selection--multiple .select2-selection__choice .select2-selection__choice__remove:hover { - color: #0783BE; -} -.acf-admin-page .select2-container.-acf .select2-selection--multiple .select2-selection__choice .select2-selection__choice__remove:before { - content: ""; - display: block; - width: 14px; - height: 14px; - top: 0; - left: 0; - background-color: currentColor; - border: none; - border-radius: 0; - -webkit-mask-size: contain; - mask-size: contain; - -webkit-mask-repeat: no-repeat; - mask-repeat: no-repeat; - -webkit-mask-position: center; - mask-position: center; - -webkit-mask-image: url("../../images/icons/icon-close.svg"); - mask-image: url("../../images/icons/icon-close.svg"); -} - -/*----------------------------------------------------------------------------- -* -* Checkbox -* -*-----------------------------------------------------------------------------*/ -.acf-checkbox-list .button { - margin: 10px 0 0; -} - -/*----------------------------------------------------------------------------- -* -* True / False -* -*-----------------------------------------------------------------------------*/ -.acf-switch { - display: grid; - grid-template-columns: 1fr 1fr; - width: fit-content; - max-width: 100%; - border-radius: 5px; - cursor: pointer; - position: relative; - background: #f5f5f5; - height: 30px; - vertical-align: middle; - border: #7e8993 solid 1px; - -webkit-transition: background 0.25s ease; - -moz-transition: background 0.25s ease; - -o-transition: background 0.25s ease; - transition: background 0.25s ease; - /* hover */ - /* active */ - /* message */ -} -.acf-switch span { - display: inline-block; - float: left; - text-align: center; - font-size: 13px; - line-height: 22px; - padding: 4px 10px; - min-width: 15px; -} -.acf-switch span i { - vertical-align: middle; -} -.acf-switch .acf-switch-on { - color: #fff; - text-shadow: #007cba 0 1px 0; - overflow: hidden; -} -.acf-switch .acf-switch-off { - overflow: hidden; -} -.acf-switch .acf-switch-slider { - position: absolute; - top: 2px; - left: 2px; - bottom: 2px; - right: 50%; - z-index: 1; - background: #fff; - border-radius: 3px; - border: #7e8993 solid 1px; - -webkit-transition: all 0.25s ease; - -moz-transition: all 0.25s ease; - -o-transition: all 0.25s ease; - transition: all 0.25s ease; - transition-property: left, right; -} -.acf-switch:hover, .acf-switch.-focus { - border-color: #0071a1; - background: #f3f5f6; - color: #016087; -} -.acf-switch:hover .acf-switch-slider, .acf-switch.-focus .acf-switch-slider { - border-color: #0071a1; -} -.acf-switch.-on { - background: #0d99d5; - border-color: #007cba; - /* hover */ -} -.acf-switch.-on .acf-switch-slider { - left: 50%; - right: 2px; - border-color: #007cba; -} -.acf-switch.-on:hover { - border-color: #007cba; -} -.acf-switch + span { - margin-left: 6px; -} -.acf-admin-3-8 .acf-switch { - border-color: #ccd0d4; -} -.acf-admin-3-8 .acf-switch .acf-switch-slider { - border-color: #ccd0d4; -} -.acf-admin-3-8 .acf-switch:hover, .acf-admin-3-8 .acf-switch.-focus { - border-color: #0071a1; -} -.acf-admin-3-8 .acf-switch:hover .acf-switch-slider, .acf-admin-3-8 .acf-switch.-focus .acf-switch-slider { - border-color: #0071a1; -} -.acf-admin-3-8 .acf-switch.-on { - border-color: #007cba; -} -.acf-admin-3-8 .acf-switch.-on .acf-switch-slider { - border-color: #007cba; -} -.acf-admin-3-8 .acf-switch.-on:hover { - border-color: #007cba; -} - -/* checkbox */ -.acf-switch-input { - opacity: 0; - position: absolute; - margin: 0; -} - -.acf-admin-single-field-group .acf-true-false { - border: 1px solid transparent; -} -.acf-admin-single-field-group .acf-true-false:focus-within { - border: 1px solid #399CCB; - border-radius: 120px; -} - -/* in media modal */ -.compat-item .acf-true-false .message { - float: none; - padding: 0; - vertical-align: middle; -} - -/*-------------------------------------------------------------------------- -* -* Google Map -* -*-------------------------------------------------------------------------*/ -.acf-google-map { - position: relative; - border: #ccd0d4 solid 1px; - background: #fff; -} -.acf-google-map .title { - position: relative; - border-bottom: #ccd0d4 solid 1px; -} -.acf-google-map .title .search { - margin: 0; - font-size: 14px; - line-height: 30px; - height: 40px; - padding: 5px 10px; - border: 0 none; - box-shadow: none; - border-radius: 0; - font-family: inherit; - cursor: text; -} -.acf-google-map .title .acf-loading { - position: absolute; - top: 10px; - right: 11px; - display: none; -} -.acf-google-map .title .acf-icon:active { - display: inline-block !important; -} -.acf-google-map .canvas { - height: 400px; -} -.acf-google-map:hover .title .acf-actions { - display: block; -} -.acf-google-map .title .acf-icon.-location { - display: inline-block; -} -.acf-google-map .title .acf-icon.-cancel, -.acf-google-map .title .acf-icon.-search { - display: none; -} -.acf-google-map.-value .title .search { - font-weight: bold; -} -.acf-google-map.-value .title .acf-icon.-location { - display: none; -} -.acf-google-map.-value .title .acf-icon.-cancel { - display: inline-block; -} -.acf-google-map.-searching .title .acf-icon.-location { - display: none; -} -.acf-google-map.-searching .title .acf-icon.-cancel, -.acf-google-map.-searching .title .acf-icon.-search { - display: inline-block; -} -.acf-google-map.-searching .title .acf-actions { - display: block; -} -.acf-google-map.-searching .title .search { - font-weight: normal !important; -} -.acf-google-map.-loading .title a { - display: none !important; -} -.acf-google-map.-loading .title i { - display: inline-block; -} - -/* autocomplete */ -.pac-container { - border-width: 1px 0; - box-shadow: none; -} - -.pac-container:after { - display: none; -} - -.pac-container .pac-item:first-child { - border-top: 0 none; -} - -.pac-container .pac-item { - padding: 5px 10px; - cursor: pointer; -} - -html[dir=rtl] .pac-container .pac-item { - text-align: right; -} - -/*-------------------------------------------------------------------------- -* -* Relationship -* -*-------------------------------------------------------------------------*/ -.acf-relationship { - background: #fff; - border: #ccd0d4 solid 1px; - /* list */ - /* selection (bottom) */ -} -.acf-relationship .filters { - border-bottom: #ccd0d4 solid 1px; - background: #fff; - /* widths */ -} -.acf-relationship .filters:after { - display: block; - clear: both; - content: ""; -} -.acf-relationship .filters .filter { - margin: 0; - padding: 0; - float: left; - width: 100%; - box-sizing: border-box; - padding: 7px 7px 7px 0; -} -.acf-relationship .filters .filter:first-child { - padding-left: 7px; -} -.acf-relationship .filters .filter input, -.acf-relationship .filters .filter select { - margin: 0; - float: none; /* potential fix for media popup? */ -} -.acf-relationship .filters .filter input:focus, .acf-relationship .filters .filter input:active, -.acf-relationship .filters .filter select:focus, -.acf-relationship .filters .filter select:active { - outline: none; - box-shadow: none; -} -.acf-relationship .filters .filter input { - border-color: transparent; - box-shadow: none; - padding-left: 3px; - padding-right: 3px; -} -.acf-relationship .filters.-f2 .filter { - width: 50%; -} -.acf-relationship .filters.-f3 .filter { - width: 25%; -} -.acf-relationship .filters.-f3 .filter.-search { - width: 50%; -} -.acf-relationship .list { - margin: 0; - padding: 5px; - height: 160px; - overflow: auto; -} -.acf-relationship .list .acf-rel-label, -.acf-relationship .list .acf-rel-item, -.acf-relationship .list p { - padding: 5px; - margin: 0; - display: block; - position: relative; - min-height: 18px; -} -.acf-relationship .list .acf-rel-label { - font-weight: bold; -} -.acf-relationship .list .acf-rel-item { - cursor: pointer; - /* hover */ - /* disabled */ -} -.acf-relationship .list .acf-rel-item b { - text-decoration: underline; - font-weight: normal; -} -.acf-relationship .list .acf-rel-item .thumbnail { - background: #e0e0e0; - width: 22px; - height: 22px; - float: left; - margin: -2px 5px 0 0; -} -.acf-relationship .list .acf-rel-item .thumbnail img { - max-width: 22px; - max-height: 22px; - margin: 0 auto; - display: block; -} -.acf-relationship .list .acf-rel-item .thumbnail.-icon { - background: #fff; -} -.acf-relationship .list .acf-rel-item .thumbnail.-icon img { - max-height: 20px; - margin-top: 1px; -} -.acf-relationship .list .acf-rel-item:hover, .acf-relationship .list .acf-rel-item.relationship-hover { - background: #3875d7; - color: #fff; -} -.acf-relationship .list .acf-rel-item:hover .thumbnail, .acf-relationship .list .acf-rel-item.relationship-hover .thumbnail { - background: #a2bfec; -} -.acf-relationship .list .acf-rel-item:hover .thumbnail.-icon, .acf-relationship .list .acf-rel-item.relationship-hover .thumbnail.-icon { - background: #fff; -} -.acf-relationship .list .acf-rel-item.disabled { - opacity: 0.5; -} -.acf-relationship .list .acf-rel-item.disabled:hover { - background: transparent; - color: #333; - cursor: default; -} -.acf-relationship .list .acf-rel-item.disabled:hover .thumbnail { - background: #e0e0e0; -} -.acf-relationship .list .acf-rel-item.disabled:hover .thumbnail.-icon { - background: #fff; -} -.acf-relationship .list ul { - padding-bottom: 5px; -} -.acf-relationship .list ul .acf-rel-label, -.acf-relationship .list ul .acf-rel-item, -.acf-relationship .list ul p { - padding-left: 20px; -} -.acf-relationship .selection { - position: relative; - /* choices */ - /* values */ -} -.acf-relationship .selection:after { - display: block; - clear: both; - content: ""; -} -.acf-relationship .selection .values, -.acf-relationship .selection .choices { - width: 50%; - background: #fff; - float: left; -} -.acf-relationship .selection .choices { - background: #f9f9f9; -} -.acf-relationship .selection .choices .list { - border-right: #dfdfdf solid 1px; -} -.acf-relationship .selection .values .acf-icon { - position: absolute; - top: 4px; - right: 7px; - display: none; - /* rtl */ -} -html[dir=rtl] .acf-relationship .selection .values .acf-icon { - right: auto; - left: 7px; -} -.acf-relationship .selection .values .acf-rel-item:hover .acf-icon, .acf-relationship .selection .values .acf-rel-item.relationship-hover .acf-icon { - display: block; -} -.acf-relationship .selection .values .acf-rel-item { - cursor: move; -} -.acf-relationship .selection .values .acf-rel-item b { - text-decoration: none; -} - -/* menu item fix */ -.menu-item .acf-relationship ul { - width: auto; -} -.menu-item .acf-relationship li { - display: block; -} - -/*-------------------------------------------------------------------------- -* -* WYSIWYG -* -*-------------------------------------------------------------------------*/ -.acf-editor-wrap.delay .acf-editor-toolbar { - content: ""; - display: block; - background: #f5f5f5; - border-bottom: #dddddd solid 1px; - color: #555d66; - padding: 10px; -} -.acf-editor-wrap.delay .wp-editor-area { - padding: 10px; - border: none; - color: inherit !important; -} -.acf-editor-wrap iframe { - min-height: 200px; -} -.acf-editor-wrap .wp-editor-container { - border: 1px solid #ccd0d4; - box-shadow: none !important; -} -.acf-editor-wrap .wp-editor-tabs { - box-sizing: content-box; -} -.acf-editor-wrap .wp-switch-editor { - border-color: #ccd0d4; - border-bottom-color: transparent; -} - -#mce_fullscreen_container { - z-index: 900000 !important; -} - -/*----------------------------------------------------------------------------- -* -* Tab -* -*-----------------------------------------------------------------------------*/ -.acf-field-tab { - display: none !important; -} - -.hidden-by-tab { - display: none !important; -} - -.acf-tab-wrap { - clear: both; - z-index: 1; - overflow: auto; -} - -.acf-tab-group { - border-bottom: #ccc solid 1px; - padding: 10px 10px 0; -} -.acf-tab-group li { - margin: 0 0.5em 0 0; -} -.acf-tab-group li a { - padding: 5px 10px; - display: block; - color: #555; - font-size: 14px; - font-weight: 600; - line-height: 24px; - border: #ccc solid 1px; - border-bottom: 0 none; - text-decoration: none; - background: #e5e5e5; - transition: none; -} -.acf-tab-group li a:hover { - background: #fff; -} -.acf-tab-group li a:focus { - outline: none; - box-shadow: none; -} -.acf-tab-group li a:empty { - display: none; -} -html[dir=rtl] .acf-tab-group li { - margin: 0 0 0 0.5em; -} -.acf-tab-group li.active a { - background: #f1f1f1; - color: #000; - padding-bottom: 6px; - margin-bottom: -1px; - position: relative; - z-index: 1; -} - -.acf-fields > .acf-tab-wrap { - background: #f9f9f9; -} -.acf-fields > .acf-tab-wrap .acf-tab-group { - position: relative; - border-top: #ccd0d4 solid 1px; - border-bottom: #ccd0d4 solid 1px; - z-index: 2; - margin-bottom: -1px; -} -.acf-admin-3-8 .acf-fields > .acf-tab-wrap .acf-tab-group { - border-color: #dfdfdf; -} - -.acf-fields.-left > .acf-tab-wrap .acf-tab-group { - padding-left: 20%; - /* mobile */ - /* rtl */ -} -@media screen and (max-width: 640px) { - .acf-fields.-left > .acf-tab-wrap .acf-tab-group { - padding-left: 10px; - } -} -html[dir=rtl] .acf-fields.-left > .acf-tab-wrap .acf-tab-group { - padding-left: 0; - padding-right: 20%; - /* mobile */ -} -@media screen and (max-width: 850px) { - html[dir=rtl] .acf-fields.-left > .acf-tab-wrap .acf-tab-group { - padding-right: 10px; - } -} - -.acf-tab-wrap.-left .acf-tab-group { - position: absolute; - left: 0; - width: 20%; - border: 0 none; - padding: 0 !important; /* important overrides 'left aligned labels' */ - margin: 1px 0 0; -} -.acf-tab-wrap.-left .acf-tab-group li { - float: none; - margin: -1px 0 0; -} -.acf-tab-wrap.-left .acf-tab-group li a { - border: 1px solid #ededed; - font-size: 13px; - line-height: 18px; - color: #0073aa; - padding: 10px; - margin: 0; - font-weight: normal; - border-width: 1px 0; - border-radius: 0; - background: transparent; -} -.acf-tab-wrap.-left .acf-tab-group li a:hover { - color: #00a0d2; -} -.acf-tab-wrap.-left .acf-tab-group li.active a { - border-color: #dfdfdf; - color: #000; - margin-right: -1px; - background: #fff; -} -html[dir=rtl] .acf-tab-wrap.-left .acf-tab-group { - left: auto; - right: 0; -} -html[dir=rtl] .acf-tab-wrap.-left .acf-tab-group li.active a { - margin-right: 0; - margin-left: -1px; -} -.acf-field + .acf-tab-wrap.-left:before { - content: ""; - display: block; - position: relative; - z-index: 1; - height: 10px; - border-top: #dfdfdf solid 1px; - border-bottom: #dfdfdf solid 1px; - margin-bottom: -1px; -} -.acf-tab-wrap.-left:first-child .acf-tab-group li:first-child a { - border-top: none; -} - -/* sidebar */ -.acf-fields.-sidebar { - padding: 0 0 0 20% !important; - position: relative; - /* before */ - /* rtl */ -} -.acf-fields.-sidebar:before { - content: ""; - display: block; - position: absolute; - top: 0; - left: 0; - width: 20%; - bottom: 0; - border-right: #dfdfdf solid 1px; - background: #f9f9f9; - z-index: 1; -} -html[dir=rtl] .acf-fields.-sidebar { - padding: 0 20% 0 0 !important; -} -html[dir=rtl] .acf-fields.-sidebar:before { - border-left: #dfdfdf solid 1px; - border-right-width: 0; - left: auto; - right: 0; -} -.acf-fields.-sidebar.-left { - padding: 0 0 0 180px !important; - /* rtl */ -} -html[dir=rtl] .acf-fields.-sidebar.-left { - padding: 0 180px 0 0 !important; -} -.acf-fields.-sidebar.-left:before { - background: #f1f1f1; - border-color: #dfdfdf; - width: 180px; -} -.acf-fields.-sidebar.-left > .acf-tab-wrap.-left .acf-tab-group { - width: 180px; -} -.acf-fields.-sidebar.-left > .acf-tab-wrap.-left .acf-tab-group li a { - border-color: #e4e4e4; -} -.acf-fields.-sidebar.-left > .acf-tab-wrap.-left .acf-tab-group li.active a { - background: #f9f9f9; -} -.acf-fields.-sidebar > .acf-field-tab + .acf-field { - border-top: none; -} - -.acf-fields.-clear > .acf-tab-wrap { - background: transparent; -} -.acf-fields.-clear > .acf-tab-wrap .acf-tab-group { - margin-top: 0; - border-top: none; - padding-left: 0; - padding-right: 0; -} -.acf-fields.-clear > .acf-tab-wrap .acf-tab-group li a { - background: #e5e5e5; -} -.acf-fields.-clear > .acf-tab-wrap .acf-tab-group li a:hover { - background: #fff; -} -.acf-fields.-clear > .acf-tab-wrap .acf-tab-group li.active a { - background: #f1f1f1; -} - -/* seamless */ -.acf-postbox.seamless > .acf-fields.-sidebar { - margin-left: 0 !important; -} -.acf-postbox.seamless > .acf-fields.-sidebar:before { - background: transparent; -} -.acf-postbox.seamless > .acf-fields > .acf-tab-wrap { - background: transparent; - margin-bottom: 10px; - padding-left: 12px; - padding-right: 12px; -} -.acf-postbox.seamless > .acf-fields > .acf-tab-wrap .acf-tab-group { - border-top: 0 none; - border-color: #ccd0d4; -} -.acf-postbox.seamless > .acf-fields > .acf-tab-wrap .acf-tab-group li a { - background: #e5e5e5; - border-color: #ccd0d4; -} -.acf-postbox.seamless > .acf-fields > .acf-tab-wrap .acf-tab-group li a:hover { - background: #fff; -} -.acf-postbox.seamless > .acf-fields > .acf-tab-wrap .acf-tab-group li.active a { - background: #f1f1f1; -} -.acf-postbox.seamless > .acf-fields > .acf-tab-wrap.-left:before { - border-top: none; - height: auto; -} -.acf-postbox.seamless > .acf-fields > .acf-tab-wrap.-left .acf-tab-group { - margin-bottom: 0; -} -.acf-postbox.seamless > .acf-fields > .acf-tab-wrap.-left .acf-tab-group li a { - border-width: 1px 0 1px 1px !important; - border-color: #cccccc; - background: #e5e5e5; -} -.acf-postbox.seamless > .acf-fields > .acf-tab-wrap.-left .acf-tab-group li.active a { - background: #f1f1f1; -} - -.menu-edit .acf-fields.-clear > .acf-tab-wrap .acf-tab-group li a, -.widget .acf-fields.-clear > .acf-tab-wrap .acf-tab-group li a { - background: #f1f1f1; -} -.menu-edit .acf-fields.-clear > .acf-tab-wrap .acf-tab-group li a:hover, .menu-edit .acf-fields.-clear > .acf-tab-wrap .acf-tab-group li.active a, -.widget .acf-fields.-clear > .acf-tab-wrap .acf-tab-group li a:hover, -.widget .acf-fields.-clear > .acf-tab-wrap .acf-tab-group li.active a { - background: #fff; -} - -.compat-item .acf-tab-wrap td { - display: block; -} - -/* within gallery sidebar */ -.acf-gallery-side .acf-tab-wrap { - border-top: 0 none !important; -} - -.acf-gallery-side .acf-tab-wrap .acf-tab-group { - margin: 10px 0 !important; - padding: 0 !important; -} - -.acf-gallery-side .acf-tab-group li.active a { - background: #f9f9f9 !important; -} - -/* withing widget */ -.widget .acf-tab-group { - border-bottom-color: #e8e8e8; -} - -.widget .acf-tab-group li a { - background: #f1f1f1; -} - -.widget .acf-tab-group li.active a { - background: #fff; -} - -/* media popup (edit image) */ -.media-modal.acf-expanded .compat-attachment-fields > tbody > tr.acf-tab-wrap .acf-tab-group { - padding-left: 23%; - border-bottom-color: #dddddd; -} - -/* table */ -.form-table > tbody > tr.acf-tab-wrap .acf-tab-group { - padding: 0 5px 0 210px; -} - -/* rtl */ -html[dir=rtl] .form-table > tbody > tr.acf-tab-wrap .acf-tab-group { - padding: 0 210px 0 5px; -} - -/*-------------------------------------------------------------------------------------------- -* -* oembed -* -*--------------------------------------------------------------------------------------------*/ -.acf-oembed { - position: relative; - border: #ccd0d4 solid 1px; - background: #fff; -} -.acf-oembed .title { - position: relative; - border-bottom: #ccd0d4 solid 1px; - padding: 5px 10px; -} -.acf-oembed .title .input-search { - margin: 0; - font-size: 14px; - line-height: 30px; - height: 30px; - padding: 0; - border: 0 none; - box-shadow: none; - border-radius: 0; - font-family: inherit; - cursor: text; -} -.acf-oembed .title .acf-actions { - padding: 6px; -} -.acf-oembed .canvas { - position: relative; - min-height: 250px; - background: #f9f9f9; -} -.acf-oembed .canvas .canvas-media { - position: relative; - z-index: 1; -} -.acf-oembed .canvas iframe { - display: block; - margin: 0; - padding: 0; - width: 100%; -} -.acf-oembed .canvas .acf-icon.-picture { - position: absolute; - top: 50%; - left: 50%; - transform: translate(-50%, -50%); - z-index: 0; - height: 42px; - width: 42px; - font-size: 42px; - color: #999; -} -.acf-oembed .canvas .acf-loading-overlay { - background: rgba(255, 255, 255, 0.9); -} -.acf-oembed .canvas .canvas-error { - position: absolute; - top: 50%; - left: 0%; - right: 0%; - margin: -9px 0 0 0; - text-align: center; - display: none; -} -.acf-oembed .canvas .canvas-error p { - padding: 8px; - margin: 0; - display: inline; -} -.acf-oembed.has-value .canvas { - min-height: 50px; -} -.acf-oembed.has-value .input-search { - font-weight: bold; -} -.acf-oembed.has-value .title:hover .acf-actions { - display: block; -} - -/*-------------------------------------------------------------------------------------------- -* -* Image -* -*--------------------------------------------------------------------------------------------*/ -.acf-image-uploader { - position: relative; - /* image wrap*/ - /* input */ - /* rtl */ -} -.acf-image-uploader:after { - display: block; - clear: both; - content: ""; -} -.acf-image-uploader p { - margin: 0; -} -.acf-image-uploader .image-wrap { - position: relative; - float: left; - /* hover */ -} -.acf-image-uploader .image-wrap img { - max-width: 100%; - max-height: 100%; - width: auto; - height: auto; - display: block; - min-width: 30px; - min-height: 30px; - background: #f1f1f1; - margin: 0; - padding: 0; - /* svg */ -} -.acf-image-uploader .image-wrap img[src$=".svg"] { - min-height: 100px; - min-width: 100px; -} -.acf-image-uploader .image-wrap:hover .acf-actions { - display: block; -} -.acf-image-uploader input.button { - width: auto; -} -html[dir=rtl] .acf-image-uploader .image-wrap { - float: right; -} - -/*-------------------------------------------------------------------------------------------- -* -* File -* -*--------------------------------------------------------------------------------------------*/ -.acf-file-uploader { - position: relative; - /* hover */ - /* rtl */ -} -.acf-file-uploader p { - margin: 0; -} -.acf-file-uploader .file-wrap { - border: #ccd0d4 solid 1px; - min-height: 84px; - position: relative; - background: #fff; -} -.acf-file-uploader .file-icon { - position: absolute; - top: 0; - left: 0; - bottom: 0; - padding: 10px; - background: #f1f1f1; - border-right: #d5d9dd solid 1px; -} -.acf-file-uploader .file-icon img { - display: block; - padding: 0; - margin: 0; - max-width: 48px; -} -.acf-file-uploader .file-info { - padding: 10px; - margin-left: 69px; -} -.acf-file-uploader .file-info p { - margin: 0 0 2px; - font-size: 13px; - line-height: 1.4em; - word-break: break-all; -} -.acf-file-uploader .file-info a { - text-decoration: none; -} -.acf-file-uploader:hover .acf-actions { - display: block; -} -html[dir=rtl] .acf-file-uploader .file-icon { - left: auto; - right: 0; - border-left: #e5e5e5 solid 1px; - border-right: none; -} -html[dir=rtl] .acf-file-uploader .file-info { - margin-right: 69px; - margin-left: 0; -} - -/*----------------------------------------------------------------------------- -* -* Date Picker -* -*-----------------------------------------------------------------------------*/ -.acf-ui-datepicker .ui-datepicker { - z-index: 900000 !important; -} -.acf-ui-datepicker .ui-datepicker .ui-widget-header a { - cursor: pointer; - transition: none; -} - -/* fix highlight state overriding hover / active */ -.acf-ui-datepicker .ui-state-highlight.ui-state-hover { - border: 1px solid #98b7e8 !important; - background: #98b7e8 !important; - font-weight: normal !important; - color: #ffffff !important; -} - -.acf-ui-datepicker .ui-state-highlight.ui-state-active { - border: 1px solid #3875d7 !important; - background: #3875d7 !important; - font-weight: normal !important; - color: #ffffff !important; -} - -/*----------------------------------------------------------------------------- -* -* Separator field -* -*-----------------------------------------------------------------------------*/ -.acf-field-separator { - /* fields */ -} -.acf-field-separator .acf-label { - margin-bottom: 0; -} -.acf-field-separator .acf-label label { - font-weight: normal; -} -.acf-field-separator .acf-input { - display: none; -} -.acf-fields > .acf-field-separator { - background: #f9f9f9; - border-bottom: 1px solid #dfdfdf; - border-top: 1px solid #dfdfdf; - margin-bottom: -1px; - z-index: 2; -} - -/*----------------------------------------------------------------------------- -* -* Taxonomy -* -*-----------------------------------------------------------------------------*/ -.acf-taxonomy-field { - position: relative; - /* hover */ - /* select */ -} -.acf-taxonomy-field .categorychecklist-holder { - border: #ccd0d4 solid 1px; - border-radius: 3px; - max-height: 200px; - overflow: auto; -} -.acf-taxonomy-field .acf-checkbox-list { - margin: 0; - padding: 10px; -} -.acf-taxonomy-field .acf-checkbox-list ul.children { - padding-left: 18px; -} -.acf-taxonomy-field:hover .acf-actions { - display: block; -} -.acf-taxonomy-field[data-ftype=select] .acf-actions { - padding: 0; - margin: -9px; -} - -/*----------------------------------------------------------------------------- -* -* Range -* -*-----------------------------------------------------------------------------*/ -.acf-range-wrap { - /* rtl */ -} -.acf-range-wrap .acf-append, -.acf-range-wrap .acf-prepend { - display: inline-block; - vertical-align: middle; - line-height: 28px; - margin: 0 7px 0 0; -} -.acf-range-wrap .acf-append { - margin: 0 0 0 7px; -} -.acf-range-wrap input[type=range] { - display: inline-block; - padding: 0; - margin: 0; - vertical-align: middle; - height: 28px; -} -.acf-range-wrap input[type=range]:focus { - outline: none; -} -.acf-range-wrap input[type=number] { - display: inline-block; - min-width: 5em; - padding-right: 4px; - margin-left: 10px; - vertical-align: middle; -} -html[dir=rtl] .acf-range-wrap input[type=number] { - margin-right: 10px; - margin-left: 0; -} -html[dir=rtl] .acf-range-wrap .acf-append { - margin: 0 7px 0 0; -} -html[dir=rtl] .acf-range-wrap .acf-prepend { - margin: 0 0 0 7px; -} - -/*----------------------------------------------------------------------------- -* -* acf-accordion -* -*-----------------------------------------------------------------------------*/ -.acf-accordion { - margin: -1px 0; - padding: 0; - background: #fff; - border-top: 1px solid #d5d9dd; - border-bottom: 1px solid #d5d9dd; - z-index: 1; -} -.acf-accordion .acf-accordion-title { - margin: 0; - padding: 12px; - font-weight: bold; - cursor: pointer; - font-size: inherit; - font-size: 13px; - line-height: 1.4em; -} -.acf-accordion .acf-accordion-title:hover { - background: #f3f4f5; -} -.acf-accordion .acf-accordion-title label { - margin: 0; - padding: 0; - font-size: 13px; - line-height: 1.4em; -} -.acf-accordion .acf-accordion-title p { - font-weight: normal; -} -.acf-accordion .acf-accordion-title .acf-accordion-icon { - float: right; -} -.acf-accordion .acf-accordion-title svg.acf-accordion-icon { - position: absolute; - right: 10px; - top: 50%; - transform: translateY(-50%); - color: #191e23; - fill: currentColor; -} -.acf-accordion .acf-accordion-content { - margin: 0; - padding: 0 12px 12px; - display: none; -} -.acf-accordion.-open > .acf-accordion-content { - display: block; -} - -.acf-field.acf-accordion { - margin: -1px 0; - padding: 0 !important; - border-color: #d5d9dd; -} -.acf-field.acf-accordion .acf-label.acf-accordion-title { - padding: 12px; - width: auto; - float: none; - width: auto; -} -.acf-field.acf-accordion .acf-input.acf-accordion-content { - padding: 0; - float: none; - width: auto; -} -.acf-field.acf-accordion .acf-input.acf-accordion-content > .acf-fields { - border-top: #eeeeee solid 1px; -} -.acf-field.acf-accordion .acf-input.acf-accordion-content > .acf-fields.-clear { - padding: 0 12px 15px; -} - -/* field specific (left) */ -.acf-fields.-left > .acf-field.acf-accordion:before { - display: none; -} -.acf-fields.-left > .acf-field.acf-accordion .acf-accordion-title { - width: auto; - margin: 0 !important; - padding: 12px; - float: none !important; -} -.acf-fields.-left > .acf-field.acf-accordion .acf-accordion-content { - padding: 0 !important; -} - -/* field specific (clear) */ -.acf-fields.-clear > .acf-field.acf-accordion { - border: #cccccc solid 1px; - background: transparent; -} -.acf-fields.-clear > .acf-field.acf-accordion + .acf-field.acf-accordion { - margin-top: -16px; -} - -/* table */ -tr.acf-field.acf-accordion { - background: transparent; -} -tr.acf-field.acf-accordion > .acf-input { - padding: 0 !important; - border: #cccccc solid 1px; -} -tr.acf-field.acf-accordion .acf-accordion-content { - padding: 0 12px 12px; -} - -/* #addtag */ -#addtag div.acf-field.error { - border: 0 none; - padding: 8px 0; -} - -#addtag > .acf-field.acf-accordion { - padding-right: 0; - margin-right: 5%; -} -#addtag > .acf-field.acf-accordion + p.submit { - margin-top: 0; -} - -/* border */ -tr.acf-accordion { - margin: 15px 0 !important; -} -tr.acf-accordion + tr.acf-accordion { - margin-top: -16px !important; -} - -/* seamless */ -.acf-postbox.seamless > .acf-fields > .acf-accordion { - margin-left: 12px; - margin-right: 12px; - border: #ccd0d4 solid 1px; -} - -/* rtl */ -/* menu item */ -/* -.menu-item-settings > .field-acf > .acf-field.acf-accordion { - border: #dfdfdf solid 1px; - margin: 10px -13px 10px -11px; - - + .acf-field.acf-accordion { - margin-top: -11px; - } -} -*/ -/* widget */ -.widget .widget-content > .acf-field.acf-accordion { - border: #dfdfdf solid 1px; - margin-bottom: 10px; -} -.widget .widget-content > .acf-field.acf-accordion .acf-accordion-title { - margin-bottom: 0; -} -.widget .widget-content > .acf-field.acf-accordion + .acf-field.acf-accordion { - margin-top: -11px; -} - -.media-modal .compat-attachment-fields .acf-field.acf-accordion + .acf-field.acf-accordion { - margin-top: -1px; -} -.media-modal .compat-attachment-fields .acf-field.acf-accordion > .acf-input { - width: 100%; -} -.media-modal .compat-attachment-fields .acf-field.acf-accordion .compat-attachment-fields > tbody > tr > td { - padding-bottom: 5px; -} - -/*----------------------------------------------------------------------------- -* -* Block Editor -* -*-----------------------------------------------------------------------------*/ -.block-editor .edit-post-sidebar .acf-postbox > .postbox-header, -.block-editor .edit-post-sidebar .acf-postbox > .hndle { - border-bottom-width: 0 !important; -} -.block-editor .edit-post-sidebar .acf-postbox.closed > .postbox-header, -.block-editor .edit-post-sidebar .acf-postbox.closed > .hndle { - border-bottom-width: 1px !important; -} -.block-editor .edit-post-sidebar .acf-fields { - min-height: 1px; - overflow: auto; -} -.block-editor .edit-post-sidebar .acf-fields > .acf-field { - border-width: 0; - border-color: #e2e4e7; - margin: 0px; - padding: 10px 16px; - width: auto !important; - min-height: 0 !important; - float: none !important; -} -.block-editor .edit-post-sidebar .acf-fields > .acf-field > .acf-label { - margin-bottom: 5px; -} -.block-editor .edit-post-sidebar .acf-fields > .acf-field > .acf-label label { - font-weight: normal; -} -.block-editor .edit-post-sidebar .acf-fields > .acf-field.acf-accordion { - padding: 0; - margin: 0; - border-top-width: 1px; -} -.block-editor .edit-post-sidebar .acf-fields > .acf-field.acf-accordion:first-child { - border-top-width: 0; -} -.block-editor .edit-post-sidebar .acf-fields > .acf-field.acf-accordion .acf-accordion-title { - margin: 0; - padding: 15px; -} -.block-editor .edit-post-sidebar .acf-fields > .acf-field.acf-accordion .acf-accordion-title label { - font-weight: 500; - color: rgb(30, 30, 30); -} -.block-editor .edit-post-sidebar .acf-fields > .acf-field.acf-accordion .acf-accordion-title svg.acf-accordion-icon { - right: 16px; -} -.block-editor .edit-post-sidebar .acf-fields > .acf-field.acf-accordion .acf-accordion-content > .acf-fields { - border-top-width: 0; -} -.block-editor .edit-post-sidebar .block-editor-block-inspector .acf-fields > .acf-notice { - display: grid; - grid-template-columns: 1fr 25px; - padding: 10px; - margin: 0; -} -.block-editor .edit-post-sidebar .block-editor-block-inspector .acf-fields > .acf-notice p:last-of-type { - margin: 0; -} -.block-editor .edit-post-sidebar .block-editor-block-inspector .acf-fields > .acf-notice > .acf-notice-dismiss { - position: relative; - top: unset; - right: unset; -} -.block-editor .edit-post-sidebar .block-editor-block-inspector .acf-fields .acf-field .acf-notice { - margin: 0; - padding: 0; -} -.block-editor .edit-post-sidebar .block-editor-block-inspector .acf-fields .acf-error { - margin-bottom: 10px; -} - -/*----------------------------------------------------------------------------- -* -* Prefix field label & prefix field names -* -*-----------------------------------------------------------------------------*/ -.acf-field-setting-prefix_label p.description, -.acf-field-setting-prefix_name p.description { - order: 3; - margin-top: 0; - margin-left: 16px; -} -.acf-field-setting-prefix_label p.description code, -.acf-field-setting-prefix_name p.description code { - padding-top: 4px; - padding-right: 6px; - padding-bottom: 4px; - padding-left: 6px; - background-color: #F2F4F7; - border-radius: 4px; - color: #667085; -} - -/*----------------------------------------------------------------------------- -* -* Editor tab styles -* -*-----------------------------------------------------------------------------*/ -.acf-fields > .acf-tab-wrap:first-child .acf-tab-group { - border-top: none; -} - -.acf-fields > .acf-tab-wrap .acf-tab-group li.active a { - background: #ffffff; -} - -.acf-fields > .acf-tab-wrap .acf-tab-group li a { - background: #f1f1f1; - border-color: #ccd0d4; -} - -.acf-fields > .acf-tab-wrap .acf-tab-group li a:hover { - background: #fff; -} - -/*-------------------------------------------------------------------------------------------- -* -* User -* -*--------------------------------------------------------------------------------------------*/ -.form-table > tbody { - /* field */ - /* tab wrap */ - /* misc */ -} -.form-table > tbody > .acf-field { - /* label */ - /* input */ -} -.form-table > tbody > .acf-field > .acf-label { - padding: 20px 10px 20px 0; - width: 210px; - /* rtl */ -} -html[dir=rtl] .form-table > tbody > .acf-field > .acf-label { - padding: 20px 0 20px 10px; -} -.form-table > tbody > .acf-field > .acf-label label { - font-size: 14px; - color: #23282d; -} -.form-table > tbody > .acf-field > .acf-input { - padding: 15px 10px; - /* rtl */ -} -html[dir=rtl] .form-table > tbody > .acf-field > .acf-input { - padding: 15px 10px 15px 5%; -} -.form-table > tbody > .acf-tab-wrap td { - padding: 15px 5% 15px 0; - /* rtl */ -} -html[dir=rtl] .form-table > tbody > .acf-tab-wrap td { - padding: 15px 0 15px 5%; -} -.form-table > tbody .form-table th.acf-th { - width: auto; -} - -#your-profile, -#createuser { - /* override for user css */ - /* allow sub fields to display correctly */ -} -#your-profile .acf-field input[type=text], -#your-profile .acf-field input[type=password], -#your-profile .acf-field input[type=number], -#your-profile .acf-field input[type=search], -#your-profile .acf-field input[type=email], -#your-profile .acf-field input[type=url], -#your-profile .acf-field select, -#createuser .acf-field input[type=text], -#createuser .acf-field input[type=password], -#createuser .acf-field input[type=number], -#createuser .acf-field input[type=search], -#createuser .acf-field input[type=email], -#createuser .acf-field input[type=url], -#createuser .acf-field select { - max-width: 25em; -} -#your-profile .acf-field textarea, -#createuser .acf-field textarea { - max-width: 500px; -} -#your-profile .acf-field .acf-field input[type=text], -#your-profile .acf-field .acf-field input[type=password], -#your-profile .acf-field .acf-field input[type=number], -#your-profile .acf-field .acf-field input[type=search], -#your-profile .acf-field .acf-field input[type=email], -#your-profile .acf-field .acf-field input[type=url], -#your-profile .acf-field .acf-field textarea, -#your-profile .acf-field .acf-field select, -#createuser .acf-field .acf-field input[type=text], -#createuser .acf-field .acf-field input[type=password], -#createuser .acf-field .acf-field input[type=number], -#createuser .acf-field .acf-field input[type=search], -#createuser .acf-field .acf-field input[type=email], -#createuser .acf-field .acf-field input[type=url], -#createuser .acf-field .acf-field textarea, -#createuser .acf-field .acf-field select { - max-width: none; -} - -#registerform h2 { - margin: 1em 0; -} -#registerform .acf-field { - margin-top: 0; - /* - .acf-input { - input { - font-size: 24px; - padding: 5px; - height: auto; - } - } - */ -} -#registerform .acf-field .acf-label { - margin-bottom: 0; -} -#registerform .acf-field .acf-label label { - font-weight: normal; - line-height: 1.5; -} -#registerform p.submit { - text-align: right; -} - -/*-------------------------------------------------------------------------------------------- -* -* Term -* -*--------------------------------------------------------------------------------------------*/ -#acf-term-fields { - padding-right: 5%; -} -#acf-term-fields > .acf-field > .acf-label { - margin: 0; -} -#acf-term-fields > .acf-field > .acf-label label { - font-size: 12px; - font-weight: normal; -} - -p.submit .spinner, -p.submit .acf-spinner { - vertical-align: top; - float: none; - margin: 4px 4px 0; -} - -#edittag .acf-fields.-left > .acf-field { - padding-left: 220px; -} -#edittag .acf-fields.-left > .acf-field:before { - width: 209px; -} -#edittag .acf-fields.-left > .acf-field > .acf-label { - width: 220px; - margin-left: -220px; - padding: 0 10px; -} -#edittag .acf-fields.-left > .acf-field > .acf-input { - padding: 0; -} - -#edittag > .acf-fields.-left { - width: 96%; -} -#edittag > .acf-fields.-left > .acf-field > .acf-label { - padding-left: 0; -} - -/*-------------------------------------------------------------------------------------------- -* -* Comment -* -*--------------------------------------------------------------------------------------------*/ -.editcomment td:first-child { - white-space: nowrap; - width: 131px; -} - -/*-------------------------------------------------------------------------------------------- -* -* Widget -* -*--------------------------------------------------------------------------------------------*/ -#widgets-right .widget .acf-field .description { - padding-left: 0; - padding-right: 0; -} - -.acf-widget-fields > .acf-field .acf-label { - margin-bottom: 5px; -} -.acf-widget-fields > .acf-field .acf-label label { - font-weight: normal; - margin: 0; -} - -/*-------------------------------------------------------------------------------------------- -* -* Nav Menu -* -*--------------------------------------------------------------------------------------------*/ -.acf-menu-settings { - border-top: 1px solid #eee; - margin-top: 2em; -} -.acf-menu-settings.-seamless { - border-top: none; - margin-top: 15px; -} -.acf-menu-settings.-seamless > h2 { - display: none; -} -.acf-menu-settings .list li { - display: block; - margin-bottom: 0; -} - -.acf-fields.acf-menu-item-fields { - clear: both; - padding-top: 1px; -} -.acf-fields.acf-menu-item-fields > .acf-field { - margin: 5px 0; - padding-right: 10px; -} -.acf-fields.acf-menu-item-fields > .acf-field .acf-label { - margin-bottom: 0; -} -.acf-fields.acf-menu-item-fields > .acf-field .acf-label label { - font-style: italic; - font-weight: normal; -} - -/*--------------------------------------------------------------------------------------------- -* -* Attachment Form (single) -* -*---------------------------------------------------------------------------------------------*/ -#post .compat-attachment-fields .compat-field-acf-form-data { - display: none; -} -#post .compat-attachment-fields, -#post .compat-attachment-fields > tbody, -#post .compat-attachment-fields > tbody > tr, -#post .compat-attachment-fields > tbody > tr > th, -#post .compat-attachment-fields > tbody > tr > td { - display: block; -} -#post .compat-attachment-fields > tbody > .acf-field { - margin: 15px 0; -} -#post .compat-attachment-fields > tbody > .acf-field > .acf-label { - margin: 0; -} -#post .compat-attachment-fields > tbody > .acf-field > .acf-label label { - margin: 0; - padding: 0; -} -#post .compat-attachment-fields > tbody > .acf-field > .acf-label label p { - margin: 0 0 3px !important; -} -#post .compat-attachment-fields > tbody > .acf-field > .acf-input { - margin: 0; -} - -/*--------------------------------------------------------------------------------------------- -* -* Media Model -* -*---------------------------------------------------------------------------------------------*/ -/* WP sets tables to act as divs. ACF uses tables, so these muct be reset */ -.media-modal .compat-attachment-fields td.acf-input table { - display: table; - table-layout: auto; -} -.media-modal .compat-attachment-fields td.acf-input table tbody { - display: table-row-group; -} -.media-modal .compat-attachment-fields td.acf-input table tr { - display: table-row; -} -.media-modal .compat-attachment-fields td.acf-input table td, .media-modal .compat-attachment-fields td.acf-input table th { - display: table-cell; -} - -/* field widths floats */ -.media-modal .compat-attachment-fields > tbody > .acf-field { - margin: 5px 0; -} -.media-modal .compat-attachment-fields > tbody > .acf-field > .acf-label { - min-width: 30%; - margin: 0; - padding: 0; - float: left; - text-align: right; - display: block; - float: left; -} -.media-modal .compat-attachment-fields > tbody > .acf-field > .acf-label > label { - padding-top: 6px; - margin: 0; - color: #666666; - font-weight: 400; - line-height: 16px; -} -.media-modal .compat-attachment-fields > tbody > .acf-field > .acf-input { - width: 65%; - margin: 0; - padding: 0; - float: right; - display: block; -} -.media-modal .compat-attachment-fields > tbody > .acf-field p.description { - margin: 0; -} - -/* restricted selection (copy of WP .upload-errors)*/ -.acf-selection-error { - background: #ffebe8; - border: 1px solid #c00; - border-radius: 3px; - padding: 8px; - margin: 20px 0 0; -} -.acf-selection-error .selection-error-label { - background: #CC0000; - border-radius: 3px; - color: #fff; - font-weight: bold; - margin-right: 8px; - padding: 2px 4px; -} -.acf-selection-error .selection-error-message { - color: #b44; - display: block; - padding-top: 8px; - word-wrap: break-word; - white-space: pre-wrap; -} - -/* disabled attachment */ -.media-modal .attachment.acf-disabled .thumbnail { - opacity: 0.25 !important; -} -.media-modal .attachment.acf-disabled .attachment-preview:before { - background: rgba(0, 0, 0, 0.15); - z-index: 1; - position: relative; -} - -/* misc */ -.media-modal { - /* compat-item */ - /* allow line breaks in upload error */ - /* fix required span */ - /* sidebar */ - /* mobile md */ -} -.media-modal .compat-field-acf-form-data, -.media-modal .compat-field-acf-blank { - display: none !important; -} -.media-modal .upload-error-message { - white-space: pre-wrap; -} -.media-modal .acf-required { - padding: 0 !important; - margin: 0 !important; - float: none !important; - color: #f00 !important; -} -.media-modal .media-sidebar .compat-item { - padding-bottom: 20px; -} -@media (max-width: 900px) { - .media-modal { - /* label */ - /* field */ - } - .media-modal .setting span, - .media-modal .compat-attachment-fields > tbody > .acf-field > .acf-label { - width: 98%; - float: none; - text-align: left; - min-height: 0; - padding: 0; - } - .media-modal .setting input, - .media-modal .setting textarea, - .media-modal .compat-attachment-fields > tbody > .acf-field > .acf-input { - float: none; - height: auto; - max-width: none; - width: 98%; - } -} - -/*--------------------------------------------------------------------------------------------- -* -* Media Model (expand details) -* -*---------------------------------------------------------------------------------------------*/ -.media-modal .acf-expand-details { - float: right; - padding: 8px 10px; - margin-right: 6px; - font-size: 13px; - height: 18px; - line-height: 18px; - color: #666; - text-decoration: none; -} -.media-modal .acf-expand-details:focus, .media-modal .acf-expand-details:active { - outline: 0 none; - box-shadow: none; - color: #666; -} -.media-modal .acf-expand-details:hover { - color: #000; -} -.media-modal .acf-expand-details .is-open { - display: none; -} -.media-modal .acf-expand-details .is-closed { - display: block; -} -@media (max-width: 640px) { - .media-modal .acf-expand-details { - display: none; - } -} - -/* expanded */ -.media-modal.acf-expanded { - /* toggle */ -} -.media-modal.acf-expanded .acf-expand-details .is-open { - display: block; -} -.media-modal.acf-expanded .acf-expand-details .is-closed { - display: none; -} -.media-modal.acf-expanded .attachments-browser .media-toolbar, -.media-modal.acf-expanded .attachments-browser .attachments { - right: 740px; -} -.media-modal.acf-expanded .media-sidebar { - width: 708px; -} -.media-modal.acf-expanded .media-sidebar .attachment-info .thumbnail { - float: left; - max-height: none; -} -.media-modal.acf-expanded .media-sidebar .attachment-info .thumbnail img { - max-width: 100%; - max-height: 200px; -} -.media-modal.acf-expanded .media-sidebar .attachment-info .details { - float: right; -} -.media-modal.acf-expanded .media-sidebar .attachment-info .thumbnail, -.media-modal.acf-expanded .media-sidebar .attachment-details .setting .name, -.media-modal.acf-expanded .media-sidebar .compat-attachment-fields > tbody > .acf-field > .acf-label { - min-width: 20%; - margin-right: 0; -} -.media-modal.acf-expanded .media-sidebar .attachment-info .details, -.media-modal.acf-expanded .media-sidebar .attachment-details .setting input, -.media-modal.acf-expanded .media-sidebar .attachment-details .setting textarea, -.media-modal.acf-expanded .media-sidebar .attachment-details .setting + .description, -.media-modal.acf-expanded .media-sidebar .compat-attachment-fields > tbody > .acf-field > .acf-input { - min-width: 77%; -} -@media (max-width: 900px) { - .media-modal.acf-expanded .attachments-browser .media-toolbar { - display: none; - } - .media-modal.acf-expanded .attachments { - display: none; - } - .media-modal.acf-expanded .media-sidebar { - width: auto; - max-width: none !important; - bottom: 0 !important; - } - .media-modal.acf-expanded .media-sidebar .attachment-info .thumbnail { - min-width: 0; - max-width: none; - width: 30%; - } - .media-modal.acf-expanded .media-sidebar .attachment-info .details { - min-width: 0; - max-width: none; - width: 67%; - } -} -@media (max-width: 640px) { - .media-modal.acf-expanded .media-sidebar .attachment-info .thumbnail, .media-modal.acf-expanded .media-sidebar .attachment-info .details { - width: 100%; - } -} - -/*--------------------------------------------------------------------------------------------- -* -* ACF Media Model -* -*---------------------------------------------------------------------------------------------*/ -.acf-media-modal { - /* hide embed settings */ -} -.acf-media-modal .media-embed .setting.align, -.acf-media-modal .media-embed .setting.link-to { - display: none; -} - -/*--------------------------------------------------------------------------------------------- -* -* ACF Media Model (Select Mode) -* -*---------------------------------------------------------------------------------------------*/ -/*--------------------------------------------------------------------------------------------- -* -* ACF Media Model (Edit Mode) -* -*---------------------------------------------------------------------------------------------*/ -.acf-media-modal.-edit { - /* resize modal */ - left: 15%; - right: 15%; - top: 100px; - bottom: 100px; - /* hide elements */ - /* full width */ - /* tidy up incorrect distance */ - /* title box shadow (to match media grid) */ - /* sidebar */ - /* mobile md */ - /* mobile sm */ -} -.acf-media-modal.-edit .media-frame-menu, -.acf-media-modal.-edit .media-frame-router, -.acf-media-modal.-edit .media-frame-content .attachments, -.acf-media-modal.-edit .media-frame-content .media-toolbar { - display: none; -} -.acf-media-modal.-edit .media-frame-title, -.acf-media-modal.-edit .media-frame-content, -.acf-media-modal.-edit .media-frame-toolbar, -.acf-media-modal.-edit .media-sidebar { - width: auto; - left: 0; - right: 0; -} -.acf-media-modal.-edit .media-frame-content { - top: 50px; -} -.acf-media-modal.-edit .media-frame-title { - border-bottom: 1px solid #DFDFDF; - box-shadow: 0 4px 4px -4px rgba(0, 0, 0, 0.1); -} -.acf-media-modal.-edit .media-sidebar { - padding: 0 16px; - /* WP details */ - /* ACF fields */ - /* WP required message */ -} -.acf-media-modal.-edit .media-sidebar .attachment-details { - overflow: visible; - /* hide 'Attachment Details' heading */ - /* remove overflow */ - /* move thumbnail */ -} -.acf-media-modal.-edit .media-sidebar .attachment-details > h3, .acf-media-modal.-edit .media-sidebar .attachment-details > h2 { - display: none; -} -.acf-media-modal.-edit .media-sidebar .attachment-details .attachment-info { - background: #fff; - border-bottom: #dddddd solid 1px; - padding: 16px; - margin: 0 -16px 16px; -} -.acf-media-modal.-edit .media-sidebar .attachment-details .thumbnail { - margin: 0 16px 0 0; -} -.acf-media-modal.-edit .media-sidebar .attachment-details .setting { - margin: 0 0 5px; -} -.acf-media-modal.-edit .media-sidebar .attachment-details .setting span { - margin: 0; -} -.acf-media-modal.-edit .media-sidebar .compat-attachment-fields > tbody > .acf-field { - margin: 0 0 5px; -} -.acf-media-modal.-edit .media-sidebar .compat-attachment-fields > tbody > .acf-field p.description { - margin-top: 3px; -} -.acf-media-modal.-edit .media-sidebar .media-types-required-info { - display: none; -} -@media (max-width: 900px) { - .acf-media-modal.-edit { - top: 30px; - right: 30px; - bottom: 30px; - left: 30px; - } -} -@media (max-width: 640px) { - .acf-media-modal.-edit { - top: 0; - right: 0; - bottom: 0; - left: 0; - } -} -@media (max-width: 480px) { - .acf-media-modal.-edit .media-frame-content { - top: 40px; - } -} - -.acf-temp-remove { - position: relative; - opacity: 1; - -webkit-transition: all 0.25s ease; - -moz-transition: all 0.25s ease; - -o-transition: all 0.25s ease; - transition: all 0.25s ease; - overflow: hidden; - /* overlay prevents hover */ -} -.acf-temp-remove:after { - display: block; - content: ""; - position: absolute; - top: 0; - left: 0; - right: 0; - bottom: 0; - z-index: 99; -} - -.hidden-by-conditional-logic { - display: none !important; -} -.hidden-by-conditional-logic.appear-empty { - display: table-cell !important; -} -.hidden-by-conditional-logic.appear-empty .acf-input { - display: none !important; -} - -.acf-postbox.acf-hidden { - display: none !important; -} - -.acf-attention { - transition: border 0.25s ease-out; -} -.acf-attention.-focused { - border: #23282d solid 1px !important; - transition: none; -} - -tr.acf-attention { - transition: box-shadow 0.25s ease-out; - position: relative; -} -tr.acf-attention.-focused { - box-shadow: #23282d 0 0 0px 1px !important; -} - -#editor .edit-post-layout__metaboxes { - padding: 0; -} -#editor .edit-post-layout__metaboxes .edit-post-meta-boxes-area { - margin: 0; -} -#editor .metabox-location-side .postbox-container { - float: none; -} -#editor .postbox { - color: #444; -} -#editor .postbox > .postbox-header .hndle { - border-bottom: none; -} -#editor .postbox > .postbox-header .hndle:hover { - background: transparent; -} -#editor .postbox > .postbox-header .handle-actions .handle-order-higher, -#editor .postbox > .postbox-header .handle-actions .handle-order-lower { - width: 1.62rem; -} -#editor .postbox > .postbox-header .handle-actions .acf-hndle-cog { - height: 44px; - line-height: 44px; -} -#editor .postbox > .postbox-header:hover { - background: #f0f0f0; -} -#editor .postbox:last-child.closed > .postbox-header { - border-bottom: none; -} -#editor .postbox:last-child > .inside { - border-bottom: none; -} -#editor .block-editor-writing-flow__click-redirect { - min-height: 50px; -} - -body.is-dragging-metaboxes #acf_after_title-sortables { - outline: 3px dashed #646970; - display: flow-root; - min-height: 60px; - margin-bottom: 3px !important; -} - -/*# sourceMappingURL=acf-input.css.map*/ \ No newline at end of file diff --git a/wp-content/plugins/advanced-custom-fields-pro/assets/build/css/acf-input.css.map b/wp-content/plugins/advanced-custom-fields-pro/assets/build/css/acf-input.css.map deleted file mode 100644 index 524a9f1ff..000000000 --- a/wp-content/plugins/advanced-custom-fields-pro/assets/build/css/acf-input.css.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"acf-input.css","mappings":"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A;AJnHH;AIuHE;EACC;AJrHH;AI0HC;EACC;AJxHF;AErqCC;EEkyCC,qBHjzCe;ADurCjB;AI2HE;EACC,qBHnzCc;AD0rCjB;AI4HE;EAEC;AJ3HH;AI4HG;EACC;AJ1HJ;AI8HE;EACC;AJ5HH;AI6HG;EACC;AJ3HJ;AI6HG;EACC;AJ3HJ;;AIiIA;AACA;EACC;EACA;EACA;AJ9HD;;AIiIA;EACC;AJ9HD;AIgIC;EACC;EACA;AJ9HF;;AIkIA;AAEC;EACC;EACA;EACA;AJhIF;;AIoIA;;;;2EAAA;AAMA;EACC;EACA;EACA;AJlID;AIoIC;EACC;EACA;AJlIF;AIoIE;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AJlIH;AIqIE;EACC;EACA;EACA;EACA;AJnIH;AIuIE;EACC;AJrIH;AIyIC;EACC;AJvIF;AI2IC;EACC;AJzIF;AI8IE;EACC;AJ5IH;AI8IE;;EAEC;AJ5IH;AIkJE;EACC;AJhJH;AIkJE;EACC;AJhJH;AIkJE;EACC;AJhJH;AIsJE;EACC;AJpJH;AIsJE;;EAEC;AJpJH;AIwJE;EACC;AJtJH;AI0JE;EACC;AJxJH;AI8JE;EACC;AJ5JH;AI8JE;EACC;AJ5JH;;AIiKA;AACA;EACC;EACA;AJ9JD;;AIiKA;EACC;AJ9JD;;AIiKA;EACC;AJ9JD;;AIgKA;EACC;EACA;AJ7JD;;AIgKA;EACC;AJ7JD;;AIgKA;;;;2EAAA;AAMA;EACC;EACA;EAuDA;EAkGA;AJrTD;AI+JC;EAEC;EACA;EAiCA;AJ9LF;AEx2CC;EACC;EACA;EACA;AF02CF;AI0JE;EACC;EACA;EACA;EACA;EACA;EACA;AJxJH;AIyJG;EACC;AJvJJ;AI2JG;;EAEC;EACA;AJzJJ;AI2JI;;;EAEC;EACA;AJxJL;AI2JG;EACC;EACA;EACA;EACA;AJzJJ;AI+JG;EACC;AJ7JJ;AIiKG;EACC;AJ/JJ;AIiKG;EACC;AJ/JJ;AIqKC;EACC;EACA;EACA;EACA;AJnKF;AIqKE;;;EAGC;EACA;EACA;EACA;EACA;AJnKH;AIsKE;EACC;AJpKH;AIuKE;EACC;EA+BA;EAcA;AJ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BHntFiB;EGotFjB,kBHptFiB;EGqtFjB;AJjZD;;AIoZA;AAIA;AACA;;;;;;;;;CAAA;AAWA;AACA;EACC;EACA;AJrZD;AIuZC;EACC;AJrZF;AIwZC;EACC;AJtZF;;AI6ZC;EACC;AJ1ZF;AI8ZC;EACC;AJ5ZF;AIgaC;EACC;AJ9ZF;;AIkaA;;;;+EAAA;AAUG;;EAEC;AJpaJ;AIuaI;;EAEC;AJraL;AI2aE;EACC;EACA;AJzaH;AI2aG;EACC;EACA;EACA;EACA;EAGA;EACA;EACA;AJ3aJ;AI8aI;EACC;AJ5aL;AI6aK;EACC;AJ3aN;AIgbI;EACC;EACA;EACA;AJ9aL;AIgbK;EACC;AJ9aN;AIibK;EACC;EACA;AJ/aN;AIgbM;EACC;EACA;AJ9aP;AIibM;EACC;AJ/aP;AIobM;EACC;AJlbP;AI2bG;EACC;EACA;EACA;EACA;AJzbJ;AI2bG;EACC;AJzbJ;AI2bG;EACC;EACA;EACA;AJzbJ;AI6bG;EACC;EACA;AJ3bJ;AI8bG;EACC;AJ5bJ;;AIkcA;;;;+EAAA;AAOC;;EACC;EAEC;EACA;AJjcH;AIocE;;EAEE;EACA;EACA;EACA;EAED,yBH32FQ;EG42FR;EAEA,cH12FQ;ADs6EX;;AIycA;;;;+EAAA;AAMA;EACC;AJvcD;;AI0cA;EACC;AJvcD;;AI0cA;EACC;EACA;AJvcD;;AI0cA;EACC;AJvcD;;AK7+EA;;;;8FAAA;AAMA;EAEC;EAkCA;EAYA;ALk8ED;AK/+EC;EAEC;EAkBA;AL+9EF;AKh/EE;EACC;EACG;EAEA;ALi/EN;AKh/EG;EACC;ALk/EJ;AK/+EM;EACF;EACA;ALi/EJ;AK1+EE;EACC;EAEA;AL2+EH;AK1+EG;EACC;AL4+EJ;AKp+EC;EACC;EAEA;ALq+EF;AKp+EE;EACC;ALs+EH;AK/9EC;EACC;ALi+EF;;AK59EA;;EAGC;EAgBA;AL+8ED;AK99EC;;;;;;;;;;;;;;EAOI;ALu+EL;AKp+EC;;EACC;ALu+EF;AKl+EC;;;;;;;;;;;;;;;;EAQI;AL4+EL;;AKt+EC;EACC;ALy+EF;AKt+EC;EACC;EAWF;;;;;;;;GAAA;ALs+EA;AK/+EE;EACC;ALi/EH;AK/+EG;EACC;EACA;ALi/EJ;AKl+EC;EACC;ALo+EF;;AK/9EA;;;;8FAAA;AAOA;EACC;ALg+ED;AK59EE;EACC;AL89EH;AK59EG;EACC;EACA;AL89EJ;;AKv9EA;;EAEC;EACA;EACA;AL09ED;;AKn9EC;EACC;ALs9EF;AKp9EE;EACC;ALs9EH;AKn9EE;EACC;EACA;EACA;ALq9EH;AKl9EE;EACC;ALo9EH;;AK/8EA;EACC;ALk9ED;AK98EE;EACC;ALg9EH;;AK18EA;;;;8FAAA;AAMA;EACI;EACA;AL48EJ;;AKx8EA;;;;8FAAA;AAMA;EACC;EACA;AL08ED;;AKn8EE;EACC;ALs8EH;AKp8EG;EACC;EACA;ALs8EJ;;AKh8EA;;;;8FAAA;AAMA;EACC;EACG;ALk8EJ;AK/7EC;EACC;EACA;ALi8EF;AK/7EE;EAAO;ALk8ET;AK97EC;EACC;EACA;ALg8EF;;AK57EA;EACC;EACA;AL+7ED;AK77EC;EACC;EACA;AL+7EF;AK77EE;EACC;AL+7EH;AK97EG;EACC;EACA;ALg8EJ;;AK17EA;;;;+FAAA;AAQC;EACC;AL07EF;AKv7EC;;;;;EAKC;ALy7EF;AKt7EC;EACC;ALw7EF;AKt7EE;EACC;ALw7EH;AKt7EG;EACC;EACA;ALw7EJ;AKt7EI;EACC;ALw7EL;AKn7EE;EACC;ALq7EH;;AM7uFA;;;;+FAAA;AAMA;AAGC;EACC;EACA;AN6uFF;AM3uFE;EACC;AN6uFH;AM1uFE;EACC;AN4uFH;AMzuFE;EACC;AN2uFH;;AMnuFA;AACA;EACC;ANsuFD;AMpuFC;EACC;EACA;EACA;EACA;EACG;EACA;EACA;ANsuFL;AMpuFK;EACC;EACH;EACA;EACG;EACA;ANsuFN;AMluFC;EACC;EACA;EACA;EACG;EACA;ANouFL;AMjuFC;EACC;ANmuFF;;AM9tFA;AACA;EACC;EACG;EACA;EACA;EACA;ANiuFJ;AM/tFI;EACF;EACG;EACA;EACA;EACA;EACA;ANiuFL;AM9tFC;EACC;EACG;EACA;EACA;EACA;ANguFL;;AM3tFA;AAGC;EACC;AN4tFF;AMztFC;EACC;EACA;EACA;AN2tFF;;AMrtFA;AACA;EAEC;EAOA;EAMA;EASA;EAUA;AN2rFD;AM1tFC;;EAEC;AN4tFF;AMvtFC;EACC;ANytFF;AMptFC;EACC;EACA;EACA;EACA;ANstFF;AM/sFE;EACC;ANitFH;AM1sFC;EAnCD;IAqCE;IAWA;ENksFA;EM5sFA;;IAEC;IACA;IACA;IACA;IACA;EN8sFD;EMzsFA;;;IAGC;IACG;IACA;IACA;EN2sFJ;AACF;;AMlsFA;;;;+FAAA;AAMA;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;ANosFD;AMjsFC;EACC;EACA;EACA;ANmsFF;AMjsFC;EACC;ANmsFF;AM/rFC;EAAW;ANksFZ;AMjsFC;EAAa;ANosFd;AMjsFC;EAzBD;IA0BE;ENosFA;AACF;;AMhsFA;AACA;EAEC;ANksFD;AMhsFE;EAAW;ANmsFb;AMlsFE;EAAa;ANqsFf;AMhsFC;;EACoC;ANmsFrC;AMlsFC;EAAiB;ANqsFlB;AM9rFG;EACC;EACA;ANgsFJ;AM9rFI;EACC;EACA;ANgsFL;AM5rFG;EACC;AN8rFJ;AMzrFE;;;EAGC;EACA;AN2rFH;AMvrFE;;;;;EAKC;ANyrFH;AMprFC;EAGC;IAAsC;ENqrFtC;EMprFA;IAAe;ENurFf;EMtrFA;IAAiB;IAAa;IAA4B;EN2rF1D;EMprFE;IACC;IACA;IACA;ENsrFH;EMnrFE;IACC;IACA;IACA;ENqrFH;AACF;AM9qFC;EAOG;IACC;EN0qFH;AACF;;AMlqFA;;;;+FAAA;AAMA;EAEC;ANmqFD;AMjqFE;;EAEC;ANmqFH;;AM7pFA;;;;+FAAA;AAaA;;;;+FAAA;AAMA;EAEC;EACA;EACA;EACA;EACA;EAGA;EASA;EAWA;EAMA;EAOA;EA4DA;EASA;ANojFD;AMzpFC;;;;EAII;AN2pFL;AMtpFC;;;;EAIC;EACA;EACA;ANwpFF;AMnpFC;EACI;ANqpFL;AMhpFC;EACI;EACA;ANkpFL;AM7oFC;EAEC;EAEA;EAmCA;EAcA;AN8lFF;AM9oFE;EAEC;EAEA;EAMA;EAQA;ANkoFH;AM/oFG;EACC;ANipFJ;AM5oFG;EACC;EACA;EACA;EACA;AN8oFJ;AM1oFG;EACC;AN4oFJ;AMzoFG;EACC;AN2oFJ;AMzoFI;EACC;AN2oFL;AMjoFG;EACC;ANmoFJ;AMjoFI;EACC;ANmoFL;AM3nFE;EAA6B;AN8nF/B;AMxnFC;EAvGD;IAwGE;IACA;IACA;IACA;EN2nFA;AACF;AMvnFC;EAhHD;IAiHE;IACA;IACA;IACA;EN0nFA;AACF;AMxnFC;EACC;IACI;EN0nFJ;AACF;;AOhlGA;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EAEA;APklGD;AOjlGC;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;APmlGF;;AO9kGA;EACC;APilGD;AO9kGC;EACC;APglGF;AO/kGE;EACC;APilGH;;AO3kGA;EACC;AP8kGD;;AO1kGA;EACC;AP6kGD;AO5kGC;EACC;EACA;AP8kGF;;AO3kGA;EACC;EACA;AP8kGD;AO7kGC;EACC;AP+kGF;;AQhoGC;EACC;ARmoGF;AQloGE;EACC;ARooGH;AQ9nGE;EACC;ARgoGH;AQ3nGC;EACC;AR6nGF;AQ1nGG;EACC;AR4nGJ;AQ3nGI;EACC;AR6nGL;AQznGI;;EAEC;AR2nGL;AQvnGI;EACC;EACA;ARynGL;AQtnGG;EACC;ARwnGJ;AQnnGE;EACC;ARqnGH;AQnnGE;EACC;ARqnGH;AQhnGC;EACC;ARknGF;;AQ7mGA;EACC;EACA;EACA;EACA;ARgnGD,C","sources":["webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/sass/acf-input.scss","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/sass/_variables.scss","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/sass/_mixins.scss","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/sass/_typography.scss","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/sass/_fields.scss","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/sass/_forms.scss","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/sass/_media.scss","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/sass/_input.scss","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/sass/_postbox.scss"],"sourcesContent":["@charset \"UTF-8\";\n/*--------------------------------------------------------------------------------------------\n*\n*\tVars\n*\n*--------------------------------------------------------------------------------------------*/\n/* colors */\n/* acf-field */\n/* responsive */\n/*--------------------------------------------------------------------------------------------\n*\n*\tACF 6 ↓\n*\n*--------------------------------------------------------------------------------------------*/\n/*--------------------------------------------------------------------------------------------\n*\n* Mixins\n*\n*--------------------------------------------------------------------------------------------*/\n/*---------------------------------------------------------------------------------------------\n*\n* Global\n*\n*---------------------------------------------------------------------------------------------*/\n.acf-admin-page #wpcontent {\n line-height: 140%;\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* Links\n*\n*---------------------------------------------------------------------------------------------*/\n.acf-admin-page a {\n color: #0783BE;\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* Headings\n*\n*---------------------------------------------------------------------------------------------*/\n.acf-h1, .acf-admin-page h1,\n.acf-headerbar h1 {\n font-size: 21px;\n font-weight: 400;\n}\n\n.acf-h2, .acf-page-title, .acf-admin-page h2,\n.acf-headerbar h2 {\n font-size: 18px;\n font-weight: 400;\n}\n\n.acf-h3, .acf-admin-page h3,\n.acf-headerbar h3 {\n font-size: 16px;\n font-weight: 400;\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* Paragraphs\n*\n*---------------------------------------------------------------------------------------------*/\n.acf-admin-page .p1 {\n font-size: 15px;\n}\n.acf-admin-page .p2 {\n font-size: 14px;\n}\n.acf-admin-page .p3 {\n font-size: 13.5px;\n}\n.acf-admin-page .p4 {\n font-size: 13px;\n}\n.acf-admin-page .p5 {\n font-size: 12.5px;\n}\n.acf-admin-page .p6, .acf-admin-page .acf-field p.description, .acf-field .acf-admin-page p.description, .acf-admin-page .acf-small {\n font-size: 12px;\n}\n.acf-admin-page .p7, .acf-admin-page .acf-field-setting-prefix_label p.description code, .acf-field-setting-prefix_label p.description .acf-admin-page code,\n.acf-admin-page .acf-field-setting-prefix_name p.description code,\n.acf-field-setting-prefix_name p.description .acf-admin-page code {\n font-size: 11.5px;\n}\n.acf-admin-page .p8 {\n font-size: 11px;\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* Page titles\n*\n*---------------------------------------------------------------------------------------------*/\n.acf-page-title {\n color: #344054;\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* Hide old / native WP titles from pages\n*\n*---------------------------------------------------------------------------------------------*/\n.acf-admin-page .acf-settings-wrap h1 {\n display: none !important;\n}\n.acf-admin-page #acf-admin-tools h1:not(.acf-field-group-pro-features-title, .acf-field-group-pro-features-title-sm) {\n display: none !important;\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* Small\n*\n*---------------------------------------------------------------------------------------------*/\n/*---------------------------------------------------------------------------------------------\n*\n* Link focus style\n*\n*---------------------------------------------------------------------------------------------*/\n.acf-admin-page a:focus {\n box-shadow: none;\n outline: none;\n}\n.acf-admin-page a:focus-visible {\n box-shadow: 0 0 0 1px #4f94d4, 0 0 2px 1px rgba(79, 148, 212, 0.8);\n outline: 1px solid transparent;\n}\n\n/*--------------------------------------------------------------------------------------------\n*\n*\tacf-field\n*\n*--------------------------------------------------------------------------------------------*/\n.acf-field,\n.acf-field .acf-label,\n.acf-field .acf-input {\n -webkit-box-sizing: border-box;\n -moz-box-sizing: border-box;\n box-sizing: border-box;\n position: relative;\n}\n\n.acf-field {\n margin: 15px 0;\n clear: both;\n}\n.acf-field p.description {\n display: block;\n margin: 0;\n padding: 0;\n}\n.acf-field .acf-label {\n vertical-align: top;\n margin: 0 0 10px;\n}\n.acf-field .acf-label label {\n display: block;\n font-weight: 500;\n margin: 0 0 3px;\n padding: 0;\n}\n.acf-field .acf-label:empty {\n margin-bottom: 0;\n}\n.acf-field .acf-input {\n vertical-align: top;\n}\n.acf-field p.description {\n display: block;\n margin-top: 6px;\n color: #667085;\n}\n.acf-field .acf-notice {\n margin: 0 0 15px;\n background: #edf2ff;\n color: #0c6ca0;\n border-color: #2183b9;\n}\n.acf-field .acf-notice.-error {\n background: #ffe6e6;\n color: #cc2727;\n border-color: #d12626;\n}\n.acf-field .acf-notice.-success {\n background: #eefbe8;\n color: #0e7b17;\n border-color: #32a23b;\n}\n.acf-field .acf-notice.-warning {\n background: #fff3e6;\n color: #bd4b0e;\n border-color: #d16226;\n}\ntd.acf-field,\ntr.acf-field {\n margin: 0;\n}\n\n.acf-field[data-width] {\n float: left;\n clear: none;\n /*\n \t@media screen and (max-width: $sm) {\n \t\tfloat: none;\n \t\twidth: auto;\n \t\tborder-left-width: 0;\n \t\tborder-right-width: 0;\n \t}\n */\n}\n.acf-field[data-width] + .acf-field[data-width] {\n border-left: 1px solid #eeeeee;\n}\nhtml[dir=rtl] .acf-field[data-width] {\n float: right;\n}\nhtml[dir=rtl] .acf-field[data-width] + .acf-field[data-width] {\n border-left: none;\n border-right: 1px solid #eeeeee;\n}\ntd.acf-field[data-width],\ntr.acf-field[data-width] {\n float: none;\n}\n\n.acf-field.-c0 {\n clear: both;\n border-left-width: 0 !important;\n}\nhtml[dir=rtl] .acf-field.-c0 {\n border-left-width: 1px !important;\n border-right-width: 0 !important;\n}\n\n.acf-field.-r0 {\n border-top-width: 0 !important;\n}\n\n/*--------------------------------------------------------------------------------------------\n*\n*\tacf-fields\n*\n*--------------------------------------------------------------------------------------------*/\n.acf-fields {\n position: relative;\n}\n.acf-fields:after {\n display: block;\n clear: both;\n content: \"\";\n}\n.acf-fields.-border {\n border: #ccd0d4 solid 1px;\n background: #fff;\n}\n.acf-fields > .acf-field {\n position: relative;\n margin: 0;\n padding: 16px;\n border-top-width: 1px;\n border-top-style: solid;\n border-top-color: #EAECF0;\n}\n.acf-fields > .acf-field:first-child {\n border-top: none;\n margin-top: 0;\n}\ntd.acf-fields {\n padding: 0 !important;\n}\n\n/*--------------------------------------------------------------------------------------------\n*\n*\tacf-fields (clear)\n*\n*--------------------------------------------------------------------------------------------*/\n.acf-fields.-clear > .acf-field {\n border: none;\n padding: 0;\n margin: 15px 0;\n}\n.acf-fields.-clear > .acf-field[data-width] {\n border: none !important;\n}\n.acf-fields.-clear > .acf-field > .acf-label {\n padding: 0;\n}\n.acf-fields.-clear > .acf-field > .acf-input {\n padding: 0;\n}\n\n/*--------------------------------------------------------------------------------------------\n*\n*\tacf-fields (left)\n*\n*--------------------------------------------------------------------------------------------*/\n.acf-fields.-left > .acf-field {\n padding: 15px 0;\n}\n.acf-fields.-left > .acf-field:after {\n display: block;\n clear: both;\n content: \"\";\n}\n.acf-fields.-left > .acf-field:before {\n content: \"\";\n display: block;\n position: absolute;\n z-index: 0;\n background: #f9f9f9;\n border-color: #e1e1e1;\n border-style: solid;\n border-width: 0 1px 0 0;\n top: 0;\n bottom: 0;\n left: 0;\n width: 20%;\n}\n.acf-fields.-left > .acf-field[data-width] {\n float: none;\n width: auto !important;\n border-left-width: 0 !important;\n border-right-width: 0 !important;\n}\n.acf-fields.-left > .acf-field > .acf-label {\n float: left;\n width: 20%;\n margin: 0;\n padding: 0 12px;\n}\n.acf-fields.-left > .acf-field > .acf-input {\n float: left;\n width: 80%;\n margin: 0;\n padding: 0 12px;\n}\nhtml[dir=rtl] .acf-fields.-left > .acf-field:before {\n border-width: 0 0 0 1px;\n left: auto;\n right: 0;\n}\nhtml[dir=rtl] .acf-fields.-left > .acf-field > .acf-label {\n float: right;\n}\nhtml[dir=rtl] .acf-fields.-left > .acf-field > .acf-input {\n float: right;\n}\n#side-sortables .acf-fields.-left > .acf-field:before {\n display: none;\n}\n#side-sortables .acf-fields.-left > .acf-field > .acf-label {\n width: 100%;\n margin-bottom: 10px;\n}\n#side-sortables .acf-fields.-left > .acf-field > .acf-input {\n width: 100%;\n}\n@media screen and (max-width: 640px) {\n .acf-fields.-left > .acf-field:before {\n display: none;\n }\n .acf-fields.-left > .acf-field > .acf-label {\n width: 100%;\n margin-bottom: 10px;\n }\n .acf-fields.-left > .acf-field > .acf-input {\n width: 100%;\n }\n}\n\n/* clear + left */\n.acf-fields.-clear.-left > .acf-field {\n padding: 0;\n border: none;\n}\n.acf-fields.-clear.-left > .acf-field:before {\n display: none;\n}\n.acf-fields.-clear.-left > .acf-field > .acf-label {\n padding: 0;\n}\n.acf-fields.-clear.-left > .acf-field > .acf-input {\n padding: 0;\n}\n\n/*--------------------------------------------------------------------------------------------\n*\n*\tacf-table\n*\n*--------------------------------------------------------------------------------------------*/\n.acf-table tr.acf-field > td.acf-label {\n padding: 15px 12px;\n margin: 0;\n background: #f9f9f9;\n width: 20%;\n}\n.acf-table tr.acf-field > td.acf-input {\n padding: 15px 12px;\n margin: 0;\n border-left-color: #e1e1e1;\n}\n\n.acf-sortable-tr-helper {\n position: relative !important;\n display: table-row !important;\n}\n\n/*--------------------------------------------------------------------------------------------\n*\n*\tacf-postbox\n*\n*--------------------------------------------------------------------------------------------*/\n.acf-postbox {\n position: relative;\n}\n.acf-postbox > .inside {\n margin: 0 !important; /* override WP style - do not delete - you have tried this before */\n padding: 0 !important; /* override WP style - do not delete - you have tried this before */\n}\n.acf-postbox .acf-hndle-cog {\n color: #72777c;\n font-size: 16px;\n line-height: 36px;\n height: 36px;\n width: 1.62rem;\n position: relative;\n display: none;\n}\n.acf-postbox .acf-hndle-cog:hover {\n color: #191e23;\n}\n.acf-postbox > .hndle:hover .acf-hndle-cog,\n.acf-postbox > .postbox-header:hover .acf-hndle-cog {\n display: inline-block;\n}\n.acf-postbox > .hndle .acf-hndle-cog {\n height: 20px;\n line-height: 20px;\n float: right;\n width: auto;\n}\n.acf-postbox > .hndle .acf-hndle-cog:hover {\n color: #777777;\n}\n.acf-postbox .acf-replace-with-fields {\n padding: 15px;\n text-align: center;\n}\n\n#post-body-content #acf_after_title-sortables {\n margin: 20px 0 -20px;\n}\n\n/* seamless */\n.acf-postbox.seamless {\n border: 0 none;\n background: transparent;\n box-shadow: none;\n /* hide hndle */\n /* inside */\n}\n.acf-postbox.seamless > .postbox-header,\n.acf-postbox.seamless > .hndle,\n.acf-postbox.seamless > .handlediv {\n display: none !important;\n}\n.acf-postbox.seamless > .inside {\n display: block !important; /* stop metabox from hiding when closed */\n margin-left: -12px !important;\n margin-right: -12px !important;\n}\n.acf-postbox.seamless > .inside > .acf-field {\n border-color: transparent;\n}\n\n/* seamless (left) */\n.acf-postbox.seamless > .acf-fields.-left {\n /* hide sidebar bg */\n /* mobile */\n}\n.acf-postbox.seamless > .acf-fields.-left > .acf-field:before {\n display: none;\n}\n@media screen and (max-width: 782px) {\n .acf-postbox.seamless > .acf-fields.-left {\n /* remove padding */\n }\n .acf-postbox.seamless > .acf-fields.-left > .acf-field > .acf-label, .acf-postbox.seamless > .acf-fields.-left > .acf-field > .acf-input {\n padding: 0;\n }\n}\n\n/*-----------------------------------------------------------------------------\n*\n* Inputs\n*\n*-----------------------------------------------------------------------------*/\n.acf-field input[type=text],\n.acf-field input[type=password],\n.acf-field input[type=date],\n.acf-field input[type=datetime],\n.acf-field input[type=datetime-local],\n.acf-field input[type=email],\n.acf-field input[type=month],\n.acf-field input[type=number],\n.acf-field input[type=search],\n.acf-field input[type=tel],\n.acf-field input[type=time],\n.acf-field input[type=url],\n.acf-field input[type=week],\n.acf-field textarea,\n.acf-field select {\n width: 100%;\n padding: 4px 8px;\n margin: 0;\n box-sizing: border-box;\n font-size: 14px;\n line-height: 1.4;\n}\n.acf-admin-3-8 .acf-field input[type=text],\n.acf-admin-3-8 .acf-field input[type=password],\n.acf-admin-3-8 .acf-field input[type=date],\n.acf-admin-3-8 .acf-field input[type=datetime],\n.acf-admin-3-8 .acf-field input[type=datetime-local],\n.acf-admin-3-8 .acf-field input[type=email],\n.acf-admin-3-8 .acf-field input[type=month],\n.acf-admin-3-8 .acf-field input[type=number],\n.acf-admin-3-8 .acf-field input[type=search],\n.acf-admin-3-8 .acf-field input[type=tel],\n.acf-admin-3-8 .acf-field input[type=time],\n.acf-admin-3-8 .acf-field input[type=url],\n.acf-admin-3-8 .acf-field input[type=week],\n.acf-admin-3-8 .acf-field textarea,\n.acf-admin-3-8 .acf-field select {\n padding: 3px 5px;\n}\n.acf-field textarea {\n resize: vertical;\n}\n\nbody.acf-browser-firefox .acf-field select {\n padding: 4px 5px;\n}\n\n/*-----------------------------------------------------------------------------\n*\n* Text\n*\n*-----------------------------------------------------------------------------*/\n.acf-input-prepend,\n.acf-input-append,\n.acf-input-wrap {\n box-sizing: border-box;\n}\n\n.acf-input-prepend,\n.acf-input-append {\n font-size: 13px;\n line-height: 1.4;\n padding: 4px 8px;\n background: #f5f5f5;\n border: #7e8993 solid 1px;\n min-height: 30px;\n}\n.acf-admin-3-8 .acf-input-prepend,\n.acf-admin-3-8 .acf-input-append {\n padding: 3px 5px;\n border-color: #dddddd;\n min-height: 28px;\n}\n\n.acf-input-prepend {\n float: left;\n border-right-width: 0;\n border-radius: 3px 0 0 3px;\n}\n\n.acf-input-append {\n float: right;\n border-left-width: 0;\n border-radius: 0 3px 3px 0;\n}\n\n.acf-input-wrap {\n position: relative;\n overflow: hidden;\n}\n.acf-input-wrap .acf-is-prepended {\n border-radius: 0 6px 6px 0 !important;\n}\n.acf-input-wrap .acf-is-appended {\n border-radius: 6px 0 0 6px !important;\n}\n.acf-input-wrap .acf-is-prepended.acf-is-appended {\n border-radius: 0 !important;\n}\n\n/* rtl */\nhtml[dir=rtl] .acf-input-prepend {\n border-left-width: 0;\n border-right-width: 1px;\n border-radius: 0 3px 3px 0;\n float: right;\n}\n\nhtml[dir=rtl] .acf-input-append {\n border-left-width: 1px;\n border-right-width: 0;\n border-radius: 3px 0 0 3px;\n float: left;\n}\n\nhtml[dir=rtl] input.acf-is-prepended {\n border-radius: 3px 0 0 3px !important;\n}\n\nhtml[dir=rtl] input.acf-is-appended {\n border-radius: 0 3px 3px 0 !important;\n}\n\nhtml[dir=rtl] input.acf-is-prepended.acf-is-appended {\n border-radius: 0 !important;\n}\n\n/*-----------------------------------------------------------------------------\n*\n* Color Picker\n*\n*-----------------------------------------------------------------------------*/\n.acf-color-picker .wp-color-result {\n border-color: #7e8993;\n}\n.acf-admin-3-8 .acf-color-picker .wp-color-result {\n border-color: #ccd0d4;\n}\n.acf-color-picker .wp-picker-active {\n position: relative;\n z-index: 1;\n}\n\n/*-----------------------------------------------------------------------------\n*\n* Url\n*\n*-----------------------------------------------------------------------------*/\n.acf-url i {\n position: absolute;\n top: 5px;\n left: 5px;\n opacity: 0.5;\n color: #7e8993;\n}\n.acf-url input[type=url] {\n padding-left: 27px !important;\n}\n.acf-url.-valid i {\n opacity: 1;\n}\n\n/*-----------------------------------------------------------------------------\n*\n* Select2 (v3)\n*\n*-----------------------------------------------------------------------------*/\n.select2-container.-acf {\n z-index: 1001;\n /* open */\n /* single open */\n}\n.select2-container.-acf .select2-choices {\n background: #fff;\n border-color: #ddd;\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.07) inset;\n min-height: 31px;\n}\n.select2-container.-acf .select2-choices .select2-search-choice {\n margin: 5px 0 5px 5px;\n padding: 3px 5px 3px 18px;\n border-color: #bbb;\n background: #f9f9f9;\n box-shadow: 0 1px 0 rgba(255, 255, 255, 0.25) inset;\n /* sortable item*/\n /* sortable shadow */\n}\n.select2-container.-acf .select2-choices .select2-search-choice.ui-sortable-helper {\n background: #5897fb;\n border-color: #3f87fa;\n color: #fff !important;\n box-shadow: 0 0 3px rgba(0, 0, 0, 0.1);\n}\n.select2-container.-acf .select2-choices .select2-search-choice.ui-sortable-helper a {\n visibility: hidden;\n}\n.select2-container.-acf .select2-choices .select2-search-choice.ui-sortable-placeholder {\n background-color: #f7f7f7;\n border-color: #f7f7f7;\n visibility: visible !important;\n}\n.select2-container.-acf .select2-choices .select2-search-choice-focus {\n border-color: #999;\n}\n.select2-container.-acf .select2-choices .select2-search-field input {\n height: 31px;\n line-height: 22px;\n margin: 0;\n padding: 5px 5px 5px 7px;\n}\n.select2-container.-acf .select2-choice {\n border-color: #bbbbbb;\n}\n.select2-container.-acf .select2-choice .select2-arrow {\n background: transparent;\n border-left-color: #dfdfdf;\n padding-left: 1px;\n}\n.select2-container.-acf .select2-choice .select2-result-description {\n display: none;\n}\n.select2-container.-acf.select2-container-active .select2-choices, .select2-container.-acf.select2-dropdown-open .select2-choices {\n border-color: #5b9dd9;\n border-radius: 3px 3px 0 0;\n}\n.select2-container.-acf.select2-dropdown-open .select2-choice {\n background: #fff;\n border-color: #5b9dd9;\n}\n\n/* rtl */\nhtml[dir=rtl] .select2-container.-acf .select2-search-choice-close {\n left: 24px;\n}\nhtml[dir=rtl] .select2-container.-acf .select2-choice > .select2-chosen {\n margin-left: 42px;\n}\nhtml[dir=rtl] .select2-container.-acf .select2-choice .select2-arrow {\n padding-left: 0;\n padding-right: 1px;\n}\n\n/* description */\n.select2-drop {\n /* search*/\n /* result */\n}\n.select2-drop .select2-search {\n padding: 4px 4px 0;\n}\n.select2-drop .select2-result {\n /* hover*/\n}\n.select2-drop .select2-result .select2-result-description {\n color: #999;\n font-size: 12px;\n margin-left: 5px;\n}\n.select2-drop .select2-result.select2-highlighted .select2-result-description {\n color: #fff;\n opacity: 0.75;\n}\n\n/*-----------------------------------------------------------------------------\n*\n* Select2 (v4)\n*\n*-----------------------------------------------------------------------------*/\n.select2-container.-acf li {\n margin-bottom: 0;\n}\n.select2-container.-acf[data-select2-id^=select2-data] .select2-selection--multiple {\n overflow: hidden;\n}\n.select2-container.-acf .select2-selection {\n border-color: #7e8993;\n}\n.acf-admin-3-8 .select2-container.-acf .select2-selection {\n border-color: #aaa;\n}\n.select2-container.-acf .select2-selection--multiple .select2-search--inline:first-child {\n float: none;\n}\n.select2-container.-acf .select2-selection--multiple .select2-search--inline:first-child input {\n width: 100% !important;\n}\n.select2-container.-acf .select2-selection--multiple .select2-selection__rendered {\n padding-right: 0;\n}\n.select2-container.-acf .select2-selection--multiple .select2-selection__rendered[id^=select2-acf-field] {\n display: inline;\n padding: 0;\n margin: 0;\n}\n.select2-container.-acf .select2-selection--multiple .select2-selection__rendered[id^=select2-acf-field] .select2-selection__choice {\n margin-right: 0;\n}\n.select2-container.-acf .select2-selection--multiple .select2-selection__choice {\n background-color: #f7f7f7;\n border-color: #cccccc;\n max-width: 100%;\n overflow: hidden;\n word-wrap: normal !important;\n white-space: normal;\n}\n.select2-container.-acf .select2-selection--multiple .select2-selection__choice.ui-sortable-helper {\n background: #0783BE;\n border-color: #066998;\n color: #fff !important;\n box-shadow: 0 0 3px rgba(0, 0, 0, 0.1);\n}\n.select2-container.-acf .select2-selection--multiple .select2-selection__choice.ui-sortable-helper span {\n visibility: hidden;\n}\n.select2-container.-acf .select2-selection--multiple .select2-selection__choice .select2-selection__choice__remove {\n position: static;\n border-right: none;\n padding: 0;\n}\n.select2-container.-acf .select2-selection--multiple .select2-selection__choice.ui-sortable-placeholder {\n background-color: #F2F4F7;\n border-color: #F2F4F7;\n visibility: visible !important;\n}\n.select2-container.-acf .select2-selection--multiple .select2-search__field {\n box-shadow: none !important;\n min-height: 0;\n}\n.acf-row .select2-container.-acf .select2-selection--single {\n overflow: hidden;\n}\n.acf-row .select2-container.-acf .select2-selection--single .select2-selection__rendered {\n white-space: normal;\n}\n\n.acf-admin-single-field-group .select2-dropdown {\n border-color: #6BB5D8 !important;\n margin-top: -5px;\n overflow: hidden;\n box-shadow: 0px 1px 2px rgba(16, 24, 40, 0.1);\n}\n\n.select2-dropdown.select2-dropdown--above {\n margin-top: 0;\n}\n\n.acf-admin-single-field-group .select2-container--default .select2-results__option[aria-selected=true] {\n background-color: #F9FAFB !important;\n color: #667085;\n}\n.acf-admin-single-field-group .select2-container--default .select2-results__option[aria-selected=true]:hover {\n color: #399CCB;\n}\n\n.acf-admin-single-field-group .select2-container--default .select2-results__option--highlighted[aria-selected] {\n color: #fff !important;\n background-color: #0783BE !important;\n}\n\n.select2-dropdown .select2-results__option {\n margin-bottom: 0;\n}\n\n.select2-container .select2-dropdown {\n z-index: 900000;\n}\n.select2-container .select2-dropdown .select2-search__field {\n line-height: 1.4;\n min-height: 0;\n}\n\n/*-----------------------------------------------------------------------------\n*\n* Link\n*\n*-----------------------------------------------------------------------------*/\n.acf-link .link-wrap {\n display: none;\n border: #ccd0d4 solid 1px;\n border-radius: 3px;\n padding: 5px;\n line-height: 26px;\n background: #fff;\n word-wrap: break-word;\n word-break: break-all;\n}\n.acf-link .link-wrap .link-title {\n padding: 0 5px;\n}\n.acf-link.-value .button {\n display: none;\n}\n.acf-link.-value .acf-icon.-link-ext {\n display: none;\n}\n.acf-link.-value .link-wrap {\n display: inline-block;\n}\n.acf-link.-external .acf-icon.-link-ext {\n display: inline-block;\n}\n\n#wp-link-backdrop {\n z-index: 900000 !important;\n}\n\n#wp-link-wrap {\n z-index: 900001 !important;\n}\n\n/*-----------------------------------------------------------------------------\n*\n* Radio\n*\n*-----------------------------------------------------------------------------*/\nul.acf-radio-list,\nul.acf-checkbox-list {\n background: transparent;\n border: 1px solid transparent;\n position: relative;\n padding: 1px;\n margin: 0;\n /* hl */\n /* rtl */\n}\nul.acf-radio-list:focus-within,\nul.acf-checkbox-list:focus-within {\n border: 1px solid #A5D2E7;\n border-radius: 6px;\n}\nul.acf-radio-list li,\nul.acf-checkbox-list li {\n font-size: 13px;\n line-height: 22px;\n margin: 0;\n position: relative;\n word-wrap: break-word;\n /* attachment sidebar fix*/\n}\nul.acf-radio-list li label,\nul.acf-checkbox-list li label {\n display: inline;\n}\nul.acf-radio-list li input[type=checkbox],\nul.acf-radio-list li input[type=radio],\nul.acf-checkbox-list li input[type=checkbox],\nul.acf-checkbox-list li input[type=radio] {\n margin: -1px 4px 0 0;\n vertical-align: middle;\n}\nul.acf-radio-list li input[type=text],\nul.acf-checkbox-list li input[type=text] {\n width: auto;\n vertical-align: middle;\n margin: 2px 0;\n}\nul.acf-radio-list li span,\nul.acf-checkbox-list li span {\n float: none;\n}\nul.acf-radio-list li i,\nul.acf-checkbox-list li i {\n vertical-align: middle;\n}\nul.acf-radio-list.acf-hl li,\nul.acf-checkbox-list.acf-hl li {\n margin-right: 20px;\n clear: none;\n}\nhtml[dir=rtl] ul.acf-radio-list input[type=checkbox],\nhtml[dir=rtl] ul.acf-radio-list input[type=radio],\nhtml[dir=rtl] ul.acf-checkbox-list input[type=checkbox],\nhtml[dir=rtl] ul.acf-checkbox-list input[type=radio] {\n margin-left: 4px;\n margin-right: 0;\n}\n\n/*-----------------------------------------------------------------------------\n*\n* Button Group\n*\n*-----------------------------------------------------------------------------*/\n.acf-button-group {\n display: inline-block;\n /* default (horizontal) */\n /* vertical */\n}\n.acf-button-group label {\n display: inline-block;\n border: #7e8993 solid 1px;\n position: relative;\n z-index: 1;\n padding: 5px 10px;\n background: #fff;\n}\n.acf-button-group label:hover {\n color: #016087;\n background: #f3f5f6;\n border-color: #0071a1;\n z-index: 2;\n}\n.acf-button-group label.selected {\n border-color: #007cba;\n background: #008dd4;\n color: #fff;\n z-index: 2;\n}\n.acf-button-group input {\n display: none !important;\n}\n.acf-button-group {\n padding-left: 1px;\n display: inline-flex;\n flex-direction: row;\n flex-wrap: nowrap;\n}\n.acf-button-group label {\n margin: 0 0 0 -1px;\n flex: 1;\n text-align: center;\n white-space: nowrap;\n}\n.acf-button-group label:first-child {\n border-radius: 3px 0 0 3px;\n}\nhtml[dir=rtl] .acf-button-group label:first-child {\n border-radius: 0 3px 3px 0;\n}\n.acf-button-group label:last-child {\n border-radius: 0 3px 3px 0;\n}\nhtml[dir=rtl] .acf-button-group label:last-child {\n border-radius: 3px 0 0 3px;\n}\n.acf-button-group label:only-child {\n border-radius: 3px;\n}\n.acf-button-group.-vertical {\n padding-left: 0;\n padding-top: 1px;\n flex-direction: column;\n}\n.acf-button-group.-vertical label {\n margin: -1px 0 0 0;\n}\n.acf-button-group.-vertical label:first-child {\n border-radius: 3px 3px 0 0;\n}\n.acf-button-group.-vertical label:last-child {\n border-radius: 0 0 3px 3px;\n}\n.acf-button-group.-vertical label:only-child {\n border-radius: 3px;\n}\n.acf-admin-3-8 .acf-button-group label {\n border-color: #ccd0d4;\n}\n.acf-admin-3-8 .acf-button-group label:hover {\n border-color: #0071a1;\n}\n.acf-admin-3-8 .acf-button-group label.selected {\n border-color: #007cba;\n}\n\n.acf-admin-page .acf-button-group {\n display: flex;\n align-items: stretch;\n align-content: center;\n height: 40px;\n border-radius: 6px;\n box-shadow: 0px 1px 2px rgba(16, 24, 40, 0.1);\n}\n.acf-admin-page .acf-button-group label {\n display: inline-flex;\n align-items: center;\n align-content: center;\n border: #D0D5DD solid 1px;\n padding: 6px 16px;\n color: #475467;\n font-weight: 500;\n}\n.acf-admin-page .acf-button-group label:hover {\n color: #0783BE;\n}\n.acf-admin-page .acf-button-group label.selected {\n background: #F9FAFB;\n color: #0783BE;\n}\n.acf-admin-page .select2-container.-acf .select2-selection--multiple .select2-selection__choice {\n display: inline-flex;\n align-items: center;\n margin-top: 8px;\n margin-left: 2px;\n position: relative;\n padding-top: 4px;\n padding-right: auto;\n padding-bottom: 4px;\n padding-left: 8px;\n background-color: #EBF5FA;\n border-color: #A5D2E7;\n color: #0783BE;\n}\n.acf-admin-page .select2-container.-acf .select2-selection--multiple .select2-selection__choice .select2-selection__choice__remove {\n order: 2;\n width: 14px;\n height: 14px;\n margin-right: 0;\n margin-left: 4px;\n color: #6BB5D8;\n text-indent: 100%;\n white-space: nowrap;\n overflow: hidden;\n}\n.acf-admin-page .select2-container.-acf .select2-selection--multiple .select2-selection__choice .select2-selection__choice__remove:hover {\n color: #0783BE;\n}\n.acf-admin-page .select2-container.-acf .select2-selection--multiple .select2-selection__choice .select2-selection__choice__remove:before {\n content: \"\";\n display: block;\n width: 14px;\n height: 14px;\n top: 0;\n left: 0;\n background-color: currentColor;\n border: none;\n border-radius: 0;\n -webkit-mask-size: contain;\n mask-size: contain;\n -webkit-mask-repeat: no-repeat;\n mask-repeat: no-repeat;\n -webkit-mask-position: center;\n mask-position: center;\n -webkit-mask-image: url(\"../../images/icons/icon-close.svg\");\n mask-image: url(\"../../images/icons/icon-close.svg\");\n}\n\n/*-----------------------------------------------------------------------------\n*\n* Checkbox\n*\n*-----------------------------------------------------------------------------*/\n.acf-checkbox-list .button {\n margin: 10px 0 0;\n}\n\n/*-----------------------------------------------------------------------------\n*\n* True / False\n*\n*-----------------------------------------------------------------------------*/\n.acf-switch {\n display: grid;\n grid-template-columns: 1fr 1fr;\n width: fit-content;\n max-width: 100%;\n border-radius: 5px;\n cursor: pointer;\n position: relative;\n background: #f5f5f5;\n height: 30px;\n vertical-align: middle;\n border: #7e8993 solid 1px;\n -webkit-transition: background 0.25s ease;\n -moz-transition: background 0.25s ease;\n -o-transition: background 0.25s ease;\n transition: background 0.25s ease;\n /* hover */\n /* active */\n /* message */\n}\n.acf-switch span {\n display: inline-block;\n float: left;\n text-align: center;\n font-size: 13px;\n line-height: 22px;\n padding: 4px 10px;\n min-width: 15px;\n}\n.acf-switch span i {\n vertical-align: middle;\n}\n.acf-switch .acf-switch-on {\n color: #fff;\n text-shadow: #007cba 0 1px 0;\n overflow: hidden;\n}\n.acf-switch .acf-switch-off {\n overflow: hidden;\n}\n.acf-switch .acf-switch-slider {\n position: absolute;\n top: 2px;\n left: 2px;\n bottom: 2px;\n right: 50%;\n z-index: 1;\n background: #fff;\n border-radius: 3px;\n border: #7e8993 solid 1px;\n -webkit-transition: all 0.25s ease;\n -moz-transition: all 0.25s ease;\n -o-transition: all 0.25s ease;\n transition: all 0.25s ease;\n transition-property: left, right;\n}\n.acf-switch:hover, .acf-switch.-focus {\n border-color: #0071a1;\n background: #f3f5f6;\n color: #016087;\n}\n.acf-switch:hover .acf-switch-slider, .acf-switch.-focus .acf-switch-slider {\n border-color: #0071a1;\n}\n.acf-switch.-on {\n background: #0d99d5;\n border-color: #007cba;\n /* hover */\n}\n.acf-switch.-on .acf-switch-slider {\n left: 50%;\n right: 2px;\n border-color: #007cba;\n}\n.acf-switch.-on:hover {\n border-color: #007cba;\n}\n.acf-switch + span {\n margin-left: 6px;\n}\n.acf-admin-3-8 .acf-switch {\n border-color: #ccd0d4;\n}\n.acf-admin-3-8 .acf-switch .acf-switch-slider {\n border-color: #ccd0d4;\n}\n.acf-admin-3-8 .acf-switch:hover, .acf-admin-3-8 .acf-switch.-focus {\n border-color: #0071a1;\n}\n.acf-admin-3-8 .acf-switch:hover .acf-switch-slider, .acf-admin-3-8 .acf-switch.-focus .acf-switch-slider {\n border-color: #0071a1;\n}\n.acf-admin-3-8 .acf-switch.-on {\n border-color: #007cba;\n}\n.acf-admin-3-8 .acf-switch.-on .acf-switch-slider {\n border-color: #007cba;\n}\n.acf-admin-3-8 .acf-switch.-on:hover {\n border-color: #007cba;\n}\n\n/* checkbox */\n.acf-switch-input {\n opacity: 0;\n position: absolute;\n margin: 0;\n}\n\n.acf-admin-single-field-group .acf-true-false {\n border: 1px solid transparent;\n}\n.acf-admin-single-field-group .acf-true-false:focus-within {\n border: 1px solid #399CCB;\n border-radius: 120px;\n}\n\n/* in media modal */\n.compat-item .acf-true-false .message {\n float: none;\n padding: 0;\n vertical-align: middle;\n}\n\n/*--------------------------------------------------------------------------\n*\n*\tGoogle Map\n*\n*-------------------------------------------------------------------------*/\n.acf-google-map {\n position: relative;\n border: #ccd0d4 solid 1px;\n background: #fff;\n}\n.acf-google-map .title {\n position: relative;\n border-bottom: #ccd0d4 solid 1px;\n}\n.acf-google-map .title .search {\n margin: 0;\n font-size: 14px;\n line-height: 30px;\n height: 40px;\n padding: 5px 10px;\n border: 0 none;\n box-shadow: none;\n border-radius: 0;\n font-family: inherit;\n cursor: text;\n}\n.acf-google-map .title .acf-loading {\n position: absolute;\n top: 10px;\n right: 11px;\n display: none;\n}\n.acf-google-map .title .acf-icon:active {\n display: inline-block !important;\n}\n.acf-google-map .canvas {\n height: 400px;\n}\n.acf-google-map:hover .title .acf-actions {\n display: block;\n}\n.acf-google-map .title .acf-icon.-location {\n display: inline-block;\n}\n.acf-google-map .title .acf-icon.-cancel,\n.acf-google-map .title .acf-icon.-search {\n display: none;\n}\n.acf-google-map.-value .title .search {\n font-weight: bold;\n}\n.acf-google-map.-value .title .acf-icon.-location {\n display: none;\n}\n.acf-google-map.-value .title .acf-icon.-cancel {\n display: inline-block;\n}\n.acf-google-map.-searching .title .acf-icon.-location {\n display: none;\n}\n.acf-google-map.-searching .title .acf-icon.-cancel,\n.acf-google-map.-searching .title .acf-icon.-search {\n display: inline-block;\n}\n.acf-google-map.-searching .title .acf-actions {\n display: block;\n}\n.acf-google-map.-searching .title .search {\n font-weight: normal !important;\n}\n.acf-google-map.-loading .title a {\n display: none !important;\n}\n.acf-google-map.-loading .title i {\n display: inline-block;\n}\n\n/* autocomplete */\n.pac-container {\n border-width: 1px 0;\n box-shadow: none;\n}\n\n.pac-container:after {\n display: none;\n}\n\n.pac-container .pac-item:first-child {\n border-top: 0 none;\n}\n\n.pac-container .pac-item {\n padding: 5px 10px;\n cursor: pointer;\n}\n\nhtml[dir=rtl] .pac-container .pac-item {\n text-align: right;\n}\n\n/*--------------------------------------------------------------------------\n*\n*\tRelationship\n*\n*-------------------------------------------------------------------------*/\n.acf-relationship {\n background: #fff;\n border: #ccd0d4 solid 1px;\n /* list */\n /* selection (bottom) */\n}\n.acf-relationship .filters {\n border-bottom: #ccd0d4 solid 1px;\n background: #fff;\n /* widths */\n}\n.acf-relationship .filters:after {\n display: block;\n clear: both;\n content: \"\";\n}\n.acf-relationship .filters .filter {\n margin: 0;\n padding: 0;\n float: left;\n width: 100%;\n box-sizing: border-box;\n padding: 7px 7px 7px 0;\n}\n.acf-relationship .filters .filter:first-child {\n padding-left: 7px;\n}\n.acf-relationship .filters .filter input,\n.acf-relationship .filters .filter select {\n margin: 0;\n float: none; /* potential fix for media popup? */\n}\n.acf-relationship .filters .filter input:focus, .acf-relationship .filters .filter input:active,\n.acf-relationship .filters .filter select:focus,\n.acf-relationship .filters .filter select:active {\n outline: none;\n box-shadow: none;\n}\n.acf-relationship .filters .filter input {\n border-color: transparent;\n box-shadow: none;\n padding-left: 3px;\n padding-right: 3px;\n}\n.acf-relationship .filters.-f2 .filter {\n width: 50%;\n}\n.acf-relationship .filters.-f3 .filter {\n width: 25%;\n}\n.acf-relationship .filters.-f3 .filter.-search {\n width: 50%;\n}\n.acf-relationship .list {\n margin: 0;\n padding: 5px;\n height: 160px;\n overflow: auto;\n}\n.acf-relationship .list .acf-rel-label,\n.acf-relationship .list .acf-rel-item,\n.acf-relationship .list p {\n padding: 5px;\n margin: 0;\n display: block;\n position: relative;\n min-height: 18px;\n}\n.acf-relationship .list .acf-rel-label {\n font-weight: bold;\n}\n.acf-relationship .list .acf-rel-item {\n cursor: pointer;\n /* hover */\n /* disabled */\n}\n.acf-relationship .list .acf-rel-item b {\n text-decoration: underline;\n font-weight: normal;\n}\n.acf-relationship .list .acf-rel-item .thumbnail {\n background: #e0e0e0;\n width: 22px;\n height: 22px;\n float: left;\n margin: -2px 5px 0 0;\n}\n.acf-relationship .list .acf-rel-item .thumbnail img {\n max-width: 22px;\n max-height: 22px;\n margin: 0 auto;\n display: block;\n}\n.acf-relationship .list .acf-rel-item .thumbnail.-icon {\n background: #fff;\n}\n.acf-relationship .list .acf-rel-item .thumbnail.-icon img {\n max-height: 20px;\n margin-top: 1px;\n}\n.acf-relationship .list .acf-rel-item:hover, .acf-relationship .list .acf-rel-item.relationship-hover {\n background: #3875d7;\n color: #fff;\n}\n.acf-relationship .list .acf-rel-item:hover .thumbnail, .acf-relationship .list .acf-rel-item.relationship-hover .thumbnail {\n background: #a2bfec;\n}\n.acf-relationship .list .acf-rel-item:hover .thumbnail.-icon, .acf-relationship .list .acf-rel-item.relationship-hover .thumbnail.-icon {\n background: #fff;\n}\n.acf-relationship .list .acf-rel-item.disabled {\n opacity: 0.5;\n}\n.acf-relationship .list .acf-rel-item.disabled:hover {\n background: transparent;\n color: #333;\n cursor: default;\n}\n.acf-relationship .list .acf-rel-item.disabled:hover .thumbnail {\n background: #e0e0e0;\n}\n.acf-relationship .list .acf-rel-item.disabled:hover .thumbnail.-icon {\n background: #fff;\n}\n.acf-relationship .list ul {\n padding-bottom: 5px;\n}\n.acf-relationship .list ul .acf-rel-label,\n.acf-relationship .list ul .acf-rel-item,\n.acf-relationship .list ul p {\n padding-left: 20px;\n}\n.acf-relationship .selection {\n position: relative;\n /* choices */\n /* values */\n}\n.acf-relationship .selection:after {\n display: block;\n clear: both;\n content: \"\";\n}\n.acf-relationship .selection .values,\n.acf-relationship .selection .choices {\n width: 50%;\n background: #fff;\n float: left;\n}\n.acf-relationship .selection .choices {\n background: #f9f9f9;\n}\n.acf-relationship .selection .choices .list {\n border-right: #dfdfdf solid 1px;\n}\n.acf-relationship .selection .values .acf-icon {\n position: absolute;\n top: 4px;\n right: 7px;\n display: none;\n /* rtl */\n}\nhtml[dir=rtl] .acf-relationship .selection .values .acf-icon {\n right: auto;\n left: 7px;\n}\n.acf-relationship .selection .values .acf-rel-item:hover .acf-icon, .acf-relationship .selection .values .acf-rel-item.relationship-hover .acf-icon {\n display: block;\n}\n.acf-relationship .selection .values .acf-rel-item {\n cursor: move;\n}\n.acf-relationship .selection .values .acf-rel-item b {\n text-decoration: none;\n}\n\n/* menu item fix */\n.menu-item .acf-relationship ul {\n width: auto;\n}\n.menu-item .acf-relationship li {\n display: block;\n}\n\n/*--------------------------------------------------------------------------\n*\n*\tWYSIWYG\n*\n*-------------------------------------------------------------------------*/\n.acf-editor-wrap.delay .acf-editor-toolbar {\n content: \"\";\n display: block;\n background: #f5f5f5;\n border-bottom: #dddddd solid 1px;\n color: #555d66;\n padding: 10px;\n}\n.acf-editor-wrap.delay .wp-editor-area {\n padding: 10px;\n border: none;\n color: inherit !important;\n}\n.acf-editor-wrap iframe {\n min-height: 200px;\n}\n.acf-editor-wrap .wp-editor-container {\n border: 1px solid #ccd0d4;\n box-shadow: none !important;\n}\n.acf-editor-wrap .wp-editor-tabs {\n box-sizing: content-box;\n}\n.acf-editor-wrap .wp-switch-editor {\n border-color: #ccd0d4;\n border-bottom-color: transparent;\n}\n\n#mce_fullscreen_container {\n z-index: 900000 !important;\n}\n\n/*-----------------------------------------------------------------------------\n*\n*\tTab\n*\n*-----------------------------------------------------------------------------*/\n.acf-field-tab {\n display: none !important;\n}\n\n.hidden-by-tab {\n display: none !important;\n}\n\n.acf-tab-wrap {\n clear: both;\n z-index: 1;\n overflow: auto;\n}\n\n.acf-tab-group {\n border-bottom: #ccc solid 1px;\n padding: 10px 10px 0;\n}\n.acf-tab-group li {\n margin: 0 0.5em 0 0;\n}\n.acf-tab-group li a {\n padding: 5px 10px;\n display: block;\n color: #555;\n font-size: 14px;\n font-weight: 600;\n line-height: 24px;\n border: #ccc solid 1px;\n border-bottom: 0 none;\n text-decoration: none;\n background: #e5e5e5;\n transition: none;\n}\n.acf-tab-group li a:hover {\n background: #fff;\n}\n.acf-tab-group li a:focus {\n outline: none;\n box-shadow: none;\n}\n.acf-tab-group li a:empty {\n display: none;\n}\nhtml[dir=rtl] .acf-tab-group li {\n margin: 0 0 0 0.5em;\n}\n.acf-tab-group li.active a {\n background: #f1f1f1;\n color: #000;\n padding-bottom: 6px;\n margin-bottom: -1px;\n position: relative;\n z-index: 1;\n}\n\n.acf-fields > .acf-tab-wrap {\n background: #f9f9f9;\n}\n.acf-fields > .acf-tab-wrap .acf-tab-group {\n position: relative;\n border-top: #ccd0d4 solid 1px;\n border-bottom: #ccd0d4 solid 1px;\n z-index: 2;\n margin-bottom: -1px;\n}\n.acf-admin-3-8 .acf-fields > .acf-tab-wrap .acf-tab-group {\n border-color: #dfdfdf;\n}\n\n.acf-fields.-left > .acf-tab-wrap .acf-tab-group {\n padding-left: 20%;\n /* mobile */\n /* rtl */\n}\n@media screen and (max-width: 640px) {\n .acf-fields.-left > .acf-tab-wrap .acf-tab-group {\n padding-left: 10px;\n }\n}\nhtml[dir=rtl] .acf-fields.-left > .acf-tab-wrap .acf-tab-group {\n padding-left: 0;\n padding-right: 20%;\n /* mobile */\n}\n@media screen and (max-width: 850px) {\n html[dir=rtl] .acf-fields.-left > .acf-tab-wrap .acf-tab-group {\n padding-right: 10px;\n }\n}\n\n.acf-tab-wrap.-left .acf-tab-group {\n position: absolute;\n left: 0;\n width: 20%;\n border: 0 none;\n padding: 0 !important; /* important overrides 'left aligned labels' */\n margin: 1px 0 0;\n}\n.acf-tab-wrap.-left .acf-tab-group li {\n float: none;\n margin: -1px 0 0;\n}\n.acf-tab-wrap.-left .acf-tab-group li a {\n border: 1px solid #ededed;\n font-size: 13px;\n line-height: 18px;\n color: #0073aa;\n padding: 10px;\n margin: 0;\n font-weight: normal;\n border-width: 1px 0;\n border-radius: 0;\n background: transparent;\n}\n.acf-tab-wrap.-left .acf-tab-group li a:hover {\n color: #00a0d2;\n}\n.acf-tab-wrap.-left .acf-tab-group li.active a {\n border-color: #dfdfdf;\n color: #000;\n margin-right: -1px;\n background: #fff;\n}\nhtml[dir=rtl] .acf-tab-wrap.-left .acf-tab-group {\n left: auto;\n right: 0;\n}\nhtml[dir=rtl] .acf-tab-wrap.-left .acf-tab-group li.active a {\n margin-right: 0;\n margin-left: -1px;\n}\n.acf-field + .acf-tab-wrap.-left:before {\n content: \"\";\n display: block;\n position: relative;\n z-index: 1;\n height: 10px;\n border-top: #dfdfdf solid 1px;\n border-bottom: #dfdfdf solid 1px;\n margin-bottom: -1px;\n}\n.acf-tab-wrap.-left:first-child .acf-tab-group li:first-child a {\n border-top: none;\n}\n\n/* sidebar */\n.acf-fields.-sidebar {\n padding: 0 0 0 20% !important;\n position: relative;\n /* before */\n /* rtl */\n}\n.acf-fields.-sidebar:before {\n content: \"\";\n display: block;\n position: absolute;\n top: 0;\n left: 0;\n width: 20%;\n bottom: 0;\n border-right: #dfdfdf solid 1px;\n background: #f9f9f9;\n z-index: 1;\n}\nhtml[dir=rtl] .acf-fields.-sidebar {\n padding: 0 20% 0 0 !important;\n}\nhtml[dir=rtl] .acf-fields.-sidebar:before {\n border-left: #dfdfdf solid 1px;\n border-right-width: 0;\n left: auto;\n right: 0;\n}\n.acf-fields.-sidebar.-left {\n padding: 0 0 0 180px !important;\n /* rtl */\n}\nhtml[dir=rtl] .acf-fields.-sidebar.-left {\n padding: 0 180px 0 0 !important;\n}\n.acf-fields.-sidebar.-left:before {\n background: #f1f1f1;\n border-color: #dfdfdf;\n width: 180px;\n}\n.acf-fields.-sidebar.-left > .acf-tab-wrap.-left .acf-tab-group {\n width: 180px;\n}\n.acf-fields.-sidebar.-left > .acf-tab-wrap.-left .acf-tab-group li a {\n border-color: #e4e4e4;\n}\n.acf-fields.-sidebar.-left > .acf-tab-wrap.-left .acf-tab-group li.active a {\n background: #f9f9f9;\n}\n.acf-fields.-sidebar > .acf-field-tab + .acf-field {\n border-top: none;\n}\n\n.acf-fields.-clear > .acf-tab-wrap {\n background: transparent;\n}\n.acf-fields.-clear > .acf-tab-wrap .acf-tab-group {\n margin-top: 0;\n border-top: none;\n padding-left: 0;\n padding-right: 0;\n}\n.acf-fields.-clear > .acf-tab-wrap .acf-tab-group li a {\n background: #e5e5e5;\n}\n.acf-fields.-clear > .acf-tab-wrap .acf-tab-group li a:hover {\n background: #fff;\n}\n.acf-fields.-clear > .acf-tab-wrap .acf-tab-group li.active a {\n background: #f1f1f1;\n}\n\n/* seamless */\n.acf-postbox.seamless > .acf-fields.-sidebar {\n margin-left: 0 !important;\n}\n.acf-postbox.seamless > .acf-fields.-sidebar:before {\n background: transparent;\n}\n.acf-postbox.seamless > .acf-fields > .acf-tab-wrap {\n background: transparent;\n margin-bottom: 10px;\n padding-left: 12px;\n padding-right: 12px;\n}\n.acf-postbox.seamless > .acf-fields > .acf-tab-wrap .acf-tab-group {\n border-top: 0 none;\n border-color: #ccd0d4;\n}\n.acf-postbox.seamless > .acf-fields > .acf-tab-wrap .acf-tab-group li a {\n background: #e5e5e5;\n border-color: #ccd0d4;\n}\n.acf-postbox.seamless > .acf-fields > .acf-tab-wrap .acf-tab-group li a:hover {\n background: #fff;\n}\n.acf-postbox.seamless > .acf-fields > .acf-tab-wrap .acf-tab-group li.active a {\n background: #f1f1f1;\n}\n.acf-postbox.seamless > .acf-fields > .acf-tab-wrap.-left:before {\n border-top: none;\n height: auto;\n}\n.acf-postbox.seamless > .acf-fields > .acf-tab-wrap.-left .acf-tab-group {\n margin-bottom: 0;\n}\n.acf-postbox.seamless > .acf-fields > .acf-tab-wrap.-left .acf-tab-group li a {\n border-width: 1px 0 1px 1px !important;\n border-color: #cccccc;\n background: #e5e5e5;\n}\n.acf-postbox.seamless > .acf-fields > .acf-tab-wrap.-left .acf-tab-group li.active a {\n background: #f1f1f1;\n}\n\n.menu-edit .acf-fields.-clear > .acf-tab-wrap .acf-tab-group li a,\n.widget .acf-fields.-clear > .acf-tab-wrap .acf-tab-group li a {\n background: #f1f1f1;\n}\n.menu-edit .acf-fields.-clear > .acf-tab-wrap .acf-tab-group li a:hover, .menu-edit .acf-fields.-clear > .acf-tab-wrap .acf-tab-group li.active a,\n.widget .acf-fields.-clear > .acf-tab-wrap .acf-tab-group li a:hover,\n.widget .acf-fields.-clear > .acf-tab-wrap .acf-tab-group li.active a {\n background: #fff;\n}\n\n.compat-item .acf-tab-wrap td {\n display: block;\n}\n\n/* within gallery sidebar */\n.acf-gallery-side .acf-tab-wrap {\n border-top: 0 none !important;\n}\n\n.acf-gallery-side .acf-tab-wrap .acf-tab-group {\n margin: 10px 0 !important;\n padding: 0 !important;\n}\n\n.acf-gallery-side .acf-tab-group li.active a {\n background: #f9f9f9 !important;\n}\n\n/* withing widget */\n.widget .acf-tab-group {\n border-bottom-color: #e8e8e8;\n}\n\n.widget .acf-tab-group li a {\n background: #f1f1f1;\n}\n\n.widget .acf-tab-group li.active a {\n background: #fff;\n}\n\n/* media popup (edit image) */\n.media-modal.acf-expanded .compat-attachment-fields > tbody > tr.acf-tab-wrap .acf-tab-group {\n padding-left: 23%;\n border-bottom-color: #dddddd;\n}\n\n/* table */\n.form-table > tbody > tr.acf-tab-wrap .acf-tab-group {\n padding: 0 5px 0 210px;\n}\n\n/* rtl */\nhtml[dir=rtl] .form-table > tbody > tr.acf-tab-wrap .acf-tab-group {\n padding: 0 210px 0 5px;\n}\n\n/*--------------------------------------------------------------------------------------------\n*\n*\toembed\n*\n*--------------------------------------------------------------------------------------------*/\n.acf-oembed {\n position: relative;\n border: #ccd0d4 solid 1px;\n background: #fff;\n}\n.acf-oembed .title {\n position: relative;\n border-bottom: #ccd0d4 solid 1px;\n padding: 5px 10px;\n}\n.acf-oembed .title .input-search {\n margin: 0;\n font-size: 14px;\n line-height: 30px;\n height: 30px;\n padding: 0;\n border: 0 none;\n box-shadow: none;\n border-radius: 0;\n font-family: inherit;\n cursor: text;\n}\n.acf-oembed .title .acf-actions {\n padding: 6px;\n}\n.acf-oembed .canvas {\n position: relative;\n min-height: 250px;\n background: #f9f9f9;\n}\n.acf-oembed .canvas .canvas-media {\n position: relative;\n z-index: 1;\n}\n.acf-oembed .canvas iframe {\n display: block;\n margin: 0;\n padding: 0;\n width: 100%;\n}\n.acf-oembed .canvas .acf-icon.-picture {\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n z-index: 0;\n height: 42px;\n width: 42px;\n font-size: 42px;\n color: #999;\n}\n.acf-oembed .canvas .acf-loading-overlay {\n background: rgba(255, 255, 255, 0.9);\n}\n.acf-oembed .canvas .canvas-error {\n position: absolute;\n top: 50%;\n left: 0%;\n right: 0%;\n margin: -9px 0 0 0;\n text-align: center;\n display: none;\n}\n.acf-oembed .canvas .canvas-error p {\n padding: 8px;\n margin: 0;\n display: inline;\n}\n.acf-oembed.has-value .canvas {\n min-height: 50px;\n}\n.acf-oembed.has-value .input-search {\n font-weight: bold;\n}\n.acf-oembed.has-value .title:hover .acf-actions {\n display: block;\n}\n\n/*--------------------------------------------------------------------------------------------\n*\n*\tImage\n*\n*--------------------------------------------------------------------------------------------*/\n.acf-image-uploader {\n position: relative;\n /* image wrap*/\n /* input */\n /* rtl */\n}\n.acf-image-uploader:after {\n display: block;\n clear: both;\n content: \"\";\n}\n.acf-image-uploader p {\n margin: 0;\n}\n.acf-image-uploader .image-wrap {\n position: relative;\n float: left;\n /* hover */\n}\n.acf-image-uploader .image-wrap img {\n max-width: 100%;\n max-height: 100%;\n width: auto;\n height: auto;\n display: block;\n min-width: 30px;\n min-height: 30px;\n background: #f1f1f1;\n margin: 0;\n padding: 0;\n /* svg */\n}\n.acf-image-uploader .image-wrap img[src$=\".svg\"] {\n min-height: 100px;\n min-width: 100px;\n}\n.acf-image-uploader .image-wrap:hover .acf-actions {\n display: block;\n}\n.acf-image-uploader input.button {\n width: auto;\n}\nhtml[dir=rtl] .acf-image-uploader .image-wrap {\n float: right;\n}\n\n/*--------------------------------------------------------------------------------------------\n*\n*\tFile\n*\n*--------------------------------------------------------------------------------------------*/\n.acf-file-uploader {\n position: relative;\n /* hover */\n /* rtl */\n}\n.acf-file-uploader p {\n margin: 0;\n}\n.acf-file-uploader .file-wrap {\n border: #ccd0d4 solid 1px;\n min-height: 84px;\n position: relative;\n background: #fff;\n}\n.acf-file-uploader .file-icon {\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n padding: 10px;\n background: #f1f1f1;\n border-right: #d5d9dd solid 1px;\n}\n.acf-file-uploader .file-icon img {\n display: block;\n padding: 0;\n margin: 0;\n max-width: 48px;\n}\n.acf-file-uploader .file-info {\n padding: 10px;\n margin-left: 69px;\n}\n.acf-file-uploader .file-info p {\n margin: 0 0 2px;\n font-size: 13px;\n line-height: 1.4em;\n word-break: break-all;\n}\n.acf-file-uploader .file-info a {\n text-decoration: none;\n}\n.acf-file-uploader:hover .acf-actions {\n display: block;\n}\nhtml[dir=rtl] .acf-file-uploader .file-icon {\n left: auto;\n right: 0;\n border-left: #e5e5e5 solid 1px;\n border-right: none;\n}\nhtml[dir=rtl] .acf-file-uploader .file-info {\n margin-right: 69px;\n margin-left: 0;\n}\n\n/*-----------------------------------------------------------------------------\n*\n*\tDate Picker\n*\n*-----------------------------------------------------------------------------*/\n.acf-ui-datepicker .ui-datepicker {\n z-index: 900000 !important;\n}\n.acf-ui-datepicker .ui-datepicker .ui-widget-header a {\n cursor: pointer;\n transition: none;\n}\n\n/* fix highlight state overriding hover / active */\n.acf-ui-datepicker .ui-state-highlight.ui-state-hover {\n border: 1px solid #98b7e8 !important;\n background: #98b7e8 !important;\n font-weight: normal !important;\n color: #ffffff !important;\n}\n\n.acf-ui-datepicker .ui-state-highlight.ui-state-active {\n border: 1px solid #3875d7 !important;\n background: #3875d7 !important;\n font-weight: normal !important;\n color: #ffffff !important;\n}\n\n/*-----------------------------------------------------------------------------\n*\n*\tSeparator field\n*\n*-----------------------------------------------------------------------------*/\n.acf-field-separator {\n /* fields */\n}\n.acf-field-separator .acf-label {\n margin-bottom: 0;\n}\n.acf-field-separator .acf-label label {\n font-weight: normal;\n}\n.acf-field-separator .acf-input {\n display: none;\n}\n.acf-fields > .acf-field-separator {\n background: #f9f9f9;\n border-bottom: 1px solid #dfdfdf;\n border-top: 1px solid #dfdfdf;\n margin-bottom: -1px;\n z-index: 2;\n}\n\n/*-----------------------------------------------------------------------------\n*\n*\tTaxonomy\n*\n*-----------------------------------------------------------------------------*/\n.acf-taxonomy-field {\n position: relative;\n /* hover */\n /* select */\n}\n.acf-taxonomy-field .categorychecklist-holder {\n border: #ccd0d4 solid 1px;\n border-radius: 3px;\n max-height: 200px;\n overflow: auto;\n}\n.acf-taxonomy-field .acf-checkbox-list {\n margin: 0;\n padding: 10px;\n}\n.acf-taxonomy-field .acf-checkbox-list ul.children {\n padding-left: 18px;\n}\n.acf-taxonomy-field:hover .acf-actions {\n display: block;\n}\n.acf-taxonomy-field[data-ftype=select] .acf-actions {\n padding: 0;\n margin: -9px;\n}\n\n/*-----------------------------------------------------------------------------\n*\n*\tRange\n*\n*-----------------------------------------------------------------------------*/\n.acf-range-wrap {\n /* rtl */\n}\n.acf-range-wrap .acf-append,\n.acf-range-wrap .acf-prepend {\n display: inline-block;\n vertical-align: middle;\n line-height: 28px;\n margin: 0 7px 0 0;\n}\n.acf-range-wrap .acf-append {\n margin: 0 0 0 7px;\n}\n.acf-range-wrap input[type=range] {\n display: inline-block;\n padding: 0;\n margin: 0;\n vertical-align: middle;\n height: 28px;\n}\n.acf-range-wrap input[type=range]:focus {\n outline: none;\n}\n.acf-range-wrap input[type=number] {\n display: inline-block;\n min-width: 5em;\n padding-right: 4px;\n margin-left: 10px;\n vertical-align: middle;\n}\nhtml[dir=rtl] .acf-range-wrap input[type=number] {\n margin-right: 10px;\n margin-left: 0;\n}\nhtml[dir=rtl] .acf-range-wrap .acf-append {\n margin: 0 7px 0 0;\n}\nhtml[dir=rtl] .acf-range-wrap .acf-prepend {\n margin: 0 0 0 7px;\n}\n\n/*-----------------------------------------------------------------------------\n*\n* acf-accordion\n*\n*-----------------------------------------------------------------------------*/\n.acf-accordion {\n margin: -1px 0;\n padding: 0;\n background: #fff;\n border-top: 1px solid #d5d9dd;\n border-bottom: 1px solid #d5d9dd;\n z-index: 1;\n}\n.acf-accordion .acf-accordion-title {\n margin: 0;\n padding: 12px;\n font-weight: bold;\n cursor: pointer;\n font-size: inherit;\n font-size: 13px;\n line-height: 1.4em;\n}\n.acf-accordion .acf-accordion-title:hover {\n background: #f3f4f5;\n}\n.acf-accordion .acf-accordion-title label {\n margin: 0;\n padding: 0;\n font-size: 13px;\n line-height: 1.4em;\n}\n.acf-accordion .acf-accordion-title p {\n font-weight: normal;\n}\n.acf-accordion .acf-accordion-title .acf-accordion-icon {\n float: right;\n}\n.acf-accordion .acf-accordion-title svg.acf-accordion-icon {\n position: absolute;\n right: 10px;\n top: 50%;\n transform: translateY(-50%);\n color: #191e23;\n fill: currentColor;\n}\n.acf-accordion .acf-accordion-content {\n margin: 0;\n padding: 0 12px 12px;\n display: none;\n}\n.acf-accordion.-open > .acf-accordion-content {\n display: block;\n}\n\n.acf-field.acf-accordion {\n margin: -1px 0;\n padding: 0 !important;\n border-color: #d5d9dd;\n}\n.acf-field.acf-accordion .acf-label.acf-accordion-title {\n padding: 12px;\n width: auto;\n float: none;\n width: auto;\n}\n.acf-field.acf-accordion .acf-input.acf-accordion-content {\n padding: 0;\n float: none;\n width: auto;\n}\n.acf-field.acf-accordion .acf-input.acf-accordion-content > .acf-fields {\n border-top: #eeeeee solid 1px;\n}\n.acf-field.acf-accordion .acf-input.acf-accordion-content > .acf-fields.-clear {\n padding: 0 12px 15px;\n}\n\n/* field specific (left) */\n.acf-fields.-left > .acf-field.acf-accordion:before {\n display: none;\n}\n.acf-fields.-left > .acf-field.acf-accordion .acf-accordion-title {\n width: auto;\n margin: 0 !important;\n padding: 12px;\n float: none !important;\n}\n.acf-fields.-left > .acf-field.acf-accordion .acf-accordion-content {\n padding: 0 !important;\n}\n\n/* field specific (clear) */\n.acf-fields.-clear > .acf-field.acf-accordion {\n border: #cccccc solid 1px;\n background: transparent;\n}\n.acf-fields.-clear > .acf-field.acf-accordion + .acf-field.acf-accordion {\n margin-top: -16px;\n}\n\n/* table */\ntr.acf-field.acf-accordion {\n background: transparent;\n}\ntr.acf-field.acf-accordion > .acf-input {\n padding: 0 !important;\n border: #cccccc solid 1px;\n}\ntr.acf-field.acf-accordion .acf-accordion-content {\n padding: 0 12px 12px;\n}\n\n/* #addtag */\n#addtag div.acf-field.error {\n border: 0 none;\n padding: 8px 0;\n}\n\n#addtag > .acf-field.acf-accordion {\n padding-right: 0;\n margin-right: 5%;\n}\n#addtag > .acf-field.acf-accordion + p.submit {\n margin-top: 0;\n}\n\n/* border */\ntr.acf-accordion {\n margin: 15px 0 !important;\n}\ntr.acf-accordion + tr.acf-accordion {\n margin-top: -16px !important;\n}\n\n/* seamless */\n.acf-postbox.seamless > .acf-fields > .acf-accordion {\n margin-left: 12px;\n margin-right: 12px;\n border: #ccd0d4 solid 1px;\n}\n\n/* rtl */\n/* menu item */\n/*\n.menu-item-settings > .field-acf > .acf-field.acf-accordion {\n\tborder: #dfdfdf solid 1px;\n\tmargin: 10px -13px 10px -11px;\n\n\t+ .acf-field.acf-accordion {\n\t\tmargin-top: -11px;\n\t}\n}\n*/\n/* widget */\n.widget .widget-content > .acf-field.acf-accordion {\n border: #dfdfdf solid 1px;\n margin-bottom: 10px;\n}\n.widget .widget-content > .acf-field.acf-accordion .acf-accordion-title {\n margin-bottom: 0;\n}\n.widget .widget-content > .acf-field.acf-accordion + .acf-field.acf-accordion {\n margin-top: -11px;\n}\n\n.media-modal .compat-attachment-fields .acf-field.acf-accordion + .acf-field.acf-accordion {\n margin-top: -1px;\n}\n.media-modal .compat-attachment-fields .acf-field.acf-accordion > .acf-input {\n width: 100%;\n}\n.media-modal .compat-attachment-fields .acf-field.acf-accordion .compat-attachment-fields > tbody > tr > td {\n padding-bottom: 5px;\n}\n\n/*-----------------------------------------------------------------------------\n*\n*\tBlock Editor\n*\n*-----------------------------------------------------------------------------*/\n.block-editor .edit-post-sidebar .acf-postbox > .postbox-header,\n.block-editor .edit-post-sidebar .acf-postbox > .hndle {\n border-bottom-width: 0 !important;\n}\n.block-editor .edit-post-sidebar .acf-postbox.closed > .postbox-header,\n.block-editor .edit-post-sidebar .acf-postbox.closed > .hndle {\n border-bottom-width: 1px !important;\n}\n.block-editor .edit-post-sidebar .acf-fields {\n min-height: 1px;\n overflow: auto;\n}\n.block-editor .edit-post-sidebar .acf-fields > .acf-field {\n border-width: 0;\n border-color: #e2e4e7;\n margin: 0px;\n padding: 10px 16px;\n width: auto !important;\n min-height: 0 !important;\n float: none !important;\n}\n.block-editor .edit-post-sidebar .acf-fields > .acf-field > .acf-label {\n margin-bottom: 5px;\n}\n.block-editor .edit-post-sidebar .acf-fields > .acf-field > .acf-label label {\n font-weight: normal;\n}\n.block-editor .edit-post-sidebar .acf-fields > .acf-field.acf-accordion {\n padding: 0;\n margin: 0;\n border-top-width: 1px;\n}\n.block-editor .edit-post-sidebar .acf-fields > .acf-field.acf-accordion:first-child {\n border-top-width: 0;\n}\n.block-editor .edit-post-sidebar .acf-fields > .acf-field.acf-accordion .acf-accordion-title {\n margin: 0;\n padding: 15px;\n}\n.block-editor .edit-post-sidebar .acf-fields > .acf-field.acf-accordion .acf-accordion-title label {\n font-weight: 500;\n color: rgb(30, 30, 30);\n}\n.block-editor .edit-post-sidebar .acf-fields > .acf-field.acf-accordion .acf-accordion-title svg.acf-accordion-icon {\n right: 16px;\n}\n.block-editor .edit-post-sidebar .acf-fields > .acf-field.acf-accordion .acf-accordion-content > .acf-fields {\n border-top-width: 0;\n}\n.block-editor .edit-post-sidebar .block-editor-block-inspector .acf-fields > .acf-notice {\n display: grid;\n grid-template-columns: 1fr 25px;\n padding: 10px;\n margin: 0;\n}\n.block-editor .edit-post-sidebar .block-editor-block-inspector .acf-fields > .acf-notice p:last-of-type {\n margin: 0;\n}\n.block-editor .edit-post-sidebar .block-editor-block-inspector .acf-fields > .acf-notice > .acf-notice-dismiss {\n position: relative;\n top: unset;\n right: unset;\n}\n.block-editor .edit-post-sidebar .block-editor-block-inspector .acf-fields .acf-field .acf-notice {\n margin: 0;\n padding: 0;\n}\n.block-editor .edit-post-sidebar .block-editor-block-inspector .acf-fields .acf-error {\n margin-bottom: 10px;\n}\n\n/*-----------------------------------------------------------------------------\n*\n* Prefix field label & prefix field names\n*\n*-----------------------------------------------------------------------------*/\n.acf-field-setting-prefix_label p.description,\n.acf-field-setting-prefix_name p.description {\n order: 3;\n margin-top: 0;\n margin-left: 16px;\n}\n.acf-field-setting-prefix_label p.description code,\n.acf-field-setting-prefix_name p.description code {\n padding-top: 4px;\n padding-right: 6px;\n padding-bottom: 4px;\n padding-left: 6px;\n background-color: #F2F4F7;\n border-radius: 4px;\n color: #667085;\n}\n\n/*-----------------------------------------------------------------------------\n*\n* Editor tab styles\n*\n*-----------------------------------------------------------------------------*/\n.acf-fields > .acf-tab-wrap:first-child .acf-tab-group {\n border-top: none;\n}\n\n.acf-fields > .acf-tab-wrap .acf-tab-group li.active a {\n background: #ffffff;\n}\n\n.acf-fields > .acf-tab-wrap .acf-tab-group li a {\n background: #f1f1f1;\n border-color: #ccd0d4;\n}\n\n.acf-fields > .acf-tab-wrap .acf-tab-group li a:hover {\n background: #fff;\n}\n\n/*--------------------------------------------------------------------------------------------\n*\n*\tUser\n*\n*--------------------------------------------------------------------------------------------*/\n.form-table > tbody {\n /* field */\n /* tab wrap */\n /* misc */\n}\n.form-table > tbody > .acf-field {\n /* label */\n /* input */\n}\n.form-table > tbody > .acf-field > .acf-label {\n padding: 20px 10px 20px 0;\n width: 210px;\n /* rtl */\n}\nhtml[dir=rtl] .form-table > tbody > .acf-field > .acf-label {\n padding: 20px 0 20px 10px;\n}\n.form-table > tbody > .acf-field > .acf-label label {\n font-size: 14px;\n color: #23282d;\n}\n.form-table > tbody > .acf-field > .acf-input {\n padding: 15px 10px;\n /* rtl */\n}\nhtml[dir=rtl] .form-table > tbody > .acf-field > .acf-input {\n padding: 15px 10px 15px 5%;\n}\n.form-table > tbody > .acf-tab-wrap td {\n padding: 15px 5% 15px 0;\n /* rtl */\n}\nhtml[dir=rtl] .form-table > tbody > .acf-tab-wrap td {\n padding: 15px 0 15px 5%;\n}\n.form-table > tbody .form-table th.acf-th {\n width: auto;\n}\n\n#your-profile,\n#createuser {\n /* override for user css */\n /* allow sub fields to display correctly */\n}\n#your-profile .acf-field input[type=text],\n#your-profile .acf-field input[type=password],\n#your-profile .acf-field input[type=number],\n#your-profile .acf-field input[type=search],\n#your-profile .acf-field input[type=email],\n#your-profile .acf-field input[type=url],\n#your-profile .acf-field select,\n#createuser .acf-field input[type=text],\n#createuser .acf-field input[type=password],\n#createuser .acf-field input[type=number],\n#createuser .acf-field input[type=search],\n#createuser .acf-field input[type=email],\n#createuser .acf-field input[type=url],\n#createuser .acf-field select {\n max-width: 25em;\n}\n#your-profile .acf-field textarea,\n#createuser .acf-field textarea {\n max-width: 500px;\n}\n#your-profile .acf-field .acf-field input[type=text],\n#your-profile .acf-field .acf-field input[type=password],\n#your-profile .acf-field .acf-field input[type=number],\n#your-profile .acf-field .acf-field input[type=search],\n#your-profile .acf-field .acf-field input[type=email],\n#your-profile .acf-field .acf-field input[type=url],\n#your-profile .acf-field .acf-field textarea,\n#your-profile .acf-field .acf-field select,\n#createuser .acf-field .acf-field input[type=text],\n#createuser .acf-field .acf-field input[type=password],\n#createuser .acf-field .acf-field input[type=number],\n#createuser .acf-field .acf-field input[type=search],\n#createuser .acf-field .acf-field input[type=email],\n#createuser .acf-field .acf-field input[type=url],\n#createuser .acf-field .acf-field textarea,\n#createuser .acf-field .acf-field select {\n max-width: none;\n}\n\n#registerform h2 {\n margin: 1em 0;\n}\n#registerform .acf-field {\n margin-top: 0;\n /*\n \t\t.acf-input {\n \t\t\tinput {\n \t\t\t\tfont-size: 24px;\n \t\t\t\tpadding: 5px;\n \t\t\t\theight: auto;\n \t\t\t}\n \t\t}\n */\n}\n#registerform .acf-field .acf-label {\n margin-bottom: 0;\n}\n#registerform .acf-field .acf-label label {\n font-weight: normal;\n line-height: 1.5;\n}\n#registerform p.submit {\n text-align: right;\n}\n\n/*--------------------------------------------------------------------------------------------\n*\n*\tTerm\n*\n*--------------------------------------------------------------------------------------------*/\n#acf-term-fields {\n padding-right: 5%;\n}\n#acf-term-fields > .acf-field > .acf-label {\n margin: 0;\n}\n#acf-term-fields > .acf-field > .acf-label label {\n font-size: 12px;\n font-weight: normal;\n}\n\np.submit .spinner,\np.submit .acf-spinner {\n vertical-align: top;\n float: none;\n margin: 4px 4px 0;\n}\n\n#edittag .acf-fields.-left > .acf-field {\n padding-left: 220px;\n}\n#edittag .acf-fields.-left > .acf-field:before {\n width: 209px;\n}\n#edittag .acf-fields.-left > .acf-field > .acf-label {\n width: 220px;\n margin-left: -220px;\n padding: 0 10px;\n}\n#edittag .acf-fields.-left > .acf-field > .acf-input {\n padding: 0;\n}\n\n#edittag > .acf-fields.-left {\n width: 96%;\n}\n#edittag > .acf-fields.-left > .acf-field > .acf-label {\n padding-left: 0;\n}\n\n/*--------------------------------------------------------------------------------------------\n*\n*\tComment\n*\n*--------------------------------------------------------------------------------------------*/\n.editcomment td:first-child {\n white-space: nowrap;\n width: 131px;\n}\n\n/*--------------------------------------------------------------------------------------------\n*\n*\tWidget\n*\n*--------------------------------------------------------------------------------------------*/\n#widgets-right .widget .acf-field .description {\n padding-left: 0;\n padding-right: 0;\n}\n\n.acf-widget-fields > .acf-field .acf-label {\n margin-bottom: 5px;\n}\n.acf-widget-fields > .acf-field .acf-label label {\n font-weight: normal;\n margin: 0;\n}\n\n/*--------------------------------------------------------------------------------------------\n*\n*\tNav Menu\n*\n*--------------------------------------------------------------------------------------------*/\n.acf-menu-settings {\n border-top: 1px solid #eee;\n margin-top: 2em;\n}\n.acf-menu-settings.-seamless {\n border-top: none;\n margin-top: 15px;\n}\n.acf-menu-settings.-seamless > h2 {\n display: none;\n}\n.acf-menu-settings .list li {\n display: block;\n margin-bottom: 0;\n}\n\n.acf-fields.acf-menu-item-fields {\n clear: both;\n padding-top: 1px;\n}\n.acf-fields.acf-menu-item-fields > .acf-field {\n margin: 5px 0;\n padding-right: 10px;\n}\n.acf-fields.acf-menu-item-fields > .acf-field .acf-label {\n margin-bottom: 0;\n}\n.acf-fields.acf-menu-item-fields > .acf-field .acf-label label {\n font-style: italic;\n font-weight: normal;\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* Attachment Form (single)\n*\n*---------------------------------------------------------------------------------------------*/\n#post .compat-attachment-fields .compat-field-acf-form-data {\n display: none;\n}\n#post .compat-attachment-fields,\n#post .compat-attachment-fields > tbody,\n#post .compat-attachment-fields > tbody > tr,\n#post .compat-attachment-fields > tbody > tr > th,\n#post .compat-attachment-fields > tbody > tr > td {\n display: block;\n}\n#post .compat-attachment-fields > tbody > .acf-field {\n margin: 15px 0;\n}\n#post .compat-attachment-fields > tbody > .acf-field > .acf-label {\n margin: 0;\n}\n#post .compat-attachment-fields > tbody > .acf-field > .acf-label label {\n margin: 0;\n padding: 0;\n}\n#post .compat-attachment-fields > tbody > .acf-field > .acf-label label p {\n margin: 0 0 3px !important;\n}\n#post .compat-attachment-fields > tbody > .acf-field > .acf-input {\n margin: 0;\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* Media Model\n*\n*---------------------------------------------------------------------------------------------*/\n/* WP sets tables to act as divs. ACF uses tables, so these muct be reset */\n.media-modal .compat-attachment-fields td.acf-input table {\n display: table;\n table-layout: auto;\n}\n.media-modal .compat-attachment-fields td.acf-input table tbody {\n display: table-row-group;\n}\n.media-modal .compat-attachment-fields td.acf-input table tr {\n display: table-row;\n}\n.media-modal .compat-attachment-fields td.acf-input table td, .media-modal .compat-attachment-fields td.acf-input table th {\n display: table-cell;\n}\n\n/* field widths floats */\n.media-modal .compat-attachment-fields > tbody > .acf-field {\n margin: 5px 0;\n}\n.media-modal .compat-attachment-fields > tbody > .acf-field > .acf-label {\n min-width: 30%;\n margin: 0;\n padding: 0;\n float: left;\n text-align: right;\n display: block;\n float: left;\n}\n.media-modal .compat-attachment-fields > tbody > .acf-field > .acf-label > label {\n padding-top: 6px;\n margin: 0;\n color: #666666;\n font-weight: 400;\n line-height: 16px;\n}\n.media-modal .compat-attachment-fields > tbody > .acf-field > .acf-input {\n width: 65%;\n margin: 0;\n padding: 0;\n float: right;\n display: block;\n}\n.media-modal .compat-attachment-fields > tbody > .acf-field p.description {\n margin: 0;\n}\n\n/* restricted selection (copy of WP .upload-errors)*/\n.acf-selection-error {\n background: #ffebe8;\n border: 1px solid #c00;\n border-radius: 3px;\n padding: 8px;\n margin: 20px 0 0;\n}\n.acf-selection-error .selection-error-label {\n background: #CC0000;\n border-radius: 3px;\n color: #fff;\n font-weight: bold;\n margin-right: 8px;\n padding: 2px 4px;\n}\n.acf-selection-error .selection-error-message {\n color: #b44;\n display: block;\n padding-top: 8px;\n word-wrap: break-word;\n white-space: pre-wrap;\n}\n\n/* disabled attachment */\n.media-modal .attachment.acf-disabled .thumbnail {\n opacity: 0.25 !important;\n}\n.media-modal .attachment.acf-disabled .attachment-preview:before {\n background: rgba(0, 0, 0, 0.15);\n z-index: 1;\n position: relative;\n}\n\n/* misc */\n.media-modal {\n /* compat-item */\n /* allow line breaks in upload error */\n /* fix required span */\n /* sidebar */\n /* mobile md */\n}\n.media-modal .compat-field-acf-form-data,\n.media-modal .compat-field-acf-blank {\n display: none !important;\n}\n.media-modal .upload-error-message {\n white-space: pre-wrap;\n}\n.media-modal .acf-required {\n padding: 0 !important;\n margin: 0 !important;\n float: none !important;\n color: #f00 !important;\n}\n.media-modal .media-sidebar .compat-item {\n padding-bottom: 20px;\n}\n@media (max-width: 900px) {\n .media-modal {\n /* label */\n /* field */\n }\n .media-modal .setting span,\n .media-modal .compat-attachment-fields > tbody > .acf-field > .acf-label {\n width: 98%;\n float: none;\n text-align: left;\n min-height: 0;\n padding: 0;\n }\n .media-modal .setting input,\n .media-modal .setting textarea,\n .media-modal .compat-attachment-fields > tbody > .acf-field > .acf-input {\n float: none;\n height: auto;\n max-width: none;\n width: 98%;\n }\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* Media Model (expand details)\n*\n*---------------------------------------------------------------------------------------------*/\n.media-modal .acf-expand-details {\n float: right;\n padding: 8px 10px;\n margin-right: 6px;\n font-size: 13px;\n height: 18px;\n line-height: 18px;\n color: #666;\n text-decoration: none;\n}\n.media-modal .acf-expand-details:focus, .media-modal .acf-expand-details:active {\n outline: 0 none;\n box-shadow: none;\n color: #666;\n}\n.media-modal .acf-expand-details:hover {\n color: #000;\n}\n.media-modal .acf-expand-details .is-open {\n display: none;\n}\n.media-modal .acf-expand-details .is-closed {\n display: block;\n}\n@media (max-width: 640px) {\n .media-modal .acf-expand-details {\n display: none;\n }\n}\n\n/* expanded */\n.media-modal.acf-expanded {\n /* toggle */\n}\n.media-modal.acf-expanded .acf-expand-details .is-open {\n display: block;\n}\n.media-modal.acf-expanded .acf-expand-details .is-closed {\n display: none;\n}\n.media-modal.acf-expanded .attachments-browser .media-toolbar,\n.media-modal.acf-expanded .attachments-browser .attachments {\n right: 740px;\n}\n.media-modal.acf-expanded .media-sidebar {\n width: 708px;\n}\n.media-modal.acf-expanded .media-sidebar .attachment-info .thumbnail {\n float: left;\n max-height: none;\n}\n.media-modal.acf-expanded .media-sidebar .attachment-info .thumbnail img {\n max-width: 100%;\n max-height: 200px;\n}\n.media-modal.acf-expanded .media-sidebar .attachment-info .details {\n float: right;\n}\n.media-modal.acf-expanded .media-sidebar .attachment-info .thumbnail,\n.media-modal.acf-expanded .media-sidebar .attachment-details .setting .name,\n.media-modal.acf-expanded .media-sidebar .compat-attachment-fields > tbody > .acf-field > .acf-label {\n min-width: 20%;\n margin-right: 0;\n}\n.media-modal.acf-expanded .media-sidebar .attachment-info .details,\n.media-modal.acf-expanded .media-sidebar .attachment-details .setting input,\n.media-modal.acf-expanded .media-sidebar .attachment-details .setting textarea,\n.media-modal.acf-expanded .media-sidebar .attachment-details .setting + .description,\n.media-modal.acf-expanded .media-sidebar .compat-attachment-fields > tbody > .acf-field > .acf-input {\n min-width: 77%;\n}\n@media (max-width: 900px) {\n .media-modal.acf-expanded .attachments-browser .media-toolbar {\n display: none;\n }\n .media-modal.acf-expanded .attachments {\n display: none;\n }\n .media-modal.acf-expanded .media-sidebar {\n width: auto;\n max-width: none !important;\n bottom: 0 !important;\n }\n .media-modal.acf-expanded .media-sidebar .attachment-info .thumbnail {\n min-width: 0;\n max-width: none;\n width: 30%;\n }\n .media-modal.acf-expanded .media-sidebar .attachment-info .details {\n min-width: 0;\n max-width: none;\n width: 67%;\n }\n}\n@media (max-width: 640px) {\n .media-modal.acf-expanded .media-sidebar .attachment-info .thumbnail, .media-modal.acf-expanded .media-sidebar .attachment-info .details {\n width: 100%;\n }\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* ACF Media Model\n*\n*---------------------------------------------------------------------------------------------*/\n.acf-media-modal {\n /* hide embed settings */\n}\n.acf-media-modal .media-embed .setting.align,\n.acf-media-modal .media-embed .setting.link-to {\n display: none;\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* ACF Media Model (Select Mode)\n*\n*---------------------------------------------------------------------------------------------*/\n/*---------------------------------------------------------------------------------------------\n*\n* ACF Media Model (Edit Mode)\n*\n*---------------------------------------------------------------------------------------------*/\n.acf-media-modal.-edit {\n /* resize modal */\n left: 15%;\n right: 15%;\n top: 100px;\n bottom: 100px;\n /* hide elements */\n /* full width */\n /* tidy up incorrect distance */\n /* title box shadow (to match media grid) */\n /* sidebar */\n /* mobile md */\n /* mobile sm */\n}\n.acf-media-modal.-edit .media-frame-menu,\n.acf-media-modal.-edit .media-frame-router,\n.acf-media-modal.-edit .media-frame-content .attachments,\n.acf-media-modal.-edit .media-frame-content .media-toolbar {\n display: none;\n}\n.acf-media-modal.-edit .media-frame-title,\n.acf-media-modal.-edit .media-frame-content,\n.acf-media-modal.-edit .media-frame-toolbar,\n.acf-media-modal.-edit .media-sidebar {\n width: auto;\n left: 0;\n right: 0;\n}\n.acf-media-modal.-edit .media-frame-content {\n top: 50px;\n}\n.acf-media-modal.-edit .media-frame-title {\n border-bottom: 1px solid #DFDFDF;\n box-shadow: 0 4px 4px -4px rgba(0, 0, 0, 0.1);\n}\n.acf-media-modal.-edit .media-sidebar {\n padding: 0 16px;\n /* WP details */\n /* ACF fields */\n /* WP required message */\n}\n.acf-media-modal.-edit .media-sidebar .attachment-details {\n overflow: visible;\n /* hide 'Attachment Details' heading */\n /* remove overflow */\n /* move thumbnail */\n}\n.acf-media-modal.-edit .media-sidebar .attachment-details > h3, .acf-media-modal.-edit .media-sidebar .attachment-details > h2 {\n display: none;\n}\n.acf-media-modal.-edit .media-sidebar .attachment-details .attachment-info {\n background: #fff;\n border-bottom: #dddddd solid 1px;\n padding: 16px;\n margin: 0 -16px 16px;\n}\n.acf-media-modal.-edit .media-sidebar .attachment-details .thumbnail {\n margin: 0 16px 0 0;\n}\n.acf-media-modal.-edit .media-sidebar .attachment-details .setting {\n margin: 0 0 5px;\n}\n.acf-media-modal.-edit .media-sidebar .attachment-details .setting span {\n margin: 0;\n}\n.acf-media-modal.-edit .media-sidebar .compat-attachment-fields > tbody > .acf-field {\n margin: 0 0 5px;\n}\n.acf-media-modal.-edit .media-sidebar .compat-attachment-fields > tbody > .acf-field p.description {\n margin-top: 3px;\n}\n.acf-media-modal.-edit .media-sidebar .media-types-required-info {\n display: none;\n}\n@media (max-width: 900px) {\n .acf-media-modal.-edit {\n top: 30px;\n right: 30px;\n bottom: 30px;\n left: 30px;\n }\n}\n@media (max-width: 640px) {\n .acf-media-modal.-edit {\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n }\n}\n@media (max-width: 480px) {\n .acf-media-modal.-edit .media-frame-content {\n top: 40px;\n }\n}\n\n.acf-temp-remove {\n position: relative;\n opacity: 1;\n -webkit-transition: all 0.25s ease;\n -moz-transition: all 0.25s ease;\n -o-transition: all 0.25s ease;\n transition: all 0.25s ease;\n overflow: hidden;\n /* overlay prevents hover */\n}\n.acf-temp-remove:after {\n display: block;\n content: \"\";\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n z-index: 99;\n}\n\n.hidden-by-conditional-logic {\n display: none !important;\n}\n.hidden-by-conditional-logic.appear-empty {\n display: table-cell !important;\n}\n.hidden-by-conditional-logic.appear-empty .acf-input {\n display: none !important;\n}\n\n.acf-postbox.acf-hidden {\n display: none !important;\n}\n\n.acf-attention {\n transition: border 0.25s ease-out;\n}\n.acf-attention.-focused {\n border: #23282d solid 1px !important;\n transition: none;\n}\n\ntr.acf-attention {\n transition: box-shadow 0.25s ease-out;\n position: relative;\n}\ntr.acf-attention.-focused {\n box-shadow: #23282d 0 0 0px 1px !important;\n}\n\n#editor .edit-post-layout__metaboxes {\n padding: 0;\n}\n#editor .edit-post-layout__metaboxes .edit-post-meta-boxes-area {\n margin: 0;\n}\n#editor .metabox-location-side .postbox-container {\n float: none;\n}\n#editor .postbox {\n color: #444;\n}\n#editor .postbox > .postbox-header .hndle {\n border-bottom: none;\n}\n#editor .postbox > .postbox-header .hndle:hover {\n background: transparent;\n}\n#editor .postbox > .postbox-header .handle-actions .handle-order-higher,\n#editor .postbox > .postbox-header .handle-actions .handle-order-lower {\n width: 1.62rem;\n}\n#editor .postbox > .postbox-header .handle-actions .acf-hndle-cog {\n height: 44px;\n line-height: 44px;\n}\n#editor .postbox > .postbox-header:hover {\n background: #f0f0f0;\n}\n#editor .postbox:last-child.closed > .postbox-header {\n border-bottom: none;\n}\n#editor .postbox:last-child > .inside {\n border-bottom: none;\n}\n#editor .block-editor-writing-flow__click-redirect {\n min-height: 50px;\n}\n\nbody.is-dragging-metaboxes #acf_after_title-sortables {\n outline: 3px dashed #646970;\n display: flow-root;\n min-height: 60px;\n margin-bottom: 3px !important;\n}","/*--------------------------------------------------------------------------------------------\n*\n*\tVars\n*\n*--------------------------------------------------------------------------------------------*/\n\n/* colors */\n$acf_blue: #2a9bd9;\n$acf_notice: #2a9bd9;\n$acf_error: #d94f4f;\n$acf_success: #49ad52;\n$acf_warning: #fd8d3b;\n\n/* acf-field */\n$field_padding: 15px 12px;\n$field_padding_x: 12px;\n$field_padding_y: 15px;\n$fp: 15px 12px;\n$fy: 15px;\n$fx: 12px;\n\n/* responsive */\n$md: 880px;\n$sm: 640px;\n\n// Admin.\n$wp-card-border: #ccd0d4;\t\t\t// Card border.\n$wp-card-border-1: #d5d9dd;\t\t // Card inner border 1: Structural (darker).\n$wp-card-border-2: #eeeeee;\t\t // Card inner border 2: Fields (lighter).\n$wp-input-border: #7e8993;\t\t // Input border.\n\n// Admin 3.8\n$wp38-card-border: #E5E5E5;\t\t // Card border.\n$wp38-card-border-1: #dfdfdf;\t\t// Card inner border 1: Structural (darker).\n$wp38-card-border-2: #eeeeee;\t\t// Card inner border 2: Fields (lighter).\n$wp38-input-border: #dddddd;\t\t // Input border.\n\n/*--------------------------------------------------------------------------------------------\n*\n*\tACF 6 ↓\n*\n*--------------------------------------------------------------------------------------------*/\n\n// Grays\n$gray-50: #F9FAFB;\n$gray-100: #F2F4F7;\n$gray-200: #EAECF0;\n$gray-300: #D0D5DD;\n$gray-400: #98A2B3;\n$gray-500: #667085;\n$gray-600: #475467;\n$gray-700: #344054;\n$gray-800: #1D2939;\n$gray-900: #101828;\n\n// Blues\n$blue-50: #EBF5FA;\n$blue-100: #D8EBF5;\n$blue-200: #A5D2E7;\n$blue-300: #6BB5D8;\n$blue-400: #399CCB;\n$blue-500: #0783BE;\n$blue-600: #066998;\n$blue-700: #044E71;\n$blue-800: #033F5B;\n$blue-900: #032F45;\n\n// Utility\n$color-info:\t#2D69DA;\n$color-success:\t#52AA59;\n$color-warning:\t#F79009;\n$color-danger:\t#D13737;\n\n$color-primary: $blue-500;\n$color-primary-hover: $blue-600;\n$color-secondary: $gray-500;\n$color-secondary-hover: $gray-400;\n\n// Gradients\n$gradient-pro: radial-gradient(141.77% 141.08% at 100.26% 99.25%, #0ECAD4 0%, #7A45E5 100%);\n\n// Border radius\n$radius-sm:\t4px;\n$radius-md: 6px;\n$radius-lg: 8px;\n$radius-xl: 12px;\n\n// Elevations / Box shadows\n$elevation-01: 0px 1px 2px rgba($gray-900, 0.10);\n\n// Input & button focus outline\n$outline: 3px solid $blue-50;\n\n// Link colours\n$link-color: $blue-500;\n\n// Responsive\n$max-width: 1440px;","/*--------------------------------------------------------------------------------------------\n*\n* Mixins\n*\n*--------------------------------------------------------------------------------------------*/\n@mixin clearfix() {\n\t&:after {\n\t\tdisplay: block;\n\t\tclear: both;\n\t\tcontent: \"\";\n\t}\n}\n\n@mixin border-box() {\n\t-webkit-box-sizing: border-box;\n\t-moz-box-sizing: border-box;\n\tbox-sizing: border-box;\n}\n\n@mixin centered() {\n\tposition: absolute;\n\ttop: 50%;\n\tleft: 50%;\n\ttransform: translate(-50%, -50%);\n}\n\n@mixin animate( $properties: 'all' ) {\n\t-webkit-transition: $properties 0.3s ease; // Safari 3.2+, Chrome\n -moz-transition: $properties 0.3s ease; \t// Firefox 4-15\n -o-transition: $properties 0.3s ease; \t\t// Opera 10.5–12.00\n transition: $properties 0.3s ease; \t\t// Firefox 16+, Opera 12.50+\n}\n\n@mixin rtl() {\n\thtml[dir=\"rtl\"] & {\n\t\ttext-align: right;\n\t\t@content;\n\t}\n}\n\n@mixin wp-admin( $version: '3-8' ) {\n\t.acf-admin-#{$version} & {\n\t\t@content;\n\t}\n}","/*---------------------------------------------------------------------------------------------\n*\n* Global\n*\n*---------------------------------------------------------------------------------------------*/\n.acf-admin-page {\n\t#wpcontent {\n\t\tline-height: 140%;\n\t}\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* Links\n*\n*---------------------------------------------------------------------------------------------*/\n.acf-admin-page {\n\n\ta {\n\t\tcolor: $blue-500;\n\t}\n\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* Headings\n*\n*---------------------------------------------------------------------------------------------*/\n\n.acf-h1 {\n\tfont-size: 21px;\n\tfont-weight: 400;\n}\n\n.acf-h2 {\n\tfont-size: 18px;\n\tfont-weight: 400;\n}\n\n.acf-h3 {\n\tfont-size: 16px;\n\tfont-weight: 400;\n}\n\n.acf-admin-page,\n.acf-headerbar {\n\n\th1 {\n\t\t@extend .acf-h1;\n\t}\n\n\th2 {\n\t\t@extend .acf-h2;\n\t}\n\n\th3 {\n\t\t@extend .acf-h3;\n\t}\n\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* Paragraphs\n*\n*---------------------------------------------------------------------------------------------*/\n\n.acf-admin-page {\n\n\t.p1 {\n\t\tfont-size: 15px;\n\t}\n\n\t.p2 {\n\t\tfont-size: 14px;\n\t}\n\n\t.p3 {\n\t\tfont-size: 13.5px;\n\t}\n\n\t.p4 {\n\t\tfont-size: 13px;\n\t}\n\n\t.p5 {\n\t\tfont-size: 12.5px;\n\t}\n\n\t.p6 {\n\t\tfont-size: 12px;\n\t}\n\n\t.p7 {\n\t\tfont-size: 11.5px;\n\t}\n\n\t.p8 {\n\t\tfont-size: 11px;\n\t}\n\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* Page titles\n*\n*---------------------------------------------------------------------------------------------*/\n.acf-page-title {\n\t@extend .acf-h2;\n\tcolor: $gray-700;\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* Hide old / native WP titles from pages\n*\n*---------------------------------------------------------------------------------------------*/\n.acf-admin-page {\n\n\t.acf-settings-wrap h1 {\n\t\tdisplay: none !important;\n\t}\n\n\t#acf-admin-tools h1:not(.acf-field-group-pro-features-title, .acf-field-group-pro-features-title-sm) {\n\t\tdisplay: none !important;\n\t}\n\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* Small\n*\n*---------------------------------------------------------------------------------------------*/\n.acf-small {\n\t@extend .p6;\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* Link focus style\n*\n*---------------------------------------------------------------------------------------------*/\n.acf-admin-page {\n\ta:focus {\n\t\tbox-shadow: none;\n\t\toutline: none;\n\t}\n\n\ta:focus-visible {\n\t\tbox-shadow: 0 0 0 1px #4f94d4, 0 0 2px 1px rgb(79 148 212 / 80%);\n\t\toutline: 1px solid transparent;\n\t}\n}\n","/*--------------------------------------------------------------------------------------------\n*\n*\tacf-field\n*\n*--------------------------------------------------------------------------------------------*/\n\n.acf-field,\n.acf-field .acf-label,\n.acf-field .acf-input {\n\t-webkit-box-sizing: border-box;\n\t-moz-box-sizing: border-box;\n\tbox-sizing: border-box;\n\tposition: relative;\n}\n\n.acf-field {\n\tmargin: 15px 0;\n\n\t// clear is important as it will avoid any layout issues with floating fields\n\t// do not delete (you have tried this)\n\tclear: both;\n\n\t// description\n\tp.description {\n\t\tdisplay: block;\n\t\tmargin: 0;\n\t\tpadding: 0;\n\t}\n\n\t// label\n\t.acf-label {\n\t\tvertical-align: top;\n\t\tmargin: 0 0 10px;\n\n\t\tlabel {\n\t\t\tdisplay: block;\n\t\t\tfont-weight: 500;\n\t\t\tmargin: 0 0 3px;\n\t\t\tpadding: 0;\n\t\t}\n\n\t\t&:empty {\n\t\t\tmargin-bottom: 0;\n\t\t}\n\t}\n\n\t// input\n\t.acf-input {\n\t\tvertical-align: top;\n\t}\n\n\t// description\n\tp.description {\n\t\tdisplay: block;\n\t\tmargin: {\n\t\t\ttop: 6px;\n\t\t}\n\t\t@extend .p6;\n\t\tcolor: $gray-500;\n\t}\n\n\t// notice\n\t.acf-notice {\n\t\tmargin: 0 0 15px;\n\t\tbackground: #edf2ff;\n\t\tcolor: #0c6ca0;\n\t\tborder-color: #2183b9;\n\n\t\t// error\n\t\t&.-error {\n\t\t\tbackground: #ffe6e6;\n\t\t\tcolor: #cc2727;\n\t\t\tborder-color: #d12626;\n\t\t}\n\n\t\t// success\n\t\t&.-success {\n\t\t\tbackground: #eefbe8;\n\t\t\tcolor: #0e7b17;\n\t\t\tborder-color: #32a23b;\n\t\t}\n\n\t\t// warning\n\t\t&.-warning {\n\t\t\tbackground: #fff3e6;\n\t\t\tcolor: #bd4b0e;\n\t\t\tborder-color: #d16226;\n\t\t}\n\t}\n\n\t// table\n\t@at-root td#{&},\n\t\ttr#{&} {\n\t\tmargin: 0;\n\t}\n}\n\n// width\n.acf-field[data-width] {\n\tfloat: left;\n\tclear: none;\n\n\t// next\n\t+ .acf-field[data-width] {\n\t\tborder-left: 1px solid #eeeeee;\n\t}\n\n\t// rtl\n\thtml[dir=\"rtl\"] & {\n\t\tfloat: right;\n\n\t\t+ .acf-field[data-width] {\n\t\t\tborder-left: none;\n\t\t\tborder-right: 1px solid #eeeeee;\n\t\t}\n\t}\n\n\t// table\n\t@at-root td#{&},\n\t\ttr#{&} {\n\t\tfloat: none;\n\t}\n\n\t// mobile\n\t/*\n\t@media screen and (max-width: $sm) {\n\t\tfloat: none;\n\t\twidth: auto;\n\t\tborder-left-width: 0;\n\t\tborder-right-width: 0;\n\t}\n*/\n}\n\n// float helpers\n.acf-field.-c0 {\n\tclear: both;\n\tborder-left-width: 0 !important;\n\n\t// rtl\n\thtml[dir=\"rtl\"] & {\n\t\tborder-left-width: 1px !important;\n\t\tborder-right-width: 0 !important;\n\t}\n}\n\n.acf-field.-r0 {\n\tborder-top-width: 0 !important;\n}\n\n/*--------------------------------------------------------------------------------------------\n*\n*\tacf-fields\n*\n*--------------------------------------------------------------------------------------------*/\n\n.acf-fields {\n\tposition: relative;\n\n\t// clearifx\n\t@include clearfix();\n\n\t// border\n\t&.-border {\n\t\tborder: $wp-card-border solid 1px;\n\t\tbackground: #fff;\n\t}\n\n\t// field\n\t> .acf-field {\n\t\tposition: relative;\n\t\tmargin: 0;\n\t\tpadding: 16px;\n\t\tborder-top: {\n\t\t\twidth: 1px;\n\t\t\tstyle: solid;\n\t\t\tcolor: $gray-200;\n\t\t}\n\n\t\t// first\n\t\t&:first-child {\n\t\t\tborder-top: none;\n\t\t\tmargin-top: 0;\n\t\t}\n\t}\n\n\t// table\n\t@at-root td#{&} {\n\t\tpadding: 0 !important;\n\t}\n}\n\n/*--------------------------------------------------------------------------------------------\n*\n*\tacf-fields (clear)\n*\n*--------------------------------------------------------------------------------------------*/\n\n.acf-fields.-clear > .acf-field {\n\tborder: none;\n\tpadding: 0;\n\tmargin: 15px 0;\n\n\t// width\n\t&[data-width] {\n\t\tborder: none !important;\n\t}\n\n\t// label\n\t> .acf-label {\n\t\tpadding: 0;\n\t}\n\n\t// input\n\t> .acf-input {\n\t\tpadding: 0;\n\t}\n}\n\n/*--------------------------------------------------------------------------------------------\n*\n*\tacf-fields (left)\n*\n*--------------------------------------------------------------------------------------------*/\n\n.acf-fields.-left > .acf-field {\n\tpadding: $fy 0;\n\n\t// clearifx\n\t@include clearfix();\n\n\t// sidebar\n\t&:before {\n\t\tcontent: \"\";\n\t\tdisplay: block;\n\t\tposition: absolute;\n\t\tz-index: 0;\n\t\tbackground: #f9f9f9;\n\t\tborder-color: #e1e1e1;\n\t\tborder-style: solid;\n\t\tborder-width: 0 1px 0 0;\n\t\ttop: 0;\n\t\tbottom: 0;\n\t\tleft: 0;\n\t\twidth: 20%;\n\t}\n\n\t// width\n\t&[data-width] {\n\t\tfloat: none;\n\t\twidth: auto !important;\n\t\tborder-left-width: 0 !important;\n\t\tborder-right-width: 0 !important;\n\t}\n\n\t// label\n\t> .acf-label {\n\t\tfloat: left;\n\t\twidth: 20%;\n\t\tmargin: 0;\n\t\tpadding: 0 $fx;\n\t}\n\n\t// input\n\t> .acf-input {\n\t\tfloat: left;\n\t\twidth: 80%;\n\t\tmargin: 0;\n\t\tpadding: 0 $fx;\n\t}\n\n\t// rtl\n\thtml[dir=\"rtl\"] & {\n\t\t// sidebar\n\t\t&:before {\n\t\t\tborder-width: 0 0 0 1px;\n\t\t\tleft: auto;\n\t\t\tright: 0;\n\t\t}\n\n\t\t// label\n\t\t> .acf-label {\n\t\t\tfloat: right;\n\t\t}\n\n\t\t// input\n\t\t> .acf-input {\n\t\t\tfloat: right;\n\t\t}\n\t}\n\n\t// In sidebar.\n\t#side-sortables & {\n\t\t&:before {\n\t\t\tdisplay: none;\n\t\t}\n\t\t> .acf-label {\n\t\t\twidth: 100%;\n\t\t\tmargin-bottom: 10px;\n\t\t}\n\t\t> .acf-input {\n\t\t\twidth: 100%;\n\t\t}\n\t}\n\n\t// mobile\n\t@media screen and (max-width: $sm) {\n\t\t// sidebar\n\t\t&:before {\n\t\t\tdisplay: none;\n\t\t}\n\n\t\t// label\n\t\t> .acf-label {\n\t\t\twidth: 100%;\n\t\t\tmargin-bottom: 10px;\n\t\t}\n\n\t\t// input\n\t\t> .acf-input {\n\t\t\twidth: 100%;\n\t\t}\n\t}\n}\n\n/* clear + left */\n.acf-fields.-clear.-left > .acf-field {\n\tpadding: 0;\n\tborder: none;\n\n\t// sidebar\n\t&:before {\n\t\tdisplay: none;\n\t}\n\n\t// label\n\t> .acf-label {\n\t\tpadding: 0;\n\t}\n\n\t// input\n\t> .acf-input {\n\t\tpadding: 0;\n\t}\n}\n\n/*--------------------------------------------------------------------------------------------\n*\n*\tacf-table\n*\n*--------------------------------------------------------------------------------------------*/\n\n.acf-table tr.acf-field {\n\t// label\n\t> td.acf-label {\n\t\tpadding: $fp;\n\t\tmargin: 0;\n\t\tbackground: #f9f9f9;\n\t\twidth: 20%;\n\t}\n\n\t// input\n\t> td.acf-input {\n\t\tpadding: $fp;\n\t\tmargin: 0;\n\t\tborder-left-color: #e1e1e1;\n\t}\n}\n\n.acf-sortable-tr-helper {\n\tposition: relative !important;\n\tdisplay: table-row !important;\n}\n\n/*--------------------------------------------------------------------------------------------\n*\n*\tacf-postbox\n*\n*--------------------------------------------------------------------------------------------*/\n\n.acf-postbox {\n\tposition: relative;\n\n\t// inside\n\t> .inside {\n\t\tmargin: 0 !important; /* override WP style - do not delete - you have tried this before */\n\t\tpadding: 0 !important; /* override WP style - do not delete - you have tried this before */\n\t}\n\n\t// Edit cog.\n\t.acf-hndle-cog {\n\t\tcolor: #72777c;\n\t\tfont-size: 16px;\n\t\tline-height: 36px;\n\t\theight: 36px; // Mimic WP 5.5\n\t\twidth: 1.62rem; // Mimic WP 5.5\n\t\tposition: relative;\n\t\tdisplay: none;\n\t\t&:hover {\n\t\t\tcolor: #191e23;\n\t\t}\n\t}\n\n\t// Show on hover.\n\t> .hndle:hover,\n\t> .postbox-header:hover {\n\t\t.acf-hndle-cog {\n\t\t\tdisplay: inline-block;\n\t\t}\n\t}\n\n\t// WP < 5.5 styling\n\t> .hndle {\n\t\t.acf-hndle-cog {\n\t\t\theight: 20px;\n\t\t\tline-height: 20px;\n\t\t\tfloat: right;\n\t\t\twidth: auto;\n\t\t\t&:hover {\n\t\t\t\tcolor: #777777;\n\t\t\t}\n\t\t}\n\t}\n\n\t// replace\n\t.acf-replace-with-fields {\n\t\tpadding: 15px;\n\t\ttext-align: center;\n\t}\n}\n\n// Correct margin around #acf_after_title\n#post-body-content #acf_after_title-sortables {\n\tmargin: 20px 0 -20px;\n}\n\n/* seamless */\n.acf-postbox.seamless {\n\tborder: 0 none;\n\tbackground: transparent;\n\tbox-shadow: none;\n\n\t/* hide hndle */\n\t> .postbox-header,\n\t> .hndle,\n\t> .handlediv {\n\t\tdisplay: none !important;\n\t}\n\n\t/* inside */\n\t> .inside {\n\t\tdisplay: block !important; /* stop metabox from hiding when closed */\n\t\tmargin-left: -$field_padding_x !important;\n\t\tmargin-right: -$field_padding_x !important;\n\n\t\t> .acf-field {\n\t\t\tborder-color: transparent;\n\t\t}\n\t}\n}\n\n/* seamless (left) */\n.acf-postbox.seamless > .acf-fields.-left {\n\t/* hide sidebar bg */\n\t> .acf-field:before {\n\t\tdisplay: none;\n\t}\n\n\t/* mobile */\n\t@media screen and (max-width: 782px) {\n\t\t/* remove padding */\n\t\t& > .acf-field > .acf-label,\n\t\t& > .acf-field > .acf-input {\n\t\t\tpadding: 0;\n\t\t}\n\t}\n}\n\n/*-----------------------------------------------------------------------------\n*\n* Inputs\n*\n*-----------------------------------------------------------------------------*/\n\n.acf-field {\n\tinput[type=\"text\"],\n\tinput[type=\"password\"],\n\tinput[type=\"date\"],\n\tinput[type=\"datetime\"],\n\tinput[type=\"datetime-local\"],\n\tinput[type=\"email\"],\n\tinput[type=\"month\"],\n\tinput[type=\"number\"],\n\tinput[type=\"search\"],\n\tinput[type=\"tel\"],\n\tinput[type=\"time\"],\n\tinput[type=\"url\"],\n\tinput[type=\"week\"],\n\ttextarea,\n\tselect {\n\t\twidth: 100%;\n\t\tpadding: 4px 8px;\n\t\tmargin: 0;\n\t\tbox-sizing: border-box;\n\t\tfont-size: 14px;\n\t\tline-height: 1.4;\n\n\t\t// WP Admin 3.8\n\t\t@include wp-admin(\"3-8\") {\n\t\t\tpadding: 3px 5px;\n\t\t}\n\t}\n\ttextarea {\n\t\tresize: vertical;\n\t}\n}\n\n// Fix extra padding in Firefox.\nbody.acf-browser-firefox .acf-field select {\n\tpadding: 4px 5px;\n}\n\n/*-----------------------------------------------------------------------------\n*\n* Text\n*\n*-----------------------------------------------------------------------------*/\n.acf-input-prepend,\n.acf-input-append,\n.acf-input-wrap {\n\tbox-sizing: border-box;\n}\n\n.acf-input-prepend,\n.acf-input-append {\n\tfont-size: 13px;\n\tline-height: 1.4;\n\tpadding: 4px 8px;\n\tbackground: #f5f5f5;\n\tborder: $wp-input-border solid 1px;\n\tmin-height: 30px;\n\n\t// WP Admin 3.8\n\t@include wp-admin(\"3-8\") {\n\t\tpadding: 3px 5px;\n\t\tborder-color: $wp38-input-border;\n\t\tmin-height: 28px;\n\t}\n}\n\n.acf-input-prepend {\n\tfloat: left;\n\tborder-right-width: 0;\n\tborder-radius: 3px 0 0 3px;\n}\n\n.acf-input-append {\n\tfloat: right;\n\tborder-left-width: 0;\n\tborder-radius: 0 3px 3px 0;\n}\n\n.acf-input-wrap {\n\tposition: relative;\n\toverflow: hidden;\n\t.acf-is-prepended {\n\t\tborder-radius: 0 $radius-md $radius-md 0 !important;\n\t}\n\t.acf-is-appended {\n\t\tborder-radius: $radius-md 0 0 $radius-md !important;\n\t}\n\t.acf-is-prepended.acf-is-appended {\n\t\tborder-radius: 0 !important;\n\t}\n}\n\n/* rtl */\nhtml[dir=\"rtl\"] .acf-input-prepend {\n\tborder-left-width: 0;\n\tborder-right-width: 1px;\n\tborder-radius: 0 3px 3px 0;\n\n\tfloat: right;\n}\n\nhtml[dir=\"rtl\"] .acf-input-append {\n\tborder-left-width: 1px;\n\tborder-right-width: 0;\n\tborder-radius: 3px 0 0 3px;\n\tfloat: left;\n}\n\nhtml[dir=\"rtl\"] input.acf-is-prepended {\n\tborder-radius: 3px 0 0 3px !important;\n}\n\nhtml[dir=\"rtl\"] input.acf-is-appended {\n\tborder-radius: 0 3px 3px 0 !important;\n}\n\nhtml[dir=\"rtl\"] input.acf-is-prepended.acf-is-appended {\n\tborder-radius: 0 !important;\n}\n\n/*-----------------------------------------------------------------------------\n*\n* Color Picker\n*\n*-----------------------------------------------------------------------------*/\n\n.acf-color-picker {\n\t.wp-color-result {\n\t\tborder-color: $wp-input-border;\n\t\t@include wp-admin(\"3-8\") {\n\t\t\tborder-color: $wp-card-border;\n\t\t}\n\t}\n\t.wp-picker-active {\n\t\tposition: relative;\n\t\tz-index: 1;\n\t}\n}\n\n/*-----------------------------------------------------------------------------\n*\n* Url\n*\n*-----------------------------------------------------------------------------*/\n\n.acf-url {\n\ti {\n\t\tposition: absolute;\n\t\ttop: 5px;\n\t\tleft: 5px;\n\t\topacity: 0.5;\n\t\tcolor: #7e8993;\n\t}\n\n\tinput[type=\"url\"] {\n\t\tpadding-left: 27px !important;\n\t}\n\n\t&.-valid i {\n\t\topacity: 1;\n\t}\n}\n\n/*-----------------------------------------------------------------------------\n*\n* Select2 (v3)\n*\n*-----------------------------------------------------------------------------*/\n\n.select2-container.-acf {\n\tz-index: 1001;\n\t\n\t.select2-choices {\n\t\tbackground: #fff;\n\t\tborder-color: #ddd;\n\t\tbox-shadow: 0 1px 2px rgba(0, 0, 0, 0.07) inset;\n\t\tmin-height: 31px;\n\n\t\t.select2-search-choice {\n\t\t\tmargin: 5px 0 5px 5px;\n\t\t\tpadding: 3px 5px 3px 18px;\n\t\t\tborder-color: #bbb;\n\t\t\tbackground: #f9f9f9;\n\t\t\tbox-shadow: 0 1px 0 rgba(255, 255, 255, 0.25) inset;\n\n\t\t\t/* sortable item*/\n\t\t\t&.ui-sortable-helper {\n\t\t\t\tbackground: #5897fb;\n\t\t\t\tborder-color: darken(#5897fb, 5%);\n\t\t\t\tcolor: #fff !important;\n\t\t\t\tbox-shadow: 0 0 3px rgba(0, 0, 0, 0.1);\n\n\t\t\t\ta {\n\t\t\t\t\tvisibility: hidden;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t/* sortable shadow */\n\t\t\t&.ui-sortable-placeholder {\n\t\t\t\tbackground-color: #f7f7f7;\n\t\t\t\tborder-color: #f7f7f7;\n\t\t\t\tvisibility: visible !important;\n\t\t\t}\n\t\t}\n\n\t\t.select2-search-choice-focus {\n\t\t\tborder-color: #999;\n\t\t}\n\n\t\t.select2-search-field input {\n\t\t\theight: 31px;\n\t\t\tline-height: 22px;\n\t\t\tmargin: 0;\n\t\t\tpadding: 5px 5px 5px 7px;\n\t\t}\n\t}\n\n\t.select2-choice {\n\t\tborder-color: #bbbbbb;\n\n\t\t.select2-arrow {\n\t\t\tbackground: transparent;\n\t\t\tborder-left-color: #dfdfdf;\n\t\t\tpadding-left: 1px;\n\t\t}\n\n\t\t.select2-result-description {\n\t\t\tdisplay: none;\n\t\t}\n\t}\n\n\t/* open */\n\t&.select2-container-active .select2-choices,\n\t&.select2-dropdown-open .select2-choices {\n\t\tborder-color: #5b9dd9;\n\t\tborder-radius: 3px 3px 0 0;\n\t}\n\n\t/* single open */\n\t&.select2-dropdown-open .select2-choice {\n\t\tbackground: #fff;\n\t\tborder-color: #5b9dd9;\n\t}\n}\n\n/* rtl */\nhtml[dir=\"rtl\"] .select2-container.-acf {\n\t.select2-search-choice-close {\n\t\tleft: 24px;\n\t}\n\n\t.select2-choice > .select2-chosen {\n\t\tmargin-left: 42px;\n\t}\n\n\t.select2-choice .select2-arrow {\n\t\tpadding-left: 0;\n\t\tpadding-right: 1px;\n\t}\n}\n\n/* description */\n.select2-drop {\n\t/* search*/\n\t.select2-search {\n\t\tpadding: 4px 4px 0;\n\t}\n\n\t/* result */\n\t.select2-result {\n\t\t.select2-result-description {\n\t\t\tcolor: #999;\n\t\t\tfont-size: 12px;\n\t\t\tmargin-left: 5px;\n\t\t}\n\n\t\t/* hover*/\n\t\t&.select2-highlighted {\n\t\t\t.select2-result-description {\n\t\t\t\tcolor: #fff;\n\t\t\t\topacity: 0.75;\n\t\t\t}\n\t\t}\n\t}\n}\n\n/*-----------------------------------------------------------------------------\n*\n* Select2 (v4)\n*\n*-----------------------------------------------------------------------------*/\n.select2-container.-acf {\n\t// Reset WP default style.\n\tli {\n\t\tmargin-bottom: 0;\n\t}\n\n\t// select2 4.1 specific targeting for plugin conflict resolution.\n\t&[data-select2-id^=\"select2-data\"] {\n\t\t.select2-selection--multiple {\n\t\t\toverflow: hidden;\n\t\t}\n\t}\n\n\t// Customize border color to match WP admin.\n\t.select2-selection {\n\t\tborder-color: $wp-input-border;\n\n\t\t// WP Admin 3.8\n\t\t@include wp-admin(\"3-8\") {\n\t\t\tborder-color: #aaa;\n\t\t}\n\t}\n\n\t// Multiple wrap.\n\t.select2-selection--multiple {\n\t\t// If no value, increase hidden search input full width.\n\t\t// Overrides calculated px width issues.\n\t\t.select2-search--inline:first-child {\n\t\t\tfloat: none;\n\t\t\tinput {\n\t\t\t\twidth: 100% !important;\n\t\t\t}\n\t\t}\n\n\t\t// ul: Remove padding because li already has margin-right.\n\t\t.select2-selection__rendered {\n\t\t\tpadding-right: 0;\n\t\t}\n\n\t\t// incredibly specific targeting of an ID that only gets applied in select2 4.1 to solve plugin conflicts\n\t\t.select2-selection__rendered[id^=\"select2-acf-field\"] {\n\t\t\tdisplay: inline;\n\t\t\tpadding: 0;\n\t\t\tmargin: 0;\n\n\t\t\t.select2-selection__choice {\n\t\t\t\tmargin-right: 0;\n\t\t\t}\n\t\t}\n\n\t\t// li\n\t\t.select2-selection__choice {\n\t\t\tbackground-color: #f7f7f7;\n\t\t\tborder-color: #cccccc;\n\n\t\t\t// Allow choice to wrap multiple lines.\n\t\t\tmax-width: 100%;\n\t\t\toverflow: hidden;\n\t\t\tword-wrap: normal !important;\n\t\t\twhite-space: normal;\n\n\t\t\t// Sortable.\n\t\t\t&.ui-sortable-helper {\n\t\t\t\tbackground: $blue-500;\n\t\t\t\tborder-color: $blue-600;\n\t\t\t\tcolor: #fff !important;\n\t\t\t\tbox-shadow: 0 0 3px rgba(0, 0, 0, 0.1);\n\n\t\t\t\tspan {\n\t\t\t\t\tvisibility: hidden;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Fixed for select2's 4.1 css changes when loaded by another plugin.\n\t\t\t.select2-selection__choice__remove {\n\t\t\t\tposition: static;\n\t\t\t\tborder-right: none;\n\t\t\t\tpadding: 0;\n\t\t\t}\n\n\t\t\t// Sortable shadow\n\t\t\t&.ui-sortable-placeholder {\n\t\t\t\tbackground-color: $gray-100;\n\t\t\t\tborder-color: $gray-100;\n\t\t\t\tvisibility: visible !important;\n\t\t\t}\n\t\t}\n\n\t\t// search\n\t\t.select2-search__field {\n\t\t\tbox-shadow: none !important;\n\t\t\tmin-height: 0;\n\t\t}\n\t}\n\n\t// Fix single select pushing out repeater field table width.\n\t.acf-row & .select2-selection--single {\n\t\toverflow: hidden;\n\t\t.select2-selection__rendered {\n\t\t\twhite-space: normal;\n\t\t}\n\t}\n}\n\n.acf-admin-single-field-group .select2-dropdown {\n\tborder-color: $blue-300 !important;\n\tmargin-top: -5px;\n\toverflow: hidden;\n\tbox-shadow: $elevation-01;\n}\n\n.select2-dropdown.select2-dropdown--above {\n\tmargin-top: 0;\n}\n\n.acf-admin-single-field-group .select2-container--default .select2-results__option[aria-selected=\"true\"] {\n\tbackground-color: $gray-50 !important;\n\tcolor: $gray-500;\n\n\t&:hover {\n\t\tcolor: $blue-400;\n\t}\n}\n\n.acf-admin-single-field-group .select2-container--default\n\t.select2-results__option--highlighted[aria-selected] {\n\tcolor: #fff !important;\n\tbackground-color: $blue-500 !important;\n}\n\n// remove bottom margin on options\n.select2-dropdown .select2-results__option {\n\tmargin-bottom: 0;\n}\n\n// z-index helper.\n.select2-container {\n\t.select2-dropdown {\n\t\tz-index: 900000;\n\n\t\t// Reset input height.\n\t\t.select2-search__field {\n\t\t\tline-height: 1.4;\n\t\t\tmin-height: 0;\n\t\t}\n\t}\n}\n\n/*-----------------------------------------------------------------------------\n*\n* Link\n*\n*-----------------------------------------------------------------------------*/\n\n.acf-link {\n\t.link-wrap {\n\t\tdisplay: none;\n\t\tborder: $wp-card-border solid 1px;\n\t\tborder-radius: 3px;\n\t\tpadding: 5px;\n\t\tline-height: 26px;\n\t\tbackground: #fff;\n\n\t\tword-wrap: break-word;\n\t\tword-break: break-all;\n\n\t\t.link-title {\n\t\t\tpadding: 0 5px;\n\t\t}\n\t}\n\n\t// Has value.\n\t&.-value {\n\t\t.button {\n\t\t\tdisplay: none;\n\t\t}\n\t\t.acf-icon.-link-ext {\n\t\t\tdisplay: none;\n\t\t}\n\t\t.link-wrap {\n\t\t\tdisplay: inline-block;\n\t\t}\n\t}\n\n\t// Is external.\n\t&.-external {\n\t\t.acf-icon.-link-ext {\n\t\t\tdisplay: inline-block;\n\t\t}\n\t}\n}\n\n#wp-link-backdrop {\n\tz-index: 900000 !important;\n}\n#wp-link-wrap {\n\tz-index: 900001 !important;\n}\n\n/*-----------------------------------------------------------------------------\n*\n* Radio\n*\n*-----------------------------------------------------------------------------*/\n\nul.acf-radio-list,\nul.acf-checkbox-list {\n\tbackground: transparent;\n\tborder: 1px solid transparent;\n\tposition: relative;\n\tpadding: 1px;\n\tmargin: 0;\n\n\t&:focus-within {\n\t\tborder: 1px solid $blue-200;\n\t\tborder-radius: $radius-md;\n\t}\n\n\tli {\n\t\tfont-size: 13px;\n\t\tline-height: 22px;\n\t\tmargin: 0;\n\t\tposition: relative;\n\t\tword-wrap: break-word;\n\n\t\tlabel {\n\t\t\tdisplay: inline;\n\t\t}\n\n\t\tinput[type=\"checkbox\"],\n\t\tinput[type=\"radio\"] {\n\t\t\tmargin: -1px 4px 0 0;\n\t\t\tvertical-align: middle;\n\t\t}\n\n\t\tinput[type=\"text\"] {\n\t\t\twidth: auto;\n\t\t\tvertical-align: middle;\n\t\t\tmargin: 2px 0;\n\t\t}\n\n\t\t/* attachment sidebar fix*/\n\t\tspan {\n\t\t\tfloat: none;\n\t\t}\n\n\t\ti {\n\t\t\tvertical-align: middle;\n\t\t}\n\t}\n\n\t/* hl */\n\t&.acf-hl {\n\t\tli {\n\t\t\tmargin-right: 20px;\n\t\t\tclear: none;\n\t\t}\n\t}\n\n\t/* rtl */\n\thtml[dir=\"rtl\"] & {\n\t\tinput[type=\"checkbox\"],\n\t\tinput[type=\"radio\"] {\n\t\t\tmargin-left: 4px;\n\t\t\tmargin-right: 0;\n\t\t}\n\t}\n}\n\n/*-----------------------------------------------------------------------------\n*\n* Button Group\n*\n*-----------------------------------------------------------------------------*/\n\n.acf-button-group {\n\tdisplay: inline-block;\n\n\tlabel {\n\t\tdisplay: inline-block;\n\t\tborder: $wp-input-border solid 1px;\n\t\tposition: relative;\n\t\tz-index: 1;\n\t\tpadding: 5px 10px;\n\t\tbackground: #fff;\n\n\t\t&:hover {\n\t\t\tcolor: #016087;\n\t\t\tbackground: #f3f5f6;\n\t\t\tborder-color: #0071a1;\n\t\t\tz-index: 2;\n\t\t}\n\n\t\t&.selected {\n\t\t\tborder-color: #007cba;\n\t\t\tbackground: lighten(#007cba, 5%);\n\t\t\tcolor: #fff;\n\t\t\tz-index: 2;\n\t\t}\n\t}\n\n\tinput {\n\t\tdisplay: none !important;\n\t}\n\n\t/* default (horizontal) */\n\t& {\n\t\tpadding-left: 1px;\n\t\tdisplay: inline-flex;\n\t\tflex-direction: row;\n\t\tflex-wrap: nowrap;\n\n\t\tlabel {\n\t\t\tmargin: 0 0 0 -1px;\n\t\t\tflex: 1;\n\t\t\ttext-align: center;\n\t\t\twhite-space: nowrap;\n\n\t\t\t// corners\n\t\t\t&:first-child {\n\t\t\t\tborder-radius: 3px 0 0 3px;\n\t\t\t\thtml[dir=\"rtl\"] & {\n\t\t\t\t\tborder-radius: 0 3px 3px 0;\n\t\t\t\t}\n\t\t\t}\n\t\t\t&:last-child {\n\t\t\t\tborder-radius: 0 3px 3px 0;\n\t\t\t\thtml[dir=\"rtl\"] & {\n\t\t\t\t\tborder-radius: 3px 0 0 3px;\n\t\t\t\t}\n\t\t\t}\n\t\t\t&:only-child {\n\t\t\t\tborder-radius: 3px;\n\t\t\t}\n\t\t}\n\t}\n\n\t/* vertical */\n\t&.-vertical {\n\t\tpadding-left: 0;\n\t\tpadding-top: 1px;\n\t\tflex-direction: column;\n\n\t\tlabel {\n\t\t\tmargin: -1px 0 0 0;\n\n\t\t\t// corners\n\t\t\t&:first-child {\n\t\t\t\tborder-radius: 3px 3px 0 0;\n\t\t\t}\n\t\t\t&:last-child {\n\t\t\t\tborder-radius: 0 0 3px 3px;\n\t\t\t}\n\t\t\t&:only-child {\n\t\t\t\tborder-radius: 3px;\n\t\t\t}\n\t\t}\n\t}\n\n\t// WP Admin 3.8\n\t@include wp-admin(\"3-8\") {\n\t\tlabel {\n\t\t\tborder-color: $wp-card-border;\n\t\t\t&:hover {\n\t\t\t\tborder-color: #0071a1;\n\t\t\t}\n\t\t\t&.selected {\n\t\t\t\tborder-color: #007cba;\n\t\t\t}\n\t\t}\n\t}\n}\n\n.acf-admin-page {\n\t.acf-button-group {\n\t\tdisplay: flex;\n\t\talign-items: stretch;\n\t\talign-content: center;\n\t\theight: 40px;\n\t\tborder-radius: $radius-md;\n\t\tbox-shadow: $elevation-01;\n\n\t\tlabel {\n\t\t\tdisplay: inline-flex;\n\t\t\talign-items: center;\n\t\t\talign-content: center;\n\t\t\tborder: $gray-300 solid 1px;\n\t\t\tpadding: 6px 16px;\n\t\t\tcolor: $gray-600;\n\t\t\tfont-weight: 500;\n\n\t\t\t&:hover {\n\t\t\t\tcolor: $color-primary;\n\t\t\t}\n\n\t\t\t&.selected {\n\t\t\t\tbackground: $gray-50;\n\t\t\t\tcolor: $color-primary;\n\t\t\t}\n\t\t}\n\t}\n\n\t.select2-container.-acf {\n\t\t.select2-selection--multiple {\n\t\t\t.select2-selection__choice {\n\t\t\t\tdisplay: inline-flex;\n\t\t\t\talign-items: center;\n\t\t\t\tmargin: {\n\t\t\t\t\ttop: 8px;\n\t\t\t\t\tleft: 2px;\n\t\t\t\t};\n\t\t\t\tposition: relative;\n\t\t\t\tpadding: {\n\t\t\t\t\ttop: 4px;\n\t\t\t\t\tright: auto;\n\t\t\t\t\tbottom: 4px;\n\t\t\t\t\tleft: 8px;\n\t\t\t\t}\n\t\t\t\tbackground-color: $blue-50;\n\t\t\t\tborder-color: $blue-200;\n\t\t\t\tcolor: $blue-500;\n\n\t\t\t\t.select2-selection__choice__remove {\n\t\t\t\t\torder: 2;\n\t\t\t\t\twidth: 14px;\n\t\t\t\t\theight: 14px;\n\t\t\t\t\tmargin: {\n\t\t\t\t\t\tright: 0;\n\t\t\t\t\t\tleft: 4px;\n\t\t\t\t\t}\n\t\t\t\t\tcolor: $blue-300;\n\t\t\t\t\ttext-indent: 100%;\n\t\t\t\t\twhite-space: nowrap;\n\t\t\t\t\toverflow: hidden;\n\n\t\t\t\t\t&:hover {\n\t\t\t\t\t\tcolor: $blue-500;\n\t\t\t\t\t}\n\n\t\t\t\t\t&:before {\n\t\t\t\t\t\tcontent: \"\";\n\t\t\t\t\t\t$icon-size: 14px;\n\t\t\t\t\t\tdisplay: block;\n\t\t\t\t\t\twidth: $icon-size;\n\t\t\t\t\t\theight: $icon-size;\n\t\t\t\t\t\ttop: 0;\n\t\t\t\t\t\tleft: 0;\n\t\t\t\t\t\tbackground-color: currentColor;\n\t\t\t\t\t\tborder: none;\n\t\t\t\t\t\tborder-radius: 0;\n\t\t\t\t\t\t-webkit-mask-size: contain;\n\t\t\t\t\t\tmask-size: contain;\n\t\t\t\t\t\t-webkit-mask-repeat: no-repeat;\n\t\t\t\t\t\tmask-repeat: no-repeat;\n\t\t\t\t\t\t-webkit-mask-position: center;\n\t\t\t\t\t\tmask-position: center;\n\t\t\t\t\t\t-webkit-mask-image: url(\"../../images/icons/icon-close.svg\");\n\t\t\t\t\t\tmask-image: url(\"../../images/icons/icon-close.svg\");\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n\n/*-----------------------------------------------------------------------------\n*\n* Checkbox\n*\n*-----------------------------------------------------------------------------*/\n\n.acf-checkbox-list {\n\t.button {\n\t\tmargin: 10px 0 0;\n\t}\n}\n\n/*-----------------------------------------------------------------------------\n*\n* True / False\n*\n*-----------------------------------------------------------------------------*/\n.acf-switch {\n\tdisplay: grid;\n\tgrid-template-columns: 1fr 1fr;\n\twidth: fit-content;\n\tmax-width: 100%;\n\tborder-radius: 5px;\n\tcursor: pointer;\n\tposition: relative;\n\tbackground: #f5f5f5;\n\theight: 30px;\n\tvertical-align: middle;\n\tborder: $wp-input-border solid 1px;\n\n\t-webkit-transition: background 0.25s ease;\n\t-moz-transition: background 0.25s ease;\n\t-o-transition: background 0.25s ease;\n\ttransition: background 0.25s ease;\n\n\tspan {\n\t\tdisplay: inline-block;\n\t\tfloat: left;\n\t\ttext-align: center;\n\n\t\tfont-size: 13px;\n\t\tline-height: 22px;\n\n\t\tpadding: 4px 10px;\n\t\tmin-width: 15px;\n\n\t\ti {\n\t\t\tvertical-align: middle;\n\t\t}\n\t}\n\n\t.acf-switch-on {\n\t\tcolor: #fff;\n\t\ttext-shadow: #007cba 0 1px 0;\n\t\toverflow: hidden;\n\t}\n\n\t.acf-switch-off {\n\t\toverflow: hidden;\n\t}\n\n\t.acf-switch-slider {\n\t\tposition: absolute;\n\t\ttop: 2px;\n\t\tleft: 2px;\n\t\tbottom: 2px;\n\t\tright: 50%;\n\t\tz-index: 1;\n\t\tbackground: #fff;\n\t\tborder-radius: 3px;\n\t\tborder: $wp-input-border solid 1px;\n\n\t\t-webkit-transition: all 0.25s ease;\n\t\t-moz-transition: all 0.25s ease;\n\t\t-o-transition: all 0.25s ease;\n\t\ttransition: all 0.25s ease;\n\n\t\ttransition-property: left, right;\n\t}\n\n\t/* hover */\n\t&:hover,\n\t&.-focus {\n\t\tborder-color: #0071a1;\n\t\tbackground: #f3f5f6;\n\t\tcolor: #016087;\n\t\t.acf-switch-slider {\n\t\t\tborder-color: #0071a1;\n\t\t}\n\t}\n\n\t/* active */\n\t&.-on {\n\t\tbackground: #0d99d5;\n\t\tborder-color: #007cba;\n\n\t\t.acf-switch-slider {\n\t\t\tleft: 50%;\n\t\t\tright: 2px;\n\t\t\tborder-color: #007cba;\n\t\t}\n\n\t\t/* hover */\n\t\t&:hover {\n\t\t\tborder-color: #007cba;\n\t\t}\n\t}\n\n\t/* message */\n\t+ span {\n\t\tmargin-left: 6px;\n\t}\n\n\t// WP Admin 3.8\n\t@include wp-admin(\"3-8\") {\n\t\tborder-color: $wp-card-border;\n\t\t.acf-switch-slider {\n\t\t\tborder-color: $wp-card-border;\n\t\t}\n\n\t\t&:hover,\n\t\t&.-focus {\n\t\t\tborder-color: #0071a1;\n\t\t\t.acf-switch-slider {\n\t\t\t\tborder-color: #0071a1;\n\t\t\t}\n\t\t}\n\n\t\t&.-on {\n\t\t\tborder-color: #007cba;\n\t\t\t.acf-switch-slider {\n\t\t\t\tborder-color: #007cba;\n\t\t\t}\n\t\t\t&:hover {\n\t\t\t\tborder-color: #007cba;\n\t\t\t}\n\t\t}\n\t}\n}\n\n/* checkbox */\n.acf-switch-input {\n\topacity: 0;\n\tposition: absolute;\n\tmargin: 0;\n}\n\n.acf-admin-single-field-group .acf-true-false {\n\tborder: 1px solid transparent;\n\n\t&:focus-within {\n\t\tborder: 1px solid $blue-400;\n\t\tborder-radius: 120px;\n\t}\n}\n\n/* in media modal */\n.compat-item .acf-true-false {\n\t.message {\n\t\tfloat: none;\n\t\tpadding: 0;\n\t\tvertical-align: middle;\n\t}\n}\n\n/*--------------------------------------------------------------------------\n*\n*\tGoogle Map\n*\n*-------------------------------------------------------------------------*/\n\n.acf-google-map {\n\tposition: relative;\n\tborder: $wp-card-border solid 1px;\n\tbackground: #fff;\n\n\t.title {\n\t\tposition: relative;\n\t\tborder-bottom: $wp-card-border solid 1px;\n\n\t\t.search {\n\t\t\tmargin: 0;\n\t\t\tfont-size: 14px;\n\t\t\tline-height: 30px;\n\t\t\theight: 40px;\n\t\t\tpadding: 5px 10px;\n\t\t\tborder: 0 none;\n\t\t\tbox-shadow: none;\n\t\t\tborder-radius: 0;\n\t\t\tfont-family: inherit;\n\t\t\tcursor: text;\n\t\t}\n\n\t\t.acf-loading {\n\t\t\tposition: absolute;\n\t\t\ttop: 10px;\n\t\t\tright: 11px;\n\t\t\tdisplay: none;\n\t\t}\n\n\t\t// Avoid icons disapearing when click/blur events conflict.\n\t\t.acf-icon:active {\n\t\t\tdisplay: inline-block !important;\n\t\t}\n\t}\n\n\t.canvas {\n\t\theight: 400px;\n\t}\n\n\t// Show actions on hover.\n\t&:hover .title .acf-actions {\n\t\tdisplay: block;\n\t}\n\n\t// Default state (show locate, hide search and cancel).\n\t.title {\n\t\t.acf-icon.-location {\n\t\t\tdisplay: inline-block;\n\t\t}\n\t\t.acf-icon.-cancel,\n\t\t.acf-icon.-search {\n\t\t\tdisplay: none;\n\t\t}\n\t}\n\n\t// Has value (hide locate, show cancel).\n\t&.-value .title {\n\t\t.search {\n\t\t\tfont-weight: bold;\n\t\t}\n\t\t.acf-icon.-location {\n\t\t\tdisplay: none;\n\t\t}\n\t\t.acf-icon.-cancel {\n\t\t\tdisplay: inline-block;\n\t\t}\n\t}\n\n\t// Is searching (hide locate, show search and cancel).\n\t&.-searching .title {\n\t\t.acf-icon.-location {\n\t\t\tdisplay: none;\n\t\t}\n\t\t.acf-icon.-cancel,\n\t\t.acf-icon.-search {\n\t\t\tdisplay: inline-block;\n\t\t}\n\n\t\t// Show actions.\n\t\t.acf-actions {\n\t\t\tdisplay: block;\n\t\t}\n\n\t\t// Change search font-weght.\n\t\t.search {\n\t\t\tfont-weight: normal !important;\n\t\t}\n\t}\n\n\t// Loading.\n\t&.-loading .title {\n\t\ta {\n\t\t\tdisplay: none !important;\n\t\t}\n\t\ti {\n\t\t\tdisplay: inline-block;\n\t\t}\n\t}\n}\n\n/* autocomplete */\n.pac-container {\n\tborder-width: 1px 0;\n\tbox-shadow: none;\n}\n\n.pac-container:after {\n\tdisplay: none;\n}\n\n.pac-container .pac-item:first-child {\n\tborder-top: 0 none;\n}\n.pac-container .pac-item {\n\tpadding: 5px 10px;\n\tcursor: pointer;\n}\n\nhtml[dir=\"rtl\"] .pac-container .pac-item {\n\ttext-align: right;\n}\n\n/*--------------------------------------------------------------------------\n*\n*\tRelationship\n*\n*-------------------------------------------------------------------------*/\n\n.acf-relationship {\n\tbackground: #fff;\n\tborder: $wp-card-border solid 1px;\n\n\t// Filters.\n\t.filters {\n\t\t@include clearfix();\n\t\tborder-bottom: $wp-card-border solid 1px;\n\t\tbackground: #fff;\n\n\t\t.filter {\n\t\t\tmargin: 0;\n\t\t\tpadding: 0;\n\t\t\tfloat: left;\n\t\t\twidth: 100%;\n\t\t\tbox-sizing: border-box;\n\t\t\tpadding: 7px 7px 7px 0;\n\t\t\t&:first-child {\n\t\t\t\tpadding-left: 7px;\n\t\t\t}\n\n\t\t\t// inputs\n\t\t\tinput,\n\t\t\tselect {\n\t\t\t\tmargin: 0;\n\t\t\t\tfloat: none; /* potential fix for media popup? */\n\n\t\t\t\t&:focus,\n\t\t\t\t&:active {\n\t\t\t\t\toutline: none;\n\t\t\t\t\tbox-shadow: none;\n\t\t\t\t}\n\t\t\t}\n\t\t\tinput {\n\t\t\t\tborder-color: transparent;\n\t\t\t\tbox-shadow: none;\n\t\t\t\tpadding-left: 3px;\n\t\t\t\tpadding-right: 3px;\n\t\t\t}\n\t\t}\n\n\t\t/* widths */\n\t\t&.-f2 {\n\t\t\t.filter {\n\t\t\t\twidth: 50%;\n\t\t\t}\n\t\t}\n\t\t&.-f3 {\n\t\t\t.filter {\n\t\t\t\twidth: 25%;\n\t\t\t}\n\t\t\t.filter.-search {\n\t\t\t\twidth: 50%;\n\t\t\t}\n\t\t}\n\t}\n\n\t/* list */\n\t.list {\n\t\tmargin: 0;\n\t\tpadding: 5px;\n\t\theight: 160px;\n\t\toverflow: auto;\n\n\t\t.acf-rel-label,\n\t\t.acf-rel-item,\n\t\tp {\n\t\t\tpadding: 5px;\n\t\t\tmargin: 0;\n\t\t\tdisplay: block;\n\t\t\tposition: relative;\n\t\t\tmin-height: 18px;\n\t\t}\n\n\t\t.acf-rel-label {\n\t\t\tfont-weight: bold;\n\t\t}\n\n\t\t.acf-rel-item {\n\t\t\tcursor: pointer;\n\n\t\t\tb {\n\t\t\t\ttext-decoration: underline;\n\t\t\t\tfont-weight: normal;\n\t\t\t}\n\n\t\t\t.thumbnail {\n\t\t\t\tbackground: darken(#f9f9f9, 10%);\n\t\t\t\twidth: 22px;\n\t\t\t\theight: 22px;\n\t\t\t\tfloat: left;\n\t\t\t\tmargin: -2px 5px 0 0;\n\n\t\t\t\timg {\n\t\t\t\t\tmax-width: 22px;\n\t\t\t\t\tmax-height: 22px;\n\t\t\t\t\tmargin: 0 auto;\n\t\t\t\t\tdisplay: block;\n\t\t\t\t}\n\n\t\t\t\t&.-icon {\n\t\t\t\t\tbackground: #fff;\n\n\t\t\t\t\timg {\n\t\t\t\t\t\tmax-height: 20px;\n\t\t\t\t\t\tmargin-top: 1px;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t/* hover */\n\t\t\t&:hover, &.relationship-hover {\n\t\t\t\tbackground: #3875d7;\n\t\t\t\tcolor: #fff;\n\n\t\t\t\t.thumbnail {\n\t\t\t\t\tbackground: lighten(#3875d7, 25%);\n\n\t\t\t\t\t&.-icon {\n\t\t\t\t\t\tbackground: #fff;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t/* disabled */\n\t\t\t&.disabled {\n\t\t\t\topacity: 0.5;\n\n\t\t\t\t&:hover {\n\t\t\t\t\tbackground: transparent;\n\t\t\t\t\tcolor: #333;\n\t\t\t\t\tcursor: default;\n\n\t\t\t\t\t.thumbnail {\n\t\t\t\t\t\tbackground: darken(#f9f9f9, 10%);\n\n\t\t\t\t\t\t&.-icon {\n\t\t\t\t\t\t\tbackground: #fff;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tul {\n\t\t\tpadding-bottom: 5px;\n\n\t\t\t.acf-rel-label,\n\t\t\t.acf-rel-item,\n\t\t\tp {\n\t\t\t\tpadding-left: 20px;\n\t\t\t}\n\t\t}\n\t}\n\n\t/* selection (bottom) */\n\t.selection {\n\t\t@include clearfix();\n\t\tposition: relative;\n\n\t\t.values,\n\t\t.choices {\n\t\t\twidth: 50%;\n\t\t\tbackground: #fff;\n\t\t\tfloat: left;\n\t\t}\n\n\t\t/* choices */\n\t\t.choices {\n\t\t\tbackground: #f9f9f9;\n\n\t\t\t.list {\n\t\t\t\tborder-right: #dfdfdf solid 1px;\n\t\t\t}\n\t\t}\n\n\t\t/* values */\n\t\t.values {\n\t\t\t.acf-icon {\n\t\t\t\tposition: absolute;\n\t\t\t\ttop: 4px;\n\t\t\t\tright: 7px;\n\t\t\t\tdisplay: none;\n\n\t\t\t\t/* rtl */\n\t\t\t\thtml[dir=\"rtl\"] & {\n\t\t\t\t\tright: auto;\n\t\t\t\t\tleft: 7px;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t.acf-rel-item:hover .acf-icon, .acf-rel-item.relationship-hover .acf-icon {\n\t\t\t\tdisplay: block;\n\t\t\t}\n\n\t\t\t.acf-rel-item {\n\t\t\t\tcursor: move;\n\n\t\t\t\tb {\n\t\t\t\t\ttext-decoration: none;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n\n/* menu item fix */\n.menu-item {\n\t.acf-relationship {\n\t\tul {\n\t\t\twidth: auto;\n\t\t}\n\n\t\tli {\n\t\t\tdisplay: block;\n\t\t}\n\t}\n}\n\n/*--------------------------------------------------------------------------\n*\n*\tWYSIWYG\n*\n*-------------------------------------------------------------------------*/\n\n.acf-editor-wrap {\n\t// Delay.\n\t&.delay {\n\t\t.acf-editor-toolbar {\n\t\t\tcontent: \"\";\n\t\t\tdisplay: block;\n\t\t\tbackground: #f5f5f5;\n\t\t\tborder-bottom: #dddddd solid 1px;\n\t\t\tcolor: #555d66;\n\t\t\tpadding: 10px;\n\t\t}\n\n\t\t.wp-editor-area {\n\t\t\tpadding: 10px;\n\t\t\tborder: none;\n\t\t\tcolor: inherit !important; // Fixes white text bug.\n\t\t}\n\t}\n\n\tiframe {\n\t\tmin-height: 200px;\n\t}\n\n\t.wp-editor-container {\n\t\tborder: 1px solid $wp-card-border;\n\t\tbox-shadow: none !important;\n\t}\n\n\t.wp-editor-tabs {\n\t\tbox-sizing: content-box;\n\t}\n\n\t.wp-switch-editor {\n\t\tborder-color: $wp-card-border;\n\t\tborder-bottom-color: transparent;\n\t}\n}\n\n// Full Screen Mode.\n#mce_fullscreen_container {\n\tz-index: 900000 !important;\n}\n\n/*-----------------------------------------------------------------------------\n*\n*\tTab\n*\n*-----------------------------------------------------------------------------*/\n\n.acf-field-tab {\n\tdisplay: none !important;\n}\n\n// class to hide fields\n.hidden-by-tab {\n\tdisplay: none !important;\n}\n\n// ensure floating fields do not disturb tab wrap\n.acf-tab-wrap {\n\tclear: both;\n\tz-index: 1;\n\toverflow: auto;\n}\n\n// tab group\n.acf-tab-group {\n\tborder-bottom: #ccc solid 1px;\n\tpadding: 10px 10px 0;\n\n\tli {\n\t\tmargin: 0 0.5em 0 0;\n\n\t\ta {\n\t\t\tpadding: 5px 10px;\n\t\t\tdisplay: block;\n\n\t\t\tcolor: #555;\n\t\t\tfont-size: 14px;\n\t\t\tfont-weight: 600;\n\t\t\tline-height: 24px;\n\n\t\t\tborder: #ccc solid 1px;\n\t\t\tborder-bottom: 0 none;\n\t\t\ttext-decoration: none;\n\t\t\tbackground: #e5e5e5;\n\t\t\ttransition: none;\n\n\t\t\t&:hover {\n\t\t\t\tbackground: #fff;\n\t\t\t}\n\n\t\t\t&:focus {\n\t\t\t\toutline: none;\n\t\t\t\tbox-shadow: none;\n\t\t\t}\n\n\t\t\t&:empty {\n\t\t\t\tdisplay: none;\n\t\t\t}\n\t\t}\n\n\t\t// rtl\n\t\thtml[dir=\"rtl\"] & {\n\t\t\tmargin: 0 0 0 0.5em;\n\t\t}\n\n\t\t// active\n\t\t&.active a {\n\t\t\tbackground: #f1f1f1;\n\t\t\tcolor: #000;\n\t\t\tpadding-bottom: 6px;\n\t\t\tmargin-bottom: -1px;\n\t\t\tposition: relative;\n\t\t\tz-index: 1;\n\t\t}\n\t}\n}\n\n// inside acf-fields\n.acf-fields > .acf-tab-wrap {\n\tbackground: #f9f9f9;\n\n\t// group\n\t.acf-tab-group {\n\t\tposition: relative;\n\t\tborder-top: $wp-card-border solid 1px;\n\t\tborder-bottom: $wp-card-border solid 1px;\n\n\t\t// Pull next element (field) up and underneith.\n\t\tz-index: 2;\n\t\tmargin-bottom: -1px;\n\n\t\t// \t\tli a {\n\t\t// \t\t\tbackground: #f1f1f1;\n\t\t// \t\t\tborder-color: $wp-card-border;\n\t\t//\n\t\t// \t\t\t&:hover {\n\t\t// \t\t\t\tbackground: #FFF;\n\t\t// \t\t\t}\n\t\t// \t\t}\n\t\t//\n\t\t// \t\tli.active a {\n\t\t// \t\t\tbackground: #FFFFFF;\n\t\t// \t\t}\n\n\t\t// WP Admin 3.8\n\t\t@include wp-admin(\"3-8\") {\n\t\t\tborder-color: $wp38-card-border-1;\n\t\t}\n\t}\n\n\t// first child\n\t// fixes issue causing double border-top due to WP postbox .handlediv\n\t// &:first-child .acf-tab-group {\n\t// \tborder-top: none;\n\t// }\n}\n\n// inside acf-fields.-left\n.acf-fields.-left > .acf-tab-wrap {\n\t// group\n\t.acf-tab-group {\n\t\tpadding-left: 20%;\n\n\t\t/* mobile */\n\t\t@media screen and (max-width: $sm) {\n\t\t\tpadding-left: 10px;\n\t\t}\n\n\t\t/* rtl */\n\t\thtml[dir=\"rtl\"] & {\n\t\t\tpadding-left: 0;\n\t\t\tpadding-right: 20%;\n\n\t\t\t/* mobile */\n\t\t\t@media screen and (max-width: 850px) {\n\t\t\t\tpadding-right: 10px;\n\t\t\t}\n\t\t}\n\t}\n}\n\n// left\n.acf-tab-wrap.-left {\n\t// group\n\t.acf-tab-group {\n\t\tposition: absolute;\n\t\tleft: 0;\n\t\twidth: 20%;\n\t\tborder: 0 none;\n\t\tpadding: 0 !important; /* important overrides 'left aligned labels' */\n\t\tmargin: 1px 0 0;\n\n\t\t// li\n\t\tli {\n\t\t\tfloat: none;\n\t\t\tmargin: -1px 0 0;\n\n\t\t\ta {\n\t\t\t\tborder: 1px solid #ededed;\n\t\t\t\tfont-size: 13px;\n\t\t\t\tline-height: 18px;\n\t\t\t\tcolor: #0073aa;\n\t\t\t\tpadding: 10px;\n\t\t\t\tmargin: 0;\n\t\t\t\tfont-weight: normal;\n\t\t\t\tborder-width: 1px 0;\n\t\t\t\tborder-radius: 0;\n\t\t\t\tbackground: transparent;\n\n\t\t\t\t&:hover {\n\t\t\t\t\tcolor: #00a0d2;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t&.active a {\n\t\t\t\tborder-color: #dfdfdf;\n\t\t\t\tcolor: #000;\n\t\t\t\tmargin-right: -1px;\n\t\t\t\tbackground: #fff;\n\t\t\t}\n\t\t}\n\n\t\t// rtl\n\t\thtml[dir=\"rtl\"] & {\n\t\t\tleft: auto;\n\t\t\tright: 0;\n\n\t\t\tli.active a {\n\t\t\t\tmargin-right: 0;\n\t\t\t\tmargin-left: -1px;\n\t\t\t}\n\t\t}\n\t}\n\n\t// space before field\n\t.acf-field + &:before {\n\t\tcontent: \"\";\n\t\tdisplay: block;\n\t\tposition: relative;\n\t\tz-index: 1;\n\t\theight: 10px;\n\t\tborder-top: #dfdfdf solid 1px;\n\t\tborder-bottom: #dfdfdf solid 1px;\n\t\tmargin-bottom: -1px;\n\t}\n\n\t// first child has negative margin issues\n\t&:first-child {\n\t\t.acf-tab-group {\n\t\t\tli:first-child a {\n\t\t\t\tborder-top: none;\n\t\t\t}\n\t\t}\n\t}\n}\n\n/* sidebar */\n.acf-fields.-sidebar {\n\tpadding: 0 0 0 20% !important;\n\tposition: relative;\n\n\t/* before */\n\t&:before {\n\t\tcontent: \"\";\n\t\tdisplay: block;\n\t\tposition: absolute;\n\t\ttop: 0;\n\t\tleft: 0;\n\t\twidth: 20%;\n\t\tbottom: 0;\n\t\tborder-right: #dfdfdf solid 1px;\n\t\tbackground: #f9f9f9;\n\t\tz-index: 1;\n\t}\n\n\t/* rtl */\n\thtml[dir=\"rtl\"] & {\n\t\tpadding: 0 20% 0 0 !important;\n\n\t\t&:before {\n\t\t\tborder-left: #dfdfdf solid 1px;\n\t\t\tborder-right-width: 0;\n\t\t\tleft: auto;\n\t\t\tright: 0;\n\t\t}\n\t}\n\n\t// left\n\t&.-left {\n\t\tpadding: 0 0 0 180px !important;\n\n\t\t/* rtl */\n\t\thtml[dir=\"rtl\"] & {\n\t\t\tpadding: 0 180px 0 0 !important;\n\t\t}\n\n\t\t&:before {\n\t\t\tbackground: #f1f1f1;\n\t\t\tborder-color: #dfdfdf;\n\t\t\twidth: 180px;\n\t\t}\n\n\t\t> .acf-tab-wrap.-left .acf-tab-group {\n\t\t\twidth: 180px;\n\n\t\t\tli a {\n\t\t\t\tborder-color: #e4e4e4;\n\t\t\t}\n\n\t\t\tli.active a {\n\t\t\t\tbackground: #f9f9f9;\n\t\t\t}\n\t\t}\n\t}\n\n\t// fix double border\n\t> .acf-field-tab + .acf-field {\n\t\tborder-top: none;\n\t}\n}\n\n// clear\n.acf-fields.-clear > .acf-tab-wrap {\n\tbackground: transparent;\n\n\t// group\n\t.acf-tab-group {\n\t\tmargin-top: 0;\n\t\tborder-top: none;\n\t\tpadding-left: 0;\n\t\tpadding-right: 0;\n\n\t\tli a {\n\t\t\tbackground: #e5e5e5;\n\n\t\t\t&:hover {\n\t\t\t\tbackground: #fff;\n\t\t\t}\n\t\t}\n\n\t\tli.active a {\n\t\t\tbackground: #f1f1f1;\n\t\t}\n\t}\n}\n\n/* seamless */\n.acf-postbox.seamless {\n\t// sidebar\n\t> .acf-fields.-sidebar {\n\t\tmargin-left: 0 !important;\n\n\t\t&:before {\n\t\t\tbackground: transparent;\n\t\t}\n\t}\n\n\t// default\n\t> .acf-fields > .acf-tab-wrap {\n\t\tbackground: transparent;\n\t\tmargin-bottom: 10px;\n\t\tpadding-left: $fx;\n\t\tpadding-right: $fx;\n\n\t\t.acf-tab-group {\n\t\t\tborder-top: 0 none;\n\t\t\tborder-color: $wp-card-border;\n\n\t\t\tli a {\n\t\t\t\tbackground: #e5e5e5;\n\t\t\t\tborder-color: $wp-card-border;\n\n\t\t\t\t&:hover {\n\t\t\t\t\tbackground: #fff;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tli.active a {\n\t\t\t\tbackground: #f1f1f1;\n\t\t\t}\n\t\t}\n\t}\n\n\t// left tabs\n\t> .acf-fields > .acf-tab-wrap.-left {\n\t\t&:before {\n\t\t\tborder-top: none;\n\t\t\theight: auto;\n\t\t}\n\n\t\t.acf-tab-group {\n\t\t\tmargin-bottom: 0;\n\n\t\t\tli a {\n\t\t\t\tborder-width: 1px 0 1px 1px !important;\n\t\t\t\tborder-color: #cccccc;\n\t\t\t\tbackground: #e5e5e5;\n\t\t\t}\n\n\t\t\tli.active a {\n\t\t\t\tbackground: #f1f1f1;\n\t\t\t}\n\t\t}\n\t}\n}\n\n// menu\n.menu-edit,\n.widget {\n\t.acf-fields.-clear > .acf-tab-wrap .acf-tab-group li {\n\t\ta {\n\t\t\tbackground: #f1f1f1;\n\t\t}\n\t\ta:hover,\n\t\t&.active a {\n\t\t\tbackground: #fff;\n\t\t}\n\t}\n}\n\n.compat-item .acf-tab-wrap td {\n\tdisplay: block;\n}\n\n/* within gallery sidebar */\n.acf-gallery-side .acf-tab-wrap {\n\tborder-top: 0 none !important;\n}\n\n.acf-gallery-side .acf-tab-wrap .acf-tab-group {\n\tmargin: 10px 0 !important;\n\tpadding: 0 !important;\n}\n\n.acf-gallery-side .acf-tab-group li.active a {\n\tbackground: #f9f9f9 !important;\n}\n\n/* withing widget */\n.widget .acf-tab-group {\n\tborder-bottom-color: #e8e8e8;\n}\n\n.widget .acf-tab-group li a {\n\tbackground: #f1f1f1;\n}\n\n.widget .acf-tab-group li.active a {\n\tbackground: #fff;\n}\n\n/* media popup (edit image) */\n.media-modal.acf-expanded\n\t.compat-attachment-fields\n\t> tbody\n\t> tr.acf-tab-wrap\n\t.acf-tab-group {\n\tpadding-left: 23%;\n\tborder-bottom-color: #dddddd;\n}\n\n/* table */\n\n.form-table > tbody > tr.acf-tab-wrap .acf-tab-group {\n\tpadding: 0 5px 0 210px;\n}\n\n/* rtl */\nhtml[dir=\"rtl\"] .form-table > tbody > tr.acf-tab-wrap .acf-tab-group {\n\tpadding: 0 210px 0 5px;\n}\n\n/*--------------------------------------------------------------------------------------------\n*\n*\toembed\n*\n*--------------------------------------------------------------------------------------------*/\n\n.acf-oembed {\n\tposition: relative;\n\tborder: $wp-card-border solid 1px;\n\tbackground: #fff;\n\n\t.title {\n\t\tposition: relative;\n\t\tborder-bottom: $wp-card-border solid 1px;\n\t\tpadding: 5px 10px;\n\n\t\t.input-search {\n\t\t\tmargin: 0;\n\t\t\tfont-size: 14px;\n\t\t\tline-height: 30px;\n\t\t\theight: 30px;\n\t\t\tpadding: 0;\n\t\t\tborder: 0 none;\n\t\t\tbox-shadow: none;\n\t\t\tborder-radius: 0;\n\t\t\tfont-family: inherit;\n\t\t\tcursor: text;\n\t\t}\n\n\t\t.acf-actions {\n\t\t\tpadding: 6px;\n\t\t}\n\t}\n\n\t.canvas {\n\t\tposition: relative;\n\t\tmin-height: 250px;\n\t\tbackground: #f9f9f9;\n\n\t\t.canvas-media {\n\t\t\tposition: relative;\n\t\t\tz-index: 1;\n\t\t}\n\n\t\tiframe {\n\t\t\tdisplay: block;\n\t\t\tmargin: 0;\n\t\t\tpadding: 0;\n\t\t\twidth: 100%;\n\t\t}\n\n\t\t.acf-icon.-picture {\n\t\t\t@include centered();\n\t\t\tz-index: 0;\n\n\t\t\theight: 42px;\n\t\t\twidth: 42px;\n\t\t\tfont-size: 42px;\n\t\t\tcolor: #999;\n\t\t}\n\n\t\t.acf-loading-overlay {\n\t\t\tbackground: rgba(255, 255, 255, 0.9);\n\t\t}\n\n\t\t.canvas-error {\n\t\t\tposition: absolute;\n\t\t\ttop: 50%;\n\t\t\tleft: 0%;\n\t\t\tright: 0%;\n\t\t\tmargin: -9px 0 0 0;\n\t\t\ttext-align: center;\n\t\t\tdisplay: none;\n\n\t\t\tp {\n\t\t\t\tpadding: 8px;\n\t\t\t\tmargin: 0;\n\t\t\t\tdisplay: inline;\n\t\t\t}\n\t\t}\n\t}\n\n\t// has value\n\t&.has-value {\n\t\t.canvas {\n\t\t\tmin-height: 50px;\n\t\t}\n\n\t\t.input-search {\n\t\t\tfont-weight: bold;\n\t\t}\n\n\t\t.title:hover .acf-actions {\n\t\t\tdisplay: block;\n\t\t}\n\t}\n}\n\n/*--------------------------------------------------------------------------------------------\n*\n*\tImage\n*\n*--------------------------------------------------------------------------------------------*/\n\n.acf-image-uploader {\n\t@include clearfix();\n\tposition: relative;\n\n\tp {\n\t\tmargin: 0;\n\t}\n\n\t/* image wrap*/\n\t.image-wrap {\n\t\tposition: relative;\n\t\tfloat: left;\n\n\t\timg {\n\t\t\tmax-width: 100%;\n\t\t\tmax-height: 100%;\n\t\t\twidth: auto;\n\t\t\theight: auto;\n\t\t\tdisplay: block;\n\t\t\tmin-width: 30px;\n\t\t\tmin-height: 30px;\n\t\t\tbackground: #f1f1f1;\n\t\t\tmargin: 0;\n\t\t\tpadding: 0;\n\n\t\t\t/* svg */\n\t\t\t&[src$=\".svg\"] {\n\t\t\t\tmin-height: 100px;\n\t\t\t\tmin-width: 100px;\n\t\t\t}\n\t\t}\n\n\t\t/* hover */\n\t\t&:hover .acf-actions {\n\t\t\tdisplay: block;\n\t\t}\n\t}\n\n\t/* input */\n\tinput.button {\n\t\twidth: auto;\n\t}\n\n\t/* rtl */\n\thtml[dir=\"rtl\"] & {\n\t\t.image-wrap {\n\t\t\tfloat: right;\n\t\t}\n\t}\n}\n\n/*--------------------------------------------------------------------------------------------\n*\n*\tFile\n*\n*--------------------------------------------------------------------------------------------*/\n\n.acf-file-uploader {\n\tposition: relative;\n\n\tp {\n\t\tmargin: 0;\n\t}\n\n\t.file-wrap {\n\t\tborder: $wp-card-border solid 1px;\n\t\tmin-height: 84px;\n\t\tposition: relative;\n\t\tbackground: #fff;\n\t}\n\n\t.file-icon {\n\t\tposition: absolute;\n\t\ttop: 0;\n\t\tleft: 0;\n\t\tbottom: 0;\n\t\tpadding: 10px;\n\t\tbackground: #f1f1f1;\n\t\tborder-right: $wp-card-border-1 solid 1px;\n\n\t\timg {\n\t\t\tdisplay: block;\n\t\t\tpadding: 0;\n\t\t\tmargin: 0;\n\t\t\tmax-width: 48px;\n\t\t}\n\t}\n\n\t.file-info {\n\t\tpadding: 10px;\n\t\tmargin-left: 69px;\n\n\t\tp {\n\t\t\tmargin: 0 0 2px;\n\t\t\tfont-size: 13px;\n\t\t\tline-height: 1.4em;\n\t\t\tword-break: break-all;\n\t\t}\n\n\t\ta {\n\t\t\ttext-decoration: none;\n\t\t}\n\t}\n\n\t/* hover */\n\t&:hover .acf-actions {\n\t\tdisplay: block;\n\t}\n\n\t/* rtl */\n\thtml[dir=\"rtl\"] & {\n\t\t.file-icon {\n\t\t\tleft: auto;\n\t\t\tright: 0;\n\t\t\tborder-left: #e5e5e5 solid 1px;\n\t\t\tborder-right: none;\n\t\t}\n\n\t\t.file-info {\n\t\t\tmargin-right: 69px;\n\t\t\tmargin-left: 0;\n\t\t}\n\t}\n}\n\n/*-----------------------------------------------------------------------------\n*\n*\tDate Picker\n*\n*-----------------------------------------------------------------------------*/\n\n.acf-ui-datepicker .ui-datepicker {\n\tz-index: 900000 !important;\n\n\t.ui-widget-header a {\n\t\tcursor: pointer;\n\t\ttransition: none;\n\t}\n}\n\n/* fix highlight state overriding hover / active */\n.acf-ui-datepicker .ui-state-highlight.ui-state-hover {\n\tborder: 1px solid #98b7e8 !important;\n\tbackground: #98b7e8 !important;\n\tfont-weight: normal !important;\n\tcolor: #ffffff !important;\n}\n\n.acf-ui-datepicker .ui-state-highlight.ui-state-active {\n\tborder: 1px solid #3875d7 !important;\n\tbackground: #3875d7 !important;\n\tfont-weight: normal !important;\n\tcolor: #ffffff !important;\n}\n\n/*-----------------------------------------------------------------------------\n*\n*\tSeparator field\n*\n*-----------------------------------------------------------------------------*/\n\n.acf-field-separator {\n\t.acf-label {\n\t\tmargin-bottom: 0;\n\n\t\tlabel {\n\t\t\tfont-weight: normal;\n\t\t}\n\t}\n\n\t.acf-input {\n\t\tdisplay: none;\n\t}\n\n\t/* fields */\n\t.acf-fields > & {\n\t\tbackground: #f9f9f9;\n\t\tborder-bottom: 1px solid #dfdfdf;\n\t\tborder-top: 1px solid #dfdfdf;\n\t\tmargin-bottom: -1px;\n\t\tz-index: 2;\n\t}\n}\n\n/*-----------------------------------------------------------------------------\n*\n*\tTaxonomy\n*\n*-----------------------------------------------------------------------------*/\n\n.acf-taxonomy-field {\n\tposition: relative;\n\n\t.categorychecklist-holder {\n\t\tborder: $wp-card-border solid 1px;\n\t\tborder-radius: 3px;\n\t\tmax-height: 200px;\n\t\toverflow: auto;\n\t}\n\n\t.acf-checkbox-list {\n\t\tmargin: 0;\n\t\tpadding: 10px;\n\n\t\tul.children {\n\t\t\tpadding-left: 18px;\n\t\t}\n\t}\n\n\t/* hover */\n\t&:hover {\n\t\t.acf-actions {\n\t\t\tdisplay: block;\n\t\t}\n\t}\n\n\t/* select */\n\t&[data-ftype=\"select\"] {\n\t\t.acf-actions {\n\t\t\tpadding: 0;\n\t\t\tmargin: -9px;\n\t\t}\n\t}\n}\n\n/*-----------------------------------------------------------------------------\n*\n*\tRange\n*\n*-----------------------------------------------------------------------------*/\n\n.acf-range-wrap {\n\t.acf-append,\n\t.acf-prepend {\n\t\tdisplay: inline-block;\n\t\tvertical-align: middle;\n\t\tline-height: 28px;\n\t\tmargin: 0 7px 0 0;\n\t}\n\n\t.acf-append {\n\t\tmargin: 0 0 0 7px;\n\t}\n\n\tinput[type=\"range\"] {\n\t\tdisplay: inline-block;\n\t\tpadding: 0;\n\t\tmargin: 0;\n\t\tvertical-align: middle;\n\t\theight: 28px;\n\n\t\t&:focus {\n\t\t\toutline: none;\n\t\t}\n\t}\n\n\tinput[type=\"number\"] {\n\t\tdisplay: inline-block;\n\t\tmin-width: 5em;\n\t\tpadding-right: 4px;\n\t\tmargin-left: 10px;\n\t\tvertical-align: middle;\n\t}\n\n\t/* rtl */\n\thtml[dir=\"rtl\"] & {\n\t\tinput[type=\"number\"] {\n\t\t\tmargin-right: 10px;\n\t\t\tmargin-left: 0;\n\t\t}\n\n\t\t.acf-append {\n\t\t\tmargin: 0 7px 0 0;\n\t\t}\n\t\t.acf-prepend {\n\t\t\tmargin: 0 0 0 7px;\n\t\t}\n\t}\n}\n\n/*-----------------------------------------------------------------------------\n*\n* acf-accordion\n*\n*-----------------------------------------------------------------------------*/\n\n.acf-accordion {\n\tmargin: -1px 0;\n\tpadding: 0;\n\tbackground: #fff;\n\tborder-top: 1px solid $wp-card-border-1;\n\tborder-bottom: 1px solid $wp-card-border-1;\n\tz-index: 1; // Display above following field.\n\n\t// Title.\n\t.acf-accordion-title {\n\t\tmargin: 0;\n\t\tpadding: 12px;\n\t\tfont-weight: bold;\n\t\tcursor: pointer;\n\t\tfont-size: inherit;\n\t\tfont-size: 13px;\n\t\tline-height: 1.4em;\n\n\t\t&:hover {\n\t\t\tbackground: #f3f4f5;\n\t\t}\n\n\t\tlabel {\n\t\t\tmargin: 0;\n\t\t\tpadding: 0;\n\t\t\tfont-size: 13px;\n\t\t\tline-height: 1.4em;\n\t\t}\n\n\t\tp {\n\t\t\tfont-weight: normal;\n\t\t}\n\n\t\t.acf-accordion-icon {\n\t\t\tfloat: right;\n\t\t}\n\n\t\t// Gutenberg uses SVG.\n\t\tsvg.acf-accordion-icon {\n\t\t\tposition: absolute;\n\t\t\tright: 10px;\n\t\t\ttop: 50%;\n\t\t\ttransform: translateY(-50%);\n\t\t\tcolor: #191e23;\n\t\t\tfill: currentColor;\n\t\t}\n\t}\n\n\t.acf-accordion-content {\n\t\tmargin: 0;\n\t\tpadding: 0 12px 12px;\n\t\tdisplay: none;\n\t}\n\n\t// Open.\n\t&.-open {\n\t\t> .acf-accordion-content {\n\t\t\tdisplay: block;\n\t\t}\n\t}\n}\n\n// Field specific overrides\n.acf-field.acf-accordion {\n\tmargin: -1px 0;\n\tpadding: 0 !important; // !important needed to avoid Gutenberg sidebar issues.\n\tborder-color: $wp-card-border-1;\n\n\t.acf-label.acf-accordion-title {\n\t\tpadding: 12px;\n\t\twidth: auto;\n\t\tfloat: none;\n\t\twidth: auto;\n\t}\n\n\t.acf-input.acf-accordion-content {\n\t\tpadding: 0;\n\t\tfloat: none;\n\t\twidth: auto;\n\n\t\t> .acf-fields {\n\t\t\tborder-top: $wp-card-border-2 solid 1px;\n\n\t\t\t&.-clear {\n\t\t\t\tpadding: 0 $fx $fy;\n\t\t\t}\n\t\t}\n\t}\n}\n\n/* field specific (left) */\n.acf-fields.-left > .acf-field.acf-accordion {\n\t&:before {\n\t\tdisplay: none;\n\t}\n\n\t.acf-accordion-title {\n\t\twidth: auto;\n\t\tmargin: 0 !important;\n\t\tpadding: 12px;\n\t\tfloat: none !important;\n\t}\n\n\t.acf-accordion-content {\n\t\tpadding: 0 !important;\n\t}\n}\n\n/* field specific (clear) */\n.acf-fields.-clear > .acf-field.acf-accordion {\n\tborder: #cccccc solid 1px;\n\tbackground: transparent;\n\n\t+ .acf-field.acf-accordion {\n\t\tmargin-top: -16px;\n\t}\n}\n\n/* table */\ntr.acf-field.acf-accordion {\n\tbackground: transparent;\n\n\t> .acf-input {\n\t\tpadding: 0 !important;\n\t\tborder: #cccccc solid 1px;\n\t}\n\n\t.acf-accordion-content {\n\t\tpadding: 0 12px 12px;\n\t}\n}\n\n/* #addtag */\n#addtag div.acf-field.error {\n\tborder: 0 none;\n\tpadding: 8px 0;\n}\n\n#addtag > .acf-field.acf-accordion {\n\tpadding-right: 0;\n\tmargin-right: 5%;\n\n\t+ p.submit {\n\t\tmargin-top: 0;\n\t}\n}\n\n/* border */\ntr.acf-accordion {\n\tmargin: 15px 0 !important;\n\n\t+ tr.acf-accordion {\n\t\tmargin-top: -16px !important;\n\t}\n}\n\n/* seamless */\n.acf-postbox.seamless > .acf-fields > .acf-accordion {\n\tmargin-left: $field_padding_x;\n\tmargin-right: $field_padding_x;\n\tborder: $wp-card-border solid 1px;\n}\n\n/* rtl */\nhtml[dir=\"rtl\"] .acf-accordion {\n}\n\n/* menu item */\n/*\n.menu-item-settings > .field-acf > .acf-field.acf-accordion {\n\tborder: #dfdfdf solid 1px;\n\tmargin: 10px -13px 10px -11px;\n\n\t+ .acf-field.acf-accordion {\n\t\tmargin-top: -11px;\n\t}\n}\n*/\n\n/* widget */\n.widget .widget-content > .acf-field.acf-accordion {\n\tborder: #dfdfdf solid 1px;\n\tmargin-bottom: 10px;\n\n\t.acf-accordion-title {\n\t\tmargin-bottom: 0;\n\t}\n\n\t+ .acf-field.acf-accordion {\n\t\tmargin-top: -11px;\n\t}\n}\n\n// media modal\n.media-modal .compat-attachment-fields .acf-field.acf-accordion {\n\t// siblings\n\t+ .acf-field.acf-accordion {\n\t\tmargin-top: -1px;\n\t}\n\n\t// input\n\t> .acf-input {\n\t\twidth: 100%;\n\t}\n\n\t// table\n\t.compat-attachment-fields > tbody > tr > td {\n\t\tpadding-bottom: 5px;\n\t}\n}\n\n/*-----------------------------------------------------------------------------\n*\n*\tBlock Editor\n*\n*-----------------------------------------------------------------------------*/\n.block-editor {\n\t// Sidebar\n\t.edit-post-sidebar {\n\t\t// Remove metabox hndle border to simulate component panel.\n\t\t.acf-postbox {\n\t\t\t> .postbox-header,\n\t\t\t> .hndle {\n\t\t\t\tborder-bottom-width: 0 !important;\n\t\t\t}\n\t\t\t&.closed {\n\t\t\t\t> .postbox-header,\n\t\t\t\t> .hndle {\n\t\t\t\t\tborder-bottom-width: 1px !important;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// Field wrap.\n\t\t.acf-fields {\n\t\t\tmin-height: 1px;\n\t\t\toverflow: auto; // Fixes margin-collapse issue in WP 5.3.\n\n\t\t\t> .acf-field {\n\t\t\t\tborder-width: 0;\n\t\t\t\tborder-color: #e2e4e7;\n\t\t\t\tmargin: 0px;\n\t\t\t\tpadding: 10px 16px;\n\n\t\t\t\t// Force full width.\n\t\t\t\twidth: auto !important;\n\t\t\t\tmin-height: 0 !important;\n\t\t\t\tfloat: none !important;\n\n\t\t\t\t// Field labels.\n\t\t\t\t> .acf-label {\n\t\t\t\t\tmargin-bottom: 5px;\n\t\t\t\t\tlabel {\n\t\t\t\t\t\tfont-weight: normal;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// Accordions.\n\t\t\t\t&.acf-accordion {\n\t\t\t\t\tpadding: 0;\n\t\t\t\t\tmargin: 0;\n\t\t\t\t\tborder-top-width: 1px;\n\n\t\t\t\t\t&:first-child {\n\t\t\t\t\t\tborder-top-width: 0;\n\t\t\t\t\t}\n\n\t\t\t\t\t.acf-accordion-title {\n\t\t\t\t\t\tmargin: 0;\n\t\t\t\t\t\tpadding: 15px;\n\t\t\t\t\t\tlabel {\n\t\t\t\t\t\t\tfont-weight: 500;\n\t\t\t\t\t\t\tcolor: rgb(30, 30, 30);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tsvg.acf-accordion-icon {\n\t\t\t\t\t\t\tright: 16px;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t.acf-accordion-content {\n\t\t\t\t\t\t> .acf-fields {\n\t\t\t\t\t\t\tborder-top-width: 0;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t.block-editor-block-inspector{\n\t\t\t// The Top level notice for all fields.\n\t\t\t.acf-fields > .acf-notice {\n\t\t\t\tdisplay: grid;\n\t\t\t\tgrid-template-columns: 1fr 25px;\n\t\t\t\tpadding: 10px;\n\t\t\t\tmargin: 0;\n\t\t\t}\n\t\t\t.acf-fields > .acf-notice p:last-of-type {\n\t\t\t\tmargin: 0;\n\t\t\t}\n\t\t\t.acf-fields > .acf-notice > .acf-notice-dismiss {\n\t\t\t\tposition: relative;\n\t\t\t\ttop: unset;\n\t\t\t\tright: unset;\n\t\t\t}\n\n\t\t\t// The notice below each field.\n\t\t\t.acf-fields .acf-field .acf-notice {\n\t\t\t\tmargin: 0;\n\t\t\t\tpadding: 0;\n\t\t\t}\n\n\t\t\t.acf-fields .acf-error {\n\t\t\t\tmargin-bottom: 10px;\n\t\t\t}\n\t\t}\n\t}\n}\n\n/*-----------------------------------------------------------------------------\n*\n* Prefix field label & prefix field names\n*\n*-----------------------------------------------------------------------------*/\n.acf-field-setting-prefix_label,\n.acf-field-setting-prefix_name {\n\tp.description {\n\t\torder: 3;\n\t\tmargin: {\n\t\t\ttop: 0;\n\t\t\tleft: 16px;\n\t\t}\n\n\t\tcode {\n\t\t\tpadding: {\n\t\t\t\ttop: 4px;\n\t\t\t\tright: 6px;\n\t\t\t\tbottom: 4px;\n\t\t\t\tleft: 6px;\n\t\t\t}\n\t\t\tbackground-color: $gray-100;\n\t\t\tborder-radius: 4px;\n\t\t\t@extend .p7;\n\t\t\tcolor: $gray-500;\n\t\t}\n\t}\n}\n\n/*-----------------------------------------------------------------------------\n*\n* Editor tab styles\n*\n*-----------------------------------------------------------------------------*/\n\n.acf-fields > .acf-tab-wrap:first-child .acf-tab-group {\n\tborder-top: none;\n}\n\n.acf-fields > .acf-tab-wrap .acf-tab-group li.active a {\n\tbackground: #ffffff;\n}\n\n.acf-fields > .acf-tab-wrap .acf-tab-group li a {\n\tbackground: #f1f1f1;\n\tborder-color: #ccd0d4;\n}\n\n.acf-fields > .acf-tab-wrap .acf-tab-group li a:hover {\n\tbackground: #fff;\n}\n","/*--------------------------------------------------------------------------------------------\n*\n*\tUser\n*\n*--------------------------------------------------------------------------------------------*/\n\n.form-table > tbody {\n\n\t/* field */\n\t> .acf-field {\n\n\t\t/* label */\n\t\t> .acf-label {\n\t\t\tpadding: 20px 10px 20px 0;\n\t\t width: 210px;\n\n\t\t /* rtl */\n\t\t\thtml[dir=\"rtl\"] & {\n\t\t\t\tpadding: 20px 0 20px 10px;\n\t\t\t}\n\n\t\t label {\n\t\t\t\tfont-size: 14px;\n\t\t\t\tcolor: #23282d;\n\t\t\t}\n\n\t\t}\n\n\n\t\t/* input */\n\t\t> .acf-input {\n\t\t\tpadding: 15px 10px;\n\n\t\t\t/* rtl */\n\t\t\thtml[dir=\"rtl\"] & {\n\t\t\t\tpadding: 15px 10px 15px 5%;\n\t\t\t}\n\t\t}\n\n\t}\n\n\n\t/* tab wrap */\n\t> .acf-tab-wrap td {\n\t\tpadding: 15px 5% 15px 0;\n\n\t\t/* rtl */\n\t\thtml[dir=\"rtl\"] & {\n\t\t\tpadding: 15px 0 15px 5%;\n\t\t}\n\n\t}\n\n\n\t/* misc */\n\t.form-table th.acf-th {\n\t\twidth: auto;\n\t}\n\n}\n\n#your-profile,\n#createuser {\n\n\t/* override for user css */\n\t.acf-field input[type=\"text\"],\n\t.acf-field input[type=\"password\"],\n\t.acf-field input[type=\"number\"],\n\t.acf-field input[type=\"search\"],\n\t.acf-field input[type=\"email\"],\n\t.acf-field input[type=\"url\"],\n\t.acf-field select {\n\t max-width: 25em;\n\t}\n\n\t.acf-field textarea {\n\t\tmax-width: 500px;\n\t}\n\n\n\t/* allow sub fields to display correctly */\n\t.acf-field .acf-field input[type=\"text\"],\n\t.acf-field .acf-field input[type=\"password\"],\n\t.acf-field .acf-field input[type=\"number\"],\n\t.acf-field .acf-field input[type=\"search\"],\n\t.acf-field .acf-field input[type=\"email\"],\n\t.acf-field .acf-field input[type=\"url\"],\n\t.acf-field .acf-field textarea,\n\t.acf-field .acf-field select {\n\t max-width: none;\n\t}\n}\n\n#registerform {\n\n\th2 {\n\t\tmargin: 1em 0;\n\t}\n\n\t.acf-field {\n\t\tmargin-top: 0;\n\n\t\t.acf-label {\n\t\t\tmargin-bottom: 0;\n\n\t\t\tlabel {\n\t\t\t\tfont-weight: normal;\n\t\t\t\tline-height: 1.5;\n\t\t\t}\n\t\t}\n\n/*\n\t\t.acf-input {\n\t\t\tinput {\n\t\t\t\tfont-size: 24px;\n\t\t\t\tpadding: 5px;\n\t\t\t\theight: auto;\n\t\t\t}\n\t\t}\n*/\n\t}\n\n\tp.submit {\n\t\ttext-align: right;\n\t}\n\n}\n\n/*--------------------------------------------------------------------------------------------\n*\n*\tTerm\n*\n*--------------------------------------------------------------------------------------------*/\n\n// add term\n#acf-term-fields {\n\tpadding-right: 5%;\n\n\t> .acf-field {\n\n\t\t> .acf-label {\n\t\t\tmargin: 0;\n\n\t\t\tlabel {\n\t\t\t\tfont-size: 12px;\n\t\t\t\tfont-weight: normal;\n\t\t\t}\n\t\t}\n\t}\n\n}\n\np.submit .spinner,\np.submit .acf-spinner {\n\tvertical-align: top;\n\tfloat: none;\n\tmargin: 4px 4px 0;\n}\n\n\n// edit term\n#edittag .acf-fields.-left {\n\n\t> .acf-field {\n\t\tpadding-left: 220px;\n\n\t\t&:before {\n\t\t\twidth: 209px;\n\t\t}\n\n\t\t> .acf-label {\n\t\t\twidth: 220px;\n\t\t\tmargin-left: -220px;\n\t\t\tpadding: 0 10px;\n\t\t}\n\n\t\t> .acf-input {\n\t\t\tpadding: 0;\n\t\t}\n\t}\n}\n\n#edittag > .acf-fields.-left {\n\twidth: 96%;\n\n\t> .acf-field {\n\n\t\t> .acf-label {\n\t\t\tpadding-left: 0;\n\t\t}\n\t}\n}\n\n\n/*--------------------------------------------------------------------------------------------\n*\n*\tComment\n*\n*--------------------------------------------------------------------------------------------*/\n\n.editcomment td:first-child {\n white-space: nowrap;\n width: 131px;\n}\n\n\n/*--------------------------------------------------------------------------------------------\n*\n*\tWidget\n*\n*--------------------------------------------------------------------------------------------*/\n\n#widgets-right .widget .acf-field .description {\n\tpadding-left: 0;\n\tpadding-right: 0;\n}\n\n.acf-widget-fields {\n\n\t> .acf-field {\n\n\t\t.acf-label {\n\t\t\tmargin-bottom: 5px;\n\n\t\t\tlabel {\n\t\t\t\tfont-weight: normal;\n\t\t\t\tmargin: 0;\n\t\t\t}\n\t\t}\n\t}\n}\n\n/*--------------------------------------------------------------------------------------------\n*\n*\tNav Menu\n*\n*--------------------------------------------------------------------------------------------*/\n\n.acf-menu-settings {\n\tborder-top: 1px solid #eee;\n margin-top: 2em;\n\n\t// seamless\n\t&.-seamless {\n\t\tborder-top: none;\n\t\tmargin-top: 15px;\n\n\t\t> h2 { display: none; }\n\t}\n\n\t// Fix relationship conflict.\n\t.list li {\n\t\tdisplay: block;\n\t\tmargin-bottom: 0;\n\t}\n}\n\n.acf-fields.acf-menu-item-fields {\n\tclear: both;\n\tpadding-top: 1px; // Fixes margin overlap.\n\n\t> .acf-field {\n\t\tmargin: 5px 0;\n\t\tpadding-right: 10px;\n\n\t\t.acf-label {\n\t\t\tmargin-bottom: 0;\n\t\t\tlabel {\n\t\t\t\tfont-style: italic;\n\t\t\t\tfont-weight: normal;\n\t\t\t}\n\t\t}\n\t}\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* Attachment Form (single)\n*\n*---------------------------------------------------------------------------------------------*/\n\n#post .compat-attachment-fields {\n\n\t.compat-field-acf-form-data {\n\t\tdisplay: none;\n\t}\n\n\t&,\n\t> tbody,\n\t> tbody > tr,\n\t> tbody > tr > th,\n\t> tbody > tr > td {\n\t\tdisplay: block;\n\t}\n\n\t> tbody > .acf-field {\n\t\tmargin: 15px 0;\n\n\t\t> .acf-label {\n\t\t\tmargin: 0;\n\n\t\t\tlabel {\n\t\t\t\tmargin: 0;\n\t\t\t\tpadding: 0;\n\n\t\t\t\tp {\n\t\t\t\t\tmargin: 0 0 3px !important;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t> .acf-input {\n\t\t\tmargin: 0;\n\t\t}\n\t}\n}\n\n","/*---------------------------------------------------------------------------------------------\n*\n* Media Model\n*\n*---------------------------------------------------------------------------------------------*/\n\n/* WP sets tables to act as divs. ACF uses tables, so these muct be reset */\n.media-modal .compat-attachment-fields td.acf-input {\n\t\n\ttable {\n\t\tdisplay: table;\n\t\ttable-layout: auto;\n\t\t\n\t\ttbody {\n\t\t\tdisplay: table-row-group;\n\t\t}\n\t\t\n\t\ttr {\n\t\t\tdisplay: table-row;\n\t\t}\n\t\t\n\t\ttd, th {\n\t\t\tdisplay: table-cell;\n\t\t}\n\t\t\n\t}\n\t\n}\n\n\n/* field widths floats */\n.media-modal .compat-attachment-fields > tbody > .acf-field {\n\tmargin: 5px 0;\n\t\n\t> .acf-label {\n\t\tmin-width: 30%;\n\t\tmargin: 0;\n\t\tpadding: 0;\n\t\tfloat: left;\n\t text-align: right;\n\t display: block;\n\t float: left;\n\t \n\t > label {\n\t\t padding-top: 6px;\n\t\t\tmargin: 0;\n\t\t\tcolor: #666666;\n\t\t font-weight: 400;\n\t\t line-height: 16px;\n\t }\n\t}\n\t\n\t> .acf-input {\n\t\twidth: 65%;\n\t\tmargin: 0;\n\t\tpadding: 0;\n\t float: right;\n\t display: block;\n\t}\n\t\n\tp.description {\n\t\tmargin: 0;\n\t}\n}\n\n\n/* restricted selection (copy of WP .upload-errors)*/\n.acf-selection-error {\n\tbackground: #ffebe8;\n border: 1px solid #c00;\n border-radius: 3px;\n padding: 8px;\n margin: 20px 0 0;\n \n .selection-error-label {\n\t\tbackground: #CC0000;\n\t border-radius: 3px;\n\t color: #fff;\n\t font-weight: bold;\n\t margin-right: 8px;\n\t padding: 2px 4px;\n\t}\n\t\n\t.selection-error-message {\n\t\tcolor: #b44;\n\t display: block;\n\t padding-top: 8px;\n\t word-wrap: break-word;\n\t white-space: pre-wrap;\n\t}\n}\n\n\n/* disabled attachment */\n.media-modal .attachment.acf-disabled {\n\t\n\t.thumbnail {\n\t\topacity: 0.25 !important;\n\t}\n\t\t\n\t.attachment-preview:before {\n\t\tbackground: rgba(0,0,0,0.15);\n\t\tz-index: 1;\n\t\tposition: relative;\n\t}\n\n}\n\n\n/* misc */\n.media-modal {\n\t\n\t/* compat-item */\n\t.compat-field-acf-form-data,\n\t.compat-field-acf-blank {\n\t\tdisplay: none !important;\n\t}\n\t\n\t\n\t/* allow line breaks in upload error */\n\t.upload-error-message {\n\t\twhite-space: pre-wrap;\n\t}\n\t\n\t\n\t/* fix required span */\n\t.acf-required {\n\t\tpadding: 0 !important;\n\t\tmargin: 0 !important;\n\t\tfloat: none !important;\n\t\tcolor: #f00 !important;\n\t}\n\t\n\t\n\t/* sidebar */\n\t.media-sidebar {\n\t\t\n\t\t.compat-item{\n\t\t\tpadding-bottom: 20px;\n\t\t}\n\t\t\n\t}\n\t\n\t\n\t/* mobile md */\n\t@media (max-width: 900px) {\n\t\t\n\t\t/* label */\n\t\t.setting span, \n\t\t.compat-attachment-fields > tbody > .acf-field > .acf-label {\n\t\t\twidth: 98%;\n\t\t\tfloat: none;\n\t\t\ttext-align: left;\n\t\t\tmin-height: 0;\n\t\t\tpadding: 0;\n\t\t}\n\t\t\n\t\t\n\t\t/* field */\n\t\t.setting input, \n\t\t.setting textarea, \n\t\t.compat-attachment-fields > tbody > .acf-field > .acf-input {\n\t\t\tfloat: none;\n\t\t height: auto;\n\t\t max-width: none;\n\t\t width: 98%;\n\t\t}\n\n\t}\n\n\t\n}\n\n\n\n/*---------------------------------------------------------------------------------------------\n*\n* Media Model (expand details)\n*\n*---------------------------------------------------------------------------------------------*/\n\n.media-modal .acf-expand-details {\n\tfloat: right;\n\tpadding: 8px 10px;\n\tmargin-right: 6px;\n\tfont-size: 13px;\n\theight: 18px;\n\tline-height: 18px;\n\tcolor: #666;\n\ttext-decoration: none;\n\n\t// States.\n\t&:focus, &:active {\n\t\toutline: 0 none;\n\t\tbox-shadow: none;\n\t\tcolor: #666;\n\t}\n\t&:hover {\n\t\tcolor: #000;\n\t}\n\t\n\t// Open & close.\n\t.is-open { display: none; }\n\t.is-closed { display: block; }\n\t\n\t// Hide on mobile.\n\t@media (max-width: $sm) {\n\t\tdisplay: none;\n\t}\n}\n\n\n/* expanded */\n.media-modal.acf-expanded {\n\t\n\t/* toggle */\n\t.acf-expand-details {\n\t\t.is-open { display: block; }\n\t\t.is-closed { display: none; }\n\t\t\n\t}\n\t\n\t// Components.\n\t.attachments-browser .media-toolbar, \n\t.attachments-browser .attachments { right: 740px; }\n\t.media-sidebar { width: 708px; }\n\t\n\t// Sidebar.\n\t.media-sidebar {\n\t\t\n\t\t// Attachment info.\n\t\t.attachment-info {\n\t\t\t.thumbnail {\n\t\t\t\tfloat: left;\n\t\t\t\tmax-height: none;\n\n\t\t\t\timg {\n\t\t\t\t\tmax-width: 100%;\n\t\t\t\t\tmax-height: 200px;\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\t.details {\n\t\t\t\tfloat: right;\n\t\t\t}\n\t\t}\n\t\t\n\t\t// Label\n\t\t.attachment-info .thumbnail,\n\t\t.attachment-details .setting .name, \n\t\t.compat-attachment-fields > tbody > .acf-field > .acf-label {\n\t\t\tmin-width: 20%;\n\t\t\tmargin-right: 0;\n\t\t}\n\t\t\n\t\t// Input\n\t\t.attachment-info .details,\n\t\t.attachment-details .setting input, \n\t\t.attachment-details .setting textarea,\n\t\t.attachment-details .setting + .description,\n\t\t.compat-attachment-fields > tbody > .acf-field > .acf-input {\n\t\t\tmin-width: 77%;\n\t\t}\n\t}\n\t\n\t// Screen: Medium.\n\t@media (max-width: 900px) {\n\t\t\n\t\t// Components.\n\t\t.attachments-browser .media-toolbar { display: none; }\n\t\t.attachments { display: none; }\n\t\t.media-sidebar { width: auto; max-width: none !important; bottom: 0 !important; }\n\t\t\n\t\t// Sidebar.\n\t\t.media-sidebar {\n\t\t\t\n\t\t\t// Attachment info.\n\t\t\t.attachment-info {\n\t\t\t\t.thumbnail {\n\t\t\t\t\tmin-width: 0;\n\t\t\t\t\tmax-width: none;\n\t\t\t\t\twidth: 30%;\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\t.details {\n\t\t\t\t\tmin-width: 0;\n\t\t\t\t\tmax-width: none;\n\t\t\t\t\twidth: 67%;\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\t\n\t\t}\n\t}\n\t\n\t// Screen: small.\n\t@media (max-width: 640px) {\n\t\t\n\t\t// Sidebar.\n\t\t.media-sidebar {\n\t\t\t\n\t\t\t// Attachment info.\n\t\t\t.attachment-info {\n\t\t\t\t.thumbnail, .details {\n\t\t\t\t\twidth: 100%;\n\t\t\t\t}\n\t\t\t}\t\n\t\t}\n\t}\n}\n\n\n\n/*---------------------------------------------------------------------------------------------\n*\n* ACF Media Model\n*\n*---------------------------------------------------------------------------------------------*/\n\n.acf-media-modal {\n\t\n\t/* hide embed settings */\n\t.media-embed {\n\t\t.setting.align,\n\t\t.setting.link-to {\n\t\t\tdisplay: none;\n\t\t}\n\t}\n}\n\n\n/*---------------------------------------------------------------------------------------------\n*\n* ACF Media Model (Select Mode)\n*\n*---------------------------------------------------------------------------------------------*/\n\n.acf-media-modal.-select {\n\t\n\t\n\t\n}\n\n\n/*---------------------------------------------------------------------------------------------\n*\n* ACF Media Model (Edit Mode)\n*\n*---------------------------------------------------------------------------------------------*/\n\n.acf-media-modal.-edit {\n\t\n\t/* resize modal */\n\tleft: 15%;\n\tright: 15%;\n\ttop: 100px;\n\tbottom: 100px;\n\t\n\t\n\t/* hide elements */\n\t.media-frame-menu,\n\t.media-frame-router,\n\t.media-frame-content .attachments,\n\t.media-frame-content .media-toolbar {\n\t display: none;\n\t}\n\t\n\t\n\t/* full width */\n\t.media-frame-title,\n\t.media-frame-content,\n\t.media-frame-toolbar,\n\t.media-sidebar {\n\t\twidth: auto;\n\t\tleft: 0;\n\t\tright: 0;\n\t}\n\t\n\t\n\t/* tidy up incorrect distance */\n\t.media-frame-content {\n\t top: 50px;\n\t}\n\t\n\t\n\t/* title box shadow (to match media grid) */\n\t.media-frame-title {\n\t border-bottom: 1px solid #DFDFDF;\n\t box-shadow: 0 4px 4px -4px rgba(0, 0, 0, 0.1);\n\t}\n\t\n\t\n\t/* sidebar */\n\t.media-sidebar {\n\t\t\n\t\tpadding: 0 16px;\n\t\t\n\t\t/* WP details */\n\t\t.attachment-details {\n\t\t\t\n\t\t\toverflow: visible;\n\t\t\t\n\t\t\t/* hide 'Attachment Details' heading */\n\t\t\t> h3, > h2 {\n\t\t\t\tdisplay: none;\n\t\t\t}\n\t\t\t\n\t\t\t\n\t\t\t/* remove overflow */\n\t\t\t.attachment-info {\n\t\t\t\tbackground: #fff;\n\t\t\t\tborder-bottom: #dddddd solid 1px;\n\t\t\t\tpadding: 16px;\n\t\t\t\tmargin: 0 -16px 16px;\n\t\t\t}\n\t\t\t\n\t\t\t/* move thumbnail */\n\t\t\t.thumbnail {\n\t\t\t\tmargin: 0 16px 0 0;\n\t\t\t}\n\t\t\t\n\t\t\t.setting {\n\t\t\t\tmargin: 0 0 5px;\n\t\t\t\t\n\t\t\t\tspan {\n\t\t\t\t\tmargin: 0;\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t\t\n\t\t/* ACF fields */\n\t\t.compat-attachment-fields {\n\t\t\t\n\t\t\t> tbody > .acf-field {\n\t\t\t\tmargin: 0 0 5px;\n\t\t\t\t\n\t\t\t\tp.description {\n\t\t\t\t\tmargin-top: 3px;\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t\t\n\t\t/* WP required message */\n\t\t.media-types-required-info { display: none; }\n\t\t\n\t}\n\t\n\t\n\t/* mobile md */\n\t@media (max-width: 900px) {\n\t\ttop: 30px;\n\t\tright: 30px;\n\t\tbottom: 30px;\n\t\tleft: 30px;\n\t}\n\t\n\t\n\t/* mobile sm */\n\t@media (max-width: 640px) {\n\t\ttop: 0;\n\t\tright: 0;\n\t\tbottom: 0;\n\t\tleft: 0;\n\t}\n\t\n\t@media (max-width: 480px) {\n\t\t.media-frame-content {\n\t\t top: 40px;\n\t\t}\n\t}\n}\n","// Temp remove.\n.acf-temp-remove {\n\tposition: relative;\n\topacity: 1;\n\t-webkit-transition: all 0.25s ease;\n\t-moz-transition: all 0.25s ease;\n\t-o-transition: all 0.25s ease;\n\ttransition: all 0.25s ease;\n\toverflow: hidden;\n\t\n\t/* overlay prevents hover */\n\t&:after {\n\t\tdisplay: block;\n\t\tcontent: \"\";\n\t\tposition: absolute;\n\t\ttop: 0;\n\t\tleft: 0;\n\t\tright: 0;\n\t\tbottom: 0;\n\t\tz-index: 99;\n\t}\n}\n\n// Conditional Logic.\n.hidden-by-conditional-logic {\n\tdisplay: none !important;\n\t\n\t// Table cells may \"appear empty\".\n\t&.appear-empty {\n\t\tdisplay: table-cell !important;\n\t\t.acf-input {\n\t\t\tdisplay: none !important;\n\t\t}\n\t}\n}\n\n// Compat support for \"Tabify\" plugin.\n.acf-postbox.acf-hidden {\n\tdisplay: none !important;\n}\n\n// Focus Attention.\n.acf-attention {\n\ttransition: border 0.250s ease-out;\n\t&.-focused {\n\t\tborder: #23282d solid 1px !important;\n\t\ttransition: none;\n\t}\n}\ntr.acf-attention {\n\ttransition: box-shadow 0.250s ease-out;\n\tposition: relative;\n\t&.-focused {\n\t\tbox-shadow: #23282d 0 0 0px 1px !important;\n\t}\n}","// Gutenberg specific styles.\n#editor {\n\n\t// Postbox container.\n\t.edit-post-layout__metaboxes {\n\t\tpadding: 0;\n\t\t.edit-post-meta-boxes-area {\n\t\t\tmargin: 0;\n\t\t}\n\t}\n\n\t// Sidebar postbox container.\n\t.metabox-location-side {\n\t\t.postbox-container {\n\t\t\tfloat: none;\n\t\t}\n\t}\n\n\t// Alter postbox to look like panel component.\n\t.postbox {\n\t\tcolor: #444;\n\n\t\t> .postbox-header {\n\t\t\t.hndle {\n\t\t\t\tborder-bottom: none;\n\t\t\t\t&:hover {\n\t\t\t\t\tbackground: transparent;\n\t\t\t\t}\n\t\t\t}\n\t\t\t.handle-actions {\n\t\t\t\t.handle-order-higher,\n\t\t\t\t.handle-order-lower {\n\t\t\t\t\twidth: 1.62rem;\n\t\t\t\t}\n\n\t\t\t\t// Fix \"Edit\" icon height.\n\t\t\t\t.acf-hndle-cog {\n\t\t\t\t\theight: 44px;\n\t\t\t\t\tline-height: 44px;\n\t\t\t\t}\n\t\t\t}\n\t\t\t&:hover {\n\t\t\t\tbackground: #f0f0f0;\n\t\t\t}\n\t\t}\n\n\t\t// Hide bottom border of last postbox.\n\t\t&:last-child.closed > .postbox-header {\n\t\t\tborder-bottom: none;\n\t\t}\n\t\t&:last-child > .inside {\n\t\t\tborder-bottom: none;\n\t\t}\n\t}\n\n\t// Prevent metaboxes being forced offscreen.\n\t.block-editor-writing-flow__click-redirect {\n\t\tmin-height: 50px;\n\t}\n}\n\n// Fix to display \"High\" metabox area when dragging metaboxes.\nbody.is-dragging-metaboxes #acf_after_title-sortables{\n\toutline: 3px dashed #646970;\n\tdisplay: flow-root;\n\tmin-height: 60px;\n\tmargin-bottom: 3px !important\n}\n\n\n\n"],"names":[],"sourceRoot":""} \ No newline at end of file diff --git a/wp-content/plugins/advanced-custom-fields-pro/assets/build/css/acf-input.min.css b/wp-content/plugins/advanced-custom-fields-pro/assets/build/css/acf-input.min.css index 6dba2cfc7..0cf12acea 100644 --- a/wp-content/plugins/advanced-custom-fields-pro/assets/build/css/acf-input.min.css +++ b/wp-content/plugins/advanced-custom-fields-pro/assets/build/css/acf-input.min.css @@ -1 +1 @@ -.acf-admin-page #wpcontent{line-height:140%}.acf-admin-page a{color:#0783be}.acf-h1,.acf-admin-page h1,.acf-headerbar h1{font-size:21px;font-weight:400}.acf-h2,.acf-page-title,.acf-admin-page h2,.acf-headerbar h2{font-size:18px;font-weight:400}.acf-h3,.acf-admin-page h3,.acf-headerbar h3{font-size:16px;font-weight:400}.acf-admin-page .p1{font-size:15px}.acf-admin-page .p2{font-size:14px}.acf-admin-page .p3{font-size:13.5px}.acf-admin-page .p4{font-size:13px}.acf-admin-page .p5{font-size:12.5px}.acf-admin-page .p6,.acf-admin-page .acf-field p.description,.acf-field .acf-admin-page p.description,.acf-admin-page .acf-small{font-size:12px}.acf-admin-page .p7,.acf-admin-page .acf-field-setting-prefix_label p.description code,.acf-field-setting-prefix_label p.description .acf-admin-page code,.acf-admin-page .acf-field-setting-prefix_name p.description code,.acf-field-setting-prefix_name p.description .acf-admin-page code{font-size:11.5px}.acf-admin-page .p8{font-size:11px}.acf-page-title{color:#344054}.acf-admin-page .acf-settings-wrap h1{display:none !important}.acf-admin-page #acf-admin-tools h1:not(.acf-field-group-pro-features-title,.acf-field-group-pro-features-title-sm){display:none !important}.acf-admin-page a:focus{box-shadow:none;outline:none}.acf-admin-page a:focus-visible{box-shadow:0 0 0 1px #4f94d4,0 0 2px 1px rgba(79,148,212,.8);outline:1px solid rgba(0,0,0,0)}.acf-field,.acf-field .acf-label,.acf-field .acf-input{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;position:relative}.acf-field{margin:15px 0;clear:both}.acf-field p.description{display:block;margin:0;padding:0}.acf-field .acf-label{vertical-align:top;margin:0 0 10px}.acf-field .acf-label label{display:block;font-weight:500;margin:0 0 3px;padding:0}.acf-field .acf-label:empty{margin-bottom:0}.acf-field .acf-input{vertical-align:top}.acf-field p.description{display:block;margin-top:6px;color:#667085}.acf-field .acf-notice{margin:0 0 15px;background:#edf2ff;color:#0c6ca0;border-color:#2183b9}.acf-field .acf-notice.-error{background:#ffe6e6;color:#cc2727;border-color:#d12626}.acf-field .acf-notice.-success{background:#eefbe8;color:#0e7b17;border-color:#32a23b}.acf-field .acf-notice.-warning{background:#fff3e6;color:#bd4b0e;border-color:#d16226}td.acf-field,tr.acf-field{margin:0}.acf-field[data-width]{float:left;clear:none}.acf-field[data-width]+.acf-field[data-width]{border-left:1px solid #eee}html[dir=rtl] .acf-field[data-width]{float:right}html[dir=rtl] .acf-field[data-width]+.acf-field[data-width]{border-left:none;border-right:1px solid #eee}td.acf-field[data-width],tr.acf-field[data-width]{float:none}.acf-field.-c0{clear:both;border-left-width:0 !important}html[dir=rtl] .acf-field.-c0{border-left-width:1px !important;border-right-width:0 !important}.acf-field.-r0{border-top-width:0 !important}.acf-fields{position:relative}.acf-fields:after{display:block;clear:both;content:""}.acf-fields.-border{border:#ccd0d4 solid 1px;background:#fff}.acf-fields>.acf-field{position:relative;margin:0;padding:16px;border-top-width:1px;border-top-style:solid;border-top-color:#eaecf0}.acf-fields>.acf-field:first-child{border-top:none;margin-top:0}td.acf-fields{padding:0 !important}.acf-fields.-clear>.acf-field{border:none;padding:0;margin:15px 0}.acf-fields.-clear>.acf-field[data-width]{border:none !important}.acf-fields.-clear>.acf-field>.acf-label{padding:0}.acf-fields.-clear>.acf-field>.acf-input{padding:0}.acf-fields.-left>.acf-field{padding:15px 0}.acf-fields.-left>.acf-field:after{display:block;clear:both;content:""}.acf-fields.-left>.acf-field:before{content:"";display:block;position:absolute;z-index:0;background:#f9f9f9;border-color:#e1e1e1;border-style:solid;border-width:0 1px 0 0;top:0;bottom:0;left:0;width:20%}.acf-fields.-left>.acf-field[data-width]{float:none;width:auto !important;border-left-width:0 !important;border-right-width:0 !important}.acf-fields.-left>.acf-field>.acf-label{float:left;width:20%;margin:0;padding:0 12px}.acf-fields.-left>.acf-field>.acf-input{float:left;width:80%;margin:0;padding:0 12px}html[dir=rtl] .acf-fields.-left>.acf-field:before{border-width:0 0 0 1px;left:auto;right:0}html[dir=rtl] .acf-fields.-left>.acf-field>.acf-label{float:right}html[dir=rtl] .acf-fields.-left>.acf-field>.acf-input{float:right}#side-sortables .acf-fields.-left>.acf-field:before{display:none}#side-sortables .acf-fields.-left>.acf-field>.acf-label{width:100%;margin-bottom:10px}#side-sortables .acf-fields.-left>.acf-field>.acf-input{width:100%}@media screen and (max-width: 640px){.acf-fields.-left>.acf-field:before{display:none}.acf-fields.-left>.acf-field>.acf-label{width:100%;margin-bottom:10px}.acf-fields.-left>.acf-field>.acf-input{width:100%}}.acf-fields.-clear.-left>.acf-field{padding:0;border:none}.acf-fields.-clear.-left>.acf-field:before{display:none}.acf-fields.-clear.-left>.acf-field>.acf-label{padding:0}.acf-fields.-clear.-left>.acf-field>.acf-input{padding:0}.acf-table tr.acf-field>td.acf-label{padding:15px 12px;margin:0;background:#f9f9f9;width:20%}.acf-table tr.acf-field>td.acf-input{padding:15px 12px;margin:0;border-left-color:#e1e1e1}.acf-sortable-tr-helper{position:relative !important;display:table-row !important}.acf-postbox{position:relative}.acf-postbox>.inside{margin:0 !important;padding:0 !important}.acf-postbox .acf-hndle-cog{color:#72777c;font-size:16px;line-height:36px;height:36px;width:1.62rem;position:relative;display:none}.acf-postbox .acf-hndle-cog:hover{color:#191e23}.acf-postbox>.hndle:hover .acf-hndle-cog,.acf-postbox>.postbox-header:hover .acf-hndle-cog{display:inline-block}.acf-postbox>.hndle .acf-hndle-cog{height:20px;line-height:20px;float:right;width:auto}.acf-postbox>.hndle .acf-hndle-cog:hover{color:#777}.acf-postbox .acf-replace-with-fields{padding:15px;text-align:center}#post-body-content #acf_after_title-sortables{margin:20px 0 -20px}.acf-postbox.seamless{border:0 none;background:rgba(0,0,0,0);box-shadow:none}.acf-postbox.seamless>.postbox-header,.acf-postbox.seamless>.hndle,.acf-postbox.seamless>.handlediv{display:none !important}.acf-postbox.seamless>.inside{display:block !important;margin-left:-12px !important;margin-right:-12px !important}.acf-postbox.seamless>.inside>.acf-field{border-color:rgba(0,0,0,0)}.acf-postbox.seamless>.acf-fields.-left>.acf-field:before{display:none}@media screen and (max-width: 782px){.acf-postbox.seamless>.acf-fields.-left>.acf-field>.acf-label,.acf-postbox.seamless>.acf-fields.-left>.acf-field>.acf-input{padding:0}}.acf-field input[type=text],.acf-field input[type=password],.acf-field input[type=date],.acf-field input[type=datetime],.acf-field input[type=datetime-local],.acf-field input[type=email],.acf-field input[type=month],.acf-field input[type=number],.acf-field input[type=search],.acf-field input[type=tel],.acf-field input[type=time],.acf-field input[type=url],.acf-field input[type=week],.acf-field textarea,.acf-field select{width:100%;padding:4px 8px;margin:0;box-sizing:border-box;font-size:14px;line-height:1.4}.acf-admin-3-8 .acf-field input[type=text],.acf-admin-3-8 .acf-field input[type=password],.acf-admin-3-8 .acf-field input[type=date],.acf-admin-3-8 .acf-field input[type=datetime],.acf-admin-3-8 .acf-field input[type=datetime-local],.acf-admin-3-8 .acf-field input[type=email],.acf-admin-3-8 .acf-field input[type=month],.acf-admin-3-8 .acf-field input[type=number],.acf-admin-3-8 .acf-field input[type=search],.acf-admin-3-8 .acf-field input[type=tel],.acf-admin-3-8 .acf-field input[type=time],.acf-admin-3-8 .acf-field input[type=url],.acf-admin-3-8 .acf-field input[type=week],.acf-admin-3-8 .acf-field textarea,.acf-admin-3-8 .acf-field select{padding:3px 5px}.acf-field textarea{resize:vertical}body.acf-browser-firefox .acf-field select{padding:4px 5px}.acf-input-prepend,.acf-input-append,.acf-input-wrap{box-sizing:border-box}.acf-input-prepend,.acf-input-append{font-size:13px;line-height:1.4;padding:4px 8px;background:#f5f5f5;border:#7e8993 solid 1px;min-height:30px}.acf-admin-3-8 .acf-input-prepend,.acf-admin-3-8 .acf-input-append{padding:3px 5px;border-color:#ddd;min-height:28px}.acf-input-prepend{float:left;border-right-width:0;border-radius:3px 0 0 3px}.acf-input-append{float:right;border-left-width:0;border-radius:0 3px 3px 0}.acf-input-wrap{position:relative;overflow:hidden}.acf-input-wrap .acf-is-prepended{border-radius:0 6px 6px 0 !important}.acf-input-wrap .acf-is-appended{border-radius:6px 0 0 6px !important}.acf-input-wrap .acf-is-prepended.acf-is-appended{border-radius:0 !important}html[dir=rtl] .acf-input-prepend{border-left-width:0;border-right-width:1px;border-radius:0 3px 3px 0;float:right}html[dir=rtl] .acf-input-append{border-left-width:1px;border-right-width:0;border-radius:3px 0 0 3px;float:left}html[dir=rtl] input.acf-is-prepended{border-radius:3px 0 0 3px !important}html[dir=rtl] input.acf-is-appended{border-radius:0 3px 3px 0 !important}html[dir=rtl] input.acf-is-prepended.acf-is-appended{border-radius:0 !important}.acf-color-picker .wp-color-result{border-color:#7e8993}.acf-admin-3-8 .acf-color-picker .wp-color-result{border-color:#ccd0d4}.acf-color-picker .wp-picker-active{position:relative;z-index:1}.acf-url i{position:absolute;top:5px;left:5px;opacity:.5;color:#7e8993}.acf-url input[type=url]{padding-left:27px !important}.acf-url.-valid i{opacity:1}.select2-container.-acf{z-index:1001}.select2-container.-acf .select2-choices{background:#fff;border-color:#ddd;box-shadow:0 1px 2px rgba(0,0,0,.07) inset;min-height:31px}.select2-container.-acf .select2-choices .select2-search-choice{margin:5px 0 5px 5px;padding:3px 5px 3px 18px;border-color:#bbb;background:#f9f9f9;box-shadow:0 1px 0 rgba(255,255,255,.25) inset}.select2-container.-acf .select2-choices .select2-search-choice.ui-sortable-helper{background:#5897fb;border-color:#3f87fa;color:#fff !important;box-shadow:0 0 3px rgba(0,0,0,.1)}.select2-container.-acf .select2-choices .select2-search-choice.ui-sortable-helper a{visibility:hidden}.select2-container.-acf .select2-choices .select2-search-choice.ui-sortable-placeholder{background-color:#f7f7f7;border-color:#f7f7f7;visibility:visible !important}.select2-container.-acf .select2-choices .select2-search-choice-focus{border-color:#999}.select2-container.-acf .select2-choices .select2-search-field input{height:31px;line-height:22px;margin:0;padding:5px 5px 5px 7px}.select2-container.-acf .select2-choice{border-color:#bbb}.select2-container.-acf .select2-choice .select2-arrow{background:rgba(0,0,0,0);border-left-color:#dfdfdf;padding-left:1px}.select2-container.-acf .select2-choice .select2-result-description{display:none}.select2-container.-acf.select2-container-active .select2-choices,.select2-container.-acf.select2-dropdown-open .select2-choices{border-color:#5b9dd9;border-radius:3px 3px 0 0}.select2-container.-acf.select2-dropdown-open .select2-choice{background:#fff;border-color:#5b9dd9}html[dir=rtl] .select2-container.-acf .select2-search-choice-close{left:24px}html[dir=rtl] .select2-container.-acf .select2-choice>.select2-chosen{margin-left:42px}html[dir=rtl] .select2-container.-acf .select2-choice .select2-arrow{padding-left:0;padding-right:1px}.select2-drop .select2-search{padding:4px 4px 0}.select2-drop .select2-result .select2-result-description{color:#999;font-size:12px;margin-left:5px}.select2-drop .select2-result.select2-highlighted .select2-result-description{color:#fff;opacity:.75}.select2-container.-acf li{margin-bottom:0}.select2-container.-acf[data-select2-id^=select2-data] .select2-selection--multiple{overflow:hidden}.select2-container.-acf .select2-selection{border-color:#7e8993}.acf-admin-3-8 .select2-container.-acf .select2-selection{border-color:#aaa}.select2-container.-acf .select2-selection--multiple .select2-search--inline:first-child{float:none}.select2-container.-acf .select2-selection--multiple .select2-search--inline:first-child input{width:100% !important}.select2-container.-acf .select2-selection--multiple .select2-selection__rendered{padding-right:0}.select2-container.-acf .select2-selection--multiple .select2-selection__rendered[id^=select2-acf-field]{display:inline;padding:0;margin:0}.select2-container.-acf .select2-selection--multiple .select2-selection__rendered[id^=select2-acf-field] .select2-selection__choice{margin-right:0}.select2-container.-acf .select2-selection--multiple .select2-selection__choice{background-color:#f7f7f7;border-color:#ccc;max-width:100%;overflow:hidden;word-wrap:normal !important;white-space:normal}.select2-container.-acf .select2-selection--multiple .select2-selection__choice.ui-sortable-helper{background:#0783be;border-color:#066998;color:#fff !important;box-shadow:0 0 3px rgba(0,0,0,.1)}.select2-container.-acf .select2-selection--multiple .select2-selection__choice.ui-sortable-helper span{visibility:hidden}.select2-container.-acf .select2-selection--multiple .select2-selection__choice .select2-selection__choice__remove{position:static;border-right:none;padding:0}.select2-container.-acf .select2-selection--multiple .select2-selection__choice.ui-sortable-placeholder{background-color:#f2f4f7;border-color:#f2f4f7;visibility:visible !important}.select2-container.-acf .select2-selection--multiple .select2-search__field{box-shadow:none !important;min-height:0}.acf-row .select2-container.-acf .select2-selection--single{overflow:hidden}.acf-row .select2-container.-acf .select2-selection--single .select2-selection__rendered{white-space:normal}.acf-admin-single-field-group .select2-dropdown{border-color:#6bb5d8 !important;margin-top:-5px;overflow:hidden;box-shadow:0px 1px 2px rgba(16,24,40,.1)}.select2-dropdown.select2-dropdown--above{margin-top:0}.acf-admin-single-field-group .select2-container--default .select2-results__option[aria-selected=true]{background-color:#f9fafb !important;color:#667085}.acf-admin-single-field-group .select2-container--default .select2-results__option[aria-selected=true]:hover{color:#399ccb}.acf-admin-single-field-group .select2-container--default .select2-results__option--highlighted[aria-selected]{color:#fff !important;background-color:#0783be !important}.select2-dropdown .select2-results__option{margin-bottom:0}.select2-container .select2-dropdown{z-index:900000}.select2-container .select2-dropdown .select2-search__field{line-height:1.4;min-height:0}.acf-link .link-wrap{display:none;border:#ccd0d4 solid 1px;border-radius:3px;padding:5px;line-height:26px;background:#fff;word-wrap:break-word;word-break:break-all}.acf-link .link-wrap .link-title{padding:0 5px}.acf-link.-value .button{display:none}.acf-link.-value .acf-icon.-link-ext{display:none}.acf-link.-value .link-wrap{display:inline-block}.acf-link.-external .acf-icon.-link-ext{display:inline-block}#wp-link-backdrop{z-index:900000 !important}#wp-link-wrap{z-index:900001 !important}ul.acf-radio-list,ul.acf-checkbox-list{background:rgba(0,0,0,0);border:1px solid rgba(0,0,0,0);position:relative;padding:1px;margin:0}ul.acf-radio-list:focus-within,ul.acf-checkbox-list:focus-within{border:1px solid #a5d2e7;border-radius:6px}ul.acf-radio-list li,ul.acf-checkbox-list li{font-size:13px;line-height:22px;margin:0;position:relative;word-wrap:break-word}ul.acf-radio-list li label,ul.acf-checkbox-list li label{display:inline}ul.acf-radio-list li input[type=checkbox],ul.acf-radio-list li input[type=radio],ul.acf-checkbox-list li input[type=checkbox],ul.acf-checkbox-list li input[type=radio]{margin:-1px 4px 0 0;vertical-align:middle}ul.acf-radio-list li input[type=text],ul.acf-checkbox-list li input[type=text]{width:auto;vertical-align:middle;margin:2px 0}ul.acf-radio-list li span,ul.acf-checkbox-list li span{float:none}ul.acf-radio-list li i,ul.acf-checkbox-list li i{vertical-align:middle}ul.acf-radio-list.acf-hl li,ul.acf-checkbox-list.acf-hl li{margin-right:20px;clear:none}html[dir=rtl] ul.acf-radio-list input[type=checkbox],html[dir=rtl] ul.acf-radio-list input[type=radio],html[dir=rtl] ul.acf-checkbox-list input[type=checkbox],html[dir=rtl] ul.acf-checkbox-list input[type=radio]{margin-left:4px;margin-right:0}.acf-button-group{display:inline-block}.acf-button-group label{display:inline-block;border:#7e8993 solid 1px;position:relative;z-index:1;padding:5px 10px;background:#fff}.acf-button-group label:hover{color:#016087;background:#f3f5f6;border-color:#0071a1;z-index:2}.acf-button-group label.selected{border-color:#007cba;background:#008dd4;color:#fff;z-index:2}.acf-button-group input{display:none !important}.acf-button-group{padding-left:1px;display:inline-flex;flex-direction:row;flex-wrap:nowrap}.acf-button-group label{margin:0 0 0 -1px;flex:1;text-align:center;white-space:nowrap}.acf-button-group label:first-child{border-radius:3px 0 0 3px}html[dir=rtl] .acf-button-group label:first-child{border-radius:0 3px 3px 0}.acf-button-group label:last-child{border-radius:0 3px 3px 0}html[dir=rtl] .acf-button-group label:last-child{border-radius:3px 0 0 3px}.acf-button-group label:only-child{border-radius:3px}.acf-button-group.-vertical{padding-left:0;padding-top:1px;flex-direction:column}.acf-button-group.-vertical label{margin:-1px 0 0 0}.acf-button-group.-vertical label:first-child{border-radius:3px 3px 0 0}.acf-button-group.-vertical label:last-child{border-radius:0 0 3px 3px}.acf-button-group.-vertical label:only-child{border-radius:3px}.acf-admin-3-8 .acf-button-group label{border-color:#ccd0d4}.acf-admin-3-8 .acf-button-group label:hover{border-color:#0071a1}.acf-admin-3-8 .acf-button-group label.selected{border-color:#007cba}.acf-admin-page .acf-button-group{display:flex;align-items:stretch;align-content:center;height:40px;border-radius:6px;box-shadow:0px 1px 2px rgba(16,24,40,.1)}.acf-admin-page .acf-button-group label{display:inline-flex;align-items:center;align-content:center;border:#d0d5dd solid 1px;padding:6px 16px;color:#475467;font-weight:500}.acf-admin-page .acf-button-group label:hover{color:#0783be}.acf-admin-page .acf-button-group label.selected{background:#f9fafb;color:#0783be}.acf-admin-page .select2-container.-acf .select2-selection--multiple .select2-selection__choice{display:inline-flex;align-items:center;margin-top:8px;margin-left:2px;position:relative;padding-top:4px;padding-right:auto;padding-bottom:4px;padding-left:8px;background-color:#ebf5fa;border-color:#a5d2e7;color:#0783be}.acf-admin-page .select2-container.-acf .select2-selection--multiple .select2-selection__choice .select2-selection__choice__remove{order:2;width:14px;height:14px;margin-right:0;margin-left:4px;color:#6bb5d8;text-indent:100%;white-space:nowrap;overflow:hidden}.acf-admin-page .select2-container.-acf .select2-selection--multiple .select2-selection__choice .select2-selection__choice__remove:hover{color:#0783be}.acf-admin-page .select2-container.-acf .select2-selection--multiple .select2-selection__choice .select2-selection__choice__remove:before{content:"";display:block;width:14px;height:14px;top:0;left:0;background-color:currentColor;border:none;border-radius:0;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;-webkit-mask-image:url("../../images/icons/icon-close.svg");mask-image:url("../../images/icons/icon-close.svg")}.acf-checkbox-list .button{margin:10px 0 0}.acf-switch{display:grid;grid-template-columns:1fr 1fr;width:fit-content;max-width:100%;border-radius:5px;cursor:pointer;position:relative;background:#f5f5f5;height:30px;vertical-align:middle;border:#7e8993 solid 1px;-webkit-transition:background .25s ease;-moz-transition:background .25s ease;-o-transition:background .25s ease;transition:background .25s ease}.acf-switch span{display:inline-block;float:left;text-align:center;font-size:13px;line-height:22px;padding:4px 10px;min-width:15px}.acf-switch span i{vertical-align:middle}.acf-switch .acf-switch-on{color:#fff;text-shadow:#007cba 0 1px 0;overflow:hidden}.acf-switch .acf-switch-off{overflow:hidden}.acf-switch .acf-switch-slider{position:absolute;top:2px;left:2px;bottom:2px;right:50%;z-index:1;background:#fff;border-radius:3px;border:#7e8993 solid 1px;-webkit-transition:all .25s ease;-moz-transition:all .25s ease;-o-transition:all .25s ease;transition:all .25s ease;transition-property:left,right}.acf-switch:hover,.acf-switch.-focus{border-color:#0071a1;background:#f3f5f6;color:#016087}.acf-switch:hover .acf-switch-slider,.acf-switch.-focus .acf-switch-slider{border-color:#0071a1}.acf-switch.-on{background:#0d99d5;border-color:#007cba}.acf-switch.-on .acf-switch-slider{left:50%;right:2px;border-color:#007cba}.acf-switch.-on:hover{border-color:#007cba}.acf-switch+span{margin-left:6px}.acf-admin-3-8 .acf-switch{border-color:#ccd0d4}.acf-admin-3-8 .acf-switch .acf-switch-slider{border-color:#ccd0d4}.acf-admin-3-8 .acf-switch:hover,.acf-admin-3-8 .acf-switch.-focus{border-color:#0071a1}.acf-admin-3-8 .acf-switch:hover .acf-switch-slider,.acf-admin-3-8 .acf-switch.-focus .acf-switch-slider{border-color:#0071a1}.acf-admin-3-8 .acf-switch.-on{border-color:#007cba}.acf-admin-3-8 .acf-switch.-on .acf-switch-slider{border-color:#007cba}.acf-admin-3-8 .acf-switch.-on:hover{border-color:#007cba}.acf-switch-input{opacity:0;position:absolute;margin:0}.acf-admin-single-field-group .acf-true-false{border:1px solid rgba(0,0,0,0)}.acf-admin-single-field-group .acf-true-false:focus-within{border:1px solid #399ccb;border-radius:120px}.compat-item .acf-true-false .message{float:none;padding:0;vertical-align:middle}.acf-google-map{position:relative;border:#ccd0d4 solid 1px;background:#fff}.acf-google-map .title{position:relative;border-bottom:#ccd0d4 solid 1px}.acf-google-map .title .search{margin:0;font-size:14px;line-height:30px;height:40px;padding:5px 10px;border:0 none;box-shadow:none;border-radius:0;font-family:inherit;cursor:text}.acf-google-map .title .acf-loading{position:absolute;top:10px;right:11px;display:none}.acf-google-map .title .acf-icon:active{display:inline-block !important}.acf-google-map .canvas{height:400px}.acf-google-map:hover .title .acf-actions{display:block}.acf-google-map .title .acf-icon.-location{display:inline-block}.acf-google-map .title .acf-icon.-cancel,.acf-google-map .title .acf-icon.-search{display:none}.acf-google-map.-value .title .search{font-weight:bold}.acf-google-map.-value .title .acf-icon.-location{display:none}.acf-google-map.-value .title .acf-icon.-cancel{display:inline-block}.acf-google-map.-searching .title .acf-icon.-location{display:none}.acf-google-map.-searching .title .acf-icon.-cancel,.acf-google-map.-searching .title .acf-icon.-search{display:inline-block}.acf-google-map.-searching .title .acf-actions{display:block}.acf-google-map.-searching .title .search{font-weight:normal !important}.acf-google-map.-loading .title a{display:none !important}.acf-google-map.-loading .title i{display:inline-block}.pac-container{border-width:1px 0;box-shadow:none}.pac-container:after{display:none}.pac-container .pac-item:first-child{border-top:0 none}.pac-container .pac-item{padding:5px 10px;cursor:pointer}html[dir=rtl] .pac-container .pac-item{text-align:right}.acf-relationship{background:#fff;border:#ccd0d4 solid 1px}.acf-relationship .filters{border-bottom:#ccd0d4 solid 1px;background:#fff}.acf-relationship .filters:after{display:block;clear:both;content:""}.acf-relationship .filters .filter{margin:0;padding:0;float:left;width:100%;box-sizing:border-box;padding:7px 7px 7px 0}.acf-relationship .filters .filter:first-child{padding-left:7px}.acf-relationship .filters .filter input,.acf-relationship .filters .filter select{margin:0;float:none}.acf-relationship .filters .filter input:focus,.acf-relationship .filters .filter input:active,.acf-relationship .filters .filter select:focus,.acf-relationship .filters .filter select:active{outline:none;box-shadow:none}.acf-relationship .filters .filter input{border-color:rgba(0,0,0,0);box-shadow:none;padding-left:3px;padding-right:3px}.acf-relationship .filters.-f2 .filter{width:50%}.acf-relationship .filters.-f3 .filter{width:25%}.acf-relationship .filters.-f3 .filter.-search{width:50%}.acf-relationship .list{margin:0;padding:5px;height:160px;overflow:auto}.acf-relationship .list .acf-rel-label,.acf-relationship .list .acf-rel-item,.acf-relationship .list p{padding:5px;margin:0;display:block;position:relative;min-height:18px}.acf-relationship .list .acf-rel-label{font-weight:bold}.acf-relationship .list .acf-rel-item{cursor:pointer}.acf-relationship .list .acf-rel-item b{text-decoration:underline;font-weight:normal}.acf-relationship .list .acf-rel-item .thumbnail{background:#e0e0e0;width:22px;height:22px;float:left;margin:-2px 5px 0 0}.acf-relationship .list .acf-rel-item .thumbnail img{max-width:22px;max-height:22px;margin:0 auto;display:block}.acf-relationship .list .acf-rel-item .thumbnail.-icon{background:#fff}.acf-relationship .list .acf-rel-item .thumbnail.-icon img{max-height:20px;margin-top:1px}.acf-relationship .list .acf-rel-item:hover,.acf-relationship .list .acf-rel-item.relationship-hover{background:#3875d7;color:#fff}.acf-relationship .list .acf-rel-item:hover .thumbnail,.acf-relationship .list .acf-rel-item.relationship-hover .thumbnail{background:#a2bfec}.acf-relationship .list .acf-rel-item:hover .thumbnail.-icon,.acf-relationship .list .acf-rel-item.relationship-hover .thumbnail.-icon{background:#fff}.acf-relationship .list .acf-rel-item.disabled{opacity:.5}.acf-relationship .list .acf-rel-item.disabled:hover{background:rgba(0,0,0,0);color:#333;cursor:default}.acf-relationship .list .acf-rel-item.disabled:hover .thumbnail{background:#e0e0e0}.acf-relationship .list .acf-rel-item.disabled:hover .thumbnail.-icon{background:#fff}.acf-relationship .list ul{padding-bottom:5px}.acf-relationship .list ul .acf-rel-label,.acf-relationship .list ul .acf-rel-item,.acf-relationship .list ul p{padding-left:20px}.acf-relationship .selection{position:relative}.acf-relationship .selection:after{display:block;clear:both;content:""}.acf-relationship .selection .values,.acf-relationship .selection .choices{width:50%;background:#fff;float:left}.acf-relationship .selection .choices{background:#f9f9f9}.acf-relationship .selection .choices .list{border-right:#dfdfdf solid 1px}.acf-relationship .selection .values .acf-icon{position:absolute;top:4px;right:7px;display:none}html[dir=rtl] .acf-relationship .selection .values .acf-icon{right:auto;left:7px}.acf-relationship .selection .values .acf-rel-item:hover .acf-icon,.acf-relationship .selection .values .acf-rel-item.relationship-hover .acf-icon{display:block}.acf-relationship .selection .values .acf-rel-item{cursor:move}.acf-relationship .selection .values .acf-rel-item b{text-decoration:none}.menu-item .acf-relationship ul{width:auto}.menu-item .acf-relationship li{display:block}.acf-editor-wrap.delay .acf-editor-toolbar{content:"";display:block;background:#f5f5f5;border-bottom:#ddd solid 1px;color:#555d66;padding:10px}.acf-editor-wrap.delay .wp-editor-area{padding:10px;border:none;color:inherit !important}.acf-editor-wrap iframe{min-height:200px}.acf-editor-wrap .wp-editor-container{border:1px solid #ccd0d4;box-shadow:none !important}.acf-editor-wrap .wp-editor-tabs{box-sizing:content-box}.acf-editor-wrap .wp-switch-editor{border-color:#ccd0d4;border-bottom-color:rgba(0,0,0,0)}#mce_fullscreen_container{z-index:900000 !important}.acf-field-tab{display:none !important}.hidden-by-tab{display:none !important}.acf-tab-wrap{clear:both;z-index:1;overflow:auto}.acf-tab-group{border-bottom:#ccc solid 1px;padding:10px 10px 0}.acf-tab-group li{margin:0 .5em 0 0}.acf-tab-group li a{padding:5px 10px;display:block;color:#555;font-size:14px;font-weight:600;line-height:24px;border:#ccc solid 1px;border-bottom:0 none;text-decoration:none;background:#e5e5e5;transition:none}.acf-tab-group li a:hover{background:#fff}.acf-tab-group li a:focus{outline:none;box-shadow:none}.acf-tab-group li a:empty{display:none}html[dir=rtl] .acf-tab-group li{margin:0 0 0 .5em}.acf-tab-group li.active a{background:#f1f1f1;color:#000;padding-bottom:6px;margin-bottom:-1px;position:relative;z-index:1}.acf-fields>.acf-tab-wrap{background:#f9f9f9}.acf-fields>.acf-tab-wrap .acf-tab-group{position:relative;border-top:#ccd0d4 solid 1px;border-bottom:#ccd0d4 solid 1px;z-index:2;margin-bottom:-1px}.acf-admin-3-8 .acf-fields>.acf-tab-wrap .acf-tab-group{border-color:#dfdfdf}.acf-fields.-left>.acf-tab-wrap .acf-tab-group{padding-left:20%}@media screen and (max-width: 640px){.acf-fields.-left>.acf-tab-wrap .acf-tab-group{padding-left:10px}}html[dir=rtl] .acf-fields.-left>.acf-tab-wrap .acf-tab-group{padding-left:0;padding-right:20%}@media screen and (max-width: 850px){html[dir=rtl] .acf-fields.-left>.acf-tab-wrap .acf-tab-group{padding-right:10px}}.acf-tab-wrap.-left .acf-tab-group{position:absolute;left:0;width:20%;border:0 none;padding:0 !important;margin:1px 0 0}.acf-tab-wrap.-left .acf-tab-group li{float:none;margin:-1px 0 0}.acf-tab-wrap.-left .acf-tab-group li a{border:1px solid #ededed;font-size:13px;line-height:18px;color:#0073aa;padding:10px;margin:0;font-weight:normal;border-width:1px 0;border-radius:0;background:rgba(0,0,0,0)}.acf-tab-wrap.-left .acf-tab-group li a:hover{color:#00a0d2}.acf-tab-wrap.-left .acf-tab-group li.active a{border-color:#dfdfdf;color:#000;margin-right:-1px;background:#fff}html[dir=rtl] .acf-tab-wrap.-left .acf-tab-group{left:auto;right:0}html[dir=rtl] .acf-tab-wrap.-left .acf-tab-group li.active a{margin-right:0;margin-left:-1px}.acf-field+.acf-tab-wrap.-left:before{content:"";display:block;position:relative;z-index:1;height:10px;border-top:#dfdfdf solid 1px;border-bottom:#dfdfdf solid 1px;margin-bottom:-1px}.acf-tab-wrap.-left:first-child .acf-tab-group li:first-child a{border-top:none}.acf-fields.-sidebar{padding:0 0 0 20% !important;position:relative}.acf-fields.-sidebar:before{content:"";display:block;position:absolute;top:0;left:0;width:20%;bottom:0;border-right:#dfdfdf solid 1px;background:#f9f9f9;z-index:1}html[dir=rtl] .acf-fields.-sidebar{padding:0 20% 0 0 !important}html[dir=rtl] .acf-fields.-sidebar:before{border-left:#dfdfdf solid 1px;border-right-width:0;left:auto;right:0}.acf-fields.-sidebar.-left{padding:0 0 0 180px !important}html[dir=rtl] .acf-fields.-sidebar.-left{padding:0 180px 0 0 !important}.acf-fields.-sidebar.-left:before{background:#f1f1f1;border-color:#dfdfdf;width:180px}.acf-fields.-sidebar.-left>.acf-tab-wrap.-left .acf-tab-group{width:180px}.acf-fields.-sidebar.-left>.acf-tab-wrap.-left .acf-tab-group li a{border-color:#e4e4e4}.acf-fields.-sidebar.-left>.acf-tab-wrap.-left .acf-tab-group li.active a{background:#f9f9f9}.acf-fields.-sidebar>.acf-field-tab+.acf-field{border-top:none}.acf-fields.-clear>.acf-tab-wrap{background:rgba(0,0,0,0)}.acf-fields.-clear>.acf-tab-wrap .acf-tab-group{margin-top:0;border-top:none;padding-left:0;padding-right:0}.acf-fields.-clear>.acf-tab-wrap .acf-tab-group li a{background:#e5e5e5}.acf-fields.-clear>.acf-tab-wrap .acf-tab-group li a:hover{background:#fff}.acf-fields.-clear>.acf-tab-wrap .acf-tab-group li.active a{background:#f1f1f1}.acf-postbox.seamless>.acf-fields.-sidebar{margin-left:0 !important}.acf-postbox.seamless>.acf-fields.-sidebar:before{background:rgba(0,0,0,0)}.acf-postbox.seamless>.acf-fields>.acf-tab-wrap{background:rgba(0,0,0,0);margin-bottom:10px;padding-left:12px;padding-right:12px}.acf-postbox.seamless>.acf-fields>.acf-tab-wrap .acf-tab-group{border-top:0 none;border-color:#ccd0d4}.acf-postbox.seamless>.acf-fields>.acf-tab-wrap .acf-tab-group li a{background:#e5e5e5;border-color:#ccd0d4}.acf-postbox.seamless>.acf-fields>.acf-tab-wrap .acf-tab-group li a:hover{background:#fff}.acf-postbox.seamless>.acf-fields>.acf-tab-wrap .acf-tab-group li.active a{background:#f1f1f1}.acf-postbox.seamless>.acf-fields>.acf-tab-wrap.-left:before{border-top:none;height:auto}.acf-postbox.seamless>.acf-fields>.acf-tab-wrap.-left .acf-tab-group{margin-bottom:0}.acf-postbox.seamless>.acf-fields>.acf-tab-wrap.-left .acf-tab-group li a{border-width:1px 0 1px 1px !important;border-color:#ccc;background:#e5e5e5}.acf-postbox.seamless>.acf-fields>.acf-tab-wrap.-left .acf-tab-group li.active a{background:#f1f1f1}.menu-edit .acf-fields.-clear>.acf-tab-wrap .acf-tab-group li a,.widget .acf-fields.-clear>.acf-tab-wrap .acf-tab-group li a{background:#f1f1f1}.menu-edit .acf-fields.-clear>.acf-tab-wrap .acf-tab-group li a:hover,.menu-edit .acf-fields.-clear>.acf-tab-wrap .acf-tab-group li.active a,.widget .acf-fields.-clear>.acf-tab-wrap .acf-tab-group li a:hover,.widget .acf-fields.-clear>.acf-tab-wrap .acf-tab-group li.active a{background:#fff}.compat-item .acf-tab-wrap td{display:block}.acf-gallery-side .acf-tab-wrap{border-top:0 none !important}.acf-gallery-side .acf-tab-wrap .acf-tab-group{margin:10px 0 !important;padding:0 !important}.acf-gallery-side .acf-tab-group li.active a{background:#f9f9f9 !important}.widget .acf-tab-group{border-bottom-color:#e8e8e8}.widget .acf-tab-group li a{background:#f1f1f1}.widget .acf-tab-group li.active a{background:#fff}.media-modal.acf-expanded .compat-attachment-fields>tbody>tr.acf-tab-wrap .acf-tab-group{padding-left:23%;border-bottom-color:#ddd}.form-table>tbody>tr.acf-tab-wrap .acf-tab-group{padding:0 5px 0 210px}html[dir=rtl] .form-table>tbody>tr.acf-tab-wrap .acf-tab-group{padding:0 210px 0 5px}.acf-oembed{position:relative;border:#ccd0d4 solid 1px;background:#fff}.acf-oembed .title{position:relative;border-bottom:#ccd0d4 solid 1px;padding:5px 10px}.acf-oembed .title .input-search{margin:0;font-size:14px;line-height:30px;height:30px;padding:0;border:0 none;box-shadow:none;border-radius:0;font-family:inherit;cursor:text}.acf-oembed .title .acf-actions{padding:6px}.acf-oembed .canvas{position:relative;min-height:250px;background:#f9f9f9}.acf-oembed .canvas .canvas-media{position:relative;z-index:1}.acf-oembed .canvas iframe{display:block;margin:0;padding:0;width:100%}.acf-oembed .canvas .acf-icon.-picture{position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);z-index:0;height:42px;width:42px;font-size:42px;color:#999}.acf-oembed .canvas .acf-loading-overlay{background:rgba(255,255,255,.9)}.acf-oembed .canvas .canvas-error{position:absolute;top:50%;left:0%;right:0%;margin:-9px 0 0 0;text-align:center;display:none}.acf-oembed .canvas .canvas-error p{padding:8px;margin:0;display:inline}.acf-oembed.has-value .canvas{min-height:50px}.acf-oembed.has-value .input-search{font-weight:bold}.acf-oembed.has-value .title:hover .acf-actions{display:block}.acf-image-uploader{position:relative}.acf-image-uploader:after{display:block;clear:both;content:""}.acf-image-uploader p{margin:0}.acf-image-uploader .image-wrap{position:relative;float:left}.acf-image-uploader .image-wrap img{max-width:100%;max-height:100%;width:auto;height:auto;display:block;min-width:30px;min-height:30px;background:#f1f1f1;margin:0;padding:0}.acf-image-uploader .image-wrap img[src$=".svg"]{min-height:100px;min-width:100px}.acf-image-uploader .image-wrap:hover .acf-actions{display:block}.acf-image-uploader input.button{width:auto}html[dir=rtl] .acf-image-uploader .image-wrap{float:right}.acf-file-uploader{position:relative}.acf-file-uploader p{margin:0}.acf-file-uploader .file-wrap{border:#ccd0d4 solid 1px;min-height:84px;position:relative;background:#fff}.acf-file-uploader .file-icon{position:absolute;top:0;left:0;bottom:0;padding:10px;background:#f1f1f1;border-right:#d5d9dd solid 1px}.acf-file-uploader .file-icon img{display:block;padding:0;margin:0;max-width:48px}.acf-file-uploader .file-info{padding:10px;margin-left:69px}.acf-file-uploader .file-info p{margin:0 0 2px;font-size:13px;line-height:1.4em;word-break:break-all}.acf-file-uploader .file-info a{text-decoration:none}.acf-file-uploader:hover .acf-actions{display:block}html[dir=rtl] .acf-file-uploader .file-icon{left:auto;right:0;border-left:#e5e5e5 solid 1px;border-right:none}html[dir=rtl] .acf-file-uploader .file-info{margin-right:69px;margin-left:0}.acf-ui-datepicker .ui-datepicker{z-index:900000 !important}.acf-ui-datepicker .ui-datepicker .ui-widget-header a{cursor:pointer;transition:none}.acf-ui-datepicker .ui-state-highlight.ui-state-hover{border:1px solid #98b7e8 !important;background:#98b7e8 !important;font-weight:normal !important;color:#fff !important}.acf-ui-datepicker .ui-state-highlight.ui-state-active{border:1px solid #3875d7 !important;background:#3875d7 !important;font-weight:normal !important;color:#fff !important}.acf-field-separator .acf-label{margin-bottom:0}.acf-field-separator .acf-label label{font-weight:normal}.acf-field-separator .acf-input{display:none}.acf-fields>.acf-field-separator{background:#f9f9f9;border-bottom:1px solid #dfdfdf;border-top:1px solid #dfdfdf;margin-bottom:-1px;z-index:2}.acf-taxonomy-field{position:relative}.acf-taxonomy-field .categorychecklist-holder{border:#ccd0d4 solid 1px;border-radius:3px;max-height:200px;overflow:auto}.acf-taxonomy-field .acf-checkbox-list{margin:0;padding:10px}.acf-taxonomy-field .acf-checkbox-list ul.children{padding-left:18px}.acf-taxonomy-field:hover .acf-actions{display:block}.acf-taxonomy-field[data-ftype=select] .acf-actions{padding:0;margin:-9px}.acf-range-wrap .acf-append,.acf-range-wrap .acf-prepend{display:inline-block;vertical-align:middle;line-height:28px;margin:0 7px 0 0}.acf-range-wrap .acf-append{margin:0 0 0 7px}.acf-range-wrap input[type=range]{display:inline-block;padding:0;margin:0;vertical-align:middle;height:28px}.acf-range-wrap input[type=range]:focus{outline:none}.acf-range-wrap input[type=number]{display:inline-block;min-width:5em;padding-right:4px;margin-left:10px;vertical-align:middle}html[dir=rtl] .acf-range-wrap input[type=number]{margin-right:10px;margin-left:0}html[dir=rtl] .acf-range-wrap .acf-append{margin:0 7px 0 0}html[dir=rtl] .acf-range-wrap .acf-prepend{margin:0 0 0 7px}.acf-accordion{margin:-1px 0;padding:0;background:#fff;border-top:1px solid #d5d9dd;border-bottom:1px solid #d5d9dd;z-index:1}.acf-accordion .acf-accordion-title{margin:0;padding:12px;font-weight:bold;cursor:pointer;font-size:inherit;font-size:13px;line-height:1.4em}.acf-accordion .acf-accordion-title:hover{background:#f3f4f5}.acf-accordion .acf-accordion-title label{margin:0;padding:0;font-size:13px;line-height:1.4em}.acf-accordion .acf-accordion-title p{font-weight:normal}.acf-accordion .acf-accordion-title .acf-accordion-icon{float:right}.acf-accordion .acf-accordion-title svg.acf-accordion-icon{position:absolute;right:10px;top:50%;transform:translateY(-50%);color:#191e23;fill:currentColor}.acf-accordion .acf-accordion-content{margin:0;padding:0 12px 12px;display:none}.acf-accordion.-open>.acf-accordion-content{display:block}.acf-field.acf-accordion{margin:-1px 0;padding:0 !important;border-color:#d5d9dd}.acf-field.acf-accordion .acf-label.acf-accordion-title{padding:12px;width:auto;float:none;width:auto}.acf-field.acf-accordion .acf-input.acf-accordion-content{padding:0;float:none;width:auto}.acf-field.acf-accordion .acf-input.acf-accordion-content>.acf-fields{border-top:#eee solid 1px}.acf-field.acf-accordion .acf-input.acf-accordion-content>.acf-fields.-clear{padding:0 12px 15px}.acf-fields.-left>.acf-field.acf-accordion:before{display:none}.acf-fields.-left>.acf-field.acf-accordion .acf-accordion-title{width:auto;margin:0 !important;padding:12px;float:none !important}.acf-fields.-left>.acf-field.acf-accordion .acf-accordion-content{padding:0 !important}.acf-fields.-clear>.acf-field.acf-accordion{border:#ccc solid 1px;background:rgba(0,0,0,0)}.acf-fields.-clear>.acf-field.acf-accordion+.acf-field.acf-accordion{margin-top:-16px}tr.acf-field.acf-accordion{background:rgba(0,0,0,0)}tr.acf-field.acf-accordion>.acf-input{padding:0 !important;border:#ccc solid 1px}tr.acf-field.acf-accordion .acf-accordion-content{padding:0 12px 12px}#addtag div.acf-field.error{border:0 none;padding:8px 0}#addtag>.acf-field.acf-accordion{padding-right:0;margin-right:5%}#addtag>.acf-field.acf-accordion+p.submit{margin-top:0}tr.acf-accordion{margin:15px 0 !important}tr.acf-accordion+tr.acf-accordion{margin-top:-16px !important}.acf-postbox.seamless>.acf-fields>.acf-accordion{margin-left:12px;margin-right:12px;border:#ccd0d4 solid 1px}.widget .widget-content>.acf-field.acf-accordion{border:#dfdfdf solid 1px;margin-bottom:10px}.widget .widget-content>.acf-field.acf-accordion .acf-accordion-title{margin-bottom:0}.widget .widget-content>.acf-field.acf-accordion+.acf-field.acf-accordion{margin-top:-11px}.media-modal .compat-attachment-fields .acf-field.acf-accordion+.acf-field.acf-accordion{margin-top:-1px}.media-modal .compat-attachment-fields .acf-field.acf-accordion>.acf-input{width:100%}.media-modal .compat-attachment-fields .acf-field.acf-accordion .compat-attachment-fields>tbody>tr>td{padding-bottom:5px}.block-editor .edit-post-sidebar .acf-postbox>.postbox-header,.block-editor .edit-post-sidebar .acf-postbox>.hndle{border-bottom-width:0 !important}.block-editor .edit-post-sidebar .acf-postbox.closed>.postbox-header,.block-editor .edit-post-sidebar .acf-postbox.closed>.hndle{border-bottom-width:1px !important}.block-editor .edit-post-sidebar .acf-fields{min-height:1px;overflow:auto}.block-editor .edit-post-sidebar .acf-fields>.acf-field{border-width:0;border-color:#e2e4e7;margin:0px;padding:10px 16px;width:auto !important;min-height:0 !important;float:none !important}.block-editor .edit-post-sidebar .acf-fields>.acf-field>.acf-label{margin-bottom:5px}.block-editor .edit-post-sidebar .acf-fields>.acf-field>.acf-label label{font-weight:normal}.block-editor .edit-post-sidebar .acf-fields>.acf-field.acf-accordion{padding:0;margin:0;border-top-width:1px}.block-editor .edit-post-sidebar .acf-fields>.acf-field.acf-accordion:first-child{border-top-width:0}.block-editor .edit-post-sidebar .acf-fields>.acf-field.acf-accordion .acf-accordion-title{margin:0;padding:15px}.block-editor .edit-post-sidebar .acf-fields>.acf-field.acf-accordion .acf-accordion-title label{font-weight:500;color:#1e1e1e}.block-editor .edit-post-sidebar .acf-fields>.acf-field.acf-accordion .acf-accordion-title svg.acf-accordion-icon{right:16px}.block-editor .edit-post-sidebar .acf-fields>.acf-field.acf-accordion .acf-accordion-content>.acf-fields{border-top-width:0}.block-editor .edit-post-sidebar .block-editor-block-inspector .acf-fields>.acf-notice{display:grid;grid-template-columns:1fr 25px;padding:10px;margin:0}.block-editor .edit-post-sidebar .block-editor-block-inspector .acf-fields>.acf-notice p:last-of-type{margin:0}.block-editor .edit-post-sidebar .block-editor-block-inspector .acf-fields>.acf-notice>.acf-notice-dismiss{position:relative;top:unset;right:unset}.block-editor .edit-post-sidebar .block-editor-block-inspector .acf-fields .acf-field .acf-notice{margin:0;padding:0}.block-editor .edit-post-sidebar .block-editor-block-inspector .acf-fields .acf-error{margin-bottom:10px}.acf-field-setting-prefix_label p.description,.acf-field-setting-prefix_name p.description{order:3;margin-top:0;margin-left:16px}.acf-field-setting-prefix_label p.description code,.acf-field-setting-prefix_name p.description code{padding-top:4px;padding-right:6px;padding-bottom:4px;padding-left:6px;background-color:#f2f4f7;border-radius:4px;color:#667085}.acf-fields>.acf-tab-wrap:first-child .acf-tab-group{border-top:none}.acf-fields>.acf-tab-wrap .acf-tab-group li.active a{background:#fff}.acf-fields>.acf-tab-wrap .acf-tab-group li a{background:#f1f1f1;border-color:#ccd0d4}.acf-fields>.acf-tab-wrap .acf-tab-group li a:hover{background:#fff}.form-table>tbody>.acf-field>.acf-label{padding:20px 10px 20px 0;width:210px}html[dir=rtl] .form-table>tbody>.acf-field>.acf-label{padding:20px 0 20px 10px}.form-table>tbody>.acf-field>.acf-label label{font-size:14px;color:#23282d}.form-table>tbody>.acf-field>.acf-input{padding:15px 10px}html[dir=rtl] .form-table>tbody>.acf-field>.acf-input{padding:15px 10px 15px 5%}.form-table>tbody>.acf-tab-wrap td{padding:15px 5% 15px 0}html[dir=rtl] .form-table>tbody>.acf-tab-wrap td{padding:15px 0 15px 5%}.form-table>tbody .form-table th.acf-th{width:auto}#your-profile .acf-field input[type=text],#your-profile .acf-field input[type=password],#your-profile .acf-field input[type=number],#your-profile .acf-field input[type=search],#your-profile .acf-field input[type=email],#your-profile .acf-field input[type=url],#your-profile .acf-field select,#createuser .acf-field input[type=text],#createuser .acf-field input[type=password],#createuser .acf-field input[type=number],#createuser .acf-field input[type=search],#createuser .acf-field input[type=email],#createuser .acf-field input[type=url],#createuser .acf-field select{max-width:25em}#your-profile .acf-field textarea,#createuser .acf-field textarea{max-width:500px}#your-profile .acf-field .acf-field input[type=text],#your-profile .acf-field .acf-field input[type=password],#your-profile .acf-field .acf-field input[type=number],#your-profile .acf-field .acf-field input[type=search],#your-profile .acf-field .acf-field input[type=email],#your-profile .acf-field .acf-field input[type=url],#your-profile .acf-field .acf-field textarea,#your-profile .acf-field .acf-field select,#createuser .acf-field .acf-field input[type=text],#createuser .acf-field .acf-field input[type=password],#createuser .acf-field .acf-field input[type=number],#createuser .acf-field .acf-field input[type=search],#createuser .acf-field .acf-field input[type=email],#createuser .acf-field .acf-field input[type=url],#createuser .acf-field .acf-field textarea,#createuser .acf-field .acf-field select{max-width:none}#registerform h2{margin:1em 0}#registerform .acf-field{margin-top:0}#registerform .acf-field .acf-label{margin-bottom:0}#registerform .acf-field .acf-label label{font-weight:normal;line-height:1.5}#registerform p.submit{text-align:right}#acf-term-fields{padding-right:5%}#acf-term-fields>.acf-field>.acf-label{margin:0}#acf-term-fields>.acf-field>.acf-label label{font-size:12px;font-weight:normal}p.submit .spinner,p.submit .acf-spinner{vertical-align:top;float:none;margin:4px 4px 0}#edittag .acf-fields.-left>.acf-field{padding-left:220px}#edittag .acf-fields.-left>.acf-field:before{width:209px}#edittag .acf-fields.-left>.acf-field>.acf-label{width:220px;margin-left:-220px;padding:0 10px}#edittag .acf-fields.-left>.acf-field>.acf-input{padding:0}#edittag>.acf-fields.-left{width:96%}#edittag>.acf-fields.-left>.acf-field>.acf-label{padding-left:0}.editcomment td:first-child{white-space:nowrap;width:131px}#widgets-right .widget .acf-field .description{padding-left:0;padding-right:0}.acf-widget-fields>.acf-field .acf-label{margin-bottom:5px}.acf-widget-fields>.acf-field .acf-label label{font-weight:normal;margin:0}.acf-menu-settings{border-top:1px solid #eee;margin-top:2em}.acf-menu-settings.-seamless{border-top:none;margin-top:15px}.acf-menu-settings.-seamless>h2{display:none}.acf-menu-settings .list li{display:block;margin-bottom:0}.acf-fields.acf-menu-item-fields{clear:both;padding-top:1px}.acf-fields.acf-menu-item-fields>.acf-field{margin:5px 0;padding-right:10px}.acf-fields.acf-menu-item-fields>.acf-field .acf-label{margin-bottom:0}.acf-fields.acf-menu-item-fields>.acf-field .acf-label label{font-style:italic;font-weight:normal}#post .compat-attachment-fields .compat-field-acf-form-data{display:none}#post .compat-attachment-fields,#post .compat-attachment-fields>tbody,#post .compat-attachment-fields>tbody>tr,#post .compat-attachment-fields>tbody>tr>th,#post .compat-attachment-fields>tbody>tr>td{display:block}#post .compat-attachment-fields>tbody>.acf-field{margin:15px 0}#post .compat-attachment-fields>tbody>.acf-field>.acf-label{margin:0}#post .compat-attachment-fields>tbody>.acf-field>.acf-label label{margin:0;padding:0}#post .compat-attachment-fields>tbody>.acf-field>.acf-label label p{margin:0 0 3px !important}#post .compat-attachment-fields>tbody>.acf-field>.acf-input{margin:0}.media-modal .compat-attachment-fields td.acf-input table{display:table;table-layout:auto}.media-modal .compat-attachment-fields td.acf-input table tbody{display:table-row-group}.media-modal .compat-attachment-fields td.acf-input table tr{display:table-row}.media-modal .compat-attachment-fields td.acf-input table td,.media-modal .compat-attachment-fields td.acf-input table th{display:table-cell}.media-modal .compat-attachment-fields>tbody>.acf-field{margin:5px 0}.media-modal .compat-attachment-fields>tbody>.acf-field>.acf-label{min-width:30%;margin:0;padding:0;float:left;text-align:right;display:block;float:left}.media-modal .compat-attachment-fields>tbody>.acf-field>.acf-label>label{padding-top:6px;margin:0;color:#666;font-weight:400;line-height:16px}.media-modal .compat-attachment-fields>tbody>.acf-field>.acf-input{width:65%;margin:0;padding:0;float:right;display:block}.media-modal .compat-attachment-fields>tbody>.acf-field p.description{margin:0}.acf-selection-error{background:#ffebe8;border:1px solid #c00;border-radius:3px;padding:8px;margin:20px 0 0}.acf-selection-error .selection-error-label{background:#c00;border-radius:3px;color:#fff;font-weight:bold;margin-right:8px;padding:2px 4px}.acf-selection-error .selection-error-message{color:#b44;display:block;padding-top:8px;word-wrap:break-word;white-space:pre-wrap}.media-modal .attachment.acf-disabled .thumbnail{opacity:.25 !important}.media-modal .attachment.acf-disabled .attachment-preview:before{background:rgba(0,0,0,.15);z-index:1;position:relative}.media-modal .compat-field-acf-form-data,.media-modal .compat-field-acf-blank{display:none !important}.media-modal .upload-error-message{white-space:pre-wrap}.media-modal .acf-required{padding:0 !important;margin:0 !important;float:none !important;color:red !important}.media-modal .media-sidebar .compat-item{padding-bottom:20px}@media(max-width: 900px){.media-modal .setting span,.media-modal .compat-attachment-fields>tbody>.acf-field>.acf-label{width:98%;float:none;text-align:left;min-height:0;padding:0}.media-modal .setting input,.media-modal .setting textarea,.media-modal .compat-attachment-fields>tbody>.acf-field>.acf-input{float:none;height:auto;max-width:none;width:98%}}.media-modal .acf-expand-details{float:right;padding:8px 10px;margin-right:6px;font-size:13px;height:18px;line-height:18px;color:#666;text-decoration:none}.media-modal .acf-expand-details:focus,.media-modal .acf-expand-details:active{outline:0 none;box-shadow:none;color:#666}.media-modal .acf-expand-details:hover{color:#000}.media-modal .acf-expand-details .is-open{display:none}.media-modal .acf-expand-details .is-closed{display:block}@media(max-width: 640px){.media-modal .acf-expand-details{display:none}}.media-modal.acf-expanded .acf-expand-details .is-open{display:block}.media-modal.acf-expanded .acf-expand-details .is-closed{display:none}.media-modal.acf-expanded .attachments-browser .media-toolbar,.media-modal.acf-expanded .attachments-browser .attachments{right:740px}.media-modal.acf-expanded .media-sidebar{width:708px}.media-modal.acf-expanded .media-sidebar .attachment-info .thumbnail{float:left;max-height:none}.media-modal.acf-expanded .media-sidebar .attachment-info .thumbnail img{max-width:100%;max-height:200px}.media-modal.acf-expanded .media-sidebar .attachment-info .details{float:right}.media-modal.acf-expanded .media-sidebar .attachment-info .thumbnail,.media-modal.acf-expanded .media-sidebar .attachment-details .setting .name,.media-modal.acf-expanded .media-sidebar .compat-attachment-fields>tbody>.acf-field>.acf-label{min-width:20%;margin-right:0}.media-modal.acf-expanded .media-sidebar .attachment-info .details,.media-modal.acf-expanded .media-sidebar .attachment-details .setting input,.media-modal.acf-expanded .media-sidebar .attachment-details .setting textarea,.media-modal.acf-expanded .media-sidebar .attachment-details .setting+.description,.media-modal.acf-expanded .media-sidebar .compat-attachment-fields>tbody>.acf-field>.acf-input{min-width:77%}@media(max-width: 900px){.media-modal.acf-expanded .attachments-browser .media-toolbar{display:none}.media-modal.acf-expanded .attachments{display:none}.media-modal.acf-expanded .media-sidebar{width:auto;max-width:none !important;bottom:0 !important}.media-modal.acf-expanded .media-sidebar .attachment-info .thumbnail{min-width:0;max-width:none;width:30%}.media-modal.acf-expanded .media-sidebar .attachment-info .details{min-width:0;max-width:none;width:67%}}@media(max-width: 640px){.media-modal.acf-expanded .media-sidebar .attachment-info .thumbnail,.media-modal.acf-expanded .media-sidebar .attachment-info .details{width:100%}}.acf-media-modal .media-embed .setting.align,.acf-media-modal .media-embed .setting.link-to{display:none}.acf-media-modal.-edit{left:15%;right:15%;top:100px;bottom:100px}.acf-media-modal.-edit .media-frame-menu,.acf-media-modal.-edit .media-frame-router,.acf-media-modal.-edit .media-frame-content .attachments,.acf-media-modal.-edit .media-frame-content .media-toolbar{display:none}.acf-media-modal.-edit .media-frame-title,.acf-media-modal.-edit .media-frame-content,.acf-media-modal.-edit .media-frame-toolbar,.acf-media-modal.-edit .media-sidebar{width:auto;left:0;right:0}.acf-media-modal.-edit .media-frame-content{top:50px}.acf-media-modal.-edit .media-frame-title{border-bottom:1px solid #dfdfdf;box-shadow:0 4px 4px -4px rgba(0,0,0,.1)}.acf-media-modal.-edit .media-sidebar{padding:0 16px}.acf-media-modal.-edit .media-sidebar .attachment-details{overflow:visible}.acf-media-modal.-edit .media-sidebar .attachment-details>h3,.acf-media-modal.-edit .media-sidebar .attachment-details>h2{display:none}.acf-media-modal.-edit .media-sidebar .attachment-details .attachment-info{background:#fff;border-bottom:#ddd solid 1px;padding:16px;margin:0 -16px 16px}.acf-media-modal.-edit .media-sidebar .attachment-details .thumbnail{margin:0 16px 0 0}.acf-media-modal.-edit .media-sidebar .attachment-details .setting{margin:0 0 5px}.acf-media-modal.-edit .media-sidebar .attachment-details .setting span{margin:0}.acf-media-modal.-edit .media-sidebar .compat-attachment-fields>tbody>.acf-field{margin:0 0 5px}.acf-media-modal.-edit .media-sidebar .compat-attachment-fields>tbody>.acf-field p.description{margin-top:3px}.acf-media-modal.-edit .media-sidebar .media-types-required-info{display:none}@media(max-width: 900px){.acf-media-modal.-edit{top:30px;right:30px;bottom:30px;left:30px}}@media(max-width: 640px){.acf-media-modal.-edit{top:0;right:0;bottom:0;left:0}}@media(max-width: 480px){.acf-media-modal.-edit .media-frame-content{top:40px}}.acf-temp-remove{position:relative;opacity:1;-webkit-transition:all .25s ease;-moz-transition:all .25s ease;-o-transition:all .25s ease;transition:all .25s ease;overflow:hidden}.acf-temp-remove:after{display:block;content:"";position:absolute;top:0;left:0;right:0;bottom:0;z-index:99}.hidden-by-conditional-logic{display:none !important}.hidden-by-conditional-logic.appear-empty{display:table-cell !important}.hidden-by-conditional-logic.appear-empty .acf-input{display:none !important}.acf-postbox.acf-hidden{display:none !important}.acf-attention{transition:border .25s ease-out}.acf-attention.-focused{border:#23282d solid 1px !important;transition:none}tr.acf-attention{transition:box-shadow .25s ease-out;position:relative}tr.acf-attention.-focused{box-shadow:#23282d 0 0 0px 1px !important}#editor .edit-post-layout__metaboxes{padding:0}#editor .edit-post-layout__metaboxes .edit-post-meta-boxes-area{margin:0}#editor .metabox-location-side .postbox-container{float:none}#editor .postbox{color:#444}#editor .postbox>.postbox-header .hndle{border-bottom:none}#editor .postbox>.postbox-header .hndle:hover{background:rgba(0,0,0,0)}#editor .postbox>.postbox-header .handle-actions .handle-order-higher,#editor .postbox>.postbox-header .handle-actions .handle-order-lower{width:1.62rem}#editor .postbox>.postbox-header .handle-actions .acf-hndle-cog{height:44px;line-height:44px}#editor .postbox>.postbox-header:hover{background:#f0f0f0}#editor .postbox:last-child.closed>.postbox-header{border-bottom:none}#editor .postbox:last-child>.inside{border-bottom:none}#editor .block-editor-writing-flow__click-redirect{min-height:50px}body.is-dragging-metaboxes #acf_after_title-sortables{outline:3px dashed #646970;display:flow-root;min-height:60px;margin-bottom:3px !important} +.acf-admin-page #wpcontent{line-height:140%}.acf-admin-page a{color:#0783be}.acf-h1,.acf-admin-page h1,.acf-headerbar h1{font-size:21px;font-weight:400}.acf-h2,.acf-page-title,.acf-admin-page h2,.acf-headerbar h2{font-size:18px;font-weight:400}.acf-h3,.acf-admin-page h3,.acf-headerbar h3{font-size:16px;font-weight:400}.acf-admin-page .p1{font-size:15px}.acf-admin-page .p2{font-size:14px}.acf-admin-page .p3{font-size:13.5px}.acf-admin-page .p4{font-size:13px}.acf-admin-page .p5{font-size:12.5px}.acf-admin-page .p6,.acf-admin-page .acf-field p.description,.acf-field .acf-admin-page p.description,.acf-admin-page .acf-small{font-size:12px}.acf-admin-page .p7,.acf-admin-page .acf-field-setting-prefix_label p.description code,.acf-field-setting-prefix_label p.description .acf-admin-page code,.acf-admin-page .acf-field-setting-prefix_name p.description code,.acf-field-setting-prefix_name p.description .acf-admin-page code{font-size:11.5px}.acf-admin-page .p8{font-size:11px}.acf-page-title{color:#344054}.acf-admin-page .acf-settings-wrap h1{display:none !important}.acf-admin-page #acf-admin-tools h1:not(.acf-field-group-pro-features-title,.acf-field-group-pro-features-title-sm){display:none !important}.acf-admin-page a:focus{box-shadow:none;outline:none}.acf-admin-page a:focus-visible{box-shadow:0 0 0 1px #4f94d4,0 0 2px 1px rgba(79,148,212,.8);outline:1px solid rgba(0,0,0,0)}.acf-field,.acf-field .acf-label,.acf-field .acf-input{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;position:relative}.acf-field{margin:15px 0;clear:both}.acf-field p.description{display:block;margin:0;padding:0}.acf-field .acf-label{vertical-align:top;margin:0 0 10px}.acf-field .acf-label label{display:block;font-weight:500;margin:0 0 3px;padding:0}.acf-field .acf-label:empty{margin-bottom:0}.acf-field .acf-input{vertical-align:top}.acf-field p.description{display:block;margin-top:6px;color:#667085}.acf-field .acf-notice{margin:0 0 15px;background:#edf2ff;color:#0c6ca0;border-color:#2183b9}.acf-field .acf-notice.-error{background:#ffe6e6;color:#cc2727;border-color:#d12626}.acf-field .acf-notice.-success{background:#eefbe8;color:#0e7b17;border-color:#32a23b}.acf-field .acf-notice.-warning{background:#fff3e6;color:#bd4b0e;border-color:#d16226}td.acf-field,tr.acf-field{margin:0}.acf-field[data-width]{float:left;clear:none}.acf-field[data-width]+.acf-field[data-width]{border-left:1px solid #eee}html[dir=rtl] .acf-field[data-width]{float:right}html[dir=rtl] .acf-field[data-width]+.acf-field[data-width]{border-left:none;border-right:1px solid #eee}td.acf-field[data-width],tr.acf-field[data-width]{float:none}.acf-field.-c0{clear:both;border-left-width:0 !important}html[dir=rtl] .acf-field.-c0{border-left-width:1px !important;border-right-width:0 !important}.acf-field.-r0{border-top-width:0 !important}.acf-fields{position:relative}.acf-fields:after{display:block;clear:both;content:""}.acf-fields.-border{border:#ccd0d4 solid 1px;background:#fff}.acf-fields>.acf-field{position:relative;margin:0;padding:16px;border-top-width:1px;border-top-style:solid;border-top-color:#eaecf0}.acf-fields>.acf-field:first-child{border-top:none;margin-top:0}td.acf-fields{padding:0 !important}.acf-fields.-clear>.acf-field{border:none;padding:0;margin:15px 0}.acf-fields.-clear>.acf-field[data-width]{border:none !important}.acf-fields.-clear>.acf-field>.acf-label{padding:0}.acf-fields.-clear>.acf-field>.acf-input{padding:0}.acf-fields.-left>.acf-field{padding:15px 0}.acf-fields.-left>.acf-field:after{display:block;clear:both;content:""}.acf-fields.-left>.acf-field:before{content:"";display:block;position:absolute;z-index:0;background:#f9f9f9;border-color:#e1e1e1;border-style:solid;border-width:0 1px 0 0;top:0;bottom:0;left:0;width:20%}.acf-fields.-left>.acf-field[data-width]{float:none;width:auto !important;border-left-width:0 !important;border-right-width:0 !important}.acf-fields.-left>.acf-field>.acf-label{float:left;width:20%;margin:0;padding:0 12px}.acf-fields.-left>.acf-field>.acf-input{float:left;width:80%;margin:0;padding:0 12px}html[dir=rtl] .acf-fields.-left>.acf-field:before{border-width:0 0 0 1px;left:auto;right:0}html[dir=rtl] .acf-fields.-left>.acf-field>.acf-label{float:right}html[dir=rtl] .acf-fields.-left>.acf-field>.acf-input{float:right}#side-sortables .acf-fields.-left>.acf-field:before{display:none}#side-sortables .acf-fields.-left>.acf-field>.acf-label{width:100%;margin-bottom:10px}#side-sortables .acf-fields.-left>.acf-field>.acf-input{width:100%}@media screen and (max-width: 640px){.acf-fields.-left>.acf-field:before{display:none}.acf-fields.-left>.acf-field>.acf-label{width:100%;margin-bottom:10px}.acf-fields.-left>.acf-field>.acf-input{width:100%}}.acf-fields.-clear.-left>.acf-field{padding:0;border:none}.acf-fields.-clear.-left>.acf-field:before{display:none}.acf-fields.-clear.-left>.acf-field>.acf-label{padding:0}.acf-fields.-clear.-left>.acf-field>.acf-input{padding:0}.acf-table tr.acf-field>td.acf-label{padding:15px 12px;margin:0;background:#f9f9f9;width:20%}.acf-table tr.acf-field>td.acf-input{padding:15px 12px;margin:0;border-left-color:#e1e1e1}.acf-sortable-tr-helper{position:relative !important;display:table-row !important}.acf-postbox{position:relative}.acf-postbox>.inside{margin:0 !important;padding:0 !important}.acf-postbox .acf-hndle-cog{color:#72777c;font-size:16px;line-height:36px;height:36px;width:1.62rem;position:relative;display:none}.acf-postbox .acf-hndle-cog:hover{color:#191e23}.acf-postbox>.hndle:hover .acf-hndle-cog,.acf-postbox>.postbox-header:hover .acf-hndle-cog{display:inline-block}.acf-postbox>.hndle .acf-hndle-cog{height:20px;line-height:20px;float:right;width:auto}.acf-postbox>.hndle .acf-hndle-cog:hover{color:#777}.acf-postbox .acf-replace-with-fields{padding:15px;text-align:center}#post-body-content #acf_after_title-sortables{margin:20px 0 -20px}.acf-postbox.seamless{border:0 none;background:rgba(0,0,0,0);box-shadow:none}.acf-postbox.seamless>.postbox-header,.acf-postbox.seamless>.hndle,.acf-postbox.seamless>.handlediv{display:none !important}.acf-postbox.seamless>.inside{display:block !important;margin-left:-12px !important;margin-right:-12px !important}.acf-postbox.seamless>.inside>.acf-field{border-color:rgba(0,0,0,0)}.acf-postbox.seamless>.acf-fields.-left>.acf-field:before{display:none}@media screen and (max-width: 782px){.acf-postbox.seamless>.acf-fields.-left>.acf-field>.acf-label,.acf-postbox.seamless>.acf-fields.-left>.acf-field>.acf-input{padding:0}}.acf-field input[type=text],.acf-field input[type=password],.acf-field input[type=date],.acf-field input[type=datetime],.acf-field input[type=datetime-local],.acf-field input[type=email],.acf-field input[type=month],.acf-field input[type=number],.acf-field input[type=search],.acf-field input[type=tel],.acf-field input[type=time],.acf-field input[type=url],.acf-field input[type=week],.acf-field textarea,.acf-field select{width:100%;padding:4px 8px;margin:0;box-sizing:border-box;font-size:14px;line-height:1.4}.acf-admin-3-8 .acf-field input[type=text],.acf-admin-3-8 .acf-field input[type=password],.acf-admin-3-8 .acf-field input[type=date],.acf-admin-3-8 .acf-field input[type=datetime],.acf-admin-3-8 .acf-field input[type=datetime-local],.acf-admin-3-8 .acf-field input[type=email],.acf-admin-3-8 .acf-field input[type=month],.acf-admin-3-8 .acf-field input[type=number],.acf-admin-3-8 .acf-field input[type=search],.acf-admin-3-8 .acf-field input[type=tel],.acf-admin-3-8 .acf-field input[type=time],.acf-admin-3-8 .acf-field input[type=url],.acf-admin-3-8 .acf-field input[type=week],.acf-admin-3-8 .acf-field textarea,.acf-admin-3-8 .acf-field select{padding:3px 5px}.acf-field textarea{resize:vertical}body.acf-browser-firefox .acf-field select{padding:4px 5px}.acf-input-prepend,.acf-input-append,.acf-input-wrap{box-sizing:border-box}.acf-input-prepend,.acf-input-append{font-size:13px;line-height:1.4;padding:4px 8px;background:#f5f5f5;border:#7e8993 solid 1px;min-height:30px}.acf-admin-3-8 .acf-input-prepend,.acf-admin-3-8 .acf-input-append{padding:3px 5px;border-color:#ddd;min-height:28px}.acf-input-prepend{float:left;border-right-width:0;border-radius:3px 0 0 3px}.acf-input-append{float:right;border-left-width:0;border-radius:0 3px 3px 0}.acf-input-wrap{position:relative;overflow:hidden}.acf-input-wrap .acf-is-prepended{border-radius:0 6px 6px 0 !important}.acf-input-wrap .acf-is-appended{border-radius:6px 0 0 6px !important}.acf-input-wrap .acf-is-prepended.acf-is-appended{border-radius:0 !important}html[dir=rtl] .acf-input-prepend{border-left-width:0;border-right-width:1px;border-radius:0 3px 3px 0;float:right}html[dir=rtl] .acf-input-append{border-left-width:1px;border-right-width:0;border-radius:3px 0 0 3px;float:left}html[dir=rtl] input.acf-is-prepended{border-radius:3px 0 0 3px !important}html[dir=rtl] input.acf-is-appended{border-radius:0 3px 3px 0 !important}html[dir=rtl] input.acf-is-prepended.acf-is-appended{border-radius:0 !important}.acf-color-picker .wp-color-result{border-color:#7e8993}.acf-admin-3-8 .acf-color-picker .wp-color-result{border-color:#ccd0d4}.acf-color-picker .wp-picker-active{position:relative;z-index:1}.acf-url i{position:absolute;top:5px;left:5px;opacity:.5;color:#7e8993}.acf-url input[type=url]{padding-left:27px !important}.acf-url.-valid i{opacity:1}.select2-container.-acf{z-index:1001}.select2-container.-acf .select2-choices{background:#fff;border-color:#ddd;box-shadow:0 1px 2px rgba(0,0,0,.07) inset;min-height:31px}.select2-container.-acf .select2-choices .select2-search-choice{margin:5px 0 5px 5px;padding:3px 5px 3px 18px;border-color:#bbb;background:#f9f9f9;box-shadow:0 1px 0 hsla(0,0%,100%,.25) inset}.select2-container.-acf .select2-choices .select2-search-choice.ui-sortable-helper{background:#5897fb;border-color:rgb(63.0964912281,135.4912280702,250.4035087719);color:#fff !important;box-shadow:0 0 3px rgba(0,0,0,.1)}.select2-container.-acf .select2-choices .select2-search-choice.ui-sortable-helper a{visibility:hidden}.select2-container.-acf .select2-choices .select2-search-choice.ui-sortable-placeholder{background-color:#f7f7f7;border-color:#f7f7f7;visibility:visible !important}.select2-container.-acf .select2-choices .select2-search-choice-focus{border-color:#999}.select2-container.-acf .select2-choices .select2-search-field input{height:31px;line-height:22px;margin:0;padding:5px 5px 5px 7px}.select2-container.-acf .select2-choice{border-color:#bbb}.select2-container.-acf .select2-choice .select2-arrow{background:rgba(0,0,0,0);border-left-color:#dfdfdf;padding-left:1px}.select2-container.-acf .select2-choice .select2-result-description{display:none}.select2-container.-acf.select2-container-active .select2-choices,.select2-container.-acf.select2-dropdown-open .select2-choices{border-color:#5b9dd9;border-radius:3px 3px 0 0}.select2-container.-acf.select2-dropdown-open .select2-choice{background:#fff;border-color:#5b9dd9}html[dir=rtl] .select2-container.-acf .select2-search-choice-close{left:24px}html[dir=rtl] .select2-container.-acf .select2-choice>.select2-chosen{margin-left:42px}html[dir=rtl] .select2-container.-acf .select2-choice .select2-arrow{padding-left:0;padding-right:1px}.select2-drop .select2-search{padding:4px 4px 0}.select2-drop .select2-result .select2-result-description{color:#999;font-size:12px;margin-left:5px}.select2-drop .select2-result.select2-highlighted .select2-result-description{color:#fff;opacity:.75}.select2-container.-acf li{margin-bottom:0}.select2-container.-acf[data-select2-id^=select2-data] .select2-selection--multiple{overflow:hidden}.select2-container.-acf .select2-selection{border-color:#7e8993}.acf-admin-3-8 .select2-container.-acf .select2-selection{border-color:#aaa}.select2-container.-acf .select2-selection--multiple .select2-search--inline:first-child{float:none}.select2-container.-acf .select2-selection--multiple .select2-search--inline:first-child input{width:100% !important}.select2-container.-acf .select2-selection--multiple .select2-selection__rendered{padding-right:0}.select2-container.-acf .select2-selection--multiple .select2-selection__rendered[id^=select2-acf-field]{display:inline;padding:0;margin:0}.select2-container.-acf .select2-selection--multiple .select2-selection__rendered[id^=select2-acf-field] .select2-selection__choice{margin-right:0}.select2-container.-acf .select2-selection--multiple .select2-selection__choice{background-color:#f7f7f7;border-color:#ccc;max-width:100%;overflow:hidden;word-wrap:normal !important;white-space:normal}.select2-container.-acf .select2-selection--multiple .select2-selection__choice.ui-sortable-helper{background:#0783be;border-color:#066998;color:#fff !important;box-shadow:0 0 3px rgba(0,0,0,.1)}.select2-container.-acf .select2-selection--multiple .select2-selection__choice.ui-sortable-helper span{visibility:hidden}.select2-container.-acf .select2-selection--multiple .select2-selection__choice .select2-selection__choice__remove{position:static;border-right:none;padding:0}.select2-container.-acf .select2-selection--multiple .select2-selection__choice.ui-sortable-placeholder{background-color:#f2f4f7;border-color:#f2f4f7;visibility:visible !important}.select2-container.-acf .select2-selection--multiple .select2-search__field{box-shadow:none !important;min-height:0}.acf-row .select2-container.-acf .select2-selection--single{overflow:hidden}.acf-row .select2-container.-acf .select2-selection--single .select2-selection__rendered{white-space:normal}.acf-admin-single-field-group .select2-dropdown{border-color:#6bb5d8 !important;margin-top:-5px;overflow:hidden;box-shadow:0px 1px 2px rgba(16,24,40,.1)}.select2-dropdown.select2-dropdown--above{margin-top:0}.acf-admin-single-field-group .select2-container--default .select2-results__option[aria-selected=true]{background-color:#f9fafb !important;color:#667085}.acf-admin-single-field-group .select2-container--default .select2-results__option[aria-selected=true]:hover{color:#399ccb}.acf-admin-single-field-group .select2-container--default .select2-results__option--highlighted[aria-selected]{color:#fff !important;background-color:#0783be !important}.select2-dropdown .select2-results__option{margin-bottom:0}.select2-container .select2-dropdown{z-index:900000}.select2-container .select2-dropdown .select2-search__field{line-height:1.4;min-height:0}.acf-link .link-wrap{display:none;border:#ccd0d4 solid 1px;border-radius:3px;padding:5px;line-height:26px;background:#fff;word-wrap:break-word;word-break:break-all}.acf-link .link-wrap .link-title{padding:0 5px}.acf-link.-value .button{display:none}.acf-link.-value .acf-icon.-link-ext{display:none}.acf-link.-value .link-wrap{display:inline-block}.acf-link.-external .acf-icon.-link-ext{display:inline-block}#wp-link-backdrop{z-index:900000 !important}#wp-link-wrap{z-index:900001 !important}ul.acf-radio-list,ul.acf-checkbox-list{background:rgba(0,0,0,0);border:1px solid rgba(0,0,0,0);position:relative;padding:1px;margin:0}ul.acf-radio-list:focus-within,ul.acf-checkbox-list:focus-within{border:1px solid #a5d2e7;border-radius:6px}ul.acf-radio-list li,ul.acf-checkbox-list li{font-size:13px;line-height:22px;margin:0;position:relative;word-wrap:break-word}ul.acf-radio-list li label,ul.acf-checkbox-list li label{display:inline}ul.acf-radio-list li input[type=checkbox],ul.acf-radio-list li input[type=radio],ul.acf-checkbox-list li input[type=checkbox],ul.acf-checkbox-list li input[type=radio]{margin:-1px 4px 0 0;vertical-align:middle}ul.acf-radio-list li input[type=text],ul.acf-checkbox-list li input[type=text]{width:auto;vertical-align:middle;margin:2px 0}ul.acf-radio-list li span,ul.acf-checkbox-list li span{float:none}ul.acf-radio-list li i,ul.acf-checkbox-list li i{vertical-align:middle}ul.acf-radio-list.acf-hl li,ul.acf-checkbox-list.acf-hl li{margin-right:20px;clear:none}html[dir=rtl] ul.acf-radio-list input[type=checkbox],html[dir=rtl] ul.acf-radio-list input[type=radio],html[dir=rtl] ul.acf-checkbox-list input[type=checkbox],html[dir=rtl] ul.acf-checkbox-list input[type=radio]{margin-left:4px;margin-right:0}.acf-button-group{display:inline-block}.acf-button-group label{display:inline-block;border:#7e8993 solid 1px;position:relative;z-index:1;padding:5px 10px;background:#fff}.acf-button-group label:hover{color:#016087;background:#f3f5f6;border-color:#0071a1;z-index:2}.acf-button-group label.selected{border-color:#007cba;background:rgb(0,141,211.5);color:#fff;z-index:2}.acf-button-group input{display:none !important}.acf-button-group{padding-left:1px;display:inline-flex;flex-direction:row;flex-wrap:nowrap}.acf-button-group label{margin:0 0 0 -1px;flex:1;text-align:center;white-space:nowrap}.acf-button-group label:first-child{border-radius:3px 0 0 3px}html[dir=rtl] .acf-button-group label:first-child{border-radius:0 3px 3px 0}.acf-button-group label:last-child{border-radius:0 3px 3px 0}html[dir=rtl] .acf-button-group label:last-child{border-radius:3px 0 0 3px}.acf-button-group label:only-child{border-radius:3px}.acf-button-group.-vertical{padding-left:0;padding-top:1px;flex-direction:column}.acf-button-group.-vertical label{margin:-1px 0 0 0}.acf-button-group.-vertical label:first-child{border-radius:3px 3px 0 0}.acf-button-group.-vertical label:last-child{border-radius:0 0 3px 3px}.acf-button-group.-vertical label:only-child{border-radius:3px}.acf-admin-3-8 .acf-button-group label{border-color:#ccd0d4}.acf-admin-3-8 .acf-button-group label:hover{border-color:#0071a1}.acf-admin-3-8 .acf-button-group label.selected{border-color:#007cba}.acf-admin-page .acf-button-group{display:flex;align-items:stretch;align-content:center;height:40px;border-radius:6px;box-shadow:0px 1px 2px rgba(16,24,40,.1)}.acf-admin-page .acf-button-group label{display:inline-flex;align-items:center;align-content:center;border:#d0d5dd solid 1px;padding:6px 16px;color:#475467;font-weight:500}.acf-admin-page .acf-button-group label:hover{color:#0783be}.acf-admin-page .acf-button-group label.selected{background:#f9fafb;color:#0783be}.acf-admin-page .select2-container.-acf .select2-selection--multiple .select2-selection__choice{display:inline-flex;align-items:center;margin-top:8px;margin-left:2px;position:relative;padding-top:4px;padding-right:auto;padding-bottom:4px;padding-left:8px;background-color:#ebf5fa;border-color:#a5d2e7;color:#0783be}.acf-admin-page .select2-container.-acf .select2-selection--multiple .select2-selection__choice .select2-selection__choice__remove{order:2;width:14px;height:14px;margin-right:0;margin-left:4px;color:#6bb5d8;text-indent:100%;white-space:nowrap;overflow:hidden}.acf-admin-page .select2-container.-acf .select2-selection--multiple .select2-selection__choice .select2-selection__choice__remove:hover{color:#0783be}.acf-admin-page .select2-container.-acf .select2-selection--multiple .select2-selection__choice .select2-selection__choice__remove:before{content:"";display:block;width:14px;height:14px;top:0;left:0;background-color:currentColor;border:none;border-radius:0;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;-webkit-mask-image:url("../../images/icons/icon-close.svg");mask-image:url("../../images/icons/icon-close.svg")}.acf-checkbox-list .button{margin:10px 0 0}.acf-switch{display:grid;grid-template-columns:1fr 1fr;width:fit-content;max-width:100%;border-radius:5px;cursor:pointer;position:relative;background:#f5f5f5;height:30px;vertical-align:middle;border:#7e8993 solid 1px;-webkit-transition:background .25s ease;-moz-transition:background .25s ease;-o-transition:background .25s ease;transition:background .25s ease}.acf-switch span{display:inline-block;float:left;text-align:center;font-size:13px;line-height:22px;padding:4px 10px;min-width:15px}.acf-switch span i{vertical-align:middle}.acf-switch .acf-switch-on{color:#fff;text-shadow:#007cba 0 1px 0;overflow:hidden}.acf-switch .acf-switch-off{overflow:hidden}.acf-switch .acf-switch-slider{position:absolute;top:2px;left:2px;bottom:2px;right:50%;z-index:1;background:#fff;border-radius:3px;border:#7e8993 solid 1px;-webkit-transition:all .25s ease;-moz-transition:all .25s ease;-o-transition:all .25s ease;transition:all .25s ease;transition-property:left,right}.acf-switch:hover,.acf-switch.-focus{border-color:#0071a1;background:#f3f5f6;color:#016087}.acf-switch:hover .acf-switch-slider,.acf-switch.-focus .acf-switch-slider{border-color:#0071a1}.acf-switch.-on{background:#0d99d5;border-color:#007cba}.acf-switch.-on .acf-switch-slider{left:50%;right:2px;border-color:#007cba}.acf-switch.-on:hover{border-color:#007cba}.acf-switch+span{margin-left:6px}.acf-admin-3-8 .acf-switch{border-color:#ccd0d4}.acf-admin-3-8 .acf-switch .acf-switch-slider{border-color:#ccd0d4}.acf-admin-3-8 .acf-switch:hover,.acf-admin-3-8 .acf-switch.-focus{border-color:#0071a1}.acf-admin-3-8 .acf-switch:hover .acf-switch-slider,.acf-admin-3-8 .acf-switch.-focus .acf-switch-slider{border-color:#0071a1}.acf-admin-3-8 .acf-switch.-on{border-color:#007cba}.acf-admin-3-8 .acf-switch.-on .acf-switch-slider{border-color:#007cba}.acf-admin-3-8 .acf-switch.-on:hover{border-color:#007cba}.acf-switch-input{opacity:0;position:absolute;margin:0}.acf-admin-single-field-group .acf-true-false{border:1px solid rgba(0,0,0,0)}.acf-admin-single-field-group .acf-true-false:focus-within{border:1px solid #399ccb;border-radius:120px}.acf-true-false:has(.acf-switch) label{display:flex;align-items:center;justify-items:center}.compat-item .acf-true-false .message{float:none;padding:0;vertical-align:middle}.acf-google-map{position:relative;border:#ccd0d4 solid 1px;background:#fff}.acf-google-map .title{position:relative;border-bottom:#ccd0d4 solid 1px}.acf-google-map .title .search{margin:0;font-size:14px;line-height:30px;height:40px;padding:5px 10px;border:0 none;box-shadow:none;border-radius:0;font-family:inherit;cursor:text}.acf-google-map .title .acf-loading{position:absolute;top:10px;right:11px;display:none}.acf-google-map .title .acf-icon:active{display:inline-block !important}.acf-google-map .canvas{height:400px}.acf-google-map:hover .title .acf-actions{display:block}.acf-google-map .title .acf-icon.-location{display:inline-block}.acf-google-map .title .acf-icon.-cancel,.acf-google-map .title .acf-icon.-search{display:none}.acf-google-map.-value .title .search{font-weight:bold}.acf-google-map.-value .title .acf-icon.-location{display:none}.acf-google-map.-value .title .acf-icon.-cancel{display:inline-block}.acf-google-map.-searching .title .acf-icon.-location{display:none}.acf-google-map.-searching .title .acf-icon.-cancel,.acf-google-map.-searching .title .acf-icon.-search{display:inline-block}.acf-google-map.-searching .title .acf-actions{display:block}.acf-google-map.-searching .title .search{font-weight:normal !important}.acf-google-map.-loading .title a{display:none !important}.acf-google-map.-loading .title i{display:inline-block}.pac-container{border-width:1px 0;box-shadow:none}.pac-container:after{display:none}.pac-container .pac-item:first-child{border-top:0 none}.pac-container .pac-item{padding:5px 10px;cursor:pointer}html[dir=rtl] .pac-container .pac-item{text-align:right}.acf-relationship{background:#fff;border:#ccd0d4 solid 1px}.acf-relationship .filters{border-bottom:#ccd0d4 solid 1px;background:#fff}.acf-relationship .filters:after{display:block;clear:both;content:""}.acf-relationship .filters .filter{margin:0;padding:0;float:left;width:100%;box-sizing:border-box;padding:7px 7px 7px 0}.acf-relationship .filters .filter:first-child{padding-left:7px}.acf-relationship .filters .filter input,.acf-relationship .filters .filter select{margin:0;float:none}.acf-relationship .filters .filter input:focus,.acf-relationship .filters .filter input:active,.acf-relationship .filters .filter select:focus,.acf-relationship .filters .filter select:active{outline:none;box-shadow:none}.acf-relationship .filters .filter input{border-color:rgba(0,0,0,0);box-shadow:none;padding-left:3px;padding-right:3px}.acf-relationship .filters.-f2 .filter{width:50%}.acf-relationship .filters.-f3 .filter{width:25%}.acf-relationship .filters.-f3 .filter.-search{width:50%}.acf-relationship .list{margin:0;padding:5px;height:160px;overflow:auto}.acf-relationship .list .acf-rel-label,.acf-relationship .list .acf-rel-item,.acf-relationship .list p{padding:5px;margin:0;display:block;position:relative;min-height:18px}.acf-relationship .list .acf-rel-label{font-weight:bold}.acf-relationship .list .acf-rel-item{cursor:pointer}.acf-relationship .list .acf-rel-item b{text-decoration:underline;font-weight:normal}.acf-relationship .list .acf-rel-item .thumbnail{background:rgb(223.5,223.5,223.5);width:22px;height:22px;float:left;margin:-2px 5px 0 0}.acf-relationship .list .acf-rel-item .thumbnail img{max-width:22px;max-height:22px;margin:0 auto;display:block}.acf-relationship .list .acf-rel-item .thumbnail.-icon{background:#fff}.acf-relationship .list .acf-rel-item .thumbnail.-icon img{max-height:20px;margin-top:1px}.acf-relationship .list .acf-rel-item:hover,.acf-relationship .list .acf-rel-item.relationship-hover{background:#3875d7;color:#fff}.acf-relationship .list .acf-rel-item:hover .thumbnail,.acf-relationship .list .acf-rel-item.relationship-hover .thumbnail{background:hsl(216.9811320755,66.5271966527%,78.137254902%)}.acf-relationship .list .acf-rel-item:hover .thumbnail.-icon,.acf-relationship .list .acf-rel-item.relationship-hover .thumbnail.-icon{background:#fff}.acf-relationship .list .acf-rel-item.disabled{opacity:.5}.acf-relationship .list .acf-rel-item.disabled:hover{background:rgba(0,0,0,0);color:#333;cursor:default}.acf-relationship .list .acf-rel-item.disabled:hover .thumbnail{background:rgb(223.5,223.5,223.5)}.acf-relationship .list .acf-rel-item.disabled:hover .thumbnail.-icon{background:#fff}.acf-relationship .list ul{padding-bottom:5px}.acf-relationship .list ul .acf-rel-label,.acf-relationship .list ul .acf-rel-item,.acf-relationship .list ul p{padding-left:20px}.acf-relationship .selection{position:relative}.acf-relationship .selection:after{display:block;clear:both;content:""}.acf-relationship .selection .values,.acf-relationship .selection .choices{width:50%;background:#fff;float:left}.acf-relationship .selection .choices{background:#f9f9f9}.acf-relationship .selection .choices .list{border-right:#dfdfdf solid 1px}.acf-relationship .selection .values .acf-icon{position:absolute;top:4px;right:7px;display:none}html[dir=rtl] .acf-relationship .selection .values .acf-icon{right:auto;left:7px}.acf-relationship .selection .values .acf-rel-item:hover .acf-icon,.acf-relationship .selection .values .acf-rel-item.relationship-hover .acf-icon{display:block}.acf-relationship .selection .values .acf-rel-item{cursor:move}.acf-relationship .selection .values .acf-rel-item b{text-decoration:none}.menu-item .acf-relationship ul{width:auto}.menu-item .acf-relationship li{display:block}.acf-editor-wrap.delay .acf-editor-toolbar{content:"";display:block;background:#f5f5f5;border-bottom:#ddd solid 1px;color:#555d66;padding:10px}.acf-editor-wrap.delay .wp-editor-area{padding:10px;border:none;color:inherit !important}.acf-editor-wrap iframe{min-height:200px}.acf-editor-wrap .wp-editor-container{border:1px solid #ccd0d4;box-shadow:none !important}.acf-editor-wrap .wp-editor-tabs{box-sizing:content-box}.acf-editor-wrap .wp-switch-editor{border-color:#ccd0d4;border-bottom-color:rgba(0,0,0,0)}#mce_fullscreen_container{z-index:900000 !important}.acf-field-tab{display:none !important}.hidden-by-tab{display:none !important}.acf-tab-wrap{clear:both;z-index:1;overflow:auto}.acf-tab-group{border-bottom:#ccc solid 1px;padding:10px 10px 0}.acf-tab-group li{margin:0 .5em 0 0}.acf-tab-group li a{padding:5px 10px;display:block;color:#555;font-size:14px;font-weight:600;line-height:24px;border:#ccc solid 1px;border-bottom:0 none;text-decoration:none;background:#e5e5e5;transition:none}.acf-tab-group li a:hover{background:#fff}.acf-tab-group li a:focus{outline:none;box-shadow:none}.acf-tab-group li a:empty{display:none}html[dir=rtl] .acf-tab-group li{margin:0 0 0 .5em}.acf-tab-group li.active a{background:#f1f1f1;color:#000;padding-bottom:6px;margin-bottom:-1px;position:relative;z-index:1}.acf-fields>.acf-tab-wrap{background:#f9f9f9}.acf-fields>.acf-tab-wrap .acf-tab-group{position:relative;border-top:#ccd0d4 solid 1px;border-bottom:#ccd0d4 solid 1px;z-index:2;margin-bottom:-1px}.acf-admin-3-8 .acf-fields>.acf-tab-wrap .acf-tab-group{border-color:#dfdfdf}.acf-fields.-left>.acf-tab-wrap .acf-tab-group{padding-left:20%}@media screen and (max-width: 640px){.acf-fields.-left>.acf-tab-wrap .acf-tab-group{padding-left:10px}}html[dir=rtl] .acf-fields.-left>.acf-tab-wrap .acf-tab-group{padding-left:0;padding-right:20%}@media screen and (max-width: 850px){html[dir=rtl] .acf-fields.-left>.acf-tab-wrap .acf-tab-group{padding-right:10px}}.acf-tab-wrap.-left .acf-tab-group{position:absolute;left:0;width:20%;border:0 none;padding:0 !important;margin:1px 0 0}.acf-tab-wrap.-left .acf-tab-group li{float:none;margin:-1px 0 0}.acf-tab-wrap.-left .acf-tab-group li a{border:1px solid #ededed;font-size:13px;line-height:18px;color:#0073aa;padding:10px;margin:0;font-weight:normal;border-width:1px 0;border-radius:0;background:rgba(0,0,0,0)}.acf-tab-wrap.-left .acf-tab-group li a:hover{color:#00a0d2}.acf-tab-wrap.-left .acf-tab-group li.active a{border-color:#dfdfdf;color:#000;margin-right:-1px;background:#fff}html[dir=rtl] .acf-tab-wrap.-left .acf-tab-group{left:auto;right:0}html[dir=rtl] .acf-tab-wrap.-left .acf-tab-group li.active a{margin-right:0;margin-left:-1px}.acf-field+.acf-tab-wrap.-left:before{content:"";display:block;position:relative;z-index:1;height:10px;border-top:#dfdfdf solid 1px;border-bottom:#dfdfdf solid 1px;margin-bottom:-1px}.acf-tab-wrap.-left:first-child .acf-tab-group li:first-child a{border-top:none}.acf-fields.-sidebar{padding:0 0 0 20% !important;position:relative}.acf-fields.-sidebar:before{content:"";display:block;position:absolute;top:0;left:0;width:20%;bottom:0;border-right:#dfdfdf solid 1px;background:#f9f9f9;z-index:1}html[dir=rtl] .acf-fields.-sidebar{padding:0 20% 0 0 !important}html[dir=rtl] .acf-fields.-sidebar:before{border-left:#dfdfdf solid 1px;border-right-width:0;left:auto;right:0}.acf-fields.-sidebar.-left{padding:0 0 0 180px !important}html[dir=rtl] .acf-fields.-sidebar.-left{padding:0 180px 0 0 !important}.acf-fields.-sidebar.-left:before{background:#f1f1f1;border-color:#dfdfdf;width:180px}.acf-fields.-sidebar.-left>.acf-tab-wrap.-left .acf-tab-group{width:180px}.acf-fields.-sidebar.-left>.acf-tab-wrap.-left .acf-tab-group li a{border-color:#e4e4e4}.acf-fields.-sidebar.-left>.acf-tab-wrap.-left .acf-tab-group li.active a{background:#f9f9f9}.acf-fields.-sidebar>.acf-field-tab+.acf-field{border-top:none}.acf-fields.-clear>.acf-tab-wrap{background:rgba(0,0,0,0)}.acf-fields.-clear>.acf-tab-wrap .acf-tab-group{margin-top:0;border-top:none;padding-left:0;padding-right:0}.acf-fields.-clear>.acf-tab-wrap .acf-tab-group li a{background:#e5e5e5}.acf-fields.-clear>.acf-tab-wrap .acf-tab-group li a:hover{background:#fff}.acf-fields.-clear>.acf-tab-wrap .acf-tab-group li.active a{background:#f1f1f1}.acf-postbox.seamless>.acf-fields.-sidebar{margin-left:0 !important}.acf-postbox.seamless>.acf-fields.-sidebar:before{background:rgba(0,0,0,0)}.acf-postbox.seamless>.acf-fields>.acf-tab-wrap{background:rgba(0,0,0,0);margin-bottom:10px;padding-left:12px;padding-right:12px}.acf-postbox.seamless>.acf-fields>.acf-tab-wrap .acf-tab-group{border-top:0 none;border-color:#ccd0d4}.acf-postbox.seamless>.acf-fields>.acf-tab-wrap .acf-tab-group li a{background:#e5e5e5;border-color:#ccd0d4}.acf-postbox.seamless>.acf-fields>.acf-tab-wrap .acf-tab-group li a:hover{background:#fff}.acf-postbox.seamless>.acf-fields>.acf-tab-wrap .acf-tab-group li.active a{background:#f1f1f1}.acf-postbox.seamless>.acf-fields>.acf-tab-wrap.-left:before{border-top:none;height:auto}.acf-postbox.seamless>.acf-fields>.acf-tab-wrap.-left .acf-tab-group{margin-bottom:0}.acf-postbox.seamless>.acf-fields>.acf-tab-wrap.-left .acf-tab-group li a{border-width:1px 0 1px 1px !important;border-color:#ccc;background:#e5e5e5}.acf-postbox.seamless>.acf-fields>.acf-tab-wrap.-left .acf-tab-group li.active a{background:#f1f1f1}.menu-edit .acf-fields.-clear>.acf-tab-wrap .acf-tab-group li a,.widget .acf-fields.-clear>.acf-tab-wrap .acf-tab-group li a{background:#f1f1f1}.menu-edit .acf-fields.-clear>.acf-tab-wrap .acf-tab-group li a:hover,.menu-edit .acf-fields.-clear>.acf-tab-wrap .acf-tab-group li.active a,.widget .acf-fields.-clear>.acf-tab-wrap .acf-tab-group li a:hover,.widget .acf-fields.-clear>.acf-tab-wrap .acf-tab-group li.active a{background:#fff}.compat-item .acf-tab-wrap td{display:block}.acf-gallery-side .acf-tab-wrap{border-top:0 none !important}.acf-gallery-side .acf-tab-wrap .acf-tab-group{margin:10px 0 !important;padding:0 !important}.acf-gallery-side .acf-tab-group li.active a{background:#f9f9f9 !important}.widget .acf-tab-group{border-bottom-color:#e8e8e8}.widget .acf-tab-group li a{background:#f1f1f1}.widget .acf-tab-group li.active a{background:#fff}.media-modal.acf-expanded .compat-attachment-fields>tbody>tr.acf-tab-wrap .acf-tab-group{padding-left:23%;border-bottom-color:#ddd}.form-table>tbody>tr.acf-tab-wrap .acf-tab-group{padding:0 5px 0 210px}html[dir=rtl] .form-table>tbody>tr.acf-tab-wrap .acf-tab-group{padding:0 210px 0 5px}.acf-oembed{position:relative;border:#ccd0d4 solid 1px;background:#fff}.acf-oembed .title{position:relative;border-bottom:#ccd0d4 solid 1px;padding:5px 10px}.acf-oembed .title .input-search{margin:0;font-size:14px;line-height:30px;height:30px;padding:0;border:0 none;box-shadow:none;border-radius:0;font-family:inherit;cursor:text}.acf-oembed .title .acf-actions{padding:6px}.acf-oembed .canvas{position:relative;min-height:250px;background:#f9f9f9}.acf-oembed .canvas .canvas-media{position:relative;z-index:1}.acf-oembed .canvas iframe{display:block;margin:0;padding:0;width:100%}.acf-oembed .canvas .acf-icon.-picture{position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);z-index:0;height:42px;width:42px;font-size:42px;color:#999}.acf-oembed .canvas .acf-loading-overlay{background:hsla(0,0%,100%,.9)}.acf-oembed .canvas .canvas-error{position:absolute;top:50%;left:0%;right:0%;margin:-9px 0 0 0;text-align:center;display:none}.acf-oembed .canvas .canvas-error p{padding:8px;margin:0;display:inline}.acf-oembed.has-value .canvas{min-height:50px}.acf-oembed.has-value .input-search{font-weight:bold}.acf-oembed.has-value .title:hover .acf-actions{display:block}.acf-image-uploader{position:relative}.acf-image-uploader:after{display:block;clear:both;content:""}.acf-image-uploader p{margin:0}.acf-image-uploader .image-wrap{position:relative;float:left}.acf-image-uploader .image-wrap img{max-width:100%;max-height:100%;width:auto;height:auto;display:block;min-width:30px;min-height:30px;background:#f1f1f1;margin:0;padding:0}.acf-image-uploader .image-wrap img[src$=".svg"]{min-height:100px;min-width:100px}.acf-image-uploader .image-wrap:hover .acf-actions{display:block}.acf-image-uploader input.button{width:auto}html[dir=rtl] .acf-image-uploader .image-wrap{float:right}.acf-file-uploader{position:relative}.acf-file-uploader p{margin:0}.acf-file-uploader .file-wrap{border:#ccd0d4 solid 1px;min-height:84px;position:relative;background:#fff}.acf-file-uploader .file-icon{position:absolute;top:0;left:0;bottom:0;padding:10px;background:#f1f1f1;border-right:#d5d9dd solid 1px}.acf-file-uploader .file-icon img{display:block;padding:0;margin:0;max-width:48px}.acf-file-uploader .file-info{padding:10px;margin-left:69px}.acf-file-uploader .file-info p{margin:0 0 2px;font-size:13px;line-height:1.4em;word-break:break-all}.acf-file-uploader .file-info a{text-decoration:none}.acf-file-uploader:hover .acf-actions{display:block}html[dir=rtl] .acf-file-uploader .file-icon{left:auto;right:0;border-left:#e5e5e5 solid 1px;border-right:none}html[dir=rtl] .acf-file-uploader .file-info{margin-right:69px;margin-left:0}.acf-ui-datepicker .ui-datepicker{z-index:900000 !important}.acf-ui-datepicker .ui-datepicker .ui-widget-header a{cursor:pointer;transition:none}.acf-ui-datepicker .ui-state-highlight.ui-state-hover{border:1px solid #98b7e8 !important;background:#98b7e8 !important;font-weight:normal !important;color:#fff !important}.acf-ui-datepicker .ui-state-highlight.ui-state-active{border:1px solid #3875d7 !important;background:#3875d7 !important;font-weight:normal !important;color:#fff !important}.acf-field-separator .acf-label{margin-bottom:0}.acf-field-separator .acf-label label{font-weight:normal}.acf-field-separator .acf-input{display:none}.acf-fields>.acf-field-separator{background:#f9f9f9;border-bottom:1px solid #dfdfdf;border-top:1px solid #dfdfdf;margin-bottom:-1px;z-index:2}.acf-taxonomy-field{position:relative}.acf-taxonomy-field .categorychecklist-holder{border:#ccd0d4 solid 1px;border-radius:3px;max-height:200px;overflow:auto}.acf-taxonomy-field .acf-checkbox-list{margin:0;padding:10px}.acf-taxonomy-field .acf-checkbox-list ul.children{padding-left:18px}.acf-taxonomy-field:hover .acf-actions{display:block}.acf-taxonomy-field[data-ftype=select] .acf-actions{padding:0;margin:-9px}.acf-range-wrap .acf-append,.acf-range-wrap .acf-prepend{display:inline-block;vertical-align:middle;line-height:28px;margin:0 7px 0 0}.acf-range-wrap .acf-append{margin:0 0 0 7px}.acf-range-wrap input[type=range]{display:inline-block;padding:0;margin:0;vertical-align:middle;height:28px}.acf-range-wrap input[type=range]:focus{outline:none}.acf-range-wrap input[type=number]{display:inline-block;min-width:5em;padding-right:4px;margin-left:10px;vertical-align:middle}html[dir=rtl] .acf-range-wrap input[type=number]{margin-right:10px;margin-left:0}html[dir=rtl] .acf-range-wrap .acf-append{margin:0 7px 0 0}html[dir=rtl] .acf-range-wrap .acf-prepend{margin:0 0 0 7px}.acf-accordion{margin:-1px 0;padding:0;background:#fff;border-top:1px solid #d5d9dd;border-bottom:1px solid #d5d9dd;z-index:1}.acf-accordion .acf-accordion-title{margin:0;padding:12px;font-weight:bold;cursor:pointer;font-size:inherit;font-size:13px;line-height:1.4em}.acf-accordion .acf-accordion-title:hover{background:#f3f4f5}.acf-accordion .acf-accordion-title label{margin:0;padding:0;font-size:13px;line-height:1.4em}.acf-accordion .acf-accordion-title p{font-weight:normal}.acf-accordion .acf-accordion-title .acf-accordion-icon{float:right}.acf-accordion .acf-accordion-title svg.acf-accordion-icon{position:absolute;right:10px;top:50%;transform:translateY(-50%);color:#191e23;fill:currentColor}.acf-accordion .acf-accordion-content{margin:0;padding:0 12px 12px;display:none}.acf-accordion.-open>.acf-accordion-content{display:block}.acf-field.acf-accordion{margin:-1px 0;padding:0 !important;border-color:#d5d9dd}.acf-field.acf-accordion .acf-label.acf-accordion-title{padding:12px;width:auto;float:none;width:auto}.acf-field.acf-accordion .acf-input.acf-accordion-content{padding:0;float:none;width:auto}.acf-field.acf-accordion .acf-input.acf-accordion-content>.acf-fields{border-top:#eee solid 1px}.acf-field.acf-accordion .acf-input.acf-accordion-content>.acf-fields.-clear{padding:0 12px 15px}.acf-fields.-left>.acf-field.acf-accordion:before{display:none}.acf-fields.-left>.acf-field.acf-accordion .acf-accordion-title{width:auto;margin:0 !important;padding:12px;float:none !important}.acf-fields.-left>.acf-field.acf-accordion .acf-accordion-content{padding:0 !important}.acf-fields.-clear>.acf-field.acf-accordion{border:#ccc solid 1px;background:rgba(0,0,0,0)}.acf-fields.-clear>.acf-field.acf-accordion+.acf-field.acf-accordion{margin-top:-16px}tr.acf-field.acf-accordion{background:rgba(0,0,0,0)}tr.acf-field.acf-accordion>.acf-input{padding:0 !important;border:#ccc solid 1px}tr.acf-field.acf-accordion .acf-accordion-content{padding:0 12px 12px}#addtag div.acf-field.error{border:0 none;padding:8px 0}#addtag>.acf-field.acf-accordion{padding-right:0;margin-right:5%}#addtag>.acf-field.acf-accordion+p.submit{margin-top:0}tr.acf-accordion{margin:15px 0 !important}tr.acf-accordion+tr.acf-accordion{margin-top:-16px !important}.acf-postbox.seamless>.acf-fields>.acf-accordion{margin-left:12px;margin-right:12px;border:#ccd0d4 solid 1px}.widget .widget-content>.acf-field.acf-accordion{border:#dfdfdf solid 1px;margin-bottom:10px}.widget .widget-content>.acf-field.acf-accordion .acf-accordion-title{margin-bottom:0}.widget .widget-content>.acf-field.acf-accordion+.acf-field.acf-accordion{margin-top:-11px}.media-modal .compat-attachment-fields .acf-field.acf-accordion+.acf-field.acf-accordion{margin-top:-1px}.media-modal .compat-attachment-fields .acf-field.acf-accordion>.acf-input{width:100%}.media-modal .compat-attachment-fields .acf-field.acf-accordion .compat-attachment-fields>tbody>tr>td{padding-bottom:5px}.block-editor .edit-post-sidebar .acf-postbox>.postbox-header,.block-editor .edit-post-sidebar .acf-postbox>.hndle{border-bottom-width:0 !important}.block-editor .edit-post-sidebar .acf-postbox.closed>.postbox-header,.block-editor .edit-post-sidebar .acf-postbox.closed>.hndle{border-bottom-width:1px !important}.block-editor .edit-post-sidebar .acf-fields{min-height:1px;overflow:auto}.block-editor .edit-post-sidebar .acf-fields>.acf-field{border-width:0;border-color:#e2e4e7;margin:0px;padding:10px 16px;width:auto !important;min-height:0 !important;float:none !important}.block-editor .edit-post-sidebar .acf-fields>.acf-field>.acf-label{margin-bottom:5px}.block-editor .edit-post-sidebar .acf-fields>.acf-field>.acf-label label{font-weight:normal}.block-editor .edit-post-sidebar .acf-fields>.acf-field.acf-accordion{padding:0;margin:0;border-top-width:1px}.block-editor .edit-post-sidebar .acf-fields>.acf-field.acf-accordion:first-child{border-top-width:0}.block-editor .edit-post-sidebar .acf-fields>.acf-field.acf-accordion .acf-accordion-title{margin:0;padding:15px}.block-editor .edit-post-sidebar .acf-fields>.acf-field.acf-accordion .acf-accordion-title label{font-weight:500;color:#1e1e1e}.block-editor .edit-post-sidebar .acf-fields>.acf-field.acf-accordion .acf-accordion-title svg.acf-accordion-icon{right:16px}.block-editor .edit-post-sidebar .acf-fields>.acf-field.acf-accordion .acf-accordion-content>.acf-fields{border-top-width:0}.block-editor .edit-post-sidebar .block-editor-block-inspector .acf-fields>.acf-notice{display:grid;grid-template-columns:1fr 25px;padding:10px;margin:0}.block-editor .edit-post-sidebar .block-editor-block-inspector .acf-fields>.acf-notice p:last-of-type{margin:0}.block-editor .edit-post-sidebar .block-editor-block-inspector .acf-fields>.acf-notice>.acf-notice-dismiss{position:relative;top:unset;right:unset}.block-editor .edit-post-sidebar .block-editor-block-inspector .acf-fields .acf-field .acf-notice{margin:0;padding:0}.block-editor .edit-post-sidebar .block-editor-block-inspector .acf-fields .acf-error{margin-bottom:10px}.acf-field-setting-prefix_label p.description,.acf-field-setting-prefix_name p.description{order:3;margin-top:0;margin-left:16px}.acf-field-setting-prefix_label p.description code,.acf-field-setting-prefix_name p.description code{padding-top:4px;padding-right:6px;padding-bottom:4px;padding-left:6px;background-color:#f2f4f7;border-radius:4px;color:#667085}.acf-fields>.acf-tab-wrap:first-child .acf-tab-group{border-top:none}.acf-fields>.acf-tab-wrap .acf-tab-group li.active a{background:#fff}.acf-fields>.acf-tab-wrap .acf-tab-group li a{background:#f1f1f1;border-color:#ccd0d4}.acf-fields>.acf-tab-wrap .acf-tab-group li a:hover{background:#fff}.form-table>tbody>.acf-field>.acf-label{padding:20px 10px 20px 0;width:210px}html[dir=rtl] .form-table>tbody>.acf-field>.acf-label{padding:20px 0 20px 10px}.form-table>tbody>.acf-field>.acf-label label{font-size:14px;color:#23282d}.form-table>tbody>.acf-field>.acf-input{padding:15px 10px}html[dir=rtl] .form-table>tbody>.acf-field>.acf-input{padding:15px 10px 15px 5%}.form-table>tbody>.acf-tab-wrap td{padding:15px 5% 15px 0}html[dir=rtl] .form-table>tbody>.acf-tab-wrap td{padding:15px 0 15px 5%}.form-table>tbody .form-table th.acf-th{width:auto}#your-profile .acf-field input[type=text],#your-profile .acf-field input[type=password],#your-profile .acf-field input[type=number],#your-profile .acf-field input[type=search],#your-profile .acf-field input[type=email],#your-profile .acf-field input[type=url],#your-profile .acf-field select,#createuser .acf-field input[type=text],#createuser .acf-field input[type=password],#createuser .acf-field input[type=number],#createuser .acf-field input[type=search],#createuser .acf-field input[type=email],#createuser .acf-field input[type=url],#createuser .acf-field select{max-width:25em}#your-profile .acf-field textarea,#createuser .acf-field textarea{max-width:500px}#your-profile .acf-field .acf-field input[type=text],#your-profile .acf-field .acf-field input[type=password],#your-profile .acf-field .acf-field input[type=number],#your-profile .acf-field .acf-field input[type=search],#your-profile .acf-field .acf-field input[type=email],#your-profile .acf-field .acf-field input[type=url],#your-profile .acf-field .acf-field textarea,#your-profile .acf-field .acf-field select,#createuser .acf-field .acf-field input[type=text],#createuser .acf-field .acf-field input[type=password],#createuser .acf-field .acf-field input[type=number],#createuser .acf-field .acf-field input[type=search],#createuser .acf-field .acf-field input[type=email],#createuser .acf-field .acf-field input[type=url],#createuser .acf-field .acf-field textarea,#createuser .acf-field .acf-field select{max-width:none}#registerform h2{margin:1em 0}#registerform .acf-field{margin-top:0}#registerform .acf-field .acf-label{margin-bottom:0}#registerform .acf-field .acf-label label{font-weight:normal;line-height:1.5}#registerform p.submit{text-align:right}#acf-term-fields{padding-right:5%}#acf-term-fields>.acf-field>.acf-label{margin:0}#acf-term-fields>.acf-field>.acf-label label{font-size:12px;font-weight:normal}p.submit .spinner,p.submit .acf-spinner{vertical-align:top;float:none;margin:4px 4px 0}#edittag .acf-fields.-left>.acf-field{padding-left:220px}#edittag .acf-fields.-left>.acf-field:before{width:209px}#edittag .acf-fields.-left>.acf-field>.acf-label{width:220px;margin-left:-220px;padding:0 10px}#edittag .acf-fields.-left>.acf-field>.acf-input{padding:0}#edittag>.acf-fields.-left{width:96%}#edittag>.acf-fields.-left>.acf-field>.acf-label{padding-left:0}.editcomment td:first-child{white-space:nowrap;width:131px}#widgets-right .widget .acf-field .description{padding-left:0;padding-right:0}.acf-widget-fields>.acf-field .acf-label{margin-bottom:5px}.acf-widget-fields>.acf-field .acf-label label{font-weight:normal;margin:0}.acf-menu-settings{border-top:1px solid #eee;margin-top:2em}.acf-menu-settings.-seamless{border-top:none;margin-top:15px}.acf-menu-settings.-seamless>h2{display:none}.acf-menu-settings .list li{display:block;margin-bottom:0}.acf-fields.acf-menu-item-fields{clear:both;padding-top:1px}.acf-fields.acf-menu-item-fields>.acf-field{margin:5px 0;padding-right:10px}.acf-fields.acf-menu-item-fields>.acf-field .acf-label{margin-bottom:0}.acf-fields.acf-menu-item-fields>.acf-field .acf-label label{font-style:italic;font-weight:normal}#post .compat-attachment-fields .compat-field-acf-form-data{display:none}#post .compat-attachment-fields,#post .compat-attachment-fields>tbody,#post .compat-attachment-fields>tbody>tr,#post .compat-attachment-fields>tbody>tr>th,#post .compat-attachment-fields>tbody>tr>td{display:block}#post .compat-attachment-fields>tbody>.acf-field{margin:15px 0}#post .compat-attachment-fields>tbody>.acf-field>.acf-label{margin:0}#post .compat-attachment-fields>tbody>.acf-field>.acf-label label{margin:0;padding:0}#post .compat-attachment-fields>tbody>.acf-field>.acf-label label p{margin:0 0 3px !important}#post .compat-attachment-fields>tbody>.acf-field>.acf-input{margin:0}.media-modal .compat-attachment-fields td.acf-input table{display:table;table-layout:auto}.media-modal .compat-attachment-fields td.acf-input table tbody{display:table-row-group}.media-modal .compat-attachment-fields td.acf-input table tr{display:table-row}.media-modal .compat-attachment-fields td.acf-input table td,.media-modal .compat-attachment-fields td.acf-input table th{display:table-cell}.media-modal .compat-attachment-fields>tbody>.acf-field{margin:5px 0}.media-modal .compat-attachment-fields>tbody>.acf-field>.acf-label{min-width:30%;margin:0;padding:0;float:left;text-align:right;display:block;float:left}.media-modal .compat-attachment-fields>tbody>.acf-field>.acf-label>label{padding-top:6px;margin:0;color:#666;font-weight:400;line-height:16px}.media-modal .compat-attachment-fields>tbody>.acf-field>.acf-input{width:65%;margin:0;padding:0;float:right;display:block}.media-modal .compat-attachment-fields>tbody>.acf-field p.description{margin:0}.acf-selection-error{background:#ffebe8;border:1px solid #c00;border-radius:3px;padding:8px;margin:20px 0 0}.acf-selection-error .selection-error-label{background:#c00;border-radius:3px;color:#fff;font-weight:bold;margin-right:8px;padding:2px 4px}.acf-selection-error .selection-error-message{color:#b44;display:block;padding-top:8px;word-wrap:break-word;white-space:pre-wrap}.media-modal .attachment.acf-disabled .thumbnail{opacity:.25 !important}.media-modal .attachment.acf-disabled .attachment-preview:before{background:rgba(0,0,0,.15);z-index:1;position:relative}.media-modal .compat-field-acf-form-data,.media-modal .compat-field-acf-blank{display:none !important}.media-modal .upload-error-message{white-space:pre-wrap}.media-modal .acf-required{padding:0 !important;margin:0 !important;float:none !important;color:red !important}.media-modal .media-sidebar .compat-item{padding-bottom:20px}@media(max-width: 900px){.media-modal .setting span,.media-modal .compat-attachment-fields>tbody>.acf-field>.acf-label{width:98%;float:none;text-align:left;min-height:0;padding:0}.media-modal .setting input,.media-modal .setting textarea,.media-modal .compat-attachment-fields>tbody>.acf-field>.acf-input{float:none;height:auto;max-width:none;width:98%}}.media-modal .acf-expand-details{float:right;padding:8px 10px;margin-right:6px;font-size:13px;height:18px;line-height:18px;color:#666;text-decoration:none}.media-modal .acf-expand-details:focus,.media-modal .acf-expand-details:active{outline:0 none;box-shadow:none;color:#666}.media-modal .acf-expand-details:hover{color:#000}.media-modal .acf-expand-details .is-open{display:none}.media-modal .acf-expand-details .is-closed{display:block}@media(max-width: 640px){.media-modal .acf-expand-details{display:none}}.media-modal.acf-expanded .acf-expand-details .is-open{display:block}.media-modal.acf-expanded .acf-expand-details .is-closed{display:none}.media-modal.acf-expanded .attachments-browser .media-toolbar,.media-modal.acf-expanded .attachments-browser .attachments{right:740px}.media-modal.acf-expanded .media-sidebar{width:708px}.media-modal.acf-expanded .media-sidebar .attachment-info .thumbnail{float:left;max-height:none}.media-modal.acf-expanded .media-sidebar .attachment-info .thumbnail img{max-width:100%;max-height:200px}.media-modal.acf-expanded .media-sidebar .attachment-info .details{float:right}.media-modal.acf-expanded .media-sidebar .attachment-info .thumbnail,.media-modal.acf-expanded .media-sidebar .attachment-details .setting .name,.media-modal.acf-expanded .media-sidebar .compat-attachment-fields>tbody>.acf-field>.acf-label{min-width:20%;margin-right:0}.media-modal.acf-expanded .media-sidebar .attachment-info .details,.media-modal.acf-expanded .media-sidebar .attachment-details .setting input,.media-modal.acf-expanded .media-sidebar .attachment-details .setting textarea,.media-modal.acf-expanded .media-sidebar .attachment-details .setting+.description,.media-modal.acf-expanded .media-sidebar .compat-attachment-fields>tbody>.acf-field>.acf-input{min-width:77%}@media(max-width: 900px){.media-modal.acf-expanded .attachments-browser .media-toolbar{display:none}.media-modal.acf-expanded .attachments{display:none}.media-modal.acf-expanded .media-sidebar{width:auto;max-width:none !important;bottom:0 !important}.media-modal.acf-expanded .media-sidebar .attachment-info .thumbnail{min-width:0;max-width:none;width:30%}.media-modal.acf-expanded .media-sidebar .attachment-info .details{min-width:0;max-width:none;width:67%}}@media(max-width: 640px){.media-modal.acf-expanded .media-sidebar .attachment-info .thumbnail,.media-modal.acf-expanded .media-sidebar .attachment-info .details{width:100%}}.acf-media-modal .media-embed .setting.align,.acf-media-modal .media-embed .setting.link-to{display:none}.acf-media-modal.-edit{left:15%;right:15%;top:100px;bottom:100px}.acf-media-modal.-edit .media-frame-menu,.acf-media-modal.-edit .media-frame-router,.acf-media-modal.-edit .media-frame-content .attachments,.acf-media-modal.-edit .media-frame-content .media-toolbar{display:none}.acf-media-modal.-edit .media-frame-title,.acf-media-modal.-edit .media-frame-content,.acf-media-modal.-edit .media-frame-toolbar,.acf-media-modal.-edit .media-sidebar{width:auto;left:0;right:0}.acf-media-modal.-edit .media-frame-content{top:50px}.acf-media-modal.-edit .media-frame-title{border-bottom:1px solid #dfdfdf;box-shadow:0 4px 4px -4px rgba(0,0,0,.1)}.acf-media-modal.-edit .media-sidebar{padding:0 16px}.acf-media-modal.-edit .media-sidebar .attachment-details{overflow:visible}.acf-media-modal.-edit .media-sidebar .attachment-details>h3,.acf-media-modal.-edit .media-sidebar .attachment-details>h2{display:none}.acf-media-modal.-edit .media-sidebar .attachment-details .attachment-info{background:#fff;border-bottom:#ddd solid 1px;padding:16px;margin:0 -16px 16px}.acf-media-modal.-edit .media-sidebar .attachment-details .thumbnail{margin:0 16px 0 0}.acf-media-modal.-edit .media-sidebar .attachment-details .setting{margin:0 0 5px}.acf-media-modal.-edit .media-sidebar .attachment-details .setting span{margin:0}.acf-media-modal.-edit .media-sidebar .compat-attachment-fields>tbody>.acf-field{margin:0 0 5px}.acf-media-modal.-edit .media-sidebar .compat-attachment-fields>tbody>.acf-field p.description{margin-top:3px}.acf-media-modal.-edit .media-sidebar .media-types-required-info{display:none}@media(max-width: 900px){.acf-media-modal.-edit{top:30px;right:30px;bottom:30px;left:30px}}@media(max-width: 640px){.acf-media-modal.-edit{top:0;right:0;bottom:0;left:0}}@media(max-width: 480px){.acf-media-modal.-edit .media-frame-content{top:40px}}.acf-temp-remove{position:relative;opacity:1;-webkit-transition:all .25s ease;-moz-transition:all .25s ease;-o-transition:all .25s ease;transition:all .25s ease;overflow:hidden}.acf-temp-remove:after{display:block;content:"";position:absolute;top:0;left:0;right:0;bottom:0;z-index:99}.hidden-by-conditional-logic{display:none !important}.hidden-by-conditional-logic.appear-empty{display:table-cell !important}.hidden-by-conditional-logic.appear-empty .acf-input{display:none !important}.acf-postbox.acf-hidden{display:none !important}.acf-attention{transition:border .25s ease-out}.acf-attention.-focused{border:#23282d solid 1px !important;transition:none}tr.acf-attention{transition:box-shadow .25s ease-out;position:relative}tr.acf-attention.-focused{box-shadow:#23282d 0 0 0px 1px !important}#editor .edit-post-layout__metaboxes{padding:0}#editor .edit-post-layout__metaboxes .edit-post-meta-boxes-area{margin:0}#editor .metabox-location-side .postbox-container{float:none}#editor .postbox{color:#444}#editor .postbox>.postbox-header .hndle{border-bottom:none}#editor .postbox>.postbox-header .hndle:hover{background:rgba(0,0,0,0)}#editor .postbox>.postbox-header .handle-actions .handle-order-higher,#editor .postbox>.postbox-header .handle-actions .handle-order-lower{width:1.62rem}#editor .postbox>.postbox-header .handle-actions .acf-hndle-cog{height:44px;line-height:44px}#editor .postbox>.postbox-header:hover{background:#f0f0f0}#editor .postbox:last-child.closed>.postbox-header{border-bottom:none}#editor .postbox:last-child>.inside{border-bottom:none}#editor .block-editor-writing-flow__click-redirect{min-height:50px}body.is-dragging-metaboxes #acf_after_title-sortables{outline:3px dashed #646970;display:flow-root;min-height:60px;margin-bottom:3px !important} diff --git a/wp-content/plugins/advanced-custom-fields-pro/assets/build/css/index.php b/wp-content/plugins/advanced-custom-fields-pro/assets/build/css/index.php new file mode 100644 index 000000000..97611c0c5 --- /dev/null +++ b/wp-content/plugins/advanced-custom-fields-pro/assets/build/css/index.php @@ -0,0 +1,2 @@ + table > tbody > tr:before, - &.-block > table > tbody > tr:before { - content: ""; - display: table-row; - height: 2px; - background: #f00; - } - */ - /* empty */ - /* collapsed */ - /* collapsed (block layout) */ - /* collapsed (table layout) */ -} -.acf-repeater > table { - margin: 0 0 8px; - background: #F9F9F9; -} -.acf-repeater > table > tbody tr.acf-divider:not(:first-child) > td { - border-top: 10px solid #EAECF0; -} -.acf-repeater .acf-row-handle { - width: 16px; - text-align: center !important; - vertical-align: middle !important; - position: relative; - /* icons */ - /* .order */ - /* remove */ -} -.acf-repeater .acf-row-handle .acf-order-input-wrap { - width: 45px; -} -.acf-repeater .acf-row-handle .acf-order-input::-webkit-outer-spin-button, -.acf-repeater .acf-row-handle .acf-order-input::-webkit-inner-spin-button { - -webkit-appearance: none; - margin: 0; -} -.acf-repeater .acf-row-handle .acf-order-input { - -moz-appearance: textfield; - text-align: center; -} -.acf-repeater .acf-row-handle .acf-icon { - display: none; - position: absolute; - top: 0; - margin: -8px 0 0 -2px; - /* minus icon */ -} -.acf-repeater .acf-row-handle .acf-icon.-minus { - top: 50%; - /* ie fix */ -} -body.browser-msie .acf-repeater .acf-row-handle .acf-icon.-minus { - top: 25px; -} -.acf-repeater .acf-row-handle.order { - background: #f4f4f4; - cursor: move; - color: #aaa; - text-shadow: #fff 0 1px 0; -} -.acf-repeater .acf-row-handle.order:hover { - color: #666; -} -.acf-repeater .acf-row-handle.order + td { - border-left-color: #DFDFDF; -} -.acf-repeater .acf-row-handle.pagination { - cursor: auto; -} -.acf-repeater .acf-row-handle.remove { - background: #F9F9F9; - border-left-color: #DFDFDF; -} -.acf-repeater th.acf-row-handle:before { - content: ""; - width: 16px; - display: block; - height: 1px; -} -.acf-repeater .acf-row { - /* hide clone */ - /* hover */ -} -.acf-repeater .acf-row.acf-clone { - display: none !important; -} -.acf-repeater .acf-row:hover, .acf-repeater .acf-row.-hover { - /* icons */ -} -.acf-repeater .acf-row:hover > .acf-row-handle .acf-icon, .acf-repeater .acf-row.-hover > .acf-row-handle .acf-icon { - display: block; -} -.acf-repeater .acf-row:hover > .acf-row-handle .acf-icon.show-on-shift, .acf-repeater .acf-row.-hover > .acf-row-handle .acf-icon.show-on-shift { - display: none; -} -body.acf-keydown-shift .acf-repeater .acf-row:hover > .acf-row-handle .acf-icon.show-on-shift, body.acf-keydown-shift .acf-repeater .acf-row.-hover > .acf-row-handle .acf-icon.show-on-shift { - display: block; -} -body.acf-keydown-shift .acf-repeater .acf-row:hover > .acf-row-handle .acf-icon.hide-on-shift, body.acf-keydown-shift .acf-repeater .acf-row.-hover > .acf-row-handle .acf-icon.hide-on-shift { - display: none; -} -.acf-repeater > table > tbody > tr.ui-sortable-helper { - box-shadow: 0 1px 5px rgba(0, 0, 0, 0.2); -} -.acf-repeater > table > tbody > tr.ui-sortable-placeholder { - visibility: visible !important; -} -.acf-repeater > table > tbody > tr.ui-sortable-placeholder td { - background: #F9F9F9; -} -.acf-repeater.-row > table > tbody > tr > td, .acf-repeater.-block > table > tbody > tr > td { - border-top-color: #E1E1E1; -} -.acf-repeater.-empty > table > thead > tr > th { - border-bottom: 0 none; -} -.acf-repeater.-empty.-row > table, .acf-repeater.-empty.-block > table { - display: none; -} -.acf-repeater .acf-row.-collapsed > .acf-field { - display: none !important; -} -.acf-repeater .acf-row.-collapsed > td.acf-field.-collapsed-target { - display: table-cell !important; -} -.acf-repeater .acf-row.-collapsed > .acf-fields > * { - display: none !important; -} -.acf-repeater .acf-row.-collapsed > .acf-fields > .acf-field.-collapsed-target { - display: block !important; -} -.acf-repeater .acf-row.-collapsed > .acf-fields > .acf-field.-collapsed-target[data-width] { - float: none !important; - width: auto !important; -} -.acf-repeater.-table .acf-row.-collapsed .acf-field.-collapsed-target { - border-left-color: #dfdfdf; -} -.acf-repeater.-max .acf-icon[data-event=add-row] { - display: none !important; -} -.acf-repeater > .acf-actions .acf-button { - float: right; - pointer-events: auto !important; -} -.acf-repeater > .acf-actions .acf-tablenav { - float: right; - margin-right: 20px; -} -.acf-repeater > .acf-actions .acf-tablenav .current-page { - width: auto !important; -} - -/*--------------------------------------------------------------------------------------------- -* -* Flexible Content -* -*---------------------------------------------------------------------------------------------*/ -.acf-flexible-content { - position: relative; -} -.acf-flexible-content > .clones { - display: none; -} -.acf-flexible-content > .values { - margin: 0 0 8px; -} -.acf-flexible-content > .values > .ui-sortable-placeholder { - visibility: visible !important; - border: 1px dashed #b4b9be; - box-shadow: none; - background: transparent; -} -.acf-flexible-content .layout { - position: relative; - margin: 20px 0 0; - background: #fff; - border: 1px solid #ccd0d4; -} -.acf-flexible-content .layout:first-child { - margin-top: 0; -} -.acf-flexible-content .layout .acf-fc-layout-handle { - display: block; - position: relative; - padding: 8px 10px; - cursor: move; - border-bottom: #ccd0d4 solid 1px; - color: #444; - font-size: 14px; - line-height: 1.4em; -} -.acf-flexible-content .layout .acf-fc-layout-order { - display: block; - width: 20px; - height: 20px; - border-radius: 10px; - display: inline-block; - text-align: center; - line-height: 20px; - margin: 0 2px 0 0; - background: #F1F1F1; - font-size: 12px; - color: #444; -} -html[dir=rtl] .acf-flexible-content .layout .acf-fc-layout-order { - float: right; - margin-right: 0; - margin-left: 5px; -} -.acf-flexible-content .layout .acf-fc-layout-controls { - position: absolute; - top: 8px; - right: 8px; -} -.acf-flexible-content .layout .acf-fc-layout-controls .acf-icon { - display: block; - float: left; - margin: 0 0 0 5px; -} -.acf-flexible-content .layout .acf-fc-layout-controls .acf-icon.-plus, .acf-flexible-content .layout .acf-fc-layout-controls .acf-icon.-minus, .acf-flexible-content .layout .acf-fc-layout-controls .acf-icon.-duplicate { - visibility: hidden; -} -html[dir=rtl] .acf-flexible-content .layout .acf-fc-layout-controls { - right: auto; - left: 9px; -} -.acf-flexible-content .layout.is-selected { - border-color: #7e8993; -} -.acf-flexible-content .layout.is-selected .acf-fc-layout-handle { - border-color: #7e8993; -} -.acf-flexible-content .layout:hover .acf-fc-layout-controls .acf-icon.-plus, .acf-flexible-content .layout:hover .acf-fc-layout-controls .acf-icon.-minus, .acf-flexible-content .layout:hover .acf-fc-layout-controls .acf-icon.-duplicate, .acf-flexible-content .layout.-hover .acf-fc-layout-controls .acf-icon.-plus, .acf-flexible-content .layout.-hover .acf-fc-layout-controls .acf-icon.-minus, .acf-flexible-content .layout.-hover .acf-fc-layout-controls .acf-icon.-duplicate { - visibility: visible; -} -.acf-flexible-content .layout.-collapsed > .acf-fc-layout-handle { - border-bottom-width: 0; -} -.acf-flexible-content .layout.-collapsed > .acf-fields, -.acf-flexible-content .layout.-collapsed > .acf-table { - display: none; -} -.acf-flexible-content .layout > .acf-table { - border: 0 none; - box-shadow: none; -} -.acf-flexible-content .layout > .acf-table > tbody > tr { - background: #fff; -} -.acf-flexible-content .layout > .acf-table > thead > tr > th { - background: #F9F9F9; -} -.acf-flexible-content .no-value-message { - padding: 19px; - border: #ccc dashed 2px; - text-align: center; - display: none; -} -.acf-flexible-content.-empty > .no-value-message { - display: block; -} - -.acf-fc-popup { - padding: 5px 0; - z-index: 900001; - min-width: 135px; -} -.acf-fc-popup ul, .acf-fc-popup li { - list-style: none; - display: block; - margin: 0; - padding: 0; -} -.acf-fc-popup li { - position: relative; - float: none; - white-space: nowrap; -} -.acf-fc-popup .badge { - display: inline-block; - border-radius: 8px; - font-size: 9px; - line-height: 15px; - padding: 0 5px; - background: #d54e21; - text-align: center; - color: #fff; - vertical-align: top; - margin: 0 0 0 5px; -} -.acf-fc-popup a { - color: #eee; - padding: 5px 10px; - display: block; - text-decoration: none; - position: relative; -} -.acf-fc-popup a:hover { - background: #0073aa; - color: #fff; -} -.acf-fc-popup a.disabled { - color: #888; - background: transparent; -} - -/*--------------------------------------------------------------------------------------------- -* -* Galery -* -*---------------------------------------------------------------------------------------------*/ -.acf-gallery { - border: #ccd0d4 solid 1px; - height: 400px; - position: relative; - /* main */ - /* attachments */ - /* attachment */ - /* toolbar */ - /* sidebar */ - /* side info */ - /* side data */ - /* column widths */ - /* resizable */ -} -.acf-gallery .acf-gallery-main { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - background: #fff; - z-index: 2; -} -.acf-gallery .acf-gallery-attachments { - position: absolute; - top: 0; - right: 0; - bottom: 48px; - left: 0; - padding: 5px; - overflow: auto; - overflow-x: hidden; -} -.acf-gallery .acf-gallery-attachment { - width: 25%; - float: left; - cursor: pointer; - position: relative; - /* hover */ - /* sortable */ - /* active */ - /* icon */ - /* rtl */ -} -.acf-gallery .acf-gallery-attachment .margin { - margin: 5px; - border: #d5d9dd solid 1px; - position: relative; - overflow: hidden; - background: #eee; -} -.acf-gallery .acf-gallery-attachment .margin:before { - content: ""; - display: block; - padding-top: 100%; -} -.acf-gallery .acf-gallery-attachment .thumbnail { - position: absolute; - top: 0; - left: 0; - width: 100%; - height: 100%; - transform: translate(50%, 50%); -} -html[dir=rtl] .acf-gallery .acf-gallery-attachment .thumbnail { - transform: translate(-50%, 50%); -} -.acf-gallery .acf-gallery-attachment .thumbnail img { - display: block; - height: auto; - max-height: 100%; - width: auto; - transform: translate(-50%, -50%); -} -html[dir=rtl] .acf-gallery .acf-gallery-attachment .thumbnail img { - transform: translate(50%, -50%); -} -.acf-gallery .acf-gallery-attachment .filename { - position: absolute; - bottom: 0; - left: 0; - right: 0; - padding: 5%; - background: #F4F4F4; - background: rgba(255, 255, 255, 0.8); - border-top: #DFDFDF solid 1px; - font-weight: bold; - text-align: center; - word-wrap: break-word; - max-height: 90%; - overflow: hidden; -} -.acf-gallery .acf-gallery-attachment .actions { - position: absolute; - top: 0; - right: 0; - display: none; -} -.acf-gallery .acf-gallery-attachment:hover .actions { - display: block; -} -.acf-gallery .acf-gallery-attachment.ui-sortable-helper .margin { - border: none; - box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3); -} -.acf-gallery .acf-gallery-attachment.ui-sortable-placeholder .margin { - background: #F1F1F1; - border: none; -} -.acf-gallery .acf-gallery-attachment.ui-sortable-placeholder .margin * { - display: none !important; -} -.acf-gallery .acf-gallery-attachment.active .margin { - box-shadow: 0 0 0 1px #FFFFFF, 0 0 0 5px #0073aa; -} -.acf-gallery .acf-gallery-attachment.-icon .thumbnail img { - transform: translate(-50%, -70%); -} -html[dir=rtl] .acf-gallery .acf-gallery-attachment { - float: right; -} -.acf-gallery.sidebar-open { - /* hide attachment actions when sidebar is open */ - /* allow sidebar to move over main for small widths (widget edit box) */ -} -.acf-gallery.sidebar-open .acf-gallery-attachment .actions { - display: none; -} -.acf-gallery.sidebar-open .acf-gallery-side { - z-index: 2; -} -.acf-gallery .acf-gallery-toolbar { - position: absolute; - right: 0; - bottom: 0; - left: 0; - padding: 10px; - border-top: #d5d9dd solid 1px; - background: #fff; - min-height: 28px; -} -.acf-gallery .acf-gallery-toolbar .acf-hl li { - line-height: 24px; -} -.acf-gallery .acf-gallery-toolbar .bulk-actions-select { - width: auto; - margin: 0 1px 0 0; -} -.acf-gallery .acf-gallery-side { - position: absolute; - top: 0; - right: 0; - bottom: 0; - width: 0; - background: #F9F9F9; - border-left: #ccd0d4 solid 1px; - z-index: 1; - overflow: hidden; -} -.acf-gallery .acf-gallery-side .acf-gallery-side-inner { - position: absolute; - top: 0; - left: 0; - bottom: 0; - width: 349px; -} -.acf-gallery .acf-gallery-side-info { - position: relative; - width: 100%; - padding: 10px; - margin: -10px 0 15px -10px; - background: #F1F1F1; - border-bottom: #DFDFDF solid 1px; -} -.acf-gallery .acf-gallery-side-info:after { - display: block; - clear: both; - content: ""; -} -html[dir=rtl] .acf-gallery .acf-gallery-side-info { - margin-left: 0; - margin-right: -10px; -} -.acf-gallery .acf-gallery-side-info img { - float: left; - width: auto; - max-width: 65px; - max-height: 65px; - margin: 0 10px 1px 0; - background: #FFFFFF; - padding: 3px; - border: #ccd0d4 solid 1px; - border-radius: 1px; - /* rtl */ -} -html[dir=rtl] .acf-gallery .acf-gallery-side-info img { - float: right; - margin: 0 0 0 10px; -} -.acf-gallery .acf-gallery-side-info p { - font-size: 13px; - line-height: 15px; - margin: 3px 0; - word-break: break-all; - color: #666; -} -.acf-gallery .acf-gallery-side-info p strong { - color: #000; -} -.acf-gallery .acf-gallery-side-info a { - text-decoration: none; -} -.acf-gallery .acf-gallery-side-info a.acf-gallery-edit { - color: #21759b; -} -.acf-gallery .acf-gallery-side-info a.acf-gallery-remove { - color: #bc0b0b; -} -.acf-gallery .acf-gallery-side-info a:hover { - text-decoration: underline; -} -.acf-gallery .acf-gallery-side-data { - position: absolute; - top: 0; - right: 0; - bottom: 48px; - left: 0; - overflow: auto; - overflow-x: inherit; - padding: 10px; -} -.acf-gallery .acf-gallery-side-data .acf-label, -.acf-gallery .acf-gallery-side-data th.label { - color: #666666; - font-size: 12px; - line-height: 25px; - padding: 0 4px 8px 0 !important; - width: auto !important; - vertical-align: top; -} -html[dir=rtl] .acf-gallery .acf-gallery-side-data .acf-label, -html[dir=rtl] .acf-gallery .acf-gallery-side-data th.label { - padding: 0 0 8px 4px !important; -} -.acf-gallery .acf-gallery-side-data .acf-label label, -.acf-gallery .acf-gallery-side-data th.label label { - font-weight: normal; -} -.acf-gallery .acf-gallery-side-data .acf-input, -.acf-gallery .acf-gallery-side-data td.field { - padding: 0 0 8px !important; -} -.acf-gallery .acf-gallery-side-data textarea { - min-height: 0; - height: 60px; -} -.acf-gallery .acf-gallery-side-data p.help { - font-size: 12px; -} -.acf-gallery .acf-gallery-side-data p.help:hover { - font-weight: normal; -} -.acf-gallery[data-columns="1"] .acf-gallery-attachment { - width: 100%; -} -.acf-gallery[data-columns="2"] .acf-gallery-attachment { - width: 50%; -} -.acf-gallery[data-columns="3"] .acf-gallery-attachment { - width: 33.333%; -} -.acf-gallery[data-columns="4"] .acf-gallery-attachment { - width: 25%; -} -.acf-gallery[data-columns="5"] .acf-gallery-attachment { - width: 20%; -} -.acf-gallery[data-columns="6"] .acf-gallery-attachment { - width: 16.666%; -} -.acf-gallery[data-columns="7"] .acf-gallery-attachment { - width: 14.285%; -} -.acf-gallery[data-columns="8"] .acf-gallery-attachment { - width: 12.5%; -} -.acf-gallery .ui-resizable-handle { - display: block; - position: absolute; -} -.acf-gallery .ui-resizable-s { - bottom: -5px; - cursor: ns-resize; - height: 7px; - left: 0; - width: 100%; -} - -/* media modal selected */ -.acf-media-modal .attachment.acf-selected { - box-shadow: 0 0 0 3px #fff inset, 0 0 0 7px #0073aa inset !important; -} -.acf-media-modal .attachment.acf-selected .check { - display: none !important; -} -.acf-media-modal .attachment.acf-selected .thumbnail { - opacity: 0.25 !important; -} -.acf-media-modal .attachment.acf-selected .attachment-preview:before { - background: rgba(0, 0, 0, 0.15); - z-index: 1; - position: relative; -} - -.acf-admin-single-options-page .select2-dropdown { - border-color: #6BB5D8 !important; - margin-top: -5px; - overflow: hidden; - box-shadow: 0px 1px 2px rgba(16, 24, 40, 0.1); -} -.acf-admin-single-options-page .select2-dropdown.select2-dropdown--above { - margin-top: 0; -} -.acf-admin-single-options-page .select2-container--default .select2-results__option[aria-selected=true] { - background-color: #F9FAFB !important; - color: #667085; -} -.acf-admin-single-options-page .select2-container--default .select2-results__option[aria-selected=true]:hover { - color: #399CCB; -} -.acf-admin-single-options-page .select2-container--default .select2-results__option--highlighted[aria-selected] { - color: #fff !important; - background-color: #0783BE !important; -} -.acf-admin-single-options-page .select2-dropdown .select2-results__option { - margin-bottom: 0; -} - -.acf-create-options-page-popup ~ .select2-container { - z-index: 999999999; -} - -/*----------------------------------------------------------------------------- -* -* ACF Blocks -* -*----------------------------------------------------------------------------*/ -.acf-block-component .components-placeholder { - margin: 0; -} - -.block-editor .acf-field.acf-error { - background-color: rgba(255, 0, 0, 0.05); -} - -.acf-block-component .acf-block-fields { - background: #fff; - text-align: left; - font-size: 13px; - line-height: 1.4em; - color: #444; - font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif; -} -.acf-block-component .acf-block-fields.acf-empty-block-fields { - border: 1px solid #1e1e1e; - padding: 12px; -} -.components-panel .acf-block-component .acf-block-fields.acf-empty-block-fields { - border: none; - border-top: 1px solid #ddd; - border-bottom: 1px solid #ddd; -} -html[dir=rtl] .acf-block-component .acf-block-fields { - text-align: right; -} -.acf-block-component .acf-block-fields p { - font-size: 13px; - line-height: 1.5; -} - -.acf-block-body .acf-block-fields:has(> .acf-error-message), -.acf-block-fields:has(> .acf-error-message) .acf-block-fields:has(> .acf-error-message) { - border: none !important; -} -.acf-block-body .acf-error-message, -.acf-block-fields:has(> .acf-error-message) .acf-error-message { - margin-top: 0; - border: none; -} -.acf-block-body .acf-error-message .acf-notice-dismiss, -.acf-block-fields:has(> .acf-error-message) .acf-error-message .acf-notice-dismiss { - display: flex; - align-items: center; - justify-content: center; - overflow: hidden; - outline: unset; -} -.acf-block-body .acf-error-message .acf-icon.-cancel::before, -.acf-block-fields:has(> .acf-error-message) .acf-error-message .acf-icon.-cancel::before { - margin: 0 !important; -} -.acf-block-body.acf-block-has-validation-error, -.acf-block-fields:has(> .acf-error-message).acf-block-has-validation-error { - border: 2px solid #d94f4f; -} -.acf-block-body .acf-error .acf-input .acf-notice, -.acf-block-fields:has(> .acf-error-message) .acf-error .acf-input .acf-notice { - background: none !important; - border: none !important; - display: flex !important; - align-items: center !important; - padding-left: 0; -} -.acf-block-body .acf-error .acf-input .acf-notice p, -.acf-block-fields:has(> .acf-error-message) .acf-error .acf-input .acf-notice p { - margin: 0.5em 0 !important; -} -.acf-block-body .acf-error .acf-input .acf-notice::before, -.acf-block-fields:has(> .acf-error-message) .acf-error .acf-input .acf-notice::before { - content: ""; - position: relative; - top: 0; - left: 0; - font-size: 20px; - background-image: url(../../../images/icons/icon-info-red.svg); - background-repeat: no-repeat; - background-position: center; - background-size: 69%; - height: 26px !important; - width: 26px !important; - box-sizing: border-box; -} -.acf-block-body .acf-error .acf-label label, -.acf-block-fields:has(> .acf-error-message) .acf-error .acf-label label { - color: #d94f4f; -} -.acf-block-body .acf-error .acf-input input, -.acf-block-fields:has(> .acf-error-message) .acf-error .acf-input input { - border-color: #d94f4f; -} -.acf-block-body.acf-block-has-validation-error::before, -.acf-block-fields:has(> .acf-error-message).acf-block-has-validation-error::before { - content: ""; - position: absolute; - top: -2px; - left: -32px; - font-size: 20px; - background-color: #d94f4f; - background-image: url(../../../images/icons/icon-info-white.svg); - background-repeat: no-repeat; - background-position-x: center; - background-position-y: 52%; - background-size: 55%; - height: 40px; - width: 32px; - box-sizing: border-box; -} -.acf-block-body .acf-block-validation-error, -.acf-block-fields:has(> .acf-error-message) .acf-block-validation-error { - color: #d94f4f; - display: flex; - align-items: center; -} -.acf-block-body .acf-block-fields, -.acf-block-fields:has(> .acf-error-message) .acf-block-fields { - border: #adb2ad solid 1px; -} -.acf-block-body .acf-block-fields .acf-tab-wrap .acf-tab-group, -.acf-block-fields:has(> .acf-error-message) .acf-block-fields .acf-tab-wrap .acf-tab-group { - margin-left: 0; - padding: 16px 20px 0; -} -.acf-block-body .acf-fields > .acf-field, -.acf-block-fields:has(> .acf-error-message) .acf-fields > .acf-field { - padding: 16px 20px; -} -.acf-block-body .acf-fields > .acf-field.acf-accordion, -.acf-block-fields:has(> .acf-error-message) .acf-fields > .acf-field.acf-accordion { - border-color: #adb2ad; -} -.acf-block-body .acf-fields > .acf-field.acf-accordion .acf-accordion-title, -.acf-block-fields:has(> .acf-error-message) .acf-fields > .acf-field.acf-accordion .acf-accordion-title { - padding: 16px 20px; -} -.acf-block-body .acf-button, -.acf-block-body .acf-link a.button, -.acf-block-body .acf-add-checkbox, -.acf-block-fields:has(> .acf-error-message) .acf-button, -.acf-block-fields:has(> .acf-error-message) .acf-link a.button, -.acf-block-fields:has(> .acf-error-message) .acf-add-checkbox { - color: #2271b1 !important; - border-color: #2271b1 !important; - background: #f6f7f7 !important; - vertical-align: top; -} -.acf-block-body .acf-button.button-primary:hover, -.acf-block-body .acf-link a.button.button-primary:hover, -.acf-block-body .acf-add-checkbox.button-primary:hover, -.acf-block-fields:has(> .acf-error-message) .acf-button.button-primary:hover, -.acf-block-fields:has(> .acf-error-message) .acf-link a.button.button-primary:hover, -.acf-block-fields:has(> .acf-error-message) .acf-add-checkbox.button-primary:hover { - color: white !important; - background: #2271b1 !important; -} -.acf-block-body .acf-button:focus, -.acf-block-body .acf-link a.button:focus, -.acf-block-body .acf-add-checkbox:focus, -.acf-block-fields:has(> .acf-error-message) .acf-button:focus, -.acf-block-fields:has(> .acf-error-message) .acf-link a.button:focus, -.acf-block-fields:has(> .acf-error-message) .acf-add-checkbox:focus { - outline: none !important; - background: #f6f7f7 !important; -} -.acf-block-body .acf-button:hover, -.acf-block-body .acf-link a.button:hover, -.acf-block-body .acf-add-checkbox:hover, -.acf-block-fields:has(> .acf-error-message) .acf-button:hover, -.acf-block-fields:has(> .acf-error-message) .acf-link a.button:hover, -.acf-block-fields:has(> .acf-error-message) .acf-add-checkbox:hover { - color: #0a4b78 !important; -} -.acf-block-body .acf-block-preview, -.acf-block-fields:has(> .acf-error-message) .acf-block-preview { - min-height: 10px; -} - -.acf-block-panel .acf-block-fields { - border-top: #ddd solid 1px; - border-bottom: #ddd solid 1px; - min-height: 1px; -} -.acf-block-panel .acf-block-fields:empty { - border-top: none; -} -.acf-block-panel .acf-block-fields .acf-tab-wrap { - background: transparent; -} - -.components-panel__body .acf-block-panel { - margin: 16px -16px -16px; -} - -/*# sourceMappingURL=acf-pro-input.css.map*/ \ No newline at end of file diff --git a/wp-content/plugins/advanced-custom-fields-pro/assets/build/css/pro/acf-pro-input.css.map b/wp-content/plugins/advanced-custom-fields-pro/assets/build/css/pro/acf-pro-input.css.map deleted file mode 100644 index 5563c14b1..000000000 --- a/wp-content/plugins/advanced-custom-fields-pro/assets/build/css/pro/acf-pro-input.css.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"acf-pro-input.css","mappings":"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;AGyIE;EACC;AHvIH;AG8IC;EAEC;EAMA;AHlJF;AG6IE;EACC;AH3IH;AGgJE;EACC;AH9IH;AGqJC;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AHnJF;AGqJE;EACC;AHnJH;AGsJE;EACC;EACA;AHpJH;AG2JC;EACC;EACA;EACA;EACA;EACA;EAEA;EACA;EAEA;EACA;AH3JF;AG6JE;EACC;EACA;EACA;EACA;EACA;AH3JH;AGkKC;EAEC;EACA;EACA;EACA;EACA;EACA;AHjKF;AEhgBC;EACC;EACA;EACA;AFkgBF;AG8JE;EACC;EACA;AH5JH;AG+JE;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAEA;AH9JH;AG+JG;EACC;EACA;AH7JJ;AGiKE;EACC;EACA;EACA;EACA;EACA;AH/JH;AGiKG;EACC;AH/JJ;AGmKE;EACC;AHjKH;AGmKG;EACC;AHjKJ;AGoKG;EACC;AHlKJ;AGqKG;EACC;AHnKJ;AG4KC;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AH1KF;AG6KE;;EAEC;EACA;EACA;EACA;EACA;EACA;AH3KH;AG6KG;;EACC;AH1KJ;AG6KG;;EACC;AH1KJ;AG8KE;;EAEC;AH5KH;AG+KE;EACC;EACA;AH7KH;AGgLE;EACC;AH9KH;AGgLG;EACC;AH9KJ;AGsLC;EAA8C;AHnL/C;AGoLC;EAA8C;AHjL/C;AGkLC;EAA8C;AH/K/C;AGgLC;EAA8C;AH7K/C;AG8KC;EAA8C;AH3K/C;AG4KC;EAA8C;AHzK/C;AG0KC;EAA8C;AHvK/C;AGwKC;EAA8C;AHrK/C;AGyKC;EACC;EACA;AHvKF;AG0KC;EACC;EACA;EACA;EACA;EACA;AHxKF;;AG+KA;AACA;EACC;AH5KD;AG8KC;EACC;AH5KF;AG+KC;EACC;AH7KF;AGgLC;EACC;EACA;EACA;AH9KF;;AGqLC;EACC;EACA;EACA;EACA,6CFlvBa;ADgkBf;AGqLC;EACC;AHnLF;AGsLC;EACC;EACA,cFlyBS;AD8mBX;AGsLE;EACC,cF1xBQ;ADsmBX;AGwLC;EAEC;EACA;AHvLF;AG2LC;EACC;AHzLF;;AG8LA;EACC;AH3LD;;AI7qBA;;;;8EAAA;AASC;EACC;AJ4qBF;;AIxqBA;EACC;AJ2qBD;;AIvqBA;EAEC;EAGA;EACA;EACA;EACA;EACA,gIACC;AJsqBF;AI5pBC;EACC;EACA;AJ8pBF;AI5pBE;EACC;EACA;EACA;AJ8pBH;AI1pBC;EACC;AJ4pBF;AIzpBC;EACC;EACA;AJ2pBF;;AInpBC;;EACC;AJupBF;AInpBC;;EACC;EACA;AJspBF;AIppBE;;EACC;EACA;EACA;EACA;EAGA;AJqpBH;AIlpBE;;EACC;AJqpBH;AIhpBC;;EACC;AJmpBF;AIhpBC;;EACC;EACA;EACA;EACA;EACA;AJmpBF;AIjpBE;;EACC;AJopBH;AI/oBC;;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AJkpBF;AI/oBC;;EACC;AJkpBF;AI/oBC;;EACC;AJkpBF;AI/oBC;;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAEA;EACA;EACA;EACA;EACA;AJipBF;AI9oBC;;EACC;EACA;EACA;AJipBF;AI7oBC;;EACC;AJgpBF;AI3oBG;;EACC;EACA;AJ8oBJ;AIxoBC;;EACC;AJ2oBF;AIxoBE;;EACC;AJ2oBH;AIzoBG;;EACC;AJ4oBJ;AItoBC;;;;;;EAGC;EACA;EACA;EACA;AJ2oBF;AIzoBE;;;;;;EACC;EACA;AJgpBH;AI7oBE;;;;;;EACC;EACA;AJopBH;AIjpBE;;;;;;EACC;AJwpBH;AInpBC;;EACC;AJspBF;;AI/oBC;EACC;EACA;EACA;AJkpBF;AIhpBE;EACC;AJkpBH;AI9oBE;EACC;AJgpBH;;AIzoBA;EACC;AJ4oBD,C","sources":["webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/sass/pro/acf-pro-input.scss","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/sass/_variables.scss","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/sass/_mixins.scss","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/sass/pro/_fields.scss","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/sass/pro/_blocks.scss"],"sourcesContent":["@charset \"UTF-8\";\n/*--------------------------------------------------------------------------------------------\n*\n*\tVars\n*\n*--------------------------------------------------------------------------------------------*/\n/* colors */\n/* acf-field */\n/* responsive */\n/*--------------------------------------------------------------------------------------------\n*\n*\tACF 6 ↓\n*\n*--------------------------------------------------------------------------------------------*/\n/*--------------------------------------------------------------------------------------------\n*\n* Mixins\n*\n*--------------------------------------------------------------------------------------------*/\n/*---------------------------------------------------------------------------------------------\n*\n* Repeater\n*\n*---------------------------------------------------------------------------------------------*/\n.acf-repeater {\n /* table */\n /* row handle (add/remove) */\n /* add in spacer to th (force correct width) */\n /* row */\n /* sortable */\n /* layouts */\n /*\n \t&.-row > table > tbody > tr:before,\n \t&.-block > table > tbody > tr:before {\n \t\tcontent: \"\";\n \t\tdisplay: table-row;\n \t\theight: 2px;\n \t\tbackground: #f00;\n \t}\n */\n /* empty */\n /* collapsed */\n /* collapsed (block layout) */\n /* collapsed (table layout) */\n}\n.acf-repeater > table {\n margin: 0 0 8px;\n background: #F9F9F9;\n}\n.acf-repeater > table > tbody tr.acf-divider:not(:first-child) > td {\n border-top: 10px solid #EAECF0;\n}\n.acf-repeater .acf-row-handle {\n width: 16px;\n text-align: center !important;\n vertical-align: middle !important;\n position: relative;\n /* icons */\n /* .order */\n /* remove */\n}\n.acf-repeater .acf-row-handle .acf-order-input-wrap {\n width: 45px;\n}\n.acf-repeater .acf-row-handle .acf-order-input::-webkit-outer-spin-button,\n.acf-repeater .acf-row-handle .acf-order-input::-webkit-inner-spin-button {\n -webkit-appearance: none;\n margin: 0;\n}\n.acf-repeater .acf-row-handle .acf-order-input {\n -moz-appearance: textfield;\n text-align: center;\n}\n.acf-repeater .acf-row-handle .acf-icon {\n display: none;\n position: absolute;\n top: 0;\n margin: -8px 0 0 -2px;\n /* minus icon */\n}\n.acf-repeater .acf-row-handle .acf-icon.-minus {\n top: 50%;\n /* ie fix */\n}\nbody.browser-msie .acf-repeater .acf-row-handle .acf-icon.-minus {\n top: 25px;\n}\n.acf-repeater .acf-row-handle.order {\n background: #f4f4f4;\n cursor: move;\n color: #aaa;\n text-shadow: #fff 0 1px 0;\n}\n.acf-repeater .acf-row-handle.order:hover {\n color: #666;\n}\n.acf-repeater .acf-row-handle.order + td {\n border-left-color: #DFDFDF;\n}\n.acf-repeater .acf-row-handle.pagination {\n cursor: auto;\n}\n.acf-repeater .acf-row-handle.remove {\n background: #F9F9F9;\n border-left-color: #DFDFDF;\n}\n.acf-repeater th.acf-row-handle:before {\n content: \"\";\n width: 16px;\n display: block;\n height: 1px;\n}\n.acf-repeater .acf-row {\n /* hide clone */\n /* hover */\n}\n.acf-repeater .acf-row.acf-clone {\n display: none !important;\n}\n.acf-repeater .acf-row:hover, .acf-repeater .acf-row.-hover {\n /* icons */\n}\n.acf-repeater .acf-row:hover > .acf-row-handle .acf-icon, .acf-repeater .acf-row.-hover > .acf-row-handle .acf-icon {\n display: block;\n}\n.acf-repeater .acf-row:hover > .acf-row-handle .acf-icon.show-on-shift, .acf-repeater .acf-row.-hover > .acf-row-handle .acf-icon.show-on-shift {\n display: none;\n}\nbody.acf-keydown-shift .acf-repeater .acf-row:hover > .acf-row-handle .acf-icon.show-on-shift, body.acf-keydown-shift .acf-repeater .acf-row.-hover > .acf-row-handle .acf-icon.show-on-shift {\n display: block;\n}\nbody.acf-keydown-shift .acf-repeater .acf-row:hover > .acf-row-handle .acf-icon.hide-on-shift, body.acf-keydown-shift .acf-repeater .acf-row.-hover > .acf-row-handle .acf-icon.hide-on-shift {\n display: none;\n}\n.acf-repeater > table > tbody > tr.ui-sortable-helper {\n box-shadow: 0 1px 5px rgba(0, 0, 0, 0.2);\n}\n.acf-repeater > table > tbody > tr.ui-sortable-placeholder {\n visibility: visible !important;\n}\n.acf-repeater > table > tbody > tr.ui-sortable-placeholder td {\n background: #F9F9F9;\n}\n.acf-repeater.-row > table > tbody > tr > td, .acf-repeater.-block > table > tbody > tr > td {\n border-top-color: #E1E1E1;\n}\n.acf-repeater.-empty > table > thead > tr > th {\n border-bottom: 0 none;\n}\n.acf-repeater.-empty.-row > table, .acf-repeater.-empty.-block > table {\n display: none;\n}\n.acf-repeater .acf-row.-collapsed > .acf-field {\n display: none !important;\n}\n.acf-repeater .acf-row.-collapsed > td.acf-field.-collapsed-target {\n display: table-cell !important;\n}\n.acf-repeater .acf-row.-collapsed > .acf-fields > * {\n display: none !important;\n}\n.acf-repeater .acf-row.-collapsed > .acf-fields > .acf-field.-collapsed-target {\n display: block !important;\n}\n.acf-repeater .acf-row.-collapsed > .acf-fields > .acf-field.-collapsed-target[data-width] {\n float: none !important;\n width: auto !important;\n}\n.acf-repeater.-table .acf-row.-collapsed .acf-field.-collapsed-target {\n border-left-color: #dfdfdf;\n}\n.acf-repeater.-max .acf-icon[data-event=add-row] {\n display: none !important;\n}\n.acf-repeater > .acf-actions .acf-button {\n float: right;\n pointer-events: auto !important;\n}\n.acf-repeater > .acf-actions .acf-tablenav {\n float: right;\n margin-right: 20px;\n}\n.acf-repeater > .acf-actions .acf-tablenav .current-page {\n width: auto !important;\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* Flexible Content\n*\n*---------------------------------------------------------------------------------------------*/\n.acf-flexible-content {\n position: relative;\n}\n.acf-flexible-content > .clones {\n display: none;\n}\n.acf-flexible-content > .values {\n margin: 0 0 8px;\n}\n.acf-flexible-content > .values > .ui-sortable-placeholder {\n visibility: visible !important;\n border: 1px dashed #b4b9be;\n box-shadow: none;\n background: transparent;\n}\n.acf-flexible-content .layout {\n position: relative;\n margin: 20px 0 0;\n background: #fff;\n border: 1px solid #ccd0d4;\n}\n.acf-flexible-content .layout:first-child {\n margin-top: 0;\n}\n.acf-flexible-content .layout .acf-fc-layout-handle {\n display: block;\n position: relative;\n padding: 8px 10px;\n cursor: move;\n border-bottom: #ccd0d4 solid 1px;\n color: #444;\n font-size: 14px;\n line-height: 1.4em;\n}\n.acf-flexible-content .layout .acf-fc-layout-order {\n display: block;\n width: 20px;\n height: 20px;\n border-radius: 10px;\n display: inline-block;\n text-align: center;\n line-height: 20px;\n margin: 0 2px 0 0;\n background: #F1F1F1;\n font-size: 12px;\n color: #444;\n}\nhtml[dir=rtl] .acf-flexible-content .layout .acf-fc-layout-order {\n float: right;\n margin-right: 0;\n margin-left: 5px;\n}\n.acf-flexible-content .layout .acf-fc-layout-controls {\n position: absolute;\n top: 8px;\n right: 8px;\n}\n.acf-flexible-content .layout .acf-fc-layout-controls .acf-icon {\n display: block;\n float: left;\n margin: 0 0 0 5px;\n}\n.acf-flexible-content .layout .acf-fc-layout-controls .acf-icon.-plus, .acf-flexible-content .layout .acf-fc-layout-controls .acf-icon.-minus, .acf-flexible-content .layout .acf-fc-layout-controls .acf-icon.-duplicate {\n visibility: hidden;\n}\nhtml[dir=rtl] .acf-flexible-content .layout .acf-fc-layout-controls {\n right: auto;\n left: 9px;\n}\n.acf-flexible-content .layout.is-selected {\n border-color: #7e8993;\n}\n.acf-flexible-content .layout.is-selected .acf-fc-layout-handle {\n border-color: #7e8993;\n}\n.acf-flexible-content .layout:hover .acf-fc-layout-controls .acf-icon.-plus, .acf-flexible-content .layout:hover .acf-fc-layout-controls .acf-icon.-minus, .acf-flexible-content .layout:hover .acf-fc-layout-controls .acf-icon.-duplicate, .acf-flexible-content .layout.-hover .acf-fc-layout-controls .acf-icon.-plus, .acf-flexible-content .layout.-hover .acf-fc-layout-controls .acf-icon.-minus, .acf-flexible-content .layout.-hover .acf-fc-layout-controls .acf-icon.-duplicate {\n visibility: visible;\n}\n.acf-flexible-content .layout.-collapsed > .acf-fc-layout-handle {\n border-bottom-width: 0;\n}\n.acf-flexible-content .layout.-collapsed > .acf-fields,\n.acf-flexible-content .layout.-collapsed > .acf-table {\n display: none;\n}\n.acf-flexible-content .layout > .acf-table {\n border: 0 none;\n box-shadow: none;\n}\n.acf-flexible-content .layout > .acf-table > tbody > tr {\n background: #fff;\n}\n.acf-flexible-content .layout > .acf-table > thead > tr > th {\n background: #F9F9F9;\n}\n.acf-flexible-content .no-value-message {\n padding: 19px;\n border: #ccc dashed 2px;\n text-align: center;\n display: none;\n}\n.acf-flexible-content.-empty > .no-value-message {\n display: block;\n}\n\n.acf-fc-popup {\n padding: 5px 0;\n z-index: 900001;\n min-width: 135px;\n}\n.acf-fc-popup ul, .acf-fc-popup li {\n list-style: none;\n display: block;\n margin: 0;\n padding: 0;\n}\n.acf-fc-popup li {\n position: relative;\n float: none;\n white-space: nowrap;\n}\n.acf-fc-popup .badge {\n display: inline-block;\n border-radius: 8px;\n font-size: 9px;\n line-height: 15px;\n padding: 0 5px;\n background: #d54e21;\n text-align: center;\n color: #fff;\n vertical-align: top;\n margin: 0 0 0 5px;\n}\n.acf-fc-popup a {\n color: #eee;\n padding: 5px 10px;\n display: block;\n text-decoration: none;\n position: relative;\n}\n.acf-fc-popup a:hover {\n background: #0073aa;\n color: #fff;\n}\n.acf-fc-popup a.disabled {\n color: #888;\n background: transparent;\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* Galery\n*\n*---------------------------------------------------------------------------------------------*/\n.acf-gallery {\n border: #ccd0d4 solid 1px;\n height: 400px;\n position: relative;\n /* main */\n /* attachments */\n /* attachment */\n /* toolbar */\n /* sidebar */\n /* side info */\n /* side data */\n /* column widths */\n /* resizable */\n}\n.acf-gallery .acf-gallery-main {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n background: #fff;\n z-index: 2;\n}\n.acf-gallery .acf-gallery-attachments {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 48px;\n left: 0;\n padding: 5px;\n overflow: auto;\n overflow-x: hidden;\n}\n.acf-gallery .acf-gallery-attachment {\n width: 25%;\n float: left;\n cursor: pointer;\n position: relative;\n /* hover */\n /* sortable */\n /* active */\n /* icon */\n /* rtl */\n}\n.acf-gallery .acf-gallery-attachment .margin {\n margin: 5px;\n border: #d5d9dd solid 1px;\n position: relative;\n overflow: hidden;\n background: #eee;\n}\n.acf-gallery .acf-gallery-attachment .margin:before {\n content: \"\";\n display: block;\n padding-top: 100%;\n}\n.acf-gallery .acf-gallery-attachment .thumbnail {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n transform: translate(50%, 50%);\n}\nhtml[dir=rtl] .acf-gallery .acf-gallery-attachment .thumbnail {\n transform: translate(-50%, 50%);\n}\n.acf-gallery .acf-gallery-attachment .thumbnail img {\n display: block;\n height: auto;\n max-height: 100%;\n width: auto;\n transform: translate(-50%, -50%);\n}\nhtml[dir=rtl] .acf-gallery .acf-gallery-attachment .thumbnail img {\n transform: translate(50%, -50%);\n}\n.acf-gallery .acf-gallery-attachment .filename {\n position: absolute;\n bottom: 0;\n left: 0;\n right: 0;\n padding: 5%;\n background: #F4F4F4;\n background: rgba(255, 255, 255, 0.8);\n border-top: #DFDFDF solid 1px;\n font-weight: bold;\n text-align: center;\n word-wrap: break-word;\n max-height: 90%;\n overflow: hidden;\n}\n.acf-gallery .acf-gallery-attachment .actions {\n position: absolute;\n top: 0;\n right: 0;\n display: none;\n}\n.acf-gallery .acf-gallery-attachment:hover .actions {\n display: block;\n}\n.acf-gallery .acf-gallery-attachment.ui-sortable-helper .margin {\n border: none;\n box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);\n}\n.acf-gallery .acf-gallery-attachment.ui-sortable-placeholder .margin {\n background: #F1F1F1;\n border: none;\n}\n.acf-gallery .acf-gallery-attachment.ui-sortable-placeholder .margin * {\n display: none !important;\n}\n.acf-gallery .acf-gallery-attachment.active .margin {\n box-shadow: 0 0 0 1px #FFFFFF, 0 0 0 5px #0073aa;\n}\n.acf-gallery .acf-gallery-attachment.-icon .thumbnail img {\n transform: translate(-50%, -70%);\n}\nhtml[dir=rtl] .acf-gallery .acf-gallery-attachment {\n float: right;\n}\n.acf-gallery.sidebar-open {\n /* hide attachment actions when sidebar is open */\n /* allow sidebar to move over main for small widths (widget edit box) */\n}\n.acf-gallery.sidebar-open .acf-gallery-attachment .actions {\n display: none;\n}\n.acf-gallery.sidebar-open .acf-gallery-side {\n z-index: 2;\n}\n.acf-gallery .acf-gallery-toolbar {\n position: absolute;\n right: 0;\n bottom: 0;\n left: 0;\n padding: 10px;\n border-top: #d5d9dd solid 1px;\n background: #fff;\n min-height: 28px;\n}\n.acf-gallery .acf-gallery-toolbar .acf-hl li {\n line-height: 24px;\n}\n.acf-gallery .acf-gallery-toolbar .bulk-actions-select {\n width: auto;\n margin: 0 1px 0 0;\n}\n.acf-gallery .acf-gallery-side {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n width: 0;\n background: #F9F9F9;\n border-left: #ccd0d4 solid 1px;\n z-index: 1;\n overflow: hidden;\n}\n.acf-gallery .acf-gallery-side .acf-gallery-side-inner {\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n width: 349px;\n}\n.acf-gallery .acf-gallery-side-info {\n position: relative;\n width: 100%;\n padding: 10px;\n margin: -10px 0 15px -10px;\n background: #F1F1F1;\n border-bottom: #DFDFDF solid 1px;\n}\n.acf-gallery .acf-gallery-side-info:after {\n display: block;\n clear: both;\n content: \"\";\n}\nhtml[dir=rtl] .acf-gallery .acf-gallery-side-info {\n margin-left: 0;\n margin-right: -10px;\n}\n.acf-gallery .acf-gallery-side-info img {\n float: left;\n width: auto;\n max-width: 65px;\n max-height: 65px;\n margin: 0 10px 1px 0;\n background: #FFFFFF;\n padding: 3px;\n border: #ccd0d4 solid 1px;\n border-radius: 1px;\n /* rtl */\n}\nhtml[dir=rtl] .acf-gallery .acf-gallery-side-info img {\n float: right;\n margin: 0 0 0 10px;\n}\n.acf-gallery .acf-gallery-side-info p {\n font-size: 13px;\n line-height: 15px;\n margin: 3px 0;\n word-break: break-all;\n color: #666;\n}\n.acf-gallery .acf-gallery-side-info p strong {\n color: #000;\n}\n.acf-gallery .acf-gallery-side-info a {\n text-decoration: none;\n}\n.acf-gallery .acf-gallery-side-info a.acf-gallery-edit {\n color: #21759b;\n}\n.acf-gallery .acf-gallery-side-info a.acf-gallery-remove {\n color: #bc0b0b;\n}\n.acf-gallery .acf-gallery-side-info a:hover {\n text-decoration: underline;\n}\n.acf-gallery .acf-gallery-side-data {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 48px;\n left: 0;\n overflow: auto;\n overflow-x: inherit;\n padding: 10px;\n}\n.acf-gallery .acf-gallery-side-data .acf-label,\n.acf-gallery .acf-gallery-side-data th.label {\n color: #666666;\n font-size: 12px;\n line-height: 25px;\n padding: 0 4px 8px 0 !important;\n width: auto !important;\n vertical-align: top;\n}\nhtml[dir=rtl] .acf-gallery .acf-gallery-side-data .acf-label,\nhtml[dir=rtl] .acf-gallery .acf-gallery-side-data th.label {\n padding: 0 0 8px 4px !important;\n}\n.acf-gallery .acf-gallery-side-data .acf-label label,\n.acf-gallery .acf-gallery-side-data th.label label {\n font-weight: normal;\n}\n.acf-gallery .acf-gallery-side-data .acf-input,\n.acf-gallery .acf-gallery-side-data td.field {\n padding: 0 0 8px !important;\n}\n.acf-gallery .acf-gallery-side-data textarea {\n min-height: 0;\n height: 60px;\n}\n.acf-gallery .acf-gallery-side-data p.help {\n font-size: 12px;\n}\n.acf-gallery .acf-gallery-side-data p.help:hover {\n font-weight: normal;\n}\n.acf-gallery[data-columns=\"1\"] .acf-gallery-attachment {\n width: 100%;\n}\n.acf-gallery[data-columns=\"2\"] .acf-gallery-attachment {\n width: 50%;\n}\n.acf-gallery[data-columns=\"3\"] .acf-gallery-attachment {\n width: 33.333%;\n}\n.acf-gallery[data-columns=\"4\"] .acf-gallery-attachment {\n width: 25%;\n}\n.acf-gallery[data-columns=\"5\"] .acf-gallery-attachment {\n width: 20%;\n}\n.acf-gallery[data-columns=\"6\"] .acf-gallery-attachment {\n width: 16.666%;\n}\n.acf-gallery[data-columns=\"7\"] .acf-gallery-attachment {\n width: 14.285%;\n}\n.acf-gallery[data-columns=\"8\"] .acf-gallery-attachment {\n width: 12.5%;\n}\n.acf-gallery .ui-resizable-handle {\n display: block;\n position: absolute;\n}\n.acf-gallery .ui-resizable-s {\n bottom: -5px;\n cursor: ns-resize;\n height: 7px;\n left: 0;\n width: 100%;\n}\n\n/* media modal selected */\n.acf-media-modal .attachment.acf-selected {\n box-shadow: 0 0 0 3px #fff inset, 0 0 0 7px #0073aa inset !important;\n}\n.acf-media-modal .attachment.acf-selected .check {\n display: none !important;\n}\n.acf-media-modal .attachment.acf-selected .thumbnail {\n opacity: 0.25 !important;\n}\n.acf-media-modal .attachment.acf-selected .attachment-preview:before {\n background: rgba(0, 0, 0, 0.15);\n z-index: 1;\n position: relative;\n}\n\n.acf-admin-single-options-page .select2-dropdown {\n border-color: #6BB5D8 !important;\n margin-top: -5px;\n overflow: hidden;\n box-shadow: 0px 1px 2px rgba(16, 24, 40, 0.1);\n}\n.acf-admin-single-options-page .select2-dropdown.select2-dropdown--above {\n margin-top: 0;\n}\n.acf-admin-single-options-page .select2-container--default .select2-results__option[aria-selected=true] {\n background-color: #F9FAFB !important;\n color: #667085;\n}\n.acf-admin-single-options-page .select2-container--default .select2-results__option[aria-selected=true]:hover {\n color: #399CCB;\n}\n.acf-admin-single-options-page .select2-container--default .select2-results__option--highlighted[aria-selected] {\n color: #fff !important;\n background-color: #0783BE !important;\n}\n.acf-admin-single-options-page .select2-dropdown .select2-results__option {\n margin-bottom: 0;\n}\n\n.acf-create-options-page-popup ~ .select2-container {\n z-index: 999999999;\n}\n\n/*-----------------------------------------------------------------------------\n*\n*\tACF Blocks\n*\n*----------------------------------------------------------------------------*/\n.acf-block-component .components-placeholder {\n margin: 0;\n}\n\n.block-editor .acf-field.acf-error {\n background-color: rgba(255, 0, 0, 0.05);\n}\n\n.acf-block-component .acf-block-fields {\n background: #fff;\n text-align: left;\n font-size: 13px;\n line-height: 1.4em;\n color: #444;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Oxygen-Sans, Ubuntu, Cantarell, \"Helvetica Neue\", sans-serif;\n}\n.acf-block-component .acf-block-fields.acf-empty-block-fields {\n border: 1px solid #1e1e1e;\n padding: 12px;\n}\n.components-panel .acf-block-component .acf-block-fields.acf-empty-block-fields {\n border: none;\n border-top: 1px solid #ddd;\n border-bottom: 1px solid #ddd;\n}\nhtml[dir=rtl] .acf-block-component .acf-block-fields {\n text-align: right;\n}\n.acf-block-component .acf-block-fields p {\n font-size: 13px;\n line-height: 1.5;\n}\n\n.acf-block-body .acf-block-fields:has(> .acf-error-message),\n.acf-block-fields:has(> .acf-error-message) .acf-block-fields:has(> .acf-error-message) {\n border: none !important;\n}\n.acf-block-body .acf-error-message,\n.acf-block-fields:has(> .acf-error-message) .acf-error-message {\n margin-top: 0;\n border: none;\n}\n.acf-block-body .acf-error-message .acf-notice-dismiss,\n.acf-block-fields:has(> .acf-error-message) .acf-error-message .acf-notice-dismiss {\n display: flex;\n align-items: center;\n justify-content: center;\n overflow: hidden;\n outline: unset;\n}\n.acf-block-body .acf-error-message .acf-icon.-cancel::before,\n.acf-block-fields:has(> .acf-error-message) .acf-error-message .acf-icon.-cancel::before {\n margin: 0 !important;\n}\n.acf-block-body.acf-block-has-validation-error,\n.acf-block-fields:has(> .acf-error-message).acf-block-has-validation-error {\n border: 2px solid #d94f4f;\n}\n.acf-block-body .acf-error .acf-input .acf-notice,\n.acf-block-fields:has(> .acf-error-message) .acf-error .acf-input .acf-notice {\n background: none !important;\n border: none !important;\n display: flex !important;\n align-items: center !important;\n padding-left: 0;\n}\n.acf-block-body .acf-error .acf-input .acf-notice p,\n.acf-block-fields:has(> .acf-error-message) .acf-error .acf-input .acf-notice p {\n margin: 0.5em 0 !important;\n}\n.acf-block-body .acf-error .acf-input .acf-notice::before,\n.acf-block-fields:has(> .acf-error-message) .acf-error .acf-input .acf-notice::before {\n content: \"\";\n position: relative;\n top: 0;\n left: 0;\n font-size: 20px;\n background-image: url(../../../images/icons/icon-info-red.svg);\n background-repeat: no-repeat;\n background-position: center;\n background-size: 69%;\n height: 26px !important;\n width: 26px !important;\n box-sizing: border-box;\n}\n.acf-block-body .acf-error .acf-label label,\n.acf-block-fields:has(> .acf-error-message) .acf-error .acf-label label {\n color: #d94f4f;\n}\n.acf-block-body .acf-error .acf-input input,\n.acf-block-fields:has(> .acf-error-message) .acf-error .acf-input input {\n border-color: #d94f4f;\n}\n.acf-block-body.acf-block-has-validation-error::before,\n.acf-block-fields:has(> .acf-error-message).acf-block-has-validation-error::before {\n content: \"\";\n position: absolute;\n top: -2px;\n left: -32px;\n font-size: 20px;\n background-color: #d94f4f;\n background-image: url(../../../images/icons/icon-info-white.svg);\n background-repeat: no-repeat;\n background-position-x: center;\n background-position-y: 52%;\n background-size: 55%;\n height: 40px;\n width: 32px;\n box-sizing: border-box;\n}\n.acf-block-body .acf-block-validation-error,\n.acf-block-fields:has(> .acf-error-message) .acf-block-validation-error {\n color: #d94f4f;\n display: flex;\n align-items: center;\n}\n.acf-block-body .acf-block-fields,\n.acf-block-fields:has(> .acf-error-message) .acf-block-fields {\n border: #adb2ad solid 1px;\n}\n.acf-block-body .acf-block-fields .acf-tab-wrap .acf-tab-group,\n.acf-block-fields:has(> .acf-error-message) .acf-block-fields .acf-tab-wrap .acf-tab-group {\n margin-left: 0;\n padding: 16px 20px 0;\n}\n.acf-block-body .acf-fields > .acf-field,\n.acf-block-fields:has(> .acf-error-message) .acf-fields > .acf-field {\n padding: 16px 20px;\n}\n.acf-block-body .acf-fields > .acf-field.acf-accordion,\n.acf-block-fields:has(> .acf-error-message) .acf-fields > .acf-field.acf-accordion {\n border-color: #adb2ad;\n}\n.acf-block-body .acf-fields > .acf-field.acf-accordion .acf-accordion-title,\n.acf-block-fields:has(> .acf-error-message) .acf-fields > .acf-field.acf-accordion .acf-accordion-title {\n padding: 16px 20px;\n}\n.acf-block-body .acf-button,\n.acf-block-body .acf-link a.button,\n.acf-block-body .acf-add-checkbox,\n.acf-block-fields:has(> .acf-error-message) .acf-button,\n.acf-block-fields:has(> .acf-error-message) .acf-link a.button,\n.acf-block-fields:has(> .acf-error-message) .acf-add-checkbox {\n color: #2271b1 !important;\n border-color: #2271b1 !important;\n background: #f6f7f7 !important;\n vertical-align: top;\n}\n.acf-block-body .acf-button.button-primary:hover,\n.acf-block-body .acf-link a.button.button-primary:hover,\n.acf-block-body .acf-add-checkbox.button-primary:hover,\n.acf-block-fields:has(> .acf-error-message) .acf-button.button-primary:hover,\n.acf-block-fields:has(> .acf-error-message) .acf-link a.button.button-primary:hover,\n.acf-block-fields:has(> .acf-error-message) .acf-add-checkbox.button-primary:hover {\n color: white !important;\n background: #2271b1 !important;\n}\n.acf-block-body .acf-button:focus,\n.acf-block-body .acf-link a.button:focus,\n.acf-block-body .acf-add-checkbox:focus,\n.acf-block-fields:has(> .acf-error-message) .acf-button:focus,\n.acf-block-fields:has(> .acf-error-message) .acf-link a.button:focus,\n.acf-block-fields:has(> .acf-error-message) .acf-add-checkbox:focus {\n outline: none !important;\n background: #f6f7f7 !important;\n}\n.acf-block-body .acf-button:hover,\n.acf-block-body .acf-link a.button:hover,\n.acf-block-body .acf-add-checkbox:hover,\n.acf-block-fields:has(> .acf-error-message) .acf-button:hover,\n.acf-block-fields:has(> .acf-error-message) .acf-link a.button:hover,\n.acf-block-fields:has(> .acf-error-message) .acf-add-checkbox:hover {\n color: #0a4b78 !important;\n}\n.acf-block-body .acf-block-preview,\n.acf-block-fields:has(> .acf-error-message) .acf-block-preview {\n min-height: 10px;\n}\n\n.acf-block-panel .acf-block-fields {\n border-top: #ddd solid 1px;\n border-bottom: #ddd solid 1px;\n min-height: 1px;\n}\n.acf-block-panel .acf-block-fields:empty {\n border-top: none;\n}\n.acf-block-panel .acf-block-fields .acf-tab-wrap {\n background: transparent;\n}\n\n.components-panel__body .acf-block-panel {\n margin: 16px -16px -16px;\n}","/*--------------------------------------------------------------------------------------------\n*\n*\tVars\n*\n*--------------------------------------------------------------------------------------------*/\n\n/* colors */\n$acf_blue: #2a9bd9;\n$acf_notice: #2a9bd9;\n$acf_error: #d94f4f;\n$acf_success: #49ad52;\n$acf_warning: #fd8d3b;\n\n/* acf-field */\n$field_padding: 15px 12px;\n$field_padding_x: 12px;\n$field_padding_y: 15px;\n$fp: 15px 12px;\n$fy: 15px;\n$fx: 12px;\n\n/* responsive */\n$md: 880px;\n$sm: 640px;\n\n// Admin.\n$wp-card-border: #ccd0d4;\t\t\t// Card border.\n$wp-card-border-1: #d5d9dd;\t\t // Card inner border 1: Structural (darker).\n$wp-card-border-2: #eeeeee;\t\t // Card inner border 2: Fields (lighter).\n$wp-input-border: #7e8993;\t\t // Input border.\n\n// Admin 3.8\n$wp38-card-border: #E5E5E5;\t\t // Card border.\n$wp38-card-border-1: #dfdfdf;\t\t// Card inner border 1: Structural (darker).\n$wp38-card-border-2: #eeeeee;\t\t// Card inner border 2: Fields (lighter).\n$wp38-input-border: #dddddd;\t\t // Input border.\n\n/*--------------------------------------------------------------------------------------------\n*\n*\tACF 6 ↓\n*\n*--------------------------------------------------------------------------------------------*/\n\n// Grays\n$gray-50: #F9FAFB;\n$gray-100: #F2F4F7;\n$gray-200: #EAECF0;\n$gray-300: #D0D5DD;\n$gray-400: #98A2B3;\n$gray-500: #667085;\n$gray-600: #475467;\n$gray-700: #344054;\n$gray-800: #1D2939;\n$gray-900: #101828;\n\n// Blues\n$blue-50: #EBF5FA;\n$blue-100: #D8EBF5;\n$blue-200: #A5D2E7;\n$blue-300: #6BB5D8;\n$blue-400: #399CCB;\n$blue-500: #0783BE;\n$blue-600: #066998;\n$blue-700: #044E71;\n$blue-800: #033F5B;\n$blue-900: #032F45;\n\n// Utility\n$color-info:\t#2D69DA;\n$color-success:\t#52AA59;\n$color-warning:\t#F79009;\n$color-danger:\t#D13737;\n\n$color-primary: $blue-500;\n$color-primary-hover: $blue-600;\n$color-secondary: $gray-500;\n$color-secondary-hover: $gray-400;\n\n// Gradients\n$gradient-pro: radial-gradient(141.77% 141.08% at 100.26% 99.25%, #0ECAD4 0%, #7A45E5 100%);\n\n// Border radius\n$radius-sm:\t4px;\n$radius-md: 6px;\n$radius-lg: 8px;\n$radius-xl: 12px;\n\n// Elevations / Box shadows\n$elevation-01: 0px 1px 2px rgba($gray-900, 0.10);\n\n// Input & button focus outline\n$outline: 3px solid $blue-50;\n\n// Link colours\n$link-color: $blue-500;\n\n// Responsive\n$max-width: 1440px;","/*--------------------------------------------------------------------------------------------\n*\n* Mixins\n*\n*--------------------------------------------------------------------------------------------*/\n@mixin clearfix() {\n\t&:after {\n\t\tdisplay: block;\n\t\tclear: both;\n\t\tcontent: \"\";\n\t}\n}\n\n@mixin border-box() {\n\t-webkit-box-sizing: border-box;\n\t-moz-box-sizing: border-box;\n\tbox-sizing: border-box;\n}\n\n@mixin centered() {\n\tposition: absolute;\n\ttop: 50%;\n\tleft: 50%;\n\ttransform: translate(-50%, -50%);\n}\n\n@mixin animate( $properties: 'all' ) {\n\t-webkit-transition: $properties 0.3s ease; // Safari 3.2+, Chrome\n -moz-transition: $properties 0.3s ease; \t// Firefox 4-15\n -o-transition: $properties 0.3s ease; \t\t// Opera 10.5–12.00\n transition: $properties 0.3s ease; \t\t// Firefox 16+, Opera 12.50+\n}\n\n@mixin rtl() {\n\thtml[dir=\"rtl\"] & {\n\t\ttext-align: right;\n\t\t@content;\n\t}\n}\n\n@mixin wp-admin( $version: '3-8' ) {\n\t.acf-admin-#{$version} & {\n\t\t@content;\n\t}\n}","/*---------------------------------------------------------------------------------------------\n*\n* Repeater\n*\n*---------------------------------------------------------------------------------------------*/\n\n.acf-repeater {\n\t\n\t/* table */\n\t> table {\n\t\tmargin: 0 0 8px;\n\t\tbackground: #F9F9F9;\n\n\t\t> tbody tr.acf-divider:not(:first-child) > td {\n\t\t\tborder-top: 10px solid $gray-200;\n\t\t}\n\t}\n\t\n\t/* row handle (add/remove) */\n\t.acf-row-handle {\n\t\twidth: 16px;\n\t\ttext-align: center !important;\n\t\tvertical-align: middle !important;\n\t\tposition: relative;\n\n\t\t.acf-order-input-wrap {\n\t\t\twidth: 45px;\n\t\t}\n\n\t\t.acf-order-input::-webkit-outer-spin-button,\n\t\t.acf-order-input::-webkit-inner-spin-button {\n\t\t\t-webkit-appearance: none;\n\t\t\tmargin: 0;\n\t\t}\n\n\t\t.acf-order-input {\n\t\t\t-moz-appearance: textfield;\n\t\t\ttext-align: center;\n\t\t}\n\n\t\t/* icons */\n\t\t.acf-icon {\n\t\t\tdisplay: none;\n\t\t\tposition: absolute;\n\t\t\ttop: 0;\n\t\t\tmargin: -8px 0 0 -2px;\n\t\t\t\n\t\t\t\n\t\t\t/* minus icon */\n\t\t\t&.-minus {\n\t\t\t\ttop: 50%;\n\t\t\t\t\n\t\t\t\t/* ie fix */\n\t\t\t\tbody.browser-msie & { top: 25px; }\n\t\t\t\t\n\t\t\t}\n\t\t}\n\t\t\n\t\t\n\t\t/* .order */\n\t\t&.order {\n\t\t\tbackground: #f4f4f4;\n\t\t\tcursor: move;\n\t\t\tcolor: #aaa;\n\t\t\ttext-shadow: #fff 0 1px 0;\n\t\t\t\n\t\t\t&:hover {\n\t\t\t\tcolor: #666;\n\t\t\t}\n\t\t\t\n\t\t\t+ td {\n\t\t\t\tborder-left-color: #DFDFDF;\n\t\t\t}\n\t\t}\n\n\t\t&.pagination {\n\t\t\tcursor: auto;\n\t\t}\n\t\t\n\t\t/* remove */\n\t\t&.remove {\n\t\t\tbackground: #F9F9F9;\n\t\t\tborder-left-color: #DFDFDF;\n\t\t}\n\t}\n\t\n\t\n\t/* add in spacer to th (force correct width) */\n\tth.acf-row-handle:before {\n\t\tcontent: \"\";\n\t\twidth: 16px;\n\t\tdisplay: block;\n\t\theight: 1px;\n\t}\n\t\n\t\n\t/* row */\n\t.acf-row {\n\t\t\n\t\t/* hide clone */\n\t\t&.acf-clone {\n\t\t\tdisplay: none !important;\n\t\t}\n\t\t\n\t\t\n\t\t/* hover */\n\t\t&:hover,\n\t\t&.-hover {\n\t\t\t\n\t\t\t/* icons */\n\t\t\t> .acf-row-handle .acf-icon {\n\t\t\t\tdisplay: block;\n\n\t\t\t\t// Show \"duplicate\" icon above \"add\" when holding \"shift\" key.\n\t\t\t\t&.show-on-shift {\n\t\t\t\t\tdisplay: none;\n\t\t\t\t\tbody.acf-keydown-shift & {\n\t\t\t\t\t\tdisplay: block;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t&.hide-on-shift {\n\t\t\t\t\tbody.acf-keydown-shift & {\n\t\t\t\t\t\tdisplay: none;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t/* sortable */\n\t> table > tbody > tr.ui-sortable-helper {\n\t\tbox-shadow: 0 1px 5px rgba(0,0,0,0.2);\n\t}\n\t\n\t> table > tbody > tr.ui-sortable-placeholder {\n\t\tvisibility: visible !important;\n\t\t\n\t\ttd {\n\t\t\tbackground: #F9F9F9;\n\t\t}\n\t}\n\t\n\t\n\t/* layouts */\n/*\n\t&.-row > table > tbody > tr:before,\n\t&.-block > table > tbody > tr:before {\n\t\tcontent: \"\";\n\t\tdisplay: table-row;\n\t\theight: 2px;\n\t\tbackground: #f00;\n\t}\n*/\n\t\n\t&.-row > table > tbody > tr > td,\n\t&.-block > table > tbody > tr > td {\n\t\tborder-top-color: #E1E1E1;\n\t}\n\t\n\t\n\t/* empty */\n\t&.-empty > table > thead > tr > th {\n\t\tborder-bottom: 0 none;\n\t}\n\t\n\t&.-empty.-row > table,\n\t&.-empty.-block > table {\n\t\tdisplay: none;\n\t}\n\t\n\t\n\t/* collapsed */\n\t.acf-row.-collapsed {\n\t\t\n\t\t> .acf-field {\n\t\t\tdisplay: none !important;\n\t\t}\n\t\t\n\t\t> td.acf-field.-collapsed-target {\n\t\t\tdisplay: table-cell !important;\n\t\t}\n\t}\n\t\n\t/* collapsed (block layout) */\n\t.acf-row.-collapsed > .acf-fields {\n\t\t\n\t\t> * {\n\t\t\tdisplay: none !important;\n\t\t}\n\t\t\n\t\t> .acf-field.-collapsed-target {\n\t\t\tdisplay: block !important;\n\t\t\t\n\t\t\t&[data-width] {\n\t\t\t\tfloat: none !important;\n\t\t\t\twidth: auto !important;\n\t\t\t}\n\t\t}\n\t}\n\t\n\t\n\t/* collapsed (table layout) */\n\t&.-table .acf-row.-collapsed .acf-field.-collapsed-target {\n\t\tborder-left-color: #dfdfdf;\n\t}\n\t\n\t// Reached maximum rows.\n\t&.-max {\n\t\t\n\t\t// Hide icons to add rows.\n\t\t.acf-icon[data-event=\"add-row\"] {\n\t\t\tdisplay: none !important;\n\t\t}\n\t}\n\n\t> .acf-actions {\n\t\t.acf-button {\n\t\t\tfloat: right;\n\t\t\tpointer-events: auto !important;\n\t\t}\n\n\t\t.acf-tablenav {\n\t\t\tfloat: right;\n\t\t\tmargin-right: 20px;\n\n\t\t\t.current-page {\n\t\t\t\twidth: auto !important;\n\t\t\t}\n\t\t}\n\t}\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* Flexible Content\n*\n*---------------------------------------------------------------------------------------------*/\n\n.acf-flexible-content {\n\tposition: relative;\n\t\n\t// clones\n\t> .clones {\n\t\tdisplay: none;\n\t}\n\t\n\t// values\n\t> .values {\n\t\tmargin: 0 0 8px;\n\t\t\n\t\t// sortable\n\t\t> .ui-sortable-placeholder {\n\t\t\tvisibility: visible !important;\n\t\t\tborder: 1px dashed #b4b9be;\n\t\t\n\t\t\tbox-shadow: none;\n\t\t\tbackground: transparent;\n\t\t}\n\t}\n\t\n\t// layout\n\t.layout {\n\t\tposition: relative;\n\t\tmargin: 20px 0 0;\n\t background: #fff;\n\t border: 1px solid $wp-card-border;\n\t\t\n\t &:first-child {\n\t\t\tmargin-top: 0;\n\t\t}\n\t\t\t\n\t\t// handle\n\t\t.acf-fc-layout-handle {\n\t\t\tdisplay: block;\n\t\t\tposition: relative;\n\t\t\tpadding: 8px 10px;\n\t\t\tcursor: move;\n\t\t\tborder-bottom: $wp-card-border solid 1px;\n\t\t\tcolor: #444;\n\t\t\tfont-size: 14px;\n\t\t\tline-height: 1.4em;\n\t\t}\n\t\t\n\t\t// order\n\t\t.acf-fc-layout-order {\n\t\t\tdisplay: block;\n\t\t\twidth: 20px;\n\t\t\theight: 20px;\n\t\t\tborder-radius: 10px;\n\t\t\tdisplay: inline-block;\n\t\t\ttext-align: center;\n\t\t\tline-height: 20px;\n\t\t\tmargin: 0 2px 0 0;\n\t\t\tbackground: #F1F1F1;\n\t\t\tfont-size: 12px;\n\t\t\tcolor: #444;\n\t\t\t\n\t\t\thtml[dir=\"rtl\"] & {\n\t\t\t\tfloat: right;\n\t\t\t\tmargin-right: 0;\n\t\t\t\tmargin-left: 5px;\n\t\t\t}\n\t\t}\n\t\t\n\t\t// controlls\n\t\t.acf-fc-layout-controls {\n\t\t\tposition: absolute;\n\t\t\ttop: 8px;\n\t\t\tright: 8px;\n\t\t\t\n\t\t\t.acf-icon {\n\t\t\t\tdisplay: block;\n\t\t\t\tfloat: left;\n\t\t\t\tmargin: 0 0 0 5px;\n\t\t\t\t\n\t\t\t\t&.-plus, &.-minus, &.-duplicate { visibility: hidden; }\n\t\t\t}\n\t\t\t\n\t\t\thtml[dir=\"rtl\"] & {\n\t\t\t\tright: auto;\n\t\t\t\tleft: 9px;\n\t\t\t}\n\t\t\t\n\t\t}\n\n\t\t&.is-selected {\n\t\t\tborder-color: $wp-input-border;\n\t\t\t.acf-fc-layout-handle {\n\t\t\t\tborder-color: $wp-input-border;\n\t\t\t}\n\t\t}\n\t\t\n\t\t// open\n\t\t&:hover, \n\t\t&.-hover {\n\t\t\t\n\t\t\t// controls\n\t\t\t.acf-fc-layout-controls {\n\t\t\t\t\n\t\t\t\t.acf-icon {\n\t\t\t\t\t&.-plus, &.-minus, &.-duplicate { visibility: visible; }\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\t\n\t\t// collapsed\n\t\t&.-collapsed {\n\t\t\t> .acf-fc-layout-handle {\n\t\t\t\tborder-bottom-width: 0;\n\t\t\t}\n\t\t\t\n\t\t\t> .acf-fields,\n\t\t\t> .acf-table {\n\t\t\t\tdisplay: none;\n\t\t\t}\n\t\t}\n\t\t\n\t\t// table\n\t\t> .acf-table {\n\t\t\tborder: 0 none;\n\t\t\tbox-shadow: none;\n\t\t\t\n\t\t\t> tbody > tr {\n\t\t\t\tbackground: #fff;\n\t\t\t}\n\t\t\t\n\t\t\t> thead > tr > th {\n\t\t\t\tbackground: #F9F9F9;\n\t\t\t}\n\t\t}\n\t}\n\n\t// no value\n\t.no-value-message {\n\t\tpadding: 19px;\n\t\tborder: #ccc dashed 2px;\n\t\ttext-align: center;\n\t\tdisplay: none;\n\t}\n\n\t// empty\n\t&.-empty > .no-value-message {\n\t\tdisplay: block;\n\t}\n}\n\n// popup\n.acf-fc-popup {\n\tpadding: 5px 0;\n\tz-index: 900001; // +1 higher than .acf-tooltip\n\tmin-width: 135px;\n\t\n\tul, li {\n\t\tlist-style: none;\n\t\tdisplay: block;\n\t\tmargin: 0;\n\t\tpadding: 0;\n\t}\n\t\n\tli {\n\t\tposition: relative;\n\t\tfloat: none;\n\t\twhite-space: nowrap;\n\t}\n\t\n\t.badge {\n\t\tdisplay: inline-block;\n\t\tborder-radius: 8px;\n\t\tfont-size: 9px;\n\t\tline-height: 15px;\n\t\tpadding: 0 5px;\n\t\t\n\t\tbackground: #d54e21;\n\t\ttext-align: center;\n\t\tcolor: #fff;\n\t\tvertical-align: top;\n\t\tmargin: 0 0 0 5px;\n\t}\n\t\n\ta {\n\t\tcolor: #eee;\n\t\tpadding: 5px 10px;\n\t\tdisplay: block;\n\t\ttext-decoration: none;\n\t\tposition: relative;\n\t\t\n\t\t&:hover {\n\t\t\tbackground: #0073aa;\n\t\t\tcolor: #fff;\n\t\t}\n\t\t\n\t\t&.disabled {\n\t\t\tcolor: #888;\n\t\t\tbackground: transparent;\n\t\t}\n\t}\n}\n\n\n\n/*---------------------------------------------------------------------------------------------\n*\n* Galery\n*\n*---------------------------------------------------------------------------------------------*/\n\n.acf-gallery {\n\tborder: $wp-card-border solid 1px;\n\theight: 400px;\n\tposition: relative;\n\t\n\t/* main */\n\t.acf-gallery-main {\n\t\tposition: absolute;\n\t\ttop: 0;\n\t\tright: 0;\n\t\tbottom: 0;\n\t\tleft: 0;\n\t\tbackground: #fff;\n\t\tz-index: 2;\n\t}\n\t\n\t/* attachments */\n\t.acf-gallery-attachments {\n\t\tposition: absolute;\n\t\ttop: 0;\n\t\tright: 0;\n\t\tbottom: 48px;\n\t\tleft: 0;\n\t\tpadding: 5px;\n\t\toverflow: auto;\n\t\toverflow-x: hidden;\n\t}\n\t\n\t\n\t/* attachment */\n\t.acf-gallery-attachment {\n\t\twidth: 25%;\n\t\tfloat: left;\n\t\tcursor: pointer;\n\t\tposition: relative;\n\t\t\n\t\t.margin {\n\t\t\tmargin: 5px;\n\t\t\tborder: $wp-card-border-1 solid 1px;\n\t\t\tposition: relative;\n\t\t\toverflow: hidden;\n\t\t\tbackground: #eee;\n\t\t\t\n\t\t\t&:before {\n\t\t\t\tcontent: \"\";\n\t\t\t display: block;\n\t\t\t padding-top: 100%;\n\t\t\t}\n\t\t}\n\t\t\n\t\t.thumbnail {\n\t\t\tposition: absolute;\n\t\t\ttop: 0;\n\t\t\tleft: 0;\n\t\t\twidth: 100%;\n\t\t\theight: 100%;\n\t\t\ttransform: translate(50%, 50%);\n\t\t\t\n\t\t\thtml[dir=\"rtl\"] & { \n\t\t\t\ttransform: translate(-50%, 50%);\n\t\t\t}\n\t\t\t\n\t\t\timg {\n\t\t\t\tdisplay: block;\n\t\t\t\theight: auto;\n\t\t\t\tmax-height: 100%;\n\t\t\t\twidth: auto;\n\t\t\t\ttransform: translate(-50%, -50%);\n\t\t\t\t\n\t\t\t\thtml[dir=\"rtl\"] & { \n\t\t\t\t\ttransform: translate(50%, -50%);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\t\n\t\t.filename {\n\t\t position: absolute;\n\t\t bottom: 0;\n\t\t left: 0;\n\t\t right: 0;\n\t\t padding: 5%;\n\t\t background: #F4F4F4;\n\t\t background: rgba(255, 255, 255, 0.8);\n\t\t border-top: #DFDFDF solid 1px;\n\t\t font-weight: bold;\n\t\t text-align: center;\n\t\t word-wrap: break-word;\n\t\t max-height: 90%;\n\t\t overflow: hidden;\n\t\t}\n\t\t\n\t\t.actions {\n\t\t\tposition: absolute;\n\t\t\ttop: 0;\n\t\t\tright: 0;\n\t\t\tdisplay: none;\n\t\t}\n\t\t\n\t\t\n\t\t/* hover */\n\t\t&:hover {\n\t\t\t\n\t\t\t.actions {\n\t\t\t\tdisplay: block;\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t\t\n\t\t/* sortable */\n\t\t&.ui-sortable-helper {\n\t\t\t\n\t\t\t.margin {\n\t\t\t\tborder: none;\n\t\t\t\tbox-shadow: 0 1px 3px rgba(0,0,0,0.3);\n\t\t\t}\n\t\t}\n\t\t\n\t\t&.ui-sortable-placeholder {\n\t\t\t\n\t\t\t.margin {\n\t\t\t\tbackground: #F1F1F1;\n\t\t\t\tborder: none;\n\t\t\t\t\n\t\t\t\t* {\n\t\t\t\t\tdisplay: none !important;\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t\t\n\t\t/* active */\n\t\t&.active {\n\t\t\t\n\t\t\t.margin {\n\t\t\t\tbox-shadow: 0 0 0 1px #FFFFFF, 0 0 0 5px #0073aa;\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t\t\n\t\t/* icon */\n\t\t&.-icon {\n\t\t\t\n\t\t\t.thumbnail img {\n\t\t\t\ttransform: translate(-50%, -70%);\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t\t\n\t\t/* rtl */\n\t\thtml[dir=\"rtl\"] & {\n\t\t\tfloat: right;\n\t\t}\n\t\t\n\t}\n\t\n\t\n\t\n\t&.sidebar-open {\n\t\t\n\t\t/* hide attachment actions when sidebar is open */\n\t\t.acf-gallery-attachment .actions {\n\t\t\tdisplay: none;\n\t\t}\n\t\t\n\t\t\n\t\t/* allow sidebar to move over main for small widths (widget edit box) */\n\t\t.acf-gallery-side {\n\t\t\tz-index: 2;\n\t\t}\n\t\t\n\t}\n\t\n\t\n\t/* toolbar */\n\t.acf-gallery-toolbar {\n\t\tposition: absolute;\n\t\tright: 0;\n\t\tbottom: 0;\n\t\tleft: 0;\n\t\tpadding: 10px;\n\t\tborder-top: $wp-card-border-1 solid 1px;\n\t\tbackground: #fff;\n\t\tmin-height: 28px;\n\t\t\n\t\t.acf-hl li {\n\t\t\tline-height: 24px;\n\t\t}\n\t\t\n\t\t.bulk-actions-select {\n\t\t\twidth: auto;\n\t\t\tmargin: 0 1px 0 0;\n\t\t}\n\t\t\n\t}\n\t\n\t\n\t/* sidebar */\n\t.acf-gallery-side {\n\t\tposition: absolute;\n\t\ttop: 0;\n\t\tright: 0;\n\t\tbottom: 0;\n\t\twidth: 0;\n\t\t\n\t\tbackground: #F9F9F9;\n\t\tborder-left: $wp-card-border solid 1px;\n\t\t\n\t\tz-index: 1;\n\t\toverflow: hidden;\n\t\t\n\t\t.acf-gallery-side-inner {\n\t\t\tposition: absolute;\n\t\t\ttop: 0;\n\t\t\tleft: 0;\n\t\t\tbottom: 0;\n\t\t\twidth: 349px;\n\t\t}\n\t\t\n\t}\n\t\n\t\n\t/* side info */\n\t.acf-gallery-side-info {\n\t\t@include clearfix();\n\t\tposition: relative;\n\t\twidth: 100%;\n\t\tpadding: 10px;\n\t\tmargin: -10px 0 15px -10px;\n\t\tbackground: #F1F1F1;\n\t\tborder-bottom: #DFDFDF solid 1px;\n\t\t\n\t\thtml[dir=\"rtl\"] & {\n\t\t\tmargin-left: 0;\n\t\t\tmargin-right: -10px;\n\t\t}\n\t\n\t\timg {\n\t\t\tfloat: left;\n\t\t\twidth: auto;\n\t\t\tmax-width: 65px;\n\t\t\tmax-height: 65px;\n\t\t\tmargin: 0 10px 1px 0;\n\t\t\tbackground: #FFFFFF;\n\t\t\tpadding: 3px;\n\t\t\tborder: $wp-card-border solid 1px;\n\t\t\tborder-radius: 1px;\n\t\t\t\n\t\t\t/* rtl */\n\t\t\thtml[dir=\"rtl\"] & {\n\t\t\t\tfloat: right;\n\t\t\t\tmargin: 0 0 0 10px;\n\t\t\t}\n\t\t}\n\t\t\t\t\n\t\tp {\n\t\t\tfont-size: 13px;\n\t\t\tline-height: 15px;\n\t\t\tmargin: 3px 0;\n\t\t\tword-break: break-all;\n\t\t\tcolor: #666;\n\t\t\t\n\t\t\tstrong {\n\t\t\t\tcolor: #000;\n\t\t\t}\n\t\t}\n\t\t\n\t\ta {\n\t\t\ttext-decoration: none;\n\t\t\t\n\t\t\t&.acf-gallery-edit {\n\t\t\t\tcolor: #21759b;\n\t\t\t}\n\t\t\t\n\t\t\t&.acf-gallery-remove {\n\t\t\t\tcolor: #bc0b0b;\n\t\t\t}\n\t\t\t\n\t\t\t&:hover {\n\t\t\t\ttext-decoration: underline;\n\t\t\t}\n\t\t\n\t\t}\n\t\t\n\t}\n\t\n\t\n\t/* side data */\n\t.acf-gallery-side-data {\n\t\tposition: absolute;\n\t\ttop: 0;\n\t\tright: 0;\n\t\tbottom: 48px;\n\t\tleft: 0;\n\t\toverflow: auto;\n\t\toverflow-x: inherit;\n\t\tpadding: 10px;\n\t\n\t\t\n\t\t.acf-label,\n\t\tth.label {\n\t\t\tcolor: #666666;\n\t\t\tfont-size: 12px;\n\t\t\tline-height: 25px;\n\t\t\tpadding: 0 4px 8px 0 !important;\n\t\t\twidth: auto !important;\n\t\t\tvertical-align: top;\n\t\t\t\n\t\t\thtml[dir=\"rtl\"] & { \n\t\t\t\tpadding: 0 0 8px 4px !important;\n\t\t\t}\n\t\t\t\n\t\t\tlabel {\n\t\t\t\tfont-weight: normal;\n\t\t\t}\n\t\t}\n\t\t\t\t\n\t\t.acf-input,\n\t\ttd.field {\n\t\t\tpadding: 0 0 8px !important;\n\t\t}\n\t\t\n\t\ttextarea {\n\t\t\tmin-height: 0;\n\t\t\theight: 60px;\n\t\t}\n\t\t\n\t\tp.help {\n\t\t\tfont-size: 12px;\n\t\t\t\n\t\t\t&:hover {\n\t\t\t\tfont-weight: normal;\n\t\t\t}\n\t\t}\n\t\n\t}\n\t\n\t\n\t/* column widths */\n\t&[data-columns=\"1\"] .acf-gallery-attachment { width: 100%; }\n\t&[data-columns=\"2\"] .acf-gallery-attachment { width: 50%; }\n\t&[data-columns=\"3\"] .acf-gallery-attachment { width: 33.333%; }\n\t&[data-columns=\"4\"] .acf-gallery-attachment { width: 25%; }\n\t&[data-columns=\"5\"] .acf-gallery-attachment { width: 20%; }\n\t&[data-columns=\"6\"] .acf-gallery-attachment { width: 16.666%; }\n\t&[data-columns=\"7\"] .acf-gallery-attachment { width: 14.285%; }\n\t&[data-columns=\"8\"] .acf-gallery-attachment { width: 12.5%; }\n\t\n\t\n\t/* resizable */\n\t.ui-resizable-handle {\n\t\tdisplay: block;\n\t\tposition: absolute;\n\t}\n\t\n\t.ui-resizable-s {\n\t\tbottom: -5px;\n\t\tcursor: ns-resize;\n\t\theight: 7px;\n\t\tleft: 0;\n\t\twidth: 100%;\n\t}\n\n}\n\n\n\n/* media modal selected */\n.acf-media-modal .attachment.acf-selected {\n\tbox-shadow: 0 0 0 3px #fff inset, 0 0 0 7px #0073aa inset !important;\n\t\n\t.check {\n\t\tdisplay: none !important;\n\t}\n\t\n\t.thumbnail {\n\t\topacity: 0.25 !important;\n\t}\n\t\t\n\t.attachment-preview:before {\n\t\tbackground: rgba(0,0,0,0.15);\n\t\tz-index: 1;\n\t\tposition: relative;\n\t}\n\n}\n\n\n.acf-admin-single-options-page {\n\t.select2-dropdown {\n\t\tborder-color: $blue-300 !important;\n\t\tmargin-top: -5px;\n\t\toverflow: hidden;\n\t\tbox-shadow: $elevation-01;\n\t}\n\n\t.select2-dropdown.select2-dropdown--above {\n\t\tmargin-top: 0;\n\t}\n\n\t.select2-container--default .select2-results__option[aria-selected=\"true\"] {\n\t\tbackground-color: $gray-50 !important;\n\t\tcolor: $gray-500;\n\n\t\t&:hover {\n\t\t\tcolor: $blue-400;\n\t\t}\n\t}\n\n\t.select2-container--default\n\t\t.select2-results__option--highlighted[aria-selected] {\n\t\tcolor: #fff !important;\n\t\tbackground-color: $blue-500 !important;\n\t}\n\n\t// remove bottom margin on options\n\t.select2-dropdown .select2-results__option {\n\t\tmargin-bottom: 0;\n\t}\n}\n\n// z-index helper for the popup modal.\n.acf-create-options-page-popup ~ .select2-container {\n\tz-index: 999999999;\n}\n","/*-----------------------------------------------------------------------------\n*\n*\tACF Blocks\n*\n*----------------------------------------------------------------------------*/\n\n// All block components.\n.acf-block-component {\n\n\t.components-placeholder {\n\t\tmargin: 0;\n\t}\n}\n\n.block-editor .acf-field.acf-error {\n\tbackground-color: rgba(255, 0, 0, 0.05);\n}\n\n// Block fields\n.acf-block-component .acf-block-fields {\n\t// Ensure white background behind fields.\n\tbackground: #fff;\n\n\t// Generic body styles\n\ttext-align: left;\n\tfont-size: 13px;\n\tline-height: 1.4em;\n\tcolor: #444;\n\tfont-family:\n\t\t-apple-system,\n\t\tBlinkMacSystemFont,\n\t\t\"Segoe UI\",\n\t\tRoboto,\n\t\tOxygen-Sans,\n\t\tUbuntu,\n\t\tCantarell,\n\t\t\"Helvetica Neue\",\n\t\tsans-serif;\n\n\t&.acf-empty-block-fields {\n\t\tborder: 1px solid #1e1e1e;\n\t\tpadding: 12px;\n\n\t\t.components-panel & {\n\t\t\tborder: none;\n\t\t\tborder-top: 1px solid #ddd;\n\t\t\tborder-bottom: 1px solid #ddd;\n\t\t}\n\t}\n\n\thtml[dir=\"rtl\"] & {\n\t\ttext-align: right;\n\t}\n\n\tp {\n\t\tfont-size: 13px;\n\t\tline-height: 1.5;\n\t}\n}\n\n// Block body.\n.acf-block-body,\n.acf-block-fields:has(> .acf-error-message) {\n\n\t.acf-block-fields:has(> .acf-error-message) {\n\t\tborder: none !important;\n\t}\n\n\n\t.acf-error-message {\n\t\tmargin-top: 0;\n\t\tborder: none;\n\n\t\t.acf-notice-dismiss {\n\t\t\tdisplay: flex;\n\t\t\talign-items: center;\n\t\t\tjustify-content: center;\n\t\t\toverflow: hidden;\n\n\t\t\t// Prevent Core outline styles from impacting the close button's focus state. Without unsetting the outline, we get a black glow around the button.\n\t\t\toutline: unset;\n\t\t}\n\n\t\t.acf-icon.-cancel::before {\n\t\t\tmargin: 0 !important;\n\t\t}\n\n\t}\n\n\t&.acf-block-has-validation-error {\n\t\tborder: 2px solid #d94f4f;\n\t}\n\n\t.acf-error .acf-input .acf-notice {\n\t\tbackground: none !important;\n\t\tborder: none !important;\n\t\tdisplay: flex !important;\n\t\talign-items: center !important;\n\t\tpadding-left: 0;\n\n\t\tp {\n\t\t\tmargin: 0.5em 0 !important;\n\t\t}\n\t}\n\n\n\t.acf-error .acf-input .acf-notice::before {\n\t\tcontent: \"\";\n\t\tposition: relative;\n\t\ttop: 0;\n\t\tleft: 0;\n\t\tfont-size: 20px;\n\t\tbackground-image: url(../../../images/icons/icon-info-red.svg);\n\t\tbackground-repeat: no-repeat;\n\t\tbackground-position: center;\n\t\tbackground-size: 69%;\n\t\theight: 26px !important;\n\t\twidth: 26px !important;\n\t\tbox-sizing: border-box;\n\t}\n\n\t.acf-error .acf-label label {\n\t\tcolor: #d94f4f;\n\t}\n\n\t.acf-error .acf-input input {\n\t\tborder-color: #d94f4f;\n\t}\n\n\t&.acf-block-has-validation-error::before {\n\t\tcontent: \"\";\n\t\tposition: absolute;\n\t\ttop: -2px;\n\t\tleft: -32px;\n\t\tfont-size: 20px;\n\t\tbackground-color: #d94f4f;\n\t\tbackground-image: url(../../../images/icons/icon-info-white.svg);\n\t\tbackground-repeat: no-repeat;\n\t\tbackground-position-x: center;\n\t\t// Offset the icon down slighly to match the notice text basline that is being impacted by the outer stroke\n\t\tbackground-position-y: 52%;\n\t\tbackground-size: 55%;\n\t\theight: 40px;\n\t\twidth: 32px;\n\t\tbox-sizing: border-box;\n\t}\n\n\t.acf-block-validation-error {\n\t\tcolor: #d94f4f;\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t}\n\n\t// Fields wrapper.\n\t.acf-block-fields {\n\t\tborder: #adb2ad solid 1px;\n\n\t\t// Tab\n\t\t.acf-tab-wrap {\n\n\t\t\t.acf-tab-group {\n\t\t\t\tmargin-left: 0;\n\t\t\t\tpadding: 16px 20px 0;\n\t\t\t}\n\t\t}\n\t}\n\n\t// Block fields (div).\n\t.acf-fields > .acf-field {\n\t\tpadding: 16px 20px;\n\n\t\t// Accordions.\n\t\t&.acf-accordion {\n\t\t\tborder-color: #adb2ad;\n\n\t\t\t.acf-accordion-title {\n\t\t\t\tpadding: 16px 20px;\n\t\t\t}\n\t\t}\n\t}\n\n\t// Ensure ACF buttons aren't changed by theme colors in the block editor.\n\t.acf-button,\n\t.acf-link a.button,\n\t.acf-add-checkbox {\n\t\tcolor: #2271b1 !important;\n\t\tborder-color: #2271b1 !important;\n\t\tbackground: #f6f7f7 !important;\n\t\tvertical-align: top;\n\n\t\t&.button-primary:hover {\n\t\t\tcolor: white !important;\n\t\t\tbackground: #2271b1 !important;\n\t\t}\n\n\t\t&:focus {\n\t\t\toutline: none !important;\n\t\t\tbackground: #f6f7f7 !important;\n\t\t}\n\n\t\t&:hover {\n\t\t\tcolor: #0a4b78 !important;\n\t\t}\n\t}\n\n\t// Preview.\n\t.acf-block-preview {\n\t\tmin-height: 10px;\n\t}\n}\n\n// Block panel.\n.acf-block-panel {\n\t// Fields wrapper.\n\t.acf-block-fields {\n\t\tborder-top: #ddd solid 1px;\n\t\tborder-bottom: #ddd solid 1px;\n\t\tmin-height: 1px;\n\n\t\t&:empty {\n\t\t\tborder-top: none;\n\t\t}\n\n\t\t// Tab\n\t\t.acf-tab-wrap {\n\t\t\tbackground: transparent;\n\t\t}\n\t}\n}\n\n// Add compatibility for WP 5.3 and older.\n// - Sidebar area is wrapped in a PanelBody element.\n.components-panel__body .acf-block-panel {\n\tmargin: 16px -16px -16px;\n}\n"],"names":[],"sourceRoot":""} \ No newline at end of file diff --git a/wp-content/plugins/advanced-custom-fields-pro/assets/build/css/pro/acf-pro-input.min.css b/wp-content/plugins/advanced-custom-fields-pro/assets/build/css/pro/acf-pro-input.min.css index 490864ca5..4a6adf37c 100644 --- a/wp-content/plugins/advanced-custom-fields-pro/assets/build/css/pro/acf-pro-input.min.css +++ b/wp-content/plugins/advanced-custom-fields-pro/assets/build/css/pro/acf-pro-input.min.css @@ -1 +1 @@ -.acf-repeater>table{margin:0 0 8px;background:#f9f9f9}.acf-repeater>table>tbody tr.acf-divider:not(:first-child)>td{border-top:10px solid #eaecf0}.acf-repeater .acf-row-handle{width:16px;text-align:center !important;vertical-align:middle !important;position:relative}.acf-repeater .acf-row-handle .acf-order-input-wrap{width:45px}.acf-repeater .acf-row-handle .acf-order-input::-webkit-outer-spin-button,.acf-repeater .acf-row-handle .acf-order-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.acf-repeater .acf-row-handle .acf-order-input{-moz-appearance:textfield;text-align:center}.acf-repeater .acf-row-handle .acf-icon{display:none;position:absolute;top:0;margin:-8px 0 0 -2px}.acf-repeater .acf-row-handle .acf-icon.-minus{top:50%}body.browser-msie .acf-repeater .acf-row-handle .acf-icon.-minus{top:25px}.acf-repeater .acf-row-handle.order{background:#f4f4f4;cursor:move;color:#aaa;text-shadow:#fff 0 1px 0}.acf-repeater .acf-row-handle.order:hover{color:#666}.acf-repeater .acf-row-handle.order+td{border-left-color:#dfdfdf}.acf-repeater .acf-row-handle.pagination{cursor:auto}.acf-repeater .acf-row-handle.remove{background:#f9f9f9;border-left-color:#dfdfdf}.acf-repeater th.acf-row-handle:before{content:"";width:16px;display:block;height:1px}.acf-repeater .acf-row.acf-clone{display:none !important}.acf-repeater .acf-row:hover>.acf-row-handle .acf-icon,.acf-repeater .acf-row.-hover>.acf-row-handle .acf-icon{display:block}.acf-repeater .acf-row:hover>.acf-row-handle .acf-icon.show-on-shift,.acf-repeater .acf-row.-hover>.acf-row-handle .acf-icon.show-on-shift{display:none}body.acf-keydown-shift .acf-repeater .acf-row:hover>.acf-row-handle .acf-icon.show-on-shift,body.acf-keydown-shift .acf-repeater .acf-row.-hover>.acf-row-handle .acf-icon.show-on-shift{display:block}body.acf-keydown-shift .acf-repeater .acf-row:hover>.acf-row-handle .acf-icon.hide-on-shift,body.acf-keydown-shift .acf-repeater .acf-row.-hover>.acf-row-handle .acf-icon.hide-on-shift{display:none}.acf-repeater>table>tbody>tr.ui-sortable-helper{box-shadow:0 1px 5px rgba(0,0,0,.2)}.acf-repeater>table>tbody>tr.ui-sortable-placeholder{visibility:visible !important}.acf-repeater>table>tbody>tr.ui-sortable-placeholder td{background:#f9f9f9}.acf-repeater.-row>table>tbody>tr>td,.acf-repeater.-block>table>tbody>tr>td{border-top-color:#e1e1e1}.acf-repeater.-empty>table>thead>tr>th{border-bottom:0 none}.acf-repeater.-empty.-row>table,.acf-repeater.-empty.-block>table{display:none}.acf-repeater .acf-row.-collapsed>.acf-field{display:none !important}.acf-repeater .acf-row.-collapsed>td.acf-field.-collapsed-target{display:table-cell !important}.acf-repeater .acf-row.-collapsed>.acf-fields>*{display:none !important}.acf-repeater .acf-row.-collapsed>.acf-fields>.acf-field.-collapsed-target{display:block !important}.acf-repeater .acf-row.-collapsed>.acf-fields>.acf-field.-collapsed-target[data-width]{float:none !important;width:auto !important}.acf-repeater.-table .acf-row.-collapsed .acf-field.-collapsed-target{border-left-color:#dfdfdf}.acf-repeater.-max .acf-icon[data-event=add-row]{display:none !important}.acf-repeater>.acf-actions .acf-button{float:right;pointer-events:auto !important}.acf-repeater>.acf-actions .acf-tablenav{float:right;margin-right:20px}.acf-repeater>.acf-actions .acf-tablenav .current-page{width:auto !important}.acf-flexible-content{position:relative}.acf-flexible-content>.clones{display:none}.acf-flexible-content>.values{margin:0 0 8px}.acf-flexible-content>.values>.ui-sortable-placeholder{visibility:visible !important;border:1px dashed #b4b9be;box-shadow:none;background:rgba(0,0,0,0)}.acf-flexible-content .layout{position:relative;margin:20px 0 0;background:#fff;border:1px solid #ccd0d4}.acf-flexible-content .layout:first-child{margin-top:0}.acf-flexible-content .layout .acf-fc-layout-handle{display:block;position:relative;padding:8px 10px;cursor:move;border-bottom:#ccd0d4 solid 1px;color:#444;font-size:14px;line-height:1.4em}.acf-flexible-content .layout .acf-fc-layout-order{display:block;width:20px;height:20px;border-radius:10px;display:inline-block;text-align:center;line-height:20px;margin:0 2px 0 0;background:#f1f1f1;font-size:12px;color:#444}html[dir=rtl] .acf-flexible-content .layout .acf-fc-layout-order{float:right;margin-right:0;margin-left:5px}.acf-flexible-content .layout .acf-fc-layout-controls{position:absolute;top:8px;right:8px}.acf-flexible-content .layout .acf-fc-layout-controls .acf-icon{display:block;float:left;margin:0 0 0 5px}.acf-flexible-content .layout .acf-fc-layout-controls .acf-icon.-plus,.acf-flexible-content .layout .acf-fc-layout-controls .acf-icon.-minus,.acf-flexible-content .layout .acf-fc-layout-controls .acf-icon.-duplicate{visibility:hidden}html[dir=rtl] .acf-flexible-content .layout .acf-fc-layout-controls{right:auto;left:9px}.acf-flexible-content .layout.is-selected{border-color:#7e8993}.acf-flexible-content .layout.is-selected .acf-fc-layout-handle{border-color:#7e8993}.acf-flexible-content .layout:hover .acf-fc-layout-controls .acf-icon.-plus,.acf-flexible-content .layout:hover .acf-fc-layout-controls .acf-icon.-minus,.acf-flexible-content .layout:hover .acf-fc-layout-controls .acf-icon.-duplicate,.acf-flexible-content .layout.-hover .acf-fc-layout-controls .acf-icon.-plus,.acf-flexible-content .layout.-hover .acf-fc-layout-controls .acf-icon.-minus,.acf-flexible-content .layout.-hover .acf-fc-layout-controls .acf-icon.-duplicate{visibility:visible}.acf-flexible-content .layout.-collapsed>.acf-fc-layout-handle{border-bottom-width:0}.acf-flexible-content .layout.-collapsed>.acf-fields,.acf-flexible-content .layout.-collapsed>.acf-table{display:none}.acf-flexible-content .layout>.acf-table{border:0 none;box-shadow:none}.acf-flexible-content .layout>.acf-table>tbody>tr{background:#fff}.acf-flexible-content .layout>.acf-table>thead>tr>th{background:#f9f9f9}.acf-flexible-content .no-value-message{padding:19px;border:#ccc dashed 2px;text-align:center;display:none}.acf-flexible-content.-empty>.no-value-message{display:block}.acf-fc-popup{padding:5px 0;z-index:900001;min-width:135px}.acf-fc-popup ul,.acf-fc-popup li{list-style:none;display:block;margin:0;padding:0}.acf-fc-popup li{position:relative;float:none;white-space:nowrap}.acf-fc-popup .badge{display:inline-block;border-radius:8px;font-size:9px;line-height:15px;padding:0 5px;background:#d54e21;text-align:center;color:#fff;vertical-align:top;margin:0 0 0 5px}.acf-fc-popup a{color:#eee;padding:5px 10px;display:block;text-decoration:none;position:relative}.acf-fc-popup a:hover{background:#0073aa;color:#fff}.acf-fc-popup a.disabled{color:#888;background:rgba(0,0,0,0)}.acf-gallery{border:#ccd0d4 solid 1px;height:400px;position:relative}.acf-gallery .acf-gallery-main{position:absolute;top:0;right:0;bottom:0;left:0;background:#fff;z-index:2}.acf-gallery .acf-gallery-attachments{position:absolute;top:0;right:0;bottom:48px;left:0;padding:5px;overflow:auto;overflow-x:hidden}.acf-gallery .acf-gallery-attachment{width:25%;float:left;cursor:pointer;position:relative}.acf-gallery .acf-gallery-attachment .margin{margin:5px;border:#d5d9dd solid 1px;position:relative;overflow:hidden;background:#eee}.acf-gallery .acf-gallery-attachment .margin:before{content:"";display:block;padding-top:100%}.acf-gallery .acf-gallery-attachment .thumbnail{position:absolute;top:0;left:0;width:100%;height:100%;transform:translate(50%, 50%)}html[dir=rtl] .acf-gallery .acf-gallery-attachment .thumbnail{transform:translate(-50%, 50%)}.acf-gallery .acf-gallery-attachment .thumbnail img{display:block;height:auto;max-height:100%;width:auto;transform:translate(-50%, -50%)}html[dir=rtl] .acf-gallery .acf-gallery-attachment .thumbnail img{transform:translate(50%, -50%)}.acf-gallery .acf-gallery-attachment .filename{position:absolute;bottom:0;left:0;right:0;padding:5%;background:#f4f4f4;background:rgba(255,255,255,.8);border-top:#dfdfdf solid 1px;font-weight:bold;text-align:center;word-wrap:break-word;max-height:90%;overflow:hidden}.acf-gallery .acf-gallery-attachment .actions{position:absolute;top:0;right:0;display:none}.acf-gallery .acf-gallery-attachment:hover .actions{display:block}.acf-gallery .acf-gallery-attachment.ui-sortable-helper .margin{border:none;box-shadow:0 1px 3px rgba(0,0,0,.3)}.acf-gallery .acf-gallery-attachment.ui-sortable-placeholder .margin{background:#f1f1f1;border:none}.acf-gallery .acf-gallery-attachment.ui-sortable-placeholder .margin *{display:none !important}.acf-gallery .acf-gallery-attachment.active .margin{box-shadow:0 0 0 1px #fff,0 0 0 5px #0073aa}.acf-gallery .acf-gallery-attachment.-icon .thumbnail img{transform:translate(-50%, -70%)}html[dir=rtl] .acf-gallery .acf-gallery-attachment{float:right}.acf-gallery.sidebar-open .acf-gallery-attachment .actions{display:none}.acf-gallery.sidebar-open .acf-gallery-side{z-index:2}.acf-gallery .acf-gallery-toolbar{position:absolute;right:0;bottom:0;left:0;padding:10px;border-top:#d5d9dd solid 1px;background:#fff;min-height:28px}.acf-gallery .acf-gallery-toolbar .acf-hl li{line-height:24px}.acf-gallery .acf-gallery-toolbar .bulk-actions-select{width:auto;margin:0 1px 0 0}.acf-gallery .acf-gallery-side{position:absolute;top:0;right:0;bottom:0;width:0;background:#f9f9f9;border-left:#ccd0d4 solid 1px;z-index:1;overflow:hidden}.acf-gallery .acf-gallery-side .acf-gallery-side-inner{position:absolute;top:0;left:0;bottom:0;width:349px}.acf-gallery .acf-gallery-side-info{position:relative;width:100%;padding:10px;margin:-10px 0 15px -10px;background:#f1f1f1;border-bottom:#dfdfdf solid 1px}.acf-gallery .acf-gallery-side-info:after{display:block;clear:both;content:""}html[dir=rtl] .acf-gallery .acf-gallery-side-info{margin-left:0;margin-right:-10px}.acf-gallery .acf-gallery-side-info img{float:left;width:auto;max-width:65px;max-height:65px;margin:0 10px 1px 0;background:#fff;padding:3px;border:#ccd0d4 solid 1px;border-radius:1px}html[dir=rtl] .acf-gallery .acf-gallery-side-info img{float:right;margin:0 0 0 10px}.acf-gallery .acf-gallery-side-info p{font-size:13px;line-height:15px;margin:3px 0;word-break:break-all;color:#666}.acf-gallery .acf-gallery-side-info p strong{color:#000}.acf-gallery .acf-gallery-side-info a{text-decoration:none}.acf-gallery .acf-gallery-side-info a.acf-gallery-edit{color:#21759b}.acf-gallery .acf-gallery-side-info a.acf-gallery-remove{color:#bc0b0b}.acf-gallery .acf-gallery-side-info a:hover{text-decoration:underline}.acf-gallery .acf-gallery-side-data{position:absolute;top:0;right:0;bottom:48px;left:0;overflow:auto;overflow-x:inherit;padding:10px}.acf-gallery .acf-gallery-side-data .acf-label,.acf-gallery .acf-gallery-side-data th.label{color:#666;font-size:12px;line-height:25px;padding:0 4px 8px 0 !important;width:auto !important;vertical-align:top}html[dir=rtl] .acf-gallery .acf-gallery-side-data .acf-label,html[dir=rtl] .acf-gallery .acf-gallery-side-data th.label{padding:0 0 8px 4px !important}.acf-gallery .acf-gallery-side-data .acf-label label,.acf-gallery .acf-gallery-side-data th.label label{font-weight:normal}.acf-gallery .acf-gallery-side-data .acf-input,.acf-gallery .acf-gallery-side-data td.field{padding:0 0 8px !important}.acf-gallery .acf-gallery-side-data textarea{min-height:0;height:60px}.acf-gallery .acf-gallery-side-data p.help{font-size:12px}.acf-gallery .acf-gallery-side-data p.help:hover{font-weight:normal}.acf-gallery[data-columns="1"] .acf-gallery-attachment{width:100%}.acf-gallery[data-columns="2"] .acf-gallery-attachment{width:50%}.acf-gallery[data-columns="3"] .acf-gallery-attachment{width:33.333%}.acf-gallery[data-columns="4"] .acf-gallery-attachment{width:25%}.acf-gallery[data-columns="5"] .acf-gallery-attachment{width:20%}.acf-gallery[data-columns="6"] .acf-gallery-attachment{width:16.666%}.acf-gallery[data-columns="7"] .acf-gallery-attachment{width:14.285%}.acf-gallery[data-columns="8"] .acf-gallery-attachment{width:12.5%}.acf-gallery .ui-resizable-handle{display:block;position:absolute}.acf-gallery .ui-resizable-s{bottom:-5px;cursor:ns-resize;height:7px;left:0;width:100%}.acf-media-modal .attachment.acf-selected{box-shadow:0 0 0 3px #fff inset,0 0 0 7px #0073aa inset !important}.acf-media-modal .attachment.acf-selected .check{display:none !important}.acf-media-modal .attachment.acf-selected .thumbnail{opacity:.25 !important}.acf-media-modal .attachment.acf-selected .attachment-preview:before{background:rgba(0,0,0,.15);z-index:1;position:relative}.acf-admin-single-options-page .select2-dropdown{border-color:#6bb5d8 !important;margin-top:-5px;overflow:hidden;box-shadow:0px 1px 2px rgba(16,24,40,.1)}.acf-admin-single-options-page .select2-dropdown.select2-dropdown--above{margin-top:0}.acf-admin-single-options-page .select2-container--default .select2-results__option[aria-selected=true]{background-color:#f9fafb !important;color:#667085}.acf-admin-single-options-page .select2-container--default .select2-results__option[aria-selected=true]:hover{color:#399ccb}.acf-admin-single-options-page .select2-container--default .select2-results__option--highlighted[aria-selected]{color:#fff !important;background-color:#0783be !important}.acf-admin-single-options-page .select2-dropdown .select2-results__option{margin-bottom:0}.acf-create-options-page-popup~.select2-container{z-index:999999999}.acf-block-component .components-placeholder{margin:0}.block-editor .acf-field.acf-error{background-color:rgba(255,0,0,.05)}.acf-block-component .acf-block-fields{background:#fff;text-align:left;font-size:13px;line-height:1.4em;color:#444;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif}.acf-block-component .acf-block-fields.acf-empty-block-fields{border:1px solid #1e1e1e;padding:12px}.components-panel .acf-block-component .acf-block-fields.acf-empty-block-fields{border:none;border-top:1px solid #ddd;border-bottom:1px solid #ddd}html[dir=rtl] .acf-block-component .acf-block-fields{text-align:right}.acf-block-component .acf-block-fields p{font-size:13px;line-height:1.5}.acf-block-body .acf-block-fields:has(>.acf-error-message),.acf-block-fields:has(>.acf-error-message) .acf-block-fields:has(>.acf-error-message){border:none !important}.acf-block-body .acf-error-message,.acf-block-fields:has(>.acf-error-message) .acf-error-message{margin-top:0;border:none}.acf-block-body .acf-error-message .acf-notice-dismiss,.acf-block-fields:has(>.acf-error-message) .acf-error-message .acf-notice-dismiss{display:flex;align-items:center;justify-content:center;overflow:hidden;outline:unset}.acf-block-body .acf-error-message .acf-icon.-cancel::before,.acf-block-fields:has(>.acf-error-message) .acf-error-message .acf-icon.-cancel::before{margin:0 !important}.acf-block-body.acf-block-has-validation-error,.acf-block-fields:has(>.acf-error-message).acf-block-has-validation-error{border:2px solid #d94f4f}.acf-block-body .acf-error .acf-input .acf-notice,.acf-block-fields:has(>.acf-error-message) .acf-error .acf-input .acf-notice{background:none !important;border:none !important;display:flex !important;align-items:center !important;padding-left:0}.acf-block-body .acf-error .acf-input .acf-notice p,.acf-block-fields:has(>.acf-error-message) .acf-error .acf-input .acf-notice p{margin:.5em 0 !important}.acf-block-body .acf-error .acf-input .acf-notice::before,.acf-block-fields:has(>.acf-error-message) .acf-error .acf-input .acf-notice::before{content:"";position:relative;top:0;left:0;font-size:20px;background-image:url(../../../images/icons/icon-info-red.svg);background-repeat:no-repeat;background-position:center;background-size:69%;height:26px !important;width:26px !important;box-sizing:border-box}.acf-block-body .acf-error .acf-label label,.acf-block-fields:has(>.acf-error-message) .acf-error .acf-label label{color:#d94f4f}.acf-block-body .acf-error .acf-input input,.acf-block-fields:has(>.acf-error-message) .acf-error .acf-input input{border-color:#d94f4f}.acf-block-body.acf-block-has-validation-error::before,.acf-block-fields:has(>.acf-error-message).acf-block-has-validation-error::before{content:"";position:absolute;top:-2px;left:-32px;font-size:20px;background-color:#d94f4f;background-image:url(../../../images/icons/icon-info-white.svg);background-repeat:no-repeat;background-position-x:center;background-position-y:52%;background-size:55%;height:40px;width:32px;box-sizing:border-box}.acf-block-body .acf-block-validation-error,.acf-block-fields:has(>.acf-error-message) .acf-block-validation-error{color:#d94f4f;display:flex;align-items:center}.acf-block-body .acf-block-fields,.acf-block-fields:has(>.acf-error-message) .acf-block-fields{border:#adb2ad solid 1px}.acf-block-body .acf-block-fields .acf-tab-wrap .acf-tab-group,.acf-block-fields:has(>.acf-error-message) .acf-block-fields .acf-tab-wrap .acf-tab-group{margin-left:0;padding:16px 20px 0}.acf-block-body .acf-fields>.acf-field,.acf-block-fields:has(>.acf-error-message) .acf-fields>.acf-field{padding:16px 20px}.acf-block-body .acf-fields>.acf-field.acf-accordion,.acf-block-fields:has(>.acf-error-message) .acf-fields>.acf-field.acf-accordion{border-color:#adb2ad}.acf-block-body .acf-fields>.acf-field.acf-accordion .acf-accordion-title,.acf-block-fields:has(>.acf-error-message) .acf-fields>.acf-field.acf-accordion .acf-accordion-title{padding:16px 20px}.acf-block-body .acf-button,.acf-block-body .acf-link a.button,.acf-block-body .acf-add-checkbox,.acf-block-fields:has(>.acf-error-message) .acf-button,.acf-block-fields:has(>.acf-error-message) .acf-link a.button,.acf-block-fields:has(>.acf-error-message) .acf-add-checkbox{color:#2271b1 !important;border-color:#2271b1 !important;background:#f6f7f7 !important;vertical-align:top}.acf-block-body .acf-button.button-primary:hover,.acf-block-body .acf-link a.button.button-primary:hover,.acf-block-body .acf-add-checkbox.button-primary:hover,.acf-block-fields:has(>.acf-error-message) .acf-button.button-primary:hover,.acf-block-fields:has(>.acf-error-message) .acf-link a.button.button-primary:hover,.acf-block-fields:has(>.acf-error-message) .acf-add-checkbox.button-primary:hover{color:#fff !important;background:#2271b1 !important}.acf-block-body .acf-button:focus,.acf-block-body .acf-link a.button:focus,.acf-block-body .acf-add-checkbox:focus,.acf-block-fields:has(>.acf-error-message) .acf-button:focus,.acf-block-fields:has(>.acf-error-message) .acf-link a.button:focus,.acf-block-fields:has(>.acf-error-message) .acf-add-checkbox:focus{outline:none !important;background:#f6f7f7 !important}.acf-block-body .acf-button:hover,.acf-block-body .acf-link a.button:hover,.acf-block-body .acf-add-checkbox:hover,.acf-block-fields:has(>.acf-error-message) .acf-button:hover,.acf-block-fields:has(>.acf-error-message) .acf-link a.button:hover,.acf-block-fields:has(>.acf-error-message) .acf-add-checkbox:hover{color:#0a4b78 !important}.acf-block-body .acf-block-preview,.acf-block-fields:has(>.acf-error-message) .acf-block-preview{min-height:10px}.acf-block-panel .acf-block-fields{border-top:#ddd solid 1px;border-bottom:#ddd solid 1px;min-height:1px}.acf-block-panel .acf-block-fields:empty{border-top:none}.acf-block-panel .acf-block-fields .acf-tab-wrap{background:rgba(0,0,0,0)}.components-panel__body .acf-block-panel{margin:16px -16px -16px} +.acf-repeater>table{margin:0 0 8px;background:#f9f9f9}.acf-repeater>table>tbody tr.acf-divider:not(:first-child)>td{border-top:10px solid #eaecf0}.acf-repeater .acf-row-handle{width:16px;text-align:center !important;vertical-align:middle !important;position:relative}.acf-repeater .acf-row-handle .acf-order-input-wrap{width:45px}.acf-repeater .acf-row-handle .acf-order-input::-webkit-outer-spin-button,.acf-repeater .acf-row-handle .acf-order-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.acf-repeater .acf-row-handle .acf-order-input{-moz-appearance:textfield;text-align:center}.acf-repeater .acf-row-handle .acf-icon{display:none;position:absolute;top:0;margin:-8px 0 0 -2px}.acf-repeater .acf-row-handle .acf-icon.-minus{top:50%}body.browser-msie .acf-repeater .acf-row-handle .acf-icon.-minus{top:25px}.acf-repeater .acf-row-handle.order{background:#f4f4f4;cursor:move;color:#aaa;text-shadow:#fff 0 1px 0}.acf-repeater .acf-row-handle.order:hover{color:#666}.acf-repeater .acf-row-handle.order+td{border-left-color:#dfdfdf}.acf-repeater .acf-row-handle.pagination{cursor:auto}.acf-repeater .acf-row-handle.remove{background:#f9f9f9;border-left-color:#dfdfdf}.acf-repeater th.acf-row-handle:before{content:"";width:16px;display:block;height:1px}.acf-repeater .acf-row.acf-clone{display:none !important}.acf-repeater .acf-row:hover>.acf-row-handle .acf-icon,.acf-repeater .acf-row.-hover>.acf-row-handle .acf-icon{display:block}.acf-repeater .acf-row:hover>.acf-row-handle .acf-icon.show-on-shift,.acf-repeater .acf-row.-hover>.acf-row-handle .acf-icon.show-on-shift{display:none}body.acf-keydown-shift .acf-repeater .acf-row:hover>.acf-row-handle .acf-icon.show-on-shift,body.acf-keydown-shift .acf-repeater .acf-row.-hover>.acf-row-handle .acf-icon.show-on-shift{display:block}body.acf-keydown-shift .acf-repeater .acf-row:hover>.acf-row-handle .acf-icon.hide-on-shift,body.acf-keydown-shift .acf-repeater .acf-row.-hover>.acf-row-handle .acf-icon.hide-on-shift{display:none}.acf-repeater>table>tbody>tr.ui-sortable-helper{box-shadow:0 1px 5px rgba(0,0,0,.2)}.acf-repeater>table>tbody>tr.ui-sortable-placeholder{visibility:visible !important}.acf-repeater>table>tbody>tr.ui-sortable-placeholder td{background:#f9f9f9}.acf-repeater.-row>table>tbody>tr>td,.acf-repeater.-block>table>tbody>tr>td{border-top-color:#e1e1e1}.acf-repeater.-empty>table>thead>tr>th{border-bottom:0 none}.acf-repeater.-empty.-row>table,.acf-repeater.-empty.-block>table{display:none}.acf-repeater .acf-row.-collapsed>.acf-field{display:none !important}.acf-repeater .acf-row.-collapsed>td.acf-field.-collapsed-target{display:table-cell !important}.acf-repeater .acf-row.-collapsed>.acf-fields>*{display:none !important}.acf-repeater .acf-row.-collapsed>.acf-fields>.acf-field.-collapsed-target{display:block !important}.acf-repeater .acf-row.-collapsed>.acf-fields>.acf-field.-collapsed-target[data-width]{float:none !important;width:auto !important}.acf-repeater.-table .acf-row.-collapsed .acf-field.-collapsed-target{border-left-color:#dfdfdf}.acf-repeater.-max .acf-icon[data-event=add-row]{display:none !important}.acf-repeater>.acf-actions .acf-button{float:right;pointer-events:auto !important}.acf-repeater>.acf-actions .acf-tablenav{float:right;margin-right:20px}.acf-repeater>.acf-actions .acf-tablenav .current-page{width:auto !important}.acf-flexible-content{position:relative}.acf-flexible-content>.clones{display:none}.acf-flexible-content>.values{margin:0 0 8px}.acf-flexible-content>.values>.ui-sortable-placeholder{visibility:visible !important;border:1px dashed #b4b9be;box-shadow:none;background:rgba(0,0,0,0)}.acf-flexible-content .layout{position:relative;margin:20px 0 0;background:#fff;border:1px solid #ccd0d4}.acf-flexible-content .layout:first-child{margin-top:0}.acf-flexible-content .layout .acf-fc-layout-handle{display:block;position:relative;padding:8px 10px;cursor:move;border-bottom:#ccd0d4 solid 1px;color:#444;font-size:14px;line-height:1.4em}.acf-flexible-content .layout .acf-fc-layout-order{display:block;width:20px;height:20px;border-radius:10px;display:inline-block;text-align:center;line-height:20px;margin:0 2px 0 0;background:#f1f1f1;font-size:12px;color:#444}html[dir=rtl] .acf-flexible-content .layout .acf-fc-layout-order{float:right;margin-right:0;margin-left:5px}.acf-flexible-content .layout .acf-fc-layout-controls{position:absolute;top:8px;right:8px}.acf-flexible-content .layout .acf-fc-layout-controls .acf-icon{display:block;float:left;margin:0 0 0 5px}.acf-flexible-content .layout .acf-fc-layout-controls .acf-icon.-plus,.acf-flexible-content .layout .acf-fc-layout-controls .acf-icon.-minus,.acf-flexible-content .layout .acf-fc-layout-controls .acf-icon.-duplicate{visibility:hidden}html[dir=rtl] .acf-flexible-content .layout .acf-fc-layout-controls{right:auto;left:9px}.acf-flexible-content .layout.is-selected{border-color:#7e8993}.acf-flexible-content .layout.is-selected .acf-fc-layout-handle{border-color:#7e8993}.acf-flexible-content .layout:hover .acf-fc-layout-controls .acf-icon.-plus,.acf-flexible-content .layout:hover .acf-fc-layout-controls .acf-icon.-minus,.acf-flexible-content .layout:hover .acf-fc-layout-controls .acf-icon.-duplicate,.acf-flexible-content .layout.-hover .acf-fc-layout-controls .acf-icon.-plus,.acf-flexible-content .layout.-hover .acf-fc-layout-controls .acf-icon.-minus,.acf-flexible-content .layout.-hover .acf-fc-layout-controls .acf-icon.-duplicate{visibility:visible}.acf-flexible-content .layout.-collapsed>.acf-fc-layout-handle{border-bottom-width:0}.acf-flexible-content .layout.-collapsed>.acf-fields,.acf-flexible-content .layout.-collapsed>.acf-table{display:none}.acf-flexible-content .layout>.acf-table{border:0 none;box-shadow:none}.acf-flexible-content .layout>.acf-table>tbody>tr{background:#fff}.acf-flexible-content .layout>.acf-table>thead>tr>th{background:#f9f9f9}.acf-flexible-content .no-value-message{padding:19px;border:#ccc dashed 2px;text-align:center;display:none}.acf-flexible-content.-empty>.no-value-message{display:block}.acf-fc-popup{padding:5px 0;z-index:900001;min-width:135px}.acf-fc-popup ul,.acf-fc-popup li{list-style:none;display:block;margin:0;padding:0}.acf-fc-popup li{position:relative;float:none;white-space:nowrap}.acf-fc-popup .badge{display:inline-block;border-radius:8px;font-size:9px;line-height:15px;padding:0 5px;background:#d54e21;text-align:center;color:#fff;vertical-align:top;margin:0 0 0 5px}.acf-fc-popup a{color:#eee;padding:5px 10px;display:block;text-decoration:none;position:relative}.acf-fc-popup a:hover{background:#0073aa;color:#fff}.acf-fc-popup a.disabled{color:#888;background:rgba(0,0,0,0)}.acf-gallery{border:#ccd0d4 solid 1px;height:400px;position:relative}.acf-gallery .acf-gallery-main{position:absolute;top:0;right:0;bottom:0;left:0;background:#fff;z-index:2}.acf-gallery .acf-gallery-attachments{position:absolute;top:0;right:0;bottom:48px;left:0;padding:5px;overflow:auto;overflow-x:hidden}.acf-gallery .acf-gallery-attachment{width:25%;float:left;cursor:pointer;position:relative}.acf-gallery .acf-gallery-attachment .margin{margin:5px;border:#d5d9dd solid 1px;position:relative;overflow:hidden;background:#eee}.acf-gallery .acf-gallery-attachment .margin:before{content:"";display:block;padding-top:100%}.acf-gallery .acf-gallery-attachment .thumbnail{position:absolute;top:0;left:0;width:100%;height:100%;transform:translate(50%, 50%)}html[dir=rtl] .acf-gallery .acf-gallery-attachment .thumbnail{transform:translate(-50%, 50%)}.acf-gallery .acf-gallery-attachment .thumbnail img{display:block;height:auto;max-height:100%;width:auto;transform:translate(-50%, -50%)}html[dir=rtl] .acf-gallery .acf-gallery-attachment .thumbnail img{transform:translate(50%, -50%)}.acf-gallery .acf-gallery-attachment .filename{position:absolute;bottom:0;left:0;right:0;padding:5%;background:#f4f4f4;background:hsla(0,0%,100%,.8);border-top:#dfdfdf solid 1px;font-weight:bold;text-align:center;word-wrap:break-word;max-height:90%;overflow:hidden}.acf-gallery .acf-gallery-attachment .actions{position:absolute;top:0;right:0;display:none}.acf-gallery .acf-gallery-attachment:hover .actions{display:block}.acf-gallery .acf-gallery-attachment.ui-sortable-helper .margin{border:none;box-shadow:0 1px 3px rgba(0,0,0,.3)}.acf-gallery .acf-gallery-attachment.ui-sortable-placeholder .margin{background:#f1f1f1;border:none}.acf-gallery .acf-gallery-attachment.ui-sortable-placeholder .margin *{display:none !important}.acf-gallery .acf-gallery-attachment.active .margin{box-shadow:0 0 0 1px #fff,0 0 0 5px #0073aa}.acf-gallery .acf-gallery-attachment.-icon .thumbnail img{transform:translate(-50%, -70%)}html[dir=rtl] .acf-gallery .acf-gallery-attachment{float:right}.acf-gallery.sidebar-open .acf-gallery-attachment .actions{display:none}.acf-gallery.sidebar-open .acf-gallery-side{z-index:2}.acf-gallery .acf-gallery-toolbar{position:absolute;right:0;bottom:0;left:0;padding:10px;border-top:#d5d9dd solid 1px;background:#fff;min-height:28px}.acf-gallery .acf-gallery-toolbar .acf-hl li{line-height:24px}.acf-gallery .acf-gallery-toolbar .bulk-actions-select{width:auto;margin:0 1px 0 0}.acf-gallery .acf-gallery-side{position:absolute;top:0;right:0;bottom:0;width:0;background:#f9f9f9;border-left:#ccd0d4 solid 1px;z-index:1;overflow:hidden}.acf-gallery .acf-gallery-side .acf-gallery-side-inner{position:absolute;top:0;left:0;bottom:0;width:349px}.acf-gallery .acf-gallery-side-info{position:relative;width:100%;padding:10px;margin:-10px 0 15px -10px;background:#f1f1f1;border-bottom:#dfdfdf solid 1px}.acf-gallery .acf-gallery-side-info:after{display:block;clear:both;content:""}html[dir=rtl] .acf-gallery .acf-gallery-side-info{margin-left:0;margin-right:-10px}.acf-gallery .acf-gallery-side-info img{float:left;width:auto;max-width:65px;max-height:65px;margin:0 10px 1px 0;background:#fff;padding:3px;border:#ccd0d4 solid 1px;border-radius:1px}html[dir=rtl] .acf-gallery .acf-gallery-side-info img{float:right;margin:0 0 0 10px}.acf-gallery .acf-gallery-side-info p{font-size:13px;line-height:15px;margin:3px 0;word-break:break-all;color:#666}.acf-gallery .acf-gallery-side-info p strong{color:#000}.acf-gallery .acf-gallery-side-info a{text-decoration:none}.acf-gallery .acf-gallery-side-info a.acf-gallery-edit{color:#21759b}.acf-gallery .acf-gallery-side-info a.acf-gallery-remove{color:#bc0b0b}.acf-gallery .acf-gallery-side-info a:hover{text-decoration:underline}.acf-gallery .acf-gallery-side-data{position:absolute;top:0;right:0;bottom:48px;left:0;overflow:auto;overflow-x:inherit;padding:10px}.acf-gallery .acf-gallery-side-data .acf-label,.acf-gallery .acf-gallery-side-data th.label{color:#666;font-size:12px;line-height:25px;padding:0 4px 8px 0 !important;width:auto !important;vertical-align:top}html[dir=rtl] .acf-gallery .acf-gallery-side-data .acf-label,html[dir=rtl] .acf-gallery .acf-gallery-side-data th.label{padding:0 0 8px 4px !important}.acf-gallery .acf-gallery-side-data .acf-label label,.acf-gallery .acf-gallery-side-data th.label label{font-weight:normal}.acf-gallery .acf-gallery-side-data .acf-input,.acf-gallery .acf-gallery-side-data td.field{padding:0 0 8px !important}.acf-gallery .acf-gallery-side-data textarea{min-height:0;height:60px}.acf-gallery .acf-gallery-side-data p.help{font-size:12px}.acf-gallery .acf-gallery-side-data p.help:hover{font-weight:normal}.acf-gallery[data-columns="1"] .acf-gallery-attachment{width:100%}.acf-gallery[data-columns="2"] .acf-gallery-attachment{width:50%}.acf-gallery[data-columns="3"] .acf-gallery-attachment{width:33.333%}.acf-gallery[data-columns="4"] .acf-gallery-attachment{width:25%}.acf-gallery[data-columns="5"] .acf-gallery-attachment{width:20%}.acf-gallery[data-columns="6"] .acf-gallery-attachment{width:16.666%}.acf-gallery[data-columns="7"] .acf-gallery-attachment{width:14.285%}.acf-gallery[data-columns="8"] .acf-gallery-attachment{width:12.5%}.acf-gallery .ui-resizable-handle{display:block;position:absolute}.acf-gallery .ui-resizable-s{bottom:-5px;cursor:ns-resize;height:7px;left:0;width:100%}.acf-media-modal .attachment.acf-selected{box-shadow:0 0 0 3px #fff inset,0 0 0 7px #0073aa inset !important}.acf-media-modal .attachment.acf-selected .check{display:none !important}.acf-media-modal .attachment.acf-selected .thumbnail{opacity:.25 !important}.acf-media-modal .attachment.acf-selected .attachment-preview:before{background:rgba(0,0,0,.15);z-index:1;position:relative}.acf-admin-single-options-page .select2-dropdown{border-color:#6bb5d8 !important;margin-top:-5px;overflow:hidden;box-shadow:0px 1px 2px rgba(16,24,40,.1)}.acf-admin-single-options-page .select2-dropdown.select2-dropdown--above{margin-top:0}.acf-admin-single-options-page .select2-container--default .select2-results__option[aria-selected=true]{background-color:#f9fafb !important;color:#667085}.acf-admin-single-options-page .select2-container--default .select2-results__option[aria-selected=true]:hover{color:#399ccb}.acf-admin-single-options-page .select2-container--default .select2-results__option--highlighted[aria-selected]{color:#fff !important;background-color:#0783be !important}.acf-admin-single-options-page .select2-dropdown .select2-results__option{margin-bottom:0}.acf-create-options-page-popup~.select2-container{z-index:999999999}.acf-block-component .components-placeholder{margin:0}.block-editor .acf-field.acf-error{background-color:rgba(255,0,0,.05)}.acf-block-component .acf-block-fields{background:#fff;text-align:left;font-size:13px;line-height:1.4em;color:#444;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif}.acf-block-component .acf-block-fields.acf-empty-block-fields{border:1px solid #1e1e1e;padding:12px}.components-panel .acf-block-component .acf-block-fields.acf-empty-block-fields{border:none;border-top:1px solid #ddd;border-bottom:1px solid #ddd}html[dir=rtl] .acf-block-component .acf-block-fields{text-align:right}.acf-block-component .acf-block-fields p{font-size:13px;line-height:1.5}.acf-block-body .acf-block-fields:has(>.acf-error-message),.acf-block-fields:has(>.acf-error-message) .acf-block-fields:has(>.acf-error-message){border:none !important}.acf-block-body .acf-error-message,.acf-block-fields:has(>.acf-error-message) .acf-error-message{margin-top:0;border:none}.acf-block-body .acf-error-message .acf-notice-dismiss,.acf-block-fields:has(>.acf-error-message) .acf-error-message .acf-notice-dismiss{display:flex;align-items:center;justify-content:center;overflow:hidden;outline:unset}.acf-block-body .acf-error-message .acf-icon.-cancel::before,.acf-block-fields:has(>.acf-error-message) .acf-error-message .acf-icon.-cancel::before{margin:0 !important}.acf-block-body.acf-block-has-validation-error,.acf-block-fields:has(>.acf-error-message).acf-block-has-validation-error{border:2px solid #d94f4f}.acf-block-body .acf-error .acf-input .acf-notice,.acf-block-fields:has(>.acf-error-message) .acf-error .acf-input .acf-notice{background:none !important;border:none !important;display:flex !important;align-items:center !important;padding-left:0}.acf-block-body .acf-error .acf-input .acf-notice p,.acf-block-fields:has(>.acf-error-message) .acf-error .acf-input .acf-notice p{margin:.5em 0 !important}.acf-block-body .acf-error .acf-input .acf-notice::before,.acf-block-fields:has(>.acf-error-message) .acf-error .acf-input .acf-notice::before{content:"";position:relative;top:0;left:0;font-size:20px;background-image:url(../../../images/icons/icon-info-red.svg);background-repeat:no-repeat;background-position:center;background-size:69%;height:26px !important;width:26px !important;box-sizing:border-box}.acf-block-body .acf-error .acf-label label,.acf-block-fields:has(>.acf-error-message) .acf-error .acf-label label{color:#d94f4f}.acf-block-body .acf-error .acf-input input,.acf-block-fields:has(>.acf-error-message) .acf-error .acf-input input{border-color:#d94f4f}.acf-block-body.acf-block-has-validation-error::before,.acf-block-fields:has(>.acf-error-message).acf-block-has-validation-error::before{content:"";position:absolute;top:-2px;left:-32px;font-size:20px;background-color:#d94f4f;background-image:url(../../../images/icons/icon-info-white.svg);background-repeat:no-repeat;background-position-x:center;background-position-y:52%;background-size:55%;height:40px;width:32px;box-sizing:border-box}.acf-block-body .acf-block-validation-error,.acf-block-fields:has(>.acf-error-message) .acf-block-validation-error{color:#d94f4f;display:flex;align-items:center}.acf-block-body .acf-block-fields,.acf-block-fields:has(>.acf-error-message) .acf-block-fields{border:#adb2ad solid 1px}.acf-block-body .acf-block-fields .acf-tab-wrap .acf-tab-group,.acf-block-fields:has(>.acf-error-message) .acf-block-fields .acf-tab-wrap .acf-tab-group{margin-left:0;padding:16px 20px 0}.acf-block-body .acf-fields>.acf-field,.acf-block-fields:has(>.acf-error-message) .acf-fields>.acf-field{padding:16px 20px}.acf-block-body .acf-fields>.acf-field.acf-accordion,.acf-block-fields:has(>.acf-error-message) .acf-fields>.acf-field.acf-accordion{border-color:#adb2ad}.acf-block-body .acf-fields>.acf-field.acf-accordion .acf-accordion-title,.acf-block-fields:has(>.acf-error-message) .acf-fields>.acf-field.acf-accordion .acf-accordion-title{padding:16px 20px}.acf-block-body .acf-button,.acf-block-body .acf-link a.button,.acf-block-body .acf-add-checkbox,.acf-block-fields:has(>.acf-error-message) .acf-button,.acf-block-fields:has(>.acf-error-message) .acf-link a.button,.acf-block-fields:has(>.acf-error-message) .acf-add-checkbox{color:#2271b1 !important;border-color:#2271b1 !important;background:#f6f7f7 !important;vertical-align:top}.acf-block-body .acf-button.button-primary:hover,.acf-block-body .acf-link a.button.button-primary:hover,.acf-block-body .acf-add-checkbox.button-primary:hover,.acf-block-fields:has(>.acf-error-message) .acf-button.button-primary:hover,.acf-block-fields:has(>.acf-error-message) .acf-link a.button.button-primary:hover,.acf-block-fields:has(>.acf-error-message) .acf-add-checkbox.button-primary:hover{color:#fff !important;background:#2271b1 !important}.acf-block-body .acf-button:focus,.acf-block-body .acf-link a.button:focus,.acf-block-body .acf-add-checkbox:focus,.acf-block-fields:has(>.acf-error-message) .acf-button:focus,.acf-block-fields:has(>.acf-error-message) .acf-link a.button:focus,.acf-block-fields:has(>.acf-error-message) .acf-add-checkbox:focus{outline:none !important;background:#f6f7f7 !important}.acf-block-body .acf-button:hover,.acf-block-body .acf-link a.button:hover,.acf-block-body .acf-add-checkbox:hover,.acf-block-fields:has(>.acf-error-message) .acf-button:hover,.acf-block-fields:has(>.acf-error-message) .acf-link a.button:hover,.acf-block-fields:has(>.acf-error-message) .acf-add-checkbox:hover{color:#0a4b78 !important}.acf-block-body .acf-block-preview,.acf-block-fields:has(>.acf-error-message) .acf-block-preview{min-height:10px}.acf-block-panel .acf-block-fields{border-top:#ddd solid 1px;border-bottom:#ddd solid 1px;min-height:1px}.acf-block-panel .acf-block-fields:empty{border-top:none}.acf-block-panel .acf-block-fields .acf-tab-wrap{background:rgba(0,0,0,0)}.components-panel__body .acf-block-panel{margin:16px -16px -16px} diff --git a/wp-content/plugins/advanced-custom-fields-pro/assets/build/css/pro/index.php b/wp-content/plugins/advanced-custom-fields-pro/assets/build/css/pro/index.php new file mode 100644 index 000000000..97611c0c5 --- /dev/null +++ b/wp-content/plugins/advanced-custom-fields-pro/assets/build/css/pro/index.php @@ -0,0 +1,2 @@ + { // webpackBootstrap -var __webpack_exports__ = {}; -/*!*********************************************************************************!*\ - !*** ./src/advanced-custom-fields-pro/assets/src/js/acf-escaped-html-notice.js ***! - \*********************************************************************************/ -/* global, acf_escaped_html_notice */ -(function ($) { - const $notice = $('.acf-escaped-html-notice'); - $notice.on('click', '.acf-show-more-details', function (e) { - e.preventDefault(); - const $link = $(e.target); - const $details = $link.closest('.acf-escaped-html-notice').find('.acf-error-details'); - if ($details.is(':hidden')) { - $details.slideDown(100); - $link.text(acf_escaped_html_notice.hide_details); - } else { - $details.slideUp(100); - $link.text(acf_escaped_html_notice.show_details); - } - }); -})(jQuery); -/******/ })() -; -//# sourceMappingURL=acf-escaped-html-notice.js.map \ No newline at end of file diff --git a/wp-content/plugins/advanced-custom-fields-pro/assets/build/js/acf-escaped-html-notice.js.map b/wp-content/plugins/advanced-custom-fields-pro/assets/build/js/acf-escaped-html-notice.js.map deleted file mode 100644 index af9ad8ede..000000000 --- a/wp-content/plugins/advanced-custom-fields-pro/assets/build/js/acf-escaped-html-notice.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"acf-escaped-html-notice.js","mappings":";;;;;AAAA;AACA,CAAE,UAAWA,CAAC,EAAG;EAChB,MAAMC,OAAO,GAAGD,CAAC,CAAE,0BAA2B,CAAC;EAE/CC,OAAO,CAACC,EAAE,CAAE,OAAO,EAAE,wBAAwB,EAAE,UAAWC,CAAC,EAAG;IAC7DA,CAAC,CAACC,cAAc,CAAC,CAAC;IAElB,MAAMC,KAAK,GAAGL,CAAC,CAAEG,CAAC,CAACG,MAAO,CAAC;IAC3B,MAAMC,QAAQ,GAAGF,KAAK,CACpBG,OAAO,CAAE,0BAA2B,CAAC,CACrCC,IAAI,CAAE,oBAAqB,CAAC;IAE9B,IAAKF,QAAQ,CAACG,EAAE,CAAE,SAAU,CAAC,EAAG;MAC/BH,QAAQ,CAACI,SAAS,CAAE,GAAI,CAAC;MACzBN,KAAK,CAACO,IAAI,CAAEC,uBAAuB,CAACC,YAAa,CAAC;IACnD,CAAC,MAAM;MACNP,QAAQ,CAACQ,OAAO,CAAE,GAAI,CAAC;MACvBV,KAAK,CAACO,IAAI,CAAEC,uBAAuB,CAACG,YAAa,CAAC;IACnD;EACD,CAAE,CAAC;AACJ,CAAC,EAAIC,MAAO,CAAC,C","sources":["webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/js/acf-escaped-html-notice.js"],"sourcesContent":["/* global, acf_escaped_html_notice */\n( function ( $ ) {\n\tconst $notice = $( '.acf-escaped-html-notice' );\n\n\t$notice.on( 'click', '.acf-show-more-details', function ( e ) {\n\t\te.preventDefault();\n\n\t\tconst $link = $( e.target );\n\t\tconst $details = $link\n\t\t\t.closest( '.acf-escaped-html-notice' )\n\t\t\t.find( '.acf-error-details' );\n\n\t\tif ( $details.is( ':hidden' ) ) {\n\t\t\t$details.slideDown( 100 );\n\t\t\t$link.text( acf_escaped_html_notice.hide_details );\n\t\t} else {\n\t\t\t$details.slideUp( 100 );\n\t\t\t$link.text( acf_escaped_html_notice.show_details );\n\t\t}\n\t} );\n} )( jQuery );\n"],"names":["$","$notice","on","e","preventDefault","$link","target","$details","closest","find","is","slideDown","text","acf_escaped_html_notice","hide_details","slideUp","show_details","jQuery"],"sourceRoot":""} \ No newline at end of file diff --git a/wp-content/plugins/advanced-custom-fields-pro/assets/build/js/acf-field-group.js b/wp-content/plugins/advanced-custom-fields-pro/assets/build/js/acf-field-group.js deleted file mode 100644 index 8e0e9d5bb..000000000 --- a/wp-content/plugins/advanced-custom-fields-pro/assets/build/js/acf-field-group.js +++ /dev/null @@ -1,3253 +0,0 @@ -/******/ (() => { // webpackBootstrap -/******/ var __webpack_modules__ = ({ - -/***/ "./src/advanced-custom-fields-pro/assets/src/js/_browse-fields-modal.js": -/*!******************************************************************************!*\ - !*** ./src/advanced-custom-fields-pro/assets/src/js/_browse-fields-modal.js ***! - \******************************************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "./node_modules/@babel/runtime/helpers/esm/defineProperty.js"); - -function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; } -function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0,_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0__["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } -/** - * Extends acf.models.Modal to create the field browser. - * - * @package Advanced Custom Fields - */ - -(function ($, undefined, acf) { - const browseFieldsModal = { - data: { - openedBy: null, - currentFieldType: null, - popularFieldTypes: ['text', 'textarea', 'email', 'url', 'file', 'gallery', 'select', 'true_false', 'link', 'post_object', 'relationship', 'repeater', 'flexible_content', 'clone'] - }, - events: { - 'click .acf-modal-close': 'onClickClose', - 'keydown .acf-browse-fields-modal': 'onPressEscapeClose', - 'click .acf-select-field': 'onClickSelectField', - 'click .acf-field-type': 'onClickFieldType', - 'changed:currentFieldType': 'onChangeFieldType', - 'input .acf-search-field-types': 'onSearchFieldTypes', - 'click .acf-browse-popular-fields': 'onClickBrowsePopular' - }, - setup: function (props) { - $.extend(this.data, props); - this.$el = $(this.tmpl()); - this.render(); - }, - initialize: function () { - this.open(); - this.lockFocusToModal(true); - this.$el.find('.acf-modal-title').focus(); - acf.doAction('show', this.$el); - }, - tmpl: function () { - return $('#tmpl-acf-browse-fields-modal').html(); - }, - getFieldTypes: function (category, search) { - let fieldTypes; - if (!acf.get('is_pro')) { - // Add in the pro fields. - fieldTypes = Object.values(_objectSpread(_objectSpread({}, acf.get('fieldTypes')), acf.get('PROFieldTypes'))); - } else { - fieldTypes = Object.values(acf.get('fieldTypes')); - } - if (category) { - if ('popular' === category) { - return fieldTypes.filter(fieldType => this.get('popularFieldTypes').includes(fieldType.name)); - } - if ('pro' === category) { - return fieldTypes.filter(fieldType => fieldType.pro); - } - fieldTypes = fieldTypes.filter(fieldType => fieldType.category === category); - } - if (search) { - fieldTypes = fieldTypes.filter(fieldType => { - const label = fieldType.label.toLowerCase(); - const labelParts = label.split(' '); - let match = false; - if (label.startsWith(search.toLowerCase())) { - match = true; - } else if (labelParts.length > 1) { - labelParts.forEach(part => { - if (part.startsWith(search.toLowerCase())) { - match = true; - } - }); - } - return match; - }); - } - return fieldTypes; - }, - render: function () { - acf.doAction('append', this.$el); - const $tabs = this.$el.find('.acf-field-types-tab'); - const self = this; - $tabs.each(function () { - const category = $(this).data('category'); - const fieldTypes = self.getFieldTypes(category); - fieldTypes.forEach(fieldType => { - $(this).append(self.getFieldTypeHTML(fieldType)); - }); - }); - this.initializeFieldLabel(); - this.initializeFieldType(); - this.onChangeFieldType(); - }, - getFieldTypeHTML: function (fieldType) { - const iconName = fieldType.name.replaceAll('_', '-'); - return ` - - ${fieldType.pro && !acf.get('is_pro') ? '' : fieldType.pro ? '' : ''} - - ${fieldType.label} - - `; - }, - decodeFieldTypeURL: function (url) { - if (typeof url != 'string') return url; - return url.replaceAll('&', '&'); - }, - renderFieldTypeDesc: function (fieldType) { - const fieldTypeInfo = this.getFieldTypes().filter(fieldTypeFilter => fieldTypeFilter.name === fieldType)[0] || {}; - const args = acf.parseArgs(fieldTypeInfo, { - label: '', - description: '', - doc_url: false, - tutorial_url: false, - preview_image: false, - pro: false - }); - this.$el.find('.field-type-name').text(args.label); - this.$el.find('.field-type-desc').text(args.description); - if (args.doc_url) { - this.$el.find('.field-type-doc').attr('href', this.decodeFieldTypeURL(args.doc_url)).show(); - } else { - this.$el.find('.field-type-doc').hide(); - } - if (args.tutorial_url) { - this.$el.find('.field-type-tutorial').attr('href', this.decodeFieldTypeURL(args.tutorial_url)).parent().show(); - } else { - this.$el.find('.field-type-tutorial').parent().hide(); - } - if (args.preview_image) { - this.$el.find('.field-type-image').attr('src', args.preview_image).show(); - } else { - this.$el.find('.field-type-image').hide(); - } - const isPro = acf.get('is_pro'); - const isActive = acf.get('isLicenseActive'); - const $upgateToProButton = this.$el.find('.acf-btn-pro'); - const $upgradeToUnlockButton = this.$el.find('.field-type-upgrade-to-unlock'); - if (args.pro && (!isPro || !isActive)) { - $upgateToProButton.show(); - $upgateToProButton.attr('href', $upgateToProButton.data('urlBase') + fieldType); - $upgradeToUnlockButton.show(); - $upgradeToUnlockButton.attr('href', $upgradeToUnlockButton.data('urlBase') + fieldType); - this.$el.find('.acf-insert-field-label').attr('disabled', true); - this.$el.find('.acf-select-field').hide(); - } else { - $upgateToProButton.hide(); - $upgradeToUnlockButton.hide(); - this.$el.find('.acf-insert-field-label').attr('disabled', false); - this.$el.find('.acf-select-field').show(); - } - }, - initializeFieldType: function () { - var _fieldObject$data; - const fieldObject = this.get('openedBy'); - const fieldType = fieldObject === null || fieldObject === void 0 || (_fieldObject$data = fieldObject.data) === null || _fieldObject$data === void 0 ? void 0 : _fieldObject$data.type; - - // Select default field type - if (fieldType) { - this.set('currentFieldType', fieldType); - } else { - this.set('currentFieldType', 'text'); - } - - // Select first tab with selected field type - // If type selected is wthin Popular, select Popular Tab - // Else select first tab the type belongs - const fieldTypes = this.getFieldTypes(); - const isFieldTypePopular = this.get('popularFieldTypes').includes(fieldType); - let category = ''; - if (isFieldTypePopular) { - category = 'popular'; - } else { - const selectedFieldType = fieldTypes.find(x => { - return x.name === fieldType; - }); - category = selectedFieldType.category; - } - const uppercaseCategory = category[0].toUpperCase() + category.slice(1); - const searchTabElement = `.acf-modal-content .acf-tab-wrap a:contains('${uppercaseCategory}')`; - setTimeout(() => { - $(searchTabElement).click(); - }, 0); - }, - initializeFieldLabel: function () { - const fieldObject = this.get('openedBy'); - const labelText = fieldObject.$fieldLabel().val(); - const $fieldLabel = this.$el.find('.acf-insert-field-label'); - if (labelText) { - $fieldLabel.val(labelText); - } else { - $fieldLabel.val(''); - } - }, - updateFieldObjectFieldLabel: function () { - const label = this.$el.find('.acf-insert-field-label').val(); - const fieldObject = this.get('openedBy'); - fieldObject.$fieldLabel().val(label); - fieldObject.$fieldLabel().trigger('blur'); - }, - onChangeFieldType: function () { - const fieldType = this.get('currentFieldType'); - this.$el.find('.selected').removeClass('selected'); - this.$el.find('.acf-field-type[data-field-type="' + fieldType + '"]').addClass('selected'); - this.renderFieldTypeDesc(fieldType); - }, - onSearchFieldTypes: function (e) { - const $modal = this.$el.find('.acf-browse-fields-modal'); - const inputVal = this.$el.find('.acf-search-field-types').val(); - const self = this; - let searchString, - resultsHtml = ''; - let matches = []; - if ('string' === typeof inputVal) { - searchString = inputVal.trim(); - matches = this.getFieldTypes(false, searchString); - } - if (searchString.length && matches.length) { - $modal.addClass('is-searching'); - } else { - $modal.removeClass('is-searching'); - } - if (!matches.length) { - $modal.addClass('no-results-found'); - this.$el.find('.acf-invalid-search-term').text(searchString); - return; - } else { - $modal.removeClass('no-results-found'); - } - matches.forEach(fieldType => { - resultsHtml = resultsHtml + self.getFieldTypeHTML(fieldType); - }); - $('.acf-field-type-search-results').html(resultsHtml); - this.set('currentFieldType', matches[0].name); - this.onChangeFieldType(); - }, - onClickBrowsePopular: function () { - this.$el.find('.acf-search-field-types').val('').trigger('input'); - this.$el.find('.acf-tab-wrap a').first().trigger('click'); - }, - onClickSelectField: function (e) { - const fieldObject = this.get('openedBy'); - fieldObject.$fieldTypeSelect().val(this.get('currentFieldType')); - fieldObject.$fieldTypeSelect().trigger('change'); - this.updateFieldObjectFieldLabel(); - this.close(); - }, - onClickFieldType: function (e) { - const $fieldType = $(e.currentTarget); - this.set('currentFieldType', $fieldType.data('field-type')); - }, - onClickClose: function () { - this.close(); - }, - onPressEscapeClose: function (e) { - if (e.key === 'Escape') { - this.close(); - } - }, - close: function () { - this.lockFocusToModal(false); - this.returnFocusToOrigin(); - this.remove(); - }, - focus: function () { - this.$el.find('button').first().trigger('focus'); - } - }; - acf.models.browseFieldsModal = acf.models.Modal.extend(browseFieldsModal); - acf.newBrowseFieldsModal = props => new acf.models.browseFieldsModal(props); -})(window.jQuery, undefined, window.acf); - -/***/ }), - -/***/ "./src/advanced-custom-fields-pro/assets/src/js/_field-group-compatibility.js": -/*!************************************************************************************!*\ - !*** ./src/advanced-custom-fields-pro/assets/src/js/_field-group-compatibility.js ***! - \************************************************************************************/ -/***/ (() => { - -(function ($, undefined) { - var _acf = acf.getCompatibility(acf); - - /** - * fieldGroupCompatibility - * - * Compatibility layer for extinct acf.field_group - * - * @date 15/12/17 - * @since 5.7.0 - * - * @param void - * @return void - */ - - _acf.field_group = { - save_field: function ($field, type) { - type = type !== undefined ? type : 'settings'; - acf.getFieldObject($field).save(type); - }, - delete_field: function ($field, animate) { - animate = animate !== undefined ? animate : true; - acf.getFieldObject($field).delete({ - animate: animate - }); - }, - update_field_meta: function ($field, name, value) { - acf.getFieldObject($field).prop(name, value); - }, - delete_field_meta: function ($field, name) { - acf.getFieldObject($field).prop(name, null); - } - }; - - /** - * fieldGroupCompatibility.field_object - * - * Compatibility layer for extinct acf.field_group.field_object - * - * @date 15/12/17 - * @since 5.7.0 - * - * @param void - * @return void - */ - - _acf.field_group.field_object = acf.model.extend({ - // vars - type: '', - o: {}, - $field: null, - $settings: null, - tag: function (tag) { - // vars - var type = this.type; - - // explode, add 'field' and implode - // - open => open_field - // - change_type => change_field_type - var tags = tag.split('_'); - tags.splice(1, 0, 'field'); - tag = tags.join('_'); - - // add type - if (type) { - tag += '/type=' + type; - } - - // return - return tag; - }, - selector: function () { - // vars - var selector = '.acf-field-object'; - var type = this.type; - - // add type - if (type) { - selector += '-' + type; - selector = acf.str_replace('_', '-', selector); - } - - // return - return selector; - }, - _add_action: function (name, callback) { - // vars - var model = this; - - // add action - acf.add_action(this.tag(name), function ($field) { - // focus - model.set('$field', $field); - - // callback - model[callback].apply(model, arguments); - }); - }, - _add_filter: function (name, callback) { - // vars - var model = this; - - // add action - acf.add_filter(this.tag(name), function ($field) { - // focus - model.set('$field', $field); - - // callback - model[callback].apply(model, arguments); - }); - }, - _add_event: function (name, callback) { - // vars - var model = this; - var event = name.substr(0, name.indexOf(' ')); - var selector = name.substr(name.indexOf(' ') + 1); - var context = this.selector(); - - // add event - $(document).on(event, context + ' ' + selector, function (e) { - // append $el to event object - e.$el = $(this); - e.$field = e.$el.closest('.acf-field-object'); - - // focus - model.set('$field', e.$field); - - // callback - model[callback].apply(model, [e]); - }); - }, - _set_$field: function () { - // vars - this.o = this.$field.data(); - - // els - this.$settings = this.$field.find('> .settings > table > tbody'); - - // focus - this.focus(); - }, - focus: function () { - // do nothing - }, - setting: function (name) { - return this.$settings.find('> .acf-field-setting-' + name); - } - }); - - /* - * field - * - * This model fires actions and filters for registered fields - * - * @type function - * @date 21/02/2014 - * @since 3.5.1 - * - * @param n/a - * @return n/a - */ - - var actionManager = new acf.Model({ - actions: { - open_field_object: 'onOpenFieldObject', - close_field_object: 'onCloseFieldObject', - add_field_object: 'onAddFieldObject', - duplicate_field_object: 'onDuplicateFieldObject', - delete_field_object: 'onDeleteFieldObject', - change_field_object_type: 'onChangeFieldObjectType', - change_field_object_label: 'onChangeFieldObjectLabel', - change_field_object_name: 'onChangeFieldObjectName', - change_field_object_parent: 'onChangeFieldObjectParent', - sortstop_field_object: 'onChangeFieldObjectParent' - }, - onOpenFieldObject: function (field) { - acf.doAction('open_field', field.$el); - acf.doAction('open_field/type=' + field.get('type'), field.$el); - acf.doAction('render_field_settings', field.$el); - acf.doAction('render_field_settings/type=' + field.get('type'), field.$el); - }, - onCloseFieldObject: function (field) { - acf.doAction('close_field', field.$el); - acf.doAction('close_field/type=' + field.get('type'), field.$el); - }, - onAddFieldObject: function (field) { - acf.doAction('add_field', field.$el); - acf.doAction('add_field/type=' + field.get('type'), field.$el); - }, - onDuplicateFieldObject: function (field) { - acf.doAction('duplicate_field', field.$el); - acf.doAction('duplicate_field/type=' + field.get('type'), field.$el); - }, - onDeleteFieldObject: function (field) { - acf.doAction('delete_field', field.$el); - acf.doAction('delete_field/type=' + field.get('type'), field.$el); - }, - onChangeFieldObjectType: function (field) { - acf.doAction('change_field_type', field.$el); - acf.doAction('change_field_type/type=' + field.get('type'), field.$el); - acf.doAction('render_field_settings', field.$el); - acf.doAction('render_field_settings/type=' + field.get('type'), field.$el); - }, - onChangeFieldObjectLabel: function (field) { - acf.doAction('change_field_label', field.$el); - acf.doAction('change_field_label/type=' + field.get('type'), field.$el); - }, - onChangeFieldObjectName: function (field) { - acf.doAction('change_field_name', field.$el); - acf.doAction('change_field_name/type=' + field.get('type'), field.$el); - }, - onChangeFieldObjectParent: function (field) { - acf.doAction('update_field_parent', field.$el); - } - }); -})(jQuery); - -/***/ }), - -/***/ "./src/advanced-custom-fields-pro/assets/src/js/_field-group-conditions.js": -/*!*********************************************************************************!*\ - !*** ./src/advanced-custom-fields-pro/assets/src/js/_field-group-conditions.js ***! - \*********************************************************************************/ -/***/ (() => { - -(function ($, undefined) { - /** - * ConditionalLogicFieldSetting - * - * description - * - * @date 3/2/18 - * @since 5.6.5 - * - * @param type $var Description. Default. - * @return type Description. - */ - - var ConditionalLogicFieldSetting = acf.FieldSetting.extend({ - type: '', - name: 'conditional_logic', - events: { - 'change .conditions-toggle': 'onChangeToggle', - 'click .add-conditional-group': 'onClickAddGroup', - 'focus .condition-rule-field': 'onFocusField', - 'change .condition-rule-field': 'onChangeField', - 'change .condition-rule-operator': 'onChangeOperator', - 'click .add-conditional-rule': 'onClickAdd', - 'click .remove-conditional-rule': 'onClickRemove' - }, - $rule: false, - scope: function ($rule) { - this.$rule = $rule; - return this; - }, - ruleData: function (name, value) { - return this.$rule.data.apply(this.$rule, arguments); - }, - $input: function (name) { - return this.$rule.find('.condition-rule-' + name); - }, - $td: function (name) { - return this.$rule.find('td.' + name); - }, - $toggle: function () { - return this.$('.conditions-toggle'); - }, - $control: function () { - return this.$('.rule-groups'); - }, - $groups: function () { - return this.$('.rule-group'); - }, - $rules: function () { - return this.$('.rule'); - }, - $tabLabel: function () { - return this.fieldObject.$el.find('.conditional-logic-badge'); - }, - $conditionalValueSelect: function () { - return this.$('.condition-rule-value'); - }, - open: function () { - var $div = this.$control(); - $div.show(); - acf.enable($div); - }, - close: function () { - var $div = this.$control(); - $div.hide(); - acf.disable($div); - }, - render: function () { - // show - if (this.$toggle().prop('checked')) { - this.$tabLabel().addClass('is-enabled'); - this.renderRules(); - this.open(); - - // hide - } else { - this.$tabLabel().removeClass('is-enabled'); - this.close(); - } - }, - renderRules: function () { - // vars - var self = this; - - // loop - this.$rules().each(function () { - self.renderRule($(this)); - }); - }, - renderRule: function ($rule) { - this.scope($rule); - this.renderField(); - this.renderOperator(); - this.renderValue(); - }, - renderField: function () { - // vars - var choices = []; - var validFieldTypes = []; - var cid = this.fieldObject.cid; - var $select = this.$input('field'); - - // loop - acf.getFieldObjects().map(function (fieldObject) { - // vars - var choice = { - id: fieldObject.getKey(), - text: fieldObject.getLabel() - }; - - // bail early if is self - if (fieldObject.cid === cid) { - choice.text += ' ' + acf.__('(this field)'); - choice.disabled = true; - } - - // get selected field conditions - var conditionTypes = acf.getConditionTypes({ - fieldType: fieldObject.getType() - }); - - // bail early if no types - if (!conditionTypes.length) { - choice.disabled = true; - } - - // calulate indents - var indents = fieldObject.getParents().length; - choice.text = '- '.repeat(indents) + choice.text; - - // append - choices.push(choice); - }); - - // allow for scenario where only one field exists - if (!choices.length) { - choices.push({ - id: '', - text: acf.__('No toggle fields available') - }); - } - - // render - acf.renderSelect($select, choices); - - // set - this.ruleData('field', $select.val()); - }, - renderOperator: function () { - // bail early if no field selected - if (!this.ruleData('field')) { - return; - } - - // vars - var $select = this.$input('operator'); - var val = $select.val(); - var choices = []; - - // set saved value on first render - // - this allows the 2nd render to correctly select an option - if ($select.val() === null) { - acf.renderSelect($select, [{ - id: this.ruleData('operator'), - text: '' - }]); - } - - // get selected field - var $field = acf.findFieldObject(this.ruleData('field')); - var field = acf.getFieldObject($field); - - // get selected field conditions - var conditionTypes = acf.getConditionTypes({ - fieldType: field.getType() - }); - - // html - conditionTypes.map(function (model) { - choices.push({ - id: model.prototype.operator, - text: model.prototype.label - }); - }); - - // render - acf.renderSelect($select, choices); - - // set - this.ruleData('operator', $select.val()); - }, - renderValue: function () { - // bail early if no field selected - if (!this.ruleData('field') || !this.ruleData('operator')) { - return; - } - var $select = this.$input('value'); - var $td = this.$td('value'); - var currentVal = $select.val(); - var savedValue = this.$rule[0].getAttribute('data-value'); - - // get selected field - var $field = acf.findFieldObject(this.ruleData('field')); - var field = acf.getFieldObject($field); - // get selected field conditions - var conditionTypes = acf.getConditionTypes({ - fieldType: field.getType(), - operator: this.ruleData('operator') - }); - var conditionType = conditionTypes[0].prototype; - var choices = conditionType.choices(field); - let $newSelect; - if (choices instanceof jQuery && !!choices.data('acfSelect2Props')) { - $newSelect = $select.clone(); - // If converting from a disabled input, we need to convert it to an active select. - if ($newSelect.is('input')) { - var classes = $select.attr('class'); - const $rebuiltSelect = $('').addClass(classes).val(savedValue); - $newSelect = $rebuiltSelect; - } - acf.addAction('acf_conditional_value_rendered', function () { - acf.newSelect2($newSelect, choices.data('acfSelect2Props')); - }); - } else if (choices instanceof Array) { - this.$conditionalValueSelect().removeClass('select2-hidden-accessible'); - $newSelect = $(''); - acf.renderSelect($newSelect, choices); - } else { - this.$conditionalValueSelect().removeClass('select2-hidden-accessible'); - $newSelect = $(choices); - } - - // append - $select.detach(); - $td.html($newSelect); - - // timeout needed to avoid browser bug where "disabled" attribute is not applied - setTimeout(function () { - ['class', 'name', 'id'].map(function (attr) { - $newSelect.attr(attr, $select.attr(attr)); - }); - $select.val(savedValue); - acf.doAction('acf_conditional_value_rendered'); - }, 0); - // select existing value (if not a disabled input) - if (!$newSelect.prop('disabled')) { - acf.val($newSelect, currentVal, true); - } - - // set - this.ruleData('value', $newSelect.val()); - }, - onChangeToggle: function () { - this.render(); - }, - onClickAddGroup: function (e, $el) { - this.addGroup(); - }, - addGroup: function () { - // vars - var $group = this.$('.rule-group:last'); - - // duplicate - var $group2 = acf.duplicate($group); - - // update h4 - $group2.find('h4').text(acf.__('or')); - - // remove all tr's except the first one - $group2.find('tr').not(':first').remove(); - - // Find the remaining tr and render - var $tr = $group2.find('tr'); - this.renderRule($tr); - - // save field - this.fieldObject.save(); - }, - onFocusField: function (e, $el) { - this.renderField(); - }, - onChangeField: function (e, $el) { - // scope - this.scope($el.closest('.rule')); - - // set data - this.ruleData('field', $el.val()); - - // render - this.renderOperator(); - this.renderValue(); - }, - onChangeOperator: function (e, $el) { - // scope - this.scope($el.closest('.rule')); - - // set data - this.ruleData('operator', $el.val()); - - // render - this.renderValue(); - }, - onClickAdd: function (e, $el) { - // duplciate - var $rule = acf.duplicate($el.closest('.rule')); - - // render - this.renderRule($rule); - }, - onClickRemove: function (e, $el) { - // vars - var $rule = $el.closest('.rule'); - - // save field - this.fieldObject.save(); - - // remove group - if ($rule.siblings('.rule').length == 0) { - $rule.closest('.rule-group').remove(); - } - - // remove - $rule.remove(); - } - }); - acf.registerFieldSetting(ConditionalLogicFieldSetting); - - /** - * conditionalLogicHelper - * - * description - * - * @date 20/4/18 - * @since 5.6.9 - * - * @param type $var Description. Default. - * @return type Description. - */ - - var conditionalLogicHelper = new acf.Model({ - actions: { - duplicate_field_objects: 'onDuplicateFieldObjects' - }, - onDuplicateFieldObjects: function (children, newField, prevField) { - // vars - var data = {}; - var $selects = $(); - - // reference change in key - children.map(function (child) { - // store reference of changed key - data[child.get('prevKey')] = child.get('key'); - - // append condition select - $selects = $selects.add(child.$('.condition-rule-field')); - }); - - // loop - $selects.each(function () { - // vars - var $select = $(this); - var val = $select.val(); - - // bail early if val is not a ref key - if (!val || !data[val]) { - return; - } - - // modify selected option - $select.find('option:selected').attr('value', data[val]); - - // set new val - $select.val(data[val]); - }); - } - }); -})(jQuery); - -/***/ }), - -/***/ "./src/advanced-custom-fields-pro/assets/src/js/_field-group-field.js": -/*!****************************************************************************!*\ - !*** ./src/advanced-custom-fields-pro/assets/src/js/_field-group-field.js ***! - \****************************************************************************/ -/***/ (() => { - -(function ($, undefined) { - acf.FieldObject = acf.Model.extend({ - // class used to avoid nested event triggers - eventScope: '.acf-field-object', - // variable for field type select2 - fieldTypeSelect2: false, - // events - events: { - 'click .copyable': 'onClickCopy', - 'click .handle': 'onClickEdit', - 'click .close-field': 'onClickEdit', - 'click a[data-key="acf_field_settings_tabs"]': 'onChangeSettingsTab', - 'click .delete-field': 'onClickDelete', - 'click .duplicate-field': 'duplicate', - 'click .move-field': 'move', - 'click .browse-fields': 'browseFields', - 'focus .edit-field': 'onFocusEdit', - 'blur .edit-field, .row-options a': 'onBlurEdit', - 'change .field-type': 'onChangeType', - 'change .field-required': 'onChangeRequired', - 'blur .field-label': 'onChangeLabel', - 'blur .field-name': 'onChangeName', - change: 'onChange', - changed: 'onChanged' - }, - // data - data: { - // Similar to ID, but used for HTML puposes. - // It is possbile for a new field to have an ID of 0, but an id of 'field_123' */ - id: 0, - // The field key ('field_123') - key: '', - // The field type (text, image, etc) - type: '' - - // The $post->ID of this field - //ID: 0, - - // The field's parent - //parent: 0, - - // The menu order - //menu_order: 0 - }, - setup: function ($field) { - // set $el - this.$el = $field; - - // inherit $field data (id, key, type) - this.inherit($field); - - // load additional props - // - this won't trigger 'changed' - this.prop('ID'); - this.prop('parent'); - this.prop('menu_order'); - }, - $input: function (name) { - return $('#' + this.getInputId() + '-' + name); - }, - $meta: function () { - return this.$('.meta:first'); - }, - $handle: function () { - return this.$('.handle:first'); - }, - $settings: function () { - return this.$('.settings:first'); - }, - $setting: function (name) { - return this.$('.acf-field-settings:first .acf-field-setting-' + name); - }, - $fieldTypeSelect: function () { - return this.$('.field-type'); - }, - $fieldLabel: function () { - return this.$('.field-label'); - }, - getParent: function () { - return acf.getFieldObjects({ - child: this.$el, - limit: 1 - }).pop(); - }, - getParents: function () { - return acf.getFieldObjects({ - child: this.$el - }); - }, - getFields: function () { - return acf.getFieldObjects({ - parent: this.$el - }); - }, - getInputName: function () { - return 'acf_fields[' + this.get('id') + ']'; - }, - getInputId: function () { - return 'acf_fields-' + this.get('id'); - }, - newInput: function (name, value) { - // vars - var inputId = this.getInputId(); - var inputName = this.getInputName(); - - // append name - if (name) { - inputId += '-' + name; - inputName += '[' + name + ']'; - } - - // create input (avoid HTML + JSON value issues) - var $input = $('').attr({ - id: inputId, - name: inputName, - value: value - }); - this.$('> .meta').append($input); - - // return - return $input; - }, - getProp: function (name) { - // check data - if (this.has(name)) { - return this.get(name); - } - - // get input value - var $input = this.$input(name); - var value = $input.length ? $input.val() : null; - - // set data silently (cache) - this.set(name, value, true); - - // return - return value; - }, - setProp: function (name, value) { - // get input - var $input = this.$input(name); - var prevVal = $input.val(); - - // create if new - if (!$input.length) { - $input = this.newInput(name, value); - } - - // remove - if (value === null) { - $input.remove(); - - // update - } else { - $input.val(value); - } - - //console.log('setProp', name, value, this); - - // set data silently (cache) - if (!this.has(name)) { - //console.log('setting silently'); - this.set(name, value, true); - - // set data allowing 'change' event to fire - } else { - //console.log('setting loudly!'); - this.set(name, value); - } - - // return - return this; - }, - prop: function (name, value) { - if (value !== undefined) { - return this.setProp(name, value); - } else { - return this.getProp(name); - } - }, - props: function (props) { - Object.keys(props).map(function (key) { - this.setProp(key, props[key]); - }, this); - }, - getLabel: function () { - // get label with empty default - var label = this.prop('label'); - if (label === '') { - label = acf.__('(no label)'); - } - - // return - return label; - }, - getName: function () { - return this.prop('name'); - }, - getType: function () { - return this.prop('type'); - }, - getTypeLabel: function () { - var type = this.prop('type'); - var types = acf.get('fieldTypes'); - return types[type] ? types[type].label : type; - }, - getKey: function () { - return this.prop('key'); - }, - initialize: function () { - this.checkCopyable(); - }, - makeCopyable: function (text) { - if (!navigator.clipboard) return '' + text + ''; - return '' + text + ''; - }, - checkCopyable: function () { - if (!navigator.clipboard) { - this.$el.find('.copyable').addClass('copy-unsupported'); - } - }, - initializeFieldTypeSelect2: function () { - if (this.fieldTypeSelect2) return; - - // Support disabling via filter. - if (this.$fieldTypeSelect().hasClass('disable-select2')) return; - - // Check for a full modern version of select2, bail loading if not found with a console warning. - try { - $.fn.select2.amd.require('select2/compat/dropdownCss'); - } catch (err) { - console.warn('ACF was not able to load the full version of select2 due to a conflicting version provided by another plugin or theme taking precedence. Select2 fields may not work as expected.'); - return; - } - this.fieldTypeSelect2 = acf.newSelect2(this.$fieldTypeSelect(), { - field: false, - ajax: false, - multiple: false, - allowNull: false, - suppressFilters: true, - dropdownCssClass: 'field-type-select-results', - templateResult: function (selection) { - if (selection.loading || selection.element && selection.element.nodeName === 'OPTGROUP') { - var $selection = $(''); - $selection.html(acf.strEscape(selection.text)); - } else { - var $selection = $('' + acf.strEscape(selection.text) + ''); - } - $selection.data('element', selection.element); - return $selection; - }, - templateSelection: function (selection) { - var $selection = $('' + acf.strEscape(selection.text) + ''); - $selection.data('element', selection.element); - return $selection; - } - }); - this.fieldTypeSelect2.on('select2:open', function () { - $('.field-type-select-results input.select2-search__field').attr('placeholder', acf.__('Type to search...')); - }); - this.fieldTypeSelect2.on('change', function (e) { - $(e.target).parents('ul:first').find('button.browse-fields').prop('disabled', true); - }); - - // When typing happens on the li element above the select2. - this.fieldTypeSelect2.$el.parent().on('keydown', '.select2-selection.select2-selection--single', this.onKeyDownSelect); - }, - addProFields: function () { - // Don't run if we have a valid license. - if (acf.get('is_pro') && acf.get('isLicenseActive')) { - return; - } - - // Make sure we haven't appended these fields before. - var $fieldTypeSelect = this.$fieldTypeSelect(); - if ($fieldTypeSelect.hasClass('acf-free-field-type')) return; - - // Loop over each pro field type and append it to the select. - const PROFieldTypes = acf.get('PROFieldTypes'); - if (typeof PROFieldTypes !== 'object') return; - const $layoutGroup = $fieldTypeSelect.find('optgroup option[value="group"]').parent(); - const $contentGroup = $fieldTypeSelect.find('optgroup option[value="image"]').parent(); - for (const [name, field] of Object.entries(PROFieldTypes)) { - const $useGroup = field.category === 'content' ? $contentGroup : $layoutGroup; - const $existing = $useGroup.children('[value="' + name + '"]'); - const label = `${acf.strEscape(field.label)} (${acf.strEscape(acf.__('PRO Only'))})`; - if ($existing.length) { - // Already added by pro, update existing option. - $existing.text(label); - - // Don't disable if already selected (prevents re-save from overriding field type). - if ($fieldTypeSelect.val() !== name) { - $existing.attr('disabled', 'disabled'); - } - } else { - // Append new disabled option. - $useGroup.append(``); - } - } - $fieldTypeSelect.addClass('acf-free-field-type'); - }, - render: function () { - // vars - var $handle = this.$('.handle:first'); - var menu_order = this.prop('menu_order'); - var label = this.getLabel(); - var name = this.prop('name'); - var type = this.getTypeLabel(); - var key = this.prop('key'); - var required = this.$input('required').prop('checked'); - - // update menu order - $handle.find('.acf-icon').html(parseInt(menu_order) + 1); - - // update required - if (required) { - label += ' *'; - } - - // update label - $handle.find('.li-field-label strong a').html(label); - - // update name - $handle.find('.li-field-name').html(this.makeCopyable(acf.strSanitize(name))); - - // update type - const iconName = acf.strSlugify(this.getType()); - $handle.find('.field-type-label').text(' ' + type); - $handle.find('.field-type-icon').removeClass().addClass('field-type-icon field-type-icon-' + iconName); - - // update key - $handle.find('.li-field-key').html(this.makeCopyable(key)); - - // action for 3rd party customization - acf.doAction('render_field_object', this); - }, - refresh: function () { - acf.doAction('refresh_field_object', this); - }, - isOpen: function () { - return this.$el.hasClass('open'); - }, - onClickCopy: function (e) { - e.stopPropagation(); - if (!navigator.clipboard || $(e.target).is('input')) return; - - // Find the value to copy depending on input or text elements. - let copyValue; - if ($(e.target).hasClass('acf-input-wrap')) { - copyValue = $(e.target).find('input').first().val(); - } else { - copyValue = $(e.target).text().trim(); - } - navigator.clipboard.writeText(copyValue).then(() => { - $(e.target).closest('.copyable').addClass('copied'); - setTimeout(function () { - $(e.target).closest('.copyable').removeClass('copied'); - }, 2000); - }); - }, - onClickEdit: function (e) { - const $target = $(e.target); - - // Bail out if a pro field without a license. - if (acf.get('is_pro') && !acf.get('isLicenseActive') && !acf.get('isLicenseExpired') && acf.get('PROFieldTypes').hasOwnProperty(this.getType())) { - return; - } - if ($target.parent().hasClass('row-options') && !$target.hasClass('edit-field')) { - return; - } - this.isOpen() ? this.close() : this.open(); - }, - onChangeSettingsTab: function () { - const $settings = this.$el.children('.settings'); - acf.doAction('show', $settings); - }, - /** - * Adds 'active' class to row options nearest to the target. - */ - onFocusEdit: function (e) { - var $rowOptions = $(e.target).closest('li').find('.row-options'); - $rowOptions.addClass('active'); - }, - /** - * Removes 'active' class from row options if links in same row options area are no longer in focus. - */ - onBlurEdit: function (e) { - var focusDelayMilliseconds = 50; - var $rowOptionsBlurElement = $(e.target).closest('li').find('.row-options'); - - // Timeout so that `activeElement` gives the new element in focus instead of the body. - setTimeout(function () { - var $rowOptionsFocusElement = $(document.activeElement).closest('li').find('.row-options'); - if (!$rowOptionsBlurElement.is($rowOptionsFocusElement)) { - $rowOptionsBlurElement.removeClass('active'); - } - }, focusDelayMilliseconds); - }, - open: function () { - // vars - var $settings = this.$el.children('.settings'); - - // initialise field type select - this.addProFields(); - this.initializeFieldTypeSelect2(); - - // action (open) - acf.doAction('open_field_object', this); - this.trigger('openFieldObject'); - - // action (show) - acf.doAction('show', $settings); - this.hideEmptyTabs(); - - // open - $settings.slideDown(); - this.$el.addClass('open'); - }, - onKeyDownSelect: function (e) { - // Omit events from special keys. - if (!(e.which >= 186 && e.which <= 222 || - // punctuation and special characters - [8, 9, 13, 16, 17, 18, 19, 20, 27, 32, 33, 34, 35, 36, 37, 38, 39, 40, 45, 46, 91, 92, 93, 144, 145].includes(e.which) || - // Special keys - e.which >= 112 && e.which <= 123)) { - // Function keys - $(this).closest('.select2-container').siblings('select:enabled').select2('open'); - return; - } - }, - close: function () { - // vars - var $settings = this.$el.children('.settings'); - - // close - $settings.slideUp(); - this.$el.removeClass('open'); - - // action (close) - acf.doAction('close_field_object', this); - this.trigger('closeFieldObject'); - - // action (hide) - acf.doAction('hide', $settings); - }, - serialize: function () { - return acf.serialize(this.$el, this.getInputName()); - }, - save: function (type) { - // defaults - type = type || 'settings'; // meta, settings - - // vars - var save = this.getProp('save'); - - // bail if already saving settings - if (save === 'settings') { - return; - } - - // prop - this.setProp('save', type); - - // debug - this.$el.attr('data-save', type); - - // action - acf.doAction('save_field_object', this, type); - }, - submit: function () { - // vars - var inputName = this.getInputName(); - var save = this.get('save'); - - // close - if (this.isOpen()) { - this.close(); - } - - // allow all inputs to save - if (save == 'settings') { - // do nothing - // allow only meta inputs to save - } else if (save == 'meta') { - this.$('> .settings [name^="' + inputName + '"]').remove(); - - // prevent all inputs from saving - } else { - this.$('[name^="' + inputName + '"]').remove(); - } - - // action - acf.doAction('submit_field_object', this); - }, - onChange: function (e, $el) { - // save settings - this.save(); - - // action for 3rd party customization - acf.doAction('change_field_object', this); - }, - onChanged: function (e, $el, name, value) { - if (this.getType() === $el.attr('data-type')) { - $('button.acf-btn.browse-fields').prop('disabled', false); - } - - // ignore 'save' - if (name == 'save') { - return; - } - - // save meta - if (['menu_order', 'parent'].indexOf(name) > -1) { - this.save('meta'); - - // save field - } else { - this.save(); - } - - // render - if (['menu_order', 'label', 'required', 'name', 'type', 'key'].indexOf(name) > -1) { - this.render(); - } - - // action for 3rd party customization - acf.doAction('change_field_object_' + name, this, value); - }, - onChangeLabel: function (e, $el) { - // set - var label = $el.val(); - this.set('label', label); - - // render name - if (this.prop('name') == '') { - var name = acf.applyFilters('generate_field_object_name', acf.strSanitize(label), this); - this.prop('name', name); - } - }, - onChangeName: function (e, $el) { - const sanitizedName = acf.strSanitize($el.val(), false); - $el.val(sanitizedName); - this.set('name', sanitizedName); - if (sanitizedName.startsWith('field_')) { - alert(acf.__('The string "field_" may not be used at the start of a field name')); - } - }, - onChangeRequired: function (e, $el) { - // set - var required = $el.prop('checked') ? 1 : 0; - this.set('required', required); - }, - delete: function (args) { - // defaults - args = acf.parseArgs(args, { - animate: true - }); - - // add to remove list - var id = this.prop('ID'); - if (id) { - var $input = $('#_acf_delete_fields'); - var newVal = $input.val() + '|' + id; - $input.val(newVal); - } - - // action - acf.doAction('delete_field_object', this); - - // animate - if (args.animate) { - this.removeAnimate(); - } else { - this.remove(); - } - }, - onClickDelete: function (e, $el) { - // Bypass confirmation when holding down "shift" key. - if (e.shiftKey) { - return this.delete(); - } - - // add class - this.$el.addClass('-hover'); - - // add tooltip - var tooltip = acf.newTooltip({ - confirmRemove: true, - target: $el, - context: this, - confirm: function () { - this.delete(); - }, - cancel: function () { - this.$el.removeClass('-hover'); - } - }); - }, - removeAnimate: function () { - // vars - var field = this; - var $list = this.$el.parent(); - var $fields = acf.findFieldObjects({ - sibling: this.$el - }); - - // remove - acf.remove({ - target: this.$el, - endHeight: $fields.length ? 0 : 50, - complete: function () { - field.remove(); - acf.doAction('removed_field_object', field, $list); - } - }); - - // action - acf.doAction('remove_field_object', field, $list); - }, - duplicate: function () { - // vars - var newKey = acf.uniqid('field_'); - - // duplicate - var $newField = acf.duplicate({ - target: this.$el, - search: this.get('id'), - replace: newKey - }); - - // set new key - $newField.attr('data-key', newKey); - - // get instance - var newField = acf.getFieldObject($newField); - - // update newField label / name - var label = newField.prop('label'); - var name = newField.prop('name'); - var end = name.split('_').pop(); - var copy = acf.__('copy'); - - // increase suffix "1" - if (acf.isNumeric(end)) { - var i = end * 1 + 1; - label = label.replace(end, i); - name = name.replace(end, i); - - // increase suffix "(copy1)" - } else if (end.indexOf(copy) === 0) { - var i = end.replace(copy, '') * 1; - i = i ? i + 1 : 2; - - // replace - label = label.replace(end, copy + i); - name = name.replace(end, copy + i); - - // add default "(copy)" - } else { - label += ' (' + copy + ')'; - name += '_' + copy; - } - newField.prop('ID', 0); - newField.prop('label', label); - newField.prop('name', name); - newField.prop('key', newKey); - - // close the current field if it's open. - if (this.isOpen()) { - this.close(); - } - - // open the new field and initialise correctly. - newField.open(); - - // focus label - var $label = newField.$setting('label input'); - setTimeout(function () { - $label.trigger('focus'); - }, 251); - - // action - acf.doAction('duplicate_field_object', this, newField); - acf.doAction('append_field_object', newField); - }, - wipe: function () { - // vars - var prevId = this.get('id'); - var prevKey = this.get('key'); - var newKey = acf.uniqid('field_'); - - // rename - acf.rename({ - target: this.$el, - search: prevId, - replace: newKey - }); - - // data - this.set('id', newKey); - this.set('prevId', prevId); - this.set('prevKey', prevKey); - - // props - this.prop('key', newKey); - this.prop('ID', 0); - - // attr - this.$el.attr('data-key', newKey); - this.$el.attr('data-id', newKey); - - // action - acf.doAction('wipe_field_object', this); - }, - move: function () { - // helper - var hasChanged = function (field) { - return field.get('save') == 'settings'; - }; - - // vars - var changed = hasChanged(this); - - // has sub fields changed - if (!changed) { - acf.getFieldObjects({ - parent: this.$el - }).map(function (field) { - changed = hasChanged(field) || field.changed; - }); - } - - // bail early if changed - if (changed) { - alert(acf.__('This field cannot be moved until its changes have been saved')); - return; - } - - // step 1. - var id = this.prop('ID'); - var field = this; - var popup = false; - var step1 = function () { - // popup - popup = acf.newPopup({ - title: acf.__('Move Custom Field'), - loading: true, - width: '300px', - openedBy: field.$el.find('.move-field') - }); - - // ajax - var ajaxData = { - action: 'acf/field_group/move_field', - field_id: id - }; - - // get HTML - $.ajax({ - url: acf.get('ajaxurl'), - data: acf.prepareForAjax(ajaxData), - type: 'post', - dataType: 'html', - success: step2 - }); - }; - var step2 = function (html) { - // update popup - popup.loading(false); - popup.content(html); - - // submit form - popup.on('submit', 'form', step3); - }; - var step3 = function (e, $el) { - // prevent - e.preventDefault(); - - // disable - acf.startButtonLoading(popup.$('.button')); - - // ajax - var ajaxData = { - action: 'acf/field_group/move_field', - field_id: id, - field_group_id: popup.$('select').val() - }; - - // get HTML - $.ajax({ - url: acf.get('ajaxurl'), - data: acf.prepareForAjax(ajaxData), - type: 'post', - dataType: 'html', - success: step4 - }); - }; - var step4 = function (html) { - popup.content(html); - if (wp.a11y && wp.a11y.speak && acf.__) { - wp.a11y.speak(acf.__('Field moved to other group'), 'polite'); - } - popup.$('.acf-close-popup').focus(); - field.removeAnimate(); - }; - - // start - step1(); - }, - browseFields: function (e, $el) { - e.preventDefault(); - const modal = acf.newBrowseFieldsModal({ - openedBy: this - }); - }, - onChangeType: function (e, $el) { - // clea previous timout - if (this.changeTimeout) { - clearTimeout(this.changeTimeout); - } - - // set new timeout - // - prevents changing type multiple times whilst user types in newType - this.changeTimeout = this.setTimeout(function () { - this.changeType($el.val()); - }, 300); - }, - changeType: function (newType) { - var prevType = this.prop('type'); - var prevClass = acf.strSlugify('acf-field-object-' + prevType); - var newClass = acf.strSlugify('acf-field-object-' + newType); - - // Update props. - this.$el.removeClass(prevClass).addClass(newClass); - this.$el.attr('data-type', newType); - this.$el.data('type', newType); - - // Abort XHR if this field is already loading AJAX data. - if (this.has('xhr')) { - this.get('xhr').abort(); - } - - // Store old settings so they can be reused later. - const $oldSettings = {}; - this.$el.find('.acf-field-settings:first > .acf-field-settings-main > .acf-field-type-settings').each(function () { - let tab = $(this).data('parent-tab'); - let $tabSettings = $(this).children().removeData(); - $oldSettings[tab] = $tabSettings; - $tabSettings.detach(); - }); - this.set('settings-' + prevType, $oldSettings); - - // Show the settings if we already have them cached. - if (this.has('settings-' + newType)) { - let $newSettings = this.get('settings-' + newType); - this.showFieldTypeSettings($newSettings); - this.set('type', newType); - return; - } - - // Add loading spinner. - const $loading = $('
'); - this.$el.find('.acf-field-settings-main-general .acf-field-type-settings').before($loading); - const ajaxData = { - action: 'acf/field_group/render_field_settings', - field: this.serialize(), - prefix: this.getInputName() - }; - - // Get the settings for this field type over AJAX. - var xhr = $.ajax({ - url: acf.get('ajaxurl'), - data: acf.prepareForAjax(ajaxData), - type: 'post', - dataType: 'json', - context: this, - success: function (response) { - if (!acf.isAjaxSuccess(response)) { - return; - } - this.showFieldTypeSettings(response.data); - }, - complete: function () { - // also triggered by xhr.abort(); - $loading.remove(); - this.set('type', newType); - //this.refresh(); - } - }); - - // set - this.set('xhr', xhr); - }, - showFieldTypeSettings: function (settings) { - if ('object' !== typeof settings) { - return; - } - const self = this; - const tabs = Object.keys(settings); - tabs.forEach(tab => { - const $tab = self.$el.find('.acf-field-settings-main-' + tab.replace('_', '-') + ' .acf-field-type-settings'); - let tabContent = ''; - if (['object', 'string'].includes(typeof settings[tab])) { - tabContent = settings[tab]; - } - $tab.prepend(tabContent); - acf.doAction('append', $tab); - }); - this.hideEmptyTabs(); - }, - updateParent: function () { - // vars - var ID = acf.get('post_id'); - - // check parent - var parent = this.getParent(); - if (parent) { - ID = parseInt(parent.prop('ID')) || parent.prop('key'); - } - - // update - this.prop('parent', ID); - }, - hideEmptyTabs: function () { - const $settings = this.$settings(); - const $tabs = $settings.find('.acf-field-settings:first > .acf-field-settings-main'); - $tabs.each(function () { - const $tabContent = $(this); - const tabName = $tabContent.find('.acf-field-type-settings:first').data('parentTab'); - const $tabLink = $settings.find('.acf-settings-type-' + tabName).first(); - if ($.trim($tabContent.text()) === '') { - $tabLink.hide(); - } else if ($tabLink.is(':hidden')) { - $tabLink.show(); - } - }); - } - }); -})(jQuery); - -/***/ }), - -/***/ "./src/advanced-custom-fields-pro/assets/src/js/_field-group-fields.js": -/*!*****************************************************************************!*\ - !*** ./src/advanced-custom-fields-pro/assets/src/js/_field-group-fields.js ***! - \*****************************************************************************/ -/***/ (() => { - -(function ($, undefined) { - /** - * acf.findFieldObject - * - * Returns a single fieldObject $el for a given field key - * - * @date 1/2/18 - * @since 5.7.0 - * - * @param string key The field key - * @return jQuery - */ - - acf.findFieldObject = function (key) { - return acf.findFieldObjects({ - key: key, - limit: 1 - }); - }; - - /** - * acf.findFieldObjects - * - * Returns an array of fieldObject $el for the given args - * - * @date 1/2/18 - * @since 5.7.0 - * - * @param object args - * @return jQuery - */ - - acf.findFieldObjects = function (args) { - // vars - args = args || {}; - var selector = '.acf-field-object'; - var $fields = false; - - // args - args = acf.parseArgs(args, { - id: '', - key: '', - type: '', - limit: false, - list: null, - parent: false, - sibling: false, - child: false - }); - - // id - if (args.id) { - selector += '[data-id="' + args.id + '"]'; - } - - // key - if (args.key) { - selector += '[data-key="' + args.key + '"]'; - } - - // type - if (args.type) { - selector += '[data-type="' + args.type + '"]'; - } - - // query - if (args.list) { - $fields = args.list.children(selector); - } else if (args.parent) { - $fields = args.parent.find(selector); - } else if (args.sibling) { - $fields = args.sibling.siblings(selector); - } else if (args.child) { - $fields = args.child.parents(selector); - } else { - $fields = $(selector); - } - - // limit - if (args.limit) { - $fields = $fields.slice(0, args.limit); - } - - // return - return $fields; - }; - - /** - * acf.getFieldObject - * - * Returns a single fieldObject instance for a given $el|key - * - * @date 1/2/18 - * @since 5.7.0 - * - * @param string|jQuery $field The field $el or key - * @return jQuery - */ - - acf.getFieldObject = function ($field) { - // allow key - if (typeof $field === 'string') { - $field = acf.findFieldObject($field); - } - - // instantiate - var field = $field.data('acf'); - if (!field) { - field = acf.newFieldObject($field); - } - - // return - return field; - }; - - /** - * acf.getFieldObjects - * - * Returns an array of fieldObject instances for the given args - * - * @date 1/2/18 - * @since 5.7.0 - * - * @param object args - * @return array - */ - - acf.getFieldObjects = function (args) { - // query - var $fields = acf.findFieldObjects(args); - - // loop - var fields = []; - $fields.each(function () { - var field = acf.getFieldObject($(this)); - fields.push(field); - }); - - // return - return fields; - }; - - /** - * acf.newFieldObject - * - * Initializes and returns a new FieldObject instance - * - * @date 1/2/18 - * @since 5.7.0 - * - * @param jQuery $field The field $el - * @return object - */ - - acf.newFieldObject = function ($field) { - // instantiate - var field = new acf.FieldObject($field); - - // action - acf.doAction('new_field_object', field); - - // return - return field; - }; - - /** - * actionManager - * - * description - * - * @date 15/12/17 - * @since 5.6.5 - * - * @param type $var Description. Default. - * @return type Description. - */ - - var eventManager = new acf.Model({ - priority: 5, - initialize: function () { - // actions - var actions = ['prepare', 'ready', 'append', 'remove']; - - // loop - actions.map(function (action) { - this.addFieldActions(action); - }, this); - }, - addFieldActions: function (action) { - // vars - var pluralAction = action + '_field_objects'; // ready_field_objects - var singleAction = action + '_field_object'; // ready_field_object - var singleEvent = action + 'FieldObject'; // readyFieldObject - - // global action - var callback = function ($el /*, arg1, arg2, etc*/) { - // vars - var fieldObjects = acf.getFieldObjects({ - parent: $el - }); - - // call plural - if (fieldObjects.length) { - /// get args [$el, arg1] - var args = acf.arrayArgs(arguments); - - // modify args [pluralAction, fields, arg1] - args.splice(0, 1, pluralAction, fieldObjects); - acf.doAction.apply(null, args); - } - }; - - // plural action - var pluralCallback = function (fieldObjects /*, arg1, arg2, etc*/) { - /// get args [fields, arg1] - var args = acf.arrayArgs(arguments); - - // modify args [singleAction, fields, arg1] - args.unshift(singleAction); - - // loop - fieldObjects.map(function (fieldObject) { - // modify args [singleAction, field, arg1] - args[1] = fieldObject; - acf.doAction.apply(null, args); - }); - }; - - // single action - var singleCallback = function (fieldObject /*, arg1, arg2, etc*/) { - /// get args [$field, arg1] - var args = acf.arrayArgs(arguments); - - // modify args [singleAction, $field, arg1] - args.unshift(singleAction); - - // action variations (ready_field/type=image) - var variations = ['type', 'name', 'key']; - variations.map(function (variation) { - args[0] = singleAction + '/' + variation + '=' + fieldObject.get(variation); - acf.doAction.apply(null, args); - }); - - // modify args [arg1] - args.splice(0, 2); - - // event - fieldObject.trigger(singleEvent, args); - }; - - // add actions - acf.addAction(action, callback, 5); - acf.addAction(pluralAction, pluralCallback, 5); - acf.addAction(singleAction, singleCallback, 5); - } - }); - - /** - * fieldManager - * - * description - * - * @date 4/1/18 - * @since 5.6.5 - * - * @param type $var Description. Default. - * @return type Description. - */ - - var fieldManager = new acf.Model({ - id: 'fieldManager', - events: { - 'submit #post': 'onSubmit', - 'mouseenter .acf-field-list': 'onHoverSortable', - 'click .add-field': 'onClickAdd' - }, - actions: { - removed_field_object: 'onRemovedField', - sortstop_field_object: 'onReorderField', - delete_field_object: 'onDeleteField', - change_field_object_type: 'onChangeFieldType', - duplicate_field_object: 'onDuplicateField' - }, - onSubmit: function (e, $el) { - // vars - var fields = acf.getFieldObjects(); - - // loop - fields.map(function (field) { - field.submit(); - }); - }, - setFieldMenuOrder: function (field) { - this.renderFields(field.$el.parent()); - }, - onHoverSortable: function (e, $el) { - // bail early if already sortable - if ($el.hasClass('ui-sortable')) return; - - // sortable - $el.sortable({ - helper: function (event, element) { - // https://core.trac.wordpress.org/ticket/16972#comment:22 - return element.clone().find(':input').attr('name', function (i, currentName) { - return 'sort_' + parseInt(Math.random() * 100000, 10).toString() + '_' + currentName; - }).end(); - }, - handle: '.acf-sortable-handle', - connectWith: '.acf-field-list', - start: function (e, ui) { - var field = acf.getFieldObject(ui.item); - ui.placeholder.height(ui.item.height()); - acf.doAction('sortstart_field_object', field, $el); - }, - update: function (e, ui) { - var field = acf.getFieldObject(ui.item); - acf.doAction('sortstop_field_object', field, $el); - } - }); - }, - onRemovedField: function (field, $list) { - this.renderFields($list); - }, - onReorderField: function (field, $list) { - field.updateParent(); - this.renderFields($list); - }, - onDeleteField: function (field) { - // delete children - field.getFields().map(function (child) { - child.delete({ - animate: false - }); - }); - }, - onChangeFieldType: function (field) { - // enable browse field modal button - field.$el.find('button.browse-fields').prop('disabled', false); - }, - onDuplicateField: function (field, newField) { - // check for children - var children = newField.getFields(); - if (children.length) { - // loop - children.map(function (child) { - // wipe field - child.wipe(); - - // if the child is open, re-fire the open method to ensure it's initialised correctly. - if (child.isOpen()) { - child.open(); - } - - // update parent - child.updateParent(); - }); - - // action - acf.doAction('duplicate_field_objects', children, newField, field); - } - - // set menu order - this.setFieldMenuOrder(newField); - }, - renderFields: function ($list) { - // vars - var fields = acf.getFieldObjects({ - list: $list - }); - - // no fields - if (!fields.length) { - $list.addClass('-empty'); - $list.parents('.acf-field-list-wrap').first().addClass('-empty'); - return; - } - - // has fields - $list.removeClass('-empty'); - $list.parents('.acf-field-list-wrap').first().removeClass('-empty'); - - // prop - fields.map(function (field, i) { - field.prop('menu_order', i); - }); - }, - onClickAdd: function (e, $el) { - let $list; - if ($el.hasClass('add-first-field')) { - $list = $el.parents('.acf-field-list').eq(0); - } else if ($el.parent().hasClass('acf-headerbar-actions') || $el.parent().hasClass('no-fields-message-inner')) { - $list = $('.acf-field-list:first'); - } else if ($el.parent().hasClass('acf-sub-field-list-header')) { - $list = $el.parents('.acf-input:first').find('.acf-field-list:first'); - } else { - $list = $el.closest('.acf-tfoot').siblings('.acf-field-list'); - } - this.addField($list); - }, - addField: function ($list) { - // vars - var html = $('#tmpl-acf-field').html(); - var $el = $(html); - var prevId = $el.data('id'); - var newKey = acf.uniqid('field_'); - - // duplicate - var $newField = acf.duplicate({ - target: $el, - search: prevId, - replace: newKey, - append: function ($el, $el2) { - $list.append($el2); - } - }); - - // get instance - var newField = acf.getFieldObject($newField); - - // props - newField.prop('key', newKey); - newField.prop('ID', 0); - newField.prop('label', ''); - newField.prop('name', ''); - - // attr - $newField.attr('data-key', newKey); - $newField.attr('data-id', newKey); - - // update parent prop - newField.updateParent(); - - // focus type - var $type = newField.$input('type'); - setTimeout(function () { - if ($list.hasClass('acf-auto-add-field')) { - $list.removeClass('acf-auto-add-field'); - } else { - $type.trigger('focus'); - } - }, 251); - - // open - newField.open(); - - // set menu order - this.renderFields($list); - - // action - acf.doAction('add_field_object', newField); - acf.doAction('append_field_object', newField); - } - }); -})(jQuery); - -/***/ }), - -/***/ "./src/advanced-custom-fields-pro/assets/src/js/_field-group-locations.js": -/*!********************************************************************************!*\ - !*** ./src/advanced-custom-fields-pro/assets/src/js/_field-group-locations.js ***! - \********************************************************************************/ -/***/ (() => { - -(function ($, undefined) { - /** - * locationManager - * - * Field group location rules functionality - * - * @date 15/12/17 - * @since 5.7.0 - * - * @param void - * @return void - */ - - var locationManager = new acf.Model({ - id: 'locationManager', - wait: 'ready', - events: { - 'click .add-location-rule': 'onClickAddRule', - 'click .add-location-group': 'onClickAddGroup', - 'click .remove-location-rule': 'onClickRemoveRule', - 'change .refresh-location-rule': 'onChangeRemoveRule' - }, - initialize: function () { - this.$el = $('#acf-field-group-options'); - this.addProLocations(); - this.updateGroupsClass(); - }, - addProLocations: function () { - // Make sure we're only running if we don't have a valid license. - if (acf.get('is_pro') && acf.get('isLicenseActive')) { - return; - } - - // Loop over each pro field type and append it to the select. - const PROLocationTypes = acf.get('PROLocationTypes'); - if (typeof PROLocationTypes !== 'object') return; - const $formsGroup = this.$el.find('select.refresh-location-rule').find('optgroup[label="Forms"]'); - const proOnlyText = ` (${acf.__('PRO Only')})`; - for (const [key, name] of Object.entries(PROLocationTypes)) { - if (!acf.get('is_pro')) { - $formsGroup.append(``); - } else { - $formsGroup.find('option[value=' + key + ']').not(':selected').prop('disabled', 'disabled').text(`${acf.strEscape(name)}${acf.strEscape(proOnlyText)}`); - } - } - const $addNewOptionsPage = this.$el.find('select.location-rule-value option[value=add_new_options_page]'); - if ($addNewOptionsPage.length) { - $addNewOptionsPage.attr('disabled', 'disabled'); - } - }, - onClickAddRule: function (e, $el) { - this.addRule($el.closest('tr')); - }, - onClickRemoveRule: function (e, $el) { - this.removeRule($el.closest('tr')); - }, - onChangeRemoveRule: function (e, $el) { - this.changeRule($el.closest('tr')); - }, - onClickAddGroup: function (e, $el) { - this.addGroup(); - }, - addRule: function ($tr) { - acf.duplicate($tr); - this.updateGroupsClass(); - }, - removeRule: function ($tr) { - if ($tr.siblings('tr').length == 0) { - $tr.closest('.rule-group').remove(); - } else { - $tr.remove(); - } - - // Update h4 - var $group = this.$('.rule-group:first'); - $group.find('h4').text(acf.__('Show this field group if')); - this.updateGroupsClass(); - }, - changeRule: function ($rule) { - // vars - var $group = $rule.closest('.rule-group'); - var prefix = $rule.find('td.param select').attr('name').replace('[param]', ''); - - // ajaxdata - var ajaxdata = {}; - ajaxdata.action = 'acf/field_group/render_location_rule'; - ajaxdata.rule = acf.serialize($rule, prefix); - ajaxdata.rule.id = $rule.data('id'); - ajaxdata.rule.group = $group.data('id'); - - // temp disable - acf.disable($rule.find('td.value')); - const self = this; - - // ajax - $.ajax({ - url: acf.get('ajaxurl'), - data: acf.prepareForAjax(ajaxdata), - type: 'post', - dataType: 'html', - success: function (html) { - if (!html) return; - $rule.replaceWith(html); - self.addProLocations(); - } - }); - }, - addGroup: function () { - // vars - var $group = this.$('.rule-group:last'); - - // duplicate - $group2 = acf.duplicate($group); - - // update h4 - $group2.find('h4').text(acf.__('or')); - - // remove all tr's except the first one - $group2.find('tr').not(':first').remove(); - - // update the groups class - this.updateGroupsClass(); - }, - updateGroupsClass: function () { - var $group = this.$('.rule-group:last'); - var $ruleGroups = $group.closest('.rule-groups'); - var rows_count = $ruleGroups.find('.acf-table tr').length; - if (rows_count > 1) { - $ruleGroups.addClass('rule-groups-multiple'); - } else { - $ruleGroups.removeClass('rule-groups-multiple'); - } - } - }); -})(jQuery); - -/***/ }), - -/***/ "./src/advanced-custom-fields-pro/assets/src/js/_field-group-settings.js": -/*!*******************************************************************************!*\ - !*** ./src/advanced-custom-fields-pro/assets/src/js/_field-group-settings.js ***! - \*******************************************************************************/ -/***/ (() => { - -(function ($, undefined) { - /** - * mid - * - * Calculates the model ID for a field type - * - * @date 15/12/17 - * @since 5.6.5 - * - * @param string type - * @return string - */ - - var modelId = function (type) { - return acf.strPascalCase(type || '') + 'FieldSetting'; - }; - - /** - * registerFieldType - * - * description - * - * @date 14/12/17 - * @since 5.6.5 - * - * @param type $var Description. Default. - * @return type Description. - */ - - acf.registerFieldSetting = function (model) { - var proto = model.prototype; - var mid = modelId(proto.type + ' ' + proto.name); - this.models[mid] = model; - }; - - /** - * newField - * - * description - * - * @date 14/12/17 - * @since 5.6.5 - * - * @param type $var Description. Default. - * @return type Description. - */ - - acf.newFieldSetting = function (field) { - // vars - var type = field.get('setting') || ''; - var name = field.get('name') || ''; - var mid = modelId(type + ' ' + name); - var model = acf.models[mid] || null; - - // bail early if no setting - if (model === null) return false; - - // instantiate - var setting = new model(field); - - // return - return setting; - }; - - /** - * acf.getFieldSetting - * - * description - * - * @date 19/4/18 - * @since 5.6.9 - * - * @param type $var Description. Default. - * @return type Description. - */ - - acf.getFieldSetting = function (field) { - // allow jQuery - if (field instanceof jQuery) { - field = acf.getField(field); - } - - // return - return field.setting; - }; - - /** - * settingsManager - * - * @since 5.6.5 - * - * @param object The object containing the extended variables and methods. - * @return void - */ - var settingsManager = new acf.Model({ - actions: { - new_field: 'onNewField' - }, - onNewField: function (field) { - field.setting = acf.newFieldSetting(field); - } - }); - - /** - * acf.FieldSetting - * - * @since 5.6.5 - * - * @param object The object containing the extended variables and methods. - * @return void - */ - acf.FieldSetting = acf.Model.extend({ - field: false, - type: '', - name: '', - wait: 'ready', - eventScope: '.acf-field', - events: { - change: 'render' - }, - setup: function (field) { - // vars - var $field = field.$el; - - // set props - this.$el = $field; - this.field = field; - this.$fieldObject = $field.closest('.acf-field-object'); - this.fieldObject = acf.getFieldObject(this.$fieldObject); - - // inherit data - $.extend(this.data, field.data); - }, - initialize: function () { - this.render(); - }, - render: function () { - // do nothing - } - }); - - /** - * Accordion and Tab Endpoint Settings - * - * The 'endpoint' setting on accordions and tabs requires an additional class on the - * field object row when enabled. - * - * @since 6.0.0 - * - * @param object The object containing the extended variables and methods. - * @return void - */ - var EndpointFieldSetting = acf.FieldSetting.extend({ - type: '', - name: '', - render: function () { - var $endpoint_setting = this.fieldObject.$setting('endpoint'); - var $endpoint_field = $endpoint_setting.find('input[type="checkbox"]:first'); - if ($endpoint_field.is(':checked')) { - this.fieldObject.$el.addClass('acf-field-is-endpoint'); - } else { - this.fieldObject.$el.removeClass('acf-field-is-endpoint'); - } - } - }); - var AccordionEndpointFieldSetting = EndpointFieldSetting.extend({ - type: 'accordion', - name: 'endpoint' - }); - var TabEndpointFieldSetting = EndpointFieldSetting.extend({ - type: 'tab', - name: 'endpoint' - }); - acf.registerFieldSetting(AccordionEndpointFieldSetting); - acf.registerFieldSetting(TabEndpointFieldSetting); - - /** - * Date Picker - * - * This field type requires some extra logic for its settings - * - * @since 5.0.0 - * - * @param object The object containing the extended variables and methods. - * @return void - */ - var DisplayFormatFieldSetting = acf.FieldSetting.extend({ - type: '', - name: '', - render: function () { - var $input = this.$('input[type="radio"]:checked'); - if ($input.val() != 'other') { - this.$('input[type="text"]').val($input.val()); - } - } - }); - var DatePickerDisplayFormatFieldSetting = DisplayFormatFieldSetting.extend({ - type: 'date_picker', - name: 'display_format' - }); - var DatePickerReturnFormatFieldSetting = DisplayFormatFieldSetting.extend({ - type: 'date_picker', - name: 'return_format' - }); - acf.registerFieldSetting(DatePickerDisplayFormatFieldSetting); - acf.registerFieldSetting(DatePickerReturnFormatFieldSetting); - - /** - * Date Time Picker - * - * This field type requires some extra logic for its settings - * - * @since 5.0.0 - * - * @param object The object containing the extended variables and methods. - * @return void - */ - var DateTimePickerDisplayFormatFieldSetting = DisplayFormatFieldSetting.extend({ - type: 'date_time_picker', - name: 'display_format' - }); - var DateTimePickerReturnFormatFieldSetting = DisplayFormatFieldSetting.extend({ - type: 'date_time_picker', - name: 'return_format' - }); - acf.registerFieldSetting(DateTimePickerDisplayFormatFieldSetting); - acf.registerFieldSetting(DateTimePickerReturnFormatFieldSetting); - - /** - * Time Picker - * - * This field type requires some extra logic for its settings - * - * @since 5.0.0 - * - * @param object The object containing the extended variables and methods. - * @return void - */ - var TimePickerDisplayFormatFieldSetting = DisplayFormatFieldSetting.extend({ - type: 'time_picker', - name: 'display_format' - }); - var TimePickerReturnFormatFieldSetting = DisplayFormatFieldSetting.extend({ - type: 'time_picker', - name: 'return_format' - }); - acf.registerFieldSetting(TimePickerDisplayFormatFieldSetting); - acf.registerFieldSetting(TimePickerReturnFormatFieldSetting); - - /** - * Color Picker Settings. - * - * @date 16/12/20 - * @since 5.9.4 - * - * @param object The object containing the extended variables and methods. - * @return void - */ - var ColorPickerReturnFormat = acf.FieldSetting.extend({ - type: 'color_picker', - name: 'enable_opacity', - render: function () { - var $return_format_setting = this.fieldObject.$setting('return_format'); - var $default_value_setting = this.fieldObject.$setting('default_value'); - var $labelText = $return_format_setting.find('input[type="radio"][value="string"]').parent('label').contents().last(); - var $defaultPlaceholder = $default_value_setting.find('input[type="text"]'); - var l10n = acf.get('colorPickerL10n'); - if (this.field.val()) { - $labelText.replaceWith(l10n.rgba_string); - $defaultPlaceholder.attr('placeholder', 'rgba(255,255,255,0.8)'); - } else { - $labelText.replaceWith(l10n.hex_string); - $defaultPlaceholder.attr('placeholder', '#FFFFFF'); - } - } - }); - acf.registerFieldSetting(ColorPickerReturnFormat); -})(jQuery); - -/***/ }), - -/***/ "./src/advanced-custom-fields-pro/assets/src/js/_field-group.js": -/*!**********************************************************************!*\ - !*** ./src/advanced-custom-fields-pro/assets/src/js/_field-group.js ***! - \**********************************************************************/ -/***/ (() => { - -(function ($, undefined) { - /** - * fieldGroupManager - * - * Generic field group functionality - * - * @date 15/12/17 - * @since 5.7.0 - * - * @param void - * @return void - */ - - var fieldGroupManager = new acf.Model({ - id: 'fieldGroupManager', - events: { - 'submit #post': 'onSubmit', - 'click a[href="#"]': 'onClick', - 'click .acf-delete-field-group': 'onClickDeleteFieldGroup', - 'blur input#title': 'validateTitle', - 'input input#title': 'validateTitle' - }, - filters: { - find_fields_args: 'filterFindFieldArgs', - find_fields_selector: 'filterFindFieldsSelector' - }, - initialize: function () { - acf.addAction('prepare', this.maybeInitNewFieldGroup); - acf.add_filter('select2_args', this.setBidirectionalSelect2Args); - acf.add_filter('select2_ajax_data', this.setBidirectionalSelect2AjaxDataArgs); - }, - setBidirectionalSelect2Args: function (args, $select, settings, field, instance) { - var _field$data; - if ((field === null || field === void 0 || (_field$data = field.data) === null || _field$data === void 0 ? void 0 : _field$data.call(field, 'key')) !== 'bidirectional_target') return args; - args.dropdownCssClass = 'field-type-select-results'; - - // Check for a full modern version of select2 like the one provided by ACF. - try { - $.fn.select2.amd.require('select2/compat/dropdownCss'); - } catch (err) { - console.warn('ACF was not able to load the full version of select2 due to a conflicting version provided by another plugin or theme taking precedence. Skipping styling of bidirectional settings.'); - delete args.dropdownCssClass; - } - args.templateResult = function (selection) { - if ('undefined' !== typeof selection.element) { - return selection; - } - if (selection.children) { - return selection.text; - } - if (selection.loading || selection.element && selection.element.nodeName === 'OPTGROUP') { - var $selection = $(''); - $selection.html(acf.escHtml(selection.text)); - return $selection; - } - if ('undefined' === typeof selection.human_field_type || 'undefined' === typeof selection.field_type || 'undefined' === typeof selection.this_field) { - return selection.text; - } - var $selection = $('' + acf.escHtml(selection.text) + ''); - if (selection.this_field) { - $selection.last().append('' + acf.__('This Field') + ''); - } - $selection.data('element', selection.element); - return $selection; - }; - return args; - }, - setBidirectionalSelect2AjaxDataArgs: function (data, args, $input, field, instance) { - if (data.field_key !== 'bidirectional_target') return data; - const $fieldObject = acf.findFieldObjects({ - child: field - }); - const fieldObject = acf.getFieldObject($fieldObject); - data.field_key = '_acf_bidirectional_target'; - data.parent_key = fieldObject.get('key'); - data.field_type = fieldObject.get('type'); - - // This might not be needed, but I wanted to figure out how to get a field setting in the JS API when the key isn't unique. - data.post_type = acf.getField(acf.findFields({ - parent: $fieldObject, - key: 'post_type' - })).val(); - return data; - }, - maybeInitNewFieldGroup: function () { - let $field_list_wrapper = $('#acf-field-group-fields > .inside > .acf-field-list-wrap.acf-auto-add-field'); - if ($field_list_wrapper.length) { - $('.acf-headerbar-actions .add-field').trigger('click'); - $('.acf-title-wrap #title').trigger('focus'); - } - }, - onSubmit: function (e, $el) { - // vars - var $title = $('.acf-title-wrap #title'); - - // empty - if (!$title.val()) { - // prevent default - e.preventDefault(); - - // unlock form - acf.unlockForm($el); - - // focus - $title.trigger('focus'); - } - }, - onClick: function (e) { - e.preventDefault(); - }, - onClickDeleteFieldGroup: function (e, $el) { - e.preventDefault(); - $el.addClass('-hover'); - - // Add confirmation tooltip. - acf.newTooltip({ - confirm: true, - target: $el, - context: this, - text: acf.__('Move field group to trash?'), - confirm: function () { - window.location.href = $el.attr('href'); - }, - cancel: function () { - $el.removeClass('-hover'); - } - }); - }, - validateTitle: function (e, $el) { - let $submitButton = $('.acf-publish'); - if (!$el.val()) { - $el.addClass('acf-input-error'); - $submitButton.addClass('disabled'); - $('.acf-publish').addClass('disabled'); - } else { - $el.removeClass('acf-input-error'); - $submitButton.removeClass('disabled'); - $('.acf-publish').removeClass('disabled'); - } - }, - filterFindFieldArgs: function (args) { - args.visible = true; - if (args.parent && (args.parent.hasClass('acf-field-object') || args.parent.hasClass('acf-browse-fields-modal-wrap') || args.parent.parents('.acf-field-object').length)) { - args.visible = false; - args.excludeSubFields = true; - } - - // If the field has any open subfields, don't exclude subfields as they're already being displayed. - if (args.parent && args.parent.find('.acf-field-object.open').length) { - args.excludeSubFields = false; - } - return args; - }, - filterFindFieldsSelector: function (selector) { - return selector + ', .acf-field-acf-field-group-settings-tabs'; - } - }); - - /** - * screenOptionsManager - * - * Screen options functionality - * - * @date 15/12/17 - * @since 5.7.0 - * - * @param void - * @return void - */ - - var screenOptionsManager = new acf.Model({ - id: 'screenOptionsManager', - wait: 'prepare', - events: { - 'change #acf-field-key-hide': 'onFieldKeysChange', - 'change #acf-field-settings-tabs': 'onFieldSettingsTabsChange', - 'change [name="screen_columns"]': 'render' - }, - initialize: function () { - // vars - var $div = $('#adv-settings'); - var $append = $('#acf-append-show-on-screen'); - - // append - $div.find('.metabox-prefs').append($append.html()); - $div.find('.metabox-prefs br').remove(); - - // clean up - $append.remove(); - - // initialize - this.$el = $('#screen-options-wrap'); - - // render - this.render(); - }, - isFieldKeysChecked: function () { - return this.$el.find('#acf-field-key-hide').prop('checked'); - }, - isFieldSettingsTabsChecked: function () { - const $input = this.$el.find('#acf-field-settings-tabs'); - - // Screen option is hidden by filter. - if (!$input.length) { - return false; - } - return $input.prop('checked'); - }, - getSelectedColumnCount: function () { - return this.$el.find('input[name="screen_columns"]:checked').val(); - }, - onFieldKeysChange: function (e, $el) { - var val = this.isFieldKeysChecked() ? 1 : 0; - acf.updateUserSetting('show_field_keys', val); - this.render(); - }, - onFieldSettingsTabsChange: function () { - const val = this.isFieldSettingsTabsChecked() ? 1 : 0; - acf.updateUserSetting('show_field_settings_tabs', val); - this.render(); - }, - render: function () { - if (this.isFieldKeysChecked()) { - $('#acf-field-group-fields').addClass('show-field-keys'); - } else { - $('#acf-field-group-fields').removeClass('show-field-keys'); - } - if (!this.isFieldSettingsTabsChecked()) { - $('#acf-field-group-fields').addClass('hide-tabs'); - $('.acf-field-settings-main').removeClass('acf-hidden').prop('hidden', false); - } else { - $('#acf-field-group-fields').removeClass('hide-tabs'); - $('.acf-field-object').each(function () { - const tabFields = acf.getFields({ - type: 'tab', - parent: $(this), - excludeSubFields: true, - limit: 1 - }); - if (tabFields.length) { - tabFields[0].tabs.set('initialized', false); - } - acf.doAction('show', $(this)); - }); - } - if (this.getSelectedColumnCount() == 1) { - $('body').removeClass('columns-2'); - $('body').addClass('columns-1'); - } else { - $('body').removeClass('columns-1'); - $('body').addClass('columns-2'); - } - } - }); - - /** - * appendFieldManager - * - * Appends fields together - * - * @date 15/12/17 - * @since 5.7.0 - * - * @param void - * @return void - */ - - var appendFieldManager = new acf.Model({ - actions: { - new_field: 'onNewField' - }, - onNewField: function (field) { - // bail early if not append - if (!field.has('append')) return; - - // vars - var append = field.get('append'); - var $sibling = field.$el.siblings('[data-name="' + append + '"]').first(); - - // bail early if no sibling - if (!$sibling.length) return; - - // ul - var $div = $sibling.children('.acf-input'); - var $ul = $div.children('ul'); - - // create ul - if (!$ul.length) { - $div.wrapInner(''); - $ul = $div.children('ul'); - } - - // li - var html = field.$('.acf-input').html(); - var $li = $('
  • ' + html + '
  • '); - $ul.append($li); - $ul.attr('data-cols', $ul.children().length); - - // clean up - field.remove(); - } - }); -})(jQuery); - -/***/ }), - -/***/ "./node_modules/@babel/runtime/helpers/esm/defineProperty.js": -/*!*******************************************************************!*\ - !*** ./node_modules/@babel/runtime/helpers/esm/defineProperty.js ***! - \*******************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ _defineProperty) -/* harmony export */ }); -/* harmony import */ var _toPropertyKey_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./toPropertyKey.js */ "./node_modules/@babel/runtime/helpers/esm/toPropertyKey.js"); - -function _defineProperty(obj, key, value) { - key = (0,_toPropertyKey_js__WEBPACK_IMPORTED_MODULE_0__["default"])(key); - if (key in obj) { - Object.defineProperty(obj, key, { - value: value, - enumerable: true, - configurable: true, - writable: true - }); - } else { - obj[key] = value; - } - return obj; -} - -/***/ }), - -/***/ "./node_modules/@babel/runtime/helpers/esm/toPrimitive.js": -/*!****************************************************************!*\ - !*** ./node_modules/@babel/runtime/helpers/esm/toPrimitive.js ***! - \****************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ toPrimitive) -/* harmony export */ }); -/* harmony import */ var _typeof_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./typeof.js */ "./node_modules/@babel/runtime/helpers/esm/typeof.js"); - -function toPrimitive(t, r) { - if ("object" != (0,_typeof_js__WEBPACK_IMPORTED_MODULE_0__["default"])(t) || !t) return t; - var e = t[Symbol.toPrimitive]; - if (void 0 !== e) { - var i = e.call(t, r || "default"); - if ("object" != (0,_typeof_js__WEBPACK_IMPORTED_MODULE_0__["default"])(i)) return i; - throw new TypeError("@@toPrimitive must return a primitive value."); - } - return ("string" === r ? String : Number)(t); -} - -/***/ }), - -/***/ "./node_modules/@babel/runtime/helpers/esm/toPropertyKey.js": -/*!******************************************************************!*\ - !*** ./node_modules/@babel/runtime/helpers/esm/toPropertyKey.js ***! - \******************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ toPropertyKey) -/* harmony export */ }); -/* harmony import */ var _typeof_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./typeof.js */ "./node_modules/@babel/runtime/helpers/esm/typeof.js"); -/* harmony import */ var _toPrimitive_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./toPrimitive.js */ "./node_modules/@babel/runtime/helpers/esm/toPrimitive.js"); - - -function toPropertyKey(t) { - var i = (0,_toPrimitive_js__WEBPACK_IMPORTED_MODULE_1__["default"])(t, "string"); - return "symbol" == (0,_typeof_js__WEBPACK_IMPORTED_MODULE_0__["default"])(i) ? i : i + ""; -} - -/***/ }), - -/***/ "./node_modules/@babel/runtime/helpers/esm/typeof.js": -/*!***********************************************************!*\ - !*** ./node_modules/@babel/runtime/helpers/esm/typeof.js ***! - \***********************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ _typeof) -/* harmony export */ }); -function _typeof(o) { - "@babel/helpers - typeof"; - - return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { - return typeof o; - } : function (o) { - return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; - }, _typeof(o); -} - -/***/ }) - -/******/ }); -/************************************************************************/ -/******/ // The module cache -/******/ var __webpack_module_cache__ = {}; -/******/ -/******/ // The require function -/******/ function __webpack_require__(moduleId) { -/******/ // Check if module is in cache -/******/ var cachedModule = __webpack_module_cache__[moduleId]; -/******/ if (cachedModule !== undefined) { -/******/ return cachedModule.exports; -/******/ } -/******/ // Create a new module (and put it into the cache) -/******/ var module = __webpack_module_cache__[moduleId] = { -/******/ // no module.id needed -/******/ // no module.loaded needed -/******/ exports: {} -/******/ }; -/******/ -/******/ // Execute the module function -/******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__); -/******/ -/******/ // Return the exports of the module -/******/ return module.exports; -/******/ } -/******/ -/************************************************************************/ -/******/ /* webpack/runtime/compat get default export */ -/******/ (() => { -/******/ // getDefaultExport function for compatibility with non-harmony modules -/******/ __webpack_require__.n = (module) => { -/******/ var getter = module && module.__esModule ? -/******/ () => (module['default']) : -/******/ () => (module); -/******/ __webpack_require__.d(getter, { a: getter }); -/******/ return getter; -/******/ }; -/******/ })(); -/******/ -/******/ /* webpack/runtime/define property getters */ -/******/ (() => { -/******/ // define getter functions for harmony exports -/******/ __webpack_require__.d = (exports, definition) => { -/******/ for(var key in definition) { -/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) { -/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] }); -/******/ } -/******/ } -/******/ }; -/******/ })(); -/******/ -/******/ /* webpack/runtime/hasOwnProperty shorthand */ -/******/ (() => { -/******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop)) -/******/ })(); -/******/ -/******/ /* webpack/runtime/make namespace object */ -/******/ (() => { -/******/ // define __esModule on exports -/******/ __webpack_require__.r = (exports) => { -/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { -/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); -/******/ } -/******/ Object.defineProperty(exports, '__esModule', { value: true }); -/******/ }; -/******/ })(); -/******/ -/************************************************************************/ -var __webpack_exports__ = {}; -// This entry need to be wrapped in an IIFE because it need to be in strict mode. -(() => { -"use strict"; -/*!*************************************************************************!*\ - !*** ./src/advanced-custom-fields-pro/assets/src/js/acf-field-group.js ***! - \*************************************************************************/ -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _field_group_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_field-group.js */ "./src/advanced-custom-fields-pro/assets/src/js/_field-group.js"); -/* harmony import */ var _field_group_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_field_group_js__WEBPACK_IMPORTED_MODULE_0__); -/* harmony import */ var _field_group_field_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_field-group-field.js */ "./src/advanced-custom-fields-pro/assets/src/js/_field-group-field.js"); -/* harmony import */ var _field_group_field_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_field_group_field_js__WEBPACK_IMPORTED_MODULE_1__); -/* harmony import */ var _field_group_settings_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_field-group-settings.js */ "./src/advanced-custom-fields-pro/assets/src/js/_field-group-settings.js"); -/* harmony import */ var _field_group_settings_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_field_group_settings_js__WEBPACK_IMPORTED_MODULE_2__); -/* harmony import */ var _field_group_conditions_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./_field-group-conditions.js */ "./src/advanced-custom-fields-pro/assets/src/js/_field-group-conditions.js"); -/* harmony import */ var _field_group_conditions_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_field_group_conditions_js__WEBPACK_IMPORTED_MODULE_3__); -/* harmony import */ var _field_group_fields_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./_field-group-fields.js */ "./src/advanced-custom-fields-pro/assets/src/js/_field-group-fields.js"); -/* harmony import */ var _field_group_fields_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_field_group_fields_js__WEBPACK_IMPORTED_MODULE_4__); -/* harmony import */ var _field_group_locations_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./_field-group-locations.js */ "./src/advanced-custom-fields-pro/assets/src/js/_field-group-locations.js"); -/* harmony import */ var _field_group_locations_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_field_group_locations_js__WEBPACK_IMPORTED_MODULE_5__); -/* harmony import */ var _field_group_compatibility_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./_field-group-compatibility.js */ "./src/advanced-custom-fields-pro/assets/src/js/_field-group-compatibility.js"); -/* harmony import */ var _field_group_compatibility_js__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_field_group_compatibility_js__WEBPACK_IMPORTED_MODULE_6__); -/* harmony import */ var _browse_fields_modal_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./_browse-fields-modal.js */ "./src/advanced-custom-fields-pro/assets/src/js/_browse-fields-modal.js"); - - - - - - - - -})(); - -/******/ })() -; -//# sourceMappingURL=acf-field-group.js.map \ No newline at end of file diff --git a/wp-content/plugins/advanced-custom-fields-pro/assets/build/js/acf-field-group.js.map b/wp-content/plugins/advanced-custom-fields-pro/assets/build/js/acf-field-group.js.map deleted file mode 100644 index 22c4d4992..000000000 --- a/wp-content/plugins/advanced-custom-fields-pro/assets/build/js/acf-field-group.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"acf-field-group.js","mappings":"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","sources":["webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/js/_browse-fields-modal.js","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/js/_field-group-compatibility.js","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/js/_field-group-conditions.js","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/js/_field-group-field.js","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/js/_field-group-fields.js","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/js/_field-group-locations.js","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/js/_field-group-settings.js","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/js/_field-group.js","webpack://advanced-custom-fields-pro/./node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack://advanced-custom-fields-pro/./node_modules/@babel/runtime/helpers/esm/toPrimitive.js","webpack://advanced-custom-fields-pro/./node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","webpack://advanced-custom-fields-pro/./node_modules/@babel/runtime/helpers/esm/typeof.js","webpack://advanced-custom-fields-pro/webpack/bootstrap","webpack://advanced-custom-fields-pro/webpack/runtime/compat get default export","webpack://advanced-custom-fields-pro/webpack/runtime/define property getters","webpack://advanced-custom-fields-pro/webpack/runtime/hasOwnProperty shorthand","webpack://advanced-custom-fields-pro/webpack/runtime/make namespace object","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/js/acf-field-group.js"],"sourcesContent":["/**\n * Extends acf.models.Modal to create the field browser.\n *\n * @package Advanced Custom Fields\n */\n\n( function ( $, undefined, acf ) {\n\tconst browseFieldsModal = {\n\t\tdata: {\n\t\t\topenedBy: null,\n\t\t\tcurrentFieldType: null,\n\t\t\tpopularFieldTypes: [\n\t\t\t\t'text',\n\t\t\t\t'textarea',\n\t\t\t\t'email',\n\t\t\t\t'url',\n\t\t\t\t'file',\n\t\t\t\t'gallery',\n\t\t\t\t'select',\n\t\t\t\t'true_false',\n\t\t\t\t'link',\n\t\t\t\t'post_object',\n\t\t\t\t'relationship',\n\t\t\t\t'repeater',\n\t\t\t\t'flexible_content',\n\t\t\t\t'clone',\n\t\t\t],\n\t\t},\n\n\t\tevents: {\n\t\t\t'click .acf-modal-close': 'onClickClose',\n\t\t\t'keydown .acf-browse-fields-modal': 'onPressEscapeClose',\n\t\t\t'click .acf-select-field': 'onClickSelectField',\n\t\t\t'click .acf-field-type': 'onClickFieldType',\n\t\t\t'changed:currentFieldType': 'onChangeFieldType',\n\t\t\t'input .acf-search-field-types': 'onSearchFieldTypes',\n\t\t\t'click .acf-browse-popular-fields': 'onClickBrowsePopular',\n\t\t},\n\n\t\tsetup: function ( props ) {\n\t\t\t$.extend( this.data, props );\n\t\t\tthis.$el = $( this.tmpl() );\n\t\t\tthis.render();\n\t\t},\n\n\t\tinitialize: function () {\n\t\t\tthis.open();\n\t\t\tthis.lockFocusToModal( true );\n\t\t\tthis.$el.find( '.acf-modal-title' ).focus();\n\t\t\tacf.doAction( 'show', this.$el );\n\t\t},\n\n\t\ttmpl: function () {\n\t\t\treturn $( '#tmpl-acf-browse-fields-modal' ).html();\n\t\t},\n\n\t\tgetFieldTypes: function ( category, search ) {\n\t\t\tlet fieldTypes;\n\t\t\tif ( ! acf.get( 'is_pro' ) ) {\n\t\t\t\t// Add in the pro fields.\n\t\t\t\tfieldTypes = Object.values( {\n\t\t\t\t\t...acf.get( 'fieldTypes' ),\n\t\t\t\t\t...acf.get( 'PROFieldTypes' ),\n\t\t\t\t} );\n\t\t\t} else {\n\t\t\t\tfieldTypes = Object.values( acf.get( 'fieldTypes' ) );\n\t\t\t}\n\n\t\t\tif ( category ) {\n\t\t\t\tif ( 'popular' === category ) {\n\t\t\t\t\treturn fieldTypes.filter( ( fieldType ) =>\n\t\t\t\t\t\tthis.get( 'popularFieldTypes' ).includes(\n\t\t\t\t\t\t\tfieldType.name\n\t\t\t\t\t\t)\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\tif ( 'pro' === category ) {\n\t\t\t\t\treturn fieldTypes.filter( ( fieldType ) => fieldType.pro );\n\t\t\t\t}\n\n\t\t\t\tfieldTypes = fieldTypes.filter(\n\t\t\t\t\t( fieldType ) => fieldType.category === category\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tif ( search ) {\n\t\t\t\tfieldTypes = fieldTypes.filter( ( fieldType ) => {\n\t\t\t\t\tconst label = fieldType.label.toLowerCase();\n\t\t\t\t\tconst labelParts = label.split( ' ' );\n\t\t\t\t\tlet match = false;\n\n\t\t\t\t\tif ( label.startsWith( search.toLowerCase() ) ) {\n\t\t\t\t\t\tmatch = true;\n\t\t\t\t\t} else if ( labelParts.length > 1 ) {\n\t\t\t\t\t\tlabelParts.forEach( ( part ) => {\n\t\t\t\t\t\t\tif ( part.startsWith( search.toLowerCase() ) ) {\n\t\t\t\t\t\t\t\tmatch = true;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} );\n\t\t\t\t\t}\n\n\t\t\t\t\treturn match;\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\treturn fieldTypes;\n\t\t},\n\n\t\trender: function () {\n\t\t\tacf.doAction( 'append', this.$el );\n\n\t\t\tconst $tabs = this.$el.find( '.acf-field-types-tab' );\n\t\t\tconst self = this;\n\n\t\t\t$tabs.each( function () {\n\t\t\t\tconst category = $( this ).data( 'category' );\n\t\t\t\tconst fieldTypes = self.getFieldTypes( category );\n\t\t\t\tfieldTypes.forEach( ( fieldType ) => {\n\t\t\t\t\t$( this ).append( self.getFieldTypeHTML( fieldType ) );\n\t\t\t\t} );\n\t\t\t} );\n\n\t\t\tthis.initializeFieldLabel();\n\t\t\tthis.initializeFieldType();\n\t\t\tthis.onChangeFieldType();\n\t\t},\n\n\t\tgetFieldTypeHTML: function ( fieldType ) {\n\t\t\tconst iconName = fieldType.name.replaceAll( '_', '-' );\n\n\t\t\treturn `\n\t\t\t\n\t\t\t\t${\n\t\t\t\t\tfieldType.pro && ! acf.get( 'is_pro' )\n\t\t\t\t\t\t? ''\n\t\t\t\t\t\t: fieldType.pro\n\t\t\t\t\t\t? ''\n\t\t\t\t\t\t: ''\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\t${ fieldType.label }\n\t\t\t\n\t\t\t`;\n\t\t},\n\n\t\tdecodeFieldTypeURL: function ( url ) {\n\t\t\tif ( typeof url != 'string' ) return url;\n\t\t\treturn url.replaceAll( '&', '&' );\n\t\t},\n\n\t\trenderFieldTypeDesc: function ( fieldType ) {\n\t\t\tconst fieldTypeInfo =\n\t\t\t\tthis.getFieldTypes().filter(\n\t\t\t\t\t( fieldTypeFilter ) => fieldTypeFilter.name === fieldType\n\t\t\t\t)[ 0 ] || {};\n\n\t\t\tconst args = acf.parseArgs( fieldTypeInfo, {\n\t\t\t\tlabel: '',\n\t\t\t\tdescription: '',\n\t\t\t\tdoc_url: false,\n\t\t\t\ttutorial_url: false,\n\t\t\t\tpreview_image: false,\n\t\t\t\tpro: false,\n\t\t\t} );\n\n\t\t\tthis.$el.find( '.field-type-name' ).text( args.label );\n\t\t\tthis.$el.find( '.field-type-desc' ).text( args.description );\n\n\t\t\tif ( args.doc_url ) {\n\t\t\t\tthis.$el\n\t\t\t\t\t.find( '.field-type-doc' )\n\t\t\t\t\t.attr( 'href', this.decodeFieldTypeURL( args.doc_url ) )\n\t\t\t\t\t.show();\n\t\t\t} else {\n\t\t\t\tthis.$el.find( '.field-type-doc' ).hide();\n\t\t\t}\n\n\t\t\tif ( args.tutorial_url ) {\n\t\t\t\tthis.$el\n\t\t\t\t\t.find( '.field-type-tutorial' )\n\t\t\t\t\t.attr(\n\t\t\t\t\t\t'href',\n\t\t\t\t\t\tthis.decodeFieldTypeURL( args.tutorial_url )\n\t\t\t\t\t)\n\t\t\t\t\t.parent()\n\t\t\t\t\t.show();\n\t\t\t} else {\n\t\t\t\tthis.$el.find( '.field-type-tutorial' ).parent().hide();\n\t\t\t}\n\n\t\t\tif ( args.preview_image ) {\n\t\t\t\tthis.$el\n\t\t\t\t\t.find( '.field-type-image' )\n\t\t\t\t\t.attr( 'src', args.preview_image )\n\t\t\t\t\t.show();\n\t\t\t} else {\n\t\t\t\tthis.$el.find( '.field-type-image' ).hide();\n\t\t\t}\n\n\t\t\tconst isPro = acf.get( 'is_pro' );\n\t\t\tconst isActive = acf.get( 'isLicenseActive' );\n\t\t\tconst $upgateToProButton = this.$el.find( '.acf-btn-pro' );\n\t\t\tconst $upgradeToUnlockButton = this.$el.find(\n\t\t\t\t'.field-type-upgrade-to-unlock'\n\t\t\t);\n\n\t\t\tif ( args.pro && ( ! isPro || ! isActive ) ) {\n\t\t\t\t$upgateToProButton.show();\n\t\t\t\t$upgateToProButton.attr(\n\t\t\t\t\t'href',\n\t\t\t\t\t$upgateToProButton.data( 'urlBase' ) + fieldType\n\t\t\t\t);\n\n\t\t\t\t$upgradeToUnlockButton.show();\n\t\t\t\t$upgradeToUnlockButton.attr(\n\t\t\t\t\t'href',\n\t\t\t\t\t$upgradeToUnlockButton.data( 'urlBase' ) + fieldType\n\t\t\t\t);\n\t\t\t\tthis.$el\n\t\t\t\t\t.find( '.acf-insert-field-label' )\n\t\t\t\t\t.attr( 'disabled', true );\n\t\t\t\tthis.$el.find( '.acf-select-field' ).hide();\n\t\t\t} else {\n\t\t\t\t$upgateToProButton.hide();\n\t\t\t\t$upgradeToUnlockButton.hide();\n\t\t\t\tthis.$el\n\t\t\t\t\t.find( '.acf-insert-field-label' )\n\t\t\t\t\t.attr( 'disabled', false );\n\t\t\t\tthis.$el.find( '.acf-select-field' ).show();\n\t\t\t}\n\t\t},\n\n\t\tinitializeFieldType: function () {\n\t\t\tconst fieldObject = this.get( 'openedBy' );\n\t\t\tconst fieldType = fieldObject?.data?.type;\n\n\t\t\t// Select default field type\n\t\t\tif ( fieldType ) {\n\t\t\t\tthis.set( 'currentFieldType', fieldType );\n\t\t\t} else {\n\t\t\t\tthis.set( 'currentFieldType', 'text' );\n\t\t\t}\n\n\t\t\t// Select first tab with selected field type\n\t\t\t// If type selected is wthin Popular, select Popular Tab\n\t\t\t// Else select first tab the type belongs\n\t\t\tconst fieldTypes = this.getFieldTypes();\n\t\t\tconst isFieldTypePopular =\n\t\t\t\tthis.get( 'popularFieldTypes' ).includes( fieldType );\n\n\t\t\tlet category = '';\n\t\t\tif ( isFieldTypePopular ) {\n\t\t\t\tcategory = 'popular';\n\t\t\t} else {\n\t\t\t\tconst selectedFieldType = fieldTypes.find( ( x ) => {\n\t\t\t\t\treturn x.name === fieldType;\n\t\t\t\t} );\n\n\t\t\t\tcategory = selectedFieldType.category;\n\t\t\t}\n\n\t\t\tconst uppercaseCategory =\n\t\t\t\tcategory[ 0 ].toUpperCase() + category.slice( 1 );\n\t\t\tconst searchTabElement = `.acf-modal-content .acf-tab-wrap a:contains('${ uppercaseCategory }')`;\n\t\t\tsetTimeout( () => {\n\t\t\t\t$( searchTabElement ).click();\n\t\t\t}, 0 );\n\t\t},\n\n\t\tinitializeFieldLabel: function () {\n\t\t\tconst fieldObject = this.get( 'openedBy' );\n\t\t\tconst labelText = fieldObject.$fieldLabel().val();\n\t\t\tconst $fieldLabel = this.$el.find( '.acf-insert-field-label' );\n\t\t\tif ( labelText ) {\n\t\t\t\t$fieldLabel.val( labelText );\n\t\t\t} else {\n\t\t\t\t$fieldLabel.val( '' );\n\t\t\t}\n\t\t},\n\n\t\tupdateFieldObjectFieldLabel: function () {\n\t\t\tconst label = this.$el.find( '.acf-insert-field-label' ).val();\n\t\t\tconst fieldObject = this.get( 'openedBy' );\n\t\t\tfieldObject.$fieldLabel().val( label );\n\t\t\tfieldObject.$fieldLabel().trigger( 'blur' );\n\t\t},\n\n\t\tonChangeFieldType: function () {\n\t\t\tconst fieldType = this.get( 'currentFieldType' );\n\n\t\t\tthis.$el.find( '.selected' ).removeClass( 'selected' );\n\t\t\tthis.$el\n\t\t\t\t.find( '.acf-field-type[data-field-type=\"' + fieldType + '\"]' )\n\t\t\t\t.addClass( 'selected' );\n\n\t\t\tthis.renderFieldTypeDesc( fieldType );\n\t\t},\n\n\t\tonSearchFieldTypes: function ( e ) {\n\t\t\tconst $modal = this.$el.find( '.acf-browse-fields-modal' );\n\t\t\tconst inputVal = this.$el.find( '.acf-search-field-types' ).val();\n\t\t\tconst self = this;\n\t\t\tlet searchString,\n\t\t\t\tresultsHtml = '';\n\t\t\tlet matches = [];\n\n\t\t\tif ( 'string' === typeof inputVal ) {\n\t\t\t\tsearchString = inputVal.trim();\n\t\t\t\tmatches = this.getFieldTypes( false, searchString );\n\t\t\t}\n\n\t\t\tif ( searchString.length && matches.length ) {\n\t\t\t\t$modal.addClass( 'is-searching' );\n\t\t\t} else {\n\t\t\t\t$modal.removeClass( 'is-searching' );\n\t\t\t}\n\n\t\t\tif ( ! matches.length ) {\n\t\t\t\t$modal.addClass( 'no-results-found' );\n\t\t\t\tthis.$el\n\t\t\t\t\t.find( '.acf-invalid-search-term' )\n\t\t\t\t\t.text( searchString );\n\t\t\t\treturn;\n\t\t\t} else {\n\t\t\t\t$modal.removeClass( 'no-results-found' );\n\t\t\t}\n\n\t\t\tmatches.forEach( ( fieldType ) => {\n\t\t\t\tresultsHtml = resultsHtml + self.getFieldTypeHTML( fieldType );\n\t\t\t} );\n\n\t\t\t$( '.acf-field-type-search-results' ).html( resultsHtml );\n\n\t\t\tthis.set( 'currentFieldType', matches[ 0 ].name );\n\t\t\tthis.onChangeFieldType();\n\t\t},\n\n\t\tonClickBrowsePopular: function () {\n\t\t\tthis.$el\n\t\t\t\t.find( '.acf-search-field-types' )\n\t\t\t\t.val( '' )\n\t\t\t\t.trigger( 'input' );\n\t\t\tthis.$el.find( '.acf-tab-wrap a' ).first().trigger( 'click' );\n\t\t},\n\n\t\tonClickSelectField: function ( e ) {\n\t\t\tconst fieldObject = this.get( 'openedBy' );\n\n\t\t\tfieldObject\n\t\t\t\t.$fieldTypeSelect()\n\t\t\t\t.val( this.get( 'currentFieldType' ) );\n\t\t\tfieldObject.$fieldTypeSelect().trigger( 'change' );\n\n\t\t\tthis.updateFieldObjectFieldLabel();\n\n\t\t\tthis.close();\n\t\t},\n\n\t\tonClickFieldType: function ( e ) {\n\t\t\tconst $fieldType = $( e.currentTarget );\n\t\t\tthis.set( 'currentFieldType', $fieldType.data( 'field-type' ) );\n\t\t},\n\n\t\tonClickClose: function () {\n\t\t\tthis.close();\n\t\t},\n\n\t\tonPressEscapeClose: function ( e ) {\n\t\t\tif ( e.key === 'Escape' ) {\n\t\t\t\tthis.close();\n\t\t\t}\n\t\t},\n\n\t\tclose: function () {\n\t\t\tthis.lockFocusToModal( false );\n\t\t\tthis.returnFocusToOrigin();\n\t\t\tthis.remove();\n\t\t},\n\n\t\tfocus: function () {\n\t\t\tthis.$el.find( 'button' ).first().trigger( 'focus' );\n\t\t},\n\t};\n\n\tacf.models.browseFieldsModal = acf.models.Modal.extend( browseFieldsModal );\n\tacf.newBrowseFieldsModal = ( props ) =>\n\t\tnew acf.models.browseFieldsModal( props );\n} )( window.jQuery, undefined, window.acf );\n","( function ( $, undefined ) {\n\tvar _acf = acf.getCompatibility( acf );\n\n\t/**\n\t * fieldGroupCompatibility\n\t *\n\t * Compatibility layer for extinct acf.field_group\n\t *\n\t * @date\t15/12/17\n\t * @since\t5.7.0\n\t *\n\t * @param\tvoid\n\t * @return\tvoid\n\t */\n\n\t_acf.field_group = {\n\t\tsave_field: function ( $field, type ) {\n\t\t\ttype = type !== undefined ? type : 'settings';\n\t\t\tacf.getFieldObject( $field ).save( type );\n\t\t},\n\n\t\tdelete_field: function ( $field, animate ) {\n\t\t\tanimate = animate !== undefined ? animate : true;\n\t\t\tacf.getFieldObject( $field ).delete( {\n\t\t\t\tanimate: animate,\n\t\t\t} );\n\t\t},\n\n\t\tupdate_field_meta: function ( $field, name, value ) {\n\t\t\tacf.getFieldObject( $field ).prop( name, value );\n\t\t},\n\n\t\tdelete_field_meta: function ( $field, name ) {\n\t\t\tacf.getFieldObject( $field ).prop( name, null );\n\t\t},\n\t};\n\n\t/**\n\t * fieldGroupCompatibility.field_object\n\t *\n\t * Compatibility layer for extinct acf.field_group.field_object\n\t *\n\t * @date\t15/12/17\n\t * @since\t5.7.0\n\t *\n\t * @param\tvoid\n\t * @return\tvoid\n\t */\n\n\t_acf.field_group.field_object = acf.model.extend( {\n\t\t// vars\n\t\ttype: '',\n\t\to: {},\n\t\t$field: null,\n\t\t$settings: null,\n\n\t\ttag: function ( tag ) {\n\t\t\t// vars\n\t\t\tvar type = this.type;\n\n\t\t\t// explode, add 'field' and implode\n\t\t\t// - open \t\t\t=> open_field\n\t\t\t// - change_type\t=> change_field_type\n\t\t\tvar tags = tag.split( '_' );\n\t\t\ttags.splice( 1, 0, 'field' );\n\t\t\ttag = tags.join( '_' );\n\n\t\t\t// add type\n\t\t\tif ( type ) {\n\t\t\t\ttag += '/type=' + type;\n\t\t\t}\n\n\t\t\t// return\n\t\t\treturn tag;\n\t\t},\n\n\t\tselector: function () {\n\t\t\t// vars\n\t\t\tvar selector = '.acf-field-object';\n\t\t\tvar type = this.type;\n\n\t\t\t// add type\n\t\t\tif ( type ) {\n\t\t\t\tselector += '-' + type;\n\t\t\t\tselector = acf.str_replace( '_', '-', selector );\n\t\t\t}\n\n\t\t\t// return\n\t\t\treturn selector;\n\t\t},\n\n\t\t_add_action: function ( name, callback ) {\n\t\t\t// vars\n\t\t\tvar model = this;\n\n\t\t\t// add action\n\t\t\tacf.add_action( this.tag( name ), function ( $field ) {\n\t\t\t\t// focus\n\t\t\t\tmodel.set( '$field', $field );\n\n\t\t\t\t// callback\n\t\t\t\tmodel[ callback ].apply( model, arguments );\n\t\t\t} );\n\t\t},\n\n\t\t_add_filter: function ( name, callback ) {\n\t\t\t// vars\n\t\t\tvar model = this;\n\n\t\t\t// add action\n\t\t\tacf.add_filter( this.tag( name ), function ( $field ) {\n\t\t\t\t// focus\n\t\t\t\tmodel.set( '$field', $field );\n\n\t\t\t\t// callback\n\t\t\t\tmodel[ callback ].apply( model, arguments );\n\t\t\t} );\n\t\t},\n\n\t\t_add_event: function ( name, callback ) {\n\t\t\t// vars\n\t\t\tvar model = this;\n\t\t\tvar event = name.substr( 0, name.indexOf( ' ' ) );\n\t\t\tvar selector = name.substr( name.indexOf( ' ' ) + 1 );\n\t\t\tvar context = this.selector();\n\n\t\t\t// add event\n\t\t\t$( document ).on( event, context + ' ' + selector, function ( e ) {\n\t\t\t\t// append $el to event object\n\t\t\t\te.$el = $( this );\n\t\t\t\te.$field = e.$el.closest( '.acf-field-object' );\n\n\t\t\t\t// focus\n\t\t\t\tmodel.set( '$field', e.$field );\n\n\t\t\t\t// callback\n\t\t\t\tmodel[ callback ].apply( model, [ e ] );\n\t\t\t} );\n\t\t},\n\n\t\t_set_$field: function () {\n\t\t\t// vars\n\t\t\tthis.o = this.$field.data();\n\n\t\t\t// els\n\t\t\tthis.$settings = this.$field.find( '> .settings > table > tbody' );\n\n\t\t\t// focus\n\t\t\tthis.focus();\n\t\t},\n\n\t\tfocus: function () {\n\t\t\t// do nothing\n\t\t},\n\n\t\tsetting: function ( name ) {\n\t\t\treturn this.$settings.find( '> .acf-field-setting-' + name );\n\t\t},\n\t} );\n\n\t/*\n\t * field\n\t *\n\t * This model fires actions and filters for registered fields\n\t *\n\t * @type\tfunction\n\t * @date\t21/02/2014\n\t * @since\t3.5.1\n\t *\n\t * @param\tn/a\n\t * @return\tn/a\n\t */\n\n\tvar actionManager = new acf.Model( {\n\t\tactions: {\n\t\t\topen_field_object: 'onOpenFieldObject',\n\t\t\tclose_field_object: 'onCloseFieldObject',\n\t\t\tadd_field_object: 'onAddFieldObject',\n\t\t\tduplicate_field_object: 'onDuplicateFieldObject',\n\t\t\tdelete_field_object: 'onDeleteFieldObject',\n\t\t\tchange_field_object_type: 'onChangeFieldObjectType',\n\t\t\tchange_field_object_label: 'onChangeFieldObjectLabel',\n\t\t\tchange_field_object_name: 'onChangeFieldObjectName',\n\t\t\tchange_field_object_parent: 'onChangeFieldObjectParent',\n\t\t\tsortstop_field_object: 'onChangeFieldObjectParent',\n\t\t},\n\n\t\tonOpenFieldObject: function ( field ) {\n\t\t\tacf.doAction( 'open_field', field.$el );\n\t\t\tacf.doAction( 'open_field/type=' + field.get( 'type' ), field.$el );\n\n\t\t\tacf.doAction( 'render_field_settings', field.$el );\n\t\t\tacf.doAction(\n\t\t\t\t'render_field_settings/type=' + field.get( 'type' ),\n\t\t\t\tfield.$el\n\t\t\t);\n\t\t},\n\n\t\tonCloseFieldObject: function ( field ) {\n\t\t\tacf.doAction( 'close_field', field.$el );\n\t\t\tacf.doAction(\n\t\t\t\t'close_field/type=' + field.get( 'type' ),\n\t\t\t\tfield.$el\n\t\t\t);\n\t\t},\n\n\t\tonAddFieldObject: function ( field ) {\n\t\t\tacf.doAction( 'add_field', field.$el );\n\t\t\tacf.doAction( 'add_field/type=' + field.get( 'type' ), field.$el );\n\t\t},\n\n\t\tonDuplicateFieldObject: function ( field ) {\n\t\t\tacf.doAction( 'duplicate_field', field.$el );\n\t\t\tacf.doAction(\n\t\t\t\t'duplicate_field/type=' + field.get( 'type' ),\n\t\t\t\tfield.$el\n\t\t\t);\n\t\t},\n\n\t\tonDeleteFieldObject: function ( field ) {\n\t\t\tacf.doAction( 'delete_field', field.$el );\n\t\t\tacf.doAction(\n\t\t\t\t'delete_field/type=' + field.get( 'type' ),\n\t\t\t\tfield.$el\n\t\t\t);\n\t\t},\n\n\t\tonChangeFieldObjectType: function ( field ) {\n\t\t\tacf.doAction( 'change_field_type', field.$el );\n\t\t\tacf.doAction(\n\t\t\t\t'change_field_type/type=' + field.get( 'type' ),\n\t\t\t\tfield.$el\n\t\t\t);\n\n\t\t\tacf.doAction( 'render_field_settings', field.$el );\n\t\t\tacf.doAction(\n\t\t\t\t'render_field_settings/type=' + field.get( 'type' ),\n\t\t\t\tfield.$el\n\t\t\t);\n\t\t},\n\n\t\tonChangeFieldObjectLabel: function ( field ) {\n\t\t\tacf.doAction( 'change_field_label', field.$el );\n\t\t\tacf.doAction(\n\t\t\t\t'change_field_label/type=' + field.get( 'type' ),\n\t\t\t\tfield.$el\n\t\t\t);\n\t\t},\n\n\t\tonChangeFieldObjectName: function ( field ) {\n\t\t\tacf.doAction( 'change_field_name', field.$el );\n\t\t\tacf.doAction(\n\t\t\t\t'change_field_name/type=' + field.get( 'type' ),\n\t\t\t\tfield.$el\n\t\t\t);\n\t\t},\n\n\t\tonChangeFieldObjectParent: function ( field ) {\n\t\t\tacf.doAction( 'update_field_parent', field.$el );\n\t\t},\n\t} );\n} )( jQuery );\n","( function ( $, undefined ) {\n\t/**\n\t * ConditionalLogicFieldSetting\n\t *\n\t * description\n\t *\n\t * @date\t3/2/18\n\t * @since\t5.6.5\n\t *\n\t * @param\ttype $var Description. Default.\n\t * @return\ttype Description.\n\t */\n\n\tvar ConditionalLogicFieldSetting = acf.FieldSetting.extend( {\n\t\ttype: '',\n\t\tname: 'conditional_logic',\n\t\tevents: {\n\t\t\t'change .conditions-toggle': 'onChangeToggle',\n\t\t\t'click .add-conditional-group': 'onClickAddGroup',\n\t\t\t'focus .condition-rule-field': 'onFocusField',\n\t\t\t'change .condition-rule-field': 'onChangeField',\n\t\t\t'change .condition-rule-operator': 'onChangeOperator',\n\t\t\t'click .add-conditional-rule': 'onClickAdd',\n\t\t\t'click .remove-conditional-rule': 'onClickRemove',\n\t\t},\n\n\t\t$rule: false,\n\t\tscope: function ( $rule ) {\n\t\t\tthis.$rule = $rule;\n\t\t\treturn this;\n\t\t},\n\n\t\truleData: function ( name, value ) {\n\t\t\treturn this.$rule.data.apply( this.$rule, arguments );\n\t\t},\n\n\t\t$input: function ( name ) {\n\t\t\treturn this.$rule.find( '.condition-rule-' + name );\n\t\t},\n\n\t\t$td: function ( name ) {\n\t\t\treturn this.$rule.find( 'td.' + name );\n\t\t},\n\n\t\t$toggle: function () {\n\t\t\treturn this.$( '.conditions-toggle' );\n\t\t},\n\n\t\t$control: function () {\n\t\t\treturn this.$( '.rule-groups' );\n\t\t},\n\n\t\t$groups: function () {\n\t\t\treturn this.$( '.rule-group' );\n\t\t},\n\n\t\t$rules: function () {\n\t\t\treturn this.$( '.rule' );\n\t\t},\n\n\t\t$tabLabel: function () {\n\t\t\treturn this.fieldObject.$el.find('.conditional-logic-badge');\n\t\t},\n\n\t\t$conditionalValueSelect: function () {\n\t\t\treturn this.$( '.condition-rule-value' );\n\t\t},\n\n\t\topen: function () {\n\t\t\tvar $div = this.$control();\n\t\t\t$div.show();\n\t\t\tacf.enable( $div );\n\t\t},\n\n\t\tclose: function () {\n\t\t\tvar $div = this.$control();\n\t\t\t$div.hide();\n\t\t\tacf.disable( $div );\n\t\t},\n\n\t\trender: function () {\n\t\t\t// show\n\t\t\tif ( this.$toggle().prop( 'checked' ) ) {\n\t\t\t\tthis.$tabLabel().addClass('is-enabled');\n\t\t\t\tthis.renderRules();\n\t\t\t\tthis.open();\n\n\t\t\t\t// hide\n\t\t\t} else {\n\t\t\t\tthis.$tabLabel().removeClass('is-enabled');\n\t\t\t\tthis.close();\n\t\t\t}\n\t\t},\n\n\t\trenderRules: function () {\n\t\t\t// vars\n\t\t\tvar self = this;\n\n\t\t\t// loop\n\t\t\tthis.$rules().each( function () {\n\t\t\t\tself.renderRule( $( this ) );\n\t\t\t} );\n\t\t},\n\n\t\trenderRule: function ( $rule ) {\n\t\t\tthis.scope( $rule );\n\t\t\tthis.renderField();\n\t\t\tthis.renderOperator();\n\t\t\tthis.renderValue();\n\t\t},\n\n\t\trenderField: function () {\n\t\t\t// vars\n\t\t\tvar choices = [];\n\t\t\tvar validFieldTypes = [];\n\t\t\tvar cid = this.fieldObject.cid;\n\t\t\tvar $select = this.$input( 'field' );\n\n\t\t\t// loop\n\t\t\tacf.getFieldObjects().map( function ( fieldObject ) {\n\t\t\t\t// vars\n\t\t\t\tvar choice = {\n\t\t\t\t\tid: fieldObject.getKey(),\n\t\t\t\t\ttext: fieldObject.getLabel(),\n\t\t\t\t};\n\n\t\t\t\t// bail early if is self\n\t\t\t\tif ( fieldObject.cid === cid ) {\n\t\t\t\t\tchoice.text += ' ' + acf.__( '(this field)' );\n\t\t\t\t\tchoice.disabled = true;\n\t\t\t\t}\n\n\t\t\t\t// get selected field conditions\n\t\t\t\tvar conditionTypes = acf.getConditionTypes( {\n\t\t\t\t\tfieldType: fieldObject.getType(),\n\t\t\t\t} );\n\n\t\t\t\t// bail early if no types\n\t\t\t\tif ( ! conditionTypes.length ) {\n\t\t\t\t\tchoice.disabled = true;\n\t\t\t\t}\n\n\t\t\t\t// calulate indents\n\t\t\t\tvar indents = fieldObject.getParents().length;\n\t\t\t\tchoice.text = '- '.repeat( indents ) + choice.text;\n\n\t\t\t\t// append\n\t\t\t\tchoices.push( choice );\n\t\t\t} );\n\n\t\t\t// allow for scenario where only one field exists\n\t\t\tif ( ! choices.length ) {\n\t\t\t\tchoices.push( {\n\t\t\t\t\tid: '',\n\t\t\t\t\ttext: acf.__( 'No toggle fields available' ),\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\t// render\n\t\t\tacf.renderSelect( $select, choices );\n\n\t\t\t// set\n\t\t\tthis.ruleData( 'field', $select.val() );\n\t\t},\n\n\t\trenderOperator: function () {\n\t\t\t// bail early if no field selected\n\t\t\tif ( ! this.ruleData( 'field' ) ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// vars\n\t\t\tvar $select = this.$input( 'operator' );\n\t\t\tvar val = $select.val();\n\t\t\tvar choices = [];\n\n\t\t\t// set saved value on first render\n\t\t\t// - this allows the 2nd render to correctly select an option\n\t\t\tif ( $select.val() === null ) {\n\t\t\t\tacf.renderSelect( $select, [\n\t\t\t\t\t{\n\t\t\t\t\t\tid: this.ruleData( 'operator' ),\n\t\t\t\t\t\ttext: '',\n\t\t\t\t\t},\n\t\t\t\t] );\n\t\t\t}\n\n\t\t\t// get selected field\n\t\t\tvar $field = acf.findFieldObject( this.ruleData( 'field' ) );\n\t\t\tvar field = acf.getFieldObject( $field );\n\n\t\t\t// get selected field conditions\n\t\t\tvar conditionTypes = acf.getConditionTypes( {\n\t\t\t\tfieldType: field.getType(),\n\t\t\t} );\n\n\t\t\t// html\n\t\t\tconditionTypes.map( function ( model ) {\n\t\t\t\tchoices.push( {\n\t\t\t\t\tid: model.prototype.operator,\n\t\t\t\t\ttext: model.prototype.label,\n\t\t\t\t} );\n\t\t\t} );\n\n\t\t\t// render\n\t\t\tacf.renderSelect( $select, choices );\n\n\t\t\t// set\n\t\t\tthis.ruleData( 'operator', $select.val() );\n\t\t},\n\n\t\trenderValue: function () {\n\t\t\t// bail early if no field selected\n\t\t\tif ( ! this.ruleData( 'field' ) || ! this.ruleData( 'operator' ) ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tvar $select = this.$input( 'value' );\n\t\t\tvar $td = this.$td( 'value' );\n\t\t\tvar currentVal = $select.val();\n\t\t\tvar savedValue = this.$rule[0].getAttribute( 'data-value' );\n\n\t\t\t// get selected field\n\t\t\tvar $field = acf.findFieldObject( this.ruleData( 'field' ) );\n\t\t\tvar field = acf.getFieldObject( $field );\n\t\t\t// get selected field conditions\n\t\t\tvar conditionTypes = acf.getConditionTypes( {\n\t\t\t\tfieldType: field.getType(),\n\t\t\t\toperator: this.ruleData( 'operator' ),\n\t\t\t} );\n\n\t\t\tvar conditionType = conditionTypes[ 0 ].prototype;\n\t\t\tvar choices = conditionType.choices( field );\n\t\t\tlet $newSelect;\n\t\t\tif ( choices instanceof jQuery && !! choices.data( 'acfSelect2Props' ) ) {\n\t\t\t\t$newSelect = $select.clone();\n\t\t\t\t// If converting from a disabled input, we need to convert it to an active select.\n\t\t\t\tif ( $newSelect.is( 'input' ) ) {\n\t\t\t\t\tvar classes = $select.attr( 'class' );\n\t\t\t\t\tconst $rebuiltSelect = $( '' ).addClass( classes ).val( savedValue );\n\t\t\t\t\t$newSelect = $rebuiltSelect;\n\t\t\t\t}\n\n\t\t\t\tacf.addAction( 'acf_conditional_value_rendered', function() {\n\t\t\t\t\tacf.newSelect2( $newSelect, choices.data( 'acfSelect2Props' ) );\n\t\t\t\t});\n\t\t\t} else if ( choices instanceof Array ) {\n\t\t\t\tthis.$conditionalValueSelect().removeClass( 'select2-hidden-accessible' );\n\t\t\t\t$newSelect = $( '' );\n\t\t\t\tacf.renderSelect( $newSelect, choices );\n\t\t\t} else {\n\t\t\t\tthis.$conditionalValueSelect().removeClass( 'select2-hidden-accessible' );\n\t\t\t\t$newSelect = $( choices );\n\t\t\t}\n\n\t\t\t// append\n\t\t\t$select.detach();\n\t\t\t$td.html( $newSelect );\n\n\t\t\t// timeout needed to avoid browser bug where \"disabled\" attribute is not applied\n\t\t\tsetTimeout( function () {\n\t\t\t\t[ 'class', 'name', 'id' ].map( function ( attr ) {\n\t\t\t\t\t$newSelect.attr( attr, $select.attr( attr ) );\n\t\t\t\t} );\n\t\t\t\t$select.val( savedValue );\n\t\t\t\tacf.doAction( 'acf_conditional_value_rendered' );\n\t\t\t}, 0 );\n\t\t\t// select existing value (if not a disabled input)\n\t\t\tif ( ! $newSelect.prop( 'disabled' ) ) {\n\t\t\t\tacf.val( $newSelect, currentVal, true );\n\t\t\t}\n\n\t\t\t// set\n\t\t\tthis.ruleData( 'value', $newSelect.val() );\n\t\t},\n\n\t\tonChangeToggle: function () {\n\t\t\tthis.render();\n\t\t},\n\n\t\tonClickAddGroup: function ( e, $el ) {\n\t\t\tthis.addGroup();\n\t\t},\n\n\t\taddGroup: function () {\n\t\t\t// vars\n\t\t\tvar $group = this.$( '.rule-group:last' );\n\n\t\t\t// duplicate\n\t\t\tvar $group2 = acf.duplicate( $group );\n\n\t\t\t// update h4\n\t\t\t$group2.find( 'h4' ).text( acf.__( 'or' ) );\n\n\t\t\t// remove all tr's except the first one\n\t\t\t$group2.find( 'tr' ).not( ':first' ).remove();\n\n\t\t\t// Find the remaining tr and render\n\t\t\tvar $tr = $group2.find( 'tr' );\n\t\t\tthis.renderRule( $tr );\n\n\t\t\t// save field\n\t\t\tthis.fieldObject.save();\n\t\t},\n\n\t\tonFocusField: function ( e, $el ) {\n\t\t\tthis.renderField();\n\t\t},\n\n\t\tonChangeField: function ( e, $el ) {\n\t\t\t// scope\n\t\t\tthis.scope( $el.closest( '.rule' ) );\n\n\t\t\t// set data\n\t\t\tthis.ruleData( 'field', $el.val() );\n\n\t\t\t// render\n\t\t\tthis.renderOperator();\n\t\t\tthis.renderValue();\n\t\t},\n\n\t\tonChangeOperator: function ( e, $el ) {\n\t\t\t// scope\n\t\t\tthis.scope( $el.closest( '.rule' ) );\n\n\t\t\t// set data\n\t\t\tthis.ruleData( 'operator', $el.val() );\n\n\t\t\t// render\n\t\t\tthis.renderValue();\n\t\t},\n\n\t\tonClickAdd: function ( e, $el ) {\n\t\t\t// duplciate\n\t\t\tvar $rule = acf.duplicate( $el.closest( '.rule' ) );\n\n\t\t\t// render\n\t\t\tthis.renderRule( $rule );\n\t\t},\n\n\t\tonClickRemove: function ( e, $el ) {\n\t\t\t// vars\n\t\t\tvar $rule = $el.closest( '.rule' );\n\n\t\t\t// save field\n\t\t\tthis.fieldObject.save();\n\n\t\t\t// remove group\n\t\t\tif ( $rule.siblings( '.rule' ).length == 0 ) {\n\t\t\t\t$rule.closest( '.rule-group' ).remove();\n\t\t\t}\n\n\t\t\t// remove\n\t\t\t$rule.remove();\n\t\t},\n\t} );\n\n\tacf.registerFieldSetting( ConditionalLogicFieldSetting );\n\n\t/**\n\t * conditionalLogicHelper\n\t *\n\t * description\n\t *\n\t * @date\t20/4/18\n\t * @since\t5.6.9\n\t *\n\t * @param\ttype $var Description. Default.\n\t * @return\ttype Description.\n\t */\n\n\tvar conditionalLogicHelper = new acf.Model( {\n\t\tactions: {\n\t\t\tduplicate_field_objects: 'onDuplicateFieldObjects',\n\t\t},\n\n\t\tonDuplicateFieldObjects: function ( children, newField, prevField ) {\n\t\t\t// vars\n\t\t\tvar data = {};\n\t\t\tvar $selects = $();\n\n\t\t\t// reference change in key\n\t\t\tchildren.map( function ( child ) {\n\t\t\t\t// store reference of changed key\n\t\t\t\tdata[ child.get( 'prevKey' ) ] = child.get( 'key' );\n\n\t\t\t\t// append condition select\n\t\t\t\t$selects = $selects.add( child.$( '.condition-rule-field' ) );\n\t\t\t} );\n\n\t\t\t// loop\n\t\t\t$selects.each( function () {\n\t\t\t\t// vars\n\t\t\t\tvar $select = $( this );\n\t\t\t\tvar val = $select.val();\n\n\t\t\t\t// bail early if val is not a ref key\n\t\t\t\tif ( ! val || ! data[ val ] ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\t// modify selected option\n\t\t\t\t$select.find( 'option:selected' ).attr( 'value', data[ val ] );\n\n\t\t\t\t// set new val\n\t\t\t\t$select.val( data[ val ] );\n\t\t\t} );\n\t\t},\n\t} );\n} )( jQuery );\n","( function ( $, undefined ) {\n\tacf.FieldObject = acf.Model.extend( {\n\t\t// class used to avoid nested event triggers\n\t\teventScope: '.acf-field-object',\n\n\t\t// variable for field type select2\n\t\tfieldTypeSelect2: false,\n\n\t\t// events\n\t\tevents: {\n\t\t\t'click .copyable': 'onClickCopy',\n\t\t\t'click .handle': 'onClickEdit',\n\t\t\t'click .close-field': 'onClickEdit',\n\t\t\t'click a[data-key=\"acf_field_settings_tabs\"]':\n\t\t\t\t'onChangeSettingsTab',\n\t\t\t'click .delete-field': 'onClickDelete',\n\t\t\t'click .duplicate-field': 'duplicate',\n\t\t\t'click .move-field': 'move',\n\t\t\t'click .browse-fields': 'browseFields',\n\n\t\t\t'focus .edit-field': 'onFocusEdit',\n\t\t\t'blur .edit-field, .row-options a': 'onBlurEdit',\n\n\t\t\t'change .field-type': 'onChangeType',\n\t\t\t'change .field-required': 'onChangeRequired',\n\t\t\t'blur .field-label': 'onChangeLabel',\n\t\t\t'blur .field-name': 'onChangeName',\n\n\t\t\tchange: 'onChange',\n\t\t\tchanged: 'onChanged',\n\t\t},\n\n\t\t// data\n\t\tdata: {\n\t\t\t// Similar to ID, but used for HTML puposes.\n\t\t\t// It is possbile for a new field to have an ID of 0, but an id of 'field_123' */\n\t\t\tid: 0,\n\n\t\t\t// The field key ('field_123')\n\t\t\tkey: '',\n\n\t\t\t// The field type (text, image, etc)\n\t\t\ttype: '',\n\n\t\t\t// The $post->ID of this field\n\t\t\t//ID: 0,\n\n\t\t\t// The field's parent\n\t\t\t//parent: 0,\n\n\t\t\t// The menu order\n\t\t\t//menu_order: 0\n\t\t},\n\n\t\tsetup: function ( $field ) {\n\t\t\t// set $el\n\t\t\tthis.$el = $field;\n\n\t\t\t// inherit $field data (id, key, type)\n\t\t\tthis.inherit( $field );\n\n\t\t\t// load additional props\n\t\t\t// - this won't trigger 'changed'\n\t\t\tthis.prop( 'ID' );\n\t\t\tthis.prop( 'parent' );\n\t\t\tthis.prop( 'menu_order' );\n\t\t},\n\n\t\t$input: function ( name ) {\n\t\t\treturn $( '#' + this.getInputId() + '-' + name );\n\t\t},\n\n\t\t$meta: function () {\n\t\t\treturn this.$( '.meta:first' );\n\t\t},\n\n\t\t$handle: function () {\n\t\t\treturn this.$( '.handle:first' );\n\t\t},\n\n\t\t$settings: function () {\n\t\t\treturn this.$( '.settings:first' );\n\t\t},\n\n\t\t$setting: function ( name ) {\n\t\t\treturn this.$(\n\t\t\t\t'.acf-field-settings:first .acf-field-setting-' + name\n\t\t\t);\n\t\t},\n\n\t\t$fieldTypeSelect: function () {\n\t\t\treturn this.$( '.field-type' );\n\t\t},\n\n\t\t$fieldLabel: function () {\n\t\t\treturn this.$( '.field-label' );\n\t\t},\n\n\t\tgetParent: function () {\n\t\t\treturn acf.getFieldObjects( { child: this.$el, limit: 1 } ).pop();\n\t\t},\n\n\t\tgetParents: function () {\n\t\t\treturn acf.getFieldObjects( { child: this.$el } );\n\t\t},\n\n\t\tgetFields: function () {\n\t\t\treturn acf.getFieldObjects( { parent: this.$el } );\n\t\t},\n\n\t\tgetInputName: function () {\n\t\t\treturn 'acf_fields[' + this.get( 'id' ) + ']';\n\t\t},\n\n\t\tgetInputId: function () {\n\t\t\treturn 'acf_fields-' + this.get( 'id' );\n\t\t},\n\n\t\tnewInput: function ( name, value ) {\n\t\t\t// vars\n\t\t\tvar inputId = this.getInputId();\n\t\t\tvar inputName = this.getInputName();\n\n\t\t\t// append name\n\t\t\tif ( name ) {\n\t\t\t\tinputId += '-' + name;\n\t\t\t\tinputName += '[' + name + ']';\n\t\t\t}\n\n\t\t\t// create input (avoid HTML + JSON value issues)\n\t\t\tvar $input = $( '' ).attr( {\n\t\t\t\tid: inputId,\n\t\t\t\tname: inputName,\n\t\t\t\tvalue: value,\n\t\t\t} );\n\t\t\tthis.$( '> .meta' ).append( $input );\n\n\t\t\t// return\n\t\t\treturn $input;\n\t\t},\n\n\t\tgetProp: function ( name ) {\n\t\t\t// check data\n\t\t\tif ( this.has( name ) ) {\n\t\t\t\treturn this.get( name );\n\t\t\t}\n\n\t\t\t// get input value\n\t\t\tvar $input = this.$input( name );\n\t\t\tvar value = $input.length ? $input.val() : null;\n\n\t\t\t// set data silently (cache)\n\t\t\tthis.set( name, value, true );\n\n\t\t\t// return\n\t\t\treturn value;\n\t\t},\n\n\t\tsetProp: function ( name, value ) {\n\t\t\t// get input\n\t\t\tvar $input = this.$input( name );\n\t\t\tvar prevVal = $input.val();\n\n\t\t\t// create if new\n\t\t\tif ( ! $input.length ) {\n\t\t\t\t$input = this.newInput( name, value );\n\t\t\t}\n\n\t\t\t// remove\n\t\t\tif ( value === null ) {\n\t\t\t\t$input.remove();\n\n\t\t\t\t// update\n\t\t\t} else {\n\t\t\t\t$input.val( value );\n\t\t\t}\n\n\t\t\t//console.log('setProp', name, value, this);\n\n\t\t\t// set data silently (cache)\n\t\t\tif ( ! this.has( name ) ) {\n\t\t\t\t//console.log('setting silently');\n\t\t\t\tthis.set( name, value, true );\n\n\t\t\t\t// set data allowing 'change' event to fire\n\t\t\t} else {\n\t\t\t\t//console.log('setting loudly!');\n\t\t\t\tthis.set( name, value );\n\t\t\t}\n\n\t\t\t// return\n\t\t\treturn this;\n\t\t},\n\n\t\tprop: function ( name, value ) {\n\t\t\tif ( value !== undefined ) {\n\t\t\t\treturn this.setProp( name, value );\n\t\t\t} else {\n\t\t\t\treturn this.getProp( name );\n\t\t\t}\n\t\t},\n\n\t\tprops: function ( props ) {\n\t\t\tObject.keys( props ).map( function ( key ) {\n\t\t\t\tthis.setProp( key, props[ key ] );\n\t\t\t}, this );\n\t\t},\n\n\t\tgetLabel: function () {\n\t\t\t// get label with empty default\n\t\t\tvar label = this.prop( 'label' );\n\t\t\tif ( label === '' ) {\n\t\t\t\tlabel = acf.__( '(no label)' );\n\t\t\t}\n\n\t\t\t// return\n\t\t\treturn label;\n\t\t},\n\n\t\tgetName: function () {\n\t\t\treturn this.prop( 'name' );\n\t\t},\n\n\t\tgetType: function () {\n\t\t\treturn this.prop( 'type' );\n\t\t},\n\n\t\tgetTypeLabel: function () {\n\t\t\tvar type = this.prop( 'type' );\n\t\t\tvar types = acf.get( 'fieldTypes' );\n\t\t\treturn types[ type ] ? types[ type ].label : type;\n\t\t},\n\n\t\tgetKey: function () {\n\t\t\treturn this.prop( 'key' );\n\t\t},\n\n\t\tinitialize: function () {\n\t\t\tthis.checkCopyable();\n\t\t},\n\n\t\tmakeCopyable: function ( text ) {\n\t\t\tif ( ! navigator.clipboard )\n\t\t\t\treturn (\n\t\t\t\t\t'' +\n\t\t\t\t\ttext +\n\t\t\t\t\t''\n\t\t\t\t);\n\t\t\treturn '' + text + '';\n\t\t},\n\n\t\tcheckCopyable: function () {\n\t\t\tif ( ! navigator.clipboard ) {\n\t\t\t\tthis.$el.find( '.copyable' ).addClass( 'copy-unsupported' );\n\t\t\t}\n\t\t},\n\n\t\tinitializeFieldTypeSelect2: function () {\n\t\t\tif ( this.fieldTypeSelect2 ) return;\n\n\t\t\t// Support disabling via filter.\n\t\t\tif ( this.$fieldTypeSelect().hasClass( 'disable-select2' ) ) return;\n\n\t\t\t// Check for a full modern version of select2, bail loading if not found with a console warning.\n\t\t\ttry {\n\t\t\t\t$.fn.select2.amd.require( 'select2/compat/dropdownCss' );\n\t\t\t} catch ( err ) {\n\t\t\t\tconsole.warn(\n\t\t\t\t\t'ACF was not able to load the full version of select2 due to a conflicting version provided by another plugin or theme taking precedence. Select2 fields may not work as expected.'\n\t\t\t\t);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tthis.fieldTypeSelect2 = acf.newSelect2( this.$fieldTypeSelect(), {\n\t\t\t\tfield: false,\n\t\t\t\tajax: false,\n\t\t\t\tmultiple: false,\n\t\t\t\tallowNull: false,\n\t\t\t\tsuppressFilters: true,\n\t\t\t\tdropdownCssClass: 'field-type-select-results',\n\t\t\t\ttemplateResult: function ( selection ) {\n\t\t\t\t\tif (\n\t\t\t\t\t\tselection.loading ||\n\t\t\t\t\t\t( selection.element &&\n\t\t\t\t\t\t\tselection.element.nodeName === 'OPTGROUP' )\n\t\t\t\t\t) {\n\t\t\t\t\t\tvar $selection = $(\n\t\t\t\t\t\t\t''\n\t\t\t\t\t\t);\n\t\t\t\t\t\t$selection.html( acf.strEscape( selection.text ) );\n\t\t\t\t\t} else {\n\t\t\t\t\t\tvar $selection = $(\n\t\t\t\t\t\t\t'' +\n\t\t\t\t\t\t\t\tacf.strEscape( selection.text ) +\n\t\t\t\t\t\t\t\t''\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\t$selection.data( 'element', selection.element );\n\t\t\t\t\treturn $selection;\n\t\t\t\t},\n\t\t\t\ttemplateSelection: function ( selection ) {\n\t\t\t\t\tvar $selection = $(\n\t\t\t\t\t\t'' +\n\t\t\t\t\t\t\tacf.strEscape( selection.text ) +\n\t\t\t\t\t\t\t''\n\t\t\t\t\t);\n\t\t\t\t\t$selection.data( 'element', selection.element );\n\t\t\t\t\treturn $selection;\n\t\t\t\t},\n\t\t\t} );\n\n\t\t\tthis.fieldTypeSelect2.on( 'select2:open', function () {\n\t\t\t\t$(\n\t\t\t\t\t'.field-type-select-results input.select2-search__field'\n\t\t\t\t).attr( 'placeholder', acf.__( 'Type to search...' ) );\n\t\t\t} );\n\n\t\t\tthis.fieldTypeSelect2.on( 'change', function ( e ) {\n\t\t\t\t$( e.target )\n\t\t\t\t\t.parents( 'ul:first' )\n\t\t\t\t\t.find( 'button.browse-fields' )\n\t\t\t\t\t.prop( 'disabled', true );\n\t\t\t} );\n\n\t\t\t// When typing happens on the li element above the select2.\n\t\t\tthis.fieldTypeSelect2.$el\n\t\t\t\t.parent()\n\t\t\t\t.on(\n\t\t\t\t\t'keydown',\n\t\t\t\t\t'.select2-selection.select2-selection--single',\n\t\t\t\t\tthis.onKeyDownSelect\n\t\t\t\t);\n\t\t},\n\n\t\taddProFields: function () {\n\t\t\t// Don't run if we have a valid license.\n\t\t\tif ( acf.get( 'is_pro' ) && acf.get( 'isLicenseActive' ) ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Make sure we haven't appended these fields before.\n\t\t\tvar $fieldTypeSelect = this.$fieldTypeSelect();\n\t\t\tif ( $fieldTypeSelect.hasClass( 'acf-free-field-type' ) ) return;\n\n\t\t\t// Loop over each pro field type and append it to the select.\n\t\t\tconst PROFieldTypes = acf.get( 'PROFieldTypes' );\n\t\t\tif ( typeof PROFieldTypes !== 'object' ) return;\n\n\t\t\tconst $layoutGroup = $fieldTypeSelect\n\t\t\t\t.find( 'optgroup option[value=\"group\"]' )\n\t\t\t\t.parent();\n\n\t\t\tconst $contentGroup = $fieldTypeSelect\n\t\t\t\t.find( 'optgroup option[value=\"image\"]' )\n\t\t\t\t.parent();\n\n\t\t\tfor ( const [ name, field ] of Object.entries( PROFieldTypes ) ) {\n\t\t\t\tconst $useGroup =\n\t\t\t\t\tfield.category === 'content' ? $contentGroup : $layoutGroup;\n\t\t\t\tconst $existing = $useGroup.children( '[value=\"' + name + '\"]' );\n\t\t\t\tconst label = `${acf.strEscape( field.label )} (${acf.strEscape( acf.__( 'PRO Only') )})`;\n\n\t\t\t\tif ( $existing.length ) {\n\t\t\t\t\t// Already added by pro, update existing option.\n\t\t\t\t\t$existing.text( label );\n\n\t\t\t\t\t// Don't disable if already selected (prevents re-save from overriding field type).\n\t\t\t\t\tif ( $fieldTypeSelect.val() !== name ) {\n\t\t\t\t\t\t$existing.attr( 'disabled', 'disabled' );\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\t// Append new disabled option.\n\t\t\t\t\t$useGroup.append( `` );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t$fieldTypeSelect.addClass( 'acf-free-field-type' );\n\t\t},\n\n\t\trender: function () {\n\t\t\t// vars\n\t\t\tvar $handle = this.$( '.handle:first' );\n\t\t\tvar menu_order = this.prop( 'menu_order' );\n\t\t\tvar label = this.getLabel();\n\t\t\tvar name = this.prop( 'name' );\n\t\t\tvar type = this.getTypeLabel();\n\t\t\tvar key = this.prop( 'key' );\n\t\t\tvar required = this.$input( 'required' ).prop( 'checked' );\n\n\t\t\t// update menu order\n\t\t\t$handle.find( '.acf-icon' ).html( parseInt( menu_order ) + 1 );\n\n\t\t\t// update required\n\t\t\tif ( required ) {\n\t\t\t\tlabel += ' *';\n\t\t\t}\n\n\t\t\t// update label\n\t\t\t$handle.find( '.li-field-label strong a' ).html( label );\n\n\t\t\t// update name\n\t\t\t$handle.find( '.li-field-name' ).html( this.makeCopyable( acf.strSanitize( name ) ) );\n\n\t\t\t// update type\n\t\t\tconst iconName = acf.strSlugify( this.getType() );\n\t\t\t$handle.find( '.field-type-label' ).text( ' ' + type );\n\t\t\t$handle\n\t\t\t\t.find( '.field-type-icon' )\n\t\t\t\t.removeClass()\n\t\t\t\t.addClass( 'field-type-icon field-type-icon-' + iconName );\n\n\t\t\t// update key\n\t\t\t$handle.find( '.li-field-key' ).html( this.makeCopyable( key ) );\n\n\t\t\t// action for 3rd party customization\n\t\t\tacf.doAction( 'render_field_object', this );\n\t\t},\n\n\t\trefresh: function () {\n\t\t\tacf.doAction( 'refresh_field_object', this );\n\t\t},\n\n\t\tisOpen: function () {\n\t\t\treturn this.$el.hasClass( 'open' );\n\t\t},\n\n\t\tonClickCopy: function ( e ) {\n\t\t\te.stopPropagation();\n\t\t\tif ( ! navigator.clipboard || $( e.target ).is( 'input' ) ) return;\n\n\t\t\t// Find the value to copy depending on input or text elements.\n\t\t\tlet copyValue;\n\t\t\tif ( $( e.target ).hasClass( 'acf-input-wrap' ) ) {\n\t\t\t\tcopyValue = $( e.target ).find( 'input' ).first().val();\n\t\t\t} else {\n\t\t\t\tcopyValue = $( e.target ).text().trim();\n\t\t\t}\n\n\t\t\tnavigator.clipboard.writeText( copyValue ).then( () => {\n\t\t\t\t$( e.target ).closest( '.copyable' ).addClass( 'copied' );\n\t\t\t\tsetTimeout( function () {\n\t\t\t\t\t$( e.target )\n\t\t\t\t\t\t.closest( '.copyable' )\n\t\t\t\t\t\t.removeClass( 'copied' );\n\t\t\t\t}, 2000 );\n\t\t\t} );\n\t\t},\n\n\t\tonClickEdit: function ( e ) {\n\t\t\tconst $target = $( e.target );\n\n\t\t\t// Bail out if a pro field without a license.\n\t\t\tif (\n\t\t\t\tacf.get( 'is_pro') &&\n\t\t\t\t! acf.get( 'isLicenseActive' ) &&\n\t\t\t\t! acf.get( 'isLicenseExpired' ) &&\n\t\t\t\tacf.get( 'PROFieldTypes' ).hasOwnProperty( this.getType() )\n\t\t\t) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (\n\t\t\t\t$target.parent().hasClass( 'row-options' ) &&\n\t\t\t\t! $target.hasClass( 'edit-field' )\n\t\t\t) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tthis.isOpen() ? this.close() : this.open();\n\t\t},\n\n\t\tonChangeSettingsTab: function () {\n\t\t\tconst $settings = this.$el.children( '.settings' );\n\t\t\tacf.doAction( 'show', $settings );\n\t\t},\n\n\t\t/**\n\t\t * Adds 'active' class to row options nearest to the target.\n\t\t */\n\t\tonFocusEdit: function ( e ) {\n\t\t\tvar $rowOptions = $( e.target )\n\t\t\t\t.closest( 'li' )\n\t\t\t\t.find( '.row-options' );\n\t\t\t$rowOptions.addClass( 'active' );\n\t\t},\n\n\t\t/**\n\t\t * Removes 'active' class from row options if links in same row options area are no longer in focus.\n\t\t */\n\t\tonBlurEdit: function ( e ) {\n\t\t\tvar focusDelayMilliseconds = 50;\n\t\t\tvar $rowOptionsBlurElement = $( e.target )\n\t\t\t\t.closest( 'li' )\n\t\t\t\t.find( '.row-options' );\n\n\t\t\t// Timeout so that `activeElement` gives the new element in focus instead of the body.\n\t\t\tsetTimeout( function () {\n\t\t\t\tvar $rowOptionsFocusElement = $( document.activeElement )\n\t\t\t\t\t.closest( 'li' )\n\t\t\t\t\t.find( '.row-options' );\n\t\t\t\tif ( ! $rowOptionsBlurElement.is( $rowOptionsFocusElement ) ) {\n\t\t\t\t\t$rowOptionsBlurElement.removeClass( 'active' );\n\t\t\t\t}\n\t\t\t}, focusDelayMilliseconds );\n\t\t},\n\n\t\topen: function () {\n\t\t\t// vars\n\t\t\tvar $settings = this.$el.children( '.settings' );\n\n\t\t\t// initialise field type select\n\t\t\tthis.addProFields();\n\t\t\tthis.initializeFieldTypeSelect2();\n\n\t\t\t// action (open)\n\t\t\tacf.doAction( 'open_field_object', this );\n\t\t\tthis.trigger( 'openFieldObject' );\n\n\t\t\t// action (show)\n\t\t\tacf.doAction( 'show', $settings );\n\n\t\t\tthis.hideEmptyTabs();\n\n\t\t\t// open\n\t\t\t$settings.slideDown();\n\t\t\tthis.$el.addClass( 'open' );\n\t\t},\n\n\t\tonKeyDownSelect: function ( e ) {\n\t\t\t// Omit events from special keys.\n\t\t\tif (\n\t\t\t\t! (\n\t\t\t\t\t( e.which >= 186 && e.which <= 222 ) || // punctuation and special characters\n\t\t\t\t\t[\n\t\t\t\t\t\t8, 9, 13, 16, 17, 18, 19, 20, 27, 32, 33, 34, 35, 36,\n\t\t\t\t\t\t37, 38, 39, 40, 45, 46, 91, 92, 93, 144, 145,\n\t\t\t\t\t].includes( e.which ) || // Special keys\n\t\t\t\t\t( e.which >= 112 && e.which <= 123 )\n\t\t\t\t)\n\t\t\t) {\n\t\t\t\t// Function keys\n\t\t\t\t$( this )\n\t\t\t\t\t.closest( '.select2-container' )\n\t\t\t\t\t.siblings( 'select:enabled' )\n\t\t\t\t\t.select2( 'open' );\n\t\t\t\treturn;\n\t\t\t}\n\t\t},\n\n\t\tclose: function () {\n\t\t\t// vars\n\t\t\tvar $settings = this.$el.children( '.settings' );\n\n\t\t\t// close\n\t\t\t$settings.slideUp();\n\t\t\tthis.$el.removeClass( 'open' );\n\n\t\t\t// action (close)\n\t\t\tacf.doAction( 'close_field_object', this );\n\t\t\tthis.trigger( 'closeFieldObject' );\n\n\t\t\t// action (hide)\n\t\t\tacf.doAction( 'hide', $settings );\n\t\t},\n\n\t\tserialize: function () {\n\t\t\treturn acf.serialize( this.$el, this.getInputName() );\n\t\t},\n\n\t\tsave: function ( type ) {\n\t\t\t// defaults\n\t\t\ttype = type || 'settings'; // meta, settings\n\n\t\t\t// vars\n\t\t\tvar save = this.getProp( 'save' );\n\n\t\t\t// bail if already saving settings\n\t\t\tif ( save === 'settings' ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// prop\n\t\t\tthis.setProp( 'save', type );\n\n\t\t\t// debug\n\t\t\tthis.$el.attr( 'data-save', type );\n\n\t\t\t// action\n\t\t\tacf.doAction( 'save_field_object', this, type );\n\t\t},\n\n\t\tsubmit: function () {\n\t\t\t// vars\n\t\t\tvar inputName = this.getInputName();\n\t\t\tvar save = this.get( 'save' );\n\n\t\t\t// close\n\t\t\tif ( this.isOpen() ) {\n\t\t\t\tthis.close();\n\t\t\t}\n\n\t\t\t// allow all inputs to save\n\t\t\tif ( save == 'settings' ) {\n\t\t\t\t// do nothing\n\t\t\t\t// allow only meta inputs to save\n\t\t\t} else if ( save == 'meta' ) {\n\t\t\t\tthis.$( '> .settings [name^=\"' + inputName + '\"]' ).remove();\n\n\t\t\t\t// prevent all inputs from saving\n\t\t\t} else {\n\t\t\t\tthis.$( '[name^=\"' + inputName + '\"]' ).remove();\n\t\t\t}\n\n\t\t\t// action\n\t\t\tacf.doAction( 'submit_field_object', this );\n\t\t},\n\n\t\tonChange: function ( e, $el ) {\n\t\t\t// save settings\n\t\t\tthis.save();\n\n\t\t\t// action for 3rd party customization\n\t\t\tacf.doAction( 'change_field_object', this );\n\t\t},\n\n\t\tonChanged: function ( e, $el, name, value ) {\n\t\t\tif ( this.getType() === $el.attr( 'data-type' ) ) {\n\t\t\t\t$( 'button.acf-btn.browse-fields' ).prop( 'disabled', false );\n\t\t\t}\n\n\t\t\t// ignore 'save'\n\t\t\tif ( name == 'save' ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// save meta\n\t\t\tif ( [ 'menu_order', 'parent' ].indexOf( name ) > -1 ) {\n\t\t\t\tthis.save( 'meta' );\n\n\t\t\t\t// save field\n\t\t\t} else {\n\t\t\t\tthis.save();\n\t\t\t}\n\n\t\t\t// render\n\t\t\tif (\n\t\t\t\t[\n\t\t\t\t\t'menu_order',\n\t\t\t\t\t'label',\n\t\t\t\t\t'required',\n\t\t\t\t\t'name',\n\t\t\t\t\t'type',\n\t\t\t\t\t'key',\n\t\t\t\t].indexOf( name ) > -1\n\t\t\t) {\n\t\t\t\tthis.render();\n\t\t\t}\n\n\t\t\t// action for 3rd party customization\n\t\t\tacf.doAction( 'change_field_object_' + name, this, value );\n\t\t},\n\n\t\tonChangeLabel: function ( e, $el ) {\n\t\t\t// set\n\t\t\tvar label = $el.val();\n\t\t\tthis.set( 'label', label );\n\n\t\t\t// render name\n\t\t\tif ( this.prop( 'name' ) == '' ) {\n\t\t\t\tvar name = acf.applyFilters(\n\t\t\t\t\t'generate_field_object_name',\n\t\t\t\t\tacf.strSanitize( label ),\n\t\t\t\t\tthis\n\t\t\t\t);\n\t\t\t\tthis.prop( 'name', name );\n\t\t\t}\n\t\t},\n\n\t\tonChangeName: function ( e, $el ) {\n\t\t\tconst sanitizedName = acf.strSanitize( $el.val(), false );\n\n\t\t\t$el.val( sanitizedName );\n\t\t\tthis.set( 'name', sanitizedName );\n\n\t\t\tif ( sanitizedName.startsWith( 'field_' ) ) {\n\t\t\t\talert(\n\t\t\t\t\tacf.__(\n\t\t\t\t\t\t'The string \"field_\" may not be used at the start of a field name'\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t\t}\n\t\t},\n\n\t\tonChangeRequired: function ( e, $el ) {\n\t\t\t// set\n\t\t\tvar required = $el.prop( 'checked' ) ? 1 : 0;\n\t\t\tthis.set( 'required', required );\n\t\t},\n\n\t\tdelete: function ( args ) {\n\t\t\t// defaults\n\t\t\targs = acf.parseArgs( args, {\n\t\t\t\tanimate: true,\n\t\t\t} );\n\n\t\t\t// add to remove list\n\t\t\tvar id = this.prop( 'ID' );\n\n\t\t\tif ( id ) {\n\t\t\t\tvar $input = $( '#_acf_delete_fields' );\n\t\t\t\tvar newVal = $input.val() + '|' + id;\n\t\t\t\t$input.val( newVal );\n\t\t\t}\n\n\t\t\t// action\n\t\t\tacf.doAction( 'delete_field_object', this );\n\n\t\t\t// animate\n\t\t\tif ( args.animate ) {\n\t\t\t\tthis.removeAnimate();\n\t\t\t} else {\n\t\t\t\tthis.remove();\n\t\t\t}\n\t\t},\n\n\t\tonClickDelete: function ( e, $el ) {\n\t\t\t// Bypass confirmation when holding down \"shift\" key.\n\t\t\tif ( e.shiftKey ) {\n\t\t\t\treturn this.delete();\n\t\t\t}\n\n\t\t\t// add class\n\t\t\tthis.$el.addClass( '-hover' );\n\n\t\t\t// add tooltip\n\t\t\tvar tooltip = acf.newTooltip( {\n\t\t\t\tconfirmRemove: true,\n\t\t\t\ttarget: $el,\n\t\t\t\tcontext: this,\n\t\t\t\tconfirm: function () {\n\t\t\t\t\tthis.delete();\n\t\t\t\t},\n\t\t\t\tcancel: function () {\n\t\t\t\t\tthis.$el.removeClass( '-hover' );\n\t\t\t\t},\n\t\t\t} );\n\t\t},\n\n\t\tremoveAnimate: function () {\n\t\t\t// vars\n\t\t\tvar field = this;\n\t\t\tvar $list = this.$el.parent();\n\t\t\tvar $fields = acf.findFieldObjects( {\n\t\t\t\tsibling: this.$el,\n\t\t\t} );\n\n\t\t\t// remove\n\t\t\tacf.remove( {\n\t\t\t\ttarget: this.$el,\n\t\t\t\tendHeight: $fields.length ? 0 : 50,\n\t\t\t\tcomplete: function () {\n\t\t\t\t\tfield.remove();\n\t\t\t\t\tacf.doAction( 'removed_field_object', field, $list );\n\t\t\t\t},\n\t\t\t} );\n\n\t\t\t// action\n\t\t\tacf.doAction( 'remove_field_object', field, $list );\n\t\t},\n\n\t\tduplicate: function () {\n\t\t\t// vars\n\t\t\tvar newKey = acf.uniqid( 'field_' );\n\n\t\t\t// duplicate\n\t\t\tvar $newField = acf.duplicate( {\n\t\t\t\ttarget: this.$el,\n\t\t\t\tsearch: this.get( 'id' ),\n\t\t\t\treplace: newKey,\n\t\t\t} );\n\n\t\t\t// set new key\n\t\t\t$newField.attr( 'data-key', newKey );\n\n\t\t\t// get instance\n\t\t\tvar newField = acf.getFieldObject( $newField );\n\n\t\t\t// update newField label / name\n\t\t\tvar label = newField.prop( 'label' );\n\t\t\tvar name = newField.prop( 'name' );\n\t\t\tvar end = name.split( '_' ).pop();\n\t\t\tvar copy = acf.__( 'copy' );\n\n\t\t\t// increase suffix \"1\"\n\t\t\tif ( acf.isNumeric( end ) ) {\n\t\t\t\tvar i = end * 1 + 1;\n\t\t\t\tlabel = label.replace( end, i );\n\t\t\t\tname = name.replace( end, i );\n\n\t\t\t\t// increase suffix \"(copy1)\"\n\t\t\t} else if ( end.indexOf( copy ) === 0 ) {\n\t\t\t\tvar i = end.replace( copy, '' ) * 1;\n\t\t\t\ti = i ? i + 1 : 2;\n\n\t\t\t\t// replace\n\t\t\t\tlabel = label.replace( end, copy + i );\n\t\t\t\tname = name.replace( end, copy + i );\n\n\t\t\t\t// add default \"(copy)\"\n\t\t\t} else {\n\t\t\t\tlabel += ' (' + copy + ')';\n\t\t\t\tname += '_' + copy;\n\t\t\t}\n\n\t\t\tnewField.prop( 'ID', 0 );\n\t\t\tnewField.prop( 'label', label );\n\t\t\tnewField.prop( 'name', name );\n\t\t\tnewField.prop( 'key', newKey );\n\n\t\t\t// close the current field if it's open.\n\t\t\tif ( this.isOpen() ) {\n\t\t\t\tthis.close();\n\t\t\t}\n\n\t\t\t// open the new field and initialise correctly.\n\t\t\tnewField.open();\n\n\t\t\t// focus label\n\t\t\tvar $label = newField.$setting( 'label input' );\n\t\t\tsetTimeout( function () {\n\t\t\t\t$label.trigger( 'focus' );\n\t\t\t}, 251 );\n\n\t\t\t// action\n\t\t\tacf.doAction( 'duplicate_field_object', this, newField );\n\t\t\tacf.doAction( 'append_field_object', newField );\n\t\t},\n\n\t\twipe: function () {\n\t\t\t// vars\n\t\t\tvar prevId = this.get( 'id' );\n\t\t\tvar prevKey = this.get( 'key' );\n\t\t\tvar newKey = acf.uniqid( 'field_' );\n\n\t\t\t// rename\n\t\t\tacf.rename( {\n\t\t\t\ttarget: this.$el,\n\t\t\t\tsearch: prevId,\n\t\t\t\treplace: newKey,\n\t\t\t} );\n\n\t\t\t// data\n\t\t\tthis.set( 'id', newKey );\n\t\t\tthis.set( 'prevId', prevId );\n\t\t\tthis.set( 'prevKey', prevKey );\n\n\t\t\t// props\n\t\t\tthis.prop( 'key', newKey );\n\t\t\tthis.prop( 'ID', 0 );\n\n\t\t\t// attr\n\t\t\tthis.$el.attr( 'data-key', newKey );\n\t\t\tthis.$el.attr( 'data-id', newKey );\n\n\t\t\t// action\n\t\t\tacf.doAction( 'wipe_field_object', this );\n\t\t},\n\n\t\tmove: function () {\n\t\t\t// helper\n\t\t\tvar hasChanged = function ( field ) {\n\t\t\t\treturn field.get( 'save' ) == 'settings';\n\t\t\t};\n\n\t\t\t// vars\n\t\t\tvar changed = hasChanged( this );\n\n\t\t\t// has sub fields changed\n\t\t\tif ( ! changed ) {\n\t\t\t\tacf.getFieldObjects( {\n\t\t\t\t\tparent: this.$el,\n\t\t\t\t} ).map( function ( field ) {\n\t\t\t\t\tchanged = hasChanged( field ) || field.changed;\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\t// bail early if changed\n\t\t\tif ( changed ) {\n\t\t\t\talert(\n\t\t\t\t\tacf.__(\n\t\t\t\t\t\t'This field cannot be moved until its changes have been saved'\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// step 1.\n\t\t\tvar id = this.prop( 'ID' );\n\t\t\tvar field = this;\n\t\t\tvar popup = false;\n\t\t\tvar step1 = function () {\n\t\t\t\t// popup\n\t\t\t\tpopup = acf.newPopup( {\n\t\t\t\t\ttitle: acf.__( 'Move Custom Field' ),\n\t\t\t\t\tloading: true,\n\t\t\t\t\twidth: '300px',\n\t\t\t\t\topenedBy: field.$el.find( '.move-field' ),\n\t\t\t\t} );\n\n\t\t\t\t// ajax\n\t\t\t\tvar ajaxData = {\n\t\t\t\t\taction: 'acf/field_group/move_field',\n\t\t\t\t\tfield_id: id,\n\t\t\t\t};\n\n\t\t\t\t// get HTML\n\t\t\t\t$.ajax( {\n\t\t\t\t\turl: acf.get( 'ajaxurl' ),\n\t\t\t\t\tdata: acf.prepareForAjax( ajaxData ),\n\t\t\t\t\ttype: 'post',\n\t\t\t\t\tdataType: 'html',\n\t\t\t\t\tsuccess: step2,\n\t\t\t\t} );\n\t\t\t};\n\n\t\t\tvar step2 = function ( html ) {\n\t\t\t\t// update popup\n\t\t\t\tpopup.loading( false );\n\t\t\t\tpopup.content( html );\n\n\t\t\t\t// submit form\n\t\t\t\tpopup.on( 'submit', 'form', step3 );\n\t\t\t};\n\n\t\t\tvar step3 = function ( e, $el ) {\n\t\t\t\t// prevent\n\t\t\t\te.preventDefault();\n\n\t\t\t\t// disable\n\t\t\t\tacf.startButtonLoading( popup.$( '.button' ) );\n\n\t\t\t\t// ajax\n\t\t\t\tvar ajaxData = {\n\t\t\t\t\taction: 'acf/field_group/move_field',\n\t\t\t\t\tfield_id: id,\n\t\t\t\t\tfield_group_id: popup.$( 'select' ).val(),\n\t\t\t\t};\n\n\t\t\t\t// get HTML\n\t\t\t\t$.ajax( {\n\t\t\t\t\turl: acf.get( 'ajaxurl' ),\n\t\t\t\t\tdata: acf.prepareForAjax( ajaxData ),\n\t\t\t\t\ttype: 'post',\n\t\t\t\t\tdataType: 'html',\n\t\t\t\t\tsuccess: step4,\n\t\t\t\t} );\n\t\t\t};\n\n\t\t\tvar step4 = function ( html ) {\n\t\t\t\tpopup.content( html );\n\n\t\t\t\tif ( wp.a11y && wp.a11y.speak && acf.__ ) {\n\t\t\t\t\twp.a11y.speak(\n\t\t\t\t\t\tacf.__( 'Field moved to other group' ),\n\t\t\t\t\t\t'polite'\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\tpopup.$( '.acf-close-popup' ).focus();\n\n\t\t\t\tfield.removeAnimate();\n\t\t\t};\n\n\t\t\t// start\n\t\t\tstep1();\n\t\t},\n\n\t\tbrowseFields: function ( e, $el ) {\n\t\t\te.preventDefault();\n\n\t\t\tconst modal = acf.newBrowseFieldsModal( {\n\t\t\t\topenedBy: this,\n\t\t\t} );\n\t\t},\n\n\t\tonChangeType: function ( e, $el ) {\n\t\t\t// clea previous timout\n\t\t\tif ( this.changeTimeout ) {\n\t\t\t\tclearTimeout( this.changeTimeout );\n\t\t\t}\n\n\t\t\t// set new timeout\n\t\t\t// - prevents changing type multiple times whilst user types in newType\n\t\t\tthis.changeTimeout = this.setTimeout( function () {\n\t\t\t\tthis.changeType( $el.val() );\n\t\t\t}, 300 );\n\t\t},\n\n\t\tchangeType: function ( newType ) {\n\t\t\tvar prevType = this.prop( 'type' );\n\t\t\tvar prevClass = acf.strSlugify( 'acf-field-object-' + prevType );\n\t\t\tvar newClass = acf.strSlugify( 'acf-field-object-' + newType );\n\n\t\t\t// Update props.\n\t\t\tthis.$el.removeClass( prevClass ).addClass( newClass );\n\t\t\tthis.$el.attr( 'data-type', newType );\n\t\t\tthis.$el.data( 'type', newType );\n\n\t\t\t// Abort XHR if this field is already loading AJAX data.\n\t\t\tif ( this.has( 'xhr' ) ) {\n\t\t\t\tthis.get( 'xhr' ).abort();\n\t\t\t}\n\n\t\t\t// Store old settings so they can be reused later.\n\t\t\tconst $oldSettings = {};\n\n\t\t\tthis.$el\n\t\t\t\t.find(\n\t\t\t\t\t'.acf-field-settings:first > .acf-field-settings-main > .acf-field-type-settings'\n\t\t\t\t)\n\t\t\t\t.each( function () {\n\t\t\t\t\tlet tab = $( this ).data( 'parent-tab' );\n\t\t\t\t\tlet $tabSettings = $( this ).children().removeData();\n\n\t\t\t\t\t$oldSettings[ tab ] = $tabSettings;\n\n\t\t\t\t\t$tabSettings.detach();\n\t\t\t\t} );\n\n\t\t\tthis.set( 'settings-' + prevType, $oldSettings );\n\n\t\t\t// Show the settings if we already have them cached.\n\t\t\tif ( this.has( 'settings-' + newType ) ) {\n\t\t\t\tlet $newSettings = this.get( 'settings-' + newType );\n\n\t\t\t\tthis.showFieldTypeSettings( $newSettings );\n\t\t\t\tthis.set( 'type', newType );\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Add loading spinner.\n\t\t\tconst $loading = $(\n\t\t\t\t'
    '\n\t\t\t);\n\t\t\tthis.$el\n\t\t\t\t.find(\n\t\t\t\t\t'.acf-field-settings-main-general .acf-field-type-settings'\n\t\t\t\t)\n\t\t\t\t.before( $loading );\n\n\t\t\tconst ajaxData = {\n\t\t\t\taction: 'acf/field_group/render_field_settings',\n\t\t\t\tfield: this.serialize(),\n\t\t\t\tprefix: this.getInputName(),\n\t\t\t};\n\n\t\t\t// Get the settings for this field type over AJAX.\n\t\t\tvar xhr = $.ajax( {\n\t\t\t\turl: acf.get( 'ajaxurl' ),\n\t\t\t\tdata: acf.prepareForAjax( ajaxData ),\n\t\t\t\ttype: 'post',\n\t\t\t\tdataType: 'json',\n\t\t\t\tcontext: this,\n\t\t\t\tsuccess: function ( response ) {\n\t\t\t\t\tif ( ! acf.isAjaxSuccess( response ) ) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tthis.showFieldTypeSettings( response.data );\n\t\t\t\t},\n\t\t\t\tcomplete: function () {\n\t\t\t\t\t// also triggered by xhr.abort();\n\t\t\t\t\t$loading.remove();\n\t\t\t\t\tthis.set( 'type', newType );\n\t\t\t\t\t//this.refresh();\n\t\t\t\t},\n\t\t\t} );\n\n\t\t\t// set\n\t\t\tthis.set( 'xhr', xhr );\n\t\t},\n\n\t\tshowFieldTypeSettings: function ( settings ) {\n\t\t\tif ( 'object' !== typeof settings ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst self = this;\n\t\t\tconst tabs = Object.keys( settings );\n\n\t\t\ttabs.forEach( ( tab ) => {\n\t\t\t\tconst $tab = self.$el.find(\n\t\t\t\t\t'.acf-field-settings-main-' +\n\t\t\t\t\t\ttab.replace( '_', '-' ) +\n\t\t\t\t\t\t' .acf-field-type-settings'\n\t\t\t\t);\n\t\t\t\tlet tabContent = '';\n\n\t\t\t\tif (\n\t\t\t\t\t[ 'object', 'string' ].includes( typeof settings[ tab ] )\n\t\t\t\t) {\n\t\t\t\t\ttabContent = settings[ tab ];\n\t\t\t\t}\n\n\t\t\t\t$tab.prepend( tabContent );\n\t\t\t\tacf.doAction( 'append', $tab );\n\t\t\t} );\n\n\t\t\tthis.hideEmptyTabs();\n\t\t},\n\n\t\tupdateParent: function () {\n\t\t\t// vars\n\t\t\tvar ID = acf.get( 'post_id' );\n\n\t\t\t// check parent\n\t\t\tvar parent = this.getParent();\n\t\t\tif ( parent ) {\n\t\t\t\tID = parseInt( parent.prop( 'ID' ) ) || parent.prop( 'key' );\n\t\t\t}\n\n\t\t\t// update\n\t\t\tthis.prop( 'parent', ID );\n\t\t},\n\n\t\thideEmptyTabs: function () {\n\t\t\tconst $settings = this.$settings();\n\t\t\tconst $tabs = $settings.find(\n\t\t\t\t'.acf-field-settings:first > .acf-field-settings-main'\n\t\t\t);\n\n\t\t\t$tabs.each( function () {\n\t\t\t\tconst $tabContent = $( this );\n\t\t\t\tconst tabName = $tabContent\n\t\t\t\t\t.find( '.acf-field-type-settings:first' )\n\t\t\t\t\t.data( 'parentTab' );\n\t\t\t\tconst $tabLink = $settings\n\t\t\t\t\t.find( '.acf-settings-type-' + tabName )\n\t\t\t\t\t.first();\n\n\t\t\t\tif ( $.trim( $tabContent.text() ) === '' ) {\n\t\t\t\t\t$tabLink.hide();\n\t\t\t\t} else if ( $tabLink.is( ':hidden' ) ) {\n\t\t\t\t\t$tabLink.show();\n\t\t\t\t}\n\t\t\t} );\n\t\t},\n\t} );\n} )( jQuery );\n","( function ( $, undefined ) {\n\t/**\n\t * acf.findFieldObject\n\t *\n\t * Returns a single fieldObject $el for a given field key\n\t *\n\t * @date\t1/2/18\n\t * @since\t5.7.0\n\t *\n\t * @param\tstring key The field key\n\t * @return\tjQuery\n\t */\n\n\tacf.findFieldObject = function ( key ) {\n\t\treturn acf.findFieldObjects( {\n\t\t\tkey: key,\n\t\t\tlimit: 1,\n\t\t} );\n\t};\n\n\t/**\n\t * acf.findFieldObjects\n\t *\n\t * Returns an array of fieldObject $el for the given args\n\t *\n\t * @date\t1/2/18\n\t * @since\t5.7.0\n\t *\n\t * @param\tobject args\n\t * @return\tjQuery\n\t */\n\n\tacf.findFieldObjects = function ( args ) {\n\t\t// vars\n\t\targs = args || {};\n\t\tvar selector = '.acf-field-object';\n\t\tvar $fields = false;\n\n\t\t// args\n\t\targs = acf.parseArgs( args, {\n\t\t\tid: '',\n\t\t\tkey: '',\n\t\t\ttype: '',\n\t\t\tlimit: false,\n\t\t\tlist: null,\n\t\t\tparent: false,\n\t\t\tsibling: false,\n\t\t\tchild: false,\n\t\t} );\n\n\t\t// id\n\t\tif ( args.id ) {\n\t\t\tselector += '[data-id=\"' + args.id + '\"]';\n\t\t}\n\n\t\t// key\n\t\tif ( args.key ) {\n\t\t\tselector += '[data-key=\"' + args.key + '\"]';\n\t\t}\n\n\t\t// type\n\t\tif ( args.type ) {\n\t\t\tselector += '[data-type=\"' + args.type + '\"]';\n\t\t}\n\n\t\t// query\n\t\tif ( args.list ) {\n\t\t\t$fields = args.list.children( selector );\n\t\t} else if ( args.parent ) {\n\t\t\t$fields = args.parent.find( selector );\n\t\t} else if ( args.sibling ) {\n\t\t\t$fields = args.sibling.siblings( selector );\n\t\t} else if ( args.child ) {\n\t\t\t$fields = args.child.parents( selector );\n\t\t} else {\n\t\t\t$fields = $( selector );\n\t\t}\n\n\t\t// limit\n\t\tif ( args.limit ) {\n\t\t\t$fields = $fields.slice( 0, args.limit );\n\t\t}\n\n\t\t// return\n\t\treturn $fields;\n\t};\n\n\t/**\n\t * acf.getFieldObject\n\t *\n\t * Returns a single fieldObject instance for a given $el|key\n\t *\n\t * @date\t1/2/18\n\t * @since\t5.7.0\n\t *\n\t * @param\tstring|jQuery $field The field $el or key\n\t * @return\tjQuery\n\t */\n\n\tacf.getFieldObject = function ( $field ) {\n\t\t// allow key\n\t\tif ( typeof $field === 'string' ) {\n\t\t\t$field = acf.findFieldObject( $field );\n\t\t}\n\n\t\t// instantiate\n\t\tvar field = $field.data( 'acf' );\n\t\tif ( ! field ) {\n\t\t\tfield = acf.newFieldObject( $field );\n\t\t}\n\n\t\t// return\n\t\treturn field;\n\t};\n\n\t/**\n\t * acf.getFieldObjects\n\t *\n\t * Returns an array of fieldObject instances for the given args\n\t *\n\t * @date\t1/2/18\n\t * @since\t5.7.0\n\t *\n\t * @param\tobject args\n\t * @return\tarray\n\t */\n\n\tacf.getFieldObjects = function ( args ) {\n\t\t// query\n\t\tvar $fields = acf.findFieldObjects( args );\n\n\t\t// loop\n\t\tvar fields = [];\n\t\t$fields.each( function () {\n\t\t\tvar field = acf.getFieldObject( $( this ) );\n\t\t\tfields.push( field );\n\t\t} );\n\n\t\t// return\n\t\treturn fields;\n\t};\n\n\t/**\n\t * acf.newFieldObject\n\t *\n\t * Initializes and returns a new FieldObject instance\n\t *\n\t * @date\t1/2/18\n\t * @since\t5.7.0\n\t *\n\t * @param\tjQuery $field The field $el\n\t * @return\tobject\n\t */\n\n\tacf.newFieldObject = function ( $field ) {\n\t\t// instantiate\n\t\tvar field = new acf.FieldObject( $field );\n\n\t\t// action\n\t\tacf.doAction( 'new_field_object', field );\n\n\t\t// return\n\t\treturn field;\n\t};\n\n\t/**\n\t * actionManager\n\t *\n\t * description\n\t *\n\t * @date\t15/12/17\n\t * @since\t5.6.5\n\t *\n\t * @param\ttype $var Description. Default.\n\t * @return\ttype Description.\n\t */\n\n\tvar eventManager = new acf.Model( {\n\t\tpriority: 5,\n\n\t\tinitialize: function () {\n\t\t\t// actions\n\t\t\tvar actions = [ 'prepare', 'ready', 'append', 'remove' ];\n\n\t\t\t// loop\n\t\t\tactions.map( function ( action ) {\n\t\t\t\tthis.addFieldActions( action );\n\t\t\t}, this );\n\t\t},\n\n\t\taddFieldActions: function ( action ) {\n\t\t\t// vars\n\t\t\tvar pluralAction = action + '_field_objects'; // ready_field_objects\n\t\t\tvar singleAction = action + '_field_object'; // ready_field_object\n\t\t\tvar singleEvent = action + 'FieldObject'; // readyFieldObject\n\n\t\t\t// global action\n\t\t\tvar callback = function ( $el /*, arg1, arg2, etc*/ ) {\n\t\t\t\t// vars\n\t\t\t\tvar fieldObjects = acf.getFieldObjects( { parent: $el } );\n\n\t\t\t\t// call plural\n\t\t\t\tif ( fieldObjects.length ) {\n\t\t\t\t\t/// get args [$el, arg1]\n\t\t\t\t\tvar args = acf.arrayArgs( arguments );\n\n\t\t\t\t\t// modify args [pluralAction, fields, arg1]\n\t\t\t\t\targs.splice( 0, 1, pluralAction, fieldObjects );\n\t\t\t\t\tacf.doAction.apply( null, args );\n\t\t\t\t}\n\t\t\t};\n\n\t\t\t// plural action\n\t\t\tvar pluralCallback = function (\n\t\t\t\tfieldObjects /*, arg1, arg2, etc*/\n\t\t\t) {\n\t\t\t\t/// get args [fields, arg1]\n\t\t\t\tvar args = acf.arrayArgs( arguments );\n\n\t\t\t\t// modify args [singleAction, fields, arg1]\n\t\t\t\targs.unshift( singleAction );\n\n\t\t\t\t// loop\n\t\t\t\tfieldObjects.map( function ( fieldObject ) {\n\t\t\t\t\t// modify args [singleAction, field, arg1]\n\t\t\t\t\targs[ 1 ] = fieldObject;\n\t\t\t\t\tacf.doAction.apply( null, args );\n\t\t\t\t} );\n\t\t\t};\n\n\t\t\t// single action\n\t\t\tvar singleCallback = function (\n\t\t\t\tfieldObject /*, arg1, arg2, etc*/\n\t\t\t) {\n\t\t\t\t/// get args [$field, arg1]\n\t\t\t\tvar args = acf.arrayArgs( arguments );\n\n\t\t\t\t// modify args [singleAction, $field, arg1]\n\t\t\t\targs.unshift( singleAction );\n\n\t\t\t\t// action variations (ready_field/type=image)\n\t\t\t\tvar variations = [ 'type', 'name', 'key' ];\n\t\t\t\tvariations.map( function ( variation ) {\n\t\t\t\t\targs[ 0 ] =\n\t\t\t\t\t\tsingleAction +\n\t\t\t\t\t\t'/' +\n\t\t\t\t\t\tvariation +\n\t\t\t\t\t\t'=' +\n\t\t\t\t\t\tfieldObject.get( variation );\n\t\t\t\t\tacf.doAction.apply( null, args );\n\t\t\t\t} );\n\n\t\t\t\t// modify args [arg1]\n\t\t\t\targs.splice( 0, 2 );\n\n\t\t\t\t// event\n\t\t\t\tfieldObject.trigger( singleEvent, args );\n\t\t\t};\n\n\t\t\t// add actions\n\t\t\tacf.addAction( action, callback, 5 );\n\t\t\tacf.addAction( pluralAction, pluralCallback, 5 );\n\t\t\tacf.addAction( singleAction, singleCallback, 5 );\n\t\t},\n\t} );\n\n\t/**\n\t * fieldManager\n\t *\n\t * description\n\t *\n\t * @date\t4/1/18\n\t * @since\t5.6.5\n\t *\n\t * @param\ttype $var Description. Default.\n\t * @return\ttype Description.\n\t */\n\n\tvar fieldManager = new acf.Model( {\n\t\tid: 'fieldManager',\n\n\t\tevents: {\n\t\t\t'submit #post': 'onSubmit',\n\t\t\t'mouseenter .acf-field-list': 'onHoverSortable',\n\t\t\t'click .add-field': 'onClickAdd',\n\t\t},\n\n\t\tactions: {\n\t\t\tremoved_field_object: 'onRemovedField',\n\t\t\tsortstop_field_object: 'onReorderField',\n\t\t\tdelete_field_object: 'onDeleteField',\n\t\t\tchange_field_object_type: 'onChangeFieldType',\n\t\t\tduplicate_field_object: 'onDuplicateField',\n\t\t},\n\n\t\tonSubmit: function ( e, $el ) {\n\t\t\t// vars\n\t\t\tvar fields = acf.getFieldObjects();\n\n\t\t\t// loop\n\t\t\tfields.map( function ( field ) {\n\t\t\t\tfield.submit();\n\t\t\t} );\n\t\t},\n\n\t\tsetFieldMenuOrder: function ( field ) {\n\t\t\tthis.renderFields( field.$el.parent() );\n\t\t},\n\n\t\tonHoverSortable: function ( e, $el ) {\n\t\t\t// bail early if already sortable\n\t\t\tif ( $el.hasClass( 'ui-sortable' ) ) return;\n\n\t\t\t// sortable\n\t\t\t$el.sortable( {\n\t\t\t\thelper: function( event, element ) {\n\t\t\t\t\t// https://core.trac.wordpress.org/ticket/16972#comment:22\n\t\t\t\t\treturn element.clone()\n\t\t\t\t\t\t.find( ':input' )\n\t\t\t\t\t\t\t.attr( 'name', function( i, currentName ) {\n\t\t\t\t\t\t\t\t\treturn 'sort_' + parseInt( Math.random() * 100000, 10 ).toString() + '_' + currentName;\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t.end();\n\t\t\t\t},\n\t\t\t\thandle: '.acf-sortable-handle',\n\t\t\t\tconnectWith: '.acf-field-list',\n\t\t\t\tstart: function ( e, ui ) {\n\t\t\t\t\tvar field = acf.getFieldObject( ui.item );\n\t\t\t\t\tui.placeholder.height( ui.item.height() );\n\t\t\t\t\tacf.doAction( 'sortstart_field_object', field, $el );\n\t\t\t\t},\n\t\t\t\tupdate: function ( e, ui ) {\n\t\t\t\t\tvar field = acf.getFieldObject( ui.item );\n\t\t\t\t\tacf.doAction( 'sortstop_field_object', field, $el );\n\t\t\t\t},\n\t\t\t} );\n\t\t},\n\n\t\tonRemovedField: function ( field, $list ) {\n\t\t\tthis.renderFields( $list );\n\t\t},\n\n\t\tonReorderField: function ( field, $list ) {\n\t\t\tfield.updateParent();\n\t\t\tthis.renderFields( $list );\n\t\t},\n\n\t\tonDeleteField: function ( field ) {\n\t\t\t// delete children\n\t\t\tfield.getFields().map( function ( child ) {\n\t\t\t\tchild.delete( { animate: false } );\n\t\t\t} );\n\t\t},\n\n\t\tonChangeFieldType: function ( field ) {\n\t\t\t// enable browse field modal button\n\t\t\tfield.$el.find( 'button.browse-fields' ).prop( 'disabled', false );\n\t\t},\n\n\t\tonDuplicateField: function ( field, newField ) {\n\t\t\t// check for children\n\t\t\tvar children = newField.getFields();\n\t\t\tif ( children.length ) {\n\t\t\t\t// loop\n\t\t\t\tchildren.map( function ( child ) {\n\t\t\t\t\t// wipe field\n\t\t\t\t\tchild.wipe();\n\n\t\t\t\t\t// if the child is open, re-fire the open method to ensure it's initialised correctly.\n\t\t\t\t\tif ( child.isOpen() ) {\n\t\t\t\t\t\tchild.open();\n\t\t\t\t\t}\n\n\t\t\t\t\t// update parent\n\t\t\t\t\tchild.updateParent();\n\t\t\t\t} );\n\n\t\t\t\t// action\n\t\t\t\tacf.doAction(\n\t\t\t\t\t'duplicate_field_objects',\n\t\t\t\t\tchildren,\n\t\t\t\t\tnewField,\n\t\t\t\t\tfield\n\t\t\t\t);\n\t\t\t}\n\n\t\t\t// set menu order\n\t\t\tthis.setFieldMenuOrder( newField );\n\t\t},\n\n\t\trenderFields: function ( $list ) {\n\t\t\t// vars\n\t\t\tvar fields = acf.getFieldObjects( {\n\t\t\t\tlist: $list,\n\t\t\t} );\n\n\t\t\t// no fields\n\t\t\tif ( ! fields.length ) {\n\t\t\t\t$list.addClass( '-empty' );\n\t\t\t\t$list\n\t\t\t\t\t.parents( '.acf-field-list-wrap' )\n\t\t\t\t\t.first()\n\t\t\t\t\t.addClass( '-empty' );\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// has fields\n\t\t\t$list.removeClass( '-empty' );\n\t\t\t$list\n\t\t\t\t.parents( '.acf-field-list-wrap' )\n\t\t\t\t.first()\n\t\t\t\t.removeClass( '-empty' );\n\n\t\t\t// prop\n\t\t\tfields.map( function ( field, i ) {\n\t\t\t\tfield.prop( 'menu_order', i );\n\t\t\t} );\n\t\t},\n\n\t\tonClickAdd: function ( e, $el ) {\n\t\t\tlet $list;\n\n\t\t\tif ( $el.hasClass( 'add-first-field' ) ) {\n\t\t\t\t$list = $el.parents( '.acf-field-list' ).eq( 0 );\n\t\t\t} else if (\n\t\t\t\t$el.parent().hasClass( 'acf-headerbar-actions' ) ||\n\t\t\t\t$el.parent().hasClass( 'no-fields-message-inner' )\n\t\t\t) {\n\t\t\t\t$list = $( '.acf-field-list:first' );\n\t\t\t} else if ( $el.parent().hasClass( 'acf-sub-field-list-header' ) ) {\n\t\t\t\t$list = $el\n\t\t\t\t\t.parents( '.acf-input:first' )\n\t\t\t\t\t.find( '.acf-field-list:first' );\n\t\t\t} else {\n\t\t\t\t$list = $el\n\t\t\t\t\t.closest( '.acf-tfoot' )\n\t\t\t\t\t.siblings( '.acf-field-list' );\n\t\t\t}\n\n\t\t\tthis.addField( $list );\n\t\t},\n\n\t\taddField: function ( $list ) {\n\t\t\t// vars\n\t\t\tvar html = $( '#tmpl-acf-field' ).html();\n\t\t\tvar $el = $( html );\n\t\t\tvar prevId = $el.data( 'id' );\n\t\t\tvar newKey = acf.uniqid( 'field_' );\n\n\t\t\t// duplicate\n\t\t\tvar $newField = acf.duplicate( {\n\t\t\t\ttarget: $el,\n\t\t\t\tsearch: prevId,\n\t\t\t\treplace: newKey,\n\t\t\t\tappend: function ( $el, $el2 ) {\n\t\t\t\t\t$list.append( $el2 );\n\t\t\t\t},\n\t\t\t} );\n\n\t\t\t// get instance\n\t\t\tvar newField = acf.getFieldObject( $newField );\n\n\t\t\t// props\n\t\t\tnewField.prop( 'key', newKey );\n\t\t\tnewField.prop( 'ID', 0 );\n\t\t\tnewField.prop( 'label', '' );\n\t\t\tnewField.prop( 'name', '' );\n\n\t\t\t// attr\n\t\t\t$newField.attr( 'data-key', newKey );\n\t\t\t$newField.attr( 'data-id', newKey );\n\n\t\t\t// update parent prop\n\t\t\tnewField.updateParent();\n\n\t\t\t// focus type\n\t\t\tvar $type = newField.$input( 'type' );\n\t\t\tsetTimeout( function () {\n\t\t\t\tif ( $list.hasClass( 'acf-auto-add-field' ) ) {\n\t\t\t\t\t$list.removeClass( 'acf-auto-add-field' );\n\t\t\t\t} else {\n\t\t\t\t\t$type.trigger( 'focus' );\n\t\t\t\t}\n\t\t\t}, 251 );\n\n\t\t\t// open\n\t\t\tnewField.open();\n\n\t\t\t// set menu order\n\t\t\tthis.renderFields( $list );\n\n\t\t\t// action\n\t\t\tacf.doAction( 'add_field_object', newField );\n\t\t\tacf.doAction( 'append_field_object', newField );\n\t\t},\n\t} );\n} )( jQuery );\n","( function ( $, undefined ) {\n\t/**\n\t * locationManager\n\t *\n\t * Field group location rules functionality\n\t *\n\t * @date\t15/12/17\n\t * @since\t5.7.0\n\t *\n\t * @param\tvoid\n\t * @return\tvoid\n\t */\n\n\tvar locationManager = new acf.Model( {\n\t\tid: 'locationManager',\n\t\twait: 'ready',\n\n\t\tevents: {\n\t\t\t'click .add-location-rule': 'onClickAddRule',\n\t\t\t'click .add-location-group': 'onClickAddGroup',\n\t\t\t'click .remove-location-rule': 'onClickRemoveRule',\n\t\t\t'change .refresh-location-rule': 'onChangeRemoveRule',\n\t\t},\n\n\t\tinitialize: function () {\n\t\t\tthis.$el = $( '#acf-field-group-options' );\n\t\t\tthis.addProLocations();\n\t\t\tthis.updateGroupsClass();\n\t\t},\n\n\t\taddProLocations: function () {\n\t\t\t// Make sure we're only running if we don't have a valid license.\n\t\t\tif ( acf.get( 'is_pro' ) && acf.get( 'isLicenseActive' ) ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Loop over each pro field type and append it to the select.\n\t\t\tconst PROLocationTypes = acf.get( 'PROLocationTypes' );\n\t\t\tif ( typeof PROLocationTypes !== 'object' ) return;\n\n\t\t\tconst $formsGroup = this.$el\n\t\t\t\t.find( 'select.refresh-location-rule' )\n\t\t\t\t.find( 'optgroup[label=\"Forms\"]' )\n\n\t\t\tconst proOnlyText = ` (${acf.__( 'PRO Only' )})`;\n\n\t\t\tfor ( const [ key, name ] of Object.entries( PROLocationTypes ) ) {\n\t\t\t\tif ( ! acf.get( 'is_pro' ) ) {\n\t\t\t\t\t$formsGroup.append(\n\t\t\t\t\t\t``\n\t\t\t\t\t);\n\t\t\t\t} else {\n\t\t\t\t\t$formsGroup\n\t\t\t\t\t\t.find( 'option[value=' + key + ']' ).not( ':selected' )\n\t\t\t\t\t\t.prop( 'disabled', 'disabled' )\n\t\t\t\t\t\t.text( `${acf.strEscape( name )}${acf.strEscape( proOnlyText )}` );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tconst $addNewOptionsPage = this.$el.find( 'select.location-rule-value option[value=add_new_options_page]' );\n\t\t\tif ( $addNewOptionsPage.length ) {\n\t\t\t\t$addNewOptionsPage.attr( 'disabled', 'disabled' );\n\t\t\t}\n\t\t},\n\n\t\tonClickAddRule: function ( e, $el ) {\n\t\t\tthis.addRule( $el.closest( 'tr' ) );\n\t\t},\n\n\t\tonClickRemoveRule: function ( e, $el ) {\n\t\t\tthis.removeRule( $el.closest( 'tr' ) );\n\t\t},\n\n\t\tonChangeRemoveRule: function ( e, $el ) {\n\t\t\tthis.changeRule( $el.closest( 'tr' ) );\n\t\t},\n\n\t\tonClickAddGroup: function ( e, $el ) {\n\t\t\tthis.addGroup();\n\t\t},\n\n\t\taddRule: function ( $tr ) {\n\t\t\tacf.duplicate( $tr );\n\t\t\tthis.updateGroupsClass();\n\t\t},\n\n\t\tremoveRule: function ( $tr ) {\n\t\t\tif ( $tr.siblings( 'tr' ).length == 0 ) {\n\t\t\t\t$tr.closest( '.rule-group' ).remove();\n\t\t\t} else {\n\t\t\t\t$tr.remove();\n\t\t\t}\n\n\t\t\t// Update h4\n\t\t\tvar $group = this.$( '.rule-group:first' );\n\t\t\t$group.find( 'h4' ).text( acf.__( 'Show this field group if' ) );\n\n\t\t\tthis.updateGroupsClass();\n\t\t},\n\n\t\tchangeRule: function ( $rule ) {\n\t\t\t// vars\n\t\t\tvar $group = $rule.closest( '.rule-group' );\n\t\t\tvar prefix = $rule\n\t\t\t\t.find( 'td.param select' )\n\t\t\t\t.attr( 'name' )\n\t\t\t\t.replace( '[param]', '' );\n\n\t\t\t// ajaxdata\n\t\t\tvar ajaxdata = {};\n\t\t\tajaxdata.action = 'acf/field_group/render_location_rule';\n\t\t\tajaxdata.rule = acf.serialize( $rule, prefix );\n\t\t\tajaxdata.rule.id = $rule.data( 'id' );\n\t\t\tajaxdata.rule.group = $group.data( 'id' );\n\n\t\t\t// temp disable\n\t\t\tacf.disable( $rule.find( 'td.value' ) );\n\n\t\t\tconst self = this;\n\n\t\t\t// ajax\n\t\t\t$.ajax( {\n\t\t\t\turl: acf.get( 'ajaxurl' ),\n\t\t\t\tdata: acf.prepareForAjax( ajaxdata ),\n\t\t\t\ttype: 'post',\n\t\t\t\tdataType: 'html',\n\t\t\t\tsuccess: function ( html ) {\n\t\t\t\t\tif ( ! html ) return;\n\t\t\t\t\t$rule.replaceWith( html );\n\t\t\t\t\tself.addProLocations();\n\t\t\t\t},\n\t\t\t} );\n\t\t},\n\n\t\taddGroup: function () {\n\t\t\t// vars\n\t\t\tvar $group = this.$( '.rule-group:last' );\n\n\t\t\t// duplicate\n\t\t\t$group2 = acf.duplicate( $group );\n\n\t\t\t// update h4\n\t\t\t$group2.find( 'h4' ).text( acf.__( 'or' ) );\n\n\t\t\t// remove all tr's except the first one\n\t\t\t$group2.find( 'tr' ).not( ':first' ).remove();\n\n\t\t\t// update the groups class\n\t\t\tthis.updateGroupsClass();\n\t\t},\n\n\t\tupdateGroupsClass: function () {\n\t\t\tvar $group = this.$( '.rule-group:last' );\n\n\t\t\tvar $ruleGroups = $group.closest( '.rule-groups' );\n\n\t\t\tvar rows_count = $ruleGroups.find( '.acf-table tr' ).length;\n\n\t\t\tif ( rows_count > 1 ) {\n\t\t\t\t$ruleGroups.addClass( 'rule-groups-multiple' );\n\t\t\t} else {\n\t\t\t\t$ruleGroups.removeClass( 'rule-groups-multiple' );\n\t\t\t}\n\t\t},\n\t} );\n} )( jQuery );\n","( function ( $, undefined ) {\n\t/**\n\t * mid\n\t *\n\t * Calculates the model ID for a field type\n\t *\n\t * @date\t15/12/17\n\t * @since\t5.6.5\n\t *\n\t * @param\tstring type\n\t * @return\tstring\n\t */\n\n\tvar modelId = function ( type ) {\n\t\treturn acf.strPascalCase( type || '' ) + 'FieldSetting';\n\t};\n\n\t/**\n\t * registerFieldType\n\t *\n\t * description\n\t *\n\t * @date\t14/12/17\n\t * @since\t5.6.5\n\t *\n\t * @param\ttype $var Description. Default.\n\t * @return\ttype Description.\n\t */\n\n\tacf.registerFieldSetting = function ( model ) {\n\t\tvar proto = model.prototype;\n\t\tvar mid = modelId( proto.type + ' ' + proto.name );\n\t\tthis.models[ mid ] = model;\n\t};\n\n\t/**\n\t * newField\n\t *\n\t * description\n\t *\n\t * @date\t14/12/17\n\t * @since\t5.6.5\n\t *\n\t * @param\ttype $var Description. Default.\n\t * @return\ttype Description.\n\t */\n\n\tacf.newFieldSetting = function ( field ) {\n\t\t// vars\n\t\tvar type = field.get( 'setting' ) || '';\n\t\tvar name = field.get( 'name' ) || '';\n\t\tvar mid = modelId( type + ' ' + name );\n\t\tvar model = acf.models[ mid ] || null;\n\n\t\t// bail early if no setting\n\t\tif ( model === null ) return false;\n\n\t\t// instantiate\n\t\tvar setting = new model( field );\n\n\t\t// return\n\t\treturn setting;\n\t};\n\n\t/**\n\t * acf.getFieldSetting\n\t *\n\t * description\n\t *\n\t * @date\t19/4/18\n\t * @since\t5.6.9\n\t *\n\t * @param\ttype $var Description. Default.\n\t * @return\ttype Description.\n\t */\n\n\tacf.getFieldSetting = function ( field ) {\n\t\t// allow jQuery\n\t\tif ( field instanceof jQuery ) {\n\t\t\tfield = acf.getField( field );\n\t\t}\n\n\t\t// return\n\t\treturn field.setting;\n\t};\n\n\t/**\n\t * settingsManager\n\t *\n\t * @since\t5.6.5\n\t *\n\t * @param\tobject The object containing the extended variables and methods.\n\t * @return\tvoid\n\t */\n\tvar settingsManager = new acf.Model( {\n\t\tactions: {\n\t\t\tnew_field: 'onNewField',\n\t\t},\n\t\tonNewField: function ( field ) {\n\t\t\tfield.setting = acf.newFieldSetting( field );\n\t\t},\n\t} );\n\n\t/**\n\t * acf.FieldSetting\n\t *\n\t * @since\t5.6.5\n\t *\n\t * @param\tobject The object containing the extended variables and methods.\n\t * @return\tvoid\n\t */\n\tacf.FieldSetting = acf.Model.extend( {\n\t\tfield: false,\n\t\ttype: '',\n\t\tname: '',\n\t\twait: 'ready',\n\t\teventScope: '.acf-field',\n\n\t\tevents: {\n\t\t\tchange: 'render',\n\t\t},\n\n\t\tsetup: function ( field ) {\n\t\t\t// vars\n\t\t\tvar $field = field.$el;\n\n\t\t\t// set props\n\t\t\tthis.$el = $field;\n\t\t\tthis.field = field;\n\t\t\tthis.$fieldObject = $field.closest( '.acf-field-object' );\n\t\t\tthis.fieldObject = acf.getFieldObject( this.$fieldObject );\n\n\t\t\t// inherit data\n\t\t\t$.extend( this.data, field.data );\n\t\t},\n\n\t\tinitialize: function () {\n\t\t\tthis.render();\n\t\t},\n\n\t\trender: function () {\n\t\t\t// do nothing\n\t\t},\n\t} );\n\n\t/**\n\t * Accordion and Tab Endpoint Settings\n\t *\n\t * The 'endpoint' setting on accordions and tabs requires an additional class on the\n\t * field object row when enabled.\n\t *\n\t * @since\t6.0.0\n\t *\n\t * @param\tobject The object containing the extended variables and methods.\n\t * @return\tvoid\n\t */\n\tvar EndpointFieldSetting = acf.FieldSetting.extend( {\n\t\ttype: '',\n\t\tname: '',\n\t\trender: function () {\n\t\t\tvar $endpoint_setting = this.fieldObject.$setting( 'endpoint' );\n\t\t\tvar $endpoint_field = $endpoint_setting.find(\n\t\t\t\t'input[type=\"checkbox\"]:first'\n\t\t\t);\n\t\t\tif ( $endpoint_field.is( ':checked' ) ) {\n\t\t\t\tthis.fieldObject.$el.addClass( 'acf-field-is-endpoint' );\n\t\t\t} else {\n\t\t\t\tthis.fieldObject.$el.removeClass( 'acf-field-is-endpoint' );\n\t\t\t}\n\t\t},\n\t} );\n\n\tvar AccordionEndpointFieldSetting = EndpointFieldSetting.extend( {\n\t\ttype: 'accordion',\n\t\tname: 'endpoint',\n\t} );\n\n\tvar TabEndpointFieldSetting = EndpointFieldSetting.extend( {\n\t\ttype: 'tab',\n\t\tname: 'endpoint',\n\t} );\n\n\tacf.registerFieldSetting( AccordionEndpointFieldSetting );\n\tacf.registerFieldSetting( TabEndpointFieldSetting );\n\n\t/**\n\t * Date Picker\n\t *\n\t * This field type requires some extra logic for its settings\n\t *\n\t * @since\t5.0.0\n\t *\n\t * @param\tobject The object containing the extended variables and methods.\n\t * @return\tvoid\n\t */\n\tvar DisplayFormatFieldSetting = acf.FieldSetting.extend( {\n\t\ttype: '',\n\t\tname: '',\n\t\trender: function () {\n\t\t\tvar $input = this.$( 'input[type=\"radio\"]:checked' );\n\t\t\tif ( $input.val() != 'other' ) {\n\t\t\t\tthis.$( 'input[type=\"text\"]' ).val( $input.val() );\n\t\t\t}\n\t\t},\n\t} );\n\n\tvar DatePickerDisplayFormatFieldSetting = DisplayFormatFieldSetting.extend(\n\t\t{\n\t\t\ttype: 'date_picker',\n\t\t\tname: 'display_format',\n\t\t}\n\t);\n\n\tvar DatePickerReturnFormatFieldSetting = DisplayFormatFieldSetting.extend( {\n\t\ttype: 'date_picker',\n\t\tname: 'return_format',\n\t} );\n\n\tacf.registerFieldSetting( DatePickerDisplayFormatFieldSetting );\n\tacf.registerFieldSetting( DatePickerReturnFormatFieldSetting );\n\n\t/**\n\t * Date Time Picker\n\t *\n\t * This field type requires some extra logic for its settings\n\t *\n\t * @since\t5.0.0\n\t *\n\t * @param\tobject The object containing the extended variables and methods.\n\t * @return\tvoid\n\t */\n\tvar DateTimePickerDisplayFormatFieldSetting =\n\t\tDisplayFormatFieldSetting.extend( {\n\t\t\ttype: 'date_time_picker',\n\t\t\tname: 'display_format',\n\t\t} );\n\n\tvar DateTimePickerReturnFormatFieldSetting =\n\t\tDisplayFormatFieldSetting.extend( {\n\t\t\ttype: 'date_time_picker',\n\t\t\tname: 'return_format',\n\t\t} );\n\n\tacf.registerFieldSetting( DateTimePickerDisplayFormatFieldSetting );\n\tacf.registerFieldSetting( DateTimePickerReturnFormatFieldSetting );\n\n\t/**\n\t * Time Picker\n\t *\n\t * This field type requires some extra logic for its settings\n\t *\n\t * @since\t5.0.0\n\t *\n\t * @param\tobject The object containing the extended variables and methods.\n\t * @return\tvoid\n\t */\n\tvar TimePickerDisplayFormatFieldSetting = DisplayFormatFieldSetting.extend(\n\t\t{\n\t\t\ttype: 'time_picker',\n\t\t\tname: 'display_format',\n\t\t}\n\t);\n\n\tvar TimePickerReturnFormatFieldSetting = DisplayFormatFieldSetting.extend( {\n\t\ttype: 'time_picker',\n\t\tname: 'return_format',\n\t} );\n\n\tacf.registerFieldSetting( TimePickerDisplayFormatFieldSetting );\n\tacf.registerFieldSetting( TimePickerReturnFormatFieldSetting );\n\n\t/**\n\t * Color Picker Settings.\n\t *\n\t * @date\t16/12/20\n\t * @since\t5.9.4\n\t *\n\t * @param\tobject The object containing the extended variables and methods.\n\t * @return\tvoid\n\t */\n\tvar ColorPickerReturnFormat = acf.FieldSetting.extend( {\n\t\ttype: 'color_picker',\n\t\tname: 'enable_opacity',\n\t\trender: function () {\n\t\t\tvar $return_format_setting =\n\t\t\t\tthis.fieldObject.$setting( 'return_format' );\n\t\t\tvar $default_value_setting =\n\t\t\t\tthis.fieldObject.$setting( 'default_value' );\n\t\t\tvar $labelText = $return_format_setting\n\t\t\t\t.find( 'input[type=\"radio\"][value=\"string\"]' )\n\t\t\t\t.parent( 'label' )\n\t\t\t\t.contents()\n\t\t\t\t.last();\n\t\t\tvar $defaultPlaceholder =\n\t\t\t\t$default_value_setting.find( 'input[type=\"text\"]' );\n\t\t\tvar l10n = acf.get( 'colorPickerL10n' );\n\n\t\t\tif ( this.field.val() ) {\n\t\t\t\t$labelText.replaceWith( l10n.rgba_string );\n\t\t\t\t$defaultPlaceholder.attr(\n\t\t\t\t\t'placeholder',\n\t\t\t\t\t'rgba(255,255,255,0.8)'\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\t$labelText.replaceWith( l10n.hex_string );\n\t\t\t\t$defaultPlaceholder.attr( 'placeholder', '#FFFFFF' );\n\t\t\t}\n\t\t},\n\t} );\n\tacf.registerFieldSetting( ColorPickerReturnFormat );\n} )( jQuery );\n","( function ( $, undefined ) {\n\t/**\n\t * fieldGroupManager\n\t *\n\t * Generic field group functionality\n\t *\n\t * @date\t15/12/17\n\t * @since\t5.7.0\n\t *\n\t * @param\tvoid\n\t * @return\tvoid\n\t */\n\n\tvar fieldGroupManager = new acf.Model( {\n\t\tid: 'fieldGroupManager',\n\n\t\tevents: {\n\t\t\t'submit #post': 'onSubmit',\n\t\t\t'click a[href=\"#\"]': 'onClick',\n\t\t\t'click .acf-delete-field-group': 'onClickDeleteFieldGroup',\n\t\t\t'blur input#title': 'validateTitle',\n\t\t\t'input input#title': 'validateTitle',\n\t\t},\n\n\t\tfilters: {\n\t\t\tfind_fields_args: 'filterFindFieldArgs',\n\t\t\tfind_fields_selector: 'filterFindFieldsSelector',\n\t\t},\n\n\t\tinitialize: function () {\n\t\t\tacf.addAction( 'prepare', this.maybeInitNewFieldGroup );\n\t\t\tacf.add_filter( 'select2_args', this.setBidirectionalSelect2Args );\n\t\t\tacf.add_filter(\n\t\t\t\t'select2_ajax_data',\n\t\t\t\tthis.setBidirectionalSelect2AjaxDataArgs\n\t\t\t);\n\t\t},\n\n\t\tsetBidirectionalSelect2Args: function (\n\t\t\targs,\n\t\t\t$select,\n\t\t\tsettings,\n\t\t\tfield,\n\t\t\tinstance\n\t\t) {\n\t\t\tif ( field?.data?.( 'key' ) !== 'bidirectional_target' ) return args;\n\n\t\t\targs.dropdownCssClass = 'field-type-select-results';\n\n\t\t\t// Check for a full modern version of select2 like the one provided by ACF.\n\t\t\ttry {\n\t\t\t\t$.fn.select2.amd.require( 'select2/compat/dropdownCss' );\n\t\t\t} catch ( err ) {\n\t\t\t\tconsole.warn(\n\t\t\t\t\t'ACF was not able to load the full version of select2 due to a conflicting version provided by another plugin or theme taking precedence. Skipping styling of bidirectional settings.'\n\t\t\t\t);\n\t\t\t\tdelete args.dropdownCssClass;\n\t\t\t}\n\n\t\t\targs.templateResult = function ( selection ) {\n\t\t\t\tif ( 'undefined' !== typeof selection.element ) {\n\t\t\t\t\treturn selection;\n\t\t\t\t}\n\n\t\t\t\tif ( selection.children ) {\n\t\t\t\t\treturn selection.text;\n\t\t\t\t}\n\n\t\t\t\tif (\n\t\t\t\t\tselection.loading ||\n\t\t\t\t\t( selection.element &&\n\t\t\t\t\t\tselection.element.nodeName === 'OPTGROUP' )\n\t\t\t\t) {\n\t\t\t\t\tvar $selection = $( '' );\n\t\t\t\t\t$selection.html( acf.escHtml( selection.text ) );\n\t\t\t\t\treturn $selection;\n\t\t\t\t}\n\n\t\t\t\tif (\n\t\t\t\t\t'undefined' === typeof selection.human_field_type ||\n\t\t\t\t\t'undefined' === typeof selection.field_type ||\n\t\t\t\t\t'undefined' === typeof selection.this_field\n\t\t\t\t) {\n\t\t\t\t\treturn selection.text;\n\t\t\t\t}\n\n\t\t\t\tvar $selection = $(\n\t\t\t\t\t'' +\n\t\t\t\t\t\tacf.escHtml( selection.text ) +\n\t\t\t\t\t\t''\n\t\t\t\t);\n\t\t\t\tif ( selection.this_field ) {\n\t\t\t\t\t$selection\n\t\t\t\t\t\t.last()\n\t\t\t\t\t\t.append(\n\t\t\t\t\t\t\t'' +\n\t\t\t\t\t\t\t\tacf.__( 'This Field' ) +\n\t\t\t\t\t\t\t\t''\n\t\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\t$selection.data( 'element', selection.element );\n\t\t\t\treturn $selection;\n\t\t\t};\n\n\t\t\treturn args;\n\t\t},\n\n\t\tsetBidirectionalSelect2AjaxDataArgs: function (\n\t\t\tdata,\n\t\t\targs,\n\t\t\t$input,\n\t\t\tfield,\n\t\t\tinstance\n\t\t) {\n\t\t\tif ( data.field_key !== 'bidirectional_target' ) return data;\n\n\t\t\tconst $fieldObject = acf.findFieldObjects( { child: field } );\n\t\t\tconst fieldObject = acf.getFieldObject( $fieldObject );\n\t\t\tdata.field_key = '_acf_bidirectional_target';\n\t\t\tdata.parent_key = fieldObject.get( 'key' );\n\t\t\tdata.field_type = fieldObject.get( 'type' );\n\n\t\t\t// This might not be needed, but I wanted to figure out how to get a field setting in the JS API when the key isn't unique.\n\t\t\tdata.post_type = acf\n\t\t\t\t.getField(\n\t\t\t\t\tacf.findFields( { parent: $fieldObject, key: 'post_type' } )\n\t\t\t\t)\n\t\t\t\t.val();\n\n\t\t\treturn data;\n\t\t},\n\n\t\tmaybeInitNewFieldGroup: function () {\n\t\t\tlet $field_list_wrapper = $(\n\t\t\t\t'#acf-field-group-fields > .inside > .acf-field-list-wrap.acf-auto-add-field'\n\t\t\t);\n\n\t\t\tif ( $field_list_wrapper.length ) {\n\t\t\t\t$( '.acf-headerbar-actions .add-field' ).trigger( 'click' );\n\t\t\t\t$( '.acf-title-wrap #title' ).trigger( 'focus' );\n\t\t\t}\n\t\t},\n\n\t\tonSubmit: function ( e, $el ) {\n\t\t\t// vars\n\t\t\tvar $title = $( '.acf-title-wrap #title' );\n\n\t\t\t// empty\n\t\t\tif ( ! $title.val() ) {\n\t\t\t\t// prevent default\n\t\t\t\te.preventDefault();\n\n\t\t\t\t// unlock form\n\t\t\t\tacf.unlockForm( $el );\n\n\t\t\t\t// focus\n\t\t\t\t$title.trigger( 'focus' );\n\t\t\t}\n\t\t},\n\n\t\tonClick: function ( e ) {\n\t\t\te.preventDefault();\n\t\t},\n\n\t\tonClickDeleteFieldGroup: function ( e, $el ) {\n\t\t\te.preventDefault();\n\t\t\t$el.addClass( '-hover' );\n\n\t\t\t// Add confirmation tooltip.\n\t\t\tacf.newTooltip( {\n\t\t\t\tconfirm: true,\n\t\t\t\ttarget: $el,\n\t\t\t\tcontext: this,\n\t\t\t\ttext: acf.__( 'Move field group to trash?' ),\n\t\t\t\tconfirm: function () {\n\t\t\t\t\twindow.location.href = $el.attr( 'href' );\n\t\t\t\t},\n\t\t\t\tcancel: function () {\n\t\t\t\t\t$el.removeClass( '-hover' );\n\t\t\t\t},\n\t\t\t} );\n\t\t},\n\n\t\tvalidateTitle: function ( e, $el ) {\n\t\t\tlet $submitButton = $( '.acf-publish' );\n\n\t\t\tif ( ! $el.val() ) {\n\t\t\t\t$el.addClass( 'acf-input-error' );\n\t\t\t\t$submitButton.addClass( 'disabled' );\n\t\t\t\t$( '.acf-publish' ).addClass( 'disabled' );\n\t\t\t} else {\n\t\t\t\t$el.removeClass( 'acf-input-error' );\n\t\t\t\t$submitButton.removeClass( 'disabled' );\n\t\t\t\t$( '.acf-publish' ).removeClass( 'disabled' );\n\t\t\t}\n\t\t},\n\n\t\tfilterFindFieldArgs: function ( args ) {\n\t\t\targs.visible = true;\n\n\t\t\tif (\n\t\t\t\targs.parent &&\n\t\t\t\t( args.parent.hasClass( 'acf-field-object' ) ||\n\t\t\t\t\targs.parent.hasClass( 'acf-browse-fields-modal-wrap' ) ||\n\t\t\t\t\targs.parent.parents( '.acf-field-object' ).length )\n\t\t\t) {\n\t\t\t\targs.visible = false;\n\t\t\t\targs.excludeSubFields = true;\n\t\t\t}\n\n\t\t\t// If the field has any open subfields, don't exclude subfields as they're already being displayed.\n\t\t\tif (\n\t\t\t\targs.parent &&\n\t\t\t\targs.parent.find( '.acf-field-object.open' ).length\n\t\t\t) {\n\t\t\t\targs.excludeSubFields = false;\n\t\t\t}\n\n\t\t\treturn args;\n\t\t},\n\n\t\tfilterFindFieldsSelector: function ( selector ) {\n\t\t\treturn selector + ', .acf-field-acf-field-group-settings-tabs';\n\t\t},\n\t} );\n\n\t/**\n\t * screenOptionsManager\n\t *\n\t * Screen options functionality\n\t *\n\t * @date\t15/12/17\n\t * @since\t5.7.0\n\t *\n\t * @param\tvoid\n\t * @return\tvoid\n\t */\n\n\tvar screenOptionsManager = new acf.Model( {\n\t\tid: 'screenOptionsManager',\n\t\twait: 'prepare',\n\n\t\tevents: {\n\t\t\t'change #acf-field-key-hide': 'onFieldKeysChange',\n\t\t\t'change #acf-field-settings-tabs': 'onFieldSettingsTabsChange',\n\t\t\t'change [name=\"screen_columns\"]': 'render',\n\t\t},\n\n\t\tinitialize: function () {\n\t\t\t// vars\n\t\t\tvar $div = $( '#adv-settings' );\n\t\t\tvar $append = $( '#acf-append-show-on-screen' );\n\n\t\t\t// append\n\t\t\t$div.find( '.metabox-prefs' ).append( $append.html() );\n\t\t\t$div.find( '.metabox-prefs br' ).remove();\n\n\t\t\t// clean up\n\t\t\t$append.remove();\n\n\t\t\t// initialize\n\t\t\tthis.$el = $( '#screen-options-wrap' );\n\n\t\t\t// render\n\t\t\tthis.render();\n\t\t},\n\n\t\tisFieldKeysChecked: function () {\n\t\t\treturn this.$el.find( '#acf-field-key-hide' ).prop( 'checked' );\n\t\t},\n\n\t\tisFieldSettingsTabsChecked: function () {\n\t\t\tconst $input = this.$el.find( '#acf-field-settings-tabs' );\n\n\t\t\t// Screen option is hidden by filter.\n\t\t\tif ( ! $input.length ) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\treturn $input.prop( 'checked' );\n\t\t},\n\n\t\tgetSelectedColumnCount: function () {\n\t\t\treturn this.$el\n\t\t\t\t.find( 'input[name=\"screen_columns\"]:checked' )\n\t\t\t\t.val();\n\t\t},\n\n\t\tonFieldKeysChange: function ( e, $el ) {\n\t\t\tvar val = this.isFieldKeysChecked() ? 1 : 0;\n\t\t\tacf.updateUserSetting( 'show_field_keys', val );\n\t\t\tthis.render();\n\t\t},\n\n\t\tonFieldSettingsTabsChange: function () {\n\t\t\tconst val = this.isFieldSettingsTabsChecked() ? 1 : 0;\n\t\t\tacf.updateUserSetting( 'show_field_settings_tabs', val );\n\t\t\tthis.render();\n\t\t},\n\n\t\trender: function () {\n\t\t\tif ( this.isFieldKeysChecked() ) {\n\t\t\t\t$( '#acf-field-group-fields' ).addClass( 'show-field-keys' );\n\t\t\t} else {\n\t\t\t\t$( '#acf-field-group-fields' ).removeClass( 'show-field-keys' );\n\t\t\t}\n\n\t\t\tif ( ! this.isFieldSettingsTabsChecked() ) {\n\t\t\t\t$( '#acf-field-group-fields' ).addClass( 'hide-tabs' );\n\t\t\t\t$( '.acf-field-settings-main' )\n\t\t\t\t\t.removeClass( 'acf-hidden' )\n\t\t\t\t\t.prop( 'hidden', false );\n\t\t\t} else {\n\t\t\t\t$( '#acf-field-group-fields' ).removeClass( 'hide-tabs' );\n\n\t\t\t\t$( '.acf-field-object' ).each( function () {\n\t\t\t\t\tconst tabFields = acf.getFields( {\n\t\t\t\t\t\ttype: 'tab',\n\t\t\t\t\t\tparent: $( this ),\n\t\t\t\t\t\texcludeSubFields: true,\n\t\t\t\t\t\tlimit: 1,\n\t\t\t\t\t} );\n\n\t\t\t\t\tif ( tabFields.length ) {\n\t\t\t\t\t\ttabFields[ 0 ].tabs.set( 'initialized', false );\n\t\t\t\t\t}\n\n\t\t\t\t\tacf.doAction( 'show', $( this ) );\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\tif ( this.getSelectedColumnCount() == 1 ) {\n\t\t\t\t$( 'body' ).removeClass( 'columns-2' );\n\t\t\t\t$( 'body' ).addClass( 'columns-1' );\n\t\t\t} else {\n\t\t\t\t$( 'body' ).removeClass( 'columns-1' );\n\t\t\t\t$( 'body' ).addClass( 'columns-2' );\n\t\t\t}\n\t\t},\n\t} );\n\n\t/**\n\t * appendFieldManager\n\t *\n\t * Appends fields together\n\t *\n\t * @date\t15/12/17\n\t * @since\t5.7.0\n\t *\n\t * @param\tvoid\n\t * @return\tvoid\n\t */\n\n\tvar appendFieldManager = new acf.Model( {\n\t\tactions: {\n\t\t\tnew_field: 'onNewField',\n\t\t},\n\n\t\tonNewField: function ( field ) {\n\t\t\t// bail early if not append\n\t\t\tif ( ! field.has( 'append' ) ) return;\n\n\t\t\t// vars\n\t\t\tvar append = field.get( 'append' );\n\t\t\tvar $sibling = field.$el\n\t\t\t\t.siblings( '[data-name=\"' + append + '\"]' )\n\t\t\t\t.first();\n\n\t\t\t// bail early if no sibling\n\t\t\tif ( ! $sibling.length ) return;\n\n\t\t\t// ul\n\t\t\tvar $div = $sibling.children( '.acf-input' );\n\t\t\tvar $ul = $div.children( 'ul' );\n\n\t\t\t// create ul\n\t\t\tif ( ! $ul.length ) {\n\t\t\t\t$div.wrapInner( '' );\n\t\t\t\t$ul = $div.children( 'ul' );\n\t\t\t}\n\n\t\t\t// li\n\t\t\tvar html = field.$( '.acf-input' ).html();\n\t\t\tvar $li = $( '
  • ' + html + '
  • ' );\n\t\t\t$ul.append( $li );\n\t\t\t$ul.attr( 'data-cols', $ul.children().length );\n\n\t\t\t// clean up\n\t\t\tfield.remove();\n\t\t},\n\t} );\n} )( jQuery );\n","import toPropertyKey from \"./toPropertyKey.js\";\nexport default function _defineProperty(obj, key, value) {\n key = toPropertyKey(key);\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}","import _typeof from \"./typeof.js\";\nexport default function toPrimitive(t, r) {\n if (\"object\" != _typeof(t) || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r || \"default\");\n if (\"object\" != _typeof(i)) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\n}","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nexport default function toPropertyKey(t) {\n var i = toPrimitive(t, \"string\");\n return \"symbol\" == _typeof(i) ? i : i + \"\";\n}","export default function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, _typeof(o);\n}","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","import './_field-group.js';\nimport './_field-group-field.js';\nimport './_field-group-settings.js';\nimport './_field-group-conditions.js';\nimport './_field-group-fields.js';\nimport './_field-group-locations.js';\nimport './_field-group-compatibility.js';\nimport './_browse-fields-modal.js';\n"],"names":["$","undefined","acf","browseFieldsModal","data","openedBy","currentFieldType","popularFieldTypes","events","setup","props","extend","$el","tmpl","render","initialize","open","lockFocusToModal","find","focus","doAction","html","getFieldTypes","category","search","fieldTypes","get","Object","values","_objectSpread","filter","fieldType","includes","name","pro","label","toLowerCase","labelParts","split","match","startsWith","length","forEach","part","$tabs","self","each","append","getFieldTypeHTML","initializeFieldLabel","initializeFieldType","onChangeFieldType","iconName","replaceAll","decodeFieldTypeURL","url","renderFieldTypeDesc","fieldTypeInfo","fieldTypeFilter","args","parseArgs","description","doc_url","tutorial_url","preview_image","text","attr","show","hide","parent","isPro","isActive","$upgateToProButton","$upgradeToUnlockButton","_fieldObject$data","fieldObject","type","set","isFieldTypePopular","selectedFieldType","x","uppercaseCategory","toUpperCase","slice","searchTabElement","setTimeout","click","labelText","$fieldLabel","val","updateFieldObjectFieldLabel","trigger","removeClass","addClass","onSearchFieldTypes","e","$modal","inputVal","searchString","resultsHtml","matches","trim","onClickBrowsePopular","first","onClickSelectField","$fieldTypeSelect","close","onClickFieldType","$fieldType","currentTarget","onClickClose","onPressEscapeClose","key","returnFocusToOrigin","remove","models","Modal","newBrowseFieldsModal","window","jQuery","_acf","getCompatibility","field_group","save_field","$field","getFieldObject","save","delete_field","animate","delete","update_field_meta","value","prop","delete_field_meta","field_object","model","o","$settings","tag","tags","splice","join","selector","str_replace","_add_action","callback","add_action","apply","arguments","_add_filter","add_filter","_add_event","event","substr","indexOf","context","document","on","closest","_set_$field","setting","actionManager","Model","actions","open_field_object","close_field_object","add_field_object","duplicate_field_object","delete_field_object","change_field_object_type","change_field_object_label","change_field_object_name","change_field_object_parent","sortstop_field_object","onOpenFieldObject","field","onCloseFieldObject","onAddFieldObject","onDuplicateFieldObject","onDeleteFieldObject","onChangeFieldObjectType","onChangeFieldObjectLabel","onChangeFieldObjectName","onChangeFieldObjectParent","ConditionalLogicFieldSetting","FieldSetting","$rule","scope","ruleData","$input","$td","$toggle","$control","$groups","$rules","$tabLabel","$conditionalValueSelect","$div","enable","disable","renderRules","renderRule","renderField","renderOperator","renderValue","choices","validFieldTypes","cid","$select","getFieldObjects","map","choice","id","getKey","getLabel","__","disabled","conditionTypes","getConditionTypes","getType","indents","getParents","repeat","push","renderSelect","findFieldObject","prototype","operator","currentVal","savedValue","getAttribute","conditionType","$newSelect","clone","is","classes","$rebuiltSelect","addAction","newSelect2","Array","detach","onChangeToggle","onClickAddGroup","addGroup","$group","$group2","duplicate","not","$tr","onFocusField","onChangeField","onChangeOperator","onClickAdd","onClickRemove","siblings","registerFieldSetting","conditionalLogicHelper","duplicate_field_objects","onDuplicateFieldObjects","children","newField","prevField","$selects","child","add","FieldObject","eventScope","fieldTypeSelect2","change","changed","inherit","getInputId","$meta","$handle","$setting","getParent","limit","pop","getFields","getInputName","newInput","inputId","inputName","getProp","has","setProp","prevVal","keys","getName","getTypeLabel","types","checkCopyable","makeCopyable","navigator","clipboard","initializeFieldTypeSelect2","hasClass","fn","select2","amd","require","err","console","warn","ajax","multiple","allowNull","suppressFilters","dropdownCssClass","templateResult","selection","loading","element","nodeName","$selection","strEscape","templateSelection","target","parents","onKeyDownSelect","addProFields","PROFieldTypes","$layoutGroup","$contentGroup","entries","$useGroup","$existing","menu_order","required","parseInt","strSanitize","strSlugify","refresh","isOpen","onClickCopy","stopPropagation","copyValue","writeText","then","onClickEdit","$target","hasOwnProperty","onChangeSettingsTab","onFocusEdit","$rowOptions","onBlurEdit","focusDelayMilliseconds","$rowOptionsBlurElement","$rowOptionsFocusElement","activeElement","hideEmptyTabs","slideDown","which","slideUp","serialize","submit","onChange","onChanged","onChangeLabel","applyFilters","onChangeName","sanitizedName","alert","onChangeRequired","newVal","removeAnimate","onClickDelete","shiftKey","tooltip","newTooltip","confirmRemove","confirm","cancel","$list","$fields","findFieldObjects","sibling","endHeight","complete","newKey","uniqid","$newField","replace","end","copy","isNumeric","i","$label","wipe","prevId","prevKey","rename","move","hasChanged","popup","step1","newPopup","title","width","ajaxData","action","field_id","prepareForAjax","dataType","success","step2","content","step3","preventDefault","startButtonLoading","field_group_id","step4","wp","a11y","speak","browseFields","modal","onChangeType","changeTimeout","clearTimeout","changeType","newType","prevType","prevClass","newClass","abort","$oldSettings","tab","$tabSettings","removeData","$newSettings","showFieldTypeSettings","$loading","before","prefix","xhr","response","isAjaxSuccess","settings","tabs","$tab","tabContent","prepend","updateParent","ID","$tabContent","tabName","$tabLink","list","newFieldObject","fields","eventManager","priority","addFieldActions","pluralAction","singleAction","singleEvent","fieldObjects","arrayArgs","pluralCallback","unshift","singleCallback","variations","variation","fieldManager","removed_field_object","onSubmit","setFieldMenuOrder","renderFields","onHoverSortable","sortable","helper","currentName","Math","random","toString","handle","connectWith","start","ui","item","placeholder","height","update","onRemovedField","onReorderField","onDeleteField","onDuplicateField","eq","addField","$el2","$type","locationManager","wait","addProLocations","updateGroupsClass","PROLocationTypes","$formsGroup","proOnlyText","$addNewOptionsPage","onClickAddRule","addRule","onClickRemoveRule","removeRule","onChangeRemoveRule","changeRule","ajaxdata","rule","group","replaceWith","$ruleGroups","rows_count","modelId","strPascalCase","proto","mid","newFieldSetting","getFieldSetting","getField","settingsManager","new_field","onNewField","$fieldObject","EndpointFieldSetting","$endpoint_setting","$endpoint_field","AccordionEndpointFieldSetting","TabEndpointFieldSetting","DisplayFormatFieldSetting","DatePickerDisplayFormatFieldSetting","DatePickerReturnFormatFieldSetting","DateTimePickerDisplayFormatFieldSetting","DateTimePickerReturnFormatFieldSetting","TimePickerDisplayFormatFieldSetting","TimePickerReturnFormatFieldSetting","ColorPickerReturnFormat","$return_format_setting","$default_value_setting","$labelText","contents","last","$defaultPlaceholder","l10n","rgba_string","hex_string","fieldGroupManager","filters","find_fields_args","find_fields_selector","maybeInitNewFieldGroup","setBidirectionalSelect2Args","setBidirectionalSelect2AjaxDataArgs","instance","_field$data","call","escHtml","human_field_type","field_type","this_field","field_key","parent_key","post_type","findFields","$field_list_wrapper","$title","unlockForm","onClick","onClickDeleteFieldGroup","location","href","validateTitle","$submitButton","filterFindFieldArgs","visible","excludeSubFields","filterFindFieldsSelector","screenOptionsManager","$append","isFieldKeysChecked","isFieldSettingsTabsChecked","getSelectedColumnCount","onFieldKeysChange","updateUserSetting","onFieldSettingsTabsChange","tabFields","appendFieldManager","$sibling","$ul","wrapInner","$li"],"sourceRoot":""} \ No newline at end of file diff --git a/wp-content/plugins/advanced-custom-fields-pro/assets/build/js/acf-field-group.min.js b/wp-content/plugins/advanced-custom-fields-pro/assets/build/js/acf-field-group.min.js index 00545a7b9..15abfceea 100644 --- a/wp-content/plugins/advanced-custom-fields-pro/assets/build/js/acf-field-group.min.js +++ b/wp-content/plugins/advanced-custom-fields-pro/assets/build/js/acf-field-group.min.js @@ -1 +1 @@ -(()=>{var e={7942:()=>{!function(e,t){var i=acf.getCompatibility(acf);i.field_group={save_field:function(e,i){i=i!==t?i:"settings",acf.getFieldObject(e).save(i)},delete_field:function(e,i){i=i===t||i,acf.getFieldObject(e).delete({animate:i})},update_field_meta:function(e,t,i){acf.getFieldObject(e).prop(t,i)},delete_field_meta:function(e,t){acf.getFieldObject(e).prop(t,null)}},i.field_group.field_object=acf.model.extend({type:"",o:{},$field:null,$settings:null,tag:function(e){var t=this.type,i=e.split("_");return i.splice(1,0,"field"),e=i.join("_"),t&&(e+="/type="+t),e},selector:function(){var e=".acf-field-object",t=this.type;return t&&(e+="-"+t,e=acf.str_replace("_","-",e)),e},_add_action:function(e,t){var i=this;acf.add_action(this.tag(e),(function(e){i.set("$field",e),i[t].apply(i,arguments)}))},_add_filter:function(e,t){var i=this;acf.add_filter(this.tag(e),(function(e){i.set("$field",e),i[t].apply(i,arguments)}))},_add_event:function(t,i){var n=this,a=t.substr(0,t.indexOf(" ")),l=t.substr(t.indexOf(" ")+1),s=this.selector();e(document).on(a,s+" "+l,(function(t){t.$el=e(this),t.$field=t.$el.closest(".acf-field-object"),n.set("$field",t.$field),n[i].apply(n,[t])}))},_set_$field:function(){this.o=this.$field.data(),this.$settings=this.$field.find("> .settings > table > tbody"),this.focus()},focus:function(){},setting:function(e){return this.$settings.find("> .acf-field-setting-"+e)}}),new acf.Model({actions:{open_field_object:"onOpenFieldObject",close_field_object:"onCloseFieldObject",add_field_object:"onAddFieldObject",duplicate_field_object:"onDuplicateFieldObject",delete_field_object:"onDeleteFieldObject",change_field_object_type:"onChangeFieldObjectType",change_field_object_label:"onChangeFieldObjectLabel",change_field_object_name:"onChangeFieldObjectName",change_field_object_parent:"onChangeFieldObjectParent",sortstop_field_object:"onChangeFieldObjectParent"},onOpenFieldObject:function(e){acf.doAction("open_field",e.$el),acf.doAction("open_field/type="+e.get("type"),e.$el),acf.doAction("render_field_settings",e.$el),acf.doAction("render_field_settings/type="+e.get("type"),e.$el)},onCloseFieldObject:function(e){acf.doAction("close_field",e.$el),acf.doAction("close_field/type="+e.get("type"),e.$el)},onAddFieldObject:function(e){acf.doAction("add_field",e.$el),acf.doAction("add_field/type="+e.get("type"),e.$el)},onDuplicateFieldObject:function(e){acf.doAction("duplicate_field",e.$el),acf.doAction("duplicate_field/type="+e.get("type"),e.$el)},onDeleteFieldObject:function(e){acf.doAction("delete_field",e.$el),acf.doAction("delete_field/type="+e.get("type"),e.$el)},onChangeFieldObjectType:function(e){acf.doAction("change_field_type",e.$el),acf.doAction("change_field_type/type="+e.get("type"),e.$el),acf.doAction("render_field_settings",e.$el),acf.doAction("render_field_settings/type="+e.get("type"),e.$el)},onChangeFieldObjectLabel:function(e){acf.doAction("change_field_label",e.$el),acf.doAction("change_field_label/type="+e.get("type"),e.$el)},onChangeFieldObjectName:function(e){acf.doAction("change_field_name",e.$el),acf.doAction("change_field_name/type="+e.get("type"),e.$el)},onChangeFieldObjectParent:function(e){acf.doAction("update_field_parent",e.$el)}})}(jQuery)},6298:()=>{var e,t;e=jQuery,t=acf.FieldSetting.extend({type:"",name:"conditional_logic",events:{"change .conditions-toggle":"onChangeToggle","click .add-conditional-group":"onClickAddGroup","focus .condition-rule-field":"onFocusField","change .condition-rule-field":"onChangeField","change .condition-rule-operator":"onChangeOperator","click .add-conditional-rule":"onClickAdd","click .remove-conditional-rule":"onClickRemove"},$rule:!1,scope:function(e){return this.$rule=e,this},ruleData:function(e,t){return this.$rule.data.apply(this.$rule,arguments)},$input:function(e){return this.$rule.find(".condition-rule-"+e)},$td:function(e){return this.$rule.find("td."+e)},$toggle:function(){return this.$(".conditions-toggle")},$control:function(){return this.$(".rule-groups")},$groups:function(){return this.$(".rule-group")},$rules:function(){return this.$(".rule")},$tabLabel:function(){return this.fieldObject.$el.find(".conditional-logic-badge")},$conditionalValueSelect:function(){return this.$(".condition-rule-value")},open:function(){var e=this.$control();e.show(),acf.enable(e)},close:function(){var e=this.$control();e.hide(),acf.disable(e)},render:function(){this.$toggle().prop("checked")?(this.$tabLabel().addClass("is-enabled"),this.renderRules(),this.open()):(this.$tabLabel().removeClass("is-enabled"),this.close())},renderRules:function(){var t=this;this.$rules().each((function(){t.renderRule(e(this))}))},renderRule:function(e){this.scope(e),this.renderField(),this.renderOperator(),this.renderValue()},renderField:function(){var e=[],t=this.fieldObject.cid,i=this.$input("field");acf.getFieldObjects().map((function(i){var n={id:i.getKey(),text:i.getLabel()};i.cid===t&&(n.text+=" "+acf.__("(this field)"),n.disabled=!0),acf.getConditionTypes({fieldType:i.getType()}).length||(n.disabled=!0);var a=i.getParents().length;n.text="- ".repeat(a)+n.text,e.push(n)})),e.length||e.push({id:"",text:acf.__("No toggle fields available")}),acf.renderSelect(i,e),this.ruleData("field",i.val())},renderOperator:function(){if(this.ruleData("field")){var e=this.$input("operator"),t=(e.val(),[]);null===e.val()&&acf.renderSelect(e,[{id:this.ruleData("operator"),text:""}]);var i=acf.findFieldObject(this.ruleData("field")),n=acf.getFieldObject(i);acf.getConditionTypes({fieldType:n.getType()}).map((function(e){t.push({id:e.prototype.operator,text:e.prototype.label})})),acf.renderSelect(e,t),this.ruleData("operator",e.val())}},renderValue:function(){if(!this.ruleData("field")||!this.ruleData("operator"))return;var t=this.$input("value"),i=this.$td("value"),n=t.val(),a=this.$rule[0].getAttribute("data-value"),l=acf.findFieldObject(this.ruleData("field")),s=acf.getFieldObject(l),o=acf.getConditionTypes({fieldType:s.getType(),operator:this.ruleData("operator")})[0].prototype.choices(s);let c;if(o instanceof jQuery&&o.data("acfSelect2Props")){if(c=t.clone(),c.is("input")){var r=t.attr("class");const i=e("").addClass(r).val(a);c=i}acf.addAction("acf_conditional_value_rendered",(function(){acf.newSelect2(c,o.data("acfSelect2Props"))}))}else o instanceof Array?(this.$conditionalValueSelect().removeClass("select2-hidden-accessible"),c=e(""),acf.renderSelect(c,o)):(this.$conditionalValueSelect().removeClass("select2-hidden-accessible"),c=e(o));t.detach(),i.html(c),setTimeout((function(){["class","name","id"].map((function(e){c.attr(e,t.attr(e))})),t.val(a),acf.doAction("acf_conditional_value_rendered")}),0),c.prop("disabled")||acf.val(c,n,!0),this.ruleData("value",c.val())},onChangeToggle:function(){this.render()},onClickAddGroup:function(e,t){this.addGroup()},addGroup:function(){var e=this.$(".rule-group:last"),t=acf.duplicate(e);t.find("h4").text(acf.__("or")),t.find("tr").not(":first").remove();var i=t.find("tr");this.renderRule(i),this.fieldObject.save()},onFocusField:function(e,t){this.renderField()},onChangeField:function(e,t){this.scope(t.closest(".rule")),this.ruleData("field",t.val()),this.renderOperator(),this.renderValue()},onChangeOperator:function(e,t){this.scope(t.closest(".rule")),this.ruleData("operator",t.val()),this.renderValue()},onClickAdd:function(e,t){var i=acf.duplicate(t.closest(".rule"));this.renderRule(i)},onClickRemove:function(e,t){var i=t.closest(".rule");this.fieldObject.save(),0==i.siblings(".rule").length&&i.closest(".rule-group").remove(),i.remove()}}),acf.registerFieldSetting(t),new acf.Model({actions:{duplicate_field_objects:"onDuplicateFieldObjects"},onDuplicateFieldObjects:function(t,i,n){var a={},l=e();t.map((function(e){a[e.get("prevKey")]=e.get("key"),l=l.add(e.$(".condition-rule-field"))})),l.each((function(){var t=e(this),i=t.val();i&&a[i]&&(t.find("option:selected").attr("value",a[i]),t.val(a[i]))}))}})},4770:()=>{var e;e=jQuery,acf.FieldObject=acf.Model.extend({eventScope:".acf-field-object",fieldTypeSelect2:!1,events:{"click .copyable":"onClickCopy","click .handle":"onClickEdit","click .close-field":"onClickEdit",'click a[data-key="acf_field_settings_tabs"]':"onChangeSettingsTab","click .delete-field":"onClickDelete","click .duplicate-field":"duplicate","click .move-field":"move","click .browse-fields":"browseFields","focus .edit-field":"onFocusEdit","blur .edit-field, .row-options a":"onBlurEdit","change .field-type":"onChangeType","change .field-required":"onChangeRequired","blur .field-label":"onChangeLabel","blur .field-name":"onChangeName",change:"onChange",changed:"onChanged"},data:{id:0,key:"",type:""},setup:function(e){this.$el=e,this.inherit(e),this.prop("ID"),this.prop("parent"),this.prop("menu_order")},$input:function(t){return e("#"+this.getInputId()+"-"+t)},$meta:function(){return this.$(".meta:first")},$handle:function(){return this.$(".handle:first")},$settings:function(){return this.$(".settings:first")},$setting:function(e){return this.$(".acf-field-settings:first .acf-field-setting-"+e)},$fieldTypeSelect:function(){return this.$(".field-type")},$fieldLabel:function(){return this.$(".field-label")},getParent:function(){return acf.getFieldObjects({child:this.$el,limit:1}).pop()},getParents:function(){return acf.getFieldObjects({child:this.$el})},getFields:function(){return acf.getFieldObjects({parent:this.$el})},getInputName:function(){return"acf_fields["+this.get("id")+"]"},getInputId:function(){return"acf_fields-"+this.get("id")},newInput:function(t,i){var n=this.getInputId(),a=this.getInputName();t&&(n+="-"+t,a+="["+t+"]");var l=e("").attr({id:n,name:a,value:i});return this.$("> .meta").append(l),l},getProp:function(e){if(this.has(e))return this.get(e);var t=this.$input(e),i=t.length?t.val():null;return this.set(e,i,!0),i},setProp:function(e,t){var i=this.$input(e);return i.val(),i.length||(i=this.newInput(e,t)),null===t?i.remove():i.val(t),this.has(e)?this.set(e,t):this.set(e,t,!0),this},prop:function(e,t){return void 0!==t?this.setProp(e,t):this.getProp(e)},props:function(e){Object.keys(e).map((function(t){this.setProp(t,e[t])}),this)},getLabel:function(){var e=this.prop("label");return""===e&&(e=acf.__("(no label)")),e},getName:function(){return this.prop("name")},getType:function(){return this.prop("type")},getTypeLabel:function(){var e=this.prop("type"),t=acf.get("fieldTypes");return t[e]?t[e].label:e},getKey:function(){return this.prop("key")},initialize:function(){this.checkCopyable()},makeCopyable:function(e){return navigator.clipboard?''+e+"":''+e+""},checkCopyable:function(){navigator.clipboard||this.$el.find(".copyable").addClass("copy-unsupported")},initializeFieldTypeSelect2:function(){if(!this.fieldTypeSelect2&&!this.$fieldTypeSelect().hasClass("disable-select2")){try{e.fn.select2.amd.require("select2/compat/dropdownCss")}catch(e){return void console.warn("ACF was not able to load the full version of select2 due to a conflicting version provided by another plugin or theme taking precedence. Select2 fields may not work as expected.")}this.fieldTypeSelect2=acf.newSelect2(this.$fieldTypeSelect(),{field:!1,ajax:!1,multiple:!1,allowNull:!1,suppressFilters:!0,dropdownCssClass:"field-type-select-results",templateResult:function(t){if(t.loading||t.element&&"OPTGROUP"===t.element.nodeName)(i=e('')).html(acf.strEscape(t.text));else var i=e(''+acf.strEscape(t.text)+"");return i.data("element",t.element),i},templateSelection:function(t){var i=e(''+acf.strEscape(t.text)+"");return i.data("element",t.element),i}}),this.fieldTypeSelect2.on("select2:open",(function(){e(".field-type-select-results input.select2-search__field").attr("placeholder",acf.__("Type to search..."))})),this.fieldTypeSelect2.on("change",(function(t){e(t.target).parents("ul:first").find("button.browse-fields").prop("disabled",!0)})),this.fieldTypeSelect2.$el.parent().on("keydown",".select2-selection.select2-selection--single",this.onKeyDownSelect)}},addProFields:function(){if(acf.get("is_pro")&&acf.get("isLicenseActive"))return;var e=this.$fieldTypeSelect();if(e.hasClass("acf-free-field-type"))return;const t=acf.get("PROFieldTypes");if("object"!=typeof t)return;const i=e.find('optgroup option[value="group"]').parent(),n=e.find('optgroup option[value="image"]').parent();for(const[a,l]of Object.entries(t)){const t="content"===l.category?n:i,s=t.children('[value="'+a+'"]'),o=`${acf.strEscape(l.label)} (${acf.strEscape(acf.__("PRO Only"))})`;s.length?(s.text(o),e.val()!==a&&s.attr("disabled","disabled")):t.append(``)}e.addClass("acf-free-field-type")},render:function(){var e=this.$(".handle:first"),t=this.prop("menu_order"),i=this.getLabel(),n=this.prop("name"),a=this.getTypeLabel(),l=this.prop("key"),s=this.$input("required").prop("checked");e.find(".acf-icon").html(parseInt(t)+1),s&&(i+=' *'),e.find(".li-field-label strong a").html(i),e.find(".li-field-name").html(this.makeCopyable(acf.strSanitize(n)));const o=acf.strSlugify(this.getType());e.find(".field-type-label").text(" "+a),e.find(".field-type-icon").removeClass().addClass("field-type-icon field-type-icon-"+o),e.find(".li-field-key").html(this.makeCopyable(l)),acf.doAction("render_field_object",this)},refresh:function(){acf.doAction("refresh_field_object",this)},isOpen:function(){return this.$el.hasClass("open")},onClickCopy:function(t){if(t.stopPropagation(),!navigator.clipboard||e(t.target).is("input"))return;let i;i=e(t.target).hasClass("acf-input-wrap")?e(t.target).find("input").first().val():e(t.target).text().trim(),navigator.clipboard.writeText(i).then((()=>{e(t.target).closest(".copyable").addClass("copied"),setTimeout((function(){e(t.target).closest(".copyable").removeClass("copied")}),2e3)}))},onClickEdit:function(t){const i=e(t.target);acf.get("is_pro")&&!acf.get("isLicenseActive")&&!acf.get("isLicenseExpired")&&acf.get("PROFieldTypes").hasOwnProperty(this.getType())||i.parent().hasClass("row-options")&&!i.hasClass("edit-field")||(this.isOpen()?this.close():this.open())},onChangeSettingsTab:function(){const e=this.$el.children(".settings");acf.doAction("show",e)},onFocusEdit:function(t){e(t.target).closest("li").find(".row-options").addClass("active")},onBlurEdit:function(t){var i=e(t.target).closest("li").find(".row-options");setTimeout((function(){var t=e(document.activeElement).closest("li").find(".row-options");i.is(t)||i.removeClass("active")}),50)},open:function(){var e=this.$el.children(".settings");this.addProFields(),this.initializeFieldTypeSelect2(),acf.doAction("open_field_object",this),this.trigger("openFieldObject"),acf.doAction("show",e),this.hideEmptyTabs(),e.slideDown(),this.$el.addClass("open")},onKeyDownSelect:function(t){t.which>=186&&t.which<=222||[8,9,13,16,17,18,19,20,27,32,33,34,35,36,37,38,39,40,45,46,91,92,93,144,145].includes(t.which)||t.which>=112&&t.which<=123||e(this).closest(".select2-container").siblings("select:enabled").select2("open")},close:function(){var e=this.$el.children(".settings");e.slideUp(),this.$el.removeClass("open"),acf.doAction("close_field_object",this),this.trigger("closeFieldObject"),acf.doAction("hide",e)},serialize:function(){return acf.serialize(this.$el,this.getInputName())},save:function(e){e=e||"settings","settings"!==this.getProp("save")&&(this.setProp("save",e),this.$el.attr("data-save",e),acf.doAction("save_field_object",this,e))},submit:function(){var e=this.getInputName(),t=this.get("save");this.isOpen()&&this.close(),"settings"==t||("meta"==t?this.$('> .settings [name^="'+e+'"]').remove():this.$('[name^="'+e+'"]').remove()),acf.doAction("submit_field_object",this)},onChange:function(e,t){this.save(),acf.doAction("change_field_object",this)},onChanged:function(t,i,n,a){this.getType()===i.attr("data-type")&&e("button.acf-btn.browse-fields").prop("disabled",!1),"save"!=n&&(["menu_order","parent"].indexOf(n)>-1?this.save("meta"):this.save(),["menu_order","label","required","name","type","key"].indexOf(n)>-1&&this.render(),acf.doAction("change_field_object_"+n,this,a))},onChangeLabel:function(e,t){var i=t.val();if(this.set("label",i),""==this.prop("name")){var n=acf.applyFilters("generate_field_object_name",acf.strSanitize(i),this);this.prop("name",n)}},onChangeName:function(e,t){const i=acf.strSanitize(t.val(),!1);t.val(i),this.set("name",i),i.startsWith("field_")&&alert(acf.__('The string "field_" may not be used at the start of a field name'))},onChangeRequired:function(e,t){var i=t.prop("checked")?1:0;this.set("required",i)},delete:function(t){t=acf.parseArgs(t,{animate:!0});var i=this.prop("ID");if(i){var n=e("#_acf_delete_fields"),a=n.val()+"|"+i;n.val(a)}acf.doAction("delete_field_object",this),t.animate?this.removeAnimate():this.remove()},onClickDelete:function(e,t){if(e.shiftKey)return this.delete();this.$el.addClass("-hover"),acf.newTooltip({confirmRemove:!0,target:t,context:this,confirm:function(){this.delete()},cancel:function(){this.$el.removeClass("-hover")}})},removeAnimate:function(){var e=this,t=this.$el.parent(),i=acf.findFieldObjects({sibling:this.$el});acf.remove({target:this.$el,endHeight:i.length?0:50,complete:function(){e.remove(),acf.doAction("removed_field_object",e,t)}}),acf.doAction("remove_field_object",e,t)},duplicate:function(){var e=acf.uniqid("field_"),t=acf.duplicate({target:this.$el,search:this.get("id"),replace:e});t.attr("data-key",e);var i=acf.getFieldObject(t),n=i.prop("label"),a=i.prop("name"),l=a.split("_").pop(),s=acf.__("copy");if(acf.isNumeric(l)){var o=1*l+1;n=n.replace(l,o),a=a.replace(l,o)}else 0===l.indexOf(s)?(o=(o=1*l.replace(s,""))?o+1:2,n=n.replace(l,s+o),a=a.replace(l,s+o)):(n+=" ("+s+")",a+="_"+s);i.prop("ID",0),i.prop("label",n),i.prop("name",a),i.prop("key",e),this.isOpen()&&this.close(),i.open();var c=i.$setting("label input");setTimeout((function(){c.trigger("focus")}),251),acf.doAction("duplicate_field_object",this,i),acf.doAction("append_field_object",i)},wipe:function(){var e=this.get("id"),t=this.get("key"),i=acf.uniqid("field_");acf.rename({target:this.$el,search:e,replace:i}),this.set("id",i),this.set("prevId",e),this.set("prevKey",t),this.prop("key",i),this.prop("ID",0),this.$el.attr("data-key",i),this.$el.attr("data-id",i),acf.doAction("wipe_field_object",this)},move:function(){var t=function(e){return"settings"==e.get("save")},i=t(this);if(i||acf.getFieldObjects({parent:this.$el}).map((function(e){i=t(e)||e.changed})),i)alert(acf.__("This field cannot be moved until its changes have been saved"));else{var n=this.prop("ID"),a=this,l=!1,s=function(e){l.loading(!1),l.content(e),l.on("submit","form",o)},o=function(t,i){t.preventDefault(),acf.startButtonLoading(l.$(".button"));var a={action:"acf/field_group/move_field",field_id:n,field_group_id:l.$("select").val()};e.ajax({url:acf.get("ajaxurl"),data:acf.prepareForAjax(a),type:"post",dataType:"html",success:c})},c=function(e){l.content(e),wp.a11y&&wp.a11y.speak&&acf.__&&wp.a11y.speak(acf.__("Field moved to other group"),"polite"),l.$(".acf-close-popup").focus(),a.removeAnimate()};!function(){l=acf.newPopup({title:acf.__("Move Custom Field"),loading:!0,width:"300px",openedBy:a.$el.find(".move-field")});var t={action:"acf/field_group/move_field",field_id:n};e.ajax({url:acf.get("ajaxurl"),data:acf.prepareForAjax(t),type:"post",dataType:"html",success:s})}()}},browseFields:function(e,t){e.preventDefault(),acf.newBrowseFieldsModal({openedBy:this})},onChangeType:function(e,t){this.changeTimeout&&clearTimeout(this.changeTimeout),this.changeTimeout=this.setTimeout((function(){this.changeType(t.val())}),300)},changeType:function(t){var i=this.prop("type"),n=acf.strSlugify("acf-field-object-"+i),a=acf.strSlugify("acf-field-object-"+t);this.$el.removeClass(n).addClass(a),this.$el.attr("data-type",t),this.$el.data("type",t),this.has("xhr")&&this.get("xhr").abort();const l={};if(this.$el.find(".acf-field-settings:first > .acf-field-settings-main > .acf-field-type-settings").each((function(){let t=e(this).data("parent-tab"),i=e(this).children().removeData();l[t]=i,i.detach()})),this.set("settings-"+i,l),this.has("settings-"+t)){let e=this.get("settings-"+t);return this.showFieldTypeSettings(e),void this.set("type",t)}const s=e('
    ');this.$el.find(".acf-field-settings-main-general .acf-field-type-settings").before(s);const o={action:"acf/field_group/render_field_settings",field:this.serialize(),prefix:this.getInputName()};var c=e.ajax({url:acf.get("ajaxurl"),data:acf.prepareForAjax(o),type:"post",dataType:"json",context:this,success:function(e){acf.isAjaxSuccess(e)&&this.showFieldTypeSettings(e.data)},complete:function(){s.remove(),this.set("type",t)}});this.set("xhr",c)},showFieldTypeSettings:function(e){if("object"!=typeof e)return;const t=this;Object.keys(e).forEach((i=>{const n=t.$el.find(".acf-field-settings-main-"+i.replace("_","-")+" .acf-field-type-settings");let a="";["object","string"].includes(typeof e[i])&&(a=e[i]),n.prepend(a),acf.doAction("append",n)})),this.hideEmptyTabs()},updateParent:function(){var e=acf.get("post_id"),t=this.getParent();t&&(e=parseInt(t.prop("ID"))||t.prop("key")),this.prop("parent",e)},hideEmptyTabs:function(){const t=this.$settings();t.find(".acf-field-settings:first > .acf-field-settings-main").each((function(){const i=e(this),n=i.find(".acf-field-type-settings:first").data("parentTab"),a=t.find(".acf-settings-type-"+n).first();""===e.trim(i.text())?a.hide():a.is(":hidden")&&a.show()}))}})},7297:()=>{var e;e=jQuery,acf.findFieldObject=function(e){return acf.findFieldObjects({key:e,limit:1})},acf.findFieldObjects=function(t){t=t||{};var i=".acf-field-object",n=!1;return(t=acf.parseArgs(t,{id:"",key:"",type:"",limit:!1,list:null,parent:!1,sibling:!1,child:!1})).id&&(i+='[data-id="'+t.id+'"]'),t.key&&(i+='[data-key="'+t.key+'"]'),t.type&&(i+='[data-type="'+t.type+'"]'),n=t.list?t.list.children(i):t.parent?t.parent.find(i):t.sibling?t.sibling.siblings(i):t.child?t.child.parents(i):e(i),t.limit&&(n=n.slice(0,t.limit)),n},acf.getFieldObject=function(e){"string"==typeof e&&(e=acf.findFieldObject(e));var t=e.data("acf");return t||(t=acf.newFieldObject(e)),t},acf.getFieldObjects=function(t){var i=acf.findFieldObjects(t),n=[];return i.each((function(){var t=acf.getFieldObject(e(this));n.push(t)})),n},acf.newFieldObject=function(e){var t=new acf.FieldObject(e);return acf.doAction("new_field_object",t),t},new acf.Model({priority:5,initialize:function(){["prepare","ready","append","remove"].map((function(e){this.addFieldActions(e)}),this)},addFieldActions:function(e){var t=e+"_field_objects",i=e+"_field_object",n=e+"FieldObject";acf.addAction(e,(function(e){var i=acf.getFieldObjects({parent:e});if(i.length){var n=acf.arrayArgs(arguments);n.splice(0,1,t,i),acf.doAction.apply(null,n)}}),5),acf.addAction(t,(function(e){var t=acf.arrayArgs(arguments);t.unshift(i),e.map((function(e){t[1]=e,acf.doAction.apply(null,t)}))}),5),acf.addAction(i,(function(e){var t=acf.arrayArgs(arguments);t.unshift(i),["type","name","key"].map((function(n){t[0]=i+"/"+n+"="+e.get(n),acf.doAction.apply(null,t)})),t.splice(0,2),e.trigger(n,t)}),5)}}),new acf.Model({id:"fieldManager",events:{"submit #post":"onSubmit","mouseenter .acf-field-list":"onHoverSortable","click .add-field":"onClickAdd"},actions:{removed_field_object:"onRemovedField",sortstop_field_object:"onReorderField",delete_field_object:"onDeleteField",change_field_object_type:"onChangeFieldType",duplicate_field_object:"onDuplicateField"},onSubmit:function(e,t){acf.getFieldObjects().map((function(e){e.submit()}))},setFieldMenuOrder:function(e){this.renderFields(e.$el.parent())},onHoverSortable:function(e,t){t.hasClass("ui-sortable")||t.sortable({helper:function(e,t){return t.clone().find(":input").attr("name",(function(e,t){return"sort_"+parseInt(1e5*Math.random(),10).toString()+"_"+t})).end()},handle:".acf-sortable-handle",connectWith:".acf-field-list",start:function(e,i){var n=acf.getFieldObject(i.item);i.placeholder.height(i.item.height()),acf.doAction("sortstart_field_object",n,t)},update:function(e,i){var n=acf.getFieldObject(i.item);acf.doAction("sortstop_field_object",n,t)}})},onRemovedField:function(e,t){this.renderFields(t)},onReorderField:function(e,t){e.updateParent(),this.renderFields(t)},onDeleteField:function(e){e.getFields().map((function(e){e.delete({animate:!1})}))},onChangeFieldType:function(e){e.$el.find("button.browse-fields").prop("disabled",!1)},onDuplicateField:function(e,t){var i=t.getFields();i.length&&(i.map((function(e){e.wipe(),e.isOpen()&&e.open(),e.updateParent()})),acf.doAction("duplicate_field_objects",i,t,e)),this.setFieldMenuOrder(t)},renderFields:function(e){var t=acf.getFieldObjects({list:e});if(!t.length)return e.addClass("-empty"),void e.parents(".acf-field-list-wrap").first().addClass("-empty");e.removeClass("-empty"),e.parents(".acf-field-list-wrap").first().removeClass("-empty"),t.map((function(e,t){e.prop("menu_order",t)}))},onClickAdd:function(t,i){let n;n=i.hasClass("add-first-field")?i.parents(".acf-field-list").eq(0):i.parent().hasClass("acf-headerbar-actions")||i.parent().hasClass("no-fields-message-inner")?e(".acf-field-list:first"):i.parent().hasClass("acf-sub-field-list-header")?i.parents(".acf-input:first").find(".acf-field-list:first"):i.closest(".acf-tfoot").siblings(".acf-field-list"),this.addField(n)},addField:function(t){var i=e("#tmpl-acf-field").html(),n=e(i),a=n.data("id"),l=acf.uniqid("field_"),s=acf.duplicate({target:n,search:a,replace:l,append:function(e,i){t.append(i)}}),o=acf.getFieldObject(s);o.prop("key",l),o.prop("ID",0),o.prop("label",""),o.prop("name",""),s.attr("data-key",l),s.attr("data-id",l),o.updateParent();var c=o.$input("type");setTimeout((function(){t.hasClass("acf-auto-add-field")?t.removeClass("acf-auto-add-field"):c.trigger("focus")}),251),o.open(),this.renderFields(t),acf.doAction("add_field_object",o),acf.doAction("append_field_object",o)}})},2522:()=>{var e;e=jQuery,new acf.Model({id:"locationManager",wait:"ready",events:{"click .add-location-rule":"onClickAddRule","click .add-location-group":"onClickAddGroup","click .remove-location-rule":"onClickRemoveRule","change .refresh-location-rule":"onChangeRemoveRule"},initialize:function(){this.$el=e("#acf-field-group-options"),this.addProLocations(),this.updateGroupsClass()},addProLocations:function(){if(acf.get("is_pro")&&acf.get("isLicenseActive"))return;const e=acf.get("PROLocationTypes");if("object"!=typeof e)return;const t=this.$el.find("select.refresh-location-rule").find('optgroup[label="Forms"]'),i=` (${acf.__("PRO Only")})`;for(const[n,a]of Object.entries(e))acf.get("is_pro")?t.find("option[value="+n+"]").not(":selected").prop("disabled","disabled").text(`${acf.strEscape(a)}${acf.strEscape(i)}`):t.append(``);const n=this.$el.find("select.location-rule-value option[value=add_new_options_page]");n.length&&n.attr("disabled","disabled")},onClickAddRule:function(e,t){this.addRule(t.closest("tr"))},onClickRemoveRule:function(e,t){this.removeRule(t.closest("tr"))},onChangeRemoveRule:function(e,t){this.changeRule(t.closest("tr"))},onClickAddGroup:function(e,t){this.addGroup()},addRule:function(e){acf.duplicate(e),this.updateGroupsClass()},removeRule:function(e){0==e.siblings("tr").length?e.closest(".rule-group").remove():e.remove(),this.$(".rule-group:first").find("h4").text(acf.__("Show this field group if")),this.updateGroupsClass()},changeRule:function(t){var i=t.closest(".rule-group"),n=t.find("td.param select").attr("name").replace("[param]",""),a={action:"acf/field_group/render_location_rule"};a.rule=acf.serialize(t,n),a.rule.id=t.data("id"),a.rule.group=i.data("id"),acf.disable(t.find("td.value"));const l=this;e.ajax({url:acf.get("ajaxurl"),data:acf.prepareForAjax(a),type:"post",dataType:"html",success:function(e){e&&(t.replaceWith(e),l.addProLocations())}})},addGroup:function(){var e=this.$(".rule-group:last");$group2=acf.duplicate(e),$group2.find("h4").text(acf.__("or")),$group2.find("tr").not(":first").remove(),this.updateGroupsClass()},updateGroupsClass:function(){var e=this.$(".rule-group:last").closest(".rule-groups");e.find(".acf-table tr").length>1?e.addClass("rule-groups-multiple"):e.removeClass("rule-groups-multiple")}})},749:()=>{!function(e,t){var i=function(e){return acf.strPascalCase(e||"")+"FieldSetting"};acf.registerFieldSetting=function(e){var t=e.prototype,n=i(t.type+" "+t.name);this.models[n]=e},acf.newFieldSetting=function(e){var t=e.get("setting")||"",n=e.get("name")||"",a=i(t+" "+n),l=acf.models[a]||null;return null!==l&&new l(e)},acf.getFieldSetting=function(e){return e instanceof jQuery&&(e=acf.getField(e)),e.setting},new acf.Model({actions:{new_field:"onNewField"},onNewField:function(e){e.setting=acf.newFieldSetting(e)}}),acf.FieldSetting=acf.Model.extend({field:!1,type:"",name:"",wait:"ready",eventScope:".acf-field",events:{change:"render"},setup:function(t){var i=t.$el;this.$el=i,this.field=t,this.$fieldObject=i.closest(".acf-field-object"),this.fieldObject=acf.getFieldObject(this.$fieldObject),e.extend(this.data,t.data)},initialize:function(){this.render()},render:function(){}});var n=acf.FieldSetting.extend({type:"",name:"",render:function(){this.fieldObject.$setting("endpoint").find('input[type="checkbox"]:first').is(":checked")?this.fieldObject.$el.addClass("acf-field-is-endpoint"):this.fieldObject.$el.removeClass("acf-field-is-endpoint")}}),a=n.extend({type:"accordion",name:"endpoint"}),l=n.extend({type:"tab",name:"endpoint"});acf.registerFieldSetting(a),acf.registerFieldSetting(l);var s=acf.FieldSetting.extend({type:"",name:"",render:function(){var e=this.$('input[type="radio"]:checked');"other"!=e.val()&&this.$('input[type="text"]').val(e.val())}}),o=s.extend({type:"date_picker",name:"display_format"}),c=s.extend({type:"date_picker",name:"return_format"});acf.registerFieldSetting(o),acf.registerFieldSetting(c);var r=s.extend({type:"date_time_picker",name:"display_format"}),d=s.extend({type:"date_time_picker",name:"return_format"});acf.registerFieldSetting(r),acf.registerFieldSetting(d);var f=s.extend({type:"time_picker",name:"display_format"}),p=s.extend({type:"time_picker",name:"return_format"});acf.registerFieldSetting(f),acf.registerFieldSetting(p);var u=acf.FieldSetting.extend({type:"color_picker",name:"enable_opacity",render:function(){var e=this.fieldObject.$setting("return_format"),t=this.fieldObject.$setting("default_value"),i=e.find('input[type="radio"][value="string"]').parent("label").contents().last(),n=t.find('input[type="text"]'),a=acf.get("colorPickerL10n");this.field.val()?(i.replaceWith(a.rgba_string),n.attr("placeholder","rgba(255,255,255,0.8)")):(i.replaceWith(a.hex_string),n.attr("placeholder","#FFFFFF"))}});acf.registerFieldSetting(u)}(jQuery)},3319:()=>{var e;e=jQuery,new acf.Model({id:"fieldGroupManager",events:{"submit #post":"onSubmit",'click a[href="#"]':"onClick","click .acf-delete-field-group":"onClickDeleteFieldGroup","blur input#title":"validateTitle","input input#title":"validateTitle"},filters:{find_fields_args:"filterFindFieldArgs",find_fields_selector:"filterFindFieldsSelector"},initialize:function(){acf.addAction("prepare",this.maybeInitNewFieldGroup),acf.add_filter("select2_args",this.setBidirectionalSelect2Args),acf.add_filter("select2_ajax_data",this.setBidirectionalSelect2AjaxDataArgs)},setBidirectionalSelect2Args:function(t,i,n,a,l){var s;if("bidirectional_target"!==(null==a||null===(s=a.data)||void 0===s?void 0:s.call(a,"key")))return t;t.dropdownCssClass="field-type-select-results";try{e.fn.select2.amd.require("select2/compat/dropdownCss")}catch(e){console.warn("ACF was not able to load the full version of select2 due to a conflicting version provided by another plugin or theme taking precedence. Skipping styling of bidirectional settings."),delete t.dropdownCssClass}return t.templateResult=function(t){if(void 0!==t.element)return t;if(t.children)return t.text;if(t.loading||t.element&&"OPTGROUP"===t.element.nodeName)return(i=e('')).html(acf.escHtml(t.text)),i;if(void 0===t.human_field_type||void 0===t.field_type||void 0===t.this_field)return t.text;var i=e(''+acf.escHtml(t.text)+"");return t.this_field&&i.last().append(''+acf.__("This Field")+""),i.data("element",t.element),i},t},setBidirectionalSelect2AjaxDataArgs:function(e,t,i,n,a){if("bidirectional_target"!==e.field_key)return e;const l=acf.findFieldObjects({child:n}),s=acf.getFieldObject(l);return e.field_key="_acf_bidirectional_target",e.parent_key=s.get("key"),e.field_type=s.get("type"),e.post_type=acf.getField(acf.findFields({parent:l,key:"post_type"})).val(),e},maybeInitNewFieldGroup:function(){e("#acf-field-group-fields > .inside > .acf-field-list-wrap.acf-auto-add-field").length&&(e(".acf-headerbar-actions .add-field").trigger("click"),e(".acf-title-wrap #title").trigger("focus"))},onSubmit:function(t,i){var n=e(".acf-title-wrap #title");n.val()||(t.preventDefault(),acf.unlockForm(i),n.trigger("focus"))},onClick:function(e){e.preventDefault()},onClickDeleteFieldGroup:function(e,t){e.preventDefault(),t.addClass("-hover"),acf.newTooltip({confirm:!0,target:t,context:this,text:acf.__("Move field group to trash?"),confirm:function(){window.location.href=t.attr("href")},cancel:function(){t.removeClass("-hover")}})},validateTitle:function(t,i){let n=e(".acf-publish");i.val()?(i.removeClass("acf-input-error"),n.removeClass("disabled"),e(".acf-publish").removeClass("disabled")):(i.addClass("acf-input-error"),n.addClass("disabled"),e(".acf-publish").addClass("disabled"))},filterFindFieldArgs:function(e){return e.visible=!0,e.parent&&(e.parent.hasClass("acf-field-object")||e.parent.hasClass("acf-browse-fields-modal-wrap")||e.parent.parents(".acf-field-object").length)&&(e.visible=!1,e.excludeSubFields=!0),e.parent&&e.parent.find(".acf-field-object.open").length&&(e.excludeSubFields=!1),e},filterFindFieldsSelector:function(e){return e+", .acf-field-acf-field-group-settings-tabs"}}),new acf.Model({id:"screenOptionsManager",wait:"prepare",events:{"change #acf-field-key-hide":"onFieldKeysChange","change #acf-field-settings-tabs":"onFieldSettingsTabsChange",'change [name="screen_columns"]':"render"},initialize:function(){var t=e("#adv-settings"),i=e("#acf-append-show-on-screen");t.find(".metabox-prefs").append(i.html()),t.find(".metabox-prefs br").remove(),i.remove(),this.$el=e("#screen-options-wrap"),this.render()},isFieldKeysChecked:function(){return this.$el.find("#acf-field-key-hide").prop("checked")},isFieldSettingsTabsChecked:function(){const e=this.$el.find("#acf-field-settings-tabs");return!!e.length&&e.prop("checked")},getSelectedColumnCount:function(){return this.$el.find('input[name="screen_columns"]:checked').val()},onFieldKeysChange:function(e,t){var i=this.isFieldKeysChecked()?1:0;acf.updateUserSetting("show_field_keys",i),this.render()},onFieldSettingsTabsChange:function(){const e=this.isFieldSettingsTabsChecked()?1:0;acf.updateUserSetting("show_field_settings_tabs",e),this.render()},render:function(){this.isFieldKeysChecked()?e("#acf-field-group-fields").addClass("show-field-keys"):e("#acf-field-group-fields").removeClass("show-field-keys"),this.isFieldSettingsTabsChecked()?(e("#acf-field-group-fields").removeClass("hide-tabs"),e(".acf-field-object").each((function(){const t=acf.getFields({type:"tab",parent:e(this),excludeSubFields:!0,limit:1});t.length&&t[0].tabs.set("initialized",!1),acf.doAction("show",e(this))}))):(e("#acf-field-group-fields").addClass("hide-tabs"),e(".acf-field-settings-main").removeClass("acf-hidden").prop("hidden",!1)),1==this.getSelectedColumnCount()?(e("body").removeClass("columns-2"),e("body").addClass("columns-1")):(e("body").removeClass("columns-1"),e("body").addClass("columns-2"))}}),new acf.Model({actions:{new_field:"onNewField"},onNewField:function(t){if(t.has("append")){var i=t.get("append"),n=t.$el.siblings('[data-name="'+i+'"]').first();if(n.length){var a=n.children(".acf-input"),l=a.children("ul");l.length||(a.wrapInner(''),l=a.children("ul"));var s=t.$(".acf-input").html(),o=e("
  • "+s+"
  • ");l.append(o),l.attr("data-cols",l.children().length),t.remove()}}}})}},t={};function i(n){var a=t[n];if(void 0!==a)return a.exports;var l=t[n]={exports:{}};return e[n](l,l.exports,i),l.exports}(()=>{"use strict";function e(t){return e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},e(t)}function t(t){var i=function(t,i){if("object"!=e(t)||!t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var a=n.call(t,"string");if("object"!=e(a))return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==e(i)?i:i+""}function n(e,t){var i=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),i.push.apply(i,n)}return i}function a(e){for(var i=1;ithis.get("popularFieldTypes").includes(e.name)));if("pro"===e)return n.filter((e=>e.pro));n=n.filter((t=>t.category===e))}return t&&(n=n.filter((e=>{const i=e.label.toLowerCase(),n=i.split(" ");let a=!1;return i.startsWith(t.toLowerCase())?a=!0:n.length>1&&n.forEach((e=>{e.startsWith(t.toLowerCase())&&(a=!0)})),a}))),n},render:function(){i.doAction("append",this.$el);const t=this.$el.find(".acf-field-types-tab"),n=this;t.each((function(){const t=e(this).data("category");n.getFieldTypes(t).forEach((t=>{e(this).append(n.getFieldTypeHTML(t))}))})),this.initializeFieldLabel(),this.initializeFieldType(),this.onChangeFieldType()},getFieldTypeHTML:function(e){const t=e.name.replaceAll("_","-");return`\n\t\t\t\n\t\t\t\t${e.pro&&!i.get("is_pro")?'':e.pro?'':""}\n\t\t\t\t\n\t\t\t\t${e.label}\n\t\t\t\n\t\t\t`},decodeFieldTypeURL:function(e){return"string"!=typeof e?e:e.replaceAll("&","&")},renderFieldTypeDesc:function(e){const t=this.getFieldTypes().filter((t=>t.name===e))[0]||{},n=i.parseArgs(t,{label:"",description:"",doc_url:!1,tutorial_url:!1,preview_image:!1,pro:!1});this.$el.find(".field-type-name").text(n.label),this.$el.find(".field-type-desc").text(n.description),n.doc_url?this.$el.find(".field-type-doc").attr("href",this.decodeFieldTypeURL(n.doc_url)).show():this.$el.find(".field-type-doc").hide(),n.tutorial_url?this.$el.find(".field-type-tutorial").attr("href",this.decodeFieldTypeURL(n.tutorial_url)).parent().show():this.$el.find(".field-type-tutorial").parent().hide(),n.preview_image?this.$el.find(".field-type-image").attr("src",n.preview_image).show():this.$el.find(".field-type-image").hide();const a=i.get("is_pro"),l=i.get("isLicenseActive"),s=this.$el.find(".acf-btn-pro"),o=this.$el.find(".field-type-upgrade-to-unlock");!n.pro||a&&l?(s.hide(),o.hide(),this.$el.find(".acf-insert-field-label").attr("disabled",!1),this.$el.find(".acf-select-field").show()):(s.show(),s.attr("href",s.data("urlBase")+e),o.show(),o.attr("href",o.data("urlBase")+e),this.$el.find(".acf-insert-field-label").attr("disabled",!0),this.$el.find(".acf-select-field").hide())},initializeFieldType:function(){var t;const i=this.get("openedBy"),n=null==i||null===(t=i.data)||void 0===t?void 0:t.type;n?this.set("currentFieldType",n):this.set("currentFieldType","text");const a=this.getFieldTypes();let l="";l=this.get("popularFieldTypes").includes(n)?"popular":a.find((e=>e.name===n)).category;const s=`.acf-modal-content .acf-tab-wrap a:contains('${l[0].toUpperCase()+l.slice(1)}')`;setTimeout((()=>{e(s).click()}),0)},initializeFieldLabel:function(){const e=this.get("openedBy").$fieldLabel().val(),t=this.$el.find(".acf-insert-field-label");e?t.val(e):t.val("")},updateFieldObjectFieldLabel:function(){const e=this.$el.find(".acf-insert-field-label").val(),t=this.get("openedBy");t.$fieldLabel().val(e),t.$fieldLabel().trigger("blur")},onChangeFieldType:function(){const e=this.get("currentFieldType");this.$el.find(".selected").removeClass("selected"),this.$el.find('.acf-field-type[data-field-type="'+e+'"]').addClass("selected"),this.renderFieldTypeDesc(e)},onSearchFieldTypes:function(t){const i=this.$el.find(".acf-browse-fields-modal"),n=this.$el.find(".acf-search-field-types").val(),a=this;let l,s="",o=[];if("string"==typeof n&&(l=n.trim(),o=this.getFieldTypes(!1,l)),l.length&&o.length?i.addClass("is-searching"):i.removeClass("is-searching"),!o.length)return i.addClass("no-results-found"),void this.$el.find(".acf-invalid-search-term").text(l);i.removeClass("no-results-found"),o.forEach((e=>{s+=a.getFieldTypeHTML(e)})),e(".acf-field-type-search-results").html(s),this.set("currentFieldType",o[0].name),this.onChangeFieldType()},onClickBrowsePopular:function(){this.$el.find(".acf-search-field-types").val("").trigger("input"),this.$el.find(".acf-tab-wrap a").first().trigger("click")},onClickSelectField:function(e){const t=this.get("openedBy");t.$fieldTypeSelect().val(this.get("currentFieldType")),t.$fieldTypeSelect().trigger("change"),this.updateFieldObjectFieldLabel(),this.close()},onClickFieldType:function(t){const i=e(t.currentTarget);this.set("currentFieldType",i.data("field-type"))},onClickClose:function(){this.close()},onPressEscapeClose:function(e){"Escape"===e.key&&this.close()},close:function(){this.lockFocusToModal(!1),this.returnFocusToOrigin(),this.remove()},focus:function(){this.$el.find("button").first().trigger("focus")}};i.models.browseFieldsModal=i.models.Modal.extend(n),i.newBrowseFieldsModal=e=>new i.models.browseFieldsModal(e)}(window.jQuery,0,window.acf)})()})(); \ No newline at end of file +(()=>{var e={3717:()=>{!function(e,t,i){const n={data:{openedBy:null,currentFieldType:null,popularFieldTypes:["text","textarea","email","url","file","gallery","select","true_false","link","post_object","relationship","repeater","flexible_content","clone"]},events:{"click .acf-modal-close":"onClickClose","keydown .acf-browse-fields-modal":"onPressEscapeClose","click .acf-select-field":"onClickSelectField","click .acf-field-type":"onClickFieldType","changed:currentFieldType":"onChangeFieldType","input .acf-search-field-types":"onSearchFieldTypes","click .acf-browse-popular-fields":"onClickBrowsePopular"},setup:function(t){e.extend(this.data,t),this.$el=e(this.tmpl()),this.render()},initialize:function(){this.open(),this.lockFocusToModal(!0),this.$el.find(".acf-modal-title").focus(),i.doAction("show",this.$el)},tmpl:function(){return e("#tmpl-acf-browse-fields-modal").html()},getFieldTypes:function(e,t){let n;if(n=i.get("is_pro")?Object.values(i.get("fieldTypes")):Object.values({...i.get("fieldTypes"),...i.get("PROFieldTypes")}),e){if("popular"===e)return n.filter((e=>this.get("popularFieldTypes").includes(e.name)));if("pro"===e)return n.filter((e=>e.pro));n=n.filter((t=>t.category===e))}return t&&(n=n.filter((e=>{const i=e.label.toLowerCase(),n=i.split(" ");let a=!1;return i.startsWith(t.toLowerCase())?a=!0:n.length>1&&n.forEach((e=>{e.startsWith(t.toLowerCase())&&(a=!0)})),a}))),n},render:function(){i.doAction("append",this.$el);const t=this.$el.find(".acf-field-types-tab"),n=this;t.each((function(){const t=e(this).data("category");n.getFieldTypes(t).forEach((t=>{e(this).append(n.getFieldTypeHTML(t))}))})),this.initializeFieldLabel(),this.initializeFieldType(),this.onChangeFieldType()},getFieldTypeHTML:function(e){const t=e.name.replaceAll("_","-");return`\n\t\t\t\n\t\t\t\t${e.pro&&!i.get("is_pro")?'':e.pro?'':""}\n\t\t\t\t\n\t\t\t\t${e.label}\n\t\t\t\n\t\t\t`},decodeFieldTypeURL:function(e){return"string"!=typeof e?e:e.replaceAll("&","&")},renderFieldTypeDesc:function(e){const t=this.getFieldTypes().filter((t=>t.name===e))[0]||{},n=i.parseArgs(t,{label:"",description:"",doc_url:!1,tutorial_url:!1,preview_image:!1,pro:!1});this.$el.find(".field-type-name").text(n.label),this.$el.find(".field-type-desc").text(n.description),n.doc_url?this.$el.find(".field-type-doc").attr("href",this.decodeFieldTypeURL(n.doc_url)).show():this.$el.find(".field-type-doc").hide(),n.tutorial_url?this.$el.find(".field-type-tutorial").attr("href",this.decodeFieldTypeURL(n.tutorial_url)).parent().show():this.$el.find(".field-type-tutorial").parent().hide(),n.preview_image?this.$el.find(".field-type-image").attr("src",n.preview_image).show():this.$el.find(".field-type-image").hide();const a=i.get("is_pro"),l=i.get("isLicenseActive"),s=this.$el.find(".acf-btn-pro"),c=this.$el.find(".field-type-upgrade-to-unlock");!n.pro||a&&l?(s.hide(),c.hide(),this.$el.find(".acf-insert-field-label").attr("disabled",!1),this.$el.find(".acf-select-field").show()):(s.show(),s.attr("href",s.data("urlBase")+e),c.show(),c.attr("href",c.data("urlBase")+e),this.$el.find(".acf-insert-field-label").attr("disabled",!0),this.$el.find(".acf-select-field").hide())},initializeFieldType:function(){const t=this.get("openedBy"),i=t?.data?.type;i?this.set("currentFieldType",i):this.set("currentFieldType","text");const n=this.getFieldTypes();let a="";a=this.get("popularFieldTypes").includes(i)?"popular":n.find((e=>e.name===i)).category;const l=`.acf-modal-content .acf-tab-wrap a:contains('${a[0].toUpperCase()+a.slice(1)}')`;setTimeout((()=>{e(l).click()}),0)},initializeFieldLabel:function(){const e=this.get("openedBy").$fieldLabel().val(),t=this.$el.find(".acf-insert-field-label");e?t.val(e):t.val("")},updateFieldObjectFieldLabel:function(){const e=this.$el.find(".acf-insert-field-label").val(),t=this.get("openedBy");t.$fieldLabel().val(e),t.$fieldLabel().trigger("blur")},onChangeFieldType:function(){const e=this.get("currentFieldType");this.$el.find(".selected").removeClass("selected"),this.$el.find('.acf-field-type[data-field-type="'+e+'"]').addClass("selected"),this.renderFieldTypeDesc(e)},onSearchFieldTypes:function(t){const i=this.$el.find(".acf-browse-fields-modal"),n=this.$el.find(".acf-search-field-types").val(),a=this;let l,s="",c=[];if("string"==typeof n&&(l=n.trim(),c=this.getFieldTypes(!1,l)),l.length&&c.length?i.addClass("is-searching"):i.removeClass("is-searching"),!c.length)return i.addClass("no-results-found"),void this.$el.find(".acf-invalid-search-term").text(l);i.removeClass("no-results-found"),c.forEach((e=>{s+=a.getFieldTypeHTML(e)})),e(".acf-field-type-search-results").html(s),this.set("currentFieldType",c[0].name),this.onChangeFieldType()},onClickBrowsePopular:function(){this.$el.find(".acf-search-field-types").val("").trigger("input"),this.$el.find(".acf-tab-wrap a").first().trigger("click")},onClickSelectField:function(e){const t=this.get("openedBy");t.$fieldTypeSelect().val(this.get("currentFieldType")),t.$fieldTypeSelect().trigger("change"),this.updateFieldObjectFieldLabel(),this.close()},onClickFieldType:function(t){const i=e(t.currentTarget);this.set("currentFieldType",i.data("field-type"))},onClickClose:function(){this.close()},onPressEscapeClose:function(e){"Escape"===e.key&&this.close()},close:function(){this.lockFocusToModal(!1),this.returnFocusToOrigin(),this.remove()},focus:function(){this.$el.find("button").first().trigger("focus")}};i.models.browseFieldsModal=i.models.Modal.extend(n),i.newBrowseFieldsModal=e=>new i.models.browseFieldsModal(e)}(window.jQuery,0,window.acf)},7942:()=>{!function(e,t){var i=acf.getCompatibility(acf);i.field_group={save_field:function(e,i){i=i!==t?i:"settings",acf.getFieldObject(e).save(i)},delete_field:function(e,i){i=i===t||i,acf.getFieldObject(e).delete({animate:i})},update_field_meta:function(e,t,i){acf.getFieldObject(e).prop(t,i)},delete_field_meta:function(e,t){acf.getFieldObject(e).prop(t,null)}},i.field_group.field_object=acf.model.extend({type:"",o:{},$field:null,$settings:null,tag:function(e){var t=this.type,i=e.split("_");return i.splice(1,0,"field"),e=i.join("_"),t&&(e+="/type="+t),e},selector:function(){var e=".acf-field-object",t=this.type;return t&&(e+="-"+t,e=acf.str_replace("_","-",e)),e},_add_action:function(e,t){var i=this;acf.add_action(this.tag(e),(function(e){i.set("$field",e),i[t].apply(i,arguments)}))},_add_filter:function(e,t){var i=this;acf.add_filter(this.tag(e),(function(e){i.set("$field",e),i[t].apply(i,arguments)}))},_add_event:function(t,i){var n=this,a=t.substr(0,t.indexOf(" ")),l=t.substr(t.indexOf(" ")+1),s=this.selector();e(document).on(a,s+" "+l,(function(t){t.$el=e(this),t.$field=t.$el.closest(".acf-field-object"),n.set("$field",t.$field),n[i].apply(n,[t])}))},_set_$field:function(){this.o=this.$field.data(),this.$settings=this.$field.find("> .settings > table > tbody"),this.focus()},focus:function(){},setting:function(e){return this.$settings.find("> .acf-field-setting-"+e)}}),new acf.Model({actions:{open_field_object:"onOpenFieldObject",close_field_object:"onCloseFieldObject",add_field_object:"onAddFieldObject",duplicate_field_object:"onDuplicateFieldObject",delete_field_object:"onDeleteFieldObject",change_field_object_type:"onChangeFieldObjectType",change_field_object_label:"onChangeFieldObjectLabel",change_field_object_name:"onChangeFieldObjectName",change_field_object_parent:"onChangeFieldObjectParent",sortstop_field_object:"onChangeFieldObjectParent"},onOpenFieldObject:function(e){acf.doAction("open_field",e.$el),acf.doAction("open_field/type="+e.get("type"),e.$el),acf.doAction("render_field_settings",e.$el),acf.doAction("render_field_settings/type="+e.get("type"),e.$el)},onCloseFieldObject:function(e){acf.doAction("close_field",e.$el),acf.doAction("close_field/type="+e.get("type"),e.$el)},onAddFieldObject:function(e){acf.doAction("add_field",e.$el),acf.doAction("add_field/type="+e.get("type"),e.$el)},onDuplicateFieldObject:function(e){acf.doAction("duplicate_field",e.$el),acf.doAction("duplicate_field/type="+e.get("type"),e.$el)},onDeleteFieldObject:function(e){acf.doAction("delete_field",e.$el),acf.doAction("delete_field/type="+e.get("type"),e.$el)},onChangeFieldObjectType:function(e){acf.doAction("change_field_type",e.$el),acf.doAction("change_field_type/type="+e.get("type"),e.$el),acf.doAction("render_field_settings",e.$el),acf.doAction("render_field_settings/type="+e.get("type"),e.$el)},onChangeFieldObjectLabel:function(e){acf.doAction("change_field_label",e.$el),acf.doAction("change_field_label/type="+e.get("type"),e.$el)},onChangeFieldObjectName:function(e){acf.doAction("change_field_name",e.$el),acf.doAction("change_field_name/type="+e.get("type"),e.$el)},onChangeFieldObjectParent:function(e){acf.doAction("update_field_parent",e.$el)}})}(jQuery)},6298:()=>{var e,t;e=jQuery,t=acf.FieldSetting.extend({type:"",name:"conditional_logic",events:{"change .conditions-toggle":"onChangeToggle","click .add-conditional-group":"onClickAddGroup","focus .condition-rule-field":"onFocusField","change .condition-rule-field":"onChangeField","change .condition-rule-operator":"onChangeOperator","click .add-conditional-rule":"onClickAdd","click .remove-conditional-rule":"onClickRemove"},$rule:!1,scope:function(e){return this.$rule=e,this},ruleData:function(e,t){return this.$rule.data.apply(this.$rule,arguments)},$input:function(e){return this.$rule.find(".condition-rule-"+e)},$td:function(e){return this.$rule.find("td."+e)},$toggle:function(){return this.$(".conditions-toggle")},$control:function(){return this.$(".rule-groups")},$groups:function(){return this.$(".rule-group")},$rules:function(){return this.$(".rule")},$tabLabel:function(){return this.fieldObject.$el.find(".conditional-logic-badge")},$conditionalValueSelect:function(){return this.$(".condition-rule-value")},open:function(){var e=this.$control();e.show(),acf.enable(e)},close:function(){var e=this.$control();e.hide(),acf.disable(e)},render:function(){this.$toggle().prop("checked")?(this.$tabLabel().addClass("is-enabled"),this.renderRules(),this.open()):(this.$tabLabel().removeClass("is-enabled"),this.close())},renderRules:function(){var t=this;this.$rules().each((function(){t.renderRule(e(this))}))},renderRule:function(e){this.scope(e),this.renderField(),this.renderOperator(),this.renderValue()},renderField:function(){var e=[],t=this.fieldObject.cid,i=this.$input("field");acf.getFieldObjects().map((function(i){var n={id:i.getKey(),text:i.getLabel()};i.cid===t&&(n.text+=" "+acf.__("(this field)"),n.disabled=!0),acf.getConditionTypes({fieldType:i.getType()}).length||(n.disabled=!0);var a=i.getParents().length;n.text="- ".repeat(a)+n.text,e.push(n)})),e.length||e.push({id:"",text:acf.__("No toggle fields available")}),acf.renderSelect(i,e),this.ruleData("field",i.val())},renderOperator:function(){if(this.ruleData("field")){var e=this.$input("operator"),t=(e.val(),[]);null===e.val()&&acf.renderSelect(e,[{id:this.ruleData("operator"),text:""}]);var i=acf.findFieldObject(this.ruleData("field")),n=acf.getFieldObject(i);acf.getConditionTypes({fieldType:n.getType()}).map((function(e){t.push({id:e.prototype.operator,text:e.prototype.label})})),acf.renderSelect(e,t),this.ruleData("operator",e.val())}},renderValue:function(){if(!this.ruleData("field")||!this.ruleData("operator"))return;var t=this.$input("value"),i=this.$td("value"),n=t.val(),a=this.$rule[0].getAttribute("data-value"),l=acf.findFieldObject(this.ruleData("field")),s=acf.getFieldObject(l),c=acf.getConditionTypes({fieldType:s.getType(),operator:this.ruleData("operator")})[0].prototype.choices(s);let o;if(c instanceof jQuery&&c.data("acfSelect2Props")){if(o=t.clone(),o.is("input")){var d=t.attr("class");const i=e("").addClass(d).val(a);o=i}acf.addAction("acf_conditional_value_rendered",(function(){acf.newSelect2(o,c.data("acfSelect2Props"))}))}else c instanceof Array?(this.$conditionalValueSelect().removeClass("select2-hidden-accessible"),o=e(""),acf.renderSelect(o,c)):(this.$conditionalValueSelect().removeClass("select2-hidden-accessible"),o=e(c));t.detach(),i.html(o),setTimeout((function(){["class","name","id"].map((function(e){o.attr(e,t.attr(e))})),t.val(a),acf.doAction("acf_conditional_value_rendered")}),0),o.prop("disabled")||acf.val(o,n,!0),this.ruleData("value",o.val())},onChangeToggle:function(){this.render()},onClickAddGroup:function(e,t){this.addGroup()},addGroup:function(){var e=this.$(".rule-group:last"),t=acf.duplicate(e);t.find("h4").text(acf.__("or")),t.find("tr").not(":first").remove();var i=t.find("tr");this.renderRule(i),this.fieldObject.save()},onFocusField:function(e,t){this.renderField()},onChangeField:function(e,t){this.scope(t.closest(".rule")),this.ruleData("field",t.val()),this.renderOperator(),this.renderValue()},onChangeOperator:function(e,t){this.scope(t.closest(".rule")),this.ruleData("operator",t.val()),this.renderValue()},onClickAdd:function(e,t){var i=acf.duplicate(t.closest(".rule"));this.renderRule(i)},onClickRemove:function(e,t){var i=t.closest(".rule");this.fieldObject.save(),0==i.siblings(".rule").length&&i.closest(".rule-group").remove(),i.remove()}}),acf.registerFieldSetting(t),new acf.Model({actions:{duplicate_field_objects:"onDuplicateFieldObjects"},onDuplicateFieldObjects:function(t,i,n){var a={},l=e();t.map((function(e){a[e.get("prevKey")]=e.get("key"),l=l.add(e.$(".condition-rule-field"))})),l.each((function(){var t=e(this),i=t.val();i&&a[i]&&(t.find("option:selected").attr("value",a[i]),t.val(a[i]))}))}})},4770:()=>{var e;e=jQuery,acf.FieldObject=acf.Model.extend({eventScope:".acf-field-object",fieldTypeSelect2:!1,events:{"click .copyable":"onClickCopy","click .handle":"onClickEdit","click .close-field":"onClickEdit",'click a[data-key="acf_field_settings_tabs"]':"onChangeSettingsTab","click .close-add-field":"onClickCloseAddBelow","click .delete-field":"onClickDelete","click .duplicate-field":"duplicate","click .move-field":"move","click .browse-fields":"browseFields","focus .edit-field":"onFocusEdit","blur .edit-field, .row-options a":"onBlurEdit","change .field-type":"onChangeType","change .field-required":"onChangeRequired","blur .field-label":"onChangeLabel","blur .field-name":"onChangeName",change:"onChange",changed:"onChanged"},data:{id:0,key:"",type:""},setup:function(e){this.$el=e,this.inherit(e),this.prop("ID"),this.prop("parent"),this.prop("menu_order")},$input:function(t){return e("#"+this.getInputId()+"-"+t)},$meta:function(){return this.$(".meta:first")},$handle:function(){return this.$(".handle:first")},$settings:function(){return this.$(".settings:first")},$setting:function(e){return this.$(".acf-field-settings:first .acf-field-setting-"+e)},$fieldTypeSelect:function(){return this.$(".field-type")},$fieldLabel:function(){return this.$(".field-label")},getParent:function(){return acf.getFieldObjects({child:this.$el,limit:1}).pop()},getParents:function(){return acf.getFieldObjects({child:this.$el})},getFields:function(){return acf.getFieldObjects({parent:this.$el})},getInputName:function(){return"acf_fields["+this.get("id")+"]"},getInputId:function(){return"acf_fields-"+this.get("id")},newInput:function(t,i){var n=this.getInputId(),a=this.getInputName();t&&(n+="-"+t,a+="["+t+"]");var l=e("").attr({id:n,name:a,value:i});return this.$("> .meta").append(l),l},getProp:function(e){if(this.has(e))return this.get(e);var t=this.$input(e),i=t.length?t.val():null;return this.set(e,i,!0),i},setProp:function(e,t){var i=this.$input(e);return i.val(),i.length||(i=this.newInput(e,t)),null===t?i.remove():i.val(t),this.has(e)?this.set(e,t):this.set(e,t,!0),this},prop:function(e,t){return void 0!==t?this.setProp(e,t):this.getProp(e)},props:function(e){Object.keys(e).map((function(t){this.setProp(t,e[t])}),this)},getLabel:function(){var e=this.prop("label");return""===e&&(e=acf.__("(no label)")),e},getName:function(){return this.prop("name")},getType:function(){return this.prop("type")},getTypeLabel:function(){var e=this.prop("type"),t=acf.get("fieldTypes");return t[e]?t[e].label:e},getKey:function(){return this.prop("key")},initialize:function(){this.checkCopyable()},makeCopyable:function(e){return navigator.clipboard?''+e+"":''+e+""},checkCopyable:function(){navigator.clipboard||this.$el.find(".copyable").addClass("copy-unsupported")},initializeFieldTypeSelect2:function(){if(!this.fieldTypeSelect2&&!this.$fieldTypeSelect().hasClass("disable-select2")){try{e.fn.select2.amd.require("select2/compat/dropdownCss")}catch(e){return void console.warn("ACF was not able to load the full version of select2 due to a conflicting version provided by another plugin or theme taking precedence. Select2 fields may not work as expected.")}this.fieldTypeSelect2=acf.newSelect2(this.$fieldTypeSelect(),{field:!1,ajax:!1,multiple:!1,allowNull:!1,suppressFilters:!0,dropdownCssClass:"field-type-select-results",templateResult:function(t){if(t.loading||t.element&&"OPTGROUP"===t.element.nodeName)(i=e('')).html(acf.strEscape(t.text));else var i=e(''+acf.strEscape(t.text)+"");return i.data("element",t.element),i},templateSelection:function(t){var i=e(''+acf.strEscape(t.text)+"");return i.data("element",t.element),i}}),this.fieldTypeSelect2.on("select2:open",(function(){e(".field-type-select-results input.select2-search__field").attr("placeholder",acf.__("Type to search..."))})),this.fieldTypeSelect2.on("change",(function(t){e(t.target).parents("ul:first").find("button.browse-fields").prop("disabled",!0)})),this.fieldTypeSelect2.$el.parent().on("keydown",".select2-selection.select2-selection--single",this.onKeyDownSelect)}},addProFields:function(){if(acf.get("is_pro")&&acf.get("isLicenseActive"))return;var e=this.$fieldTypeSelect();if(e.hasClass("acf-free-field-type"))return;const t=acf.get("PROFieldTypes");if("object"!=typeof t)return;const i=e.find('optgroup option[value="group"]').parent(),n=e.find('optgroup option[value="image"]').parent();for(const[a,l]of Object.entries(t)){const t="content"===l.category?n:i,s=t.children('[value="'+a+'"]'),c=`${acf.strEscape(l.label)} (${acf.strEscape(acf.__("PRO Only"))})`;s.length?(s.text(c),e.val()!==a&&s.attr("disabled","disabled")):t.append(``)}e.addClass("acf-free-field-type")},render:function(){var e=this.$(".handle:first"),t=this.prop("menu_order"),i=acf.encode(this.getLabel()),n=this.prop("name"),a=this.getTypeLabel(),l=this.prop("key"),s=this.$input("required").prop("checked");e.find(".acf-icon").html(parseInt(t)+1),s&&(i+=' *'),e.find(".li-field-label strong a").html(i),e.find(".li-field-name").html(this.makeCopyable(acf.strSanitize(n)));const c=acf.strSlugify(this.getType());e.find(".field-type-label").text(" "+a),e.find(".field-type-icon").removeClass().addClass("field-type-icon field-type-icon-"+c),e.find(".li-field-key").html(this.makeCopyable(l)),acf.doAction("render_field_object",this)},refresh:function(){acf.doAction("refresh_field_object",this)},isOpen:function(){return this.$el.hasClass("open")},onClickCopy:function(t){if(t.stopPropagation(),!navigator.clipboard||e(t.target).is("input"))return;let i;i=e(t.target).hasClass("acf-input-wrap")?e(t.target).find("input").first().val():e(t.target).text().trim(),navigator.clipboard.writeText(i).then((()=>{e(t.target).closest(".copyable").addClass("copied"),setTimeout((function(){e(t.target).closest(".copyable").removeClass("copied")}),2e3)}))},onClickEdit:function(t){const i=e(t.target);acf.get("is_pro")&&!acf.get("isLicenseActive")&&!acf.get("isLicenseExpired")&&acf.get("PROFieldTypes").hasOwnProperty(this.getType())||i.parent().hasClass("row-options")&&!i.hasClass("edit-field")||(this.isOpen()?this.close():this.open())},onClickCloseAddBelow:function(){this.close(),acf.doAction("add_field_below",this.$el)},onChangeSettingsTab:function(){const e=this.$el.children(".settings");acf.doAction("show",e)},onFocusEdit:function(t){e(t.target).closest("li").find(".row-options").addClass("active")},onBlurEdit:function(t){var i=e(t.target).closest("li").find(".row-options");setTimeout((function(){var t=e(document.activeElement).closest("li").find(".row-options");i.is(t)||i.removeClass("active")}),50)},open:function(){var e=this.$el.children(".settings");this.addProFields(),this.initializeFieldTypeSelect2(),acf.doAction("open_field_object",this),this.trigger("openFieldObject"),acf.doAction("show",e),this.hideEmptyTabs(),e.slideDown(),this.$el.addClass("open")},onKeyDownSelect:function(t){t.which>=186&&t.which<=222||[8,9,13,16,17,18,19,20,27,32,33,34,35,36,37,38,39,40,45,46,91,92,93,144,145].includes(t.which)||t.which>=112&&t.which<=123||e(this).closest(".select2-container").siblings("select:enabled").select2("open")},close:function(){var e=this.$el.children(".settings");e.slideUp(),this.$el.removeClass("open"),acf.doAction("close_field_object",this),this.trigger("closeFieldObject"),acf.doAction("hide",e)},serialize:function(){return acf.serialize(this.$el,this.getInputName())},save:function(e){e=e||"settings","settings"!==this.getProp("save")&&(this.setProp("save",e),this.$el.attr("data-save",e),acf.doAction("save_field_object",this,e))},submit:function(){var e=this.getInputName(),t=this.get("save");this.isOpen()&&this.close(),"settings"==t||("meta"==t?this.$('> .settings [name^="'+e+'"]').remove():this.$('[name^="'+e+'"]').remove()),acf.doAction("submit_field_object",this)},onChange:function(e,t){this.save(),acf.doAction("change_field_object",this)},onChanged:function(t,i,n,a){this.getType()===i.attr("data-type")&&e("button.acf-btn.browse-fields").prop("disabled",!1),"save"!=n&&(["menu_order","parent"].indexOf(n)>-1?this.save("meta"):this.save(),["menu_order","label","required","name","type","key"].indexOf(n)>-1&&this.render(),acf.doAction("change_field_object_"+n,this,a))},onChangeLabel:function(e,t){const i=t.val(),n=acf.encode(i);if(this.set("label",n),""==this.prop("name")){var a=acf.applyFilters("generate_field_object_name",acf.strSanitize(i),this);this.prop("name",a)}},onChangeName:function(e,t){const i=acf.strSanitize(t.val(),!1);t.val(i),this.set("name",i),i.startsWith("field_")&&alert(acf.__('The string "field_" may not be used at the start of a field name'))},onChangeRequired:function(e,t){var i=t.prop("checked")?1:0;this.set("required",i)},delete:function(t){t=acf.parseArgs(t,{animate:!0});var i=this.prop("ID");if(i){var n=e("#_acf_delete_fields"),a=n.val()+"|"+i;n.val(a)}acf.doAction("delete_field_object",this),t.animate?this.removeAnimate():this.remove()},onClickDelete:function(e,t){if(e.shiftKey)return this.delete();this.$el.addClass("-hover"),acf.newTooltip({confirmRemove:!0,target:t,context:this,confirm:function(){this.delete()},cancel:function(){this.$el.removeClass("-hover")}})},removeAnimate:function(){var e=this,t=this.$el.parent(),i=acf.findFieldObjects({sibling:this.$el});acf.remove({target:this.$el,endHeight:i.length?0:50,complete:function(){e.remove(),acf.doAction("removed_field_object",e,t)}}),acf.doAction("remove_field_object",e,t)},duplicate:function(){var e=acf.uniqid("field_"),t=acf.duplicate({target:this.$el,search:this.get("id"),replace:e});t.attr("data-key",e);var i=acf.getFieldObject(t),n=i.prop("label"),a=i.prop("name"),l=a.split("_").pop(),s=acf.__("copy");if(acf.isNumeric(l)){var c=1*l+1;n=n.replace(l,c),a=a.replace(l,c)}else 0===l.indexOf(s)?(c=(c=1*l.replace(s,""))?c+1:2,n=n.replace(l,s+c),a=a.replace(l,s+c)):(n+=" ("+s+")",a+="_"+s);i.prop("ID",0),i.prop("label",n),i.prop("name",a),i.prop("key",e),this.isOpen()&&this.close(),i.open();var o=i.$setting("label input");setTimeout((function(){o.trigger("focus")}),251),acf.doAction("duplicate_field_object",this,i),acf.doAction("append_field_object",i)},wipe:function(){var e=this.get("id"),t=this.get("key"),i=acf.uniqid("field_");acf.rename({target:this.$el,search:e,replace:i}),this.set("id",i),this.set("prevId",e),this.set("prevKey",t),this.prop("key",i),this.prop("ID",0),this.$el.attr("data-key",i),this.$el.attr("data-id",i),acf.doAction("wipe_field_object",this)},move:function(){var t=function(e){return"settings"==e.get("save")},i=t(this);if(i||acf.getFieldObjects({parent:this.$el}).map((function(e){i=t(e)||e.changed})),i)alert(acf.__("This field cannot be moved until its changes have been saved"));else{var n=this.prop("ID"),a=this,l=!1,s=function(e){l.loading(!1),l.content(e),l.on("submit","form",c)},c=function(t,i){t.preventDefault(),acf.startButtonLoading(l.$(".button"));var a={action:"acf/field_group/move_field",field_id:n,field_group_id:l.$("select").val()};e.ajax({url:acf.get("ajaxurl"),data:acf.prepareForAjax(a),type:"post",dataType:"html",success:o})},o=function(e){l.content(e),wp.a11y&&wp.a11y.speak&&acf.__&&wp.a11y.speak(acf.__("Field moved to other group"),"polite"),l.$(".acf-close-popup").focus(),a.removeAnimate()};!function(){l=acf.newPopup({title:acf.__("Move Custom Field"),loading:!0,width:"300px",openedBy:a.$el.find(".move-field")});var t={action:"acf/field_group/move_field",field_id:n};e.ajax({url:acf.get("ajaxurl"),data:acf.prepareForAjax(t),type:"post",dataType:"html",success:s})}()}},browseFields:function(e,t){e.preventDefault(),acf.newBrowseFieldsModal({openedBy:this})},onChangeType:function(e,t){this.changeTimeout&&clearTimeout(this.changeTimeout),this.changeTimeout=this.setTimeout((function(){this.changeType(t.val())}),300)},changeType:function(t){var i=this.prop("type"),n=acf.strSlugify("acf-field-object-"+i),a=acf.strSlugify("acf-field-object-"+t);this.$el.removeClass(n).addClass(a),this.$el.attr("data-type",t),this.$el.data("type",t),this.has("xhr")&&this.get("xhr").abort();const l={};if(this.$el.find(".acf-field-settings:first > .acf-field-settings-main > .acf-field-type-settings").each((function(){let t=e(this).data("parent-tab"),i=e(this).children().removeData();l[t]=i,i.detach()})),this.set("settings-"+i,l),this.has("settings-"+t)){let e=this.get("settings-"+t);return this.showFieldTypeSettings(e),void this.set("type",t)}const s=e('
    ');this.$el.find(".acf-field-settings-main-general .acf-field-type-settings").before(s);const c={action:"acf/field_group/render_field_settings",field:this.serialize(),prefix:this.getInputName()};var o=e.ajax({url:acf.get("ajaxurl"),data:acf.prepareForAjax(c),type:"post",dataType:"json",context:this,success:function(e){acf.isAjaxSuccess(e)&&this.showFieldTypeSettings(e.data)},complete:function(){s.remove(),this.set("type",t)}});this.set("xhr",o)},showFieldTypeSettings:function(e){if("object"!=typeof e)return;const t=this;Object.keys(e).forEach((i=>{const n=t.$el.find(".acf-field-settings-main-"+i.replace("_","-")+" .acf-field-type-settings");let a="";["object","string"].includes(typeof e[i])&&(a=e[i]),n.prepend(a),acf.doAction("append",n)})),this.hideEmptyTabs()},updateParent:function(){var e=acf.get("post_id"),t=this.getParent();t&&(e=parseInt(t.prop("ID"))||t.prop("key")),this.prop("parent",e)},hideEmptyTabs:function(){const t=this.$settings();t.find(".acf-field-settings:first > .acf-field-settings-main").each((function(){const i=e(this),n=i.find(".acf-field-type-settings:first").data("parentTab"),a=t.find(".acf-settings-type-"+n).first();""===e.trim(i.text())?a.hide():a.is(":hidden")&&a.show()}))}})},7297:()=>{var e;e=jQuery,acf.findFieldObject=function(e){return acf.findFieldObjects({key:e,limit:1})},acf.findFieldObjects=function(t){t=t||{};var i=".acf-field-object",n=!1;return(t=acf.parseArgs(t,{id:"",key:"",type:"",limit:!1,list:null,parent:!1,sibling:!1,child:!1})).id&&(i+='[data-id="'+t.id+'"]'),t.key&&(i+='[data-key="'+t.key+'"]'),t.type&&(i+='[data-type="'+t.type+'"]'),n=t.list?t.list.children(i):t.parent?t.parent.find(i):t.sibling?t.sibling.siblings(i):t.child?t.child.parents(i):e(i),t.limit&&(n=n.slice(0,t.limit)),n},acf.getFieldObject=function(e){"string"==typeof e&&(e=acf.findFieldObject(e));var t=e.data("acf");return t||(t=acf.newFieldObject(e)),t},acf.getFieldObjects=function(t){var i=acf.findFieldObjects(t),n=[];return i.each((function(){var t=acf.getFieldObject(e(this));n.push(t)})),n},acf.newFieldObject=function(e){var t=new acf.FieldObject(e);return acf.doAction("new_field_object",t),t},new acf.Model({priority:5,initialize:function(){["prepare","ready","append","remove"].map((function(e){this.addFieldActions(e)}),this)},addFieldActions:function(e){var t=e+"_field_objects",i=e+"_field_object",n=e+"FieldObject";acf.addAction(e,(function(e){var i=acf.getFieldObjects({parent:e});if(i.length){var n=acf.arrayArgs(arguments);n.splice(0,1,t,i),acf.doAction.apply(null,n)}}),5),acf.addAction(t,(function(e){var t=acf.arrayArgs(arguments);t.unshift(i),e.map((function(e){t[1]=e,acf.doAction.apply(null,t)}))}),5),acf.addAction(i,(function(e){var t=acf.arrayArgs(arguments);t.unshift(i),["type","name","key"].map((function(n){t[0]=i+"/"+n+"="+e.get(n),acf.doAction.apply(null,t)})),t.splice(0,2),e.trigger(n,t)}),5)}}),new acf.Model({id:"fieldManager",events:{"submit #post":"onSubmit","mouseenter .acf-field-list":"onHoverSortable","click .add-field":"onClickAdd"},actions:{removed_field_object:"onRemovedField",sortstop_field_object:"onReorderField",delete_field_object:"onDeleteField",change_field_object_type:"onChangeFieldType",duplicate_field_object:"onDuplicateField",add_field_below:"onAddFieldBelow"},onSubmit:function(e,t){acf.getFieldObjects().map((function(e){e.submit()}))},setFieldMenuOrder:function(e){this.renderFields(e.$el.parent())},onHoverSortable:function(e,t){t.hasClass("ui-sortable")||t.sortable({helper:function(e,t){return t.clone().find(":input").attr("name",(function(e,t){return"sort_"+parseInt(1e5*Math.random(),10).toString()+"_"+t})).end()},handle:".acf-sortable-handle",connectWith:".acf-field-list",start:function(e,i){var n=acf.getFieldObject(i.item);i.placeholder.height(i.item.height()),acf.doAction("sortstart_field_object",n,t)},update:function(e,i){var n=acf.getFieldObject(i.item);acf.doAction("sortstop_field_object",n,t)}})},onRemovedField:function(e,t){this.renderFields(t)},onReorderField:function(e,t){e.updateParent(),this.renderFields(t)},onDeleteField:function(e){e.getFields().map((function(e){e.delete({animate:!1})}))},onChangeFieldType:function(e){e.$el.find("button.browse-fields").prop("disabled",!1)},onDuplicateField:function(e,t){var i=t.getFields();i.length&&(i.map((function(e){e.wipe(),e.isOpen()&&e.open(),e.updateParent()})),acf.doAction("duplicate_field_objects",i,t,e)),this.setFieldMenuOrder(t)},onAddFieldBelow:function(e){this.addField(e.parent(),e)},renderFields:function(e){var t=acf.getFieldObjects({list:e});if(!t.length)return e.addClass("-empty"),void e.parents(".acf-field-list-wrap").first().addClass("-empty");e.removeClass("-empty"),e.parents(".acf-field-list-wrap").first().removeClass("-empty"),t.map((function(e,t){e.prop("menu_order",t)}))},onClickAdd:function(t,i){let n;n=i.hasClass("add-first-field")?i.parents(".acf-field-list").eq(0):i.parent().hasClass("acf-headerbar-actions")||i.parent().hasClass("no-fields-message-inner")?e(".acf-field-list:first"):i.parent().hasClass("acf-sub-field-list-header")?i.parents(".acf-input:first").find(".acf-field-list:first"):i.closest(".acf-tfoot").siblings(".acf-field-list"),this.addField(n)},addField:function(t,i){var n=e("#tmpl-acf-field").html(),a=e(n),l=a.data("id"),s=acf.uniqid("field_"),c=acf.duplicate({target:a,search:l,replace:s,append:function(e,n){i?i.after(n):t.append(n)}}),o=acf.getFieldObject(c);o.prop("key",s),o.prop("ID",0),o.prop("label",""),o.prop("name",""),c.attr("data-key",s),c.attr("data-id",s),o.updateParent();var d=o.$input("type");setTimeout((function(){t.hasClass("acf-auto-add-field")?t.removeClass("acf-auto-add-field"):d.trigger("focus")}),251),o.open(),this.renderFields(t),acf.doAction("add_field_object",o),acf.doAction("append_field_object",o)}})},2522:()=>{var e;e=jQuery,new acf.Model({id:"locationManager",wait:"ready",events:{"click .add-location-rule":"onClickAddRule","click .add-location-group":"onClickAddGroup","click .remove-location-rule":"onClickRemoveRule","change .refresh-location-rule":"onChangeRemoveRule"},initialize:function(){this.$el=e("#acf-field-group-options"),this.addProLocations(),this.updateGroupsClass()},addProLocations:function(){if(acf.get("is_pro")&&acf.get("isLicenseActive"))return;const e=acf.get("PROLocationTypes");if("object"!=typeof e)return;const t=this.$el.find("select.refresh-location-rule").find('optgroup[label="Forms"]'),i=` (${acf.__("PRO Only")})`;for(const[n,a]of Object.entries(e))acf.get("is_pro")?t.find("option[value="+n+"]").not(":selected").prop("disabled","disabled").text(`${acf.strEscape(a)}${acf.strEscape(i)}`):t.append(``);const n=this.$el.find("select.location-rule-value option[value=add_new_options_page]");n.length&&n.attr("disabled","disabled")},onClickAddRule:function(e,t){this.addRule(t.closest("tr"))},onClickRemoveRule:function(e,t){this.removeRule(t.closest("tr"))},onChangeRemoveRule:function(e,t){this.changeRule(t.closest("tr"))},onClickAddGroup:function(e,t){this.addGroup()},addRule:function(e){acf.duplicate(e),this.updateGroupsClass()},removeRule:function(e){0==e.siblings("tr").length?e.closest(".rule-group").remove():e.remove(),this.$(".rule-group:first").find("h4").text(acf.__("Show this field group if")),this.updateGroupsClass()},changeRule:function(t){var i=t.closest(".rule-group"),n=t.find("td.param select").attr("name").replace("[param]",""),a={action:"acf/field_group/render_location_rule"};a.rule=acf.serialize(t,n),a.rule.id=t.data("id"),a.rule.group=i.data("id"),acf.disable(t.find("td.value"));const l=this;e.ajax({url:acf.get("ajaxurl"),data:acf.prepareForAjax(a),type:"post",dataType:"html",success:function(e){e&&(t.replaceWith(e),l.addProLocations())}})},addGroup:function(){var e=this.$(".rule-group:last");$group2=acf.duplicate(e),$group2.find("h4").text(acf.__("or")),$group2.find("tr").not(":first").remove(),this.updateGroupsClass()},updateGroupsClass:function(){var e=this.$(".rule-group:last").closest(".rule-groups");e.find(".acf-table tr").length>1?e.addClass("rule-groups-multiple"):e.removeClass("rule-groups-multiple")}})},749:()=>{!function(e){var t=function(e){return acf.strPascalCase(e||"")+"FieldSetting"};acf.registerFieldSetting=function(e){var i=e.prototype,n=t(i.type+" "+i.name);this.models[n]=e},acf.newFieldSetting=function(e){var i=e.get("setting")||"",n=e.get("name")||"",a=t(i+" "+n),l=acf.models[a]||null;return null!==l&&new l(e)},acf.getFieldSetting=function(e){return e instanceof jQuery&&(e=acf.getField(e)),e.setting},new acf.Model({actions:{new_field:"onNewField"},onNewField:function(e){e.setting=acf.newFieldSetting(e)}}),acf.FieldSetting=acf.Model.extend({field:!1,type:"",name:"",wait:"ready",eventScope:".acf-field",events:{change:"render"},setup:function(t){var i=t.$el;this.$el=i,this.field=t,this.$fieldObject=i.closest(".acf-field-object"),this.fieldObject=acf.getFieldObject(this.$fieldObject),e.extend(this.data,t.data)},initialize:function(){this.render()},render:function(){}});var i=acf.FieldSetting.extend({type:"",name:"",render:function(){this.fieldObject.$setting("endpoint").find('input[type="checkbox"]:first').is(":checked")?this.fieldObject.$el.addClass("acf-field-is-endpoint"):this.fieldObject.$el.removeClass("acf-field-is-endpoint")}}),n=i.extend({type:"accordion",name:"endpoint"}),a=i.extend({type:"tab",name:"endpoint"});acf.registerFieldSetting(n),acf.registerFieldSetting(a);var l=acf.FieldSetting.extend({type:"",name:"",render:function(){var e=this.$('input[type="radio"]:checked');"other"!=e.val()&&this.$('input[type="text"]').val(e.val())}}),s=l.extend({type:"date_picker",name:"display_format"}),c=l.extend({type:"date_picker",name:"return_format"});acf.registerFieldSetting(s),acf.registerFieldSetting(c);var o=l.extend({type:"date_time_picker",name:"display_format"}),d=l.extend({type:"date_time_picker",name:"return_format"});acf.registerFieldSetting(o),acf.registerFieldSetting(d);var r=l.extend({type:"time_picker",name:"display_format"}),f=l.extend({type:"time_picker",name:"return_format"});acf.registerFieldSetting(r),acf.registerFieldSetting(f);var p=acf.FieldSetting.extend({type:"color_picker",name:"enable_opacity",render:function(){var e=this.fieldObject.$setting("return_format"),t=this.fieldObject.$setting("default_value"),i=e.find('input[type="radio"][value="string"]').parent("label").contents().last(),n=t.find('input[type="text"]'),a=acf.get("colorPickerL10n");this.field.val()?(i.replaceWith(a.rgba_string),n.attr("placeholder","rgba(255,255,255,0.8)")):(i.replaceWith(a.hex_string),n.attr("placeholder","#FFFFFF"))}});acf.registerFieldSetting(p)}(jQuery)},3319:()=>{var e;e=jQuery,new acf.Model({id:"fieldGroupManager",events:{"submit #post":"onSubmit",'click a[href="#"]':"onClick","click .acf-delete-field-group":"onClickDeleteFieldGroup","blur input#title":"validateTitle","input input#title":"validateTitle"},filters:{find_fields_args:"filterFindFieldArgs",find_fields_selector:"filterFindFieldsSelector"},initialize:function(){acf.addAction("prepare",this.maybeInitNewFieldGroup),acf.add_filter("select2_args",this.setBidirectionalSelect2Args),acf.add_filter("select2_ajax_data",this.setBidirectionalSelect2AjaxDataArgs)},setBidirectionalSelect2Args:function(t,i,n,a,l){if("bidirectional_target"!==a?.data?.("key"))return t;t.dropdownCssClass="field-type-select-results";try{e.fn.select2.amd.require("select2/compat/dropdownCss")}catch(e){console.warn("ACF was not able to load the full version of select2 due to a conflicting version provided by another plugin or theme taking precedence. Skipping styling of bidirectional settings."),delete t.dropdownCssClass}return t.templateResult=function(t){if(void 0!==t.element)return t;if(t.children)return t.text;if(t.loading||t.element&&"OPTGROUP"===t.element.nodeName)return(i=e('')).html(acf.escHtml(t.text)),i;if(void 0===t.human_field_type||void 0===t.field_type||void 0===t.this_field)return t.text;var i=e(''+acf.escHtml(t.text)+"");return t.this_field&&i.last().append(''+acf.__("This Field")+""),i.data("element",t.element),i},t},setBidirectionalSelect2AjaxDataArgs:function(e,t,i,n,a){if("bidirectional_target"!==e.field_key)return e;const l=acf.findFieldObjects({child:n}),s=acf.getFieldObject(l);return e.field_key="_acf_bidirectional_target",e.parent_key=s.get("key"),e.field_type=s.get("type"),e.post_type=acf.getField(acf.findFields({parent:l,key:"post_type"})).val(),e},maybeInitNewFieldGroup:function(){e("#acf-field-group-fields > .inside > .acf-field-list-wrap.acf-auto-add-field").length&&(e(".acf-headerbar-actions .add-field").trigger("click"),e(".acf-title-wrap #title").trigger("focus"))},onSubmit:function(t,i){var n=e(".acf-title-wrap #title");n.val()||(t.preventDefault(),acf.unlockForm(i),n.trigger("focus"))},onClick:function(e){e.preventDefault()},onClickDeleteFieldGroup:function(e,t){e.preventDefault(),t.addClass("-hover"),acf.newTooltip({confirm:!0,target:t,context:this,text:acf.__("Move field group to trash?"),confirm:function(){window.location.href=t.attr("href")},cancel:function(){t.removeClass("-hover")}})},validateTitle:function(t,i){let n=e(".acf-publish");i.val()?(i.removeClass("acf-input-error"),n.removeClass("disabled"),e(".acf-publish").removeClass("disabled")):(i.addClass("acf-input-error"),n.addClass("disabled"),e(".acf-publish").addClass("disabled"))},filterFindFieldArgs:function(e){return e.visible=!0,e.parent&&(e.parent.hasClass("acf-field-object")||e.parent.hasClass("acf-browse-fields-modal-wrap")||e.parent.parents(".acf-field-object").length)&&(e.visible=!1,e.excludeSubFields=!0),e.parent&&e.parent.find(".acf-field-object.open").length&&(e.excludeSubFields=!1),e},filterFindFieldsSelector:function(e){return e+", .acf-field-acf-field-group-settings-tabs"}}),new acf.Model({id:"screenOptionsManager",wait:"prepare",events:{"change #acf-field-key-hide":"onFieldKeysChange","change #acf-field-settings-tabs":"onFieldSettingsTabsChange",'change [name="screen_columns"]':"render"},initialize:function(){var t=e("#adv-settings"),i=e("#acf-append-show-on-screen");t.find(".metabox-prefs").append(i.html()),t.find(".metabox-prefs br").remove(),i.remove(),this.$el=e("#screen-options-wrap"),this.render()},isFieldKeysChecked:function(){return this.$el.find("#acf-field-key-hide").prop("checked")},isFieldSettingsTabsChecked:function(){const e=this.$el.find("#acf-field-settings-tabs");return!!e.length&&e.prop("checked")},getSelectedColumnCount:function(){return this.$el.find('input[name="screen_columns"]:checked').val()},onFieldKeysChange:function(e,t){var i=this.isFieldKeysChecked()?1:0;acf.updateUserSetting("show_field_keys",i),this.render()},onFieldSettingsTabsChange:function(){const e=this.isFieldSettingsTabsChecked()?1:0;acf.updateUserSetting("show_field_settings_tabs",e),this.render()},render:function(){this.isFieldKeysChecked()?e("#acf-field-group-fields").addClass("show-field-keys"):e("#acf-field-group-fields").removeClass("show-field-keys"),this.isFieldSettingsTabsChecked()?(e("#acf-field-group-fields").removeClass("hide-tabs"),e(".acf-field-object").each((function(){const t=acf.getFields({type:"tab",parent:e(this),excludeSubFields:!0,limit:1});t.length&&t[0].tabs.set("initialized",!1),acf.doAction("show",e(this))}))):(e("#acf-field-group-fields").addClass("hide-tabs"),e(".acf-field-settings-main").removeClass("acf-hidden").prop("hidden",!1)),1==this.getSelectedColumnCount()?(e("body").removeClass("columns-2"),e("body").addClass("columns-1")):(e("body").removeClass("columns-1"),e("body").addClass("columns-2"))}}),new acf.Model({actions:{new_field:"onNewField"},onNewField:function(t){if(t.has("append")){var i=t.get("append"),n=t.$el.siblings('[data-name="'+i+'"]').first();if(n.length){var a=n.children(".acf-input"),l=a.children("ul");l.length||(a.wrapInner(''),l=a.children("ul"));var s=t.$(".acf-input").html(),c=e("
  • "+s+"
  • ");l.append(c),l.attr("data-cols",l.children().length),t.remove()}}}})}},t={};function i(n){var a=t[n];if(void 0!==a)return a.exports;var l=t[n]={exports:{}};return e[n](l,l.exports,i),l.exports}i.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return i.d(t,{a:t}),t},i.d=(e,t)=>{for(var n in t)i.o(t,n)&&!i.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},i.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{"use strict";i(3319),i(4770),i(749),i(6298),i(7297),i(2522),i(7942),i(3717)})()})(); \ No newline at end of file diff --git a/wp-content/plugins/advanced-custom-fields-pro/assets/build/js/acf-input.js b/wp-content/plugins/advanced-custom-fields-pro/assets/build/js/acf-input.js deleted file mode 100644 index d88cadae0..000000000 --- a/wp-content/plugins/advanced-custom-fields-pro/assets/build/js/acf-input.js +++ /dev/null @@ -1,11580 +0,0 @@ -/******/ (() => { // webpackBootstrap -/******/ var __webpack_modules__ = ({ - -/***/ "./src/advanced-custom-fields-pro/assets/src/js/_acf-compatibility.js": -/*!****************************************************************************!*\ - !*** ./src/advanced-custom-fields-pro/assets/src/js/_acf-compatibility.js ***! - \****************************************************************************/ -/***/ (() => { - -(function ($, undefined) { - /** - * acf.newCompatibility - * - * Inserts a new __proto__ object compatibility layer - * - * @date 15/2/18 - * @since 5.6.9 - * - * @param object instance The object to modify. - * @param object compatibilty Optional. The compatibilty layer. - * @return object compatibilty - */ - - acf.newCompatibility = function (instance, compatibilty) { - // defaults - compatibilty = compatibilty || {}; - - // inherit __proto_- - compatibilty.__proto__ = instance.__proto__; - - // inject - instance.__proto__ = compatibilty; - - // reference - instance.compatibility = compatibilty; - - // return - return compatibilty; - }; - - /** - * acf.getCompatibility - * - * Returns the compatibility layer for a given instance - * - * @date 13/3/18 - * @since 5.6.9 - * - * @param object instance The object to look in. - * @return object|null compatibility The compatibility object or null on failure. - */ - - acf.getCompatibility = function (instance) { - return instance.compatibility || null; - }; - - /** - * acf (compatibility) - * - * Compatibility layer for the acf object - * - * @date 15/2/18 - * @since 5.6.9 - * - * @param void - * @return void - */ - - var _acf = acf.newCompatibility(acf, { - // storage - l10n: {}, - o: {}, - fields: {}, - // changed function names - update: acf.set, - add_action: acf.addAction, - remove_action: acf.removeAction, - do_action: acf.doAction, - add_filter: acf.addFilter, - remove_filter: acf.removeFilter, - apply_filters: acf.applyFilters, - parse_args: acf.parseArgs, - disable_el: acf.disable, - disable_form: acf.disable, - enable_el: acf.enable, - enable_form: acf.enable, - update_user_setting: acf.updateUserSetting, - prepare_for_ajax: acf.prepareForAjax, - is_ajax_success: acf.isAjaxSuccess, - remove_el: acf.remove, - remove_tr: acf.remove, - str_replace: acf.strReplace, - render_select: acf.renderSelect, - get_uniqid: acf.uniqid, - serialize_form: acf.serialize, - esc_html: acf.strEscape, - str_sanitize: acf.strSanitize - }); - _acf._e = function (k1, k2) { - // defaults - k1 = k1 || ''; - k2 = k2 || ''; - - // compability - var compatKey = k2 ? k1 + '.' + k2 : k1; - var compats = { - 'image.select': 'Select Image', - 'image.edit': 'Edit Image', - 'image.update': 'Update Image' - }; - if (compats[compatKey]) { - return acf.__(compats[compatKey]); - } - - // try k1 - var string = this.l10n[k1] || ''; - - // try k2 - if (k2) { - string = string[k2] || ''; - } - - // return - return string; - }; - _acf.get_selector = function (s) { - // vars - var selector = '.acf-field'; - - // bail early if no search - if (!s) { - return selector; - } - - // compatibility with object - if ($.isPlainObject(s)) { - if ($.isEmptyObject(s)) { - return selector; - } else { - for (var k in s) { - s = s[k]; - break; - } - } - } - - // append - selector += '-' + s; - - // replace underscores (split/join replaces all and is faster than regex!) - selector = acf.strReplace('_', '-', selector); - - // remove potential double up - selector = acf.strReplace('field-field-', 'field-', selector); - - // return - return selector; - }; - _acf.get_fields = function (s, $el, all) { - // args - var args = { - is: s || '', - parent: $el || false, - suppressFilters: all || false - }; - - // change 'field_123' to '.acf-field-123' - if (args.is) { - args.is = this.get_selector(args.is); - } - - // return - return acf.findFields(args); - }; - _acf.get_field = function (s, $el) { - // get fields - var $fields = this.get_fields.apply(this, arguments); - - // return - if ($fields.length) { - return $fields.first(); - } else { - return false; - } - }; - _acf.get_closest_field = function ($el, s) { - return $el.closest(this.get_selector(s)); - }; - _acf.get_field_wrap = function ($el) { - return $el.closest(this.get_selector()); - }; - _acf.get_field_key = function ($field) { - return $field.data('key'); - }; - _acf.get_field_type = function ($field) { - return $field.data('type'); - }; - _acf.get_data = function ($el, defaults) { - return acf.parseArgs($el.data(), defaults); - }; - _acf.maybe_get = function (obj, key, value) { - // default - if (value === undefined) { - value = null; - } - - // get keys - keys = String(key).split('.'); - - // acf.isget - for (var i = 0; i < keys.length; i++) { - if (!obj.hasOwnProperty(keys[i])) { - return value; - } - obj = obj[keys[i]]; - } - return obj; - }; - - /** - * hooks - * - * Modify add_action and add_filter functions to add compatibility with changed $field parameter - * Using the acf.add_action() or acf.add_filter() functions will interpret new field parameters as jQuery $field - * - * @date 12/5/18 - * @since 5.6.9 - * - * @param void - * @return void - */ - - var compatibleArgument = function (arg) { - return arg instanceof acf.Field ? arg.$el : arg; - }; - var compatibleArguments = function (args) { - return acf.arrayArgs(args).map(compatibleArgument); - }; - var compatibleCallback = function (origCallback) { - return function () { - // convert to compatible arguments - if (arguments.length) { - var args = compatibleArguments(arguments); - - // add default argument for 'ready', 'append' and 'load' events - } else { - var args = [$(document)]; - } - - // return - return origCallback.apply(this, args); - }; - }; - _acf.add_action = function (action, callback, priority, context) { - // handle multiple actions - var actions = action.split(' '); - var length = actions.length; - if (length > 1) { - for (var i = 0; i < length; i++) { - action = actions[i]; - _acf.add_action.apply(this, arguments); - } - return this; - } - - // single - var callback = compatibleCallback(callback); - return acf.addAction.apply(this, arguments); - }; - _acf.add_filter = function (action, callback, priority, context) { - var callback = compatibleCallback(callback); - return acf.addFilter.apply(this, arguments); - }; - - /* - * acf.model - * - * This model acts as a scafold for action.event driven modules - * - * @type object - * @date 8/09/2014 - * @since 5.0.0 - * - * @param (object) - * @return (object) - */ - - _acf.model = { - actions: {}, - filters: {}, - events: {}, - extend: function (args) { - // extend - var model = $.extend({}, this, args); - - // setup actions - $.each(model.actions, function (name, callback) { - model._add_action(name, callback); - }); - - // setup filters - $.each(model.filters, function (name, callback) { - model._add_filter(name, callback); - }); - - // setup events - $.each(model.events, function (name, callback) { - model._add_event(name, callback); - }); - - // return - return model; - }, - _add_action: function (name, callback) { - // split - var model = this, - data = name.split(' '); - - // add missing priority - var name = data[0] || '', - priority = data[1] || 10; - - // add action - acf.add_action(name, model[callback], priority, model); - }, - _add_filter: function (name, callback) { - // split - var model = this, - data = name.split(' '); - - // add missing priority - var name = data[0] || '', - priority = data[1] || 10; - - // add action - acf.add_filter(name, model[callback], priority, model); - }, - _add_event: function (name, callback) { - // vars - var model = this, - i = name.indexOf(' '), - event = i > 0 ? name.substr(0, i) : name, - selector = i > 0 ? name.substr(i + 1) : ''; - - // event - var fn = function (e) { - // append $el to event object - e.$el = $(this); - - // append $field to event object (used in field group) - if (acf.field_group) { - e.$field = e.$el.closest('.acf-field-object'); - } - - // event - if (typeof model.event === 'function') { - e = model.event(e); - } - - // callback - model[callback].apply(model, arguments); - }; - - // add event - if (selector) { - $(document).on(event, selector, fn); - } else { - $(document).on(event, fn); - } - }, - get: function (name, value) { - // defaults - value = value || null; - - // get - if (typeof this[name] !== 'undefined') { - value = this[name]; - } - - // return - return value; - }, - set: function (name, value) { - // set - this[name] = value; - - // function for 3rd party - if (typeof this['_set_' + name] === 'function') { - this['_set_' + name].apply(this); - } - - // return for chaining - return this; - } - }; - - /* - * field - * - * This model sets up many of the field's interactions - * - * @type function - * @date 21/02/2014 - * @since 3.5.1 - * - * @param n/a - * @return n/a - */ - - _acf.field = acf.model.extend({ - type: '', - o: {}, - $field: null, - _add_action: function (name, callback) { - // vars - var model = this; - - // update name - name = name + '_field/type=' + model.type; - - // add action - acf.add_action(name, function ($field) { - // focus - model.set('$field', $field); - - // callback - model[callback].apply(model, arguments); - }); - }, - _add_filter: function (name, callback) { - // vars - var model = this; - - // update name - name = name + '_field/type=' + model.type; - - // add action - acf.add_filter(name, function ($field) { - // focus - model.set('$field', $field); - - // callback - model[callback].apply(model, arguments); - }); - }, - _add_event: function (name, callback) { - // vars - var model = this, - event = name.substr(0, name.indexOf(' ')), - selector = name.substr(name.indexOf(' ') + 1), - context = acf.get_selector(model.type); - - // add event - $(document).on(event, context + ' ' + selector, function (e) { - // vars - var $el = $(this); - var $field = acf.get_closest_field($el, model.type); - - // bail early if no field - if (!$field.length) return; - - // focus - if (!$field.is(model.$field)) { - model.set('$field', $field); - } - - // append to event - e.$el = $el; - e.$field = $field; - - // callback - model[callback].apply(model, [e]); - }); - }, - _set_$field: function () { - // callback - if (typeof this.focus === 'function') { - this.focus(); - } - }, - // depreciated - doFocus: function ($field) { - return this.set('$field', $field); - } - }); - - /** - * validation - * - * description - * - * @date 15/2/18 - * @since 5.6.9 - * - * @param type $var Description. Default. - * @return type Description. - */ - - var _validation = acf.newCompatibility(acf.validation, { - remove_error: function ($field) { - acf.getField($field).removeError(); - }, - add_warning: function ($field, message) { - acf.getField($field).showNotice({ - text: message, - type: 'warning', - timeout: 1000 - }); - }, - fetch: acf.validateForm, - enableSubmit: acf.enableSubmit, - disableSubmit: acf.disableSubmit, - showSpinner: acf.showSpinner, - hideSpinner: acf.hideSpinner, - unlockForm: acf.unlockForm, - lockForm: acf.lockForm - }); - - /** - * tooltip - * - * description - * - * @date 15/2/18 - * @since 5.6.9 - * - * @param type $var Description. Default. - * @return type Description. - */ - - _acf.tooltip = { - tooltip: function (text, $el) { - var tooltip = acf.newTooltip({ - text: text, - target: $el - }); - - // return - return tooltip.$el; - }, - temp: function (text, $el) { - var tooltip = acf.newTooltip({ - text: text, - target: $el, - timeout: 250 - }); - }, - confirm: function ($el, callback, text, button_y, button_n) { - var tooltip = acf.newTooltip({ - confirm: true, - text: text, - target: $el, - confirm: function () { - callback(true); - }, - cancel: function () { - callback(false); - } - }); - }, - confirm_remove: function ($el, callback) { - var tooltip = acf.newTooltip({ - confirmRemove: true, - target: $el, - confirm: function () { - callback(true); - }, - cancel: function () { - callback(false); - } - }); - } - }; - - /** - * tooltip - * - * description - * - * @date 15/2/18 - * @since 5.6.9 - * - * @param type $var Description. Default. - * @return type Description. - */ - - _acf.media = new acf.Model({ - activeFrame: false, - actions: { - new_media_popup: 'onNewMediaPopup' - }, - frame: function () { - return this.activeFrame; - }, - onNewMediaPopup: function (popup) { - this.activeFrame = popup.frame; - }, - popup: function (props) { - // update props - if (props.mime_types) { - props.allowedTypes = props.mime_types; - } - if (props.id) { - props.attachment = props.id; - } - - // new - var popup = acf.newMediaPopup(props); - - // append - /* - if( props.selected ) { - popup.selected = props.selected; - } - */ - - // return - return popup.frame; - } - }); - - /** - * Select2 - * - * description - * - * @date 11/6/18 - * @since 5.6.9 - * - * @param type $var Description. Default. - * @return type Description. - */ - - _acf.select2 = { - init: function ($select, args, $field) { - // compatible args - if (args.allow_null) { - args.allowNull = args.allow_null; - } - if (args.ajax_action) { - args.ajaxAction = args.ajax_action; - } - if ($field) { - args.field = acf.getField($field); - } - - // return - return acf.newSelect2($select, args); - }, - destroy: function ($select) { - return acf.getInstance($select).destroy(); - } - }; - - /** - * postbox - * - * description - * - * @date 11/6/18 - * @since 5.6.9 - * - * @param type $var Description. Default. - * @return type Description. - */ - - _acf.postbox = { - render: function (args) { - // compatible args - if (args.edit_url) { - args.editLink = args.edit_url; - } - if (args.edit_title) { - args.editTitle = args.edit_title; - } - - // return - return acf.newPostbox(args); - } - }; - - /** - * acf.screen - * - * description - * - * @date 11/6/18 - * @since 5.6.9 - * - * @param type $var Description. Default. - * @return type Description. - */ - - acf.newCompatibility(acf.screen, { - update: function () { - return this.set.apply(this, arguments); - }, - fetch: acf.screen.check - }); - _acf.ajax = acf.screen; -})(jQuery); - -/***/ }), - -/***/ "./src/advanced-custom-fields-pro/assets/src/js/_acf-condition-types.js": -/*!******************************************************************************!*\ - !*** ./src/advanced-custom-fields-pro/assets/src/js/_acf-condition-types.js ***! - \******************************************************************************/ -/***/ (() => { - -(function ($, undefined) { - var __ = acf.__; - var parseString = function (val) { - return val ? '' + val : ''; - }; - var isEqualTo = function (v1, v2) { - return parseString(v1).toLowerCase() === parseString(v2).toLowerCase(); - }; - - /** - * Checks if rule and selection are equal numbers. - * - * @param {string} v1 - The rule value to expect. - * @param {number|string|Array} v2 - The selected value to compare. - * @returns {boolean} Returns true if the values are equal numbers, otherwise returns false. - */ - var isEqualToNumber = function (v1, v2) { - if (v2 instanceof Array) { - return v2.length === 1 && isEqualToNumber(v1, v2[0]); - } - return parseFloat(v1) === parseFloat(v2); - }; - var isGreaterThan = function (v1, v2) { - return parseFloat(v1) > parseFloat(v2); - }; - var isLessThan = function (v1, v2) { - return parseFloat(v1) < parseFloat(v2); - }; - var inArray = function (v1, array) { - // cast all values as string - array = array.map(function (v2) { - return parseString(v2); - }); - return array.indexOf(v1) > -1; - }; - var containsString = function (haystack, needle) { - return parseString(haystack).indexOf(parseString(needle)) > -1; - }; - var matchesPattern = function (v1, pattern) { - var regexp = new RegExp(parseString(pattern), 'gi'); - return parseString(v1).match(regexp); - }; - const conditionalSelect2 = function (field, type) { - const $select = $(''); - let queryAction = `acf/fields/${type}/query`; - if (type === 'user') { - queryAction = 'acf/ajax/query_users'; - } - const ajaxData = { - action: queryAction, - field_key: field.data.key, - s: '', - type: field.data.key - }; - const typeAttr = acf.escAttr(type); - const template = function (selection) { - return `` + acf.escHtml(selection.text) + ''; - }; - const resultsTemplate = function (results) { - let classes = results.text.startsWith('- ') ? `acf-${typeAttr}-select-name acf-${typeAttr}-select-sub-item` : `acf-${typeAttr}-select-name`; - return '' + acf.escHtml(results.text) + '' + `` + (results.id ? results.id : '') + ''; - }; - const select2Props = { - field: false, - ajax: true, - ajaxAction: queryAction, - ajaxData: function (data) { - ajaxData.paged = data.paged; - ajaxData.s = data.s; - ajaxData.include = $.isNumeric(data.s) ? Number(data.s) : ''; - return acf.prepareForAjax(ajaxData); - }, - escapeMarkup: function (markup) { - return acf.escHtml(markup); - }, - templateSelection: template, - templateResult: resultsTemplate - }; - $select.data('acfSelect2Props', select2Props); - return $select; - }; - /** - * Adds condition for Page Link having Page Link equal to. - * - * @since 6.3 - */ - var HasPageLink = acf.Condition.extend({ - type: 'hasPageLink', - operator: '==', - label: __('Page is equal to'), - fieldTypes: ['page_link'], - match: function (rule, field) { - return isEqualTo(rule.value, field.val()); - }, - choices: function (fieldObject) { - return conditionalSelect2(fieldObject, 'page_link'); - } - }); - acf.registerConditionType(HasPageLink); - - /** - * Adds condition for Page Link not equal to. - * - * @since 6.3 - */ - var HasPageLinkNotEqual = acf.Condition.extend({ - type: 'hasPageLinkNotEqual', - operator: '!==', - label: __('Page is not equal to'), - fieldTypes: ['page_link'], - match: function (rule, field) { - return !isEqualTo(rule.value, field.val()); - }, - choices: function (fieldObject) { - return conditionalSelect2(fieldObject, 'page_link'); - } - }); - acf.registerConditionType(HasPageLinkNotEqual); - - /** - * Adds condition for Page Link containing a specific Page Link. - * - * @since 6.3 - */ - var containsPageLink = acf.Condition.extend({ - type: 'containsPageLink', - operator: '==contains', - label: __('Pages contain'), - fieldTypes: ['page_link'], - match: function (rule, field) { - const val = field.val(); - const ruleVal = rule.value; - let match = false; - if (val instanceof Array) { - match = val.includes(ruleVal); - } else { - match = val === ruleVal; - } - return match; - }, - choices: function (fieldObject) { - return conditionalSelect2(fieldObject, 'page_link'); - } - }); - acf.registerConditionType(containsPageLink); - - /** - * Adds condition for Page Link not containing a specific Page Link. - * - * @since 6.3 - */ - var containsNotPageLink = acf.Condition.extend({ - type: 'containsNotPageLink', - operator: '!=contains', - label: __('Pages do not contain'), - fieldTypes: ['page_link'], - match: function (rule, field) { - const val = field.val(); - const ruleVal = rule.value; - let match = true; - if (val instanceof Array) { - match = !val.includes(ruleVal); - } else { - match = val !== ruleVal; - } - return match; - }, - choices: function (fieldObject) { - return conditionalSelect2(fieldObject, 'page_link'); - } - }); - acf.registerConditionType(containsNotPageLink); - - /** - * Adds condition for when any page link is selected. - * - * @since 6.3 - */ - var HasAnyPageLink = acf.Condition.extend({ - type: 'hasAnyPageLink', - operator: '!=empty', - label: __('Has any page selected'), - fieldTypes: ['page_link'], - match: function (rule, field) { - let val = field.val(); - if (val instanceof Array) { - val = val.length; - } - return !!val; - }, - choices: function () { - return ''; - } - }); - acf.registerConditionType(HasAnyPageLink); - - /** - * Adds condition for when no page link is selected. - * - * @since 6.3 - */ - var HasNoPageLink = acf.Condition.extend({ - type: 'hasNoPageLink', - operator: '==empty', - label: __('Has no page selected'), - fieldTypes: ['page_link'], - match: function (rule, field) { - let val = field.val(); - if (val instanceof Array) { - val = val.length; - } - return !val; - }, - choices: function () { - return ''; - } - }); - acf.registerConditionType(HasNoPageLink); - - /** - * Adds condition for user field having user equal to. - * - * @since 6.3 - */ - var HasUser = acf.Condition.extend({ - type: 'hasUser', - operator: '==', - label: __('User is equal to'), - fieldTypes: ['user'], - match: function (rule, field) { - return isEqualToNumber(rule.value, field.val()); - }, - choices: function (fieldObject) { - return conditionalSelect2(fieldObject, 'user'); - } - }); - acf.registerConditionType(HasUser); - - /** - * Adds condition for user field having user not equal to. - * - * @since 6.3 - */ - var HasUserNotEqual = acf.Condition.extend({ - type: 'hasUserNotEqual', - operator: '!==', - label: __('User is not equal to'), - fieldTypes: ['user'], - match: function (rule, field) { - return !isEqualToNumber(rule.value, field.val()); - }, - choices: function (fieldObject) { - return conditionalSelect2(fieldObject, 'user'); - } - }); - acf.registerConditionType(HasUserNotEqual); - - /** - * Adds condition for user field containing a specific user. - * - * @since 6.3 - */ - var containsUser = acf.Condition.extend({ - type: 'containsUser', - operator: '==contains', - label: __('Users contain'), - fieldTypes: ['user'], - match: function (rule, field) { - const val = field.val(); - const ruleVal = rule.value; - let match = false; - if (val instanceof Array) { - match = val.includes(ruleVal); - } else { - match = val === ruleVal; - } - return match; - }, - choices: function (fieldObject) { - return conditionalSelect2(fieldObject, 'user'); - } - }); - acf.registerConditionType(containsUser); - - /** - * Adds condition for user field not containing a specific user. - * - * @since 6.3 - */ - var containsNotUser = acf.Condition.extend({ - type: 'containsNotUser', - operator: '!=contains', - label: __('Users do not contain'), - fieldTypes: ['user'], - match: function (rule, field) { - const val = field.val(); - const ruleVal = rule.value; - let match = true; - if (val instanceof Array) { - match = !val.includes(ruleVal); - } else { - match = !val === ruleVal; - } - }, - choices: function (fieldObject) { - return conditionalSelect2(fieldObject, 'user'); - } - }); - acf.registerConditionType(containsNotUser); - - /** - * Adds condition for when any user is selected. - * - * @since 6.3 - */ - var HasAnyUser = acf.Condition.extend({ - type: 'hasAnyUser', - operator: '!=empty', - label: __('Has any user selected'), - fieldTypes: ['user'], - match: function (rule, field) { - let val = field.val(); - if (val instanceof Array) { - val = val.length; - } - return !!val; - }, - choices: function () { - return ''; - } - }); - acf.registerConditionType(HasAnyUser); - - /** - * Adds condition for when no user is selected. - * - * @since 6.3 - */ - var HasNoUser = acf.Condition.extend({ - type: 'hasNoUser', - operator: '==empty', - label: __('Has no user selected'), - fieldTypes: ['user'], - match: function (rule, field) { - let val = field.val(); - if (val instanceof Array) { - val = val.length; - } - return !val; - }, - choices: function () { - return ''; - } - }); - acf.registerConditionType(HasNoUser); - - /** - * Adds condition for Relationship having Relationship equal to. - * - * @since 6.3 - */ - var HasRelationship = acf.Condition.extend({ - type: 'hasRelationship', - operator: '==', - label: __('Relationship is equal to'), - fieldTypes: ['relationship'], - match: function (rule, field) { - return isEqualToNumber(rule.value, field.val()); - }, - choices: function (fieldObject) { - return conditionalSelect2(fieldObject, 'relationship'); - } - }); - acf.registerConditionType(HasRelationship); - - /** - * Adds condition for selection having Relationship not equal to. - * - * @since 6.3 - */ - var HasRelationshipNotEqual = acf.Condition.extend({ - type: 'hasRelationshipNotEqual', - operator: '!==', - label: __('Relationship is not equal to'), - fieldTypes: ['relationship'], - match: function (rule, field) { - return !isEqualToNumber(rule.value, field.val()); - }, - choices: function (fieldObject) { - return conditionalSelect2(fieldObject, 'relationship'); - } - }); - acf.registerConditionType(HasRelationshipNotEqual); - - /** - * Adds condition for Relationship containing a specific Relationship. - * - * @since 6.3 - */ - var containsRelationship = acf.Condition.extend({ - type: 'containsRelationship', - operator: '==contains', - label: __('Relationships contain'), - fieldTypes: ['relationship'], - match: function (rule, field) { - const val = field.val(); - // Relationships are stored as strings, use float to compare to field's rule value. - const ruleVal = parseInt(rule.value); - let match = false; - if (val instanceof Array) { - match = val.includes(ruleVal); - } - return match; - }, - choices: function (fieldObject) { - return conditionalSelect2(fieldObject, 'relationship'); - } - }); - acf.registerConditionType(containsRelationship); - - /** - * Adds condition for Relationship not containing a specific Relationship. - * - * @since 6.3 - */ - var containsNotRelationship = acf.Condition.extend({ - type: 'containsNotRelationship', - operator: '!=contains', - label: __('Relationships do not contain'), - fieldTypes: ['relationship'], - match: function (rule, field) { - const val = field.val(); - // Relationships are stored as strings, use float to compare to field's rule value. - const ruleVal = parseInt(rule.value); - let match = true; - if (val instanceof Array) { - match = !val.includes(ruleVal); - } - return match; - }, - choices: function (fieldObject) { - return conditionalSelect2(fieldObject, 'relationship'); - } - }); - acf.registerConditionType(containsNotRelationship); - - /** - * Adds condition for when any relation is selected. - * - * @since 6.3 - */ - var HasAnyRelation = acf.Condition.extend({ - type: 'hasAnyRelation', - operator: '!=empty', - label: __('Has any relationship selected'), - fieldTypes: ['relationship'], - match: function (rule, field) { - let val = field.val(); - if (val instanceof Array) { - val = val.length; - } - return !!val; - }, - choices: function () { - return ''; - } - }); - acf.registerConditionType(HasAnyRelation); - - /** - * Adds condition for when no relation is selected. - * - * @since 6.3 - */ - var HasNoRelation = acf.Condition.extend({ - type: 'hasNoRelation', - operator: '==empty', - label: __('Has no relationship selected'), - fieldTypes: ['relationship'], - match: function (rule, field) { - let val = field.val(); - if (val instanceof Array) { - val = val.length; - } - return !val; - }, - choices: function () { - return ''; - } - }); - acf.registerConditionType(HasNoRelation); - - /** - * Adds condition for having post equal to. - * - * @since 6.3 - */ - var HasPostObject = acf.Condition.extend({ - type: 'hasPostObject', - operator: '==', - label: __('Post is equal to'), - fieldTypes: ['post_object'], - match: function (rule, field) { - return isEqualToNumber(rule.value, field.val()); - }, - choices: function (fieldObject) { - return conditionalSelect2(fieldObject, 'post_object'); - } - }); - acf.registerConditionType(HasPostObject); - - /** - * Adds condition for selection having post not equal to. - * - * @since 6.3 - */ - var HasPostObjectNotEqual = acf.Condition.extend({ - type: 'hasPostObjectNotEqual', - operator: '!==', - label: __('Post is not equal to'), - fieldTypes: ['post_object'], - match: function (rule, field) { - return !isEqualToNumber(rule.value, field.val()); - }, - choices: function (fieldObject) { - return conditionalSelect2(fieldObject, 'post_object'); - } - }); - acf.registerConditionType(HasPostObjectNotEqual); - - /** - * Adds condition for Relationship containing a specific Relationship. - * - * @since 6.3 - */ - var containsPostObject = acf.Condition.extend({ - type: 'containsPostObject', - operator: '==contains', - label: __('Posts contain'), - fieldTypes: ['post_object'], - match: function (rule, field) { - const val = field.val(); - const ruleVal = rule.value; - let match = false; - if (val instanceof Array) { - match = val.includes(ruleVal); - } else { - match = val === ruleVal; - } - return match; - }, - choices: function (fieldObject) { - return conditionalSelect2(fieldObject, 'post_object'); - } - }); - acf.registerConditionType(containsPostObject); - - /** - * Adds condition for Relationship not containing a specific Relationship. - * - * @since 6.3 - */ - var containsNotPostObject = acf.Condition.extend({ - type: 'containsNotPostObject', - operator: '!=contains', - label: __('Posts do not contain'), - fieldTypes: ['post_object'], - match: function (rule, field) { - const val = field.val(); - const ruleVal = rule.value; - let match = true; - if (val instanceof Array) { - match = !val.includes(ruleVal); - } else { - match = val !== ruleVal; - } - return match; - }, - choices: function (fieldObject) { - return conditionalSelect2(fieldObject, 'post_object'); - } - }); - acf.registerConditionType(containsNotPostObject); - - /** - * Adds condition for when any post is selected. - * - * @since 6.3 - */ - var HasAnyPostObject = acf.Condition.extend({ - type: 'hasAnyPostObject', - operator: '!=empty', - label: __('Has any post selected'), - fieldTypes: ['post_object'], - match: function (rule, field) { - let val = field.val(); - if (val instanceof Array) { - val = val.length; - } - return !!val; - }, - choices: function () { - return ''; - } - }); - acf.registerConditionType(HasAnyPostObject); - - /** - * Adds condition for when no post is selected. - * - * @since 6.3 - */ - var HasNoPostObject = acf.Condition.extend({ - type: 'hasNoPostObject', - operator: '==empty', - label: __('Has no post selected'), - fieldTypes: ['post_object'], - match: function (rule, field) { - let val = field.val(); - if (val instanceof Array) { - val = val.length; - } - return !val; - }, - choices: function () { - return ''; - } - }); - acf.registerConditionType(HasNoPostObject); - - /** - * Adds condition for taxonomy having term equal to. - * - * @since 6.3 - */ - var HasTerm = acf.Condition.extend({ - type: 'hasTerm', - operator: '==', - label: __('Term is equal to'), - fieldTypes: ['taxonomy'], - match: function (rule, field) { - return isEqualToNumber(rule.value, field.val()); - }, - choices: function (fieldObject) { - return conditionalSelect2(fieldObject, 'taxonomy'); - } - }); - acf.registerConditionType(HasTerm); - - /** - * Adds condition for taxonomy having term not equal to. - * - * @since 6.3 - */ - var hasTermNotEqual = acf.Condition.extend({ - type: 'hasTermNotEqual', - operator: '!==', - label: __('Term is not equal to'), - fieldTypes: ['taxonomy'], - match: function (rule, field) { - return !isEqualToNumber(rule.value, field.val()); - }, - choices: function (fieldObject) { - return conditionalSelect2(fieldObject, 'taxonomy'); - } - }); - acf.registerConditionType(hasTermNotEqual); - - /** - * Adds condition for taxonomy containing a specific term. - * - * @since 6.3 - */ - var containsTerm = acf.Condition.extend({ - type: 'containsTerm', - operator: '==contains', - label: __('Terms contain'), - fieldTypes: ['taxonomy'], - match: function (rule, field) { - const val = field.val(); - const ruleVal = rule.value; - let match = false; - if (val instanceof Array) { - match = val.includes(ruleVal); - } - return match; - }, - choices: function (fieldObject) { - return conditionalSelect2(fieldObject, 'taxonomy'); - } - }); - acf.registerConditionType(containsTerm); - - /** - * Adds condition for taxonomy not containing a specific term. - * - * @since 6.3 - */ - var containsNotTerm = acf.Condition.extend({ - type: 'containsNotTerm', - operator: '!=contains', - label: __('Terms do not contain'), - fieldTypes: ['taxonomy'], - match: function (rule, field) { - const val = field.val(); - const ruleVal = rule.value; - let match = true; - if (val instanceof Array) { - match = !val.includes(ruleVal); - } - return match; - }, - choices: function (fieldObject) { - return conditionalSelect2(fieldObject, 'taxonomy'); - } - }); - acf.registerConditionType(containsNotTerm); - - /** - * Adds condition for when any term is selected. - * - * @since 6.3 - */ - var HasAnyTerm = acf.Condition.extend({ - type: 'hasAnyTerm', - operator: '!=empty', - label: __('Has any term selected'), - fieldTypes: ['taxonomy'], - match: function (rule, field) { - let val = field.val(); - if (val instanceof Array) { - val = val.length; - } - return !!val; - }, - choices: function () { - return ''; - } - }); - acf.registerConditionType(HasAnyTerm); - - /** - * Adds condition for when no term is selected. - * - * @since 6.3 - */ - var HasNoTerm = acf.Condition.extend({ - type: 'hasNoTerm', - operator: '==empty', - label: __('Has no term selected'), - fieldTypes: ['taxonomy'], - match: function (rule, field) { - let val = field.val(); - if (val instanceof Array) { - val = val.length; - } - return !val; - }, - choices: function () { - return ''; - } - }); - acf.registerConditionType(HasNoTerm); - - /** - * hasValue - * - * @date 1/2/18 - * @since 5.6.5 - * - * @param void - * @return void - */ - var HasValue = acf.Condition.extend({ - type: 'hasValue', - operator: '!=empty', - label: __('Has any value'), - fieldTypes: ['text', 'textarea', 'number', 'range', 'email', 'url', 'password', 'image', 'file', 'wysiwyg', 'oembed', 'select', 'checkbox', 'radio', 'button_group', 'link', 'google_map', 'date_picker', 'date_time_picker', 'time_picker', 'color_picker', 'icon_picker'], - match: function (rule, field) { - let val = field.val(); - if (val instanceof Array) { - val = val.length; - } - return val ? true : false; - }, - choices: function (fieldObject) { - return ''; - } - }); - acf.registerConditionType(HasValue); - - /** - * hasValue - * - * @date 1/2/18 - * @since 5.6.5 - * - * @param void - * @return void - */ - var HasNoValue = HasValue.extend({ - type: 'hasNoValue', - operator: '==empty', - label: __('Has no value'), - match: function (rule, field) { - return !HasValue.prototype.match.apply(this, arguments); - } - }); - acf.registerConditionType(HasNoValue); - - /** - * EqualTo - * - * @date 1/2/18 - * @since 5.6.5 - * - * @param void - * @return void - */ - var EqualTo = acf.Condition.extend({ - type: 'equalTo', - operator: '==', - label: __('Value is equal to'), - fieldTypes: ['text', 'textarea', 'number', 'range', 'email', 'url', 'password'], - match: function (rule, field) { - if (acf.isNumeric(rule.value)) { - return isEqualToNumber(rule.value, field.val()); - } else { - return isEqualTo(rule.value, field.val()); - } - }, - choices: function (fieldObject) { - return ''; - } - }); - acf.registerConditionType(EqualTo); - - /** - * NotEqualTo - * - * @date 1/2/18 - * @since 5.6.5 - * - * @param void - * @return void - */ - var NotEqualTo = EqualTo.extend({ - type: 'notEqualTo', - operator: '!=', - label: __('Value is not equal to'), - match: function (rule, field) { - return !EqualTo.prototype.match.apply(this, arguments); - } - }); - acf.registerConditionType(NotEqualTo); - - /** - * PatternMatch - * - * @date 1/2/18 - * @since 5.6.5 - * - * @param void - * @return void - */ - var PatternMatch = acf.Condition.extend({ - type: 'patternMatch', - operator: '==pattern', - label: __('Value matches pattern'), - fieldTypes: ['text', 'textarea', 'email', 'url', 'password', 'wysiwyg'], - match: function (rule, field) { - return matchesPattern(field.val(), rule.value); - }, - choices: function (fieldObject) { - return ''; - } - }); - acf.registerConditionType(PatternMatch); - - /** - * Contains - * - * @date 1/2/18 - * @since 5.6.5 - * - * @param void - * @return void - */ - var Contains = acf.Condition.extend({ - type: 'contains', - operator: '==contains', - label: __('Value contains'), - fieldTypes: ['text', 'textarea', 'number', 'email', 'url', 'password', 'wysiwyg', 'oembed', 'select'], - match: function (rule, field) { - return containsString(field.val(), rule.value); - }, - choices: function (fieldObject) { - return ''; - } - }); - acf.registerConditionType(Contains); - - /** - * TrueFalseEqualTo - * - * @date 1/2/18 - * @since 5.6.5 - * - * @param void - * @return void - */ - var TrueFalseEqualTo = EqualTo.extend({ - type: 'trueFalseEqualTo', - choiceType: 'select', - fieldTypes: ['true_false'], - choices: function (field) { - return [{ - id: 1, - text: __('Checked') - }]; - } - }); - acf.registerConditionType(TrueFalseEqualTo); - - /** - * TrueFalseNotEqualTo - * - * @date 1/2/18 - * @since 5.6.5 - * - * @param void - * @return void - */ - var TrueFalseNotEqualTo = NotEqualTo.extend({ - type: 'trueFalseNotEqualTo', - choiceType: 'select', - fieldTypes: ['true_false'], - choices: function (field) { - return [{ - id: 1, - text: __('Checked') - }]; - } - }); - acf.registerConditionType(TrueFalseNotEqualTo); - - /** - * SelectEqualTo - * - * @date 1/2/18 - * @since 5.6.5 - * - * @param void - * @return void - */ - var SelectEqualTo = acf.Condition.extend({ - type: 'selectEqualTo', - operator: '==', - label: __('Value is equal to'), - fieldTypes: ['select', 'checkbox', 'radio', 'button_group'], - match: function (rule, field) { - var val = field.val(); - if (val instanceof Array) { - return inArray(rule.value, val); - } else { - return isEqualTo(rule.value, val); - } - }, - choices: function (fieldObject) { - // vars - var choices = []; - var lines = fieldObject.$setting('choices textarea').val().split('\n'); - - // allow null - if (fieldObject.$input('allow_null').prop('checked')) { - choices.push({ - id: '', - text: __('Null') - }); - } - - // loop - lines.map(function (line) { - // split - line = line.split(':'); - - // default label to value - line[1] = line[1] || line[0]; - - // append - choices.push({ - id: line[0].trim(), - text: line[1].trim() - }); - }); - - // return - return choices; - } - }); - acf.registerConditionType(SelectEqualTo); - - /** - * SelectNotEqualTo - * - * @date 1/2/18 - * @since 5.6.5 - * - * @param void - * @return void - */ - var SelectNotEqualTo = SelectEqualTo.extend({ - type: 'selectNotEqualTo', - operator: '!=', - label: __('Value is not equal to'), - match: function (rule, field) { - return !SelectEqualTo.prototype.match.apply(this, arguments); - } - }); - acf.registerConditionType(SelectNotEqualTo); - - /** - * GreaterThan - * - * @date 1/2/18 - * @since 5.6.5 - * - * @param void - * @return void - */ - var GreaterThan = acf.Condition.extend({ - type: 'greaterThan', - operator: '>', - label: __('Value is greater than'), - fieldTypes: ['number', 'range'], - match: function (rule, field) { - var val = field.val(); - if (val instanceof Array) { - val = val.length; - } - return isGreaterThan(val, rule.value); - }, - choices: function (fieldObject) { - return ''; - } - }); - acf.registerConditionType(GreaterThan); - - /** - * LessThan - * - * @date 1/2/18 - * @since 5.6.5 - * - * @param void - * @return void - */ - var LessThan = GreaterThan.extend({ - type: 'lessThan', - operator: '<', - label: __('Value is less than'), - match: function (rule, field) { - var val = field.val(); - if (val instanceof Array) { - val = val.length; - } - if (val === undefined || val === null || val === false) { - return true; - } - return isLessThan(val, rule.value); - }, - choices: function (fieldObject) { - return ''; - } - }); - acf.registerConditionType(LessThan); - - /** - * SelectedGreaterThan - * - * @date 1/2/18 - * @since 5.6.5 - * - * @param void - * @return void - */ - var SelectionGreaterThan = GreaterThan.extend({ - type: 'selectionGreaterThan', - label: __('Selection is greater than'), - fieldTypes: ['checkbox', 'select', 'post_object', 'page_link', 'relationship', 'taxonomy', 'user'] - }); - acf.registerConditionType(SelectionGreaterThan); - - /** - * SelectionLessThan - * - * @date 1/2/18 - * @since 5.6.5 - * - * @param void - * @return void - */ - var SelectionLessThan = LessThan.extend({ - type: 'selectionLessThan', - label: __('Selection is less than'), - fieldTypes: ['checkbox', 'select', 'post_object', 'page_link', 'relationship', 'taxonomy', 'user'] - }); - acf.registerConditionType(SelectionLessThan); -})(jQuery); - -/***/ }), - -/***/ "./src/advanced-custom-fields-pro/assets/src/js/_acf-condition.js": -/*!************************************************************************!*\ - !*** ./src/advanced-custom-fields-pro/assets/src/js/_acf-condition.js ***! - \************************************************************************/ -/***/ (() => { - -(function ($, undefined) { - // vars - var storage = []; - - /** - * acf.Condition - * - * description - * - * @date 23/3/18 - * @since 5.6.9 - * - * @param type $var Description. Default. - * @return type Description. - */ - - acf.Condition = acf.Model.extend({ - type: '', - // used for model name - operator: '==', - // rule operator - label: '', - // label shown when editing fields - choiceType: 'input', - // input, select - fieldTypes: [], - // auto connect this conditions with these field types - - data: { - conditions: false, - // the parent instance - field: false, - // the field which we query against - rule: {} // the rule [field, operator, value] - }, - events: { - change: 'change', - keyup: 'change', - enableField: 'change', - disableField: 'change' - }, - setup: function (props) { - $.extend(this.data, props); - }, - getEventTarget: function ($el, event) { - return $el || this.get('field').$el; - }, - change: function (e, $el) { - this.get('conditions').change(e); - }, - match: function (rule, field) { - return false; - }, - calculate: function () { - return this.match(this.get('rule'), this.get('field')); - }, - choices: function (field) { - return ''; - } - }); - - /** - * acf.newCondition - * - * description - * - * @date 1/2/18 - * @since 5.6.5 - * - * @param type $var Description. Default. - * @return type Description. - */ - - acf.newCondition = function (rule, conditions) { - // currently setting up conditions for fieldX, this field is the 'target' - var target = conditions.get('field'); - - // use the 'target' to find the 'trigger' field. - // - this field is used to setup the conditional logic events - var field = target.getField(rule.field); - - // bail early if no target or no field (possible if field doesn't exist due to HTML error) - if (!target || !field) { - return false; - } - - // vars - var args = { - rule: rule, - target: target, - conditions: conditions, - field: field - }; - - // vars - var fieldType = field.get('type'); - var operator = rule.operator; - - // get avaibale conditions - var conditionTypes = acf.getConditionTypes({ - fieldType: fieldType, - operator: operator - }); - - // instantiate - var model = conditionTypes[0] || acf.Condition; - - // instantiate - var condition = new model(args); - - // return - return condition; - }; - - /** - * mid - * - * Calculates the model ID for a field type - * - * @date 15/12/17 - * @since 5.6.5 - * - * @param string type - * @return string - */ - - var modelId = function (type) { - return acf.strPascalCase(type || '') + 'Condition'; - }; - - /** - * acf.registerConditionType - * - * description - * - * @date 1/2/18 - * @since 5.6.5 - * - * @param type $var Description. Default. - * @return type Description. - */ - - acf.registerConditionType = function (model) { - // vars - var proto = model.prototype; - var type = proto.type; - var mid = modelId(type); - - // store model - acf.models[mid] = model; - - // store reference - storage.push(type); - }; - - /** - * acf.getConditionType - * - * description - * - * @date 1/2/18 - * @since 5.6.5 - * - * @param type $var Description. Default. - * @return type Description. - */ - - acf.getConditionType = function (type) { - var mid = modelId(type); - return acf.models[mid] || false; - }; - - /** - * acf.registerConditionForFieldType - * - * description - * - * @date 1/2/18 - * @since 5.6.5 - * - * @param type $var Description. Default. - * @return type Description. - */ - - acf.registerConditionForFieldType = function (conditionType, fieldType) { - // get model - var model = acf.getConditionType(conditionType); - - // append - if (model) { - model.prototype.fieldTypes.push(fieldType); - } - }; - - /** - * acf.getConditionTypes - * - * description - * - * @date 1/2/18 - * @since 5.6.5 - * - * @param type $var Description. Default. - * @return type Description. - */ - - acf.getConditionTypes = function (args) { - // defaults - args = acf.parseArgs(args, { - fieldType: '', - operator: '' - }); - - // clonse available types - var types = []; - - // loop - storage.map(function (type) { - // vars - var model = acf.getConditionType(type); - var ProtoFieldTypes = model.prototype.fieldTypes; - var ProtoOperator = model.prototype.operator; - - // check fieldType - if (args.fieldType && ProtoFieldTypes.indexOf(args.fieldType) === -1) { - return; - } - - // check operator - if (args.operator && ProtoOperator !== args.operator) { - return; - } - - // append - types.push(model); - }); - - // return - return types; - }; -})(jQuery); - -/***/ }), - -/***/ "./src/advanced-custom-fields-pro/assets/src/js/_acf-conditions.js": -/*!*************************************************************************!*\ - !*** ./src/advanced-custom-fields-pro/assets/src/js/_acf-conditions.js ***! - \*************************************************************************/ -/***/ (() => { - -(function ($, undefined) { - // vars - var CONTEXT = 'conditional_logic'; - - /** - * conditionsManager - * - * description - * - * @date 1/2/18 - * @since 5.6.5 - * - * @param type $var Description. Default. - * @return type Description. - */ - - var conditionsManager = new acf.Model({ - id: 'conditionsManager', - priority: 20, - // run actions later - - actions: { - new_field: 'onNewField' - }, - onNewField: function (field) { - if (field.has('conditions')) { - field.getConditions().render(); - } - } - }); - - /** - * acf.Field.prototype.getField - * - * Finds a field that is related to another field - * - * @date 1/2/18 - * @since 5.6.5 - * - * @param type $var Description. Default. - * @return type Description. - */ - - var getSiblingField = function (field, key) { - // find sibling (very fast) - var fields = acf.getFields({ - key: key, - sibling: field.$el, - suppressFilters: true - }); - - // find sibling-children (fast) - // needed for group fields, accordions, etc - if (!fields.length) { - fields = acf.getFields({ - key: key, - parent: field.$el.parent(), - suppressFilters: true - }); - } - - // Check for fields on other settings tabs (probably less fast). - if (!fields.length && $('.acf-field-settings').length) { - fields = acf.getFields({ - key: key, - parent: field.$el.parents('.acf-field-settings:first'), - suppressFilters: true - }); - } - if (!fields.length && $('#acf-basic-settings').length) { - fields = acf.getFields({ - key: key, - parent: $('#acf-basic-settings'), - suppressFilters: true - }); - } - - // return - if (fields.length) { - return fields[0]; - } - return false; - }; - acf.Field.prototype.getField = function (key) { - // get sibling field - var field = getSiblingField(this, key); - - // return early - if (field) { - return field; - } - - // move up through each parent and try again - var parents = this.parents(); - for (var i = 0; i < parents.length; i++) { - // get sibling field - field = getSiblingField(parents[i], key); - - // return early - if (field) { - return field; - } - } - - // return - return false; - }; - - /** - * acf.Field.prototype.getConditions - * - * Returns the field's conditions instance - * - * @date 1/2/18 - * @since 5.6.5 - * - * @param type $var Description. Default. - * @return type Description. - */ - - acf.Field.prototype.getConditions = function () { - // instantiate - if (!this.conditions) { - this.conditions = new Conditions(this); - } - - // return - return this.conditions; - }; - - /** - * Conditions - * - * description - * - * @date 1/2/18 - * @since 5.6.5 - * - * @param type $var Description. Default. - * @return type Description. - */ - var timeout = false; - var Conditions = acf.Model.extend({ - id: 'Conditions', - data: { - field: false, - // The field with "data-conditions" (target). - timeStamp: false, - // Reference used during "change" event. - groups: [] // The groups of condition instances. - }, - setup: function (field) { - // data - this.data.field = field; - - // vars - var conditions = field.get('conditions'); - - // detect groups - if (conditions instanceof Array) { - // detect groups - if (conditions[0] instanceof Array) { - // loop - conditions.map(function (rules, i) { - this.addRules(rules, i); - }, this); - - // detect rules - } else { - this.addRules(conditions); - } - - // detect rule - } else { - this.addRule(conditions); - } - }, - change: function (e) { - // this function may be triggered multiple times per event due to multiple condition classes - // compare timestamp to allow only 1 trigger per event - if (this.get('timeStamp') === e.timeStamp) { - return false; - } else { - this.set('timeStamp', e.timeStamp, true); - } - - // render condition and store result - var changed = this.render(); - }, - render: function () { - return this.calculate() ? this.show() : this.hide(); - }, - show: function () { - return this.get('field').showEnable(this.cid, CONTEXT); - }, - hide: function () { - return this.get('field').hideDisable(this.cid, CONTEXT); - }, - calculate: function () { - // vars - var pass = false; - - // loop - this.getGroups().map(function (group) { - // ignore this group if another group passed - if (pass) return; - - // find passed - var passed = group.filter(function (condition) { - return condition.calculate(); - }); - - // if all conditions passed, update the global var - if (passed.length == group.length) { - pass = true; - } - }); - return pass; - }, - hasGroups: function () { - return this.data.groups != null; - }, - getGroups: function () { - return this.data.groups; - }, - addGroup: function () { - var group = []; - this.data.groups.push(group); - return group; - }, - hasGroup: function (i) { - return this.data.groups[i] != null; - }, - getGroup: function (i) { - return this.data.groups[i]; - }, - removeGroup: function (i) { - this.data.groups[i].delete; - return this; - }, - addRules: function (rules, group) { - rules.map(function (rule) { - this.addRule(rule, group); - }, this); - }, - addRule: function (rule, group) { - // defaults - group = group || 0; - - // vars - var groupArray; - - // get group - if (this.hasGroup(group)) { - groupArray = this.getGroup(group); - } else { - groupArray = this.addGroup(); - } - - // instantiate - var condition = acf.newCondition(rule, this); - - // bail early if condition failed (field did not exist) - if (!condition) { - return false; - } - - // add rule - groupArray.push(condition); - }, - hasRule: function () {}, - getRule: function (rule, group) { - // defaults - rule = rule || 0; - group = group || 0; - return this.data.groups[group][rule]; - }, - removeRule: function () {} - }); -})(jQuery); - -/***/ }), - -/***/ "./src/advanced-custom-fields-pro/assets/src/js/_acf-field-accordion.js": -/*!******************************************************************************!*\ - !*** ./src/advanced-custom-fields-pro/assets/src/js/_acf-field-accordion.js ***! - \******************************************************************************/ -/***/ (() => { - -(function ($, undefined) { - var i = 0; - var Field = acf.Field.extend({ - type: 'accordion', - wait: '', - $control: function () { - return this.$('.acf-fields:first'); - }, - initialize: function () { - // Bail early if this is a duplicate of an existing initialized accordion. - if (this.$el.hasClass('acf-accordion')) { - return; - } - - // bail early if is cell - if (this.$el.is('td')) return; - - // enpoint - if (this.get('endpoint')) { - return this.remove(); - } - - // vars - var $field = this.$el; - var $label = this.$labelWrap(); - var $input = this.$inputWrap(); - var $wrap = this.$control(); - var $instructions = $input.children('.description'); - - // force description into label - if ($instructions.length) { - $label.append($instructions); - } - - // table - if (this.$el.is('tr')) { - // vars - var $table = this.$el.closest('table'); - var $newLabel = $('
    '); - var $newInput = $('
    '); - var $newTable = $(''); - var $newWrap = $(''); - - // dom - $newLabel.append($label.html()); - $newTable.append($newWrap); - $newInput.append($newTable); - $input.append($newLabel); - $input.append($newInput); - - // modify - $label.remove(); - $wrap.remove(); - $input.attr('colspan', 2); - - // update vars - $label = $newLabel; - $input = $newInput; - $wrap = $newWrap; - } - - // add classes - $field.addClass('acf-accordion'); - $label.addClass('acf-accordion-title'); - $input.addClass('acf-accordion-content'); - - // index - i++; - - // multi-expand - if (this.get('multi_expand')) { - $field.attr('multi-expand', 1); - } - - // open - var order = acf.getPreference('this.accordions') || []; - if (order[i - 1] !== undefined) { - this.set('open', order[i - 1]); - } - if (this.get('open')) { - $field.addClass('-open'); - $input.css('display', 'block'); // needed for accordion to close smoothly - } - - // add icon - $label.prepend(accordionManager.iconHtml({ - open: this.get('open') - })); - - // classes - // - remove 'inside' which is a #poststuff WP class - var $parent = $field.parent(); - $wrap.addClass($parent.hasClass('-left') ? '-left' : ''); - $wrap.addClass($parent.hasClass('-clear') ? '-clear' : ''); - - // append - $wrap.append($field.nextUntil('.acf-field-accordion', '.acf-field')); - - // clean up - $wrap.removeAttr('data-open data-multi_expand data-endpoint'); - } - }); - acf.registerFieldType(Field); - - /** - * accordionManager - * - * Events manager for the acf accordion - * - * @date 14/2/18 - * @since 5.6.9 - * - * @param void - * @return void - */ - - var accordionManager = new acf.Model({ - actions: { - unload: 'onUnload' - }, - events: { - 'click .acf-accordion-title': 'onClick', - 'invalidField .acf-accordion': 'onInvalidField' - }, - isOpen: function ($el) { - return $el.hasClass('-open'); - }, - toggle: function ($el) { - if (this.isOpen($el)) { - this.close($el); - } else { - this.open($el); - } - }, - iconHtml: function (props) { - // Use SVG inside Gutenberg editor. - if (acf.isGutenberg()) { - if (props.open) { - return ''; - } else { - return ''; - } - } else { - if (props.open) { - return ''; - } else { - return ''; - } - } - }, - open: function ($el) { - var duration = acf.isGutenberg() ? 0 : 300; - - // open - $el.find('.acf-accordion-content:first').slideDown(duration).css('display', 'block'); - $el.find('.acf-accordion-icon:first').replaceWith(this.iconHtml({ - open: true - })); - $el.addClass('-open'); - - // action - acf.doAction('show', $el); - - // close siblings - if (!$el.attr('multi-expand')) { - $el.siblings('.acf-accordion.-open').each(function () { - accordionManager.close($(this)); - }); - } - }, - close: function ($el) { - var duration = acf.isGutenberg() ? 0 : 300; - - // close - $el.find('.acf-accordion-content:first').slideUp(duration); - $el.find('.acf-accordion-icon:first').replaceWith(this.iconHtml({ - open: false - })); - $el.removeClass('-open'); - - // action - acf.doAction('hide', $el); - }, - onClick: function (e, $el) { - // prevent Defailt - e.preventDefault(); - - // open close - this.toggle($el.parent()); - }, - onInvalidField: function (e, $el) { - // bail early if already focused - if (this.busy) { - return; - } - - // disable functionality for 1sec (allow next validation to work) - this.busy = true; - this.setTimeout(function () { - this.busy = false; - }, 1000); - - // open accordion - this.open($el); - }, - onUnload: function (e) { - // vars - var order = []; - - // loop - $('.acf-accordion').each(function () { - var open = $(this).hasClass('-open') ? 1 : 0; - order.push(open); - }); - - // set - if (order.length) { - acf.setPreference('this.accordions', order); - } - } - }); -})(jQuery); - -/***/ }), - -/***/ "./src/advanced-custom-fields-pro/assets/src/js/_acf-field-button-group.js": -/*!*********************************************************************************!*\ - !*** ./src/advanced-custom-fields-pro/assets/src/js/_acf-field-button-group.js ***! - \*********************************************************************************/ -/***/ (() => { - -(function ($, undefined) { - var Field = acf.Field.extend({ - type: 'button_group', - events: { - 'click input[type="radio"]': 'onClick' - }, - $control: function () { - return this.$('.acf-button-group'); - }, - $input: function () { - return this.$('input:checked'); - }, - setValue: function (val) { - this.$('input[value="' + val + '"]').prop('checked', true).trigger('change'); - }, - onClick: function (e, $el) { - // vars - var $label = $el.parent('label'); - var selected = $label.hasClass('selected'); - - // remove previous selected - this.$('.selected').removeClass('selected'); - - // add active class - $label.addClass('selected'); - - // allow null - if (this.get('allow_null') && selected) { - $label.removeClass('selected'); - $el.prop('checked', false).trigger('change'); - } - } - }); - acf.registerFieldType(Field); -})(jQuery); - -/***/ }), - -/***/ "./src/advanced-custom-fields-pro/assets/src/js/_acf-field-checkbox.js": -/*!*****************************************************************************!*\ - !*** ./src/advanced-custom-fields-pro/assets/src/js/_acf-field-checkbox.js ***! - \*****************************************************************************/ -/***/ (() => { - -(function ($, undefined) { - var Field = acf.Field.extend({ - type: 'checkbox', - events: { - 'change input': 'onChange', - 'click .acf-add-checkbox': 'onClickAdd', - 'click .acf-checkbox-toggle': 'onClickToggle', - 'click .acf-checkbox-custom': 'onClickCustom' - }, - $control: function () { - return this.$('.acf-checkbox-list'); - }, - $toggle: function () { - return this.$('.acf-checkbox-toggle'); - }, - $input: function () { - return this.$('input[type="hidden"]'); - }, - $inputs: function () { - return this.$('input[type="checkbox"]').not('.acf-checkbox-toggle'); - }, - getValue: function () { - var val = []; - this.$(':checked').each(function () { - val.push($(this).val()); - }); - return val.length ? val : false; - }, - onChange: function (e, $el) { - // Vars. - var checked = $el.prop('checked'); - var $label = $el.parent('label'); - var $toggle = this.$toggle(); - - // Add or remove "selected" class. - if (checked) { - $label.addClass('selected'); - } else { - $label.removeClass('selected'); - } - - // Update toggle state if all inputs are checked. - if ($toggle.length) { - var $inputs = this.$inputs(); - - // all checked - if ($inputs.not(':checked').length == 0) { - $toggle.prop('checked', true); - } else { - $toggle.prop('checked', false); - } - } - }, - onClickAdd: function (e, $el) { - var html = '
  • '; - $el.parent('li').before(html); - $el.parent('li').parent().find('input[type="text"]').last().focus(); - }, - onClickToggle: function (e, $el) { - // Vars. - var checked = $el.prop('checked'); - var $inputs = this.$('input[type="checkbox"]'); - var $labels = this.$('label'); - - // Update "checked" state. - $inputs.prop('checked', checked); - - // Add or remove "selected" class. - if (checked) { - $labels.addClass('selected'); - } else { - $labels.removeClass('selected'); - } - }, - onClickCustom: function (e, $el) { - var checked = $el.prop('checked'); - var $text = $el.next('input[type="text"]'); - - // checked - if (checked) { - $text.prop('disabled', false); - - // not checked - } else { - $text.prop('disabled', true); - - // remove - if ($text.val() == '') { - $el.parent('li').remove(); - } - } - } - }); - acf.registerFieldType(Field); -})(jQuery); - -/***/ }), - -/***/ "./src/advanced-custom-fields-pro/assets/src/js/_acf-field-color-picker.js": -/*!*********************************************************************************!*\ - !*** ./src/advanced-custom-fields-pro/assets/src/js/_acf-field-color-picker.js ***! - \*********************************************************************************/ -/***/ (() => { - -(function ($, undefined) { - var Field = acf.Field.extend({ - type: 'color_picker', - wait: 'load', - events: { - duplicateField: 'onDuplicate' - }, - $control: function () { - return this.$('.acf-color-picker'); - }, - $input: function () { - return this.$('input[type="hidden"]'); - }, - $inputText: function () { - return this.$('input[type="text"]'); - }, - setValue: function (val) { - // update input (with change) - acf.val(this.$input(), val); - - // update iris - this.$inputText().iris('color', val); - }, - initialize: function () { - // vars - var $input = this.$input(); - var $inputText = this.$inputText(); - - // event - var onChange = function (e) { - // timeout is required to ensure the $input val is correct - setTimeout(function () { - acf.val($input, $inputText.val()); - }, 1); - }; - - // args - var args = { - defaultColor: false, - palettes: true, - hide: true, - change: onChange, - clear: onChange - }; - - // filter - var args = acf.applyFilters('color_picker_args', args, this); - - // initialize - $inputText.wpColorPicker(args); - }, - onDuplicate: function (e, $el, $duplicate) { - // The wpColorPicker library does not provide a destroy method. - // Manually reset DOM by replacing elements back to their original state. - $colorPicker = $duplicate.find('.wp-picker-container'); - $inputText = $duplicate.find('input[type="text"]'); - $colorPicker.replaceWith($inputText); - } - }); - acf.registerFieldType(Field); -})(jQuery); - -/***/ }), - -/***/ "./src/advanced-custom-fields-pro/assets/src/js/_acf-field-date-picker.js": -/*!********************************************************************************!*\ - !*** ./src/advanced-custom-fields-pro/assets/src/js/_acf-field-date-picker.js ***! - \********************************************************************************/ -/***/ (() => { - -(function ($, undefined) { - var Field = acf.Field.extend({ - type: 'date_picker', - events: { - 'blur input[type="text"]': 'onBlur', - duplicateField: 'onDuplicate' - }, - $control: function () { - return this.$('.acf-date-picker'); - }, - $input: function () { - return this.$('input[type="hidden"]'); - }, - $inputText: function () { - return this.$('input[type="text"]'); - }, - initialize: function () { - // save_format: compatibility with ACF < 5.0.0 - if (this.has('save_format')) { - return this.initializeCompatibility(); - } - - // vars - var $input = this.$input(); - var $inputText = this.$inputText(); - - // args - var args = { - dateFormat: this.get('date_format'), - altField: $input, - altFormat: 'yymmdd', - changeYear: true, - yearRange: '-100:+100', - changeMonth: true, - showButtonPanel: true, - firstDay: this.get('first_day') - }; - - // filter - args = acf.applyFilters('date_picker_args', args, this); - - // add date picker - acf.newDatePicker($inputText, args); - - // action - acf.doAction('date_picker_init', $inputText, args, this); - }, - initializeCompatibility: function () { - // vars - var $input = this.$input(); - var $inputText = this.$inputText(); - - // get and set value from alt field - $inputText.val($input.val()); - - // args - var args = { - dateFormat: this.get('date_format'), - altField: $input, - altFormat: this.get('save_format'), - changeYear: true, - yearRange: '-100:+100', - changeMonth: true, - showButtonPanel: true, - firstDay: this.get('first_day') - }; - - // filter for 3rd party customization - args = acf.applyFilters('date_picker_args', args, this); - - // backup - var dateFormat = args.dateFormat; - - // change args.dateFormat - args.dateFormat = this.get('save_format'); - - // add date picker - acf.newDatePicker($inputText, args); - - // now change the format back to how it should be. - $inputText.datepicker('option', 'dateFormat', dateFormat); - - // action for 3rd party customization - acf.doAction('date_picker_init', $inputText, args, this); - }, - onBlur: function () { - if (!this.$inputText().val()) { - acf.val(this.$input(), ''); - } - }, - onDuplicate: function (e, $el, $duplicate) { - $duplicate.find('input[type="text"]').removeClass('hasDatepicker').removeAttr('id'); - } - }); - acf.registerFieldType(Field); - - // manager - var datePickerManager = new acf.Model({ - priority: 5, - wait: 'ready', - initialize: function () { - // vars - var locale = acf.get('locale'); - var rtl = acf.get('rtl'); - var l10n = acf.get('datePickerL10n'); - - // bail early if no l10n - if (!l10n) { - return false; - } - - // bail early if no datepicker library - if (typeof $.datepicker === 'undefined') { - return false; - } - - // rtl - l10n.isRTL = rtl; - - // append - $.datepicker.regional[locale] = l10n; - $.datepicker.setDefaults(l10n); - } - }); - - // add - acf.newDatePicker = function ($input, args) { - // bail early if no datepicker library - if (typeof $.datepicker === 'undefined') { - return false; - } - - // defaults - args = args || {}; - - // initialize - $input.datepicker(args); - - // wrap the datepicker (only if it hasn't already been wrapped) - if ($('body > #ui-datepicker-div').exists()) { - $('body > #ui-datepicker-div').wrap('
    '); - } - }; -})(jQuery); - -/***/ }), - -/***/ "./src/advanced-custom-fields-pro/assets/src/js/_acf-field-date-time-picker.js": -/*!*************************************************************************************!*\ - !*** ./src/advanced-custom-fields-pro/assets/src/js/_acf-field-date-time-picker.js ***! - \*************************************************************************************/ -/***/ (() => { - -(function ($, undefined) { - var Field = acf.models.DatePickerField.extend({ - type: 'date_time_picker', - $control: function () { - return this.$('.acf-date-time-picker'); - }, - initialize: function () { - // vars - var $input = this.$input(); - var $inputText = this.$inputText(); - - // args - var args = { - dateFormat: this.get('date_format'), - timeFormat: this.get('time_format'), - altField: $input, - altFieldTimeOnly: false, - altFormat: 'yy-mm-dd', - altTimeFormat: 'HH:mm:ss', - changeYear: true, - yearRange: '-100:+100', - changeMonth: true, - showButtonPanel: true, - firstDay: this.get('first_day'), - controlType: 'select', - oneLine: true - }; - - // filter - args = acf.applyFilters('date_time_picker_args', args, this); - - // add date time picker - acf.newDateTimePicker($inputText, args); - - // action - acf.doAction('date_time_picker_init', $inputText, args, this); - } - }); - acf.registerFieldType(Field); - - // manager - var dateTimePickerManager = new acf.Model({ - priority: 5, - wait: 'ready', - initialize: function () { - // vars - var locale = acf.get('locale'); - var rtl = acf.get('rtl'); - var l10n = acf.get('dateTimePickerL10n'); - - // bail early if no l10n - if (!l10n) { - return false; - } - - // bail early if no datepicker library - if (typeof $.timepicker === 'undefined') { - return false; - } - - // rtl - l10n.isRTL = rtl; - - // append - $.timepicker.regional[locale] = l10n; - $.timepicker.setDefaults(l10n); - } - }); - - // add - acf.newDateTimePicker = function ($input, args) { - // bail early if no datepicker library - if (typeof $.timepicker === 'undefined') { - return false; - } - - // defaults - args = args || {}; - - // initialize - $input.datetimepicker(args); - - // wrap the datepicker (only if it hasn't already been wrapped) - if ($('body > #ui-datepicker-div').exists()) { - $('body > #ui-datepicker-div').wrap('
    '); - } - }; -})(jQuery); - -/***/ }), - -/***/ "./src/advanced-custom-fields-pro/assets/src/js/_acf-field-file.js": -/*!*************************************************************************!*\ - !*** ./src/advanced-custom-fields-pro/assets/src/js/_acf-field-file.js ***! - \*************************************************************************/ -/***/ (() => { - -(function ($, undefined) { - var Field = acf.models.ImageField.extend({ - type: 'file', - $control: function () { - return this.$('.acf-file-uploader'); - }, - $input: function () { - return this.$('input[type="hidden"]:first'); - }, - validateAttachment: function (attachment) { - // defaults - attachment = attachment || {}; - - // WP attachment - if (attachment.id !== undefined) { - attachment = attachment.attributes; - } - - // args - attachment = acf.parseArgs(attachment, { - url: '', - alt: '', - title: '', - filename: '', - filesizeHumanReadable: '', - icon: '/wp-includes/images/media/default.png' - }); - - // return - return attachment; - }, - render: function (attachment) { - // vars - attachment = this.validateAttachment(attachment); - - // update image - this.$('img').attr({ - src: attachment.icon, - alt: attachment.alt, - title: attachment.title - }); - - // update elements - this.$('[data-name="title"]').text(attachment.title); - this.$('[data-name="filename"]').text(attachment.filename).attr('href', attachment.url); - this.$('[data-name="filesize"]').text(attachment.filesizeHumanReadable); - - // vars - var val = attachment.id || ''; - - // update val - acf.val(this.$input(), val); - - // update class - if (val) { - this.$control().addClass('has-value'); - } else { - this.$control().removeClass('has-value'); - } - }, - selectAttachment: function () { - // vars - var parent = this.parent(); - var multiple = parent && parent.get('type') === 'repeater'; - - // new frame - var frame = acf.newMediaPopup({ - mode: 'select', - title: acf.__('Select File'), - field: this.get('key'), - multiple: multiple, - library: this.get('library'), - allowedTypes: this.get('mime_types'), - select: $.proxy(function (attachment, i) { - if (i > 0) { - this.append(attachment, parent); - } else { - this.render(attachment); - } - }, this) - }); - }, - editAttachment: function () { - // vars - var val = this.val(); - - // bail early if no val - if (!val) { - return false; - } - - // popup - var frame = acf.newMediaPopup({ - mode: 'edit', - title: acf.__('Edit File'), - button: acf.__('Update File'), - attachment: val, - field: this.get('key'), - select: $.proxy(function (attachment, i) { - this.render(attachment); - }, this) - }); - } - }); - acf.registerFieldType(Field); -})(jQuery); - -/***/ }), - -/***/ "./src/advanced-custom-fields-pro/assets/src/js/_acf-field-google-map.js": -/*!*******************************************************************************!*\ - !*** ./src/advanced-custom-fields-pro/assets/src/js/_acf-field-google-map.js ***! - \*******************************************************************************/ -/***/ (() => { - -(function ($, undefined) { - var Field = acf.Field.extend({ - type: 'google_map', - map: false, - wait: 'load', - events: { - 'click a[data-name="clear"]': 'onClickClear', - 'click a[data-name="locate"]': 'onClickLocate', - 'click a[data-name="search"]': 'onClickSearch', - 'keydown .search': 'onKeydownSearch', - 'keyup .search': 'onKeyupSearch', - 'focus .search': 'onFocusSearch', - 'blur .search': 'onBlurSearch', - showField: 'onShow' - }, - $control: function () { - return this.$('.acf-google-map'); - }, - $search: function () { - return this.$('.search'); - }, - $canvas: function () { - return this.$('.canvas'); - }, - setState: function (state) { - // Remove previous state classes. - this.$control().removeClass('-value -loading -searching'); - - // Determine auto state based of current value. - if (state === 'default') { - state = this.val() ? 'value' : ''; - } - - // Update state class. - if (state) { - this.$control().addClass('-' + state); - } - }, - getValue: function () { - var val = this.$input().val(); - if (val) { - return JSON.parse(val); - } else { - return false; - } - }, - setValue: function (val, silent) { - // Convert input value. - var valAttr = ''; - if (val) { - valAttr = JSON.stringify(val); - } - - // Update input (with change). - acf.val(this.$input(), valAttr); - - // Bail early if silent update. - if (silent) { - return; - } - - // Render. - this.renderVal(val); - - /** - * Fires immediately after the value has changed. - * - * @date 12/02/2014 - * @since 5.0.0 - * - * @param object|string val The new value. - * @param object map The Google Map isntance. - * @param object field The field instance. - */ - acf.doAction('google_map_change', val, this.map, this); - }, - renderVal: function (val) { - // Value. - if (val) { - this.setState('value'); - this.$search().val(val.address); - this.setPosition(val.lat, val.lng); - - // No value. - } else { - this.setState(''); - this.$search().val(''); - this.map.marker.setVisible(false); - } - }, - newLatLng: function (lat, lng) { - return new google.maps.LatLng(parseFloat(lat), parseFloat(lng)); - }, - setPosition: function (lat, lng) { - // Update marker position. - this.map.marker.setPosition({ - lat: parseFloat(lat), - lng: parseFloat(lng) - }); - - // Show marker. - this.map.marker.setVisible(true); - - // Center map. - this.center(); - }, - center: function () { - // Find marker position. - var position = this.map.marker.getPosition(); - if (position) { - var lat = position.lat(); - var lng = position.lng(); - - // Or find default settings. - } else { - var lat = this.get('lat'); - var lng = this.get('lng'); - } - - // Center map. - this.map.setCenter({ - lat: parseFloat(lat), - lng: parseFloat(lng) - }); - }, - initialize: function () { - // Ensure Google API is loaded and then initialize map. - withAPI(this.initializeMap.bind(this)); - }, - initializeMap: function () { - // Get value ignoring conditional logic status. - var val = this.getValue(); - - // Construct default args. - var args = acf.parseArgs(val, { - zoom: this.get('zoom'), - lat: this.get('lat'), - lng: this.get('lng') - }); - - // Create Map. - var mapArgs = { - scrollwheel: false, - zoom: parseInt(args.zoom), - center: { - lat: parseFloat(args.lat), - lng: parseFloat(args.lng) - }, - mapTypeId: google.maps.MapTypeId.ROADMAP, - marker: { - draggable: true, - raiseOnDrag: true - }, - autocomplete: {} - }; - mapArgs = acf.applyFilters('google_map_args', mapArgs, this); - var map = new google.maps.Map(this.$canvas()[0], mapArgs); - - // Create Marker. - var markerArgs = acf.parseArgs(mapArgs.marker, { - draggable: true, - raiseOnDrag: true, - map: map - }); - markerArgs = acf.applyFilters('google_map_marker_args', markerArgs, this); - var marker = new google.maps.Marker(markerArgs); - - // Maybe Create Autocomplete. - var autocomplete = false; - if (acf.isset(google, 'maps', 'places', 'Autocomplete')) { - var autocompleteArgs = mapArgs.autocomplete || {}; - autocompleteArgs = acf.applyFilters('google_map_autocomplete_args', autocompleteArgs, this); - autocomplete = new google.maps.places.Autocomplete(this.$search()[0], autocompleteArgs); - autocomplete.bindTo('bounds', map); - } - - // Add map events. - this.addMapEvents(this, map, marker, autocomplete); - - // Append references. - map.acf = this; - map.marker = marker; - map.autocomplete = autocomplete; - this.map = map; - - // Set position. - if (val) { - this.setPosition(val.lat, val.lng); - } - - /** - * Fires immediately after the Google Map has been initialized. - * - * @date 12/02/2014 - * @since 5.0.0 - * - * @param object map The Google Map isntance. - * @param object marker The Google Map marker isntance. - * @param object field The field instance. - */ - acf.doAction('google_map_init', map, marker, this); - }, - addMapEvents: function (field, map, marker, autocomplete) { - // Click map. - google.maps.event.addListener(map, 'click', function (e) { - var lat = e.latLng.lat(); - var lng = e.latLng.lng(); - field.searchPosition(lat, lng); - }); - - // Drag marker. - google.maps.event.addListener(marker, 'dragend', function () { - var lat = this.getPosition().lat(); - var lng = this.getPosition().lng(); - field.searchPosition(lat, lng); - }); - - // Autocomplete search. - if (autocomplete) { - google.maps.event.addListener(autocomplete, 'place_changed', function () { - var place = this.getPlace(); - field.searchPlace(place); - }); - } - - // Detect zoom change. - google.maps.event.addListener(map, 'zoom_changed', function () { - var val = field.val(); - if (val) { - val.zoom = map.getZoom(); - field.setValue(val, true); - } - }); - }, - searchPosition: function (lat, lng) { - //console.log('searchPosition', lat, lng ); - - // Start Loading. - this.setState('loading'); - - // Query Geocoder. - var latLng = { - lat: lat, - lng: lng - }; - geocoder.geocode({ - location: latLng - }, function (results, status) { - //console.log('searchPosition', arguments ); - - // End Loading. - this.setState(''); - - // Status failure. - if (status !== 'OK') { - this.showNotice({ - text: acf.__('Location not found: %s').replace('%s', status), - type: 'warning' - }); - - // Success. - } else { - var val = this.parseResult(results[0]); - - // Override lat/lng to match user defined marker location. - // Avoids issue where marker "snaps" to nearest result. - val.lat = lat; - val.lng = lng; - this.val(val); - } - }.bind(this)); - }, - searchPlace: function (place) { - //console.log('searchPlace', place ); - - // Bail early if no place. - if (!place) { - return; - } - - // Selecting from the autocomplete dropdown will return a rich PlaceResult object. - // Be sure to over-write the "formatted_address" value with the one displayed to the user for best UX. - if (place.geometry) { - place.formatted_address = this.$search().val(); - var val = this.parseResult(place); - this.val(val); - - // Searching a custom address will return an empty PlaceResult object. - } else if (place.name) { - this.searchAddress(place.name); - } - }, - searchAddress: function (address) { - //console.log('searchAddress', address ); - - // Bail early if no address. - if (!address) { - return; - } - - // Allow "lat,lng" search. - var latLng = address.split(','); - if (latLng.length == 2) { - var lat = parseFloat(latLng[0]); - var lng = parseFloat(latLng[1]); - if (lat && lng) { - return this.searchPosition(lat, lng); - } - } - - // Start Loading. - this.setState('loading'); - - // Query Geocoder. - geocoder.geocode({ - address: address - }, function (results, status) { - //console.log('searchPosition', arguments ); - - // End Loading. - this.setState(''); - - // Status failure. - if (status !== 'OK') { - this.showNotice({ - text: acf.__('Location not found: %s').replace('%s', status), - type: 'warning' - }); - - // Success. - } else { - var val = this.parseResult(results[0]); - - // Override address data with parameter allowing custom address to be defined in search. - val.address = address; - - // Update value. - this.val(val); - } - }.bind(this)); - }, - searchLocation: function () { - //console.log('searchLocation' ); - - // Check HTML5 geolocation. - if (!navigator.geolocation) { - return alert(acf.__('Sorry, this browser does not support geolocation')); - } - - // Start Loading. - this.setState('loading'); - - // Query Geolocation. - navigator.geolocation.getCurrentPosition( - // Success. - function (results) { - // End Loading. - this.setState(''); - - // Search position. - var lat = results.coords.latitude; - var lng = results.coords.longitude; - this.searchPosition(lat, lng); - }.bind(this), - // Failure. - function (error) { - this.setState(''); - }.bind(this)); - }, - /** - * parseResult - * - * Returns location data for the given GeocoderResult object. - * - * @date 15/10/19 - * @since 5.8.6 - * - * @param object obj A GeocoderResult object. - * @return object - */ - parseResult: function (obj) { - // Construct basic data. - var result = { - address: obj.formatted_address, - lat: obj.geometry.location.lat(), - lng: obj.geometry.location.lng() - }; - - // Add zoom level. - result.zoom = this.map.getZoom(); - - // Add place ID. - if (obj.place_id) { - result.place_id = obj.place_id; - } - - // Add place name. - if (obj.name) { - result.name = obj.name; - } - - // Create search map for address component data. - var map = { - street_number: ['street_number'], - street_name: ['street_address', 'route'], - city: ['locality', 'postal_town'], - state: ['administrative_area_level_1', 'administrative_area_level_2', 'administrative_area_level_3', 'administrative_area_level_4', 'administrative_area_level_5'], - post_code: ['postal_code'], - country: ['country'] - }; - - // Loop over map. - for (var k in map) { - var keywords = map[k]; - - // Loop over address components. - for (var i = 0; i < obj.address_components.length; i++) { - var component = obj.address_components[i]; - var component_type = component.types[0]; - - // Look for matching component type. - if (keywords.indexOf(component_type) !== -1) { - // Append to result. - result[k] = component.long_name; - - // Append short version. - if (component.long_name !== component.short_name) { - result[k + '_short'] = component.short_name; - } - } - } - } - - /** - * Filters the parsed result. - * - * @date 18/10/19 - * @since 5.8.6 - * - * @param object result The parsed result value. - * @param object obj The GeocoderResult object. - */ - return acf.applyFilters('google_map_result', result, obj, this.map, this); - }, - onClickClear: function () { - this.val(false); - }, - onClickLocate: function () { - this.searchLocation(); - }, - onClickSearch: function () { - this.searchAddress(this.$search().val()); - }, - onFocusSearch: function (e, $el) { - this.setState('searching'); - }, - onBlurSearch: function (e, $el) { - // Get saved address value. - var val = this.val(); - var address = val ? val.address : ''; - - // Remove 'is-searching' if value has not changed. - if ($el.val() === address) { - this.setState('default'); - } - }, - onKeyupSearch: function (e, $el) { - // Clear empty value. - if (!$el.val()) { - this.val(false); - } - }, - // Prevent form from submitting. - onKeydownSearch: function (e, $el) { - if (e.which == 13) { - e.preventDefault(); - $el.blur(); - } - }, - // Center map once made visible. - onShow: function () { - if (this.map) { - this.setTimeout(this.center); - } - } - }); - acf.registerFieldType(Field); - - // Vars. - var loading = false; - var geocoder = false; - - /** - * withAPI - * - * Loads the Google Maps API library and troggers callback. - * - * @date 28/3/19 - * @since 5.7.14 - * - * @param function callback The callback to excecute. - * @return void - */ - - function withAPI(callback) { - // Check if geocoder exists. - if (geocoder) { - return callback(); - } - - // Check if geocoder API exists. - if (acf.isset(window, 'google', 'maps', 'Geocoder')) { - geocoder = new google.maps.Geocoder(); - return callback(); - } - - // Geocoder will need to be loaded. Hook callback to action. - acf.addAction('google_map_api_loaded', callback); - - // Bail early if already loading API. - if (loading) { - return; - } - - // load api - var url = acf.get('google_map_api'); - if (url) { - // Set loading status. - loading = true; - - // Load API - $.ajax({ - url: url, - dataType: 'script', - cache: true, - success: function () { - geocoder = new google.maps.Geocoder(); - acf.doAction('google_map_api_loaded'); - } - }); - } - } -})(jQuery); - -/***/ }), - -/***/ "./src/advanced-custom-fields-pro/assets/src/js/_acf-field-icon-picker.js": -/*!********************************************************************************!*\ - !*** ./src/advanced-custom-fields-pro/assets/src/js/_acf-field-icon-picker.js ***! - \********************************************************************************/ -/***/ (() => { - -(function ($, undefined) { - const Field = acf.Field.extend({ - type: 'icon_picker', - wait: 'load', - events: { - removeField: 'onRemove', - duplicateField: 'onDuplicate', - showField: 'scrollToSelectedDashicon', - 'input .acf-icon_url': 'onUrlChange', - 'click .acf-icon-picker-dashicon': 'onDashiconClick', - 'focus .acf-icon-picker-dashicon-radio': 'onDashiconRadioFocus', - 'blur .acf-icon-picker-dashicon-radio': 'onDashiconRadioBlur', - 'keydown .acf-icon-picker-dashicon-radio': 'onDashiconKeyDown', - 'input .acf-dashicons-search-input': 'onDashiconSearch', - 'keydown .acf-dashicons-search-input': 'onDashiconSearchKeyDown', - 'click .acf-icon-picker-media-library-button': 'onMediaLibraryButtonClick', - 'click .acf-icon-picker-media-library-preview': 'onMediaLibraryButtonClick' - }, - $typeInput() { - return this.$('input[type="hidden"][data-hidden-type="type"]:first'); - }, - $valueInput() { - return this.$('input[type="hidden"][data-hidden-type="value"]:first'); - }, - $tabButton() { - return this.$('.acf-tab-button'); - }, - $selectedIcon() { - return this.$('.acf-icon-picker-dashicon.active'); - }, - $selectedRadio() { - return this.$('.acf-icon-picker-dashicon.active input'); - }, - $dashiconsList() { - return this.$('.acf-dashicons-list'); - }, - $mediaLibraryButton() { - return this.$('.acf-icon-picker-media-library-button'); - }, - initialize() { - // Set up actions hook callbacks. - this.addActions(); - - // Initialize the state of the icon picker. - let typeAndValue = { - type: this.$typeInput().val(), - value: this.$valueInput().val() - }; - - // Store the type and value object. - this.set('typeAndValue', typeAndValue); - - // Any time any acf tab is clicked, we will re-scroll to the selected dashicon. - $('.acf-tab-button').on('click', () => { - this.initializeDashiconsTab(this.get('typeAndValue')); - }); - - // Fire the action which lets people know the state has been updated. - acf.doAction(this.get('name') + '/type_and_value_change', typeAndValue); - this.initializeDashiconsTab(typeAndValue); - this.alignMediaLibraryTabToCurrentValue(typeAndValue); - }, - addActions() { - // Set up an action listener for when the type and value changes. - acf.addAction(this.get('name') + '/type_and_value_change', newTypeAndValue => { - // Align the visual state of each tab to the current value. - this.alignDashiconsTabToCurrentValue(newTypeAndValue); - this.alignMediaLibraryTabToCurrentValue(newTypeAndValue); - this.alignUrlTabToCurrentValue(newTypeAndValue); - }); - }, - updateTypeAndValue(type, value) { - const typeAndValue = { - type, - value - }; - - // Update the values in the hidden fields, which are what will actually be saved. - acf.val(this.$typeInput(), type); - acf.val(this.$valueInput(), value); - - // Fire an action to let each tab set itself according to the typeAndValue state. - acf.doAction(this.get('name') + '/type_and_value_change', typeAndValue); - - // Set the state. - this.set('typeAndValue', typeAndValue); - }, - scrollToSelectedDashicon() { - const innerElement = this.$selectedIcon(); - - // If no icon is selected, do nothing. - if (innerElement.length === 0) { - return; - } - const scrollingDiv = this.$dashiconsList(); - scrollingDiv.scrollTop(0); - const distance = innerElement.position().top - 50; - if (distance === 0) { - return; - } - scrollingDiv.scrollTop(distance); - }, - initializeDashiconsTab(typeAndValue) { - const dashicons = this.getDashiconsList() || []; - this.set('dashicons', dashicons); - this.renderDashiconList(); - this.initializeSelectedDashicon(typeAndValue); - }, - initializeSelectedDashicon(typeAndValue) { - if (typeAndValue.type !== 'dashicons') { - return; - } - // Select the correct dashicon. - this.selectDashicon(typeAndValue.value, false).then(() => { - // Scroll to the selected dashicon. - this.scrollToSelectedDashicon(); - }); - }, - alignDashiconsTabToCurrentValue(typeAndValue) { - if (typeAndValue.type !== 'dashicons') { - this.unselectDashicon(); - } - }, - renderDashiconHTML(dashicon) { - const id = `${this.get('name')}-${dashicon.key}`; - return `
    - - -
    `; - }, - renderDashiconList() { - const dashicons = this.get('dashicons'); - this.$dashiconsList().empty(); - dashicons.forEach(dashicon => { - this.$dashiconsList().append(this.renderDashiconHTML(dashicon)); - }); - }, - getDashiconsList() { - const iconPickeri10n = acf.get('iconPickeri10n') || []; - const dashicons = Object.entries(iconPickeri10n).map(([key, value]) => { - return { - key, - label: value - }; - }); - return dashicons; - }, - getDashiconsBySearch(searchTerm) { - const lowercaseSearchTerm = searchTerm.toLowerCase(); - const dashicons = this.getDashiconsList(); - const filteredDashicons = dashicons.filter(function (icon) { - const lowercaseIconLabel = icon.label.toLowerCase(); - return lowercaseIconLabel.indexOf(lowercaseSearchTerm) > -1; - }); - return filteredDashicons; - }, - selectDashicon(dashicon, setFocus = true) { - this.set('selectedDashicon', dashicon); - - // Select the new one. - const $newIcon = this.$dashiconsList().find('.acf-icon-picker-dashicon[data-icon="' + dashicon + '"]'); - $newIcon.addClass('active'); - const $input = $newIcon.find('input'); - const thePromise = $input.prop('checked', true).promise(); - if (setFocus) { - $input.trigger('focus'); - } - this.updateTypeAndValue('dashicons', dashicon); - return thePromise; - }, - unselectDashicon() { - // Remove the currently active dashicon, if any. - this.$dashiconsList().find('.acf-icon-picker-dashicon').removeClass('active'); - this.set('selectedDashicon', false); - }, - onDashiconRadioFocus(e) { - const dashicon = e.target.value; - const $newIcon = this.$dashiconsList().find('.acf-icon-picker-dashicon[data-icon="' + dashicon + '"]'); - $newIcon.addClass('focus'); - - // If this is a different icon than previously selected, select it. - if (this.get('selectedDashicon') !== dashicon) { - this.unselectDashicon(); - this.selectDashicon(dashicon); - } - }, - onDashiconRadioBlur(e) { - const icon = this.$(e.target); - const iconParent = icon.parent(); - iconParent.removeClass('focus'); - }, - onDashiconClick(e) { - e.preventDefault(); - const icon = this.$(e.target); - const dashicon = icon.find('input').val(); - const $newIcon = this.$dashiconsList().find('.acf-icon-picker-dashicon[data-icon="' + dashicon + '"]'); - - // By forcing focus on the input, we fire onDashiconRadioFocus. - $newIcon.find('input').prop('checked', true).trigger('focus'); - }, - onDashiconSearch(e) { - const searchTerm = e.target.value; - const filteredDashicons = this.getDashiconsBySearch(searchTerm); - if (filteredDashicons.length > 0 || !searchTerm) { - this.set('dashicons', filteredDashicons); - this.$('.acf-dashicons-list-empty').hide(); - this.$('.acf-dashicons-list ').show(); - this.renderDashiconList(); - - // Announce change of data to screen readers. - wp.a11y.speak(acf.get('iconPickerA11yStrings').newResultsFoundForSearchTerm, 'polite'); - } else { - // Truncate the search term if it's too long. - const visualSearchTerm = searchTerm.length > 30 ? searchTerm.substring(0, 30) + '…' : searchTerm; - this.$('.acf-dashicons-list ').hide(); - this.$('.acf-dashicons-list-empty').find('.acf-invalid-dashicon-search-term').text(visualSearchTerm); - this.$('.acf-dashicons-list-empty').css('display', 'flex'); - this.$('.acf-dashicons-list-empty').show(); - - // Announce change of data to screen readers. - wp.a11y.speak(acf.get('iconPickerA11yStrings').noResultsForSearchTerm, 'polite'); - } - }, - onDashiconSearchKeyDown(e) { - // Check if the pressed key is Enter (key code 13) - if (e.which === 13) { - // Prevent submitting the entire form if someone presses enter after searching. - e.preventDefault(); - } - }, - onDashiconKeyDown(e) { - if (e.which === 13) { - // If someone presses enter while an icon is focused, prevent the form from submitting. - e.preventDefault(); - } - }, - alignMediaLibraryTabToCurrentValue(typeAndValue) { - const type = typeAndValue.type; - const value = typeAndValue.value; - if (type !== 'media_library' && type !== 'dashicons') { - // Hide the preview container on the media library tab. - this.$('.acf-icon-picker-media-library-preview').hide(); - } - if (type === 'media_library') { - const previewUrl = this.get('mediaLibraryPreviewUrl'); - // Set the image file preview src. - this.$('.acf-icon-picker-media-library-preview-img img').attr('src', previewUrl); - - // Hide the dashicon preview. - this.$('.acf-icon-picker-media-library-preview-dashicon').hide(); - - // Show the image file preview. - this.$('.acf-icon-picker-media-library-preview-img').show(); - - // Show the preview container (it may have been hidden if nothing was ever selected yet). - this.$('.acf-icon-picker-media-library-preview').show(); - } - if (type === 'dashicons') { - // Set the dashicon preview class. - this.$('.acf-icon-picker-media-library-preview-dashicon .dashicons').attr('class', 'dashicons ' + value); - - // Hide the image file preview. - this.$('.acf-icon-picker-media-library-preview-img').hide(); - - // Show the dashicon preview. - this.$('.acf-icon-picker-media-library-preview-dashicon').show(); - - // Show the preview container (it may have been hidden if nothing was ever selected yet). - this.$('.acf-icon-picker-media-library-preview').show(); - } - }, - async onMediaLibraryButtonClick(e) { - e.preventDefault(); - await this.selectAndReturnAttachment().then(attachment => { - // When an attachment is selected, update the preview and the hidden fields. - this.set('mediaLibraryPreviewUrl', attachment.attributes.url); - this.updateTypeAndValue('media_library', attachment.id); - }); - }, - selectAndReturnAttachment() { - return new Promise(resolve => { - acf.newMediaPopup({ - mode: 'select', - type: 'image', - title: acf.__('Select Image'), - field: this.get('key'), - multiple: false, - library: 'all', - allowedTypes: 'image', - select: resolve - }); - }); - }, - alignUrlTabToCurrentValue(typeAndValue) { - if (typeAndValue.type !== 'url') { - this.$('.acf-icon_url').val(''); - } - }, - onUrlChange(event) { - const currentValue = event.target.value; - this.updateTypeAndValue('url', currentValue); - } - }); - acf.registerFieldType(Field); -})(jQuery); - -/***/ }), - -/***/ "./src/advanced-custom-fields-pro/assets/src/js/_acf-field-image.js": -/*!**************************************************************************!*\ - !*** ./src/advanced-custom-fields-pro/assets/src/js/_acf-field-image.js ***! - \**************************************************************************/ -/***/ (() => { - -(function ($, undefined) { - var Field = acf.Field.extend({ - type: 'image', - $control: function () { - return this.$('.acf-image-uploader'); - }, - $input: function () { - return this.$('input[type="hidden"]:first'); - }, - events: { - 'click a[data-name="add"]': 'onClickAdd', - 'click a[data-name="edit"]': 'onClickEdit', - 'click a[data-name="remove"]': 'onClickRemove', - 'change input[type="file"]': 'onChange' - }, - initialize: function () { - // add attribute to form - if (this.get('uploader') === 'basic') { - this.$el.closest('form').attr('enctype', 'multipart/form-data'); - } - }, - validateAttachment: function (attachment) { - // Use WP attachment attributes when available. - if (attachment && attachment.attributes) { - attachment = attachment.attributes; - } - - // Apply defaults. - attachment = acf.parseArgs(attachment, { - id: 0, - url: '', - alt: '', - title: '', - caption: '', - description: '', - width: 0, - height: 0 - }); - - // Override with "preview size". - var size = acf.isget(attachment, 'sizes', this.get('preview_size')); - if (size) { - attachment.url = size.url; - attachment.width = size.width; - attachment.height = size.height; - } - - // Return. - return attachment; - }, - render: function (attachment) { - attachment = this.validateAttachment(attachment); - - // Update DOM. - this.$('img').attr({ - src: attachment.url, - alt: attachment.alt - }); - if (attachment.id) { - this.val(attachment.id); - this.$control().addClass('has-value'); - } else { - this.val(''); - this.$control().removeClass('has-value'); - } - }, - // create a new repeater row and render value - append: function (attachment, parent) { - // create function to find next available field within parent - var getNext = function (field, parent) { - // find existing file fields within parent - var fields = acf.getFields({ - key: field.get('key'), - parent: parent.$el - }); - - // find the first field with no value - for (var i = 0; i < fields.length; i++) { - if (!fields[i].val()) { - return fields[i]; - } - } - - // return - return false; - }; - - // find existing file fields within parent - var field = getNext(this, parent); - - // add new row if no available field - if (!field) { - parent.$('.acf-button:last').trigger('click'); - field = getNext(this, parent); - } - - // render - if (field) { - field.render(attachment); - } - }, - selectAttachment: function () { - // vars - var parent = this.parent(); - var multiple = parent && parent.get('type') === 'repeater'; - - // new frame - var frame = acf.newMediaPopup({ - mode: 'select', - type: 'image', - title: acf.__('Select Image'), - field: this.get('key'), - multiple: multiple, - library: this.get('library'), - allowedTypes: this.get('mime_types'), - select: $.proxy(function (attachment, i) { - if (i > 0) { - this.append(attachment, parent); - } else { - this.render(attachment); - } - }, this) - }); - }, - editAttachment: function () { - // vars - var val = this.val(); - - // bail early if no val - if (!val) return; - - // popup - var frame = acf.newMediaPopup({ - mode: 'edit', - title: acf.__('Edit Image'), - button: acf.__('Update Image'), - attachment: val, - field: this.get('key'), - select: $.proxy(function (attachment, i) { - this.render(attachment); - }, this) - }); - }, - removeAttachment: function () { - this.render(false); - }, - onClickAdd: function (e, $el) { - this.selectAttachment(); - }, - onClickEdit: function (e, $el) { - this.editAttachment(); - }, - onClickRemove: function (e, $el) { - this.removeAttachment(); - }, - onChange: function (e, $el) { - var $hiddenInput = this.$input(); - if (!$el.val()) { - $hiddenInput.val(''); - } - acf.getFileInputData($el, function (data) { - $hiddenInput.val($.param(data)); - }); - } - }); - acf.registerFieldType(Field); -})(jQuery); - -/***/ }), - -/***/ "./src/advanced-custom-fields-pro/assets/src/js/_acf-field-link.js": -/*!*************************************************************************!*\ - !*** ./src/advanced-custom-fields-pro/assets/src/js/_acf-field-link.js ***! - \*************************************************************************/ -/***/ (() => { - -(function ($, undefined) { - var Field = acf.Field.extend({ - type: 'link', - events: { - 'click a[data-name="add"]': 'onClickEdit', - 'click a[data-name="edit"]': 'onClickEdit', - 'click a[data-name="remove"]': 'onClickRemove', - 'change .link-node': 'onChange' - }, - $control: function () { - return this.$('.acf-link'); - }, - $node: function () { - return this.$('.link-node'); - }, - getValue: function () { - // vars - var $node = this.$node(); - - // return false if empty - if (!$node.attr('href')) { - return false; - } - - // return - return { - title: $node.html(), - url: $node.attr('href'), - target: $node.attr('target') - }; - }, - setValue: function (val) { - // default - val = acf.parseArgs(val, { - title: '', - url: '', - target: '' - }); - - // vars - var $div = this.$control(); - var $node = this.$node(); - - // remove class - $div.removeClass('-value -external'); - - // add class - if (val.url) $div.addClass('-value'); - if (val.target === '_blank') $div.addClass('-external'); - - // update text - this.$('.link-title').html(val.title); - this.$('.link-url').attr('href', val.url).html(val.url); - - // update node - $node.html(val.title); - $node.attr('href', val.url); - $node.attr('target', val.target); - - // update inputs - this.$('.input-title').val(val.title); - this.$('.input-target').val(val.target); - this.$('.input-url').val(val.url).trigger('change'); - }, - onClickEdit: function (e, $el) { - acf.wpLink.open(this.$node()); - }, - onClickRemove: function (e, $el) { - this.setValue(false); - }, - onChange: function (e, $el) { - // get the changed value - var val = this.getValue(); - - // update inputs - this.setValue(val); - } - }); - acf.registerFieldType(Field); - - // manager - acf.wpLink = new acf.Model({ - getNodeValue: function () { - var $node = this.get('node'); - return { - title: acf.decode($node.html()), - url: $node.attr('href'), - target: $node.attr('target') - }; - }, - setNodeValue: function (val) { - var $node = this.get('node'); - $node.text(val.title); - $node.attr('href', val.url); - $node.attr('target', val.target); - $node.trigger('change'); - }, - getInputValue: function () { - return { - title: $('#wp-link-text').val(), - url: $('#wp-link-url').val(), - target: $('#wp-link-target').prop('checked') ? '_blank' : '' - }; - }, - setInputValue: function (val) { - $('#wp-link-text').val(val.title); - $('#wp-link-url').val(val.url); - $('#wp-link-target').prop('checked', val.target === '_blank'); - }, - open: function ($node) { - // add events - this.on('wplink-open', 'onOpen'); - this.on('wplink-close', 'onClose'); - - // set node - this.set('node', $node); - - // create textarea - var $textarea = $(''); - $('body').append($textarea); - - // vars - var val = this.getNodeValue(); - - // open popup - wpLink.open('acf-link-textarea', val.url, val.title, null); - }, - onOpen: function () { - // always show title (WP will hide title if empty) - $('#wp-link-wrap').addClass('has-text-field'); - - // set inputs - var val = this.getNodeValue(); - this.setInputValue(val); - - // Update button text. - if (val.url && wpLinkL10n) { - $('#wp-link-submit').val(wpLinkL10n.update); - } - }, - close: function () { - wpLink.close(); - }, - onClose: function () { - // Bail early if no node. - // Needed due to WP triggering this event twice. - if (!this.has('node')) { - return false; - } - - // Determine context. - var $submit = $('#wp-link-submit'); - var isSubmit = $submit.is(':hover') || $submit.is(':focus'); - - // Set value - if (isSubmit) { - var val = this.getInputValue(); - this.setNodeValue(val); - } - - // Cleanup. - this.off('wplink-open'); - this.off('wplink-close'); - $('#acf-link-textarea').remove(); - this.set('node', null); - } - }); -})(jQuery); - -/***/ }), - -/***/ "./src/advanced-custom-fields-pro/assets/src/js/_acf-field-oembed.js": -/*!***************************************************************************!*\ - !*** ./src/advanced-custom-fields-pro/assets/src/js/_acf-field-oembed.js ***! - \***************************************************************************/ -/***/ (() => { - -(function ($, undefined) { - var Field = acf.Field.extend({ - type: 'oembed', - events: { - 'click [data-name="clear-button"]': 'onClickClear', - 'keypress .input-search': 'onKeypressSearch', - 'keyup .input-search': 'onKeyupSearch', - 'change .input-search': 'onChangeSearch' - }, - $control: function () { - return this.$('.acf-oembed'); - }, - $input: function () { - return this.$('.input-value'); - }, - $search: function () { - return this.$('.input-search'); - }, - getValue: function () { - return this.$input().val(); - }, - getSearchVal: function () { - return this.$search().val(); - }, - setValue: function (val) { - // class - if (val) { - this.$control().addClass('has-value'); - } else { - this.$control().removeClass('has-value'); - } - acf.val(this.$input(), val); - }, - showLoading: function (show) { - acf.showLoading(this.$('.canvas')); - }, - hideLoading: function () { - acf.hideLoading(this.$('.canvas')); - }, - maybeSearch: function () { - // vars - var prevUrl = this.val(); - var url = this.getSearchVal(); - - // no value - if (!url) { - return this.clear(); - } - - // fix missing 'http://' - causes the oembed code to error and fail - if (url.substr(0, 4) != 'http') { - url = 'http://' + url; - } - - // bail early if no change - if (url === prevUrl) return; - - // clear existing timeout - var timeout = this.get('timeout'); - if (timeout) { - clearTimeout(timeout); - } - - // set new timeout - var callback = $.proxy(this.search, this, url); - this.set('timeout', setTimeout(callback, 300)); - }, - search: function (url) { - // ajax - var ajaxData = { - action: 'acf/fields/oembed/search', - s: url, - field_key: this.get('key') - }; - - // clear existing timeout - var xhr = this.get('xhr'); - if (xhr) { - xhr.abort(); - } - - // loading - this.showLoading(); - - // query - var xhr = $.ajax({ - url: acf.get('ajaxurl'), - data: acf.prepareForAjax(ajaxData), - type: 'post', - dataType: 'json', - context: this, - success: function (json) { - // error - if (!json || !json.html) { - json = { - url: false, - html: '' - }; - } - - // update vars - this.val(json.url); - this.$('.canvas-media').html(json.html); - }, - complete: function () { - this.hideLoading(); - } - }); - this.set('xhr', xhr); - }, - clear: function () { - this.val(''); - this.$search().val(''); - this.$('.canvas-media').html(''); - }, - onClickClear: function (e, $el) { - this.clear(); - }, - onKeypressSearch: function (e, $el) { - if (e.which == 13) { - e.preventDefault(); - this.maybeSearch(); - } - }, - onKeyupSearch: function (e, $el) { - if ($el.val()) { - this.maybeSearch(); - } - }, - onChangeSearch: function (e, $el) { - this.maybeSearch(); - } - }); - acf.registerFieldType(Field); -})(jQuery); - -/***/ }), - -/***/ "./src/advanced-custom-fields-pro/assets/src/js/_acf-field-page-link.js": -/*!******************************************************************************!*\ - !*** ./src/advanced-custom-fields-pro/assets/src/js/_acf-field-page-link.js ***! - \******************************************************************************/ -/***/ (() => { - -(function ($, undefined) { - var Field = acf.models.SelectField.extend({ - type: 'page_link' - }); - acf.registerFieldType(Field); -})(jQuery); - -/***/ }), - -/***/ "./src/advanced-custom-fields-pro/assets/src/js/_acf-field-post-object.js": -/*!********************************************************************************!*\ - !*** ./src/advanced-custom-fields-pro/assets/src/js/_acf-field-post-object.js ***! - \********************************************************************************/ -/***/ (() => { - -(function ($, undefined) { - var Field = acf.models.SelectField.extend({ - type: 'post_object' - }); - acf.registerFieldType(Field); -})(jQuery); - -/***/ }), - -/***/ "./src/advanced-custom-fields-pro/assets/src/js/_acf-field-radio.js": -/*!**************************************************************************!*\ - !*** ./src/advanced-custom-fields-pro/assets/src/js/_acf-field-radio.js ***! - \**************************************************************************/ -/***/ (() => { - -(function ($, undefined) { - var Field = acf.Field.extend({ - type: 'radio', - events: { - 'click input[type="radio"]': 'onClick' - }, - $control: function () { - return this.$('.acf-radio-list'); - }, - $input: function () { - return this.$('input:checked'); - }, - $inputText: function () { - return this.$('input[type="text"]'); - }, - getValue: function () { - var val = this.$input().val(); - if (val === 'other' && this.get('other_choice')) { - val = this.$inputText().val(); - } - return val; - }, - onClick: function (e, $el) { - // vars - var $label = $el.parent('label'); - var selected = $label.hasClass('selected'); - var val = $el.val(); - - // remove previous selected - this.$('.selected').removeClass('selected'); - - // add active class - $label.addClass('selected'); - - // allow null - if (this.get('allow_null') && selected) { - $label.removeClass('selected'); - $el.prop('checked', false).trigger('change'); - val = false; - } - - // other - if (this.get('other_choice')) { - // enable - if (val === 'other') { - this.$inputText().prop('disabled', false); - - // disable - } else { - this.$inputText().prop('disabled', true); - } - } - } - }); - acf.registerFieldType(Field); -})(jQuery); - -/***/ }), - -/***/ "./src/advanced-custom-fields-pro/assets/src/js/_acf-field-range.js": -/*!**************************************************************************!*\ - !*** ./src/advanced-custom-fields-pro/assets/src/js/_acf-field-range.js ***! - \**************************************************************************/ -/***/ (() => { - -(function ($, undefined) { - var Field = acf.Field.extend({ - type: 'range', - events: { - 'input input[type="range"]': 'onChange', - 'change input': 'onChange' - }, - $input: function () { - return this.$('input[type="range"]'); - }, - $inputAlt: function () { - return this.$('input[type="number"]'); - }, - setValue: function (val) { - this.busy = true; - - // Update range input (with change). - acf.val(this.$input(), val); - - // Update alt input (without change). - // Read in input value to inherit min/max validation. - acf.val(this.$inputAlt(), this.$input().val(), true); - this.busy = false; - }, - onChange: function (e, $el) { - if (!this.busy) { - this.setValue($el.val()); - } - } - }); - acf.registerFieldType(Field); -})(jQuery); - -/***/ }), - -/***/ "./src/advanced-custom-fields-pro/assets/src/js/_acf-field-relationship.js": -/*!*********************************************************************************!*\ - !*** ./src/advanced-custom-fields-pro/assets/src/js/_acf-field-relationship.js ***! - \*********************************************************************************/ -/***/ (() => { - -(function ($, undefined) { - var Field = acf.Field.extend({ - type: 'relationship', - events: { - 'keypress [data-filter]': 'onKeypressFilter', - 'change [data-filter]': 'onChangeFilter', - 'keyup [data-filter]': 'onChangeFilter', - 'click .choices-list .acf-rel-item': 'onClickAdd', - 'keypress .choices-list .acf-rel-item': 'onKeypressFilter', - 'keypress .values-list .acf-rel-item': 'onKeypressFilter', - 'click [data-name="remove_item"]': 'onClickRemove', - 'touchstart .values-list .acf-rel-item': 'onTouchStartValues' - }, - $control: function () { - return this.$('.acf-relationship'); - }, - $list: function (list) { - return this.$('.' + list + '-list'); - }, - $listItems: function (list) { - return this.$list(list).find('.acf-rel-item'); - }, - $listItem: function (list, id) { - return this.$list(list).find('.acf-rel-item[data-id="' + id + '"]'); - }, - getValue: function () { - var val = []; - this.$listItems('values').each(function () { - val.push($(this).data('id')); - }); - return val.length ? val : false; - }, - newChoice: function (props) { - return ['
  • ', '' + props.text + '', '
  • '].join(''); - }, - newValue: function (props) { - return ['
  • ', '', '' + props.text, '', '', '
  • '].join(''); - }, - initialize: function () { - // Delay initialization until "interacted with" or "in view". - var delayed = this.proxy(acf.once(function () { - // Add sortable. - this.$list('values').sortable({ - items: 'li', - forceHelperSize: true, - forcePlaceholderSize: true, - scroll: true, - update: this.proxy(function () { - this.$input().trigger('change'); - }) - }); - - // Avoid browser remembering old scroll position and add event. - this.$list('choices').scrollTop(0).on('scroll', this.proxy(this.onScrollChoices)); - - // Fetch choices. - this.fetch(); - })); - - // Bind "interacted with". - this.$el.one('mouseover', delayed); - this.$el.one('focus', 'input', delayed); - - // Bind "in view". - acf.onceInView(this.$el, delayed); - }, - onScrollChoices: function (e) { - // bail early if no more results - if (this.get('loading') || !this.get('more')) { - return; - } - - // Scrolled to bottom - var $list = this.$list('choices'); - var scrollTop = Math.ceil($list.scrollTop()); - var scrollHeight = Math.ceil($list[0].scrollHeight); - var innerHeight = Math.ceil($list.innerHeight()); - var paged = this.get('paged') || 1; - if (scrollTop + innerHeight >= scrollHeight) { - // update paged - this.set('paged', paged + 1); - - // fetch - this.fetch(); - } - }, - onKeypressFilter: function (e, $el) { - // Receive enter key when selecting relationship items. - if ($el.hasClass('acf-rel-item-add') && e.which == 13) { - this.onClickAdd(e, $el); - } - // Receive enter key when removing relationship items. - if ($el.hasClass('acf-rel-item-remove') && e.which == 13) { - this.onClickRemove(e, $el); - } - // don't submit form - if (e.which == 13) { - e.preventDefault(); - } - }, - onChangeFilter: function (e, $el) { - // vars - var val = $el.val(); - var filter = $el.data('filter'); - - // Bail early if filter has not changed - if (this.get(filter) === val) { - return; - } - - // update attr - this.set(filter, val); - if (filter === 's') { - // If val is numeric, limit results to include. - if (parseInt(val)) { - this.set('include', val); - } - } - - // reset paged - this.set('paged', 1); - - // fetch - if ($el.is('select')) { - this.fetch(); - - // search must go through timeout - } else { - this.maybeFetch(); - } - }, - onClickAdd: function (e, $el) { - // vars - var val = this.val(); - var max = parseInt(this.get('max')); - - // can be added? - if ($el.hasClass('disabled')) { - return false; - } - - // validate - if (max > 0 && val && val.length >= max) { - // add notice - this.showNotice({ - text: acf.__('Maximum values reached ( {max} values )').replace('{max}', max), - type: 'warning' - }); - return false; - } - - // disable - $el.addClass('disabled'); - - // add - var html = this.newValue({ - id: $el.data('id'), - text: $el.html() - }); - this.$list('values').append(html); - - // trigger change - this.$input().trigger('change'); - }, - onClickRemove: function (e, $el) { - // Prevent default here because generic handler wont be triggered. - e.preventDefault(); - let $span; - // Behavior if triggered from tabbed event. - if ($el.hasClass('acf-rel-item-remove')) { - $span = $el; - } else { - // Behavior if triggered through click event. - $span = $el.parent(); - } - - // vars - const $li = $span.parent(); - const id = $span.data('id'); - - // remove value - $li.remove(); - - // show choice - this.$listItem('choices', id).removeClass('disabled'); - - // trigger change - this.$input().trigger('change'); - }, - onTouchStartValues: function (e, $el) { - $(this.$listItems('values')).removeClass('relationship-hover'); - $el.addClass('relationship-hover'); - }, - maybeFetch: function () { - // vars - var timeout = this.get('timeout'); - - // abort timeout - if (timeout) { - clearTimeout(timeout); - } - - // fetch - timeout = this.setTimeout(this.fetch, 300); - this.set('timeout', timeout); - }, - getAjaxData: function () { - // load data based on element attributes - var ajaxData = this.$control().data(); - for (var name in ajaxData) { - ajaxData[name] = this.get(name); - } - - // extra - ajaxData.action = 'acf/fields/relationship/query'; - ajaxData.field_key = this.get('key'); - - // Filter. - ajaxData = acf.applyFilters('relationship_ajax_data', ajaxData, this); - - // return - return ajaxData; - }, - fetch: function () { - // abort XHR if this field is already loading AJAX data - var xhr = this.get('xhr'); - if (xhr) { - xhr.abort(); - } - - // add to this.o - var ajaxData = this.getAjaxData(); - - // clear html if is new query - var $choiceslist = this.$list('choices'); - if (ajaxData.paged == 1) { - $choiceslist.html(''); - } - - // loading - var $loading = $('
  • ' + acf.__('Loading') + '
  • '); - $choiceslist.append($loading); - this.set('loading', true); - - // callback - var onComplete = function () { - this.set('loading', false); - $loading.remove(); - }; - var onSuccess = function (json) { - // no results - if (!json || !json.results || !json.results.length) { - // prevent pagination - this.set('more', false); - - // add message - if (this.get('paged') == 1) { - this.$list('choices').append('
  • ' + acf.__('No matches found') + '
  • '); - } - - // return - return; - } - - // set more (allows pagination scroll) - this.set('more', json.more); - - // get new results - var html = this.walkChoices(json.results); - var $html = $(html); - - // apply .disabled to left li's - var val = this.val(); - if (val && val.length) { - val.map(function (id) { - $html.find('.acf-rel-item[data-id="' + id + '"]').addClass('disabled'); - }); - } - - // append - $choiceslist.append($html); - - // merge together groups - var $prevLabel = false; - var $prevList = false; - $choiceslist.find('.acf-rel-label').each(function () { - var $label = $(this); - var $list = $label.siblings('ul'); - if ($prevLabel && $prevLabel.text() == $label.text()) { - $prevList.append($list.children()); - $(this).parent().remove(); - return; - } - - // update vars - $prevLabel = $label; - $prevList = $list; - }); - }; - - // get results - var xhr = $.ajax({ - url: acf.get('ajaxurl'), - dataType: 'json', - type: 'post', - data: acf.prepareForAjax(ajaxData), - context: this, - success: onSuccess, - complete: onComplete - }); - - // set - this.set('xhr', xhr); - }, - walkChoices: function (data) { - // walker - var walk = function (data) { - // vars - var html = ''; - - // is array - if ($.isArray(data)) { - data.map(function (item) { - html += walk(item); - }); - - // is item - } else if ($.isPlainObject(data)) { - // group - if (data.children !== undefined) { - html += '
  • ' + acf.escHtml(data.text) + '
      '; - html += walk(data.children); - html += '
  • '; - - // single - } else { - html += '
  • ' + acf.escHtml(data.text) + '
  • '; - } - } - - // return - return html; - }; - return walk(data); - } - }); - acf.registerFieldType(Field); -})(jQuery); - -/***/ }), - -/***/ "./src/advanced-custom-fields-pro/assets/src/js/_acf-field-select.js": -/*!***************************************************************************!*\ - !*** ./src/advanced-custom-fields-pro/assets/src/js/_acf-field-select.js ***! - \***************************************************************************/ -/***/ (() => { - -(function ($, undefined) { - var Field = acf.Field.extend({ - type: 'select', - select2: false, - wait: 'load', - events: { - removeField: 'onRemove', - duplicateField: 'onDuplicate' - }, - $input: function () { - return this.$('select'); - }, - initialize: function () { - // vars - var $select = this.$input(); - - // inherit data - this.inherit($select); - - // select2 - if (this.get('ui')) { - // populate ajax_data (allowing custom attribute to already exist) - var ajaxAction = this.get('ajax_action'); - if (!ajaxAction) { - ajaxAction = 'acf/fields/' + this.get('type') + '/query'; - } - - // select2 - this.select2 = acf.newSelect2($select, { - field: this, - ajax: this.get('ajax'), - multiple: this.get('multiple'), - placeholder: this.get('placeholder'), - allowNull: this.get('allow_null'), - ajaxAction: ajaxAction - }); - } - }, - onRemove: function () { - if (this.select2) { - this.select2.destroy(); - } - }, - onDuplicate: function (e, $el, $duplicate) { - if (this.select2) { - $duplicate.find('.select2-container').remove(); - $duplicate.find('select').removeClass('select2-hidden-accessible'); - } - } - }); - acf.registerFieldType(Field); -})(jQuery); - -/***/ }), - -/***/ "./src/advanced-custom-fields-pro/assets/src/js/_acf-field-tab.js": -/*!************************************************************************!*\ - !*** ./src/advanced-custom-fields-pro/assets/src/js/_acf-field-tab.js ***! - \************************************************************************/ -/***/ (() => { - -(function ($, undefined) { - // vars - var CONTEXT = 'tab'; - var Field = acf.Field.extend({ - type: 'tab', - wait: '', - tabs: false, - tab: false, - events: { - duplicateField: 'onDuplicate' - }, - findFields: function () { - let filter; - - /** - * Tabs in the admin UI that can be extended by third - * parties have the child settings wrapped inside an extra div, - * so we need to look for that instead of an adjacent .acf-field. - */ - switch (this.get('key')) { - case 'acf_field_settings_tabs': - filter = '.acf-field-settings-main'; - break; - case 'acf_field_group_settings_tabs': - filter = '.field-group-settings-tab'; - break; - case 'acf_browse_fields_tabs': - filter = '.acf-field-types-tab'; - break; - case 'acf_icon_picker_tabs': - filter = '.acf-icon-picker-tabs'; - break; - case 'acf_post_type_tabs': - filter = '.acf-post-type-advanced-settings'; - break; - case 'acf_taxonomy_tabs': - filter = '.acf-taxonomy-advanced-settings'; - break; - case 'acf_ui_options_page_tabs': - filter = '.acf-ui-options-page-advanced-settings'; - break; - default: - filter = '.acf-field'; - } - return this.$el.nextUntil('.acf-field-tab', filter); - }, - getFields: function () { - return acf.getFields(this.findFields()); - }, - findTabs: function () { - return this.$el.prevAll('.acf-tab-wrap:first'); - }, - findTab: function () { - return this.$('.acf-tab-button'); - }, - initialize: function () { - // bail early if is td - if (this.$el.is('td')) { - this.events = {}; - return false; - } - - // vars - var $tabs = this.findTabs(); - var $tab = this.findTab(); - var settings = acf.parseArgs($tab.data(), { - endpoint: false, - placement: '', - before: this.$el - }); - - // create wrap - if (!$tabs.length || settings.endpoint) { - this.tabs = new Tabs(settings); - } else { - this.tabs = $tabs.data('acf'); - } - - // add tab - this.tab = this.tabs.addTab($tab, this); - }, - isActive: function () { - return this.tab.isActive(); - }, - showFields: function () { - // show fields - this.getFields().map(function (field) { - field.show(this.cid, CONTEXT); - field.hiddenByTab = false; - }, this); - }, - hideFields: function () { - // hide fields - this.getFields().map(function (field) { - field.hide(this.cid, CONTEXT); - field.hiddenByTab = this.tab; - }, this); - }, - show: function (lockKey) { - // show field and store result - var visible = acf.Field.prototype.show.apply(this, arguments); - - // check if now visible - if (visible) { - // show tab - this.tab.show(); - - // check active tabs - this.tabs.refresh(); - } - - // return - return visible; - }, - hide: function (lockKey) { - // hide field and store result - var hidden = acf.Field.prototype.hide.apply(this, arguments); - - // check if now hidden - if (hidden) { - // hide tab - this.tab.hide(); - - // reset tabs if this was active - if (this.isActive()) { - this.tabs.reset(); - } - } - - // return - return hidden; - }, - enable: function (lockKey) { - // enable fields - this.getFields().map(function (field) { - field.enable(CONTEXT); - }); - }, - disable: function (lockKey) { - // disable fields - this.getFields().map(function (field) { - field.disable(CONTEXT); - }); - }, - onDuplicate: function (e, $el, $duplicate) { - if (this.isActive()) { - $duplicate.prevAll('.acf-tab-wrap:first').remove(); - } - } - }); - acf.registerFieldType(Field); - - /** - * tabs - * - * description - * - * @date 8/2/18 - * @since 5.6.5 - * - * @param type $var Description. Default. - * @return type Description. - */ - - var i = 0; - var Tabs = acf.Model.extend({ - tabs: [], - active: false, - actions: { - refresh: 'onRefresh', - close_field_object: 'onCloseFieldObject' - }, - data: { - before: false, - placement: 'top', - index: 0, - initialized: false - }, - setup: function (settings) { - // data - $.extend(this.data, settings); - - // define this prop to avoid scope issues - this.tabs = []; - this.active = false; - - // vars - var placement = this.get('placement'); - var $before = this.get('before'); - var $parent = $before.parent(); - - // add sidebar for left placement - if (placement == 'left' && $parent.hasClass('acf-fields')) { - $parent.addClass('-sidebar'); - } - - // create wrap - if ($before.is('tr')) { - this.$el = $('
    '); - } else { - let ulClass = 'acf-hl acf-tab-group'; - if (this.get('key') === 'acf_field_settings_tabs') { - ulClass = 'acf-field-settings-tab-bar'; - } - this.$el = $('
      '); - } - - // append - $before.before(this.$el); - - // set index - this.set('index', i, true); - i++; - }, - initializeTabs: function () { - // Bail if tabs are disabled. - if ('acf_field_settings_tabs' === this.get('key') && $('#acf-field-group-fields').hasClass('hide-tabs')) { - return; - } - var tab = false; - - // check if we've got a saved default tab. - var order = acf.getPreference('this.tabs') || false; - if (order) { - var groupIndex = this.get('index'); - var tabIndex = order[groupIndex]; - if (this.tabs[tabIndex] && this.tabs[tabIndex].isVisible()) { - tab = this.tabs[tabIndex]; - } - } - - // If we've got a defaultTab provided by configuration, use that. - if (!tab && this.data.defaultTab && this.data.defaultTab.isVisible()) { - tab = this.data.defaultTab; - } - - // find first visible tab as our default. - if (!tab) { - tab = this.getVisible().shift(); - } - if (tab) { - this.selectTab(tab); - } else { - this.closeTabs(); - } - - // set local variable used by tabsManager - this.set('initialized', true); - }, - getVisible: function () { - return this.tabs.filter(function (tab) { - return tab.isVisible(); - }); - }, - getActive: function () { - return this.active; - }, - setActive: function (tab) { - return this.active = tab; - }, - hasActive: function () { - return this.active !== false; - }, - isActive: function (tab) { - var active = this.getActive(); - return active && active.cid === tab.cid; - }, - closeActive: function () { - if (this.hasActive()) { - this.closeTab(this.getActive()); - } - }, - openTab: function (tab) { - // close existing tab - this.closeActive(); - - // open - tab.open(); - - // set active - this.setActive(tab); - }, - closeTab: function (tab) { - // close - tab.close(); - - // set active - this.setActive(false); - }, - closeTabs: function () { - this.tabs.map(this.closeTab, this); - }, - selectTab: function (tab) { - // close other tabs - this.tabs.map(function (t) { - if (tab.cid !== t.cid) { - this.closeTab(t); - } - }, this); - - // open - this.openTab(tab); - }, - addTab: function ($a, field) { - // create
    • - var $li = $('
    • ' + $a.outerHTML() + '
    • '); - - // add settings type class. - var settingsType = $a.data('settings-type'); - if (settingsType) { - $li.addClass('acf-settings-type-' + settingsType); - } - - // append - this.$('ul').append($li); - - // initialize - var tab = new Tab({ - $el: $li, - field: field, - group: this - }); - - // store - this.tabs.push(tab); - if ($a.data('selected')) { - this.data.defaultTab = tab; - } - - // return - return tab; - }, - reset: function () { - // close existing tab - this.closeActive(); - - // find and active a tab - return this.refresh(); - }, - refresh: function () { - // bail early if active already exists - if (this.hasActive()) { - return false; - } - // find next active tab - var tab = this.getVisible().shift(); - // open tab - if (tab) { - this.openTab(tab); - } - - // return - return tab; - }, - onRefresh: function () { - // only for left placements - if (this.get('placement') !== 'left') { - return; - } - - // vars - var $parent = this.$el.parent(); - var $list = this.$el.children('ul'); - var attribute = $parent.is('td') ? 'height' : 'min-height'; - - // find height (minus 1 for border-bottom) - var height = $list.position().top + $list.outerHeight(true) - 1; - - // add css - $parent.css(attribute, height); - }, - onCloseFieldObject: function (fieldObject) { - const tab = this.getVisible().find(item => { - const id = item.$el.closest('div[data-id]').data('id'); - if (fieldObject.data.id === id) { - return item; - } - }); - if (tab) { - // Wait for field group drawer to close - setTimeout(() => { - this.openTab(tab); - }, 300); - } - } - }); - var Tab = acf.Model.extend({ - group: false, - field: false, - events: { - 'click a': 'onClick' - }, - index: function () { - return this.$el.index(); - }, - isVisible: function () { - return acf.isVisible(this.$el); - }, - isActive: function () { - return this.$el.hasClass('active'); - }, - open: function () { - // add class - this.$el.addClass('active'); - - // show field - this.field.showFields(); - }, - close: function () { - // remove class - this.$el.removeClass('active'); - - // hide field - this.field.hideFields(); - }, - onClick: function (e, $el) { - // prevent default - e.preventDefault(); - - // toggle - this.toggle(); - }, - toggle: function () { - // bail early if already active - if (this.isActive()) { - return; - } - - // toggle this tab - this.group.openTab(this); - } - }); - var tabsManager = new acf.Model({ - priority: 50, - actions: { - prepare: 'render', - append: 'render', - unload: 'onUnload', - show: 'render', - invalid_field: 'onInvalidField' - }, - findTabs: function () { - return $('.acf-tab-wrap'); - }, - getTabs: function () { - return acf.getInstances(this.findTabs()); - }, - render: function ($el) { - this.getTabs().map(function (tabs) { - if (!tabs.get('initialized')) { - tabs.initializeTabs(); - } - }); - }, - onInvalidField: function (field) { - // bail early if busy - if (this.busy) { - return; - } - - // ignore if not hidden by tab - if (!field.hiddenByTab) { - return; - } - - // toggle tab - field.hiddenByTab.toggle(); - - // ignore other invalid fields - this.busy = true; - this.setTimeout(function () { - this.busy = false; - }, 100); - }, - onUnload: function () { - // vars - var order = []; - - // loop - this.getTabs().map(function (group) { - // Do not save selected tab on field settings, or an acf-advanced-settings when unloading - if (group.$el.children('.acf-field-settings-tab-bar').length || group.$el.parents('#acf-advanced-settings.postbox').length) { - return true; - } - var active = group.hasActive() ? group.getActive().index() : 0; - order.push(active); - }); - - // bail if no tabs - if (!order.length) { - return; - } - - // update - acf.setPreference('this.tabs', order); - } - }); -})(jQuery); - -/***/ }), - -/***/ "./src/advanced-custom-fields-pro/assets/src/js/_acf-field-taxonomy.js": -/*!*****************************************************************************!*\ - !*** ./src/advanced-custom-fields-pro/assets/src/js/_acf-field-taxonomy.js ***! - \*****************************************************************************/ -/***/ (() => { - -(function ($, undefined) { - var Field = acf.Field.extend({ - type: 'taxonomy', - data: { - ftype: 'select' - }, - select2: false, - wait: 'load', - events: { - 'click a[data-name="add"]': 'onClickAdd', - 'click input[type="radio"]': 'onClickRadio', - removeField: 'onRemove' - }, - $control: function () { - return this.$('.acf-taxonomy-field'); - }, - $input: function () { - return this.getRelatedPrototype().$input.apply(this, arguments); - }, - getRelatedType: function () { - // vars - var fieldType = this.get('ftype'); - - // normalize - if (fieldType == 'multi_select') { - fieldType = 'select'; - } - - // return - return fieldType; - }, - getRelatedPrototype: function () { - return acf.getFieldType(this.getRelatedType()).prototype; - }, - getValue: function () { - return this.getRelatedPrototype().getValue.apply(this, arguments); - }, - setValue: function () { - return this.getRelatedPrototype().setValue.apply(this, arguments); - }, - initialize: function () { - this.getRelatedPrototype().initialize.apply(this, arguments); - }, - onRemove: function () { - var proto = this.getRelatedPrototype(); - if (proto.onRemove) { - proto.onRemove.apply(this, arguments); - } - }, - onClickAdd: function (e, $el) { - // vars - var field = this; - var popup = false; - var $form = false; - var $name = false; - var $parent = false; - var $button = false; - var $message = false; - var notice = false; - - // step 1. - var step1 = function () { - // popup - popup = acf.newPopup({ - title: $el.attr('title'), - loading: true, - width: '300px' - }); - - // ajax - var ajaxData = { - action: 'acf/fields/taxonomy/add_term', - field_key: field.get('key') - }; - - // get HTML - $.ajax({ - url: acf.get('ajaxurl'), - data: acf.prepareForAjax(ajaxData), - type: 'post', - dataType: 'html', - success: step2 - }); - }; - - // step 2. - var step2 = function (html) { - // update popup - popup.loading(false); - popup.content(html); - - // vars - $form = popup.$('form'); - $name = popup.$('input[name="term_name"]'); - $parent = popup.$('select[name="term_parent"]'); - $button = popup.$('.acf-submit-button'); - - // focus - $name.trigger('focus'); - - // submit form - popup.on('submit', 'form', step3); - }; - - // step 3. - var step3 = function (e, $el) { - // prevent - e.preventDefault(); - e.stopImmediatePropagation(); - - // basic validation - if ($name.val() === '') { - $name.trigger('focus'); - return false; - } - - // disable - acf.startButtonLoading($button); - - // ajax - var ajaxData = { - action: 'acf/fields/taxonomy/add_term', - field_key: field.get('key'), - term_name: $name.val(), - term_parent: $parent.length ? $parent.val() : 0 - }; - $.ajax({ - url: acf.get('ajaxurl'), - data: acf.prepareForAjax(ajaxData), - type: 'post', - dataType: 'json', - success: step4 - }); - }; - - // step 4. - var step4 = function (json) { - // enable - acf.stopButtonLoading($button); - - // remove prev notice - if (notice) { - notice.remove(); - } - - // success - if (acf.isAjaxSuccess(json)) { - // clear name - $name.val(''); - - // update term lists - step5(json.data); - - // notice - notice = acf.newNotice({ - type: 'success', - text: acf.getAjaxMessage(json), - target: $form, - timeout: 2000, - dismiss: false - }); - } else { - // notice - notice = acf.newNotice({ - type: 'error', - text: acf.getAjaxError(json), - target: $form, - timeout: 2000, - dismiss: false - }); - } - - // focus - $name.trigger('focus'); - }; - - // step 5. - var step5 = function (term) { - // update parent dropdown - var $option = $(''); - if (term.term_parent) { - $parent.children('option[value="' + term.term_parent + '"]').after($option); - } else { - $parent.append($option); - } - - // add this new term to all taxonomy field - var fields = acf.getFields({ - type: 'taxonomy' - }); - fields.map(function (otherField) { - if (otherField.get('taxonomy') == field.get('taxonomy')) { - otherField.appendTerm(term); - } - }); - - // select - field.selectTerm(term.term_id); - }; - - // run - step1(); - }, - appendTerm: function (term) { - if (this.getRelatedType() == 'select') { - this.appendTermSelect(term); - } else { - this.appendTermCheckbox(term); - } - }, - appendTermSelect: function (term) { - this.select2.addOption({ - id: term.term_id, - text: term.term_label - }); - }, - appendTermCheckbox: function (term) { - // vars - var name = this.$('[name]:first').attr('name'); - var $ul = this.$('ul:first'); - - // allow multiple selection - if (this.getRelatedType() == 'checkbox') { - name += '[]'; - } - - // create new li - var $li = $(['
    • ', '', '
    • '].join('')); - - // find parent - if (term.term_parent) { - // vars - var $parent = $ul.find('li[data-id="' + term.term_parent + '"]'); - - // update vars - $ul = $parent.children('ul'); - - // create ul - if (!$ul.exists()) { - $ul = $('
        '); - $parent.append($ul); - } - } - - // append - $ul.append($li); - }, - selectTerm: function (id) { - if (this.getRelatedType() == 'select') { - this.select2.selectOption(id); - } else { - var $input = this.$('input[value="' + id + '"]'); - $input.prop('checked', true).trigger('change'); - } - }, - onClickRadio: function (e, $el) { - // vars - var $label = $el.parent('label'); - var selected = $label.hasClass('selected'); - - // remove previous selected - this.$('.selected').removeClass('selected'); - - // add active class - $label.addClass('selected'); - - // allow null - if (this.get('allow_null') && selected) { - $label.removeClass('selected'); - $el.prop('checked', false).trigger('change'); - } - } - }); - acf.registerFieldType(Field); -})(jQuery); - -/***/ }), - -/***/ "./src/advanced-custom-fields-pro/assets/src/js/_acf-field-time-picker.js": -/*!********************************************************************************!*\ - !*** ./src/advanced-custom-fields-pro/assets/src/js/_acf-field-time-picker.js ***! - \********************************************************************************/ -/***/ (() => { - -(function ($, undefined) { - var Field = acf.models.DatePickerField.extend({ - type: 'time_picker', - $control: function () { - return this.$('.acf-time-picker'); - }, - initialize: function () { - // vars - var $input = this.$input(); - var $inputText = this.$inputText(); - - // args - var args = { - timeFormat: this.get('time_format'), - altField: $input, - altFieldTimeOnly: false, - altTimeFormat: 'HH:mm:ss', - showButtonPanel: true, - controlType: 'select', - oneLine: true, - closeText: acf.get('dateTimePickerL10n').selectText, - timeOnly: true - }; - - // add custom 'Close = Select' functionality - args.onClose = function (value, dp_instance, t_instance) { - // vars - var $close = dp_instance.dpDiv.find('.ui-datepicker-close'); - - // if clicking close button - if (!value && $close.is(':hover')) { - t_instance._updateDateTime(); - } - }; - - // filter - args = acf.applyFilters('time_picker_args', args, this); - - // add date time picker - acf.newTimePicker($inputText, args); - - // action - acf.doAction('time_picker_init', $inputText, args, this); - } - }); - acf.registerFieldType(Field); - - // add - acf.newTimePicker = function ($input, args) { - // bail early if no datepicker library - if (typeof $.timepicker === 'undefined') { - return false; - } - - // defaults - args = args || {}; - - // initialize - $input.timepicker(args); - - // wrap the datepicker (only if it hasn't already been wrapped) - if ($('body > #ui-datepicker-div').exists()) { - $('body > #ui-datepicker-div').wrap('
        '); - } - }; -})(jQuery); - -/***/ }), - -/***/ "./src/advanced-custom-fields-pro/assets/src/js/_acf-field-true-false.js": -/*!*******************************************************************************!*\ - !*** ./src/advanced-custom-fields-pro/assets/src/js/_acf-field-true-false.js ***! - \*******************************************************************************/ -/***/ (() => { - -(function ($, undefined) { - var Field = acf.Field.extend({ - type: 'true_false', - events: { - 'change .acf-switch-input': 'onChange', - 'focus .acf-switch-input': 'onFocus', - 'blur .acf-switch-input': 'onBlur', - 'keypress .acf-switch-input': 'onKeypress' - }, - $input: function () { - return this.$('input[type="checkbox"]'); - }, - $switch: function () { - return this.$('.acf-switch'); - }, - getValue: function () { - return this.$input().prop('checked') ? 1 : 0; - }, - initialize: function () { - this.render(); - }, - render: function () { - // vars - var $switch = this.$switch(); - - // bail early if no $switch - if (!$switch.length) return; - - // vars - var $on = $switch.children('.acf-switch-on'); - var $off = $switch.children('.acf-switch-off'); - var width = Math.max($on.width(), $off.width()); - - // bail early if no width - if (!width) return; - - // set widths - $on.css('min-width', width); - $off.css('min-width', width); - }, - switchOn: function () { - this.$input().prop('checked', true); - this.$switch().addClass('-on'); - }, - switchOff: function () { - this.$input().prop('checked', false); - this.$switch().removeClass('-on'); - }, - onChange: function (e, $el) { - if ($el.prop('checked')) { - this.switchOn(); - } else { - this.switchOff(); - } - }, - onFocus: function (e, $el) { - this.$switch().addClass('-focus'); - }, - onBlur: function (e, $el) { - this.$switch().removeClass('-focus'); - }, - onKeypress: function (e, $el) { - // left - if (e.keyCode === 37) { - return this.switchOff(); - } - - // right - if (e.keyCode === 39) { - return this.switchOn(); - } - } - }); - acf.registerFieldType(Field); -})(jQuery); - -/***/ }), - -/***/ "./src/advanced-custom-fields-pro/assets/src/js/_acf-field-url.js": -/*!************************************************************************!*\ - !*** ./src/advanced-custom-fields-pro/assets/src/js/_acf-field-url.js ***! - \************************************************************************/ -/***/ (() => { - -(function ($, undefined) { - var Field = acf.Field.extend({ - type: 'url', - events: { - 'keyup input[type="url"]': 'onkeyup' - }, - $control: function () { - return this.$('.acf-input-wrap'); - }, - $input: function () { - return this.$('input[type="url"]'); - }, - initialize: function () { - this.render(); - }, - isValid: function () { - // vars - var val = this.val(); - - // bail early if no val - if (!val) { - return false; - } - - // url - if (val.indexOf('://') !== -1) { - return true; - } - - // protocol relative url - if (val.indexOf('//') === 0) { - return true; - } - - // return - return false; - }, - render: function () { - // add class - if (this.isValid()) { - this.$control().addClass('-valid'); - } else { - this.$control().removeClass('-valid'); - } - }, - onkeyup: function (e, $el) { - this.render(); - } - }); - acf.registerFieldType(Field); -})(jQuery); - -/***/ }), - -/***/ "./src/advanced-custom-fields-pro/assets/src/js/_acf-field-user.js": -/*!*************************************************************************!*\ - !*** ./src/advanced-custom-fields-pro/assets/src/js/_acf-field-user.js ***! - \*************************************************************************/ -/***/ (() => { - -(function ($, undefined) { - var Field = acf.models.SelectField.extend({ - type: 'user' - }); - acf.registerFieldType(Field); - acf.addFilter('select2_ajax_data', function (data, args, $input, field, select2) { - if (!field || 'user' !== field.get('type')) { - return data; - } - const query_nonce = field.get('queryNonce'); - if (query_nonce && query_nonce.toString().length) { - data.user_query_nonce = query_nonce; - } - return data; - }); -})(jQuery); - -/***/ }), - -/***/ "./src/advanced-custom-fields-pro/assets/src/js/_acf-field-wysiwyg.js": -/*!****************************************************************************!*\ - !*** ./src/advanced-custom-fields-pro/assets/src/js/_acf-field-wysiwyg.js ***! - \****************************************************************************/ -/***/ (() => { - -(function ($, undefined) { - var Field = acf.Field.extend({ - type: 'wysiwyg', - wait: 'load', - events: { - 'mousedown .acf-editor-wrap.delay': 'onMousedown', - unmountField: 'disableEditor', - remountField: 'enableEditor', - removeField: 'disableEditor' - }, - $control: function () { - return this.$('.acf-editor-wrap'); - }, - $input: function () { - return this.$('textarea'); - }, - getMode: function () { - return this.$control().hasClass('tmce-active') ? 'visual' : 'text'; - }, - initialize: function () { - // initializeEditor if no delay - if (!this.$control().hasClass('delay')) { - this.initializeEditor(); - } - }, - initializeEditor: function () { - // vars - var $wrap = this.$control(); - var $textarea = this.$input(); - var args = { - tinymce: true, - quicktags: true, - toolbar: this.get('toolbar'), - mode: this.getMode(), - field: this - }; - - // generate new id - var oldId = $textarea.attr('id'); - var newId = acf.uniqueId('acf-editor-'); - - // Backup textarea data. - var inputData = $textarea.data(); - var inputVal = $textarea.val(); - - // rename - acf.rename({ - target: $wrap, - search: oldId, - replace: newId, - destructive: true - }); - - // update id - this.set('id', newId, true); - - // apply data to new textarea (acf.rename creates a new textarea element due to destructive mode) - // fixes bug where conditional logic "disabled" is lost during "screen_check" - this.$input().data(inputData).val(inputVal); - - // initialize - acf.tinymce.initialize(newId, args); - }, - onMousedown: function (e) { - // prevent default - e.preventDefault(); - - // remove delay class - var $wrap = this.$control(); - $wrap.removeClass('delay'); - $wrap.find('.acf-editor-toolbar').remove(); - - // initialize - this.initializeEditor(); - }, - enableEditor: function () { - if (this.getMode() == 'visual') { - acf.tinymce.enable(this.get('id')); - } - }, - disableEditor: function () { - acf.tinymce.destroy(this.get('id')); - } - }); - acf.registerFieldType(Field); -})(jQuery); - -/***/ }), - -/***/ "./src/advanced-custom-fields-pro/assets/src/js/_acf-field.js": -/*!********************************************************************!*\ - !*** ./src/advanced-custom-fields-pro/assets/src/js/_acf-field.js ***! - \********************************************************************/ -/***/ (() => { - -(function ($, undefined) { - // vars - var storage = []; - - /** - * acf.Field - * - * description - * - * @date 23/3/18 - * @since 5.6.9 - * - * @param type $var Description. Default. - * @return type Description. - */ - - acf.Field = acf.Model.extend({ - // field type - type: '', - // class used to avoid nested event triggers - eventScope: '.acf-field', - // initialize events on 'ready' - wait: 'ready', - /** - * setup - * - * Called during the constructor function to setup this field ready for initialization - * - * @date 8/5/18 - * @since 5.6.9 - * - * @param jQuery $field The field element. - * @return void - */ - - setup: function ($field) { - // set $el - this.$el = $field; - - // inherit $field data - this.inherit($field); - - // inherit controll data - this.inherit(this.$control()); - }, - /** - * val - * - * Sets or returns the field's value - * - * @date 8/5/18 - * @since 5.6.9 - * - * @param mixed val Optional. The value to set - * @return mixed - */ - - val: function (val) { - // Set. - if (val !== undefined) { - return this.setValue(val); - - // Get. - } else { - return this.prop('disabled') ? null : this.getValue(); - } - }, - /** - * getValue - * - * returns the field's value - * - * @date 8/5/18 - * @since 5.6.9 - * - * @param void - * @return mixed - */ - - getValue: function () { - return this.$input().val(); - }, - /** - * setValue - * - * sets the field's value and returns true if changed - * - * @date 8/5/18 - * @since 5.6.9 - * - * @param mixed val - * @return boolean. True if changed. - */ - - setValue: function (val) { - return acf.val(this.$input(), val); - }, - /** - * __ - * - * i18n helper to be removed - * - * @date 8/5/18 - * @since 5.6.9 - * - * @param type $var Description. Default. - * @return type Description. - */ - - __: function (string) { - return acf._e(this.type, string); - }, - /** - * $control - * - * returns the control jQuery element used for inheriting data. Uses this.control setting. - * - * @date 8/5/18 - * @since 5.6.9 - * - * @param void - * @return jQuery - */ - - $control: function () { - return false; - }, - /** - * $input - * - * returns the input jQuery element used for saving values. Uses this.input setting. - * - * @date 8/5/18 - * @since 5.6.9 - * - * @param void - * @return jQuery - */ - - $input: function () { - return this.$('[name]:first'); - }, - /** - * $inputWrap - * - * description - * - * @date 12/5/18 - * @since 5.6.9 - * - * @param type $var Description. Default. - * @return type Description. - */ - - $inputWrap: function () { - return this.$('.acf-input:first'); - }, - /** - * $inputWrap - * - * description - * - * @date 12/5/18 - * @since 5.6.9 - * - * @param type $var Description. Default. - * @return type Description. - */ - - $labelWrap: function () { - return this.$('.acf-label:first'); - }, - /** - * getInputName - * - * Returns the field's input name - * - * @date 8/5/18 - * @since 5.6.9 - * - * @param void - * @return string - */ - - getInputName: function () { - return this.$input().attr('name') || ''; - }, - /** - * parent - * - * returns the field's parent field or false on failure. - * - * @date 8/5/18 - * @since 5.6.9 - * - * @param void - * @return object|false - */ - - parent: function () { - // vars - var parents = this.parents(); - - // return - return parents.length ? parents[0] : false; - }, - /** - * parents - * - * description - * - * @date 9/7/18 - * @since 5.6.9 - * - * @param type $var Description. Default. - * @return type Description. - */ - - parents: function () { - // vars - var $parents = this.$el.parents('.acf-field'); - - // convert - var parents = acf.getFields($parents); - - // return - return parents; - }, - show: function (lockKey, context) { - // show field and store result - var changed = acf.show(this.$el, lockKey); - - // do action if visibility has changed - if (changed) { - this.prop('hidden', false); - acf.doAction('show_field', this, context); - if (context === 'conditional_logic') { - this.setFieldSettingsLastVisible(); - } - } - - // return - return changed; - }, - hide: function (lockKey, context) { - // hide field and store result - var changed = acf.hide(this.$el, lockKey); - - // do action if visibility has changed - if (changed) { - this.prop('hidden', true); - acf.doAction('hide_field', this, context); - if (context === 'conditional_logic') { - this.setFieldSettingsLastVisible(); - } - } - - // return - return changed; - }, - setFieldSettingsLastVisible: function () { - // Ensure this conditional logic trigger has happened inside a field settings tab. - var $parents = this.$el.parents('.acf-field-settings-main'); - if (!$parents.length) return; - var $fields = $parents.find('.acf-field'); - $fields.removeClass('acf-last-visible'); - $fields.not('.acf-hidden').last().addClass('acf-last-visible'); - }, - enable: function (lockKey, context) { - // enable field and store result - var changed = acf.enable(this.$el, lockKey); - - // do action if disabled has changed - if (changed) { - this.prop('disabled', false); - acf.doAction('enable_field', this, context); - } - - // return - return changed; - }, - disable: function (lockKey, context) { - // disabled field and store result - var changed = acf.disable(this.$el, lockKey); - - // do action if disabled has changed - if (changed) { - this.prop('disabled', true); - acf.doAction('disable_field', this, context); - } - - // return - return changed; - }, - showEnable: function (lockKey, context) { - // enable - this.enable.apply(this, arguments); - - // show and return true if changed - return this.show.apply(this, arguments); - }, - hideDisable: function (lockKey, context) { - // disable - this.disable.apply(this, arguments); - - // hide and return true if changed - return this.hide.apply(this, arguments); - }, - showNotice: function (props) { - // ensure object - if (typeof props !== 'object') { - props = { - text: props - }; - } - - // remove old notice - if (this.notice) { - this.notice.remove(); - } - - // create new notice - props.target = this.$inputWrap(); - this.notice = acf.newNotice(props); - }, - removeNotice: function (timeout) { - if (this.notice) { - this.notice.away(timeout || 0); - this.notice = false; - } - }, - showError: function (message, location = 'before') { - // add class - this.$el.addClass('acf-error'); - - // add message - if (message !== undefined) { - this.showNotice({ - text: message, - type: 'error', - dismiss: false, - location: location - }); - } - - // action - acf.doAction('invalid_field', this); - - // add event - this.$el.one('focus change', 'input, select, textarea', $.proxy(this.removeError, this)); - }, - removeError: function () { - // remove class - this.$el.removeClass('acf-error'); - - // remove notice - this.removeNotice(250); - - // action - acf.doAction('valid_field', this); - }, - trigger: function (name, args, bubbles) { - // allow some events to bubble - if (name == 'invalidField') { - bubbles = true; - } - - // return - return acf.Model.prototype.trigger.apply(this, [name, args, bubbles]); - } - }); - - /** - * newField - * - * description - * - * @date 14/12/17 - * @since 5.6.5 - * - * @param type $var Description. Default. - * @return type Description. - */ - - acf.newField = function ($field) { - // vars - var type = $field.data('type'); - var mid = modelId(type); - var model = acf.models[mid] || acf.Field; - - // instantiate - var field = new model($field); - - // actions - acf.doAction('new_field', field); - - // return - return field; - }; - - /** - * mid - * - * Calculates the model ID for a field type - * - * @date 15/12/17 - * @since 5.6.5 - * - * @param string type - * @return string - */ - - var modelId = function (type) { - return acf.strPascalCase(type || '') + 'Field'; - }; - - /** - * registerFieldType - * - * description - * - * @date 14/12/17 - * @since 5.6.5 - * - * @param type $var Description. Default. - * @return type Description. - */ - - acf.registerFieldType = function (model) { - // vars - var proto = model.prototype; - var type = proto.type; - var mid = modelId(type); - - // store model - acf.models[mid] = model; - - // store reference - storage.push(type); - }; - - /** - * acf.getFieldType - * - * description - * - * @date 1/2/18 - * @since 5.6.5 - * - * @param type $var Description. Default. - * @return type Description. - */ - - acf.getFieldType = function (type) { - var mid = modelId(type); - return acf.models[mid] || false; - }; - - /** - * acf.getFieldTypes - * - * description - * - * @date 1/2/18 - * @since 5.6.5 - * - * @param type $var Description. Default. - * @return type Description. - */ - - acf.getFieldTypes = function (args) { - // defaults - args = acf.parseArgs(args, { - category: '' - // hasValue: true - }); - - // clonse available types - var types = []; - - // loop - storage.map(function (type) { - // vars - var model = acf.getFieldType(type); - var proto = model.prototype; - - // check operator - if (args.category && proto.category !== args.category) { - return; - } - - // append - types.push(model); - }); - - // return - return types; - }; -})(jQuery); - -/***/ }), - -/***/ "./src/advanced-custom-fields-pro/assets/src/js/_acf-fields.js": -/*!*********************************************************************!*\ - !*** ./src/advanced-custom-fields-pro/assets/src/js/_acf-fields.js ***! - \*********************************************************************/ -/***/ (() => { - -(function ($, undefined) { - /** - * findFields - * - * Returns a jQuery selection object of acf fields. - * - * @date 14/12/17 - * @since 5.6.5 - * - * @param object $args { - * Optional. Arguments to find fields. - * - * @type string key The field's key (data-attribute). - * @type string name The field's name (data-attribute). - * @type string type The field's type (data-attribute). - * @type string is jQuery selector to compare against. - * @type jQuery parent jQuery element to search within. - * @type jQuery sibling jQuery element to search alongside. - * @type limit int The number of fields to find. - * @type suppressFilters bool Whether to allow filters to add/remove results. Default behaviour will ignore clone fields. - * } - * @return jQuery - */ - - acf.findFields = function (args) { - // vars - var selector = '.acf-field'; - var $fields = false; - - // args - args = acf.parseArgs(args, { - key: '', - name: '', - type: '', - is: '', - parent: false, - sibling: false, - limit: false, - visible: false, - suppressFilters: false, - excludeSubFields: false - }); - - // filter args - if (!args.suppressFilters) { - args = acf.applyFilters('find_fields_args', args); - } - - // key - if (args.key) { - selector += '[data-key="' + args.key + '"]'; - } - - // type - if (args.type) { - selector += '[data-type="' + args.type + '"]'; - } - - // name - if (args.name) { - selector += '[data-name="' + args.name + '"]'; - } - - // is - if (args.is) { - selector += args.is; - } - - // visibility - if (args.visible) { - selector += ':visible'; - } - if (!args.suppressFilters) { - selector = acf.applyFilters('find_fields_selector', selector, args); - } - - // query - if (args.parent) { - $fields = args.parent.find(selector); - // exclude sub fields if required (only if a parent is provided) - if (args.excludeSubFields) { - $fields = $fields.not(args.parent.find('.acf-is-subfields .acf-field')); - } - } else if (args.sibling) { - $fields = args.sibling.siblings(selector); - } else { - $fields = $(selector); - } - - // filter - if (!args.suppressFilters) { - $fields = $fields.not('.acf-clone .acf-field'); - $fields = acf.applyFilters('find_fields', $fields); - } - - // limit - if (args.limit) { - $fields = $fields.slice(0, args.limit); - } - - // return - return $fields; - }; - - /** - * findField - * - * Finds a specific field with jQuery - * - * @date 14/12/17 - * @since 5.6.5 - * - * @param string key The field's key. - * @param jQuery $parent jQuery element to search within. - * @return jQuery - */ - - acf.findField = function (key, $parent) { - return acf.findFields({ - key: key, - limit: 1, - parent: $parent, - suppressFilters: true - }); - }; - - /** - * getField - * - * Returns a field instance - * - * @date 14/12/17 - * @since 5.6.5 - * - * @param jQuery|string $field jQuery element or field key. - * @return object - */ - - acf.getField = function ($field) { - // allow jQuery - if ($field instanceof jQuery) { - // find fields - } else { - $field = acf.findField($field); - } - - // instantiate - var field = $field.data('acf'); - if (!field) { - field = acf.newField($field); - } - - // return - return field; - }; - - /** - * getFields - * - * Returns multiple field instances - * - * @date 14/12/17 - * @since 5.6.5 - * - * @param jQuery|object $fields jQuery elements or query args. - * @return array - */ - - acf.getFields = function ($fields) { - // allow jQuery - if ($fields instanceof jQuery) { - // find fields - } else { - $fields = acf.findFields($fields); - } - - // loop - var fields = []; - $fields.each(function () { - var field = acf.getField($(this)); - fields.push(field); - }); - - // return - return fields; - }; - - /** - * findClosestField - * - * Returns the closest jQuery field element - * - * @date 9/4/18 - * @since 5.6.9 - * - * @param jQuery $el - * @return jQuery - */ - - acf.findClosestField = function ($el) { - return $el.closest('.acf-field'); - }; - - /** - * getClosestField - * - * Returns the closest field instance - * - * @date 22/1/18 - * @since 5.6.5 - * - * @param jQuery $el - * @return object - */ - - acf.getClosestField = function ($el) { - var $field = acf.findClosestField($el); - return this.getField($field); - }; - - /** - * addGlobalFieldAction - * - * Sets up callback logic for global field actions - * - * @date 15/6/18 - * @since 5.6.9 - * - * @param string action - * @return void - */ - - var addGlobalFieldAction = function (action) { - // vars - var globalAction = action; - var pluralAction = action + '_fields'; // ready_fields - var singleAction = action + '_field'; // ready_field - - // global action - var globalCallback = function ($el /*, arg1, arg2, etc*/) { - //console.log( action, arguments ); - - // get args [$el, ...] - var args = acf.arrayArgs(arguments); - var extraArgs = args.slice(1); - - // find fields - var fields = acf.getFields({ - parent: $el - }); - - // check - if (fields.length) { - // pluralAction - var pluralArgs = [pluralAction, fields].concat(extraArgs); - acf.doAction.apply(null, pluralArgs); - } - }; - - // plural action - var pluralCallback = function (fields /*, arg1, arg2, etc*/) { - //console.log( pluralAction, arguments ); - - // get args [fields, ...] - var args = acf.arrayArgs(arguments); - var extraArgs = args.slice(1); - - // loop - fields.map(function (field, i) { - //setTimeout(function(){ - // singleAction - var singleArgs = [singleAction, field].concat(extraArgs); - acf.doAction.apply(null, singleArgs); - //}, i * 100); - }); - }; - - // add actions - acf.addAction(globalAction, globalCallback); - acf.addAction(pluralAction, pluralCallback); - - // also add single action - addSingleFieldAction(action); - }; - - /** - * addSingleFieldAction - * - * Sets up callback logic for single field actions - * - * @date 15/6/18 - * @since 5.6.9 - * - * @param string action - * @return void - */ - - var addSingleFieldAction = function (action) { - // vars - var singleAction = action + '_field'; // ready_field - var singleEvent = action + 'Field'; // readyField - - // single action - var singleCallback = function (field /*, arg1, arg2, etc*/) { - //console.log( singleAction, arguments ); - - // get args [field, ...] - var args = acf.arrayArgs(arguments); - var extraArgs = args.slice(1); - - // action variations (ready_field/type=image) - var variations = ['type', 'name', 'key']; - variations.map(function (variation) { - // vars - var prefix = '/' + variation + '=' + field.get(variation); - - // singleAction - args = [singleAction + prefix, field].concat(extraArgs); - acf.doAction.apply(null, args); - }); - - // event - if (singleFieldEvents.indexOf(action) > -1) { - field.trigger(singleEvent, extraArgs); - } - }; - - // add actions - acf.addAction(singleAction, singleCallback); - }; - - // vars - var globalFieldActions = ['prepare', 'ready', 'load', 'append', 'remove', 'unmount', 'remount', 'sortstart', 'sortstop', 'show', 'hide', 'unload']; - var singleFieldActions = ['valid', 'invalid', 'enable', 'disable', 'new', 'duplicate']; - var singleFieldEvents = ['remove', 'unmount', 'remount', 'sortstart', 'sortstop', 'show', 'hide', 'unload', 'valid', 'invalid', 'enable', 'disable', 'duplicate']; - - // add - globalFieldActions.map(addGlobalFieldAction); - singleFieldActions.map(addSingleFieldAction); - - /** - * fieldsEventManager - * - * Manages field actions and events - * - * @date 15/12/17 - * @since 5.6.5 - * - * @param void - * @param void - */ - - var fieldsEventManager = new acf.Model({ - id: 'fieldsEventManager', - events: { - 'click .acf-field a[href="#"]': 'onClick', - 'change .acf-field': 'onChange' - }, - onClick: function (e) { - // prevent default of any link with an href of # - e.preventDefault(); - }, - onChange: function () { - // preview hack allows post to save with no title or content - $('#_acf_changed').val(1); - if (acf.isGutenbergPostEditor()) { - try { - wp.data.dispatch('core/editor').editPost({ - meta: { - _acf_changed: 1 - } - }); - } catch (error) { - console.log('ACF: Failed to update _acf_changed meta', error); - } - } - } - }); - var duplicateFieldsManager = new acf.Model({ - id: 'duplicateFieldsManager', - actions: { - duplicate: 'onDuplicate', - duplicate_fields: 'onDuplicateFields' - }, - onDuplicate: function ($el, $el2) { - var fields = acf.getFields({ - parent: $el - }); - if (fields.length) { - var $fields = acf.findFields({ - parent: $el2 - }); - acf.doAction('duplicate_fields', fields, $fields); - } - }, - onDuplicateFields: function (fields, duplicates) { - fields.map(function (field, i) { - acf.doAction('duplicate_field', field, $(duplicates[i])); - }); - } - }); -})(jQuery); - -/***/ }), - -/***/ "./src/advanced-custom-fields-pro/assets/src/js/_acf-helpers.js": -/*!**********************************************************************!*\ - !*** ./src/advanced-custom-fields-pro/assets/src/js/_acf-helpers.js ***! - \**********************************************************************/ -/***/ (() => { - -(function ($, undefined) { - /** - * refreshHelper - * - * description - * - * @date 1/7/18 - * @since 5.6.9 - * - * @param type $var Description. Default. - * @return type Description. - */ - - var refreshHelper = new acf.Model({ - priority: 90, - actions: { - new_field: 'refresh', - show_field: 'refresh', - hide_field: 'refresh', - remove_field: 'refresh', - unmount_field: 'refresh', - remount_field: 'refresh' - }, - refresh: function () { - acf.refresh(); - } - }); - - /** - * mountHelper - * - * Adds compatiblity for the 'unmount' and 'remount' actions added in 5.8.0 - * - * @date 7/3/19 - * @since 5.7.14 - * - * @param void - * @return void - */ - var mountHelper = new acf.Model({ - priority: 1, - actions: { - sortstart: 'onSortstart', - sortstop: 'onSortstop' - }, - onSortstart: function ($item) { - acf.doAction('unmount', $item); - }, - onSortstop: function ($item) { - acf.doAction('remount', $item); - } - }); - - /** - * sortableHelper - * - * Adds compatibility for sorting a
        element - * - * @date 6/3/18 - * @since 5.6.9 - * - * @param void - * @return void - */ - - var sortableHelper = new acf.Model({ - actions: { - sortstart: 'onSortstart' - }, - onSortstart: function ($item, $placeholder) { - // if $item is a tr, apply some css to the elements - if ($item.is('tr')) { - // replace $placeholder children with a single td - // fixes "width calculation issues" due to conditional logic hiding some children - $placeholder.html(''); - - // add helper class to remove absolute positioning - $item.addClass('acf-sortable-tr-helper'); - - // set fixed widths for children - $item.children().each(function () { - $(this).width($(this).width()); - }); - - // mimic height - $placeholder.height($item.height() + 'px'); - - // remove class - $item.removeClass('acf-sortable-tr-helper'); - } - } - }); - - /** - * duplicateHelper - * - * Fixes browser bugs when duplicating an element - * - * @date 6/3/18 - * @since 5.6.9 - * - * @param void - * @return void - */ - - var duplicateHelper = new acf.Model({ - actions: { - after_duplicate: 'onAfterDuplicate' - }, - onAfterDuplicate: function ($el, $el2) { - // get original values - var vals = []; - $el.find('select').each(function (i) { - vals.push($(this).val()); - }); - - // set duplicate values - $el2.find('select').each(function (i) { - $(this).val(vals[i]); - }); - } - }); - - /** - * tableHelper - * - * description - * - * @date 6/3/18 - * @since 5.6.9 - * - * @param type $var Description. Default. - * @return type Description. - */ - - var tableHelper = new acf.Model({ - id: 'tableHelper', - priority: 20, - actions: { - refresh: 'renderTables' - }, - renderTables: function ($el) { - // loop - var self = this; - $('.acf-table:visible').each(function () { - self.renderTable($(this)); - }); - }, - renderTable: function ($table) { - // vars - var $ths = $table.find('> thead > tr:visible > th[data-key]'); - var $tds = $table.find('> tbody > tr:visible > td[data-key]'); - - // bail early if no thead - if (!$ths.length || !$tds.length) { - return false; - } - - // visiblity - $ths.each(function (i) { - // vars - var $th = $(this); - var key = $th.data('key'); - var $cells = $tds.filter('[data-key="' + key + '"]'); - var $hidden = $cells.filter('.acf-hidden'); - - // always remove empty and allow cells to be hidden - $cells.removeClass('acf-empty'); - - // hide $th if all cells are hidden - if ($cells.length === $hidden.length) { - acf.hide($th); - - // force all hidden cells to appear empty - } else { - acf.show($th); - $hidden.addClass('acf-empty'); - } - }); - - // clear width - $ths.css('width', 'auto'); - - // get visible - $ths = $ths.not('.acf-hidden'); - - // vars - var availableWidth = 100; - var colspan = $ths.length; - - // set custom widths first - var $fixedWidths = $ths.filter('[data-width]'); - $fixedWidths.each(function () { - var width = $(this).data('width'); - $(this).css('width', width + '%'); - availableWidth -= width; - }); - - // set auto widths - var $auoWidths = $ths.not('[data-width]'); - if ($auoWidths.length) { - var width = availableWidth / $auoWidths.length; - $auoWidths.css('width', width + '%'); - availableWidth = 0; - } - - // avoid stretching issue - if (availableWidth > 0) { - $ths.last().css('width', 'auto'); - } - - // update colspan on collapsed - $tds.filter('.-collapsed-target').each(function () { - // vars - var $td = $(this); - - // check if collapsed - if ($td.parent().hasClass('-collapsed')) { - $td.attr('colspan', $ths.length); - } else { - $td.removeAttr('colspan'); - } - }); - } - }); - - /** - * fieldsHelper - * - * description - * - * @date 6/3/18 - * @since 5.6.9 - * - * @param type $var Description. Default. - * @return type Description. - */ - - var fieldsHelper = new acf.Model({ - id: 'fieldsHelper', - priority: 30, - actions: { - refresh: 'renderGroups' - }, - renderGroups: function () { - // loop - var self = this; - $('.acf-fields:visible').each(function () { - self.renderGroup($(this)); - }); - }, - renderGroup: function ($el) { - // vars - var top = 0; - var height = 0; - var $row = $(); - - // get fields - var $fields = $el.children('.acf-field[data-width]:visible'); - - // bail early if no fields - if (!$fields.length) { - return false; - } - - // bail early if is .-left - if ($el.hasClass('-left')) { - $fields.removeAttr('data-width'); - $fields.css('width', 'auto'); - return false; - } - - // reset fields - $fields.removeClass('-r0 -c0').css({ - 'min-height': 0 - }); - - // loop - $fields.each(function (i) { - // vars - var $field = $(this); - var position = $field.position(); - var thisTop = Math.ceil(position.top); - var thisLeft = Math.ceil(position.left); - - // detect change in row - if ($row.length && thisTop > top) { - // set previous heights - $row.css({ - 'min-height': height + 'px' - }); - - // update position due to change in row above - position = $field.position(); - thisTop = Math.ceil(position.top); - thisLeft = Math.ceil(position.left); - - // reset vars - top = 0; - height = 0; - $row = $(); - } - - // rtl - if (acf.get('rtl')) { - thisLeft = Math.ceil($field.parent().width() - (position.left + $field.outerWidth())); - } - - // add classes - if (thisTop == 0) { - $field.addClass('-r0'); - } else if (thisLeft == 0) { - $field.addClass('-c0'); - } - - // get height after class change - // - add 1 for subpixel rendering - var thisHeight = Math.ceil($field.outerHeight()) + 1; - - // set height - height = Math.max(height, thisHeight); - - // set y - top = Math.max(top, thisTop); - - // append - $row = $row.add($field); - }); - - // clean up - if ($row.length) { - $row.css({ - 'min-height': height + 'px' - }); - } - } - }); - - /** - * Adds a body class when holding down the "shift" key. - * - * @date 06/05/2020 - * @since 5.9.0 - */ - var bodyClassShiftHelper = new acf.Model({ - id: 'bodyClassShiftHelper', - events: { - keydown: 'onKeyDown', - keyup: 'onKeyUp' - }, - isShiftKey: function (e) { - return e.keyCode === 16; - }, - onKeyDown: function (e) { - if (this.isShiftKey(e)) { - $('body').addClass('acf-keydown-shift'); - } - }, - onKeyUp: function (e) { - if (this.isShiftKey(e)) { - $('body').removeClass('acf-keydown-shift'); - } - } - }); -})(jQuery); - -/***/ }), - -/***/ "./src/advanced-custom-fields-pro/assets/src/js/_acf-media.js": -/*!********************************************************************!*\ - !*** ./src/advanced-custom-fields-pro/assets/src/js/_acf-media.js ***! - \********************************************************************/ -/***/ (() => { - -(function ($, undefined) { - /** - * acf.newMediaPopup - * - * description - * - * @date 10/1/18 - * @since 5.6.5 - * - * @param type $var Description. Default. - * @return type Description. - */ - - acf.newMediaPopup = function (args) { - // args - var popup = null; - var args = acf.parseArgs(args, { - mode: 'select', - // 'select', 'edit' - title: '', - // 'Upload Image' - button: '', - // 'Select Image' - type: '', - // 'image', '' - field: false, - // field instance - allowedTypes: '', - // '.jpg, .png, etc' - library: 'all', - // 'all', 'uploadedTo' - multiple: false, - // false, true, 'add' - attachment: 0, - // the attachment to edit - autoOpen: true, - // open the popup automatically - open: function () {}, - // callback after close - select: function () {}, - // callback after select - close: function () {} // callback after close - }); - - // initialize - if (args.mode == 'edit') { - popup = new acf.models.EditMediaPopup(args); - } else { - popup = new acf.models.SelectMediaPopup(args); - } - - // open popup (allow frame customization before opening) - if (args.autoOpen) { - setTimeout(function () { - popup.open(); - }, 1); - } - - // action - acf.doAction('new_media_popup', popup); - - // return - return popup; - }; - - /** - * getPostID - * - * description - * - * @date 10/1/18 - * @since 5.6.5 - * - * @param type $var Description. Default. - * @return type Description. - */ - - var getPostID = function () { - var postID = acf.get('post_id'); - return acf.isNumeric(postID) ? postID : 0; - }; - - /** - * acf.getMimeTypes - * - * description - * - * @date 11/1/18 - * @since 5.6.5 - * - * @param type $var Description. Default. - * @return type Description. - */ - - acf.getMimeTypes = function () { - return this.get('mimeTypes'); - }; - acf.getMimeType = function (name) { - // vars - var allTypes = acf.getMimeTypes(); - - // search - if (allTypes[name] !== undefined) { - return allTypes[name]; - } - - // some types contain a mixed key such as "jpg|jpeg|jpe" - for (var key in allTypes) { - if (key.indexOf(name) !== -1) { - return allTypes[key]; - } - } - - // return - return false; - }; - - /** - * MediaPopup - * - * description - * - * @date 10/1/18 - * @since 5.6.5 - * - * @param type $var Description. Default. - * @return type Description. - */ - - var MediaPopup = acf.Model.extend({ - id: 'MediaPopup', - data: {}, - defaults: {}, - frame: false, - setup: function (props) { - $.extend(this.data, props); - }, - initialize: function () { - // vars - var options = this.getFrameOptions(); - - // add states - this.addFrameStates(options); - - // create frame - var frame = wp.media(options); - - // add args reference - frame.acf = this; - - // add events - this.addFrameEvents(frame, options); - - // strore frame - this.frame = frame; - }, - open: function () { - this.frame.open(); - }, - close: function () { - this.frame.close(); - }, - remove: function () { - this.frame.detach(); - this.frame.remove(); - }, - getFrameOptions: function () { - // vars - var options = { - title: this.get('title'), - multiple: this.get('multiple'), - library: {}, - states: [] - }; - - // type - if (this.get('type')) { - options.library.type = this.get('type'); - } - - // type - if (this.get('library') === 'uploadedTo') { - options.library.uploadedTo = getPostID(); - } - - // attachment - if (this.get('attachment')) { - options.library.post__in = [this.get('attachment')]; - } - - // button - if (this.get('button')) { - options.button = { - text: this.get('button') - }; - } - - // return - return options; - }, - addFrameStates: function (options) { - // create query - var Query = wp.media.query(options.library); - - // add _acfuploader - // this is super wack! - // if you add _acfuploader to the options.library args, new uploads will not be added to the library view. - // this has been traced back to the wp.media.model.Query initialize function (which can't be overriden) - // Adding any custom args will cause the Attahcments to not observe the uploader queue - // To bypass this security issue, we add in the args AFTER the Query has been initialized - // options.library._acfuploader = settings.field; - if (this.get('field') && acf.isset(Query, 'mirroring', 'args')) { - Query.mirroring.args._acfuploader = this.get('field'); - } - - // add states - options.states.push( - // main state - new wp.media.controller.Library({ - library: Query, - multiple: this.get('multiple'), - title: this.get('title'), - priority: 20, - filterable: 'all', - editable: true, - allowLocalEdits: true - })); - - // edit image functionality (added in WP 3.9) - if (acf.isset(wp, 'media', 'controller', 'EditImage')) { - options.states.push(new wp.media.controller.EditImage()); - } - }, - addFrameEvents: function (frame, options) { - // log all events - //frame.on('all', function( e ) { - // console.log( 'frame all: %o', e ); - //}); - - // add class - frame.on('open', function () { - this.$el.closest('.media-modal').addClass('acf-media-modal -' + this.acf.get('mode')); - }, frame); - - // edit image view - // source: media-views.js:2410 editImageContent() - frame.on('content:render:edit-image', function () { - var image = this.state().get('image'); - var view = new wp.media.view.EditImage({ - model: image, - controller: this - }).render(); - this.content.set(view); - - // after creating the wrapper view, load the actual editor via an ajax call - view.loadEditor(); - }, frame); - - // update toolbar button - //frame.on( 'toolbar:create:select', function( toolbar ) { - // toolbar.view = new wp.media.view.Toolbar.Select({ - // text: frame.options._button, - // controller: this - // }); - //}, frame ); - - // on select - frame.on('select', function () { - // vars - var selection = frame.state().get('selection'); - - // if selecting images - if (selection) { - // loop - selection.each(function (attachment, i) { - frame.acf.get('select').apply(frame.acf, [attachment, i]); - }); - } - }); - - // on close - frame.on('close', function () { - // callback and remove - setTimeout(function () { - frame.acf.get('close').apply(frame.acf); - frame.acf.remove(); - }, 1); - }); - } - }); - - /** - * acf.models.SelectMediaPopup - * - * description - * - * @date 10/1/18 - * @since 5.6.5 - * - * @param type $var Description. Default. - * @return type Description. - */ - - acf.models.SelectMediaPopup = MediaPopup.extend({ - id: 'SelectMediaPopup', - setup: function (props) { - // default button - if (!props.button) { - props.button = acf._x('Select', 'verb'); - } - - // parent - MediaPopup.prototype.setup.apply(this, arguments); - }, - addFrameEvents: function (frame, options) { - // plupload - // adds _acfuploader param to validate uploads - if (acf.isset(_wpPluploadSettings, 'defaults', 'multipart_params')) { - // add _acfuploader so that Uploader will inherit - _wpPluploadSettings.defaults.multipart_params._acfuploader = this.get('field'); - - // remove acf_field so future Uploaders won't inherit - frame.on('open', function () { - delete _wpPluploadSettings.defaults.multipart_params._acfuploader; - }); - } - - // browse - frame.on('content:activate:browse', function () { - // vars - var toolbar = false; - - // populate above vars making sure to allow for failure - // perhaps toolbar does not exist because the frame open is Upload Files - try { - toolbar = frame.content.get().toolbar; - } catch (e) { - console.log(e); - return; - } - - // callback - frame.acf.customizeFilters.apply(frame.acf, [toolbar]); - }); - - // parent - MediaPopup.prototype.addFrameEvents.apply(this, arguments); - }, - customizeFilters: function (toolbar) { - // vars - var filters = toolbar.get('filters'); - - // image - if (this.get('type') == 'image') { - // update all - filters.filters.all.text = acf.__('All images'); - - // remove some filters - delete filters.filters.audio; - delete filters.filters.video; - delete filters.filters.image; - - // update all filters to show images - $.each(filters.filters, function (i, filter) { - filter.props.type = filter.props.type || 'image'; - }); - } - - // specific types - if (this.get('allowedTypes')) { - // convert ".jpg, .png" into ["jpg", "png"] - var allowedTypes = this.get('allowedTypes').split(' ').join('').split('.').join('').split(','); - - // loop - allowedTypes.map(function (name) { - // get type - var mimeType = acf.getMimeType(name); - - // bail early if no type - if (!mimeType) return; - - // create new filter - var newFilter = { - text: mimeType, - props: { - status: null, - type: mimeType, - uploadedTo: null, - orderby: 'date', - order: 'DESC' - }, - priority: 20 - }; - - // append - filters.filters[mimeType] = newFilter; - }); - } - - // uploaded to post - if (this.get('library') === 'uploadedTo') { - // vars - var uploadedTo = this.frame.options.library.uploadedTo; - - // remove some filters - delete filters.filters.unattached; - delete filters.filters.uploaded; - - // add uploadedTo to filters - $.each(filters.filters, function (i, filter) { - filter.text += ' (' + acf.__('Uploaded to this post') + ')'; - filter.props.uploadedTo = uploadedTo; - }); - } - - // add _acfuploader to filters - var field = this.get('field'); - $.each(filters.filters, function (k, filter) { - filter.props._acfuploader = field; - }); - - // add _acfuplaoder to search - var search = toolbar.get('search'); - search.model.attributes._acfuploader = field; - - // render (custom function added to prototype) - if (filters.renderFilters) { - filters.renderFilters(); - } - } - }); - - /** - * acf.models.EditMediaPopup - * - * description - * - * @date 10/1/18 - * @since 5.6.5 - * - * @param type $var Description. Default. - * @return type Description. - */ - - acf.models.EditMediaPopup = MediaPopup.extend({ - id: 'SelectMediaPopup', - setup: function (props) { - // default button - if (!props.button) { - props.button = acf._x('Update', 'verb'); - } - - // parent - MediaPopup.prototype.setup.apply(this, arguments); - }, - addFrameEvents: function (frame, options) { - // add class - frame.on('open', function () { - // add class - this.$el.closest('.media-modal').addClass('acf-expanded'); - - // set to browse - if (this.content.mode() != 'browse') { - this.content.mode('browse'); - } - - // set selection - var state = this.state(); - var selection = state.get('selection'); - var attachment = wp.media.attachment(frame.acf.get('attachment')); - selection.add(attachment); - }, frame); - - // parent - MediaPopup.prototype.addFrameEvents.apply(this, arguments); - } - }); - - /** - * customizePrototypes - * - * description - * - * @date 11/1/18 - * @since 5.6.5 - * - * @param type $var Description. Default. - * @return type Description. - */ - - var customizePrototypes = new acf.Model({ - id: 'customizePrototypes', - wait: 'ready', - initialize: function () { - // bail early if no media views - if (!acf.isset(window, 'wp', 'media', 'view')) { - return; - } - - // fix bug where CPT without "editor" does not set post.id setting which then prevents uploadedTo from working - var postID = getPostID(); - if (postID && acf.isset(wp, 'media', 'view', 'settings', 'post')) { - wp.media.view.settings.post.id = postID; - } - - // customize - this.customizeAttachmentsButton(); - this.customizeAttachmentsRouter(); - this.customizeAttachmentFilters(); - this.customizeAttachmentCompat(); - this.customizeAttachmentLibrary(); - }, - customizeAttachmentsButton: function () { - // validate - if (!acf.isset(wp, 'media', 'view', 'Button')) { - return; - } - - // Extend - var Button = wp.media.view.Button; - wp.media.view.Button = Button.extend({ - // Fix bug where "Select" button appears blank after editing an image. - // Do this by simplifying Button initialize function and avoid deleting this.options. - initialize: function () { - var options = _.defaults(this.options, this.defaults); - this.model = new Backbone.Model(options); - this.listenTo(this.model, 'change', this.render); - } - }); - }, - customizeAttachmentsRouter: function () { - // validate - if (!acf.isset(wp, 'media', 'view', 'Router')) { - return; - } - - // vars - var Parent = wp.media.view.Router; - - // extend - wp.media.view.Router = Parent.extend({ - addExpand: function () { - // vars - var $a = $(['', '' + acf.__('Expand Details') + '', '' + acf.__('Collapse Details') + '', ''].join('')); - - // add events - $a.on('click', function (e) { - e.preventDefault(); - var $div = $(this).closest('.media-modal'); - if ($div.hasClass('acf-expanded')) { - $div.removeClass('acf-expanded'); - } else { - $div.addClass('acf-expanded'); - } - }); - - // append - this.$el.append($a); - }, - initialize: function () { - // initialize - Parent.prototype.initialize.apply(this, arguments); - - // add buttons - this.addExpand(); - - // return - return this; - } - }); - }, - customizeAttachmentFilters: function () { - // validate - if (!acf.isset(wp, 'media', 'view', 'AttachmentFilters', 'All')) { - return; - } - - // vars - var Parent = wp.media.view.AttachmentFilters.All; - - // renderFilters - // copied from media-views.js:6939 - Parent.prototype.renderFilters = function () { - // Build `').val(value).html(filter.text)[0], - priority: filter.priority || 50 - }; - }, this).sortBy('priority').pluck('el').value()); - }; - }, - customizeAttachmentCompat: function () { - // validate - if (!acf.isset(wp, 'media', 'view', 'AttachmentCompat')) { - return; - } - - // vars - var AttachmentCompat = wp.media.view.AttachmentCompat; - var timeout = false; - - // extend - wp.media.view.AttachmentCompat = AttachmentCompat.extend({ - render: function () { - // WP bug - // When multiple media frames exist on the same page (WP content, WYSIWYG, image, file ), - // WP creates multiple instances of this AttachmentCompat view. - // Each instance will attempt to render when a new modal is created. - // Use a property to avoid this and only render once per instance. - if (this.rendered) { - return this; - } - - // render HTML - AttachmentCompat.prototype.render.apply(this, arguments); - - // when uploading, render is called twice. - // ignore first render by checking for #acf-form-data element - if (!this.$('#acf-form-data').length) { - return this; - } - - // clear timeout - clearTimeout(timeout); - - // setTimeout - timeout = setTimeout($.proxy(function () { - this.rendered = true; - acf.doAction('append', this.$el); - }, this), 50); - - // return - return this; - }, - save: function (event) { - var data = {}; - if (event) { - event.preventDefault(); - } - - //_.each( this.$el.serializeArray(), function( pair ) { - // data[ pair.name ] = pair.value; - //}); - - // Serialize data more thoroughly to allow chckbox inputs to save. - data = acf.serializeForAjax(this.$el); - this.controller.trigger('attachment:compat:waiting', ['waiting']); - this.model.saveCompat(data).always(_.bind(this.postSave, this)); - } - }); - }, - customizeAttachmentLibrary: function () { - // validate - if (!acf.isset(wp, 'media', 'view', 'Attachment', 'Library')) { - return; - } - - // vars - var AttachmentLibrary = wp.media.view.Attachment.Library; - - // extend - wp.media.view.Attachment.Library = AttachmentLibrary.extend({ - render: function () { - // vars - var popup = acf.isget(this, 'controller', 'acf'); - var attributes = acf.isget(this, 'model', 'attributes'); - - // check vars exist to avoid errors - if (popup && attributes) { - // show errors - if (attributes.acf_errors) { - this.$el.addClass('acf-disabled'); - } - - // disable selected - var selected = popup.get('selected'); - if (selected && selected.indexOf(attributes.id) > -1) { - this.$el.addClass('acf-selected'); - } - } - - // render - return AttachmentLibrary.prototype.render.apply(this, arguments); - }, - /* - * toggleSelection - * - * This function is called before an attachment is selected - * A good place to check for errors and prevent the 'select' function from being fired - * - * @type function - * @date 29/09/2016 - * @since 5.4.0 - * - * @param options (object) - * @return n/a - */ - - toggleSelection: function (options) { - // vars - // source: wp-includes/js/media-views.js:2880 - var collection = this.collection, - selection = this.options.selection, - model = this.model, - single = selection.single(); - - // vars - var frame = this.controller; - var errors = acf.isget(this, 'model', 'attributes', 'acf_errors'); - var $sidebar = frame.$el.find('.media-frame-content .media-sidebar'); - - // remove previous error - $sidebar.children('.acf-selection-error').remove(); - - // show attachment details - $sidebar.children().removeClass('acf-hidden'); - - // add message - if (frame && errors) { - // vars - var filename = acf.isget(this, 'model', 'attributes', 'filename'); - - // hide attachment details - // Gallery field continues to show previously selected attachment... - $sidebar.children().addClass('acf-hidden'); - - // append message - $sidebar.prepend(['
        ', '' + acf.__('Restricted') + '', '' + filename + '', '' + errors + '', '
        '].join('')); - - // reset selection (unselects all attachments) - selection.reset(); - - // set single (attachment displayed in sidebar) - selection.single(model); - - // return and prevent 'select' form being fired - return; - } - - // return - return AttachmentLibrary.prototype.toggleSelection.apply(this, arguments); - } - }); - } - }); -})(jQuery); - -/***/ }), - -/***/ "./src/advanced-custom-fields-pro/assets/src/js/_acf-postbox.js": -/*!**********************************************************************!*\ - !*** ./src/advanced-custom-fields-pro/assets/src/js/_acf-postbox.js ***! - \**********************************************************************/ -/***/ (() => { - -(function ($, undefined) { - /** - * postboxManager - * - * Manages postboxes on the screen. - * - * @date 25/5/19 - * @since 5.8.1 - * - * @param void - * @return void - */ - var postboxManager = new acf.Model({ - wait: 'prepare', - priority: 1, - initialize: function () { - (acf.get('postboxes') || []).map(acf.newPostbox); - } - }); - - /** - * acf.getPostbox - * - * Returns a postbox instance. - * - * @date 23/9/18 - * @since 5.7.7 - * - * @param mixed $el Either a jQuery element or the postbox id. - * @return object - */ - acf.getPostbox = function ($el) { - // allow string parameter - if (typeof arguments[0] == 'string') { - $el = $('#' + arguments[0]); - } - - // return instance - return acf.getInstance($el); - }; - - /** - * acf.getPostboxes - * - * Returns an array of postbox instances. - * - * @date 23/9/18 - * @since 5.7.7 - * - * @param void - * @return array - */ - acf.getPostboxes = function () { - return acf.getInstances($('.acf-postbox')); - }; - - /** - * acf.newPostbox - * - * Returns a new postbox instance for the given props. - * - * @date 20/9/18 - * @since 5.7.6 - * - * @param object props The postbox properties. - * @return object - */ - acf.newPostbox = function (props) { - return new acf.models.Postbox(props); - }; - - /** - * acf.models.Postbox - * - * The postbox model. - * - * @date 20/9/18 - * @since 5.7.6 - * - * @param void - * @return void - */ - acf.models.Postbox = acf.Model.extend({ - data: { - id: '', - key: '', - style: 'default', - label: 'top', - edit: '' - }, - setup: function (props) { - // compatibilty - if (props.editLink) { - props.edit = props.editLink; - } - - // extend data - $.extend(this.data, props); - - // set $el - this.$el = this.$postbox(); - }, - $postbox: function () { - return $('#' + this.get('id')); - }, - $hide: function () { - return $('#' + this.get('id') + '-hide'); - }, - $hideLabel: function () { - return this.$hide().parent(); - }, - $hndle: function () { - return this.$('> .hndle'); - }, - $handleActions: function () { - return this.$('> .postbox-header .handle-actions'); - }, - $inside: function () { - return this.$('> .inside'); - }, - isVisible: function () { - return this.$el.hasClass('acf-hidden'); - }, - isHiddenByScreenOptions: function () { - return this.$el.hasClass('hide-if-js') || this.$el.css('display') == 'none'; - }, - initialize: function () { - // Add default class. - this.$el.addClass('acf-postbox'); - - // Add field group style class (ignore in block editor). - if (acf.get('editor') !== 'block') { - var style = this.get('style'); - if (style !== 'default') { - this.$el.addClass(style); - } - } - - // Add .inside class. - this.$inside().addClass('acf-fields').addClass('-' + this.get('label')); - - // Append edit link. - var edit = this.get('edit'); - if (edit) { - var html = ''; - var $handleActions = this.$handleActions(); - if ($handleActions.length) { - $handleActions.prepend(html); - } else { - this.$hndle().append(html); - } - } - - // Show postbox. - this.show(); - }, - show: function () { - // If disabled by screen options, set checked to false and return. - if (this.$el.hasClass('hide-if-js')) { - this.$hide().prop('checked', false); - return; - } - - // Show label. - this.$hideLabel().show(); - - // toggle on checkbox - this.$hide().prop('checked', true); - - // Show postbox - this.$el.show().removeClass('acf-hidden'); - - // Do action. - acf.doAction('show_postbox', this); - }, - enable: function () { - acf.enable(this.$el, 'postbox'); - }, - showEnable: function () { - this.enable(); - this.show(); - }, - hide: function () { - // Hide label. - this.$hideLabel().hide(); - - // Hide postbox - this.$el.hide().addClass('acf-hidden'); - - // Do action. - acf.doAction('hide_postbox', this); - }, - disable: function () { - acf.disable(this.$el, 'postbox'); - }, - hideDisable: function () { - this.disable(); - this.hide(); - }, - html: function (html) { - // Update HTML. - this.$inside().html(html); - - // Do action. - acf.doAction('append', this.$el); - } - }); -})(jQuery); - -/***/ }), - -/***/ "./src/advanced-custom-fields-pro/assets/src/js/_acf-screen.js": -/*!*********************************************************************!*\ - !*** ./src/advanced-custom-fields-pro/assets/src/js/_acf-screen.js ***! - \*********************************************************************/ -/***/ (() => { - -(function ($, undefined) { - acf.screen = new acf.Model({ - active: true, - xhr: false, - timeout: false, - wait: 'load', - events: { - 'change #page_template': 'onChange', - 'change #parent_id': 'onChange', - 'change #post-formats-select': 'onChange', - 'change .categorychecklist': 'onChange', - 'change .tagsdiv': 'onChange', - 'change .acf-taxonomy-field[data-save="1"]': 'onChange', - 'change #product-type': 'onChange' - }, - isPost: function () { - return acf.get('screen') === 'post'; - }, - isUser: function () { - return acf.get('screen') === 'user'; - }, - isTaxonomy: function () { - return acf.get('screen') === 'taxonomy'; - }, - isAttachment: function () { - return acf.get('screen') === 'attachment'; - }, - isNavMenu: function () { - return acf.get('screen') === 'nav_menu'; - }, - isWidget: function () { - return acf.get('screen') === 'widget'; - }, - isComment: function () { - return acf.get('screen') === 'comment'; - }, - getPageTemplate: function () { - var $el = $('#page_template'); - return $el.length ? $el.val() : null; - }, - getPageParent: function (e, $el) { - var $el = $('#parent_id'); - return $el.length ? $el.val() : null; - }, - getPageType: function (e, $el) { - return this.getPageParent() ? 'child' : 'parent'; - }, - getPostType: function () { - return $('#post_type').val(); - }, - getPostFormat: function (e, $el) { - var $el = $('#post-formats-select input:checked'); - if ($el.length) { - var val = $el.val(); - return val == '0' ? 'standard' : val; - } - return null; - }, - getPostCoreTerms: function () { - // vars - var terms = {}; - - // serialize WP taxonomy postboxes - var data = acf.serialize($('.categorydiv, .tagsdiv')); - - // use tax_input (tag, custom-taxonomy) when possible. - // this data is already formatted in taxonomy => [terms]. - if (data.tax_input) { - terms = data.tax_input; - } - - // append "category" which uses a different name - if (data.post_category) { - terms.category = data.post_category; - } - - // convert any string values (tags) into array format - for (var tax in terms) { - if (!acf.isArray(terms[tax])) { - terms[tax] = terms[tax].split(/,[\s]?/); - } - } - - // return - return terms; - }, - getPostTerms: function () { - // Get core terms. - var terms = this.getPostCoreTerms(); - - // loop over taxonomy fields and add their values - acf.getFields({ - type: 'taxonomy' - }).map(function (field) { - // ignore fields that don't save - if (!field.get('save')) { - return; - } - - // vars - var val = field.val(); - var tax = field.get('taxonomy'); - - // check val - if (val) { - // ensure terms exists - terms[tax] = terms[tax] || []; - - // ensure val is an array - val = acf.isArray(val) ? val : [val]; - - // append - terms[tax] = terms[tax].concat(val); - } - }); - - // add WC product type - if ((productType = this.getProductType()) !== null) { - terms.product_type = [productType]; - } - - // remove duplicate values - for (var tax in terms) { - terms[tax] = acf.uniqueArray(terms[tax]); - } - - // return - return terms; - }, - getProductType: function () { - var $el = $('#product-type'); - return $el.length ? $el.val() : null; - }, - check: function () { - // bail early if not for post - if (acf.get('screen') !== 'post') { - return; - } - - // abort XHR if is already loading AJAX data - if (this.xhr) { - this.xhr.abort(); - } - - // vars - var ajaxData = acf.parseArgs(this.data, { - action: 'acf/ajax/check_screen', - screen: acf.get('screen'), - exists: [] - }); - - // post id - if (this.isPost()) { - ajaxData.post_id = acf.get('post_id'); - } - - // post type - if ((postType = this.getPostType()) !== null) { - ajaxData.post_type = postType; - } - - // page template - if ((pageTemplate = this.getPageTemplate()) !== null) { - ajaxData.page_template = pageTemplate; - } - - // page parent - if ((pageParent = this.getPageParent()) !== null) { - ajaxData.page_parent = pageParent; - } - - // page type - if ((pageType = this.getPageType()) !== null) { - ajaxData.page_type = pageType; - } - - // post format - if ((postFormat = this.getPostFormat()) !== null) { - ajaxData.post_format = postFormat; - } - - // post terms - if ((postTerms = this.getPostTerms()) !== null) { - ajaxData.post_terms = postTerms; - } - - // add array of existing postboxes to increase performance and reduce JSON HTML - acf.getPostboxes().map(function (postbox) { - ajaxData.exists.push(postbox.get('key')); - }); - - // filter - ajaxData = acf.applyFilters('check_screen_args', ajaxData); - - // success - var onSuccess = function (json) { - // Render post screen. - if (acf.get('screen') == 'post') { - this.renderPostScreen(json); - - // Render user screen. - } else if (acf.get('screen') == 'user') { - this.renderUserScreen(json); - } - - // action - acf.doAction('check_screen_complete', json, ajaxData); - }; - - // ajax - this.xhr = $.ajax({ - url: acf.get('ajaxurl'), - data: acf.prepareForAjax(ajaxData), - type: 'post', - dataType: 'json', - context: this, - success: onSuccess - }); - }, - onChange: function (e, $el) { - this.setTimeout(this.check, 1); - }, - renderPostScreen: function (data) { - // Helper function to copy events - var copyEvents = function ($from, $to) { - var events = $._data($from[0]).events; - for (var type in events) { - for (var i = 0; i < events[type].length; i++) { - $to.on(type, events[type][i].handler); - } - } - }; - - // Helper function to sort metabox. - var sortMetabox = function (id, ids) { - // Find position of id within ids. - var index = ids.indexOf(id); - - // Bail early if index not found. - if (index == -1) { - return false; - } - - // Loop over metaboxes behind (in reverse order). - for (var i = index - 1; i >= 0; i--) { - if ($('#' + ids[i]).length) { - return $('#' + ids[i]).after($('#' + id)); - } - } - - // Loop over metaboxes infront. - for (var i = index + 1; i < ids.length; i++) { - if ($('#' + ids[i]).length) { - return $('#' + ids[i]).before($('#' + id)); - } - } - - // Return false if not sorted. - return false; - }; - - // Keep track of visible and hidden postboxes. - data.visible = []; - data.hidden = []; - - // Show these postboxes. - data.results = data.results.map(function (result, i) { - // vars - var postbox = acf.getPostbox(result.id); - - // Prevent "acf_after_title" position in Block Editor. - if (acf.isGutenberg() && result.position == 'acf_after_title') { - result.position = 'normal'; - } - - // Create postbox if doesn't exist. - if (!postbox) { - var wpMinorVersion = parseFloat(acf.get('wp_version')); - if (wpMinorVersion >= 5.5) { - var postboxHeader = ['
        ', '

        ', '' + acf.escHtml(result.title) + '', '

        ', '
        ', '', '
        ', '
        '].join(''); - } else { - var postboxHeader = ['', '

        ', '' + acf.escHtml(result.title) + '', '

        '].join(''); - } - - // Ensure result.classes is set. - if (!result.classes) result.classes = ''; - - // Create it. - var $postbox = $(['
        ', postboxHeader, '
        ', result.html, '
        ', '
        '].join('')); - - // Create new hide toggle. - if ($('#adv-settings').length) { - var $prefs = $('#adv-settings .metabox-prefs'); - var $label = $([''].join('')); - - // Copy default WP events onto checkbox. - copyEvents($prefs.find('input').first(), $label.find('input')); - - // Append hide label - $prefs.append($label); - } - - // Copy default WP events onto metabox. - if ($('.postbox').length) { - copyEvents($('.postbox .handlediv').first(), $postbox.children('.handlediv')); - copyEvents($('.postbox .hndle').first(), $postbox.children('.hndle')); - } - - // Append metabox to the bottom of "side-sortables". - if (result.position === 'side') { - $('#' + result.position + '-sortables').append($postbox); - - // Prepend metabox to the top of "normal-sortbables". - } else { - $('#' + result.position + '-sortables').prepend($postbox); - } - - // Position metabox amongst existing ACF metaboxes within the same location. - var order = []; - data.results.map(function (_result) { - if (result.position === _result.position && $('#' + result.position + '-sortables #' + _result.id).length) { - order.push(_result.id); - } - }); - sortMetabox(result.id, order); - - // Check 'sorted' for user preference. - if (data.sorted) { - // Loop over each position (acf_after_title, side, normal). - for (var position in data.sorted) { - let order = data.sorted[position]; - if (typeof order !== 'string') { - continue; - } - - // Explode string into array of ids. - order = order.split(','); - - // Position metabox relative to order. - if (sortMetabox(result.id, order)) { - break; - } - } - } - - // Initalize it (modifies HTML). - postbox = acf.newPostbox(result); - - // Trigger action. - acf.doAction('append', $postbox); - acf.doAction('append_postbox', postbox); - } - - // show postbox - postbox.showEnable(); - - // append - data.visible.push(result.id); - - // Return result (may have changed). - return result; - }); - - // Hide these postboxes. - acf.getPostboxes().map(function (postbox) { - if (data.visible.indexOf(postbox.get('id')) === -1) { - // Hide postbox. - postbox.hideDisable(); - - // Append to data. - data.hidden.push(postbox.get('id')); - } - }); - - // Update style. - $('#acf-style').html(data.style); - - // Do action. - acf.doAction('refresh_post_screen', data); - }, - renderUserScreen: function (json) {} - }); - - /** - * gutenScreen - * - * Adds compatibility with the Gutenberg edit screen. - * - * @date 11/12/18 - * @since 5.8.0 - * - * @param void - * @return void - */ - var gutenScreen = new acf.Model({ - // Keep a reference to the most recent post attributes. - postEdits: {}, - // Wait until assets have been loaded. - wait: 'prepare', - initialize: function () { - // Bail early if not Gutenberg. - if (!acf.isGutenbergPostEditor()) { - return; - } - - // Listen for changes (use debounced version as this can fires often). - wp.data.subscribe(acf.debounce(this.onChange).bind(this)); - - // Customize "acf.screen.get" functions. - acf.screen.getPageTemplate = this.getPageTemplate; - acf.screen.getPageParent = this.getPageParent; - acf.screen.getPostType = this.getPostType; - acf.screen.getPostFormat = this.getPostFormat; - acf.screen.getPostCoreTerms = this.getPostCoreTerms; - - // Disable unload - acf.unload.disable(); - - // Refresh metaboxes since WP 5.3. - var wpMinorVersion = parseFloat(acf.get('wp_version')); - if (wpMinorVersion >= 5.3) { - this.addAction('refresh_post_screen', this.onRefreshPostScreen); - } - - // Trigger "refresh" after WP has moved metaboxes into place. - wp.domReady(acf.refresh); - }, - onChange: function () { - // Determine attributes that can trigger a refresh. - var attributes = ['template', 'parent', 'format']; - - // Append taxonomy attribute names to this list. - (wp.data.select('core').getTaxonomies() || []).map(function (taxonomy) { - attributes.push(taxonomy.rest_base); - }); - - // Get relevant current post edits. - var _postEdits = wp.data.select('core/editor').getPostEdits(); - var postEdits = {}; - attributes.map(function (k) { - if (_postEdits[k] !== undefined) { - postEdits[k] = _postEdits[k]; - } - }); - - // Detect change. - if (JSON.stringify(postEdits) !== JSON.stringify(this.postEdits)) { - this.postEdits = postEdits; - - // Check screen. - acf.screen.check(); - } - }, - getPageTemplate: function () { - return wp.data.select('core/editor').getEditedPostAttribute('template'); - }, - getPageParent: function (e, $el) { - return wp.data.select('core/editor').getEditedPostAttribute('parent'); - }, - getPostType: function () { - return wp.data.select('core/editor').getEditedPostAttribute('type'); - }, - getPostFormat: function (e, $el) { - return wp.data.select('core/editor').getEditedPostAttribute('format'); - }, - getPostCoreTerms: function () { - // vars - var terms = {}; - - // Loop over taxonomies. - var taxonomies = wp.data.select('core').getTaxonomies() || []; - taxonomies.map(function (taxonomy) { - // Append selected taxonomies to terms object. - var postTerms = wp.data.select('core/editor').getEditedPostAttribute(taxonomy.rest_base); - if (postTerms) { - terms[taxonomy.slug] = postTerms; - } - }); - - // return - return terms; - }, - /** - * onRefreshPostScreen - * - * Fires after the Post edit screen metaboxs are refreshed to update the Block Editor API state. - * - * @date 11/11/19 - * @since 5.8.7 - * - * @param object data The "check_screen" JSON response data. - * @return void - */ - onRefreshPostScreen: function (data) { - // Extract vars. - var select = wp.data.select('core/edit-post'); - var dispatch = wp.data.dispatch('core/edit-post'); - - // Load current metabox locations and data. - var locations = {}; - select.getActiveMetaBoxLocations().map(function (location) { - locations[location] = select.getMetaBoxesPerLocation(location); - }); - - // Generate flat array of existing ids. - var ids = []; - for (var k in locations) { - locations[k].map(function (m) { - ids.push(m.id); - }); - } - - // Append new ACF metaboxes (ignore those which already exist). - data.results.filter(function (r) { - return ids.indexOf(r.id) === -1; - }).map(function (result, i) { - // Ensure location exists. - var location = result.position; - locations[location] = locations[location] || []; - - // Append. - locations[location].push({ - id: result.id, - title: result.title - }); - }); - - // Remove hidden ACF metaboxes. - for (var k in locations) { - locations[k] = locations[k].filter(function (m) { - return data.hidden.indexOf(m.id) === -1; - }); - } - - // Update state. - dispatch.setAvailableMetaBoxesPerLocation(locations); - } - }); -})(jQuery); - -/***/ }), - -/***/ "./src/advanced-custom-fields-pro/assets/src/js/_acf-select2.js": -/*!**********************************************************************!*\ - !*** ./src/advanced-custom-fields-pro/assets/src/js/_acf-select2.js ***! - \**********************************************************************/ -/***/ (() => { - -(function ($, undefined) { - /** - * acf.newSelect2 - * - * description - * - * @date 13/1/18 - * @since 5.6.5 - * - * @param type $var Description. Default. - * @return type Description. - */ - - acf.newSelect2 = function ($select, props) { - // defaults - props = acf.parseArgs(props, { - allowNull: false, - placeholder: '', - multiple: false, - field: false, - ajax: false, - ajaxAction: '', - ajaxData: function (data) { - return data; - }, - ajaxResults: function (json) { - return json; - }, - escapeMarkup: false, - templateSelection: false, - templateResult: false, - dropdownCssClass: '', - suppressFilters: false - }); - - // initialize - if (getVersion() == 4) { - var select2 = new Select2_4($select, props); - } else { - var select2 = new Select2_3($select, props); - } - - // actions - acf.doAction('new_select2', select2); - - // return - return select2; - }; - - /** - * getVersion - * - * description - * - * @date 13/1/18 - * @since 5.6.5 - * - * @param type $var Description. Default. - * @return type Description. - */ - - function getVersion() { - // v4 - if (acf.isset(window, 'jQuery', 'fn', 'select2', 'amd')) { - return 4; - } - - // v3 - if (acf.isset(window, 'Select2')) { - return 3; - } - - // return - return false; - } - - /** - * Select2 - * - * description - * - * @date 13/1/18 - * @since 5.6.5 - * - * @param type $var Description. Default. - * @return type Description. - */ - - var Select2 = acf.Model.extend({ - setup: function ($select, props) { - $.extend(this.data, props); - this.$el = $select; - }, - initialize: function () {}, - selectOption: function (value) { - var $option = this.getOption(value); - if (!$option.prop('selected')) { - $option.prop('selected', true).trigger('change'); - } - }, - unselectOption: function (value) { - var $option = this.getOption(value); - if ($option.prop('selected')) { - $option.prop('selected', false).trigger('change'); - } - }, - getOption: function (value) { - return this.$('option[value="' + value + '"]'); - }, - addOption: function (option) { - // defaults - option = acf.parseArgs(option, { - id: '', - text: '', - selected: false - }); - - // vars - var $option = this.getOption(option.id); - - // append - if (!$option.length) { - $option = $(''); - $option.html(option.text); - $option.attr('value', option.id); - $option.prop('selected', option.selected); - this.$el.append($option); - } - - // chain - return $option; - }, - getValue: function () { - // vars - var val = []; - var $options = this.$el.find('option:selected'); - - // bail early if no selected - if (!$options.exists()) { - return val; - } - - // sort by attribute - $options = $options.sort(function (a, b) { - return +a.getAttribute('data-i') - +b.getAttribute('data-i'); - }); - - // loop - $options.each(function () { - var $el = $(this); - val.push({ - $el: $el, - id: $el.attr('value'), - text: $el.text() - }); - }); - - // return - return val; - }, - mergeOptions: function () {}, - getChoices: function () { - // callback - var crawl = function ($parent) { - // vars - var choices = []; - - // loop - $parent.children().each(function () { - // vars - var $child = $(this); - - // optgroup - if ($child.is('optgroup')) { - choices.push({ - text: $child.attr('label'), - children: crawl($child) - }); - - // option - } else { - choices.push({ - id: $child.attr('value'), - text: $child.text() - }); - } - }); - - // return - return choices; - }; - - // crawl - return crawl(this.$el); - }, - getAjaxData: function (params) { - // vars - var ajaxData = { - action: this.get('ajaxAction'), - s: params.term || '', - paged: params.page || 1 - }; - - // field helper - var field = this.get('field'); - if (field) { - ajaxData.field_key = field.get('key'); - } - - // callback - var callback = this.get('ajaxData'); - if (callback) { - ajaxData = callback.apply(this, [ajaxData, params]); - } - - // filter - ajaxData = acf.applyFilters('select2_ajax_data', ajaxData, this.data, this.$el, field || false, this); - - // return - return acf.prepareForAjax(ajaxData); - }, - getAjaxResults: function (json, params) { - // defaults - json = acf.parseArgs(json, { - results: false, - more: false - }); - - // callback - var callback = this.get('ajaxResults'); - if (callback) { - json = callback.apply(this, [json, params]); - } - - // filter - json = acf.applyFilters('select2_ajax_results', json, params, this); - - // return - return json; - }, - processAjaxResults: function (json, params) { - // vars - var json = this.getAjaxResults(json, params); - - // change more to pagination - if (json.more) { - json.pagination = { - more: true - }; - } - - // merge together groups - setTimeout($.proxy(this.mergeOptions, this), 1); - - // return - return json; - }, - destroy: function () { - // destroy via api - if (this.$el.data('select2')) { - this.$el.select2('destroy'); - } - - // destory via HTML (duplicating HTML does not contain data) - this.$el.siblings('.select2-container').remove(); - } - }); - - /** - * Select2_4 - * - * description - * - * @date 13/1/18 - * @since 5.6.5 - * - * @param type $var Description. Default. - * @return type Description. - */ - - var Select2_4 = Select2.extend({ - initialize: function () { - // vars - var $select = this.$el; - var options = { - width: '100%', - allowClear: this.get('allowNull'), - placeholder: this.get('placeholder'), - multiple: this.get('multiple'), - escapeMarkup: this.get('escapeMarkup'), - templateSelection: this.get('templateSelection'), - templateResult: this.get('templateResult'), - dropdownCssClass: this.get('dropdownCssClass'), - suppressFilters: this.get('suppressFilters'), - data: [] - }; - - // Clear empty templateSelections, templateResults, or dropdownCssClass. - if (!options.templateSelection) { - delete options.templateSelection; - } - if (!options.templateResult) { - delete options.templateResult; - } - if (!options.dropdownCssClass) { - delete options.dropdownCssClass; - } - - // Only use the template if SelectWoo is not loaded to work around https://github.com/woocommerce/woocommerce/pull/30473 - if (!acf.isset(window, 'jQuery', 'fn', 'selectWoo')) { - if (!options.templateSelection) { - options.templateSelection = function (selection) { - var $selection = $(''); - $selection.html(options.escapeMarkup(selection.text)); - $selection.data('element', selection.element); - return $selection; - }; - } - } else { - delete options.templateSelection; - delete options.templateResult; - } - - // Use a default, filterable escapeMarkup if not provided. - if (!options.escapeMarkup) { - options.escapeMarkup = function (markup) { - if (typeof markup !== 'string') { - return markup; - } - if (this.suppressFilters) { - return acf.strEscape(markup); - } - return acf.applyFilters('select2_escape_markup', acf.strEscape(markup), markup, $select, this.data, field || false, this); - }; - } - - // multiple - if (options.multiple) { - // reorder options - this.getValue().map(function (item) { - item.$el.detach().appendTo($select); - }); - } - - // Temporarily remove conflicting attribute. - var attrAjax = $select.attr('data-ajax'); - if (attrAjax !== undefined) { - $select.removeData('ajax'); - $select.removeAttr('data-ajax'); - } - - // ajax - if (this.get('ajax')) { - options.ajax = { - url: acf.get('ajaxurl'), - delay: 250, - dataType: 'json', - type: 'post', - cache: false, - data: $.proxy(this.getAjaxData, this), - processResults: $.proxy(this.processAjaxResults, this) - }; - } - - // filter for 3rd party customization - if (!options.suppressFilters) { - var field = this.get('field'); - options = acf.applyFilters('select2_args', options, $select, this.data, field || false, this); - } - // add select2 - $select.select2(options); - - // get container (Select2 v4 does not return this from constructor) - var $container = $select.next('.select2-container'); - - // multiple - if (options.multiple) { - // vars - var $ul = $container.find('ul'); - - // sortable - $ul.sortable({ - stop: function (e) { - // loop - $ul.find('.select2-selection__choice').each(function () { - // Attempt to use .data if it exists (select2 version < 4.0.6) or use our template data instead. - if ($(this).data('data')) { - var $option = $($(this).data('data').element); - } else { - var $option = $($(this).find('span.acf-selection').data('element')); - } - - // detach and re-append to end - $option.detach().appendTo($select); - }); - - // trigger change on input (JS error if trigger on select) - $select.trigger('change'); - } - }); - - // on select, move to end - $select.on('select2:select', this.proxy(function (e) { - this.getOption(e.params.data.id).detach().appendTo(this.$el); - })); - } - - // add handler to auto-focus searchbox (for jQuery 3.6) - $select.on('select2:open', () => { - $('.select2-container--open .select2-search__field').get(-1).focus(); - }); - - // add class - $container.addClass('-acf'); - - // Add back temporarily removed attr. - if (attrAjax !== undefined) { - $select.attr('data-ajax', attrAjax); - } - - // action for 3rd party customization - if (!options.suppressFilters) { - acf.doAction('select2_init', $select, options, this.data, field || false, this); - } - }, - mergeOptions: function () { - // vars - var $prevOptions = false; - var $prevGroup = false; - - // loop - $('.select2-results__option[role="group"]').each(function () { - // vars - var $options = $(this).children('ul'); - var $group = $(this).children('strong'); - - // compare to previous - if ($prevGroup && $prevGroup.text() === $group.text()) { - $prevOptions.append($options.children()); - $(this).remove(); - return; - } - - // update vars - $prevOptions = $options; - $prevGroup = $group; - }); - } - }); - - /** - * Select2_3 - * - * description - * - * @date 13/1/18 - * @since 5.6.5 - * - * @param type $var Description. Default. - * @return type Description. - */ - - var Select2_3 = Select2.extend({ - initialize: function () { - // vars - var $select = this.$el; - var value = this.getValue(); - var multiple = this.get('multiple'); - var options = { - width: '100%', - allowClear: this.get('allowNull'), - placeholder: this.get('placeholder'), - separator: '||', - multiple: this.get('multiple'), - data: this.getChoices(), - escapeMarkup: function (string) { - return acf.escHtml(string); - }, - dropdownCss: { - 'z-index': '999999999' - }, - initSelection: function (element, callback) { - if (multiple) { - callback(value); - } else { - callback(value.shift()); - } - } - }; - // get hidden input - var $input = $select.siblings('input'); - if (!$input.length) { - $input = $(''); - $select.before($input); - } - - // set input value - inputValue = value.map(function (item) { - return item.id; - }).join('||'); - $input.val(inputValue); - - // multiple - if (options.multiple) { - // reorder options - value.map(function (item) { - item.$el.detach().appendTo($select); - }); - } - - // remove blank option as we have a clear all button - if (options.allowClear) { - options.data = options.data.filter(function (item) { - return item.id !== ''; - }); - } - - // remove conflicting atts - $select.removeData('ajax'); - $select.removeAttr('data-ajax'); - - // ajax - if (this.get('ajax')) { - options.ajax = { - url: acf.get('ajaxurl'), - quietMillis: 250, - dataType: 'json', - type: 'post', - cache: false, - data: $.proxy(this.getAjaxData, this), - results: $.proxy(this.processAjaxResults, this) - }; - } - - // filter for 3rd party customization - var field = this.get('field'); - options = acf.applyFilters('select2_args', options, $select, this.data, field || false, this); - - // add select2 - $input.select2(options); - - // get container - var $container = $input.select2('container'); - - // helper to find this select's option - var getOption = $.proxy(this.getOption, this); - - // multiple - if (options.multiple) { - // vars - var $ul = $container.find('ul'); - - // sortable - $ul.sortable({ - stop: function () { - // loop - $ul.find('.select2-search-choice').each(function () { - // vars - var data = $(this).data('select2Data'); - var $option = getOption(data.id); - - // detach and re-append to end - $option.detach().appendTo($select); - }); - - // trigger change on input (JS error if trigger on select) - $select.trigger('change'); - } - }); - } - - // on select, create option and move to end - $input.on('select2-selecting', function (e) { - // vars - var item = e.choice; - var $option = getOption(item.id); - - // create if doesn't exist - if (!$option.length) { - $option = $(''); - } - - // detach and re-append to end - $option.detach().appendTo($select); - }); - - // add class - $container.addClass('-acf'); - - // action for 3rd party customization - acf.doAction('select2_init', $select, options, this.data, field || false, this); - - // change - $input.on('change', function () { - var val = $input.val(); - if (val.indexOf('||')) { - val = val.split('||'); - } - $select.val(val).trigger('change'); - }); - - // hide select - $select.hide(); - }, - mergeOptions: function () { - // vars - var $prevOptions = false; - var $prevGroup = false; - - // loop - $('#select2-drop .select2-result-with-children').each(function () { - // vars - var $options = $(this).children('ul'); - var $group = $(this).children('.select2-result-label'); - - // compare to previous - if ($prevGroup && $prevGroup.text() === $group.text()) { - $prevGroup.append($options.children()); - $(this).remove(); - return; - } - - // update vars - $prevOptions = $options; - $prevGroup = $group; - }); - }, - getAjaxData: function (term, page) { - // create Select2 v4 params - var params = { - term: term, - page: page - }; - - // filter - var field = this.get('field'); - params = acf.applyFilters('select2_ajax_data', params, this.data, this.$el, field || false, this); - // return - return Select2.prototype.getAjaxData.apply(this, [params]); - } - }); - - // manager - var select2Manager = new acf.Model({ - priority: 5, - wait: 'prepare', - actions: { - duplicate: 'onDuplicate' - }, - initialize: function () { - // vars - var locale = acf.get('locale'); - var rtl = acf.get('rtl'); - var l10n = acf.get('select2L10n'); - var version = getVersion(); - - // bail early if no l10n - if (!l10n) { - return false; - } - - // bail early if 'en' - if (locale.indexOf('en') === 0) { - return false; - } - - // initialize - if (version == 4) { - this.addTranslations4(); - } else if (version == 3) { - this.addTranslations3(); - } - }, - addTranslations4: function () { - // vars - var l10n = acf.get('select2L10n'); - var locale = acf.get('locale'); - - // modify local to match html[lang] attribute (used by Select2) - locale = locale.replace('_', '-'); - - // select2L10n - var select2L10n = { - errorLoading: function () { - return l10n.load_fail; - }, - inputTooLong: function (args) { - var overChars = args.input.length - args.maximum; - if (overChars > 1) { - return l10n.input_too_long_n.replace('%d', overChars); - } - return l10n.input_too_long_1; - }, - inputTooShort: function (args) { - var remainingChars = args.minimum - args.input.length; - if (remainingChars > 1) { - return l10n.input_too_short_n.replace('%d', remainingChars); - } - return l10n.input_too_short_1; - }, - loadingMore: function () { - return l10n.load_more; - }, - maximumSelected: function (args) { - var maximum = args.maximum; - if (maximum > 1) { - return l10n.selection_too_long_n.replace('%d', maximum); - } - return l10n.selection_too_long_1; - }, - noResults: function () { - return l10n.matches_0; - }, - searching: function () { - return l10n.searching; - } - }; - - // append - jQuery.fn.select2.amd.define('select2/i18n/' + locale, [], function () { - return select2L10n; - }); - }, - addTranslations3: function () { - // vars - var l10n = acf.get('select2L10n'); - var locale = acf.get('locale'); - - // modify local to match html[lang] attribute (used by Select2) - locale = locale.replace('_', '-'); - - // select2L10n - var select2L10n = { - formatMatches: function (matches) { - if (matches > 1) { - return l10n.matches_n.replace('%d', matches); - } - return l10n.matches_1; - }, - formatNoMatches: function () { - return l10n.matches_0; - }, - formatAjaxError: function () { - return l10n.load_fail; - }, - formatInputTooShort: function (input, min) { - var remainingChars = min - input.length; - if (remainingChars > 1) { - return l10n.input_too_short_n.replace('%d', remainingChars); - } - return l10n.input_too_short_1; - }, - formatInputTooLong: function (input, max) { - var overChars = input.length - max; - if (overChars > 1) { - return l10n.input_too_long_n.replace('%d', overChars); - } - return l10n.input_too_long_1; - }, - formatSelectionTooBig: function (maximum) { - if (maximum > 1) { - return l10n.selection_too_long_n.replace('%d', maximum); - } - return l10n.selection_too_long_1; - }, - formatLoadMore: function () { - return l10n.load_more; - }, - formatSearching: function () { - return l10n.searching; - } - }; - - // ensure locales exists - $.fn.select2.locales = $.fn.select2.locales || {}; - - // append - $.fn.select2.locales[locale] = select2L10n; - $.extend($.fn.select2.defaults, select2L10n); - }, - onDuplicate: function ($el, $el2) { - $el2.find('.select2-container').remove(); - } - }); -})(jQuery); - -/***/ }), - -/***/ "./src/advanced-custom-fields-pro/assets/src/js/_acf-tinymce.js": -/*!**********************************************************************!*\ - !*** ./src/advanced-custom-fields-pro/assets/src/js/_acf-tinymce.js ***! - \**********************************************************************/ -/***/ (() => { - -(function ($, undefined) { - acf.tinymce = { - /* - * defaults - * - * This function will return default mce and qt settings - * - * @type function - * @date 18/8/17 - * @since 5.6.0 - * - * @param $post_id (int) - * @return $post_id (int) - */ - - defaults: function () { - // bail early if no tinyMCEPreInit - if (typeof tinyMCEPreInit === 'undefined') return false; - - // vars - var defaults = { - tinymce: tinyMCEPreInit.mceInit.acf_content, - quicktags: tinyMCEPreInit.qtInit.acf_content - }; - - // return - return defaults; - }, - /* - * initialize - * - * This function will initialize the tinymce and quicktags instances - * - * @type function - * @date 18/8/17 - * @since 5.6.0 - * - * @param $post_id (int) - * @return $post_id (int) - */ - - initialize: function (id, args) { - // defaults - args = acf.parseArgs(args, { - tinymce: true, - quicktags: true, - toolbar: 'full', - mode: 'visual', - // visual,text - field: false - }); - - // tinymce - if (args.tinymce) { - this.initializeTinymce(id, args); - } - - // quicktags - if (args.quicktags) { - this.initializeQuicktags(id, args); - } - }, - /* - * initializeTinymce - * - * This function will initialize the tinymce instance - * - * @type function - * @date 18/8/17 - * @since 5.6.0 - * - * @param $post_id (int) - * @return $post_id (int) - */ - - initializeTinymce: function (id, args) { - // vars - var $textarea = $('#' + id); - var defaults = this.defaults(); - var toolbars = acf.get('toolbars'); - var field = args.field || false; - var $field = field.$el || false; - - // bail early - if (typeof tinymce === 'undefined') return false; - if (!defaults) return false; - - // check if exists - if (tinymce.get(id)) { - return this.enable(id); - } - - // settings - var init = $.extend({}, defaults.tinymce, args.tinymce); - init.id = id; - init.selector = '#' + id; - - // toolbar - var toolbar = args.toolbar; - if (toolbar && toolbars && toolbars[toolbar]) { - for (var i = 1; i <= 4; i++) { - init['toolbar' + i] = toolbars[toolbar][i] || ''; - } - } - - // event - init.setup = function (ed) { - ed.on('change', function (e) { - ed.save(); // save to textarea - $textarea.trigger('change'); - }); - - // Fix bug where Gutenberg does not hear "mouseup" event and tries to select multiple blocks. - ed.on('mouseup', function (e) { - var event = new MouseEvent('mouseup'); - window.dispatchEvent(event); - }); - - // Temporarily comment out. May not be necessary due to wysiwyg field actions. - //ed.on('unload', function(e) { - // acf.tinymce.remove( id ); - //}); - }; - - // disable wp_autoresize_on (no solution yet for fixed toolbar) - init.wp_autoresize_on = false; - - // Enable wpautop allowing value to save without

        tags. - // Only if the "TinyMCE Advanced" plugin hasn't already set this functionality. - if (!init.tadv_noautop) { - init.wpautop = true; - } - - // hook for 3rd party customization - init = acf.applyFilters('wysiwyg_tinymce_settings', init, id, field); - - // z-index fix (caused too many conflicts) - //if( acf.isset(tinymce,'ui','FloatPanel') ) { - // tinymce.ui.FloatPanel.zIndex = 900000; - //} - - // store settings - tinyMCEPreInit.mceInit[id] = init; - - // visual tab is active - if (args.mode == 'visual') { - // init - var result = tinymce.init(init); - - // get editor - var ed = tinymce.get(id); - - // validate - if (!ed) { - return false; - } - - // add reference - ed.acf = args.field; - - // action - acf.doAction('wysiwyg_tinymce_init', ed, ed.id, init, field); - } - }, - /* - * initializeQuicktags - * - * This function will initialize the quicktags instance - * - * @type function - * @date 18/8/17 - * @since 5.6.0 - * - * @param $post_id (int) - * @return $post_id (int) - */ - - initializeQuicktags: function (id, args) { - // vars - var defaults = this.defaults(); - - // bail early - if (typeof quicktags === 'undefined') return false; - if (!defaults) return false; - - // settings - var init = $.extend({}, defaults.quicktags, args.quicktags); - init.id = id; - - // filter - var field = args.field || false; - var $field = field.$el || false; - init = acf.applyFilters('wysiwyg_quicktags_settings', init, init.id, field); - - // store settings - tinyMCEPreInit.qtInit[id] = init; - - // init - var ed = quicktags(init); - - // validate - if (!ed) { - return false; - } - - // generate HTML - this.buildQuicktags(ed); - - // action for 3rd party customization - acf.doAction('wysiwyg_quicktags_init', ed, ed.id, init, field); - }, - /* - * buildQuicktags - * - * This function will build the quicktags HTML - * - * @type function - * @date 18/8/17 - * @since 5.6.0 - * - * @param $post_id (int) - * @return $post_id (int) - */ - - buildQuicktags: function (ed) { - var canvas, - name, - settings, - theButtons, - html, - ed, - id, - i, - use, - instanceId, - defaults = ',strong,em,link,block,del,ins,img,ul,ol,li,code,more,close,'; - canvas = ed.canvas; - name = ed.name; - settings = ed.settings; - html = ''; - theButtons = {}; - use = ''; - instanceId = ed.id; - - // set buttons - if (settings.buttons) { - use = ',' + settings.buttons + ','; - } - for (i in edButtons) { - if (!edButtons[i]) { - continue; - } - id = edButtons[i].id; - if (use && defaults.indexOf(',' + id + ',') !== -1 && use.indexOf(',' + id + ',') === -1) { - continue; - } - if (!edButtons[i].instance || edButtons[i].instance === instanceId) { - theButtons[id] = edButtons[i]; - if (edButtons[i].html) { - html += edButtons[i].html(name + '_'); - } - } - } - if (use && use.indexOf(',dfw,') !== -1) { - theButtons.dfw = new QTags.DFWButton(); - html += theButtons.dfw.html(name + '_'); - } - if ('rtl' === document.getElementsByTagName('html')[0].dir) { - theButtons.textdirection = new QTags.TextDirectionButton(); - html += theButtons.textdirection.html(name + '_'); - } - ed.toolbar.innerHTML = html; - ed.theButtons = theButtons; - if (typeof jQuery !== 'undefined') { - jQuery(document).triggerHandler('quicktags-init', [ed]); - } - }, - disable: function (id) { - this.destroyTinymce(id); - }, - remove: function (id) { - this.destroyTinymce(id); - }, - destroy: function (id) { - this.destroyTinymce(id); - }, - destroyTinymce: function (id) { - // bail early - if (typeof tinymce === 'undefined') return false; - - // get editor - var ed = tinymce.get(id); - - // bail early if no editor - if (!ed) return false; - - // save - ed.save(); - - // destroy editor - ed.destroy(); - - // return - return true; - }, - enable: function (id) { - this.enableTinymce(id); - }, - enableTinymce: function (id) { - // bail early - if (typeof switchEditors === 'undefined') return false; - - // bail early if not initialized - if (typeof tinyMCEPreInit.mceInit[id] === 'undefined') return false; - - // Ensure textarea element is visible - // - Fixes bug in block editor when switching between "Block" and "Document" tabs. - $('#' + id).show(); - - // toggle - switchEditors.go(id, 'tmce'); - - // return - return true; - } - }; - var editorManager = new acf.Model({ - // hook in before fieldsEventManager, conditions, etc - priority: 5, - actions: { - prepare: 'onPrepare', - ready: 'onReady' - }, - onPrepare: function () { - // find hidden editor which may exist within a field - var $div = $('#acf-hidden-wp-editor'); - - // move to footer - if ($div.exists()) { - $div.appendTo('body'); - } - }, - onReady: function () { - // Restore wp.editor functions used by tinymce removed in WP5. - if (acf.isset(window, 'wp', 'oldEditor')) { - wp.editor.autop = wp.oldEditor.autop; - wp.editor.removep = wp.oldEditor.removep; - } - - // bail early if no tinymce - if (!acf.isset(window, 'tinymce', 'on')) return; - - // restore default activeEditor - tinymce.on('AddEditor', function (data) { - // vars - var editor = data.editor; - - // bail early if not 'acf' - if (editor.id.substr(0, 3) !== 'acf') return; - - // override if 'content' exists - editor = tinymce.editors.content || editor; - - // update vars - tinymce.activeEditor = editor; - wpActiveEditor = editor.id; - }); - } - }); -})(jQuery); - -/***/ }), - -/***/ "./src/advanced-custom-fields-pro/assets/src/js/_acf-unload.js": -/*!*********************************************************************!*\ - !*** ./src/advanced-custom-fields-pro/assets/src/js/_acf-unload.js ***! - \*********************************************************************/ -/***/ (() => { - -(function ($, undefined) { - acf.unload = new acf.Model({ - wait: 'load', - active: true, - changed: false, - actions: { - validation_failure: 'startListening', - validation_success: 'stopListening' - }, - events: { - 'change form .acf-field': 'startListening', - 'submit form': 'stopListening' - }, - enable: function () { - this.active = true; - }, - disable: function () { - this.active = false; - }, - reset: function () { - this.stopListening(); - }, - startListening: function () { - // bail early if already changed, not active - if (this.changed || !this.active) { - return; - } - - // update - this.changed = true; - - // add event - $(window).on('beforeunload', this.onUnload); - }, - stopListening: function () { - // update - this.changed = false; - - // remove event - $(window).off('beforeunload', this.onUnload); - }, - onUnload: function () { - return acf.__('The changes you made will be lost if you navigate away from this page'); - } - }); -})(jQuery); - -/***/ }), - -/***/ "./src/advanced-custom-fields-pro/assets/src/js/_acf-validation.js": -/*!*************************************************************************!*\ - !*** ./src/advanced-custom-fields-pro/assets/src/js/_acf-validation.js ***! - \*************************************************************************/ -/***/ (() => { - -(function ($, undefined) { - /** - * Validator - * - * The model for validating forms - * - * @date 4/9/18 - * @since 5.7.5 - * - * @param void - * @return void - */ - var Validator = acf.Model.extend({ - /** @var string The model identifier. */ - id: 'Validator', - /** @var object The model data. */ - data: { - /** @var array The form errors. */ - errors: [], - /** @var object The form notice. */ - notice: null, - /** @var string The form status. loading, invalid, valid */ - status: '' - }, - /** @var object The model events. */ - events: { - 'changed:status': 'onChangeStatus' - }, - /** - * addErrors - * - * Adds errors to the form. - * - * @date 4/9/18 - * @since 5.7.5 - * - * @param array errors An array of errors. - * @return void - */ - addErrors: function (errors) { - errors.map(this.addError, this); - }, - /** - * addError - * - * Adds and error to the form. - * - * @date 4/9/18 - * @since 5.7.5 - * - * @param object error An error object containing input and message. - * @return void - */ - addError: function (error) { - this.data.errors.push(error); - }, - /** - * hasErrors - * - * Returns true if the form has errors. - * - * @date 4/9/18 - * @since 5.7.5 - * - * @param void - * @return bool - */ - hasErrors: function () { - return this.data.errors.length; - }, - /** - * clearErrors - * - * Removes any errors. - * - * @date 4/9/18 - * @since 5.7.5 - * - * @param void - * @return void - */ - clearErrors: function () { - return this.data.errors = []; - }, - /** - * getErrors - * - * Returns the forms errors. - * - * @date 4/9/18 - * @since 5.7.5 - * - * @param void - * @return array - */ - getErrors: function () { - return this.data.errors; - }, - /** - * getFieldErrors - * - * Returns the forms field errors. - * - * @date 4/9/18 - * @since 5.7.5 - * - * @param void - * @return array - */ - getFieldErrors: function () { - // vars - var errors = []; - var inputs = []; - - // loop - this.getErrors().map(function (error) { - // bail early if global - if (!error.input) return; - - // update if exists - var i = inputs.indexOf(error.input); - if (i > -1) { - errors[i] = error; - - // update - } else { - errors.push(error); - inputs.push(error.input); - } - }); - - // return - return errors; - }, - /** - * getGlobalErrors - * - * Returns the forms global errors (errors without a specific input). - * - * @date 4/9/18 - * @since 5.7.5 - * - * @param void - * @return array - */ - getGlobalErrors: function () { - // return array of errors that contain no input - return this.getErrors().filter(function (error) { - return !error.input; - }); - }, - /** - * showErrors - * - * Displays all errors for this form. - * - * @since 5.7.5 - * - * @param {string} [location=before] - The location to add the error, before or after the input. Default before. Since 6.3. - * @return void - */ - showErrors: function (location = 'before') { - // bail early if no errors - if (!this.hasErrors()) { - return; - } - - // vars - var fieldErrors = this.getFieldErrors(); - var globalErrors = this.getGlobalErrors(); - - // vars - var errorCount = 0; - var $scrollTo = false; - - // loop - fieldErrors.map(function (error) { - // get input - var $input = this.$('[name="' + error.input + '"]').first(); - - // if $_POST value was an array, this $input may not exist - if (!$input.length) { - $input = this.$('[name^="' + error.input + '"]').first(); - } - - // bail early if input doesn't exist - if (!$input.length) { - return; - } - - // increase - errorCount++; - - // get field - var field = acf.getClosestField($input); - - // make sure the postbox containing this field is not hidden by screen options - ensureFieldPostBoxIsVisible(field.$el); - - // show error - field.showError(error.message, location); - - // set $scrollTo - if (!$scrollTo) { - $scrollTo = field.$el; - } - }, this); - - // errorMessage - var errorMessage = acf.__('Validation failed'); - globalErrors.map(function (error) { - errorMessage += '. ' + error.message; - }); - if (errorCount == 1) { - errorMessage += '. ' + acf.__('1 field requires attention'); - } else if (errorCount > 1) { - errorMessage += '. ' + acf.__('%d fields require attention').replace('%d', errorCount); - } - - // notice - if (this.has('notice')) { - this.get('notice').update({ - type: 'error', - text: errorMessage - }); - } else { - var notice = acf.newNotice({ - type: 'error', - text: errorMessage, - target: this.$el - }); - this.set('notice', notice); - } - - // If in a modal, don't try to scroll. - if (this.$el.parents('.acf-popup-box').length) { - return; - } - - // if no $scrollTo, set to message - if (!$scrollTo) { - $scrollTo = this.get('notice').$el; - } - - // timeout - setTimeout(function () { - $('html, body').animate({ - scrollTop: $scrollTo.offset().top - $(window).height() / 2 - }, 500); - }, 10); - }, - /** - * onChangeStatus - * - * Update the form class when changing the 'status' data - * - * @date 4/9/18 - * @since 5.7.5 - * - * @param object e The event object. - * @param jQuery $el The form element. - * @param string value The new status. - * @param string prevValue The old status. - * @return void - */ - onChangeStatus: function (e, $el, value, prevValue) { - this.$el.removeClass('is-' + prevValue).addClass('is-' + value); - }, - /** - * validate - * - * Vaildates the form via AJAX. - * - * @date 4/9/18 - * @since 5.7.5 - * - * @param object args A list of settings to customize the validation process. - * @return bool True if the form is valid. - */ - validate: function (args) { - // default args - args = acf.parseArgs(args, { - // trigger event - event: false, - // reset the form after submit - reset: false, - // loading callback - loading: function () {}, - // complete callback - complete: function () {}, - // failure callback - failure: function () {}, - // success callback - success: function ($form) { - $form.submit(); - } - }); - - // return true if is valid - allows form submit - if (this.get('status') == 'valid') { - return true; - } - - // return false if is currently validating - prevents form submit - if (this.get('status') == 'validating') { - return false; - } - - // return true if no ACF fields exist (no need to validate) - if (!this.$('.acf-field').length) { - return true; - } - - // if event is provided, create a new success callback. - if (args.event) { - var event = $.Event(null, args.event); - args.success = function () { - acf.enableSubmit($(event.target)).trigger(event); - }; - } - - // action for 3rd party - acf.doAction('validation_begin', this.$el); - - // lock form - acf.lockForm(this.$el); - - // loading callback - args.loading(this.$el, this); - - // update status - this.set('status', 'validating'); - - // success callback - var onSuccess = function (json) { - // validate - if (!acf.isAjaxSuccess(json)) { - return; - } - - // filter - var data = acf.applyFilters('validation_complete', json.data, this.$el, this); - - // add errors - if (!data.valid) { - this.addErrors(data.errors); - } - }; - - // complete - var onComplete = function () { - // unlock form - acf.unlockForm(this.$el); - - // failure - if (this.hasErrors()) { - // update status - this.set('status', 'invalid'); - - // action - acf.doAction('validation_failure', this.$el, this); - - // display errors - this.showErrors(); - - // failure callback - args.failure(this.$el, this); - - // success - } else { - // update status - this.set('status', 'valid'); - - // remove previous error message - if (this.has('notice')) { - this.get('notice').update({ - type: 'success', - text: acf.__('Validation successful'), - timeout: 1000 - }); - } - - // action - acf.doAction('validation_success', this.$el, this); - acf.doAction('submit', this.$el); - - // success callback (submit form) - args.success(this.$el, this); - - // lock form - acf.lockForm(this.$el); - - // reset - if (args.reset) { - this.reset(); - } - } - - // complete callback - args.complete(this.$el, this); - - // clear errors - this.clearErrors(); - }; - - // serialize form data - var data = acf.serialize(this.$el); - data.action = 'acf/validate_save_post'; - - // ajax - $.ajax({ - url: acf.get('ajaxurl'), - data: acf.prepareForAjax(data), - type: 'post', - dataType: 'json', - context: this, - success: onSuccess, - complete: onComplete - }); - - // return false to fail validation and allow AJAX - return false; - }, - /** - * setup - * - * Called during the constructor function to setup this instance - * - * @date 4/9/18 - * @since 5.7.5 - * - * @param jQuery $form The form element. - * @return void - */ - setup: function ($form) { - // set $el - this.$el = $form; - }, - /** - * reset - * - * Rests the validation to be used again. - * - * @date 6/9/18 - * @since 5.7.5 - * - * @param void - * @return void - */ - reset: function () { - // reset data - this.set('errors', []); - this.set('notice', null); - this.set('status', ''); - - // unlock form - acf.unlockForm(this.$el); - } - }); - - /** - * getValidator - * - * Returns the instance for a given form element. - * - * @date 4/9/18 - * @since 5.7.5 - * - * @param jQuery $el The form element. - * @return object - */ - var getValidator = function ($el) { - // instantiate - var validator = $el.data('acf'); - if (!validator) { - validator = new Validator($el); - } - - // return - return validator; - }; - - /** - * A helper function to generate a Validator for a block form, so .addErrors can be run via block logic. - * - * @since 6.3 - * - * @param $el The jQuery block form wrapper element. - * @return bool - */ - acf.getBlockFormValidator = function ($el) { - return getValidator($el); - }; - - /** - * A helper function for the Validator.validate() function. - * Returns true if form is valid, or fetches a validation request and returns false. - * - * @since 5.6.9 - * - * @param object args A list of settings to customize the validation process. - * @return bool - */ - acf.validateForm = function (args) { - return getValidator(args.form).validate(args); - }; - - /** - * acf.enableSubmit - * - * Enables a submit button and returns the element. - * - * @date 30/8/18 - * @since 5.7.4 - * - * @param jQuery $submit The submit button. - * @return jQuery - */ - acf.enableSubmit = function ($submit) { - return $submit.removeClass('disabled').removeAttr('disabled'); - }; - - /** - * acf.disableSubmit - * - * Disables a submit button and returns the element. - * - * @date 30/8/18 - * @since 5.7.4 - * - * @param jQuery $submit The submit button. - * @return jQuery - */ - acf.disableSubmit = function ($submit) { - return $submit.addClass('disabled').attr('disabled', true); - }; - - /** - * acf.showSpinner - * - * Shows the spinner element. - * - * @date 4/9/18 - * @since 5.7.5 - * - * @param jQuery $spinner The spinner element. - * @return jQuery - */ - acf.showSpinner = function ($spinner) { - $spinner.addClass('is-active'); // add class (WP > 4.2) - $spinner.css('display', 'inline-block'); // css (WP < 4.2) - return $spinner; - }; - - /** - * acf.hideSpinner - * - * Hides the spinner element. - * - * @date 4/9/18 - * @since 5.7.5 - * - * @param jQuery $spinner The spinner element. - * @return jQuery - */ - acf.hideSpinner = function ($spinner) { - $spinner.removeClass('is-active'); // add class (WP > 4.2) - $spinner.css('display', 'none'); // css (WP < 4.2) - return $spinner; - }; - - /** - * acf.lockForm - * - * Locks a form by disabeling its primary inputs and showing a spinner. - * - * @date 4/9/18 - * @since 5.7.5 - * - * @param jQuery $form The form element. - * @return jQuery - */ - acf.lockForm = function ($form) { - // vars - var $wrap = findSubmitWrap($form); - var $submit = $wrap.find('.button, [type="submit"]').not('.acf-nav, .acf-repeater-add-row'); - var $spinner = $wrap.find('.spinner, .acf-spinner'); - - // hide all spinners (hides the preview spinner) - acf.hideSpinner($spinner); - - // lock - acf.disableSubmit($submit); - acf.showSpinner($spinner.last()); - return $form; - }; - - /** - * acf.unlockForm - * - * Unlocks a form by enabeling its primary inputs and hiding all spinners. - * - * @date 4/9/18 - * @since 5.7.5 - * - * @param jQuery $form The form element. - * @return jQuery - */ - acf.unlockForm = function ($form) { - // vars - var $wrap = findSubmitWrap($form); - var $submit = $wrap.find('.button, [type="submit"]').not('.acf-nav, .acf-repeater-add-row'); - var $spinner = $wrap.find('.spinner, .acf-spinner'); - - // unlock - acf.enableSubmit($submit); - acf.hideSpinner($spinner); - return $form; - }; - - /** - * findSubmitWrap - * - * An internal function to find the 'primary' form submit wrapping element. - * - * @date 4/9/18 - * @since 5.7.5 - * - * @param jQuery $form The form element. - * @return jQuery - */ - var findSubmitWrap = function ($form) { - // default post submit div - var $wrap = $form.find('#submitdiv'); - if ($wrap.length) { - return $wrap; - } - - // 3rd party publish box - var $wrap = $form.find('#submitpost'); - if ($wrap.length) { - return $wrap; - } - - // term, user - var $wrap = $form.find('p.submit').last(); - if ($wrap.length) { - return $wrap; - } - - // front end form - var $wrap = $form.find('.acf-form-submit'); - if ($wrap.length) { - return $wrap; - } - - // ACF 6.2 options page modal - var $wrap = $('#acf-create-options-page-form .acf-actions'); - if ($wrap.length) { - return $wrap; - } - - // ACF 6.0+ headerbar submit - var $wrap = $('.acf-headerbar-actions'); - if ($wrap.length) { - return $wrap; - } - - // default - return $form; - }; - - /** - * A debounced function to trigger a form submission. - * - * @date 15/07/2020 - * @since 5.9.0 - * - * @param type Var Description. - * @return type Description. - */ - var submitFormDebounced = acf.debounce(function ($form) { - $form.submit(); - }); - - /** - * Ensure field is visible for validation errors - * - * @date 20/10/2021 - * @since 5.11.0 - */ - var ensureFieldPostBoxIsVisible = function ($el) { - // Find the postbox element containing this field. - var $postbox = $el.parents('.acf-postbox'); - if ($postbox.length) { - var acf_postbox = acf.getPostbox($postbox); - if (acf_postbox && acf_postbox.isHiddenByScreenOptions()) { - // Rather than using .show() here, we don't want the field to appear next reload. - // So just temporarily show the field group so validation can complete. - acf_postbox.$el.removeClass('hide-if-js'); - acf_postbox.$el.css('display', ''); - } - } - }; - - /** - * Ensure metaboxes which contain browser validation failures are visible. - * - * @date 20/10/2021 - * @since 5.11.0 - */ - var ensureInvalidFieldVisibility = function () { - // Load each ACF input field and check it's browser validation state. - var $inputs = $('.acf-field input'); - $inputs.each(function () { - if (!this.checkValidity()) { - // Field is invalid, so we need to make sure it's metabox is visible. - ensureFieldPostBoxIsVisible($(this)); - } - }); - }; - - /** - * acf.validation - * - * Global validation logic - * - * @date 4/4/18 - * @since 5.6.9 - * - * @param void - * @return void - */ - - acf.validation = new acf.Model({ - /** @var string The model identifier. */ - id: 'validation', - /** @var bool The active state. Set to false before 'prepare' to prevent validation. */ - active: true, - /** @var string The model initialize time. */ - wait: 'prepare', - /** @var object The model actions. */ - actions: { - ready: 'addInputEvents', - append: 'addInputEvents' - }, - /** @var object The model events. */ - events: { - 'click input[type="submit"]': 'onClickSubmit', - 'click button[type="submit"]': 'onClickSubmit', - 'click #save-post': 'onClickSave', - 'submit form#post': 'onSubmitPost', - 'submit form': 'onSubmit' - }, - /** - * initialize - * - * Called when initializing the model. - * - * @date 4/9/18 - * @since 5.7.5 - * - * @param void - * @return void - */ - initialize: function () { - // check 'validation' setting - if (!acf.get('validation')) { - this.active = false; - this.actions = {}; - this.events = {}; - } - }, - /** - * enable - * - * Enables validation. - * - * @date 4/9/18 - * @since 5.7.5 - * - * @param void - * @return void - */ - enable: function () { - this.active = true; - }, - /** - * disable - * - * Disables validation. - * - * @date 4/9/18 - * @since 5.7.5 - * - * @param void - * @return void - */ - disable: function () { - this.active = false; - }, - /** - * reset - * - * Rests the form validation to be used again - * - * @date 6/9/18 - * @since 5.7.5 - * - * @param jQuery $form The form element. - * @return void - */ - reset: function ($form) { - getValidator($form).reset(); - }, - /** - * addInputEvents - * - * Adds 'invalid' event listeners to HTML inputs. - * - * @date 4/9/18 - * @since 5.7.5 - * - * @param jQuery $el The element being added / readied. - * @return void - */ - addInputEvents: function ($el) { - // Bug exists in Safari where custom "invalid" handling prevents draft from saving. - if (acf.get('browser') === 'safari') return; - - // vars - var $inputs = $('.acf-field [name]', $el); - - // check - if ($inputs.length) { - this.on($inputs, 'invalid', 'onInvalid'); - } - }, - /** - * onInvalid - * - * Callback for the 'invalid' event. - * - * @date 4/9/18 - * @since 5.7.5 - * - * @param object e The event object. - * @param jQuery $el The input element. - * @return void - */ - onInvalid: function (e, $el) { - // prevent default - // - prevents browser error message - // - also fixes chrome bug where 'hidden-by-tab' field throws focus error - e.preventDefault(); - - // vars - var $form = $el.closest('form'); - - // check form exists - if ($form.length) { - // add error to validator - getValidator($form).addError({ - input: $el.attr('name'), - message: acf.strEscape(e.target.validationMessage) - }); - - // trigger submit on $form - // - allows for "save", "preview" and "publish" to work - submitFormDebounced($form); - } - }, - /** - * onClickSubmit - * - * Callback when clicking submit. - * - * @date 4/9/18 - * @since 5.7.5 - * - * @param object e The event object. - * @param jQuery $el The input element. - * @return void - */ - onClickSubmit: function (e, $el) { - // Some browsers (safari) force their browser validation before our AJAX validation, - // so we need to make sure fields are visible earlier than showErrors() - ensureInvalidFieldVisibility(); - - // store the "click event" for later use in this.onSubmit() - this.set('originalEvent', e); - }, - /** - * onClickSave - * - * Set ignore to true when saving a draft. - * - * @date 4/9/18 - * @since 5.7.5 - * - * @param object e The event object. - * @param jQuery $el The input element. - * @return void - */ - onClickSave: function (e, $el) { - this.set('ignore', true); - }, - /** - * onSubmitPost - * - * Callback when the 'post' form is submit. - * - * @date 5/3/19 - * @since 5.7.13 - * - * @param object e The event object. - * @param jQuery $el The input element. - * @return void - */ - onSubmitPost: function (e, $el) { - // Check if is preview. - if ($('input#wp-preview').val() === 'dopreview') { - // Ignore validation. - this.set('ignore', true); - - // Unlock form to fix conflict with core "submit.edit-post" event causing all submit buttons to be disabled. - acf.unlockForm($el); - } - }, - /** - * onSubmit - * - * Callback when the form is submit. - * - * @date 4/9/18 - * @since 5.7.5 - * - * @param object e The event object. - * @param jQuery $el The input element. - * @return void - */ - onSubmit: function (e, $el) { - // Allow form to submit if... - if ( - // Validation has been disabled. - !this.active || - // Or this event is to be ignored. - this.get('ignore') || - // Or this event has already been prevented. - e.isDefaultPrevented()) { - // Return early and call reset function. - return this.allowSubmit(); - } - - // Validate form. - var valid = acf.validateForm({ - form: $el, - event: this.get('originalEvent') - }); - - // If not valid, stop event to prevent form submit. - if (!valid) { - e.preventDefault(); - } - }, - /** - * allowSubmit - * - * Resets data during onSubmit when the form is allowed to submit. - * - * @date 5/3/19 - * @since 5.7.13 - * - * @param void - * @return void - */ - allowSubmit: function () { - // Reset "ignore" state. - this.set('ignore', false); - - // Reset "originalEvent" object. - this.set('originalEvent', false); - - // Return true - return true; - } - }); - var gutenbergValidation = new acf.Model({ - wait: 'prepare', - initialize: function () { - // Bail early if not Gutenberg. - if (!acf.isGutenberg()) { - return; - } - - // Custommize the editor. - this.customizeEditor(); - }, - customizeEditor: function () { - // Extract vars. - var editor = wp.data.dispatch('core/editor'); - var editorSelect = wp.data.select('core/editor'); - var notices = wp.data.dispatch('core/notices'); - - // Backup original method. - var savePost = editor.savePost; - - // Listen for changes to post status and perform actions: - // a) Enable validation for "publish" action. - // b) Remember last non "publish" status used for restoring after validation fail. - var useValidation = false; - var lastPostStatus = ''; - wp.data.subscribe(function () { - var postStatus = editorSelect.getEditedPostAttribute('status'); - useValidation = postStatus === 'publish' || postStatus === 'future'; - lastPostStatus = postStatus !== 'publish' ? postStatus : lastPostStatus; - }); - - // Create validation version. - editor.savePost = function (options) { - options = options || {}; - - // Backup vars. - var _this = this; - var _args = arguments; - - // Perform validation within a Promise. - return new Promise(function (resolve, reject) { - // Bail early if is autosave or preview. - if (options.isAutosave || options.isPreview) { - return resolve('Validation ignored (autosave).'); - } - - // Bail early if validation is not needed. - if (!useValidation) { - return resolve('Validation ignored (draft).'); - } - - // Check if we've currently got an ACF block selected which is failing validation, but might not be presented yet. - if ('undefined' !== typeof acf.blockInstances) { - const selectedBlockId = wp.data.select('core/block-editor').getSelectedBlockClientId(); - if (selectedBlockId && selectedBlockId in acf.blockInstances) { - const acfBlockState = acf.blockInstances[selectedBlockId]; - if (acfBlockState.validation_errors) { - // Deselect the block to show the error and lock the save. - console.log('Rejecting save because the block editor has a invalid ACF block selected.'); - notices.createErrorNotice(acf.__('An ACF Block on this page requires attention before you can save.'), { - id: 'acf-validation', - isDismissible: true - }); - wp.data.dispatch('core/editor').lockPostSaving('acf/block/' + selectedBlockId); - wp.data.dispatch('core/block-editor').selectBlock(false); - return reject('ACF Validation failed for selected block.'); - } - } - } - - // Validate the editor form. - var valid = acf.validateForm({ - form: $('#editor'), - reset: true, - complete: function ($form, validator) { - // Always unlock the form after AJAX. - editor.unlockPostSaving('acf'); - }, - failure: function ($form, validator) { - // Get validation error and append to Gutenberg notices. - var notice = validator.get('notice'); - notices.createErrorNotice(notice.get('text'), { - id: 'acf-validation', - isDismissible: true - }); - notice.remove(); - - // Restore last non "publish" status. - if (lastPostStatus) { - editor.editPost({ - status: lastPostStatus - }); - } - - // Rejext promise and prevent savePost(). - reject('Validation failed.'); - }, - success: function () { - notices.removeNotice('acf-validation'); - - // Resolve promise and allow savePost(). - resolve('Validation success.'); - } - }); - - // Resolve promise and allow savePost() if no validation is needed. - if (valid) { - resolve('Validation bypassed.'); - - // Otherwise, lock the form and wait for AJAX response. - } else { - editor.lockPostSaving('acf'); - } - }).then(function () { - return savePost.apply(_this, _args); - }, err => { - // Nothing to do here, user is alerted of validation issues. - }); - }; - } - }); -})(jQuery); - -/***/ }) - -/******/ }); -/************************************************************************/ -/******/ // The module cache -/******/ var __webpack_module_cache__ = {}; -/******/ -/******/ // The require function -/******/ function __webpack_require__(moduleId) { -/******/ // Check if module is in cache -/******/ var cachedModule = __webpack_module_cache__[moduleId]; -/******/ if (cachedModule !== undefined) { -/******/ return cachedModule.exports; -/******/ } -/******/ // Create a new module (and put it into the cache) -/******/ var module = __webpack_module_cache__[moduleId] = { -/******/ // no module.id needed -/******/ // no module.loaded needed -/******/ exports: {} -/******/ }; -/******/ -/******/ // Execute the module function -/******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__); -/******/ -/******/ // Return the exports of the module -/******/ return module.exports; -/******/ } -/******/ -/************************************************************************/ -/******/ /* webpack/runtime/compat get default export */ -/******/ (() => { -/******/ // getDefaultExport function for compatibility with non-harmony modules -/******/ __webpack_require__.n = (module) => { -/******/ var getter = module && module.__esModule ? -/******/ () => (module['default']) : -/******/ () => (module); -/******/ __webpack_require__.d(getter, { a: getter }); -/******/ return getter; -/******/ }; -/******/ })(); -/******/ -/******/ /* webpack/runtime/define property getters */ -/******/ (() => { -/******/ // define getter functions for harmony exports -/******/ __webpack_require__.d = (exports, definition) => { -/******/ for(var key in definition) { -/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) { -/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] }); -/******/ } -/******/ } -/******/ }; -/******/ })(); -/******/ -/******/ /* webpack/runtime/hasOwnProperty shorthand */ -/******/ (() => { -/******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop)) -/******/ })(); -/******/ -/******/ /* webpack/runtime/make namespace object */ -/******/ (() => { -/******/ // define __esModule on exports -/******/ __webpack_require__.r = (exports) => { -/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { -/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); -/******/ } -/******/ Object.defineProperty(exports, '__esModule', { value: true }); -/******/ }; -/******/ })(); -/******/ -/************************************************************************/ -var __webpack_exports__ = {}; -// This entry need to be wrapped in an IIFE because it need to be in strict mode. -(() => { -"use strict"; -/*!*******************************************************************!*\ - !*** ./src/advanced-custom-fields-pro/assets/src/js/acf-input.js ***! - \*******************************************************************/ -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _acf_field_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_acf-field.js */ "./src/advanced-custom-fields-pro/assets/src/js/_acf-field.js"); -/* harmony import */ var _acf_field_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_acf_field_js__WEBPACK_IMPORTED_MODULE_0__); -/* harmony import */ var _acf_fields_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_acf-fields.js */ "./src/advanced-custom-fields-pro/assets/src/js/_acf-fields.js"); -/* harmony import */ var _acf_fields_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_acf_fields_js__WEBPACK_IMPORTED_MODULE_1__); -/* harmony import */ var _acf_field_accordion_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_acf-field-accordion.js */ "./src/advanced-custom-fields-pro/assets/src/js/_acf-field-accordion.js"); -/* harmony import */ var _acf_field_accordion_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_acf_field_accordion_js__WEBPACK_IMPORTED_MODULE_2__); -/* harmony import */ var _acf_field_button_group_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./_acf-field-button-group.js */ "./src/advanced-custom-fields-pro/assets/src/js/_acf-field-button-group.js"); -/* harmony import */ var _acf_field_button_group_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_acf_field_button_group_js__WEBPACK_IMPORTED_MODULE_3__); -/* harmony import */ var _acf_field_checkbox_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./_acf-field-checkbox.js */ "./src/advanced-custom-fields-pro/assets/src/js/_acf-field-checkbox.js"); -/* harmony import */ var _acf_field_checkbox_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_acf_field_checkbox_js__WEBPACK_IMPORTED_MODULE_4__); -/* harmony import */ var _acf_field_color_picker_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./_acf-field-color-picker.js */ "./src/advanced-custom-fields-pro/assets/src/js/_acf-field-color-picker.js"); -/* harmony import */ var _acf_field_color_picker_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_acf_field_color_picker_js__WEBPACK_IMPORTED_MODULE_5__); -/* harmony import */ var _acf_field_date_picker_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./_acf-field-date-picker.js */ "./src/advanced-custom-fields-pro/assets/src/js/_acf-field-date-picker.js"); -/* harmony import */ var _acf_field_date_picker_js__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_acf_field_date_picker_js__WEBPACK_IMPORTED_MODULE_6__); -/* harmony import */ var _acf_field_date_time_picker_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./_acf-field-date-time-picker.js */ "./src/advanced-custom-fields-pro/assets/src/js/_acf-field-date-time-picker.js"); -/* harmony import */ var _acf_field_date_time_picker_js__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(_acf_field_date_time_picker_js__WEBPACK_IMPORTED_MODULE_7__); -/* harmony import */ var _acf_field_google_map_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./_acf-field-google-map.js */ "./src/advanced-custom-fields-pro/assets/src/js/_acf-field-google-map.js"); -/* harmony import */ var _acf_field_google_map_js__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(_acf_field_google_map_js__WEBPACK_IMPORTED_MODULE_8__); -/* harmony import */ var _acf_field_icon_picker_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./_acf-field-icon-picker.js */ "./src/advanced-custom-fields-pro/assets/src/js/_acf-field-icon-picker.js"); -/* harmony import */ var _acf_field_icon_picker_js__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(_acf_field_icon_picker_js__WEBPACK_IMPORTED_MODULE_9__); -/* harmony import */ var _acf_field_image_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./_acf-field-image.js */ "./src/advanced-custom-fields-pro/assets/src/js/_acf-field-image.js"); -/* harmony import */ var _acf_field_image_js__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(_acf_field_image_js__WEBPACK_IMPORTED_MODULE_10__); -/* harmony import */ var _acf_field_file_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./_acf-field-file.js */ "./src/advanced-custom-fields-pro/assets/src/js/_acf-field-file.js"); -/* harmony import */ var _acf_field_file_js__WEBPACK_IMPORTED_MODULE_11___default = /*#__PURE__*/__webpack_require__.n(_acf_field_file_js__WEBPACK_IMPORTED_MODULE_11__); -/* harmony import */ var _acf_field_link_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./_acf-field-link.js */ "./src/advanced-custom-fields-pro/assets/src/js/_acf-field-link.js"); -/* harmony import */ var _acf_field_link_js__WEBPACK_IMPORTED_MODULE_12___default = /*#__PURE__*/__webpack_require__.n(_acf_field_link_js__WEBPACK_IMPORTED_MODULE_12__); -/* harmony import */ var _acf_field_oembed_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./_acf-field-oembed.js */ "./src/advanced-custom-fields-pro/assets/src/js/_acf-field-oembed.js"); -/* harmony import */ var _acf_field_oembed_js__WEBPACK_IMPORTED_MODULE_13___default = /*#__PURE__*/__webpack_require__.n(_acf_field_oembed_js__WEBPACK_IMPORTED_MODULE_13__); -/* harmony import */ var _acf_field_radio_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./_acf-field-radio.js */ "./src/advanced-custom-fields-pro/assets/src/js/_acf-field-radio.js"); -/* harmony import */ var _acf_field_radio_js__WEBPACK_IMPORTED_MODULE_14___default = /*#__PURE__*/__webpack_require__.n(_acf_field_radio_js__WEBPACK_IMPORTED_MODULE_14__); -/* harmony import */ var _acf_field_range_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./_acf-field-range.js */ "./src/advanced-custom-fields-pro/assets/src/js/_acf-field-range.js"); -/* harmony import */ var _acf_field_range_js__WEBPACK_IMPORTED_MODULE_15___default = /*#__PURE__*/__webpack_require__.n(_acf_field_range_js__WEBPACK_IMPORTED_MODULE_15__); -/* harmony import */ var _acf_field_relationship_js__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./_acf-field-relationship.js */ "./src/advanced-custom-fields-pro/assets/src/js/_acf-field-relationship.js"); -/* harmony import */ var _acf_field_relationship_js__WEBPACK_IMPORTED_MODULE_16___default = /*#__PURE__*/__webpack_require__.n(_acf_field_relationship_js__WEBPACK_IMPORTED_MODULE_16__); -/* harmony import */ var _acf_field_select_js__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./_acf-field-select.js */ "./src/advanced-custom-fields-pro/assets/src/js/_acf-field-select.js"); -/* harmony import */ var _acf_field_select_js__WEBPACK_IMPORTED_MODULE_17___default = /*#__PURE__*/__webpack_require__.n(_acf_field_select_js__WEBPACK_IMPORTED_MODULE_17__); -/* harmony import */ var _acf_field_tab_js__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./_acf-field-tab.js */ "./src/advanced-custom-fields-pro/assets/src/js/_acf-field-tab.js"); -/* harmony import */ var _acf_field_tab_js__WEBPACK_IMPORTED_MODULE_18___default = /*#__PURE__*/__webpack_require__.n(_acf_field_tab_js__WEBPACK_IMPORTED_MODULE_18__); -/* harmony import */ var _acf_field_post_object_js__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ./_acf-field-post-object.js */ "./src/advanced-custom-fields-pro/assets/src/js/_acf-field-post-object.js"); -/* harmony import */ var _acf_field_post_object_js__WEBPACK_IMPORTED_MODULE_19___default = /*#__PURE__*/__webpack_require__.n(_acf_field_post_object_js__WEBPACK_IMPORTED_MODULE_19__); -/* harmony import */ var _acf_field_page_link_js__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ./_acf-field-page-link.js */ "./src/advanced-custom-fields-pro/assets/src/js/_acf-field-page-link.js"); -/* harmony import */ var _acf_field_page_link_js__WEBPACK_IMPORTED_MODULE_20___default = /*#__PURE__*/__webpack_require__.n(_acf_field_page_link_js__WEBPACK_IMPORTED_MODULE_20__); -/* harmony import */ var _acf_field_user_js__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ./_acf-field-user.js */ "./src/advanced-custom-fields-pro/assets/src/js/_acf-field-user.js"); -/* harmony import */ var _acf_field_user_js__WEBPACK_IMPORTED_MODULE_21___default = /*#__PURE__*/__webpack_require__.n(_acf_field_user_js__WEBPACK_IMPORTED_MODULE_21__); -/* harmony import */ var _acf_field_taxonomy_js__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ./_acf-field-taxonomy.js */ "./src/advanced-custom-fields-pro/assets/src/js/_acf-field-taxonomy.js"); -/* harmony import */ var _acf_field_taxonomy_js__WEBPACK_IMPORTED_MODULE_22___default = /*#__PURE__*/__webpack_require__.n(_acf_field_taxonomy_js__WEBPACK_IMPORTED_MODULE_22__); -/* harmony import */ var _acf_field_time_picker_js__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! ./_acf-field-time-picker.js */ "./src/advanced-custom-fields-pro/assets/src/js/_acf-field-time-picker.js"); -/* harmony import */ var _acf_field_time_picker_js__WEBPACK_IMPORTED_MODULE_23___default = /*#__PURE__*/__webpack_require__.n(_acf_field_time_picker_js__WEBPACK_IMPORTED_MODULE_23__); -/* harmony import */ var _acf_field_true_false_js__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! ./_acf-field-true-false.js */ "./src/advanced-custom-fields-pro/assets/src/js/_acf-field-true-false.js"); -/* harmony import */ var _acf_field_true_false_js__WEBPACK_IMPORTED_MODULE_24___default = /*#__PURE__*/__webpack_require__.n(_acf_field_true_false_js__WEBPACK_IMPORTED_MODULE_24__); -/* harmony import */ var _acf_field_url_js__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! ./_acf-field-url.js */ "./src/advanced-custom-fields-pro/assets/src/js/_acf-field-url.js"); -/* harmony import */ var _acf_field_url_js__WEBPACK_IMPORTED_MODULE_25___default = /*#__PURE__*/__webpack_require__.n(_acf_field_url_js__WEBPACK_IMPORTED_MODULE_25__); -/* harmony import */ var _acf_field_wysiwyg_js__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! ./_acf-field-wysiwyg.js */ "./src/advanced-custom-fields-pro/assets/src/js/_acf-field-wysiwyg.js"); -/* harmony import */ var _acf_field_wysiwyg_js__WEBPACK_IMPORTED_MODULE_26___default = /*#__PURE__*/__webpack_require__.n(_acf_field_wysiwyg_js__WEBPACK_IMPORTED_MODULE_26__); -/* harmony import */ var _acf_condition_js__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(/*! ./_acf-condition.js */ "./src/advanced-custom-fields-pro/assets/src/js/_acf-condition.js"); -/* harmony import */ var _acf_condition_js__WEBPACK_IMPORTED_MODULE_27___default = /*#__PURE__*/__webpack_require__.n(_acf_condition_js__WEBPACK_IMPORTED_MODULE_27__); -/* harmony import */ var _acf_conditions_js__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(/*! ./_acf-conditions.js */ "./src/advanced-custom-fields-pro/assets/src/js/_acf-conditions.js"); -/* harmony import */ var _acf_conditions_js__WEBPACK_IMPORTED_MODULE_28___default = /*#__PURE__*/__webpack_require__.n(_acf_conditions_js__WEBPACK_IMPORTED_MODULE_28__); -/* harmony import */ var _acf_condition_types_js__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__(/*! ./_acf-condition-types.js */ "./src/advanced-custom-fields-pro/assets/src/js/_acf-condition-types.js"); -/* harmony import */ var _acf_condition_types_js__WEBPACK_IMPORTED_MODULE_29___default = /*#__PURE__*/__webpack_require__.n(_acf_condition_types_js__WEBPACK_IMPORTED_MODULE_29__); -/* harmony import */ var _acf_unload_js__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__(/*! ./_acf-unload.js */ "./src/advanced-custom-fields-pro/assets/src/js/_acf-unload.js"); -/* harmony import */ var _acf_unload_js__WEBPACK_IMPORTED_MODULE_30___default = /*#__PURE__*/__webpack_require__.n(_acf_unload_js__WEBPACK_IMPORTED_MODULE_30__); -/* harmony import */ var _acf_postbox_js__WEBPACK_IMPORTED_MODULE_31__ = __webpack_require__(/*! ./_acf-postbox.js */ "./src/advanced-custom-fields-pro/assets/src/js/_acf-postbox.js"); -/* harmony import */ var _acf_postbox_js__WEBPACK_IMPORTED_MODULE_31___default = /*#__PURE__*/__webpack_require__.n(_acf_postbox_js__WEBPACK_IMPORTED_MODULE_31__); -/* harmony import */ var _acf_media_js__WEBPACK_IMPORTED_MODULE_32__ = __webpack_require__(/*! ./_acf-media.js */ "./src/advanced-custom-fields-pro/assets/src/js/_acf-media.js"); -/* harmony import */ var _acf_media_js__WEBPACK_IMPORTED_MODULE_32___default = /*#__PURE__*/__webpack_require__.n(_acf_media_js__WEBPACK_IMPORTED_MODULE_32__); -/* harmony import */ var _acf_screen_js__WEBPACK_IMPORTED_MODULE_33__ = __webpack_require__(/*! ./_acf-screen.js */ "./src/advanced-custom-fields-pro/assets/src/js/_acf-screen.js"); -/* harmony import */ var _acf_screen_js__WEBPACK_IMPORTED_MODULE_33___default = /*#__PURE__*/__webpack_require__.n(_acf_screen_js__WEBPACK_IMPORTED_MODULE_33__); -/* harmony import */ var _acf_select2_js__WEBPACK_IMPORTED_MODULE_34__ = __webpack_require__(/*! ./_acf-select2.js */ "./src/advanced-custom-fields-pro/assets/src/js/_acf-select2.js"); -/* harmony import */ var _acf_select2_js__WEBPACK_IMPORTED_MODULE_34___default = /*#__PURE__*/__webpack_require__.n(_acf_select2_js__WEBPACK_IMPORTED_MODULE_34__); -/* harmony import */ var _acf_tinymce_js__WEBPACK_IMPORTED_MODULE_35__ = __webpack_require__(/*! ./_acf-tinymce.js */ "./src/advanced-custom-fields-pro/assets/src/js/_acf-tinymce.js"); -/* harmony import */ var _acf_tinymce_js__WEBPACK_IMPORTED_MODULE_35___default = /*#__PURE__*/__webpack_require__.n(_acf_tinymce_js__WEBPACK_IMPORTED_MODULE_35__); -/* harmony import */ var _acf_validation_js__WEBPACK_IMPORTED_MODULE_36__ = __webpack_require__(/*! ./_acf-validation.js */ "./src/advanced-custom-fields-pro/assets/src/js/_acf-validation.js"); -/* harmony import */ var _acf_validation_js__WEBPACK_IMPORTED_MODULE_36___default = /*#__PURE__*/__webpack_require__.n(_acf_validation_js__WEBPACK_IMPORTED_MODULE_36__); -/* harmony import */ var _acf_helpers_js__WEBPACK_IMPORTED_MODULE_37__ = __webpack_require__(/*! ./_acf-helpers.js */ "./src/advanced-custom-fields-pro/assets/src/js/_acf-helpers.js"); -/* harmony import */ var _acf_helpers_js__WEBPACK_IMPORTED_MODULE_37___default = /*#__PURE__*/__webpack_require__.n(_acf_helpers_js__WEBPACK_IMPORTED_MODULE_37__); -/* harmony import */ var _acf_compatibility_js__WEBPACK_IMPORTED_MODULE_38__ = __webpack_require__(/*! ./_acf-compatibility.js */ "./src/advanced-custom-fields-pro/assets/src/js/_acf-compatibility.js"); -/* harmony import */ var _acf_compatibility_js__WEBPACK_IMPORTED_MODULE_38___default = /*#__PURE__*/__webpack_require__.n(_acf_compatibility_js__WEBPACK_IMPORTED_MODULE_38__); - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -})(); - -/******/ })() -; -//# sourceMappingURL=acf-input.js.map \ No newline at end of file diff --git a/wp-content/plugins/advanced-custom-fields-pro/assets/build/js/acf-input.js.map b/wp-content/plugins/advanced-custom-fields-pro/assets/build/js/acf-input.js.map deleted file mode 100644 index 0a6986b04..000000000 --- a/wp-content/plugins/advanced-custom-fields-pro/assets/build/js/acf-input.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"acf-input.js","mappings":"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","sources":["webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/js/_acf-compatibility.js","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/js/_acf-condition-types.js","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/js/_acf-condition.js","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/js/_acf-conditions.js","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/js/_acf-field-accordion.js","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/js/_acf-field-button-group.js","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/js/_acf-field-checkbox.js","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/js/_acf-field-color-picker.js","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/js/_acf-field-date-picker.js","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/js/_acf-field-date-time-picker.js","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/js/_acf-field-file.js","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/js/_acf-field-google-map.js","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/js/_acf-field-icon-picker.js","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/js/_acf-field-image.js","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/js/_acf-field-link.js","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/js/_acf-field-oembed.js","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/js/_acf-field-page-link.js","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/js/_acf-field-post-object.js","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/js/_acf-field-radio.js","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/js/_acf-field-range.js","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/js/_acf-field-relationship.js","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/js/_acf-field-select.js","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/js/_acf-field-tab.js","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/js/_acf-field-taxonomy.js","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/js/_acf-field-time-picker.js","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/js/_acf-field-true-false.js","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/js/_acf-field-url.js","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/js/_acf-field-user.js","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/js/_acf-field-wysiwyg.js","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/js/_acf-field.js","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/js/_acf-fields.js","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/js/_acf-helpers.js","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/js/_acf-media.js","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/js/_acf-postbox.js","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/js/_acf-screen.js","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/js/_acf-select2.js","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/js/_acf-tinymce.js","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/js/_acf-unload.js","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/js/_acf-validation.js","webpack://advanced-custom-fields-pro/webpack/bootstrap","webpack://advanced-custom-fields-pro/webpack/runtime/compat get default export","webpack://advanced-custom-fields-pro/webpack/runtime/define property getters","webpack://advanced-custom-fields-pro/webpack/runtime/hasOwnProperty shorthand","webpack://advanced-custom-fields-pro/webpack/runtime/make namespace object","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/js/acf-input.js"],"sourcesContent":["( function ( $, undefined ) {\n\t/**\n\t * acf.newCompatibility\n\t *\n\t * Inserts a new __proto__ object compatibility layer\n\t *\n\t * @date\t15/2/18\n\t * @since\t5.6.9\n\t *\n\t * @param\tobject instance The object to modify.\n\t * @param\tobject compatibilty Optional. The compatibilty layer.\n\t * @return\tobject compatibilty\n\t */\n\n\tacf.newCompatibility = function ( instance, compatibilty ) {\n\t\t// defaults\n\t\tcompatibilty = compatibilty || {};\n\n\t\t// inherit __proto_-\n\t\tcompatibilty.__proto__ = instance.__proto__;\n\n\t\t// inject\n\t\tinstance.__proto__ = compatibilty;\n\n\t\t// reference\n\t\tinstance.compatibility = compatibilty;\n\n\t\t// return\n\t\treturn compatibilty;\n\t};\n\n\t/**\n\t * acf.getCompatibility\n\t *\n\t * Returns the compatibility layer for a given instance\n\t *\n\t * @date\t13/3/18\n\t * @since\t5.6.9\n\t *\n\t * @param\tobject\t\tinstance\t\tThe object to look in.\n\t * @return\tobject|null\tcompatibility\tThe compatibility object or null on failure.\n\t */\n\n\tacf.getCompatibility = function ( instance ) {\n\t\treturn instance.compatibility || null;\n\t};\n\n\t/**\n\t * acf (compatibility)\n\t *\n\t * Compatibility layer for the acf object\n\t *\n\t * @date\t15/2/18\n\t * @since\t5.6.9\n\t *\n\t * @param\tvoid\n\t * @return\tvoid\n\t */\n\n\tvar _acf = acf.newCompatibility( acf, {\n\t\t// storage\n\t\tl10n: {},\n\t\to: {},\n\t\tfields: {},\n\n\t\t// changed function names\n\t\tupdate: acf.set,\n\t\tadd_action: acf.addAction,\n\t\tremove_action: acf.removeAction,\n\t\tdo_action: acf.doAction,\n\t\tadd_filter: acf.addFilter,\n\t\tremove_filter: acf.removeFilter,\n\t\tapply_filters: acf.applyFilters,\n\t\tparse_args: acf.parseArgs,\n\t\tdisable_el: acf.disable,\n\t\tdisable_form: acf.disable,\n\t\tenable_el: acf.enable,\n\t\tenable_form: acf.enable,\n\t\tupdate_user_setting: acf.updateUserSetting,\n\t\tprepare_for_ajax: acf.prepareForAjax,\n\t\tis_ajax_success: acf.isAjaxSuccess,\n\t\tremove_el: acf.remove,\n\t\tremove_tr: acf.remove,\n\t\tstr_replace: acf.strReplace,\n\t\trender_select: acf.renderSelect,\n\t\tget_uniqid: acf.uniqid,\n\t\tserialize_form: acf.serialize,\n\t\tesc_html: acf.strEscape,\n\t\tstr_sanitize: acf.strSanitize,\n\t} );\n\n\t_acf._e = function ( k1, k2 ) {\n\t\t// defaults\n\t\tk1 = k1 || '';\n\t\tk2 = k2 || '';\n\n\t\t// compability\n\t\tvar compatKey = k2 ? k1 + '.' + k2 : k1;\n\t\tvar compats = {\n\t\t\t'image.select': 'Select Image',\n\t\t\t'image.edit': 'Edit Image',\n\t\t\t'image.update': 'Update Image',\n\t\t};\n\t\tif ( compats[ compatKey ] ) {\n\t\t\treturn acf.__( compats[ compatKey ] );\n\t\t}\n\n\t\t// try k1\n\t\tvar string = this.l10n[ k1 ] || '';\n\n\t\t// try k2\n\t\tif ( k2 ) {\n\t\t\tstring = string[ k2 ] || '';\n\t\t}\n\n\t\t// return\n\t\treturn string;\n\t};\n\n\t_acf.get_selector = function ( s ) {\n\t\t// vars\n\t\tvar selector = '.acf-field';\n\n\t\t// bail early if no search\n\t\tif ( ! s ) {\n\t\t\treturn selector;\n\t\t}\n\n\t\t// compatibility with object\n\t\tif ( $.isPlainObject( s ) ) {\n\t\t\tif ( $.isEmptyObject( s ) ) {\n\t\t\t\treturn selector;\n\t\t\t} else {\n\t\t\t\tfor ( var k in s ) {\n\t\t\t\t\ts = s[ k ];\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// append\n\t\tselector += '-' + s;\n\n\t\t// replace underscores (split/join replaces all and is faster than regex!)\n\t\tselector = acf.strReplace( '_', '-', selector );\n\n\t\t// remove potential double up\n\t\tselector = acf.strReplace( 'field-field-', 'field-', selector );\n\n\t\t// return\n\t\treturn selector;\n\t};\n\n\t_acf.get_fields = function ( s, $el, all ) {\n\t\t// args\n\t\tvar args = {\n\t\t\tis: s || '',\n\t\t\tparent: $el || false,\n\t\t\tsuppressFilters: all || false,\n\t\t};\n\n\t\t// change 'field_123' to '.acf-field-123'\n\t\tif ( args.is ) {\n\t\t\targs.is = this.get_selector( args.is );\n\t\t}\n\n\t\t// return\n\t\treturn acf.findFields( args );\n\t};\n\n\t_acf.get_field = function ( s, $el ) {\n\t\t// get fields\n\t\tvar $fields = this.get_fields.apply( this, arguments );\n\n\t\t// return\n\t\tif ( $fields.length ) {\n\t\t\treturn $fields.first();\n\t\t} else {\n\t\t\treturn false;\n\t\t}\n\t};\n\n\t_acf.get_closest_field = function ( $el, s ) {\n\t\treturn $el.closest( this.get_selector( s ) );\n\t};\n\n\t_acf.get_field_wrap = function ( $el ) {\n\t\treturn $el.closest( this.get_selector() );\n\t};\n\n\t_acf.get_field_key = function ( $field ) {\n\t\treturn $field.data( 'key' );\n\t};\n\n\t_acf.get_field_type = function ( $field ) {\n\t\treturn $field.data( 'type' );\n\t};\n\n\t_acf.get_data = function ( $el, defaults ) {\n\t\treturn acf.parseArgs( $el.data(), defaults );\n\t};\n\n\t_acf.maybe_get = function ( obj, key, value ) {\n\t\t// default\n\t\tif ( value === undefined ) {\n\t\t\tvalue = null;\n\t\t}\n\n\t\t// get keys\n\t\tkeys = String( key ).split( '.' );\n\n\t\t// acf.isget\n\t\tfor ( var i = 0; i < keys.length; i++ ) {\n\t\t\tif ( ! obj.hasOwnProperty( keys[ i ] ) ) {\n\t\t\t\treturn value;\n\t\t\t}\n\t\t\tobj = obj[ keys[ i ] ];\n\t\t}\n\t\treturn obj;\n\t};\n\n\t/**\n\t * hooks\n\t *\n\t * Modify add_action and add_filter functions to add compatibility with changed $field parameter\n\t * Using the acf.add_action() or acf.add_filter() functions will interpret new field parameters as jQuery $field\n\t *\n\t * @date\t12/5/18\n\t * @since\t5.6.9\n\t *\n\t * @param\tvoid\n\t * @return\tvoid\n\t */\n\n\tvar compatibleArgument = function ( arg ) {\n\t\treturn arg instanceof acf.Field ? arg.$el : arg;\n\t};\n\n\tvar compatibleArguments = function ( args ) {\n\t\treturn acf.arrayArgs( args ).map( compatibleArgument );\n\t};\n\n\tvar compatibleCallback = function ( origCallback ) {\n\t\treturn function () {\n\t\t\t// convert to compatible arguments\n\t\t\tif ( arguments.length ) {\n\t\t\t\tvar args = compatibleArguments( arguments );\n\n\t\t\t\t// add default argument for 'ready', 'append' and 'load' events\n\t\t\t} else {\n\t\t\t\tvar args = [ $( document ) ];\n\t\t\t}\n\n\t\t\t// return\n\t\t\treturn origCallback.apply( this, args );\n\t\t};\n\t};\n\n\t_acf.add_action = function ( action, callback, priority, context ) {\n\t\t// handle multiple actions\n\t\tvar actions = action.split( ' ' );\n\t\tvar length = actions.length;\n\t\tif ( length > 1 ) {\n\t\t\tfor ( var i = 0; i < length; i++ ) {\n\t\t\t\taction = actions[ i ];\n\t\t\t\t_acf.add_action.apply( this, arguments );\n\t\t\t}\n\t\t\treturn this;\n\t\t}\n\n\t\t// single\n\t\tvar callback = compatibleCallback( callback );\n\t\treturn acf.addAction.apply( this, arguments );\n\t};\n\n\t_acf.add_filter = function ( action, callback, priority, context ) {\n\t\tvar callback = compatibleCallback( callback );\n\t\treturn acf.addFilter.apply( this, arguments );\n\t};\n\n\t/*\n\t * acf.model\n\t *\n\t * This model acts as a scafold for action.event driven modules\n\t *\n\t * @type\tobject\n\t * @date\t8/09/2014\n\t * @since\t5.0.0\n\t *\n\t * @param\t(object)\n\t * @return\t(object)\n\t */\n\n\t_acf.model = {\n\t\tactions: {},\n\t\tfilters: {},\n\t\tevents: {},\n\t\textend: function ( args ) {\n\t\t\t// extend\n\t\t\tvar model = $.extend( {}, this, args );\n\n\t\t\t// setup actions\n\t\t\t$.each( model.actions, function ( name, callback ) {\n\t\t\t\tmodel._add_action( name, callback );\n\t\t\t} );\n\n\t\t\t// setup filters\n\t\t\t$.each( model.filters, function ( name, callback ) {\n\t\t\t\tmodel._add_filter( name, callback );\n\t\t\t} );\n\n\t\t\t// setup events\n\t\t\t$.each( model.events, function ( name, callback ) {\n\t\t\t\tmodel._add_event( name, callback );\n\t\t\t} );\n\n\t\t\t// return\n\t\t\treturn model;\n\t\t},\n\n\t\t_add_action: function ( name, callback ) {\n\t\t\t// split\n\t\t\tvar model = this,\n\t\t\t\tdata = name.split( ' ' );\n\n\t\t\t// add missing priority\n\t\t\tvar name = data[ 0 ] || '',\n\t\t\t\tpriority = data[ 1 ] || 10;\n\n\t\t\t// add action\n\t\t\tacf.add_action( name, model[ callback ], priority, model );\n\t\t},\n\n\t\t_add_filter: function ( name, callback ) {\n\t\t\t// split\n\t\t\tvar model = this,\n\t\t\t\tdata = name.split( ' ' );\n\n\t\t\t// add missing priority\n\t\t\tvar name = data[ 0 ] || '',\n\t\t\t\tpriority = data[ 1 ] || 10;\n\n\t\t\t// add action\n\t\t\tacf.add_filter( name, model[ callback ], priority, model );\n\t\t},\n\n\t\t_add_event: function ( name, callback ) {\n\t\t\t// vars\n\t\t\tvar model = this,\n\t\t\t\ti = name.indexOf( ' ' ),\n\t\t\t\tevent = i > 0 ? name.substr( 0, i ) : name,\n\t\t\t\tselector = i > 0 ? name.substr( i + 1 ) : '';\n\n\t\t\t// event\n\t\t\tvar fn = function ( e ) {\n\t\t\t\t// append $el to event object\n\t\t\t\te.$el = $( this );\n\n\t\t\t\t// append $field to event object (used in field group)\n\t\t\t\tif ( acf.field_group ) {\n\t\t\t\t\te.$field = e.$el.closest( '.acf-field-object' );\n\t\t\t\t}\n\n\t\t\t\t// event\n\t\t\t\tif ( typeof model.event === 'function' ) {\n\t\t\t\t\te = model.event( e );\n\t\t\t\t}\n\n\t\t\t\t// callback\n\t\t\t\tmodel[ callback ].apply( model, arguments );\n\t\t\t};\n\n\t\t\t// add event\n\t\t\tif ( selector ) {\n\t\t\t\t$( document ).on( event, selector, fn );\n\t\t\t} else {\n\t\t\t\t$( document ).on( event, fn );\n\t\t\t}\n\t\t},\n\n\t\tget: function ( name, value ) {\n\t\t\t// defaults\n\t\t\tvalue = value || null;\n\n\t\t\t// get\n\t\t\tif ( typeof this[ name ] !== 'undefined' ) {\n\t\t\t\tvalue = this[ name ];\n\t\t\t}\n\n\t\t\t// return\n\t\t\treturn value;\n\t\t},\n\n\t\tset: function ( name, value ) {\n\t\t\t// set\n\t\t\tthis[ name ] = value;\n\n\t\t\t// function for 3rd party\n\t\t\tif ( typeof this[ '_set_' + name ] === 'function' ) {\n\t\t\t\tthis[ '_set_' + name ].apply( this );\n\t\t\t}\n\n\t\t\t// return for chaining\n\t\t\treturn this;\n\t\t},\n\t};\n\n\t/*\n\t * field\n\t *\n\t * This model sets up many of the field's interactions\n\t *\n\t * @type\tfunction\n\t * @date\t21/02/2014\n\t * @since\t3.5.1\n\t *\n\t * @param\tn/a\n\t * @return\tn/a\n\t */\n\n\t_acf.field = acf.model.extend( {\n\t\ttype: '',\n\t\to: {},\n\t\t$field: null,\n\t\t_add_action: function ( name, callback ) {\n\t\t\t// vars\n\t\t\tvar model = this;\n\n\t\t\t// update name\n\t\t\tname = name + '_field/type=' + model.type;\n\n\t\t\t// add action\n\t\t\tacf.add_action( name, function ( $field ) {\n\t\t\t\t// focus\n\t\t\t\tmodel.set( '$field', $field );\n\n\t\t\t\t// callback\n\t\t\t\tmodel[ callback ].apply( model, arguments );\n\t\t\t} );\n\t\t},\n\n\t\t_add_filter: function ( name, callback ) {\n\t\t\t// vars\n\t\t\tvar model = this;\n\n\t\t\t// update name\n\t\t\tname = name + '_field/type=' + model.type;\n\n\t\t\t// add action\n\t\t\tacf.add_filter( name, function ( $field ) {\n\t\t\t\t// focus\n\t\t\t\tmodel.set( '$field', $field );\n\n\t\t\t\t// callback\n\t\t\t\tmodel[ callback ].apply( model, arguments );\n\t\t\t} );\n\t\t},\n\n\t\t_add_event: function ( name, callback ) {\n\t\t\t// vars\n\t\t\tvar model = this,\n\t\t\t\tevent = name.substr( 0, name.indexOf( ' ' ) ),\n\t\t\t\tselector = name.substr( name.indexOf( ' ' ) + 1 ),\n\t\t\t\tcontext = acf.get_selector( model.type );\n\n\t\t\t// add event\n\t\t\t$( document ).on( event, context + ' ' + selector, function ( e ) {\n\t\t\t\t// vars\n\t\t\t\tvar $el = $( this );\n\t\t\t\tvar $field = acf.get_closest_field( $el, model.type );\n\n\t\t\t\t// bail early if no field\n\t\t\t\tif ( ! $field.length ) return;\n\n\t\t\t\t// focus\n\t\t\t\tif ( ! $field.is( model.$field ) ) {\n\t\t\t\t\tmodel.set( '$field', $field );\n\t\t\t\t}\n\n\t\t\t\t// append to event\n\t\t\t\te.$el = $el;\n\t\t\t\te.$field = $field;\n\n\t\t\t\t// callback\n\t\t\t\tmodel[ callback ].apply( model, [ e ] );\n\t\t\t} );\n\t\t},\n\n\t\t_set_$field: function () {\n\t\t\t// callback\n\t\t\tif ( typeof this.focus === 'function' ) {\n\t\t\t\tthis.focus();\n\t\t\t}\n\t\t},\n\n\t\t// depreciated\n\t\tdoFocus: function ( $field ) {\n\t\t\treturn this.set( '$field', $field );\n\t\t},\n\t} );\n\n\t/**\n\t * validation\n\t *\n\t * description\n\t *\n\t * @date\t15/2/18\n\t * @since\t5.6.9\n\t *\n\t * @param\ttype $var Description. Default.\n\t * @return\ttype Description.\n\t */\n\n\tvar _validation = acf.newCompatibility( acf.validation, {\n\t\tremove_error: function ( $field ) {\n\t\t\tacf.getField( $field ).removeError();\n\t\t},\n\t\tadd_warning: function ( $field, message ) {\n\t\t\tacf.getField( $field ).showNotice( {\n\t\t\t\ttext: message,\n\t\t\t\ttype: 'warning',\n\t\t\t\ttimeout: 1000,\n\t\t\t} );\n\t\t},\n\t\tfetch: acf.validateForm,\n\t\tenableSubmit: acf.enableSubmit,\n\t\tdisableSubmit: acf.disableSubmit,\n\t\tshowSpinner: acf.showSpinner,\n\t\thideSpinner: acf.hideSpinner,\n\t\tunlockForm: acf.unlockForm,\n\t\tlockForm: acf.lockForm,\n\t} );\n\n\t/**\n\t * tooltip\n\t *\n\t * description\n\t *\n\t * @date\t15/2/18\n\t * @since\t5.6.9\n\t *\n\t * @param\ttype $var Description. Default.\n\t * @return\ttype Description.\n\t */\n\n\t_acf.tooltip = {\n\t\ttooltip: function ( text, $el ) {\n\t\t\tvar tooltip = acf.newTooltip( {\n\t\t\t\ttext: text,\n\t\t\t\ttarget: $el,\n\t\t\t} );\n\n\t\t\t// return\n\t\t\treturn tooltip.$el;\n\t\t},\n\n\t\ttemp: function ( text, $el ) {\n\t\t\tvar tooltip = acf.newTooltip( {\n\t\t\t\ttext: text,\n\t\t\t\ttarget: $el,\n\t\t\t\ttimeout: 250,\n\t\t\t} );\n\t\t},\n\n\t\tconfirm: function ( $el, callback, text, button_y, button_n ) {\n\t\t\tvar tooltip = acf.newTooltip( {\n\t\t\t\tconfirm: true,\n\t\t\t\ttext: text,\n\t\t\t\ttarget: $el,\n\t\t\t\tconfirm: function () {\n\t\t\t\t\tcallback( true );\n\t\t\t\t},\n\t\t\t\tcancel: function () {\n\t\t\t\t\tcallback( false );\n\t\t\t\t},\n\t\t\t} );\n\t\t},\n\n\t\tconfirm_remove: function ( $el, callback ) {\n\t\t\tvar tooltip = acf.newTooltip( {\n\t\t\t\tconfirmRemove: true,\n\t\t\t\ttarget: $el,\n\t\t\t\tconfirm: function () {\n\t\t\t\t\tcallback( true );\n\t\t\t\t},\n\t\t\t\tcancel: function () {\n\t\t\t\t\tcallback( false );\n\t\t\t\t},\n\t\t\t} );\n\t\t},\n\t};\n\n\t/**\n\t * tooltip\n\t *\n\t * description\n\t *\n\t * @date\t15/2/18\n\t * @since\t5.6.9\n\t *\n\t * @param\ttype $var Description. Default.\n\t * @return\ttype Description.\n\t */\n\n\t_acf.media = new acf.Model( {\n\t\tactiveFrame: false,\n\t\tactions: {\n\t\t\tnew_media_popup: 'onNewMediaPopup',\n\t\t},\n\n\t\tframe: function () {\n\t\t\treturn this.activeFrame;\n\t\t},\n\n\t\tonNewMediaPopup: function ( popup ) {\n\t\t\tthis.activeFrame = popup.frame;\n\t\t},\n\n\t\tpopup: function ( props ) {\n\t\t\t// update props\n\t\t\tif ( props.mime_types ) {\n\t\t\t\tprops.allowedTypes = props.mime_types;\n\t\t\t}\n\t\t\tif ( props.id ) {\n\t\t\t\tprops.attachment = props.id;\n\t\t\t}\n\n\t\t\t// new\n\t\t\tvar popup = acf.newMediaPopup( props );\n\n\t\t\t// append\n\t\t\t/*\n\t\t\tif( props.selected ) {\n\t\t\t\tpopup.selected = props.selected;\n\t\t\t}\n*/\n\n\t\t\t// return\n\t\t\treturn popup.frame;\n\t\t},\n\t} );\n\n\t/**\n\t * Select2\n\t *\n\t * description\n\t *\n\t * @date\t11/6/18\n\t * @since\t5.6.9\n\t *\n\t * @param\ttype $var Description. Default.\n\t * @return\ttype Description.\n\t */\n\n\t_acf.select2 = {\n\t\tinit: function ( $select, args, $field ) {\n\t\t\t// compatible args\n\t\t\tif ( args.allow_null ) {\n\t\t\t\targs.allowNull = args.allow_null;\n\t\t\t}\n\t\t\tif ( args.ajax_action ) {\n\t\t\t\targs.ajaxAction = args.ajax_action;\n\t\t\t}\n\t\t\tif ( $field ) {\n\t\t\t\targs.field = acf.getField( $field );\n\t\t\t}\n\n\t\t\t// return\n\t\t\treturn acf.newSelect2( $select, args );\n\t\t},\n\n\t\tdestroy: function ( $select ) {\n\t\t\treturn acf.getInstance( $select ).destroy();\n\t\t},\n\t};\n\n\t/**\n\t * postbox\n\t *\n\t * description\n\t *\n\t * @date\t11/6/18\n\t * @since\t5.6.9\n\t *\n\t * @param\ttype $var Description. Default.\n\t * @return\ttype Description.\n\t */\n\n\t_acf.postbox = {\n\t\trender: function ( args ) {\n\t\t\t// compatible args\n\t\t\tif ( args.edit_url ) {\n\t\t\t\targs.editLink = args.edit_url;\n\t\t\t}\n\t\t\tif ( args.edit_title ) {\n\t\t\t\targs.editTitle = args.edit_title;\n\t\t\t}\n\n\t\t\t// return\n\t\t\treturn acf.newPostbox( args );\n\t\t},\n\t};\n\n\t/**\n\t * acf.screen\n\t *\n\t * description\n\t *\n\t * @date\t11/6/18\n\t * @since\t5.6.9\n\t *\n\t * @param\ttype $var Description. Default.\n\t * @return\ttype Description.\n\t */\n\n\tacf.newCompatibility( acf.screen, {\n\t\tupdate: function () {\n\t\t\treturn this.set.apply( this, arguments );\n\t\t},\n\t\tfetch: acf.screen.check,\n\t} );\n\t_acf.ajax = acf.screen;\n} )( jQuery );\n","( function ( $, undefined ) {\n\tvar __ = acf.__;\n\n\tvar parseString = function ( val ) {\n\t\treturn val ? '' + val : '';\n\t};\n\n\tvar isEqualTo = function ( v1, v2 ) {\n\t\treturn (\n\t\t\tparseString( v1 ).toLowerCase() === parseString( v2 ).toLowerCase()\n\t\t);\n\t};\n\n\t/**\n\t * Checks if rule and selection are equal numbers.\n\t *\n\t * @param {string} v1 - The rule value to expect.\n\t * @param {number|string|Array} v2 - The selected value to compare.\n\t * @returns {boolean} Returns true if the values are equal numbers, otherwise returns false.\n\t */\n\tvar isEqualToNumber = function ( v1, v2 ) {\n\t\tif ( v2 instanceof Array ) {\n\t\t\treturn v2.length === 1 && isEqualToNumber( v1, v2[ 0 ] );\n\t\t}\n\t\treturn parseFloat( v1 ) === parseFloat( v2 );\n\t};\n\n\tvar isGreaterThan = function ( v1, v2 ) {\n\t\treturn parseFloat( v1 ) > parseFloat( v2 );\n\t};\n\n\tvar isLessThan = function ( v1, v2 ) {\n\t\treturn parseFloat( v1 ) < parseFloat( v2 );\n\t};\n\n\tvar inArray = function ( v1, array ) {\n\t\t// cast all values as string\n\t\tarray = array.map( function ( v2 ) {\n\t\t\treturn parseString( v2 );\n\t\t} );\n\n\t\treturn array.indexOf( v1 ) > -1;\n\t};\n\n\tvar containsString = function ( haystack, needle ) {\n\t\treturn parseString( haystack ).indexOf( parseString( needle ) ) > -1;\n\t};\n\n\tvar matchesPattern = function ( v1, pattern ) {\n\t\tvar regexp = new RegExp( parseString( pattern ), 'gi' );\n\t\treturn parseString( v1 ).match( regexp );\n\t};\n\n\tconst conditionalSelect2 = function ( field, type ) {\n\t\tconst $select = $( '' );\n\t\tlet queryAction = `acf/fields/${ type }/query`;\n\n\t\tif ( type === 'user' ) {\n\t\t\tqueryAction = 'acf/ajax/query_users';\n\t\t}\n\n\t\tconst ajaxData = {\n\t\t\taction: queryAction,\n\t\t\tfield_key: field.data.key,\n\t\t\ts: '',\n\t\t\ttype: field.data.key,\n\t\t};\n\n\t\tconst typeAttr = acf.escAttr( type );\n\n\t\tconst template = function ( selection ) {\n\t\t\treturn (\n\t\t\t\t`` +\n\t\t\t\tacf.escHtml( selection.text ) +\n\t\t\t\t''\n\t\t\t);\n\t\t};\n\n\t\tconst resultsTemplate = function ( results ) {\n\t\t\tlet classes = results.text.startsWith( '- ' )\n\t\t\t\t? `acf-${ typeAttr }-select-name acf-${ typeAttr }-select-sub-item`\n\t\t\t\t: `acf-${ typeAttr }-select-name`;\n\t\t\treturn (\n\t\t\t\t'' +\n\t\t\t\tacf.escHtml( results.text ) +\n\t\t\t\t'' +\n\t\t\t\t`` +\n\t\t\t\t( results.id ? results.id : '' ) +\n\t\t\t\t''\n\t\t\t);\n\t\t};\n\n\t\tconst select2Props = {\n\t\t\tfield: false,\n\t\t\tajax: true,\n\t\t\tajaxAction: queryAction,\n\t\t\tajaxData: function ( data ) {\n\t\t\t\tajaxData.paged = data.paged;\n\t\t\t\tajaxData.s = data.s;\n\t\t\t\tajaxData.include = $.isNumeric( data.s )\n\t\t\t\t\t? Number( data.s )\n\t\t\t\t\t: '';\n\t\t\t\treturn acf.prepareForAjax( ajaxData );\n\t\t\t},\n\t\t\tescapeMarkup: function ( markup ) {\n\t\t\t\treturn acf.escHtml( markup );\n\t\t\t},\n\t\t\ttemplateSelection: template,\n\t\t\ttemplateResult: resultsTemplate,\n\t\t};\n\n\t\t$select.data( 'acfSelect2Props', select2Props );\n\t\treturn $select;\n\t};\n\t/**\n\t * Adds condition for Page Link having Page Link equal to.\n\t *\n\t * @since 6.3\n\t */\n\tvar HasPageLink = acf.Condition.extend( {\n\t\ttype: 'hasPageLink',\n\t\toperator: '==',\n\t\tlabel: __( 'Page is equal to' ),\n\t\tfieldTypes: [ 'page_link' ],\n\t\tmatch: function ( rule, field ) {\n\t\t\treturn isEqualTo( rule.value, field.val() );\n\t\t},\n\t\tchoices: function ( fieldObject ) {\n\t\t\treturn conditionalSelect2( fieldObject, 'page_link' );\n\t\t},\n\t} );\n\n\tacf.registerConditionType( HasPageLink );\n\n\t/**\n\t * Adds condition for Page Link not equal to.\n\t *\n\t * @since 6.3\n\t */\n\tvar HasPageLinkNotEqual = acf.Condition.extend( {\n\t\ttype: 'hasPageLinkNotEqual',\n\t\toperator: '!==',\n\t\tlabel: __( 'Page is not equal to' ),\n\t\tfieldTypes: [ 'page_link' ],\n\t\tmatch: function ( rule, field ) {\n\t\t\treturn ! isEqualTo( rule.value, field.val() );\n\t\t},\n\t\tchoices: function ( fieldObject ) {\n\t\t\treturn conditionalSelect2( fieldObject, 'page_link' );\n\t\t},\n\t} );\n\n\tacf.registerConditionType( HasPageLinkNotEqual );\n\n\t/**\n\t * Adds condition for Page Link containing a specific Page Link.\n\t *\n\t * @since 6.3\n\t */\n\tvar containsPageLink = acf.Condition.extend( {\n\t\ttype: 'containsPageLink',\n\t\toperator: '==contains',\n\t\tlabel: __( 'Pages contain' ),\n\t\tfieldTypes: [ 'page_link' ],\n\t\tmatch: function ( rule, field ) {\n\t\t\tconst val = field.val();\n\t\t\tconst ruleVal = rule.value;\n\n\t\t\tlet match = false;\n\t\t\tif ( val instanceof Array ) {\n\t\t\t\tmatch = val.includes( ruleVal );\n\t\t\t} else {\n\t\t\t\tmatch = val === ruleVal;\n\t\t\t}\n\t\t\treturn match;\n\t\t},\n\t\tchoices: function ( fieldObject ) {\n\t\t\treturn conditionalSelect2( fieldObject, 'page_link' );\n\t\t},\n\t} );\n\n\tacf.registerConditionType( containsPageLink );\n\n\t/**\n\t * Adds condition for Page Link not containing a specific Page Link.\n\t *\n\t * @since 6.3\n\t */\n\tvar containsNotPageLink = acf.Condition.extend( {\n\t\ttype: 'containsNotPageLink',\n\t\toperator: '!=contains',\n\t\tlabel: __( 'Pages do not contain' ),\n\t\tfieldTypes: [ 'page_link' ],\n\t\tmatch: function ( rule, field ) {\n\t\t\tconst val = field.val();\n\t\t\tconst ruleVal = rule.value;\n\n\t\t\tlet match = true;\n\t\t\tif ( val instanceof Array ) {\n\t\t\t\tmatch = ! val.includes( ruleVal );\n\t\t\t} else {\n\t\t\t\tmatch = val !== ruleVal;\n\t\t\t}\n\t\t\treturn match;\n\t\t},\n\t\tchoices: function ( fieldObject ) {\n\t\t\treturn conditionalSelect2( fieldObject, 'page_link' );\n\t\t},\n\t} );\n\n\tacf.registerConditionType( containsNotPageLink );\n\n\t/**\n\t * Adds condition for when any page link is selected.\n\t *\n\t * @since 6.3\n\t */\n\tvar HasAnyPageLink = acf.Condition.extend( {\n\t\ttype: 'hasAnyPageLink',\n\t\toperator: '!=empty',\n\t\tlabel: __( 'Has any page selected' ),\n\t\tfieldTypes: [ 'page_link' ],\n\t\tmatch: function ( rule, field ) {\n\t\t\tlet val = field.val();\n\t\t\tif ( val instanceof Array ) {\n\t\t\t\tval = val.length;\n\t\t\t}\n\t\t\treturn !! val;\n\t\t},\n\t\tchoices: function () {\n\t\t\treturn '';\n\t\t},\n\t} );\n\n\tacf.registerConditionType( HasAnyPageLink );\n\n\t/**\n\t * Adds condition for when no page link is selected.\n\t *\n\t * @since 6.3\n\t */\n\tvar HasNoPageLink = acf.Condition.extend( {\n\t\ttype: 'hasNoPageLink',\n\t\toperator: '==empty',\n\t\tlabel: __( 'Has no page selected' ),\n\t\tfieldTypes: [ 'page_link' ],\n\t\tmatch: function ( rule, field ) {\n\t\t\tlet val = field.val();\n\t\t\tif ( val instanceof Array ) {\n\t\t\t\tval = val.length;\n\t\t\t}\n\t\t\treturn ! val;\n\t\t},\n\t\tchoices: function () {\n\t\t\treturn '';\n\t\t},\n\t} );\n\n\tacf.registerConditionType( HasNoPageLink );\n\n\t/**\n\t * Adds condition for user field having user equal to.\n\t *\n\t * @since 6.3\n\t */\n\tvar HasUser = acf.Condition.extend( {\n\t\ttype: 'hasUser',\n\t\toperator: '==',\n\t\tlabel: __( 'User is equal to' ),\n\t\tfieldTypes: [ 'user' ],\n\t\tmatch: function ( rule, field ) {\n\t\t\treturn isEqualToNumber( rule.value, field.val() );\n\t\t},\n\t\tchoices: function ( fieldObject ) {\n\t\t\treturn conditionalSelect2( fieldObject, 'user' );\n\t\t},\n\t} );\n\n\tacf.registerConditionType( HasUser );\n\n\t/**\n\t * Adds condition for user field having user not equal to.\n\t *\n\t * @since 6.3\n\t */\n\tvar HasUserNotEqual = acf.Condition.extend( {\n\t\ttype: 'hasUserNotEqual',\n\t\toperator: '!==',\n\t\tlabel: __( 'User is not equal to' ),\n\t\tfieldTypes: [ 'user' ],\n\t\tmatch: function ( rule, field ) {\n\t\t\treturn ! isEqualToNumber( rule.value, field.val() );\n\t\t},\n\t\tchoices: function ( fieldObject ) {\n\t\t\treturn conditionalSelect2( fieldObject, 'user' );\n\t\t},\n\t} );\n\n\tacf.registerConditionType( HasUserNotEqual );\n\n\t/**\n\t * Adds condition for user field containing a specific user.\n\t *\n\t * @since 6.3\n\t */\n\tvar containsUser = acf.Condition.extend( {\n\t\ttype: 'containsUser',\n\t\toperator: '==contains',\n\t\tlabel: __( 'Users contain' ),\n\t\tfieldTypes: [ 'user' ],\n\t\tmatch: function ( rule, field ) {\n\t\t\tconst val = field.val();\n\t\t\tconst ruleVal = rule.value;\n\n\t\t\tlet match = false;\n\t\t\tif ( val instanceof Array ) {\n\t\t\t\tmatch = val.includes( ruleVal );\n\t\t\t} else {\n\t\t\t\tmatch = val === ruleVal;\n\t\t\t}\n\t\t\treturn match;\n\t\t},\n\t\tchoices: function ( fieldObject ) {\n\t\t\treturn conditionalSelect2( fieldObject, 'user' );\n\t\t},\n\t} );\n\n\tacf.registerConditionType( containsUser );\n\n\t/**\n\t * Adds condition for user field not containing a specific user.\n\t *\n\t * @since 6.3\n\t */\n\tvar containsNotUser = acf.Condition.extend( {\n\t\ttype: 'containsNotUser',\n\t\toperator: '!=contains',\n\t\tlabel: __( 'Users do not contain' ),\n\t\tfieldTypes: [ 'user' ],\n\t\tmatch: function ( rule, field ) {\n\t\t\tconst val = field.val();\n\t\t\tconst ruleVal = rule.value;\n\n\t\t\tlet match = true;\n\t\t\tif ( val instanceof Array ) {\n\t\t\t\tmatch = ! val.includes( ruleVal );\n\t\t\t} else {\n\t\t\t\tmatch = ! val === ruleVal;\n\t\t\t}\n\t\t},\n\t\tchoices: function ( fieldObject ) {\n\t\t\treturn conditionalSelect2( fieldObject, 'user' );\n\t\t},\n\t} );\n\n\tacf.registerConditionType( containsNotUser );\n\n\t/**\n\t * Adds condition for when any user is selected.\n\t *\n\t * @since 6.3\n\t */\n\tvar HasAnyUser = acf.Condition.extend( {\n\t\ttype: 'hasAnyUser',\n\t\toperator: '!=empty',\n\t\tlabel: __( 'Has any user selected' ),\n\t\tfieldTypes: [ 'user' ],\n\t\tmatch: function ( rule, field ) {\n\t\t\tlet val = field.val();\n\t\t\tif ( val instanceof Array ) {\n\t\t\t\tval = val.length;\n\t\t\t}\n\t\t\treturn !! val;\n\t\t},\n\t\tchoices: function () {\n\t\t\treturn '';\n\t\t},\n\t} );\n\n\tacf.registerConditionType( HasAnyUser );\n\n\t/**\n\t * Adds condition for when no user is selected.\n\t *\n\t * @since 6.3\n\t */\n\tvar HasNoUser = acf.Condition.extend( {\n\t\ttype: 'hasNoUser',\n\t\toperator: '==empty',\n\t\tlabel: __( 'Has no user selected' ),\n\t\tfieldTypes: [ 'user' ],\n\t\tmatch: function ( rule, field ) {\n\t\t\tlet val = field.val();\n\t\t\tif ( val instanceof Array ) {\n\t\t\t\tval = val.length;\n\t\t\t}\n\t\t\treturn ! val;\n\t\t},\n\t\tchoices: function () {\n\t\t\treturn '';\n\t\t},\n\t} );\n\n\tacf.registerConditionType( HasNoUser );\n\n\t/**\n\t * Adds condition for Relationship having Relationship equal to.\n\t *\n\t * @since\t6.3\n\t */\n\tvar HasRelationship = acf.Condition.extend( {\n\t\ttype: 'hasRelationship',\n\t\toperator: '==',\n\t\tlabel: __( 'Relationship is equal to' ),\n\t\tfieldTypes: [ 'relationship' ],\n\t\tmatch: function ( rule, field ) {\n\t\t\treturn isEqualToNumber( rule.value, field.val() );\n\t\t},\n\t\tchoices: function ( fieldObject ) {\n\t\t\treturn conditionalSelect2( fieldObject, 'relationship' );\n\t\t},\n\t} );\n\n\tacf.registerConditionType( HasRelationship );\n\n\t/**\n\t * Adds condition for selection having Relationship not equal to.\n\t *\n\t * @since\t6.3\n\t */\n\tvar HasRelationshipNotEqual = acf.Condition.extend( {\n\t\ttype: 'hasRelationshipNotEqual',\n\t\toperator: '!==',\n\t\tlabel: __( 'Relationship is not equal to' ),\n\t\tfieldTypes: [ 'relationship' ],\n\t\tmatch: function ( rule, field ) {\n\t\t\treturn ! isEqualToNumber( rule.value, field.val() );\n\t\t},\n\t\tchoices: function ( fieldObject ) {\n\t\t\treturn conditionalSelect2( fieldObject, 'relationship' );\n\t\t},\n\t} );\n\n\tacf.registerConditionType( HasRelationshipNotEqual );\n\n\t/**\n\t * Adds condition for Relationship containing a specific Relationship.\n\t *\n\t * @since\t6.3\n\t */\n\tvar containsRelationship = acf.Condition.extend( {\n\t\ttype: 'containsRelationship',\n\t\toperator: '==contains',\n\t\tlabel: __( 'Relationships contain' ),\n\t\tfieldTypes: [ 'relationship' ],\n\t\tmatch: function ( rule, field ) {\n\t\t\tconst val = field.val();\n\t\t\t// Relationships are stored as strings, use float to compare to field's rule value.\n\t\t\tconst ruleVal = parseInt( rule.value );\n\t\t\tlet match = false;\n\t\t\tif ( val instanceof Array ) {\n\t\t\t\tmatch = val.includes( ruleVal );\n\t\t\t}\n\t\t\treturn match;\n\t\t},\n\t\tchoices: function ( fieldObject ) {\n\t\t\treturn conditionalSelect2( fieldObject, 'relationship' );\n\t\t},\n\t} );\n\n\tacf.registerConditionType( containsRelationship );\n\n\t/**\n\t * Adds condition for Relationship not containing a specific Relationship.\n\t *\n\t * @since\t6.3\n\t */\n\tvar containsNotRelationship = acf.Condition.extend( {\n\t\ttype: 'containsNotRelationship',\n\t\toperator: '!=contains',\n\t\tlabel: __( 'Relationships do not contain' ),\n\t\tfieldTypes: [ 'relationship' ],\n\t\tmatch: function ( rule, field ) {\n\t\t\tconst val = field.val();\n\t\t\t// Relationships are stored as strings, use float to compare to field's rule value.\n\t\t\tconst ruleVal = parseInt( rule.value );\n\n\t\t\tlet match = true;\n\t\t\tif ( val instanceof Array ) {\n\t\t\t\tmatch = ! val.includes( ruleVal );\n\t\t\t}\n\t\t\treturn match;\n\t\t},\n\t\tchoices: function ( fieldObject ) {\n\t\t\treturn conditionalSelect2( fieldObject, 'relationship' );\n\t\t},\n\t} );\n\n\tacf.registerConditionType( containsNotRelationship );\n\n\t/**\n\t * Adds condition for when any relation is selected.\n\t *\n\t * @since 6.3\n\t */\n\tvar HasAnyRelation = acf.Condition.extend( {\n\t\ttype: 'hasAnyRelation',\n\t\toperator: '!=empty',\n\t\tlabel: __( 'Has any relationship selected' ),\n\t\tfieldTypes: [ 'relationship' ],\n\t\tmatch: function ( rule, field ) {\n\t\t\tlet val = field.val();\n\t\t\tif ( val instanceof Array ) {\n\t\t\t\tval = val.length;\n\t\t\t}\n\t\t\treturn !! val;\n\t\t},\n\t\tchoices: function () {\n\t\t\treturn '';\n\t\t},\n\t} );\n\n\tacf.registerConditionType( HasAnyRelation );\n\n\t/**\n\t * Adds condition for when no relation is selected.\n\t *\n\t * @since 6.3\n\t */\n\tvar HasNoRelation = acf.Condition.extend( {\n\t\ttype: 'hasNoRelation',\n\t\toperator: '==empty',\n\t\tlabel: __( 'Has no relationship selected' ),\n\t\tfieldTypes: [ 'relationship' ],\n\t\tmatch: function ( rule, field ) {\n\t\t\tlet val = field.val();\n\t\t\tif ( val instanceof Array ) {\n\t\t\t\tval = val.length;\n\t\t\t}\n\t\t\treturn ! val;\n\t\t},\n\t\tchoices: function () {\n\t\t\treturn '';\n\t\t},\n\t} );\n\n\tacf.registerConditionType( HasNoRelation );\n\n\t/**\n\t * Adds condition for having post equal to.\n\t *\n\t * @since 6.3\n\t */\n\tvar HasPostObject = acf.Condition.extend( {\n\t\ttype: 'hasPostObject',\n\t\toperator: '==',\n\t\tlabel: __( 'Post is equal to' ),\n\t\tfieldTypes: [\n\t\t\t'post_object',\n\t\t],\n\t\tmatch: function ( rule, field ) {\n\t\t\treturn isEqualToNumber( rule.value, field.val() );\n\t\t},\n\t\tchoices: function ( fieldObject ) {\n\t\t\treturn conditionalSelect2( fieldObject, 'post_object' );\n\t\t},\n\t});\n\n\tacf.registerConditionType( HasPostObject );\n\n\t/**\n\t * Adds condition for selection having post not equal to.\n\t *\n\t * @since 6.3\n\t */\n\tvar HasPostObjectNotEqual = acf.Condition.extend( {\n\t\ttype: 'hasPostObjectNotEqual',\n\t\toperator: '!==',\n\t\tlabel: __( 'Post is not equal to' ),\n\t\tfieldTypes: [\n\t\t\t'post_object',\n\t\t],\n\t\tmatch: function ( rule, field ) {\n\t\t\treturn ! isEqualToNumber( rule.value, field.val() );\n\t\t},\n\t\tchoices: function ( fieldObject ) {\n\t\t\treturn conditionalSelect2( fieldObject, 'post_object' );\n\t\t},\n\t});\n\n\tacf.registerConditionType( HasPostObjectNotEqual );\n\n\t/**\n\t * Adds condition for Relationship containing a specific Relationship.\n\t *\n\t * @since 6.3\n\t */\n\tvar containsPostObject = acf.Condition.extend( {\n\t\ttype: 'containsPostObject',\n\t\toperator: '==contains',\n\t\tlabel: __( 'Posts contain' ),\n\t\tfieldTypes: [\n\t\t\t'post_object',\n\t\t],\n\t\tmatch: function ( rule, field ) {\n\t\t\tconst val = field.val();\n\t\t\tconst ruleVal = rule.value;\n\n\t\t\tlet match = false;\n\t\t\tif ( val instanceof Array ) {\n\t\t\t\tmatch = val.includes( ruleVal );\n\t\t\t} else {\n\t\t\t\tmatch = val === ruleVal;\n\t\t\t}\n\t\t\treturn match;\n\t\t},\n\t\tchoices: function ( fieldObject ) {\n\t\t\treturn conditionalSelect2( fieldObject, 'post_object' );\n\t\t},\n\t});\n\n\tacf.registerConditionType( containsPostObject );\n\n\t/**\n\t * Adds condition for Relationship not containing a specific Relationship.\n\t *\n\t * @since 6.3\n\t */\n\tvar containsNotPostObject = acf.Condition.extend( {\n\t\ttype: 'containsNotPostObject',\n\t\toperator: '!=contains',\n\t\tlabel: __( 'Posts do not contain' ),\n\t\tfieldTypes: [\n\t\t\t'post_object',\n\t\t],\n\t\tmatch: function ( rule, field ) {\n\t\t\tconst val = field.val();\n\t\t\tconst ruleVal = rule.value;\n\n\t\t\tlet match = true;\n\t\t\tif ( val instanceof Array ) {\n\t\t\t\tmatch = ! val.includes( ruleVal );\t\n\t\t\t} else {\n\t\t\t\tmatch = val !== ruleVal;\n\t\t\t}\n\t\t\treturn match;\n\t\t},\n\t\tchoices: function ( fieldObject ) {\n\t\t\treturn conditionalSelect2( fieldObject, 'post_object' );\n\t\t},\n\t});\n\n\tacf.registerConditionType( containsNotPostObject );\n\n\t/**\n\t * Adds condition for when any post is selected.\n\t *\n\t * @since 6.3\n\t */\n\tvar HasAnyPostObject = acf.Condition.extend( {\n\t\ttype: 'hasAnyPostObject',\n\t\toperator: '!=empty',\n\t\tlabel: __( 'Has any post selected' ),\n\t\tfieldTypes: [\n\t\t\t'post_object',\n\t\t],\n\t\tmatch: function ( rule, field ) {\n\t\t\tlet val = field.val();\n\t\t\tif ( val instanceof Array ) {\n\t\t\t\tval = val.length;\n\t\t\t}\n\t\t\treturn !!val;\n\t\t},\n\t\tchoices: function () {\n\t\t\treturn '';\n\t\t},\n\t});\n\n\tacf.registerConditionType( HasAnyPostObject );\n\n\t/**\n\t * Adds condition for when no post is selected.\n\t *\n\t * @since 6.3\n\t */\n\tvar HasNoPostObject = acf.Condition.extend( {\n\t\ttype: 'hasNoPostObject',\n\t\toperator: '==empty',\n\t\tlabel: __( 'Has no post selected' ),\n\t\tfieldTypes: [\n\t\t\t'post_object',\n\t\t],\n\t\tmatch: function ( rule, field ) {\n\t\t\tlet val = field.val();\n\t\t\tif ( val instanceof Array ) {\n\t\t\t\tval = val.length;\n\t\t\t}\n\t\t\treturn !val;\n\t\t},\n\t\tchoices: function () {\n\t\t\treturn '';\n\t\t},\n\t});\n\n\tacf.registerConditionType( HasNoPostObject );\n\n\t/**\n\t * Adds condition for taxonomy having term equal to.\n\t *\n\t * @since\t6.3\n\t */\n\tvar HasTerm = acf.Condition.extend( {\n\t\ttype: 'hasTerm',\n\t\toperator: '==',\n\t\tlabel: __( 'Term is equal to' ),\n\t\tfieldTypes: [ 'taxonomy' ],\n\t\tmatch: function ( rule, field ) {\n\t\t\treturn isEqualToNumber( rule.value, field.val() );\n\t\t},\n\t\tchoices: function ( fieldObject ) {\n\t\t\treturn conditionalSelect2( fieldObject, 'taxonomy' );\n\t\t},\n\t} );\n\n\tacf.registerConditionType( HasTerm );\n\n\t/**\n\t * Adds condition for taxonomy having term not equal to.\n\t *\n\t * @since\t6.3\n\t */\n\tvar hasTermNotEqual = acf.Condition.extend( {\n\t\ttype: 'hasTermNotEqual',\n\t\toperator: '!==',\n\t\tlabel: __( 'Term is not equal to' ),\n\t\tfieldTypes: [ 'taxonomy' ],\n\t\tmatch: function ( rule, field ) {\n\t\t\treturn ! isEqualToNumber( rule.value, field.val() );\n\t\t},\n\t\tchoices: function ( fieldObject ) {\n\t\t\treturn conditionalSelect2( fieldObject, 'taxonomy' );\n\t\t},\n\t} );\n\n\tacf.registerConditionType( hasTermNotEqual );\n\n\t/**\n\t * Adds condition for taxonomy containing a specific term.\n\t *\n\t * @since\t6.3\n\t */\n\tvar containsTerm = acf.Condition.extend( {\n\t\ttype: 'containsTerm',\n\t\toperator: '==contains',\n\t\tlabel: __( 'Terms contain' ),\n\t\tfieldTypes: [ 'taxonomy' ],\n\t\tmatch: function ( rule, field ) {\n\t\t\tconst val = field.val();\n\t\t\tconst ruleVal = rule.value;\n\t\t\tlet match = false;\n\t\t\tif ( val instanceof Array ) {\n\t\t\t\tmatch = val.includes( ruleVal );\n\t\t\t}\n\t\t\treturn match;\n\t\t},\n\t\tchoices: function ( fieldObject ) {\n\t\t\treturn conditionalSelect2( fieldObject, 'taxonomy' );\n\t\t},\n\t} );\n\n\tacf.registerConditionType( containsTerm );\n\n\t/**\n\t * Adds condition for taxonomy not containing a specific term.\n\t *\n\t * @since\t6.3\n\t */\n\tvar containsNotTerm = acf.Condition.extend( {\n\t\ttype: 'containsNotTerm',\n\t\toperator: '!=contains',\n\t\tlabel: __( 'Terms do not contain' ),\n\t\tfieldTypes: [ 'taxonomy' ],\n\t\tmatch: function ( rule, field ) {\n\t\t\tconst val = field.val();\n\t\t\tconst ruleVal = rule.value;\n\n\t\t\tlet match = true;\n\t\t\tif ( val instanceof Array ) {\n\t\t\t\tmatch = ! val.includes( ruleVal );\n\t\t\t}\n\t\t\treturn match;\n\t\t},\n\t\tchoices: function ( fieldObject ) {\n\t\t\treturn conditionalSelect2( fieldObject, 'taxonomy' );\n\t\t},\n\t} );\n\n\tacf.registerConditionType( containsNotTerm );\n\n\t/**\n\t * Adds condition for when any term is selected.\n\t *\n\t * @since\t6.3\n\t */\n\tvar HasAnyTerm = acf.Condition.extend( {\n\t\ttype: 'hasAnyTerm',\n\t\toperator: '!=empty',\n\t\tlabel: __( 'Has any term selected' ),\n\t\tfieldTypes: [ 'taxonomy' ],\n\t\tmatch: function ( rule, field ) {\n\t\t\tlet val = field.val();\n\t\t\tif ( val instanceof Array ) {\n\t\t\t\tval = val.length;\n\t\t\t}\n\t\t\treturn !! val;\n\t\t},\n\t\tchoices: function () {\n\t\t\treturn '';\n\t\t},\n\t} );\n\n\tacf.registerConditionType( HasAnyTerm );\n\n\t/**\n\t * Adds condition for when no term is selected.\n\t *\n\t * @since\t6.3\n\t */\n\tvar HasNoTerm = acf.Condition.extend( {\n\t\ttype: 'hasNoTerm',\n\t\toperator: '==empty',\n\t\tlabel: __( 'Has no term selected' ),\n\t\tfieldTypes: [ 'taxonomy' ],\n\t\tmatch: function ( rule, field ) {\n\t\t\tlet val = field.val();\n\t\t\tif ( val instanceof Array ) {\n\t\t\t\tval = val.length;\n\t\t\t}\n\t\t\treturn ! val;\n\t\t},\n\t\tchoices: function () {\n\t\t\treturn '';\n\t\t},\n\t} );\n\n\tacf.registerConditionType( HasNoTerm );\n\n\t/**\n\t * hasValue\n\t *\n\t * @date\t1/2/18\n\t * @since\t5.6.5\n\t *\n\t * @param\tvoid\n\t * @return\tvoid\n\t */\n\tvar HasValue = acf.Condition.extend( {\n\t\ttype: 'hasValue',\n\t\toperator: '!=empty',\n\t\tlabel: __( 'Has any value' ),\n\t\tfieldTypes: [\n\t\t\t'text',\n\t\t\t'textarea',\n\t\t\t'number',\n\t\t\t'range',\n\t\t\t'email',\n\t\t\t'url',\n\t\t\t'password',\n\t\t\t'image',\n\t\t\t'file',\n\t\t\t'wysiwyg',\n\t\t\t'oembed',\n\t\t\t'select',\n\t\t\t'checkbox',\n\t\t\t'radio',\n\t\t\t'button_group',\n\t\t\t'link',\n\t\t\t'google_map',\n\t\t\t'date_picker',\n\t\t\t'date_time_picker',\n\t\t\t'time_picker',\n\t\t\t'color_picker',\n\t\t\t'icon_picker',\n\t\t],\n\t\tmatch: function ( rule, field ) {\n\t\t\tlet val = field.val();\n\t\t\tif ( val instanceof Array ) {\n\t\t\t\tval = val.length;\n\t\t\t}\n\t\t\treturn val ? true : false;\n\t\t},\n\t\tchoices: function ( fieldObject ) {\n\t\t\treturn '';\n\t\t},\n\t} );\n\n\tacf.registerConditionType( HasValue );\n\n\t/**\n\t * hasValue\n\t *\n\t * @date\t1/2/18\n\t * @since\t5.6.5\n\t *\n\t * @param\tvoid\n\t * @return\tvoid\n\t */\n\tvar HasNoValue = HasValue.extend( {\n\t\ttype: 'hasNoValue',\n\t\toperator: '==empty',\n\t\tlabel: __( 'Has no value' ),\n\t\tmatch: function ( rule, field ) {\n\t\t\treturn ! HasValue.prototype.match.apply( this, arguments );\n\t\t},\n\t} );\n\n\tacf.registerConditionType( HasNoValue );\n\n\t/**\n\t * EqualTo\n\t *\n\t * @date\t1/2/18\n\t * @since\t5.6.5\n\t *\n\t * @param\tvoid\n\t * @return\tvoid\n\t */\n\tvar EqualTo = acf.Condition.extend( {\n\t\ttype: 'equalTo',\n\t\toperator: '==',\n\t\tlabel: __( 'Value is equal to' ),\n\t\tfieldTypes: [\n\t\t\t'text',\n\t\t\t'textarea',\n\t\t\t'number',\n\t\t\t'range',\n\t\t\t'email',\n\t\t\t'url',\n\t\t\t'password',\n\t\t],\n\t\tmatch: function ( rule, field ) {\n\t\t\tif ( acf.isNumeric( rule.value ) ) {\n\t\t\t\treturn isEqualToNumber( rule.value, field.val() );\n\t\t\t} else {\n\t\t\t\treturn isEqualTo( rule.value, field.val() );\n\t\t\t}\n\t\t},\n\t\tchoices: function ( fieldObject ) {\n\t\t\treturn '';\n\t\t},\n\t} );\n\n\tacf.registerConditionType( EqualTo );\n\n\t/**\n\t * NotEqualTo\n\t *\n\t * @date\t1/2/18\n\t * @since\t5.6.5\n\t *\n\t * @param\tvoid\n\t * @return\tvoid\n\t */\n\tvar NotEqualTo = EqualTo.extend( {\n\t\ttype: 'notEqualTo',\n\t\toperator: '!=',\n\t\tlabel: __( 'Value is not equal to' ),\n\t\tmatch: function ( rule, field ) {\n\t\t\treturn ! EqualTo.prototype.match.apply( this, arguments );\n\t\t},\n\t} );\n\n\tacf.registerConditionType( NotEqualTo );\n\n\t/**\n\t * PatternMatch\n\t *\n\t * @date\t1/2/18\n\t * @since\t5.6.5\n\t *\n\t * @param\tvoid\n\t * @return\tvoid\n\t */\n\tvar PatternMatch = acf.Condition.extend( {\n\t\ttype: 'patternMatch',\n\t\toperator: '==pattern',\n\t\tlabel: __( 'Value matches pattern' ),\n\t\tfieldTypes: [\n\t\t\t'text',\n\t\t\t'textarea',\n\t\t\t'email',\n\t\t\t'url',\n\t\t\t'password',\n\t\t\t'wysiwyg',\n\t\t],\n\t\tmatch: function ( rule, field ) {\n\t\t\treturn matchesPattern( field.val(), rule.value );\n\t\t},\n\t\tchoices: function ( fieldObject ) {\n\t\t\treturn '';\n\t\t},\n\t} );\n\n\tacf.registerConditionType( PatternMatch );\n\n\t/**\n\t * Contains\n\t *\n\t * @date\t1/2/18\n\t * @since\t5.6.5\n\t *\n\t * @param\tvoid\n\t * @return\tvoid\n\t */\n\tvar Contains = acf.Condition.extend( {\n\t\ttype: 'contains',\n\t\toperator: '==contains',\n\t\tlabel: __( 'Value contains' ),\n\t\tfieldTypes: [\n\t\t\t'text',\n\t\t\t'textarea',\n\t\t\t'number',\n\t\t\t'email',\n\t\t\t'url',\n\t\t\t'password',\n\t\t\t'wysiwyg',\n\t\t\t'oembed',\n\t\t\t'select',\n\t\t],\n\t\tmatch: function ( rule, field ) {\n\t\t\treturn containsString( field.val(), rule.value );\n\t\t},\n\t\tchoices: function ( fieldObject ) {\n\t\t\treturn '';\n\t\t},\n\t} );\n\n\tacf.registerConditionType( Contains );\n\n\t/**\n\t * TrueFalseEqualTo\n\t *\n\t * @date\t1/2/18\n\t * @since\t5.6.5\n\t *\n\t * @param\tvoid\n\t * @return\tvoid\n\t */\n\tvar TrueFalseEqualTo = EqualTo.extend( {\n\t\ttype: 'trueFalseEqualTo',\n\t\tchoiceType: 'select',\n\t\tfieldTypes: [ 'true_false' ],\n\t\tchoices: function ( field ) {\n\t\t\treturn [\n\t\t\t\t{\n\t\t\t\t\tid: 1,\n\t\t\t\t\ttext: __( 'Checked' ),\n\t\t\t\t},\n\t\t\t];\n\t\t},\n\t} );\n\n\tacf.registerConditionType( TrueFalseEqualTo );\n\n\t/**\n\t * TrueFalseNotEqualTo\n\t *\n\t * @date\t1/2/18\n\t * @since\t5.6.5\n\t *\n\t * @param\tvoid\n\t * @return\tvoid\n\t */\n\tvar TrueFalseNotEqualTo = NotEqualTo.extend( {\n\t\ttype: 'trueFalseNotEqualTo',\n\t\tchoiceType: 'select',\n\t\tfieldTypes: [ 'true_false' ],\n\t\tchoices: function ( field ) {\n\t\t\treturn [\n\t\t\t\t{\n\t\t\t\t\tid: 1,\n\t\t\t\t\ttext: __( 'Checked' ),\n\t\t\t\t},\n\t\t\t];\n\t\t},\n\t} );\n\n\tacf.registerConditionType( TrueFalseNotEqualTo );\n\n\t/**\n\t * SelectEqualTo\n\t *\n\t * @date\t1/2/18\n\t * @since\t5.6.5\n\t *\n\t * @param\tvoid\n\t * @return\tvoid\n\t */\n\tvar SelectEqualTo = acf.Condition.extend( {\n\t\ttype: 'selectEqualTo',\n\t\toperator: '==',\n\t\tlabel: __( 'Value is equal to' ),\n\t\tfieldTypes: [ 'select', 'checkbox', 'radio', 'button_group' ],\n\t\tmatch: function ( rule, field ) {\n\t\t\tvar val = field.val();\n\t\t\tif ( val instanceof Array ) {\n\t\t\t\treturn inArray( rule.value, val );\n\t\t\t} else {\n\t\t\t\treturn isEqualTo( rule.value, val );\n\t\t\t}\n\t\t},\n\t\tchoices: function ( fieldObject ) {\n\t\t\t// vars\n\t\t\tvar choices = [];\n\t\t\tvar lines = fieldObject\n\t\t\t\t.$setting( 'choices textarea' )\n\t\t\t\t.val()\n\t\t\t\t.split( '\\n' );\n\n\t\t\t// allow null\n\t\t\tif ( fieldObject.$input( 'allow_null' ).prop( 'checked' ) ) {\n\t\t\t\tchoices.push( {\n\t\t\t\t\tid: '',\n\t\t\t\t\ttext: __( 'Null' ),\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\t// loop\n\t\t\tlines.map( function ( line ) {\n\t\t\t\t// split\n\t\t\t\tline = line.split( ':' );\n\n\t\t\t\t// default label to value\n\t\t\t\tline[ 1 ] = line[ 1 ] || line[ 0 ];\n\n\t\t\t\t// append\n\t\t\t\tchoices.push( {\n\t\t\t\t\tid: line[ 0 ].trim(),\n\t\t\t\t\ttext: line[ 1 ].trim(),\n\t\t\t\t} );\n\t\t\t} );\n\n\t\t\t// return\n\t\t\treturn choices;\n\t\t},\n\t} );\n\n\tacf.registerConditionType( SelectEqualTo );\n\n\t/**\n\t * SelectNotEqualTo\n\t *\n\t * @date\t1/2/18\n\t * @since\t5.6.5\n\t *\n\t * @param\tvoid\n\t * @return\tvoid\n\t */\n\tvar SelectNotEqualTo = SelectEqualTo.extend( {\n\t\ttype: 'selectNotEqualTo',\n\t\toperator: '!=',\n\t\tlabel: __( 'Value is not equal to' ),\n\t\tmatch: function ( rule, field ) {\n\t\t\treturn ! SelectEqualTo.prototype.match.apply( this, arguments );\n\t\t},\n\t} );\n\n\tacf.registerConditionType( SelectNotEqualTo );\n\n\t/**\n\t * GreaterThan\n\t *\n\t * @date\t1/2/18\n\t * @since\t5.6.5\n\t *\n\t * @param\tvoid\n\t * @return\tvoid\n\t */\n\tvar GreaterThan = acf.Condition.extend( {\n\t\ttype: 'greaterThan',\n\t\toperator: '>',\n\t\tlabel: __( 'Value is greater than' ),\n\t\tfieldTypes: [ 'number', 'range' ],\n\t\tmatch: function ( rule, field ) {\n\t\t\tvar val = field.val();\n\t\t\tif ( val instanceof Array ) {\n\t\t\t\tval = val.length;\n\t\t\t}\n\t\t\treturn isGreaterThan( val, rule.value );\n\t\t},\n\t\tchoices: function ( fieldObject ) {\n\t\t\treturn '';\n\t\t},\n\t} );\n\n\tacf.registerConditionType( GreaterThan );\n\n\t/**\n\t * LessThan\n\t *\n\t * @date\t1/2/18\n\t * @since\t5.6.5\n\t *\n\t * @param\tvoid\n\t * @return\tvoid\n\t */\n\tvar LessThan = GreaterThan.extend( {\n\t\ttype: 'lessThan',\n\t\toperator: '<',\n\t\tlabel: __( 'Value is less than' ),\n\t\tmatch: function ( rule, field ) {\n\t\t\tvar val = field.val();\n\t\t\tif ( val instanceof Array ) {\n\t\t\t\tval = val.length;\n\t\t\t}\n\t\t\tif ( val === undefined || val === null || val === false ) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\treturn isLessThan( val, rule.value );\n\t\t},\n\t\tchoices: function ( fieldObject ) {\n\t\t\treturn '';\n\t\t},\n\t} );\n\n\tacf.registerConditionType( LessThan );\n\n\t/**\n\t * SelectedGreaterThan\n\t *\n\t * @date\t1/2/18\n\t * @since\t5.6.5\n\t *\n\t * @param\tvoid\n\t * @return\tvoid\n\t */\n\tvar SelectionGreaterThan = GreaterThan.extend( {\n\t\ttype: 'selectionGreaterThan',\n\t\tlabel: __( 'Selection is greater than' ),\n\t\tfieldTypes: [\n\t\t\t'checkbox',\n\t\t\t'select',\n\t\t\t'post_object',\n\t\t\t'page_link',\n\t\t\t'relationship',\n\t\t\t'taxonomy',\n\t\t\t'user',\n\t\t],\n\t} );\n\n\tacf.registerConditionType( SelectionGreaterThan );\n\n\t/**\n\t * SelectionLessThan\n\t *\n\t * @date\t1/2/18\n\t * @since\t5.6.5\n\t *\n\t * @param\tvoid\n\t * @return\tvoid\n\t */\n\tvar SelectionLessThan = LessThan.extend( {\n\t\ttype: 'selectionLessThan',\n\t\tlabel: __( 'Selection is less than' ),\n\t\tfieldTypes: [\n\t\t\t'checkbox',\n\t\t\t'select',\n\t\t\t'post_object',\n\t\t\t'page_link',\n\t\t\t'relationship',\n\t\t\t'taxonomy',\n\t\t\t'user',\n\t\t],\n\t} );\n\n\tacf.registerConditionType( SelectionLessThan );\n} )( jQuery );\n","( function ( $, undefined ) {\n\t// vars\n\tvar storage = [];\n\n\t/**\n\t * acf.Condition\n\t *\n\t * description\n\t *\n\t * @date\t23/3/18\n\t * @since\t5.6.9\n\t *\n\t * @param\ttype $var Description. Default.\n\t * @return\ttype Description.\n\t */\n\n\tacf.Condition = acf.Model.extend( {\n\t\ttype: '', // used for model name\n\t\toperator: '==', // rule operator\n\t\tlabel: '', // label shown when editing fields\n\t\tchoiceType: 'input', // input, select\n\t\tfieldTypes: [], // auto connect this conditions with these field types\n\n\t\tdata: {\n\t\t\tconditions: false, // the parent instance\n\t\t\tfield: false, // the field which we query against\n\t\t\trule: {}, // the rule [field, operator, value]\n\t\t},\n\n\t\tevents: {\n\t\t\tchange: 'change',\n\t\t\tkeyup: 'change',\n\t\t\tenableField: 'change',\n\t\t\tdisableField: 'change',\n\t\t},\n\n\t\tsetup: function ( props ) {\n\t\t\t$.extend( this.data, props );\n\t\t},\n\n\t\tgetEventTarget: function ( $el, event ) {\n\t\t\treturn $el || this.get( 'field' ).$el;\n\t\t},\n\n\t\tchange: function ( e, $el ) {\n\t\t\tthis.get( 'conditions' ).change( e );\n\t\t},\n\n\t\tmatch: function ( rule, field ) {\n\t\t\treturn false;\n\t\t},\n\n\t\tcalculate: function () {\n\t\t\treturn this.match( this.get( 'rule' ), this.get( 'field' ) );\n\t\t},\n\n\t\tchoices: function ( field ) {\n\t\t\treturn '';\n\t\t},\n\t} );\n\n\t/**\n\t * acf.newCondition\n\t *\n\t * description\n\t *\n\t * @date\t1/2/18\n\t * @since\t5.6.5\n\t *\n\t * @param\ttype $var Description. Default.\n\t * @return\ttype Description.\n\t */\n\n\tacf.newCondition = function ( rule, conditions ) {\n\t\t// currently setting up conditions for fieldX, this field is the 'target'\n\t\tvar target = conditions.get( 'field' );\n\n\t\t// use the 'target' to find the 'trigger' field.\n\t\t// - this field is used to setup the conditional logic events\n\t\tvar field = target.getField( rule.field );\n\n\t\t// bail early if no target or no field (possible if field doesn't exist due to HTML error)\n\t\tif ( ! target || ! field ) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// vars\n\t\tvar args = {\n\t\t\trule: rule,\n\t\t\ttarget: target,\n\t\t\tconditions: conditions,\n\t\t\tfield: field,\n\t\t};\n\n\t\t// vars\n\t\tvar fieldType = field.get( 'type' );\n\t\tvar operator = rule.operator;\n\n\t\t// get avaibale conditions\n\t\tvar conditionTypes = acf.getConditionTypes( {\n\t\t\tfieldType: fieldType,\n\t\t\toperator: operator,\n\t\t} );\n\n\t\t// instantiate\n\t\tvar model = conditionTypes[ 0 ] || acf.Condition;\n\n\t\t// instantiate\n\t\tvar condition = new model( args );\n\n\t\t// return\n\t\treturn condition;\n\t};\n\n\t/**\n\t * mid\n\t *\n\t * Calculates the model ID for a field type\n\t *\n\t * @date\t15/12/17\n\t * @since\t5.6.5\n\t *\n\t * @param\tstring type\n\t * @return\tstring\n\t */\n\n\tvar modelId = function ( type ) {\n\t\treturn acf.strPascalCase( type || '' ) + 'Condition';\n\t};\n\n\t/**\n\t * acf.registerConditionType\n\t *\n\t * description\n\t *\n\t * @date\t1/2/18\n\t * @since\t5.6.5\n\t *\n\t * @param\ttype $var Description. Default.\n\t * @return\ttype Description.\n\t */\n\n\tacf.registerConditionType = function ( model ) {\n\t\t// vars\n\t\tvar proto = model.prototype;\n\t\tvar type = proto.type;\n\t\tvar mid = modelId( type );\n\n\t\t// store model\n\t\tacf.models[ mid ] = model;\n\n\t\t// store reference\n\t\tstorage.push( type );\n\t};\n\n\t/**\n\t * acf.getConditionType\n\t *\n\t * description\n\t *\n\t * @date\t1/2/18\n\t * @since\t5.6.5\n\t *\n\t * @param\ttype $var Description. Default.\n\t * @return\ttype Description.\n\t */\n\n\tacf.getConditionType = function ( type ) {\n\t\tvar mid = modelId( type );\n\t\treturn acf.models[ mid ] || false;\n\t};\n\n\t/**\n\t * acf.registerConditionForFieldType\n\t *\n\t * description\n\t *\n\t * @date\t1/2/18\n\t * @since\t5.6.5\n\t *\n\t * @param\ttype $var Description. Default.\n\t * @return\ttype Description.\n\t */\n\n\tacf.registerConditionForFieldType = function ( conditionType, fieldType ) {\n\t\t// get model\n\t\tvar model = acf.getConditionType( conditionType );\n\n\t\t// append\n\t\tif ( model ) {\n\t\t\tmodel.prototype.fieldTypes.push( fieldType );\n\t\t}\n\t};\n\n\t/**\n\t * acf.getConditionTypes\n\t *\n\t * description\n\t *\n\t * @date\t1/2/18\n\t * @since\t5.6.5\n\t *\n\t * @param\ttype $var Description. Default.\n\t * @return\ttype Description.\n\t */\n\n\tacf.getConditionTypes = function ( args ) {\n\t\t// defaults\n\t\targs = acf.parseArgs( args, {\n\t\t\tfieldType: '',\n\t\t\toperator: '',\n\t\t} );\n\n\t\t// clonse available types\n\t\tvar types = [];\n\n\t\t// loop\n\t\tstorage.map( function ( type ) {\n\t\t\t// vars\n\t\t\tvar model = acf.getConditionType( type );\n\t\t\tvar ProtoFieldTypes = model.prototype.fieldTypes;\n\t\t\tvar ProtoOperator = model.prototype.operator;\n\n\t\t\t// check fieldType\n\t\t\tif (\n\t\t\t\targs.fieldType &&\n\t\t\t\tProtoFieldTypes.indexOf( args.fieldType ) === -1\n\t\t\t) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// check operator\n\t\t\tif ( args.operator && ProtoOperator !== args.operator ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// append\n\t\t\ttypes.push( model );\n\t\t} );\n\n\t\t// return\n\t\treturn types;\n\t};\n} )( jQuery );\n","( function ( $, undefined ) {\n\t// vars\n\tvar CONTEXT = 'conditional_logic';\n\n\t/**\n\t * conditionsManager\n\t *\n\t * description\n\t *\n\t * @date\t1/2/18\n\t * @since\t5.6.5\n\t *\n\t * @param\ttype $var Description. Default.\n\t * @return\ttype Description.\n\t */\n\n\tvar conditionsManager = new acf.Model( {\n\t\tid: 'conditionsManager',\n\n\t\tpriority: 20, // run actions later\n\n\t\tactions: {\n\t\t\tnew_field: 'onNewField',\n\t\t},\n\n\t\tonNewField: function ( field ) {\n\t\t\tif ( field.has( 'conditions' ) ) {\n\t\t\t\tfield.getConditions().render();\n\t\t\t}\n\t\t},\n\t} );\n\n\t/**\n\t * acf.Field.prototype.getField\n\t *\n\t * Finds a field that is related to another field\n\t *\n\t * @date\t1/2/18\n\t * @since\t5.6.5\n\t *\n\t * @param\ttype $var Description. Default.\n\t * @return\ttype Description.\n\t */\n\n\tvar getSiblingField = function ( field, key ) {\n\t\t// find sibling (very fast)\n\t\tvar fields = acf.getFields( {\n\t\t\tkey: key,\n\t\t\tsibling: field.$el,\n\t\t\tsuppressFilters: true,\n\t\t} );\n\n\t\t// find sibling-children (fast)\n\t\t// needed for group fields, accordions, etc\n\t\tif ( ! fields.length ) {\n\t\t\tfields = acf.getFields( {\n\t\t\t\tkey: key,\n\t\t\t\tparent: field.$el.parent(),\n\t\t\t\tsuppressFilters: true,\n\t\t\t} );\n\t\t}\n\n\t\t// Check for fields on other settings tabs (probably less fast).\n\t\tif ( ! fields.length && $( '.acf-field-settings' ).length ) {\n\t\t\tfields = acf.getFields( {\n\t\t\t\tkey: key,\n\t\t\t\tparent: field.$el.parents( '.acf-field-settings:first' ),\n\t\t\t\tsuppressFilters: true,\n\t\t\t} );\n\t\t}\n\n\t\tif ( ! fields.length && $( '#acf-basic-settings' ).length ) {\n\t\t\tfields = acf.getFields( {\n\t\t\t\tkey: key,\n\t\t\t\tparent: $( '#acf-basic-settings'),\n\t\t\t\tsuppressFilters: true,\n\t\t\t} );\n\t\t}\n\n\t\t// return\n\t\tif ( fields.length ) {\n\t\t\treturn fields[ 0 ];\n\t\t}\n\t\treturn false;\n\t};\n\n\tacf.Field.prototype.getField = function ( key ) {\n\t\t// get sibling field\n\t\tvar field = getSiblingField( this, key );\n\n\t\t// return early\n\t\tif ( field ) {\n\t\t\treturn field;\n\t\t}\n\n\t\t// move up through each parent and try again\n\t\tvar parents = this.parents();\n\t\tfor ( var i = 0; i < parents.length; i++ ) {\n\t\t\t// get sibling field\n\t\t\tfield = getSiblingField( parents[ i ], key );\n\n\t\t\t// return early\n\t\t\tif ( field ) {\n\t\t\t\treturn field;\n\t\t\t}\n\t\t}\n\n\t\t// return\n\t\treturn false;\n\t};\n\n\t/**\n\t * acf.Field.prototype.getConditions\n\t *\n\t * Returns the field's conditions instance\n\t *\n\t * @date\t1/2/18\n\t * @since\t5.6.5\n\t *\n\t * @param\ttype $var Description. Default.\n\t * @return\ttype Description.\n\t */\n\n\tacf.Field.prototype.getConditions = function () {\n\t\t// instantiate\n\t\tif ( ! this.conditions ) {\n\t\t\tthis.conditions = new Conditions( this );\n\t\t}\n\n\t\t// return\n\t\treturn this.conditions;\n\t};\n\n\t/**\n\t * Conditions\n\t *\n\t * description\n\t *\n\t * @date\t1/2/18\n\t * @since\t5.6.5\n\t *\n\t * @param\ttype $var Description. Default.\n\t * @return\ttype Description.\n\t */\n\tvar timeout = false;\n\tvar Conditions = acf.Model.extend( {\n\t\tid: 'Conditions',\n\n\t\tdata: {\n\t\t\tfield: false, // The field with \"data-conditions\" (target).\n\t\t\ttimeStamp: false, // Reference used during \"change\" event.\n\t\t\tgroups: [], // The groups of condition instances.\n\t\t},\n\n\t\tsetup: function ( field ) {\n\t\t\t// data\n\t\t\tthis.data.field = field;\n\n\t\t\t// vars\n\t\t\tvar conditions = field.get( 'conditions' );\n\n\t\t\t// detect groups\n\t\t\tif ( conditions instanceof Array ) {\n\t\t\t\t// detect groups\n\t\t\t\tif ( conditions[ 0 ] instanceof Array ) {\n\t\t\t\t\t// loop\n\t\t\t\t\tconditions.map( function ( rules, i ) {\n\t\t\t\t\t\tthis.addRules( rules, i );\n\t\t\t\t\t}, this );\n\n\t\t\t\t\t// detect rules\n\t\t\t\t} else {\n\t\t\t\t\tthis.addRules( conditions );\n\t\t\t\t}\n\n\t\t\t\t// detect rule\n\t\t\t} else {\n\t\t\t\tthis.addRule( conditions );\n\t\t\t}\n\t\t},\n\n\t\tchange: function ( e ) {\n\t\t\t// this function may be triggered multiple times per event due to multiple condition classes\n\t\t\t// compare timestamp to allow only 1 trigger per event\n\t\t\tif ( this.get( 'timeStamp' ) === e.timeStamp ) {\n\t\t\t\treturn false;\n\t\t\t} else {\n\t\t\t\tthis.set( 'timeStamp', e.timeStamp, true );\n\t\t\t}\n\n\t\t\t// render condition and store result\n\t\t\tvar changed = this.render();\n\t\t},\n\n\t\trender: function () {\n\t\t\treturn this.calculate() ? this.show() : this.hide();\n\t\t},\n\n\t\tshow: function () {\n\t\t\treturn this.get( 'field' ).showEnable( this.cid, CONTEXT );\n\t\t},\n\n\t\thide: function () {\n\t\t\treturn this.get( 'field' ).hideDisable( this.cid, CONTEXT );\n\t\t},\n\n\t\tcalculate: function () {\n\t\t\t// vars\n\t\t\tvar pass = false;\n\n\t\t\t// loop\n\t\t\tthis.getGroups().map( function ( group ) {\n\t\t\t\t// ignore this group if another group passed\n\t\t\t\tif ( pass ) return;\n\n\t\t\t\t// find passed\n\t\t\t\tvar passed = group.filter( function ( condition ) {\n\t\t\t\t\treturn condition.calculate();\n\t\t\t\t} );\n\n\t\t\t\t// if all conditions passed, update the global var\n\t\t\t\tif ( passed.length == group.length ) {\n\t\t\t\t\tpass = true;\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\treturn pass;\n\t\t},\n\n\t\thasGroups: function () {\n\t\t\treturn this.data.groups != null;\n\t\t},\n\n\t\tgetGroups: function () {\n\t\t\treturn this.data.groups;\n\t\t},\n\n\t\taddGroup: function () {\n\t\t\tvar group = [];\n\t\t\tthis.data.groups.push( group );\n\t\t\treturn group;\n\t\t},\n\n\t\thasGroup: function ( i ) {\n\t\t\treturn this.data.groups[ i ] != null;\n\t\t},\n\n\t\tgetGroup: function ( i ) {\n\t\t\treturn this.data.groups[ i ];\n\t\t},\n\n\t\tremoveGroup: function ( i ) {\n\t\t\tthis.data.groups[ i ].delete;\n\t\t\treturn this;\n\t\t},\n\n\t\taddRules: function ( rules, group ) {\n\t\t\trules.map( function ( rule ) {\n\t\t\t\tthis.addRule( rule, group );\n\t\t\t}, this );\n\t\t},\n\n\t\taddRule: function ( rule, group ) {\n\t\t\t// defaults\n\t\t\tgroup = group || 0;\n\n\t\t\t// vars\n\t\t\tvar groupArray;\n\n\t\t\t// get group\n\t\t\tif ( this.hasGroup( group ) ) {\n\t\t\t\tgroupArray = this.getGroup( group );\n\t\t\t} else {\n\t\t\t\tgroupArray = this.addGroup();\n\t\t\t}\n\n\t\t\t// instantiate\n\t\t\tvar condition = acf.newCondition( rule, this );\n\n\t\t\t// bail early if condition failed (field did not exist)\n\t\t\tif ( ! condition ) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\t// add rule\n\t\t\tgroupArray.push( condition );\n\t\t},\n\n\t\thasRule: function () {},\n\n\t\tgetRule: function ( rule, group ) {\n\t\t\t// defaults\n\t\t\trule = rule || 0;\n\t\t\tgroup = group || 0;\n\n\t\t\treturn this.data.groups[ group ][ rule ];\n\t\t},\n\n\t\tremoveRule: function () {},\n\t} );\n} )( jQuery );\n","( function ( $, undefined ) {\n\tvar i = 0;\n\n\tvar Field = acf.Field.extend( {\n\t\ttype: 'accordion',\n\n\t\twait: '',\n\n\t\t$control: function () {\n\t\t\treturn this.$( '.acf-fields:first' );\n\t\t},\n\n\t\tinitialize: function () {\n\t\t\t// Bail early if this is a duplicate of an existing initialized accordion.\n\t\t\tif ( this.$el.hasClass( 'acf-accordion' ) ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// bail early if is cell\n\t\t\tif ( this.$el.is( 'td' ) ) return;\n\n\t\t\t// enpoint\n\t\t\tif ( this.get( 'endpoint' ) ) {\n\t\t\t\treturn this.remove();\n\t\t\t}\n\n\t\t\t// vars\n\t\t\tvar $field = this.$el;\n\t\t\tvar $label = this.$labelWrap();\n\t\t\tvar $input = this.$inputWrap();\n\t\t\tvar $wrap = this.$control();\n\t\t\tvar $instructions = $input.children( '.description' );\n\n\t\t\t// force description into label\n\t\t\tif ( $instructions.length ) {\n\t\t\t\t$label.append( $instructions );\n\t\t\t}\n\n\t\t\t// table\n\t\t\tif ( this.$el.is( 'tr' ) ) {\n\t\t\t\t// vars\n\t\t\t\tvar $table = this.$el.closest( 'table' );\n\t\t\t\tvar $newLabel = $( '

        ' );\n\t\t\t\tvar $newInput = $( '
        ' );\n\t\t\t\tvar $newTable = $(\n\t\t\t\t\t'
          '\n\t\t\t\t);\n\t\t\t\tvar $newWrap = $( '' );\n\n\t\t\t\t// dom\n\t\t\t\t$newLabel.append( $label.html() );\n\t\t\t\t$newTable.append( $newWrap );\n\t\t\t\t$newInput.append( $newTable );\n\t\t\t\t$input.append( $newLabel );\n\t\t\t\t$input.append( $newInput );\n\n\t\t\t\t// modify\n\t\t\t\t$label.remove();\n\t\t\t\t$wrap.remove();\n\t\t\t\t$input.attr( 'colspan', 2 );\n\n\t\t\t\t// update vars\n\t\t\t\t$label = $newLabel;\n\t\t\t\t$input = $newInput;\n\t\t\t\t$wrap = $newWrap;\n\t\t\t}\n\n\t\t\t// add classes\n\t\t\t$field.addClass( 'acf-accordion' );\n\t\t\t$label.addClass( 'acf-accordion-title' );\n\t\t\t$input.addClass( 'acf-accordion-content' );\n\n\t\t\t// index\n\t\t\ti++;\n\n\t\t\t// multi-expand\n\t\t\tif ( this.get( 'multi_expand' ) ) {\n\t\t\t\t$field.attr( 'multi-expand', 1 );\n\t\t\t}\n\n\t\t\t// open\n\t\t\tvar order = acf.getPreference( 'this.accordions' ) || [];\n\t\t\tif ( order[ i - 1 ] !== undefined ) {\n\t\t\t\tthis.set( 'open', order[ i - 1 ] );\n\t\t\t}\n\n\t\t\tif ( this.get( 'open' ) ) {\n\t\t\t\t$field.addClass( '-open' );\n\t\t\t\t$input.css( 'display', 'block' ); // needed for accordion to close smoothly\n\t\t\t}\n\n\t\t\t// add icon\n\t\t\t$label.prepend(\n\t\t\t\taccordionManager.iconHtml( { open: this.get( 'open' ) } )\n\t\t\t);\n\n\t\t\t// classes\n\t\t\t// - remove 'inside' which is a #poststuff WP class\n\t\t\tvar $parent = $field.parent();\n\t\t\t$wrap.addClass( $parent.hasClass( '-left' ) ? '-left' : '' );\n\t\t\t$wrap.addClass( $parent.hasClass( '-clear' ) ? '-clear' : '' );\n\n\t\t\t// append\n\t\t\t$wrap.append(\n\t\t\t\t$field.nextUntil( '.acf-field-accordion', '.acf-field' )\n\t\t\t);\n\n\t\t\t// clean up\n\t\t\t$wrap.removeAttr( 'data-open data-multi_expand data-endpoint' );\n\t\t},\n\t} );\n\n\tacf.registerFieldType( Field );\n\n\t/**\n\t * accordionManager\n\t *\n\t * Events manager for the acf accordion\n\t *\n\t * @date\t14/2/18\n\t * @since\t5.6.9\n\t *\n\t * @param\tvoid\n\t * @return\tvoid\n\t */\n\n\tvar accordionManager = new acf.Model( {\n\t\tactions: {\n\t\t\tunload: 'onUnload',\n\t\t},\n\n\t\tevents: {\n\t\t\t'click .acf-accordion-title': 'onClick',\n\t\t\t'invalidField .acf-accordion': 'onInvalidField',\n\t\t},\n\n\t\tisOpen: function ( $el ) {\n\t\t\treturn $el.hasClass( '-open' );\n\t\t},\n\n\t\ttoggle: function ( $el ) {\n\t\t\tif ( this.isOpen( $el ) ) {\n\t\t\t\tthis.close( $el );\n\t\t\t} else {\n\t\t\t\tthis.open( $el );\n\t\t\t}\n\t\t},\n\n\t\ticonHtml: function ( props ) {\n\t\t\t// Use SVG inside Gutenberg editor.\n\t\t\tif ( acf.isGutenberg() ) {\n\t\t\t\tif ( props.open ) {\n\t\t\t\t\treturn '';\n\t\t\t\t} else {\n\t\t\t\t\treturn '';\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif ( props.open ) {\n\t\t\t\t\treturn '';\n\t\t\t\t} else {\n\t\t\t\t\treturn '';\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\topen: function ( $el ) {\n\t\t\tvar duration = acf.isGutenberg() ? 0 : 300;\n\n\t\t\t// open\n\t\t\t$el.find( '.acf-accordion-content:first' )\n\t\t\t\t.slideDown( duration )\n\t\t\t\t.css( 'display', 'block' );\n\t\t\t$el.find( '.acf-accordion-icon:first' ).replaceWith(\n\t\t\t\tthis.iconHtml( { open: true } )\n\t\t\t);\n\t\t\t$el.addClass( '-open' );\n\n\t\t\t// action\n\t\t\tacf.doAction( 'show', $el );\n\n\t\t\t// close siblings\n\t\t\tif ( ! $el.attr( 'multi-expand' ) ) {\n\t\t\t\t$el.siblings( '.acf-accordion.-open' ).each( function () {\n\t\t\t\t\taccordionManager.close( $( this ) );\n\t\t\t\t} );\n\t\t\t}\n\t\t},\n\n\t\tclose: function ( $el ) {\n\t\t\tvar duration = acf.isGutenberg() ? 0 : 300;\n\n\t\t\t// close\n\t\t\t$el.find( '.acf-accordion-content:first' ).slideUp( duration );\n\t\t\t$el.find( '.acf-accordion-icon:first' ).replaceWith(\n\t\t\t\tthis.iconHtml( { open: false } )\n\t\t\t);\n\t\t\t$el.removeClass( '-open' );\n\n\t\t\t// action\n\t\t\tacf.doAction( 'hide', $el );\n\t\t},\n\n\t\tonClick: function ( e, $el ) {\n\t\t\t// prevent Defailt\n\t\t\te.preventDefault();\n\n\t\t\t// open close\n\t\t\tthis.toggle( $el.parent() );\n\t\t},\n\n\t\tonInvalidField: function ( e, $el ) {\n\t\t\t// bail early if already focused\n\t\t\tif ( this.busy ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// disable functionality for 1sec (allow next validation to work)\n\t\t\tthis.busy = true;\n\t\t\tthis.setTimeout( function () {\n\t\t\t\tthis.busy = false;\n\t\t\t}, 1000 );\n\n\t\t\t// open accordion\n\t\t\tthis.open( $el );\n\t\t},\n\n\t\tonUnload: function ( e ) {\n\t\t\t// vars\n\t\t\tvar order = [];\n\n\t\t\t// loop\n\t\t\t$( '.acf-accordion' ).each( function () {\n\t\t\t\tvar open = $( this ).hasClass( '-open' ) ? 1 : 0;\n\t\t\t\torder.push( open );\n\t\t\t} );\n\n\t\t\t// set\n\t\t\tif ( order.length ) {\n\t\t\t\tacf.setPreference( 'this.accordions', order );\n\t\t\t}\n\t\t},\n\t} );\n} )( jQuery );\n","( function ( $, undefined ) {\n\tvar Field = acf.Field.extend( {\n\t\ttype: 'button_group',\n\n\t\tevents: {\n\t\t\t'click input[type=\"radio\"]': 'onClick',\n\t\t},\n\n\t\t$control: function () {\n\t\t\treturn this.$( '.acf-button-group' );\n\t\t},\n\n\t\t$input: function () {\n\t\t\treturn this.$( 'input:checked' );\n\t\t},\n\n\t\tsetValue: function ( val ) {\n\t\t\tthis.$( 'input[value=\"' + val + '\"]' )\n\t\t\t\t.prop( 'checked', true )\n\t\t\t\t.trigger( 'change' );\n\t\t},\n\n\t\tonClick: function ( e, $el ) {\n\t\t\t// vars\n\t\t\tvar $label = $el.parent( 'label' );\n\t\t\tvar selected = $label.hasClass( 'selected' );\n\n\t\t\t// remove previous selected\n\t\t\tthis.$( '.selected' ).removeClass( 'selected' );\n\n\t\t\t// add active class\n\t\t\t$label.addClass( 'selected' );\n\n\t\t\t// allow null\n\t\t\tif ( this.get( 'allow_null' ) && selected ) {\n\t\t\t\t$label.removeClass( 'selected' );\n\t\t\t\t$el.prop( 'checked', false ).trigger( 'change' );\n\t\t\t}\n\t\t},\n\t} );\n\n\tacf.registerFieldType( Field );\n} )( jQuery );\n","( function ( $, undefined ) {\n\tvar Field = acf.Field.extend( {\n\t\ttype: 'checkbox',\n\n\t\tevents: {\n\t\t\t'change input': 'onChange',\n\t\t\t'click .acf-add-checkbox': 'onClickAdd',\n\t\t\t'click .acf-checkbox-toggle': 'onClickToggle',\n\t\t\t'click .acf-checkbox-custom': 'onClickCustom',\n\t\t},\n\n\t\t$control: function () {\n\t\t\treturn this.$( '.acf-checkbox-list' );\n\t\t},\n\n\t\t$toggle: function () {\n\t\t\treturn this.$( '.acf-checkbox-toggle' );\n\t\t},\n\n\t\t$input: function () {\n\t\t\treturn this.$( 'input[type=\"hidden\"]' );\n\t\t},\n\n\t\t$inputs: function () {\n\t\t\treturn this.$( 'input[type=\"checkbox\"]' ).not(\n\t\t\t\t'.acf-checkbox-toggle'\n\t\t\t);\n\t\t},\n\n\t\tgetValue: function () {\n\t\t\tvar val = [];\n\t\t\tthis.$( ':checked' ).each( function () {\n\t\t\t\tval.push( $( this ).val() );\n\t\t\t} );\n\t\t\treturn val.length ? val : false;\n\t\t},\n\n\t\tonChange: function ( e, $el ) {\n\t\t\t// Vars.\n\t\t\tvar checked = $el.prop( 'checked' );\n\t\t\tvar $label = $el.parent( 'label' );\n\t\t\tvar $toggle = this.$toggle();\n\n\t\t\t// Add or remove \"selected\" class.\n\t\t\tif ( checked ) {\n\t\t\t\t$label.addClass( 'selected' );\n\t\t\t} else {\n\t\t\t\t$label.removeClass( 'selected' );\n\t\t\t}\n\n\t\t\t// Update toggle state if all inputs are checked.\n\t\t\tif ( $toggle.length ) {\n\t\t\t\tvar $inputs = this.$inputs();\n\n\t\t\t\t// all checked\n\t\t\t\tif ( $inputs.not( ':checked' ).length == 0 ) {\n\t\t\t\t\t$toggle.prop( 'checked', true );\n\t\t\t\t} else {\n\t\t\t\t\t$toggle.prop( 'checked', false );\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\tonClickAdd: function ( e, $el ) {\n\t\t\tvar html =\n\t\t\t\t'
        • ';\n\t\t\t$el.parent( 'li' ).before( html );\n\t\t\t$el.parent( 'li' )\n\t\t\t\t.parent()\n\t\t\t\t.find( 'input[type=\"text\"]' )\n\t\t\t\t.last()\n\t\t\t\t.focus();\n\t\t},\n\n\t\tonClickToggle: function ( e, $el ) {\n\t\t\t// Vars.\n\t\t\tvar checked = $el.prop( 'checked' );\n\t\t\tvar $inputs = this.$( 'input[type=\"checkbox\"]' );\n\t\t\tvar $labels = this.$( 'label' );\n\n\t\t\t// Update \"checked\" state.\n\t\t\t$inputs.prop( 'checked', checked );\n\n\t\t\t// Add or remove \"selected\" class.\n\t\t\tif ( checked ) {\n\t\t\t\t$labels.addClass( 'selected' );\n\t\t\t} else {\n\t\t\t\t$labels.removeClass( 'selected' );\n\t\t\t}\n\t\t},\n\n\t\tonClickCustom: function ( e, $el ) {\n\t\t\tvar checked = $el.prop( 'checked' );\n\t\t\tvar $text = $el.next( 'input[type=\"text\"]' );\n\n\t\t\t// checked\n\t\t\tif ( checked ) {\n\t\t\t\t$text.prop( 'disabled', false );\n\n\t\t\t\t// not checked\n\t\t\t} else {\n\t\t\t\t$text.prop( 'disabled', true );\n\n\t\t\t\t// remove\n\t\t\t\tif ( $text.val() == '' ) {\n\t\t\t\t\t$el.parent( 'li' ).remove();\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t} );\n\n\tacf.registerFieldType( Field );\n} )( jQuery );\n","( function ( $, undefined ) {\n\tvar Field = acf.Field.extend( {\n\t\ttype: 'color_picker',\n\n\t\twait: 'load',\n\n\t\tevents: {\n\t\t\tduplicateField: 'onDuplicate',\n\t\t},\n\n\t\t$control: function () {\n\t\t\treturn this.$( '.acf-color-picker' );\n\t\t},\n\n\t\t$input: function () {\n\t\t\treturn this.$( 'input[type=\"hidden\"]' );\n\t\t},\n\n\t\t$inputText: function () {\n\t\t\treturn this.$( 'input[type=\"text\"]' );\n\t\t},\n\n\t\tsetValue: function ( val ) {\n\t\t\t// update input (with change)\n\t\t\tacf.val( this.$input(), val );\n\n\t\t\t// update iris\n\t\t\tthis.$inputText().iris( 'color', val );\n\t\t},\n\n\t\tinitialize: function () {\n\t\t\t// vars\n\t\t\tvar $input = this.$input();\n\t\t\tvar $inputText = this.$inputText();\n\n\t\t\t// event\n\t\t\tvar onChange = function ( e ) {\n\t\t\t\t// timeout is required to ensure the $input val is correct\n\t\t\t\tsetTimeout( function () {\n\t\t\t\t\tacf.val( $input, $inputText.val() );\n\t\t\t\t}, 1 );\n\t\t\t};\n\n\t\t\t// args\n\t\t\tvar args = {\n\t\t\t\tdefaultColor: false,\n\t\t\t\tpalettes: true,\n\t\t\t\thide: true,\n\t\t\t\tchange: onChange,\n\t\t\t\tclear: onChange,\n\t\t\t};\n\n\t\t\t// filter\n\t\t\tvar args = acf.applyFilters( 'color_picker_args', args, this );\n\n\t\t\t// initialize\n\t\t\t$inputText.wpColorPicker( args );\n\t\t},\n\n\t\tonDuplicate: function ( e, $el, $duplicate ) {\n\t\t\t// The wpColorPicker library does not provide a destroy method.\n\t\t\t// Manually reset DOM by replacing elements back to their original state.\n\t\t\t$colorPicker = $duplicate.find( '.wp-picker-container' );\n\t\t\t$inputText = $duplicate.find( 'input[type=\"text\"]' );\n\t\t\t$colorPicker.replaceWith( $inputText );\n\t\t},\n\t} );\n\n\tacf.registerFieldType( Field );\n} )( jQuery );\n","( function ( $, undefined ) {\n\tvar Field = acf.Field.extend( {\n\t\ttype: 'date_picker',\n\n\t\tevents: {\n\t\t\t'blur input[type=\"text\"]': 'onBlur',\n\t\t\tduplicateField: 'onDuplicate',\n\t\t},\n\n\t\t$control: function () {\n\t\t\treturn this.$( '.acf-date-picker' );\n\t\t},\n\n\t\t$input: function () {\n\t\t\treturn this.$( 'input[type=\"hidden\"]' );\n\t\t},\n\n\t\t$inputText: function () {\n\t\t\treturn this.$( 'input[type=\"text\"]' );\n\t\t},\n\n\t\tinitialize: function () {\n\t\t\t// save_format: compatibility with ACF < 5.0.0\n\t\t\tif ( this.has( 'save_format' ) ) {\n\t\t\t\treturn this.initializeCompatibility();\n\t\t\t}\n\n\t\t\t// vars\n\t\t\tvar $input = this.$input();\n\t\t\tvar $inputText = this.$inputText();\n\n\t\t\t// args\n\t\t\tvar args = {\n\t\t\t\tdateFormat: this.get( 'date_format' ),\n\t\t\t\taltField: $input,\n\t\t\t\taltFormat: 'yymmdd',\n\t\t\t\tchangeYear: true,\n\t\t\t\tyearRange: '-100:+100',\n\t\t\t\tchangeMonth: true,\n\t\t\t\tshowButtonPanel: true,\n\t\t\t\tfirstDay: this.get( 'first_day' ),\n\t\t\t};\n\n\t\t\t// filter\n\t\t\targs = acf.applyFilters( 'date_picker_args', args, this );\n\n\t\t\t// add date picker\n\t\t\tacf.newDatePicker( $inputText, args );\n\n\t\t\t// action\n\t\t\tacf.doAction( 'date_picker_init', $inputText, args, this );\n\t\t},\n\n\t\tinitializeCompatibility: function () {\n\t\t\t// vars\n\t\t\tvar $input = this.$input();\n\t\t\tvar $inputText = this.$inputText();\n\n\t\t\t// get and set value from alt field\n\t\t\t$inputText.val( $input.val() );\n\n\t\t\t// args\n\t\t\tvar args = {\n\t\t\t\tdateFormat: this.get( 'date_format' ),\n\t\t\t\taltField: $input,\n\t\t\t\taltFormat: this.get( 'save_format' ),\n\t\t\t\tchangeYear: true,\n\t\t\t\tyearRange: '-100:+100',\n\t\t\t\tchangeMonth: true,\n\t\t\t\tshowButtonPanel: true,\n\t\t\t\tfirstDay: this.get( 'first_day' ),\n\t\t\t};\n\n\t\t\t// filter for 3rd party customization\n\t\t\targs = acf.applyFilters( 'date_picker_args', args, this );\n\n\t\t\t// backup\n\t\t\tvar dateFormat = args.dateFormat;\n\n\t\t\t// change args.dateFormat\n\t\t\targs.dateFormat = this.get( 'save_format' );\n\n\t\t\t// add date picker\n\t\t\tacf.newDatePicker( $inputText, args );\n\n\t\t\t// now change the format back to how it should be.\n\t\t\t$inputText.datepicker( 'option', 'dateFormat', dateFormat );\n\n\t\t\t// action for 3rd party customization\n\t\t\tacf.doAction( 'date_picker_init', $inputText, args, this );\n\t\t},\n\n\t\tonBlur: function () {\n\t\t\tif ( ! this.$inputText().val() ) {\n\t\t\t\tacf.val( this.$input(), '' );\n\t\t\t}\n\t\t},\n\n\t\tonDuplicate: function ( e, $el, $duplicate ) {\n\t\t\t$duplicate\n\t\t\t\t.find( 'input[type=\"text\"]' )\n\t\t\t\t.removeClass( 'hasDatepicker' )\n\t\t\t\t.removeAttr( 'id' );\n\t\t},\n\t} );\n\n\tacf.registerFieldType( Field );\n\n\t// manager\n\tvar datePickerManager = new acf.Model( {\n\t\tpriority: 5,\n\t\twait: 'ready',\n\t\tinitialize: function () {\n\t\t\t// vars\n\t\t\tvar locale = acf.get( 'locale' );\n\t\t\tvar rtl = acf.get( 'rtl' );\n\t\t\tvar l10n = acf.get( 'datePickerL10n' );\n\n\t\t\t// bail early if no l10n\n\t\t\tif ( ! l10n ) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\t// bail early if no datepicker library\n\t\t\tif ( typeof $.datepicker === 'undefined' ) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\t// rtl\n\t\t\tl10n.isRTL = rtl;\n\n\t\t\t// append\n\t\t\t$.datepicker.regional[ locale ] = l10n;\n\t\t\t$.datepicker.setDefaults( l10n );\n\t\t},\n\t} );\n\n\t// add\n\tacf.newDatePicker = function ( $input, args ) {\n\t\t// bail early if no datepicker library\n\t\tif ( typeof $.datepicker === 'undefined' ) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// defaults\n\t\targs = args || {};\n\n\t\t// initialize\n\t\t$input.datepicker( args );\n\n\t\t// wrap the datepicker (only if it hasn't already been wrapped)\n\t\tif ( $( 'body > #ui-datepicker-div' ).exists() ) {\n\t\t\t$( 'body > #ui-datepicker-div' ).wrap(\n\t\t\t\t'
          '\n\t\t\t);\n\t\t}\n\t};\n} )( jQuery );\n","( function ( $, undefined ) {\n\tvar Field = acf.models.DatePickerField.extend( {\n\t\ttype: 'date_time_picker',\n\n\t\t$control: function () {\n\t\t\treturn this.$( '.acf-date-time-picker' );\n\t\t},\n\n\t\tinitialize: function () {\n\t\t\t// vars\n\t\t\tvar $input = this.$input();\n\t\t\tvar $inputText = this.$inputText();\n\n\t\t\t// args\n\t\t\tvar args = {\n\t\t\t\tdateFormat: this.get( 'date_format' ),\n\t\t\t\ttimeFormat: this.get( 'time_format' ),\n\t\t\t\taltField: $input,\n\t\t\t\taltFieldTimeOnly: false,\n\t\t\t\taltFormat: 'yy-mm-dd',\n\t\t\t\taltTimeFormat: 'HH:mm:ss',\n\t\t\t\tchangeYear: true,\n\t\t\t\tyearRange: '-100:+100',\n\t\t\t\tchangeMonth: true,\n\t\t\t\tshowButtonPanel: true,\n\t\t\t\tfirstDay: this.get( 'first_day' ),\n\t\t\t\tcontrolType: 'select',\n\t\t\t\toneLine: true,\n\t\t\t};\n\n\t\t\t// filter\n\t\t\targs = acf.applyFilters( 'date_time_picker_args', args, this );\n\n\t\t\t// add date time picker\n\t\t\tacf.newDateTimePicker( $inputText, args );\n\n\t\t\t// action\n\t\t\tacf.doAction( 'date_time_picker_init', $inputText, args, this );\n\t\t},\n\t} );\n\n\tacf.registerFieldType( Field );\n\n\t// manager\n\tvar dateTimePickerManager = new acf.Model( {\n\t\tpriority: 5,\n\t\twait: 'ready',\n\t\tinitialize: function () {\n\t\t\t// vars\n\t\t\tvar locale = acf.get( 'locale' );\n\t\t\tvar rtl = acf.get( 'rtl' );\n\t\t\tvar l10n = acf.get( 'dateTimePickerL10n' );\n\n\t\t\t// bail early if no l10n\n\t\t\tif ( ! l10n ) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\t// bail early if no datepicker library\n\t\t\tif ( typeof $.timepicker === 'undefined' ) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\t// rtl\n\t\t\tl10n.isRTL = rtl;\n\n\t\t\t// append\n\t\t\t$.timepicker.regional[ locale ] = l10n;\n\t\t\t$.timepicker.setDefaults( l10n );\n\t\t},\n\t} );\n\n\t// add\n\tacf.newDateTimePicker = function ( $input, args ) {\n\t\t// bail early if no datepicker library\n\t\tif ( typeof $.timepicker === 'undefined' ) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// defaults\n\t\targs = args || {};\n\n\t\t// initialize\n\t\t$input.datetimepicker( args );\n\n\t\t// wrap the datepicker (only if it hasn't already been wrapped)\n\t\tif ( $( 'body > #ui-datepicker-div' ).exists() ) {\n\t\t\t$( 'body > #ui-datepicker-div' ).wrap(\n\t\t\t\t'
          '\n\t\t\t);\n\t\t}\n\t};\n} )( jQuery );\n","( function ( $, undefined ) {\n\tvar Field = acf.models.ImageField.extend( {\n\t\ttype: 'file',\n\n\t\t$control: function () {\n\t\t\treturn this.$( '.acf-file-uploader' );\n\t\t},\n\n\t\t$input: function () {\n\t\t\treturn this.$( 'input[type=\"hidden\"]:first' );\n\t\t},\n\n\t\tvalidateAttachment: function ( attachment ) {\n\t\t\t// defaults\n\t\t\tattachment = attachment || {};\n\n\t\t\t// WP attachment\n\t\t\tif ( attachment.id !== undefined ) {\n\t\t\t\tattachment = attachment.attributes;\n\t\t\t}\n\n\t\t\t// args\n\t\t\tattachment = acf.parseArgs( attachment, {\n\t\t\t\turl: '',\n\t\t\t\talt: '',\n\t\t\t\ttitle: '',\n\t\t\t\tfilename: '',\n\t\t\t\tfilesizeHumanReadable: '',\n\t\t\t\ticon: '/wp-includes/images/media/default.png',\n\t\t\t} );\n\n\t\t\t// return\n\t\t\treturn attachment;\n\t\t},\n\n\t\trender: function ( attachment ) {\n\t\t\t// vars\n\t\t\tattachment = this.validateAttachment( attachment );\n\n\t\t\t// update image\n\t\t\tthis.$( 'img' ).attr( {\n\t\t\t\tsrc: attachment.icon,\n\t\t\t\talt: attachment.alt,\n\t\t\t\ttitle: attachment.title,\n\t\t\t} );\n\n\t\t\t// update elements\n\t\t\tthis.$( '[data-name=\"title\"]' ).text( attachment.title );\n\t\t\tthis.$( '[data-name=\"filename\"]' )\n\t\t\t\t.text( attachment.filename )\n\t\t\t\t.attr( 'href', attachment.url );\n\t\t\tthis.$( '[data-name=\"filesize\"]' ).text(\n\t\t\t\tattachment.filesizeHumanReadable\n\t\t\t);\n\n\t\t\t// vars\n\t\t\tvar val = attachment.id || '';\n\n\t\t\t// update val\n\t\t\tacf.val( this.$input(), val );\n\n\t\t\t// update class\n\t\t\tif ( val ) {\n\t\t\t\tthis.$control().addClass( 'has-value' );\n\t\t\t} else {\n\t\t\t\tthis.$control().removeClass( 'has-value' );\n\t\t\t}\n\t\t},\n\n\t\tselectAttachment: function () {\n\t\t\t// vars\n\t\t\tvar parent = this.parent();\n\t\t\tvar multiple = parent && parent.get( 'type' ) === 'repeater';\n\n\t\t\t// new frame\n\t\t\tvar frame = acf.newMediaPopup( {\n\t\t\t\tmode: 'select',\n\t\t\t\ttitle: acf.__( 'Select File' ),\n\t\t\t\tfield: this.get( 'key' ),\n\t\t\t\tmultiple: multiple,\n\t\t\t\tlibrary: this.get( 'library' ),\n\t\t\t\tallowedTypes: this.get( 'mime_types' ),\n\t\t\t\tselect: $.proxy( function ( attachment, i ) {\n\t\t\t\t\tif ( i > 0 ) {\n\t\t\t\t\t\tthis.append( attachment, parent );\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.render( attachment );\n\t\t\t\t\t}\n\t\t\t\t}, this ),\n\t\t\t} );\n\t\t},\n\n\t\teditAttachment: function () {\n\t\t\t// vars\n\t\t\tvar val = this.val();\n\n\t\t\t// bail early if no val\n\t\t\tif ( ! val ) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\t// popup\n\t\t\tvar frame = acf.newMediaPopup( {\n\t\t\t\tmode: 'edit',\n\t\t\t\ttitle: acf.__( 'Edit File' ),\n\t\t\t\tbutton: acf.__( 'Update File' ),\n\t\t\t\tattachment: val,\n\t\t\t\tfield: this.get( 'key' ),\n\t\t\t\tselect: $.proxy( function ( attachment, i ) {\n\t\t\t\t\tthis.render( attachment );\n\t\t\t\t}, this ),\n\t\t\t} );\n\t\t},\n\t} );\n\n\tacf.registerFieldType( Field );\n} )( jQuery );\n","( function ( $, undefined ) {\n\tvar Field = acf.Field.extend( {\n\t\ttype: 'google_map',\n\n\t\tmap: false,\n\n\t\twait: 'load',\n\n\t\tevents: {\n\t\t\t'click a[data-name=\"clear\"]': 'onClickClear',\n\t\t\t'click a[data-name=\"locate\"]': 'onClickLocate',\n\t\t\t'click a[data-name=\"search\"]': 'onClickSearch',\n\t\t\t'keydown .search': 'onKeydownSearch',\n\t\t\t'keyup .search': 'onKeyupSearch',\n\t\t\t'focus .search': 'onFocusSearch',\n\t\t\t'blur .search': 'onBlurSearch',\n\t\t\tshowField: 'onShow',\n\t\t},\n\n\t\t$control: function () {\n\t\t\treturn this.$( '.acf-google-map' );\n\t\t},\n\n\t\t$search: function () {\n\t\t\treturn this.$( '.search' );\n\t\t},\n\n\t\t$canvas: function () {\n\t\t\treturn this.$( '.canvas' );\n\t\t},\n\n\t\tsetState: function ( state ) {\n\t\t\t// Remove previous state classes.\n\t\t\tthis.$control().removeClass( '-value -loading -searching' );\n\n\t\t\t// Determine auto state based of current value.\n\t\t\tif ( state === 'default' ) {\n\t\t\t\tstate = this.val() ? 'value' : '';\n\t\t\t}\n\n\t\t\t// Update state class.\n\t\t\tif ( state ) {\n\t\t\t\tthis.$control().addClass( '-' + state );\n\t\t\t}\n\t\t},\n\n\t\tgetValue: function () {\n\t\t\tvar val = this.$input().val();\n\t\t\tif ( val ) {\n\t\t\t\treturn JSON.parse( val );\n\t\t\t} else {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t},\n\n\t\tsetValue: function ( val, silent ) {\n\t\t\t// Convert input value.\n\t\t\tvar valAttr = '';\n\t\t\tif ( val ) {\n\t\t\t\tvalAttr = JSON.stringify( val );\n\t\t\t}\n\n\t\t\t// Update input (with change).\n\t\t\tacf.val( this.$input(), valAttr );\n\n\t\t\t// Bail early if silent update.\n\t\t\tif ( silent ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Render.\n\t\t\tthis.renderVal( val );\n\n\t\t\t/**\n\t\t\t * Fires immediately after the value has changed.\n\t\t\t *\n\t\t\t * @date\t12/02/2014\n\t\t\t * @since\t5.0.0\n\t\t\t *\n\t\t\t * @param\tobject|string val The new value.\n\t\t\t * @param\tobject map The Google Map isntance.\n\t\t\t * @param\tobject field The field instance.\n\t\t\t */\n\t\t\tacf.doAction( 'google_map_change', val, this.map, this );\n\t\t},\n\n\t\trenderVal: function ( val ) {\n\t\t\t// Value.\n\t\t\tif ( val ) {\n\t\t\t\tthis.setState( 'value' );\n\t\t\t\tthis.$search().val( val.address );\n\t\t\t\tthis.setPosition( val.lat, val.lng );\n\n\t\t\t\t// No value.\n\t\t\t} else {\n\t\t\t\tthis.setState( '' );\n\t\t\t\tthis.$search().val( '' );\n\t\t\t\tthis.map.marker.setVisible( false );\n\t\t\t}\n\t\t},\n\n\t\tnewLatLng: function ( lat, lng ) {\n\t\t\treturn new google.maps.LatLng(\n\t\t\t\tparseFloat( lat ),\n\t\t\t\tparseFloat( lng )\n\t\t\t);\n\t\t},\n\n\t\tsetPosition: function ( lat, lng ) {\n\t\t\t// Update marker position.\n\t\t\tthis.map.marker.setPosition( {\n\t\t\t\tlat: parseFloat( lat ),\n\t\t\t\tlng: parseFloat( lng ),\n\t\t\t} );\n\n\t\t\t// Show marker.\n\t\t\tthis.map.marker.setVisible( true );\n\n\t\t\t// Center map.\n\t\t\tthis.center();\n\t\t},\n\n\t\tcenter: function () {\n\t\t\t// Find marker position.\n\t\t\tvar position = this.map.marker.getPosition();\n\t\t\tif ( position ) {\n\t\t\t\tvar lat = position.lat();\n\t\t\t\tvar lng = position.lng();\n\n\t\t\t\t// Or find default settings.\n\t\t\t} else {\n\t\t\t\tvar lat = this.get( 'lat' );\n\t\t\t\tvar lng = this.get( 'lng' );\n\t\t\t}\n\n\t\t\t// Center map.\n\t\t\tthis.map.setCenter( {\n\t\t\t\tlat: parseFloat( lat ),\n\t\t\t\tlng: parseFloat( lng ),\n\t\t\t} );\n\t\t},\n\n\t\tinitialize: function () {\n\t\t\t// Ensure Google API is loaded and then initialize map.\n\t\t\twithAPI( this.initializeMap.bind( this ) );\n\t\t},\n\n\t\tinitializeMap: function () {\n\t\t\t// Get value ignoring conditional logic status.\n\t\t\tvar val = this.getValue();\n\n\t\t\t// Construct default args.\n\t\t\tvar args = acf.parseArgs( val, {\n\t\t\t\tzoom: this.get( 'zoom' ),\n\t\t\t\tlat: this.get( 'lat' ),\n\t\t\t\tlng: this.get( 'lng' ),\n\t\t\t} );\n\n\t\t\t// Create Map.\n\t\t\tvar mapArgs = {\n\t\t\t\tscrollwheel: false,\n\t\t\t\tzoom: parseInt( args.zoom ),\n\t\t\t\tcenter: {\n\t\t\t\t\tlat: parseFloat( args.lat ),\n\t\t\t\t\tlng: parseFloat( args.lng ),\n\t\t\t\t},\n\t\t\t\tmapTypeId: google.maps.MapTypeId.ROADMAP,\n\t\t\t\tmarker: {\n\t\t\t\t\tdraggable: true,\n\t\t\t\t\traiseOnDrag: true,\n\t\t\t\t},\n\t\t\t\tautocomplete: {},\n\t\t\t};\n\t\t\tmapArgs = acf.applyFilters( 'google_map_args', mapArgs, this );\n\t\t\tvar map = new google.maps.Map( this.$canvas()[ 0 ], mapArgs );\n\n\t\t\t// Create Marker.\n\t\t\tvar markerArgs = acf.parseArgs( mapArgs.marker, {\n\t\t\t\tdraggable: true,\n\t\t\t\traiseOnDrag: true,\n\t\t\t\tmap: map,\n\t\t\t} );\n\t\t\tmarkerArgs = acf.applyFilters(\n\t\t\t\t'google_map_marker_args',\n\t\t\t\tmarkerArgs,\n\t\t\t\tthis\n\t\t\t);\n\t\t\tvar marker = new google.maps.Marker( markerArgs );\n\n\t\t\t// Maybe Create Autocomplete.\n\t\t\tvar autocomplete = false;\n\t\t\tif ( acf.isset( google, 'maps', 'places', 'Autocomplete' ) ) {\n\t\t\t\tvar autocompleteArgs = mapArgs.autocomplete || {};\n\t\t\t\tautocompleteArgs = acf.applyFilters(\n\t\t\t\t\t'google_map_autocomplete_args',\n\t\t\t\t\tautocompleteArgs,\n\t\t\t\t\tthis\n\t\t\t\t);\n\t\t\t\tautocomplete = new google.maps.places.Autocomplete(\n\t\t\t\t\tthis.$search()[ 0 ],\n\t\t\t\t\tautocompleteArgs\n\t\t\t\t);\n\t\t\t\tautocomplete.bindTo( 'bounds', map );\n\t\t\t}\n\n\t\t\t// Add map events.\n\t\t\tthis.addMapEvents( this, map, marker, autocomplete );\n\n\t\t\t// Append references.\n\t\t\tmap.acf = this;\n\t\t\tmap.marker = marker;\n\t\t\tmap.autocomplete = autocomplete;\n\t\t\tthis.map = map;\n\n\t\t\t// Set position.\n\t\t\tif ( val ) {\n\t\t\t\tthis.setPosition( val.lat, val.lng );\n\t\t\t}\n\n\t\t\t/**\n\t\t\t * Fires immediately after the Google Map has been initialized.\n\t\t\t *\n\t\t\t * @date\t12/02/2014\n\t\t\t * @since\t5.0.0\n\t\t\t *\n\t\t\t * @param\tobject map The Google Map isntance.\n\t\t\t * @param\tobject marker The Google Map marker isntance.\n\t\t\t * @param\tobject field The field instance.\n\t\t\t */\n\t\t\tacf.doAction( 'google_map_init', map, marker, this );\n\t\t},\n\n\t\taddMapEvents: function ( field, map, marker, autocomplete ) {\n\t\t\t// Click map.\n\t\t\tgoogle.maps.event.addListener( map, 'click', function ( e ) {\n\t\t\t\tvar lat = e.latLng.lat();\n\t\t\t\tvar lng = e.latLng.lng();\n\t\t\t\tfield.searchPosition( lat, lng );\n\t\t\t} );\n\n\t\t\t// Drag marker.\n\t\t\tgoogle.maps.event.addListener( marker, 'dragend', function () {\n\t\t\t\tvar lat = this.getPosition().lat();\n\t\t\t\tvar lng = this.getPosition().lng();\n\t\t\t\tfield.searchPosition( lat, lng );\n\t\t\t} );\n\n\t\t\t// Autocomplete search.\n\t\t\tif ( autocomplete ) {\n\t\t\t\tgoogle.maps.event.addListener(\n\t\t\t\t\tautocomplete,\n\t\t\t\t\t'place_changed',\n\t\t\t\t\tfunction () {\n\t\t\t\t\t\tvar place = this.getPlace();\n\t\t\t\t\t\tfield.searchPlace( place );\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t}\n\n\t\t\t// Detect zoom change.\n\t\t\tgoogle.maps.event.addListener( map, 'zoom_changed', function () {\n\t\t\t\tvar val = field.val();\n\t\t\t\tif ( val ) {\n\t\t\t\t\tval.zoom = map.getZoom();\n\t\t\t\t\tfield.setValue( val, true );\n\t\t\t\t}\n\t\t\t} );\n\t\t},\n\n\t\tsearchPosition: function ( lat, lng ) {\n\t\t\t//console.log('searchPosition', lat, lng );\n\n\t\t\t// Start Loading.\n\t\t\tthis.setState( 'loading' );\n\n\t\t\t// Query Geocoder.\n\t\t\tvar latLng = { lat: lat, lng: lng };\n\t\t\tgeocoder.geocode(\n\t\t\t\t{ location: latLng },\n\t\t\t\tfunction ( results, status ) {\n\t\t\t\t\t//console.log('searchPosition', arguments );\n\n\t\t\t\t\t// End Loading.\n\t\t\t\t\tthis.setState( '' );\n\n\t\t\t\t\t// Status failure.\n\t\t\t\t\tif ( status !== 'OK' ) {\n\t\t\t\t\t\tthis.showNotice( {\n\t\t\t\t\t\t\ttext: acf\n\t\t\t\t\t\t\t\t.__( 'Location not found: %s' )\n\t\t\t\t\t\t\t\t.replace( '%s', status ),\n\t\t\t\t\t\t\ttype: 'warning',\n\t\t\t\t\t\t} );\n\n\t\t\t\t\t\t// Success.\n\t\t\t\t\t} else {\n\t\t\t\t\t\tvar val = this.parseResult( results[ 0 ] );\n\n\t\t\t\t\t\t// Override lat/lng to match user defined marker location.\n\t\t\t\t\t\t// Avoids issue where marker \"snaps\" to nearest result.\n\t\t\t\t\t\tval.lat = lat;\n\t\t\t\t\t\tval.lng = lng;\n\t\t\t\t\t\tthis.val( val );\n\t\t\t\t\t}\n\t\t\t\t}.bind( this )\n\t\t\t);\n\t\t},\n\n\t\tsearchPlace: function ( place ) {\n\t\t\t//console.log('searchPlace', place );\n\n\t\t\t// Bail early if no place.\n\t\t\tif ( ! place ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Selecting from the autocomplete dropdown will return a rich PlaceResult object.\n\t\t\t// Be sure to over-write the \"formatted_address\" value with the one displayed to the user for best UX.\n\t\t\tif ( place.geometry ) {\n\t\t\t\tplace.formatted_address = this.$search().val();\n\t\t\t\tvar val = this.parseResult( place );\n\t\t\t\tthis.val( val );\n\n\t\t\t\t// Searching a custom address will return an empty PlaceResult object.\n\t\t\t} else if ( place.name ) {\n\t\t\t\tthis.searchAddress( place.name );\n\t\t\t}\n\t\t},\n\n\t\tsearchAddress: function ( address ) {\n\t\t\t//console.log('searchAddress', address );\n\n\t\t\t// Bail early if no address.\n\t\t\tif ( ! address ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Allow \"lat,lng\" search.\n\t\t\tvar latLng = address.split( ',' );\n\t\t\tif ( latLng.length == 2 ) {\n\t\t\t\tvar lat = parseFloat( latLng[ 0 ] );\n\t\t\t\tvar lng = parseFloat( latLng[ 1 ] );\n\t\t\t\tif ( lat && lng ) {\n\t\t\t\t\treturn this.searchPosition( lat, lng );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Start Loading.\n\t\t\tthis.setState( 'loading' );\n\n\t\t\t// Query Geocoder.\n\t\t\tgeocoder.geocode(\n\t\t\t\t{ address: address },\n\t\t\t\tfunction ( results, status ) {\n\t\t\t\t\t//console.log('searchPosition', arguments );\n\n\t\t\t\t\t// End Loading.\n\t\t\t\t\tthis.setState( '' );\n\n\t\t\t\t\t// Status failure.\n\t\t\t\t\tif ( status !== 'OK' ) {\n\t\t\t\t\t\tthis.showNotice( {\n\t\t\t\t\t\t\ttext: acf\n\t\t\t\t\t\t\t\t.__( 'Location not found: %s' )\n\t\t\t\t\t\t\t\t.replace( '%s', status ),\n\t\t\t\t\t\t\ttype: 'warning',\n\t\t\t\t\t\t} );\n\n\t\t\t\t\t\t// Success.\n\t\t\t\t\t} else {\n\t\t\t\t\t\tvar val = this.parseResult( results[ 0 ] );\n\n\t\t\t\t\t\t// Override address data with parameter allowing custom address to be defined in search.\n\t\t\t\t\t\tval.address = address;\n\n\t\t\t\t\t\t// Update value.\n\t\t\t\t\t\tthis.val( val );\n\t\t\t\t\t}\n\t\t\t\t}.bind( this )\n\t\t\t);\n\t\t},\n\n\t\tsearchLocation: function () {\n\t\t\t//console.log('searchLocation' );\n\n\t\t\t// Check HTML5 geolocation.\n\t\t\tif ( ! navigator.geolocation ) {\n\t\t\t\treturn alert(\n\t\t\t\t\tacf.__( 'Sorry, this browser does not support geolocation' )\n\t\t\t\t);\n\t\t\t}\n\n\t\t\t// Start Loading.\n\t\t\tthis.setState( 'loading' );\n\n\t\t\t// Query Geolocation.\n\t\t\tnavigator.geolocation.getCurrentPosition(\n\t\t\t\t// Success.\n\t\t\t\tfunction ( results ) {\n\t\t\t\t\t// End Loading.\n\t\t\t\t\tthis.setState( '' );\n\n\t\t\t\t\t// Search position.\n\t\t\t\t\tvar lat = results.coords.latitude;\n\t\t\t\t\tvar lng = results.coords.longitude;\n\t\t\t\t\tthis.searchPosition( lat, lng );\n\t\t\t\t}.bind( this ),\n\n\t\t\t\t// Failure.\n\t\t\t\tfunction ( error ) {\n\t\t\t\t\tthis.setState( '' );\n\t\t\t\t}.bind( this )\n\t\t\t);\n\t\t},\n\n\t\t/**\n\t\t * parseResult\n\t\t *\n\t\t * Returns location data for the given GeocoderResult object.\n\t\t *\n\t\t * @date\t15/10/19\n\t\t * @since\t5.8.6\n\t\t *\n\t\t * @param\tobject obj A GeocoderResult object.\n\t\t * @return\tobject\n\t\t */\n\t\tparseResult: function ( obj ) {\n\t\t\t// Construct basic data.\n\t\t\tvar result = {\n\t\t\t\taddress: obj.formatted_address,\n\t\t\t\tlat: obj.geometry.location.lat(),\n\t\t\t\tlng: obj.geometry.location.lng(),\n\t\t\t};\n\n\t\t\t// Add zoom level.\n\t\t\tresult.zoom = this.map.getZoom();\n\n\t\t\t// Add place ID.\n\t\t\tif ( obj.place_id ) {\n\t\t\t\tresult.place_id = obj.place_id;\n\t\t\t}\n\n\t\t\t// Add place name.\n\t\t\tif ( obj.name ) {\n\t\t\t\tresult.name = obj.name;\n\t\t\t}\n\n\t\t\t// Create search map for address component data.\n\t\t\tvar map = {\n\t\t\t\tstreet_number: [ 'street_number' ],\n\t\t\t\tstreet_name: [ 'street_address', 'route' ],\n\t\t\t\tcity: [ 'locality', 'postal_town' ],\n\t\t\t\tstate: [\n\t\t\t\t\t'administrative_area_level_1',\n\t\t\t\t\t'administrative_area_level_2',\n\t\t\t\t\t'administrative_area_level_3',\n\t\t\t\t\t'administrative_area_level_4',\n\t\t\t\t\t'administrative_area_level_5',\n\t\t\t\t],\n\t\t\t\tpost_code: [ 'postal_code' ],\n\t\t\t\tcountry: [ 'country' ],\n\t\t\t};\n\n\t\t\t// Loop over map.\n\t\t\tfor ( var k in map ) {\n\t\t\t\tvar keywords = map[ k ];\n\n\t\t\t\t// Loop over address components.\n\t\t\t\tfor ( var i = 0; i < obj.address_components.length; i++ ) {\n\t\t\t\t\tvar component = obj.address_components[ i ];\n\t\t\t\t\tvar component_type = component.types[ 0 ];\n\n\t\t\t\t\t// Look for matching component type.\n\t\t\t\t\tif ( keywords.indexOf( component_type ) !== -1 ) {\n\t\t\t\t\t\t// Append to result.\n\t\t\t\t\t\tresult[ k ] = component.long_name;\n\n\t\t\t\t\t\t// Append short version.\n\t\t\t\t\t\tif ( component.long_name !== component.short_name ) {\n\t\t\t\t\t\t\tresult[ k + '_short' ] = component.short_name;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t/**\n\t\t\t * Filters the parsed result.\n\t\t\t *\n\t\t\t * @date\t18/10/19\n\t\t\t * @since\t5.8.6\n\t\t\t *\n\t\t\t * @param\tobject result The parsed result value.\n\t\t\t * @param\tobject obj The GeocoderResult object.\n\t\t\t */\n\t\t\treturn acf.applyFilters(\n\t\t\t\t'google_map_result',\n\t\t\t\tresult,\n\t\t\t\tobj,\n\t\t\t\tthis.map,\n\t\t\t\tthis\n\t\t\t);\n\t\t},\n\n\t\tonClickClear: function () {\n\t\t\tthis.val( false );\n\t\t},\n\n\t\tonClickLocate: function () {\n\t\t\tthis.searchLocation();\n\t\t},\n\n\t\tonClickSearch: function () {\n\t\t\tthis.searchAddress( this.$search().val() );\n\t\t},\n\n\t\tonFocusSearch: function ( e, $el ) {\n\t\t\tthis.setState( 'searching' );\n\t\t},\n\n\t\tonBlurSearch: function ( e, $el ) {\n\t\t\t// Get saved address value.\n\t\t\tvar val = this.val();\n\t\t\tvar address = val ? val.address : '';\n\n\t\t\t// Remove 'is-searching' if value has not changed.\n\t\t\tif ( $el.val() === address ) {\n\t\t\t\tthis.setState( 'default' );\n\t\t\t}\n\t\t},\n\n\t\tonKeyupSearch: function ( e, $el ) {\n\t\t\t// Clear empty value.\n\t\t\tif ( ! $el.val() ) {\n\t\t\t\tthis.val( false );\n\t\t\t}\n\t\t},\n\n\t\t// Prevent form from submitting.\n\t\tonKeydownSearch: function ( e, $el ) {\n\t\t\tif ( e.which == 13 ) {\n\t\t\t\te.preventDefault();\n\t\t\t\t$el.blur();\n\t\t\t}\n\t\t},\n\n\t\t// Center map once made visible.\n\t\tonShow: function () {\n\t\t\tif ( this.map ) {\n\t\t\t\tthis.setTimeout( this.center );\n\t\t\t}\n\t\t},\n\t} );\n\n\tacf.registerFieldType( Field );\n\n\t// Vars.\n\tvar loading = false;\n\tvar geocoder = false;\n\n\t/**\n\t * withAPI\n\t *\n\t * Loads the Google Maps API library and troggers callback.\n\t *\n\t * @date\t28/3/19\n\t * @since\t5.7.14\n\t *\n\t * @param\tfunction callback The callback to excecute.\n\t * @return\tvoid\n\t */\n\n\tfunction withAPI( callback ) {\n\t\t// Check if geocoder exists.\n\t\tif ( geocoder ) {\n\t\t\treturn callback();\n\t\t}\n\n\t\t// Check if geocoder API exists.\n\t\tif ( acf.isset( window, 'google', 'maps', 'Geocoder' ) ) {\n\t\t\tgeocoder = new google.maps.Geocoder();\n\t\t\treturn callback();\n\t\t}\n\n\t\t// Geocoder will need to be loaded. Hook callback to action.\n\t\tacf.addAction( 'google_map_api_loaded', callback );\n\n\t\t// Bail early if already loading API.\n\t\tif ( loading ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// load api\n\t\tvar url = acf.get( 'google_map_api' );\n\t\tif ( url ) {\n\t\t\t// Set loading status.\n\t\t\tloading = true;\n\n\t\t\t// Load API\n\t\t\t$.ajax( {\n\t\t\t\turl: url,\n\t\t\t\tdataType: 'script',\n\t\t\t\tcache: true,\n\t\t\t\tsuccess: function () {\n\t\t\t\t\tgeocoder = new google.maps.Geocoder();\n\t\t\t\t\tacf.doAction( 'google_map_api_loaded' );\n\t\t\t\t},\n\t\t\t} );\n\t\t}\n\t}\n} )( jQuery );\n","( function ( $, undefined ) {\n\tconst Field = acf.Field.extend( {\n\t\ttype: 'icon_picker',\n\n\t\twait: 'load',\n\n\t\tevents: {\n\t\t\tremoveField: 'onRemove',\n\t\t\tduplicateField: 'onDuplicate',\n\t\t\tshowField: 'scrollToSelectedDashicon',\n\t\t\t'input .acf-icon_url': 'onUrlChange',\n\t\t\t'click .acf-icon-picker-dashicon': 'onDashiconClick',\n\t\t\t'focus .acf-icon-picker-dashicon-radio': 'onDashiconRadioFocus',\n\t\t\t'blur .acf-icon-picker-dashicon-radio': 'onDashiconRadioBlur',\n\t\t\t'keydown .acf-icon-picker-dashicon-radio': 'onDashiconKeyDown',\n\t\t\t'input .acf-dashicons-search-input': 'onDashiconSearch',\n\t\t\t'keydown .acf-dashicons-search-input': 'onDashiconSearchKeyDown',\n\t\t\t'click .acf-icon-picker-media-library-button':\n\t\t\t\t'onMediaLibraryButtonClick',\n\t\t\t'click .acf-icon-picker-media-library-preview':\n\t\t\t\t'onMediaLibraryButtonClick',\n\t\t},\n\n\t\t$typeInput() {\n\t\t\treturn this.$(\n\t\t\t\t'input[type=\"hidden\"][data-hidden-type=\"type\"]:first'\n\t\t\t);\n\t\t},\n\n\t\t$valueInput() {\n\t\t\treturn this.$(\n\t\t\t\t'input[type=\"hidden\"][data-hidden-type=\"value\"]:first'\n\t\t\t);\n\t\t},\n\n\t\t$tabButton() {\n\t\t\treturn this.$( '.acf-tab-button' );\n\t\t},\n\n\t\t$selectedIcon() {\n\t\t\treturn this.$( '.acf-icon-picker-dashicon.active' );\n\t\t},\n\n\t\t$selectedRadio() {\n\t\t\treturn this.$( '.acf-icon-picker-dashicon.active input' );\n\t\t},\n\n\t\t$dashiconsList() {\n\t\t\treturn this.$( '.acf-dashicons-list' );\n\t\t},\n\n\t\t$mediaLibraryButton() {\n\t\t\treturn this.$( '.acf-icon-picker-media-library-button' );\n\t\t},\n\n\t\tinitialize() {\n\t\t\t// Set up actions hook callbacks.\n\t\t\tthis.addActions();\n\n\t\t\t// Initialize the state of the icon picker.\n\t\t\tlet typeAndValue = {\n\t\t\t\ttype: this.$typeInput().val(),\n\t\t\t\tvalue: this.$valueInput().val()\n\t\t\t};\n\n\t\t\t// Store the type and value object.\n\t\t\tthis.set( 'typeAndValue', typeAndValue );\n\n\t\t\t// Any time any acf tab is clicked, we will re-scroll to the selected dashicon.\n\t\t\t$( '.acf-tab-button' ).on( 'click', () => {\n\t\t\t\tthis.initializeDashiconsTab( this.get( 'typeAndValue' ) );\n\t\t\t} );\n\n\t\t\t// Fire the action which lets people know the state has been updated.\n\t\t\tacf.doAction(\n\t\t\t\tthis.get( 'name' ) + '/type_and_value_change',\n\t\t\t\ttypeAndValue\n\t\t\t);\n\n\t\t\tthis.initializeDashiconsTab( typeAndValue );\n\t\t\tthis.alignMediaLibraryTabToCurrentValue( typeAndValue );\n\t\t},\n\n\t\taddActions() {\n\t\t\t// Set up an action listener for when the type and value changes.\n\t\t\tacf.addAction(\n\t\t\t\tthis.get( 'name' ) + '/type_and_value_change',\n\t\t\t\t( newTypeAndValue ) => {\n\t\t\t\t\t// Align the visual state of each tab to the current value.\n\t\t\t\t\tthis.alignDashiconsTabToCurrentValue( newTypeAndValue );\n\t\t\t\t\tthis.alignMediaLibraryTabToCurrentValue( newTypeAndValue );\n\t\t\t\t\tthis.alignUrlTabToCurrentValue( newTypeAndValue );\n\t\t\t\t}\n\t\t\t);\n\t\t},\n\n\t\tupdateTypeAndValue( type, value ) {\n\t\t\tconst typeAndValue = {\n\t\t\t\ttype,\n\t\t\t\tvalue,\n\t\t\t};\n\n\t\t\t// Update the values in the hidden fields, which are what will actually be saved.\n\t\t\tacf.val( this.$typeInput(), type );\n\t\t\tacf.val( this.$valueInput(), value );\n\n\t\t\t// Fire an action to let each tab set itself according to the typeAndValue state.\n\t\t\tacf.doAction(\n\t\t\t\tthis.get( 'name' ) + '/type_and_value_change',\n\t\t\t\ttypeAndValue\n\t\t\t);\n\n\t\t\t// Set the state.\n\t\t\tthis.set( 'typeAndValue', typeAndValue );\n\t\t},\n\n\t\tscrollToSelectedDashicon() {\n\t\t\tconst innerElement = this.$selectedIcon();\n\n\t\t\t// If no icon is selected, do nothing.\n\t\t\tif ( innerElement.length === 0 ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst scrollingDiv = this.$dashiconsList();\n\t\t\tscrollingDiv.scrollTop( 0 );\n\n\t\t\tconst distance = innerElement.position().top - 50;\n\n\t\t\tif ( distance === 0 ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tscrollingDiv.scrollTop( distance );\n\t\t},\n\n\t\tinitializeDashiconsTab( typeAndValue ) {\n\t\t\tconst dashicons = this.getDashiconsList() || [];\n\t\t\tthis.set( 'dashicons', dashicons );\n\t\t\tthis.renderDashiconList();\n\t\t\tthis.initializeSelectedDashicon( typeAndValue );\n\t\t},\n\n\t\tinitializeSelectedDashicon( typeAndValue ) {\n\t\t\tif ( typeAndValue.type !== 'dashicons' ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\t// Select the correct dashicon.\n\t\t\tthis.selectDashicon( typeAndValue.value, false ).then( () => {\n\t\t\t\t// Scroll to the selected dashicon.\n\t\t\t\tthis.scrollToSelectedDashicon();\n\t\t\t} );\n\t\t},\n\n\t\talignDashiconsTabToCurrentValue( typeAndValue ) {\n\t\t\tif ( typeAndValue.type !== 'dashicons' ) {\n\t\t\t\tthis.unselectDashicon();\n\t\t\t}\n\t\t},\n\n\t\trenderDashiconHTML( dashicon ) {\n\t\t\tconst id = `${ this.get( 'name' ) }-${ dashicon.key }`;\n\t\t\treturn `
          \n\t\t\t\t\n\t\t\t\t\n\t\t\t
          `;\n\t\t},\n\n\t\trenderDashiconList() {\n\t\t\tconst dashicons = this.get( 'dashicons' );\n\n\t\t\tthis.$dashiconsList().empty();\n\t\t\tdashicons.forEach( ( dashicon ) => {\n\t\t\t\tthis.$dashiconsList().append(\n\t\t\t\t\tthis.renderDashiconHTML( dashicon )\n\t\t\t\t);\n\t\t\t} );\n\t\t},\n\n\t\tgetDashiconsList() {\n\t\t\tconst iconPickeri10n = acf.get( 'iconPickeri10n' ) || [];\n\n\t\t\tconst dashicons = Object.entries( iconPickeri10n ).map(\n\t\t\t\t( [ key, value ] ) => {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tkey,\n\t\t\t\t\t\tlabel: value,\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t);\n\n\t\t\treturn dashicons;\n\t\t},\n\n\t\tgetDashiconsBySearch( searchTerm ) {\n\t\t\tconst lowercaseSearchTerm = searchTerm.toLowerCase();\n\t\t\tconst dashicons = this.getDashiconsList();\n\n\t\t\tconst filteredDashicons = dashicons.filter( function ( icon ) {\n\t\t\t\tconst lowercaseIconLabel = icon.label.toLowerCase();\n\t\t\t\treturn lowercaseIconLabel.indexOf( lowercaseSearchTerm ) > -1;\n\t\t\t} );\n\n\t\t\treturn filteredDashicons;\n\t\t},\n\n\t\tselectDashicon( dashicon, setFocus = true ) {\n\t\t\tthis.set( 'selectedDashicon', dashicon );\n\n\t\t\t// Select the new one.\n\t\t\tconst $newIcon = this.$dashiconsList().find(\n\t\t\t\t'.acf-icon-picker-dashicon[data-icon=\"' + dashicon + '\"]'\n\t\t\t);\n\t\t\t$newIcon.addClass( 'active' );\n\n\t\t\tconst $input = $newIcon.find( 'input' );\n\t\t\tconst thePromise = $input.prop( 'checked', true ).promise();\n\n\t\t\tif ( setFocus ) {\n\t\t\t\t$input.trigger( 'focus' );\n\t\t\t}\n\n\t\t\tthis.updateTypeAndValue( 'dashicons', dashicon );\n\n\t\t\treturn thePromise;\n\t\t},\n\n\t\tunselectDashicon() {\n\t\t\t// Remove the currently active dashicon, if any.\n\t\t\tthis.$dashiconsList()\n\t\t\t\t.find( '.acf-icon-picker-dashicon' )\n\t\t\t\t.removeClass( 'active' );\n\t\t\tthis.set( 'selectedDashicon', false );\n\t\t},\n\n\t\tonDashiconRadioFocus( e ) {\n\t\t\tconst dashicon = e.target.value;\n\n\t\t\tconst $newIcon = this.$dashiconsList().find(\n\t\t\t\t'.acf-icon-picker-dashicon[data-icon=\"' + dashicon + '\"]'\n\t\t\t);\n\t\t\t$newIcon.addClass( 'focus' );\n\n\t\t\t// If this is a different icon than previously selected, select it.\n\t\t\tif ( this.get( 'selectedDashicon' ) !== dashicon ) {\n\t\t\t\tthis.unselectDashicon();\n\t\t\t\tthis.selectDashicon( dashicon );\n\t\t\t}\n\t\t},\n\n\t\tonDashiconRadioBlur( e ) {\n\t\t\tconst icon = this.$( e.target );\n\t\t\tconst iconParent = icon.parent();\n\n\t\t\ticonParent.removeClass( 'focus' );\n\t\t},\n\n\t\tonDashiconClick( e ) {\n\t\t\te.preventDefault();\n\n\t\t\tconst icon = this.$( e.target );\n\t\t\tconst dashicon = icon.find( 'input' ).val();\n\n\t\t\tconst $newIcon = this.$dashiconsList().find(\n\t\t\t\t'.acf-icon-picker-dashicon[data-icon=\"' + dashicon + '\"]'\n\t\t\t);\n\n\t\t\t// By forcing focus on the input, we fire onDashiconRadioFocus.\n\t\t\t$newIcon.find( 'input' ).prop( 'checked', true ).trigger( 'focus' );\n\t\t},\n\n\t\tonDashiconSearch( e ) {\n\t\t\tconst searchTerm = e.target.value;\n\t\t\tconst filteredDashicons = this.getDashiconsBySearch( searchTerm );\n\n\t\t\tif ( filteredDashicons.length > 0 || ! searchTerm ) {\n\t\t\t\tthis.set( 'dashicons', filteredDashicons );\n\t\t\t\tthis.$( '.acf-dashicons-list-empty' ).hide();\n\t\t\t\tthis.$( '.acf-dashicons-list ' ).show();\n\t\t\t\tthis.renderDashiconList();\n\n\t\t\t\t// Announce change of data to screen readers.\n\t\t\t\twp.a11y.speak(\n\t\t\t\t\tacf.get( 'iconPickerA11yStrings' )\n\t\t\t\t\t\t.newResultsFoundForSearchTerm,\n\t\t\t\t\t'polite'\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\t// Truncate the search term if it's too long.\n\t\t\t\tconst visualSearchTerm =\n\t\t\t\t\tsearchTerm.length > 30\n\t\t\t\t\t\t? searchTerm.substring( 0, 30 ) + '…'\n\t\t\t\t\t\t: searchTerm;\n\n\t\t\t\tthis.$( '.acf-dashicons-list ' ).hide();\n\t\t\t\tthis.$( '.acf-dashicons-list-empty' )\n\t\t\t\t\t.find( '.acf-invalid-dashicon-search-term' )\n\t\t\t\t\t.text( visualSearchTerm );\n\t\t\t\tthis.$( '.acf-dashicons-list-empty' ).css( 'display', 'flex' );\n\t\t\t\tthis.$( '.acf-dashicons-list-empty' ).show();\n\n\t\t\t\t// Announce change of data to screen readers.\n\t\t\t\twp.a11y.speak(\n\t\t\t\t\tacf.get( 'iconPickerA11yStrings' ).noResultsForSearchTerm,\n\t\t\t\t\t'polite'\n\t\t\t\t);\n\t\t\t}\n\t\t},\n\n\t\tonDashiconSearchKeyDown( e ) {\n\t\t\t// Check if the pressed key is Enter (key code 13)\n\t\t\tif ( e.which === 13 ) {\n\t\t\t\t// Prevent submitting the entire form if someone presses enter after searching.\n\t\t\t\te.preventDefault();\n\t\t\t}\n\t\t},\n\n\t\tonDashiconKeyDown( e ) {\n\t\t\tif ( e.which === 13 ) {\n\t\t\t\t// If someone presses enter while an icon is focused, prevent the form from submitting.\n\t\t\t\te.preventDefault();\n\t\t\t}\n\t\t},\n\n\t\talignMediaLibraryTabToCurrentValue( typeAndValue ) {\n\t\t\tconst type = typeAndValue.type;\n\t\t\tconst value = typeAndValue.value;\n\n\t\t\tif ( type !== 'media_library' && type !== 'dashicons' ) {\n\t\t\t\t// Hide the preview container on the media library tab.\n\t\t\t\tthis.$( '.acf-icon-picker-media-library-preview' ).hide();\n\t\t\t}\n\n\t\t\tif ( type === 'media_library' ) {\n\t\t\t\tconst previewUrl = this.get( 'mediaLibraryPreviewUrl' );\n\t\t\t\t// Set the image file preview src.\n\t\t\t\tthis.$( '.acf-icon-picker-media-library-preview-img img' ).attr(\n\t\t\t\t\t'src',\n\t\t\t\t\tpreviewUrl\n\t\t\t\t);\n\n\t\t\t\t// Hide the dashicon preview.\n\t\t\t\tthis.$(\n\t\t\t\t\t'.acf-icon-picker-media-library-preview-dashicon'\n\t\t\t\t).hide();\n\n\t\t\t\t// Show the image file preview.\n\t\t\t\tthis.$( '.acf-icon-picker-media-library-preview-img' ).show();\n\n\t\t\t\t// Show the preview container (it may have been hidden if nothing was ever selected yet).\n\t\t\t\tthis.$( '.acf-icon-picker-media-library-preview' ).show();\n\t\t\t}\n\n\t\t\tif ( type === 'dashicons' ) {\n\t\t\t\t// Set the dashicon preview class.\n\t\t\t\tthis.$(\n\t\t\t\t\t'.acf-icon-picker-media-library-preview-dashicon .dashicons'\n\t\t\t\t).attr( 'class', 'dashicons ' + value );\n\n\t\t\t\t// Hide the image file preview.\n\t\t\t\tthis.$( '.acf-icon-picker-media-library-preview-img' ).hide();\n\n\t\t\t\t// Show the dashicon preview.\n\t\t\t\tthis.$(\n\t\t\t\t\t'.acf-icon-picker-media-library-preview-dashicon'\n\t\t\t\t).show();\n\n\t\t\t\t// Show the preview container (it may have been hidden if nothing was ever selected yet).\n\t\t\t\tthis.$( '.acf-icon-picker-media-library-preview' ).show();\n\t\t\t}\n\t\t},\n\n\t\tasync onMediaLibraryButtonClick( e ) {\n\t\t\te.preventDefault();\n\n\t\t\tawait this.selectAndReturnAttachment().then( ( attachment ) => {\n\t\t\t\t// When an attachment is selected, update the preview and the hidden fields.\n\t\t\t\tthis.set( 'mediaLibraryPreviewUrl', attachment.attributes.url );\n\t\t\t\tthis.updateTypeAndValue( 'media_library', attachment.id );\n\t\t\t} );\n\t\t},\n\n\t\tselectAndReturnAttachment() {\n\t\t\treturn new Promise( ( resolve ) => {\n\t\t\t\tacf.newMediaPopup( {\n\t\t\t\t\tmode: 'select',\n\t\t\t\t\ttype: 'image',\n\t\t\t\t\ttitle: acf.__( 'Select Image' ),\n\t\t\t\t\tfield: this.get( 'key' ),\n\t\t\t\t\tmultiple: false,\n\t\t\t\t\tlibrary: 'all',\n\t\t\t\t\tallowedTypes: 'image',\n\t\t\t\t\tselect: resolve,\n\t\t\t\t} );\n\t\t\t} );\n\t\t},\n\n\t\talignUrlTabToCurrentValue( typeAndValue ) {\n\t\t\tif ( typeAndValue.type !== 'url' ) {\n\t\t\t\tthis.$( '.acf-icon_url' ).val( '' );\n\t\t\t}\n\t\t},\n\n\t\tonUrlChange( event ) {\n\t\t\tconst currentValue = event.target.value;\n\t\t\tthis.updateTypeAndValue( 'url', currentValue );\n\t\t},\n\t} );\n\n\tacf.registerFieldType( Field );\n} )( jQuery );\n","( function ( $, undefined ) {\n\tvar Field = acf.Field.extend( {\n\t\ttype: 'image',\n\n\t\t$control: function () {\n\t\t\treturn this.$( '.acf-image-uploader' );\n\t\t},\n\n\t\t$input: function () {\n\t\t\treturn this.$( 'input[type=\"hidden\"]:first' );\n\t\t},\n\n\t\tevents: {\n\t\t\t'click a[data-name=\"add\"]': 'onClickAdd',\n\t\t\t'click a[data-name=\"edit\"]': 'onClickEdit',\n\t\t\t'click a[data-name=\"remove\"]': 'onClickRemove',\n\t\t\t'change input[type=\"file\"]': 'onChange',\n\t\t},\n\n\t\tinitialize: function () {\n\t\t\t// add attribute to form\n\t\t\tif ( this.get( 'uploader' ) === 'basic' ) {\n\t\t\t\tthis.$el\n\t\t\t\t\t.closest( 'form' )\n\t\t\t\t\t.attr( 'enctype', 'multipart/form-data' );\n\t\t\t}\n\t\t},\n\n\t\tvalidateAttachment: function ( attachment ) {\n\t\t\t// Use WP attachment attributes when available.\n\t\t\tif ( attachment && attachment.attributes ) {\n\t\t\t\tattachment = attachment.attributes;\n\t\t\t}\n\n\t\t\t// Apply defaults.\n\t\t\tattachment = acf.parseArgs( attachment, {\n\t\t\t\tid: 0,\n\t\t\t\turl: '',\n\t\t\t\talt: '',\n\t\t\t\ttitle: '',\n\t\t\t\tcaption: '',\n\t\t\t\tdescription: '',\n\t\t\t\twidth: 0,\n\t\t\t\theight: 0,\n\t\t\t} );\n\n\t\t\t// Override with \"preview size\".\n\t\t\tvar size = acf.isget(\n\t\t\t\tattachment,\n\t\t\t\t'sizes',\n\t\t\t\tthis.get( 'preview_size' )\n\t\t\t);\n\t\t\tif ( size ) {\n\t\t\t\tattachment.url = size.url;\n\t\t\t\tattachment.width = size.width;\n\t\t\t\tattachment.height = size.height;\n\t\t\t}\n\n\t\t\t// Return.\n\t\t\treturn attachment;\n\t\t},\n\n\t\trender: function ( attachment ) {\n\t\t\tattachment = this.validateAttachment( attachment );\n\n\t\t\t// Update DOM.\n\t\t\tthis.$( 'img' ).attr( {\n\t\t\t\tsrc: attachment.url,\n\t\t\t\talt: attachment.alt,\n\t\t\t} );\n\t\t\tif ( attachment.id ) {\n\t\t\t\tthis.val( attachment.id );\n\t\t\t\tthis.$control().addClass( 'has-value' );\n\t\t\t} else {\n\t\t\t\tthis.val( '' );\n\t\t\t\tthis.$control().removeClass( 'has-value' );\n\t\t\t}\n\t\t},\n\n\t\t// create a new repeater row and render value\n\t\tappend: function ( attachment, parent ) {\n\t\t\t// create function to find next available field within parent\n\t\t\tvar getNext = function ( field, parent ) {\n\t\t\t\t// find existing file fields within parent\n\t\t\t\tvar fields = acf.getFields( {\n\t\t\t\t\tkey: field.get( 'key' ),\n\t\t\t\t\tparent: parent.$el,\n\t\t\t\t} );\n\n\t\t\t\t// find the first field with no value\n\t\t\t\tfor ( var i = 0; i < fields.length; i++ ) {\n\t\t\t\t\tif ( ! fields[ i ].val() ) {\n\t\t\t\t\t\treturn fields[ i ];\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// return\n\t\t\t\treturn false;\n\t\t\t};\n\n\t\t\t// find existing file fields within parent\n\t\t\tvar field = getNext( this, parent );\n\n\t\t\t// add new row if no available field\n\t\t\tif ( ! field ) {\n\t\t\t\tparent.$( '.acf-button:last' ).trigger( 'click' );\n\t\t\t\tfield = getNext( this, parent );\n\t\t\t}\n\n\t\t\t// render\n\t\t\tif ( field ) {\n\t\t\t\tfield.render( attachment );\n\t\t\t}\n\t\t},\n\n\t\tselectAttachment: function () {\n\t\t\t// vars\n\t\t\tvar parent = this.parent();\n\t\t\tvar multiple = parent && parent.get( 'type' ) === 'repeater';\n\n\t\t\t// new frame\n\t\t\tvar frame = acf.newMediaPopup( {\n\t\t\t\tmode: 'select',\n\t\t\t\ttype: 'image',\n\t\t\t\ttitle: acf.__( 'Select Image' ),\n\t\t\t\tfield: this.get( 'key' ),\n\t\t\t\tmultiple: multiple,\n\t\t\t\tlibrary: this.get( 'library' ),\n\t\t\t\tallowedTypes: this.get( 'mime_types' ),\n\t\t\t\tselect: $.proxy( function ( attachment, i ) {\n\t\t\t\t\tif ( i > 0 ) {\n\t\t\t\t\t\tthis.append( attachment, parent );\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.render( attachment );\n\t\t\t\t\t}\n\t\t\t\t}, this ),\n\t\t\t} );\n\t\t},\n\n\t\teditAttachment: function () {\n\t\t\t// vars\n\t\t\tvar val = this.val();\n\n\t\t\t// bail early if no val\n\t\t\tif ( ! val ) return;\n\n\t\t\t// popup\n\t\t\tvar frame = acf.newMediaPopup( {\n\t\t\t\tmode: 'edit',\n\t\t\t\ttitle: acf.__( 'Edit Image' ),\n\t\t\t\tbutton: acf.__( 'Update Image' ),\n\t\t\t\tattachment: val,\n\t\t\t\tfield: this.get( 'key' ),\n\t\t\t\tselect: $.proxy( function ( attachment, i ) {\n\t\t\t\t\tthis.render( attachment );\n\t\t\t\t}, this ),\n\t\t\t} );\n\t\t},\n\n\t\tremoveAttachment: function () {\n\t\t\tthis.render( false );\n\t\t},\n\n\t\tonClickAdd: function ( e, $el ) {\n\t\t\tthis.selectAttachment();\n\t\t},\n\n\t\tonClickEdit: function ( e, $el ) {\n\t\t\tthis.editAttachment();\n\t\t},\n\n\t\tonClickRemove: function ( e, $el ) {\n\t\t\tthis.removeAttachment();\n\t\t},\n\n\t\tonChange: function ( e, $el ) {\n\t\t\tvar $hiddenInput = this.$input();\n\n\t\t\tif ( ! $el.val() ) {\n\t\t\t\t$hiddenInput.val( '' );\n\t\t\t}\n\n\t\t\tacf.getFileInputData( $el, function ( data ) {\n\t\t\t\t$hiddenInput.val( $.param( data ) );\n\t\t\t} );\n\t\t},\n\t} );\n\n\tacf.registerFieldType( Field );\n} )( jQuery );\n","( function ( $, undefined ) {\n\tvar Field = acf.Field.extend( {\n\t\ttype: 'link',\n\n\t\tevents: {\n\t\t\t'click a[data-name=\"add\"]': 'onClickEdit',\n\t\t\t'click a[data-name=\"edit\"]': 'onClickEdit',\n\t\t\t'click a[data-name=\"remove\"]': 'onClickRemove',\n\t\t\t'change .link-node': 'onChange',\n\t\t},\n\n\t\t$control: function () {\n\t\t\treturn this.$( '.acf-link' );\n\t\t},\n\n\t\t$node: function () {\n\t\t\treturn this.$( '.link-node' );\n\t\t},\n\n\t\tgetValue: function () {\n\t\t\t// vars\n\t\t\tvar $node = this.$node();\n\n\t\t\t// return false if empty\n\t\t\tif ( ! $node.attr( 'href' ) ) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\t// return\n\t\t\treturn {\n\t\t\t\ttitle: $node.html(),\n\t\t\t\turl: $node.attr( 'href' ),\n\t\t\t\ttarget: $node.attr( 'target' ),\n\t\t\t};\n\t\t},\n\n\t\tsetValue: function ( val ) {\n\t\t\t// default\n\t\t\tval = acf.parseArgs( val, {\n\t\t\t\ttitle: '',\n\t\t\t\turl: '',\n\t\t\t\ttarget: '',\n\t\t\t} );\n\n\t\t\t// vars\n\t\t\tvar $div = this.$control();\n\t\t\tvar $node = this.$node();\n\n\t\t\t// remove class\n\t\t\t$div.removeClass( '-value -external' );\n\n\t\t\t// add class\n\t\t\tif ( val.url ) $div.addClass( '-value' );\n\t\t\tif ( val.target === '_blank' ) $div.addClass( '-external' );\n\n\t\t\t// update text\n\t\t\tthis.$( '.link-title' ).html( val.title );\n\t\t\tthis.$( '.link-url' ).attr( 'href', val.url ).html( val.url );\n\n\t\t\t// update node\n\t\t\t$node.html( val.title );\n\t\t\t$node.attr( 'href', val.url );\n\t\t\t$node.attr( 'target', val.target );\n\n\t\t\t// update inputs\n\t\t\tthis.$( '.input-title' ).val( val.title );\n\t\t\tthis.$( '.input-target' ).val( val.target );\n\t\t\tthis.$( '.input-url' ).val( val.url ).trigger( 'change' );\n\t\t},\n\n\t\tonClickEdit: function ( e, $el ) {\n\t\t\tacf.wpLink.open( this.$node() );\n\t\t},\n\n\t\tonClickRemove: function ( e, $el ) {\n\t\t\tthis.setValue( false );\n\t\t},\n\n\t\tonChange: function ( e, $el ) {\n\t\t\t// get the changed value\n\t\t\tvar val = this.getValue();\n\n\t\t\t// update inputs\n\t\t\tthis.setValue( val );\n\t\t},\n\t} );\n\n\tacf.registerFieldType( Field );\n\n\t// manager\n\tacf.wpLink = new acf.Model( {\n\t\tgetNodeValue: function () {\n\t\t\tvar $node = this.get( 'node' );\n\t\t\treturn {\n\t\t\t\ttitle: acf.decode( $node.html() ),\n\t\t\t\turl: $node.attr( 'href' ),\n\t\t\t\ttarget: $node.attr( 'target' ),\n\t\t\t};\n\t\t},\n\n\t\tsetNodeValue: function ( val ) {\n\t\t\tvar $node = this.get( 'node' );\n\t\t\t$node.text( val.title );\n\t\t\t$node.attr( 'href', val.url );\n\t\t\t$node.attr( 'target', val.target );\n\t\t\t$node.trigger( 'change' );\n\t\t},\n\n\t\tgetInputValue: function () {\n\t\t\treturn {\n\t\t\t\ttitle: $( '#wp-link-text' ).val(),\n\t\t\t\turl: $( '#wp-link-url' ).val(),\n\t\t\t\ttarget: $( '#wp-link-target' ).prop( 'checked' )\n\t\t\t\t\t? '_blank'\n\t\t\t\t\t: '',\n\t\t\t};\n\t\t},\n\n\t\tsetInputValue: function ( val ) {\n\t\t\t$( '#wp-link-text' ).val( val.title );\n\t\t\t$( '#wp-link-url' ).val( val.url );\n\t\t\t$( '#wp-link-target' ).prop( 'checked', val.target === '_blank' );\n\t\t},\n\n\t\topen: function ( $node ) {\n\t\t\t// add events\n\t\t\tthis.on( 'wplink-open', 'onOpen' );\n\t\t\tthis.on( 'wplink-close', 'onClose' );\n\n\t\t\t// set node\n\t\t\tthis.set( 'node', $node );\n\n\t\t\t// create textarea\n\t\t\tvar $textarea = $(\n\t\t\t\t''\n\t\t\t);\n\t\t\t$( 'body' ).append( $textarea );\n\n\t\t\t// vars\n\t\t\tvar val = this.getNodeValue();\n\n\t\t\t// open popup\n\t\t\twpLink.open( 'acf-link-textarea', val.url, val.title, null );\n\t\t},\n\n\t\tonOpen: function () {\n\t\t\t// always show title (WP will hide title if empty)\n\t\t\t$( '#wp-link-wrap' ).addClass( 'has-text-field' );\n\n\t\t\t// set inputs\n\t\t\tvar val = this.getNodeValue();\n\t\t\tthis.setInputValue( val );\n\n\t\t\t// Update button text.\n\t\t\tif ( val.url && wpLinkL10n ) {\n\t\t\t\t$( '#wp-link-submit' ).val( wpLinkL10n.update );\n\t\t\t}\n\t\t},\n\n\t\tclose: function () {\n\t\t\twpLink.close();\n\t\t},\n\n\t\tonClose: function () {\n\t\t\t// Bail early if no node.\n\t\t\t// Needed due to WP triggering this event twice.\n\t\t\tif ( ! this.has( 'node' ) ) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\t// Determine context.\n\t\t\tvar $submit = $( '#wp-link-submit' );\n\t\t\tvar isSubmit = $submit.is( ':hover' ) || $submit.is( ':focus' );\n\n\t\t\t// Set value\n\t\t\tif ( isSubmit ) {\n\t\t\t\tvar val = this.getInputValue();\n\t\t\t\tthis.setNodeValue( val );\n\t\t\t}\n\n\t\t\t// Cleanup.\n\t\t\tthis.off( 'wplink-open' );\n\t\t\tthis.off( 'wplink-close' );\n\t\t\t$( '#acf-link-textarea' ).remove();\n\t\t\tthis.set( 'node', null );\n\t\t},\n\t} );\n} )( jQuery );\n","( function ( $, undefined ) {\n\tvar Field = acf.Field.extend( {\n\t\ttype: 'oembed',\n\n\t\tevents: {\n\t\t\t'click [data-name=\"clear-button\"]': 'onClickClear',\n\t\t\t'keypress .input-search': 'onKeypressSearch',\n\t\t\t'keyup .input-search': 'onKeyupSearch',\n\t\t\t'change .input-search': 'onChangeSearch',\n\t\t},\n\n\t\t$control: function () {\n\t\t\treturn this.$( '.acf-oembed' );\n\t\t},\n\n\t\t$input: function () {\n\t\t\treturn this.$( '.input-value' );\n\t\t},\n\n\t\t$search: function () {\n\t\t\treturn this.$( '.input-search' );\n\t\t},\n\n\t\tgetValue: function () {\n\t\t\treturn this.$input().val();\n\t\t},\n\n\t\tgetSearchVal: function () {\n\t\t\treturn this.$search().val();\n\t\t},\n\n\t\tsetValue: function ( val ) {\n\t\t\t// class\n\t\t\tif ( val ) {\n\t\t\t\tthis.$control().addClass( 'has-value' );\n\t\t\t} else {\n\t\t\t\tthis.$control().removeClass( 'has-value' );\n\t\t\t}\n\n\t\t\tacf.val( this.$input(), val );\n\t\t},\n\n\t\tshowLoading: function ( show ) {\n\t\t\tacf.showLoading( this.$( '.canvas' ) );\n\t\t},\n\n\t\thideLoading: function () {\n\t\t\tacf.hideLoading( this.$( '.canvas' ) );\n\t\t},\n\n\t\tmaybeSearch: function () {\n\t\t\t// vars\n\t\t\tvar prevUrl = this.val();\n\t\t\tvar url = this.getSearchVal();\n\n\t\t\t// no value\n\t\t\tif ( ! url ) {\n\t\t\t\treturn this.clear();\n\t\t\t}\n\n\t\t\t// fix missing 'http://' - causes the oembed code to error and fail\n\t\t\tif ( url.substr( 0, 4 ) != 'http' ) {\n\t\t\t\turl = 'http://' + url;\n\t\t\t}\n\n\t\t\t// bail early if no change\n\t\t\tif ( url === prevUrl ) return;\n\n\t\t\t// clear existing timeout\n\t\t\tvar timeout = this.get( 'timeout' );\n\t\t\tif ( timeout ) {\n\t\t\t\tclearTimeout( timeout );\n\t\t\t}\n\n\t\t\t// set new timeout\n\t\t\tvar callback = $.proxy( this.search, this, url );\n\t\t\tthis.set( 'timeout', setTimeout( callback, 300 ) );\n\t\t},\n\n\t\tsearch: function ( url ) {\n\t\t\t// ajax\n\t\t\tvar ajaxData = {\n\t\t\t\taction: 'acf/fields/oembed/search',\n\t\t\t\ts: url,\n\t\t\t\tfield_key: this.get( 'key' ),\n\t\t\t};\n\n\t\t\t// clear existing timeout\n\t\t\tvar xhr = this.get( 'xhr' );\n\t\t\tif ( xhr ) {\n\t\t\t\txhr.abort();\n\t\t\t}\n\n\t\t\t// loading\n\t\t\tthis.showLoading();\n\n\t\t\t// query\n\t\t\tvar xhr = $.ajax( {\n\t\t\t\turl: acf.get( 'ajaxurl' ),\n\t\t\t\tdata: acf.prepareForAjax( ajaxData ),\n\t\t\t\ttype: 'post',\n\t\t\t\tdataType: 'json',\n\t\t\t\tcontext: this,\n\t\t\t\tsuccess: function ( json ) {\n\t\t\t\t\t// error\n\t\t\t\t\tif ( ! json || ! json.html ) {\n\t\t\t\t\t\tjson = {\n\t\t\t\t\t\t\turl: false,\n\t\t\t\t\t\t\thtml: '',\n\t\t\t\t\t\t};\n\t\t\t\t\t}\n\n\t\t\t\t\t// update vars\n\t\t\t\t\tthis.val( json.url );\n\t\t\t\t\tthis.$( '.canvas-media' ).html( json.html );\n\t\t\t\t},\n\t\t\t\tcomplete: function () {\n\t\t\t\t\tthis.hideLoading();\n\t\t\t\t},\n\t\t\t} );\n\n\t\t\tthis.set( 'xhr', xhr );\n\t\t},\n\n\t\tclear: function () {\n\t\t\tthis.val( '' );\n\t\t\tthis.$search().val( '' );\n\t\t\tthis.$( '.canvas-media' ).html( '' );\n\t\t},\n\n\t\tonClickClear: function ( e, $el ) {\n\t\t\tthis.clear();\n\t\t},\n\n\t\tonKeypressSearch: function ( e, $el ) {\n\t\t\tif ( e.which == 13 ) {\n\t\t\t\te.preventDefault();\n\t\t\t\tthis.maybeSearch();\n\t\t\t}\n\t\t},\n\n\t\tonKeyupSearch: function ( e, $el ) {\n\t\t\tif ( $el.val() ) {\n\t\t\t\tthis.maybeSearch();\n\t\t\t}\n\t\t},\n\n\t\tonChangeSearch: function ( e, $el ) {\n\t\t\tthis.maybeSearch();\n\t\t},\n\t} );\n\n\tacf.registerFieldType( Field );\n} )( jQuery );\n","( function ( $, undefined ) {\n\tvar Field = acf.models.SelectField.extend( {\n\t\ttype: 'page_link',\n\t} );\n\n\tacf.registerFieldType( Field );\n} )( jQuery );\n","( function ( $, undefined ) {\n\tvar Field = acf.models.SelectField.extend( {\n\t\ttype: 'post_object',\n\t} );\n\n\tacf.registerFieldType( Field );\n} )( jQuery );\n","( function ( $, undefined ) {\n\tvar Field = acf.Field.extend( {\n\t\ttype: 'radio',\n\n\t\tevents: {\n\t\t\t'click input[type=\"radio\"]': 'onClick',\n\t\t},\n\n\t\t$control: function () {\n\t\t\treturn this.$( '.acf-radio-list' );\n\t\t},\n\n\t\t$input: function () {\n\t\t\treturn this.$( 'input:checked' );\n\t\t},\n\n\t\t$inputText: function () {\n\t\t\treturn this.$( 'input[type=\"text\"]' );\n\t\t},\n\n\t\tgetValue: function () {\n\t\t\tvar val = this.$input().val();\n\t\t\tif ( val === 'other' && this.get( 'other_choice' ) ) {\n\t\t\t\tval = this.$inputText().val();\n\t\t\t}\n\t\t\treturn val;\n\t\t},\n\n\t\tonClick: function ( e, $el ) {\n\t\t\t// vars\n\t\t\tvar $label = $el.parent( 'label' );\n\t\t\tvar selected = $label.hasClass( 'selected' );\n\t\t\tvar val = $el.val();\n\n\t\t\t// remove previous selected\n\t\t\tthis.$( '.selected' ).removeClass( 'selected' );\n\n\t\t\t// add active class\n\t\t\t$label.addClass( 'selected' );\n\n\t\t\t// allow null\n\t\t\tif ( this.get( 'allow_null' ) && selected ) {\n\t\t\t\t$label.removeClass( 'selected' );\n\t\t\t\t$el.prop( 'checked', false ).trigger( 'change' );\n\t\t\t\tval = false;\n\t\t\t}\n\n\t\t\t// other\n\t\t\tif ( this.get( 'other_choice' ) ) {\n\t\t\t\t// enable\n\t\t\t\tif ( val === 'other' ) {\n\t\t\t\t\tthis.$inputText().prop( 'disabled', false );\n\n\t\t\t\t\t// disable\n\t\t\t\t} else {\n\t\t\t\t\tthis.$inputText().prop( 'disabled', true );\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t} );\n\n\tacf.registerFieldType( Field );\n} )( jQuery );\n","( function ( $, undefined ) {\n\tvar Field = acf.Field.extend( {\n\t\ttype: 'range',\n\n\t\tevents: {\n\t\t\t'input input[type=\"range\"]': 'onChange',\n\t\t\t'change input': 'onChange',\n\t\t},\n\n\t\t$input: function () {\n\t\t\treturn this.$( 'input[type=\"range\"]' );\n\t\t},\n\n\t\t$inputAlt: function () {\n\t\t\treturn this.$( 'input[type=\"number\"]' );\n\t\t},\n\n\t\tsetValue: function ( val ) {\n\t\t\tthis.busy = true;\n\n\t\t\t// Update range input (with change).\n\t\t\tacf.val( this.$input(), val );\n\n\t\t\t// Update alt input (without change).\n\t\t\t// Read in input value to inherit min/max validation.\n\t\t\tacf.val( this.$inputAlt(), this.$input().val(), true );\n\n\t\t\tthis.busy = false;\n\t\t},\n\n\t\tonChange: function ( e, $el ) {\n\t\t\tif ( ! this.busy ) {\n\t\t\t\tthis.setValue( $el.val() );\n\t\t\t}\n\t\t},\n\t} );\n\n\tacf.registerFieldType( Field );\n} )( jQuery );\n","( function ( $, undefined ) {\n\tvar Field = acf.Field.extend( {\n\t\ttype: 'relationship',\n\n\t\tevents: {\n\t\t\t'keypress [data-filter]': 'onKeypressFilter',\n\t\t\t'change [data-filter]': 'onChangeFilter',\n\t\t\t'keyup [data-filter]': 'onChangeFilter',\n\t\t\t'click .choices-list .acf-rel-item': 'onClickAdd',\n\t\t\t'keypress .choices-list .acf-rel-item': 'onKeypressFilter',\n\t\t\t'keypress .values-list .acf-rel-item': 'onKeypressFilter',\n\t\t\t'click [data-name=\"remove_item\"]': 'onClickRemove',\n\t\t\t'touchstart .values-list .acf-rel-item': 'onTouchStartValues',\n\t\t},\n\n\t\t$control: function () {\n\t\t\treturn this.$( '.acf-relationship' );\n\t\t},\n\n\t\t$list: function ( list ) {\n\t\t\treturn this.$( '.' + list + '-list' );\n\t\t},\n\n\t\t$listItems: function ( list ) {\n\t\t\treturn this.$list( list ).find( '.acf-rel-item' );\n\t\t},\n\n\t\t$listItem: function ( list, id ) {\n\t\t\treturn this.$list( list ).find(\n\t\t\t\t'.acf-rel-item[data-id=\"' + id + '\"]'\n\t\t\t);\n\t\t},\n\n\t\tgetValue: function () {\n\t\t\tvar val = [];\n\t\t\tthis.$listItems( 'values' ).each( function () {\n\t\t\t\tval.push( $( this ).data( 'id' ) );\n\t\t\t} );\n\t\t\treturn val.length ? val : false;\n\t\t},\n\n\t\tnewChoice: function ( props ) {\n\t\t\treturn [\n\t\t\t\t'
        • ',\n\t\t\t\t'' +\n\t\t\t\t\tprops.text +\n\t\t\t\t\t'',\n\t\t\t\t'
        • ',\n\t\t\t].join( '' );\n\t\t},\n\n\t\tnewValue: function ( props ) {\n\t\t\treturn [\n\t\t\t\t'
        • ',\n\t\t\t\t'',\n\t\t\t\t'' +\n\t\t\t\t\tprops.text,\n\t\t\t\t'',\n\t\t\t\t'',\n\t\t\t\t'
        • ',\n\t\t\t].join( '' );\n\t\t},\n\n\t\tinitialize: function () {\n\t\t\t// Delay initialization until \"interacted with\" or \"in view\".\n\t\t\tvar delayed = this.proxy(\n\t\t\t\tacf.once( function () {\n\t\t\t\t\t// Add sortable.\n\t\t\t\t\tthis.$list( 'values' ).sortable( {\n\t\t\t\t\t\titems: 'li',\n\t\t\t\t\t\tforceHelperSize: true,\n\t\t\t\t\t\tforcePlaceholderSize: true,\n\t\t\t\t\t\tscroll: true,\n\t\t\t\t\t\tupdate: this.proxy( function () {\n\t\t\t\t\t\t\tthis.$input().trigger( 'change' );\n\t\t\t\t\t\t} ),\n\t\t\t\t\t} );\n\n\t\t\t\t\t// Avoid browser remembering old scroll position and add event.\n\t\t\t\t\tthis.$list( 'choices' )\n\t\t\t\t\t\t.scrollTop( 0 )\n\t\t\t\t\t\t.on( 'scroll', this.proxy( this.onScrollChoices ) );\n\n\t\t\t\t\t// Fetch choices.\n\t\t\t\t\tthis.fetch();\n\t\t\t\t} )\n\t\t\t);\n\n\t\t\t// Bind \"interacted with\".\n\t\t\tthis.$el.one( 'mouseover', delayed );\n\t\t\tthis.$el.one( 'focus', 'input', delayed );\n\n\t\t\t// Bind \"in view\".\n\t\t\tacf.onceInView( this.$el, delayed );\n\t\t},\n\n\t\tonScrollChoices: function ( e ) {\n\t\t\t// bail early if no more results\n\t\t\tif ( this.get( 'loading' ) || ! this.get( 'more' ) ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Scrolled to bottom\n\t\t\tvar $list = this.$list( 'choices' );\n\t\t\tvar scrollTop = Math.ceil( $list.scrollTop() );\n\t\t\tvar scrollHeight = Math.ceil( $list[ 0 ].scrollHeight );\n\t\t\tvar innerHeight = Math.ceil( $list.innerHeight() );\n\t\t\tvar paged = this.get( 'paged' ) || 1;\n\t\t\tif ( scrollTop + innerHeight >= scrollHeight ) {\n\t\t\t\t// update paged\n\t\t\t\tthis.set( 'paged', paged + 1 );\n\n\t\t\t\t// fetch\n\t\t\t\tthis.fetch();\n\t\t\t}\n\t\t},\n\n\t\tonKeypressFilter: function ( e, $el ) {\n\t\t\t// Receive enter key when selecting relationship items.\n\t\t\tif ( $el.hasClass( 'acf-rel-item-add' ) && e.which == 13 ) {\n\t\t\t\tthis.onClickAdd(e, $el);\n\t\t\t}\n\t\t\t// Receive enter key when removing relationship items.\n\t\t\tif ( $el.hasClass( 'acf-rel-item-remove' ) && e.which == 13 ) {\n\t\t\t\tthis.onClickRemove(e, $el);\n\t\t\t}\n\t\t\t// don't submit form\n\t\t\tif ( e.which == 13 ) {\n\t\t\t\te.preventDefault();\n\t\t\t}\n\t\t},\n\n\t\tonChangeFilter: function ( e, $el ) {\n\t\t\t// vars\n\t\t\tvar val = $el.val();\n\t\t\tvar filter = $el.data( 'filter' );\n\n\t\t\t// Bail early if filter has not changed\n\t\t\tif ( this.get( filter ) === val ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// update attr\n\t\t\tthis.set( filter, val );\n\n\t\t\tif ( filter === 's' ) {\n\t\t\t\t// If val is numeric, limit results to include.\n\t\t\t\tif ( parseInt( val ) ) {\n\t\t\t\t\tthis.set( 'include', val );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// reset paged\n\t\t\tthis.set( 'paged', 1 );\n\n\t\t\t// fetch\n\t\t\tif ( $el.is( 'select' ) ) {\n\t\t\t\tthis.fetch();\n\n\t\t\t\t// search must go through timeout\n\t\t\t} else {\n\t\t\t\tthis.maybeFetch();\n\t\t\t}\n\t\t},\n\n\t\tonClickAdd: function ( e, $el ) {\n\t\t\t// vars\n\t\t\tvar val = this.val();\n\t\t\tvar max = parseInt( this.get( 'max' ) );\n\n\t\t\t// can be added?\n\t\t\tif ( $el.hasClass( 'disabled' ) ) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\t// validate\n\t\t\tif ( max > 0 && val && val.length >= max ) {\n\t\t\t\t// add notice\n\t\t\t\tthis.showNotice( {\n\t\t\t\t\ttext: acf\n\t\t\t\t\t\t.__( 'Maximum values reached ( {max} values )' )\n\t\t\t\t\t\t.replace( '{max}', max ),\n\t\t\t\t\ttype: 'warning',\n\t\t\t\t} );\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\t// disable\n\t\t\t$el.addClass( 'disabled' );\n\n\t\t\t// add\n\t\t\tvar html = this.newValue( {\n\t\t\t\tid: $el.data( 'id' ),\n\t\t\t\ttext: $el.html(),\n\t\t\t} );\n\t\t\tthis.$list( 'values' ).append( html );\n\n\t\t\t// trigger change\n\t\t\tthis.$input().trigger( 'change' );\n\t\t},\n\n\t\tonClickRemove: function ( e, $el ) {\n\t\t\t// Prevent default here because generic handler wont be triggered.\n\t\t\te.preventDefault();\n\n\t\t\tlet $span;\n\t\t\t// Behavior if triggered from tabbed event.\n\t\t\tif ( $el.hasClass( 'acf-rel-item-remove' )) {\n\t\t\t\t$span = $el;\n\t\t\t} else {\n\t\t\t\t// Behavior if triggered through click event.\n\t\t\t\t$span = $el.parent();\n\t\t\t}\n\n\t\t\t// vars\n\t\t\tconst $li = $span.parent();\n\t\t\tconst id = $span.data( 'id' );\n\n\t\t\t// remove value\n\t\t\t$li.remove();\n\n\t\t\t// show choice\n\t\t\tthis.$listItem( 'choices', id ).removeClass( 'disabled' );\n\n\t\t\t// trigger change\n\t\t\tthis.$input().trigger( 'change' );\n\t\t},\n\n\t\tonTouchStartValues: function( e, $el ) {\n\t\t\t$( this.$listItems( 'values' ) ).removeClass( 'relationship-hover' );\n\t\t\t$el.addClass( 'relationship-hover' );\n\t\t},\n\n\t\tmaybeFetch: function () {\n\t\t\t// vars\n\t\t\tvar timeout = this.get( 'timeout' );\n\n\t\t\t// abort timeout\n\t\t\tif ( timeout ) {\n\t\t\t\tclearTimeout( timeout );\n\t\t\t}\n\n\t\t\t// fetch\n\t\t\ttimeout = this.setTimeout( this.fetch, 300 );\n\t\t\tthis.set( 'timeout', timeout );\n\t\t},\n\n\t\tgetAjaxData: function () {\n\t\t\t// load data based on element attributes\n\t\t\tvar ajaxData = this.$control().data();\n\t\t\tfor ( var name in ajaxData ) {\n\t\t\t\tajaxData[ name ] = this.get( name );\n\t\t\t}\n\n\t\t\t// extra\n\t\t\tajaxData.action = 'acf/fields/relationship/query';\n\t\t\tajaxData.field_key = this.get( 'key' );\n\n\t\t\t// Filter.\n\t\t\tajaxData = acf.applyFilters(\n\t\t\t\t'relationship_ajax_data',\n\t\t\t\tajaxData,\n\t\t\t\tthis\n\t\t\t);\n\n\t\t\t// return\n\t\t\treturn ajaxData;\n\t\t},\n\n\t\tfetch: function () {\n\t\t\t// abort XHR if this field is already loading AJAX data\n\t\t\tvar xhr = this.get( 'xhr' );\n\t\t\tif ( xhr ) {\n\t\t\t\txhr.abort();\n\t\t\t}\n\n\t\t\t// add to this.o\n\t\t\tvar ajaxData = this.getAjaxData();\n\n\t\t\t// clear html if is new query\n\t\t\tvar $choiceslist = this.$list( 'choices' );\n\t\t\tif ( ajaxData.paged == 1 ) {\n\t\t\t\t$choiceslist.html( '' );\n\t\t\t}\n\n\t\t\t// loading\n\t\t\tvar $loading = $(\n\t\t\t\t'
        • ' +\n\t\t\t\t\tacf.__( 'Loading' ) +\n\t\t\t\t\t'
        • '\n\t\t\t);\n\t\t\t$choiceslist.append( $loading );\n\t\t\tthis.set( 'loading', true );\n\n\t\t\t// callback\n\t\t\tvar onComplete = function () {\n\t\t\t\tthis.set( 'loading', false );\n\t\t\t\t$loading.remove();\n\t\t\t};\n\n\t\t\tvar onSuccess = function ( json ) {\n\t\t\t\t// no results\n\t\t\t\tif ( ! json || ! json.results || ! json.results.length ) {\n\t\t\t\t\t// prevent pagination\n\t\t\t\t\tthis.set( 'more', false );\n\n\t\t\t\t\t// add message\n\t\t\t\t\tif ( this.get( 'paged' ) == 1 ) {\n\t\t\t\t\t\tthis.$list( 'choices' ).append(\n\t\t\t\t\t\t\t'
        • ' + acf.__( 'No matches found' ) + '
        • '\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\n\t\t\t\t\t// return\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\t// set more (allows pagination scroll)\n\t\t\t\tthis.set( 'more', json.more );\n\n\t\t\t\t// get new results\n\t\t\t\tvar html = this.walkChoices( json.results );\n\t\t\t\tvar $html = $( html );\n\n\t\t\t\t// apply .disabled to left li's\n\t\t\t\tvar val = this.val();\n\t\t\t\tif ( val && val.length ) {\n\t\t\t\t\tval.map( function ( id ) {\n\t\t\t\t\t\t$html\n\t\t\t\t\t\t\t.find( '.acf-rel-item[data-id=\"' + id + '\"]' )\n\t\t\t\t\t\t\t.addClass( 'disabled' );\n\t\t\t\t\t} );\n\t\t\t\t}\n\n\t\t\t\t// append\n\t\t\t\t$choiceslist.append( $html );\n\n\t\t\t\t// merge together groups\n\t\t\t\tvar $prevLabel = false;\n\t\t\t\tvar $prevList = false;\n\n\t\t\t\t$choiceslist.find( '.acf-rel-label' ).each( function () {\n\t\t\t\t\tvar $label = $( this );\n\t\t\t\t\tvar $list = $label.siblings( 'ul' );\n\n\t\t\t\t\tif ( $prevLabel && $prevLabel.text() == $label.text() ) {\n\t\t\t\t\t\t$prevList.append( $list.children() );\n\t\t\t\t\t\t$( this ).parent().remove();\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\t// update vars\n\t\t\t\t\t$prevLabel = $label;\n\t\t\t\t\t$prevList = $list;\n\t\t\t\t} );\n\t\t\t};\n\n\t\t\t// get results\n\t\t\tvar xhr = $.ajax( {\n\t\t\t\turl: acf.get( 'ajaxurl' ),\n\t\t\t\tdataType: 'json',\n\t\t\t\ttype: 'post',\n\t\t\t\tdata: acf.prepareForAjax( ajaxData ),\n\t\t\t\tcontext: this,\n\t\t\t\tsuccess: onSuccess,\n\t\t\t\tcomplete: onComplete,\n\t\t\t} );\n\n\t\t\t// set\n\t\t\tthis.set( 'xhr', xhr );\n\t\t},\n\n\t\twalkChoices: function ( data ) {\n\t\t\t// walker\n\t\t\tvar walk = function ( data ) {\n\t\t\t\t// vars\n\t\t\t\tvar html = '';\n\n\t\t\t\t// is array\n\t\t\t\tif ( $.isArray( data ) ) {\n\t\t\t\t\tdata.map( function ( item ) {\n\t\t\t\t\t\thtml += walk( item );\n\t\t\t\t\t} );\n\n\t\t\t\t\t// is item\n\t\t\t\t} else if ( $.isPlainObject( data ) ) {\n\t\t\t\t\t// group\n\t\t\t\t\tif ( data.children !== undefined ) {\n\t\t\t\t\t\thtml +=\n\t\t\t\t\t\t\t'
        • ' +\n\t\t\t\t\t\t\tacf.escHtml( data.text ) +\n\t\t\t\t\t\t\t'
            ';\n\t\t\t\t\t\thtml += walk( data.children );\n\t\t\t\t\t\thtml += '
        • ';\n\n\t\t\t\t\t\t// single\n\t\t\t\t\t} else {\n\t\t\t\t\t\thtml +=\n\t\t\t\t\t\t\t'
        • ' +\n\t\t\t\t\t\t\tacf.escHtml( data.text ) +\n\t\t\t\t\t\t\t'
        • ';\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// return\n\t\t\t\treturn html;\n\t\t\t};\n\n\t\t\treturn walk( data );\n\t\t},\n\t} );\n\n\tacf.registerFieldType( Field );\n} )( jQuery );\n","( function ( $, undefined ) {\n\tvar Field = acf.Field.extend( {\n\t\ttype: 'select',\n\n\t\tselect2: false,\n\n\t\twait: 'load',\n\n\t\tevents: {\n\t\t\tremoveField: 'onRemove',\n\t\t\tduplicateField: 'onDuplicate',\n\t\t},\n\n\t\t$input: function () {\n\t\t\treturn this.$( 'select' );\n\t\t},\n\n\t\tinitialize: function () {\n\t\t\t// vars\n\t\t\tvar $select = this.$input();\n\n\t\t\t// inherit data\n\t\t\tthis.inherit( $select );\n\n\t\t\t// select2\n\t\t\tif ( this.get( 'ui' ) ) {\n\t\t\t\t// populate ajax_data (allowing custom attribute to already exist)\n\t\t\t\tvar ajaxAction = this.get( 'ajax_action' );\n\t\t\t\tif ( ! ajaxAction ) {\n\t\t\t\t\tajaxAction = 'acf/fields/' + this.get( 'type' ) + '/query';\n\t\t\t\t}\n\n\t\t\t\t// select2\n\t\t\t\tthis.select2 = acf.newSelect2( $select, {\n\t\t\t\t\tfield: this,\n\t\t\t\t\tajax: this.get( 'ajax' ),\n\t\t\t\t\tmultiple: this.get( 'multiple' ),\n\t\t\t\t\tplaceholder: this.get( 'placeholder' ),\n\t\t\t\t\tallowNull: this.get( 'allow_null' ),\n\t\t\t\t\tajaxAction: ajaxAction,\n\t\t\t\t} );\n\t\t\t}\n\t\t},\n\n\t\tonRemove: function () {\n\t\t\tif ( this.select2 ) {\n\t\t\t\tthis.select2.destroy();\n\t\t\t}\n\t\t},\n\n\t\tonDuplicate: function ( e, $el, $duplicate ) {\n\t\t\tif ( this.select2 ) {\n\t\t\t\t$duplicate.find( '.select2-container' ).remove();\n\t\t\t\t$duplicate\n\t\t\t\t\t.find( 'select' )\n\t\t\t\t\t.removeClass( 'select2-hidden-accessible' );\n\t\t\t}\n\t\t},\n\t} );\n\n\tacf.registerFieldType( Field );\n} )( jQuery );\n","( function ( $, undefined ) {\n\t// vars\n\tvar CONTEXT = 'tab';\n\n\tvar Field = acf.Field.extend( {\n\t\ttype: 'tab',\n\n\t\twait: '',\n\n\t\ttabs: false,\n\n\t\ttab: false,\n\n\t\tevents: {\n\t\t\tduplicateField: 'onDuplicate',\n\t\t},\n\n\t\tfindFields: function () {\n\t\t\tlet filter;\n\n\t\t\t/**\n\t\t\t * Tabs in the admin UI that can be extended by third\n\t\t\t * parties have the child settings wrapped inside an extra div,\n\t\t\t * so we need to look for that instead of an adjacent .acf-field.\n\t\t\t */\n\t\t\tswitch ( this.get( 'key' ) ) {\n\t\t\t\tcase 'acf_field_settings_tabs':\n\t\t\t\t\tfilter = '.acf-field-settings-main';\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'acf_field_group_settings_tabs':\n\t\t\t\t\tfilter = '.field-group-settings-tab';\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'acf_browse_fields_tabs':\n\t\t\t\t\tfilter = '.acf-field-types-tab';\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'acf_icon_picker_tabs':\n\t\t\t\t\tfilter = '.acf-icon-picker-tabs';\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'acf_post_type_tabs':\n\t\t\t\t\tfilter = '.acf-post-type-advanced-settings';\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'acf_taxonomy_tabs':\n\t\t\t\t\tfilter = '.acf-taxonomy-advanced-settings';\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'acf_ui_options_page_tabs':\n\t\t\t\t\tfilter = '.acf-ui-options-page-advanced-settings';\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tfilter = '.acf-field';\n\t\t\t}\n\n\t\t\treturn this.$el.nextUntil( '.acf-field-tab', filter );\n\t\t},\n\n\t\tgetFields: function () {\n\t\t\treturn acf.getFields( this.findFields() );\n\t\t},\n\n\t\tfindTabs: function () {\n\t\t\treturn this.$el.prevAll( '.acf-tab-wrap:first' );\n\t\t},\n\n\t\tfindTab: function () {\n\t\t\treturn this.$( '.acf-tab-button' );\n\t\t},\n\n\t\tinitialize: function () {\n\t\t\t// bail early if is td\n\t\t\tif ( this.$el.is( 'td' ) ) {\n\t\t\t\tthis.events = {};\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\t// vars\n\t\t\tvar $tabs = this.findTabs();\n\t\t\tvar $tab = this.findTab();\n\t\t\tvar settings = acf.parseArgs( $tab.data(), {\n\t\t\t\tendpoint: false,\n\t\t\t\tplacement: '',\n\t\t\t\tbefore: this.$el,\n\t\t\t} );\n\n\t\t\t// create wrap\n\t\t\tif ( ! $tabs.length || settings.endpoint ) {\n\t\t\t\tthis.tabs = new Tabs( settings );\n\t\t\t} else {\n\t\t\t\tthis.tabs = $tabs.data( 'acf' );\n\t\t\t}\n\n\t\t\t// add tab\n\t\t\tthis.tab = this.tabs.addTab( $tab, this );\n\t\t},\n\n\t\tisActive: function () {\n\t\t\treturn this.tab.isActive();\n\t\t},\n\n\t\tshowFields: function () {\n\t\t\t// show fields\n\t\t\tthis.getFields().map( function ( field ) {\n\t\t\t\tfield.show( this.cid, CONTEXT );\n\t\t\t\tfield.hiddenByTab = false;\n\t\t\t}, this );\n\t\t},\n\n\t\thideFields: function () {\n\t\t\t// hide fields\n\t\t\tthis.getFields().map( function ( field ) {\n\t\t\t\tfield.hide( this.cid, CONTEXT );\n\t\t\t\tfield.hiddenByTab = this.tab;\n\t\t\t}, this );\n\t\t},\n\n\t\tshow: function ( lockKey ) {\n\t\t\t// show field and store result\n\t\t\tvar visible = acf.Field.prototype.show.apply( this, arguments );\n\n\t\t\t// check if now visible\n\t\t\tif ( visible ) {\n\t\t\t\t// show tab\n\t\t\t\tthis.tab.show();\n\n\t\t\t\t// check active tabs\n\t\t\t\tthis.tabs.refresh();\n\t\t\t}\n\n\t\t\t// return\n\t\t\treturn visible;\n\t\t},\n\n\t\thide: function ( lockKey ) {\n\t\t\t// hide field and store result\n\t\t\tvar hidden = acf.Field.prototype.hide.apply( this, arguments );\n\n\t\t\t// check if now hidden\n\t\t\tif ( hidden ) {\n\t\t\t\t// hide tab\n\t\t\t\tthis.tab.hide();\n\n\t\t\t\t// reset tabs if this was active\n\t\t\t\tif ( this.isActive() ) {\n\t\t\t\t\tthis.tabs.reset();\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// return\n\t\t\treturn hidden;\n\t\t},\n\n\t\tenable: function ( lockKey ) {\n\t\t\t// enable fields\n\t\t\tthis.getFields().map( function ( field ) {\n\t\t\t\tfield.enable( CONTEXT );\n\t\t\t} );\n\t\t},\n\n\t\tdisable: function ( lockKey ) {\n\t\t\t// disable fields\n\t\t\tthis.getFields().map( function ( field ) {\n\t\t\t\tfield.disable( CONTEXT );\n\t\t\t} );\n\t\t},\n\n\t\tonDuplicate: function ( e, $el, $duplicate ) {\n\t\t\tif ( this.isActive() ) {\n\t\t\t\t$duplicate.prevAll( '.acf-tab-wrap:first' ).remove();\n\t\t\t}\n\t\t},\n\t} );\n\n\tacf.registerFieldType( Field );\n\n\t/**\n\t * tabs\n\t *\n\t * description\n\t *\n\t * @date\t8/2/18\n\t * @since\t5.6.5\n\t *\n\t * @param\ttype $var Description. Default.\n\t * @return\ttype Description.\n\t */\n\n\tvar i = 0;\n\tvar Tabs = acf.Model.extend( {\n\t\ttabs: [],\n\n\t\tactive: false,\n\n\t\tactions: {\n\t\t\trefresh: 'onRefresh',\n\t\t\tclose_field_object: 'onCloseFieldObject',\n\t\t},\n\n\t\tdata: {\n\t\t\tbefore: false,\n\t\t\tplacement: 'top',\n\t\t\tindex: 0,\n\t\t\tinitialized: false,\n\t\t},\n\n\t\tsetup: function ( settings ) {\n\t\t\t// data\n\t\t\t$.extend( this.data, settings );\n\n\t\t\t// define this prop to avoid scope issues\n\t\t\tthis.tabs = [];\n\t\t\tthis.active = false;\n\n\t\t\t// vars\n\t\t\tvar placement = this.get( 'placement' );\n\t\t\tvar $before = this.get( 'before' );\n\t\t\tvar $parent = $before.parent();\n\n\t\t\t// add sidebar for left placement\n\t\t\tif ( placement == 'left' && $parent.hasClass( 'acf-fields' ) ) {\n\t\t\t\t$parent.addClass( '-sidebar' );\n\t\t\t}\n\n\t\t\t// create wrap\n\t\t\tif ( $before.is( 'tr' ) ) {\n\t\t\t\tthis.$el = $(\n\t\t\t\t\t'
          '\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\tlet ulClass = 'acf-hl acf-tab-group';\n\n\t\t\t\tif ( this.get( 'key' ) === 'acf_field_settings_tabs' ) {\n\t\t\t\t\tulClass = 'acf-field-settings-tab-bar';\n\t\t\t\t}\n\n\t\t\t\tthis.$el = $(\n\t\t\t\t\t'
            '\n\t\t\t\t);\n\t\t\t}\n\n\t\t\t// append\n\t\t\t$before.before( this.$el );\n\n\t\t\t// set index\n\t\t\tthis.set( 'index', i, true );\n\t\t\ti++;\n\t\t},\n\n\t\tinitializeTabs: function () {\n\t\t\t// Bail if tabs are disabled.\n\t\t\tif (\n\t\t\t\t'acf_field_settings_tabs' === this.get( 'key' ) &&\n\t\t\t\t$( '#acf-field-group-fields' ).hasClass( 'hide-tabs' )\n\t\t\t) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tvar tab = false;\n\n\t\t\t// check if we've got a saved default tab.\n\t\t\tvar order = acf.getPreference( 'this.tabs' ) || false;\n\t\t\tif ( order ) {\n\t\t\t\tvar groupIndex = this.get( 'index' );\n\t\t\t\tvar tabIndex = order[ groupIndex ];\n\t\t\t\tif (\n\t\t\t\t\tthis.tabs[ tabIndex ] &&\n\t\t\t\t\tthis.tabs[ tabIndex ].isVisible()\n\t\t\t\t) {\n\t\t\t\t\ttab = this.tabs[ tabIndex ];\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// If we've got a defaultTab provided by configuration, use that.\n\t\t\tif (\n\t\t\t\t! tab &&\n\t\t\t\tthis.data.defaultTab &&\n\t\t\t\tthis.data.defaultTab.isVisible()\n\t\t\t) {\n\t\t\t\ttab = this.data.defaultTab;\n\t\t\t}\n\n\t\t\t// find first visible tab as our default.\n\t\t\tif ( ! tab ) {\n\t\t\t\ttab = this.getVisible().shift();\n\t\t\t}\n\n\t\t\tif ( tab ) {\n\t\t\t\tthis.selectTab( tab );\n\t\t\t} else {\n\t\t\t\tthis.closeTabs();\n\t\t\t}\n\n\t\t\t// set local variable used by tabsManager\n\t\t\tthis.set( 'initialized', true );\n\t\t},\n\n\t\tgetVisible: function () {\n\t\t\treturn this.tabs.filter( function ( tab ) {\n\t\t\t\treturn tab.isVisible();\n\t\t\t} );\n\t\t},\n\n\t\tgetActive: function () {\n\t\t\treturn this.active;\n\t\t},\n\n\t\tsetActive: function ( tab ) {\n\t\t\treturn ( this.active = tab );\n\t\t},\n\n\t\thasActive: function () {\n\t\t\treturn this.active !== false;\n\t\t},\n\n\t\tisActive: function ( tab ) {\n\t\t\tvar active = this.getActive();\n\t\t\treturn active && active.cid === tab.cid;\n\t\t},\n\n\t\tcloseActive: function () {\n\t\t\tif ( this.hasActive() ) {\n\t\t\t\tthis.closeTab( this.getActive() );\n\t\t\t}\n\t\t},\n\n\t\topenTab: function ( tab ) {\n\t\t\t// close existing tab\n\t\t\tthis.closeActive();\n\n\t\t\t// open\n\t\t\ttab.open();\n\n\t\t\t// set active\n\t\t\tthis.setActive( tab );\n\t\t},\n\n\t\tcloseTab: function ( tab ) {\n\t\t\t// close\n\t\t\ttab.close();\n\n\t\t\t// set active\n\t\t\tthis.setActive( false );\n\t\t},\n\n\t\tcloseTabs: function () {\n\t\t\tthis.tabs.map( this.closeTab, this );\n\t\t},\n\n\t\tselectTab: function ( tab ) {\n\t\t\t// close other tabs\n\t\t\tthis.tabs.map( function ( t ) {\n\t\t\t\tif ( tab.cid !== t.cid ) {\n\t\t\t\t\tthis.closeTab( t );\n\t\t\t\t}\n\t\t\t}, this );\n\n\t\t\t// open\n\t\t\tthis.openTab( tab );\n\t\t},\n\n\t\taddTab: function ( $a, field ) {\n\t\t\t// create
          • \n\t\t\tvar $li = $( '
          • ' + $a.outerHTML() + '
          • ' );\n\n\t\t\t// add settings type class.\n\t\t\tvar settingsType = $a.data( 'settings-type' );\n\t\t\tif ( settingsType ) {\n\t\t\t\t$li.addClass( 'acf-settings-type-' + settingsType );\n\t\t\t}\n\n\n\t\t\t// append\n\t\t\tthis.$( 'ul' ).append( $li );\n\n\t\t\t// initialize\n\t\t\tvar tab = new Tab( {\n\t\t\t\t$el: $li,\n\t\t\t\tfield: field,\n\t\t\t\tgroup: this,\n\t\t\t} );\n\n\t\t\t// store\n\t\t\tthis.tabs.push( tab );\n\n\t\t\tif ( $a.data( 'selected' ) ) {\n\t\t\t\tthis.data.defaultTab = tab;\n\t\t\t}\n\n\t\t\t// return\n\t\t\treturn tab;\n\t\t},\n\n\t\treset: function () {\n\t\t\t// close existing tab\n\t\t\tthis.closeActive();\n\n\t\t\t// find and active a tab\n\t\t\treturn this.refresh();\n\t\t},\n\n\t\trefresh: function () {\n\t\t\t// bail early if active already exists\n\t\t\tif ( this.hasActive() ) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\t// find next active tab\n\t\t\tvar tab = this.getVisible().shift();\n\t\t\t// open tab\n\t\t\tif ( tab ) {\n\t\t\t\tthis.openTab( tab );\n\t\t\t}\n\n\t\t\t// return\n\t\t\treturn tab;\n\t\t},\n\n\t\tonRefresh: function () {\n\t\t\t// only for left placements\n\t\t\tif ( this.get( 'placement' ) !== 'left' ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// vars\n\t\t\tvar $parent = this.$el.parent();\n\t\t\tvar $list = this.$el.children( 'ul' );\n\t\t\tvar attribute = $parent.is( 'td' ) ? 'height' : 'min-height';\n\n\t\t\t// find height (minus 1 for border-bottom)\n\t\t\tvar height = $list.position().top + $list.outerHeight( true ) - 1;\n\n\t\t\t// add css\n\t\t\t$parent.css( attribute, height );\n\t\t},\n\n\t\tonCloseFieldObject: function ( fieldObject ) {\n\t\t\tconst tab = this.getVisible().find( ( item ) => {\n\t\t\t\tconst id = item.$el.closest( 'div[data-id]' ).data( 'id' );\n\t\t\t\tif ( fieldObject.data.id === id ) {\n\t\t\t\t\treturn item;\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\tif ( tab ) {\n\t\t\t\t// Wait for field group drawer to close\n\t\t\t\tsetTimeout( () => {\n\t\t\t\t\tthis.openTab( tab );\n\t\t\t\t}, 300 );\n\t\t\t}\n\t\t},\n\t} );\n\n\tvar Tab = acf.Model.extend( {\n\t\tgroup: false,\n\n\t\tfield: false,\n\n\t\tevents: {\n\t\t\t'click a': 'onClick',\n\t\t},\n\n\t\tindex: function () {\n\t\t\treturn this.$el.index();\n\t\t},\n\n\t\tisVisible: function () {\n\t\t\treturn acf.isVisible( this.$el );\n\t\t},\n\n\t\tisActive: function () {\n\t\t\treturn this.$el.hasClass( 'active' );\n\t\t},\n\n\t\topen: function () {\n\t\t\t// add class\n\t\t\tthis.$el.addClass( 'active' );\n\n\t\t\t// show field\n\t\t\tthis.field.showFields();\n\t\t},\n\n\t\tclose: function () {\n\t\t\t// remove class\n\t\t\tthis.$el.removeClass( 'active' );\n\n\t\t\t// hide field\n\t\t\tthis.field.hideFields();\n\t\t},\n\n\t\tonClick: function ( e, $el ) {\n\t\t\t// prevent default\n\t\t\te.preventDefault();\n\n\t\t\t// toggle\n\t\t\tthis.toggle();\n\t\t},\n\n\t\ttoggle: function () {\n\t\t\t// bail early if already active\n\t\t\tif ( this.isActive() ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// toggle this tab\n\t\t\tthis.group.openTab( this );\n\t\t},\n\t} );\n\n\tvar tabsManager = new acf.Model( {\n\t\tpriority: 50,\n\n\t\tactions: {\n\t\t\tprepare: 'render',\n\t\t\tappend: 'render',\n\t\t\tunload: 'onUnload',\n\t\t\tshow: 'render',\n\t\t\tinvalid_field: 'onInvalidField',\n\t\t},\n\n\t\tfindTabs: function () {\n\t\t\treturn $( '.acf-tab-wrap' );\n\t\t},\n\n\t\tgetTabs: function () {\n\t\t\treturn acf.getInstances( this.findTabs() );\n\t\t},\n\n\t\trender: function ( $el ) {\n\t\t\tthis.getTabs().map( function ( tabs ) {\n\t\t\t\tif ( ! tabs.get( 'initialized' ) ) {\n\t\t\t\t\ttabs.initializeTabs();\n\t\t\t\t}\n\t\t\t} );\n\t\t},\n\n\t\tonInvalidField: function ( field ) {\n\t\t\t// bail early if busy\n\t\t\tif ( this.busy ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// ignore if not hidden by tab\n\t\t\tif ( ! field.hiddenByTab ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// toggle tab\n\t\t\tfield.hiddenByTab.toggle();\n\n\t\t\t// ignore other invalid fields\n\t\t\tthis.busy = true;\n\t\t\tthis.setTimeout( function () {\n\t\t\t\tthis.busy = false;\n\t\t\t}, 100 );\n\t\t},\n\n\t\tonUnload: function () {\n\t\t\t// vars\n\t\t\tvar order = [];\n\n\t\t\t// loop\n\t\t\tthis.getTabs().map( function ( group ) {\n\t\t\t\t// Do not save selected tab on field settings, or an acf-advanced-settings when unloading\n\t\t\t\tif (\n\t\t\t\t\tgroup.$el.children( '.acf-field-settings-tab-bar' )\n\t\t\t\t\t\t.length ||\n\t\t\t\t\tgroup.$el.parents( '#acf-advanced-settings.postbox' ).length\n\t\t\t\t) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\n\t\t\t\tvar active = group.hasActive() ? group.getActive().index() : 0;\n\t\t\t\torder.push( active );\n\t\t\t} );\n\n\t\t\t// bail if no tabs\n\t\t\tif ( ! order.length ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// update\n\t\t\tacf.setPreference( 'this.tabs', order );\n\t\t},\n\t} );\n} )( jQuery );\n","( function ( $, undefined ) {\n\tvar Field = acf.Field.extend( {\n\t\ttype: 'taxonomy',\n\n\t\tdata: {\n\t\t\tftype: 'select',\n\t\t},\n\n\t\tselect2: false,\n\n\t\twait: 'load',\n\n\t\tevents: {\n\t\t\t'click a[data-name=\"add\"]': 'onClickAdd',\n\t\t\t'click input[type=\"radio\"]': 'onClickRadio',\n\t\t\tremoveField: 'onRemove',\n\t\t},\n\n\t\t$control: function () {\n\t\t\treturn this.$( '.acf-taxonomy-field' );\n\t\t},\n\n\t\t$input: function () {\n\t\t\treturn this.getRelatedPrototype().$input.apply( this, arguments );\n\t\t},\n\n\t\tgetRelatedType: function () {\n\t\t\t// vars\n\t\t\tvar fieldType = this.get( 'ftype' );\n\n\t\t\t// normalize\n\t\t\tif ( fieldType == 'multi_select' ) {\n\t\t\t\tfieldType = 'select';\n\t\t\t}\n\n\t\t\t// return\n\t\t\treturn fieldType;\n\t\t},\n\n\t\tgetRelatedPrototype: function () {\n\t\t\treturn acf.getFieldType( this.getRelatedType() ).prototype;\n\t\t},\n\n\t\tgetValue: function () {\n\t\t\treturn this.getRelatedPrototype().getValue.apply( this, arguments );\n\t\t},\n\n\t\tsetValue: function () {\n\t\t\treturn this.getRelatedPrototype().setValue.apply( this, arguments );\n\t\t},\n\n\t\tinitialize: function () {\n\t\t\tthis.getRelatedPrototype().initialize.apply( this, arguments );\n\t\t},\n\n\t\tonRemove: function () {\n\t\t\tvar proto = this.getRelatedPrototype();\n\t\t\tif ( proto.onRemove ) {\n\t\t\t\tproto.onRemove.apply( this, arguments );\n\t\t\t}\n\t\t},\n\n\t\tonClickAdd: function ( e, $el ) {\n\t\t\t// vars\n\t\t\tvar field = this;\n\t\t\tvar popup = false;\n\t\t\tvar $form = false;\n\t\t\tvar $name = false;\n\t\t\tvar $parent = false;\n\t\t\tvar $button = false;\n\t\t\tvar $message = false;\n\t\t\tvar notice = false;\n\n\t\t\t// step 1.\n\t\t\tvar step1 = function () {\n\t\t\t\t// popup\n\t\t\t\tpopup = acf.newPopup( {\n\t\t\t\t\ttitle: $el.attr( 'title' ),\n\t\t\t\t\tloading: true,\n\t\t\t\t\twidth: '300px',\n\t\t\t\t} );\n\n\t\t\t\t// ajax\n\t\t\t\tvar ajaxData = {\n\t\t\t\t\taction: 'acf/fields/taxonomy/add_term',\n\t\t\t\t\tfield_key: field.get( 'key' ),\n\t\t\t\t};\n\n\t\t\t\t// get HTML\n\t\t\t\t$.ajax( {\n\t\t\t\t\turl: acf.get( 'ajaxurl' ),\n\t\t\t\t\tdata: acf.prepareForAjax( ajaxData ),\n\t\t\t\t\ttype: 'post',\n\t\t\t\t\tdataType: 'html',\n\t\t\t\t\tsuccess: step2,\n\t\t\t\t} );\n\t\t\t};\n\n\t\t\t// step 2.\n\t\t\tvar step2 = function ( html ) {\n\t\t\t\t// update popup\n\t\t\t\tpopup.loading( false );\n\t\t\t\tpopup.content( html );\n\n\t\t\t\t// vars\n\t\t\t\t$form = popup.$( 'form' );\n\t\t\t\t$name = popup.$( 'input[name=\"term_name\"]' );\n\t\t\t\t$parent = popup.$( 'select[name=\"term_parent\"]' );\n\t\t\t\t$button = popup.$( '.acf-submit-button' );\n\n\t\t\t\t// focus\n\t\t\t\t$name.trigger( 'focus' );\n\n\t\t\t\t// submit form\n\t\t\t\tpopup.on( 'submit', 'form', step3 );\n\t\t\t};\n\n\t\t\t// step 3.\n\t\t\tvar step3 = function ( e, $el ) {\n\t\t\t\t// prevent\n\t\t\t\te.preventDefault();\n\t\t\t\te.stopImmediatePropagation();\n\n\t\t\t\t// basic validation\n\t\t\t\tif ( $name.val() === '' ) {\n\t\t\t\t\t$name.trigger( 'focus' );\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\n\t\t\t\t// disable\n\t\t\t\tacf.startButtonLoading( $button );\n\n\t\t\t\t// ajax\n\t\t\t\tvar ajaxData = {\n\t\t\t\t\taction: 'acf/fields/taxonomy/add_term',\n\t\t\t\t\tfield_key: field.get( 'key' ),\n\t\t\t\t\tterm_name: $name.val(),\n\t\t\t\t\tterm_parent: $parent.length ? $parent.val() : 0,\n\t\t\t\t};\n\n\t\t\t\t$.ajax( {\n\t\t\t\t\turl: acf.get( 'ajaxurl' ),\n\t\t\t\t\tdata: acf.prepareForAjax( ajaxData ),\n\t\t\t\t\ttype: 'post',\n\t\t\t\t\tdataType: 'json',\n\t\t\t\t\tsuccess: step4,\n\t\t\t\t} );\n\t\t\t};\n\n\t\t\t// step 4.\n\t\t\tvar step4 = function ( json ) {\n\t\t\t\t// enable\n\t\t\t\tacf.stopButtonLoading( $button );\n\n\t\t\t\t// remove prev notice\n\t\t\t\tif ( notice ) {\n\t\t\t\t\tnotice.remove();\n\t\t\t\t}\n\n\t\t\t\t// success\n\t\t\t\tif ( acf.isAjaxSuccess( json ) ) {\n\t\t\t\t\t// clear name\n\t\t\t\t\t$name.val( '' );\n\n\t\t\t\t\t// update term lists\n\t\t\t\t\tstep5( json.data );\n\n\t\t\t\t\t// notice\n\t\t\t\t\tnotice = acf.newNotice( {\n\t\t\t\t\t\ttype: 'success',\n\t\t\t\t\t\ttext: acf.getAjaxMessage( json ),\n\t\t\t\t\t\ttarget: $form,\n\t\t\t\t\t\ttimeout: 2000,\n\t\t\t\t\t\tdismiss: false,\n\t\t\t\t\t} );\n\t\t\t\t} else {\n\t\t\t\t\t// notice\n\t\t\t\t\tnotice = acf.newNotice( {\n\t\t\t\t\t\ttype: 'error',\n\t\t\t\t\t\ttext: acf.getAjaxError( json ),\n\t\t\t\t\t\ttarget: $form,\n\t\t\t\t\t\ttimeout: 2000,\n\t\t\t\t\t\tdismiss: false,\n\t\t\t\t\t} );\n\t\t\t\t}\n\n\t\t\t\t// focus\n\t\t\t\t$name.trigger( 'focus' );\n\t\t\t};\n\n\t\t\t// step 5.\n\t\t\tvar step5 = function ( term ) {\n\t\t\t\t// update parent dropdown\n\t\t\t\tvar $option = $(\n\t\t\t\t\t''\n\t\t\t\t);\n\t\t\t\tif ( term.term_parent ) {\n\t\t\t\t\t$parent\n\t\t\t\t\t\t.children( 'option[value=\"' + term.term_parent + '\"]' )\n\t\t\t\t\t\t.after( $option );\n\t\t\t\t} else {\n\t\t\t\t\t$parent.append( $option );\n\t\t\t\t}\n\n\t\t\t\t// add this new term to all taxonomy field\n\t\t\t\tvar fields = acf.getFields( {\n\t\t\t\t\ttype: 'taxonomy',\n\t\t\t\t} );\n\n\t\t\t\tfields.map( function ( otherField ) {\n\t\t\t\t\tif (\n\t\t\t\t\t\totherField.get( 'taxonomy' ) == field.get( 'taxonomy' )\n\t\t\t\t\t) {\n\t\t\t\t\t\totherField.appendTerm( term );\n\t\t\t\t\t}\n\t\t\t\t} );\n\n\t\t\t\t// select\n\t\t\t\tfield.selectTerm( term.term_id );\n\t\t\t};\n\n\t\t\t// run\n\t\t\tstep1();\n\t\t},\n\n\t\tappendTerm: function ( term ) {\n\t\t\tif ( this.getRelatedType() == 'select' ) {\n\t\t\t\tthis.appendTermSelect( term );\n\t\t\t} else {\n\t\t\t\tthis.appendTermCheckbox( term );\n\t\t\t}\n\t\t},\n\n\t\tappendTermSelect: function ( term ) {\n\t\t\tthis.select2.addOption( {\n\t\t\t\tid: term.term_id,\n\t\t\t\ttext: term.term_label,\n\t\t\t} );\n\t\t},\n\n\t\tappendTermCheckbox: function ( term ) {\n\t\t\t// vars\n\t\t\tvar name = this.$( '[name]:first' ).attr( 'name' );\n\t\t\tvar $ul = this.$( 'ul:first' );\n\n\t\t\t// allow multiple selection\n\t\t\tif ( this.getRelatedType() == 'checkbox' ) {\n\t\t\t\tname += '[]';\n\t\t\t}\n\n\t\t\t// create new li\n\t\t\tvar $li = $(\n\t\t\t\t[\n\t\t\t\t\t'
          • ',\n\t\t\t\t\t'',\n\t\t\t\t\t'
          • ',\n\t\t\t\t].join( '' )\n\t\t\t);\n\n\t\t\t// find parent\n\t\t\tif ( term.term_parent ) {\n\t\t\t\t// vars\n\t\t\t\tvar $parent = $ul.find(\n\t\t\t\t\t'li[data-id=\"' + term.term_parent + '\"]'\n\t\t\t\t);\n\n\t\t\t\t// update vars\n\t\t\t\t$ul = $parent.children( 'ul' );\n\n\t\t\t\t// create ul\n\t\t\t\tif ( ! $ul.exists() ) {\n\t\t\t\t\t$ul = $( '
              ' );\n\t\t\t\t\t$parent.append( $ul );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// append\n\t\t\t$ul.append( $li );\n\t\t},\n\n\t\tselectTerm: function ( id ) {\n\t\t\tif ( this.getRelatedType() == 'select' ) {\n\t\t\t\tthis.select2.selectOption( id );\n\t\t\t} else {\n\t\t\t\tvar $input = this.$( 'input[value=\"' + id + '\"]' );\n\t\t\t\t$input.prop( 'checked', true ).trigger( 'change' );\n\t\t\t}\n\t\t},\n\n\t\tonClickRadio: function ( e, $el ) {\n\t\t\t// vars\n\t\t\tvar $label = $el.parent( 'label' );\n\t\t\tvar selected = $label.hasClass( 'selected' );\n\n\t\t\t// remove previous selected\n\t\t\tthis.$( '.selected' ).removeClass( 'selected' );\n\n\t\t\t// add active class\n\t\t\t$label.addClass( 'selected' );\n\n\t\t\t// allow null\n\t\t\tif ( this.get( 'allow_null' ) && selected ) {\n\t\t\t\t$label.removeClass( 'selected' );\n\t\t\t\t$el.prop( 'checked', false ).trigger( 'change' );\n\t\t\t}\n\t\t},\n\t} );\n\n\tacf.registerFieldType( Field );\n} )( jQuery );\n","( function ( $, undefined ) {\n\tvar Field = acf.models.DatePickerField.extend( {\n\t\ttype: 'time_picker',\n\n\t\t$control: function () {\n\t\t\treturn this.$( '.acf-time-picker' );\n\t\t},\n\n\t\tinitialize: function () {\n\t\t\t// vars\n\t\t\tvar $input = this.$input();\n\t\t\tvar $inputText = this.$inputText();\n\n\t\t\t// args\n\t\t\tvar args = {\n\t\t\t\ttimeFormat: this.get( 'time_format' ),\n\t\t\t\taltField: $input,\n\t\t\t\taltFieldTimeOnly: false,\n\t\t\t\taltTimeFormat: 'HH:mm:ss',\n\t\t\t\tshowButtonPanel: true,\n\t\t\t\tcontrolType: 'select',\n\t\t\t\toneLine: true,\n\t\t\t\tcloseText: acf.get( 'dateTimePickerL10n' ).selectText,\n\t\t\t\ttimeOnly: true,\n\t\t\t};\n\n\t\t\t// add custom 'Close = Select' functionality\n\t\t\targs.onClose = function ( value, dp_instance, t_instance ) {\n\t\t\t\t// vars\n\t\t\t\tvar $close = dp_instance.dpDiv.find( '.ui-datepicker-close' );\n\n\t\t\t\t// if clicking close button\n\t\t\t\tif ( ! value && $close.is( ':hover' ) ) {\n\t\t\t\t\tt_instance._updateDateTime();\n\t\t\t\t}\n\t\t\t};\n\n\t\t\t// filter\n\t\t\targs = acf.applyFilters( 'time_picker_args', args, this );\n\n\t\t\t// add date time picker\n\t\t\tacf.newTimePicker( $inputText, args );\n\n\t\t\t// action\n\t\t\tacf.doAction( 'time_picker_init', $inputText, args, this );\n\t\t},\n\t} );\n\n\tacf.registerFieldType( Field );\n\n\t// add\n\tacf.newTimePicker = function ( $input, args ) {\n\t\t// bail early if no datepicker library\n\t\tif ( typeof $.timepicker === 'undefined' ) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// defaults\n\t\targs = args || {};\n\n\t\t// initialize\n\t\t$input.timepicker( args );\n\n\t\t// wrap the datepicker (only if it hasn't already been wrapped)\n\t\tif ( $( 'body > #ui-datepicker-div' ).exists() ) {\n\t\t\t$( 'body > #ui-datepicker-div' ).wrap(\n\t\t\t\t'
              '\n\t\t\t);\n\t\t}\n\t};\n} )( jQuery );\n","( function ( $, undefined ) {\n\tvar Field = acf.Field.extend( {\n\t\ttype: 'true_false',\n\n\t\tevents: {\n\t\t\t'change .acf-switch-input': 'onChange',\n\t\t\t'focus .acf-switch-input': 'onFocus',\n\t\t\t'blur .acf-switch-input': 'onBlur',\n\t\t\t'keypress .acf-switch-input': 'onKeypress',\n\t\t},\n\n\t\t$input: function () {\n\t\t\treturn this.$( 'input[type=\"checkbox\"]' );\n\t\t},\n\n\t\t$switch: function () {\n\t\t\treturn this.$( '.acf-switch' );\n\t\t},\n\n\t\tgetValue: function () {\n\t\t\treturn this.$input().prop( 'checked' ) ? 1 : 0;\n\t\t},\n\n\t\tinitialize: function () {\n\t\t\tthis.render();\n\t\t},\n\n\t\trender: function () {\n\t\t\t// vars\n\t\t\tvar $switch = this.$switch();\n\n\t\t\t// bail early if no $switch\n\t\t\tif ( ! $switch.length ) return;\n\n\t\t\t// vars\n\t\t\tvar $on = $switch.children( '.acf-switch-on' );\n\t\t\tvar $off = $switch.children( '.acf-switch-off' );\n\t\t\tvar width = Math.max( $on.width(), $off.width() );\n\n\t\t\t// bail early if no width\n\t\t\tif ( ! width ) return;\n\n\t\t\t// set widths\n\t\t\t$on.css( 'min-width', width );\n\t\t\t$off.css( 'min-width', width );\n\t\t},\n\n\t\tswitchOn: function () {\n\t\t\tthis.$input().prop( 'checked', true );\n\t\t\tthis.$switch().addClass( '-on' );\n\t\t},\n\n\t\tswitchOff: function () {\n\t\t\tthis.$input().prop( 'checked', false );\n\t\t\tthis.$switch().removeClass( '-on' );\n\t\t},\n\n\t\tonChange: function ( e, $el ) {\n\t\t\tif ( $el.prop( 'checked' ) ) {\n\t\t\t\tthis.switchOn();\n\t\t\t} else {\n\t\t\t\tthis.switchOff();\n\t\t\t}\n\t\t},\n\n\t\tonFocus: function ( e, $el ) {\n\t\t\tthis.$switch().addClass( '-focus' );\n\t\t},\n\n\t\tonBlur: function ( e, $el ) {\n\t\t\tthis.$switch().removeClass( '-focus' );\n\t\t},\n\n\t\tonKeypress: function ( e, $el ) {\n\t\t\t// left\n\t\t\tif ( e.keyCode === 37 ) {\n\t\t\t\treturn this.switchOff();\n\t\t\t}\n\n\t\t\t// right\n\t\t\tif ( e.keyCode === 39 ) {\n\t\t\t\treturn this.switchOn();\n\t\t\t}\n\t\t},\n\t} );\n\n\tacf.registerFieldType( Field );\n} )( jQuery );\n","( function ( $, undefined ) {\n\tvar Field = acf.Field.extend( {\n\t\ttype: 'url',\n\n\t\tevents: {\n\t\t\t'keyup input[type=\"url\"]': 'onkeyup',\n\t\t},\n\n\t\t$control: function () {\n\t\t\treturn this.$( '.acf-input-wrap' );\n\t\t},\n\n\t\t$input: function () {\n\t\t\treturn this.$( 'input[type=\"url\"]' );\n\t\t},\n\n\t\tinitialize: function () {\n\t\t\tthis.render();\n\t\t},\n\n\t\tisValid: function () {\n\t\t\t// vars\n\t\t\tvar val = this.val();\n\n\t\t\t// bail early if no val\n\t\t\tif ( ! val ) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\t// url\n\t\t\tif ( val.indexOf( '://' ) !== -1 ) {\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t\t// protocol relative url\n\t\t\tif ( val.indexOf( '//' ) === 0 ) {\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t\t// return\n\t\t\treturn false;\n\t\t},\n\n\t\trender: function () {\n\t\t\t// add class\n\t\t\tif ( this.isValid() ) {\n\t\t\t\tthis.$control().addClass( '-valid' );\n\t\t\t} else {\n\t\t\t\tthis.$control().removeClass( '-valid' );\n\t\t\t}\n\t\t},\n\n\t\tonkeyup: function ( e, $el ) {\n\t\t\tthis.render();\n\t\t},\n\t} );\n\n\tacf.registerFieldType( Field );\n} )( jQuery );\n","( function ( $, undefined ) {\n\tvar Field = acf.models.SelectField.extend( {\n\t\ttype: 'user',\n\t} );\n\n\tacf.registerFieldType( Field );\n\n\tacf.addFilter( 'select2_ajax_data', function ( data, args, $input, field, select2 ) {\n\t\tif ( ! field || 'user' !== field.get( 'type' ) ) {\n\t\t\treturn data;\n\t\t}\n\n\t\tconst query_nonce = field.get( 'queryNonce' );\n\t\tif ( query_nonce && query_nonce.toString().length ) {\n\t\t\tdata.user_query_nonce = query_nonce;\n\t\t}\n\n\t\treturn data;\n\t} );\n} )( jQuery );\n","( function ( $, undefined ) {\n\tvar Field = acf.Field.extend( {\n\t\ttype: 'wysiwyg',\n\n\t\twait: 'load',\n\n\t\tevents: {\n\t\t\t'mousedown .acf-editor-wrap.delay': 'onMousedown',\n\t\t\tunmountField: 'disableEditor',\n\t\t\tremountField: 'enableEditor',\n\t\t\tremoveField: 'disableEditor',\n\t\t},\n\n\t\t$control: function () {\n\t\t\treturn this.$( '.acf-editor-wrap' );\n\t\t},\n\n\t\t$input: function () {\n\t\t\treturn this.$( 'textarea' );\n\t\t},\n\n\t\tgetMode: function () {\n\t\t\treturn this.$control().hasClass( 'tmce-active' )\n\t\t\t\t? 'visual'\n\t\t\t\t: 'text';\n\t\t},\n\n\t\tinitialize: function () {\n\t\t\t// initializeEditor if no delay\n\t\t\tif ( ! this.$control().hasClass( 'delay' ) ) {\n\t\t\t\tthis.initializeEditor();\n\t\t\t}\n\t\t},\n\n\t\tinitializeEditor: function () {\n\t\t\t// vars\n\t\t\tvar $wrap = this.$control();\n\t\t\tvar $textarea = this.$input();\n\t\t\tvar args = {\n\t\t\t\ttinymce: true,\n\t\t\t\tquicktags: true,\n\t\t\t\ttoolbar: this.get( 'toolbar' ),\n\t\t\t\tmode: this.getMode(),\n\t\t\t\tfield: this,\n\t\t\t};\n\n\t\t\t// generate new id\n\t\t\tvar oldId = $textarea.attr( 'id' );\n\t\t\tvar newId = acf.uniqueId( 'acf-editor-' );\n\n\t\t\t// Backup textarea data.\n\t\t\tvar inputData = $textarea.data();\n\t\t\tvar inputVal = $textarea.val();\n\n\t\t\t// rename\n\t\t\tacf.rename( {\n\t\t\t\ttarget: $wrap,\n\t\t\t\tsearch: oldId,\n\t\t\t\treplace: newId,\n\t\t\t\tdestructive: true,\n\t\t\t} );\n\n\t\t\t// update id\n\t\t\tthis.set( 'id', newId, true );\n\n\t\t\t// apply data to new textarea (acf.rename creates a new textarea element due to destructive mode)\n\t\t\t// fixes bug where conditional logic \"disabled\" is lost during \"screen_check\"\n\t\t\tthis.$input().data( inputData ).val( inputVal );\n\n\t\t\t// initialize\n\t\t\tacf.tinymce.initialize( newId, args );\n\t\t},\n\n\t\tonMousedown: function ( e ) {\n\t\t\t// prevent default\n\t\t\te.preventDefault();\n\n\t\t\t// remove delay class\n\t\t\tvar $wrap = this.$control();\n\t\t\t$wrap.removeClass( 'delay' );\n\t\t\t$wrap.find( '.acf-editor-toolbar' ).remove();\n\n\t\t\t// initialize\n\t\t\tthis.initializeEditor();\n\t\t},\n\n\t\tenableEditor: function () {\n\t\t\tif ( this.getMode() == 'visual' ) {\n\t\t\t\tacf.tinymce.enable( this.get( 'id' ) );\n\t\t\t}\n\t\t},\n\n\t\tdisableEditor: function () {\n\t\t\tacf.tinymce.destroy( this.get( 'id' ) );\n\t\t},\n\t} );\n\n\tacf.registerFieldType( Field );\n} )( jQuery );\n","( function ( $, undefined ) {\n\t// vars\n\tvar storage = [];\n\n\t/**\n\t * acf.Field\n\t *\n\t * description\n\t *\n\t * @date\t23/3/18\n\t * @since\t5.6.9\n\t *\n\t * @param\ttype $var Description. Default.\n\t * @return\ttype Description.\n\t */\n\n\tacf.Field = acf.Model.extend( {\n\t\t// field type\n\t\ttype: '',\n\n\t\t// class used to avoid nested event triggers\n\t\teventScope: '.acf-field',\n\n\t\t// initialize events on 'ready'\n\t\twait: 'ready',\n\n\t\t/**\n\t\t * setup\n\t\t *\n\t\t * Called during the constructor function to setup this field ready for initialization\n\t\t *\n\t\t * @date\t8/5/18\n\t\t * @since\t5.6.9\n\t\t *\n\t\t * @param\tjQuery $field The field element.\n\t\t * @return\tvoid\n\t\t */\n\n\t\tsetup: function ( $field ) {\n\t\t\t// set $el\n\t\t\tthis.$el = $field;\n\n\t\t\t// inherit $field data\n\t\t\tthis.inherit( $field );\n\n\t\t\t// inherit controll data\n\t\t\tthis.inherit( this.$control() );\n\t\t},\n\n\t\t/**\n\t\t * val\n\t\t *\n\t\t * Sets or returns the field's value\n\t\t *\n\t\t * @date\t8/5/18\n\t\t * @since\t5.6.9\n\t\t *\n\t\t * @param\tmixed val Optional. The value to set\n\t\t * @return\tmixed\n\t\t */\n\n\t\tval: function ( val ) {\n\t\t\t// Set.\n\t\t\tif ( val !== undefined ) {\n\t\t\t\treturn this.setValue( val );\n\n\t\t\t\t// Get.\n\t\t\t} else {\n\t\t\t\treturn this.prop( 'disabled' ) ? null : this.getValue();\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * getValue\n\t\t *\n\t\t * returns the field's value\n\t\t *\n\t\t * @date\t8/5/18\n\t\t * @since\t5.6.9\n\t\t *\n\t\t * @param\tvoid\n\t\t * @return\tmixed\n\t\t */\n\n\t\tgetValue: function () {\n\t\t\treturn this.$input().val();\n\t\t},\n\n\t\t/**\n\t\t * setValue\n\t\t *\n\t\t * sets the field's value and returns true if changed\n\t\t *\n\t\t * @date\t8/5/18\n\t\t * @since\t5.6.9\n\t\t *\n\t\t * @param\tmixed val\n\t\t * @return\tboolean. True if changed.\n\t\t */\n\n\t\tsetValue: function ( val ) {\n\t\t\treturn acf.val( this.$input(), val );\n\t\t},\n\n\t\t/**\n\t\t * __\n\t\t *\n\t\t * i18n helper to be removed\n\t\t *\n\t\t * @date\t8/5/18\n\t\t * @since\t5.6.9\n\t\t *\n\t\t * @param\ttype $var Description. Default.\n\t\t * @return\ttype Description.\n\t\t */\n\n\t\t__: function ( string ) {\n\t\t\treturn acf._e( this.type, string );\n\t\t},\n\n\t\t/**\n\t\t * $control\n\t\t *\n\t\t * returns the control jQuery element used for inheriting data. Uses this.control setting.\n\t\t *\n\t\t * @date\t8/5/18\n\t\t * @since\t5.6.9\n\t\t *\n\t\t * @param\tvoid\n\t\t * @return\tjQuery\n\t\t */\n\n\t\t$control: function () {\n\t\t\treturn false;\n\t\t},\n\n\t\t/**\n\t\t * $input\n\t\t *\n\t\t * returns the input jQuery element used for saving values. Uses this.input setting.\n\t\t *\n\t\t * @date\t8/5/18\n\t\t * @since\t5.6.9\n\t\t *\n\t\t * @param\tvoid\n\t\t * @return\tjQuery\n\t\t */\n\n\t\t$input: function () {\n\t\t\treturn this.$( '[name]:first' );\n\t\t},\n\n\t\t/**\n\t\t * $inputWrap\n\t\t *\n\t\t * description\n\t\t *\n\t\t * @date\t12/5/18\n\t\t * @since\t5.6.9\n\t\t *\n\t\t * @param\ttype $var Description. Default.\n\t\t * @return\ttype Description.\n\t\t */\n\n\t\t$inputWrap: function () {\n\t\t\treturn this.$( '.acf-input:first' );\n\t\t},\n\n\t\t/**\n\t\t * $inputWrap\n\t\t *\n\t\t * description\n\t\t *\n\t\t * @date\t12/5/18\n\t\t * @since\t5.6.9\n\t\t *\n\t\t * @param\ttype $var Description. Default.\n\t\t * @return\ttype Description.\n\t\t */\n\n\t\t$labelWrap: function () {\n\t\t\treturn this.$( '.acf-label:first' );\n\t\t},\n\n\t\t/**\n\t\t * getInputName\n\t\t *\n\t\t * Returns the field's input name\n\t\t *\n\t\t * @date\t8/5/18\n\t\t * @since\t5.6.9\n\t\t *\n\t\t * @param\tvoid\n\t\t * @return\tstring\n\t\t */\n\n\t\tgetInputName: function () {\n\t\t\treturn this.$input().attr( 'name' ) || '';\n\t\t},\n\n\t\t/**\n\t\t * parent\n\t\t *\n\t\t * returns the field's parent field or false on failure.\n\t\t *\n\t\t * @date\t8/5/18\n\t\t * @since\t5.6.9\n\t\t *\n\t\t * @param\tvoid\n\t\t * @return\tobject|false\n\t\t */\n\n\t\tparent: function () {\n\t\t\t// vars\n\t\t\tvar parents = this.parents();\n\n\t\t\t// return\n\t\t\treturn parents.length ? parents[ 0 ] : false;\n\t\t},\n\n\t\t/**\n\t\t * parents\n\t\t *\n\t\t * description\n\t\t *\n\t\t * @date\t9/7/18\n\t\t * @since\t5.6.9\n\t\t *\n\t\t * @param\ttype $var Description. Default.\n\t\t * @return\ttype Description.\n\t\t */\n\n\t\tparents: function () {\n\t\t\t// vars\n\t\t\tvar $parents = this.$el.parents( '.acf-field' );\n\n\t\t\t// convert\n\t\t\tvar parents = acf.getFields( $parents );\n\n\t\t\t// return\n\t\t\treturn parents;\n\t\t},\n\n\t\tshow: function ( lockKey, context ) {\n\t\t\t// show field and store result\n\t\t\tvar changed = acf.show( this.$el, lockKey );\n\n\t\t\t// do action if visibility has changed\n\t\t\tif ( changed ) {\n\t\t\t\tthis.prop( 'hidden', false );\n\t\t\t\tacf.doAction( 'show_field', this, context );\n\n\t\t\t\tif ( context === 'conditional_logic' ) {\n\t\t\t\t\tthis.setFieldSettingsLastVisible();\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// return\n\t\t\treturn changed;\n\t\t},\n\n\t\thide: function ( lockKey, context ) {\n\t\t\t// hide field and store result\n\t\t\tvar changed = acf.hide( this.$el, lockKey );\n\n\t\t\t// do action if visibility has changed\n\t\t\tif ( changed ) {\n\t\t\t\tthis.prop( 'hidden', true );\n\t\t\t\tacf.doAction( 'hide_field', this, context );\n\n\t\t\t\tif ( context === 'conditional_logic' ) {\n\t\t\t\t\tthis.setFieldSettingsLastVisible();\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// return\n\t\t\treturn changed;\n\t\t},\n\n\t\tsetFieldSettingsLastVisible: function () {\n\t\t\t// Ensure this conditional logic trigger has happened inside a field settings tab.\n\t\t\tvar $parents = this.$el.parents( '.acf-field-settings-main' );\n\t\t\tif ( ! $parents.length ) return;\n\n\t\t\tvar $fields = $parents.find( '.acf-field' );\n\n\t\t\t$fields.removeClass( 'acf-last-visible' );\n\t\t\t$fields.not( '.acf-hidden' ).last().addClass( 'acf-last-visible' );\n\t\t},\n\n\t\tenable: function ( lockKey, context ) {\n\t\t\t// enable field and store result\n\t\t\tvar changed = acf.enable( this.$el, lockKey );\n\n\t\t\t// do action if disabled has changed\n\t\t\tif ( changed ) {\n\t\t\t\tthis.prop( 'disabled', false );\n\t\t\t\tacf.doAction( 'enable_field', this, context );\n\t\t\t}\n\n\t\t\t// return\n\t\t\treturn changed;\n\t\t},\n\n\t\tdisable: function ( lockKey, context ) {\n\t\t\t// disabled field and store result\n\t\t\tvar changed = acf.disable( this.$el, lockKey );\n\n\t\t\t// do action if disabled has changed\n\t\t\tif ( changed ) {\n\t\t\t\tthis.prop( 'disabled', true );\n\t\t\t\tacf.doAction( 'disable_field', this, context );\n\t\t\t}\n\n\t\t\t// return\n\t\t\treturn changed;\n\t\t},\n\n\t\tshowEnable: function ( lockKey, context ) {\n\t\t\t// enable\n\t\t\tthis.enable.apply( this, arguments );\n\n\t\t\t// show and return true if changed\n\t\t\treturn this.show.apply( this, arguments );\n\t\t},\n\n\t\thideDisable: function ( lockKey, context ) {\n\t\t\t// disable\n\t\t\tthis.disable.apply( this, arguments );\n\n\t\t\t// hide and return true if changed\n\t\t\treturn this.hide.apply( this, arguments );\n\t\t},\n\n\t\tshowNotice: function ( props ) {\n\t\t\t// ensure object\n\t\t\tif ( typeof props !== 'object' ) {\n\t\t\t\tprops = { text: props };\n\t\t\t}\n\n\t\t\t// remove old notice\n\t\t\tif ( this.notice ) {\n\t\t\t\tthis.notice.remove();\n\t\t\t}\n\n\t\t\t// create new notice\n\t\t\tprops.target = this.$inputWrap();\n\t\t\tthis.notice = acf.newNotice( props );\n\t\t},\n\n\t\tremoveNotice: function ( timeout ) {\n\t\t\tif ( this.notice ) {\n\t\t\t\tthis.notice.away( timeout || 0 );\n\t\t\t\tthis.notice = false;\n\t\t\t}\n\t\t},\n\n\t\tshowError: function ( message, location = 'before' ) {\n\t\t\t// add class\n\t\t\tthis.$el.addClass( 'acf-error' );\n\n\t\t\t// add message\n\t\t\tif ( message !== undefined ) {\n\t\t\t\tthis.showNotice( {\n\t\t\t\t\ttext: message,\n\t\t\t\t\ttype: 'error',\n\t\t\t\t\tdismiss: false,\n\t\t\t\t\tlocation: location,\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\t// action\n\t\t\tacf.doAction( 'invalid_field', this );\n\n\t\t\t// add event\n\t\t\tthis.$el.one(\n\t\t\t\t'focus change',\n\t\t\t\t'input, select, textarea',\n\t\t\t\t$.proxy( this.removeError, this )\n\t\t\t);\n\t\t},\n\n\t\tremoveError: function () {\n\t\t\t// remove class\n\t\t\tthis.$el.removeClass( 'acf-error' );\n\n\t\t\t// remove notice\n\t\t\tthis.removeNotice( 250 );\n\n\t\t\t// action\n\t\t\tacf.doAction( 'valid_field', this );\n\t\t},\n\n\t\ttrigger: function ( name, args, bubbles ) {\n\t\t\t// allow some events to bubble\n\t\t\tif ( name == 'invalidField' ) {\n\t\t\t\tbubbles = true;\n\t\t\t}\n\n\t\t\t// return\n\t\t\treturn acf.Model.prototype.trigger.apply( this, [\n\t\t\t\tname,\n\t\t\t\targs,\n\t\t\t\tbubbles,\n\t\t\t] );\n\t\t},\n\t} );\n\n\t/**\n\t * newField\n\t *\n\t * description\n\t *\n\t * @date\t14/12/17\n\t * @since\t5.6.5\n\t *\n\t * @param\ttype $var Description. Default.\n\t * @return\ttype Description.\n\t */\n\n\tacf.newField = function ( $field ) {\n\t\t// vars\n\t\tvar type = $field.data( 'type' );\n\t\tvar mid = modelId( type );\n\t\tvar model = acf.models[ mid ] || acf.Field;\n\n\t\t// instantiate\n\t\tvar field = new model( $field );\n\n\t\t// actions\n\t\tacf.doAction( 'new_field', field );\n\n\t\t// return\n\t\treturn field;\n\t};\n\n\t/**\n\t * mid\n\t *\n\t * Calculates the model ID for a field type\n\t *\n\t * @date\t15/12/17\n\t * @since\t5.6.5\n\t *\n\t * @param\tstring type\n\t * @return\tstring\n\t */\n\n\tvar modelId = function ( type ) {\n\t\treturn acf.strPascalCase( type || '' ) + 'Field';\n\t};\n\n\t/**\n\t * registerFieldType\n\t *\n\t * description\n\t *\n\t * @date\t14/12/17\n\t * @since\t5.6.5\n\t *\n\t * @param\ttype $var Description. Default.\n\t * @return\ttype Description.\n\t */\n\n\tacf.registerFieldType = function ( model ) {\n\t\t// vars\n\t\tvar proto = model.prototype;\n\t\tvar type = proto.type;\n\t\tvar mid = modelId( type );\n\n\t\t// store model\n\t\tacf.models[ mid ] = model;\n\n\t\t// store reference\n\t\tstorage.push( type );\n\t};\n\n\t/**\n\t * acf.getFieldType\n\t *\n\t * description\n\t *\n\t * @date\t1/2/18\n\t * @since\t5.6.5\n\t *\n\t * @param\ttype $var Description. Default.\n\t * @return\ttype Description.\n\t */\n\n\tacf.getFieldType = function ( type ) {\n\t\tvar mid = modelId( type );\n\t\treturn acf.models[ mid ] || false;\n\t};\n\n\t/**\n\t * acf.getFieldTypes\n\t *\n\t * description\n\t *\n\t * @date\t1/2/18\n\t * @since\t5.6.5\n\t *\n\t * @param\ttype $var Description. Default.\n\t * @return\ttype Description.\n\t */\n\n\tacf.getFieldTypes = function ( args ) {\n\t\t// defaults\n\t\targs = acf.parseArgs( args, {\n\t\t\tcategory: '',\n\t\t\t// hasValue: true\n\t\t} );\n\n\t\t// clonse available types\n\t\tvar types = [];\n\n\t\t// loop\n\t\tstorage.map( function ( type ) {\n\t\t\t// vars\n\t\t\tvar model = acf.getFieldType( type );\n\t\t\tvar proto = model.prototype;\n\n\t\t\t// check operator\n\t\t\tif ( args.category && proto.category !== args.category ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// append\n\t\t\ttypes.push( model );\n\t\t} );\n\n\t\t// return\n\t\treturn types;\n\t};\n} )( jQuery );\n","( function ( $, undefined ) {\n\t/**\n\t * findFields\n\t *\n\t * Returns a jQuery selection object of acf fields.\n\t *\n\t * @date\t14/12/17\n\t * @since\t5.6.5\n\t *\n\t * @param\tobject $args {\n\t *\t\tOptional. Arguments to find fields.\n\t *\n\t *\t\t@type string\t\t\tkey\t\t\tThe field's key (data-attribute).\n\t *\t\t@type string\t\t\tname\t\tThe field's name (data-attribute).\n\t *\t\t@type string\t\t\ttype\t\tThe field's type (data-attribute).\n\t *\t\t@type string\t\t\tis\t\t\tjQuery selector to compare against.\n\t *\t\t@type jQuery\t\t\tparent\t\tjQuery element to search within.\n\t *\t\t@type jQuery\t\t\tsibling\t\tjQuery element to search alongside.\n\t *\t\t@type limit\t\t\t\tint\t\t\tThe number of fields to find.\n\t *\t\t@type suppressFilters\tbool\t\tWhether to allow filters to add/remove results. Default behaviour will ignore clone fields.\n\t * }\n\t * @return\tjQuery\n\t */\n\n\tacf.findFields = function ( args ) {\n\t\t// vars\n\t\tvar selector = '.acf-field';\n\t\tvar $fields = false;\n\n\t\t// args\n\t\targs = acf.parseArgs( args, {\n\t\t\tkey: '',\n\t\t\tname: '',\n\t\t\ttype: '',\n\t\t\tis: '',\n\t\t\tparent: false,\n\t\t\tsibling: false,\n\t\t\tlimit: false,\n\t\t\tvisible: false,\n\t\t\tsuppressFilters: false,\n\t\t\texcludeSubFields: false,\n\t\t} );\n\n\t\t// filter args\n\t\tif ( ! args.suppressFilters ) {\n\t\t\targs = acf.applyFilters( 'find_fields_args', args );\n\t\t}\n\n\t\t// key\n\t\tif ( args.key ) {\n\t\t\tselector += '[data-key=\"' + args.key + '\"]';\n\t\t}\n\n\t\t// type\n\t\tif ( args.type ) {\n\t\t\tselector += '[data-type=\"' + args.type + '\"]';\n\t\t}\n\n\t\t// name\n\t\tif ( args.name ) {\n\t\t\tselector += '[data-name=\"' + args.name + '\"]';\n\t\t}\n\n\t\t// is\n\t\tif ( args.is ) {\n\t\t\tselector += args.is;\n\t\t}\n\n\t\t// visibility\n\t\tif ( args.visible ) {\n\t\t\tselector += ':visible';\n\t\t}\n\n\t\tif ( ! args.suppressFilters ) {\n\t\t\tselector = acf.applyFilters(\n\t\t\t\t'find_fields_selector',\n\t\t\t\tselector,\n\t\t\t\targs\n\t\t\t);\n\t\t}\n\n\t\t// query\n\t\tif ( args.parent ) {\n\t\t\t$fields = args.parent.find( selector );\n\t\t\t// exclude sub fields if required (only if a parent is provided)\n\t\t\tif ( args.excludeSubFields ) {\n\t\t\t\t$fields = $fields.not( args.parent.find( '.acf-is-subfields .acf-field' ) );\n\t\t\t}\n\t\t} else if ( args.sibling ) {\n\t\t\t$fields = args.sibling.siblings( selector );\n\t\t} else {\n\t\t\t$fields = $( selector );\n\t\t}\n\n\t\t// filter\n\t\tif ( ! args.suppressFilters ) {\n\t\t\t$fields = $fields.not( '.acf-clone .acf-field' );\n\t\t\t$fields = acf.applyFilters( 'find_fields', $fields );\n\t\t}\n\n\t\t// limit\n\t\tif ( args.limit ) {\n\t\t\t$fields = $fields.slice( 0, args.limit );\n\t\t}\n\n\t\t// return\n\t\treturn $fields;\n\t};\n\n\t/**\n\t * findField\n\t *\n\t * Finds a specific field with jQuery\n\t *\n\t * @date\t14/12/17\n\t * @since\t5.6.5\n\t *\n\t * @param\tstring key \t\tThe field's key.\n\t * @param\tjQuery $parent\tjQuery element to search within.\n\t * @return\tjQuery\n\t */\n\n\tacf.findField = function ( key, $parent ) {\n\t\treturn acf.findFields( {\n\t\t\tkey: key,\n\t\t\tlimit: 1,\n\t\t\tparent: $parent,\n\t\t\tsuppressFilters: true,\n\t\t} );\n\t};\n\n\t/**\n\t * getField\n\t *\n\t * Returns a field instance\n\t *\n\t * @date\t14/12/17\n\t * @since\t5.6.5\n\t *\n\t * @param\tjQuery|string $field\tjQuery element or field key.\n\t * @return\tobject\n\t */\n\n\tacf.getField = function ( $field ) {\n\t\t// allow jQuery\n\t\tif ( $field instanceof jQuery ) {\n\t\t\t// find fields\n\t\t} else {\n\t\t\t$field = acf.findField( $field );\n\t\t}\n\n\t\t// instantiate\n\t\tvar field = $field.data( 'acf' );\n\t\tif ( ! field ) {\n\t\t\tfield = acf.newField( $field );\n\t\t}\n\n\t\t// return\n\t\treturn field;\n\t};\n\n\t/**\n\t * getFields\n\t *\n\t * Returns multiple field instances\n\t *\n\t * @date\t14/12/17\n\t * @since\t5.6.5\n\t *\n\t * @param\tjQuery|object $fields\tjQuery elements or query args.\n\t * @return\tarray\n\t */\n\n\tacf.getFields = function ( $fields ) {\n\t\t// allow jQuery\n\t\tif ( $fields instanceof jQuery ) {\n\t\t\t// find fields\n\t\t} else {\n\t\t\t$fields = acf.findFields( $fields );\n\t\t}\n\n\t\t// loop\n\t\tvar fields = [];\n\t\t$fields.each( function () {\n\t\t\tvar field = acf.getField( $( this ) );\n\t\t\tfields.push( field );\n\t\t} );\n\n\t\t// return\n\t\treturn fields;\n\t};\n\n\t/**\n\t * findClosestField\n\t *\n\t * Returns the closest jQuery field element\n\t *\n\t * @date\t9/4/18\n\t * @since\t5.6.9\n\t *\n\t * @param\tjQuery $el\n\t * @return\tjQuery\n\t */\n\n\tacf.findClosestField = function ( $el ) {\n\t\treturn $el.closest( '.acf-field' );\n\t};\n\n\t/**\n\t * getClosestField\n\t *\n\t * Returns the closest field instance\n\t *\n\t * @date\t22/1/18\n\t * @since\t5.6.5\n\t *\n\t * @param\tjQuery $el\n\t * @return\tobject\n\t */\n\n\tacf.getClosestField = function ( $el ) {\n\t\tvar $field = acf.findClosestField( $el );\n\t\treturn this.getField( $field );\n\t};\n\n\t/**\n\t * addGlobalFieldAction\n\t *\n\t * Sets up callback logic for global field actions\n\t *\n\t * @date\t15/6/18\n\t * @since\t5.6.9\n\t *\n\t * @param\tstring action\n\t * @return\tvoid\n\t */\n\n\tvar addGlobalFieldAction = function ( action ) {\n\t\t// vars\n\t\tvar globalAction = action;\n\t\tvar pluralAction = action + '_fields'; // ready_fields\n\t\tvar singleAction = action + '_field'; // ready_field\n\n\t\t// global action\n\t\tvar globalCallback = function ( $el /*, arg1, arg2, etc*/ ) {\n\t\t\t//console.log( action, arguments );\n\n\t\t\t// get args [$el, ...]\n\t\t\tvar args = acf.arrayArgs( arguments );\n\t\t\tvar extraArgs = args.slice( 1 );\n\n\t\t\t// find fields\n\t\t\tvar fields = acf.getFields( { parent: $el } );\n\n\t\t\t// check\n\t\t\tif ( fields.length ) {\n\t\t\t\t// pluralAction\n\t\t\t\tvar pluralArgs = [ pluralAction, fields ].concat( extraArgs );\n\t\t\t\tacf.doAction.apply( null, pluralArgs );\n\t\t\t}\n\t\t};\n\n\t\t// plural action\n\t\tvar pluralCallback = function ( fields /*, arg1, arg2, etc*/ ) {\n\t\t\t//console.log( pluralAction, arguments );\n\n\t\t\t// get args [fields, ...]\n\t\t\tvar args = acf.arrayArgs( arguments );\n\t\t\tvar extraArgs = args.slice( 1 );\n\n\t\t\t// loop\n\t\t\tfields.map( function ( field, i ) {\n\t\t\t\t//setTimeout(function(){\n\t\t\t\t// singleAction\n\t\t\t\tvar singleArgs = [ singleAction, field ].concat( extraArgs );\n\t\t\t\tacf.doAction.apply( null, singleArgs );\n\t\t\t\t//}, i * 100);\n\t\t\t} );\n\t\t};\n\n\t\t// add actions\n\t\tacf.addAction( globalAction, globalCallback );\n\t\tacf.addAction( pluralAction, pluralCallback );\n\n\t\t// also add single action\n\t\taddSingleFieldAction( action );\n\t};\n\n\t/**\n\t * addSingleFieldAction\n\t *\n\t * Sets up callback logic for single field actions\n\t *\n\t * @date\t15/6/18\n\t * @since\t5.6.9\n\t *\n\t * @param\tstring action\n\t * @return\tvoid\n\t */\n\n\tvar addSingleFieldAction = function ( action ) {\n\t\t// vars\n\t\tvar singleAction = action + '_field'; // ready_field\n\t\tvar singleEvent = action + 'Field'; // readyField\n\n\t\t// single action\n\t\tvar singleCallback = function ( field /*, arg1, arg2, etc*/ ) {\n\t\t\t//console.log( singleAction, arguments );\n\n\t\t\t// get args [field, ...]\n\t\t\tvar args = acf.arrayArgs( arguments );\n\t\t\tvar extraArgs = args.slice( 1 );\n\n\t\t\t// action variations (ready_field/type=image)\n\t\t\tvar variations = [ 'type', 'name', 'key' ];\n\t\t\tvariations.map( function ( variation ) {\n\t\t\t\t// vars\n\t\t\t\tvar prefix = '/' + variation + '=' + field.get( variation );\n\n\t\t\t\t// singleAction\n\t\t\t\targs = [ singleAction + prefix, field ].concat( extraArgs );\n\t\t\t\tacf.doAction.apply( null, args );\n\t\t\t} );\n\n\t\t\t// event\n\t\t\tif ( singleFieldEvents.indexOf( action ) > -1 ) {\n\t\t\t\tfield.trigger( singleEvent, extraArgs );\n\t\t\t}\n\t\t};\n\n\t\t// add actions\n\t\tacf.addAction( singleAction, singleCallback );\n\t};\n\n\t// vars\n\tvar globalFieldActions = [\n\t\t'prepare',\n\t\t'ready',\n\t\t'load',\n\t\t'append',\n\t\t'remove',\n\t\t'unmount',\n\t\t'remount',\n\t\t'sortstart',\n\t\t'sortstop',\n\t\t'show',\n\t\t'hide',\n\t\t'unload',\n\t];\n\tvar singleFieldActions = [\n\t\t'valid',\n\t\t'invalid',\n\t\t'enable',\n\t\t'disable',\n\t\t'new',\n\t\t'duplicate',\n\t];\n\tvar singleFieldEvents = [\n\t\t'remove',\n\t\t'unmount',\n\t\t'remount',\n\t\t'sortstart',\n\t\t'sortstop',\n\t\t'show',\n\t\t'hide',\n\t\t'unload',\n\t\t'valid',\n\t\t'invalid',\n\t\t'enable',\n\t\t'disable',\n\t\t'duplicate',\n\t];\n\n\t// add\n\tglobalFieldActions.map( addGlobalFieldAction );\n\tsingleFieldActions.map( addSingleFieldAction );\n\n\t/**\n\t * fieldsEventManager\n\t *\n\t * Manages field actions and events\n\t *\n\t * @date\t15/12/17\n\t * @since\t5.6.5\n\t *\n\t * @param\tvoid\n\t * @param\tvoid\n\t */\n\n\tvar fieldsEventManager = new acf.Model( {\n\t\tid: 'fieldsEventManager',\n\t\tevents: {\n\t\t\t'click .acf-field a[href=\"#\"]': 'onClick',\n\t\t\t'change .acf-field': 'onChange',\n\t\t},\n\t\tonClick: function ( e ) {\n\t\t\t// prevent default of any link with an href of #\n\t\t\te.preventDefault();\n\t\t},\n\t\tonChange: function () {\n\t\t\t// preview hack allows post to save with no title or content\n\t\t\t$( '#_acf_changed' ).val( 1 );\n\n\t\t\tif ( acf.isGutenbergPostEditor() ) {\n\t\t\t\ttry {\n\t\t\t\t\twp.data.dispatch('core/editor').editPost({ meta: { _acf_changed: 1 } });\n\t\t\t\t} catch ( error ) {\n\t\t\t\t\tconsole.log( 'ACF: Failed to update _acf_changed meta', error );\n\t\t\t\t}\n\n\t\t\t}\n\t\t},\n\t} );\n\n\tvar duplicateFieldsManager = new acf.Model( {\n\t\tid: 'duplicateFieldsManager',\n\t\tactions: {\n\t\t\tduplicate: 'onDuplicate',\n\t\t\tduplicate_fields: 'onDuplicateFields',\n\t\t},\n\t\tonDuplicate: function ( $el, $el2 ) {\n\t\t\tvar fields = acf.getFields( { parent: $el } );\n\t\t\tif ( fields.length ) {\n\t\t\t\tvar $fields = acf.findFields( { parent: $el2 } );\n\t\t\t\tacf.doAction( 'duplicate_fields', fields, $fields );\n\t\t\t}\n\t\t},\n\t\tonDuplicateFields: function ( fields, duplicates ) {\n\t\t\tfields.map( function ( field, i ) {\n\t\t\t\tacf.doAction( 'duplicate_field', field, $( duplicates[ i ] ) );\n\t\t\t} );\n\t\t},\n\t} );\n} )( jQuery );\n","( function ( $, undefined ) {\n\t/**\n\t * refreshHelper\n\t *\n\t * description\n\t *\n\t * @date\t1/7/18\n\t * @since\t5.6.9\n\t *\n\t * @param\ttype $var Description. Default.\n\t * @return\ttype Description.\n\t */\n\n\tvar refreshHelper = new acf.Model( {\n\t\tpriority: 90,\n\t\tactions: {\n\t\t\tnew_field: 'refresh',\n\t\t\tshow_field: 'refresh',\n\t\t\thide_field: 'refresh',\n\t\t\tremove_field: 'refresh',\n\t\t\tunmount_field: 'refresh',\n\t\t\tremount_field: 'refresh',\n\t\t},\n\t\trefresh: function () {\n\t\t\tacf.refresh();\n\t\t},\n\t} );\n\n\t/**\n\t * mountHelper\n\t *\n\t * Adds compatiblity for the 'unmount' and 'remount' actions added in 5.8.0\n\t *\n\t * @date\t7/3/19\n\t * @since\t5.7.14\n\t *\n\t * @param\tvoid\n\t * @return\tvoid\n\t */\n\tvar mountHelper = new acf.Model( {\n\t\tpriority: 1,\n\t\tactions: {\n\t\t\tsortstart: 'onSortstart',\n\t\t\tsortstop: 'onSortstop',\n\t\t},\n\t\tonSortstart: function ( $item ) {\n\t\t\tacf.doAction( 'unmount', $item );\n\t\t},\n\t\tonSortstop: function ( $item ) {\n\t\t\tacf.doAction( 'remount', $item );\n\t\t},\n\t} );\n\n\t/**\n\t * sortableHelper\n\t *\n\t * Adds compatibility for sorting a
              element\n\t *\n\t * @date\t6/3/18\n\t * @since\t5.6.9\n\t *\n\t * @param\tvoid\n\t * @return\tvoid\n\t */\n\n\tvar sortableHelper = new acf.Model( {\n\t\tactions: {\n\t\t\tsortstart: 'onSortstart',\n\t\t},\n\t\tonSortstart: function ( $item, $placeholder ) {\n\t\t\t// if $item is a tr, apply some css to the elements\n\t\t\tif ( $item.is( 'tr' ) ) {\n\t\t\t\t// replace $placeholder children with a single td\n\t\t\t\t// fixes \"width calculation issues\" due to conditional logic hiding some children\n\t\t\t\t$placeholder.html(\n\t\t\t\t\t''\n\t\t\t\t);\n\n\t\t\t\t// add helper class to remove absolute positioning\n\t\t\t\t$item.addClass( 'acf-sortable-tr-helper' );\n\n\t\t\t\t// set fixed widths for children\n\t\t\t\t$item.children().each( function () {\n\t\t\t\t\t$( this ).width( $( this ).width() );\n\t\t\t\t} );\n\n\t\t\t\t// mimic height\n\t\t\t\t$placeholder.height( $item.height() + 'px' );\n\n\t\t\t\t// remove class\n\t\t\t\t$item.removeClass( 'acf-sortable-tr-helper' );\n\t\t\t}\n\t\t},\n\t} );\n\n\t/**\n\t * duplicateHelper\n\t *\n\t * Fixes browser bugs when duplicating an element\n\t *\n\t * @date\t6/3/18\n\t * @since\t5.6.9\n\t *\n\t * @param\tvoid\n\t * @return\tvoid\n\t */\n\n\tvar duplicateHelper = new acf.Model( {\n\t\tactions: {\n\t\t\tafter_duplicate: 'onAfterDuplicate',\n\t\t},\n\t\tonAfterDuplicate: function ( $el, $el2 ) {\n\t\t\t// get original values\n\t\t\tvar vals = [];\n\t\t\t$el.find( 'select' ).each( function ( i ) {\n\t\t\t\tvals.push( $( this ).val() );\n\t\t\t} );\n\n\t\t\t// set duplicate values\n\t\t\t$el2.find( 'select' ).each( function ( i ) {\n\t\t\t\t$( this ).val( vals[ i ] );\n\t\t\t} );\n\t\t},\n\t} );\n\n\t/**\n\t * tableHelper\n\t *\n\t * description\n\t *\n\t * @date\t6/3/18\n\t * @since\t5.6.9\n\t *\n\t * @param\ttype $var Description. Default.\n\t * @return\ttype Description.\n\t */\n\n\tvar tableHelper = new acf.Model( {\n\t\tid: 'tableHelper',\n\n\t\tpriority: 20,\n\n\t\tactions: {\n\t\t\trefresh: 'renderTables',\n\t\t},\n\n\t\trenderTables: function ( $el ) {\n\t\t\t// loop\n\t\t\tvar self = this;\n\t\t\t$( '.acf-table:visible' ).each( function () {\n\t\t\t\tself.renderTable( $( this ) );\n\t\t\t} );\n\t\t},\n\n\t\trenderTable: function ( $table ) {\n\t\t\t// vars\n\t\t\tvar $ths = $table.find( '> thead > tr:visible > th[data-key]' );\n\t\t\tvar $tds = $table.find( '> tbody > tr:visible > td[data-key]' );\n\n\t\t\t// bail early if no thead\n\t\t\tif ( ! $ths.length || ! $tds.length ) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\t// visiblity\n\t\t\t$ths.each( function ( i ) {\n\t\t\t\t// vars\n\t\t\t\tvar $th = $( this );\n\t\t\t\tvar key = $th.data( 'key' );\n\t\t\t\tvar $cells = $tds.filter( '[data-key=\"' + key + '\"]' );\n\t\t\t\tvar $hidden = $cells.filter( '.acf-hidden' );\n\n\t\t\t\t// always remove empty and allow cells to be hidden\n\t\t\t\t$cells.removeClass( 'acf-empty' );\n\n\t\t\t\t// hide $th if all cells are hidden\n\t\t\t\tif ( $cells.length === $hidden.length ) {\n\t\t\t\t\tacf.hide( $th );\n\n\t\t\t\t\t// force all hidden cells to appear empty\n\t\t\t\t} else {\n\t\t\t\t\tacf.show( $th );\n\t\t\t\t\t$hidden.addClass( 'acf-empty' );\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\t// clear width\n\t\t\t$ths.css( 'width', 'auto' );\n\n\t\t\t// get visible\n\t\t\t$ths = $ths.not( '.acf-hidden' );\n\n\t\t\t// vars\n\t\t\tvar availableWidth = 100;\n\t\t\tvar colspan = $ths.length;\n\n\t\t\t// set custom widths first\n\t\t\tvar $fixedWidths = $ths.filter( '[data-width]' );\n\t\t\t$fixedWidths.each( function () {\n\t\t\t\tvar width = $( this ).data( 'width' );\n\t\t\t\t$( this ).css( 'width', width + '%' );\n\t\t\t\tavailableWidth -= width;\n\t\t\t} );\n\n\t\t\t// set auto widths\n\t\t\tvar $auoWidths = $ths.not( '[data-width]' );\n\t\t\tif ( $auoWidths.length ) {\n\t\t\t\tvar width = availableWidth / $auoWidths.length;\n\t\t\t\t$auoWidths.css( 'width', width + '%' );\n\t\t\t\tavailableWidth = 0;\n\t\t\t}\n\n\t\t\t// avoid stretching issue\n\t\t\tif ( availableWidth > 0 ) {\n\t\t\t\t$ths.last().css( 'width', 'auto' );\n\t\t\t}\n\n\t\t\t// update colspan on collapsed\n\t\t\t$tds.filter( '.-collapsed-target' ).each( function () {\n\t\t\t\t// vars\n\t\t\t\tvar $td = $( this );\n\n\t\t\t\t// check if collapsed\n\t\t\t\tif ( $td.parent().hasClass( '-collapsed' ) ) {\n\t\t\t\t\t$td.attr( 'colspan', $ths.length );\n\t\t\t\t} else {\n\t\t\t\t\t$td.removeAttr( 'colspan' );\n\t\t\t\t}\n\t\t\t} );\n\t\t},\n\t} );\n\n\t/**\n\t * fieldsHelper\n\t *\n\t * description\n\t *\n\t * @date\t6/3/18\n\t * @since\t5.6.9\n\t *\n\t * @param\ttype $var Description. Default.\n\t * @return\ttype Description.\n\t */\n\n\tvar fieldsHelper = new acf.Model( {\n\t\tid: 'fieldsHelper',\n\n\t\tpriority: 30,\n\n\t\tactions: {\n\t\t\trefresh: 'renderGroups',\n\t\t},\n\n\t\trenderGroups: function () {\n\t\t\t// loop\n\t\t\tvar self = this;\n\t\t\t$( '.acf-fields:visible' ).each( function () {\n\t\t\t\tself.renderGroup( $( this ) );\n\t\t\t} );\n\t\t},\n\n\t\trenderGroup: function ( $el ) {\n\t\t\t// vars\n\t\t\tvar top = 0;\n\t\t\tvar height = 0;\n\t\t\tvar $row = $();\n\n\t\t\t// get fields\n\t\t\tvar $fields = $el.children( '.acf-field[data-width]:visible' );\n\n\t\t\t// bail early if no fields\n\t\t\tif ( ! $fields.length ) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\t// bail early if is .-left\n\t\t\tif ( $el.hasClass( '-left' ) ) {\n\t\t\t\t$fields.removeAttr( 'data-width' );\n\t\t\t\t$fields.css( 'width', 'auto' );\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\t// reset fields\n\t\t\t$fields.removeClass( '-r0 -c0' ).css( { 'min-height': 0 } );\n\n\t\t\t// loop\n\t\t\t$fields.each( function ( i ) {\n\t\t\t\t// vars\n\t\t\t\tvar $field = $( this );\n\t\t\t\tvar position = $field.position();\n\t\t\t\tvar thisTop = Math.ceil( position.top );\n\t\t\t\tvar thisLeft = Math.ceil( position.left );\n\n\t\t\t\t// detect change in row\n\t\t\t\tif ( $row.length && thisTop > top ) {\n\t\t\t\t\t// set previous heights\n\t\t\t\t\t$row.css( { 'min-height': height + 'px' } );\n\n\t\t\t\t\t// update position due to change in row above\n\t\t\t\t\tposition = $field.position();\n\t\t\t\t\tthisTop = Math.ceil( position.top );\n\t\t\t\t\tthisLeft = Math.ceil( position.left );\n\n\t\t\t\t\t// reset vars\n\t\t\t\t\ttop = 0;\n\t\t\t\t\theight = 0;\n\t\t\t\t\t$row = $();\n\t\t\t\t}\n\n\t\t\t\t// rtl\n\t\t\t\tif ( acf.get( 'rtl' ) ) {\n\t\t\t\t\tthisLeft = Math.ceil(\n\t\t\t\t\t\t$field.parent().width() -\n\t\t\t\t\t\t\t( position.left + $field.outerWidth() )\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\t// add classes\n\t\t\t\tif ( thisTop == 0 ) {\n\t\t\t\t\t$field.addClass( '-r0' );\n\t\t\t\t} else if ( thisLeft == 0 ) {\n\t\t\t\t\t$field.addClass( '-c0' );\n\t\t\t\t}\n\n\t\t\t\t// get height after class change\n\t\t\t\t// - add 1 for subpixel rendering\n\t\t\t\tvar thisHeight = Math.ceil( $field.outerHeight() ) + 1;\n\n\t\t\t\t// set height\n\t\t\t\theight = Math.max( height, thisHeight );\n\n\t\t\t\t// set y\n\t\t\t\ttop = Math.max( top, thisTop );\n\n\t\t\t\t// append\n\t\t\t\t$row = $row.add( $field );\n\t\t\t} );\n\n\t\t\t// clean up\n\t\t\tif ( $row.length ) {\n\t\t\t\t$row.css( { 'min-height': height + 'px' } );\n\t\t\t}\n\t\t},\n\t} );\n\n\t/**\n\t * Adds a body class when holding down the \"shift\" key.\n\t *\n\t * @date\t06/05/2020\n\t * @since\t5.9.0\n\t */\n\tvar bodyClassShiftHelper = new acf.Model( {\n\t\tid: 'bodyClassShiftHelper',\n\t\tevents: {\n\t\t\tkeydown: 'onKeyDown',\n\t\t\tkeyup: 'onKeyUp',\n\t\t},\n\t\tisShiftKey: function ( e ) {\n\t\t\treturn e.keyCode === 16;\n\t\t},\n\t\tonKeyDown: function ( e ) {\n\t\t\tif ( this.isShiftKey( e ) ) {\n\t\t\t\t$( 'body' ).addClass( 'acf-keydown-shift' );\n\t\t\t}\n\t\t},\n\t\tonKeyUp: function ( e ) {\n\t\t\tif ( this.isShiftKey( e ) ) {\n\t\t\t\t$( 'body' ).removeClass( 'acf-keydown-shift' );\n\t\t\t}\n\t\t},\n\t} );\n} )( jQuery );\n","( function ( $, undefined ) {\n\t/**\n\t * acf.newMediaPopup\n\t *\n\t * description\n\t *\n\t * @date\t10/1/18\n\t * @since\t5.6.5\n\t *\n\t * @param\ttype $var Description. Default.\n\t * @return\ttype Description.\n\t */\n\n\tacf.newMediaPopup = function ( args ) {\n\t\t// args\n\t\tvar popup = null;\n\t\tvar args = acf.parseArgs( args, {\n\t\t\tmode: 'select', // 'select', 'edit'\n\t\t\ttitle: '', // 'Upload Image'\n\t\t\tbutton: '', // 'Select Image'\n\t\t\ttype: '', // 'image', ''\n\t\t\tfield: false, // field instance\n\t\t\tallowedTypes: '', // '.jpg, .png, etc'\n\t\t\tlibrary: 'all', // 'all', 'uploadedTo'\n\t\t\tmultiple: false, // false, true, 'add'\n\t\t\tattachment: 0, // the attachment to edit\n\t\t\tautoOpen: true, // open the popup automatically\n\t\t\topen: function () {}, // callback after close\n\t\t\tselect: function () {}, // callback after select\n\t\t\tclose: function () {}, // callback after close\n\t\t} );\n\n\t\t// initialize\n\t\tif ( args.mode == 'edit' ) {\n\t\t\tpopup = new acf.models.EditMediaPopup( args );\n\t\t} else {\n\t\t\tpopup = new acf.models.SelectMediaPopup( args );\n\t\t}\n\n\t\t// open popup (allow frame customization before opening)\n\t\tif ( args.autoOpen ) {\n\t\t\tsetTimeout( function () {\n\t\t\t\tpopup.open();\n\t\t\t}, 1 );\n\t\t}\n\n\t\t// action\n\t\tacf.doAction( 'new_media_popup', popup );\n\n\t\t// return\n\t\treturn popup;\n\t};\n\n\t/**\n\t * getPostID\n\t *\n\t * description\n\t *\n\t * @date\t10/1/18\n\t * @since\t5.6.5\n\t *\n\t * @param\ttype $var Description. Default.\n\t * @return\ttype Description.\n\t */\n\n\tvar getPostID = function () {\n\t\tvar postID = acf.get( 'post_id' );\n\t\treturn acf.isNumeric( postID ) ? postID : 0;\n\t};\n\n\t/**\n\t * acf.getMimeTypes\n\t *\n\t * description\n\t *\n\t * @date\t11/1/18\n\t * @since\t5.6.5\n\t *\n\t * @param\ttype $var Description. Default.\n\t * @return\ttype Description.\n\t */\n\n\tacf.getMimeTypes = function () {\n\t\treturn this.get( 'mimeTypes' );\n\t};\n\n\tacf.getMimeType = function ( name ) {\n\t\t// vars\n\t\tvar allTypes = acf.getMimeTypes();\n\n\t\t// search\n\t\tif ( allTypes[ name ] !== undefined ) {\n\t\t\treturn allTypes[ name ];\n\t\t}\n\n\t\t// some types contain a mixed key such as \"jpg|jpeg|jpe\"\n\t\tfor ( var key in allTypes ) {\n\t\t\tif ( key.indexOf( name ) !== -1 ) {\n\t\t\t\treturn allTypes[ key ];\n\t\t\t}\n\t\t}\n\n\t\t// return\n\t\treturn false;\n\t};\n\n\t/**\n\t * MediaPopup\n\t *\n\t * description\n\t *\n\t * @date\t10/1/18\n\t * @since\t5.6.5\n\t *\n\t * @param\ttype $var Description. Default.\n\t * @return\ttype Description.\n\t */\n\n\tvar MediaPopup = acf.Model.extend( {\n\t\tid: 'MediaPopup',\n\t\tdata: {},\n\t\tdefaults: {},\n\t\tframe: false,\n\n\t\tsetup: function ( props ) {\n\t\t\t$.extend( this.data, props );\n\t\t},\n\n\t\tinitialize: function () {\n\t\t\t// vars\n\t\t\tvar options = this.getFrameOptions();\n\n\t\t\t// add states\n\t\t\tthis.addFrameStates( options );\n\n\t\t\t// create frame\n\t\t\tvar frame = wp.media( options );\n\n\t\t\t// add args reference\n\t\t\tframe.acf = this;\n\n\t\t\t// add events\n\t\t\tthis.addFrameEvents( frame, options );\n\n\t\t\t// strore frame\n\t\t\tthis.frame = frame;\n\t\t},\n\n\t\topen: function () {\n\t\t\tthis.frame.open();\n\t\t},\n\n\t\tclose: function () {\n\t\t\tthis.frame.close();\n\t\t},\n\n\t\tremove: function () {\n\t\t\tthis.frame.detach();\n\t\t\tthis.frame.remove();\n\t\t},\n\n\t\tgetFrameOptions: function () {\n\t\t\t// vars\n\t\t\tvar options = {\n\t\t\t\ttitle: this.get( 'title' ),\n\t\t\t\tmultiple: this.get( 'multiple' ),\n\t\t\t\tlibrary: {},\n\t\t\t\tstates: [],\n\t\t\t};\n\n\t\t\t// type\n\t\t\tif ( this.get( 'type' ) ) {\n\t\t\t\toptions.library.type = this.get( 'type' );\n\t\t\t}\n\n\t\t\t// type\n\t\t\tif ( this.get( 'library' ) === 'uploadedTo' ) {\n\t\t\t\toptions.library.uploadedTo = getPostID();\n\t\t\t}\n\n\t\t\t// attachment\n\t\t\tif ( this.get( 'attachment' ) ) {\n\t\t\t\toptions.library.post__in = [ this.get( 'attachment' ) ];\n\t\t\t}\n\n\t\t\t// button\n\t\t\tif ( this.get( 'button' ) ) {\n\t\t\t\toptions.button = {\n\t\t\t\t\ttext: this.get( 'button' ),\n\t\t\t\t};\n\t\t\t}\n\n\t\t\t// return\n\t\t\treturn options;\n\t\t},\n\n\t\taddFrameStates: function ( options ) {\n\t\t\t// create query\n\t\t\tvar Query = wp.media.query( options.library );\n\n\t\t\t// add _acfuploader\n\t\t\t// this is super wack!\n\t\t\t// if you add _acfuploader to the options.library args, new uploads will not be added to the library view.\n\t\t\t// this has been traced back to the wp.media.model.Query initialize function (which can't be overriden)\n\t\t\t// Adding any custom args will cause the Attahcments to not observe the uploader queue\n\t\t\t// To bypass this security issue, we add in the args AFTER the Query has been initialized\n\t\t\t// options.library._acfuploader = settings.field;\n\t\t\tif (\n\t\t\t\tthis.get( 'field' ) &&\n\t\t\t\tacf.isset( Query, 'mirroring', 'args' )\n\t\t\t) {\n\t\t\t\tQuery.mirroring.args._acfuploader = this.get( 'field' );\n\t\t\t}\n\n\t\t\t// add states\n\t\t\toptions.states.push(\n\t\t\t\t// main state\n\t\t\t\tnew wp.media.controller.Library( {\n\t\t\t\t\tlibrary: Query,\n\t\t\t\t\tmultiple: this.get( 'multiple' ),\n\t\t\t\t\ttitle: this.get( 'title' ),\n\t\t\t\t\tpriority: 20,\n\t\t\t\t\tfilterable: 'all',\n\t\t\t\t\teditable: true,\n\t\t\t\t\tallowLocalEdits: true,\n\t\t\t\t} )\n\t\t\t);\n\n\t\t\t// edit image functionality (added in WP 3.9)\n\t\t\tif ( acf.isset( wp, 'media', 'controller', 'EditImage' ) ) {\n\t\t\t\toptions.states.push( new wp.media.controller.EditImage() );\n\t\t\t}\n\t\t},\n\n\t\taddFrameEvents: function ( frame, options ) {\n\t\t\t// log all events\n\t\t\t//frame.on('all', function( e ) {\n\t\t\t//\tconsole.log( 'frame all: %o', e );\n\t\t\t//});\n\n\t\t\t// add class\n\t\t\tframe.on(\n\t\t\t\t'open',\n\t\t\t\tfunction () {\n\t\t\t\t\tthis.$el\n\t\t\t\t\t\t.closest( '.media-modal' )\n\t\t\t\t\t\t.addClass(\n\t\t\t\t\t\t\t'acf-media-modal -' + this.acf.get( 'mode' )\n\t\t\t\t\t\t);\n\t\t\t\t},\n\t\t\t\tframe\n\t\t\t);\n\n\t\t\t// edit image view\n\t\t\t// source: media-views.js:2410 editImageContent()\n\t\t\tframe.on(\n\t\t\t\t'content:render:edit-image',\n\t\t\t\tfunction () {\n\t\t\t\t\tvar image = this.state().get( 'image' );\n\t\t\t\t\tvar view = new wp.media.view.EditImage( {\n\t\t\t\t\t\tmodel: image,\n\t\t\t\t\t\tcontroller: this,\n\t\t\t\t\t} ).render();\n\t\t\t\t\tthis.content.set( view );\n\n\t\t\t\t\t// after creating the wrapper view, load the actual editor via an ajax call\n\t\t\t\t\tview.loadEditor();\n\t\t\t\t},\n\t\t\t\tframe\n\t\t\t);\n\n\t\t\t// update toolbar button\n\t\t\t//frame.on( 'toolbar:create:select', function( toolbar ) {\n\t\t\t//\ttoolbar.view = new wp.media.view.Toolbar.Select({\n\t\t\t//\t\ttext: frame.options._button,\n\t\t\t//\t\tcontroller: this\n\t\t\t//\t});\n\t\t\t//}, frame );\n\n\t\t\t// on select\n\t\t\tframe.on( 'select', function () {\n\t\t\t\t// vars\n\t\t\t\tvar selection = frame.state().get( 'selection' );\n\n\t\t\t\t// if selecting images\n\t\t\t\tif ( selection ) {\n\t\t\t\t\t// loop\n\t\t\t\t\tselection.each( function ( attachment, i ) {\n\t\t\t\t\t\tframe.acf\n\t\t\t\t\t\t\t.get( 'select' )\n\t\t\t\t\t\t\t.apply( frame.acf, [ attachment, i ] );\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\t// on close\n\t\t\tframe.on( 'close', function () {\n\t\t\t\t// callback and remove\n\t\t\t\tsetTimeout( function () {\n\t\t\t\t\tframe.acf.get( 'close' ).apply( frame.acf );\n\t\t\t\t\tframe.acf.remove();\n\t\t\t\t}, 1 );\n\t\t\t} );\n\t\t},\n\t} );\n\n\t/**\n\t * acf.models.SelectMediaPopup\n\t *\n\t * description\n\t *\n\t * @date\t10/1/18\n\t * @since\t5.6.5\n\t *\n\t * @param\ttype $var Description. Default.\n\t * @return\ttype Description.\n\t */\n\n\tacf.models.SelectMediaPopup = MediaPopup.extend( {\n\t\tid: 'SelectMediaPopup',\n\t\tsetup: function ( props ) {\n\t\t\t// default button\n\t\t\tif ( ! props.button ) {\n\t\t\t\tprops.button = acf._x( 'Select', 'verb' );\n\t\t\t}\n\n\t\t\t// parent\n\t\t\tMediaPopup.prototype.setup.apply( this, arguments );\n\t\t},\n\n\t\taddFrameEvents: function ( frame, options ) {\n\t\t\t// plupload\n\t\t\t// adds _acfuploader param to validate uploads\n\t\t\tif (\n\t\t\t\tacf.isset( _wpPluploadSettings, 'defaults', 'multipart_params' )\n\t\t\t) {\n\t\t\t\t// add _acfuploader so that Uploader will inherit\n\t\t\t\t_wpPluploadSettings.defaults.multipart_params._acfuploader = this.get(\n\t\t\t\t\t'field'\n\t\t\t\t);\n\n\t\t\t\t// remove acf_field so future Uploaders won't inherit\n\t\t\t\tframe.on( 'open', function () {\n\t\t\t\t\tdelete _wpPluploadSettings\n\t\t\t\t\t\t.defaults.multipart_params._acfuploader;\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\t// browse\n\t\t\tframe.on( 'content:activate:browse', function () {\n\t\t\t\t// vars\n\t\t\t\tvar toolbar = false;\n\n\t\t\t\t// populate above vars making sure to allow for failure\n\t\t\t\t// perhaps toolbar does not exist because the frame open is Upload Files\n\t\t\t\ttry {\n\t\t\t\t\ttoolbar = frame.content.get().toolbar;\n\t\t\t\t} catch ( e ) {\n\t\t\t\t\tconsole.log( e );\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\t// callback\n\t\t\t\tframe.acf.customizeFilters.apply( frame.acf, [ toolbar ] );\n\t\t\t} );\n\n\t\t\t// parent\n\t\t\tMediaPopup.prototype.addFrameEvents.apply( this, arguments );\n\t\t},\n\n\t\tcustomizeFilters: function ( toolbar ) {\n\t\t\t// vars\n\t\t\tvar filters = toolbar.get( 'filters' );\n\n\t\t\t// image\n\t\t\tif ( this.get( 'type' ) == 'image' ) {\n\t\t\t\t// update all\n\t\t\t\tfilters.filters.all.text = acf.__( 'All images' );\n\n\t\t\t\t// remove some filters\n\t\t\t\tdelete filters.filters.audio;\n\t\t\t\tdelete filters.filters.video;\n\t\t\t\tdelete filters.filters.image;\n\n\t\t\t\t// update all filters to show images\n\t\t\t\t$.each( filters.filters, function ( i, filter ) {\n\t\t\t\t\tfilter.props.type = filter.props.type || 'image';\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\t// specific types\n\t\t\tif ( this.get( 'allowedTypes' ) ) {\n\t\t\t\t// convert \".jpg, .png\" into [\"jpg\", \"png\"]\n\t\t\t\tvar allowedTypes = this.get( 'allowedTypes' )\n\t\t\t\t\t.split( ' ' )\n\t\t\t\t\t.join( '' )\n\t\t\t\t\t.split( '.' )\n\t\t\t\t\t.join( '' )\n\t\t\t\t\t.split( ',' );\n\n\t\t\t\t// loop\n\t\t\t\tallowedTypes.map( function ( name ) {\n\t\t\t\t\t// get type\n\t\t\t\t\tvar mimeType = acf.getMimeType( name );\n\n\t\t\t\t\t// bail early if no type\n\t\t\t\t\tif ( ! mimeType ) return;\n\n\t\t\t\t\t// create new filter\n\t\t\t\t\tvar newFilter = {\n\t\t\t\t\t\ttext: mimeType,\n\t\t\t\t\t\tprops: {\n\t\t\t\t\t\t\tstatus: null,\n\t\t\t\t\t\t\ttype: mimeType,\n\t\t\t\t\t\t\tuploadedTo: null,\n\t\t\t\t\t\t\torderby: 'date',\n\t\t\t\t\t\t\torder: 'DESC',\n\t\t\t\t\t\t},\n\t\t\t\t\t\tpriority: 20,\n\t\t\t\t\t};\n\n\t\t\t\t\t// append\n\t\t\t\t\tfilters.filters[ mimeType ] = newFilter;\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\t// uploaded to post\n\t\t\tif ( this.get( 'library' ) === 'uploadedTo' ) {\n\t\t\t\t// vars\n\t\t\t\tvar uploadedTo = this.frame.options.library.uploadedTo;\n\n\t\t\t\t// remove some filters\n\t\t\t\tdelete filters.filters.unattached;\n\t\t\t\tdelete filters.filters.uploaded;\n\n\t\t\t\t// add uploadedTo to filters\n\t\t\t\t$.each( filters.filters, function ( i, filter ) {\n\t\t\t\t\tfilter.text +=\n\t\t\t\t\t\t' (' + acf.__( 'Uploaded to this post' ) + ')';\n\t\t\t\t\tfilter.props.uploadedTo = uploadedTo;\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\t// add _acfuploader to filters\n\t\t\tvar field = this.get( 'field' );\n\t\t\t$.each( filters.filters, function ( k, filter ) {\n\t\t\t\tfilter.props._acfuploader = field;\n\t\t\t} );\n\n\t\t\t// add _acfuplaoder to search\n\t\t\tvar search = toolbar.get( 'search' );\n\t\t\tsearch.model.attributes._acfuploader = field;\n\n\t\t\t// render (custom function added to prototype)\n\t\t\tif ( filters.renderFilters ) {\n\t\t\t\tfilters.renderFilters();\n\t\t\t}\n\t\t},\n\t} );\n\n\t/**\n\t * acf.models.EditMediaPopup\n\t *\n\t * description\n\t *\n\t * @date\t10/1/18\n\t * @since\t5.6.5\n\t *\n\t * @param\ttype $var Description. Default.\n\t * @return\ttype Description.\n\t */\n\n\tacf.models.EditMediaPopup = MediaPopup.extend( {\n\t\tid: 'SelectMediaPopup',\n\t\tsetup: function ( props ) {\n\t\t\t// default button\n\t\t\tif ( ! props.button ) {\n\t\t\t\tprops.button = acf._x( 'Update', 'verb' );\n\t\t\t}\n\n\t\t\t// parent\n\t\t\tMediaPopup.prototype.setup.apply( this, arguments );\n\t\t},\n\n\t\taddFrameEvents: function ( frame, options ) {\n\t\t\t// add class\n\t\t\tframe.on(\n\t\t\t\t'open',\n\t\t\t\tfunction () {\n\t\t\t\t\t// add class\n\t\t\t\t\tthis.$el\n\t\t\t\t\t\t.closest( '.media-modal' )\n\t\t\t\t\t\t.addClass( 'acf-expanded' );\n\n\t\t\t\t\t// set to browse\n\t\t\t\t\tif ( this.content.mode() != 'browse' ) {\n\t\t\t\t\t\tthis.content.mode( 'browse' );\n\t\t\t\t\t}\n\n\t\t\t\t\t// set selection\n\t\t\t\t\tvar state = this.state();\n\t\t\t\t\tvar selection = state.get( 'selection' );\n\t\t\t\t\tvar attachment = wp.media.attachment(\n\t\t\t\t\t\tframe.acf.get( 'attachment' )\n\t\t\t\t\t);\n\t\t\t\t\tselection.add( attachment );\n\t\t\t\t},\n\t\t\t\tframe\n\t\t\t);\n\n\t\t\t// parent\n\t\t\tMediaPopup.prototype.addFrameEvents.apply( this, arguments );\n\t\t},\n\t} );\n\n\t/**\n\t * customizePrototypes\n\t *\n\t * description\n\t *\n\t * @date\t11/1/18\n\t * @since\t5.6.5\n\t *\n\t * @param\ttype $var Description. Default.\n\t * @return\ttype Description.\n\t */\n\n\tvar customizePrototypes = new acf.Model( {\n\t\tid: 'customizePrototypes',\n\t\twait: 'ready',\n\n\t\tinitialize: function () {\n\t\t\t// bail early if no media views\n\t\t\tif ( ! acf.isset( window, 'wp', 'media', 'view' ) ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// fix bug where CPT without \"editor\" does not set post.id setting which then prevents uploadedTo from working\n\t\t\tvar postID = getPostID();\n\t\t\tif (\n\t\t\t\tpostID &&\n\t\t\t\tacf.isset( wp, 'media', 'view', 'settings', 'post' )\n\t\t\t) {\n\t\t\t\twp.media.view.settings.post.id = postID;\n\t\t\t}\n\n\t\t\t// customize\n\t\t\tthis.customizeAttachmentsButton();\n\t\t\tthis.customizeAttachmentsRouter();\n\t\t\tthis.customizeAttachmentFilters();\n\t\t\tthis.customizeAttachmentCompat();\n\t\t\tthis.customizeAttachmentLibrary();\n\t\t},\n\n\t\tcustomizeAttachmentsButton: function () {\n\t\t\t// validate\n\t\t\tif ( ! acf.isset( wp, 'media', 'view', 'Button' ) ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Extend\n\t\t\tvar Button = wp.media.view.Button;\n\t\t\twp.media.view.Button = Button.extend( {\n\t\t\t\t// Fix bug where \"Select\" button appears blank after editing an image.\n\t\t\t\t// Do this by simplifying Button initialize function and avoid deleting this.options.\n\t\t\t\tinitialize: function () {\n\t\t\t\t\tvar options = _.defaults( this.options, this.defaults );\n\t\t\t\t\tthis.model = new Backbone.Model( options );\n\t\t\t\t\tthis.listenTo( this.model, 'change', this.render );\n\t\t\t\t},\n\t\t\t} );\n\t\t},\n\n\t\tcustomizeAttachmentsRouter: function () {\n\t\t\t// validate\n\t\t\tif ( ! acf.isset( wp, 'media', 'view', 'Router' ) ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// vars\n\t\t\tvar Parent = wp.media.view.Router;\n\n\t\t\t// extend\n\t\t\twp.media.view.Router = Parent.extend( {\n\t\t\t\taddExpand: function () {\n\t\t\t\t\t// vars\n\t\t\t\t\tvar $a = $(\n\t\t\t\t\t\t[\n\t\t\t\t\t\t\t'',\n\t\t\t\t\t\t\t'' +\n\t\t\t\t\t\t\t\tacf.__( 'Expand Details' ) +\n\t\t\t\t\t\t\t\t'',\n\t\t\t\t\t\t\t'' +\n\t\t\t\t\t\t\t\tacf.__( 'Collapse Details' ) +\n\t\t\t\t\t\t\t\t'',\n\t\t\t\t\t\t\t'',\n\t\t\t\t\t\t].join( '' )\n\t\t\t\t\t);\n\n\t\t\t\t\t// add events\n\t\t\t\t\t$a.on( 'click', function ( e ) {\n\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\tvar $div = $( this ).closest( '.media-modal' );\n\t\t\t\t\t\tif ( $div.hasClass( 'acf-expanded' ) ) {\n\t\t\t\t\t\t\t$div.removeClass( 'acf-expanded' );\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t$div.addClass( 'acf-expanded' );\n\t\t\t\t\t\t}\n\t\t\t\t\t} );\n\n\t\t\t\t\t// append\n\t\t\t\t\tthis.$el.append( $a );\n\t\t\t\t},\n\n\t\t\t\tinitialize: function () {\n\t\t\t\t\t// initialize\n\t\t\t\t\tParent.prototype.initialize.apply( this, arguments );\n\n\t\t\t\t\t// add buttons\n\t\t\t\t\tthis.addExpand();\n\n\t\t\t\t\t// return\n\t\t\t\t\treturn this;\n\t\t\t\t},\n\t\t\t} );\n\t\t},\n\n\t\tcustomizeAttachmentFilters: function () {\n\t\t\t// validate\n\t\t\tif (\n\t\t\t\t! acf.isset( wp, 'media', 'view', 'AttachmentFilters', 'All' )\n\t\t\t) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// vars\n\t\t\tvar Parent = wp.media.view.AttachmentFilters.All;\n\n\t\t\t// renderFilters\n\t\t\t// copied from media-views.js:6939\n\t\t\tParent.prototype.renderFilters = function () {\n\t\t\t\t// Build `' )\n\t\t\t\t\t\t\t\t\t.val( value )\n\t\t\t\t\t\t\t\t\t.html( filter.text )[ 0 ],\n\t\t\t\t\t\t\t\tpriority: filter.priority || 50,\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t}, this )\n\t\t\t\t\t\t.sortBy( 'priority' )\n\t\t\t\t\t\t.pluck( 'el' )\n\t\t\t\t\t\t.value()\n\t\t\t\t);\n\t\t\t};\n\t\t},\n\n\t\tcustomizeAttachmentCompat: function () {\n\t\t\t// validate\n\t\t\tif ( ! acf.isset( wp, 'media', 'view', 'AttachmentCompat' ) ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// vars\n\t\t\tvar AttachmentCompat = wp.media.view.AttachmentCompat;\n\t\t\tvar timeout = false;\n\n\t\t\t// extend\n\t\t\twp.media.view.AttachmentCompat = AttachmentCompat.extend( {\n\t\t\t\trender: function () {\n\t\t\t\t\t// WP bug\n\t\t\t\t\t// When multiple media frames exist on the same page (WP content, WYSIWYG, image, file ),\n\t\t\t\t\t// WP creates multiple instances of this AttachmentCompat view.\n\t\t\t\t\t// Each instance will attempt to render when a new modal is created.\n\t\t\t\t\t// Use a property to avoid this and only render once per instance.\n\t\t\t\t\tif ( this.rendered ) {\n\t\t\t\t\t\treturn this;\n\t\t\t\t\t}\n\n\t\t\t\t\t// render HTML\n\t\t\t\t\tAttachmentCompat.prototype.render.apply( this, arguments );\n\n\t\t\t\t\t// when uploading, render is called twice.\n\t\t\t\t\t// ignore first render by checking for #acf-form-data element\n\t\t\t\t\tif ( ! this.$( '#acf-form-data' ).length ) {\n\t\t\t\t\t\treturn this;\n\t\t\t\t\t}\n\n\t\t\t\t\t// clear timeout\n\t\t\t\t\tclearTimeout( timeout );\n\n\t\t\t\t\t// setTimeout\n\t\t\t\t\ttimeout = setTimeout(\n\t\t\t\t\t\t$.proxy( function () {\n\t\t\t\t\t\t\tthis.rendered = true;\n\t\t\t\t\t\t\tacf.doAction( 'append', this.$el );\n\t\t\t\t\t\t}, this ),\n\t\t\t\t\t\t50\n\t\t\t\t\t);\n\n\t\t\t\t\t// return\n\t\t\t\t\treturn this;\n\t\t\t\t},\n\n\t\t\t\tsave: function ( event ) {\n\t\t\t\t\tvar data = {};\n\n\t\t\t\t\tif ( event ) {\n\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t}\n\n\t\t\t\t\t//_.each( this.$el.serializeArray(), function( pair ) {\n\t\t\t\t\t//\tdata[ pair.name ] = pair.value;\n\t\t\t\t\t//});\n\n\t\t\t\t\t// Serialize data more thoroughly to allow chckbox inputs to save.\n\t\t\t\t\tdata = acf.serializeForAjax( this.$el );\n\n\t\t\t\t\tthis.controller.trigger( 'attachment:compat:waiting', [\n\t\t\t\t\t\t'waiting',\n\t\t\t\t\t] );\n\t\t\t\t\tthis.model\n\t\t\t\t\t\t.saveCompat( data )\n\t\t\t\t\t\t.always( _.bind( this.postSave, this ) );\n\t\t\t\t},\n\t\t\t} );\n\t\t},\n\n\t\tcustomizeAttachmentLibrary: function () {\n\t\t\t// validate\n\t\t\tif ( ! acf.isset( wp, 'media', 'view', 'Attachment', 'Library' ) ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// vars\n\t\t\tvar AttachmentLibrary = wp.media.view.Attachment.Library;\n\n\t\t\t// extend\n\t\t\twp.media.view.Attachment.Library = AttachmentLibrary.extend( {\n\t\t\t\trender: function () {\n\t\t\t\t\t// vars\n\t\t\t\t\tvar popup = acf.isget( this, 'controller', 'acf' );\n\t\t\t\t\tvar attributes = acf.isget( this, 'model', 'attributes' );\n\n\t\t\t\t\t// check vars exist to avoid errors\n\t\t\t\t\tif ( popup && attributes ) {\n\t\t\t\t\t\t// show errors\n\t\t\t\t\t\tif ( attributes.acf_errors ) {\n\t\t\t\t\t\t\tthis.$el.addClass( 'acf-disabled' );\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// disable selected\n\t\t\t\t\t\tvar selected = popup.get( 'selected' );\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\tselected &&\n\t\t\t\t\t\t\tselected.indexOf( attributes.id ) > -1\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tthis.$el.addClass( 'acf-selected' );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t// render\n\t\t\t\t\treturn AttachmentLibrary.prototype.render.apply(\n\t\t\t\t\t\tthis,\n\t\t\t\t\t\targuments\n\t\t\t\t\t);\n\t\t\t\t},\n\n\t\t\t\t/*\n\t\t\t\t * toggleSelection\n\t\t\t\t *\n\t\t\t\t * This function is called before an attachment is selected\n\t\t\t\t * A good place to check for errors and prevent the 'select' function from being fired\n\t\t\t\t *\n\t\t\t\t * @type\tfunction\n\t\t\t\t * @date\t29/09/2016\n\t\t\t\t * @since\t5.4.0\n\t\t\t\t *\n\t\t\t\t * @param\toptions (object)\n\t\t\t\t * @return\tn/a\n\t\t\t\t */\n\n\t\t\t\ttoggleSelection: function ( options ) {\n\t\t\t\t\t// vars\n\t\t\t\t\t// source: wp-includes/js/media-views.js:2880\n\t\t\t\t\tvar collection = this.collection,\n\t\t\t\t\t\tselection = this.options.selection,\n\t\t\t\t\t\tmodel = this.model,\n\t\t\t\t\t\tsingle = selection.single();\n\n\t\t\t\t\t// vars\n\t\t\t\t\tvar frame = this.controller;\n\t\t\t\t\tvar errors = acf.isget(\n\t\t\t\t\t\tthis,\n\t\t\t\t\t\t'model',\n\t\t\t\t\t\t'attributes',\n\t\t\t\t\t\t'acf_errors'\n\t\t\t\t\t);\n\t\t\t\t\tvar $sidebar = frame.$el.find(\n\t\t\t\t\t\t'.media-frame-content .media-sidebar'\n\t\t\t\t\t);\n\n\t\t\t\t\t// remove previous error\n\t\t\t\t\t$sidebar.children( '.acf-selection-error' ).remove();\n\n\t\t\t\t\t// show attachment details\n\t\t\t\t\t$sidebar.children().removeClass( 'acf-hidden' );\n\n\t\t\t\t\t// add message\n\t\t\t\t\tif ( frame && errors ) {\n\t\t\t\t\t\t// vars\n\t\t\t\t\t\tvar filename = acf.isget(\n\t\t\t\t\t\t\tthis,\n\t\t\t\t\t\t\t'model',\n\t\t\t\t\t\t\t'attributes',\n\t\t\t\t\t\t\t'filename'\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\t// hide attachment details\n\t\t\t\t\t\t// Gallery field continues to show previously selected attachment...\n\t\t\t\t\t\t$sidebar.children().addClass( 'acf-hidden' );\n\n\t\t\t\t\t\t// append message\n\t\t\t\t\t\t$sidebar.prepend(\n\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t'
              ',\n\t\t\t\t\t\t\t\t'' +\n\t\t\t\t\t\t\t\t\tacf.__( 'Restricted' ) +\n\t\t\t\t\t\t\t\t\t'',\n\t\t\t\t\t\t\t\t'' +\n\t\t\t\t\t\t\t\t\tfilename +\n\t\t\t\t\t\t\t\t\t'',\n\t\t\t\t\t\t\t\t'' +\n\t\t\t\t\t\t\t\t\terrors +\n\t\t\t\t\t\t\t\t\t'',\n\t\t\t\t\t\t\t\t'
              ',\n\t\t\t\t\t\t\t].join( '' )\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\t// reset selection (unselects all attachments)\n\t\t\t\t\t\tselection.reset();\n\n\t\t\t\t\t\t// set single (attachment displayed in sidebar)\n\t\t\t\t\t\tselection.single( model );\n\n\t\t\t\t\t\t// return and prevent 'select' form being fired\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\t// return\n\t\t\t\t\treturn AttachmentLibrary.prototype.toggleSelection.apply(\n\t\t\t\t\t\tthis,\n\t\t\t\t\t\targuments\n\t\t\t\t\t);\n\t\t\t\t},\n\t\t\t} );\n\t\t},\n\t} );\n} )( jQuery );\n","( function ( $, undefined ) {\n\t/**\n\t * postboxManager\n\t *\n\t * Manages postboxes on the screen.\n\t *\n\t * @date\t25/5/19\n\t * @since\t5.8.1\n\t *\n\t * @param\tvoid\n\t * @return\tvoid\n\t */\n\tvar postboxManager = new acf.Model( {\n\t\twait: 'prepare',\n\t\tpriority: 1,\n\t\tinitialize: function () {\n\t\t\t( acf.get( 'postboxes' ) || [] ).map( acf.newPostbox );\n\t\t},\n\t} );\n\n\t/**\n\t * acf.getPostbox\n\t *\n\t * Returns a postbox instance.\n\t *\n\t * @date\t23/9/18\n\t * @since\t5.7.7\n\t *\n\t * @param\tmixed $el Either a jQuery element or the postbox id.\n\t * @return\tobject\n\t */\n\tacf.getPostbox = function ( $el ) {\n\t\t// allow string parameter\n\t\tif ( typeof arguments[ 0 ] == 'string' ) {\n\t\t\t$el = $( '#' + arguments[ 0 ] );\n\t\t}\n\n\t\t// return instance\n\t\treturn acf.getInstance( $el );\n\t};\n\n\t/**\n\t * acf.getPostboxes\n\t *\n\t * Returns an array of postbox instances.\n\t *\n\t * @date\t23/9/18\n\t * @since\t5.7.7\n\t *\n\t * @param\tvoid\n\t * @return\tarray\n\t */\n\tacf.getPostboxes = function () {\n\t\treturn acf.getInstances( $( '.acf-postbox' ) );\n\t};\n\n\t/**\n\t * acf.newPostbox\n\t *\n\t * Returns a new postbox instance for the given props.\n\t *\n\t * @date\t20/9/18\n\t * @since\t5.7.6\n\t *\n\t * @param\tobject props The postbox properties.\n\t * @return\tobject\n\t */\n\tacf.newPostbox = function ( props ) {\n\t\treturn new acf.models.Postbox( props );\n\t};\n\n\t/**\n\t * acf.models.Postbox\n\t *\n\t * The postbox model.\n\t *\n\t * @date\t20/9/18\n\t * @since\t5.7.6\n\t *\n\t * @param\tvoid\n\t * @return\tvoid\n\t */\n\tacf.models.Postbox = acf.Model.extend( {\n\t\tdata: {\n\t\t\tid: '',\n\t\t\tkey: '',\n\t\t\tstyle: 'default',\n\t\t\tlabel: 'top',\n\t\t\tedit: '',\n\t\t},\n\n\t\tsetup: function ( props ) {\n\t\t\t// compatibilty\n\t\t\tif ( props.editLink ) {\n\t\t\t\tprops.edit = props.editLink;\n\t\t\t}\n\n\t\t\t// extend data\n\t\t\t$.extend( this.data, props );\n\n\t\t\t// set $el\n\t\t\tthis.$el = this.$postbox();\n\t\t},\n\n\t\t$postbox: function () {\n\t\t\treturn $( '#' + this.get( 'id' ) );\n\t\t},\n\n\t\t$hide: function () {\n\t\t\treturn $( '#' + this.get( 'id' ) + '-hide' );\n\t\t},\n\n\t\t$hideLabel: function () {\n\t\t\treturn this.$hide().parent();\n\t\t},\n\n\t\t$hndle: function () {\n\t\t\treturn this.$( '> .hndle' );\n\t\t},\n\n\t\t$handleActions: function () {\n\t\t\treturn this.$( '> .postbox-header .handle-actions' );\n\t\t},\n\n\t\t$inside: function () {\n\t\t\treturn this.$( '> .inside' );\n\t\t},\n\n\t\tisVisible: function () {\n\t\t\treturn this.$el.hasClass( 'acf-hidden' );\n\t\t},\n\n\t\tisHiddenByScreenOptions: function () {\n\t\t\treturn (\n\t\t\t\tthis.$el.hasClass( 'hide-if-js' ) ||\n\t\t\t\tthis.$el.css( 'display' ) == 'none'\n\t\t\t);\n\t\t},\n\n\t\tinitialize: function () {\n\t\t\t// Add default class.\n\t\t\tthis.$el.addClass( 'acf-postbox' );\n\n\t\t\t// Add field group style class (ignore in block editor).\n\t\t\tif ( acf.get( 'editor' ) !== 'block' ) {\n\t\t\t\tvar style = this.get( 'style' );\n\t\t\t\tif ( style !== 'default' ) {\n\t\t\t\t\tthis.$el.addClass( style );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Add .inside class.\n\t\t\tthis.$inside()\n\t\t\t\t.addClass( 'acf-fields' )\n\t\t\t\t.addClass( '-' + this.get( 'label' ) );\n\n\t\t\t// Append edit link.\n\t\t\tvar edit = this.get( 'edit' );\n\t\t\tif ( edit ) {\n\t\t\t\tvar html =\n\t\t\t\t\t'';\n\t\t\t\tvar $handleActions = this.$handleActions();\n\t\t\t\tif ( $handleActions.length ) {\n\t\t\t\t\t$handleActions.prepend( html );\n\t\t\t\t} else {\n\t\t\t\t\tthis.$hndle().append( html );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Show postbox.\n\t\t\tthis.show();\n\t\t},\n\n\t\tshow: function () {\n\t\t\t// If disabled by screen options, set checked to false and return.\n\t\t\tif ( this.$el.hasClass( 'hide-if-js' ) ) {\n\t\t\t\tthis.$hide().prop( 'checked', false );\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Show label.\n\t\t\tthis.$hideLabel().show();\n\n\t\t\t// toggle on checkbox\n\t\t\tthis.$hide().prop( 'checked', true );\n\n\t\t\t// Show postbox\n\t\t\tthis.$el.show().removeClass( 'acf-hidden' );\n\n\t\t\t// Do action.\n\t\t\tacf.doAction( 'show_postbox', this );\n\t\t},\n\n\t\tenable: function () {\n\t\t\tacf.enable( this.$el, 'postbox' );\n\t\t},\n\n\t\tshowEnable: function () {\n\t\t\tthis.enable();\n\t\t\tthis.show();\n\t\t},\n\n\t\thide: function () {\n\t\t\t// Hide label.\n\t\t\tthis.$hideLabel().hide();\n\n\t\t\t// Hide postbox\n\t\t\tthis.$el.hide().addClass( 'acf-hidden' );\n\n\t\t\t// Do action.\n\t\t\tacf.doAction( 'hide_postbox', this );\n\t\t},\n\n\t\tdisable: function () {\n\t\t\tacf.disable( this.$el, 'postbox' );\n\t\t},\n\n\t\thideDisable: function () {\n\t\t\tthis.disable();\n\t\t\tthis.hide();\n\t\t},\n\n\t\thtml: function ( html ) {\n\t\t\t// Update HTML.\n\t\t\tthis.$inside().html( html );\n\n\t\t\t// Do action.\n\t\t\tacf.doAction( 'append', this.$el );\n\t\t},\n\t} );\n} )( jQuery );\n","( function ( $, undefined ) {\n\tacf.screen = new acf.Model( {\n\t\tactive: true,\n\n\t\txhr: false,\n\n\t\ttimeout: false,\n\n\t\twait: 'load',\n\n\t\tevents: {\n\t\t\t'change #page_template': 'onChange',\n\t\t\t'change #parent_id': 'onChange',\n\t\t\t'change #post-formats-select': 'onChange',\n\t\t\t'change .categorychecklist': 'onChange',\n\t\t\t'change .tagsdiv': 'onChange',\n\t\t\t'change .acf-taxonomy-field[data-save=\"1\"]': 'onChange',\n\t\t\t'change #product-type': 'onChange',\n\t\t},\n\n\t\tisPost: function () {\n\t\t\treturn acf.get( 'screen' ) === 'post';\n\t\t},\n\n\t\tisUser: function () {\n\t\t\treturn acf.get( 'screen' ) === 'user';\n\t\t},\n\n\t\tisTaxonomy: function () {\n\t\t\treturn acf.get( 'screen' ) === 'taxonomy';\n\t\t},\n\n\t\tisAttachment: function () {\n\t\t\treturn acf.get( 'screen' ) === 'attachment';\n\t\t},\n\n\t\tisNavMenu: function () {\n\t\t\treturn acf.get( 'screen' ) === 'nav_menu';\n\t\t},\n\n\t\tisWidget: function () {\n\t\t\treturn acf.get( 'screen' ) === 'widget';\n\t\t},\n\n\t\tisComment: function () {\n\t\t\treturn acf.get( 'screen' ) === 'comment';\n\t\t},\n\n\t\tgetPageTemplate: function () {\n\t\t\tvar $el = $( '#page_template' );\n\t\t\treturn $el.length ? $el.val() : null;\n\t\t},\n\n\t\tgetPageParent: function ( e, $el ) {\n\t\t\tvar $el = $( '#parent_id' );\n\t\t\treturn $el.length ? $el.val() : null;\n\t\t},\n\n\t\tgetPageType: function ( e, $el ) {\n\t\t\treturn this.getPageParent() ? 'child' : 'parent';\n\t\t},\n\n\t\tgetPostType: function () {\n\t\t\treturn $( '#post_type' ).val();\n\t\t},\n\n\t\tgetPostFormat: function ( e, $el ) {\n\t\t\tvar $el = $( '#post-formats-select input:checked' );\n\t\t\tif ( $el.length ) {\n\t\t\t\tvar val = $el.val();\n\t\t\t\treturn val == '0' ? 'standard' : val;\n\t\t\t}\n\t\t\treturn null;\n\t\t},\n\n\t\tgetPostCoreTerms: function () {\n\t\t\t// vars\n\t\t\tvar terms = {};\n\n\t\t\t// serialize WP taxonomy postboxes\n\t\t\tvar data = acf.serialize( $( '.categorydiv, .tagsdiv' ) );\n\n\t\t\t// use tax_input (tag, custom-taxonomy) when possible.\n\t\t\t// this data is already formatted in taxonomy => [terms].\n\t\t\tif ( data.tax_input ) {\n\t\t\t\tterms = data.tax_input;\n\t\t\t}\n\n\t\t\t// append \"category\" which uses a different name\n\t\t\tif ( data.post_category ) {\n\t\t\t\tterms.category = data.post_category;\n\t\t\t}\n\n\t\t\t// convert any string values (tags) into array format\n\t\t\tfor ( var tax in terms ) {\n\t\t\t\tif ( ! acf.isArray( terms[ tax ] ) ) {\n\t\t\t\t\tterms[ tax ] = terms[ tax ].split( /,[\\s]?/ );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// return\n\t\t\treturn terms;\n\t\t},\n\n\t\tgetPostTerms: function () {\n\t\t\t// Get core terms.\n\t\t\tvar terms = this.getPostCoreTerms();\n\n\t\t\t// loop over taxonomy fields and add their values\n\t\t\tacf.getFields( { type: 'taxonomy' } ).map( function ( field ) {\n\t\t\t\t// ignore fields that don't save\n\t\t\t\tif ( ! field.get( 'save' ) ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\t// vars\n\t\t\t\tvar val = field.val();\n\t\t\t\tvar tax = field.get( 'taxonomy' );\n\n\t\t\t\t// check val\n\t\t\t\tif ( val ) {\n\t\t\t\t\t// ensure terms exists\n\t\t\t\t\tterms[ tax ] = terms[ tax ] || [];\n\n\t\t\t\t\t// ensure val is an array\n\t\t\t\t\tval = acf.isArray( val ) ? val : [ val ];\n\n\t\t\t\t\t// append\n\t\t\t\t\tterms[ tax ] = terms[ tax ].concat( val );\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\t// add WC product type\n\t\t\tif ( ( productType = this.getProductType() ) !== null ) {\n\t\t\t\tterms.product_type = [ productType ];\n\t\t\t}\n\n\t\t\t// remove duplicate values\n\t\t\tfor ( var tax in terms ) {\n\t\t\t\tterms[ tax ] = acf.uniqueArray( terms[ tax ] );\n\t\t\t}\n\n\t\t\t// return\n\t\t\treturn terms;\n\t\t},\n\n\t\tgetProductType: function () {\n\t\t\tvar $el = $( '#product-type' );\n\t\t\treturn $el.length ? $el.val() : null;\n\t\t},\n\n\t\tcheck: function () {\n\t\t\t// bail early if not for post\n\t\t\tif ( acf.get( 'screen' ) !== 'post' ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// abort XHR if is already loading AJAX data\n\t\t\tif ( this.xhr ) {\n\t\t\t\tthis.xhr.abort();\n\t\t\t}\n\n\t\t\t// vars\n\t\t\tvar ajaxData = acf.parseArgs( this.data, {\n\t\t\t\taction: 'acf/ajax/check_screen',\n\t\t\t\tscreen: acf.get( 'screen' ),\n\t\t\t\texists: [],\n\t\t\t} );\n\n\t\t\t// post id\n\t\t\tif ( this.isPost() ) {\n\t\t\t\tajaxData.post_id = acf.get( 'post_id' );\n\t\t\t}\n\n\t\t\t// post type\n\t\t\tif ( ( postType = this.getPostType() ) !== null ) {\n\t\t\t\tajaxData.post_type = postType;\n\t\t\t}\n\n\t\t\t// page template\n\t\t\tif ( ( pageTemplate = this.getPageTemplate() ) !== null ) {\n\t\t\t\tajaxData.page_template = pageTemplate;\n\t\t\t}\n\n\t\t\t// page parent\n\t\t\tif ( ( pageParent = this.getPageParent() ) !== null ) {\n\t\t\t\tajaxData.page_parent = pageParent;\n\t\t\t}\n\n\t\t\t// page type\n\t\t\tif ( ( pageType = this.getPageType() ) !== null ) {\n\t\t\t\tajaxData.page_type = pageType;\n\t\t\t}\n\n\t\t\t// post format\n\t\t\tif ( ( postFormat = this.getPostFormat() ) !== null ) {\n\t\t\t\tajaxData.post_format = postFormat;\n\t\t\t}\n\n\t\t\t// post terms\n\t\t\tif ( ( postTerms = this.getPostTerms() ) !== null ) {\n\t\t\t\tajaxData.post_terms = postTerms;\n\t\t\t}\n\n\t\t\t// add array of existing postboxes to increase performance and reduce JSON HTML\n\t\t\tacf.getPostboxes().map( function ( postbox ) {\n\t\t\t\tajaxData.exists.push( postbox.get( 'key' ) );\n\t\t\t} );\n\n\t\t\t// filter\n\t\t\tajaxData = acf.applyFilters( 'check_screen_args', ajaxData );\n\n\t\t\t// success\n\t\t\tvar onSuccess = function ( json ) {\n\t\t\t\t// Render post screen.\n\t\t\t\tif ( acf.get( 'screen' ) == 'post' ) {\n\t\t\t\t\tthis.renderPostScreen( json );\n\n\t\t\t\t\t// Render user screen.\n\t\t\t\t} else if ( acf.get( 'screen' ) == 'user' ) {\n\t\t\t\t\tthis.renderUserScreen( json );\n\t\t\t\t}\n\n\t\t\t\t// action\n\t\t\t\tacf.doAction( 'check_screen_complete', json, ajaxData );\n\t\t\t};\n\n\t\t\t// ajax\n\t\t\tthis.xhr = $.ajax( {\n\t\t\t\turl: acf.get( 'ajaxurl' ),\n\t\t\t\tdata: acf.prepareForAjax( ajaxData ),\n\t\t\t\ttype: 'post',\n\t\t\t\tdataType: 'json',\n\t\t\t\tcontext: this,\n\t\t\t\tsuccess: onSuccess,\n\t\t\t} );\n\t\t},\n\n\t\tonChange: function ( e, $el ) {\n\t\t\tthis.setTimeout( this.check, 1 );\n\t\t},\n\n\t\trenderPostScreen: function ( data ) {\n\t\t\t// Helper function to copy events\n\t\t\tvar copyEvents = function ( $from, $to ) {\n\t\t\t\tvar events = $._data( $from[ 0 ] ).events;\n\t\t\t\tfor ( var type in events ) {\n\t\t\t\t\tfor ( var i = 0; i < events[ type ].length; i++ ) {\n\t\t\t\t\t\t$to.on( type, events[ type ][ i ].handler );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t};\n\n\t\t\t// Helper function to sort metabox.\n\t\t\tvar sortMetabox = function ( id, ids ) {\n\t\t\t\t// Find position of id within ids.\n\t\t\t\tvar index = ids.indexOf( id );\n\n\t\t\t\t// Bail early if index not found.\n\t\t\t\tif ( index == -1 ) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\n\t\t\t\t// Loop over metaboxes behind (in reverse order).\n\t\t\t\tfor ( var i = index - 1; i >= 0; i-- ) {\n\t\t\t\t\tif ( $( '#' + ids[ i ] ).length ) {\n\t\t\t\t\t\treturn $( '#' + ids[ i ] ).after( $( '#' + id ) );\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// Loop over metaboxes infront.\n\t\t\t\tfor ( var i = index + 1; i < ids.length; i++ ) {\n\t\t\t\t\tif ( $( '#' + ids[ i ] ).length ) {\n\t\t\t\t\t\treturn $( '#' + ids[ i ] ).before( $( '#' + id ) );\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// Return false if not sorted.\n\t\t\t\treturn false;\n\t\t\t};\n\n\t\t\t// Keep track of visible and hidden postboxes.\n\t\t\tdata.visible = [];\n\t\t\tdata.hidden = [];\n\n\t\t\t// Show these postboxes.\n\t\t\tdata.results = data.results.map( function ( result, i ) {\n\t\t\t\t// vars\n\t\t\t\tvar postbox = acf.getPostbox( result.id );\n\n\t\t\t\t// Prevent \"acf_after_title\" position in Block Editor.\n\t\t\t\tif (\n\t\t\t\t\tacf.isGutenberg() &&\n\t\t\t\t\tresult.position == 'acf_after_title'\n\t\t\t\t) {\n\t\t\t\t\tresult.position = 'normal';\n\t\t\t\t}\n\n\t\t\t\t// Create postbox if doesn't exist.\n\t\t\t\tif ( ! postbox ) {\n\t\t\t\t\tvar wpMinorVersion = parseFloat( acf.get( 'wp_version' ) );\n\t\t\t\t\tif ( wpMinorVersion >= 5.5 ) {\n\t\t\t\t\t\tvar postboxHeader = [\n\t\t\t\t\t\t\t'
              ',\n\t\t\t\t\t\t\t'

              ',\n\t\t\t\t\t\t\t'' + acf.escHtml( result.title ) + '',\n\t\t\t\t\t\t\t'

              ',\n\t\t\t\t\t\t\t'
              ',\n\t\t\t\t\t\t\t'',\n\t\t\t\t\t\t\t'
              ',\n\t\t\t\t\t\t\t'
              ',\n\t\t\t\t\t\t].join( '' );\n\t\t\t\t\t} else {\n\t\t\t\t\t\tvar postboxHeader = [\n\t\t\t\t\t\t\t'',\n\t\t\t\t\t\t\t'

              ',\n\t\t\t\t\t\t\t'' + acf.escHtml( result.title ) + '',\n\t\t\t\t\t\t\t'

              ',\n\t\t\t\t\t\t].join( '' );\n\t\t\t\t\t}\n\n\t\t\t\t\t// Ensure result.classes is set.\n\t\t\t\t\tif ( ! result.classes ) result.classes = '';\n\n\t\t\t\t\t// Create it.\n\t\t\t\t\tvar $postbox = $(\n\t\t\t\t\t\t[\n\t\t\t\t\t\t\t'
              ',\n\t\t\t\t\t\t\tpostboxHeader,\n\t\t\t\t\t\t\t'
              ',\n\t\t\t\t\t\t\tresult.html,\n\t\t\t\t\t\t\t'
              ',\n\t\t\t\t\t\t\t'
              ',\n\t\t\t\t\t\t].join( '' )\n\t\t\t\t\t);\n\n\t\t\t\t\t// Create new hide toggle.\n\t\t\t\t\tif ( $( '#adv-settings' ).length ) {\n\t\t\t\t\t\tvar $prefs = $( '#adv-settings .metabox-prefs' );\n\t\t\t\t\t\tvar $label = $(\n\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t'',\n\t\t\t\t\t\t\t].join( '' )\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\t// Copy default WP events onto checkbox.\n\t\t\t\t\t\tcopyEvents(\n\t\t\t\t\t\t\t$prefs.find( 'input' ).first(),\n\t\t\t\t\t\t\t$label.find( 'input' )\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\t// Append hide label\n\t\t\t\t\t\t$prefs.append( $label );\n\t\t\t\t\t}\n\n\t\t\t\t\t// Copy default WP events onto metabox.\n\t\t\t\t\tif ( $( '.postbox' ).length ) {\n\t\t\t\t\t\tcopyEvents(\n\t\t\t\t\t\t\t$( '.postbox .handlediv' ).first(),\n\t\t\t\t\t\t\t$postbox.children( '.handlediv' )\n\t\t\t\t\t\t);\n\t\t\t\t\t\tcopyEvents(\n\t\t\t\t\t\t\t$( '.postbox .hndle' ).first(),\n\t\t\t\t\t\t\t$postbox.children( '.hndle' )\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\n\t\t\t\t\t// Append metabox to the bottom of \"side-sortables\".\n\t\t\t\t\tif ( result.position === 'side' ) {\n\t\t\t\t\t\t$( '#' + result.position + '-sortables' ).append(\n\t\t\t\t\t\t\t$postbox\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\t// Prepend metabox to the top of \"normal-sortbables\".\n\t\t\t\t\t} else {\n\t\t\t\t\t\t$( '#' + result.position + '-sortables' ).prepend(\n\t\t\t\t\t\t\t$postbox\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\n\t\t\t\t\t// Position metabox amongst existing ACF metaboxes within the same location.\n\t\t\t\t\tvar order = [];\n\t\t\t\t\tdata.results.map( function ( _result ) {\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\tresult.position === _result.position &&\n\t\t\t\t\t\t\t$(\n\t\t\t\t\t\t\t\t'#' +\n\t\t\t\t\t\t\t\t\tresult.position +\n\t\t\t\t\t\t\t\t\t'-sortables #' +\n\t\t\t\t\t\t\t\t\t_result.id\n\t\t\t\t\t\t\t).length\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\torder.push( _result.id );\n\t\t\t\t\t\t}\n\t\t\t\t\t} );\n\t\t\t\t\tsortMetabox( result.id, order );\n\n\t\t\t\t\t// Check 'sorted' for user preference.\n\t\t\t\t\tif ( data.sorted ) {\n\t\t\t\t\t\t// Loop over each position (acf_after_title, side, normal).\n\t\t\t\t\t\tfor ( var position in data.sorted ) {\n\t\t\t\t\t\t\tlet order = data.sorted[ position ];\n\n\t\t\t\t\t\t\tif ( typeof order !== 'string' ) {\n\t\t\t\t\t\t\t\tcontinue;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t// Explode string into array of ids.\n\t\t\t\t\t\t\torder = order.split( ',' );\n\n\t\t\t\t\t\t\t// Position metabox relative to order.\n\t\t\t\t\t\t\tif ( sortMetabox( result.id, order ) ) {\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t// Initalize it (modifies HTML).\n\t\t\t\t\tpostbox = acf.newPostbox( result );\n\n\t\t\t\t\t// Trigger action.\n\t\t\t\t\tacf.doAction( 'append', $postbox );\n\t\t\t\t\tacf.doAction( 'append_postbox', postbox );\n\t\t\t\t}\n\n\t\t\t\t// show postbox\n\t\t\t\tpostbox.showEnable();\n\n\t\t\t\t// append\n\t\t\t\tdata.visible.push( result.id );\n\n\t\t\t\t// Return result (may have changed).\n\t\t\t\treturn result;\n\t\t\t} );\n\n\t\t\t// Hide these postboxes.\n\t\t\tacf.getPostboxes().map( function ( postbox ) {\n\t\t\t\tif ( data.visible.indexOf( postbox.get( 'id' ) ) === -1 ) {\n\t\t\t\t\t// Hide postbox.\n\t\t\t\t\tpostbox.hideDisable();\n\n\t\t\t\t\t// Append to data.\n\t\t\t\t\tdata.hidden.push( postbox.get( 'id' ) );\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\t// Update style.\n\t\t\t$( '#acf-style' ).html( data.style );\n\n\t\t\t// Do action.\n\t\t\tacf.doAction( 'refresh_post_screen', data );\n\t\t},\n\n\t\trenderUserScreen: function ( json ) {},\n\t} );\n\n\t/**\n\t * gutenScreen\n\t *\n\t * Adds compatibility with the Gutenberg edit screen.\n\t *\n\t * @date\t11/12/18\n\t * @since\t5.8.0\n\t *\n\t * @param\tvoid\n\t * @return\tvoid\n\t */\n\tvar gutenScreen = new acf.Model( {\n\t\t// Keep a reference to the most recent post attributes.\n\t\tpostEdits: {},\n\n\t\t// Wait until assets have been loaded.\n\t\twait: 'prepare',\n\n\t\tinitialize: function () {\n\t\t\t// Bail early if not Gutenberg.\n\t\t\tif ( ! acf.isGutenbergPostEditor() ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Listen for changes (use debounced version as this can fires often).\n\t\t\twp.data.subscribe( acf.debounce( this.onChange ).bind( this ) );\n\n\t\t\t// Customize \"acf.screen.get\" functions.\n\t\t\tacf.screen.getPageTemplate = this.getPageTemplate;\n\t\t\tacf.screen.getPageParent = this.getPageParent;\n\t\t\tacf.screen.getPostType = this.getPostType;\n\t\t\tacf.screen.getPostFormat = this.getPostFormat;\n\t\t\tacf.screen.getPostCoreTerms = this.getPostCoreTerms;\n\n\t\t\t// Disable unload\n\t\t\tacf.unload.disable();\n\n\t\t\t// Refresh metaboxes since WP 5.3.\n\t\t\tvar wpMinorVersion = parseFloat( acf.get( 'wp_version' ) );\n\t\t\tif ( wpMinorVersion >= 5.3 ) {\n\t\t\t\tthis.addAction(\n\t\t\t\t\t'refresh_post_screen',\n\t\t\t\t\tthis.onRefreshPostScreen\n\t\t\t\t);\n\t\t\t}\n\n\t\t\t// Trigger \"refresh\" after WP has moved metaboxes into place.\n\t\t\twp.domReady( acf.refresh );\n\t\t},\n\n\t\tonChange: function () {\n\t\t\t// Determine attributes that can trigger a refresh.\n\t\t\tvar attributes = [ 'template', 'parent', 'format' ];\n\n\t\t\t// Append taxonomy attribute names to this list.\n\t\t\t( wp.data.select( 'core' ).getTaxonomies() || [] ).map( function (\n\t\t\t\ttaxonomy\n\t\t\t) {\n\t\t\t\tattributes.push( taxonomy.rest_base );\n\t\t\t} );\n\n\t\t\t// Get relevant current post edits.\n\t\t\tvar _postEdits = wp.data.select( 'core/editor' ).getPostEdits();\n\t\t\tvar postEdits = {};\n\t\t\tattributes.map( function ( k ) {\n\t\t\t\tif ( _postEdits[ k ] !== undefined ) {\n\t\t\t\t\tpostEdits[ k ] = _postEdits[ k ];\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\t// Detect change.\n\t\t\tif (\n\t\t\t\tJSON.stringify( postEdits ) !== JSON.stringify( this.postEdits )\n\t\t\t) {\n\t\t\t\tthis.postEdits = postEdits;\n\n\t\t\t\t// Check screen.\n\t\t\t\tacf.screen.check();\n\t\t\t}\n\t\t},\n\n\t\tgetPageTemplate: function () {\n\t\t\treturn wp.data\n\t\t\t\t.select( 'core/editor' )\n\t\t\t\t.getEditedPostAttribute( 'template' );\n\t\t},\n\n\t\tgetPageParent: function ( e, $el ) {\n\t\t\treturn wp.data\n\t\t\t\t.select( 'core/editor' )\n\t\t\t\t.getEditedPostAttribute( 'parent' );\n\t\t},\n\n\t\tgetPostType: function () {\n\t\t\treturn wp.data\n\t\t\t\t.select( 'core/editor' )\n\t\t\t\t.getEditedPostAttribute( 'type' );\n\t\t},\n\n\t\tgetPostFormat: function ( e, $el ) {\n\t\t\treturn wp.data\n\t\t\t\t.select( 'core/editor' )\n\t\t\t\t.getEditedPostAttribute( 'format' );\n\t\t},\n\n\t\tgetPostCoreTerms: function () {\n\t\t\t// vars\n\t\t\tvar terms = {};\n\n\t\t\t// Loop over taxonomies.\n\t\t\tvar taxonomies = wp.data.select( 'core' ).getTaxonomies() || [];\n\t\t\ttaxonomies.map( function ( taxonomy ) {\n\t\t\t\t// Append selected taxonomies to terms object.\n\t\t\t\tvar postTerms = wp.data\n\t\t\t\t\t.select( 'core/editor' )\n\t\t\t\t\t.getEditedPostAttribute( taxonomy.rest_base );\n\t\t\t\tif ( postTerms ) {\n\t\t\t\t\tterms[ taxonomy.slug ] = postTerms;\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\t// return\n\t\t\treturn terms;\n\t\t},\n\n\t\t/**\n\t\t * onRefreshPostScreen\n\t\t *\n\t\t * Fires after the Post edit screen metaboxs are refreshed to update the Block Editor API state.\n\t\t *\n\t\t * @date\t11/11/19\n\t\t * @since\t5.8.7\n\t\t *\n\t\t * @param\tobject data The \"check_screen\" JSON response data.\n\t\t * @return\tvoid\n\t\t */\n\t\tonRefreshPostScreen: function ( data ) {\n\n\t\t\t// Extract vars.\n\t\t\tvar select = wp.data.select( 'core/edit-post' );\n\t\t\tvar dispatch = wp.data.dispatch( 'core/edit-post' );\n\n\t\t\t// Load current metabox locations and data.\n\t\t\tvar locations = {};\n\t\t\tselect.getActiveMetaBoxLocations().map( function ( location ) {\n\t\t\t\tlocations[ location ] = select.getMetaBoxesPerLocation(\n\t\t\t\t\tlocation\n\t\t\t\t);\n\t\t\t} );\n\n\t\t\t// Generate flat array of existing ids.\n\t\t\tvar ids = [];\n\t\t\tfor ( var k in locations ) {\n\t\t\t\tlocations[ k ].map( function ( m ) {\n\t\t\t\t\tids.push( m.id );\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\t// Append new ACF metaboxes (ignore those which already exist).\n\t\t\tdata.results\n\t\t\t\t.filter( function ( r ) {\n\t\t\t\t\treturn ids.indexOf( r.id ) === -1;\n\t\t\t\t} )\n\t\t\t\t.map( function ( result, i ) {\n\t\t\t\t\t// Ensure location exists.\n\t\t\t\t\tvar location = result.position;\n\t\t\t\t\tlocations[ location ] = locations[ location ] || [];\n\n\t\t\t\t\t// Append.\n\t\t\t\t\tlocations[ location ].push( {\n\t\t\t\t\t\tid: result.id,\n\t\t\t\t\t\ttitle: result.title,\n\t\t\t\t\t} );\n\t\t\t\t} );\n\n\t\t\t// Remove hidden ACF metaboxes.\n\t\t\tfor ( var k in locations ) {\n\t\t\t\tlocations[ k ] = locations[ k ].filter( function ( m ) {\n\t\t\t\t\treturn data.hidden.indexOf( m.id ) === -1;\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\t// Update state.\n\t\t\tdispatch.setAvailableMetaBoxesPerLocation( locations );\n\t\t},\n\t} );\n} )( jQuery );\n","( function ( $, undefined ) {\n\t/**\n\t * acf.newSelect2\n\t *\n\t * description\n\t *\n\t * @date\t13/1/18\n\t * @since\t5.6.5\n\t *\n\t * @param\ttype $var Description. Default.\n\t * @return\ttype Description.\n\t */\n\n\tacf.newSelect2 = function ( $select, props ) {\n\t\t// defaults\n\t\tprops = acf.parseArgs( props, {\n\t\t\tallowNull: false,\n\t\t\tplaceholder: '',\n\t\t\tmultiple: false,\n\t\t\tfield: false,\n\t\t\tajax: false,\n\t\t\tajaxAction: '',\n\t\t\tajaxData: function ( data ) {\n\t\t\t\treturn data;\n\t\t\t},\n\t\t\tajaxResults: function ( json ) {\n\t\t\t\treturn json;\n\t\t\t},\n\t\t\tescapeMarkup: false,\n\t\t\ttemplateSelection: false,\n\t\t\ttemplateResult: false,\n\t\t\tdropdownCssClass: '',\n\t\t\tsuppressFilters: false,\n\t\t} );\n\n\t\t// initialize\n\t\tif ( getVersion() == 4 ) {\n\t\t\tvar select2 = new Select2_4( $select, props );\n\t\t} else {\n\t\t\tvar select2 = new Select2_3( $select, props );\n\t\t}\n\n\t\t// actions\n\t\tacf.doAction( 'new_select2', select2 );\n\n\t\t// return\n\t\treturn select2;\n\t};\n\n\t/**\n\t * getVersion\n\t *\n\t * description\n\t *\n\t * @date\t13/1/18\n\t * @since\t5.6.5\n\t *\n\t * @param\ttype $var Description. Default.\n\t * @return\ttype Description.\n\t */\n\n\tfunction getVersion() {\n\t\t// v4\n\t\tif ( acf.isset( window, 'jQuery', 'fn', 'select2', 'amd' ) ) {\n\t\t\treturn 4;\n\t\t}\n\n\t\t// v3\n\t\tif ( acf.isset( window, 'Select2' ) ) {\n\t\t\treturn 3;\n\t\t}\n\n\t\t// return\n\t\treturn false;\n\t}\n\n\t/**\n\t * Select2\n\t *\n\t * description\n\t *\n\t * @date\t13/1/18\n\t * @since\t5.6.5\n\t *\n\t * @param\ttype $var Description. Default.\n\t * @return\ttype Description.\n\t */\n\n\tvar Select2 = acf.Model.extend( {\n\t\tsetup: function ( $select, props ) {\n\t\t\t$.extend( this.data, props );\n\t\t\tthis.$el = $select;\n\t\t},\n\n\t\tinitialize: function () {},\n\n\t\tselectOption: function ( value ) {\n\t\t\tvar $option = this.getOption( value );\n\t\t\tif ( ! $option.prop( 'selected' ) ) {\n\t\t\t\t$option.prop( 'selected', true ).trigger( 'change' );\n\t\t\t}\n\t\t},\n\n\t\tunselectOption: function ( value ) {\n\t\t\tvar $option = this.getOption( value );\n\t\t\tif ( $option.prop( 'selected' ) ) {\n\t\t\t\t$option.prop( 'selected', false ).trigger( 'change' );\n\t\t\t}\n\t\t},\n\n\t\tgetOption: function ( value ) {\n\t\t\treturn this.$( 'option[value=\"' + value + '\"]' );\n\t\t},\n\n\t\taddOption: function ( option ) {\n\t\t\t// defaults\n\t\t\toption = acf.parseArgs( option, {\n\t\t\t\tid: '',\n\t\t\t\ttext: '',\n\t\t\t\tselected: false,\n\t\t\t} );\n\n\t\t\t// vars\n\t\t\tvar $option = this.getOption( option.id );\n\n\t\t\t// append\n\t\t\tif ( ! $option.length ) {\n\t\t\t\t$option = $( '' );\n\t\t\t\t$option.html( option.text );\n\t\t\t\t$option.attr( 'value', option.id );\n\t\t\t\t$option.prop( 'selected', option.selected );\n\t\t\t\tthis.$el.append( $option );\n\t\t\t}\n\n\t\t\t// chain\n\t\t\treturn $option;\n\t\t},\n\n\t\tgetValue: function () {\n\t\t\t// vars\n\t\t\tvar val = [];\n\t\t\tvar $options = this.$el.find( 'option:selected' );\n\n\t\t\t// bail early if no selected\n\t\t\tif ( ! $options.exists() ) {\n\t\t\t\treturn val;\n\t\t\t}\n\n\t\t\t// sort by attribute\n\t\t\t$options = $options.sort( function ( a, b ) {\n\t\t\t\treturn (\n\t\t\t\t\t+a.getAttribute( 'data-i' ) - +b.getAttribute( 'data-i' )\n\t\t\t\t);\n\t\t\t} );\n\n\t\t\t// loop\n\t\t\t$options.each( function () {\n\t\t\t\tvar $el = $( this );\n\t\t\t\tval.push( {\n\t\t\t\t\t$el: $el,\n\t\t\t\t\tid: $el.attr( 'value' ),\n\t\t\t\t\ttext: $el.text(),\n\t\t\t\t} );\n\t\t\t} );\n\n\t\t\t// return\n\t\t\treturn val;\n\t\t},\n\n\t\tmergeOptions: function () {},\n\n\t\tgetChoices: function () {\n\t\t\t// callback\n\t\t\tvar crawl = function ( $parent ) {\n\t\t\t\t// vars\n\t\t\t\tvar choices = [];\n\n\t\t\t\t// loop\n\t\t\t\t$parent.children().each( function () {\n\t\t\t\t\t// vars\n\t\t\t\t\tvar $child = $( this );\n\n\t\t\t\t\t// optgroup\n\t\t\t\t\tif ( $child.is( 'optgroup' ) ) {\n\t\t\t\t\t\tchoices.push( {\n\t\t\t\t\t\t\ttext: $child.attr( 'label' ),\n\t\t\t\t\t\t\tchildren: crawl( $child ),\n\t\t\t\t\t\t} );\n\n\t\t\t\t\t\t// option\n\t\t\t\t\t} else {\n\t\t\t\t\t\tchoices.push( {\n\t\t\t\t\t\t\tid: $child.attr( 'value' ),\n\t\t\t\t\t\t\ttext: $child.text(),\n\t\t\t\t\t\t} );\n\t\t\t\t\t}\n\t\t\t\t} );\n\n\t\t\t\t// return\n\t\t\t\treturn choices;\n\t\t\t};\n\n\t\t\t// crawl\n\t\t\treturn crawl( this.$el );\n\t\t},\n\n\t\tgetAjaxData: function ( params ) {\n\t\t\t// vars\n\t\t\tvar ajaxData = {\n\t\t\t\taction: this.get( 'ajaxAction' ),\n\t\t\t\ts: params.term || '',\n\t\t\t\tpaged: params.page || 1,\n\t\t\t};\n\n\t\t\t// field helper\n\t\t\tvar field = this.get( 'field' );\n\t\t\tif ( field ) {\n\t\t\t\tajaxData.field_key = field.get( 'key' );\n\t\t\t}\n\n\t\t\t// callback\n\t\t\tvar callback = this.get( 'ajaxData' );\n\t\t\tif ( callback ) {\n\t\t\t\tajaxData = callback.apply( this, [ ajaxData, params ] );\n\t\t\t}\n\n\t\t\t// filter\n\t\t\tajaxData = acf.applyFilters(\n\t\t\t\t'select2_ajax_data',\n\t\t\t\tajaxData,\n\t\t\t\tthis.data,\n\t\t\t\tthis.$el,\n\t\t\t\tfield || false,\n\t\t\t\tthis\n\t\t\t);\n\n\t\t\t// return\n\t\t\treturn acf.prepareForAjax( ajaxData );\n\t\t},\n\n\t\tgetAjaxResults: function ( json, params ) {\n\t\t\t// defaults\n\t\t\tjson = acf.parseArgs( json, {\n\t\t\t\tresults: false,\n\t\t\t\tmore: false,\n\t\t\t} );\n\n\t\t\t// callback\n\t\t\tvar callback = this.get( 'ajaxResults' );\n\t\t\tif ( callback ) {\n\t\t\t\tjson = callback.apply( this, [ json, params ] );\n\t\t\t}\n\n\t\t\t// filter\n\t\t\tjson = acf.applyFilters(\n\t\t\t\t'select2_ajax_results',\n\t\t\t\tjson,\n\t\t\t\tparams,\n\t\t\t\tthis\n\t\t\t);\n\n\t\t\t// return\n\t\t\treturn json;\n\t\t},\n\n\t\tprocessAjaxResults: function ( json, params ) {\n\t\t\t// vars\n\t\t\tvar json = this.getAjaxResults( json, params );\n\n\t\t\t// change more to pagination\n\t\t\tif ( json.more ) {\n\t\t\t\tjson.pagination = { more: true };\n\t\t\t}\n\n\t\t\t// merge together groups\n\t\t\tsetTimeout( $.proxy( this.mergeOptions, this ), 1 );\n\n\t\t\t// return\n\t\t\treturn json;\n\t\t},\n\n\t\tdestroy: function () {\n\t\t\t// destroy via api\n\t\t\tif ( this.$el.data( 'select2' ) ) {\n\t\t\t\tthis.$el.select2( 'destroy' );\n\t\t\t}\n\n\t\t\t// destory via HTML (duplicating HTML does not contain data)\n\t\t\tthis.$el.siblings( '.select2-container' ).remove();\n\t\t},\n\t} );\n\n\t/**\n\t * Select2_4\n\t *\n\t * description\n\t *\n\t * @date\t13/1/18\n\t * @since\t5.6.5\n\t *\n\t * @param\ttype $var Description. Default.\n\t * @return\ttype Description.\n\t */\n\n\tvar Select2_4 = Select2.extend( {\n\t\tinitialize: function () {\n\t\t\t// vars\n\t\t\tvar $select = this.$el;\n\t\t\tvar options = {\n\t\t\t\twidth: '100%',\n\t\t\t\tallowClear: this.get( 'allowNull' ),\n\t\t\t\tplaceholder: this.get( 'placeholder' ),\n\t\t\t\tmultiple: this.get( 'multiple' ),\n\t\t\t\tescapeMarkup: this.get( 'escapeMarkup' ),\n\t\t\t\ttemplateSelection: this.get( 'templateSelection' ),\n\t\t\t\ttemplateResult: this.get( 'templateResult' ),\n\t\t\t\tdropdownCssClass: this.get( 'dropdownCssClass' ),\n\t\t\t\tsuppressFilters: this.get( 'suppressFilters' ),\n\t\t\t\tdata: [],\n\t\t\t};\n\n\t\t\t// Clear empty templateSelections, templateResults, or dropdownCssClass.\n\t\t\tif ( ! options.templateSelection ) {\n\t\t\t\tdelete options.templateSelection;\n\t\t\t}\n\t\t\tif ( ! options.templateResult ) {\n\t\t\t\tdelete options.templateResult;\n\t\t\t}\n\t\t\tif ( ! options.dropdownCssClass ) {\n\t\t\t\tdelete options.dropdownCssClass;\n\t\t\t}\n\n\t\t\t// Only use the template if SelectWoo is not loaded to work around https://github.com/woocommerce/woocommerce/pull/30473\n\t\t\tif ( ! acf.isset( window, 'jQuery', 'fn', 'selectWoo' ) ) {\n\t\t\t\tif ( ! options.templateSelection ) {\n\t\t\t\t\toptions.templateSelection = function ( selection ) {\n\t\t\t\t\t\tvar $selection = $(\n\t\t\t\t\t\t\t''\n\t\t\t\t\t\t);\n\t\t\t\t\t\t$selection.html(\n\t\t\t\t\t\t\toptions.escapeMarkup( selection.text )\n\t\t\t\t\t\t);\n\t\t\t\t\t\t$selection.data( 'element', selection.element );\n\t\t\t\t\t\treturn $selection;\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tdelete options.templateSelection;\n\t\t\t\tdelete options.templateResult;\n\t\t\t}\n\n\t\t\t// Use a default, filterable escapeMarkup if not provided.\n\t\t\tif ( ! options.escapeMarkup ) {\n\t\t\t\toptions.escapeMarkup = function ( markup ) {\n\t\t\t\t\tif ( typeof markup !== 'string' ) {\n\t\t\t\t\t\treturn markup;\n\t\t\t\t\t}\n\n\t\t\t\t\tif ( this.suppressFilters ) {\n\t\t\t\t\t\treturn acf.strEscape( markup );\n\t\t\t\t\t}\n\n\t\t\t\t\treturn acf.applyFilters(\n\t\t\t\t\t\t'select2_escape_markup',\n\t\t\t\t\t\tacf.strEscape( markup ),\n\t\t\t\t\t\tmarkup,\n\t\t\t\t\t\t$select,\n\t\t\t\t\t\tthis.data,\n\t\t\t\t\t\tfield || false,\n\t\t\t\t\t\tthis\n\t\t\t\t\t);\n\t\t\t\t};\n\t\t\t}\n\n\t\t\t// multiple\n\t\t\tif ( options.multiple ) {\n\t\t\t\t// reorder options\n\t\t\t\tthis.getValue().map( function ( item ) {\n\t\t\t\t\titem.$el.detach().appendTo( $select );\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\t// Temporarily remove conflicting attribute.\n\t\t\tvar attrAjax = $select.attr( 'data-ajax' );\n\t\t\tif ( attrAjax !== undefined ) {\n\t\t\t\t$select.removeData( 'ajax' );\n\t\t\t\t$select.removeAttr( 'data-ajax' );\n\t\t\t}\n\n\t\t\t// ajax\n\t\t\tif ( this.get( 'ajax' ) ) {\n\t\t\t\toptions.ajax = {\n\t\t\t\t\turl: acf.get( 'ajaxurl' ),\n\t\t\t\t\tdelay: 250,\n\t\t\t\t\tdataType: 'json',\n\t\t\t\t\ttype: 'post',\n\t\t\t\t\tcache: false,\n\t\t\t\t\tdata: $.proxy( this.getAjaxData, this ),\n\t\t\t\t\tprocessResults: $.proxy( this.processAjaxResults, this ),\n\t\t\t\t};\n\t\t\t}\n\n\t\t\t// filter for 3rd party customization\n\t\t\tif ( ! options.suppressFilters ) {\n\t\t\t\tvar field = this.get( 'field' );\n\t\t\t\toptions = acf.applyFilters(\n\t\t\t\t\t'select2_args',\n\t\t\t\t\toptions,\n\t\t\t\t\t$select,\n\t\t\t\t\tthis.data,\n\t\t\t\t\tfield || false,\n\t\t\t\t\tthis\n\t\t\t\t);\n\t\t\t}\n\t\t\t// add select2\n\t\t\t$select.select2( options );\n\n\t\t\t// get container (Select2 v4 does not return this from constructor)\n\t\t\tvar $container = $select.next( '.select2-container' );\n\n\t\t\t// multiple\n\t\t\tif ( options.multiple ) {\n\t\t\t\t// vars\n\t\t\t\tvar $ul = $container.find( 'ul' );\n\n\t\t\t\t// sortable\n\t\t\t\t$ul.sortable( {\n\t\t\t\t\tstop: function ( e ) {\n\t\t\t\t\t\t// loop\n\t\t\t\t\t\t$ul.find( '.select2-selection__choice' ).each(\n\t\t\t\t\t\t\tfunction () {\n\t\t\t\t\t\t\t\t// Attempt to use .data if it exists (select2 version < 4.0.6) or use our template data instead.\n\t\t\t\t\t\t\t\tif ( $( this ).data( 'data' ) ) {\n\t\t\t\t\t\t\t\t\tvar $option = $(\n\t\t\t\t\t\t\t\t\t\t$( this ).data( 'data' ).element\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tvar $option = $(\n\t\t\t\t\t\t\t\t\t\t$( this )\n\t\t\t\t\t\t\t\t\t\t\t.find( 'span.acf-selection' )\n\t\t\t\t\t\t\t\t\t\t\t.data( 'element' )\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t// detach and re-append to end\n\t\t\t\t\t\t\t\t$option.detach().appendTo( $select );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\t// trigger change on input (JS error if trigger on select)\n\t\t\t\t\t\t$select.trigger( 'change' );\n\t\t\t\t\t},\n\t\t\t\t} );\n\n\t\t\t\t// on select, move to end\n\t\t\t\t$select.on(\n\t\t\t\t\t'select2:select',\n\t\t\t\t\tthis.proxy( function ( e ) {\n\t\t\t\t\t\tthis.getOption( e.params.data.id )\n\t\t\t\t\t\t\t.detach()\n\t\t\t\t\t\t\t.appendTo( this.$el );\n\t\t\t\t\t} )\n\t\t\t\t);\n\t\t\t}\n\n\t\t\t// add handler to auto-focus searchbox (for jQuery 3.6)\n\t\t\t$select.on( 'select2:open', () => {\n\t\t\t\t$( '.select2-container--open .select2-search__field' )\n\t\t\t\t\t.get( -1 )\n\t\t\t\t\t.focus();\n\t\t\t} );\n\n\t\t\t// add class\n\t\t\t$container.addClass( '-acf' );\n\n\t\t\t// Add back temporarily removed attr.\n\t\t\tif ( attrAjax !== undefined ) {\n\t\t\t\t$select.attr( 'data-ajax', attrAjax );\n\t\t\t}\n\n\t\t\t// action for 3rd party customization\n\t\t\tif ( ! options.suppressFilters ) {\n\t\t\t\tacf.doAction(\n\t\t\t\t\t'select2_init',\n\t\t\t\t\t$select,\n\t\t\t\t\toptions,\n\t\t\t\t\tthis.data,\n\t\t\t\t\tfield || false,\n\t\t\t\t\tthis\n\t\t\t\t);\n\t\t\t}\n\t\t},\n\n\t\tmergeOptions: function () {\n\t\t\t// vars\n\t\t\tvar $prevOptions = false;\n\t\t\tvar $prevGroup = false;\n\n\t\t\t// loop\n\t\t\t$( '.select2-results__option[role=\"group\"]' ).each( function () {\n\t\t\t\t// vars\n\t\t\t\tvar $options = $( this ).children( 'ul' );\n\t\t\t\tvar $group = $( this ).children( 'strong' );\n\n\t\t\t\t// compare to previous\n\t\t\t\tif ( $prevGroup && $prevGroup.text() === $group.text() ) {\n\t\t\t\t\t$prevOptions.append( $options.children() );\n\t\t\t\t\t$( this ).remove();\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\t// update vars\n\t\t\t\t$prevOptions = $options;\n\t\t\t\t$prevGroup = $group;\n\t\t\t} );\n\t\t},\n\t} );\n\n\t/**\n\t * Select2_3\n\t *\n\t * description\n\t *\n\t * @date\t13/1/18\n\t * @since\t5.6.5\n\t *\n\t * @param\ttype $var Description. Default.\n\t * @return\ttype Description.\n\t */\n\n\tvar Select2_3 = Select2.extend( {\n\t\tinitialize: function () {\n\t\t\t// vars\n\t\t\tvar $select = this.$el;\n\t\t\tvar value = this.getValue();\n\t\t\tvar multiple = this.get( 'multiple' );\n\t\t\tvar options = {\n\t\t\t\twidth: '100%',\n\t\t\t\tallowClear: this.get( 'allowNull' ),\n\t\t\t\tplaceholder: this.get( 'placeholder' ),\n\t\t\t\tseparator: '||',\n\t\t\t\tmultiple: this.get( 'multiple' ),\n\t\t\t\tdata: this.getChoices(),\n\t\t\t\tescapeMarkup: function ( string ) {\n\t\t\t\t\treturn acf.escHtml( string );\n\t\t\t\t},\n\t\t\t\tdropdownCss: {\n\t\t\t\t\t'z-index': '999999999',\n\t\t\t\t},\n\t\t\t\tinitSelection: function ( element, callback ) {\n\t\t\t\t\tif ( multiple ) {\n\t\t\t\t\t\tcallback( value );\n\t\t\t\t\t} else {\n\t\t\t\t\t\tcallback( value.shift() );\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t};\n\t\t\t// get hidden input\n\t\t\tvar $input = $select.siblings( 'input' );\n\t\t\tif ( ! $input.length ) {\n\t\t\t\t$input = $( '' );\n\t\t\t\t$select.before( $input );\n\t\t\t}\n\n\t\t\t// set input value\n\t\t\tinputValue = value\n\t\t\t\t.map( function ( item ) {\n\t\t\t\t\treturn item.id;\n\t\t\t\t} )\n\t\t\t\t.join( '||' );\n\t\t\t$input.val( inputValue );\n\n\t\t\t// multiple\n\t\t\tif ( options.multiple ) {\n\t\t\t\t// reorder options\n\t\t\t\tvalue.map( function ( item ) {\n\t\t\t\t\titem.$el.detach().appendTo( $select );\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\t// remove blank option as we have a clear all button\n\t\t\tif ( options.allowClear ) {\n\t\t\t\toptions.data = options.data.filter( function ( item ) {\n\t\t\t\t\treturn item.id !== '';\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\t// remove conflicting atts\n\t\t\t$select.removeData( 'ajax' );\n\t\t\t$select.removeAttr( 'data-ajax' );\n\n\t\t\t// ajax\n\t\t\tif ( this.get( 'ajax' ) ) {\n\t\t\t\toptions.ajax = {\n\t\t\t\t\turl: acf.get( 'ajaxurl' ),\n\t\t\t\t\tquietMillis: 250,\n\t\t\t\t\tdataType: 'json',\n\t\t\t\t\ttype: 'post',\n\t\t\t\t\tcache: false,\n\t\t\t\t\tdata: $.proxy( this.getAjaxData, this ),\n\t\t\t\t\tresults: $.proxy( this.processAjaxResults, this ),\n\t\t\t\t};\n\t\t\t}\n\n\t\t\t// filter for 3rd party customization\n\t\t\tvar field = this.get( 'field' );\n\t\t\toptions = acf.applyFilters(\n\t\t\t\t'select2_args',\n\t\t\t\toptions,\n\t\t\t\t$select,\n\t\t\t\tthis.data,\n\t\t\t\tfield || false,\n\t\t\t\tthis\n\t\t\t);\n\n\t\t\t// add select2\n\t\t\t$input.select2( options );\n\n\t\t\t// get container\n\t\t\tvar $container = $input.select2( 'container' );\n\n\t\t\t// helper to find this select's option\n\t\t\tvar getOption = $.proxy( this.getOption, this );\n\n\t\t\t// multiple\n\t\t\tif ( options.multiple ) {\n\t\t\t\t// vars\n\t\t\t\tvar $ul = $container.find( 'ul' );\n\n\t\t\t\t// sortable\n\t\t\t\t$ul.sortable( {\n\t\t\t\t\tstop: function () {\n\t\t\t\t\t\t// loop\n\t\t\t\t\t\t$ul.find( '.select2-search-choice' ).each( function () {\n\t\t\t\t\t\t\t// vars\n\t\t\t\t\t\t\tvar data = $( this ).data( 'select2Data' );\n\t\t\t\t\t\t\tvar $option = getOption( data.id );\n\n\t\t\t\t\t\t\t// detach and re-append to end\n\t\t\t\t\t\t\t$option.detach().appendTo( $select );\n\t\t\t\t\t\t} );\n\n\t\t\t\t\t\t// trigger change on input (JS error if trigger on select)\n\t\t\t\t\t\t$select.trigger( 'change' );\n\t\t\t\t\t},\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\t// on select, create option and move to end\n\t\t\t$input.on( 'select2-selecting', function ( e ) {\n\t\t\t\t// vars\n\t\t\t\tvar item = e.choice;\n\t\t\t\tvar $option = getOption( item.id );\n\n\t\t\t\t// create if doesn't exist\n\t\t\t\tif ( ! $option.length ) {\n\t\t\t\t\t$option = $(\n\t\t\t\t\t\t''\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\t// detach and re-append to end\n\t\t\t\t$option.detach().appendTo( $select );\n\t\t\t} );\n\n\t\t\t// add class\n\t\t\t$container.addClass( '-acf' );\n\n\t\t\t// action for 3rd party customization\n\t\t\tacf.doAction(\n\t\t\t\t'select2_init',\n\t\t\t\t$select,\n\t\t\t\toptions,\n\t\t\t\tthis.data,\n\t\t\t\tfield || false,\n\t\t\t\tthis\n\t\t\t);\n\n\t\t\t// change\n\t\t\t$input.on( 'change', function () {\n\t\t\t\tvar val = $input.val();\n\t\t\t\tif ( val.indexOf( '||' ) ) {\n\t\t\t\t\tval = val.split( '||' );\n\t\t\t\t}\n\t\t\t\t$select.val( val ).trigger( 'change' );\n\t\t\t} );\n\n\t\t\t// hide select\n\t\t\t$select.hide();\n\t\t},\n\n\t\tmergeOptions: function () {\n\t\t\t// vars\n\t\t\tvar $prevOptions = false;\n\t\t\tvar $prevGroup = false;\n\n\t\t\t// loop\n\t\t\t$( '#select2-drop .select2-result-with-children' ).each(\n\t\t\t\tfunction () {\n\t\t\t\t\t// vars\n\t\t\t\t\tvar $options = $( this ).children( 'ul' );\n\t\t\t\t\tvar $group = $( this ).children( '.select2-result-label' );\n\n\t\t\t\t\t// compare to previous\n\t\t\t\t\tif ( $prevGroup && $prevGroup.text() === $group.text() ) {\n\t\t\t\t\t\t$prevGroup.append( $options.children() );\n\t\t\t\t\t\t$( this ).remove();\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\t// update vars\n\t\t\t\t\t$prevOptions = $options;\n\t\t\t\t\t$prevGroup = $group;\n\t\t\t\t}\n\t\t\t);\n\t\t},\n\n\t\tgetAjaxData: function ( term, page ) {\n\t\t\t// create Select2 v4 params\n\t\t\tvar params = {\n\t\t\t\tterm: term,\n\t\t\t\tpage: page,\n\t\t\t};\n\n\t\t\t// filter\n\t\t\tvar field = this.get( 'field' );\n\t\t\tparams = acf.applyFilters(\n\t\t\t\t'select2_ajax_data',\n\t\t\t\tparams,\n\t\t\t\tthis.data,\n\t\t\t\tthis.$el,\n\t\t\t\tfield || false,\n\t\t\t\tthis\n\t\t\t);\n\t\t\t// return\n\t\t\treturn Select2.prototype.getAjaxData.apply( this, [ params ] );\n\t\t},\n\t} );\n\n\t// manager\n\tvar select2Manager = new acf.Model( {\n\t\tpriority: 5,\n\t\twait: 'prepare',\n\t\tactions: {\n\t\t\tduplicate: 'onDuplicate',\n\t\t},\n\t\tinitialize: function () {\n\t\t\t// vars\n\t\t\tvar locale = acf.get( 'locale' );\n\t\t\tvar rtl = acf.get( 'rtl' );\n\t\t\tvar l10n = acf.get( 'select2L10n' );\n\t\t\tvar version = getVersion();\n\n\t\t\t// bail early if no l10n\n\t\t\tif ( ! l10n ) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\t// bail early if 'en'\n\t\t\tif ( locale.indexOf( 'en' ) === 0 ) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\t// initialize\n\t\t\tif ( version == 4 ) {\n\t\t\t\tthis.addTranslations4();\n\t\t\t} else if ( version == 3 ) {\n\t\t\t\tthis.addTranslations3();\n\t\t\t}\n\t\t},\n\n\t\taddTranslations4: function () {\n\t\t\t// vars\n\t\t\tvar l10n = acf.get( 'select2L10n' );\n\t\t\tvar locale = acf.get( 'locale' );\n\n\t\t\t// modify local to match html[lang] attribute (used by Select2)\n\t\t\tlocale = locale.replace( '_', '-' );\n\n\t\t\t// select2L10n\n\t\t\tvar select2L10n = {\n\t\t\t\terrorLoading: function () {\n\t\t\t\t\treturn l10n.load_fail;\n\t\t\t\t},\n\t\t\t\tinputTooLong: function ( args ) {\n\t\t\t\t\tvar overChars = args.input.length - args.maximum;\n\t\t\t\t\tif ( overChars > 1 ) {\n\t\t\t\t\t\treturn l10n.input_too_long_n.replace( '%d', overChars );\n\t\t\t\t\t}\n\t\t\t\t\treturn l10n.input_too_long_1;\n\t\t\t\t},\n\t\t\t\tinputTooShort: function ( args ) {\n\t\t\t\t\tvar remainingChars = args.minimum - args.input.length;\n\t\t\t\t\tif ( remainingChars > 1 ) {\n\t\t\t\t\t\treturn l10n.input_too_short_n.replace(\n\t\t\t\t\t\t\t'%d',\n\t\t\t\t\t\t\tremainingChars\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\treturn l10n.input_too_short_1;\n\t\t\t\t},\n\t\t\t\tloadingMore: function () {\n\t\t\t\t\treturn l10n.load_more;\n\t\t\t\t},\n\t\t\t\tmaximumSelected: function ( args ) {\n\t\t\t\t\tvar maximum = args.maximum;\n\t\t\t\t\tif ( maximum > 1 ) {\n\t\t\t\t\t\treturn l10n.selection_too_long_n.replace(\n\t\t\t\t\t\t\t'%d',\n\t\t\t\t\t\t\tmaximum\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\treturn l10n.selection_too_long_1;\n\t\t\t\t},\n\t\t\t\tnoResults: function () {\n\t\t\t\t\treturn l10n.matches_0;\n\t\t\t\t},\n\t\t\t\tsearching: function () {\n\t\t\t\t\treturn l10n.searching;\n\t\t\t\t},\n\t\t\t};\n\n\t\t\t// append\n\t\t\tjQuery.fn.select2.amd.define(\n\t\t\t\t'select2/i18n/' + locale,\n\t\t\t\t[],\n\t\t\t\tfunction () {\n\t\t\t\t\treturn select2L10n;\n\t\t\t\t}\n\t\t\t);\n\t\t},\n\n\t\taddTranslations3: function () {\n\t\t\t// vars\n\t\t\tvar l10n = acf.get( 'select2L10n' );\n\t\t\tvar locale = acf.get( 'locale' );\n\n\t\t\t// modify local to match html[lang] attribute (used by Select2)\n\t\t\tlocale = locale.replace( '_', '-' );\n\n\t\t\t// select2L10n\n\t\t\tvar select2L10n = {\n\t\t\t\tformatMatches: function ( matches ) {\n\t\t\t\t\tif ( matches > 1 ) {\n\t\t\t\t\t\treturn l10n.matches_n.replace( '%d', matches );\n\t\t\t\t\t}\n\t\t\t\t\treturn l10n.matches_1;\n\t\t\t\t},\n\t\t\t\tformatNoMatches: function () {\n\t\t\t\t\treturn l10n.matches_0;\n\t\t\t\t},\n\t\t\t\tformatAjaxError: function () {\n\t\t\t\t\treturn l10n.load_fail;\n\t\t\t\t},\n\t\t\t\tformatInputTooShort: function ( input, min ) {\n\t\t\t\t\tvar remainingChars = min - input.length;\n\t\t\t\t\tif ( remainingChars > 1 ) {\n\t\t\t\t\t\treturn l10n.input_too_short_n.replace(\n\t\t\t\t\t\t\t'%d',\n\t\t\t\t\t\t\tremainingChars\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\treturn l10n.input_too_short_1;\n\t\t\t\t},\n\t\t\t\tformatInputTooLong: function ( input, max ) {\n\t\t\t\t\tvar overChars = input.length - max;\n\t\t\t\t\tif ( overChars > 1 ) {\n\t\t\t\t\t\treturn l10n.input_too_long_n.replace( '%d', overChars );\n\t\t\t\t\t}\n\t\t\t\t\treturn l10n.input_too_long_1;\n\t\t\t\t},\n\t\t\t\tformatSelectionTooBig: function ( maximum ) {\n\t\t\t\t\tif ( maximum > 1 ) {\n\t\t\t\t\t\treturn l10n.selection_too_long_n.replace(\n\t\t\t\t\t\t\t'%d',\n\t\t\t\t\t\t\tmaximum\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\treturn l10n.selection_too_long_1;\n\t\t\t\t},\n\t\t\t\tformatLoadMore: function () {\n\t\t\t\t\treturn l10n.load_more;\n\t\t\t\t},\n\t\t\t\tformatSearching: function () {\n\t\t\t\t\treturn l10n.searching;\n\t\t\t\t},\n\t\t\t};\n\n\t\t\t// ensure locales exists\n\t\t\t$.fn.select2.locales = $.fn.select2.locales || {};\n\n\t\t\t// append\n\t\t\t$.fn.select2.locales[ locale ] = select2L10n;\n\t\t\t$.extend( $.fn.select2.defaults, select2L10n );\n\t\t},\n\n\t\tonDuplicate: function ( $el, $el2 ) {\n\t\t\t$el2.find( '.select2-container' ).remove();\n\t\t},\n\t} );\n} )( jQuery );\n","( function ( $, undefined ) {\n\tacf.tinymce = {\n\t\t/*\n\t\t * defaults\n\t\t *\n\t\t * This function will return default mce and qt settings\n\t\t *\n\t\t * @type\tfunction\n\t\t * @date\t18/8/17\n\t\t * @since\t5.6.0\n\t\t *\n\t\t * @param\t$post_id (int)\n\t\t * @return\t$post_id (int)\n\t\t */\n\n\t\tdefaults: function () {\n\t\t\t// bail early if no tinyMCEPreInit\n\t\t\tif ( typeof tinyMCEPreInit === 'undefined' ) return false;\n\n\t\t\t// vars\n\t\t\tvar defaults = {\n\t\t\t\ttinymce: tinyMCEPreInit.mceInit.acf_content,\n\t\t\t\tquicktags: tinyMCEPreInit.qtInit.acf_content,\n\t\t\t};\n\n\t\t\t// return\n\t\t\treturn defaults;\n\t\t},\n\n\t\t/*\n\t\t * initialize\n\t\t *\n\t\t * This function will initialize the tinymce and quicktags instances\n\t\t *\n\t\t * @type\tfunction\n\t\t * @date\t18/8/17\n\t\t * @since\t5.6.0\n\t\t *\n\t\t * @param\t$post_id (int)\n\t\t * @return\t$post_id (int)\n\t\t */\n\n\t\tinitialize: function ( id, args ) {\n\t\t\t// defaults\n\t\t\targs = acf.parseArgs( args, {\n\t\t\t\ttinymce: true,\n\t\t\t\tquicktags: true,\n\t\t\t\ttoolbar: 'full',\n\t\t\t\tmode: 'visual', // visual,text\n\t\t\t\tfield: false,\n\t\t\t} );\n\n\t\t\t// tinymce\n\t\t\tif ( args.tinymce ) {\n\t\t\t\tthis.initializeTinymce( id, args );\n\t\t\t}\n\n\t\t\t// quicktags\n\t\t\tif ( args.quicktags ) {\n\t\t\t\tthis.initializeQuicktags( id, args );\n\t\t\t}\n\t\t},\n\n\t\t/*\n\t\t * initializeTinymce\n\t\t *\n\t\t * This function will initialize the tinymce instance\n\t\t *\n\t\t * @type\tfunction\n\t\t * @date\t18/8/17\n\t\t * @since\t5.6.0\n\t\t *\n\t\t * @param\t$post_id (int)\n\t\t * @return\t$post_id (int)\n\t\t */\n\n\t\tinitializeTinymce: function ( id, args ) {\n\t\t\t// vars\n\t\t\tvar $textarea = $( '#' + id );\n\t\t\tvar defaults = this.defaults();\n\t\t\tvar toolbars = acf.get( 'toolbars' );\n\t\t\tvar field = args.field || false;\n\t\t\tvar $field = field.$el || false;\n\n\t\t\t// bail early\n\t\t\tif ( typeof tinymce === 'undefined' ) return false;\n\t\t\tif ( ! defaults ) return false;\n\n\t\t\t// check if exists\n\t\t\tif ( tinymce.get( id ) ) {\n\t\t\t\treturn this.enable( id );\n\t\t\t}\n\n\t\t\t// settings\n\t\t\tvar init = $.extend( {}, defaults.tinymce, args.tinymce );\n\t\t\tinit.id = id;\n\t\t\tinit.selector = '#' + id;\n\n\t\t\t// toolbar\n\t\t\tvar toolbar = args.toolbar;\n\t\t\tif ( toolbar && toolbars && toolbars[ toolbar ] ) {\n\t\t\t\tfor ( var i = 1; i <= 4; i++ ) {\n\t\t\t\t\tinit[ 'toolbar' + i ] = toolbars[ toolbar ][ i ] || '';\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// event\n\t\t\tinit.setup = function ( ed ) {\n\t\t\t\ted.on( 'change', function ( e ) {\n\t\t\t\t\ted.save(); // save to textarea\n\t\t\t\t\t$textarea.trigger( 'change' );\n\t\t\t\t} );\n\n\t\t\t\t// Fix bug where Gutenberg does not hear \"mouseup\" event and tries to select multiple blocks.\n\t\t\t\ted.on( 'mouseup', function ( e ) {\n\t\t\t\t\tvar event = new MouseEvent( 'mouseup' );\n\t\t\t\t\twindow.dispatchEvent( event );\n\t\t\t\t} );\n\n\t\t\t\t// Temporarily comment out. May not be necessary due to wysiwyg field actions.\n\t\t\t\t//ed.on('unload', function(e) {\n\t\t\t\t//\tacf.tinymce.remove( id );\n\t\t\t\t//});\n\t\t\t};\n\n\t\t\t// disable wp_autoresize_on (no solution yet for fixed toolbar)\n\t\t\tinit.wp_autoresize_on = false;\n\n\t\t\t// Enable wpautop allowing value to save without

              tags.\n\t\t\t// Only if the \"TinyMCE Advanced\" plugin hasn't already set this functionality.\n\t\t\tif ( ! init.tadv_noautop ) {\n\t\t\t\tinit.wpautop = true;\n\t\t\t}\n\n\t\t\t// hook for 3rd party customization\n\t\t\tinit = acf.applyFilters(\n\t\t\t\t'wysiwyg_tinymce_settings',\n\t\t\t\tinit,\n\t\t\t\tid,\n\t\t\t\tfield\n\t\t\t);\n\n\t\t\t// z-index fix (caused too many conflicts)\n\t\t\t//if( acf.isset(tinymce,'ui','FloatPanel') ) {\n\t\t\t//\ttinymce.ui.FloatPanel.zIndex = 900000;\n\t\t\t//}\n\n\t\t\t// store settings\n\t\t\ttinyMCEPreInit.mceInit[ id ] = init;\n\n\t\t\t// visual tab is active\n\t\t\tif ( args.mode == 'visual' ) {\n\t\t\t\t// init\n\t\t\t\tvar result = tinymce.init( init );\n\n\t\t\t\t// get editor\n\t\t\t\tvar ed = tinymce.get( id );\n\n\t\t\t\t// validate\n\t\t\t\tif ( ! ed ) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\n\t\t\t\t// add reference\n\t\t\t\ted.acf = args.field;\n\n\t\t\t\t// action\n\t\t\t\tacf.doAction( 'wysiwyg_tinymce_init', ed, ed.id, init, field );\n\t\t\t}\n\t\t},\n\n\t\t/*\n\t\t * initializeQuicktags\n\t\t *\n\t\t * This function will initialize the quicktags instance\n\t\t *\n\t\t * @type\tfunction\n\t\t * @date\t18/8/17\n\t\t * @since\t5.6.0\n\t\t *\n\t\t * @param\t$post_id (int)\n\t\t * @return\t$post_id (int)\n\t\t */\n\n\t\tinitializeQuicktags: function ( id, args ) {\n\t\t\t// vars\n\t\t\tvar defaults = this.defaults();\n\n\t\t\t// bail early\n\t\t\tif ( typeof quicktags === 'undefined' ) return false;\n\t\t\tif ( ! defaults ) return false;\n\n\t\t\t// settings\n\t\t\tvar init = $.extend( {}, defaults.quicktags, args.quicktags );\n\t\t\tinit.id = id;\n\n\t\t\t// filter\n\t\t\tvar field = args.field || false;\n\t\t\tvar $field = field.$el || false;\n\t\t\tinit = acf.applyFilters(\n\t\t\t\t'wysiwyg_quicktags_settings',\n\t\t\t\tinit,\n\t\t\t\tinit.id,\n\t\t\t\tfield\n\t\t\t);\n\n\t\t\t// store settings\n\t\t\ttinyMCEPreInit.qtInit[ id ] = init;\n\n\t\t\t// init\n\t\t\tvar ed = quicktags( init );\n\n\t\t\t// validate\n\t\t\tif ( ! ed ) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\t// generate HTML\n\t\t\tthis.buildQuicktags( ed );\n\n\t\t\t// action for 3rd party customization\n\t\t\tacf.doAction( 'wysiwyg_quicktags_init', ed, ed.id, init, field );\n\t\t},\n\n\t\t/*\n\t\t * buildQuicktags\n\t\t *\n\t\t * This function will build the quicktags HTML\n\t\t *\n\t\t * @type\tfunction\n\t\t * @date\t18/8/17\n\t\t * @since\t5.6.0\n\t\t *\n\t\t * @param\t$post_id (int)\n\t\t * @return\t$post_id (int)\n\t\t */\n\n\t\tbuildQuicktags: function ( ed ) {\n\t\t\tvar canvas,\n\t\t\t\tname,\n\t\t\t\tsettings,\n\t\t\t\ttheButtons,\n\t\t\t\thtml,\n\t\t\t\ted,\n\t\t\t\tid,\n\t\t\t\ti,\n\t\t\t\tuse,\n\t\t\t\tinstanceId,\n\t\t\t\tdefaults =\n\t\t\t\t\t',strong,em,link,block,del,ins,img,ul,ol,li,code,more,close,';\n\n\t\t\tcanvas = ed.canvas;\n\t\t\tname = ed.name;\n\t\t\tsettings = ed.settings;\n\t\t\thtml = '';\n\t\t\ttheButtons = {};\n\t\t\tuse = '';\n\t\t\tinstanceId = ed.id;\n\n\t\t\t// set buttons\n\t\t\tif ( settings.buttons ) {\n\t\t\t\tuse = ',' + settings.buttons + ',';\n\t\t\t}\n\n\t\t\tfor ( i in edButtons ) {\n\t\t\t\tif ( ! edButtons[ i ] ) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tid = edButtons[ i ].id;\n\t\t\t\tif (\n\t\t\t\t\tuse &&\n\t\t\t\t\tdefaults.indexOf( ',' + id + ',' ) !== -1 &&\n\t\t\t\t\tuse.indexOf( ',' + id + ',' ) === -1\n\t\t\t\t) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tif (\n\t\t\t\t\t! edButtons[ i ].instance ||\n\t\t\t\t\tedButtons[ i ].instance === instanceId\n\t\t\t\t) {\n\t\t\t\t\ttheButtons[ id ] = edButtons[ i ];\n\n\t\t\t\t\tif ( edButtons[ i ].html ) {\n\t\t\t\t\t\thtml += edButtons[ i ].html( name + '_' );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif ( use && use.indexOf( ',dfw,' ) !== -1 ) {\n\t\t\t\ttheButtons.dfw = new QTags.DFWButton();\n\t\t\t\thtml += theButtons.dfw.html( name + '_' );\n\t\t\t}\n\n\t\t\tif ( 'rtl' === document.getElementsByTagName( 'html' )[ 0 ].dir ) {\n\t\t\t\ttheButtons.textdirection = new QTags.TextDirectionButton();\n\t\t\t\thtml += theButtons.textdirection.html( name + '_' );\n\t\t\t}\n\n\t\t\ted.toolbar.innerHTML = html;\n\t\t\ted.theButtons = theButtons;\n\n\t\t\tif ( typeof jQuery !== 'undefined' ) {\n\t\t\t\tjQuery( document ).triggerHandler( 'quicktags-init', [ ed ] );\n\t\t\t}\n\t\t},\n\n\t\tdisable: function ( id ) {\n\t\t\tthis.destroyTinymce( id );\n\t\t},\n\n\t\tremove: function ( id ) {\n\t\t\tthis.destroyTinymce( id );\n\t\t},\n\n\t\tdestroy: function ( id ) {\n\t\t\tthis.destroyTinymce( id );\n\t\t},\n\n\t\tdestroyTinymce: function ( id ) {\n\t\t\t// bail early\n\t\t\tif ( typeof tinymce === 'undefined' ) return false;\n\n\t\t\t// get editor\n\t\t\tvar ed = tinymce.get( id );\n\n\t\t\t// bail early if no editor\n\t\t\tif ( ! ed ) return false;\n\n\t\t\t// save\n\t\t\ted.save();\n\n\t\t\t// destroy editor\n\t\t\ted.destroy();\n\n\t\t\t// return\n\t\t\treturn true;\n\t\t},\n\n\t\tenable: function ( id ) {\n\t\t\tthis.enableTinymce( id );\n\t\t},\n\n\t\tenableTinymce: function ( id ) {\n\t\t\t// bail early\n\t\t\tif ( typeof switchEditors === 'undefined' ) return false;\n\n\t\t\t// bail early if not initialized\n\t\t\tif ( typeof tinyMCEPreInit.mceInit[ id ] === 'undefined' )\n\t\t\t\treturn false;\n\n\t\t\t// Ensure textarea element is visible\n\t\t\t// - Fixes bug in block editor when switching between \"Block\" and \"Document\" tabs.\n\t\t\t$( '#' + id ).show();\n\n\t\t\t// toggle\n\t\t\tswitchEditors.go( id, 'tmce' );\n\n\t\t\t// return\n\t\t\treturn true;\n\t\t},\n\t};\n\n\tvar editorManager = new acf.Model( {\n\t\t// hook in before fieldsEventManager, conditions, etc\n\t\tpriority: 5,\n\n\t\tactions: {\n\t\t\tprepare: 'onPrepare',\n\t\t\tready: 'onReady',\n\t\t},\n\t\tonPrepare: function () {\n\t\t\t// find hidden editor which may exist within a field\n\t\t\tvar $div = $( '#acf-hidden-wp-editor' );\n\n\t\t\t// move to footer\n\t\t\tif ( $div.exists() ) {\n\t\t\t\t$div.appendTo( 'body' );\n\t\t\t}\n\t\t},\n\t\tonReady: function () {\n\t\t\t// Restore wp.editor functions used by tinymce removed in WP5.\n\t\t\tif ( acf.isset( window, 'wp', 'oldEditor' ) ) {\n\t\t\t\twp.editor.autop = wp.oldEditor.autop;\n\t\t\t\twp.editor.removep = wp.oldEditor.removep;\n\t\t\t}\n\n\t\t\t// bail early if no tinymce\n\t\t\tif ( ! acf.isset( window, 'tinymce', 'on' ) ) return;\n\n\t\t\t// restore default activeEditor\n\t\t\ttinymce.on( 'AddEditor', function ( data ) {\n\t\t\t\t// vars\n\t\t\t\tvar editor = data.editor;\n\n\t\t\t\t// bail early if not 'acf'\n\t\t\t\tif ( editor.id.substr( 0, 3 ) !== 'acf' ) return;\n\n\t\t\t\t// override if 'content' exists\n\t\t\t\teditor = tinymce.editors.content || editor;\n\n\t\t\t\t// update vars\n\t\t\t\ttinymce.activeEditor = editor;\n\t\t\t\twpActiveEditor = editor.id;\n\t\t\t} );\n\t\t},\n\t} );\n} )( jQuery );\n","( function ( $, undefined ) {\n\tacf.unload = new acf.Model( {\n\t\twait: 'load',\n\t\tactive: true,\n\t\tchanged: false,\n\n\t\tactions: {\n\t\t\tvalidation_failure: 'startListening',\n\t\t\tvalidation_success: 'stopListening',\n\t\t},\n\n\t\tevents: {\n\t\t\t'change form .acf-field': 'startListening',\n\t\t\t'submit form': 'stopListening',\n\t\t},\n\n\t\tenable: function () {\n\t\t\tthis.active = true;\n\t\t},\n\n\t\tdisable: function () {\n\t\t\tthis.active = false;\n\t\t},\n\n\t\treset: function () {\n\t\t\tthis.stopListening();\n\t\t},\n\n\t\tstartListening: function () {\n\t\t\t// bail early if already changed, not active\n\t\t\tif ( this.changed || ! this.active ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// update\n\t\t\tthis.changed = true;\n\n\t\t\t// add event\n\t\t\t$( window ).on( 'beforeunload', this.onUnload );\n\t\t},\n\n\t\tstopListening: function () {\n\t\t\t// update\n\t\t\tthis.changed = false;\n\n\t\t\t// remove event\n\t\t\t$( window ).off( 'beforeunload', this.onUnload );\n\t\t},\n\n\t\tonUnload: function () {\n\t\t\treturn acf.__(\n\t\t\t\t'The changes you made will be lost if you navigate away from this page'\n\t\t\t);\n\t\t},\n\t} );\n} )( jQuery );\n","( function ( $, undefined ) {\n\t/**\n\t * Validator\n\t *\n\t * The model for validating forms\n\t *\n\t * @date\t4/9/18\n\t * @since\t5.7.5\n\t *\n\t * @param\tvoid\n\t * @return\tvoid\n\t */\n\tvar Validator = acf.Model.extend( {\n\t\t/** @var string The model identifier. */\n\t\tid: 'Validator',\n\n\t\t/** @var object The model data. */\n\t\tdata: {\n\t\t\t/** @var array The form errors. */\n\t\t\terrors: [],\n\n\t\t\t/** @var object The form notice. */\n\t\t\tnotice: null,\n\n\t\t\t/** @var string The form status. loading, invalid, valid */\n\t\t\tstatus: '',\n\t\t},\n\n\t\t/** @var object The model events. */\n\t\tevents: {\n\t\t\t'changed:status': 'onChangeStatus',\n\t\t},\n\n\t\t/**\n\t\t * addErrors\n\t\t *\n\t\t * Adds errors to the form.\n\t\t *\n\t\t * @date\t4/9/18\n\t\t * @since\t5.7.5\n\t\t *\n\t\t * @param\tarray errors An array of errors.\n\t\t * @return\tvoid\n\t\t */\n\t\taddErrors: function ( errors ) {\n\t\t\terrors.map( this.addError, this );\n\t\t},\n\n\t\t/**\n\t\t * addError\n\t\t *\n\t\t * Adds and error to the form.\n\t\t *\n\t\t * @date\t4/9/18\n\t\t * @since\t5.7.5\n\t\t *\n\t\t * @param\tobject error An error object containing input and message.\n\t\t * @return\tvoid\n\t\t */\n\t\taddError: function ( error ) {\n\t\t\tthis.data.errors.push( error );\n\t\t},\n\n\t\t/**\n\t\t * hasErrors\n\t\t *\n\t\t * Returns true if the form has errors.\n\t\t *\n\t\t * @date\t4/9/18\n\t\t * @since\t5.7.5\n\t\t *\n\t\t * @param\tvoid\n\t\t * @return\tbool\n\t\t */\n\t\thasErrors: function () {\n\t\t\treturn this.data.errors.length;\n\t\t},\n\n\t\t/**\n\t\t * clearErrors\n\t\t *\n\t\t * Removes any errors.\n\t\t *\n\t\t * @date\t4/9/18\n\t\t * @since\t5.7.5\n\t\t *\n\t\t * @param\tvoid\n\t\t * @return\tvoid\n\t\t */\n\t\tclearErrors: function () {\n\t\t\treturn ( this.data.errors = [] );\n\t\t},\n\n\t\t/**\n\t\t * getErrors\n\t\t *\n\t\t * Returns the forms errors.\n\t\t *\n\t\t * @date\t4/9/18\n\t\t * @since\t5.7.5\n\t\t *\n\t\t * @param\tvoid\n\t\t * @return\tarray\n\t\t */\n\t\tgetErrors: function () {\n\t\t\treturn this.data.errors;\n\t\t},\n\n\t\t/**\n\t\t * getFieldErrors\n\t\t *\n\t\t * Returns the forms field errors.\n\t\t *\n\t\t * @date\t4/9/18\n\t\t * @since\t5.7.5\n\t\t *\n\t\t * @param\tvoid\n\t\t * @return\tarray\n\t\t */\n\t\tgetFieldErrors: function () {\n\t\t\t// vars\n\t\t\tvar errors = [];\n\t\t\tvar inputs = [];\n\n\t\t\t// loop\n\t\t\tthis.getErrors().map( function ( error ) {\n\t\t\t\t// bail early if global\n\t\t\t\tif ( ! error.input ) return;\n\n\t\t\t\t// update if exists\n\t\t\t\tvar i = inputs.indexOf( error.input );\n\t\t\t\tif ( i > -1 ) {\n\t\t\t\t\terrors[ i ] = error;\n\n\t\t\t\t\t// update\n\t\t\t\t} else {\n\t\t\t\t\terrors.push( error );\n\t\t\t\t\tinputs.push( error.input );\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\t// return\n\t\t\treturn errors;\n\t\t},\n\n\t\t/**\n\t\t * getGlobalErrors\n\t\t *\n\t\t * Returns the forms global errors (errors without a specific input).\n\t\t *\n\t\t * @date\t4/9/18\n\t\t * @since\t5.7.5\n\t\t *\n\t\t * @param\tvoid\n\t\t * @return\tarray\n\t\t */\n\t\tgetGlobalErrors: function () {\n\t\t\t// return array of errors that contain no input\n\t\t\treturn this.getErrors().filter( function ( error ) {\n\t\t\t\treturn ! error.input;\n\t\t\t} );\n\t\t},\n\n\t\t/**\n\t\t * showErrors\n\t\t *\n\t\t * Displays all errors for this form.\n\t\t *\n\t\t * @since\t5.7.5\n\t\t *\n\t\t * @param\t{string} [location=before] - The location to add the error, before or after the input. Default before. Since 6.3.\n\t\t * @return\tvoid\n\t\t */\n\t\tshowErrors: function ( location = 'before' ) {\n\t\t\t// bail early if no errors\n\t\t\tif ( ! this.hasErrors() ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// vars\n\t\t\tvar fieldErrors = this.getFieldErrors();\n\t\t\tvar globalErrors = this.getGlobalErrors();\n\n\t\t\t// vars\n\t\t\tvar errorCount = 0;\n\t\t\tvar $scrollTo = false;\n\n\t\t\t// loop\n\t\t\tfieldErrors.map( function ( error ) {\n\t\t\t\t// get input\n\t\t\t\tvar $input = this.$( '[name=\"' + error.input + '\"]' ).first();\n\n\t\t\t\t// if $_POST value was an array, this $input may not exist\n\t\t\t\tif ( ! $input.length ) {\n\t\t\t\t\t$input = this.$( '[name^=\"' + error.input + '\"]' ).first();\n\t\t\t\t}\n\n\t\t\t\t// bail early if input doesn't exist\n\t\t\t\tif ( ! $input.length ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\t// increase\n\t\t\t\terrorCount++;\n\n\t\t\t\t// get field\n\t\t\t\tvar field = acf.getClosestField( $input );\n\n\t\t\t\t// make sure the postbox containing this field is not hidden by screen options\n\t\t\t\tensureFieldPostBoxIsVisible( field.$el );\n\n\t\t\t\t// show error\n\t\t\t\tfield.showError( error.message, location );\n\n\t\t\t\t// set $scrollTo\n\t\t\t\tif ( ! $scrollTo ) {\n\t\t\t\t\t$scrollTo = field.$el;\n\t\t\t\t}\n\t\t\t}, this );\n\n\t\t\t// errorMessage\n\t\t\tvar errorMessage = acf.__( 'Validation failed' );\n\t\t\tglobalErrors.map( function ( error ) {\n\t\t\t\terrorMessage += '. ' + error.message;\n\t\t\t} );\n\t\t\tif ( errorCount == 1 ) {\n\t\t\t\terrorMessage += '. ' + acf.__( '1 field requires attention' );\n\t\t\t} else if ( errorCount > 1 ) {\n\t\t\t\terrorMessage += '. ' + acf.__( '%d fields require attention' ).replace( '%d', errorCount );\n\t\t\t}\n\n\t\t\t// notice\n\t\t\tif ( this.has( 'notice' ) ) {\n\t\t\t\tthis.get( 'notice' ).update( {\n\t\t\t\t\ttype: 'error',\n\t\t\t\t\ttext: errorMessage,\n\t\t\t\t} );\n\t\t\t} else {\n\t\t\t\tvar notice = acf.newNotice( {\n\t\t\t\t\ttype: 'error',\n\t\t\t\t\ttext: errorMessage,\n\t\t\t\t\ttarget: this.$el,\n\t\t\t\t} );\n\t\t\t\tthis.set( 'notice', notice );\n\t\t\t}\n\n\t\t\t// If in a modal, don't try to scroll.\n\t\t\tif ( this.$el.parents( '.acf-popup-box' ).length ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// if no $scrollTo, set to message\n\t\t\tif ( ! $scrollTo ) {\n\t\t\t\t$scrollTo = this.get( 'notice' ).$el;\n\t\t\t}\n\n\t\t\t// timeout\n\t\t\tsetTimeout( function () {\n\t\t\t\t$( 'html, body' ).animate(\n\t\t\t\t\t{\n\t\t\t\t\t\tscrollTop: $scrollTo.offset().top - $( window ).height() / 2,\n\t\t\t\t\t},\n\t\t\t\t\t500\n\t\t\t\t);\n\t\t\t}, 10 );\n\t\t},\n\n\t\t/**\n\t\t * onChangeStatus\n\t\t *\n\t\t * Update the form class when changing the 'status' data\n\t\t *\n\t\t * @date\t4/9/18\n\t\t * @since\t5.7.5\n\t\t *\n\t\t * @param\tobject e The event object.\n\t\t * @param\tjQuery $el The form element.\n\t\t * @param\tstring value The new status.\n\t\t * @param\tstring prevValue The old status.\n\t\t * @return\tvoid\n\t\t */\n\t\tonChangeStatus: function ( e, $el, value, prevValue ) {\n\t\t\tthis.$el.removeClass( 'is-' + prevValue ).addClass( 'is-' + value );\n\t\t},\n\n\t\t/**\n\t\t * validate\n\t\t *\n\t\t * Vaildates the form via AJAX.\n\t\t *\n\t\t * @date\t4/9/18\n\t\t * @since\t5.7.5\n\t\t *\n\t\t * @param\tobject args A list of settings to customize the validation process.\n\t\t * @return\tbool True if the form is valid.\n\t\t */\n\t\tvalidate: function ( args ) {\n\t\t\t// default args\n\t\t\targs = acf.parseArgs( args, {\n\t\t\t\t// trigger event\n\t\t\t\tevent: false,\n\n\t\t\t\t// reset the form after submit\n\t\t\t\treset: false,\n\n\t\t\t\t// loading callback\n\t\t\t\tloading: function () {},\n\n\t\t\t\t// complete callback\n\t\t\t\tcomplete: function () {},\n\n\t\t\t\t// failure callback\n\t\t\t\tfailure: function () {},\n\n\t\t\t\t// success callback\n\t\t\t\tsuccess: function ( $form ) {\n\t\t\t\t\t$form.submit();\n\t\t\t\t},\n\t\t\t} );\n\n\t\t\t// return true if is valid - allows form submit\n\t\t\tif ( this.get( 'status' ) == 'valid' ) {\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t\t// return false if is currently validating - prevents form submit\n\t\t\tif ( this.get( 'status' ) == 'validating' ) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\t// return true if no ACF fields exist (no need to validate)\n\t\t\tif ( ! this.$( '.acf-field' ).length ) {\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t\t// if event is provided, create a new success callback.\n\t\t\tif ( args.event ) {\n\t\t\t\tvar event = $.Event( null, args.event );\n\t\t\t\targs.success = function () {\n\t\t\t\t\tacf.enableSubmit( $( event.target ) ).trigger( event );\n\t\t\t\t};\n\t\t\t}\n\n\t\t\t// action for 3rd party\n\t\t\tacf.doAction( 'validation_begin', this.$el );\n\n\t\t\t// lock form\n\t\t\tacf.lockForm( this.$el );\n\n\t\t\t// loading callback\n\t\t\targs.loading( this.$el, this );\n\n\t\t\t// update status\n\t\t\tthis.set( 'status', 'validating' );\n\n\t\t\t// success callback\n\t\t\tvar onSuccess = function ( json ) {\n\t\t\t\t// validate\n\t\t\t\tif ( ! acf.isAjaxSuccess( json ) ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\t// filter\n\t\t\t\tvar data = acf.applyFilters( 'validation_complete', json.data, this.$el, this );\n\n\t\t\t\t// add errors\n\t\t\t\tif ( ! data.valid ) {\n\t\t\t\t\tthis.addErrors( data.errors );\n\t\t\t\t}\n\t\t\t};\n\n\t\t\t// complete\n\t\t\tvar onComplete = function () {\n\t\t\t\t// unlock form\n\t\t\t\tacf.unlockForm( this.$el );\n\n\t\t\t\t// failure\n\t\t\t\tif ( this.hasErrors() ) {\n\t\t\t\t\t// update status\n\t\t\t\t\tthis.set( 'status', 'invalid' );\n\n\t\t\t\t\t// action\n\t\t\t\t\tacf.doAction( 'validation_failure', this.$el, this );\n\n\t\t\t\t\t// display errors\n\t\t\t\t\tthis.showErrors();\n\n\t\t\t\t\t// failure callback\n\t\t\t\t\targs.failure( this.$el, this );\n\n\t\t\t\t\t// success\n\t\t\t\t} else {\n\t\t\t\t\t// update status\n\t\t\t\t\tthis.set( 'status', 'valid' );\n\n\t\t\t\t\t// remove previous error message\n\t\t\t\t\tif ( this.has( 'notice' ) ) {\n\t\t\t\t\t\tthis.get( 'notice' ).update( {\n\t\t\t\t\t\t\ttype: 'success',\n\t\t\t\t\t\t\ttext: acf.__( 'Validation successful' ),\n\t\t\t\t\t\t\ttimeout: 1000,\n\t\t\t\t\t\t} );\n\t\t\t\t\t}\n\n\t\t\t\t\t// action\n\t\t\t\t\tacf.doAction( 'validation_success', this.$el, this );\n\t\t\t\t\tacf.doAction( 'submit', this.$el );\n\n\t\t\t\t\t// success callback (submit form)\n\t\t\t\t\targs.success( this.$el, this );\n\n\t\t\t\t\t// lock form\n\t\t\t\t\tacf.lockForm( this.$el );\n\n\t\t\t\t\t// reset\n\t\t\t\t\tif ( args.reset ) {\n\t\t\t\t\t\tthis.reset();\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// complete callback\n\t\t\t\targs.complete( this.$el, this );\n\n\t\t\t\t// clear errors\n\t\t\t\tthis.clearErrors();\n\t\t\t};\n\n\t\t\t// serialize form data\n\t\t\tvar data = acf.serialize( this.$el );\n\t\t\tdata.action = 'acf/validate_save_post';\n\n\t\t\t// ajax\n\t\t\t$.ajax( {\n\t\t\t\turl: acf.get( 'ajaxurl' ),\n\t\t\t\tdata: acf.prepareForAjax( data ),\n\t\t\t\ttype: 'post',\n\t\t\t\tdataType: 'json',\n\t\t\t\tcontext: this,\n\t\t\t\tsuccess: onSuccess,\n\t\t\t\tcomplete: onComplete,\n\t\t\t} );\n\n\t\t\t// return false to fail validation and allow AJAX\n\t\t\treturn false;\n\t\t},\n\n\t\t/**\n\t\t * setup\n\t\t *\n\t\t * Called during the constructor function to setup this instance\n\t\t *\n\t\t * @date\t4/9/18\n\t\t * @since\t5.7.5\n\t\t *\n\t\t * @param\tjQuery $form The form element.\n\t\t * @return\tvoid\n\t\t */\n\t\tsetup: function ( $form ) {\n\t\t\t// set $el\n\t\t\tthis.$el = $form;\n\t\t},\n\n\t\t/**\n\t\t * reset\n\t\t *\n\t\t * Rests the validation to be used again.\n\t\t *\n\t\t * @date\t6/9/18\n\t\t * @since\t5.7.5\n\t\t *\n\t\t * @param\tvoid\n\t\t * @return\tvoid\n\t\t */\n\t\treset: function () {\n\t\t\t// reset data\n\t\t\tthis.set( 'errors', [] );\n\t\t\tthis.set( 'notice', null );\n\t\t\tthis.set( 'status', '' );\n\n\t\t\t// unlock form\n\t\t\tacf.unlockForm( this.$el );\n\t\t},\n\t} );\n\n\t/**\n\t * getValidator\n\t *\n\t * Returns the instance for a given form element.\n\t *\n\t * @date\t4/9/18\n\t * @since\t5.7.5\n\t *\n\t * @param\tjQuery $el The form element.\n\t * @return\tobject\n\t */\n\tvar getValidator = function ( $el ) {\n\t\t// instantiate\n\t\tvar validator = $el.data( 'acf' );\n\t\tif ( ! validator ) {\n\t\t\tvalidator = new Validator( $el );\n\t\t}\n\n\t\t// return\n\t\treturn validator;\n\t};\n\n\t/**\n\t * A helper function to generate a Validator for a block form, so .addErrors can be run via block logic.\n\t *\n\t * @since\t6.3\n\t *\n\t * @param $el The jQuery block form wrapper element.\n\t * @return bool\n\t */\n\tacf.getBlockFormValidator = function ( $el ) {\n\t\treturn getValidator( $el );\n\t};\n\n\t/**\n\t * A helper function for the Validator.validate() function.\n\t * Returns true if form is valid, or fetches a validation request and returns false.\n\t *\n\t * @since\t5.6.9\n\t *\n\t * @param\tobject args A list of settings to customize the validation process.\n\t * @return\tbool\n\t */\n\tacf.validateForm = function ( args ) {\n\t\treturn getValidator( args.form ).validate( args );\n\t};\n\n\t/**\n\t * acf.enableSubmit\n\t *\n\t * Enables a submit button and returns the element.\n\t *\n\t * @date\t30/8/18\n\t * @since\t5.7.4\n\t *\n\t * @param\tjQuery $submit The submit button.\n\t * @return\tjQuery\n\t */\n\tacf.enableSubmit = function ( $submit ) {\n\t\treturn $submit.removeClass( 'disabled' ).removeAttr( 'disabled' );\n\t};\n\n\t/**\n\t * acf.disableSubmit\n\t *\n\t * Disables a submit button and returns the element.\n\t *\n\t * @date\t30/8/18\n\t * @since\t5.7.4\n\t *\n\t * @param\tjQuery $submit The submit button.\n\t * @return\tjQuery\n\t */\n\tacf.disableSubmit = function ( $submit ) {\n\t\treturn $submit.addClass( 'disabled' ).attr( 'disabled', true );\n\t};\n\n\t/**\n\t * acf.showSpinner\n\t *\n\t * Shows the spinner element.\n\t *\n\t * @date\t4/9/18\n\t * @since\t5.7.5\n\t *\n\t * @param\tjQuery $spinner The spinner element.\n\t * @return\tjQuery\n\t */\n\tacf.showSpinner = function ( $spinner ) {\n\t\t$spinner.addClass( 'is-active' ); // add class (WP > 4.2)\n\t\t$spinner.css( 'display', 'inline-block' ); // css (WP < 4.2)\n\t\treturn $spinner;\n\t};\n\n\t/**\n\t * acf.hideSpinner\n\t *\n\t * Hides the spinner element.\n\t *\n\t * @date\t4/9/18\n\t * @since\t5.7.5\n\t *\n\t * @param\tjQuery $spinner The spinner element.\n\t * @return\tjQuery\n\t */\n\tacf.hideSpinner = function ( $spinner ) {\n\t\t$spinner.removeClass( 'is-active' ); // add class (WP > 4.2)\n\t\t$spinner.css( 'display', 'none' ); // css (WP < 4.2)\n\t\treturn $spinner;\n\t};\n\n\t/**\n\t * acf.lockForm\n\t *\n\t * Locks a form by disabeling its primary inputs and showing a spinner.\n\t *\n\t * @date\t4/9/18\n\t * @since\t5.7.5\n\t *\n\t * @param\tjQuery $form The form element.\n\t * @return\tjQuery\n\t */\n\tacf.lockForm = function ( $form ) {\n\t\t// vars\n\t\tvar $wrap = findSubmitWrap( $form );\n\t\tvar $submit = $wrap.find( '.button, [type=\"submit\"]' ).not( '.acf-nav, .acf-repeater-add-row' );\n\t\tvar $spinner = $wrap.find( '.spinner, .acf-spinner' );\n\n\t\t// hide all spinners (hides the preview spinner)\n\t\tacf.hideSpinner( $spinner );\n\n\t\t// lock\n\t\tacf.disableSubmit( $submit );\n\t\tacf.showSpinner( $spinner.last() );\n\t\treturn $form;\n\t};\n\n\t/**\n\t * acf.unlockForm\n\t *\n\t * Unlocks a form by enabeling its primary inputs and hiding all spinners.\n\t *\n\t * @date\t4/9/18\n\t * @since\t5.7.5\n\t *\n\t * @param\tjQuery $form The form element.\n\t * @return\tjQuery\n\t */\n\tacf.unlockForm = function ( $form ) {\n\t\t// vars\n\t\tvar $wrap = findSubmitWrap( $form );\n\t\tvar $submit = $wrap.find( '.button, [type=\"submit\"]' ).not( '.acf-nav, .acf-repeater-add-row' );\n\t\tvar $spinner = $wrap.find( '.spinner, .acf-spinner' );\n\n\t\t// unlock\n\t\tacf.enableSubmit( $submit );\n\t\tacf.hideSpinner( $spinner );\n\t\treturn $form;\n\t};\n\n\t/**\n\t * findSubmitWrap\n\t *\n\t * An internal function to find the 'primary' form submit wrapping element.\n\t *\n\t * @date\t4/9/18\n\t * @since\t5.7.5\n\t *\n\t * @param\tjQuery $form The form element.\n\t * @return\tjQuery\n\t */\n\tvar findSubmitWrap = function ( $form ) {\n\t\t// default post submit div\n\t\tvar $wrap = $form.find( '#submitdiv' );\n\t\tif ( $wrap.length ) {\n\t\t\treturn $wrap;\n\t\t}\n\n\t\t// 3rd party publish box\n\t\tvar $wrap = $form.find( '#submitpost' );\n\t\tif ( $wrap.length ) {\n\t\t\treturn $wrap;\n\t\t}\n\n\t\t// term, user\n\t\tvar $wrap = $form.find( 'p.submit' ).last();\n\t\tif ( $wrap.length ) {\n\t\t\treturn $wrap;\n\t\t}\n\n\t\t// front end form\n\t\tvar $wrap = $form.find( '.acf-form-submit' );\n\t\tif ( $wrap.length ) {\n\t\t\treturn $wrap;\n\t\t}\n\n\t\t// ACF 6.2 options page modal\n\t\tvar $wrap = $( '#acf-create-options-page-form .acf-actions' );\n\t\tif ( $wrap.length ) {\n\t\t\treturn $wrap;\n\t\t}\n\n\t\t// ACF 6.0+ headerbar submit\n\t\tvar $wrap = $( '.acf-headerbar-actions' );\n\t\tif ( $wrap.length ) {\n\t\t\treturn $wrap;\n\t\t}\n\n\t\t// default\n\t\treturn $form;\n\t};\n\n\t/**\n\t * A debounced function to trigger a form submission.\n\t *\n\t * @date\t15/07/2020\n\t * @since\t5.9.0\n\t *\n\t * @param\ttype Var Description.\n\t * @return\ttype Description.\n\t */\n\tvar submitFormDebounced = acf.debounce( function ( $form ) {\n\t\t$form.submit();\n\t} );\n\n\t/**\n\t * Ensure field is visible for validation errors\n\t *\n\t * @date\t20/10/2021\n\t * @since\t5.11.0\n\t */\n\tvar ensureFieldPostBoxIsVisible = function ( $el ) {\n\t\t// Find the postbox element containing this field.\n\t\tvar $postbox = $el.parents( '.acf-postbox' );\n\t\tif ( $postbox.length ) {\n\t\t\tvar acf_postbox = acf.getPostbox( $postbox );\n\t\t\tif ( acf_postbox && acf_postbox.isHiddenByScreenOptions() ) {\n\t\t\t\t// Rather than using .show() here, we don't want the field to appear next reload.\n\t\t\t\t// So just temporarily show the field group so validation can complete.\n\t\t\t\tacf_postbox.$el.removeClass( 'hide-if-js' );\n\t\t\t\tacf_postbox.$el.css( 'display', '' );\n\t\t\t}\n\t\t}\n\t};\n\n\t/**\n\t * Ensure metaboxes which contain browser validation failures are visible.\n\t *\n\t * @date\t20/10/2021\n\t * @since\t5.11.0\n\t */\n\tvar ensureInvalidFieldVisibility = function () {\n\t\t// Load each ACF input field and check it's browser validation state.\n\t\tvar $inputs = $( '.acf-field input' );\n\t\t$inputs.each( function () {\n\t\t\tif ( ! this.checkValidity() ) {\n\t\t\t\t// Field is invalid, so we need to make sure it's metabox is visible.\n\t\t\t\tensureFieldPostBoxIsVisible( $( this ) );\n\t\t\t}\n\t\t} );\n\t};\n\n\t/**\n\t * acf.validation\n\t *\n\t * Global validation logic\n\t *\n\t * @date\t4/4/18\n\t * @since\t5.6.9\n\t *\n\t * @param\tvoid\n\t * @return\tvoid\n\t */\n\n\tacf.validation = new acf.Model( {\n\t\t/** @var string The model identifier. */\n\t\tid: 'validation',\n\n\t\t/** @var bool The active state. Set to false before 'prepare' to prevent validation. */\n\t\tactive: true,\n\n\t\t/** @var string The model initialize time. */\n\t\twait: 'prepare',\n\n\t\t/** @var object The model actions. */\n\t\tactions: {\n\t\t\tready: 'addInputEvents',\n\t\t\tappend: 'addInputEvents',\n\t\t},\n\n\t\t/** @var object The model events. */\n\t\tevents: {\n\t\t\t'click input[type=\"submit\"]': 'onClickSubmit',\n\t\t\t'click button[type=\"submit\"]': 'onClickSubmit',\n\t\t\t'click #save-post': 'onClickSave',\n\t\t\t'submit form#post': 'onSubmitPost',\n\t\t\t'submit form': 'onSubmit',\n\t\t},\n\n\t\t/**\n\t\t * initialize\n\t\t *\n\t\t * Called when initializing the model.\n\t\t *\n\t\t * @date\t4/9/18\n\t\t * @since\t5.7.5\n\t\t *\n\t\t * @param\tvoid\n\t\t * @return\tvoid\n\t\t */\n\t\tinitialize: function () {\n\t\t\t// check 'validation' setting\n\t\t\tif ( ! acf.get( 'validation' ) ) {\n\t\t\t\tthis.active = false;\n\t\t\t\tthis.actions = {};\n\t\t\t\tthis.events = {};\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * enable\n\t\t *\n\t\t * Enables validation.\n\t\t *\n\t\t * @date\t4/9/18\n\t\t * @since\t5.7.5\n\t\t *\n\t\t * @param\tvoid\n\t\t * @return\tvoid\n\t\t */\n\t\tenable: function () {\n\t\t\tthis.active = true;\n\t\t},\n\n\t\t/**\n\t\t * disable\n\t\t *\n\t\t * Disables validation.\n\t\t *\n\t\t * @date\t4/9/18\n\t\t * @since\t5.7.5\n\t\t *\n\t\t * @param\tvoid\n\t\t * @return\tvoid\n\t\t */\n\t\tdisable: function () {\n\t\t\tthis.active = false;\n\t\t},\n\n\t\t/**\n\t\t * reset\n\t\t *\n\t\t * Rests the form validation to be used again\n\t\t *\n\t\t * @date\t6/9/18\n\t\t * @since\t5.7.5\n\t\t *\n\t\t * @param\tjQuery $form The form element.\n\t\t * @return\tvoid\n\t\t */\n\t\treset: function ( $form ) {\n\t\t\tgetValidator( $form ).reset();\n\t\t},\n\n\t\t/**\n\t\t * addInputEvents\n\t\t *\n\t\t * Adds 'invalid' event listeners to HTML inputs.\n\t\t *\n\t\t * @date\t4/9/18\n\t\t * @since\t5.7.5\n\t\t *\n\t\t * @param\tjQuery $el The element being added / readied.\n\t\t * @return\tvoid\n\t\t */\n\t\taddInputEvents: function ( $el ) {\n\t\t\t// Bug exists in Safari where custom \"invalid\" handling prevents draft from saving.\n\t\t\tif ( acf.get( 'browser' ) === 'safari' ) return;\n\n\t\t\t// vars\n\t\t\tvar $inputs = $( '.acf-field [name]', $el );\n\n\t\t\t// check\n\t\t\tif ( $inputs.length ) {\n\t\t\t\tthis.on( $inputs, 'invalid', 'onInvalid' );\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * onInvalid\n\t\t *\n\t\t * Callback for the 'invalid' event.\n\t\t *\n\t\t * @date\t4/9/18\n\t\t * @since\t5.7.5\n\t\t *\n\t\t * @param\tobject e The event object.\n\t\t * @param\tjQuery $el The input element.\n\t\t * @return\tvoid\n\t\t */\n\t\tonInvalid: function ( e, $el ) {\n\t\t\t// prevent default\n\t\t\t// - prevents browser error message\n\t\t\t// - also fixes chrome bug where 'hidden-by-tab' field throws focus error\n\t\t\te.preventDefault();\n\n\t\t\t// vars\n\t\t\tvar $form = $el.closest( 'form' );\n\n\t\t\t// check form exists\n\t\t\tif ( $form.length ) {\n\t\t\t\t// add error to validator\n\t\t\t\tgetValidator( $form ).addError( {\n\t\t\t\t\tinput: $el.attr( 'name' ),\n\t\t\t\t\tmessage: acf.strEscape( e.target.validationMessage ),\n\t\t\t\t} );\n\n\t\t\t\t// trigger submit on $form\n\t\t\t\t// - allows for \"save\", \"preview\" and \"publish\" to work\n\t\t\t\tsubmitFormDebounced( $form );\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * onClickSubmit\n\t\t *\n\t\t * Callback when clicking submit.\n\t\t *\n\t\t * @date\t4/9/18\n\t\t * @since\t5.7.5\n\t\t *\n\t\t * @param\tobject e The event object.\n\t\t * @param\tjQuery $el The input element.\n\t\t * @return\tvoid\n\t\t */\n\t\tonClickSubmit: function ( e, $el ) {\n\t\t\t// Some browsers (safari) force their browser validation before our AJAX validation,\n\t\t\t// so we need to make sure fields are visible earlier than showErrors()\n\t\t\tensureInvalidFieldVisibility();\n\n\t\t\t// store the \"click event\" for later use in this.onSubmit()\n\t\t\tthis.set( 'originalEvent', e );\n\t\t},\n\n\t\t/**\n\t\t * onClickSave\n\t\t *\n\t\t * Set ignore to true when saving a draft.\n\t\t *\n\t\t * @date\t4/9/18\n\t\t * @since\t5.7.5\n\t\t *\n\t\t * @param\tobject e The event object.\n\t\t * @param\tjQuery $el The input element.\n\t\t * @return\tvoid\n\t\t */\n\t\tonClickSave: function ( e, $el ) {\n\t\t\tthis.set( 'ignore', true );\n\t\t},\n\n\t\t/**\n\t\t * onSubmitPost\n\t\t *\n\t\t * Callback when the 'post' form is submit.\n\t\t *\n\t\t * @date\t5/3/19\n\t\t * @since\t5.7.13\n\t\t *\n\t\t * @param\tobject e The event object.\n\t\t * @param\tjQuery $el The input element.\n\t\t * @return\tvoid\n\t\t */\n\t\tonSubmitPost: function ( e, $el ) {\n\t\t\t// Check if is preview.\n\t\t\tif ( $( 'input#wp-preview' ).val() === 'dopreview' ) {\n\t\t\t\t// Ignore validation.\n\t\t\t\tthis.set( 'ignore', true );\n\n\t\t\t\t// Unlock form to fix conflict with core \"submit.edit-post\" event causing all submit buttons to be disabled.\n\t\t\t\tacf.unlockForm( $el );\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * onSubmit\n\t\t *\n\t\t * Callback when the form is submit.\n\t\t *\n\t\t * @date\t4/9/18\n\t\t * @since\t5.7.5\n\t\t *\n\t\t * @param\tobject e The event object.\n\t\t * @param\tjQuery $el The input element.\n\t\t * @return\tvoid\n\t\t */\n\t\tonSubmit: function ( e, $el ) {\n\t\t\t// Allow form to submit if...\n\t\t\tif (\n\t\t\t\t// Validation has been disabled.\n\t\t\t\t! this.active ||\n\t\t\t\t// Or this event is to be ignored.\n\t\t\t\tthis.get( 'ignore' ) ||\n\t\t\t\t// Or this event has already been prevented.\n\t\t\t\te.isDefaultPrevented()\n\t\t\t) {\n\t\t\t\t// Return early and call reset function.\n\t\t\t\treturn this.allowSubmit();\n\t\t\t}\n\n\t\t\t// Validate form.\n\t\t\tvar valid = acf.validateForm( {\n\t\t\t\tform: $el,\n\t\t\t\tevent: this.get( 'originalEvent' ),\n\t\t\t} );\n\n\t\t\t// If not valid, stop event to prevent form submit.\n\t\t\tif ( ! valid ) {\n\t\t\t\te.preventDefault();\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * allowSubmit\n\t\t *\n\t\t * Resets data during onSubmit when the form is allowed to submit.\n\t\t *\n\t\t * @date\t5/3/19\n\t\t * @since\t5.7.13\n\t\t *\n\t\t * @param\tvoid\n\t\t * @return\tvoid\n\t\t */\n\t\tallowSubmit: function () {\n\t\t\t// Reset \"ignore\" state.\n\t\t\tthis.set( 'ignore', false );\n\n\t\t\t// Reset \"originalEvent\" object.\n\t\t\tthis.set( 'originalEvent', false );\n\n\t\t\t// Return true\n\t\t\treturn true;\n\t\t},\n\t} );\n\n\tvar gutenbergValidation = new acf.Model( {\n\t\twait: 'prepare',\n\t\tinitialize: function () {\n\t\t\t// Bail early if not Gutenberg.\n\t\t\tif ( ! acf.isGutenberg() ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Custommize the editor.\n\t\t\tthis.customizeEditor();\n\t\t},\n\t\tcustomizeEditor: function () {\n\t\t\t// Extract vars.\n\t\t\tvar editor = wp.data.dispatch( 'core/editor' );\n\t\t\tvar editorSelect = wp.data.select( 'core/editor' );\n\t\t\tvar notices = wp.data.dispatch( 'core/notices' );\n\n\t\t\t// Backup original method.\n\t\t\tvar savePost = editor.savePost;\n\n\t\t\t// Listen for changes to post status and perform actions:\n\t\t\t// a) Enable validation for \"publish\" action.\n\t\t\t// b) Remember last non \"publish\" status used for restoring after validation fail.\n\t\t\tvar useValidation = false;\n\t\t\tvar lastPostStatus = '';\n\t\t\twp.data.subscribe( function () {\n\t\t\t\tvar postStatus = editorSelect.getEditedPostAttribute( 'status' );\n\t\t\t\tuseValidation = postStatus === 'publish' || postStatus === 'future';\n\t\t\t\tlastPostStatus = postStatus !== 'publish' ? postStatus : lastPostStatus;\n\t\t\t} );\n\n\t\t\t// Create validation version.\n\t\t\teditor.savePost = function ( options ) {\n\t\t\t\toptions = options || {};\n\n\t\t\t\t// Backup vars.\n\t\t\t\tvar _this = this;\n\t\t\t\tvar _args = arguments;\n\n\t\t\t\t// Perform validation within a Promise.\n\t\t\t\treturn new Promise( function ( resolve, reject ) {\n\t\t\t\t\t// Bail early if is autosave or preview.\n\t\t\t\t\tif ( options.isAutosave || options.isPreview ) {\n\t\t\t\t\t\treturn resolve( 'Validation ignored (autosave).' );\n\t\t\t\t\t}\n\n\t\t\t\t\t// Bail early if validation is not needed.\n\t\t\t\t\tif ( ! useValidation ) {\n\t\t\t\t\t\treturn resolve( 'Validation ignored (draft).' );\n\t\t\t\t\t}\n\n\t\t\t\t\t// Check if we've currently got an ACF block selected which is failing validation, but might not be presented yet.\n\t\t\t\t\tif ( 'undefined' !== typeof acf.blockInstances ) {\n\t\t\t\t\t\tconst selectedBlockId = wp.data.select( 'core/block-editor' ).getSelectedBlockClientId();\n\n\t\t\t\t\t\tif ( selectedBlockId && selectedBlockId in acf.blockInstances ) {\n\t\t\t\t\t\t\tconst acfBlockState = acf.blockInstances[ selectedBlockId ];\n\n\t\t\t\t\t\t\tif ( acfBlockState.validation_errors ) {\n\t\t\t\t\t\t\t\t// Deselect the block to show the error and lock the save.\n\t\t\t\t\t\t\t\tconsole.log( 'Rejecting save because the block editor has a invalid ACF block selected.' );\n\t\t\t\t\t\t\t\tnotices.createErrorNotice(\n\t\t\t\t\t\t\t\t\tacf.__( 'An ACF Block on this page requires attention before you can save.' ),\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tid: 'acf-validation',\n\t\t\t\t\t\t\t\t\t\tisDismissible: true,\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t);\n\n\t\t\t\t\t\t\t\twp.data.dispatch( 'core/editor' ).lockPostSaving( 'acf/block/' + selectedBlockId );\n\t\t\t\t\t\t\t\twp.data.dispatch( 'core/block-editor' ).selectBlock( false );\n\n\t\t\t\t\t\t\t\treturn reject( 'ACF Validation failed for selected block.' );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t// Validate the editor form.\n\t\t\t\t\tvar valid = acf.validateForm( {\n\t\t\t\t\t\tform: $( '#editor' ),\n\t\t\t\t\t\treset: true,\n\t\t\t\t\t\tcomplete: function ( $form, validator ) {\n\t\t\t\t\t\t\t// Always unlock the form after AJAX.\n\t\t\t\t\t\t\teditor.unlockPostSaving( 'acf' );\n\t\t\t\t\t\t},\n\t\t\t\t\t\tfailure: function ( $form, validator ) {\n\t\t\t\t\t\t\t// Get validation error and append to Gutenberg notices.\n\t\t\t\t\t\t\tvar notice = validator.get( 'notice' );\n\t\t\t\t\t\t\tnotices.createErrorNotice( notice.get( 'text' ), {\n\t\t\t\t\t\t\t\tid: 'acf-validation',\n\t\t\t\t\t\t\t\tisDismissible: true,\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\tnotice.remove();\n\n\t\t\t\t\t\t\t// Restore last non \"publish\" status.\n\t\t\t\t\t\t\tif ( lastPostStatus ) {\n\t\t\t\t\t\t\t\teditor.editPost( {\n\t\t\t\t\t\t\t\t\tstatus: lastPostStatus,\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t// Rejext promise and prevent savePost().\n\t\t\t\t\t\t\treject( 'Validation failed.' );\n\t\t\t\t\t\t},\n\t\t\t\t\t\tsuccess: function () {\n\t\t\t\t\t\t\tnotices.removeNotice( 'acf-validation' );\n\n\t\t\t\t\t\t\t// Resolve promise and allow savePost().\n\t\t\t\t\t\t\tresolve( 'Validation success.' );\n\t\t\t\t\t\t},\n\t\t\t\t\t} );\n\n\t\t\t\t\t// Resolve promise and allow savePost() if no validation is needed.\n\t\t\t\t\tif ( valid ) {\n\t\t\t\t\t\tresolve( 'Validation bypassed.' );\n\n\t\t\t\t\t\t// Otherwise, lock the form and wait for AJAX response.\n\t\t\t\t\t} else {\n\t\t\t\t\t\teditor.lockPostSaving( 'acf' );\n\t\t\t\t\t}\n\t\t\t\t} ).then(\n\t\t\t\t\tfunction () {\n\t\t\t\t\t\treturn savePost.apply( _this, _args );\n\t\t\t\t\t},\n\t\t\t\t\t( err ) => {\n\t\t\t\t\t\t// Nothing to do here, user is alerted of validation issues.\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t};\n\t\t},\n\t} );\n} )( jQuery );\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","import './_acf-field.js';\nimport './_acf-fields.js';\nimport './_acf-field-accordion.js';\nimport './_acf-field-button-group.js';\nimport './_acf-field-checkbox.js';\nimport './_acf-field-color-picker.js';\nimport './_acf-field-date-picker.js';\nimport './_acf-field-date-time-picker.js';\nimport './_acf-field-google-map.js';\nimport './_acf-field-icon-picker.js';\nimport './_acf-field-image.js';\nimport './_acf-field-file.js';\nimport './_acf-field-link.js';\nimport './_acf-field-oembed.js';\nimport './_acf-field-radio.js';\nimport './_acf-field-range.js';\nimport './_acf-field-relationship.js';\nimport './_acf-field-select.js';\nimport './_acf-field-tab.js';\nimport './_acf-field-post-object.js';\nimport './_acf-field-page-link.js';\nimport './_acf-field-user.js';\nimport './_acf-field-taxonomy.js';\nimport './_acf-field-time-picker.js';\nimport './_acf-field-true-false.js';\nimport './_acf-field-url.js';\nimport './_acf-field-wysiwyg.js';\nimport './_acf-condition.js';\nimport './_acf-conditions.js';\nimport './_acf-condition-types.js';\nimport './_acf-unload.js';\nimport './_acf-postbox.js';\nimport './_acf-media.js';\nimport './_acf-screen.js';\nimport './_acf-select2.js';\nimport './_acf-tinymce.js';\nimport './_acf-validation.js';\nimport './_acf-helpers.js';\nimport './_acf-compatibility.js';\n"],"names":["$","undefined","acf","newCompatibility","instance","compatibilty","__proto__","compatibility","getCompatibility","_acf","l10n","o","fields","update","set","add_action","addAction","remove_action","removeAction","do_action","doAction","add_filter","addFilter","remove_filter","removeFilter","apply_filters","applyFilters","parse_args","parseArgs","disable_el","disable","disable_form","enable_el","enable","enable_form","update_user_setting","updateUserSetting","prepare_for_ajax","prepareForAjax","is_ajax_success","isAjaxSuccess","remove_el","remove","remove_tr","str_replace","strReplace","render_select","renderSelect","get_uniqid","uniqid","serialize_form","serialize","esc_html","strEscape","str_sanitize","strSanitize","_e","k1","k2","compatKey","compats","__","string","get_selector","s","selector","isPlainObject","isEmptyObject","k","get_fields","$el","all","args","is","parent","suppressFilters","findFields","get_field","$fields","apply","arguments","length","first","get_closest_field","closest","get_field_wrap","get_field_key","$field","data","get_field_type","get_data","defaults","maybe_get","obj","key","value","keys","String","split","i","hasOwnProperty","compatibleArgument","arg","Field","compatibleArguments","arrayArgs","map","compatibleCallback","origCallback","document","action","callback","priority","context","actions","model","filters","events","extend","each","name","_add_action","_add_filter","_add_event","indexOf","event","substr","fn","e","field_group","on","get","field","type","_set_$field","focus","doFocus","_validation","validation","remove_error","getField","removeError","add_warning","message","showNotice","text","timeout","fetch","validateForm","enableSubmit","disableSubmit","showSpinner","hideSpinner","unlockForm","lockForm","tooltip","newTooltip","target","temp","confirm","button_y","button_n","cancel","confirm_remove","confirmRemove","media","Model","activeFrame","new_media_popup","frame","onNewMediaPopup","popup","props","mime_types","allowedTypes","id","attachment","newMediaPopup","select2","init","$select","allow_null","allowNull","ajax_action","ajaxAction","newSelect2","destroy","getInstance","postbox","render","edit_url","editLink","edit_title","editTitle","newPostbox","screen","check","ajax","jQuery","parseString","val","isEqualTo","v1","v2","toLowerCase","isEqualToNumber","Array","parseFloat","isGreaterThan","isLessThan","inArray","array","containsString","haystack","needle","matchesPattern","pattern","regexp","RegExp","match","conditionalSelect2","queryAction","ajaxData","field_key","typeAttr","escAttr","template","selection","escHtml","resultsTemplate","results","classes","startsWith","select2Props","paged","include","isNumeric","Number","escapeMarkup","markup","templateSelection","templateResult","HasPageLink","Condition","operator","label","fieldTypes","rule","choices","fieldObject","registerConditionType","HasPageLinkNotEqual","containsPageLink","ruleVal","includes","containsNotPageLink","HasAnyPageLink","HasNoPageLink","HasUser","HasUserNotEqual","containsUser","containsNotUser","HasAnyUser","HasNoUser","HasRelationship","HasRelationshipNotEqual","containsRelationship","parseInt","containsNotRelationship","HasAnyRelation","HasNoRelation","HasPostObject","HasPostObjectNotEqual","containsPostObject","containsNotPostObject","HasAnyPostObject","HasNoPostObject","HasTerm","hasTermNotEqual","containsTerm","containsNotTerm","HasAnyTerm","HasNoTerm","HasValue","HasNoValue","prototype","EqualTo","NotEqualTo","PatternMatch","Contains","TrueFalseEqualTo","choiceType","TrueFalseNotEqualTo","SelectEqualTo","lines","$setting","$input","prop","push","line","trim","SelectNotEqualTo","GreaterThan","LessThan","SelectionGreaterThan","SelectionLessThan","storage","conditions","change","keyup","enableField","disableField","setup","getEventTarget","calculate","newCondition","fieldType","conditionTypes","getConditionTypes","condition","modelId","strPascalCase","proto","mid","models","getConditionType","registerConditionForFieldType","conditionType","types","ProtoFieldTypes","ProtoOperator","CONTEXT","conditionsManager","new_field","onNewField","has","getConditions","getSiblingField","getFields","sibling","parents","Conditions","timeStamp","groups","rules","addRules","addRule","changed","show","hide","showEnable","cid","hideDisable","pass","getGroups","group","passed","filter","hasGroups","addGroup","hasGroup","getGroup","removeGroup","delete","groupArray","hasRule","getRule","removeRule","wait","$control","initialize","hasClass","$label","$labelWrap","$inputWrap","$wrap","$instructions","children","append","$table","$newLabel","$newInput","$newTable","attr","$newWrap","html","addClass","order","getPreference","css","prepend","accordionManager","iconHtml","open","$parent","nextUntil","removeAttr","registerFieldType","unload","isOpen","toggle","close","isGutenberg","duration","find","slideDown","replaceWith","siblings","slideUp","removeClass","onClick","preventDefault","onInvalidField","busy","setTimeout","onUnload","setPreference","setValue","trigger","selected","$toggle","$inputs","not","getValue","onChange","checked","onClickAdd","getInputName","before","last","onClickToggle","$labels","onClickCustom","$text","next","duplicateField","$inputText","iris","defaultColor","palettes","clear","wpColorPicker","onDuplicate","$duplicate","$colorPicker","initializeCompatibility","dateFormat","altField","altFormat","changeYear","yearRange","changeMonth","showButtonPanel","firstDay","newDatePicker","datepicker","onBlur","datePickerManager","locale","rtl","isRTL","regional","setDefaults","exists","wrap","DatePickerField","timeFormat","altFieldTimeOnly","altTimeFormat","controlType","oneLine","newDateTimePicker","dateTimePickerManager","timepicker","datetimepicker","ImageField","validateAttachment","attributes","url","alt","title","filename","filesizeHumanReadable","icon","src","selectAttachment","multiple","mode","library","select","proxy","editAttachment","button","showField","$search","$canvas","setState","state","JSON","parse","silent","valAttr","stringify","renderVal","address","setPosition","lat","lng","marker","setVisible","newLatLng","google","maps","LatLng","center","position","getPosition","setCenter","withAPI","initializeMap","bind","zoom","mapArgs","scrollwheel","mapTypeId","MapTypeId","ROADMAP","draggable","raiseOnDrag","autocomplete","Map","markerArgs","Marker","isset","autocompleteArgs","places","Autocomplete","bindTo","addMapEvents","addListener","latLng","searchPosition","place","getPlace","searchPlace","getZoom","geocoder","geocode","location","status","replace","parseResult","geometry","formatted_address","searchAddress","searchLocation","navigator","geolocation","alert","getCurrentPosition","coords","latitude","longitude","error","result","place_id","street_number","street_name","city","post_code","country","keywords","address_components","component","component_type","long_name","short_name","onClickClear","onClickLocate","onClickSearch","onFocusSearch","onBlurSearch","onKeyupSearch","onKeydownSearch","which","blur","onShow","loading","window","Geocoder","dataType","cache","success","removeField","$typeInput","$valueInput","$tabButton","$selectedIcon","$selectedRadio","$dashiconsList","$mediaLibraryButton","addActions","typeAndValue","initializeDashiconsTab","alignMediaLibraryTabToCurrentValue","newTypeAndValue","alignDashiconsTabToCurrentValue","alignUrlTabToCurrentValue","updateTypeAndValue","scrollToSelectedDashicon","innerElement","scrollingDiv","scrollTop","distance","top","dashicons","getDashiconsList","renderDashiconList","initializeSelectedDashicon","selectDashicon","then","unselectDashicon","renderDashiconHTML","dashicon","empty","forEach","iconPickeri10n","Object","entries","getDashiconsBySearch","searchTerm","lowercaseSearchTerm","filteredDashicons","lowercaseIconLabel","setFocus","$newIcon","thePromise","promise","onDashiconRadioFocus","onDashiconRadioBlur","iconParent","onDashiconClick","onDashiconSearch","wp","a11y","speak","newResultsFoundForSearchTerm","visualSearchTerm","substring","noResultsForSearchTerm","onDashiconSearchKeyDown","onDashiconKeyDown","previewUrl","onMediaLibraryButtonClick","selectAndReturnAttachment","Promise","resolve","onUrlChange","currentValue","caption","description","width","height","size","isget","getNext","removeAttachment","onClickEdit","onClickRemove","$hiddenInput","getFileInputData","param","$node","$div","wpLink","getNodeValue","decode","setNodeValue","getInputValue","setInputValue","$textarea","onOpen","wpLinkL10n","onClose","$submit","isSubmit","off","getSearchVal","showLoading","hideLoading","maybeSearch","prevUrl","clearTimeout","search","xhr","abort","json","complete","onKeypressSearch","onChangeSearch","SelectField","$inputAlt","$list","list","$listItems","$listItem","newChoice","join","newValue","delayed","once","sortable","items","forceHelperSize","forcePlaceholderSize","scroll","onScrollChoices","one","onceInView","Math","ceil","scrollHeight","innerHeight","onKeypressFilter","onChangeFilter","maybeFetch","max","$span","$li","onTouchStartValues","getAjaxData","$choiceslist","$loading","onComplete","onSuccess","more","walkChoices","$html","$prevLabel","$prevList","walk","isArray","item","inherit","placeholder","onRemove","tabs","tab","findTabs","prevAll","findTab","$tabs","$tab","settings","endpoint","placement","Tabs","addTab","isActive","showFields","hiddenByTab","hideFields","lockKey","visible","refresh","hidden","reset","active","close_field_object","index","initialized","$before","ulClass","initializeTabs","groupIndex","tabIndex","isVisible","defaultTab","getVisible","shift","selectTab","closeTabs","getActive","setActive","hasActive","closeActive","closeTab","openTab","t","$a","outerHTML","settingsType","Tab","onRefresh","attribute","outerHeight","onCloseFieldObject","tabsManager","prepare","invalid_field","getTabs","getInstances","ftype","getRelatedPrototype","getRelatedType","getFieldType","$form","$name","$button","$message","notice","step1","newPopup","step2","content","step3","stopImmediatePropagation","startButtonLoading","term_name","term_parent","step4","stopButtonLoading","step5","newNotice","getAjaxMessage","dismiss","getAjaxError","term","$option","term_id","term_label","after","otherField","appendTerm","selectTerm","appendTermSelect","appendTermCheckbox","addOption","$ul","selectOption","onClickRadio","closeText","selectText","timeOnly","dp_instance","t_instance","$close","dpDiv","_updateDateTime","newTimePicker","$switch","$on","$off","switchOn","switchOff","onFocus","onKeypress","keyCode","isValid","onkeyup","query_nonce","toString","user_query_nonce","unmountField","remountField","getMode","initializeEditor","tinymce","quicktags","toolbar","oldId","newId","uniqueId","inputData","inputVal","rename","destructive","onMousedown","enableEditor","disableEditor","eventScope","$parents","setFieldSettingsLastVisible","removeNotice","away","showError","bubbles","newField","getFieldTypes","category","limit","excludeSubFields","slice","findField","findClosestField","getClosestField","addGlobalFieldAction","globalAction","pluralAction","singleAction","globalCallback","extraArgs","pluralArgs","concat","pluralCallback","singleArgs","addSingleFieldAction","singleEvent","singleCallback","variations","variation","prefix","singleFieldEvents","globalFieldActions","singleFieldActions","fieldsEventManager","isGutenbergPostEditor","dispatch","editPost","meta","_acf_changed","console","log","duplicateFieldsManager","duplicate","duplicate_fields","$el2","onDuplicateFields","duplicates","refreshHelper","show_field","hide_field","remove_field","unmount_field","remount_field","mountHelper","sortstart","sortstop","onSortstart","$item","onSortstop","sortableHelper","$placeholder","duplicateHelper","after_duplicate","onAfterDuplicate","vals","tableHelper","renderTables","self","renderTable","$ths","$tds","$th","$cells","$hidden","availableWidth","colspan","$fixedWidths","$auoWidths","$td","fieldsHelper","renderGroups","renderGroup","$row","thisTop","thisLeft","left","outerWidth","thisHeight","add","bodyClassShiftHelper","keydown","isShiftKey","onKeyDown","onKeyUp","autoOpen","EditMediaPopup","SelectMediaPopup","getPostID","postID","getMimeTypes","getMimeType","allTypes","MediaPopup","options","getFrameOptions","addFrameStates","addFrameEvents","detach","states","uploadedTo","post__in","Query","query","mirroring","_acfuploader","controller","Library","filterable","editable","allowLocalEdits","EditImage","image","view","loadEditor","_x","_wpPluploadSettings","multipart_params","customizeFilters","audio","video","mimeType","newFilter","orderby","unattached","uploaded","renderFilters","customizePrototypes","post","customizeAttachmentsButton","customizeAttachmentsRouter","customizeAttachmentFilters","customizeAttachmentCompat","customizeAttachmentLibrary","Button","_","Backbone","listenTo","Parent","Router","addExpand","AttachmentFilters","All","chain","el","sortBy","pluck","AttachmentCompat","rendered","save","serializeForAjax","saveCompat","always","postSave","AttachmentLibrary","Attachment","acf_errors","toggleSelection","collection","single","errors","$sidebar","postboxManager","getPostbox","getPostboxes","Postbox","style","edit","$postbox","$hide","$hideLabel","$hndle","$handleActions","$inside","isHiddenByScreenOptions","isPost","isUser","isTaxonomy","isAttachment","isNavMenu","isWidget","isComment","getPageTemplate","getPageParent","getPageType","getPostType","getPostFormat","getPostCoreTerms","terms","tax_input","post_category","tax","getPostTerms","productType","getProductType","product_type","uniqueArray","post_id","postType","post_type","pageTemplate","page_template","pageParent","page_parent","pageType","page_type","postFormat","post_format","postTerms","post_terms","renderPostScreen","renderUserScreen","copyEvents","$from","$to","_data","handler","sortMetabox","ids","wpMinorVersion","postboxHeader","$prefs","_result","sorted","gutenScreen","postEdits","subscribe","debounce","onRefreshPostScreen","domReady","getTaxonomies","taxonomy","rest_base","_postEdits","getPostEdits","getEditedPostAttribute","taxonomies","slug","locations","getActiveMetaBoxLocations","getMetaBoxesPerLocation","m","r","setAvailableMetaBoxesPerLocation","ajaxResults","dropdownCssClass","getVersion","Select2_4","Select2_3","Select2","getOption","unselectOption","option","$options","sort","a","b","getAttribute","mergeOptions","getChoices","crawl","$child","params","page","getAjaxResults","processAjaxResults","pagination","allowClear","$selection","element","appendTo","attrAjax","removeData","delay","processResults","$container","stop","$prevOptions","$prevGroup","$group","separator","dropdownCss","initSelection","inputValue","quietMillis","choice","select2Manager","version","addTranslations4","addTranslations3","select2L10n","errorLoading","load_fail","inputTooLong","overChars","input","maximum","input_too_long_n","input_too_long_1","inputTooShort","remainingChars","minimum","input_too_short_n","input_too_short_1","loadingMore","load_more","maximumSelected","selection_too_long_n","selection_too_long_1","noResults","matches_0","searching","amd","define","formatMatches","matches","matches_n","matches_1","formatNoMatches","formatAjaxError","formatInputTooShort","min","formatInputTooLong","formatSelectionTooBig","formatLoadMore","formatSearching","locales","tinyMCEPreInit","mceInit","acf_content","qtInit","initializeTinymce","initializeQuicktags","toolbars","ed","MouseEvent","dispatchEvent","wp_autoresize_on","tadv_noautop","wpautop","buildQuicktags","canvas","theButtons","use","instanceId","buttons","edButtons","dfw","QTags","DFWButton","getElementsByTagName","dir","textdirection","TextDirectionButton","innerHTML","triggerHandler","destroyTinymce","enableTinymce","switchEditors","go","editorManager","ready","onPrepare","onReady","editor","autop","oldEditor","removep","editors","activeEditor","wpActiveEditor","validation_failure","validation_success","stopListening","startListening","Validator","addErrors","addError","hasErrors","clearErrors","getErrors","getFieldErrors","inputs","getGlobalErrors","showErrors","fieldErrors","globalErrors","errorCount","$scrollTo","ensureFieldPostBoxIsVisible","errorMessage","animate","offset","onChangeStatus","prevValue","validate","failure","submit","Event","valid","getValidator","validator","getBlockFormValidator","form","$spinner","findSubmitWrap","submitFormDebounced","acf_postbox","ensureInvalidFieldVisibility","checkValidity","addInputEvents","onInvalid","validationMessage","onClickSubmit","onClickSave","onSubmitPost","onSubmit","isDefaultPrevented","allowSubmit","gutenbergValidation","customizeEditor","editorSelect","notices","savePost","useValidation","lastPostStatus","postStatus","_this","_args","reject","isAutosave","isPreview","blockInstances","selectedBlockId","getSelectedBlockClientId","acfBlockState","validation_errors","createErrorNotice","isDismissible","lockPostSaving","selectBlock","unlockPostSaving","err"],"sourceRoot":""} \ No newline at end of file diff --git a/wp-content/plugins/advanced-custom-fields-pro/assets/build/js/acf-input.min.js b/wp-content/plugins/advanced-custom-fields-pro/assets/build/js/acf-input.min.js index 431a3a9be..16fd0e015 100644 --- a/wp-content/plugins/advanced-custom-fields-pro/assets/build/js/acf-input.min.js +++ b/wp-content/plugins/advanced-custom-fields-pro/assets/build/js/acf-input.min.js @@ -1 +1 @@ -(()=>{var e={4750:()=>{!function(e,t){acf.newCompatibility=function(e,t){return(t=t||{}).__proto__=e.__proto__,e.__proto__=t,e.compatibility=t,t},acf.getCompatibility=function(e){return e.compatibility||null};var i=acf.newCompatibility(acf,{l10n:{},o:{},fields:{},update:acf.set,add_action:acf.addAction,remove_action:acf.removeAction,do_action:acf.doAction,add_filter:acf.addFilter,remove_filter:acf.removeFilter,apply_filters:acf.applyFilters,parse_args:acf.parseArgs,disable_el:acf.disable,disable_form:acf.disable,enable_el:acf.enable,enable_form:acf.enable,update_user_setting:acf.updateUserSetting,prepare_for_ajax:acf.prepareForAjax,is_ajax_success:acf.isAjaxSuccess,remove_el:acf.remove,remove_tr:acf.remove,str_replace:acf.strReplace,render_select:acf.renderSelect,get_uniqid:acf.uniqid,serialize_form:acf.serialize,esc_html:acf.strEscape,str_sanitize:acf.strSanitize});i._e=function(e,t){e=e||"";var i=(t=t||"")?e+"."+t:e,a={"image.select":"Select Image","image.edit":"Edit Image","image.update":"Update Image"};if(a[i])return acf.__(a[i]);var n=this.l10n[e]||"";return t&&(n=n[t]||""),n},i.get_selector=function(t){var i=".acf-field";if(!t)return i;if(e.isPlainObject(t)){if(e.isEmptyObject(t))return i;for(var a in t){t=t[a];break}}return i+="-"+t,i=acf.strReplace("_","-",i),acf.strReplace("field-field-","field-",i)},i.get_fields=function(e,t,i){var a={is:e||"",parent:t||!1,suppressFilters:i||!1};return a.is&&(a.is=this.get_selector(a.is)),acf.findFields(a)},i.get_field=function(e,t){var i=this.get_fields.apply(this,arguments);return!!i.length&&i.first()},i.get_closest_field=function(e,t){return e.closest(this.get_selector(t))},i.get_field_wrap=function(e){return e.closest(this.get_selector())},i.get_field_key=function(e){return e.data("key")},i.get_field_type=function(e){return e.data("type")},i.get_data=function(e,t){return acf.parseArgs(e.data(),t)},i.maybe_get=function(e,t,i){void 0===i&&(i=null),keys=String(t).split(".");for(var a=0;a1){for(var c=0;c0?t.substr(0,n):t,o=n>0?t.substr(n+1):"",r=function(t){t.$el=e(this),acf.field_group&&(t.$field=t.$el.closest(".acf-field-object")),"function"==typeof a.event&&(t=a.event(t)),a[i].apply(a,arguments)};o?e(document).on(s,o,r):e(document).on(s,r)},get:function(e,t){return t=t||null,void 0!==this[e]&&(t=this[e]),t},set:function(e,t){return this[e]=t,"function"==typeof this["_set_"+e]&&this["_set_"+e].apply(this),this}},i.field=acf.model.extend({type:"",o:{},$field:null,_add_action:function(e,t){var i=this;e=e+"_field/type="+i.type,acf.add_action(e,(function(e){i.set("$field",e),i[t].apply(i,arguments)}))},_add_filter:function(e,t){var i=this;e=e+"_field/type="+i.type,acf.add_filter(e,(function(e){i.set("$field",e),i[t].apply(i,arguments)}))},_add_event:function(t,i){var a=this,n=t.substr(0,t.indexOf(" ")),s=t.substr(t.indexOf(" ")+1),o=acf.get_selector(a.type);e(document).on(n,o+" "+s,(function(t){var n=e(this),s=acf.get_closest_field(n,a.type);s.length&&(s.is(a.$field)||a.set("$field",s),t.$el=n,t.$field=s,a[i].apply(a,[t]))}))},_set_$field:function(){"function"==typeof this.focus&&this.focus()},doFocus:function(e){return this.set("$field",e)}}),acf.newCompatibility(acf.validation,{remove_error:function(e){acf.getField(e).removeError()},add_warning:function(e,t){acf.getField(e).showNotice({text:t,type:"warning",timeout:1e3})},fetch:acf.validateForm,enableSubmit:acf.enableSubmit,disableSubmit:acf.disableSubmit,showSpinner:acf.showSpinner,hideSpinner:acf.hideSpinner,unlockForm:acf.unlockForm,lockForm:acf.lockForm}),i.tooltip={tooltip:function(e,t){return acf.newTooltip({text:e,target:t}).$el},temp:function(e,t){acf.newTooltip({text:e,target:t,timeout:250})},confirm:function(e,t,i,a,n){acf.newTooltip({confirm:!0,text:i,target:e,confirm:function(){t(!0)},cancel:function(){t(!1)}})},confirm_remove:function(e,t){acf.newTooltip({confirmRemove:!0,target:e,confirm:function(){t(!0)},cancel:function(){t(!1)}})}},i.media=new acf.Model({activeFrame:!1,actions:{new_media_popup:"onNewMediaPopup"},frame:function(){return this.activeFrame},onNewMediaPopup:function(e){this.activeFrame=e.frame},popup:function(e){return e.mime_types&&(e.allowedTypes=e.mime_types),e.id&&(e.attachment=e.id),acf.newMediaPopup(e).frame}}),i.select2={init:function(e,t,i){return t.allow_null&&(t.allowNull=t.allow_null),t.ajax_action&&(t.ajaxAction=t.ajax_action),i&&(t.field=acf.getField(i)),acf.newSelect2(e,t)},destroy:function(e){return acf.getInstance(e).destroy()}},i.postbox={render:function(e){return e.edit_url&&(e.editLink=e.edit_url),e.edit_title&&(e.editTitle=e.edit_title),acf.newPostbox(e)}},acf.newCompatibility(acf.screen,{update:function(){return this.set.apply(this,arguments)},fetch:acf.screen.check}),i.ajax=acf.screen}(jQuery)},2747:()=>{!function(e,t){var __=acf.__,i=function(e){return e?""+e:""},a=function(e,t){return i(e).toLowerCase()===i(t).toLowerCase()},n=function(e,t){return t instanceof Array?1===t.length&&n(e,t[0]):parseFloat(e)===parseFloat(t)};const s=function(t,i){const a=e("");let n=`acf/fields/${i}/query`;"user"===i&&(n="acf/ajax/query_users");const s={action:n,field_key:t.data.key,s:"",type:t.data.key},o=acf.escAttr(i),r={field:!1,ajax:!0,ajaxAction:n,ajaxData:function(t){return s.paged=t.paged,s.s=t.s,s.include=e.isNumeric(t.s)?Number(t.s):"",acf.prepareForAjax(s)},escapeMarkup:function(e){return acf.escHtml(e)},templateSelection:function(e){return``+acf.escHtml(e.text)+""},templateResult:function(e){return''+acf.escHtml(e.text)+""+``+(e.id?e.id:"")+""}};return a.data("acfSelect2Props",r),a};var o=acf.Condition.extend({type:"hasPageLink",operator:"==",label:__("Page is equal to"),fieldTypes:["page_link"],match:function(e,t){return a(e.value,t.val())},choices:function(e){return s(e,"page_link")}});acf.registerConditionType(o);var r=acf.Condition.extend({type:"hasPageLinkNotEqual",operator:"!==",label:__("Page is not equal to"),fieldTypes:["page_link"],match:function(e,t){return!a(e.value,t.val())},choices:function(e){return s(e,"page_link")}});acf.registerConditionType(r);var c=acf.Condition.extend({type:"containsPageLink",operator:"==contains",label:__("Pages contain"),fieldTypes:["page_link"],match:function(e,t){const i=t.val(),a=e.value;let n=!1;return n=i instanceof Array?i.includes(a):i===a,n},choices:function(e){return s(e,"page_link")}});acf.registerConditionType(c);var l=acf.Condition.extend({type:"containsNotPageLink",operator:"!=contains",label:__("Pages do not contain"),fieldTypes:["page_link"],match:function(e,t){const i=t.val(),a=e.value;let n=!0;return n=i instanceof Array?!i.includes(a):i!==a,n},choices:function(e){return s(e,"page_link")}});acf.registerConditionType(l);var d=acf.Condition.extend({type:"hasAnyPageLink",operator:"!=empty",label:__("Has any page selected"),fieldTypes:["page_link"],match:function(e,t){let i=t.val();return i instanceof Array&&(i=i.length),!!i},choices:function(){return''}});acf.registerConditionType(d);var u=acf.Condition.extend({type:"hasNoPageLink",operator:"==empty",label:__("Has no page selected"),fieldTypes:["page_link"],match:function(e,t){let i=t.val();return i instanceof Array&&(i=i.length),!i},choices:function(){return''}});acf.registerConditionType(u);var f=acf.Condition.extend({type:"hasUser",operator:"==",label:__("User is equal to"),fieldTypes:["user"],match:function(e,t){return n(e.value,t.val())},choices:function(e){return s(e,"user")}});acf.registerConditionType(f);var p=acf.Condition.extend({type:"hasUserNotEqual",operator:"!==",label:__("User is not equal to"),fieldTypes:["user"],match:function(e,t){return!n(e.value,t.val())},choices:function(e){return s(e,"user")}});acf.registerConditionType(p);var h=acf.Condition.extend({type:"containsUser",operator:"==contains",label:__("Users contain"),fieldTypes:["user"],match:function(e,t){const i=t.val(),a=e.value;let n=!1;return n=i instanceof Array?i.includes(a):i===a,n},choices:function(e){return s(e,"user")}});acf.registerConditionType(h);var g=acf.Condition.extend({type:"containsNotUser",operator:"!=contains",label:__("Users do not contain"),fieldTypes:["user"],match:function(e,t){const i=t.val(),a=e.value;let n=!0;n=i instanceof Array?!i.includes(a):!i===a},choices:function(e){return s(e,"user")}});acf.registerConditionType(g);var m=acf.Condition.extend({type:"hasAnyUser",operator:"!=empty",label:__("Has any user selected"),fieldTypes:["user"],match:function(e,t){let i=t.val();return i instanceof Array&&(i=i.length),!!i},choices:function(){return''}});acf.registerConditionType(m);var v=acf.Condition.extend({type:"hasNoUser",operator:"==empty",label:__("Has no user selected"),fieldTypes:["user"],match:function(e,t){let i=t.val();return i instanceof Array&&(i=i.length),!i},choices:function(){return''}});acf.registerConditionType(v);var y=acf.Condition.extend({type:"hasRelationship",operator:"==",label:__("Relationship is equal to"),fieldTypes:["relationship"],match:function(e,t){return n(e.value,t.val())},choices:function(e){return s(e,"relationship")}});acf.registerConditionType(y);var b=acf.Condition.extend({type:"hasRelationshipNotEqual",operator:"!==",label:__("Relationship is not equal to"),fieldTypes:["relationship"],match:function(e,t){return!n(e.value,t.val())},choices:function(e){return s(e,"relationship")}});acf.registerConditionType(b);var _=acf.Condition.extend({type:"containsRelationship",operator:"==contains",label:__("Relationships contain"),fieldTypes:["relationship"],match:function(e,t){const i=t.val(),a=parseInt(e.value);let n=!1;return i instanceof Array&&(n=i.includes(a)),n},choices:function(e){return s(e,"relationship")}});acf.registerConditionType(_);var w=acf.Condition.extend({type:"containsNotRelationship",operator:"!=contains",label:__("Relationships do not contain"),fieldTypes:["relationship"],match:function(e,t){const i=t.val(),a=parseInt(e.value);let n=!0;return i instanceof Array&&(n=!i.includes(a)),n},choices:function(e){return s(e,"relationship")}});acf.registerConditionType(w);var x=acf.Condition.extend({type:"hasAnyRelation",operator:"!=empty",label:__("Has any relationship selected"),fieldTypes:["relationship"],match:function(e,t){let i=t.val();return i instanceof Array&&(i=i.length),!!i},choices:function(){return''}});acf.registerConditionType(x);var k=acf.Condition.extend({type:"hasNoRelation",operator:"==empty",label:__("Has no relationship selected"),fieldTypes:["relationship"],match:function(e,t){let i=t.val();return i instanceof Array&&(i=i.length),!i},choices:function(){return''}});acf.registerConditionType(k);var $=acf.Condition.extend({type:"hasPostObject",operator:"==",label:__("Post is equal to"),fieldTypes:["post_object"],match:function(e,t){return n(e.value,t.val())},choices:function(e){return s(e,"post_object")}});acf.registerConditionType($);var T=acf.Condition.extend({type:"hasPostObjectNotEqual",operator:"!==",label:__("Post is not equal to"),fieldTypes:["post_object"],match:function(e,t){return!n(e.value,t.val())},choices:function(e){return s(e,"post_object")}});acf.registerConditionType(T);var C=acf.Condition.extend({type:"containsPostObject",operator:"==contains",label:__("Posts contain"),fieldTypes:["post_object"],match:function(e,t){const i=t.val(),a=e.value;let n=!1;return n=i instanceof Array?i.includes(a):i===a,n},choices:function(e){return s(e,"post_object")}});acf.registerConditionType(C);var F=acf.Condition.extend({type:"containsNotPostObject",operator:"!=contains",label:__("Posts do not contain"),fieldTypes:["post_object"],match:function(e,t){const i=t.val(),a=e.value;let n=!0;return n=i instanceof Array?!i.includes(a):i!==a,n},choices:function(e){return s(e,"post_object")}});acf.registerConditionType(F);var A=acf.Condition.extend({type:"hasAnyPostObject",operator:"!=empty",label:__("Has any post selected"),fieldTypes:["post_object"],match:function(e,t){let i=t.val();return i instanceof Array&&(i=i.length),!!i},choices:function(){return''}});acf.registerConditionType(A);var P=acf.Condition.extend({type:"hasNoPostObject",operator:"==empty",label:__("Has no post selected"),fieldTypes:["post_object"],match:function(e,t){let i=t.val();return i instanceof Array&&(i=i.length),!i},choices:function(){return''}});acf.registerConditionType(P);var j=acf.Condition.extend({type:"hasTerm",operator:"==",label:__("Term is equal to"),fieldTypes:["taxonomy"],match:function(e,t){return n(e.value,t.val())},choices:function(e){return s(e,"taxonomy")}});acf.registerConditionType(j);var S=acf.Condition.extend({type:"hasTermNotEqual",operator:"!==",label:__("Term is not equal to"),fieldTypes:["taxonomy"],match:function(e,t){return!n(e.value,t.val())},choices:function(e){return s(e,"taxonomy")}});acf.registerConditionType(S);var E=acf.Condition.extend({type:"containsTerm",operator:"==contains",label:__("Terms contain"),fieldTypes:["taxonomy"],match:function(e,t){const i=t.val(),a=e.value;let n=!1;return i instanceof Array&&(n=i.includes(a)),n},choices:function(e){return s(e,"taxonomy")}});acf.registerConditionType(E);var M=acf.Condition.extend({type:"containsNotTerm",operator:"!=contains",label:__("Terms do not contain"),fieldTypes:["taxonomy"],match:function(e,t){const i=t.val(),a=e.value;let n=!0;return i instanceof Array&&(n=!i.includes(a)),n},choices:function(e){return s(e,"taxonomy")}});acf.registerConditionType(M);var D=acf.Condition.extend({type:"hasAnyTerm",operator:"!=empty",label:__("Has any term selected"),fieldTypes:["taxonomy"],match:function(e,t){let i=t.val();return i instanceof Array&&(i=i.length),!!i},choices:function(){return''}});acf.registerConditionType(D);var L=acf.Condition.extend({type:"hasNoTerm",operator:"==empty",label:__("Has no term selected"),fieldTypes:["taxonomy"],match:function(e,t){let i=t.val();return i instanceof Array&&(i=i.length),!i},choices:function(){return''}});acf.registerConditionType(L);var R=acf.Condition.extend({type:"hasValue",operator:"!=empty",label:__("Has any value"),fieldTypes:["text","textarea","number","range","email","url","password","image","file","wysiwyg","oembed","select","checkbox","radio","button_group","link","google_map","date_picker","date_time_picker","time_picker","color_picker","icon_picker"],match:function(e,t){let i=t.val();return i instanceof Array&&(i=i.length),!!i},choices:function(e){return''}});acf.registerConditionType(R);var V=R.extend({type:"hasNoValue",operator:"==empty",label:__("Has no value"),match:function(e,t){return!R.prototype.match.apply(this,arguments)}});acf.registerConditionType(V);var z=acf.Condition.extend({type:"equalTo",operator:"==",label:__("Value is equal to"),fieldTypes:["text","textarea","number","range","email","url","password"],match:function(e,t){return acf.isNumeric(e.value)?n(e.value,t.val()):a(e.value,t.val())},choices:function(e){return''}});acf.registerConditionType(z);var O=z.extend({type:"notEqualTo",operator:"!=",label:__("Value is not equal to"),match:function(e,t){return!z.prototype.match.apply(this,arguments)}});acf.registerConditionType(O);var I=acf.Condition.extend({type:"patternMatch",operator:"==pattern",label:__("Value matches pattern"),fieldTypes:["text","textarea","email","url","password","wysiwyg"],match:function(e,t){return a=t.val(),n=e.value,s=new RegExp(i(n),"gi"),i(a).match(s);var a,n,s},choices:function(e){return''}});acf.registerConditionType(I);var N=acf.Condition.extend({type:"contains",operator:"==contains",label:__("Value contains"),fieldTypes:["text","textarea","number","email","url","password","wysiwyg","oembed","select"],match:function(e,t){return a=t.val(),n=e.value,i(a).indexOf(i(n))>-1;var a,n},choices:function(e){return''}});acf.registerConditionType(N);var B=z.extend({type:"trueFalseEqualTo",choiceType:"select",fieldTypes:["true_false"],choices:function(e){return[{id:1,text:__("Checked")}]}});acf.registerConditionType(B);var q=O.extend({type:"trueFalseNotEqualTo",choiceType:"select",fieldTypes:["true_false"],choices:function(e){return[{id:1,text:__("Checked")}]}});acf.registerConditionType(q);var Q=acf.Condition.extend({type:"selectEqualTo",operator:"==",label:__("Value is equal to"),fieldTypes:["select","checkbox","radio","button_group"],match:function(e,t){var n,s=t.val();return s instanceof Array?(n=e.value,s.map((function(e){return i(e)})).indexOf(n)>-1):a(e.value,s)},choices:function(e){var t=[],i=e.$setting("choices textarea").val().split("\n");return e.$input("allow_null").prop("checked")&&t.push({id:"",text:__("Null")}),i.map((function(e){(e=e.split(":"))[1]=e[1]||e[0],t.push({id:e[0].trim(),text:e[1].trim()})})),t}});acf.registerConditionType(Q);var H=Q.extend({type:"selectNotEqualTo",operator:"!=",label:__("Value is not equal to"),match:function(e,t){return!Q.prototype.match.apply(this,arguments)}});acf.registerConditionType(H);var U=acf.Condition.extend({type:"greaterThan",operator:">",label:__("Value is greater than"),fieldTypes:["number","range"],match:function(e,t){var i,a,n=t.val();return n instanceof Array&&(n=n.length),i=n,a=e.value,parseFloat(i)>parseFloat(a)},choices:function(e){return''}});acf.registerConditionType(U);var G=U.extend({type:"lessThan",operator:"<",label:__("Value is less than"),match:function(e,t){var i,a,n=t.val();return n instanceof Array&&(n=n.length),null==n||!1===n||(i=n,a=e.value,parseFloat(i)'}});acf.registerConditionType(G);var K=U.extend({type:"selectionGreaterThan",label:__("Selection is greater than"),fieldTypes:["checkbox","select","post_object","page_link","relationship","taxonomy","user"]});acf.registerConditionType(K);var W=G.extend({type:"selectionLessThan",label:__("Selection is less than"),fieldTypes:["checkbox","select","post_object","page_link","relationship","taxonomy","user"]});acf.registerConditionType(W)}(jQuery)},8903:()=>{!function(e,t){var i=[];acf.Condition=acf.Model.extend({type:"",operator:"==",label:"",choiceType:"input",fieldTypes:[],data:{conditions:!1,field:!1,rule:{}},events:{change:"change",keyup:"change",enableField:"change",disableField:"change"},setup:function(t){e.extend(this.data,t)},getEventTarget:function(e,t){return e||this.get("field").$el},change:function(e,t){this.get("conditions").change(e)},match:function(e,t){return!1},calculate:function(){return this.match(this.get("rule"),this.get("field"))},choices:function(e){return''}}),acf.newCondition=function(e,t){var i=t.get("field"),a=i.getField(e.field);if(!i||!a)return!1;var n={rule:e,target:i,conditions:t,field:a},s=a.get("type"),o=e.operator;return new(acf.getConditionTypes({fieldType:s,operator:o})[0]||acf.Condition)(n)};var a=function(e){return acf.strPascalCase(e||"")+"Condition"};acf.registerConditionType=function(e){var t=e.prototype.type,n=a(t);acf.models[n]=e,i.push(t)},acf.getConditionType=function(e){var t=a(e);return acf.models[t]||!1},acf.registerConditionForFieldType=function(e,t){var i=acf.getConditionType(e);i&&i.prototype.fieldTypes.push(t)},acf.getConditionTypes=function(e){e=acf.parseArgs(e,{fieldType:"",operator:""});var t=[];return i.map((function(i){var a=acf.getConditionType(i),n=a.prototype.fieldTypes,s=a.prototype.operator;e.fieldType&&-1===n.indexOf(e.fieldType)||e.operator&&s!==e.operator||t.push(a)})),t}}(jQuery)},3858:()=>{!function(e,t){var i="conditional_logic",a=(new acf.Model({id:"conditionsManager",priority:20,actions:{new_field:"onNewField"},onNewField:function(e){e.has("conditions")&&e.getConditions().render()}}),function(t,i){var a=acf.getFields({key:i,sibling:t.$el,suppressFilters:!0});return a.length||(a=acf.getFields({key:i,parent:t.$el.parent(),suppressFilters:!0})),!a.length&&e(".acf-field-settings").length&&(a=acf.getFields({key:i,parent:t.$el.parents(".acf-field-settings:first"),suppressFilters:!0})),!a.length&&e("#acf-basic-settings").length&&(a=acf.getFields({key:i,parent:e("#acf-basic-settings"),suppressFilters:!0})),!!a.length&&a[0]});acf.Field.prototype.getField=function(e){var t=a(this,e);if(t)return t;for(var i=this.parents(),n=0;n{!function(e,t){var i=0,a=acf.Field.extend({type:"accordion",wait:"",$control:function(){return this.$(".acf-fields:first")},initialize:function(){if(!this.$el.hasClass("acf-accordion")&&!this.$el.is("td")){if(this.get("endpoint"))return this.remove();var t=this.$el,a=this.$labelWrap(),s=this.$inputWrap(),o=this.$control(),r=s.children(".description");if(r.length&&a.append(r),this.$el.is("tr")){var c=this.$el.closest("table"),l=e('

              '),d=e('
              '),u=e('
                '),f=e("");l.append(a.html()),u.append(f),d.append(u),s.append(l),s.append(d),a.remove(),o.remove(),s.attr("colspan",2),a=l,s=d,o=f}t.addClass("acf-accordion"),a.addClass("acf-accordion-title"),s.addClass("acf-accordion-content"),i++,this.get("multi_expand")&&t.attr("multi-expand",1);var p=acf.getPreference("this.accordions")||[];void 0!==p[i-1]&&this.set("open",p[i-1]),this.get("open")&&(t.addClass("-open"),s.css("display","block")),a.prepend(n.iconHtml({open:this.get("open")}));var h=t.parent();o.addClass(h.hasClass("-left")?"-left":""),o.addClass(h.hasClass("-clear")?"-clear":""),o.append(t.nextUntil(".acf-field-accordion",".acf-field")),o.removeAttr("data-open data-multi_expand data-endpoint")}}});acf.registerFieldType(a);var n=new acf.Model({actions:{unload:"onUnload"},events:{"click .acf-accordion-title":"onClick","invalidField .acf-accordion":"onInvalidField"},isOpen:function(e){return e.hasClass("-open")},toggle:function(e){this.isOpen(e)?this.close(e):this.open(e)},iconHtml:function(e){return acf.isGutenberg()?e.open?'':'':e.open?'':''},open:function(t){var i=acf.isGutenberg()?0:300;t.find(".acf-accordion-content:first").slideDown(i).css("display","block"),t.find(".acf-accordion-icon:first").replaceWith(this.iconHtml({open:!0})),t.addClass("-open"),acf.doAction("show",t),t.attr("multi-expand")||t.siblings(".acf-accordion.-open").each((function(){n.close(e(this))}))},close:function(e){var t=acf.isGutenberg()?0:300;e.find(".acf-accordion-content:first").slideUp(t),e.find(".acf-accordion-icon:first").replaceWith(this.iconHtml({open:!1})),e.removeClass("-open"),acf.doAction("hide",e)},onClick:function(e,t){e.preventDefault(),this.toggle(t.parent())},onInvalidField:function(e,t){this.busy||(this.busy=!0,this.setTimeout((function(){this.busy=!1}),1e3),this.open(t))},onUnload:function(t){var i=[];e(".acf-accordion").each((function(){var t=e(this).hasClass("-open")?1:0;i.push(t)})),i.length&&acf.setPreference("this.accordions",i)}})}(jQuery)},6289:()=>{var e;jQuery,e=acf.Field.extend({type:"button_group",events:{'click input[type="radio"]':"onClick"},$control:function(){return this.$(".acf-button-group")},$input:function(){return this.$("input:checked")},setValue:function(e){this.$('input[value="'+e+'"]').prop("checked",!0).trigger("change")},onClick:function(e,t){var i=t.parent("label"),a=i.hasClass("selected");this.$(".selected").removeClass("selected"),i.addClass("selected"),this.get("allow_null")&&a&&(i.removeClass("selected"),t.prop("checked",!1).trigger("change"))}}),acf.registerFieldType(e)},774:()=>{var e,t;e=jQuery,t=acf.Field.extend({type:"checkbox",events:{"change input":"onChange","click .acf-add-checkbox":"onClickAdd","click .acf-checkbox-toggle":"onClickToggle","click .acf-checkbox-custom":"onClickCustom"},$control:function(){return this.$(".acf-checkbox-list")},$toggle:function(){return this.$(".acf-checkbox-toggle")},$input:function(){return this.$('input[type="hidden"]')},$inputs:function(){return this.$('input[type="checkbox"]').not(".acf-checkbox-toggle")},getValue:function(){var t=[];return this.$(":checked").each((function(){t.push(e(this).val())})),!!t.length&&t},onChange:function(e,t){var i=t.prop("checked"),a=t.parent("label"),n=this.$toggle();i?a.addClass("selected"):a.removeClass("selected"),n.length&&(0==this.$inputs().not(":checked").length?n.prop("checked",!0):n.prop("checked",!1))},onClickAdd:function(e,t){var i='
              • ';t.parent("li").before(i),t.parent("li").parent().find('input[type="text"]').last().focus()},onClickToggle:function(e,t){var i=t.prop("checked"),a=this.$('input[type="checkbox"]'),n=this.$("label");a.prop("checked",i),i?n.addClass("selected"):n.removeClass("selected")},onClickCustom:function(e,t){var i=t.prop("checked"),a=t.next('input[type="text"]');i?a.prop("disabled",!1):(a.prop("disabled",!0),""==a.val()&&t.parent("li").remove())}}),acf.registerFieldType(t)},3623:()=>{var e;jQuery,e=acf.Field.extend({type:"color_picker",wait:"load",events:{duplicateField:"onDuplicate"},$control:function(){return this.$(".acf-color-picker")},$input:function(){return this.$('input[type="hidden"]')},$inputText:function(){return this.$('input[type="text"]')},setValue:function(e){acf.val(this.$input(),e),this.$inputText().iris("color",e)},initialize:function(){var e=this.$input(),t=this.$inputText(),i=function(i){setTimeout((function(){acf.val(e,t.val())}),1)},a={defaultColor:!1,palettes:!0,hide:!0,change:i,clear:i};a=acf.applyFilters("color_picker_args",a,this),t.wpColorPicker(a)},onDuplicate:function(e,t,i){$colorPicker=i.find(".wp-picker-container"),$inputText=i.find('input[type="text"]'),$colorPicker.replaceWith($inputText)}}),acf.registerFieldType(e)},9982:()=>{var e,t;e=jQuery,t=acf.Field.extend({type:"date_picker",events:{'blur input[type="text"]':"onBlur",duplicateField:"onDuplicate"},$control:function(){return this.$(".acf-date-picker")},$input:function(){return this.$('input[type="hidden"]')},$inputText:function(){return this.$('input[type="text"]')},initialize:function(){if(this.has("save_format"))return this.initializeCompatibility();var e=this.$input(),t=this.$inputText(),i={dateFormat:this.get("date_format"),altField:e,altFormat:"yymmdd",changeYear:!0,yearRange:"-100:+100",changeMonth:!0,showButtonPanel:!0,firstDay:this.get("first_day")};i=acf.applyFilters("date_picker_args",i,this),acf.newDatePicker(t,i),acf.doAction("date_picker_init",t,i,this)},initializeCompatibility:function(){var e=this.$input(),t=this.$inputText();t.val(e.val());var i={dateFormat:this.get("date_format"),altField:e,altFormat:this.get("save_format"),changeYear:!0,yearRange:"-100:+100",changeMonth:!0,showButtonPanel:!0,firstDay:this.get("first_day")},a=(i=acf.applyFilters("date_picker_args",i,this)).dateFormat;i.dateFormat=this.get("save_format"),acf.newDatePicker(t,i),t.datepicker("option","dateFormat",a),acf.doAction("date_picker_init",t,i,this)},onBlur:function(){this.$inputText().val()||acf.val(this.$input(),"")},onDuplicate:function(e,t,i){i.find('input[type="text"]').removeClass("hasDatepicker").removeAttr("id")}}),acf.registerFieldType(t),new acf.Model({priority:5,wait:"ready",initialize:function(){var t=acf.get("locale"),i=acf.get("rtl"),a=acf.get("datePickerL10n");return!!a&&void 0!==e.datepicker&&(a.isRTL=i,e.datepicker.regional[t]=a,void e.datepicker.setDefaults(a))}}),acf.newDatePicker=function(t,i){if(void 0===e.datepicker)return!1;i=i||{},t.datepicker(i),e("body > #ui-datepicker-div").exists()&&e("body > #ui-datepicker-div").wrap('
                ')}},960:()=>{var e,t;e=jQuery,t=acf.models.DatePickerField.extend({type:"date_time_picker",$control:function(){return this.$(".acf-date-time-picker")},initialize:function(){var e=this.$input(),t=this.$inputText(),i={dateFormat:this.get("date_format"),timeFormat:this.get("time_format"),altField:e,altFieldTimeOnly:!1,altFormat:"yy-mm-dd",altTimeFormat:"HH:mm:ss",changeYear:!0,yearRange:"-100:+100",changeMonth:!0,showButtonPanel:!0,firstDay:this.get("first_day"),controlType:"select",oneLine:!0};i=acf.applyFilters("date_time_picker_args",i,this),acf.newDateTimePicker(t,i),acf.doAction("date_time_picker_init",t,i,this)}}),acf.registerFieldType(t),new acf.Model({priority:5,wait:"ready",initialize:function(){var t=acf.get("locale"),i=acf.get("rtl"),a=acf.get("dateTimePickerL10n");return!!a&&void 0!==e.timepicker&&(a.isRTL=i,e.timepicker.regional[t]=a,void e.timepicker.setDefaults(a))}}),acf.newDateTimePicker=function(t,i){if(void 0===e.timepicker)return!1;i=i||{},t.datetimepicker(i),e("body > #ui-datepicker-div").exists()&&e("body > #ui-datepicker-div").wrap('
                ')}},2093:()=>{var e,t;e=jQuery,t=acf.models.ImageField.extend({type:"file",$control:function(){return this.$(".acf-file-uploader")},$input:function(){return this.$('input[type="hidden"]:first')},validateAttachment:function(e){return void 0!==(e=e||{}).id&&(e=e.attributes),acf.parseArgs(e,{url:"",alt:"",title:"",filename:"",filesizeHumanReadable:"",icon:"/wp-includes/images/media/default.png"})},render:function(e){e=this.validateAttachment(e),this.$("img").attr({src:e.icon,alt:e.alt,title:e.title}),this.$('[data-name="title"]').text(e.title),this.$('[data-name="filename"]').text(e.filename).attr("href",e.url),this.$('[data-name="filesize"]').text(e.filesizeHumanReadable);var t=e.id||"";acf.val(this.$input(),t),t?this.$control().addClass("has-value"):this.$control().removeClass("has-value")},selectAttachment:function(){var t=this.parent(),i=t&&"repeater"===t.get("type");acf.newMediaPopup({mode:"select",title:acf.__("Select File"),field:this.get("key"),multiple:i,library:this.get("library"),allowedTypes:this.get("mime_types"),select:e.proxy((function(e,i){i>0?this.append(e,t):this.render(e)}),this)})},editAttachment:function(){var t=this.val();if(!t)return!1;acf.newMediaPopup({mode:"edit",title:acf.__("Edit File"),button:acf.__("Update File"),attachment:t,field:this.get("key"),select:e.proxy((function(e,t){this.render(e)}),this)})}}),acf.registerFieldType(t)},1163:()=>{!function(e,t){var i=acf.Field.extend({type:"google_map",map:!1,wait:"load",events:{'click a[data-name="clear"]':"onClickClear",'click a[data-name="locate"]':"onClickLocate",'click a[data-name="search"]':"onClickSearch","keydown .search":"onKeydownSearch","keyup .search":"onKeyupSearch","focus .search":"onFocusSearch","blur .search":"onBlurSearch",showField:"onShow"},$control:function(){return this.$(".acf-google-map")},$search:function(){return this.$(".search")},$canvas:function(){return this.$(".canvas")},setState:function(e){this.$control().removeClass("-value -loading -searching"),"default"===e&&(e=this.val()?"value":""),e&&this.$control().addClass("-"+e)},getValue:function(){var e=this.$input().val();return!!e&&JSON.parse(e)},setValue:function(e,t){var i="";e&&(i=JSON.stringify(e)),acf.val(this.$input(),i),t||(this.renderVal(e),acf.doAction("google_map_change",e,this.map,this))},renderVal:function(e){e?(this.setState("value"),this.$search().val(e.address),this.setPosition(e.lat,e.lng)):(this.setState(""),this.$search().val(""),this.map.marker.setVisible(!1))},newLatLng:function(e,t){return new google.maps.LatLng(parseFloat(e),parseFloat(t))},setPosition:function(e,t){this.map.marker.setPosition({lat:parseFloat(e),lng:parseFloat(t)}),this.map.marker.setVisible(!0),this.center()},center:function(){var e=this.map.marker.getPosition();if(e)var t=e.lat(),i=e.lng();else t=this.get("lat"),i=this.get("lng");this.map.setCenter({lat:parseFloat(t),lng:parseFloat(i)})},initialize:function(){!function(t){if(n)return t();if(acf.isset(window,"google","maps","Geocoder"))return n=new google.maps.Geocoder,t();if(acf.addAction("google_map_api_loaded",t),!a){var i=acf.get("google_map_api");i&&(a=!0,e.ajax({url:i,dataType:"script",cache:!0,success:function(){n=new google.maps.Geocoder,acf.doAction("google_map_api_loaded")}}))}}(this.initializeMap.bind(this))},initializeMap:function(){var e=this.getValue(),t=acf.parseArgs(e,{zoom:this.get("zoom"),lat:this.get("lat"),lng:this.get("lng")}),i={scrollwheel:!1,zoom:parseInt(t.zoom),center:{lat:parseFloat(t.lat),lng:parseFloat(t.lng)},mapTypeId:google.maps.MapTypeId.ROADMAP,marker:{draggable:!0,raiseOnDrag:!0},autocomplete:{}};i=acf.applyFilters("google_map_args",i,this);var a=new google.maps.Map(this.$canvas()[0],i),n=acf.parseArgs(i.marker,{draggable:!0,raiseOnDrag:!0,map:a});n=acf.applyFilters("google_map_marker_args",n,this);var s=new google.maps.Marker(n),o=!1;if(acf.isset(google,"maps","places","Autocomplete")){var r=i.autocomplete||{};r=acf.applyFilters("google_map_autocomplete_args",r,this),(o=new google.maps.places.Autocomplete(this.$search()[0],r)).bindTo("bounds",a)}this.addMapEvents(this,a,s,o),a.acf=this,a.marker=s,a.autocomplete=o,this.map=a,e&&this.setPosition(e.lat,e.lng),acf.doAction("google_map_init",a,s,this)},addMapEvents:function(e,t,i,a){google.maps.event.addListener(t,"click",(function(t){var i=t.latLng.lat(),a=t.latLng.lng();e.searchPosition(i,a)})),google.maps.event.addListener(i,"dragend",(function(){var t=this.getPosition().lat(),i=this.getPosition().lng();e.searchPosition(t,i)})),a&&google.maps.event.addListener(a,"place_changed",(function(){var t=this.getPlace();e.searchPlace(t)})),google.maps.event.addListener(t,"zoom_changed",(function(){var i=e.val();i&&(i.zoom=t.getZoom(),e.setValue(i,!0))}))},searchPosition:function(e,t){this.setState("loading");var i={lat:e,lng:t};n.geocode({location:i},function(i,a){if(this.setState(""),"OK"!==a)this.showNotice({text:acf.__("Location not found: %s").replace("%s",a),type:"warning"});else{var n=this.parseResult(i[0]);n.lat=e,n.lng=t,this.val(n)}}.bind(this))},searchPlace:function(e){if(e)if(e.geometry){e.formatted_address=this.$search().val();var t=this.parseResult(e);this.val(t)}else e.name&&this.searchAddress(e.name)},searchAddress:function(e){if(e){var t=e.split(",");if(2==t.length){var i=parseFloat(t[0]),a=parseFloat(t[1]);if(i&&a)return this.searchPosition(i,a)}this.setState("loading"),n.geocode({address:e},function(t,i){if(this.setState(""),"OK"!==i)this.showNotice({text:acf.__("Location not found: %s").replace("%s",i),type:"warning"});else{var a=this.parseResult(t[0]);a.address=e,this.val(a)}}.bind(this))}},searchLocation:function(){if(!navigator.geolocation)return alert(acf.__("Sorry, this browser does not support geolocation"));this.setState("loading"),navigator.geolocation.getCurrentPosition(function(e){this.setState("");var t=e.coords.latitude,i=e.coords.longitude;this.searchPosition(t,i)}.bind(this),function(e){this.setState("")}.bind(this))},parseResult:function(e){var t={address:e.formatted_address,lat:e.geometry.location.lat(),lng:e.geometry.location.lng()};t.zoom=this.map.getZoom(),e.place_id&&(t.place_id=e.place_id),e.name&&(t.name=e.name);var i={street_number:["street_number"],street_name:["street_address","route"],city:["locality","postal_town"],state:["administrative_area_level_1","administrative_area_level_2","administrative_area_level_3","administrative_area_level_4","administrative_area_level_5"],post_code:["postal_code"],country:["country"]};for(var a in i)for(var n=i[a],s=0;s{!function(e,t){const i=acf.Field.extend({type:"icon_picker",wait:"load",events:{removeField:"onRemove",duplicateField:"onDuplicate",showField:"scrollToSelectedDashicon","input .acf-icon_url":"onUrlChange","click .acf-icon-picker-dashicon":"onDashiconClick","focus .acf-icon-picker-dashicon-radio":"onDashiconRadioFocus","blur .acf-icon-picker-dashicon-radio":"onDashiconRadioBlur","keydown .acf-icon-picker-dashicon-radio":"onDashiconKeyDown","input .acf-dashicons-search-input":"onDashiconSearch","keydown .acf-dashicons-search-input":"onDashiconSearchKeyDown","click .acf-icon-picker-media-library-button":"onMediaLibraryButtonClick","click .acf-icon-picker-media-library-preview":"onMediaLibraryButtonClick"},$typeInput(){return this.$('input[type="hidden"][data-hidden-type="type"]:first')},$valueInput(){return this.$('input[type="hidden"][data-hidden-type="value"]:first')},$tabButton(){return this.$(".acf-tab-button")},$selectedIcon(){return this.$(".acf-icon-picker-dashicon.active")},$selectedRadio(){return this.$(".acf-icon-picker-dashicon.active input")},$dashiconsList(){return this.$(".acf-dashicons-list")},$mediaLibraryButton(){return this.$(".acf-icon-picker-media-library-button")},initialize(){this.addActions();let t={type:this.$typeInput().val(),value:this.$valueInput().val()};this.set("typeAndValue",t),e(".acf-tab-button").on("click",(()=>{this.initializeDashiconsTab(this.get("typeAndValue"))})),acf.doAction(this.get("name")+"/type_and_value_change",t),this.initializeDashiconsTab(t),this.alignMediaLibraryTabToCurrentValue(t)},addActions(){acf.addAction(this.get("name")+"/type_and_value_change",(e=>{this.alignDashiconsTabToCurrentValue(e),this.alignMediaLibraryTabToCurrentValue(e),this.alignUrlTabToCurrentValue(e)}))},updateTypeAndValue(e,t){const i={type:e,value:t};acf.val(this.$typeInput(),e),acf.val(this.$valueInput(),t),acf.doAction(this.get("name")+"/type_and_value_change",i),this.set("typeAndValue",i)},scrollToSelectedDashicon(){const e=this.$selectedIcon();if(0===e.length)return;const t=this.$dashiconsList();t.scrollTop(0);const i=e.position().top-50;0!==i&&t.scrollTop(i)},initializeDashiconsTab(e){const t=this.getDashiconsList()||[];this.set("dashicons",t),this.renderDashiconList(),this.initializeSelectedDashicon(e)},initializeSelectedDashicon(e){"dashicons"===e.type&&this.selectDashicon(e.value,!1).then((()=>{this.scrollToSelectedDashicon()}))},alignDashiconsTabToCurrentValue(e){"dashicons"!==e.type&&this.unselectDashicon()},renderDashiconHTML(e){const t=`${this.get("name")}-${e.key}`;return`
                \n\t\t\t\t\n\t\t\t\t\n\t\t\t
                `},renderDashiconList(){const e=this.get("dashicons");this.$dashiconsList().empty(),e.forEach((e=>{this.$dashiconsList().append(this.renderDashiconHTML(e))}))},getDashiconsList(){const e=acf.get("iconPickeri10n")||[];return Object.entries(e).map((([e,t])=>({key:e,label:t})))},getDashiconsBySearch(e){const t=e.toLowerCase();return this.getDashiconsList().filter((function(e){return e.label.toLowerCase().indexOf(t)>-1}))},selectDashicon(e,t=!0){this.set("selectedDashicon",e);const i=this.$dashiconsList().find('.acf-icon-picker-dashicon[data-icon="'+e+'"]');i.addClass("active");const a=i.find("input"),n=a.prop("checked",!0).promise();return t&&a.trigger("focus"),this.updateTypeAndValue("dashicons",e),n},unselectDashicon(){this.$dashiconsList().find(".acf-icon-picker-dashicon").removeClass("active"),this.set("selectedDashicon",!1)},onDashiconRadioFocus(e){const t=e.target.value;this.$dashiconsList().find('.acf-icon-picker-dashicon[data-icon="'+t+'"]').addClass("focus"),this.get("selectedDashicon")!==t&&(this.unselectDashicon(),this.selectDashicon(t))},onDashiconRadioBlur(e){this.$(e.target).parent().removeClass("focus")},onDashiconClick(e){e.preventDefault();const t=this.$(e.target).find("input").val();this.$dashiconsList().find('.acf-icon-picker-dashicon[data-icon="'+t+'"]').find("input").prop("checked",!0).trigger("focus")},onDashiconSearch(e){const t=e.target.value,i=this.getDashiconsBySearch(t);if(i.length>0||!t)this.set("dashicons",i),this.$(".acf-dashicons-list-empty").hide(),this.$(".acf-dashicons-list ").show(),this.renderDashiconList(),wp.a11y.speak(acf.get("iconPickerA11yStrings").newResultsFoundForSearchTerm,"polite");else{const e=t.length>30?t.substring(0,30)+"…":t;this.$(".acf-dashicons-list ").hide(),this.$(".acf-dashicons-list-empty").find(".acf-invalid-dashicon-search-term").text(e),this.$(".acf-dashicons-list-empty").css("display","flex"),this.$(".acf-dashicons-list-empty").show(),wp.a11y.speak(acf.get("iconPickerA11yStrings").noResultsForSearchTerm,"polite")}},onDashiconSearchKeyDown(e){13===e.which&&e.preventDefault()},onDashiconKeyDown(e){13===e.which&&e.preventDefault()},alignMediaLibraryTabToCurrentValue(e){const t=e.type,i=e.value;if("media_library"!==t&&"dashicons"!==t&&this.$(".acf-icon-picker-media-library-preview").hide(),"media_library"===t){const e=this.get("mediaLibraryPreviewUrl");this.$(".acf-icon-picker-media-library-preview-img img").attr("src",e),this.$(".acf-icon-picker-media-library-preview-dashicon").hide(),this.$(".acf-icon-picker-media-library-preview-img").show(),this.$(".acf-icon-picker-media-library-preview").show()}"dashicons"===t&&(this.$(".acf-icon-picker-media-library-preview-dashicon .dashicons").attr("class","dashicons "+i),this.$(".acf-icon-picker-media-library-preview-img").hide(),this.$(".acf-icon-picker-media-library-preview-dashicon").show(),this.$(".acf-icon-picker-media-library-preview").show())},async onMediaLibraryButtonClick(e){e.preventDefault(),await this.selectAndReturnAttachment().then((e=>{this.set("mediaLibraryPreviewUrl",e.attributes.url),this.updateTypeAndValue("media_library",e.id)}))},selectAndReturnAttachment(){return new Promise((e=>{acf.newMediaPopup({mode:"select",type:"image",title:acf.__("Select Image"),field:this.get("key"),multiple:!1,library:"all",allowedTypes:"image",select:e})}))},alignUrlTabToCurrentValue(e){"url"!==e.type&&this.$(".acf-icon_url").val("")},onUrlChange(e){const t=e.target.value;this.updateTypeAndValue("url",t)}});acf.registerFieldType(i)}(jQuery)},2410:()=>{var e,t;e=jQuery,t=acf.Field.extend({type:"image",$control:function(){return this.$(".acf-image-uploader")},$input:function(){return this.$('input[type="hidden"]:first')},events:{'click a[data-name="add"]':"onClickAdd",'click a[data-name="edit"]':"onClickEdit",'click a[data-name="remove"]':"onClickRemove",'change input[type="file"]':"onChange"},initialize:function(){"basic"===this.get("uploader")&&this.$el.closest("form").attr("enctype","multipart/form-data")},validateAttachment:function(e){e&&e.attributes&&(e=e.attributes),e=acf.parseArgs(e,{id:0,url:"",alt:"",title:"",caption:"",description:"",width:0,height:0});var t=acf.isget(e,"sizes",this.get("preview_size"));return t&&(e.url=t.url,e.width=t.width,e.height=t.height),e},render:function(e){e=this.validateAttachment(e),this.$("img").attr({src:e.url,alt:e.alt}),e.id?(this.val(e.id),this.$control().addClass("has-value")):(this.val(""),this.$control().removeClass("has-value"))},append:function(e,t){var i=function(e,t){for(var i=acf.getFields({key:e.get("key"),parent:t.$el}),a=0;a0?this.append(e,t):this.render(e)}),this)})},editAttachment:function(){var t=this.val();t&&acf.newMediaPopup({mode:"edit",title:acf.__("Edit Image"),button:acf.__("Update Image"),attachment:t,field:this.get("key"),select:e.proxy((function(e,t){this.render(e)}),this)})},removeAttachment:function(){this.render(!1)},onClickAdd:function(e,t){this.selectAttachment()},onClickEdit:function(e,t){this.editAttachment()},onClickRemove:function(e,t){this.removeAttachment()},onChange:function(t,i){var a=this.$input();i.val()||a.val(""),acf.getFileInputData(i,(function(t){a.val(e.param(t))}))}}),acf.registerFieldType(t)},5915:()=>{var e,t;e=jQuery,t=acf.Field.extend({type:"link",events:{'click a[data-name="add"]':"onClickEdit",'click a[data-name="edit"]':"onClickEdit",'click a[data-name="remove"]':"onClickRemove","change .link-node":"onChange"},$control:function(){return this.$(".acf-link")},$node:function(){return this.$(".link-node")},getValue:function(){var e=this.$node();return!!e.attr("href")&&{title:e.html(),url:e.attr("href"),target:e.attr("target")}},setValue:function(e){e=acf.parseArgs(e,{title:"",url:"",target:""});var t=this.$control(),i=this.$node();t.removeClass("-value -external"),e.url&&t.addClass("-value"),"_blank"===e.target&&t.addClass("-external"),this.$(".link-title").html(e.title),this.$(".link-url").attr("href",e.url).html(e.url),i.html(e.title),i.attr("href",e.url),i.attr("target",e.target),this.$(".input-title").val(e.title),this.$(".input-target").val(e.target),this.$(".input-url").val(e.url).trigger("change")},onClickEdit:function(e,t){acf.wpLink.open(this.$node())},onClickRemove:function(e,t){this.setValue(!1)},onChange:function(e,t){var i=this.getValue();this.setValue(i)}}),acf.registerFieldType(t),acf.wpLink=new acf.Model({getNodeValue:function(){var e=this.get("node");return{title:acf.decode(e.html()),url:e.attr("href"),target:e.attr("target")}},setNodeValue:function(e){var t=this.get("node");t.text(e.title),t.attr("href",e.url),t.attr("target",e.target),t.trigger("change")},getInputValue:function(){return{title:e("#wp-link-text").val(),url:e("#wp-link-url").val(),target:e("#wp-link-target").prop("checked")?"_blank":""}},setInputValue:function(t){e("#wp-link-text").val(t.title),e("#wp-link-url").val(t.url),e("#wp-link-target").prop("checked","_blank"===t.target)},open:function(t){this.on("wplink-open","onOpen"),this.on("wplink-close","onClose"),this.set("node",t);var i=e('');e("body").append(i);var a=this.getNodeValue();wpLink.open("acf-link-textarea",a.url,a.title,null)},onOpen:function(){e("#wp-link-wrap").addClass("has-text-field");var t=this.getNodeValue();this.setInputValue(t),t.url&&wpLinkL10n&&e("#wp-link-submit").val(wpLinkL10n.update)},close:function(){wpLink.close()},onClose:function(){if(!this.has("node"))return!1;var t=e("#wp-link-submit");if(t.is(":hover")||t.is(":focus")){var i=this.getInputValue();this.setNodeValue(i)}this.off("wplink-open"),this.off("wplink-close"),e("#acf-link-textarea").remove(),this.set("node",null)}})},2237:()=>{var e,t;e=jQuery,t=acf.Field.extend({type:"oembed",events:{'click [data-name="clear-button"]':"onClickClear","keypress .input-search":"onKeypressSearch","keyup .input-search":"onKeyupSearch","change .input-search":"onChangeSearch"},$control:function(){return this.$(".acf-oembed")},$input:function(){return this.$(".input-value")},$search:function(){return this.$(".input-search")},getValue:function(){return this.$input().val()},getSearchVal:function(){return this.$search().val()},setValue:function(e){e?this.$control().addClass("has-value"):this.$control().removeClass("has-value"),acf.val(this.$input(),e)},showLoading:function(e){acf.showLoading(this.$(".canvas"))},hideLoading:function(){acf.hideLoading(this.$(".canvas"))},maybeSearch:function(){var t=this.val(),i=this.getSearchVal();if(!i)return this.clear();if("http"!=i.substr(0,4)&&(i="http://"+i),i!==t){var a=this.get("timeout");a&&clearTimeout(a);var n=e.proxy(this.search,this,i);this.set("timeout",setTimeout(n,300))}},search:function(t){var i={action:"acf/fields/oembed/search",s:t,field_key:this.get("key")};(a=this.get("xhr"))&&a.abort(),this.showLoading();var a=e.ajax({url:acf.get("ajaxurl"),data:acf.prepareForAjax(i),type:"post",dataType:"json",context:this,success:function(e){e&&e.html||(e={url:!1,html:""}),this.val(e.url),this.$(".canvas-media").html(e.html)},complete:function(){this.hideLoading()}});this.set("xhr",a)},clear:function(){this.val(""),this.$search().val(""),this.$(".canvas-media").html("")},onClickClear:function(e,t){this.clear()},onKeypressSearch:function(e,t){13==e.which&&(e.preventDefault(),this.maybeSearch())},onKeyupSearch:function(e,t){t.val()&&this.maybeSearch()},onChangeSearch:function(e,t){this.maybeSearch()}}),acf.registerFieldType(t)},7513:()=>{var e;jQuery,e=acf.models.SelectField.extend({type:"page_link"}),acf.registerFieldType(e)},2553:()=>{var e;jQuery,e=acf.models.SelectField.extend({type:"post_object"}),acf.registerFieldType(e)},9252:()=>{var e;jQuery,e=acf.Field.extend({type:"radio",events:{'click input[type="radio"]':"onClick"},$control:function(){return this.$(".acf-radio-list")},$input:function(){return this.$("input:checked")},$inputText:function(){return this.$('input[type="text"]')},getValue:function(){var e=this.$input().val();return"other"===e&&this.get("other_choice")&&(e=this.$inputText().val()),e},onClick:function(e,t){var i=t.parent("label"),a=i.hasClass("selected"),n=t.val();this.$(".selected").removeClass("selected"),i.addClass("selected"),this.get("allow_null")&&a&&(i.removeClass("selected"),t.prop("checked",!1).trigger("change"),n=!1),this.get("other_choice")&&("other"===n?this.$inputText().prop("disabled",!1):this.$inputText().prop("disabled",!0))}}),acf.registerFieldType(e)},6290:()=>{var e;jQuery,e=acf.Field.extend({type:"range",events:{'input input[type="range"]':"onChange","change input":"onChange"},$input:function(){return this.$('input[type="range"]')},$inputAlt:function(){return this.$('input[type="number"]')},setValue:function(e){this.busy=!0,acf.val(this.$input(),e),acf.val(this.$inputAlt(),this.$input().val(),!0),this.busy=!1},onChange:function(e,t){this.busy||this.setValue(t.val())}}),acf.registerFieldType(e)},7509:()=>{var e,t;e=jQuery,t=acf.Field.extend({type:"relationship",events:{"keypress [data-filter]":"onKeypressFilter","change [data-filter]":"onChangeFilter","keyup [data-filter]":"onChangeFilter","click .choices-list .acf-rel-item":"onClickAdd","keypress .choices-list .acf-rel-item":"onKeypressFilter","keypress .values-list .acf-rel-item":"onKeypressFilter",'click [data-name="remove_item"]':"onClickRemove","touchstart .values-list .acf-rel-item":"onTouchStartValues"},$control:function(){return this.$(".acf-relationship")},$list:function(e){return this.$("."+e+"-list")},$listItems:function(e){return this.$list(e).find(".acf-rel-item")},$listItem:function(e,t){return this.$list(e).find('.acf-rel-item[data-id="'+t+'"]')},getValue:function(){var t=[];return this.$listItems("values").each((function(){t.push(e(this).data("id"))})),!!t.length&&t},newChoice:function(e){return["
              • ",''+e.text+"","
              • "].join("")},newValue:function(e){return["
              • ",'',''+e.text,'',"","
              • "].join("")},initialize:function(){var e=this.proxy(acf.once((function(){this.$list("values").sortable({items:"li",forceHelperSize:!0,forcePlaceholderSize:!0,scroll:!0,update:this.proxy((function(){this.$input().trigger("change")}))}),this.$list("choices").scrollTop(0).on("scroll",this.proxy(this.onScrollChoices)),this.fetch()})));this.$el.one("mouseover",e),this.$el.one("focus","input",e),acf.onceInView(this.$el,e)},onScrollChoices:function(e){if(!this.get("loading")&&this.get("more")){var t=this.$list("choices"),i=Math.ceil(t.scrollTop()),a=Math.ceil(t[0].scrollHeight),n=Math.ceil(t.innerHeight()),s=this.get("paged")||1;i+n>=a&&(this.set("paged",s+1),this.fetch())}},onKeypressFilter:function(e,t){t.hasClass("acf-rel-item-add")&&13==e.which&&this.onClickAdd(e,t),t.hasClass("acf-rel-item-remove")&&13==e.which&&this.onClickRemove(e,t),13==e.which&&e.preventDefault()},onChangeFilter:function(e,t){var i=t.val(),a=t.data("filter");this.get(a)!==i&&(this.set(a,i),"s"===a&&parseInt(i)&&this.set("include",i),this.set("paged",1),t.is("select")?this.fetch():this.maybeFetch())},onClickAdd:function(e,t){var i=this.val(),a=parseInt(this.get("max"));if(t.hasClass("disabled"))return!1;if(a>0&&i&&i.length>=a)return this.showNotice({text:acf.__("Maximum values reached ( {max} values )").replace("{max}",a),type:"warning"}),!1;t.addClass("disabled");var n=this.newValue({id:t.data("id"),text:t.html()});this.$list("values").append(n),this.$input().trigger("change")},onClickRemove:function(e,t){let i;e.preventDefault(),i=t.hasClass("acf-rel-item-remove")?t:t.parent();const a=i.parent(),n=i.data("id");a.remove(),this.$listItem("choices",n).removeClass("disabled"),this.$input().trigger("change")},onTouchStartValues:function(t,i){e(this.$listItems("values")).removeClass("relationship-hover"),i.addClass("relationship-hover")},maybeFetch:function(){var e=this.get("timeout");e&&clearTimeout(e),e=this.setTimeout(this.fetch,300),this.set("timeout",e)},getAjaxData:function(){var e=this.$control().data();for(var t in e)e[t]=this.get(t);return e.action="acf/fields/relationship/query",e.field_key=this.get("key"),acf.applyFilters("relationship_ajax_data",e,this)},fetch:function(){(n=this.get("xhr"))&&n.abort();var t=this.getAjaxData(),i=this.$list("choices");1==t.paged&&i.html("");var a=e('
              • '+acf.__("Loading")+"
              • ");i.append(a),this.set("loading",!0);var n=e.ajax({url:acf.get("ajaxurl"),dataType:"json",type:"post",data:acf.prepareForAjax(t),context:this,success:function(t){if(!t||!t.results||!t.results.length)return this.set("more",!1),void(1==this.get("paged")&&this.$list("choices").append("
              • "+acf.__("No matches found")+"
              • "));this.set("more",t.more);var a=this.walkChoices(t.results),n=e(a),s=this.val();s&&s.length&&s.map((function(e){n.find('.acf-rel-item[data-id="'+e+'"]').addClass("disabled")})),i.append(n);var o=!1,r=!1;i.find(".acf-rel-label").each((function(){var t=e(this),i=t.siblings("ul");if(o&&o.text()==t.text())return r.append(i.children()),void e(this).parent().remove();o=t,r=i}))},complete:function(){this.set("loading",!1),a.remove()}});this.set("xhr",n)},walkChoices:function(t){var i=function(t){var a="";return e.isArray(t)?t.map((function(e){a+=i(e)})):e.isPlainObject(t)&&(void 0!==t.children?(a+='
              • '+acf.escHtml(t.text)+'
                  ',a+=i(t.children),a+="
              • "):a+='
              • '+acf.escHtml(t.text)+"
              • "),a};return i(t)}}),acf.registerFieldType(t)},6403:()=>{var e;jQuery,e=acf.Field.extend({type:"select",select2:!1,wait:"load",events:{removeField:"onRemove",duplicateField:"onDuplicate"},$input:function(){return this.$("select")},initialize:function(){var e=this.$input();if(this.inherit(e),this.get("ui")){var t=this.get("ajax_action");t||(t="acf/fields/"+this.get("type")+"/query"),this.select2=acf.newSelect2(e,{field:this,ajax:this.get("ajax"),multiple:this.get("multiple"),placeholder:this.get("placeholder"),allowNull:this.get("allow_null"),ajaxAction:t})}},onRemove:function(){this.select2&&this.select2.destroy()},onDuplicate:function(e,t,i){this.select2&&(i.find(".select2-container").remove(),i.find("select").removeClass("select2-hidden-accessible"))}}),acf.registerFieldType(e)},5848:()=>{!function(e,t){var i="tab",a=acf.Field.extend({type:"tab",wait:"",tabs:!1,tab:!1,events:{duplicateField:"onDuplicate"},findFields:function(){let e;switch(this.get("key")){case"acf_field_settings_tabs":e=".acf-field-settings-main";break;case"acf_field_group_settings_tabs":e=".field-group-settings-tab";break;case"acf_browse_fields_tabs":e=".acf-field-types-tab";break;case"acf_icon_picker_tabs":e=".acf-icon-picker-tabs";break;case"acf_post_type_tabs":e=".acf-post-type-advanced-settings";break;case"acf_taxonomy_tabs":e=".acf-taxonomy-advanced-settings";break;case"acf_ui_options_page_tabs":e=".acf-ui-options-page-advanced-settings";break;default:e=".acf-field"}return this.$el.nextUntil(".acf-field-tab",e)},getFields:function(){return acf.getFields(this.findFields())},findTabs:function(){return this.$el.prevAll(".acf-tab-wrap:first")},findTab:function(){return this.$(".acf-tab-button")},initialize:function(){if(this.$el.is("td"))return this.events={},!1;var e=this.findTabs(),t=this.findTab(),i=acf.parseArgs(t.data(),{endpoint:!1,placement:"",before:this.$el});!e.length||i.endpoint?this.tabs=new s(i):this.tabs=e.data("acf"),this.tab=this.tabs.addTab(t,this)},isActive:function(){return this.tab.isActive()},showFields:function(){this.getFields().map((function(e){e.show(this.cid,i),e.hiddenByTab=!1}),this)},hideFields:function(){this.getFields().map((function(e){e.hide(this.cid,i),e.hiddenByTab=this.tab}),this)},show:function(e){var t=acf.Field.prototype.show.apply(this,arguments);return t&&(this.tab.show(),this.tabs.refresh()),t},hide:function(e){var t=acf.Field.prototype.hide.apply(this,arguments);return t&&(this.tab.hide(),this.isActive()&&this.tabs.reset()),t},enable:function(e){this.getFields().map((function(e){e.enable(i)}))},disable:function(e){this.getFields().map((function(e){e.disable(i)}))},onDuplicate:function(e,t,i){this.isActive()&&i.prevAll(".acf-tab-wrap:first").remove()}});acf.registerFieldType(a);var n=0,s=acf.Model.extend({tabs:[],active:!1,actions:{refresh:"onRefresh",close_field_object:"onCloseFieldObject"},data:{before:!1,placement:"top",index:0,initialized:!1},setup:function(t){e.extend(this.data,t),this.tabs=[],this.active=!1;var i=this.get("placement"),a=this.get("before"),s=a.parent();if("left"==i&&s.hasClass("acf-fields")&&s.addClass("-sidebar"),a.is("tr"))this.$el=e('
                ');else{let t="acf-hl acf-tab-group";"acf_field_settings_tabs"===this.get("key")&&(t="acf-field-settings-tab-bar"),this.$el=e('
                  ')}a.before(this.$el),this.set("index",n,!0),n++},initializeTabs:function(){if("acf_field_settings_tabs"!==this.get("key")||!e("#acf-field-group-fields").hasClass("hide-tabs")){var t=!1,i=acf.getPreference("this.tabs")||!1;if(i){var a=i[this.get("index")];this.tabs[a]&&this.tabs[a].isVisible()&&(t=this.tabs[a])}!t&&this.data.defaultTab&&this.data.defaultTab.isVisible()&&(t=this.data.defaultTab),t||(t=this.getVisible().shift()),t?this.selectTab(t):this.closeTabs(),this.set("initialized",!0)}},getVisible:function(){return this.tabs.filter((function(e){return e.isVisible()}))},getActive:function(){return this.active},setActive:function(e){return this.active=e},hasActive:function(){return!1!==this.active},isActive:function(e){var t=this.getActive();return t&&t.cid===e.cid},closeActive:function(){this.hasActive()&&this.closeTab(this.getActive())},openTab:function(e){this.closeActive(),e.open(),this.setActive(e)},closeTab:function(e){e.close(),this.setActive(!1)},closeTabs:function(){this.tabs.map(this.closeTab,this)},selectTab:function(e){this.tabs.map((function(t){e.cid!==t.cid&&this.closeTab(t)}),this),this.openTab(e)},addTab:function(t,i){var a=e("
                • "+t.outerHTML()+"
                • "),n=t.data("settings-type");n&&a.addClass("acf-settings-type-"+n),this.$("ul").append(a);var s=new o({$el:a,field:i,group:this});return this.tabs.push(s),t.data("selected")&&(this.data.defaultTab=s),s},reset:function(){return this.closeActive(),this.refresh()},refresh:function(){if(this.hasActive())return!1;var e=this.getVisible().shift();return e&&this.openTab(e),e},onRefresh:function(){if("left"===this.get("placement")){var e=this.$el.parent(),t=this.$el.children("ul"),i=e.is("td")?"height":"min-height",a=t.position().top+t.outerHeight(!0)-1;e.css(i,a)}},onCloseFieldObject:function(e){const t=this.getVisible().find((t=>{const i=t.$el.closest("div[data-id]").data("id");if(e.data.id===i)return t}));t&&setTimeout((()=>{this.openTab(t)}),300)}}),o=acf.Model.extend({group:!1,field:!1,events:{"click a":"onClick"},index:function(){return this.$el.index()},isVisible:function(){return acf.isVisible(this.$el)},isActive:function(){return this.$el.hasClass("active")},open:function(){this.$el.addClass("active"),this.field.showFields()},close:function(){this.$el.removeClass("active"),this.field.hideFields()},onClick:function(e,t){e.preventDefault(),this.toggle()},toggle:function(){this.isActive()||this.group.openTab(this)}});new acf.Model({priority:50,actions:{prepare:"render",append:"render",unload:"onUnload",show:"render",invalid_field:"onInvalidField"},findTabs:function(){return e(".acf-tab-wrap")},getTabs:function(){return acf.getInstances(this.findTabs())},render:function(e){this.getTabs().map((function(e){e.get("initialized")||e.initializeTabs()}))},onInvalidField:function(e){this.busy||e.hiddenByTab&&(e.hiddenByTab.toggle(),this.busy=!0,this.setTimeout((function(){this.busy=!1}),100))},onUnload:function(){var e=[];this.getTabs().map((function(t){if(t.$el.children(".acf-field-settings-tab-bar").length||t.$el.parents("#acf-advanced-settings.postbox").length)return!0;var i=t.hasActive()?t.getActive().index():0;e.push(i)})),e.length&&acf.setPreference("this.tabs",e)}})}(jQuery)},3284:()=>{var e,t;e=jQuery,t=acf.Field.extend({type:"taxonomy",data:{ftype:"select"},select2:!1,wait:"load",events:{'click a[data-name="add"]':"onClickAdd",'click input[type="radio"]':"onClickRadio",removeField:"onRemove"},$control:function(){return this.$(".acf-taxonomy-field")},$input:function(){return this.getRelatedPrototype().$input.apply(this,arguments)},getRelatedType:function(){var e=this.get("ftype");return"multi_select"==e&&(e="select"),e},getRelatedPrototype:function(){return acf.getFieldType(this.getRelatedType()).prototype},getValue:function(){return this.getRelatedPrototype().getValue.apply(this,arguments)},setValue:function(){return this.getRelatedPrototype().setValue.apply(this,arguments)},initialize:function(){this.getRelatedPrototype().initialize.apply(this,arguments)},onRemove:function(){var e=this.getRelatedPrototype();e.onRemove&&e.onRemove.apply(this,arguments)},onClickAdd:function(t,i){var a=this,n=!1,s=!1,o=!1,r=!1,c=!1,l=!1,d=function(e){n.loading(!1),n.content(e),s=n.$("form"),o=n.$('input[name="term_name"]'),r=n.$('select[name="term_parent"]'),c=n.$(".acf-submit-button"),o.trigger("focus"),n.on("submit","form",u)},u=function(t,i){if(t.preventDefault(),t.stopImmediatePropagation(),""===o.val())return o.trigger("focus"),!1;acf.startButtonLoading(c);var n={action:"acf/fields/taxonomy/add_term",field_key:a.get("key"),term_name:o.val(),term_parent:r.length?r.val():0};e.ajax({url:acf.get("ajaxurl"),data:acf.prepareForAjax(n),type:"post",dataType:"json",success:f})},f=function(e){acf.stopButtonLoading(c),l&&l.remove(),acf.isAjaxSuccess(e)?(o.val(""),p(e.data),l=acf.newNotice({type:"success",text:acf.getAjaxMessage(e),target:s,timeout:2e3,dismiss:!1})):l=acf.newNotice({type:"error",text:acf.getAjaxError(e),target:s,timeout:2e3,dismiss:!1}),o.trigger("focus")},p=function(t){var i=e('");t.term_parent?r.children('option[value="'+t.term_parent+'"]').after(i):r.append(i),acf.getFields({type:"taxonomy"}).map((function(e){e.get("taxonomy")==a.get("taxonomy")&&e.appendTerm(t)})),a.selectTerm(t.term_id)};!function(){n=acf.newPopup({title:i.attr("title"),loading:!0,width:"300px"});var t={action:"acf/fields/taxonomy/add_term",field_key:a.get("key")};e.ajax({url:acf.get("ajaxurl"),data:acf.prepareForAjax(t),type:"post",dataType:"html",success:d})}()},appendTerm:function(e){"select"==this.getRelatedType()?this.appendTermSelect(e):this.appendTermCheckbox(e)},appendTermSelect:function(e){this.select2.addOption({id:e.term_id,text:e.term_label})},appendTermCheckbox:function(t){var i=this.$("[name]:first").attr("name"),a=this.$("ul:first");"checkbox"==this.getRelatedType()&&(i+="[]");var n=e(['
                • ',"","
                • "].join(""));if(t.term_parent){var s=a.find('li[data-id="'+t.term_parent+'"]');(a=s.children("ul")).exists()||(a=e('
                    '),s.append(a))}a.append(n)},selectTerm:function(e){"select"==this.getRelatedType()?this.select2.selectOption(e):this.$('input[value="'+e+'"]').prop("checked",!0).trigger("change")},onClickRadio:function(e,t){var i=t.parent("label"),a=i.hasClass("selected");this.$(".selected").removeClass("selected"),i.addClass("selected"),this.get("allow_null")&&a&&(i.removeClass("selected"),t.prop("checked",!1).trigger("change"))}}),acf.registerFieldType(t)},9213:()=>{var e,t;e=jQuery,t=acf.models.DatePickerField.extend({type:"time_picker",$control:function(){return this.$(".acf-time-picker")},initialize:function(){var e=this.$input(),t=this.$inputText(),i={timeFormat:this.get("time_format"),altField:e,altFieldTimeOnly:!1,altTimeFormat:"HH:mm:ss",showButtonPanel:!0,controlType:"select",oneLine:!0,closeText:acf.get("dateTimePickerL10n").selectText,timeOnly:!0,onClose:function(e,t,i){var a=t.dpDiv.find(".ui-datepicker-close");!e&&a.is(":hover")&&i._updateDateTime()}};i=acf.applyFilters("time_picker_args",i,this),acf.newTimePicker(t,i),acf.doAction("time_picker_init",t,i,this)}}),acf.registerFieldType(t),acf.newTimePicker=function(t,i){if(void 0===e.timepicker)return!1;i=i||{},t.timepicker(i),e("body > #ui-datepicker-div").exists()&&e("body > #ui-datepicker-div").wrap('
                    ')}},1525:()=>{var e;jQuery,e=acf.Field.extend({type:"true_false",events:{"change .acf-switch-input":"onChange","focus .acf-switch-input":"onFocus","blur .acf-switch-input":"onBlur","keypress .acf-switch-input":"onKeypress"},$input:function(){return this.$('input[type="checkbox"]')},$switch:function(){return this.$(".acf-switch")},getValue:function(){return this.$input().prop("checked")?1:0},initialize:function(){this.render()},render:function(){var e=this.$switch();if(e.length){var t=e.children(".acf-switch-on"),i=e.children(".acf-switch-off"),a=Math.max(t.width(),i.width());a&&(t.css("min-width",a),i.css("min-width",a))}},switchOn:function(){this.$input().prop("checked",!0),this.$switch().addClass("-on")},switchOff:function(){this.$input().prop("checked",!1),this.$switch().removeClass("-on")},onChange:function(e,t){t.prop("checked")?this.switchOn():this.switchOff()},onFocus:function(e,t){this.$switch().addClass("-focus")},onBlur:function(e,t){this.$switch().removeClass("-focus")},onKeypress:function(e,t){return 37===e.keyCode?this.switchOff():39===e.keyCode?this.switchOn():void 0}}),acf.registerFieldType(e)},5942:()=>{var e;jQuery,e=acf.Field.extend({type:"url",events:{'keyup input[type="url"]':"onkeyup"},$control:function(){return this.$(".acf-input-wrap")},$input:function(){return this.$('input[type="url"]')},initialize:function(){this.render()},isValid:function(){var e=this.val();return!!e&&(-1!==e.indexOf("://")||0===e.indexOf("//"))},render:function(){this.isValid()?this.$control().addClass("-valid"):this.$control().removeClass("-valid")},onkeyup:function(e,t){this.render()}}),acf.registerFieldType(e)},9732:()=>{var e;jQuery,e=acf.models.SelectField.extend({type:"user"}),acf.registerFieldType(e),acf.addFilter("select2_ajax_data",(function(e,t,i,a,n){if(!a||"user"!==a.get("type"))return e;const s=a.get("queryNonce");return s&&s.toString().length&&(e.user_query_nonce=s),e}))},9938:()=>{var e;jQuery,e=acf.Field.extend({type:"wysiwyg",wait:"load",events:{"mousedown .acf-editor-wrap.delay":"onMousedown",unmountField:"disableEditor",remountField:"enableEditor",removeField:"disableEditor"},$control:function(){return this.$(".acf-editor-wrap")},$input:function(){return this.$("textarea")},getMode:function(){return this.$control().hasClass("tmce-active")?"visual":"text"},initialize:function(){this.$control().hasClass("delay")||this.initializeEditor()},initializeEditor:function(){var e=this.$control(),t=this.$input(),i={tinymce:!0,quicktags:!0,toolbar:this.get("toolbar"),mode:this.getMode(),field:this},a=t.attr("id"),n=acf.uniqueId("acf-editor-"),s=t.data(),o=t.val();acf.rename({target:e,search:a,replace:n,destructive:!0}),this.set("id",n,!0),this.$input().data(s).val(o),acf.tinymce.initialize(n,i)},onMousedown:function(e){e.preventDefault();var t=this.$control();t.removeClass("delay"),t.find(".acf-editor-toolbar").remove(),this.initializeEditor()},enableEditor:function(){"visual"==this.getMode()&&acf.tinymce.enable(this.get("id"))},disableEditor:function(){acf.tinymce.destroy(this.get("id"))}}),acf.registerFieldType(e)},5338:()=>{!function(e,t){var i=[];acf.Field=acf.Model.extend({type:"",eventScope:".acf-field",wait:"ready",setup:function(e){this.$el=e,this.inherit(e),this.inherit(this.$control())},val:function(e){return e!==t?this.setValue(e):this.prop("disabled")?null:this.getValue()},getValue:function(){return this.$input().val()},setValue:function(e){return acf.val(this.$input(),e)},__:function(e){return acf._e(this.type,e)},$control:function(){return!1},$input:function(){return this.$("[name]:first")},$inputWrap:function(){return this.$(".acf-input:first")},$labelWrap:function(){return this.$(".acf-label:first")},getInputName:function(){return this.$input().attr("name")||""},parent:function(){var e=this.parents();return!!e.length&&e[0]},parents:function(){var e=this.$el.parents(".acf-field");return acf.getFields(e)},show:function(e,t){var i=acf.show(this.$el,e);return i&&(this.prop("hidden",!1),acf.doAction("show_field",this,t),"conditional_logic"===t&&this.setFieldSettingsLastVisible()),i},hide:function(e,t){var i=acf.hide(this.$el,e);return i&&(this.prop("hidden",!0),acf.doAction("hide_field",this,t),"conditional_logic"===t&&this.setFieldSettingsLastVisible()),i},setFieldSettingsLastVisible:function(){var e=this.$el.parents(".acf-field-settings-main");if(e.length){var t=e.find(".acf-field");t.removeClass("acf-last-visible"),t.not(".acf-hidden").last().addClass("acf-last-visible")}},enable:function(e,t){var i=acf.enable(this.$el,e);return i&&(this.prop("disabled",!1),acf.doAction("enable_field",this,t)),i},disable:function(e,t){var i=acf.disable(this.$el,e);return i&&(this.prop("disabled",!0),acf.doAction("disable_field",this,t)),i},showEnable:function(e,t){return this.enable.apply(this,arguments),this.show.apply(this,arguments)},hideDisable:function(e,t){return this.disable.apply(this,arguments),this.hide.apply(this,arguments)},showNotice:function(e){"object"!=typeof e&&(e={text:e}),this.notice&&this.notice.remove(),e.target=this.$inputWrap(),this.notice=acf.newNotice(e)},removeNotice:function(e){this.notice&&(this.notice.away(e||0),this.notice=!1)},showError:function(i,a="before"){this.$el.addClass("acf-error"),i!==t&&this.showNotice({text:i,type:"error",dismiss:!1,location:a}),acf.doAction("invalid_field",this),this.$el.one("focus change","input, select, textarea",e.proxy(this.removeError,this))},removeError:function(){this.$el.removeClass("acf-error"),this.removeNotice(250),acf.doAction("valid_field",this)},trigger:function(e,t,i){return"invalidField"==e&&(i=!0),acf.Model.prototype.trigger.apply(this,[e,t,i])}}),acf.newField=function(e){var t=e.data("type"),i=a(t),n=new(acf.models[i]||acf.Field)(e);return acf.doAction("new_field",n),n};var a=function(e){return acf.strPascalCase(e||"")+"Field"};acf.registerFieldType=function(e){var t=e.prototype.type,n=a(t);acf.models[n]=e,i.push(t)},acf.getFieldType=function(e){var t=a(e);return acf.models[t]||!1},acf.getFieldTypes=function(e){e=acf.parseArgs(e,{category:""});var t=[];return i.map((function(i){var a=acf.getFieldType(i),n=a.prototype;e.category&&n.category!==e.category||t.push(a)})),t}}(jQuery)},2457:()=>{!function(e,t){acf.findFields=function(t){var i=".acf-field",a=!1;return(t=acf.parseArgs(t,{key:"",name:"",type:"",is:"",parent:!1,sibling:!1,limit:!1,visible:!1,suppressFilters:!1,excludeSubFields:!1})).suppressFilters||(t=acf.applyFilters("find_fields_args",t)),t.key&&(i+='[data-key="'+t.key+'"]'),t.type&&(i+='[data-type="'+t.type+'"]'),t.name&&(i+='[data-name="'+t.name+'"]'),t.is&&(i+=t.is),t.visible&&(i+=":visible"),t.suppressFilters||(i=acf.applyFilters("find_fields_selector",i,t)),t.parent?(a=t.parent.find(i),t.excludeSubFields&&(a=a.not(t.parent.find(".acf-is-subfields .acf-field")))):a=t.sibling?t.sibling.siblings(i):e(i),t.suppressFilters||(a=a.not(".acf-clone .acf-field"),a=acf.applyFilters("find_fields",a)),t.limit&&(a=a.slice(0,t.limit)),a},acf.findField=function(e,t){return acf.findFields({key:e,limit:1,parent:t,suppressFilters:!0})},acf.getField=function(e){e instanceof jQuery||(e=acf.findField(e));var t=e.data("acf");return t||(t=acf.newField(e)),t},acf.getFields=function(t){t instanceof jQuery||(t=acf.findFields(t));var i=[];return t.each((function(){var t=acf.getField(e(this));i.push(t)})),i},acf.findClosestField=function(e){return e.closest(".acf-field")},acf.getClosestField=function(e){var t=acf.findClosestField(e);return this.getField(t)};var i=function(e){var t=e+"_field",i=e+"Field";acf.addAction(t,(function(n){var s=acf.arrayArgs(arguments),o=s.slice(1);["type","name","key"].map((function(e){var i="/"+e+"="+n.get(e);s=[t+i,n].concat(o),acf.doAction.apply(null,s)})),a.indexOf(e)>-1&&n.trigger(i,o)}))},a=["remove","unmount","remount","sortstart","sortstop","show","hide","unload","valid","invalid","enable","disable","duplicate"];["prepare","ready","load","append","remove","unmount","remount","sortstart","sortstop","show","hide","unload"].map((function(e){var t=e,a=e+"_fields",n=e+"_field";acf.addAction(t,(function(e){var t=acf.arrayArgs(arguments).slice(1),i=acf.getFields({parent:e});if(i.length){var n=[a,i].concat(t);acf.doAction.apply(null,n)}})),acf.addAction(a,(function(e){var t=acf.arrayArgs(arguments).slice(1);e.map((function(e,i){var a=[n,e].concat(t);acf.doAction.apply(null,a)}))})),i(e)})),["valid","invalid","enable","disable","new","duplicate"].map(i),new acf.Model({id:"fieldsEventManager",events:{'click .acf-field a[href="#"]':"onClick","change .acf-field":"onChange"},onClick:function(e){e.preventDefault()},onChange:function(){if(e("#_acf_changed").val(1),acf.isGutenbergPostEditor())try{wp.data.dispatch("core/editor").editPost({meta:{_acf_changed:1}})}catch(e){console.log("ACF: Failed to update _acf_changed meta",e)}}}),new acf.Model({id:"duplicateFieldsManager",actions:{duplicate:"onDuplicate",duplicate_fields:"onDuplicateFields"},onDuplicate:function(e,t){var i=acf.getFields({parent:e});if(i.length){var a=acf.findFields({parent:t});acf.doAction("duplicate_fields",i,a)}},onDuplicateFields:function(t,i){t.map((function(t,a){acf.doAction("duplicate_field",t,e(i[a]))}))}})}(jQuery)},8223:()=>{var e;e=jQuery,new acf.Model({priority:90,actions:{new_field:"refresh",show_field:"refresh",hide_field:"refresh",remove_field:"refresh",unmount_field:"refresh",remount_field:"refresh"},refresh:function(){acf.refresh()}}),new acf.Model({priority:1,actions:{sortstart:"onSortstart",sortstop:"onSortstop"},onSortstart:function(e){acf.doAction("unmount",e)},onSortstop:function(e){acf.doAction("remount",e)}}),new acf.Model({actions:{sortstart:"onSortstart"},onSortstart:function(t,i){t.is("tr")&&(i.html('
                    '),t.addClass("acf-sortable-tr-helper"),t.children().each((function(){e(this).width(e(this).width())})),i.height(t.height()+"px"),t.removeClass("acf-sortable-tr-helper"))}}),new acf.Model({actions:{after_duplicate:"onAfterDuplicate"},onAfterDuplicate:function(t,i){var a=[];t.find("select").each((function(t){a.push(e(this).val())})),i.find("select").each((function(t){e(this).val(a[t])}))}}),new acf.Model({id:"tableHelper",priority:20,actions:{refresh:"renderTables"},renderTables:function(t){var i=this;e(".acf-table:visible").each((function(){i.renderTable(e(this))}))},renderTable:function(t){var i=t.find("> thead > tr:visible > th[data-key]"),a=t.find("> tbody > tr:visible > td[data-key]");if(!i.length||!a.length)return!1;i.each((function(t){var i=e(this),n=i.data("key"),s=a.filter('[data-key="'+n+'"]'),o=s.filter(".acf-hidden");s.removeClass("acf-empty"),s.length===o.length?acf.hide(i):(acf.show(i),o.addClass("acf-empty"))})),i.css("width","auto"),i=i.not(".acf-hidden");var n=100;i.length,i.filter("[data-width]").each((function(){var t=e(this).data("width");e(this).css("width",t+"%"),n-=t}));var s=i.not("[data-width]");if(s.length){var o=n/s.length;s.css("width",o+"%"),n=0}n>0&&i.last().css("width","auto"),a.filter(".-collapsed-target").each((function(){var t=e(this);t.parent().hasClass("-collapsed")?t.attr("colspan",i.length):t.removeAttr("colspan")}))}}),new acf.Model({id:"fieldsHelper",priority:30,actions:{refresh:"renderGroups"},renderGroups:function(){var t=this;e(".acf-fields:visible").each((function(){t.renderGroup(e(this))}))},renderGroup:function(t){var i=0,a=0,n=e(),s=t.children(".acf-field[data-width]:visible");return!!s.length&&(t.hasClass("-left")?(s.removeAttr("data-width"),s.css("width","auto"),!1):(s.removeClass("-r0 -c0").css({"min-height":0}),s.each((function(t){var s=e(this),o=s.position(),r=Math.ceil(o.top),c=Math.ceil(o.left);n.length&&r>i&&(n.css({"min-height":a+"px"}),o=s.position(),r=Math.ceil(o.top),c=Math.ceil(o.left),i=0,a=0,n=e()),acf.get("rtl")&&(c=Math.ceil(s.parent().width()-(o.left+s.outerWidth()))),0==r?s.addClass("-r0"):0==c&&s.addClass("-c0");var l=Math.ceil(s.outerHeight())+1;a=Math.max(a,l),i=Math.max(i,r),n=n.add(s)})),void(n.length&&n.css({"min-height":a+"px"}))))}}),new acf.Model({id:"bodyClassShiftHelper",events:{keydown:"onKeyDown",keyup:"onKeyUp"},isShiftKey:function(e){return 16===e.keyCode},onKeyDown:function(t){this.isShiftKey(t)&&e("body").addClass("acf-keydown-shift")},onKeyUp:function(t){this.isShiftKey(t)&&e("body").removeClass("acf-keydown-shift")}})},1218:()=>{!function(e,t){acf.newMediaPopup=function(e){var t=null;return e=acf.parseArgs(e,{mode:"select",title:"",button:"",type:"",field:!1,allowedTypes:"",library:"all",multiple:!1,attachment:0,autoOpen:!0,open:function(){},select:function(){},close:function(){}}),t="edit"==e.mode?new acf.models.EditMediaPopup(e):new acf.models.SelectMediaPopup(e),e.autoOpen&&setTimeout((function(){t.open()}),1),acf.doAction("new_media_popup",t),t};var i=function(){var e=acf.get("post_id");return acf.isNumeric(e)?e:0};acf.getMimeTypes=function(){return this.get("mimeTypes")},acf.getMimeType=function(e){var t=acf.getMimeTypes();if(void 0!==t[e])return t[e];for(var i in t)if(-1!==i.indexOf(e))return t[i];return!1};var a=acf.Model.extend({id:"MediaPopup",data:{},defaults:{},frame:!1,setup:function(t){e.extend(this.data,t)},initialize:function(){var e=this.getFrameOptions();this.addFrameStates(e);var t=wp.media(e);t.acf=this,this.addFrameEvents(t,e),this.frame=t},open:function(){this.frame.open()},close:function(){this.frame.close()},remove:function(){this.frame.detach(),this.frame.remove()},getFrameOptions:function(){var e={title:this.get("title"),multiple:this.get("multiple"),library:{},states:[]};return this.get("type")&&(e.library.type=this.get("type")),"uploadedTo"===this.get("library")&&(e.library.uploadedTo=i()),this.get("attachment")&&(e.library.post__in=[this.get("attachment")]),this.get("button")&&(e.button={text:this.get("button")}),e},addFrameStates:function(e){var t=wp.media.query(e.library);this.get("field")&&acf.isset(t,"mirroring","args")&&(t.mirroring.args._acfuploader=this.get("field")),e.states.push(new wp.media.controller.Library({library:t,multiple:this.get("multiple"),title:this.get("title"),priority:20,filterable:"all",editable:!0,allowLocalEdits:!0})),acf.isset(wp,"media","controller","EditImage")&&e.states.push(new wp.media.controller.EditImage)},addFrameEvents:function(e,t){e.on("open",(function(){this.$el.closest(".media-modal").addClass("acf-media-modal -"+this.acf.get("mode"))}),e),e.on("content:render:edit-image",(function(){var e=this.state().get("image"),t=new wp.media.view.EditImage({model:e,controller:this}).render();this.content.set(t),t.loadEditor()}),e),e.on("select",(function(){var t=e.state().get("selection");t&&t.each((function(t,i){e.acf.get("select").apply(e.acf,[t,i])}))})),e.on("close",(function(){setTimeout((function(){e.acf.get("close").apply(e.acf),e.acf.remove()}),1)}))}});acf.models.SelectMediaPopup=a.extend({id:"SelectMediaPopup",setup:function(e){e.button||(e.button=acf._x("Select","verb")),a.prototype.setup.apply(this,arguments)},addFrameEvents:function(e,t){acf.isset(_wpPluploadSettings,"defaults","multipart_params")&&(_wpPluploadSettings.defaults.multipart_params._acfuploader=this.get("field"),e.on("open",(function(){delete _wpPluploadSettings.defaults.multipart_params._acfuploader}))),e.on("content:activate:browse",(function(){var t=!1;try{t=e.content.get().toolbar}catch(e){return void console.log(e)}e.acf.customizeFilters.apply(e.acf,[t])})),a.prototype.addFrameEvents.apply(this,arguments)},customizeFilters:function(t){var i=t.get("filters");if("image"==this.get("type")&&(i.filters.all.text=acf.__("All images"),delete i.filters.audio,delete i.filters.video,delete i.filters.image,e.each(i.filters,(function(e,t){t.props.type=t.props.type||"image"}))),this.get("allowedTypes")&&this.get("allowedTypes").split(" ").join("").split(".").join("").split(",").map((function(e){var t=acf.getMimeType(e);if(t){var a={text:t,props:{status:null,type:t,uploadedTo:null,orderby:"date",order:"DESC"},priority:20};i.filters[t]=a}})),"uploadedTo"===this.get("library")){var a=this.frame.options.library.uploadedTo;delete i.filters.unattached,delete i.filters.uploaded,e.each(i.filters,(function(e,t){t.text+=" ("+acf.__("Uploaded to this post")+")",t.props.uploadedTo=a}))}var n=this.get("field");e.each(i.filters,(function(e,t){t.props._acfuploader=n})),t.get("search").model.attributes._acfuploader=n,i.renderFilters&&i.renderFilters()}}),acf.models.EditMediaPopup=a.extend({id:"SelectMediaPopup",setup:function(e){e.button||(e.button=acf._x("Update","verb")),a.prototype.setup.apply(this,arguments)},addFrameEvents:function(e,t){e.on("open",(function(){this.$el.closest(".media-modal").addClass("acf-expanded"),"browse"!=this.content.mode()&&this.content.mode("browse");var t=this.state().get("selection"),i=wp.media.attachment(e.acf.get("attachment"));t.add(i)}),e),a.prototype.addFrameEvents.apply(this,arguments)}}),new acf.Model({id:"customizePrototypes",wait:"ready",initialize:function(){if(acf.isset(window,"wp","media","view")){var e=i();e&&acf.isset(wp,"media","view","settings","post")&&(wp.media.view.settings.post.id=e),this.customizeAttachmentsButton(),this.customizeAttachmentsRouter(),this.customizeAttachmentFilters(),this.customizeAttachmentCompat(),this.customizeAttachmentLibrary()}},customizeAttachmentsButton:function(){if(acf.isset(wp,"media","view","Button")){var e=wp.media.view.Button;wp.media.view.Button=e.extend({initialize:function(){var e=_.defaults(this.options,this.defaults);this.model=new Backbone.Model(e),this.listenTo(this.model,"change",this.render)}})}},customizeAttachmentsRouter:function(){if(acf.isset(wp,"media","view","Router")){var t=wp.media.view.Router;wp.media.view.Router=t.extend({addExpand:function(){var t=e(['',''+acf.__("Expand Details")+"",''+acf.__("Collapse Details")+"",""].join(""));t.on("click",(function(t){t.preventDefault();var i=e(this).closest(".media-modal");i.hasClass("acf-expanded")?i.removeClass("acf-expanded"):i.addClass("acf-expanded")})),this.$el.append(t)},initialize:function(){return t.prototype.initialize.apply(this,arguments),this.addExpand(),this}})}},customizeAttachmentFilters:function(){acf.isset(wp,"media","view","AttachmentFilters","All")&&(wp.media.view.AttachmentFilters.All.prototype.renderFilters=function(){this.$el.html(_.chain(this.filters).map((function(t,i){return{el:e("").val(i).html(t.text)[0],priority:t.priority||50}}),this).sortBy("priority").pluck("el").value())})},customizeAttachmentCompat:function(){if(acf.isset(wp,"media","view","AttachmentCompat")){var t=wp.media.view.AttachmentCompat,i=!1;wp.media.view.AttachmentCompat=t.extend({render:function(){return this.rendered?this:(t.prototype.render.apply(this,arguments),this.$("#acf-form-data").length?(clearTimeout(i),i=setTimeout(e.proxy((function(){this.rendered=!0,acf.doAction("append",this.$el)}),this),50),this):this)},save:function(e){var t;e&&e.preventDefault(),t=acf.serializeForAjax(this.$el),this.controller.trigger("attachment:compat:waiting",["waiting"]),this.model.saveCompat(t).always(_.bind(this.postSave,this))}})}},customizeAttachmentLibrary:function(){if(acf.isset(wp,"media","view","Attachment","Library")){var e=wp.media.view.Attachment.Library;wp.media.view.Attachment.Library=e.extend({render:function(){var t=acf.isget(this,"controller","acf"),i=acf.isget(this,"model","attributes");if(t&&i){i.acf_errors&&this.$el.addClass("acf-disabled");var a=t.get("selected");a&&a.indexOf(i.id)>-1&&this.$el.addClass("acf-selected")}return e.prototype.render.apply(this,arguments)},toggleSelection:function(t){this.collection;var i=this.options.selection,a=this.model,n=(i.single(),this.controller),s=acf.isget(this,"model","attributes","acf_errors"),o=n.$el.find(".media-frame-content .media-sidebar");if(o.children(".acf-selection-error").remove(),o.children().removeClass("acf-hidden"),n&&s){var r=acf.isget(this,"model","attributes","filename");return o.children().addClass("acf-hidden"),o.prepend(['
                    ',''+acf.__("Restricted")+"",''+r+"",''+s+"","
                    "].join("")),i.reset(),void i.single(a)}return e.prototype.toggleSelection.apply(this,arguments)}})}}})}(jQuery)},993:()=>{var e;e=jQuery,new acf.Model({wait:"prepare",priority:1,initialize:function(){(acf.get("postboxes")||[]).map(acf.newPostbox)}}),acf.getPostbox=function(t){return"string"==typeof arguments[0]&&(t=e("#"+arguments[0])),acf.getInstance(t)},acf.getPostboxes=function(){return acf.getInstances(e(".acf-postbox"))},acf.newPostbox=function(e){return new acf.models.Postbox(e)},acf.models.Postbox=acf.Model.extend({data:{id:"",key:"",style:"default",label:"top",edit:""},setup:function(t){t.editLink&&(t.edit=t.editLink),e.extend(this.data,t),this.$el=this.$postbox()},$postbox:function(){return e("#"+this.get("id"))},$hide:function(){return e("#"+this.get("id")+"-hide")},$hideLabel:function(){return this.$hide().parent()},$hndle:function(){return this.$("> .hndle")},$handleActions:function(){return this.$("> .postbox-header .handle-actions")},$inside:function(){return this.$("> .inside")},isVisible:function(){return this.$el.hasClass("acf-hidden")},isHiddenByScreenOptions:function(){return this.$el.hasClass("hide-if-js")||"none"==this.$el.css("display")},initialize:function(){if(this.$el.addClass("acf-postbox"),"block"!==acf.get("editor")){var e=this.get("style");"default"!==e&&this.$el.addClass(e)}this.$inside().addClass("acf-fields").addClass("-"+this.get("label"));var t=this.get("edit");if(t){var i='',a=this.$handleActions();a.length?a.prepend(i):this.$hndle().append(i)}this.show()},show:function(){this.$el.hasClass("hide-if-js")?this.$hide().prop("checked",!1):(this.$hideLabel().show(),this.$hide().prop("checked",!0),this.$el.show().removeClass("acf-hidden"),acf.doAction("show_postbox",this))},enable:function(){acf.enable(this.$el,"postbox")},showEnable:function(){this.enable(),this.show()},hide:function(){this.$hideLabel().hide(),this.$el.hide().addClass("acf-hidden"),acf.doAction("hide_postbox",this)},disable:function(){acf.disable(this.$el,"postbox")},hideDisable:function(){this.disable(),this.hide()},html:function(e){this.$inside().html(e),acf.doAction("append",this.$el)}})},9400:()=>{var e;e=jQuery,acf.screen=new acf.Model({active:!0,xhr:!1,timeout:!1,wait:"load",events:{"change #page_template":"onChange","change #parent_id":"onChange","change #post-formats-select":"onChange","change .categorychecklist":"onChange","change .tagsdiv":"onChange",'change .acf-taxonomy-field[data-save="1"]':"onChange","change #product-type":"onChange"},isPost:function(){return"post"===acf.get("screen")},isUser:function(){return"user"===acf.get("screen")},isTaxonomy:function(){return"taxonomy"===acf.get("screen")},isAttachment:function(){return"attachment"===acf.get("screen")},isNavMenu:function(){return"nav_menu"===acf.get("screen")},isWidget:function(){return"widget"===acf.get("screen")},isComment:function(){return"comment"===acf.get("screen")},getPageTemplate:function(){var t=e("#page_template");return t.length?t.val():null},getPageParent:function(t,i){return(i=e("#parent_id")).length?i.val():null},getPageType:function(e,t){return this.getPageParent()?"child":"parent"},getPostType:function(){return e("#post_type").val()},getPostFormat:function(t,i){if((i=e("#post-formats-select input:checked")).length){var a=i.val();return"0"==a?"standard":a}return null},getPostCoreTerms:function(){var t={},i=acf.serialize(e(".categorydiv, .tagsdiv"));for(var a in i.tax_input&&(t=i.tax_input),i.post_category&&(t.category=i.post_category),t)acf.isArray(t[a])||(t[a]=t[a].split(/,[\s]?/));return t},getPostTerms:function(){var e=this.getPostCoreTerms();for(var t in acf.getFields({type:"taxonomy"}).map((function(t){if(t.get("save")){var i=t.val(),a=t.get("taxonomy");i&&(e[a]=e[a]||[],i=acf.isArray(i)?i:[i],e[a]=e[a].concat(i))}})),null!==(productType=this.getProductType())&&(e.product_type=[productType]),e)e[t]=acf.uniqueArray(e[t]);return e},getProductType:function(){var t=e("#product-type");return t.length?t.val():null},check:function(){if("post"===acf.get("screen")){this.xhr&&this.xhr.abort();var t=acf.parseArgs(this.data,{action:"acf/ajax/check_screen",screen:acf.get("screen"),exists:[]});this.isPost()&&(t.post_id=acf.get("post_id")),null!==(postType=this.getPostType())&&(t.post_type=postType),null!==(pageTemplate=this.getPageTemplate())&&(t.page_template=pageTemplate),null!==(pageParent=this.getPageParent())&&(t.page_parent=pageParent),null!==(pageType=this.getPageType())&&(t.page_type=pageType),null!==(postFormat=this.getPostFormat())&&(t.post_format=postFormat),null!==(postTerms=this.getPostTerms())&&(t.post_terms=postTerms),acf.getPostboxes().map((function(e){t.exists.push(e.get("key"))})),t=acf.applyFilters("check_screen_args",t),this.xhr=e.ajax({url:acf.get("ajaxurl"),data:acf.prepareForAjax(t),type:"post",dataType:"json",context:this,success:function(e){"post"==acf.get("screen")?this.renderPostScreen(e):"user"==acf.get("screen")&&this.renderUserScreen(e),acf.doAction("check_screen_complete",e,t)}})}},onChange:function(e,t){this.setTimeout(this.check,1)},renderPostScreen:function(t){var i=function(t,i){var a=e._data(t[0]).events;for(var n in a)for(var s=0;s=0;n--)if(e("#"+i[n]).length)return e("#"+i[n]).after(e("#"+t));for(n=a+1;n=5.5)var r=['
                    ','

                    ',""+acf.escHtml(n.title)+"","

                    ",'
                    ','","
                    ","
                    "].join("");else r=['",'

                    ',""+acf.escHtml(n.title)+"","

                    "].join("");n.classes||(n.classes="");var c=e(['
                    ',r,'
                    ',n.html,"
                    ","
                    "].join(""));if(e("#adv-settings").length){var l=e("#adv-settings .metabox-prefs"),d=e(['"].join(""));i(l.find("input").first(),d.find("input")),l.append(d)}e(".postbox").length&&(i(e(".postbox .handlediv").first(),c.children(".handlediv")),i(e(".postbox .hndle").first(),c.children(".hndle"))),"side"===n.position?e("#"+n.position+"-sortables").append(c):e("#"+n.position+"-sortables").prepend(c);var u=[];if(t.results.map((function(t){n.position===t.position&&e("#"+n.position+"-sortables #"+t.id).length&&u.push(t.id)})),a(n.id,u),t.sorted)for(var f in t.sorted){let e=t.sorted[f];if("string"==typeof e&&(e=e.split(","),a(n.id,e)))break}o=acf.newPostbox(n),acf.doAction("append",c),acf.doAction("append_postbox",o)}return o.showEnable(),t.visible.push(n.id),n})),acf.getPostboxes().map((function(e){-1===t.visible.indexOf(e.get("id"))&&(e.hideDisable(),t.hidden.push(e.get("id")))})),e("#acf-style").html(t.style),acf.doAction("refresh_post_screen",t)},renderUserScreen:function(e){}}),new acf.Model({postEdits:{},wait:"prepare",initialize:function(){acf.isGutenbergPostEditor()&&(wp.data.subscribe(acf.debounce(this.onChange).bind(this)),acf.screen.getPageTemplate=this.getPageTemplate,acf.screen.getPageParent=this.getPageParent,acf.screen.getPostType=this.getPostType,acf.screen.getPostFormat=this.getPostFormat,acf.screen.getPostCoreTerms=this.getPostCoreTerms,acf.unload.disable(),parseFloat(acf.get("wp_version"))>=5.3&&this.addAction("refresh_post_screen",this.onRefreshPostScreen),wp.domReady(acf.refresh))},onChange:function(){var e=["template","parent","format"];(wp.data.select("core").getTaxonomies()||[]).map((function(t){e.push(t.rest_base)}));var t=wp.data.select("core/editor").getPostEdits(),i={};e.map((function(e){void 0!==t[e]&&(i[e]=t[e])})),JSON.stringify(i)!==JSON.stringify(this.postEdits)&&(this.postEdits=i,acf.screen.check())},getPageTemplate:function(){return wp.data.select("core/editor").getEditedPostAttribute("template")},getPageParent:function(e,t){return wp.data.select("core/editor").getEditedPostAttribute("parent")},getPostType:function(){return wp.data.select("core/editor").getEditedPostAttribute("type")},getPostFormat:function(e,t){return wp.data.select("core/editor").getEditedPostAttribute("format")},getPostCoreTerms:function(){var e={};return(wp.data.select("core").getTaxonomies()||[]).map((function(t){var i=wp.data.select("core/editor").getEditedPostAttribute(t.rest_base);i&&(e[t.slug]=i)})),e},onRefreshPostScreen:function(e){var t=wp.data.select("core/edit-post"),i=wp.data.dispatch("core/edit-post"),a={};t.getActiveMetaBoxLocations().map((function(e){a[e]=t.getMetaBoxesPerLocation(e)}));var n=[];for(var s in a)a[s].map((function(e){n.push(e.id)}));for(var s in e.results.filter((function(e){return-1===n.indexOf(e.id)})).map((function(e,t){var i=e.position;a[i]=a[i]||[],a[i].push({id:e.id,title:e.title})})),a)a[s]=a[s].filter((function(t){return-1===e.hidden.indexOf(t.id)}));i.setAvailableMetaBoxesPerLocation(a)}})},2900:()=>{!function(e,t){function i(){return acf.isset(window,"jQuery","fn","select2","amd")?4:!!acf.isset(window,"Select2")&&3}acf.newSelect2=function(e,t){if(t=acf.parseArgs(t,{allowNull:!1,placeholder:"",multiple:!1,field:!1,ajax:!1,ajaxAction:"",ajaxData:function(e){return e},ajaxResults:function(e){return e},escapeMarkup:!1,templateSelection:!1,templateResult:!1,dropdownCssClass:"",suppressFilters:!1}),4==i())var a=new n(e,t);else a=new s(e,t);return acf.doAction("new_select2",a),a};var a=acf.Model.extend({setup:function(t,i){e.extend(this.data,i),this.$el=t},initialize:function(){},selectOption:function(e){var t=this.getOption(e);t.prop("selected")||t.prop("selected",!0).trigger("change")},unselectOption:function(e){var t=this.getOption(e);t.prop("selected")&&t.prop("selected",!1).trigger("change")},getOption:function(e){return this.$('option[value="'+e+'"]')},addOption:function(t){t=acf.parseArgs(t,{id:"",text:"",selected:!1});var i=this.getOption(t.id);return i.length||((i=e("")).html(t.text),i.attr("value",t.id),i.prop("selected",t.selected),this.$el.append(i)),i},getValue:function(){var t=[],i=this.$el.find("option:selected");return i.exists()?((i=i.sort((function(e,t){return+e.getAttribute("data-i")-+t.getAttribute("data-i")}))).each((function(){var i=e(this);t.push({$el:i,id:i.attr("value"),text:i.text()})})),t):t},mergeOptions:function(){},getChoices:function(){var t=function(i){var a=[];return i.children().each((function(){var i=e(this);i.is("optgroup")?a.push({text:i.attr("label"),children:t(i)}):a.push({id:i.attr("value"),text:i.text()})})),a};return t(this.$el)},getAjaxData:function(e){var t={action:this.get("ajaxAction"),s:e.term||"",paged:e.page||1},i=this.get("field");i&&(t.field_key=i.get("key"));var a=this.get("ajaxData");return a&&(t=a.apply(this,[t,e])),t=acf.applyFilters("select2_ajax_data",t,this.data,this.$el,i||!1,this),acf.prepareForAjax(t)},getAjaxResults:function(e,t){e=acf.parseArgs(e,{results:!1,more:!1});var i=this.get("ajaxResults");return i&&(e=i.apply(this,[e,t])),acf.applyFilters("select2_ajax_results",e,t,this)},processAjaxResults:function(t,i){return(t=this.getAjaxResults(t,i)).more&&(t.pagination={more:!0}),setTimeout(e.proxy(this.mergeOptions,this),1),t},destroy:function(){this.$el.data("select2")&&this.$el.select2("destroy"),this.$el.siblings(".select2-container").remove()}}),n=a.extend({initialize:function(){var i=this.$el,a={width:"100%",allowClear:this.get("allowNull"),placeholder:this.get("placeholder"),multiple:this.get("multiple"),escapeMarkup:this.get("escapeMarkup"),templateSelection:this.get("templateSelection"),templateResult:this.get("templateResult"),dropdownCssClass:this.get("dropdownCssClass"),suppressFilters:this.get("suppressFilters"),data:[]};a.templateSelection||delete a.templateSelection,a.templateResult||delete a.templateResult,a.dropdownCssClass||delete a.dropdownCssClass,acf.isset(window,"jQuery","fn","selectWoo")?(delete a.templateSelection,delete a.templateResult):a.templateSelection||(a.templateSelection=function(t){var i=e('');return i.html(a.escapeMarkup(t.text)),i.data("element",t.element),i}),a.escapeMarkup||(a.escapeMarkup=function(e){return"string"!=typeof e?e:this.suppressFilters?acf.strEscape(e):acf.applyFilters("select2_escape_markup",acf.strEscape(e),e,i,this.data,s||!1,this)}),a.multiple&&this.getValue().map((function(e){e.$el.detach().appendTo(i)}));var n=i.attr("data-ajax");if(n!==t&&(i.removeData("ajax"),i.removeAttr("data-ajax")),this.get("ajax")&&(a.ajax={url:acf.get("ajaxurl"),delay:250,dataType:"json",type:"post",cache:!1,data:e.proxy(this.getAjaxData,this),processResults:e.proxy(this.processAjaxResults,this)}),!a.suppressFilters){var s=this.get("field");a=acf.applyFilters("select2_args",a,i,this.data,s||!1,this)}i.select2(a);var o=i.next(".select2-container");if(a.multiple){var r=o.find("ul");r.sortable({stop:function(t){r.find(".select2-selection__choice").each((function(){if(e(this).data("data"))var t=e(e(this).data("data").element);else t=e(e(this).find("span.acf-selection").data("element"));t.detach().appendTo(i)})),i.trigger("change")}}),i.on("select2:select",this.proxy((function(e){this.getOption(e.params.data.id).detach().appendTo(this.$el)})))}i.on("select2:open",(()=>{e(".select2-container--open .select2-search__field").get(-1).focus()})),o.addClass("-acf"),n!==t&&i.attr("data-ajax",n),a.suppressFilters||acf.doAction("select2_init",i,a,this.data,s||!1,this)},mergeOptions:function(){var t=!1,i=!1;e('.select2-results__option[role="group"]').each((function(){var a=e(this).children("ul"),n=e(this).children("strong");if(i&&i.text()===n.text())return t.append(a.children()),void e(this).remove();t=a,i=n}))}}),s=a.extend({initialize:function(){var t=this.$el,i=this.getValue(),a=this.get("multiple"),n={width:"100%",allowClear:this.get("allowNull"),placeholder:this.get("placeholder"),separator:"||",multiple:this.get("multiple"),data:this.getChoices(),escapeMarkup:function(e){return acf.escHtml(e)},dropdownCss:{"z-index":"999999999"},initSelection:function(e,t){t(a?i:i.shift())}},s=t.siblings("input");s.length||(s=e(''),t.before(s)),inputValue=i.map((function(e){return e.id})).join("||"),s.val(inputValue),n.multiple&&i.map((function(e){e.$el.detach().appendTo(t)})),n.allowClear&&(n.data=n.data.filter((function(e){return""!==e.id}))),t.removeData("ajax"),t.removeAttr("data-ajax"),this.get("ajax")&&(n.ajax={url:acf.get("ajaxurl"),quietMillis:250,dataType:"json",type:"post",cache:!1,data:e.proxy(this.getAjaxData,this),results:e.proxy(this.processAjaxResults,this)});var o=this.get("field");n=acf.applyFilters("select2_args",n,t,this.data,o||!1,this),s.select2(n);var r=s.select2("container"),c=e.proxy(this.getOption,this);if(n.multiple){var l=r.find("ul");l.sortable({stop:function(){l.find(".select2-search-choice").each((function(){var i=e(this).data("select2Data");c(i.id).detach().appendTo(t)})),t.trigger("change")}})}s.on("select2-selecting",(function(i){var a=i.choice,n=c(a.id);n.length||(n=e('")),n.detach().appendTo(t)})),r.addClass("-acf"),acf.doAction("select2_init",t,n,this.data,o||!1,this),s.on("change",(function(){var e=s.val();e.indexOf("||")&&(e=e.split("||")),t.val(e).trigger("change")})),t.hide()},mergeOptions:function(){var t=!1;e("#select2-drop .select2-result-with-children").each((function(){var i=e(this).children("ul"),a=e(this).children(".select2-result-label");if(t&&t.text()===a.text())return t.append(i.children()),void e(this).remove();t=a}))},getAjaxData:function(e,t){var i={term:e,page:t},n=this.get("field");return i=acf.applyFilters("select2_ajax_data",i,this.data,this.$el,n||!1,this),a.prototype.getAjaxData.apply(this,[i])}});new acf.Model({priority:5,wait:"prepare",actions:{duplicate:"onDuplicate"},initialize:function(){var e=acf.get("locale"),t=(acf.get("rtl"),acf.get("select2L10n")),a=i();return!!t&&0!==e.indexOf("en")&&void(4==a?this.addTranslations4():3==a&&this.addTranslations3())},addTranslations4:function(){var e=acf.get("select2L10n"),t=acf.get("locale");t=t.replace("_","-");var i={errorLoading:function(){return e.load_fail},inputTooLong:function(t){var i=t.input.length-t.maximum;return i>1?e.input_too_long_n.replace("%d",i):e.input_too_long_1},inputTooShort:function(t){var i=t.minimum-t.input.length;return i>1?e.input_too_short_n.replace("%d",i):e.input_too_short_1},loadingMore:function(){return e.load_more},maximumSelected:function(t){var i=t.maximum;return i>1?e.selection_too_long_n.replace("%d",i):e.selection_too_long_1},noResults:function(){return e.matches_0},searching:function(){return e.searching}};jQuery.fn.select2.amd.define("select2/i18n/"+t,[],(function(){return i}))},addTranslations3:function(){var t=acf.get("select2L10n"),i=acf.get("locale");i=i.replace("_","-");var a={formatMatches:function(e){return e>1?t.matches_n.replace("%d",e):t.matches_1},formatNoMatches:function(){return t.matches_0},formatAjaxError:function(){return t.load_fail},formatInputTooShort:function(e,i){var a=i-e.length;return a>1?t.input_too_short_n.replace("%d",a):t.input_too_short_1},formatInputTooLong:function(e,i){var a=e.length-i;return a>1?t.input_too_long_n.replace("%d",a):t.input_too_long_1},formatSelectionTooBig:function(e){return e>1?t.selection_too_long_n.replace("%d",e):t.selection_too_long_1},formatLoadMore:function(){return t.load_more},formatSearching:function(){return t.searching}};e.fn.select2.locales=e.fn.select2.locales||{},e.fn.select2.locales[i]=a,e.extend(e.fn.select2.defaults,a)},onDuplicate:function(e,t){t.find(".select2-container").remove()}})}(jQuery)},1087:()=>{var e;e=jQuery,acf.tinymce={defaults:function(){return"undefined"!=typeof tinyMCEPreInit&&{tinymce:tinyMCEPreInit.mceInit.acf_content,quicktags:tinyMCEPreInit.qtInit.acf_content}},initialize:function(e,t){(t=acf.parseArgs(t,{tinymce:!0,quicktags:!0,toolbar:"full",mode:"visual",field:!1})).tinymce&&this.initializeTinymce(e,t),t.quicktags&&this.initializeQuicktags(e,t)},initializeTinymce:function(t,i){var a=e("#"+t),n=this.defaults(),s=acf.get("toolbars"),o=i.field||!1;if(o.$el,"undefined"==typeof tinymce)return!1;if(!n)return!1;if(tinymce.get(t))return this.enable(t);var r=e.extend({},n.tinymce,i.tinymce);r.id=t,r.selector="#"+t;var c=i.toolbar;if(c&&s&&s[c])for(var l=1;l<=4;l++)r["toolbar"+l]=s[c][l]||"";if(r.setup=function(e){e.on("change",(function(t){e.save(),a.trigger("change")})),e.on("mouseup",(function(e){var t=new MouseEvent("mouseup");window.dispatchEvent(t)}))},r.wp_autoresize_on=!1,r.tadv_noautop||(r.wpautop=!0),r=acf.applyFilters("wysiwyg_tinymce_settings",r,t,o),tinyMCEPreInit.mceInit[t]=r,"visual"==i.mode){tinymce.init(r);var d=tinymce.get(t);if(!d)return!1;d.acf=i.field,acf.doAction("wysiwyg_tinymce_init",d,d.id,r,o)}},initializeQuicktags:function(t,i){var a=this.defaults();if("undefined"==typeof quicktags)return!1;if(!a)return!1;var n=e.extend({},a.quicktags,i.quicktags);n.id=t;var s=i.field||!1;s.$el,n=acf.applyFilters("wysiwyg_quicktags_settings",n,n.id,s),tinyMCEPreInit.qtInit[t]=n;var o=quicktags(n);if(!o)return!1;this.buildQuicktags(o),acf.doAction("wysiwyg_quicktags_init",o,o.id,n,s)},buildQuicktags:function(e){var t,i,a,n,s,o,r,c;for(o in e.canvas,t=e.name,i=e.settings,n="",a={},r="",c=e.id,i.buttons&&(r=","+i.buttons+","),edButtons)edButtons[o]&&(s=edButtons[o].id,r&&-1!==",strong,em,link,block,del,ins,img,ul,ol,li,code,more,close,".indexOf(","+s+",")&&-1===r.indexOf(","+s+",")||edButtons[o].instance&&edButtons[o].instance!==c||(a[s]=edButtons[o],edButtons[o].html&&(n+=edButtons[o].html(t+"_"))));r&&-1!==r.indexOf(",dfw,")&&(a.dfw=new QTags.DFWButton,n+=a.dfw.html(t+"_")),"rtl"===document.getElementsByTagName("html")[0].dir&&(a.textdirection=new QTags.TextDirectionButton,n+=a.textdirection.html(t+"_")),e.toolbar.innerHTML=n,e.theButtons=a,"undefined"!=typeof jQuery&&jQuery(document).triggerHandler("quicktags-init",[e])},disable:function(e){this.destroyTinymce(e)},remove:function(e){this.destroyTinymce(e)},destroy:function(e){this.destroyTinymce(e)},destroyTinymce:function(e){if("undefined"==typeof tinymce)return!1;var t=tinymce.get(e);return!!t&&(t.save(),t.destroy(),!0)},enable:function(e){this.enableTinymce(e)},enableTinymce:function(t){return"undefined"!=typeof switchEditors&&void 0!==tinyMCEPreInit.mceInit[t]&&(e("#"+t).show(),switchEditors.go(t,"tmce"),!0)}},new acf.Model({priority:5,actions:{prepare:"onPrepare",ready:"onReady"},onPrepare:function(){var t=e("#acf-hidden-wp-editor");t.exists()&&t.appendTo("body")},onReady:function(){acf.isset(window,"wp","oldEditor")&&(wp.editor.autop=wp.oldEditor.autop,wp.editor.removep=wp.oldEditor.removep),acf.isset(window,"tinymce","on")&&tinymce.on("AddEditor",(function(e){var t=e.editor;"acf"===t.id.substr(0,3)&&(t=tinymce.editors.content||t,tinymce.activeEditor=t,wpActiveEditor=t.id)}))}})},963:()=>{var e;e=jQuery,acf.unload=new acf.Model({wait:"load",active:!0,changed:!1,actions:{validation_failure:"startListening",validation_success:"stopListening"},events:{"change form .acf-field":"startListening","submit form":"stopListening"},enable:function(){this.active=!0},disable:function(){this.active=!1},reset:function(){this.stopListening()},startListening:function(){!this.changed&&this.active&&(this.changed=!0,e(window).on("beforeunload",this.onUnload))},stopListening:function(){this.changed=!1,e(window).off("beforeunload",this.onUnload)},onUnload:function(){return acf.__("The changes you made will be lost if you navigate away from this page")}})},2631:()=>{!function(e,t){var i=acf.Model.extend({id:"Validator",data:{errors:[],notice:null,status:""},events:{"changed:status":"onChangeStatus"},addErrors:function(e){e.map(this.addError,this)},addError:function(e){this.data.errors.push(e)},hasErrors:function(){return this.data.errors.length},clearErrors:function(){return this.data.errors=[]},getErrors:function(){return this.data.errors},getFieldErrors:function(){var e=[],t=[];return this.getErrors().map((function(i){if(i.input){var a=t.indexOf(i.input);a>-1?e[a]=i:(e.push(i),t.push(i.input))}})),e},getGlobalErrors:function(){return this.getErrors().filter((function(e){return!e.input}))},showErrors:function(t="before"){if(this.hasErrors()){var i=this.getFieldErrors(),a=this.getGlobalErrors(),n=0,s=!1;i.map((function(e){var i=this.$('[name="'+e.input+'"]').first();if(i.length||(i=this.$('[name^="'+e.input+'"]').first()),i.length){n++;var a=acf.getClosestField(i);o(a.$el),a.showError(e.message,t),s||(s=a.$el)}}),this);var r=acf.__("Validation failed");if(a.map((function(e){r+=". "+e.message})),1==n?r+=". "+acf.__("1 field requires attention"):n>1&&(r+=". "+acf.__("%d fields require attention").replace("%d",n)),this.has("notice"))this.get("notice").update({type:"error",text:r});else{var c=acf.newNotice({type:"error",text:r,target:this.$el});this.set("notice",c)}this.$el.parents(".acf-popup-box").length||(s||(s=this.get("notice").$el),setTimeout((function(){e("html, body").animate({scrollTop:s.offset().top-e(window).height()/2},500)}),10))}},onChangeStatus:function(e,t,i,a){this.$el.removeClass("is-"+a).addClass("is-"+i)},validate:function(t){if(t=acf.parseArgs(t,{event:!1,reset:!1,loading:function(){},complete:function(){},failure:function(){},success:function(e){e.submit()}}),"valid"==this.get("status"))return!0;if("validating"==this.get("status"))return!1;if(!this.$(".acf-field").length)return!0;if(t.event){var i=e.Event(null,t.event);t.success=function(){acf.enableSubmit(e(i.target)).trigger(i)}}acf.doAction("validation_begin",this.$el),acf.lockForm(this.$el),t.loading(this.$el,this),this.set("status","validating");var a=acf.serialize(this.$el);return a.action="acf/validate_save_post",e.ajax({url:acf.get("ajaxurl"),data:acf.prepareForAjax(a),type:"post",dataType:"json",context:this,success:function(e){if(acf.isAjaxSuccess(e)){var t=acf.applyFilters("validation_complete",e.data,this.$el,this);t.valid||this.addErrors(t.errors)}},complete:function(){acf.unlockForm(this.$el),this.hasErrors()?(this.set("status","invalid"),acf.doAction("validation_failure",this.$el,this),this.showErrors(),t.failure(this.$el,this)):(this.set("status","valid"),this.has("notice")&&this.get("notice").update({type:"success",text:acf.__("Validation successful"),timeout:1e3}),acf.doAction("validation_success",this.$el,this),acf.doAction("submit",this.$el),t.success(this.$el,this),acf.lockForm(this.$el),t.reset&&this.reset()),t.complete(this.$el,this),this.clearErrors()}}),!1},setup:function(e){this.$el=e},reset:function(){this.set("errors",[]),this.set("notice",null),this.set("status",""),acf.unlockForm(this.$el)}}),a=function(e){var t=e.data("acf");return t||(t=new i(e)),t};acf.getBlockFormValidator=function(e){return a(e)},acf.validateForm=function(e){return a(e.form).validate(e)},acf.enableSubmit=function(e){return e.removeClass("disabled").removeAttr("disabled")},acf.disableSubmit=function(e){return e.addClass("disabled").attr("disabled",!0)},acf.showSpinner=function(e){return e.addClass("is-active"),e.css("display","inline-block"),e},acf.hideSpinner=function(e){return e.removeClass("is-active"),e.css("display","none"),e},acf.lockForm=function(e){var t=n(e),i=t.find('.button, [type="submit"]').not(".acf-nav, .acf-repeater-add-row"),a=t.find(".spinner, .acf-spinner");return acf.hideSpinner(a),acf.disableSubmit(i),acf.showSpinner(a.last()),e},acf.unlockForm=function(e){var t=n(e),i=t.find('.button, [type="submit"]').not(".acf-nav, .acf-repeater-add-row"),a=t.find(".spinner, .acf-spinner");return acf.enableSubmit(i),acf.hideSpinner(a),e};var n=function(t){var i;return(i=t.find("#submitdiv")).length||(i=t.find("#submitpost")).length||(i=t.find("p.submit").last()).length||(i=t.find(".acf-form-submit")).length||(i=e("#acf-create-options-page-form .acf-actions")).length||(i=e(".acf-headerbar-actions")).length?i:t},s=acf.debounce((function(e){e.submit()})),o=function(e){var t=e.parents(".acf-postbox");if(t.length){var i=acf.getPostbox(t);i&&i.isHiddenByScreenOptions()&&(i.$el.removeClass("hide-if-js"),i.$el.css("display",""))}};acf.validation=new acf.Model({id:"validation",active:!0,wait:"prepare",actions:{ready:"addInputEvents",append:"addInputEvents"},events:{'click input[type="submit"]':"onClickSubmit",'click button[type="submit"]':"onClickSubmit","click #save-post":"onClickSave","submit form#post":"onSubmitPost","submit form":"onSubmit"},initialize:function(){acf.get("validation")||(this.active=!1,this.actions={},this.events={})},enable:function(){this.active=!0},disable:function(){this.active=!1},reset:function(e){a(e).reset()},addInputEvents:function(t){if("safari"!==acf.get("browser")){var i=e(".acf-field [name]",t);i.length&&this.on(i,"invalid","onInvalid")}},onInvalid:function(e,t){e.preventDefault();var i=t.closest("form");i.length&&(a(i).addError({input:t.attr("name"),message:acf.strEscape(e.target.validationMessage)}),s(i))},onClickSubmit:function(t,i){e(".acf-field input").each((function(){this.checkValidity()||o(e(this))})),this.set("originalEvent",t)},onClickSave:function(e,t){this.set("ignore",!0)},onSubmitPost:function(t,i){"dopreview"===e("input#wp-preview").val()&&(this.set("ignore",!0),acf.unlockForm(i))},onSubmit:function(e,t){if(!this.active||this.get("ignore")||e.isDefaultPrevented())return this.allowSubmit();acf.validateForm({form:t,event:this.get("originalEvent")})||e.preventDefault()},allowSubmit:function(){return this.set("ignore",!1),this.set("originalEvent",!1),!0}}),new acf.Model({wait:"prepare",initialize:function(){acf.isGutenberg()&&this.customizeEditor()},customizeEditor:function(){var t=wp.data.dispatch("core/editor"),i=wp.data.select("core/editor"),a=wp.data.dispatch("core/notices"),n=t.savePost,s=!1,o="";wp.data.subscribe((function(){var e=i.getEditedPostAttribute("status");s="publish"===e||"future"===e,o="publish"!==e?e:o})),t.savePost=function(i){i=i||{};var r=this,c=arguments;return new Promise((function(n,r){if(i.isAutosave||i.isPreview)return n("Validation ignored (autosave).");if(!s)return n("Validation ignored (draft).");if(void 0!==acf.blockInstances){const e=wp.data.select("core/block-editor").getSelectedBlockClientId();if(e&&e in acf.blockInstances&&acf.blockInstances[e].validation_errors)return console.log("Rejecting save because the block editor has a invalid ACF block selected."),a.createErrorNotice(acf.__("An ACF Block on this page requires attention before you can save."),{id:"acf-validation",isDismissible:!0}),wp.data.dispatch("core/editor").lockPostSaving("acf/block/"+e),wp.data.dispatch("core/block-editor").selectBlock(!1),r("ACF Validation failed for selected block.")}acf.validateForm({form:e("#editor"),reset:!0,complete:function(e,i){t.unlockPostSaving("acf")},failure:function(e,i){var n=i.get("notice");a.createErrorNotice(n.get("text"),{id:"acf-validation",isDismissible:!0}),n.remove(),o&&t.editPost({status:o}),r("Validation failed.")},success:function(){a.removeNotice("acf-validation"),n("Validation success.")}})?n("Validation bypassed."):t.lockPostSaving("acf")})).then((function(){return n.apply(r,c)}),(e=>{}))}}})}(jQuery)}},t={};function i(a){var n=t[a];if(void 0!==n)return n.exports;var s=t[a]={exports:{}};return e[a](s,s.exports,i),s.exports}i.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return i.d(t,{a:t}),t},i.d=(e,t)=>{for(var a in t)i.o(t,a)&&!i.o(e,a)&&Object.defineProperty(e,a,{enumerable:!0,get:t[a]})},i.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{"use strict";i(5338),i(2457),i(5593),i(6289),i(774),i(3623),i(9982),i(960),i(1163),i(3045),i(2410),i(2093),i(5915),i(2237),i(9252),i(6290),i(7509),i(6403),i(5848),i(2553),i(7513),i(9732),i(3284),i(9213),i(1525),i(5942),i(9938),i(8903),i(3858),i(2747),i(963),i(993),i(1218),i(9400),i(2900),i(1087),i(2631),i(8223),i(4750)})()})(); \ No newline at end of file +(()=>{var e={4750:()=>{!function(e){acf.newCompatibility=function(e,t){return(t=t||{}).__proto__=e.__proto__,e.__proto__=t,e.compatibility=t,t},acf.getCompatibility=function(e){return e.compatibility||null};var t=acf.newCompatibility(acf,{l10n:{},o:{},fields:{},update:acf.set,add_action:acf.addAction,remove_action:acf.removeAction,do_action:acf.doAction,add_filter:acf.addFilter,remove_filter:acf.removeFilter,apply_filters:acf.applyFilters,parse_args:acf.parseArgs,disable_el:acf.disable,disable_form:acf.disable,enable_el:acf.enable,enable_form:acf.enable,update_user_setting:acf.updateUserSetting,prepare_for_ajax:acf.prepareForAjax,is_ajax_success:acf.isAjaxSuccess,remove_el:acf.remove,remove_tr:acf.remove,str_replace:acf.strReplace,render_select:acf.renderSelect,get_uniqid:acf.uniqid,serialize_form:acf.serialize,esc_html:acf.strEscape,str_sanitize:acf.strSanitize});t._e=function(e,t){e=e||"";var i=(t=t||"")?e+"."+t:e,a={"image.select":"Select Image","image.edit":"Edit Image","image.update":"Update Image"};if(a[i])return acf.__(a[i]);var n=this.l10n[e]||"";return t&&(n=n[t]||""),n},t.get_selector=function(t){var i=".acf-field";if(!t)return i;if(e.isPlainObject(t)){if(e.isEmptyObject(t))return i;for(var a in t){t=t[a];break}}return i+="-"+t,i=acf.strReplace("_","-",i),acf.strReplace("field-field-","field-",i)},t.get_fields=function(e,t,i){var a={is:e||"",parent:t||!1,suppressFilters:i||!1};return a.is&&(a.is=this.get_selector(a.is)),acf.findFields(a)},t.get_field=function(e,t){var i=this.get_fields.apply(this,arguments);return!!i.length&&i.first()},t.get_closest_field=function(e,t){return e.closest(this.get_selector(t))},t.get_field_wrap=function(e){return e.closest(this.get_selector())},t.get_field_key=function(e){return e.data("key")},t.get_field_type=function(e){return e.data("type")},t.get_data=function(e,t){return acf.parseArgs(e.data(),t)},t.maybe_get=function(e,t,i){void 0===i&&(i=null),keys=String(t).split(".");for(var a=0;a1){for(var c=0;c0?t.substr(0,n):t,o=n>0?t.substr(n+1):"",r=function(t){t.$el=e(this),acf.field_group&&(t.$field=t.$el.closest(".acf-field-object")),"function"==typeof a.event&&(t=a.event(t)),a[i].apply(a,arguments)};o?e(document).on(s,o,r):e(document).on(s,r)},get:function(e,t){return t=t||null,void 0!==this[e]&&(t=this[e]),t},set:function(e,t){return this[e]=t,"function"==typeof this["_set_"+e]&&this["_set_"+e].apply(this),this}},t.field=acf.model.extend({type:"",o:{},$field:null,_add_action:function(e,t){var i=this;e=e+"_field/type="+i.type,acf.add_action(e,(function(e){i.set("$field",e),i[t].apply(i,arguments)}))},_add_filter:function(e,t){var i=this;e=e+"_field/type="+i.type,acf.add_filter(e,(function(e){i.set("$field",e),i[t].apply(i,arguments)}))},_add_event:function(t,i){var a=this,n=t.substr(0,t.indexOf(" ")),s=t.substr(t.indexOf(" ")+1),o=acf.get_selector(a.type);e(document).on(n,o+" "+s,(function(t){var n=e(this),s=acf.get_closest_field(n,a.type);s.length&&(s.is(a.$field)||a.set("$field",s),t.$el=n,t.$field=s,a[i].apply(a,[t]))}))},_set_$field:function(){"function"==typeof this.focus&&this.focus()},doFocus:function(e){return this.set("$field",e)}}),acf.newCompatibility(acf.validation,{remove_error:function(e){acf.getField(e).removeError()},add_warning:function(e,t){acf.getField(e).showNotice({text:t,type:"warning",timeout:1e3})},fetch:acf.validateForm,enableSubmit:acf.enableSubmit,disableSubmit:acf.disableSubmit,showSpinner:acf.showSpinner,hideSpinner:acf.hideSpinner,unlockForm:acf.unlockForm,lockForm:acf.lockForm}),t.tooltip={tooltip:function(e,t){return acf.newTooltip({text:e,target:t}).$el},temp:function(e,t){acf.newTooltip({text:e,target:t,timeout:250})},confirm:function(e,t,i,a,n){acf.newTooltip({confirm:!0,text:i,target:e,confirm:function(){t(!0)},cancel:function(){t(!1)}})},confirm_remove:function(e,t){acf.newTooltip({confirmRemove:!0,target:e,confirm:function(){t(!0)},cancel:function(){t(!1)}})}},t.media=new acf.Model({activeFrame:!1,actions:{new_media_popup:"onNewMediaPopup"},frame:function(){return this.activeFrame},onNewMediaPopup:function(e){this.activeFrame=e.frame},popup:function(e){return e.mime_types&&(e.allowedTypes=e.mime_types),e.id&&(e.attachment=e.id),acf.newMediaPopup(e).frame}}),t.select2={init:function(e,t,i){return t.allow_null&&(t.allowNull=t.allow_null),t.ajax_action&&(t.ajaxAction=t.ajax_action),i&&(t.field=acf.getField(i)),acf.newSelect2(e,t)},destroy:function(e){return acf.getInstance(e).destroy()}},t.postbox={render:function(e){return e.edit_url&&(e.editLink=e.edit_url),e.edit_title&&(e.editTitle=e.edit_title),acf.newPostbox(e)}},acf.newCompatibility(acf.screen,{update:function(){return this.set.apply(this,arguments)},fetch:acf.screen.check}),t.ajax=acf.screen}(jQuery)},2747:()=>{!function(e){var __=acf.__,t=function(e){return e?""+e:""},i=function(e,i){return t(e).toLowerCase()===t(i).toLowerCase()},a=function(e,t){return t instanceof Array?1===t.length&&a(e,t[0]):parseFloat(e)===parseFloat(t)};const n=function(t,i){const a=e("");let n=`acf/fields/${i}/query`;"user"===i&&(n="acf/ajax/query_users");const s={action:n,field_key:t.data.key,s:"",type:t.data.key},o=acf.escAttr(i),r={field:!1,ajax:!0,ajaxAction:n,ajaxData:function(t){return s.paged=t.paged,s.s=t.s,s.conditional_logic=!0,s.include=e.isNumeric(t.s)?Number(t.s):"",acf.prepareForAjax(s)},escapeMarkup:function(e){return acf.escHtml(e)},templateSelection:function(e){return``+acf.escHtml(e.text)+""},templateResult:function(e){return''+acf.escHtml(e.text)+""+``+(e.id?e.id:"")+""}};return a.data("acfSelect2Props",r),a};var s=acf.Condition.extend({type:"hasPageLink",operator:"==",label:__("Page is equal to"),fieldTypes:["page_link"],match:function(e,t){return i(e.value,t.val())},choices:function(e){return n(e,"page_link")}});acf.registerConditionType(s);var o=acf.Condition.extend({type:"hasPageLinkNotEqual",operator:"!==",label:__("Page is not equal to"),fieldTypes:["page_link"],match:function(e,t){return!i(e.value,t.val())},choices:function(e){return n(e,"page_link")}});acf.registerConditionType(o);var r=acf.Condition.extend({type:"containsPageLink",operator:"==contains",label:__("Pages contain"),fieldTypes:["page_link"],match:function(e,t){const i=t.val(),a=e.value;let n=!1;return n=i instanceof Array?i.includes(a):i===a,n},choices:function(e){return n(e,"page_link")}});acf.registerConditionType(r);var c=acf.Condition.extend({type:"containsNotPageLink",operator:"!=contains",label:__("Pages do not contain"),fieldTypes:["page_link"],match:function(e,t){const i=t.val(),a=e.value;let n=!0;return n=i instanceof Array?!i.includes(a):i!==a,n},choices:function(e){return n(e,"page_link")}});acf.registerConditionType(c);var l=acf.Condition.extend({type:"hasAnyPageLink",operator:"!=empty",label:__("Has any page selected"),fieldTypes:["page_link"],match:function(e,t){let i=t.val();return i instanceof Array&&(i=i.length),!!i},choices:function(){return''}});acf.registerConditionType(l);var d=acf.Condition.extend({type:"hasNoPageLink",operator:"==empty",label:__("Has no page selected"),fieldTypes:["page_link"],match:function(e,t){let i=t.val();return i instanceof Array&&(i=i.length),!i},choices:function(){return''}});acf.registerConditionType(d);var u=acf.Condition.extend({type:"hasUser",operator:"==",label:__("User is equal to"),fieldTypes:["user"],match:function(e,t){return a(e.value,t.val())},choices:function(e){return n(e,"user")}});acf.registerConditionType(u);var f=acf.Condition.extend({type:"hasUserNotEqual",operator:"!==",label:__("User is not equal to"),fieldTypes:["user"],match:function(e,t){return!a(e.value,t.val())},choices:function(e){return n(e,"user")}});acf.registerConditionType(f);var p=acf.Condition.extend({type:"containsUser",operator:"==contains",label:__("Users contain"),fieldTypes:["user"],match:function(e,t){const i=t.val(),a=e.value;let n=!1;return n=i instanceof Array?i.includes(a):i===a,n},choices:function(e){return n(e,"user")}});acf.registerConditionType(p);var h=acf.Condition.extend({type:"containsNotUser",operator:"!=contains",label:__("Users do not contain"),fieldTypes:["user"],match:function(e,t){const i=t.val(),a=e.value;let n=!0;n=i instanceof Array?!i.includes(a):!i===a},choices:function(e){return n(e,"user")}});acf.registerConditionType(h);var g=acf.Condition.extend({type:"hasAnyUser",operator:"!=empty",label:__("Has any user selected"),fieldTypes:["user"],match:function(e,t){let i=t.val();return i instanceof Array&&(i=i.length),!!i},choices:function(){return''}});acf.registerConditionType(g);var m=acf.Condition.extend({type:"hasNoUser",operator:"==empty",label:__("Has no user selected"),fieldTypes:["user"],match:function(e,t){let i=t.val();return i instanceof Array&&(i=i.length),!i},choices:function(){return''}});acf.registerConditionType(m);var v=acf.Condition.extend({type:"hasRelationship",operator:"==",label:__("Relationship is equal to"),fieldTypes:["relationship"],match:function(e,t){return a(e.value,t.val())},choices:function(e){return n(e,"relationship")}});acf.registerConditionType(v);var y=acf.Condition.extend({type:"hasRelationshipNotEqual",operator:"!==",label:__("Relationship is not equal to"),fieldTypes:["relationship"],match:function(e,t){return!a(e.value,t.val())},choices:function(e){return n(e,"relationship")}});acf.registerConditionType(y);var b=acf.Condition.extend({type:"containsRelationship",operator:"==contains",label:__("Relationships contain"),fieldTypes:["relationship"],match:function(e,t){const i=t.val(),a=parseInt(e.value);let n=!1;return i instanceof Array&&(n=i.includes(a)),n},choices:function(e){return n(e,"relationship")}});acf.registerConditionType(b);var _=acf.Condition.extend({type:"containsNotRelationship",operator:"!=contains",label:__("Relationships do not contain"),fieldTypes:["relationship"],match:function(e,t){const i=t.val(),a=parseInt(e.value);let n=!0;return i instanceof Array&&(n=!i.includes(a)),n},choices:function(e){return n(e,"relationship")}});acf.registerConditionType(_);var w=acf.Condition.extend({type:"hasAnyRelation",operator:"!=empty",label:__("Has any relationship selected"),fieldTypes:["relationship"],match:function(e,t){let i=t.val();return i instanceof Array&&(i=i.length),!!i},choices:function(){return''}});acf.registerConditionType(w);var x=acf.Condition.extend({type:"hasNoRelation",operator:"==empty",label:__("Has no relationship selected"),fieldTypes:["relationship"],match:function(e,t){let i=t.val();return i instanceof Array&&(i=i.length),!i},choices:function(){return''}});acf.registerConditionType(x);var k=acf.Condition.extend({type:"hasPostObject",operator:"==",label:__("Post is equal to"),fieldTypes:["post_object"],match:function(e,t){return a(e.value,t.val())},choices:function(e){return n(e,"post_object")}});acf.registerConditionType(k);var $=acf.Condition.extend({type:"hasPostObjectNotEqual",operator:"!==",label:__("Post is not equal to"),fieldTypes:["post_object"],match:function(e,t){return!a(e.value,t.val())},choices:function(e){return n(e,"post_object")}});acf.registerConditionType($);var T=acf.Condition.extend({type:"containsPostObject",operator:"==contains",label:__("Posts contain"),fieldTypes:["post_object"],match:function(e,t){const i=t.val(),a=e.value;let n=!1;return n=i instanceof Array?i.includes(a):i===a,n},choices:function(e){return n(e,"post_object")}});acf.registerConditionType(T);var C=acf.Condition.extend({type:"containsNotPostObject",operator:"!=contains",label:__("Posts do not contain"),fieldTypes:["post_object"],match:function(e,t){const i=t.val(),a=e.value;let n=!0;return n=i instanceof Array?!i.includes(a):i!==a,n},choices:function(e){return n(e,"post_object")}});acf.registerConditionType(C);var F=acf.Condition.extend({type:"hasAnyPostObject",operator:"!=empty",label:__("Has any post selected"),fieldTypes:["post_object"],match:function(e,t){let i=t.val();return i instanceof Array&&(i=i.length),!!i},choices:function(){return''}});acf.registerConditionType(F);var A=acf.Condition.extend({type:"hasNoPostObject",operator:"==empty",label:__("Has no post selected"),fieldTypes:["post_object"],match:function(e,t){let i=t.val();return i instanceof Array&&(i=i.length),!i},choices:function(){return''}});acf.registerConditionType(A);var P=acf.Condition.extend({type:"hasTerm",operator:"==",label:__("Term is equal to"),fieldTypes:["taxonomy"],match:function(e,t){return a(e.value,t.val())},choices:function(e){return n(e,"taxonomy")}});acf.registerConditionType(P);var j=acf.Condition.extend({type:"hasTermNotEqual",operator:"!==",label:__("Term is not equal to"),fieldTypes:["taxonomy"],match:function(e,t){return!a(e.value,t.val())},choices:function(e){return n(e,"taxonomy")}});acf.registerConditionType(j);var S=acf.Condition.extend({type:"containsTerm",operator:"==contains",label:__("Terms contain"),fieldTypes:["taxonomy"],match:function(e,t){const i=t.val(),a=e.value;let n=!1;return i instanceof Array&&(n=i.includes(a)),n},choices:function(e){return n(e,"taxonomy")}});acf.registerConditionType(S);var E=acf.Condition.extend({type:"containsNotTerm",operator:"!=contains",label:__("Terms do not contain"),fieldTypes:["taxonomy"],match:function(e,t){const i=t.val(),a=e.value;let n=!0;return i instanceof Array&&(n=!i.includes(a)),n},choices:function(e){return n(e,"taxonomy")}});acf.registerConditionType(E);var M=acf.Condition.extend({type:"hasAnyTerm",operator:"!=empty",label:__("Has any term selected"),fieldTypes:["taxonomy"],match:function(e,t){let i=t.val();return i instanceof Array&&(i=i.length),!!i},choices:function(){return''}});acf.registerConditionType(M);var D=acf.Condition.extend({type:"hasNoTerm",operator:"==empty",label:__("Has no term selected"),fieldTypes:["taxonomy"],match:function(e,t){let i=t.val();return i instanceof Array&&(i=i.length),!i},choices:function(){return''}});acf.registerConditionType(D);var L=acf.Condition.extend({type:"hasValue",operator:"!=empty",label:__("Has any value"),fieldTypes:["text","textarea","number","range","email","url","password","image","file","wysiwyg","oembed","select","checkbox","radio","button_group","link","google_map","date_picker","date_time_picker","time_picker","color_picker","icon_picker"],match:function(e,t){let i=t.val();return i instanceof Array&&(i=i.length),!!i},choices:function(e){return''}});acf.registerConditionType(L);var V=L.extend({type:"hasNoValue",operator:"==empty",label:__("Has no value"),match:function(e,t){return!L.prototype.match.apply(this,arguments)}});acf.registerConditionType(V);var R=acf.Condition.extend({type:"equalTo",operator:"==",label:__("Value is equal to"),fieldTypes:["text","textarea","number","range","email","url","password"],match:function(e,t){return acf.isNumeric(e.value)?a(e.value,t.val()):i(e.value,t.val())},choices:function(e){return''}});acf.registerConditionType(R);var z=R.extend({type:"notEqualTo",operator:"!=",label:__("Value is not equal to"),match:function(e,t){return!R.prototype.match.apply(this,arguments)}});acf.registerConditionType(z);var O=acf.Condition.extend({type:"patternMatch",operator:"==pattern",label:__("Value matches pattern"),fieldTypes:["text","textarea","email","url","password","wysiwyg"],match:function(e,i){return a=i.val(),n=e.value,s=new RegExp(t(n),"gi"),t(a).match(s);var a,n,s},choices:function(e){return''}});acf.registerConditionType(O);var I=acf.Condition.extend({type:"contains",operator:"==contains",label:__("Value contains"),fieldTypes:["text","textarea","number","email","url","password","wysiwyg","oembed","select"],match:function(e,i){return a=i.val(),n=e.value,t(a).indexOf(t(n))>-1;var a,n},choices:function(e){return''}});acf.registerConditionType(I);var N=R.extend({type:"trueFalseEqualTo",choiceType:"select",fieldTypes:["true_false"],choices:function(e){return[{id:1,text:__("Checked")}]}});acf.registerConditionType(N);var B=z.extend({type:"trueFalseNotEqualTo",choiceType:"select",fieldTypes:["true_false"],choices:function(e){return[{id:1,text:__("Checked")}]}});acf.registerConditionType(B);var Q=acf.Condition.extend({type:"selectEqualTo",operator:"==",label:__("Value is equal to"),fieldTypes:["select","checkbox","radio","button_group"],match:function(e,a){var n,s=a.val();return s instanceof Array?(n=e.value,s.map((function(e){return t(e)})).indexOf(n)>-1):i(e.value,s)},choices:function(e){var t=[],i=e.$setting("choices textarea").val().split("\n");return e.$input("allow_null").prop("checked")&&t.push({id:"",text:__("Null")}),i.map((function(e){(e=e.split(":"))[1]=e[1]||e[0],t.push({id:e[0].trim(),text:e[1].trim()})})),t}});acf.registerConditionType(Q);var q=Q.extend({type:"selectNotEqualTo",operator:"!=",label:__("Value is not equal to"),match:function(e,t){return!Q.prototype.match.apply(this,arguments)}});acf.registerConditionType(q);var H=acf.Condition.extend({type:"greaterThan",operator:">",label:__("Value is greater than"),fieldTypes:["number","range"],match:function(e,t){var i,a,n=t.val();return n instanceof Array&&(n=n.length),i=n,a=e.value,parseFloat(i)>parseFloat(a)},choices:function(e){return''}});acf.registerConditionType(H);var U=H.extend({type:"lessThan",operator:"<",label:__("Value is less than"),match:function(e,t){var i,a,n=t.val();return n instanceof Array&&(n=n.length),null==n||!1===n||(i=n,a=e.value,parseFloat(i)'}});acf.registerConditionType(U);var G=H.extend({type:"selectionGreaterThan",label:__("Selection is greater than"),fieldTypes:["checkbox","select","post_object","page_link","relationship","taxonomy","user"]});acf.registerConditionType(G);var K=U.extend({type:"selectionLessThan",label:__("Selection is less than"),fieldTypes:["checkbox","select","post_object","page_link","relationship","taxonomy","user"]});acf.registerConditionType(K)}(jQuery)},8903:()=>{!function(e){var t=[];acf.Condition=acf.Model.extend({type:"",operator:"==",label:"",choiceType:"input",fieldTypes:[],data:{conditions:!1,field:!1,rule:{}},events:{change:"change",keyup:"change",enableField:"change",disableField:"change"},setup:function(t){e.extend(this.data,t)},getEventTarget:function(e,t){return e||this.get("field").$el},change:function(e,t){this.get("conditions").change(e)},match:function(e,t){return!1},calculate:function(){return this.match(this.get("rule"),this.get("field"))},choices:function(e){return''}}),acf.newCondition=function(e,t){var i=t.get("field"),a=i.getField(e.field);if(!i||!a)return!1;var n={rule:e,target:i,conditions:t,field:a},s=a.get("type"),o=e.operator;return new(acf.getConditionTypes({fieldType:s,operator:o})[0]||acf.Condition)(n)};var i=function(e){return acf.strPascalCase(e||"")+"Condition"};acf.registerConditionType=function(e){var a=e.prototype.type,n=i(a);acf.models[n]=e,t.push(a)},acf.getConditionType=function(e){var t=i(e);return acf.models[t]||!1},acf.registerConditionForFieldType=function(e,t){var i=acf.getConditionType(e);i&&i.prototype.fieldTypes.push(t)},acf.getConditionTypes=function(e){e=acf.parseArgs(e,{fieldType:"",operator:""});var i=[];return t.map((function(t){var a=acf.getConditionType(t),n=a.prototype.fieldTypes,s=a.prototype.operator;e.fieldType&&-1===n.indexOf(e.fieldType)||e.operator&&s!==e.operator||i.push(a)})),i}}(jQuery)},3858:()=>{!function(e){var t="conditional_logic",i=(new acf.Model({id:"conditionsManager",priority:20,actions:{new_field:"onNewField"},onNewField:function(e){e.has("conditions")&&e.getConditions().render()}}),function(t,i){var a=acf.getFields({key:i,sibling:t.$el,suppressFilters:!0});return a.length||(a=acf.getFields({key:i,parent:t.$el.parent(),suppressFilters:!0})),!a.length&&e(".acf-field-settings").length&&(a=acf.getFields({key:i,parent:t.$el.parents(".acf-field-settings:first"),suppressFilters:!0})),!a.length&&e("#acf-basic-settings").length&&(a=acf.getFields({key:i,parent:e("#acf-basic-settings"),suppressFilters:!0})),!!a.length&&a[0]});acf.Field.prototype.getField=function(e){var t=i(this,e);if(t)return t;for(var a=this.parents(),n=0;n{!function(e){var t=0,i=acf.Field.extend({type:"accordion",wait:"",$control:function(){return this.$(".acf-fields:first")},initialize:function(){if(!this.$el.hasClass("acf-accordion")&&!this.$el.is("td")){if(this.get("endpoint"))return this.remove();var i=this.$el,n=this.$labelWrap(),s=this.$inputWrap(),o=this.$control(),r=s.children(".description");if(r.length&&n.append(r),this.$el.is("tr")){var c=this.$el.closest("table"),l=e('
                    '),d=e('
                    '),u=e('
                      '),f=e("");l.append(n.html()),u.append(f),d.append(u),s.append(l),s.append(d),n.remove(),o.remove(),s.attr("colspan",2),n=l,s=d,o=f}i.addClass("acf-accordion"),n.addClass("acf-accordion-title"),s.addClass("acf-accordion-content"),t++,this.get("multi_expand")&&i.attr("multi-expand",1);var p=acf.getPreference("this.accordions")||[];void 0!==p[t-1]&&this.set("open",p[t-1]),this.get("open")&&(i.addClass("-open"),s.css("display","block")),n.prepend(a.iconHtml({open:this.get("open")}));var h=i.parent();o.addClass(h.hasClass("-left")?"-left":""),o.addClass(h.hasClass("-clear")?"-clear":""),o.append(i.nextUntil(".acf-field-accordion",".acf-field")),o.removeAttr("data-open data-multi_expand data-endpoint")}}});acf.registerFieldType(i);var a=new acf.Model({actions:{unload:"onUnload"},events:{"click .acf-accordion-title":"onClick","invalidField .acf-accordion":"onInvalidField"},isOpen:function(e){return e.hasClass("-open")},toggle:function(e){this.isOpen(e)?this.close(e):this.open(e)},iconHtml:function(e){return acf.isGutenberg()?e.open?'':'':e.open?'':''},open:function(t){var i=acf.isGutenberg()?0:300;t.find(".acf-accordion-content:first").slideDown(i).css("display","block"),t.find(".acf-accordion-icon:first").replaceWith(this.iconHtml({open:!0})),t.addClass("-open"),acf.doAction("show",t),t.attr("multi-expand")||t.siblings(".acf-accordion.-open").each((function(){a.close(e(this))}))},close:function(e){var t=acf.isGutenberg()?0:300;e.find(".acf-accordion-content:first").slideUp(t),e.find(".acf-accordion-icon:first").replaceWith(this.iconHtml({open:!1})),e.removeClass("-open"),acf.doAction("hide",e)},onClick:function(e,t){e.preventDefault(),this.toggle(t.parent())},onInvalidField:function(e,t){this.busy||(this.busy=!0,this.setTimeout((function(){this.busy=!1}),1e3),this.open(t))},onUnload:function(t){var i=[];e(".acf-accordion").each((function(){var t=e(this).hasClass("-open")?1:0;i.push(t)})),i.length&&acf.setPreference("this.accordions",i)}})}(jQuery)},6289:()=>{var e;jQuery,e=acf.Field.extend({type:"button_group",events:{'click input[type="radio"]':"onClick"},$control:function(){return this.$(".acf-button-group")},$input:function(){return this.$("input:checked")},setValue:function(e){this.$('input[value="'+e+'"]').prop("checked",!0).trigger("change")},onClick:function(e,t){var i=t.parent("label"),a=i.hasClass("selected");this.$(".selected").removeClass("selected"),i.addClass("selected"),this.get("allow_null")&&a&&(i.removeClass("selected"),t.prop("checked",!1).trigger("change"))}}),acf.registerFieldType(e)},774:()=>{var e,t;e=jQuery,t=acf.Field.extend({type:"checkbox",events:{"change input":"onChange","click .acf-add-checkbox":"onClickAdd","click .acf-checkbox-toggle":"onClickToggle","click .acf-checkbox-custom":"onClickCustom"},$control:function(){return this.$(".acf-checkbox-list")},$toggle:function(){return this.$(".acf-checkbox-toggle")},$input:function(){return this.$('input[type="hidden"]')},$inputs:function(){return this.$('input[type="checkbox"]').not(".acf-checkbox-toggle")},getValue:function(){var t=[];return this.$(":checked").each((function(){t.push(e(this).val())})),!!t.length&&t},onChange:function(e,t){var i=t.prop("checked"),a=t.parent("label"),n=this.$toggle();i?a.addClass("selected"):a.removeClass("selected"),n.length&&(0==this.$inputs().not(":checked").length?n.prop("checked",!0):n.prop("checked",!1))},onClickAdd:function(e,t){var i='
                    • ';t.parent("li").before(i),t.parent("li").parent().find('input[type="text"]').last().focus()},onClickToggle:function(e,t){var i=t.prop("checked"),a=this.$('input[type="checkbox"]'),n=this.$("label");a.prop("checked",i),i?n.addClass("selected"):n.removeClass("selected")},onClickCustom:function(e,t){var i=t.prop("checked"),a=t.next('input[type="text"]');i?a.prop("disabled",!1):(a.prop("disabled",!0),""==a.val()&&t.parent("li").remove())}}),acf.registerFieldType(t)},3623:()=>{var e;jQuery,e=acf.Field.extend({type:"color_picker",wait:"load",events:{duplicateField:"onDuplicate"},$control:function(){return this.$(".acf-color-picker")},$input:function(){return this.$('input[type="hidden"]')},$inputText:function(){return this.$('input[type="text"]')},setValue:function(e){acf.val(this.$input(),e),this.$inputText().iris("color",e)},initialize:function(){var e=this.$input(),t=this.$inputText(),i=function(i){setTimeout((function(){acf.val(e,t.val())}),1)},a={defaultColor:!1,palettes:!0,hide:!0,change:i,clear:i};a=acf.applyFilters("color_picker_args",a,this),t.wpColorPicker(a)},onDuplicate:function(e,t,i){$colorPicker=i.find(".wp-picker-container"),$inputText=i.find('input[type="text"]'),$colorPicker.replaceWith($inputText)}}),acf.registerFieldType(e)},9982:()=>{var e,t;e=jQuery,t=acf.Field.extend({type:"date_picker",events:{'blur input[type="text"]':"onBlur",duplicateField:"onDuplicate"},$control:function(){return this.$(".acf-date-picker")},$input:function(){return this.$('input[type="hidden"]')},$inputText:function(){return this.$('input[type="text"]')},initialize:function(){if(this.has("save_format"))return this.initializeCompatibility();var e=this.$input(),t=this.$inputText(),i={dateFormat:this.get("date_format"),altField:e,altFormat:"yymmdd",changeYear:!0,yearRange:"-100:+100",changeMonth:!0,showButtonPanel:!0,firstDay:this.get("first_day")};i=acf.applyFilters("date_picker_args",i,this),acf.newDatePicker(t,i),acf.doAction("date_picker_init",t,i,this)},initializeCompatibility:function(){var e=this.$input(),t=this.$inputText();t.val(e.val());var i={dateFormat:this.get("date_format"),altField:e,altFormat:this.get("save_format"),changeYear:!0,yearRange:"-100:+100",changeMonth:!0,showButtonPanel:!0,firstDay:this.get("first_day")},a=(i=acf.applyFilters("date_picker_args",i,this)).dateFormat;i.dateFormat=this.get("save_format"),acf.newDatePicker(t,i),t.datepicker("option","dateFormat",a),acf.doAction("date_picker_init",t,i,this)},onBlur:function(){this.$inputText().val()||acf.val(this.$input(),"")},onDuplicate:function(e,t,i){i.find('input[type="text"]').removeClass("hasDatepicker").removeAttr("id")}}),acf.registerFieldType(t),new acf.Model({priority:5,wait:"ready",initialize:function(){var t=acf.get("locale"),i=acf.get("rtl"),a=acf.get("datePickerL10n");return!!a&&void 0!==e.datepicker&&(a.isRTL=i,e.datepicker.regional[t]=a,void e.datepicker.setDefaults(a))}}),acf.newDatePicker=function(t,i){if(void 0===e.datepicker)return!1;i=i||{},t.datepicker(i),e("body > #ui-datepicker-div").exists()&&e("body > #ui-datepicker-div").wrap('
                      ')}},960:()=>{var e,t;e=jQuery,t=acf.models.DatePickerField.extend({type:"date_time_picker",$control:function(){return this.$(".acf-date-time-picker")},initialize:function(){var e=this.$input(),t=this.$inputText(),i={dateFormat:this.get("date_format"),timeFormat:this.get("time_format"),altField:e,altFieldTimeOnly:!1,altFormat:"yy-mm-dd",altTimeFormat:"HH:mm:ss",changeYear:!0,yearRange:"-100:+100",changeMonth:!0,showButtonPanel:!0,firstDay:this.get("first_day"),controlType:"select",oneLine:!0};i=acf.applyFilters("date_time_picker_args",i,this),acf.newDateTimePicker(t,i),acf.doAction("date_time_picker_init",t,i,this)}}),acf.registerFieldType(t),new acf.Model({priority:5,wait:"ready",initialize:function(){var t=acf.get("locale"),i=acf.get("rtl"),a=acf.get("dateTimePickerL10n");return!!a&&void 0!==e.timepicker&&(a.isRTL=i,e.timepicker.regional[t]=a,void e.timepicker.setDefaults(a))}}),acf.newDateTimePicker=function(t,i){if(void 0===e.timepicker)return!1;i=i||{},t.datetimepicker(i),e("body > #ui-datepicker-div").exists()&&e("body > #ui-datepicker-div").wrap('
                      ')}},2093:()=>{var e,t;e=jQuery,t=acf.models.ImageField.extend({type:"file",$control:function(){return this.$(".acf-file-uploader")},$input:function(){return this.$('input[type="hidden"]:first')},validateAttachment:function(e){return void 0!==(e=e||{}).id&&(e=e.attributes),acf.parseArgs(e,{url:"",alt:"",title:"",filename:"",filesizeHumanReadable:"",icon:"/wp-includes/images/media/default.png"})},render:function(e){e=this.validateAttachment(e),this.$("img").attr({src:e.icon,alt:e.alt,title:e.title}),this.$('[data-name="title"]').text(e.title),this.$('[data-name="filename"]').text(e.filename).attr("href",e.url),this.$('[data-name="filesize"]').text(e.filesizeHumanReadable);var t=e.id||"";acf.val(this.$input(),t),t?this.$control().addClass("has-value"):this.$control().removeClass("has-value")},selectAttachment:function(){var t=this.parent(),i=t&&"repeater"===t.get("type");acf.newMediaPopup({mode:"select",title:acf.__("Select File"),field:this.get("key"),multiple:i,library:this.get("library"),allowedTypes:this.get("mime_types"),select:e.proxy((function(e,i){i>0?this.append(e,t):this.render(e)}),this)})},editAttachment:function(){var t=this.val();if(!t)return!1;acf.newMediaPopup({mode:"edit",title:acf.__("Edit File"),button:acf.__("Update File"),attachment:t,field:this.get("key"),select:e.proxy((function(e,t){this.render(e)}),this)})}}),acf.registerFieldType(t)},1163:()=>{!function(e){var t=acf.Field.extend({type:"google_map",map:!1,wait:"load",events:{'click a[data-name="clear"]':"onClickClear",'click a[data-name="locate"]':"onClickLocate",'click a[data-name="search"]':"onClickSearch","keydown .search":"onKeydownSearch","keyup .search":"onKeyupSearch","focus .search":"onFocusSearch","blur .search":"onBlurSearch",showField:"onShow"},$control:function(){return this.$(".acf-google-map")},$search:function(){return this.$(".search")},$canvas:function(){return this.$(".canvas")},setState:function(e){this.$control().removeClass("-value -loading -searching"),"default"===e&&(e=this.val()?"value":""),e&&this.$control().addClass("-"+e)},getValue:function(){var e=this.$input().val();return!!e&&JSON.parse(e)},setValue:function(e,t){var i="";e&&(i=JSON.stringify(e)),acf.val(this.$input(),i),t||(this.renderVal(e),acf.doAction("google_map_change",e,this.map,this))},renderVal:function(e){e?(this.setState("value"),this.$search().val(e.address),this.setPosition(e.lat,e.lng)):(this.setState(""),this.$search().val(""),this.map.marker.setVisible(!1))},newLatLng:function(e,t){return new google.maps.LatLng(parseFloat(e),parseFloat(t))},setPosition:function(e,t){this.map.marker.setPosition({lat:parseFloat(e),lng:parseFloat(t)}),this.map.marker.setVisible(!0),this.center()},center:function(){var e=this.map.marker.getPosition();if(e)var t=e.lat(),i=e.lng();else t=this.get("lat"),i=this.get("lng");this.map.setCenter({lat:parseFloat(t),lng:parseFloat(i)})},initialize:function(){!function(t){if(a)return t();if(acf.isset(window,"google","maps","Geocoder"))return a=new google.maps.Geocoder,t();if(acf.addAction("google_map_api_loaded",t),!i){var n=acf.get("google_map_api");n&&(i=!0,e.ajax({url:n,dataType:"script",cache:!0,success:function(){a=new google.maps.Geocoder,acf.doAction("google_map_api_loaded")}}))}}(this.initializeMap.bind(this))},initializeMap:function(){var e=this.getValue(),t=acf.parseArgs(e,{zoom:this.get("zoom"),lat:this.get("lat"),lng:this.get("lng")}),i={scrollwheel:!1,zoom:parseInt(t.zoom),center:{lat:parseFloat(t.lat),lng:parseFloat(t.lng)},mapTypeId:google.maps.MapTypeId.ROADMAP,marker:{draggable:!0,raiseOnDrag:!0},autocomplete:{}};i=acf.applyFilters("google_map_args",i,this);var a=new google.maps.Map(this.$canvas()[0],i),n=acf.parseArgs(i.marker,{draggable:!0,raiseOnDrag:!0,map:a});n=acf.applyFilters("google_map_marker_args",n,this);var s=new google.maps.Marker(n),o=!1;if(acf.isset(google,"maps","places","Autocomplete")){var r=i.autocomplete||{};r=acf.applyFilters("google_map_autocomplete_args",r,this),(o=new google.maps.places.Autocomplete(this.$search()[0],r)).bindTo("bounds",a)}this.addMapEvents(this,a,s,o),a.acf=this,a.marker=s,a.autocomplete=o,this.map=a,e&&this.setPosition(e.lat,e.lng),acf.doAction("google_map_init",a,s,this)},addMapEvents:function(e,t,i,a){google.maps.event.addListener(t,"click",(function(t){var i=t.latLng.lat(),a=t.latLng.lng();e.searchPosition(i,a)})),google.maps.event.addListener(i,"dragend",(function(){var t=this.getPosition().lat(),i=this.getPosition().lng();e.searchPosition(t,i)})),a&&google.maps.event.addListener(a,"place_changed",(function(){var t=this.getPlace();e.searchPlace(t)})),google.maps.event.addListener(t,"zoom_changed",(function(){var i=e.val();i&&(i.zoom=t.getZoom(),e.setValue(i,!0))}))},searchPosition:function(e,t){this.setState("loading");var i={lat:e,lng:t};a.geocode({location:i},function(i,a){if(this.setState(""),"OK"!==a)this.showNotice({text:acf.__("Location not found: %s").replace("%s",a),type:"warning"});else{var n=this.parseResult(i[0]);n.lat=e,n.lng=t,this.val(n)}}.bind(this))},searchPlace:function(e){if(e)if(e.geometry){e.formatted_address=this.$search().val();var t=this.parseResult(e);this.val(t)}else e.name&&this.searchAddress(e.name)},searchAddress:function(e){if(e){var t=e.split(",");if(2==t.length){var i=parseFloat(t[0]),n=parseFloat(t[1]);if(i&&n)return this.searchPosition(i,n)}this.setState("loading"),a.geocode({address:e},function(t,i){if(this.setState(""),"OK"!==i)this.showNotice({text:acf.__("Location not found: %s").replace("%s",i),type:"warning"});else{var a=this.parseResult(t[0]);a.address=e,this.val(a)}}.bind(this))}},searchLocation:function(){if(!navigator.geolocation)return alert(acf.__("Sorry, this browser does not support geolocation"));this.setState("loading"),navigator.geolocation.getCurrentPosition(function(e){this.setState("");var t=e.coords.latitude,i=e.coords.longitude;this.searchPosition(t,i)}.bind(this),function(e){this.setState("")}.bind(this))},parseResult:function(e){var t={address:e.formatted_address,lat:e.geometry.location.lat(),lng:e.geometry.location.lng()};t.zoom=this.map.getZoom(),e.place_id&&(t.place_id=e.place_id),e.name&&(t.name=e.name);var i={street_number:["street_number"],street_name:["street_address","route"],city:["locality","postal_town"],state:["administrative_area_level_1","administrative_area_level_2","administrative_area_level_3","administrative_area_level_4","administrative_area_level_5"],post_code:["postal_code"],country:["country"]};for(var a in i)for(var n=i[a],s=0;s{!function(e){const t=acf.Field.extend({type:"icon_picker",wait:"load",events:{showField:"scrollToSelectedDashicon","input .acf-icon_url":"onUrlChange","click .acf-icon-picker-dashicon":"onDashiconClick","focus .acf-icon-picker-dashicon-radio":"onDashiconRadioFocus","blur .acf-icon-picker-dashicon-radio":"onDashiconRadioBlur","keydown .acf-icon-picker-dashicon-radio":"onDashiconKeyDown","input .acf-dashicons-search-input":"onDashiconSearch","keydown .acf-dashicons-search-input":"onDashiconSearchKeyDown","click .acf-icon-picker-media-library-button":"onMediaLibraryButtonClick","click .acf-icon-picker-media-library-preview":"onMediaLibraryButtonClick"},$typeInput(){return this.$('input[type="hidden"][data-hidden-type="type"]:first')},$valueInput(){return this.$('input[type="hidden"][data-hidden-type="value"]:first')},$tabButton(){return this.$(".acf-tab-button")},$selectedIcon(){return this.$(".acf-icon-picker-dashicon.active")},$selectedRadio(){return this.$(".acf-icon-picker-dashicon.active input")},$dashiconsList(){return this.$(".acf-dashicons-list")},$mediaLibraryButton(){return this.$(".acf-icon-picker-media-library-button")},initialize(){this.addActions();let t={type:this.$typeInput().val(),value:this.$valueInput().val()};this.set("typeAndValue",t),e(".acf-tab-button").on("click",(()=>{this.initializeDashiconsTab(this.get("typeAndValue"))})),acf.doAction(this.get("name")+"/type_and_value_change",t),this.initializeDashiconsTab(t),this.alignMediaLibraryTabToCurrentValue(t)},addActions(){acf.addAction(this.get("name")+"/type_and_value_change",(e=>{this.alignDashiconsTabToCurrentValue(e),this.alignMediaLibraryTabToCurrentValue(e),this.alignUrlTabToCurrentValue(e)}))},updateTypeAndValue(e,t){const i={type:e,value:t};acf.val(this.$typeInput(),e),acf.val(this.$valueInput(),t),acf.doAction(this.get("name")+"/type_and_value_change",i),this.set("typeAndValue",i)},scrollToSelectedDashicon(){const e=this.$selectedIcon();if(0===e.length)return;const t=this.$dashiconsList();t.scrollTop(0);const i=e.position().top-50;0!==i&&t.scrollTop(i)},initializeDashiconsTab(e){const t=this.getDashiconsList()||[];this.set("dashicons",t),this.renderDashiconList(),this.initializeSelectedDashicon(e)},initializeSelectedDashicon(e){"dashicons"===e.type&&this.selectDashicon(e.value,!1).then((()=>{this.scrollToSelectedDashicon()}))},alignDashiconsTabToCurrentValue(e){"dashicons"!==e.type&&this.unselectDashicon()},renderDashiconHTML(e){const t=`${this.get("name")}-${e.key}`;return`
                      \n\t\t\t\t\n\t\t\t\t\n\t\t\t
                      `},renderDashiconList(){const e=this.get("dashicons");this.$dashiconsList().empty(),e.forEach((e=>{this.$dashiconsList().append(this.renderDashiconHTML(e))}))},getDashiconsList(){const e=acf.get("iconPickeri10n")||[];return Object.entries(e).map((([e,t])=>({key:e,label:t})))},getDashiconsBySearch(e){const t=e.toLowerCase();return this.getDashiconsList().filter((function(e){return e.label.toLowerCase().indexOf(t)>-1}))},selectDashicon(e,t=!0){this.set("selectedDashicon",e);const i=this.$dashiconsList().find('.acf-icon-picker-dashicon[data-icon="'+e+'"]');i.addClass("active");const a=i.find("input"),n=a.prop("checked",!0).promise();return t&&a.trigger("focus"),this.updateTypeAndValue("dashicons",e),n},unselectDashicon(){this.$dashiconsList().find(".acf-icon-picker-dashicon").removeClass("active"),this.set("selectedDashicon",!1)},onDashiconRadioFocus(e){const t=e.target.value;this.$dashiconsList().find('.acf-icon-picker-dashicon[data-icon="'+t+'"]').addClass("focus"),this.get("selectedDashicon")!==t&&(this.unselectDashicon(),this.selectDashicon(t))},onDashiconRadioBlur(e){this.$(e.target).parent().removeClass("focus")},onDashiconClick(e){e.preventDefault();const t=this.$(e.target).find("input").val();this.$dashiconsList().find('.acf-icon-picker-dashicon[data-icon="'+t+'"]').find("input").prop("checked",!0).trigger("focus")},onDashiconSearch(e){const t=e.target.value,i=this.getDashiconsBySearch(t);if(i.length>0||!t)this.set("dashicons",i),this.$(".acf-dashicons-list-empty").hide(),this.$(".acf-dashicons-list ").show(),this.renderDashiconList(),wp.a11y.speak(acf.get("iconPickerA11yStrings").newResultsFoundForSearchTerm,"polite");else{const e=t.length>30?t.substring(0,30)+"…":t;this.$(".acf-dashicons-list ").hide(),this.$(".acf-dashicons-list-empty").find(".acf-invalid-dashicon-search-term").text(e),this.$(".acf-dashicons-list-empty").css("display","flex"),this.$(".acf-dashicons-list-empty").show(),wp.a11y.speak(acf.get("iconPickerA11yStrings").noResultsForSearchTerm,"polite")}},onDashiconSearchKeyDown(e){13===e.which&&e.preventDefault()},onDashiconKeyDown(e){13===e.which&&e.preventDefault()},alignMediaLibraryTabToCurrentValue(e){const t=e.type,i=e.value;if("media_library"!==t&&"dashicons"!==t&&this.$(".acf-icon-picker-media-library-preview").hide(),"media_library"===t){const e=this.get("mediaLibraryPreviewUrl");this.$(".acf-icon-picker-media-library-preview-img img").attr("src",e),this.$(".acf-icon-picker-media-library-preview-dashicon").hide(),this.$(".acf-icon-picker-media-library-preview-img").show(),this.$(".acf-icon-picker-media-library-preview").show()}"dashicons"===t&&(this.$(".acf-icon-picker-media-library-preview-dashicon .dashicons").attr("class","dashicons "+i),this.$(".acf-icon-picker-media-library-preview-img").hide(),this.$(".acf-icon-picker-media-library-preview-dashicon").show(),this.$(".acf-icon-picker-media-library-preview").show())},async onMediaLibraryButtonClick(e){e.preventDefault(),await this.selectAndReturnAttachment().then((e=>{this.set("mediaLibraryPreviewUrl",e.attributes.url),this.updateTypeAndValue("media_library",e.id)}))},selectAndReturnAttachment(){return new Promise((e=>{acf.newMediaPopup({mode:"select",type:"image",title:acf.__("Select Image"),field:this.get("key"),multiple:!1,library:"all",allowedTypes:"image",select:e})}))},alignUrlTabToCurrentValue(e){"url"!==e.type&&this.$(".acf-icon_url").val("")},onUrlChange(e){const t=e.target.value;this.updateTypeAndValue("url",t)}});acf.registerFieldType(t)}(jQuery)},2410:()=>{var e,t;e=jQuery,t=acf.Field.extend({type:"image",$control:function(){return this.$(".acf-image-uploader")},$input:function(){return this.$('input[type="hidden"]:first')},events:{'click a[data-name="add"]':"onClickAdd",'click a[data-name="edit"]':"onClickEdit",'click a[data-name="remove"]':"onClickRemove",'change input[type="file"]':"onChange"},initialize:function(){"basic"===this.get("uploader")&&this.$el.closest("form").attr("enctype","multipart/form-data")},validateAttachment:function(e){e&&e.attributes&&(e=e.attributes),e=acf.parseArgs(e,{id:0,url:"",alt:"",title:"",caption:"",description:"",width:0,height:0});var t=acf.isget(e,"sizes",this.get("preview_size"));return t&&(e.url=t.url,e.width=t.width,e.height=t.height),e},render:function(e){e=this.validateAttachment(e),this.$("img").attr({src:e.url,alt:e.alt}),e.id?(this.val(e.id),this.$control().addClass("has-value")):(this.val(""),this.$control().removeClass("has-value"))},append:function(e,t){var i=function(e,t){for(var i=acf.getFields({key:e.get("key"),parent:t.$el}),a=0;a0?this.append(e,t):this.render(e)}),this)})},editAttachment:function(){var t=this.val();t&&acf.newMediaPopup({mode:"edit",title:acf.__("Edit Image"),button:acf.__("Update Image"),attachment:t,field:this.get("key"),select:e.proxy((function(e,t){this.render(e)}),this)})},removeAttachment:function(){this.render(!1)},onClickAdd:function(e,t){this.selectAttachment()},onClickEdit:function(e,t){this.editAttachment()},onClickRemove:function(e,t){this.removeAttachment()},onChange:function(t,i){var a=this.$input();i.val()||a.val(""),acf.getFileInputData(i,(function(t){a.val(e.param(t))}))}}),acf.registerFieldType(t)},5915:()=>{var e,t;e=jQuery,t=acf.Field.extend({type:"link",events:{'click a[data-name="add"]':"onClickEdit",'click a[data-name="edit"]':"onClickEdit",'click a[data-name="remove"]':"onClickRemove","change .link-node":"onChange"},$control:function(){return this.$(".acf-link")},$node:function(){return this.$(".link-node")},getValue:function(){var e=this.$node();return!!e.attr("href")&&{title:e.html(),url:e.attr("href"),target:e.attr("target")}},setValue:function(e){e=acf.parseArgs(e,{title:"",url:"",target:""});var t=this.$control(),i=this.$node();t.removeClass("-value -external"),e.url&&t.addClass("-value"),"_blank"===e.target&&t.addClass("-external"),this.$(".link-title").html(e.title),this.$(".link-url").attr("href",e.url).html(e.url),i.html(e.title),i.attr("href",e.url),i.attr("target",e.target),this.$(".input-title").val(e.title),this.$(".input-target").val(e.target),this.$(".input-url").val(e.url).trigger("change")},onClickEdit:function(e,t){acf.wpLink.open(this.$node())},onClickRemove:function(e,t){this.setValue(!1)},onChange:function(e,t){var i=this.getValue();this.setValue(i)}}),acf.registerFieldType(t),acf.wpLink=new acf.Model({getNodeValue:function(){var e=this.get("node");return{title:acf.decode(e.html()),url:e.attr("href"),target:e.attr("target")}},setNodeValue:function(e){var t=this.get("node");t.text(e.title),t.attr("href",e.url),t.attr("target",e.target),t.trigger("change")},getInputValue:function(){return{title:e("#wp-link-text").val(),url:e("#wp-link-url").val(),target:e("#wp-link-target").prop("checked")?"_blank":""}},setInputValue:function(t){e("#wp-link-text").val(t.title),e("#wp-link-url").val(t.url),e("#wp-link-target").prop("checked","_blank"===t.target)},open:function(t){this.on("wplink-open","onOpen"),this.on("wplink-close","onClose"),this.set("node",t);var i=e('');e("body").append(i);var a=this.getNodeValue();wpLink.open("acf-link-textarea",a.url,a.title,null)},onOpen:function(){e("#wp-link-wrap").addClass("has-text-field");var t=this.getNodeValue();this.setInputValue(t),t.url&&wpLinkL10n&&e("#wp-link-submit").val(wpLinkL10n.update)},close:function(){wpLink.close()},onClose:function(){if(!this.has("node"))return!1;var t=e("#wp-link-submit");if(t.is(":hover")||t.is(":focus")){var i=this.getInputValue();this.setNodeValue(i)}this.off("wplink-open"),this.off("wplink-close"),e("#acf-link-textarea").remove(),this.set("node",null)}})},2237:()=>{var e,t;e=jQuery,t=acf.Field.extend({type:"oembed",events:{'click [data-name="clear-button"]':"onClickClear","keypress .input-search":"onKeypressSearch","keyup .input-search":"onKeyupSearch","change .input-search":"onChangeSearch"},$control:function(){return this.$(".acf-oembed")},$input:function(){return this.$(".input-value")},$search:function(){return this.$(".input-search")},getValue:function(){return this.$input().val()},getSearchVal:function(){return this.$search().val()},setValue:function(e){e?this.$control().addClass("has-value"):this.$control().removeClass("has-value"),acf.val(this.$input(),e)},showLoading:function(e){acf.showLoading(this.$(".canvas"))},hideLoading:function(){acf.hideLoading(this.$(".canvas"))},maybeSearch:function(){var t=this.val(),i=this.getSearchVal();if(!i)return this.clear();if("http"!=i.substr(0,4)&&(i="http://"+i),i!==t){var a=this.get("timeout");a&&clearTimeout(a);var n=e.proxy(this.search,this,i);this.set("timeout",setTimeout(n,300))}},search:function(t){const i={action:"acf/fields/oembed/search",s:t,field_key:this.get("key"),nonce:this.get("nonce")};let a=this.get("xhr");a&&a.abort(),this.showLoading(),a=e.ajax({url:acf.get("ajaxurl"),data:acf.prepareForAjax(i),type:"post",dataType:"json",context:this,success:function(e){e&&e.html||(e={url:!1,html:""}),this.val(e.url),this.$(".canvas-media").html(e.html)},complete:function(){this.hideLoading()}}),this.set("xhr",a)},clear:function(){this.val(""),this.$search().val(""),this.$(".canvas-media").html("")},onClickClear:function(e,t){this.clear()},onKeypressSearch:function(e,t){13==e.which&&(e.preventDefault(),this.maybeSearch())},onKeyupSearch:function(e,t){t.val()&&this.maybeSearch()},onChangeSearch:function(e,t){this.maybeSearch()}}),acf.registerFieldType(t)},7513:()=>{var e;jQuery,e=acf.models.SelectField.extend({type:"page_link"}),acf.registerFieldType(e)},2553:()=>{var e;jQuery,e=acf.models.SelectField.extend({type:"post_object"}),acf.registerFieldType(e)},9252:()=>{var e;jQuery,e=acf.Field.extend({type:"radio",events:{'click input[type="radio"]':"onClick"},$control:function(){return this.$(".acf-radio-list")},$input:function(){return this.$("input:checked")},$inputText:function(){return this.$('input[type="text"]')},getValue:function(){var e=this.$input().val();return"other"===e&&this.get("other_choice")&&(e=this.$inputText().val()),e},onClick:function(e,t){var i=t.parent("label"),a=i.hasClass("selected"),n=t.val();this.$(".selected").removeClass("selected"),i.addClass("selected"),this.get("allow_null")&&a&&(i.removeClass("selected"),t.prop("checked",!1).trigger("change"),n=!1),this.get("other_choice")&&("other"===n?this.$inputText().prop("disabled",!1):this.$inputText().prop("disabled",!0))}}),acf.registerFieldType(e)},6290:()=>{var e;jQuery,e=acf.Field.extend({type:"range",events:{'input input[type="range"]':"onChange","change input":"onChange"},$input:function(){return this.$('input[type="range"]')},$inputAlt:function(){return this.$('input[type="number"]')},setValue:function(e){this.busy=!0,acf.val(this.$input(),e),acf.val(this.$inputAlt(),this.$input().val(),!0),this.busy=!1},onChange:function(e,t){this.busy||this.setValue(t.val())}}),acf.registerFieldType(e)},7509:()=>{var e,t;e=jQuery,t=acf.Field.extend({type:"relationship",events:{"keypress [data-filter]":"onKeypressFilter","change [data-filter]":"onChangeFilter","keyup [data-filter]":"onChangeFilter","click .choices-list .acf-rel-item":"onClickAdd","keypress .choices-list .acf-rel-item":"onKeypressFilter","keypress .values-list .acf-rel-item":"onKeypressFilter",'click [data-name="remove_item"]':"onClickRemove","touchstart .values-list .acf-rel-item":"onTouchStartValues"},$control:function(){return this.$(".acf-relationship")},$list:function(e){return this.$("."+e+"-list")},$listItems:function(e){return this.$list(e).find(".acf-rel-item")},$listItem:function(e,t){return this.$list(e).find('.acf-rel-item[data-id="'+t+'"]')},getValue:function(){var t=[];return this.$listItems("values").each((function(){t.push(e(this).data("id"))})),!!t.length&&t},newChoice:function(e){return["
                    • ",''+e.text+"","
                    • "].join("")},newValue:function(e){return["
                    • ",'',''+e.text,'',"","
                    • "].join("")},initialize:function(){var e=this.proxy(acf.once((function(){this.$list("values").sortable({items:"li",forceHelperSize:!0,forcePlaceholderSize:!0,scroll:!0,update:this.proxy((function(){this.$input().trigger("change")}))}),this.$list("choices").scrollTop(0).on("scroll",this.proxy(this.onScrollChoices)),this.fetch()})));this.$el.one("mouseover",e),this.$el.one("focus","input",e),acf.onceInView(this.$el,e)},onScrollChoices:function(e){if(!this.get("loading")&&this.get("more")){var t=this.$list("choices"),i=Math.ceil(t.scrollTop()),a=Math.ceil(t[0].scrollHeight),n=Math.ceil(t.innerHeight()),s=this.get("paged")||1;i+n>=a&&(this.set("paged",s+1),this.fetch())}},onKeypressFilter:function(e,t){t.hasClass("acf-rel-item-add")&&13==e.which&&this.onClickAdd(e,t),t.hasClass("acf-rel-item-remove")&&13==e.which&&this.onClickRemove(e,t),13==e.which&&e.preventDefault()},onChangeFilter:function(e,t){var i=t.val(),a=t.data("filter");this.get(a)!==i&&(this.set(a,i),"s"===a&&parseInt(i)&&this.set("include",i),this.set("paged",1),t.is("select")?this.fetch():this.maybeFetch())},onClickAdd:function(e,t){var i=this.val(),a=parseInt(this.get("max"));if(t.hasClass("disabled"))return!1;if(a>0&&i&&i.length>=a)return this.showNotice({text:acf.__("Maximum values reached ( {max} values )").replace("{max}",a),type:"warning"}),!1;t.addClass("disabled");var n=this.newValue({id:t.data("id"),text:t.html()});this.$list("values").append(n),this.$input().trigger("change")},onClickRemove:function(e,t){let i;e.preventDefault(),i=t.hasClass("acf-rel-item-remove")?t:t.parent();const a=i.parent(),n=i.data("id");a.remove(),this.$listItem("choices",n).removeClass("disabled"),this.$input().trigger("change")},onTouchStartValues:function(t,i){e(this.$listItems("values")).removeClass("relationship-hover"),i.addClass("relationship-hover")},maybeFetch:function(){var e=this.get("timeout");e&&clearTimeout(e),e=this.setTimeout(this.fetch,300),this.set("timeout",e)},getAjaxData:function(){var e=this.$control().data();for(var t in e)e[t]=this.get(t);return e.action="acf/fields/relationship/query",e.field_key=this.get("key"),e.nonce=this.get("nonce"),acf.applyFilters("relationship_ajax_data",e,this)},fetch:function(){(n=this.get("xhr"))&&n.abort();var t=this.getAjaxData(),i=this.$list("choices");1==t.paged&&i.html("");var a=e('
                    • '+acf.__("Loading")+"
                    • ");i.append(a),this.set("loading",!0);var n=e.ajax({url:acf.get("ajaxurl"),dataType:"json",type:"post",data:acf.prepareForAjax(t),context:this,success:function(t){if(!t||!t.results||!t.results.length)return this.set("more",!1),void(1==this.get("paged")&&this.$list("choices").append("
                    • "+acf.__("No matches found")+"
                    • "));this.set("more",t.more);var a=this.walkChoices(t.results),n=e(a),s=this.val();s&&s.length&&s.map((function(e){n.find('.acf-rel-item[data-id="'+e+'"]').addClass("disabled")})),i.append(n);var o=!1,r=!1;i.find(".acf-rel-label").each((function(){var t=e(this),i=t.siblings("ul");if(o&&o.text()==t.text())return r.append(i.children()),void e(this).parent().remove();o=t,r=i}))},complete:function(){this.set("loading",!1),a.remove()}});this.set("xhr",n)},walkChoices:function(t){var i=function(t){var a="";return e.isArray(t)?t.map((function(e){a+=i(e)})):e.isPlainObject(t)&&(void 0!==t.children?(a+='
                    • '+acf.escHtml(t.text)+'
                        ',a+=i(t.children),a+="
                    • "):a+='
                    • '+acf.escHtml(t.text)+"
                    • "),a};return i(t)}}),acf.registerFieldType(t)},6403:()=>{var e;jQuery,e=acf.Field.extend({type:"select",select2:!1,wait:"load",events:{removeField:"onRemove",duplicateField:"onDuplicate"},$input:function(){return this.$("select")},initialize:function(){var e=this.$input();if(this.inherit(e),this.get("ui")){var t=this.get("ajax_action");t||(t="acf/fields/"+this.get("type")+"/query"),this.select2=acf.newSelect2(e,{field:this,ajax:this.get("ajax"),multiple:this.get("multiple"),placeholder:this.get("placeholder"),allowNull:this.get("allow_null"),ajaxAction:t})}},onRemove:function(){this.select2&&this.select2.destroy()},onDuplicate:function(e,t,i){this.select2&&(i.find(".select2-container").remove(),i.find("select").removeClass("select2-hidden-accessible"))}}),acf.registerFieldType(e)},5848:()=>{!function(e){var t="tab",i=acf.Field.extend({type:"tab",wait:"",tabs:!1,tab:!1,events:{duplicateField:"onDuplicate"},findFields:function(){let e;switch(this.get("key")){case"acf_field_settings_tabs":e=".acf-field-settings-main";break;case"acf_field_group_settings_tabs":e=".field-group-settings-tab";break;case"acf_browse_fields_tabs":e=".acf-field-types-tab";break;case"acf_icon_picker_tabs":e=".acf-icon-picker-tabs";break;case"acf_post_type_tabs":e=".acf-post-type-advanced-settings";break;case"acf_taxonomy_tabs":e=".acf-taxonomy-advanced-settings";break;case"acf_ui_options_page_tabs":e=".acf-ui-options-page-advanced-settings";break;default:e=".acf-field"}return this.$el.nextUntil(".acf-field-tab",e)},getFields:function(){return acf.getFields(this.findFields())},findTabs:function(){return this.$el.prevAll(".acf-tab-wrap:first")},findTab:function(){return this.$(".acf-tab-button")},initialize:function(){if(this.$el.is("td"))return this.events={},!1;var e=this.findTabs(),t=this.findTab(),i=acf.parseArgs(t.data(),{endpoint:!1,placement:"",before:this.$el});!e.length||i.endpoint?this.tabs=new n(i):this.tabs=e.data("acf"),this.tab=this.tabs.addTab(t,this)},isActive:function(){return this.tab.isActive()},showFields:function(){this.getFields().map((function(e){e.show(this.cid,t),e.hiddenByTab=!1}),this)},hideFields:function(){this.getFields().map((function(e){e.hide(this.cid,t),e.hiddenByTab=this.tab}),this)},show:function(e){var t=acf.Field.prototype.show.apply(this,arguments);return t&&(this.tab.show(),this.tabs.refresh()),t},hide:function(e){var t=acf.Field.prototype.hide.apply(this,arguments);return t&&(this.tab.hide(),this.isActive()&&this.tabs.reset()),t},enable:function(e){this.getFields().map((function(e){e.enable(t)}))},disable:function(e){this.getFields().map((function(e){e.disable(t)}))},onDuplicate:function(e,t,i){this.isActive()&&i.prevAll(".acf-tab-wrap:first").remove()}});acf.registerFieldType(i);var a=0,n=acf.Model.extend({tabs:[],active:!1,actions:{refresh:"onRefresh",close_field_object:"onCloseFieldObject"},data:{before:!1,placement:"top",index:0,initialized:!1},setup:function(t){e.extend(this.data,t),this.tabs=[],this.active=!1;var i=this.get("placement"),n=this.get("before"),s=n.parent();if("left"==i&&s.hasClass("acf-fields")&&s.addClass("-sidebar"),n.is("tr"))this.$el=e('
                      ');else{let t="acf-hl acf-tab-group";"acf_field_settings_tabs"===this.get("key")&&(t="acf-field-settings-tab-bar"),this.$el=e('
                        ')}n.before(this.$el),this.set("index",a,!0),a++},initializeTabs:function(){if("acf_field_settings_tabs"!==this.get("key")||!e("#acf-field-group-fields").hasClass("hide-tabs")){var t=!1,i=acf.getPreference("this.tabs")||!1;if(i){var a=i[this.get("index")];this.tabs[a]&&this.tabs[a].isVisible()&&(t=this.tabs[a])}!t&&this.data.defaultTab&&this.data.defaultTab.isVisible()&&(t=this.data.defaultTab),t||(t=this.getVisible().shift()),t?this.selectTab(t):this.closeTabs(),this.set("initialized",!0)}},getVisible:function(){return this.tabs.filter((function(e){return e.isVisible()}))},getActive:function(){return this.active},setActive:function(e){return this.active=e},hasActive:function(){return!1!==this.active},isActive:function(e){var t=this.getActive();return t&&t.cid===e.cid},closeActive:function(){this.hasActive()&&this.closeTab(this.getActive())},openTab:function(e){this.closeActive(),e.open(),this.setActive(e)},closeTab:function(e){e.close(),this.setActive(!1)},closeTabs:function(){this.tabs.map(this.closeTab,this)},selectTab:function(e){this.tabs.map((function(t){e.cid!==t.cid&&this.closeTab(t)}),this),this.openTab(e)},addTab:function(t,i){var a=e("
                      • "+t.outerHTML()+"
                      • "),n=t.data("settings-type");n&&a.addClass("acf-settings-type-"+n),this.$("ul").append(a);var o=new s({$el:a,field:i,group:this});return this.tabs.push(o),t.data("selected")&&(this.data.defaultTab=o),o},reset:function(){return this.closeActive(),this.refresh()},refresh:function(){if(this.hasActive())return!1;var e=this.getVisible().shift();return e&&this.openTab(e),e},onRefresh:function(){if("left"===this.get("placement")){var e=this.$el.parent(),t=this.$el.children("ul"),i=e.is("td")?"height":"min-height",a=t.position().top+t.outerHeight(!0)-1;e.css(i,a)}},onCloseFieldObject:function(e){const t=this.getVisible().find((t=>{const i=t.$el.closest("div[data-id]").data("id");if(e.data.id===i)return t}));t&&setTimeout((()=>{this.openTab(t)}),300)}}),s=acf.Model.extend({group:!1,field:!1,events:{"click a":"onClick"},index:function(){return this.$el.index()},isVisible:function(){return acf.isVisible(this.$el)},isActive:function(){return this.$el.hasClass("active")},open:function(){this.$el.addClass("active"),this.field.showFields()},close:function(){this.$el.removeClass("active"),this.field.hideFields()},onClick:function(e,t){e.preventDefault(),this.toggle()},toggle:function(){this.isActive()||this.group.openTab(this)}});new acf.Model({priority:50,actions:{prepare:"render",append:"render",unload:"onUnload",show:"render",invalid_field:"onInvalidField"},findTabs:function(){return e(".acf-tab-wrap")},getTabs:function(){return acf.getInstances(this.findTabs())},render:function(e){this.getTabs().map((function(e){e.get("initialized")||e.initializeTabs()}))},onInvalidField:function(e){this.busy||e.hiddenByTab&&(e.hiddenByTab.toggle(),this.busy=!0,this.setTimeout((function(){this.busy=!1}),100))},onUnload:function(){var e=[];this.getTabs().map((function(t){if(t.$el.children(".acf-field-settings-tab-bar").length||t.$el.parents("#acf-advanced-settings.postbox").length)return!0;var i=t.hasActive()?t.getActive().index():0;e.push(i)})),e.length&&acf.setPreference("this.tabs",e)}})}(jQuery)},3284:()=>{var e,t;e=jQuery,t=acf.Field.extend({type:"taxonomy",data:{ftype:"select"},select2:!1,wait:"load",events:{'click a[data-name="add"]':"onClickAdd",'click input[type="radio"]':"onClickRadio",removeField:"onRemove"},$control:function(){return this.$(".acf-taxonomy-field")},$input:function(){return this.getRelatedPrototype().$input.apply(this,arguments)},getRelatedType:function(){var e=this.get("ftype");return"multi_select"==e&&(e="select"),e},getRelatedPrototype:function(){return acf.getFieldType(this.getRelatedType()).prototype},getValue:function(){return this.getRelatedPrototype().getValue.apply(this,arguments)},setValue:function(){return this.getRelatedPrototype().setValue.apply(this,arguments)},initialize:function(){this.getRelatedPrototype().initialize.apply(this,arguments)},onRemove:function(){var e=this.getRelatedPrototype();e.onRemove&&e.onRemove.apply(this,arguments)},onClickAdd:function(t,i){var a=this,n=!1,s=!1,o=!1,r=!1,c=!1,l=!1,d=function(e){n.loading(!1),n.content(e),s=n.$("form"),o=n.$('input[name="term_name"]'),r=n.$('select[name="term_parent"]'),c=n.$(".acf-submit-button"),o.trigger("focus"),n.on("submit","form",u)},u=function(t,i){if(t.preventDefault(),t.stopImmediatePropagation(),""===o.val())return o.trigger("focus"),!1;acf.startButtonLoading(c);var n={action:"acf/fields/taxonomy/add_term",field_key:a.get("key"),nonce:a.get("nonce"),term_name:o.val(),term_parent:r.length?r.val():0};e.ajax({url:acf.get("ajaxurl"),data:acf.prepareForAjax(n),type:"post",dataType:"json",success:f})},f=function(e){acf.stopButtonLoading(c),l&&l.remove(),acf.isAjaxSuccess(e)?(o.val(""),p(e.data),l=acf.newNotice({type:"success",text:acf.getAjaxMessage(e),target:s,timeout:2e3,dismiss:!1})):l=acf.newNotice({type:"error",text:acf.getAjaxError(e),target:s,timeout:2e3,dismiss:!1}),o.trigger("focus")},p=function(t){var i=e('");t.term_parent?r.children('option[value="'+t.term_parent+'"]').after(i):r.append(i),acf.getFields({type:"taxonomy"}).map((function(e){e.get("taxonomy")==a.get("taxonomy")&&e.appendTerm(t)})),a.selectTerm(t.term_id)};!function(){n=acf.newPopup({title:i.attr("title"),loading:!0,width:"300px"});var t={action:"acf/fields/taxonomy/add_term",field_key:a.get("key"),nonce:a.get("nonce")};e.ajax({url:acf.get("ajaxurl"),data:acf.prepareForAjax(t),type:"post",dataType:"html",success:d})}()},appendTerm:function(e){"select"==this.getRelatedType()?this.appendTermSelect(e):this.appendTermCheckbox(e)},appendTermSelect:function(e){this.select2.addOption({id:e.term_id,text:e.term_label})},appendTermCheckbox:function(t){var i=this.$("[name]:first").attr("name"),a=this.$("ul:first");"checkbox"==this.getRelatedType()&&(i+="[]");var n=e(['
                      • ',"","
                      • "].join(""));if(t.term_parent){var s=a.find('li[data-id="'+t.term_parent+'"]');(a=s.children("ul")).exists()||(a=e('
                          '),s.append(a))}a.append(n)},selectTerm:function(e){"select"==this.getRelatedType()?this.select2.selectOption(e):this.$('input[value="'+e+'"]').prop("checked",!0).trigger("change")},onClickRadio:function(e,t){var i=t.parent("label"),a=i.hasClass("selected");this.$(".selected").removeClass("selected"),i.addClass("selected"),this.get("allow_null")&&a&&(i.removeClass("selected"),t.prop("checked",!1).trigger("change"))}}),acf.registerFieldType(t)},9213:()=>{var e,t;e=jQuery,t=acf.models.DatePickerField.extend({type:"time_picker",$control:function(){return this.$(".acf-time-picker")},initialize:function(){var e=this.$input(),t=this.$inputText(),i={timeFormat:this.get("time_format"),altField:e,altFieldTimeOnly:!1,altTimeFormat:"HH:mm:ss",showButtonPanel:!0,controlType:"select",oneLine:!0,closeText:acf.get("dateTimePickerL10n").selectText,timeOnly:!0,onClose:function(e,t,i){var a=t.dpDiv.find(".ui-datepicker-close");!e&&a.is(":hover")&&i._updateDateTime()}};i=acf.applyFilters("time_picker_args",i,this),acf.newTimePicker(t,i),acf.doAction("time_picker_init",t,i,this)}}),acf.registerFieldType(t),acf.newTimePicker=function(t,i){if(void 0===e.timepicker)return!1;i=i||{},t.timepicker(i),e("body > #ui-datepicker-div").exists()&&e("body > #ui-datepicker-div").wrap('
                          ')}},1525:()=>{var e;jQuery,e=acf.Field.extend({type:"true_false",events:{"change .acf-switch-input":"onChange","focus .acf-switch-input":"onFocus","blur .acf-switch-input":"onBlur","keypress .acf-switch-input":"onKeypress"},$input:function(){return this.$('input[type="checkbox"]')},$switch:function(){return this.$(".acf-switch")},getValue:function(){return this.$input().prop("checked")?1:0},initialize:function(){this.render()},render:function(){var e=this.$switch();if(e.length){var t=e.children(".acf-switch-on"),i=e.children(".acf-switch-off"),a=Math.max(t.width(),i.width());a&&(t.css("min-width",a),i.css("min-width",a))}},switchOn:function(){this.$input().prop("checked",!0),this.$switch().addClass("-on")},switchOff:function(){this.$input().prop("checked",!1),this.$switch().removeClass("-on")},onChange:function(e,t){t.prop("checked")?this.switchOn():this.switchOff()},onFocus:function(e,t){this.$switch().addClass("-focus")},onBlur:function(e,t){this.$switch().removeClass("-focus")},onKeypress:function(e,t){return 37===e.keyCode?this.switchOff():39===e.keyCode?this.switchOn():void 0}}),acf.registerFieldType(e)},5942:()=>{var e;jQuery,e=acf.Field.extend({type:"url",events:{'keyup input[type="url"]':"onkeyup"},$control:function(){return this.$(".acf-input-wrap")},$input:function(){return this.$('input[type="url"]')},initialize:function(){this.render()},isValid:function(){var e=this.val();return!!e&&(-1!==e.indexOf("://")||0===e.indexOf("//"))},render:function(){this.isValid()?this.$control().addClass("-valid"):this.$control().removeClass("-valid")},onkeyup:function(e,t){this.render()}}),acf.registerFieldType(e)},9732:()=>{var e;jQuery,e=acf.models.SelectField.extend({type:"user"}),acf.registerFieldType(e)},9938:()=>{var e;jQuery,e=acf.Field.extend({type:"wysiwyg",wait:"load",events:{"mousedown .acf-editor-wrap.delay":"onMousedown",unmountField:"disableEditor",remountField:"enableEditor",removeField:"disableEditor"},$control:function(){return this.$(".acf-editor-wrap")},$input:function(){return this.$("textarea")},getMode:function(){return this.$control().hasClass("tmce-active")?"visual":"text"},initialize:function(){this.$control().hasClass("delay")||this.initializeEditor()},initializeEditor:function(){var e=this.$control(),t=this.$input(),i={tinymce:!0,quicktags:!0,toolbar:this.get("toolbar"),mode:this.getMode(),field:this},a=t.attr("id"),n=acf.uniqueId("acf-editor-"),s=t.data(),o=t.val();acf.rename({target:e,search:a,replace:n,destructive:!0}),this.set("id",n,!0),this.$input().data(s).val(o),acf.tinymce.initialize(n,i)},onMousedown:function(e){e.preventDefault();var t=this.$control();t.removeClass("delay"),t.find(".acf-editor-toolbar").remove(),this.initializeEditor()},enableEditor:function(){"visual"==this.getMode()&&acf.tinymce.enable(this.get("id"))},disableEditor:function(){acf.tinymce.destroy(this.get("id"))}}),acf.registerFieldType(e)},5338:()=>{!function(e,t){var i=[];acf.Field=acf.Model.extend({type:"",eventScope:".acf-field",wait:"ready",setup:function(e){this.$el=e,this.inherit(e),this.inherit(this.$control())},val:function(e){return e!==t?this.setValue(e):this.prop("disabled")?null:this.getValue()},getValue:function(){return this.$input().val()},setValue:function(e){return acf.val(this.$input(),e)},__:function(e){return acf._e(this.type,e)},$control:function(){return!1},$input:function(){return this.$("[name]:first")},$inputWrap:function(){return this.$(".acf-input:first")},$labelWrap:function(){return this.$(".acf-label:first")},getInputName:function(){return this.$input().attr("name")||""},parent:function(){var e=this.parents();return!!e.length&&e[0]},parents:function(){var e=this.$el.parents(".acf-field");return acf.getFields(e)},show:function(e,t){var i=acf.show(this.$el,e);return i&&(this.prop("hidden",!1),acf.doAction("show_field",this,t),"conditional_logic"===t&&this.setFieldSettingsLastVisible()),i},hide:function(e,t){var i=acf.hide(this.$el,e);return i&&(this.prop("hidden",!0),acf.doAction("hide_field",this,t),"conditional_logic"===t&&this.setFieldSettingsLastVisible()),i},setFieldSettingsLastVisible:function(){var e=this.$el.parents(".acf-field-settings-main");if(e.length){var t=e.find(".acf-field");t.removeClass("acf-last-visible"),t.not(".acf-hidden").last().addClass("acf-last-visible")}},enable:function(e,t){var i=acf.enable(this.$el,e);return i&&(this.prop("disabled",!1),acf.doAction("enable_field",this,t)),i},disable:function(e,t){var i=acf.disable(this.$el,e);return i&&(this.prop("disabled",!0),acf.doAction("disable_field",this,t)),i},showEnable:function(e,t){return this.enable.apply(this,arguments),this.show.apply(this,arguments)},hideDisable:function(e,t){return this.disable.apply(this,arguments),this.hide.apply(this,arguments)},showNotice:function(e){"object"!=typeof e&&(e={text:e}),this.notice&&this.notice.remove(),e.target=this.$inputWrap(),this.notice=acf.newNotice(e)},removeNotice:function(e){this.notice&&(this.notice.away(e||0),this.notice=!1)},showError:function(i,a="before"){this.$el.addClass("acf-error"),i!==t&&this.showNotice({text:i,type:"error",dismiss:!1,location:a}),acf.doAction("invalid_field",this),this.$el.one("focus change","input, select, textarea",e.proxy(this.removeError,this))},removeError:function(){this.$el.removeClass("acf-error"),this.removeNotice(250),acf.doAction("valid_field",this)},trigger:function(e,t,i){return"invalidField"==e&&(i=!0),acf.Model.prototype.trigger.apply(this,[e,t,i])}}),acf.newField=function(e){var t=e.data("type"),i=a(t),n=new(acf.models[i]||acf.Field)(e);return acf.doAction("new_field",n),n};var a=function(e){return acf.strPascalCase(e||"")+"Field"};acf.registerFieldType=function(e){var t=e.prototype.type,n=a(t);acf.models[n]=e,i.push(t)},acf.getFieldType=function(e){var t=a(e);return acf.models[t]||!1},acf.getFieldTypes=function(e){e=acf.parseArgs(e,{category:""});var t=[];return i.map((function(i){var a=acf.getFieldType(i),n=a.prototype;e.category&&n.category!==e.category||t.push(a)})),t}}(jQuery)},2457:()=>{!function(e){acf.findFields=function(t){var i=".acf-field",a=!1;return(t=acf.parseArgs(t,{key:"",name:"",type:"",is:"",parent:!1,sibling:!1,limit:!1,visible:!1,suppressFilters:!1,excludeSubFields:!1})).suppressFilters||(t=acf.applyFilters("find_fields_args",t)),t.key&&(i+='[data-key="'+t.key+'"]'),t.type&&(i+='[data-type="'+t.type+'"]'),t.name&&(i+='[data-name="'+t.name+'"]'),t.is&&(i+=t.is),t.visible&&(i+=":visible"),t.suppressFilters||(i=acf.applyFilters("find_fields_selector",i,t)),t.parent?(a=t.parent.find(i),t.excludeSubFields&&(a=a.not(t.parent.find(".acf-is-subfields .acf-field")))):a=t.sibling?t.sibling.siblings(i):e(i),t.suppressFilters||(a=a.not(".acf-clone .acf-field"),a=acf.applyFilters("find_fields",a)),t.limit&&(a=a.slice(0,t.limit)),a},acf.findField=function(e,t){return acf.findFields({key:e,limit:1,parent:t,suppressFilters:!0})},acf.getField=function(e){e instanceof jQuery||(e=acf.findField(e));var t=e.data("acf");return t||(t=acf.newField(e)),t},acf.getFields=function(t){t instanceof jQuery||(t=acf.findFields(t));var i=[];return t.each((function(){var t=acf.getField(e(this));i.push(t)})),i},acf.findClosestField=function(e){return e.closest(".acf-field")},acf.getClosestField=function(e){var t=acf.findClosestField(e);return this.getField(t)};var t=function(e){var t=e+"_field",a=e+"Field";acf.addAction(t,(function(n){var s=acf.arrayArgs(arguments),o=s.slice(1);["type","name","key"].map((function(e){var i="/"+e+"="+n.get(e);s=[t+i,n].concat(o),acf.doAction.apply(null,s)})),i.indexOf(e)>-1&&n.trigger(a,o)}))},i=["remove","unmount","remount","sortstart","sortstop","show","hide","unload","valid","invalid","enable","disable","duplicate"];["prepare","ready","load","append","remove","unmount","remount","sortstart","sortstop","show","hide","unload"].map((function(e){var i=e,a=e+"_fields",n=e+"_field";acf.addAction(i,(function(e){var t=acf.arrayArgs(arguments).slice(1),i=acf.getFields({parent:e});if(i.length){var n=[a,i].concat(t);acf.doAction.apply(null,n)}})),acf.addAction(a,(function(e){var t=acf.arrayArgs(arguments).slice(1);e.map((function(e,i){var a=[n,e].concat(t);acf.doAction.apply(null,a)}))})),t(e)})),["valid","invalid","enable","disable","new","duplicate"].map(t),new acf.Model({id:"fieldsEventManager",events:{'click .acf-field a[href="#"]':"onClick","change .acf-field":"onChange"},onClick:function(e){e.preventDefault()},onChange:function(){if(e("#_acf_changed").val(1),acf.isGutenbergPostEditor())try{wp.data.dispatch("core/editor").editPost({meta:{_acf_changed:1}})}catch(e){console.log("ACF: Failed to update _acf_changed meta",e)}}}),new acf.Model({id:"duplicateFieldsManager",actions:{duplicate:"onDuplicate",duplicate_fields:"onDuplicateFields"},onDuplicate:function(e,t){var i=acf.getFields({parent:e});if(i.length){var a=acf.findFields({parent:t});acf.doAction("duplicate_fields",i,a)}},onDuplicateFields:function(t,i){t.map((function(t,a){acf.doAction("duplicate_field",t,e(i[a]))}))}})}(jQuery)},8223:()=>{var e;e=jQuery,new acf.Model({priority:90,actions:{new_field:"refresh",show_field:"refresh",hide_field:"refresh",remove_field:"refresh",unmount_field:"refresh",remount_field:"refresh"},refresh:function(){acf.refresh()}}),new acf.Model({priority:1,actions:{sortstart:"onSortstart",sortstop:"onSortstop"},onSortstart:function(e){acf.doAction("unmount",e)},onSortstop:function(e){acf.doAction("remount",e)}}),new acf.Model({actions:{sortstart:"onSortstart"},onSortstart:function(t,i){t.is("tr")&&(i.html('
                          '),t.addClass("acf-sortable-tr-helper"),t.children().each((function(){e(this).width(e(this).width())})),i.height(t.height()+"px"),t.removeClass("acf-sortable-tr-helper"))}}),new acf.Model({actions:{after_duplicate:"onAfterDuplicate"},onAfterDuplicate:function(t,i){var a=[];t.find("select").each((function(t){a.push(e(this).val())})),i.find("select").each((function(t){e(this).val(a[t])}))}}),new acf.Model({id:"tableHelper",priority:20,wait:"load",actions:{refresh:"renderTables"},initialize:function(){this.renderTables()},renderTables:function(t){var i=this;e(".acf-table:visible").each((function(){i.renderTable(e(this))}))},renderTable:function(t){var i=t.find("> thead > tr:visible > th[data-key]"),a=t.find("> tbody > tr:visible > td[data-key]");if(!i.length||!a.length)return!1;i.each((function(t){var i=e(this),n=i.data("key"),s=a.filter('[data-key="'+n+'"]'),o=s.filter(".acf-hidden");s.removeClass("acf-empty"),s.length===o.length?acf.hide(i):(acf.show(i),o.addClass("acf-empty"))})),i.css("width","auto"),i=i.not(".acf-hidden");var n=100;i.length,i.filter("[data-width]").each((function(){var t=e(this).data("width");e(this).css("width",t+"%"),n-=t}));var s=i.not("[data-width]");if(s.length){var o=n/s.length;s.css("width",o+"%"),n=0}n>0&&i.last().css("width","auto"),a.filter(".-collapsed-target").each((function(){var t=e(this);t.parent().hasClass("-collapsed")?t.attr("colspan",i.length):t.removeAttr("colspan")}))}}),new acf.Model({id:"fieldsHelper",priority:30,actions:{refresh:"renderGroups"},renderGroups:function(){var t=this;e(".acf-fields:visible").each((function(){t.renderGroup(e(this))}))},renderGroup:function(t){var i=0,a=0,n=e(),s=t.children(".acf-field[data-width]:visible");return!!s.length&&(t.hasClass("-left")?(s.removeAttr("data-width"),s.css("width","auto"),!1):(s.removeClass("-r0 -c0").css({"min-height":0}),s.each((function(t){var s=e(this),o=s.position(),r=Math.ceil(o.top),c=Math.ceil(o.left);n.length&&r>i&&(n.css({"min-height":a+"px"}),o=s.position(),r=Math.ceil(o.top),c=Math.ceil(o.left),i=0,a=0,n=e()),acf.get("rtl")&&(c=Math.ceil(s.parent().width()-(o.left+s.outerWidth()))),0==r?s.addClass("-r0"):0==c&&s.addClass("-c0");var l=Math.ceil(s.outerHeight())+1;a=Math.max(a,l),i=Math.max(i,r),n=n.add(s)})),void(n.length&&n.css({"min-height":a+"px"}))))}}),new acf.Model({id:"bodyClassShiftHelper",events:{keydown:"onKeyDown",keyup:"onKeyUp"},isShiftKey:function(e){return 16===e.keyCode},onKeyDown:function(t){this.isShiftKey(t)&&e("body").addClass("acf-keydown-shift")},onKeyUp:function(t){this.isShiftKey(t)&&e("body").removeClass("acf-keydown-shift")}})},1218:()=>{!function(e){acf.newMediaPopup=function(e){var t=null;return e=acf.parseArgs(e,{mode:"select",title:"",button:"",type:"",field:!1,allowedTypes:"",library:"all",multiple:!1,attachment:0,autoOpen:!0,open:function(){},select:function(){},close:function(){}}),t="edit"==e.mode?new acf.models.EditMediaPopup(e):new acf.models.SelectMediaPopup(e),e.autoOpen&&setTimeout((function(){t.open()}),1),acf.doAction("new_media_popup",t),t};var t=function(){var e=acf.get("post_id");return acf.isNumeric(e)?e:0};acf.getMimeTypes=function(){return this.get("mimeTypes")},acf.getMimeType=function(e){var t=acf.getMimeTypes();if(void 0!==t[e])return t[e];for(var i in t)if(-1!==i.indexOf(e))return t[i];return!1};var i=acf.Model.extend({id:"MediaPopup",data:{},defaults:{},frame:!1,setup:function(t){e.extend(this.data,t)},initialize:function(){var e=this.getFrameOptions();this.addFrameStates(e);var t=wp.media(e);t.acf=this,this.addFrameEvents(t,e),this.frame=t},open:function(){this.frame.open()},close:function(){this.frame.close()},remove:function(){this.frame.detach(),this.frame.remove()},getFrameOptions:function(){var e={title:this.get("title"),multiple:this.get("multiple"),library:{},states:[]};return this.get("type")&&(e.library.type=this.get("type")),"uploadedTo"===this.get("library")&&(e.library.uploadedTo=t()),this.get("attachment")&&(e.library.post__in=[this.get("attachment")]),this.get("button")&&(e.button={text:this.get("button")}),e},addFrameStates:function(e){var t=wp.media.query(e.library);this.get("field")&&acf.isset(t,"mirroring","args")&&(t.mirroring.args._acfuploader=this.get("field")),e.states.push(new wp.media.controller.Library({library:t,multiple:this.get("multiple"),title:this.get("title"),priority:20,filterable:"all",editable:!0,allowLocalEdits:!0})),acf.isset(wp,"media","controller","EditImage")&&e.states.push(new wp.media.controller.EditImage)},addFrameEvents:function(e,t){e.on("open",(function(){this.$el.closest(".media-modal").addClass("acf-media-modal -"+this.acf.get("mode"))}),e),e.on("content:render:edit-image",(function(){var e=this.state().get("image"),t=new wp.media.view.EditImage({model:e,controller:this}).render();this.content.set(t),t.loadEditor()}),e),e.on("select",(function(){var t=e.state().get("selection");t&&t.each((function(t,i){e.acf.get("select").apply(e.acf,[t,i])}))})),e.on("close",(function(){setTimeout((function(){e.acf.get("close").apply(e.acf),e.acf.remove()}),1)}))}});acf.models.SelectMediaPopup=i.extend({id:"SelectMediaPopup",setup:function(e){e.button||(e.button=acf._x("Select","verb")),i.prototype.setup.apply(this,arguments)},addFrameEvents:function(e,t){acf.isset(_wpPluploadSettings,"defaults","multipart_params")&&(_wpPluploadSettings.defaults.multipart_params._acfuploader=this.get("field"),e.on("open",(function(){delete _wpPluploadSettings.defaults.multipart_params._acfuploader}))),e.on("content:activate:browse",(function(){var t=!1;try{t=e.content.get().toolbar}catch(e){return void console.log(e)}e.acf.customizeFilters.apply(e.acf,[t])})),i.prototype.addFrameEvents.apply(this,arguments)},customizeFilters:function(t){var i=t.get("filters");if("image"==this.get("type")&&(i.filters.all.text=acf.__("All images"),delete i.filters.audio,delete i.filters.video,delete i.filters.image,e.each(i.filters,(function(e,t){t.props.type=t.props.type||"image"}))),this.get("allowedTypes")&&this.get("allowedTypes").split(" ").join("").split(".").join("").split(",").map((function(e){var t=acf.getMimeType(e);if(t){var a={text:t,props:{status:null,type:t,uploadedTo:null,orderby:"date",order:"DESC"},priority:20};i.filters[t]=a}})),"uploadedTo"===this.get("library")){var a=this.frame.options.library.uploadedTo;delete i.filters.unattached,delete i.filters.uploaded,e.each(i.filters,(function(e,t){t.text+=" ("+acf.__("Uploaded to this post")+")",t.props.uploadedTo=a}))}var n=this.get("field");e.each(i.filters,(function(e,t){t.props._acfuploader=n})),t.get("search").model.attributes._acfuploader=n,i.renderFilters&&i.renderFilters()}}),acf.models.EditMediaPopup=i.extend({id:"SelectMediaPopup",setup:function(e){e.button||(e.button=acf._x("Update","verb")),i.prototype.setup.apply(this,arguments)},addFrameEvents:function(e,t){e.on("open",(function(){this.$el.closest(".media-modal").addClass("acf-expanded"),"browse"!=this.content.mode()&&this.content.mode("browse");var t=this.state().get("selection"),i=wp.media.attachment(e.acf.get("attachment"));t.add(i)}),e),i.prototype.addFrameEvents.apply(this,arguments)}}),new acf.Model({id:"customizePrototypes",wait:"ready",initialize:function(){if(acf.isset(window,"wp","media","view")){var e=t();e&&acf.isset(wp,"media","view","settings","post")&&(wp.media.view.settings.post.id=e),this.customizeAttachmentsButton(),this.customizeAttachmentsRouter(),this.customizeAttachmentFilters(),this.customizeAttachmentCompat(),this.customizeAttachmentLibrary()}},customizeAttachmentsButton:function(){if(acf.isset(wp,"media","view","Button")){var e=wp.media.view.Button;wp.media.view.Button=e.extend({initialize:function(){var e=_.defaults(this.options,this.defaults);this.model=new Backbone.Model(e),this.listenTo(this.model,"change",this.render)}})}},customizeAttachmentsRouter:function(){if(acf.isset(wp,"media","view","Router")){var t=wp.media.view.Router;wp.media.view.Router=t.extend({addExpand:function(){var t=e(['',''+acf.__("Expand Details")+"",''+acf.__("Collapse Details")+"",""].join(""));t.on("click",(function(t){t.preventDefault();var i=e(this).closest(".media-modal");i.hasClass("acf-expanded")?i.removeClass("acf-expanded"):i.addClass("acf-expanded")})),this.$el.append(t)},initialize:function(){return t.prototype.initialize.apply(this,arguments),this.addExpand(),this}})}},customizeAttachmentFilters:function(){acf.isset(wp,"media","view","AttachmentFilters","All")&&(wp.media.view.AttachmentFilters.All.prototype.renderFilters=function(){this.$el.html(_.chain(this.filters).map((function(t,i){return{el:e("").val(i).html(t.text)[0],priority:t.priority||50}}),this).sortBy("priority").pluck("el").value())})},customizeAttachmentCompat:function(){if(acf.isset(wp,"media","view","AttachmentCompat")){var t=wp.media.view.AttachmentCompat,i=!1;wp.media.view.AttachmentCompat=t.extend({render:function(){return this.rendered?this:(t.prototype.render.apply(this,arguments),this.$("#acf-form-data").length?(clearTimeout(i),i=setTimeout(e.proxy((function(){this.rendered=!0,acf.doAction("append",this.$el)}),this),50),this):this)},save:function(e){var t;e&&e.preventDefault(),t=acf.serializeForAjax(this.$el),this.controller.trigger("attachment:compat:waiting",["waiting"]),this.model.saveCompat(t).always(_.bind(this.postSave,this))}})}},customizeAttachmentLibrary:function(){if(acf.isset(wp,"media","view","Attachment","Library")){var e=wp.media.view.Attachment.Library;wp.media.view.Attachment.Library=e.extend({render:function(){var t=acf.isget(this,"controller","acf"),i=acf.isget(this,"model","attributes");if(t&&i){i.acf_errors&&this.$el.addClass("acf-disabled");var a=t.get("selected");a&&a.indexOf(i.id)>-1&&this.$el.addClass("acf-selected")}return e.prototype.render.apply(this,arguments)},toggleSelection:function(t){this.collection;var i=this.options.selection,a=this.model,n=(i.single(),this.controller),s=acf.isget(this,"model","attributes","acf_errors"),o=n.$el.find(".media-frame-content .media-sidebar");if(o.children(".acf-selection-error").remove(),o.children().removeClass("acf-hidden"),n&&s){var r=acf.isget(this,"model","attributes","filename");return o.children().addClass("acf-hidden"),o.prepend(['
                          ',''+acf.__("Restricted")+"",''+r+"",''+s+"","
                          "].join("")),i.reset(),void i.single(a)}return e.prototype.toggleSelection.apply(this,arguments)}})}}})}(jQuery)},993:()=>{var e;e=jQuery,new acf.Model({wait:"prepare",priority:1,initialize:function(){(acf.get("postboxes")||[]).map(acf.newPostbox)}}),acf.getPostbox=function(t){return"string"==typeof arguments[0]&&(t=e("#"+arguments[0])),acf.getInstance(t)},acf.getPostboxes=function(){return acf.getInstances(e(".acf-postbox"))},acf.newPostbox=function(e){return new acf.models.Postbox(e)},acf.models.Postbox=acf.Model.extend({data:{id:"",key:"",style:"default",label:"top",edit:""},setup:function(t){t.editLink&&(t.edit=t.editLink),e.extend(this.data,t),this.$el=this.$postbox()},$postbox:function(){return e("#"+this.get("id"))},$hide:function(){return e("#"+this.get("id")+"-hide")},$hideLabel:function(){return this.$hide().parent()},$hndle:function(){return this.$("> .hndle")},$handleActions:function(){return this.$("> .postbox-header .handle-actions")},$inside:function(){return this.$("> .inside")},isVisible:function(){return this.$el.hasClass("acf-hidden")},isHiddenByScreenOptions:function(){return this.$el.hasClass("hide-if-js")||"none"==this.$el.css("display")},initialize:function(){if(this.$el.addClass("acf-postbox"),"block"!==acf.get("editor")){var e=this.get("style");"default"!==e&&this.$el.addClass(e)}this.$inside().addClass("acf-fields").addClass("-"+this.get("label"));var t=this.get("edit");if(t){var i='',a=this.$handleActions();a.length?a.prepend(i):this.$hndle().append(i)}this.show()},show:function(){this.$el.hasClass("hide-if-js")?this.$hide().prop("checked",!1):(this.$hideLabel().show(),this.$hide().prop("checked",!0),this.$el.show().removeClass("acf-hidden"),acf.doAction("show_postbox",this))},enable:function(){acf.enable(this.$el,"postbox")},showEnable:function(){this.enable(),this.show()},hide:function(){this.$hideLabel().hide(),this.$el.hide().addClass("acf-hidden"),acf.doAction("hide_postbox",this)},disable:function(){acf.disable(this.$el,"postbox")},hideDisable:function(){this.disable(),this.hide()},html:function(e){this.$inside().html(e),acf.doAction("append",this.$el)}})},9400:()=>{var e;e=jQuery,acf.screen=new acf.Model({active:!0,xhr:!1,timeout:!1,wait:"load",events:{"change #page_template":"onChange","change #parent_id":"onChange","change #post-formats-select":"onChange","change .categorychecklist":"onChange","change .tagsdiv":"onChange",'change .acf-taxonomy-field[data-save="1"]':"onChange","change #product-type":"onChange"},isPost:function(){return"post"===acf.get("screen")},isUser:function(){return"user"===acf.get("screen")},isTaxonomy:function(){return"taxonomy"===acf.get("screen")},isAttachment:function(){return"attachment"===acf.get("screen")},isNavMenu:function(){return"nav_menu"===acf.get("screen")},isWidget:function(){return"widget"===acf.get("screen")},isComment:function(){return"comment"===acf.get("screen")},getPageTemplate:function(){var t=e("#page_template");return t.length?t.val():null},getPageParent:function(t,i){return(i=e("#parent_id")).length?i.val():null},getPageType:function(e,t){return this.getPageParent()?"child":"parent"},getPostType:function(){return e("#post_type").val()},getPostFormat:function(t,i){if((i=e("#post-formats-select input:checked")).length){var a=i.val();return"0"==a?"standard":a}return null},getPostCoreTerms:function(){var t={},i=acf.serialize(e(".categorydiv, .tagsdiv"));for(var a in i.tax_input&&(t=i.tax_input),i.post_category&&(t.category=i.post_category),t)acf.isArray(t[a])||(t[a]=t[a].split(/,[\s]?/));return t},getPostTerms:function(){var e=this.getPostCoreTerms();for(var t in acf.getFields({type:"taxonomy"}).map((function(t){if(t.get("save")){var i=t.val(),a=t.get("taxonomy");i&&(e[a]=e[a]||[],i=acf.isArray(i)?i:[i],e[a]=e[a].concat(i))}})),null!==(productType=this.getProductType())&&(e.product_type=[productType]),e)e[t]=acf.uniqueArray(e[t]);return e},getProductType:function(){var t=e("#product-type");return t.length?t.val():null},check:function(){if("post"===acf.get("screen")){this.xhr&&this.xhr.abort();var t=acf.parseArgs(this.data,{action:"acf/ajax/check_screen",screen:acf.get("screen"),exists:[]});this.isPost()&&(t.post_id=acf.get("post_id")),null!==(postType=this.getPostType())&&(t.post_type=postType),null!==(pageTemplate=this.getPageTemplate())&&(t.page_template=pageTemplate),null!==(pageParent=this.getPageParent())&&(t.page_parent=pageParent),null!==(pageType=this.getPageType())&&(t.page_type=pageType),null!==(postFormat=this.getPostFormat())&&(t.post_format=postFormat),null!==(postTerms=this.getPostTerms())&&(t.post_terms=postTerms),acf.getPostboxes().map((function(e){t.exists.push(e.get("key"))})),t=acf.applyFilters("check_screen_args",t),this.xhr=e.ajax({url:acf.get("ajaxurl"),data:acf.prepareForAjax(t),type:"post",dataType:"json",context:this,success:function(e){"post"==acf.get("screen")?this.renderPostScreen(e):"user"==acf.get("screen")&&this.renderUserScreen(e),acf.doAction("check_screen_complete",e,t)}})}},onChange:function(e,t){this.setTimeout(this.check,1)},renderPostScreen:function(t){var i=function(t,i){var a=e._data(t[0]).events;for(var n in a)for(var s=0;s=0;n--)if(e("#"+i[n]).length)return e("#"+i[n]).after(e("#"+t));for(n=a+1;n=5.5)var r=['
                          ','

                          ',""+acf.escHtml(n.title)+"","

                          ",'
                          ','","
                          ","
                          "].join("");else r=['",'

                          ',""+acf.escHtml(n.title)+"","

                          "].join("");n.classes||(n.classes="");var c=e(['
                          ',r,'
                          ',n.html,"
                          ","
                          "].join(""));if(e("#adv-settings").length){var l=e("#adv-settings .metabox-prefs"),d=e(['"].join(""));i(l.find("input").first(),d.find("input")),l.append(d)}e(".postbox").length&&(i(e(".postbox .handlediv").first(),c.children(".handlediv")),i(e(".postbox .hndle").first(),c.children(".hndle"))),"side"===n.position?e("#"+n.position+"-sortables").append(c):e("#"+n.position+"-sortables").prepend(c);var u=[];if(t.results.map((function(t){n.position===t.position&&e("#"+n.position+"-sortables #"+t.id).length&&u.push(t.id)})),a(n.id,u),t.sorted)for(var f in t.sorted){let e=t.sorted[f];if("string"==typeof e&&(e=e.split(","),a(n.id,e)))break}o=acf.newPostbox(n),acf.doAction("append",c),acf.doAction("append_postbox",o)}return o.showEnable(),t.visible.push(n.id),n})),acf.getPostboxes().map((function(e){-1===t.visible.indexOf(e.get("id"))&&(e.hideDisable(),t.hidden.push(e.get("id")))})),e("#acf-style").html(t.style),acf.doAction("refresh_post_screen",t)},renderUserScreen:function(e){}}),new acf.Model({postEdits:{},wait:"prepare",initialize:function(){acf.isGutenbergPostEditor()&&(wp.data.subscribe(acf.debounce(this.onChange).bind(this)),acf.screen.getPageTemplate=this.getPageTemplate,acf.screen.getPageParent=this.getPageParent,acf.screen.getPostType=this.getPostType,acf.screen.getPostFormat=this.getPostFormat,acf.screen.getPostCoreTerms=this.getPostCoreTerms,acf.unload.disable(),parseFloat(acf.get("wp_version"))>=5.3&&this.addAction("refresh_post_screen",this.onRefreshPostScreen),wp.domReady(acf.refresh))},onChange:function(){var e=["template","parent","format"];(wp.data.select("core").getTaxonomies()||[]).map((function(t){e.push(t.rest_base)}));var t=wp.data.select("core/editor").getPostEdits(),i={};e.map((function(e){void 0!==t[e]&&(i[e]=t[e])})),JSON.stringify(i)!==JSON.stringify(this.postEdits)&&(this.postEdits=i,acf.screen.check())},getPageTemplate:function(){return wp.data.select("core/editor").getEditedPostAttribute("template")},getPageParent:function(e,t){return wp.data.select("core/editor").getEditedPostAttribute("parent")},getPostType:function(){return wp.data.select("core/editor").getEditedPostAttribute("type")},getPostFormat:function(e,t){return wp.data.select("core/editor").getEditedPostAttribute("format")},getPostCoreTerms:function(){var e={};return(wp.data.select("core").getTaxonomies()||[]).map((function(t){var i=wp.data.select("core/editor").getEditedPostAttribute(t.rest_base);i&&(e[t.slug]=i)})),e},onRefreshPostScreen:function(e){var t=wp.data.select("core/edit-post"),i=wp.data.dispatch("core/edit-post"),a={};t.getActiveMetaBoxLocations().map((function(e){a[e]=t.getMetaBoxesPerLocation(e)}));var n=[];for(var s in a)a[s].map((function(e){n.push(e.id)}));for(var s in e.results.filter((function(e){return-1===n.indexOf(e.id)})).map((function(e,t){var i=e.position;a[i]=a[i]||[],a[i].push({id:e.id,title:e.title})})),a)a[s]=a[s].filter((function(t){return-1===e.hidden.indexOf(t.id)}));i.setAvailableMetaBoxesPerLocation(a)}})},2900:()=>{!function(e,t){function i(){return acf.isset(window,"jQuery","fn","select2","amd")?4:!!acf.isset(window,"Select2")&&3}acf.newSelect2=function(e,t){if(t=acf.parseArgs(t,{allowNull:!1,placeholder:"",multiple:!1,field:!1,ajax:!1,ajaxAction:"",ajaxData:function(e){return e},ajaxResults:function(e){return e},escapeMarkup:!1,templateSelection:!1,templateResult:!1,dropdownCssClass:"",suppressFilters:!1}),4==i())var a=new n(e,t);else a=new s(e,t);return acf.doAction("new_select2",a),a};var a=acf.Model.extend({setup:function(t,i){e.extend(this.data,i),this.$el=t},initialize:function(){},selectOption:function(e){var t=this.getOption(e);t.prop("selected")||t.prop("selected",!0).trigger("change")},unselectOption:function(e){var t=this.getOption(e);t.prop("selected")&&t.prop("selected",!1).trigger("change")},getOption:function(e){return this.$('option[value="'+e+'"]')},addOption:function(t){t=acf.parseArgs(t,{id:"",text:"",selected:!1});var i=this.getOption(t.id);return i.length||((i=e("")).html(t.text),i.attr("value",t.id),i.prop("selected",t.selected),this.$el.append(i)),i},getValue:function(){var t=[],i=this.$el.find("option:selected");return i.exists()?((i=i.sort((function(e,t){return+e.getAttribute("data-i")-+t.getAttribute("data-i")}))).each((function(){var i=e(this);t.push({$el:i,id:i.attr("value"),text:i.text()})})),t):t},mergeOptions:function(){},getChoices:function(){var t=function(i){var a=[];return i.children().each((function(){var i=e(this);i.is("optgroup")?a.push({text:i.attr("label"),children:t(i)}):a.push({id:i.attr("value"),text:i.text()})})),a};return t(this.$el)},getAjaxData:function(e){var t={action:this.get("ajaxAction"),s:e.term||"",paged:e.page||1},i=this.get("field");i&&(t.field_key=i.get("key"),i.get("nonce")&&(t.nonce=i.get("nonce")));var a=this.get("ajaxData");return a&&(t=a.apply(this,[t,e])),t=acf.applyFilters("select2_ajax_data",t,this.data,this.$el,i||!1,this),acf.prepareForAjax(t)},getAjaxResults:function(e,t){e=acf.parseArgs(e,{results:!1,more:!1});var i=this.get("ajaxResults");return i&&(e=i.apply(this,[e,t])),acf.applyFilters("select2_ajax_results",e,t,this)},processAjaxResults:function(t,i){return(t=this.getAjaxResults(t,i)).more&&(t.pagination={more:!0}),setTimeout(e.proxy(this.mergeOptions,this),1),t},destroy:function(){this.$el.data("select2")&&this.$el.select2("destroy"),this.$el.siblings(".select2-container").remove()}}),n=a.extend({initialize:function(){var i=this.$el,a={width:"100%",allowClear:this.get("allowNull"),placeholder:this.get("placeholder"),multiple:this.get("multiple"),escapeMarkup:this.get("escapeMarkup"),templateSelection:this.get("templateSelection"),templateResult:this.get("templateResult"),dropdownCssClass:this.get("dropdownCssClass"),suppressFilters:this.get("suppressFilters"),data:[]};a.templateSelection||delete a.templateSelection,a.templateResult||delete a.templateResult,a.dropdownCssClass||delete a.dropdownCssClass,acf.isset(window,"jQuery","fn","selectWoo")?(delete a.templateSelection,delete a.templateResult):a.templateSelection||(a.templateSelection=function(t){var i=e('');return i.html(a.escapeMarkup(t.text)),i.data("element",t.element),i}),a.escapeMarkup||(a.escapeMarkup=function(e){return"string"!=typeof e?e:this.suppressFilters?acf.strEscape(e):acf.applyFilters("select2_escape_markup",acf.strEscape(e),e,i,this.data,s||!1,this)}),a.multiple&&this.getValue().map((function(e){e.$el.detach().appendTo(i)}));var n=i.attr("data-ajax");if(n!==t&&(i.removeData("ajax"),i.removeAttr("data-ajax")),this.get("ajax")&&(a.ajax={url:acf.get("ajaxurl"),delay:250,dataType:"json",type:"post",cache:!1,data:e.proxy(this.getAjaxData,this),processResults:e.proxy(this.processAjaxResults,this)}),!a.suppressFilters){var s=this.get("field");a=acf.applyFilters("select2_args",a,i,this.data,s||!1,this)}i.select2(a);var o=i.next(".select2-container");if(a.multiple){var r=o.find("ul");r.sortable({stop:function(t){r.find(".select2-selection__choice").each((function(){if(e(this).data("data"))var t=e(e(this).data("data").element);else t=e(e(this).find("span.acf-selection").data("element"));t.detach().appendTo(i)})),i.trigger("change")}}),i.on("select2:select",this.proxy((function(e){this.getOption(e.params.data.id).detach().appendTo(this.$el)})))}i.on("select2:open",(()=>{e(".select2-container--open .select2-search__field").get(-1).focus()})),o.addClass("-acf"),n!==t&&i.attr("data-ajax",n),a.suppressFilters||acf.doAction("select2_init",i,a,this.data,s||!1,this)},mergeOptions:function(){var t=!1,i=!1;e('.select2-results__option[role="group"]').each((function(){var a=e(this).children("ul"),n=e(this).children("strong");if(i&&i.text()===n.text())return t.append(a.children()),void e(this).remove();t=a,i=n}))}}),s=a.extend({initialize:function(){var t=this.$el,i=this.getValue(),a=this.get("multiple"),n={width:"100%",allowClear:this.get("allowNull"),placeholder:this.get("placeholder"),separator:"||",multiple:this.get("multiple"),data:this.getChoices(),escapeMarkup:function(e){return acf.escHtml(e)},dropdownCss:{"z-index":"999999999"},initSelection:function(e,t){t(a?i:i.shift())}},s=t.siblings("input");s.length||(s=e(''),t.before(s)),inputValue=i.map((function(e){return e.id})).join("||"),s.val(inputValue),n.multiple&&i.map((function(e){e.$el.detach().appendTo(t)})),n.allowClear&&(n.data=n.data.filter((function(e){return""!==e.id}))),t.removeData("ajax"),t.removeAttr("data-ajax"),this.get("ajax")&&(n.ajax={url:acf.get("ajaxurl"),quietMillis:250,dataType:"json",type:"post",cache:!1,data:e.proxy(this.getAjaxData,this),results:e.proxy(this.processAjaxResults,this)});var o=this.get("field");n=acf.applyFilters("select2_args",n,t,this.data,o||!1,this),s.select2(n);var r=s.select2("container"),c=e.proxy(this.getOption,this);if(n.multiple){var l=r.find("ul");l.sortable({stop:function(){l.find(".select2-search-choice").each((function(){var i=e(this).data("select2Data");c(i.id).detach().appendTo(t)})),t.trigger("change")}})}s.on("select2-selecting",(function(i){var a=i.choice,n=c(a.id);n.length||(n=e('")),n.detach().appendTo(t)})),r.addClass("-acf"),acf.doAction("select2_init",t,n,this.data,o||!1,this),s.on("change",(function(){var e=s.val();e.indexOf("||")&&(e=e.split("||")),t.val(e).trigger("change")})),t.hide()},mergeOptions:function(){var t=!1;e("#select2-drop .select2-result-with-children").each((function(){var i=e(this).children("ul"),a=e(this).children(".select2-result-label");if(t&&t.text()===a.text())return t.append(i.children()),void e(this).remove();t=a}))},getAjaxData:function(e,t){var i={term:e,page:t},n=this.get("field");return i=acf.applyFilters("select2_ajax_data",i,this.data,this.$el,n||!1,this),a.prototype.getAjaxData.apply(this,[i])}});new acf.Model({priority:5,wait:"prepare",actions:{duplicate:"onDuplicate"},initialize:function(){var e=acf.get("locale"),t=(acf.get("rtl"),acf.get("select2L10n")),a=i();return!!t&&0!==e.indexOf("en")&&void(4==a?this.addTranslations4():3==a&&this.addTranslations3())},addTranslations4:function(){var e=acf.get("select2L10n"),t=acf.get("locale");t=t.replace("_","-");var i={errorLoading:function(){return e.load_fail},inputTooLong:function(t){var i=t.input.length-t.maximum;return i>1?e.input_too_long_n.replace("%d",i):e.input_too_long_1},inputTooShort:function(t){var i=t.minimum-t.input.length;return i>1?e.input_too_short_n.replace("%d",i):e.input_too_short_1},loadingMore:function(){return e.load_more},maximumSelected:function(t){var i=t.maximum;return i>1?e.selection_too_long_n.replace("%d",i):e.selection_too_long_1},noResults:function(){return e.matches_0},searching:function(){return e.searching}};jQuery.fn.select2.amd.define("select2/i18n/"+t,[],(function(){return i}))},addTranslations3:function(){var t=acf.get("select2L10n"),i=acf.get("locale");i=i.replace("_","-");var a={formatMatches:function(e){return e>1?t.matches_n.replace("%d",e):t.matches_1},formatNoMatches:function(){return t.matches_0},formatAjaxError:function(){return t.load_fail},formatInputTooShort:function(e,i){var a=i-e.length;return a>1?t.input_too_short_n.replace("%d",a):t.input_too_short_1},formatInputTooLong:function(e,i){var a=e.length-i;return a>1?t.input_too_long_n.replace("%d",a):t.input_too_long_1},formatSelectionTooBig:function(e){return e>1?t.selection_too_long_n.replace("%d",e):t.selection_too_long_1},formatLoadMore:function(){return t.load_more},formatSearching:function(){return t.searching}};e.fn.select2.locales=e.fn.select2.locales||{},e.fn.select2.locales[i]=a,e.extend(e.fn.select2.defaults,a)},onDuplicate:function(e,t){t.find(".select2-container").remove()}})}(jQuery)},1087:()=>{var e;e=jQuery,acf.tinymce={defaults:function(){return"undefined"!=typeof tinyMCEPreInit&&{tinymce:tinyMCEPreInit.mceInit.acf_content,quicktags:tinyMCEPreInit.qtInit.acf_content}},initialize:function(e,t){(t=acf.parseArgs(t,{tinymce:!0,quicktags:!0,toolbar:"full",mode:"visual",field:!1})).tinymce&&this.initializeTinymce(e,t),t.quicktags&&this.initializeQuicktags(e,t)},initializeTinymce:function(t,i){var a=e("#"+t),n=this.defaults(),s=acf.get("toolbars"),o=i.field||!1;if(o.$el,"undefined"==typeof tinymce)return!1;if(!n)return!1;if(tinymce.get(t))return this.enable(t);var r=e.extend({},n.tinymce,i.tinymce);r.id=t,r.selector="#"+t;var c=i.toolbar;if(c&&s&&s[c])for(var l=1;l<=4;l++)r["toolbar"+l]=s[c][l]||"";if(r.setup=function(e){e.on("change",(function(t){e.save(),a.trigger("change")})),e.on("mouseup",(function(e){var t=new MouseEvent("mouseup");window.dispatchEvent(t)}))},r.wp_autoresize_on=!1,r.tadv_noautop||(r.wpautop=!0),r=acf.applyFilters("wysiwyg_tinymce_settings",r,t,o),tinyMCEPreInit.mceInit[t]=r,"visual"==i.mode){tinymce.init(r);var d=tinymce.get(t);if(!d)return!1;d.acf=i.field,acf.doAction("wysiwyg_tinymce_init",d,d.id,r,o)}},initializeQuicktags:function(t,i){var a=this.defaults();if("undefined"==typeof quicktags)return!1;if(!a)return!1;var n=e.extend({},a.quicktags,i.quicktags);n.id=t;var s=i.field||!1;s.$el,n=acf.applyFilters("wysiwyg_quicktags_settings",n,n.id,s),tinyMCEPreInit.qtInit[t]=n;var o=quicktags(n);if(!o)return!1;this.buildQuicktags(o),acf.doAction("wysiwyg_quicktags_init",o,o.id,n,s)},buildQuicktags:function(e){var t,i,a,n,s,o,r,c;for(o in e.canvas,t=e.name,i=e.settings,n="",a={},r="",c=e.id,i.buttons&&(r=","+i.buttons+","),edButtons)edButtons[o]&&(s=edButtons[o].id,r&&-1!==",strong,em,link,block,del,ins,img,ul,ol,li,code,more,close,".indexOf(","+s+",")&&-1===r.indexOf(","+s+",")||edButtons[o].instance&&edButtons[o].instance!==c||(a[s]=edButtons[o],edButtons[o].html&&(n+=edButtons[o].html(t+"_"))));r&&-1!==r.indexOf(",dfw,")&&(a.dfw=new QTags.DFWButton,n+=a.dfw.html(t+"_")),"rtl"===document.getElementsByTagName("html")[0].dir&&(a.textdirection=new QTags.TextDirectionButton,n+=a.textdirection.html(t+"_")),e.toolbar.innerHTML=n,e.theButtons=a,"undefined"!=typeof jQuery&&jQuery(document).triggerHandler("quicktags-init",[e])},disable:function(e){this.destroyTinymce(e)},remove:function(e){this.destroyTinymce(e)},destroy:function(e){this.destroyTinymce(e)},destroyTinymce:function(e){if("undefined"==typeof tinymce)return!1;var t=tinymce.get(e);return!!t&&(t.save(),t.destroy(),!0)},enable:function(e){this.enableTinymce(e)},enableTinymce:function(t){return"undefined"!=typeof switchEditors&&void 0!==tinyMCEPreInit.mceInit[t]&&(e("#"+t).show(),switchEditors.go(t,"tmce"),!0)}},new acf.Model({priority:5,actions:{prepare:"onPrepare",ready:"onReady"},onPrepare:function(){var t=e("#acf-hidden-wp-editor");t.exists()&&t.appendTo("body")},onReady:function(){acf.isset(window,"wp","oldEditor")&&(wp.editor.autop=wp.oldEditor.autop,wp.editor.removep=wp.oldEditor.removep),acf.isset(window,"tinymce","on")&&tinymce.on("AddEditor",(function(e){var t=e.editor;"acf"===t.id.substr(0,3)&&(t=tinymce.editors.content||t,tinymce.activeEditor=t,wpActiveEditor=t.id)}))}})},963:()=>{var e;e=jQuery,acf.unload=new acf.Model({wait:"load",active:!0,changed:!1,actions:{validation_failure:"startListening",validation_success:"stopListening"},events:{"change form .acf-field":"startListening","submit form":"stopListening"},enable:function(){this.active=!0},disable:function(){this.active=!1},reset:function(){this.stopListening()},startListening:function(){!this.changed&&this.active&&(this.changed=!0,e(window).on("beforeunload",this.onUnload))},stopListening:function(){this.changed=!1,e(window).off("beforeunload",this.onUnload)},onUnload:function(){return acf.__("The changes you made will be lost if you navigate away from this page")}})},2631:()=>{!function(e){var t=acf.Model.extend({id:"Validator",data:{errors:[],notice:null,status:""},events:{"changed:status":"onChangeStatus"},addErrors:function(e){e.map(this.addError,this)},addError:function(e){this.data.errors.push(e)},hasErrors:function(){return this.data.errors.length},clearErrors:function(){return this.data.errors=[]},getErrors:function(){return this.data.errors},getFieldErrors:function(){var e=[],t=[];return this.getErrors().map((function(i){if(i.input){var a=t.indexOf(i.input);a>-1?e[a]=i:(e.push(i),t.push(i.input))}})),e},getGlobalErrors:function(){return this.getErrors().filter((function(e){return!e.input}))},showErrors:function(t="before"){if(this.hasErrors()){var i=this.getFieldErrors(),a=this.getGlobalErrors(),n=0,o=!1;i.map((function(e){var i=this.$('[name="'+e.input+'"]').first();if(i.length||(i=this.$('[name^="'+e.input+'"]').first()),i.length){n++;var a=acf.getClosestField(i);s(a.$el),a.showError(e.message,t),o||(o=a.$el)}}),this);var r=acf.__("Validation failed");if(a.map((function(e){r+=". "+e.message})),1==n?r+=". "+acf.__("1 field requires attention"):n>1&&(r+=". "+acf.__("%d fields require attention").replace("%d",n)),this.has("notice"))this.get("notice").update({type:"error",text:r});else{var c=acf.newNotice({type:"error",text:r,target:this.$el});this.set("notice",c)}this.$el.parents(".acf-popup-box").length||(o||(o=this.get("notice").$el),setTimeout((function(){e("html, body").animate({scrollTop:o.offset().top-e(window).height()/2},500)}),10))}},onChangeStatus:function(e,t,i,a){this.$el.removeClass("is-"+a).addClass("is-"+i)},validate:function(t){if(t=acf.parseArgs(t,{event:!1,reset:!1,loading:function(){},complete:function(){},failure:function(){},success:function(e){e.submit()}}),"valid"==this.get("status"))return!0;if("validating"==this.get("status"))return!1;if(!this.$(".acf-field").length)return!0;if(t.event){var i=e.Event(null,t.event);t.success=function(){acf.enableSubmit(e(i.target)).trigger(i)}}acf.doAction("validation_begin",this.$el),acf.lockForm(this.$el),t.loading(this.$el,this),this.set("status","validating");var a=acf.serialize(this.$el);return a.action="acf/validate_save_post",e.ajax({url:acf.get("ajaxurl"),data:acf.prepareForAjax(a,!0),type:"post",dataType:"json",context:this,success:function(e){if(acf.isAjaxSuccess(e)){var t=acf.applyFilters("validation_complete",e.data,this.$el,this);t.valid||this.addErrors(t.errors)}},complete:function(){acf.unlockForm(this.$el),this.hasErrors()?(this.set("status","invalid"),acf.doAction("validation_failure",this.$el,this),this.showErrors(),t.failure(this.$el,this)):(this.set("status","valid"),this.has("notice")&&this.get("notice").update({type:"success",text:acf.__("Validation successful"),timeout:1e3}),acf.doAction("validation_success",this.$el,this),acf.doAction("submit",this.$el),t.success(this.$el,this),acf.lockForm(this.$el),t.reset&&this.reset()),t.complete(this.$el,this),this.clearErrors()}}),!1},setup:function(e){this.$el=e},reset:function(){this.set("errors",[]),this.set("notice",null),this.set("status",""),acf.unlockForm(this.$el)}}),i=function(e){var i=e.data("acf");return i||(i=new t(e)),i};acf.getBlockFormValidator=function(e){return i(e)},acf.validateForm=function(e){return i(e.form).validate(e)},acf.enableSubmit=function(e){return e.removeClass("disabled").removeAttr("disabled")},acf.disableSubmit=function(e){return e.addClass("disabled").attr("disabled",!0)},acf.showSpinner=function(e){return e.addClass("is-active"),e.css("display","inline-block"),e},acf.hideSpinner=function(e){return e.removeClass("is-active"),e.css("display","none"),e},acf.lockForm=function(e){var t=a(e),i=t.find('.button, [type="submit"]').not(".acf-nav, .acf-repeater-add-row"),n=t.find(".spinner, .acf-spinner");return acf.hideSpinner(n),acf.disableSubmit(i),acf.showSpinner(n.last()),e},acf.unlockForm=function(e){var t=a(e),i=t.find('.button, [type="submit"]').not(".acf-nav, .acf-repeater-add-row"),n=t.find(".spinner, .acf-spinner");return acf.enableSubmit(i),acf.hideSpinner(n),e};var a=function(t){var i;return(i=t.find("#submitdiv")).length||(i=t.find("#submitpost")).length||(i=t.find("p.submit").last()).length||(i=t.find(".acf-form-submit")).length||(i=e("#acf-create-options-page-form .acf-actions")).length||(i=e(".acf-headerbar-actions")).length?i:t},n=acf.debounce((function(e){e.submit()})),s=function(e){var t=e.parents(".acf-postbox");if(t.length){var i=acf.getPostbox(t);i&&i.isHiddenByScreenOptions()&&(i.$el.removeClass("hide-if-js"),i.$el.css("display",""))}};acf.validation=new acf.Model({id:"validation",active:!0,wait:"prepare",actions:{ready:"addInputEvents",append:"addInputEvents"},events:{'click input[type="submit"]':"onClickSubmit",'click button[type="submit"]':"onClickSubmit","click #save-post":"onClickSave","submit form#post":"onSubmitPost","submit form":"onSubmit"},initialize:function(){acf.get("validation")||(this.active=!1,this.actions={},this.events={})},enable:function(){this.active=!0},disable:function(){this.active=!1},reset:function(e){i(e).reset()},addInputEvents:function(t){if("safari"!==acf.get("browser")){var i=e(".acf-field [name]",t);i.length&&this.on(i,"invalid","onInvalid")}},onInvalid:function(e,t){e.preventDefault();var a=t.closest("form");a.length&&(i(a).addError({input:t.attr("name"),message:acf.strEscape(e.target.validationMessage)}),n(a))},onClickSubmit:function(t,i){e(".acf-field input").each((function(){this.checkValidity()||s(e(this))})),this.set("originalEvent",t)},onClickSave:function(e,t){this.set("ignore",!0)},onSubmitPost:function(t,i){"dopreview"===e("input#wp-preview").val()&&(this.set("ignore",!0),acf.unlockForm(i))},onSubmit:function(e,t){if(!this.active||this.get("ignore")||e.isDefaultPrevented())return this.allowSubmit();acf.validateForm({form:t,event:this.get("originalEvent")})||e.preventDefault()},allowSubmit:function(){return this.set("ignore",!1),this.set("originalEvent",!1),!0}}),new acf.Model({wait:"prepare",initialize:function(){acf.isGutenberg()&&this.customizeEditor()},customizeEditor:function(){var t=wp.data.dispatch("core/editor"),i=wp.data.select("core/editor"),a=wp.data.dispatch("core/notices"),n=t.savePost,s=!1,o="";wp.data.subscribe((function(){var e=i.getEditedPostAttribute("status");s="publish"===e||"future"===e,o="publish"!==e?e:o})),t.savePost=function(i){i=i||{};var r=this,c=arguments;return new Promise((function(n,r){if(i.isAutosave||i.isPreview)return n("Validation ignored (autosave).");if(!s)return n("Validation ignored (draft).");if(void 0!==acf.blockInstances){const e=wp.data.select("core/block-editor").getSelectedBlockClientId();if(e&&e in acf.blockInstances&&acf.blockInstances[e].validation_errors)return acf.debug("Rejecting save because the block editor has a invalid ACF block selected."),a.createErrorNotice(acf.__("An ACF Block on this page requires attention before you can save."),{id:"acf-validation",isDismissible:!0}),wp.data.dispatch("core/editor").lockPostSaving("acf/block/"+e),wp.data.dispatch("core/block-editor").selectBlock(!1),r("ACF Validation failed for selected block.")}acf.validateForm({form:e("#wpbody-content > .block-editor"),reset:!0,complete:function(e,i){t.unlockPostSaving("acf")},failure:function(e,i){var n=i.get("notice");a.createErrorNotice(n.get("text"),{id:"acf-validation",isDismissible:!0}),n.remove(),o&&t.editPost({status:o}),r("Validation failed.")},success:function(){a.removeNotice("acf-validation"),n("Validation success.")}})?n("Validation bypassed."):t.lockPostSaving("acf")})).then((function(){return n.apply(r,c)}),(e=>{}))}}})}(jQuery)}},t={};function i(a){var n=t[a];if(void 0!==n)return n.exports;var s=t[a]={exports:{}};return e[a](s,s.exports,i),s.exports}i.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return i.d(t,{a:t}),t},i.d=(e,t)=>{for(var a in t)i.o(t,a)&&!i.o(e,a)&&Object.defineProperty(e,a,{enumerable:!0,get:t[a]})},i.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{"use strict";i(5338),i(2457),i(5593),i(6289),i(774),i(3623),i(9982),i(960),i(1163),i(3045),i(2410),i(2093),i(5915),i(2237),i(9252),i(6290),i(7509),i(6403),i(5848),i(2553),i(7513),i(9732),i(3284),i(9213),i(1525),i(5942),i(9938),i(8903),i(3858),i(2747),i(963),i(993),i(1218),i(9400),i(2900),i(1087),i(2631),i(8223),i(4750)})()})(); \ No newline at end of file diff --git a/wp-content/plugins/advanced-custom-fields-pro/assets/build/js/acf-internal-post-type.js b/wp-content/plugins/advanced-custom-fields-pro/assets/build/js/acf-internal-post-type.js deleted file mode 100644 index e4e514172..000000000 --- a/wp-content/plugins/advanced-custom-fields-pro/assets/build/js/acf-internal-post-type.js +++ /dev/null @@ -1,402 +0,0 @@ -/******/ (() => { // webpackBootstrap -/******/ var __webpack_modules__ = ({ - -/***/ "./src/advanced-custom-fields-pro/assets/src/js/_acf-internal-post-type.js": -/*!*********************************************************************************!*\ - !*** ./src/advanced-custom-fields-pro/assets/src/js/_acf-internal-post-type.js ***! - \*********************************************************************************/ -/***/ (() => { - -(function ($, undefined) { - /** - * internalPostTypeSettingsManager - * - * Model for handling events in the settings metaboxes of internal post types - * - * @since 6.1 - */ - const internalPostTypeSettingsManager = new acf.Model({ - id: 'internalPostTypeSettingsManager', - wait: 'ready', - events: { - 'blur .acf_slugify_to_key': 'onChangeSlugify', - 'blur .acf_singular_label': 'onChangeSingularLabel', - 'blur .acf_plural_label': 'onChangePluralLabel', - 'change .acf_hierarchical_switch': 'onChangeHierarchical', - 'click .acf-regenerate-labels': 'onClickRegenerateLabels', - 'click .acf-clear-labels': 'onClickClearLabels', - 'change .rewrite_slug_field': 'onChangeURLSlug', - 'keyup .rewrite_slug_field': 'onChangeURLSlug' - }, - onChangeSlugify: function (e, $el) { - const name = $el.val(); - const $keyInput = $('.acf_slugified_key'); - - // Generate field key. - if ($keyInput.val().trim() == '') { - let slug = acf.strSanitize(name.trim()).replaceAll('_', '-'); - slug = acf.applyFilters('generate_internal_post_type_name', slug, this); - let slugLength = 0; - if ('taxonomy' === acf.get('screen')) { - slugLength = 32; - } else if ('post_type' === acf.get('screen')) { - slugLength = 20; - } - if (slugLength) { - slug = slug.substring(0, slugLength); - } - $keyInput.val(slug); - } - }, - initialize: function () { - // check we should init. - if (!['taxonomy', 'post_type'].includes(acf.get('screen'))) return; - - // select2 - const template = function (selection) { - if ('undefined' === typeof selection.element) { - return selection; - } - const $parentSelect = $(selection.element.parentElement); - const $selection = $(''); - $selection.html(acf.strEscape(selection.element.innerHTML)); - let isDefault = false; - if ($parentSelect.filter('.acf-taxonomy-manage_terms, .acf-taxonomy-edit_terms, .acf-taxonomy-delete_terms').length && selection.id === 'manage_categories') { - isDefault = true; - } else if ($parentSelect.filter('.acf-taxonomy-assign_terms').length && selection.id === 'edit_posts') { - isDefault = true; - } else if (selection.id === 'taxonomy_key' || selection.id === 'post_type_key' || selection.id === 'default') { - isDefault = true; - } - if (isDefault) { - $selection.append('' + acf.__('Default') + ''); - } - $selection.data('element', selection.element); - return $selection; - }; - acf.newSelect2($('select.query_var'), { - field: false, - templateSelection: template, - templateResult: template - }); - acf.newSelect2($('select.acf-taxonomy-manage_terms'), { - field: false, - templateSelection: template, - templateResult: template - }); - acf.newSelect2($('select.acf-taxonomy-edit_terms'), { - field: false, - templateSelection: template, - templateResult: template - }); - acf.newSelect2($('select.acf-taxonomy-delete_terms'), { - field: false, - templateSelection: template, - templateResult: template - }); - acf.newSelect2($('select.acf-taxonomy-assign_terms'), { - field: false, - templateSelection: template, - templateResult: template - }); - acf.newSelect2($('select.meta_box'), { - field: false, - templateSelection: template, - templateResult: template - }); - const permalinkRewrite = acf.newSelect2($('select.permalink_rewrite'), { - field: false, - templateSelection: template, - templateResult: template - }); - $('.rewrite_slug_field').trigger('change'); - permalinkRewrite.on('change', function (e) { - $('.rewrite_slug_field').trigger('change'); - }); - }, - onChangeURLSlug: function (e, $el) { - const $field = $('div.acf-field.acf-field-permalink-rewrite'); - const rewriteType = $field.find('select').find('option:selected').val(); - const originalInstructions = $field.data(rewriteType + '_instructions'); - const siteURL = $field.data('site_url'); - const $permalinkDesc = $field.find('p.description').first(); - if (rewriteType === 'taxonomy_key' || rewriteType === 'post_type_key') { - var slugvalue = $('.acf_slugified_key').val().trim(); - } else { - var slugvalue = $el.val().trim(); - } - if (!slugvalue.length) slugvalue = '{slug}'; - $permalinkDesc.html($('' + originalInstructions + '').text().replace('{slug}', '' + $('' + siteURL + '/' + slugvalue + '').text() + '')); - }, - onChangeSingularLabel: function (e, $el) { - const label = $el.val(); - this.updateLabels(label, 'singular', false); - }, - onChangePluralLabel: function (e, $el) { - const label = $el.val(); - this.updateLabels(label, 'plural', false); - }, - onChangeHierarchical: function (e, $el) { - const hierarchical = $el.is(':checked'); - if ('taxonomy' === acf.get('screen')) { - let text = $('.acf-field-meta-box').data('tags_meta_box'); - if (hierarchical) { - text = $('.acf-field-meta-box').data('categories_meta_box'); - } - $('#acf_taxonomy-meta_box').find('option:first').text(text).trigger('change'); - } - this.updatePlaceholders(hierarchical); - }, - onClickRegenerateLabels: function (e, $el) { - this.updateLabels($('.acf_singular_label').val(), 'singular', true); - this.updateLabels($('.acf_plural_label').val(), 'plural', true); - }, - onClickClearLabels: function (e, $el) { - this.clearLabels(); - }, - updateLabels(label, type, force) { - $('[data-label][data-replace="' + type + '"').each((index, element) => { - var $input = $(element).find('input[type="text"]').first(); - if (!force && $input.val() != '') return; - if (label == '') return; - $input.val($(element).data('transform') === 'lower' ? $(element).data('label').replace('%s', label.toLowerCase()) : $(element).data('label').replace('%s', label)); - }); - }, - clearLabels() { - $('[data-label]').each((index, element) => { - $(element).find('input[type="text"]').first().val(''); - }); - }, - updatePlaceholders(heirarchical) { - if (acf.get('screen') == 'post_type') { - var singular = acf.__('Post'); - var plural = acf.__('Posts'); - if (heirarchical) { - singular = acf.__('Page'); - plural = acf.__('Pages'); - } - } else { - var singular = acf.__('Tag'); - var plural = acf.__('Tags'); - if (heirarchical) { - singular = acf.__('Category'); - plural = acf.__('Categories'); - } - } - $('[data-label]').each((index, element) => { - var useReplacement = $(element).data('replace') === 'plural' ? plural : singular; - if ($(element).data('transform') === 'lower') { - useReplacement = useReplacement.toLowerCase(); - } - $(element).find('input[type="text"]').first().attr('placeholder', $(element).data('label').replace('%s', useReplacement)); - }); - } - }); - - /** - * advancedSettingsMetaboxManager - * - * Screen options functionality for internal post types - * - * @since 6.1 - */ - const advancedSettingsMetaboxManager = new acf.Model({ - id: 'advancedSettingsMetaboxManager', - wait: 'load', - events: { - 'change .acf-advanced-settings-toggle': 'onToggleACFAdvancedSettings', - 'change #screen-options-wrap #acf-advanced-settings-hide': 'onToggleScreenOptionsAdvancedSettings' - }, - initialize: function () { - this.$screenOptionsToggle = $('#screen-options-wrap #acf-advanced-settings-hide:first'); - this.$ACFAdvancedToggle = $('.acf-advanced-settings-toggle:first'); - this.render(); - }, - isACFAdvancedSettingsChecked: function () { - // Screen option is hidden by filter. - if (!this.$ACFAdvancedToggle.length) { - return false; - } - return this.$ACFAdvancedToggle.prop('checked'); - }, - isScreenOptionsAdvancedSettingsChecked: function () { - // Screen option is hidden by filter. - if (!this.$screenOptionsToggle.length) { - return false; - } - return this.$screenOptionsToggle.prop('checked'); - }, - onToggleScreenOptionsAdvancedSettings: function () { - if (this.isScreenOptionsAdvancedSettingsChecked()) { - if (!this.isACFAdvancedSettingsChecked()) { - this.$ACFAdvancedToggle.trigger('click'); - } - } else { - if (this.isACFAdvancedSettingsChecked()) { - this.$ACFAdvancedToggle.trigger('click'); - } - } - }, - onToggleACFAdvancedSettings: function () { - if (this.isACFAdvancedSettingsChecked()) { - if (!this.isScreenOptionsAdvancedSettingsChecked()) { - this.$screenOptionsToggle.trigger('click'); - } - } else { - if (this.isScreenOptionsAdvancedSettingsChecked()) { - this.$screenOptionsToggle.trigger('click'); - } - } - }, - render: function () { - // On render, sync screen options to ACF's setting. - this.onToggleACFAdvancedSettings(); - } - }); - const linkFieldGroupsManger = new acf.Model({ - id: 'linkFieldGroupsManager', - events: { - 'click .acf-link-field-groups': 'linkFieldGroups' - }, - linkFieldGroups: function () { - let popup = false; - const step1 = function () { - $.ajax({ - url: acf.get('ajaxurl'), - data: acf.prepareForAjax({ - action: 'acf/link_field_groups' - }), - type: 'post', - dataType: 'json', - success: step2 - }); - }; - const step2 = function (response) { - popup = acf.newPopup({ - title: response.data.title, - content: response.data.content, - width: '600px' - }); - popup.$el.addClass('acf-link-field-groups-popup'); - popup.on('submit', 'form', step3); - }; - const step3 = function (e) { - e.preventDefault(); - const $select = popup.$('select'); - const val = $select.val(); - if (!val.length) { - $select.focus(); - return; - } - acf.startButtonLoading(popup.$('.button')); - - // get HTML - $.ajax({ - url: acf.get('ajaxurl'), - data: acf.prepareForAjax({ - action: 'acf/link_field_groups', - field_groups: val - }), - type: 'post', - dataType: 'json', - success: step4 - }); - }; - const step4 = function (response) { - popup.content(response.data.content); - if (wp.a11y && wp.a11y.speak && acf.__) { - wp.a11y.speak(acf.__('Field groups linked successfully.'), 'polite'); - } - popup.$('button.acf-close-popup').focus(); - }; - step1(); - } - }); -})(jQuery); - -/***/ }) - -/******/ }); -/************************************************************************/ -/******/ // The module cache -/******/ var __webpack_module_cache__ = {}; -/******/ -/******/ // The require function -/******/ function __webpack_require__(moduleId) { -/******/ // Check if module is in cache -/******/ var cachedModule = __webpack_module_cache__[moduleId]; -/******/ if (cachedModule !== undefined) { -/******/ return cachedModule.exports; -/******/ } -/******/ // Create a new module (and put it into the cache) -/******/ var module = __webpack_module_cache__[moduleId] = { -/******/ // no module.id needed -/******/ // no module.loaded needed -/******/ exports: {} -/******/ }; -/******/ -/******/ // Execute the module function -/******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__); -/******/ -/******/ // Return the exports of the module -/******/ return module.exports; -/******/ } -/******/ -/************************************************************************/ -/******/ /* webpack/runtime/compat get default export */ -/******/ (() => { -/******/ // getDefaultExport function for compatibility with non-harmony modules -/******/ __webpack_require__.n = (module) => { -/******/ var getter = module && module.__esModule ? -/******/ () => (module['default']) : -/******/ () => (module); -/******/ __webpack_require__.d(getter, { a: getter }); -/******/ return getter; -/******/ }; -/******/ })(); -/******/ -/******/ /* webpack/runtime/define property getters */ -/******/ (() => { -/******/ // define getter functions for harmony exports -/******/ __webpack_require__.d = (exports, definition) => { -/******/ for(var key in definition) { -/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) { -/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] }); -/******/ } -/******/ } -/******/ }; -/******/ })(); -/******/ -/******/ /* webpack/runtime/hasOwnProperty shorthand */ -/******/ (() => { -/******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop)) -/******/ })(); -/******/ -/******/ /* webpack/runtime/make namespace object */ -/******/ (() => { -/******/ // define __esModule on exports -/******/ __webpack_require__.r = (exports) => { -/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { -/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); -/******/ } -/******/ Object.defineProperty(exports, '__esModule', { value: true }); -/******/ }; -/******/ })(); -/******/ -/************************************************************************/ -var __webpack_exports__ = {}; -// This entry need to be wrapped in an IIFE because it need to be in strict mode. -(() => { -"use strict"; -/*!********************************************************************************!*\ - !*** ./src/advanced-custom-fields-pro/assets/src/js/acf-internal-post-type.js ***! - \********************************************************************************/ -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _acf_internal_post_type_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_acf-internal-post-type.js */ "./src/advanced-custom-fields-pro/assets/src/js/_acf-internal-post-type.js"); -/* harmony import */ var _acf_internal_post_type_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_acf_internal_post_type_js__WEBPACK_IMPORTED_MODULE_0__); - -})(); - -/******/ })() -; -//# sourceMappingURL=acf-internal-post-type.js.map \ No newline at end of file diff --git a/wp-content/plugins/advanced-custom-fields-pro/assets/build/js/acf-internal-post-type.js.map b/wp-content/plugins/advanced-custom-fields-pro/assets/build/js/acf-internal-post-type.js.map deleted file mode 100644 index cba6daf3b..000000000 --- a/wp-content/plugins/advanced-custom-fields-pro/assets/build/js/acf-internal-post-type.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"acf-internal-post-type.js","mappings":"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","sources":["webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/js/_acf-internal-post-type.js","webpack://advanced-custom-fields-pro/webpack/bootstrap","webpack://advanced-custom-fields-pro/webpack/runtime/compat get default export","webpack://advanced-custom-fields-pro/webpack/runtime/define property getters","webpack://advanced-custom-fields-pro/webpack/runtime/hasOwnProperty shorthand","webpack://advanced-custom-fields-pro/webpack/runtime/make namespace object","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/js/acf-internal-post-type.js"],"sourcesContent":["( function ( $, undefined ) {\n\t/**\n\t * internalPostTypeSettingsManager\n\t *\n\t * Model for handling events in the settings metaboxes of internal post types\n\t *\n\t * @since\t6.1\n\t */\n\tconst internalPostTypeSettingsManager = new acf.Model( {\n\t\tid: 'internalPostTypeSettingsManager',\n\t\twait: 'ready',\n\t\tevents: {\n\t\t\t'blur .acf_slugify_to_key': 'onChangeSlugify',\n\t\t\t'blur .acf_singular_label': 'onChangeSingularLabel',\n\t\t\t'blur .acf_plural_label': 'onChangePluralLabel',\n\t\t\t'change .acf_hierarchical_switch': 'onChangeHierarchical',\n\t\t\t'click .acf-regenerate-labels': 'onClickRegenerateLabels',\n\t\t\t'click .acf-clear-labels': 'onClickClearLabels',\n\t\t\t'change .rewrite_slug_field': 'onChangeURLSlug',\n\t\t\t'keyup .rewrite_slug_field': 'onChangeURLSlug',\n\t\t},\n\t\tonChangeSlugify: function ( e, $el ) {\n\t\t\tconst name = $el.val();\n\t\t\tconst $keyInput = $( '.acf_slugified_key' );\n\n\t\t\t// Generate field key.\n\t\t\tif ( $keyInput.val().trim() == '' ) {\n\t\t\t\tlet slug = acf\n\t\t\t\t\t.strSanitize( name.trim() )\n\t\t\t\t\t.replaceAll( '_', '-' );\n\t\t\t\tslug = acf.applyFilters(\n\t\t\t\t\t'generate_internal_post_type_name',\n\t\t\t\t\tslug,\n\t\t\t\t\tthis\n\t\t\t\t);\n\n\t\t\t\tlet slugLength = 0;\n\n\t\t\t\tif ( 'taxonomy' === acf.get( 'screen' ) ) {\n\t\t\t\t\tslugLength = 32;\n\t\t\t\t} else if ( 'post_type' === acf.get( 'screen' ) ) {\n\t\t\t\t\tslugLength = 20;\n\t\t\t\t}\n\n\t\t\t\tif ( slugLength ) {\n\t\t\t\t\tslug = slug.substring( 0, slugLength );\n\t\t\t\t}\n\n\t\t\t\t$keyInput.val( slug );\n\t\t\t}\n\t\t},\n\t\tinitialize: function () {\n\t\t\t// check we should init.\n\t\t\tif ( ! [ 'taxonomy', 'post_type' ].includes( acf.get( 'screen' ) ) )\n\t\t\t\treturn;\n\n\t\t\t// select2\n\t\t\tconst template = function ( selection ) {\n\t\t\t\tif ( 'undefined' === typeof selection.element ) {\n\t\t\t\t\treturn selection;\n\t\t\t\t}\n\n\t\t\t\tconst $parentSelect = $( selection.element.parentElement );\n\t\t\t\tconst $selection = $( '' );\n\t\t\t\t$selection.html( acf.strEscape( selection.element.innerHTML ) );\n\n\t\t\t\tlet isDefault = false;\n\n\t\t\t\tif ( $parentSelect.filter( '.acf-taxonomy-manage_terms, .acf-taxonomy-edit_terms, .acf-taxonomy-delete_terms' ).length &&\n\t\t\t\t\tselection.id === 'manage_categories'\n\t\t\t\t) {\n\t\t\t\t\tisDefault = true;\n\t\t\t\t} else if ( $parentSelect.filter( '.acf-taxonomy-assign_terms' ).length && selection.id === 'edit_posts' ) {\n\t\t\t\t\tisDefault = true;\n\t\t\t\t} else if (\n\t\t\t\t\tselection.id === 'taxonomy_key' ||\n\t\t\t\t\tselection.id === 'post_type_key' ||\n\t\t\t\t\tselection.id === 'default'\n\t\t\t\t) {\n\t\t\t\t\tisDefault = true;\n\t\t\t\t}\n\n\t\t\t\tif ( isDefault ) {\n\t\t\t\t\t$selection.append(\n\t\t\t\t\t\t'' +\n\t\t\t\t\t\tacf.__( 'Default' ) +\n\t\t\t\t\t\t''\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\t$selection.data( 'element', selection.element );\n\t\t\t\treturn $selection;\n\t\t\t};\n\n\t\t\tacf.newSelect2( $( 'select.query_var' ), {\n\t\t\t\tfield: false,\n\t\t\t\ttemplateSelection: template,\n\t\t\t\ttemplateResult: template,\n\t\t\t} );\n\n\t\t\tacf.newSelect2( $( 'select.acf-taxonomy-manage_terms' ), {\n\t\t\t\tfield: false,\n\t\t\t\ttemplateSelection: template,\n\t\t\t\ttemplateResult: template,\n\t\t\t} );\n\n\t\t\tacf.newSelect2( $( 'select.acf-taxonomy-edit_terms' ), {\n\t\t\t\tfield: false,\n\t\t\t\ttemplateSelection: template,\n\t\t\t\ttemplateResult: template,\n\t\t\t} );\n\n\t\t\tacf.newSelect2( $( 'select.acf-taxonomy-delete_terms' ), {\n\t\t\t\tfield: false,\n\t\t\t\ttemplateSelection: template,\n\t\t\t\ttemplateResult: template,\n\t\t\t} );\n\n\t\t\tacf.newSelect2( $( 'select.acf-taxonomy-assign_terms' ), {\n\t\t\t\tfield: false,\n\t\t\t\ttemplateSelection: template,\n\t\t\t\ttemplateResult: template,\n\t\t\t} );\n\n\t\t\tacf.newSelect2( $( 'select.meta_box' ), {\n\t\t\t\tfield: false,\n\t\t\t\ttemplateSelection: template,\n\t\t\t\ttemplateResult: template,\n\t\t\t} );\n\n\t\t\tconst permalinkRewrite = acf.newSelect2(\n\t\t\t\t$( 'select.permalink_rewrite' ),\n\t\t\t\t{\n\t\t\t\t\tfield: false,\n\t\t\t\t\ttemplateSelection: template,\n\t\t\t\t\ttemplateResult: template,\n\t\t\t\t}\n\t\t\t);\n\n\t\t\t$( '.rewrite_slug_field' ).trigger( 'change' );\n\t\t\tpermalinkRewrite.on( 'change', function ( e ) {\n\t\t\t\t$( '.rewrite_slug_field' ).trigger( 'change' );\n\t\t\t} );\n\t\t},\n\t\tonChangeURLSlug: function ( e, $el ) {\n\t\t\tconst $field = $( 'div.acf-field.acf-field-permalink-rewrite' );\n\t\t\tconst rewriteType = $field\n\t\t\t\t.find( 'select' )\n\t\t\t\t.find( 'option:selected' )\n\t\t\t\t.val();\n\t\t\tconst originalInstructions = $field.data(\n\t\t\t\trewriteType + '_instructions'\n\t\t\t);\n\t\t\tconst siteURL = $field.data( 'site_url' );\n\t\t\tconst $permalinkDesc = $field.find( 'p.description' ).first();\n\n\t\t\tif (\n\t\t\t\trewriteType === 'taxonomy_key' ||\n\t\t\t\trewriteType === 'post_type_key'\n\t\t\t) {\n\t\t\t\tvar slugvalue = $( '.acf_slugified_key' ).val().trim();\n\t\t\t} else {\n\t\t\t\tvar slugvalue = $el.val().trim();\n\t\t\t}\n\t\t\tif ( ! slugvalue.length ) slugvalue = '{slug}';\n\n\t\t\t$permalinkDesc.html(\n\t\t\t\t$( '' + originalInstructions + '' )\n\t\t\t\t\t.text()\n\t\t\t\t\t.replace(\n\t\t\t\t\t\t'{slug}',\n\t\t\t\t\t\t'' +\n\t\t\t\t\t\t\t$(\n\t\t\t\t\t\t\t\t'' + siteURL + '/' + slugvalue + ''\n\t\t\t\t\t\t\t).text() +\n\t\t\t\t\t\t\t''\n\t\t\t\t\t)\n\t\t\t);\n\t\t},\n\t\tonChangeSingularLabel: function ( e, $el ) {\n\t\t\tconst label = $el.val();\n\t\t\tthis.updateLabels( label, 'singular', false );\n\t\t},\n\t\tonChangePluralLabel: function ( e, $el ) {\n\t\t\tconst label = $el.val();\n\t\t\tthis.updateLabels( label, 'plural', false );\n\t\t},\n\t\tonChangeHierarchical: function ( e, $el ) {\n\t\t\tconst hierarchical = $el.is( ':checked' );\n\n\t\t\tif ( 'taxonomy' === acf.get( 'screen' ) ) {\n\t\t\t\tlet text = $( '.acf-field-meta-box' ).data( 'tags_meta_box' );\n\n\t\t\t\tif ( hierarchical ) {\n\t\t\t\t\ttext = $( '.acf-field-meta-box' ).data(\n\t\t\t\t\t\t'categories_meta_box'\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\t$( '#acf_taxonomy-meta_box' )\n\t\t\t\t\t.find( 'option:first' )\n\t\t\t\t\t.text( text )\n\t\t\t\t\t.trigger( 'change' );\n\t\t\t}\n\n\t\t\tthis.updatePlaceholders( hierarchical );\n\t\t},\n\t\tonClickRegenerateLabels: function ( e, $el ) {\n\t\t\tthis.updateLabels(\n\t\t\t\t$( '.acf_singular_label' ).val(),\n\t\t\t\t'singular',\n\t\t\t\ttrue\n\t\t\t);\n\t\t\tthis.updateLabels( $( '.acf_plural_label' ).val(), 'plural', true );\n\t\t},\n\t\tonClickClearLabels: function ( e, $el ) {\n\t\t\tthis.clearLabels();\n\t\t},\n\t\tupdateLabels( label, type, force ) {\n\t\t\t$( '[data-label][data-replace=\"' + type + '\"' ).each(\n\t\t\t\t( index, element ) => {\n\t\t\t\t\tvar $input = $( element )\n\t\t\t\t\t\t.find( 'input[type=\"text\"]' )\n\t\t\t\t\t\t.first();\n\t\t\t\t\tif ( ! force && $input.val() != '' ) return;\n\t\t\t\t\tif ( label == '' ) return;\n\t\t\t\t\t$input.val(\n\t\t\t\t\t\t$( element ).data( 'transform' ) === 'lower'\n\t\t\t\t\t\t\t? $( element )\n\t\t\t\t\t\t\t\t\t.data( 'label' )\n\t\t\t\t\t\t\t\t\t.replace( '%s', label.toLowerCase() )\n\t\t\t\t\t\t\t: $( element )\n\t\t\t\t\t\t\t\t\t.data( 'label' )\n\t\t\t\t\t\t\t\t\t.replace( '%s', label )\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t);\n\t\t},\n\t\tclearLabels() {\n\t\t\t$( '[data-label]' ).each( ( index, element ) => {\n\t\t\t\t$( element ).find( 'input[type=\"text\"]' ).first().val( '' );\n\t\t\t} );\n\t\t},\n\t\tupdatePlaceholders( heirarchical ) {\n\t\t\tif ( acf.get( 'screen' ) == 'post_type' ) {\n\t\t\t\tvar singular = acf.__( 'Post' );\n\t\t\t\tvar plural = acf.__( 'Posts' );\n\t\t\t\tif ( heirarchical ) {\n\t\t\t\t\tsingular = acf.__( 'Page' );\n\t\t\t\t\tplural = acf.__( 'Pages' );\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tvar singular = acf.__( 'Tag' );\n\t\t\t\tvar plural = acf.__( 'Tags' );\n\t\t\t\tif ( heirarchical ) {\n\t\t\t\t\tsingular = acf.__( 'Category' );\n\t\t\t\t\tplural = acf.__( 'Categories' );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t$( '[data-label]' ).each( ( index, element ) => {\n\t\t\t\tvar useReplacement =\n\t\t\t\t\t$( element ).data( 'replace' ) === 'plural'\n\t\t\t\t\t\t? plural\n\t\t\t\t\t\t: singular;\n\t\t\t\tif ( $( element ).data( 'transform' ) === 'lower' ) {\n\t\t\t\t\tuseReplacement = useReplacement.toLowerCase();\n\t\t\t\t}\n\t\t\t\t$( element )\n\t\t\t\t\t.find( 'input[type=\"text\"]' )\n\t\t\t\t\t.first()\n\t\t\t\t\t.attr(\n\t\t\t\t\t\t'placeholder',\n\t\t\t\t\t\t$( element )\n\t\t\t\t\t\t\t.data( 'label' )\n\t\t\t\t\t\t\t.replace( '%s', useReplacement )\n\t\t\t\t\t);\n\t\t\t} );\n\t\t},\n\t} );\n\n\t/**\n\t * advancedSettingsMetaboxManager\n\t *\n\t * Screen options functionality for internal post types\n\t *\n\t * @since\t6.1\n\t */\n\tconst advancedSettingsMetaboxManager = new acf.Model( {\n\t\tid: 'advancedSettingsMetaboxManager',\n\t\twait: 'load',\n\t\tevents: {\n\t\t\t'change .acf-advanced-settings-toggle':\n\t\t\t\t'onToggleACFAdvancedSettings',\n\t\t\t'change #screen-options-wrap #acf-advanced-settings-hide':\n\t\t\t\t'onToggleScreenOptionsAdvancedSettings',\n\t\t},\n\n\t\tinitialize: function () {\n\t\t\tthis.$screenOptionsToggle = $(\n\t\t\t\t'#screen-options-wrap #acf-advanced-settings-hide:first'\n\t\t\t);\n\t\t\tthis.$ACFAdvancedToggle = $(\n\t\t\t\t'.acf-advanced-settings-toggle:first'\n\t\t\t);\n\t\t\tthis.render();\n\t\t},\n\n\t\tisACFAdvancedSettingsChecked: function () {\n\t\t\t// Screen option is hidden by filter.\n\t\t\tif ( ! this.$ACFAdvancedToggle.length ) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\treturn this.$ACFAdvancedToggle.prop( 'checked' );\n\t\t},\n\n\t\tisScreenOptionsAdvancedSettingsChecked: function () {\n\t\t\t// Screen option is hidden by filter.\n\t\t\tif ( ! this.$screenOptionsToggle.length ) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\treturn this.$screenOptionsToggle.prop( 'checked' );\n\t\t},\n\n\t\tonToggleScreenOptionsAdvancedSettings: function () {\n\t\t\tif ( this.isScreenOptionsAdvancedSettingsChecked() ) {\n\t\t\t\tif ( ! this.isACFAdvancedSettingsChecked() ) {\n\t\t\t\t\tthis.$ACFAdvancedToggle.trigger( 'click' );\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif ( this.isACFAdvancedSettingsChecked() ) {\n\t\t\t\t\tthis.$ACFAdvancedToggle.trigger( 'click' );\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\tonToggleACFAdvancedSettings: function () {\n\t\t\tif ( this.isACFAdvancedSettingsChecked() ) {\n\t\t\t\tif ( ! this.isScreenOptionsAdvancedSettingsChecked() ) {\n\t\t\t\t\tthis.$screenOptionsToggle.trigger( 'click' );\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif ( this.isScreenOptionsAdvancedSettingsChecked() ) {\n\t\t\t\t\tthis.$screenOptionsToggle.trigger( 'click' );\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\trender: function () {\n\t\t\t// On render, sync screen options to ACF's setting.\n\t\t\tthis.onToggleACFAdvancedSettings();\n\t\t},\n\t} );\n\n\tconst linkFieldGroupsManger = new acf.Model( {\n\t\tid: 'linkFieldGroupsManager',\n\t\tevents: {\n\t\t\t'click .acf-link-field-groups': 'linkFieldGroups',\n\t\t},\n\n\t\tlinkFieldGroups: function () {\n\t\t\tlet popup = false;\n\n\t\t\tconst step1 = function () {\n\t\t\t\t$.ajax( {\n\t\t\t\t\turl: acf.get( 'ajaxurl' ),\n\t\t\t\t\tdata: acf.prepareForAjax( {\n\t\t\t\t\t\taction: 'acf/link_field_groups',\n\t\t\t\t\t} ),\n\t\t\t\t\ttype: 'post',\n\t\t\t\t\tdataType: 'json',\n\t\t\t\t\tsuccess: step2,\n\t\t\t\t} );\n\t\t\t};\n\t\t\tconst step2 = function ( response ) {\n\t\t\t\tpopup = acf.newPopup( {\n\t\t\t\t\ttitle: response.data.title,\n\t\t\t\t\tcontent: response.data.content,\n\t\t\t\t\twidth: '600px',\n\t\t\t\t} );\n\n\t\t\t\tpopup.$el.addClass( 'acf-link-field-groups-popup' );\n\t\t\t\tpopup.on( 'submit', 'form', step3 );\n\t\t\t};\n\t\t\tconst step3 = function ( e ) {\n\t\t\t\te.preventDefault();\n\n\t\t\t\tconst $select = popup.$( 'select' );\n\t\t\t\tconst val = $select.val();\n\n\t\t\t\tif ( ! val.length ) {\n\t\t\t\t\t$select.focus();\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tacf.startButtonLoading( popup.$( '.button' ) );\n\n\t\t\t\t// get HTML\n\t\t\t\t$.ajax( {\n\t\t\t\t\turl: acf.get( 'ajaxurl' ),\n\t\t\t\t\tdata: acf.prepareForAjax( {\n\t\t\t\t\t\taction: 'acf/link_field_groups',\n\t\t\t\t\t\tfield_groups: val,\n\t\t\t\t\t} ),\n\t\t\t\t\ttype: 'post',\n\t\t\t\t\tdataType: 'json',\n\t\t\t\t\tsuccess: step4,\n\t\t\t\t} );\n\t\t\t};\n\t\t\tconst step4 = function ( response ) {\n\t\t\t\tpopup.content( response.data.content );\n\n\t\t\t\tif ( wp.a11y && wp.a11y.speak && acf.__ ) {\n\t\t\t\t\twp.a11y.speak(\n\t\t\t\t\t\tacf.__( 'Field groups linked successfully.' ),\n\t\t\t\t\t\t'polite'\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\tpopup.$( 'button.acf-close-popup' ).focus();\n\t\t\t};\n\n\t\t\tstep1();\n\t\t},\n\t} );\n} )( jQuery );\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","import './_acf-internal-post-type.js';"],"names":["$","undefined","internalPostTypeSettingsManager","acf","Model","id","wait","events","onChangeSlugify","e","$el","name","val","$keyInput","trim","slug","strSanitize","replaceAll","applyFilters","slugLength","get","substring","initialize","includes","template","selection","element","$parentSelect","parentElement","$selection","html","strEscape","innerHTML","isDefault","filter","length","append","__","data","newSelect2","field","templateSelection","templateResult","permalinkRewrite","trigger","on","onChangeURLSlug","$field","rewriteType","find","originalInstructions","siteURL","$permalinkDesc","first","slugvalue","text","replace","onChangeSingularLabel","label","updateLabels","onChangePluralLabel","onChangeHierarchical","hierarchical","is","updatePlaceholders","onClickRegenerateLabels","onClickClearLabels","clearLabels","type","force","each","index","$input","toLowerCase","heirarchical","singular","plural","useReplacement","attr","advancedSettingsMetaboxManager","$screenOptionsToggle","$ACFAdvancedToggle","render","isACFAdvancedSettingsChecked","prop","isScreenOptionsAdvancedSettingsChecked","onToggleScreenOptionsAdvancedSettings","onToggleACFAdvancedSettings","linkFieldGroupsManger","linkFieldGroups","popup","step1","ajax","url","prepareForAjax","action","dataType","success","step2","response","newPopup","title","content","width","addClass","step3","preventDefault","$select","focus","startButtonLoading","field_groups","step4","wp","a11y","speak","jQuery"],"sourceRoot":""} \ No newline at end of file diff --git a/wp-content/plugins/advanced-custom-fields-pro/assets/build/js/acf.js b/wp-content/plugins/advanced-custom-fields-pro/assets/build/js/acf.js deleted file mode 100644 index b97606802..000000000 --- a/wp-content/plugins/advanced-custom-fields-pro/assets/build/js/acf.js +++ /dev/null @@ -1,4495 +0,0 @@ -/******/ (() => { // webpackBootstrap -/******/ var __webpack_modules__ = ({ - -/***/ "./src/advanced-custom-fields-pro/assets/src/js/_acf-hooks.js": -/*!********************************************************************!*\ - !*** ./src/advanced-custom-fields-pro/assets/src/js/_acf-hooks.js ***! - \********************************************************************/ -/***/ (() => { - -(function (window, undefined) { - 'use strict'; - - /** - * Handles managing all events for whatever you plug it into. Priorities for hooks are based on lowest to highest in - * that, lowest priority hooks are fired first. - */ - var EventManager = function () { - /** - * Maintain a reference to the object scope so our public methods never get confusing. - */ - var MethodsAvailable = { - removeFilter: removeFilter, - applyFilters: applyFilters, - addFilter: addFilter, - removeAction: removeAction, - doAction: doAction, - addAction: addAction, - storage: getStorage - }; - - /** - * Contains the hooks that get registered with this EventManager. The array for storage utilizes a "flat" - * object literal such that looking up the hook utilizes the native object literal hash. - */ - var STORAGE = { - actions: {}, - filters: {} - }; - function getStorage() { - return STORAGE; - } - - /** - * Adds an action to the event manager. - * - * @param action Must contain namespace.identifier - * @param callback Must be a valid callback function before this action is added - * @param [priority=10] Used to control when the function is executed in relation to other callbacks bound to the same hook - * @param [context] Supply a value to be used for this - */ - function addAction(action, callback, priority, context) { - if (typeof action === 'string' && typeof callback === 'function') { - priority = parseInt(priority || 10, 10); - _addHook('actions', action, callback, priority, context); - } - return MethodsAvailable; - } - - /** - * Performs an action if it exists. You can pass as many arguments as you want to this function; the only rule is - * that the first argument must always be the action. - */ - function doAction( /* action, arg1, arg2, ... */ - ) { - var args = Array.prototype.slice.call(arguments); - var action = args.shift(); - if (typeof action === 'string') { - _runHook('actions', action, args); - } - return MethodsAvailable; - } - - /** - * Removes the specified action if it contains a namespace.identifier & exists. - * - * @param action The action to remove - * @param [callback] Callback function to remove - */ - function removeAction(action, callback) { - if (typeof action === 'string') { - _removeHook('actions', action, callback); - } - return MethodsAvailable; - } - - /** - * Adds a filter to the event manager. - * - * @param filter Must contain namespace.identifier - * @param callback Must be a valid callback function before this action is added - * @param [priority=10] Used to control when the function is executed in relation to other callbacks bound to the same hook - * @param [context] Supply a value to be used for this - */ - function addFilter(filter, callback, priority, context) { - if (typeof filter === 'string' && typeof callback === 'function') { - priority = parseInt(priority || 10, 10); - _addHook('filters', filter, callback, priority, context); - } - return MethodsAvailable; - } - - /** - * Performs a filter if it exists. You should only ever pass 1 argument to be filtered. The only rule is that - * the first argument must always be the filter. - */ - function applyFilters( /* filter, filtered arg, arg2, ... */ - ) { - var args = Array.prototype.slice.call(arguments); - var filter = args.shift(); - if (typeof filter === 'string') { - return _runHook('filters', filter, args); - } - return MethodsAvailable; - } - - /** - * Removes the specified filter if it contains a namespace.identifier & exists. - * - * @param filter The action to remove - * @param [callback] Callback function to remove - */ - function removeFilter(filter, callback) { - if (typeof filter === 'string') { - _removeHook('filters', filter, callback); - } - return MethodsAvailable; - } - - /** - * Removes the specified hook by resetting the value of it. - * - * @param type Type of hook, either 'actions' or 'filters' - * @param hook The hook (namespace.identifier) to remove - * @private - */ - function _removeHook(type, hook, callback, context) { - if (!STORAGE[type][hook]) { - return; - } - if (!callback) { - STORAGE[type][hook] = []; - } else { - var handlers = STORAGE[type][hook]; - var i; - if (!context) { - for (i = handlers.length; i--;) { - if (handlers[i].callback === callback) { - handlers.splice(i, 1); - } - } - } else { - for (i = handlers.length; i--;) { - var handler = handlers[i]; - if (handler.callback === callback && handler.context === context) { - handlers.splice(i, 1); - } - } - } - } - } - - /** - * Adds the hook to the appropriate storage container - * - * @param type 'actions' or 'filters' - * @param hook The hook (namespace.identifier) to add to our event manager - * @param callback The function that will be called when the hook is executed. - * @param priority The priority of this hook. Must be an integer. - * @param [context] A value to be used for this - * @private - */ - function _addHook(type, hook, callback, priority, context) { - var hookObject = { - callback: callback, - priority: priority, - context: context - }; - - // Utilize 'prop itself' : http://jsperf.com/hasownproperty-vs-in-vs-undefined/19 - var hooks = STORAGE[type][hook]; - if (hooks) { - hooks.push(hookObject); - hooks = _hookInsertSort(hooks); - } else { - hooks = [hookObject]; - } - STORAGE[type][hook] = hooks; - } - - /** - * Use an insert sort for keeping our hooks organized based on priority. This function is ridiculously faster - * than bubble sort, etc: http://jsperf.com/javascript-sort - * - * @param hooks The custom array containing all of the appropriate hooks to perform an insert sort on. - * @private - */ - function _hookInsertSort(hooks) { - var tmpHook, j, prevHook; - for (var i = 1, len = hooks.length; i < len; i++) { - tmpHook = hooks[i]; - j = i; - while ((prevHook = hooks[j - 1]) && prevHook.priority > tmpHook.priority) { - hooks[j] = hooks[j - 1]; - --j; - } - hooks[j] = tmpHook; - } - return hooks; - } - - /** - * Runs the specified hook. If it is an action, the value is not modified but if it is a filter, it is. - * - * @param type 'actions' or 'filters' - * @param hook The hook ( namespace.identifier ) to be ran. - * @param args Arguments to pass to the action/filter. If it's a filter, args is actually a single parameter. - * @private - */ - function _runHook(type, hook, args) { - var handlers = STORAGE[type][hook]; - if (!handlers) { - return type === 'filters' ? args[0] : false; - } - var i = 0, - len = handlers.length; - if (type === 'filters') { - for (; i < len; i++) { - args[0] = handlers[i].callback.apply(handlers[i].context, args); - } - } else { - for (; i < len; i++) { - handlers[i].callback.apply(handlers[i].context, args); - } - } - return type === 'filters' ? args[0] : true; - } - - // return all of the publicly available methods - return MethodsAvailable; - }; - - // instantiate - acf.hooks = new EventManager(); -})(window); - -/***/ }), - -/***/ "./src/advanced-custom-fields-pro/assets/src/js/_acf-modal.js": -/*!********************************************************************!*\ - !*** ./src/advanced-custom-fields-pro/assets/src/js/_acf-modal.js ***! - \********************************************************************/ -/***/ (() => { - -(function ($, undefined) { - acf.models.Modal = acf.Model.extend({ - data: { - title: '', - content: '', - toolbar: '' - }, - events: { - 'click .acf-modal-close': 'onClickClose' - }, - setup: function (props) { - $.extend(this.data, props); - this.$el = $(); - this.render(); - }, - initialize: function () { - this.open(); - }, - render: function () { - // Extract vars. - var title = this.get('title'); - var content = this.get('content'); - var toolbar = this.get('toolbar'); - - // Create element. - var $el = $(['
                          ', '
                          ', '
                          ', '

                          ' + title + '

                          ', '', '
                          ', '
                          ' + content + '
                          ', '
                          ' + toolbar + '
                          ', '
                          ', '
                          ', '
                          '].join('')); - - // Update DOM. - if (this.$el) { - this.$el.replaceWith($el); - } - this.$el = $el; - - // Trigger action. - acf.doAction('append', $el); - }, - update: function (props) { - this.data = acf.parseArgs(props, this.data); - this.render(); - }, - title: function (title) { - this.$('.acf-modal-title h2').html(title); - }, - content: function (content) { - this.$('.acf-modal-content').html(content); - }, - toolbar: function (toolbar) { - this.$('.acf-modal-toolbar').html(toolbar); - }, - open: function () { - $('body').append(this.$el); - }, - close: function () { - this.remove(); - }, - onClickClose: function (e, $el) { - e.preventDefault(); - this.close(); - }, - /** - * Places focus within the popup. - */ - focus: function () { - this.$el.find('.acf-icon').first().trigger('focus'); - }, - /** - * Locks focus within the modal. - * - * @param {boolean} locked True to lock focus, false to unlock. - */ - lockFocusToModal: function (locked) { - let inertElement = $('#wpwrap'); - if (!inertElement.length) { - return; - } - inertElement[0].inert = locked; - inertElement.attr('aria-hidden', locked); - }, - /** - * Returns focus to the element that opened the popup - * if it still exists in the DOM. - */ - returnFocusToOrigin: function () { - if (this.data.openedBy instanceof $ && this.data.openedBy.closest('body').length > 0) { - this.data.openedBy.trigger('focus'); - } - } - }); - - /** - * Returns a new modal. - * - * @date 21/4/20 - * @since 5.9.0 - * - * @param object props The modal props. - * @return object - */ - acf.newModal = function (props) { - return new acf.models.Modal(props); - }; -})(jQuery); - -/***/ }), - -/***/ "./src/advanced-custom-fields-pro/assets/src/js/_acf-model.js": -/*!********************************************************************!*\ - !*** ./src/advanced-custom-fields-pro/assets/src/js/_acf-model.js ***! - \********************************************************************/ -/***/ (() => { - -(function ($, undefined) { - // Cached regex to split keys for `addEvent`. - var delegateEventSplitter = /^(\S+)\s*(.*)$/; - - /** - * extend - * - * Helper function to correctly set up the prototype chain for subclasses - * Heavily inspired by backbone.js - * - * @date 14/12/17 - * @since 5.6.5 - * - * @param object protoProps New properties for this object. - * @return function. - */ - - var extend = function (protoProps) { - // vars - var Parent = this; - var Child; - - // The constructor function for the new subclass is either defined by you - // (the "constructor" property in your `extend` definition), or defaulted - // by us to simply call the parent constructor. - if (protoProps && protoProps.hasOwnProperty('constructor')) { - Child = protoProps.constructor; - } else { - Child = function () { - return Parent.apply(this, arguments); - }; - } - - // Add static properties to the constructor function, if supplied. - $.extend(Child, Parent); - - // Set the prototype chain to inherit from `parent`, without calling - // `parent`'s constructor function and add the prototype properties. - Child.prototype = Object.create(Parent.prototype); - $.extend(Child.prototype, protoProps); - Child.prototype.constructor = Child; - - // Set a convenience property in case the parent's prototype is needed later. - //Child.prototype.__parent__ = Parent.prototype; - - // return - return Child; - }; - - /** - * Model - * - * Base class for all inheritence - * - * @date 14/12/17 - * @since 5.6.5 - * - * @param object props - * @return function. - */ - - var Model = acf.Model = function () { - // generate uique client id - this.cid = acf.uniqueId('acf'); - - // set vars to avoid modifying prototype - this.data = $.extend(true, {}, this.data); - - // pass props to setup function - this.setup.apply(this, arguments); - - // store on element (allow this.setup to create this.$el) - if (this.$el && !this.$el.data('acf')) { - this.$el.data('acf', this); - } - - // initialize - var initialize = function () { - this.initialize(); - this.addEvents(); - this.addActions(); - this.addFilters(); - }; - - // initialize on action - if (this.wait && !acf.didAction(this.wait)) { - this.addAction(this.wait, initialize); - - // initialize now - } else { - initialize.apply(this); - } - }; - - // Attach all inheritable methods to the Model prototype. - $.extend(Model.prototype, { - // Unique model id - id: '', - // Unique client id - cid: '', - // jQuery element - $el: null, - // Data specific to this instance - data: {}, - // toggle used when changing data - busy: false, - changed: false, - // Setup events hooks - events: {}, - actions: {}, - filters: {}, - // class used to avoid nested event triggers - eventScope: '', - // action to wait until initialize - wait: false, - // action priority default - priority: 10, - /** - * get - * - * Gets a specific data value - * - * @date 14/12/17 - * @since 5.6.5 - * - * @param string name - * @return mixed - */ - - get: function (name) { - return this.data[name]; - }, - /** - * has - * - * Returns `true` if the data exists and is not null - * - * @date 14/12/17 - * @since 5.6.5 - * - * @param string name - * @return boolean - */ - - has: function (name) { - return this.get(name) != null; - }, - /** - * set - * - * Sets a specific data value - * - * @date 14/12/17 - * @since 5.6.5 - * - * @param string name - * @param mixed value - * @return this - */ - - set: function (name, value, silent) { - // bail if unchanged - var prevValue = this.get(name); - if (prevValue == value) { - return this; - } - - // set data - this.data[name] = value; - - // trigger events - if (!silent) { - this.changed = true; - this.trigger('changed:' + name, [value, prevValue]); - this.trigger('changed', [name, value, prevValue]); - } - - // return - return this; - }, - /** - * inherit - * - * Inherits the data from a jQuery element - * - * @date 14/12/17 - * @since 5.6.5 - * - * @param jQuery $el - * @return this - */ - - inherit: function (data) { - // allow jQuery - if (data instanceof jQuery) { - data = data.data(); - } - - // extend - $.extend(this.data, data); - - // return - return this; - }, - /** - * prop - * - * mimics the jQuery prop function - * - * @date 4/6/18 - * @since 5.6.9 - * - * @param type $var Description. Default. - * @return type Description. - */ - - prop: function () { - return this.$el.prop.apply(this.$el, arguments); - }, - /** - * setup - * - * Run during constructor function - * - * @date 14/12/17 - * @since 5.6.5 - * - * @param n/a - * @return n/a - */ - - setup: function (props) { - $.extend(this, props); - }, - /** - * initialize - * - * Also run during constructor function - * - * @date 14/12/17 - * @since 5.6.5 - * - * @param n/a - * @return n/a - */ - - initialize: function () {}, - /** - * addElements - * - * Adds multiple jQuery elements to this object - * - * @date 9/5/18 - * @since 5.6.9 - * - * @param type $var Description. Default. - * @return type Description. - */ - - addElements: function (elements) { - elements = elements || this.elements || null; - if (!elements || !Object.keys(elements).length) return false; - for (var i in elements) { - this.addElement(i, elements[i]); - } - }, - /** - * addElement - * - * description - * - * @date 9/5/18 - * @since 5.6.9 - * - * @param type $var Description. Default. - * @return type Description. - */ - - addElement: function (name, selector) { - this['$' + name] = this.$(selector); - }, - /** - * addEvents - * - * Adds multiple event handlers - * - * @date 14/12/17 - * @since 5.6.5 - * - * @param object events {event1 : callback, event2 : callback, etc } - * @return n/a - */ - - addEvents: function (events) { - events = events || this.events || null; - if (!events) return false; - for (var key in events) { - var match = key.match(delegateEventSplitter); - this.on(match[1], match[2], events[key]); - } - }, - /** - * removeEvents - * - * Removes multiple event handlers - * - * @date 14/12/17 - * @since 5.6.5 - * - * @param object events {event1 : callback, event2 : callback, etc } - * @return n/a - */ - - removeEvents: function (events) { - events = events || this.events || null; - if (!events) return false; - for (var key in events) { - var match = key.match(delegateEventSplitter); - this.off(match[1], match[2], events[key]); - } - }, - /** - * getEventTarget - * - * Returns a jQuery element to trigger an event on. - * - * @date 5/6/18 - * @since 5.6.9 - * - * @param jQuery $el The default jQuery element. Optional. - * @param string event The event name. Optional. - * @return jQuery - */ - - getEventTarget: function ($el, event) { - return $el || this.$el || $(document); - }, - /** - * validateEvent - * - * Returns true if the event target's closest $el is the same as this.$el - * Requires both this.el and this.$el to be defined - * - * @date 5/6/18 - * @since 5.6.9 - * - * @param type $var Description. Default. - * @return type Description. - */ - - validateEvent: function (e) { - if (this.eventScope) { - return $(e.target).closest(this.eventScope).is(this.$el); - } else { - return true; - } - }, - /** - * proxyEvent - * - * Returns a new event callback function scoped to this model - * - * @date 29/3/18 - * @since 5.6.9 - * - * @param function callback - * @return function - */ - - proxyEvent: function (callback) { - return this.proxy(function (e) { - // validate - if (!this.validateEvent(e)) { - return; - } - - // construct args - var args = acf.arrayArgs(arguments); - var extraArgs = args.slice(1); - var eventArgs = [e, $(e.currentTarget)].concat(extraArgs); - - // callback - callback.apply(this, eventArgs); - }); - }, - /** - * on - * - * Adds an event handler similar to jQuery - * Uses the instance 'cid' to namespace event - * - * @date 14/12/17 - * @since 5.6.5 - * - * @param string name - * @param string callback - * @return n/a - */ - - on: function (a1, a2, a3, a4) { - // vars - var $el, event, selector, callback, args; - - // find args - if (a1 instanceof jQuery) { - // 1. args( $el, event, selector, callback ) - if (a4) { - $el = a1; - event = a2; - selector = a3; - callback = a4; - - // 2. args( $el, event, callback ) - } else { - $el = a1; - event = a2; - callback = a3; - } - } else { - // 3. args( event, selector, callback ) - if (a3) { - event = a1; - selector = a2; - callback = a3; - - // 4. args( event, callback ) - } else { - event = a1; - callback = a2; - } - } - - // element - $el = this.getEventTarget($el); - - // modify callback - if (typeof callback === 'string') { - callback = this.proxyEvent(this[callback]); - } - - // modify event - event = event + '.' + this.cid; - - // args - if (selector) { - args = [event, selector, callback]; - } else { - args = [event, callback]; - } - - // on() - $el.on.apply($el, args); - }, - /** - * off - * - * Removes an event handler similar to jQuery - * - * @date 14/12/17 - * @since 5.6.5 - * - * @param string name - * @param string callback - * @return n/a - */ - - off: function (a1, a2, a3) { - // vars - var $el, event, selector, args; - - // find args - if (a1 instanceof jQuery) { - // 1. args( $el, event, selector ) - if (a3) { - $el = a1; - event = a2; - selector = a3; - - // 2. args( $el, event ) - } else { - $el = a1; - event = a2; - } - } else { - // 3. args( event, selector ) - if (a2) { - event = a1; - selector = a2; - - // 4. args( event ) - } else { - event = a1; - } - } - - // element - $el = this.getEventTarget($el); - - // modify event - event = event + '.' + this.cid; - - // args - if (selector) { - args = [event, selector]; - } else { - args = [event]; - } - - // off() - $el.off.apply($el, args); - }, - /** - * trigger - * - * Triggers an event similar to jQuery - * - * @date 14/12/17 - * @since 5.6.5 - * - * @param string name - * @param string callback - * @return n/a - */ - - trigger: function (name, args, bubbles) { - var $el = this.getEventTarget(); - if (bubbles) { - $el.trigger.apply($el, arguments); - } else { - $el.triggerHandler.apply($el, arguments); - } - return this; - }, - /** - * addActions - * - * Adds multiple action handlers - * - * @date 14/12/17 - * @since 5.6.5 - * - * @param object actions {action1 : callback, action2 : callback, etc } - * @return n/a - */ - - addActions: function (actions) { - actions = actions || this.actions || null; - if (!actions) return false; - for (var i in actions) { - this.addAction(i, actions[i]); - } - }, - /** - * removeActions - * - * Removes multiple action handlers - * - * @date 14/12/17 - * @since 5.6.5 - * - * @param object actions {action1 : callback, action2 : callback, etc } - * @return n/a - */ - - removeActions: function (actions) { - actions = actions || this.actions || null; - if (!actions) return false; - for (var i in actions) { - this.removeAction(i, actions[i]); - } - }, - /** - * addAction - * - * Adds an action using the wp.hooks library - * - * @date 14/12/17 - * @since 5.6.5 - * - * @param string name - * @param string callback - * @return n/a - */ - - addAction: function (name, callback, priority) { - //console.log('addAction', name, priority); - // defaults - priority = priority || this.priority; - - // modify callback - if (typeof callback === 'string') { - callback = this[callback]; - } - - // add - acf.addAction(name, callback, priority, this); - }, - /** - * removeAction - * - * Remove an action using the wp.hooks library - * - * @date 14/12/17 - * @since 5.6.5 - * - * @param string name - * @param string callback - * @return n/a - */ - - removeAction: function (name, callback) { - acf.removeAction(name, this[callback]); - }, - /** - * addFilters - * - * Adds multiple filter handlers - * - * @date 14/12/17 - * @since 5.6.5 - * - * @param object filters {filter1 : callback, filter2 : callback, etc } - * @return n/a - */ - - addFilters: function (filters) { - filters = filters || this.filters || null; - if (!filters) return false; - for (var i in filters) { - this.addFilter(i, filters[i]); - } - }, - /** - * addFilter - * - * Adds a filter using the wp.hooks library - * - * @date 14/12/17 - * @since 5.6.5 - * - * @param string name - * @param string callback - * @return n/a - */ - - addFilter: function (name, callback, priority) { - // defaults - priority = priority || this.priority; - - // modify callback - if (typeof callback === 'string') { - callback = this[callback]; - } - - // add - acf.addFilter(name, callback, priority, this); - }, - /** - * removeFilters - * - * Removes multiple filter handlers - * - * @date 14/12/17 - * @since 5.6.5 - * - * @param object filters {filter1 : callback, filter2 : callback, etc } - * @return n/a - */ - - removeFilters: function (filters) { - filters = filters || this.filters || null; - if (!filters) return false; - for (var i in filters) { - this.removeFilter(i, filters[i]); - } - }, - /** - * removeFilter - * - * Remove a filter using the wp.hooks library - * - * @date 14/12/17 - * @since 5.6.5 - * - * @param string name - * @param string callback - * @return n/a - */ - - removeFilter: function (name, callback) { - acf.removeFilter(name, this[callback]); - }, - /** - * $ - * - * description - * - * @date 16/12/17 - * @since 5.6.5 - * - * @param type $var Description. Default. - * @return type Description. - */ - - $: function (selector) { - return this.$el.find(selector); - }, - /** - * remove - * - * Removes the element and listenters - * - * @date 19/12/17 - * @since 5.6.5 - * - * @param type $var Description. Default. - * @return type Description. - */ - - remove: function () { - this.removeEvents(); - this.removeActions(); - this.removeFilters(); - this.$el.remove(); - }, - /** - * setTimeout - * - * description - * - * @date 16/1/18 - * @since 5.6.5 - * - * @param type $var Description. Default. - * @return type Description. - */ - - setTimeout: function (callback, milliseconds) { - return setTimeout(this.proxy(callback), milliseconds); - }, - /** - * time - * - * used for debugging - * - * @date 7/3/18 - * @since 5.6.9 - * - * @param type $var Description. Default. - * @return type Description. - */ - - time: function () { - console.time(this.id || this.cid); - }, - /** - * timeEnd - * - * used for debugging - * - * @date 7/3/18 - * @since 5.6.9 - * - * @param type $var Description. Default. - * @return type Description. - */ - - timeEnd: function () { - console.timeEnd(this.id || this.cid); - }, - /** - * show - * - * description - * - * @date 15/3/18 - * @since 5.6.9 - * - * @param type $var Description. Default. - * @return type Description. - */ - - show: function () { - acf.show(this.$el); - }, - /** - * hide - * - * description - * - * @date 15/3/18 - * @since 5.6.9 - * - * @param type $var Description. Default. - * @return type Description. - */ - - hide: function () { - acf.hide(this.$el); - }, - /** - * proxy - * - * Returns a new function scoped to this model - * - * @date 29/3/18 - * @since 5.6.9 - * - * @param function callback - * @return function - */ - - proxy: function (callback) { - return $.proxy(callback, this); - } - }); - - // Set up inheritance for the model - Model.extend = extend; - - // Global model storage - acf.models = {}; - - /** - * acf.getInstance - * - * This function will get an instance from an element - * - * @date 5/3/18 - * @since 5.6.9 - * - * @param type $var Description. Default. - * @return type Description. - */ - - acf.getInstance = function ($el) { - return $el.data('acf'); - }; - - /** - * acf.getInstances - * - * This function will get an array of instances from multiple elements - * - * @date 5/3/18 - * @since 5.6.9 - * - * @param type $var Description. Default. - * @return type Description. - */ - - acf.getInstances = function ($el) { - var instances = []; - $el.each(function () { - instances.push(acf.getInstance($(this))); - }); - return instances; - }; -})(jQuery); - -/***/ }), - -/***/ "./src/advanced-custom-fields-pro/assets/src/js/_acf-notice.js": -/*!*********************************************************************!*\ - !*** ./src/advanced-custom-fields-pro/assets/src/js/_acf-notice.js ***! - \*********************************************************************/ -/***/ (() => { - -(function ($, undefined) { - var Notice = acf.Model.extend({ - data: { - text: '', - type: '', - timeout: 0, - dismiss: true, - target: false, - location: 'before', - close: function () {} - }, - events: { - 'click .acf-notice-dismiss': 'onClickClose' - }, - tmpl: function () { - return '
                          '; - }, - setup: function (props) { - $.extend(this.data, props); - this.$el = $(this.tmpl()); - }, - initialize: function () { - // render - this.render(); - - // show - this.show(); - }, - render: function () { - // class - this.type(this.get('type')); - - // text - this.html('

                          ' + this.get('text') + '

                          '); - - // close - if (this.get('dismiss')) { - this.$el.append(''); - this.$el.addClass('-dismiss'); - } - - // timeout - var timeout = this.get('timeout'); - if (timeout) { - this.away(timeout); - } - }, - update: function (props) { - // update - $.extend(this.data, props); - - // re-initialize - this.initialize(); - - // refresh events - this.removeEvents(); - this.addEvents(); - }, - show: function () { - var $target = this.get('target'); - var location = this.get('location'); - if ($target) { - if (location === 'after') { - $target.append(this.$el); - } else { - $target.prepend(this.$el); - } - } - }, - hide: function () { - this.$el.remove(); - }, - away: function (timeout) { - this.setTimeout(function () { - acf.remove(this.$el); - }, timeout); - }, - type: function (type) { - // remove prev type - var prevType = this.get('type'); - if (prevType) { - this.$el.removeClass('-' + prevType); - } - - // add new type - this.$el.addClass('-' + type); - - // backwards compatibility - if (type == 'error') { - this.$el.addClass('acf-error-message'); - } - }, - html: function (html) { - this.$el.html(acf.escHtml(html)); - }, - text: function (text) { - this.$('p').html(acf.escHtml(text)); - }, - onClickClose: function (e, $el) { - e.preventDefault(); - this.get('close').apply(this, arguments); - this.remove(); - } - }); - acf.newNotice = function (props) { - // ensure object - if (typeof props !== 'object') { - props = { - text: props - }; - } - - // instantiate - return new Notice(props); - }; - var noticeManager = new acf.Model({ - wait: 'prepare', - priority: 1, - initialize: function () { - const $notices = $('.acf-admin-notice'); - $notices.each(function () { - if ($(this).data('persisted')) { - let dismissed = acf.getPreference('dismissed-notices'); - if (dismissed && typeof dismissed == 'object' && dismissed.includes($(this).data('persist-id'))) { - $(this).remove(); - } else { - $(this).show(); - $(this).on('click', '.notice-dismiss', function (e) { - dismissed = acf.getPreference('dismissed-notices'); - if (!dismissed || typeof dismissed != 'object') { - dismissed = []; - } - dismissed.push($(this).closest('.acf-admin-notice').data('persist-id')); - acf.setPreference('dismissed-notices', dismissed); - }); - } - } - }); - } - }); -})(jQuery); - -/***/ }), - -/***/ "./src/advanced-custom-fields-pro/assets/src/js/_acf-panel.js": -/*!********************************************************************!*\ - !*** ./src/advanced-custom-fields-pro/assets/src/js/_acf-panel.js ***! - \********************************************************************/ -/***/ (() => { - -(function ($, undefined) { - var panel = new acf.Model({ - events: { - 'click .acf-panel-title': 'onClick' - }, - onClick: function (e, $el) { - e.preventDefault(); - this.toggle($el.parent()); - }, - isOpen: function ($el) { - return $el.hasClass('-open'); - }, - toggle: function ($el) { - this.isOpen($el) ? this.close($el) : this.open($el); - }, - open: function ($el) { - $el.addClass('-open'); - $el.find('.acf-panel-title i').attr('class', 'dashicons dashicons-arrow-down'); - }, - close: function ($el) { - $el.removeClass('-open'); - $el.find('.acf-panel-title i').attr('class', 'dashicons dashicons-arrow-right'); - } - }); -})(jQuery); - -/***/ }), - -/***/ "./src/advanced-custom-fields-pro/assets/src/js/_acf-popup.js": -/*!********************************************************************!*\ - !*** ./src/advanced-custom-fields-pro/assets/src/js/_acf-popup.js ***! - \********************************************************************/ -/***/ (() => { - -(function ($, undefined) { - acf.models.Popup = acf.Model.extend({ - data: { - title: '', - content: '', - width: 0, - height: 0, - loading: false, - openedBy: null - }, - events: { - 'click [data-event="close"]': 'onClickClose', - 'click .acf-close-popup': 'onClickClose', - 'keydown': 'onPressEscapeClose' - }, - setup: function (props) { - $.extend(this.data, props); - this.$el = $(this.tmpl()); - }, - initialize: function () { - this.render(); - this.open(); - this.focus(); - this.lockFocusToPopup(true); - }, - tmpl: function () { - return [''].join(''); - }, - render: function () { - // Extract Vars. - var title = this.get('title'); - var content = this.get('content'); - var loading = this.get('loading'); - var width = this.get('width'); - var height = this.get('height'); - - // Update. - this.title(title); - this.content(content); - if (width) { - this.$('.acf-popup-box').css('width', width); - } - if (height) { - this.$('.acf-popup-box').css('min-height', height); - } - this.loading(loading); - - // Trigger action. - acf.doAction('append', this.$el); - }, - /** - * Places focus within the popup. - */ - focus: function () { - this.$el.find('.acf-icon').first().trigger('focus'); - }, - /** - * Locks focus within the popup. - * - * @param {boolean} locked True to lock focus, false to unlock. - */ - lockFocusToPopup: function (locked) { - let inertElement = $('#wpwrap'); - if (!inertElement.length) { - return; - } - inertElement[0].inert = locked; - inertElement.attr('aria-hidden', locked); - }, - update: function (props) { - this.data = acf.parseArgs(props, this.data); - this.render(); - }, - title: function (title) { - this.$('.title:first h3').html(title); - }, - content: function (content) { - this.$('.inner:first').html(content); - }, - loading: function (show) { - var $loading = this.$('.loading:first'); - show ? $loading.show() : $loading.hide(); - }, - open: function () { - $('body').append(this.$el); - }, - close: function () { - this.lockFocusToPopup(false); - this.returnFocusToOrigin(); - this.remove(); - }, - onClickClose: function (e, $el) { - e.preventDefault(); - this.close(); - }, - /** - * Closes the popup when the escape key is pressed. - * - * @param {KeyboardEvent} e - */ - onPressEscapeClose: function (e) { - if (e.key === 'Escape') { - this.close(); - } - }, - /** - * Returns focus to the element that opened the popup - * if it still exists in the DOM. - */ - returnFocusToOrigin: function () { - if (this.data.openedBy instanceof $ && this.data.openedBy.closest('body').length > 0) { - this.data.openedBy.trigger('focus'); - } - } - }); - - /** - * newPopup - * - * Creates a new Popup with the supplied props - * - * @date 17/12/17 - * @since 5.6.5 - * - * @param object props - * @return object - */ - - acf.newPopup = function (props) { - return new acf.models.Popup(props); - }; -})(jQuery); - -/***/ }), - -/***/ "./src/advanced-custom-fields-pro/assets/src/js/_acf-tooltip.js": -/*!**********************************************************************!*\ - !*** ./src/advanced-custom-fields-pro/assets/src/js/_acf-tooltip.js ***! - \**********************************************************************/ -/***/ (() => { - -(function ($, undefined) { - acf.newTooltip = function (props) { - // ensure object - if (typeof props !== 'object') { - props = { - text: props - }; - } - - // confirmRemove - if (props.confirmRemove !== undefined) { - props.textConfirm = acf.__('Remove'); - props.textCancel = acf.__('Cancel'); - return new TooltipConfirm(props); - - // confirm - } else if (props.confirm !== undefined) { - return new TooltipConfirm(props); - - // default - } else { - return new Tooltip(props); - } - }; - var Tooltip = acf.Model.extend({ - data: { - text: '', - timeout: 0, - target: null - }, - tmpl: function () { - return '
                          '; - }, - setup: function (props) { - $.extend(this.data, props); - this.$el = $(this.tmpl()); - }, - initialize: function () { - // render - this.render(); - - // append - this.show(); - - // position - this.position(); - - // timeout - var timeout = this.get('timeout'); - if (timeout) { - setTimeout($.proxy(this.fade, this), timeout); - } - }, - update: function (props) { - $.extend(this.data, props); - this.initialize(); - }, - render: function () { - this.html(this.get('text')); - }, - show: function () { - $('body').append(this.$el); - }, - hide: function () { - this.$el.remove(); - }, - fade: function () { - // add class - this.$el.addClass('acf-fade-up'); - - // remove - this.setTimeout(function () { - this.remove(); - }, 250); - }, - html: function (html) { - this.$el.html(html); - }, - position: function () { - // vars - var $tooltip = this.$el; - var $target = this.get('target'); - if (!$target) return; - - // Reset position. - $tooltip.removeClass('right left bottom top').css({ - top: 0, - left: 0 - }); - - // Declare tollerance to edge of screen. - var tolerance = 10; - - // Find target position. - var targetWidth = $target.outerWidth(); - var targetHeight = $target.outerHeight(); - var targetTop = $target.offset().top; - var targetLeft = $target.offset().left; - - // Find tooltip position. - var tooltipWidth = $tooltip.outerWidth(); - var tooltipHeight = $tooltip.outerHeight(); - var tooltipTop = $tooltip.offset().top; // Should be 0, but WP media grid causes this to be 32 (toolbar padding). - - // Assume default top alignment. - var top = targetTop - tooltipHeight - tooltipTop; - var left = targetLeft + targetWidth / 2 - tooltipWidth / 2; - - // Check if too far left. - if (left < tolerance) { - $tooltip.addClass('right'); - left = targetLeft + targetWidth; - top = targetTop + targetHeight / 2 - tooltipHeight / 2 - tooltipTop; - - // Check if too far right. - } else if (left + tooltipWidth + tolerance > $(window).width()) { - $tooltip.addClass('left'); - left = targetLeft - tooltipWidth; - top = targetTop + targetHeight / 2 - tooltipHeight / 2 - tooltipTop; - - // Check if too far up. - } else if (top - $(window).scrollTop() < tolerance) { - $tooltip.addClass('bottom'); - top = targetTop + targetHeight - tooltipTop; - - // No colision with edges. - } else { - $tooltip.addClass('top'); - } - - // update css - $tooltip.css({ - top: top, - left: left - }); - } - }); - var TooltipConfirm = Tooltip.extend({ - data: { - text: '', - textConfirm: '', - textCancel: '', - target: null, - targetConfirm: true, - confirm: function () {}, - cancel: function () {}, - context: false - }, - events: { - 'click [data-event="cancel"]': 'onCancel', - 'click [data-event="confirm"]': 'onConfirm' - }, - addEvents: function () { - // add events - acf.Model.prototype.addEvents.apply(this); - - // vars - var $document = $(document); - var $target = this.get('target'); - - // add global 'cancel' click event - // - use timeout to avoid the current 'click' event triggering the onCancel function - this.setTimeout(function () { - this.on($document, 'click', 'onCancel'); - }); - - // add target 'confirm' click event - // - allow setting to control this feature - if (this.get('targetConfirm')) { - this.on($target, 'click', 'onConfirm'); - } - }, - removeEvents: function () { - // remove events - acf.Model.prototype.removeEvents.apply(this); - - // vars - var $document = $(document); - var $target = this.get('target'); - - // remove custom events - this.off($document, 'click'); - this.off($target, 'click'); - }, - render: function () { - // defaults - var text = this.get('text') || acf.__('Are you sure?'); - var textConfirm = this.get('textConfirm') || acf.__('Yes'); - var textCancel = this.get('textCancel') || acf.__('No'); - - // html - var html = [text, '' + textConfirm + '', '' + textCancel + ''].join(' '); - - // html - this.html(html); - - // class - this.$el.addClass('-confirm'); - }, - onCancel: function (e, $el) { - // prevent default - e.preventDefault(); - e.stopImmediatePropagation(); - - // callback - var callback = this.get('cancel'); - var context = this.get('context') || this; - callback.apply(context, arguments); - - //remove - this.remove(); - }, - onConfirm: function (e, $el) { - // Prevent event from propagating completely to allow "targetConfirm" to be clicked. - e.preventDefault(); - e.stopImmediatePropagation(); - - // callback - var callback = this.get('confirm'); - var context = this.get('context') || this; - callback.apply(context, arguments); - - //remove - this.remove(); - } - }); - - // storage - acf.models.Tooltip = Tooltip; - acf.models.TooltipConfirm = TooltipConfirm; - - /** - * tooltipManager - * - * description - * - * @date 17/4/18 - * @since 5.6.9 - * - * @param type $var Description. Default. - * @return type Description. - */ - - var tooltipHoverHelper = new acf.Model({ - tooltip: false, - events: { - 'mouseenter .acf-js-tooltip': 'showTitle', - 'mouseup .acf-js-tooltip': 'hideTitle', - 'mouseleave .acf-js-tooltip': 'hideTitle', - 'focus .acf-js-tooltip': 'showTitle', - 'blur .acf-js-tooltip': 'hideTitle', - 'keyup .acf-js-tooltip': 'onKeyUp' - }, - showTitle: function (e, $el) { - // vars - var title = $el.attr('title'); - - // bail early if no title - if (!title) { - return; - } - - // clear title to avoid default browser tooltip - $el.attr('title', ''); - - // create - if (!this.tooltip) { - this.tooltip = acf.newTooltip({ - text: title, - target: $el - }); - - // update - } else { - this.tooltip.update({ - text: title, - target: $el - }); - } - }, - hideTitle: function (e, $el) { - // hide tooltip - this.tooltip.hide(); - - // restore title - $el.attr('title', this.tooltip.get('text')); - }, - onKeyUp: function (e, $el) { - if ('Escape' === e.key) { - this.hideTitle(e, $el); - } - } - }); -})(jQuery); - -/***/ }), - -/***/ "./src/advanced-custom-fields-pro/assets/src/js/_acf.js": -/*!**************************************************************!*\ - !*** ./src/advanced-custom-fields-pro/assets/src/js/_acf.js ***! - \**************************************************************/ -/***/ (() => { - -(function ($, undefined) { - /** - * acf - * - * description - * - * @date 14/12/17 - * @since 5.6.5 - * - * @param type $var Description. Default. - * @return type Description. - */ - - // The global acf object - var acf = {}; - - // Set as a browser global - window.acf = acf; - - /** @var object Data sent from PHP */ - acf.data = {}; - - /** - * get - * - * Gets a specific data value - * - * @date 14/12/17 - * @since 5.6.5 - * - * @param string name - * @return mixed - */ - - acf.get = function (name) { - return this.data[name] || null; - }; - - /** - * has - * - * Returns `true` if the data exists and is not null - * - * @date 14/12/17 - * @since 5.6.5 - * - * @param string name - * @return boolean - */ - - acf.has = function (name) { - return this.get(name) !== null; - }; - - /** - * set - * - * Sets a specific data value - * - * @date 14/12/17 - * @since 5.6.5 - * - * @param string name - * @param mixed value - * @return this - */ - - acf.set = function (name, value) { - this.data[name] = value; - return this; - }; - - /** - * uniqueId - * - * Returns a unique ID - * - * @date 9/11/17 - * @since 5.6.3 - * - * @param string prefix Optional prefix. - * @return string - */ - - var idCounter = 0; - acf.uniqueId = function (prefix) { - var id = ++idCounter + ''; - return prefix ? prefix + id : id; - }; - - /** - * acf.uniqueArray - * - * Returns a new array with only unique values - * Credit: https://stackoverflow.com/questions/1960473/get-all-unique-values-in-an-array-remove-duplicates - * - * @date 23/3/18 - * @since 5.6.9 - * - * @param type $var Description. Default. - * @return type Description. - */ - - acf.uniqueArray = function (array) { - function onlyUnique(value, index, self) { - return self.indexOf(value) === index; - } - return array.filter(onlyUnique); - }; - - /** - * uniqid - * - * Returns a unique ID (PHP version) - * - * @date 9/11/17 - * @since 5.6.3 - * @source http://locutus.io/php/misc/uniqid/ - * - * @param string prefix Optional prefix. - * @return string - */ - - var uniqidSeed = ''; - acf.uniqid = function (prefix, moreEntropy) { - // discuss at: http://locutus.io/php/uniqid/ - // original by: Kevin van Zonneveld (http://kvz.io) - // revised by: Kankrelune (http://www.webfaktory.info/) - // note 1: Uses an internal counter (in locutus global) to avoid collision - // example 1: var $id = uniqid() - // example 1: var $result = $id.length === 13 - // returns 1: true - // example 2: var $id = uniqid('foo') - // example 2: var $result = $id.length === (13 + 'foo'.length) - // returns 2: true - // example 3: var $id = uniqid('bar', true) - // example 3: var $result = $id.length === (23 + 'bar'.length) - // returns 3: true - if (typeof prefix === 'undefined') { - prefix = ''; - } - var retId; - var formatSeed = function (seed, reqWidth) { - seed = parseInt(seed, 10).toString(16); // to hex str - if (reqWidth < seed.length) { - // so long we split - return seed.slice(seed.length - reqWidth); - } - if (reqWidth > seed.length) { - // so short we pad - return Array(1 + (reqWidth - seed.length)).join('0') + seed; - } - return seed; - }; - if (!uniqidSeed) { - // init seed with big random int - uniqidSeed = Math.floor(Math.random() * 0x75bcd15); - } - uniqidSeed++; - retId = prefix; // start with prefix, add current milliseconds hex string - retId += formatSeed(parseInt(new Date().getTime() / 1000, 10), 8); - retId += formatSeed(uniqidSeed, 5); // add seed hex string - if (moreEntropy) { - // for more entropy we add a float lower to 10 - retId += (Math.random() * 10).toFixed(8).toString(); - } - return retId; - }; - - /** - * strReplace - * - * Performs a string replace - * - * @date 14/12/17 - * @since 5.6.5 - * - * @param string search - * @param string replace - * @param string subject - * @return string - */ - - acf.strReplace = function (search, replace, subject) { - return subject.split(search).join(replace); - }; - - /** - * strCamelCase - * - * Converts a string into camelCase - * Thanks to https://stackoverflow.com/questions/2970525/converting-any-string-into-camel-case - * - * @date 14/12/17 - * @since 5.6.5 - * - * @param string str - * @return string - */ - - acf.strCamelCase = function (str) { - var matches = str.match(/([a-zA-Z0-9]+)/g); - return matches ? matches.map(function (s, i) { - var c = s.charAt(0); - return (i === 0 ? c.toLowerCase() : c.toUpperCase()) + s.slice(1); - }).join('') : ''; - }; - - /** - * strPascalCase - * - * Converts a string into PascalCase - * Thanks to https://stackoverflow.com/questions/1026069/how-do-i-make-the-first-letter-of-a-string-uppercase-in-javascript - * - * @date 14/12/17 - * @since 5.6.5 - * - * @param string str - * @return string - */ - - acf.strPascalCase = function (str) { - var camel = acf.strCamelCase(str); - return camel.charAt(0).toUpperCase() + camel.slice(1); - }; - - /** - * acf.strSlugify - * - * Converts a string into a HTML class friendly slug - * - * @date 21/3/18 - * @since 5.6.9 - * - * @param string str - * @return string - */ - - acf.strSlugify = function (str) { - return acf.strReplace('_', '-', str.toLowerCase()); - }; - acf.strSanitize = function (str, toLowerCase = true) { - // chars (https://jsperf.com/replace-foreign-characters) - var map = { - À: 'A', - Á: 'A', - Â: 'A', - Ã: 'A', - Ä: 'A', - Å: 'A', - Æ: 'AE', - Ç: 'C', - È: 'E', - É: 'E', - Ê: 'E', - Ë: 'E', - Ì: 'I', - Í: 'I', - Î: 'I', - Ï: 'I', - Ð: 'D', - Ñ: 'N', - Ò: 'O', - Ó: 'O', - Ô: 'O', - Õ: 'O', - Ö: 'O', - Ø: 'O', - Ù: 'U', - Ú: 'U', - Û: 'U', - Ü: 'U', - Ý: 'Y', - ß: 's', - à: 'a', - á: 'a', - â: 'a', - ã: 'a', - ä: 'a', - å: 'a', - æ: 'ae', - ç: 'c', - è: 'e', - é: 'e', - ê: 'e', - ë: 'e', - ì: 'i', - í: 'i', - î: 'i', - ï: 'i', - ñ: 'n', - ò: 'o', - ó: 'o', - ô: 'o', - õ: 'o', - ö: 'o', - ø: 'o', - ù: 'u', - ú: 'u', - û: 'u', - ü: 'u', - ý: 'y', - ÿ: 'y', - Ā: 'A', - ā: 'a', - Ă: 'A', - ă: 'a', - Ą: 'A', - ą: 'a', - Ć: 'C', - ć: 'c', - Ĉ: 'C', - ĉ: 'c', - Ċ: 'C', - ċ: 'c', - Č: 'C', - č: 'c', - Ď: 'D', - ď: 'd', - Đ: 'D', - đ: 'd', - Ē: 'E', - ē: 'e', - Ĕ: 'E', - ĕ: 'e', - Ė: 'E', - ė: 'e', - Ę: 'E', - ę: 'e', - Ě: 'E', - ě: 'e', - Ĝ: 'G', - ĝ: 'g', - Ğ: 'G', - ğ: 'g', - Ġ: 'G', - ġ: 'g', - Ģ: 'G', - ģ: 'g', - Ĥ: 'H', - ĥ: 'h', - Ħ: 'H', - ħ: 'h', - Ĩ: 'I', - ĩ: 'i', - Ī: 'I', - ī: 'i', - Ĭ: 'I', - ĭ: 'i', - Į: 'I', - į: 'i', - İ: 'I', - ı: 'i', - IJ: 'IJ', - ij: 'ij', - Ĵ: 'J', - ĵ: 'j', - Ķ: 'K', - ķ: 'k', - Ĺ: 'L', - ĺ: 'l', - Ļ: 'L', - ļ: 'l', - Ľ: 'L', - ľ: 'l', - Ŀ: 'L', - ŀ: 'l', - Ł: 'l', - ł: 'l', - Ń: 'N', - ń: 'n', - Ņ: 'N', - ņ: 'n', - Ň: 'N', - ň: 'n', - ʼn: 'n', - Ō: 'O', - ō: 'o', - Ŏ: 'O', - ŏ: 'o', - Ő: 'O', - ő: 'o', - Œ: 'OE', - œ: 'oe', - Ŕ: 'R', - ŕ: 'r', - Ŗ: 'R', - ŗ: 'r', - Ř: 'R', - ř: 'r', - Ś: 'S', - ś: 's', - Ŝ: 'S', - ŝ: 's', - Ş: 'S', - ş: 's', - Š: 'S', - š: 's', - Ţ: 'T', - ţ: 't', - Ť: 'T', - ť: 't', - Ŧ: 'T', - ŧ: 't', - Ũ: 'U', - ũ: 'u', - Ū: 'U', - ū: 'u', - Ŭ: 'U', - ŭ: 'u', - Ů: 'U', - ů: 'u', - Ű: 'U', - ű: 'u', - Ų: 'U', - ų: 'u', - Ŵ: 'W', - ŵ: 'w', - Ŷ: 'Y', - ŷ: 'y', - Ÿ: 'Y', - Ź: 'Z', - ź: 'z', - Ż: 'Z', - ż: 'z', - Ž: 'Z', - ž: 'z', - ſ: 's', - ƒ: 'f', - Ơ: 'O', - ơ: 'o', - Ư: 'U', - ư: 'u', - Ǎ: 'A', - ǎ: 'a', - Ǐ: 'I', - ǐ: 'i', - Ǒ: 'O', - ǒ: 'o', - Ǔ: 'U', - ǔ: 'u', - Ǖ: 'U', - ǖ: 'u', - Ǘ: 'U', - ǘ: 'u', - Ǚ: 'U', - ǚ: 'u', - Ǜ: 'U', - ǜ: 'u', - Ǻ: 'A', - ǻ: 'a', - Ǽ: 'AE', - ǽ: 'ae', - Ǿ: 'O', - ǿ: 'o', - // extra - ' ': '_', - "'": '', - '?': '', - '/': '', - '\\': '', - '.': '', - ',': '', - '`': '', - '>': '', - '<': '', - '"': '', - '[': '', - ']': '', - '|': '', - '{': '', - '}': '', - '(': '', - ')': '' - }; - - // vars - var nonWord = /\W/g; - var mapping = function (c) { - return map[c] !== undefined ? map[c] : c; - }; - - // replace - str = str.replace(nonWord, mapping); - - // lowercase - if (toLowerCase) { - str = str.toLowerCase(); - } - - // return - return str; - }; - - /** - * acf.strMatch - * - * Returns the number of characters that match between two strings - * - * @date 1/2/18 - * @since 5.6.5 - * - * @param type $var Description. Default. - * @return type Description. - */ - - acf.strMatch = function (s1, s2) { - // vars - var val = 0; - var min = Math.min(s1.length, s2.length); - - // loop - for (var i = 0; i < min; i++) { - if (s1[i] !== s2[i]) { - break; - } - val++; - } - - // return - return val; - }; - - /** - * Escapes HTML entities from a string. - * - * @date 08/06/2020 - * @since 5.9.0 - * - * @param string string The input string. - * @return string - */ - acf.strEscape = function (string) { - var htmlEscapes = { - '&': '&', - '<': '<', - '>': '>', - '"': '"', - "'": ''' - }; - return ('' + string).replace(/[&<>"']/g, function (chr) { - return htmlEscapes[chr]; - }); - }; - - // Tests. - //console.log( acf.strEscape('Test 1') ); - //console.log( acf.strEscape('Test & 1') ); - //console.log( acf.strEscape('Test\'s & 1') ); - //console.log( acf.strEscape('') ); - - /** - * Unescapes HTML entities from a string. - * - * @date 08/06/2020 - * @since 5.9.0 - * - * @param string string The input string. - * @return string - */ - acf.strUnescape = function (string) { - var htmlUnescapes = { - '&': '&', - '<': '<', - '>': '>', - '"': '"', - ''': "'" - }; - return ('' + string).replace(/&|<|>|"|'/g, function (entity) { - return htmlUnescapes[entity]; - }); - }; - - // Tests. - //console.log( acf.strUnescape( acf.strEscape('Test 1') ) ); - //console.log( acf.strUnescape( acf.strEscape('Test & 1') ) ); - //console.log( acf.strUnescape( acf.strEscape('Test\'s & 1') ) ); - //console.log( acf.strUnescape( acf.strEscape('') ) ); - - /** - * Escapes HTML entities from a string. - * - * @date 08/06/2020 - * @since 5.9.0 - * - * @param string string The input string. - * @return string - */ - acf.escAttr = acf.strEscape; - - /** - * Encodes ') ); - //console.log( acf.escHtml( acf.strEscape('') ) ); - //console.log( acf.escHtml( '' ) ); - - /** - * acf.decode - * - * description - * - * @date 13/1/18 - * @since 5.6.5 - * - * @param type $var Description. Default. - * @return type Description. - */ - - acf.decode = function (string) { - return $(' +

                          + +
                          " + data-condition="canceled" + > +

                          + + +

                          +
                          + diff --git a/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Compatibility/Filter_Bar/Events_Virtual_Filter.php b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Compatibility/Filter_Bar/Events_Virtual_Filter.php new file mode 100644 index 000000000..64fbae948 --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Compatibility/Filter_Bar/Events_Virtual_Filter.php @@ -0,0 +1,223 @@ +slug ); + } + + /** + * Returns the admin form HTML. + * + * @return string + */ + public function get_admin_form() { + $title = $this->get_title_field(); + + return $title; + } + + /** + * Get the name for the admin field. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param string $name The individual name for the individual control (ie radio button). + * @return string + */ + protected function get_admin_field_name( $name ) { + return "tribe_filter_options[{$this->slug}][{$name}]"; + } + + /** + * Returns the value supported by this filter. + * + * One actually. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @return array + */ + protected function get_values() { + return [ + 'all' => [ + 'name' => sprintf( + /* Translators: %1$s is the lowercase plural event term. */ + esc_html__( 'Show all %1$s', 'tribe-events-calendar-pro' ), + tribe_get_event_label_plural_lowercase() + ), + 'value' => self::EXPLICITLY_ALL, + ], + 'virtual' => [ + 'name' => sprintf( + /* Translators: %1$s is the lowercase plural virtual event term. */ + esc_html__( 'Show only %1$s', 'tribe-events-calendar-pro' ), + tribe_get_virtual_event_label_plural_lowercase() + ), + 'value' => self::EXPLICITLY_VIRTUAL, + ], + 'non-virtual' => [ + 'name' => sprintf( + /* Translators: %1$s is the lowercase plural virtual event term. */ + esc_html__( 'Hide %1$s', 'tribe-events-calendar-pro' ), + tribe_get_virtual_event_label_plural_lowercase() + ), + 'value' => self::EXPLICITLY_NON_VIRTUAL, + ], + ]; + } + + /** + * Sets up our join clause for the query. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + */ + protected function setup_join_clause() { + // If they choose all - don't modify the query. + // phpcs:ignore + if ( self::EXPLICITLY_ALL === $this->currentValue ) { + return; + } + + /** @var \wpdb $wpdb */ + global $wpdb; + + // phpcs:ignore + if ( tribe_is_truthy( $this->currentValue ) ) { + $clause = "INNER JOIN {$wpdb->postmeta} AS {$this->alias} + ON ( {$wpdb->posts}.ID = {$this->alias}.post_id + AND {$this->alias}.meta_key = %s ) + LEFT JOIN {$wpdb->postmeta} AS {$this->hybridalias} + ON ( {$wpdb->posts}.ID = {$this->hybridalias}.post_id + AND {$this->hybridalias}.meta_key = %s )"; + + // phpcs:ignore + $this->joinClause = $wpdb->prepare( $clause, Event_Meta::$key_virtual, Event_Meta::$key_type ); + } else { + // No virtual events - no need to alter the query. + if ( empty( Utils::get_virtual_events_count() ) ) { + return; + } + + $clause = "LEFT JOIN {$wpdb->postmeta} AS {$this->alias} + ON ( {$wpdb->posts}.ID = {$this->alias}.post_id + AND {$this->alias}.meta_key = %s ) + LEFT JOIN {$wpdb->postmeta} AS {$this->hybridalias} + ON ( {$wpdb->posts}.ID = {$this->hybridalias}.post_id + AND {$this->hybridalias}.meta_key = %s )"; + + // phpcs:ignore + $this->joinClause = $wpdb->prepare( $clause, Event_Meta::$key_virtual, Event_Meta::$key_type ); + } + } + + /** + * Sets up our where clause for the query. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + */ + protected function setup_where_clause() { + // If they choose all - don't modify the query. + // phpcs:ignore + if ( self::EXPLICITLY_ALL === $this->currentValue || 0 === Utils::get_virtual_events_count() ) { + return; + } + + // phpcs:ignore + if ( tribe_is_truthy( $this->currentValue ) ) { + // phpcs:ignore + $this->whereClause = " AND ( {$this->alias}.meta_value = 'yes' + OR {$this->alias}.meta_value = '1' + OR {$this->alias}.meta_value = 'true' + OR {$this->alias}.meta_value IS NOT NULL ) "; + } else { + // phpcs:ignore + $this->whereClause = " AND ( {$this->alias}.meta_value = 'no' + OR {$this->hybridalias}.meta_value = 'hybrid' + OR {$this->alias}.meta_value = '0' + OR {$this->alias}.meta_value = 'false' + OR {$this->alias}.meta_value = '' + OR {$this->alias}.meta_value IS NULL ) "; + } + } +} diff --git a/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Compatibility/Filter_Bar/Service_Provider.php b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Compatibility/Filter_Bar/Service_Provider.php new file mode 100644 index 000000000..f9c4cfc8d --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Compatibility/Filter_Bar/Service_Provider.php @@ -0,0 +1,112 @@ +container->singleton( self::class, $this ); + $this->container->singleton( 'events-virtual.compatibility.tribe-filter-bar', $this ); + + if ( ! class_exists( 'Tribe__Events__Filterbar__View' ) ) { + // For whatever reason the plugin is not active but we still got here, bail. + return; + } + + // Add to the admin list. + add_action( 'tribe_events_filters_create_filters', [ $this, 'create_filter' ] ); + + // Make it work in v2. + add_filter( 'tribe_context_locations', [ $this, 'filter_context_locations' ], 15 ); + add_filter( 'tribe_events_filter_bar_context_to_filter_map', [ $this, 'filter_context_to_filter_map' ] ); + add_filter( 'tribe_events_filter_bar_default_filter_names_map', [ $this, 'filter_default_filter_names_map' ] ); + } + + /** + * Filters the map of filters available on the front-end to include one for virtual events. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param array $map A map relating the filter slugs to their respective classes. + * + * @return array The filtered slug to filter class map. + */ + public function filter_context_to_filter_map( array $map ) { + $map['filterbar_events_virtual'] = Events_Virtual_Filter::class; + + return $map; + } + + /** + * Filters the list of default Filter Bar filters to add the ones provided by the plugin. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param array $map A map relating the filter classes to their default names. + * + * @return array The filtered map relating the filter classes to their default names. + */ + public function filter_default_filter_names_map( $map ) { + $map[ Events_Virtual_Filter::class ] = tribe_get_virtual_event_label_plural(); + + return $map; + } + + /** + * Filters the Context locations to let the Context know how to fetch the value of the filter from a request. + * + * @param array $locations A map of the locations the Context supports and is able to read from and write + * to. + * + * @return array The filtered map of Context locations, with the one required from the filter added to it. + */ + public function filter_context_locations( array $locations ) { + $get_fb_val_from_view_data = static function ( $key ) { + return static function ( $view_data ) use ( $key ) { + return ! empty( $view_data[ 'tribe_filterbar_events_' . $key ] ) ? $view_data[ 'tribe_filterbar_events_' . $key ] : null; + }; + }; + + // Read the filter selected values, if any, from the URL request vars. + $locations['filterbar_events_virtual'] = [ + 'read' => [ + \Tribe__Context::QUERY_VAR => [ 'tribe_filterbar_events_virtual' ], + \Tribe__Context::REQUEST_VAR => [ 'tribe_filterbar_events_virtual' ], + \Tribe__Context::LOCATION_FUNC => [ 'view_data', $get_fb_val_from_view_data( 'virtual' ) ], + ], + ]; + + return $locations; + } + + /** + * Includes the custom filter class and creates an instance of it. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @deprecated 1.12.0- Deprecated with removal of Legacy-V1 views. + */ + public function create_filter() { + return $this->container->make( Events_Virtual_Filter::class ); + } +} diff --git a/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Compatibility/Online_Event_Extension/Service_Provider.php b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Compatibility/Online_Event_Extension/Service_Provider.php new file mode 100644 index 000000000..b0956d7eb --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Compatibility/Online_Event_Extension/Service_Provider.php @@ -0,0 +1,74 @@ +container->singleton( self::class, $this ); + $this->container->singleton( 'events-virtual.compatibility.tribe-ext-online-event', $this ); + + $instance = \Tribe__Extension::instance( 'Tribe__Extension__Virtual__Event__Ticket' ); + + if ( ! $instance instanceof Extension ) { + // For whatever reason the extension is not registered, bail. + return; + } + + // Bind the extension instance in the container to make sure injection will work. + $this->container->bind( 'Tribe__Extension__Virtual__Event__Ticket', $instance ); + + add_action( 'tribe_plugins_loaded', [ $this, 'handle_actions' ], 20 ); + add_filter( 'tribe_addons_tab', [ $this, 'inject_extension_settings' ], 100 ); + } + + /** + * Handles the actions hooked by the extension plugin. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + */ + public function handle_actions() { + remove_action( + 'tribe_tickets_ticket_email_ticket_bottom', + [ $this->container->make( Extension::class ), 'render_online_link_in_email' ] + ); + } + + /** + * Injects some info into the extension settings to refer folks to the plugin. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param array $fields The fields within tribe settings page. + * @param string $tab The settings tab key. + * + * @return array $fields The fields within tribe settings page + */ + public function inject_extension_settings( $fields ) { + $settings = $this->container->make( Settings::class ); + + return $settings->inject_extension_settings( $fields ); + } +} diff --git a/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Compatibility/Online_Event_Extension/Settings.php b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Compatibility/Online_Event_Extension/Settings.php new file mode 100644 index 000000000..712101410 --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Compatibility/Online_Event_Extension/Settings.php @@ -0,0 +1,57 @@ + $fields The current setting fields for the tab. + * @param string $deprecated The current tab slug. + * + * @return array The tab fields, modified if required. + */ + public function inject_extension_settings( $fields, $deprecated = null ) { + $fields['info-box-description']['html'] = wp_kses_post( + sprintf( + /* Translators: Opening and closing tags. */ + __( + '%1$sYou have the %2$sVirtual Events%3$s plugin installed, these settings are superseded by it.%4$s', + 'tribe-events-calendar-pro' + ), + '

                          ', + '', + '', + '

                          ' + ) + . sprintf( + /* Translators: Opening and closing tags. */ + __( + '%1$sYou should deactivate The Events Control extension as all functionality is handled by the Virtual Events plugin.%2$s', + 'tribe-events-calendar-pro' + ), + '

                          ', + '

                          ' + ) + ); + + return $fields; + } +} diff --git a/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Context/Context_Provider.php b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Context/Context_Provider.php new file mode 100644 index 000000000..ce02e0c32 --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Context/Context_Provider.php @@ -0,0 +1,58 @@ +container->singleton( 'events-virtual.context', $this ); + + add_filter( 'tribe_context_locations', [ $this, 'filter_context_locations' ] ); + } + + /** + * Filters the context locations to add the ones used by The Events Calendar PRO. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param array $locations The array of context locations. + * + * @return array The modified context locations. + */ + public function filter_context_locations( array $locations = [] ) { + $locations = array_merge( $locations, [ + 'virtual' => [ + 'read' => [ + Tribe__Context::REQUEST_VAR => [ 'virtual' ], + Tribe__Context::QUERY_VAR => [ 'virtual' ], + ], + ], + ] ); + + return $locations; + } +} diff --git a/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Editor/Blocks/Virtual_Event.php b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Editor/Blocks/Virtual_Event.php new file mode 100644 index 000000000..b476bf895 --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Editor/Blocks/Virtual_Event.php @@ -0,0 +1,68 @@ + esc_html__( 'Virtual Events', 'tribe-events-calendar-pro' ), + ]; + + return $defaults; + } + + public static function register_block() { + parent::register(); + } + + /** + * Since we are dealing with a Dynamic type of Block we need a PHP method to render it. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param array $attributes + * + * @return string + */ + public function render( $attributes = [] ) { + if ( + ! tribe( 'editor' )->should_load_blocks() + || ! tribe( 'events.editor.compatibility' )->is_blocks_editor_toggled_on() + ) { + return ''; + } + + $args = []; + $args['attributes'] = $this->attributes( $attributes ); + $args['post_id'] = $post_id = tribe( 'events.editor.template' )->get( 'post_id', null, false ); + + /* @var Frontend $frontend */ + $frontend = tribe( Frontend::class ); + + // Add the rendering attributes into global context. + $frontend->add_template_globals( $args ); + + return $frontend->template( [ 'blocks', $this->slug() ], $args, false ); + } +} diff --git a/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Editor/Provider.php b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Editor/Provider.php new file mode 100644 index 000000000..448f807c1 --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Editor/Provider.php @@ -0,0 +1,106 @@ +container->singleton( static::class, $this ); + + $this->container->singleton( 'events-virtual.editor.blocks.virtual', Blocks\Virtual_Event::class, [ 'load' ] ); + $this->container->singleton( Template\Frontend::class, Template\Frontend::class ); + $this->container->singleton( Template\Admin::class, Template\Admin::class ); + + $this->hook(); + } + + /** + * Hooks actions from the editor into the correct places. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @return bool + */ + public function hook() { + add_action( 'tribe_editor_register_blocks', [ $this, 'register_blocks' ] ); + add_filter( 'tribe_events_editor_default_template', [ $this, 'add_event_template_blocks' ], 20, 3 ); + } + + /** + * Register the Virtual Event Block. + * + * Instead of using `init` to register our own blocks, this allows us to add + * it when the proper place shows up + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + */ + public function register_blocks() { + tribe( 'events-virtual.editor.blocks.virtual' )->register(); + } + + /** + * Adds the required blocks into the Events Post Type default templates. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param array $template Array of all the templates used by default. + * @param string $post_type Which post type we are filtering. + * @param array $args Array of configurations for the post type. + * + * @return array $template Modified arguments used to setup the CPT template. + */ + public function add_event_template_blocks( $template, $post_type, $args ) { + $post = tribe_get_request_var( 'post' ); + + // Basically sets up up a different template if this is a classic event. + if ( ! has_blocks( $post ) ) { + return $template; + } + + // To be safe, ensure we have an array. + if ( ! is_array( $template ) ) { + $template = (array) $template; + } + + /** + * Allow modifying the default block template for Virtual Events. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * @todo [plugin-consolidation] Merge VE into ECP, hook to be deprecated and renamed. + * + * @param array $template Array of the templates we're adding. + * @param string $post_type Which post type we are filtering. + * @param array $args Array of configurations for the post type. + */ + $virtual_template = apply_filters( 'tribe_events_editor_default_virtual_template', [ 'tribe/virtual-event' ], TEC::POSTTYPE, $args ); + + // Add our new template to the mix. + $template[] = $virtual_template; + + return $template; + } +} diff --git a/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Editor/Template/Admin.php b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Editor/Template/Admin.php new file mode 100644 index 000000000..156eef4b8 --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Editor/Template/Admin.php @@ -0,0 +1,24 @@ +set_template_origin( tribe( Plugin::class ) ); + + $this->set_template_folder( 'src/admin-views' ); + + // Configures this templating class extract variables. + $this->set_template_context_extract( true ); + } +} diff --git a/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Editor/Template/Frontend.php b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Editor/Template/Frontend.php new file mode 100644 index 000000000..42743acb9 --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Editor/Template/Frontend.php @@ -0,0 +1,57 @@ +set_template_origin( tribe( Plugin::class ) ); + + $this->set_template_folder( 'src/views' ); + + // Configures this templating class extract variables. + $this->set_template_context_extract( true ); + + // Uses the public folders. + $this->set_template_folder_lookup( true ); + + } + + /** + * Return the attributes of the template. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param array $default_attributes the default attributes to be overridden. + * + * @return array The modified attributes. + */ + public function attributes( $default_attributes = [] ) { + return wp_parse_args( + $this->get( 'attributes', [] ), + $default_attributes + ); + } + + /** + * Return a specific attribute. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param mixed $default. + * + * @return mixed|null + */ + public function attr( $index, $default = null ) { + return $this->get( array_merge( [ 'attributes' ], (array) $index ), [], $default ); + } +} diff --git a/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Encryption.php b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Encryption.php new file mode 100644 index 000000000..ca6401c55 --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Encryption.php @@ -0,0 +1,155 @@ +encrypt_key, '' ); + + // if the key is still empty generate backup key. + if ( empty( $key ) || ! is_string( $key ) ) { + $key = $this->generate_encryption_key(); + } + + /** + * Allow filtering of the encryption key. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * @todo [plugin-consolidation] Merge VE into ECP, hook to be deprecated and renamed. + * + * @param string $key The encryption key. + */ + $key = apply_filters( 'tribe_events_virtual_encryption_key', $key ); + + if ( ! \ctype_xdigit( $key ) ) { + + do_action( 'tribe_log', 'error', __CLASS__, [ + 'action' => __METHOD__, + 'code' => 'Key Error', + 'message' => 'Provided key is not a hexadecimal, only decimal digits[0-9] and characters from [a-f]', + ] ); + + return false; + } + + return Key::loadFromAsciiSafeString( $key ); + } + + /** + * Generate an encryption key. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @return string The generated encryption key. + * @throws \Defuse\Crypto\Exception\EnvironmentIsBrokenException + */ + protected function generate_encryption_key() { + $key_obj = Key::createNewRandomKey(); + $generated_key = $key_obj->saveToAsciiSafeString(); + add_option( $this->encrypt_key, $generated_key ); + + return $generated_key; + } + + /** + * Encrypt the provided string. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param string|array $data The string or array to encrypt. + * @param boolean $is_array If the data is expected to be an array an should be json encoded, default is false. + * + * @return string|array The string to encrypt or if no key the data passed to the method. + * @throws \Defuse\Crypto\Exception\BadFormatException + * @throws \Defuse\Crypto\Exception\EnvironmentIsBrokenException + */ + public function encrypt( $data, $is_array = false ) { + /** var Defuse\Crypto\Key */ + $key = $this->get_encryption_key(); + if ( empty( $key ) ) { + return $data; + } + + if ( $is_array ) { + $data = wp_json_encode( $data ); + } + + return Crypto::encrypt( $data, $key ); + } + + /** + * Decrypt the provided string. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param string $encrypted_data A string of encrypted text or json encoded data. + * @param boolean $is_array If the data is expected to be an array once decrypted, default is false. + * + * @return string|array The decrypted string|array or when a failure to decrypt, the passed string. + * @throws \Defuse\Crypto\Exception\BadFormatException + * @throws \Defuse\Crypto\Exception\EnvironmentIsBrokenException + */ + public function decrypt( $encrypted_data, $is_array = false ) { + if ( empty( $encrypted_data ) || ! is_string( $encrypted_data ) ) { + return $encrypted_data; + } + + $key = $this->get_encryption_key(); + if ( empty( $key ) ) { + return $encrypted_data; + } + + try { + $decrypted_text = Crypto::decrypt( $encrypted_data, $key ); + } catch ( \Defuse\Crypto\Exception\WrongKeyOrModifiedCiphertextException $error ) { + // Return data as sent to the method if there is a failure to decrypt. + // This is for backwards compatibility for data that was no encrypted. + return $encrypted_data; + } + + if ( $is_array ) { + $decrypted_text = json_decode( $decrypted_text, true ); + } + + return $decrypted_text; + } +} diff --git a/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Event_Meta.php b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Event_Meta.php new file mode 100644 index 000000000..35a015db8 --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Event_Meta.php @@ -0,0 +1,313 @@ + + */ + public static $virtual_event_keys = [ + '_tribe_events_is_hybrid', + '_tribe_events_is_virtual', + '_tribe_events_virtual_video_source', + '_tribe_events_virtual_embed_video', + '_tribe_events_virtual_linked_button_text', + '_tribe_events_virtual_linked_button', + '_tribe_events_virtual_show_embed_at', + '_tribe_events_virtual_show_embed_to', + '_tribe_events_virtual_show_on_event', + '_tribe_events_virtual_show_on_views', + '_tribe_events_virtual_url', + ]; + + /** + * Key value map of the meta field to the schema type, for registering meta fields. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @var array + */ + public static $meta_field_types = [ + '_tribe_events_is_hybrid' => 'string', + '_tribe_events_is_virtual' => 'string', + '_tribe_events_virtual_video_source' => 'string', + '_tribe_events_virtual_embed_video' => 'string', + '_tribe_events_virtual_linked_button_text' => 'string', + '_tribe_events_virtual_linked_button' => 'string', + '_tribe_events_virtual_show_embed_at' => 'string', + '_tribe_events_virtual_show_embed_to' => 'array', + '_tribe_events_virtual_show_on_event' => 'string', + '_tribe_events_virtual_show_on_views' => 'string', + '_tribe_events_virtual_url' => 'string', + ]; + + /** + * The prefix used to mark the meta saved by the plugin. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @var string + */ + public static $prefix = '_tribe_events_'; + + /** + * Get the virtual event meta keys. + * Allows additional modules/plugins to add themselves via a filter. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @return array + */ + public static function get_virtual_event_meta_keys() { + // @todo [plugin-consolidation] Merge VE into ECP, hook to be deprecated and renamed. + return apply_filters( 'tribe_events_virtual_event_meta_keys', self::$virtual_event_keys ); + } + + /** + * Returns the default text to be used for the linked button. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @return string The default, localized, text to be used from the linked button text. + */ + public static function linked_button_default_text() { + return _x( + 'Watch', + 'Default label of the virtual event URL call-to-action link.', + 'tribe-events-calendar-pro' + ); + } + + /** + * Returns the default text to be used for the linked button. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param WP_Post|null $event The event we're editing. + * + * @return string The localized, placeholder text to be used for the video source input. + */ + public static function get_video_source_text( $event = null ) { + $event = tribe_get_event( $event ); + + $text = _x( + 'Enter URL (YouTube, Zoom, Outlook Event, Webex, etc.)', + 'Default placeholder text for the virtual event smart URL input.', + 'tribe-events-calendar-pro' + ); + + /** + * Allows filtering of the default placeholder text for the URL field. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param string $text The current placeholder text. + */ + return apply_filters( + 'tribe_events_virtual_video_source_placeholder_text', + $text, + $event + ); + } +} diff --git a/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Event_Status/Compatibility/Filter_Bar/Events_Status_Virtual_Filter.php b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Event_Status/Compatibility/Filter_Bar/Events_Status_Virtual_Filter.php new file mode 100644 index 000000000..cd3d6133a --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Event_Status/Compatibility/Filter_Bar/Events_Status_Virtual_Filter.php @@ -0,0 +1,84 @@ + $filter_values An array of filter values. + * + * @return array An array of filter values. + */ + public function add_filterbar_values( $filter_values ) { + + $filter_values[ 'moved-online' ] = [ + 'name' => _x( 'Show only moved online events', 'Moved online label for filter bar to show moved online events.', 'tribe-events-calendar-pro' ), + 'value' => static::MOVEDONLINE, + ]; + + return $filter_values; + } + + + /** + * Filter the event statuses where clause to only show moved online events. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param string $where_clause The where clause to filter. + * @param string|array $currentValue A string or array of the current values selected for the filter. + * @param string $alias The table alias that will be used for the postmeta table. + * @param array $hide_clauses The hide clauses on whether to hide canceled and postponed events. + * @param array $clauses The standard clauses to get all events. + * + * @return string $where_clause The where clause to filter. + */ + public function filter_where_clause( $where_clause, $current_value, $alias, $hide_clauses, $clauses ) { + /** @var \wpdb $wpdb */ + global $wpdb; + + // If the moved online status is not a selected value, then return existing clause. + if ( + ( + is_array( $current_value ) && + ! in_array( static::MOVEDONLINE, $current_value ) + ) && + static::MOVEDONLINE !== $current_value + ) { + return $where_clause; + } + + + $moved_online_clauses[] = $wpdb->prepare( + " {$alias}.meta_value IN (%s) ", + self::MOVEDONLINE + ); + + return ' AND ( ' . implode( ' OR ', $moved_online_clauses ) . ') '; + } +} diff --git a/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Event_Status/Compatibility/Filter_Bar/Service_Provider.php b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Event_Status/Compatibility/Filter_Bar/Service_Provider.php new file mode 100644 index 000000000..60a40c9d3 --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Event_Status/Compatibility/Filter_Bar/Service_Provider.php @@ -0,0 +1,71 @@ +container->singleton( static::class, $this ); + $this->container->singleton( 'events-virtual.event.status.compatibility.tribe-filter-bar', $this ); + + if ( ! tribe( Detect::class )::is_active() ) { + // For whatever reason the plugin is not active but we still got here, bail. + return; + } + + add_filter( 'tec_event_status_filterbar_values', [ $this, 'add_filterbar_values' ], 15 ); + add_filter( 'tec_event_status_filterbar_where_clause', [ $this, 'filter_where_clause' ], 10, 5 ); + } + + /** + * Adds the moved online filter for event status. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param array $filter_values An array of filter values. + * + * @return array An array of filter values. + */ + public function add_filterbar_values( $filter_values ) { + return $this->container->make( Events_Status_Virtual_Filter::class )->add_filterbar_values( $filter_values ); + } + + /** + * Filter the event statuses where clause to only show moved online events. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param string $where_clause The where clause to filter. + * @param string|array $current_value A string or array of the current values selected for the filter. + * @param string $alias The table alias that will be used for the postmeta table. + * @param array $hide_clauses The hide clauses on whether to hide canceled and postponed events. + * @param array $clauses The standard clauses to get all events. + * + * @return string $where_clause The where clause to filter. + */ + public function filter_where_clause( $where_clause, $current_value, $alias, $hide_clauses, $clauses ) { + return $this->container->make( Events_Status_Virtual_Filter::class )->filter_where_clause( $where_clause, $current_value, $alias, $hide_clauses, $clauses ); + } +} diff --git a/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Event_Status/Status_Labels.php b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Event_Status/Status_Labels.php new file mode 100644 index 000000000..998b4f299 --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Event_Status/Status_Labels.php @@ -0,0 +1,64 @@ + $statuses The event status options for an event. + * @param string $current_status The current event status for the event or empty string if none. + * + * @return array The event status options for an event. + */ + public function filter_event_statuses( $statuses, $current_status ) { + $default_statuses = [ + [ + 'text' => $this->get_moved_online_label(), + 'id' => 'moved-online', + 'value' => 'moved-online', + 'selected' => 'moved-online' === $current_status ? true : false, + ] + ]; + + $statuses = array_merge( $statuses, $default_statuses ); + + return $statuses; + } + + /** + * Get the moved online status label. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @return string The label for the moved online status. + */ + public function get_moved_online_label() { + + /** + * Filter the moved online label for event status. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * @todo [plugin-consolidation] Merge VE into ECP, hook to be deprecated and renamed. + * + * @param string The default translated label for the moved online status. + */ + return apply_filters( 'tec_events_virtual_event_status_moved_online_label', _x( 'Moved Online', 'Moved Online event status label', 'tribe-events-calendar-pro' ) ); + } +} diff --git a/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Export/Abstract_Export.php b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Export/Abstract_Export.php new file mode 100644 index 000000000..5d5a0c836 --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Export/Abstract_Export.php @@ -0,0 +1,176 @@ +virtual_video_source ) { + return $fields; + } + + // If it should not show or no linked button and details, set the permalink and return. + if ( + ! $should_show || + ( + ! $event->virtual_linked_button && + ! $event->virtual_meeting_display_details + ) + ) { + $fields[ $key_name ] = $this->format_value( get_the_permalink( $event->ID ), $key_name, $type ); + + return $fields; + } + + $url = empty( $event->virtual_meeting_url ) ? $event->virtual_url : $event->virtual_meeting_url; + + $fields[ $key_name ] = $this->format_value( $url, $key_name, $type ); + + /** + * Allow filtering of the export fields for an API. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * @todo [plugin-consolidation] Merge VE into ECP, hook to be deprecated and renamed. + * + * @param array $fields The various file format components for this specific event. + * @param \WP_Post $event The WP_Post of this event. + * @param string $key_name The name of the array key to modify. + * @param string $type The name of the export type. + * @param boolean $should_show Whether to modify the export fields for the current user, default to false. + */ + $fields = apply_filters( "tec_events_virtual_{$api_id}_export_fields", $fields, $event, $key_name, $type, $should_show ); + + return $fields; + } + + /** + * Filter the Outlook single event export url for an API source event. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param string $url The url used to subscribe to a calendar in Outlook. + * @param string $base_url The base url used to subscribe in Outlook. + * @param array $params An array of parameters added to the base url. + * @param Outlook_Methods $outlook_methods An instance of the link abstract. + * @param \WP_Post $event The WP_Post of this event. + * @param boolean $should_show Whether to modify the export fields for the current user, default to false. + * + * @return string The export url used to generate an Outlook event for the single event. + */ + public function filter_outlook_single_event_export_url_by_api( $url, $base_url, $params, $outlook_methods, $event, $should_show ) { + $api_id = static::$api_id; + + if ( $api_id !== $event->virtual_video_source ) { + return $url; + } + + // If it should not show or no linked button and details, set the permalink and return. + if ( + ! $should_show || + ( + ! $event->virtual_linked_button && + ! $event->virtual_meeting_display_details + ) + ) { + + return $url; + } + + $api_url = empty( $event->virtual_meeting_url ) ? $event->virtual_url : $event->virtual_meeting_url; + $params['body'] = trim( $params['body'] . ' ' . $api_url ); + $url = add_query_arg( $params, $base_url ); + + /** + * Allow filtering of the export fields for an API. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * @todo [plugin-consolidation] Merge VE into ECP, hook to be deprecated and renamed. + * + * @param string $url The url used to subscribe to a calendar in Outlook. + * @param string $base_url The base url used to subscribe in Outlook. + * @param array $params An array of parameters added to the base url. + * @param Outlook_Methods $outlook_methods An instance of the link abstract. + * @param \WP_Post $event The WP_Post of this event. + * @param boolean $should_show Whether to modify the export fields for the current user, default to false. + */ + $url = apply_filters( "tec_events_virtual_outlook_{$api_id}_export_url", $url, $base_url, $params, $outlook_methods, $event, $should_show ); + + return $url; + } +} diff --git a/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Export/Event_Export.php b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Export/Event_Export.php new file mode 100644 index 000000000..4e40f9b71 --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Export/Event_Export.php @@ -0,0 +1,237 @@ +virtual ) { + return $fields; + } + + /** + * Filters whether or not we should respect the Venue value to be listed on the location field. If + * false the Venue will be preserved, if true the Virtual Event URL will replace it. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * @todo [plugin-consolidation] Merge VE into ECP, hook to be deprecated and renamed. + * + * @param boolean Whether to override the venue location field with the virtual URL. + * @param \WP_Post $event The WP_Post of this event. + */ + $should_override_venue = apply_filters( 'tec_events_virtual_export_should_override_venue_location', false, $event ); + + // If there is a venue and not overwritten, return fields as is. + if ( isset( $event->venues[0] ) && ! $should_override_venue ) { + return $fields; + } + + /** + * Allows filtering of whether the current user should have export fields modified. + * + * Utilizes the values from the Show To field and provides the result to each video source + * where it can be overridden. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * @todo [plugin-consolidation] Merge VE into ECP, hook to be deprecated and renamed. + * + * @param boolean Whether to modify the export fields for the current user, default to false. + * @param \WP_Post $event The WP_Post of this event. + */ + $should_show = apply_filters( 'tec_events_virtual_export_should_show', false, $event ); + + /** + * Allow filtering of the export fields by the active video source. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * @todo [plugin-consolidation] Merge VE into ECP, hook to be deprecated and renamed. + * + * @param array $fields The various file format components for this specific event. + * @param \WP_Post $event The WP_Post of this event. + * @param string $key_name The name of the array key to modify. + * @param string $type The name of the export type. + * @param boolean $should_show Whether to modify the export fields for the current user, default to false. + */ + $fields = apply_filters( 'tec_events_virtual_export_fields', $fields, $event, $key_name, $type, $should_show ); + + return $fields; + } + + /** + * Modify the export parameters for the video source. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param array $fields The various file format components for this specific event. + * @param \WP_Post $event The WP_Post of this event. + * @param string $key_name The name of the array key to modify. + * @param string $type The name of the export type. + * @param boolean $should_show Whether to modify the export fields for the current user, default to false. + * + * @return array The various file format components for this specific event. + */ + public function modify_video_source_export_output( $fields, $event, $key_name, $type, $should_show ) { + if ( 'video' !== $event->virtual_video_source ) { + return $fields; + } + + // If it should not show or it should not embed video or no linked button, set the permalink and return. + if ( + ! $should_show || + ( + $event->virtual_embed_video && + ! $event->virtual_linked_button + )|| + ( + ! $event->virtual_embed_video && + ! $event->virtual_linked_button + ) + ) { + $fields[ $key_name ] = $this->format_value( get_the_permalink( $event->ID ), $key_name, $type ); + + return $fields; + } + + $url = $event->virtual_url; + + + $fields[ $key_name ] = $this->format_value( $url, $key_name, $type ); + + return $fields; + } + + /** + * Filter whether the current user should see the video source in the export. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param boolean $should_show Whether to modify the export fields for the current user, default to false. + * @param \WP_Post $event The WP_Post of this event. + * + * @return boolean Whether to modify the export fields for the current user. + */ + public function filter_export_should_show( $should_show, $event ) { + if ( ! $event instanceof \WP_Post ) { + return $should_show; + } + + $show_to = (array) $event->virtual_show_embed_to; + + if ( empty( $show_to ) ) { + return false; + } + + if ( in_array( 'all', $show_to, true ) ) { + return true; + } + + // Everything after this depends on the user being logged in. + if ( ! is_user_logged_in() ) { + return false; + } + + // Do we need to be logged in? + if ( in_array( 'logged-in', $show_to ) ) { + return true; + } + + return $should_show; + } + + /** + * Filter the Outlook single event export url for a Zoom source event. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param string $url The url used to subscribe to a calendar in Outlook. + * @param string $base_url The base url used to subscribe in Outlook. + * @param array $params An array of parameters added to the base url. + * @param Outlook_Methods $outlook_methods An instance of the link abstract. + * + * @return string The export url used to generate an Outlook event for the single event. + */ + public function filter_outlook_single_event_export_url( $url, $base_url, $params, $outlook_methods ) { + if ( ! is_single() ) { + return $url; + } + + // Getting the event details. + $event = tribe_get_event(); + if ( ! $event instanceof \WP_Post ) { + return $url; + } + + // If it is not a virtual event, return url. + if ( ! $event->virtual ) { + return $url; + } + + // If there is a venue, return url as is. + if ( isset( $event->venues[0] ) ) { + return $url; + } + + /** + * Allows filtering of whether the current user should have export fields modified. + * + * Utilizes the values from the Show To field and provides the result to each video source + * where it can be overridden. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * @todo [plugin-consolidation] Merge VE into ECP, hook to be deprecated and renamed. + * + * @param boolean Whether to modify the export fields for the current user, default to false. + * @param \WP_Post $event The WP_Post of this event. + */ + $should_show = apply_filters( 'tec_events_virtual_export_should_show', false, $event ); + + /** + * Allow filtering of the export fields by the active video source. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * @todo [plugin-consolidation] Merge VE into ECP, hook to be deprecated and renamed. + * + * @param string $url The url used to subscribe to a calendar in Outlook. + * @param string $base_url The base url used to subscribe in Outlook. + * @param array $params An array of parameters added to the base url. + * @param Outlook_Methods $outlook_methods An instance of the link abstract. + * @param \WP_Post $event The WP_Post of this event. + * @param boolean $should_show Whether to modify the export fields for the current user, default to false. + */ + $url = apply_filters( 'tec_events_virtual_outlook_single_event_export_url', $url, $base_url, $params, $outlook_methods, $event, $should_show ); + + return $url; + } +} diff --git a/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Export/Export_Provider.php b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Export/Export_Provider.php new file mode 100644 index 000000000..c9bd6ea39 --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Export/Export_Provider.php @@ -0,0 +1,133 @@ +container->singleton( 'events-virtual.export', $this ); + $this->container->singleton( static::class, $this ); + + add_filter( 'tec_views_v2_single_event_gcal_link_parameters', [ $this, 'filter_google_calendar_parameters' ], 10, 2 ); + add_filter( 'tribe_ical_feed_item', [ $this, 'filter_ical_feed_items' ], 10, 2 ); + + add_filter( 'tec_events_virtual_export_fields', [ $this, 'filter_video_source_google_calendar_parameters' ], 10, 5 ); + add_filter( 'tec_events_virtual_export_fields', [ $this, 'filter_video_source_ical_feed_items' ], 10, 5 ); + add_filter( 'tec_events_ical_outlook_single_event_import_url', [ $this, 'filter_outlook_single_event_export_url' ], 10, 4 ); + + add_filter( 'tec_events_virtual_export_should_show', [ $this, 'filter_export_should_show' ], 5, 2 ); + } + + /** + * Filter the Google Calendar export parameters for an exporting event. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param array $output Google Calendar Link params. + * @param int $event_id The event id. + * + * @return array Google Calendar Link params. + */ + public function filter_google_calendar_parameters( $output, $event_id ) { + + return $this->container->make( Event_Export::class )->modify_export_output( $output, $event_id, 'location', 'gcal' ); + } + + /** + * Filter the iCal export parameters for an exporting event. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param array $item The various iCal file format components of this specific event item. + * @param \WP_Post $event_post The WP_Post of this event. + * + * @return array The various iCal file format components of this specific event item. + */ + public function filter_ical_feed_items( $item, $event_post ) { + return $this->container->make( Event_Export::class )->modify_export_output( $item, $event_post->ID, 'LOCATION', 'ical' ); + } + + /** + * Filter the Google Calendar export fields for a video source event. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param array $fields The various file format components for this specific event. + * @param \WP_Post $event The WP_Post of this event. + * @param string $key_name The name of the array key to modify. + * @param string $type The name of the export type. + * @param boolean $should_show Whether to modify the export fields for the current user, default to false. + * + * @return array Google Calendar Link params. + */ + public function filter_video_source_google_calendar_parameters( $fields, $event, $key_name, $type, $should_show ) { + + return $this->container->make( Event_Export::class )->modify_video_source_export_output( $fields, $event, $key_name, $type, $should_show ); + } + + /** + * Filter the iCal export fields for a video source event. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param array $fields The various file format components for this specific event. + * @param \WP_Post $event The WP_Post of this event. + * @param string $key_name The name of the array key to modify. + * @param string $type The name of the export type. + * @param boolean $should_show Whether to modify the export fields for the current user, default to false. + * + * @return array The various iCal file format components of this specific event item. + */ + public function filter_video_source_ical_feed_items( $fields, $event, $key_name, $type, $should_show ) { + return $this->container->make( Event_Export::class )->modify_video_source_export_output( $fields, $event, $key_name, $type, $should_show ); + } + + /** + * Filter the Outlook single event export url for a Zoom source event. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param string $url The url used to subscribe to a calendar in Outlook. + * @param string $base_url The base url used to subscribe in Outlook. + * @param array $params An array of parameters added to the base url. + * @param Outlook_Methods $outlook_methods An instance of the link abstract. + * + * @return string The export url used to generate an Outlook event for the single event. + */ + public function filter_outlook_single_event_export_url( $url, $base_url, $params, $outlook_methods ) { + return $this->container->make( Event_Export::class )->filter_outlook_single_event_export_url( $url, $base_url, $params, $outlook_methods ); + } + + /** + * Filter whether the current user should see the video source in the export. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param boolean $should_show Whether to modify the export fields for the current user, default to false. + * @param \WP_Post $event The WP_Post of this event. + * + * @return boolean Whether to modify the export fields for the current user. + */ + public function filter_export_should_show( $should_show, $event ) { + return $this->container->make( Event_Export::class )->filter_export_should_show( $should_show, $event ); + } +} diff --git a/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Hooks.php b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Hooks.php new file mode 100644 index 000000000..83b3251d6 --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Hooks.php @@ -0,0 +1,1152 @@ +container->singleton( static::class, $this ); + $this->container->singleton( 'events-virtual.hooks', $this ); + + $this->add_actions(); + $this->add_filters(); + $this->add_providers(); + $this->add_meetings_support(); + $this->container->register( Event_Status_Filter_Bar_Provider::class ); + } + + /** + * Adds the actions required by the plugin. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + */ + protected function add_actions() { + add_action( 'init', [ $this, 'on_init' ] ); + add_action( 'admin_init', [ $this, 'run_updates' ], 10, 0 ); + if ( tribe( 'editor' )->should_load_blocks() ) { + add_action( 'add_meta_boxes', [ $this, 'on_add_meta_boxes' ], 15 ); + } else { + add_action( 'tribe_after_location_details', [ $this, 'render_metabox' ], 5 ); + } + + // Shared API Display Details. + add_action( + 'tribe_template_entry_point:events-pro/admin-views/virtual-metabox/container/display:before_ul_close', + [ $this, 'render_classic_display_controls' ], + 10, + 3 + ); + + add_action( 'save_post_' . Events_Plugin::POSTTYPE, [ $this, 'on_save_post' ], 15, 3 ); + + // Latest Past View. + add_action( + 'tribe_template_after_include:events/v2/latest-past/event/venue', + [ $this, 'action_add_virtual_event_marker' ], + 15, + 3 + ); + + add_action( + 'tribe_template_after_include:events/v2/latest-past/event/venue', + [ $this, 'action_add_hybrid_event_marker' ], + 15, + 3 + ); + + // List View. + add_action( + 'tribe_template_after_include:events/v2/list/event/venue', + [ $this, 'action_add_virtual_event_marker' ], + 15, + 3 + ); + + add_action( + 'tribe_template_after_include:events/v2/list/event/venue', + [ $this, 'action_add_hybrid_event_marker' ], + 15, + 3 + ); + + // Day View. + add_action( + 'tribe_template_after_include:events/v2/day/event/venue', + [ $this, 'action_add_virtual_event_marker' ], + 15, + 3 + ); + + add_action( + 'tribe_template_after_include:events/v2/day/event/venue', + [ $this, 'action_add_hybrid_event_marker' ], + 15, + 3 + ); + + // Month View. + add_action( + 'tribe_template_after_include:events/v2/month/calendar-body/day/calendar-events/calendar-event/date/featured', + [ $this, 'action_add_virtual_event_marker' ], + 15, + 3 + ); + + add_action( + 'tribe_template_after_include:events/v2/month/calendar-body/day/calendar-events/calendar-event/tooltip/date/featured', + [ $this, 'action_add_virtual_event_marker' ], + 15, + 3 + ); + + add_action( + 'tribe_template_after_include:events/v2/month/calendar-body/day/multiday-events/multiday-event/bar/featured', + [ $this, 'action_add_virtual_event_marker' ], + 15, + 3 + ); + + add_action( + 'tribe_template_after_include:events/v2/month/mobile-events/mobile-day/mobile-event/title', + [ $this, 'action_add_virtual_event_marker' ], + 15, + 3 + ); + + add_action( + 'tribe_template_after_include:events/v2/month/calendar-body/day/calendar-events/calendar-event/date/featured', + [ $this, 'action_add_hybrid_event_marker' ], + 15, + 3 + ); + + add_action( + 'tribe_template_after_include:events/v2/month/calendar-body/day/calendar-events/calendar-event/tooltip/date/featured', + [ $this, 'action_add_hybrid_event_marker' ], + 15, + 3 + ); + + add_action( + 'tribe_template_after_include:events/v2/month/calendar-body/day/multiday-events/multiday-event/bar/featured', + [ $this, 'action_add_hybrid_event_marker' ], + 15, + 3 + ); + + add_action( + 'tribe_template_after_include:events/v2/month/mobile-events/mobile-day/mobile-event/title', + [ $this, 'action_add_hybrid_event_marker' ], + 15, + 3 + ); + + // Summary View. + add_action( + 'tribe_template_before_include:events-pro/v2/summary/date-group/event/title/featured', + [ $this, 'action_add_virtual_event_marker' ], + 20, + 3 + ); + + add_action( + 'tribe_template_before_include:events-pro/v2/summary/date-group/event/title/featured', + [ $this, 'action_add_hybrid_event_marker' ], + 20, + 3 + ); + + // Photo View. + add_action( + 'tribe_template_before_include:events-pro/v2/photo/event/date-time', + [ $this, 'action_add_virtual_event_marker' ], + 20, + 3 + ); + + add_action( + 'tribe_template_before_include:events-pro/v2/photo/event/date-time', + [ $this, 'action_add_hybrid_event_marker' ], + 20, + 3 + ); + + // Map View. + add_action( + 'tribe_template_after_include:events-pro/v2/map/event-cards/event-card/event/venue', + [ $this, 'action_add_virtual_event_marker' ], + 15, + 3 + ); + + add_action( + 'tribe_template_after_include:events-pro/v2/map/event-cards/event-card/tooltip/venue', + [ $this, 'action_add_virtual_event_marker' ], + 15, + 3 + ); + + add_action( + 'tribe_template_after_include:events-pro/v2/map/event-cards/event-card/event/venue', + [ $this, 'action_add_hybrid_event_marker' ], + 15, + 3 + ); + + add_action( + 'tribe_template_after_include:events-pro/v2/map/event-cards/event-card/tooltip/venue', + [ $this, 'action_add_hybrid_event_marker' ], + 15, + 3 + ); + + // Week View. + add_action( + 'tribe_template_after_include:events-pro/v2/week/mobile-events/day/event/venue', + [ $this, 'action_add_virtual_event_marker' ], + 15, + 3 + ); + + add_action( + 'tribe_template_after_include:events-pro/v2/week/grid-body/events-day/event/date/featured', + [ $this, 'action_add_virtual_event_marker' ], + 15, + 3 + ); + + add_action( + 'tribe_template_after_include:events-pro/v2/week/grid-body/events-day/event/tooltip/date/featured', + [ $this, 'action_add_virtual_event_marker' ], + 15, + 3 + ); + + add_action( + 'tribe_template_after_include:events-pro/v2/week/grid-body/multiday-events-day/multiday-event/bar/featured', + [ $this, 'action_add_virtual_event_marker' ], + 15, + 3 + ); + + add_action( + 'tribe_template_after_include:events-pro/v2/week/mobile-events/day/event/venue', + [ $this, 'action_add_hybrid_event_marker' ], + 15, + 3 + ); + + add_action( + 'tribe_template_after_include:events-pro/v2/week/grid-body/events-day/event/date/featured', + [ $this, 'action_add_hybrid_event_marker' ], + 15, + 3 + ); + + add_action( + 'tribe_template_after_include:events-pro/v2/week/grid-body/events-day/event/tooltip/date/featured', + [ $this, 'action_add_hybrid_event_marker' ], + 15, + 3 + ); + + add_action( + 'tribe_template_after_include:events-pro/v2/week/grid-body/multiday-events-day/multiday-event/bar/featured', + [ $this, 'action_add_hybrid_event_marker' ], + 15, + 3 + ); + + // "Classic" Event Single. + add_action( + 'tribe_events_single_event_after_the_content', + [ $this, 'action_add_event_single_video_embed' ], + 15, + 0 + ); + + add_action( + 'tribe_events_single_meta_details_section_end', + [ $this, 'action_add_event_single_details_block_link_button' ], + 15, + 0 + ); + + add_action( + 'tribe_template_before_include:events-pro/single/video-embed', + [ $this, 'action_add_oembed_filter' ], + 15, + 3 + ); + + add_action( + 'tribe_template_after_include:events-pro/single/video-embed', + [ $this, 'action_remove_oembed_filter' ], + 15, + 3 + ); + + // Event Single Blocks. + + // We need to be sure that some hooks fire after global $post is available for checks. + add_action( 'wp', [ $this, 'hook_block_template' ] ); + + add_action( + 'tribe_template_before_include:events/blocks/event-datetime', + [ $this, 'action_add_block_virtual_event_marker' ] + ); + + add_action( + 'tribe_template_before_include:events/blocks/event-datetime', + [ $this, 'action_add_block_hybrid_event_marker' ] + ); + + add_action( + 'tribe_events_pro_shortcode_tribe_events_before_assets', + [ $this, 'action_include_assets' ] + ); + // Generic Widgets. + + add_action( + 'tribe_events_views_v2_widget_after_enqueue_assets', + [ $this, 'action_widget_after_enqueue_assets' ], + 10, + 3 + ); + + // Widget Events List. + + add_action( + 'tribe_template_after_include:events/v2/widgets/widget-events-list/event/date/featured', + [ $this, 'action_add_virtual_event_marker' ], + 10, + 3 + ); + + add_action( + 'tribe_template_after_include:events/v2/widgets/widget-events-list/event/date/featured', + [ $this, 'action_add_hybrid_event_marker' ], + 10, + 3 + ); + + // Widget Featured Venue. + + add_action( + 'tribe_template_after_include:events-pro/v2/widgets/widget-featured-venue/events-list/event/date/featured', + [ $this, 'action_add_virtual_event_marker' ], + 10, + 3 + ); + + add_action( + 'tribe_template_after_include:events-pro/v2/widgets/widget-featured-venue/events-list/event/date/featured', + [ $this, 'action_add_hybrid_event_marker' ], + 10, + 3 + ); + + /* Events by Week Widget */ + add_action( + 'tribe_template_after_include:events-pro/v2/widget-week/mobile-events/day/event/date/featured', + [ $this, 'action_add_virtual_event_marker' ], + 15, + 3 + ); + + /* Event Calendar Widget */ + add_action( + 'tribe_events_pro_shortcode_month_widget_add_hooks', + [ $this, 'action_pro_shortcode_month_widget_add_hooks' ] + ); + + add_action( + 'tribe_events_pro_shortcode_month_widget_remove_hooks', + [ $this, 'action_pro_shortcode_month_widget_remove_hooks' ] + ); + } + + /** + * Adds the filters required by the plugin. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + */ + protected function add_filters() { + add_filter( 'tribe_template_origin_namespace_map', [ $this, 'filter_add_template_origin_namespace' ], 15 ); + add_filter( 'tribe_template_path_list', [ $this, 'filter_template_path_list' ], 15, 2 ); + add_filter( 'tribe_the_notices', [ $this, 'filter_include_single_control_mobile_markers' ], 15 ); + add_filter( 'tribe_the_notices', [ $this, 'filter_include_single_hybrid_control_mobile_markers' ], 15 ); + add_filter( 'tribe_events_event_schedule_details', [ $this, 'include_single_control_desktop_markers' ], 10, 2 ); + add_filter( 'tribe_events_event_schedule_details', [ $this, 'include_single_hybrid_control_desktop_markers' ], 10, 2 ); + add_filter( 'tribe_json_ld_event_object', [ $this, 'filter_json_ld_modifiers' ], 15, 3 ); + add_filter( 'tribe_rest_event_data', [ $this, 'filter_rest_event_data' ], 10, 2 ); + add_filter( 'post_class', [ $this, 'filter_add_post_class' ], 15, 3 ); + add_filter( 'body_class', [ $this, 'filter_add_body_class' ], 10 ); + + // Filter event object properties to add the ones related to virtual events. + add_filter( 'tribe_get_event', [ $this, 'filter_tribe_get_event' ] ); + add_filter( 'tribe_get_event_after', [ $this, 'add_dynamic_properties' ] ); + + // Add the plugin locations to the Context. + add_filter( 'tribe_context_locations', [ $this, 'filter_context_locations' ] ); + + // Add Video Source. + add_filter( 'tribe_events_virtual_video_sources', [ $this, 'add_video_source' ], 10, 2 ); + // Add autodetect source. + add_filter( 'tec_events_virtual_autodetect_video_sources', [ $this, 'add_autodetect_source' ], 10, 3 ); + // Add Event status. + add_filter( 'tec_event_statuses', [ $this, 'filter_event_status' ], 10, 2 ); + } + + /** + * Register providers. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + */ + protected function add_providers() { + $this->container->register( Autodetect_Provider::class ); + $this->container->register( Importer_Provider::class ); + } + + /** + * Registers the meeting providers. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + */ + protected function add_meetings_support() { + if ( ! Plugin::meetings_enabled() ) { + return; + } + + $this->container->register( Facebook_Provider::class ); + $this->container->register( Google_Provider::class ); + $this->container->register( Microsoft_Provider::class ); + $this->container->register( Webex_Provider::class ); + $this->container->register( YouTube_Provider::class ); + $this->container->register( Zoom_Provider::class ); + } + + /** + * Add the control classes for the views v2 elements + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param string|array $classes Space-separated string or array of class names to add to the class list. + * @param array $class An array of additional class names added to the post. + * @param int|\WP_Post $post Post ID or post object. + * + * @return array The filtered post classes. + */ + public function filter_add_post_class( $classes, $class, $post ) { + $new_classes = $this->container->make( Template_Modifications::class )->get_post_classes( $post ); + + return array_merge( $classes, $new_classes ); + } + + /** + * Add the control classes for the views v2 elements + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param string|array $classes Space-separated string or array of class names to add to the class list. + * + * @return array The filtered post body classes. + */ + public function filter_add_body_class( $classes ) { + global $post; + $new_classes = $this->container->make( Template_Modifications::class )->get_body_classes( $post ); + + return array_merge( $classes, $new_classes ); + } + + /** + * Includes Pro into the path namespace mapping, allowing for a better namespacing when loading files. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param array $namespace_map Indexed array containing the namespace as the key and path to `strpos`. + * + * @return array Namespace map after adding Pro to the list. + */ + public function filter_add_template_origin_namespace( $namespace_map ) { + /* @var $plugin Plugin */ + $plugin = tribe( Plugin::class ); + $namespace_map[ Plugin::SLUG ] = $plugin->plugin_path; + + return $namespace_map; + } + + /** + * Filters the list of folders TEC will look up to find templates to add the ones defined by PRO. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param array $folders The current list of folders that will be searched template files. + * @param Template $template Which template instance we are dealing with. + * + * @return array The filtered list of folders that will be searched for the templates. + */ + public function filter_template_path_list( array $folders, Template $template ) { + /* @var $plugin Plugin */ + $plugin = tribe( Plugin::class ); + $path = (array) rtrim( $plugin->plugin_path, '/' ); + + // Pick up if the folder needs to be added to the public template path. + $folder = [ 'src/views' ]; + + if ( ! empty( $folder ) ) { + $path = array_merge( $path, $folder ); + } + + $folders[ Plugin::SLUG ] = [ + 'id' => Plugin::SLUG, + 'namespace' => Plugin::SLUG, + 'priority' => 10, + 'path' => implode( DIRECTORY_SEPARATOR, $path ), + ]; + + return $folders; + } + + /** + * Modifiers to the JSON LD object we use. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param object $data The JSON-LD object. + * @param array $args The arguments used to get data. + * @param WP_Post $post The post object. + * + * @return object JSON LD object after modifications. + */ + public function filter_json_ld_modifiers( $data, $args, $post ) { + return $this->container->make( JSON_LD::class )->modify_virtual_event( $data, $args, $post ); + } + + /** + * Filters event REST data to include new fields. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param array $data The event data array. + * @param WP_Post $event The post object. + * + * @return array The event data array after modification. + */ + public function filter_rest_event_data( $data, $event ) { + return array_merge( + $data, + $this->container->make( Models\Event::class )->get_rest_properties( $event ) + ); + } + + /** + * Renders the metabox template. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param int $post_id The post ID of the event we are interested in. + */ + public function render_metabox( $post_id ) { + echo $this->container->make( Metabox::class )->render_template( $post_id ); /* phpcs:ignore */ + } + + /** + * Renders the API controls related to the display of the API detais. + * I.E. Webex or Zoom Meeting Links and numbers. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param string $file The path to the template file, unused. + * @param string $entry_point The name of the template entry point, unused. + * @param \Tribe__Template $template The current template instance. + */ + public function render_classic_display_controls( $file, $entry_point, \Tribe__Template $template ) { + $this->container->make( Metabox::class ) + ->render_classic_display_controls( $template->get( 'post' ) ); + } + + /** + * Register the metabox fields in the correct action. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + */ + public function on_init() { + $this->container->make( Metabox::class )->register_fields(); + } + + /** + * Registers the plugin meta box for Blocks Editor support. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + */ + public function on_add_meta_boxes() { + $this->container->make( Metabox::class )->register_blocks_editor_legacy(); + } + + /** + * Register the metabox fields in the correct action. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param int $post_id Which post ID we are dealing with when saving. + * @param WP_Post $post WP Post instance we are saving. + * @param boolean $update If we are updating the post or not. + */ + public function on_save_post( $post_id, $post, $update ) { + $this->container->make( Metabox::class )->save( $post_id, $post, $update ); + } + + /** + * Include the Virtual Events URL anchor for the archive pages. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param string $file Complete path to include the PHP File. + * @param array $name Template name. + * @param Template $template Current instance of the Template. + */ + public function action_add_virtual_event_marker( $file, $name, $template ) { + $this->container->make( Template_Modifications::class ) + ->add_virtual_event_marker( $file, $name, $template ); + } + + /** + * Include the Hybrid Events event marker for the archive pages. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param string $file Complete path to include the PHP File. + * @param array $name Template name. + * @param Template $template Current instance of the Template. + */ + public function action_add_hybrid_event_marker( $file, $name, $template ) { + $this->container->make( Template_Modifications::class ) + ->add_hybrid_event_marker( $file, $name, $template ); + } + + /** + * Include the Virtual Events URL anchor for the single event block. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + */ + public function action_add_block_virtual_event_marker() { + $this->container->make( Template_Modifications::class ) + ->add_single_block_virtual_event_marker(); + } + + /** + * Include the Hybrid Events URL anchor for the single event block. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + */ + public function action_add_block_hybrid_event_marker() { + $this->container->make( Template_Modifications::class ) + ->add_single_block_hybrid_event_marker(); + } + + /** + * Include the video embed for event single. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + */ + public function action_add_event_single_video_embed() { + $this->container->make( Template_Modifications::class ) + ->add_event_single_video_embed(); + } + + /** + * Include the link button for event single. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + */ + public function action_add_event_single_link_button() { + $this->container->make( Template_Modifications::class ) + ->add_event_single_non_block_link_button(); + } + + /** + * Include the link button for event single details block. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + */ + public function action_add_event_single_details_block_link_button() { + $this->container->make( Template_Modifications::class ) + ->add_event_single_link_button(); + } + + /** + * Add the oEmbed filter before the video embed template. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param string $file Complete path to include the PHP File. + * @param array $name Template name. + * @param Template $template Current instance of the Template. + */ + public function action_add_oembed_filter( $file, $name, $template ) { + add_filter( 'oembed_dataparse', [ $this, 'filter_make_oembed_responsive' ], 10, 3 ); + } + + /** + * Remove the oEmbed filter after the video embed template. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param string $file Complete path to include the PHP File. + * @param array $name Template name. + * @param Template $template Current instance of the Template. + */ + public function action_remove_oembed_filter( $file, $name, $template ) { + remove_filter( 'oembed_dataparse', [ $this, 'filter_make_oembed_responsive' ], 10, 3 ); + } + + /** + * Include the control markers for the single pages. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param string $notices_html Previously set HTML. + * + * @return string Before event html with the new markers. + */ + public function filter_include_single_control_mobile_markers( $notices_html ) { + $event = tribe_get_event( get_the_ID() ); + + if ( ! $event instanceof \WP_Post) { + return $notices_html; + } + + if ( ! $event->virtual ) { + return $notices_html; + } + + $template_modifications = $this->container->make( Template_Modifications::class ); + + return $template_modifications->add_single_control_mobile_markers( $notices_html ); + } + + /** + * Include the hybrid control markers for the single pages. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param string $notices_html Previously set HTML. + * + * @return string Before event html with the new markers. + */ + public function filter_include_single_hybrid_control_mobile_markers( $notices_html ) { + $event = tribe_get_event( get_the_ID() ); + + if ( ! $event instanceof \WP_Post ) { + return $notices_html; + } + + if ( ! $event->virtual ) { + return $notices_html; + } + + $template_modifications = $this->container->make( Template_Modifications::class ); + + return $template_modifications->add_single_hybrid_control_mobile_markers( $notices_html ); + } + + /** + * Include the control markers for the single pages. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param string $schedule The output HTML. + * @param int $event_id The post ID of the event we are interested in. + * + * @return string The output HTML. + */ + public function include_single_control_desktop_markers( $schedule, $event_id ) { + // Avoid infinite loops with serialization. + return tribe_suspending_filter( + current_filter(), + [ $this, __FUNCTION__ ], + function () use ( $schedule, $event_id ) { + $template_modifications = $this->container->make( Template_Modifications::class ); + + return $template_modifications->add_single_control_markers( $schedule, $event_id ); + }, + 2 + ); + } + + /** + * Include the hybrid control markers for the single pages. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param string $schedule The output HTML. + * @param int $event_id The post ID of the event we are interested in. + * + * @return string The output HTML. + */ + public function include_single_hybrid_control_desktop_markers( $schedule, $event_id ) { + // Avoid infinite loops with serialization. + return tribe_suspending_filter( + current_filter(), + [ $this, __FUNCTION__ ], + function () use ( $schedule, $event_id ) { + $template_modifications = $this->container->make( Template_Modifications::class ); + + return $template_modifications->add_single_hybrid_control_markers( $schedule, $event_id ); + }, + 2 + ); + } + + /** + * Filters the object returned by the `tribe_get_event` function to add to it properties related to virtual events. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param WP_Post $post The events post object to be modified. + * + * @return \WP_Post The original event object decorated with properties related to virtual events. + */ + public function filter_tribe_get_event( $post ) { + if ( ! $post instanceof WP_Post ) { + // We should only act on event posts, else bail. + return $post; + } + + return $this->container->make( Models\Event::class )->add_properties( $post ); + } + + /** + * Add, to the Context, the locations used by the plugin. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param array $context_locations The current Context locations. + * + * @return array The updated Context locations. + */ + public function filter_context_locations( array $context_locations ) { + $context_locations['events_virtual_data'] = [ + 'read' => [ + Context::REQUEST_VAR => [ Metabox::$id ], + ], + ]; + + $context_locations['events_virtual_request'] = [ + 'read' => [ + Context::REQUEST_VAR => [ Plugin::$request_slug, Context_Provider::AUTH_STATE_QUERY_VAR ], + ], + ]; + + return $context_locations; + } + + /** + * Filters the oEmbed HTML to make it responsive. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param string $html The returned oEmbed HTML. + * @param object $data A data object result from an oEmbed provider. + * @param string $url The URL of the content to be embedded. + * + * @return string The filtered oEmbed HTML. + */ + public function filter_make_oembed_responsive( $html, $data, $url ) { + return $this->container->make( OEmbed::class )->make_oembed_responsive( $html, $data, $url ); + } + + /** + * Enqueue assets when we call a PRO shortcode. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + */ + public function action_include_assets() { + return $this->container->make( Assets::class )->load_on_shortcode(); + } + + /** + * Action to enqueue assets for virtual events for events list widget. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param boolean $should_enqueue Whether assets are enqueued or not. + * @param \Tribe__Context $context Context we are using to build the view. + * @param View_Interface $view Which view we are using the template on. + */ + public function action_widget_after_enqueue_assets( $should_enqueue, $context, $view ) { + $this->container->make( Widget::class )->action_enqueue_assets( $should_enqueue, $context, $view ); + } + + /** + * Adds dynamic, time-related, properties to the event object. + * + * This method deals with properties we set, for convenience, on the event object that should not + * be cached as they are time-dependent; i.e. the time the properties are computed at matters and + * caching their values would be incorrect. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param mixed|\WP_Post $post The event post object, as read from the cache, if any. + * + * @return WP_Post The decorated event post object; its dynamic and time-dependent properties correctly set up. + */ + public function add_dynamic_properties( $post ) { + if ( ! $post instanceof WP_Post ) { + // We should only act on event posts, else bail. + return $post; + } + + + return $this->container->make( Models\Event::class )->add_dynamic_properties( $post ); + } + + /** + * Triggers on the ECP month widget add_hooks() to add/remove icons strategically + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + */ + public function action_pro_shortcode_month_widget_add_hooks() { + remove_action( + 'tribe_template_after_include:events/v2/month/mobile-events/mobile-day/mobile-event/title', + [ $this, 'action_add_virtual_event_marker' ], + 15 + ); + + add_action( + 'tribe_template_after_include:events/v2/month/mobile-events/mobile-day/mobile-event/date/featured', + [ $this, 'action_add_virtual_event_marker' ], + 15, + 3 + ); + } + + /** + * Triggers on the ECP month widget remove_hooks() to add/remove icons strategically + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + */ + public function action_pro_shortcode_month_widget_remove_hooks() { + add_action( + 'tribe_template_after_include:events/v2/month/mobile-events/mobile-day/mobile-event/title', + [ $this, 'action_add_virtual_event_marker' ], + 15, + 3 + ); + + remove_action( + 'tribe_template_after_include:events/v2/month/mobile-events/mobile-day/mobile-event/date/featured', + [ $this, 'action_add_virtual_event_marker' ], + 15 + ); + } + + /** + * Run Updates on Plugin Upgrades. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + */ + public function run_updates() { + if ( ! class_exists( 'Tribe__Events__Updater' ) ) { + return; // core needs to be updated for compatibility + } + + $updater = new Updater( Plugin::VERSION ); + if ( $updater->update_required() ) { + $updater->do_updates(); + } + } + + /** + * Add the Video Source. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param array An array of video sources. + * @param \WP_Post $post The current event post object, as decorated by the `tribe_get_event` function. + * + * @return array An array of video sources. + */ + public function add_video_source( $video_sources, $post ) { + + $video_sources[] = [ + 'text' => _x( 'Search for video or meeting link', 'The label of the video source option.', 'tribe-events-calendar-pro' ), + 'id' => Event_Meta::$key_video_source_id, + 'value' => Event_Meta::$key_video_source_id, + 'selected' => Event_Meta::$key_video_source_id === $post->virtual_video_source, + ]; + + return $video_sources; + } + + /** + * Add the moved online event status. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param array $statuses The event status options for an event. + * @param string $current_status The current event status for the event or empty string if none. + * + * @return array The event status options for an event. + */ + public function filter_event_status( $statuses, $current_status ) { + return $this->container->make( Status_Labels::class )->filter_event_statuses( $statuses, $current_status ); + } + + /** + * Add OEmbed to Autodetect Source. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param array An array of autodetect sources. + * @param string $autodetect_source The ID of the selected autodetect video source. + * @param \WP_Post $post The current event post object, as decorated by the `tribe_get_event` function. + * + * @return array An array of video sources. + */ + public function add_autodetect_source( $autodetect_sources, $autodetect_source, $post ) { + + $autodetect_sources[] = [ + 'text' => _x( 'OEmbed', 'The name of the autodetect source.', 'tribe-events-calendar-pro' ), + 'id' => 'oembed', + 'value' => 'oembed', + 'selected' => 'oembed' === $autodetect_source, + ]; + + return $autodetect_sources; + } + + /** + * Hook block templates - legacy or new VE block. + * Has to be postponed to `wp` action or later so global $post is available for should_inject_new_block(). + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @todo: Should we move this to an abstract base provider? + */ + public function hook_block_template() { + /* The action/location which the template is injected depends on whether or not V2 is enabled + * and whether the virtual event block is present in the post content. + */ + $embed_inject_action = $this->get_virtual_embed_action(); + + add_action( + $embed_inject_action, + [ + $this, + 'action_add_event_single_video_embed', + ], + 10 + ); + + add_action( + $embed_inject_action, + [ + $this, + 'action_add_event_single_link_button', + ], + 15 + ); + } + + /** + * Get the action we embed the virtual event content on. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @return string The name of the action we embed on. + */ + public function get_virtual_embed_action() { + return $this->should_inject_new_block() + ? 'tribe_events_virtual_block_content' + : 'tribe_template_after_include:events/blocks/event-datetime'; + } + + /** + * Determine whether we show the legacy virtual info HTML or the new block. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @return boolean Show the new block if true, the legacy info if false. + */ + public function should_inject_new_block() { + global $post; + + // If we can't get the post - we probably shouldn't be here. Bail. + if ( empty( $post ) ) { + return false; + } + + // This is required to ensure virtual event details are embedded properly in the Elementor Event widget + $is_single_event = tribe( Template_Bootstrap::class )->is_single_event(); + + $no_blocks = ! function_exists( 'has_block' ) || has_block( 'tribe/virtual-event', $post ) || ! $is_single_event; + + // If the block is missing, show the legacy info HTML. + $new_block = ! $no_blocks ? false : true; + + /** + * Allows filtering whether to load the legacy virtual info HTML over the new block. + * Note if the new block is not present, returning true here can have unforeseen consequences! + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * @todo [plugin-consolidation] Merge VE into ECP, hook to be deprecated and renamed. + * + * @param boolean $new_block Whether to load the new block or not + * @param WP_Post $post The current global post object. + */ + return apply_filters( 'tec_events_virtual_should_inject_new_block', $new_block, $post ); + } +} diff --git a/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Importer/Events.php b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Importer/Events.php new file mode 100644 index 000000000..0df1a03ce --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Importer/Events.php @@ -0,0 +1,328 @@ +metabox = $metabox; + $this->ticket_meta = $ticket_meta; + } + + /** + * Add Virtual Event column names to csv event import. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param array $column_mapping An array of column names for csv event imports. + * + * @return array An array of column names for csv event imports. + */ + public function importer_column_mapping( $column_mapping ) { + $virtual_column_names = [ + 'virtual' => esc_html( + sprintf( + /* Translators: %1$s: Virtual Events label, %2$s: Events label singular */ + _x( + 'Configure %1$s %2$s', + 'Column name for importer of virtual events.', + 'tribe-events-calendar-pro' + ), + tribe_get_virtual_label(), + tribe_get_event_label_singular() + ) + ), + 'event-type' => esc_html( + sprintf( + _x( + 'Type of %1$s (Virtual, Hybrid)', + 'Column name for importer of virtual event type.', + 'tribe-events-calendar-pro' + ), + tribe_get_event_label_singular() + ) + ), + 'virtual-url' => esc_html( + _x( + 'Video Source URL', + 'Column name for importer of virtual event source url.', + 'tribe-events-calendar-pro' + ) + ), + 'embed-video' => esc_html( + _x( + 'Embed Video', + 'Column name for importer of virtual event to embed the video.', + 'tribe-events-calendar-pro' + ) + ), + 'linked-button' => esc_html( + _x( + 'Linked Button', + 'Column name for importer of virtual event linked button shows.', + 'tribe-events-calendar-pro' + ) + ), + 'virtual-button-text' => esc_html( + _x( + 'Linked Button Text', + 'Column name for importer of virtual event linked button text.', + 'tribe-events-calendar-pro' + ) + ), + 'show-embed-at' => esc_html( + _x( + 'Show Embed At', + 'Column name for importer of virtual event for when to show the emebed.', + 'tribe-events-calendar-pro' + ) + ), + 'show-on-event' => esc_html( + _x( + 'Show Virtual Event Icon on Single', + 'Column name for importer of virtual event to show virtual icon on signle view.', + 'tribe-events-calendar-pro' + ) + ), + 'show-on-views' => esc_html( + _x( + 'Show Virtual Event on all Views', + 'Column name for importer of virtual event to show virtual icon on all views.', + 'tribe-events-calendar-pro' + ) + ), + 'show-embed-to' => esc_html( + _x( + 'Show Embed to', + 'Column name for importer of virtual event to show the embed to.', + 'tribe-events-calendar-pro' + ) + ), + 'rsvp-email-link' => esc_html( + _x( + 'Include Link in RSVP Email', + 'Column name for importer of virtual event RSVP email link.', + 'tribe-events-calendar-pro' + ) + ), + 'ticket-email-link' => esc_html( + _x( + 'Include Link in Ticket Email', + 'Column name for importer of virtual event ticket email link.', + 'tribe-events-calendar-pro' + ) + ), + ]; + + /** + * Filters the importer columns names for Virtual Events. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * @todo [plugin-consolidation] Merge VE into ECP, hook to be deprecated and renamed. + * + * @param array A map of the Virtual Event column names. + */ + $virtual_column_names = apply_filters( 'tec_virtual_importer_event_column_names', $virtual_column_names ); + + return array_merge( $column_mapping, $virtual_column_names ); + } + + /** + * Save virtual event meta of import of an event. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param integer $event_id The event ID to update. + * @param array $record An event record from the import. + * @param CSV_Event_Importer $csv_events_obj An instance of the Tribe__Events__Importer__File_Importer_Events class. + */ + public function import_save_event_meta( $event_id, $record, $csv_events_obj ) { + if ( ! $csv_events_obj instanceof CSV_Event_Importer ) { + return; + } + + $is_virtual = tribe_is_truthy( $csv_events_obj->get_value_by_key( $record, 'virtual' ) ); + if ( ! $is_virtual ) { + return; + } + + $can_embed_video = $video_source = ''; + $virtual_url = $csv_events_obj->get_value_by_key( $record, 'virtual-url' ); + $embed_video = $csv_events_obj->get_value_by_key( $record, 'embed-video' ); + // If the link is embeddable set the video source, autodetect and embed video. + if ( $virtual_url ) { + $video_source = 'video'; + } + if ( $embed_video && tribe( OEmbed::class )->is_embeddable( $virtual_url ) ) { + $can_embed_video = true; + } + + $data = [ + 'virtual' => true, + 'event-type' => esc_html( $this->get_event_type_value( $csv_events_obj->get_value_by_key( $record, 'event-type' ) ) ), + // If there is a virtual url set the video source to video. ( Facebook Live, YouTube Live, and Zoom are not supported ) + 'video-source' => $video_source ? 'video' : '', + 'autodetect-source' => $can_embed_video && $video_source ? 'oembed' : '', + 'embed-video' => $can_embed_video && $video_source ? true : false, + 'virtual-url' => esc_url( $virtual_url ), + 'virtual-button-text' => esc_html( $csv_events_obj->get_value_by_key( $record, 'virtual-button-text' ) ), + 'linked-button' => tribe_is_truthy( $csv_events_obj->get_value_by_key( $record, 'linked-button' ) ), + // Values of immediately - at-start. + 'show-embed-at' => esc_html( $this->get_show_embed_at_value( $csv_events_obj->get_value_by_key( $record, 'show-embed-at' ) ) ), + 'show-on-event' => tribe_is_truthy( $csv_events_obj->get_value_by_key( $record, 'show-on-event' ) ), + 'show-on-views' => tribe_is_truthy( $csv_events_obj->get_value_by_key( $record, 'show-on-views' ) ), + // Multiple values allowed ( all - logged-in - rsvp - ticket ). If it includes logged-in, then all is removed ) + 'show-embed-to' => $this->get_show_embed_to_value( $csv_events_obj->get_value_by_key( $record, 'show-embed-to' ) ), + // Tickets related fields. + 'rsvp-email-link' => tribe_is_truthy( $csv_events_obj->get_value_by_key( $record, 'rsvp-email-link' ) ), + 'ticket-email-link' => tribe_is_truthy( $csv_events_obj->get_value_by_key( $record, 'ticket-email-link' ) ), + ]; + + $this->metabox->update_fields( $event_id, $data ); + $this->ticket_meta->update_post_meta( $event_id, $data ); + + // Set the autodetect source if there is a video source. + if ( $can_embed_video && $video_source ) { + update_post_meta( $event_id, Virtual_Events_Meta::$key_autodetect_source, Virtual_Events_Meta::$key_oembed_source_id ); + } + } + + /** + * Get the value formatted to lowercase and whitespace trimed. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param string $value The value to format. + * + * @return string The formatted value. + */ + protected function get_formatted_value( $value ) { + return strtolower( trim( $value ) ); + } + + /** + * Get the event type value. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param string $value The imported value for event type. + * + * @return string An empty string if it is not the event type of virtual or hybrid. + */ + protected function get_event_type_value( $value ) { + $value = $this->get_formatted_value( $value ); + + if ( + $value === Virtual_Events_Meta::$value_virtual_event_type || + $value === Virtual_Events_Meta::$value_hybrid_event_type + ) { + return $value; + } + + return ''; + } + + /** + * Get the show embed value. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param string $value The imported value for show embed at. + * + * @return string An empty string if it is not the show embed at value of at-start or immediately. + */ + protected function get_show_embed_at_value( $value ) { + $value = $this->get_formatted_value( $value ); + + if ( + $value === Virtual_Events_Meta::$value_show_embed_now || + $value === Virtual_Events_Meta::$value_show_embed_start + ) { + return $value; + } + + return ''; + } + + /** + * Get the value for the show embed to field. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param string $value The string of values for show embed to that are comma separated. + * + * @return string|array The string or array of valus to save for the show embed to field. + */ + protected function get_show_embed_to_value( $value ) { + $show_embed = explode( ',', $value ); + + if ( ! is_array( $show_embed ) ) { + return esc_html( $this->get_formatted_value( $show_embed ) ); + } + + $accepted_values = [ + Virtual_Events_Meta::$value_show_embed_to_all, + Virtual_Events_Meta::$value_show_embed_to_logged_in, + Ticket_Events_Meta::$value_show_embed_to_rsvp, + Ticket_Events_Meta::$value_show_embed_to_ticket, + ]; + + $cleaned_show_embed = array_filter( $show_embed, function ( $arr_value ) { + return esc_html( $this->get_formatted_value( $arr_value ) ); + } ); + + $only_accepted_values = array_intersect( $accepted_values, $cleaned_show_embed ); + + // If both all and logged-in are found, remove all. + if ( + ( $key = array_search('all', $only_accepted_values ) ) !== false && + array_search('logged-in', $only_accepted_values ) !== false + ) { + unset($only_accepted_values[$key]); + } + + return $only_accepted_values; + } +} diff --git a/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Importer/Importer_Provider.php b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Importer/Importer_Provider.php new file mode 100644 index 000000000..646f60ff8 --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Importer/Importer_Provider.php @@ -0,0 +1,85 @@ +container->singleton( 'events-virtual.importer', static::class ); + $this->container->singleton( static::class, static::class ); + + $this->add_actions(); + $this->add_filters(); + } + + /** + * Hooks the actions required for the importer to work correctly. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + */ + protected function add_actions() { + add_action( 'tec_events_csv_importer_post_update', [ $this, 'import_save_event_meta' ], 10, 3 ); + } + + /** + * Save virtual event meta of import of an event. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param integer $post_id The event ID to update. + * @param array $record An event record from the import. + * @param CSV_Event_Importer $csv_events_obj An instance of the Tribe__Events__Importer__File_Importer_Events class. + */ + public function import_save_event_meta( int $event_id, array $record, $csv_events_obj ) { + if ( ! $csv_events_obj instanceof CSV_Event_Importer ) { + return; + } + + return $this->container->make( Events::class )->import_save_event_meta( $event_id, $record, $csv_events_obj ); + } + + /** + * Hooks the filters required for the importer to work correctly. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + */ + protected function add_filters() { + add_filter( 'tribe_events_importer_event_column_names', [ $this, 'importer_column_mapping' ] ); + } + + /** + * Add virtual event fields to the importer columns. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param array $column_names An array of column names for event import. + * + * @return array The filtered array of column names for virtual event import. + */ + public function importer_column_mapping( $column_mapping ) { + return $this->container->make( Events::class )->importer_column_mapping( $column_mapping ); + } +} diff --git a/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Integrations/Abstract_Account_Api.php b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Integrations/Abstract_Account_Api.php new file mode 100644 index 000000000..19bef9d3d --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Integrations/Abstract_Account_Api.php @@ -0,0 +1,964 @@ +account_loaded ); + } + + /** + * Load a specific account into the API. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param array $account An account with the fields to access the API. + * + * @return boolean Whether the account is loaded into the class to use for the API, default is false. + */ + public function load_account( array $account = [] ) { + if ( $this->is_valid_account( $account ) ) { + $this->init_account( $account ); + + return true; + } + + // Check for single events first. + $loaded_account = ''; + if ( is_singular( TEC::POSTTYPE ) ){ + $post_id = get_the_ID(); + + // Get the account id and if found, use to get the account. + if ( $account_id = get_post_meta( $post_id, $this->account_id_meta_field_name, true ) ) { + $loaded_account = $this->get_account_by_id( $account_id ); + } + + if ( ! $loaded_account ) { + return false; + } + + if ( $this->is_valid_account( $loaded_account ) ) { + $this->init_account( $loaded_account ); + + return true; + } + } + + // If nothing loaded so far and this is not the admin, then return false. + if ( ! is_admin() ) { + return false; + } + + $account_id = $this->get_account_id_in_admin(); + + // Get the account id and if found, use to get the account. + if ( $account_id ) { + $loaded_account = $this->get_account_by_id( $account_id ); + } + + if ( ! $loaded_account ) { + return false; + } + + if ( $this->is_valid_account( $loaded_account ) ) { + $this->init_account( $loaded_account ); + + return true; + } + + return false; + } + + /** + * Get the account id in the WordPress admin. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param int $post_id The optional post id. + * + * @return string The account id or empty string if not found. + */ + public function get_account_id_in_admin( $post_id = 0 ) { + // If there is a post id, check if it is a post and if so use to get the account id. + $post = $post_id ? get_post( $post_id ) : ''; + if ( $post instanceof \WP_Post ) { + return get_post_meta( $post_id, $this->account_id_meta_field_name, true ); + } + + // Attempt to load through ajax requested variables. + $nonce = tribe_get_request_var( '_ajax_nonce' ); + $account_id = tribe_get_request_var( 'account_id' ); + $requested_post_id = tribe_get_request_var( 'post_id' ); + if ( $account_id && $requested_post_id && $nonce ) { + + // Verify the nonce is valid. + $valid_nonce = $this->is_valid_nonce( $nonce ); + if ( ! $valid_nonce ) { + return ''; + } + // Verify there is a real post. + $post = get_post( $post_id ); + if ( $post instanceof \WP_Post ) { + return esc_html( $account_id ); + } + } + + // Safety check. + if ( ! function_exists( 'get_current_screen' ) ) { + return ''; + } + + // Set the ID if on the single event editor. + if ( ! $post_id ) { + $screen = get_current_screen(); + if ( ! empty( $screen->id ) && $screen->id == TEC::POSTTYPE ) { + global $post; + // Add a safety check for minimum supported versions of PHP(5.6) and WP(4.9.x). + $post_id = empty( $post->ID ) ? 0 : $post->ID; + } + } + + if ( ! $post_id ) { + return ''; + } + + return esc_html( get_post_meta( $post_id, $this->account_id_meta_field_name, true ) ); + } + + /** + * Load a specific account by the id. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param string $account_id The account id to get and load for use with the API. + * + * @return bool|string Whether the page is loaded or an error code. False or code means the page did not load. + */ + public function load_account_by_id( $account_id ) { + $account = $this->get_account_by_id( $account_id ); + + // Return not-found if no account. + if ( empty( $account ) ) { + return 'not-found'; + } + + // Return disabled if the is disabled. + if ( empty( $account['status'] ) ) { + return 'disabled'; + } + + return $this->load_account( $account ); + } + + /** + * Check if an account has all the information to be valid. + * + * It will attempt to refresh the access token if it has expired. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param array $account An account with the fields to access the API. + * + * @return bool + */ + protected function is_valid_account( $account ) { + if ( empty( $account['id'] ) ) { + return false; + } + if ( empty( $account['refresh_token'] ) ) { + return false; + } + if ( empty( $account['expiration'] ) ) { + return false; + } + + // Attempt to refresh the token. + $access_token = $this->maybe_refresh_access_token( $account ); + if ( empty( $access_token ) ) { + return false; + } + + return true; + } + + /** + * Initialize an Account to use for the API. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param array $account An account with the fields to access the API. + */ + protected function init_account( $account ) { + $this->access_token = $account['access_token']; + $this->refresh_token = $account['refresh_token']; + $this->id = $account['id']; + $this->email = $account['email']; + $this->supports_webinars = isset( $account['webinars'] ) ? tribe_is_truthy( $account['webinars'] ) : false; + $this->account_loaded = true; + $this->loaded_account_name = $account['name']; + $this->domain = isset( $account['domain'] ) ? $account['domain'] : ''; + } + + /** + * Get the listing of Accounts. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param boolean $all_data Whether to return all account data, default is only name and status. + * + * @return array $list_of_accounts An array of all the accounts. + */ + public function get_list_of_accounts( $all_data = false ) { + $list_of_accounts = get_option( $this->all_account_key, [] ); + foreach ( $list_of_accounts as $account_id => $account ) { + if ( empty( $account['name'] ) ) { + continue; + } + $list_of_accounts[ $account_id ]['name'] = $account['name']; + + // If false (default ) skip getting all the account data. + if ( empty( $all_data ) ) { + continue; + } + $account_data = $this->get_account_by_id( $account_id ); + + $list_of_accounts[ $account_id ] = $account_data; + } + + return $list_of_accounts; + } + + /** + * Get list of accounts formatted for options dropdown. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param boolean $all_data Whether to return only active accounts or not. + * + * @return array An array of Accounts formatted for options dropdown. + */ + public function get_formatted_account_list( $active_only = false ) { + $available_accounts = $this->get_list_of_accounts( true ); + if ( empty( $available_accounts ) ) { + return []; + } + + $accounts = []; + foreach ( $available_accounts as $account ) { + $name = Arr::get( $account, 'name', '' ); + $value = Arr::get( $account, 'id', '' ); + $email = Arr::get( $account, 'email', '' ); + $status = Arr::get( $account, 'status', false ); + + if ( empty( $name ) || empty( $value ) ) { + continue; + } + + if ( $active_only && ! $status ) { + continue; + } + + $accounts[] = [ + 'text' => (string) $name, + 'id' => (string) $value, + 'value' => (string) $value, + 'email' => (string) $email, + ]; + } + + return $accounts; + } + + /** + * Update the list of accounts with provided account. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param array $account_data The array of data for an account to add to the list. + */ + protected function update_list_of_accounts( $account_data ) { + $accounts = $this->get_list_of_accounts(); + + /** + * Fires after before the account list is updated for an API. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * @todo [plugin-consolidation] Merge VE into ECP, hook to be deprecated and renamed. + * + * @param array An array of Accounts formatted for options dropdown. + * @param array $account_data The array of data for an account to add to the list. + * @param string $api_id The id of the API in use. + */ + do_action( 'tec_events_virtual_before_update_api_accounts', $accounts, $account_data, static::$api_id ); + + $accounts[ esc_attr( $account_data['id'] ) ] = [ + 'name' => esc_attr( $account_data['name'] ), + 'status' => esc_attr( $account_data['status'] ), + ]; + + update_option( $this->all_account_key, $accounts ); + } + + /** + * Delete from the list of accounts the provided account. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param string $account_id The id of the single account to save. + */ + protected function delete_from_list_of_accounts( $account_id ) { + $accounts = $this->get_list_of_accounts(); + unset( $accounts[ $account_id ] ); + + update_option( $this->all_account_key, $accounts ); + } + + /** + * Get a Single Account by id. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param string $account_id The id of the single account. + * + * @return array $account The account data or empty array if no account. + */ + public function get_account_by_id( $account_id ) { + return get_option( $this->single_account_prefix . $account_id, [] ); + } + + /** + * Set an Account with the provided id. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param array $account_data A specific account data to save. + */ + public function set_account_by_id( array $account_data ) { + update_option( $this->single_account_prefix . $account_data['id'], $account_data, false ); + + $this->update_list_of_accounts( $account_data ); + } + + /** + * Delete an account by ID. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param string $account_id The id of the single account. + * + * @return bool Whether the account has been deleted and the access token revoked. + */ + public function delete_account_by_id( $account_id ) { + delete_option( $this->single_account_prefix . $account_id ); + + $this->delete_from_list_of_accounts( $account_id ); + + return true; + } + + /** + * Revoke the accounts access token with the API. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param string $account_id The id of the single account. + * + * @return bool Whether the account access token is revoked. + */ + abstract protected function revoke_account_by_id( $account_id ); + + /** + * Save the account id to the post|event. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param int $post_id The id to save the meta field too. + * @param string $account_id The id of the single account to save. + * + * @return bool|int + */ + public function save_account_id_to_post( $post_id, $account_id ) { + return update_post_meta( $post_id, $this->account_id_meta_field_name, $account_id ); + } + + /** + * Set an Account Access Data with the provided id. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param string $account_id The id of the single account to save. + * @param string $access_token The Account API access token. + * @param string $refresh_token The Account API refresh token. + * @param string $expiration The expiration in seconds as provided by the server. + */ + public function set_account_access_by_id( $account_id, $access_token, $refresh_token, $expiration ) { + $account_data = $this->get_account_by_id( $account_id ); + $account_data['access_token'] = $access_token; + $account_data['refresh_token'] = $refresh_token; + $account_data['expiration'] = $expiration; + + $this->set_account_by_id( $account_data ); + } + + /** + * Check if the access token response has the proper credentials. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param array $response An array representing the access token request response, in the format + * returned by WordPress `wp_remote_` functions. + * @param boolean $check_refresh Whether to check for a refresh token, default true. + * + * @return bool Whether the proper credentials are found. + */ + protected function has_proper_credentials( array $response, $check_refresh = true ) { + if ( ! isset( $response['body'] ) ) { + return false; + } + + $credentials = json_decode( wp_remote_retrieve_body( $response ), true ); + + if ( false === $credentials ) { + return false; + } + + if ( ! isset( $credentials['access_token'], $credentials['expires_in'] ) ) { + return false; + } + + if ( $check_refresh && ! isset( $credentials['refresh_token'] ) ) { + return false; + } + + return true; + } + + /** + * Save an Account. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param array $response An array representing the access token request response, in the format + * returned by WordPress `wp_remote_` functions. + * + * @return bool|mixed The access token for an account. + */ + abstract public function save_account( array $response ); + + /** + * Save an Access Token and Expiration information for an Account. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param array $response An array representing the access token request response, in the format + * returned by WordPress `wp_remote_` functions. + * + * @return bool Whether the access token has been updated. + */ + abstract public function save_access_and_expiration( $id, array $response ); + + /** + * Prepare a single account's data to save. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param array $user The user information from the API. + * @param string $access_token The Account API access token. + * @param string $refresh_token The Account API refresh token. + * @param string $expiration The expiration in seconds as provided by the server. + * @param array $settings The user settings from the API. + * @param boolean $status The status of the account, whether active or not. + * + * @return array The account information prepared for saving. + */ + abstract protected function prepare_account_data( $user, $access_token, $refresh_token, $expiration, $settings, $status ); + + /** + * Returns the access token based authorization header to send requests to the API. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @return string|boolean The authorization header, to be used in the `headers` section of a request to the API or false if not available. + */ + public function get_token_authorization_header( $access_token = '' ) { + if ( $access_token ) { + return 'Bearer ' . $access_token; + } + + if ( $this->access_token ) { + return 'Bearer ' . $this->access_token; + } + + return false; + } + + /** + * Get the expiration time stamp. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param string The amount of time in seconds until the access token expires. + * + * @return string The timestamp when the access token expires. + */ + public function get_expiration_time_stamp( $expires_in ) { + // Take the expiration in seconds as provided by the server and remove a minute to pad for save delays. + return ( (int) $expires_in ) - MINUTE_IN_SECONDS + current_time( 'timestamp' ); + } + + /** + * Get the refresh token. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @return string The refresh token. + */ + public function get_refresh_token() { + return $this->refresh_token; + } + + /** + * Returns the current API access token. + * + * If not available, then a new token will be fetched. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param string $id + * @param string $refresh_token The API refresh token for the account. + * + * @return string The API access token, or an empty string if the token cannot be fetched. + */ + abstract function refresh_access_token( $id, $refresh_token ); + + /** + * Maybe refresh the access token or use the saved one. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param array $account An account with the fields to access the API. + * + * @return bool|mixed|string + */ + protected function maybe_refresh_access_token( $account ) { + // If token is valid, return it to start using it. + if ( + current_time( 'timestamp' ) <= $account['expiration'] && + ! empty( $account['access_token'] ) + ) { + return $account['access_token']; + } + + // Attempt to refresh the token. + $access_token = $this->refresh_access_token( $account['id'], $account['refresh_token'] ); + if ( empty( $access_token ) ) { + return false; + } + + return $access_token; + } + + /** + * Checks whether the current API integration is authorized or not. + * + * The check is made on the existence of the refresh token, with it the token can be fetched on demand when + * required. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @return bool Whether the current API integration is authorized or not. + */ + public function is_authorized() { + return ! empty( $this->refresh_token ); + } + + /** + * Get a User's information or settings. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param string $user_id A user id for an API. + * @param boolean $settings Whether to fetch the users settings. + * @param string $access_token A provided access token to use to access the API. + * + * @return array An array of data from the an API. + */ + abstract function fetch_user( $user_id = '', $settings = false, $access_token = '' ); + + /** + * Check if a nonce is valid from a list of actions. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param string $nonce The nonce to check. + * + * @return bool Whether the nonce is valid or not. + */ + protected function is_valid_nonce( $nonce ) { + $app_id = static::$api_id; + + /** + * Filters a list of account api ajax nonce actions. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * @todo [plugin-consolidation] Merge VE into ECP, hook to be deprecated and renamed. + * + * @param array A map from the nonce actions to the corresponding handlers. + */ + $actions = apply_filters( "tribe_events_virtual_meetings_{$app_id}_actions", [] ); + + foreach ( $actions as $action => $callback ) { + if ( $this->check_ajax_nonce( $action, $nonce ) ) { + return true; + } + } + + return false; + } + + /** + * The message template to display on user account changes. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param string $message The message to display. + * @param string $type The type of message, either standard or error. + * + * @return string The message with html to display + */ + public function get_settings_message_template( $message, $type = 'standard' ) { + return $this->template_modifications->get_settings_message_template( $message, $type ); + } + + /** + * Handles the request to change the status of an API account. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param string|null $nonce The nonce that should accompany the request. + * + * @return bool Whether the request was handled or not. + */ + public function ajax_status( $nonce = null ) { + if ( ! $this->check_ajax_nonce( $this->actions::$status_action, $nonce ) ) { + return false; + } + + $account_id = tribe_get_request_var( 'account_id' ); + $account = $this->get_account_by_id( $account_id ); + // If no account id found, fail the request. + if ( empty( $account_id ) || empty( $account ) ) { + $error_message = sprintf( + // translators: the placeholders is for the API name. + _x( + 'The %1$s Account ID or Account is missing to change the status.', + 'Account ID is missing on status change error message.', + 'tribe-events-calendar-pro' + ), + static::$api_name + ); + + $this->get_settings_message_template( $error_message, 'error' ); + + wp_die(); + } + + // Set the status to the opposite of what is saved. + $new_status = tribe_is_truthy( $account['status'] ) ? false : true; + $account['status'] = $new_status; + $this->set_account_by_id( $account ); + + // Attempt to load the account when status is changed to enabled and on failure display a message. + $loaded = $new_status ? $this->load_account_by_id( $account['id'] ) : true; + if ( empty( $loaded ) ) { + $error_message = sprintf( + // translators: the placeholders are for the API name. + _x( + 'There seems to be a problem with the connection to this %1$s account. Please refresh the connection.', + 'Message to display when the %1$s account could not be loaded after being enabled.', + 'tribe-events-calendar-pro' + ), + static::$api_name + ); + + $this->get_settings_message_template( $error_message, 'error' ); + + wp_die(); + } + + $status_msg = $new_status + ? _x( + '%1$s connection enabled for %2$s', + 'Enables the API Account for the Website.', + 'tribe-events-calendar-pro' + ) + : _x( + '%1$s connection disabled for %2$s', + 'Disables the API Account for the Website.', + 'tribe-events-calendar-pro' + ); + + $message = sprintf( + /* Translators: %1$s is the name of the API, %2$s: the name of the account that has the status change. */ + $status_msg, + static::$api_name, + $account['name'] + ); + + $this->get_settings_message_template( $message ); + + wp_die(); + } + + /** + * Get the confirmation text for refreshing an account. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @return string The confirmation text. + */ + public static function get_confirmation_to_refresh_account() { + return sprintf( + // translators: the placeholders are for the API name. + _x( + 'Before refreshing the connection, make sure you are logged into the %1$s account in this browser.', + 'The message to display before a user attempts to refresh a %1$s account connection.', + 'tribe-events-calendar-pro' + ), + static::$api_name + ); + } + + /** + * Handles the request to delete a an API account. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param string|null $nonce The nonce that should accompany the request. + * + * @return bool Whether the request was handled or not. + */ + public function ajax_delete( $nonce = null ) { + if ( ! $this->check_ajax_nonce( $this->actions::$delete_action, $nonce ) ) { + return false; + } + + $account_id = tribe_get_request_var( 'account_id' ); + $account = $this->get_account_by_id( $account_id ); + // If no account id found, fail the request. + if ( empty( $account_id ) || empty( $account ) ) { + $error_message = sprintf( + // translators: the placeholders is for the API name. + _x( + 'The %1$s Account ID or Account is missing to change the status.', + 'Account ID is missing on status change error message.', + 'tribe-events-calendar-pro' + ), + static::$api_name + ); + + $this->get_settings_message_template( $error_message, 'error' ); + + wp_die(); + } + + $success = $this->delete_account_by_id( $account_id ); + if ( $success ) { + $message = sprintf( + /* Translators: %1$s: the name of the account that has been deleted. */ + _x( + '%1$s was successfully deleted', + 'Account ID is missing on status change error message.', + 'tribe-events-calendar-pro' + ), + static::$api_name + ); + + $this->get_settings_message_template( $message ); + + wp_die(); + } + + $error_message = sprintf( + /* Translators: %1$s: the name of the account that has been deleted. */ + _x( + 'The %1$s Account access token could not be revoked.', + 'Message to display when the %1$s account could not be loaded after being enabled.', + 'tribe-events-calendar-pro' + ), + static::$api_name + ); + + $this->get_settings_message_template( $error_message, 'error' ); + + wp_die(); + } + + /** + * Get the confirmation text for deleting an account. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @return string The confirmation text. + */ + public static function get_confirmation_to_delete_account() { + return sprintf( + // translators: the placeholders are for the API name. + _x( + 'Are you sure you want to delete this %1$s connection? This operation cannot be undone. Existing meetings tied to this account will not be impacted.', + 'The message to display to confirm a user would like to delete a %1$s account.', + 'tribe-events-calendar-pro' + ), + static::$api_name + ); + } + +} diff --git a/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Integrations/Abstract_Actions.php b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Integrations/Abstract_Actions.php new file mode 100644 index 000000000..d87678d7c --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Integrations/Abstract_Actions.php @@ -0,0 +1,101 @@ + An array of field names and whether the field is an array. + */ + public static $encrypted_fields = []; + + /** + * An array of action names used to create an API integration. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @var array An array of action names. + */ + protected static $create_actions = []; + + /** + * Gets the meeting id for an API. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param WP_Post $event The event post object, as decorated by the `tribe_get_event` function. + * + * @return string The meeting id for an API. + */ + abstract protected static function get_meeting_id( WP_Post $event ); + + /** + * Gets the meeting join url for an API. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param WP_Post $event The event post object, as decorated by the `tribe_get_event` function. + * + * @return string The meeting url for an API. + */ + abstract protected static function get_meeting_join_url( WP_Post $event ); + + /** + * Gets the meeting data of an API for the Events REST API. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param WP_Post $event The event post object, as decorated by the `tribe_get_event` function. + * + * @return array An array of data from an API for the Events REST API. + */ + abstract protected static function get_meeting_data_for_rest_api( WP_Post $event ); + + /** + * Removes the API meta from a post. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param int|WP_Post $post The event post ID or object. + */ + public static function delete_meeting_meta( $post ) { + $event = tribe_get_event( $post ); + + if ( ! $event instanceof WP_Post ) { + return false; + } + + $api_meta = static::get_post_meta( $event ); + + foreach ( array_keys( $api_meta ) as $meta_key ) { + delete_post_meta( $event->ID, $meta_key ); + } + + return true; + } + + /** + * Returns an event post meta related to API. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param int|WP_Post $post The event post ID or object. + * + * @return array The API post meta or an empty array if not found or not an event. + */ + public static function get_post_meta( $post ) { + $event = tribe_get_event( $post ); + + if ( ! $event instanceof WP_Post ) { + return []; + } + + $all_meta = get_post_meta( $event->ID ); + + $prefix = Virtual_Event_Meta::$prefix . static::$key_source_id . '_'; + + $flattened_array = Arr::flatten( + array_filter( + $all_meta, + static function ( $meta_key ) use ( $prefix ) { + return 0 === strpos( $meta_key, $prefix ); + }, + ARRAY_FILTER_USE_KEY + ) + ); + + $encrypted_fields = static::$encrypted_fields; + if ( empty( $encrypted_fields) ) { + return $flattened_array; + } + + // Decrypt the encrypted meta fields. + $encryption = tribe( Encryption::class ); + foreach ( $flattened_array as $meta_key => $meta_value ) { + $encrypted_field_key = str_replace( $prefix, '', $meta_key ); + + if ( ! array_key_exists( $encrypted_field_key, $encrypted_fields ) ) { + continue; + } + + $flattened_array[ $meta_key ] = $encryption->decrypt( $meta_value, $encrypted_fields[ $encrypted_field_key ] ); + } + + return $flattened_array; + } + + /** + * Parses and Saves the data from a metabox update request. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param int $post_id The post ID of the post the date is being saved for. + * @param array $data The data to save, directly from the metabox. + */ + public function save_metabox_data( $post_id, array $data ) { + $prefix = Virtual_Event_Meta::$prefix; + + $join_url = get_post_meta( $post_id, $prefix . static::$key_source_id . '_join_url', true ); + + // An event that has an API integration should always be considered virtual, let's ensure that. + if ( ! empty( $join_url ) ) { + update_post_meta( $post_id, Virtual_Event_Meta::$key_virtual, true ); + } + + $map = [ + 'meetings-api-display-details' => $prefix . static::$key_source_id . '_display_details', + ]; + foreach ( $map as $data_key => $meta_key ) { + $value = Arr::get( $data, 'meetings-api-display-details', false ); + if ( ! empty( $value ) ) { + update_post_meta( $post_id, $meta_key, $value ); + } else { + delete_post_meta( $post_id, $meta_key ); + } + } + } + + /** + * Add information about the API if available, only if the user has permission to read_private_posts via the REST Api. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param array $data The current data of the event. + * @param WP_Post $event The event being updated. + * + * @return array An array with the data of the event on the endpoint. + */ + public function attach_rest_properties( array $data, WP_Post $event ) { + $event = tribe_get_event( $event ); + + if ( ! $event instanceof WP_Post || ! current_user_can( 'read_private_posts' ) ) { + return $data; + } + + // Return when API is not the source. + if ( static::$key_source_id !== $event->virtual_video_source ) { + return $data; + } + + if ( empty( $data['meetings'] ) ) { + $data['meetings'] = []; + } + + if ( ! $event->virtual || empty( $this->get_meeting_id( $event ) ) ) { + return $data; + } + + $data['meetings'][static::$key_source_id] = $this->get_meeting_data_for_rest_api( $event ); + + return $data; + } + + /** + * Adds API related properties to an event post object. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param WP_Post $event The event post object, as decorated by the `tribe_get_event` function. + * + * @return WP_Post The decorated event post object, with the API related properties added to it. + */ + public static function add_event_properties( WP_Post $event ) { + // Get the current actions + $current_action = tribe_get_request_var( 'action' ); + + // Return when the API is not the source and not running the create actions. + if ( static::$key_source_id !== $event->virtual_video_source && ! in_array( $current_action, static::$create_actions ) ) { + return $event; + } + + $prefix = Virtual_Event_Meta::$prefix; + $is_new_event = empty( $event->ID ); + + $event = static::get_api_properties( $event, $prefix, $is_new_event ); + $join_url = static::get_meeting_join_url( $event ); + + if ( ! empty( $join_url ) ) { + // An event that has an API integration assigned should be considered virtual. + $event->virtual = true; + $event->virtual_meeting = true; + $event->virtual_meeting_url = $join_url; + $event->virtual_meeting_provider = static::$key_source_id; + + // Override the virtual url if no API details and linked button is checked. + if ( + empty( $event->virtual_meeting_display_details ) + && ! empty( $event->virtual_linked_button ) + ) { + $event->virtual_url = $event->virtual_meeting_url; + } else { + // Set virtual url to null if an API is connected to the event. + $event->virtual_url = null; + } + } + + return $event; + } + + /** + * Gets the API properties for a specific API. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param WP_Post $event The event post object, as decorated by the `tribe_get_event` function. + * @param string $prefix The Virtual Event meta field prefix.. + * @param boolean $is_new_event Whether the event is new. + * + * @return WP_Post The decorated event post object, with the API related properties added to it. + */ + abstract protected static function get_api_properties( WP_Post $event, $prefix, $is_new_event ); +} diff --git a/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Integrations/Abstract_Settings.php b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Integrations/Abstract_Settings.php new file mode 100644 index 000000000..f72110593 --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Integrations/Abstract_Settings.php @@ -0,0 +1,178 @@ +get_url( [ 'tab' => 'addons' ] ); + + return $admin_page_url; + } + + /** + * Adds the API fields to the ones in the Events > Settings > APIs tab. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param array $fields The current fields. + * + * @return array The fields, as updated by the settings. + */ + public function add_fields( array $fields = [] ) { + $wrapper_classes = tribe_get_classes( [ + 'tec-settings-api-application' => true, + 'tec-events-settings-' . static::$api_id . '-application' => true, + 'tec-settings-form__content-section' => true, + ] ); + + $api_fields = [ + static::$option_prefix . '-wrapper_open' => [ + 'type' => 'html', + 'html' => '
                          ' + ], + static::$option_prefix . 'authorize' => [ + 'type' => 'html', + 'html' => $this->get_intro_text() . $this->get_authorize_fields(), + ], + static::$option_prefix . '-wrapper_close' => [ + 'type' => 'html', + 'html' => '' + ], + ]; + + /** + * Filters All API settings shown to the user in the Events > Settings > Integrations tab. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * @todo [plugin-consolidation] Merge VE into ECP, hook to be deprecated and renamed. + * + * @param array A map of the API fields that will be printed on the page. + * @param Settings $this This Settings instance. + */ + $api_fields = apply_filters( "tec_events_virtual_meetings_api_settings_fields", $api_fields, $this ); + + /** + * Filters the specific API settings shown to the user in the Events > Settings > Integrations tab. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * @todo [plugin-consolidation] Merge VE into ECP, hook to be deprecated and renamed. + * + * @param array A map of the API fields that will be printed on the page. + * @param Settings $this This Settings instance. + */ + $api_fields = apply_filters( 'tec_events_virtual_meetings_' . static::$api_id . '_settings_fields', $api_fields, $this ); + + return $fields + $api_fields; + } + + /** + * Get the key to place the API integration fields. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @return string The key to place the API integration fields. + */ + protected function get_integrations_fields_key() { + /** + * Filters the array key to place the API integration settings. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * @todo [plugin-consolidation] Merge VE into ECP, hook to be deprecated and renamed. + * + * @param string The default array key to place the API integration fields. + * @param Settings $this This Settings instance. + */ + return apply_filters( 'tec_events_virtual_meetings_' . static::$api_id . '_settings_field_placement_key', 'gmaps-js-api-start', $this ); + } + + /** + * Provides the introductory text to the set up and configuration of the API integration. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @return string The introductory text to the the set up and configuration of the API integration. + */ + protected function get_intro_text() { + return $this->template_modifications->get_intro_text(); + } + + /** + * Get the API authorization fields. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @return string The HTML fields. + */ + protected function get_authorize_fields() { + return $this->template_modifications->get_api_authorize_fields( $this->api, $this->url ); + } +} diff --git a/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Integrations/Abstract_Template_Modifications.php b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Integrations/Abstract_Template_Modifications.php new file mode 100644 index 000000000..e96730941 --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Integrations/Abstract_Template_Modifications.php @@ -0,0 +1,225 @@ +template = $template; + $this->admin_template = $admin_template; + $this->setup(); + } + + /** + * Setup the child class properties. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + */ + abstract public function setup(); + + /** + * Get intro text for an API Settings. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @return string HTML for the intro text. + */ + public function get_intro_text() { + $args = [ + 'allowed_html' => [ + 'a' => [ + 'href' => [], + 'target' => [], + ], + ], + ]; + + return $this->admin_template->template( static::$api_id . '/api/intro-text', $args, false ); + } + /** + * Adds an API authorize fields to events->settings->api. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param Request_Api $api An instance of an API handler. + * @param Abstract_Url $url The URLs handler for the integration. + * + * @return string HTML for the authorize fields. + */ + public function get_api_authorize_fields( Request_Api $api, Abstract_Url $url ) { + /** @var \Tribe__Cache $cache */ + $cache = tribe( 'cache' ); + $message = $cache->get_transient( static::$option_prefix . 'account_message' ); + if ( $message ) { + $cache->delete_transient( static::$option_prefix . 'account_message' ); + } + + $args = [ + 'api' => $api, + 'url' => $url, + 'message' => $message, + ]; + + return $this->admin_template->template( static::$api_id . '/api/authorize-fields', $args, false ); + } + + /** + * Gets settings connect link. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param Request_Api $api An instance of an API handler. + * @param Abstract_Url $url The URLs handler for the integration. + * + * @return string HTML for API connect link. + */ + public function get_connect_link( Request_Api $api, Abstract_Url $url ) { + $args = [ + 'api' => $api, + 'url' => $url, + ]; + + return $this->admin_template->template( static::$api_id . '/api/authorize-fields/add-link', $args, false ); + } + + /** + * The message template to display on user account changes for an API. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param string $message The message to display. + * @param string $type The type of message, either updated or error. + * + * @return string The message with html to display + */ + public function get_settings_message_template( $message, $type = 'updated' ) { + return $this->admin_template->template( 'components/message', [ + 'message' => $message, + 'type' => $type, + ] ); + } + + /** + * Adds an API's details to an event single template. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + */ + public function add_event_single_api_details() { + // Don't show on password protected posts. + if ( post_password_required() ) { + return; + } + + $event = tribe_get_event( get_the_ID() ); + $api_id = static::$api_id; + + if ( + empty( $event->virtual ) + || empty( $event->virtual_meeting ) + || empty( $event->virtual_should_show_embed ) + || empty( $event->virtual_meeting_display_details ) + || $api_id !== $event->virtual_meeting_provider + ) { + return; + } + + /** + * Filters whether the link button should open in a new window or not. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * @todo [plugin-consolidation] Merge VE into ECP, hook to be deprecated and renamed. + * + * @param boolean $link_button_new_window Boolean of if link button should open in new window. + */ + $link_button_new_window = apply_filters( 'tec_events_virtual_link_button_new_window', false ); + + $link_button_attrs = []; + if ( ! empty( $link_button_new_window ) ) { + $link_button_attrs['target'] = '_blank'; + } + + /** + * Filters whether an API link should open in a new window or not. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * @todo [plugin-consolidation] Merge VE into ECP, hook to be deprecated and renamed. + * + * @param boolean $api_link_new_window Boolean of if an API link should open in new window. + */ + $api_link_new_window = apply_filters( "tec_events_virtual_{$api_id}_link_new_window", false ); + + $api_link_attrs = []; + if ( ! empty( $api_link_new_window ) ) { + $api_link_attrs['target'] = '_blank'; + } + + $context = [ + 'event' => $event, + 'link_button_attrs' => $link_button_attrs, + "{$api_id}_link_attrs" => $api_link_attrs, + ]; + + $this->template->template( "{$api_id}/single/{$api_id}-details", $context ); + } +} diff --git a/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Integrations/Abstract_Url.php b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Integrations/Abstract_Url.php new file mode 100644 index 000000000..fd512c16c --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Integrations/Abstract_Url.php @@ -0,0 +1,252 @@ + esc_url( admin_url() ), + Context_Provider::AUTH_STATE_QUERY_VAR => wp_create_nonce( $this->actions::$authorize_nonce_action ), + ], $authorize_url ); + + return $real_url; + } + + /** + * Returns the URL to refresh a token. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @return string The request URL. + */ + public static function to_refresh() { + $refresh_url = static::$refresh_url; + $constant_id = strtoupper( static::$api_id ); + + if ( defined( "TEC_VIRTUAL_EVENTS_{$constant_id}_API_REFRESH_URL" ) ) { + $refresh_url = constant( "TEC_VIRTUAL_EVENTS_{$constant_id}_API_REFRESH_URL" ); + } + + return $refresh_url; + } + + /** + * Get the admin ajax url with parameters to enable an API action. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param string $action The name of the action to add to the url. + * @param string $nonce The nonce to verify for the action. + * @param array $additional_arg An array of arugments to add to the query string of the admin ajax url. + * + * @return string + */ + public function get_admin_ajax_url_with_parameters( string $action, string $nonce, array $additional_arg ) { + $args = [ + 'action' => $action, + Plugin::$request_slug => $nonce, + '_ajax_nonce' => $nonce, + ]; + + $query_args = array_merge( $args, $additional_arg ); + + return add_query_arg( $query_args, admin_url( 'admin-ajax.php' ) ); + } + + /** + * Returns the URL that should be used to change an account status to enabled or disabled in the settings. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param string $account_id An API Account ID to change the status. + * + * @return string The URL to change an account status. + */ + public function to_change_account_status_link( $account_id ) { + $api_id = static::$api_id; + $nonce = wp_create_nonce( $this->actions::$status_action ); + + return $this->get_admin_ajax_url_with_parameters( + "ev_{$api_id}_settings_account_status", + $nonce, + [ + 'account_id' => $account_id + ] + ); + } + + /** + * Returns the URL that should be used to delete an API account in the settings. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param string $account_id An API Account ID to change the status. + * + * @return string The URL to delete an account. + */ + public function to_delete_account_link( $account_id ) { + $api_id = static::$api_id; + $nonce = wp_create_nonce( $this->actions::$delete_action ); + + return $this->get_admin_ajax_url_with_parameters( + "ev_{$api_id}_settings_delete_account", + $nonce, + [ + 'account_id' => $account_id + ] + ); + } + + /** + * Returns the URL that should be used to select an account to setup for an API. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param \WP_Post|null $post A post object of the event. + * + * @return string The URL to select an API account. + */ + public function to_select_account_link( \WP_Post $post ) { + $api_id = static::$api_id; + $nonce = wp_create_nonce( $this->actions::$select_action ); + + return $this->get_admin_ajax_url_with_parameters( + "ev_{$api_id}_account_select", + $nonce, + [ + 'post_id' => $post->ID + ] + ); + } + + /** + * Returns the URL that should be used to generate an API meeting link. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param \WP_Post|null $post A post object to generate the meeting for. + * + * @return string The URL to generate an API integration. + */ + public function to_generate_meeting_link( \WP_Post $post ) { + $api_id = static::$api_id; + $nonce = wp_create_nonce( $this->actions::$create_action ); + + return $this->get_admin_ajax_url_with_parameters( + "ev_{$api_id}_meetings_create", + $nonce, + [ + 'post_id' => $post->ID + ] + ); + } + + /** + * Returns the URL that should be used to remove an event API integration. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param \WP_Post $post A post object to remove the meeting from. + * + * @return string The URL to remove an API integration. + */ + public function to_remove_meeting_link( \WP_Post $post ) { + $api_id = static::$api_id; + $nonce = wp_create_nonce( $this->actions::$remove_action ); + + return $this->get_admin_ajax_url_with_parameters( + "ev_{$api_id}_meetings_remove", + $nonce, + [ + 'post_id' => $post->ID + ] + ); + } +} diff --git a/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Integrations/Abstract_Users.php b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Integrations/Abstract_Users.php new file mode 100644 index 000000000..f033caafc --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Integrations/Abstract_Users.php @@ -0,0 +1,195 @@ + An array of users from an API. + */ + public function get_users( $account_id = null ) { + $api = $this->api; + if ( $account_id ) { + $api->load_account_by_id( $account_id ); + } else { + $api->load_account(); + } + + if ( empty( $this->api->is_ready() ) ) { + return []; + } + + $api_id = static::$api_id; + /** @var \Tribe__Cache $cache */ + $cache = tribe( 'cache' ); + $cache_id = "events_virtual_meetings_{$api_id}_users_" . md5( $this->api->id ); + + /** + * Filters the time in seconds until an API user cache expires. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * @todo [plugin-consolidation] Merge VE into ECP, hook to be deprecated and renamed. + * + * @param int The time in seconds until the user cache expires, default 1 hour. + */ + $expiration = apply_filters( "tribe_events_virtual_meetings_{$api_id}_user_cache", HOUR_IN_SECONDS ); + $users = $cache->get_transient( $cache_id ); + + if ( ! empty( $users ) ) { + if ( empty( $this->encryption ) ) { + return $users; + } + + return $this->encryption->decrypt( $users, true ); + } + + $available_hosts = $api->fetch_users(); + + $cache_available_hosts = $available_hosts; + if ( ! empty( $this->encryption ) ) { + $cache_available_hosts = $this->encryption->encrypt( $available_hosts, true ); + } + $cache->set_transient( $cache_id, $cache_available_hosts, $expiration ); + + return $available_hosts; + } + + /** + * Get the users from an API users response. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param array $available_hosts The response from an API of available hosts. + * + * @return array An array of users or an empty array if none available. + */ + abstract protected function get_users_array( $available_hosts ); + + /** + * Get a user's information formatted for internal use. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param array $user Information for a user from an API, + * + * @return array An array of a user's information formatted for internal use. + */ + abstract protected function get_formatted_user_info( $user ); + + /** + * Get list of hosts formatted for options dropdown. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param null|string $account_id The account id to use to get the users with. + * + * @return array An array of Zoom Users to use as the host + */ + public function get_formatted_hosts_list( $account_id = null ) { + $available_hosts = $this->get_users( $account_id ); + $active_users = $this->get_users_array( $available_hosts ); + if ( empty( $active_users ) ) { + return []; + } + + $hosts = []; + foreach ( $active_users as $user ) { + $user_info = $this->get_formatted_user_info( $user ); + + if ( + empty( $user_info['name'] ) || + empty( $user_info['id'] ) || + empty( $user_info['value'] ) || + empty( $user_info['email'] ) + ) { + continue; + } + + $hosts[] = [ + 'text' => (string) trim( $user_info['name'] ), + 'sort' => (string) trim( $user_info['last_name'] ), + 'id' => (string) $user_info['id'], + 'value' => (string) $user_info['value'], + 'selected' => $account_id === $user_info['value'] ? true : false, + 'email' => (string) $user_info['email'], + // Zoom Alternative Host. + 'alternative_host' => isset( $user_info['type'] ) && $user_info['type'] > 1 ? true : false, + ]; + } + + // Sort the hosts array by text(email). + $sort_arr = array_column( $hosts, 'sort' ); + array_multisort( $sort_arr, SORT_ASC, $hosts ); + + return $hosts; + } +} diff --git a/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Integrations/Api_Response.php b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Integrations/Api_Response.php new file mode 100644 index 000000000..eef673e65 --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Integrations/Api_Response.php @@ -0,0 +1,127 @@ +response = $response; + $this->is_fulfilled = ! $response instanceof WP_Error; + $this->is_rejected = $response instanceof WP_Error; + } + + /** + * Ensures something will become a valid response + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param mixed $response The response raw data to cast to a valid response. + * + * @return static An response object. + */ + public static function ensure_response( $response ) { + if ( $response instanceof static ) { + return $response; + } + + if ( $response instanceof WP_Error ) { + return new static( $response ); + } + + $cast = (array) json_decode( wp_json_encode( $response ), true ); + + return new static( $cast ); + } + + /** + * Invokes either a fulfillment callable or a rejection callable on the response result. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param callable $on_fulfillment The callback that should be called if the request does not result in an + * error. The callback will receive the response complete array as an input. + * @param callable|null $on_rejection The optional callback that should be called if the request is an error. + * The callback will receive the `WP_Error` instance as an input. + * + * @return $this For chaining. + */ + public function then( callable $on_fulfillment, callable $on_rejection = null ) { + if ( $this->is_fulfilled ) { + call_user_func( $on_fulfillment, $this->response ); + } + + if ( $this->is_rejected && is_callable( $on_rejection ) ) { + call_user_func( $on_rejection, $this->response ); + } + + return $this; + } + + /** + * Invokes a callable if the request results in an error. + * + * In PHP `catch` is a reserved word, so we pick the next best thing. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param callable $on_rejection The callback that should be called if the request resulted in an error. + * + * @return $this For chaining. + */ + public function or_catch( callable $on_rejection ) { + if ( ! $this->is_rejected ) { + return; + } + + call_user_func( $on_rejection, $this->response ); + + return $this; + } +} diff --git a/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Integrations/Editor/Abstract_Classic.php b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Integrations/Editor/Abstract_Classic.php new file mode 100644 index 000000000..f14319bd4 --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Integrations/Editor/Abstract_Classic.php @@ -0,0 +1,572 @@ +url->to_remove_meeting_link( $event ); + } + + /** + * Returns the link for ajax account selection. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param \WP_Post $post The post object of the Event context of the link generation. + * @param bool $include_generate_text Whether to include the "Generate" text in the labels or not. + * + * @return array> A map (by meeting type) of unpackable arrays, each one containing the URL and + * label for the generation link HTML code. + */ + protected function get_account_link_selection_url( \WP_Post $post, $include_generate_text = false ) { + $link = $this->url->to_select_account_link( $post ); + $api_id = static::$api_id; + + /** + * Allows filtering the account selection link URL. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * @todo [plugin-consolidation] Merge VE into ECP, hook to be deprecated and renamed. + * + * @param string $link The url used to setup the account selection. + * @param \WP_Post $post The post object of the Event context of the link generation. + * @param string $api_id The id of the API. + */ + $link = apply_filters( 'tec_events_virtual_api_select_account_url', $link, $post, $api_id ); + + /** + * Allows filtering the account selection link URL by the API. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * @todo [plugin-consolidation] Merge VE into ECP, hook to be deprecated and renamed. + * + * @param string $link The url used to setup the account selection. + * @param \WP_Post $post The post object of the Event context of the link generation. + */ + $link = apply_filters( "tec_events_virtual_{$api_id}_select_account_url", $link, $post ); + + return $link; + } + + /** + * Renders, echoing to the page, the API initial setup options. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param null|\WP_Post|int $post The post object or ID of the event to generate the controls for, or `null` to use + * the global post object. + * @param bool $echo Whether to echo the template contents to the page (default) or to return it. + * + * @return string The template contents, if not rendered to the page. + */ + public function render_initial_setup_options( $post = null, $echo = true ) { + $post = tribe_get_event( $post ); + + if ( ! $post instanceof \WP_Post ) { + return ''; + } + + // Make sure to apply the properties to the event. + $post = $this->add_event_properties( $post ); + + // If an account is found, load the meeting generation links or details. + $account_id = $this->api->get_account_id_in_admin(); + if ( $account_id ) { + return $this->render_meeting_link_generator( $post, true, false, $account_id ); + } + + // Get the list of accounts and if none show the link to setup an API integration. + $accounts = $this->api->get_formatted_account_list( true ); + if ( empty( $accounts ) ) { + return $this->render_setup_api_connection_link( $post, $echo ); + } + + return $this->render_account_selection( $post, $accounts ); + } + + /** + * Renders the link to setup the API connection. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param \WP_Post $post The post object of the Event to use the API with. + * @param bool $echo Whether to print the rendered HTML to the page or not. + * + * @return string|false Either the final content HTML or `false` if the template could be found. + */ + protected function render_setup_api_connection_link( \WP_Post $post, $echo = true ) { + return $this->template->template( + 'virtual-metabox/api/setup-link', + [ + 'api_id' => static::$api_id, + 'attrs' => [ + 'data-depends' => "#tribe-events-virtual-video-source", + 'data-condition' => static::$api_id, + 'data-api-id' => static::$api_id, + ], + 'event' => $post, + 'setup_link_label' => $this->get_connect_to_label(), + 'setup_link_url' => $this->settings::admin_url(), + ], + $echo + ); + } + + /** + * Renders the dropdown to choose an API account. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param \WP_Post $post The post object of the Event context of the link generation. + * @param array $list_of_accounts An array of API Accounts formatted for options dropdown. + * @param bool $echo Whether to print the rendered HTML to the page or not. + * + * @return string|false Either the final content HTML or `false` if the template could be found. + */ + protected function render_account_selection( \WP_Post $post, array $accounts, $echo = true ) { + $api_id = static::$api_id; + + /** + * Filters the account list used by an API to generate connections. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * @todo [plugin-consolidation] Merge VE into ECP, hook to be deprecated and renamed. + * + * @param array An array of API Accounts formatted for options dropdown. + */ + $accounts = apply_filters( 'tribe_events_virtual_meetings_api_accounts', $accounts ); + + /** + * Filters a specific API account list used to generate connections. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * @todo [plugin-consolidation] Merge VE into ECP, hook to be deprecated and renamed. + * + * @param array An array of API Accounts formatted for options dropdown. + */ + $accounts = apply_filters( "tribe_events_virtual_meetings_{$api_id}_accounts", $accounts ); + + return $this->template->template( + 'virtual-metabox/api/accounts', + [ + 'api_id' => $api_id, + 'attrs' => [ + 'data-depends' => "#tribe-events-virtual-video-source", + 'data-condition' => static::$api_id, + 'data-api-id' => static::$api_id, + ], + 'event' => $post, + 'title' => $this->get_ui_title(), + 'select_url' => $this->get_account_link_selection_url( $post ), + 'select_label' => _x( + 'Next ', + 'The label used to designate the next step after selecting an API Account.', + 'tribe-events-calendar-pro' + ), + 'accounts' => [ + 'label' => _x( + 'Choose account:', + 'The label to choose an API account.', + 'tribe-events-calendar-pro' + ), + 'id' => "tec-events-virtual-{$api_id}-account", + 'class' => "tec-events-virtual-meetings-api__account-dropdown tec-events-virtual-meetings-{$api_id}__account-dropdown", + 'name' => "tribe-events-virtual-{$api_id}-account", + 'selected' => '', + 'attrs' => [ + 'placeholder' => _x( + 'Select an Account', + 'The placeholder for the dropdown to select an API account.', + 'tribe-events-calendar-pro' + ), + 'data-prevent-clear' => true, + 'data-force-search' => true, + 'data-options' => json_encode( $accounts ), + ], + ], + 'remove_link_url' => $this->get_remove_link( $post ), + 'remove_link_label' => $this->get_remove_link_label(), + 'remove_attrs' => [ + 'data-confirmation' => $this->get_remove_confirmation_text(), + ], + ], + $echo + ); + } + + /** + * Get an existing Meeting details. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param \WP_Post $post The post object of the Event context of the link generation. + * @param bool $echo Whether to print the rendered HTML to the page or not. + * @param null|string $account_id The account id to use to load the link generators. + * @param bool $account_loaded The account is loaded successfully into the API. + * + * @return string|false Either the final content HTML or `false` if the template could be found. + */ + public function get_meeting_details( \WP_Post $post, $echo = true, $account_id = null, $account_loaded = false ) { + + // Make sure to apply the properties to the event. + $post = $this->add_event_properties( $post ); + + // Load the account for the API instance. + if ( ! $account_loaded ) { + $account_loaded = $this->api->load_account_by_id( $account_id ); + } + + return $this->render_meeting_details( $post, $echo, $account_id, $account_loaded ); + } + + /** + * Add an API's accounts dropdown to autodetect fields. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param array $autodetect An array of the autodetect resukts. + * @param string $video_url The url to use to autodetect the video source. + * @param string $video_source The optional name of the video source to attempt to autodetect. + * @param \WP_Post|null $event The event post object, as decorated by the `tribe_get_event` function. + * @param array $ajax_data An array of extra values that were sent by the ajax script. + * + * @return array An array of the autodetect results. + */ + public function classic_autodetect_video_source_accounts( $autodetect_fields, $video_url, $video_source, $event, $ajax_data ) { + if ( ! $event instanceof \WP_Post ) { + return $autodetect_fields; + } + + $api_key = static::$api_id; + + // All video sources are checked on the first autodetect run, only prevent checking of this source if it is set. + if ( ! empty( $video_source ) && $api_key !== $video_source ) { + return $autodetect_fields; + } + + // Get optional chosen API account. + $selected_account = Arr::get( $ajax_data, "{$api_key}-accounts", '' ); + + $accounts = $this->api->get_formatted_account_list( true ); + + if ( empty( $accounts ) ) { + $autodetect_fields[] = [ + 'path' => 'virtual-metabox/api/autodetect-no-account', + 'field' => [ + 'classes_wrap' => [ 'tribe-dependent', "tribe-events-virtual-meetings-autodetect-{$api_key}__message-wrap", 'error' ], + 'message' => _x( + 'No accounts found. Use the link to authorize a new account or reauthorize an existing account:', + 'The message for smart url/autodetect when there are no valid api accounts.', + 'tribe-events-calendar-pro' + ), + 'setup_link_label' => $this->get_connect_to_label(), + 'setup_link_url' => $this->settings::admin_url(), + 'wrap_attrs' => [ + 'data-depends' => '#tribe-events-virtual-autodetect-source', + 'data-condition' => static::$api_id, + ], + ] + ]; + } else { + $autodetect_fields[] = [ + 'path' => 'components/dropdown', + 'field' => [ + 'label' => _x( 'Choose account:', 'The label of an api accounts dropdown.', 'tribe-events-calendar-pro' ), + 'id' => "tribe-events-virtual-autodetect-{$api_key}-account", + 'class' => "tribe-events-virtual-meetings-autodetect-{$api_key}__account-dropdown", + 'classes_wrap' => [ 'tribe-dependent', "tribe-events-virtual-meetings-autodetect-{$api_key}__account-wrap" ], + 'name' => "tribe-events-virtual-autodetect[{$api_key}-account]", + 'selected' => $selected_account, + 'attrs' => [ + 'placeholder' => _x( + 'Select an Account', + 'The placeholder for the dropdown to select an account.', + 'tribe-events-calendar-pro' + ), + 'data-prevent-clear' => true, + 'data-hide-search' => true, + 'data-options' => json_encode( $accounts ), + ], + 'wrap_attrs' => [ + 'data-depends' => '#tribe-events-virtual-autodetect-source', + 'data-condition' => static::$api_id, + ], + ] + ]; + } + + return $autodetect_fields; + } + + /** + * Render the account disabled template. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param bool $is_loaded Whether the account is loaded or not. + * @param bool $only_details Whether to echo only the details of the disabled template. + * @param bool $echo Whether to echo the template to the page or not. + * + * @return string The rendered template contents. + */ + public function render_account_disabled_details( $is_loaded = true, $only_details = false, $echo = true ) { + $disabled_title = $this->get_is_loaded_label( $is_loaded ); + $disabled_body = $this->get_is_loaded_body( $is_loaded ); + $link_label = $this->get_is_loaded_link_label( $is_loaded ); + + if ( $only_details ) { + return $this->template->template( + 'virtual-metabox/api/account-disabled-details', + [ + 'api_id' => static::$api_id, + 'disabled_title' => $disabled_title, + 'disabled_body' => $disabled_body, + 'link_url' => $this->settings::admin_url(), + 'link_label' => $link_label, + ], + $echo + ); + } + + return $this->template->template( + 'virtual-metabox/api/account-disabled', + [ + 'api_id' => static::$api_id, + 'disabled_title' => $disabled_title, + 'disabled_body' => $disabled_body, + 'link_url' => $this->settings::admin_url(), + 'link_label' => $link_label, + ], + $echo + ); + } + + /** + * Renders the error details shown to the user when an API connection fails. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param int|\WP_Post $event The event ID or object. + * @param string $error_body The error details in human-readable form. This can contain HTML + * tags (e.g. links). + * @param bool $echo Whether to echo the template to the page or not. + * + * @return string The rendered template contents. + */ + public function render_meeting_generation_error_details( $event = null, $error_body = null, $echo = true ) { + $event = tribe_get_event( $event ); + + if ( ! $event instanceof \WP_Post ) { + return ''; + } + + $is_authorized = $this->api->is_ready(); + + $link_url = $is_authorized + ? $this->url->to_generate_meeting_link( $event ) + : $this->settings::admin_url(); + $link_label = $is_authorized + ? _x( + 'Try again', + 'The label of the button to try and generate an connection again.', + 'tribe-events-calendar-pro' + ) + : $this->get_connect_to_label(); + + if ( null === $error_body ) { + $error_body = $this->get_unknown_error_message(); + } + $error_body = wpautop( $error_body ); + + return $this->template->template( + 'virtual-metabox/api/meeting-link-error-details', + [ + 'api_id' => static::$api_id, + 'attrs' => [ + 'data-depends' => "#tribe-events-virtual-video-source", + 'data-condition' => static::$api_id, + 'data-api-id' => static::$api_id, + ], + 'remove_link_url' => $this->get_remove_link( $event ), + 'remove_link_label' => $this->get_remove_link_label(), + 'remove_attrs' => [ + 'data-confirmation' => $this->get_remove_confirmation_text(), + ], + 'is_authorized' => $is_authorized, + 'error_title' => $this->get_the_error_message_title(), + 'error_message' => $this->get_the_error_message(), + 'error_details_title' => $this->get_the_error_message_details_title(), + 'error_body' => $error_body, + 'link_url' => $link_url, + 'link_label' => $link_label, + ], + $echo + ); + } + + /** + * Render no hosts found template. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param bool $echo Whether to echo the template to the page or not. + * + * @return string The rendered template contents. + */ + public function render_no_hosts_found( $echo = true ) { + return $this->template->template( + 'virtual-metabox/api/account-disabled', + [ + 'api_id' => static::$api_id, + 'disabled_title' => $this->get_no_hosts_found_title(), + 'disabled_body' => $this->get_no_hosts_found_message(), + 'link_url' => $this->settings::admin_url(), + 'link_label' => _x( + 'Refresh your account on the settings page', + 'The label of the button to link back to the settings to refresh an API account.', + 'tribe-events-calendar-pro' + ), + 'echo' => true, + ], + $echo + ); + } +} diff --git a/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Integrations/Editor/Abstract_Classic_Labels.php b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Integrations/Editor/Abstract_Classic_Labels.php new file mode 100644 index 000000000..dd446a295 --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Integrations/Editor/Abstract_Classic_Labels.php @@ -0,0 +1,291 @@ + $args The request arguments. + * @param int $expect_code The HTTP response code expected for this request. + */ + $response = apply_filters( 'tec_events_virtual_meetings_api_post_response', null, $url, $args, $expect_code ); + + /** + * Filters the response for an API request by API id to prevent the response from actually happening. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * @todo [plugin-consolidation] Merge VE into ECP, hook to be deprecated and renamed. + * + * @param null|Api_Response|WP_Error|mixed $response The response that will be returned. A non `null` value + * here will short-circuit the response. + * @param string $url The full URL this request is being made to. + * @param array $args The request arguments. + * @param int $expect_code The HTTP response code expected for this request. + */ + $response = apply_filters( "tec_events_virtual_meetings_{$app_id}_api_post_response", $response, $url, $args, $expect_code ); + + if ( null !== $response ) { + return Api_Response::ensure_response( $response ); + } + + $response = wp_remote_request( $url, $args ); + + if ( $response instanceof WP_Error ) { + $error_message = $response->get_error_message(); + + do_action( + 'tribe_log', + 'error', + __CLASS__, + [ + 'action' => __METHOD__, + 'code' => $response->get_error_code(), + 'message' => $error_message, + 'method' => $args['method'], + ] + ); + + $user_message = sprintf( + // translators: %1$s: the API name, %2$s: the error as returned from the API. + _x( + 'Error while trying to communicate with %1$s API: %2$s. Please try again in a minute.', + 'The prefix of a message reporting a %1$s API communication error, the placeholder is for the error.', + 'tribe-events-calendar-pro' + ), + static::$api_name, + $error_message + ); + tribe_transient_notice( + "events-virtual-{$app_id}-request-error", + '

                          ' . esc_html( $user_message ) . '

                          ', + [ 'type' => 'error' ], + 60 + ); + + return new Api_Response( $response ); + } + + $response_code = wp_remote_retrieve_response_code( $response ); + + if ( null !== $expect_code && $expect_code !== $response_code ) { + + // Add error message from the API if available. + $api_message = ''; + $body = json_decode( wp_remote_retrieve_body( $response ), true ); + $body_set = $this->has_proper_response_body( $response ); + if ( $body_set ) { + $api_message = isset( $body['message'] ) ? ' API Message: ' . $body['message'] : ''; + + /** + * Filters the API error message. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * @todo [plugin-consolidation] Merge VE into ECP, hook to be deprecated and renamed. + * + * @param string $url The full URL this request is being made to. + * @param array $body The json_decoded request body. + * @param Api_Response $response The response that will be returned. A non `null` value + * here will short-circuit the response. + */ + $api_message = apply_filters( 'tec_events_virtual_meetings_api_error_message', $api_message, $body, $response ); + } + + $data = [ + 'action' => __METHOD__, + 'message' => 'Response code is not the expected one.' . $api_message , + 'expected_code' => $expect_code, + 'response_code' => $response_code, + 'api_method' => $args['method'], + 'api_response' => json_decode( wp_remote_retrieve_body( $response ), true ), + ]; + do_action( 'tribe_log', 'error', __CLASS__, $data ); + + $user_message = sprintf( + // translators: the placeholders are, %1$s: the API name, %2$s: the expected code, and %3$s: the actual response code. + _x( + '%1$s API response is not the expected one, expected %2$s, received %3$s. Please, try again in a minute.', + 'The message reporting an API unexpected response code, placeholders are the AP name and the codes.', + 'tribe-events-calendar-pro' + ), + static::$api_name, + $expect_code, + $response_code + ); + tribe_transient_notice( + "events-virtual-{$app_id}-response-error", + '

                          ' . esc_html( $user_message ) . '

                          ', + [ 'type' => 'error' ], + 60 + ); + + return new Api_Response( new WP_Error( $response_code, 'Response code is not the expected one.', $data ) ); + } + + return new Api_Response( $response ); + } + + /** + * Makes a POST request to an API. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param string $url The URL to make the request to. + * @param array $args An array of arguments for the request. + * @param int $expect_code The expected response code, if not met, then the request will be considered a failure. + * Set to `null` to avoid checking the status code. + * + * @return Api_Response An API response to act upon the response result. + */ + public function post( $url, array $args, $expect_code = self::POST_RESPONSE_CODE ) { + $args['method'] = 'POST'; + + return $this->request( $url, $args, $expect_code ); + } + + /** + * Makes a PATCH request to an API. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param string $url The URL to make the request to. + * @param array $args An array of arguments for the request. + * @param int $expect_code The expected response code, if not met, then the request will be considered a failure. + * Set to `null` to avoid checking the status code. + * + * @return Api_Response An API response to act upon the response result. + */ + public function patch( $url, array $args, $expect_code = self::PATCH_RESPONSE_CODE ) { + $args['method'] = 'PATCH'; + + return $this->request( $url, $args, $expect_code ); + } + + /** + * Makes a PUT request to an API. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param string $url The URL to make the request to. + * @param array $args An array of arguments for the request. + * @param int $expect_code The expected response code, if not met, then the request will be considered a failure. + * Set to `null` to avoid checking the status code. + * + * @return Api_Response An API response to act upon the response result. + */ + public function put( $url, array $args, $expect_code = self::PUT_RESPONSE_CODE ) { + $args['method'] = 'PUT'; + + return $this->request( $url, $args, $expect_code ); + } + + /** + * Makes a GET request to an API. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param string $url The URL to make the request to. + * @param array $args An array of arguments for the request. + * @param int $expect_code The expected response code, if not met, then the request will be considered a failure. + * Set to `null` to avoid checking the status code. + * + * @return Api_Response An API response to act upon the response result. + */ + public function get( $url, array $args, $expect_code = self::GET_RESPONSE_CODE ) { + $args['method'] = 'GET'; + + return $this->request( $url, $args, $expect_code ); + } + + /** + * Check if a response body has proper attributes. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param array $body A response body array. + * @param array $additional_checks An array of keys to check for in the body array. + * + * @return boolean Whether the response body has the proper attributes. + */ + public static function has_proper_response_body( $body, $additional_checks = [] ) { + if ( empty( $body ) || ! is_array( $body ) ) { + return false; + } + + if ( empty( $additional_checks ) ) { + return true; + } + + // Additional array keys to check for in the body response. + if ( array_diff_key( array_flip( $additional_checks ), $body ) ) { + return false; + } + + return true; + } +} diff --git a/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/JSON_LD.php b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/JSON_LD.php new file mode 100644 index 000000000..f843e24b8 --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/JSON_LD.php @@ -0,0 +1,152 @@ +startDate ) || empty( $data->endDate ) ) { + return $data; + } + + $event = tribe_get_event( $post ); + + if ( ! $event instanceof \WP_Post) { + return $data; + } + + /** + * Filters if an Event is Considered "Online" in JSON-LD context. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * @todo [plugin-consolidation] Merge VE into ECP, hook to be deprecated and renamed. + * + * @param boolean $virtual If an event is considered virtual. + * @param object $data The JSON-LD object. + * @param array $args The arguments used to get data. + * @param WP_Post $post The post object. + */ + $virtual = apply_filters( 'tribe_events_virtual_single_event_online_status', $event->virtual, $data, $args, $post ); + + // Bail on modifications for non canceled events. + if ( ! $virtual ) { + return $data; + } + + // Set as online by default, but if hybrid set to mixed. + $data->eventAttendanceMode = static::ONLINE_EVENT_ATTENDANCE_MODE; + if ( Event_Meta::$value_hybrid_event_type === $event->virtual_event_type ) { + $data->eventAttendanceMode = static::MIXED_EVENT_ATTENDANCE_MODE; + } + + // Update event status schema. + if ( 'moved-online' === $event->event_status ) { + $data->eventStatus = static::MOVEDONLINE_SCHEMA; + } + + if ( + empty( $data->location ) || + ! is_object( $data->location ) + ) { + // If the physical location is not present, then mark this event as online only. + $data->location = (object) [ + '@type' => 'VirtualLocation', + 'url' => esc_url( $this->get_virtual_url( $post ) ), + ]; + } else { + // If a physical location is set for the event, then assign both locations. + // Override the event attendance when there is a location. + $data->eventAttendanceMode = static::MIXED_EVENT_ATTENDANCE_MODE; + $data->location = [ + (object) [ + '@type' => 'VirtualLocation', + 'url' => esc_url( $this->get_virtual_url( $post ) ), + ], + $data->location + ]; + } + + return $data; + } + + /** + * Get the virtual URL for an event trying the virtual URL, the website URL, and using the permalink if nothing found. + * A URL is required when using virtualLocation. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param WP_Post $post The post object to use to get the virtual url for an event. + * + * @return string The string of the virtual url for an event if available. + */ + protected function get_virtual_url( $post ) { + $event = tribe_get_event( $post ); + + if ( ! $event instanceof \WP_Post) { + return ''; + } + + $virtual_url = $event->virtual_url; + + // If empty get website URL. + if ( empty( $virtual_url ) ) { + $virtual_url = get_post_meta( $post->ID, '_EventURL', true ); + } + + // If both are empty then get the permalink. + if ( empty( $virtual_url ) ) { + $virtual_url = $event->permalink; + } + + return $virtual_url; + } +} diff --git a/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/Facebook/Classic_Editor.php b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/Facebook/Classic_Editor.php new file mode 100644 index 000000000..8deea0dd3 --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/Facebook/Classic_Editor.php @@ -0,0 +1,189 @@ +template = $template; + $this->page_api = $page_api; + $this->settings = $settings; + } + + /** + * Renders, echoing to the page, the Facebook Integration fields. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param null|\WP_Post|int $post The post object or ID of the event to generate the controls for, or `null` to use + * the global post object. + * @param bool $echo Whether to echo the template contents to the page (default) or to return it. + * + * @return string The template contents, if not rendered to the page. + */ + public function render_setup_options( $post = null, $echo = true ) { + $post = tribe_get_event( get_post( $post ) ); + + if ( ! $post instanceof \WP_Post ) { + return ''; + } + + // Make sure to apply the Facebook properties to the event. + Facebook_Meta::add_event_properties( $post ); + + // Get the current Facebook Pages + $pages = $this->page_api->get_formatted_page_list( true, $post->facebook_local_id ); + + if ( empty( $pages ) ) { + return $this->render_incomplete_setup(); + } + + return $this->template->template( + 'virtual-metabox/facebook/controls', + [ + 'event' => $post, + 'pages' => [ + 'label' => _x( + 'Choose Page:', + 'The label of Facebook Page to choose.', + 'tribe-events-calendar-pro' + ), + 'id' => 'tribe-events-virtual-facebook-page', + 'class' => 'tribe-events-virtual-meetings-facebook__page-dropdown', + 'name' => 'tribe-events-virtual[facebook_local_id]', + 'selected' => $post->facebook_local_id, + 'attrs' => [ + 'placeholder' => _x( + 'Select a Facebook Page', + 'The placeholder for the dropdown to select a Facebook Page.', + 'tribe-events-calendar-pro' + ), + 'data-prevent-clear' => '1', + 'data-options' => json_encode( $pages ), + ], + ], + ], + $echo + ); + } + + /** + * Get the incomplete Facebook setup template. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param bool $echo Whether to echo the template contents to the page (default) or to return it. + * + * @return string The template contents, if not rendered to the page. + */ + public function render_incomplete_setup( $echo = true ) { + + return $this->template->template( + 'virtual-metabox/facebook/incomplete-setup', + [ + 'disabled_title' => _x( + 'Facebook Live', + 'The title of Facebook Live incomplete setup message.', + 'tribe-events-calendar-pro' + ), + 'disabled_body' => _x( + 'No connected Facebook Pages found. You must connect a Facebook App to your site before you can add Facebook Live videos to events.', + 'The message to complete the Facebook setup.', + 'tribe-events-calendar-pro' + ), + 'link_url' => Settings::admin_url(), + 'link_label' => _x( + 'Set up Facebook Live', + 'The label of the link to setup Facebook Live.', + 'tribe-events-calendar-pro' + ), + ], + $echo + ); + } + + /** + * Add the Facebook video message to autodetect fields. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param array $autodetect_fields An array of the autodetect results. + * @param string $video_url The url to use to autodetect the video source. + * @param string $video_source The optional name of the video source to attempt to autodetect. + * @param \WP_Post|null $event The event post object, as decorated by the `tribe_get_event` function. + * @param array $ajax_data An array of extra values that were sent by the ajax script. + * + * @return array An array of the autodetect results. + */ + public function classic_autodetect_video_source_message( $autodetect_fields, $video_url, $video_source, $event, $ajax_data ) { + if ( ! $event instanceof \WP_Post ) { + return $autodetect_fields; + } + + // All video sources are checked on the first autodetect run, only prevent checking of this source if it is set. + if ( ! empty( $video_source ) && Facebook_Meta::$autodetect_fb_video_id !== $video_source ) { + return $autodetect_fields; + } + + // If app id return fields. + if( tribe_get_option( $this->settings->get_prefix( 'app_id' ), '' ) ) { + return $autodetect_fields; + } + + // If no app id return the no Facebook App ID message. + $autodetect_fields[] = $this->page_api->get_no_facebook_app_id_message_content(); + + return $autodetect_fields; + } +} diff --git a/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/Facebook/Event_Export.php b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/Facebook/Event_Export.php new file mode 100644 index 000000000..de3b564d6 --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/Facebook/Event_Export.php @@ -0,0 +1,88 @@ +api = $api; + } + + /** + * Modify the export parameters for the Facebook Live Video source. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param array $fields The various file format components for this specific event. + * @param \WP_Post $event The WP_Post of this event. + * @param string $key_name The name of the array key to modify. + * @param string $type The name of the export type. + * @param boolean $should_show Whether to modify the export fields for the current user, default to false. + * + * @return array The various file format components for this specific event. + */ + public function modify_video_source_export_output( $fields, $event, $key_name, $type, $should_show ) { + if ( 'facebook' !== $event->virtual_video_source ) { + return $fields; + } + + // If it should not show or no linked button and details, set the permalink and return. + if ( + ! $should_show || + ( + $event->virtual_embed_video && + ! $event->virtual_linked_button + ) + ) { + $fields[ $key_name ] = $this->format_value( get_the_permalink( $event->ID ), $key_name, $type ); + + return $fields; + } + + $url = $this->api::get_facebook_page_url_with_page_id( $event->facebook_local_id ); + + $fields[ $key_name ] = $this->format_value( $url, $key_name, $type ); + + return $fields; + } +} diff --git a/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/Facebook/Event_Meta.php b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/Facebook/Event_Meta.php new file mode 100644 index 000000000..3b6867d21 --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/Facebook/Event_Meta.php @@ -0,0 +1,392 @@ + + */ + public static $fields = [ + 'local_id', + ]; + + /** + * The prefix, in the context of tribe_get_events, of each setting of Facebook. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @var string + */ + public static $prefix = 'facebook_'; + + /** + * Event_Meta constructor. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param Page_API $api An instance of the Page_API handler. + */ + public function __construct( Page_API $api ) { + $this->api = $api; + } + + /** + * Get the prefix for the settings. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param string $key The meta key to add the prefix to. + * + * @return string The meta key with prefix added. + */ + protected static function get_prefix( $key ) { + return static::$prefix . $key; + } + + /** + * Returns an event post meta related to Facebook. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param int|\WP_Post $post The event post ID or object. + * + * @return array The Facebook post meta or an empty array if not found or not an event. + */ + public static function get_post_meta( $post ) { + $event = tribe_get_event( $post ); + + if ( ! $event instanceof \WP_Post ) { + return []; + } + + $all_meta = get_post_meta( $event->ID ); + + $prefix = Virtual_Event_Meta::$prefix . 'facebook_'; + + $flattened_array = Arr::flatten( + array_filter( + $all_meta, + static function ( $meta_key ) use ( $prefix ) { + return 0 === strpos( $meta_key, $prefix ); + }, + ARRAY_FILTER_USE_KEY + ) + ); + + return $flattened_array; + } + + /** + * Add information about the Facebook live stream if available via the REST Api. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param array $data The current data of the event. + * @param \WP_Post $event The event being updated. + * + * @return array An array with the data of the event on the endpoint. + */ + public function attach_rest_properties( array $data, \WP_Post $event ) { + $event = tribe_get_event( $event ); + + if ( ! $event instanceof \WP_Post || ! current_user_can( 'read_private_posts' ) ) { + return $data; + } + + // Return when Facebook is not the source. + if ( static::$video_source_fb_id !== $event->virtual_video_source ) { + return $data; + } + + if ( empty( $data['meetings'] ) ) { + $data['meetings'] = []; + } + + $data['meetings']['facebook'] = [ + 'local_id' => $event->facebook_local_id, + 'is_live' => $event->virtual_meeting_is_live, + ]; + + return $data; + } + + /** + * Adds Facebook related properties to an event post object. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param \WP_Post $event The event post object, as decorated by the `tribe_get_event` function. + * + * @return \WP_Post The decorated event post object, with Facebook related properties added to it. + */ + public static function add_event_properties( \WP_Post $event ) { + // Return when Facebook is not the source. + if ( static::$video_source_fb_id !== $event->virtual_video_source ) { + return $event; + } + + // Get the saved values since the source is Facebook. + foreach ( self::$fields as $field_name ) { + $prefix_name = self::get_prefix( $field_name ); + $value = self::get_meta_field( $prefix_name, $event ); + $event->{$prefix_name} = $value; + } + + // Enforce this is a virtual event. + $event->virtual = true; + $event->virtual_meeting = true; + $event->virtual_meeting_provider = tribe( Facebook_Provider::class )->get_slug(); + + // Set virtual url to null if Facebook is connected to the event. + $event->virtual_url = null; + + return $event; + } + + /** + * Get the meta fields value. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param string $key The option key to add the prefix to. + * @param \WP_Post $event The event post object, as decorated by the `tribe_get_event` function. + * + * @return mixed + */ + protected static function get_meta_field( $key, \WP_Post $event ) { + return get_post_meta( $event->ID, Virtual_Event_Meta::$prefix . $key, true ); + } + + /** + * Saves the meta fields for Facebook. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param int $post_id The post ID of the post the date is being saved for. + * @param array $data The data to save, directly from the metabox. + */ + public function save_metabox_data( $post_id, array $data ) { + $event = tribe_get_event( $post_id ); + if ( static::$video_source_fb_id !== $event->virtual_video_source ) { + return; + } + + $prefix = Virtual_Event_Meta::$prefix; + // An event that has a Facebook Page is always considered virtual, let's ensure that. + update_post_meta( $post_id, Virtual_Event_Meta::$key_virtual, true ); + + // Update meta fields. + foreach ( self::$fields as $field_name ) { + $name = self::get_prefix( $field_name ); + $value = Arr::get( $data, $name, false ); + $meta_key = $prefix . $name; + + if ( ! empty( $value ) ) { + update_post_meta( $post_id, $meta_key, $value ); + } else { + delete_post_meta( $post_id, $meta_key ); + } + } + } + + /** + * Removes the Facebook meta from a post. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param int|\WP_Post $post The event post ID or object. + */ + public static function delete_meta( $post ) { + $event = tribe_get_event( $post ); + + if ( ! $event instanceof \WP_Post ) { + return false; + } + + $facebook_meta = static::get_post_meta( $event ); + + foreach ( array_keys( $facebook_meta ) as $meta_key ) { + delete_post_meta( $event->ID, $meta_key ); + } + + return true; + } + + /** + * Adds dynamic, time-related, properties to the event object. + * + * This method deals with properties we set, for convenience, on the event object that should not + * be cached as they are time-dependent; i.e. the time the properties are computed at matters and + * caching their values would be incorrect. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param WP_Post $event The event post object, as read from the cache, if any. + * + * @return WP_Post The decorated event post object; its dynamic and time-dependent properties correctly set up. + */ + public function add_dynamic_properties( WP_Post $event ) { + + // Return the event post object in the admin as these properties are for the front end only. + if ( is_admin() ) { + return $event; + } + + if ( + ! isset( $event->virtual_video_source ) || + static::$video_source_fb_id !== $event->virtual_video_source + ) { + return $event; + } + + // Hide on a past event. + if ( tribe_is_past_event( $event ) ) { + return $event; + } + + if ( + ! isset( + $event->virtual_embed_video, + $event->virtual_should_show_embed, + $event->facebook_local_id + ) + ) { + return $event; + } + + // Setup Facebook Live Stream. + $live_stream = $this->api->get_live_stream( $event->facebook_local_id ); + + // Set the status. + $event->virtual_meeting_is_live = empty( $live_stream['status'] ) ? false : $live_stream['status']; + + // Set the meeting url, to the live stream or default to the Facebook page url. + $video_permalink = empty( $live_stream['page_url'] ) ? '' : $live_stream['page_url']; + if ( ! empty( $live_stream['permalink_url'] ) ) { + $video_permalink = $live_stream['permalink_url']; + } + + $event->virtual_meeting_url = esc_url( $video_permalink ); + // Override the virtual url if linked button is checked and stream is online. + if ( ! empty( $event->virtual_linked_button ) ) { + $event->virtual_url = $event->virtual_meeting_url; + } + + if ( 'LIVE' !== $event->virtual_meeting_is_live ) { + return $event; + } + + $video_embed = is_string( $live_stream['embed_code'] ) ? json_decode( $live_stream['embed_code'] ) : ''; + $event->virtual_meeting_embed = $video_embed; + + return $event; + } + + /** + * Filter the ticket email url. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param string $virtual_url The virtual url for the ticket and rsvp emails. + * @param WP_Post $event The event post object with properties added by the `tribe_get_event` function. + * + * @return string The Facebook Live virtual url for the ticket and rsvp emails. + */ + public function filter_ticket_email_url( $virtual_url, WP_Post $event ) { + + if ( static::$video_source_fb_id !== $event->virtual_video_source ) { + return $virtual_url; + } + + if ( ! isset( $event->facebook_local_id ) ) { + return $virtual_url; + } + + // Setup Facebook Live Stream. + $live_stream = $this->api->get_live_stream( $event->facebook_local_id ); + + return ! empty( $live_stream['page_url'] ) ? $live_stream['page_url'] : $virtual_url; + } + + /** + * Adds related properties to an Event Automator event details map. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param array $next_event An array of event details. + * @param WP_Post $event An instance of the event WP_Post object. + * + * @return array An array of event details. + */ + public static function add_event_automator_properties( $next_event, WP_Post $event ) { + if ( $event->virtual_video_source !== static::$key_source_id ) { + return $next_event; + } + + $next_event['virtual_url'] = $event->virtual_meeting_url; + $next_event['virtual_provider_details'] = [ + 'facebook_local_id' => $event->facebook_local_id, + 'facebook_is_live' => $event->virtual_meeting_is_live, + 'facebook_embed' => $event->virtual_meeting_embed, + ]; + + return $next_event; + } +} diff --git a/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/Facebook/Page_API.php b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/Facebook/Page_API.php new file mode 100644 index 000000000..4e16ce5b6 --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/Facebook/Page_API.php @@ -0,0 +1,942 @@ + $access_token, + 'access_token' => $access_token, + ], $this->get_access_expiration_url() ); + } + + /** + * Checks whether the current Facebook Page API is ready to use. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @return bool Whether the current Facebook Page API has a loaded page. + */ + public function is_ready() { + return ! empty( $this->page_loaded ); + } + + /** + * Load a specific page into the API. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param array $page A Facebook Page with the fields to access the API. + * + * @return bool Whether the page is loaded into the class to use for the API, default is false. + */ + public function load_page( array $page = [] ) { + if ( $this->is_valid_page( $page ) ) { + $this->init_page( $page ); + + return true; + } + + // Check for single events first. + $loaded_page = ''; + if ( is_singular( TEC::POSTTYPE ) ) { + $post_id = get_the_ID(); + + // Get the local Facebook Page id and if found, use to get the page. + if ( $local_id = get_post_meta( $post_id, $this->page_local_id_meta_field_name, true ) ) { + $loaded_page = $this->get_page_by_id( $local_id ); + } + + if ( ! $loaded_page ) { + return false; + } + + if ( $this->is_valid_page( $loaded_page ) ) { + $this->init_page( $loaded_page ); + + return true; + } + } + + // If nothing loaded so far and this is the frontend, return false. + if ( ! is_admin() ) { + return false; + } + + $local_id = $this->get_local_id_in_admin(); + + // Get the page id and if found, use to get the page. + if ( $local_id ) { + $loaded_page = $this->get_page_by_id( $local_id ); + } + + if ( ! $loaded_page ) { + return false; + } + + if ( $this->is_valid_page( $loaded_page ) ) { + $this->init_page( $loaded_page ); + + return true; + } + + return false; + } + + /** + * Get the Facebook Page id in the WordPress admin. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param int $post_id The optional post id. + * + * @return string The page id or empty string if not found. + */ + public function get_local_id_in_admin( $post_id = 0 ) { + // If there is a post id, check if it is a post and if so use to get the page id. + $post = $post_id ? get_post( $post_id ) : ''; + if ( $post instanceof \WP_Post ) { + return get_post_meta( $post_id, $this->page_local_id_meta_field_name, true ); + } + + // Attempt to load through ajax requested variables. + $nonce = tribe_get_request_var( '_ajax_nonce' ); + $page_id = tribe_get_request_var( 'page_id' ); + $requested_post_id = tribe_get_request_var( 'post_id' ); + if ( $page_id && $requested_post_id && $nonce ) { + + // Verify the nonce is valid. + $valid_nonce = $this->is_valid_nonce( $nonce ); + if ( ! $valid_nonce ) { + return ''; + } + // Verify there is a real post. + $post = get_post( $post_id ); + if ( $post instanceof \WP_Post ) { + return esc_html( $page_id ); + } + } + + // Safety check. + if ( ! function_exists( 'get_current_screen' ) ) { + return ''; + } + + // Set the ID if on the single event editor. + if ( ! $post_id ) { + $screen = get_current_screen(); + if ( ! empty( $screen->id ) && $screen->id == TEC::POSTTYPE ) { + global $post; + $post_id = $post->ID; + } + } + + if ( ! $post_id ) { + return ''; + } + + return esc_html( get_post_meta( $post_id, $this->page_local_id_meta_field_name, true ) ); + } + + /** + * Load a specific page by the id. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param string $local_id The local Facebook Page id to get and load for use with the API. + * + * @return bool|string Whether the page is loaded or an error code. False or code means the page did not load. + */ + public function load_page_by_id( $local_id ) { + $page = $this->get_page_by_id( $local_id ); + + // Return not-found if no page. + if ( empty( $page ) ) { + return 'not-found'; + } + + // Return disabled if no access token. + if ( empty( $page['access_token'] ) ) { + return 'disabled'; + } + + return $this->load_page( $page ); + } + + /** + * Check if an page has all the information to be valid. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param array $page A Facebook Page page with the fields to access the API. + * + * @return bool + */ + private function is_valid_page( $page ) { + if ( empty( $page['local_id'] ) ) { + return false; + } + if ( empty( $page['access_token'] ) ) { + return false; + } + if ( empty( $page['expiration'] ) ) { + return false; + } + + return true; + } + + /** + * Initialize a Facebook Page to use for the API. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param array $page A Facebook Page with the fields to access the API. + */ + private function init_page( $page ) { + $this->access_token = $page['access_token']; + $this->local_id = $page['local_id']; + $this->page_id = $page['page_id']; + $this->page_loaded = true; + $this->loaded_page_name = $page['name']; + } + + /** + * Get the listing of Facebook Pages. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param boolean $all_data Whether to return all page data, default is only name and status. + * + * @return array An array of all the Facebook Pages. + */ + public function get_list_of_pages( $all_data = false ) { + // Get list of pages. + $list_of_pages = get_option( $this->all_page_key, [] ); + + if ( empty( $all_data ) ) { + return $list_of_pages; + } + + // Add all the data to the list. + foreach ( $list_of_pages as $local_id => $page ) { + $page_data = $this->get_page_by_id( $local_id ); + + $list_of_pages[ $local_id ] = $page_data; + } + + return $list_of_pages; + } + + /** + * Get list of pages formatted for options dropdown. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param boolean $all_data Whether to return only active pages or not. + * @param string $selected The selected local id. + * + * @return array An array of Facebook Pages formatted for options dropdown. + */ + public function get_formatted_page_list( $active_only = false, $selected = '' ) { + $available_pages = $this->get_list_of_pages( true ); + if ( empty( $available_pages ) ) { + return []; + } + + $pages = []; + foreach ( $available_pages as $page ) { + $name = Arr::get( $page, 'name', '' ); + $value = Arr::get( $page, 'local_id', '' ); + $status = Arr::get( $page, 'access_token', '' ); + + if ( empty( $name ) || empty( $value ) ) { + continue; + } + + if ( $active_only && ! $status ) { + continue; + } + + $pages[] = [ + 'text' => (string) $name, + 'id' => (string) $value, + 'value' => (string) $value, + 'selected' => $value === $selected ? true : false, + ]; + } + + return $pages; + } + + /** + * Update the list of pages with provided page. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param array $page_data The array of data for an page to add to the list. + */ + protected function update_list_of_pages( $page_data ) { + $pages = $this->get_list_of_pages(); + $pages[ esc_attr( $page_data['local_id'] ) ] = [ + 'name' => esc_attr( $page_data['name'] ), + 'status' => empty( $page['access_token'] ) ? false : true, + ]; + + update_option( $this->all_page_key, $pages ); + } + + /** + * Delete from the list of pages the provided page. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param string $local_id The local id of the Facebook page to delete. + */ + protected function delete_from_list_of_pages( $local_id ) { + $pages = $this->get_list_of_pages(); + unset( $pages[ $local_id ] ); + + update_option( $this->all_page_key, $pages ); + } + + /** + * Get a Single Facebook Page by id. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param string $local_id The local id of the Facebook Page. + * + * @return array $page The Facebook Page data. + */ + public function get_page_by_id( $local_id ) { + + return get_option( $this->single_page_prefix . $local_id, [] ); + } + + /** + * Set a Facebook Page with the provided id. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param array $page_data A specific Facebook Page data to save. + */ + public function set_page_by_id( array $page_data ) { + if ( empty( $page_data['local_id'] ) ) { + return false; + } + + update_option( $this->single_page_prefix . $page_data['local_id'], $page_data, false ); + + $this->update_list_of_pages( $page_data ); + } + + /** + * Delete a Facebook Page by ID. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param string $local_id The Facebook Page local id. + */ + public function delete_page_by_id( $local_id ) { + delete_option( $this->single_page_prefix . $local_id ); + + $this->delete_from_list_of_pages( $local_id ); + } + + /** + * Save the page id to the event. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param int $post_id The id to save the meta field too. + * @param string $local_id The local id of the Facebook Page to save. + * + * @return boolean Whether the Facebook Page local id was saved to the event. + */ + public function save_page_local_id_to_post( $post_id, $local_id ) { + return update_post_meta( $post_id, $this->page_local_id_meta_field_name, $local_id ); + } + + /** + * Set an page Access Data with the provided id. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param string $local_id The local id of the Facebook Page to save. + * @param string $access_token The Facebook Page access token. + * @param string $expiration The expiration in seconds as provided by the server. + */ + public function set_page_access_by_id( $local_id, $access_token, $expiration ) { + $page_data = $this->get_page_by_id( $local_id ); + $page_data['access_token'] = esc_attr( $access_token ); + $page_data['expiration'] = esc_attr( $expiration ); + + $this->set_page_by_id( $page_data ); + } + + /** + * Save a Facebook Page using ajax. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param string $nonce The save action nonce to check. + * + * @return string An html message for success or failure when saving. + */ + public function save_page( $nonce ) { + if ( ! $this->check_ajax_nonce( Settings::$save_action, $nonce ) ) { + return false; + } + + $local_id = tribe_get_request_var( 'local_id' ); + // If there is no local id fail the request. + if ( empty( $local_id ) ) { + $error_message = _x( + 'The local id to save the Facebook Page is missing.', + 'The local id for the facebook page is missing error message.', + 'tribe-events-calendar-pro' + ); + tribe( Template_Modifications::class )->get_settings_message_template( $error_message, 'error' ); + + wp_die(); + } + + $page_name = tribe_get_request_var( 'page_name' ); + $page_id = tribe_get_request_var( 'page_id' ); + // If there is no page name or page id fail the request. + if ( empty( $page_name ) || empty( $page_id ) ) { + $error_message = _x( + 'The Facebook Page Name or ID is missing.', + 'Facebook Page Name or ID is missing error message.', + 'tribe-events-calendar-pro' + ); + tribe( Template_Modifications::class )->get_settings_message_template( $error_message, 'error' ); + + wp_die(); + } + + // If no page, setup initial fields + $page_data = $this->get_page_by_id( $local_id ); + if ( empty( $page_data['local_id'] ) ) { + $page_data = [ + 'local_id' => esc_attr( $local_id ), + 'name' => esc_attr( $page_name ), + 'page_id' => esc_attr( $page_id ), + 'access_token' => '', + 'expiration' => '', + ]; + } else { + // Otherwise update an existing page. + $page_data['name'] = esc_attr( $page_name ); + $page_data['page_id'] = esc_attr( $page_id ); + } + + $this->set_page_by_id( $page_data ); + + $message = _x( + 'Facebook Page Saved.', + 'Facebook Page is saved to the options.', + 'tribe-events-calendar-pro' + ); + tribe( Template_Modifications::class )->get_settings_message_template( $message ); + + $page = $this->get_page_by_id( $local_id ); + tribe( Template_Modifications::class )->get_page_fields( $local_id, $page ); + + wp_die(); + } + + /** + * Get the video live stream permalink. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param int $video_id The Facebook video id. + * + * @return string The expiration, either never or a timestamp. + */ + public function get_access_expiration( $access_token ) { + $expiration = ''; + + $this->get( + $this->get_access_expiration_url_with_query_strings( $access_token ), + [] + )->then( + function ( array $response ) use ( &$expiration ) { + + $body = json_decode( wp_remote_retrieve_body( $response ) ); + if ( empty( $body ) ) { + do_action( 'tribe_log', 'error', __CLASS__, [ + 'action' => __METHOD__, + 'message' => 'Facebook API response is missing the required information to get the video permalink.', + 'response' => $body, + ] ); + + return false; + } + + if ( ! isset( $body->data->expires_at ) ) { + return false; + } + + $expiration = $body->data->expires_at; + + return true; + } + )->or_catch( + function ( \WP_Error $error ) { + do_action( 'tribe_log', 'error', __CLASS__, [ + 'action' => __METHOD__, + 'code' => $error->get_error_code(), + 'message' => $error->get_error_message(), + ] ); + } + ); + + if( 0 === $expiration) { + return 'never'; + } + + + return $expiration; + } + + /** + * Save a Facebook Page access token using ajax. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param string $nonce The save access action nonce to check. + * + * @return string An html message for success or failure when saving. + */ + public function save_access_token( $nonce ) { + if ( ! $this->check_ajax_nonce( Settings::$save_access_action, $nonce ) ) { + return false; + } + + $local_id = tribe_get_request_var( 'local_id' ); + $page_id = tribe_get_request_var( 'page_id' ); + $access_token = tribe_get_request_var( 'access_token' ); + // If missing information fail the request. + if ( empty( $local_id ) || empty( $page_id ) || empty( $access_token ) ) { + $error_message = _x( + 'The Facebook Page ID, local ID, or access token is missing.', + 'Facebook Page ID, local ID, or access token is missing error message.', + 'tribe-events-calendar-pro' + ); + tribe( Template_Modifications::class )->get_settings_message_template( $error_message, 'error' ); + + wp_die(); + } + + // Check if the page exists. + $page_data = $this->get_page_by_id( $local_id ); + if ( empty( $page_data ) ) { + $message = _x( + 'No Facebook Page found to update.', + 'Error message if the Facebook Page was not found in the options.', + 'tribe-events-calendar-pro' + ); + tribe( Template_Modifications::class )->get_settings_message_template( $message, 'error' ); + + wp_die(); + } + + // Get the access token expiration. + $expiration = $this->get_access_expiration( $access_token ); + + $this->set_page_access_by_id( $local_id, $access_token, $expiration ); + + $message = _x( + 'Facebook Page access token saved.', + 'Facebook Page is saved to the options.', + 'tribe-events-calendar-pro' + ); + tribe( Template_Modifications::class )->get_settings_message_template( $message ); + + $page = $this->get_page_by_id( $local_id ); + tribe( Template_Modifications::class )->get_page_fields( $local_id, $page ); + + wp_die(); + } + + /** + * Clear a Facebook Page access token using ajax. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param string $nonce The clear access action nonce to check. + * + * @return string An html message for success or failure when clearing. + */ + public function clear_access_token( $nonce ) { + if ( ! $this->check_ajax_nonce( Settings::$clear_access_action, $nonce ) ) { + return false; + } + + $local_id = tribe_get_request_var( 'local_id' ); + // If missing information fail the request. + if ( empty( $local_id ) ) { + $error_message = _x( + 'No access token to clear as the the Facebook Page local ID is missing.', + 'Facebook Page ID local ID is missing error message.', + 'tribe-events-calendar-pro' + ); + tribe( Template_Modifications::class )->get_settings_message_template( $error_message, 'error' ); + + wp_die(); + } + + // Check if the page exists. + $page_data = $this->get_page_by_id( $local_id ); + if ( empty( $page_data ) ) { + $message = _x( + 'No access token is cleared as no Facebook Page was found to update.', + 'Error message if the Facebook Page was not found in the options.', + 'tribe-events-calendar-pro' + ); + tribe( Template_Modifications::class )->get_settings_message_template( $message, 'error' ); + + wp_die(); + } + + $this->set_page_access_by_id( $local_id, '', '' ); + + $message = _x( + 'Facebook Page access token cleared.', + 'Facebook Page access token is cleared message.', + 'tribe-events-calendar-pro' + ); + tribe( Template_Modifications::class )->get_settings_message_template( $message ); + + $page = $this->get_page_by_id( $local_id ); + tribe( Template_Modifications::class )->get_page_fields( $local_id, $page ); + + wp_die(); + } + + /** + * Add a Facebook Page fields using ajax. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param string $nonce The add action nonce to check. + * + * @return string An html message for success or failure when adding. + */ + public function add_page( $nonce ) { + if ( ! $this->check_ajax_nonce( Settings::$add_action, $nonce ) ) { + return false; + } + + $message = _x( + 'Facebook Page fields added.', + 'Facebook Page new fields are added message.', + 'tribe-events-calendar-pro' + ); + tribe( Template_Modifications::class )->get_settings_message_template( $message ); + + // Add empty fields template + tribe( Template_Modifications::class )->get_page_fields( + $this->get_unique_id(), + [ + 'name' => '', + 'page_id' => '', + 'access_token' => '', + 'expiration' => '', + ] + ); + + wp_die(); + } + + /** + * Delete a Facebook Page using ajax. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param string $nonce The delete action nonce to check. + * + * @return string An html message for success or failure when deleting. + */ + public function delete_page( $nonce ) { + if ( ! $this->check_ajax_nonce( Settings::$delete_action, $nonce ) ) { + return false; + } + + $local_id = tribe_get_request_var( 'local_id' ); + // If local id fail the request. + if ( empty( $local_id )) { + $error_message = _x( + 'The Facebook Page local id is missing and cannot be deleted.', + 'Facebook Page local id missing when trying to delete error message.', + 'tribe-events-calendar-pro' + ); + tribe( Template_Modifications::class )->get_settings_message_template( $error_message, 'error' ); + + wp_die(); + } + + $page_data = $this->get_page_by_id( $local_id ); + if ( empty( $page_data ) ) { + $message = _x( + 'No Facebook Page Found to Delete.', + 'Error message if the Facebook Page was not found in the options.', + 'tribe-events-calendar-pro' + ); + tribe( Template_Modifications::class )->get_settings_message_template( $message, 'error' ); + + wp_die(); + } + + $this->delete_page_by_id( $local_id ); + + $message = _x( + 'Facebook Page Deleted.', + 'Message when a Facebook Page is deleted from the options table.', + 'tribe-events-calendar-pro' + ); + tribe( Template_Modifications::class )->get_settings_message_template( $message ); + + wp_die(); + } + + /** + * Get a unique Id. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @return string A unique id to use as the local id. + */ + public function get_unique_id() { + return uniqid(); + } + + /** + * Check if a nonce is valid from a list of actions. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param string $nonce The nonce to check. + * + * @return bool Whether the nonce is valid or not. + */ + protected function is_valid_nonce( $nonce ) { + /** + * Filters a list of Facebook ajax nonce actions. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * @todo [plugin-consolidation] Merge VE into ECP, hook to be deprecated and renamed. + * + * @param array A map from the nonce actions to the corresponding handlers. + */ + $actions = apply_filters( 'tribe_events_virtual_meetings_facebook_actions', [] ); + + foreach ( $actions as $action => $callback ) { + if ( $this->check_ajax_nonce( $action, $nonce ) ) { + return true; + } + } + + return false; + } + + /** + * Get the message to content for no Facebook App ID. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @return array An array of the content for the template to display no Facebook App ID. + */ + public function get_no_facebook_app_id_message_content() { + return [ + 'path' => 'virtual-metabox/facebook/autodetect-message', + 'field' => [ + 'classes_wrap' => [ 'tribe-dependent', 'tribe-events-virtual-meetings-autodetect-facebook-video__message-wrap', 'error', 'inline' ], + 'message' => sprintf( + '%1$s %3$s %4$s', + esc_html_x( + 'No connected Facebook Pages found. You must', + 'The start of the message for smart url/autodetect when there is no Facebook App ID.', + 'tribe-events-calendar-pro' + ), + Settings::admin_url(), + esc_html_x( + 'connect a Facebook App', + 'The link text in message for smart url/autodetect when there is no Facebook App ID.', + 'tribe-events-calendar-pro' + ), + esc_html_x( + 'to your site before you can add a Facebook video to an event.', + 'The end of the message for smart url/autodetect when there is no Facebook App ID.', + 'tribe-events-calendar-pro' + ) + ), + 'wrap_attrs' => [ + 'data-depends' => '#tribe-events-virtual-autodetect-source', + 'data-condition' => Facebook_Meta::$autodetect_fb_video_id, + ], + ] + ]; + } +} diff --git a/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/Facebook/Settings.php b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/Facebook/Settings.php new file mode 100644 index 000000000..e4b674528 --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/Facebook/Settings.php @@ -0,0 +1,365 @@ +get_url( [ 'tab' => 'addons' ] ); + + return $admin_page_url; + } + + /** + * Adds the Facebook Live API fields to the ones in the Events > Settings > APIs tab. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param array $fields The current fields. + * + * @return array The fields, as updated by the settings. + */ + public function add_fields( array $fields = [] ) { + $live_wrapper_classes = tribe_get_classes( [ + 'tribe-settings-facebook-integration' => true, + 'tribe-common' => true, + ] ); + + $facebook_fields = [ + $this->get_prefix( 'facebook-integration-content-wrapper_open' ) => [ + 'type' => 'html', + 'html' => '
                          ' + ], + // Facebook Live. + $this->get_prefix( 'header' ) => [ + 'type' => 'html', + 'html' => $this->get_intro_text(), + ], + $this->get_prefix( 'wrapper_open' ) => [ + 'type' => 'html', + 'html' => '
                          ', + ], + $this->get_prefix( 'app_open' ) => [ + 'type' => 'html', + 'html' => '
                          ', + ], + $this->get_prefix( 'app_id' ) => [ + 'type' => 'text', + 'label' => esc_html__( 'Facebook App ID', 'tribe-events-calendar-pro' ), + 'placeholder' => esc_html_x( 'Enter your Facebook App ID.', 'The Facebook App ID to use for Facebook Live.', 'tribe-events-calendar-pro' ), + 'validation_type' => 'html', + ], + $this->get_prefix( 'app_secret' ) => [ + 'type' => 'text', + 'label' => esc_html__( 'Facebook App Secret', 'tribe-events-calendar-pro' ), + 'placeholder' => esc_html_x( 'Enter your Facebook App Secret.', 'The Facebook App secret key to use for Facebook Live.', 'tribe-events-calendar-pro' ), + 'validation_type' => 'html', + ], + $this->get_prefix( 'app_close' ) => [ + 'type' => 'html', + 'html' => '
                          ', + ], + $this->get_prefix( 'find_app_id' ) => [ + 'type' => 'html', + 'html' => $this->get_find_app_id(), + ], + $this->get_prefix( 'authorize' ) => [ + 'type' => 'html', + 'html' => $this->get_authorize_fields(), + ], + $this->get_prefix( 'wrapper_close' ) => [ + 'type' => 'html', + 'html' => '
                          ', + ], + $this->get_prefix( 'integration-content-wrapper_close' ) => [ + 'type' => 'html', + 'html' => '', + ], + $this->get_prefix( 'video-content-wrapper_open' ) => [ + 'type' => 'html', + 'html' => '
                          ', + ], + $this->get_prefix( 'header-video' ) => [ + 'type' => 'html', + 'html' => '

                          ' . esc_html_x( 'Facebook Video', 'The label for the Facebook Video settings.', 'tribe-events-calendar-pro' ) . '

                          ', + ], + $this->get_prefix( 'disable_fb_js_sdk' ) => [ + 'type' => 'checkbox_bool', + 'label' => esc_html_x( 'Disable Facebook JS SDK for Facebook Video', 'The label to disable Facebook JS sdk.', 'tribe-events-calendar-pro' ), + 'tooltip' => esc_html_x( 'Disable the Facebook JS SDK script for single events on the frontend. This may be necessary to prevent conflicts with other Facebook plugins or scripts.', 'The tooltip for the option to disable the Facebook JS SDK.', 'tribe-events-calendar-pro' ), + 'default' => false, + 'validation_type' => 'boolean', + ], + $this->get_prefix( 'video-content-wrapper_close' ) => [ + 'type' => 'html', + 'html' => '
                          ', + ], + ]; + + /** + * Filters the Facebook Live API settings shown to the user in the Events > Settings > APIs screen. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * @todo [plugin-consolidation] Merge VE into ECP, hook to be deprecated and renamed. + * + * @param array A map of the Facebook Live API fields that will be printed on the page. + * @param Settings $this This Settings instance. + */ + $facebook_fields = apply_filters( 'tribe_events_virtual_meetings_facebook_live_settings_fields', $facebook_fields, $this ); + + // Insert the link after the other APIs and before the Google Maps API ones. + $fields = Common::array_insert_before_key( 'gmaps-js-api-start', $fields, $facebook_fields ); + + return $fields; + } + + /** + * Get the prefix for the settings. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param string $key The option key to add the prefix to. + * + * @return string The option key with prefix added. + */ + public static function get_prefix( $key ) { + return static::$option_prefix . $key; + } + + /** + * Get the prefix for the settings. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param string $key The option key to add the prefix to. + * @param mixed $default The default option for the key. + * + * @return mixed The options value or default value. + */ + public static function get_option( $key, $default = '' ) { + return Manager::get_option( static::get_prefix( $key ), $default ); + } + + /** + * Provides the introductory text to the set up and configuration of the Facebook API integration. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @return string The introductory text to the the set up and configuration of the Facebook API integration. + */ + protected function get_intro_text() { + return tribe( Template_Modifications::class )->get_intro_text(); + } + + /** + * The information message to help get the Facebook app id and secret. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @return string The information text to help get the Facebook app id and secret. + */ + protected function get_find_app_id() { + return tribe( Template_Modifications::class )->get_find_app_id(); + } + + /** + * Get the Page authorization fields. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @return string The HTML fields. + */ + protected function get_authorize_fields() { + $app_id = tribe_get_option( $this->get_prefix( 'app_id' ), '' ); + $app_secret = tribe_get_option( $this->get_prefix( 'app_secret' ), '' ); + + // If no app id or app secret add a button so they can be saved. + if( ! $app_id || ! $app_secret ) { + return tribe( Template_Modifications::class )->get_save_button(); + } + + return tribe( Template_Modifications::class )->get_page_authorize_fields(); + } + + /** + * The message template to display on the integrations. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param string $message The message to display. + * @param string $type The type of message, either standard or error. + * + * @return string The message with html to display + */ + public function get_settings_message_template( $message, $type = 'standard' ) { + return tribe( Template_Modifications::class )->get_settings_message_template( $message, $type ); + } + + /** + * Handles the request to save the Facebook app id and secret. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param string|null $nonce The nonce that should accompany the request. + * + * @return bool Whether the request was handled or not. + */ + public function save_app( $nonce = null ) { + if ( ! $this->check_ajax_nonce( static::$save_app_action, $nonce ) ) { + return false; + } + + $facebook_app_id = tribe_get_request_var( 'facebook_app_id' ); + $existing_facebook_app_id = tribe_get_option( $this->get_prefix( 'app_id' ) ); + // If app id found, fail the request. + if ( empty( $facebook_app_id ) ) { + $error_message = _x( + 'The Facebook App ID field is missing.', + 'Facebook App ID is missing error message.', + 'tribe-events-calendar-pro' + ); + $this->get_settings_message_template( $error_message, 'error' ); + + wp_die(); + } + + $facebook_app_secret = tribe_get_request_var( 'facebook_app_secret' ); + $existing_facebook_app_secret = tribe_get_option( $this->get_prefix( 'app_secret' ) ); + // If no app secret found, fail the request. + if ( empty( $facebook_app_secret ) ) { + $error_message = _x( + 'The Facebook App Secret field is missing.', + 'Facebook App Secret is missing error message.', + 'tribe-events-calendar-pro' + ); + $this->get_settings_message_template( $error_message, 'error' ); + + wp_die(); + } + + // Save the App ID and Secret if different. + // Set to true by default and if the save fails it will be false. + $success_id = $success_secret = true; + if ( $existing_facebook_app_id !== $facebook_app_id ) { + $success_id = tribe_update_option( $this->get_prefix( 'app_id' ), $facebook_app_id ); + } + if ( $existing_facebook_app_secret !== $facebook_app_secret ) { + $success_secret = tribe_update_option( $this->get_prefix( 'app_secret' ), $facebook_app_secret ); + } + + if ( $success_id && $success_secret ){ + $message = _x( + 'The Facebook App was successfully saved.', + 'The message after a Facebook app id and secret have been saved.', + 'tribe-events-calendar-pro' + ); + + // Send back the success message and the page authorize fields. + $this->get_settings_message_template( $message ); + echo tribe( Template_Modifications::class )->get_page_authorize_fields(); + + wp_die(); + } + + $error_message = _x( + 'The Facebook App was not saved.', + 'The message after a Facebook app id and secret did not save successfully.', + 'tribe-events-calendar-pro' + ); + $this->get_settings_message_template( $error_message, 'error' ); + + wp_die(); + } +} diff --git a/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/Facebook/Template_Modifications.php b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/Facebook/Template_Modifications.php new file mode 100644 index 000000000..968271476 --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/Facebook/Template_Modifications.php @@ -0,0 +1,291 @@ +template = $template; + $this->admin_template = $admin_template; + $this->settings = $settings; + $this->api = $api; + $this->url = $url; + $this->base_modifications = $base_modifications; + } + + /** + * Get intro text for Facebook API UI + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @return string HTML for the intro text. + */ + public function get_intro_text() { + $message = get_transient( $this->settings->get_prefix( 'account_message' ) ); + if ( $message ) { + delete_transient( $this->settings->get_prefix( 'account_message' ) ); + } + + return $this->admin_template->template( 'facebook/intro-text', [ 'message' => $message, ], false ); + } + + /** + * Get information message to help get the Facebook app id and secret. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @return string HTML for the find Facebook app id and secret text. + */ + public function get_find_app_id() { + return $this->admin_template->template( 'facebook/find-app-id', [], false ); + } + + /** + * Adds button to save the Facebook app id and secret. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @return string HTML button to save the Facebook app id and secret. + */ + public function get_save_button() { + return $this->admin_template->template( 'facebook/save', [ 'url' => $this->url ], false ); + } + + /** + * Adds Facebook Live Page authorize fields. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @return string HTML for the authorize fields. + */ + public function get_page_authorize_fields() { + return $this->admin_template->template( 'facebook/authorize-fields', [ 'api' => $this->api, 'url' => $this->url ], false ); + } + + /** + * Get the Facebook Page's admin fields. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param int $local_id The unique id used to save the page data. + * @param array $page The page data. + * + * @return string The Facebook Page's admin fields html. + */ + public function get_page_fields( $local_id, $page ) { + return $this->admin_template->template( 'facebook/page/fields', [ + 'local_id' => $local_id, + 'page' => $page, + 'url' => $this->url + ] ); + } + + /** + * The message template to display on setting changes. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param string $message The message to display. + * @param string $type The type of message, either updated or error. + * + * @return string The message with html to display. + */ + public function get_settings_message_template( $message, $type = 'updated' ) { + return $this->admin_template->template( 'components/message', [ + 'message' => $message, + 'type' => $type, + ] ); + } + + /** + * Adds Facebook video embed to a single event. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @return string The embed html or empty string when it should not display. + */ + public function add_facebook_video_embed() { + // Don't show on password protected posts. + if ( post_password_required() ) { + return; + } + + $event = tribe_get_event( get_the_ID() ); + if ( ! $event instanceof \WP_Post ) { + return; + } + + // Only embed when the source is video. + if ( + ! isset( $event->virtual_video_source ) || + Facebook_Meta::$video_source_fb_id !== $event->virtual_video_source + ) { + return; + } + + // Hide on a past event. + if ( tribe_is_past_event( $event ) ) { + return; + } + + // Don't show if requires log in and user isn't logged in. + if ( ! $this->base_modifications->should_show_virtual_content( $event ) ) { + return; + } + + if ( + ! $event->virtual_embed_video || + ! $event->virtual_should_show_embed + ) { + return; + } + + if ( ! $event->virtual_meeting_is_live ) { + $context = [ + 'event' => $event, + 'offline' => esc_html_x( + 'The Live Stream is Offline.', + 'Facebook offline message', + 'tribe-events-calendar-pro' + ), + ]; + $this->template->template( 'facebook/single/facebook-embed-offline', $context ); + + return; + } + + if ( ! $event->virtual_meeting_embed ) { + return; + } + + $context = [ + 'event' => $event, + 'embed_classes' => [], + 'embed' => $event->virtual_meeting_embed, + ]; + + $this->template->template( 'facebook/single/facebook-embed', $context ); + } + + /** + * Add a preview video of Facebook video to autodetect. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param WP_Post $event The event post object, as decorated by the `tribe_get_event` function. + * + * @return string The video player html, missing FB app id message, or an empty string. + */ + public function autodetect_facebook_video_preview( $event ) { + if ( Facebook_Meta::$autodetect_fb_video_id !== $event->virtual_autodetect_source ) { + return ''; + } + + // If no app id return no Facebook App ID message. + if( ! tribe_get_option( $this->settings->get_prefix( 'app_id' ), '' ) ) { + $no_msg_fields = $this->api->get_no_facebook_app_id_message_content(); + // Unset the dependency fields as we are reusing template data. + unset( $no_msg_fields['field']['classes_wrap'][0] ); + unset( $no_msg_fields['field']['wrap_attrs'] ); + + return $this->admin_template->template( $no_msg_fields['path'], $no_msg_fields['field'] ); + } + + // Set for the preview video to always show in the admin. + $event->virtual_embed_video = $event->virtual_should_show_embed = true; + return $this->template->template( 'facebook/single/facebook-video-embed', [ 'event' => $event ] ); + } +} diff --git a/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/Facebook/Url.php b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/Facebook/Url.php new file mode 100644 index 000000000..644927c89 --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/Facebook/Url.php @@ -0,0 +1,127 @@ + 'ev_facebook_settings_save_app', + Plugin::$request_slug => $nonce, + '_ajax_nonce' => $nonce, + ], admin_url( 'admin-ajax.php' ) ); + } + + /** + * Returns the URL that should be used to add a Facebook Page. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @return string The URL to add a page. + */ + public function add_link() { + $nonce = wp_create_nonce( Settings::$add_action ); + + return add_query_arg( [ + 'action' => 'ev_facebook_settings_add_page', + Plugin::$request_slug => $nonce, + '_ajax_nonce' => $nonce, + ], admin_url( 'admin-ajax.php' ) ); + } + + /** + * Returns the URL that should be used to delete a Facebook Page by local id.. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param string $local_id The local id of the Facebook Page Id to delete. + * + * @return string The URL to delete a page. + */ + public function to_delete_page_link( $local_id ) { + $nonce = wp_create_nonce( Settings::$delete_action ); + + return add_query_arg( [ + 'action' => 'ev_facebook_settings_delete_page', + Plugin::$request_slug => $nonce, + 'local_id' => $local_id, + '_ajax_nonce' => $nonce, + ], admin_url( 'admin-ajax.php' ) ); + } + + /** + * Returns the URL that should be used to save a Facebook Page. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @return string The URL to save a page. + */ + public function to_save_page_link() { + $nonce = wp_create_nonce( Settings::$save_action ); + + return add_query_arg( [ + 'action' => 'ev_facebook_settings_save_page', + Plugin::$request_slug => $nonce, + '_ajax_nonce' => $nonce, + ], admin_url( 'admin-ajax.php' ) ); + } + + /** + * Returns the URL that should be used to save a Facebook Page's Access Token. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @return string The URL to save a page's access token. + */ + public function to_save_access_page_link() { + $nonce = wp_create_nonce( Settings::$save_access_action ); + + return add_query_arg( [ + 'action' => 'ev_facebook_settings_save_access_page', + Plugin::$request_slug => $nonce, + '_ajax_nonce' => $nonce, + ], admin_url( 'admin-ajax.php' ) ); + } + + /** + * Returns the URL that should be used to clear a Facebook Page's Access Token. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @return string The URL to clear a page's access token. + */ + public function to_clear_access_page_link() { + $nonce = wp_create_nonce( Settings::$clear_access_action ); + + return add_query_arg( [ + 'action' => 'ev_facebook_settings_clear_access_token', + Plugin::$request_slug => $nonce, + '_ajax_nonce' => $nonce, + ], admin_url( 'admin-ajax.php' ) ); + } +} diff --git a/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/Facebook/Video_API.php b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/Facebook/Video_API.php new file mode 100644 index 000000000..d032bd684 --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/Facebook/Video_API.php @@ -0,0 +1,542 @@ + $this->access_token, + ], $this->get_videos_url_with_page_id( $this->page_id ) ); + } + + /** + * Get the Facebook video api url for the permalink with a access token. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param int $video_id The Facebook video id. + * + * @return string The url to access the Facebook video api to get the video permalink. + */ + protected function get_video_url_permalink_with_access_token( $video_id ) { + return add_query_arg( [ + 'access_token' => $this->access_token, + ], $this->get_video_url_permalink_with_video_id( $video_id ) ); + } + + /** + * Makes a GET request to the Facebook API. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param string $url The URL to make the request to. + * @param array $args An array of arguments for the request. + * @param int $expect_code The expected response code, if not met, then the request will be considered a failure. + * Set to `null` to avoid checking the status code. + * + * @return Api_Response An API response to act upon the response result. + */ + public function get( $url, array $args, $expect_code = self::GET_RESPONSE_CODE ) { + $args['method'] = 'GET'; + + return $this->request( $url, $args, $expect_code ); + } + + /** + * Makes a request to the Facebook API. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param string $url The URL to make the request to. + * @param array $args An array of arguments for the request. Should include 'method' (POST/GET/PATCH, etc). + * @param int $expect_code The expected response code, if not met, then the request will be considered a failure. + * Set to `null` to avoid checking the status code. + * + * @return Api_Response An API response to act upon the response result. + */ + private function request( $url, array $args, $expect_code = self::GET_RESPONSE_CODE ) { + /** + * Filters the response for a Facebook API request to prevent the response from actually happening. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * @todo [plugin-consolidation] Merge VE into ECP, hook to be deprecated and renamed. + * + * @param null|Api_Response|\WP_Error|mixed $response The response that will be returned. A non `null` value + * here will short-circuit the response. + * @param string $url The full URL this request is being made to. + * @param array $args The request arguments. + * @param int $expect_code The HTTP response code expected for this request. + */ + $response = apply_filters( 'tribe_events_virtual_meetings_facebook_api_post_response', null, $url, $args, $expect_code ); + + if ( null !== $response ) { + return Api_Response::ensure_response( $response ); + } + + $response = wp_remote_request( $url, $args ); + + if ( $response instanceof \WP_Error ) { + $error_message = $response->get_error_message(); + + do_action( + 'tribe_log', + 'error', + __CLASS__, + [ + 'action' => __METHOD__, + 'code' => $response->get_error_code(), + 'message' => $error_message, + 'method' => $args['method'], + ] + ); + + $user_message = sprintf( + // translators: the placeholder is for the error as returned from Facebook API. + _x( + 'Error while trying to communicate with Facebook API: %1$s. Please try again in a minute.', + 'The prefix of a message reporting a Facebook API communication error, the placeholder is for the error.', + 'tribe-events-calendar-pro' + ), + $error_message + ); + tribe_transient_notice( + 'events-virtual-facebook-request-error', + '

                          ' . esc_html( $user_message ) . '

                          ', + [ 'type' => 'error' ], + 60 + ); + + return new Api_Response( $response ); + } + + $response_code = wp_remote_retrieve_response_code( $response ); + + if ( null !== $expect_code && $expect_code !== $response_code ) { + $data = [ + 'action' => __METHOD__, + 'message' => 'Response code is not the expected one.', + 'expected_code' => $expect_code, + 'response_code' => $response_code, + 'api_method' => $args['method'], + ]; + do_action( 'tribe_log', 'error', __CLASS__, $data ); + + $user_message = sprintf( + // translators: the placeholders are, respectively, for the expected and actual response codes. + _x( + 'Facebook API response is not the expected one, expected %1$s, received %2$s. Please, try again in a minute.', + 'The message reporting a Facebook API unexpected response code, placeholders are the codes.', + 'tribe-events-calendar-pro' + ), + $expect_code, + $response_code + ); + tribe_transient_notice( + 'events-virtual-facebook-response-error', + '

                          ' . esc_html( $user_message ) . '

                          ', + [ 'type' => 'error' ], + 60 + ); + + return new Api_Response( new \WP_Error( $response_code, 'Response code is not the expected one.', $data ) ); + } + + return new Api_Response( $response ); + } + + /** + * Get the Facebook live stream information by local id. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param string $local_id The local Facebook Page id to get and load for use with the API. + * + * @return array An array of live stream information. + */ + public function get_live_stream( $local_id ) { + $video = [ + 'status' => false, + 'video_id' => '', + 'page_url' => '', + 'permalink_url' => '', + 'embed_code' => '', + ]; + + $loaded = $this->load_page_by_id( $local_id ); + if ( true !== $loaded ) { + return $video; + } + + // Set the page url. + $video['page_url'] = esc_url( $this->get_page_url_with_page_id( $this->page_id ) ); + + $cache = tribe( 'cache' ); + $cache_id = 'events_virtual_meetings_facebook_' . $local_id; + $save_video = $cache->get( $cache_id ); + if ( ! empty( $save_video ) ) { + return $save_video; + } + + $this->get( + $this->get_video_api_url_with_access_token(), + [] + )->then( + function ( array $response ) use ( &$video ) { + + $body = json_decode( wp_remote_retrieve_body( $response ) ); + if ( empty( $body ) ) { + do_action( 'tribe_log', 'error', __CLASS__, [ + 'action' => __METHOD__, + 'message' => 'Facebook API response is missing the required information to display the live stream.', + 'response' => $body, + ] ); + + return false; + } + + if ( ! isset( $body->data[0]->id ) ) { + return false; + } + + $live_video = $body->data[0]; + $fb_permalink = $this->get_live_stream_permalink( $live_video->id ); + + $video = [ + 'status' => esc_attr( $live_video->status ), + 'video_id' => esc_attr( $live_video->id ), + 'page_url' => esc_url( $this->get_page_url_with_page_id( $this->page_id ) ), + 'permalink_url' => esc_url( $fb_permalink ), + // Encode the embed to store in the cache. + 'embed_code' => wp_json_encode( $live_video->embed_html ), + ]; + + return true; + } + )->or_catch( + function ( \WP_Error $error ) { + do_action( 'tribe_log', 'error', __CLASS__, [ + 'action' => __METHOD__, + 'code' => $error->get_error_code(), + 'message' => $error->get_error_message(), + ] ); + } + ); + + // Cache for 30 seconds, due to Facebook not having a preview video state. + $expiration = MINUTE_IN_SECONDS * .5; + $cache->set( $cache_id, $video, $expiration ); + + return $video; + } + + /** + * Get the video live stream permalink. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param int $video_id The Facebook video id. + * + * @return string The video permalink or empty string if not found. + */ + public function get_live_stream_permalink( $video_id ) { + $fb_permalink = ''; + + $this->get( + $this->get_video_url_permalink_with_access_token( $video_id ), + [] + )->then( + function ( array $response ) use ( &$fb_permalink ) { + + $body = json_decode( wp_remote_retrieve_body( $response ) ); + if ( empty( $body ) ) { + do_action( 'tribe_log', 'error', __CLASS__, [ + 'action' => __METHOD__, + 'message' => 'Facebook API response is missing the required information to get the video permalink.', + 'response' => $body, + ] ); + + return false; + } + + if ( empty( $body->permalink_url ) ) { + return false; + } + + $fb_permalink = 'https://www.facebook.com' . $body->permalink_url; + + return true; + } + )->or_catch( + function ( \WP_Error $error ) { + do_action( 'tribe_log', 'error', __CLASS__, [ + 'action' => __METHOD__, + 'code' => $error->get_error_code(), + 'message' => $error->get_error_message(), + ] ); + } + ); + + return $fb_permalink; + } + + /** + * Load a specific page by the id. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param string $local_id The local Facebook Page id to get and load for use with the API. + * + * @return bool|string Whether the page is loaded or an error code. False or code means the page did not load. + */ + abstract function load_page_by_id( $local_id ); + + /** + * Filter the autodetect source to detect if a Facebook video link. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param array $autodetect An array of the autodetect defaults. + * @param string $video_url The url to use to autodetect the video source. + * @param string $video_source The optional name of the video source to attempt to autodetect. + * @param \WP_Post|null $event The event post object, as decorated by the `tribe_get_event` function. + * @param array $ajax_data An array of extra values that were sent by the ajax script. + * + * @return array An array of the autodetect results. + */ + public function filter_virtual_autodetect_facebook_video( $autodetect, $video_url, $video_source, $event, $ajax_data ) { + if ( $autodetect['detected'] || $autodetect['guess'] ) { + return $autodetect; + } + + // All video sources are checked on the first autodetect run, only prevent checking of this source if it is set. + if ( ! empty( $video_source ) && Facebook_Meta::$autodetect_fb_video_id !== $video_source ) { + return $autodetect; + } + + // If no video url found, fail the request. + if ( empty( $video_url ) ) { + $autodetect['message'] = _x( 'No video found. Please enter a Facebook video URL or change the selected source.', 'Facebook video autodetect missing video url error message.', 'tribe-events-calendar-pro' ); + + return $autodetect; + } + + // Detect if the url is a Facebook video url. + preg_match( $this->get_facebook_video_regex(), $video_url, $matches ); + $facebook_url = isset( $matches[1] ) ? $matches[1] : false; + if ( ! $facebook_url ) { + $error_message = _x( 'This is not a valid Facebook video URL. Please recheck the URL and try again.', 'Invalid Facebook video url for autodetect error message.', 'tribe-events-calendar-pro' ); + $autodetect['message'] = $error_message; + + return $autodetect; + } + + $autodetect['guess'] = Facebook_Meta::$autodetect_fb_video_id; + + // Set Facebook video as the autodetect source and setup success data and send back to smart url ui. + update_post_meta( $event->ID, Virtual_Events_Meta::$key_autodetect_source, Facebook_Meta::$autodetect_fb_video_id ); + $autodetect['detected'] = true; + $autodetect['autodetect-source'] = Facebook_Meta::$autodetect_fb_video_id; + $autodetect['message'] = _x( "Success! Save your event to add this video.", 'Facebook video valid success message.', 'tribe-events-calendar-pro' ); + + // Preview video setup. + $event->virtual_url = filter_var( $video_url, FILTER_VALIDATE_URL ); + // Set for the preview video to always show. + $event->virtual_embed_video = $event->virtual_should_show_embed = true; + $event->virtual_autodetect_source = Facebook_Meta::$autodetect_fb_video_id; + $autodetect['preview-html'] = tribe( Template::class )->template( 'facebook/single/facebook-video-embed', [ 'event' => $event ] ); + + return $autodetect; + } +} diff --git a/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/Facebook_Provider.php b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/Facebook_Provider.php new file mode 100644 index 000000000..5fc93e866 --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/Facebook_Provider.php @@ -0,0 +1,614 @@ +container->singleton( 'events-virtual.meetings.facebook', self::class ); + $this->container->singleton( self::class, self::class ); + + if ( ! $this->is_enabled() ) { + return; + } + + $this->add_actions(); + $this->hook_templates(); + $this->add_filters(); + $this->enqueue_admin_assets(); + $this->enqueue_frontend_assets(); + + /** + * Allows filtering of the capability required to use the Facebook integration ajax features. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * @todo [plugin-consolidation] Merge VE into ECP, hook to be deprecated and renamed. + * + * @param string $ajax_capability The capability required to use the ajax features, default manage_options. + */ + $ajax_capability = apply_filters( 'tribe_events_virtual_facebook_admin_ajax_capability', 'manage_options' ); + + $this->route_admin_by_nonce( $this->admin_routes(), $ajax_capability ); + } + + /** + * Hooks the actions required for the Facebook Live API integration to work correctly. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + */ + protected function add_actions() { + add_action( 'tribe_events_virtual_add_event_properties', [ $this, 'add_event_properties' ] ); + add_action( 'tribe_events_virtual_metabox_save', [ $this, 'on_metabox_save' ], 10, 2 ); + } + + /** + * Hooks the actions required for the Facebook Live API integration to work correctly. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + */ + protected function hook_templates() { + // Metabox. + add_action( + 'tribe_template_entry_point:events-pro/admin-views/virtual-metabox/container/video-source:video_sources', + [ $this, 'render_classic_setup_options' ], + 10, + 3 + ); + + // Single non-block Event FE. + add_action( + 'tribe_events_single_event_after_the_content', + [ $this, 'action_add_event_single_facebook_embed' ], + 15, + 0 + ); + + // Single Event Block. + add_action( 'wp', [ $this, 'hook_block_template' ] ); + } + + /** + * Hooks the filters required for the Facebook Live API integration to work correctly. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + */ + protected function add_filters() { + add_filter( 'tec_settings_gmaps_js_api_start', [ $this, 'filter_addons_tab_fields' ], 20 ); + add_filter( 'tribe_events_virtual_video_sources', [ $this, 'add_video_source' ], 10, 2 ); + add_filter( 'tec_events_virtual_export_fields', [ $this, 'filter_facebook_source_google_calendar_parameters' ], 10, 5 ); + add_filter( 'tec_events_virtual_export_fields', [ $this, 'filter_facebook_source_ical_feed_items' ], 10, 5 ); + add_filter( 'tec_events_virtual_autodetect_video_sources', [ $this, 'add_autodetect_source' ], 20, 3 ); + add_filter( 'tec_events_virtual_video_source_autodetect_field_all', [ $this, 'filter_virtual_autodetect_field_accounts' ], 20, 5 ); + add_filter( 'tec_events_virtual_video_source_autodetect_field_zoom-accounts', [ $this, 'filter_virtual_autodetect_field_accounts' ], 20, 5 ); + add_filter( 'tribe_rest_event_data', [ $this, 'attach_rest_properties' ], 10, 2 ); + + // Filter event object properties to add Facebook Live Status + add_filter( 'tribe_get_event_after', [ $this, 'add_dynamic_properties' ], 15 ); + + // Filter the ticket email virtual url. + add_filter( 'tribe_events_virtual_ticket_email_url', [ $this, 'filter_ticket_email_url' ], 15, 2 ); + add_filter( 'tec_events_virtual_ticket_email_url', [ $this, 'filter_ticket_email_url' ], 15, 2 ); + add_action( 'tec_virtual_automator_map_event_details', [ $this, 'add_event_automator_properties' ], 10, 2 ); + } + + /** + * Filters the object returned by the `tribe_get_event` function to add to it properties related to Facebook. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param \WP_Post $event The events post object to be modified. + * + * @return \WP_Post The original event object decorated with properties related to virtual events. + */ + public function add_event_properties( $event ) { + if ( ! $event instanceof \WP_Post ) { + // We should only act on event posts, else bail. + return $event; + } + + return $this->container->make( Facebook_Meta::class )->add_event_properties( $event ); + } + + /** + * Filters the array returned for the event details map in the Event Automator integration. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param array $next_event An array of event details. + * @param WP_Post $event An instance of the event WP_Post object. + * + * @return array An array of event details. + */ + public function add_event_automator_properties( array $next_event, WP_Post $event ) { + if ( ! $event instanceof WP_Post ) { + return $next_event; + } + + return $this->container->make( Facebook_Meta::class )->add_event_automator_properties( $next_event, $event ); + } + + /** + * Handles the save operations of the Classic Editor VE Metabox. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param int $post_id The post ID of the event currently being saved. + * @param array $data The data currently being saved. + */ + public function on_metabox_save( $post_id, $data ) { + $post = get_post( $post_id ); + if ( ! $post instanceof \WP_Post && is_array( $data ) ) { + return; + } + + $this->container->make( Facebook_Meta::class )->save_metabox_data( $post_id, $data ); + } + + /** + * Renders the Facebook Live Integration Fields. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param string $file The path to the template file, unused. + * @param string $entry_point The name of the template entry point, unused. + * @param \Tribe__Template $template The current template instance. + */ + public function render_classic_setup_options( $file, $entry_point, \Tribe__Template $template ) { + $this->container->make( Classic_Editor::class ) + ->render_setup_options( $template->get( 'post' ) ); + } + + /** + * Include the Facebook embed for event single. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + */ + public function action_add_event_single_facebook_embed() { + $this->container->make( Template_Modifications::class ) + ->add_facebook_video_embed(); + } + + /** + * Filters the fields in the Events > Settings > APIs tab to add the ones provided by the extension. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param array $fields The current fields. + * + * @return array The fields, as updated by the settings. + */ + public function filter_addons_tab_fields( $fields ) { + if ( ! is_array( $fields ) ) { + return $fields; + } + + return tribe( Facebook\Settings::class )->add_fields( $fields ); + } + + /** + * Add the Facebook Live Video Source. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param array An array of video sources. + * @param \WP_Post $post The current event post object, as decorated by the `tribe_get_event` function. + * + * @return array An array of video sources. + */ + public function add_video_source( $video_sources, $post ) { + + $video_sources[] = [ + 'text' => _x( 'Facebook Live', 'The name of the video source.', 'tribe-events-calendar-pro' ), + 'id' => Facebook_Meta::$video_source_fb_id, + 'value' => Facebook_Meta::$video_source_fb_id, + 'selected' => Facebook_Meta::$video_source_fb_id === $post->virtual_video_source, + ]; + + return $video_sources; + } + + /** + * Filter the Google Calendar export fields for a Facebook Live source event. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param array $fields The various file format components for this specific event. + * @param \WP_Post $event The WP_Post of this event. + * @param string $key_name The name of the array key to modify. + * @param string $type The name of the export type. + * @param boolean $should_show Whether to modify the export fields for the current user, default to false. + * + * @return array Google Calendar Link params. + */ + public function filter_facebook_source_google_calendar_parameters( $fields, $event, $key_name, $type, $should_show ) { + + return $this->container->make( Facebook_Event_Export::class )->modify_video_source_export_output( $fields, $event, $key_name, $type, $should_show ); + } + + /** + * Filter the iCal export fields for a Facebook Live source event. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param array $fields The various file format components for this specific event. + * @param \WP_Post $event The WP_Post of this event. + * @param string $key_name The name of the array key to modify. + * @param string $type The name of the export type. + * @param boolean $should_show Whether to modify the export fields for the current user, default to false. + * + * @return array The various iCal file format components of this specific event item. + */ + public function filter_facebook_source_ical_feed_items( $fields, $event, $key_name, $type, $should_show ) { + return $this->container->make( Facebook_Event_Export::class )->modify_video_source_export_output( $fields, $event, $key_name, $type, $should_show ); + } + + /** + * Add Facebook Video to Autodetect Source. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param array An array of autodetect sources. + * @param string $autodetect_source The ID of the current selected video source. + * @param \WP_Post $post The current event post object, as decorated by the `tribe_get_event` function. + * + * @return array An array of video sources. + */ + public function add_autodetect_source( $autodetect_sources, $autodetect_source, $post ) { + + $autodetect_sources[] = [ + 'text' => _x( 'Facebook Video', 'The name of the autodetect source.', 'tribe-events-calendar-pro' ), + 'id' => Facebook_Meta::$autodetect_fb_video_id, + 'value' => Facebook_Meta::$autodetect_fb_video_id, + 'selected' => Facebook_Meta::$autodetect_fb_video_id === $autodetect_source, + ]; + + return $autodetect_sources; + } + + /** + * Add the Facebook video message field to the autodetect fields. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param array $autodetect An array of the autodetect resukts. + * @param string $video_url The url to use to autodetect the video source. + * @param string $autodetect_source The optional name of the video source to attempt to autodetect. + * @param \WP_Post|null $event The event post object, as decorated by the `tribe_get_event` function. + * @param array $ajax_data An array of extra values that were sent by the ajax script. + * + * @return array An array of the autodetect results. + */ + public function filter_virtual_autodetect_field_accounts( $autodetect_fields, $video_url, $autodetect_source, $event, $ajax_data ) { + return $this->container->make( Classic_Editor::class ) + ->classic_autodetect_video_source_message( $autodetect_fields, $video_url, $autodetect_source, $event, $ajax_data ); + } + + /** + * Add information about the Facebook live stream if available via the REST Api. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param array $data The current data of the event. + * @param \WP_Post $event The event being updated. + * + * @return array An array with the data of the event on the endpoint. + */ + public function attach_rest_properties( array $data, \WP_Post $event ) { + return tribe( Facebook_Meta::class )->attach_rest_properties( $data, $event ); + } + + /** + * Adds dynamic, time-related, properties to the event object. + * + * This method deals with properties we set, for convenience, on the event object that should not + * be cached as they are time-dependent; i.e. the time the properties are computed at matters and + * caching their values would be incorrect. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param mixed|WP_Post $post The event post object, as read from the cache, if any. + * + * @return WP_Post The decorated event post object; its dynamic and time-dependent properties correctly set up. + */ + public function add_dynamic_properties( $post ) { + if ( ! $post instanceof WP_Post ) { + // We should only act on event posts, else bail. + return $post; + } + + return $this->container->make( Facebook_Meta::class )->add_dynamic_properties( $post ); + } + + /** + * Filter the ticket email url. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param string $virtual_url The virtual url for the ticket and rsvp emails. + * @param WP_Post $event The event post object with properties added by the `tribe_get_event` function. + * + * @return string The Facebook Live virtual url for the ticket and rsvp emails. + */ + public function filter_ticket_email_url( $virtual_url, WP_Post $event ) { + return $this->container->make( Facebook_Meta::class )->filter_ticket_email_url( $virtual_url, $event ); + } + + /** + * Enqueues the assets required by the integration. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + */ + protected function enqueue_admin_assets() { + $admin_helpers = Admin_Helpers::instance(); + + tribe_asset( + tribe( Plugin::class ), + 'tec-virtual-fb-sdk-admin', + 'https://connect.facebook.net/en_US/sdk.js', + [], + 'admin_enqueue_scripts', + [ + 'conditionals' => [ + 'operator' => 'OR', + [ $admin_helpers, 'is_screen' ], + ], + ] + ); + + tribe_asset( + tribe( Plugin::class ), + 'tribe-events-virtual-facebook-settings-js', + 'events-virtual-facebook-settings.js', + [ 'jquery' ], + 'admin_enqueue_scripts', + [ + 'conditionals' => [ + 'operator' => 'OR', + [ $admin_helpers, 'is_screen' ], + ], + 'localize' => [ + 'name' => 'tribe_events_virtual_facebook_settings_strings', + 'data' => [ + 'localIdFailure' => static::get_local_id_failure_text(), + 'pageWrapFailure' => static::get_facebook_page_wrap_failure_text(), + 'connectionFailure' => static::get_facebook_connection_failure_text(), + 'userTokenFailure' => static::get_facebook_user_extended_token_failure_text(), + 'pageTokenFailure' => static::get_facebook_page_token_failure_text(), + 'pageDeleteConfirmation' => static::get_facebook_page_delete_confirmation_text(), + 'pageClearAccessConfirmation' => static::get_facebook_page_clear_access_confirmation_text(), + 'facebookAppId' => static::get_facebook_app_id(), + ], + ], + ] + ); + } + + /** + * Enqueues the frontend assets required by the integration. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + */ + protected function enqueue_frontend_assets() { + // If disable setting is checked, do not add the asset. + if ( tribe_get_option( tribe( Settings::class )->get_prefix( 'disable_fb_js_sdk' ), false ) ) { + return; + } + + tribe_asset( + tribe( Plugin::class ), + 'tec-virtual-fb-sdk', + 'https://connect.facebook.net/en_US/sdk.js', + [], + 'wp_enqueue_scripts', + [ + 'priority' => 1, + 'conditionals' => [ tribe( Assets::class ), 'should_enqueue_single_event' ], + 'groups' => [ Assets::$group_key ], + ] + ); + } + + /** + * Get the local id failure text. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @return string The failure text. + */ + public static function get_local_id_failure_text() { + return _x( + 'The local id for the Facebook is not set.', + 'The message to display if no local id is found when trying to authorize a facebook page.', + 'tribe-events-calendar-pro' + ); + } + + /** + * Get the Facebook page wrap failure text. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @return string The Facebook page wrap text. + */ + public static function get_facebook_page_wrap_failure_text() { + return _x( + 'No Facebook Page data found.', + 'The message to display if no Facebook page wrap found.', + 'tribe-events-calendar-pro' + ); + } + + /** + * Get the Facebook connection failure text. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @return string The Facebook connection failure text. + */ + public static function get_facebook_connection_failure_text() { + return _x( + 'The Facebook Page could not be connected to your site, please try again.', + 'The message to display if no connection is established to the Facebook sdk.', + 'tribe-events-calendar-pro' + ); + } + + /** + * Get the Facebook user extended token failure text. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @return string The Facebook user extended token failure text. + */ + public static function get_facebook_user_extended_token_failure_text() { + return _x( + 'The attempt to get an extended Facebook user access token failed with error', + 'The message to display if a Facebook user could not obtain an extended access token.', + 'tribe-events-calendar-pro' + ); + } + + /** + * Get the Facebook user extended token failure text. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @return string The Facebook user extended token failure text. + */ + public static function get_facebook_page_token_failure_text() { + return _x( + 'Unable to capture the Facebook page’s access token. Please verify your Facebook app credentials. The attempt failed with error', + 'The message to display if a Facebook Page could not obtain an access token.', + 'tribe-events-calendar-pro' + ); + } + + /** + * Get the Facebook Page delete confirmation. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @return string The Facebook Page delete confirmation text. + */ + public static function get_facebook_page_delete_confirmation_text() { + return _x( + 'Are you sure you want to delete the Facebook Page? Deleting it will disconnect any upcoming virtual events using this Facebook Page.', + 'The message to display to confirm when deleting a Facebook Page.', + 'tribe-events-calendar-pro' + ); + } + + /** + * Get the Facebook Page clear access confirmation. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @return string The Facebook Page clear access confirmation text. + */ + public static function get_facebook_page_clear_access_confirmation_text() { + return _x( + 'Are you sure you want to clear the access token? Clearing it will disconnect any upcoming virtual events using this Facebook Page until you authorize the page again.', + 'The message to display to confirm clear Facebook Page\'s access token.', + 'tribe-events-calendar-pro' + ); + } + + /** + * Get the Facebook app id from the options. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @return string The Facebook app id or empty string if not found. + */ + public static function get_facebook_app_id() { + return tribe_get_option( tribe( Settings::class )->get_prefix( 'app_id' ), '' ); + } + + /** + * Provides the routes that should be used to handle Facebook API requests. + * + * The map returned by this method will be used by the `Tribe\Events\Virtual\Traits\With_Nonce_Routes` trait. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @return array A map from the nonce actions to the corresponding handlers. + */ + public function admin_routes() { + return [ + Settings::$save_app_action => $this->container->callback( Settings::class, 'save_app' ), + Settings::$add_action => $this->container->callback( Page_API::class, 'add_page' ), + Settings::$delete_action => $this->container->callback( Page_API::class, 'delete_page' ), + Settings::$save_action => $this->container->callback( Page_API::class, 'save_page' ), + Settings::$save_access_action => $this->container->callback( Page_API::class, 'save_access_token' ), + Settings::$clear_access_action => $this->container->callback( Page_API::class, 'clear_access_token' ), + ]; + } + + /** + * Hook block templates - legacy or new VE block. + * Has to be postponed to `wp` action or later so global $post is available. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + */ + public function hook_block_template() { + /* The action/location which the template is injected depends on whether or not V2 is enabled + * and whether the virtual event block is present in the post content. + */ + $embed_inject_action = tribe( 'events-virtual.hooks' )->get_virtual_embed_action(); + + add_action( + $embed_inject_action, + [ $this, 'action_add_event_single_facebook_embed' ], + 20, + 0 + ); + } +} diff --git a/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/Google/Abstract_Meetings.php b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/Google/Abstract_Meetings.php new file mode 100644 index 000000000..858620b32 --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/Google/Abstract_Meetings.php @@ -0,0 +1,678 @@ +api = $api; + $this->classic_editor = $classic_editor; + $this->actions = $actions; + } + + /** + * Filter the autodetect source to detect if a Google link. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param array $autodetect An array of the autodetect defaults. + * @param string $video_url The url to use to autodetect the video source. + * @param string $video_source The optional name of the video source to attempt to autodetect. + * @param \WP_Post|null $event The event post object, as decorated by the `tribe_get_event` function. + * @param array $ajax_data An array of extra values that were sent by the ajax script. + * + * @return array An array of the autodetect results. + */ + abstract public function filter_virtual_autodetect_google( $autodetect, $video_url, $video_source, $event, $ajax_data ); + + /** + * Handles the request to generate a Google Meet. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param string|null $nonce The nonce that should accompany the request. + * + * @return bool Whether the request was handled or not. + */ + public function ajax_create( $nonce = null ) { + if ( ! $this->check_ajax_nonce( $this->actions::$create_action, $nonce ) ) { + return false; + } + + $event = $this->check_ajax_post(); + + if ( ! $event ) { + return false; + } + + $host_email = tribe_get_request_var( 'host_id' ); + // If no host id found, fail the request as account level apps do not support 'me' + if ( empty( $host_email ) ) { + $error_message = _x( 'The Google Host Email to access the API is missing.', 'Google Host Email is missing error message.', 'tribe-events-calendar-pro' ); + $this->classic_editor->render_meeting_generation_error_details( $event, $error_message, true ); + + wp_die(); + } + + // Load the account. + $account_id = tribe_get_request_var( 'account_id' ); + // if no id, fail the request. + if ( empty( $account_id ) ) { + $error_message = _x( 'The Google Account ID to access the API is missing.', 'Account ID is missing error message.', 'tribe-events-calendar-pro' ); + $this->classic_editor->render_meeting_generation_error_details( $event, $error_message, true ); + + wp_die(); + } + + $this->api->load_account_by_id( $account_id ); + // If there is no token, then stop as the connection will fail. + if ( ! $this->api->get_token_authorization_header() ) { + $error_message = _x( 'The Google Account to access to API could not be loaded.', 'Google account loading error message.', 'tribe-events-calendar-pro' ); + $this->classic_editor->render_meeting_generation_error_details( $event, $error_message, true ); + + wp_die(); + } + + $post_id = $event->ID; + $cached = get_post_meta( $post_id, Virtual_Events_Meta::$prefix . 'google_meeting_data', true ); + + /** + * Filters whether to force the recreation of the Google Meets link on each request or not. + * + * If the filters returns a truthy value, then each request, even for events that already had a Google Meet + * generated, will generate a new link, without re-using the previous one. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param bool $force Whether to force the regeneration of Google Meet links or not. + * @param int $post_id The post ID of the event the Meeting is being generated for. + */ + $force = apply_filters( + "tec_events_virtual_meetings_google_{$this::$meeting_type}_force_recreate", + true, + $post_id + ); + + if ( ! $force && ! empty( $cached ) ) { + $this->classic_editor->render_meeting_link_generator( $event, true, false, $account_id ); + + wp_die(); + } + + // Get the event times from the ajax script or fallback to the event object. + $start_date = tribe_get_request_var( 'EventStartDate', $event->start_date ); + $start_time = tribe_get_request_var( 'EventStartTime', $event->start_time ); + $time_zone = tribe_get_request_var( 'EventTimezone', $event->timezone ); + $end_date = tribe_get_request_var( 'EventEndDate', $event->end_date ); + $end_time = tribe_get_request_var( 'EventEndTime', $event->end_time ); + $all_day = tribe_get_request_var( 'allDayCheckbox', $event->all_day ); + + $start_datetime = $this->format_date_for_google( $start_date, $start_time, $time_zone, $all_day ); + $end_datetime = $this->format_date_for_google( $end_date, $end_time, $time_zone, $all_day ); + + $body = [ + 'summary' => $event->post_title, + 'start' => $start_datetime, + 'end' => $end_datetime, + 'source' => [ + 'title' => get_bloginfo( 'name' ), + 'url' => get_site_url(), + ], + 'conferenceData' => [ + 'createRequest' => [ + 'requestId' => md5( $event->post_name . $post_id ), + 'conferenceSolutionKey' => [ + 'type' => 'hangoutsMeet', + ] + ], + ], + ]; + + /** + * Filters the contents of the request that will be made to the Google API to generate a meeting link. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param array The current content of the request body. + * @param \WP_Post $event The event post object, as decorated by the `tribe_get_event` function. + * @param Meetings $this The current API handler object instance. + */ + $body = apply_filters( + "tec_events_virtual_meetings_google_{$this::$meeting_type}_request_body", + $body, + $event, + $this + ); + + $success = false; + + $this->api->post( + Api::get_calendar_api_url( '', true ), + [ + 'headers' => [ + 'authorization' => $this->api->get_token_authorization_header(), + 'content-type' => 'application/json; charset=utf-8', + ], + 'body' => wp_json_encode( $body ), + ], + Api::POST_RESPONSE_CODE + )->then( + function ( array $response ) use ( $post_id, &$success, &$account_id ) { + $event = tribe_get_event( $post_id, OBJECT, 'raw', true ); + + $this->process_meeting_creation_response( $response, $post_id, $event, $account_id ); + + $this->classic_editor->render_meeting_link_generator( $event, true, false, $account_id ); + + $success = true; + + wp_die(); + } + )->or_catch( + function ( \WP_Error $error ) use ( $event ) { + do_action( + 'tribe_log', + 'error', + __CLASS__, + [ + 'action' => __METHOD__, + 'code' => $error->get_error_code(), + 'message' => $error->get_error_message(), + ] + ); + + $error_data = wp_json_encode( $error->get_error_data() ); + $decoded = json_decode( $error_data, true ); + $error_message = null; + if ( false !== $decoded && is_array( $decoded ) && isset( $decoded['message'] ) ) { + $error_message = $decoded['message']; + } + + $this->classic_editor->render_meeting_generation_error_details( $event, $error_message, true ); + + wp_die(); + } + ); + + return $success; + } + + /** + * Handles the AJAX request to remove the Google Meet information from an event. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param string|null $nonce The nonce that should accompany the request. + * + * @return bool|string Whether the request was handled or a string with html for meeting creation. + */ + public function ajax_remove( $nonce = null ) { + if ( ! $this->check_ajax_nonce( $this->actions::$remove_action, $nonce ) ) { + return false; + } + + // phpcs:ignore + if ( ! $event = $this->check_ajax_post() ) { + return false; + } + + // Remove the meta, but not the data. + Google_Meta::delete_meeting_meta( $event->ID ); + + // Send the HTML for the meeting creation. + $this->classic_editor->render_initial_setup_options( $event, true ); + + wp_die(); + } + + /** + * Handles update of Google Meet when Event details change. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param \WP_Post|int $event The event (or event ID) we're updating the meeting for. + */ + public function update( $event ) { + // Get event if not an object. + if ( ! ( $event instanceof \WP_Post ) ) { + $event = tribe_get_event( $event ); + } + + // There is no meeting to update. + if ( ! ( $event instanceof \WP_Post ) || empty( $event->google_meeting_id ) ) { + return; + } + + // If manually connected, do not update Google Meet when event details change. + $manual_connected = get_post_meta( $event->ID, Virtual_Events_Meta::$key_autodetect_source, true ); + if ( Google_Meta::$key_source_id === $manual_connected ) { + return; + } + + $start_date = tribe_get_request_var( 'EventStartDate', $event->start_date ); + $start_time = tribe_get_request_var( 'EventStartTime', $event->start_time ); + $time_zone = tribe_get_request_var( 'EventTimezone', $event->timezone ); + $end_date = tribe_get_request_var( 'EventEndDate', $event->end_date ); + $end_time = tribe_get_request_var( 'EventEndTime', $event->end_time ); + $all_day = tribe_get_request_var( 'allDayCheckbox', $event->all_day ); + + $event_body = [ + 'summary' => $event->post_title, + 'start' => $this->format_date_for_google( $start_date, $start_time, $time_zone, $all_day ), + 'end' => $this->format_date_for_google( $end_date, $end_time, $time_zone, $all_day ), + ]; + + $meeting_data = get_post_meta( $event->ID, Virtual_Events_Meta::$prefix . 'google_meeting_data', true ); + $meeting_body = [ + 'summary' => $meeting_data['summary'], + 'start' => $meeting_data['start'], + 'end' => $meeting_data['end'], + ]; + + $diff_summary = $event_body['summary'] !== $meeting_body['summary']; + $diff_start = array_diff_assoc( $event_body['start'], $meeting_body['start'] ); + $diff_end = array_diff_assoc( $event_body['end'], $meeting_body['end'] ); + + // Nothing to update. + if ( empty( $diff_summary ) && empty( $diff_start ) && empty( $diff_end ) ) { + return; + } + + $post_id = $event->ID; + + /** + * Filters the contents of the request that will be made to the Google API to update a meeting link. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param array The current content of the request body. + * @param \WP_Post $event The event post object, as decorated by the `tribe_get_event` function. + * @param Meetings $this The current API handler object instance. + */ + $body = apply_filters( + "tec_events_virtual_meetings_google_{$this::$meeting_type}_update_request_body", + $event_body, + $event, + $this + ); + + // Load the account. + $account_id = $this->api->get_account_id_in_admin( $post_id ); + if ( empty( $account_id ) ) { + return; + } + + $this->api->load_account_by_id( $account_id ); + if ( ! $this->api->get_token_authorization_header() ) { + return; + } + + // Update. + $this->api->patch( + Api::get_calendar_api_url( $event->google_meeting_id ), + [ + 'headers' => [ + 'Authorization' => $this->api->get_token_authorization_header(), + 'Content-Type' => 'application/json; charset=utf-8', + ], + 'body' => wp_json_encode( $body ), + ], + Api::PUT_RESPONSE_CODE + )->then( + function ( array $response ) use ( $post_id, $event ) { + $this->process_meeting_update_response( $response, $event, $post_id ); + } + )->or_catch( + function ( \WP_Error $error ) use ( $event ) { + do_action( + 'tribe_log', + 'error', + __CLASS__, + [ + 'action' => __METHOD__, + 'code' => $error->get_error_code(), + 'message' => $error->get_error_message(), + ] + ); + + $error_data = wp_json_encode( $error->get_error_data() ); + $decoded = json_decode( $error_data, true ); + $error_message = null; + if ( false !== $decoded && is_array( $decoded ) && isset( $decoded['message'] ) ) { + $error_message = $decoded['message']; + } + + // Do something to indicate failure with $error_message? + $this->classic_editor->render_meeting_generation_error_details( $event, $error_message, true ); + } + ); + } + + /** + * Processes the Google API Meeting update response to massage, filter and save the data. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param array $response The entire Google API response. + * @param \WP_Post $event The event post object. + * @param int $post_id The event post ID. + * + * @return array|false The Google Meet data or `false` on error. + */ + protected function process_meeting_update_response( $response, $event, $post_id ) { + if ( empty( $response['response']['code'] ) || 200 !== $response['response']['code'] ) { + return false; + } + + $event = tribe_get_event( $event ); + if ( ! $event instanceof \WP_Post ) { + return false; + } + + $success = false; + + // Load the account. + $account_id = $this->api->get_account_id_in_admin( $post_id ); + if ( empty( $account_id ) ) { + return false; + } + + $this->api->load_account_by_id( $account_id ); + if ( ! $this->api->get_token_authorization_header() ) { + return false; + } + + $this->api->get( + Api::get_calendar_api_url( $event->google_meeting_id ), + [ + 'headers' => [ + 'Authorization' => $this->api->get_token_authorization_header(), + 'Content-Type' => 'application/json; charset=utf-8', + ], + ], + Api::GET_RESPONSE_CODE + )->then( + function ( array $response ) use ( $post_id, &$success ) { + $body = json_decode( wp_remote_retrieve_body( $response ), true ); + $body_set = $this->api->has_proper_response_body( $body, ['webLink'] ); + + if ( $body_set ) { + $data = $this->prepare_meeting_data( $body ); + $this->update_post_meta( $post_id, $body, $data ); + } + + $success = true; + } + )->or_catch( + function ( \WP_Error $error ) use ( $event ) { + do_action( + 'tribe_log', + 'error', + __CLASS__, + [ + 'action' => __METHOD__, + 'code' => $error->get_error_code(), + 'message' => $error->get_error_message(), + ] + ); + + $error_data = wp_json_encode( $error->get_error_data() ); + $decoded = json_decode( $error_data, true ); + $error_message = null; + if ( false !== $decoded && is_array( $decoded ) && isset( $decoded['message'] ) ) { + $error_message = $decoded['message']; + } + + $this->classic_editor->render_meeting_generation_error_details( $event, $error_message, true ); + } + ); + + return $success; + } + + /** + * Filters and massages the meeting data to prepare it to be saved in the post meta. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param array $body The response body, in raw format. + * + * @return array The meeting data, massaged and filtered. + */ + protected function prepare_meeting_data( $body ) { + $data = [ + 'id' => $body['id'], + 'join_url' => $body['hangoutLink'], + 'entry_points' => $body['conferenceData']['entryPoints'], + 'conference_id' => $body['conferenceData']['conferenceId'], + 'host_email' => $body['organizer']['email'], + ]; + + /** + * Filters the Google API meeting data after a successful meeting creation. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * @todo [plugin-consolidation] Merge VE into ECP, hook to be deprecated and renamed. + * + * @param array $data The data that will be returned in the AJAX response. + * @param array $body The raw data returned from the Google API for the request. + */ + $data = apply_filters( "tec_events_virtual_meetings_google_{$this::$meeting_type}_data", $data, $body ); + + return $data; + } + + /** + * Processes the Google API Meeting connection response. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param array $response The entire Google API response. + * @param int $post_id The event post ID. + * + * @return array The Google Meet data. + */ + public function process_meeting_connection_response( array $response, $post_id, $event, $account_id ) { + return $this->process_meeting_creation_response( $response, $post_id, $event, $account_id ); + } + + /** + * Processes the Google API Meeting creation response to massage, filter and save the data. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param array $response The entire Google API response. + * @param int $post_id The event post ID. + * + * @return array The Google Meet data. + */ + protected function process_meeting_creation_response( array $response, $post_id, $event = '', $account_id = '' ) { + $body = json_decode( wp_remote_retrieve_body( $response ), true ); + $body_set = $this->api->has_proper_response_body( $body, [ 'hangoutLink' ] ); + + if ( ! $body_set ) { + do_action( + 'tribe_log', + 'error', + __CLASS__, + [ + 'action' => __METHOD__, + 'message' => "Google API {$this::$meeting_type} creation response is malformed.", + 'response' => $response, + ] + ); + + return []; + } + + $data = $this->prepare_meeting_data( $body ); + $this->update_post_meta( $post_id, $body, $data ); + + return $data; + } + + /** + * Updates the event post meta depending on the meeting data provided. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param int $post_id The post ID of the event to update the Google Meet related meta for. + * @param array $response_body The Google API response body, as received from it. + * @param array $meeting_data The Google Meet data, as returned from the Google API request. + */ + protected function update_post_meta( $post_id, array $response_body, array $meeting_data ) { + $prefix = Virtual_Events_Meta::$prefix; + + // Cache the raw meeting data for future use. + update_post_meta( $post_id, $prefix . 'google_meeting_data', $response_body, true ); + + // Set the video source to prevent issues with loading the information later. + update_post_meta( $post_id, Virtual_Events_Meta::$key_video_source, Google_Meta::$key_source_id ); + + $map = [ + $prefix . 'google_meeting_id' => 'id', + $prefix . 'google_join_url' => 'join_url', + $prefix . 'google_host_email' => 'host_email', + $prefix . 'google_entry_points' => 'entry_points', + $prefix . 'google_conference_id' => 'conference_id', + ]; + + foreach ( $map as $meta_key => $data_key ) { + if ( isset( $meeting_data[ $data_key ] ) ) { + update_post_meta( $post_id, $meta_key, $meeting_data[ $data_key ] ); + } else { + delete_post_meta( $post_id, $meta_key ); + } + } + + // Add the meeting type, it's not part of the data coming from Google. + update_post_meta( $post_id, $prefix . 'google_meeting_type', static::$meeting_type ); + } + + /** + * Format the event date for Google. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param string $date The start date of the event. + * @param string $time The start time of the event. + * @param string $time_zone The timezone of the event. + * @param boolean $all_day Whether an event is all day. + * + * @return array An array with dateTime and timezone formatted for Google using DateTime::RFC3339 - 'Y-m-d\TH:i:sP'. + */ + public function format_date_for_google( $date, $time, $time_zone, $all_day = false ) { + // Utilize the datepicker format when parse the Event Date to prevent the wrong date in Google. + $datepicker_format = Dates::datepicker_formats( tribe_get_option( 'datepickerFormat' ) ); + $date_time = Dates::datetime_from_format( $datepicker_format, $date ) . ' ' . $time; + + if ( $all_day ) { + return [ + 'date' => Dates::build_date_object( $date_time, $time_zone )->format( 'Y-m-d' ), + ]; + } + + return [ + 'dateTime' => Dates::build_date_object( $date_time, $time_zone )->format( \DateTime::RFC3339 ), + 'timeZone' => $time_zone, + ]; + } +} diff --git a/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/Google/Account_API.php b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/Google/Account_API.php new file mode 100644 index 000000000..772f9357c --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/Google/Account_API.php @@ -0,0 +1,283 @@ +load_account_by_id( $account_id ); + if ( empty( $account_loaded ) ) { + return $revoked; + } + + $revoke_url = Url::$revoke_url; + if ( defined( 'TEC_VIRTUAL_EVENTS_GOOGLE_API_REVOKE_URL' ) ) { + $revoke_url = TEC_VIRTUAL_EVENTS_GOOGLE_API_REVOKE_URL; + } + + $this->post( + $revoke_url, + [ + 'headers' => [ + 'Authorization' => $this->get_token_authorization_header(), + ], + 'body' => [ + 'token' => $this->access_token, + ], + ], + Api::OAUTH_POST_RESPONSE_CODE + )->then( + function ( array $response ) use ( &$revoked ) { + $body = json_decode( wp_remote_retrieve_body( $response ), true ); + $body_set = $this->has_proper_response_body( $body, [ 'status' ] ); + if ( + ! ( + $body_set + && 'success' === $body['status'] + ) + ) { + do_action( 'tribe_log', 'error', __CLASS__, [ + 'action' => __METHOD__, + 'message' => 'Google Account Revoke Failed.', + 'response' => $body, + ] ); + + return $revoked; + } + + $revoked = true; + + return $revoked; + } + ); + + return $revoked; + } + + /** + * Handles an OAuth authorization return request. + * + * The method will `wp_die` if the nonce is not valid. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param string|null $nonce The nonce string to authorize the authorization request. + * + * @return bool Whether the authorization request is valid and was handled or not. + */ + public function handle_auth_request( $nonce = null ) { + if ( ! wp_verify_nonce( $nonce, $this->actions::$authorize_nonce_action ) ) { + wp_die( _x( + 'You are not authorized to do this.', + 'The message shown to a user providing a wrong Google API OAuth authorization nonce.', + 'tribe-events-calendar-pro' + ) + ); + } + $handled = false; + + // This is response from our OAuth proxy service. + $service_response_body = tribe_get_request_var( 'response_body', false ); + if ( $service_response_body ) { + $this->save_account( [ 'body' => base64_decode( $service_response_body ) ] ); + + $handled = true; + } + + wp_safe_redirect( Settings::admin_url() ); + + return $handled; + } + + /** + * {@inheritDoc} + */ + public function save_account( array $response ) { + if ( ! $this->has_proper_credentials( $response, false ) ) { + do_action( 'tribe_log', 'error', __CLASS__, [ + 'action' => __METHOD__, + 'code' => wp_remote_retrieve_response_code( $response ), + 'message' => 'Response body missing or malformed', + ] ); + + return false; + } + + // Set the access token here as we have to call fetch_user immediately, to get the user information. + $credentials = json_decode( wp_remote_retrieve_body( $response ), true ); + $access_token = $credentials['access_token']; + $refresh_token = isset( $credentials['refresh_token'] ) ? $credentials['refresh_token'] : ''; + $expiration = $this->get_expiration_time_stamp( $credentials['expires_in'] ); + + // Get the user who authorized the account. + $user_fields = $this->fetch_user( 'me', false, $access_token ); + + // The API can return as sub or id for the user id. + $id = ! empty( $user_fields['id'] ) ? $user_fields['id'] : ''; + $id = empty( $id ) && ! empty( $user_fields['sub'] ) ? $user_fields['sub'] : ''; + if ( empty( $id ) ) { + return false; + } + + $user = [ + 'id' => $id, + 'name' => $user_fields['name'] . ' (' . $user_fields['email'] .')', + 'email' => $user_fields['email'], + 'domain' => isset( $user_fields['hd'] ) ? $user_fields['hd'] : '', + ]; + + $account_data = $this->prepare_account_data( $user, $access_token, $refresh_token, $expiration, [], true ); + $existing_account = $this->get_account_by_id( $account_data['id'] ); + $this->set_account_by_id( $account_data ); + + $message = $existing_account ? + sprintf( + /* Translators: %1$s: the name of the account that has been refreshed from Google . */ + _x( + 'Google connection refreshed for %1$s', + 'The refresh message for a Google account.', + 'tribe-events-calendar-pro' + ), + $account_data['name'] + ) + : sprintf( + /* Translators: %1$s: the name of the account that has been added from Google . */ + _x( + 'Google Account added for %1$s', + 'The Google account added message.', + 'tribe-events-calendar-pro' + ), + $account_data['name'] + ); + + /** @var \Tribe__Cache $cache */ + $cache = tribe( 'cache' ); + $cache->set_transient( Settings::$option_prefix . 'account_message', $message, MINUTE_IN_SECONDS ); + + return $access_token; + } + + /** + * {@inheritDoc} + */ + public function save_access_and_expiration( $id, array $response ) { + if ( ! $this->has_proper_credentials( $response, false ) ) { + do_action( 'tribe_log', 'error', __CLASS__, [ + 'action' => __METHOD__, + 'code' => wp_remote_retrieve_response_code( $response ), + 'message' => 'Response body missing or malformed when trying to refresh the access_token.', + ] ); + + return false; + } + + $credentials = json_decode( wp_remote_retrieve_body( $response ), true ); + $access_token = $credentials['access_token']; + $refresh_token = isset( $credentials['refresh_token'] ) ? $credentials['refresh_token'] : ''; + + /** + * Google API does not return a new refresh token unless it is the initial authorization. + * Check here for an existing refresh token and add that if the sent refresh_token is empty. + */ + $existing_account = $this->get_account_by_id( $id ); + if ( ! empty( $existing_account ) && empty( $refresh_token ) ) { + $refresh_token = $existing_account['refresh_token']; + } + + $expiration = $this->get_expiration_time_stamp( $credentials['expires_in'] ); + + $this->set_account_access_by_id( $id, $access_token, $refresh_token, $expiration ); + + return true; + } + + /** + * {@inheritDoc} + */ + protected function prepare_account_data( $user, $access_token, $refresh_token, $expiration, $settings, $status ) { + /** + * Google API does not return a new refresh token unless it is the initial authorization. + * Check here for an existing refresh token and add that if the sent refresh_token is empty. + */ + $existing_account = $this->get_account_by_id( $user['id'] ); + if ( ! empty( $existing_account ) && empty( $refresh_token ) ) { + $refresh_token = $existing_account['refresh_token']; + } + + return [ + 'id' => $user['id'], + 'name' => $user['name'], + 'email' => $user['email'], + 'domain' => $user['domain'], + 'access_token' => $access_token, + 'refresh_token' => $refresh_token, + 'expiration' => $expiration, + 'status' => $status, + ]; + } +} diff --git a/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/Google/Actions.php b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/Google/Actions.php new file mode 100644 index 000000000..2e1ca7f6a --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/Google/Actions.php @@ -0,0 +1,34 @@ +setup( static::$api_id ); + } +} diff --git a/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/Google/Api.php b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/Google/Api.php new file mode 100644 index 000000000..3d86992b5 --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/Google/Api.php @@ -0,0 +1,446 @@ +encryption = ( ! empty( $encryption ) ? $encryption : tribe( Encryption::class ) ); + $this->template_modifications = $template_modifications; + $this->actions = $actions; + $this->url = $url; + + // Attempt to load an account. + $this->load_account(); + } + + /** + * {@inheritDoc} + */ + public function refresh_access_token( $id, $refresh_token ) { + $refreshed = false; + + $this->post( + $this->url::to_refresh(), + [ + 'body' => [ + 'grant_type' => 'refresh_token', + 'refresh_token' => $refresh_token, + ], + ], + 200 + )->then( + function ( array $response ) use ( &$id, &$refreshed ) { + + $body = json_decode( wp_remote_retrieve_body( $response ), true ); + $body_set = $this->has_proper_response_body( $body, [ 'access_token', 'expires_in' ] ); + if ( ! $body_set ) { + do_action( 'tribe_log', 'error', __CLASS__, [ + 'action' => __METHOD__, + 'message' => 'Google API access token refresh response is malformed.', + 'response' => $body, + ] ); + + return false; + } + + $refreshed = $this->save_access_and_expiration( $id, $response ); + + return $refreshed; + } + ); + + return $refreshed; + } + + /** + * Get the Google Event by ID and Return the Data. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param string $google_event_id The Google Event ID. + * + * @return array An array of data from the Google API. + */ + public function fetch_event_data( $google_event_id ) { + if ( ! $this->get_token_authorization_header() ) { + return []; + } + + $data = []; + + $this->get( + $this->get_calendar_api_url( $google_event_id, true ), + [ + 'headers' => [ + 'Authorization' => $this->get_token_authorization_header(), + 'Content-Type' => 'application/json; charset=utf-8', + ], + 'body' => null, + ], + 200 + )->then( + function ( array $response ) use ( &$data ) { + + $body = json_decode( wp_remote_retrieve_body( $response ), true ); + $body_set = $this->has_proper_response_body( $body ); + if ( ! $body_set ) { + do_action( 'tribe_log', 'error', __CLASS__, [ + 'action' => __METHOD__, + 'message' => 'Google API meetings is response is malformed.', + 'response' => $body, + ] ); + + return []; + } + + $data = $body; + } + )->or_catch( + function ( \WP_Error $error ) { + do_action( 'tribe_log', 'error', __CLASS__, [ + 'action' => __METHOD__, + 'code' => $error->get_error_code(), + 'message' => $error->get_error_message(), + ] ); + } + ); + + return $data; + } + + /** + * {@inheritDoc} + */ + public function fetch_user( $user_id = 'me', $settings = false, $access_token = '' ) { + if ( ! $this->get_token_authorization_header( $access_token ) ) { + return []; + } + + $this->get( + self::$user_base, + [ + 'headers' => [ + 'Authorization' => $this->get_token_authorization_header( $access_token ), + 'Content-Type' => 'application/json; charset=utf-8', + ], + 'body' => null, + ], + 200 + )->then( + static function ( array $response ) use ( &$data ) { + $body = json_decode( wp_remote_retrieve_body( $response ), true ); + $body_set = self::has_proper_response_body( $body ); + + if ( ! $body_set ) { + do_action( 'tribe_log', 'error', __CLASS__, [ + 'action' => __METHOD__, + 'message' => 'Google API user response is malformed.', + 'response' => $body, + ] ); + + return []; + } + $data = $body; + } + )->or_catch( + static function ( \WP_Error $error ) { + do_action( 'tribe_log', 'error', __CLASS__, [ + 'action' => __METHOD__, + 'code' => $error->get_error_code(), + 'message' => $error->get_error_message(), + ] ); + } + ); + + return $data; + } + + /** + * Get the List of all Users + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @return array An array of users from the Google API. + */ + public function fetch_users() { + if ( ! $this->get_token_authorization_header() ) { + return []; + } + + $args = [ + 'max' => 500, + ]; + + /** + * Filters the arguments for fetching users. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * @todo [plugin-consolidation] Merge VE into ECP, hook to be deprecated and renamed. + * + * @param array $args The default arguments to fetch users. + */ + $args = (array) apply_filters( 'tec_events_virtual_google_get_users_arguments', $args ); + + // Get the initial page of users. + $users = $this->fetch_users_with_args( $args ); + + return $users; + } + + /** + * Get the List of Users by arguments. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @return array An array of data from the Google API. + */ + public function fetch_users_with_args( $args ) { + if ( ! $this->get_token_authorization_header() ) { + return []; + } + + $data = []; + + $this->get( + self::$user_base, + [ + 'headers' => [ + 'Authorization' => $this->get_token_authorization_header(), + 'Content-Type' => 'application/json; charset=utf-8', + ], + 'body' => ! empty( $args ) ? $args : null, + ], + 200 + )->then( + static function ( array $response ) use ( &$data ) { + $body = json_decode( wp_remote_retrieve_body( $response ), true ); + $body_set = self::has_proper_response_body( $body ); + + if ( ! $body_set ) { + do_action( 'tribe_log', 'error', __CLASS__, [ + 'action' => __METHOD__, + 'message' => 'Google API users response is malformed.', + 'response' => $body, + ] ); + + return []; + } + + if ( $body['sub'] ) { + $data[] = $body; + } else { + $data = $body; + } + } + )->or_catch( + static function ( \WP_Error $error ) { + do_action( 'tribe_log', 'error', __CLASS__, [ + 'action' => __METHOD__, + 'code' => $error->get_error_code(), + 'message' => $error->get_error_message(), + ] ); + } + ); + + return $data; + } + + /** + * Get the Google Calendar API url. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param string $google_event_id The optional Google Event ID. + * @param boolean $include_conference_data Whether to add the query string to generate Meet link. + * + * @return string The Google Calendar API url to connect with. + */ + public static function get_calendar_api_url( $google_event_id = '', $include_conference_data = false ) { + /** + * Allow filtering of the Google Calendar's ID. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * @todo [plugin-consolidation] Merge VE into ECP, hook to be deprecated and renamed. + * + * @param string The Google Calendar ID, default is primary. + */ + $calendar_id = apply_filters( 'tec_events_virtual_google_calendar_calendar_id', static::$api_calendar_id ); + if ( empty( $calendar_id ) ) { + // Calendar ID cannot be empty, add back default if filter removes it. + $calendar_id = API::$api_calendar_id; + } + + $api_url = static::get_event_api_url_with_calendar_and_event_id( $calendar_id, $google_event_id ); + + if ( empty( $include_conference_data ) ) { + return $api_url; + } + + return add_query_arg( [ + 'conferenceDataVersion' => 1, + ], $api_url ); + } + + /** + * Get the Google Calendar Event API url with the provided calendar id and optional Google event id. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param string $calendar_id The Google Calendar ID, default is primary. + * @param string $google_event_id The optional Google Event ID. + * + * @return string The Google Calendar Event API url with filled in placeholders. + */ + protected static function get_event_api_url_with_calendar_and_event_id( $calendar_id, $google_event_id = '' ) { + /** + * Allow filtering of the Google Calendar's Event API url. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * @todo [plugin-consolidation] Merge VE into ECP, hook to be deprecated and renamed. + * + * @param string The url for Google Calendar's Event API. + */ + $api_url = apply_filters( 'tec_events_virtual_google_calendar_api_url_with_placeholder', static::$api_calendar_url_with_placeholders ); + + $search = [ + '%%CALENDARID%%', + '%%EVENTID%%', + ]; + + $replace = [ + $calendar_id, + $google_event_id, + ]; + + return str_replace( $search, $replace, $api_url ); + } + + /** + * Get the no Google account found message. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @return string The message returned when no account found. + */ + public function get_no_account_message() { + return sprintf( + '%1$s %3$s', + esc_html_x( + 'No Google account found.', + 'The start of the message for smart url/autodetect when there is no Google account found.', + 'tribe-events-calendar-pro' + ), + Settings::admin_url(), + esc_html_x( + 'Please check your account connection.', + 'The link in of the message for smart url/autodetect when no Google account is found.', + 'tribe-events-calendar-pro' + ) + ); + } + + /** + * Filters the API error message. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param string $api_message The API error message. + * @param array $body The json_decoded request body. + * @param Api_Response $response The response that will be returned. A non `null` value + * here will short-circuit the response. + * + * @return string $api_message The API error message. + */ + public function filter_api_error_message( $api_message, $body, $response ) { + if ( ! isset( $body['error']['message'] ) ) { + return $api_message; + } + + $api_message .= ' API Error: ' . $body['error']['message']; + + return $api_message; + } +} diff --git a/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/Google/Classic_Editor.php b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/Google/Classic_Editor.php new file mode 100644 index 000000000..ddb2de1c9 --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/Google/Classic_Editor.php @@ -0,0 +1,407 @@ +api = $api; + $this->settings = $settings; + $this->template = $template; + $this->users = $users; + $this->url = $url; + $this->actions = $actions; + } + + /** + * {@inheritDoc} + */ + public function add_event_properties( $post = null ) { + return Google_Meta::add_event_properties( $post ); + } + + /** + * Renders, echoing to the page, the API generator controls. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param null|\WP_Post|int $post The post object or ID of the event to generate the controls for, or `null` to use + * the global post object. + * @param bool $echo Whether to echo the template contents to the page (default) or to return it. + * @param bool $force_generator Whether to force to display the Meet generator. + * @param null|string $account_id The account id to use to load the link generators. + * + * @return string The template contents, if not rendered to the page. + */ + public function render_meeting_link_generator( $post = null, $echo = true, $force_generator = false, $account_id = null ) { + $post = tribe_get_event( $post ); + + if ( ! $post instanceof \WP_Post ) { + return ''; + } + + // Make sure to apply the properties to the event. + $post = $this->add_event_properties( $post ); + $meeting_link = $post->google_join_url; + + // Load the account. + $account_loaded = $this->api->load_account_by_id( $account_id ); + + $candidate_types = [ + // Always allow by default. + 'meeting' => true, + ]; + $available_types = []; + + foreach ( $candidate_types as $type => $allow ) { + /** + * Allow filtering whether to allow link generation and to show controls for a meeting type. + * This will continue to allow previously generated links to be seen and removed. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * @todo [plugin-consolidation] Merge VE into ECP, hook to be deprecated and renamed. + * + * @param boolean $allow Whether to allow link generation. + * @param \WP_Post $post The post object of the Event context of the link generation. + */ + $allow = apply_filters( "tec_events_virtual_google_{$type}_link_allow_generation", $allow, $post ); + + if ( tribe_is_truthy( $allow ) ) { + $available_types[] = $type; + } + } + + $allow_link_gen = count( $available_types ) > 0; + + if ( ! empty( $meeting_link ) && ! $force_generator ) { + // Meetings Details. + return $this->render_meeting_details( $post, $echo, $account_id, $account_loaded ); + } + + // Do not show the link generation controls if not allowed for any type. + if ( false === $allow_link_gen ) { + return ''; + } + + if ( count( $available_types ) > 0 ) { + // Google Meets. + return $this->render_multiple_links_generator( $post, $echo, $account_id, $account_loaded ); + } + + if ( ! $account_loaded && 'disabled' !== $account_loaded ) { + return $this->render_account_disabled_details( false ); + } + + // If the account is disabled, display the disabled details message. + if ( 'disabled' === $account_loaded ) { + return $this->render_account_disabled_details(); + } + + return $this->render_initial_setup_options( $post, $echo ); + } + + /** + * Renders an existing Meeting details. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param \WP_Post $post The post object of the Event context of the link generation. + * @param bool $echo Whether to print the rendered HTML to the page or not. + * @param null|string $account_id The account id to use to load the link generators. + * @param bool $account_loaded The account is loaded successfully into the API. + * + * @return string|false Either the final content HTML or `false` if the template could be found. + */ + protected function render_meeting_details( \WP_Post $post, $echo = true, $account_id = null, $account_loaded = false ) { + // Make sure to apply the properties to the event. + $post = $this->add_event_properties( $post ); + + $details_title = _x( + 'Google Meet:', + 'Title of the details box shown for a generated Google Meet link in the backend.', + 'tribe-events-calendar-pro' + ); + + $message = ''; + if ( 'not-found' === $account_loaded ) { + $message = $this->render_account_disabled_details( false, true, false ); + } elseif ( 'disabled' === $account_loaded ) { + $message = $this->render_account_disabled_details( true, true, false ); + } + + $connected_msg = ''; + $manual_connected = get_post_meta( $post->ID, Virtual_Events_Meta::$key_autodetect_source, true ); + if ( Google_Meta::$key_source_id === $manual_connected ) { + $connected_msg = _x( + 'This meeting is manually connected to the event and changes to the event will not alter the Google Meet.', + 'Message for a manually connected Google Meet.', + 'tribe-events-calendar-pro' + ); + } + + return $this->template->template( + 'virtual-metabox/google/details', + [ + 'attrs' => [ + 'data-depends' => '#tribe-events-virtual-video-source', + 'data-condition' => static::$api_id, + 'data-google-id' => $post->google_meeting_id, + ], + 'connected' => Google_Meta::$key_source_id === $manual_connected, + 'connected_msg' => $connected_msg, + 'event' => $post, + 'details_title' => $details_title, + 'remove_link_url' => $this->get_remove_link( $post ), + 'remove_link_label' => $this->get_remove_link_label(), + 'remove_attrs' => [ + 'data-confirmation' => $this->get_remove_confirmation_text(), + ], + 'account_name' => $this->api->loaded_account_name, + 'host_label' => _x( + 'Host: ', + 'The label used to designate the host of a Google Meet.', + 'tribe-events-calendar-pro' + ), + 'google_id' => $post->google_meeting_id, + 'id_label' => _x( + 'ID: ', + 'The label used to prefix a Google Meet in the backend.', + 'tribe-events-calendar-pro' + ), + 'message' => $message, + ], + $echo + ); + } + + /** + * Renders the link generator HTML for Google Meet. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param \WP_Post $post The post object of the Event context of the link generation. + * @param bool $echo Whether to print the rendered HTML to the page or not. + * @param null|string $account_id The account id to use to load the link generators. + * @param bool $account_loaded The account is loaded successfully into the API. + * + * @return string|false Either the final content HTML or `false` if the template could be found. + */ + public function render_multiple_links_generator( \WP_Post $post, $echo = true, $account_id = null, $account_loaded = false ) { + $hosts = []; + if ( $account_id ) { + $hosts = $this->users->get_formatted_hosts_list( $account_id ); + } + + /** + * Filters the host list to use to assign to Google Meet. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * @todo [plugin-consolidation] Merge VE into ECP, hook to be deprecated and renamed. + * + * @param array An array of Google Users to use as the host. + */ + $hosts = apply_filters( 'tec_events_virtual_meetings_google_hosts', $hosts ); + + // Display no hosts found error template. + if ( empty( $hosts ) ) { + return $this->render_no_hosts_found(); + } + + $message = ''; + if ( 'not-found' === $account_loaded ) { + $message = $this->render_account_disabled_details( false, true, false ); + } elseif ( 'disabled' === $account_loaded ) { + $message = $this->render_account_disabled_details( true, true, false ); + } + $api_id = static::$api_id; + + return $this->template->template( + 'virtual-metabox/google/setup', + [ + 'api_id' => $api_id, + 'event' => $post, + 'attrs' => [ + 'data-depends' => "#tribe-events-virtual-video-source", + 'data-condition' => $api_id, + 'data-account-id' => $account_id, + 'data-api-id' => $api_id, + ], + 'account_label' => _x( + 'Account: ', + 'The label used to designate the account of a Google Meet.', + 'tribe-events-calendar-pro' + ), + 'account_name' => $this->api->loaded_account_name, + 'generation_toggle_label' => _x( + 'Generate Google Link', + 'The label of the toggle to show the links to generate Google Meet.', + 'tribe-events-calendar-pro' + ), + 'generation_urls' => $this->get_link_creation_urls( $post ), + 'generate_label' => _x( + 'Create ', + 'The label used to designate the next step in generation of a Google Meet.', + 'tribe-events-calendar-pro' + ), + 'hosts' => [ + 'label' => _x( + 'Meeting Host', + 'The label of the Google Meet host.', + 'tribe-events-calendar-pro' + ), + 'id' => 'tribe-events-virtual-google-host', + 'class' => 'tec-events-virtual-meetings-api__host-dropdown tribe-events-virtual-meetings-google__host-dropdown', + 'name' => 'tribe-events-virtual-google-host', + 'selected' => '', + 'hosts_count' => count( $hosts ), + 'hosts_arr' => $hosts, + 'attrs' => [ + 'placeholder' => _x( + 'Select a Host', + 'The placeholder for the dropdown to select a host.', + 'tribe-events-calendar-pro' + ), + 'data-prevent-clear' => true, + 'data-force-search' => false, + 'data-options' => json_encode( $hosts ), + ], + ], + 'remove_link_url' => $this->get_remove_link( $post ), + 'remove_link_label' => $this->get_remove_link_label(), + 'remove_attrs' => [ + 'data-confirmation' => $this->get_remove_confirmation_text(), + ], + 'message' => $message, + 'message_classes' => [ 'tec-events-virtual-video-source-api-setup__messages-wrap' ], + ], + $echo + ); + } + + /** + * Returns the meeting creation links and labels. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param \WP_Post $post The post object of the Event context of the link creation. + * + * @return array> A map (by meeting type) of unpackable arrays, each one containing the URL and + * label for the creation link HTML code. + */ + public function get_link_creation_urls( \WP_Post $post ) { + $meeting_create_label = _x( + 'Meeting', + 'Label for the control to generate a Google Meet link in the event classic editor UI.', + 'tribe-events-calendar-pro' + ); + + $data = [ + Meetings::$meeting_type => [ + $this->url->to_generate_meeting_link( $post ), + $meeting_create_label, + false, + [], + ] + ]; + + /** + * Allows filtering the creation links URL and label before rendering them on the admin UI. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * @todo [plugin-consolidation] Merge VE into ECP, hook to be deprecated and renamed. + * + * @param array> A map (by meeting type) of unpackable arrays, each one containing the URL and + * label for the creation link HTML code. + * @param \WP_Post $post The post object of the Event context of the link creation. + */ + return apply_filters( 'tec_events_virtual_google_meeting_link_creation_urls', $data, $post ); + } + + /** + * {@inheritDoc} + */ + public function ajax_selection( $nonce = null ) { + if ( ! $this->check_ajax_nonce( $this->actions::$select_action, $nonce ) ) { + return false; + } + + $event = $this->check_ajax_post(); + + if ( ! $event ) { + return false; + } + + $account_id = tribe_get_request_var( 'account_id' ); + + // If no account id found, fail the request. + if ( empty( $account_id ) ) { + $error_message = _x( 'The Google Account ID is missing to access the API.', 'Account ID is missing error message.', 'tribe-events-calendar-pro' ); + $this->render_meeting_generation_error_details( $event, $error_message, true ); + + wp_die(); + } + + $account_loaded = $this->api->load_account_by_id( $account_id ); + // If there is no token, then stop as the connection will fail. + if ( ! $account_loaded ) { + $error_message = _x( 'The Google Account could not be loaded to access the API. Please try refreshing the account in the Events API Settings.', 'Google account loading error message.', 'tribe-events-calendar-pro' ); + + $this->render_meeting_generation_error_details( $event, $error_message, true ); + + wp_die(); + } + + $post_id = $event->ID; + + // Set the video source to Google. + update_post_meta( $post_id, Virtual_Event_Meta::$key_video_source, Google_Meta::$key_source_id ); + + // get the setup + $this->render_meeting_link_generator( $event, true, false, $account_id ); + $this->api->save_account_id_to_post( $post_id, $account_id ); + + wp_die(); + } +} diff --git a/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/Google/Email.php b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/Google/Email.php new file mode 100644 index 000000000..1a5eb8ec6 --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/Google/Email.php @@ -0,0 +1,59 @@ +virtual ) + || empty( $event->virtual_meeting ) + || Google_Event_Meta::$key_source_id !== $event->virtual_meeting_provider + ) { + return $template; + } + + $template = 'google/email/ticket-email-google-details'; + + return $template; + } +} diff --git a/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/Google/Event_Export.php b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/Google/Event_Export.php new file mode 100644 index 000000000..539839587 --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/Google/Event_Export.php @@ -0,0 +1,31 @@ +google_meeting_id; + } + + /** + * {@inheritDoc} + */ + protected static function get_meeting_join_url( WP_Post $event ) { + return $event->google_join_url; + } + + /** + * {@inheritDoc} + */ + protected static function get_meeting_data_for_rest_api( WP_Post $event ) { + return [ + 'id' => $event->google_meeting_id, + 'url' => $event->google_join_url, + 'host_email' => $event->google_host_email, + 'numbers' => $event->google_global_dial_in_numbers, + 'type' => $event->google_meeting_type, + ]; + } + + /** + * {@inheritDoc} + */ + protected static function get_api_properties( WP_Post $event, $prefix, $is_new_event ) { + $event->google_meeting_type = $is_new_event ? '' : get_post_meta( $event->ID, $prefix . 'google_meeting_type', true ); + $event->google_meeting_id = $is_new_event ? '' : get_post_meta( $event->ID, $prefix . 'google_meeting_id', true ); + $event->google_conference_id = $is_new_event ? '' : get_post_meta( $event->ID, $prefix . 'google_conference_id', true ); + $event->google_join_url = $is_new_event ? '' : get_post_meta( $event->ID, $prefix . 'google_join_url', true ); + $event->virtual_meeting_display_details = $is_new_event ? '' : get_post_meta( $event->ID, $prefix . 'google_display_details', true ); + $event->google_host_email = $is_new_event ? '' : get_post_meta( $event->ID, $prefix . 'google_host_email', true ); + $event->google_global_dial_in_numbers = tribe( Phone_Number::class )->get_google_meet_number( $event ); + + return $event; + } + + /** + * Adds related properties to an Event Automator event details map. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param array $next_event An array of event details. + * @param WP_Post $event An instance of the event WP_Post object. + * + * @return array An array of event details. + */ + public static function add_event_automator_properties( array $next_event, WP_Post $event ) { + if ( $event->virtual_video_source !== static::$key_source_id ) { + return $next_event; + } + + $next_event['virtual_url'] = $event->virtual_meeting_url; + $next_event['virtual_provider_details'] = [ + 'google_meeting_type' => $event->google_meeting_type, + 'google_meeting_id' => $event->google_meeting_id, + 'google_conference_id' => $event->google_conference_id, + 'google_join_url' => $event->google_join_url, + 'google_meeting_display_details' => $event->virtual_meeting_display_details, + 'google_host_email' => $event->google_host_email, + 'google_global_dial_in_numbers' => $event->google_global_dial_in_numbers, + ]; + + return $next_event; + } +} diff --git a/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/Google/Meetings.php b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/Google/Meetings.php new file mode 100644 index 000000000..859c8a3dc --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/Google/Meetings.php @@ -0,0 +1,144 @@ +(\bgoogle\b)).+?((eventedit\/|tmeid=)(?([a-zA-Z0-9]*)))~'; + + /** + * Get the regex to get the Google Event hash id from a url. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @return string The regex to get Google event hash id from a url, from the filter if a string or the default property. + */ + public function get_regex_google_event_hash_url() { + /** + * Allow filtering of the regex to get Google event hash url. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * @todo [plugin-consolidation] Merge VE into ECP, hook to be deprecated and renamed. + * + * @param string The regex to verify a Google event hash url. + */ + $regex_meeting_join_url = apply_filters( 'tec_events_virtual_google_regex_event_hash_url', $this->regex_event_hash_url ); + + return is_string( $regex_meeting_join_url ) ? $regex_meeting_join_url : $this->regex_event_hash_url; + } + + /** + * {@inheritDoc} + */ + public function filter_virtual_autodetect_google( $autodetect, $video_url, $video_source, $event, $ajax_data ) { + if ( $autodetect['detected'] || $autodetect['guess'] ) { + return $autodetect; + } + + // All video sources are checked on the first autodetect run, only prevent checking of this source if it is set. + if ( ! empty( $video_source ) && Google_Meta::$key_source_id !== $video_source ) { + return $autodetect; + } + + // If virtual url, fail the request. + if ( empty( $video_url ) ) { + $autodetect['message'] = _x( 'No url found. Please enter a Google Meet URL or change the selected source.', 'Google autodetect missing video url error message.', 'tribe-events-calendar-pro' ); + + return $autodetect; + } + + // Attempt to find the Google event id from the url. + preg_match( $this->get_regex_google_event_hash_url(), $video_url, $matches ); + $event_link_found = isset( $matches['name'] ) && isset( $matches['id'] ) ? true : false; + if ( ! $event_link_found ) { + $error_message = _x( 'No Google Event link found. Please check your URL.', 'No Google Event link found for autodetect error message.', 'tribe-events-calendar-pro' ); + $autodetect['message'] = $error_message; + + return $autodetect; + } + + $decoded_string = base64_decode( $matches['id'] ); + $decoded_array = explode( ' ', $decoded_string ); + if ( ! isset( $decoded_array[0], $decoded_array[1] ) ) { + $error_message = _x( 'No Google Event ID found. Please check your URL.', 'No Google Event ID found for autodetect error message.', 'tribe-events-calendar-pro' ); + $autodetect['message'] = $error_message; + + return $autodetect; + } + + $autodetect['guess'] = Google_Meta::$key_source_id; + + // Use the google-account if available, otherwise try with the first account stored in the site. + $accounts = $this->api->get_list_of_accounts( true ); + $filtered_account = wp_list_filter($accounts, [ + 'email' => $decoded_array[1] + ]); + $account_id = empty( $ajax_data['google-account'] ) ? key( $filtered_account ) : esc_attr( $ajax_data['google-account'] ); + + if ( empty( $account_id ) ) { + $autodetect['message'] = $this->api->get_no_account_message(); + + return $autodetect; + } + + $this->api->load_account_by_id( $account_id ); + if ( ! $this->api->is_ready() ) { + $autodetect['message'] = $this->api->get_no_account_message(); + + return $autodetect; + } + + $google_event_id = esc_attr( $decoded_array[0] ); + $data = $this->api->fetch_event_data( $google_event_id ); + + // If no Google Meet found it is because the account is not authorized or does not exist. + if ( empty( $data ) ) { + $autodetect['message'] = _x( 'This Google Meet could not be found in the selected account. Please select the associated account below and try again.', 'No Google Meet found for autodetect error message.', 'tribe-events-calendar-pro' ); + + return $autodetect; + } + + // Set as virtual event and video source to Google. + update_post_meta( $event->ID, Virtual_Events_Meta::$key_virtual, true ); + update_post_meta( $event->ID, Virtual_Events_Meta::$key_video_source, Google_Meta::$key_source_id ); + $event->virtual_video_source = Google_Meta::$key_source_id; + + // Save Google data. + $new_response['body'] = json_encode( $data ); + $this->process_meeting_connection_response( $new_response, $event->ID, $event, $account_id ); + + // Set Google as the autodetect source and set up success data and send back to smart url ui. + update_post_meta( $event->ID, Virtual_Events_Meta::$key_autodetect_source, Google_Meta::$key_source_id ); + $this->api->save_account_id_to_post( $event->ID, $account_id ); + $autodetect['detected'] = true; + $autodetect['autodetect-source'] = Google_Meta::$key_source_id; + $autodetect['message'] = _x( 'Google Meet successfully connected!', 'Google Meet connected success message.', 'tribe-events-calendar-pro' ); + $autodetect['html'] = $this->classic_editor->get_meeting_details( $event, false, $account_id, false ); + + return $autodetect; + } +} diff --git a/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/Google/Phone_Number.php b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/Google/Phone_Number.php new file mode 100644 index 000000000..c2ab05d94 --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/Google/Phone_Number.php @@ -0,0 +1,95 @@ + An array of Google Meet numbers with or without the pin. + */ + public function get_google_meet_number( \WP_Post $event, $is_email = false ) { + /* + * If the ID is empty, return a blank string to prevent remove_query_arg() using current URL. + * + * This happens because get_post_meta() will always return false when the ID is empty. + */ + if ( empty( $event->ID ) ) { + return []; + } + + $prefix = Virtual_Event_Meta::$prefix; + $entry_points = array_filter( (array) get_post_meta( $event->ID, $prefix . 'google_entry_points', true ) ); + + $compact_phone_number = static function ( $phone_number ) { + return trim( str_replace( ' ', '', $phone_number ) ); + }; + + $compact_url = static function ( $uri ) { + return implode( '', array_intersect_key( wp_parse_url( $uri ), array_flip( [ 'host', 'path' ] ) ) ); + }; + + /** + * Filters the Google Meet phone pin to show with the pin for all site visitors. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * @todo [plugin-consolidation] Merge VE into ECP, hook to be deprecated and renamed. + * + * @param boolean $include_pin Whether a user is logged in. + * @param \WP_Post $event The event post object, as decorated by the `tribe_get_event` function. + */ + $include_pin = apply_filters( 'tec_events_virtual_meetings_google_meet_include_pin', is_user_logged_in(), $event ); + + // If is_email always return the pin. + if ( $is_email ) { + $include_pin = true; + } + + $global_dial_in_numbers = []; + + foreach ( $entry_points as $access ) { + if ( 'phone' === $access['entryPointType'] ) { + $global_dial_in_numbers[ $access['label'] ] = [ + 'country' => "({$access['regionCode']})", + 'compact' => $compact_phone_number( $access['label'] ), + 'uri' => $access['uri'], + 'pin' => $include_pin ? $access['pin'] : '', + 'visual' => $access['label'], + ]; + } elseif ( 'more' === $access['entryPointType'] && $include_pin ) { + $global_dial_in_numbers[ $compact_url( $access['uri'] ) ] = [ + 'country' => '', + 'compact' => $compact_url( $access['uri'] ), + 'uri' => $access['uri'], + 'pin' => $include_pin ? $access['pin'] : '', + 'visual' => $compact_url( $access['uri'] ), + ]; + } + } + + return $global_dial_in_numbers; + } +} diff --git a/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/Google/Settings.php b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/Google/Settings.php new file mode 100644 index 000000000..709ae5a2e --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/Google/Settings.php @@ -0,0 +1,44 @@ +api = $api; + $this->template_modifications = $template_modifications; + $this->url = $url; + self::$api_id = Google_Meta::$key_source_id; + } +} diff --git a/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/Google/Template_Modifications.php b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/Google/Template_Modifications.php new file mode 100644 index 000000000..d5cd3bdc7 --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/Google/Template_Modifications.php @@ -0,0 +1,96 @@ +add_event_single_api_details, see Abstract_Template_Modifications class. + */ + public function add_event_single_google_details() { + _deprecated_function( __METHOD__, '1.13.1', 'Use $this->add_event_single_api_details() instead.' ); + + // Don't show on password protected posts. + if ( post_password_required() ) { + return; + } + + $event = tribe_get_event( get_the_ID() ); + + if ( + empty( $event->virtual ) + || empty( $event->virtual_meeting ) + || empty( $event->virtual_should_show_embed ) + || empty( $event->virtual_meeting_display_details ) + || Google_Event_Meta::$key_source_id !== $event->virtual_meeting_provider + ) { + return; + } + + /** + * Filters whether the link button should open in a new window or not. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * @todo [plugin-consolidation] Merge VE into ECP, hook to be deprecated and renamed. + * + * @param boolean $link_button_new_window Boolean of if link button should open in new window. + */ + $link_button_new_window = apply_filters( 'tec_events_virtual_link_button_new_window', false ); + + $link_button_attrs = []; + if ( ! empty( $link_button_new_window ) ) { + $link_button_attrs['target'] = '_blank'; + } + + /** + * Filters whether the Google link should open in a new window or not. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * @todo [plugin-consolidation] Merge VE into ECP, hook to be deprecated and renamed. + * + * @param boolean $google_link_new_window Boolean of if the Google link should open in new window. + */ + $google_link_new_window = apply_filters( 'tec_events_virtual_google_link_new_window', false ); + + $google_link_attrs = []; + if ( ! empty( $google_link_new_window ) ) { + $google_link_attrs['target'] = '_blank'; + } + + $context = [ + 'event' => $event, + 'link_button_attrs' => $link_button_attrs, + 'google_link_attrs' => $google_link_attrs, + ]; + + $this->template->template( 'google/single/google-details', $context ); + } +} diff --git a/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/Google/Url.php b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/Google/Url.php new file mode 100644 index 000000000..d75b7c3bd --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/Google/Url.php @@ -0,0 +1,38 @@ +actions = $actions; + } +} diff --git a/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/Google/Users.php b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/Google/Users.php new file mode 100644 index 000000000..b39b22993 --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/Google/Users.php @@ -0,0 +1,68 @@ +api = $api; + $this->admin_template = $admin_template; + } + + /** + * {@inheritDoc} + */ + protected function get_users_array( $available_hosts ) { + if ( empty( $available_hosts ) ) { + return []; + } + + return $available_hosts; + } + + /** + * {@inheritDoc} + */ + protected function get_formatted_user_info( $user ) { + $user_info = []; + $user_info['email'] = Arr::get( $user, 'email', '' ); + $user_info['name'] = Arr::get( $user, 'name', '' ); + $user_info['last_name'] = Arr::get( $user, 'family_name', '' ); + $user_info['id'] = Arr::get( $user, 'email', '' ); + $user_info['value'] = Arr::get( $user, 'sub', '' ); + + if ( empty( $user_info['last_name'] ) ) { + $user_info['last_name'] = Arr::get( $user, 'name', '' ); + } + + return $user_info; + } +} diff --git a/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/Google_Provider.php b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/Google_Provider.php new file mode 100644 index 000000000..9ff03529d --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/Google_Provider.php @@ -0,0 +1,491 @@ +container->singleton( 'events-virtual.meetings.google', self::class ); + $this->container->singleton( self::class, self::class ); + + if ( ! $this->is_enabled() ) { + return; + } + + $this->add_actions(); + $this->add_filters(); + $this->hook_templates(); + $this->route_admin_by_nonce( $this->admin_routes(), 'manage_options' ); + } + + /** + * Hooks the filters required for the Google API integration to work correctly. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + */ + protected function add_filters() { + add_filter( 'tec_settings_gmaps_js_api_start', [ $this, 'filter_addons_tab_fields' ] ); + add_filter( 'tribe_events_virtual_video_sources', [ $this, 'add_video_source' ], 20, 2 ); + add_filter( 'tec_events_virtual_autodetect_video_sources', [ $this, 'add_autodetect_source' ], 20, 3 ); + add_filter( 'tec_events_virtual_video_source_autodetect_field_all', [ $this, 'filter_virtual_autodetect_field_accounts' ], 20, 5 ); + add_filter( 'tec_events_virtual_video_source_autodetect_field_google-accounts', [ $this, 'filter_virtual_autodetect_field_accounts' ], 20, 5 ); + + add_filter( 'tribe_events_virtual_display_embed_video_hidden', [ $this, 'filter_display_embed_video_hidden' ], 10, 2 ); + add_filter( 'tec_events_virtual_export_fields', [ $this, 'filter_google_source_google_calendar_parameters' ], 10, 5 ); + add_filter( 'tec_events_virtual_export_fields', [ $this, 'filter_google_source_ical_feed_items' ], 10, 5 ); + add_filter( 'tec_events_virtual_outlook_single_event_export_url', [ $this, 'filter_outlook_single_event_export_url_by_api' ], 10, 6 ); + add_filter( 'tec_events_virtual_meetings_api_error_message', [ $this, 'filter_api_error_message' ], 10, 3 ); + add_filter( + 'tribe_rest_event_data', + $this->container->callback( Google_Meta::class, 'attach_rest_properties' ), + 10, + 2 + ); + add_action( 'tec_virtual_automator_map_event_details', [ $this, 'add_event_automator_properties' ], 10, 2 ); + } + + /** + * Filters the fields in the Events > Settings > APIs tab to add the ones provided by the extension. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param array $fields The current fields. + * + * @return array The fields, as updated by the settings. + */ + public function filter_addons_tab_fields( $fields ) { + if ( ! is_array( $fields ) ) { + return $fields; + } + + return tribe( Google\Settings::class )->add_fields( $fields ); + } + + /** + * Add the Google Video Source. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param array An array of video sources. + * @param WP_Post $post The current event post object, as decorated by the `tribe_get_event` function. + * + * @return array An array of video sources. + */ + public function add_video_source( $video_sources, $post ) { + + $video_sources[] = [ + 'text' => _x( 'Google Meet', 'The name of the video source.', 'tribe-events-calendar-pro' ), + 'id' => Google_Meta::$key_source_id, + 'value' => Google_Meta::$key_source_id, + 'selected' => Google_Meta::$key_source_id === $post->virtual_video_source, + ]; + + return $video_sources; + } + + /** + * Add Google Meet to Autodetect Source. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param array An array of autodetect sources. + * @param string $autodetect_source The ID of the current selected video source. + * @param WP_Post $post The current event post object, as decorated by the `tribe_get_event` function. + * + * @return array An array of video sources. + */ + public function add_autodetect_source( $autodetect_sources, $autodetect_source, $post ) { + + $autodetect_sources[] = [ + 'text' => _x( 'Google Meet', 'The name of the autodetect source.', 'tribe-events-calendar-pro' ), + 'id' => Google_Meta::$key_source_id, + 'value' => Google_Meta::$key_source_id, + 'selected' => Google_Meta::$key_source_id === $autodetect_source, + ]; + + return $autodetect_sources; + } + + /** + * Add the Google accounts dropdown field to the autodetect fields. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param array $autodetect An array of the autodetect resukts. + * @param string $video_url The url to use to autodetect the video source. + * @param string $autodetect_source The optional name of the video source to attempt to autodetect. + * @param WP_Post|null $event The event post object, as decorated by the `tribe_get_event` function. + * @param array $ajax_data An array of extra values that were sent by the ajax script. + * + * @return array An array of the autodetect results. + */ + public function filter_virtual_autodetect_field_accounts( $autodetect_fields, $video_url, $autodetect_source, $event, $ajax_data ) { + return $this->container->make( Classic_Editor::class ) + ->classic_autodetect_video_source_accounts( $autodetect_fields, $video_url, $autodetect_source, $event, $ajax_data ); + } + + /** + * Filters whether embed video control is hidden. + * + * @param boolean $is_hidden Whether the embed video control is hidden. + * @param WP_Post $event The event object. + * + * @return boolean Whether the embed video control is hidden. + */ + public function filter_display_embed_video_hidden( $is_hidden, $event ) { + if ( + ! $event->virtual_meeting + || tribe( self::class )->get_slug() !== $event->virtual_meeting_provider + ) { + return $is_hidden; + } + + return true; + } + + /** + * Filter the Google Calendar export fields for a Google source event. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param array $fields The various file format components for this specific event. + * @param WP_Post $event The WP_Post of this event. + * @param string $key_name The name of the array key to modify. + * @param string $type The name of the export type. + * @param boolean $should_show Whether to modify the export fields for the current user, default to false. + * + * @return array Google Calendar Link params. + */ + public function filter_google_source_google_calendar_parameters( $fields, $event, $key_name, $type, $should_show ) { + return $this->container->make( Google_Event_Export::class )->modify_video_source_export_output( $fields, $event, $key_name, $type, $should_show ); + } + + /** + * Filter the iCal export fields for a Google source event. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param array $fields The various file format components for this specific event. + * @param WP_Post $event The WP_Post of this event. + * @param string $key_name The name of the array key to modify. + * @param string $type The name of the export type. + * @param boolean $should_show Whether to modify the export fields for the current user, default to false. + * + * @return array The various iCal file format components of this specific event item. + */ + public function filter_google_source_ical_feed_items( $fields, $event, $key_name, $type, $should_show ) { + return $this->container->make( Google_Event_Export::class )->modify_video_source_export_output( $fields, $event, $key_name, $type, $should_show ); + } + + /** + * Filter the Outlook single event export url for a Google source event. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param string $url The url used to subscribe to a calendar in Outlook. + * @param string $base_url The base url used to subscribe in Outlook. + * @param array $params An array of parameters added to the base url. + * @param Outlook_Methods $outlook_methods An instance of the link abstract. + * @param \WP_Post $event The WP_Post of this event. + * @param boolean $should_show Whether to modify the export fields for the current user, default to false. + * + * @return string The export url used to generate an Outlook event for the single event. + */ + public function filter_outlook_single_event_export_url_by_api( $url, $base_url, $params, $outlook_methods, $event, $should_show ) { + return $this->container->make( Google_Event_Export::class )->filter_outlook_single_event_export_url_by_api( $url, $base_url, $params, $outlook_methods, $event, $should_show ); + } + + /** + * Filters the API error message. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param string $api_message The API error message. + * @param array $body The json_decoded request body. + * @param Api_Response $response The response that will be returned. A non `null` value + * here will short-circuit the response. + * + * @return string $api_message The API error message. + */ + public function filter_api_error_message( $api_message, $body, $response ) { + return $this->container->make( Api::class )->filter_api_error_message( $api_message, $body, $response ); + } + + /** + * Provides the routes that should be used to handle Google API requests. + * + * The map returned by this method will be used by the `Tribe\Events\Virtual\Traits\With_Nonce_Routes` trait. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @return array A map from the nonce actions to the corresponding handlers. + */ + public function admin_routes() { + $actions = tribe( Actions::class ); + + return [ + $actions::$authorize_nonce_action => $this->container->callback( Api::class, 'handle_auth_request' ), + $actions::$status_action => $this->container->callback( Api::class, 'ajax_status' ), + $actions::$delete_action => $this->container->callback( Api::class, 'ajax_delete' ), + $actions::$select_action => $this->container->callback( Classic_Editor::class, 'ajax_selection' ), + $actions::$create_action => $this->container->callback( Meetings::class, 'ajax_create' ), + $actions::$remove_action => $this->container->callback( Meetings::class, 'ajax_remove' ), + ]; + } + + /** + * Hooks the actions required for the Google API integration to work correctly. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + */ + protected function add_actions() { + // Filter event object properties to add the ones related to Google Meet for virtual events. + add_action( 'tribe_events_virtual_add_event_properties', [ $this, 'add_event_properties' ] ); + add_action( 'tribe_events_virtual_metabox_save', [ $this, 'on_metabox_save' ], 10, 2 ); + add_action( 'save_post_tribe_events', [ $this, 'on_post_save' ], 100, 3 ); + } + + /** + * Filters the object returned by the `tribe_get_event` function to add to it properties related to Google Meet. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param WP_Post $event The events post object to be modified. + * + * @return WP_Post The original event object decorated with properties related to virtual events. + */ + public function add_event_properties( $event ) { + if ( ! $event instanceof WP_Post ) { + // We should only act on event posts, else bail. + return $event; + } + + return $this->container->make( Google_Meta::class )->add_event_properties( $event ); + } + + /** + * Filters the array returned for the event details map in the Event Automator integration. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param array $next_event An array of event details. + * @param WP_Post $event An instance of the event WP_Post object. + * + * @return array An array of event details. + */ + public function add_event_automator_properties( array $next_event, WP_Post $event ) { + if ( ! $event instanceof WP_Post ) { + return $next_event; + } + + return $this->container->make( Google_Meta::class )->add_event_automator_properties( $next_event, $event ); + } + + /** + * Handles the save operations of the Classic Editor VE Metabox. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param int $post_id The post ID of the event currently being saved. + * @param array $data The data currently being saved. + */ + public function on_metabox_save( $post_id, $data ) { + $post = get_post( $post_id ); + if ( ! $post instanceof WP_Post && is_array( $data ) ) { + return; + } + + $this->container->make( Google_Meta::class )->save_metabox_data( $post_id, $data ); + } + + /** + * Handles updating Google Meet on post save. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param int $post_id The post ID. + * @param WP_Post $unused_post The post object. + * @param bool $update Whether this is an existing post being updated or not. + */ + public function on_post_save( $post_id, $unused_post, $update ) { + if ( ! $update ) { + return; + } + + $event = tribe_get_event( $post_id ); + + if ( ! $event instanceof WP_Post || empty( $event->duration ) ) { + // Hook for the Event meta save to try later in the save request, data might be there then. + if ( ! doing_action( 'tribe_events_update_meta' ) ) { + // But do no re-hook if we're acting on it. + add_action( 'tribe_events_update_meta', [ $this, 'on_post_save' ], 100, 3 ); + } + + return; + } + + $meeting_handler = $this->container->make( Meetings::class ); + + $meeting_handler->update( $event ); + } + + + /** + * Hooks the template required for the integration to work. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + */ + protected function hook_templates() { + // Metabox. + add_action( + 'tribe_template_entry_point:events-pro/admin-views/virtual-metabox/container/video-source:video_sources', + [ $this, 'render_classic_meeting_link_ui' ], + 10, + 3 + ); + + // Email Templates. + add_filter( + 'tribe_events_virtual_ticket_email_template', + [ + $this, + 'maybe_change_email_template', + ], + 10, + 2 + ); + + // Event Single. + add_action( + 'tribe_events_single_event_after_the_content', + [ $this, 'action_add_event_single_google_details' ], + 15, + 0 + ); + + // Event Single - Blocks. + add_action( 'wp', [ $this, 'hook_block_template' ] ); + + // The location which the template is injected depends on whether or not V2 is enabled. + $google_details_inject_action = tribe_events_single_view_v2_is_enabled() ? 'tribe_events_virtual_block_content' : 'tribe_template_after_include:events/blocks/event-datetime'; + + add_action( + $google_details_inject_action, + [ $this, 'action_add_event_single_google_details' ], + 20, + 0 + ); + } + + /** + * Renders the Google API link generation UI and controls, depending on the current state. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param string $file The path to the template file, unused. + * @param string $entry_point The name of the template entry point, unused. + * @param \Tribe__Template $template The current template instance. + */ + public function render_classic_meeting_link_ui( $file, $entry_point, \Tribe__Template $template ) { + $this->container->make( Google\Classic_Editor::class ) + ->render_initial_setup_options( $template->get( 'post' ) ); + } + + /** + * Conditionally inject content into ticket email templates. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param string $template The template path, relative to src/views. + * @param array $args The template arguments. + * + * @return string + */ + public function maybe_change_email_template( $template, $args ) { + return $this->container->make( Email::class )->maybe_change_email_template( $template, $args ); + } + + /** + * Hook block templates - legacy or new VE block. + * Has to be postponed to `wp` action or later so global $post is available. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + */ + public function hook_block_template() { + /* The action/location which the template is injected depends on whether or not V2 is enabled + * and whether the virtual event block is present in the post content. + */ + $embed_inject_action = tribe( 'events-virtual.hooks' )->get_virtual_embed_action(); + + add_action( + $embed_inject_action, + [ $this, 'action_add_event_single_google_details' ], + 20, + 0 + ); + } + + /** + * Include the Google details for event single. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + */ + public function action_add_event_single_google_details() { + // Don't show if requires log in and user isn't logged in. + $base_modifications = $this->container->make( 'Tribe\Events\Virtual\Template_Modifications' ); + $should_show = $base_modifications->should_show_virtual_content( tribe_get_Event( get_the_ID() ) ); + + if ( ! $should_show ) { + return; + } + + $template_modifications = $this->container->make( Template_Modifications::class ); + $template_modifications->add_event_single_api_details(); + } +} diff --git a/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/Meeting_Provider.php b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/Meeting_Provider.php new file mode 100644 index 000000000..2f04a8914 --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/Meeting_Provider.php @@ -0,0 +1,56 @@ +get_slug(); + + /** + * Filters whether a specific meetings and conference provider is enabled or not. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * @todo [plugin-consolidation] Merge VE into ECP, hook to be deprecated and renamed. + * + * @param bool $enabled Whether the specific meetings and conference provider is enabled or not. + */ + return (bool) apply_filters( "tribe_events_virtual_meetings_{$slug}_enabled", true ); + } + + /** + * Returns the meetings and conference provider slug. + * + * The value is used to build the filter names. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @return string The provider slug. + */ + abstract public function get_slug(); +} diff --git a/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/Microsoft/Abstract_Meetings.php b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/Microsoft/Abstract_Meetings.php new file mode 100644 index 000000000..f20ac0b45 --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/Microsoft/Abstract_Meetings.php @@ -0,0 +1,713 @@ +([0-9\s]*)))~'; + + /** + * An instance of the Microsoft API handler. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @var Api + */ + protected $api; + + /** + * The Classic Editor rendering handler. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @var Classic_Editor + */ + protected $classic_editor; + + /** + * The Actions name handler. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @var Actions + */ + protected $actions; + + /** + * Meetings constructor. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param Api $api An instance of the Microsoft API handler. + * @param Classic_Editor $classic_editor An instance of the Classic Editor rendering handler. + * @param Actions $actions An instance of the Actions name handler. + */ + public function __construct( Api $api, Classic_Editor $classic_editor, Actions $actions ) { + $this->api = $api; + $this->classic_editor = $classic_editor; + $this->actions = $actions; + } + + /** + * Filter the autodetect source to detect if a Microsoft link. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param array $autodetect An array of the autodetect defaults. + * @param string $video_url The url to use to autodetect the video source. + * @param string $video_source The optional name of the video source to attempt to autodetect. + * @param \WP_Post|null $event The event post object, as decorated by the `tribe_get_event` function. + * @param array $ajax_data An array of extra values that were sent by the ajax script. + * + * @return array An array of the autodetect results. + */ + abstract public function filter_virtual_autodetect_microsoft( $autodetect, $video_url, $video_source, $event, $ajax_data ); + + /** + * Handles the request to generate a Microsoft Meet. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param string|null $nonce The nonce that should accompany the request. + * + * @return bool Whether the request was handled or not. + */ + public function ajax_create( $nonce = null ) { + if ( ! $this->check_ajax_nonce( $this->actions::$create_action, $nonce ) ) { + return false; + } + + $event = $this->check_ajax_post(); + + if ( ! $event ) { + return false; + } + + $host_email = tribe_get_request_var( 'host_id' ); + // If no host id found, fail the request as account level apps do not support 'me' + if ( empty( $host_email ) ) { + $error_message = _x( 'The Microsoft Host Email to access the API is missing.', 'Microsoft Host Email is missing error message.', 'tribe-events-calendar-pro' ); + $this->classic_editor->render_meeting_generation_error_details( $event, $error_message, true ); + + wp_die(); + } + + // Meeting provider options: teamsForBusiness, skypeForBusiness, and skypeForConsumer. + $meeting_type = tribe_get_request_var( 'meeting_type' ); + // If meeting type checked, fail the request. + if ( empty( $meeting_type ) ) { + $error_message = _x( 'No Microsoft meeting provider selected, please choose an available meeting provider.', 'The no Microsoft meeting provider is selected error message.', 'tribe-events-calendar-pro' ); + $this->classic_editor->render_meeting_generation_error_details( $event, $error_message, true ); + + wp_die(); + } + + // Load the account. + $account_id = tribe_get_request_var( 'account_id' ); + // if no id, fail the request. + if ( empty( $account_id ) ) { + $error_message = _x( 'The Microsoft Account ID to access the API is missing.', 'Account ID is missing error message.', 'tribe-events-calendar-pro' ); + $this->classic_editor->render_meeting_generation_error_details( $event, $error_message, true ); + + wp_die(); + } + + $this->api->load_account_by_id( $account_id ); + // If there is no token, then stop as the connection will fail. + if ( ! $this->api->get_token_authorization_header() ) { + $error_message = _x( 'The Microsoft Account to access to API could not be loaded.', 'Microsoft account loading error message.', 'tribe-events-calendar-pro' ); + $this->classic_editor->render_meeting_generation_error_details( $event, $error_message, true ); + + wp_die(); + } + + $post_id = $event->ID; + $cached = get_post_meta( $post_id, Virtual_Events_Meta::$prefix . 'microsoft_meeting_data', true ); + + /** + * Filters whether to force the recreation of the Microsoft Meets link on each request or not. + * + * If the filters returns a truthy value, then each request, even for events that already had a Microsoft Meet + * generated, will generate a new link, without re-using the previous one. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param bool $force Whether to force the regeneration of Microsoft Meet links or not. + * @param int $post_id The post ID of the event the Meeting is being generated for. + */ + $force = apply_filters( + "tec_events_virtual_meetings_microsoft_{$this::$meeting_type}_force_recreate", + true, + $post_id + ); + + if ( ! $force && ! empty( $cached ) ) { + $this->classic_editor->render_meeting_link_generator( $event, true, false, $account_id ); + + wp_die(); + } + + // Get the event times from the ajax script or fallback to the event object. + $start_date = tribe_get_request_var( 'EventStartDate', $event->start_date ); + $start_time = tribe_get_request_var( 'EventStartTime', $event->start_time ); + $time_zone = tribe_get_request_var( 'EventTimezone', $event->timezone ); + $end_date = tribe_get_request_var( 'EventEndDate', $event->end_date ); + $end_time = tribe_get_request_var( 'EventEndTime', $event->end_time ); + $all_day = tribe_get_request_var( 'allDayCheckbox', $event->all_day ); + + $start_datetime = $this->format_date_for_microsoft( $start_date, $start_time, $time_zone, $all_day ); + $end_datetime = $this->format_date_for_microsoft( $end_date, $end_time, $time_zone, $all_day ); + + if ( $start_datetime === $end_datetime && $all_day ) { + $end_datetime = $this->format_date_for_microsoft( $end_date, $end_time, $time_zone, $all_day, true ); + } + + $body = [ + 'subject' => $event->post_title, + 'start' => $start_datetime, + 'end' => $end_datetime, + 'isOnlineMeeting' => true, + 'onlineMeetingProvider' => $meeting_type + ]; + + // Include isAllDay if is set. + if( $all_day ) { + $body['isAllDay'] = true; + } + + /** + * Filters the contents of the request that will be made to the Microsoft API to generate a meeting link. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param array The current content of the request body. + * @param \WP_Post $event The event post object, as decorated by the `tribe_get_event` function. + * @param Meetings $this The current API handler object instance. + */ + $body = apply_filters( + "tec_events_virtual_meetings_microsoft_{$this::$meeting_type}_request_body", + $body, + $event, + $this + ); + + $success = false; + + $this->api->post( + Api::$api_base . "me/events", + [ + 'headers' => [ + 'authorization' => $this->api->get_token_authorization_header(), + 'content-type' => 'application/json', + ], + 'body' => wp_json_encode( $body ), + ], + Api::POST_RESPONSE_CODE + )->then( + function ( array $response ) use ( $post_id, &$success, &$account_id ) { + $event = tribe_get_event( $post_id, OBJECT, 'raw', true ); + + $this->process_meeting_creation_response( $response, $post_id, $event, $account_id ); + + $this->classic_editor->render_meeting_link_generator( $event, true, false, $account_id ); + + $success = true; + + wp_die(); + } + )->or_catch( + function ( \WP_Error $error ) use ( $event ) { + do_action( + 'tribe_log', + 'error', + __CLASS__, + [ + 'action' => __METHOD__, + 'code' => $error->get_error_code(), + 'message' => $error->get_error_message(), + ] + ); + + $error_data = wp_json_encode( $error->get_error_data() ); + $decoded = json_decode( $error_data, true ); + $error_message = null; + if ( false !== $decoded && is_array( $decoded ) && isset( $decoded['message'] ) ) { + $error_message = $decoded['message']; + } + + $this->classic_editor->render_meeting_generation_error_details( $event, $error_message, true ); + + wp_die(); + } + ); + + return $success; + } + + /** + * Handles the AJAX request to remove the Microsoft Meet information from an event. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param string|null $nonce The nonce that should accompany the request. + * + * @return bool|string Whether the request was handled or a string with html for meeting creation. + */ + public function ajax_remove( $nonce = null ) { + if ( ! $this->check_ajax_nonce( $this->actions::$remove_action, $nonce ) ) { + return false; + } + + // phpcs:ignore + if ( ! $event = $this->check_ajax_post() ) { + return false; + } + + // Remove the meta, but not the data. + Microsoft_Meta::delete_meeting_meta( $event->ID ); + + // Send the HTML for the meeting creation. + $this->classic_editor->render_initial_setup_options( $event, true ); + + wp_die(); + } + + /** + * Handles update of Microsoft Meet when Event details change. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param \WP_Post|int $event The event (or event ID) we're updating the meeting for. + */ + public function update( $event ) { + // Get event if not an object. + if ( ! ( $event instanceof \WP_Post ) ) { + $event = tribe_get_event( $event ); + } + + // There is no meeting to update. + if ( ! ( $event instanceof \WP_Post ) || empty( $event->microsoft_meeting_id ) ) { + return; + } + + // If manually connected, do not update Microsoft Meet when event details change. + $manual_connected = get_post_meta( $event->ID, Virtual_Events_Meta::$key_autodetect_source, true ); + if ( Microsoft_Meta::$key_source_id === $manual_connected ) { + return; + } + + $start_date = tribe_get_request_var( 'EventStartDate', $event->start_date ); + $start_time = tribe_get_request_var( 'EventStartTime', $event->start_time ); + $time_zone = tribe_get_request_var( 'EventTimezone', $event->timezone ); + $end_date = tribe_get_request_var( 'EventEndDate', $event->end_date ); + $end_time = tribe_get_request_var( 'EventEndTime', $event->end_time ); + $all_day = tribe_get_request_var( 'allDayCheckbox', $event->all_day ); + + $start_datetime = $this->format_date_for_microsoft( $start_date, $start_time, $time_zone, $all_day ); + $end_datetime = $this->format_date_for_microsoft( $end_date, $end_time, $time_zone, $all_day ); + + if ( $start_datetime === $end_datetime && $all_day ) { + $end_datetime = $this->format_date_for_microsoft( $end_date, $end_time, $time_zone, $all_day, true ); + } + + $event_body = [ + 'subject' => $event->post_title, + 'start' => $start_datetime, + 'end' => $end_datetime, + ]; + + $meeting_data = get_post_meta( $event->ID, Virtual_Events_Meta::$prefix . 'microsoft_meeting_data', true ); + $meeting_body = [ + 'subject' => $meeting_data['subject'], + 'start' => str_replace( '.0000000', '', $meeting_data['start'] ), + 'end' => str_replace( '.0000000', '', $meeting_data['end'] ), + ]; + + $diff_summary = $event_body['subject'] !== $meeting_body['subject']; + $diff_start = array_diff_assoc( $event_body['start'], $meeting_body['start'] ); + $diff_end = array_diff_assoc( $event_body['end'], $meeting_body['end'] ); + + // Nothing to update. + if ( empty( $diff_summary ) && empty( $diff_start ) && empty( $diff_end ) ) { + return; + } + + $post_id = $event->ID; + + /** + * Filters the contents of the request that will be made to the Microsoft API to update a meeting link. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param array The current content of the request body. + * @param \WP_Post $event The event post object, as decorated by the `tribe_get_event` function. + * @param Meetings $this The current API handler object instance. + */ + $body = apply_filters( + "tec_events_virtual_meetings_microsoft_{$this::$meeting_type}_update_request_body", + $event_body, + $event, + $this + ); + + // Load the account. + $account_id = $this->api->get_account_id_in_admin( $post_id ); + if ( empty( $account_id ) ) { + return; + } + + $this->api->load_account_by_id( $account_id ); + if ( ! $this->api->get_token_authorization_header() ) { + return; + } + + // Update. + $this->api->patch( + Api::$api_base . "me/events/{$event->microsoft_meeting_id}", + [ + 'headers' => [ + 'Authorization' => $this->api->get_token_authorization_header(), + 'Content-Type' => 'application/json', + ], + 'body' => wp_json_encode( $body ), + ], + Api::PUT_RESPONSE_CODE + )->then( + function ( array $response ) use ( $post_id, $event ) { + $this->process_meeting_update_response( $response, $event, $post_id ); + } + )->or_catch( + function ( \WP_Error $error ) use ( $event ) { + do_action( + 'tribe_log', + 'error', + __CLASS__, + [ + 'action' => __METHOD__, + 'code' => $error->get_error_code(), + 'message' => $error->get_error_message(), + ] + ); + + $error_data = wp_json_encode( $error->get_error_data() ); + $decoded = json_decode( $error_data, true ); + $error_message = null; + if ( false !== $decoded && is_array( $decoded ) && isset( $decoded['message'] ) ) { + $error_message = $decoded['message']; + } + + // Do something to indicate failure with $error_message? + $this->classic_editor->render_meeting_generation_error_details( $event, $error_message, true ); + } + ); + } + + /** + * Processes the Microsoft API Meeting update response to massage, filter and save the data. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param array $response The entire Microsoft API response. + * @param \WP_Post $event The event post object. + * @param int $post_id The event post ID. + * + * @return array|false The Microsoft Meet data or `false` on error. + */ + protected function process_meeting_update_response( $response, $event, $post_id ) { + if ( empty( $response['response']['code'] ) || 200 !== $response['response']['code'] ) { + return false; + } + + $event = tribe_get_event( $event ); + if ( ! $event instanceof \WP_Post ) { + return false; + } + + $success = false; + + // Load the account. + $account_id = $this->api->get_account_id_in_admin( $post_id ); + if ( empty( $account_id ) ) { + return false; + } + + $this->api->load_account_by_id( $account_id ); + if ( ! $this->api->get_token_authorization_header() ) { + return false; + } + + $this->api->get( + Api::$api_base . "/me/events/{$event->microsoft_meeting_id}", + [ + 'headers' => [ + 'Authorization' => $this->api->get_token_authorization_header(), + 'Content-Type' => 'application/json', + ], + ], + Api::GET_RESPONSE_CODE + )->then( + function ( array $response ) use ( $post_id, &$success ) { + $body = json_decode( wp_remote_retrieve_body( $response ), true ); + $body_set = $this->api->has_proper_response_body( $body ); + + // If the response is empty, then do not update the post. + if ( $body_set ) { + $data = $this->prepare_meeting_data( $body ); + $this->update_post_meta( $post_id, $body, $data ); + } + + $success = true; + } + )->or_catch( + function ( \WP_Error $error ) use ( $event ) { + do_action( + 'tribe_log', + 'error', + __CLASS__, + [ + 'action' => __METHOD__, + 'code' => $error->get_error_code(), + 'message' => $error->get_error_message(), + ] + ); + + $error_data = wp_json_encode( $error->get_error_data() ); + $decoded = json_decode( $error_data, true ); + $error_message = null; + if ( false !== $decoded && is_array( $decoded ) && isset( $decoded['message'] ) ) { + $error_message = $decoded['message']; + } + + $this->classic_editor->render_meeting_generation_error_details( $event, $error_message, true ); + } + ); + + return $success; + } + + /** + * Get the regex to get the Microsoft Team ID from event content. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @return string The regex to get Microsoft Team ID from event content, from the filter if a string or the default property. + */ + public function get_regex_microsoft_team_meeting_id() { + /** + * Allow filtering of the regex to get Microsoft Team ID. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * @todo [plugin-consolidation] Merge VE into ECP, hook to be deprecated and renamed. + * + * @param string The regex to verify a Microsoft Team ID. + */ + $regex_team_meeting_id = apply_filters( 'tec_events_virtual_microsoft_regex_team_meeting_id', $this->regex_team_meeting_id ); + + return is_string( $regex_team_meeting_id ) ? $regex_team_meeting_id : $this->regex_team_meeting_id; + } + + /** + * Filters and massages the meeting data to prepare it to be saved in the post meta. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param array $body The response body, in raw format. + * + * @return array The meeting data, massaged and filtered. + */ + protected function prepare_meeting_data( $body ) { + $event_body = Arr::get( $body, 'body', [] ); + $event_content = Arr::get( $event_body, 'content', '' ); + $online_meeting = Arr::get( $body, 'onlineMeeting', [] ); + $online_meeting_provider = Arr::get( $body, 'onlineMeetingProvider', '' ); + $organizer = Arr::get( $body, 'organizer', [] ); + $email_address = Arr::get( $organizer, 'emailAddress', [] ); + $weblink = Arr::get( $body, 'webLink', '' ); + $conference_id = str_replace( 'https://join.skype.com/', '', Arr::get( $online_meeting, 'joinUrl', '' ) ); + + if ( $online_meeting_provider === 'teamsForBusiness' ) { + preg_match( $this->get_regex_microsoft_team_meeting_id(), strip_tags( $event_content, '

                          ' ), $matches ); + if ( isset( $matches['id'] ) ) { + $conference_id = $matches['id']; + } + } + + $data = [ + 'id' => Arr::get( $body, 'id', '' ), + 'join_url' => Arr::get( $online_meeting, 'joinUrl', $weblink ), + 'provider' => $online_meeting_provider, + 'conference_id' => $conference_id, + 'host_email' => Arr::get( $email_address, 'address', '' ), + ]; + + /** + * Filters the Microsoft API meeting data after a successful meeting creation. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * @todo [plugin-consolidation] Merge VE into ECP, hook to be deprecated and renamed. + * + * @param array $data The data that will be returned in the AJAX response. + * @param array $body The raw data returned from the Microsoft API for the request. + */ + $data = apply_filters( "tec_events_virtual_meetings_microsoft_{$this::$meeting_type}_data", $data, $body ); + + return $data; + } + + /** + * Processes the Microsoft API Meeting connection response. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param array $response The entire Microsoft API response. + * @param int $post_id The event post ID. + * + * @return array The Microsoft Meet data. + */ + public function process_meeting_connection_response( array $response, $post_id, $event, $account_id ) { + return $this->process_meeting_creation_response( $response, $post_id, $event, $account_id ); + } + + /** + * Processes the Microsoft API Meeting creation response to massage, filter and save the data. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param array $response The entire Microsoft API response. + * @param int $post_id The event post ID. + * + * @return array The Microsoft Meet data. + */ + protected function process_meeting_creation_response( array $response, $post_id, $event = '', $account_id = '' ) { + $body = json_decode( wp_remote_retrieve_body( $response ), true ); + $body_set = $this->api->has_proper_response_body( $body, ['webLink'] ); + + if ( ! $body_set ) { + do_action( + 'tribe_log', + 'error', + __CLASS__, + [ + 'action' => __METHOD__, + 'message' => "Microsoft API {$this::$meeting_type} creation response is malformed.", + 'response' => $response, + ] + ); + + return []; + } + + $data = $this->prepare_meeting_data( $body ); + $this->update_post_meta( $post_id, $body, $data ); + + return $data; + } + + /** + * Updates the event post meta depending on the meeting data provided. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param int $post_id The post ID of the event to update the Microsoft Meet related meta for. + * @param array $response_body The Microsoft API response body, as received from it. + * @param array $meeting_data The Microsoft Meet data, as returned from the Microsoft API request. + */ + protected function update_post_meta( $post_id, array $response_body, array $meeting_data ) { + $prefix = Virtual_Events_Meta::$prefix; + + // Cache the raw meeting data for future use. + update_post_meta( $post_id, $prefix . 'microsoft_meeting_data', $response_body, true ); + + // Set the video source to prevent issues with loading the information later. + update_post_meta( $post_id, Virtual_Events_Meta::$key_video_source, Microsoft_Meta::$key_source_id ); + + $map = [ + $prefix . 'microsoft_meeting_id' => 'id', + $prefix . 'microsoft_join_url' => 'join_url', + $prefix . 'microsoft_host_email' => 'host_email', + $prefix . 'microsoft_provider' => 'provider', + $prefix . 'microsoft_conference_id' => 'conference_id', + ]; + + foreach ( $map as $meta_key => $data_key ) { + if ( isset( $meeting_data[ $data_key ] ) ) { + update_post_meta( $post_id, $meta_key, $meeting_data[ $data_key ] ); + } else { + delete_post_meta( $post_id, $meta_key ); + } + } + + // Add the meeting type, it's not part of the data coming from Microsoft. + update_post_meta( $post_id, $prefix . 'microsoft_meeting_type', static::$meeting_type ); + } + + /** + * Format the event date for Microsoft. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param string $date The start date of the event. + * @param string $time The start time of the event. + * @param string $time_zone The timezone of the event. + * @param boolean $all_day Whether an event is all day. + * @param boolean $tomorrow Whether to add a day to the datetime, used for all day events to get midnight to midnight + * + * @return array An array with dateTime and timezone formatted for Microsoft using DateTime::RFC3339 - 'Y-m-d\TH:i:sP'. + */ + public function format_date_for_microsoft( $date, $time, $time_zone, $all_day = false, $tomorrow = false ) { + // Utilize the datepicker format when parse the Event Date to prevent the wrong date in Microsoft. + $datepicker_format = Dates::datepicker_formats( tribe_get_option( 'datepickerFormat' ) ); + $date_time = Dates::datetime_from_format( $datepicker_format, $date ) . ' ' . $time; + $date = Dates::build_date_object( $date_time, $time_zone )->format( 'Y-m-d\TH:i:s' ); + + // Support all day events as the Microsoft API expects the end date to be midnight of the next day. + if ( $all_day && $tomorrow ) { + $date = Dates::build_date_object( $date_time, $time_zone )->add( new \DateInterval( 'P1D' ) )->format( 'Y-m-d' ); + } else if ( $all_day ) { + $date = Dates::build_date_object( $date_time, $time_zone )->format( 'Y-m-d' ); + } + + return [ + 'dateTime' => $date, + 'timeZone' => $time_zone, + ]; + } +} diff --git a/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/Microsoft/Account_API.php b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/Microsoft/Account_API.php new file mode 100644 index 000000000..229a48ff9 --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/Microsoft/Account_API.php @@ -0,0 +1,383 @@ +load_account_by_id( $account_id ); + if ( empty( $account_loaded ) ) { + return $revoked; + } + + $revoke_url = Url::$revoke_url; + if ( defined( 'TEC_VIRTUAL_EVENTS_MICROSOFT_API_REVOKE_URL' ) ) { + $revoke_url = TEC_VIRTUAL_EVENTS_MICROSOFT_API_REVOKE_URL; + } + + $this->post( + $revoke_url, + [ + 'headers' => [ + 'Authorization' => $this->get_token_authorization_header(), + ], + 'body' => [ + 'token' => $this->access_token, + ], + ], + Api::OAUTH_POST_RESPONSE_CODE + )->then( + function ( array $response ) use ( &$revoked ) { + $body = json_decode( wp_remote_retrieve_body( $response ), true ); + $body_set = $this->has_proper_response_body( $body, [ 'status' ] ); + if ( + ! ( + $body_set + && 'success' === $body['status'] + ) + ) { + do_action( 'tribe_log', 'error', __CLASS__, [ + 'action' => __METHOD__, + 'message' => 'Microsoft Account Revoke Failed.', + 'response' => $body, + ] ); + + return $revoked; + } + + $revoked = true; + + return $revoked; + } + ); + + return $revoked; + } + + /** + * Handles an OAuth authorization return request. + * + * The method will `wp_die` if the nonce is not valid. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param string|null $nonce The nonce string to authorize the authorization request. + * + * @return bool Whether the authorization request is valid and was handled or not. + */ + public function handle_auth_request( $nonce = null ) { + if ( ! wp_verify_nonce( $nonce, $this->actions::$authorize_nonce_action ) ) { + wp_die( _x( + 'You are not authorized to do this.', + 'The message shown to a user providing a wrong Microsoft API OAuth authorization nonce.', + 'tribe-events-calendar-pro' + ) + ); + } + $handled = false; + + // This is response from our OAuth proxy service. + $service_response_body = tribe_get_request_var( 'response_body', false ); + if ( $service_response_body ) { + $this->save_account( [ 'body' => base64_decode( $service_response_body ) ] ); + + $handled = true; + } + + wp_safe_redirect( Settings::admin_url() ); + + return $handled; + } + + /** + * {@inheritDoc} + */ + public function save_account( array $response ) { + if ( ! $this->has_proper_credentials( $response ) ) { + do_action( 'tribe_log', 'error', __CLASS__, [ + 'action' => __METHOD__, + 'code' => wp_remote_retrieve_response_code( $response ), + 'message' => 'Response body missing or malformed', + ] ); + + return false; + } + + // Set the access token here as we have to call fetch_user immediately, to get the user information. + $credentials = json_decode( wp_remote_retrieve_body( $response ), true ); + $access_token = $credentials['access_token']; + $refresh_token = $credentials['refresh_token']; + $expiration = $this->get_expiration_time_stamp( $credentials['expires_in'] ); + + // Get the user who authorized the account. + $user_fields = $this->fetch_user( 'me', false, $access_token ); + if ( empty( $user_fields['id'] ) ) { + return false; + } + + $email = isset( $user_fields['mail'] ) && ! is_array( $user_fields['mail'] ) ? $user_fields['mail'] : ''; + $email = empty( $email ) && isset( $user_fields['userPrincipalName'] ) ? $user_fields['userPrincipalName'] : $email; + + $user = [ + 'id' => $user_fields['id'], + 'name' => $user_fields['displayName'] . ' (' . $email .')', + 'email' => $email, + ]; + + $account_data = $this->prepare_account_data( $user, $access_token, $refresh_token, $expiration, [], true ); + $existing_account = $this->get_account_by_id( $account_data['id'] ); + $this->set_account_by_id( $account_data ); + + $message = $existing_account ? + sprintf( + /* Translators: %1$s: the name of the account that has been added or refreshed from Microsoft . */ + _x( + 'Microsoft connection refreshed for %1$s', + 'The refresh message for a Microsoft account.', + 'tribe-events-calendar-pro' + ), + $account_data['name'] + ) + : sprintf( + /* Translators: %1$s: the name of the account that has been added or refreshed from Microsoft . */ + _x( + 'Microsoft Account added for %1$s', + 'The Microsoft account added message.', + 'tribe-events-calendar-pro' + ), + $account_data['name'] + ); + + /** @var \Tribe__Cache $cache */ + $cache = tribe( 'cache' ); + $cache->set_transient( Settings::$option_prefix . 'account_message', $message, MINUTE_IN_SECONDS ); + + return $access_token; + } + + /** + * {@inheritDoc} + */ + public function save_access_and_expiration( $id, array $response ) { + if ( ! $this->has_proper_credentials( $response ) ) { + do_action( 'tribe_log', 'error', __CLASS__, [ + 'action' => __METHOD__, + 'code' => wp_remote_retrieve_response_code( $response ), + 'message' => 'Response body missing or malformed', + ] ); + + return false; + } + + $credentials = json_decode( wp_remote_retrieve_body( $response ), true ); + $access_token = $credentials['access_token']; + $refresh_token = $credentials['refresh_token']; + $expiration = $this->get_expiration_time_stamp( $credentials['expires_in'] ); + + $this->set_account_access_by_id( $id, $access_token, $refresh_token, $expiration ); + + return true; + } + + /** + * {@inheritDoc} + */ + protected function prepare_account_data( $user, $access_token, $refresh_token, $expiration, $settings, $status ) { + return [ + 'id' => $user['id'], + 'name' => $user['name'], + 'email' => $user['email'], + 'access_token' => $access_token, + 'refresh_token' => $refresh_token, + 'expiration' => $expiration, + 'status' => $status, + ]; + } + + /** + * Get calendar settings for a user. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @return array $data An array of settings from the response to get calendar on Microsoft API. + */ + public function get_calendar_settings() { + $data = []; + + $this->get( + Api::$api_base . "me/calendar", + [ + 'headers' => [ + 'authorization' => $this->get_token_authorization_header(), + 'content-type' => 'application/json', + ], + ], + 200 + )->then( + static function ( array $response ) use ( &$data ) { + $body = json_decode( wp_remote_retrieve_body( $response ), true ); + $body_set = self::has_proper_response_body( $body ); + + if ( ! $body_set ) { + do_action( 'tribe_log', 'error', __CLASS__, [ + 'action' => __METHOD__, + 'message' => 'Microsoft API user response is malformed.', + 'response' => $body, + ] ); + + return []; + } + $data = $body; + } + )->or_catch( + function ( \WP_Error $error ) { + do_action( + 'tribe_log', + 'error', + __CLASS__, + [ + 'action' => __METHOD__, + 'code' => $error->get_error_code(), + 'message' => $error->get_error_message(), + ] + ); + } + ); + + return $data; + } + + /** + * Get the available meeting providers from the get calendar response. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param array $settings An array of settings from the response to get calendar on Microsoft API. + * + * @return array $online_meetings An array of allowed online meetings for the Microsoft API. + */ + public function get_available_meeting_providers( array $settings = [] ) { + $allowed_online_meetings = Arr::get( $settings, 'allowedOnlineMeetingProviders', [] ); + $allowed_online_meetings = array_flip( $allowed_online_meetings ); + + $online_meetings = [ + 'teamsForBusiness' => [ + 'available' => isset( $allowed_online_meetings['teamsForBusiness'] ), + 'label' => _x( 'Teams', 'The name of the online meeting provider for Microsoft API.', 'tribe-events-calendar-pro' ), + 'tooltip' => [ + 'classes_wrap' => [ 'tec-events-virtual-meetings-api__type-options--tooltip' ], + 'message' => _x( + 'Teams is active when you have it enabled in your work or school account. (it is not available in personal accounts)', + 'Explains when the Skype for personal is active when creating a meeting link for the Microsoft API.', + 'tribe-events-calendar-pro' + ), + ], + ], + 'skypeForBusiness' => [ + 'available' => isset( $allowed_online_meetings['skypeForBusiness'] ), + 'label' => _x( 'Skype (business)', 'The name of the online meeting provider for Microsoft API.', 'tribe-events-calendar-pro' ), + 'tooltip' => [ + 'classes_wrap' => [ 'tec-events-virtual-meetings-api__type-options--tooltip' ], + 'message' => _x( + 'Skype for business use is active when you have it enabled in your work or school account. (it is not available in personal accounts)', + 'Explains when the Skype for personal is active when creating a meeting link for the Microsoft API.', + 'tribe-events-calendar-pro' + ), + ], + ], + 'skypeForConsumer' => [ + 'available' => isset( $allowed_online_meetings['skypeForConsumer'] ), + 'label' => _x( 'Skype (personal)', 'The name of the online meeting provider for Microsoft API.', 'tribe-events-calendar-pro' ), + 'tooltip' => [ + 'classes_wrap' => [ 'tec-events-virtual-meetings-api__type-options--tooltip' ], + 'message' => _x( + 'Skype for personal use is active when you have a paid Office 365 subscription.', + 'Explains when the Skype for personal is active when creating a meeting link for the Microsoft API.', + 'tribe-events-calendar-pro' + ), + ], + ], + ]; + + /** + * Filters the allowed online meetings for a Microsoft account. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * @todo [plugin-consolidation] Merge VE into ECP, hook to be deprecated and renamed. + * + * @param array $online_meetings An array of allowed online meetings for the Microsoft API. + */ + $online_meetings = apply_filters( 'tribe_events_virtual_meetings_zoom_password_requirements', $online_meetings ); + + return $online_meetings; + } + + /** + * Get the default Microsoft Meeting Provider. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param array $online_meetings An array of allowed online meetings for the Microsoft API. + * + * @return string The key to the default Microsoft meeting provider. + */ + public function get_default_meeting_provider( array $available_meetings = [] ) { + $active_providers = wp_list_filter( + $available_meetings, + [ 'available' => true ], + ); + + if ( empty( $active_providers ) || ! is_array( $active_providers ) ) { + return ''; + } + + // If multiple providers then default to Teams of Skype for Business. + if ( count( $active_providers ) > 1 ) { + if ( isset( $active_providers['teamsForBusiness'] ) ) { + return 'teamsForBusiness'; + } elseif ( isset( $active_providers['skypeForBusiness'] ) ) { + return 'skypeForBusiness'; + } + } + + return key($active_providers); + } +} diff --git a/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/Microsoft/Actions.php b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/Microsoft/Actions.php new file mode 100644 index 000000000..93e194a0e --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/Microsoft/Actions.php @@ -0,0 +1,34 @@ +setup( static::$api_id ); + } +} diff --git a/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/Microsoft/Api.php b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/Microsoft/Api.php new file mode 100644 index 000000000..ac24367e0 --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/Microsoft/Api.php @@ -0,0 +1,360 @@ +encryption = ( ! empty( $encryption ) ? $encryption : tribe( Encryption::class ) ); + $this->template_modifications = $template_modifications; + $this->actions = $actions; + $this->url = $url; + + // Attempt to load an account. + $this->load_account(); + } + + /** + * {@inheritDoc} + */ + public function refresh_access_token( $id, $refresh_token ) { + $refreshed = false; + + $this->post( + $this->url::to_refresh(), + [ + 'body' => [ + 'grant_type' => 'refresh_token', + 'refresh_token' => $refresh_token, + ], + ], + 200 + )->then( + function ( array $response ) use ( &$id, &$refreshed ) { + $body = json_decode( wp_remote_retrieve_body( $response ), true ); + $body_set = $this->has_proper_response_body( $body, [ 'access_token', 'expires_in' ] ); + if ( ! $body_set ) { + do_action( 'tribe_log', 'error', __CLASS__, [ + 'action' => __METHOD__, + 'message' => 'Microsoft API access token refresh response is malformed.', + 'response' => $body, + ] ); + + return false; + } + + $refreshed = $this->save_access_and_expiration( $id, $response ); + + return $refreshed; + } + ); + + return $refreshed; + } + + /** + * Get the Meeting by ID from Microsoft and Return the Data. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param string $web_link The web link to the meeting. + * + * @return array An array of data from the Microsoft API. + */ + public function fetch_event_data( $microsoft_event_id ) { + if ( ! $this->get_token_authorization_header() ) { + return []; + } + + $data = []; + + $this->get( + self::$api_base . "me/events/{$microsoft_event_id}", + [ + 'headers' => [ + 'Authorization' => $this->get_token_authorization_header(), + 'Content-Type' => 'application/json', + ], + 'body' => null, + ], + 200 + )->then( + function ( array $response ) use ( &$data ) { + $body = json_decode( wp_remote_retrieve_body( $response ), true ); + $body_set = $this->has_proper_response_body( $body ); + + if (! $body_set ) { + do_action( 'tribe_log', 'error', __CLASS__, [ + 'action' => __METHOD__, + 'message' => 'Microsoft API meetings is response is malformed.', + 'response' => $body, + ] ); + + return []; + } + + $data = $body; + } + )->or_catch( + function ( \WP_Error $error ) { + do_action( 'tribe_log', 'error', __CLASS__, [ + 'action' => __METHOD__, + 'code' => $error->get_error_code(), + 'message' => $error->get_error_message(), + ] ); + } + ); + + return $data; + } + + /** + * {@inheritDoc} + */ + public function fetch_user( $user_id = 'me', $settings = false, $access_token = '' ) { + if ( ! $this->get_token_authorization_header( $access_token ) ) { + return []; + } + + $this->get( + self::$api_base . $user_id, + [ + 'headers' => [ + 'Authorization' => $this->get_token_authorization_header( $access_token ), + 'Content-Type' => 'application/json', + ], + 'body' => null, + ], + 200 + )->then( + static function ( array $response ) use ( &$data ) { + $body = json_decode( wp_remote_retrieve_body( $response ), true ); + $body_set = self::has_proper_response_body( $body ); + + if ( ! $body_set ) { + do_action( 'tribe_log', 'error', __CLASS__, [ + 'action' => __METHOD__, + 'message' => 'Microsoft API user response is malformed.', + 'response' => $body, + ] ); + + return []; + } + $data = $body; + } + )->or_catch( + static function ( \WP_Error $error ) { + do_action( 'tribe_log', 'error', __CLASS__, [ + 'action' => __METHOD__, + 'code' => $error->get_error_code(), + 'message' => $error->get_error_message(), + ] ); + } + ); + + return $data; + } + + /** + * Get the List of all Users + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @return array An array of users from the Microsoft API. + */ + public function fetch_users() { + if ( ! $this->get_token_authorization_header() ) { + return []; + } + + $args = []; + + /** + * Filters the arguments for fetching users. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * @todo [plugin-consolidation] Merge VE into ECP, hook to be deprecated and renamed. + * + * @param array $args The default arguments to fetch users. + */ + $args = (array) apply_filters( 'tec_events_virtual_microsoft_get_users_arguments', $args ); + + // Get the initial page of users. + $users = $this->fetch_users_with_args( $args ); + + return $users; + } + + /** + * Get the List of Users by arguments. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @return array An array of data from the Microsoft API. + */ + public function fetch_users_with_args( $args ) { + if ( ! $this->get_token_authorization_header() ) { + return []; + } + + $data = []; + + $this->get( + self::$user_base, + [ + 'headers' => [ + 'Authorization' => $this->get_token_authorization_header(), + 'Content-Type' => 'application/json', + ], + 'body' => ! empty( $args ) ? $args : null, + ], + 200 + )->then( + static function ( array $response ) use ( &$data ) { + $body = json_decode( wp_remote_retrieve_body( $response ), true ); + $body_set = self::has_proper_response_body( $body ); + + if ( ! $body_set ) { + do_action( 'tribe_log', 'error', __CLASS__, [ + 'action' => __METHOD__, + 'message' => 'Microsoft API users response is malformed.', + 'response' => $body, + ] ); + + return []; + } + + if ( isset( $body['userPrincipalName'] ) ) { + $data[] = $body; + } else { + $data = $body; + } + } + )->or_catch( + static function ( \WP_Error $error ) { + do_action( 'tribe_log', 'error', __CLASS__, [ + 'action' => __METHOD__, + 'code' => $error->get_error_code(), + 'message' => $error->get_error_message(), + ] ); + } + ); + + return $data; + } + + /** + * Get the no Microsoft account found message. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @return string The message returned when no account found. + */ + public function get_no_account_message() { + return sprintf( + '%1$s %3$s', + esc_html_x( + 'No Microsoft account found.', + 'The start of the message for smart url/autodetect when there is no Microsoft account found.', + 'tribe-events-calendar-pro' + ), + Settings::admin_url(), + esc_html_x( + 'Please check your account connection.', + 'The link in of the message for smart url/autodetect when no Microsoft account is found.', + 'tribe-events-calendar-pro' + ) + ); + } + + /** + * Filters the API error message. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param string $api_message The API error message. + * @param array $body The json_decoded request body. + * @param Api_Response $response The response that will be returned. A non `null` value + * here will short-circuit the response. + * + * @return string $api_message The API error message. + */ + public function filter_api_error_message( $api_message, $body, $response ) { + if ( ! isset( $body['error']['message'] ) ) { + return $api_message; + } + + $api_message .= ' API Error: ' . $body['error']['message']; + + return $api_message; + } +} diff --git a/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/Microsoft/Classic_Editor.php b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/Microsoft/Classic_Editor.php new file mode 100644 index 000000000..eae22b9ae --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/Microsoft/Classic_Editor.php @@ -0,0 +1,406 @@ +api = $api; + $this->settings = $settings; + $this->template = $template; + $this->users = $users; + $this->url = $url; + $this->actions = $actions; + } + + /** + * {@inheritDoc} + */ + public function add_event_properties( $post = null ) { + return Microsoft_Meta::add_event_properties( $post ); + } + + /** + * Renders, echoing to the page, the API generator controls. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param null|\WP_Post|int $post The post object or ID of the event to generate the controls for, or `null` to use + * the global post object. + * @param bool $echo Whether to echo the template contents to the page (default) or to return it. + * @param bool $force_generator Whether to force to display the Meet generator. + * @param null|string $account_id The account id to use to load the link generators. + * + * @return string The template contents, if not rendered to the page. + */ + public function render_meeting_link_generator( $post = null, $echo = true, $force_generator = false, $account_id = null ) { + $post = tribe_get_event( $post ); + + if ( ! $post instanceof \WP_Post ) { + return ''; + } + + // Make sure to apply the properties to the event. + $post = $this->add_event_properties( $post ); + $meeting_link = $post->microsoft_join_url; + + // Load the account. + $account_loaded = $this->api->load_account_by_id( $account_id ); + + $candidate_types = [ + // Always allow by default. + 'meeting' => true, + ]; + $available_types = []; + + foreach ( $candidate_types as $type => $allow ) { + /** + * Allow filtering whether to allow link generation and to show controls for a meeting type. + * This will continue to allow previously generated links to be seen and removed. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * @todo [plugin-consolidation] Merge VE into ECP, hook to be deprecated and renamed. + * + * @param boolean $allow Whether to allow link generation. + * @param \WP_Post $post The post object of the Event context of the link generation. + */ + $allow = apply_filters( "tec_events_virtual_microsoft_{$type}_link_allow_generation", $allow, $post ); + + if ( tribe_is_truthy( $allow ) ) { + $available_types[] = $type; + } + } + + $allow_link_gen = count( $available_types ) > 0; + + if ( ! empty( $meeting_link ) && ! $force_generator ) { + // Meetings Details. + return $this->render_meeting_details( $post, $echo, $account_id, $account_loaded ); + } + + // Do not show the link generation controls if not allowed for any type. + if ( false === $allow_link_gen ) { + return ''; + } + + if ( count( $available_types ) > 0 ) { + // Microsoft Meets. + return $this->render_multiple_links_generator( $post, $echo, $account_id, $account_loaded ); + } + + if ( ! $account_loaded && 'disabled' !== $account_loaded ) { + return $this->render_account_disabled_details( false ); + } + + // If the account is disabled, display the disabled details message. + if ( 'disabled' === $account_loaded ) { + return $this->render_account_disabled_details(); + } + + return $this->render_initial_setup_options( $post, $echo ); + } + + /** + * Renders an existing Meeting details. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param \WP_Post $post The post object of the Event context of the link generation. + * @param bool $echo Whether to print the rendered HTML to the page or not. + * @param null|string $account_id The account id to use to load the link generators. + * @param bool $account_loaded The account is loaded successfully into the API. + * + * @return string|false Either the final content HTML or `false` if the template could be found. + */ + protected function render_meeting_details( \WP_Post $post, $echo = true, $account_id = null, $account_loaded = false ) { + // Make sure to apply the properties to the event. + $post = $this->add_event_properties( $post ); + + $details_title = _x( + 'Microsoft Meet:', + 'Title of the details box shown for a generated Microsoft Meet link in the backend.', + 'tribe-events-calendar-pro' + ); + + $message = ''; + if ( 'not-found' === $account_loaded ) { + $message = $this->render_account_disabled_details( false, true, false ); + } elseif ( 'disabled' === $account_loaded ) { + $message = $this->render_account_disabled_details( true, true, false ); + } + + $connected_msg = ''; + $manual_connected = get_post_meta( $post->ID, Virtual_Events_Meta::$key_autodetect_source, true ); + if ( Microsoft_Meta::$key_source_id === $manual_connected ) { + $connected_msg = _x( + 'This meeting is manually connected to the event and changes to the event will not alter the Microsoft Meet.', + 'Message for a manually connected Microsoft Meet.', + 'tribe-events-calendar-pro' + ); + } + + return $this->template->template( + 'virtual-metabox/microsoft/details', + [ + 'attrs' => [ + 'data-depends' => '#tribe-events-virtual-video-source', + 'data-condition' => static::$api_id, + 'data-microsoft-id' => $post->microsoft_meeting_id, + ], + 'connected' => Microsoft_Meta::$key_source_id === $manual_connected, + 'connected_msg' => $connected_msg, + 'event' => $post, + 'details_title' => $details_title, + 'remove_link_url' => $this->get_remove_link( $post ), + 'remove_link_label' => $this->get_remove_link_label(), + 'remove_attrs' => [ + 'data-confirmation' => $this->get_remove_confirmation_text(), + ], + 'account_name' => $this->api->loaded_account_name, + 'host_label' => _x( + 'Host: ', + 'The label used to designate the host of a Microsoft Meet.', + 'tribe-events-calendar-pro' + ), + 'microsoft_id' => $post->microsoft_meeting_id, + 'id_label' => _x( + 'ID: ', + 'The label used to prefix a Microsoft Meet in the backend.', + 'tribe-events-calendar-pro' + ), + 'message' => $message, + ], + $echo + ); + } + + /** + * Renders the link generator HTML for Microsoft Meet. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param \WP_Post $post The post object of the Event context of the link generation. + * @param bool $echo Whether to print the rendered HTML to the page or not. + * @param null|string $account_id The account id to use to load the link generators. + * @param bool $account_loaded The account is loaded successfully into the API. + * + * @return string|false Either the final content HTML or `false` if the template could be found. + */ + public function render_multiple_links_generator( \WP_Post $post, $echo = true, $account_id = null, $account_loaded = false ) { + $hosts = []; + if ( $account_id ) { + $hosts = $this->users->get_formatted_hosts_list( $account_id ); + } + + /** + * Filters the host list to use to assign to Microsoft Meet. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * @todo [plugin-consolidation] Merge VE into ECP, hook to be deprecated and renamed. + * + * @param array An array of Microsoft Users to use as the host. + */ + $hosts = apply_filters( 'tec_events_virtual_meetings_microsoft_hosts', $hosts ); + + // Display no hosts found error template. + if ( empty( $hosts ) ) { + return $this->render_no_hosts_found(); + } + + $message = ''; + if ( 'not-found' === $account_loaded ) { + $message = $this->render_account_disabled_details( false, true, false ); + } elseif ( 'disabled' === $account_loaded ) { + $message = $this->render_account_disabled_details( true, true, false ); + } + $api_id = static::$api_id; + $settings = $this->api->get_calendar_settings( $account_id, true ); + $available_meetings = $this->api->get_available_meeting_providers( $settings ); + $checked = $this->api->get_default_meeting_provider( $available_meetings ); + + return $this->template->template( + 'virtual-metabox/microsoft/setup', + [ + 'api_id' => $api_id, + 'event' => $post, + 'attrs' => [ + 'data-depends' => "#tribe-events-virtual-video-source", + 'data-condition' => $api_id, + 'data-account-id' => $account_id, + 'data-api-id' => $api_id, + ], + 'account_label' => _x( + 'Account: ', + 'The label used to designate the account of a Microsoft Meet.', + 'tribe-events-calendar-pro' + ), + 'account_name' => $this->api->loaded_account_name, + 'checked' => $checked, + 'generation_toggle_label' => _x( + 'Generate Microsoft Link', + 'The label of the toggle to show the links to generate Microsoft Meet.', + 'tribe-events-calendar-pro' + ), + 'generation_urls' => $this->get_link_creation_urls( $post, $available_meetings ), + 'generate_label' => _x( + 'Create ', + 'The label used to designate the next step in generation of a Microsoft Meet.', + 'tribe-events-calendar-pro' + ), + 'hosts' => [ + 'label' => _x( + 'Meeting Host', + 'The label of the Microsoft Meet host.', + 'tribe-events-calendar-pro' + ), + 'id' => 'tribe-events-virtual-microsoft-host', + 'class' => 'tec-events-virtual-meetings-api__host-dropdown tribe-events-virtual-meetings-microsoft__host-dropdown', + 'name' => 'tribe-events-virtual-microsoft-host', + 'selected' => '', + 'hosts_count' => count( $hosts ), + 'hosts_arr' => $hosts, + 'attrs' => [ + 'placeholder' => _x( + 'Select a Host', + 'The placeholder for the dropdown to select a host.', + 'tribe-events-calendar-pro' + ), + 'data-prevent-clear' => true, + 'data-force-search' => false, + 'data-options' => json_encode( $hosts ), + ], + ], + 'remove_link_url' => $this->get_remove_link( $post ), + 'remove_link_label' => $this->get_remove_link_label(), + 'remove_attrs' => [ + 'data-confirmation' => $this->get_remove_confirmation_text(), + ], + 'message' => $message, + 'message_classes' => [ 'tec-events-virtual-video-source-api-setup__messages-wrap' ], + ], + $echo + ); + } + + /** + * Returns the meeting creation links and labels. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param \WP_Post $post The post object of the Event context of the link creation. + * @param array $online_meetings An array of allowed online meetings for the Microsoft API. + * + * @return array> A map (by meeting type) of unpackable arrays, each one containing the URL and + * label for the creation link HTML code. + */ + public function get_link_creation_urls( \WP_Post $post, $available_meetings = [] ) { + $data = []; + + foreach ( $available_meetings as $meeting_key => $meeting_available ) { + $data[ $meeting_key ] = [ + $this->url->to_generate_meeting_link( $post ), + $meeting_available['label'], + ! $meeting_available['available'], + $meeting_available['tooltip'], + ]; + } + + /** + * Allows filtering the creation links URL and label before rendering them on the admin UI. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * @todo [plugin-consolidation] Merge VE into ECP, hook to be deprecated and renamed. + * + * @param array> A map (by meeting type) of unpackable arrays, each one containing the URL and + * label for the creation link HTML code. + * @param \WP_Post $post The post object of the Event context of the link creation. + */ + return apply_filters( 'tec_events_virtual_microsoft_meeting_link_creation_urls', $data, $post ); + } + + /** + * {@inheritDoc} + */ + public function ajax_selection( $nonce = null ) { + if ( ! $this->check_ajax_nonce( $this->actions::$select_action, $nonce ) ) { + return false; + } + + $event = $this->check_ajax_post(); + + if ( ! $event ) { + return false; + } + + $account_id = tribe_get_request_var( 'account_id' ); + + // If no account id found, fail the request. + if ( empty( $account_id ) ) { + $error_message = _x( 'The Microsoft Account ID is missing to access the API.', 'Account ID is missing error message.', 'tribe-events-calendar-pro' ); + $this->render_meeting_generation_error_details( $event, $error_message, true ); + + wp_die(); + } + + $account_loaded = $this->api->load_account_by_id( $account_id ); + // If there is no token, then stop as the connection will fail. + if ( ! $account_loaded ) { + $error_message = _x( 'The Microsoft Account could not be loaded to access the API. Please try refreshing the account in the Events API Settings.', 'Microsoft account loading error message.', 'tribe-events-calendar-pro' ); + + $this->render_meeting_generation_error_details( $event, $error_message, true ); + + wp_die(); + } + + $post_id = $event->ID; + + // Set the video source to Microsoft. + update_post_meta( $post_id, Virtual_Event_Meta::$key_video_source, Microsoft_Meta::$key_source_id ); + + // get the setup + $this->render_meeting_link_generator( $event, true, false, $account_id ); + $this->api->save_account_id_to_post( $post_id, $account_id ); + + wp_die(); + } +} diff --git a/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/Microsoft/Email.php b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/Microsoft/Email.php new file mode 100644 index 000000000..092fac9d7 --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/Microsoft/Email.php @@ -0,0 +1,59 @@ +virtual ) + || empty( $event->virtual_meeting ) + || Microsoft_Event_Meta::$key_source_id !== $event->virtual_meeting_provider + ) { + return $template; + } + + $template = 'microsoft/email/ticket-email-microsoft-details'; + + return $template; + } +} diff --git a/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/Microsoft/Event_Export.php b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/Microsoft/Event_Export.php new file mode 100644 index 000000000..bf555a628 --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/Microsoft/Event_Export.php @@ -0,0 +1,31 @@ +microsoft_meeting_id; + } + + /** + * {@inheritDoc} + */ + protected static function get_meeting_join_url( WP_Post $event ) { + return $event->microsoft_join_url; + } + + /** + * {@inheritDoc} + */ + protected static function get_meeting_data_for_rest_api( WP_Post $event ) { + return [ + 'id' => $event->microsoft_meeting_id, + 'url' => $event->microsoft_join_url, + 'host_email' => $event->microsoft_host_email, + 'type' => $event->microsoft_provider, + ]; + } + + /** + * {@inheritDoc} + */ + protected static function get_api_properties( WP_Post $event, $prefix, $is_new_event ) { + $event->microsoft_provider = $is_new_event ? '' : get_post_meta( $event->ID, $prefix . 'microsoft_provider', true ); + $event->microsoft_meeting_id = $is_new_event ? '' : get_post_meta( $event->ID, $prefix . 'microsoft_meeting_id', true ); + $event->microsoft_conference_id = $is_new_event ? '' : get_post_meta( $event->ID, $prefix . 'microsoft_conference_id', true ); + $event->microsoft_join_url = $is_new_event ? '' : get_post_meta( $event->ID, $prefix . 'microsoft_join_url', true ); + $event->virtual_meeting_display_details = $is_new_event ? '' : get_post_meta( $event->ID, $prefix . 'microsoft_display_details', true ); + $event->microsoft_host_email = $is_new_event ? '' : get_post_meta( $event->ID, $prefix . 'microsoft_host_email', true ); + + return $event; + } + + /** + * Adds related properties to an Event Automator event details map. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param array $next_event An array of event details. + * @param WP_Post $event An instance of the event WP_Post object. + * + * @return array An array of event details. + */ + public static function add_event_automator_properties( array $next_event, WP_Post $event ) { + if ( $event->virtual_video_source !== static::$key_source_id ) { + return $next_event; + } + + $next_event['virtual_url'] = $event->virtual_meeting_url; + $next_event['virtual_provider_details'] = [ + 'microsoft_provider' => $event->microsoft_provider, + 'microsoft_meeting_id' => $event->microsoft_meeting_id, + 'microsoft_conference_id' => $event->microsoft_conference_id, + 'microsoft_join_url' => $event->microsoft_join_url, + 'microsoft_display_details' => $event->virtual_meeting_display_details, + 'microsoft_host_email' => $event->microsoft_host_email, + ]; + + return $next_event; + } +} diff --git a/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/Microsoft/Meetings.php b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/Microsoft/Meetings.php new file mode 100644 index 000000000..8c56c39e0 --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/Microsoft/Meetings.php @@ -0,0 +1,133 @@ +(\boutlook\b)).+?((read\/|item\/|itemid=)(?([a-zA-Z0-9%]*)))~'; + + /** + * Get the regex to get the Microsoft Event hash id from a url. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @return string The regex to get Microsoft event hash id from a url, from the filter if a string or the default property. + */ + public function get_regex_microsoft_event_hash_url() { + /** + * Allow filtering of the regex to get Microsoft event hash url. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * @todo [plugin-consolidation] Merge VE into ECP, hook to be deprecated and renamed. + * + * @param string The regex to verify a Microsoft event hash url. + */ + $regex_meeting_join_url = apply_filters( 'tec_events_virtual_microsoft_regex_event_hash_url', $this->regex_event_hash_url ); + + return is_string( $regex_meeting_join_url ) ? $regex_meeting_join_url : $this->regex_event_hash_url; + } + + /** + * {@inheritDoc} + */ + public function filter_virtual_autodetect_microsoft( $autodetect, $video_url, $video_source, $event, $ajax_data ) { + if ( $autodetect['detected'] || $autodetect['guess'] ) { + return $autodetect; + } + + // All video sources are checked on the first autodetect run, only prevent checking of this source if it is set. + if ( ! empty( $video_source ) && Microsoft_Meta::$key_source_id !== $video_source ) { + return $autodetect; + } + + // If virtual url, fail the request. + if ( empty( $video_url ) ) { + $autodetect['message'] = _x( 'No url found. Please enter a Outlook Event URL or change the selected source.', 'Microsoft autodetect missing video url error message.', 'tribe-events-calendar-pro' ); + + return $autodetect; + } + + // Attempt to find the Microsoft event id from the url. + preg_match( $this->get_regex_microsoft_event_hash_url(), $video_url, $matches ); + $event_link_found = isset( $matches['name'] ) && isset( $matches['id'] ) ? true : false; + if ( ! $event_link_found ) { + $error_message = _x( 'No Microsoft Event link found. Please check your URL.', 'No Microsoft Event link found for autodetect error message.', 'tribe-events-calendar-pro' ); + $autodetect['message'] = $error_message; + + return $autodetect; + } + + $autodetect['guess'] = Microsoft_Meta::$key_source_id; + + // Use the microsoft-account if available, otherwise try with the first account stored in the site. + $accounts = $this->api->get_list_of_accounts(); + $account_id = empty( $ajax_data['microsoft-account'] ) ? key( array_slice( $accounts, 0, 1 ) ) : esc_attr( $ajax_data['microsoft-account'] ); + + if ( empty( $account_id ) ) { + $autodetect['message'] = $this->api->get_no_account_message(); + + return $autodetect; + } + + $this->api->load_account_by_id( $account_id ); + if ( ! $this->api->is_ready() ) { + $autodetect['message'] = $this->api->get_no_account_message(); + + return $autodetect; + } + + // Decode url and change %2F to %2D as Outlook encodes dashes wrong. + $microsoft_event_id = urldecode( str_replace( '%2F', '%2D', $matches['id'] ) ); + $data = $this->api->fetch_event_data( $microsoft_event_id ); + + // If no Microsoft Meet found it is because the account is not authorized or does not exist. + if ( empty( $data ) ) { + $autodetect['message'] = _x( 'This Microsoft Meet could not be found in the selected account. Please select the associated account below and try again.', 'No Microsoft Meet found for autodetect error message.', 'tribe-events-calendar-pro' ); + + return $autodetect; + } + + // Set as virtual event and video source to Microsoft. + update_post_meta( $event->ID, Virtual_Events_Meta::$key_virtual, true ); + update_post_meta( $event->ID, Virtual_Events_Meta::$key_video_source, Microsoft_Meta::$key_source_id ); + $event->virtual_video_source = Microsoft_Meta::$key_source_id; + + // Save Microsoft data. + $new_response['body'] = json_encode( $data ); + $this->process_meeting_connection_response( $new_response, $event->ID, $event, $account_id ); + + // Set Microsoft as the autodetect source and set up success data and send back to smart url ui. + update_post_meta( $event->ID, Virtual_Events_Meta::$key_autodetect_source, Microsoft_Meta::$key_source_id ); + $this->api->save_account_id_to_post( $event->ID, $account_id ); + $autodetect['detected'] = true; + $autodetect['autodetect-source'] = Microsoft_Meta::$key_source_id; + $autodetect['message'] = _x( 'Microsoft Meet successfully connected!', 'Microsoft Meet connected success message.', 'tribe-events-calendar-pro' ); + $autodetect['html'] = $this->classic_editor->get_meeting_details( $event, false, $account_id, false ); + + return $autodetect; + } +} diff --git a/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/Microsoft/Settings.php b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/Microsoft/Settings.php new file mode 100644 index 000000000..d42619c26 --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/Microsoft/Settings.php @@ -0,0 +1,44 @@ +api = $api; + $this->template_modifications = $template_modifications; + $this->url = $url; + self::$api_id = Microsoft_Meta::$key_source_id; + } +} diff --git a/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/Microsoft/Template_Modifications.php b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/Microsoft/Template_Modifications.php new file mode 100644 index 000000000..822e266a4 --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/Microsoft/Template_Modifications.php @@ -0,0 +1,31 @@ +actions = $actions; + } +} diff --git a/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/Microsoft/Users.php b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/Microsoft/Users.php new file mode 100644 index 000000000..ff21e9632 --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/Microsoft/Users.php @@ -0,0 +1,68 @@ +api = $api; + $this->admin_template = $admin_template; + } + + /** + * {@inheritDoc} + */ + protected function get_users_array( $available_hosts ) { + if ( empty( $available_hosts ) ) { + return []; + } + + return $available_hosts; + } + + /** + * {@inheritDoc} + */ + protected function get_formatted_user_info( $user ) { + $user_info = []; + $user_info['email'] = Arr::get( $user, 'userPrincipalName', '' ); + $user_info['name'] = Arr::get( $user, 'displayName', '' ); + $user_info['last_name'] = Arr::get( $user, 'surname', '' ); + $user_info['id'] = Arr::get( $user, 'userPrincipalName', '' ); + $user_info['value'] = Arr::get( $user, 'id', '' ); + + if ( empty( $user_info['last_name'] ) ) { + $user_info['last_name'] = Arr::get( $user, 'givenName', '' ); + } + + return $user_info; + } +} diff --git a/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/Microsoft_Provider.php b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/Microsoft_Provider.php new file mode 100644 index 000000000..8d8e40384 --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/Microsoft_Provider.php @@ -0,0 +1,492 @@ +container->singleton( 'events-virtual.meetings.microsoft', self::class ); + $this->container->singleton( self::class, self::class ); + + if ( ! $this->is_enabled() ) { + return; + } + + $this->add_actions(); + $this->add_filters(); + $this->hook_templates(); + $this->route_admin_by_nonce( $this->admin_routes(), 'manage_options' ); + } + + /** + * Hooks the filters required for the Microsoft API integration to work correctly. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + */ + protected function add_filters() { + add_filter( 'tec_settings_gmaps_js_api_start', [ $this, 'filter_addons_tab_fields' ] ); + add_filter( 'tec_events_virtual_meetings_api_error_message', [ $this, 'filter_api_error_message' ], 10, 3 ); + add_filter( 'tribe_events_virtual_video_sources', [ $this, 'add_video_source' ], 20, 2 ); + add_filter( 'tec_events_virtual_autodetect_video_sources', [ $this, 'add_autodetect_source' ], 20, 3 ); + add_filter( 'tec_events_virtual_video_source_autodetect_field_all', [ $this, 'filter_virtual_autodetect_field_accounts' ], 20, 5 ); + add_filter( 'tec_events_virtual_video_source_autodetect_field_microsoft-accounts', [ $this, 'filter_virtual_autodetect_field_accounts' ], 20, 5 ); + + add_filter( + 'tribe_rest_event_data', + $this->container->callback( Microsoft_Meta::class, 'attach_rest_properties' ), + 10, + 2 + ); + + add_filter( 'tribe_events_virtual_display_embed_video_hidden', [ $this, 'filter_display_embed_video_hidden' ], 10, 2 ); + add_filter( 'tec_events_virtual_export_fields', [ $this, 'filter_microsoft_source_microsoft_calendar_parameters' ], 10, 5 ); + add_filter( 'tec_events_virtual_export_fields', [ $this, 'filter_microsoft_source_ical_feed_items' ], 10, 5 ); + add_filter( 'tec_events_virtual_outlook_single_event_export_url', [ $this, 'filter_outlook_single_event_export_url_by_api' ], 10, 6 ); + add_action( 'tec_virtual_automator_map_event_details', [ $this, 'add_event_automator_properties' ], 10, 2 ); + } + + /** + * Filters the fields in the Events > Settings > APIs tab to add the ones provided by the extension. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param array $fields The current fields. + * + * @return array The fields, as updated by the settings. + */ + public function filter_addons_tab_fields( $fields ) { + if ( ! is_array( $fields ) ) { + return $fields; + } + + return tribe( Microsoft\Settings::class )->add_fields( $fields ); + } + + /** + * Filters the API error message. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param string $api_message The API error message. + * @param array $body The json_decoded request body. + * @param Api_Response $response The response that will be returned. A non `null` value + * here will short-circuit the response. + * + * @return string $api_message The API error message. + */ + public function filter_api_error_message( $api_message, $body, $response ) { + return $this->container->make( Api::class )->filter_api_error_message( $api_message, $body, $response ); + } + + /** + * Add the Microsoft Team Video Source. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param array An array of video sources. + * @param WP_Post $post The current event post object, as decorated by the `tribe_get_event` function. + * + * @return array An array of video sources. + */ + public function add_video_source( $video_sources, $post ) { + + $video_sources[] = [ + 'text' => _x( 'Microsoft (Teams and Skype)', 'The name of the video source.', 'tribe-events-calendar-pro' ), + 'id' => Microsoft_Meta::$key_source_id, + 'value' => Microsoft_Meta::$key_source_id, + 'selected' => Microsoft_Meta::$key_source_id === $post->virtual_video_source, + ]; + + return $video_sources; + } + + /** + * Add Microsoft Teams to Autodetect Source. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param array An array of autodetect sources. + * @param string $autodetect_source The ID of the current selected video source. + * @param WP_Post $post The current event post object, as decorated by the `tribe_get_event` function. + * + * @return array An array of video sources. + */ + public function add_autodetect_source( $autodetect_sources, $autodetect_source, $post ) { + + $autodetect_sources[] = [ + 'text' => _x( 'Microsoft (Teams and Skype)', 'The name of the autodetect source.', 'tribe-events-calendar-pro' ), + 'id' => Microsoft_Meta::$key_source_id, + 'value' => Microsoft_Meta::$key_source_id, + 'selected' => Microsoft_Meta::$key_source_id === $autodetect_source, + ]; + + return $autodetect_sources; + } + + /** + * Add the Microsoft accounts dropdown field to the autodetect fields. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param array $autodetect An array of the autodetect resukts. + * @param string $video_url The url to use to autodetect the video source. + * @param string $autodetect_source The optional name of the video source to attempt to autodetect. + * @param WP_Post|null $event The event post object, as decorated by the `tribe_get_event` function. + * @param array $ajax_data An array of extra values that were sent by the ajax script. + * + * @return array An array of the autodetect results. + */ + public function filter_virtual_autodetect_field_accounts( $autodetect_fields, $video_url, $autodetect_source, $event, $ajax_data ) { + return $this->container->make( Classic_Editor::class )->classic_autodetect_video_source_accounts( $autodetect_fields, $video_url, $autodetect_source, $event, $ajax_data ); + } + + /** + * Filters whether embed video control is hidden. + * + * @param boolean $is_hidden Whether the embed video control is hidden. + * @param WP_Post $event The event object. + * + * @return boolean Whether the embed video control is hidden. + */ + public function filter_display_embed_video_hidden( $is_hidden, $event ) { + if ( + ! $event->virtual_meeting || + tribe( self::class )->get_slug() !== $event->virtual_meeting_provider + ) { + return $is_hidden; + } + + return true; + } + + /** + * Filter the Microsoft Calendar export fields for a Microsoft source event. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param array $fields The various file format components for this specific event. + * @param WP_Post $event The WP_Post of this event. + * @param string $key_name The name of the array key to modify. + * @param string $type The name of the export type. + * @param boolean $should_show Whether to modify the export fields for the current user, default to false. + * + * @return array Microsoft Calendar Link params. + */ + public function filter_microsoft_source_microsoft_calendar_parameters( $fields, $event, $key_name, $type, $should_show ) { + return $this->container->make( Microsoft_Event_Export::class )->modify_video_source_export_output( $fields, $event, $key_name, $type, $should_show ); + } + + /** + * Filter the iCal export fields for a Microsoft source event. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param array $fields The various file format components for this specific event. + * @param WP_Post $event The WP_Post of this event. + * @param string $key_name The name of the array key to modify. + * @param string $type The name of the export type. + * @param boolean $should_show Whether to modify the export fields for the current user, default to false. + * + * @return array The various iCal file format components of this specific event item. + */ + public function filter_microsoft_source_ical_feed_items( $fields, $event, $key_name, $type, $should_show ) { + return $this->container->make( Microsoft_Event_Export::class )->modify_video_source_export_output( $fields, $event, $key_name, $type, $should_show ); + } + + /** + * Filter the Outlook single event export url for a Webex source event. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param string $url The url used to subscribe to a calendar in Outlook. + * @param string $base_url The base url used to subscribe in Outlook. + * @param array $params An array of parameters added to the base url. + * @param Outlook_Methods $outlook_methods An instance of the link abstract. + * @param \WP_Post $event The WP_Post of this event. + * @param boolean $should_show Whether to modify the export fields for the current user, default to false. + * + * @return array The various iCal file format components of this specific event item. + */ + public function filter_outlook_single_event_export_url_by_api( $url, $base_url, $params, $outlook_methods, $event, $should_show ) { + return $this->container->make( Microsoft_Event_Export::class )->filter_outlook_single_event_export_url_by_api( $url, $base_url, $params, $outlook_methods, $event, $should_show ); + } + + /** + * Provides the routes that should be used to handle Microsoft API requests. + * + * The map returned by this method will be used by the `Tribe\Events\Virtual\Traits\With_Nonce_Routes` trait. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @return array A map from the nonce actions to the corresponding handlers. + */ + + public function admin_routes() { + $actions = tribe( Actions::class ); + + return [ + $actions::$authorize_nonce_action => $this->container->callback( Api::class, 'handle_auth_request' ), + $actions::$status_action => $this->container->callback( Api::class, 'ajax_status' ), + $actions::$delete_action => $this->container->callback( Api::class, 'ajax_delete' ), + $actions::$select_action => $this->container->callback( Classic_Editor::class, 'ajax_selection' ), + $actions::$create_action => $this->container->callback( Meetings::class, 'ajax_create' ), + $actions::$remove_action => $this->container->callback( Meetings::class, 'ajax_remove' ), + ]; + } + + /** + * Hooks the actions required for the Microsoft API integration to work correctly. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + */ + protected function add_actions() { + // Filter event object properties to add the ones related to Microsoft Meet for virtual events. + add_action( 'tribe_events_virtual_add_event_properties', [ $this, 'add_event_properties' ] ); + add_action( 'tribe_events_virtual_metabox_save', [ $this, 'on_metabox_save' ], 10, 2 ); + add_action( 'save_post_tribe_events', [ $this, 'on_post_save' ], 100, 3 ); + } + + /** + * Filters the object returned by the `tribe_get_event` function to add to it properties related to Microsoft Meet. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param WP_Post $event The events post object to be modified. + * + * @return WP_Post The original event object decorated with properties related to virtual events. + */ + public function add_event_properties( $event ) { + if ( ! $event instanceof WP_Post ) { + // We should only act on event posts, else bail. + return $event; + } + + return $this->container->make( Microsoft_Meta::class )->add_event_properties( $event ); + } + + /** + * Filters the array returned for the event details map in the Event Automator integration. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param array $next_event An array of event details. + * @param WP_Post $event An instance of the event WP_Post object. + * + * @return array An array of event details. + */ + public function add_event_automator_properties( array $next_event, WP_Post $event ) { + if ( ! $event instanceof WP_Post ) { + return $next_event; + } + + return $this->container->make( Microsoft_Meta::class )->add_event_automator_properties( $next_event, $event ); + } + + /** + * Handles the save operations of the Classic Editor VE Metabox. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param int $post_id The post ID of the event currently being saved. + * @param array $data The data currently being saved. + */ + public function on_metabox_save( $post_id, $data ) { + $post = get_post( $post_id ); + if ( ! $post instanceof WP_Post && is_array( $data ) ) { + return; + } + + $this->container->make( Microsoft_Meta::class )->save_metabox_data( $post_id, $data ); + } + + /** + * Handles updating Microsoft Meet on post save. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param int $post_id The post ID. + * @param WP_Post $unused_post The post object. + * @param bool $update Whether this is an existing post being updated or not. + */ + public function on_post_save( $post_id, $unused_post, $update ) { + if ( ! $update ) { + return; + } + + $event = tribe_get_event( $post_id ); + + if ( ! $event instanceof WP_Post || empty( $event->duration ) ) { + // Hook for the Event meta save to try later in the save request, data might be there then. + if ( ! doing_action( 'tribe_events_update_meta' ) ) { + // But do no re-hook if we're acting on it. + add_action( 'tribe_events_update_meta', [ $this, 'on_post_save' ], 100, 3 ); + } + + return; + } + + $meeting_handler = $this->container->make( Meetings::class ); + + $meeting_handler->update( $event ); + } + + + /** + * Hooks the template required for the integration to work. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + */ + protected function hook_templates() { + // Metabox. + add_action( + 'tribe_template_entry_point:events-pro/admin-views/virtual-metabox/container/video-source:video_sources', + [ $this, 'render_classic_meeting_link_ui' ], + 10, + 3 + ); + + // Email Templates. + add_filter( + 'tribe_events_virtual_ticket_email_template', + [ + $this, + 'maybe_change_email_template', + ], + 10, + 2 + ); + + // Event Single. + add_action( + 'tribe_events_single_event_after_the_content', + [ $this, 'action_add_event_single_microsoft_details' ], + 15, + 0 + ); + + // Event Single - Blocks. + add_action( 'wp', [ $this, 'hook_block_template' ] ); + + // The location which the template is injected depends on whether or not V2 is enabled. + $microsoft_details_inject_action = tribe_events_single_view_v2_is_enabled() ? 'tribe_events_virtual_block_content' : 'tribe_template_after_include:events/blocks/event-datetime'; + + add_action( + $microsoft_details_inject_action, + [ $this, 'action_add_event_single_microsoft_details' ], + 20, + 0 + ); + } + + /** + * Renders the Microsoft API link generation UI and controls, depending on the current state. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param string $file The path to the template file, unused. + * @param string $entry_point The name of the template entry point, unused. + * @param \Tribe__Template $template The current template instance. + */ + public function render_classic_meeting_link_ui( $file, $entry_point, \Tribe__Template $template ) { + $this->container->make( Microsoft\Classic_Editor::class ) + ->render_initial_setup_options( $template->get( 'post' ) ); + } + + /** + * Conditionally inject content into ticket email templates. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param string $template The template path, relative to src/views. + * @param array $args The template arguments. + * + * @return string + */ + public function maybe_change_email_template( $template, $args ) { + return $this->container->make( Email::class )->maybe_change_email_template( $template, $args ); + } + + /** + * Hook block templates - legacy or new VE block. + * Has to be postponed to `wp` action or later so global $post is available. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + */ + public function hook_block_template() { + /* The action/location which the template is injected depends on whether or not V2 is enabled + * and whether the virtual event block is present in the post content. + */ + $embed_inject_action = tribe( 'events-virtual.hooks' )->get_virtual_embed_action(); + + add_action( + $embed_inject_action, + [ $this, 'action_add_event_single_microsoft_details' ], + 20, + 0 + ); + } + + /** + * Include the Microsoft details for event single. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + */ + public function action_add_event_single_microsoft_details() { + // Don't show if requires log in and user isn't logged in. + $base_modifications = $this->container->make( 'Tribe\Events\Virtual\Template_Modifications' ); + $should_show = $base_modifications->should_show_virtual_content( tribe_get_Event( get_the_ID() ) ); + + if ( ! $should_show ) { + return; + } + + $template_modifications = $this->container->make( Template_Modifications::class ); + $template_modifications->add_event_single_api_details(); + } +} diff --git a/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/Webex/Abstract_Meetings.php b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/Webex/Abstract_Meetings.php new file mode 100644 index 000000000..8b6339220 --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/Webex/Abstract_Meetings.php @@ -0,0 +1,673 @@ +api = $api; + $this->classic_editor = $classic_editor; + $this->actions = $actions; + } + + /** + * Filter the autodetect source to detect if a Webex link. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param array $autodetect An array of the autodetect defaults. + * @param string $video_url The url to use to autodetect the video source. + * @param string $video_source The optional name of the video source to attempt to autodetect. + * @param \WP_Post|null $event The event post object, as decorated by the `tribe_get_event` function. + * @param array $ajax_data An array of extra values that were sent by the ajax script. + * + * @return array An array of the autodetect results. + */ + abstract public function filter_virtual_autodetect_webex( $autodetect, $video_url, $video_source, $event, $ajax_data ); + + /** + * Handles the request to generate a Webex meeting. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param string|null $nonce The nonce that should accompany the request. + * + * @return bool Whether the request was handled or not. + */ + public function ajax_create( $nonce = null ) { + if ( ! $this->check_ajax_nonce( $this->actions::$create_action, $nonce ) ) { + return false; + } + + $event = $this->check_ajax_post(); + + if ( ! $event ) { + return false; + } + + $host_email = tribe_get_request_var( 'host_id' ); + // If no host id found, fail the request as account level apps do not support 'me' + if ( empty( $host_email ) ) { + $error_message = _x( 'The Webex Host Email to access the API is missing.', 'Webex Host Email is missing error message.', 'tribe-events-calendar-pro' ); + $this->classic_editor->render_meeting_generation_error_details( $event, $error_message, true ); + + wp_die(); + } + + // Load the account. + $account_id = tribe_get_request_var( 'account_id' ); + // if no id, fail the request. + if ( empty( $account_id ) ) { + $error_message = _x( 'The Webex Account ID to access the API is missing.', 'Account ID is missing error message.', 'tribe-events-calendar-pro' ); + $this->classic_editor->render_meeting_generation_error_details( $event, $error_message, true ); + + wp_die(); + } + + $this->api->load_account_by_id( $account_id ); + // If there is no token, then stop as the connection will fail. + if ( ! $this->api->get_token_authorization_header() ) { + $error_message = _x( 'The Webex Account to access to API could not be loaded.', 'Webex account loading error message.', 'tribe-events-calendar-pro' ); + $this->classic_editor->render_meeting_generation_error_details( $event, $error_message, true ); + + wp_die(); + } + + $all_day = tribe_get_request_var( 'allDayCheckbox', $event->all_day ); + if ( $all_day ) { + $error_message = _x( 'The Webex API does not support all day events, please set a start date and end date with time for both.', 'Webex all day error message.', 'tribe-events-calendar-pro' ); + $this->classic_editor->render_meeting_generation_error_details( $event, $error_message, true ); + + wp_die(); + } + + $post_id = $event->ID; + $cached = get_post_meta( $post_id, Virtual_Events_Meta::$prefix . 'webex_meeting_data', true ); + + /** + * Filters whether to force the recreation of the Webex meetings link on each request or not. + * + * If the filters returns a truthy value, then each request, even for events that already had a Webex meeting + * generated, will generate a new link, without re-using the previous one. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param bool $force Whether to force the regeneration of Webex Meeting links or not. + * @param int $post_id The post ID of the event the Meeting is being generated for. + */ + $force = apply_filters( + "tec_events_virtual_meetings_webex_{$this::$meeting_type}_force_recreate", + true, + $post_id + ); + + if ( ! $force && ! empty( $cached ) ) { + $this->classic_editor->render_meeting_link_generator( $event, true, false, $account_id ); + + wp_die(); + } + + // Get the event times from the ajax script or fallback to the event object. + $start_date = tribe_get_request_var( 'EventStartDate', $event->start_date ); + $start_time = tribe_get_request_var( 'EventStartTime', $event->start_time ); + $time_zone = tribe_get_request_var( 'EventTimezone', $event->timezone ); + $end_date = tribe_get_request_var( 'EventEndDate', $event->end_date ); + $end_time = tribe_get_request_var( 'EventEndTime', $event->end_time ); + + $start_datetime = $this->format_date_for_webex( $start_date, $start_time, $time_zone ); + $end_datetime = $this->format_date_for_webex( $end_date, $end_time, $time_zone ); + if ( $start_datetime === $end_datetime ) { + $error_message = _x( 'To create an event please set the event end time at least 10 minutes from the start time.', 'Webex no duration error message.', 'tribe-events-calendar-pro' ); + $this->classic_editor->render_meeting_generation_error_details( $event, $error_message, true ); + + wp_die(); + } + + /** + * Password is not included as a random password conforming to the site's password rules will be generated automatically. + * @see: https://developer.webex.com/docs/api/v1/meetings/create-a-meeting + */ + $body = [ + 'title' => $event->post_title, + 'start' => $start_datetime, + 'end' => $end_datetime, + 'timezone' => $time_zone, + 'hostEmail' => $host_email, + ]; + + /** + * Filters the contents of the request that will be made to the Webex API to generate a meeting link. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param array The current content of the request body. + * @param \WP_Post $event The event post object, as decorated by the `tribe_get_event` function. + * @param Meetings $this The current API handler object instance. + */ + $body = apply_filters( + "tec_events_virtual_meetings_webex_{$this::$meeting_type}_request_body", + $body, + $event, + $this + ); + + $success = false; + + $this->api->post( + Api::$api_base . 'meetings', + [ + 'headers' => [ + 'authorization' => $this->api->get_token_authorization_header(), + 'content-type' => 'application/json; charset=utf-8', + ], + 'body' => wp_json_encode( $body ), + ], + Api::POST_RESPONSE_CODE + )->then( + function ( array $response ) use ( $post_id, &$success, &$account_id ) { + $this->process_meeting_creation_response( $response, $post_id ); + + $event = tribe_get_event( $post_id, OBJECT, 'raw', true ); + $this->classic_editor->render_meeting_link_generator( $event, true, false, $account_id ); + + $success = true; + + wp_die(); + } + )->or_catch( + function ( \WP_Error $error ) use ( $event ) { + do_action( + 'tribe_log', + 'error', + __CLASS__, + [ + 'action' => __METHOD__, + 'code' => $error->get_error_code(), + 'message' => $error->get_error_message(), + ] + ); + + $error_data = wp_json_encode( $error->get_error_data() ); + $decoded = json_decode( $error_data, true ); + $error_message = null; + if ( false !== $decoded && is_array( $decoded ) && isset( $decoded['message'] ) ) { + $error_message = $decoded['message']; + } + + $this->classic_editor->render_meeting_generation_error_details( $event, $error_message, true ); + + wp_die(); + } + ); + + return $success; + } + + /** + * Handles the AJAX request to remove the Webex Meeting information from an event. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param string|null $nonce The nonce that should accompany the request. + * + * @return bool|string Whether the request was handled or a string with html for meeting creation. + */ + public function ajax_remove( $nonce = null ) { + if ( ! $this->check_ajax_nonce( $this->actions::$remove_action, $nonce ) ) { + return false; + } + + // phpcs:ignore + if ( ! $event = $this->check_ajax_post() ) { + return false; + } + + // Remove the meta, but not the data. + Webex_Meta::delete_meeting_meta( $event->ID ); + + // Send the HTML for the meeting creation. + $this->classic_editor->render_initial_setup_options( $event, true ); + + wp_die(); + } + + /** + * Handles update of Webex meeting when Event details change. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param \WP_Post|int $event The event (or event ID) we're updating the meeting for. + */ + public function update( $event ) { + // Get event if not an object. + if ( ! ( $event instanceof \WP_Post ) ) { + $event = tribe_get_event( $event ); + } + + // There is no meeting to update. + if ( ! ( $event instanceof \WP_Post ) || empty( $event->webex_meeting_id ) ) { + return; + } + + // If manually connected, do not update Webex meeting or webinar when event details change. + $manual_connected = get_post_meta( $event->ID, Virtual_Events_Meta::$key_autodetect_source, true ); + if ( Webex_Meta::$key_source_id === $manual_connected ) { + return; + } + + $start_date = tribe_get_request_var( 'EventStartDate', $event->start_date ); + $start_time = tribe_get_request_var( 'EventStartTime', $event->start_time ); + $time_zone = tribe_get_request_var( 'EventTimezone', $event->timezone ); + $end_date = tribe_get_request_var( 'EventEndDate', $event->end_date ); + $end_time = tribe_get_request_var( 'EventEndTime', $event->end_time ); + + $event_body = [ + 'title' => $event->post_title, + 'start' => $this->format_date_for_webex( $start_date, $start_time, $time_zone ), + 'end' => $this->format_date_for_webex( $end_date, $end_time, $time_zone ), + 'timezone' => $event->timezone, + 'password' => $event->webex_password, + ]; + + $meeting_data = get_post_meta( $event->ID, Virtual_Events_Meta::$prefix . 'webex_meeting_data', true ); + $meeting_body = [ + 'title' => $meeting_data['title'], + 'start' => $meeting_data['start'], + 'end' => $meeting_data['end'], + 'timezone' => $meeting_data['timezone'], + 'password' => $meeting_data['password'], + ]; + + $diff = array_diff_assoc( $event_body, $meeting_body ); + + // Nothing to update. + if ( empty( $diff ) ) { + return; + } + + $post_id = $event->ID; + + /** + * Filters the contents of the request that will be made to the Webex API to update a meeting link. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param array The current content of the request body. + * @param \WP_Post $event The event post object, as decorated by the `tribe_get_event` function. + * @param Meetings $this The current API handler object instance. + */ + $body = apply_filters( + "tec_events_virtual_meetings_webex_{$this::$meeting_type}_update_request_body", + $event_body, + $event, + $this + ); + + // Load the account. + $account_id = $this->api->get_account_id_in_admin( $post_id ); + if ( empty( $account_id ) ) { + return; + } + + $this->api->load_account_by_id( $account_id ); + if ( ! $this->api->get_token_authorization_header() ) { + return; + } + + // Update. + $this->api->put( + Api::$api_base . "{$this::$api_endpoint}/{$event->webex_meeting_id}", + [ + 'headers' => [ + 'Authorization' => $this->api->get_token_authorization_header(), + 'Content-Type' => 'application/json; charset=utf-8', + ], + 'body' => wp_json_encode( $body ), + ], + Api::PUT_RESPONSE_CODE + )->then( + function ( array $response ) use ( $post_id, $event ) { + $this->process_meeting_update_response( $response, $event, $post_id ); + } + )->or_catch( + function ( \WP_Error $error ) use ( $event ) { + do_action( + 'tribe_log', + 'error', + __CLASS__, + [ + 'action' => __METHOD__, + 'code' => $error->get_error_code(), + 'message' => $error->get_error_message(), + ] + ); + + $error_data = wp_json_encode( $error->get_error_data() ); + $decoded = json_decode( $error_data, true ); + $error_message = null; + if ( false !== $decoded && is_array( $decoded ) && isset( $decoded['message'] ) ) { + $error_message = $decoded['message']; + } + + // Do something to indicate failure with $error_message? + $this->classic_editor->render_meeting_generation_error_details( $event, $error_message, true ); + } + ); + } + + /** + * Processes the Webex API Meeting update response to massage, filter and save the data. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param array $response The entire Webex API response. + * @param \WP_Post $event The event post object. + * @param int $post_id The event post ID. + * + * @return array|false The Webex Meeting data or `false` on error. + */ + protected function process_meeting_update_response( $response, $event, $post_id ) { + if ( empty( $response['response']['code'] ) || 200 !== $response['response']['code'] ) { + return false; + } + + $event = tribe_get_event( $event ); + if ( ! $event instanceof \WP_Post ) { + return false; + } + + $success = false; + + // Load the account. + $account_id = $this->api->get_account_id_in_admin( $post_id ); + if ( empty( $account_id ) ) { + return false; + } + + $this->api->load_account_by_id( $account_id ); + if ( ! $this->api->get_token_authorization_header() ) { + return false; + } + + $this->api->get( + Api::$api_base . "{$this::$api_endpoint}/{$event->webex_meeting_id}", + [ + 'headers' => [ + 'Authorization' => $this->api->get_token_authorization_header(), + 'Content-Type' => 'application/json; charset=utf-8', + ], + ], + Api::GET_RESPONSE_CODE + )->then( + function ( array $response ) use ( $post_id, &$success ) { + + $body = json_decode( wp_remote_retrieve_body( $response ), true ); + $body_set = $this->api->has_proper_response_body( $body ); + if ( $body_set ) { + $data = $this->prepare_meeting_data( $body ); + $this->update_post_meta( $post_id, $body, $data ); + } + + $success = true; + } + )->or_catch( + function ( \WP_Error $error ) use ( $event ) { + do_action( + 'tribe_log', + 'error', + __CLASS__, + [ + 'action' => __METHOD__, + 'code' => $error->get_error_code(), + 'message' => $error->get_error_message(), + ] + ); + + $error_data = wp_json_encode( $error->get_error_data() ); + $decoded = json_decode( $error_data, true ); + $error_message = null; + if ( false !== $decoded && is_array( $decoded ) && isset( $decoded['message'] ) ) { + $error_message = $decoded['message']; + } + + $this->classic_editor->render_meeting_generation_error_details( $event, $error_message, true ); + } + ); + + return $success; + } + + /** + * Filters and massages the meeting data to prepare it to be saved in the post meta. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param array $body The response body, in raw format. + * + * @return array The meeting data, massaged and filtered. + */ + protected function prepare_meeting_data( $body ) { + $data = [ + 'id' => $body['id'], + 'join_url' => $body['webLink'], + 'password' => $body['password'], + 'host_email' => $body['hostEmail'], + ]; + + /** + * Filters the Webex API meeting data after a successful meeting creation. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * @todo [plugin-consolidation] Merge VE into ECP, hook to be deprecated and renamed. + * + * @param array $data The data that will be returned in the AJAX response. + * @param array $body The raw data returned from the Webex API for the request. + */ + $data = apply_filters( "tec_events_virtual_meetings_webex_{$this::$meeting_type}_data", $data, $body ); + + return $data; + } + + /** + * Processes the Webex API Meeting connection response. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param array $response The entire Webex API response. + * @param int $post_id The event post ID. + * + * @return array The Webex Meeting data. + */ + public function process_meeting_connection_response( array $response, $post_id ) { + return $this->process_meeting_creation_response( $response, $post_id ); + } + + /** + * Processes the Webex API Meeting creation response to massage, filter and save the data. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param array $response The entire Webex API response. + * @param int $post_id The event post ID. + * + * @return array The Webex Meeting data. + */ + protected function process_meeting_creation_response( array $response, $post_id ) { + + $body = json_decode( wp_remote_retrieve_body( $response ), true ); + $body_set = $this->api->has_proper_response_body( $body, [ 'webLink', 'id' ] ); + if ( ! $body_set ) { + do_action( + 'tribe_log', + 'error', + __CLASS__, + [ + 'action' => __METHOD__, + 'message' => "Webex API {$this::$meeting_type} creation response is malformed.", + 'response' => $response, + ] + ); + + return []; + } + + $data = $this->prepare_meeting_data( $body ); + $this->update_post_meta( $post_id, $body, $data ); + + return $data; + } + + /** + * Updates the event post meta depending on the meeting data provided. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param int $post_id The post ID of the event to update the Webex Meeting related meta for. + * @param array $response_body The Webex API response body, as received from it. + * @param array $meeting_data The Webex Meeting data, as returned from the Webex API request. + */ + protected function update_post_meta( $post_id, array $response_body, array $meeting_data ) { + $prefix = Virtual_Events_Meta::$prefix; + + // Cache the raw meeting data for future use. + update_post_meta( $post_id, $prefix . 'webex_meeting_data', $response_body, true ); + + // Set the video source to prevent issues with loading the information later. + update_post_meta( $post_id, Virtual_Events_Meta::$key_video_source, Webex_Meta::$key_source_id ); + + $map = [ + $prefix . 'webex_meeting_id' => 'id', + $prefix . 'webex_join_url' => 'join_url', + $prefix . 'webex_password' => 'password', + $prefix . 'webex_host_email' => 'host_email', + ]; + + foreach ( $map as $meta_key => $data_key ) { + if ( isset( $meeting_data[ $data_key ] ) ) { + update_post_meta( $post_id, $meta_key, $meeting_data[ $data_key ] ); + } else { + delete_post_meta( $post_id, $meta_key ); + } + } + + // Add the meeting type, it's not part of the data coming from Webex. + update_post_meta( $post_id, $prefix . 'webex_meeting_type', static::$meeting_type ); + } + + /** + * Format the event date for Webex. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param string $date The start date of the event. + * @param string $time The start time of the event. + * @param string $time_zone The timezone of the event. + * + * @return string The time formatted for Webex using 'Y-m-d\TH:i:sO'. + */ + public function format_date_for_webex( $date, $time, $time_zone ) { + // Utilize the datepicker format when parse the Event Date to prevent the wrong date in Webex. + $datepicker_format = Dates::datepicker_formats( tribe_get_option( 'datepickerFormat' ) ); + $date_time = Dates::datetime_from_format( $datepicker_format, $date ) . ' ' . $time; + + return Dates::build_date_object( $date_time, $time_zone )->format( 'c' ); + } +} diff --git a/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/Webex/Account_API.php b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/Webex/Account_API.php new file mode 100644 index 000000000..3b5e542b4 --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/Webex/Account_API.php @@ -0,0 +1,267 @@ +load_account_by_id( $account_id ); + if ( empty( $account_loaded ) ) { + return $revoked; + } + + $revoke_url = Url::$revoke_url; + if ( defined( 'TEC_VIRTUAL_EVENTS_WEBEX_API_REVOKE_URL' ) ) { + $revoke_url = TEC_VIRTUAL_EVENTS_WEBEX_API_REVOKE_URL; + } + + $this->post( + $revoke_url, + [ + 'headers' => [ + 'Authorization' => $this->get_token_authorization_header(), + ], + 'body' => [ + 'token' => $this->access_token, + ], + ], + Api::OAUTH_POST_RESPONSE_CODE + )->then( + function ( array $response ) use ( &$revoked ) { + $body = json_decode( wp_remote_retrieve_body( $response ), true ); + $body_set = $this->has_proper_response_body( $body, [ 'status' ] ); + if ( + ! ( + $body_set + && 'success' === $body['status'] + ) + ) { + do_action( 'tribe_log', 'error', __CLASS__, [ + 'action' => __METHOD__, + 'message' => 'Webex Account Revoke Failed.', + 'response' => $body, + ] ); + + return $revoked; + } + + $revoked = true; + + return $revoked; + } + ); + + return $revoked; + } + + /** + * Handles an OAuth authorization return request. + * + * The method will `wp_die` if the nonce is not valid. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param string|null $nonce The nonce string to authorize the authorization request. + * + * @return bool Whether the authorization request is valid and was handled or not. + */ + public function handle_auth_request( $nonce = null ) { + if ( ! wp_verify_nonce( $nonce, $this->actions::$authorize_nonce_action ) ) { + wp_die( _x( + 'You are not authorized to do this.', + 'The message shown to a user providing a wrong Webex API OAuth authorization nonce.', + 'tribe-events-calendar-pro' + ) + ); + } + $handled = false; + + // This is response from our OAuth proxy service. + $service_response_body = tribe_get_request_var( 'response_body', false ); + if ( $service_response_body ) { + $this->save_account( [ 'body' => base64_decode( $service_response_body ) ] ); + + $handled = true; + } + + wp_safe_redirect( Settings::admin_url() ); + + return $handled; + } + + /** + * {@inheritDoc} + */ + public function save_account( array $response ) { + if ( ! $this->has_proper_credentials( $response ) ) { + do_action( 'tribe_log', 'error', __CLASS__, [ + 'action' => __METHOD__, + 'code' => wp_remote_retrieve_response_code( $response ), + 'message' => 'Response body missing or malformed', + ] ); + + return false; + } + + // Set the access token here as we have to call fetch_user immediately, to get the user information. + $credentials = json_decode( wp_remote_retrieve_body( $response ), true ); + $access_token = $credentials['access_token']; + $refresh_token = $credentials['refresh_token']; + $expiration = $this->get_expiration_time_stamp( $credentials['expires_in'] ); + + // Get the user who authorized the account. + $user_fields = $this->fetch_user( 'me', false, $access_token ); + if ( empty( $user_fields['id'] ) ) { + return false; + } + + $user = [ + 'id' => $user_fields['id'], + 'name' => $user_fields['displayName'], + 'email' => isset( $user_fields['emails'][0] ) ? $user_fields['emails'][0] : '', + ]; + + $account_data = $this->prepare_account_data( $user, $access_token, $refresh_token, $expiration, [], true ); + $existing_account = $this->get_account_by_id( $account_data['id'] ); + $this->set_account_by_id( $account_data ); + + $message = $existing_account ? + sprintf( + /* Translators: %1$s: the name of the account that has been added or refreshed from Webex . */ + _x( + 'Webex connection refreshed for %1$s', + 'The refresh message for a Webex account.', + 'tribe-events-calendar-pro' + ), + $account_data['name'] + ) + : sprintf( + /* Translators: %1$s: the name of the account that has been added or refreshed from Webex . */ + _x( + 'Webex Account added for %1$s', + 'The Webex account added message.', + 'tribe-events-calendar-pro' + ), + $account_data['name'] + ); + + /** @var \Tribe__Cache $cache */ + $cache = tribe( 'cache' ); + $cache->set_transient( Settings::$option_prefix . 'account_message', $message, MINUTE_IN_SECONDS ); + + return $access_token; + } + + /** + * {@inheritDoc} + */ + public function save_access_and_expiration( $id, array $response ) { + if ( ! $this->has_proper_credentials( $response ) ) { + do_action( 'tribe_log', 'error', __CLASS__, [ + 'action' => __METHOD__, + 'code' => wp_remote_retrieve_response_code( $response ), + 'message' => 'Response body missing or malformed', + ] ); + + return false; + } + + $credentials = json_decode( wp_remote_retrieve_body( $response ), true ); + $access_token = $credentials['access_token']; + $refresh_token = $credentials['refresh_token']; + $expiration = $this->get_expiration_time_stamp( $credentials['expires_in'] ); + + $this->set_account_access_by_id( $id, $access_token, $refresh_token, $expiration ); + + return true; + } + + /** + * {@inheritDoc} + */ + protected function prepare_account_data( $user, $access_token, $refresh_token, $expiration, $settings, $status ) { + return [ + 'id' => $user['id'], + 'name' => $user['name'], + 'email' => $user['email'], + 'access_token' => $access_token, + 'refresh_token' => $refresh_token, + 'expiration' => $expiration, + 'status' => $status, + ]; + } +} diff --git a/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/Webex/Actions.php b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/Webex/Actions.php new file mode 100644 index 000000000..38badee13 --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/Webex/Actions.php @@ -0,0 +1,34 @@ +setup( static::$api_id ); + } +} diff --git a/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/Webex/Api.php b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/Webex/Api.php new file mode 100644 index 000000000..fea23acf8 --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/Webex/Api.php @@ -0,0 +1,369 @@ +encryption = ( ! empty( $encryption ) ? $encryption : tribe( Encryption::class ) ); + $this->template_modifications = $template_modifications; + $this->actions = $actions; + $this->url = $url; + + // Attempt to load an account. + $this->load_account(); + } + + /** + * {@inheritDoc} + */ + public function refresh_access_token( $id, $refresh_token ) { + $refreshed = false; + + $this->post( + $this->url::to_refresh(), + [ + 'body' => [ + 'grant_type' => 'refresh_token', + 'refresh_token' => $refresh_token, + ], + ], + 200 + )->then( + function ( array $response ) use ( &$id, &$refreshed ) { + + $body = json_decode( wp_remote_retrieve_body( $response ), true ); + $body_set = $this->has_proper_response_body( $body, [ 'access_token', 'refresh_token', 'expires_in' ] ); + if ( ! $body_set ) { + do_action( 'tribe_log', 'error', __CLASS__, [ + 'action' => __METHOD__, + 'message' => 'Webex API access token refresh response is malformed.', + 'response' => $body, + ] ); + + return false; + } + + $refreshed = $this->save_access_and_expiration( $id, $response ); + + return $refreshed; + } + ); + + return $refreshed; + } + + /** + * Get the Meeting by ID from Webex and Return the Data. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param string $web_link The web link to the meeting. + * + * @return array An array of data from the Webex API. + */ + public function fetch_meeting_data( $web_link ) { + if ( ! $this->get_token_authorization_header() ) { + return []; + } + + $data = []; + $api_endpoint = Meetings::$api_endpoint; + + $this->get( + self::$api_base . "{$api_endpoint}/?webLink={$web_link}", + [ + 'headers' => [ + 'Authorization' => $this->get_token_authorization_header(), + 'Content-Type' => 'application/json; charset=utf-8', + ], + 'body' => null, + ], + 200 + )->then( + function ( array $response ) use ( &$data ) { + + $body = json_decode( wp_remote_retrieve_body( $response ), true ); + $body_set = $this->has_proper_response_body( $body, [ 'items' ] ); + if ( ! $body_set ) { + do_action( 'tribe_log', 'error', __CLASS__, [ + 'action' => __METHOD__, + 'message' => 'Webex API meetings is response is malformed.', + 'response' => $body, + ] ); + + return []; + } + + $first_meeting = reset( $body['items'] ); + + if ( ! ( isset( $first_meeting['webLink'] ) ) ) { + do_action( 'tribe_log', 'error', __CLASS__, [ + 'action' => __METHOD__, + 'message' => 'Webex API meetings returned no entries.', + 'response' => $body, + ] ); + + return []; + } + $data = $first_meeting; + } + )->or_catch( + function ( \WP_Error $error ) { + do_action( 'tribe_log', 'error', __CLASS__, [ + 'action' => __METHOD__, + 'code' => $error->get_error_code(), + 'message' => $error->get_error_message(), + ] ); + } + ); + + return $data; + } + + /** + * {@inheritDoc} + */ + public function fetch_user( $user_id = 'me', $settings = false, $access_token = '' ) { + if ( ! $this->get_token_authorization_header( $access_token ) ) { + return []; + } + + // If both user id and settings, add settings to detect webinar support. + if ( $user_id && $settings ) { + $user_id = $user_id . '/settings'; + } + + $this->get( + self::$api_base . 'people/' . $user_id, + [ + 'headers' => [ + 'Authorization' => $this->get_token_authorization_header( $access_token ), + 'Content-Type' => 'application/json; charset=utf-8', + ], + 'body' => null, + ], + 200 + )->then( + static function ( array $response ) use ( &$data ) { + $body = json_decode( wp_remote_retrieve_body( $response ), true ); + $body_set = self::has_proper_response_body( $body ); + + if ( ! $body_set ) { + do_action( 'tribe_log', 'error', __CLASS__, [ + 'action' => __METHOD__, + 'message' => 'Webex API user response is malformed.', + 'response' => $body, + ] ); + + return []; + } + $data = $body; + } + )->or_catch( + static function ( \WP_Error $error ) { + do_action( 'tribe_log', 'error', __CLASS__, [ + 'action' => __METHOD__, + 'code' => $error->get_error_code(), + 'message' => $error->get_error_message(), + ] ); + } + ); + + return $data; + } + + /** + * Get the List of all Users + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @return array An array of users from the Webex API. + */ + public function fetch_users() { + if ( ! $this->get_token_authorization_header() ) { + return []; + } + + $args = [ + 'max' => 500, + ]; + + /** + * Filters the arguments for fetching users. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * @todo [plugin-consolidation] Merge VE into ECP, hook to be deprecated and renamed. + * + * @param array $args The default arguments to fetch users. + */ + $args = (array) apply_filters( 'tec_events_virtual_webex_get_users_arguments', $args ); + + // Get the initial page of users. + $users = $this->fetch_users_with_args( $args ); + + return $users; + } + + /** + * Get the List of Users by arguments. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @return array An array of data from the Webex API. + */ + public function fetch_users_with_args( $args ) { + if ( ! $this->get_token_authorization_header() ) { + return []; + } + + $data = ''; + + $this->get( + self::$api_base . "people?email={$this->email}", + [ + 'headers' => [ + 'Authorization' => $this->get_token_authorization_header(), + 'Content-Type' => 'application/json; charset=utf-8', + ], + 'body' => ! empty( $args ) ? $args : null, + ], + 200 + )->then( + static function ( array $response ) use ( &$data ) { + $body = json_decode( wp_remote_retrieve_body( $response ), true ); + $body_set = self::has_proper_response_body( $body, [ 'items' ] ); + + if ( ! $body_set ) { + do_action( 'tribe_log', 'error', __CLASS__, [ + 'action' => __METHOD__, + 'message' => 'Webex API users response is malformed.', + 'response' => $body, + ] ); + + return []; + } + $data = $body; + } + )->or_catch( + static function ( \WP_Error $error ) { + do_action( 'tribe_log', 'error', __CLASS__, [ + 'action' => __METHOD__, + 'code' => $error->get_error_code(), + 'message' => $error->get_error_message(), + ] ); + } + ); + + return $data; + } + + /** + * Get the no Webex account found message. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @return string The message returned when no account found. + */ + public function get_no_account_message() { + return sprintf( + '%1$s %3$s', + esc_html_x( + 'No Webex account found. ', + 'The start of the message for smart url/autodetect when there is no Webex account found.', + 'tribe-events-calendar-pro' + ), + Settings::admin_url(), + esc_html_x( + 'Please check your account connection.', + 'The link in of the message for smart url/autodetect when no Webex account is found.', + 'tribe-events-calendar-pro' + ) + ); + } + + /** + * Filters the API error message. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param string $api_message The API error message. + * @param array $body The json_decoded request body. + * @param Api_Response $response The response that will be returned. A non `null` value + * here will short-circuit the response. + * + * @return string $api_message The API error message. + */ + public function filter_api_error_message( $api_message, $body, $response ) { + if ( ! isset( $body['errors'][0]['description'] ) ) { + return $api_message; + } + + $api_message .= ' API Error: ' . $body['errors'][0]['description']; + + return $api_message; + } +} diff --git a/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/Webex/Classic_Editor.php b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/Webex/Classic_Editor.php new file mode 100644 index 000000000..9d67a8dd8 --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/Webex/Classic_Editor.php @@ -0,0 +1,408 @@ +api = $api; + $this->settings = $settings; + $this->template = $template; + $this->users = $users; + $this->url = $url; + $this->actions = $actions; + } + + /** + * {@inheritDoc} + */ + public function add_event_properties( $post = null ) { + return Webex_Meta::add_event_properties( $post ); + } + + /** + * Renders, echoing to the page, the API generator controls. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param null|\WP_Post|int $post The post object or ID of the event to generate the controls for, or `null` to use + * the global post object. + * @param bool $echo Whether to echo the template contents to the page (default) or to return it. + * @param bool $force_generator Whether to force to display the meeting and webinar generator. + * @param null|string $account_id The account id to use to load the link generators. + * + * @return string The template contents, if not rendered to the page. + */ + public function render_meeting_link_generator( $post = null, $echo = true, $force_generator = false, $account_id = null ) { + $post = tribe_get_event( $post ); + + if ( ! $post instanceof \WP_Post ) { + return ''; + } + + // Make sure to apply the properties to the event. + $post = $this->add_event_properties( $post ); + $meeting_link = $post->webex_join_url; + + // Load the account. + $account_loaded = $this->api->load_account_by_id( $account_id ); + + $candidate_types = [ + // Always allow by default. + 'meeting' => true, + ]; + $available_types = []; + + foreach ( $candidate_types as $type => $allow ) { + /** + * Allow filtering whether to allow link generation and to show controls for a meeting type. + * This will continue to allow previously generated links to be seen and removed. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * @todo [plugin-consolidation] Merge VE into ECP, hook to be deprecated and renamed. + * + * @param boolean $allow Whether to allow link generation. + * @param \WP_Post $post The post object of the Event context of the link generation. + */ + $allow = apply_filters( "tec_events_virtual_webex_{$type}_link_allow_generation", $allow, $post ); + + if ( tribe_is_truthy( $allow ) ) { + $available_types[] = $type; + } + } + + $allow_link_gen = count( $available_types ) > 0; + + if ( ! empty( $meeting_link ) && ! $force_generator ) { + // Meetings Details. + return $this->render_meeting_details( $post, $echo, $account_id, $account_loaded ); + } + + // Do not show the link generation controls if not allowed for any type. + if ( false === $allow_link_gen ) { + return ''; + } + + if ( count( $available_types ) > 0 ) { + // Meetings and Webinars. + return $this->render_multiple_links_generator( $post, $echo, $account_id, $account_loaded ); + } + + if ( ! $account_loaded && 'disabled' !== $account_loaded ) { + return $this->render_account_disabled_details( false ); + } + + // If the account is disabled, display the disabled details message. + if ( 'disabled' === $account_loaded ) { + return $this->render_account_disabled_details(); + } + + return $this->render_initial_setup_options( $post, $echo ); + } + + /** + * Renders an existing Meeting details. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param \WP_Post $post The post object of the Event context of the link generation. + * @param bool $echo Whether to print the rendered HTML to the page or not. + * @param null|string $account_id The account id to use to load the link generators. + * @param bool $account_loaded The account is loaded successfully into the API. + * + * @return string|false Either the final content HTML or `false` if the template could be found. + */ + protected function render_meeting_details( \WP_Post $post, $echo = true, $account_id = null, $account_loaded = false ) { + // Make sure to apply the properties to the event. + $post = $this->add_event_properties( $post ); + + $details_title = _x( + 'Webex Meeting:', + 'Title of the details box shown for a generated Webex Meeting link in the backend.', + 'tribe-events-calendar-pro' + ); + + $message = ''; + if ( 'not-found' === $account_loaded ) { + $message = $this->render_account_disabled_details( false, true, false ); + } elseif ( 'disabled' === $account_loaded ) { + $message = $this->render_account_disabled_details( true, true, false ); + } + + $connected_msg = ''; + $manual_connected = get_post_meta( $post->ID, Virtual_Events_Meta::$key_autodetect_source, true ); + if ( Webex_Meta::$key_source_id === $manual_connected ) { + $connected_msg = _x( + 'This meeting is manually connected to the event and changes to the event will not alter the Webex meeting.', + 'Message for a manually connected Webex meeting or webinar.', + 'tribe-events-calendar-pro' + ); + } + + return $this->template->template( + 'virtual-metabox/webex/details', + [ + 'attrs' => [ + 'data-depends' => '#tribe-events-virtual-video-source', + 'data-condition' => static::$api_id, + 'data-webex-id' => $post->webex_meeting_id, + ], + 'connected' => Webex_Meta::$key_source_id === $manual_connected, + 'connected_msg' => $connected_msg, + 'event' => $post, + 'details_title' => $details_title, + 'remove_link_url' => $this->get_remove_link( $post ), + 'remove_link_label' => $this->get_remove_link_label(), + 'remove_attrs' => [ + 'data-confirmation' => $this->get_remove_confirmation_text(), + ], + 'account_name' => $this->api->loaded_account_name, + 'host_label' => _x( + 'Host: ', + 'The label used to designate the host of a Webex Meeting.', + 'tribe-events-calendar-pro' + ), + 'webex_id' => $post->webex_meeting_id, + 'id_label' => _x( + 'ID: ', + 'The label used to prefix a Webex Meeting in the backend.', + 'tribe-events-calendar-pro' + ), + 'message' => $message, + ], + $echo + ); + } + + /** + * Renders the link generator HTML for Webex Meetings. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param \WP_Post $post The post object of the Event context of the link generation. + * @param bool $echo Whether to print the rendered HTML to the page or not. + * @param null|string $account_id The account id to use to load the link generators. + * @param bool $account_loaded The account is loaded successfully into the API. + * + * @return string|false Either the final content HTML or `false` if the template could be found. + */ + public function render_multiple_links_generator( \WP_Post $post, $echo = true, $account_id = null, $account_loaded = false ) { + $hosts = []; + if ( $account_id ) { + $hosts = $this->users->get_formatted_hosts_list( $account_id ); + } + + /** + * Filters the host list to use to assign to Webex Meetings. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * @todo [plugin-consolidation] Merge VE into ECP, hook to be deprecated and renamed. + * + * @param array An array of Webex Users to use as the host. + */ + $hosts = apply_filters( 'tec_events_virtual_meetings_webex_hosts', $hosts ); + + // Display no hosts found error template. + if ( empty( $hosts ) ) { + return $this->render_no_hosts_found(); + } + + $message = ''; + if ( 'not-found' === $account_loaded ) { + $message = $this->render_account_disabled_details( false, true, false ); + } elseif ( 'disabled' === $account_loaded ) { + $message = $this->render_account_disabled_details( true, true, false ); + } + $api_id = static::$api_id; + + return $this->template->template( + 'virtual-metabox/webex/setup', + [ + 'api_id' => $api_id, + 'event' => $post, + 'attrs' => [ + 'data-depends' => "#tribe-events-virtual-video-source", + 'data-condition' => $api_id, + 'data-account-id' => $account_id, + 'data-api-id' => $api_id, + ], + 'account_label' => _x( + 'Account: ', + 'The label used to designate the account of a Webex Meeting.', + 'tribe-events-calendar-pro' + ), + 'account_name' => $this->api->loaded_account_name, + 'generation_toggle_label' => _x( + 'Generate Webex Link', + 'The label of the toggle to show the links to generate Webex Meeting.', + 'tribe-events-calendar-pro' + ), + 'generation_urls' => $this->get_link_creation_urls( $post ), + 'generate_label' => _x( + 'Create ', + 'The label used to designate the next step in generation of a Webex Meeting.', + 'tribe-events-calendar-pro' + ), + 'hosts' => [ + 'label' => _x( + 'Meeting Host', + 'The label of the meeting or webinar host.', + 'tribe-events-calendar-pro' + ), + 'id' => 'tribe-events-virtual-webex-host', + 'class' => 'tec-events-virtual-meetings-api__host-dropdown tribe-events-virtual-meetings-webex__host-dropdown', + 'name' => 'tribe-events-virtual-webex-host', + 'selected' => '', + 'hosts_count' => count( $hosts ), + 'hosts_arr' => $hosts, + 'attrs' => [ + 'placeholder' => _x( + 'Select a Host', + 'The placeholder for the dropdown to select a host.', + 'tribe-events-calendar-pro' + ), + 'data-prevent-clear' => true, + 'data-force-search' => false, + 'data-options' => json_encode( $hosts ), + ], + ], + 'remove_link_url' => $this->get_remove_link( $post ), + 'remove_link_label' => $this->get_remove_link_label(), + 'remove_attrs' => [ + 'data-confirmation' => $this->get_remove_confirmation_text(), + ], + 'message' => $message, + 'message_classes' => [ 'tec-events-virtual-video-source-api-setup__messages-wrap' ], + ], + $echo + ); + } + + /** + * Returns the meeting creation links and labels. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param \WP_Post $post The post object of the Event context of the link creation. + * @param bool $webinar_support Whether to add the webinar create link. + * + * @return array> A map (by meeting type) of unpackable arrays, each one containing the URL and + * label for the creation link HTML code. + */ + public function get_link_creation_urls( \WP_Post $post ) { + $meeting_create_label = _x( + 'Meeting', + 'Label for the control to generate a Webex meeting link in the event classic editor UI.', + 'tribe-events-calendar-pro' + ); + + $data = [ + Meetings::$meeting_type => [ + $this->url->to_generate_meeting_link( $post ), + $meeting_create_label, + false, + [], + ] + ]; + + /** + * Allows filtering the creation links URL and label before rendering them on the admin UI. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * @todo [plugin-consolidation] Merge VE into ECP, hook to be deprecated and renamed. + * + * @param array> A map (by meeting type) of unpackable arrays, each one containing the URL and + * label for the creation link HTML code. + * @param \WP_Post $post The post object of the Event context of the link creation. + */ + return apply_filters( 'tec_events_virtual_webex_meeting_link_creation_urls', $data, $post ); + } + + /** + * {@inheritDoc} + */ + public function ajax_selection( $nonce = null ) { + if ( ! $this->check_ajax_nonce( $this->actions::$select_action, $nonce ) ) { + return false; + } + + $event = $this->check_ajax_post(); + + if ( ! $event ) { + return false; + } + + $account_id = tribe_get_request_var( 'account_id' ); + + // If no account id found, fail the request. + if ( empty( $account_id ) ) { + $error_message = _x( 'The Webex Account ID is missing to access the API.', 'Account ID is missing error message.', 'tribe-events-calendar-pro' ); + $this->render_meeting_generation_error_details( $event, $error_message, true ); + + wp_die(); + } + + $account_loaded = $this->api->load_account_by_id( $account_id ); + // If there is no token, then stop as the connection will fail. + if ( ! $account_loaded ) { + $error_message = _x( 'The Webex Account could not be loaded to access the API. Please try refreshing the account in the Events API Settings.', 'Webex account loading error message.', 'tribe-events-calendar-pro' ); + + $this->render_meeting_generation_error_details( $event, $error_message, true ); + + wp_die(); + } + + $post_id = $event->ID; + + // Set the video source to Webex. + update_post_meta( $post_id, Virtual_Event_Meta::$key_video_source, Webex_Meta::$key_source_id ); + + // get the setup + $this->render_meeting_link_generator( $event, true, false, $account_id ); + $this->api->save_account_id_to_post( $post_id, $account_id ); + + wp_die(); + } +} diff --git a/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/Webex/Email.php b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/Webex/Email.php new file mode 100644 index 000000000..66274e736 --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/Webex/Email.php @@ -0,0 +1,59 @@ +virtual ) + || empty( $event->virtual_meeting ) + || Webex_Event_Meta::$key_source_id !== $event->virtual_meeting_provider + ) { + return $template; + } + + $template = 'webex/email/ticket-email-webex-details'; + + return $template; + } +} diff --git a/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/Webex/Event_Export.php b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/Webex/Event_Export.php new file mode 100644 index 000000000..57cd44cee --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/Webex/Event_Export.php @@ -0,0 +1,164 @@ +str_contains( (string) $fields['details'], (string) $event->webex_password ) ) { + return $fields; + } + + if ( isset( $fields['details'] ) ) { + $fields['details'] .= ' - ' . $this->get_password_label_with_password( $event ); + } + + return $fields; + } + + /** + * Modify the iCal description component to add the password. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param array $fields The various file format components for this specific event. + * @param \WP_Post $event The WP_Post of this event. + * @param string $key_name The name of the array key to modify. + * @param string $type The name of the export type. + * @param boolean $should_show Whether to modify the export fields for the current user, default to false. + * + * @return array The various file format components for this specific event with the added password. + */ + public function add_password_to_ical_description( $fields, $event, $key_name, $type, $should_show ) { + if ( ! $should_show ) { + return $fields; + } + + if ( 'ical' !== $type ) { + return $fields; + } + + if ( ! isset( $fields['DESCRIPTION'] ) ) { + return $fields; + } + + if ( $this->str_contains( (string) $fields['DESCRIPTION'], (string) $event->webex_password ) ) { + return $fields; + } + + if ( isset( $fields['DESCRIPTION'] ) ) { + $fields['DESCRIPTION'] .= ' - ' . $this->get_password_label_with_password( $event ); + } + + return $fields; + } + + /** + * Filter the Outlook body component to add the password. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param string $url The url used to subscribe to a calendar in Outlook. + * @param string $base_url The base url used to subscribe in Outlook. + * @param array $params An array of parameters added to the base url. + * @param Outlook_Methods $outlook_methods An instance of the link abstract. + * @param \WP_Post $event The WP_Post of this event. + * @param boolean $should_show Whether to modify the export fields for the current user, default to false. + * + * @return string The export url used to generate an Outlook event for the single event. + */ + public function add_password_to_outlook_description( $url, $base_url, $params, $outlook_methods, $event, $should_show ) { + if ( ! $should_show ) { + return $url; + } + + if ( ! isset( $params['body'] ) ) { + return $url; + } + + if ( $this->str_contains( (string) $params['body'], (string) $event->webex_password ) ) { + return $url; + } + + if ( isset( $params['body'] ) ) { + $params['body'] .= ' - ' . $this->get_password_label_with_password( $event ); + } + + $url = add_query_arg( $params, $base_url ); + + return $url; + } + + /** + * Get the password label with included password. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param \WP_Post $event The WP_Post of this event. + * + * @return string the password label with included password. + */ + public function get_password_label_with_password( $event ) { + return esc_html( + sprintf( + // translators: %1$s: Webex meeting password. + _x( + 'Webex Password: %1$s', + 'The label for the Webex Meeting password, followed by the password for an exported event.', + 'tribe-events-calendar-pro' + ), + $event->webex_password + ) + ); + } +} diff --git a/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/Webex/Event_Meta.php b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/Webex/Event_Meta.php new file mode 100644 index 000000000..6abab95bb --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/Webex/Event_Meta.php @@ -0,0 +1,174 @@ +webex_meeting_id; + } + + + /** + * {@inheritDoc} + */ + protected static function get_meeting_join_url( WP_Post $event ) { + return $event->webex_join_url; + } + + /** + * {@inheritDoc} + */ + protected static function get_meeting_data_for_rest_api( WP_Post $event ) { + return [ + 'id' => $event->webex_meeting_id, + 'url' => $event->webex_join_url, + 'host_email' => $event->webex_host_email, + 'password' => self::get_password( $event ), + 'type' => $event->webex_meeting_type, + ]; + } + + /** + * {@inheritDoc} + */ + protected static function get_api_properties( WP_Post $event, $prefix, $is_new_event ) { + $event->webex_meeting_type = $is_new_event ? '' : get_post_meta( $event->ID, $prefix . 'webex_meeting_type', true ); + $event->webex_meeting_id = $is_new_event ? '' : get_post_meta( $event->ID, $prefix . 'webex_meeting_id', true ); + $event->webex_join_url = $is_new_event ? '' : get_post_meta( $event->ID, $prefix . 'webex_join_url', true ); + $event->virtual_meeting_display_details = $is_new_event ? '' : get_post_meta( $event->ID, $prefix . 'webex_display_details', true ); + $event->webex_host_email = $is_new_event ? '' : get_post_meta( $event->ID, $prefix . 'webex_host_email', true ); + $event->webex_password = self::get_password( $event ); + + return $event; + } + + /** + * Determines if the password should be shown + * based on the `virtual_show_embed_to` setting of the event. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param WP_Post $event The event post object, as decorated by the `tribe_get_event` function. + * + * @return boolean + */ + public static function should_show_password( $event ) { + if ( ! $event instanceof WP_Post ) { + return false; + } + + $show = ! in_array( Virtual_Event_Meta::$value_show_embed_to_logged_in, $event->virtual_show_embed_to, true ) || is_user_logged_in(); + + /** + * Filters whether the virtual content should show or not. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * @todo [plugin-consolidation] Merge VE into ECP, hook to be deprecated and renamed. + * + * @param boolean $show If the virtual content should show or not. + * @param WP_Post $event The event post object, as decorated by the `tribe_get_event` function. + */ + return apply_filters( 'tec_events_virtual_show_virtual_content', $show, $event ); + } + + /** + * Get the Webex password if it should be shown. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param WP_Post $event The event post object, as decorated by the `tribe_get_event` function. + * + * @return string|null The password or null if it should not be shown. + */ + public static function get_password( WP_Post $event ) { + $should_show = static::should_show_password( $event ); + + /** + * Filters whether the Webex password should be shown. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * @todo [plugin-consolidation] Merge VE into ECP, hook to be deprecated and renamed. + * + * @param boolean $should_show Whether the password should be shown. + * @param WP_Post $event The event post object, as decorated by the `tribe_get_event` function. + */ + $should_show = apply_filters( 'tec_events_virtual_meetings_webex_meeting_show_password', $should_show, $event ); + if ( ! $should_show ) { + return null; + } + + $prefix = Virtual_Event_Meta::$prefix; + $password = get_post_meta( $event->ID, $prefix . 'webex_password', true ); + + if ( $password ) { + return $password; + } + + $all_webex_details = get_post_meta( $event->ID, $prefix . 'webex_meeting_data', true ); + + return Arr::get( $all_webex_details, 'password', null ); + } + + /** + * Adds related properties to an Event Automator event details map. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param array $next_event An array of event details. + * @param WP_Post $event An instance of the event WP_Post object. + * + * @return array An array of event details. + */ + public static function add_event_automator_properties( array $next_event, WP_Post $event ) { + if ( $event->virtual_video_source !== static::$key_source_id ) { + return $next_event; + } + + $next_event['virtual_url'] = $event->virtual_meeting_url; + $next_event['virtual_provider_details'] = [ + 'webex_meeting_type' => $event->webex_meeting_type, + 'webex_meeting_id' => $event->webex_meeting_id, + 'webex_join_url' => $event->webex_join_url, + 'webex_meeting_display_details' => $event->virtual_meeting_display_details, + 'webex_host_email' => $event->webex_host_email, + 'webex_password' => $event->webex_password, + ]; + + return $next_event; + } +} diff --git a/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/Webex/Meetings.php b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/Webex/Meetings.php new file mode 100644 index 000000000..3cc3632e4 --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/Webex/Meetings.php @@ -0,0 +1,132 @@ +(\bwebex\b)).+?(MTID=(?([a-zA-Z0-9]*)))|'; + + /** + * Get the regex to get the Webex meeting/webinar id from a url. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @return string The regex to get Webex meeting/webinar id from a url from the filter if a string or the default. + */ + public function get_regex_meeting_join_url() { + /** + * Allow filtering of the regex to get Webex meeting join url. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * @todo [plugin-consolidation] Merge VE into ECP, hook to be deprecated and renamed. + * + * @param string The regex to verify a Webex meeting join url. + */ + $regex_meeting_join_url = apply_filters( 'tec_events_virtual_webex_regex_meeting_join_url', $this->regex_meeting_join_url ); + + return is_string( $regex_meeting_join_url ) ? $regex_meeting_join_url : $this->regex_meeting_join_url; + } + + /** + * {@inheritDoc} + */ + public function filter_virtual_autodetect_webex( $autodetect, $video_url, $video_source, $event, $ajax_data ) { + if ( $autodetect['detected'] || $autodetect['guess'] ) { + return $autodetect; + } + + // All video sources are checked on the first autodetect run, only prevent checking of this source if it is set. + if ( ! empty( $video_source ) && Webex_Meta::$key_source_id !== $video_source ) { + return $autodetect; + } + + // If virtual url, fail the request. + if ( empty( $video_url ) ) { + $autodetect['message'] = _x( 'No url found. Please enter a Webex meeting URL or change the selected source.', 'Webex autodetect missing video url error message.', 'tribe-events-calendar-pro' ); + + return $autodetect; + } + + // Attempt to find the Webex meeting/webinar id from the url. + preg_match( $this->get_regex_meeting_join_url(), $video_url, $matches ); + $web_link_found = isset( $matches['name'] ) && isset( $matches['id'] ) ? true : false; + if ( ! $web_link_found ) { + $error_message = _x( 'No Webex Meeting web link found. Please check your web link URL.', 'No Webex Meeting web link found for autodetect error message.', 'tribe-events-calendar-pro' ); + $autodetect['message'] = $error_message; + + return $autodetect; + } + + $autodetect['guess'] = Webex_Meta::$key_source_id; + + // Use the webex-account if available, otherwise try with the first account stored in the site. + $accounts = $this->api->get_list_of_accounts(); + $account_id = empty( $ajax_data['webex-account'] ) ? key( array_slice( $accounts, 0, 1 ) ) : esc_attr( $ajax_data['webex-account'] ); + + if ( empty( $account_id ) ) { + $autodetect['message'] = $this->api->get_no_account_message(); + + return $autodetect; + } + + $this->api->load_account_by_id( $account_id ); + if ( ! $this->api->is_ready() ) { + $autodetect['message'] = $this->api->get_no_account_message(); + + return $autodetect; + } + + $video_url = esc_url( $video_url ); + $data = $this->api->fetch_meeting_data( $video_url, 'meeting' ); + + // If no meeting or webinar found it is because the account is not authorized or does not exist. + if ( empty( $data ) ) { + $autodetect['message'] = _x( 'This Webex meeting could not be found in the selected account. Please select the associated account below and try again.', 'No Webex meeting or webinar found for autodetect error message.', 'tribe-events-calendar-pro' ); + + return $autodetect; + } + + // Set as virtual event and video source to Webex. + update_post_meta( $event->ID, Virtual_Events_Meta::$key_virtual, true ); + update_post_meta( $event->ID, Virtual_Events_Meta::$key_video_source, Webex_Meta::$key_source_id ); + $event->virtual_video_source = Webex_Meta::$key_source_id; + + // Save Webex data. + $new_response['body'] = json_encode( $data ); + $this->process_meeting_connection_response( $new_response, $event->ID ); + + // Set Webex as the autodetect source and set up success data and send back to smart url ui. + update_post_meta( $event->ID, Virtual_Events_Meta::$key_autodetect_source, Webex_Meta::$key_source_id ); + $this->api->save_account_id_to_post( $event->ID, $account_id ); + $autodetect['detected'] = true; + $autodetect['autodetect-source'] = Webex_Meta::$key_source_id; + $autodetect['message'] = _x( 'Webex meeting successfully connected!', 'Webex meeting/webinar connected success message.', 'tribe-events-calendar-pro' ); + $autodetect['html'] = $this->classic_editor->get_meeting_details( $event, false, $account_id, false ); + + return $autodetect; + } +} diff --git a/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/Webex/Password.php b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/Webex/Password.php new file mode 100644 index 000000000..fad0b7e6b --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/Webex/Password.php @@ -0,0 +1,143 @@ +api = $api; + } + + /** + * Update the Webex Password Related Meta Fields + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param \WP_Post $event The event post object. + * + * @return bool|void Whether the update completed. + */ + public function update_password( $event ) { + + $event = tribe_get_event( $event->ID ); + + if ( ! $event instanceof \WP_Post ) { + return; + } + + if ( empty( $event->virtual ) ) { + return; + } + + if ( empty( $event->webex_join_url ) ) { + return; + } + + $this->api->load_account(); + if ( empty( $this->api->is_ready() ) ) { + return; + } + + $meeting = $this->api->fetch_meeting_data( $event->webex_join_url ); + + if ( empty( $meeting['password'] ) ) { + return; + } + + $prefix = Virtual_Event_Meta::$prefix; + update_post_meta( $event->ID, $prefix . 'webex_password', esc_html( $meeting['password'] ) ); + + return true; + } + + /** + * Check Webex Meeting in the admin. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param WP_Post $event The event post object. + * + * @return bool|void Whether the update completed. + */ + public function check_admin_webex_meeting( $event ) { + if ( ! $event instanceof WP_Post ) { + // We should only act on event posts, else bail. + return; + } + + /** @var \Tribe__Cache $cache */ + $cache = tribe( 'cache' ); + $transient_name = $event->ID . '_webex_pw__admin_last_check'; + + $last_check = (string) $cache->get_transient( $transient_name ); + if ( $last_check ) { + return; + } + + $cache->set_transient( $transient_name, true, MINUTE_IN_SECONDS * 10 ); + + return $this->update_password( $event ); + } + + /** + * Check Webex Meeting on Front End.. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @return bool|void Whether the update completed. + */ + public function check_webex_meeting() { + if ( ! is_singular( Events_Plugin::POSTTYPE ) ) { + return; + } + + global $post; + + /** @var \Tribe__Cache $cache */ + $cache = tribe( 'cache' ); + $transient_name = $post->ID . '_webex_pw_last_check'; + + $last_check = (string) get_transient( $transient_name ); + if ( $last_check ) { + return; + } + + $cache->set_transient( $transient_name, true, HOUR_IN_SECONDS ); + + return $this->update_password( $post ); + } +} diff --git a/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/Webex/Settings.php b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/Webex/Settings.php new file mode 100644 index 000000000..ed2bbcbf4 --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/Webex/Settings.php @@ -0,0 +1,44 @@ +api = $api; + $this->template_modifications = $template_modifications; + $this->url = $url; + self::$api_id = Webex_Meta::$key_source_id; + } +} diff --git a/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/Webex/Template_Modifications.php b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/Webex/Template_Modifications.php new file mode 100644 index 000000000..7f6ade2e1 --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/Webex/Template_Modifications.php @@ -0,0 +1,96 @@ +add_event_single_api_details, see Abstract_Template_Modifications class. + */ + public function add_event_single_webex_details() { + _deprecated_function( __METHOD__, '1.13.1', 'Use $this->add_event_single_api_details() instead.' ); + + // Don't show on password protected posts. + if ( post_password_required() ) { + return; + } + + $event = tribe_get_event( get_the_ID() ); + + if ( + empty( $event->virtual ) + || empty( $event->virtual_meeting ) + || empty( $event->virtual_should_show_embed ) + || empty( $event->virtual_meeting_display_details ) + || Webex_Event_Meta::$key_source_id !== $event->virtual_meeting_provider + ) { + return; + } + + /** + * Filters whether the link button should open in a new window or not. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * @todo [plugin-consolidation] Merge VE into ECP, hook to be deprecated and renamed. + * + * @param boolean $link_button_new_window Boolean of if link button should open in new window. + */ + $link_button_new_window = apply_filters( 'tec_events_virtual_link_button_new_window', false ); + + $link_button_attrs = []; + if ( ! empty( $link_button_new_window ) ) { + $link_button_attrs['target'] = '_blank'; + } + + /** + * Filters whether the Webex link should open in a new window or not. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * @todo [plugin-consolidation] Merge VE into ECP, hook to be deprecated and renamed. + * + * @param boolean $webex_link_new_window Boolean of if the Webex link should open in new window. + */ + $webex_link_new_window = apply_filters( 'tec_events_virtual_webex_link_new_window', false ); + + $webex_link_attrs = []; + if ( ! empty( $webex_link_new_window ) ) { + $webex_link_attrs['target'] = '_blank'; + } + + $context = [ + 'event' => $event, + 'link_button_attrs' => $link_button_attrs, + 'webex_link_attrs' => $webex_link_attrs, + ]; + + $this->template->template( 'webex/single/webex-details', $context ); + } +} diff --git a/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/Webex/Url.php b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/Webex/Url.php new file mode 100644 index 000000000..cb30ce8db --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/Webex/Url.php @@ -0,0 +1,51 @@ +actions = $actions; + } +} diff --git a/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/Webex/Users.php b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/Webex/Users.php new file mode 100644 index 000000000..569a24519 --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/Webex/Users.php @@ -0,0 +1,70 @@ +api = $api; + $this->admin_template = $admin_template; + } + + /** + * {@inheritDoc} + */ + protected function get_users_array( $available_hosts ) { + if ( empty( $available_hosts['items'] ) ) { + return []; + } + + return $available_hosts['items']; + } + + /** + * {@inheritDoc} + */ + protected function get_formatted_user_info( $user ) { + $emails = Arr::get( $user, 'emails', '' ); + $email = isset( $emails[0] ) ? $emails[0] : ''; + $user_info = []; + $user_info['email'] = $email; + $user_info['name'] = Arr::get( $user, 'firstName', '' ) . ' ' . Arr::get( $user, 'lastName', '' ) . ' - ' . $email; + $user_info['last_name'] = Arr::get( $user, 'lastName', '' ); + $user_info['id'] = $email; + $user_info['value'] = Arr::get( $user, 'id', '' ); + + if ( empty( $user_info['last_name'] ) ) { + $user_info['last_name'] = Arr::get( $user, 'firstName', '' ); + } + + return $user_info; + } +} diff --git a/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/Webex_Provider.php b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/Webex_Provider.php new file mode 100644 index 000000000..721016fbc --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/Webex_Provider.php @@ -0,0 +1,570 @@ +container->singleton( 'events-virtual.meetings.webex', self::class ); + $this->container->singleton( self::class, self::class ); + + if ( ! $this->is_enabled() ) { + return; + } + + $this->add_actions(); + $this->add_filters(); + $this->hook_templates(); + $this->route_admin_by_nonce( $this->admin_routes(), 'manage_options' ); + } + + /** + * Hooks the actions required for the Webex API integration to work correctly. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + */ + protected function add_actions() { + // Filter event object properties to add the ones related to Webex meetings for virtual events. + add_action( 'tribe_events_virtual_add_event_properties', [ $this, 'add_event_properties' ] ); + add_action( 'add_meta_boxes_' . Events_Plugin::POSTTYPE, [ $this, 'check_admin_webex_meeting' ] ); + add_action( 'wp', [ $this, 'check_webex_meeting' ], 50 ); + add_action( 'tribe_events_virtual_metabox_save', [ $this, 'on_metabox_save' ], 10, 2 ); + add_action( 'save_post_tribe_events', [ $this, 'on_post_save' ], 100, 3 ); + } + + /** + * Hooks the filters required for the Webex API integration to work correctly. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + */ + protected function add_filters() { + add_filter( 'tec_settings_gmaps_js_api_start', [ $this, 'filter_addons_tab_fields' ] ); + add_filter( 'tribe_events_virtual_video_sources', [ $this, 'add_video_source' ], 20, 2 ); + add_filter( 'tec_events_virtual_autodetect_video_sources', [ $this, 'add_autodetect_source' ], 20, 3 ); + add_filter( 'tec_events_virtual_video_source_autodetect_field_all', [ $this, 'filter_virtual_autodetect_field_accounts' ], 20, 5 ); + add_filter( 'tec_events_virtual_video_source_autodetect_field_webex-accounts', [ $this, 'filter_virtual_autodetect_field_accounts' ], 20, 5 ); + + add_filter( 'tribe_events_virtual_display_embed_video_hidden', [ $this, 'filter_display_embed_video_hidden' ], 10, 2 ); + add_filter( 'tec_events_virtual_export_fields', [ $this, 'filter_webex_source_google_calendar_parameters' ], 10, 5 ); + add_filter( 'tec_events_virtual_webex_export_fields', [ $this, 'filter_source_google_calendar_webex_password' ], 10, 5 ); + add_filter( 'tec_events_virtual_export_fields', [ $this, 'filter_webex_source_ical_feed_items' ], 10, 5 ); + add_filter( 'tec_events_virtual_webex_export_fields', [ $this, 'filter_source_ical_webex_password' ], 10, 5 ); + add_filter( 'tec_events_virtual_outlook_single_event_export_url', [ $this, 'filter_outlook_single_event_export_url_by_api' ], 10, 6 ); + add_filter( 'tec_events_virtual_outlook_webex_export_url', [ $this, 'add_password_to_outlook_description' ], 10, 6 ); + add_filter( 'tec_events_virtual_meetings_api_error_message', [ $this, 'filter_api_error_message' ], 10, 3 ); + add_filter( + 'tribe_rest_event_data', + $this->container->callback( Webex_Meta::class, 'attach_rest_properties' ), + 10, + 2 + ); + add_action( 'tec_virtual_automator_map_event_details', [ $this, 'add_event_automator_properties' ], 10, 2 ); + } + + /** + * Hooks the template required for the integration to work. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + */ + protected function hook_templates() { + // Metabox. + add_action( + 'tribe_template_entry_point:events-pro/admin-views/virtual-metabox/container/video-source:video_sources', + [ $this, 'render_classic_meeting_link_ui' ], + 10, + 3 + ); + + // Email Templates. + add_filter( + 'tribe_events_virtual_ticket_email_template', + [ + $this, + 'maybe_change_email_template', + ], + 10, + 2 + ); + + // Event Single. + add_action( + 'tribe_events_single_event_after_the_content', + [ $this, 'action_add_event_single_webex_details' ], + 15, + 0 + ); + + // Event Single - Blocks. + add_action( 'wp', [ $this, 'hook_block_template' ] ); + + add_action( + 'tribe_events_virtual_block_content', + [ $this, 'action_add_event_single_webex_details' ], + 20, + 0 + ); + } + /** + * Filters the fields in the Events > Settings > APIs tab to add the ones provided by the extension. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param array $fields The current fields. + * + * @return array The fields, as updated by the settings. + */ + public function filter_addons_tab_fields( $fields ) { + if ( ! is_array( $fields ) ) { + return $fields; + } + + return tribe( Webex\Settings::class )->add_fields( $fields ); + } + + /** + * Filters the object returned by the `tribe_get_event` function to add to it properties related to Webex meetings. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param WP_Post $event The events post object to be modified. + * + * @return WP_Post The original event object decorated with properties related to virtual events. + */ + public function add_event_properties( $event ) { + if ( ! $event instanceof WP_Post ) { + // We should only act on event posts, else bail. + return $event; + } + + return $this->container->make( Webex_Meta::class )->add_event_properties( $event ); + } + + /** + * Filters the array returned for the event details map in the Event Automator integration. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param array $next_event An array of event details. + * @param WP_Post $event An instance of the event WP_Post object. + * + * @return array An array of event details. + */ + public function add_event_automator_properties( array $next_event, WP_Post $event ) { + if ( ! $event instanceof WP_Post ) { + return $next_event; + } + + return $this->container->make( Webex_Meta::class )->add_event_automator_properties( $next_event, $event ); + } + + /** + * Check Webex Meeting in the admin. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param WP_Post $event The event post object. + * + * @return bool|void Whether the update completed. + */ + public function check_admin_webex_meeting( $event ) { + return $this->container->make( Password::class )->check_admin_webex_meeting( $event ); + } + + /** + * Check Webex Meeting on Front End. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @return bool|void Whether the update completed. + */ + public function check_webex_meeting() { + return $this->container->make( Password::class )->check_webex_meeting(); + } + + /** + * Handles the save operations of the Classic Editor VE Metabox. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param int $post_id The post ID of the event currently being saved. + * @param array $data The data currently being saved. + */ + public function on_metabox_save( $post_id, $data ) { + $post = get_post( $post_id ); + if ( ! $post instanceof WP_Post && is_array( $data ) ) { + return; + } + + $this->container->make( Webex_Meta::class )->save_metabox_data( $post_id, $data ); + } + + /** + * Handles updating Webex meetings on post save. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param int $post_id The post ID. + * @param WP_Post $unused_post The post object. + * @param bool $update Whether this is an existing post being updated or not. + */ + public function on_post_save( $post_id, $unused_post, $update ) { + if ( ! $update ) { + return; + } + + $event = tribe_get_event( $post_id ); + + if ( ! $event instanceof WP_Post || empty( $event->duration ) ) { + // Hook for the Event meta save to try later in the save request, data might be there then. + if ( ! doing_action( 'tribe_events_update_meta' ) ) { + // But do no re-hook if we're acting on it. + add_action( 'tribe_events_update_meta', [ $this, 'on_post_save' ], 100, 3 ); + } + + return; + } + + $meeting_handler = $this->container->make( Meetings::class ); + + $meeting_handler->update( $event ); + } + + /** + * Provides the routes that should be used to handle Webex API requests. + * + * The map returned by this method will be used by the `Tribe\Events\Virtual\Traits\With_Nonce_Routes` trait. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @return array A map from the nonce actions to the corresponding handlers. + */ + public function admin_routes() { + $actions = tribe( Actions::class ); + + return [ + $actions::$authorize_nonce_action => $this->container->callback( Api::class, 'handle_auth_request' ), + $actions::$status_action => $this->container->callback( Api::class, 'ajax_status' ), + $actions::$delete_action => $this->container->callback( Api::class, 'ajax_delete' ), + $actions::$select_action => $this->container->callback( Classic_Editor::class, 'ajax_selection' ), + $actions::$create_action => $this->container->callback( Meetings::class, 'ajax_create' ), + $actions::$remove_action => $this->container->callback( Meetings::class, 'ajax_remove' ), + ]; + } + + /** + * Add the Webex Video Source. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param array An array of video sources. + * @param WP_Post $post The current event post object, as decorated by the `tribe_get_event` function. + * + * @return array An array of video sources. + */ + public function add_video_source( $video_sources, $post ) { + + $video_sources[] = [ + 'text' => _x( 'Webex', 'The name of the video source.', 'tribe-events-calendar-pro' ), + 'id' => Webex_Meta::$key_source_id, + 'value' => Webex_Meta::$key_source_id, + 'selected' => Webex_Meta::$key_source_id === $post->virtual_video_source, + ]; + + return $video_sources; + } + + /** + * Add Webex to Autodetect Source. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param array An array of autodetect sources. + * @param string $autodetect_source The ID of the current selected video source. + * @param WP_Post $post The current event post object, as decorated by the `tribe_get_event` function. + * + * @return array An array of video sources. + */ + public function add_autodetect_source( $autodetect_sources, $autodetect_source, $post ) { + + $autodetect_sources[] = [ + 'text' => _x( 'Webex', 'The name of the autodetect source.', 'tribe-events-calendar-pro' ), + 'id' => Webex_Meta::$key_source_id, + 'value' => Webex_Meta::$key_source_id, + 'selected' => Webex_Meta::$key_source_id === $autodetect_source, + ]; + + return $autodetect_sources; + } + + /** + * Add the Webex accounts dropdown field to the autodetect fields. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param array $autodetect An array of the autodetect resukts. + * @param string $video_url The url to use to autodetect the video source. + * @param string $autodetect_source The optional name of the video source to attempt to autodetect. + * @param WP_Post|null $event The event post object, as decorated by the `tribe_get_event` function. + * @param array $ajax_data An array of extra values that were sent by the ajax script. + * + * @return array An array of the autodetect results. + */ + public function filter_virtual_autodetect_field_accounts( $autodetect_fields, $video_url, $autodetect_source, $event, $ajax_data ) { + return $this->container->make( Classic_Editor::class ) + ->classic_autodetect_video_source_accounts( $autodetect_fields, $video_url, $autodetect_source, $event, $ajax_data ); + } + + /** + * Filters whether embed video control is hidden. + * + * @param boolean $is_hidden Whether the embed video control is hidden. + * @param WP_Post $event The event object. + * + * @return boolean Whether the embed video control is hidden. + */ + public function filter_display_embed_video_hidden( $is_hidden, $event ) { + if ( + ! $event->virtual_meeting || + tribe( self::class )->get_slug() !== $event->virtual_meeting_provider + ) { + return $is_hidden; + } + + return true; + } + + /** + * Filter the Google Calendar export fields for a Webex source event. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param array $fields The various file format components for this specific event. + * @param WP_Post $event The WP_Post of this event. + * @param string $key_name The name of the array key to modify. + * @param string $type The name of the export type. + * @param boolean $should_show Whether to modify the export fields for the current user, default to false. + * + * @return array Google Calendar Link params. + */ + public function filter_webex_source_google_calendar_parameters( $fields, $event, $key_name, $type, $should_show ) { + return $this->container->make( Webex_Event_Export::class )->modify_video_source_export_output( $fields, $event, $key_name, $type, $should_show ); + } + + /** + * Filter the Google Calendar export fields for a Webex to add the password. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param array $fields The various file format components for this specific event. + * @param WP_Post $event The WP_Post of this event. + * @param string $key_name The name of the array key to modify. + * @param string $type The name of the export type. + * @param boolean $should_show Whether to modify the export fields for the current user, default to false. + * + * @return array Google Calendar Link params. + */ + public function filter_source_google_calendar_webex_password( $fields, $event, $key_name, $type, $should_show ) { + return $this->container->make( Webex_Event_Export::class )->add_password_to_gcal_details( $fields, $event, $key_name, $type, $should_show ); + } + + /** + * Filter the iCal export fields for a Webex source event. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param array $fields The various file format components for this specific event. + * @param WP_Post $event The WP_Post of this event. + * @param string $key_name The name of the array key to modify. + * @param string $type The name of the export type. + * @param boolean $should_show Whether to modify the export fields for the current user, default to false. + * + * @return array The various iCal file format components of this specific event item. + */ + public function filter_webex_source_ical_feed_items( $fields, $event, $key_name, $type, $should_show ) { + return $this->container->make( Webex_Event_Export::class )->modify_video_source_export_output( $fields, $event, $key_name, $type, $should_show ); + } + + /** + * Filter the iCal export fields for Webex to add the password. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param array $fields The various file format components for this specific event. + * @param WP_Post $event The WP_Post of this event. + * @param string $key_name The name of the array key to modify. + * @param string $type The name of the export type. + * @param boolean $should_show Whether to modify the export fields for the current user, default to false. + * + * @return array The various iCal file format components of this specific event item. + */ + public function filter_source_ical_webex_password( $fields, $event, $key_name, $type, $should_show ) { + return $this->container->make( Webex_Event_Export::class )->add_password_to_ical_description( $fields, $event, $key_name, $type, $should_show ); + } + + /** + * Filter the Outlook single event export url for a Webex source event. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param string $url The url used to subscribe to a calendar in Outlook. + * @param string $base_url The base url used to subscribe in Outlook. + * @param array $params An array of parameters added to the base url. + * @param Outlook_Methods $outlook_methods An instance of the link abstract. + * @param \WP_Post $event The WP_Post of this event. + * @param boolean $should_show Whether to modify the export fields for the current user, default to false. + * + * @return string The export url used to generate an Outlook event for the single event. + */ + public function filter_outlook_single_event_export_url_by_api( $url, $base_url, $params, $outlook_methods, $event, $should_show ) { + return $this->container->make( Webex_Event_Export::class )->filter_outlook_single_event_export_url_by_api( $url, $base_url, $params, $outlook_methods, $event, $should_show ); + } + + /** + * Filter the Outlook single event export url for Webex to add the password. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param string $url The url used to subscribe to a calendar in Outlook. + * @param string $base_url The base url used to subscribe in Outlook. + * @param array $params An array of parameters added to the base url. + * @param Outlook_Methods $outlook_methods An instance of the link abstract. + * @param \WP_Post $event The WP_Post of this event. + * @param boolean $should_show Whether to modify the export fields for the current user, default to false. + * + * @return string The export url used to generate an Outlook event for the single event. + */ + public function add_password_to_outlook_description( $url, $base_url, $params, $outlook_methods, $event, $should_show ) { + return $this->container->make( Webex_Event_Export::class )->add_password_to_outlook_description( $url, $base_url, $params, $outlook_methods, $event, $should_show ); + } + + /** + * Filters the API error message. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param string $api_message The API error message. + * @param array $body The json_decoded request body. + * @param Api_Response $response The response that will be returned. A non `null` value + * here will short-circuit the response. + * + * @return string $api_message The API error message. + */ + public function filter_api_error_message( $api_message, $body, $response ) { + return $this->container->make( Api::class )->filter_api_error_message( $api_message, $body, $response ); + } + + /** + * Renders the Webex API link generation UI and controls, depending on the current state. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param string $file The path to the template file, unused. + * @param string $entry_point The name of the template entry point, unused. + * @param \Tribe__Template $template The current template instance. + */ + public function render_classic_meeting_link_ui( $file, $entry_point, \Tribe__Template $template ) { + $this->container->make( Webex\Classic_Editor::class ) + ->render_initial_setup_options( $template->get( 'post' ) ); + } + + /** + * Conditionally inject content into ticket email templates. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param string $template The template path, relative to src/views. + * @param array $args The template arguments. + * + * @return string + */ + public function maybe_change_email_template( $template, $args ) { + return $this->container->make( Email::class )->maybe_change_email_template( $template, $args ); + } + + /** + * Hook block templates - legacy or new VE block. + * Has to be postponed to `wp` action or later so global $post is available. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + */ + public function hook_block_template() { + /* The action/location which the template is injected depends on whether or not V2 is enabled + * and whether the virtual event block is present in the post content. + */ + $embed_inject_action = tribe( 'events-virtual.hooks' )->get_virtual_embed_action(); + + add_action( + $embed_inject_action, + [ $this, 'action_add_event_single_webex_details' ], + 20, + 0 + ); + } + + /** + * Include the Webex details for event single. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + */ + public function action_add_event_single_webex_details() { + // Don't show if requires log in and user isn't logged in. + $base_modifications = $this->container->make( 'Tribe\Events\Virtual\Template_Modifications' ); + $should_show = $base_modifications->should_show_virtual_content( tribe_get_Event( get_the_ID() ) ); + + if ( ! $should_show ) { + return; + } + + $template_modifications = $this->container->make( Template_Modifications::class ); + $template_modifications->add_event_single_api_details(); + } +} diff --git a/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/YouTube/Classic_Editor.php b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/YouTube/Classic_Editor.php new file mode 100644 index 000000000..de3e875ee --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/YouTube/Classic_Editor.php @@ -0,0 +1,75 @@ +template = $template; + } + + /** + * Renders, echoing to the page, the YouTube Integration fields. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param null|\WP_Post|int $post The post object or ID of the event to generate the controls for, or `null` to use + * the global post object. + * @param bool $echo Whether to echo the template contents to the page (default) or to return it. + * + * @return string The template contents, if not rendered to the page. + */ + public function render_setup_options( $post = null, $echo = true ) { + $post = tribe_get_event( get_post( $post ) ); + + if ( ! $post instanceof \WP_Post ) { + return ''; + } + + // Make sure to apply the YouTube properties to the event. + YouTube_Meta::add_event_properties( $post ); + + // Get the current YouTube Fields, it will return an array of saved values or the defaults. + $fields = YouTube_Meta::get_current_fields( $post ); + + return $this->template->template( + 'virtual-metabox/youtube/controls', + [ + 'event' => $post, + 'fields' => $fields, + ], + $echo + ); + } +} diff --git a/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/YouTube/Connection.php b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/YouTube/Connection.php new file mode 100644 index 000000000..884ebff11 --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/YouTube/Connection.php @@ -0,0 +1,308 @@ +regex_status ); + + return is_string( $regex_status ) ? $regex_status : $this->regex_status; + } + + /** + * Get the regex to to check if embed allowed. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @return string The regex to detect embed status from the filter if a string or the default. + */ + public function get_regex_embed_allowed() { + /** + * Allow filtering of the regex to get YouTube video status. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * @todo [plugin-consolidation] Merge VE into ECP, hook to be deprecated and renamed. + * + * @param string The regex to detect embed status. + */ + $regex_embed_allowed = apply_filters( 'tribe_events_virtual_youtube_regex_embed_allowed', $this->regex_embed_allowed ); + + return is_string( $regex_embed_allowed ) ? $regex_embed_allowed : $this->regex_embed_allowed; + } + + /** + * Get the regex to get the video id. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @return string The regex to detect video id from the filter if a string or the default. + */ + public function get_regex_video_id() { + /** + * Allow filtering of the regex to get the YouTube video id. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * @todo [plugin-consolidation] Merge VE into ECP, hook to be deprecated and renamed. + * + * @param string The regex to detect video id. + */ + $regex_video_id = apply_filters( 'tribe_events_virtual_youtube_regex_video_id', $this->regex_video_id ); + + return is_string( $regex_video_id ) ? $regex_video_id : $this->regex_video_id; + } + + /** + * Get the YouTube live stream video. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param string $channel_id The YouTube channel id. + * + * @return string OFFLINE or the video id if live. + */ + public function get_live_stream( $channel_id ) { + $is_live = static::$offline_key; + if ( empty( $channel_id ) ) { + return $is_live; + } + + /** @var \Tribe__Cache $cache */ + $cache = tribe( 'cache' ); + $cache_id = 'events_virtual_meetings_youtube_' . md5( $channel_id ); + $video_id = $cache->get_transient( $cache_id ); + if ( ! empty( $video_id ) ) { + return $video_id; + } + + $data = $this->get_channel_html_by_id( $channel_id ); + if ( ! $data ) { + return $is_live; + } + + $this->is_embeddable = $this->get_is_embeddable( $data ); + if ( ! $this->is_embeddable ) { + return $is_live; + } + + $this->status = $this->get_live_stream_status( $data ); + if ( ! $this->status ) { + return $is_live; + } + + $this->video_id = $this->get_the_video_id( $data ); + if ( $this->video_id ) { + $is_live = $this->video_id; + } + + $expiration = MINUTE_IN_SECONDS * 3; + $cache->set_transient( $cache_id, $is_live, $expiration ); + return $is_live; + } + + /** + * Get the YouTube channel's html. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param string $channel_id The YouTube channel id. + * + * @return string The html of the request YouTube channel or empty string. + */ + protected function get_channel_html_by_id( $channel_id ) { + $response = wp_remote_get( $this->get_url_with_id( $channel_id ) ); + $data = wp_remote_retrieve_body( $response ); + if ( is_wp_error( $data ) ) { + return ''; + } + + $this->data = $data; + + return $data; + } + + /** + * Get the current status of the live stream. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param string $data The html of the request YouTube channel. + * + * @return bool Whether the channel is live or not. + */ + protected function get_live_stream_status( $data ) { + preg_match_all( $this->get_regex_status(), $data, $matches ); + if ( ! isset( $matches[1][1] ) ) { + return false; + } + + // If OK or LIVE_STREAM_OFFLINE we have a valid video + if ( + 'OK' === $matches[1][1] + || 'LIVE_STREAM_OFFLINE' === $matches[1][1] + ) { + return true; + } + + return false; + } + + /** + * Get if a YouTube channel live video is embeddable. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param string $data The html of the request YouTube channel. + * + * @return bool Whether the live video can be embed or not. + */ + protected function get_is_embeddable( $data ) { + preg_match_all( $this->get_regex_embed_allowed(), $data, $matches ); + if ( ! isset( $matches[0][0] ) ) { + return false; + } + + return true; + } + + /** + * Get the video id if live. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param string $data The html of the request YouTube channel. + * + * @return string|boolean The live video id or false if not live. + */ + protected function get_the_video_id( $data ) { + preg_match_all( $this->get_regex_video_id(), $data, $matches ); + if ( ! isset( $matches[1][0] ) ) { + return false; + } + + return esc_attr( $matches[1][0] ); + } + + /** + * Get the YouTube Channel url with the provided ID. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param string $channel_id The YouTube channel id. + * + * @return string The url with the channel id. + */ + public static function get_url_with_id( $channel_id = '' ) { + return str_replace( '%%CHANNELID%%', $channel_id, self::$url_with_placeholder ); + } +} diff --git a/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/YouTube/Embeds.php b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/YouTube/Embeds.php new file mode 100644 index 000000000..c770e1642 --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/YouTube/Embeds.php @@ -0,0 +1,116 @@ +regex_video_url ); + + return is_string( $regex_video_url ) ? $regex_video_url : $this->regex_video_url; + } + + /** + * Get the live chat embed coding. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param \WP_Post $event The event post object with properties added by the `tribe_get_event` function. + * + * @return bool|string The string of the live chat or false if not live chat. + */ + public function get_live_chat( $event ) { + if ( ! $event->youtube_live_chat ) { + return false; + } + $parsed_site_url = parse_url( get_site_url() ); + $embed_domain = $parsed_site_url["host"]; + + return ''; + } + + /** + * Get the YouTube embed html with the saved parameters. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param \WP_Post $event The event post object with properties added by the `tribe_get_event` function. + * + * @return string The html for the YouTube Video embed with the saved parameters. + */ + public function get_embed( $event ) { + if ( ! $event instanceof \WP_Post ) { + return ''; + } + + if ( empty( $event->virtual_meeting_is_live ) || ! is_string( $event->virtual_meeting_is_live ) ) { + return ''; + } + + $iframe = wp_oembed_get( 'http://www.youtube.com/watch?v=' . $event->virtual_meeting_is_live ); + + // Find the video url and replace the parameters. + // 1 & 0 used as false does not get added to the url. + $parameters = [ + 'autoplay' => $event->youtube_autoplay ? 1 : 0, + 'mute' => $event->youtube_mute_video ? 1 : 0, + 'modestbranding' => $event->youtube_modest_branding ? 1 : 0, + 'rel' => $event->youtube_related_videos ? 0 : 1, + 'controls' => $event->youtube_hide_controls ? 0 : 1, + ]; + preg_match( $this->get_regex_video_url(), $iframe, $matches ); + $src = isset( $matches[1] ) ? $matches[1] : false; + if ( ! $src ) { + return false; + } + + $new_src = add_query_arg( $parameters, $src ); + + return str_replace( $src, $new_src, $iframe ); + } +} diff --git a/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/YouTube/Event_Export.php b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/YouTube/Event_Export.php new file mode 100644 index 000000000..2a07ffe24 --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/YouTube/Event_Export.php @@ -0,0 +1,61 @@ +virtual_video_source ) { + return $fields; + } + + // If it should not show or no linked button and details, set the permalink and return. + if ( + ! $should_show || + ( + $event->virtual_embed_video && + ! $event->virtual_linked_button + ) + ) { + $fields[ $key_name ] = $this->format_value( get_the_permalink( $event->ID ), $key_name, $type ); + + return $fields; + } + + $url = $event->virtual_url; + if ( ! empty( $event->virtual_meeting_url ) ) { + $url = $event->virtual_meeting_url; + } + + $fields[ $key_name ] = $this->format_value( $url, $key_name, $type ); + + return $fields; + } +} diff --git a/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/YouTube/Event_Meta.php b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/YouTube/Event_Meta.php new file mode 100644 index 000000000..45c4ffa30 --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/YouTube/Event_Meta.php @@ -0,0 +1,400 @@ + + */ + public static $fields = [ + 'channel_id', + 'autoplay', + 'live_chat', + 'mute_video', + 'modest_branding', + 'related_videos', + 'hide_controls', + ]; + + /** + * The prefix, in the context of tribe_get_events, of each setting of YouTube. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @var string + */ + public static $prefix = 'youtube_'; + + /** + * Get the prefix for the settings. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param string $key The meta key to add the prefix to. + * + * @return string The meta key with prefix added. + */ + protected static function get_prefix( $key ) { + return static::$prefix . $key; + } + + /** + * Returns an event post meta related to YouTube. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param int|\WP_Post $post The event post ID or object. + * + * @return array The YouTube post meta or an empty array if not found or not an event. + */ + public static function get_post_meta( $post ) { + $event = tribe_get_event( $post ); + + if ( ! $event instanceof \WP_Post ) { + return []; + } + + $all_meta = get_post_meta( $event->ID ); + + $prefix = Virtual_Event_Meta::$prefix . 'youtube_'; + + $flattened_array = Arr::flatten( + array_filter( + $all_meta, + static function ( $meta_key ) use ( $prefix ) { + return 0 === strpos( $meta_key, $prefix ); + }, + ARRAY_FILTER_USE_KEY + ) + ); + + return $flattened_array; + } + + /** + * Add information about the YouTube live stream if available via the REST Api. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param array $data The current data of the event. + * @param \WP_Post $event The event being updated. + * + * @return array An array with the data of the event on the endpoint. + */ + public function attach_rest_properties( array $data, \WP_Post $event ) { + $event = tribe_get_event( $event ); + + if ( ! $event instanceof \WP_Post || ! current_user_can( 'read_private_posts' ) ) { + return $data; + } + + // Return when YouTube is not the source. + if ( 'youtube' !== $event->virtual_video_source ) { + return $data; + } + + if ( empty( $data['meetings'] ) ) { + $data['meetings'] = []; + } + + $data['meetings']['youtube'] = [ + 'channel_id' => $event->youtube_channel_id, + 'is_live' => $event->virtual_meeting_is_live, + 'auto_play' => $event->youtube_autoplay, + 'live_chat' => $event->youtube_live_chat, + 'mute_video' => $event->youtube_mute_video, + 'modest_branding' => $event->youtube_modest_branding, + 'related_videos' => $event->youtube_related_videos, + 'hide_controls' => $event->youtube_hide_controls, + ]; + + return $data; + } + + /** + * Adds YouTube related properties to an event post object. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param \WP_Post $event The event post object, as decorated by the `tribe_get_event` function. + * + * @return \WP_Post The decorated event post object, with YouTube related properties added to it. + */ + public static function add_event_properties( \WP_Post $event ) { + // Return when YouTube is not the source. + if ( 'youtube' !== $event->virtual_video_source ) { + return $event; + } + + // Get the saved values since the source is YouTube. + foreach ( self::$fields as $field_name ) { + $prefix_name = self::get_prefix( $field_name ); + $value = self::get_meta_field( $prefix_name, $event ); + $event->{$prefix_name} = $value; + } + + // Enforce this is a virtual event. + $event->virtual = true; + $event->virtual_meeting = true; + $event->virtual_meeting_provider = tribe( YouTube_Provider::class )->get_slug(); + + // Set virtual url to null if YouTube is connected to the event. + $event->virtual_url = null; + + return $event; + } + + /** + * Get the saved or default values. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param \WP_Post $event The event post object, as decorated by the `tribe_get_event` function. + * + * @return array The array of values for switch fields. + */ + public static function get_current_fields( \WP_Post $event ) { + /** @var \Tribe\Events\Virtual\Meetings\YouTube\Settings */ + $settings = tribe( Settings::class ); + $setting_defaults = $settings->get_fields( true ); + $fields = []; + $use_defaults = false; + + // Use defaults when YouTube is not the source. + if ( 'youtube' !== $event->virtual_video_source ) { + $use_defaults = true; + } + + foreach ( $setting_defaults as $setting_id => $field ) { + // Remove the settings prefix to get matching fields. + $meta_id = str_replace( 'tribe_', '', $setting_id ); + $name = "tribe-events-virtual[{$meta_id}]"; + + // Setup the field. + $fields[ $name ] = [ + 'label' => $field['label'], + 'tooltip' => $field['tooltip'], + 'value' => $use_defaults ? $field['value'] : self::get_meta_field( $meta_id, $event ), + ]; + } + + /** + * Filters the YouTube fields values for an event. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * @todo [plugin-consolidation] Merge VE into ECP, hook to be deprecated and renamed. + * + * @param array A map of the YouTube Live fields that will be used for an event. + * @param bool $use_defaults Whether the default values are being used. + */ + return apply_filters( 'tribe_events_virtual_meetings_youtube_settings_event_fields', $fields, $use_defaults ); + } + + /** + * Get the meta fields value. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param string $key The option key to add the prefix to. + * @param \WP_Post $event The event post object, as decorated by the `tribe_get_event` function. + * + * @return mixed + */ + protected static function get_meta_field( $key, \WP_Post $event ) { + return get_post_meta( $event->ID, Virtual_Event_Meta::$prefix . $key, true ); + } + + /** + * Saves the meta fields for YouTube. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param int $post_id The post ID of the post the date is being saved for. + * @param array $data The data to save, directly from the metabox. + */ + public function save_metabox_data( $post_id, array $data ) { + $event = tribe_get_event( $post_id ); + if ( 'youtube' !== $event->virtual_video_source ) { + return; + } + + $prefix = Virtual_Event_Meta::$prefix; + $channel_id = get_post_meta( $post_id, $prefix . 'youtube_channel_id', true ); + + // An event that has a YouTube Channel ID Meeting link should always be considered virtual, let's ensure that. + if ( ! empty( $channel_id ) ) { + update_post_meta( $post_id, Virtual_Event_Meta::$key_virtual, true ); + } + + // Update meta fields. + foreach ( self::$fields as $field_name ) { + $name = self::get_prefix( $field_name ); + $value = Arr::get( $data, $name, false ); + $meta_key = $prefix . $name; + + if ( ! empty( $value ) ) { + update_post_meta( $post_id, $meta_key, $value ); + } else { + delete_post_meta( $post_id, $meta_key ); + } + } + } + + /** + * Removes the YouTube meta from a post. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param int|\WP_Post $post The event post ID or object. + */ + public static function delete_meta( $post ) { + $event = tribe_get_event( $post ); + + if ( ! $event instanceof \WP_Post ) { + return false; + } + + $youtube_meta = static::get_post_meta( $event ); + + foreach ( array_keys( $youtube_meta ) as $meta_key ) { + delete_post_meta( $event->ID, $meta_key ); + } + + return true; + } + + /** + * Adds dynamic, time-related, properties to the event object. + * + * This method deals with properties we set, for convenience, on the event object that should not + * be cached as they are time-dependent; i.e. the time the properties are computed at matters and + * caching their values would be incorrect. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param WP_Post $event The event post object, as read from the cache, if any. + * + * @return WP_Post The decorated event post object; its dynamic and time-dependent properties correctly set up. + */ + public function add_dynamic_properties( WP_Post $event ) { + + // Return the event post object in the admin as these properties are for the front end only. + if ( is_admin() ) { + return $event; + } + + if ( 'youtube' !== $event->virtual_video_source ) { + return $event; + } + + // Hide on a past event. + if ( tribe_is_past_event( $event ) ) { + return $event; + } + + if ( ! $event->virtual_should_show_embed ) { + return $event; + } + + // Setup YouTube Live Stream. + /** @var \Tribe\Events\Virtual\Meetings\YouTube\Connection $connection */ + $connection = tribe( Connection::class ); + $event->virtual_meeting_url = $connection->get_url_with_id( $event->youtube_channel_id ); + $event->virtual_meeting_is_live = $connection->get_live_stream( $event->youtube_channel_id ); + + // If offline there is no linked button to add. + if ( Connection::$offline_key === $event->virtual_meeting_is_live ) { + return $event; + } + + // Override the virtual url if linked button is checked. + if ( ! empty( $event->virtual_linked_button ) ) { + $event->virtual_url = $event->virtual_meeting_url; + } + + return $event; + } + + /** + * Filter the ticket email url. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param string $virtual_url The virtual url for the ticket and rsvp emails. + * @param WP_Post $event The event post object with properties added by the `tribe_get_event` function. + * + * @return string The YouTube virtual url for the ticket and rsvp emails. + */ + public function filter_ticket_email_url( $virtual_url, WP_Post $event ) { + + if ( 'youtube' !== $event->virtual_video_source ) { + return $virtual_url; + } + + // Get Live Stream URL + /** @var \Tribe\Events\Virtual\Meetings\YouTube\Connection $connection */ + $connection = tribe( Connection::class ); + + return $connection->get_url_with_id( $event->youtube_channel_id ); + } + + /** + * Adds related properties to an Event Automator event details map. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param array $next_event An array of event details. + * @param WP_Post $event An instance of the event WP_Post object. + * + * @return array An array of event details. + */ + public static function add_event_automator_properties( array $next_event, WP_Post $event ) { + if ( $event->virtual_video_source !== static::$key_source_id ) { + return $next_event; + } + + $next_event['virtual_url'] = $event->virtual_meeting_url; + $next_event['virtual_provider_details'] = [ + 'youtube_channel_id' => $event->youtube_channel_id, + 'youtube_url' => $event->virtual_meeting_url, + 'youtube_is_live' => $event->virtual_meeting_is_live, + 'youtube_autoplay' => $event->youtube_autoplay, + 'youtube_live_chat' => $event->youtube_live_chat, + 'youtube_mute_video' => $event->youtube_mute_video, + 'youtube_modest_branding' => $event->youtube_modest_branding, + 'youtube_related_videos' => $event->youtube_related_videos, + 'youtube_hide_controls' => $event->youtube_hide_controls, + ]; + + return $next_event; + } +} diff --git a/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/YouTube/Settings.php b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/YouTube/Settings.php new file mode 100644 index 000000000..6cb5924c0 --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/YouTube/Settings.php @@ -0,0 +1,381 @@ +get_url( [ 'tab' => 'addons' ] ); + + return $admin_page_url; + } + + /** + * Adds the YouTube API fields to the ones in the Events > Settings > APIs tab. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param array $fields The current fields. + * + * @return array The fields, as updated by the settings. + */ + public function add_fields( array $fields = [] ) { + $wrapper_classes = tribe_get_classes( + [ + 'tribe-settings-youtube-integration' => true, + 'tribe-common' => true, + ] + ); + + $youtube_fields = [ + $this->get_prefix( 'youtube-content-wrapper_open' ) => [ + 'type' => 'html', + 'html' => '
                          ' + ], + $this->get_prefix( 'header' ) => [ + 'type' => 'html', + 'html' => $this->get_intro_text(), + ], + $this->get_prefix( 'wrapper_open' ) => [ + 'type' => 'html', + 'html' => '
                          ', + ], + $this->get_prefix( 'channel_id' ) => $this->get_channel_id_field(), + $this->get_prefix( 'defaults' ) => [ + 'type' => 'html', + 'html' => $this->get_default_fields(), + ], + $this->get_prefix( 'wrapper_close' ) => [ + 'type' => 'html', + 'html' => '
                          ', + ], + $this->get_prefix( 'youtube-content-wrapper_close' ) => [ + 'type' => 'html', + 'html' => '', + ], + ]; + + // Merge the fields displayed in the slide toggle. + $youtube_fields = array_merge( $youtube_fields, $this->get_fields() ); + + /** + * Filters the YouTube API settings shown to the user in the Events > Settings > APIs screen. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * @todo [plugin-consolidation] Merge VE into ECP, hook to be deprecated and renamed. + * + * @param array A map of the YouTube API fields that will be printed on the page. + * @param Settings $this This Settings instance. + */ + $youtube_fields = apply_filters( 'tribe_events_virtual_meetings_youtube_settings_fields', $youtube_fields, $this ); + + // Insert the link after the other APIs and before the Google Maps API ones. + $fields = Common::array_insert_before_key( + 'gmaps-js-api-start', + $fields, + $youtube_fields + ); + + return $fields; + } + + /** + * Provides the introductory text to the set up and configuration of the YouTube API integration. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @return string The introductory text to the the set up and configuration of the YouTube API integration. + */ + protected function get_intro_text() { + return tribe( Template_Modifications::class )->get_intro_text(); + } + + /** + * Get the API authorization fields. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @return string The HTML fields. + */ + protected function get_default_fields() { + $fields = $this->get_fields(); + + return tribe( Template_Modifications::class )->get_default_fields( $fields ); + } + + /** + * Get the default YouTube fields. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param bool $include_channel_id Whether to include the channel id, default false. + * + * @return array The array of values for switch fields. + */ + public function get_fields( $include_channel_id = false ) { + $fields = [ + $this->get_prefix( 'autoplay' ) => [ + 'type' => 'hidden', + 'default' => false, + 'validation_type' => 'boolean', + 'label' => esc_html_x( + 'Autoplay Video', + 'YouTube default setting', + 'tribe-events-calendar-pro' + ), + 'tooltip' => esc_html_x( + 'Autoplay is being deprecated by most browsers and is prevented in Chrome and Safari, it maybe removed in all the browsers soon.', + 'YouTube default setting tooltip', + 'tribe-events-calendar-pro' + ), + 'value' => $this->get_option( 'autoplay', false ), + ], + $this->get_prefix( 'live_chat' ) => [ + 'type' => 'hidden', + 'default' => false, + 'validation_type' => 'boolean', + 'label' => esc_html_x( + 'Include live chat', + 'YouTube default setting', + 'tribe-events-calendar-pro' + ), + 'tooltip' => '', + 'value' => $this->get_option( 'live_chat', false ), + ], + $this->get_prefix( 'mute_video' ) => [ + 'type' => 'hidden', + 'default' => false, + 'validation_type' => 'boolean', + 'label' => esc_html_x( + 'Mute Video', + 'YouTube default setting', + 'tribe-events-calendar-pro' + ), + 'tooltip' => esc_html_x( + 'Best used with autoplay.', + 'YouTube default setting tooltip', + 'tribe-events-calendar-pro' + ), + 'value' => $this->get_option( 'mute_video', false ), + ], + $this->get_prefix( 'modest_branding' ) => [ + 'type' => 'hidden', + 'default' => false, + 'validation_type' => 'boolean', + 'label' => esc_html_x( + 'Modest Branding', + 'YouTube default setting', + 'tribe-events-calendar-pro' + ), + 'tooltip' => esc_html_x( + 'Hides the YouTube logo in the control bar.', + 'YouTube default setting tooltip', + 'tribe-events-calendar-pro' + ), + 'value' => $this->get_option( 'modest_branding', false ), + ], + $this->get_prefix( 'related_videos' ) => [ + 'type' => 'hidden', + 'default' => false, + 'validation_type' => 'boolean', + 'label' => esc_html_x( + 'Restrict Related Videos', + 'YouTube default setting', + 'tribe-events-calendar-pro' + ), + 'tooltip' => esc_html_x( + 'Restricts related videos to only come from your channel.', + 'YouTube default setting tooltip', + 'tribe-events-calendar-pro' + ), + 'value' => $this->get_option( 'related_videos', false ), + ], + $this->get_prefix( 'hide_controls' ) => [ + 'type' => 'hidden', + 'default' => false, + 'validation_type' => 'boolean', + 'label' => esc_html_x( + 'Hide Controls', + 'YouTube default setting', + 'tribe-events-calendar-pro' + ), + 'tooltip' => esc_html_x( + 'Hides the video control bar.', + 'YouTube default setting tooltip', + 'tribe-events-calendar-pro' + ), + 'value' => $this->get_option( 'hide_controls', false ), + ], + ]; + + if ( $include_channel_id ) { + $fields[ $this->get_prefix( 'channel_id' ) ] = $this->get_channel_id_field(); + } + + return $fields; + } + + /** + * Get the prefix for the settings. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param string $key The option key to add the prefix to. + * + * @return string The option key with prefix added. + */ + public static function get_prefix( $key ) { + return static::$option_prefix . $key; + } + + /** + * Get the prefix for the settings. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param string $key The option key to add the prefix to. + * @param mixed $default The default option for the key. + * + * @return mixed The options value or default value. + */ + public static function get_option( $key, $default = '' ) { + return Manager::get_option( static::get_prefix( $key ), $default ); + } + + /** + * Get the channel id field. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @return array The channel id field settings. + */ + public function get_channel_id_field() { + $url = 'https://evnt.is/1ap7'; + $channel_tooltip = sprintf( + '%2$s', + esc_url( $url ), + esc_html_x( + 'Click here to find channel ID', + 'Settings help text for finding a YouTube channel id.', + 'tribe-events-calendar-pro' + ) + ); + + return [ + 'type' => 'text', + 'label' => esc_html_x( 'Default YouTube Live Channel ID', 'The field label for the default YouTube channel ID', 'tribe-events-calendar-pro' ), + 'placeholder' => esc_html_x( 'Enter your YouTube Live ID', 'The field placeholder for the default YouTube channel ID', 'tribe-events-calendar-pro' ), + 'tooltip' => $channel_tooltip, + 'validation_type' => 'html', + 'class' => 'tribe-settings-youtube-integration__channel-id', + 'value' => $this->get_option( 'channel_id', '' ), + ]; + } + + /** + * The message template to display on user account changes. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param string $message The message to display. + * @param string $type The type of message, either standard or error. + * + * @return string The message with html to display + */ + public function get_settings_message_template( $message, $type = 'standard' ) { + return tribe( Template_Modifications::class )->get_settings_message_template( $message, $type ); + } + + /** + * Handles the request to delete a channel ID. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param string|null $nonce The nonce that should accompany the request. + * + * @return bool Whether the request was handled or not. + */ + public function ajax_delete( $nonce = null ) { + + if ( ! $this->check_ajax_nonce( static::$delete_action, $nonce ) ) { + return false; + } + + $youtube_field_id = tribe_get_request_var( 'channel_field_id' ); + // If no field id found, fail the request. + if ( empty( $youtube_field_id ) ) { + $error_message = _x( 'The YouTube channel ID field is missing.', 'YouTube channel ID is missing on delete error message.', 'tribe-events-calendar-pro' ); + $this->get_settings_message_template( $error_message, 'error' ); + + wp_die(); + } + + // Remove the channel id. + $success = tribe_update_option( $youtube_field_id, '' ); + if ( $success ){ + $message = _x( + 'The YouTube channel ID was successfully deleted.', + 'The message after a YouTube channel ID has been deleted from the Website.', + 'tribe-events-calendar-pro' + ); + $this->get_settings_message_template( $message ); + + wp_die(); + } + + $error_message = _x( + 'The YouTube channel ID could not be deleted.', + 'The message to display if a YouTube channel ID could not be deleted.', + 'tribe-events-calendar-pro' + ); + $this->get_settings_message_template( $error_message, 'error' ); + + wp_die(); + } +} diff --git a/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/YouTube/Template_Modifications.php b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/YouTube/Template_Modifications.php new file mode 100644 index 000000000..0707970af --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/YouTube/Template_Modifications.php @@ -0,0 +1,249 @@ +template = $template; + $this->admin_template = $admin_template; + $this->url = $url; + $this->settings = $settings; + $this->base_modifications = $base_modifications; + } + + /** + * Get intro text for YouTube API UI + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @return string HTML for the intro text. + */ + public function get_intro_text() { + $message = get_transient( $this->settings->get_prefix('account_message' ) ); + if ( $message ) { + delete_transient( $this->settings->get_prefix( 'account_message' ) ); + } + + return $this->admin_template->template( 'youtube/intro-text', [ 'message' => $message, ], false ); + } + + /** + * Adds YouTube authorize fields to events->settings->api. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param array $fields The array of values for switch fields. + * + * @return string HTML for the authorize fields. + */ + public function get_default_fields( $fields ) { + $args = [ + 'label' => _x( 'Default Settings', 'The default settings for YouTube Integration.', 'tribe-events-calendar-pro' ), + 'id' => 'tribe-events-virtual-meetings-youtube-settings__defaults', + 'classes_wrap' => [ 'tribe-events-virtual-meetings-youtube-settings__accordion-wrapper' ], + 'panel' => $this->admin_template->template( 'youtube/components/panel', [ 'fields' => $fields ], false ), + 'expanded' => false, + ]; + + return $this->admin_template->template( 'components/accordion', $args, false ); + } + + /** + * Add the channel trash icon with AJAX url. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param string $html The html for the end of the field. + * @param array $field An array of the field attributes. + * + * @return string The html for the trash icon along with remaining field html. + */ + public function setup_channel_trash_icon( $html, $field ) { + if ( $field->id !== $this->settings->get_prefix( 'channel_id' ) ) { + return $html; + } + + return $this->admin_template->template( + 'youtube/components/trash', + [ + 'disabled' => $field->value ? false : true, + 'url' => $this->url->to_delete_channel_id(), + ], + false + ) . $html; + } + + /** + * The message template to display on user account changes. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param string $message The message to display. + * @param string $type The type of message, either updated or error. + * + * @return string The message with html to display + */ + public function get_settings_message_template( $message, $type = 'updated' ) { + return $this->admin_template->template( 'components/message', [ + 'message' => $message, + 'type' => $type, + ] ); + } + + /** + * Adds YouTube video embed to a single event. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @return string The embed html or empty string when it should not display. + */ + public function add_youtube_video_embed() { + // Don't show on password protected posts. + if ( post_password_required() ) { + return; + } + + $event = tribe_get_event( get_the_ID() ); + if ( ! $event instanceof \WP_Post ) { + return; + } + + // Only embed when the source is video. + if ( 'youtube' !== $event->virtual_video_source ) { + return; + } + + // Hide on a past event. + if ( tribe_is_past_event( $event ) ) { + return; + } + + // Don't show if requires log in and user isn't logged in. + if ( ! $this->base_modifications->should_show_virtual_content( $event ) ) { + return; + } + + if ( ! $event->virtual_embed_video ) { + return; + } + + if ( ! $event->virtual_should_show_embed ) { + return; + } + + if ( Connection::$offline_key === $event->virtual_meeting_is_live ) { + $context = [ + 'event' => $event, + 'offline' => esc_html_x( + 'The Live Stream is Offline.', + 'YouTube offline message', + 'tribe-events-calendar-pro' + ), + ]; + $this->template->template( 'youtube/single/youtube-embed-offline', $context ); + + return; + } + + /** @var \Tribe\Events\Virtual\Meetings\YouTube\Embeds $embeds */ + $embeds = tribe( Embeds::class ); + $live_chat = $embeds->get_live_chat( $event ); + $embed = $embeds->get_embed( $event ); + + $embed_classes = []; + if ( $event->youtube_live_chat ) { + $embed_classes[] = 'chat-enabled'; + } + + $context = [ + 'event' => $event, + 'embed_classes' => $embed_classes, + 'embed' => $embed, + 'live_chat' => $live_chat, + ]; + + $this->template->template( 'youtube/single/youtube-embed', $context ); + } +} diff --git a/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/YouTube/Url.php b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/YouTube/Url.php new file mode 100644 index 000000000..ffee680c2 --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/YouTube/Url.php @@ -0,0 +1,40 @@ + 'ev_youtube_settings_delete_channel_id', + Plugin::$request_slug => $nonce, + 'channel_field_id' => Settings::$option_prefix . 'channel_id', + '_ajax_nonce' => $nonce, + ], admin_url( 'admin-ajax.php' ) ); + } +} diff --git a/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/YouTube_Provider.php b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/YouTube_Provider.php new file mode 100644 index 000000000..6a1848fd5 --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/YouTube_Provider.php @@ -0,0 +1,431 @@ +container->singleton( 'events-virtual.meetings.youtube', self::class ); + $this->container->singleton( self::class, self::class ); + + if ( ! $this->is_enabled() ) { + return; + } + + $this->add_actions(); + $this->add_filters(); + $this->enqueue_assets(); + $this->hook_templates(); + + /** + * Allows filtering of the capability required to use the YouTube integration ajax features. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * @todo [plugin-consolidation] Merge VE into ECP, hook to be deprecated and renamed. + * + * @param string $ajax_capability The capability required to use the ajax features, default manage_options. + */ + $ajax_capability = apply_filters( 'tribe_events_virtual_youtube_admin_ajax_capability', 'manage_options' ); + + $this->route_admin_by_nonce( $this->admin_routes(), $ajax_capability ); + } + + /** + * Hooks the filters required for the YouTube API integration to work correctly. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + */ + protected function add_filters() { + add_filter( 'tribe_rest_event_data', [ $this, 'attach_rest_properties' ], 10, 2 ); + add_filter( 'tec_settings_gmaps_js_api_start', [ $this, 'filter_addons_tab_fields' ], 20 ); + add_filter( 'tribe_field_div_end', [ $this, 'setup_channel_trash_icon' ], 10, 2 ); + add_filter( 'tribe_events_virtual_video_sources', [ $this, 'add_video_source' ], 15, 2 ); + add_filter( 'tec_events_virtual_export_fields', [ $this, 'filter_youtube_source_google_calendar_parameters' ], 10, 5 ); + add_filter( 'tec_events_virtual_export_fields', [ $this, 'filter_youtube_source_ical_feed_items' ], 10, 5 ); + + // Filter event object properties to add YouTube live status. + add_filter( 'tribe_get_event_after', [ $this, 'add_dynamic_properties' ], 15 ); + + // Filter the ticket email virtual url. + add_filter( 'tribe_events_virtual_ticket_email_url', [ $this, 'filter_ticket_email_url' ], 15, 2 ); + add_filter( 'tec_events_virtual_ticket_email_url', [ $this, 'filter_ticket_email_url' ], 15, 2 ); + add_action( 'tec_virtual_automator_map_event_details', [ $this, 'add_event_automator_properties' ], 10, 2 ); + } + + /** + * Hooks the actions required for the YouTube API integration to work correctly. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + */ + protected function add_actions() { + add_action( 'tribe_events_virtual_add_event_properties', [ $this, 'add_event_properties' ] ); + add_action( 'tribe_events_virtual_metabox_save', [ $this, 'on_metabox_save' ], 10, 2 ); + } + + /** + * Hooks the template required for the integration to work. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + */ + protected function hook_templates() { + // Metabox. + add_action( + 'tribe_template_entry_point:events-pro/admin-views/virtual-metabox/container/video-source:video_sources', + [ $this, 'render_classic_setup_options' ], + 10, + 3 + ); + + // "Classic" Single + add_action( + 'tribe_events_single_event_after_the_content', + [ $this, 'action_add_event_single_youtube_embed' ], + 15, + 0 + ); + + // Single Block + add_action( 'wp', [ $this, 'hook_block_template' ] ); + } + + /** + * Add the YouTube Video Source. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param array An array of video sources. + * @param \WP_Post $post The current event post object, as decorated by the `tribe_get_event` function. + * + * @return array An array of video sources. + */ + public function add_video_source( $video_sources, $post ) { + + $video_sources[] = [ + 'text' => _x( 'YouTube Live', 'The name of the video source.', 'tribe-events-calendar-pro' ), + 'id' => 'youtube', + 'value' => 'youtube', + 'selected' => 'youtube' === $post->virtual_video_source, + ]; + + return $video_sources; + } + + /** + * Filter the Google Calendar export fields for a YouTube Live source event. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param array $fields The various file format components for this specific event. + * @param \WP_Post $event The WP_Post of this event. + * @param string $key_name The name of the array key to modify. + * @param string $type The name of the export type. + * @param boolean $should_show Whether to modify the export fields for the current user, default to false. + * + * @return array Google Calendar Link params. + */ + public function filter_youtube_source_google_calendar_parameters( $fields, $event, $key_name, $type, $should_show ) { + + return $this->container->make( YouTube_Event_Export::class )->modify_video_source_export_output( $fields, $event, $key_name, $type, $should_show ); + } + + /** + * Filter the iCal export fields for a YouTube Live source event. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param array $fields The various file format components for this specific event. + * @param \WP_Post $event The WP_Post of this event. + * @param string $key_name The name of the array key to modify. + * @param string $type The name of the export type. + * @param boolean $should_show Whether to modify the export fields for the current user, default to false. + * + * @return array The various iCal file format components of this specific event item. + */ + public function filter_youtube_source_ical_feed_items( $fields, $event, $key_name, $type, $should_show ) { + return $this->container->make( YouTube_Event_Export::class )->modify_video_source_export_output( $fields, $event, $key_name, $type, $should_show ); + } + + /** + * Enqueues the assets required by the integration. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + */ + protected function enqueue_assets() { + $admin_helpers = Admin_Helpers::instance(); + + tribe_asset( + tribe( Plugin::class ), + 'tribe-events-virtual-youtube-settings-js', + 'events-virtual-youtube-settings.js', + [ 'jquery', 'tribe-events-views-v2-accordion' ], + 'admin_enqueue_scripts', + [ + 'conditionals' => [ + 'operator' => 'OR', + [ $admin_helpers, 'is_screen' ], + ], + 'localize' => [ + 'name' => 'tribe_events_virtual_youtube_settings_strings', + 'data' => [ + 'deleteConfirm' => static::get_youtube_confirmation_to_delete_account(), + ], + ], + ] + ); + } + + /** + * Add information about the YouTube live stream if available via the REST Api. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param array $data The current data of the event. + * @param \WP_Post $event The event being updated. + * + * @return array An array with the data of the event on the endpoint. + */ + public function attach_rest_properties( array $data, \WP_Post $event ) { + return tribe( YouTube_Meta::class )->attach_rest_properties( $data, $event ); + } + + /** + * Filters the fields in the Events > Settings > APIs tab to add the ones provided by the extension. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param array $fields The current fields. + * + * @return array The fields, as updated by the settings. + */ + public function filter_addons_tab_fields( $fields ) { + if ( ! is_array( $fields ) ) { + return $fields; + } + + return tribe( YouTube\Settings::class )->add_fields( $fields ); + } + + /** + * Add the channel trash icon with AJAX url. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param string $html The html for the end of the field. + * @param array $field An array of the field attributes. + * + * @return string The html for the trash icon along with remaining field html. + */ + public function setup_channel_trash_icon( $html, $field ) { + return tribe( YouTube\Template_Modifications::class )->setup_channel_trash_icon( $html, $field ); + } + + /** + * Provides the routes that should be used to handle YouTube API requests. + * + * The map returned by this method will be used by the `Tribe\Events\Virtual\Traits\With_Nonce_Routes` trait. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @return array A map from the nonce actions to the corresponding handlers. + */ + public function admin_routes() { + return [ + Settings::$delete_action => $this->container->callback( Settings::class, 'ajax_delete' ), + ]; + } + + /** + * Get the confirmation text for deleting a YouTube channel ID. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @return string The confirmation text. + */ + public static function get_youtube_confirmation_to_delete_account() { + return _x( + 'Are you sure you want to delete your default YouTube channel ID?', + 'The message to display to confirm a user would like to delete a YouTube channel ID.', + 'tribe-events-calendar-pro' + ); + } + + /** + * Renders the YouTube Live Integration Fields. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param string $file The path to the template file, unused. + * @param string $entry_point The name of the template entry point, unused. + * @param \Tribe__Template $template The current template instance. + */ + public function render_classic_setup_options( $file, $entry_point, \Tribe__Template $template ) { + $this->container->make( YouTube\Classic_Editor::class ) + ->render_setup_options( $template->get( 'post' ) ); + } + + /** + * Include the YouTube embed for event single. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + */ + public function action_add_event_single_youtube_embed() { + $this->container->make( Template_Modifications::class ) + ->add_youtube_video_embed(); + } + + /** + * Filters the object returned by the `tribe_get_event` function to add to it properties related to YouTube. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param \WP_Post $event The events post object to be modified. + * + * @return \WP_Post The original event object decorated with properties related to virtual events. + */ + public function add_event_properties( $event ) { + if ( ! $event instanceof \WP_Post ) { + // We should only act on event posts, else bail. + return $event; + } + + return $this->container->make( YouTube_Meta::class )->add_event_properties( $event ); + } + + /** + * Filters the array returned for the event details map in the Event Automator integration. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param array $next_event An array of event details. + * @param WP_Post $event An instance of the event WP_Post object. + * + * @return array An array of event details. + */ + public function add_event_automator_properties( array $next_event, WP_Post $event ) { + if ( ! $event instanceof WP_Post ) { + return $next_event; + } + + return $this->container->make( YouTube_Meta::class )->add_event_automator_properties( $next_event, $event ); + } + + /** + * Handles the save operations of the Classic Editor VE Metabox. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param int $post_id The post ID of the event currently being saved. + * @param array $data The data currently being saved. + */ + public function on_metabox_save( $post_id, $data ) { + $post = get_post( $post_id ); + if ( ! $post instanceof \WP_Post && is_array( $data ) ) { + return; + } + + $this->container->make( YouTube_Meta::class )->save_metabox_data( $post_id, $data ); + } + + /** + * Adds dynamic, time-related, properties to the event object. + * + * This method deals with properties we set, for convenience, on the event object that should not + * be cached as they are time-dependent; i.e. the time the properties are computed at matters and + * caching their values would be incorrect. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param mixed|WP_Post $post The event post object, as read from the cache, if any. + * + * @return WP_Post The decorated event post object; its dynamic and time-dependent properties correctly set up. + */ + public function add_dynamic_properties( $post ) { + if ( ! $post instanceof WP_Post ) { + // We should only act on event posts, else bail. + return $post; + } + + return $this->container->make( YouTube_Meta::class )->add_dynamic_properties( $post ); + } + + /** + * Hook block templates - legacy or new VE block. + * Has to be postponed to `wp` action or later so global $post is available. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + */ + public function hook_block_template() { + /* The action/location which the template is injected depends on whether or not V2 is enabled + * and whether the virtual event block is present in the post content. + */ + $embed_inject_action = tribe( 'events-virtual.hooks' )->get_virtual_embed_action(); + + add_action( + $embed_inject_action, + [ + $this, + 'action_add_event_single_youtube_embed', + ], + 12 + ); + } + + /** + * Filter the ticket email url. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param string $virtual_url The virtual url for the ticket and rsvp emails. + * @param WP_Post $event The event post object with properties added by the `tribe_get_event` function. + * + * @return string The YouTube virtual url for the ticket and rsvp emails. + */ + public function filter_ticket_email_url( $virtual_url, WP_Post $event ) { + return $this->container->make( YouTube_Meta::class )->filter_ticket_email_url( $virtual_url, $event ); + } +} diff --git a/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/Zoom/Abstract_Meetings.php b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/Zoom/Abstract_Meetings.php new file mode 100644 index 000000000..d245690bb --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/Zoom/Abstract_Meetings.php @@ -0,0 +1,917 @@ +api = $api; + $this->classic_editor = $classic_editor; + $this->password = $password; + $this->encryption = ( ! empty( $encryption ) ? $encryption : tribe( Encryption::class ) ); + $this->actions = $actions; + } + + /** + * Handles the request to generate a Zoom meeting. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param string|null $nonce The nonce that should accompany the request. + * + * @return bool Whether the request was handled or not. + */ + public function ajax_create( $nonce = null ) { + $action = $this->actions::$create_action; + if ( static::$meeting_type === 'webinar' ) { + $action = $this->actions::$webinar_create_action; + } + if ( ! $this->check_ajax_nonce( $action, $nonce ) ) { + return false; + } + + $event = $this->check_ajax_post(); + + if ( ! $event ) { + return false; + } + + $zoom_host_id = tribe_get_request_var( 'host_id' ); + // If no host id found, fail the request as account level apps do not support 'me' + if ( empty( $zoom_host_id ) ) { + $error_message = _x( 'The Zoom Host ID is missing to access the API.', 'Host ID is missing error message.', 'tribe-events-calendar-pro' ); + $this->classic_editor->render_meeting_generation_error_details( $event, $error_message, true ); + + wp_die(); + + return false; + } + + // Load the account. + $zoom_account_id = tribe_get_request_var( 'account_id' ); + // if no id, fail the request. + if ( empty( $zoom_account_id ) ) { + $error_message = _x( 'The Zoom Account ID is missing to access the API.', 'Account ID is missing error message.', 'tribe-events-calendar-pro' ); + $this->classic_editor->render_meeting_generation_error_details( $event, $error_message, true ); + + wp_die(); + + return false; + } + + $this->api->load_account_by_id( $zoom_account_id ); + // If there is no token, then stop as the connection will fail. + if ( ! $this->api->get_token_authorization_header() ) { + $error_message = _x( 'The Zoom Account could not be loaded to access to API.', 'Zoom account loading error message.', 'tribe-events-calendar-pro' ); + $this->classic_editor->render_meeting_generation_error_details( $event, $error_message, true ); + + wp_die(); + + return false; + } + + $post_id = $event->ID; + $cached = $this->encryption->decrypt( get_post_meta( $post_id, Virtual_Events_Meta::$prefix . 'zoom_meeting_data', true ), true ); + + /** + * Filters whether to force the recreation of the Zoom meetings link on each request or not. + * + * If the filters returns a truthy value, then each request, even for events that already had a Zoom meeting + * generated, will generate a new link, without re-using the previous one. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param bool $force Whether to force the regeneration of Zoom Meeting links or not. + * @param int $post_id The post ID of the event the Meeting is being generated for. + */ + $force = apply_filters( + "tribe_events_virtual_meetings_zoom_{$this::$meeting_type}_force_recreate", + true, + $post_id + ); + + if ( ! $force && ! empty( $cached ) ) { + $this->classic_editor->render_meeting_link_generator( $event, true, false, $zoom_account_id ); + + wp_die(); + + return true; + } + + $password_requirements = tribe_get_request_var( 'password_requirements', [] ); + + // Get the password requirements for Meetings. + $password_requirements = $this->password->get_password_requirements( $password_requirements ); + + /** + * Filters the password for the Zoom Meeting. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param null|string|int The password for the Zoom Meeting. + * @param array $password_requirements An array of password requirements from Zoom. + * @param \WP_Post $event The event post object, as decorated by the `tribe_get_event` function. + */ + $password = apply_filters( + "tribe_events_virtual_meetings_zoom_{$this::$meeting_type}_password", + null, + $password_requirements, + $event + ); + + /** + * If this is a new post, then the duration will not be available. + * Since meetings that have a duration of 0 will not be editable after their creation, + * let's ensure a default 60 minutes duration to come back and edit the meeting later. + */ + $duration = (int) ceil( (int) $event->duration / 60 ); + $duration = $duration ? (int) $duration : 60; + + $body = [ + 'topic' => $event->post_title, + 'type' => self::TYPE_MEETING_SCHEDULED, + 'start_time' => $event->dates->start->format( 'Y-m-d\TH:i:s' ), + 'timezone' => $event->timezone, + 'duration' => $duration, + 'password' => $password, + ]; + + /** + * Filters the contents of the request that will be made to the Zoom API to generate a meeting link. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param array The current content of the request body. + * @param \WP_Post $event The event post object, as decorated by the `tribe_get_event` function. + * @param Meetings $this The current API handler object instance. + */ + $body = apply_filters( + "tribe_events_virtual_meetings_zoom_{$this::$meeting_type}_request_body", + $body, + $event, + $this + ); + + $success = false; + + $this->api->post( + Api::$api_base . "users/{$zoom_host_id}/{$this::$api_endpoint}", + [ + 'headers' => [ + 'authorization' => $this->api->get_token_authorization_header(), + 'content-type' => 'application/json; charset=utf-8', + 'accept' => 'application/json;', + ], + 'body' => wp_json_encode( $body ), + ], + Api::POST_RESPONSE_CODE + )->then( + function ( array $response ) use ( $post_id, &$success, &$zoom_account_id ) { + $this->process_meeting_creation_response( $response, $post_id ); + + $event = tribe_get_event( $post_id, OBJECT, 'raw', true ); + $this->classic_editor->render_meeting_link_generator( $event, true, false, $zoom_account_id ); + + $success = true; + + wp_die(); + } + )->or_catch( + function ( \WP_Error $error ) use ( $event ) { + do_action( + 'tribe_log', + 'error', + __CLASS__, + [ + 'action' => __METHOD__, + 'code' => $error->get_error_code(), + 'message' => $error->get_error_message(), + ] + ); + + $error_data = wp_json_encode( $error->get_error_data() ); + $decoded = json_decode( $error_data, true ); + $error_message = null; + if ( false !== $decoded && is_array( $decoded ) && isset( $decoded['message'] ) ) { + $error_message = $decoded['message']; + } + + $this->classic_editor->render_meeting_generation_error_details( $event, $error_message, true ); + + wp_die(); + } + ); + + return $success; + } + + /** + * Processes the Zoom API Meeting connection response. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param array $response The entire Zoom API response. + * @param int $post_id The event post ID. + * + * @return array The Zoom Meeting data. + */ + public function process_meeting_connection_response( array $response, $post_id ) { + return $this->process_meeting_creation_response( $response, $post_id ); + } + + /** + * Processes the Zoom API Meeting creation response to massage, filter and save the data. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param array $response The entire Zoom API response. + * @param int $post_id The event post ID. + * + * @return array The Zoom Meeting data. + */ + protected function process_meeting_creation_response( array $response, $post_id ) { + + $body = json_decode( wp_remote_retrieve_body( $response ), true ); + $body_set = $this->api->has_proper_response_body( $body, [ 'join_url', 'id' ] ); + if ( ! $body_set ) { + do_action( + 'tribe_log', + 'error', + __CLASS__, + [ + 'action' => __METHOD__, + 'message' => "Zoom API {$this::$meeting_type} creation response is malformed.", + 'response' => $response, + ] + ); + + return []; + } + + $data = $this->prepare_meeting_data( $body ); + $this->update_post_meta( $post_id, $body, $data ); + + return $data; + } + + /** + * Filters and massages the meeting data to prepare it to be saved in the post meta. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param array $body The response body, in raw format. + * + * @return array The meeting data, massaged and filtered. + */ + protected function prepare_meeting_data( $body ) { + + $hash_pwd = tribe( Password::class )->get_hash_pwd_from_join_url( $body['join_url'] ); + + $data = [ + 'id' => $body['id'], + 'join_url' => $body['join_url'], + 'join_instructions' => static::$join_instructions_url, + 'password_hash' => $hash_pwd, + 'password' => $body['password'], + 'host_email' => $body['host_email'], + 'alternative_hosts' => $body['settings']['alternative_hosts'], + ]; + + // Dial-in numbers are NOT a given and should not be assumed. + if ( ! empty( $body['settings']['global_dial_in_numbers'] ) ) { + // If there are dial-in numbers, there might be more than one. + $dial_in_data = (array) $body['settings']['global_dial_in_numbers']; + $data['global_dial_in_numbers_data'] = $dial_in_data; + $data['global_dial_in_numbers'] = array_combine( + array_column( $dial_in_data, 'number' ), + array_column( $dial_in_data, 'country' ) + ); + } + + /** + * Filters the Zoom API meeting data after a successful meeting creation. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * @todo [plugin-consolidation] Merge VE into ECP, hook to be deprecated and renamed. + * + * @param array $data The data that will be returned in the AJAX response. + * @param array $body The raw data returned from the Zoom API for the request. + */ + $data = apply_filters( "tribe_events_virtual_meetings_zoom_{$this::$meeting_type}_data", $data, $body ); + + return $data; + } + + /** + * Updates the event post meta depending on the meeting data provided. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param int $post_id The post ID of the event to update the Zoom Meeting related meta for. + * @param array $response_body The Zoom API response body, as received from it. + * @param array $meeting_data The Zoom Meeting data, as returned from the Zoom API request. + */ + protected function update_post_meta( $post_id, array $response_body, array $meeting_data ) { + $prefix = Virtual_Events_Meta::$prefix; + + // Cache the raw meeting data for future use. + update_post_meta( $post_id, $prefix . 'zoom_meeting_data', $this->encryption->encrypt( $response_body, true ) ); + + // Set the video source to prevent issues with loading the information later. + update_post_meta( $post_id, Virtual_Events_Meta::$key_video_source, Zoom_Meta::$key_source_id ); + + $map = [ + $prefix . 'zoom_meeting_id' => 'id', + $prefix . 'zoom_join_url' => 'join_url', + $prefix . 'zoom_join_instructions' => 'join_instructions', + $prefix . 'zoom_global_dial_in_numbers' => 'global_dial_in_numbers', + $prefix . 'zoom_password_hash' => 'password_hash', + $prefix . 'zoom_password' => 'password', + $prefix . 'zoom_host_email' => 'host_email', + $prefix . 'zoom_alternative_hosts' => 'alternative_hosts', + ]; + + $encrypted_fields = Zoom_Meta::$encrypted_fields; + + foreach ( $map as $meta_key => $data_key ) { + if ( isset( $meeting_data[ $data_key ] ) ) { + // Encrypt data that matches the encrypted fields. + if ( isset( $encrypted_fields[$data_key] ) ) { + update_post_meta( $post_id, $meta_key, $this->encryption->encrypt( $meeting_data[ $data_key ], $encrypted_fields[$data_key] ) ); + continue; + } + update_post_meta( $post_id, $meta_key, $meeting_data[ $data_key ] ); + } else { + delete_post_meta( $post_id, $meta_key ); + } + } + + // Add the meeting type, it's not part of the data coming from Zoom. + update_post_meta( $post_id, $prefix . 'zoom_meeting_type', static::$meeting_type ); + } + + /** + * Handles the AJAX request to remove the Zoom Meeting information from an event. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param string|null $nonce The nonce that should accompany the request. + * + * @return bool|string Whether the request was handled or a string with html for meeting creation. + */ + public function ajax_remove( $nonce = null ) { + $action = $this->actions::$remove_action; + if ( static::$meeting_type === 'webinar' ) { + $action = $this->actions::$webinar_remove_action; + } + if ( ! $this->check_ajax_nonce( $action, $nonce ) ) { + return false; + } + + if ( ! $this->check_ajax_nonce( $action, $nonce ) ) { + return false; + } + + // phpcs:ignore + if ( ! $event = $this->check_ajax_post() ) { + return false; + } + + // Remove the meta, but not the data. + Zoom_Meta::delete_meeting_meta( $event->ID ); + + // Send the HTML for the meeting creation. + $this->classic_editor->render_initial_setup_options( $event, true ); + + wp_die(); + + return true; + } + + /** + * Handles update of Zoom meeting when Event details change. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param \WP_Post|int $event The event (or event ID) we're updating the meeting for. + */ + public function update( $event ) { + // Get event if not an object. + if ( ! ( $event instanceof \WP_Post ) ) { + $event = tribe_get_event( $event ); + } + + // There is no meeting to update. + if ( ! ( $event instanceof \WP_Post ) || empty( $event->zoom_meeting_id ) ) { + return; + } + + // If manually connected, do not update Zoom meeting or webinar when event details change. + $manual_connected = get_post_meta( $event->ID, Virtual_Events_Meta::$key_autodetect_source, true ); + if ( Zoom_Meta::$key_source_id === $manual_connected ) { + return; + } + + $start_date = tribe_get_request_var( 'EventStartDate', $event->start_date ); + $start_time = tribe_get_request_var( 'EventStartTime', $event->start_time ); + $time_zone = tribe_get_request_var( 'EventTimezone', $event->timezone ); + $end_date = tribe_get_request_var( 'EventEndDate', $event->end_date ); + $end_time = tribe_get_request_var( 'EventEndTime', $event->end_time ); + + // Get the duration of the event from the field values instead of the event object, which has previously saved values. + $duration = $this->calculate_duration( $start_date, $start_time, $end_date, $end_time, $time_zone ); + if ( empty( $duration ) ) { + $duration = $event->duration; + } + + $zoom_date = $this->format_date_for_zoom( $start_date, $start_time, $time_zone ); + $alternative_hosts = (array) tribe_get_request_var( 'tribe-events-virtual-zoom-alt-host' ); + + // Note the time format - because Zoom stores all dates as UTC with the trailing 'Z'. + $event_body = [ + 'topic' => $event->post_title, + 'start_time' => $zoom_date, + 'timezone' => $time_zone, + 'duration' => (int) ceil( (int) $duration / 60 ), + 'alternative_hosts' => esc_attr( implode( ";", $alternative_hosts ) ), + ]; + + $meeting_data = $this->encryption->decrypt( get_post_meta( $event->ID, Virtual_Events_Meta::$prefix . 'zoom_meeting_data', true ), true ); + if ( ! is_array( $meeting_data ) || empty( $meeting_data ) ) { + return; + } + + $meeting_body = [ + 'topic' => $meeting_data['topic'] ?? null, + 'start_time' => $meeting_data['start_time'] ?? null, + 'timezone' => $meeting_data['timezone'] ?? null, + 'duration' => $meeting_data['duration'] ?? null, + 'alternative_hosts' => $meeting_data['settings']['alternative_hosts'] ?? null, + ]; + + $diff = array_diff_assoc( $event_body, $meeting_body ); + + // Nothing to update. + if ( empty( $diff ) ) { + return; + } + + $post_id = $event->ID; + + // Unset the alternative hosts and set in expected location for the API. + unset( $event_body['alternative_hosts'] ); + $event_body['settings']['alternative_hosts'] = esc_attr( implode( ";", $alternative_hosts ) ); + + /** + * Filters the contents of the request that will be made to the Zoom API to update a meeting link. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param array The current content of the request body. + * @param \WP_Post $event The event post object, as decorated by the `tribe_get_event` function. + * @param Meetings $this The current API handler object instance. + */ + $body = apply_filters( + "tribe_events_virtual_meetings_zoom_{$this::$meeting_type}_update_request_body", + $event_body, + $event, + $this + ); + + // Load the account. + $zoom_account_id = $this->api->get_account_id_in_admin( $post_id ); + if ( empty( $zoom_account_id ) ) { + return; + } + + $this->api->load_account_by_id( $zoom_account_id ); + if ( ! $this->api->get_token_authorization_header() ) { + return; + } + + // Update. + $this->api->patch( + Api::$api_base . "{$this::$api_endpoint}/{$event->zoom_meeting_id}", + [ + 'headers' => [ + 'Authorization' => $this->api->get_token_authorization_header(), + 'Content-Type' => 'application/json; charset=utf-8', + 'accept' => 'application/json;', + ], + 'body' => wp_json_encode( $body ), + ], + Api::PATCH_RESPONSE_CODE + )->then( + function ( array $response ) use ( $post_id, $event ) { + $this->process_meeting_update_response( $response, $event, $post_id ); + } + )->or_catch( + function ( \WP_Error $error ) use ( $event ) { + do_action( + 'tribe_log', + 'error', + __CLASS__, + [ + 'action' => __METHOD__, + 'code' => $error->get_error_code(), + 'message' => $error->get_error_message(), + ] + ); + + $error_data = wp_json_encode( $error->get_error_data() ); + $decoded = json_decode( $error_data, true ); + $error_message = null; + if ( false !== $decoded && is_array( $decoded ) && isset( $decoded['message'] ) ) { + $error_message = $decoded['message']; + } + + // Do something to indicate failure with $error_message? + $this->classic_editor->render_meeting_generation_error_details( $event, $error_message, true ); + } + ); + } + + /** + * Processes the Zoom API Meeting update response to massage, filter and save the data. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param array $response The entire Zoom API response. + * @param \WP_Post $event The event post object. + * @param int $post_id The event post ID. + * + * @return array|false The Zoom Meeting data or `false` on error. + */ + protected function process_meeting_update_response( $response, $event, $post_id ) { + if ( empty( $response['response']['code'] ) || 204 !== $response['response']['code'] ) { + return false; + } + + $event = tribe_get_event( $event ); + if ( ! $event instanceof \WP_Post ) { + return false; + } + + $success = false; + + // Load the account. + $zoom_account_id = $this->api->get_account_id_in_admin( $post_id ); + if ( empty( $zoom_account_id ) ) { + return false; + } + + $this->api->load_account_by_id( $zoom_account_id ); + if ( ! $this->api->get_token_authorization_header() ) { + return false; + } + + $this->api->get( + Api::$api_base . "{$this::$api_endpoint}/{$event->zoom_meeting_id}", + [ + 'headers' => [ + 'Authorization' => $this->api->get_token_authorization_header(), + 'Content-Type' => 'application/json; charset=utf-8', + 'accept' => 'application/json;', + ], + ], + Api::GET_RESPONSE_CODE + )->then( + function ( array $response ) use ( $post_id, &$success ) { + + $body = json_decode( wp_remote_retrieve_body( $response ), true ); + $body_set = $this->api->has_proper_response_body( $body ); + if ( $body_set ) { + $data = $this->prepare_meeting_data( $body ); + $this->update_post_meta( $post_id, $body, $data ); + } + + $success = true; + } + )->or_catch( + function ( \WP_Error $error ) use ( $event ) { + do_action( + 'tribe_log', + 'error', + __CLASS__, + [ + 'action' => __METHOD__, + 'code' => $error->get_error_code(), + 'message' => $error->get_error_message(), + ] + ); + + $error_data = wp_json_encode( $error->get_error_data() ); + $decoded = json_decode( $error_data, true ); + $error_message = null; + if ( false !== $decoded && is_array( $decoded ) && isset( $decoded['message'] ) ) { + $error_message = $decoded['message']; + } + + $this->classic_editor->render_meeting_generation_error_details( $event, $error_message, true ); + } + ); + + return $success; + } + + /** + * Format the event start date for zoom. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param string $start_date The start date of the event. + * @param string $start_time The start time of the event. + * @param string $time_zone The timezone of the event. + * + * @return string The time formatted for Zoom using 'Y-m-d\TH:i:s\Z'. + */ + public function format_date_for_zoom( $start_date, $start_time, $time_zone ) { + $timezone_object = Timezones::build_timezone_object( 'UTC' ); + // Utilize the datepicker format when parse the Event Date to prevent the wrong date in Zoom. + $datepicker_format = Dates::datepicker_formats( tribe_get_option( 'datepickerFormat' ) ); + $start_date_time = Dates::datetime_from_format( $datepicker_format, $start_date ) . ' ' . $start_time; + + return Dates::build_date_object( $start_date_time, $time_zone )->setTimezone( $timezone_object )->format( 'Y-m-d\TH:i:s\Z' ); + } + + /** + * Get the duration of an event. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param string $start_date The start date of the event. + * @param string $start_time The start time of the event. + * @param string $end_date The end date of the event. + * @param string $end_time The end time of the event. + * @param string $time_zone The timezone of the event. + * + * @return string The duration in seconds. + */ + private function calculate_duration( $start_date, $start_time, $end_date, $end_time, $time_zone ) { + $timezone_object = Timezones::build_timezone_object( 'UTC' ); + $datepicker_format = Dates::datepicker_formats( tribe_get_option( 'datepickerFormat' ) ); + + $start_date_time = Dates::datetime_from_format( $datepicker_format, $start_date ) . ' ' . $start_time; + $start_timestamp = Dates::build_date_object( $start_date_time, $time_zone )->setTimezone( $timezone_object )->getTimestamp(); + + $end_date_time = Dates::datetime_from_format( $datepicker_format, $end_date ) . ' ' . $end_time; + $end_timestamp = Dates::build_date_object( $end_date_time, $time_zone )->setTimezone( $timezone_object )->getTimestamp(); + + return absint( $end_timestamp - $start_timestamp ); + } + + /** + * Handles the request to update a Zoom meeting or webinar. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * @deprecated 1.13.0 - No replacement. + * + * @param string|null $nonce The nonce that should accompany the request. + * + * @return bool Whether the request was handled or not. + */ + public function ajax_update( $nonce = null ) { + _deprecated_function( __METHOD__, '1.13.1', 'No replacement.' ); + + if ( ! $this->check_ajax_nonce( static::$update_action, $nonce ) ) { + return false; + } + + $event = $this->check_ajax_post(); + + if ( ! $event ) { + return false; + } + + $post_id = $event->ID; + + $zoom_id = tribe_get_request_var( 'zoom_id' ); + if ( empty( $zoom_id ) ) { + return false; + } + + $alternative_hosts = tribe_get_request_var( 'zoom_alternative_hosts' ); + + $body = [ + 'settings' => [ + 'alternative_hosts' => esc_attr( implode( ";", $alternative_hosts ) ), + ] + ]; + + /** + * Filters the contents of the request that will be made to the Zoom API to update a meeting or webinar. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param array The current content of the request body. + * @param \WP_Post $event The event post object, as decorated by the `tribe_get_event` function. + * @param Meetings $this The current API handler object instance. + */ + $body = apply_filters( + "tribe_events_virtual_ajax_update_meetings_zoom_{$this::$meeting_type}_request_body", + $body, + $event, + $this + ); + + $success = false; + + // Update. + $this->api->patch( + Api::$api_base . "{$this::$api_endpoint}/{$zoom_id}", + [ + 'headers' => [ + 'Authorization' => $this->api->token_authorization_header(), + 'Content-Type' => 'application/json; charset=utf-8', + 'accept' => 'application/json;', + ], + 'body' => wp_json_encode( $body ), + ], + Api::PATCH_RESPONSE_CODE + )->then( + function ( array $response ) use ( $post_id, $event, &$success ) { + $this->process_meeting_update_response( $response, $event, $post_id ); + + $success = true; + + wp_die(); + } + + )->or_catch( + static function ( \WP_Error $error ) use ( $event ) { + do_action( + 'tribe_log', + 'error', + __CLASS__, + [ + 'action' => __METHOD__, + 'code' => $error->get_error_code(), + 'message' => $error->get_error_message(), + ] + ); + + $error_data = wp_json_encode( $error->get_error_data() ); + $decoded = json_decode( $error_data, true ); + $error_message = null; + if ( false !== $decoded && is_array( $decoded ) && isset( $decoded['message'] ) ) { + $error_message = $decoded['message']; + } + + // Do something to indicate failure with $error_message? + $this->classic_editor->render_meeting_generation_error_details( $event, $error_message, true ); + } + ); + + return $success; + } +} diff --git a/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/Zoom/Account_API.php b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/Zoom/Account_API.php new file mode 100644 index 000000000..bc78eecd4 --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/Zoom/Account_API.php @@ -0,0 +1,501 @@ + An array of field names and whether the field is an array. + */ + protected $encrypted_fields = [ + 'name' => false, + 'email' => false, + 'access_token' => false, + 'refresh_token' => false, + ]; + + /** + * {@inheritDoc} + */ + protected $account_id_meta_field_name = '_tribe_events_zoom_account_id'; + + /** + * The Encryption handler. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @var Encryption + */ + public $encryption; + + /** + * {@inheritDoc} + * @deprecated 1.13.0 - Use Actions::$select_action. + */ + public static $select_action = 'events-virtual-zoom-account-setup'; + + /** + * {@inheritDoc} + * @deprecated 1.13.0 - Use Actions::$status_action. + */ + public static $status_action = 'events-virtual-meetings-zoom-settings-status'; + + /** + * {@inheritDoc} + * @deprecated 1.13.0 - Use Actions::$delete_action. + */ + public static $delete_action = 'events-virtual-meetings-zoom-settings-delete'; + + /** + * Handles an OAuth authorization return request. + * + * The method will `wp_die` if the nonce is not valid. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param string|null $nonce The nonce string to authorize the authorization request. + * + * @return boolean Whether the authorization request was handled. + */ + public function handle_auth_request( $nonce = null ) { + if ( ! wp_verify_nonce( $nonce, $this->actions::$authorize_nonce_action ) ) { + wp_die( _x( + 'You are not authorized to do this', + 'The message shown to a user providing a wrong Zoom API OAuth authorization nonce.', + 'tribe-events-calendar-pro' + ) + ); + } + + $handled = false; + + // This is response from our OAuth proxy service. + $service_response_body = tribe_get_request_var( 'response_body', false ); + if ( $service_response_body ) { + $this->save_account( [ 'body' => base64_decode( $service_response_body ) ] ); + + $handled = true; + } + + wp_safe_redirect( Settings::admin_url() ); + + return $handled; + } + + /** + * Get the listing of Zoom Accounts. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param boolean $all_data Whether to return all account data, default is only name and status. + * + * @return array $list_of_accounts An array of all the Zoom accounts. + */ + public function get_list_of_accounts( $all_data = false ) { + // Get list of accounts and decrypt the PII + $list_of_accounts = get_option( $this->all_account_key, [] ); + foreach ( $list_of_accounts as $account_id => $account ) { + if ( empty( $account['name'] ) ) { + continue; + } + $list_of_accounts[ $account_id ]['name'] = $this->encryption->decrypt( $account['name'] ); + + // If false (default ) skip getting all the account data. + if ( empty( $all_data ) ) { + continue; + } + $account_data = $this->get_account_by_id( $account_id ); + + $list_of_accounts[ $account_id ] = $account_data; + } + + return $list_of_accounts; + } + + /** + * Get a Single Zoom Account by id. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param string $account_id The id of the single account. + * + * @return array $account The Zoom account data. + */ + public function get_account_by_id( $account_id ) { + // Get an account and decrypt the PII. + $account = get_option( $this->single_account_prefix . $account_id, [] ); + foreach ( $account as $field_key => $value ) { + if ( ! array_key_exists( $field_key, $this->encrypted_fields ) ) { + continue; + } + + $account[ $field_key ] = $this->encryption->decrypt( $value, $this->encrypted_fields[ $field_key ] ); + } + + return $account; + } + + /** + * {@inheritDoc} + */ + public function delete_account_by_id( $account_id ) { + $revoked = $this->revoke_account_by_id( $account_id ); + + delete_option( $this->single_account_prefix . $account_id ); + + $this->delete_from_list_of_accounts( $account_id ); + + return $revoked; + } + + /** + * {@inheritDoc} + */ + protected function revoke_account_by_id( $account_id ) { + $revoked = false; + + // Load account and get a valid not expired token as only those can be revoked. + $account_loaded = $this->load_account_by_id( $account_id ); + if ( empty( $account_loaded ) ) { + return $revoked; + } + + $revoke_url = tribe( Url::class )::$revoke_url; + if ( defined( 'TEC_VIRTUAL_EVENTS_ZOOM_API_REVOKE_URL' ) ) { + $revoke_url = TEC_VIRTUAL_EVENTS_ZOOM_API_REVOKE_URL; + } + + $this->post( + $revoke_url, + [ + 'headers' => [ + 'Authorization' => $this->get_token_authorization_header(), + ], + 'body' => [ + 'token' => $this->access_token, + ], + ], + Api::OAUTH_POST_RESPONSE_CODE + )->then( + function ( array $response ) use ( &$revoked ) { + $body = json_decode( wp_remote_retrieve_body( $response ), true ); + $body_set = $this->has_proper_response_body( $body, [ 'status' ] ); + if ( + ! ( + $body_set + && 'success' === $body['status'] + ) + ) { + do_action( 'tribe_log', 'error', __CLASS__, [ + 'action' => __METHOD__, + 'message' => 'Zoom Account Revoke Failed.', + 'response' => $body, + ] ); + + return $revoked; + } + + $revoked = true; + + return $revoked; + } + ); + + return $revoked; + } + + /** + * Set an Account Access Data with the provided id. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param string $account_id The id of the single account to save. + * @param string $access_token The Zoom Account API access token. + * @param string $refresh_token The Zoom Account API refresh token. + * @param string $expiration The expiration in seconds as provided by the server. + */ + public function set_account_access_by_id( $account_id, $access_token, $refresh_token, $expiration ) { + $account_data = $this->get_account_by_id( $account_id ); + $account_data['access_token'] = $this->encryption->encrypt( $access_token ); + $account_data['refresh_token'] = $this->encryption->encrypt( $refresh_token ); + $account_data['expiration'] = $expiration; + + $this->set_account_by_id( $account_data ); + } + + /** + * {@inheritDoc} + */ + public function save_account( array $response ) { + if ( ! $this->has_proper_credentials( $response ) ) { + do_action( 'tribe_log', 'error', __CLASS__, [ + 'action' => __METHOD__, + 'code' => wp_remote_retrieve_response_code( $response ), + 'message' => 'Response body missing or malformed', + ] ); + + return false; + } + + // Set the access token here as we have to call fetch_user immediately, to get the user information. + $credentials = json_decode( wp_remote_retrieve_body( $response ), true ); + $access_token = $credentials['access_token']; + $refresh_token = $credentials['refresh_token']; + $expiration = $this->get_expiration_time_stamp( $credentials['expires_in'] ); + + // Get the user who authorized the account. + $user = $this->fetch_user( 'me', false, $access_token); + if ( empty( $user['id'] ) ) { + return false; + } + + $settings = $this->fetch_user( $user['id'], true, $access_token ); + $account_data = $this->prepare_account_data( $user, $access_token, $refresh_token, $expiration, $settings, true ); + $existing_account = $this->get_account_by_id( $account_data['id'] ); + $this->set_account_by_id( $account_data ); + + $account_msg = $existing_account ? + _x( 'Zoom connection refreshed for %1$s', 'The refresh message if the account exists.', 'tribe-events-calendar-pro' ) + : _x( 'Zoom Account added for %1$s', 'The refresh message if the account exists.', 'tribe-events-calendar-pro' ); + $message = sprintf( + /* Translators: %1$s: the name of the account that has been added or refreshed from Zoom . */ + $account_msg, + $this->encryption->decrypt( $account_data['name'] ) + ); + + set_transient( Settings::$option_prefix . 'account_message', $message, MINUTE_IN_SECONDS ); + + return $access_token; + } + + /** + * {@inheritDoc} + */ + public function save_access_and_expiration( $id, array $response ) { + if ( ! $this->has_proper_credentials( $response ) ) { + do_action( 'tribe_log', 'error', __CLASS__, [ + 'action' => __METHOD__, + 'code' => wp_remote_retrieve_response_code( $response ), + 'message' => 'Response body missing or malformed', + ] ); + + return false; + } + + $credentials = json_decode( wp_remote_retrieve_body( $response ), true ); + $access_token = $credentials['access_token']; + $refresh_token = $credentials['refresh_token']; + $expiration = $this->get_expiration_time_stamp( $credentials['expires_in'] ); + + $this->set_account_access_by_id( $id, $access_token, $refresh_token, $expiration ); + + return true; + } + + /** + * {@inheritDoc} + */ + protected function prepare_account_data( $user, $access_token, $refresh_token, $expiration, $settings, $status ) { + return [ + 'id' => $user['id'], + 'name' => $this->encryption->encrypt( $user['first_name'] . ' ' . $user['last_name'] ), + 'email' => $this->encryption->encrypt( $user['email'] ), + 'access_token' => $this->encryption->encrypt( $access_token ), + 'refresh_token' => $this->encryption->encrypt( $refresh_token ), + 'expiration' => $expiration, + 'webinars' => $this->get_webinars_support( $settings ), + 'status' => $status, + ]; + } + + /** + * Checks whether the current Zoom account supports webinars. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @return boolean Whether the current Zoom account supports webinars. + */ + public function supports_webinars() { + return ! empty( $this->supports_webinars ); + } + + /** + * Get whether the account supports webinars. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param array $settings The user settings from Zoom. + * + * @return boolean Whether the account supports webinars. + */ + public function get_webinars_support( $settings ) { + if ( empty( $settings['feature'] ) ) { + return false; + } + + $webinar_values = [ + 'webinar', + 'zoom_events', + ]; + + /** + * Filters the values to look for when detecting if a user has webinar support. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * @todo [plugin-consolidation] Merge VE into ECP, hook to be deprecated and renamed. + * + * @param array $webinar_values The default webinar values to detect. + */ + $webinar_values = (array) apply_filters( 'tec_events_virtual_zoom_webinar_support_values', $webinar_values ); + + $supports = false; + foreach ( $webinar_values as $webinar_value ) { + if ( empty( $settings['feature'][ $webinar_value ] ) ) { + continue; + } + + $supports = true; + break; + } + + return $supports; + } + + /** + * Get password requirements for a user. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param array $settings The user settings from Zoom. + * + * @return array The password requirements for a user. + */ + public function get_password_requirements( $settings ) { + if ( empty( $settings['schedule_meeting']['meeting_password_requirement'] ) ) { + $settings['schedule_meeting']['meeting_password_requirement'] = []; + } + + $password_requirements = $settings['schedule_meeting']['meeting_password_requirement']; + + return [ + 'password_length' => (int) Arr::get( $password_requirements, 'length', 6 ), + 'password_have_special_character' => (bool) Arr::get( $password_requirements, 'have_special_character', false ), + 'password_only_allow_numeric' => (bool) Arr::get( $password_requirements, 'only_allow_numeric', false ), + ]; + } + + /** + * Update the Zoom account on existing events before Multiple Account Support. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param \WP_Post $event The event post object. + * + * @return bool|void Whether the account has been added. + */ + public function update_event_for_multiple_accounts_support( $event ) { + + $event = tribe_get_event( $event->ID ); + + if ( ! $event instanceof \WP_Post ) { + return; + } + + if ( empty( $event->virtual ) ) { + return; + } + + if ( empty( $event->zoom_meeting_id ) ) { + return; + } + + $account_id = get_post_meta( $event->ID, $this->account_id_meta_field_name, true ); + if ( $account_id ) { + return; + } + + $account_id = tribe_get_option( Settings::$option_prefix . 'original_account', '' ); + if ( empty( $account_id ) ) { + return; + } + + $this->save_account_id_to_post( $event->ID, $account_id ); + + return true; + } + + /** + * Returns the full OAuth URL to authorize the application. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * @deprecated 1.13.2 + * + * @return string The full OAuth URL to authorize the application. + */ + public function authorize_url() { + _deprecated_function( __FUNCTION__, '1.13.2', 'Zoom/Url->get_authorize_url()' ); + + // Use the `state` query arg as described in Zoom API documentation. + $authorize_url = add_query_arg( + [ + 'state' => wp_create_nonce( $this->actions::$authorize_nonce_action ), + ], + admin_url() + ); + + return $authorize_url; + } +} diff --git a/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/Zoom/Actions.php b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/Zoom/Actions.php new file mode 100644 index 000000000..eacd3fa0d --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/Zoom/Actions.php @@ -0,0 +1,61 @@ +setup( static::$api_id ); + } +} diff --git a/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/Zoom/Api.php b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/Zoom/Api.php new file mode 100644 index 000000000..f713adbb7 --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/Zoom/Api.php @@ -0,0 +1,523 @@ +[^\D]+)|'; + + /** + * Api constructor. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param Encryption $encryption An instance of the Encryption handler. + * @param Template_Modifications $template_modifications An instance of the Template_Modifications handler. + * @param Actions $actions An instance of the Actions name handler. + * @param URL $url An instance of the URL handler. + */ + public function __construct( Encryption $encryption, Template_Modifications $template_modifications, Actions $actions, Url $url ) { + $this->encryption = ( ! empty( $encryption ) ? $encryption : tribe( Encryption::class ) ); + $this->template_modifications = $template_modifications; + $this->actions = $actions; + $this->url = $url; + + // Attempt to load an account. + $this->load_account(); + } + + /** + * {@inheritDoc} + */ + public function refresh_access_token( $id, $refresh_token ) { + $refreshed = false; + + $this->post( + $this->url::to_refresh(), + [ + 'body' => [ + 'grant_type' => 'refresh_token', + 'refresh_token' => $refresh_token, + ], + ], + 200 + )->then( + function ( array $response ) use ( &$id, &$refreshed ) { + + $body = json_decode( wp_remote_retrieve_body( $response ), true ); + $body_set = $this->has_proper_response_body( $body, [ 'access_token', 'refresh_token', 'expires_in' ] ); + if ( ! $body_set ) { + do_action( 'tribe_log', 'error', __CLASS__, [ + 'action' => __METHOD__, + 'message' => 'Zoom API access token refresh response is malformed.', + 'response' => $body, + ] ); + + return false; + } + + $refreshed = $this->save_access_and_expiration( $id, $response ); + + return $refreshed; + } + ); + + return $refreshed; + } + + /** + * Get the Meeting by ID from Zoom and Return the Data. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param int $zoom_meeting_id The Zoom meeting id. + * @param string $meeting_type The type of meeting (Meeting or Webinar) to fetch the information for. + * + * @return array An array of data from the Zoom API. + */ + public function fetch_meeting_data( $zoom_meeting_id, $meeting_type ) { + if ( ! $this->get_token_authorization_header() ) { + return []; + } + + $data = []; + + $api_endpoint = Meetings::$meeting_type === $meeting_type + ? Meetings::$api_endpoint + : Webinars::$api_endpoint; + + $this->get( + self::$api_base . "{$api_endpoint}/{$zoom_meeting_id}", + [ + 'headers' => [ + 'Authorization' => $this->get_token_authorization_header(), + 'Content-Type' => 'application/json; charset=utf-8', + 'accept' => 'application/json;', + ], + 'body' => null, + ], + 200 + )->then( + function ( array $response ) use ( &$data ) { + + $body = json_decode( wp_remote_retrieve_body( $response ), true ); + $body_set = $this->has_proper_response_body( $body, [ 'join_url' ] ); + if ( ! $body_set ) { + do_action( 'tribe_log', 'error', __CLASS__, [ + 'action' => __METHOD__, + 'message' => 'Zoom API meetings settings response is malformed.', + 'response' => $body, + ] ); + + return []; + } + $data = $body; + } + )->or_catch( + function ( \WP_Error $error ) { + do_action( 'tribe_log', 'error', __CLASS__, [ + 'action' => __METHOD__, + 'code' => $error->get_error_code(), + 'message' => $error->get_error_message(), + ] ); + } + ); + + return $data; + } + + /** + * {@inheritDoc} + */ + public function fetch_user( $user_id = 'me', $settings = false, $access_token = '' ) { + if ( ! $this->get_token_authorization_header( $access_token ) ) { + return []; + } + + // If both user id and settings, add settings to detect webinar support. + if ( $user_id && $settings ) { + $user_id = $user_id . '/settings'; + } + + $this->get( + self::$api_base . 'users/' . $user_id, + [ + 'headers' => [ + 'Authorization' => $this->get_token_authorization_header( $access_token ), + 'Content-Type' => 'application/json; charset=utf-8', + 'accept' => 'application/json;', + ], + 'body' => null, + ], + 200 + )->then( + static function ( array $response ) use ( &$data ) { + $body = json_decode( wp_remote_retrieve_body( $response ), true ); + $body_set = self::has_proper_response_body( $body ); + + if ( ! $body_set ) { + do_action( 'tribe_log', 'error', __CLASS__, [ + 'action' => __METHOD__, + 'message' => 'Zoom API user response is malformed.', + 'response' => $body, + ] ); + + return []; + } + $data = $body; + } + )->or_catch( + static function ( \WP_Error $error ) { + do_action( 'tribe_log', 'error', __CLASS__, [ + 'action' => __METHOD__, + 'code' => $error->get_error_code(), + 'message' => $error->get_error_message(), + ] ); + } + ); + + return $data; + } + + /** + * Get the List of all Users + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @return array An array of users from the Zoom API. + */ + public function fetch_users() { + if ( ! $this->get_token_authorization_header() ) { + return []; + } + + $args = [ + 'page_size' => 300, + 'page_number' => 1, + ]; + + /** + * Filters the arguments for fetching users. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * @todo [plugin-consolidation] Merge VE into ECP, hook to be deprecated and renamed. + * + * @param array $args The default arguments to fetch users. + */ + $args = (array) apply_filters( 'tec_events_virtual_zoom_user_get_arguments', $args ); + + $page_query_atts = [ + 'start' => 1, + 'limit' => 20, + ]; + /** + * Filters the attributes for getting all of an account's users with pagination support. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * @todo [plugin-consolidation] Merge VE into ECP, hook to be deprecated and renamed. + * + * @param array $args The default attributes to fetch users through pagination. + */ + $page_query_atts = (array) apply_filters( 'tec_events_virtual_zoom_user_pagination_attributes', $page_query_atts ); + + // Get the initial page of users. + $users = $this->fetch_users_with_args( $args ); + + // Support Pagination of users for accounts with over 300 users. + if ( isset( $users['page_count'] ) && $users['page_count'] > $page_query_atts['start'] ) { + // Use the filtered default arguments for the base of pagination queries. + $page_args = $args; + + // Number of pages to get. If no limit, do the total number of pages. + // If there is a limit, do the smaller amount between the total number of pages and the limit. + $pages = $page_query_atts['limit'] ? min( $page_query_atts['start'] + $page_query_atts['limit'], $users['page_count'] + 1 ) : $users['page_count'] + 1; + + for ( $i = $page_query_atts['start'] + 1; $i < $pages; $i ++ ) { + $page_args['page_number'] = $i; + + $page_of_users = $this->fetch_users_with_args( $page_args ); + + if ( ! isset( $page_of_users['users'] ) ) { + continue; + } + + // merge in the current page of users to the previous. + $users['users'] = array_merge( $users['users'], $page_of_users['users'] ); + } + } + + return $users; + } + + /** + * Get the List of Users by arguments. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @return array An array of data from the Zoom API. + */ + public function fetch_users_with_args( $args ) { + if ( ! $this->get_token_authorization_header() ) { + return []; + } + + $data = ''; + + $this->get( + self::$api_base . 'users', + [ + 'headers' => [ + 'Authorization' => $this->get_token_authorization_header(), + 'Content-Type' => 'application/json; charset=utf-8', + 'accept' => 'application/json;', + ], + 'body' => ! empty( $args ) ? $args : null, + ], + 200 + )->then( + static function ( array $response ) use ( &$data ) { + $body = json_decode( wp_remote_retrieve_body( $response ), true ); + $body_set = self::has_proper_response_body( $body, [ 'users' ] ); + + if ( ! $body_set ) { + do_action( 'tribe_log', 'error', __CLASS__, [ + 'action' => __METHOD__, + 'message' => 'Zoom API users response is malformed.', + 'response' => $body, + ] ); + + return []; + } + $data = $body; + } + )->or_catch( + static function ( \WP_Error $error ) { + do_action( 'tribe_log', 'error', __CLASS__, [ + 'action' => __METHOD__, + 'code' => $error->get_error_code(), + 'message' => $error->get_error_message(), + ] ); + } + ); + + return $data; + } + + /** + * Get the regex to get the Zoom meeting/webinar id from a url. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @return string The regex to get Zoom meeting/webinar id from a url from the filter if a string or the default. + */ + public function get_regex_meeting_id_url() { + /** + * Allow filtering of the regex to get Zoom meeting/webinar id from a url. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * @todo [plugin-consolidation] Merge VE into ECP, hook to be deprecated and renamed. + * + * @param string The regex to get Zoom meeting/webinar id from a url. + */ + $regex_meeting_id_url = apply_filters( 'tec_events_virtual_zoom_regex_meeting_id_url', $this->regex_meeting_id_url ); + + return is_string( $regex_meeting_id_url ) ? $regex_meeting_id_url : $this->regex_meeting_id_url; + } + + /** + * Filter the autodetect source to detect if a Zoom link. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param array $autodetect An array of the autodetect defaults. + * @param string $video_url The url to use to autodetect the video source. + * @param string $video_source The optional name of the video source to attempt to autodetect. + * @param \WP_Post|null $event The event post object, as decorated by the `tribe_get_event` function. + * @param array $ajax_data An array of extra values that were sent by the ajax script. + * + * @return array An array of the autodetect results. + */ + public function filter_virtual_autodetect_zoom( $autodetect, $video_url, $video_source, $event, $ajax_data ) { + if ( $autodetect['detected'] || $autodetect['guess'] ) { + return $autodetect; + } + + // All video sources are checked on the first autodetect run, only prevent checking of this source if it is set. + if ( ! empty( $video_source ) && Zoom_Meta::$key_source_id !== $video_source ) { + return $autodetect; + } + + // If virtual url, fail the request. + if ( empty( $video_url ) ) { + $autodetect['message'] = _x( 'No url found. Please enter a Zoom meeting URL or change the selected source.', 'Zoom autodetect missing video url error message.', 'tribe-events-calendar-pro' ); + + return $autodetect; + } + + // Attempt to find the Zoom meeting/webinar id from the url. + preg_match( $this->get_regex_meeting_id_url(), $video_url, $matches ); + $zoom_meeting_id = isset( $matches['id'] ) ? $matches['id'] : false; + if ( ! $zoom_meeting_id ) { + $error_message = _x( 'No Zoom ID found. Please check your meeting URL.', 'No Zoom meeting/webinar ID found for autodetect error message.', 'tribe-events-calendar-pro' ); + $autodetect['message'] = $error_message; + + return $autodetect; + } + + $autodetect['guess'] = Zoom_Meta::$key_source_id; + + // Use the zoom-account if available, otherwise try with the first account stored in the site. + $accounts = $this->get_list_of_accounts(); + $account_id = empty( $ajax_data['zoom-account'] ) ? key( array_slice( $accounts, 0, 1 ) ) : esc_attr( $ajax_data['zoom-account'] ); + + if ( empty( $account_id ) ) { + $autodetect['message'] = $this->get_no_account_message(); + + return $autodetect; + } + + $this->load_account_by_id( $account_id ); + if ( ! $this->is_ready() ) { + $autodetect['message'] = $this->get_no_account_message(); + + return $autodetect; + } + + $data = $this->fetch_meeting_data( $zoom_meeting_id, 'meeting' ); + + // If not meeting found, test with webinar. + if ( empty( $data ) ) { + $data = $this->fetch_meeting_data( $zoom_meeting_id, 'webinar' ); + } + + // If no meeting or webinar found it is because the account is not authorized or does not exist. + if ( empty( $data ) ) { + $autodetect['message'] = _x( 'This Zoom meeting could not be found in the selected account. Please select the associated account below and try again.', 'No Zoom meeting or webinar found for autodetect error message.', 'tribe-events-calendar-pro' ); + + return $autodetect; + } + + // Set as virtual event and video source to zoom. + update_post_meta( $event->ID, Virtual_Events_Meta::$key_virtual, true ); + update_post_meta( $event->ID, Virtual_Events_Meta::$key_video_source, Zoom_Meta::$key_source_id ); + $event->virtual_video_source = Zoom_Meta::$key_source_id; + + // Save Zoom data. + $new_response['body'] = json_encode( $data ); + tribe( Meetings::class )->process_meeting_connection_response( $new_response, $event->ID ); + + // Set Zoom as the autodetect source and set up success data and send back to smart url ui. + update_post_meta( $event->ID, Virtual_Events_Meta::$key_autodetect_source, Zoom_Meta::$key_source_id ); + $autodetect['detected'] = true; + $autodetect['autodetect-source'] = Zoom_Meta::$key_source_id; + $autodetect['message'] = _x( 'Zoom meeting successfully connected!', 'Zoom meeting/webinar connected success message.', 'tribe-events-calendar-pro' ); + $autodetect['html'] = tribe( Classic_Editor::class )->get_meeting_details( $event, false, $account_id, false ); + + return $autodetect; + } + + /** + * Get the no Zoom account found message. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @return string The message returned when no account found. + */ + protected function get_no_account_message() { + return sprintf( + '%1$s %3$s', + esc_html_x( + 'No Zoom account found. Please check', + 'The start of the message for smart url/autodetect when there is no Zoom account found.', + 'tribe-events-calendar-pro' + ), + Settings::admin_url(), + esc_html_x( + 'check your account connection.', + 'The link in of the message for smart url/autodetect when no Zoom account is found.', + 'tribe-events-calendar-pro' + ) + ); + } + + /** + * Filters the API error message. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param string $api_message The API error message. + * @param array $body The json_decoded request body. + * @param Api_Response $response The response that will be returned. A non `null` value + * here will short-circuit the response. + * + * @return string $api_message The API error message. + */ + public function filter_api_error_message( $api_message, $body, $response ) { + if ( ! isset( $body['errors'][0]['message'] ) ) { + return $api_message; + } + + $api_message .= ' API Error: ' . $body['errors'][0]['message']; + + return $api_message; + } +} diff --git a/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/Zoom/Classic_Editor.php b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/Zoom/Classic_Editor.php new file mode 100644 index 000000000..bb8ef8d80 --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/Zoom/Classic_Editor.php @@ -0,0 +1,589 @@ +url = $url; + $this->api = $api; + $this->template = $template; + $this->settings = $settings; + $this->users = $users; + $this->actions = $actions; + } + + /** + * {@inheritDoc} + */ + public function add_event_properties( $post = null ) { + return Zoom_Meta::add_event_properties( $post ); + } + + /** + * Renders, echoing to the page, the Zoom API meeting generator controls. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param null|\WP_Post|int $post The post object or ID of the event to generate the controls for, or `null` to use + * the global post object. + * @param bool $echo Whether to echo the template contents to the page (default) or to return it. + * @param bool $force_generator Whether to force to display the meeting and webinar generator. + * @param null|string $account_id The account id to use to load the link generators. + * + * @return string The template contents, if not rendered to the page. + */ + public function render_meeting_link_generator( $post = null, $echo = true, $force_generator = false, $account_id = null ) { + $post = tribe_get_event( $post ); + + if ( ! $post instanceof \WP_Post ) { + return ''; + } + + // Make sure to apply the properties to the event. + $post = $this->add_event_properties( $post ); + + // Load the Zoom account. + $account_loaded = $this->api->load_account_by_id( $account_id ); + $candidate_types = [ + // Always allow by default. + 'meeting' => true, + // Allow the generation only if the account has the correct caps. + 'webinar' => $this->api->supports_webinars(), + ]; + $available_types = []; + + foreach ( $candidate_types as $type => $allow ) { + /** + * Allow filtering whether to allow link generation and to show controls for a meeting type. + * This will continue to allow previously generated links to be seen and removed. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * @todo [plugin-consolidation] Merge VE into ECP, hook to be deprecated and renamed. + * + * @param boolean $allow Whether to allow link generation. + * @param \WP_Post $post The post object of the Event context of the link generation. + */ + $allow = apply_filters( "tribe_events_virtual_zoom_{$type}_link_allow_generation", $allow, $post ); + + if ( tribe_is_truthy( $allow ) ) { + $available_types[] = $type; + } + } + + $allow_link_gen = count( $available_types ) > 0; + $meeting_link = tribe( Password::class )->get_zoom_meeting_link( $post ); + + if ( ! empty( $meeting_link ) && ! $force_generator ) { + // Meetings and Webinars Details. + return $this->render_meeting_details( $post, $echo, $account_id, $account_loaded ); + } + + // Do not show the link generation controls if not allowed for any type. + if ( false === $allow_link_gen ) { + return ''; + } + + if ( count( $available_types ) > 0 ) { + // Meetings and Webinars. + return $this->render_multiple_links_generator( $post, $echo, $account_id, $account_loaded ); + } + + if ( ! $account_loaded && 'disabled' !== $account_loaded ) { + return $this->render_account_disabled_details( false ); + } + + // If the account is disabled, display the disabled details message. + if ( 'disabled' === $account_loaded ) { + return $this->render_account_disabled_details(); + } + + return $this->render_initial_setup_options( $post, $echo ); + } + + /** + * Returns the remove link. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param int|\WP_Post $event The event ID or object. + * + * @return string The remove link, unescaped. + */ + protected function get_remove_link( $event ) { + return empty( $event->zoom_meeting_type ) || Webinars::$meeting_type !== $event->zoom_meeting_type ? + $this->url->to_remove_meeting_link( $event ) + : $this->url->to_remove_webinar_link( $event ); + } + + /** + * Returns the remove link label. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @return string The remove link label, unescaped. + */ + protected function get_remove_link_label() { + return _x( + 'Remove Zoom link', + 'The label for the admin UI control that allows removing the Zoom Meeting or Webinar link from the event.', + 'tribe-events-calendar-pro' + ); + } + + /** + * Returns the account link selection URL. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param \WP_Post $post The post object of the Event context of the link generation. + * @param bool $include_generate_text Whether to include the "Generate" text in the labels or not. + * + * @return array> A map (by meeting type) of unpackable arrays, each one containing the URL and + * label for the generation link HTML code. + */ + protected function get_account_link_selection_url( \WP_Post $post, $include_generate_text = false ) { + $link = $this->url->to_select_account_link( $post ); + + /** + * Allows filtering the account selection link URL. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * @todo [plugin-consolidation] Merge VE into ECP, hook to be deprecated and renamed. + * + * @param string $link The url used to setup the account selection. + * @param \WP_Post $post The post object of the Event context of the link generation. + */ + $link = apply_filters( 'tec_events_virtual_zoom_select_account_url', $link, $post ); + + return $link; + } + + /** + * Renders the link generator HTML for 2+ Zoom Meeting types (e.g. Webinars and Meetings). + * + * Currently the available types are, at the most, 2: Meetings and Webinars. This method might need to be + * updated in the future if that assumption changes. If this method runs, then it means that we should render + * generation links for both type of meetings. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param \WP_Post $post The post object of the Event context of the link generation. + * @param bool $echo Whether to print the rendered HTML to the page or not. + * @param null|string $account_id The account id to use to load the link generators. + * @param bool $account_loaded The account is loaded successfully into the API. + * + * @return string|false Either the final content HTML or `false` if the template could be found. + */ + public function render_multiple_links_generator( \WP_Post $post, $echo = true, $account_id = null, $account_loaded = false ) { + $hosts = []; + if ( $account_id ) { + $hosts = $this->users->get_formatted_hosts_list( $account_id ); + } + + /** + * Filters the host list to use to assign to Zoom Meetings and Webinars. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * @todo [plugin-consolidation] Merge VE into ECP, hook to be deprecated and renamed. + * + * @param array An array of Zoom Users to use as the host. + */ + $hosts = apply_filters( 'tribe_events_virtual_meetings_zoom_hosts', $hosts ); + + // Display no hosts found error template. + if ( empty( $hosts ) ) { + return $this->render_no_hosts_found(); + } + + $message = ''; + if ( 'not-found' === $account_loaded ) { + $message = $this->render_account_disabled_details( false, true, false ); + } elseif ( 'disabled' === $account_loaded ) { + $message = $this->render_account_disabled_details( true, true, false ); + } + + $api_id = $this->api::$api_id; + $settings = $this->api->fetch_user( $account_id, true ); + $password_requirements = $this->api->get_password_requirements( $settings ); + + return $this->template->template( + 'virtual-metabox/zoom/setup', + [ + 'api_id' => $api_id, + 'event' => $post, + 'attrs' => [ + 'data-account-id' => $account_id, + 'data-api-id' => $api_id, + ], + 'offer_or_label' => _x( + 'or', + 'The lowercase "or" label used to offer the creation of a Zoom Meetings or Webinars API link.', + 'tribe-events-calendar-pro' + ), + 'account_label' => _x( + 'Account: ', + 'The label used to designate the account of a Zoom Meeting or Webinar.', + 'tribe-events-calendar-pro' + ), + 'account_name' => $this->api->loaded_account_name, + 'generation_toggle_label' => _x( + 'Generate Zoom Link', + 'The label of the toggle to show the links to generate Zoom Meetings or Webinars.', + 'tribe-events-calendar-pro' + ), + 'generation_urls' => $this->get_link_creation_urls( $post ), + 'generate_label' => _x( + 'Create ', + 'The label used to designate the next step in generation of a Zoom Meeting or Webinar.', + 'tribe-events-calendar-pro' + ), + 'hosts' => [ + 'label' => _x( + 'Meeting Host', + 'The label of the meeting or webinar host.', + 'tribe-events-calendar-pro' + ), + 'id' => 'tribe-events-virtual-zoom-host', + 'class' => 'tec-events-virtual-meetings-api__host-dropdown tribe-events-virtual-meetings-zoom__host-dropdown', + 'name' => 'tribe-events-virtual-zoom-host', + 'selected' => $post->zoom_host_id, + 'attrs' => [ + 'placeholder' => _x( + 'Select a Host', + 'The placeholder for the dropdown to select a host.', + 'tribe-events-calendar-pro' + ), + 'data-selected' => $post->zoom_host_id, + 'data-prevent-clear' => true, + 'data-force-search' => true, + 'data-options' => json_encode( $hosts ), + 'data-validate-url' => $this->url->to_validate_user_type( $post ), + ], + ], + 'remove_link_url' => $this->get_remove_link( $post ), + 'remove_link_label' => $this->get_remove_link_label(), + 'remove_attrs' => [ + 'data-confirmation' => $this->get_remove_confirmation_text(), + ], + 'message' => $message, + 'zoom_message_classes' => [ 'tec-events-virtual-video-source-api-setup__messages-wrap' ], + 'password_requirements' => $password_requirements, + ], + $echo + ); + } + + /** + * Returns the meeting/webinar creation links and labels. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param \WP_Post $post The post object of the Event context of the link creation. + * @param bool $webinar_support Whether to add the webinar create link. + * + * @return array> A map (by meeting type) of unpackable arrays, each one containing the URL and + * label for the creation link HTML code. + */ + public function get_link_creation_urls( \WP_Post $post, $webinar_support = false ) { + $meeting_create_label = _x( + 'Meeting', + 'Label for the control to generate a Zoom meeting link in the event classic editor UI.', + 'tribe-events-calendar-pro' + ); + $webinar_create_label = _x( + 'Webinar', + 'Label for the control to generate a Zoom webinar link in the event classic editor UI.', + 'tribe-events-calendar-pro' + ); + + $data = [ + Meetings::$meeting_type => [ + $this->url->to_generate_meeting_link( $post ), + $meeting_create_label, + false, + [], + ] + ]; + + $webinar_tooltip = [ + 'classes_wrap' => [ 'tec-events-virtual-meetings-zoom__type-options--tooltip' ], + 'message' => _x( + 'Webinars are not enabled for this host. Webinar support is enabled by the account plan in Zoom.', + 'Explains why the webinar field is disabled when creating a meeting/webinar for an event.', + 'tribe-events-calendar-pro' + ), + ]; + + // Add webinar, but disable by default + $data[ Webinars::$meeting_type ] = [ + $this->url->to_generate_webinar_link( $post ), + $webinar_create_label, + // Webinar Disabled, set to true if disabled. + $webinar_support || $this->api->supports_webinars() ? false : true, + // Add Tooltip. + $webinar_support || $this->api->supports_webinars() ? [] : $webinar_tooltip, + ]; + + /** + * Allows filtering the creation links URL and label before rendering them on the admin UI. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * @todo [plugin-consolidation] Merge VE into ECP, hook to be deprecated and renamed. + * + * @param array> A map (by meeting type) of unpackable arrays, each one containing the URL and + * label for the creation link HTML code. + * @param \WP_Post $post The post object of the Event context of the link creation. + */ + return apply_filters( 'tec_events_virtual_zoom_meeting_link_creation_urls', $data, $post ); + } + + /** + * Get an existing Meeting details. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param \WP_Post $post The post object of the Event context of the link generation. + * @param bool $echo Whether to print the rendered HTML to the page or not. + * @param null|string $account_id The account id to use to load the link generators. + * @param bool $account_loaded The account is loaded successfully into the API. + * + * @return string|false Either the final content HTML or `false` if the template could be found. + */ + public function get_meeting_details( \WP_Post $post, $echo = true, $account_id = null, $account_loaded = false ) { + + // Make sure to apply the properties to the event. + $post = $this->add_event_properties( $post ); + + // Load the account for the API instance. + if ( ! $account_loaded ) { + $account_loaded = $this->api->load_account_by_id( $account_id ); + } + + return $this->render_meeting_details( $post, $echo, $account_id, $account_loaded ); + } + + /** + * Renders an existing Meeting details. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param \WP_Post $post The post object of the Event context of the link generation. + * @param bool $echo Whether to print the rendered HTML to the page or not. + * @param null|string $account_id The account id to use to load the link generators. + * @param bool $account_loaded The account is loaded successfully into the API. + * + * @return string|false Either the final content HTML or `false` if the template could be found. + */ + protected function render_meeting_details( \WP_Post $post, $echo = true, $account_id = null, $account_loaded = false ) { + // Display a different details title depending on the type of meeting. + $meeting_type = empty( $post->zoom_meeting_type ) || Webinars::$meeting_type !== $post->zoom_meeting_type + ? Meetings::$meeting_type + : Webinars::$meeting_type; + + $details_title = Webinars::$meeting_type === $meeting_type + ? _x( + 'Zoom Webinar:', + 'Title of the details box shown for a generated Zoom Webinar link in the backend.', + 'tribe-events-calendar-pro' + ) + : _x( + 'Zoom Meeting:', + 'Title of the details box shown for a generated Zoom Meeting link in the backend.', + 'tribe-events-calendar-pro' + ); + + $alt_hosts = []; + if ( $account_id ) { + $alt_hosts = $this->users->get_alternative_users( [], $post->zoom_alternative_hosts, $post->zoom_host_email, $account_id ); + } + + /** + * Filters the host list to use to assign to Zoom Meetings and Webinars. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * @todo [plugin-consolidation] Merge VE into ECP, hook to be deprecated and renamed. + * + * @param array An array of Zoom Users to use as the alternative hosts. + * @param string $selected_alt_hosts The list of alternative host emails. + * @param string $current_host The email of the current host. + */ + $alt_hosts = apply_filters( 'tribe_events_virtual_meetings_zoom_alternative_hosts', $alt_hosts, $post->zoom_alternative_hosts, $post->zoom_host_email ); + + $message = ''; + if ( 'not-found' === $account_loaded ) { + $message = $this->render_account_disabled_details( false, true, false ); + } elseif ( 'disabled' === $account_loaded ) { + $message = $this->render_account_disabled_details( true, true, false ); + } + + $connected_msg = ''; + $manual_connected = get_post_meta( $post->ID, Virtual_Events_Meta::$key_autodetect_source, true ); + if ( Zoom_Meta::$key_source_id === $manual_connected ) { + $connected_msg = Webinars::$meeting_type === $meeting_type + ? _x( + 'This webinar is manually connected to the event and changes to the event will not alter the Zoom webinar.', + 'Message for a manually connected Zoom meeting or webinar.', + 'tribe-events-calendar-pro' + ) + : _x( + 'This meeting is manually connected to the event and changes to the event will not alter the Zoom meeting.', + 'Message for a manually connected Zoom meeting or webinar.', + 'tribe-events-calendar-pro' + ); + } + + return $this->template->template( + 'virtual-metabox/zoom/details', + [ + 'attrs' => [ + 'data-depends' => '#tribe-events-virtual-video-source', + 'data-condition' => static::$api_id, + 'data-zoom-id' => $post->zoom_meeting_id, + 'data-selected-alt-hosts' => $post->zoom_alternative_hosts, + ], + 'connected' => Zoom_Meta::$key_source_id === $manual_connected, + 'connected_msg' => $connected_msg, + 'event' => $post, + 'details_title' => $details_title, + 'remove_link_url' => $this->get_remove_link( $post ), + 'remove_link_label' => $this->get_remove_link_label(), + 'remove_attrs' => [ + 'data-confirmation' => $this->get_remove_confirmation_text(), + ], + 'account_name' => $this->api->loaded_account_name, + 'host_label' => _x( + 'Host: ', + 'The label used to designate the host of a Zoom Meeting or Webinar.', + 'tribe-events-calendar-pro' + ), + 'zoom_id' => $post->zoom_meeting_id, + 'id_label' => _x( + 'ID: ', + 'The label used to prefix a Zoom Meeting or Webinar ID in the backend.', + 'tribe-events-calendar-pro' + ), + 'phone_numbers' => array_filter( + (array) get_post_meta( $post->ID, Virtual_Meta::$prefix . 'zoom_global_dial_in_numbers', true ) + ), + 'selected_alt_hosts' => $post->zoom_alternative_hosts, + 'alt_hosts' => [ + 'label' => _x( + 'Alternative Hosts', + 'The label of the alternative host multiselect', + 'tribe-events-calendar-pro' + ), + 'id' => 'tribe-events-virtual-zoom-alt-host', + 'name' => 'tribe-events-virtual-zoom-alt-host[]', + 'class' => 'tribe-events-virtual-meetings-zoom__alt-host-multiselect', + 'selected' => $post->zoom_alternative_hosts, + 'attrs' => [ + 'data-placeholder' => _x( + 'Add Alternative hosts', + 'The placeholder for the multiselect to select alternative hosts.', + 'tribe-events-calendar-pro' + ), + 'data-force-search' => true, + 'data-selected' => $post->zoom_host_id, + 'data-options' => json_encode( $alt_hosts ), + ], + ], + 'message' => $message, + ], + $echo + ); + } + + /** + * {@inheritDoc} + */ + public function ajax_selection( $nonce = null ) { + if ( ! $this->check_ajax_nonce( $this->actions::$select_action, $nonce ) ) { + return false; + } + + $event = $this->check_ajax_post(); + + if ( ! $event ) { + return false; + } + + $zoom_account_id = tribe_get_request_var( 'zoom_account_id' ); + if ( empty( $zoom_account_id ) ) { + $zoom_account_id = tribe_get_request_var( 'account_id' ); + } + // If no account id found, fail the request. + if ( empty( $zoom_account_id ) ) { + $error_message = _x( 'The Zoom Account ID is missing to access the API.', 'Account ID is missing error message.', 'tribe-events-calendar-pro' ); + $this->render_meeting_generation_error_details( $event, $error_message, true ); + + wp_die(); + } + + $account_loaded = $this->api->load_account_by_id( $zoom_account_id ); + // If there is no token, then stop as the connection will fail. + if ( ! $account_loaded ) { + $error_message = _x( 'The Zoom Account could not be loaded to access the API. Please try refreshing the account in the Events API Settings.', 'Zoom account loading error message.', 'tribe-events-calendar-pro' ); + + $this->render_meeting_generation_error_details( $event, $error_message, true ); + + wp_die(); + } + + $post_id = $event->ID; + + // Set the video source to zoo. + update_post_meta( $post_id, Virtual_Events_Meta::$key_video_source, Zoom_Meta::$key_source_id ); + + // get the setup + $this->render_meeting_link_generator( $event, true, false, $zoom_account_id ); + $this->api->save_account_id_to_post( $post_id, $zoom_account_id ); + + wp_die(); + } +} diff --git a/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/Zoom/Email.php b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/Zoom/Email.php new file mode 100644 index 000000000..e87e6f63a --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/Zoom/Email.php @@ -0,0 +1,59 @@ +virtual ) + || empty( $event->virtual_meeting ) + || Zoom_Event_Meta::$key_source_id !== $event->virtual_meeting_provider + ) { + return $template; + } + + $template = 'zoom/email/ticket-email-zoom-details'; + + return $template; + } +} diff --git a/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/Zoom/Event_Export.php b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/Zoom/Event_Export.php new file mode 100644 index 000000000..474ad8cbb --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/Zoom/Event_Export.php @@ -0,0 +1,31 @@ + true, + 'host_email' => false, + 'alternative_hosts' => false, + ]; + + /** + * {@inheritDoc} + */ + protected static $create_actions = [ + 'ev_zoom_meetings_create', + 'ev_zoom_webinars_create', + ]; + + /** + * {@inheritDoc} + */ + protected static function get_meeting_id( WP_Post $event ) { + return $event->zoom_meeting_id; + } + + /** + * {@inheritDoc} + */ + protected static function get_meeting_join_url( WP_Post $event ) { + return $event->zoom_join_url; + } + + /** + * {@inheritDoc} + */ + protected static function get_meeting_data_for_rest_api( WP_Post $event ) { + return [ + 'id' => $event->zoom_meeting_id, + 'url' => $event->zoom_join_url, + 'numbers' => $event->zoom_global_dial_in_numbers, + 'password' => get_post_meta( $event->ID, Virtual_Event_Meta::$prefix . 'zoom_password', true ), + 'type' => $event->zoom_meeting_type, + 'instructions' => $event->zoom_join_instructions, + ]; + } + + /** + * {@inheritDoc} + */ + protected static function get_api_properties( WP_Post $event, $prefix, $is_new_event ) { + $event->zoom_meeting_type = $is_new_event ? '' : get_post_meta( $event->ID, $prefix . 'zoom_meeting_type', true ); + $event->zoom_meeting_id = $is_new_event ? '' : get_post_meta( $event->ID, $prefix . 'zoom_meeting_id', true ); + $event->zoom_join_url = $is_new_event ? '' : tribe( Password::class )->get_zoom_meeting_link( $event ); + $event->zoom_join_instructions = $is_new_event ? '' : get_post_meta( $event->ID, $prefix . 'zoom_join_instructions', true ); + $event->virtual_meeting_display_details = $is_new_event ? '' : get_post_meta( $event->ID, $prefix . 'zoom_display_details', true ); + $event->zoom_host_email = $is_new_event ? '' : self::get_host_email( $event ); + $event->zoom_alternative_hosts = $is_new_event ? '' : self::get_alt_host_emails( $event ); + + $dial_in_numbers = $is_new_event ? [] : array_filter( + (array) get_post_meta( $event->ID, $prefix . 'zoom_global_dial_in_numbers', true ) + ); + + $compact_phone_number = static function ( $phone_number ) { + return trim( str_replace( ' ', '', $phone_number ) ); + }; + + $event->zoom_global_dial_in_number = count( $dial_in_numbers ) + ? array_keys( $dial_in_numbers )[0] + : ''; + + $event->zoom_global_dial_in_numbers = []; + foreach ( $dial_in_numbers as $phone_number => $country ) { + $event->zoom_global_dial_in_numbers[] = [ + 'country' => $country, + 'compact' => $compact_phone_number( $phone_number ), + 'visual' => $phone_number, + ]; + } + + return $event; + } + + /** + * Get the host email from the meta or saved Zoom data. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param WP_Post $event The event post object, as decorated by the `tribe_get_event` function. + * + * @return string|null The found host email or null for the meeting. + */ + public static function get_host_email( WP_Post $event ) { + $encryption = tribe( Encryption::class ); + $prefix = Virtual_Event_Meta::$prefix; + $host_email = $encryption->decrypt( get_post_meta( $event->ID, $prefix . 'zoom_host_email', true ) ); + + if ( $host_email ) { + return $host_email; + } + + $all_zoom_details = $encryption->decrypt( get_post_meta( $event->ID, $prefix . 'zoom_meeting_data', true ) ); + + return Arr::get( $all_zoom_details, 'host_email', null ); + } + + /** + * Get the alternative host emails from the meta or saved Zoom data. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param WP_Post $event The event post object, as decorated by the `tribe_get_event` function. + * + * @return string|null The found host email or null for the meeting. + */ + public static function get_alt_host_emails( WP_Post $event ) { + $encryption = tribe( Encryption::class ); + $prefix = Virtual_Event_Meta::$prefix; + $alternative_hosts = $encryption->decrypt( get_post_meta( $event->ID, $prefix . 'zoom_alternative_hosts', true ) ); + + if ( $alternative_hosts ) { + return $alternative_hosts; + } + + $all_zoom_details = $encryption->decrypt( get_post_meta( $event->ID, $prefix . 'zoom_meeting_data', true ) ); + $settings = Arr::get( $all_zoom_details, 'settings', [] ); + + return Arr::get( $settings, 'alternative_hosts', '' ); + } + + /** + * Adds related properties to an Event Automator event details map. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param array $next_event An array of event details. + * @param WP_Post $event An instance of the event WP_Post object. + * + * @return array An array of event details. + */ + public static function add_event_automator_properties( array $next_event, WP_Post $event ) { + if ( $event->virtual_video_source !== static::$key_source_id ) { + return $next_event; + } + + $next_event['virtual_url'] = $event->virtual_meeting_url; + $next_event['virtual_provider_details'] = [ + 'zoom_meeting_type' => $event->zoom_meeting_type, + 'zoom_meeting_id' => $event->zoom_meeting_id, + 'zoom_join_url' => $event->zoom_join_url, + 'zoom_join_instructions' => $event->zoom_join_instructions, + 'zoom_meeting_display_details' => $event->virtual_meeting_display_details, + 'zoom_host_email' => $event->zoom_host_email, + 'zoom_alternative_hosts' => $event->zoom_alternative_hosts, + 'zoom_global_dial_in_numbers' => $event->zoom_global_dial_in_numbers, + ]; + + return $next_event; + } +} diff --git a/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/Zoom/Meetings.php b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/Zoom/Meetings.php new file mode 100644 index 000000000..aeac89f89 --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/Zoom/Meetings.php @@ -0,0 +1,20 @@ + An array of Accounts formatted for options dropdown. + * @param array $account_data The array of data for an account to add to the list. + * @param string $api_id The id of the API in use. + */ + public function update_original_account( $accounts, $account_data, $app_id ) { + if ( 'zoom' !== $app_id ) { + return; + } + // If there are no options and the original_account is empty, lets save the first account added. + if ( + empty( $accounts ) + && ! tribe_get_option( Settings::$option_prefix . 'original_account' ) + ) { + tribe_update_option( Settings::$option_prefix . 'original_account', esc_attr( $account_data['id'] ) ); + } + } +} diff --git a/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/Zoom/Migration_Notice.php b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/Zoom/Migration_Notice.php new file mode 100644 index 000000000..11e9f9e97 --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/Zoom/Migration_Notice.php @@ -0,0 +1,73 @@ + 'warning', + 'dismiss' => 1, + 'wrap' => 'p', + ], + [ $this, 'should_display' ] + ); + + } + + /** + * This function determines if the user can do something about the Zoom authorization, since we only want to display notices for users who can. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * @deprecated 1.15.3 - No replacement. + * + * @return boolean Whether the notice should display. + */ + public function should_display() { + _deprecated_function( __METHOD__, '1.15.3', 'No replacement.' ); + + // Bail if the user is not admin or cannot manage plugins + return current_user_can( 'activate_plugins' ); + } + + /** + * HTML for the Zoom App notice. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * @deprecated 1.15.3 - No replacement. + * + * @return string The notice text and link for the Zoom App. + */ + public function display_notice() { + _deprecated_function( __METHOD__, '1.15.3', 'No replacement.' ); + + $text = _x( 'Thank you for updating to the latest version of Virtual Events. You will need to reconnect your Zoom account for the plugin to work as intended.', 'The migration notice to authorize the new Zoom App.', 'tribe-events-calendar-pro' ); + + return sprintf( $text, Settings::admin_url() ); + } +} diff --git a/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/Zoom/OAuth.php b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/Zoom/OAuth.php new file mode 100644 index 000000000..6c69a3032 --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/Zoom/OAuth.php @@ -0,0 +1,145 @@ +request_url; + * + * @var string + * + * @link https://marketplace.zoom.us/docs/guides/auth/oauth + */ + public static $token_request_url = 'https://whodat.theeventscalendar.com/oauth/zoom/v2/token'; + + /** + * The base URL to request an access token to Zoom API. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * @deprecated 1.13.0 - No replacement. + * + * @var string + * + * @link https://marketplace.zoom.us/docs/guides/auth/oauth + */ + public static $legacy_token_request_url = 'https://zoom.us/oauth/token'; + + /** + * an instance of the Zoom API handler. + * + * @deprecated 1.13.0 - Functionality moved to API and Account_API Classes. + * + * @var Api + */ + protected $api; + + /** + * OAuth constructor. + * + * @deprecated 1.13.0 - Functionality moved to API and Account_API Classes. + * + * @param Api $api An instance of the Zoom API handler. + */ + public function __construct( Api $api ) { + $this->api = $api; + } + + /** + * Handles an OAuth authorization return request. + * + * The method will `wp_die` if the nonce is not valid. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * @deprecated 1.13.0 - Use API->handle_auth_request( $nonce ) + * + * @param string|null $nonce The nonce string to authorize the authorization request. + * + * @return boolean Whether the authorization request was handled. + */ + public function handle_auth_request( $nonce = null ) { + _deprecated_function( __METHOD__, '1.13.1', 'Use API->handle_auth_request( $nonce )' ); + + if ( ! wp_verify_nonce( $nonce, self::$authorize_nonce_action ) ) { + wp_die( _x( + 'You are not authorized to do this', + 'The message shown to a user providing a wrong Zoom API OAuth authorization nonce.', + 'tribe-events-calendar-pro' + ) + ); + } + + $handled = false; + + // This is response from our OAuth proxy service. + $service_response_body = tribe_get_request_var( 'response_body', false ); + if ( $service_response_body ) { + $this->api->save_account( [ 'body' => base64_decode( $service_response_body ) ] ); + + $handled = true; + } + + wp_safe_redirect( Settings::admin_url() ); + + return $handled; + } + + /** + * Returns the full OAuth URL to authorize the application. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * @deprecated 1.13.0 - Use API->authorize_url() + * + * @return string The full OAuth URL to authorize the application. + */ + public function authorize_url() { + _deprecated_function( __METHOD__, '1.13.1', 'Use API->authorize_url()' ); + + // Use the `state` query arg as described in Zoom API documentation. + $authorize_url = add_query_arg( + [ + 'state' => wp_create_nonce( self::$authorize_nonce_action ), + ], + admin_url() + ); + + return $authorize_url; + } +} diff --git a/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/Zoom/Password.php b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/Zoom/Password.php new file mode 100644 index 000000000..7f1ff6cb2 --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/Zoom/Password.php @@ -0,0 +1,342 @@ +api = $api; + } + + /** + * Filter the Zoom meeting password on meeting creation. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param null|string|int $unused_password The existing password for the Zoom meeting, if any. + * @param array $requirements An array of password requirements from Zoom. + * + * @return string The password for the Zoom meeting. + */ + public function filter_zoom_password( $unused_password, array $requirements ) { + return $this->generate_zoom_password( + Arr::get( $requirements, 'password_length', 10 ), + Arr::get( $requirements, 'password_have_special_character', false ), + Arr::get( $requirements, 'password_only_allow_numeric', false ) + ); + } + + /** + * Get the Zoom meeting link, with or without the password hash. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param \WP_Post $event The event post object, as decorated by the `tribe_get_event` function. + * @param bool $is_email Optional. Whether to skip the filters and return the full join url with password. + * Default false. + * + * @return string The Zoom meeting join url. + */ + public function get_zoom_meeting_link( \WP_Post $event, $is_email = false ) { + /* + * If the ID is empty, return a blank string to prevent remove_query_arg() using current URL. + * + * This happens because get_post_meta() will always return false when the ID is empty. + */ + if ( empty( $event->ID ) ) { + return ''; + } + + $prefix = Virtual_Event_Meta::$prefix; + $zoom_join_url = get_post_meta( $event->ID, $prefix . 'zoom_join_url', true ); + + // If is_email always return the full link with password. + if ( $is_email ) { + return $zoom_join_url; + } + + /** + * Filters the Zoom meeting link show with the password for all site visitors. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * @todo [plugin-consolidation] Merge VE into ECP, hook to be deprecated and renamed. + * + * @param boolean $include_password Whether a user is logged in. + * @param \WP_Post $event The event post object, as decorated by the `tribe_get_event` function. + */ + $include_password = apply_filters( 'tribe_events_virtual_meetings_zoom_meeting_include_password', is_user_logged_in(), $event ); + + if ( $include_password ) { + return $zoom_join_url; + } + + // Remove the Query Strings. + $zoom_join_url = remove_query_arg( 'pwd', $zoom_join_url ); + + return $zoom_join_url; + } + + /** + * Get the password hash from the Zoom join URL query string. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param string $url The Zoom meeting join url. + * + * @return string|null The password hash. + */ + public function get_hash_pwd_from_join_url( $url ) { + $query_string = wp_parse_url( $url, PHP_URL_QUERY ); + wp_parse_str( $query_string, $query_arr ); + + return Arr::get( (array) $query_arr, 'pwd', null ); + } + + /** + * Get the Zoom meeting password requirements. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param array An array of password requirements to use instead of the defaults. + * + * @return array An array of password requirements. + */ + public function get_password_requirements( array $requirements = [] ) { + // Default Requirements. + $default_requirements = [ + 'password_length' => 10, + 'password_have_special_character' => true, + 'password_only_allow_numeric' => false, + ]; + + // Convert to boolean, due to javascript sending the variable as a string. + $requirements['password_have_special_character'] = isset( $requirements['password_have_special_character'] ) ? tribe_is_truthy( $requirements['password_have_special_character'] ) : false; + $requirements['password_only_allow_numeric'] = isset( $requirements['password_only_allow_numeric'] ) ? tribe_is_truthy( $requirements['password_only_allow_numeric'] ) : false; + + $requirements = wp_parse_args( $requirements, $default_requirements ); + + /** + * Filters the Zoom meeting password requirements. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * @todo [plugin-consolidation] Merge VE into ECP, hook to be deprecated and renamed. + * + * @param array $requirements An array of password requirements. + */ + $requirements = apply_filters( 'tribe_events_virtual_meetings_zoom_password_requirements', $requirements ); + + return $requirements; + } + + /** + * Generates a random password drawn from the defined set of characters. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param int $length Optional. The length of password to generate. Default 6. + * @param bool $special_chars Optional. Whether to include standard special characters. Default false. + * @param bool $only_numeric Optional. Whether to have only numeric values. Default false. + * + * @return string The random password. + */ + public function generate_zoom_password( $length = 6, bool $special_chars = false, bool $only_numeric = false ) { + // Build the chars pool. + $sets = []; + $sets[] = '0123456789'; + if ( ! $only_numeric ) { + $sets[] = 'ABCDEFGHJKLMNPQRSTUVWXYZ'; + $sets[] = 'abcdefghjkmnpqrstuvwxyz'; + } + if ( ! $only_numeric && $special_chars ) { + $sets[] = '!@#-_*'; + } + + $password = ''; + $chars = ''; + + // Use at least one character from each set. + foreach ( $sets as $set ) { + $password .= $set[ $this->get_random_point( str_split( $set ) ) ]; + $current_password_length = strlen( $password ); + $chars .= $set; + } + + // Fill in the remaining password characters. + $chars_pool = str_split( $chars ); + while ( $current_password_length < $length ) { + $password .= $chars_pool[ $this->get_random_point( $chars_pool ) ]; + + // Remove duplicates. + $password = preg_replace( '~([' . preg_quote( $chars, '~' ) . '])\1+~', '$1', $password ); + $current_password_length = strlen( $password ); + } + + // Let's make sure the password length is the expected one. + $password = substr( $password, 0, $length ); + + $password = str_shuffle( $password ); + + return $password; + } + + /** + * Get Random Point in an array using the most secure function available.∂ + * Source - https://gist.github.com/compermisos/cf11aed742d2e1fbd994e083b4b0fa78 + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param array $array An array of characters to include in a password. + * + * @return string + */ + private function get_random_point( $array ) { + if ( function_exists( 'random_int' ) ) { + return random_int( 0, count( $array ) - 1 ); + } elseif ( function_exists( 'mt_rand' ) ) { + return mt_rand( 0, count( $array ) - 1 ); + } + + return array_rand( $array ); + } + + /** + * Update the Zoom Password Related Meta Fields + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param \WP_Post $event The event post object. + * + * @return bool|void Whether the update completed. + */ + public function update_password_from_zoom( $event ) { + + $event = tribe_get_event( $event->ID ); + + if ( ! $event instanceof \WP_Post ) { + return; + } + + if ( empty( $event->virtual ) ) { + return; + } + + if ( empty( $event->zoom_meeting_id ) ) { + return; + } + + $this->api->load_account(); + if ( empty( $this->api->is_ready() ) ) { + return; + } + + $meeting = $this->api->fetch_meeting_data( $event->zoom_meeting_id, $event->zoom_meeting_type ); + + if ( empty( $meeting['password'] ) || empty( $meeting['join_url'] ) ) { + return; + } + + // It would be nice to have the encrypted password available; should that not be the case let's extract it. + $meeting_encrypted_password = isset( $meeting['encrypted_password'] ) + ? $meeting['encrypted_password'] + : $this->get_hash_pwd_from_join_url( $meeting['join_url'] ); + + $prefix = Virtual_Event_Meta::$prefix; + update_post_meta( $event->ID, $prefix . 'zoom_password', esc_html( $meeting['password'] ) ); + update_post_meta( $event->ID, $prefix . 'zoom_password_hash', esc_html( $meeting_encrypted_password ) ); + update_post_meta( $event->ID, $prefix . 'zoom_join_url', esc_url( $meeting['join_url'] ) ); + + return true; + } + + /** + * Check Zoom Meeting in the admin. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param WP_Post $event The event post object. + * + * @return bool|void Whether the update completed. + */ + public function check_admin_zoom_meeting( $event ) { + if ( ! $event instanceof WP_Post ) { + // We should only act on event posts, else bail. + return; + } + + /** @var \Tribe__Cache $cache */ + $cache = tribe( 'cache' ); + $transient_name = $event->ID . '_zoom_pw__admin_last_check'; + + $last_check = (string) $cache->get_transient( $transient_name ); + if ( $last_check ) { + return; + } + + $cache->set_transient( $transient_name, true, MINUTE_IN_SECONDS * 10 ); + + return $this->update_password_from_zoom( $event ); + } + + /** + * Check Zoom Meeting on Front End. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @return bool|void Whether the update completed. + */ + public function check_zoom_meeting() { + if ( ! is_singular( Events_Plugin::POSTTYPE ) ) { + return; + } + + global $post; + + /** @var \Tribe__Cache $cache */ + $cache = tribe( 'cache' ); + $transient_name = $post->ID . '_zoom_pw_last_check'; + + $last_check = (string) get_transient( $transient_name ); + if ( $last_check ) { + return; + } + + $cache->set_transient( $transient_name, true, HOUR_IN_SECONDS ); + + return $this->update_password_from_zoom( $post ); + } +} diff --git a/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/Zoom/Settings.php b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/Zoom/Settings.php new file mode 100644 index 000000000..390df5bdf --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/Zoom/Settings.php @@ -0,0 +1,44 @@ +url = $url; + $this->api = $api; + $this->template_modifications = $template_modifications; + self::$api_id = Zoom_Meta::$key_source_id; + } +} diff --git a/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/Zoom/Template_Modifications.php b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/Zoom/Template_Modifications.php new file mode 100644 index 000000000..b34ee5a5b --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/Zoom/Template_Modifications.php @@ -0,0 +1,97 @@ +add_event_single_api_details, see Abstract_Template_Modifications class. + */ + public function add_event_single_zoom_details() { + _deprecated_function( __METHOD__, '1.13.1', 'Use $this->add_event_single_api_details() instead.' ); + + // Don't show on password protected posts. + if ( post_password_required() ) { + return; + } + + $event = tribe_get_event( get_the_ID() ); + + if ( + empty( $event->virtual ) + || empty( $event->virtual_meeting ) + || empty( $event->virtual_should_show_embed ) + || empty( $event->virtual_meeting_display_details ) + || tribe( Zoom_Provider::class )->get_slug() !== $event->virtual_meeting_provider + ) { + return; + } + + /** + * Filters whether the link button should open in a new window or not. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * @todo [plugin-consolidation] Merge VE into ECP, hook to be deprecated and renamed. + * + * @param boolean $link_button_new_window Boolean of if link button should open in new window. + */ + $link_button_new_window = apply_filters( 'tribe_events_virtual_link_button_new_window', false ); + + $link_button_attrs = []; + if ( ! empty( $link_button_new_window ) ) { + $link_button_attrs['target'] = '_blank'; + } + + /** + * Filters whether the Zoom link should open in a new window or not. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * @todo [plugin-consolidation] Merge VE into ECP, hook to be deprecated and renamed. + * + * @param boolean $zoom_link_new_window Boolean of if Zoom link should open in new window. + */ + $zoom_link_new_window = apply_filters( 'tribe_events_virtual_zoom_link_new_window', false ); + + $zoom_link_attrs = []; + if ( ! empty( $zoom_link_new_window ) ) { + $zoom_link_attrs['target'] = '_blank'; + } + + $context = [ + 'event' => $event, + 'link_button_attrs' => $link_button_attrs, + 'zoom_link_attrs' => $zoom_link_attrs, + ]; + + $this->template->template( 'zoom/single/zoom-details', $context ); + } +} diff --git a/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/Zoom/Url.php b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/Zoom/Url.php new file mode 100644 index 000000000..31aec40d7 --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/Zoom/Url.php @@ -0,0 +1,222 @@ +actions = $actions; + } + + /** + * Returns the URL to authorize the use of the Zoom API. + * -Zoom utilizes its own method as it takes different parameters on whodat. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @return string The request URL. + * + * @link https://marketplace.zoom.us/docs/guides/auth/oauth + */ + public function to_authorize() { + $license = get_option( 'pue_install_key_events_calendar_pro' ); + $authorize_url = static::$authorize_url; + $constant_id = strtoupper( static::$api_id ); + + if ( defined( "TEC_VIRTUAL_EVENTS_{$constant_id}_API_AUTHORIZE_URL" ) ) { + $authorize_url = constant( "TEC_VIRTUAL_EVENTS_{$constant_id}_API_AUTHORIZE_URL" ); + } + + $real_url = add_query_arg( [ + 'key' => $license ? $license : 'no-license', + 'redirect_uri' => esc_url( $this->get_authorize_url() ), + ], $authorize_url ); + + return $real_url; + } + + /** + * Returns the full OAuth URL to authorize the application. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @return string The full OAuth URL to authorize the application. + */ + public function get_authorize_url() { + // Use the `state` query arg as described in Zoom API documentation. + $authorize_url = add_query_arg( + [ + Context_Provider::AUTH_STATE_QUERY_VAR => wp_create_nonce( $this->actions::$authorize_nonce_action ), + ], + admin_url() + ); + + return $authorize_url; + } + + /** + * Returns the URL that should be used to generate a Zoom API webinar link. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param \WP_Post|null $post A post object to generate the webinar for. + * + * @return string The URL to generate the Zoom Webinar. + */ + public function to_generate_webinar_link( \WP_Post $post ) { + $nonce = wp_create_nonce( $this->actions::$webinar_create_action ); + + return add_query_arg( [ + 'action' => 'ev_zoom_webinars_create', + Plugin::$request_slug => $nonce, + 'post_id' => $post->ID, + '_ajax_nonce' => $nonce, + ], admin_url( 'admin-ajax.php' ) ); + } + + /** + * Returns the URL that should be used to remove an event Zoom Webinar URL. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param \WP_Post $post A post object to remove the webinar from. + * + * @return string The URL to remove the Zoom Webinars. + */ + public function to_remove_webinar_link( \WP_Post $post ) { + $nonce = wp_create_nonce( $this->actions::$webinar_remove_action ); + + return add_query_arg( [ + 'action' => 'ev_zoom_webinars_remove', + Plugin::$request_slug => $nonce, + 'post_id' => $post->ID, + '_ajax_nonce' => $nonce, + ], admin_url( 'admin-ajax.php' ) ); + } + + /** + * Returns the URL that should be used to check a Zoom users account type. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @return string The URL to validate the Zoom user type. + */ + public function to_validate_user_type( \WP_Post $post ) { + $nonce = wp_create_nonce( $this->actions::$validate_user_action ); + + return add_query_arg( [ + 'action' => 'ev_zoom_validate_user_type', + Plugin::$request_slug => $nonce, + 'post_id' => $post->ID, + '_ajax_nonce' => $nonce, + ], admin_url( 'admin-ajax.php' ) ); + } + + /** + * Returns the URL to disconnect from the Zoom API. + * + * The current version (2.0) of Zoom API does not provide a de-authorization endpoint, as such the best way to + * disconnect the application is to de-authorize its access token. + * @link https://marketplace.zoom.us/docs/guides/auth/oauth#revoking + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * @deprecated 1.13.0 - No replacement. + * + * @param string $current_url The URL to return to after a successful disconnection. + * + * @return string The URL to disconnect from the Zoom API.s + */ + public function to_disconnect( $current_url = null ) { + _deprecated_function( __METHOD__, '1.13.1', 'No replacement, see Account_API class.' ); + + return add_query_arg( [ + Plugin::$request_slug => wp_create_nonce( OAuth::$deauthorize_nonce_action ), + ], Settings::admin_url() ); + } + + /** + * Returns the URL that should be used to update a Zoom API meeting link. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * @deprecated 1.13.0 - No replacement. + * + * @param \WP_Post|null $post A post object to update the meeting for. + * + * @return string The URL to update the Zoom Meeting. + */ + public function to_update_meeting_link( \WP_Post $post ) { + _deprecated_function( __METHOD__, '1.13.1', 'No replacement.' ); + + $nonce = wp_create_nonce( Meetings::$update_action ); + + return add_query_arg( [ + 'action' => 'ev_zoom_meetings_update', + Plugin::$request_slug => $nonce, + 'post_id' => $post->ID, + '_ajax_nonce' => $nonce, + ], admin_url( 'admin-ajax.php' ) ); + } + + /** + * Returns the URL that should be used to update a Zoom API webinar link. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * @deprecated 1.13.0 - No replacement. + * + * @param \WP_Post|null $post A post object to update the webinar for. + * + * @return string The URL to update the Zoom Webinar. + */ + public function to_update_webinar_link( \WP_Post $post ) { + _deprecated_function( __METHOD__, '1.13.1', 'No replacement.' ); + + $nonce = wp_create_nonce( Webinars::$update_action ); + + return add_query_arg( [ + 'action' => 'ev_zoom_webinars_update', + Plugin::$request_slug => $nonce, + 'post_id' => $post->ID, + '_ajax_nonce' => $nonce, + ], admin_url( 'admin-ajax.php' ) ); + } +} diff --git a/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/Zoom/Users.php b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/Zoom/Users.php new file mode 100644 index 000000000..425507537 --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/Zoom/Users.php @@ -0,0 +1,223 @@ +api = $api; + $this->encryption = ( ! empty( $encryption ) ? $encryption : tribe( Encryption::class ) ); + $this->admin_template = $admin_template; + $this->actions = $actions; + } + + /** + * {@inheritDoc} + */ + protected function get_users_array( $available_hosts ) { + if ( empty( $available_hosts['users'] ) ) { + return []; + } + + return $available_hosts['users']; + } + + /** + * {@inheritDoc} + */ + protected function get_formatted_user_info( $user ) { + $user_info = []; + $user_info['email'] = Arr::get( $user, 'email', '' ); + $user_info['name'] = Arr::get( $user, 'first_name', '' ) . ' ' . Arr::get( $user, 'last_name', '' ) . ' - ' . Arr::get( $user, 'email', '' ); + $user_info['last_name'] = Arr::get( $user, 'last_name', '' ); + $user_info['id'] = Arr::get( $user, 'id', '' ); + $user_info['value'] = Arr::get( $user, 'id', '' ); + $user_info['type'] = Arr::get( $user, 'type', 0 ); + + if ( empty( $user_info['last_name'] ) ) { + $user_info['last_name'] = Arr::get( $user, 'first_name', '' ); + } + + return $user_info; + } + + /** + * Get the alternative users that can be used as hosts. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param array An array of Zoom Users to use as the alternative hosts. + * @param string $selected_alt_hosts The list of alternative host emails. + * @param string $current_host The email of the current host. + * @param null|string $account_id The account id to use to get the users with. + * + * @return array|bool|mixed An array of Zoom Users to use as the alternative hosts. + */ + public function get_alternative_users( $alternative_hosts = [], $selected_alt_hosts = '', $current_host = '', $account_id = null ) { + $all_users = $this->get_formatted_hosts_list( $account_id ); + + $selected_alt_hosts = explode( ';', $selected_alt_hosts ); + + // Filter out the current host email and any user that is not a valid alternative host. + // Using array_values to reindex from zero or the options do not show in the multiselect. + $alternative_hosts = array_values( + array_filter( + $all_users, + static function ( $user ) use ( $current_host ) { + return isset( $user['alternative_host'] ) + && true === $user['alternative_host'] + && $user['text'] !== $current_host; + } + ) + ); + + // Change the dropdown value to the email for alternative hosts because that is what Zoom returns. + $alternative_hosts_email_id = array_map( + static function ( $user ) use ( $selected_alt_hosts ) { + $user['id'] = $user['email']; + $user['selected'] = in_array( $user['email'], $selected_alt_hosts ) ? true : false; + return $user; + }, + $alternative_hosts + ); + + return $alternative_hosts_email_id; + } + + /** + * Handles the request to validate a user type. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param string|null $nonce The nonce that should accompany the request. + * + * @return string The html from the request containing success or error information. + */ + public function validate_user( $nonce = null ) { + if ( ! $this->check_ajax_nonce( $this->actions::$validate_user_action, $nonce ) ) { + return false; + } + + $event = $this->check_ajax_post(); + if ( empty( $event ) ) { + $error_message = _x( 'User validation failed because no event was found.', 'The event is missing error message for Zoom user validation.', 'tribe-events-calendar-pro' ); + $this->admin_template->template( 'components/message', [ + 'message' => $error_message, + 'type' => 'error', + ] ); + + wp_die(); + } + + $zoom_host_id = tribe_get_request_var( 'host_id' ); + // If no host id found, fail the request. + if ( empty( $zoom_host_id ) ) { + $error_message = _x( 'The Zoom Host ID is missing to access the API, please select a host from the dropdown and try again.', 'Host ID is missing error message for Zoom user validation.', 'tribe-events-calendar-pro' ); + $this->admin_template->template( 'components/message', [ + 'message' => $error_message, + 'type' => 'error', + ] ); + + wp_die(); + } + + $zoom_account_id = tribe_get_request_var( 'account_id' ); + // If no account id found, fail the request. + if ( empty( $zoom_account_id ) ) { + $error_message = _x( 'The Zoom Account ID is missing to access the API.', 'Account ID is missing error message for Zoom user validation.', 'tribe-events-calendar-pro' ); + $this->admin_template->template( 'components/message', [ + 'message' => $error_message, + 'type' => 'error', + ] ); + + wp_die(); + } + + $account_loaded = $this->api->load_account_by_id( $zoom_account_id ); + // If there is no token, then stop as the connection will fail. + if ( ! $account_loaded ) { + $error_message = _x( 'The Zoom Account could not be loaded to access the API. Please try refreshing the account in the Events API Settings.', 'Zoom account loading error message for Zoom user validation.', 'tribe-events-calendar-pro' ); + + $this->admin_template->template( 'components/message', [ + 'message' => $error_message, + 'type' => 'error', + ] ); + + wp_die(); + } + + $settings = $this->api->fetch_user( $zoom_host_id, true ); + if ( empty( $settings['feature'] ) ) { + $error_message = _x( 'The Zoom API did not return the user settings. Please try refreshing the account in the Events Integration Settings.', 'Zoom API loading error message for Zoom user validation.', 'tribe-events-calendar-pro' ); + + $this->admin_template->template( 'components/message', [ + 'message' => $error_message, + 'type' => 'error', + ] ); + + wp_die(); + } + + $webinar_support = $this->api->get_webinars_support( $settings ); + $password_requirements = $this->api->get_password_requirements( $settings ); + + /** @var \Tribe\Events\Virtual\Meetings\Zoom\Classic_editor */ + $classic_editor = tribe( Classic_Editor::class ); + $generation_urls = $classic_editor->get_link_creation_urls( $event, $webinar_support ); + + $this->admin_template->template( + 'virtual-metabox/api/type-options', + [ + 'api_id' => $this->api::$api_id, + 'generation_urls' => $generation_urls, + 'password_requirements' => $password_requirements, + 'metabox_id' => Metabox::$id, + ], + true + ); + + wp_die(); + } +} diff --git a/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/Zoom/Webinars.php b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/Zoom/Webinars.php new file mode 100644 index 000000000..76754df16 --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Meetings/Zoom/Webinars.php @@ -0,0 +1,79 @@ +container->singleton( 'events-virtual.meetings.zoom', self::class ); + $this->container->singleton( self::class, self::class ); + + if ( ! $this->is_enabled() ) { + return; + } + + $this->add_actions(); + $this->add_filters(); + + add_filter( + 'tribe_rest_event_data', + $this->container->callback( Zoom_Meta::class, 'attach_rest_properties' ), + 10, + 2 + ); + + $this->hook_templates(); + $this->enqueue_assets(); + + /** + * Allows filtering of the capability required to use the Zoom integration ajax features. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * @todo [plugin-consolidation] Merge VE into ECP, hook to be deprecated and renamed. + * + * @param string $ajax_capability The capability required to use the ajax features, default manage_options. + */ + $ajax_capability = apply_filters( 'tribe_events_virtual_zoom_admin_ajax_capability', 'manage_options' ); + + $this->route_admin_by_nonce( $this->admin_routes(), $ajax_capability ); + } + + /** + * Filters the fields in the Events > Settings > APIs tab to add the ones provided by the extension. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param array $fields The current fields. + * + * @return array The fields, as updated by the settings. + */ + public function filter_addons_tab_fields( $fields ) { + if ( ! is_array( $fields ) ) { + return $fields; + } + + return tribe( Zoom\Settings::class )->add_fields( $fields ); + } + + /** + * Renders the Zoom API link generation UI and controls, depending on the current state. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param string $file The path to the template file, unused. + * @param string $entry_point The name of the template entry point, unused. + * @param \Tribe__Template $template The current template instance. + */ + public function render_classic_meeting_link_ui( $file, $entry_point, \Tribe__Template $template ) { + $this->container->make( Zoom\Classic_Editor::class ) + ->render_initial_setup_options( $template->get( 'post' ) ); + } + + /** + * Filters the object returned by the `tribe_get_event` function to add to it properties related to Zoom meetings. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param \WP_Post $event The events post object to be modified. + * + * @return \WP_Post The original event object decorated with properties related to virtual events. + */ + public function add_event_properties( $event ) { + if ( ! $event instanceof \WP_Post ) { + // We should only act on event posts, else bail. + return $event; + } + + return $this->container->make( Zoom_Meta::class )->add_event_properties( $event ); + } + + /** + * Filters the array returned for the event details map in the Event Automator integration. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param array $next_event An array of event details. + * @param WP_Post $event An instance of the event WP_Post object. + * + * @return array An array of event details. + */ + public function add_event_automator_properties( array $next_event, WP_Post $event ) { + if ( ! $event instanceof WP_Post ) { + return $next_event; + } + + return $this->container->make( Zoom_Meta::class )->add_event_automator_properties( $next_event, $event ); + } + + /** + * Check Zoom Meeting in the admin. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param WP_Post $event The event post object. + * + * @return bool|void Whether the update completed. + */ + public function check_admin_zoom_meeting( $event ) { + return $this->container->make( Password::class )->check_admin_zoom_meeting( $event ); + } + + /** + * Check Zoom Meeting Account in the admin on every event for compatibility with multiple accounts. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param WP_Post $event The event post object. + * + * @return bool|WP_Post Whether the update completed or the WP Post instance if not an event. + */ + public function update_event_for_multiple_accounts_support( $event ) { + if ( ! $event instanceof WP_Post ) { + // We should only act on event posts, else bail. + return $event; + } + + return $this->container->make( Api::class )->update_event_for_multiple_accounts_support( $event ); + } + + /** + * Check Zoom Meeting on Front End. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @return bool|void Whether the update completed. + */ + public function check_zoom_meeting() { + return $this->container->make( Password::class )->check_zoom_meeting(); + } + + /** + * If there is no original account for Zoom, save the first one to use to update individual events. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param array An array of Accounts formatted for options dropdown. + * @param array $account_data The array of data for an account to add to the list. + * @param string $api_id The id of the API in use. + */ + public function update_original_account( $accounts, $account_data, $app_id ) { + $this->container->make( Migration::class )->update_original_account( $accounts, $account_data, $app_id ); + } + + /** + * Hooks the template required for the integration to work. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + */ + protected function hook_templates() { + // Metabox. + add_action( + 'tribe_template_entry_point:events-pro/admin-views/virtual-metabox/container/video-source:video_sources', + [ $this, 'render_classic_meeting_link_ui' ], + 10, + 3 + ); + + // Email Templates. + add_filter( + 'tribe_events_virtual_ticket_email_template', + [ + $this, + 'maybe_change_email_template', + ], + 10, + 2 + ); + + // Event Single. + add_action( + 'tribe_events_single_event_after_the_content', + [ $this, 'action_add_event_single_zoom_details' ], + 15, + 0 + ); + + // Event Single - Blocks. + add_action( 'wp', [ $this, 'hook_block_template' ] ); + + add_action( + 'tribe_events_virtual_block_content', + [ $this, 'action_add_event_single_zoom_details' ], + 20, + 0 + ); + } + + /** + * Enqueues the assets required by the integration. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + */ + protected function enqueue_assets() { + $admin_helpers = Admin_Helpers::instance(); + + tribe_asset( + tribe( Plugin::class ), + 'tribe-events-virtual-api-admin-js', + 'events-virtual-api-admin.js', + [ 'jquery', 'tribe-dropdowns' ], + 'admin_enqueue_scripts', + [ + 'conditionals' => [ + 'operator' => 'OR', + [ $admin_helpers, 'is_screen' ], + ], + 'localize' => [ + 'name' => 'tribe_events_virtual_placeholder_strings', + 'data' => [ + 'video' => Event_Meta::get_video_source_text(), + ], + ], + ] + ); + + tribe_asset( + tribe( Plugin::class ), + 'tribe-events-virtual-zoom-admin-style', + 'events-virtual-zoom-admin.css', + [], + 'admin_enqueue_scripts', + [ + 'conditionals' => [ + 'operator' => 'OR', + [ $admin_helpers, 'is_screen' ], + ], + ] + ); + + tribe_asset( + tribe( Plugin::class ), + 'tribe-events-virtual-api-settings-js', + 'events-virtual-api-settings.js', + [ 'jquery' ], + 'admin_enqueue_scripts', + [ + 'conditionals' => [ + 'operator' => 'OR', + [ $admin_helpers, 'is_screen' ], + ], + ] + ); + } + + /** + * Handles the save operations of the Classic Editor VE Metabox. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param int $post_id The post ID of the event currently being saved. + * @param array $data The data currently being saved. + */ + public function on_metabox_save( $post_id, $data ) { + $post = get_post( $post_id ); + if ( ! $post instanceof \WP_Post && is_array( $data ) ) { + return; + } + + $this->container->make( Zoom_Meta::class )->save_metabox_data( $post_id, $data ); + } + + /** + * Handles updating Zoom meetings on post save. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param int $post_id The post ID. + * @param WP_Post $unused_post The post object. + * @param bool $update Whether this is an existing post being updated or not. + */ + public function on_post_save( $post_id, $unused_post, $update ) { + if ( ! $update ) { + return; + } + + $event = tribe_get_event( $post_id ); + + if ( ! $event instanceof \WP_Post || empty( $event->duration ) ) { + // Hook for the Event meta save to try later in the save request, data might be there then. + if ( ! doing_action( 'tribe_events_update_meta' ) ) { + // But do no re-hook if we're acting on it. + add_action( 'tribe_events_update_meta', [ $this, 'on_post_save' ], 100, 3 ); + } + + return; + } + + // Handle the update with the correct handler, depending on the meeting type. + if ( empty( $event->zoom_meeting_type ) || Webinars::$meeting_type !== $event->zoom_meeting_type ) { + $meeting_handler = $this->container->make( Meetings::class ); + } else { + $meeting_handler = $this->container->make( Webinars::class ); + } + + $meeting_handler->update( $event ); + } + + /** + * Conditionally inject content into ticket email templates. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param string $template The template path, relative to src/views. + * @param array $args The template arguments. + * + * @return string + */ + public function maybe_change_email_template( $template, $args ) { + return $this->container->make( Email::class )->maybe_change_email_template( $template, $args ); + } + + /** + * Include the zoom details for event single. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + */ + public function action_add_event_single_zoom_details() { + // Don't show if requires log in and user isn't logged in. + $base_modifications = $this->container->make( 'Tribe\Events\Virtual\Template_Modifications' ); + $should_show = $base_modifications->should_show_virtual_content( tribe_get_Event( get_the_ID() ) ); + + if ( ! $should_show ) { + return; + } + + $template_modifications = $this->container->make( Template_Modifications::class ); + $template_modifications->add_event_single_api_details(); + } + + /** + * Filters the password for the Zoom Meeting. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param null|string|int $password The password for the Zoom meeting. + * @param array $requirements An array of password requirements from Zoom. + */ + public function filter_zoom_password( $password, $requirements ) { + return $this->container->make( Password::class )->filter_zoom_password( $password, $requirements ); + } + + /** + * Filters whether embed video control is hidden. + * + * @param boolean $is_hidden Whether the embed video control is hidden. + * @param WP_Post $event The event object. + * + * @return boolean Whether the embed video control is hidden. + */ + public function filter_display_embed_video_hidden( $is_hidden, $event ) { + if ( + ! $event->virtual_meeting + || tribe( self::class )->get_slug() !== $event->virtual_meeting_provider + ) { + return $is_hidden; + } + + return true; + } + + /** + * Get the list of Zoom ajax nonce actions. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @return array A map from the nonce actions to the corresponding handlers. + */ + public function filter_virtual_meetings_zoom_ajax_actions() { + return $this->admin_routes(); + } + + /** + * Provides the routes that should be used to handle Zoom API requests. + * + * The map returned by this method will be used by the `Tribe\Events\Virtual\Traits\With_Nonce_Routes` trait. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @return array A map from the nonce actions to the corresponding handlers. + */ + public function admin_routes() { + $actions = tribe( Actions::class ); + + return [ + $actions::$create_action => $this->container->callback( Meetings::class, 'ajax_create' ), + $actions::$remove_action => $this->container->callback( Meetings::class, 'ajax_remove' ), + $actions::$webinar_create_action => $this->container->callback( Webinars::class, 'ajax_create' ), + $actions::$webinar_remove_action => $this->container->callback( Webinars::class, 'ajax_remove' ), + $actions::$validate_user_action => $this->container->callback( Users::class, 'validate_user' ), + $actions::$authorize_nonce_action => $this->container->callback( API::class, 'handle_auth_request' ), + $actions::$select_action => $this->container->callback( Classic_Editor::class, 'ajax_selection' ), + $actions::$status_action => $this->container->callback( API::class, 'ajax_status' ), + $actions::$delete_action => $this->container->callback( API::class, 'ajax_delete' ), + ]; + } + + /** + * Add the Zoom Video Source. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param array An array of video sources. + * @param \WP_Post $post The current event post object, as decorated by the `tribe_get_event` function. + * + * @return array An array of video sources. + */ + public function add_video_source( $video_sources, $post ) { + + $video_sources[] = [ + 'text' => _x( 'Zoom', 'The name of the video source.', 'tribe-events-calendar-pro' ), + 'id' => Zoom_Meta::$key_source_id, + 'value' => Zoom_Meta::$key_source_id, + 'selected' => Zoom_Meta::$key_source_id === $post->virtual_video_source, + ]; + + return $video_sources; + } + + /** + * Filter the Google Calendar export fields for a Zoom source event. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param array $fields The various file format components for this specific event. + * @param \WP_Post $event The WP_Post of this event. + * @param string $key_name The name of the array key to modify. + * @param string $type The name of the export type. + * @param boolean $should_show Whether to modify the export fields for the current user, default to false. + * + * @return array Google Calendar Link params. + */ + public function filter_zoom_source_google_calendar_parameters( $fields, $event, $key_name, $type, $should_show ) { + + return $this->container->make( Zoom_Event_Export::class )->modify_video_source_export_output( $fields, $event, $key_name, $type, $should_show ); + } + + /** + * Filter the iCal export fields for a Zoom source event. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param array $fields The various file format components for this specific event. + * @param \WP_Post $event The WP_Post of this event. + * @param string $key_name The name of the array key to modify. + * @param string $type The name of the export type. + * @param boolean $should_show Whether to modify the export fields for the current user, default to false. + * + * @return array The various iCal file format components of this specific event item. + */ + public function filter_zoom_source_ical_feed_items( $fields, $event, $key_name, $type, $should_show ) { + return $this->container->make( Zoom_Event_Export::class )->modify_video_source_export_output( $fields, $event, $key_name, $type, $should_show ); + } + + /** + * Filter the Outlook single event export url for a Zoom source event. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param string $url The url used to subscribe to a calendar in Outlook. + * @param string $base_url The base url used to subscribe in Outlook. + * @param array $params An array of parameters added to the base url. + * @param Outlook_Methods $outlook_methods An instance of the link abstract. + * @param \WP_Post $event The WP_Post of this event. + * @param boolean $should_show Whether to modify the export fields for the current user, default to false. + * + * @return string The export url used to generate an Outlook event for the single event. + */ + public function filter_outlook_single_event_export_url_by_api( $url, $base_url, $params, $outlook_methods, $event, $should_show ) { + return $this->container->make( Zoom_Event_Export::class )->filter_outlook_single_event_export_url_by_api( $url, $base_url, $params, $outlook_methods, $event, $should_show ); + } + + /** + * Add Zoom to Autodetect Source. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param array An array of autodetect sources. + * @param string $autodetect_source The ID of the current selected video source. + * @param \WP_Post $post The current event post object, as decorated by the `tribe_get_event` function. + * + * @return array An array of video sources. + */ + public function add_autodetect_source( $autodetect_sources, $autodetect_source, $post ) { + + $autodetect_sources[] = [ + 'text' => _x( 'Zoom', 'The name of the autodetect source.', 'tribe-events-calendar-pro' ), + 'id' => Zoom_Meta::$key_source_id, + 'value' => Zoom_Meta::$key_source_id, + 'selected' => Zoom_Meta::$key_source_id === $autodetect_source, + ]; + + return $autodetect_sources; + } + + /** + * Add the Zoom accounts dropdown field to the autodetect fields. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param array $autodetect An array of the autodetect resukts. + * @param string $video_url The url to use to autodetect the video source. + * @param string $autodetect_source The optional name of the video source to attempt to autodetect. + * @param \WP_Post|null $event The event post object, as decorated by the `tribe_get_event` function. + * @param array $ajax_data An array of extra values that were sent by the ajax script. + * + * @return array An array of the autodetect results. + */ + public function filter_virtual_autodetect_field_accounts( $autodetect_fields, $video_url, $autodetect_source, $event, $ajax_data ) { + return $this->container->make( Classic_Editor::class ) + ->classic_autodetect_video_source_accounts( $autodetect_fields, $video_url, $autodetect_source, $event, $ajax_data ); + } + + /** + * Filters the API error message. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param string $api_message The API error message. + * @param array $body The json_decoded request body. + * @param Api_Response $response The response that will be returned. A non `null` value + * here will short-circuit the response. + * + * @return string $api_message The API error message. + */ + public function filter_api_error_message( $api_message, $body, $response ) { + return $this->container->make( Api::class )->filter_api_error_message( $api_message, $body, $response ); + } + + /** + * Hooks the filters required for the Zoom API integration to work correctly. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + */ + protected function add_filters() { + add_filter( 'tec_settings_gmaps_js_api_start', [ $this, 'filter_addons_tab_fields' ] ); + + foreach ( [ Meetings::$meeting_type, Webinars::$meeting_type ] as $meeting_type ) { + add_filter( + "tribe_events_virtual_meetings_zoom_{$meeting_type}_password", + [ $this, 'filter_zoom_password' ], + 10, + 2 + ); + } + + add_filter( + 'tribe_events_virtual_display_embed_video_hidden', + [ $this, 'filter_display_embed_video_hidden' ], + 10, + 2 + ); + add_filter( + 'tribe_events_virtual_meetings_zoom_ajax_actions', + [ $this, 'filter_virtual_meetings_zoom_ajax_actions' ] + ); + add_filter( 'tribe_events_virtual_video_sources', [ $this, 'add_video_source' ], 20, 2 ); + add_filter( 'tec_events_virtual_export_fields', [ $this, 'filter_zoom_source_google_calendar_parameters' ], 10, 5 ); + add_filter( 'tec_events_virtual_export_fields', [ $this, 'filter_zoom_source_ical_feed_items' ], 10, 5 ); + add_filter( 'tec_events_virtual_outlook_single_event_export_url', [ $this, 'filter_outlook_single_event_export_url_by_api' ], 10, 6 ); + add_filter( 'tec_events_virtual_autodetect_video_sources', [ $this, 'add_autodetect_source' ], 20, 3 ); + add_filter( 'tec_events_virtual_video_source_autodetect_field_all', [ $this, 'filter_virtual_autodetect_field_accounts' ], 20, 5 ); + add_filter( 'tec_events_virtual_video_source_autodetect_field_zoom-accounts', [ $this, 'filter_virtual_autodetect_field_accounts' ], 20, 5 ); + add_filter( 'tec_events_virtual_meetings_api_error_message', [ $this, 'filter_api_error_message' ], 20, 3 ); + } + + /** + * Hooks the actions required for the Zoom API integration to work correctly. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + */ + protected function add_actions() { + // Filter event object properties to add the ones related to Zoom meetings for virtual events. + add_action( 'tribe_events_virtual_add_event_properties', [ $this, 'add_event_properties' ] ); + add_action( 'add_meta_boxes_' . Events_Plugin::POSTTYPE, [ $this, 'check_admin_zoom_meeting' ] ); + add_action( 'add_meta_boxes_' . Events_Plugin::POSTTYPE, [ $this, 'update_event_for_multiple_accounts_support' ], 0 ); + add_action( 'wp', [ $this, 'check_zoom_meeting' ], 50 ); + add_action( 'tribe_events_virtual_metabox_save', [ $this, 'on_metabox_save' ], 10, 2 ); + add_action( 'save_post_tribe_events', [ $this, 'on_post_save' ], 100, 3 ); + add_action( 'tec_events_virtual_before_update_api_accounts', [ $this, 'update_original_account' ], 10, 3 ); + add_action( 'tec_virtual_automator_map_event_details', [ $this, 'add_event_automator_properties' ], 10, 2 ); + } + + /** + * Hook block templates - legacy or new VE block. + * Has to be postponed to `wp` action or later so global $post is available. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + */ + public function hook_block_template() { + /* The action/location which the template is injected depends on whether or not V2 is enabled + * and whether the virtual event block is present in the post content. + */ + $embed_inject_action = tribe( 'events-virtual.hooks' )->get_virtual_embed_action(); + + add_action( + $embed_inject_action, + [ $this, 'action_add_event_single_zoom_details' ], + 20, + 0 + ); + } + + /** + * Render the Migration Notice to the New Zoom App. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * @deprecated 1.15.3 - No replacement. + */ + public function render_migration_notice() { + _deprecated_function( __METHOD__, '1.15.3', 'No replacement.' ); + $this->container->make( Migration_Notice::class )->render(); + } +} diff --git a/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Metabox.php b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Metabox.php new file mode 100644 index 000000000..fe69f9ec9 --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Metabox.php @@ -0,0 +1,365 @@ +context = null !== $context ? $context : tribe_context(); + $this->template = $template; + } + + /** + * Fetches the Metabox title. + * Note: we specifically do NOT use the template-tag functions in the admin views! + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @return string + */ + public function get_title() { + return esc_html_x( 'Virtual Event', 'Meta box title for the Virtual Event controls', 'tribe-events-calendar-pro' ); + } + + /** + * Render the Virtual Events Metabox. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param WP_Post $post_id Which post we are using here. + * @param array $arguments Arguments from the metabox, which we use to determine compatibility usage. + * + * @return string The metabox HTML. + */ + public function render_template( $post_id, array $arguments = [] ) { + $event = tribe_get_event( $post_id ); + + if ( ! $event instanceof WP_Post ) { + return ''; + } + + $args = array_merge( + $arguments, + [ + 'metabox' => $this, + 'post' => $event, + ] + ); + + return $this->template->template( 'virtual-metabox/container', $args, false ); + } + + /** + * Prints the rendered the Virtual Events Metabox. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param WP_Post $post_id Which post we are using here. + * @param array $arguments Arguments from the metabox, which we use to determine compatibility usage. + */ + public function print_template( $post_id, array $arguments = [] ) { + /** + * We look inside of the arguments param for a `args` key since that is how WordPress metabox will pass + * the values used to register the metabox initially. If that doesn't exist we pass the whole arguments variable. + */ + $args = Arr::get( $arguments, 'args', $arguments ); + + echo $this->render_template( $post_id, $args ); /* phpcs:ignore */ + } + + /** + * Renders, echoing to the page, the API meeting display controls. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param null|\WP_Post|int $post The post object or ID of the event to generate the controls for, or `null` to use + * the global post object. + * @param bool $echo Whether to echo the template contents to the page (default) or to return it. + * + * @return string The template contents, if not rendered to the page. + */ + public function render_classic_display_controls( $post = null, $echo = true ) { + return $this->template->template( + 'virtual-metabox/api/display', + [ + 'event' => $post, + 'metabox_id' => Metabox::$id, + ], + $echo + ); + } + + /** + * Registers the plugin meta box for Blocks Editor support. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + */ + public function register_blocks_editor_legacy() { + add_meta_box( + static::$id, + $this->get_title(), + [ $this, 'print_template' ], + Events_Plugin::POSTTYPE, + 'normal', + 'default', + [ + 'block_editor_compatibility' => tribe( 'editor' )->should_load_blocks(), + ] + ); + } + + /** + * Register all the fields in the Rest API for this metabox. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + */ + public function register_fields() { + foreach ( Event_Meta::$virtual_event_keys as $key ) { + // Register the appropriate data type from our schema definitions, defaulting to 'string'. + $type = Event_Meta::$meta_field_types[ $key ] ?? 'string'; + switch ( $type ) { + case 'array': + register_post_meta( + 'tribe_events', + $key, + [ + 'show_in_rest' => [ + 'schema' => [ + 'items' => [ + 'type' => 'string', + // The schema type of each item in the array + 'sanitize_callback' => 'sanitize_text_field', + // Sanitization callback for each item + ] + ], + ], + 'single' => true, + 'type' => 'array', + 'auth_callback' => static function () { + return current_user_can( 'edit_posts' ); + }, + ] + ); + break; + case 'string': + register_post_meta( + 'tribe_events', + $key, + [ + 'show_in_rest' => true, + 'single' => true, + 'type' => 'string', + 'prepare_callback' => static function ( $val ) { + return is_string( $val ) ? $val : serialize( $val ); + }, + 'auth_callback' => static function () { + return current_user_can( 'edit_posts' ); + }, + ] + ); + break; + } + + } + } + + /** + * Saves the metabox, which will be triggered in `save_post`. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param int $post_id Which post ID we are dealing with when saving. + * @param WP_Post $post WP Post instance we are saving. + * @param boolean $update If we are updating the post or not. + */ + public function save( $post_id, $post, $update ) { + // Skip non-events. + if ( ! tribe_is_event( $post_id ) ) { + return; + } + + // All fields will be stored in the same array for simplicity. + $data = $this->context->get( 'events_virtual_data', [] ); + + // Add nonce for security and authentication. + $nonce_name = Arr::get( $data, 'virtual-nonce', false ); + + // Check if nonce is valid. + if ( ! wp_verify_nonce( $nonce_name, static::$nonce_action ) ) { + return; + } + + // Check if user has permissions to save data. + if ( ! current_user_can( 'edit_tribe_events', $post_id ) ) { + return; + } + + if ( tribe_context()->is( 'bulk_edit' ) ) { + return; + } + + if ( tribe_context()->is( 'inline_save' ) ) { + return; + } + + // Check if not an autosave. + if ( wp_is_post_autosave( $post_id ) ) { + return; + } + + // Check if not a revision. + if ( wp_is_post_revision( $post_id ) ) { + return; + } + + $virtual = tribe_is_truthy( Arr::get( $data, 'virtual', false ) ); + if ( $virtual ) { + $this->update_fields( $post_id, $data ); + } else { + $this->delete_fields( $post_id, $data ); + } + + /** + * Fires after the Metabox saved the data from the current request. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * @todo [plugin-consolidation] Merge VE into ECP, hook to be deprecated and renamed. + * + * @param int $post_id The post ID of the event currently being saved. + * @param array The whole data received by the metabox. + */ + do_action( 'tribe_events_virtual_metabox_save', $post_id, $data ); + } + + /** + * Update Virtual Event Meta Fields + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param int $post_id Which post ID we are dealing with when saving. + * @param array $data An array of meta field values. + */ + public function update_fields( $post_id, $data ) { + update_post_meta( $post_id, Event_Meta::$key_type, Arr::get( $data, 'event-type', false ) ); + update_post_meta( $post_id, Event_Meta::$key_virtual, Arr::get( $data, 'virtual', false ) ); + update_post_meta( $post_id, Event_Meta::$key_video_source, Arr::get( $data, 'video-source', false ) ); + update_post_meta( $post_id, Event_Meta::$key_virtual_url, Arr::get( $data, 'virtual-url', false ) ); + update_post_meta( $post_id, Event_Meta::$key_linked_button_text, Arr::get( $data, 'virtual-button-text', false ) ); + update_post_meta( $post_id, Event_Meta::$key_linked_button, Arr::get( $data, 'linked-button', false ) ); + update_post_meta( $post_id, Event_Meta::$key_show_embed_at, Arr::get( $data, 'show-embed-at', false ) ); + update_post_meta( $post_id, Event_Meta::$key_show_embed_to, Arr::get( $data, 'show-embed-to', false ) ); + update_post_meta( $post_id, Event_Meta::$key_show_on_event, Arr::get( $data, 'show-on-event', false ) ); + update_post_meta( $post_id, Event_Meta::$key_show_on_views, Arr::get( $data, 'show-on-views', false ) ); + + /** + * Allows extensions and Compatibilities to save their associated meta. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * @todo [plugin-consolidation] Merge VE into ECP, hook to be deprecated and renamed. + * + * @param int $post_id ID of the post we're saving. + * @param array $data The meta data we're trying to save. + */ + do_action( 'tribe_events_virtual_update_post_meta', $post_id, $data ); + + // These need some logic around them. + $embed_video = Arr::get( $data, 'embed-video', false ); + $virtual_url = Arr::get( $data, 'virtual-url', false ); + $video_source = Arr::get( $data, 'video-source', '' ); + $autodetect_source = get_post_meta( $post_id, Event_Meta::$key_autodetect_source, true ); + if ( ! $autodetect_source ) { + $autodetect_source = Arr::get( $data, 'autodetect-source', '' ); + } + + // If the link is not embeddable, uncheck key_embed_video. + if ( + Event_Meta::$key_video_source_id !== $video_source || + Event_Meta::$key_oembed_source_id !== $autodetect_source || + tribe( OEmbed::class )->is_embeddable( $virtual_url ) + ) { + update_post_meta( $post_id, Event_Meta::$key_embed_video, $embed_video ); + } else { + delete_post_meta( $post_id, Event_Meta::$key_embed_video ); + } + + } + + /** + * Delete Virtual Events Meta Fields + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param int $post_id Which post ID we are dealing with when saving. + * @param array $data An array of meta field values. + */ + public function delete_fields( $post_id, $data ) { + foreach ( Event_Meta::$virtual_event_keys as $key ) { + delete_post_meta( + $post_id, + $key + ); + } + } +} diff --git a/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Models/Event.php b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Models/Event.php new file mode 100644 index 000000000..04b0fa190 --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Models/Event.php @@ -0,0 +1,599 @@ +virtual_event_type = $this->get_virtual_event_type( $event ); + $event->virtual = self::is_virtual( $event ); + $event->virtual_video_source = $this->get_video_source( $event ); + $event->virtual_autodetect_source = $this->get_autodetect_source( $event ); + $event->virtual_url = $this->get_virtual_url( $event ); + $event->virtual_embed_video = $this->get_virtual_embed_video( $event ); + $event->virtual_linked_button = $this->get_virtual_linked_button( $event ); + $event->virtual_linked_button_text = $this->get_virtual_linked_button_text( $event ); + $event->virtual_show_embed_at = $this->get_virtual_show_embed_at( $event ); + $event->virtual_show_embed_to = $this->get_virtual_show_embed_to( $event ); + $event->virtual_show_on_event = $this->get_virtual_show_on_event( $event ); + $event->virtual_show_on_views = $this->get_virtual_show_on_views( $event ); + $event->virtual_show_lead_up = $this->get_virtual_show_lead_up( $event ); + + /** + * Fires after the event object has been decorated with properties related to Virtual Events. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * @todo [plugin-consolidation] Merge VE into ECP, hook to be deprecated and renamed. + * + * @param \WP_Post $event The event post object as decorated by the `tribe_get_event` function, with Virtual + * Events related properties added. + */ + do_action( 'tribe_events_virtual_add_event_properties', $event ); + + return $event; + } + + /** + * Retrieves whether the event is marked as virtual or not. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param WP_Post $event Event post object. + * + * @return boolean Whether the event is virtual or not. + */ + protected static function is_virtual( WP_Post $event ) { + $is_virtual = get_post_meta( $event->ID, Event_Meta::$key_virtual, true ); + + /** + * Filters whether an event is considered virtual or not. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * @todo [plugin-consolidation] Merge VE into ECP, hook to be deprecated and renamed. + * + * @param boolean $is_virtual Whether the event is considered virtual or not. + * @param \WP_Post $event The event post object. + */ + return tribe_is_truthy( apply_filters( 'tribe_events_virtual_is_virtual_event', $is_virtual, $event ) ); + } + + /** + * Retrieves an event's type. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param WP_Post $event Event post object. + * + * @return null|string The event's type. + */ + protected function get_virtual_event_type( WP_Post $event ) { + if ( ! self::is_new_virtual( $event ) ) { + return Event_Meta::$value_virtual_event_type; + } + + $value = get_post_meta( $event->ID, Event_Meta::$key_type, true ); + + if ( ! empty( $value ) ) { + return $value; + } + + return Event_Meta::$value_virtual_event_type; + } + + /** + * Retrieves an event's virtual video source. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param WP_Post $event Event post object. + * + * @return string The event's video source or empty string if not a virtual event. + */ + protected static function get_video_source( WP_Post $event ) { + if ( ! self::is_virtual( $event ) ) { + return ''; + } + + return get_post_meta( $event->ID, Event_Meta::$key_video_source, true ); + } + + /** + * Retrieves an event's virtual autodetect source. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param WP_Post $event Event post object. + * + * @return string The event's autodetect source or empty string if none. + */ + protected static function get_autodetect_source( WP_Post $event ) { + if ( ! self::is_virtual( $event ) ) { + return ''; + } + + return get_post_meta( $event->ID, Event_Meta::$key_autodetect_source, true ); + } + + /** + * Retrieves an event's virtual URL. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param WP_Post $event Event post object. + * + * @return null|string The event's virtual URL. + */ + protected function get_virtual_url( WP_Post $event ) { + if ( ! self::is_virtual( $event ) ) { + return null; + } + + return get_post_meta( $event->ID, Event_Meta::$key_virtual_url, true ); + } + + /** + * Get whether to show an event's video embed. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param WP_Post $event Event post object. + * + * @return boolean Whether the video should be embed. + */ + protected function get_virtual_embed_video( WP_Post $event ) { + if ( ! self::is_virtual( $event ) ) { + return true; + } + + return tribe_is_truthy( get_post_meta( $event->ID, Event_Meta::$key_embed_video, true ) ); + } + + /** + * Get whether to show an event's linked button. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param WP_Post $event Event post object. + * + * @return boolean Whether to show linked button. + */ + protected function get_virtual_linked_button( WP_Post $event ) { + if ( ! self::is_new_virtual( $event ) ) { + return true; + } + + // If the metadata hasn't been set yet we want to default to true. + $button = tribe_context()->is_new_post() ? true : get_post_meta( $event->ID, Event_Meta::$key_linked_button, true ); + + return tribe_is_truthy( $button ); + } + + /** + * Get the text of the linked button. + * Defaults to "Watch". + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param WP_Post $event Event post object. + * + * @return string The text to display in the linked button. + */ + protected function get_virtual_linked_button_text( WP_Post $event ) { + $default_text = Event_Meta::linked_button_default_text(); + + if ( ! self::is_virtual( $event ) ) { + return $default_text; + } + + $text = get_post_meta( $event->ID, Event_Meta::$key_linked_button_text, true ); + + // Button won't display if there's no text. Set a default value. + if ( empty( $text ) ) { + return $default_text; + } + + /** + * Filter the linked button label. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param string $text The default linked button text, 'Watch'. + * @param WP_Post $event Event post object. + */ + return apply_filters( + 'tribe_events_virtual_linked_button_label', + $text, + $event + ); + } + + /** + * Get when to show a the video embed. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param WP_Post $event Event post object. + * + * @return string The time to start displaying the video embed. + */ + protected function get_virtual_show_embed_at( WP_Post $event ) { + if ( ! self::is_new_virtual( $event ) ) { + return $this->get_default_show_at(); + } + + $value = get_post_meta( $event->ID, Event_Meta::$key_show_embed_at, true ); + + if ( ! empty( $value ) ) { + return $value; + } + + return $this->get_default_show_at(); + } + + /** + * Get default show when. + * Allows filtering via `get_default_virtual_show_embed_when`. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @return string The time to start displaying the video embed. + */ + protected function get_default_show_at() { + /** + * Allows filtering the default show when value for virtual events. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * @todo [plugin-consolidation] Merge VE into ECP, hook to be deprecated and renamed. + * + * @param string Event_Meta::$value_show_embed_now (immediately) When to show the content. + */ + return apply_filters( 'tribe_events_virtual_default_virtual_show_embed_at', Event_Meta::$value_show_embed_now ); + } + + /** + * Get who to show a the video embed to. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param WP_Post $event Event post object. + * + * @return array The array of user types (logged in or all) to display the video embed to. + */ + protected function get_virtual_show_embed_to( WP_Post $event ) { + if ( ! self::is_new_virtual( $event ) ) { + return $this->get_default_show_to(); + } + + $value = get_post_meta( $event->ID, Event_Meta::$key_show_embed_to, true ); + + if ( ! empty( $value ) ) { + return (array) $value; + } + + // If a meta field with the given key exists, return an empty array. + $meta_exists = metadata_exists('post', $event->ID, Event_Meta::$key_show_embed_to); + if ( $meta_exists ) { + return []; + } + + // If the metadata hasn't been set yet we grab the default. + return $this->get_default_show_to(); + } + + /** + * Get default show to. + * Allows filtering via `get_default_virtual_show_embed_to`. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @return array The array of user types (logged in or all) to display the video embed to. + */ + protected function get_default_show_to() { + /** + * Allows filtering the default show to value for virtual events. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * @todo [plugin-consolidation] Merge VE into ECP, hook to be deprecated and renamed. + * + * @param true Based on whether this is a new post. + */ + return (array) apply_filters( 'tribe_events_virtual_default_virtual_show_embed_to', Event_Meta::$value_show_embed_to_all ); + } + + /** + * Get whether to virtual indicator on single view. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param WP_Post $event Event post object. + * + * @return boolean Whether to show indicators on Single View. + */ + protected function get_virtual_show_on_event( WP_Post $event ) { + if ( ! self::is_virtual( $event ) ) { + return true; + } + + return tribe_is_truthy( get_post_meta( $event->ID, Event_Meta::$key_show_on_event, true ) ); + } + + /** + * Get whether to show the virtual indicator on v2 views. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param WP_Post $event Event post object. + * + * @return boolean Whether to show indicators on V2 Views. + */ + protected function get_virtual_show_on_views( WP_Post $event ) { + if ( ! self::is_virtual( $event ) ) { + return true; + } + + return tribe_is_truthy( get_post_meta( $event->ID, Event_Meta::$key_show_on_views, true ) ); + } + + /** + * Add the virtual event meta to rest meta. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param WP_Post $event Event post object. + * + * @return array virtual meta. + */ + public function get_rest_properties( $event ) { + $event = tribe_get_event( $event ); + + if ( ! $event ) { + return []; + } + + $meta_virtual = [ + 'is_virtual' => $event->virtual, + 'virtual_url' => $event->virtual_url, + 'virtual_video_source' => $event->virtual_video_source, + ]; + + return $meta_virtual; + } + + /** + * Retrieves if the event is set to show the embed immediately. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param WP_Post $event Event post object. + * + * @return boolean + */ + protected function get_virtual_is_immediate( $event ) { + if ( ! self::is_new_virtual( $event ) ) { + return false; + } + + // If the metadata hasn't been set yet we want to default to true. + $immediate = tribe_context()->is_new_post() || Event_Meta::$value_show_embed_now === $event->virtual_show_embed_at; + + return tribe_is_truthy( $immediate ); + } + + /** + * Retrieves the filtered lead-up for the event embed/link button in minutes. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param WP_Post $event Event post object. + * + * @return int The filtered lead-up. Returns 0 for events flagged to show "immediately". + */ + protected function get_virtual_show_lead_up( WP_Post $event ) { + $lead_up = 15; + + /** + * Filters the time to show embeds and links before the event start time. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * @todo [plugin-consolidation] Merge VE into ECP, hook to be deprecated and renamed. + * + * @param int $lead_up The time in seconds to show embeds and links before the event start time. + * @param \WP_Post $event The event post object. + */ + return apply_filters( 'tribe_events_virtual_show_lead_up', $lead_up, $event ); + } + + /** + * Retrieves whether the event has a URL to show (link/embed). + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param WP_Post $event Event post object. + * + * @return boolean Whether the event has a URL to show. + */ + protected function get_is_linkable( $event ) { + $linkable = $event->virtual && ! empty( $event->virtual_url ); + + /** + * Filters whether an event is considered linkable (is virtual and has a virtual URL) or not. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * @todo [plugin-consolidation] Merge VE into ECP, hook to be deprecated and renamed. + * + * @param boolean $linkable Whether the event is considered linkable or not. + * @param \WP_Post $event The event post object. + */ + return tribe_is_truthy( apply_filters( 'tribe_events_virtual_is_linkable', $linkable, $event ) ); + } + + /** + * Does the logic on whether a button, link, and/or embed should show. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param WP_Post $event Event post object. + * + * @return boolean Whether the event should show a URL not. + */ + protected function get_should_show( $event ) { + // If not a virtual event, bail. + if ( ! $event->virtual ) { + return false; + } + + $should_show = tribe_is_truthy( $event->virtual_is_immediate ); + + if ( ! $should_show ) { + $should_show = $this->handle_should_show( $event ); + } + + return $should_show; + } + + /** + * Calculate if the embed should show. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param WP_Post $event Event post object. + * + * @return boolean Whether the event embed shows. + */ + public function handle_should_show( $event ) { + + // Set start time. + $start_time = $event->dates->start; + + // Set interval in seconds and add to now. + $interval = $this->get_virtual_show_lead_up( $event ) * MINUTE_IN_SECONDS; + $interval_spec = "PT{$interval}S"; + $lead_interval = Dates::interval( $interval_spec ); + $timezone = Timezones::build_timezone_object( $event->timezone ); + $lead_time = Dates::build_date_object( 'now', $timezone )->add( $lead_interval ); + + if ( $lead_time >= $start_time ) { + return true; + } + + return false; + } + + /** + * Retrieves whether the event should show a link now. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param WP_Post $event Event post object. + * + * @return boolean Whether the event should show a link now or not. + */ + protected function get_should_show_link( $event ) { + /** + * Filters whether an event is ready to show the link or not. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param boolean $should_show Whether the event is ready to show the link or not. + * @param \WP_Post $event The event post object. + */ + return tribe_is_truthy( + apply_filters( + 'tribe_events_virtual_should_show_link', + $this->get_should_show( $event ), + $event + ) + ); + } + + /** + * Retrieves whether the event should show an embed now. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param WP_Post $event Event post object. + * + * @return boolean Whether the event should show an embed now or not. + */ + protected function get_should_show_embed( $event ) { + /** + * Filters whether an event is ready to show the embed or not. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param boolean $should_show Whether the event is ready to show the embed or not. + * @param \WP_Post $event The event post object. + */ + return tribe_is_truthy( + apply_filters( + 'tribe_events_virtual_should_show_embed', + $this->get_should_show( $event ), + $event + ) + ); + } + + /** + * Testing if the event is virtual - taking into account new posts aren't automatically virtual events. + * Useful for when we need to set default values. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param WP_Post $event Event post object. + * @return bool Whether an event is a new virtual event or not. + */ + public static function is_new_virtual( $event ) { + return self::is_virtual( $event ) || tribe_context()->is_new_post(); + } + + /** + * Adds dynamic, time-related, properties to the event object. + * + * This method deals with properties we set, for convenience, on the event object that should not + * be cached as they are time-dependent; i.e. the time the properties are computed at matters and + * caching their values would be incorrect. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param WP_Post $event The event post object, as read from the cache, if any. + * + * @return WP_Post The decorated event post object; its dynamic and time-dependent properties correctly set up. + */ + public function add_dynamic_properties( WP_Post $event ) { + // Note: order matters below, as these function depend on the ones added in the `add_properties` method! + $event->virtual_is_immediate = $this->get_virtual_is_immediate( $event ); + $event->virtual_is_linkable = $this->get_is_linkable( $event ); + $event->virtual_should_show_embed = $this->get_should_show_embed( $event ); + $event->virtual_should_show_link = $this->get_should_show_link( $event ); + + return $event; + } +} diff --git a/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/OEmbed.php b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/OEmbed.php new file mode 100644 index 000000000..0270bb12a --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/OEmbed.php @@ -0,0 +1,381 @@ +template = $template; + $this->url = $url; + } + + /** + * Adds a wrapper to the oEmbed HTML. + * + * @param string $html The returned oEmbed HTML. + * @param object $data A data object result from an oEmbed provider. + * @param string $url The URL of the content to be embedded. + * + * @return string The modified oEmbed HTML. + */ + public function make_oembed_responsive( $html, $data, $url ) { + // Verify oembed data (as done in the oEmbed data2html code). + if ( ! is_object( $data ) || empty( $data->type ) ) { + return $html; + } + + if ( empty( $html ) ) { + return $html; + } + + /** + * Filters whether to make oembed responsive or not. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * @todo [plugin-consolidation] Merge VE into ECP, hook to be deprecated and renamed. + * + * @param boolean $make_oembed_responsive Boolean of if oembed should be made responsive. + */ + $make_oembed_responsive = apply_filters( 'tribe_events_virtual_make_oembed_responsive', true ); + + if ( empty( $make_oembed_responsive ) ) { + return $html; + } + + $attrs = [ 'class' => 'tribe-events-virtual-single-video-embed__wrapper' ]; + + // Add padding if height and width data exists. + if ( ! empty( $data->height ) && ! empty( $data->width ) ) { + // Calculate aspect ratio. + $aspect_ratio = $data->height / $data->width; + $padding = round( $aspect_ratio * 100, 2 ) . '%'; + + $attrs['style'] = "padding-bottom:$padding"; + } + + // convert attributes to key value HTML. + $attrs = array_map( + static function ( $key ) use ( $attrs ) { + if ( is_bool( $attrs[ $key ] ) ) { + return $attrs[ $key ] ? $key : ''; + } + + return $key . '=\'' . esc_attr( $attrs[ $key ] ) . '\''; + }, + array_keys( $attrs ) + ); + + $attrs_string = implode( ' ', $attrs ); + + // Strip width and height from HTML. + $html = preg_replace( '/(width|height)="\d*"\s/', '', $html ); + $html = "
                          $html
                          "; + + /** + * Filters the responsive oembed HTML. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * @todo [plugin-consolidation] Merge VE into ECP, hook to be deprecated and renamed. + * + * @param string $html oEmbed HTML. + * @param object $data data object result from an oEmbed provider. + * @param string $url URL of the content to be embedded. + */ + return apply_filters( 'tribe_events_virtual_responsive_oembed_html', $html, $data, $url ); + } + + /** + * Tests if a link is embeddable. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param string $url The URL to test. + * @return boolean + */ + public function is_embeddable( $url ) { + if ( empty( $url ) ) { + return false; + } + + $oembed = _wp_oembed_get_object(); + $provider = $oembed->get_provider( $url, [ 'discover' => false ] ); + + return false !== $provider; + } + + /** + * Get the error message for an unembeddable link. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param string $url The unembeddable URL. + * @return string Failure message. + */ + public function get_unembeddable_message( $url ) { + $message = sprintf( + /* Translators: %1$s: opening anchor tag, %2$s: closing anchor tag */ + _x( + 'This video cannot be embedded because the source is not supported by %1$sWordPress oEmbed%2$s.', + 'Tells user that URL cannot be embedded, and links to the WordPress oEmbed page for a list of embeddable sites.', + 'tribe-events-calendar-pro' + ), + '', + '' + ); + + /** + * Allows filtering of the error message by external objects. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * @todo [plugin-consolidation] Merge VE into ECP, hook to be deprecated and renamed. + * + * @param string $message The error message. + * @param string $url The URL that failed. + */ + return apply_filters( 'tribe_events_virtual_get_unembeddable_message', $message, $url ); + } + + /** + * Get the success message for an embeddable link. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @return string success message. + */ + public function get_success_message() { + $message = _x( + 'Success! Save your event to add this video.', + 'Tells user the URL is embedded and to save to use that url.', + 'tribe-events-calendar-pro' + ); + + /** + * Allows filtering of the success message for oembed success message. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * @todo [plugin-consolidation] Merge VE into ECP, hook to be deprecated and renamed. + * + * @param string $message The error message. + */ + return apply_filters( 'tribe_events_virtual_autodetect_oembed_success_message', $message ); + } + + /** + * Get the message for using unsupported oembed as a link button. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param string $url The unembeddable URL. + * + * @return string The unsupported oembed as a link button message. + */ + public function get_using_as_link_button_message( $url ) { + $message = sprintf( + /* Translators: %1$s: opening anchor tag, %2$s: closing anchor tag */ + _x( + 'This video cannot be embedded because the source is not supported by %1$sWordPress oEmbed%2$s. You can link to the video source with a button instead.', + 'Tells user the URL is used in the linked button and that it cannot be embedded, and links to the WordPress oEmbed page for a list of embeddable sites.', + 'tribe-events-calendar-pro' + ), + '', + '' + ); + + /** + * Allows filtering of the unsupported oembed as a link button message. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * @todo [plugin-consolidation] Merge VE into ECP, hook to be deprecated and renamed. + * + * @param string $message TThe unsupported oembed as a link button message. + * @param string $url The URL that failed. + */ + return apply_filters( 'tec_virtual_get_using_as_link_button_message', $message, $url ); + } + + /** + * Filter the autodetect source to detect if a WordPress oembed. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param array $autodetect An array of the autodetect defaults. + * @param string $video_url The url to use to autodetect the video source. + * @param string $video_source The optional name of the video source to attempt to autodetect. + * @param \WP_Post|null $event The event post object, as decorated by the `tribe_get_event` function. + * @param array $ajax_data An array of extra values that were sent by the ajax script. + * + * @return array An array of the autodetect results. + */ + public function filter_virtual_autodetect_oembed( $autodetect, $video_url, $video_source, $event, $ajax_data ) { + if ( $autodetect['detected'] || $autodetect['guess'] ) { + return $autodetect; + } + + // All video sources are checked on the first autodetect run, only prevent checking of this source if it is set. + if ( ! empty( $video_source ) && 'oembed' !== $video_source ) { + return $autodetect; + } + + $url = filter_var( $video_url, FILTER_VALIDATE_URL ); + $test = $this->is_embeddable( $url ); + + if ( false === $test || is_wp_error( $test ) ) { + $autodetect['detected'] = false; + $autodetect['message'] = $this->get_unembeddable_message( $video_url ); + + return $autodetect; + } + + // Set Oembed as the autodetect source and setup success data and send back to smart url ui. + update_post_meta( $event->ID, Virtual_Events_Meta::$key_autodetect_source, Virtual_Events_Meta::$key_oembed_source_id ); + $autodetect['detected'] = true; + $autodetect['autodetect-source'] = Virtual_Events_Meta::$key_oembed_source_id; + $autodetect['message'] = $this->get_success_message(); + + // Preview video setup. + $event->virtual_url = filter_var( $video_url, FILTER_VALIDATE_URL ); + // Set for the preview video to always show. + $event->virtual_embed_video = $event->virtual_should_show_embed = true; + $event->virtual_autodetect_source = Virtual_Events_Meta::$key_oembed_source_id; + $autodetect['preview-html'] = $this->template->template( 'single/video-embed', [ 'event' => $event ] ); + + return $autodetect; + } + + /** + * Add the video url field for autodetect. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param array $autodetect An array of the autodetect defaults. + * @param string $video_url The url to use to autodetect the video source. + * @param string $video_source The optional name of the video source to attempt to autodetect. + * @param \WP_Post|null $event The event post object, as decorated by the `tribe_get_event` function. + * @param array $ajax_data An array of extra values that were sent by the ajax script. + * + * @return string The html for the video url field. + */ + public function add_video_url_autodetect_field( $autodetect_fields, $video_url, $video_source, $event, $ajax_data ) { + if ( ! $event instanceof \WP_Post ) { + return ''; + } + + $metabox_id = Virtual_Metabox::$id; + + /** + * Allow filtering of the virtual event video url. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * @todo [plugin-consolidation] Merge VE into ECP, hook to be deprecated and renamed. + * + * @param string The virtual url string. + * @param \WP_Post $event The current event post object, as decorated by the `tribe_get_event` function. + */ + $video_url = apply_filters( 'tec_events_virtual_video_source_virtual_url', $video_url, $event ); + + /** + * Allow filtering` to disable the video url field. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * @todo [plugin-consolidation] Merge VE into ECP, hook to be deprecated and renamed. + * + * @param bool Whether to disable the video url field or not. + * @param \WP_Post $event The current event post object, as decorated by the `tribe_get_event` function. + */ + $virtual_url_disabled = apply_filters( 'tec_events_virtual_video_source_virtual_url_disabled', false, $event ); + + $autodetect_fields[] = [ + 'path' => 'components/text', + 'field' => [ + 'classes_wrap' => [ 'tec-events-virtual-meetings-control', 'tribe-events-virtual-video-source__virtual-url-wrap' ], + 'label' => _x( 'Video', 'The label for the autodetect video source input.', 'tribe-events-calendar-pro' ), + 'id' => "{$metabox_id}-virtual-url", + 'classes_input' => [ 'tribe-events-virtual-video-source__virtual-url-input' ], + 'name' => "{$metabox_id}[virtual-url]", + 'placeholder' => Event_Meta::get_video_source_text( $event ), + 'value' => $video_url, + 'attrs' => [ + 'data-autodetect-ajax-url' => $this->url->to_autodetect_video_source( $event ), + 'data-dependency-manual-control', + disabled( $virtual_url_disabled ), + ], + ] + ]; + + return $autodetect_fields; + } + + /** + * Add a preview video of Oembed video to autodetect. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param WP_Post $event The event post object, as decorated by the `tribe_get_event` function. + * + * @return string The video player html, not embedable message, or an empty string. + */ + public function autodetect_oembed_preview( $event ) { + if ( Virtual_Events_Meta::$key_oembed_source_id !== $event->virtual_autodetect_source ) { + return ''; + } + + $url = filter_var( $event->virtual_url, FILTER_VALIDATE_URL ); + $test = $this->is_embeddable( $url ); + if ( false === $test || is_wp_error( $test ) ) { + $linked_button_msg = $this->get_using_as_link_button_message( $event->virtual_url ); + + return tribe( Template_Modifications::class )->get_settings_message_template( $linked_button_msg, '' ); + } + + // Set for the preview video to always show in the admin. + $event->virtual_embed_video = $event->virtual_should_show_embed = true; + return $this->template->template( 'single/video-embed', [ 'event' => $event ] ); + } +} diff --git a/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/ORM/ORM_Provider.php b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/ORM/ORM_Provider.php new file mode 100644 index 000000000..db2e9ac5a --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/ORM/ORM_Provider.php @@ -0,0 +1,52 @@ +container->singleton( 'events-virtual.orm', $this ); + $this->container->singleton( static::class, $this ); + + // Not bound as a singleton to leverage the repository instance properties and to allow decoration and injection. + $this->container->bind( 'events-virtual.event-repository', Event::class ); + + add_filter( 'tribe_events_event_repository_map', array( $this, 'filter_event_repository_map' ), 12 ); + } + + /** + * Filters the repository resolution map to replace the base TEC repository with the Virtual one. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param array $map A map that associates the repository types to their implementations. + * + * @return array The modified repository map. + */ + public function filter_event_repository_map( array $map ) { + $map['default'] = 'events-virtual.event-repository'; + + return $map; + } +} diff --git a/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Plugin.php b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Plugin.php new file mode 100644 index 000000000..fcca2f2af --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Plugin.php @@ -0,0 +1,209 @@ +container = $container ?: tribe(); + } + + /** + * Setup the Extension's properties. + * + * This always executes even if the required plugins are not present. + */ + public function register() { + // Set up the plugin provider properties. + $this->plugin_path = trailingslashit( dirname( static::FILE ) ); + $this->plugin_dir = trailingslashit( basename( $this->plugin_path ) ); + $this->plugin_url = plugins_url( $this->plugin_dir, $this->plugin_path ); + + // Include the file that defines the functions handling the plugin load operations. + require_once EVENTS_CALENDAR_PRO_DIR . '/src/functions/template-tags/virtual.php'; + + // Register this provider as the main one and use a bunch of aliases. + $this->container->singleton( static::class, $this ); + $this->container->singleton( 'events-virtual', $this ); + $this->container->singleton( 'events-virtual.plugin', $this ); + + // Start binds. + + $this->container->singleton( Template::class, new Template() ); + $this->container->singleton( Event_Meta::class, Event_Meta::class ); + $this->container->singleton( Metabox::class, Metabox::class ); + $this->container->singleton( JSON_LD::class, JSON_LD::class ); + $this->container->singleton( Template_Modifications::class, Template_Modifications::class ); + + // End binds. + + $this->container->register( Hooks::class ); + $this->container->register( Assets::class ); + $this->container->register( Compatibility::class ); + $this->container->register( Export_Provider::class ); + $this->container->register( Rewrite\Rewrite_Provider::class ); + $this->container->register( Context\Context_Provider::class ); + $this->container->register( ORM\ORM_Provider::class ); + $this->container->register( Views\V2\Views_Provider::class ); + $this->container->register( Editor\Provider::class ); + + if ( class_exists( '\\TEC\\Events_Virtual\\Custom_Tables\\V1\\Provider' ) ) { + tribe_register_provider( '\\TEC\\Events_Virtual\\Custom_Tables\\V1\\Provider' ); + } + if ( class_exists( '\\TEC\\Events_Virtual\\Compatibility\\Event_Automator\\Zapier\\Zapier_Provider' ) ) { + tribe_register_provider( '\\TEC\\Events_Virtual\\Compatibility\\Event_Automator\\Zapier\\Zapier_Provider' ); + } + + // Load the new third-party integration system. + tribe_register_provider( \TEC\Events_Virtual\Integrations\Provider::class ); + } + + /** + * Register the Tribe Autoloader in Virtual Events. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * @deprecated 7.0.0 Pro is handling now. + */ + protected function register_autoloader(): void { + _deprecated_function( __METHOD__, '7.0.0' ); + } + + /** + * Returns whether meeting and conference support is enabled in the plugin or not. + * + * @since 1.0.0 + * + * @return bool Whether meeting and conference support is enabled in the plugin or not. + */ + public static function meetings_enabled() { + // Allow meetings to be disabled using a constant. + $enabled = defined( 'EVENTS_VIRTUAL_MEETINGS_ENABLE' ) + ? EVENTS_VIRTUAL_MEETINGS_ENABLE + : true; + + /** + * Filters whether to enable meetings support in the plugin or not. + * + * @since 1.0.0 + * @todo [plugin-consolidation] Merge VE into ECP, hook to be deprecated and renamed. + * + * @param bool $enable_meetings Whether meetings and conference support is enabled in the plugin or not. + */ + return apply_filters( 'tribe_events_virtual_meetings_enabled', $enabled ); + } + + /** + * Adds template tags once the plugin has loaded. + * + * @since 1.0.0 + * @deprecated 7.0.0 + */ + protected function load_template_tags() { + _deprecated_function( __METHOD__, '7.0.0' ); + } +} diff --git a/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Plugin_Register.php b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Plugin_Register.php new file mode 100644 index 000000000..c0b14dc99 --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Plugin_Register.php @@ -0,0 +1,107 @@ + [ + 'Tribe__Events__Main' => '6.2.6-dev', + ], + ]; + + /** + * Configures the base_dir property which is the path to the plugin bootstrap file. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param string $file Which is the path to the plugin bootstrap file. + */ + public function set_base_dir( string $file ): void { + $this->base_dir = $file; + } + + /** + * Gets the previously configured base_dir property. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @return string + */ + public function get_base_dir(): string { + return $this->base_dir; + } + + /** + * Gets the main class of the Plugin, stored on the main_class property. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @return string + */ + public function get_plugin_class(): string { + return $this->main_class; + } + + /** + * File path to the main class of the plugin. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @var string The path to the main class of the plugin. + */ + protected $base_dir; + + /** + * Alias to the VERSION constant. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @var string The version of the plugin. + */ + protected $version = self::VERSION; + + /** + * Fully qualified name of the main class of the plugin. + * Do not use the Plugin::class constant here, we need this value without loading the Plugin class. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @var string The main class of the plugin. + */ + protected $main_class = '\Tribe\Events\Virtual\Plugin'; +} diff --git a/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Repositories/Event.php b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Repositories/Event.php new file mode 100644 index 000000000..e00255e62 --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Repositories/Event.php @@ -0,0 +1,70 @@ +decorated = self::get_undecorated_repository(); + $this->decorated->add_schema_entry( 'virtual', array( $this, 'filter_by_virtual' ) ); + } + + /** + * Returns the current Event repository implementation, suspending the decoration applied by the plugin. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @return \Tribe__Repository__Interface The current Event repository implementation. + * + * @see Tribe\Events\Virtual\ORM\ORM_Provider for the details of the repository map filtering. + */ + public static function get_undecorated_repository() { + $provider = tribe( 'events-virtual.orm' ); + + remove_filter( 'tribe_events_event_repository_map', [ $provider, 'filter_event_repository_map' ], 12 ); + $undecorated_repository = tribe_events(); + add_filter( 'tribe_events_event_repository_map', [ $provider, 'filter_event_repository_map' ], 12 ); + + return $undecorated_repository; + } + + /** + * Filters events to include only those that match the provided virtual state. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param bool $virtual Whether the events should be virtual or not. + */ + public function filter_by_virtual( $virtual = true ) { + $this->decorated->by( (bool) $virtual ? 'meta_exists' : 'meta_not_exists', Event_Meta::$key_virtual, '#' ); + } + + /** + * Runs the save method on the decorated repository. + * + * @param false $return_promise Whether to return a promise or the result of the save operation. + * + * @return array|\Tribe__Promise + */ + public function save( $return_promise = false ) { + return parent::save( $return_promise ); + } +} diff --git a/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Rewrite/Rewrite_Provider.php b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Rewrite/Rewrite_Provider.php new file mode 100644 index 000000000..bd1e4a4a8 --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Rewrite/Rewrite_Provider.php @@ -0,0 +1,295 @@ +virtual_slug = sanitize_title( tribe_get_virtual_label_lowercase() ); + + $this->add_filters(); + } + + /** + * Adds the filter required to provide the rewrite support. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + */ + protected function add_filters() { + add_action( 'tribe_events_pre_rewrite', [ $this, 'filter_add_routes' ], 5 ); + add_filter( 'tribe_events_rewrite_base_slugs', [ $this, 'filter_add_base_slugs' ], 12 ); + add_filter( 'tribe_events_rewrite_matchers_to_query_vars_map', [ $this, 'filter_add_matchers_to_query_vars_map' ], 11, 2 ); + } + + /** + * Add rewrite routes for custom Virtual views. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param \Tribe__Events__Rewrite $rewrite The Tribe__Events__Rewrite object + */ + public function filter_add_routes( $rewrite ) { + + $this->add_core_routes( $rewrite ); + $this->add_pro_routes( $rewrite ); + } + + /** + * Add rewrite routes for The Events Calendar views. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param \Tribe__Events__Rewrite $rewrite The Tribe__Events__Rewrite object + */ + public function add_core_routes( $rewrite ) { + + // List + $rewrite->archive( [ '{{ virtual }}', '{{ page }}', '(\d+)' ], [ + 'virtual' => true, + 'eventDisplay' => 'list', + 'paged' => '%1' + ] ) + ->archive( [ '{{ virtual }}', '(feed|rdf|rss|rss2|atom)' ], [ + 'virtual' => true, + 'eventDisplay' => 'list', + 'feed' => '%1' + ] ) + ->archive( [ '{{ list }}', '{{ virtual }}', '{{ page }}', '(\d+)' ], [ + 'eventDisplay' => 'list', + 'virtual' => true, + 'paged' => '%1' + ] ) + ->archive( [ '{{ list }}', '{{ virtual }}' ], [ 'eventDisplay' => 'list', 'virtual' => true ] ) + ->tax( [ '{{ virtual }}', '{{ page }}', '(\d+)' ], [ + 'virtual' => true, + 'eventDisplay' => 'list', + 'paged' => '%2' + ] ) + ->tax( [ '{{ list }}', '{{ virtual }}', '{{ page }}', '(\d+)' ], [ + 'eventDisplay' => 'list', + 'virtual' => true, + 'paged' => '%2' + ] ) + ->tax( [ '{{ list }}', '{{ virtual }}' ], [ 'eventDisplay' => 'list', 'virtual' => true ] ) + ->tag( [ '{{ virtual }}', '{{ page }}', '(\d+)' ], [ + 'virtual' => true, + 'eventDisplay' => 'list', + 'paged' => '%2' + ] ) + ->tag( [ '{{ list }}', '{{ virtual }}', '{{ page }}', '(\d+)' ], [ + 'eventDisplay' => 'list', + 'virtual' => true, + 'paged' => '%2' + ] ) + ->tag( [ '{{ list }}', '{{ virtual }}' ], [ 'eventDisplay' => 'list', 'virtual' => true ] ) + ->tax( [ '{{ virtual }}', 'feed' ], [ + 'virtual' => true, + 'eventDisplay' => 'list', + 'feed' => 'rss2' + ] ) + ->tag( [ '{{ virtual }}', 'feed' ], [ + 'eventDisplay' => 'list', + 'feed' => 'rss2', + 'virtual' => true + ] ) + + // Month + ->archive( [ '{{ month }}', '{{ virtual }}' ], [ + 'eventDisplay' => 'month', + 'virtual' => true + ] ) + ->archive( [ '(\d{4}-\d{2})', '{{ virtual }}' ], [ + 'eventDisplay' => 'month', + 'eventDate' => '%1', + 'virtual' => true + ] ) + ->tax( [ '{{ month }}', '{{ virtual }}' ], [ 'eventDisplay' => 'month', 'virtual' => true ] ) + ->tax( [ '(\d{4}-\d{2})', '{{ virtual }}' ], [ + 'eventDisplay' => 'month', + 'eventDate' => '%2', + 'virtual' => true + ] ) + ->tag( [ '{{ month }}', '{{ virtual }}' ], [ 'eventDisplay' => 'month', 'virtual' => true ] ) + ->tag( [ '(\d{4}-\d{2})', '{{ virtual }}' ], [ + 'eventDisplay' => 'month', + 'eventDate' => '%2', + 'virtual' => true + ] ) + + // Day + ->archive( [ '{{ today }}', '{{ virtual }}' ], [ 'eventDisplay' => 'day', 'virtual' => true ] )->archive( [ '(\d{4}-\d{2}-\d{2})', '{{ virtual }}' ], [ + 'eventDisplay' => 'day', + 'eventDate' => '%1', + 'virtual' => true + ] ) + ->archive( [ '(\d{4}-\d{2}-\d{2})', '{{ virtual }}' ], [ + 'eventDisplay' => 'day', + 'eventDate' => '%1', + 'virtual' => true + ] ) + ->archive( [ '{{ virtual }}', 'ical' ], [ 'ical' => 1, 'virtual' => true ] )->archive( [ '(\d{4}-\d{2}-\d{2})', 'ical' ], [ + 'ical' => 1, + 'eventDisplay' => 'day', + 'eventDate' => '%1' + ] ) + ->archive( [ '(\d{4}-\d{2}-\d{2})', 'ical', '{{ virtual }}' ], [ + 'ical' => 1, + 'eventDisplay' => 'day', + 'eventDate' => '%1', + 'virtual' => true + ] ) + ->tax( [ '{{ today }}', '{{ virtual }}' ], [ 'eventDisplay' => 'day', 'virtual' => true ] ) + ->tax( [ '{{ day }}', '(\d{4}-\d{2}-\d{2})', '{{ virtual }}' ], [ + 'eventDisplay' => 'day', + 'eventDate' => '%2', + 'virtual' => true + ] ) + ->tax( [ '(\d{4}-\d{2}-\d{2})', '{{ virtual }}' ], [ + 'eventDisplay' => 'day', + 'eventDate' => '%2', + 'virtual' => true + ] ) + ->tag( [ '{{ today }}', '{{ virtual }}' ], [ 'eventDisplay' => 'day', 'virtual' => true ] ) + ->tag( [ '{{ day }}', '(\d{4}-\d{2}-\d{2})', '{{ virtual }}' ], [ + 'eventDisplay' => 'day', + 'eventDate' => '%2', + 'virtual' => true + ] ) + ->tag( [ '(\d{4}-\d{2}-\d{2})', '{{ virtual }}' ], [ 'eventDisplay' => 'day', 'eventDate' => '%2', 'virtual' => true ] ) + ->archive( [ '{{ virtual }}' ], [ 'virtual' => true ] ) + ->tax( [ '{{ virtual }}' ], [ 'virtual' => true, 'eventDisplay' => 'default' ] ) + ->tag( [ '{{ virtual }}' ], [ 'virtual' => true ] ) + + // iCal & Feeds + ->tax( [ '{{ virtual }}', 'ical' ], [ 'virtual' => true, 'ical' => 1 ] ) + ->tax( [ '{{ virtual }}', 'feed', '(feed|rdf|rss|rss2|atom)' ], [ 'virtual' => true, 'feed' => '%2' ] ) + ->tag( [ '{{ virtual }}', 'ical' ], [ 'virtual' => true, 'ical' => 1 ] ) + ->tag( [ '{{ virtual }}', 'feed', '(feed|rdf|rss|rss2|atom)' ], [ 'virtual' => true, 'feed' => '%2' ] ); + } + + /** + * Add rewrite routes for Events Calendar PRO views. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param \Tribe__Events__Rewrite $rewrite The Tribe__Events__Rewrite object + */ + public function add_pro_routes( $rewrite ) { + + // If PRO is not active then do not add routes. + if ( ! class_exists( 'Tribe__Events__Pro__Main' ) ) { + return; + } + + // Week + $rewrite->archive( [ '{{ week }}', '{{ virtual }}' ], [ 'eventDisplay' => 'week', 'virtual' => true ] ) + ->archive( [ '{{ week }}', '(\d{4}-\d{2}-\d{2})', '{{ virtual }}' ], [ + 'eventDisplay' => 'week', + 'eventDate' => '%1', + 'virtual' => true + ] ) + ->archive( [ '{{ week }}', '(\d{2})', '{{ virtual }}' ], [ + 'eventDisplay' => 'week', + 'eventDate' => '%1', + 'virtual' => true + ] ) + ->tax( [ '{{ week }}', '{{ virtual }}' ], [ 'eventDisplay' => 'week', 'virtual' => true ] ) + ->tax( [ '{{ week }}', '(\d{4}-\d{2}-\d{2})', '{{ virtual }}' ], [ + 'eventDisplay' => 'week', + 'eventDate' => '%2', + 'virtual' => true + ] ) + ->tag( [ '{{ week }}', '{{ virtual }}' ], [ 'eventDisplay' => 'week', 'virtual' => true ] ) + ->tag( [ '{{ week }}', '(\d{4}-\d{2}-\d{2})', '{{ virtual }}' ], [ + 'eventDisplay' => 'week', + 'eventDate' => '%2', + 'virtual' => true + ] ) + + // Photo + ->archive( [ '{{ photo }}', '{{ virtual }}' ], [ 'eventDisplay' => 'photo', 'virtual' => true ] ) + ->archive( [ '{{ photo }}', '(\d{4}-\d{2}-\d{2})', '{{ virtual }}' ], [ + 'eventDisplay' => 'photo', + 'eventDate' => '%1', + 'virtual' => true + ] ) + ->tax( [ '{{ photo }}', '{{ virtual }}' ], [ 'eventDisplay' => 'photo', 'virtual' => true ] ) + ->tag( [ '{{ photo }}', '{{ virtual }}' ], [ 'eventDisplay' => 'photo', 'virtual' => true ] ); + } + + /** + * Add the required bases for Virtual Events. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param array $bases Bases that are already set + * + * @return array The modified version of the array of bases + */ + public function filter_add_base_slugs( $bases = [] ) { + // Support original and translated versions. + $bases['virtual'] = [ 'virtual', sanitize_title( tribe_get_virtual_label_lowercase() ) ]; + + return $bases; + } + + /** + * Add the required bases for the Virtual Archive. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param array $bases Bases that are already set. + * + * @return array The modified version of the array of bases. + */ + public function filter_add_matchers_to_query_vars_map( $matchers = [], $rewrite = null ) { + + $matchers['virtual'] = 'virtual'; + + return $matchers; + } + + /** + * Adds the plugin text domain to the list of domains that should be used to generate rewrite + * rules. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param array $domains A map of domains to the directories containing the translations. + * + * @return array The modified map of domains. + */ + public function add_virtual_text_domain( $domains ) { + _deprecated_function( __METHOD__, '7.0.0' ); + + return $domains; + } +} diff --git a/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Template.php b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Template.php new file mode 100644 index 000000000..f5a0d272c --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Template.php @@ -0,0 +1,36 @@ +set_template_origin( tribe( Plugin::class ) ); + $this->set_template_folder( 'src/views' ); + + // Setup to look for theme files. + $this->set_template_folder_lookup( true ); + + // Configures this templating class extract variables. + $this->set_template_context_extract( true ); + } +} diff --git a/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Template_Modifications.php b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Template_Modifications.php new file mode 100644 index 000000000..73b813bde --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Template_Modifications.php @@ -0,0 +1,496 @@ +template = $template; + $this->admin_template = $admin_template; + } + + /** + * Determines if the virtual content should be shown + * based on the `virtual_show_embed_to` setting of the event. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param int|WP_Post $event Post ID or post object. + * + * @return boolean + */ + public function should_show_virtual_content( $event ) { + if ( is_integer( $event ) ) { + $event = tribe_get_event( $event ); + } + + if ( ! $event instanceof \WP_Post) { + return false; + } + + $show_to_arr = array_flip( $event->virtual_show_embed_to ); + $show = isset( $show_to_arr[ Event_Meta::$value_show_embed_to_all ] ) + || ( isset( $show_to_arr[ Event_Meta::$value_show_embed_to_logged_in ] ) && is_user_logged_in() ); + + /** + * Filters whether the virtual content should show or not. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * @todo [plugin-consolidation] Merge VE into ECP, hook to be deprecated and renamed. + * + * @param boolean $show If the virtual content should show or not. + * @param int|WP_Post $event The post object or ID of the viewed event. + */ + return apply_filters( 'tribe_events_virtual_show_virtual_content', $show, $event ); + } + + /** + * Add the control classes for the views v2 elements + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param int|WP_Post $event Post ID or post object. + * + * @return string[] + */ + public function get_body_classes( $event ) { + $classes = []; + if ( ! tribe_is_event( $event ) ) { + return $classes; + } + + $event = tribe_get_event( $event ); + + if ( ! $event instanceof \WP_Post) { + return $classes; + } + + if ( $event->virtual ) { + $classes[] = 'tribe-events-virtual-event'; + } + + if ( Event_Meta::$value_hybrid_event_type === $event->virtual_event_type ) { + $classes[] = 'tribe-events-hybrid-event'; + } + + return $classes; + } + + /** + * Add the control classes for the views v2 elements + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param int|WP_Post $event Post ID or post object. + * + * @return string[] + */ + public function get_post_classes( $event ) { + $classes = []; + if ( ! tribe_is_event( $event ) ) { + return $classes; + } + + /** + * We're specifically forcing here (last param) as otherwise + * this runs into issues with the event list table in the admin. + */ + $event = tribe_get_event( $event, OBJECT, 'raw', true ); + + if ( ! $event instanceof \WP_Post) { + return $classes; + } + + if ( $event->virtual ) { + $classes[] = 'tribe-events-virtual-event'; + } + + if ( Event_Meta::$value_hybrid_event_type === $event->virtual_event_type ) { + $classes[] = 'tribe-events-hybrid-event'; + } + + return $classes; + } + + /** + * Include the control markers to the single page. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param string $notices_html Previously set HTML. + * + * @return string New notices with the control markers appended. + */ + public function add_single_control_mobile_markers( $notices_html ) { + if ( ! is_singular( Events_Plugin::POSTTYPE ) ) { + return $notices_html; + } + + $args = [ + 'event' => tribe_get_event( get_the_ID() ), + ]; + + return $this->template->template( 'single/virtual-marker-mobile', $args, false ) . $notices_html; + } + + /** + * Include the hybrid control markers to the single page. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param string $notices_html Previously set HTML. + * + * @return string New notices with the control markers appended. + */ + public function add_single_hybrid_control_mobile_markers( $notices_html ) { + if ( ! is_singular( Events_Plugin::POSTTYPE ) ) { + return $notices_html; + } + + $args = [ + 'event' => tribe_get_event( get_the_ID() ), + ]; + + return $this->template->template( 'single/hybrid-marker-mobile', $args, false ) . $notices_html; + } + + /** + * Get the event object of the event on which to show control markers. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param string $schedule The output HTML. + * @param int $event_id The post ID of the event we are interested in. + * + * @return bool|\WP_Post Event on which to show control markers. + */ + public function get_control_marker_event( $event_id ) { + $should_show = true; + + if ( ! is_singular( Events_Plugin::POSTTYPE ) ) { + $should_show = false; + } + + /** + * Filter whether we should show control markers. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * @todo [plugin-consolidation] Merge VE into ECP, hook to be deprecated and renamed. + * + * @param bool $should_show Whether to show the markers or not. + * @param int $event_id The post ID of the event we are interested in. + */ + $should_show = apply_filters( 'tribe_events_virtual_should_show_control_markers', $should_show, $event_id ); + + if ( ! $should_show ) { + return false; + } + + // The following checks are mandatory for bailing, so we'll constrain the filtering to up above. + + // Bail if this action was already introduced. + if ( $should_show && did_action( 'tribe_tickets_ticket_email_top' ) ) { + return false; + } + + $event = tribe_get_event( $event_id ); + + if ( ! $event instanceof \WP_Post) { + return false; + } + + if ( ! $event->virtual ) { + return false; + } + + return $event; + } + + /** + * Include the control markers to the single page. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param string $schedule The output HTML. + * @param int $event_id The post ID of the event we are interested in. + * + * @return string New details with the control markers appended. + */ + public function add_single_control_markers( $schedule, $event_id ) { + if ( ! $event = $this->get_control_marker_event( $event_id ) ) { + return $schedule; + } + + $args = [ 'event' => $event ]; + + return $schedule . $this->template->template( 'single/virtual-marker', $args, false ); + } + + /** + * Include the control markers to the single page. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param string $schedule The output HTML. + * @param int $event_id The post ID of the event we are interested in. + * + * @return string New details with the control markers appended. + */ + public function add_single_hybrid_control_markers( $schedule, $event_id ) { + if ( ! $event = $this->get_control_marker_event( $event_id ) ) { + return $schedule; + } + + $args = [ 'event' => $event ]; + + return $schedule . $this->template->template( 'single/hybrid-marker', $args, false ); + } + + /** + * Adds Template for Virtual Event marker. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param string $file Complete path to include the PHP File. + * @param array $name Template name. + * @param Template $template Current instance of the Template. + */ + public function add_virtual_event_marker( $file, $name, $template ) { + $context = $template->get_values(); + $template->template( 'components/virtual-event', $context ); + } + + /** + * Adds Template for Hybrid Event marker. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param string $file Complete path to include the PHP File. + * @param array $name Template name. + * @param Template $template Current instance of the Template. + */ + public function add_hybrid_event_marker( $file, $name, $template ) { + $context = $template->get_values(); + $template->template( 'components/hybrid-event', $context ); + } + + /** + * Adds Block Template for Virtual Event Marker. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + */ + public function add_single_block_virtual_event_marker() { + $event = tribe_get_event( get_the_ID() ); + + if ( ! $event instanceof \WP_Post) { + return; + } + + if ( ! $event->virtual ) { + return; + } + + $args = [ 'event' => $event ]; + + $this->template->template( 'single/virtual-marker', $args ); + } + + /** + * Adds Block Template for Hybrid Event Marker. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + */ + public function add_single_block_hybrid_event_marker() { + $event = tribe_get_event( get_the_ID() ); + + if ( ! $event instanceof \WP_Post ) { + return; + } + + if ( ! $event->virtual ) { + return; + } + + $args = [ 'event' => $event ]; + + $this->template->template( 'single/hybrid-marker', $args ); + } + + /** + * Adds video embed to event single. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + */ + public function add_event_single_video_embed() { + // don't show on password protected posts. + if ( post_password_required() ) { + return; + } + + $event = tribe_get_event( get_the_ID() ); + + if ( ! $event instanceof \WP_Post) { + return; + } + + // Only embed when the source is video. + if ( Event_Meta::$key_video_source_id !== $event->virtual_video_source ) { + return; + } + + // Don't show if requires log in and user isn't logged in. + if ( ! $this->should_show_virtual_content( $event ) ) { + return; + } + + $context = [ + 'event' => $event, + ]; + + if ( Facebook_Meta::$autodetect_fb_video_id === $event->virtual_autodetect_source ) { + $this->template->template( 'facebook/single/facebook-video-embed', $context ); + + return; + } + + $this->template->template( 'single/video-embed', $context ); + } + + /** + * Adds link button to event single outside of details block. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + */ + public function add_event_single_non_block_link_button() { + $block_slug = tribe( 'events.editor.blocks.classic-event-details' )->slug(); + // If we're also rendering the event details block, we don't want to inject this block. + // @see action_add_event_single_details_block_link_button(). + if ( has_block( "tribe/{$block_slug}", get_the_ID() ) ) { + return; + } + + return $this->add_event_single_link_button(); + } + + /** + * Adds link button to event single. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + */ + public function add_event_single_link_button() { + // don't show on password protected posts. + if ( post_password_required() ) { + return; + } + + $event = tribe_get_event( get_the_ID() ); + + if ( ! $event instanceof \WP_Post) { + return; + } + + if ( empty( $event->virtual ) ){ + return; + } + + if ( empty( $event->virtual_should_show_embed ) ) { + return; + } + + if ( empty( $event->virtual_linked_button ) ) { + return; + } + + if ( empty( $event->virtual_url ) ) { + return; + } + + // Don't show if requires log in and user isn't logged in. + if ( ! $this->should_show_virtual_content( $event ) ) { + return; + } + + /** + * Filters whether the link button should open in a new window or not. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * @todo [plugin-consolidation] Merge VE into ECP, hook to be deprecated and renamed. + * + * @param boolean $new_window If link button should open in new window. + */ + $new_window = apply_filters( 'tribe_events_virtual_link_button_new_window', false ); + + $attrs = []; + if ( ! empty( $new_window ) ) { + $attrs['target'] = '_blank'; + } + + $context = [ + 'url' => $event->virtual_url, + 'label' => $event->virtual_linked_button_text, + 'attrs' => $attrs, + ]; + + $this->template->template( 'components/link-button', $context ); + } + + /** + * The message template to display on user account changes. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param string $message The message to display. + * @param string $type The type of message, either updated or error. + * + * @return string The message with html to display + */ + public function get_settings_message_template( $message, $type = 'updated' ) { + return $this->admin_template->template( 'components/message', [ + 'message' => $message, + 'type' => $type, + ] ); + } +} diff --git a/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Traits/With_AJAX.php b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Traits/With_AJAX.php new file mode 100644 index 000000000..455d29675 --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Traits/With_AJAX.php @@ -0,0 +1,105 @@ + 'fail', + 'code' => 'invalid-nonce', + 'message' => _x( 'The provided nonce is not valid.', 'Ajax error message.', 'tribe-events-calendar-pro' ), + ], + 403 + ); + + return false; + } + + return true; + } + + /** + * Checks the request post ID is set and corresponds to an event. + * + * While the method will return a boolean value, in the normal flow, where AJAX requests are not intercepted by + * handlers, the method will return the failure JSON response and `die`. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param int|null $post_id The post ID of the post to check or `null` to use the one from the request variable. + * + * @return \WP_Post|false Either the event post object, as decorated by the `tribe_get_event` function, or `false` + * if AJAX responses are handled and the post is not valid. + */ + protected function check_ajax_post( $post_id = null ) { + $post_id = $post_id ? $post_id : tribe_get_request_var( 'post_id', false ); + + if ( empty( $post_id ) ) { + $error = _x( + 'The post ID is missing from the request.', + 'An error raised in the context of the Zoom API integration.', + 'tribe-events-calendar-pro' + ); + + wp_send_json_error( + [ + 'status' => 'fail', + 'code' => 'missing-post-id', + 'message' => $error, + ], + 400 + ); + + return false; + } + + $event = tribe_get_event( $post_id ); + + if ( ! $event instanceof \WP_Post ) { + wp_send_json_error( + [ + 'status' => 'fail', + 'code' => 'event-not-found', + ], + 404 + ); + + return false; + } + + return $event; + } +} diff --git a/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Traits/With_Nonce_Routes.php b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Traits/With_Nonce_Routes.php new file mode 100644 index 000000000..36a4d3b6c --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Traits/With_Nonce_Routes.php @@ -0,0 +1,130 @@ + $routes A map of the routes to handle, from nonce actions to the callables + * that should handle each. + * @param string ...$caps One or more capabilities the current user should possess to proceed + * with the routing. + * + * @return false|callable The callback that will be used to handle the route, or `false` to indicate a no match. + */ + public function route_admin_by_nonce( array $routes, ...$caps ) { + $routes = array_filter( $routes, 'is_callable' ); + + if ( empty( $routes ) ) { + // Let's not even start dealing with it if no route handler is callable. + return false; + } + + if ( ! current_user_can( ...$caps ) ) { + return false; + } + + $nonce = tribe_context()->get( 'events_virtual_request' ); + + if ( ! is_string( $nonce ) || empty( $nonce ) || ! is_admin() || ! current_user_can( ...$caps ) ) { + return false; + } + + + return $this->route_by_nonce( $routes, $nonce ); + + } + + /** + * Routes a request to the admin area ignoring capabilities. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param array $routes A map of the routes to handle, from nonce actions to the callables + * that should handle each. + * + * @return false|callable The callback that will be used to handle the route, or `false` to indicate a no match. + */ + public function public_route_by_nonce( array $routes ) { + $routes = array_filter( $routes, 'is_callable' ); + + if ( empty( $routes ) ) { + // Let's not even start dealing with it if no route handler is callable. + return false; + } + + $nonce = tribe_context()->get( 'events_virtual_request' ); + + if ( empty( $nonce ) || ! is_string( $nonce ) ) { + return false; + } + + return $this->route_by_nonce( $routes, $nonce ); + } + + /** + * Routes a request to the admin area ignoring capabilities. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param string $nonce Nonce to be validated. + * + * @param array $routes A map of the routes to handle, from nonce actions to the callables + * that should handle each. + * + * @return false|callable The callback that will be used to handle the route, or `false` to indicate a no match. + */ + private function route_by_nonce( array $routes, string $nonce ) { + + // Remove the query arguments from the `$_SERVER['REQUEST_URI']` to avoid issues. + if ( isset( $_SERVER[ 'REQUEST_URI' ] ) ) { + $_SERVER[ 'REQUEST_URI' ] = remove_query_arg( [ + Plugin::$request_slug, + ], $_SERVER[ 'REQUEST_URI' ] ); + } + + $callback = false; + $handler = false; + foreach ( $routes as $nonce_action => $callback ) { + if ( ! is_callable( $callback ) ) { + // There are legitimate reasons why this might not be a valid callback, just move on. + continue; + } + + if ( wp_verify_nonce( $nonce, $nonce_action ) ) { + $handler = static function () use ( $callback, $nonce ) { + return $callback( $nonce ); + }; + break; + } + } + + if ( false === $handler ) { + return false; + } + + add_action( 'admin_init', $handler ); + + return $callback; + } +} diff --git a/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Updater.php b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Updater.php new file mode 100644 index 000000000..b0a55dd18 --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Updater.php @@ -0,0 +1,247 @@ +current_version will have its + * callback called. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @return array The version number and callback to use. + */ + public function get_update_callbacks() { + return [ + '1.6' => [ $this, 'video_source_migration' ], + '1.8' => [ $this, 'autodetect_source_migration' ], + ]; + } + + /** + * Setup multiple account migration. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * @deprecated 1.15.3 - No replacement. + * + * @return boolean whether the migration to multiple accounts is complete. + */ + public function multiple_account_migration_setup() { + _deprecated_function( __METHOD__, '1.15.3', 'No replacement.' ); + + /** @var \Tribe\Events\Virtual\Meetings\Zoom\Api */ + $api = tribe( API::class ); + + // Get the latest refresh token and use it refresh and add the account for multiple accounts. + $refresh_token = tribe_get_option( Settings::$option_prefix . 'refresh_token' ); + $refresh_token = $api->encryption->decrypt( $refresh_token ); + if ( empty( $refresh_token ) ) { + return false; + } + + return $this->migrate_zoom_account( $api, $refresh_token ); + } + + /** + * Migrate the Zoom Account. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * @deprecated 1.15.3 - No replacement. + * + * @param Api $api An instance of the API class. + * @param string $refresh_token The refresh token from the connection before multiple accounts. + * + * @return boolean whether the migration to multiple accounts is complete. + */ + public function migrate_zoom_account( $api, $refresh_token ) { + _deprecated_function( __METHOD__, '1.15.3', 'No replacement.' ); + + $refreshed = false; + $api->post( + Url::$refresh_url, + [ + 'body' => [ + 'grant_type' => 'refresh_token', + 'refresh_token' => $refresh_token, + ], + ], + 200 + )->then( + function ( array $response ) use ( &$api, &$refreshed ) { + $body = json_decode( wp_remote_retrieve_body( $response ), true ); + if ( ! isset( $body['access_token'], $body['refresh_token'], $body['expires_in'] ) ) { + do_action( 'tribe_log', 'error', __CLASS__, [ + 'action' => __METHOD__, + 'message' => 'Zoom account migration could not be completed, please manually add your account on the Settings/API section.', + 'response' => $body, + ] ); + + return false; + } + + $refreshed = $api->save_account( $response ); + + // Clear existing account settings. + tribe_update_option( Settings::$option_prefix . 'refresh_token', '' ); + delete_transient( Settings::$option_prefix . 'access_token' ); + + // Save the original account id to use to update existing events as they are viewed in the admin. + $user = $api->fetch_user( 'me', false, $refreshed ); + if ( empty( $user['id'] ) ) { + return $refreshed; + } + tribe_update_option( Settings::$option_prefix . 'original_account', esc_attr( $user['id'] ) ); + + return $refreshed; + } + ); + + return $refreshed; + } + + /** + * Migration to the video source dropdown. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + */ + public function video_source_migration() { + $args = [ + 'posts_per_page' => 1000, + 'meta_query' => [ + [ + 'relation' => 'OR', + [ + 'key' => Event_Meta::$key_virtual, + 'value' => true, + ], + [ + 'key' => Event_Meta::$key_virtual, + 'value' => 'yes', + ] + ], + [ + 'key' => Event_Meta::$key_video_source, + 'compare' => 'NOT EXISTS', + ] + ], + ]; + + /** + * Allows filtering of the arguments used to query events for the video source migration. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * @todo [plugin-consolidation] Merge VE into ECP, hook to be deprecated and renamed. + * + * @param array An array of arguments used to query events for the video source migration. + */ + $args = apply_filters( 'tec_events_virtual_video_source_migration_args', $args ); + + $virtual_events = tribe_events()->by_args( $args )->get_ids(); + + foreach ( $virtual_events as $event_id ) { + $event = tribe_get_event( $event_id ); + + // Safety check. + if ( $event->virtual_video_source ) { + continue; + } + + // If a virtual event has zoom as the meeting provider + if ( Zoom_Meta::$key_source_id === $event->virtual_meeting_provider ) { + update_post_meta( $event_id, Event_Meta::$key_video_source, Zoom_Meta::$key_source_id ); + + continue; + } + + // Default to video as the video source. + update_post_meta( $event_id, Event_Meta::$key_video_source, Event_Meta::$key_video_source_id ); + } + } + + /** + * Migration to the Smart URL/Autodetect Source. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + */ + public function autodetect_source_migration() { + $args = [ + 'posts_per_page' => 1000, + 'meta_query' => [ + [ + 'key' => Event_Meta::$key_virtual, + 'value' => Event_Meta::$key_video_source_id, + ], + ], + ]; + + $virtual_events = tribe_events()->by_args( $args )->get_ids(); + + foreach ( $virtual_events as $event_id ) { + $event = tribe_get_event( $event_id ); + + // Safety check. + if ( + Event_Meta::$key_video_source_id !== $event->virtual_video_source || + $event->virtual_autodetect_source + ) { + continue; + } + + // Default to oembed as the autodetect source. + update_post_meta( $event->ID, Event_Meta::$key_autodetect_source, Event_Meta::$key_oembed_source_id ); + } + } + + /** + * Force upgrade script to run even without an existing version number + * The version was not previously stored for Virtual Events. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @return bool + */ + public function is_new_install() { + return false; + } +} diff --git a/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Utils.php b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Utils.php new file mode 100644 index 000000000..5701a89f0 --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Utils.php @@ -0,0 +1,67 @@ +get( 'events_virtual_count', $trigger, false, $expiration ); + + if ( false !== $count ) { + return (int) $count; + } + + /** @var \wpdb $wpdb */ + global $wpdb; + + $query = "SELECT COUNT( pm.post_id ) + FROM $wpdb->postmeta pm + LEFT JOIN {$wpdb->posts} p + ON p.ID = pm.post_id AND p.post_type = %s + WHERE meta_key = '%s' + AND meta_value != ''"; + + $count = $wpdb->get_var( + $wpdb->prepare( + $query, + TEC::POSTTYPE, + Event_Meta::$key_virtual + ) + ); + + if ( null === $count ) { + // Query failure, do not store the result. + return 0; + } + + $cache->set( 'events_virtual_count', (int) $count, $expiration, $trigger ); + + return (int) $count; + } +} diff --git a/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Views/V2/Breadcrumbs.php b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Views/V2/Breadcrumbs.php new file mode 100644 index 000000000..dbb3d1e4a --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Views/V2/Breadcrumbs.php @@ -0,0 +1,56 @@ +get_context(); + $taxonomy = TEC::TAXONOMY; + $context_tax = $context->get( $taxonomy, false ); + + if ( tribe_is_truthy( $context->get( 'virtual', false ) ) ) { + $non_virtual_link = tribe_events_get_url( [ 'virtual' => 0 ] ); + + if ( empty( $context_tax ) ) { + $breadcrumbs[] = [ + 'link' => $non_virtual_link, + 'label' => tribe_get_event_label_plural(), + ]; + } + + $breadcrumbs[] = [ + 'link' => '', + 'label' => esc_html( tribe_get_virtual_label() ), + ]; + } + + return $breadcrumbs; + } +} diff --git a/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Views/V2/Query.php b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Views/V2/Query.php new file mode 100644 index 000000000..0ef3155c9 --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Views/V2/Query.php @@ -0,0 +1,39 @@ +get_context(); + if ( $context->is( 'virtual' ) ) { + $query_args['virtual'] = true; + } + + return $query_args; + } +} diff --git a/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Views/V2/Repository.php b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Views/V2/Repository.php new file mode 100644 index 000000000..740540713 --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Views/V2/Repository.php @@ -0,0 +1,41 @@ +is( 'virtual' ) ) { + $repository_args['virtual'] = true; + } + + return $repository_args; + } +} diff --git a/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Views/V2/Title.php b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Views/V2/Title.php new file mode 100644 index 000000000..10d29d29c --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Views/V2/Title.php @@ -0,0 +1,42 @@ +is( 'virtual' ) ) { + return tribe_get_virtual_event_label_plural(); + } + + return $label; + } +} diff --git a/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Views/V2/Views_Provider.php b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Views/V2/Views_Provider.php new file mode 100644 index 000000000..4727f0cbf --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Views/V2/Views_Provider.php @@ -0,0 +1,117 @@ +container->singleton( 'events-virtual.views.v2.provider', $this ); + + add_filter( 'query_vars', [ $this, 'filter_query_vars' ], 15 ); + add_filter( 'tribe_events_views_v2_url_query_args', [ $this, 'filter_view_url_query_args' ], 10, 2 ); + add_filter( 'tribe_events_views_v2_view_repository_args', [ $this, 'filter_events_views_v2_view_repository_args' ], 10, 2 ); + + add_filter( 'tribe_events_filter_views_v2_wp_title_plural_events_label', [ $this, 'filter_views_v2_wp_title_plural_events_label' ], 10, 3 ); + add_filter( 'tribe_events_pro_filter_views_v2_wp_title_plural_events_label', [ $this, 'filter_views_v2_wp_title_plural_events_label' ], 10, 3 ); + add_filter( 'tribe_events_views_v2_view_breadcrumbs', [ $this, 'filter_v2_view_breadcrumbs' ], 10, 2 ); + } + + /** + * Filters the publicly available query variables to add the ones supported by Views v2. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param array $query_vars The list of publicly available query variables. + * + * @return array The filtered list of publicly available query variables. + */ + public function filter_query_vars( array $query_vars = [] ) { + $query_vars[] = 'virtual'; + + return $this->container->make( Kitchen_Sink::class )->filter_register_query_vars( $query_vars ); + } + + /** + * Filters the query arguments Views will use to build their own URL. + * + * Using the context we'll know what filter are applied and what keys and values to add to the query args. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param array $query_args The current URL query arguments. + * @param View_Interface $view The instance of the View the URL is being built for. + * + * @return array The filtered array of URL query arguments. + */ + public function filter_view_url_query_args( array $query_args, View_Interface $view ) { + return $this->container->make( Query::class )->filter_view_query_args( $query_args, $view ); + } + + /** + * Hook to filter a view repository args to add the virtual ones. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param array $repository_args The current repository args. + * @param Context|null $context An instance of the context the View is using or `null` to use the + * global Context. + * + * @return array The filtered repository args. + */ + public function filter_events_views_v2_view_repository_args( array $repository_args = [], Context $context = null ) { + return $this->container->make( Repository::class )->filter_repository_args( $repository_args, $context ); + } + + /** + * Filter the plural events label for Virtual V2 Views. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param string $label The plural events label as it's been generated thus far. + * @param Context $context The context used to build the title, it could be the global one, or one externally + * set. + * + * @return string the original label or updated label for virtual archives. + */ + public function filter_views_v2_wp_title_plural_events_label( $label, Context $context ) { + return $this->container->make( Title::class )->filter_views_v2_wp_title_plural_events_label( $label, $context ); + } + + /** + * Setup breadcrumbs for when it's virtual. + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @param array $breadcrumbs An array of breadcrumbs. + * @param View $this The current View instance being rendered. + * + * @return array An array of breadcrumb data the View will display on the front-end. + */ + public function filter_v2_view_breadcrumbs( $breadcrumbs, $view ) { + return $this->container->make( Breadcrumbs::class )->filter_views_v2_breadcrumbs( $breadcrumbs, $view ); + } +} diff --git a/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Views/V2/Widgets/Widget.php b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Views/V2/Widgets/Widget.php new file mode 100644 index 000000000..6e7133131 --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/Tribe/Virtual/Views/V2/Widgets/Widget.php @@ -0,0 +1,69 @@ +should_enqueue_full_styles() ) { + tribe_asset_enqueue( 'tribe-events-virtual-widgets-v2-common-full' ); + } + } +} diff --git a/wp-content/plugins/events-calendar-pro/src/Tribe/iCal.php b/wp-content/plugins/events-calendar-pro/src/Tribe/iCal.php index ddb672709..5e0d758ce 100644 --- a/wp-content/plugins/events-calendar-pro/src/Tribe/iCal.php +++ b/wp-content/plugins/events-calendar-pro/src/Tribe/iCal.php @@ -8,7 +8,7 @@ class Tribe__Events__Pro__iCal { /** - * Attach hooks + * Attach hooks. * * @since 4.7.5 */ @@ -93,4 +93,4 @@ function ( $row ) { $location = reset( $results ); return empty( $location ) ? '' : $location; } -} \ No newline at end of file +} diff --git a/wp-content/plugins/events-calendar-pro/src/admin-views/components/accordion.php b/wp-content/plugins/events-calendar-pro/src/admin-views/components/accordion.php new file mode 100644 index 000000000..2caaf79b5 --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/admin-views/components/accordion.php @@ -0,0 +1,83 @@ + $classes_wrap An array of classes for the toggle wrap. + * @var array $classes_button An array of classes for the toggle button. + * @var array $classes_panel An array of classes for the toggle content. + * @var string $panel_id The id of the panel for the slide toggle. + * @var string $panel The content of the panel for the slide toggle. + * @var bool $expanded Whether the panel starts open or closed. + */ +$accordion_wrap_classes = [ + 'tribe-field-wrap', + 'tribe-events-virtual-meetings__accordion-wrapper', +]; +if ( ! empty( $classes_wrap ) ) { + $accordion_wrap_classes = array_merge( $accordion_wrap_classes, $classes_wrap ); +} + +$accordion_button_classes = [ 'button', 'tribe-events-virtual-meetings__accordion-element', 'tribe-events-virtual-meetings__accordion-toggle' ]; +if ( ! empty( $classes_button ) ) { + $accordion_button_classes = array_merge( $accordion_button_classes, $classes_button ); +} + +$accordion_panel_classes = [ 'tribe-events-virtual-meetings__accordion-element', 'tribe-events-virtual-meetings__accordion-contents' ]; +if ( ! empty( $classes_panel ) ) { + $accordion_panel_classes = array_merge( $accordion_panel_classes, $classes_panel ); +} + +?> +
                          +> + + +
                          + aria-hidden="" + id="" + + > + +
                          +
                          diff --git a/wp-content/plugins/events-calendar-pro/src/admin-views/components/dropdown.php b/wp-content/plugins/events-calendar-pro/src/admin-views/components/dropdown.php new file mode 100644 index 000000000..10afcf8b8 --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/admin-views/components/dropdown.php @@ -0,0 +1,64 @@ + $classes_wrap An array of classes for the dropdown wrap. + * @var array $classes_label An array of classes for the label. + * @var string $class Class attribute for the dropdown input. + * @var string $name Name attribute for the dropdown input. + * @var string|int $selected The selected option id. + * @var array $attrs Associative array of attributes of the dropdown. + * @var array $wrap_attrs Associative array of attributes of the dropdown wrap. + * @var array $tooltip An optional associative array containing information to display in a tooltip. + */ + +$wrap_classes = [ 'tec-events-virtual-meetings-control', 'tec-events-virtual-meetings-control--select' ]; +if ( ! empty( $classes_wrap ) ) { + $wrap_classes = array_merge( $wrap_classes, $classes_wrap ); +} + +$label_classes = [ 'tec-events-virtual-meetings-control__label' ]; +if ( ! empty( $classes_label ) ) { + $label_classes = array_merge( $label_classes, $classes_label ); +} + +if ( empty( $wrap_attrs ) ) { + $wrap_attrs = []; +} +?> +
                          + +> + template( 'components/tooltip', $tooltip ); + } + ?> +
                          diff --git a/wp-content/plugins/events-calendar-pro/src/admin-views/components/icons/lock.php b/wp-content/plugins/events-calendar-pro/src/admin-views/components/icons/lock.php new file mode 100644 index 000000000..863be2656 --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/admin-views/components/icons/lock.php @@ -0,0 +1,25 @@ + $classes Additional classes to add to the svg icon. + * + * @version 1.9.0 + */ + +$svg_classes = [ 'tribe-events-virtual-icon', 'tribe-events-virtual-icon--lock' ]; + +if ( ! empty( $classes ) ) { + $svg_classes = array_merge( $svg_classes, $classes ); +} +?> + xmlns="http://www.w3.org/2000/svg" viewBox="0 0 330 330" xml:space="preserve"> + + diff --git a/wp-content/plugins/events-calendar-pro/src/admin-views/components/icons/phone.php b/wp-content/plugins/events-calendar-pro/src/admin-views/components/icons/phone.php new file mode 100644 index 000000000..a2dc44dd2 --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/admin-views/components/icons/phone.php @@ -0,0 +1,23 @@ + + xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"> diff --git a/wp-content/plugins/events-calendar-pro/src/admin-views/components/icons/refresh.php b/wp-content/plugins/events-calendar-pro/src/admin-views/components/icons/refresh.php new file mode 100644 index 000000000..28830c215 --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/admin-views/components/icons/refresh.php @@ -0,0 +1,25 @@ + $classes Additional classes to add to the svg icon. + * + * @version 1.9.0 + */ + +$svg_classes = [ 'tribe-events-virtual-icon', 'tribe-common-c-svgicon', 'tribe-common-c-svgicon--refresh' ]; + +if ( ! empty( $classes ) ) { + $svg_classes = array_merge( $svg_classes, $classes ); +} +?> + viewBox="0 0 21 18" fill="none" xmlns="http://www.w3.org/2000/svg"> + + diff --git a/wp-content/plugins/events-calendar-pro/src/admin-views/components/icons/video.php b/wp-content/plugins/events-calendar-pro/src/admin-views/components/icons/video.php new file mode 100644 index 000000000..be90648f7 --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/admin-views/components/icons/video.php @@ -0,0 +1,23 @@ + + xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 12"> diff --git a/wp-content/plugins/events-calendar-pro/src/admin-views/components/message.php b/wp-content/plugins/events-calendar-pro/src/admin-views/components/message.php new file mode 100644 index 000000000..a898e6cc6 --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/admin-views/components/message.php @@ -0,0 +1,44 @@ + $add_classes An array of message classes. + */ +// If not message, do not display. +if ( empty( $message ) ) { + return; +} + +$message_classes = [ + 'tec-events-virtual-settings-message__wrap', + 'tec-settings-form__section-description', +]; + +if ( ! empty( $add_classes ) ) { + array_push( $message_classes, $add_classes ); +} + +if ( ! empty( $message_classes ) ) { + array_push( $message_classes, $type ); +} +?> + +
                          +> + +
                          diff --git a/wp-content/plugins/events-calendar-pro/src/admin-views/components/radio.php b/wp-content/plugins/events-calendar-pro/src/admin-views/components/radio.php new file mode 100644 index 000000000..3d8093848 --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/admin-views/components/radio.php @@ -0,0 +1,64 @@ + $attrs Associative array of attributes of the radio input. + */ + +$label_classes = [ 'tec-events-virtual-meetings-control__label' ]; +if ( ! empty( $classes_label ) ) { + $label_classes = array_merge( $label_classes, $classes_label ); +} + +$wrap_classes = [ 'tribe-events-virtual-meetings-api-control', 'tribe-events-virtual-meetings-api-control--radio-wrap', ]; +if ( ! empty( $classes_wrap ) ) { + $wrap_classes = array_merge( $wrap_classes, $classes_wrap ); +} + +?> +
                          +> + + template( 'components/tooltip', $tooltip ); + } + ?> +
                          diff --git a/wp-content/plugins/events-calendar-pro/src/admin-views/components/text.php b/wp-content/plugins/events-calendar-pro/src/admin-views/components/text.php new file mode 100644 index 000000000..757794a4a --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/admin-views/components/text.php @@ -0,0 +1,43 @@ + $classes_input An array of classes for the toggle wrap. + * @var array $classes_wrap An array of classes for the toggle button. + * @var string $label The label for the text input. + * @var string $id ID of the dropdown input. + * @var string $name The name for the text input. + * @var string $placeholder The placeholder for the text input. + * @var array $page The page data. + * @var string $value The value of the text field. + * @var array $attrs Associative array of attributes of the text input. + */ +?> +
                          > + + + type="text" + name="" + placeholder="" + value="" + + > +
                          \ No newline at end of file diff --git a/wp-content/plugins/events-calendar-pro/src/admin-views/components/tooltip.php b/wp-content/plugins/events-calendar-pro/src/admin-views/components/tooltip.php new file mode 100644 index 000000000..825ab7b3a --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/admin-views/components/tooltip.php @@ -0,0 +1,40 @@ + $classes_wrap An array of classes for the tooltip wrap. + * @var string $message The message to add to the tooltip. + * + */ +$wrap_classes = [ 'tribe-tooltip', 'event-helper-text' ]; +if ( ! empty( $classes_wrap ) ) { + $wrap_classes = array_merge( $wrap_classes, $classes_wrap ); +} + +?> +
                          + aria-expanded="false" +> + +
                          +

                          + [ 'href' => [] ] ] ); + ?> +

                          +
                          +
                          \ No newline at end of file diff --git a/wp-content/plugins/events-calendar-pro/src/admin-views/custom-tables-v1/rdate-occurrence-ui-locked.php b/wp-content/plugins/events-calendar-pro/src/admin-views/custom-tables-v1/rdate-occurrence-ui-locked.php index 17eff17c9..ab974b809 100644 --- a/wp-content/plugins/events-calendar-pro/src/admin-views/custom-tables-v1/rdate-occurrence-ui-locked.php +++ b/wp-content/plugins/events-calendar-pro/src/admin-views/custom-tables-v1/rdate-occurrence-ui-locked.php @@ -6,6 +6,7 @@ * * @var string $link A link to the Event Occurrence that will allow the user to edit the recurrence rules. */ + ?>

                          + - -

                          ' . esc_html__( 'Read more', 'tribe-events-calendar-pro' ) . '' ); ?>

                          +?> +
                          +

                          + +

                          +

                          + ', esc_url( 'https://evnt.is/additional-fields' ) ), + '' + ); + ?> +

                          diff --git a/wp-content/plugins/events-calendar-pro/src/admin-views/event-recurrence.php b/wp-content/plugins/events-calendar-pro/src/admin-views/event-recurrence.php index b1a75bca1..1e591cafe 100644 --- a/wp-content/plugins/events-calendar-pro/src/admin-views/event-recurrence.php +++ b/wp-content/plugins/events-calendar-pro/src/admin-views/event-recurrence.php @@ -20,9 +20,16 @@ 'time-recurrence-time-date-separator' => _x( 'the', 'custom recurrence time/date separator', 'tribe-events-calendar-pro' ), ]; $strings = apply_filters( 'tribe_events_pro_recurrence_admin_template_strings', $strings ); -?> - - +
                          - - - - - + + + + + - + - + - - + + - + - - + + - + - - + + - + @@ -227,8 +287,11 @@ class="tribe-dropdown tribe-recurrence-rule-interval tribe-dependency" include apply_filters( 'tribe_pro_recurrence_template_years', Tribe__Events__Pro__Main::instance()->pluginPath . '/src/admin-views/recurrence/years.php', $rule_type ); ?>
                          -
                          +
                          @@ -249,8 +312,11 @@ class="tribe-field-inline-text recurrence-same-time-text tribe-dependent" data-depends="#recurrence_rule_--_same_time" data-condition="yes" > - + - +
                          - - + +
                          -
                          +
                          @@ -446,16 +520,32 @@ class="tribe-recurrence-rule-type tribe-button-input" data-plural="" value="{{ custom.type }}" > - - - - - + + + + +
                          - + - + - + - + - + - + - + - +
                          -
                          +
                          pluginPath . '/src/admin-views/recurrence/weeks.php', $rule_type ); ?>
                          -
                          +
                          - - -
                          + +
                          @@ -630,7 +756,7 @@ class="rec-count tribe-dependent" class="recurrence_end_count" value="{{this.[end-count]}}" > - + @@ -639,11 +765,17 @@ class="recurrence_end_count"
                          - - + +
                          @@ -670,18 +802,29 @@ class="button">
                          - - - - - - + + + + + get_list_of_pages( true ); +?> +
                          + + + +
                          diff --git a/wp-content/plugins/events-calendar-pro/src/admin-views/facebook/find-app-id.php b/wp-content/plugins/events-calendar-pro/src/admin-views/facebook/find-app-id.php new file mode 100644 index 000000000..842d3a3a9 --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/admin-views/facebook/find-app-id.php @@ -0,0 +1,32 @@ + +
                          + %2$s', + esc_url( $url ), + esc_html_x( + 'How to find your Facebook App ID.', + 'The link label to get the Facebook App ID.', + 'tribe-events-calendar-pro' + ) + ); + ?> +
                          diff --git a/wp-content/plugins/events-calendar-pro/src/admin-views/facebook/find-page-id.php b/wp-content/plugins/events-calendar-pro/src/admin-views/facebook/find-page-id.php new file mode 100644 index 000000000..e7977b201 --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/admin-views/facebook/find-page-id.php @@ -0,0 +1,32 @@ + +
                          + %2$s', + esc_url( $url ), + esc_html_x( + 'How to find your Facebook page/group ID.', + 'The link label to get the Facebook page/group ID.', + 'tribe-events-calendar-pro' + ) + ); + ?> +
                          diff --git a/wp-content/plugins/events-calendar-pro/src/admin-views/facebook/intro-text.php b/wp-content/plugins/events-calendar-pro/src/admin-views/facebook/intro-text.php new file mode 100644 index 000000000..6317806ff --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/admin-views/facebook/intro-text.php @@ -0,0 +1,35 @@ + +
                          +

                          + +

                          + +
                          diff --git a/wp-content/plugins/events-calendar-pro/src/admin-views/facebook/page/add-link.php b/wp-content/plugins/events-calendar-pro/src/admin-views/facebook/page/add-link.php new file mode 100644 index 000000000..fe1bf4712 --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/admin-views/facebook/page/add-link.php @@ -0,0 +1,33 @@ +add_link(); +$connect_label = _x( 'Add Facebook Page', 'Label to connect an page to the Facebook Live API.', 'tribe-events-calendar-pro' ); + +$classes = [ + 'button' => true, + 'tribe-events-virtual-meetings-facebook-settings__add-page-button' => true, +]; +?> + +> + + + diff --git a/wp-content/plugins/events-calendar-pro/src/admin-views/facebook/page/components/add-button.php b/wp-content/plugins/events-calendar-pro/src/admin-views/facebook/page/components/add-button.php new file mode 100644 index 000000000..341ede0b0 --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/admin-views/facebook/page/components/add-button.php @@ -0,0 +1,32 @@ + $page The page data. + * @var Url $url An instance of the URL handler. + */ + +$add_link = $url->to_save_page_link(); +$add_label = _x( 'Add', 'Add a facebook page from the list of Facebook live pages.', 'tribe-events-calendar-pro' ); +?> + diff --git a/wp-content/plugins/events-calendar-pro/src/admin-views/facebook/page/components/delete-button.php b/wp-content/plugins/events-calendar-pro/src/admin-views/facebook/page/components/delete-button.php new file mode 100644 index 000000000..9eaa10be6 --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/admin-views/facebook/page/components/delete-button.php @@ -0,0 +1,35 @@ + $page The page data. + * @var Url $url An instance of the URL handler. + */ + +$delete_link = $url->to_delete_page_link( $local_id ); +$delete_label = _x( 'Remove facebook page', 'Removes a facebook page from the list of Facebook live pages.', 'tribe-events-calendar-pro' ) +?> +
                          + +
                          diff --git a/wp-content/plugins/events-calendar-pro/src/admin-views/facebook/page/components/facebook-connect.php b/wp-content/plugins/events-calendar-pro/src/admin-views/facebook/page/components/facebook-connect.php new file mode 100644 index 000000000..aa1e63bfc --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/admin-views/facebook/page/components/facebook-connect.php @@ -0,0 +1,37 @@ + $page The page data. + */ + +if ( ! empty( $page['access_token'] ) ) { + return; +} +?> +
                          + +
                          diff --git a/wp-content/plugins/events-calendar-pro/src/admin-views/facebook/page/components/status.php b/wp-content/plugins/events-calendar-pro/src/admin-views/facebook/page/components/status.php new file mode 100644 index 000000000..506c1442b --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/admin-views/facebook/page/components/status.php @@ -0,0 +1,73 @@ + $page The page data. + * @var Url $url An instance of the URL handler. + */ + +$connect_status = _x( + 'Not Connected', + 'The status of the Page\'s access token.', + 'tribe-events-calendar-pro' +); +$connect_instructions = _x( + 'click "Continue with Facebook" to authorize it.', + 'The message to display if a Faceook Page is not connected.', + 'tribe-events-calendar-pro' +); + +$connected_message = sprintf( + '%1$s, %2$s', + esc_html( $connect_status ), + esc_html( $connect_instructions ) +); + +if ( $page['access_token'] ) { + $connect_status = _x( + 'Connected', + 'The status of the Page\'s access token.', + 'tribe-events-calendar-pro' + ); + $connect_instructions = _x( + 'token expires:', + 'The message to display if a Faceook Page is connected.', + 'tribe-events-calendar-pro' + ); + $clear_link_label = _x( + 'clear token', + 'The label of the link to clear the token.', + 'tribe-events-calendar-pro' + ); + + $connected_message = sprintf( + '%1$s, %2$s %3$s - %5$s', + esc_html( $connect_status ), + esc_html( $connect_instructions ), + esc_html( $page['expiration'] ), + $url->to_clear_access_page_link(), + esc_html( $clear_link_label ) + ); +} +$expiration = $page['expiration']; +?> +
                          +
                          + + + + +
                          +
                          diff --git a/wp-content/plugins/events-calendar-pro/src/admin-views/facebook/page/components/text.php b/wp-content/plugins/events-calendar-pro/src/admin-views/facebook/page/components/text.php new file mode 100644 index 000000000..ebfef2723 --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/admin-views/facebook/page/components/text.php @@ -0,0 +1,44 @@ + $classes_input An array of classes for the toggle wrap. + * @var array $classes_wrap An array of classes for the toggle button. + * @var string $label The label for the text input. + * @var string $name The name for the text input. + * @var string $placeholder The placeholder for the text input. + * @var string $screen_reader The screen reader instructions for the text input. + * @var array $page The page data. + * @var string $value The value of the text field. + */ +?> +
                          > +
                          + + + +
                          + + type="text" + name="" + placeholder="" + value="" + > + +
                          +
                          +
                          diff --git a/wp-content/plugins/events-calendar-pro/src/admin-views/facebook/page/components/update-button.php b/wp-content/plugins/events-calendar-pro/src/admin-views/facebook/page/components/update-button.php new file mode 100644 index 000000000..a54fbe046 --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/admin-views/facebook/page/components/update-button.php @@ -0,0 +1,33 @@ + $page The page data. + * @var Url $url An instance of the URL handler. + */ + +$update_link = $url->to_save_page_link(); +$update_label = _x( 'Update Facebook Page.', 'Save a facebook page from the list of Facebook live pages.', 'tribe-events-calendar-pro' ); + +?> + diff --git a/wp-content/plugins/events-calendar-pro/src/admin-views/facebook/page/fields.php b/wp-content/plugins/events-calendar-pro/src/admin-views/facebook/page/fields.php new file mode 100644 index 000000000..d57e7db1d --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/admin-views/facebook/page/fields.php @@ -0,0 +1,105 @@ + $page The page data. + * @var URL $url An instance of the URL handler. + */ + +?> + +
                        • +
                          + template( 'facebook/page/components/text', [ + 'classes_input' => [ 'tribe-settings-facebook-page-details__input', 'tribe-settings-facebook-page-details__page-name-input' ], + 'classes_wrap' => [ 'tribe-settings-facebook-page-details__page-name' ], + 'label' => _x( 'Page Name', 'Label for the name of the Facebook page connected to the site.', 'tribe-events-calendar-pro' ), + 'name' => "tec_facebook_page[]['name']", + 'placeholder' => _x( 'Enter a Facebook Page Name', 'The placeholder for the Facebook Page name.', 'tribe-events-calendar-pro' ), + 'screen_reader' => _x( 'Enter a Facebook Page name.', 'The screen reader text of the label for the Facebook Page name.', 'tribe-events-calendar-pro' ), + 'page' => $page, + 'value' => $page['name'], + ] ); + ?> + + template( 'facebook/page/components/text', [ + 'classes_input' => [ 'tribe-settings-facebook-page-details__input','tribe-settings-facebook-page-details__page-id-input' ], + 'classes_wrap' => [ 'tribe-settings-facebook-page-details__page-id' ], + 'label' => _x( 'Page ID', 'Label for the id of the Facebook page connected to the site.', 'tribe-events-calendar-pro' ), + 'name' => "tec_facebook_page[]['id']", + 'placeholder' => _x( 'Enter a Facebook Page ID', 'The placeholder for the Facebook page id.', 'tribe-events-calendar-pro' ), + 'screen_reader' => _x( 'Enter a Facebook Page ID.', 'The screen reader text of the label for the Facebook page id.', 'tribe-events-calendar-pro' ), + 'page' => $page, + 'value' => $page['page_id'], + ] ); + ?> + +
                          + template( 'facebook/page/components/update-button', [ + 'page' => $page, + 'url' => $url, + ] ); + } else { + $this->template( 'facebook/page/components/add-button', [ + 'page' => $page, + 'url' => $url, + ] ); + } ?> +
                          + template( 'facebook/page/components/delete-button', [ + 'local_id' => $local_id, + 'page' => $page, + 'url' => $url, + ] ); + } ?> +
                          + +
                          + + + template( 'facebook/page/components/status', [ + 'local_id' => $local_id, + 'page' => $page, + 'url' => $url, + ] ); + } ?> + + template( 'facebook/page/components/facebook-connect', [ + 'local_id' => $local_id, + 'page' => $page, + ] ); + } ?> + +
                          + +
                          + +
                          +
                        • diff --git a/wp-content/plugins/events-calendar-pro/src/admin-views/facebook/page/list.php b/wp-content/plugins/events-calendar-pro/src/admin-views/facebook/page/list.php new file mode 100644 index 000000000..5bfd4aae4 --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/admin-views/facebook/page/list.php @@ -0,0 +1,46 @@ + $pages An array of the Facebook pages authorized for the site. + * @var URL $url An instance of the URL handler. + */ + +?> +template( 'facebook/page/fields', [ + 'local_id' => $api->get_unique_id(), + 'page' => [ + 'name' => '', + 'page_id' => '', + 'access_token' => '', + 'expiration' => '', + ], + 'url' => $url, + ] ); + + return; +} +?> + $page ) : ?> + template( 'facebook/page/fields', [ + 'local_id' => $local_id, + 'page' => $page, + 'url' => $url, + ] ); + ?> + diff --git a/wp-content/plugins/events-calendar-pro/src/admin-views/facebook/save.php b/wp-content/plugins/events-calendar-pro/src/admin-views/facebook/save.php new file mode 100644 index 000000000..3b2a83b22 --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/admin-views/facebook/save.php @@ -0,0 +1,30 @@ + +
                          + +
                          diff --git a/wp-content/plugins/events-calendar-pro/src/admin-views/geolocation-fix-text.php b/wp-content/plugins/events-calendar-pro/src/admin-views/geolocation-fix-text.php index f13741859..efa110b90 100644 --- a/wp-content/plugins/events-calendar-pro/src/admin-views/geolocation-fix-text.php +++ b/wp-content/plugins/events-calendar-pro/src/admin-views/geolocation-fix-text.php @@ -9,10 +9,10 @@ ?>
                          - +
                          fix_geoloc_data_button(); ?> -

                          +

                          diff --git a/wp-content/plugins/events-calendar-pro/src/admin-views/google/api/accounts/list.php b/wp-content/plugins/events-calendar-pro/src/admin-views/google/api/accounts/list.php new file mode 100644 index 000000000..b017ea105 --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/admin-views/google/api/accounts/list.php @@ -0,0 +1,82 @@ + $list An array of the Google accounts authorized for the site. + */ + +if ( empty( $accounts ) ) { + return; +} +?> +

                            + $account ) : ?> + + +
                          diff --git a/wp-content/plugins/events-calendar-pro/src/admin-views/google/api/authorize-fields.php b/wp-content/plugins/events-calendar-pro/src/admin-views/google/api/authorize-fields.php new file mode 100644 index 000000000..b38c53c64 --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/admin-views/google/api/authorize-fields.php @@ -0,0 +1,65 @@ +get_list_of_accounts( true ); +?> +
                          + +

                          + ', 'https://evnt.is/1b8r' ), + '' + ); + ?> +

                          +
                          + template( 'components/message', [ + 'message' => $message, + 'type' => 'standard', + ] ); + ?> +
                          +
                          + template( 'google/api/accounts/list', [ + 'api' => $api, + 'url' => $url, + 'accounts' => $accounts, + ] ); + ?> +
                          +
                          + template( 'google/api/authorize-fields/add-link', [ + 'api' => $api, + 'url' => $url, + ] ); + ?> +
                          +
                          diff --git a/wp-content/plugins/events-calendar-pro/src/admin-views/google/api/authorize-fields/add-link.php b/wp-content/plugins/events-calendar-pro/src/admin-views/google/api/authorize-fields/add-link.php new file mode 100644 index 000000000..0aeb05082 --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/admin-views/google/api/authorize-fields/add-link.php @@ -0,0 +1,51 @@ +to_authorize(); +$connect_label = _x( 'Add Google Account', 'Label to connect an account to the Google API.', 'tribe-events-calendar-pro' ); + +$classes = [ + 'button' => true, + 'tec-settings-form__add-account-button' => true, + 'tec-events-virtual-meetings-api-settings_add-account-button' => true, + 'tec-events-virtual-meetings-google-settings_add-account-button' => true, +]; + +?> + +> + + + + diff --git a/wp-content/plugins/events-calendar-pro/src/admin-views/google/api/intro-text.php b/wp-content/plugins/events-calendar-pro/src/admin-views/google/api/intro-text.php new file mode 100644 index 000000000..b40dab9ae --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/admin-views/google/api/intro-text.php @@ -0,0 +1,22 @@ + +

                          + +

                          diff --git a/wp-content/plugins/events-calendar-pro/src/admin-views/index.php b/wp-content/plugins/events-calendar-pro/src/admin-views/index.php new file mode 100644 index 000000000..98013b11d --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/admin-views/index.php @@ -0,0 +1 @@ + + +
                          +

                          + +

                          +
                          + +
                          +
                          diff --git a/wp-content/plugins/events-calendar-pro/src/admin-views/microsoft/api/accounts/list.php b/wp-content/plugins/events-calendar-pro/src/admin-views/microsoft/api/accounts/list.php new file mode 100644 index 000000000..cadda7e7d --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/admin-views/microsoft/api/accounts/list.php @@ -0,0 +1,82 @@ + $list An array of the Microsoft accounts authorized for the site. + */ + +if ( empty( $accounts ) ) { + return; +} +?> +
                            + $account ) : ?> + + +
                          diff --git a/wp-content/plugins/events-calendar-pro/src/admin-views/microsoft/api/authorize-fields.php b/wp-content/plugins/events-calendar-pro/src/admin-views/microsoft/api/authorize-fields.php new file mode 100644 index 000000000..5fa29ef88 --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/admin-views/microsoft/api/authorize-fields.php @@ -0,0 +1,65 @@ +get_list_of_accounts( true ); +?> +
                          + +

                          + ', 'https://evnt.is/1b9c' ), + '' + ); + ?> +

                          +
                          + template( 'components/message', [ + 'message' => $message, + 'type' => 'standard', + ] ); + ?> +
                          +
                          + template( 'microsoft/api/accounts/list', [ + 'api' => $api, + 'url' => $url, + 'accounts' => $accounts, + ] ); + ?> +
                          +
                          + template( 'microsoft/api/authorize-fields/add-link', [ + 'api' => $api, + 'url' => $url, + ] ); + ?> +
                          +
                          diff --git a/wp-content/plugins/events-calendar-pro/src/admin-views/microsoft/api/authorize-fields/add-link.php b/wp-content/plugins/events-calendar-pro/src/admin-views/microsoft/api/authorize-fields/add-link.php new file mode 100644 index 000000000..b0ea4e9d2 --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/admin-views/microsoft/api/authorize-fields/add-link.php @@ -0,0 +1,51 @@ +to_authorize(); +$connect_label = _x( 'Add Microsoft Account', 'Label to connect an account to the Microsoft API.', 'tribe-events-calendar-pro' ); + +$classes = [ + 'button' => true, + 'tec-events-virtual-meetings-api-settings_add-account-button' => true, + 'tec-events-virtual-meetings-microsoft-settings_add-account-button' => true, + 'tec-settings-form__add-account-button' => true, +]; + +?> + +> + + + + diff --git a/wp-content/plugins/events-calendar-pro/src/admin-views/microsoft/api/intro-text.php b/wp-content/plugins/events-calendar-pro/src/admin-views/microsoft/api/intro-text.php new file mode 100644 index 000000000..df700e941 --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/admin-views/microsoft/api/intro-text.php @@ -0,0 +1,22 @@ + +

                          + +

                          diff --git a/wp-content/plugins/events-calendar-pro/src/admin-views/series-metabox/events-list/title.php b/wp-content/plugins/events-calendar-pro/src/admin-views/series-metabox/events-list/title.php new file mode 100644 index 000000000..c7b1cd849 --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/admin-views/series-metabox/events-list/title.php @@ -0,0 +1,36 @@ + +
                          +
                          + +
                          +
                          + + + + + + + +
                          +
                          \ No newline at end of file diff --git a/wp-content/plugins/events-calendar-pro/src/admin-views/settings/tabs/defaults/default-organizer.php b/wp-content/plugins/events-calendar-pro/src/admin-views/settings/tabs/defaults/default-organizer.php new file mode 100644 index 000000000..56972fc1c --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/admin-views/settings/tabs/defaults/default-organizer.php @@ -0,0 +1,57 @@ +get_organizer_info() ?? []; +$organizer_options = []; + +if ( is_array( $organizers ) && ! empty( $organizers ) ) { + $organizer_options[0] = __( 'No Default', 'tribe-events-calendar-pro' ); + foreach ( $organizers as $organizer ) { + $organizer_options[ $organizer->ID ] = $organizer->post_title; + } +} + + +$default_organizer_fields = [ + 'tec-events-pro-defaults-organizer-title' => [ + 'type' => 'html', + 'html' => '
                          ' + . '

                          ' + . _x( 'Organizer', 'Default organizer section header', 'tribe-events-calendar-pro' ) + . '

                          ' + . '

                          ' + . esc_html__( 'You can override these settings as you enter a new event.', 'tribe-events-calendar-pro' ) + . '

                          ' + . '
                          ', + ], + 'eventsDefaultOrganizerID' => [ + 'type' => 'dropdown', + 'label' => __( 'Default organizer', 'tribe-events-calendar-pro' ), + 'default' => false, + 'validation_type' => 'options', + 'options' => $organizer_options, + 'if_empty' => __( 'No saved organizers yet.', 'tribe-events-calendar-pro' ), + 'can_be_empty' => true, + ], +]; + +$defaults_organizer = new Tribe__Settings_Tab( + 'defaults-organizer-tab', + esc_html__( 'Default Organizer', 'the-events-calendar' ), + [ + 'priority' => 30.10, + 'fields' => apply_filters( + 'tec_events_settings_defaults_organizer_section', + $default_organizer_fields + ), + 'parent' => 'defaults', + ] +); + +do_action( 'tec_events_settings_tab_defaults_organizer', $defaults_organizer ); + +return $defaults_organizer; diff --git a/wp-content/plugins/events-calendar-pro/src/admin-views/settings/tabs/defaults/default-venue.php b/wp-content/plugins/events-calendar-pro/src/admin-views/settings/tabs/defaults/default-venue.php new file mode 100644 index 000000000..ba3fcc305 --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/admin-views/settings/tabs/defaults/default-venue.php @@ -0,0 +1,164 @@ +get_venue_info() ?? []; +$state_options = []; +$country_options = []; +$venue_options = []; + +if ( is_array( $venues ) && ! empty( $venues ) ) { + $venue_options[0] = __( 'No Default', 'tribe-events-calendar-pro' ); + foreach ( $venues as $venue ) { + $venue_options[ $venue->ID ] = $venue->post_title; + } +} + +$state_options = array_merge( + [ '' => __( 'Select a State', 'tribe-events-calendar-pro' ) ], + Tribe__View_Helpers::loadStates() +); + +$country_options = Tribe__View_Helpers::constructCountries(); + +// Generate the HTML for the title and description of the section. +ob_start(); +?> +
                          +

                          + +

                          +

                          + +

                          +
                          + + +
                          +

                          + +

                          +

                          + +

                          +
                          + [ + 'type' => 'html', + 'html' => $title_html, + ], + 'eventsDefaultVenueID' => [ + 'type' => 'dropdown', + 'label' => __( 'Default venue', 'tribe-events-calendar-pro' ), + 'default' => false, + 'validation_type' => 'options', + 'options' => $venue_options, + 'if_empty' => __( 'No saved venues yet.', 'tribe-events-calendar-pro' ), + 'can_be_empty' => true, + ], + 'tec-events-pro-defaults-venue-address-separator' => [ + 'type' => 'html', + 'html' => '
                          ', + ], + 'tec-events-pro-defaults-venue-address-title' => [ + 'type' => 'html', + 'html' => $address_html, + ], + 'eventsDefaultAddress' => [ + 'type' => 'text', + 'label' => __( 'Default address', 'tribe-events-calendar-pro' ), + 'default' => false, + 'class' => 'venue-default-info', + 'validation_type' => 'address', + 'can_be_empty' => true, + ], + 'eventsDefaultCity' => [ + 'type' => 'text', + 'label' => __( 'Default city', 'tribe-events-calendar-pro' ), + 'default' => false, + 'class' => 'venue-default-info', + 'validation_type' => 'city_or_province', + 'can_be_empty' => true, + ], + 'defaultCountry' => [ + 'type' => 'dropdown', + 'label' => __( 'Default country', 'tribe-events-calendar-pro' ), + 'default' => false, + 'class' => 'venue-default-info', + 'validation_type' => 'options_with_label', + 'options' => $country_options, + 'can_be_empty' => true, + ], + 'eventsDefaultState' => [ + 'type' => 'dropdown', + 'label' => __( 'Default state/province', 'tribe-events-calendar-pro' ), + 'default' => false, + 'class' => 'venue-default-info', + 'validation_type' => 'options', + 'options' => $state_options, + 'can_be_empty' => true, + ], + 'eventsDefaultProvince' => [ + 'type' => 'text', + 'label' => __( 'Default state/province', 'tribe-events-calendar-pro' ), + 'default' => false, + 'class' => 'venue-default-info', + 'validation_type' => 'city_or_province', + 'can_be_empty' => true, + ], + 'eventsDefaultZip' => [ + 'type' => 'text', + 'label' => __( 'Default postal code/zip code', 'tribe-events-calendar-pro' ), + 'default' => false, + 'class' => 'venue-default-info', + 'validation_type' => 'address', // allows for letters, numbers, dashses and spaces only. + 'can_be_empty' => true, + ], + 'eventsDefaultPhone' => [ + 'type' => 'text', + 'label' => __( 'Default phone', 'tribe-events-calendar-pro' ), + 'default' => false, + 'class' => 'venue-default-info', + 'validation_type' => 'phone', + 'can_be_empty' => true, + ], + 'tribeEventsCountries' => [ + 'type' => 'textarea', + 'label' => __( 'Use a custom list of countries', 'tribe-events-calendar-pro' ), + 'default' => false, + 'validation_type' => 'country_list', + 'tooltip' => __( 'Replaces the default list.', 'tribe-events-calendar-pro' ), + 'tooltip_first' => true, + 'append' => '

                          ' . __( 'One country per line in the following format:
                          US, United States
                          UK, United Kingdom.', 'tribe-events-calendar-pro' ) . '

                          ', + 'can_be_empty' => true, + ], +]; + +$defaults_venue = new Tribe__Settings_Tab( + 'defaults-venue-tab', + esc_html__( 'Default Venue', 'the-events-calendar' ), + [ + 'priority' => 30.05, + 'parent' => 'defaults', + 'fields' => apply_filters( + 'tec_events_settings_defaults_venue_section', + $default_venue_fields + ), + ] +); + +do_action( 'tec_events_settings_tab_defaults_venue', $defaults_venue ); + +return $defaults_venue; diff --git a/wp-content/plugins/events-calendar-pro/src/admin-views/tribe-options-defaults.php b/wp-content/plugins/events-calendar-pro/src/admin-views/tribe-options-defaults.php index b052f7bf0..909dcedfc 100644 --- a/wp-content/plugins/events-calendar-pro/src/admin-views/tribe-options-defaults.php +++ b/wp-content/plugins/events-calendar-pro/src/admin-views/tribe-options-defaults.php @@ -1,226 +1,18 @@ get_organizer_info(); - if ( is_array( $organizers ) && ! empty( $organizers ) ) { - $organizer_options[0] = __( 'No Default', 'tribe-events-calendar-pro' ); - foreach ( $organizers as $organizer ) { - $organizer_options[ $organizer->ID ] = $organizer->post_title; - } - } - - $venues = Tribe__Events__Main::instance()->get_venue_info(); - if ( is_array( $venues ) && ! empty( $venues ) ) { - $venue_options[0] = __( 'No Default', 'tribe-events-calendar-pro' ); - foreach ( $venues as $venue ) { - $venue_options[ $venue->ID ] = $venue->post_title; - } - } - - $state_options = Tribe__View_Helpers::loadStates(); - $state_options = array_merge( array( '' => __( 'Select a State', 'tribe-events-calendar-pro' ) ), $state_options ); +$defaults_tab = new Tribe__Settings_Tab( + 'defaults', + esc_html__( 'Default Content', 'tribe-events-calendar-pro' ), + [ + 'priority' => 30, + 'fields' => [], // Parent tabs don't have content of their own! + ] +); - $country_options = Tribe__View_Helpers::constructCountries(); -} +$venue_tab = require_once __DIR__ . '/settings/tabs/defaults/default-venue.php'; +$defaults_tab->add_child( $venue_tab ); -$defaultsTab = array( - 'priority' => 30, - 'fields' => array( - 'info-start' => array( - 'type' => 'html', - 'html' => '
                          ', - ), - 'info-box-title' => array( - 'type' => 'html', - 'html' => '

                          ' . __( 'Default Content', 'tribe-events-calendar-pro' ) . '

                          ', - ), - 'info-box-description' => array( - 'type' => 'html', - 'html' => '

                          ' . __( '

                          Choose the default venue & organizer. Set default address information to save time when entering a new venue or organizer.

                          You can override these settings as you enter a new event.

                          ', 'tribe-events-calendar-pro' ) . '

                          ', - ), - 'info-end' => array( - 'type' => 'html', - 'html' => '
                          ', - ), - 'tribe-form-content-start' => array( - 'type' => 'html', - 'html' => '
                          ', - ), - 'eventsDefaultOrganizerHelperTitle' => array( - 'type' => 'html', - 'html' => '

                          ' . __( 'Organizer', 'tribe-events-calendar-pro' ) . '

                          ', - ), - 'eventsDefaultOrganizerID' => array( - 'type' => 'dropdown', - 'label' => __( 'Default organizer', 'tribe-events-calendar-pro' ), - 'default' => false, - 'validation_type' => 'options', - 'options' => $organizer_options, - 'if_empty' => __( 'No saved organizers yet.', 'tribe-events-calendar-pro' ), - 'can_be_empty' => true, - ), - 'current-default-organizer' => array( - 'type' => 'html', - 'display_callback' => 'tribe_display_saved_organizer', - ), - 'eventsDefaultVenueHelperTitle' => array( - 'type' => 'html', - 'html' => '

                          ' . __( 'Venue', 'tribe-events-calendar-pro' ) . '

                          ', - ), - 'eventsDefaultVenueID' => array( - 'type' => 'dropdown', - 'label' => __( 'Default venue', 'tribe-events-calendar-pro' ), - 'default' => false, - 'validation_type' => 'options', - 'options' => $venue_options, - 'if_empty' => __( 'No saved venues yet.', 'tribe-events-calendar-pro' ), - 'can_be_empty' => true, - ), - 'current-default-venue' => array( - 'type' => 'html', - 'display_callback' => 'tribe_display_saved_venue', - ), - 'eventsDefaultAddressHelperTitle' => array( - 'type' => 'html', - 'html' => '

                          ' . __( 'Address', 'tribe-events-calendar-pro' ) . '

                          ', - ), - 'eventsDefaultAddressHelperText' => array( - 'type' => 'html', - 'html' => '

                          ' . __( 'You can use this setting to set specific, individual defaults for any new Venue you create (these will not be used for your default venue).', 'tribe-events-calendar-pro' ) . '

                          ', - ), - 'eventsDefaultAddress' => array( - 'type' => 'text', - 'label' => __( 'Default address', 'tribe-events-calendar-pro' ), - 'default' => false, - 'class' => 'venue-default-info', - 'validation_type' => 'address', - 'can_be_empty' => true, - ), - 'current-default-address' => array( - 'type' => 'html', - 'class' => 'venue-default-info', - 'display_callback' => 'tribe_display_saved_address', - ), - 'eventsDefaultCity' => array( - 'type' => 'text', - 'label' => __( 'Default city', 'tribe-events-calendar-pro' ), - 'default' => false, - 'class' => 'venue-default-info', - 'validation_type' => 'city_or_province', - 'can_be_empty' => true, - ), - 'current-default-city' => array( - 'type' => 'html', - 'class' => 'venue-default-info', - 'display_callback' => 'tribe_display_saved_city', - ), - 'defaultCountry' => array( - 'type' => 'dropdown', - 'label' => __( 'Default country', 'tribe-events-calendar-pro' ), - 'default' => false, - 'class' => 'venue-default-info', - 'validation_type' => 'options_with_label', - 'options' => $country_options, - 'can_be_empty' => true, - ), - 'current-default-country' => array( - 'type' => 'html', - 'display_callback' => 'tribe_display_saved_country', - ), - 'eventsDefaultState' => array( - 'type' => 'dropdown', - 'label' => __( 'Default state/province', 'tribe-events-calendar-pro' ), - 'default' => false, - 'class' => 'venue-default-info', - 'validation_type' => 'options', - 'options' => $state_options, - 'can_be_empty' => true, - ), - 'current-default-state' => array( - 'type' => 'html', - 'display_callback' => 'tribe_display_saved_state', - ), - 'eventsDefaultProvince' => array( - 'type' => 'text', - 'label' => __( 'Default state/province', 'tribe-events-calendar-pro' ), - 'default' => false, - 'class' => 'venue-default-info', - 'validation_type' => 'city_or_province', - 'can_be_empty' => true, - ), - 'current-default-province' => array( - 'type' => 'html', - 'class' => 'venue-default-info', - 'display_callback' => 'tribe_display_saved_province', - ), - 'eventsDefaultZip' => array( - 'type' => 'text', - 'label' => __( 'Default postal code/zip code', 'tribe-events-calendar-pro' ), - 'default' => false, - 'class' => 'venue-default-info', - 'validation_type' => 'address', // allows for letters, numbers, dashses and spaces only - 'can_be_empty' => true, - ), - 'current-default-zip' => array( - 'type' => 'html', - 'class' => 'venue-default-info', - 'display_callback' => 'tribe_display_saved_zip', - ), - 'eventsDefaultPhone' => array( - 'type' => 'text', - 'label' => __( 'Default phone', 'tribe-events-calendar-pro' ), - 'default' => false, - 'class' => 'venue-default-info', - 'validation_type' => 'phone', - 'can_be_empty' => true, - ), - 'current-default-phone' => array( - 'type' => 'html', - 'class' => 'venue-default-info', - 'display_callback' => 'tribe_display_saved_phone', - ), - 'tribeEventsCountries' => array( - 'type' => 'textarea', - 'label' => __( 'Use a custom list of countries', 'tribe-events-calendar-pro' ), - 'default' => false, - 'validation_type' => 'country_list', - 'tooltip' => __( 'One country per line in the following format:
                          US, United States
                          UK, United Kingdom.
                          (Replaces the default list.)', 'tribe-events-calendar-pro' ), - 'can_be_empty' => true, - ), - 'tribe-form-content-end' => array( - 'type' => 'html', - 'html' => '
                          ', - ), - ), -); +$organizer_tab = require_once __DIR__ . '/settings/tabs/defaults/default-organizer.php'; +$defaults_tab->add_child( $organizer_tab ); -/** - * @todo remove in 4.3 - * @deprecated - */ -if ( apply_filters( 'tribe_enable_default_value_replace_checkbox', false ) ) { - _deprecated_function( "'defaultValueReplace checkbox'", '4.0', 'Built-in WordPress postmeta filters' ); - $defaultsTab['fields'] = Tribe__Main::array_insert_before_key( - 'eventsDefaultOrganizerHelperTitle', - $defaultsTab['fields'], - array( - 'eventsDefaultOptionsHelperTitle' => array( - 'type' => 'html', - 'html' => '

                          ' . esc_html__( 'Options', 'tribe-events-calendar-pro' ) . '

                          ', - ), - 'defaultValueReplace' => array( - 'type' => 'checkbox_bool', - 'label' => esc_html__( 'If fields are left empty when they\'re submitted, automatically fill them in with these values.', 'tribe-events-calendar-pro' ), - 'default' => false, - 'validation_type' => 'boolean', - ), - ) - ); -} +do_action( 'tec_events_settings_tab_defaults', $defaults_tab ); diff --git a/wp-content/plugins/events-calendar-pro/src/admin-views/virtual-metabox/api/account-disabled-details.php b/wp-content/plugins/events-calendar-pro/src/admin-views/virtual-metabox/api/account-disabled-details.php new file mode 100644 index 000000000..73eaf78da --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/admin-views/virtual-metabox/api/account-disabled-details.php @@ -0,0 +1,41 @@ + +
                          +
                          + +
                          + +
                          +

                          + +

                          +
                          + + +
                          diff --git a/wp-content/plugins/events-calendar-pro/src/admin-views/virtual-metabox/api/account-disabled.php b/wp-content/plugins/events-calendar-pro/src/admin-views/virtual-metabox/api/account-disabled.php new file mode 100644 index 000000000..6d353296f --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/admin-views/virtual-metabox/api/account-disabled.php @@ -0,0 +1,44 @@ + +
                          +
                          + template( + 'virtual-metabox/api/account-disabled-details', + [ + 'disabled_title' => $disabled_title, + 'disabled_body' => $disabled_body, + 'link_url' => $link_url, + 'link_label' => $link_label, + ], + $echo + ); + ?> +
                          +
                          diff --git a/wp-content/plugins/events-calendar-pro/src/admin-views/virtual-metabox/api/accounts.php b/wp-content/plugins/events-calendar-pro/src/admin-views/virtual-metabox/api/accounts.php new file mode 100644 index 000000000..f1ae97030 --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/admin-views/virtual-metabox/api/accounts.php @@ -0,0 +1,69 @@ + $attrs Associative array of attributes of the API account. + * @var string $select_url The URL to select an API account. + * @var string $select_label The label used to designate the next step after selecting an API Account. + * @var array $accounts An array of users to be able to select as a host, that are formatted to use as options. + * @var string $remove_link_url The URL to remove the API connection from the event. + * @var string $remove_link_label The label of the button to remove the API connection from the event. + * @var array $remove_attrs Associative array of attributes of the remove link. + * @var string $title The title of API integration. + * + * @see tribe_get_event() For the format of the event object. + */ + +$metabox_id = 'tribe-events-virtual'; +?> + +
                          +> + +
                          + + > + × + + +
                          + +
                          + + template( 'components/dropdown', $accounts ); ?> + + + + + + template( '/components/loader' ); ?> + +
                          +
                          diff --git a/wp-content/plugins/events-calendar-pro/src/admin-views/virtual-metabox/api/autodetect-no-account.php b/wp-content/plugins/events-calendar-pro/src/admin-views/virtual-metabox/api/autodetect-no-account.php new file mode 100644 index 000000000..f62633f52 --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/admin-views/virtual-metabox/api/autodetect-no-account.php @@ -0,0 +1,49 @@ + $classes_wrap An array of classes for the toggle wrap. + * @var string $message The message to display. + * @var string $setup_link_url The URL to setup an API's accounts. + * @var string $setup_link_label The label of the button to setup an API's accounts. + * @var array $wrap_attrs Associative array of attributes of the dropdown wrap. + * + * @see tribe_get_event() For the format of the event object. + */ + +$wrap_classes = [ 'tec-events-virtual-meetings-control', 'tec-events-virtual-meetings-control--message' ]; +if ( ! empty( $classes_wrap ) ) { + $wrap_classes = array_merge( $wrap_classes, $classes_wrap ); +} + +if ( empty( $wrap_attrs ) ) { + $wrap_attrs = []; +} +?> + +
                          + +> +
                          + + + + + +
                          +
                          diff --git a/wp-content/plugins/events-calendar-pro/src/admin-views/virtual-metabox/api/display.php b/wp-content/plugins/events-calendar-pro/src/admin-views/virtual-metabox/api/display.php new file mode 100644 index 000000000..7dede402b --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/admin-views/virtual-metabox/api/display.php @@ -0,0 +1,58 @@ +virtual_meeting && + ( + Zoom_Event_Meta::$key_source_id === $event->virtual_video_source + || Webex_Event_Meta::$key_source_id === $event->virtual_video_source + || Google_Event_Meta::$key_source_id === $event->virtual_video_source + || Microsoft_Event_Meta::$key_source_id === $event->virtual_video_source + ); + +$classes = [ + 'tec-events-virtual-display__list-item', + 'tribe-events-virtual-hidden' => ! $is_api, +]; + +?> +
                        • > + +
                        • diff --git a/wp-content/plugins/events-calendar-pro/src/admin-views/virtual-metabox/api/meeting-link-error-details.php b/wp-content/plugins/events-calendar-pro/src/admin-views/virtual-metabox/api/meeting-link-error-details.php new file mode 100644 index 000000000..5217dbc52 --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/admin-views/virtual-metabox/api/meeting-link-error-details.php @@ -0,0 +1,96 @@ + $attrs Associative array of attributes of the API account. + * @var string $remove_link_url The URL to remove the event API connection. + * @var string $remove_link_label The label of the button to remove the event API connection. + * @var array $remove_attrs Associative array of attributes of the remove link. + * @var bool $is_authorized Whether the user authorized the API integration to create connections. + * @var string $error_title The title of the error container. + * @var string $error_message The message of the error container. + * @var string $error_details_title The title of the error container details. + * @var string $error_body The error message for the API. + * @var string $link_url The URL to generate an API connection. + * @var string $link_label The label of the button to generate an API connection. + */ + +$remove_link_label = _x( + 'Dismiss', + 'Accessible label of the control to dismiss a failure to generate an API connection.', + 'tribe-events-calendar-pro' +); + +?> + +
                          +> +
                          + + > + × + + +
                          + +
                          + +
                          +

                          + +

                          +
                          + +
                          + +
                          + +
                          +

                          + +

                          +
                          + + +
                          +
                          diff --git a/wp-content/plugins/events-calendar-pro/src/admin-views/virtual-metabox/api/setup-link.php b/wp-content/plugins/events-calendar-pro/src/admin-views/virtual-metabox/api/setup-link.php new file mode 100644 index 000000000..bcabfb924 --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/admin-views/virtual-metabox/api/setup-link.php @@ -0,0 +1,41 @@ + $attrs Associative array of attributes of the API account. + * @var string $setup_link_url The URL to the API settings. + * @var string $setup_link_label The label of the button to for the API settings. + * + * @see tribe_get_event() For the format of the event object. + */ +?> + +
                          +> + +
                          + + + + + +
                          +
                          diff --git a/wp-content/plugins/events-calendar-pro/src/admin-views/virtual-metabox/api/single-host.php b/wp-content/plugins/events-calendar-pro/src/admin-views/virtual-metabox/api/single-host.php new file mode 100644 index 000000000..a43302c5e --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/admin-views/virtual-metabox/api/single-host.php @@ -0,0 +1,28 @@ + $hosts_arr Associative array of the data for hosts dropdown. + */ + +// Get first entry, which should be the only entry. +$host = reset( $hosts_arr ); +?> +
                          + : +
                          diff --git a/wp-content/plugins/events-calendar-pro/src/admin-views/virtual-metabox/api/type-options.php b/wp-content/plugins/events-calendar-pro/src/admin-views/virtual-metabox/api/type-options.php new file mode 100644 index 000000000..9e6f93f5e --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/admin-views/virtual-metabox/api/type-options.php @@ -0,0 +1,56 @@ + $generation_urls A map of the available URL generation labels and URLs. + * @var array $password_requirements An array of password requirements when generating a meeting for an API. + * @var string $metabox_id The metabox current ID. + * + * @see tribe_get_event() For the format of the event object. + */ +if ( empty( $checked ) ) { + $checked = 'meeting'; +} +?> +
                          + list( $generate_link_url, $generate_link_label, $disabled, $tooltip ) ) : ?> + template( 'components/radio', [ + 'metabox_id' => 'tribe-events-virtual', + 'api_id' => $api_id, + 'name' => "{$metabox_id}[{$api_id}-meeting-type]", + 'type' => $type, + 'link' => $generate_link_url, + 'label' => $generate_link_label, + 'classes_label' => [ $disabled ? 'disabled' : '' ], + 'classes_wrap' => [ 1 === count( $generation_urls ) ? 'tribe-events-virtual-hidden' : '' ], + 'checked' => $checked, + 'disabled' => $disabled, + 'tooltip' => $tooltip, + 'attrs' => [ + 'placeholder' => + _x( + 'Select a Host', + 'The placeholder for the dropdown to select a host.', + 'tribe-events-calendar-pro' + ), + 'data-type' => $type, + 'data-password-requirements' => json_encode( $password_requirements ), + ], + ] ); + ?> + +
                          diff --git a/wp-content/plugins/events-calendar-pro/src/admin-views/virtual-metabox/autodetect/components/button.php b/wp-content/plugins/events-calendar-pro/src/admin-views/virtual-metabox/autodetect/components/button.php new file mode 100644 index 000000000..667fdfbfa --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/admin-views/virtual-metabox/autodetect/components/button.php @@ -0,0 +1,33 @@ + + +
                          + +
                          diff --git a/wp-content/plugins/events-calendar-pro/src/admin-views/virtual-metabox/autodetect/controls.php b/wp-content/plugins/events-calendar-pro/src/admin-views/virtual-metabox/autodetect/controls.php new file mode 100644 index 000000000..fb5d8e13e --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/admin-views/virtual-metabox/autodetect/controls.php @@ -0,0 +1,64 @@ + $autodetect_fields An array of field types to display. + * @var array $autodetect_message_classes An array of message classes. + * @var \WP_Post $event The event post object, as decorated by the `tribe_get_event` function. + * @var string $metabox_id The current metabox id. + * @var Url $url An instance of the Autodetect URL handler. + * + * @see tribe_get_event() For the format of the event object. + */ +?> + +
                          + +
                          +
                          + +
                          + +
                          + role="alert" + > +
                          + template( 'virtual-metabox/autodetect/fields', [ + 'event' => $event, + 'autodetect_fields' => $autodetect_fields, + ] ); + + $button_label = _x( + 'Find', + 'Label for button to find the video source.', + 'tribe-events-calendar-pro' + ); + + $this->template( '/virtual-metabox/autodetect/components/button', [ 'button_label' => $button_label ] ); + + $this->template( 'virtual-metabox/autodetect/video-preview' ); + + $this->template( '/components/loader' ); + ?> +
                          +
                          diff --git a/wp-content/plugins/events-calendar-pro/src/admin-views/virtual-metabox/autodetect/fields.php b/wp-content/plugins/events-calendar-pro/src/admin-views/virtual-metabox/autodetect/fields.php new file mode 100644 index 000000000..9bfc19ada --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/admin-views/virtual-metabox/autodetect/fields.php @@ -0,0 +1,33 @@ + $autodetect_fields An array of field types to display. + * + * @see tribe_get_event() For the format of the event object. + */ +?> +
                          + + template( $autodetect_field['path'], $autodetect_field['field'] ); ?> + +
                          diff --git a/wp-content/plugins/events-calendar-pro/src/admin-views/virtual-metabox/autodetect/video-preview.php b/wp-content/plugins/events-calendar-pro/src/admin-views/virtual-metabox/autodetect/video-preview.php new file mode 100644 index 000000000..0f9f74c8f --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/admin-views/virtual-metabox/autodetect/video-preview.php @@ -0,0 +1,44 @@ + +
                          +

                          + +

                          +
                          + +
                          +
                          diff --git a/wp-content/plugins/events-calendar-pro/src/admin-views/virtual-metabox/container.php b/wp-content/plugins/events-calendar-pro/src/admin-views/virtual-metabox/container.php new file mode 100644 index 000000000..58ef44f9c --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/admin-views/virtual-metabox/container.php @@ -0,0 +1,82 @@ + +
                            - - -
                            - -
                            -
                            + + +
                            + +
                            +
                            + template( 'virtual-metabox/container/head' ); ?> + " + data-condition-checked + > + template( + 'virtual-metabox/container/event-type', + [ + 'metabox_id' => $metabox_id, + 'post' => $post, + ] + ); + + $this->template( + 'virtual-metabox/container/video-source', + [ + 'metabox_id' => $metabox_id, + 'post' => $post, + ] + ); + + $this->template( + 'virtual-metabox/container/display', + [ + 'metabox_id' => $metabox_id, + 'post' => $post, + ] + ); + + $this->template( + 'virtual-metabox/container/show-when', + [ + 'metabox_id' => $metabox_id, + 'post' => $post, + ] + ); + + $this->template( + 'virtual-metabox/container/show-to', + [ + 'metabox_id' => $metabox_id, + 'post' => $post, + ] + ); + + $this->template( + 'virtual-metabox/container/label', + [ + 'metabox_id' => $metabox_id, + 'post' => $post, + ] + ); + ?> + +
                            diff --git a/wp-content/plugins/events-calendar-pro/src/admin-views/virtual-metabox/container/compatibility/event-tickets/share-tickets.php b/wp-content/plugins/events-calendar-pro/src/admin-views/virtual-metabox/container/compatibility/event-tickets/share-tickets.php new file mode 100644 index 000000000..40a4deccc --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/admin-views/virtual-metabox/container/compatibility/event-tickets/share-tickets.php @@ -0,0 +1,45 @@ + +
                          • + +
                          • diff --git a/wp-content/plugins/events-calendar-pro/src/admin-views/virtual-metabox/container/compatibility/event-tickets/share.php b/wp-content/plugins/events-calendar-pro/src/admin-views/virtual-metabox/container/compatibility/event-tickets/share.php new file mode 100644 index 000000000..cfd662965 --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/admin-views/virtual-metabox/container/compatibility/event-tickets/share.php @@ -0,0 +1,65 @@ + + + + + +
                              + do_entry_point( 'before_share_list_start' ); + ?> +
                            • + +
                            • + do_entry_point( 'before_share_list_end' ); + ?> +
                            + + diff --git a/wp-content/plugins/events-calendar-pro/src/admin-views/virtual-metabox/container/compatibility/event-tickets/show-to-rsvp.php b/wp-content/plugins/events-calendar-pro/src/admin-views/virtual-metabox/container/compatibility/event-tickets/show-to-rsvp.php new file mode 100644 index 000000000..4dd97ef97 --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/admin-views/virtual-metabox/container/compatibility/event-tickets/show-to-rsvp.php @@ -0,0 +1,80 @@ + +
                          • + + + + +
                          • diff --git a/wp-content/plugins/events-calendar-pro/src/admin-views/virtual-metabox/container/compatibility/event-tickets/show-to-tickets.php b/wp-content/plugins/events-calendar-pro/src/admin-views/virtual-metabox/container/compatibility/event-tickets/show-to-tickets.php new file mode 100644 index 000000000..5543faaf7 --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/admin-views/virtual-metabox/container/compatibility/event-tickets/show-to-tickets.php @@ -0,0 +1,81 @@ + +
                          • + + + + +
                          • diff --git a/wp-content/plugins/events-calendar-pro/src/admin-views/virtual-metabox/container/compatibility/event-tickets/show-to.php b/wp-content/plugins/events-calendar-pro/src/admin-views/virtual-metabox/container/compatibility/event-tickets/show-to.php new file mode 100644 index 000000000..7e7bd34d0 --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/admin-views/virtual-metabox/container/compatibility/event-tickets/show-to.php @@ -0,0 +1,82 @@ + + + + +
                              + do_entry_point( 'before_show_to_list_start' ); + ?> +
                            • + +
                            • +
                            • + +
                            • + do_entry_point( 'before_show_to_list_end' ); + ?> +
                            + + diff --git a/wp-content/plugins/events-calendar-pro/src/admin-views/virtual-metabox/container/display.php b/wp-content/plugins/events-calendar-pro/src/admin-views/virtual-metabox/container/display.php new file mode 100644 index 000000000..ba4e6fbeb --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/admin-views/virtual-metabox/container/display.php @@ -0,0 +1,113 @@ + $is_hidden, +]; +?> + + + + + +
                              +
                            • > + +
                            • +
                            • + + " + data-condition-checked + > + + " + name="" + value="virtual_linked_button_text ); ?>" + type="text" + class="tribe-events-virtual-display__linked-button-text-input components-text-control__input" + /> + +
                            • + + do_entry_point( 'before_ul_close' ); ?> + +
                            + + diff --git a/wp-content/plugins/events-calendar-pro/src/admin-views/virtual-metabox/container/event-type.php b/wp-content/plugins/events-calendar-pro/src/admin-views/virtual-metabox/container/event-type.php new file mode 100644 index 000000000..aa0d61053 --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/admin-views/virtual-metabox/container/event-type.php @@ -0,0 +1,69 @@ + + + + + + +
                              +
                            • + +
                            • +
                            • + +
                            • +
                            + + diff --git a/wp-content/plugins/events-calendar-pro/src/admin-views/virtual-metabox/container/head.php b/wp-content/plugins/events-calendar-pro/src/admin-views/virtual-metabox/container/head.php new file mode 100644 index 000000000..3b6c2ee08 --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/admin-views/virtual-metabox/container/head.php @@ -0,0 +1,94 @@ + + + + + + +

                            + +

                            + + + + + +
                            + +
                            +
                            + +
                            + + + diff --git a/wp-content/plugins/events-calendar-pro/src/admin-views/virtual-metabox/container/label.php b/wp-content/plugins/events-calendar-pro/src/admin-views/virtual-metabox/container/label.php new file mode 100644 index 000000000..f179f7473 --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/admin-views/virtual-metabox/container/label.php @@ -0,0 +1,88 @@ + + + + + +
                              +
                            • + +
                            • +
                            • + +
                            • +
                            • +

                              + +

                              +
                            • +
                            + + diff --git a/wp-content/plugins/events-calendar-pro/src/admin-views/virtual-metabox/container/show-to.php b/wp-content/plugins/events-calendar-pro/src/admin-views/virtual-metabox/container/show-to.php new file mode 100644 index 000000000..341759f3c --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/admin-views/virtual-metabox/container/show-to.php @@ -0,0 +1,83 @@ + + + + + +
                              + do_entry_point( 'before_show_to_list_start' ); + ?> +
                            • + +
                            • +
                            • + +
                            • + do_entry_point( 'before_show_to_list_end' ); + ?> +
                            + + diff --git a/wp-content/plugins/events-calendar-pro/src/admin-views/virtual-metabox/container/show-when.php b/wp-content/plugins/events-calendar-pro/src/admin-views/virtual-metabox/container/show-when.php new file mode 100644 index 000000000..b33561cdc --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/admin-views/virtual-metabox/container/show-when.php @@ -0,0 +1,105 @@ + + + + + +
                              +
                            • + +
                            • +
                            • + + + + +
                            • +
                            + + diff --git a/wp-content/plugins/events-calendar-pro/src/admin-views/virtual-metabox/container/video-source.php b/wp-content/plugins/events-calendar-pro/src/admin-views/virtual-metabox/container/video-source.php new file mode 100644 index 000000000..f5fd36567 --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/admin-views/virtual-metabox/container/video-source.php @@ -0,0 +1,69 @@ + + + + + + +
                            + An array of video sources. + * @param \WP_Post $post The current event post object, as decorated by the `tribe_get_event` function. + */ + $video_sources = (array) apply_filters( 'tribe_events_virtual_video_sources', [], $post ); + + $source_args = [ + 'label' => '', + 'id' => "{$metabox_id}-video-source", + 'class' => 'tribe-events-virtual-meetings-video-source-dropdown', + 'name' => "{$metabox_id}[video-source]", + 'selected' => $post->virtual_video_source, + 'attrs' => [ + 'placeholder' => _x( + 'Choose Video Source', + 'The placeholder for the dropdown to choose the virtual video source.', + 'tribe-events-calendar-pro' + ), + 'data-selected' => $post->virtual_video_source, + 'data-hide-search' => '1', + 'data-options' => json_encode( $video_sources ), + ], + ]; + $this->template( 'components/dropdown', $source_args ); + ?> +
                            +
                            + do_entry_point( 'video_sources' ); ?> +
                            + + diff --git a/wp-content/plugins/events-calendar-pro/src/admin-views/virtual-metabox/facebook/autodetect-message.php b/wp-content/plugins/events-calendar-pro/src/admin-views/virtual-metabox/facebook/autodetect-message.php new file mode 100644 index 000000000..bad8a28b1 --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/admin-views/virtual-metabox/facebook/autodetect-message.php @@ -0,0 +1,42 @@ + $classes_wrap An array of classes for the toggle wrap. + * @var string $message The message to display. + * @var string $setup_link_url The URL to setup Zoom accounts. + * @var string $setup_link_label The label of the button to setup Zoom accounts. + * @var array $wrap_attrs Associative array of attributes of the dropdown wrap. + * + * @see tribe_get_event() For the format of the event object. + */ + +$wrap_classes = [ 'tec-events-virtual-meetings-control', 'tec-events-virtual-meetings-control--message' ]; +if ( ! empty( $classes_wrap ) ) { + $wrap_classes = array_merge( $wrap_classes, $classes_wrap ); +} + +if ( empty( $wrap_attrs ) ) { + $wrap_attrs = []; +} +?> + +
                            + +> +
                            + +
                            +
                            diff --git a/wp-content/plugins/events-calendar-pro/src/admin-views/virtual-metabox/facebook/controls.php b/wp-content/plugins/events-calendar-pro/src/admin-views/virtual-metabox/facebook/controls.php new file mode 100644 index 000000000..a787741ce --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/admin-views/virtual-metabox/facebook/controls.php @@ -0,0 +1,40 @@ + $pages An array of Facebook Pages to be able to select, that are formatted to use as options. + * + * @see tribe_get_event() For the format of the event object. + */ + +?> + +
                            + +
                            +
                            + +
                            + + template( 'components/dropdown', $pages ); ?> +
                            +
                            diff --git a/wp-content/plugins/events-calendar-pro/src/admin-views/virtual-metabox/facebook/incomplete-setup.php b/wp-content/plugins/events-calendar-pro/src/admin-views/virtual-metabox/facebook/incomplete-setup.php new file mode 100644 index 000000000..2f17885c2 --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/admin-views/virtual-metabox/facebook/incomplete-setup.php @@ -0,0 +1,48 @@ + +
                            +
                            +
                            + +
                            + +
                            +

                            + +

                            +
                            + + +
                            +
                            diff --git a/wp-content/plugins/events-calendar-pro/src/admin-views/virtual-metabox/google/details.php b/wp-content/plugins/events-calendar-pro/src/admin-views/virtual-metabox/google/details.php new file mode 100644 index 000000000..7aa4df2fe --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/admin-views/virtual-metabox/google/details.php @@ -0,0 +1,153 @@ + $attrs Associative array of attributes of the details template. + * @var boolean $connected Whether the meeting or webinar was connected to the event instead of created by it. + * @var string $connected_msg A html message to display if a Google meeting or webinar is manually connected. + * @var string $account_name The api account name of a Google Meeting or Webinar. + * @var string $host_label The label used to designate the host of a Google Meeting or Webinar. + * @var string $remove_link_url The URL to remove the event Google Meeting. + * @var string $remove_link_label The label of the button to remove the event Google Meeting link. + * @var array $remove_attrs Associative array of attributes of the remove link. + * @var string $details_title The title of the details box. + * @var string $id_label The label used to prefix the meeting ID. + * @var string $message A html message to display. + * + * @see tribe_get_event() For the format of the event object. + */ + +?> + +virtual, $event->google_join_url, $event->google_meeting_id ) ) { + return; +} + +// Remove the query vars from the Google URL to avoid too long a URL in display. +$short_google_url = implode( + '', + array_intersect_key( wp_parse_url( $event->google_join_url ), array_flip( [ 'host', 'path' ] ) ) +); +?> + + +
                            +> +
                            + + > + × + + + + + +
                            + +
                            + + +
                            + +
                            + +
                            + google_host_email ); ?> +
                            + +
                            + template( 'components/icons/video', [ + 'classes' => [ + 'tribe-events-virtual-meeting-api__icon', + 'tribe-events-virtual-meeting-api__icon--video', + ], + ] ); + ?> +
                            + + + +
                            + + google_conference_id ); ?> +
                            +
                            +
                            + + google_global_dial_in_numbers ) ) : ?> +
                            + template( + 'components/icons/phone', + [ + 'classes' => [ + 'tec-events-virtual-single-api-details__icon', + 'tribe-events-virtual-meeting-api__icon--phone', + ], + ] + ); + ?> +
                              + google_global_dial_in_numbers as $number => $phone_details ) : ?> +
                            • + + + + +
                              + +
                              + +
                            • + +
                            +
                            + +
                            +
                            diff --git a/wp-content/plugins/events-calendar-pro/src/admin-views/virtual-metabox/google/setup.php b/wp-content/plugins/events-calendar-pro/src/admin-views/virtual-metabox/google/setup.php new file mode 100644 index 000000000..5cff4b462 --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/admin-views/virtual-metabox/google/setup.php @@ -0,0 +1,98 @@ + $attrs Associative array of attributes of the API account. + * @var string $account_label The label used to designate the account of an API. + * @var string $account_name The api account name. + * @var string $generation_toggle_label The label of the accordion button to show the generation links. + * @var array $generation_urls A map of the available URL generation labels and URLs. + * @var string $generate_label The label used to designate the next step in generation of an API connection. + * @var array $hosts An array of users to be able to select as a host, that are formatted to use as options. + * @var string $remove_link_url The URL to remove the event API connection. + * @var string $remove_link_label The label of the button to remove the event an API connection link. + * @var array $remove_attrs Associative array of attributes of the remove link. + * @var string $message A html message to display. + * @var array $message_classes An array of message classes. + * + * @see tribe_get_event() For the format of the event object. + */ + +$metabox_id = 'tribe-events-virtual'; +?> + +
                            +> + +
                            + + > + × + + +
                            + role="alert" + > + +
                            + +
                            + +
                            + + + + template( 'virtual-metabox/api/single-host', $hosts ); + } else { + $this->template( 'components/dropdown', $hosts ); + } + ?> + + template( 'virtual-metabox/api/type-options', [ + 'api_id' => $api_id, + 'generation_urls' => $generation_urls, + 'password_requirements' => [], + 'metabox_id' => $metabox_id + ] + ); + ?> + + + + + + + + template( '/components/loader' ); ?> + +
                            +
                            diff --git a/wp-content/plugins/events-calendar-pro/src/admin-views/virtual-metabox/microsoft/details.php b/wp-content/plugins/events-calendar-pro/src/admin-views/virtual-metabox/microsoft/details.php new file mode 100644 index 000000000..5561becf4 --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/admin-views/virtual-metabox/microsoft/details.php @@ -0,0 +1,109 @@ + $attrs Associative array of attributes of the details template. + * @var boolean $connected Whether the meeting or webinar was connected to the event instead of created by it. + * @var string $connected_msg A html message to display if a Microsoft meeting or webinar is manually connected. + * @var string $account_name The api account name of a Microsoft Meeting or Webinar. + * @var string $host_label The label used to designate the host of a Microsoft Meeting or Webinar. + * @var string $remove_link_url The URL to remove the event Microsoft Meeting. + * @var string $remove_link_label The label of the button to remove the event Microsoft Meeting link. + * @var array $remove_attrs Associative array of attributes of the remove link. + * @var string $details_title The title of the details box. + * @var string $id_label The label used to prefix the meeting ID. + * @var string $message A html message to display. + * + * @see tribe_get_event() For the format of the event object. + */ + +?> + +virtual, $event->microsoft_join_url, $event->microsoft_meeting_id ) ) { + return; +} + +$parsed_url = wp_parse_url( $event->microsoft_join_url ); + +// Remove the query vars from the Microsoft URL to avoid too long a URL in display. +$short_microsoft_url = implode( + '', + array_intersect_key( wp_parse_url( $event->microsoft_join_url ), array_flip( [ 'host' ] ) ) +); +?> + + +
                            +> +
                            + + > + × + + + + + +
                            + +
                            + + +
                            + +
                            + +
                            + microsoft_host_email ); ?> +
                            + +
                            + template( 'components/icons/video', [ + 'classes' => [ + 'tribe-events-virtual-meeting-api__icon', + 'tribe-events-virtual-meeting-api__icon--video', + ], + ] ); + ?> +
                            + + + +
                            + + microsoft_conference_id ); ?> +
                            +
                            +
                            +
                            +
                            diff --git a/wp-content/plugins/events-calendar-pro/src/admin-views/virtual-metabox/microsoft/setup.php b/wp-content/plugins/events-calendar-pro/src/admin-views/virtual-metabox/microsoft/setup.php new file mode 100644 index 000000000..bffd09ee0 --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/admin-views/virtual-metabox/microsoft/setup.php @@ -0,0 +1,100 @@ + $attrs Associative array of attributes of the API account. + * @var string $account_label The label used to designate the account of an API. + * @var string $account_name The api account name. + * @var string $checked The variable to use for which input to be considered checked. + * @var string $generation_toggle_label The label of the accordion button to show the generation links. + * @var array $generation_urls A map of the available URL generation labels and URLs. + * @var string $generate_label The label used to designate the next step in generation of an API connection. + * @var array $hosts An array of users to be able to select as a host, that are formatted to use as options. + * @var string $remove_link_url The URL to remove the event API connection. + * @var string $remove_link_label The label of the button to remove the event an API connection link. + * @var array $remove_attrs Associative array of attributes of the remove link. + * @var string $message A html message to display. + * @var array $message_classes An array of message classes. + * + * @see tribe_get_event() For the format of the event object. + */ + +$metabox_id = 'tribe-events-virtual'; +?> + +
                            +> + +
                            + + > + × + + +
                            + role="alert" + > + +
                            + +
                            + +
                            + + + + template( 'virtual-metabox/api/single-host', $hosts ); + } else { + $this->template( 'components/dropdown', $hosts ); + } + ?> + + template( 'virtual-metabox/api/type-options', [ + 'api_id' => $api_id, + 'checked' => $checked, + 'generation_urls' => $generation_urls, + 'password_requirements' => [], + 'metabox_id' => $metabox_id + ] + ); + ?> + + + + + + + + template( '/components/loader' ); ?> + +
                            +
                            diff --git a/wp-content/plugins/events-calendar-pro/src/admin-views/virtual-metabox/webex/details.php b/wp-content/plugins/events-calendar-pro/src/admin-views/virtual-metabox/webex/details.php new file mode 100644 index 000000000..1b8080f97 --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/admin-views/virtual-metabox/webex/details.php @@ -0,0 +1,139 @@ + $attrs Associative array of attributes of the details template. + * @var boolean $connected Whether the meeting or webinar was connected to the event instead of created by it. + * @var string $connected_msg A html message to display if a Webex meeting or webinar is manually connected. + * @var string $account_name The api account name of a Webex Meeting or Webinar. + * @var string $host_label The label used to designate the host of a Webex Meeting or Webinar. + * @var string $remove_link_url The URL to remove the event Webex Meeting. + * @var string $remove_link_label The label of the button to remove the event Webex Meeting link. + * @var array $remove_attrs Associative array of attributes of the remove link. + * @var string $details_title The title of the details box. + * @var string $id_label The label used to prefix the meeting ID. + * @var string $message A html message to display. + * + * @see tribe_get_event() For the format of the event object. + */ + +?> + +virtual, $event->webex_join_url, $event->webex_meeting_id ) ) { + return; +} + +// Remove the query vars from the Webex URL to avoid too long a URL in display. +$short_webex_url = implode( + '', + array_intersect_key( wp_parse_url( $event->webex_join_url ), array_flip( [ 'host', 'path' ] ) ) +); +?> + + +
                            +> +
                            + + > + × + + + + + +
                            + +
                            + + +
                            + +
                            + +
                            + webex_host_email ); ?> +
                            + +
                            + template( 'components/icons/video', [ + 'classes' => [ + 'tribe-events-virtual-meeting-api__icon', + 'tribe-events-virtual-meeting-api__icon--video', + ], + ] ); + ?> +
                            + + + +
                            + + webex_meeting_id ); ?> +
                            +
                            +
                            + +
                            + template( + 'components/icons/lock', + [ + 'classes' => [ + 'tec-events-virtual-single-api-details__icon', + 'tec-events-virtual-single-api-details__icon--lock', + ], + ] + ); + ?> +
                            + webex_password + ) + ); + ?> +
                            +
                            +
                            + * +
                            +
                            +
                            diff --git a/wp-content/plugins/events-calendar-pro/src/admin-views/virtual-metabox/webex/setup.php b/wp-content/plugins/events-calendar-pro/src/admin-views/virtual-metabox/webex/setup.php new file mode 100644 index 000000000..08a40d76c --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/admin-views/virtual-metabox/webex/setup.php @@ -0,0 +1,98 @@ + $attrs Associative array of attributes of the API account. + * @var string $account_label The label used to designate the account of an API. + * @var string $account_name The api account name. + * @var string $generation_toggle_label The label of the accordion button to show the generation links. + * @var array $generation_urls A map of the available URL generation labels and URLs. + * @var string $generate_label The label used to designate the next step in generation of an API connection. + * @var array $hosts An array of users to be able to select as a host, that are formatted to use as options. + * @var string $remove_link_url The URL to remove the event API connection. + * @var string $remove_link_label The label of the button to remove the event an API connection link. + * @var array $remove_attrs Associative array of attributes of the remove link. + * @var string $message A html message to display. + * @var array $message_classes An array of message classes. + * + * @see tribe_get_event() For the format of the event object. + */ + +$metabox_id = 'tribe-events-virtual'; +?> + +
                            +> + +
                            + + > + × + + +
                            + role="alert" + > + +
                            + +
                            + +
                            + + + + template( 'virtual-metabox/api/single-host', $hosts ); + } else { + $this->template( 'components/dropdown', $hosts ); + } + ?> + + template( 'virtual-metabox/api/type-options', [ + 'api_id' => $api_id, + 'generation_urls' => $generation_urls, + 'password_requirements' => [], + 'metabox_id' => $metabox_id + ] + ); + ?> + + + + + + + + template( '/components/loader' ); ?> + +
                            +
                            diff --git a/wp-content/plugins/events-calendar-pro/src/admin-views/virtual-metabox/youtube/controls.php b/wp-content/plugins/events-calendar-pro/src/admin-views/virtual-metabox/youtube/controls.php new file mode 100644 index 000000000..eb40068a1 --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/admin-views/virtual-metabox/youtube/controls.php @@ -0,0 +1,70 @@ + $fields The array of values for switch fields. + * + * @see tribe_get_event() For the format of the event object. + */ + +$metabox_id = 'tribe-events-virtual'; +?> + +
                            + +
                            +
                            + +
                            + + + " + name="" + value="" + type="text" + class="tribe-events-virtual-meetings-source-youtube__channel-id-text-input components-text-control__input" + /> + + _x( 'Video Settings', 'The settings for YouTube Integration for an event.', 'tribe-events-calendar-pro' ), + 'id' => 'tribe-events-virtual-meetings-source-youtube__settings', + 'classes_wrap' => [ 'tribe-events-virtual-meetings-youtube-settings__accordion-wrapper' ], + 'panel' => $this->template( 'virtual-metabox/youtube/panel', [ 'event' => $event, 'fields' => $fields ], false ), + 'expanded' => empty( $fields['tribe-events-virtual[youtube_channel_id]']['value'] ) ? true : false, + ]; + $this->template( 'components/accordion', $args ); + ?> +
                            +
                            diff --git a/wp-content/plugins/events-calendar-pro/src/admin-views/virtual-metabox/youtube/panel.php b/wp-content/plugins/events-calendar-pro/src/admin-views/virtual-metabox/youtube/panel.php new file mode 100644 index 000000000..b55b56595 --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/admin-views/virtual-metabox/youtube/panel.php @@ -0,0 +1,36 @@ + $fields The array of values for switch fields. + */ + +?> +
                            + $field ) { + if ( 'tribe-events-virtual[youtube_channel_id]' === $id ) { + continue; + } + $this->template( 'youtube/components/switch-field', [ + 'id' => $id, + 'name' => $id, + 'label' => $field['label'], + 'tooltip' => $field['tooltip'], + 'value' => $field['value'], + ] ); + } + ?> +
                            diff --git a/wp-content/plugins/events-calendar-pro/src/admin-views/virtual-metabox/zoom/accounts.php b/wp-content/plugins/events-calendar-pro/src/admin-views/virtual-metabox/zoom/accounts.php new file mode 100644 index 000000000..36bd524bf --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/admin-views/virtual-metabox/zoom/accounts.php @@ -0,0 +1,67 @@ + $accounts An array of users to be able to select as a host, that are formatted to use as options. + * @var string $remove_link_url The URL to remove the event Zoom Meeting. + * @var string $remove_link_label The label of the button to remove the event Zoom Meeting link. + * @var array $remove_attrs Associative array of attributes of the remove link. + * + * @see tribe_get_event() For the format of the event object. + */ + +$metabox_id = 'tribe-events-virtual'; +?> + +
                            + +
                            + + > + × + + +
                            + +
                            + + template( 'components/dropdown', $accounts ); ?> + + + + + + template( '/components/loader' ); ?> + +
                            +
                            diff --git a/wp-content/plugins/events-calendar-pro/src/admin-views/virtual-metabox/zoom/components/multiselect.php b/wp-content/plugins/events-calendar-pro/src/admin-views/virtual-metabox/zoom/components/multiselect.php new file mode 100644 index 000000000..58d001088 --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/admin-views/virtual-metabox/zoom/components/multiselect.php @@ -0,0 +1,41 @@ + $attrs Associative array of attributes of the multiselect. + */ +?> +
                            + + +
                            diff --git a/wp-content/plugins/events-calendar-pro/src/admin-views/virtual-metabox/zoom/controls.php b/wp-content/plugins/events-calendar-pro/src/admin-views/virtual-metabox/zoom/controls.php new file mode 100644 index 000000000..65ab5247c --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/admin-views/virtual-metabox/zoom/controls.php @@ -0,0 +1,41 @@ + + +
                            + +
                            + + + + + +
                            +
                            diff --git a/wp-content/plugins/events-calendar-pro/src/admin-views/virtual-metabox/zoom/details.php b/wp-content/plugins/events-calendar-pro/src/admin-views/virtual-metabox/zoom/details.php new file mode 100644 index 000000000..044bc00a6 --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/admin-views/virtual-metabox/zoom/details.php @@ -0,0 +1,146 @@ + $attrs Associative array of attributes of the details template. + * @var boolean $connected Whether the meeting or webinar was connected to the event instead of created by it. + * @var string $connected_msg A html message to display if a Zoom meeting or webinar is manually connected. + * @var string $account_name The api account name of a Zoom Meeting or Webinar. + * @var string $host_label The label used to designate the host of a Zoom Meeting or Webinar. + * @var string $remove_link_url The URL to remove the event Zoom Meeting. + * @var string $remove_link_label The label of the button to remove the event Zoom Meeting link. + * @var array $remove_attrs Associative array of attributes of the remove link. + * @var string $details_title The title of the details box. + * @var array $phone_numbers A list of the available meeting dial-in phone numbers. + * @var string $id_label The label used to prefix the meeting ID. + * @var array $alt_hosts An array of users to be able to select as an alternative host, + * @var string $message A html message to display. + * + * @see tribe_get_event() For the format of the event object. + */ + +?> + +virtual, $event->zoom_join_url, $event->zoom_meeting_id ) ) { + return; +} + +// Remove the query vars from the zoom URL to avoid too long a URL in display. +$short_zoom_url = implode( + '', + array_intersect_key( wp_parse_url( $event->zoom_join_url ), array_flip( [ 'host', 'path' ] ) ) +); +?> + + +
                            +> +
                            + + > + × + + + + + +
                            + +
                            + + +
                            + +
                            + +
                            + zoom_host_email ); ?> +
                            + +
                            + : template( 'virtual-metabox/zoom/components/multiselect', $alt_hosts ); + } + ?> +
                            + +
                            + template( 'virtual-metabox/zoom/icons/video', [ + 'classes' => [ + 'tribe-events-virtual-meeting-zoom__icon', + 'tribe-events-virtual-meeting-zoom__icon--video', + ], + ] ); + ?> +
                            + + + +
                            + + zoom_meeting_id ); ?> +
                            +
                            +
                            + + +
                            + template( 'components/icons/phone', [ + 'classes' => [ + 'tribe-events-virtual-meeting-zoom__icon', + 'tribe-events-virtual-meeting-zoom__icon--phone', + ], + ] ); + ?> +
                              + $country ) : ?> +
                            • + + + +
                            • + +
                            +
                            + + +
                            +
                            diff --git a/wp-content/plugins/events-calendar-pro/src/admin-views/virtual-metabox/zoom/setup.php b/wp-content/plugins/events-calendar-pro/src/admin-views/virtual-metabox/zoom/setup.php new file mode 100644 index 000000000..bfa2faa85 --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/admin-views/virtual-metabox/zoom/setup.php @@ -0,0 +1,94 @@ + $attrs Associative array of attributes of the zoom account. + * @var string $account_label The label used to designate the account of a Zoom Meeting or Webinar. + * @var string $account_name The api account name of a Zoom Meeting or Webinar. + * @var string $generation_toggle_label The label of the accordion button to show the generation links. + * @var array $generation_urls A map of the available URL generation labels and URLs. + * @var string $generate_label The label used to designate the next step in generation of a Zoom Meeting or Webinar. + * @var array $hosts An array of users to be able to select as a host, that are formatted to use as options. + * @var string $remove_link_url The URL to remove the event Zoom Meeting. + * @var string $remove_link_label The label of the button to remove the event Zoom Meeting link. + * @var array $remove_attrs Associative array of attributes of the remove link. + * @var string $message A html message to display. + * @var array $zoom_message_classes An array of message classes. + * @var array $password_requirements An array of password requirements when generating a meeting for an API. + * + * @see tribe_get_event() For the format of the event object. + */ + +$metabox_id = 'tribe-events-virtual'; +?> + +
                            +> + +
                            + + > + × + + +
                            + role="alert" + > + +
                            + +
                            + +
                            + + + + template( 'components/dropdown', $hosts ); ?> + + template( 'virtual-metabox/api/type-options', [ + 'api_id' => $api_id, + 'generation_urls' => $generation_urls, + 'password_requirements' => $password_requirements, + 'metabox_id' => $metabox_id + ] + ); + ?> + + + + + + + + template( '/components/loader' ); ?> + +
                            +
                            diff --git a/wp-content/plugins/events-calendar-pro/src/admin-views/webex/api/accounts/list.php b/wp-content/plugins/events-calendar-pro/src/admin-views/webex/api/accounts/list.php new file mode 100644 index 000000000..6b716bdfa --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/admin-views/webex/api/accounts/list.php @@ -0,0 +1,79 @@ + $list An array of the Webex accounts authorized for the site. + */ + +if ( empty( $accounts ) ) { + return; +} +?> +
                              + $account ) : ?> + + +
                            diff --git a/wp-content/plugins/events-calendar-pro/src/admin-views/webex/api/authorize-fields.php b/wp-content/plugins/events-calendar-pro/src/admin-views/webex/api/authorize-fields.php new file mode 100644 index 000000000..62d87e02d --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/admin-views/webex/api/authorize-fields.php @@ -0,0 +1,65 @@ +get_list_of_accounts( true ); +?> +
                            + +

                            + ', 'https://evnt.is/1b53' ), + '' + ); + ?> +

                            +
                            + template( 'components/message', [ + 'message' => $message, + 'type' => 'standard', + ] ); + ?> +
                            +
                            + template( 'webex/api/accounts/list', [ + 'api' => $api, + 'url' => $url, + 'accounts' => $accounts, + ] ); + ?> +
                            +
                            + template( 'webex/api/authorize-fields/add-link', [ + 'api' => $api, + 'url' => $url, + ] ); + ?> +
                            +
                            diff --git a/wp-content/plugins/events-calendar-pro/src/admin-views/webex/api/authorize-fields/add-link.php b/wp-content/plugins/events-calendar-pro/src/admin-views/webex/api/authorize-fields/add-link.php new file mode 100644 index 000000000..406d06aea --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/admin-views/webex/api/authorize-fields/add-link.php @@ -0,0 +1,51 @@ +to_authorize(); +$connect_label = _x( 'Add Webex Account', 'Label to connect an account to the Webex API.', 'tribe-events-calendar-pro' ); + +$classes = [ + 'button' => true, + 'tec-settings-form__add-account-button' => true, + 'tec-events-virtual-meetings-api-settings_add-account-button' => true, + 'tec-events-virtual-meetings-webex-settings_add-account-button' => true, +]; + +?> + +> + + + + diff --git a/wp-content/plugins/events-calendar-pro/src/admin-views/webex/api/intro-text.php b/wp-content/plugins/events-calendar-pro/src/admin-views/webex/api/intro-text.php new file mode 100644 index 000000000..390dd2bf7 --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/admin-views/webex/api/intro-text.php @@ -0,0 +1,22 @@ + +

                            + +

                            diff --git a/wp-content/plugins/events-calendar-pro/src/admin-views/widget-admin-advanced-list.php b/wp-content/plugins/events-calendar-pro/src/admin-views/widget-admin-advanced-list.php index 463104bec..1b1d8d4e9 100644 --- a/wp-content/plugins/events-calendar-pro/src/admin-views/widget-admin-advanced-list.php +++ b/wp-content/plugins/events-calendar-pro/src/admin-views/widget-admin-advanced-list.php @@ -66,7 +66,7 @@ */ if ( is_string( $instance['filters'] ) ) { - $instance['filters'] = json_decode( maybe_unserialize( $instance['filters'] ) ); + $instance['filters'] = json_decode( tec_events_pro_maybe_unserialize( $instance['filters'] ) ); } $class = ''; diff --git a/wp-content/plugins/events-calendar-pro/src/admin-views/widget-admin-this-week.php b/wp-content/plugins/events-calendar-pro/src/admin-views/widget-admin-this-week.php index a7bce2d5d..17ac03114 100644 --- a/wp-content/plugins/events-calendar-pro/src/admin-views/widget-admin-this-week.php +++ b/wp-content/plugins/events-calendar-pro/src/admin-views/widget-admin-this-week.php @@ -94,7 +94,7 @@ function ( e ) { */ if ( is_string( $instance['filters'] ) ) { - $instance['filters'] = json_decode( maybe_unserialize( $instance['filters'] ) ); + $instance['filters'] = json_decode( tec_events_pro_maybe_unserialize( $instance['filters'] ) ); } $class = ''; diff --git a/wp-content/plugins/events-calendar-pro/src/admin-views/widget-calendar.php b/wp-content/plugins/events-calendar-pro/src/admin-views/widget-calendar.php index 282a1f0b3..9f5b415f5 100644 --- a/wp-content/plugins/events-calendar-pro/src/admin-views/widget-calendar.php +++ b/wp-content/plugins/events-calendar-pro/src/admin-views/widget-calendar.php @@ -14,7 +14,7 @@ $fields The array of values for switch fields. + */ + +?> +
                            + $field ) { + $this->template( 'youtube/components/switch-field', [ + 'id' => $id, + 'name' => $id, + 'label' => $field['label'], + 'tooltip' => $field['tooltip'], + 'value' => $field['value'], + ] ); + } + ?> +
                            diff --git a/wp-content/plugins/events-calendar-pro/src/admin-views/youtube/components/switch-field.php b/wp-content/plugins/events-calendar-pro/src/admin-views/youtube/components/switch-field.php new file mode 100644 index 000000000..c6c70cbfb --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/admin-views/youtube/components/switch-field.php @@ -0,0 +1,55 @@ + +
                            + + + + + + + +
                            + template( 'components/switch', [ + 'id' => $id, + 'label' => $label, + 'classes_wrap' => [ 'tribe-events-virtual-meetings-youtube-control', 'tribe-events-virtual-meetings-youtube-control--switch' ], + 'classes_input' => [ 'tribe-events-virtual-meetings-youtube-settings-switch__input' ], + 'classes_label' => [ 'tribe-events-virtual-meetings-youtube-settings-switch__label' ], + 'name' => $name, + 'value' => 1, + 'checked' => $value, + 'attrs' => [], + ] ); + ?> +
                            +
                            +
                            diff --git a/wp-content/plugins/events-calendar-pro/src/admin-views/youtube/components/trash.php b/wp-content/plugins/events-calendar-pro/src/admin-views/youtube/components/trash.php new file mode 100644 index 000000000..af1e345a8 --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/admin-views/youtube/components/trash.php @@ -0,0 +1,33 @@ + + + + + diff --git a/wp-content/plugins/events-calendar-pro/src/admin-views/youtube/intro-text.php b/wp-content/plugins/events-calendar-pro/src/admin-views/youtube/intro-text.php new file mode 100644 index 000000000..7495260f2 --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/admin-views/youtube/intro-text.php @@ -0,0 +1,30 @@ + +
                            +

                            + +

                            + template( 'components/message', [ + 'message' => $message, + 'type' => 'standard', + ] ); + ?> +
                            diff --git a/wp-content/plugins/events-calendar-pro/src/admin-views/zoom/api/accounts/list.php b/wp-content/plugins/events-calendar-pro/src/admin-views/zoom/api/accounts/list.php new file mode 100644 index 000000000..74160fad7 --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/admin-views/zoom/api/accounts/list.php @@ -0,0 +1,79 @@ + $list An array of the Zoom accounts authorized for the site. + */ + +if ( empty( $accounts ) ) { + return; +} +?> +
                              + $account ) : ?> + + +
                            diff --git a/wp-content/plugins/events-calendar-pro/src/admin-views/zoom/api/authorize-fields.php b/wp-content/plugins/events-calendar-pro/src/admin-views/zoom/api/authorize-fields.php new file mode 100644 index 000000000..7ed8c8e9e --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/admin-views/zoom/api/authorize-fields.php @@ -0,0 +1,50 @@ +get_list_of_accounts( true ); +?> +
                            + +
                            + template( 'components/message', [ + 'message' => $message, + 'type' => 'standard', + ] ); + ?> +
                            +
                            + template( 'zoom/api/accounts/list', [ + 'api' => $api, + 'url' => $url, + 'accounts' => $accounts, + ] ); + ?> +
                            +
                            + template( 'zoom/api/authorize-fields/add-link', [ + 'api' => $api, + 'url' => $url, + ] ); + ?> +
                            +
                            diff --git a/wp-content/plugins/events-calendar-pro/src/admin-views/zoom/api/authorize-fields/add-link.php b/wp-content/plugins/events-calendar-pro/src/admin-views/zoom/api/authorize-fields/add-link.php new file mode 100644 index 000000000..0902ba3ec --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/admin-views/zoom/api/authorize-fields/add-link.php @@ -0,0 +1,51 @@ +to_authorize(); +$connect_label = _x( 'Add Zoom Account', 'Label to connect an account to the Zoom API.', 'tribe-events-calendar-pro' ); + +$classes = [ + 'button' => true, + 'tec-settings-form__add-account-button' => true, + 'tec-events-virtual-meetings-api-settings_add-account-button' => true, + 'tribe-events-virtual-meetings-zoom-settings_add-account-button' => true, +]; + +?> + +> + + + + diff --git a/wp-content/plugins/events-calendar-pro/src/admin-views/zoom/api/intro-text.php b/wp-content/plugins/events-calendar-pro/src/admin-views/zoom/api/intro-text.php new file mode 100644 index 000000000..8c2a76ad0 --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/admin-views/zoom/api/intro-text.php @@ -0,0 +1,22 @@ + +

                            + +

                            diff --git a/wp-content/plugins/events-calendar-pro/src/deprecated/constants.php b/wp-content/plugins/events-calendar-pro/src/deprecated/constants.php new file mode 100644 index 000000000..49b6ae67c --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/deprecated/constants.php @@ -0,0 +1,13 @@ +defaults()->organizer_id(); $current_organizer = ( $current_organizer_id != 'none' && $current_organizer_id != 0 && $current_organizer_id ) ? tribe_get_organizer( $current_organizer_id ) : __( 'No default set', 'tribe-events-calendar-pro' ); - $current_organizer = esc_html( $current_organizer ); - echo '

                            ' . sprintf( __( 'The current default organizer is: %s', 'tribe-events-calendar-pro' ), '' . $current_organizer . '' ) . '

                            '; + + printf( + '

                            %s

                            ', + sprintf( + /* translators: 1: Opening strong tag, 2: the current default organizer, 3: closing strong tag. */ + esc_html__( 'The current default organizer is: %1$s%2$s%3$s', 'tribe-events-calendar-pro' ), + '', + esc_html( $current_organizer ), + '' + ) + ); } } @@ -840,14 +852,24 @@ function tribe_display_saved_organizer() { * Used in the settings screen * * @return void - * @deprecated + * @deprecated 7.0.1 * @todo move this to the settings classes and remove */ function tribe_display_saved_venue() { + _deprecated_function( __METHOD__, '7.0.1', 'no replacement' ); $current_venue_id = TEC::instance()->defaults()->venue_id(); $current_venue = ( $current_venue_id != 'none' && $current_venue_id != 0 && $current_venue_id ) ? tribe_get_venue( $current_venue_id ) : __( 'No default set', 'tribe-events-calendar-pro' ); - $current_venue = esc_html( $current_venue ); - echo '

                            ' . sprintf( __( 'The current default venue is: %s', 'tribe-events-calendar-pro' ), '' . $current_venue . '' ) . '

                            '; + + printf( + '

                            %s

                            ', + sprintf( + /* translators: 1: Opening strong tag, 2: the current default venue, 3: closing strong tag. */ + esc_html__( 'The current default venue is: %1$s%2$s%3$s', 'tribe-events-calendar-pro' ), + '', + esc_html( $current_venue ), + '' + ) + ); } } @@ -857,14 +879,24 @@ function tribe_display_saved_venue() { * Used in the settings screen * * @return void - * @deprecated + * @deprecated 7.0.1 * @todo move this to the settings classes and remove */ function tribe_display_saved_address() { + _deprecated_function( __METHOD__, '7.0.1', 'no replacement' ); $option = TEC::instance()->defaults()->address(); $option = empty( $option ) ? __( 'No default set', 'tribe-events-calendar-pro' ) : $option; - $option = esc_html( $option ); - echo '

                            ' . sprintf( __( 'The current default address is: %s', 'tribe-events-calendar-pro' ), '' . $option . '' ) . '

                            '; + + printf( + '

                            %s

                            ', + sprintf( + /* translators: 1: Opening strong tag, 2: the current default address, 3: closing strong tag. */ + esc_html__( 'The current default address is: %1$s%2$s%3$s', 'tribe-events-calendar-pro' ), + '', + esc_html( $option ), + '' + ) + ); } } @@ -874,14 +906,24 @@ function tribe_display_saved_address() { * Used in the settings screen * * @return void - * @deprecated + * @deprecated 7.0.1 * @todo move this to the settings classes and remove */ function tribe_display_saved_city() { + _deprecated_function( __METHOD__, '7.0.1', 'no replacement' ); $option = TEC::instance()->defaults()->city(); $option = empty( $option ) ? __( 'No default set', 'tribe-events-calendar-pro' ) : $option; - $option = esc_html( $option ); - echo '

                            ' . sprintf( __( 'The current default city is: %s', 'tribe-events-calendar-pro' ), '' . $option . '' ) . '

                            '; + + printf( + '

                            %s

                            ', + sprintf( + /* translators: 1: Opening strong tag, 2: the current default city, 3: closing strong tag. */ + esc_html__( 'The current default city is: %1$s%2$s%3$s', 'tribe-events-calendar-pro' ), + '', + esc_html( $option ), + '' + ) + ); } } @@ -891,14 +933,24 @@ function tribe_display_saved_city() { * Used in the settings screen * * @return void - * @deprecated + * @deprecated 7.0.1 * @todo move this to the settings classes and remove */ function tribe_display_saved_state() { + _deprecated_function( __METHOD__, '7.0.1', 'no replacement' ); $option = TEC::instance()->defaults()->state(); $option = empty( $option ) ? __( 'No default set', 'tribe-events-calendar-pro' ) : $option; - $option = esc_html( $option ); - echo '

                            ' . sprintf( __( 'The current default state/province is: %s', 'tribe-events-calendar-pro' ), '' . $option . '' ) . '

                            '; + + printf( + '

                            %s

                            ', + sprintf( + /* translators: 1: Opening strong tag, 2: the current default state, 3: closing strong tag. */ + esc_html__( 'The current default state/province is: %1$s%2$s%3$s', 'tribe-events-calendar-pro' ), + '', + esc_html( $option ), + '' + ) + ); } } @@ -908,14 +960,24 @@ function tribe_display_saved_state() { * Used in the settings screen * * @return void - * @deprecated + * @deprecated 7.0.1 * @todo move this to the settings classes and remove */ function tribe_display_saved_province() { + _deprecated_function( __METHOD__, '7.0.1', 'no replacement' ); $option = TEC::instance()->defaults()->province(); $option = empty( $option ) ? __( 'No default set', 'tribe-events-calendar-pro' ) : $option; - $option = esc_html( $option ); - echo '

                            ' . sprintf( __( 'The current default state/province is: %s', 'tribe-events-calendar-pro' ), '' . $option . '' ) . '

                            '; + + printf( + '

                            %s

                            ', + sprintf( + /* translators: 1: Opening strong tag, 2: the current default state/province, 3: closing strong tag. */ + esc_html__( 'The current default state/province is: %1$s%2$s%3$s', 'tribe-events-calendar-pro' ), + '', + esc_html( $option ), + '' + ) + ); } } @@ -925,14 +987,24 @@ function tribe_display_saved_province() { * Used in the settings screen * * @return void - * @deprecated + * @deprecated 7.0.1 * @todo move this to the settings classes and remove */ function tribe_display_saved_zip() { + _deprecated_function( __METHOD__, '7.0.1', 'no replacement' ); $option = TEC::instance()->defaults()->zip(); $option = empty( $option ) ? __( 'No default set', 'tribe-events-calendar-pro' ) : $option; - $option = esc_html( $option ); - echo '

                            ' . sprintf( __( 'The current default postal code/zip code is: %s', 'tribe-events-calendar-pro' ), '' . $option . '' ) . '

                            '; + + printf( + '

                            %s

                            ', + sprintf( + /* translators: 1: Opening strong tag, 2: the current default postal code/zip code, 3: closing strong tag. */ + esc_html__( 'The current default postal code/zip code is: %1$s%2$s%3$s', 'tribe-events-calendar-pro' ), + '', + esc_html( $option ), + '' + ) + ); } } @@ -942,32 +1014,51 @@ function tribe_display_saved_zip() { * Used in the settings screen * * @return void - * @deprecated + * @deprecated 7.0.1 * @todo move this to the settings classes and remove */ function tribe_display_saved_country() { + _deprecated_function( __METHOD__, '7.0.1', 'no replacement' ); $option = TEC::instance()->defaults()->country(); $option = empty( $option[1] ) ? __( 'No default set', 'tribe-events-calendar-pro' ) : $option[1]; - $option = esc_html( $option ); - echo '

                            ' . sprintf( __( 'The current default country is: %s', 'tribe-events-calendar-pro' ), '' . $option . '' ) . '

                            '; + + printf( + '

                            %s

                            ', + sprintf( + /* translators: 1: Opening strong tag, 2: the current default country, 3: closing strong tag. */ + esc_html__( 'The current default country is: %1$s%2$s%3$s', 'tribe-events-calendar-pro' ), + '', + esc_html( $option ), + '' + ) + ); } } if ( ! function_exists( 'tribe_display_saved_phone' ) ) { /** - } * Displays the saved phone * Used in the settings screen * * @return void - * @deprecated + * @deprecated 7.0.1 * @todo move this to the settings classes and remove */ function tribe_display_saved_phone() { + _deprecated_function( __METHOD__, '7.0.1', 'no replacement' ); $option = TEC::instance()->defaults()->phone(); $option = empty( $option ) ? __( 'No default set', 'tribe-events-calendar-pro' ) : $option; - $option = esc_html( $option ); - echo '

                            ' . sprintf( __( 'The current default phone is: %s', 'tribe-events-calendar-pro' ), '' . $option . '' ) . '

                            '; + + printf( + '

                            %s

                            ', + sprintf( + /* translators: 1: Opening strong tag, 2: the current default phone, 3: closing strong tag. */ + esc_html__( 'The current default phone is: %1$s%2$s%3$s', 'tribe-events-calendar-pro' ), + '', + esc_html( $option ), + '' + ) + ); } } @@ -1027,3 +1118,23 @@ function tribe_update_event_with_series( WP_Post $event, WP_Post $series ): bool return true; } } + +if ( ! function_exists( 'tec_events_pro_maybe_unserialize' ) ) { + /** + * Unserializes data only if it was serialized. + * + * @since 7.0.3 + * + * @param mixed $data Data that might be unserialized. + * @param bool|array $allowed_classes Array of classes that are allowed to be unserialized. + * + * @return mixed Unserialized data can be any type. + */ + function tec_events_pro_maybe_unserialize( $data, $allowed_classes = false ) { + if ( is_serialized( $data ) ) { // Don't attempt to unserialize data that wasn't serialized going in. + return @unserialize( trim( $data ), [ 'allowed_classes' => $allowed_classes ] ); // phpcs:ignore WordPress.PHP.DiscouragedPHPFunctions.serialize_serialize + } + + return $data; + } +} diff --git a/wp-content/plugins/events-calendar-pro/src/functions/template-tags/virtual.php b/wp-content/plugins/events-calendar-pro/src/functions/template-tags/virtual.php new file mode 100644 index 000000000..7cb4aaff9 --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/functions/template-tags/virtual.php @@ -0,0 +1,313 @@ + + + + + + + diff --git a/wp-content/plugins/events-calendar-pro/src/resources/css/app/main.min.css b/wp-content/plugins/events-calendar-pro/src/resources/css/app/main.min.css index d16066f43..a780c6434 100644 --- a/wp-content/plugins/events-calendar-pro/src/resources/css/app/main.min.css +++ b/wp-content/plugins/events-calendar-pro/src/resources/css/app/main.min.css @@ -3,7 +3,7 @@ .tribe-editor__additional-fields__field--radio{display:inline-block} .tribe-editor__additional-fields__divider-settings .components-base-control__field{display:flex;align-items:center}.tribe-editor__additional-fields__divider-settings .components-base-control__label{flex:auto;margin-bottom:0}.tribe-editor__additional-fields__divider-settings .components-text-control__input{flex:none;width:52px} .tribe-editor__additional-fields__field--checkbox{display:inline-block} -.tribe-editor__events-pro__add-field{border-top:1px solid #e1e3e6;padding:18px}.tribe-editor__events-pro__add-field__button{align-items:center;background-color:transparent;border:none;color:#000;cursor:pointer;display:flex;font-family:SF Pro Display,Helvetica;font-size:15px;font-weight:700;letter-spacing:.38px;outline:none}.tribe-editor__events-pro__add-field__button:focus{outline:none}.tribe-editor__events-pro__add-field__button__plus{color:#009fd4;font-family:SF Pro Display,Helvetica;font-size:20px;font-weight:700;letter-spacing:.5px;line-height:15px;margin-right:9px}.tribe-editor__events-pro__add-field.tribe-editor__events-pro__add-field--no-border{border-width:0} +.tribe-editor__events-pro__add-field{border-top:1px solid #e1e3e6;padding:18px}.tribe-editor__events-pro__add-field__button{align-items:center;background-color:transparent;border:none;color:#000;cursor:pointer;display:flex;font-family:SF Pro Display,Helvetica;font-size:15px;font-weight:700;letter-spacing:.38px;outline:none}.tribe-editor__events-pro__add-field__button:focus{outline:auto}.tribe-editor__events-pro__add-field__button__plus{color:#009fd4;font-family:SF Pro Display,Helvetica;font-size:20px;font-weight:700;letter-spacing:.5px;line-height:15px;margin-right:9px}.tribe-editor__events-pro__add-field.tribe-editor__events-pro__add-field--no-border{border-width:0} .tribe-editor__events-pro_recurrence-container{position:relative}.tribe-editor__events-pro_recurrence-container.tribe-editor__events-pro_recurrence-lock-container *{opacity:.9}.tribe-editor__events-pro_recurrence-container .tribe-editor__events-pro_recurrence-lock-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:hsla(180,8%,97%,.1);z-index:1}.tribe-editor__events-pro_recurrence-container .tribe-editor__events-pro__add-field__button{opacity:.7} .tribe-editor__events-pro__fieldset{padding:20px 50px;border-bottom:1px solid #e1e3e6;position:relative}.tribe-editor__events-pro__fieldset:last-child{border-bottom-width:0} .tribe-editor__events-pro__remove-field{background:transparent;border:0;cursor:pointer;outline:none;position:absolute;right:20px;top:20px}.tribe-editor__events-pro__remove-field svg{height:15px;width:11px} @@ -24,4 +24,4 @@ .tribe-editor__type-picker__type-select{width:195px}.tribe-editor__type-picker__type-select .tribe-editor__select__option:last-child{position:relative;margin-top:9px}.tribe-editor__type-picker__type-select .tribe-editor__select__option:last-child:after{content:"";position:absolute;width:100%;height:1px;left:0;top:-5px;background-color:#e1e3e6} .tribe-editor__on-date-picker .tribe-editor__day-picker-input{width:195px} .tribe-editor__events-pro__recurrence-description{align-items:center;display:flex;font-size:13px}.tribe-editor__events-pro__recurrence-description button,.tribe-editor__events-pro__recurrence-description input,.tribe-editor__events-pro__recurrence-description svg{margin-right:7px}.tribe-editor__events-pro__recurrence-description>svg{fill:#8d949b;height:16px}.tribe-editor__events-pro__recurrence-description>button:disabled,.tribe-editor__events-pro__recurrence-description>input:disabled{cursor:not-allowed}.tribe-editor__events-pro__recurrence-description>button{background-color:transparent;border-width:0;font-size:13px!important;outline:none}.tribe-editor__events-pro__recurrence-description>input{border-color:transparent}.tribe-editor__events-pro__recurrence-description>input:focus{border-color:#00a0d2}.tribe-editor__events-pro__recurrence-description>a{box-shadow:none!important;color:#0073aa!important;font-size:11px;margin-left:7px} -.editor-styles-wrapper .tribe-editor__related-events h2{margin:0}.tribe-editor__related-events__title{align-items:center;display:flex;justify-content:center;max-width:100%}.tribe-editor__related-events__title--selected{border:none}.tribe-editor__related-events__title--placeholder{cursor:text;background-color:transparent;border:0;display:block;font-size:1.3125rem;min-height:50px;min-width:200px;padding:5px 0}.tribe-editor__related-events__title-text{border:0;padding:0;margin:0;color:#fff;background-color:transparent;flex:1;font-size:1.3125rem;font-weight:400;width:100%}.tribe-editor__related-events .tribe-editor__related-events__title-text input{min-height:50px;background-color:#fff;border:0;font-size:1.3125rem;overflow:hidden;padding:5px 0;max-width:calc(100% - 20px);min-width:400px}.tribe-editor__related-events .tribe-editor__related-events__title-text input:focus{outline:0;box-shadow:none}.tribe-editor__related-events__title-text--empty input{background-color:#fff;color:#8d949b}.tribe-editor__related-events__title-text--empty input::placeholder{color:#8d949b}.tribe-editor__related-events__title .tribe-editor__related-events__title-text:focus [data-mce-selected=inline-boundary],.tribe-editor__related-events__title .tribe-editor__related-events__title-text [data-mce-selected=inline-boundary]{background:transparent}.tribe-editor__related-events__grid{display:flex;flex-direction:row;flex-wrap:wrap;width:100%}.tribe-editor__related-events__grid--item{display:flex;flex-direction:column;flex:0 1 32%;margin:1%}.tribe-editor__related-events__grid--item:nth-of-type(3n){margin-right:0}.tribe-editor__related-events__grid--item:nth-of-type(3n+1){margin-left:0}.tribe-editor__related-events__grid--item svg{background-color:#e9e9e9;fill:silver}.edit-post-visual-editor .editor-block-list__block .tribe-editor__related-events__grid--item-title,.editor-styles-wrapper .tribe-editor__related-events__grid--item-title{font-size:14px;font-weight:700;margin-bottom:5px;margin-top:5px;padding-top:0}.editor-styles-wrapper .tribe-editor__related-events__grid--item-date{font-size:12px} +.editor-styles-wrapper .tribe-editor__related-events h2{margin:0}.tribe-editor__related-events__title{align-items:center;display:flex;justify-content:center;max-width:100%}.tribe-editor__related-events__title--selected{border:none}.tribe-editor__related-events__title--placeholder{cursor:text;background-color:transparent;border:0;display:block;font-size:1.3125rem;min-height:50px;min-width:200px;padding:5px 0}.tribe-editor__related-events__title-text{border:0;padding:0;margin:0;color:#fff;background-color:transparent;flex:1;font-size:1.3125rem;font-weight:400;width:100%}.tribe-editor__related-events .tribe-editor__related-events__title-text input{min-height:50px;background-color:#fff;border:0;font-size:1.3125rem;overflow:hidden;padding:5px 0;max-width:calc(100% - 20px);min-width:400px}.tribe-editor__related-events .tribe-editor__related-events__title-text input:focus{box-shadow:none;outline:auto}.tribe-editor__related-events__title-text--empty input{background-color:#fff;color:#8d949b}.tribe-editor__related-events__title-text--empty input::placeholder{color:#8d949b}.tribe-editor__related-events__title .tribe-editor__related-events__title-text:focus [data-mce-selected=inline-boundary],.tribe-editor__related-events__title .tribe-editor__related-events__title-text [data-mce-selected=inline-boundary]{background:transparent}.tribe-editor__related-events__grid{display:flex;flex-direction:row;flex-wrap:wrap;width:100%}.tribe-editor__related-events__grid--item{display:flex;flex-direction:column;flex:0 1 32%;margin:1%}.tribe-editor__related-events__grid--item:nth-of-type(3n){margin-right:0}.tribe-editor__related-events__grid--item:nth-of-type(3n+1){margin-left:0}.tribe-editor__related-events__grid--item svg{background-color:#e9e9e9;fill:silver}.edit-post-visual-editor .editor-block-list__block .tribe-editor__related-events__grid--item-title,.editor-styles-wrapper .tribe-editor__related-events__grid--item-title{font-size:14px;font-weight:700;margin-bottom:5px;margin-top:5px;padding-top:0}.editor-styles-wrapper .tribe-editor__related-events__grid--item-date{font-size:12px} diff --git a/wp-content/plugins/events-calendar-pro/src/resources/css/custom-tables-v1/classic-editor-add-event-to-series.min.css b/wp-content/plugins/events-calendar-pro/src/resources/css/custom-tables-v1/classic-editor-add-event-to-series.min.css index 61c1fe371..634d71b68 100644 --- a/wp-content/plugins/events-calendar-pro/src/resources/css/custom-tables-v1/classic-editor-add-event-to-series.min.css +++ b/wp-content/plugins/events-calendar-pro/src/resources/css/custom-tables-v1/classic-editor-add-event-to-series.min.css @@ -1 +1 @@ -.tec-events-pro-series{padding-top:4px}.tec-events-pro-series *{box-sizing:border-box}.tec-events-pro-series .select2-container{max-width:350px}.tec-events-pro-series .select2-container--default .select2-selection--multiple{border-radius:0;min-height:0;position:relative}.tec-events-pro-series .select2-container--default .select2-selection--multiple:after{border:5px solid transparent;border-top-color:#aaa;border-bottom:0;content:"";position:absolute;right:var(--tec-spacer-3);top:50%;transform:translateY(-50%)}.tec-events-pro-series .select2-container--default.select2-container--open.select2-container--below .select2-selection--multiple{border-radius:0}.tec-events-pro-series .select2-container .select2-search--inline{margin:0;max-width:100%;min-width:100%}.tec-events-pro-series .select2-container--default .select2-search--inline .select2-search__field{font-size:var(--tec-font-size-1);line-height:1.167;margin:-4px 0;max-width:100%;min-width:100%;padding:0 var(--tec-spacer-8) 0 var(--tec-spacer-2)}.tec-events-pro-series .select2-container--default .select2-results__option--highlighted[aria-selected]{background:#f5f5f5}.tec-events-pro-series .select2-container .dropdown-wrapper{display:block;width:100%}.tec-events-pro-series .select2-container .dropdown-wrapper .select2-dropdown{width:100%}.tec-events-pro-series__result{font-size:var(--tec-font-size-1);font-weight:var(--tec-font-weight-bold);line-height:var(--tec-line-height-1)}.tec-events-pro-series__result-label{align-items:center;display:flex}.tec-events-pro-series__result-label>*{flex:none;margin-left:var(--tec-spacer-0)}.tec-events-pro-series__result-label-title{color:#606060;flex:0 1 auto;margin:0}.tec-events-pro-series__result-label-count-events{color:#000}.tec-events-pro-series__result-label-status{color:#999}.tec-events-pro-series__result-date{color:#999;font-style:italic}.tec-events-pro-series__selections-label{color:#999;display:block;font-size:12px;font-style:italic;font-weight:500;line-height:1.167;margin-top:12px}.tec-events-pro-series__selections-label.hidden{visibility:hidden}.tec-events-pro-series__selections-list{display:flex;flex-wrap:wrap;margin:16px -7px -14px}.tec-events-pro-series__selections-list .select2-selection__choice{align-items:center;background:#ebebeb;border:none;border-radius:var(--tec-border-radius-default);cursor:default;display:flex;flex-direction:row-reverse;margin:0 var(--tec-spacer-1) var(--tec-spacer-3);max-width:100%;padding:var(--tec-spacer-0) var(--tec-spacer-1)}.tec-events-pro-series__selections-list .select2-selection__choice__remove{color:#3f3f3f;cursor:pointer;flex:none;font-size:var(--tec-font-size-2);line-height:1;margin:0 0 0 var(--tec-spacer-2);width:var(--tec-spacer-1)}.tec-events-pro-series__selections-list .select2-selection__choice__remove:hover{color:#000}.tec-events-pro-series .select2-container--default .select2-selection--multiple .select2-selection__rendered{display:block;padding:0}.tec-events-pro-series__selection{align-items:center;display:flex;flex:auto;font-size:12px;font-weight:500;line-height:1.167;max-width:calc(100% - 19px)}.tec-events-pro-series__selection>*{flex:none;margin-left:7px}.tec-events-pro-series__selection-title{color:#606060;flex:auto;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tec-events-pro-series__selection-count-events{color:#000} \ No newline at end of file +.tec-events-pro-series{padding-top:4px}.tec-events-pro-series *{box-sizing:border-box}.tec-events-pro-series .select2-container{max-width:350px}.tec-events-pro-series .select2-container--default .select2-selection--multiple{border-radius:0;min-height:0;position:relative}.tec-events-pro-series .select2-container--default .select2-selection--multiple:after{border:5px solid transparent;border-top-color:#aaa;border-bottom:0;content:"";position:absolute;right:var(--tec-spacer-3);top:50%;transform:translateY(-50%)}.tec-events-pro-series .select2-container--default.select2-container--open.select2-container--below .select2-selection--multiple{border-radius:0}.tec-events-pro-series .select2-container .select2-search--inline{margin:0;max-width:100%;min-width:100%}.tec-events-pro-series .select2-container--default .select2-search--inline .select2-search__field{font-size:var(--tec-font-size-1);line-height:1.167;margin:-4px 0;max-width:100%;min-width:100%;padding:0 var(--tec-spacer-8) 0 var(--tec-spacer-2)}.tec-events-pro-series .select2-container--default .select2-results__option--highlighted[aria-selected]{background:#f5f5f5}.tec-events-pro-series .select2-container .dropdown-wrapper{display:block;width:100%}.tec-events-pro-series .select2-container .dropdown-wrapper .select2-dropdown{width:100%}.tec-events-pro-series__result{font-size:var(--tec-font-size-1);font-weight:var(--tec-font-weight-bold);line-height:var(--tec-line-height-1)}.tec-events-pro-series__result-label{align-items:center;display:flex}.tec-events-pro-series__result-label>*{flex:none;margin-left:var(--tec-spacer-0)}.tec-events-pro-series__result-label-title{color:#606060;flex:0 1 auto;margin:0}.tec-events-pro-series__result-label-count-events{color:#000}.tec-events-pro-series__result-label-status{color:#999}.tec-events-pro-series__result-date{color:#999;font-style:italic}.tec-events-pro-series__selections-label{color:#999;display:block;font-size:12px;font-style:italic;font-weight:500;line-height:1.167;margin-top:12px}.tec-events-pro-series__selections-label.hidden{visibility:hidden}.tec-events-pro-series__selections-list{display:flex;flex-wrap:wrap;margin:16px -7px -14px}.tec-events-pro-series__selections-list .select2-selection__choice{align-items:center;background:#ebebeb;border:none;border-radius:var(--tec-border-radius-default);cursor:default;display:flex;flex-direction:row-reverse;margin:0 var(--tec-spacer-1) var(--tec-spacer-3);max-width:100%;padding:var(--tec-spacer-0) var(--tec-spacer-1)}.tec-events-pro-series__selections-list .select2-selection__choice__remove{color:#3f3f3f;cursor:pointer;flex:none;font-size:var(--tec-font-size-2);line-height:1;margin:0 0 0 var(--tec-spacer-2);width:var(--tec-spacer-1)}.tec-events-pro-series__selections-list .select2-selection__choice__remove:hover{color:#000}.tec-events-pro-series .select2-container--default .select2-selection--multiple .select2-selection__rendered{display:block;padding:0}.tec-events-pro-series__selection{align-items:center;display:flex;flex:auto;font-size:12px;font-weight:500;line-height:1.167;max-width:calc(100% - 19px)}.tec-events-pro-series__selection>*{flex:none;margin-left:7px}.tec-events-pro-series__selection-title{color:#606060;flex:auto;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tec-events-pro-series__selection-count-events{color:#000}.tec-events-pro-series__metabox-events-list__title-column{padding:10px 0}.tec-events-pro-series__metabox-events-list__title-column--title{font-size:var(--tec-font-size-2);line-height:var(--tec-spacer-3);margin-bottom:5px;color:#1e1e1e}.tec-events-pro-series__metabox-events-list__title-column--start-date{font-size:var(--tec-font-size-1);line-height:var(--tec-spacer-3);color:#787c82}.table-view-list.series td{vertical-align:middle} \ No newline at end of file diff --git a/wp-content/plugins/events-calendar-pro/src/resources/css/events-admin.min.css b/wp-content/plugins/events-calendar-pro/src/resources/css/events-admin.min.css index 5d0c0e7d3..9526fafa8 100644 --- a/wp-content/plugins/events-calendar-pro/src/resources/css/events-admin.min.css +++ b/wp-content/plugins/events-calendar-pro/src/resources/css/events-admin.min.css @@ -1 +1 @@ -.tribe-events-recurring-update-msg.updating{border-color:#ffba00}.tribe-events-recurring-update-msg>div{padding-bottom:.5rem}.tribe-events-recurring-update-msg .progress{border:1px solid #ccc;float:left;margin-right:1rem;padding:1px;width:18rem}.tribe-events-recurring-update-msg .progress .bar{background:#ffba00;height:1rem;width:1%}.tribe-events-recurring-update-msg.completed .progress .bar{background:#7ad03a}#tribe-recurrence-staging{display:none}.recurrence-row .eventduration input[type=number]{margin-left:.66rem;width:3rem}.tribe-widget-select2{width:200px}.tribe.widget-settings select.venue-dropdown{max-width:100%}.so-panels-dialog-wrapper~.select2-drop,.tribe-customizer-select2{z-index:100000000}.so-content.panel-dialog.widget{margin-bottom:0}.recurrence_end_count{width:4rem}.tribe-additional-fields table tbody tr:first-child .tribe-field-heading{border-top:none}.tribe-additional-fields table.has-fields tbody tr:last-child{display:none}.tribe-additional-fields table#additional-field-table tbody tr{height:auto}.tribe-additional-fields table#additional-field-table tbody tr td{padding:0}.tribe-additional-fields table .tribe-field-row{padding:10px 0}.tribe-additional-fields table .tribe-field-heading{border-bottom:1px solid #eee;border-top:1px solid #dedede;padding:0 10px}.tribe-additional-fields table .tribe-field-heading h3{cursor:pointer;font-size:13px;margin:10px 0}.tribe-additional-fields table .tribe-field-heading span.tribe-toggle{float:right}.tribe-additional-fields table .tribe-field-heading span.tribe-toggle i{font-size:14px;line-height:20px;vertical-align:middle}.tribe-additional-fields table .tribe-field-heading.closed{border-bottom:none}.tribe-additional-fields table .tribe-field-heading.closed span.tribe-toggle{transform:rotate(180deg)}.tribe-additional-fields table .tribe-field-heading .tribe-field-type{text-transform:capitalize}.tribe-additional-fields table .tribe-field-heading .tribe-field-label{color:#888}.tribe-additional-fields table .tribe-field-content{padding:10px;position:relative}.tribe-additional-fields table .tribe-field-content .tribe-dropdown{min-width:202px}.tribe-additional-fields table .tribe-field-content label{float:left;font-weight:600;min-width:175px}.tribe-additional-fields table .tribe-field-content .tribe-field-options{display:none}.tribe-additional-fields table .tribe-field-content .add-remove-actions{position:absolute;right:10px;top:15px}.tribe-additional-fields table .tribe-field-content .add-remove-actions a{cursor:pointer}.tribe-additional-fields table .add-another-field i{line-height:28px} \ No newline at end of file +.tribe-events-recurring-update-msg.updating{border-color:#ffba00}.tribe-events-recurring-update-msg>div{padding-bottom:.5rem}.tribe-events-recurring-update-msg .progress{border:1px solid #ccc;float:left;margin-right:1rem;padding:1px;width:18rem}.tribe-events-recurring-update-msg .progress .bar{background:#ffba00;height:1rem;width:1%}.tribe-events-recurring-update-msg.completed .progress .bar{background:#7ad03a}#tribe-recurrence-staging{display:none}.recurrence-row .eventduration input[type=number]{margin-left:.66rem;width:3rem}.tribe-widget-select2{width:200px}.tribe.widget-settings select.venue-dropdown{max-width:100%}.so-panels-dialog-wrapper~.select2-drop,.tribe-customizer-select2{z-index:100000000}.so-content.panel-dialog.widget{margin-bottom:0}.recurrence_end_count{width:4rem}.tribe-additional-fields table tbody tr:first-child .tribe-field-heading{border-top:none}.tribe-additional-fields table.has-fields tbody tr:last-child{display:none}.tribe-additional-fields table#additional-field-table tbody tr{height:auto}.tribe-additional-fields table#additional-field-table tbody tr td{padding:0}.tribe-additional-fields table .tribe-field-row{padding:10px 0}.tribe-additional-fields table .tribe-field-heading{border-bottom:1px solid #eee;border-top:1px solid #dedede;padding:0 10px}.tribe-additional-fields table .tribe-field-heading h3{cursor:pointer;font-size:13px;margin:10px 0}.tribe-additional-fields table .tribe-field-heading span.tribe-toggle{float:right}.tribe-additional-fields table .tribe-field-heading span.tribe-toggle i{font-size:14px;line-height:20px;vertical-align:middle}.tribe-additional-fields table .tribe-field-heading.closed{border-bottom:none}.tribe-additional-fields table .tribe-field-heading.closed span.tribe-toggle{transform:rotate(180deg)}.tribe-additional-fields table .tribe-field-heading .tribe-field-type{text-transform:capitalize}.tribe-additional-fields table .tribe-field-heading .tribe-field-label{color:#888}.tribe-additional-fields table .tribe-field-content{padding:10px;position:relative}.tribe-additional-fields table .tribe-field-content .tribe-dropdown{min-width:202px}.tribe-additional-fields table .tribe-field-content label{float:left;font-weight:600;min-width:175px}.tribe-additional-fields table .tribe-field-content .tribe-field-options{display:none}.tribe-additional-fields table .tribe-field-content .add-remove-actions{position:absolute;right:10px;top:15px}.tribe-additional-fields table .tribe-field-content .add-remove-actions a{cursor:pointer}.tribe-additional-fields table .add-another-field i{line-height:28px}.tribe_events_page_tec-events-settings #tec-settings-form.tec-settings-form__defaults-venue-tab-tab--active .tec-settings-form__header-block{grid-row:span 3}.tribe_events_page_tec-events-settings #tec-settings-form.tec-settings-form__defaults-venue-tab-tab--active fieldset.tribe-field{padding-bottom:0} \ No newline at end of file diff --git a/wp-content/plugins/events-calendar-pro/src/resources/css/events-virtual-admin-single-block.min.css b/wp-content/plugins/events-calendar-pro/src/resources/css/events-virtual-admin-single-block.min.css new file mode 100644 index 000000000..fc8d3fb3c --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/resources/css/events-virtual-admin-single-block.min.css @@ -0,0 +1 @@ +.wp-block[data-type="tribe/virtual-event"] .components-placeholder.components-placeholder .tribe-editor__event-virtual h3{color:var(--tec-color-link-accent);font-family:var(--tec-font-family-sans-serif);font-size:var(--tec-font-size-4);font-weight:400;letter-spacing:normal;line-height:1.64;margin-bottom:0;margin-top:0}.wp-block[data-type="tribe/virtual-event"] .components-placeholder.components-placeholder .tribe-editor__event-virtual .components-placeholder__instructions{color:var(--tec-color-text-primary);font-family:var(--tec-font-family-sans-serif);font-size:var(--tec-font-size-4);letter-spacing:normal;line-height:1.64;margin:0} \ No newline at end of file diff --git a/wp-content/plugins/events-calendar-pro/src/resources/css/events-virtual-admin.min.css b/wp-content/plugins/events-calendar-pro/src/resources/css/events-virtual-admin.min.css new file mode 100644 index 000000000..2091815d1 --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/resources/css/events-virtual-admin.min.css @@ -0,0 +1 @@ +.tec-settings-api-application *,.virtual-event-wrapper.eventtable *{box-sizing:border-box}.tec-settings-api-application tbody.tribe-dependent.tribe-active,.virtual-event-wrapper.eventtable tbody.tribe-dependent.tribe-active{display:table-row-group}.tec-settings-api-application td,.virtual-event-wrapper.eventtable td{padding-bottom:18px;vertical-align:top}.tec-settings-api-application td.tribe-configure-virtual-button__container,.tec-settings-api-application td.tribe_sectionheader,.virtual-event-wrapper.eventtable td.tribe-configure-virtual-button__container,.virtual-event-wrapper.eventtable td.tribe_sectionheader{padding-bottom:0}.tec-settings-api-application td ul,.virtual-event-wrapper.eventtable td ul{margin:0}.tec-settings-api-application td li:last-of-type,.virtual-event-wrapper.eventtable td li:last-of-type{margin-bottom:0}.tec-settings-api-application td.tribe-events-virtual-video-source__content,.virtual-event-wrapper.eventtable td.tribe-events-virtual-video-source__content{display:block;padding-bottom:var(--tec-spacer-3)}.tec-settings-api-application .tribe-events-virtual-hidden,.virtual-event-wrapper.eventtable .tribe-events-virtual-hidden{display:none;visibility:hidden}.tec-settings-api-application .tribe-remove-virtual-event,.virtual-event-wrapper.eventtable .tribe-remove-virtual-event{background:transparent;border:0;color:#444;cursor:pointer;float:right;padding:0}.tec-settings-api-application .tribe-remove-virtual-event:focus,.tec-settings-api-application .tribe-remove-virtual-event:hover,.virtual-event-wrapper.eventtable .tribe-remove-virtual-event:focus,.virtual-event-wrapper.eventtable .tribe-remove-virtual-event:hover{color:#a00}.tec-settings-api-application div.tribe-dependent.tribe-events-virtual-show-helper-text.tribe-active,.virtual-event-wrapper.eventtable div.tribe-dependent.tribe-events-virtual-show-helper-text.tribe-active{display:inline-block}.tec-settings-api-application .tribe-tooltip.tribe-events-virtual-show-helper-text,.virtual-event-wrapper.eventtable .tribe-tooltip.tribe-events-virtual-show-helper-text{margin-left:var(--tec-spacer-0);position:absolute}.tec-settings-api-application .tribe-events-virtual-show-helper-text .dashicons-info,.virtual-event-wrapper.eventtable .tribe-events-virtual-show-helper-text .dashicons-info{height:var(--tec-spacer-3)}.tec-settings-api-application .virtual-event-wrapper p.event-helper-text,.virtual-event-wrapper.eventtable .virtual-event-wrapper p.event-helper-text{font-size:var(--tec-font-size-1);margin:0;padding-top:6px}.tec-settings-api-application .tribe-events-virtual-video-sources-wrap .select2-container,.tec-settings-api-application .tribe-events-virtual-video-sources-wrap .select2-selection--single,.virtual-event-wrapper.eventtable .tribe-events-virtual-video-sources-wrap .select2-container,.virtual-event-wrapper.eventtable .tribe-events-virtual-video-sources-wrap .select2-selection--single{max-width:100%;min-width:200px}.tec-settings-api-application .tribe-events-virtual-video-sources,.virtual-event-wrapper.eventtable .tribe-events-virtual-video-sources{margin:8px 0 0}.tec-settings-api-application .tec-events-virtual-meetings-video-source__inner,.virtual-event-wrapper.eventtable .tec-events-virtual-meetings-video-source__inner{background:#fff;border:1px solid #ccc;border-radius:3px;display:inline-block;max-width:calc(100% - 20px);padding:20px;position:relative;vertical-align:top;width:100%}.tec-settings-api-application .tribe-events-virtual-meetings-video-source__title,.virtual-event-wrapper.eventtable .tribe-events-virtual-meetings-video-source__title{font-size:14px;font-style:normal;font-weight:700;line-height:16px;margin-bottom:14px}.tec-settings-api-application .tribe-events-virtual-video-source-autodetect__title,.virtual-event-wrapper.eventtable .tribe-events-virtual-video-source-autodetect__title{margin:0 0 var(--tec-spacer-2)}.tec-settings-api-application .tribe-events-virtual-video-source-autodetect__fields,.virtual-event-wrapper.eventtable .tribe-events-virtual-video-source-autodetect__fields{margin:0 0 var(--tec-spacer-3)}.tec-settings-api-application .tribe-events-virtual-video-source__virtual-url-input,.virtual-event-wrapper.eventtable .tribe-events-virtual-video-source__virtual-url-input{margin:0 var(--tec-spacer-1) 0 0;width:100%}.tec-settings-api-application .tec-events-virtual-meetings-control,.virtual-event-wrapper.eventtable .tec-events-virtual-meetings-control{margin:0 0 var(--tec-spacer-2)}.tec-settings-api-application .tribe-events-virtual-meetings-autodetect-source__dropdown .select2-selection--single,.tec-settings-api-application .tribe-events-virtual-meetings-video-source-dropdown .select2-selection--single,.virtual-event-wrapper.eventtable .tribe-events-virtual-meetings-autodetect-source__dropdown .select2-selection--single,.virtual-event-wrapper.eventtable .tribe-events-virtual-meetings-video-source-dropdown .select2-selection--single{width:100%}.tec-settings-api-application .tec-events-virtual-settings-message__wrap,.virtual-event-wrapper.eventtable .tec-events-virtual-settings-message__wrap{border:1px solid var(--tec-color-icon-secondary);border-left-color:var(--tec-color-icon-primary-alt);border-left-width:4px;margin:0 0 var(--tec-spacer-3);padding:4px 12px}.tec-settings-api-application .tec-events-virtual-settings-message__wrap.tec-events-virtual-meetings-api__connected-message,.tec-settings-api-application .tec-events-virtual-settings-message__wrap.tribe-events-virtual-meetings-zoom__connected-message,.virtual-event-wrapper.eventtable .tec-events-virtual-settings-message__wrap.tec-events-virtual-meetings-api__connected-message,.virtual-event-wrapper.eventtable .tec-events-virtual-settings-message__wrap.tribe-events-virtual-meetings-zoom__connected-message{width:90%}.tec-settings-api-application .tec-events-virtual-settings-message__wrap.updated,.virtual-event-wrapper.eventtable .tec-events-virtual-settings-message__wrap.updated{border-left-color:#00a32a}.tec-settings-api-application .tec-events-virtual-settings-message__wrap.error,.virtual-event-wrapper.eventtable .tec-events-virtual-settings-message__wrap.error{border-left-color:var(--tec-color-icon-error)}.tec-settings-api-application .tec-events-virtual-meetings-control__label,.virtual-event-wrapper.eventtable .tec-events-virtual-meetings-control__label{display:inline-block;margin:0 0 var(--tec-spacer-0)}.tec-settings-api-application .tec-events-virtual-meetings-zoom__type-options--tooltip .dashicons-info,.virtual-event-wrapper.eventtable .tec-events-virtual-meetings-zoom__type-options--tooltip .dashicons-info{color:var(--tec-color-icon-primary)}.tec-settings-api-application .tribe-events-virtual-video-source-autodetect__button-wrapper,.virtual-event-wrapper.eventtable .tribe-events-virtual-video-source-autodetect__button-wrapper{text-align:right}.tec-settings-api-application .tec-autodetect-video-preview__container.hide-preview,.virtual-event-wrapper.eventtable .tec-autodetect-video-preview__container.hide-preview{display:none}.tec-settings-api-application .tribe-events-virtual-single-video-embed__wrapper,.virtual-event-wrapper.eventtable .tribe-events-virtual-single-video-embed__wrapper{padding-bottom:56.25%;position:relative}.tec-settings-api-application .tribe-events-virtual-single-video-embed__wrapper iframe,.virtual-event-wrapper.eventtable .tribe-events-virtual-single-video-embed__wrapper iframe{height:100%;left:0;margin:0;position:absolute;top:0;width:100%}.tec-settings-api-application .tribe-events-virtual-display__list,.virtual-event-wrapper.eventtable .tribe-events-virtual-display__list{margin-right:var(--tec-spacer-1);max-width:360px;width:calc(100% - 32px)}.virtual-event-wrapper .tec-settings-api-application .tribe-events-virtual-display__list input,.virtual-event-wrapper .virtual-event-wrapper.eventtable .tribe-events-virtual-display__list input{margin-bottom:0}.tec-settings-api-application .tec-events-virtual-display__list-item--linked-button,.virtual-event-wrapper.eventtable .tec-events-virtual-display__list-item--linked-button{align-items:center;display:flex;flex-wrap:wrap}.virtual-event-wrapper .tec-settings-api-application .tec-events-virtual-display__list-item:not(.tribe-events-virtual-hidden)+.tec-events-virtual-display__list-item--linked-button,.virtual-event-wrapper .virtual-event-wrapper.eventtable .tec-events-virtual-display__list-item:not(.tribe-events-virtual-hidden)+.tec-events-virtual-display__list-item--linked-button{margin-bottom:0}.virtual-event-wrapper .tec-settings-api-application .tribe-events-virtual-display__linked-button-label,.virtual-event-wrapper .virtual-event-wrapper.eventtable .tribe-events-virtual-display__linked-button-label{flex:none}.tec-settings-api-application .tribe-events-virtual-display__linked-button-text-wrapper,.virtual-event-wrapper.eventtable .tribe-events-virtual-display__linked-button-text-wrapper{align-items:center;display:flex;flex:1 1 auto;margin:6px 0 0 32px;width:100%}.tec-settings-api-application .tribe-events-virtual-display__linked-button-text-label,.virtual-event-wrapper.eventtable .tribe-events-virtual-display__linked-button-text-label{flex:none;padding-right:11px}.tec-settings-api-application .tribe-events-virtual-display__linked-button-text-input,.virtual-event-wrapper.eventtable .tribe-events-virtual-display__linked-button-text-input{flex:1}.virtual-event-wrapper .tec-settings-api-application .tribe-events-virtual-display__linked-button-text-input,.virtual-event-wrapper .virtual-event-wrapper.eventtable .tribe-events-virtual-display__linked-button-text-input{flex:1 1 auto;min-width:70px;width:0}.tec-settings-api-application .tribe-events-virtual-meetings-video-source-youtube__information,.virtual-event-wrapper.eventtable .tribe-events-virtual-meetings-video-source-youtube__information{color:#999;font-size:12px;font-style:italic;line-height:15px;margin:0 0 var(--tec-spacer-2)}.tec-settings-api-application .tribe-events-virtual-meetings-source-youtube__channel-id-text-label,.virtual-event-wrapper.eventtable .tribe-events-virtual-meetings-source-youtube__channel-id-text-label{display:inline-block;font-size:12px;font-weight:500;line-height:14px;margin:0 0 var(--tec-spacer-1)}.tec-settings-api-application .tribe-events-virtual-meetings-source-youtube__channel-id-text-input,.virtual-event-wrapper.eventtable .tribe-events-virtual-meetings-source-youtube__channel-id-text-input{margin:0 0 var(--tec-spacer-3);width:100%}.tec-settings-api-application .tribe-events-virtual-meetings__accordion-wrapper .tribe-events-virtual-meetings__accordion-toggle,.virtual-event-wrapper.eventtable .tribe-events-virtual-meetings__accordion-wrapper .tribe-events-virtual-meetings__accordion-toggle{font-size:12px;font-weight:500}.tec-settings-api-application .tribe-events-virtual-meetings__accordion-wrapper .tribe-field-switch-inner-wrap,.virtual-event-wrapper.eventtable .tribe-events-virtual-meetings__accordion-wrapper .tribe-field-switch-inner-wrap{display:flex;justify-content:space-between;margin:0 0 var(--tec-spacer-2)}.tec-settings-api-application.tec-events-settings-google-application .tec-settings-api-application>p,.tec-settings-api-application.tec-events-settings-microsoft-application .tec-settings-api-application>p,.tec-settings-api-application.tec-events-settings-webex-application .tec-settings-api-application>p,.tec-settings-api-application.tec-events-settings-zoom-application .tec-settings-api-application>p,.virtual-event-wrapper.eventtable.tec-events-settings-google-application .tec-settings-api-application>p,.virtual-event-wrapper.eventtable.tec-events-settings-microsoft-application .tec-settings-api-application>p,.virtual-event-wrapper.eventtable.tec-events-settings-webex-application .tec-settings-api-application>p,.virtual-event-wrapper.eventtable.tec-events-settings-zoom-application .tec-settings-api-application>p{padding-left:var(--tec-spacer-2)}.tec-settings-api-application.tec-events-settings-google-application .tribe-disabled,.tec-settings-api-application.tec-events-settings-microsoft-application .tribe-disabled,.tec-settings-api-application.tec-events-settings-webex-application .tribe-disabled,.tec-settings-api-application.tec-events-settings-zoom-application .tribe-disabled,.virtual-event-wrapper.eventtable.tec-events-settings-google-application .tribe-disabled,.virtual-event-wrapper.eventtable.tec-events-settings-microsoft-application .tribe-disabled,.virtual-event-wrapper.eventtable.tec-events-settings-webex-application .tribe-disabled,.virtual-event-wrapper.eventtable.tec-events-settings-zoom-application .tribe-disabled{border-color:#d5d5d5;color:#d5d5d5}.tec-settings-api-application.tec-events-settings-google-application legend,.tec-settings-api-application.tec-events-settings-microsoft-application legend,.tec-settings-api-application.tec-events-settings-webex-application legend,.tec-settings-api-application.tec-events-settings-zoom-application legend,.virtual-event-wrapper.eventtable.tec-events-settings-google-application legend,.virtual-event-wrapper.eventtable.tec-events-settings-microsoft-application legend,.virtual-event-wrapper.eventtable.tec-events-settings-webex-application legend,.virtual-event-wrapper.eventtable.tec-events-settings-zoom-application legend{float:none;font-weight:700;margin-right:20px;width:220px}.tec-settings-api-application.tec-events-settings-google-application .tec-meetings-api-fields,.tec-settings-api-application.tec-events-settings-microsoft-application .tec-meetings-api-fields,.tec-settings-api-application.tec-events-settings-webex-application .tec-meetings-api-fields,.tec-settings-api-application.tec-events-settings-zoom-application .tec-meetings-api-fields,.virtual-event-wrapper.eventtable.tec-events-settings-google-application .tec-meetings-api-fields,.virtual-event-wrapper.eventtable.tec-events-settings-microsoft-application .tec-meetings-api-fields,.virtual-event-wrapper.eventtable.tec-events-settings-webex-application .tec-meetings-api-fields,.virtual-event-wrapper.eventtable.tec-events-settings-zoom-application .tec-meetings-api-fields{display:block;margin-bottom:20px}.tec-settings-api-application.tec-events-settings-google-application .tec-meetings-api-fields ul,.tec-settings-api-application.tec-events-settings-microsoft-application .tec-meetings-api-fields ul,.tec-settings-api-application.tec-events-settings-webex-application .tec-meetings-api-fields ul,.tec-settings-api-application.tec-events-settings-zoom-application .tec-meetings-api-fields ul,.virtual-event-wrapper.eventtable.tec-events-settings-google-application .tec-meetings-api-fields ul,.virtual-event-wrapper.eventtable.tec-events-settings-microsoft-application .tec-meetings-api-fields ul,.virtual-event-wrapper.eventtable.tec-events-settings-webex-application .tec-meetings-api-fields ul,.virtual-event-wrapper.eventtable.tec-events-settings-zoom-application .tec-meetings-api-fields ul{margin:0;padding:0}.tec-settings-api-application.tec-events-settings-google-application .tec-meetings-api-fields .long-list,.tec-settings-api-application.tec-events-settings-microsoft-application .tec-meetings-api-fields .long-list,.tec-settings-api-application.tec-events-settings-webex-application .tec-meetings-api-fields .long-list,.tec-settings-api-application.tec-events-settings-zoom-application .tec-meetings-api-fields .long-list,.virtual-event-wrapper.eventtable.tec-events-settings-google-application .tec-meetings-api-fields .long-list,.virtual-event-wrapper.eventtable.tec-events-settings-microsoft-application .tec-meetings-api-fields .long-list,.virtual-event-wrapper.eventtable.tec-events-settings-webex-application .tec-meetings-api-fields .long-list,.virtual-event-wrapper.eventtable.tec-events-settings-zoom-application .tec-meetings-api-fields .long-list{background:hsla(0,0%,100%,.4);border:1px solid #aaa;border-radius:4px;box-sizing:border-box;margin:0 0 20px;max-height:308px;overflow-y:scroll;padding:20px 23px}.tec-settings-api-application.tec-events-settings-google-application .tec-settings-api-account-details,.tec-settings-api-application.tec-events-settings-microsoft-application .tec-settings-api-account-details,.tec-settings-api-application.tec-events-settings-webex-application .tec-settings-api-account-details,.tec-settings-api-application.tec-events-settings-zoom-application .tec-settings-api-account-details,.virtual-event-wrapper.eventtable.tec-events-settings-google-application .tec-settings-api-account-details,.virtual-event-wrapper.eventtable.tec-events-settings-microsoft-application .tec-settings-api-account-details,.virtual-event-wrapper.eventtable.tec-events-settings-webex-application .tec-settings-api-account-details,.virtual-event-wrapper.eventtable.tec-events-settings-zoom-application .tec-settings-api-account-details{background:#fff;border:1px solid #aaa;display:flex;margin:0 0 14px;max-width:390px;padding:17px 15px}.tec-settings-api-application.tec-events-settings-google-application .tec-settings-microsoft-account-details,.tec-settings-api-application.tec-events-settings-microsoft-application .tec-settings-microsoft-account-details,.tec-settings-api-application.tec-events-settings-webex-application .tec-settings-microsoft-account-details,.tec-settings-api-application.tec-events-settings-zoom-application .tec-settings-microsoft-account-details,.virtual-event-wrapper.eventtable.tec-events-settings-google-application .tec-settings-microsoft-account-details,.virtual-event-wrapper.eventtable.tec-events-settings-microsoft-application .tec-settings-microsoft-account-details,.virtual-event-wrapper.eventtable.tec-events-settings-webex-application .tec-settings-microsoft-account-details,.virtual-event-wrapper.eventtable.tec-events-settings-zoom-application .tec-settings-microsoft-account-details{max-width:410px}.tec-settings-api-application.tec-events-settings-google-application .tec-settings-api-account-details__account-name,.tec-settings-api-application.tec-events-settings-microsoft-application .tec-settings-api-account-details__account-name,.tec-settings-api-application.tec-events-settings-webex-application .tec-settings-api-account-details__account-name,.tec-settings-api-application.tec-events-settings-zoom-application .tec-settings-api-account-details__account-name,.virtual-event-wrapper.eventtable.tec-events-settings-google-application .tec-settings-api-account-details__account-name,.virtual-event-wrapper.eventtable.tec-events-settings-microsoft-application .tec-settings-api-account-details__account-name,.virtual-event-wrapper.eventtable.tec-events-settings-webex-application .tec-settings-api-account-details__account-name,.virtual-event-wrapper.eventtable.tec-events-settings-zoom-application .tec-settings-api-account-details__account-name{flex:0 0 245px}.tec-settings-api-application.tec-events-settings-google-application .tec-settings-api-account-details__account-email,.tec-settings-api-application.tec-events-settings-microsoft-application .tec-settings-api-account-details__account-email,.tec-settings-api-application.tec-events-settings-webex-application .tec-settings-api-account-details__account-email,.tec-settings-api-application.tec-events-settings-zoom-application .tec-settings-api-account-details__account-email,.virtual-event-wrapper.eventtable.tec-events-settings-google-application .tec-settings-api-account-details__account-email,.virtual-event-wrapper.eventtable.tec-events-settings-microsoft-application .tec-settings-api-account-details__account-email,.virtual-event-wrapper.eventtable.tec-events-settings-webex-application .tec-settings-api-account-details__account-email,.virtual-event-wrapper.eventtable.tec-events-settings-zoom-application .tec-settings-api-account-details__account-email{color:var(--tec-color-text-primary-light);font-size:var(--tec-font-size-0)}.tec-settings-api-application.tec-events-settings-google-application .tec-settings-api-account-details__account-delete,.tec-settings-api-application.tec-events-settings-google-application .tec-settings-api-account-details__account-status,.tec-settings-api-application.tec-events-settings-google-application .tec-settings-api-account-details__refresh-account,.tec-settings-api-application.tec-events-settings-microsoft-application .tec-settings-api-account-details__account-delete,.tec-settings-api-application.tec-events-settings-microsoft-application .tec-settings-api-account-details__account-status,.tec-settings-api-application.tec-events-settings-microsoft-application .tec-settings-api-account-details__refresh-account,.tec-settings-api-application.tec-events-settings-webex-application .tec-settings-api-account-details__account-delete,.tec-settings-api-application.tec-events-settings-webex-application .tec-settings-api-account-details__account-status,.tec-settings-api-application.tec-events-settings-webex-application .tec-settings-api-account-details__refresh-account,.tec-settings-api-application.tec-events-settings-zoom-application .tec-settings-api-account-details__account-delete,.tec-settings-api-application.tec-events-settings-zoom-application .tec-settings-api-account-details__account-status,.tec-settings-api-application.tec-events-settings-zoom-application .tec-settings-api-account-details__refresh-account,.virtual-event-wrapper.eventtable.tec-events-settings-google-application .tec-settings-api-account-details__account-delete,.virtual-event-wrapper.eventtable.tec-events-settings-google-application .tec-settings-api-account-details__account-status,.virtual-event-wrapper.eventtable.tec-events-settings-google-application .tec-settings-api-account-details__refresh-account,.virtual-event-wrapper.eventtable.tec-events-settings-microsoft-application .tec-settings-api-account-details__account-delete,.virtual-event-wrapper.eventtable.tec-events-settings-microsoft-application .tec-settings-api-account-details__account-status,.virtual-event-wrapper.eventtable.tec-events-settings-microsoft-application .tec-settings-api-account-details__refresh-account,.virtual-event-wrapper.eventtable.tec-events-settings-webex-application .tec-settings-api-account-details__account-delete,.virtual-event-wrapper.eventtable.tec-events-settings-webex-application .tec-settings-api-account-details__account-status,.virtual-event-wrapper.eventtable.tec-events-settings-webex-application .tec-settings-api-account-details__refresh-account,.virtual-event-wrapper.eventtable.tec-events-settings-zoom-application .tec-settings-api-account-details__account-delete,.virtual-event-wrapper.eventtable.tec-events-settings-zoom-application .tec-settings-api-account-details__account-status,.virtual-event-wrapper.eventtable.tec-events-settings-zoom-application .tec-settings-api-account-details__refresh-account{align-items:center;display:flex}.tec-settings-api-application.tec-events-settings-google-application .tec-settings-api-account-details__refresh-account,.tec-settings-api-application.tec-events-settings-microsoft-application .tec-settings-api-account-details__refresh-account,.tec-settings-api-application.tec-events-settings-webex-application .tec-settings-api-account-details__refresh-account,.tec-settings-api-application.tec-events-settings-zoom-application .tec-settings-api-account-details__refresh-account,.virtual-event-wrapper.eventtable.tec-events-settings-google-application .tec-settings-api-account-details__refresh-account,.virtual-event-wrapper.eventtable.tec-events-settings-microsoft-application .tec-settings-api-account-details__refresh-account,.virtual-event-wrapper.eventtable.tec-events-settings-webex-application .tec-settings-api-account-details__refresh-account,.virtual-event-wrapper.eventtable.tec-events-settings-zoom-application .tec-settings-api-account-details__refresh-account{margin-left:auto}.tec-settings-api-application.tec-events-settings-google-application .tec-settings-api-account-details__account-refresh,.tec-settings-api-application.tec-events-settings-microsoft-application .tec-settings-api-account-details__account-refresh,.tec-settings-api-application.tec-events-settings-webex-application .tec-settings-api-account-details__account-refresh,.tec-settings-api-application.tec-events-settings-zoom-application .tec-settings-api-account-details__account-refresh,.virtual-event-wrapper.eventtable.tec-events-settings-google-application .tec-settings-api-account-details__account-refresh,.virtual-event-wrapper.eventtable.tec-events-settings-microsoft-application .tec-settings-api-account-details__account-refresh,.virtual-event-wrapper.eventtable.tec-events-settings-webex-application .tec-settings-api-account-details__account-refresh,.virtual-event-wrapper.eventtable.tec-events-settings-zoom-application .tec-settings-api-account-details__account-refresh{background:transparent;border:0;cursor:pointer;float:right;margin:0 15px;padding:0}.tec-settings-api-application.tec-events-settings-google-application .tec-settings-api-account-details__account-refresh:disabled,.tec-settings-api-application.tec-events-settings-microsoft-application .tec-settings-api-account-details__account-refresh:disabled,.tec-settings-api-application.tec-events-settings-webex-application .tec-settings-api-account-details__account-refresh:disabled,.tec-settings-api-application.tec-events-settings-zoom-application .tec-settings-api-account-details__account-refresh:disabled,.virtual-event-wrapper.eventtable.tec-events-settings-google-application .tec-settings-api-account-details__account-refresh:disabled,.virtual-event-wrapper.eventtable.tec-events-settings-microsoft-application .tec-settings-api-account-details__account-refresh:disabled,.virtual-event-wrapper.eventtable.tec-events-settings-webex-application .tec-settings-api-account-details__account-refresh:disabled,.virtual-event-wrapper.eventtable.tec-events-settings-zoom-application .tec-settings-api-account-details__account-refresh:disabled{opacity:.5}.tec-settings-api-application.tec-events-settings-google-application .tec-settings-api-account-details__account-refresh svg,.tec-settings-api-application.tec-events-settings-microsoft-application .tec-settings-api-account-details__account-refresh svg,.tec-settings-api-application.tec-events-settings-webex-application .tec-settings-api-account-details__account-refresh svg,.tec-settings-api-application.tec-events-settings-zoom-application .tec-settings-api-account-details__account-refresh svg,.virtual-event-wrapper.eventtable.tec-events-settings-google-application .tec-settings-api-account-details__account-refresh svg,.virtual-event-wrapper.eventtable.tec-events-settings-microsoft-application .tec-settings-api-account-details__account-refresh svg,.virtual-event-wrapper.eventtable.tec-events-settings-webex-application .tec-settings-api-account-details__account-refresh svg,.virtual-event-wrapper.eventtable.tec-events-settings-zoom-application .tec-settings-api-account-details__account-refresh svg{height:16px;margin-bottom:-4px;width:19px}.tec-settings-api-application.tec-events-settings-google-application .tec-settings-api-account-details__account-refresh svg path,.tec-settings-api-application.tec-events-settings-microsoft-application .tec-settings-api-account-details__account-refresh svg path,.tec-settings-api-application.tec-events-settings-webex-application .tec-settings-api-account-details__account-refresh svg path,.tec-settings-api-application.tec-events-settings-zoom-application .tec-settings-api-account-details__account-refresh svg path,.virtual-event-wrapper.eventtable.tec-events-settings-google-application .tec-settings-api-account-details__account-refresh svg path,.virtual-event-wrapper.eventtable.tec-events-settings-microsoft-application .tec-settings-api-account-details__account-refresh svg path,.virtual-event-wrapper.eventtable.tec-events-settings-webex-application .tec-settings-api-account-details__account-refresh svg path,.virtual-event-wrapper.eventtable.tec-events-settings-zoom-application .tec-settings-api-account-details__account-refresh svg path{fill:#878787;stroke:#878787}.tec-settings-api-application.tec-events-settings-google-application .tec-settings-api-account-details__account-refresh:hover svg path,.tec-settings-api-application.tec-events-settings-microsoft-application .tec-settings-api-account-details__account-refresh:hover svg path,.tec-settings-api-application.tec-events-settings-webex-application .tec-settings-api-account-details__account-refresh:hover svg path,.tec-settings-api-application.tec-events-settings-zoom-application .tec-settings-api-account-details__account-refresh:hover svg path,.virtual-event-wrapper.eventtable.tec-events-settings-google-application .tec-settings-api-account-details__account-refresh:hover svg path,.virtual-event-wrapper.eventtable.tec-events-settings-microsoft-application .tec-settings-api-account-details__account-refresh:hover svg path,.virtual-event-wrapper.eventtable.tec-events-settings-webex-application .tec-settings-api-account-details__account-refresh:hover svg path,.virtual-event-wrapper.eventtable.tec-events-settings-zoom-application .tec-settings-api-account-details__account-refresh:hover svg path{fill:#2e709d;stroke:#2e709d}.tec-settings-api-application.tec-events-settings-google-application .tec-settings-api-account-details__account-status,.tec-settings-api-application.tec-events-settings-microsoft-application .tec-settings-api-account-details__account-status,.tec-settings-api-application.tec-events-settings-webex-application .tec-settings-api-account-details__account-status,.tec-settings-api-application.tec-events-settings-zoom-application .tec-settings-api-account-details__account-status,.virtual-event-wrapper.eventtable.tec-events-settings-google-application .tec-settings-api-account-details__account-status,.virtual-event-wrapper.eventtable.tec-events-settings-microsoft-application .tec-settings-api-account-details__account-status,.virtual-event-wrapper.eventtable.tec-events-settings-webex-application .tec-settings-api-account-details__account-status,.virtual-event-wrapper.eventtable.tec-events-settings-zoom-application .tec-settings-api-account-details__account-status{margin:1px 15px 0 4px}.tec-settings-api-application.tec-events-settings-google-application .tec-settings-api-account-details__account-delete .tec-settings-api-account-details__delete-account,.tec-settings-api-application.tec-events-settings-microsoft-application .tec-settings-api-account-details__account-delete .tec-settings-api-account-details__delete-account,.tec-settings-api-application.tec-events-settings-webex-application .tec-settings-api-account-details__account-delete .tec-settings-api-account-details__delete-account,.tec-settings-api-application.tec-events-settings-zoom-application .tec-settings-api-account-details__account-delete .tec-settings-api-account-details__delete-account,.virtual-event-wrapper.eventtable.tec-events-settings-google-application .tec-settings-api-account-details__account-delete .tec-settings-api-account-details__delete-account,.virtual-event-wrapper.eventtable.tec-events-settings-microsoft-application .tec-settings-api-account-details__account-delete .tec-settings-api-account-details__delete-account,.virtual-event-wrapper.eventtable.tec-events-settings-webex-application .tec-settings-api-account-details__account-delete .tec-settings-api-account-details__delete-account,.virtual-event-wrapper.eventtable.tec-events-settings-zoom-application .tec-settings-api-account-details__account-delete .tec-settings-api-account-details__delete-account{background:transparent;border:0;color:#878787;float:right;padding:0}.tec-settings-api-application.tec-events-settings-google-application .tec-settings-api-account-details__account-delete .tec-settings-api-account-details__delete-account:disabled,.tec-settings-api-application.tec-events-settings-microsoft-application .tec-settings-api-account-details__account-delete .tec-settings-api-account-details__delete-account:disabled,.tec-settings-api-application.tec-events-settings-webex-application .tec-settings-api-account-details__account-delete .tec-settings-api-account-details__delete-account:disabled,.tec-settings-api-application.tec-events-settings-zoom-application .tec-settings-api-account-details__account-delete .tec-settings-api-account-details__delete-account:disabled,.virtual-event-wrapper.eventtable.tec-events-settings-google-application .tec-settings-api-account-details__account-delete .tec-settings-api-account-details__delete-account:disabled,.virtual-event-wrapper.eventtable.tec-events-settings-microsoft-application .tec-settings-api-account-details__account-delete .tec-settings-api-account-details__delete-account:disabled,.virtual-event-wrapper.eventtable.tec-events-settings-webex-application .tec-settings-api-account-details__account-delete .tec-settings-api-account-details__delete-account:disabled,.virtual-event-wrapper.eventtable.tec-events-settings-zoom-application .tec-settings-api-account-details__account-delete .tec-settings-api-account-details__delete-account:disabled{opacity:.5}.tec-settings-api-application.tec-events-settings-google-application .tec-settings-api-account-details__account-delete .tec-settings-api-account-details__delete-account:hover,.tec-settings-api-application.tec-events-settings-microsoft-application .tec-settings-api-account-details__account-delete .tec-settings-api-account-details__delete-account:hover,.tec-settings-api-application.tec-events-settings-webex-application .tec-settings-api-account-details__account-delete .tec-settings-api-account-details__delete-account:hover,.tec-settings-api-application.tec-events-settings-zoom-application .tec-settings-api-account-details__account-delete .tec-settings-api-account-details__delete-account:hover,.virtual-event-wrapper.eventtable.tec-events-settings-google-application .tec-settings-api-account-details__account-delete .tec-settings-api-account-details__delete-account:hover,.virtual-event-wrapper.eventtable.tec-events-settings-microsoft-application .tec-settings-api-account-details__account-delete .tec-settings-api-account-details__delete-account:hover,.virtual-event-wrapper.eventtable.tec-events-settings-webex-application .tec-settings-api-account-details__account-delete .tec-settings-api-account-details__delete-account:hover,.virtual-event-wrapper.eventtable.tec-events-settings-zoom-application .tec-settings-api-account-details__account-delete .tec-settings-api-account-details__delete-account:hover{color:#2e709d}.tec-settings-api-application.tec-events-settings-google-application .tec-google-add-wrap,.tec-settings-api-application.tec-events-settings-microsoft-application .tec-google-add-wrap,.tec-settings-api-application.tec-events-settings-webex-application .tec-google-add-wrap,.tec-settings-api-application.tec-events-settings-zoom-application .tec-google-add-wrap,.virtual-event-wrapper.eventtable.tec-events-settings-google-application .tec-google-add-wrap,.virtual-event-wrapper.eventtable.tec-events-settings-microsoft-application .tec-google-add-wrap,.virtual-event-wrapper.eventtable.tec-events-settings-webex-application .tec-google-add-wrap,.virtual-event-wrapper.eventtable.tec-events-settings-zoom-application .tec-google-add-wrap{align-items:center;display:flex}.tec-settings-api-application.tec-events-settings-google-application .tec-events-virtual-meetings-api-settings_add-account-button .dashicons,.tec-settings-api-application.tec-events-settings-microsoft-application .tec-events-virtual-meetings-api-settings_add-account-button .dashicons,.tec-settings-api-application.tec-events-settings-webex-application .tec-events-virtual-meetings-api-settings_add-account-button .dashicons,.tec-settings-api-application.tec-events-settings-zoom-application .tec-events-virtual-meetings-api-settings_add-account-button .dashicons,.virtual-event-wrapper.eventtable.tec-events-settings-google-application .tec-events-virtual-meetings-api-settings_add-account-button .dashicons,.virtual-event-wrapper.eventtable.tec-events-settings-microsoft-application .tec-events-virtual-meetings-api-settings_add-account-button .dashicons,.virtual-event-wrapper.eventtable.tec-events-settings-webex-application .tec-events-virtual-meetings-api-settings_add-account-button .dashicons,.virtual-event-wrapper.eventtable.tec-events-settings-zoom-application .tec-events-virtual-meetings-api-settings_add-account-button .dashicons{margin-top:5px}.tec-settings-api-application.tec-events-settings-google-application .tec-events-virtual-meetings-google-settings_add-account-button,.tec-settings-api-application.tec-events-settings-microsoft-application .tec-events-virtual-meetings-google-settings_add-account-button,.tec-settings-api-application.tec-events-settings-webex-application .tec-events-virtual-meetings-google-settings_add-account-button,.tec-settings-api-application.tec-events-settings-zoom-application .tec-events-virtual-meetings-google-settings_add-account-button,.virtual-event-wrapper.eventtable.tec-events-settings-google-application .tec-events-virtual-meetings-google-settings_add-account-button,.virtual-event-wrapper.eventtable.tec-events-settings-microsoft-application .tec-events-virtual-meetings-google-settings_add-account-button,.virtual-event-wrapper.eventtable.tec-events-settings-webex-application .tec-events-virtual-meetings-google-settings_add-account-button,.virtual-event-wrapper.eventtable.tec-events-settings-zoom-application .tec-events-virtual-meetings-google-settings_add-account-button{background-image:url(../images/btn_google_signin_light_normal_web@2x.png);background-size:contain;display:inline-block;height:46px;text-indent:-2000px;width:185px}.tec-settings-api-application.tec-events-settings-google-application .tec-events-virtual-meetings-google-settings_add-account-button:hover,.tec-settings-api-application.tec-events-settings-microsoft-application .tec-events-virtual-meetings-google-settings_add-account-button:hover,.tec-settings-api-application.tec-events-settings-webex-application .tec-events-virtual-meetings-google-settings_add-account-button:hover,.tec-settings-api-application.tec-events-settings-zoom-application .tec-events-virtual-meetings-google-settings_add-account-button:hover,.virtual-event-wrapper.eventtable.tec-events-settings-google-application .tec-events-virtual-meetings-google-settings_add-account-button:hover,.virtual-event-wrapper.eventtable.tec-events-settings-microsoft-application .tec-events-virtual-meetings-google-settings_add-account-button:hover,.virtual-event-wrapper.eventtable.tec-events-settings-webex-application .tec-events-virtual-meetings-google-settings_add-account-button:hover,.virtual-event-wrapper.eventtable.tec-events-settings-zoom-application .tec-events-virtual-meetings-google-settings_add-account-button:hover{background-image:url(../images/btn_google_signin_light_pressed_web@2x.png)}.tec-settings-api-application.tec-events-settings-google-application .tec-events-virtual-meetings-google-settings_add-account-button:focus,.tec-settings-api-application.tec-events-settings-microsoft-application .tec-events-virtual-meetings-google-settings_add-account-button:focus,.tec-settings-api-application.tec-events-settings-webex-application .tec-events-virtual-meetings-google-settings_add-account-button:focus,.tec-settings-api-application.tec-events-settings-zoom-application .tec-events-virtual-meetings-google-settings_add-account-button:focus,.virtual-event-wrapper.eventtable.tec-events-settings-google-application .tec-events-virtual-meetings-google-settings_add-account-button:focus,.virtual-event-wrapper.eventtable.tec-events-settings-microsoft-application .tec-events-virtual-meetings-google-settings_add-account-button:focus,.virtual-event-wrapper.eventtable.tec-events-settings-webex-application .tec-events-virtual-meetings-google-settings_add-account-button:focus,.virtual-event-wrapper.eventtable.tec-events-settings-zoom-application .tec-events-virtual-meetings-google-settings_add-account-button:focus{background-image:url(../images/btn_google_signin_light_focus_web@2x.png)}.tec-settings-api-application.tec-events-settings-google-application .tec-events-virtual-meetings-api-settings_add-account-button-helper-text,.tec-settings-api-application.tec-events-settings-microsoft-application .tec-events-virtual-meetings-api-settings_add-account-button-helper-text,.tec-settings-api-application.tec-events-settings-webex-application .tec-events-virtual-meetings-api-settings_add-account-button-helper-text,.tec-settings-api-application.tec-events-settings-zoom-application .tec-events-virtual-meetings-api-settings_add-account-button-helper-text,.virtual-event-wrapper.eventtable.tec-events-settings-google-application .tec-events-virtual-meetings-api-settings_add-account-button-helper-text,.virtual-event-wrapper.eventtable.tec-events-settings-microsoft-application .tec-events-virtual-meetings-api-settings_add-account-button-helper-text,.virtual-event-wrapper.eventtable.tec-events-settings-webex-application .tec-events-virtual-meetings-api-settings_add-account-button-helper-text,.virtual-event-wrapper.eventtable.tec-events-settings-zoom-application .tec-events-virtual-meetings-api-settings_add-account-button-helper-text{display:inline;line-height:26px;margin-left:15px}.tribe-settings-form .tribe-settings-form-wrap .tec-events-virtual-settings-message__wrap{background:#fff;border:1px solid #ccd0d4;border-left-color:#46b450;border-left-width:4px;box-shadow:0 1px 1px rgba(0,0,0,.04);margin:5px 0 15px;padding:8px 12px}.tribe-settings-form .tribe-settings-form-wrap .tec-events-virtual-settings-message__wrap.error{border-left-color:#dc3232}.tribe-settings-form .tribe-settings-form-wrap .tribe-settings-youtube-integration .tribe-events-virtual-settings-youtube__wrap{max-width:100%;width:1000px}.tribe-settings-form .tribe-settings-form-wrap .tribe-settings-youtube-integration .tribe-settings-youtube-integration__channel-id{width:100%}.tribe-settings-form .tribe-settings-form-wrap .tribe-settings-youtube-integration .tribe-settings-youtube-integration__channel-id .tribe-field-label,.tribe-settings-form .tribe-settings-form-wrap .tribe-settings-youtube-integration .tribe-settings-youtube-integration__channel-id .tribe-field-wrap{margin:0 0 10px;width:100%}.tribe-settings-form .tribe-settings-form-wrap .tribe-settings-youtube-integration .tribe-settings-youtube-integration__channel-id .tribe-field-wrap input{margin:0 0 10px}.tribe-settings-form .tribe-settings-form-wrap .tribe-settings-youtube-integration .tribe-settings-youtube-integration__channel-id .tribe-settings-youtube-integration__channel-delete{display:inline-block;margin-left:15px}.tribe-settings-form .tribe-settings-form-wrap .tribe-settings-youtube-integration .tribe-settings-youtube-integration__channel-id .tribe-settings-youtube-integration__delete-channel{background:transparent;border:0;color:#878787;padding:0}.tribe-settings-form .tribe-settings-form-wrap .tribe-settings-youtube-integration .tribe-settings-youtube-integration__channel-id .tribe-settings-youtube-integration__delete-channel:disabled{opacity:.5}.tribe-settings-form .tribe-settings-form-wrap .tribe-settings-youtube-integration .tribe-settings-youtube-integration__channel-id .tribe-settings-youtube-integration__delete-channel:hover{color:#2e709d}.tribe-settings-form .tribe-settings-form-wrap .tribe-settings-youtube-integration .tribe-events-virtual-settings-youtube__content{display:flex;flex-direction:column}.tribe-settings-form .tribe-settings-form-wrap .tribe-settings-youtube-integration .tribe-field-switch{margin:0 0 7px;padding:6px 10px 6px 0}.tribe-events-virtual-meetings__accordion-wrapper{background-color:#fff;max-width:100%}.tribe-common .tribe-events-virtual-meetings__accordion-wrapper{margin:0 0 15px 12px}.tribe-events-virtual-meetings__accordion-wrapper .tribe-events-virtual-meetings__accordion-toggle{background:transparent;border:1px solid #c3c4c7;color:#23282d;cursor:pointer;display:flex;font-size:var(--tec-font-size-2);font-weight:var(--tec-font-weight-bold);justify-content:space-between;line-height:16px;padding:12px 14px;text-align:left;width:100%}.tribe-events-virtual-meetings__accordion-wrapper .tribe-events-virtual-meetings__accordion-toggle .tribe-events-virtual-meetings__accordion-icon-caret-svg{transition:all .2s linear;width:13px}.tribe-events-virtual-meetings__accordion-wrapper .tribe-events-virtual-meetings__accordion-toggle[aria-expanded=true]{border-bottom-left-radius:0;border-bottom-right-radius:0}.tribe-events-virtual-meetings__accordion-wrapper .tribe-events-virtual-meetings__accordion-toggle[aria-expanded=true] .tribe-events-virtual-meetings__accordion-icon-caret-svg{transform:rotate(-180deg)}.tribe-events-virtual-meetings__accordion-wrapper .tribe-events-virtual-meetings__accordion-contents{border:1px solid #c3c4c7;border-top:none;display:none;padding:15px 25px}.tribe-common .tribe-settings-facebook-application__container{display:flex;flex-wrap:wrap;margin:20px 0 0}.tribe-common .tribe-settings-facebook-application__container .tribe-field:first-of-type{padding-right:28px}.tribe-common .tribe-settings-facebook-application__container .tribe-field .tribe-field-label{float:none;margin:10px 0}.tribe-common .tribe-settings-facebook-application__container .tribe-field .tribe-field-wrap{float:none;max-width:500px}.tribe-common .tribe-settings-facebook-application__container .tribe-field .tribe-field-wrap input{width:100%}.tribe-common .tribe-settings-facebook-application__find-app-id,.tribe-common .tribe-settings-facebook-application__find-page-id{font-weight:700;margin:10px 0 30px;padding-left:12px}.tribe-common .tribe-settings-facebook-application__connect-container{font-weight:700;margin:0 0 30px;padding-left:12px}.tribe-common .tribe-settings-facebook-application-pages__container{border-top:1px solid #d5d5d5;margin:0 0 30px 12px;padding:24px 0 0}.tribe-common .tribe-settings-facebook-page-details__container{background:#fff;border:1px solid #aaa;margin:0 0 14px;padding:17px 15px;width:100%}.tribe-common .tribe-settings-facebook-page-details__page-name{padding-right:0}.tribe-common .tribe-settings-facebook-page-details__field{padding-left:0}.tribe-common .tribe-settings-facebook-page-details__field:first-of-type{padding-left:0;padding-right:0}.tribe-common .tribe-settings-facebook-page-details__label{float:none;margin:10px 0}.tribe-common .tribe-settings-facebook-page-details__field-wrap{float:none;max-width:500px}.tribe-common .tribe-settings-facebook-page-details__input{width:100%}.tribe-common .tribe-settings-facebook-page-details__page-access-row,.tribe-common .tribe-settings-facebook-page-details__page-row{display:flex;flex-wrap:wrap}.tribe-common .tribe-settings-facebook-page-details__actions{display:flex;flex-direction:column;justify-content:flex-end}.tribe-common .tribe-settings-facebook-page-details__save-page{margin:0 0 0 12px}.tribe-common .tribe-settings-facebook-page-details__page-delete .tribe-settings-facebook-page-details__delete-page,.tribe-common .tribe-settings-facebook-page-details__page-save .tribe-settings-facebook-page-details__save-page.update-button{background:transparent;border:0;color:#878787;margin:6px 0 6px 10px;padding:0}.tribe-common .tribe-settings-facebook-page-details__page-delete .tribe-settings-facebook-page-details__delete-page:disabled,.tribe-common .tribe-settings-facebook-page-details__page-save .tribe-settings-facebook-page-details__save-page:disabled{opacity:.5}.tribe-common .tribe-events-virtual-meetings-facebook-settings_add-account-button .dashicons{margin-top:5px}.tribe-common .tribe-settings-facebook-page-details__page-expiration-text{color:#999;font-style:italic;margin:20px 8px 0 0}.tribe-common .tribe-settings-facebook-page-details__page-expiration-text .success{color:#46b450}.tribe-common .tribe-settings-facebook-page-details__page-expiration-text .warning{color:#dc3232}.tribe-common .tribe-settings-facebook-page-details__page-authorize{margin-top:16px}.tribe-common .tribe-settings-facebook-application__find-page-id{padding-left:0}.tribe-common .tribe-events-virtual-meetings-facebook-settings__add-page-span{margin-top:6px}.tribe-events-virtual-meetings-facebook-error__details-header{display:block;font-weight:700;margin-bottom:18px}.wp-block[data-type="tribe/virtual-event"] .components-placeholder.components-placeholder{background-color:transparent;border:0;border-radius:var(--tec-border-radius-default);box-shadow:none;min-height:0;padding:0}.wp-block[data-type="tribe/virtual-event"] .components-placeholder.components-placeholder h3{font-size:1.3125rem;font-weight:700;margin-bottom:0}#tribe-virtual-events .tribe-common-c-loader{align-items:center;background:hsla(0,0%,100%,.8);bottom:0;height:100%;justify-content:center;left:0;padding:0;position:absolute;right:0;top:0;width:100%}#tribe-virtual-events .tribe-common-c-loader__dot circle{animation-direction:normal;animation-duration:2.24s;animation-iteration-count:infinite;animation-name:a;fill:#334aff;opacity:var(--tec-opacity-background)}#tribe-virtual-events .tribe-common-c-loader__dot--first circle{animation-delay:.45s}#tribe-virtual-events .tribe-common-c-loader__dot--second circle{animation-delay:1.05s}#tribe-virtual-events .tribe-common-c-loader__dot--third circle{animation-delay:1.35s}@keyframes a{50%{opacity:var(--tec-opacity-default)}}@media (min-width:500px){.tec-settings-api-application .tribe-events-virtual-video-sources-wrap .select2-container,.tec-settings-api-application .tribe-events-virtual-video-sources-wrap .select2-selection--single,.virtual-event-wrapper.eventtable .tribe-events-virtual-video-sources-wrap .select2-container,.virtual-event-wrapper.eventtable .tribe-events-virtual-video-sources-wrap .select2-selection--single{min-width:268px;width:100%}.tec-settings-api-application .tec-events-virtual-meetings-video-source__inner,.virtual-event-wrapper.eventtable .tec-events-virtual-meetings-video-source__inner{max-width:100%}}@media (min-width:783px){.tec-settings-api-application .tec-events-virtual-meetings-video-source__inner,.tec-settings-api-application .tribe-events-virtual-video-sources-wrap .select2-container,.tec-settings-api-application .tribe-events-virtual-video-sources-wrap .select2-selection--single,.virtual-event-wrapper.eventtable .tec-events-virtual-meetings-video-source__inner,.virtual-event-wrapper.eventtable .tribe-events-virtual-video-sources-wrap .select2-container,.virtual-event-wrapper.eventtable .tribe-events-virtual-video-sources-wrap .select2-selection--single{max-width:475px}.tec-settings-api-application .tribe-events-virtual-display__linked-button-text-wrapper,.virtual-event-wrapper.eventtable .tribe-events-virtual-display__linked-button-text-wrapper{margin:0;position:relative;width:auto}.tec-settings-api-application .tribe-events-virtual-display__linked-button-text-label,.virtual-event-wrapper.eventtable .tribe-events-virtual-display__linked-button-text-label{border-left:1px solid #b4b6b3;margin-left:6px;padding-left:6px}.virtual-event-wrapper .tec-settings-api-application .tribe-events-virtual-display__linked-button-text-input,.virtual-event-wrapper .virtual-event-wrapper.eventtable .tribe-events-virtual-display__linked-button-text-input{left:50px;position:absolute}}@media (min-width:768px){.tribe-common .tribe-settings-facebook-application__container .tribe-field .tribe-field-wrap input{max-width:100%;width:300px}.tribe-common .tribe-settings-facebook-page-details__page-name{padding-right:28px}.tribe-common .tribe-settings-facebook-page-details__input{max-width:100%;width:300px}} \ No newline at end of file diff --git a/wp-content/plugins/events-calendar-pro/src/resources/css/events-virtual-full.min.css b/wp-content/plugins/events-calendar-pro/src/resources/css/events-virtual-full.min.css new file mode 100644 index 000000000..b88c68f89 --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/resources/css/events-virtual-full.min.css @@ -0,0 +1 @@ +.tribe-events .tribe-events-virtual-hybrid-event__icon-svg:hover circle,.tribe-events .tribe-events-virtual-hybrid-event__icon-svg:hover ellipse,.tribe-events .tribe-events-virtual-hybrid-event__icon-svg:hover path,.tribe-events .tribe-events-virtual-virtual-event__icon-svg:hover circle,.tribe-events .tribe-events-virtual-virtual-event__icon-svg:hover ellipse,.tribe-events .tribe-events-virtual-virtual-event__icon-svg:hover path{opacity:var(--tec-opacity-icon-hover);stroke:currentColor}.tribe-events .tribe-events-calendar-month__multiday-event--past .tribe-events-virtual-hybrid-event,.tribe-events .tribe-events-calendar-month__multiday-event--past .tribe-events-virtual-virtual-event{opacity:.64}.tribe-events .tribe-events-pro-map__event-card .tribe-events-virtual-hybrid-event,.tribe-events .tribe-events-pro-map__event-card .tribe-events-virtual-virtual-event{font-size:var(--tec-font-size-0);line-height:var(--tec-line-height-2)}.tribe-events.tribe-common--breakpoint-medium .tribe-events-pro-map__event-card .tribe-events-virtual-hybrid-event,.tribe-events.tribe-common--breakpoint-medium .tribe-events-pro-map__event-card .tribe-events-virtual-virtual-event,.tribe-events .tribe-events-pro-map__event-tooltip .tribe-events-virtual-hybrid-event,.tribe-events .tribe-events-pro-map__event-tooltip .tribe-events-virtual-virtual-event{font-size:var(--tec-font-size-1);line-height:var(--tec-line-height-0)} \ No newline at end of file diff --git a/wp-content/plugins/events-calendar-pro/src/resources/css/events-virtual-single-block.min.css b/wp-content/plugins/events-calendar-pro/src/resources/css/events-virtual-single-block.min.css new file mode 100644 index 000000000..bb74cb836 --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/resources/css/events-virtual-single-block.min.css @@ -0,0 +1 @@ +.single-tribe_events .tribe-blocks-editor .tribe-events-event-meta{background:transparent;border:none;border-top:1px solid var(--tec-color-border-default);display:flex;flex-wrap:wrap;font-family:var(--tec-font-family-sans-serif);margin:20px 0 10px;padding:10px 0}.single-tribe_events .tribe-blocks-editor .tribe-events-event-meta .tribe-events-virtual-link-button__label{font-size:var(--tec-font-size-3);line-height:1.5}.single-tribe_events .tribe-blocks-editor .tribe-events-event-meta .tribe-events-meta-group{margin:0 var(--tec-spacer-5) var(--tec-spacer-7) 0;padding-left:0;padding-right:20px;width:auto}.single-tribe_events .tribe-blocks-editor .tribe-events-event-meta .tec-events-virtual-single-api-details__link,.single-tribe_events .tribe-blocks-editor .tribe-events-event-meta .tec-events-virtual-single-api-details__phone-number{font-size:var(--tec-font-size-3);font-weight:var(--tec-font-weight-normal);line-height:1.38}.single-tribe_events .tribe-blocks-editor .tribe-events-event-meta .tec-events-virtual-single-api-details__icon path,.single-tribe_events .tribe-blocks-editor .tribe-events-event-meta .tribe-events-virtual-single-zoom-details__icon path{fill:var(--tec-color-event-icon)}.single-tribe_events .tribe-blocks-editor .tribe-events-event-meta .tec-events-virtual-meetings-api__phone-list-item-pin,.single-tribe_events .tribe-blocks-editor .tribe-events-event-meta .tec-events-virtual-single-api-details__api-id,.single-tribe_events .tribe-blocks-editor .tribe-events-event-meta .tec-events-virtual-single-api-details__webex-id,.single-tribe_events .tribe-blocks-editor .tribe-events-event-meta .tec-events-virtual-single-api-details__webex-password{font-size:var(--tec-font-size-2);line-height:1.5}.single-tribe_events .tribe-blocks-editor .tribe-events-event-meta .tec-events-virtual-single-api-details__phone-number-list{margin:0;padding:0}.single-tribe_events .tribe-blocks-editor .tribe-events-event-meta .tec-events-virtual-single-api-details__phone-number-list li{margin:0 0 var(--tec-spacer-0);padding:0}.single-tribe_events .tribe-blocks-editor .tribe-events-virtual-link-button{background-color:var(--tec-color-accent-primary)}.single-tribe_events .tribe-blocks-editor .tribe-events-virtual-link-button:focus,.single-tribe_events .tribe-blocks-editor .tribe-events-virtual-link-button:hover{background-color:var(--tec-color-accent-primary-hover)}.tribe-theme-genesis .tribe-blocks-editor .tribe-events-event-meta .tec-events-virtual-single-api-details__text,.tribe-theme-genesis .tribe-blocks-editor .tribe-events-event-meta .tribe-events-virtual-link-button__label,.tribe-theme-twentytwenty .tribe-blocks-editor .tribe-events-event-meta .tec-events-virtual-single-api-details__text,.tribe-theme-twentytwenty .tribe-blocks-editor .tribe-events-event-meta .tribe-events-virtual-link-button__label,.tribe-theme-twentytwentyone .tribe-blocks-editor .tribe-events-event-meta .tec-events-virtual-single-api-details__text,.tribe-theme-twentytwentyone .tribe-blocks-editor .tribe-events-event-meta .tribe-events-virtual-link-button__label{font-size:var(--tec-font-size-3)}.tribe-theme-genesis .tribe-blocks-editor .tribe-events-event-meta .tec-events-virtual-meetings-api__phone-list-item-pin,.tribe-theme-genesis .tribe-blocks-editor .tribe-events-event-meta .tec-events-virtual-single-api-details__api-id,.tribe-theme-genesis .tribe-blocks-editor .tribe-events-event-meta .tec-events-virtual-single-api-details__webex-id,.tribe-theme-genesis .tribe-blocks-editor .tribe-events-event-meta .tec-events-virtual-single-api-details__webex-password,.tribe-theme-twentytwenty .tribe-blocks-editor .tribe-events-event-meta .tec-events-virtual-meetings-api__phone-list-item-pin,.tribe-theme-twentytwenty .tribe-blocks-editor .tribe-events-event-meta .tec-events-virtual-single-api-details__api-id,.tribe-theme-twentytwenty .tribe-blocks-editor .tribe-events-event-meta .tec-events-virtual-single-api-details__webex-id,.tribe-theme-twentytwenty .tribe-blocks-editor .tribe-events-event-meta .tec-events-virtual-single-api-details__webex-password,.tribe-theme-twentytwentyone .tribe-blocks-editor .tribe-events-event-meta .tec-events-virtual-meetings-api__phone-list-item-pin,.tribe-theme-twentytwentyone .tribe-blocks-editor .tribe-events-event-meta .tec-events-virtual-single-api-details__api-id,.tribe-theme-twentytwentyone .tribe-blocks-editor .tribe-events-event-meta .tec-events-virtual-single-api-details__webex-id,.tribe-theme-twentytwentyone .tribe-blocks-editor .tribe-events-event-meta .tec-events-virtual-single-api-details__webex-password{font-size:var(--tec-font-size-2)}@media screen and (min-width:768px){.single-tribe_events .tribe-blocks-editor .tribe-events-event-meta{flex-wrap:nowrap}.single-tribe_events .tribe-blocks-editor .tribe-events-event-meta .tribe-events-meta-group{padding-right:40px}} \ No newline at end of file diff --git a/wp-content/plugins/events-calendar-pro/src/resources/css/events-virtual-single-full.min.css b/wp-content/plugins/events-calendar-pro/src/resources/css/events-virtual-single-full.min.css new file mode 100644 index 000000000..d1c649428 --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/resources/css/events-virtual-single-full.min.css @@ -0,0 +1 @@ +.tribe-events-virtual-link-button{background-color:#21759b;border-radius:3px;text-decoration:none;transition:all .2s cubic-bezier(.55,.085,.68,.53)}.tribe-events-virtual-link-button:focus,.tribe-events-virtual-link-button:hover{background-color:#156287}.tribe-events-virtual-link-button__label{color:#fff;font-size:var(--tec-font-size-2);font-weight:var(--tec-font-weight-bold);line-height:var(--tec-line-height-3)}.tec-events-virtual-single-api-details .tec-events-virtual-single-api-details__meta-group,.tribe-events-virtual-single-zoom-details .tec-events-virtual-single-api-details__meta-group{margin:20px 0}.tec-events-virtual-single-api-details__phone-number,.tec-events-virtual-single-api-details__video-link{color:#21759b;font-weight:var(--tec-font-weight-bold);line-height:var(--tec-line-height-0);transition:all .2s cubic-bezier(.55,.085,.68,.53)}.tec-events-virtual-single-api-details__phone-number:focus,.tec-events-virtual-single-api-details__phone-number:hover,.tec-events-virtual-single-api-details__video-link:focus,.tec-events-virtual-single-api-details__video-link:hover{color:#156287}.tec-events-virtual-meetings-api__phone-list-item-pin,.tec-events-virtual-single-api-details__api-id,.tec-events-virtual-single-api-details__api-password{font-size:var(--tec-font-size-0);line-height:var(--tec-line-height-2)}.tribe-events-hybrid-single-marker,.tribe-events-virtual-single-marker{background-color:var(--tec-color-background-secondary);border-radius:19px;font-size:var(--tec-font-size-2);font-weight:var(--tec-font-weight-bold);line-height:var(--tec-line-height-3);padding:var(--tec-spacer-1) var(--tec-spacer-3)}.tribe-events-virtual-event .tribe-events-back{margin-top:var(--tec-spacer-1)}.tribe-events-virtual-event .tribe-events-schedule h2{margin-top:0}.tribe-events-virtual-single-youtube__embed-wrap{margin-bottom:24px}.tribe-events-virtual-single-youtube__embed{height:0;margin:0;padding-bottom:56.25%;position:relative;width:100%}.tribe-events-virtual-single-youtube__embed iframe{height:100%;left:0;max-height:100%;position:absolute;top:0;width:100%}.tribe-events-virtual-single-youtube__chat-wrap{margin:0;position:relative}.tribe-events-virtual-single-youtube__chat-embed{width:100%}@media (max-width:768px){.tec-events-virtual-single-api-details .tec-events-virtual-single-api-details__meta-group,.tribe-events-virtual-single-zoom-details .tec-events-virtual-single-api-details__meta-group{margin:0 0 10px}}@media (min-width:768px){.tribe-events-virtual-event .tribe-events-back{margin-top:0}.tribe-events-virtual-event .tribe-events-schedule h2{margin-top:var(--tec-spacer-1)}} \ No newline at end of file diff --git a/wp-content/plugins/events-calendar-pro/src/resources/css/events-virtual-single-skeleton.min.css b/wp-content/plugins/events-calendar-pro/src/resources/css/events-virtual-single-skeleton.min.css new file mode 100644 index 000000000..9fbbc733b --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/resources/css/events-virtual-single-skeleton.min.css @@ -0,0 +1 @@ +.tribe-events-virtual-link-button{align-items:center;display:inline-flex;padding:11px 25px}.tribe-events-virtual-event .tribe-events-virtual-link-button{margin-bottom:24px}.tribe-events-meta-group-details .tribe-events-virtual-link-button{margin:16px 0 4px}.tec-events-virtual-single-api-details .tribe-events-virtual-link-button,.tribe-events-virtual-single-zoom-details .tribe-events-virtual-link-button{margin:4px 0 0}.tribe-events-virtual-link-button__icon{flex:none;margin-right:var(--tec-spacer-2);width:10px}.tribe-events-virtual-link-button__icon path{fill:var(--tec-color-background)}.rtl .tribe-events-virtual-link-button__icon{margin-left:var(--tec-spacer-2);margin-right:0}.tribe-events-virtual-single-video-embed{margin:30px 0}.tribe-events-virtual-single-video-embed__wrapper{padding-bottom:56.25%;position:relative}.tribe-events-virtual-single-video-embed__wrapper iframe{height:100%;left:0;margin:0;position:absolute;top:0;width:100%}.tribe-events-single-section.tec-events-virtual-single-api-details .tribe-events-meta-group{flex:0 0 auto;margin:0 var(--tec-spacer-5) var(--tec-spacer-7) var(--tec-spacer-3);min-width:168px}.tec-events-virtual-single-api-details .tec-events-virtual-single-api-details__meta-group,.tribe-events-virtual-single-zoom-details .tec-events-virtual-single-api-details__meta-group{align-items:flex-start;display:flex}.tec-events-virtual-single-api-details__icon,.tribe-events-virtual-single-zoom-details__icon{flex:none;margin-top:6px;width:16px}.tec-events-virtual-single-api-details__icon path,.tribe-events-virtual-single-zoom-details__icon path{fill:var(--tec-color-icon-primary-alt)}.tec-events-virtual-single-api-details__meta-group-content{margin:0 var(--tec-spacer-5) var(--tec-spacer-7) var(--tec-spacer-3)}.rtl .tec-events-virtual-single-api-details__meta-group-content{margin-left:0;margin-right:var(--tec-spacer-3)}.tec-events-virtual-single-api-details__api-id,.tec-events-virtual-single-api-details__webex-id,.tec-events-virtual-single-api-details__webex-password{display:block}.tec-events-virtual-single-api-details__phone-number-list{list-style:none}.tec-events-virtual-single-api-details__phone-number-list,.tec-events-virtual-single-api-details__phone-number-list>li{margin:0 0 var(--tec-spacer-0);padding:0}.tribe-events-hybrid-single-marker,.tribe-events-virtual-single-marker{align-items:center;display:none;float:right;justify-content:center}.tribe-events-hybrid-single-marker--mobile,.tribe-events-virtual-single-marker--mobile{display:flex}.tribe-events-hybrid-single-marker__icon,.tribe-events-virtual-single-marker__icon{flex:none;line-height:0}.tribe-events-virtual-single-marker__icon-svg{height:10px;margin-right:var(--tec-spacer-0)}.tribe-events-virtual-single-marker__icon-svg g{fill:none}.tribe-events-virtual-single-marker__icon-svg .tribe-common-c-svgicon__svg-stroke{stroke:var(--tec-color-icon-active)}.tribe-events-hybrid-single-marker__icon-svg{height:12px;margin-right:var(--tec-spacer-0)}.tribe-events-hybrid-single-marker__icon-svg circle{fill:none}.tribe-events-hybrid-single-marker__icon-svg .tribe-common-c-svgicon__svg-stroke{stroke:var(--tec-color-icon-active)}.tribe-events-virtual-event .tribe-events-back{display:inline-block}.tribe-events-virtual-event .tribe-events-schedule h2{display:block}@media (min-width:768px){.tec-events-virtual-single-api-details .tribe-events-virtual-link-button,.tribe-events-virtual-single-zoom-details .tribe-events-virtual-link-button{margin:4px 0}.tribe-events-hybrid-single-marker,.tribe-events-virtual-single-marker{display:flex}.tribe-events-hybrid-single-marker--mobile,.tribe-events-virtual-single-marker--mobile{display:none}.tribe-events-virtual-event .tribe-events-back{display:block}.tribe-events-virtual-event .tribe-events-schedule h2{display:inline-block}} \ No newline at end of file diff --git a/wp-content/plugins/events-calendar-pro/src/resources/css/events-virtual-single-v2-full.min.css b/wp-content/plugins/events-calendar-pro/src/resources/css/events-virtual-single-v2-full.min.css new file mode 100644 index 000000000..31133ffd5 --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/resources/css/events-virtual-single-v2-full.min.css @@ -0,0 +1 @@ +.tribe-events-hybrid-single-marker,.tribe-events-virtual-single-marker{color:var(--tec-color-text-primary);font-family:var(--tec-font-family-sans-serif);background-color:var(--tec-color-background-secondary);font-size:var(--tec-font-size-1);line-height:var(--tec-font-size-1)}.tribe-events-virtual-link-button{background-color:var(--tec-color-accent-primary)}.tribe-events-virtual-link-button:focus,.tribe-events-virtual-link-button:hover{background-color:var(--tec-color-accent-primary-hover)}.tec-events-virtual-single-api-details__icon path,.tribe-events-virtual-single-zoom-details__icon path{fill:var(--tec-color-text-primary)}.tec-events-virtual-single-api-details__text{font-size:var(--tec-font-size-2)}.tec-events-virtual-single-api-details__link,.tec-events-virtual-single-api-details__phone-number{font-weight:var(--tec-font-weight-normal)}.tec-events-virtual-single-api-details__link:focus,.tec-events-virtual-single-api-details__link:hover,.tec-events-virtual-single-api-details__phone-number:focus,.tec-events-virtual-single-api-details__phone-number:hover{color:var(--tec-color-accent-primary-hover)}.tec-events-virtual-single-api-details__phone-number-list{line-height:var(--tec-line-height-3)}ul.tribe-related-events .tribe-related-event-info .tribe-events-hybrid-single-marker,ul.tribe-related-events .tribe-related-event-info .tribe-events-virtual-single-marker{letter-spacing:-9999px}.tribe-events-virtual-single-youtube__embed-wrap{margin-bottom:24px}.tribe-events-virtual-single-youtube__embed{height:0;margin:0;padding-bottom:56.25%;position:relative;width:100%}.tribe-events-virtual-single-youtube__embed iframe{height:100%;left:0;max-height:100%;position:absolute;top:0;width:100%}.tribe-events-virtual-single-youtube__chat-wrap{margin:0;position:relative}.tribe-events-virtual-single-youtube__chat-embed{width:100%}@media (min-width:768px){.tribe-events-schedule .tribe-events-hybrid-single-marker,.tribe-events-schedule .tribe-events-virtual-single-marker{font-size:var(--tec-font-size-2);font-weight:500;line-height:var(--tec-line-height-3)}} \ No newline at end of file diff --git a/wp-content/plugins/events-calendar-pro/src/resources/css/events-virtual-single-v2-skeleton.min.css b/wp-content/plugins/events-calendar-pro/src/resources/css/events-virtual-single-v2-skeleton.min.css new file mode 100644 index 000000000..b277ace48 --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/resources/css/events-virtual-single-v2-skeleton.min.css @@ -0,0 +1 @@ +.tribe-events-virtual-single-marker{margin:var(--tec-spacer-0) 0 0 var(--tec-spacer-1);padding:var(--tec-spacer-0) var(--tec-spacer-1)}.tribe-events-virtual-single-marker .tribe-events-virtual-single-marker__icon{margin-right:var(--tec-spacer-0)}.tribe-events-hybrid-single-marker{margin:var(--tec-spacer-0) 0 0 var(--tec-spacer-1);padding:var(--tec-spacer-0) var(--tec-spacer-1)}.tribe-events-hybrid-single-marker .tribe-events-hybrid-single-marker__icon,.tribe-events-virtual-single-marker__icon{margin-right:var(--tec-spacer-0)}.tribe-events-virtual-link-button{max-width:calc(100vw - 40px)}.tribe-events-virtual-link-button__label{white-space:nowrap}.tribe-events-virtual-event .tribe-events-back{margin-top:0}.tribe-events-virtual-single-video-embed{margin:0}#tribe-events-content .tribe-events-event-meta.tec-events-virtual-single-api-details,#tribe-events-content .tribe-events-event-meta.tribe-events-virtual-single-zoom-details{margin-bottom:var(--tec-spacer-3);margin-top:0;padding-top:var(--tec-spacer-5);position:relative}#tribe-events-content .tribe-events-event-meta.tec-events-virtual-single-api-details .tribe-events-meta-group,#tribe-events-content .tribe-events-event-meta.tribe-events-virtual-single-zoom-details .tribe-events-meta-group{margin:0 var(--tec-spacer-5) var(--tec-spacer-7) 0;position:relative;word-break:break-word}#tribe-events-content .tribe-events-event-meta.tec-events-virtual-single-api-details .tribe-events-meta-group:last-child,#tribe-events-content .tribe-events-event-meta.tribe-events-virtual-single-zoom-details .tribe-events-meta-group:last-child{margin-bottom:var(--tec-spacer-1)}.tec-events-virtual-single-api-details__phone-number-list,.tec-events-virtual-single-api-details__phone-number-list>li{margin:0 0 var(--tec-spacer-0);padding:0}.tec-events-virtual-single-api-details__icon,.tribe-events-virtual-single-zoom-details__icon{left:0;margin-top:var(--tec-spacer-0);position:absolute}.tec-events-virtual-single-api-details__meta-group-content{margin-left:0;padding-left:var(--tec-spacer-5)}ul.tribe-related-events .tribe-related-event-info .tribe-events-hybrid-single-marker,ul.tribe-related-events .tribe-related-event-info .tribe-events-virtual-single-marker{display:flex;margin:0 var(--tec-spacer-1) var(--tec-spacer-2) 0;overflow:hidden;padding-right:0;position:relative;top:1px}@media (min-width:768px){.tribe-events-schedule .tribe-events-hybrid-single-marker,.tribe-events-schedule .tribe-events-virtual-single-marker{margin-top:0;order:3;padding:var(--tec-spacer-1) var(--tec-spacer-3)}.tribe-events-schedule h2{margin-top:0}#tribe-events-content .tribe-events-event-meta.tec-events-virtual-single-api-details,#tribe-events-content .tribe-events-event-meta.tribe-events-virtual-single-zoom-details{margin-bottom:0;padding-top:0}#tribe-events-content .tribe-events-event-meta.tec-events-virtual-single-api-details .tribe-events-meta-group,#tribe-events-content .tribe-events-event-meta.tribe-events-virtual-single-zoom-details .tribe-events-meta-group{flex:0 0 auto;margin-bottom:var(--tec-spacer-1);width:auto}} \ No newline at end of file diff --git a/wp-content/plugins/events-calendar-pro/src/resources/css/events-virtual-skeleton.min.css b/wp-content/plugins/events-calendar-pro/src/resources/css/events-virtual-skeleton.min.css new file mode 100644 index 000000000..38c651581 --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/resources/css/events-virtual-skeleton.min.css @@ -0,0 +1 @@ +.tribe-events .tribe-events-virtual-hybrid-event,.tribe-events .tribe-events-virtual-virtual-event{align-items:center;display:flex}.tribe-events .tribe-events-virtual-hybrid-event__icon,.tribe-events .tribe-events-virtual-virtual-event__icon{display:inline-block;line-height:0;margin-right:var(--tec-spacer-1)}.tribe-events .tribe-events-virtual-hybrid-event__icon-svg{height:12px}.tribe-events .tribe-events-virtual-virtual-event__icon-svg{height:10px}.tribe-events .tribe-events-calendar-day .tribe-events-virtual-hybrid-event,.tribe-events .tribe-events-calendar-day .tribe-events-virtual-virtual-event,.tribe-events .tribe-events-calendar-latest-past .tribe-events-virtual-hybrid-event,.tribe-events .tribe-events-calendar-latest-past .tribe-events-virtual-virtual-event,.tribe-events .tribe-events-calendar-list .tribe-events-virtual-hybrid-event,.tribe-events .tribe-events-calendar-list .tribe-events-virtual-virtual-event{margin:var(--tec-spacer-1) 0}.tribe-events.tribe-common--breakpoint-medium .tribe-events-calendar-day .tribe-events-virtual-hybrid-event,.tribe-events.tribe-common--breakpoint-medium .tribe-events-calendar-day .tribe-events-virtual-virtual-event,.tribe-events.tribe-common--breakpoint-medium .tribe-events-calendar-latest-past .tribe-events-virtual-hybrid-event,.tribe-events.tribe-common--breakpoint-medium .tribe-events-calendar-latest-past .tribe-events-virtual-virtual-event,.tribe-events.tribe-common--breakpoint-medium .tribe-events-calendar-list .tribe-events-virtual-hybrid-event,.tribe-events.tribe-common--breakpoint-medium .tribe-events-calendar-list .tribe-events-virtual-virtual-event{margin-bottom:var(--tec-spacer-3) 0}.tribe-events .tribe-events-calendar-day .tribe-events-virtual-hybrid-event:last-child,.tribe-events .tribe-events-calendar-day .tribe-events-virtual-virtual-event:last-child,.tribe-events .tribe-events-calendar-latest-past .tribe-events-virtual-hybrid-event:last-child,.tribe-events .tribe-events-calendar-latest-past .tribe-events-virtual-virtual-event:last-child,.tribe-events .tribe-events-calendar-list .tribe-events-virtual-hybrid-event:last-child,.tribe-events .tribe-events-calendar-list .tribe-events-virtual-virtual-event:last-child{margin-bottom:0}.tribe-events .tribe-events-calendar-month .tribe-events-virtual-hybrid-event,.tribe-events .tribe-events-calendar-month .tribe-events-virtual-virtual-event,.tribe-events .tribe-events-calendar-month__calendar-event-tooltip .tribe-events-virtual-hybrid-event,.tribe-events .tribe-events-calendar-month__calendar-event-tooltip .tribe-events-virtual-virtual-event{display:inline-block;line-height:0}.tribe-events .tribe-events-calendar-month__multiday-event .tribe-events-virtual-hybrid-event,.tribe-events .tribe-events-calendar-month__multiday-event .tribe-events-virtual-virtual-event{flex:none}.tribe-events .tribe-events-calendar-month-mobile-events .tribe-events-virtual-hybrid-event,.tribe-events .tribe-events-calendar-month-mobile-events .tribe-events-virtual-virtual-event{margin-top:var(--tec-spacer-0)}.tribe-events .tribe-events-calendar-month .tribe-events-virtual-hybrid-event__icon,.tribe-events .tribe-events-calendar-month .tribe-events-virtual-virtual-event__icon,.tribe-events .tribe-events-calendar-month__calendar-event-tooltip .tribe-events-virtual-hybrid-event__icon,.tribe-events .tribe-events-calendar-month__calendar-event-tooltip .tribe-events-virtual-virtual-event__icon{margin-right:var(--tec-spacer-0)}.tribe-events .tribe-events-calendar-month-mobile-events .tribe-events-virtual-hybrid-event__icon,.tribe-events .tribe-events-calendar-month-mobile-events .tribe-events-virtual-virtual-event__icon{margin-right:var(--tec-spacer-1)}.tribe-events .tribe-events-calendar-month .tribe-events-virtual-virtual-event__icon-svg{width:16px}.tribe-events .tribe-events-calendar-month .tribe-events-virtual-hybrid-event__text,.tribe-events .tribe-events-calendar-month .tribe-events-virtual-virtual-event__text,.tribe-events .tribe-events-calendar-month__calendar-event-tooltip .tribe-events-virtual-hybrid-event__text,.tribe-events .tribe-events-calendar-month__calendar-event-tooltip .tribe-events-virtual-virtual-event__text{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.tribe-events .tribe-events-pro-summary .tribe-events-virtual-hybrid-event,.tribe-events .tribe-events-pro-summary .tribe-events-virtual-virtual-event{display:inline-block}.tribe-events .tribe-events-pro-summary .tribe-events-virtual-hybrid-event__icon,.tribe-events .tribe-events-pro-summary .tribe-events-virtual-virtual-event__icon{margin-right:0}.tribe-events .tribe-events-pro-summary .tribe-events-virtual-hybrid-event__icon-svg,.tribe-events .tribe-events-pro-summary .tribe-events-virtual-virtual-event__icon-svg{height:10px}.tribe-events .tribe-events-pro-summary .tribe-events-virtual-hybrid-event__text,.tribe-events .tribe-events-pro-summary .tribe-events-virtual-virtual-event__text{display:none}.tribe-events .tribe-events-pro-photo__event.tribe-events-hybrid-event,.tribe-events .tribe-events-pro-photo__event.tribe-events-virtual-event{position:relative}.tribe-events .tribe-events-pro-photo .tribe-events-virtual-hybrid-event,.tribe-events .tribe-events-pro-photo .tribe-events-virtual-virtual-event{align-items:center;background-color:var(--tec-color-background);border-radius:13px;display:flex;height:26px;justify-content:center;left:calc(var(--tec-grid-gutter-small-half) + var(--tec-spacer-2));position:absolute;top:var(--tec-spacer-2);width:37px}.tribe-events.tribe-common--breakpoint-medium .tribe-events-pro-photo .tribe-events-virtual-hybrid-event,.tribe-events.tribe-common--breakpoint-medium .tribe-events-pro-photo .tribe-events-virtual-virtual-event{left:calc(var(--tec-grid-gutter-half) + var(--tec-spacer-2))}.tribe-events .tribe-events-pro-photo .tribe-events-virtual-hybrid-event__icon,.tribe-events .tribe-events-pro-photo .tribe-events-virtual-virtual-event__icon{margin-right:0}.tribe-events .tribe-events-pro-photo .tribe-events-virtual-hybrid-event__text,.tribe-events .tribe-events-pro-photo .tribe-events-virtual-virtual-event__text{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.tribe-events .tribe-events-pro-map .tribe-events-virtual-hybrid-event,.tribe-events .tribe-events-pro-map .tribe-events-virtual-virtual-event,.tribe-events .tribe-events-pro-map__event-tooltip .tribe-events-virtual-hybrid-event,.tribe-events .tribe-events-pro-map__event-tooltip .tribe-events-virtual-virtual-event{margin-top:var(--tec-spacer-1)}.tribe-events .tribe-events-pro-week-grid .tribe-events-virtual-hybrid-event,.tribe-events .tribe-events-pro-week-grid .tribe-events-virtual-virtual-event,.tribe-events .tribe-events-pro-week-grid__event-tooltip .tribe-events-virtual-hybrid-event,.tribe-events .tribe-events-pro-week-grid__event-tooltip .tribe-events-virtual-virtual-event{display:inline-block;line-height:0}.tribe-events .tribe-events-pro-week-grid__multiday-event .tribe-events-virtual-hybrid-event,.tribe-events .tribe-events-pro-week-grid__multiday-event .tribe-events-virtual-virtual-event{flex:none}.tribe-events .tribe-events-pro-week-mobile-events .tribe-events-virtual-hybrid-event,.tribe-events .tribe-events-pro-week-mobile-events .tribe-events-virtual-virtual-event{margin-bottom:var(--tec-spacer-1)}.tribe-events .tribe-events-pro-week-grid .tribe-events-virtual-hybrid-event__icon,.tribe-events .tribe-events-pro-week-grid .tribe-events-virtual-virtual-event__icon,.tribe-events .tribe-events-pro-week-grid__event-tooltip .tribe-events-virtual-hybrid-event__icon,.tribe-events .tribe-events-pro-week-grid__event-tooltip .tribe-events-virtual-virtual-event__icon{margin-right:var(--tec-spacer-0)}.tribe-events .tribe-events-pro-week-grid .tribe-events-virtual-hybrid-event__text,.tribe-events .tribe-events-pro-week-grid .tribe-events-virtual-virtual-event__text,.tribe-events .tribe-events-pro-week-grid__event-tooltip .tribe-events-virtual-hybrid-event__text,.tribe-events .tribe-events-pro-week-grid__event-tooltip .tribe-events-virtual-virtual-event__text{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.tribe-events #tribe-filter-VirtualEvents span{white-space:normal} \ No newline at end of file diff --git a/wp-content/plugins/events-calendar-pro/src/resources/css/events-virtual-zoom-admin.min.css b/wp-content/plugins/events-calendar-pro/src/resources/css/events-virtual-zoom-admin.min.css new file mode 100644 index 000000000..602db2f15 --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/resources/css/events-virtual-zoom-admin.min.css @@ -0,0 +1 @@ +.virtual-event-wrapper .tribe-events-virtual-hidden{display:none;visibility:hidden}.tribe-events-virtual-meetings-zoom-details__or-label{line-height:30px;margin-right:8px}.tribe-events-virtual-meetings-zoom__connect-link{display:inline-block}.tec-events-virtual-autodetect-video-preview__label,.tribe-events-virtual-meetings-zoom-control__label{display:block;font-size:12px;font-weight:700;line-height:14px;margin:0 0 var(--tec-spacer-2)}.tec-events-virtual-meetings-api-create__types{margin:var(--tec-spacer-1) 0}.tribe-events-virtual-meetings-api-control--radio-wrap{display:inline;margin-right:20px}.tribe-events-virtual-meetings-api-control--radio-wrap .disabled{color:#999;cursor:default}.tribe-events-virtual-meetings-api-control--radio-wrap input[type=radio]:disabled{border-color:#999;cursor:default;opacity:1}.tec-events-virtual-meetings-api-details__create-link-wrapper,.tribe-events-virtual-meetings-zoom-details__create-link-wrapper{float:right}.tec-events-virtual-meetings-api-details__inner .tec-events-virtual-meetings-api-message,.tec-events-virtual-meetings-api-details__inner .tribe-events-virtual-meetings-zoom-message,.tribe-events-virtual-meetings-zoom-details__inner .tec-events-virtual-meetings-api-message,.tribe-events-virtual-meetings-zoom-details__inner .tribe-events-virtual-meetings-zoom-message{background-color:#f0f0f0;border-radius:4px;margin:16px 0 20px;padding:10px}.tec-events-virtual-video-source-api-setup__messages-wrap{width:90%}.tec-events-virtual-meetings-api-details__remove-link{color:#444;display:block;float:right;font-size:20px;height:16px;line-height:16px;margin-top:-2px;text-align:center;text-decoration:none;width:16px}.tec-events-virtual-meetings-api-standard-details__wrapper{align-items:flex-start;display:flex;margin-right:40px}.tec-events-virtual-meetings-api__url-wrapper,.tribe-events-virtual-meetings-zoom__url-wrapper{margin-bottom:18px}.tec-events-virtual-meetings-api__url-wrapper:last-child,.tribe-events-virtual-meetings-zoom__url-wrapper:last-child{margin-bottom:0}.tec-events-virtual-single-api-details__icon--lock,.tribe-events-virtual-meeting-api__icon--phone,.tribe-events-virtual-meeting-api__icon--video,.tribe-events-virtual-meeting-zoom__icon--phone,.tribe-events-virtual-meeting-zoom__icon--video{margin:2px 12px 0 0;width:16px}.tribe-events-virtual-icon path{fill:var(--tec-color-icon-primary-alt)}.tec-events-virtual-meetings-api-details__title,.tec-events-virtual-meetings-api__title,.tribe-events-virtual-meetings-zoom-details__title,.tribe-events-virtual-meetings-zoom__title{font-size:14px;font-style:normal;font-weight:400;line-height:16px;margin-bottom:var(--tec-spacer-2)}.tec-events-virtual-meetings-api-error__details-header,.tec-events-virtual-meetings-api-error__title,.tribe-events-virtual-meetings-zoom-error__details-header,.tribe-events-virtual-meetings-zoom-error__title{display:block;font-weight:700;margin-bottom:var(--tec-spacer-2)}.tribe-events-virtual-meetings-zoom-error__details-header{margin-bottom:0}.tribe-events-virtual-meetings-zoom-details__inner-accounts .tec-events-virtual-meetings-control--select{margin-bottom:20px}.tec-events-virtual-meetings-api__host-dropdown .select2-selection--single{width:100%}.tec-events-virtual-meetings-api-webex-password__message,.tec-events-virtual-meetings-api__account,.tec-events-virtual-meetings-api__host,.tribe-events-virtual-meetings-zoom__account,.tribe-events-virtual-meetings-zoom__host{color:#999;font-size:14px;line-height:16px;margin-bottom:var(--tec-spacer-2)}.tec-events-virtual-meetings-api__account{color:var(--tec-color-text-primary)}.tribe-events-virtual-meetings-zoom__alternative-host{margin-bottom:14px}.tribe-events-virtual-meetings-zoom__alternative-host .select2-selection--multiple{width:100%}.tribe-events-virtual-meetings-zoom__alternative-host .select2-container .select2-selection--multiple .select2-selection__rendered{border:none}.tribe-events-virtual-meetings-zoom__alternative-host .select2-container .select2-selection--multiple .select2-search__field{padding-left:8px}.tribe-events-virtual-meetings-zoom__phone-list-item-number,.tribe-events-virtual-meetings-zoom__url-meeting-link{font-size:12px;font-weight:700;text-decoration:none}.tribe-events-virtual-meetings-zoom__url-meeting-id{font-size:11px;margin-top:4px}.tribe-events-virtual-meetings-zoom__phone-list{margin:0}.tribe-events-virtual-meetings-zoom__phone-list-item{margin-bottom:4px}.tribe-events-virtual-meetings-zoom__phone-list-item:last-child{margin-bottom:0}@media (min-width:783px){.tec-events-virtual-meetings-api__url-wrapper,.tribe-events-virtual-meetings-zoom__phone-wrapper,.tribe-events-virtual-meetings-zoom__url-wrapper{margin-right:60px}} \ No newline at end of file diff --git a/wp-content/plugins/events-calendar-pro/src/resources/css/integrations/plugins/elementor/icons.min.css b/wp-content/plugins/events-calendar-pro/src/resources/css/integrations/plugins/elementor/icons.min.css new file mode 100644 index 000000000..3fbabc4cb --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/resources/css/integrations/plugins/elementor/icons.min.css @@ -0,0 +1 @@ +.tec-events-elementor-event-widget__icon-additional-fields:before{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg fill='none' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M21.236 16.213H2.774v-1.73h18.462v1.73z' fill='currentColor'/%3E%3Cpath d='M15.467 19.828H2.774v-1.73h12.693v1.73z' fill='currentColor'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M4.692 6.046a.91.91 0 0 0-.897.923v1.667c0 .51.402.923.897.923h14.616a.91.91 0 0 0 .897-.923V6.969a.91.91 0 0 0-.897-.923H4.692zM2 6.97C2 5.44 3.205 4.2 4.692 4.2h14.616C20.795 4.2 22 5.44 22 6.97v1.666c0 1.53-1.205 2.77-2.692 2.77H4.692C3.205 11.405 2 10.165 2 8.635V6.969z' fill='currentColor'/%3E%3C/svg%3E")}.tec-events-elementor-event-widget__icon-related:before{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg fill='none' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M3 3.9a.9.9 0 0 1 .9-.9h6.3a.9.9 0 0 1 .9.9v6.3a.9.9 0 0 1-.9.9H3.9a.9.9 0 0 1-.9-.9V3.9zm1.8.9v4.5h4.5V4.8H4.8zm8.1-.9a.9.9 0 0 1 .9-.9h6.3a.9.9 0 0 1 .9.9v6.3a.9.9 0 0 1-.9.9h-6.3a.9.9 0 0 1-.9-.9V3.9zm1.8.9v4.5h4.5V4.8h-4.5zm-1.8 9a.9.9 0 0 1 .9-.9h6.3a.9.9 0 0 1 .9.9v6.3a.9.9 0 0 1-.9.9h-6.3a.9.9 0 0 1-.9-.9v-6.3zm1.8.9v4.5h4.5v-4.5h-4.5zM3 13.8a.9.9 0 0 1 .9-.9h6.3a.9.9 0 0 1 .9.9v6.3a.9.9 0 0 1-.9.9H3.9a.9.9 0 0 1-.9-.9v-6.3zm1.8.9v4.5h4.5v-4.5H4.8z' fill='currentColor'/%3E%3C/svg%3E")} \ No newline at end of file diff --git a/wp-content/plugins/events-calendar-pro/src/resources/css/integrations/plugins/elementor/svgs.min.css b/wp-content/plugins/events-calendar-pro/src/resources/css/integrations/plugins/elementor/svgs.min.css new file mode 100644 index 000000000..e69de29bb diff --git a/wp-content/plugins/events-calendar-pro/src/resources/css/integrations/plugins/elementor/widgets/additional-fields.min.css b/wp-content/plugins/events-calendar-pro/src/resources/css/integrations/plugins/elementor/widgets/additional-fields.min.css new file mode 100644 index 000000000..42ec5ceb0 --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/resources/css/integrations/plugins/elementor/widgets/additional-fields.min.css @@ -0,0 +1 @@ +.tec-events-elementor-event-widget__additional-fields-label{font-weight:var(--tec-font-weight-bold)}.tec-events-elementor-event-widget__additional-fields-value{padding-bottom:var(--tec-spacer-5)}.tec-events-elementor-event-widget__additional-fields-value a{text-decoration:underline} \ No newline at end of file diff --git a/wp-content/plugins/events-calendar-pro/src/resources/css/integrations/plugins/elementor/widgets/organizer.min.css b/wp-content/plugins/events-calendar-pro/src/resources/css/integrations/plugins/elementor/widgets/organizer.min.css new file mode 100644 index 000000000..0ec1a38ff --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/resources/css/integrations/plugins/elementor/widgets/organizer.min.css @@ -0,0 +1 @@ +.tec-events-elementor-event-widget__organizer .tec-events-elementor-event-widget__organizer-name-link{border-color:currentColor;color:var(--tec-color-accent-primary);text-decoration:underline} \ No newline at end of file diff --git a/wp-content/plugins/events-calendar-pro/src/resources/css/integrations/plugins/elementor/widgets/related.min.css b/wp-content/plugins/events-calendar-pro/src/resources/css/integrations/plugins/elementor/widgets/related.min.css new file mode 100644 index 000000000..a84afc7b7 --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/resources/css/integrations/plugins/elementor/widgets/related.min.css @@ -0,0 +1 @@ +.tec-events-elementor-event-widget__related-container .tec-events-elementor-event-widget__related-header{font-size:var(--tec-font-size-6);line-height:var(--tec-line-height-1);margin-bottom:var(--tec-spacer-3);margin-bottom:20px}.tec-events-elementor-event-widget__related-container ul.tec-events-elementor-event-widget__related-list{display:flex;flex-wrap:wrap;justify-content:space-between;list-style:none;padding:0}.tec-events-elementor-event-widget__related-container li.tec-events-elementor-event-widget__related-list-item{font-size:var(--tec-font-size-2);line-height:var(--tec-line-height-3);margin-bottom:0;margin-right:0}.tec-events-elementor-event-widget__related-container .tec-events-elementor-event-widget__related-thumbnail{margin:0 0 var(--tec-spacer-3)}.tec-events-elementor-event-widget__related-container .tec-events-elementor-event-widget__related-thumbnail img{height:auto;width:100%}.tec-events-elementor-event-widget__related-container .tec-events-elementor-event-widget__related-image-link{border-bottom:0}.tec-events-elementor-event-widget__related-container .tribe-events-calendar-series-archive__container--pill,.tec-events-elementor-event-widget__related-container .tribe-events-virtual-single-marker{display:none}.tec-events-elementor-event-widget__related-container .tec-events-elementor-event-widget__related-info{align-items:baseline;display:flex;flex-wrap:wrap;padding:0;width:100%}.tec-events-elementor-event-widget__related-container .tec-events-elementor-event-widget__related-datetime,.tec-events-elementor-event-widget__related-container .tec-events-elementor-event-widget__related-title{color:var(--tec-color-text-primary);font-family:var(--tec-font-family-sans-serif);font-size:var(--tec-font-size-2);font-weight:var(--tec-font-weight-bold);line-height:var(--tec-line-height-3);width:100%}.tec-events-elementor-event-widget__related-container .tec-events-elementor-event-widget__related-title-link{border-color:currentColor;color:inherit;font-size:inherit;font-weight:inherit}.tec-events-elementor-event-widget__related-container .tec-events-elementor-event-widget__related-datetime{font-weight:var(--tec-font-weight-normal)}#tribe-events-pg-template .tribe-events-content .tec-events-elementor-event-widget__related-container ul.tec-events-elementor-event-widget__related-list{list-style:none}#tribe-events-pg-template .tribe-events-content .tec-events-elementor-event-widget__related-container li.tec-events-elementor-event-widget__related-list-item{font-size:var(--tec-font-size-2);line-height:var(--tec-line-height-3);margin-bottom:0;margin-right:0}@media (min-width:768px){.tec-events-elementor-event-widget__related-container .tec-events-elementor-event-widget__related-header{font-size:var(--tec-font-size-8);line-height:var(--tec-line-height-3)}}@media only screen and (min-width:768px){.tec-events-elementor-event-widget__related-container ul.tec-events-elementor-event-widget__related-list{flex-wrap:nowrap}.tec-events-elementor-event-widget__related-container li.tec-events-elementor-event-widget__related-list-item:not(:last-child){margin-right:var(--tec-spacer-6)}}@media only screen and (min-width:1024px){#tribe-events-pg-template .tribe-events-content .tec-events-elementor-event-widget__related-container li.tec-events-elementor-event-widget__related-list-item,.tec-events-elementor-event-widget__related-container li.tec-events-elementor-event-widget__related-list-item:not(:last-child){margin-right:var(--tec-spacer-8)}}@media only screen and (min-width:768px) and (max-width:1024px){#tribe-events-pg-template .tribe-events-content .tec-events-elementor-event-widget__related-container li.tec-events-elementor-event-widget__related-list-item{margin-right:var(--tec-spacer-6)}} \ No newline at end of file diff --git a/wp-content/plugins/events-calendar-pro/src/resources/css/views-full.min.css b/wp-content/plugins/events-calendar-pro/src/resources/css/views-full.min.css index e3dcb80f0..300113db5 100644 --- a/wp-content/plugins/events-calendar-pro/src/resources/css/views-full.min.css +++ b/wp-content/plugins/events-calendar-pro/src/resources/css/views-full.min.css @@ -1 +1 @@ -.tribe-events-pro.tribe-events-view--week .datepicker .day{border-radius:0}.tribe-events-pro.tribe-events-view--week .datepicker .day:first-child{border-bottom-left-radius:var(--tec-border-radius-default);border-top-left-radius:var(--tec-border-radius-default)}.tribe-events-pro.tribe-events-view--week .datepicker .day:last-child{border-bottom-right-radius:var(--tec-border-radius-default);border-top-right-radius:var(--tec-border-radius-default)}.tribe-events-pro.tribe-events-view--week .datepicker .day.disabled,.tribe-events-pro.tribe-events-view--week .datepicker .day.disabled.focused,.tribe-events-pro.tribe-events-view--week .datepicker .day.disabled:focus,.tribe-events-pro.tribe-events-view--week .datepicker .day.disabled:hover{color:var(--tec-color-text-primary)}.tribe-events-pro.tribe-events-view--week .datepicker .day.active{background:transparent;color:var(--tec-color-text-primary)}.tribe-events-pro.tribe-events-view--week .datepicker .day.active:hover{background:transparent}.tribe-events-pro.tribe-events-view--week .datepicker .day.past,.tribe-events-pro.tribe-events-view--week .datepicker .day.past.focused,.tribe-events-pro.tribe-events-view--week .datepicker .day.past:focus,.tribe-events-pro.tribe-events-view--week .datepicker .day.past:hover{color:var(--tec-color-text-primary-light)}.tribe-events-pro.tribe-events-view--week .datepicker .day.current{color:var(--tec-color-background);position:relative}.tribe-events-pro.tribe-events-view--week .datepicker .day.current.focused,.tribe-events-pro.tribe-events-view--week .datepicker .day.current:focus,.tribe-events-pro.tribe-events-view--week .datepicker .day.current:hover{color:var(--tec-color-background)}.tribe-events-pro.tribe-events-view--week .datepicker .day.current:before{background:var(--tec-color-accent-primary);border-radius:var(--tec-border-radius-default);bottom:0;content:"";left:0;position:absolute;right:0;top:0;z-index:-1}.tribe-events-pro.tribe-events-view--week .datepicker .focused .day,.tribe-events-pro.tribe-events-view--week .datepicker .focused .day:hover,.tribe-events-pro.tribe-events-view--week .datepicker .hovered .day,.tribe-events-pro.tribe-events-view--week .datepicker .hovered .day:hover{background:var(--tec-color-background-secondary)}.tribe-events-pro.tribe-events-view--week .datepicker .focused .day.current,.tribe-events-pro.tribe-events-view--week .datepicker .hovered .day.current{background:transparent}.tribe-events-pro.tribe-events-view--week .datepicker .active .day,.tribe-events-pro.tribe-events-view--week .datepicker .active .day:hover{background:var(--tec-color-accent-primary-background)}.tribe-theme-enfold .tribe-events-pro.tribe-events-view--week .datepicker .day.active{background:transparent;color:var(--tec-color-text-primary)}.tribe-theme-enfold .tribe-events-pro.tribe-events-view--week .datepicker .day.active:hover{background:transparent}.tribe-theme-enfold .tribe-events-pro.tribe-events-view--week .datepicker .day.past{color:var(--tec-color-text-primary-light)}.tribe-theme-enfold .tribe-events-pro.tribe-events-view--week .datepicker .day.current,.tribe-theme-enfold .tribe-events-pro.tribe-events-view--week .datepicker .day.current.focused,.tribe-theme-enfold .tribe-events-pro.tribe-events-view--week .datepicker .day.current:focus,.tribe-theme-enfold .tribe-events-pro.tribe-events-view--week .datepicker .day.current:hover{color:var(--tec-color-background)}.tribe-theme-enfold .tribe-events-pro.tribe-events-view--week .datepicker .focused .day,.tribe-theme-enfold .tribe-events-pro.tribe-events-view--week .datepicker .focused .day:hover,.tribe-theme-enfold .tribe-events-pro.tribe-events-view--week .datepicker .hovered .day,.tribe-theme-enfold .tribe-events-pro.tribe-events-view--week .datepicker .hovered .day:hover{background:var(--tec-color-background-secondary)}.tribe-theme-enfold .tribe-events-pro.tribe-events-view--week .datepicker .focused .day.current,.tribe-theme-enfold .tribe-events-pro.tribe-events-view--week .datepicker .hovered .day.current{background:transparent}.tribe-theme-enfold .tribe-events-pro.tribe-events-view--week .datepicker .active .day,.tribe-theme-enfold .tribe-events-pro.tribe-events-view--week .datepicker .active .day:hover{background:var(--tec-color-accent-primary-background)}.tribe-theme-avada .tribe-events-pro.tribe-events-view--week .datepicker .day.active{background:transparent!important;color:var(--tec-color-text-primary)!important}.tribe-theme-avada .tribe-events-pro.tribe-events-view--week .datepicker .day.active:hover{background:transparent!important}.tribe-theme-avada .tribe-events-pro.tribe-events-view--week .datepicker .day.past{color:var(--tec-color-text-primary-light)!important}.tribe-theme-avada .tribe-events-pro.tribe-events-view--week .datepicker .day.current,.tribe-theme-avada .tribe-events-pro.tribe-events-view--week .datepicker .day.current.focused,.tribe-theme-avada .tribe-events-pro.tribe-events-view--week .datepicker .day.current:focus,.tribe-theme-avada .tribe-events-pro.tribe-events-view--week .datepicker .day.current:hover{color:var(--tec-color-background)!important}.tribe-theme-avada .tribe-events-pro.tribe-events-view--week .datepicker .focused .day,.tribe-theme-avada .tribe-events-pro.tribe-events-view--week .datepicker .focused .day:hover,.tribe-theme-avada .tribe-events-pro.tribe-events-view--week .datepicker .hovered .day,.tribe-theme-avada .tribe-events-pro.tribe-events-view--week .datepicker .hovered .day:hover{background:var(--tec-color-background-secondary)!important}.tribe-theme-avada .tribe-events-pro.tribe-events-view--week .datepicker .focused .day.current,.tribe-theme-avada .tribe-events-pro.tribe-events-view--week .datepicker .hovered .day.current{background:transparent!important}.tribe-theme-avada .tribe-events-pro.tribe-events-view--week .datepicker .active .day,.tribe-theme-avada .tribe-events-pro.tribe-events-view--week .datepicker .active .day:hover{background:var(--tec-color-accent-primary-background)!important}:root{--tec-color-recurring-icon-month:var(--tec-color-text-primary);--tec-color-recurring-icon-month-hover:var(--tec-color-text-primary);--tec-color-recurring-icon-month-multiday:var(--tec-color-text-primary);--tec-color-recurring-icon-month-multiday-hover:var(--tec-color-text-primary);--tec-color-recurring-icon-list:var(--tec-color-text-primary);--tec-color-recurring-icon-list-hover:var(--tec-color-text-primary);--tec-color-recurring-icon-day:var(--tec-color-text-primary);--tec-color-recurring-icon-day-hover:var(--tec-color-text-primary);--tec-color-recurring-icon-week:var(--tec-color-text-primary);--tec-color-recurring-icon-week-hover:var(--tec-color-text-primary);--tec-color-recurring-icon-week-multiday:var(--tec-color-text-primary);--tec-color-recurring-icon-week-multiday-hover:var(--tec-color-text-primary);--tec-color-recurring-icon-photo:var(--tec-color-text-primary);--tec-color-recurring-icon-photo-hover:var(--tec-color-text-primary);--tec-color-recurring-icon-map:var(--tec-color-text-primary);--tec-color-recurring-icon-map-hover:var(--tec-color-text-primary)}.tec-view__event-venue-multi-suffix-separator{color:var(--tec-color-border-default)}.tribe-events .tribe-events-calendar-list__event-datetime-recurring-link:focus .tribe-events-calendar-list__event-datetime-recurring-icon-svg path,.tribe-events .tribe-events-calendar-list__event-datetime-recurring-link:hover .tribe-events-calendar-list__event-datetime-recurring-icon-svg path{fill:currentColor;stroke:currentColor}.tribe-events .tribe-events-calendar-month__calendar-event-datetime-recurring-link{color:var(--tec-color-recurring-icon-month)}.tribe-events .tribe-events-calendar-month__calendar-event-datetime-recurring-link:focus,.tribe-events .tribe-events-calendar-month__calendar-event-datetime-recurring-link:hover{color:var(--tec-color-recurring-icon-month-hover)}.tribe-events .tribe-events-calendar-month__calendar-event-datetime-recurring-link:focus .tribe-events-calendar-month__calendar-event-datetime-recurring-icon-svg path,.tribe-events .tribe-events-calendar-month__calendar-event-datetime-recurring-link:hover .tribe-events-calendar-month__calendar-event-datetime-recurring-icon-svg path{fill:currentColor;stroke:currentColor}.tribe-events .tribe-events-calendar-month__calendar-event-multiday-datetime-recurring-link,.tribe-events .tribe-events-calendar-month__calendar-event-multiday-recurring-link{color:var(--tec-color-recurring-icon-month-multiday)}.tribe-events .tribe-events-calendar-month__calendar-event-multiday-datetime-recurring-link:focus,.tribe-events .tribe-events-calendar-month__calendar-event-multiday-datetime-recurring-link:hover,.tribe-events .tribe-events-calendar-month__calendar-event-multiday-recurring-link:focus,.tribe-events .tribe-events-calendar-month__calendar-event-multiday-recurring-link:hover{color:var(--tec-color-recurring-icon-month-multiday-hover)}.tribe-events .tribe-events-calendar-day__event-datetime-recurring-link:focus .tribe-events-calendar-day__event-datetime-recurring-icon-svg path,.tribe-events .tribe-events-calendar-day__event-datetime-recurring-link:hover .tribe-events-calendar-day__event-datetime-recurring-icon-svg path,.tribe-events .tribe-events-calendar-latest-past__event-datetime-recurring-link:focus .tribe-events-calendar-latest-past__event-datetime-recurring-icon-svg path,.tribe-events .tribe-events-calendar-latest-past__event-datetime-recurring-link:hover .tribe-events-calendar-latest-past__event-datetime-recurring-icon-svg path,.tribe-events .tribe-events-calendar-month-mobile-events__mobile-event-datetime-recurring-link:focus .tribe-events-calendar-month-mobile-events__mobile-event-datetime-recurring-icon-svg path,.tribe-events .tribe-events-calendar-month-mobile-events__mobile-event-datetime-recurring-link:hover .tribe-events-calendar-month-mobile-events__mobile-event-datetime-recurring-icon-svg path,.tribe-events .tribe-events-calendar-month__calendar-event-multiday-datetime-recurring-link:focus .tribe-events-calendar-month__calendar-event-datetime-recurring-icon-svg path,.tribe-events .tribe-events-calendar-month__calendar-event-multiday-datetime-recurring-link:hover .tribe-events-calendar-month__calendar-event-datetime-recurring-icon-svg path,.tribe-events .tribe-events-calendar-month__calendar-event-multiday-recurring-link:focus .tribe-events-calendar-month__calendar-event-datetime-recurring-icon-svg path,.tribe-events .tribe-events-calendar-month__calendar-event-multiday-recurring-link:hover .tribe-events-calendar-month__calendar-event-datetime-recurring-icon-svg path,.tribe-events .tribe-events-calendar-month__calendar-event-tooltip-datetime-recurring-link:focus .tribe-events-calendar-month__calendar-event-tooltip-datetime-recurring-icon-svg path,.tribe-events .tribe-events-calendar-month__calendar-event-tooltip-datetime-recurring-link:hover .tribe-events-calendar-month__calendar-event-tooltip-datetime-recurring-icon-svg path{fill:currentColor;stroke:currentColor}.tribe-events-pro .tribe-events-pro-photo__event-featured-image-link{transition:var(--tec-transition-opacity)}.tribe-events-pro .tribe-events-pro-photo__event-featured-image-link:focus,.tribe-events-pro .tribe-events-pro-photo__event-featured-image-link:hover{opacity:var(--tec-opacity-icon-hover)}.tribe-events-pro .tribe-events-pro-photo__event-featured-image-link:active{opacity:var(--tec-opacity-icon-active)}.tribe-events-pro .tribe-events-pro-photo__event-date-tag-month{color:var(--tec-color-text-primary);font-family:var(--tec-font-family-sans-serif);font-size:var(--tec-font-size-0);font-weight:var(--tec-font-weight-regular);line-height:var(--tec-line-height-2);color:var(--tec-color-text-secondary);text-transform:uppercase}.tribe-events-pro .tribe-events-pro-photo__event-title-link{color:var(--tec-color-text-events-title)}.tribe-events-pro .tribe-events-pro-photo__event-title-link:active,.tribe-events-pro .tribe-events-pro-photo__event-title-link:focus,.tribe-events-pro .tribe-events-pro-photo__event-title-link:hover{border-color:currentColor;color:var(--tec-color-text-events-title)}.tribe-events-pro .tribe-events-pro-photo__event-title-link:visited{color:var(--tec-color-text-events-title)}.tribe-events-pro .tribe-events-pro-photo__event-datetime{color:var(--tec-color-text-event-date)}.tribe-events-pro .tribe-events-pro-photo__event-datetime-featured-text{color:var(--tec-color-accent-primary);font-weight:var(--tec-font-weight-bold)}.tribe-events-pro .tribe-events-pro-photo__event-datetime-recurring-link:focus .tribe-events-pro-photo__event-datetime-recurring-icon-svg path,.tribe-events-pro .tribe-events-pro-photo__event-datetime-recurring-link:hover .tribe-events-pro-photo__event-datetime-recurring-icon-svg path{fill:currentColor;stroke:currentColor}.tribe-events-pro .tribe-events-pro-summary__month-separator:after{background-color:var(--tec-color-border-default);content:"";display:block;flex:auto;height:1px}.tribe-events-pro .tribe-events-pro-summary__event-row--featured .tribe-events-pro-summary__event-date-tag-datetime:after{background-color:var(--tec-color-accent-primary);border-radius:var(--tec-border-radius-default);content:"";height:100%;position:absolute;right:calc(100% - 3px);width:3px}.tribe-common--breakpoint-medium.tribe-events-pro .tribe-events-pro-summary__event-row--featured .tribe-events-pro-summary__event-date-tag-datetime:after{right:-1px;width:4px}.tribe-events-pro .tribe-events-pro-summary__event-date-tag-weekday{color:var(--tec-color-text-primary);font-family:var(--tec-font-family-sans-serif);font-size:var(--tec-font-size-0);font-weight:var(--tec-font-weight-regular);line-height:var(--tec-line-height-2);color:var(--tec-color-text-secondary);text-transform:uppercase}.tribe-events-pro .tribe-events-pro-summary__event-datetime{color:var(--tec-color-text-event-date)}.tribe-common--breakpoint-medium.tribe-events-pro .tribe-events-pro-summary__event-datetime-featured-text{color:var(--tec-color-accent-primary);font-weight:var(--tec-font-weight-bold)}.tribe-events-pro .tribe-events-pro-summary__date-separator{background-color:var(--tec-color-border-default)}.tribe-events-pro .tribe-events-pro-summary__event-title-link{color:var(--tec-color-text-events-title)}.tribe-events-pro .tribe-events-pro-summary__event-title-link:active,.tribe-events-pro .tribe-events-pro-summary__event-title-link:focus,.tribe-events-pro .tribe-events-pro-summary__event-title-link:hover{border-color:currentColor;color:var(--tec-color-text-events-title)}.tribe-events-pro .tribe-events-pro-summary__event-title-link:visited{color:var(--tec-color-text-events-title)}.tribe-events-pro-summary a.tribe-events-c-small-cta__text{border-bottom:1px solid var(--tec-color-icon-focus)}.tribe-events-pro-summary .tribe-events-c-small-cta__price{border-radius:10px}.tribe-events-pro .tribe-events-pro-summary-nav{border-top:1px solid var(--tec-color-border-default)}.tribe-events-pro .tribe-events-pro-week-day-selector__day{border:1px solid transparent;border-radius:var(--tec-border-radius-default);transition:var(--tec-transition-border-color)}.tribe-events-pro .tribe-events-pro-week-day-selector__day:focus .tribe-events-pro-week-day-selector__day-daynum,.tribe-events-pro .tribe-events-pro-week-day-selector__day:focus .tribe-events-pro-week-day-selector__day-weekday,.tribe-events-pro .tribe-events-pro-week-day-selector__day:hover .tribe-events-pro-week-day-selector__day-daynum,.tribe-events-pro .tribe-events-pro-week-day-selector__day:hover .tribe-events-pro-week-day-selector__day-weekday{color:var(--tec-color-accent-secondary-hover)}.tribe-events-pro .tribe-events-pro-week-day-selector__day:active .tribe-events-pro-week-day-selector__day-daynum,.tribe-events-pro .tribe-events-pro-week-day-selector__day:active .tribe-events-pro-week-day-selector__day-weekday{color:var(--tec-color-accent-secondary-active)}.tribe-events-pro .tribe-events-pro-week-day-selector__day--active{border-color:var(--tec-color-accent-primary)}.tribe-events-pro .tribe-events-pro-week-day-selector__events-icon{background-color:var(--tec-color-accent-primary)}.tribe-events-pro .tribe-events-pro-week-day-selector__day-daynum,.tribe-events-pro .tribe-events-pro-week-day-selector__day-weekday{transition:var(--tec-transition-color)}.tribe-events-pro .tribe-events-pro-week-day-selector__day-weekday{color:var(--tec-color-text-secondary);margin:9px 0 -7px;text-transform:uppercase}.tribe-events-pro .tribe-events-pro-week-day-selector__day-daynum{margin-bottom:var(--tec-spacer-0)}.tribe-events-pro .tribe-events-pro-week-day-selector__next:focus .tribe-events-pro-week-day-selector__next-icon-svg path,.tribe-events-pro .tribe-events-pro-week-day-selector__next:hover .tribe-events-pro-week-day-selector__next-icon-svg path,.tribe-events-pro .tribe-events-pro-week-day-selector__prev:focus .tribe-events-pro-week-day-selector__prev-icon-svg path,.tribe-events-pro .tribe-events-pro-week-day-selector__prev:hover .tribe-events-pro-week-day-selector__prev-icon-svg path{fill:var(--tec-color-icon-active)}.tribe-events-pro .tribe-events-pro-week-day-selector__next-icon-svg path,.tribe-events-pro .tribe-events-pro-week-day-selector__prev-icon-svg path{fill:var(--tec-color-icon-secondary)}.tribe-events-pro .tribe-events-pro-week-grid__header-column--current .tribe-events-pro-week-grid__header-column-weekday{color:var(--tec-color-text-primary)}.tribe-events-pro .tribe-events-pro-week-grid__header-column--current .tribe-events-pro-week-grid__header-column-daynum,.tribe-events-pro .tribe-events-pro-week-grid__header-column--current .tribe-events-pro-week-grid__header-column-daynum-link{color:var(--tec-color-accent-primary)}.tribe-events-pro .tribe-events-pro-week-grid__header-column--current .tribe-events-pro-week-grid__header-column-daynum-link:focus,.tribe-events-pro .tribe-events-pro-week-grid__header-column--current .tribe-events-pro-week-grid__header-column-daynum-link:hover{color:var(--tec-color-accent-primary-hover)}.tribe-events-pro .tribe-events-pro-week-grid__header-column--current .tribe-events-pro-week-grid__header-column-daynum-link:active{color:var(--tec-color-accent-primary-active)}.tribe-events-pro .tribe-events-pro-week-grid__header-column-weekday{color:var(--tec-color-text-secondary);text-transform:uppercase}.tribe-events-pro .tribe-events-pro-week-grid__multiday-events-row-wrapper{box-shadow:var(--tec-box-shadow-multiday)}.tribe-events-pro .tribe-events-pro-week-grid__events-row-wrapper:focus+.tribe-events-pro-week-grid__events-row-scroll-pane{opacity:var(--tec-opacity-default)}.tribe-events-pro .tribe-events-pro-week-grid__multiday-toggle-button:focus,.tribe-events-pro .tribe-events-pro-week-grid__multiday-toggle-button:hover{opacity:var(--tec-opacity-icon-hover)}.tribe-events-pro .tribe-events-pro-week-grid__multiday-toggle-button:active{opacity:var(--tec-opacity-icon-active)}.tribe-events-pro .tribe-events-pro-week-grid__events-scroll-wrapper:hover .tribe-events-pro-week-grid__events-row-scroll-pane{opacity:var(--tec-opacity-default)}.tribe-events-pro .tribe-events-pro-week-grid__events-time-tag{color:var(--tec-color-text-primary);font-family:var(--tec-font-family-sans-serif);font-size:var(--tec-font-size-0);font-weight:var(--tec-font-weight-regular);line-height:var(--tec-line-height-2)}.tribe-events-pro .tribe-events-pro-week-grid__events-row-scroll-pane{opacity:0;transition:var(--tec-transition-opacity)}.tribe-events-pro .tribe-events-pro-week-grid__events-row-scroll-pane.active{opacity:var(--tec-opacity-default)}.tribe-events-pro .tribe-events-pro-week-grid__multiday-event--start .tribe-events-pro-week-grid__multiday-event-bar{border-bottom-left-radius:9.5px;border-top-left-radius:9.5px}.tribe-events-pro .tribe-events-pro-week-grid__multiday-event--end .tribe-events-pro-week-grid__multiday-event-bar{border-bottom-right-radius:9.5px;border-top-right-radius:9.5px}.tribe-events-pro .tribe-events-pro-week-grid__multiday-event-bar-inner{background-color:var(--tec-color-accent-primary-multiday);transition:var(--tec-transition-background-color)}.tribe-events-pro .tribe-events-pro-week-grid__multiday-event-bar-inner:focus,.tribe-events-pro .tribe-events-pro-week-grid__multiday-event-bar-inner:hover{background-color:var(--tec-color-accent-primary-multiday-hover)}.tribe-events-pro .tribe-events-pro-week-grid__multiday-event-bar-title-link{color:var(--tec-color-text-events-title)}.tribe-events-pro .tribe-events-pro-week-grid__multiday-event-bar-title-link:active,.tribe-events-pro .tribe-events-pro-week-grid__multiday-event-bar-title-link:focus,.tribe-events-pro .tribe-events-pro-week-grid__multiday-event-bar-title-link:hover{border-color:currentColor;color:var(--tec-color-text-events-title)}.tribe-events-pro .tribe-events-pro-week-grid__multiday-event-bar-title-link:visited{color:var(--tec-color-text-events-title)}.tribe-events-pro .tribe-events-pro-week-grid__multiday-event--past .tribe-events-pro-week-grid__multiday-event-bar-inner{background-color:var(--tec-color-background-secondary)}.tribe-events-pro .tribe-events-pro-week-grid__multiday-event--past .tribe-events-pro-week-grid__multiday-event-bar-inner--focus,.tribe-events-pro .tribe-events-pro-week-grid__multiday-event--past .tribe-events-pro-week-grid__multiday-event-bar-inner--hover,.tribe-events-pro .tribe-events-pro-week-grid__multiday-event--past .tribe-events-pro-week-grid__multiday-event-bar-inner:focus,.tribe-events-pro .tribe-events-pro-week-grid__multiday-event--past .tribe-events-pro-week-grid__multiday-event-bar-inner:hover{background-color:var(--tec-color-background-secondary-hover)}.tribe-events-pro .tribe-events-pro-week-grid__multiday-event-bar-inner--focus,.tribe-events-pro .tribe-events-pro-week-grid__multiday-event-bar-inner--hover{background-color:var(--tec-color-accent-primary-multiday-hover)}.tribe-events-pro .tribe-events-pro-week-grid__multiday-event-title{text-overflow:ellipsis}:root{--tec-color-twentyseventeen-dark-background:#222;--color-twentyseventeen-dark-background:var(--tec-color-twentyseventeen-dark-background,#222)}.tribe-events-pro .tribe-events-pro-week-grid__event-title{color:var(--tec-color-text-events-title)}.tribe-events-pro .tribe-events-pro-week-grid__event--h-1 .tribe-events-pro-week-grid__event-title,.tribe-events-pro [class*=tribe-events-pro-week-grid__event--h-0] .tribe-events-pro-week-grid__event-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tribe-events-pro .tribe-events-pro-week-grid__event--featured .tribe-events-pro-week-grid__event-link-inner{background-color:var(--tec-color-accent-primary-week-event-featured)}.tribe-events-pro .tribe-events-pro-week-grid__event--featured .tribe-events-pro-week-grid__event-link-inner:before{background-color:var(--tec-color-accent-primary);content:"";height:100%;left:0;position:absolute;top:0;width:2px}.tribe-events-pro .tribe-events-pro-week-grid__event--featured .tribe-events-pro-week-grid__event-link:focus .tribe-events-pro-week-grid__event-link-inner,.tribe-events-pro .tribe-events-pro-week-grid__event--featured .tribe-events-pro-week-grid__event-link:hover .tribe-events-pro-week-grid__event-link-inner{background-color:var(--tec-color-accent-primary-week-event-featured-hover)}.tribe-events-pro .tribe-events-pro-week-grid__event--past .tribe-events-pro-week-grid__event-link-inner{background-color:var(--tec-color-background-secondary)}.tribe-events-pro .tribe-events-pro-week-grid__event--past .tribe-events-pro-week-grid__event-link:focus .tribe-events-pro-week-grid__event-link-inner,.tribe-events-pro .tribe-events-pro-week-grid__event--past .tribe-events-pro-week-grid__event-link:hover .tribe-events-pro-week-grid__event-link-inner{background-color:var(--tec-color-background-secondary-hover)}.tribe-events-pro .tribe-events-pro-week-grid__event-link{border:var(--tec-border-width-week-event) solid var(--tec-color-background);border-radius:calc(var(--tec-border-radius-default) + var(--tec-border-width-week-event))}.tribe-events-pro .tribe-events-pro-week-grid__event-link:focus .tribe-events-pro-week-grid__event-link-inner,.tribe-events-pro .tribe-events-pro-week-grid__event-link:hover .tribe-events-pro-week-grid__event-link-inner{background-color:var(--tec-color-accent-primary-week-event-hover)}.tribe-events-pro .tribe-events-pro-week-grid__event-link-inner{background-color:var(--tec-color-accent-primary-week-event);transition:var(--tec-transition-background-color)}.tribe-events-pro .tribe-events-pro-week-grid__event-datetime{color:var(--tec-color-text-primary);font-family:var(--tec-font-family-sans-serif);font-size:var(--tec-font-size-0);font-weight:var(--tec-font-weight-regular);line-height:var(--tec-line-height-2);color:var(--tec-color-text-event-date);white-space:nowrap}.tribe-events-pro .tribe-events-pro-week-grid__event-tooltip-featured-image-link{transition:var(--tec-transition-opacity)}.tribe-events-pro .tribe-events-pro-week-grid__event-tooltip-featured-image-link:focus,.tribe-events-pro .tribe-events-pro-week-grid__event-tooltip-featured-image-link:hover{opacity:var(--tec-opacity-icon-hover)}.tribe-events-pro .tribe-events-pro-week-grid__event-tooltip-featured-image-link:active{opacity:var(--tec-opacity-icon-active)}.tribe-events-pro .tribe-events-pro-week-grid__event-tooltip-title-link{color:var(--tec-color-text-events-title)}.tribe-events-pro .tribe-events-pro-week-grid__event-tooltip-title-link:active,.tribe-events-pro .tribe-events-pro-week-grid__event-tooltip-title-link:focus,.tribe-events-pro .tribe-events-pro-week-grid__event-tooltip-title-link:hover{border-color:currentColor;color:var(--tec-color-text-events-title)}.tribe-events-pro .tribe-events-pro-week-grid__event-tooltip-title-link:visited{color:var(--tec-color-text-events-title)}.tribe-events-pro .tribe-events-pro-week-grid__event-tooltip-datetime{color:var(--tec-color-text-primary);font-family:var(--tec-font-family-sans-serif);font-size:var(--tec-font-size-0);font-weight:var(--tec-font-weight-regular);line-height:var(--tec-line-height-2);color:var(--tec-color-text-event-date)}.tribe-events-pro .tribe-events-pro-week-grid__event-tooltip-datetime-recurring-link:focus .tribe-events-pro-week-grid__event-tooltip-datetime-recurring-icon-svg path,.tribe-events-pro .tribe-events-pro-week-grid__event-tooltip-datetime-recurring-link:hover .tribe-events-pro-week-grid__event-tooltip-datetime-recurring-icon-svg path{fill:currentColor;stroke:currentColor}.tribe-theme-twentyseventeen.colors-dark .tribe-events-pro .tribe-events-pro-week-grid__event-link{border-color:var(--tec-color-twentyseventeen-dark-background)}.tribe-theme-twentytwentyone .tribe-events-pro .tribe-events-pro-week-grid__event-link{border-color:var(--tec-global--color-background)}.tribe-events-week.ast-separate-container .ast-article-post{background-color:transparent;padding:0}.tribe-events-pro .tribe-events-pro-week-mobile-events__event-title-link{color:var(--tec-color-text-events-title)}.tribe-events-pro .tribe-events-pro-week-mobile-events__event-title-link:active,.tribe-events-pro .tribe-events-pro-week-mobile-events__event-title-link:focus,.tribe-events-pro .tribe-events-pro-week-mobile-events__event-title-link:hover{border-color:currentColor;color:var(--tec-color-text-events-title)}.tribe-events-pro .tribe-events-pro-week-mobile-events__event-title-link:visited{color:var(--tec-color-text-events-title)}.tribe-events-pro .tribe-events-pro-week-mobile-events__event--featured:before{background-color:var(--tec-color-accent-primary);content:"";height:100%;left:var(--tec-grid-gutter-small-half);position:absolute;width:3px}.tribe-events-pro .tribe-events-pro-week-mobile-events__event-featured-image-link{transition:var(--tec-transition-opacity)}.tribe-events-pro .tribe-events-pro-week-mobile-events__event-featured-image-link:focus,.tribe-events-pro .tribe-events-pro-week-mobile-events__event-featured-image-link:hover{opacity:var(--tec-opacity-icon-hover)}.tribe-events-pro .tribe-events-pro-week-mobile-events__event-featured-image-link:active{opacity:var(--tec-opacity-icon-active)}.tribe-events-pro .tribe-events-pro-week-mobile-events__event-datetime-recurring-link{color:var(--tec-color-text-event-date)}.tribe-events-pro .tribe-events-pro-week-mobile-events__event-datetime-recurring-link:focus .tribe-events-pro-week-grid__event-tooltip-datetime-recurring-icon-svg path,.tribe-events-pro .tribe-events-pro-week-mobile-events__event-datetime-recurring-link:focus .tribe-events-pro-week-mobile-events__event-datetime-recurring-icon-svg path,.tribe-events-pro .tribe-events-pro-week-mobile-events__event-datetime-recurring-link:hover .tribe-events-pro-week-grid__event-tooltip-datetime-recurring-icon-svg path,.tribe-events-pro .tribe-events-pro-week-mobile-events__event-datetime-recurring-link:hover .tribe-events-pro-week-mobile-events__event-datetime-recurring-icon-svg path{fill:currentColor;stroke:currentColor}.tribe-events-pro .tribe-events-pro-week-mobile-events__event-time-separator:after,.tribe-events-pro .tribe-events-pro-week-mobile-events__event-type-separator:after{background-color:var(--tec-color-border-default);content:"";display:block;flex:auto;height:1px;margin-left:20px}.tribe-events-pro .tribe-events-pro-map__map{border-color:var(--tec-color-border-default);border-style:solid;border-width:1px 1px 0}.tribe-common--breakpoint-medium.tribe-events-pro .tribe-events-pro-map__map{border-width:1px 0 1px 1px}.tribe-events-pro .tribe-events-pro-map__no-venue-modal--premium{box-shadow:var(--tec-box-shadow-default)}.tribe-events-pro .tribe-events-pro-map__no-venue-modal-close:focus .tribe-events-pro-map__no-venue-modal-close-icon-svg path,.tribe-events-pro .tribe-events-pro-map__no-venue-modal-close:hover .tribe-events-pro-map__no-venue-modal-close-icon-svg path{stroke:var(--tec-color-icon-primary)}.tribe-events-pro .tribe-events-pro-map__event-column:after,.tribe-events-pro .tribe-events-pro-map__event-column:before{background-color:var(--tec-color-border-default);content:"";height:100%;position:absolute;top:0;width:1px}.tribe-events-pro .tribe-events-pro-map__event-column:before{left:0}.tribe-events-pro .tribe-events-pro-map__event-column:after{right:0}.tribe-events-pro .tribe-events-pro-map__event-cards-wrapper:hover .tribe-events-pro-map__event-cards-scroll-pane{opacity:var(--tec-opacity-default)}.tribe-events-pro .tribe-events-pro-map__event-cards-wrapper:after,.tribe-events-pro .tribe-events-pro-map__event-cards-wrapper:before{background-color:var(--tec-color-border-default);content:"";height:1px;left:0;position:absolute;width:100%}.tribe-events-pro .tribe-events-pro-map__event-cards-wrapper:before{top:0}.tribe-events-pro .tribe-events-pro-map__event-cards-wrapper:after{bottom:0}.tribe-events-pro .tribe-events-pro-map__event-cards:focus+.tribe-events-pro-map__event-cards-scroll-pane{opacity:var(--tec-opacity-default)}.tribe-events-pro .tribe-events-pro-map__event-cards-scroll-pane{opacity:0;transition:var(--tec-transition-opacity)}.tribe-events-pro .tribe-events-pro-map__event-cards-scroll-pane.active{opacity:var(--tec-opacity-default)}.tribe-events-pro .tribe-events-pro-map__event-card-wrapper:not(:first-child){margin-top:-1px}.tribe-events-pro .tribe-events-pro-map__event-card-button{border:1px solid var(--tec-color-border-default);text-align:left}.tribe-events-pro .tribe-events-pro-map__event-card-button:focus,.tribe-events-pro .tribe-events-pro-map__event-card-button:hover{border:1px solid var(--tec-color-border-hover)}.tribe-events-pro .tribe-events-pro-map__event-card-wrapper--active .tribe-events-pro-map__event-card-button{border:1px solid var(--tec-color-accent-primary);box-shadow:var(--tec-box-shadow-card)}.tribe-events-pro .tribe-events-pro-map__event-date-tag-month{color:var(--tec-color-text-primary);font-family:var(--tec-font-family-sans-serif);font-size:var(--tec-font-size-0);font-weight:var(--tec-font-weight-regular);line-height:var(--tec-line-height-2);color:var(--tec-color-text-secondary);text-transform:uppercase}.tribe-events-pro .tribe-events-pro-map__event-featured-image-link{transition:var(--tec-transition-opacity)}.tribe-events-pro .tribe-events-pro-map__event-featured-image-link:focus,.tribe-events-pro .tribe-events-pro-map__event-featured-image-link:hover{opacity:var(--tec-opacity-icon-hover)}.tribe-events-pro .tribe-events-pro-map__event-featured-image-link:active{opacity:var(--tec-opacity-icon-active)}.tribe-events-pro .tribe-events-pro-map__event-datetime-wrapper,.tribe-events-pro .tribe-events-pro-map__event-tooltip-datetime-wrapper{color:var(--tec-color-text-event-date)}.tribe-common--breakpoint-medium.tribe-events-pro .tribe-events-pro-map__event-datetime-featured-text{color:var(--tec-color-accent-primary);font-weight:var(--tec-font-weight-bold)}.tribe-events-pro .tribe-events-pro-map__event-title{color:var(--tec-color-text-events-title);line-height:var(--tec-line-height-0)}.tribe-events-pro .tribe-events-pro-map__event-tooltip-title-link{color:var(--tec-color-text-events-title)}.tribe-events-pro .tribe-events-pro-map__event-tooltip-title-link:active,.tribe-events-pro .tribe-events-pro-map__event-tooltip-title-link:focus,.tribe-events-pro .tribe-events-pro-map__event-tooltip-title-link:hover{border-color:currentColor;color:var(--tec-color-text-events-title)}.tribe-events-pro .tribe-events-pro-map__event-tooltip-title-link:visited{color:var(--tec-color-text-events-title)}.tribe-events-pro .tribe-events-pro-map__event-venue{font-style:normal}.tribe-common--breakpoint-medium.tribe-events-pro .tribe-events-pro-map__event-distance{color:var(--tec-color-text-secondary)}.tribe-events-pro .tribe-events-pro-map__event-tooltip-venue{font-style:normal}.tribe-events-pro .tribe-events-pro-map__event-tooltip-navigation-button:focus,.tribe-events-pro .tribe-events-pro-map__event-tooltip-navigation-button:hover{opacity:var(--tec-opacity-icon-hover)}.tribe-events-pro .tribe-events-pro-map__event-tooltip-navigation-button:active{opacity:var(--tec-opacity-icon-active)}.tribe-events-pro .tribe-events-pro-map__event-tooltip-navigation-button-icon-svg{flex:none;height:10px;width:13px}.tribe-events-pro .tribe-events-pro-map__event-tooltip-navigation-button--prev .tribe-events-pro-map__event-tooltip-navigation-button-icon-svg{margin-right:var(--tec-spacer-1);transform:rotate(180deg)}.tribe-events-pro .tribe-events-pro-map__event-tooltip-navigation-button--next .tribe-events-pro-map__event-tooltip-navigation-button-icon-svg{margin-left:var(--tec-spacer-1)}.tribe-events-pro .tribe-events-pro-map__event-tooltip-navigation-button--disabled{color:var(--tec-color-icon-secondary)}.tribe-events-pro .tribe-events-pro-map__event-tooltip-navigation-button--disabled:active,.tribe-events-pro .tribe-events-pro-map__event-tooltip-navigation-button--disabled:focus,.tribe-events-pro .tribe-events-pro-map__event-tooltip-navigation-button--disabled:hover{opacity:var(--tec-opacity-default)}.tribe-events-pro .tribe-events-pro-map__event-tooltip-navigation-button--disabled .tribe-events-pro-map__event-tooltip-navigation-button-icon-svg path{fill:var(--tec-color-icon-secondary)}.tribe-events-pro .gm-style{font-family:var(--tec-font-family-sans-serif)}.tribe-events-pro .gm-style .gm-style-iw-c{border-radius:var(--tec-border-radius-default)}.tribe-events-pro .tribe-events-pro-map__nav{border-color:var(--tec-color-border-default);border-style:solid;border-width:0 1px 1px}.tribe-common--breakpoint-medium.tribe-events-pro .tribe-events-pro-map__nav .tribe-events-c-nav__next,.tribe-common--breakpoint-medium.tribe-events-pro .tribe-events-pro-map__nav .tribe-events-c-nav__prev{font-weight:var(--tec-font-weight-regular)}.tribe-events-pro .tribe-events-pro-map__nav .tribe-events-c-nav__next-icon-svg,.tribe-events-pro .tribe-events-pro-map__nav .tribe-events-c-nav__prev-icon-svg{height:12px}.tribe-events-pro .tribe-events-pro-map__nav .tribe-events-c-nav__prev-icon-svg{margin-right:8px}.tribe-events-pro .tribe-events-pro-map__nav .tribe-events-c-nav__next-icon-svg{margin-left:8px}.tribe-events-pro .tribe-events-pro-organizer__meta-categories-term-link,.tribe-events-pro .tribe-events-pro-organizer__meta-categories-term-link:visited,.tribe-events-pro .tribe-events-pro-organizer__meta-email-link,.tribe-events-pro .tribe-events-pro-organizer__meta-website-link{color:var(--tec-color-accent-primary)}.tribe-events-pro .tribe-events-pro-venue__meta-map{border:1px solid var(--tec-color-border-default)}.tribe-common--breakpoint-medium.tribe-events-pro .tribe-events-pro-venue__meta-map{border:0}.tribe-events-pro .tribe-events-pro-venue__meta-address-directions-link,.tribe-events-pro .tribe-events-pro-venue__meta-categories-term-link,.tribe-events-pro .tribe-events-pro-venue__meta-categories-term-link:visited,.tribe-events-pro .tribe-events-pro-venue__meta-website-link{color:var(--tec-color-accent-primary)} \ No newline at end of file +.tribe-events-pro.tribe-events-view--week .datepicker .day{border-radius:0}.tribe-events-pro.tribe-events-view--week .datepicker .day:first-child{border-bottom-left-radius:var(--tec-border-radius-default);border-top-left-radius:var(--tec-border-radius-default)}.tribe-events-pro.tribe-events-view--week .datepicker .day:last-child{border-bottom-right-radius:var(--tec-border-radius-default);border-top-right-radius:var(--tec-border-radius-default)}.tribe-events-pro.tribe-events-view--week .datepicker .day.disabled,.tribe-events-pro.tribe-events-view--week .datepicker .day.disabled.focused,.tribe-events-pro.tribe-events-view--week .datepicker .day.disabled:focus,.tribe-events-pro.tribe-events-view--week .datepicker .day.disabled:hover{color:var(--tec-color-text-primary)}.tribe-events-pro.tribe-events-view--week .datepicker .day.active{background:transparent;color:var(--tec-color-text-primary)}.tribe-events-pro.tribe-events-view--week .datepicker .day.active:hover{background:transparent}.tribe-events-pro.tribe-events-view--week .datepicker .day.past,.tribe-events-pro.tribe-events-view--week .datepicker .day.past.focused,.tribe-events-pro.tribe-events-view--week .datepicker .day.past:focus,.tribe-events-pro.tribe-events-view--week .datepicker .day.past:hover{color:var(--tec-color-text-primary-light)}.tribe-events-pro.tribe-events-view--week .datepicker .day.current{color:var(--tec-color-background);position:relative}.tribe-events-pro.tribe-events-view--week .datepicker .day.current.focused,.tribe-events-pro.tribe-events-view--week .datepicker .day.current:focus,.tribe-events-pro.tribe-events-view--week .datepicker .day.current:hover{color:var(--tec-color-background)}.tribe-events-pro.tribe-events-view--week .datepicker .day.current:before{background:var(--tec-color-accent-primary);border-radius:var(--tec-border-radius-default);bottom:0;content:"";left:0;position:absolute;right:0;top:0;z-index:-1}.tribe-events-pro.tribe-events-view--week .datepicker .focused .day,.tribe-events-pro.tribe-events-view--week .datepicker .focused .day:hover,.tribe-events-pro.tribe-events-view--week .datepicker .hovered .day,.tribe-events-pro.tribe-events-view--week .datepicker .hovered .day:hover{background:var(--tec-color-background-secondary)}.tribe-events-pro.tribe-events-view--week .datepicker .focused .day.current,.tribe-events-pro.tribe-events-view--week .datepicker .hovered .day.current{background:transparent}.tribe-events-pro.tribe-events-view--week .datepicker .active .day,.tribe-events-pro.tribe-events-view--week .datepicker .active .day:hover{background:var(--tec-color-accent-primary-background)}.tribe-theme-enfold .tribe-events-pro.tribe-events-view--week .datepicker .day.active{background:transparent;color:var(--tec-color-text-primary)}.tribe-theme-enfold .tribe-events-pro.tribe-events-view--week .datepicker .day.active:hover{background:transparent}.tribe-theme-enfold .tribe-events-pro.tribe-events-view--week .datepicker .day.past{color:var(--tec-color-text-primary-light)}.tribe-theme-enfold .tribe-events-pro.tribe-events-view--week .datepicker .day.current,.tribe-theme-enfold .tribe-events-pro.tribe-events-view--week .datepicker .day.current.focused,.tribe-theme-enfold .tribe-events-pro.tribe-events-view--week .datepicker .day.current:focus,.tribe-theme-enfold .tribe-events-pro.tribe-events-view--week .datepicker .day.current:hover{color:var(--tec-color-background)}.tribe-theme-enfold .tribe-events-pro.tribe-events-view--week .datepicker .focused .day,.tribe-theme-enfold .tribe-events-pro.tribe-events-view--week .datepicker .focused .day:hover,.tribe-theme-enfold .tribe-events-pro.tribe-events-view--week .datepicker .hovered .day,.tribe-theme-enfold .tribe-events-pro.tribe-events-view--week .datepicker .hovered .day:hover{background:var(--tec-color-background-secondary)}.tribe-theme-enfold .tribe-events-pro.tribe-events-view--week .datepicker .focused .day.current,.tribe-theme-enfold .tribe-events-pro.tribe-events-view--week .datepicker .hovered .day.current{background:transparent}.tribe-theme-enfold .tribe-events-pro.tribe-events-view--week .datepicker .active .day,.tribe-theme-enfold .tribe-events-pro.tribe-events-view--week .datepicker .active .day:hover{background:var(--tec-color-accent-primary-background)}.tribe-theme-avada .tribe-events-pro.tribe-events-view--week .datepicker .day.active{background:transparent!important;color:var(--tec-color-text-primary)!important}.tribe-theme-avada .tribe-events-pro.tribe-events-view--week .datepicker .day.active:hover{background:transparent!important}.tribe-theme-avada .tribe-events-pro.tribe-events-view--week .datepicker .day.past{color:var(--tec-color-text-primary-light)!important}.tribe-theme-avada .tribe-events-pro.tribe-events-view--week .datepicker .day.current,.tribe-theme-avada .tribe-events-pro.tribe-events-view--week .datepicker .day.current.focused,.tribe-theme-avada .tribe-events-pro.tribe-events-view--week .datepicker .day.current:focus,.tribe-theme-avada .tribe-events-pro.tribe-events-view--week .datepicker .day.current:hover{color:var(--tec-color-background)!important}.tribe-theme-avada .tribe-events-pro.tribe-events-view--week .datepicker .focused .day,.tribe-theme-avada .tribe-events-pro.tribe-events-view--week .datepicker .focused .day:hover,.tribe-theme-avada .tribe-events-pro.tribe-events-view--week .datepicker .hovered .day,.tribe-theme-avada .tribe-events-pro.tribe-events-view--week .datepicker .hovered .day:hover{background:var(--tec-color-background-secondary)!important}.tribe-theme-avada .tribe-events-pro.tribe-events-view--week .datepicker .focused .day.current,.tribe-theme-avada .tribe-events-pro.tribe-events-view--week .datepicker .hovered .day.current{background:transparent!important}.tribe-theme-avada .tribe-events-pro.tribe-events-view--week .datepicker .active .day,.tribe-theme-avada .tribe-events-pro.tribe-events-view--week .datepicker .active .day:hover{background:var(--tec-color-accent-primary-background)!important}:root{--tec-color-recurring-icon-month:var(--tec-color-text-primary);--tec-color-recurring-icon-month-hover:var(--tec-color-text-primary);--tec-color-recurring-icon-month-multiday:var(--tec-color-text-primary);--tec-color-recurring-icon-month-multiday-hover:var(--tec-color-text-primary);--tec-color-recurring-icon-list:var(--tec-color-text-primary);--tec-color-recurring-icon-list-hover:var(--tec-color-text-primary);--tec-color-recurring-icon-day:var(--tec-color-text-primary);--tec-color-recurring-icon-day-hover:var(--tec-color-text-primary);--tec-color-recurring-icon-week:var(--tec-color-text-primary);--tec-color-recurring-icon-week-hover:var(--tec-color-text-primary);--tec-color-recurring-icon-week-multiday:var(--tec-color-text-primary);--tec-color-recurring-icon-week-multiday-hover:var(--tec-color-text-primary);--tec-color-recurring-icon-photo:var(--tec-color-text-primary);--tec-color-recurring-icon-photo-hover:var(--tec-color-text-primary);--tec-color-recurring-icon-map:var(--tec-color-text-primary);--tec-color-recurring-icon-map-hover:var(--tec-color-text-primary)}.tec-view__event-venue-multi-suffix-separator{color:var(--tec-color-border-default)}.tribe-events .tribe-events-calendar-list__event-datetime-recurring-link:focus .tribe-events-calendar-list__event-datetime-recurring-icon-svg path,.tribe-events .tribe-events-calendar-list__event-datetime-recurring-link:hover .tribe-events-calendar-list__event-datetime-recurring-icon-svg path{fill:currentColor;stroke:currentColor}.tribe-events .tribe-events-calendar-month__calendar-event-datetime-recurring-link{color:var(--tec-color-recurring-icon-month)}.tribe-events .tribe-events-calendar-month__calendar-event-datetime-recurring-link:focus,.tribe-events .tribe-events-calendar-month__calendar-event-datetime-recurring-link:hover{color:var(--tec-color-recurring-icon-month-hover)}.tribe-events .tribe-events-calendar-month__calendar-event-datetime-recurring-link:focus .tribe-events-calendar-month__calendar-event-datetime-recurring-icon-svg path,.tribe-events .tribe-events-calendar-month__calendar-event-datetime-recurring-link:hover .tribe-events-calendar-month__calendar-event-datetime-recurring-icon-svg path{fill:currentColor;stroke:currentColor}.tribe-events .tribe-events-calendar-month__calendar-event-multiday-datetime-recurring-link,.tribe-events .tribe-events-calendar-month__calendar-event-multiday-recurring-link{color:var(--tec-color-recurring-icon-month-multiday)}.tribe-events .tribe-events-calendar-month__calendar-event-multiday-datetime-recurring-link:focus,.tribe-events .tribe-events-calendar-month__calendar-event-multiday-datetime-recurring-link:hover,.tribe-events .tribe-events-calendar-month__calendar-event-multiday-recurring-link:focus,.tribe-events .tribe-events-calendar-month__calendar-event-multiday-recurring-link:hover{color:var(--tec-color-recurring-icon-month-multiday-hover)}.tribe-events .tribe-events-calendar-day__event-datetime-recurring-link:focus .tribe-events-calendar-day__event-datetime-recurring-icon-svg path,.tribe-events .tribe-events-calendar-day__event-datetime-recurring-link:hover .tribe-events-calendar-day__event-datetime-recurring-icon-svg path,.tribe-events .tribe-events-calendar-latest-past__event-datetime-recurring-link:focus .tribe-events-calendar-latest-past__event-datetime-recurring-icon-svg path,.tribe-events .tribe-events-calendar-latest-past__event-datetime-recurring-link:hover .tribe-events-calendar-latest-past__event-datetime-recurring-icon-svg path,.tribe-events .tribe-events-calendar-month-mobile-events__mobile-event-datetime-recurring-link:focus .tribe-events-calendar-month-mobile-events__mobile-event-datetime-recurring-icon-svg path,.tribe-events .tribe-events-calendar-month-mobile-events__mobile-event-datetime-recurring-link:hover .tribe-events-calendar-month-mobile-events__mobile-event-datetime-recurring-icon-svg path,.tribe-events .tribe-events-calendar-month__calendar-event-multiday-datetime-recurring-link:focus .tribe-events-calendar-month__calendar-event-datetime-recurring-icon-svg path,.tribe-events .tribe-events-calendar-month__calendar-event-multiday-datetime-recurring-link:hover .tribe-events-calendar-month__calendar-event-datetime-recurring-icon-svg path,.tribe-events .tribe-events-calendar-month__calendar-event-multiday-recurring-link:focus .tribe-events-calendar-month__calendar-event-datetime-recurring-icon-svg path,.tribe-events .tribe-events-calendar-month__calendar-event-multiday-recurring-link:hover .tribe-events-calendar-month__calendar-event-datetime-recurring-icon-svg path,.tribe-events .tribe-events-calendar-month__calendar-event-tooltip-datetime-recurring-link:focus .tribe-events-calendar-month__calendar-event-tooltip-datetime-recurring-icon-svg path,.tribe-events .tribe-events-calendar-month__calendar-event-tooltip-datetime-recurring-link:hover .tribe-events-calendar-month__calendar-event-tooltip-datetime-recurring-icon-svg path{fill:currentColor;stroke:currentColor}.tribe-events-pro .tribe-events-pro-photo__event-featured-image-link{transition:var(--tec-transition-opacity)}.tribe-events-pro .tribe-events-pro-photo__event-featured-image-link:focus,.tribe-events-pro .tribe-events-pro-photo__event-featured-image-link:hover{opacity:var(--tec-opacity-icon-hover)}.tribe-events-pro .tribe-events-pro-photo__event-featured-image-link:active{opacity:var(--tec-opacity-icon-active)}.tribe-events-pro .tribe-events-pro-photo__event-date-tag-month{color:var(--tec-color-text-primary);font-family:var(--tec-font-family-sans-serif);font-size:var(--tec-font-size-0);font-weight:var(--tec-font-weight-regular);line-height:var(--tec-line-height-2);color:var(--tec-color-text-secondary);text-transform:uppercase}.tribe-events-pro .tribe-events-pro-photo__event-title-link{background-color:transparent;border:0;font-family:inherit;font-size:inherit;letter-spacing:inherit;line-height:inherit;text-decoration:none;background:transparent;color:var(--tec-color-text-events-title)}.tribe-events-pro .tribe-events-pro-photo__event-title-link:active,.tribe-events-pro .tribe-events-pro-photo__event-title-link:focus,.tribe-events-pro .tribe-events-pro-photo__event-title-link:hover{background:transparent;border-color:currentColor;color:var(--tec-color-text-events-title)}.tribe-events-pro .tribe-events-pro-photo__event-title-link:visited{background:transparent;color:var(--tec-color-text-events-title)}.tribe-events-pro .tribe-events-pro-photo__event-datetime{color:var(--tec-color-text-event-date)}.tribe-events-pro .tribe-events-pro-photo__event-datetime-featured-text{color:var(--tec-color-accent-primary);font-weight:var(--tec-font-weight-bold)}.tribe-events-pro .tribe-events-pro-photo__event-datetime-recurring-link:focus .tribe-events-pro-photo__event-datetime-recurring-icon-svg path,.tribe-events-pro .tribe-events-pro-photo__event-datetime-recurring-link:hover .tribe-events-pro-photo__event-datetime-recurring-icon-svg path{fill:currentColor;stroke:currentColor}.tribe-events-pro .tribe-events-pro-summary__month-separator:after{background-color:var(--tec-color-border-default);content:"";display:block;flex:auto;height:1px}.tribe-events-pro .tribe-events-pro-summary__event-row--featured .tribe-events-pro-summary__event-date-tag-datetime:after{background-color:var(--tec-color-accent-primary);border-radius:var(--tec-border-radius-default);content:"";height:100%;position:absolute;right:calc(100% - 3px);width:3px}.tribe-common--breakpoint-medium.tribe-events-pro .tribe-events-pro-summary__event-row--featured .tribe-events-pro-summary__event-date-tag-datetime:after{right:-1px;width:4px}.tribe-events-pro .tribe-events-pro-summary__event-date-tag-weekday{color:var(--tec-color-text-primary);font-family:var(--tec-font-family-sans-serif);font-size:var(--tec-font-size-0);font-weight:var(--tec-font-weight-regular);line-height:var(--tec-line-height-2);color:var(--tec-color-text-secondary);text-transform:uppercase}.tribe-events-pro .tribe-events-pro-summary__event-datetime{color:var(--tec-color-text-event-date)}.tribe-common--breakpoint-medium.tribe-events-pro .tribe-events-pro-summary__event-datetime-featured-text{color:var(--tec-color-accent-primary);font-weight:var(--tec-font-weight-bold)}.tribe-events-pro .tribe-events-pro-summary__date-separator{background-color:var(--tec-color-border-default)}.tribe-events-pro .tribe-events-pro-summary__event-title-link{background-color:transparent;border:0;font-family:inherit;font-size:inherit;letter-spacing:inherit;line-height:inherit;text-decoration:none;background:transparent;color:var(--tec-color-text-events-title)}.tribe-events-pro .tribe-events-pro-summary__event-title-link:active,.tribe-events-pro .tribe-events-pro-summary__event-title-link:focus,.tribe-events-pro .tribe-events-pro-summary__event-title-link:hover{background:transparent;border-color:currentColor;color:var(--tec-color-text-events-title)}.tribe-events-pro .tribe-events-pro-summary__event-title-link:visited{background:transparent;color:var(--tec-color-text-events-title)}.tribe-events-pro-summary a.tribe-events-c-small-cta__text{border-bottom:1px solid var(--tec-color-icon-focus)}.tribe-events-pro-summary .tribe-events-c-small-cta__price{border-radius:10px}.tribe-events-pro .tribe-events-pro-summary-nav{border-top:1px solid var(--tec-color-border-default)}.tribe-events-pro .tribe-events-pro-week-day-selector__day{border:1px solid transparent;border-radius:var(--tec-border-radius-default);transition:var(--tec-transition-border-color)}.tribe-events-pro .tribe-events-pro-week-day-selector__day:focus .tribe-events-pro-week-day-selector__day-daynum,.tribe-events-pro .tribe-events-pro-week-day-selector__day:focus .tribe-events-pro-week-day-selector__day-weekday,.tribe-events-pro .tribe-events-pro-week-day-selector__day:hover .tribe-events-pro-week-day-selector__day-daynum,.tribe-events-pro .tribe-events-pro-week-day-selector__day:hover .tribe-events-pro-week-day-selector__day-weekday{color:var(--tec-color-accent-secondary-hover)}.tribe-events-pro .tribe-events-pro-week-day-selector__day:active .tribe-events-pro-week-day-selector__day-daynum,.tribe-events-pro .tribe-events-pro-week-day-selector__day:active .tribe-events-pro-week-day-selector__day-weekday{color:var(--tec-color-accent-secondary-active)}.tribe-events-pro .tribe-events-pro-week-day-selector__day--active{border-color:var(--tec-color-accent-primary)}.tribe-events-pro .tribe-events-pro-week-day-selector__events-icon{background-color:var(--tec-color-accent-primary)}.tribe-events-pro .tribe-events-pro-week-day-selector__day-daynum,.tribe-events-pro .tribe-events-pro-week-day-selector__day-weekday{transition:var(--tec-transition-color)}.tribe-events-pro .tribe-events-pro-week-day-selector__day-weekday{color:var(--tec-color-text-secondary);margin:9px 0 -7px;text-transform:uppercase}.tribe-events-pro .tribe-events-pro-week-day-selector__day-daynum{margin-bottom:var(--tec-spacer-0)}.tribe-events-pro .tribe-events-pro-week-day-selector__next:focus .tribe-events-pro-week-day-selector__next-icon-svg path,.tribe-events-pro .tribe-events-pro-week-day-selector__next:hover .tribe-events-pro-week-day-selector__next-icon-svg path,.tribe-events-pro .tribe-events-pro-week-day-selector__prev:focus .tribe-events-pro-week-day-selector__prev-icon-svg path,.tribe-events-pro .tribe-events-pro-week-day-selector__prev:hover .tribe-events-pro-week-day-selector__prev-icon-svg path{fill:var(--tec-color-icon-active)}.tribe-events-pro .tribe-events-pro-week-day-selector__next-icon-svg path,.tribe-events-pro .tribe-events-pro-week-day-selector__prev-icon-svg path{fill:var(--tec-color-icon-secondary)}.tribe-events-pro .tribe-events-pro-week-grid__header-column--current .tribe-events-pro-week-grid__header-column-weekday{color:var(--tec-color-text-primary)}.tribe-events-pro .tribe-events-pro-week-grid__header-column--current .tribe-events-pro-week-grid__header-column-daynum,.tribe-events-pro .tribe-events-pro-week-grid__header-column--current .tribe-events-pro-week-grid__header-column-daynum-link{color:var(--tec-color-accent-primary)}.tribe-events-pro .tribe-events-pro-week-grid__header-column--current .tribe-events-pro-week-grid__header-column-daynum-link:focus,.tribe-events-pro .tribe-events-pro-week-grid__header-column--current .tribe-events-pro-week-grid__header-column-daynum-link:hover{color:var(--tec-color-accent-primary-hover)}.tribe-events-pro .tribe-events-pro-week-grid__header-column--current .tribe-events-pro-week-grid__header-column-daynum-link:active{color:var(--tec-color-accent-primary-active)}.tribe-events-pro .tribe-events-pro-week-grid__header-column-weekday{color:var(--tec-color-text-secondary);text-transform:uppercase}.tribe-events-pro .tribe-events-pro-week-grid__multiday-events-row-wrapper{box-shadow:var(--tec-box-shadow-multiday)}.tribe-events-pro .tribe-events-pro-week-grid__events-row-wrapper:focus+.tribe-events-pro-week-grid__events-row-scroll-pane{opacity:var(--tec-opacity-default)}.tribe-events-pro .tribe-events-pro-week-grid__multiday-toggle-button:focus,.tribe-events-pro .tribe-events-pro-week-grid__multiday-toggle-button:hover{opacity:var(--tec-opacity-icon-hover)}.tribe-events-pro .tribe-events-pro-week-grid__multiday-toggle-button:active{opacity:var(--tec-opacity-icon-active)}.tribe-events-pro .tribe-events-pro-week-grid__events-scroll-wrapper:hover .tribe-events-pro-week-grid__events-row-scroll-pane{opacity:var(--tec-opacity-default)}.tribe-events-pro .tribe-events-pro-week-grid__events-time-tag{color:var(--tec-color-text-primary);font-family:var(--tec-font-family-sans-serif);font-size:var(--tec-font-size-0);font-weight:var(--tec-font-weight-regular);line-height:var(--tec-line-height-2)}.tribe-events-pro .tribe-events-pro-week-grid__events-row-scroll-pane{opacity:0;transition:var(--tec-transition-opacity)}.tribe-events-pro .tribe-events-pro-week-grid__events-row-scroll-pane.active{opacity:var(--tec-opacity-default)}.tribe-events-pro .tribe-events-pro-week-grid__multiday-event--start .tribe-events-pro-week-grid__multiday-event-bar{border-bottom-left-radius:9.5px;border-top-left-radius:9.5px}.tribe-events-pro .tribe-events-pro-week-grid__multiday-event--end .tribe-events-pro-week-grid__multiday-event-bar{border-bottom-right-radius:9.5px;border-top-right-radius:9.5px}.tribe-events-pro .tribe-events-pro-week-grid__multiday-event-bar-inner{background-color:var(--tec-color-accent-primary-multiday);transition:var(--tec-transition-background-color)}.tribe-events-pro .tribe-events-pro-week-grid__multiday-event-bar-inner:focus,.tribe-events-pro .tribe-events-pro-week-grid__multiday-event-bar-inner:hover{background-color:var(--tec-color-accent-primary-multiday-hover)}.tribe-events-pro .tribe-events-pro-week-grid__multiday-event-bar-title-link{background:transparent;color:var(--tec-color-text-events-title)}.tribe-events-pro .tribe-events-pro-week-grid__multiday-event-bar-title-link:active,.tribe-events-pro .tribe-events-pro-week-grid__multiday-event-bar-title-link:focus,.tribe-events-pro .tribe-events-pro-week-grid__multiday-event-bar-title-link:hover{background:transparent;border-color:currentColor;color:var(--tec-color-text-events-title)}.tribe-events-pro .tribe-events-pro-week-grid__multiday-event-bar-title-link:visited{background:transparent;color:var(--tec-color-text-events-title)}.tribe-events-pro .tribe-events-pro-week-grid__multiday-event--past .tribe-events-pro-week-grid__multiday-event-bar-inner{background-color:var(--tec-color-background-secondary)}.tribe-events-pro .tribe-events-pro-week-grid__multiday-event--past .tribe-events-pro-week-grid__multiday-event-bar-inner--focus,.tribe-events-pro .tribe-events-pro-week-grid__multiday-event--past .tribe-events-pro-week-grid__multiday-event-bar-inner--hover,.tribe-events-pro .tribe-events-pro-week-grid__multiday-event--past .tribe-events-pro-week-grid__multiday-event-bar-inner:focus,.tribe-events-pro .tribe-events-pro-week-grid__multiday-event--past .tribe-events-pro-week-grid__multiday-event-bar-inner:hover{background-color:var(--tec-color-background-secondary-hover)}.tribe-events-pro .tribe-events-pro-week-grid__multiday-event-bar-inner--focus,.tribe-events-pro .tribe-events-pro-week-grid__multiday-event-bar-inner--hover{background-color:var(--tec-color-accent-primary-multiday-hover)}.tribe-events-pro .tribe-events-pro-week-grid__multiday-event-title{text-overflow:ellipsis}:root{--tec-color-twentyseventeen-dark-background:#222;--color-twentyseventeen-dark-background:var(--tec-color-twentyseventeen-dark-background,#222)}.tribe-events-pro .tribe-events-pro-week-grid__event-title{color:var(--tec-color-text-events-title)}.tribe-events-pro .tribe-events-pro-week-grid__event--h-1 .tribe-events-pro-week-grid__event-title,.tribe-events-pro [class*=tribe-events-pro-week-grid__event--h-0] .tribe-events-pro-week-grid__event-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tribe-events-pro .tribe-events-pro-week-grid__event--featured .tribe-events-pro-week-grid__event-link-inner{background-color:var(--tec-color-accent-primary-week-event-featured)}.tribe-events-pro .tribe-events-pro-week-grid__event--featured .tribe-events-pro-week-grid__event-link-inner:before{background-color:var(--tec-color-accent-primary);content:"";height:100%;left:0;position:absolute;top:0;width:2px}.tribe-events-pro .tribe-events-pro-week-grid__event--featured .tribe-events-pro-week-grid__event-link:focus .tribe-events-pro-week-grid__event-link-inner,.tribe-events-pro .tribe-events-pro-week-grid__event--featured .tribe-events-pro-week-grid__event-link:hover .tribe-events-pro-week-grid__event-link-inner{background-color:var(--tec-color-accent-primary-week-event-featured-hover)}.tribe-events-pro .tribe-events-pro-week-grid__event--past .tribe-events-pro-week-grid__event-link-inner{background-color:var(--tec-color-background-secondary)}.tribe-events-pro .tribe-events-pro-week-grid__event--past .tribe-events-pro-week-grid__event-link:focus .tribe-events-pro-week-grid__event-link-inner,.tribe-events-pro .tribe-events-pro-week-grid__event--past .tribe-events-pro-week-grid__event-link:hover .tribe-events-pro-week-grid__event-link-inner{background-color:var(--tec-color-background-secondary-hover)}.tribe-events-pro .tribe-events-pro-week-grid__event-link{border:var(--tec-border-width-week-event) solid var(--tec-color-background);border-radius:calc(var(--tec-border-radius-default) + var(--tec-border-width-week-event))}.tribe-events-pro .tribe-events-pro-week-grid__event-link:focus .tribe-events-pro-week-grid__event-link-inner,.tribe-events-pro .tribe-events-pro-week-grid__event-link:hover .tribe-events-pro-week-grid__event-link-inner{background-color:var(--tec-color-accent-primary-week-event-hover)}.tribe-events-pro .tribe-events-pro-week-grid__event-link-inner{background-color:var(--tec-color-accent-primary-week-event);transition:var(--tec-transition-background-color)}.tribe-events-pro .tribe-events-pro-week-grid__event-datetime{color:var(--tec-color-text-primary);font-family:var(--tec-font-family-sans-serif);font-size:var(--tec-font-size-0);font-weight:var(--tec-font-weight-regular);line-height:var(--tec-line-height-2);color:var(--tec-color-text-event-date);white-space:nowrap}.tribe-events-pro .tribe-events-pro-week-grid__event-tooltip-featured-image-link{transition:var(--tec-transition-opacity)}.tribe-events-pro .tribe-events-pro-week-grid__event-tooltip-featured-image-link:focus,.tribe-events-pro .tribe-events-pro-week-grid__event-tooltip-featured-image-link:hover{opacity:var(--tec-opacity-icon-hover)}.tribe-events-pro .tribe-events-pro-week-grid__event-tooltip-featured-image-link:active{opacity:var(--tec-opacity-icon-active)}.tribe-events-pro .tribe-events-pro-week-grid__event-tooltip-title-link{background:transparent;color:var(--tec-color-text-events-title)}.tribe-events-pro .tribe-events-pro-week-grid__event-tooltip-title-link:active,.tribe-events-pro .tribe-events-pro-week-grid__event-tooltip-title-link:focus,.tribe-events-pro .tribe-events-pro-week-grid__event-tooltip-title-link:hover{background:transparent;border-color:currentColor;color:var(--tec-color-text-events-title)}.tribe-events-pro .tribe-events-pro-week-grid__event-tooltip-title-link:visited{background:transparent;color:var(--tec-color-text-events-title)}.tribe-events-pro .tribe-events-pro-week-grid__event-tooltip-datetime{color:var(--tec-color-text-primary);font-family:var(--tec-font-family-sans-serif);font-size:var(--tec-font-size-0);font-weight:var(--tec-font-weight-regular);line-height:var(--tec-line-height-2);color:var(--tec-color-text-event-date)}.tribe-events-pro .tribe-events-pro-week-grid__event-tooltip-datetime-recurring-link:focus .tribe-events-pro-week-grid__event-tooltip-datetime-recurring-icon-svg path,.tribe-events-pro .tribe-events-pro-week-grid__event-tooltip-datetime-recurring-link:hover .tribe-events-pro-week-grid__event-tooltip-datetime-recurring-icon-svg path{fill:currentColor;stroke:currentColor}.tribe-theme-twentyseventeen.colors-dark .tribe-events-pro .tribe-events-pro-week-grid__event-link{border-color:var(--tec-color-twentyseventeen-dark-background)}.tribe-theme-twentytwentyone .tribe-events-pro .tribe-events-pro-week-grid__event-link{border-color:var(--tec-global--color-background)}.tribe-events-week.ast-separate-container .ast-article-post{background-color:transparent;padding:0}.tribe-events-pro .tribe-events-pro-week-mobile-events__event-title-link{background-color:transparent;border:0;font-family:inherit;font-size:inherit;letter-spacing:inherit;line-height:inherit;text-decoration:none;background:transparent;color:var(--tec-color-text-events-title)}.tribe-events-pro .tribe-events-pro-week-mobile-events__event-title-link:active,.tribe-events-pro .tribe-events-pro-week-mobile-events__event-title-link:focus,.tribe-events-pro .tribe-events-pro-week-mobile-events__event-title-link:hover{background:transparent;border-color:currentColor;color:var(--tec-color-text-events-title)}.tribe-events-pro .tribe-events-pro-week-mobile-events__event-title-link:visited{background:transparent;color:var(--tec-color-text-events-title)}.tribe-events-pro .tribe-events-pro-week-mobile-events__event--featured:before{background-color:var(--tec-color-accent-primary);content:"";height:100%;left:var(--tec-grid-gutter-small-half);position:absolute;width:3px}.tribe-events-pro .tribe-events-pro-week-mobile-events__event-featured-image-link{transition:var(--tec-transition-opacity)}.tribe-events-pro .tribe-events-pro-week-mobile-events__event-featured-image-link:focus,.tribe-events-pro .tribe-events-pro-week-mobile-events__event-featured-image-link:hover{opacity:var(--tec-opacity-icon-hover)}.tribe-events-pro .tribe-events-pro-week-mobile-events__event-featured-image-link:active{opacity:var(--tec-opacity-icon-active)}.tribe-events-pro .tribe-events-pro-week-mobile-events__event-datetime-recurring-link{color:var(--tec-color-text-event-date)}.tribe-events-pro .tribe-events-pro-week-mobile-events__event-datetime-recurring-link:focus .tribe-events-pro-week-grid__event-tooltip-datetime-recurring-icon-svg path,.tribe-events-pro .tribe-events-pro-week-mobile-events__event-datetime-recurring-link:focus .tribe-events-pro-week-mobile-events__event-datetime-recurring-icon-svg path,.tribe-events-pro .tribe-events-pro-week-mobile-events__event-datetime-recurring-link:hover .tribe-events-pro-week-grid__event-tooltip-datetime-recurring-icon-svg path,.tribe-events-pro .tribe-events-pro-week-mobile-events__event-datetime-recurring-link:hover .tribe-events-pro-week-mobile-events__event-datetime-recurring-icon-svg path{fill:currentColor;stroke:currentColor}.tribe-events-pro .tribe-events-pro-week-mobile-events__event-time-separator:after,.tribe-events-pro .tribe-events-pro-week-mobile-events__event-type-separator:after{background-color:var(--tec-color-border-default);content:"";display:block;flex:auto;height:1px;margin-left:20px}.tribe-events-pro .tribe-events-pro-map__map{border-color:var(--tec-color-border-default);border-style:solid;border-width:1px 1px 0}.tribe-common--breakpoint-medium.tribe-events-pro .tribe-events-pro-map__map{border-width:1px 0 1px 1px}.tribe-events-pro .tribe-events-pro-map__no-venue-modal--premium{box-shadow:var(--tec-box-shadow-default)}.tribe-events-pro .tribe-events-pro-map__no-venue-modal-close:focus .tribe-events-pro-map__no-venue-modal-close-icon-svg path,.tribe-events-pro .tribe-events-pro-map__no-venue-modal-close:hover .tribe-events-pro-map__no-venue-modal-close-icon-svg path{stroke:var(--tec-color-icon-primary)}.tribe-events-pro .tribe-events-pro-map__event-column:after,.tribe-events-pro .tribe-events-pro-map__event-column:before{background-color:var(--tec-color-border-default);content:"";height:100%;position:absolute;top:0;width:1px}.tribe-events-pro .tribe-events-pro-map__event-column:before{left:0}.tribe-events-pro .tribe-events-pro-map__event-column:after{right:0}.tribe-events-pro .tribe-events-pro-map__event-cards-wrapper:hover .tribe-events-pro-map__event-cards-scroll-pane{opacity:var(--tec-opacity-default)}.tribe-events-pro .tribe-events-pro-map__event-cards-wrapper:after,.tribe-events-pro .tribe-events-pro-map__event-cards-wrapper:before{background-color:var(--tec-color-border-default);content:"";height:1px;left:0;position:absolute;width:100%}.tribe-events-pro .tribe-events-pro-map__event-cards-wrapper:before{top:0}.tribe-events-pro .tribe-events-pro-map__event-cards-wrapper:after{bottom:0}.tribe-events-pro .tribe-events-pro-map__event-cards:focus+.tribe-events-pro-map__event-cards-scroll-pane{opacity:var(--tec-opacity-default)}.tribe-events-pro .tribe-events-pro-map__event-cards-scroll-pane{opacity:0;transition:var(--tec-transition-opacity)}.tribe-events-pro .tribe-events-pro-map__event-cards-scroll-pane.active{opacity:var(--tec-opacity-default)}.tribe-events-pro .tribe-events-pro-map__event-card-wrapper:not(:first-child){margin-top:-1px}.tribe-events-pro .tribe-events-pro-map__event-card-button{border:1px solid var(--tec-color-border-default);text-align:left}.tribe-events-pro .tribe-events-pro-map__event-card-button:focus,.tribe-events-pro .tribe-events-pro-map__event-card-button:hover{border:1px solid var(--tec-color-border-hover)}.tribe-events-pro .tribe-events-pro-map__event-card-wrapper--active .tribe-events-pro-map__event-card-button{border:1px solid var(--tec-color-accent-primary);box-shadow:var(--tec-box-shadow-card)}.tribe-events-pro .tribe-events-pro-map__event-date-tag-month{color:var(--tec-color-text-primary);font-family:var(--tec-font-family-sans-serif);font-size:var(--tec-font-size-0);font-weight:var(--tec-font-weight-regular);line-height:var(--tec-line-height-2);color:var(--tec-color-text-secondary);text-transform:uppercase}.tribe-events-pro .tribe-events-pro-map__event-featured-image-link{transition:var(--tec-transition-opacity)}.tribe-events-pro .tribe-events-pro-map__event-featured-image-link:focus,.tribe-events-pro .tribe-events-pro-map__event-featured-image-link:hover{opacity:var(--tec-opacity-icon-hover)}.tribe-events-pro .tribe-events-pro-map__event-featured-image-link:active{opacity:var(--tec-opacity-icon-active)}.tribe-events-pro .tribe-events-pro-map__event-datetime-wrapper,.tribe-events-pro .tribe-events-pro-map__event-tooltip-datetime-wrapper{color:var(--tec-color-text-event-date)}.tribe-common--breakpoint-medium.tribe-events-pro .tribe-events-pro-map__event-datetime-featured-text{color:var(--tec-color-accent-primary);font-weight:var(--tec-font-weight-bold)}.tribe-events-pro .tribe-events-pro-map__event-title{color:var(--tec-color-text-events-title);line-height:var(--tec-line-height-0)}.tribe-events-pro .tribe-events-pro-map__event-tooltip-title-link{background:transparent;color:var(--tec-color-text-events-title)}.tribe-events-pro .tribe-events-pro-map__event-tooltip-title-link:active,.tribe-events-pro .tribe-events-pro-map__event-tooltip-title-link:focus,.tribe-events-pro .tribe-events-pro-map__event-tooltip-title-link:hover{background:transparent;border-color:currentColor;color:var(--tec-color-text-events-title)}.tribe-events-pro .tribe-events-pro-map__event-tooltip-title-link:visited{background:transparent;color:var(--tec-color-text-events-title)}.tribe-events-pro .tribe-events-pro-map__event-venue{font-style:normal}.tribe-common--breakpoint-medium.tribe-events-pro .tribe-events-pro-map__event-distance{color:var(--tec-color-text-secondary)}.tribe-events-pro .tribe-events-pro-map__event-tooltip-venue{font-style:normal}.tribe-events-pro .tribe-events-pro-map__event-tooltip-navigation-button:focus,.tribe-events-pro .tribe-events-pro-map__event-tooltip-navigation-button:hover{opacity:var(--tec-opacity-icon-hover)}.tribe-events-pro .tribe-events-pro-map__event-tooltip-navigation-button:active{opacity:var(--tec-opacity-icon-active)}.tribe-events-pro .tribe-events-pro-map__event-tooltip-navigation-button-icon-svg{flex:none;height:10px;width:13px}.tribe-events-pro .tribe-events-pro-map__event-tooltip-navigation-button--prev .tribe-events-pro-map__event-tooltip-navigation-button-icon-svg{margin-right:var(--tec-spacer-1);transform:rotate(180deg)}.tribe-events-pro .tribe-events-pro-map__event-tooltip-navigation-button--next .tribe-events-pro-map__event-tooltip-navigation-button-icon-svg{margin-left:var(--tec-spacer-1)}.tribe-events-pro .tribe-events-pro-map__event-tooltip-navigation-button--disabled{color:var(--tec-color-icon-secondary)}.tribe-events-pro .tribe-events-pro-map__event-tooltip-navigation-button--disabled:active,.tribe-events-pro .tribe-events-pro-map__event-tooltip-navigation-button--disabled:focus,.tribe-events-pro .tribe-events-pro-map__event-tooltip-navigation-button--disabled:hover{opacity:var(--tec-opacity-default)}.tribe-events-pro .tribe-events-pro-map__event-tooltip-navigation-button--disabled .tribe-events-pro-map__event-tooltip-navigation-button-icon-svg path{fill:var(--tec-color-icon-secondary)}.tribe-events-pro .gm-style{font-family:var(--tec-font-family-sans-serif)}.tribe-events-pro .gm-style .gm-style-iw-c{border-radius:var(--tec-border-radius-default)}.tribe-events-pro .tribe-events-pro-map__nav{border-color:var(--tec-color-border-default);border-style:solid;border-width:0 1px 1px}.tribe-common--breakpoint-medium.tribe-events-pro .tribe-events-pro-map__nav .tribe-events-c-nav__next,.tribe-common--breakpoint-medium.tribe-events-pro .tribe-events-pro-map__nav .tribe-events-c-nav__prev{font-weight:var(--tec-font-weight-regular)}.tribe-events-pro .tribe-events-pro-map__nav .tribe-events-c-nav__next-icon-svg,.tribe-events-pro .tribe-events-pro-map__nav .tribe-events-c-nav__prev-icon-svg{height:12px}.tribe-events-pro .tribe-events-pro-map__nav .tribe-events-c-nav__prev-icon-svg{margin-right:8px}.tribe-events-pro .tribe-events-pro-map__nav .tribe-events-c-nav__next-icon-svg{margin-left:8px}.tribe-events-pro .tribe-events-pro-organizer__meta-categories-term-link,.tribe-events-pro .tribe-events-pro-organizer__meta-categories-term-link:visited,.tribe-events-pro .tribe-events-pro-organizer__meta-email-link,.tribe-events-pro .tribe-events-pro-organizer__meta-website-link{color:var(--tec-color-accent-primary)}.tribe-events-pro .tribe-events-pro-venue__meta-map{border:1px solid var(--tec-color-border-default)}.tribe-common--breakpoint-medium.tribe-events-pro .tribe-events-pro-venue__meta-map{border:0}.tribe-events-pro .tribe-events-pro-venue__meta-address-directions-link,.tribe-events-pro .tribe-events-pro-venue__meta-categories-term-link,.tribe-events-pro .tribe-events-pro-venue__meta-categories-term-link:visited,.tribe-events-pro .tribe-events-pro-venue__meta-website-link{color:var(--tec-color-accent-primary)} \ No newline at end of file diff --git a/wp-content/plugins/events-calendar-pro/src/resources/css/views-skeleton.min.css b/wp-content/plugins/events-calendar-pro/src/resources/css/views-skeleton.min.css index e12bc222e..d0c7cf05c 100644 --- a/wp-content/plugins/events-calendar-pro/src/resources/css/views-skeleton.min.css +++ b/wp-content/plugins/events-calendar-pro/src/resources/css/views-skeleton.min.css @@ -1 +1 @@ -.tribe-events-pro.tribe-events-view--week .datepicker tbody tr.active{position:relative}.tribe-events-pro.tribe-events-view--week .datepicker .day.disabled{cursor:pointer}.tribe-events .tribe-events-calendar-list__event-datetime-recurring-link{display:inline-block;margin-left:var(--tec-spacer-0);vertical-align:middle}.tribe-events .tribe-events-calendar-month__calendar-event-datetime-recurring-link,.tribe-events .tribe-events-calendar-month__calendar-event-multiday-recurring-link,.tribe-events .tribe-events-calendar-month__calendar-event-tooltip-datetime-recurring-link{display:inline-block;line-height:0;margin-left:2px}.tribe-events .tribe-events-calendar-month-mobile-events__mobile-event-datetime-recurring-link{display:inline-block;line-height:0;margin-left:var(--tec-spacer-0)}.tribe-events .tribe-events-calendar-day__event-datetime-recurring-link,.tribe-events .tribe-events-calendar-latest-past__event-datetime-recurring-link{display:inline-block;margin-left:var(--tec-spacer-0);vertical-align:middle}.tribe-events-pro .tribe-events-pro-photo__event{margin-bottom:var(--tec-spacer-5)}.tribe-common--breakpoint-xsmall.tribe-events-pro .tribe-events-pro-photo__event{width:var(--tec-grid-width-1-of-2)}.tribe-common--breakpoint-medium.tribe-events-pro .tribe-events-pro-photo__event{margin-bottom:var(--tec-spacer-9);width:var(--tec-grid-width-1-of-3)}.tribe-events-pro .tribe-events-pro-photo__event-featured-image-wrapper{flex:none;margin-bottom:var(--tec-spacer-2)}.tribe-events-pro .tribe-events-pro-photo__event-featured-image,.tribe-events-pro .tribe-events-pro-photo__event-featured-image-link{display:block}.tribe-events-pro .tribe-events-pro-photo__event-details-wrapper{display:flex}.tribe-events-pro .tribe-events-pro-photo__event-date-tag{flex:none;margin-right:var(--tec-spacer-2);width:40px}.tribe-events-pro .tribe-events-pro-photo__event-date-tag-datetime{display:flex;flex-direction:column;text-align:center}.tribe-events-pro .tribe-events-pro-photo__event-date-tag-month{margin-bottom:calc(var(--tec-spacer-0)*-1)}.tribe-events-pro .tribe-events-pro-photo__event-details{flex:auto;margin-top:-3px}.tribe-events-pro .tribe-events-pro-photo__event-details>:last-child{margin-bottom:0}.tribe-events-pro .tribe-events-pro-photo__event-title{margin:0 0 var(--tec-spacer-1)}.tribe-events-pro .tribe-events-pro-photo__event-title-link{color:var(--tec-color-text-events-title)}.tribe-events-pro .tribe-events-pro-photo__event-title-link:active,.tribe-events-pro .tribe-events-pro-photo__event-title-link:focus,.tribe-events-pro .tribe-events-pro-photo__event-title-link:hover{border-color:currentColor;color:var(--tec-color-text-events-title)}.tribe-events-pro .tribe-events-pro-photo__event-title-link:visited{color:var(--tec-color-text-events-title)}.tribe-events-pro .tribe-events-pro-photo__event-datetime-featured-icon{display:inline-block;margin-right:var(--tec-spacer-0)}.tribe-events-pro .tribe-events-pro-photo__event-datetime-featured-text{margin-right:var(--tec-spacer-1)}.tribe-events-pro .tribe-events-pro-photo__event-datetime-recurring-icon{display:inline-block;margin-left:var(--tec-spacer-0)}.tribe-events-pro .tribe-events-pro-photo__event-cost{margin-top:var(--tec-spacer-1)}.tribe-common--breakpoint-medium.tribe-events-pro .tribe-events-pro-photo__event-cost{margin-top:var(--tec-spacer-2)}.tribe-theme-twentynineteen .tribe-events-pro .entry.tribe-common-g-col.tribe-events-pro-photo__event{margin-bottom:var(--tec-spacer-5)}.tribe-theme-twentynineteen .tribe-events-pro.tribe-common--breakpoint-medium .entry.tribe-common-g-col.tribe-events-pro-photo__event{margin-bottom:var(--tec-spacer-9)}.tribe-events-pro .tribe-events-pro-summary__month-separator{align-items:center;display:flex}.tribe-events-pro .tribe-events-pro-summary__month-separator:after{margin-left:0}.tribe-events-pro .tribe-events-pro-summary__month-separator-text{flex:none;text-align:center;white-space:nowrap}.tribe-events--filter-bar-vertical.tribe-common--breakpoint-medium .tribe-events-l-container>.tribe-events-pro-summary{width:calc(100% - 266px)}.tribe-events-pro .tribe-events-pro-summary__event-row{flex-wrap:nowrap;margin:var(--tec-spacer-3) 0}.tribe-common--breakpoint-medium.tribe-events-pro .tribe-events-pro-summary__event-row{align-items:center}.tribe-common--breakpoint-medium.tribe-events-pro .tribe-events-pro-summary__event-row>.tribe-common-g-col{padding-left:var(--tec-grid-gutter-half);padding-right:var(--tec-grid-gutter-half)}.tribe-events-pro .tribe-events-pro-summary__event-row:last-child{margin-bottom:var(--tec-spacer-8)}.tribe-common--breakpoint-medium.tribe-events-pro .tribe-events-pro-summary__event-row:last-child{margin-bottom:var(--tec-spacer-11)}.tribe-events-pro .tribe-events-pro-summary__month-separator+.tribe-events-pro-summary__date-separator{display:none}.tribe-events-pro .tribe-events-pro-summary__month-separator+.tribe-events-pro-summary__event-row{margin-top:var(--tec-spacer-4)}.tribe-common--breakpoint-medium.tribe-events-pro .tribe-events-pro-summary__month-separator+.tribe-events-pro-summary__event-row{margin-top:var(--tec-spacer-8)}.tribe-events-pro .tribe-events-pro-summary__date-separator{display:block;flex:auto;height:1px;margin:0}.tribe-common--breakpoint-medium.tribe-events-pro .tribe-events-pro-summary__date-separator{margin-left:112px}.tribe-events-pro .tribe-events-pro-summary__event-date-tag{flex:none;position:relative;width:74px}.tribe-common--breakpoint-medium.tribe-events-pro .tribe-events-pro-summary__event-date-tag{align-self:flex-start;margin-top:3px;min-width:90px}.tribe-events-pro .tribe-events-pro-summary__event-date-tag-datetime{display:flex;flex-direction:column;height:100%;padding-top:var(--tec-spacer-0);text-align:center}.tribe-events-pro .tribe-events-pro-summary__event-date-tag-weekday{margin-bottom:calc(var(--tec-spacer-0)*-1)}.tribe-events-pro .tribe-events-pro-summary__event-wrapper{flex:1;width:calc(var(--tec-grid-width-1-of-4)*3 + var(--tec-grid-gutter-small-half))}.tribe-common--breakpoint-medium.tribe-events-pro .tribe-events-pro-summary__event-wrapper{flex:1 1 calc(var(--tec-grid-width-1-of-9)*8)}.tribe-events-pro .tribe-events-pro-summary__event{flex-direction:column;margin-bottom:var(--tec-spacer-2)}.tribe-events-pro .tribe-events-pro-summary__event:last-child{margin-bottom:var(--tec-spacer-1)}.tribe-common--breakpoint-medium.tribe-events-pro .tribe-events-pro-summary__event:last-child{margin-bottom:0}.tribe-events-pro .tribe-events-pro-summary__event:only-child{margin-bottom:0;margin-top:0}.tribe-common--breakpoint-medium.tribe-events-pro .tribe-events-pro-summary__event{flex-direction:row-reverse;justify-content:flex-end;margin-bottom:var(--tec-spacer-1)}.tribe-events-pro .tribe-events-pro-summary__event-details{flex:none}.tribe-common--breakpoint-medium.tribe-events-pro .tribe-events-pro-summary__event-details{width:calc(var(--tec-grid-width-1-of-8)*5)}.tribe-common--breakpoint-medium.tribe-events-pro .tribe-events-pro-summary__event-header{align-items:center;display:flex;flex-direction:row;flex-wrap:nowrap}.tribe-events-pro .tribe-events-pro-summary__event-header>:last-child{margin-bottom:0}.tribe-events-pro .tribe-events-pro-summary__event-datetime-wrapper{align-self:baseline}.tribe-common--breakpoint-medium.tribe-events-pro .tribe-events-pro-summary__event-datetime-wrapper{display:block;flex-grow:0;flex-shrink:0;line-height:1.89;margin-bottom:0;width:174px}.tribe-events-pro .tribe-events-pro-summary__event-datetime-wrapper,.tribe-events-pro .tribe-events-pro-summary__event-title{margin:0 0 var(--tec-spacer-1)}.tribe-events-pro .tribe-events-pro-summary__event-datetime-wrapper:last-child,.tribe-events-pro .tribe-events-pro-summary__event-title:last-child{margin-bottom:0}.tribe-common--breakpoint-medium.tribe-events-pro .tribe-events-pro-summary__event-datetime-wrapper,.tribe-common--breakpoint-medium.tribe-events-pro .tribe-events-pro-summary__event-title{display:block;flex-grow:0}.tribe-events-pro .tribe-events-pro-summary__event-title-link{margin-left:var(--tec-spacer-0)}.tribe-events-pro .tribe-events-pro-summary__event-title-link:first-child{margin-left:0}.tribe-events-pro .tribe-events-pro-summary__event-title-icon{margin-left:0;margin-right:0}.tribe-events-pro .tribe-events-pro-summary__event-title-icon svg{display:inline-block}.tribe-events-pro .tribe-events-pro-summary__event-datetime-featured-icon{display:inline-block;margin-right:var(--tec-spacer-0)}.tribe-events-pro .tribe-events-pro-summary__event-cost{display:inline-block;flex-grow:0;line-height:var(--tec-line-height-3);margin-left:var(--tec-spacer-2)}.tribe-events-pro .tribe-events-pro-summary__event-datetime-recurring-link{vertical-align:text-top}.tribe-events-pro .tribe-events-pro-summary__event-datetime-recurring-icon-svg{display:inline-block;position:relative;top:-2px}.tribe-events-pro-summary .tribe-events-c-small-cta>*{margin-left:2px}.tribe-events-pro-summary .tribe-events-c-small-cta__text{margin-left:0}.tribe-events-pro-summary .tribe-events-c-small-cta__price{display:inline-block;margin-bottom:0;margin-top:0}.tribe-events-pro .tribe-events-pro-summary-nav{padding-top:var(--tec-spacer-5)}.tribe-common--breakpoint-medium.tribe-events-pro .tribe-events-pro-summary-nav{padding-top:var(--tec-spacer-7)}.tribe-events-pro .tribe-events-pro-week-day-selector{padding-bottom:var(--tec-spacer-3);position:relative}.tribe-common--breakpoint-medium.tribe-events-pro .tribe-events-pro-week-day-selector{display:none!important;visibility:hidden}.tribe-events-pro .tribe-events-pro-week-day-selector__days-list{display:flex;margin:0 var(--tec-spacer-3)}.tribe-events-pro .tribe-events-pro-week-day-selector__days-list-item{flex:none;width:var(--tec-grid-width-1-of-7)}.tribe-events-pro .tribe-events-pro-week-day-selector--hide-weekends .tribe-events-pro-week-day-selector__days-list-item{width:var(--tec-grid-width-1-of-5)}.tribe-events-pro .tribe-events-pro-week-day-selector__day{display:block;position:relative;width:100%}.tribe-events-pro .tribe-events-pro-week-day-selector__events-icon{background-color:currentColor;border-radius:50%;display:block;height:5px;left:50%;position:absolute;top:var(--tec-spacer-0);transform:translateX(-50%);width:5px}.tribe-events-pro .tribe-events-pro-week-day-selector__day-daynum,.tribe-events-pro .tribe-events-pro-week-day-selector__day-weekday{display:block}.tribe-events-pro .tribe-events-pro-week-day-selector__nav{position:absolute;top:calc(50% - var(--tec-spacer-1));width:100%}.tribe-events-pro .tribe-events-pro-week-day-selector__next,.tribe-events-pro .tribe-events-pro-week-day-selector__prev{display:block;height:38px;position:absolute;transform:translateY(-50%);width:24px}.tribe-events-pro .tribe-events-pro-week-day-selector__prev{left:calc(var(--tec-spacer-1)*-1)}.tribe-events-pro .tribe-events-pro-week-day-selector__next{right:calc(var(--tec-spacer-1)*-1)}.tribe-events-pro .tribe-events-pro-week-day-selector__next-icon-svg,.tribe-events-pro .tribe-events-pro-week-day-selector__prev-icon-svg{height:15px;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:12px}.tribe-events-pro .tribe-events-pro-week-day-selector__next-icon-svg path,.tribe-events-pro .tribe-events-pro-week-day-selector__prev-icon-svg path{fill:currentColor}.entry-content .tribe-events-pro .tribe-events-pro-week-day-selector__days-list,.tribe-theme-genesis .tribe-events-pro .tribe-events-pro-week-day-selector__days-list{display:flex;margin:0 var(--tec-spacer-3)}.tribe-common--breakpoint-medium.tribe-events-pro .tribe-events-pro-week-grid{display:block!important;visibility:visible}.tribe-events-pro .tribe-events-pro-week-grid__header-row{border-right:1px solid var(--tec-color-border-secondary);display:flex;padding-top:var(--tec-spacer-7)}.tribe-events-pro .tribe-events-pro-week-grid__header-column{border-color:var(--tec-color-border-secondary);border-style:solid;border-width:0 0 1px 1px;flex:none;width:calc(var(--tec-grid-width-1-of-7) - var(--tec-spacer-11)/7)}.tribe-events-pro .tribe-events-pro-week-grid__header-column--empty{border:0;flex:none;margin-left:var(--tec-spacer-3);width:var(--tec-spacer-9)}.tribe-events-pro .tribe-events-pro-week-grid--hide-weekends .tribe-events-pro-week-grid__header-column{width:calc(var(--tec-grid-width-1-of-5) - var(--tec-spacer-11)/5)}.tribe-events-pro .tribe-events-pro-week-grid--hide-weekends .tribe-events-pro-week-grid__header-column--empty{width:var(--tec-spacer-9)}.tribe-events-pro .tribe-events-pro-week-grid__header-column-title{margin:0}.tribe-events-pro .tribe-events-pro-week-grid__header-column--border-bottom{border-bottom:1px solid var(--tec-color-border-secondary)}.tribe-events-pro .tribe-events-pro-week-grid__header-column-datetime{align-items:center;display:flex;flex-direction:column;margin-top:calc(var(--tec-spacer-7)*-1);padding-bottom:var(--tec-spacer-3)}.tribe-events-pro .tribe-events-pro-week-grid__body{overflow:hidden}.tribe-events-pro .tribe-events-pro-week-grid__multiday-events-row-outer-wrapper{border-bottom:1px solid var(--tec-color-background-secondary);border-right:1px solid var(--tec-color-border-secondary);margin-left:var(--tec-spacer-3)}.tribe-events-pro .tribe-events-pro-week-grid__events-row-outer-wrapper{border-bottom:1px solid var(--tec-color-border-secondary)}.tribe-events-pro .tribe-events-pro-week-grid__multiday-events-row-wrapper{margin:0 calc(var(--tec-spacer-3)*-1)}.tribe-events-pro .tribe-events-pro-week-grid__events-row-wrapper{height:638px;overflow-y:hidden}.tribe-events-pro .tribe-events-pro-week-grid__events-row-wrapper--active{overflow-y:scroll}.tribe-events-pro .tribe-events-pro-week-grid__multiday-events-row{margin-right:var(--tec-spacer-3)}.tribe-events-pro .tribe-events-pro-week-grid__events-row,.tribe-events-pro .tribe-events-pro-week-grid__multiday-events-row{display:flex}.tribe-events-pro .tribe-events-pro-week-grid__events-row-header,.tribe-events-pro .tribe-events-pro-week-grid__multiday-events-row-header{flex:none;position:relative;width:var(--tec-spacer-11)}.tribe-events-pro .tribe-events-pro-week-grid__multiday-toggle-button{bottom:var(--tec-spacer-1);line-height:0;margin-right:var(--tec-spacer-3);padding:var(--tec-spacer-0);position:absolute;right:0}.tribe-events-pro .tribe-events-pro-week-grid__multiday-toggle-button--open .tribe-events-pro-week-grid__multiday-toggle-button-icon-svg{transform:rotate(180deg)}.tribe-events-pro .tribe-events-pro-week-grid__multiday-toggle-button-icon-svg{display:inline-block;height:9px;width:12px}.tribe-events-pro .tribe-events-pro-week-grid__events-row-header{padding-bottom:var(--tec-spacer-9)}.tribe-events-pro .tribe-events-pro-week-grid__events-day,.tribe-events-pro .tribe-events-pro-week-grid__multiday-events-day{border-left:1px solid var(--tec-color-border-secondary);flex:none;width:calc(var(--tec-grid-width-1-of-7) - var(--tec-spacer-11)/7)}.tribe-events-pro .tribe-events-pro-week-grid--hide-weekends .tribe-events-pro-week-grid__events-day,.tribe-events-pro .tribe-events-pro-week-grid--hide-weekends .tribe-events-pro-week-grid__multiday-events-day{width:calc(var(--tec-grid-width-1-of-5) - var(--tec-spacer-11)/5)}.tribe-events-pro .tribe-events-pro-week-grid__multiday-events-day,.tribe-events-pro .tribe-events-pro-week-grid__multiday-events-row-header{padding-top:var(--tec-spacer-0)}.tribe-events-pro .tribe-events-pro-week-grid__events-day{position:relative}.tribe-events-pro .tribe-events-pro-week-grid__events-scroll-wrapper{border-right:1px solid var(--tec-color-border-secondary);overflow:hidden;position:relative}.tribe-events-pro .tribe-events-pro-week-grid__events-time-tag{align-items:center;display:flex;height:var(--tec-spacer-9);justify-content:flex-end;position:relative;transform:translateY(var(--tec-spacer-5))}.tribe-events-pro .tribe-events-pro-week-grid__events-time-tag:after{background-color:var(--tec-color-border-secondary);content:"";display:block;height:1px;margin:1px 0 0 var(--tec-spacer-1);width:12px}.tribe-events-pro .tribe-events-pro-week-grid__events-time-tag--first,.tribe-events-pro .tribe-events-pro-week-grid__events-time-tag--last{height:1px;position:absolute}.tribe-events-pro .tribe-events-pro-week-grid__events-row-scroll-pane{background-color:var(--tec-color-scroll-track);border-radius:3px;bottom:0;position:absolute;right:0;top:0;width:6px;z-index:var(--tec-z-index-scroller)}.tribe-events-pro .tribe-events-pro-week-grid__events-row-scroll-slider{background:var(--tec-color-scroll-bar);border-radius:3px;position:relative}.tribe-events-pro .tribe-events-pro-week-grid__multiday-event-wrapper{height:18px;margin-bottom:var(--tec-spacer-0);position:relative}.tribe-events-pro .tribe-events-pro-week-grid__multiday-event-bar{background-color:var(--tec-color-background);overflow:hidden;position:relative;width:100%;z-index:var(--tec-z-index-multiday-event-bar)}.tribe-events-pro .tribe-events-pro-week-grid__multiday-event--width-2 .tribe-events-pro-week-grid__multiday-event-bar{width:calc(200% + 1px)}.tribe-events-pro .tribe-events-pro-week-grid__multiday-event--width-3 .tribe-events-pro-week-grid__multiday-event-bar{width:calc(300% + 2px)}.tribe-events-pro .tribe-events-pro-week-grid__multiday-event--width-4 .tribe-events-pro-week-grid__multiday-event-bar{width:calc(400% + 3px)}.tribe-events-pro .tribe-events-pro-week-grid__multiday-event--width-5 .tribe-events-pro-week-grid__multiday-event-bar{width:calc(500% + 4px)}.tribe-events-pro .tribe-events-pro-week-grid__multiday-event--width-6 .tribe-events-pro-week-grid__multiday-event-bar{width:calc(600% + 5px)}.tribe-events-pro .tribe-events-pro-week-grid__multiday-event--width-7 .tribe-events-pro-week-grid__multiday-event-bar{width:calc(700% + 6px)}.tribe-events-pro .tribe-events-pro-week-grid__multiday-event-hidden{height:100%;opacity:0;position:absolute;width:100%;z-index:var(--tec-z-index-multiday-event)}.tribe-events-pro .tribe-events-pro-week-grid__multiday-event-hidden-link{display:block;height:100%;overflow:hidden}.tribe-events-pro .tribe-events-pro-week-grid__multiday-event-hidden-title{margin:0;overflow:hidden;white-space:nowrap}.tribe-events-pro .tribe-events-pro-week-grid__multiday-event-bar-inner{align-items:center;cursor:pointer;display:flex;flex-wrap:nowrap;padding:1px var(--tec-spacer-3)}.tribe-events-pro .tribe-events-pro-week-grid__multiday-event-bar-featured-icon{flex:none;line-height:0;margin-right:var(--tec-spacer-0)}.tribe-events-pro .tribe-events-pro-week-grid__multiday-event-bar-recurring-icon{flex:none;line-height:0;margin-left:var(--tec-spacer-0)}.tribe-events-pro .tribe-events-pro-week-grid__multiday-event-bar-title{flex:none;margin:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tribe-events-pro .tribe-events-pro-week-grid__multiday-overflow-events{display:none}.tribe-events-pro .tribe-events-pro-week-grid__multiday-more-events{display:flex;flex:none;margin-bottom:var(--tec-spacer-0);padding:1px var(--tec-spacer-2)}.tribe-events-pro .tribe-events-pro-week-grid__multiday-more-events-button{display:block;flex:none}.tribe-events-pro .tribe-events-pro-week-grid__event{height:var(--tec-spacer-5);position:absolute;right:1px;top:0;width:calc(100% - 2px)}.tribe-events-pro .tribe-events-pro-week-grid__event-title-featured-icon{display:none}.tribe-events-pro [class*=tribe-events-pro-week-grid__event--h-0] .tribe-events-pro-week-grid__event-link-inner{padding:2px var(--tec-spacer-1)}.tribe-events-pro [class*=tribe-events-pro-week-grid__event--h-0] .tribe-events-pro-week-grid__event-datetime{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.tribe-events-pro [class*=tribe-events-pro-week-grid__event--h-0] .tribe-events-pro-week-grid__event-title-featured-icon{display:inline-block;margin-right:var(--tec-spacer-0)}.tribe-events-pro .tribe-events-pro-week-grid__event-link{background-color:var(--tec-color-background);height:100%;overflow:hidden;position:absolute;width:100%}.tribe-events-pro .tribe-events-pro-week-grid__event-link--intended{z-index:var(--tec-z-index-week-event-hover)}.tribe-events-pro .tribe-events-pro-week-grid__event-link-inner{display:block;height:100%;padding:var(--tec-spacer-0) var(--tec-spacer-1);width:100%}.tribe-events-pro .tribe-events-pro-week-grid__event--seq-2{width:calc(90% - 2px)}.tribe-events-pro .tribe-events-pro-week-grid__event--seq-3{width:calc(80% - 2px)}.tribe-events-pro .tribe-events-pro-week-grid__event--seq-4{width:calc(70% - 2px)}.tribe-events-pro .tribe-events-pro-week-grid__event--seq-5{width:calc(60% - 2px)}.tribe-events-pro .tribe-events-pro-week-grid__event--seq-6{width:calc(50% - 2px)}.tribe-events-pro .tribe-events-pro-week-grid__event--seq-7{width:calc(40% - 2px)}.tribe-events-pro .tribe-events-pro-week-grid__event--seq-8{width:calc(30% - 2px)}.tribe-events-pro .tribe-events-pro-week-grid__event--h-1{height:calc(var(--tec-spacer-5)*2)}.tribe-events-pro .tribe-events-pro-week-grid__event--h-1-5{height:calc(var(--tec-spacer-5)*3)}.tribe-events-pro .tribe-events-pro-week-grid__event--h-2{height:calc(var(--tec-spacer-5)*4)}.tribe-events-pro .tribe-events-pro-week-grid__event--h-2-5{height:calc(var(--tec-spacer-5)*5)}.tribe-events-pro .tribe-events-pro-week-grid__event--h-3{height:calc(var(--tec-spacer-5)*6)}.tribe-events-pro .tribe-events-pro-week-grid__event--h-3-5{height:calc(var(--tec-spacer-5)*7)}.tribe-events-pro .tribe-events-pro-week-grid__event--h-4{height:calc(var(--tec-spacer-5)*8)}.tribe-events-pro .tribe-events-pro-week-grid__event--h-4-5{height:calc(var(--tec-spacer-5)*9)}.tribe-events-pro .tribe-events-pro-week-grid__event--h-5{height:calc(var(--tec-spacer-5)*10)}.tribe-events-pro .tribe-events-pro-week-grid__event--h-5-5{height:calc(var(--tec-spacer-5)*11)}.tribe-events-pro .tribe-events-pro-week-grid__event--h-6{height:calc(var(--tec-spacer-5)*12)}.tribe-events-pro .tribe-events-pro-week-grid__event--h-6-5{height:calc(var(--tec-spacer-5)*13)}.tribe-events-pro .tribe-events-pro-week-grid__event--h-7{height:calc(var(--tec-spacer-5)*14)}.tribe-events-pro .tribe-events-pro-week-grid__event--h-7-5{height:calc(var(--tec-spacer-5)*15)}.tribe-events-pro .tribe-events-pro-week-grid__event--h-8{height:calc(var(--tec-spacer-5)*16)}.tribe-events-pro .tribe-events-pro-week-grid__event--h-8-5{height:calc(var(--tec-spacer-5)*17)}.tribe-events-pro .tribe-events-pro-week-grid__event--h-9{height:calc(var(--tec-spacer-5)*18)}.tribe-events-pro .tribe-events-pro-week-grid__event--h-9-5{height:calc(var(--tec-spacer-5)*19)}.tribe-events-pro .tribe-events-pro-week-grid__event--h-10{height:calc(var(--tec-spacer-5)*20)}.tribe-events-pro .tribe-events-pro-week-grid__event--h-10-5{height:calc(var(--tec-spacer-5)*21)}.tribe-events-pro .tribe-events-pro-week-grid__event--h-11{height:calc(var(--tec-spacer-5)*22)}.tribe-events-pro .tribe-events-pro-week-grid__event--h-11-5{height:calc(var(--tec-spacer-5)*23)}.tribe-events-pro .tribe-events-pro-week-grid__event--h-12{height:calc(var(--tec-spacer-5)*24)}.tribe-events-pro .tribe-events-pro-week-grid__event--h-12-5{height:calc(var(--tec-spacer-5)*25)}.tribe-events-pro .tribe-events-pro-week-grid__event--h-13{height:calc(var(--tec-spacer-5)*26)}.tribe-events-pro .tribe-events-pro-week-grid__event--h-13-5{height:calc(var(--tec-spacer-5)*27)}.tribe-events-pro .tribe-events-pro-week-grid__event--h-14{height:calc(var(--tec-spacer-5)*28)}.tribe-events-pro .tribe-events-pro-week-grid__event--h-14-5{height:calc(var(--tec-spacer-5)*29)}.tribe-events-pro .tribe-events-pro-week-grid__event--h-15{height:calc(var(--tec-spacer-5)*30)}.tribe-events-pro .tribe-events-pro-week-grid__event--h-15-5{height:calc(var(--tec-spacer-5)*31)}.tribe-events-pro .tribe-events-pro-week-grid__event--h-16{height:calc(var(--tec-spacer-5)*32)}.tribe-events-pro .tribe-events-pro-week-grid__event--h-16-5{height:calc(var(--tec-spacer-5)*33)}.tribe-events-pro .tribe-events-pro-week-grid__event--h-17{height:calc(var(--tec-spacer-5)*34)}.tribe-events-pro .tribe-events-pro-week-grid__event--h-17-5{height:calc(var(--tec-spacer-5)*35)}.tribe-events-pro .tribe-events-pro-week-grid__event--h-18{height:calc(var(--tec-spacer-5)*36)}.tribe-events-pro .tribe-events-pro-week-grid__event--h-18-5{height:calc(var(--tec-spacer-5)*37)}.tribe-events-pro .tribe-events-pro-week-grid__event--h-19{height:calc(var(--tec-spacer-5)*38)}.tribe-events-pro .tribe-events-pro-week-grid__event--h-19-5{height:calc(var(--tec-spacer-5)*39)}.tribe-events-pro .tribe-events-pro-week-grid__event--h-20{height:calc(var(--tec-spacer-5)*40)}.tribe-events-pro .tribe-events-pro-week-grid__event--h-20-5{height:calc(var(--tec-spacer-5)*41)}.tribe-events-pro .tribe-events-pro-week-grid__event--h-21{height:calc(var(--tec-spacer-5)*42)}.tribe-events-pro .tribe-events-pro-week-grid__event--h-21-5{height:calc(var(--tec-spacer-5)*43)}.tribe-events-pro .tribe-events-pro-week-grid__event--h-22{height:calc(var(--tec-spacer-5)*44)}.tribe-events-pro .tribe-events-pro-week-grid__event--h-22-5{height:calc(var(--tec-spacer-5)*45)}.tribe-events-pro .tribe-events-pro-week-grid__event--h-23{height:calc(var(--tec-spacer-5)*46)}.tribe-events-pro .tribe-events-pro-week-grid__event--h-23-5{height:calc(var(--tec-spacer-5)*47)}.tribe-events-pro .tribe-events-pro-week-grid__event--h-24{height:calc(var(--tec-spacer-5)*48)}.tribe-events-pro .tribe-events-pro-week-grid__event--t-0-5{top:var(--tec-spacer-5)}.tribe-events-pro .tribe-events-pro-week-grid__event--t-1{top:calc(var(--tec-spacer-5)*2)}.tribe-events-pro .tribe-events-pro-week-grid__event--t-1-5{top:calc(var(--tec-spacer-5)*3)}.tribe-events-pro .tribe-events-pro-week-grid__event--t-2{top:calc(var(--tec-spacer-5)*4)}.tribe-events-pro .tribe-events-pro-week-grid__event--t-2-5{top:calc(var(--tec-spacer-5)*5)}.tribe-events-pro .tribe-events-pro-week-grid__event--t-3{top:calc(var(--tec-spacer-5)*6)}.tribe-events-pro .tribe-events-pro-week-grid__event--t-3-5{top:calc(var(--tec-spacer-5)*7)}.tribe-events-pro .tribe-events-pro-week-grid__event--t-4{top:calc(var(--tec-spacer-5)*8)}.tribe-events-pro .tribe-events-pro-week-grid__event--t-4-5{top:calc(var(--tec-spacer-5)*9)}.tribe-events-pro .tribe-events-pro-week-grid__event--t-5{top:calc(var(--tec-spacer-5)*10)}.tribe-events-pro .tribe-events-pro-week-grid__event--t-5-5{top:calc(var(--tec-spacer-5)*11)}.tribe-events-pro .tribe-events-pro-week-grid__event--t-6{top:calc(var(--tec-spacer-5)*12)}.tribe-events-pro .tribe-events-pro-week-grid__event--t-6-5{top:calc(var(--tec-spacer-5)*13)}.tribe-events-pro .tribe-events-pro-week-grid__event--t-7{top:calc(var(--tec-spacer-5)*14)}.tribe-events-pro .tribe-events-pro-week-grid__event--t-7-5{top:calc(var(--tec-spacer-5)*15)}.tribe-events-pro .tribe-events-pro-week-grid__event--t-8{top:calc(var(--tec-spacer-5)*16)}.tribe-events-pro .tribe-events-pro-week-grid__event--t-8-5{top:calc(var(--tec-spacer-5)*17)}.tribe-events-pro .tribe-events-pro-week-grid__event--t-9{top:calc(var(--tec-spacer-5)*18)}.tribe-events-pro .tribe-events-pro-week-grid__event--t-9-5{top:calc(var(--tec-spacer-5)*19)}.tribe-events-pro .tribe-events-pro-week-grid__event--t-10{top:calc(var(--tec-spacer-5)*20)}.tribe-events-pro .tribe-events-pro-week-grid__event--t-10-5{top:calc(var(--tec-spacer-5)*21)}.tribe-events-pro .tribe-events-pro-week-grid__event--t-11{top:calc(var(--tec-spacer-5)*22)}.tribe-events-pro .tribe-events-pro-week-grid__event--t-11-5{top:calc(var(--tec-spacer-5)*23)}.tribe-events-pro .tribe-events-pro-week-grid__event--t-12{top:calc(var(--tec-spacer-5)*24)}.tribe-events-pro .tribe-events-pro-week-grid__event--t-12-5{top:calc(var(--tec-spacer-5)*25)}.tribe-events-pro .tribe-events-pro-week-grid__event--t-13{top:calc(var(--tec-spacer-5)*26)}.tribe-events-pro .tribe-events-pro-week-grid__event--t-13-5{top:calc(var(--tec-spacer-5)*27)}.tribe-events-pro .tribe-events-pro-week-grid__event--t-14{top:calc(var(--tec-spacer-5)*28)}.tribe-events-pro .tribe-events-pro-week-grid__event--t-14-5{top:calc(var(--tec-spacer-5)*29)}.tribe-events-pro .tribe-events-pro-week-grid__event--t-15{top:calc(var(--tec-spacer-5)*30)}.tribe-events-pro .tribe-events-pro-week-grid__event--t-15-5{top:calc(var(--tec-spacer-5)*31)}.tribe-events-pro .tribe-events-pro-week-grid__event--t-16{top:calc(var(--tec-spacer-5)*32)}.tribe-events-pro .tribe-events-pro-week-grid__event--t-16-5{top:calc(var(--tec-spacer-5)*33)}.tribe-events-pro .tribe-events-pro-week-grid__event--t-17{top:calc(var(--tec-spacer-5)*34)}.tribe-events-pro .tribe-events-pro-week-grid__event--t-17-5{top:calc(var(--tec-spacer-5)*35)}.tribe-events-pro .tribe-events-pro-week-grid__event--t-18{top:calc(var(--tec-spacer-5)*36)}.tribe-events-pro .tribe-events-pro-week-grid__event--t-18-5{top:calc(var(--tec-spacer-5)*37)}.tribe-events-pro .tribe-events-pro-week-grid__event--t-19{top:calc(var(--tec-spacer-5)*38)}.tribe-events-pro .tribe-events-pro-week-grid__event--t-19-5{top:calc(var(--tec-spacer-5)*39)}.tribe-events-pro .tribe-events-pro-week-grid__event--t-20{top:calc(var(--tec-spacer-5)*40)}.tribe-events-pro .tribe-events-pro-week-grid__event--t-20-5{top:calc(var(--tec-spacer-5)*41)}.tribe-events-pro .tribe-events-pro-week-grid__event--t-21{top:calc(var(--tec-spacer-5)*42)}.tribe-events-pro .tribe-events-pro-week-grid__event--t-21-5{top:calc(var(--tec-spacer-5)*43)}.tribe-events-pro .tribe-events-pro-week-grid__event--t-22{top:calc(var(--tec-spacer-5)*44)}.tribe-events-pro .tribe-events-pro-week-grid__event--t-22-5{top:calc(var(--tec-spacer-5)*45)}.tribe-events-pro .tribe-events-pro-week-grid__event--t-23{top:calc(var(--tec-spacer-5)*46)}.tribe-events-pro .tribe-events-pro-week-grid__event--t-23-5{top:calc(var(--tec-spacer-5)*47)}.tribe-events-pro .tribe-events-pro-week-grid__event-title{flex:auto;margin:0}.tribe-events-pro .tribe-events-pro-week-grid__event-datetime>*{vertical-align:middle}.tribe-events-pro .tribe-events-pro-week-grid__event-datetime-featured-icon{display:inline-block;margin-right:var(--tec-spacer-0)}.tribe-events-pro .tribe-events-pro-week-grid__event-datetime-recurring-icon{display:inline-block;margin-left:var(--tec-spacer-0)}.tribe-events-pro .tribe-events-pro-week-grid__event-featured-image-wrapper{margin:var(--tec-spacer-0) 0}.tribe-events-pro .tribe-events-pro-week-grid__event-featured-image{padding-bottom:56.25%}.tribe-events-pro .tribe-events-pro-week-grid__event-tooltip-featured-image-wrapper{margin-bottom:var(--tec-spacer-2);width:206px}.tribe-events-pro .tribe-events-pro-week-grid__event-tooltip-featured-image-wrapper:last-child{margin-bottom:0}.tribe-events-pro .tribe-events-pro-week-grid__event-tooltip-featured-image-link{display:block}.tribe-events-pro .tribe-events-pro-week-grid__event-tooltip-datetime{margin-bottom:var(--tec-spacer-0)}.tribe-events-pro .tribe-events-pro-week-grid__event-tooltip-datetime>*{vertical-align:middle}.tribe-events-pro .tribe-events-pro-week-grid__event-tooltip-datetime-featured-icon,.tribe-events-pro .tribe-events-pro-week-grid__event-tooltip-datetime-recurring-icon{display:inline-block;line-height:0}.tribe-events-pro .tribe-events-pro-week-grid__event-tooltip-datetime-featured-icon{margin-right:var(--tec-spacer-0)}.tribe-events-pro .tribe-events-pro-week-grid__event-tooltip-datetime-recurring-icon{margin-left:var(--tec-spacer-0)}.tribe-events-pro .tribe-events-pro-week-grid__event-tooltip-title{margin-bottom:var(--tec-spacer-0)}.tribe-events-pro .tribe-events-pro-week-grid__event-tooltip-description{margin-bottom:var(--tec-spacer-1)}.tribe-events-pro .tribe-events-pro-week-grid__event-tooltip-description:last-child{margin-bottom:0}.tribe-events-pro .tribe-events-pro-week-grid__event-tooltip-cost{margin-top:var(--tec-spacer-3)}.tribe-common--breakpoint-medium.tribe-events-pro .tribe-events-pro-week-mobile-events{display:none!important;visibility:hidden}.tribe-events-pro .tribe-events-pro-week-mobile-events__day{display:none}.tribe-events-pro .tribe-events-pro-week-mobile-events__day--active{display:block}.tribe-events-pro .tribe-events-pro-week-mobile-events__event{display:flex;flex-direction:column;margin-bottom:var(--tec-spacer-5);margin-top:var(--tec-spacer-7);padding-left:var(--tec-grid-gutter-small)}.tribe-events-pro .tribe-events-pro-week-mobile-events__event:last-child{margin-bottom:var(--tec-spacer-8)}.tribe-events-pro .tribe-events-pro-week-mobile-events__event--featured{position:relative}.tribe-events-pro .tribe-events-pro-week-mobile-events__event-time-separator+.tribe-events-pro-week-mobile-events__event{margin-top:var(--tec-spacer-4)}.tribe-events-pro .tribe-events-pro-week-mobile-events__event-featured-image-wrapper{flex:none;margin-bottom:var(--tec-spacer-3)}.tribe-events-pro .tribe-events-pro-week-mobile-events__event-featured-image,.tribe-events-pro .tribe-events-pro-week-mobile-events__event-featured-image-link{display:block}.tribe-events-pro .tribe-events-pro-week-mobile-events__event-details{flex:none}.tribe-events-pro .tribe-events-pro-week-mobile-events__event-details>:last-child{margin-bottom:0}.tribe-events-pro .tribe-events-pro-week-mobile-events__event-datetime-wrapper,.tribe-events-pro .tribe-events-pro-week-mobile-events__event-title{margin:0 0 var(--tec-spacer-1)}.tribe-events-pro .tribe-events-pro-week-mobile-events__event-datetime-wrapper:last-child,.tribe-events-pro .tribe-events-pro-week-mobile-events__event-title:last-child{margin-bottom:0}.tribe-events-pro .tribe-events-pro-week-mobile-events__event-datetime-featured-icon{display:inline-block;margin-right:var(--tec-spacer-0)}.tribe-events-pro .tribe-events-pro-week-mobile-events__event-datetime-recurring-icon{display:inline-block;margin-left:var(--tec-spacer-0)}.tribe-events-pro .tribe-events-pro-week-mobile-events__event-venue{margin-bottom:var(--tec-spacer-1)}.tribe-theme-twentynineteen .tribe-events-pro .entry.tribe-events-pro-week-mobile-events__event{margin-bottom:var(--tec-spacer-5);margin-top:var(--tec-spacer-7);padding-left:var(--tec-grid-gutter-small)}.tribe-theme-twentynineteen .tribe-events-pro .entry.tribe-events-pro-week-mobile-events__event:last-child{margin-bottom:var(--tec-spacer-8)}.tribe-theme-twentynineteen .tribe-events-pro .tribe-events-pro-week-mobile-events__event-time-separator+.entry.tribe-events-pro-week-mobile-events__event{margin-top:var(--tec-spacer-4)}.tribe-events-pro .tribe-events-pro-week-mobile-events__event-time-separator{align-items:center;display:flex}.tribe-events-pro .tribe-events-pro-week-mobile-events__event-time-separator-text{flex:none}.tribe-events-pro .tribe-events-pro-week-mobile-events__event-type-separator{align-items:center;display:flex}.tribe-events-pro .tribe-events-pro-week-mobile-events__event-type-separator-text{flex:none}.tribe-events-pro .tribe-events-pro-week-nav{padding-top:var(--tec-spacer-4)}.tribe-common--breakpoint-medium:not(.tribe-events-widget).tribe-events-pro .tribe-events-pro-week-nav{display:none!important;visibility:hidden}.tribe-events-pro .tribe-events-pro-map__map{height:300px;position:relative}.tribe-common--breakpoint-medium.tribe-events-pro .tribe-events-pro-map__map{height:720px;width:60%}.tribe-events-pro .tribe-events-pro-map__google-maps-default,.tribe-events-pro .tribe-events-pro-map__google-maps-premium{height:100%;width:100%}.tribe-events-pro .gm-style img{max-width:none}.tribe-events-pro .tribe-events-pro-map__no-venue-modal{background-color:var(--tec-color-background);left:50%;max-width:333px;position:absolute;top:50%;transform:translate(-50%,-50%);width:calc(100% - var(--tec-spacer-6)*2)}.tribe-events-pro .tribe-events-pro-map__no-venue-modal-close{padding:var(--tec-spacer-1);position:absolute;right:var(--tec-spacer-1);top:var(--tec-spacer-1)}.tribe-events-pro .tribe-events-pro-map__no-venue-modal-close-icon{display:block;width:10px}.tribe-events-pro .tribe-events-pro-map__no-venue-modal-content{align-items:flex-start;display:flex;flex-direction:column;padding:var(--tec-spacer-9) var(--tec-spacer-5) var(--tec-spacer-5)}.tribe-common--breakpoint-medium.tribe-events-pro .tribe-events-pro-map__no-venue-modal-content{padding:var(--tec-spacer-8) var(--tec-spacer-9)}.tribe-events-pro .tribe-events-pro-map__no-venue-modal-icon{align-self:center;margin-bottom:var(--tec-spacer-5);width:64px}.tribe-events-pro .tribe-events-pro-map__no-venue-modal-text{margin-bottom:var(--tec-spacer-1)}.tribe-events-pro .tribe-events-pro-map__no-venue-modal--default{background-color:var(--tec-color-background-secondary);height:100%;max-width:none;width:100%}.tribe-events-pro .tribe-events-pro-map__no-venue-modal--default .tribe-events-pro-map__no-venue-modal-content{left:50%;max-width:333px;position:absolute;top:50%;transform:translate(-50%,-50%);width:100%}.tribe-events-pro .tribe-events-pro-map__no-venue-modal--default .tribe-events-pro-map__no-venue-modal-icon{margin-bottom:var(--tec-spacer-6)}.tribe-events-pro .tribe-events-pro-map__no-venue-modal--default .tribe-events-pro-map__no-venue-modal-text{margin-bottom:var(--tec-spacer-3)}.tribe-events-pro .tribe-events-pro-map__event-column{display:flex;flex-direction:column;height:290px;position:relative}.tribe-common--breakpoint-medium.tribe-events-pro .tribe-events-pro-map__event-column{height:720px;width:40%}.tribe-events-pro .tribe-events-pro-map__event-cards-wrapper{flex:auto;overflow:hidden;position:relative}.tribe-events-pro .tribe-events-pro-map__event-cards{height:100%;left:0;overflow:hidden;position:absolute;right:0}.tribe-events-pro .tribe-events-pro-map__event-cards--active{overflow-y:scroll}.tribe-events-pro .tribe-events-pro-map__event-cards-scroll-pane{background-color:var(--tec-color-scroll-track);border-radius:3px;bottom:0;position:absolute;right:0;top:0;width:3px;z-index:var(--tec-z-index-scroller)}.tribe-events-pro .tribe-events-pro-map__event-cards-scroll-slider{background:var(--tec-color-scroll-bar);border-radius:3px;position:relative}.tribe-events-pro .tribe-events-pro-map__event-card-wrapper{position:relative}.tribe-common--breakpoint-medium.tribe-events-pro .tribe-events-pro-map__event-card-wrapper--has-thumbnail .tribe-events-pro-map__event-details,.tribe-common--breakpoint-medium.tribe-events-pro .tribe-events-pro-map__event-card-wrapper--has-thumbnail .tribe-events-pro-map__event-details-spacer{width:calc(var(--tec-grid-width-1-of-8)*5)}.tribe-common--breakpoint-medium.tribe-events-pro .tribe-events-pro-map__event-card-wrapper--has-thumbnail .tribe-events-pro-map__event-spacer:after{content:""}.tribe-events-pro .tribe-events-pro-map__event-card,.tribe-events-pro .tribe-events-pro-map__event-card-spacer{padding:var(--tec-spacer-3) var(--tec-spacer-2)}.tribe-events-pro .tribe-events-pro-map__event-card-spacer{border-left:1px solid transparent;border-right:1px solid transparent;padding-bottom:0;padding-top:0}.tribe-events-pro .tribe-events-pro-map__event-card-button{position:relative;width:100%}.tribe-events-pro .tribe-events-pro-map__event-card-button:focus,.tribe-events-pro .tribe-events-pro-map__event-card-button:hover,.tribe-events-pro .tribe-events-pro-map__event-card-wrapper--active .tribe-events-pro-map__event-card-button{z-index:var(--tec-z-index-map-event-hover)}.tribe-events-pro .tribe-events-pro-map__event-card-wrapper--active .tribe-events-pro-map__event-actions--linked{bottom:calc(var(--tec-spacer-3) + 1px);position:absolute;width:calc(100% - 18px);z-index:var(--tec-z-index-map-event-hover-actions)}.tribe-events-pro .tribe-events-pro-map__event-card-wrapper--active .tribe-events-pro-map__event-actions--spacer{display:block;visibility:hidden}.tribe-events-pro .tribe-events-pro-map__event-row,.tribe-events-pro .tribe-events-pro-map__event-row-spacer{flex-wrap:nowrap;margin-left:-9px;margin-right:-9px}.tribe-events-pro .tribe-events-pro-map__event-row-spacer>.tribe-common-g-col,.tribe-events-pro .tribe-events-pro-map__event-row>.tribe-common-g-col{padding-left:9px;padding-right:9px}.tribe-events-pro .tribe-events-pro-map__event-date-tag,.tribe-events-pro .tribe-events-pro-map__event-row-spacer:before{flex:none;margin-right:0;min-width:52px;width:var(--tec-grid-width-1-of-8)}.tribe-events-pro .tribe-events-pro-map__event-row-spacer:before{content:""}.tribe-events-pro .tribe-events-pro-map__event-date-tag-datetime{display:flex;flex-direction:column;text-align:center}.tribe-events-pro .tribe-events-pro-map__event-date-tag-month{margin-bottom:calc(var(--tec-spacer-0)*-1)}.tribe-events-pro .tribe-events-pro-map__event-wrapper,.tribe-events-pro .tribe-events-pro-map__event-wrapper-spacer{flex:auto}.tribe-events-pro .tribe-events-pro-map__event,.tribe-events-pro .tribe-events-pro-map__event-spacer{margin-left:-9px;margin-right:-9px}.tribe-events-pro .tribe-events-pro-map__event-spacer>.tribe-common-g-col,.tribe-events-pro .tribe-events-pro-map__event>.tribe-common-g-col{padding-left:9px;padding-right:9px}.tribe-common--breakpoint-medium.tribe-events-pro .tribe-events-pro-map__event-featured-image-wrapper,.tribe-common--breakpoint-medium.tribe-events-pro .tribe-events-pro-map__event-spacer:after{display:block!important;margin-bottom:0;visibility:visible;width:calc(var(--tec-grid-width-1-of-8)*3)}.tribe-events-pro .tribe-events-pro-map__event-featured-image-link{display:block}.tribe-events-pro .tribe-events-pro-map__event-details,.tribe-events-pro .tribe-events-pro-map__event-details-spacer{flex:none}.tribe-events-pro .tribe-events-pro-map__event-details-spacer{position:relative}.tribe-events-pro .tribe-events-pro-map__event-datetime-wrapper{margin-bottom:var(--tec-spacer-0)}.tribe-events-pro .tribe-events-pro-map__event-datetime-wrapper:last-child{margin-bottom:0}.tribe-events-pro .tribe-events-pro-map__event-datetime-featured-icon{display:inline-block;margin-right:var(--tec-spacer-0)}.tribe-common--breakpoint-medium.tribe-events-pro .tribe-events-pro-map__event-datetime-featured-text{clip:auto;height:auto;margin:0;position:static;width:auto;margin-right:var(--tec-spacer-1)}.tribe-events-pro .tribe-events-pro-map__event-datetime-recurring-icon{display:inline-block;margin-left:var(--tec-spacer-0)}.tribe-events-pro .tribe-events-pro-map__event-title{margin:0 0 6px}.tribe-events-pro .tribe-events-pro-map__event-title:last-child{margin-bottom:0}.tribe-events-pro .tribe-events-pro-map__event-venue{margin-bottom:var(--tec-spacer-0)}.tribe-events-pro .tribe-events-pro-map__event-venue:last-child{margin-bottom:0}.tribe-common--breakpoint-medium.tribe-events-pro .tribe-events-pro-map__event-distance{display:block!important;visibility:visible}.tribe-events-pro .tribe-events-pro-map__event-actions{display:none;margin-top:var(--tec-spacer-1);position:relative}.tribe-theme-twentynineteen .tribe-events-pro .tribe-events-pro-map__event-card.entry{padding:var(--tec-spacer-3) var(--tec-spacer-2)}.tribe-events-pro .tribe-events-pro-map__event-tooltip{padding-bottom:var(--tec-spacer-5)}.tribe-events-pro .tribe-events-pro-map__event-tooltip--has-slider{padding-bottom:var(--tec-spacer-3)}.tribe-events-pro .tribe-events-pro-map__event-tooltip-slider-wrapper{flex-wrap:nowrap}.tribe-events-pro .tribe-events-pro-map__event-tooltip-slide{flex:none}.tribe-events-pro .tribe-events-pro-map__event-tooltip-datetime-wrapper{margin-bottom:var(--tec-spacer-0)}.tribe-events-pro .tribe-events-pro-map__event-tooltip-datetime-featured-icon{display:inline-block;margin-right:var(--tec-spacer-1)}.tribe-events-pro .tribe-events-pro-map__event-tooltip-title{margin:0}.tribe-events-pro .tribe-events-pro-map__event-tooltip-venue{margin-top:var(--tec-spacer-1)}.tribe-events-pro .tribe-events-pro-map__event-tooltip-cost{margin-top:var(--tec-spacer-3)}.tribe-events-pro .tribe-events-pro-map__event-tooltip-navigation{padding-top:var(--tec-spacer-4)}.tribe-events-pro .tribe-events-pro-map__event-tooltip-navigation-list{flex-wrap:nowrap;justify-content:space-between}.tribe-events-pro .tribe-events-pro-map__event-tooltip-navigation-list-item{flex:none;width:auto}.tribe-events-pro .tribe-events-pro-map__event-tooltip-navigation-button{align-items:center;display:flex}.tribe-events-pro .gm-style .gm-style-iw-c{max-height:none!important;padding:var(--tec-spacer-5) var(--tec-spacer-5) 0!important}.tribe-events-pro .gm-style .gm-style-iw-c>button{right:0!important;top:-2px!important}.tribe-events-pro .gm-style .gm-style-iw-c>button img{height:16px!important;width:16px!important}.tribe-events-pro .gm-style .gm-style-iw-d{max-height:none!important;max-width:206px!important;overflow:hidden!important;width:100%}.tribe-events-pro .tribe-events-pro-map__nav{flex:none;padding:var(--tec-spacer-3) var(--tec-spacer-2)}.tribe-events-pro .tribe-events-pro-organizer__meta{width:100%}.tribe-events-pro .tribe-events-pro-organizer__meta .tec-events-c-view-box-border{display:flex;flex-wrap:wrap}.tribe-common--breakpoint-medium.tribe-events-pro .tribe-events-pro-organizer__meta--has-featured-image .tribe-events-pro-organizer__meta-data{padding-left:var(--tec-grid-gutter-small-half);width:calc(var(--tec-grid-width-1-of-8)*5)}.tribe-common--breakpoint-medium.tribe-events-pro .tribe-events-pro-organizer__meta--has-featured-image .tribe-events-pro-organizer__meta-content{width:100%}.tribe-common--breakpoint-medium.tribe-events-pro .tribe-events-pro-organizer__meta--has-featured-image .tribe-events-pro-organizer__meta-details{margin-bottom:var(--tec-grid-gutter-small-half);width:100%}.tribe-common--breakpoint-medium.tribe-events-pro .tribe-events-pro-organizer__meta--has-featured-image:not(.tribe-events-pro-organizer__meta--has-details) .tribe-events-pro-organizer__meta-featured-image-wrapper{margin-bottom:0}.tribe-common--breakpoint-medium.tribe-events-pro .tribe-events-pro-organizer__meta--has-featured-image:not(.tribe-events-pro-organizer__meta--has-details,.tribe-events-pro-organizer__meta--has-content,.tribe-events-pro-organizer__meta--has-taxonomy) .tec-events-c-view-box-border{width:calc(var(--tec-grid-width-1-of-8)*3)}.tribe-common--breakpoint-medium.tribe-events-pro .tribe-events-pro-organizer__meta--has-featured-image:not(.tribe-events-pro-organizer__meta--has-details,.tribe-events-pro-organizer__meta--has-content,.tribe-events-pro-organizer__meta--has-taxonomy) .tribe-events-pro-organizer__meta-details{width:100%}.tribe-common--breakpoint-medium.tribe-events-pro .tribe-events-pro-organizer__meta--has-featured-image:not(.tribe-events-pro-organizer__meta--has-details,.tribe-events-pro-organizer__meta--has-content,.tribe-events-pro-organizer__meta--has-taxonomy) .tribe-events-pro-organizer__meta-featured-image-wrapper{padding-right:0;width:100%}.tribe-common--breakpoint-medium.tribe-events-pro .tribe-events-pro-organizer__meta:not(.tribe-events-pro-organizer__meta--has-featured-image) .tribe-events-pro-organizer__meta-content{padding-right:var(--tec-grid-gutter-small-half);width:calc(var(--tec-grid-width-1-of-8)*5)}.tribe-common--breakpoint-medium.tribe-events-pro .tribe-events-pro-organizer__meta:not(.tribe-events-pro-organizer__meta--has-featured-image) .tribe-events-pro-organizer__meta-details{padding-left:var(--tec-grid-gutter-small-half);width:calc(var(--tec-grid-width-1-of-8)*3)}.tribe-common--breakpoint-medium.tribe-events-pro .tribe-events-pro-organizer__meta:not(.tribe-events-pro-organizer__meta--has-featured-image,.tribe-events-pro-organizer__meta--has-details) .tribe-events-pro-organizer__meta-content{width:100%}.tribe-events-pro .tribe-events-pro-organizer__meta-title{margin:0 0 var(--tec-spacer-3)}.tribe-events-pro .tribe-events-pro-organizer__meta-title:last-child{margin-bottom:0}.tribe-common--breakpoint-medium.tribe-events-pro .tribe-events-pro-organizer__meta-row{display:flex;flex-direction:row-reverse}.tribe-events-pro .tribe-events-pro-organizer__meta-data{flex:none}.tribe-common--breakpoint-medium.tribe-events-pro .tribe-events-pro-organizer__meta-data:first-child{padding-left:0}.tribe-common--breakpoint-medium.tribe-events-pro .tribe-events-pro-organizer__meta-data{padding-left:var(--tec-grid-gutter-small-half);width:calc(var(--tec-grid-width-1-of-8)*8)}.tribe-events-pro .tribe-events-pro-organizer__meta-data>.tribe-events-pro-organizer__meta-row>*{margin-bottom:var(--tec-spacer-4)}.tribe-common--breakpoint-medium.tribe-events-pro .tribe-events-pro-organizer__meta-data>.tribe-events-pro-organizer__meta-row>*{flex:none;width:100%}.tribe-events-pro .tribe-events-pro-organizer__meta-data>.tribe-events-pro-organizer__meta-row>:last-child{margin-bottom:0}.tribe-events-pro .tribe-events-pro-organizer__meta-featured-image-wrapper{flex:none}.tribe-events-pro .tribe-events-pro-organizer__meta-featured-image-wrapper.tribe-events-pro-organizer__meta-featured-image-wrapper--has-details{margin-bottom:var(--tec-spacer-4)}.tribe-common--breakpoint-medium.tribe-events-pro .tribe-events-pro-organizer__meta-featured-image-wrapper{margin-bottom:0;padding-right:var(--tec-grid-gutter-small-half);width:calc(var(--tec-grid-width-1-of-8)*3)}.tribe-events-pro .tribe-events-pro-organizer__meta-featured-image-link{display:block}.tribe-common--breakpoint-medium.tribe-events-pro .tribe-events-pro-organizer__meta-content{flex:none;width:calc(var(--tec-grid-width-1-of-8)*5)}.tribe-common--breakpoint-medium.tribe-events-pro .tribe-events-pro-organizer__meta-details{flex:none;margin-bottom:0;width:calc(var(--tec-grid-width-1-of-8)*3)}.tribe-events-pro .tribe-events-pro-organizer__meta-details:last-child{margin-bottom:0;width:100%}.tribe-events-pro .tribe-events-pro-organizer__meta-details>:last-child{margin-bottom:0}.tribe-events-pro .tribe-events-pro-organizer__meta-categories-label{font-weight:700}.tribe-events-pro .tribe-events-pro-organizer__meta-categories,.tribe-events-pro .tribe-events-pro-organizer__meta-email,.tribe-events-pro .tribe-events-pro-organizer__meta-phone,.tribe-events-pro .tribe-events-pro-organizer__meta-website{margin-bottom:var(--tec-spacer-1)}.tribe-events-pro .tribe-events-pro-organizer__meta-email-icon-svg,.tribe-events-pro .tribe-events-pro-organizer__meta-phone-icon-svg,.tribe-events-pro .tribe-events-pro-organizer__meta-website-icon-svg{display:inline-block;height:16px;margin-right:var(--tec-spacer-1);margin-top:4px;width:16px}.tribe-events-pro .tribe-events-pro-organizer__meta-website-icon-svg{width:15px}.tribe-events-pro .tribe-events-pro-venue__meta{width:100%}.tribe-events-pro .tribe-events-pro-venue__meta .tec-events-c-view-box-border{display:flex;flex-wrap:wrap}.tribe-common--breakpoint-medium.tribe-events-pro .tribe-events-pro-venue__meta--has-featured-image:not(.tribe-events-pro-venue__meta--has-details,.tribe-events-pro-venue__meta--has-map,.tribe-events-pro-venue__meta--has-content) .tec-events-c-view-box-border{max-width:var(--tec-grid-width-1-of-2)}.tribe-common--breakpoint-medium.tribe-events-pro .tribe-events-pro-venue__meta--has-featured-image:not(.tribe-events-pro-venue__meta--has-details,.tribe-events-pro-venue__meta--has-map,.tribe-events-pro-venue__meta--has-content) .tribe-events-pro-venue__meta-data,.tribe-common--breakpoint-medium.tribe-events-pro .tribe-events-pro-venue__meta--has-featured-image:not(.tribe-events-pro-venue__meta--has-details,.tribe-events-pro-venue__meta--has-map,.tribe-events-pro-venue__meta--has-content) .tribe-events-pro-venue__meta-map{padding:0}.tribe-common--breakpoint-medium.tribe-events-pro .tribe-events-pro-venue__meta--has-map:not(.tribe-events-pro-venue__meta--has-details,.tribe-events-pro-venue__meta--has-featured-image,.tribe-events-pro-venue__meta--has-content) .tec-events-c-view-box-border{max-width:var(--tec-grid-width-1-of-2)}.tribe-common--breakpoint-medium.tribe-events-pro .tribe-events-pro-venue__meta--has-map:not(.tribe-events-pro-venue__meta--has-details,.tribe-events-pro-venue__meta--has-featured-image,.tribe-events-pro-venue__meta--has-content) .tribe-events-pro-venue__meta-map{width:100%;padding:0}.tribe-events-pro .tribe-events-pro-venue__meta-row{width:100%}.tribe-events-pro .tribe-events-pro-venue__meta--has-map .tribe-events-pro-venue__meta-data iframe,.tribe-events-pro .tribe-events-pro-venue__meta--has-map .tribe-events-pro-venue__meta-map iframe{display:block}.tribe-common--breakpoint-medium.tribe-events-pro .tribe-events-pro-venue__meta--has-map .tribe-events-pro-venue__meta-data,.tribe-common--breakpoint-medium.tribe-events-pro .tribe-events-pro-venue__meta--has-map .tribe-events-pro-venue__meta-map{width:var(--tec-grid-width-1-of-2)}.tribe-common--breakpoint-medium.tribe-events-pro .tribe-events-pro-venue__meta-data,.tribe-events-pro .tribe-events-pro-venue__meta-data{padding-right:var(--tec-grid-gutter-small-half)}.tribe-events-pro .tribe-events-pro-venue__meta-data>*{margin-bottom:var(--tec-spacer-4)}.tribe-common--breakpoint-medium.tribe-events-pro .tribe-events-pro-venue__meta-data>*{flex:none;width:100%}.tribe-events-pro .tribe-events-pro-venue__meta-data>:last-child{margin-bottom:0}.tribe-common--breakpoint-medium.tribe-events-pro .tribe-events-pro-venue__meta-map{padding-left:var(--tec-grid-gutter-small-half)}.tribe-events-pro .tribe-events-pro-venue__meta-title{margin:0 0 var(--tec-spacer-3)}.tribe-common--breakpoint-medium.tribe-events-pro .tribe-events-pro-venue__meta-title{margin-bottom:var(--tec-spacer-5)}.tribe-events-pro .tribe-events-pro-venue__meta-featured-image-wrapper.tribe-events-pro-venue__meta-featured-image-wrapper--has-details{margin-bottom:var(--tec-spacer-3)}.tribe-common--breakpoint-medium.tribe-events-pro .tribe-events-pro-venue__meta-featured-image-wrapper.tribe-events-pro-venue__meta-featured-image-wrapper--has-details{margin-bottom:var(--tec-spacer-5)}.tribe-events-pro .tribe-events-pro-venue__meta-details{margin-bottom:var(--tec-spacer-3)}.tribe-common--breakpoint-medium.tribe-events-pro .tribe-events-pro-venue__meta-details{margin-bottom:var(--tec-spacer-5)}.tribe-events-pro .tribe-events-pro-venue__meta-details>:last-child{margin-bottom:0}.tribe-events-pro .tribe-events-pro-venue__meta-address,.tribe-events-pro .tribe-events-pro-venue__meta-phone,.tribe-events-pro .tribe-events-pro-venue__meta-website{display:flex;margin-bottom:var(--tec-spacer-1)}.tribe-events-pro .tribe-events-pro-venue__meta-categories{margin-bottom:var(--tec-spacer-1)}.tribe-events-pro .tribe-events-pro-venue__meta-address-details{flex:1 1 100%}.tribe-events-pro .tribe-events-pro-venue__meta-address-details .tribe-address{display:block}.tribe-events-pro .tribe-events-pro-venue__meta-categories-label{font-weight:700}.tribe-events-pro .tribe-events-pro-venue__meta-address-icon-svg,.tribe-events-pro .tribe-events-pro-venue__meta-phone-icon-svg,.tribe-events-pro .tribe-events-pro-venue__meta-website-icon-svg{display:inline-block;height:16px;margin-right:var(--tec-spacer-2);margin-top:4px;width:16px}.tribe-events-pro .tribe-events-pro-venue__meta-website-icon-svg{width:15px}.tribe-events-pro .tribe-events-pro-venue__meta-address-icon-svg{width:14px}.tribe-events-pro .tribe-events-pro-venue__meta-data-google-maps-default{height:100%;width:100%} \ No newline at end of file +.tribe-events-pro.tribe-events-view--week .datepicker tbody tr.active{position:relative}.tribe-events-pro.tribe-events-view--week .datepicker .day.disabled{cursor:pointer}.tribe-events-virtual-link-button{align-items:center;display:inline-flex;padding:11px 25px}.tribe-events-virtual-event .tribe-events-virtual-link-button{margin-bottom:24px}.tribe-events-meta-group-details .tribe-events-virtual-link-button{margin:16px 0 4px}.tec-events-virtual-single-api-details .tribe-events-virtual-link-button,.tribe-events-virtual-single-zoom-details .tribe-events-virtual-link-button{margin:4px 0 0}.tribe-events-virtual-link-button__icon{flex:none;margin-right:var(--tec-spacer-2);width:10px}.tribe-events-virtual-link-button__icon path{fill:var(--tec-color-background)}.rtl .tribe-events-virtual-link-button__icon{margin-left:var(--tec-spacer-2);margin-right:0}.tribe-events .tribe-events-virtual-hybrid-event,.tribe-events .tribe-events-virtual-virtual-event{align-items:center;display:flex}.tribe-events .tribe-events-virtual-hybrid-event__icon,.tribe-events .tribe-events-virtual-virtual-event__icon{display:inline-block;line-height:0;margin-right:var(--tec-spacer-1)}.tribe-events .tribe-events-virtual-hybrid-event__icon-svg{height:12px}.tribe-events .tribe-events-virtual-virtual-event__icon-svg{height:10px}.tribe-events .tribe-events-calendar-day .tribe-events-virtual-hybrid-event,.tribe-events .tribe-events-calendar-day .tribe-events-virtual-virtual-event,.tribe-events .tribe-events-calendar-latest-past .tribe-events-virtual-hybrid-event,.tribe-events .tribe-events-calendar-latest-past .tribe-events-virtual-virtual-event,.tribe-events .tribe-events-calendar-list .tribe-events-virtual-hybrid-event,.tribe-events .tribe-events-calendar-list .tribe-events-virtual-virtual-event{margin:var(--tec-spacer-1) 0}.tribe-events.tribe-common--breakpoint-medium .tribe-events-calendar-day .tribe-events-virtual-hybrid-event,.tribe-events.tribe-common--breakpoint-medium .tribe-events-calendar-day .tribe-events-virtual-virtual-event,.tribe-events.tribe-common--breakpoint-medium .tribe-events-calendar-latest-past .tribe-events-virtual-hybrid-event,.tribe-events.tribe-common--breakpoint-medium .tribe-events-calendar-latest-past .tribe-events-virtual-virtual-event,.tribe-events.tribe-common--breakpoint-medium .tribe-events-calendar-list .tribe-events-virtual-hybrid-event,.tribe-events.tribe-common--breakpoint-medium .tribe-events-calendar-list .tribe-events-virtual-virtual-event{margin-bottom:var(--tec-spacer-3) 0}.tribe-events .tribe-events-calendar-day .tribe-events-virtual-hybrid-event:last-child,.tribe-events .tribe-events-calendar-day .tribe-events-virtual-virtual-event:last-child,.tribe-events .tribe-events-calendar-latest-past .tribe-events-virtual-hybrid-event:last-child,.tribe-events .tribe-events-calendar-latest-past .tribe-events-virtual-virtual-event:last-child,.tribe-events .tribe-events-calendar-list .tribe-events-virtual-hybrid-event:last-child,.tribe-events .tribe-events-calendar-list .tribe-events-virtual-virtual-event:last-child{margin-bottom:0}.tribe-events .tribe-events-calendar-month .tribe-events-virtual-hybrid-event,.tribe-events .tribe-events-calendar-month .tribe-events-virtual-virtual-event,.tribe-events .tribe-events-calendar-month__calendar-event-tooltip .tribe-events-virtual-hybrid-event,.tribe-events .tribe-events-calendar-month__calendar-event-tooltip .tribe-events-virtual-virtual-event{display:inline-block;line-height:0}.tribe-events .tribe-events-calendar-month__multiday-event .tribe-events-virtual-hybrid-event,.tribe-events .tribe-events-calendar-month__multiday-event .tribe-events-virtual-virtual-event{flex:none}.tribe-events .tribe-events-calendar-month-mobile-events .tribe-events-virtual-hybrid-event,.tribe-events .tribe-events-calendar-month-mobile-events .tribe-events-virtual-virtual-event{margin-top:var(--tec-spacer-0)}.tribe-events .tribe-events-calendar-month .tribe-events-virtual-hybrid-event__icon,.tribe-events .tribe-events-calendar-month .tribe-events-virtual-virtual-event__icon,.tribe-events .tribe-events-calendar-month__calendar-event-tooltip .tribe-events-virtual-hybrid-event__icon,.tribe-events .tribe-events-calendar-month__calendar-event-tooltip .tribe-events-virtual-virtual-event__icon{margin-right:var(--tec-spacer-0)}.tribe-events .tribe-events-calendar-month-mobile-events .tribe-events-virtual-hybrid-event__icon,.tribe-events .tribe-events-calendar-month-mobile-events .tribe-events-virtual-virtual-event__icon{margin-right:var(--tec-spacer-1)}.tribe-events .tribe-events-calendar-month .tribe-events-virtual-virtual-event__icon-svg{width:16px}.tribe-events .tribe-events-calendar-month .tribe-events-virtual-hybrid-event__text,.tribe-events .tribe-events-calendar-month .tribe-events-virtual-virtual-event__text,.tribe-events .tribe-events-calendar-month__calendar-event-tooltip .tribe-events-virtual-hybrid-event__text,.tribe-events .tribe-events-calendar-month__calendar-event-tooltip .tribe-events-virtual-virtual-event__text{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.tribe-events .tribe-events-pro-summary .tribe-events-virtual-hybrid-event,.tribe-events .tribe-events-pro-summary .tribe-events-virtual-virtual-event{display:inline-block}.tribe-events .tribe-events-pro-summary .tribe-events-virtual-hybrid-event__icon,.tribe-events .tribe-events-pro-summary .tribe-events-virtual-virtual-event__icon{margin-right:0}.tribe-events .tribe-events-pro-summary .tribe-events-virtual-hybrid-event__icon-svg,.tribe-events .tribe-events-pro-summary .tribe-events-virtual-virtual-event__icon-svg{height:10px}.tribe-events .tribe-events-pro-summary .tribe-events-virtual-hybrid-event__text,.tribe-events .tribe-events-pro-summary .tribe-events-virtual-virtual-event__text{display:none}.tribe-events .tribe-events-pro-photo__event.tribe-events-hybrid-event,.tribe-events .tribe-events-pro-photo__event.tribe-events-virtual-event{position:relative}.tribe-events .tribe-events-pro-photo .tribe-events-virtual-hybrid-event,.tribe-events .tribe-events-pro-photo .tribe-events-virtual-virtual-event{align-items:center;background-color:var(--tec-color-background);border-radius:13px;display:flex;height:26px;justify-content:center;left:calc(var(--tec-grid-gutter-small-half) + var(--tec-spacer-2));position:absolute;top:var(--tec-spacer-2);width:37px}.tribe-events.tribe-common--breakpoint-medium .tribe-events-pro-photo .tribe-events-virtual-hybrid-event,.tribe-events.tribe-common--breakpoint-medium .tribe-events-pro-photo .tribe-events-virtual-virtual-event{left:calc(var(--tec-grid-gutter-half) + var(--tec-spacer-2))}.tribe-events .tribe-events-pro-photo .tribe-events-virtual-hybrid-event__icon,.tribe-events .tribe-events-pro-photo .tribe-events-virtual-virtual-event__icon{margin-right:0}.tribe-events .tribe-events-pro-photo .tribe-events-virtual-hybrid-event__text,.tribe-events .tribe-events-pro-photo .tribe-events-virtual-virtual-event__text{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.tribe-events .tribe-events-pro-map .tribe-events-virtual-hybrid-event,.tribe-events .tribe-events-pro-map .tribe-events-virtual-virtual-event,.tribe-events .tribe-events-pro-map__event-tooltip .tribe-events-virtual-hybrid-event,.tribe-events .tribe-events-pro-map__event-tooltip .tribe-events-virtual-virtual-event{margin-top:var(--tec-spacer-1)}.tribe-events .tribe-events-pro-week-grid .tribe-events-virtual-hybrid-event,.tribe-events .tribe-events-pro-week-grid .tribe-events-virtual-virtual-event,.tribe-events .tribe-events-pro-week-grid__event-tooltip .tribe-events-virtual-hybrid-event,.tribe-events .tribe-events-pro-week-grid__event-tooltip .tribe-events-virtual-virtual-event{display:inline-block;line-height:0}.tribe-events .tribe-events-pro-week-grid__multiday-event .tribe-events-virtual-hybrid-event,.tribe-events .tribe-events-pro-week-grid__multiday-event .tribe-events-virtual-virtual-event{flex:none}.tribe-events .tribe-events-pro-week-mobile-events .tribe-events-virtual-hybrid-event,.tribe-events .tribe-events-pro-week-mobile-events .tribe-events-virtual-virtual-event{margin-bottom:var(--tec-spacer-1)}.tribe-events .tribe-events-pro-week-grid .tribe-events-virtual-hybrid-event__icon,.tribe-events .tribe-events-pro-week-grid .tribe-events-virtual-virtual-event__icon,.tribe-events .tribe-events-pro-week-grid__event-tooltip .tribe-events-virtual-hybrid-event__icon,.tribe-events .tribe-events-pro-week-grid__event-tooltip .tribe-events-virtual-virtual-event__icon{margin-right:var(--tec-spacer-0)}.tribe-events .tribe-events-pro-week-grid .tribe-events-virtual-hybrid-event__text,.tribe-events .tribe-events-pro-week-grid .tribe-events-virtual-virtual-event__text,.tribe-events .tribe-events-pro-week-grid__event-tooltip .tribe-events-virtual-hybrid-event__text,.tribe-events .tribe-events-pro-week-grid__event-tooltip .tribe-events-virtual-virtual-event__text{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.tribe-events #tribe-filter-VirtualEvents span{white-space:normal}.tribe-events .tribe-events-calendar-list__event-datetime-recurring-link{display:inline-block;margin-left:var(--tec-spacer-0);vertical-align:middle}.tribe-events .tribe-events-calendar-month__calendar-event-datetime-recurring-link,.tribe-events .tribe-events-calendar-month__calendar-event-multiday-recurring-link,.tribe-events .tribe-events-calendar-month__calendar-event-tooltip-datetime-recurring-link{display:inline-block;line-height:0;margin-left:2px}.tribe-events .tribe-events-calendar-month-mobile-events__mobile-event-datetime-recurring-link{display:inline-block;line-height:0;margin-left:var(--tec-spacer-0)}.tribe-events .tribe-events-calendar-day__event-datetime-recurring-link,.tribe-events .tribe-events-calendar-latest-past__event-datetime-recurring-link{display:inline-block;margin-left:var(--tec-spacer-0);vertical-align:middle}.tribe-events-pro .tribe-events-pro-photo__event{margin-bottom:var(--tec-spacer-5)}.tribe-common--breakpoint-xsmall.tribe-events-pro .tribe-events-pro-photo__event{width:var(--tec-grid-width-1-of-2)}.tribe-common--breakpoint-medium.tribe-events-pro .tribe-events-pro-photo__event{margin-bottom:var(--tec-spacer-9);width:var(--tec-grid-width-1-of-3)}.tribe-events-pro .tribe-events-pro-photo__event-featured-image-wrapper{flex:none;margin-bottom:var(--tec-spacer-2)}.tribe-events-pro .tribe-events-pro-photo__event-featured-image,.tribe-events-pro .tribe-events-pro-photo__event-featured-image-link{display:block}.tribe-events-pro .tribe-events-pro-photo__event-details-wrapper{display:flex}.tribe-events-pro .tribe-events-pro-photo__event-date-tag{flex:none;margin-right:var(--tec-spacer-2);width:40px}.tribe-events-pro .tribe-events-pro-photo__event-date-tag-datetime{display:flex;flex-direction:column;text-align:center}.tribe-events-pro .tribe-events-pro-photo__event-date-tag-month{margin-bottom:calc(var(--tec-spacer-0)*-1)}.tribe-events-pro .tribe-events-pro-photo__event-details{flex:auto;margin-top:-3px}.tribe-events-pro .tribe-events-pro-photo__event-details>:last-child{margin-bottom:0}.tribe-events-pro .tribe-events-pro-photo__event-title{margin:0 0 var(--tec-spacer-1)}.tribe-events-pro .tribe-events-pro-photo__event-title-link{background-color:transparent;border:0;font-family:inherit;font-size:inherit;letter-spacing:inherit;line-height:inherit;text-decoration:none;background:transparent;color:var(--tec-color-text-events-title)}.tribe-events-pro .tribe-events-pro-photo__event-title-link:active,.tribe-events-pro .tribe-events-pro-photo__event-title-link:focus,.tribe-events-pro .tribe-events-pro-photo__event-title-link:hover{background:transparent;border-color:currentColor;color:var(--tec-color-text-events-title)}.tribe-events-pro .tribe-events-pro-photo__event-title-link:visited{background:transparent;color:var(--tec-color-text-events-title)}.tribe-events-pro .tribe-events-pro-photo__event-datetime-featured-icon{display:inline-block;margin-right:var(--tec-spacer-0)}.tribe-events-pro .tribe-events-pro-photo__event-datetime-featured-text{margin-right:var(--tec-spacer-1)}.tribe-events-pro .tribe-events-pro-photo__event-datetime-recurring-icon{display:inline-block;margin-left:var(--tec-spacer-0)}.tribe-events-pro .tribe-events-pro-photo__event-cost{margin-top:var(--tec-spacer-1)}.tribe-common--breakpoint-medium.tribe-events-pro .tribe-events-pro-photo__event-cost{margin-top:var(--tec-spacer-2)}.tribe-theme-twentynineteen .tribe-events-pro .entry.tribe-common-g-col.tribe-events-pro-photo__event{margin-bottom:var(--tec-spacer-5)}.tribe-theme-twentynineteen .tribe-events-pro.tribe-common--breakpoint-medium .entry.tribe-common-g-col.tribe-events-pro-photo__event{margin-bottom:var(--tec-spacer-9)}.tribe-events-pro .tribe-events-pro-summary__month-separator{align-items:center;display:flex}.tribe-events-pro .tribe-events-pro-summary__month-separator:after{margin-left:0}.tribe-events-pro .tribe-events-pro-summary__month-separator-text{flex:none;text-align:center;white-space:nowrap}.tribe-events--filter-bar-vertical.tribe-common--breakpoint-medium .tribe-events-l-container>.tribe-events-pro-summary{width:calc(100% - 266px)}.tribe-events-pro .tribe-events-pro-summary__event-row{flex-wrap:nowrap;margin:var(--tec-spacer-3) 0}.tribe-common--breakpoint-medium.tribe-events-pro .tribe-events-pro-summary__event-row{align-items:center}.tribe-common--breakpoint-medium.tribe-events-pro .tribe-events-pro-summary__event-row>.tribe-common-g-col{padding-left:var(--tec-grid-gutter-half);padding-right:var(--tec-grid-gutter-half)}.tribe-events-pro .tribe-events-pro-summary__event-row:last-child{margin-bottom:var(--tec-spacer-8)}.tribe-common--breakpoint-medium.tribe-events-pro .tribe-events-pro-summary__event-row:last-child{margin-bottom:var(--tec-spacer-11)}.tribe-events-pro .tribe-events-pro-summary__month-separator+.tribe-events-pro-summary__date-separator{display:none}.tribe-events-pro .tribe-events-pro-summary__month-separator+.tribe-events-pro-summary__event-row{margin-top:var(--tec-spacer-4)}.tribe-common--breakpoint-medium.tribe-events-pro .tribe-events-pro-summary__month-separator+.tribe-events-pro-summary__event-row{margin-top:var(--tec-spacer-8)}.tribe-events-pro .tribe-events-pro-summary__date-separator{display:block;flex:auto;height:1px;margin:0}.tribe-common--breakpoint-medium.tribe-events-pro .tribe-events-pro-summary__date-separator{margin-left:112px}.tribe-events-pro .tribe-events-pro-summary__event-date-tag{flex:none;position:relative;width:74px}.tribe-common--breakpoint-medium.tribe-events-pro .tribe-events-pro-summary__event-date-tag{align-self:flex-start;margin-top:3px;min-width:90px}.tribe-events-pro .tribe-events-pro-summary__event-date-tag-datetime{display:flex;flex-direction:column;height:100%;padding-top:var(--tec-spacer-0);text-align:center}.tribe-events-pro .tribe-events-pro-summary__event-date-tag-weekday{margin-bottom:calc(var(--tec-spacer-0)*-1)}.tribe-events-pro .tribe-events-pro-summary__event-wrapper{flex:1;width:calc(var(--tec-grid-width-1-of-4)*3 + var(--tec-grid-gutter-small-half))}.tribe-common--breakpoint-medium.tribe-events-pro .tribe-events-pro-summary__event-wrapper{flex:1 1 calc(var(--tec-grid-width-1-of-9)*8)}.tribe-events-pro .tribe-events-pro-summary__event{flex-direction:column;margin-bottom:var(--tec-spacer-2)}.tribe-events-pro .tribe-events-pro-summary__event:last-child{margin-bottom:var(--tec-spacer-1)}.tribe-common--breakpoint-medium.tribe-events-pro .tribe-events-pro-summary__event:last-child{margin-bottom:0}.tribe-events-pro .tribe-events-pro-summary__event:only-child{margin-bottom:0;margin-top:0}.tribe-common--breakpoint-medium.tribe-events-pro .tribe-events-pro-summary__event{flex-direction:row-reverse;justify-content:flex-end;margin-bottom:var(--tec-spacer-1)}.tribe-events-pro .tribe-events-pro-summary__event-details{flex:none}.tribe-common--breakpoint-medium.tribe-events-pro .tribe-events-pro-summary__event-details{width:calc(var(--tec-grid-width-1-of-8)*5)}.tribe-common--breakpoint-medium.tribe-events-pro .tribe-events-pro-summary__event-header{align-items:center;display:flex;flex-direction:row;flex-wrap:nowrap}.tribe-events-pro .tribe-events-pro-summary__event-header>:last-child{margin-bottom:0}.tribe-events-pro .tribe-events-pro-summary__event-datetime-wrapper{align-self:baseline}.tribe-common--breakpoint-medium.tribe-events-pro .tribe-events-pro-summary__event-datetime-wrapper{display:block;flex-grow:0;flex-shrink:0;line-height:1.89;margin-bottom:0;width:174px}.tribe-events-pro .tribe-events-pro-summary__event-datetime-wrapper,.tribe-events-pro .tribe-events-pro-summary__event-title{margin:0 0 var(--tec-spacer-1)}.tribe-events-pro .tribe-events-pro-summary__event-datetime-wrapper:last-child,.tribe-events-pro .tribe-events-pro-summary__event-title:last-child{margin-bottom:0}.tribe-common--breakpoint-medium.tribe-events-pro .tribe-events-pro-summary__event-datetime-wrapper,.tribe-common--breakpoint-medium.tribe-events-pro .tribe-events-pro-summary__event-title{display:block;flex-grow:0}.tribe-events-pro .tribe-events-pro-summary__event-title-link{margin-left:var(--tec-spacer-0)}.tribe-events-pro .tribe-events-pro-summary__event-title-link:first-child{margin-left:0}.tribe-events-pro .tribe-events-pro-summary__event-title-icon{margin-left:0;margin-right:0}.tribe-events-pro .tribe-events-pro-summary__event-title-icon svg{display:inline-block}.tribe-events-pro .tribe-events-pro-summary__event-datetime-featured-icon{display:inline-block;margin-right:var(--tec-spacer-0)}.tribe-events-pro .tribe-events-pro-summary__event-cost{display:inline-block;flex-grow:0;line-height:var(--tec-line-height-3);margin-left:var(--tec-spacer-2)}.tribe-events-pro .tribe-events-pro-summary__event-datetime-recurring-link{vertical-align:text-top}.tribe-events-pro .tribe-events-pro-summary__event-datetime-recurring-icon-svg{display:inline-block;position:relative;top:-2px}.tribe-events-pro-summary .tribe-events-c-small-cta>*{margin-left:2px}.tribe-events-pro-summary .tribe-events-c-small-cta__text{margin-left:0}.tribe-events-pro-summary .tribe-events-c-small-cta__price{display:inline-block;margin-bottom:0;margin-top:0}.tribe-events-pro .tribe-events-pro-summary-nav{padding-top:var(--tec-spacer-5)}.tribe-common--breakpoint-medium.tribe-events-pro .tribe-events-pro-summary-nav{padding-top:var(--tec-spacer-7)}.tribe-events-pro .tribe-events-pro-week-day-selector{padding-bottom:var(--tec-spacer-3);position:relative}.tribe-common--breakpoint-medium.tribe-events-pro .tribe-events-pro-week-day-selector{display:none!important;visibility:hidden}.tribe-events-pro .tribe-events-pro-week-day-selector__days-list{display:flex;margin:0 var(--tec-spacer-3)}.tribe-events-pro .tribe-events-pro-week-day-selector__days-list-item{flex:none;width:var(--tec-grid-width-1-of-7)}.tribe-events-pro .tribe-events-pro-week-day-selector--hide-weekends .tribe-events-pro-week-day-selector__days-list-item{width:var(--tec-grid-width-1-of-5)}.tribe-events-pro .tribe-events-pro-week-day-selector__day{display:block;position:relative;width:100%}.tribe-events-pro .tribe-events-pro-week-day-selector__events-icon{background-color:currentColor;border-radius:50%;display:block;height:5px;left:50%;position:absolute;top:var(--tec-spacer-0);transform:translateX(-50%);width:5px}.tribe-events-pro .tribe-events-pro-week-day-selector__day-daynum,.tribe-events-pro .tribe-events-pro-week-day-selector__day-weekday{display:block}.tribe-events-pro .tribe-events-pro-week-day-selector__nav{position:absolute;top:calc(50% - var(--tec-spacer-1));width:100%}.tribe-events-pro .tribe-events-pro-week-day-selector__next,.tribe-events-pro .tribe-events-pro-week-day-selector__prev{display:block;height:38px;position:absolute;transform:translateY(-50%);width:24px}.tribe-events-pro .tribe-events-pro-week-day-selector__prev{left:calc(var(--tec-spacer-1)*-1)}.tribe-events-pro .tribe-events-pro-week-day-selector__next{right:calc(var(--tec-spacer-1)*-1)}.tribe-events-pro .tribe-events-pro-week-day-selector__next-icon-svg,.tribe-events-pro .tribe-events-pro-week-day-selector__prev-icon-svg{height:15px;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:12px}.tribe-events-pro .tribe-events-pro-week-day-selector__next-icon-svg path,.tribe-events-pro .tribe-events-pro-week-day-selector__prev-icon-svg path{fill:currentColor}.entry-content .tribe-events-pro .tribe-events-pro-week-day-selector__days-list,.tribe-theme-genesis .tribe-events-pro .tribe-events-pro-week-day-selector__days-list{display:flex;margin:0 var(--tec-spacer-3)}.tribe-common--breakpoint-medium.tribe-events-pro .tribe-events-pro-week-grid{display:block!important;visibility:visible}.tribe-events-pro .tribe-events-pro-week-grid__header-row{border-right:1px solid var(--tec-color-border-secondary);display:flex;padding-top:var(--tec-spacer-7)}.tribe-events-pro .tribe-events-pro-week-grid__header-column{border-color:var(--tec-color-border-secondary);border-style:solid;border-width:0 0 1px 1px;flex:none;width:calc(var(--tec-grid-width-1-of-7) - var(--tec-spacer-11)/7)}.tribe-events-pro .tribe-events-pro-week-grid__header-column--empty{border:0;flex:none;margin-left:var(--tec-spacer-3);width:var(--tec-spacer-9)}.tribe-events-pro .tribe-events-pro-week-grid--hide-weekends .tribe-events-pro-week-grid__header-column{width:calc(var(--tec-grid-width-1-of-5) - var(--tec-spacer-11)/5)}.tribe-events-pro .tribe-events-pro-week-grid--hide-weekends .tribe-events-pro-week-grid__header-column--empty{width:var(--tec-spacer-9)}.tribe-events-pro .tribe-events-pro-week-grid__header-column-title{margin:0}.tribe-events-pro .tribe-events-pro-week-grid__header-column--border-bottom{border-bottom:1px solid var(--tec-color-border-secondary)}.tribe-events-pro .tribe-events-pro-week-grid__header-column-datetime{align-items:center;display:flex;flex-direction:column;margin-top:calc(var(--tec-spacer-7)*-1);padding-bottom:var(--tec-spacer-3)}.tribe-events-pro .tribe-events-pro-week-grid__body{overflow:hidden}.tribe-events-pro .tribe-events-pro-week-grid__multiday-events-row-outer-wrapper{border-bottom:1px solid var(--tec-color-background-secondary);border-right:1px solid var(--tec-color-border-secondary);margin-left:var(--tec-spacer-3)}.tribe-events-pro .tribe-events-pro-week-grid__events-row-outer-wrapper{border-bottom:1px solid var(--tec-color-border-secondary)}.tribe-events-pro .tribe-events-pro-week-grid__multiday-events-row-wrapper{margin:0 calc(var(--tec-spacer-3)*-1)}.tribe-events-pro .tribe-events-pro-week-grid__events-row-wrapper{height:638px;overflow-y:hidden}.tribe-events-pro .tribe-events-pro-week-grid__events-row-wrapper--active{overflow-y:scroll}.tribe-events-pro .tribe-events-pro-week-grid__multiday-events-row{margin-right:var(--tec-spacer-3)}.tribe-events-pro .tribe-events-pro-week-grid__events-row,.tribe-events-pro .tribe-events-pro-week-grid__multiday-events-row{display:flex}.tribe-events-pro .tribe-events-pro-week-grid__events-row-header,.tribe-events-pro .tribe-events-pro-week-grid__multiday-events-row-header{flex:none;position:relative;width:var(--tec-spacer-11)}.tribe-events-pro .tribe-events-pro-week-grid__multiday-toggle-button{bottom:var(--tec-spacer-1);line-height:0;margin-right:var(--tec-spacer-3);padding:var(--tec-spacer-0);position:absolute;right:0}.tribe-events-pro .tribe-events-pro-week-grid__multiday-toggle-button--open .tribe-events-pro-week-grid__multiday-toggle-button-icon-svg{transform:rotate(180deg)}.tribe-events-pro .tribe-events-pro-week-grid__multiday-toggle-button-icon-svg{display:inline-block;height:9px;width:12px}.tribe-events-pro .tribe-events-pro-week-grid__events-row-header{padding-bottom:var(--tec-spacer-9)}.tribe-events-pro .tribe-events-pro-week-grid__events-day,.tribe-events-pro .tribe-events-pro-week-grid__multiday-events-day{border-left:1px solid var(--tec-color-border-secondary);flex:none;width:calc(var(--tec-grid-width-1-of-7) - var(--tec-spacer-11)/7)}.tribe-events-pro .tribe-events-pro-week-grid--hide-weekends .tribe-events-pro-week-grid__events-day,.tribe-events-pro .tribe-events-pro-week-grid--hide-weekends .tribe-events-pro-week-grid__multiday-events-day{width:calc(var(--tec-grid-width-1-of-5) - var(--tec-spacer-11)/5)}.tribe-events-pro .tribe-events-pro-week-grid__multiday-events-day,.tribe-events-pro .tribe-events-pro-week-grid__multiday-events-row-header{padding-top:var(--tec-spacer-0)}.tribe-events-pro .tribe-events-pro-week-grid__events-day{position:relative}.tribe-events-pro .tribe-events-pro-week-grid__events-scroll-wrapper{border-right:1px solid var(--tec-color-border-secondary);overflow:hidden;position:relative}.tribe-events-pro .tribe-events-pro-week-grid__events-time-tag{align-items:center;display:flex;height:var(--tec-spacer-9);justify-content:flex-end;position:relative;transform:translateY(var(--tec-spacer-5))}.tribe-events-pro .tribe-events-pro-week-grid__events-time-tag:after{background-color:var(--tec-color-border-secondary);content:"";display:block;height:1px;margin:1px 0 0 var(--tec-spacer-1);width:12px}.tribe-events-pro .tribe-events-pro-week-grid__events-time-tag--first,.tribe-events-pro .tribe-events-pro-week-grid__events-time-tag--last{height:1px;position:absolute}.tribe-events-pro .tribe-events-pro-week-grid__events-row-scroll-pane{background-color:var(--tec-color-scroll-track);border-radius:3px;bottom:0;position:absolute;right:0;top:0;width:6px;z-index:var(--tec-z-index-scroller)}.tribe-events-pro .tribe-events-pro-week-grid__events-row-scroll-slider{background:var(--tec-color-scroll-bar);border-radius:3px;position:relative}.tribe-events-pro .tribe-events-pro-week-grid__multiday-event-wrapper{height:18px;margin-bottom:var(--tec-spacer-0);position:relative}.tribe-events-pro .tribe-events-pro-week-grid__multiday-event-bar{background-color:var(--tec-color-background);overflow:hidden;position:relative;width:100%;z-index:var(--tec-z-index-multiday-event-bar)}.tribe-events-pro .tribe-events-pro-week-grid__multiday-event--width-2 .tribe-events-pro-week-grid__multiday-event-bar{width:calc(200% + 1px)}.tribe-events-pro .tribe-events-pro-week-grid__multiday-event--width-3 .tribe-events-pro-week-grid__multiday-event-bar{width:calc(300% + 2px)}.tribe-events-pro .tribe-events-pro-week-grid__multiday-event--width-4 .tribe-events-pro-week-grid__multiday-event-bar{width:calc(400% + 3px)}.tribe-events-pro .tribe-events-pro-week-grid__multiday-event--width-5 .tribe-events-pro-week-grid__multiday-event-bar{width:calc(500% + 4px)}.tribe-events-pro .tribe-events-pro-week-grid__multiday-event--width-6 .tribe-events-pro-week-grid__multiday-event-bar{width:calc(600% + 5px)}.tribe-events-pro .tribe-events-pro-week-grid__multiday-event--width-7 .tribe-events-pro-week-grid__multiday-event-bar{width:calc(700% + 6px)}.tribe-events-pro .tribe-events-pro-week-grid__multiday-event-hidden{height:100%;opacity:0;position:absolute;width:100%;z-index:var(--tec-z-index-multiday-event)}.tribe-events-pro .tribe-events-pro-week-grid__multiday-event-hidden-link{display:block;height:100%;overflow:hidden}.tribe-events-pro .tribe-events-pro-week-grid__multiday-event-hidden-title{margin:0;overflow:hidden;white-space:nowrap}.tribe-events-pro .tribe-events-pro-week-grid__multiday-event-bar-inner{align-items:center;cursor:pointer;display:flex;flex-wrap:nowrap;padding:1px var(--tec-spacer-3)}.tribe-events-pro .tribe-events-pro-week-grid__multiday-event-bar-featured-icon{flex:none;line-height:0;margin-right:var(--tec-spacer-0)}.tribe-events-pro .tribe-events-pro-week-grid__multiday-event-bar-recurring-icon{flex:none;line-height:0;margin-left:var(--tec-spacer-0)}.tribe-events-pro .tribe-events-pro-week-grid__multiday-event-bar-title{flex:none;margin:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tribe-events-pro .tribe-events-pro-week-grid__multiday-overflow-events{display:none}.tribe-events-pro .tribe-events-pro-week-grid__multiday-more-events{display:flex;flex:none;margin-bottom:var(--tec-spacer-0);padding:1px var(--tec-spacer-2)}.tribe-events-pro .tribe-events-pro-week-grid__multiday-more-events-button{display:block;flex:none}.tribe-events-pro .tribe-events-pro-week-grid__event{height:var(--tec-spacer-5);position:absolute;right:1px;top:0;width:calc(100% - 2px)}.tribe-events-pro .tribe-events-pro-week-grid__event-title-featured-icon{display:none}.tribe-events-pro [class*=tribe-events-pro-week-grid__event--h-0] .tribe-events-pro-week-grid__event-link-inner{padding:2px var(--tec-spacer-1)}.tribe-events-pro [class*=tribe-events-pro-week-grid__event--h-0] .tribe-events-pro-week-grid__event-datetime{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.tribe-events-pro [class*=tribe-events-pro-week-grid__event--h-0] .tribe-events-pro-week-grid__event-title-featured-icon{display:inline-block;margin-right:var(--tec-spacer-0)}.tribe-events-pro .tribe-events-pro-week-grid__event-link{background-color:var(--tec-color-background);height:100%;overflow:hidden;position:absolute;width:100%}.tribe-events-pro .tribe-events-pro-week-grid__event-link--intended{z-index:var(--tec-z-index-week-event-hover)}.tribe-events-pro .tribe-events-pro-week-grid__event-link-inner{display:block;height:100%;padding:var(--tec-spacer-0) var(--tec-spacer-1);width:100%}.tribe-events-pro .tribe-events-pro-week-grid__event--seq-2{width:calc(90% - 2px)}.tribe-events-pro .tribe-events-pro-week-grid__event--seq-3{width:calc(80% - 2px)}.tribe-events-pro .tribe-events-pro-week-grid__event--seq-4{width:calc(70% - 2px)}.tribe-events-pro .tribe-events-pro-week-grid__event--seq-5{width:calc(60% - 2px)}.tribe-events-pro .tribe-events-pro-week-grid__event--seq-6{width:calc(50% - 2px)}.tribe-events-pro .tribe-events-pro-week-grid__event--seq-7{width:calc(40% - 2px)}.tribe-events-pro .tribe-events-pro-week-grid__event--seq-8{width:calc(30% - 2px)}.tribe-events-pro .tribe-events-pro-week-grid__event--h-1{height:calc(var(--tec-spacer-5)*2)}.tribe-events-pro .tribe-events-pro-week-grid__event--h-1-5{height:calc(var(--tec-spacer-5)*3)}.tribe-events-pro .tribe-events-pro-week-grid__event--h-2{height:calc(var(--tec-spacer-5)*4)}.tribe-events-pro .tribe-events-pro-week-grid__event--h-2-5{height:calc(var(--tec-spacer-5)*5)}.tribe-events-pro .tribe-events-pro-week-grid__event--h-3{height:calc(var(--tec-spacer-5)*6)}.tribe-events-pro .tribe-events-pro-week-grid__event--h-3-5{height:calc(var(--tec-spacer-5)*7)}.tribe-events-pro .tribe-events-pro-week-grid__event--h-4{height:calc(var(--tec-spacer-5)*8)}.tribe-events-pro .tribe-events-pro-week-grid__event--h-4-5{height:calc(var(--tec-spacer-5)*9)}.tribe-events-pro .tribe-events-pro-week-grid__event--h-5{height:calc(var(--tec-spacer-5)*10)}.tribe-events-pro .tribe-events-pro-week-grid__event--h-5-5{height:calc(var(--tec-spacer-5)*11)}.tribe-events-pro .tribe-events-pro-week-grid__event--h-6{height:calc(var(--tec-spacer-5)*12)}.tribe-events-pro .tribe-events-pro-week-grid__event--h-6-5{height:calc(var(--tec-spacer-5)*13)}.tribe-events-pro .tribe-events-pro-week-grid__event--h-7{height:calc(var(--tec-spacer-5)*14)}.tribe-events-pro .tribe-events-pro-week-grid__event--h-7-5{height:calc(var(--tec-spacer-5)*15)}.tribe-events-pro .tribe-events-pro-week-grid__event--h-8{height:calc(var(--tec-spacer-5)*16)}.tribe-events-pro .tribe-events-pro-week-grid__event--h-8-5{height:calc(var(--tec-spacer-5)*17)}.tribe-events-pro .tribe-events-pro-week-grid__event--h-9{height:calc(var(--tec-spacer-5)*18)}.tribe-events-pro .tribe-events-pro-week-grid__event--h-9-5{height:calc(var(--tec-spacer-5)*19)}.tribe-events-pro .tribe-events-pro-week-grid__event--h-10{height:calc(var(--tec-spacer-5)*20)}.tribe-events-pro .tribe-events-pro-week-grid__event--h-10-5{height:calc(var(--tec-spacer-5)*21)}.tribe-events-pro .tribe-events-pro-week-grid__event--h-11{height:calc(var(--tec-spacer-5)*22)}.tribe-events-pro .tribe-events-pro-week-grid__event--h-11-5{height:calc(var(--tec-spacer-5)*23)}.tribe-events-pro .tribe-events-pro-week-grid__event--h-12{height:calc(var(--tec-spacer-5)*24)}.tribe-events-pro .tribe-events-pro-week-grid__event--h-12-5{height:calc(var(--tec-spacer-5)*25)}.tribe-events-pro .tribe-events-pro-week-grid__event--h-13{height:calc(var(--tec-spacer-5)*26)}.tribe-events-pro .tribe-events-pro-week-grid__event--h-13-5{height:calc(var(--tec-spacer-5)*27)}.tribe-events-pro .tribe-events-pro-week-grid__event--h-14{height:calc(var(--tec-spacer-5)*28)}.tribe-events-pro .tribe-events-pro-week-grid__event--h-14-5{height:calc(var(--tec-spacer-5)*29)}.tribe-events-pro .tribe-events-pro-week-grid__event--h-15{height:calc(var(--tec-spacer-5)*30)}.tribe-events-pro .tribe-events-pro-week-grid__event--h-15-5{height:calc(var(--tec-spacer-5)*31)}.tribe-events-pro .tribe-events-pro-week-grid__event--h-16{height:calc(var(--tec-spacer-5)*32)}.tribe-events-pro .tribe-events-pro-week-grid__event--h-16-5{height:calc(var(--tec-spacer-5)*33)}.tribe-events-pro .tribe-events-pro-week-grid__event--h-17{height:calc(var(--tec-spacer-5)*34)}.tribe-events-pro .tribe-events-pro-week-grid__event--h-17-5{height:calc(var(--tec-spacer-5)*35)}.tribe-events-pro .tribe-events-pro-week-grid__event--h-18{height:calc(var(--tec-spacer-5)*36)}.tribe-events-pro .tribe-events-pro-week-grid__event--h-18-5{height:calc(var(--tec-spacer-5)*37)}.tribe-events-pro .tribe-events-pro-week-grid__event--h-19{height:calc(var(--tec-spacer-5)*38)}.tribe-events-pro .tribe-events-pro-week-grid__event--h-19-5{height:calc(var(--tec-spacer-5)*39)}.tribe-events-pro .tribe-events-pro-week-grid__event--h-20{height:calc(var(--tec-spacer-5)*40)}.tribe-events-pro .tribe-events-pro-week-grid__event--h-20-5{height:calc(var(--tec-spacer-5)*41)}.tribe-events-pro .tribe-events-pro-week-grid__event--h-21{height:calc(var(--tec-spacer-5)*42)}.tribe-events-pro .tribe-events-pro-week-grid__event--h-21-5{height:calc(var(--tec-spacer-5)*43)}.tribe-events-pro .tribe-events-pro-week-grid__event--h-22{height:calc(var(--tec-spacer-5)*44)}.tribe-events-pro .tribe-events-pro-week-grid__event--h-22-5{height:calc(var(--tec-spacer-5)*45)}.tribe-events-pro .tribe-events-pro-week-grid__event--h-23{height:calc(var(--tec-spacer-5)*46)}.tribe-events-pro .tribe-events-pro-week-grid__event--h-23-5{height:calc(var(--tec-spacer-5)*47)}.tribe-events-pro .tribe-events-pro-week-grid__event--h-24{height:calc(var(--tec-spacer-5)*48)}.tribe-events-pro .tribe-events-pro-week-grid__event--t-0-5{top:var(--tec-spacer-5)}.tribe-events-pro .tribe-events-pro-week-grid__event--t-1{top:calc(var(--tec-spacer-5)*2)}.tribe-events-pro .tribe-events-pro-week-grid__event--t-1-5{top:calc(var(--tec-spacer-5)*3)}.tribe-events-pro .tribe-events-pro-week-grid__event--t-2{top:calc(var(--tec-spacer-5)*4)}.tribe-events-pro .tribe-events-pro-week-grid__event--t-2-5{top:calc(var(--tec-spacer-5)*5)}.tribe-events-pro .tribe-events-pro-week-grid__event--t-3{top:calc(var(--tec-spacer-5)*6)}.tribe-events-pro .tribe-events-pro-week-grid__event--t-3-5{top:calc(var(--tec-spacer-5)*7)}.tribe-events-pro .tribe-events-pro-week-grid__event--t-4{top:calc(var(--tec-spacer-5)*8)}.tribe-events-pro .tribe-events-pro-week-grid__event--t-4-5{top:calc(var(--tec-spacer-5)*9)}.tribe-events-pro .tribe-events-pro-week-grid__event--t-5{top:calc(var(--tec-spacer-5)*10)}.tribe-events-pro .tribe-events-pro-week-grid__event--t-5-5{top:calc(var(--tec-spacer-5)*11)}.tribe-events-pro .tribe-events-pro-week-grid__event--t-6{top:calc(var(--tec-spacer-5)*12)}.tribe-events-pro .tribe-events-pro-week-grid__event--t-6-5{top:calc(var(--tec-spacer-5)*13)}.tribe-events-pro .tribe-events-pro-week-grid__event--t-7{top:calc(var(--tec-spacer-5)*14)}.tribe-events-pro .tribe-events-pro-week-grid__event--t-7-5{top:calc(var(--tec-spacer-5)*15)}.tribe-events-pro .tribe-events-pro-week-grid__event--t-8{top:calc(var(--tec-spacer-5)*16)}.tribe-events-pro .tribe-events-pro-week-grid__event--t-8-5{top:calc(var(--tec-spacer-5)*17)}.tribe-events-pro .tribe-events-pro-week-grid__event--t-9{top:calc(var(--tec-spacer-5)*18)}.tribe-events-pro .tribe-events-pro-week-grid__event--t-9-5{top:calc(var(--tec-spacer-5)*19)}.tribe-events-pro .tribe-events-pro-week-grid__event--t-10{top:calc(var(--tec-spacer-5)*20)}.tribe-events-pro .tribe-events-pro-week-grid__event--t-10-5{top:calc(var(--tec-spacer-5)*21)}.tribe-events-pro .tribe-events-pro-week-grid__event--t-11{top:calc(var(--tec-spacer-5)*22)}.tribe-events-pro .tribe-events-pro-week-grid__event--t-11-5{top:calc(var(--tec-spacer-5)*23)}.tribe-events-pro .tribe-events-pro-week-grid__event--t-12{top:calc(var(--tec-spacer-5)*24)}.tribe-events-pro .tribe-events-pro-week-grid__event--t-12-5{top:calc(var(--tec-spacer-5)*25)}.tribe-events-pro .tribe-events-pro-week-grid__event--t-13{top:calc(var(--tec-spacer-5)*26)}.tribe-events-pro .tribe-events-pro-week-grid__event--t-13-5{top:calc(var(--tec-spacer-5)*27)}.tribe-events-pro .tribe-events-pro-week-grid__event--t-14{top:calc(var(--tec-spacer-5)*28)}.tribe-events-pro .tribe-events-pro-week-grid__event--t-14-5{top:calc(var(--tec-spacer-5)*29)}.tribe-events-pro .tribe-events-pro-week-grid__event--t-15{top:calc(var(--tec-spacer-5)*30)}.tribe-events-pro .tribe-events-pro-week-grid__event--t-15-5{top:calc(var(--tec-spacer-5)*31)}.tribe-events-pro .tribe-events-pro-week-grid__event--t-16{top:calc(var(--tec-spacer-5)*32)}.tribe-events-pro .tribe-events-pro-week-grid__event--t-16-5{top:calc(var(--tec-spacer-5)*33)}.tribe-events-pro .tribe-events-pro-week-grid__event--t-17{top:calc(var(--tec-spacer-5)*34)}.tribe-events-pro .tribe-events-pro-week-grid__event--t-17-5{top:calc(var(--tec-spacer-5)*35)}.tribe-events-pro .tribe-events-pro-week-grid__event--t-18{top:calc(var(--tec-spacer-5)*36)}.tribe-events-pro .tribe-events-pro-week-grid__event--t-18-5{top:calc(var(--tec-spacer-5)*37)}.tribe-events-pro .tribe-events-pro-week-grid__event--t-19{top:calc(var(--tec-spacer-5)*38)}.tribe-events-pro .tribe-events-pro-week-grid__event--t-19-5{top:calc(var(--tec-spacer-5)*39)}.tribe-events-pro .tribe-events-pro-week-grid__event--t-20{top:calc(var(--tec-spacer-5)*40)}.tribe-events-pro .tribe-events-pro-week-grid__event--t-20-5{top:calc(var(--tec-spacer-5)*41)}.tribe-events-pro .tribe-events-pro-week-grid__event--t-21{top:calc(var(--tec-spacer-5)*42)}.tribe-events-pro .tribe-events-pro-week-grid__event--t-21-5{top:calc(var(--tec-spacer-5)*43)}.tribe-events-pro .tribe-events-pro-week-grid__event--t-22{top:calc(var(--tec-spacer-5)*44)}.tribe-events-pro .tribe-events-pro-week-grid__event--t-22-5{top:calc(var(--tec-spacer-5)*45)}.tribe-events-pro .tribe-events-pro-week-grid__event--t-23{top:calc(var(--tec-spacer-5)*46)}.tribe-events-pro .tribe-events-pro-week-grid__event--t-23-5{top:calc(var(--tec-spacer-5)*47)}.tribe-events-pro .tribe-events-pro-week-grid__event-title{flex:auto;margin:0}.tribe-events-pro .tribe-events-pro-week-grid__event-datetime>*{vertical-align:middle}.tribe-events-pro .tribe-events-pro-week-grid__event-datetime-featured-icon{display:inline-block;margin-right:var(--tec-spacer-0)}.tribe-events-pro .tribe-events-pro-week-grid__event-datetime-recurring-icon{display:inline-block;margin-left:var(--tec-spacer-0)}.tribe-events-pro .tribe-events-pro-week-grid__event-featured-image-wrapper{margin:var(--tec-spacer-0) 0}.tribe-events-pro .tribe-events-pro-week-grid__event-featured-image{padding-bottom:56.25%}.tribe-events-pro .tribe-events-pro-week-grid__event-tooltip-featured-image-wrapper{margin-bottom:var(--tec-spacer-2);width:206px}.tribe-events-pro .tribe-events-pro-week-grid__event-tooltip-featured-image-wrapper:last-child{margin-bottom:0}.tribe-events-pro .tribe-events-pro-week-grid__event-tooltip-featured-image-link{display:block}.tribe-events-pro .tribe-events-pro-week-grid__event-tooltip-datetime{margin-bottom:var(--tec-spacer-0)}.tribe-events-pro .tribe-events-pro-week-grid__event-tooltip-datetime>*{vertical-align:middle}.tribe-events-pro .tribe-events-pro-week-grid__event-tooltip-datetime-featured-icon,.tribe-events-pro .tribe-events-pro-week-grid__event-tooltip-datetime-recurring-icon{display:inline-block;line-height:0}.tribe-events-pro .tribe-events-pro-week-grid__event-tooltip-datetime-featured-icon{margin-right:var(--tec-spacer-0)}.tribe-events-pro .tribe-events-pro-week-grid__event-tooltip-datetime-recurring-icon{margin-left:var(--tec-spacer-0)}.tribe-events-pro .tribe-events-pro-week-grid__event-tooltip-title{margin-bottom:var(--tec-spacer-0)}.tribe-events-pro .tribe-events-pro-week-grid__event-tooltip-description{margin-bottom:var(--tec-spacer-1)}.tribe-events-pro .tribe-events-pro-week-grid__event-tooltip-description:last-child{margin-bottom:0}.tribe-events-pro .tribe-events-pro-week-grid__event-tooltip-cost{margin-top:var(--tec-spacer-3)}.tribe-common--breakpoint-medium.tribe-events-pro .tribe-events-pro-week-mobile-events{display:none!important;visibility:hidden}.tribe-events-pro .tribe-events-pro-week-mobile-events__day{display:none}.tribe-events-pro .tribe-events-pro-week-mobile-events__day--active{display:block}.tribe-events-pro .tribe-events-pro-week-mobile-events__event{display:flex;flex-direction:column;margin-bottom:var(--tec-spacer-5);margin-top:var(--tec-spacer-7);padding-left:var(--tec-grid-gutter-small)}.tribe-events-pro .tribe-events-pro-week-mobile-events__event:last-child{margin-bottom:var(--tec-spacer-8)}.tribe-events-pro .tribe-events-pro-week-mobile-events__event--featured{position:relative}.tribe-events-pro .tribe-events-pro-week-mobile-events__event-time-separator+.tribe-events-pro-week-mobile-events__event{margin-top:var(--tec-spacer-4)}.tribe-events-pro .tribe-events-pro-week-mobile-events__event-featured-image-wrapper{flex:none;margin-bottom:var(--tec-spacer-3)}.tribe-events-pro .tribe-events-pro-week-mobile-events__event-featured-image,.tribe-events-pro .tribe-events-pro-week-mobile-events__event-featured-image-link{display:block}.tribe-events-pro .tribe-events-pro-week-mobile-events__event-details{flex:none}.tribe-events-pro .tribe-events-pro-week-mobile-events__event-details>:last-child{margin-bottom:0}.tribe-events-pro .tribe-events-pro-week-mobile-events__event-datetime-wrapper,.tribe-events-pro .tribe-events-pro-week-mobile-events__event-title{margin:0 0 var(--tec-spacer-1)}.tribe-events-pro .tribe-events-pro-week-mobile-events__event-datetime-wrapper:last-child,.tribe-events-pro .tribe-events-pro-week-mobile-events__event-title:last-child{margin-bottom:0}.tribe-events-pro .tribe-events-pro-week-mobile-events__event-datetime-featured-icon{display:inline-block;margin-right:var(--tec-spacer-0)}.tribe-events-pro .tribe-events-pro-week-mobile-events__event-datetime-recurring-icon{display:inline-block;margin-left:var(--tec-spacer-0)}.tribe-events-pro .tribe-events-pro-week-mobile-events__event-venue{margin-bottom:var(--tec-spacer-1)}.tribe-theme-twentynineteen .tribe-events-pro .entry.tribe-events-pro-week-mobile-events__event{margin-bottom:var(--tec-spacer-5);margin-top:var(--tec-spacer-7);padding-left:var(--tec-grid-gutter-small)}.tribe-theme-twentynineteen .tribe-events-pro .entry.tribe-events-pro-week-mobile-events__event:last-child{margin-bottom:var(--tec-spacer-8)}.tribe-theme-twentynineteen .tribe-events-pro .tribe-events-pro-week-mobile-events__event-time-separator+.entry.tribe-events-pro-week-mobile-events__event{margin-top:var(--tec-spacer-4)}.tribe-events-pro .tribe-events-pro-week-mobile-events__event-time-separator{align-items:center;display:flex}.tribe-events-pro .tribe-events-pro-week-mobile-events__event-time-separator-text{flex:none}.tribe-events-pro .tribe-events-pro-week-mobile-events__event-type-separator{align-items:center;display:flex}.tribe-events-pro .tribe-events-pro-week-mobile-events__event-type-separator-text{flex:none}.tribe-events-pro .tribe-events-pro-week-nav{padding-top:var(--tec-spacer-4)}.tribe-common--breakpoint-medium:not(.tribe-events-widget).tribe-events-pro .tribe-events-pro-week-nav{display:none!important;visibility:hidden}.tribe-events-pro .tribe-events-pro-map__map{height:300px;position:relative}.tribe-common--breakpoint-medium.tribe-events-pro .tribe-events-pro-map__map{height:720px;width:60%}.tribe-events-pro .tribe-events-pro-map__google-maps-default,.tribe-events-pro .tribe-events-pro-map__google-maps-premium{height:100%;width:100%}.tribe-events-pro .gm-style img{max-width:none}.tribe-events-pro .tribe-events-pro-map__no-venue-modal{background-color:var(--tec-color-background);left:50%;max-width:333px;position:absolute;top:50%;transform:translate(-50%,-50%);width:calc(100% - var(--tec-spacer-6)*2)}.tribe-events-pro .tribe-events-pro-map__no-venue-modal-close{padding:var(--tec-spacer-1);position:absolute;right:var(--tec-spacer-1);top:var(--tec-spacer-1)}.tribe-events-pro .tribe-events-pro-map__no-venue-modal-close-icon{display:block;width:10px}.tribe-events-pro .tribe-events-pro-map__no-venue-modal-content{align-items:flex-start;display:flex;flex-direction:column;padding:var(--tec-spacer-9) var(--tec-spacer-5) var(--tec-spacer-5)}.tribe-common--breakpoint-medium.tribe-events-pro .tribe-events-pro-map__no-venue-modal-content{padding:var(--tec-spacer-8) var(--tec-spacer-9)}.tribe-events-pro .tribe-events-pro-map__no-venue-modal-icon{align-self:center;margin-bottom:var(--tec-spacer-5);width:64px}.tribe-events-pro .tribe-events-pro-map__no-venue-modal-text{margin-bottom:var(--tec-spacer-1)}.tribe-events-pro .tribe-events-pro-map__no-venue-modal--default{background-color:var(--tec-color-background-secondary);height:100%;max-width:none;width:100%}.tribe-events-pro .tribe-events-pro-map__no-venue-modal--default .tribe-events-pro-map__no-venue-modal-content{left:50%;max-width:333px;position:absolute;top:50%;transform:translate(-50%,-50%);width:100%}.tribe-events-pro .tribe-events-pro-map__no-venue-modal--default .tribe-events-pro-map__no-venue-modal-icon{margin-bottom:var(--tec-spacer-6)}.tribe-events-pro .tribe-events-pro-map__no-venue-modal--default .tribe-events-pro-map__no-venue-modal-text{margin-bottom:var(--tec-spacer-3)}.tribe-events-pro .tribe-events-pro-map__event-column{display:flex;flex-direction:column;height:290px;position:relative}.tribe-common--breakpoint-medium.tribe-events-pro .tribe-events-pro-map__event-column{height:720px;width:40%}.tribe-events-pro .tribe-events-pro-map__event-cards-wrapper{flex:auto;overflow:hidden;position:relative}.tribe-events-pro .tribe-events-pro-map__event-cards{height:100%;left:0;overflow:hidden;position:absolute;right:0}.tribe-events-pro .tribe-events-pro-map__event-cards--active{overflow-y:scroll}.tribe-events-pro .tribe-events-pro-map__event-cards-scroll-pane{background-color:var(--tec-color-scroll-track);border-radius:3px;bottom:0;position:absolute;right:0;top:0;width:3px;z-index:var(--tec-z-index-scroller)}.tribe-events-pro .tribe-events-pro-map__event-cards-scroll-slider{background:var(--tec-color-scroll-bar);border-radius:3px;position:relative}.tribe-events-pro .tribe-events-pro-map__event-card-wrapper{position:relative}.tribe-common--breakpoint-medium.tribe-events-pro .tribe-events-pro-map__event-card-wrapper--has-thumbnail .tribe-events-pro-map__event-details,.tribe-common--breakpoint-medium.tribe-events-pro .tribe-events-pro-map__event-card-wrapper--has-thumbnail .tribe-events-pro-map__event-details-spacer{width:calc(var(--tec-grid-width-1-of-8)*5)}.tribe-common--breakpoint-medium.tribe-events-pro .tribe-events-pro-map__event-card-wrapper--has-thumbnail .tribe-events-pro-map__event-spacer:after{content:""}.tribe-events-pro .tribe-events-pro-map__event-card,.tribe-events-pro .tribe-events-pro-map__event-card-spacer{padding:var(--tec-spacer-3) var(--tec-spacer-2)}.tribe-events-pro .tribe-events-pro-map__event-card-spacer{border-left:1px solid transparent;border-right:1px solid transparent;padding-bottom:0;padding-top:0}.tribe-events-pro .tribe-events-pro-map__event-card-button{position:relative;width:100%}.tribe-events-pro .tribe-events-pro-map__event-card-button:focus,.tribe-events-pro .tribe-events-pro-map__event-card-button:hover,.tribe-events-pro .tribe-events-pro-map__event-card-wrapper--active .tribe-events-pro-map__event-card-button{z-index:var(--tec-z-index-map-event-hover)}.tribe-events-pro .tribe-events-pro-map__event-card-wrapper--active .tribe-events-pro-map__event-actions--linked{bottom:calc(var(--tec-spacer-3) + 1px);position:absolute;width:calc(100% - 18px);z-index:var(--tec-z-index-map-event-hover-actions)}.tribe-events-pro .tribe-events-pro-map__event-card-wrapper--active .tribe-events-pro-map__event-actions--spacer{display:block;visibility:hidden}.tribe-events-pro .tribe-events-pro-map__event-row,.tribe-events-pro .tribe-events-pro-map__event-row-spacer{flex-wrap:nowrap;margin-left:-9px;margin-right:-9px}.tribe-events-pro .tribe-events-pro-map__event-row-spacer>.tribe-common-g-col,.tribe-events-pro .tribe-events-pro-map__event-row>.tribe-common-g-col{padding-left:9px;padding-right:9px}.tribe-events-pro .tribe-events-pro-map__event-date-tag,.tribe-events-pro .tribe-events-pro-map__event-row-spacer:before{flex:none;margin-right:0;min-width:52px;width:var(--tec-grid-width-1-of-8)}.tribe-events-pro .tribe-events-pro-map__event-row-spacer:before{content:""}.tribe-events-pro .tribe-events-pro-map__event-date-tag-datetime{display:flex;flex-direction:column;text-align:center}.tribe-events-pro .tribe-events-pro-map__event-date-tag-month{margin-bottom:calc(var(--tec-spacer-0)*-1)}.tribe-events-pro .tribe-events-pro-map__event-wrapper,.tribe-events-pro .tribe-events-pro-map__event-wrapper-spacer{flex:auto}.tribe-events-pro .tribe-events-pro-map__event,.tribe-events-pro .tribe-events-pro-map__event-spacer{margin-left:-9px;margin-right:-9px}.tribe-events-pro .tribe-events-pro-map__event-spacer>.tribe-common-g-col,.tribe-events-pro .tribe-events-pro-map__event>.tribe-common-g-col{padding-left:9px;padding-right:9px}.tribe-common--breakpoint-medium.tribe-events-pro .tribe-events-pro-map__event-featured-image-wrapper,.tribe-common--breakpoint-medium.tribe-events-pro .tribe-events-pro-map__event-spacer:after{display:block!important;margin-bottom:0;visibility:visible;width:calc(var(--tec-grid-width-1-of-8)*3)}.tribe-events-pro .tribe-events-pro-map__event-featured-image-link{display:block}.tribe-events-pro .tribe-events-pro-map__event-details,.tribe-events-pro .tribe-events-pro-map__event-details-spacer{flex:none}.tribe-events-pro .tribe-events-pro-map__event-details-spacer{position:relative}.tribe-events-pro .tribe-events-pro-map__event-datetime-wrapper{margin-bottom:var(--tec-spacer-0)}.tribe-events-pro .tribe-events-pro-map__event-datetime-wrapper:last-child{margin-bottom:0}.tribe-events-pro .tribe-events-pro-map__event-datetime-featured-icon{display:inline-block;margin-right:var(--tec-spacer-0)}.tribe-common--breakpoint-medium.tribe-events-pro .tribe-events-pro-map__event-datetime-featured-text{clip:auto;height:auto;margin:0;position:static;width:auto;margin-right:var(--tec-spacer-1)}.tribe-events-pro .tribe-events-pro-map__event-datetime-recurring-icon{display:inline-block;margin-left:var(--tec-spacer-0)}.tribe-events-pro .tribe-events-pro-map__event-title{margin:0 0 6px}.tribe-events-pro .tribe-events-pro-map__event-title:last-child{margin-bottom:0}.tribe-events-pro .tribe-events-pro-map__event-venue{margin-bottom:var(--tec-spacer-0)}.tribe-events-pro .tribe-events-pro-map__event-venue:last-child{margin-bottom:0}.tribe-common--breakpoint-medium.tribe-events-pro .tribe-events-pro-map__event-distance{display:block!important;visibility:visible}.tribe-events-pro .tribe-events-pro-map__event-actions{display:none;margin-top:var(--tec-spacer-1);position:relative}.tribe-theme-twentynineteen .tribe-events-pro .tribe-events-pro-map__event-card.entry{padding:var(--tec-spacer-3) var(--tec-spacer-2)}.tribe-events-pro .tribe-events-pro-map__event-tooltip{padding-bottom:var(--tec-spacer-5)}.tribe-events-pro .tribe-events-pro-map__event-tooltip--has-slider{padding-bottom:var(--tec-spacer-3)}.tribe-events-pro .tribe-events-pro-map__event-tooltip-slider-wrapper{flex-wrap:nowrap}.tribe-events-pro .tribe-events-pro-map__event-tooltip-slide{flex:none}.tribe-events-pro .tribe-events-pro-map__event-tooltip-datetime-wrapper{margin-bottom:var(--tec-spacer-0)}.tribe-events-pro .tribe-events-pro-map__event-tooltip-datetime-featured-icon{display:inline-block;margin-right:var(--tec-spacer-1)}.tribe-events-pro .tribe-events-pro-map__event-tooltip-title{margin:0}.tribe-events-pro .tribe-events-pro-map__event-tooltip-venue{margin-top:var(--tec-spacer-1)}.tribe-events-pro .tribe-events-pro-map__event-tooltip-cost{margin-top:var(--tec-spacer-3)}.tribe-events-pro .tribe-events-pro-map__event-tooltip-navigation{padding-top:var(--tec-spacer-4)}.tribe-events-pro .tribe-events-pro-map__event-tooltip-navigation-list{flex-wrap:nowrap;justify-content:space-between}.tribe-events-pro .tribe-events-pro-map__event-tooltip-navigation-list-item{flex:none;width:auto}.tribe-events-pro .tribe-events-pro-map__event-tooltip-navigation-button{align-items:center;display:flex}.tribe-events-pro .gm-style .gm-style-iw-c{max-height:none!important;padding:var(--tec-spacer-5) var(--tec-spacer-5) 0!important}.tribe-events-pro .gm-style .gm-style-iw-c>button{right:0!important;top:-2px!important}.tribe-events-pro .gm-style .gm-style-iw-c>button img{height:16px!important;width:16px!important}.tribe-events-pro .gm-style .gm-style-iw-d{max-height:none!important;max-width:206px!important;overflow:hidden!important;width:100%}.tribe-events-pro .tribe-events-pro-map__nav{flex:none;padding:var(--tec-spacer-3) var(--tec-spacer-2)}.tribe-events-pro .tribe-events-pro-organizer__meta{width:100%}.tribe-events-pro .tribe-events-pro-organizer__meta .tec-events-c-view-box-border{display:flex;flex-wrap:wrap}.tribe-common--breakpoint-medium.tribe-events-pro .tribe-events-pro-organizer__meta--has-featured-image .tribe-events-pro-organizer__meta-data{padding-left:var(--tec-grid-gutter-small-half);width:calc(var(--tec-grid-width-1-of-8)*5)}.tribe-common--breakpoint-medium.tribe-events-pro .tribe-events-pro-organizer__meta--has-featured-image .tribe-events-pro-organizer__meta-content{width:100%}.tribe-common--breakpoint-medium.tribe-events-pro .tribe-events-pro-organizer__meta--has-featured-image .tribe-events-pro-organizer__meta-details{margin-bottom:var(--tec-grid-gutter-small-half);width:100%}.tribe-common--breakpoint-medium.tribe-events-pro .tribe-events-pro-organizer__meta--has-featured-image:not(.tribe-events-pro-organizer__meta--has-details) .tribe-events-pro-organizer__meta-featured-image-wrapper{margin-bottom:0}.tribe-common--breakpoint-medium.tribe-events-pro .tribe-events-pro-organizer__meta--has-featured-image:not(.tribe-events-pro-organizer__meta--has-details,.tribe-events-pro-organizer__meta--has-content,.tribe-events-pro-organizer__meta--has-taxonomy) .tec-events-c-view-box-border{width:calc(var(--tec-grid-width-1-of-8)*3)}.tribe-common--breakpoint-medium.tribe-events-pro .tribe-events-pro-organizer__meta--has-featured-image:not(.tribe-events-pro-organizer__meta--has-details,.tribe-events-pro-organizer__meta--has-content,.tribe-events-pro-organizer__meta--has-taxonomy) .tribe-events-pro-organizer__meta-details{width:100%}.tribe-common--breakpoint-medium.tribe-events-pro .tribe-events-pro-organizer__meta--has-featured-image:not(.tribe-events-pro-organizer__meta--has-details,.tribe-events-pro-organizer__meta--has-content,.tribe-events-pro-organizer__meta--has-taxonomy) .tribe-events-pro-organizer__meta-featured-image-wrapper{padding-right:0;width:100%}.tribe-common--breakpoint-medium.tribe-events-pro .tribe-events-pro-organizer__meta:not(.tribe-events-pro-organizer__meta--has-featured-image) .tribe-events-pro-organizer__meta-content{padding-right:var(--tec-grid-gutter-small-half);width:calc(var(--tec-grid-width-1-of-8)*5)}.tribe-common--breakpoint-medium.tribe-events-pro .tribe-events-pro-organizer__meta:not(.tribe-events-pro-organizer__meta--has-featured-image) .tribe-events-pro-organizer__meta-details{padding-left:var(--tec-grid-gutter-small-half);width:calc(var(--tec-grid-width-1-of-8)*3)}.tribe-common--breakpoint-medium.tribe-events-pro .tribe-events-pro-organizer__meta:not(.tribe-events-pro-organizer__meta--has-featured-image,.tribe-events-pro-organizer__meta--has-details) .tribe-events-pro-organizer__meta-content{width:100%}.tribe-events-pro .tribe-events-pro-organizer__meta-title{margin:0 0 var(--tec-spacer-3)}.tribe-events-pro .tribe-events-pro-organizer__meta-title:last-child{margin-bottom:0}.tribe-common--breakpoint-medium.tribe-events-pro .tribe-events-pro-organizer__meta-row{display:flex;flex-direction:row-reverse}.tribe-events-pro .tribe-events-pro-organizer__meta-data{flex:none}.tribe-common--breakpoint-medium.tribe-events-pro .tribe-events-pro-organizer__meta-data:first-child{padding-left:0}.tribe-common--breakpoint-medium.tribe-events-pro .tribe-events-pro-organizer__meta-data{padding-left:var(--tec-grid-gutter-small-half);width:calc(var(--tec-grid-width-1-of-8)*8)}.tribe-events-pro .tribe-events-pro-organizer__meta-data>.tribe-events-pro-organizer__meta-row>*{margin-bottom:var(--tec-spacer-4)}.tribe-common--breakpoint-medium.tribe-events-pro .tribe-events-pro-organizer__meta-data>.tribe-events-pro-organizer__meta-row>*{flex:none;width:100%}.tribe-events-pro .tribe-events-pro-organizer__meta-data>.tribe-events-pro-organizer__meta-row>:last-child{margin-bottom:0}.tribe-events-pro .tribe-events-pro-organizer__meta-featured-image-wrapper{flex:none}.tribe-events-pro .tribe-events-pro-organizer__meta-featured-image-wrapper.tribe-events-pro-organizer__meta-featured-image-wrapper--has-details{margin-bottom:var(--tec-spacer-4)}.tribe-common--breakpoint-medium.tribe-events-pro .tribe-events-pro-organizer__meta-featured-image-wrapper{margin-bottom:0;padding-right:var(--tec-grid-gutter-small-half);width:calc(var(--tec-grid-width-1-of-8)*3)}.tribe-events-pro .tribe-events-pro-organizer__meta-featured-image-link{display:block}.tribe-common--breakpoint-medium.tribe-events-pro .tribe-events-pro-organizer__meta-content{flex:none;width:calc(var(--tec-grid-width-1-of-8)*5)}.tribe-common--breakpoint-medium.tribe-events-pro .tribe-events-pro-organizer__meta-details{flex:none;margin-bottom:0;width:calc(var(--tec-grid-width-1-of-8)*3)}.tribe-events-pro .tribe-events-pro-organizer__meta-details:last-child{margin-bottom:0;width:100%}.tribe-events-pro .tribe-events-pro-organizer__meta-details>:last-child{margin-bottom:0}.tribe-events-pro .tribe-events-pro-organizer__meta-categories-label{font-weight:700}.tribe-events-pro .tribe-events-pro-organizer__meta-categories,.tribe-events-pro .tribe-events-pro-organizer__meta-email,.tribe-events-pro .tribe-events-pro-organizer__meta-phone,.tribe-events-pro .tribe-events-pro-organizer__meta-website{margin-bottom:var(--tec-spacer-1)}.tribe-events-pro .tribe-events-pro-organizer__meta-email-icon-svg,.tribe-events-pro .tribe-events-pro-organizer__meta-phone-icon-svg,.tribe-events-pro .tribe-events-pro-organizer__meta-website-icon-svg{display:inline-block;height:16px;margin-right:var(--tec-spacer-1);margin-top:4px;width:16px}.tribe-events-pro .tribe-events-pro-organizer__meta-website-icon-svg{width:15px}.tribe-events-pro .tribe-events-pro-venue__meta{width:100%}.tribe-events-pro .tribe-events-pro-venue__meta .tec-events-c-view-box-border{display:flex;flex-wrap:wrap}.tribe-common--breakpoint-medium.tribe-events-pro .tribe-events-pro-venue__meta--has-featured-image:not(.tribe-events-pro-venue__meta--has-details,.tribe-events-pro-venue__meta--has-map,.tribe-events-pro-venue__meta--has-content) .tec-events-c-view-box-border{max-width:var(--tec-grid-width-1-of-2)}.tribe-common--breakpoint-medium.tribe-events-pro .tribe-events-pro-venue__meta--has-featured-image:not(.tribe-events-pro-venue__meta--has-details,.tribe-events-pro-venue__meta--has-map,.tribe-events-pro-venue__meta--has-content) .tribe-events-pro-venue__meta-data,.tribe-common--breakpoint-medium.tribe-events-pro .tribe-events-pro-venue__meta--has-featured-image:not(.tribe-events-pro-venue__meta--has-details,.tribe-events-pro-venue__meta--has-map,.tribe-events-pro-venue__meta--has-content) .tribe-events-pro-venue__meta-map{padding:0}.tribe-common--breakpoint-medium.tribe-events-pro .tribe-events-pro-venue__meta--has-map:not(.tribe-events-pro-venue__meta--has-details,.tribe-events-pro-venue__meta--has-featured-image,.tribe-events-pro-venue__meta--has-content) .tec-events-c-view-box-border{max-width:var(--tec-grid-width-1-of-2)}.tribe-common--breakpoint-medium.tribe-events-pro .tribe-events-pro-venue__meta--has-map:not(.tribe-events-pro-venue__meta--has-details,.tribe-events-pro-venue__meta--has-featured-image,.tribe-events-pro-venue__meta--has-content) .tribe-events-pro-venue__meta-map{width:100%;padding:0}.tribe-events-pro .tribe-events-pro-venue__meta-row{width:100%}.tribe-events-pro .tribe-events-pro-venue__meta--has-map .tribe-events-pro-venue__meta-data iframe,.tribe-events-pro .tribe-events-pro-venue__meta--has-map .tribe-events-pro-venue__meta-map iframe{display:block}.tribe-common--breakpoint-medium.tribe-events-pro .tribe-events-pro-venue__meta--has-map .tribe-events-pro-venue__meta-data,.tribe-common--breakpoint-medium.tribe-events-pro .tribe-events-pro-venue__meta--has-map .tribe-events-pro-venue__meta-map{width:var(--tec-grid-width-1-of-2)}.tribe-common--breakpoint-medium.tribe-events-pro .tribe-events-pro-venue__meta-data,.tribe-events-pro .tribe-events-pro-venue__meta-data{padding-right:var(--tec-grid-gutter-small-half)}.tribe-events-pro .tribe-events-pro-venue__meta-data>*{margin-bottom:var(--tec-spacer-4)}.tribe-common--breakpoint-medium.tribe-events-pro .tribe-events-pro-venue__meta-data>*{flex:none;width:100%}.tribe-events-pro .tribe-events-pro-venue__meta-data>:last-child{margin-bottom:0}.tribe-common--breakpoint-medium.tribe-events-pro .tribe-events-pro-venue__meta-map{padding-left:var(--tec-grid-gutter-small-half)}.tribe-events-pro .tribe-events-pro-venue__meta-title{margin:0 0 var(--tec-spacer-3)}.tribe-common--breakpoint-medium.tribe-events-pro .tribe-events-pro-venue__meta-title{margin-bottom:var(--tec-spacer-5)}.tribe-events-pro .tribe-events-pro-venue__meta-featured-image-wrapper.tribe-events-pro-venue__meta-featured-image-wrapper--has-details{margin-bottom:var(--tec-spacer-3)}.tribe-common--breakpoint-medium.tribe-events-pro .tribe-events-pro-venue__meta-featured-image-wrapper.tribe-events-pro-venue__meta-featured-image-wrapper--has-details{margin-bottom:var(--tec-spacer-5)}.tribe-events-pro .tribe-events-pro-venue__meta-details{margin-bottom:var(--tec-spacer-3)}.tribe-common--breakpoint-medium.tribe-events-pro .tribe-events-pro-venue__meta-details{margin-bottom:var(--tec-spacer-5)}.tribe-events-pro .tribe-events-pro-venue__meta-details>:last-child{margin-bottom:0}.tribe-events-pro .tribe-events-pro-venue__meta-address,.tribe-events-pro .tribe-events-pro-venue__meta-phone,.tribe-events-pro .tribe-events-pro-venue__meta-website{display:flex;margin-bottom:var(--tec-spacer-1)}.tribe-events-pro .tribe-events-pro-venue__meta-categories{margin-bottom:var(--tec-spacer-1)}.tribe-events-pro .tribe-events-pro-venue__meta-address-details{flex:1 1 100%}.tribe-events-pro .tribe-events-pro-venue__meta-address-details .tribe-address{display:block}.tribe-events-pro .tribe-events-pro-venue__meta-categories-label{font-weight:700}.tribe-events-pro .tribe-events-pro-venue__meta-address-icon-svg,.tribe-events-pro .tribe-events-pro-venue__meta-phone-icon-svg,.tribe-events-pro .tribe-events-pro-venue__meta-website-icon-svg{display:inline-block;height:16px;margin-right:var(--tec-spacer-2);margin-top:4px;width:16px}.tribe-events-pro .tribe-events-pro-venue__meta-website-icon-svg{width:15px}.tribe-events-pro .tribe-events-pro-venue__meta-address-icon-svg{width:14px}.tribe-events-pro .tribe-events-pro-venue__meta-data-google-maps-default{height:100%;width:100%}@media (min-width:768px){.tec-events-virtual-single-api-details .tribe-events-virtual-link-button,.tribe-events-virtual-single-zoom-details .tribe-events-virtual-link-button{margin:4px 0}} \ No newline at end of file diff --git a/wp-content/plugins/events-calendar-pro/src/resources/css/widgets-events-common-full.min.css b/wp-content/plugins/events-calendar-pro/src/resources/css/widgets-events-common-full.min.css new file mode 100644 index 000000000..c457f3c4b --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/resources/css/widgets-events-common-full.min.css @@ -0,0 +1 @@ +.tribe-events-widget .tribe-events-virtual-hybrid-event__icon-svg:hover circle,.tribe-events-widget .tribe-events-virtual-hybrid-event__icon-svg:hover ellipse,.tribe-events-widget .tribe-events-virtual-hybrid-event__icon-svg:hover path,.tribe-events-widget .tribe-events-virtual-virtual-event__icon-svg:hover circle,.tribe-events-widget .tribe-events-virtual-virtual-event__icon-svg:hover ellipse,.tribe-events-widget .tribe-events-virtual-virtual-event__icon-svg:hover path{opacity:var(--tec-opacity-icon-hover);stroke:currentColor} \ No newline at end of file diff --git a/wp-content/plugins/events-calendar-pro/src/resources/css/widgets-events-common-skeleton.min.css b/wp-content/plugins/events-calendar-pro/src/resources/css/widgets-events-common-skeleton.min.css new file mode 100644 index 000000000..d67fa7fc4 --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/resources/css/widgets-events-common-skeleton.min.css @@ -0,0 +1 @@ +.tribe-events.tribe-events-widget .tribe-events-calendar-month-mobile-events .tribe-events-virtual-hybrid-event,.tribe-events.tribe-events-widget .tribe-events-calendar-month-mobile-events .tribe-events-virtual-virtual-event,.tribe-events.tribe-events-widget .tribe-events-pro-week-grid .tribe-events-virtual-hybrid-event,.tribe-events.tribe-events-widget .tribe-events-pro-week-grid .tribe-events-virtual-virtual-event,.tribe-events.tribe-events-widget .tribe-events-pro-week-grid__event-tooltip .tribe-events-virtual-hybrid-event,.tribe-events.tribe-events-widget .tribe-events-pro-week-grid__event-tooltip .tribe-events-virtual-virtual-event,.tribe-events.tribe-events-widget .tribe-events-pro-week-mobile-events .tribe-events-virtual-hybrid-event,.tribe-events.tribe-events-widget .tribe-events-pro-week-mobile-events .tribe-events-virtual-virtual-event,.tribe-events.tribe-events-widget .tribe-events-virtual-hybrid-event,.tribe-events.tribe-events-widget .tribe-events-virtual-virtual-event{align-items:center;background-color:var(--tec-color-accent-secondary-background);border-radius:10px;display:inline-flex;height:20px;justify-content:center;margin:-2px 0 0;width:30px}.tribe-events.tribe-events-widget .tribe-events-calendar-month-mobile-events .tribe-events-virtual-hybrid-event__icon,.tribe-events.tribe-events-widget .tribe-events-calendar-month-mobile-events .tribe-events-virtual-virtual-event__icon,.tribe-events.tribe-events-widget .tribe-events-pro-week-grid .tribe-events-virtual-hybrid-event__icon,.tribe-events.tribe-events-widget .tribe-events-pro-week-grid .tribe-events-virtual-virtual-event__icon,.tribe-events.tribe-events-widget .tribe-events-pro-week-grid__event-tooltip .tribe-events-virtual-hybrid-event__icon,.tribe-events.tribe-events-widget .tribe-events-pro-week-grid__event-tooltip .tribe-events-virtual-virtual-event__icon,.tribe-events.tribe-events-widget .tribe-events-pro-week-mobile-events .tribe-events-virtual-hybrid-event__icon,.tribe-events.tribe-events-widget .tribe-events-pro-week-mobile-events .tribe-events-virtual-virtual-event__icon,.tribe-events.tribe-events-widget .tribe-events-virtual-hybrid-event__icon,.tribe-events.tribe-events-widget .tribe-events-virtual-virtual-event__icon{display:inline-block;line-height:0;margin-right:0}.tribe-events.tribe-events-widget .tribe-events-calendar-month-mobile-events .tribe-events-virtual-hybrid-event__icon-svg,.tribe-events.tribe-events-widget .tribe-events-pro-week-grid .tribe-events-virtual-hybrid-event__icon-svg,.tribe-events.tribe-events-widget .tribe-events-pro-week-grid__event-tooltip .tribe-events-virtual-hybrid-event__icon-svg,.tribe-events.tribe-events-widget .tribe-events-pro-week-mobile-events .tribe-events-virtual-hybrid-event__icon-svg,.tribe-events.tribe-events-widget .tribe-events-virtual-hybrid-event__icon-svg{height:12px}.tribe-events.tribe-events-widget .tribe-events-calendar-month-mobile-events .tribe-events-virtual-virtual-event__icon-svg,.tribe-events.tribe-events-widget .tribe-events-pro-week-grid .tribe-events-virtual-virtual-event__icon-svg,.tribe-events.tribe-events-widget .tribe-events-pro-week-grid__event-tooltip .tribe-events-virtual-virtual-event__icon-svg,.tribe-events.tribe-events-widget .tribe-events-pro-week-mobile-events .tribe-events-virtual-virtual-event__icon-svg,.tribe-events.tribe-events-widget .tribe-events-virtual-virtual-event__icon-svg{height:10px}.tribe-events.tribe-events-widget .tribe-events-calendar-month-mobile-events .tribe-events-virtual-hybrid-event__text,.tribe-events.tribe-events-widget .tribe-events-calendar-month-mobile-events .tribe-events-virtual-virtual-event__text,.tribe-events.tribe-events-widget .tribe-events-pro-week-grid .tribe-events-virtual-hybrid-event__text,.tribe-events.tribe-events-widget .tribe-events-pro-week-grid .tribe-events-virtual-virtual-event__text,.tribe-events.tribe-events-widget .tribe-events-pro-week-grid__event-tooltip .tribe-events-virtual-hybrid-event__text,.tribe-events.tribe-events-widget .tribe-events-pro-week-grid__event-tooltip .tribe-events-virtual-virtual-event__text,.tribe-events.tribe-events-widget .tribe-events-pro-week-mobile-events .tribe-events-virtual-hybrid-event__text,.tribe-events.tribe-events-widget .tribe-events-pro-week-mobile-events .tribe-events-virtual-virtual-event__text,.tribe-events.tribe-events-widget .tribe-events-virtual-hybrid-event__text,.tribe-events.tribe-events-widget .tribe-events-virtual-virtual-event__text{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px} \ No newline at end of file diff --git a/wp-content/plugins/events-calendar-pro/src/resources/images/alert.png b/wp-content/plugins/events-calendar-pro/src/resources/images/alert.png new file mode 100644 index 000000000..6d5aae650 Binary files /dev/null and b/wp-content/plugins/events-calendar-pro/src/resources/images/alert.png differ diff --git a/wp-content/plugins/events-calendar-pro/src/resources/images/alert.svg b/wp-content/plugins/events-calendar-pro/src/resources/images/alert.svg new file mode 100644 index 000000000..bb4f33fba --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/resources/images/alert.svg @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/wp-content/plugins/events-calendar-pro/src/resources/images/btn_google_signin_light_focus_web@2x.png b/wp-content/plugins/events-calendar-pro/src/resources/images/btn_google_signin_light_focus_web@2x.png new file mode 100644 index 000000000..510e6192f Binary files /dev/null and b/wp-content/plugins/events-calendar-pro/src/resources/images/btn_google_signin_light_focus_web@2x.png differ diff --git a/wp-content/plugins/events-calendar-pro/src/resources/images/btn_google_signin_light_normal_web@2x.png b/wp-content/plugins/events-calendar-pro/src/resources/images/btn_google_signin_light_normal_web@2x.png new file mode 100644 index 000000000..c1e2c5c7d Binary files /dev/null and b/wp-content/plugins/events-calendar-pro/src/resources/images/btn_google_signin_light_normal_web@2x.png differ diff --git a/wp-content/plugins/events-calendar-pro/src/resources/images/btn_google_signin_light_pressed_web@2x.png b/wp-content/plugins/events-calendar-pro/src/resources/images/btn_google_signin_light_pressed_web@2x.png new file mode 100644 index 000000000..d01521e8a Binary files /dev/null and b/wp-content/plugins/events-calendar-pro/src/resources/images/btn_google_signin_light_pressed_web@2x.png differ diff --git a/wp-content/plugins/events-calendar-pro/src/resources/images/live.svg b/wp-content/plugins/events-calendar-pro/src/resources/images/live.svg new file mode 100644 index 000000000..9edb9dc27 --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/resources/images/live.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wp-content/plugins/events-calendar-pro/src/resources/images/series.png b/wp-content/plugins/events-calendar-pro/src/resources/images/series.png new file mode 100644 index 000000000..0acd2b5ca Binary files /dev/null and b/wp-content/plugins/events-calendar-pro/src/resources/images/series.png differ diff --git a/wp-content/plugins/events-calendar-pro/src/resources/js/app/main.min.js b/wp-content/plugins/events-calendar-pro/src/resources/js/app/main.min.js index d2154dad3..750307be2 100644 --- a/wp-content/plugins/events-calendar-pro/src/resources/js/app/main.min.js +++ b/wp-content/plugins/events-calendar-pro/src/resources/js/app/main.min.js @@ -1 +1 @@ -var tribe="object"==typeof tribe?tribe:{};tribe["events-pro"]=function(e){function t(t){for(var r,o,c=t[0],l=t[1],s=t[2],u=0,p=[];u0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1?arguments[1]:void 0;switch(t.type){case F:return[...e,t.payload];case Y:return U(e,t);case M:return e.filter((e,n)=>n!==t.index);case Q:return JSON.parse(t.payload);default:return e}}var H=n("lSNA"),K=n.n(H),V=n("oNd/"),G=n.n(V);function q(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function W(e){for(var t=1;t({type:x}),X=e=>({type:F,payload:e}),J=()=>({type:L}),Z=e=>({type:M,index:e}),$=G()((e,t)=>({type:Y,index:e,payload:t})),ee=G()((e,t)=>W(W({},$(e,t)),{},{sync:!0})),te=e=>({type:Q,payload:e});var ne=n("6OzC"),re=n.n(ne),ie=n("MWqi"),ae=n("JDLU"),oe=n.n(ae),ce=n("l3Sj");const le="daily",se="weekly",de="monthly",ue="yearly",pe="single",be=Object(ce.__)("Day","tribe-events-calendar-pro"),Ee=Object(ce.__)("Week","tribe-events-calendar-pro"),me=Object(ce.__)("Month","tribe-events-calendar-pro"),Oe=Object(ce.__)("Year","tribe-events-calendar-pro"),Ae=Object(ce.__)("Days","tribe-events-calendar-pro"),_e=Object(ce.__)("Weeks","tribe-events-calendar-pro"),ye=Object(ce.__)("Months","tribe-events-calendar-pro"),fe=Object(ce.__)("Years","tribe-events-calendar-pro"),ge=Object(ce.__)("Single Recurrence","tribe-events-calendar-pro"),he=[le,se,de,ue,pe],ve="on",Te="after",je="never",Ie=Object(ce.__)("On","tribe-events-calendar-pro"),Re=Object(ce.__)("After","tribe-events-calendar-pro"),De=Object(ce.__)("Never","tribe-events-calendar-pro"),we="date",ke="count",Se=Array(31).fill().map((e,t)=>t+1),Ce="day",Pe=Object(ce.__)("Day","tribe-events-calendar-pro"),Ne="sunday",xe="monday",Fe="tuesday",Le="wednesday",Me="thursday",Ye="friday",Qe="saturday",Ue=Object(ce.__)("Sunday","tribe-events-calendar-pro"),Be=Object(ce.__)("Monday","tribe-events-calendar-pro"),He=Object(ce.__)("Tuesday","tribe-events-calendar-pro"),Ke=Object(ce.__)("Wednesday","tribe-events-calendar-pro"),Ve=Object(ce.__)("Thursday","tribe-events-calendar-pro"),Ge=Object(ce.__)("Friday","tribe-events-calendar-pro"),qe=Object(ce.__)("Saturday","tribe-events-calendar-pro"),We=Object(ce._x)("S","The first-letter abbreviation for Sunday","tribe-events-calendar-pro"),ze=Object(ce._x)("M","The first-letter abbreviation for Monday","tribe-events-calendar-pro"),Xe=Object(ce._x)("T","The first-letter abbreviation for Tuesday","tribe-events-calendar-pro"),Je=Object(ce._x)("W","The first-letter abbreviation for Wednesday","tribe-events-calendar-pro"),Ze=Object(ce._x)("T","The first-letter abbreviation for Thursday","tribe-events-calendar-pro"),$e=Object(ce._x)("F","The first-letter abbreviation for Friday","tribe-events-calendar-pro"),et=Object(ce._x)("S","The first-letter abbreviation for Saturday","tribe-events-calendar-pro"),tt="sundayChecked",nt="mondayChecked",rt="tuesdayChecked",it="wednesdayChecked",at="thursdayChecked",ot="fridayChecked",ct="saturdayChecked",lt=[tt,nt,rt,it,at,ot,ct],st={[xe]:1,[Fe]:2,[Le]:3,[Me]:4,[Ye]:5,[Qe]:6,[Ne]:7,[Ce]:8},dt=oe()(st),ut={1:nt,2:rt,3:it,4:at,5:ot,6:ct,7:tt},pt="first",bt="second",Et="third",mt="fourth",Ot="fifth",At="last",_t=Object(ce.__)("First","tribe-events-calendar-pro"),yt=Object(ce.__)("Second","tribe-events-calendar-pro"),ft=Object(ce.__)("Third","tribe-events-calendar-pro"),gt=Object(ce.__)("Fourth","tribe-events-calendar-pro"),ht=Object(ce.__)("Fifth","tribe-events-calendar-pro"),vt=Object(ce.__)("Last","tribe-events-calendar-pro"),Tt=[pt,bt,Et,mt,Ot,At],jt={1:pt,2:bt,3:Et,4:mt,5:Ot},It="january",Rt="february",Dt="march",wt="april",kt="may",St="june",Ct="july",Pt="august",Nt="september",xt="october",Ft="november",Lt="december",Mt=Object(ce.__)("January","tribe-events-calendar-pro"),Yt=Object(ce.__)("February","tribe-events-calendar-pro"),Qt=Object(ce.__)("March","tribe-events-calendar-pro"),Ut=Object(ce.__)("April","tribe-events-calendar-pro"),Bt=Object(ce.__)("May","tribe-events-calendar-pro"),Ht=Object(ce.__)("June","tribe-events-calendar-pro"),Kt=Object(ce.__)("July","tribe-events-calendar-pro"),Vt=Object(ce.__)("August","tribe-events-calendar-pro"),Gt=Object(ce.__)("September","tribe-events-calendar-pro"),qt=Object(ce.__)("October","tribe-events-calendar-pro"),Wt=Object(ce.__)("November","tribe-events-calendar-pro"),zt=Object(ce.__)("December","tribe-events-calendar-pro"),Xt=Object(ce.__)("Jan","tribe-events-calendar-pro"),Jt=Object(ce.__)("Feb","tribe-events-calendar-pro"),Zt=Object(ce.__)("Mar","tribe-events-calendar-pro"),$t=Object(ce.__)("Apr","tribe-events-calendar-pro"),en=Object(ce.__)("May","tribe-events-calendar-pro"),tn=Object(ce.__)("Jun","tribe-events-calendar-pro"),nn=Object(ce.__)("Jul","tribe-events-calendar-pro"),rn=Object(ce.__)("Aug","tribe-events-calendar-pro"),an=Object(ce.__)("Sep","tribe-events-calendar-pro"),on=Object(ce.__)("Oct","tribe-events-calendar-pro"),cn=Object(ce.__)("Nov","tribe-events-calendar-pro"),ln=Object(ce.__)("Dec","tribe-events-calendar-pro"),sn={[It]:1,[Rt]:2,[Dt]:3,[wt]:4,[kt]:5,[St]:6,[Ct]:7,[Pt]:8,[Nt]:9,[xt]:10,[Ft]:11,[Lt]:12},dn=oe()(sn),un="next_day",pn="second_day",bn="third_day",En="fourth_day",mn="fifth_day",On="sixth_day",An="seventh_day",_n=Object(ce.__)("Next day","tribe-events-calendar-pro"),yn=Object(ce.__)("2nd day","tribe-events-calendar-pro"),fn=Object(ce.__)("3rd day","tribe-events-calendar-pro"),gn=Object(ce.__)("4th day","tribe-events-calendar-pro"),hn=Object(ce.__)("5th day","tribe-events-calendar-pro"),vn=Object(ce.__)("6th day","tribe-events-calendar-pro"),Tn=Object(ce.__)("7th day","tribe-events-calendar-pro"),jn={1:un,2:pn,3:bn,4:En,5:mn,6:On,7:An},In=[{label:be,label_plural:Ae,value:le},{label:Ee,label_plural:_e,value:se},{label:me,label_plural:ye,value:de},{label:Oe,label_plural:fe,value:ue},{label:ge,value:pe}],Rn=e=>Array(e).fill().map((e,t)=>({label:String(t+1),value:t+1})),Dn=Rn(6),wn=Rn(6),kn=Rn(12),Sn=Rn(6),Cn=[{label:Ie,value:we},{label:Re,value:ke},{label:De,value:je}],Pn=[{label:Be,value:xe},{label:He,value:Fe},{label:Ke,value:Le},{label:Ve,value:Me},{label:Ge,value:Ye},{label:qe,value:Qe},{label:Ue,value:Ne},{label:Pe,value:Ce}],Nn=Se.map(e=>({label:String(e),value:e})),xn=[{label:_t,value:pt},{label:yt,value:bt},{label:ft,value:Et},{label:gt,value:mt},{label:ht,value:Ot},{label:vt,value:At}],Fn=[...xn,...Nn],Ln=[{label:Mt,tag:Xt,value:It},{label:Yt,tag:Jt,value:Rt},{label:Qt,tag:Zt,value:Dt},{label:Ut,tag:$t,value:wt},{label:Bt,tag:en,value:kt},{label:Ht,tag:tn,value:St},{label:Kt,tag:nn,value:Ct},{label:Vt,tag:rn,value:Pt},{label:Gt,tag:an,value:Nt},{label:qt,tag:on,value:xt},{label:Wt,tag:cn,value:Ft},{label:zt,tag:ln,value:Lt}],Mn=[{label:_n,value:un},{label:yn,value:pn},{label:fn,value:bn},{label:gn,value:En},{label:hn,value:mn},{label:vn,value:On},{label:Tn,value:An}];var Yn=n("9lL/");const Qn="recurring",Un="exception",Bn=[Qn,Un],Hn="type",Kn="all_day",Vn="multi_day",Gn="multi_day_span",qn="start_time",Wn="end_time",zn="_start_time_input",Xn="_end_time_input",Jn="start_date",Zn="_start_date_input",$n="_start_date_obj",er="end_date",tr="_end_date_input",nr="_end_date_obj",rr="limit",ir="_limit_date_input",ar="_limit_date_obj",or="limit_type",cr="between",lr="days",sr="week",dr="day",ur="month",pr="timezone",br=e=>e,Er=Object(ie.createSelector)([br],e=>e[Hn]),mr=Object(ie.createSelector)([br],e=>e[Kn]),Or=Object(ie.createSelector)([br],e=>e[Vn]),Ar=Object(ie.createSelector)([br],e=>e[Gn]),_r=Object(ie.createSelector)([br],e=>e[Jn]),yr=Object(ie.createSelector)([br],e=>e[Zn]),fr=Object(ie.createSelector)([br],e=>e[$n]),gr=Object(ie.createSelector)([br],e=>e[qn]),hr=Object(ie.createSelector)([gr],e=>e.slice(0,-3)),vr=Object(ie.createSelector)([br],e=>e[zn]),Tr=Object(ie.createSelector)([br],e=>e[er]),jr=Object(ie.createSelector)([br],e=>e[tr]),Ir=Object(ie.createSelector)([br],e=>e[nr]),Rr=Object(ie.createSelector)([br],e=>e[Wn]),Dr=Object(ie.createSelector)([Rr],e=>e.slice(0,-3)),wr=Object(ie.createSelector)([br],e=>e[Xn]),kr=Object(ie.createSelector)([br],e=>e[cr]),Sr=Object(ie.createSelector)([br],e=>e[or]),Cr=Object(ie.createSelector)([br],e=>e[rr]),Pr=Object(ie.createSelector)([br],e=>e[ir]),Nr=Object(ie.createSelector)([br],e=>e[ar]),xr=Object(ie.createSelector)([br],e=>e[lr]||[]),Fr=Object(ie.createSelector)([br],e=>e[sr]),Lr=Object(ie.createSelector)([br],e=>e[dr]),Mr=Object(ie.createSelector)([br],e=>e[ur]||[]),Yr=Object(ie.createSelector)([br],e=>e[pr]),Qr=e=>e[Yn.constants.EVENTS_PRO_PLUGIN].blocks.recurring,Ur=Object(ie.createSelector)(Qr,e=>e.length),Br=Object(ie.createSelector)(Ur,e=>!!e),Hr=(e,t)=>t.index,Kr=Object(ie.createSelector)([Qr,Hr],(e,t)=>e[t]),Vr=Object(ie.createSelector)(Kr,Er),Gr=Object(ie.createSelector)(Kr,mr),qr=Object(ie.createSelector)(Kr,Or),Wr=Object(ie.createSelector)(Kr,Ar),zr=Object(ie.createSelector)(Kr,_r),Xr=Object(ie.createSelector)(Kr,fr),Jr=Object(ie.createSelector)(Kr,yr),Zr=Object(ie.createSelector)(Kr,gr),$r=Object(ie.createSelector)(Kr,hr),ei=Object(ie.createSelector)(Kr,vr),ti=Object(ie.createSelector)(Kr,Tr),ni=Object(ie.createSelector)(Kr,Ir),ri=Object(ie.createSelector)(Kr,jr),ii=Object(ie.createSelector)(Kr,Rr),ai=Object(ie.createSelector)(Kr,Dr),oi=Object(ie.createSelector)(Kr,wr),ci=Object(ie.createSelector)(Kr,kr),li=Object(ie.createSelector)(Kr,Sr),si=Object(ie.createSelector)(Kr,Cr),di=Object(ie.createSelector)(Kr,Nr),ui=Object(ie.createSelector)(Kr,Pr),pi=Object(ie.createSelector)(Kr,xr),bi=Object(ie.createSelector)(Kr,Lr),Ei=Object(ie.createSelector)(Kr,Mr),mi=Object(ie.createSelector)(Kr,Fr),Oi=Object(ie.createSelector)(Kr,Yr),Ai=Object(ie.createSelector)([Vr],e=>re()(In,t=>t.value===e)),_i=Object(ie.createSelector)([li],e=>re()(Cn,t=>t.value===e));var yi=n("HAtF"),fi=n.n(yi),gi=n("RmXt"),hi=n("kczL"),vi=n("xD0k"),Ti=n("tbMi");const{KEY_TYPE:ji,KEY_ALL_DAY:Ii,KEY_MULTI_DAY:Ri,KEY_START_TIME:Di,KEY_END_TIME:wi,KEY_START_TIME_INPUT:ki,KEY_END_TIME_INPUT:Si,KEY_START_DATE:Ci,KEY_START_DATE_INPUT:Pi,KEY_START_DATE_OBJ:Ni,KEY_END_DATE:xi,KEY_END_DATE_INPUT:Fi,KEY_END_DATE_OBJ:Li,KEY_LIMIT:Mi,KEY_LIMIT_DATE_INPUT:Yi,KEY_LIMIT_DATE_OBJ:Qi,KEY_LIMIT_TYPE:Ui,KEY_BETWEEN:Bi,KEY_DAYS:Hi,KEY_WEEK:Ki,KEY_DAY:Vi,KEY_MONTH:Gi,KEY_TIMEZONE:qi,KEY_MULTI_DAY_SPAN:Wi}=c,{toMoment:zi,toDate:Xi,toDatabaseDate:Ji,toDatabaseTime:Zi,toTime:$i,TIME_FORMAT:ea}=S.moment,{MINUTE_IN_SECONDS:ta,HALF_HOUR_IN_SECONDS:na,HOUR_IN_SECONDS:ra,DAY_IN_SECONDS:ia,TIME_FORMAT_HH_MM:aa,toSeconds:oa,fromSeconds:ca}=S.time;function la(e){let{actions:t}=e;return function*(){const e=yield Object(gi.select)(vi.blocks.datetime.selectors.getStart),n=yield Object(gi.select)(vi.blocks.datetime.selectors.getEnd),r=yield Object(gi.select)(vi.blocks.datetime.selectors.getAllDay),i=yield Object(gi.select)(vi.blocks.datetime.selectors.getMultiDay),a=yield Object(gi.select)(vi.blocks.datetime.selectors.getTimeZone),o=yield Object(gi.call)(zi,e),c=yield Object(gi.call)(zi,n),l=yield Object(gi.call)([o,"date"]),s=yield Object(gi.call)([Math,"ceil"],l/7),d=jt[s],u=yield Object(gi.call)([o,"isoWeekday"]),p=yield Object(gi.call)([o,"month"]),b=yield Object(gi.call)(Ji,o),E=yield Object(gi.call)(Zi,o),m=yield Object(gi.call)(Ji,c),O=yield Object(gi.call)(Zi,c),A=yield Object(gi.call)(Xi,o),_=new Date(A),y=yield Object(gi.call)(Xi,c),f=new Date(y),g=yield Object(gi.call)($i,o),h=yield Object(gi.call)($i,c);let v=yield Object(gi.call)([c,"diff"],o,"days");v>7?v=7:v<1&&(v=1);const T=jn[v];yield Object(gi.put)(t.add({[ji]:pe,[Ii]:r,[Ri]:i,[Ci]:b,[Pi]:A,[Ni]:_,[Di]:E,[ki]:g,[xi]:m,[Fi]:y,[Li]:f,[wi]:O,[Si]:h,[Bi]:1,[Ui]:Object(hi.pro)().blocks_recurrence_rules.key_limit_type,[Mi]:Object(hi.pro)().blocks_recurrence_rules.key_limit,[Yi]:y,[Qi]:f,[Hi]:[u],[Ki]:d,[Vi]:u,[Gi]:[p+1],[qi]:a,[Wi]:T}))}()}function sa(e,t,n){let{actions:r,selectors:i}=e;return function*(){const e=t.payload[n],a="all-day"===e,o=yield Object(gi.select)(i.getMultiDay,t);if(a)yield Object(gi.put)(r.sync(t.index,{[Ii]:a,[Di]:"00:00:00",[wi]:"23:59:59"}));else if(o)yield Object(gi.put)(r.sync(t.index,{[Ii]:a,[n]:e+":00"}));else{const o=n===Di,c=n===wi,l=o?e:yield Object(gi.select)(i.getStartTimeNoSeconds,t),s=c?e:yield Object(gi.select)(i.getEndTimeNoSeconds,t);yield Object(gi.put)(r.sync(t.index,{[Ii]:a,[n]:e+":00"})),o?yield Object(gi.call)(pa,{actions:r},{startTime:l,endTime:s},t):yield Object(gi.call)(ba,{actions:r},{startTime:l,endTime:s},t)}yield Object(gi.call)(da,{actions:r,selectors:i},t,n)}()}function da(e,t,n){let{actions:r,selectors:i}=e;return function*(){let e,a;if("all-day"===t.payload[n])e=yield Object(gi.call)(zi,"00:00",ea,!1),a=yield Object(gi.call)(zi,"23:59",ea,!1);else{const n=yield Object(gi.select)(i.getStartTimeNoSeconds,t),r=yield Object(gi.select)(i.getEndTimeNoSeconds,t);e=yield Object(gi.call)(zi,n,ea,!1),a=yield Object(gi.call)(zi,r,ea,!1)}const o=yield Object(gi.call)($i,e),c=yield Object(gi.call)($i,a);yield Object(gi.put)(r.sync(t.index,{[ki]:o,[Si]:c}))}()}function ua(e,t,n){let{actions:r,selectors:i}=e;return function*(){if(!t.payload[n]){const e=yield Object(gi.select)(i.getStartTimeNoSeconds,t),a=yield Object(gi.select)(i.getEndTimeNoSeconds,t);yield Object(gi.call)(pa,{actions:r},{startTime:e,endTime:a},t),yield Object(gi.call)(da,{actions:r,selectors:i},t,n)}}()}function pa(e,t,n){let{actions:r}=e,{startTime:i,endTime:a}=t;return function*(){let e=yield Object(gi.call)(oa,i,aa),t=yield Object(gi.call)(oa,a,aa);if(t<=e){e+na>=ia&&(e-=ra),t=e+na;const i=yield Object(gi.call)(ca,e,aa),a=yield Object(gi.call)(ca,t,aa);yield Object(gi.put)(r.sync(n.index,{[Di]:i+":00",[wi]:a+":00"}))}}()}function ba(e,t,n){let{actions:r}=e,{startTime:i,endTime:a}=t;return function*(){let e=yield Object(gi.call)(oa,i,aa),t=yield Object(gi.call)(oa,a,aa);if(e>=t){e=Math.max(t-na,0),t=Math.max(e+ta,t);const i=yield Object(gi.call)(ca,e,aa),a=yield Object(gi.call)(ca,t,aa);yield Object(gi.put)(r.sync(n.index,{[Di]:i+":00",[wi]:a+":00"}))}}()}function Ea(e,t,n){let{actions:r,selectors:i}=e;return function*(){const e=t.payload[n],a=!(yield Object(gi.select)(i.getWeek,t));e&&a&&(yield Object(gi.put)(r.sync(t.index,{[n]:e,[Vi]:1})))}()}function ma(e,t,n){let{actions:r}=e;return function*(){const e=t.payload[n],i=e===ke;if(e===we){const e=yield Object(gi.call)(zi,Ti.TODAY),n=yield Object(gi.call)([e,"add"],1,"year"),i=yield Object(gi.call)(Ji,n);yield Object(gi.put)(r.sync(t.index,{[rr]:i}))}else i?yield Object(gi.put)(r.sync(t.index,{[rr]:10})):yield Object(gi.put)(r.sync(t.index,{[rr]:null}))}()}function Oa(e,t,n){let{actions:r}=e;return function*(){yield Object(gi.put)(r.sync(t.index,{[pr]:t.payload[n]}))}()}function Aa(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function _a(e){for(var t=1;t0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1?arguments[1]:void 0;switch(t.type){case ja:return[...e,t.payload];case Da:return ka(e,t);case Ra:return e.filter((e,n)=>n!==t.index);case wa:return JSON.parse(t.payload);default:return e}}const Ca=()=>({type:Ta}),Pa=e=>({type:ja,payload:e}),Na=()=>({type:Ia}),xa=e=>({type:Ra,index:e}),Fa=G()((e,t)=>({type:Da,index:e,payload:t})),La=G()((e,t)=>({type:Da,index:e,payload:t,sync:!0})),Ma=e=>({type:wa,payload:e}),Ya=[{label:Object(ce.__)("Daily","tribe-events-calendar-pro"),value:le},{label:Object(ce.__)("Weekly","tribe-events-calendar-pro"),value:se},{label:Object(ce.__)("Monthly","tribe-events-calendar-pro"),value:de},{label:Object(ce.__)("Yearly","tribe-events-calendar-pro"),value:ue},{label:Object(ce.__)("Single Exception","tribe-events-calendar-pro"),value:pe}],Qa=e=>e[Yn.constants.EVENTS_PRO_PLUGIN].blocks.exception,Ua=Qa,Ba=Object(ie.createSelector)(Qa,e=>e.length),Ha=Object(ie.createSelector)(Ba,e=>!!e),Ka=(e,t)=>t.index,Va=Object(ie.createSelector)([Qa,Ka],(e,t)=>e[t]),Ga=Object(ie.createSelector)(Va,Er),qa=Object(ie.createSelector)(Va,mr),Wa=Object(ie.createSelector)(Va,Or),za=Object(ie.createSelector)(Va,Ar),Xa=Object(ie.createSelector)(Va,_r),Ja=Object(ie.createSelector)(Va,fr),Za=Object(ie.createSelector)(Va,yr),$a=Object(ie.createSelector)(Va,gr),eo=Object(ie.createSelector)(Va,hr),to=Object(ie.createSelector)(Va,vr),no=Object(ie.createSelector)(Va,Tr),ro=Object(ie.createSelector)(Va,Ir),io=Object(ie.createSelector)(Va,jr),ao=Object(ie.createSelector)(Va,Rr),oo=Object(ie.createSelector)(Va,Dr),co=Object(ie.createSelector)(Va,wr),lo=Object(ie.createSelector)(Va,kr),so=Object(ie.createSelector)(Va,Sr),uo=Object(ie.createSelector)(Va,Cr),po=Object(ie.createSelector)(Va,Nr),bo=Object(ie.createSelector)(Va,Pr),Eo=Object(ie.createSelector)(Va,xr),mo=Object(ie.createSelector)(Va,Lr),Oo=Object(ie.createSelector)(Va,Mr),Ao=Object(ie.createSelector)(Va,Fr),_o=Object(ie.createSelector)(Va,Yr),yo=Object(ie.createSelector)([Ga],e=>re()(Ya,t=>t.value===e)),fo=Object(ie.createSelector)([so],e=>re()(Cn,t=>t.value===e));var go=n("2TDg"),ho=n.n(go);const vo="@@MT/EVENTS-PRO/ADD_ADDITIONAL_FIELD",To="@@MT/EVENTS-PRO/REMOVE_ADDITIONAL_FIELD",jo="@@MT/EVENTS-PRO/SET_ADDITIONAL_FIELD_LABEL",Io="@@MT/EVENTS-PRO/SET_ADDITIONAL_FIELD_VALUE";function Ro(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Do(e){for(var t=1;t0&&void 0!==arguments[0]?arguments[0]:wo,t=arguments.length>1?arguments[1]:void 0;const{payload:n={}}=t;switch(t.type){case E.SET_ADDITIONAL_FIELD_LABEL:return Do(Do({},e),{},{label:n.label});case E.SET_ADDITIONAL_FIELD_VALUE:return Do(Do({},e),{},{value:n.value});default:return e}},So=n("3lI2");function Co(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Po(e){for(var t=1;t0&&void 0!==arguments[0]?arguments[0]:No,t=arguments.length>1?arguments[1]:void 0;const{payload:n={}}=t;switch(t.type){case vo:case Io:case jo:return Po(Po({},e),{},{[n.name]:ko(e[n.name],t)});case To:return ho()(e,[n.name]);default:return e}};const Fo=e=>({type:E.ADD_ADDITIONAL_FIELD,payload:{name:e}}),Lo=e=>({type:E.REMOVE_ADDITIONAL_FIELD,payload:{name:e}}),Mo=(e,t)=>({type:E.SET_ADDITIONAL_FIELD_LABEL,payload:{name:e,label:t}}),Yo=(e,t)=>({type:E.SET_ADDITIONAL_FIELD_VALUE,payload:{name:e,value:t}});var Qo=n("Etll"),Uo=n.n(Qo),Bo=n("Ti3b"),Ho=n.n(Bo),Ko=n("rf6O"),Vo=n.n(Ko),Go=n("4Z/T"),qo=n("tI+e");const{InspectorControls:Wo}=hi.wpEditor,zo=e=>{let{name:t,before:n,after:r,settingsLink:i}=e;return wp.element.createElement(Wo,{key:"inspector"},n,wp.element.createElement(qo.PanelBody,{title:Object(Go.sprintf)(Object(ce.__)("%1$s Settings","tribe-events-calendar-pro"),t)},!!i&&wp.element.createElement("span",null,Object(ce.__)("Adjust this block’s options under Events → Settings → ","tribe-events-calendar-pro"),wp.element.createElement("a",{href:i,target:"_blank",rel:"noreferrer noopener"},Object(ce.__)("Additional Fields","tribe-events-calendar-pro")))),r)};zo.propTypes={before:Vo.a.node,name:Vo.a.string.isRequired,settingsLink:Vo.a.string,after:Vo.a.node};var Xo=zo;var Jo=Object(P.compose)(Object(N.withStore)(),Object(C.connect)(()=>({settingsLink:S.globals.pro().additional_fields_tab||""})))(Xo),Zo=n("K2gz"),$o=n.n(Zo),ec=n("e5yv"),tc=n.n(ec),nc=n("6Ugf");n("fcXm");const rc=e=>{let{name:t,children:n,className:r}=e;const i=tc()(n)?n:wp.element.createElement(nc.Paragraph,null,n);return wp.element.createElement("div",{className:$o()("tribe-editor__additional-fields__preview",r)},wp.element.createElement(nc.Heading,{level:3,className:"tribe-editor__additional-fields__preview-title"},t),i)};rc.propTypes={name:Vo.a.string.isRequired,children:Vo.a.node.isRequired};var ic=rc;n("OnHV");const ac=e=>{let{name:t,children:n,className:r}=e;return wp.element.createElement("div",{className:$o()("tribe-editor__additional-fields__edit",r)},wp.element.createElement("div",{className:"tribe-editor__aditional-fields__content"},wp.element.createElement(nc.Heading,{level:2,className:"tribe-editor__additional-fields__edit-title"},t),n))};ac.propTypes={name:Vo.a.string.isRequired,children:Vo.a.node.isRequired};var oc=ac;const cc=e=>{let{isSelected:t,label:n,output:r,input:i,settings:a}=e;if(t){const e=Object(So.normalize)(n);return[wp.element.createElement(oc,{key:"edit-container-"+e,name:n},i),a||wp.element.createElement(Jo,{key:"settings-"+e,name:n})]}if(!r){const e=Object(Go.sprintf)(Object(ce.__)("Add %1$s","tribe-events-calendar-pro"),n);return wp.element.createElement(nc.Placeholder,null,e)}return wp.element.createElement(ic,{name:n},r)};cc.propTypes={input:Vo.a.node.isRequired,label:Vo.a.string,isSelected:Vo.a.bool,settings:Vo.a.node,output:Vo.a.node},cc.defaultProps={isSelected:!1};var lc=cc;const sc=e=>{let{label:t,isSelected:n,value:r,onInputChange:i}=e;return wp.element.createElement(lc,{label:t,input:wp.element.createElement(nc.Input,{type:"text",value:r,onChange:i}),output:r,isSelected:n})};sc.propTypes={label:Vo.a.string,isSelected:Vo.a.bool,onInputChange:Vo.a.func,value:Vo.a.string},sc.defaultProps={isSelected:!1};var dc=sc;var uc=Object(P.compose)(Object(N.withStore)(),Object(C.connect)((e,t)=>({label:O.getFieldLabel(e,t),value:O.getTextFieldValue(e,t)}),(e,t)=>{let{name:n,setAttributes:r}=t;return{onInputChange:t=>{const{value:i}=t.target;r({value:i}),e(m.setFieldValue(n,i))}}}))(dc);const pc=e=>{let{label:t,value:n,onInputChange:r,isSelected:i}=e;return wp.element.createElement(lc,{label:t,input:wp.element.createElement(nc.UrlInput,{value:n,onChange:r}),output:n,isSelected:i})};pc.propTypes={label:Vo.a.string,name:Vo.a.string,isSelected:Vo.a.bool,onInputChange:Vo.a.func,value:Vo.a.string},pc.defaultProps={isSelected:!1};var bc=pc;var Ec=Object(P.compose)(Object(N.withStore)(),Object(C.connect)((e,t)=>({label:O.getFieldLabel(e,t),value:O.getTextFieldValue(e,t)}),(e,t)=>{let{name:n,setAttributes:r}=t;return{onInputChange:t=>{const{value:i}=t.target;r({value:i}),e(m.setFieldValue(n,i))}}}))(bc);const mc=e=>{let{label:t,name:n,value:r,onInputChange:i,isSelected:a}=e;const o=r?r.split("\n").map((e,t)=>wp.element.createElement(nc.Paragraph,{key:`textarea-${n}-${t+1}`},e)):"";return wp.element.createElement(lc,{label:t,input:wp.element.createElement(nc.Textarea,{rows:"5",wrap:"hard",value:r,onChange:i}),output:o,isSelected:a})};mc.propTypes={label:Vo.a.string,name:Vo.a.string.isRequired,isSelected:Vo.a.bool,onInputChange:Vo.a.func,value:Vo.a.string},mc.defaultProps={isSelected:!1};var Oc=mc;var Ac=Object(P.compose)(Object(N.withStore)(),Object(C.connect)((e,t)=>({label:O.getFieldLabel(e,t),value:O.getTextFieldValue(e,t)}),(e,t)=>{let{name:n,setAttributes:r}=t;return{onInputChange:t=>{const{value:i}=t.target;r({value:i}),e(m.setFieldValue(n,i))}}}))(Oc);const _c=e=>{let{label:t,value:n,selectValue:r,options:i,onInputChange:a,isSelected:o}=e;return wp.element.createElement(lc,{label:t,input:wp.element.createElement(nc.Select,{options:i,value:r,onChange:a,isSearchable:!1,backspaceRemovesValue:!1}),output:n,isSelected:o})};_c.propTypes={label:Vo.a.string,isSelected:Vo.a.bool,onInputChange:Vo.a.func,value:Vo.a.string,selectValue:Vo.a.object,options:Vo.a.arrayOf(Vo.a.shape({value:Vo.a.string,label:Vo.a.string}))},_c.defaultProps={isSelected:!1};var yc=_c;var fc=Object(P.compose)(Object(N.withStore)(),Object(C.connect)((e,t)=>({label:O.getFieldLabel(e,t),value:O.getFieldValue(e,t),selectValue:O.getFieldDropdownValue(e,t),options:O.getFieldOptionsWithLabels(e,t)}),(e,t)=>{let{name:n,setAttributes:r}=t;return{onInputChange:t=>{let{value:i}=t;r({value:i}),e(m.setFieldValue(n,i))}}}))(yc);n("i0Sv");const gc=e=>{let{options:t,onChange:n,selectedValue:r}=e;return wp.element.createElement("fieldset",{className:"tribe-editor__additional-fields__edit--horizontal-fields"},t.map((e,t)=>{const{label:i="",value:a=""}=e,o=a===r;return wp.element.createElement(nc.Radio,{checked:o,id:"name-"+(t+1),key:"name-"+(t+1),value:a,onChange:n,name:Object(So.normalize)(i),label:i,className:"tribe-editor__additional-fields__field--radio"})}))},hc=e=>{let{label:t,value:n,options:r,onInputChange:i,isSelected:a}=e;return wp.element.createElement(lc,{label:t,input:wp.element.createElement(gc,{selectedValue:n,onChange:i,options:r}),output:n,isSelected:a})};hc.propTypes={label:Vo.a.string,isSelected:Vo.a.bool,onInputChange:Vo.a.func,value:Vo.a.string,options:Vo.a.arrayOf(Vo.a.shape({value:Vo.a.string,label:Vo.a.string}))},hc.defaultProps={isSelected:!1};var vc=hc;var Tc=Object(P.compose)(Object(N.withStore)(),Object(C.connect)((e,t)=>({label:O.getFieldLabel(e,t),value:O.getTextFieldValue(e,t),options:O.getFieldOptionsWithLabels(e,t)}),(e,t)=>{let{name:n,setAttributes:r}=t;return{onInputChange:t=>{const{value:i}=t.target;r({value:i}),e(m.setFieldValue(n,i))}}}))(vc),jc=n("df/k"),Ic=n.n(jc);n("YREk");const Rc=e=>{let{listDividerOnChange:t,listDividerValue:n,listEnderOnChange:r,listEnderValue:i}=e;return wp.element.createElement(qo.PanelBody,{title:Object(ce.__)("Custom Dividers","tribe-events-calendar-pro")},wp.element.createElement(qo.TextControl,{label:Object(ce.__)("List divider","tribe-events-calendar-pro"),value:n,onChange:t,className:"tribe-editor__additional-fields__divider-settings"}),wp.element.createElement(qo.TextControl,{label:Object(ce.__)("List ender","tribe-events-calendar-pro"),value:i,onChange:r,className:"tribe-editor__additional-fields__divider-settings"}))},Dc=e=>{let{label:t,listDividerOnChange:n,listDividerValue:r,listEnderOnChange:i,listEnderValue:a}=e;return wp.element.createElement(Jo,{name:t,after:wp.element.createElement(Rc,{listDividerOnChange:n,listDividerValue:r,listEnderOnChange:i,listEnderValue:a})})};Dc.propTypes={label:Vo.a.string,listDividerValue:Vo.a.string,listDividerOnChange:Vo.a.func,listEnderValue:Vo.a.string,listEnderOnChange:Vo.a.func};var wc=Dc;n("Cn54");const kc=e=>{let{options:t,onChange:n}=e;return wp.element.createElement("fieldset",{className:"tribe-editor__additional-fields__edit--horizontal-fields"},t.map((e,t)=>{const{label:r="",value:i="",isChecked:a=!1}=e;return wp.element.createElement(nc.Checkbox,{key:"name-"+(t+1),id:"name-"+(t+1),checked:a,onChange:n,name:Object(So.normalize)(r),value:i,label:r,className:"tribe-editor__additional-fields__field--checkbox"})}))},Sc=e=>{let{attributes:t,setAttributes:n,name:r,label:i,valueArray:a,options:o,onInputChange:c,isSelected:l}=e;const{dividerList:s,dividerEnd:d}=t,u=Object(So.wordsAsList)(a,s,d);return wp.element.createElement(lc,{id:r,label:i,input:wp.element.createElement(kc,{onChange:c,options:o}),output:u,settings:wp.element.createElement(wc,{key:r,label:i,listDividerValue:s,listDividerOnChange:e=>{n({dividerList:e})},listEnderValue:d,listEnderOnChange:e=>{n({dividerEnd:e})}}),isSelected:l})};Sc.propTypes={attributes:Vo.a.object,setAttributes:Vo.a.func,name:Vo.a.string.isRequired,label:Vo.a.string,valueArray:Vo.a.arrayOf(Vo.a.string),isSelected:Vo.a.bool,onInputChange:Vo.a.func,options:Vo.a.arrayOf(Vo.a.shape({value:Vo.a.string,label:Vo.a.string,isChecked:Vo.a.bool}))},Sc.defaultProps={isSelected:!1};var Cc=Sc;function Pc(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Nc(e){for(var t=1;t({label:O.getFieldLabel(e,t),value:O.getFieldValue(e,t),valueArray:O.getFieldCheckboxValue(e,t),options:O.getFieldCheckboxOptions(e,t)}),null,(e,t,n)=>{let{dispatch:r}=t;return Nc(Nc(Nc({},n),e),{},{onInputChange:t=>{const{name:i,setAttributes:a}=n,{value:o,checked:c}=t.target,l=e.value.split(Fc),s=(c?[...l,o].filter(Ic.a):l.filter(e=>e!==o)).join(Fc);a({value:s}),r(m.setFieldValue(i,s))}})}))(Cc);const Fc="|",Lc="checkbox",Mc={text:{icon:"editor-textcolor",container:uc,type:"string"},url:{icon:"admin-links",container:Ec,type:"string"},textarea:{icon:"admin-comments",container:Ac,type:"string"},dropdown:{icon:"randomize",container:fc,type:"array"},checkbox:{icon:"yes",container:xc,type:"array"},radio:{icon:"editor-ul",container:Tc,type:"array"}};function Yc(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Qc(e){for(var t=1;te[Yn.constants.EVENTS_PRO_PLUGIN],Bc=Object(ie.createSelector)([Uc],e=>e.blocks),Hc=Object(ie.createSelector)([Bc],e=>e.additionalFields),Kc=(e,t)=>t.name,Vc=Object(ie.createSelector)([Hc,Kc],(e,t)=>e[t]||{}),Gc=Object(ie.createSelector)([Vc],e=>e.label||""),qc=Object(ie.createSelector)([Vc],e=>e.value),Wc=Object(ie.createSelector)([qc],e=>e||""),zc=Object(ie.createSelector)([Vc],e=>e.options||[]),Xc=Object(ie.createSelector)([zc],e=>e.map(e=>({value:e,label:e}))),Jc=Object(ie.createSelector)([Vc],e=>({value:e.value,label:e.value})),Zc=Object(ie.createSelector)([Wc],e=>Ho()(e.split(Fc))),$c=Object(ie.createSelector)([Zc,Xc],(e,t)=>t.map(t=>Qc(Qc({},t),{},{isChecked:Uo()(e,t.value)})));var el=xo;const tl=e=>{(e=>{const{meta:t}=e;S.globals.pro().additional_fields.forEach(e=>{const{name:n,label:r,values:i}=e,a="tribe/field-"+Object(So.toBlockName)(n),o=Po({},ko(void 0,{}));o.label=r,t&&t.hasOwnProperty(n)&&(o.value=t[n]),Array.isArray(i)&&(o.options=i),No[a]=o})})(e)};var nl=Object(P.combineReducers)({recurring:B,exception:Sa,additionalFields:el});function rl(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function il(e){for(var t=1;t{let{children:t,noBorder:n,onClick:r}=e;return wp.element.createElement("aside",{className:$o()("tribe-editor__events-pro__add-field",{"tribe-editor__events-pro__add-field--no-border":n})},wp.element.createElement("button",{className:"tribe-editor__events-pro__add-field__button",onClick:r,type:"button"},wp.element.createElement("span",{className:"tribe-editor__events-pro__add-field__button__plus"},"+"),wp.element.createElement("span",null,t)))};dl.propTypes={children:Vo.a.node.isRequired,onClick:Vo.a.func.isRequired,noBorder:Vo.a.bool};var ul=dl;class pl extends w.Component{componentDidMount(){this.props.initialize()}shouldComponentUpdate(){return!1}componentWillUnmount(){this.props.cancel()}render(){return null}}K()(pl,"propTypes",{clientId:Vo.a.string.isRequired,initialize:Vo.a.func.isRequired,cancel:Vo.a.func.isRequired});function*bl(e){return yield Object(gi.call)([JSON,"stringify"],e)}function El(e){let{selector:t,metaField:n,setAttributes:r,current:i}=e;return function*(){const e=yield Object(gi.select)(t),a=yield Object(gi.call)(bl,e);i!==a&&(yield Object(gi.call)(r,{[n]:a}))}()}function ml(e){let{listeners:t,selector:n,clientId:r,metaField:i,setAttributes:a,current:o}=e;return function*(){const e=yield Object(gi.takeLatest)(t,El,{selector:n,metaField:i,setAttributes:a,current:o});for(;;){if((yield Object(gi.take)("@@MT/EVENTS-PRO/CANCEL_SYNC")).clientId===r){yield Object(gi.cancel)(e);break}}}()}function*Ol(){yield Object(gi.takeEvery)("@@MT/EVENTS-PRO/INITIALIZE_SYNC",ml)}var Al=Object(P.compose)(Object(N.withStore)(),Object(C.connect)(null,(e,t)=>({initialize:()=>e({type:"@@MT/EVENTS-PRO/INITIALIZE_SYNC",setAttributes:t.setAttributes,listeners:t.listeners,clientId:t.clientId,selector:t.selector,metaField:t.metaField,current:t.current}),cancel:()=>e({type:"@@MT/EVENTS-PRO/CANCEL_SYNC",clientId:t.clientId})})))(pl);n("SE6A");const _l=e=>{let{children:t}=e;return wp.element.createElement("div",{className:$o()("tribe-editor__events-pro_recurrence-container","tribe-editor__events-pro_recurrence-lock-container")},wp.element.createElement("div",{className:"tribe-editor__events-pro_recurrence-lock-overlay"}),t)};var yl,fl=(e,t)=>n=>e?wp.element.createElement(_l,null,wp.element.createElement(t,n)):wp.element.createElement(t,n);const gl=e=>wp.element.createElement(ul,e,Object(ce.__)("Add Exception","tribe-events-calendar-pro"));gl.propTypes={};var hl=fl("undefined"!=typeof tecEventDetails&&(null===(yl=tecEventDetails)||void 0===yl?void 0:yl.lockExclusionsUi),gl);n("fZxb");const vl=e=>{let{children:t,className:n}=e;return wp.element.createElement("fieldset",{className:$o()("tribe-editor__events-pro__fieldset",n)},t)};vl.propTypes={children:Vo.a.node.isRequired,className:Vo.a.string};var Tl=vl,jl=Object.assign||function(e){for(var t=1;t{let{styles:t={}}=e,n=function(e,t){var n={};for(var r in e)t.indexOf(r)>=0||Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r]);return n}(e,["styles"]);return k.a.createElement("svg",jl({xmlns:"http://www.w3.org/2000/svg",xmlnsXlink:"http://www.w3.org/1999/xlink",width:"13",height:"7"},n),k.a.createElement("defs",null,k.a.createElement("path",{id:"a",d:"M838 653.05l6.5 5.95 6.5-5.95-1.15-1.05-5.35 4.9-5.35-4.9"})),k.a.createElement("use",{fill:"#12181e",xlinkHref:"#a",transform:"translate(-838 -652)"}))},Rl=Object.assign||function(e){for(var t=1;t{let{styles:t={}}=e,n=function(e,t){var n={};for(var r in e)t.indexOf(r)>=0||Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r]);return n}(e,["styles"]);return k.a.createElement("svg",Rl({width:"11",height:"15",xmlns:"http://www.w3.org/2000/svg"},n),k.a.createElement("path",{d:"M3.93 1.58h3.14v.79H3.93v-.79zm4.71.79v-.8C8.64.71 7.94 0 7.07 0H3.93c-.87 0-1.57.7-1.57 1.58v.79H0v1.58h11V2.37H8.64zM1.48 13.52c.05.83.74 1.48 1.57 1.48h4.9c.84 0 1.53-.65 1.58-1.48l.55-8.78H.93l.55 8.78z",fill:"#8D949B"}))},wl=Object.assign||function(e){for(var t=1;t{let{styles:t={}}=e,n=function(e,t){var n={};for(var r in e)t.indexOf(r)>=0||Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r]);return n}(e,["styles"]);return k.a.createElement("svg",wl({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 12.66 16.52"},n),k.a.createElement("path",{d:"M1.69 4.12h6.45L6.76 5.45 8 6.61l3.43-3.3L8 0 6.76 1.16l1.38 1.32H1.57A1.55 1.55 0 0 0 0 4v7.7a.44.44 0 0 0 .76.3l.94-.88zm10.77.34a.51.51 0 0 0-.67.15l-.79.82v7H4.46l1.38-1.33-1.2-1.19-3.43 3.3 3.43 3.3 1.2-1.16L4.46 14h6.62a1.55 1.55 0 0 0 1.57-1.52V4.89a.42.42 0 0 0-.19-.43z"}))},Sl=Object.assign||function(e){for(var t=1;t{let{styles:t={}}=e,n=function(e,t){var n={};for(var r in e)t.indexOf(r)>=0||Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r]);return n}(e,["styles"]);return k.a.createElement("svg",Sl({id:"Layer_1",xmlns:"http://www.w3.org/2000/svg",xmlnsXlink:"http://www.w3.org/1999/xlink",viewBox:"0 0 600 600"},n),k.a.createElement("image",{width:"600",height:"600",xlinkHref:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAlgAAAJYCAIAAAAxBA+LAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJ bWFnZVJlYWR5ccllPAAAA2hpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdp bj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6 eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0 NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJo dHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlw dGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEu MC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVz b3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1N Ok9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDo0NjU2NzVBQzEyMjA2ODExODIyQUQ2NkY1MzVE MzY2RSIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpFQ0E2MjNGQThBODkxMUUyQTM1OUU3MkM1 RjIxOUQyNSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpFQ0E2MjNGOThBODkxMUUyQTM1OUU3 MkM1RjIxOUQyNSIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M2IChNYWNpbnRv c2gpIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NDY1Njc1 QUMxMjIwNjgxMTgyMkFENjZGNTM1RDM2NkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6NDY1 Njc1QUMxMjIwNjgxMTgyMkFENjZGNTM1RDM2NkUiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRm OlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4JkuExAAALZUlEQVR42uzdUW8S 2xqA4T1DB4gFNaVGJW2MiTHp//8xJMak9sK2Y6GRtjTQAWaveHVOthvYnnGfNcPzXDS9mJDVj1m8 A61jkuf5HwCwrxIhBEAIAUAIAUAIAUAIAUAIAUAIAUAIAUAIAUAIAUAIAUAIAUAIAUAIAUAIAUAI AUAIAUAIAUAIAUAIAUAIAUAIAUAIAUAIAUAIAUAIAUAIAUAIAUAIAUAIAUAIAUAIAUAIAUAIAUAI AUAIAUAIAUAIAUAIAUAIAUAIAUAIAUAIAUAIAUAIAUAIAUAIAUAIAUAIAUAIAUAIAUAIARBCIQRA CAFACAFACAFACAFACAFACAFACAFACAFACAFACAFACAFACAFACAFACAFACAFACAFACAFACAFACAFA CAFACAFACAFACAFACAFACAFACAFACAFACAFACAFACAFACAFACAFACAFACAFACAFACAFACAFACAFA CAFACAFACAFACAFACAFACAFACAFACAFACAFACAFACAFACAFACAEQQgAQQgAQQgAQQgAQQgAQQgAQ QgAQQgAQQgAQQgAQQgAQQgAQQgAQQgAQQgAQQgAQQgAQQgAQQgAQQgAQQgAQQgAQQgAQQgAQQgAQ QgAQQgAQQgAQQgAQQgAQQgAQQgAQQgAQQgAQQgAQQgAQQgAQQgAQQpqjLMvxeFzVo7169cpIq3Vz c1PVQx0fHydJYqTEIDUCAIQQAIQQAIQQAIQQAIQQAIQQAIQQAIQQAIQQAIQQAIQQAIQQAIQQAIQQ AIQQAIQQAIQQAIQQAIQQAIQQAIQQAIQQAIQQAIQQAIQQAIQQAIQQAIQQAIQQAIQQAIQQAIQQAIQQ AIQQAIQQACqV5HluCvujLMunp6eiKNbrdfg+utMxSRaLRVWP1m63PePVCidPVQ/V6XTiPAPTNM2y LJw84XvPuBDSKA8PD9+/f5/NZiGB0S4yvAC9ePGiquRPJhPPe7UGg0FVeZhOp+GCLNqfNOTw8PDw 5cuXvV7P8954B0bQePP5/OrqKnw1CthRuF68/6Hb7b59+zZ8NZMG8zvChru9vf3y5YsKwi9fR4Yd FPaRUXhHSC2Nx+ObmxtzgP9FWZZ5nof3iMfHx6bhHSF1Mp1OVRCqEnZT2FPmIITURlEU19fX5gAV Cnsq5j/wQQj5L9++fYv5r0OhjsKeCjvLHISQerwdvLu7MweoXNhZ3hQKIfXYq4YA9hdCuL9ms5kh gP2FEO6vCu9SBthfQkj9LJdLQwD7CyEEACEEACEEACEEACEEACEEACEEACEEQAiNAAAhBAAhBAAh BAAhhP+PsiwNwXMN/7IDIyAey+VyPB6bQ7Qmk4kh4B0hAAghAAghAAghAAghAAghAAghAAghAAgh AAghAAghAETMvUYbaDgcGgLAjpI8z00BACEEACEEACEEACEEACEEACEEACEEACEEACEEACEEACEk VkVRGAL8PlmWGUKTuOl2A33+/NkQ4Pc5OzszhCbx3zABIIQAIIQAIIQAIIQAIIQAIIQAIIQAIIQA IIQAIIQAIIQAIIQAIIQAIIQAIIQAIIQAIIQAIIQAIIQAIIQAIIQAIIQAIIQAEI8DI2CDd+/edTqd 2FZ1fX19d3e39bCPHz9GONKLi4vFYrH5mDDzMPkIF//p06etxzx//vzNmzexrTzMPEzejkYI+eef GKRpq9WKbVVJkuxyWIQr33Hx4Zg4F7/jDxjh4sOZbDvzt6eHEQAghAAghAAghAAghAAghAAghAAg hAAghAAghAAghAAghAAghAAghAAghAAghAAghAAghAAghAAghAAghAAghAAghAAghAAghAAghAAg hAAghAAghAAghAAghAAghAAghAAghAAghAAghAAghAAghAAghAAghAAghAAghAAghAAghAAghAAg hAAghAAghADwFwdGwAZXV1dpGt3V0tPT0y6HXVxcRDjSXRYfjolz8buYzWYRLn69XtvOCCG/Yj6f 13fxj4+PNV15eNWu7+KXP9g71IiPRgEQQgAQQgAQQgAQQgAQQgAQQgAQQgAQQgAQQgBoGrdYY+P5 cXCQJElsq1qtVrvcOjLLsghHulwuy7LcfEyYeZh8hIsvimL7xXWatlqt2FYeZu7Gbwghv+L09LTb 7ca2qsvLy+l0uvWwDx8+RDjS8/PzrXdw7XQ679+/j3Dxo9Fo6zH9fn84HMa28jDzMHk7mp9fvRkB AEIIAEIIAEIIAEIIAEIIAEIIAEIIAEIIAEIIAEIIAEIIAEIIAEIIAEIIAEIIAEIIAEIIAEIIAEII AEIIAEIIAEIIAEIIAEIIAEIIAEIIAEIIAEIIAEIIAEIIAEIIAEIIAEIIAEIIAEIIAEIIAEIIAEII AEIIAEIIAEIIAEIIAEIIAEIIAEIIAEIIAEIIAEIIAP8pyfPcFBpmNBpVdqGUxnipVP5Q08Wv1+v6 Tn6XxSc/1Hfyuzg7O/M60yQHRsC/89ph8Xuy+B0vUyAePhoFQAgBQAgBQAgBQAgBQAgBQAgBQAgB QAgBQAgBoGncYo1Nnj171mq1YlvVfD4vimLrYf1+P8KRzmazrbdPS9P08PAwwsXf399vPSbLsm63 G9vKV6vV4+OjHY0Q8o+9fv06whe1y8vL6XS69bCTk5MIR3p+fh5CvvmYdrsd5+J3uZ97uHgaDocR XjyFydvR/PzS0wgAEEIAEEIAEEIAEEIAEEIAEEIAEEIAEEIAEEIAEEIAEEIAEEIAEEIAEEIAEEIA EEIAEEIAEEIAEEIAEEIAEEIAEEIAEEIAEEIAEEIAEEIAEEIAEEIAEEIAEEIAEEIAEEIAEEIAEEIA EEIAEEIAEEIAEEIAEEIAEEIAEEIAEEIAEEIAEEIAEEIAEEIAEEIA+IsDI2CD5XJZFEVsq1qv17sc FuHKg7IsdzkmzsXv+OxEuPhwJtvO/J0kz3NTaJjRaGQI8PucnZ0ZQpP4aBQAIQQAIQQAIQQAIQQA IQQAIQQAIQQAIQQAIQQAIQQAIQQAISRSSZIYAthfCOH+yrLMEMD+Qgj3V7fbNQSwvxDC/dXr9QwB 7C+EcH/1+/1Wq2UOULmws8L+MgchJPonNU2Pjo7MASoXdlbYX+YghNTAYDBot9vmABUKeyrsLHMQ QuohSZKTkxOXrlDZa2Wahj3l304IIXXS6XROT0+1ECqpYNhNYU8ZRTPfOeR5bgoNtlgsvn79Gr4a Bfyadrsd3guqoBBSY2VZTiaT29vb1WplGrC7Vqt1dHQ0GAx8IiqENMF6vb6/v394eJjP50VRhDqa CfzkNTFJsizrdru9Xq/f7/vlghACgBACgBACgBACgBACgBACgBACgBACgBACgBACgBACgBACgBAC gBACgBACgBACgBACgBACgBACgBACgBACgBACgBACgBACgBACgBACgBACgBACgBACgBACgBACgBAC gBACgBACgBACgBACgBACgBACgBACgBACgBACgBACgBACgBACgBACgBACIIRCCIAQAoAQAoAQAoAQ AoAQAoAQAoAQAoAQAoAQAoAQAoAQAoAQAoAQAoAQAoAQAoAQAoAQAoAQAoAQAoAQAoAQAoAQAoAQ AoAQAoAQAoAQAoAQAoAQAoAQAoAQAoAQAoAQAoAQAoAQAoAQAoAQAoAQAoAQAoAQAoAQAoAQAoAQ AoAQAoAQAoAQAoAQAoAQAoAQAoAQAoAQAoAQAiCEpgCAEAKAEAKAEAKAEAKAEAKAEAKAEAKAEAKA EAKAEAKAEAKAEAKAEAKAEAKAEAKAEAKAEAKAEAKAEAKAEAKAEAKAEAKAEAKAEAKAEAKAEAKAEAKA EAKAEAKAEAKAEAKAEAKAEAKAEAKAEAKAEAKAEAKAEAKAEAKAEAKAEAKAEAKAEAKAEALARn8KMAB8 qgpVr8O+4QAAAABJRU5ErkJggg==",overflow:"visible"}),k.a.createElement("path",{className:t.st0||"st0",d:"M445 218H157v-22c0-8.28 6.72-15 15-15h258c8.28 0 15 6.72 15 15v22z"}),k.a.createElement("path",{className:t.st1||"st1",d:"M356 142h26v65h-26zM219 142h26v65h-26z"}),k.a.createElement("path",{className:t.st0||"st0",d:"M157 231v210c0 8.28 6.72 15 15 15h258c8.28 0 15-6.72 15-15V231H157zm75 201.66h-51.21v-51.21H232v51.21zm0-63.56h-51.21v-51.2H232v51.2zm0-62.08h-51.21v-51.21H232v51.21zm62.21 125.64H243v-51.21h51.21v51.21zm0-62.56H243v-51.2h51.21v51.2zm0-63.12H243v-51.21h51.21v51.21zm63.23 125.68h-51.21v-51.21h51.21v51.21zm0-62.56h-51.21v-51.2h51.21v51.2zm0-63.12h-51.21v-51.21h51.21v51.21zm63.22 124.93h-51.21V380.7h51.21v51.21zm0-61.81h-51.21v-51.2h51.21v51.2zm0-63.12h-51.21v-51.21h51.21v51.21z"}))},Pl=Object.assign||function(e){for(var t=1;t{let{styles:t={}}=e,n=function(e,t){var n={};for(var r in e)t.indexOf(r)>=0||Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r]);return n}(e,["styles"]);return k.a.createElement("svg",Pl({width:"33",height:"26",viewBox:"0 0 33 26",fill:"none",xmlns:"http://www.w3.org/2000/svg"},n),k.a.createElement("g",{filter:"url(#a)"},k.a.createElement("rect",{x:"4.32",y:"4.298",width:"24",height:"13.557",rx:"2",fill:"#499FD1"}),k.a.createElement("path",{stroke:"#fff",strokeWidth:"2",strokeLinecap:"round",d:"M8.511 13.193h.084M12.257 13.193h.085M16.004 13.193h.084M19.75 13.193h.085M23.497 13.193h.084"}),k.a.createElement("path",{stroke:"#499FD1",strokeWidth:"4",strokeLinecap:"round",d:"M10.844 2.464v2.203M21.043 2.464v2.203"}),k.a.createElement("path",{stroke:"#fff",strokeWidth:"2",strokeLinecap:"round",d:"M8.681 9.193h15.278"})),k.a.createElement("defs",null,k.a.createElement("filter",{id:"a",x:".32",y:".464",width:"32",height:"25.391",filterUnits:"userSpaceOnUse",colorInterpolationFilters:"sRGB"},k.a.createElement("feFlood",{floodOpacity:"0",result:"BackgroundImageFix"}),k.a.createElement("feColorMatrix",{in:"SourceAlpha",values:"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0",result:"hardAlpha"}),k.a.createElement("feOffset",{dy:"4"}),k.a.createElement("feGaussianBlur",{stdDeviation:"2"}),k.a.createElement("feComposite",{in2:"hardAlpha",operator:"out"}),k.a.createElement("feColorMatrix",{values:"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.25 0"}),k.a.createElement("feBlend",{in2:"BackgroundImageFix",result:"effect1_dropShadow_4079:11034"}),k.a.createElement("feBlend",{in:"SourceGraphic",in2:"effect1_dropShadow_4079:11034",result:"shape"}))))},xl=Object.assign||function(e){for(var t=1;t{let{styles:t={}}=e,n=function(e,t){var n={};for(var r in e)t.indexOf(r)>=0||Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r]);return n}(e,["styles"]);return k.a.createElement("svg",xl({width:"24",height:"36",viewBox:"0 0 24 36",fill:"none",xmlns:"http://www.w3.org/2000/svg"},n),k.a.createElement("path",{d:"M10.424 15.685c.77-1.333 2.694-1.333 3.464 0l6.418 11.116c.77 1.333-.193 3-1.733 3H5.738c-1.54 0-2.501-1.667-1.732-3l6.418-11.116z",fill:"#499FD1"}),k.a.createElement("path",{d:"M13.888 20.473c-.77 1.333-2.694 1.333-3.464 0L4.006 9.357c-.77-1.333.193-3 1.732-3h12.835c1.54 0 2.502 1.667 1.732 3l-6.417 11.116z",fill:"#499FD1"}),k.a.createElement("path",{d:"M11.29 19.263a1 1 0 0 1 1.732 0l4.076 7.061a1 1 0 0 1-.866 1.5H8.08a1 1 0 0 1-.866-1.5l4.077-7.06z",fill:"#fff"}),k.a.createElement("path",{d:"M13.022 18.47a1 1 0 0 1-1.732 0l-1.423-2.463a1 1 0 0 1 .866-1.5h2.845a1 1 0 0 1 .866 1.5l-1.422 2.463z",fill:"#fff"}),k.a.createElement("path",{d:"M10.925 19.875c.563-.688.235-1.662 0-2.063h2.454c-.488.8-.204 1.709 0 2.063h-2.454z",fill:"#fff"}))},Ll=Object.assign||function(e){for(var t=1;t{let{styles:t={}}=e,n=function(e,t){var n={};for(var r in e)t.indexOf(r)>=0||Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r]);return n}(e,["styles"]);return k.a.createElement("svg",Ll({width:"20",height:"23",viewBox:"0 0 20 23",fill:"none",xmlns:"http://www.w3.org/2000/svg"},n),k.a.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M.446 2.328a2 2 0 0 1 2-2h15.2a2 2 0 0 1 2 2v18.32c0 1.586-1.757 2.54-3.088 1.678l-5.32-3.448a2 2 0 0 0-2.157-.012l-5.566 3.52c-1.331.843-3.069-.114-3.069-1.69V2.328z",fill:"#499FD1"}))};n("m3e7");const Yl=e=>{let{onClick:t}=e;return wp.element.createElement("button",{className:"tribe-editor__events-pro__remove-field",onClick:t,type:"button"},wp.element.createElement(Dl,null))};Yl.propTypes={onClick:Vo.a.func.isRequired};var Ql=Yl;const{applyFilters:Ul}=wp.hooks,Bl=e=>{let{index:t,options:n}=e;return wp.element.createElement(w.Fragment,null,wp.element.createElement(xb,{blockType:c.EXCEPTION,index:t,options:n,rowLabel:Ul("elements.exceptionField.singularTypePickerRowLabelHook",Object(ce.__)("A","tribe-events-calendar-pro"))}),wp.element.createElement(Wb,{blockType:c.EXCEPTION,index:t}))};Bl.propTypes={index:Vo.a.number.isRequired};var Hl=Bl;function Kl(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}const{applyFilters:Vl}=wp.hooks,Gl=e=>Vl("elements.exceptionField.dailyAfterTypePickerHook",null,function(e){for(var t=1;t{const{index:t,options:n}=e;return wp.element.createElement(w.Fragment,null,wp.element.createElement(xb,{blockType:c.EXCEPTION,index:t,options:n,rowLabel:Vl("elements.exceptionField.dailyTypePickerRowLabelHook",Object(ce.__)("Every","tribe-events-calendar-pro"))}),Gl(e),wp.element.createElement(Fd,{blockType:c.EXCEPTION,index:t,rowLabel:Vl("elements.exceptionField.dailySeriesEndsRowLabelHook",Object(ce.__)("Exception ends","tribe-events-calendar-pro"))}))};ql.propTypes={index:Vo.a.number.isRequired};var Wl=ql;function zl(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Xl(e){for(var t=1;t{const{index:t,options:n}=e;return wp.element.createElement(w.Fragment,null,wp.element.createElement(xb,{blockType:c.EXCEPTION,index:t,options:n,rowLabel:Jl("elements.exceptionField.weeklyTypePickerRowLabelHook",Object(ce.__)("Every","tribe-events-calendar-pro"))}),(e=>Jl("elements.exceptionField.weeklyAfterTypePickerHook",null,Xl({blockType:c.EXCEPTION},e)))(e),(e=>Jl("elements.exceptionField.weeklyOnDayOfWeekHook",wp.element.createElement(yu,{blockType:c.EXCEPTION,index:e.index}),Xl({blockType:c.EXCEPTION},e)))(e),(e=>Jl("elements.exceptionField.weeklySeriesEndsHook",wp.element.createElement(Fd,{blockType:c.EXCEPTION,index:e.index,rowLabel:Object(ce.__)("Exception ends","tribe-events-calendar-pro")}),Xl({blockType:c.EXCEPTION},e)))(e))};Zl.propTypes={index:Vo.a.number.isRequired};var $l=Zl;function es(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function ts(e){for(var t=1;t{const{index:t,options:n}=e;return wp.element.createElement(w.Fragment,null,wp.element.createElement(xb,{blockType:c.EXCEPTION,index:t,options:n,rowLabel:ns("elements.exceptionField.monthlyTypePickerRowLabelHook",Object(ce.__)("Every","tribe-events-calendar-pro"))}),(e=>ns("elements.exceptionField.monthlyAfterTypePickerHook",null,ts({blockType:c.EXCEPTION},e)))(e),(e=>ns("elements.exceptionField.monthlyOnDayOfMonthPickerHook",wp.element.createElement(Nu,{blockType:c.EXCEPTION,index:e.index}),ts({blockType:c.EXCEPTION},e)))(e),(e=>ns("elements.exceptionField.monthlySeriesEndsHook",wp.element.createElement(Fd,{blockType:c.EXCEPTION,index:e.index,rowLabel:Object(ce.__)("Exception ends","tribe-events-calendar-pro")}),ts({blockType:c.EXCEPTION},e)))(e))};rs.propTypes={index:Vo.a.number.isRequired};var is=rs;function as(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function os(e){for(var t=1;t{const{index:t,options:n}=e;return wp.element.createElement(w.Fragment,null,wp.element.createElement(xb,{blockType:c.EXCEPTION,index:t,options:n,rowLabel:cs("elements.exceptionField.yearlyTypePickerRowLabelHook",Object(ce.__)("Every","tribe-events-calendar-pro"))}),(e=>cs("elements.exceptionField.yearlyAfterTypePickerHook",null,os({blockType:c.EXCEPTION},e)))(e),(e=>cs("elements.exceptionField.yearlyInMonthHook",wp.element.createElement(db,{blockType:c.EXCEPTION,index:e.index}),os({blockType:c.EXCEPTION},e)))(e),(e=>cs("elements.exceptionField.yearlyOnDayOfMonthPickerHook",wp.element.createElement(Nu,{blockType:c.EXCEPTION,index:e.index}),os({blockType:c.EXCEPTION},e)))(e),(e=>cs("elements.exceptionField.yearlySeriesEndsHook",wp.element.createElement(Fd,{blockType:c.EXCEPTION,index:e.index,rowLabel:Object(ce.__)("Exception ends","tribe-events-calendar-pro")}),os({blockType:c.EXCEPTION},e)))(e))};ls.propTypes={index:Vo.a.number.isRequired};var ss=ls;const{DAILY:ds,WEEKLY:us,MONTHLY:ps,YEARLY:bs,RECURRENCE_TYPES:Es}=a;class ms extends w.PureComponent{constructor(){super(...arguments),K()(this,"handleRemove",()=>this.props.onRemoveClick(this.props.index)),K()(this,"renderFieldType",()=>{const{index:e,options:t,type:n}=this.props;switch(n){case ds:return wp.element.createElement(Wl,{index:e,options:t});case us:return wp.element.createElement($l,{index:e,options:t});case ps:return wp.element.createElement(is,{index:e,options:t});case bs:return wp.element.createElement(ss,{index:e,options:t});default:return wp.element.createElement(Hl,{index:e,options:t})}})}render(){return wp.element.createElement(Tl,null,wp.element.createElement(Ql,{onClick:this.handleRemove}),this.renderFieldType())}}K()(ms,"propTypes",{index:Vo.a.number.isRequired,onRemoveClick:Vo.a.func.isRequired,type:Vo.a.oneOf(Es).isRequired});var Os=ms;const{KEY_TYPE:As}=c,_s=e=>{let{exceptions:t,getOptions:n,removeException:r}=e;return wp.element.createElement("section",null,t.map((e,t)=>wp.element.createElement(Os,{key:t,index:t,onRemoveClick:r,options:n(t),type:e[As]})))};_s.propTypes={exceptions:Vo.a.arrayOf(Vo.a.shape({})),removeException:Vo.a.func.isRequired},_s.defaultProps={exceptions:[]};var ys,fs=_s;var gs,hs=fl("undefined"!=typeof tecEventDetails&&(null===(ys=tecEventDetails)||void 0===ys?void 0:ys.lockExclusionsUi),Object(P.compose)(Object(N.withStore)(),Object(C.connect)(e=>({getOptions:t=>wp.hooks.applyFilters("elements.exceptionForm.exceptionFieldOptionsHook",p.EXCEPTION_OCCURRENCE_OPTIONS,e,t)})))(fs));const vs=e=>wp.element.createElement(ul,e,Object(hi.pro)().blocks_recurrence_rules.add_rule_text);vs.propTypes={};var Ts=fl("undefined"!=typeof tecEventDetails&&(null===(gs=tecEventDetails)||void 0===gs?void 0:gs.lockRulesUi),vs);const{applyFilters:js}=wp.hooks,Is=e=>{let{isMultiDay:t,options:n,index:r}=e;return wp.element.createElement(w.Fragment,null,wp.element.createElement(xb,{blockType:c.RECURRING,index:r,options:n,rowLabel:js("elements.recurringField.singularTypePickerRowLabelHook",Object(ce.__)("Every","tribe-events-calendar-pro"))}),wp.element.createElement(Wb,{blockType:c.RECURRING,index:r}),wp.element.createElement(qp,{blockType:c.RECURRING,index:r}),t&&wp.element.createElement(ep,{index:r}))};Is.propTypes={isMultiDay:Vo.a.bool.isRequired,index:Vo.a.number.isRequired};var Rs=Is;function Ds(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}const{applyFilters:ws}=wp.hooks,ks=e=>ws("elements.recurringField.dailyAfterTypePickerHook",null,function(e){for(var t=1;t{const{index:t,options:n}=e;return wp.element.createElement(w.Fragment,null,wp.element.createElement(xb,{blockType:c.RECURRING,index:t,options:n,rowLabel:ws("elements.recurringField.dailyTypePickerRowLabelHook",Object(ce.__)("Every","tribe-events-calendar-pro"))}),ks(e),(e=>ws("elements.recurringField.dailyFromTimeRangePickerHook",wp.element.createElement(qp,{blockType:c.RECURRING,index:e.index}),e))(e),(e=>e.isMultiDay&&ws("elements.recurringField.dailyRecurringToDateTimePickerHook",wp.element.createElement(ep,{index:e.index}),e))(e),wp.element.createElement(Fd,{blockType:c.RECURRING,index:t}))};Ss.propTypes={index:Vo.a.number.isRequired,isMultiDay:Vo.a.bool.isRequired};var Cs=Ss;function Ps(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Ns(e){for(var t=1;t{const{options:t,index:n}=e;return wp.element.createElement(w.Fragment,null,wp.element.createElement(xb,{blockType:c.RECURRING,index:n,options:t,rowLabel:xs("elements.recurringField.weeklyTypePickerRowLabelHook",Object(ce.__)("Every","tribe-events-calendar-pro"))}),(e=>xs("elements.recurringField.weeklyAfterTypePickerHook",null,Ns({blockType:c.RECURRING},e)))(e),(e=>xs("elements.recurringField.weeklyOnDayOfWeekHook",wp.element.createElement(yu,{blockType:c.RECURRING,index:e.index}),Ns({blockType:c.RECURRING},e)))(e),(e=>xs("elements.recurringField.weeklyFromTimeRangePickerHook",wp.element.createElement(qp,{blockType:c.RECURRING,index:e.index}),e))(e),(e=>e.isMultiDay&&xs("elements.recurringField.weeklyRecurringToDateTimePickerHook",wp.element.createElement(ep,{index:e.index}),e))(e),(e=>xs("elements.recurringField.weeklySeriesEndsHook",wp.element.createElement(Fd,{blockType:c.RECURRING,index:e.index}),Ns({blockType:c.RECURRING},e)))(e))};Fs.propTypes={isMultiDay:Vo.a.bool.isRequired,index:Vo.a.number.isRequired};var Ls=Fs;function Ms(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Ys(e){for(var t=1;t{const{options:t,index:n}=e;return wp.element.createElement(w.Fragment,null,wp.element.createElement(xb,{blockType:c.RECURRING,index:n,options:t,rowLabel:Qs("elements.recurringField.monthlyTypePickerRowLabelHook",Object(ce.__)("Every","tribe-events-calendar-pro"))}),(e=>Qs("elements.recurringField.monthlyAfterTypePickerHook",null,Ys({blockType:c.RECURRING},e)))(e),(e=>Qs("elements.recurringField.monthlyOnDayOfMonthPickerHook",wp.element.createElement(Nu,{blockType:c.RECURRING,index:e.index}),Ys({blockType:c.RECURRING},e)))(e),(e=>Qs("elements.recurringField.monthlyFromTimeRangePickerHook",wp.element.createElement(qp,{blockType:c.RECURRING,index:e.index}),e))(e),(e=>e.isMultiDay&&Qs("elements.recurringField.monthlyRecurringToDateTimePickerHook",wp.element.createElement(ep,{index:e.index}),e))(e),(e=>Qs("elements.recurringField.monthlySeriesEndsHook",wp.element.createElement(Fd,{blockType:c.RECURRING,index:e.index}),Ys({blockType:c.RECURRING},e)))(e))};Us.propTypes={isMultiDay:Vo.a.bool.isRequired,index:Vo.a.number.isRequired};var Bs=Us;function Hs(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Ks(e){for(var t=1;t{const{options:t,index:n}=e;return wp.element.createElement(w.Fragment,null,wp.element.createElement(xb,{blockType:c.RECURRING,index:n,options:t,rowLabel:Vs("elements.recurringField.yearlyTypePickerRowLabelHook",Object(ce.__)("Every","tribe-events-calendar-pro"))}),(e=>Vs("elements.recurringField.yearlyAfterTypePickerHook",null,Ks({blockType:c.RECURRING},e)))(e),(e=>Vs("elements.recurringField.yearlyInMonthHook",wp.element.createElement(db,{blockType:c.RECURRING,index:e.index}),Ks({blockType:c.RECURRING},e)))(e),(e=>Vs("elements.recurringField.yearlyOnDayOfMonthPickerHook",wp.element.createElement(Nu,{blockType:c.RECURRING,index:e.index}),Ks({blockType:c.RECURRING},e)))(e),(e=>Vs("elements.recurringField.yearlyFromTimeRangePickerHook",wp.element.createElement(qp,{blockType:c.RECURRING,index:e.index}),e))(e),(e=>e.isMultiDay&&Vs("elements.recurringField.yearlyRecurringToDateTimePickerHook",wp.element.createElement(ep,{index:e.index}),e))(e),(e=>Vs("elements.recurringField.yearlySeriesEndsHook",wp.element.createElement(Fd,{blockType:c.RECURRING,index:e.index}),Ks({blockType:c.RECURRING},e)))(e))};Gs.propTypes={isMultiDay:Vo.a.bool.isRequired,index:Vo.a.number.isRequired};var qs=Gs;const{DAILY:Ws,WEEKLY:zs,MONTHLY:Xs,YEARLY:Js,RECURRENCE_TYPES:Zs}=a;class $s extends w.PureComponent{constructor(){super(...arguments),K()(this,"handleRemove",()=>this.props.onRemoveClick(this.props.index)),K()(this,"renderFieldType",()=>{const{index:e,isMultiDay:t,options:n,type:r}=this.props;switch(r){case Ws:return wp.element.createElement(Cs,{index:e,isMultiDay:t,options:n});case zs:return wp.element.createElement(Ls,{index:e,isMultiDay:t,options:n});case Xs:return wp.element.createElement(Bs,{index:e,isMultiDay:t,options:n});case Js:return wp.element.createElement(qs,{index:e,isMultiDay:t,options:n});default:return wp.element.createElement(Rs,{index:e,isMultiDay:t,options:n})}})}render(){return wp.element.createElement(Tl,null,wp.element.createElement(Ql,{onClick:this.handleRemove}),this.renderFieldType())}}K()($s,"propTypes",{index:Vo.a.number.isRequired,isMultiDay:Vo.a.bool.isRequired,onRemoveClick:Vo.a.func.isRequired,options:Vo.a.array.isRequired,type:Vo.a.oneOf(Zs).isRequired});var ed=$s;n("1bJb");const td=e=>{let{children:t,count:n,isExpanded:r,onClick:i,type:a}=e;return wp.element.createElement("header",{className:$o()("tribe-editor__events-pro__panel-header",{"tribe-editor__events-pro__panel-header--expanded":r,["tribe-editor__events-pro__panel-header--"+a]:a})},wp.element.createElement("button",{className:"tribe-editor__events-pro__panel-header-button",onClick:i,type:"button"},wp.element.createElement("span",{className:"tribe-editor__events-pro__panel-header-button-text"},wp.element.createElement("span",{className:"tribe-editor__events-pro__panel-header-button-title"},t),!!n&&!r&&wp.element.createElement("span",{className:"tribe-editor__events-pro__panel-header-button-count"},`(${n})`)),wp.element.createElement(Il,null)))};td.propTypes={children:Vo.a.node.isRequired,count:Vo.a.number.isRequired,isExpanded:Vo.a.bool.isRequired,onClick:Vo.a.func.isRequired,type:Vo.a.string};var nd=td;const rd=e=>{let{children:t,count:n,isExpanded:r,onHeaderClick:i,panelTitle:a,type:o}=e;return wp.element.createElement("section",null,wp.element.createElement(nd,{count:n,onClick:i,isExpanded:r,type:o},a),r&&t)};rd.propTypes={children:Vo.a.node.isRequired,count:Vo.a.number.isRequired,isExpanded:Vo.a.bool.isRequired,panelTitle:Vo.a.string.isRequired,onHeaderClick:Vo.a.func.isRequired,type:Vo.a.string};var id=rd;n("uPrq");const ad=e=>{let{children:t,className:n}=e;return wp.element.createElement("div",{className:$o()("tribe-editor__events-pro__row",n)},t)};ad.propTypes={children:Vo.a.node.isRequired,className:Vo.a.string};var od=ad;n("cEuG");const cd=e=>{let{children:t,className:n}=e;return wp.element.createElement("div",{className:$o()("tribe-editor__events-pro__label",n)},wp.element.createElement("span",{className:"tribe-editor__events-pro__label-text"},t))};cd.propTypes={children:Vo.a.node.isRequired,className:Vo.a.string};var ld=cd;n("0d9/");const sd=e=>{let{children:t,className:n,label:r}=e;return wp.element.createElement(od,{className:$o()("tribe-editor__labeled-row",n)},wp.element.createElement(ld,{className:"tribe-editor__labeled-row__label"},r),wp.element.createElement("div",{className:"tribe-editor__labeled-row__content"},t))};sd.propTypes={children:Vo.a.node,className:Vo.a.string,label:Vo.a.node};var dd=sd,ud=n("zJgK"),pd=n.n(ud);class bd extends w.PureComponent{constructor(e){super(e),this.id=pd()()}render(){const{checked:e,className:t,disabled:n,onChange:r}=this.props;return wp.element.createElement(nc.Checkbox,{checked:e,className:$o()("tribe-editor__multi-day-checkbox",t),disabled:n,id:this.id,label:Object(ce.__)("Multi-day","tribe-events-calendar-pro"),onChange:r})}}K()(bd,"propTypes",{checked:Vo.a.bool.isRequired,className:Vo.a.string,disabled:Vo.a.bool,onChange:Vo.a.func.isRequired});var Ed=bd,md=n("QILm"),Od=n.n(md),Ad=n("1rrs");n("NK/P");const _d=e=>{const{className:t,onSeriesEndsChange:n,rowLabel:r,selectDisabled:i,seriesEnds:a}=e;return wp.element.createElement(dd,{className:$o()("tribe-editor__series-ends",t),label:r},wp.element.createElement(nc.Select,{className:"tribe-editor__series-ends__select",backspaceRemovesValue:!1,isDisabled:i,value:a,isSearchable:!1,options:Cn,onChange:n}),(e=>{const{dayPickerInputDisabled:t,numberInputDisabled:n,onSeriesEndsAfterTimesChange:r,onSeriesEndsOnDateChange:i,seriesEnds:a,seriesEndsAfterTimes:o,seriesEndsOnDate:c,seriesEndsOnDateFormat:l}=e;let s=null;if(a&&a.value===we){const e=new Date(c);s=wp.element.createElement(nc.DayPickerInput,{value:c,format:l,formatDate:Ad.formatDate,parseDate:Ad.parseDate,dayPickerProps:{modifiers:{start:e,end:e}},onDayChange:i,inputProps:{disabled:t}})}else a&&a.value===ke&&(s=wp.element.createElement(w.Fragment,null,wp.element.createElement(nc.NumberInput,{className:"tribe-editor__series-ends__number-input",disabled:n,min:1,value:o,onChange:r}),wp.element.createElement("span",{className:"tribe-editor__series-ends__number-input-label"},o>1?Object(ce.__)("events","tribe-events-calendar-pro"):Object(ce.__)("event","tribe-events-calendar-pro"))));return s})(e))};_d.propTypes={className:Vo.a.string,dayPickerInputDisabled:Vo.a.bool,numberInputDisabled:Vo.a.bool,onSeriesEndsAfterTimesChange:Vo.a.func,onSeriesEndsChange:Vo.a.func,onSeriesEndsOnDateChange:Vo.a.func,rowLabel:Vo.a.string,selectDisabled:Vo.a.bool,seriesEnds:Vo.a.oneOf(Cn),seriesEndsAfterTimes:Vo.a.number,seriesEndsOnDate:Vo.a.string,seriesEndsOnDateFormat:Vo.a.string},_d.defaultProps={seriesEndsOnDateFormat:"LL",rowLabel:Object(ce.__)("Ends","tribe-events-calendar-pro")};var yd=_d;const fd=["end"],gd=["edit"];function hd(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function vd(e){for(var t=1;tn=>{const r=parseInt(n.target.value,10);t(e.index,{[jd]:r})},Nd=(e,t)=>n=>t(e.index,{[Dd]:n.value}),xd=(e,t,n)=>(r,i,a)=>{const o=r||n;t(e.index,{[Id]:a.input.value,[Rd]:r,[jd]:Cd(Sd(o))})};var Fd=Object(P.compose)(Object(N.withStore)(),Object(C.connect)((e,t)=>{const n=t.blockType===Td?l:b,r=n.getLimitType(e,t),i={end:vi.blocks.datetime.selectors.getEnd(e),seriesEnds:n.getLimitTypeOption(e,t)};return r===kd?i.seriesEndsOnDate=n.getLimitDateInput(e,t):r===wd&&(i.seriesEndsAfterTimes=n.getLimit(e,t)),i},(e,t)=>{const n=t.blockType===Td?i.editRule:u.editException,r=(t,r)=>e(n(t,r));return{edit:r,onSeriesEndsAfterTimesChange:Pd(t,r),onSeriesEndsChange:Nd(t,r)}},(e,t,n)=>{const{end:r}=e,i=Od()(e,fd),{edit:a}=t,o=Od()(t,gd);return vd(vd(vd(vd({},n),i),o),{},{onSeriesEndsOnDateChange:xd(n,a,r)})}))(yd);n("aJRi");function Ld(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Md(e){for(var t=1;twp.element.createElement("abbr",{className:"tribe-editor__day-of-week__label-abbr",title:t},e)),this.id=pd()()}render(){const{checked:e,className:t,disabled:n,label:r,labelTitle:i,onChange:a,value:o}=this.props;return Yd("elements.dayOfWeek.dayOfWeekContentHook",wp.element.createElement(nc.Checkbox,{checked:e,className:$o()("tribe-editor__day-of-week",t),disabled:n,id:this.id,label:this.getLabel(r,i),onChange:a,value:o}),Md(Md({},this.props),{},{id:this.id,labelComponent:this.getLabel(r,i)}))}}K()(Qd,"propTypes",{blockType:Vo.a.string,checked:Vo.a.bool.isRequired,className:Vo.a.string,disabled:Vo.a.bool,index:Vo.a.number,label:Vo.a.string.isRequired,labelTitle:Vo.a.string.isRequired,onChange:Vo.a.func.isRequired,value:Vo.a.string.isRequired});var Ud=Qd;n("BWfU");const{SUNDAY:Bd,MONDAY:Hd,TUESDAY:Kd,WEDNESDAY:Vd,THURSDAY:Gd,FRIDAY:qd,SATURDAY:Wd,SUNDAY_LABEL:zd,MONDAY_LABEL:Xd,TUESDAY_LABEL:Jd,WEDNESDAY_LABEL:Zd,THURSDAY_LABEL:$d,FRIDAY_LABEL:eu,SATURDAY_LABEL:tu,SUNDAY_ABBR:nu,MONDAY_ABBR:ru,TUESDAY_ABBR:iu,WEDNESDAY_ABBR:au,THURSDAY_ABBR:ou,FRIDAY_ABBR:cu,SATURDAY_ABBR:lu}=a,su=e=>{let{blockType:t,className:n,sundayChecked:r,sundayDisabled:i,mondayChecked:a,mondayDisabled:o,tuesdayChecked:c,tuesdayDisabled:l,wednesdayChecked:s,wednesdayDisabled:d,thursdayChecked:u,thursdayDisabled:p,fridayChecked:b,fridayDisabled:E,saturdayChecked:m,saturdayDisabled:O,index:A,onDayChange:_}=e;return wp.element.createElement("div",{className:$o()("tribe-editor__day-of-week-picker",n)},wp.element.createElement(Ud,{blockType:t,checked:r,className:$o()({"tribe-editor__day-of-week-picker__day":!0,"tribe-editor__day-of-week-picker__day--sunday":!0,"tribe-editor__day-of-week-picker__day--disabled":i}),disabled:i,index:A,label:nu,labelTitle:zd,onChange:_,value:Bd}),wp.element.createElement(Ud,{blockType:t,checked:a,className:$o()({"tribe-editor__day-of-week-picker__day":!0,"tribe-editor__day-of-week-picker__day--monday":!0,"tribe-editor__day-of-week-picker__day--disabled":o}),disabled:o,index:A,label:ru,labelTitle:Xd,onChange:_,value:Hd}),wp.element.createElement(Ud,{blockType:t,checked:c,className:$o()({"tribe-editor__day-of-week-picker__day":!0,"tribe-editor__day-of-week-picker__day--tuesday":!0,"tribe-editor__day-of-week-picker__day--disabled":l}),disabled:l,index:A,label:iu,labelTitle:Jd,onChange:_,value:Kd}),wp.element.createElement(Ud,{blockType:t,checked:s,className:$o()({"tribe-editor__day-of-week-picker__day":!0,"tribe-editor__day-of-week-picker__day--wednesday":!0,"tribe-editor__day-of-week-picker__day--disabled":d}),disabled:d,index:A,label:au,labelTitle:Zd,onChange:_,value:Vd}),wp.element.createElement(Ud,{blockType:t,checked:u,className:$o()({"tribe-editor__day-of-week-picker__day":!0,"tribe-editor__day-of-week-picker__day--thursday":!0,"tribe-editor__day-of-week-picker__day--disabled":p}),disabled:p,index:A,label:ou,labelTitle:$d,onChange:_,value:Gd}),wp.element.createElement(Ud,{blockType:t,checked:b,className:$o()({"tribe-editor__day-of-week-picker__day":!0,"tribe-editor__day-of-week-picker__day--friday":!0,"tribe-editor__day-of-week-picker__day--disabled":E}),disabled:E,index:A,label:cu,labelTitle:eu,onChange:_,value:qd}),wp.element.createElement(Ud,{blockType:t,checked:m,className:$o()({"tribe-editor__day-of-week-picker__day":!0,"tribe-editor__day-of-week-picker__day--saturday":!0,"tribe-editor__day-of-week-picker__day--disabled":O}),disabled:O,index:A,label:lu,labelTitle:tu,onChange:_,value:Wd}))};su.propTypes={className:Vo.a.string,sundayChecked:Vo.a.bool,sundayDisabled:Vo.a.bool,mondayChecked:Vo.a.bool,mondayDisabled:Vo.a.bool,tuesdayChecked:Vo.a.bool,tuesdayDisabled:Vo.a.bool,wednesdayChecked:Vo.a.bool,wednesdayDisabled:Vo.a.bool,thursdayChecked:Vo.a.bool,thursdayDisabled:Vo.a.bool,fridayChecked:Vo.a.bool,fridayDisabled:Vo.a.bool,saturdayChecked:Vo.a.bool,saturdayDisabled:Vo.a.bool,onDayChange:Vo.a.func.isRequired};var du=su;const uu=e=>{let{blockType:t,className:n,sundayChecked:r,sundayDisabled:i,mondayChecked:a,mondayDisabled:o,tuesdayChecked:c,tuesdayDisabled:l,wednesdayChecked:s,wednesdayDisabled:d,thursdayChecked:u,thursdayDisabled:p,fridayChecked:b,fridayDisabled:E,saturdayChecked:m,saturdayDisabled:O,afterDayOfWeekPicker:A,index:_,onDayChange:y}=e;return wp.element.createElement(dd,{className:$o()("tribe-editor__on-day-of-week",n),label:Object(ce.__)("On","tribe-events-calendar-pro")},wp.element.createElement(du,{blockType:t,sundayChecked:r,sundayDisabled:i,mondayChecked:a,mondayDisabled:o,tuesdayChecked:c,tuesdayDisabled:l,wednesdayChecked:s,wednesdayDisabled:d,thursdayChecked:u,thursdayDisabled:p,fridayChecked:b,fridayDisabled:E,saturdayChecked:m,saturdayDisabled:O,index:_,onDayChange:y}),A)};uu.propTypes={blockType:Vo.a.string,className:Vo.a.string,sundayChecked:Vo.a.bool,sundayDisabled:Vo.a.bool,mondayChecked:Vo.a.bool,mondayDisabled:Vo.a.bool,tuesdayChecked:Vo.a.bool,tuesdayDisabled:Vo.a.bool,wednesdayChecked:Vo.a.bool,wednesdayDisabled:Vo.a.bool,thursdayChecked:Vo.a.bool,thursdayDisabled:Vo.a.bool,fridayChecked:Vo.a.bool,fridayDisabled:Vo.a.bool,saturdayChecked:Vo.a.bool,saturdayDisabled:Vo.a.bool,afterDayOfWeekPicker:Vo.a.node,index:Vo.a.number,onDayChange:Vo.a.func};var pu=uu;const bu=["days"];function Eu(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function mu(e){for(var t=1;t{const n=(t.blockType===c.RECURRING?l:b).getDays(e,t),r={days:n};return Ou.forEach(e=>{r[e]=!1}),n.forEach(e=>{const t=_u[e];r[t]=!0}),r.afterDayOfWeekPicker=wp.hooks.applyFilters("elements.onDayOfWeek.afterDayOfWeekPickerHook",null,e,t),r},(e,t)=>{const n=t.blockType===c.RECURRING?i.editRule:u.editException;return{edit:(t,r)=>e(n(t,r))}},(e,t,n)=>{const{days:r}=e,i=Od()(e,bu),{edit:a}=t;return mu(mu(mu({},n),i),{},{onDayChange:e=>{const{checked:t,value:i}=e.target,o=Au[i],l=t?[...r,o].sort((e,t)=>e-t):r.filter(e=>e!==o);a(n.index,{[c.KEY_DAYS]:l})}})}))(pu);n("fSse");const fu=e=>{let{className:t,dayOfMonth:n,onDayOfMonthChange:r,onWeekDayChange:i,weekDay:a}=e;return wp.element.createElement("div",{className:$o()("tribe-editor__day-of-month-picker",t)},wp.element.createElement(nc.Select,{className:"tribe-editor__day-of-month-picker__day-of-month-select",backspaceRemovesValue:!1,value:n,isSearchable:!1,options:Fn,onChange:r}),Uo()(xn,n)&&wp.element.createElement(nc.Select,{className:"tribe-editor__day-of-month-picker__week-day-select",backspaceRemovesValue:!1,value:a,isSearchable:!1,options:Pn,onChange:i}),wp.element.createElement("span",null,Object(ce.__)("of the month","tribe-events-calendar-pro")))};fu.propTypes={className:Vo.a.string,dayOfMonth:Vo.a.oneOf(Fn),onWeekDayChange:Vo.a.func,onDayOfMonthChange:Vo.a.func,weekDay:Vo.a.oneOf(Pn)};var gu=fu;const hu=e=>{let{afterDayOfMonthPicker:t,className:n,dayOfMonth:r,onDayOfMonthChange:i,onWeekDayChange:a,weekDay:o}=e;return wp.element.createElement(dd,{className:$o()("tribe-editor__on-day-of-month-picker",n),label:Object(ce.__)("On the","tribe-events-calendar-pro")},wp.element.createElement(gu,{dayOfMonth:r,onDayOfMonthChange:i,onWeekDayChange:a,weekDay:o}),t)};hu.propTypes={afterDayOfMonthPicker:Vo.a.node,className:Vo.a.string,dayOfMonth:Vo.a.oneOf(Fn),onDayOfMonthChange:Vo.a.func,onWeekDayChange:Vo.a.func,weekDay:Vo.a.oneOf(Pn)};var vu=hu;const{KEY_DAY:Tu,KEY_WEEK:ju}=c,{DAYS_OF_THE_WEEK_MAPPING_TO_STATE:Iu,DAYS_OF_THE_WEEK_MAPPING_FROM_STATE:Ru,WEEKS_OF_THE_MONTH:Du}=a,{DAYS_OF_THE_WEEK_OPTIONS:wu,WEEKS_OF_THE_MONTH_OPTIONS:ku,DAYS_OF_THE_MONTH_OPTIONS:Su}=o,Cu=(e,t)=>n=>{const{value:r}=n,i={};Uo()(Du,r)?i[ju]=r:(i[ju]=null,i[Tu]=r),t(e.index,i)},Pu=(e,t)=>n=>{const{value:r}=n,i=Iu[r];t(e.index,{[Tu]:i})};var Nu=Object(P.compose)(Object(N.withStore)(),Object(C.connect)((e,t)=>{const n=t.blockType===c.RECURRING?l:b,r={},i=n.getWeek(e,t),a=n.getDay(e,t);return Uo()(Du,i)?(r.dayOfMonth=re()(ku,{value:i}),r.weekDay=re()(wu,{value:Ru[a]})):r.dayOfMonth=re()(Su,{value:a}),r.afterDayOfMonthPicker=wp.hooks.applyFilters("elements.onDayOfMonthPicker.afterDayOfMonthPickerHook",null,e,t),r},(e,t)=>{const n=t.blockType===c.RECURRING?i.editRule:u.editException,r=(t,r)=>e(n(t,r));return{onDayOfMonthChange:Cu(t,r),onWeekDayChange:Pu(t,r)}}))(vu);n("zZOC");const xu=e=>{let{className:t,endTimeInput:n,isAllDay:r,onEndTimeBlur:i,onEndTimeChange:a,onEndTimeClick:o,onRecurringMultiDayChange:c,recurringMultiDay:l}=e;return wp.element.createElement(dd,{className:$o()("tribe-editor__recurring-to-date-time-picker",t),label:Object(ce.__)("To","tribe-events-calendar-pro")},wp.element.createElement(nc.TimePicker,{current:n,start:S.time.START_OF_DAY,end:S.time.END_OF_DAY,onBlur:i,onChange:a,onClick:o,showAllDay:!0,allDay:r}),wp.element.createElement("span",null,Object(ce.__)("on the","tribe-events-calendar-pro")),wp.element.createElement(nc.Select,{className:"tribe-editor__recurring-to-date-time-picker__select",backspaceRemovesValue:!1,value:l,isSearchable:!1,options:Mn,onChange:c}))};xu.propTypes={className:Vo.a.string,endTimeInput:Vo.a.string,isAllDay:Vo.a.bool,onEndTimeBlur:Vo.a.func,onEndTimeChange:Vo.a.func,onEndTimeClick:Vo.a.func,onRecurringMultiDayChange:Vo.a.func,recurringMultiDay:Vo.a.oneOf(Mn)};var Fu=xu;const Lu=["endTime"],Mu=["dispatch"];function Yu(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Qu(e){for(var t=1;t{const n=l.getMultiDaySpan(e,t);return re()(o.RECURRING_MULTI_DAY_OPTIONS,e=>e.value===n)},Xu=(e,t,n)=>r=>{let a=Ku(r.target.value,Gu,!1);a.isValid()||(a=Ku(n,Gu,!1));const o=Vu(a);e(i.editRule(t.index,{[Uu]:o}))},Ju=(e,t)=>n=>e(i.editRule(t.index,{[Bu]:n.target.value})),Zu=(e,t)=>(n,r)=>{const a="all-day"===n?n:Wu(n,qu);e(i.editRule(t.index,{[Uu]:a})),r()},$u=(e,t)=>n=>e(i.editRule(t.index,{[Hu]:n.value}));var ep=Object(P.compose)(Object(N.withStore)(),Object(C.connect)((e,t)=>({endTime:l.getEndTimeNoSeconds(e,t),endTimeInput:l.getEndTimeInput(e,t),isAllDay:l.getAllDay(e,t),recurringMultiDay:zu(e,t)}),(e,t)=>({onEndTimeChange:Ju(e,t),onEndTimeClick:Zu(e,t),onRecurringMultiDayChange:$u(e,t),dispatch:e}),(e,t,n)=>{const{endTime:r}=e,i=Od()(e,Lu),{dispatch:a}=t,o=Od()(t,Mu);return Qu(Qu(Qu(Qu({},n),i),o),{},{onEndTimeBlur:Xu(a,n,r)})}))(Fu);n("OM1g");const tp=e=>{let{className:t,endDate:n,endDateFormat:r,endTimeInput:i,isAllDay:a,onEndTimeBlur:o,onEndDateChange:c,onEndTimeChange:l,onEndTimeClick:s}=e;const d=new Date(n);return wp.element.createElement(dd,{className:$o()("tribe-editor__single-to-date-time-picker",t),label:Object(ce.__)("To","tribe-events-calendar-pro")},wp.element.createElement(nc.TimePicker,{current:i,start:S.time.START_OF_DAY,end:S.time.END_OF_DAY,onBlur:o,onChange:l,onClick:s,allDay:a}),wp.element.createElement("span",null,Object(ce.__)("on","tribe-events-calendar-pro")),wp.element.createElement(nc.DayPickerInput,{value:n,format:r,formatDate:Ad.formatDate,parseDate:Ad.parseDate,dayPickerProps:{modifiers:{start:d,end:d}},onDayChange:c}))};tp.propTypes={className:Vo.a.string,endDate:Vo.a.string,endDateFormat:Vo.a.string,endTimeInput:Vo.a.string,isAllDay:Vo.a.bool,onEndDateChange:Vo.a.func,onEndTimeBlur:Vo.a.func,onEndTimeChange:Vo.a.func,onEndTimeClick:Vo.a.func},tp.defaultProps={endDateFormat:"LL"};var np=tp;const rp=["end","endTime"],ip=["edit"];function ap(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function op(e){for(var t=1;t(r,i,a)=>{const o=r||n;t(e.index,{[sp]:a.input.value,[dp]:r,[lp]:Ep(bp(o))})},fp=(e,t,n)=>r=>{let i=bp(r.target.value,Op,!1);i.isValid()||(i=bp(n,Op,!1));const a=mp(i);t(e.index,{[up]:a})},gp=(e,t)=>n=>t(e.index,{[pp]:n.target.value}),hp=(e,t)=>(n,r)=>{const i="all-day"===n?n:_p(n,Ap);t(e.index,{[up]:i}),r()};var vp=Object(P.compose)(Object(N.withStore)(),Object(C.connect)((e,t)=>{const n=t.blockType===cp?l:b;return{end:vi.blocks.datetime.selectors.getEnd(e),endDate:n.getEndDateInput(e,t),endTime:n.getEndTimeNoSeconds(e,t),endTimeInput:n.getEndTimeInput(e,t),isAllDay:n.getAllDay(e,t)}},(e,t)=>{const n=t.blockType===cp?i.editRule:u.editException,r=(t,r)=>e(n(t,r));return{edit:r,onEndTimeChange:gp(t,r),onEndTimeClick:hp(t,r)}},(e,t,n)=>{const{end:r,endTime:i}=e,a=Od()(e,rp),{edit:o}=t,c=Od()(t,ip);return op(op(op(op({},n),a),c),{},{onEndDateChange:yp(n,o,r),onEndTimeBlur:fp(n,o,i)})}))(np);n("sqH4");const Tp=e=>{let{className:t,endTimeInput:n,isAllDay:r,isMultiDay:i,onEndTimeBlur:a,onEndTimeChange:o,onEndTimeClick:c,onMultiDayChange:l,onStartTimeBlur:s,onStartTimeChange:d,onStartTimeClick:u,startTimeInput:p}=e;return wp.element.createElement(dd,{className:$o()("tribe-editor__from-time-range-picker",{"tribe-editor__from-time-range-picker--multi-day":i},t),label:Object(ce.__)("From","tribe-events-calendar-pro")},wp.element.createElement(nc.TimePicker,{current:p,onBlur:s,onChange:d,onClick:u,start:S.time.START_OF_DAY,end:S.time.END_OF_DAY,showAllDay:!1,allDay:r}),!r&&wp.element.createElement(w.Fragment,null,wp.element.createElement("span",null,Object(ce.__)("to","tribe-events-calendar-pro")),wp.element.createElement(nc.TimePicker,{current:n,onBlur:a,onChange:o,onClick:c,start:S.time.START_OF_DAY,end:S.time.END_OF_DAY,disabled:i,showAllDay:!1,allDay:r})),wp.element.createElement(Ed,{className:"tribe-editor__from-time-range-picker__multi-day-checkbox",checked:i,onChange:l}))};Tp.propTypes={className:Vo.a.string,endTimeInput:Vo.a.string,isAllDay:Vo.a.bool,isMultiDay:Vo.a.bool,onEndTimeBlur:Vo.a.func,onEndTimeChange:Vo.a.func,onEndTimeClick:Vo.a.func,onMultiDayChange:Vo.a.func,onStartTimeBlur:Vo.a.func,onStartTimeChange:Vo.a.func,onStartTimeClick:Vo.a.func,startTimeInput:Vo.a.string};var jp=Tp;const Ip=["endTime","startTime"];function Rp(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Dp(e){for(var t=1;tr=>{let i=kp(r.target.value,Cp,!1);i.isValid()||(i=kp(n,Cp,!1));const a=Sp(i);e.editRule(t.index,{[xp]:a})},Up=(e,t,n)=>r=>{let i=kp(r.target.value,Cp,!1);i.isValid()||(i=kp(n,Cp,!1));const a=Sp(i);e.editRule(t.index,{[Mp]:a})},Bp=(e,t)=>n=>{e.editRule(t.index,{[Fp]:n.target.value})},Hp=(e,t)=>n=>{e.editRule(t.index,{[Yp]:n.target.value})},Kp=(e,t)=>n=>{e.editRule(t.index,{[Lp]:n.target.checked})},Vp=(e,t)=>(n,r)=>{const i="all-day"===n?n:Np(n,Pp);e.editRule(t.index,{[xp]:i}),r()},Gp=(e,t)=>(n,r)=>{const i="all-day"===n?n:Np(n,Pp);e.editRule(t.index,{[Mp]:i}),r()};var qp=Object(P.compose)(Object(N.withStore)(),Object(C.connect)((e,t)=>{const n=t.blockType===c.RECURRING?l:b;return{endTime:n.getEndTimeNoSeconds(e,t),endTimeInput:n.getEndTimeInput(e,t),isAllDay:n.getAllDay(e,t),isMultiDay:n.getMultiDay(e,t),startTime:n.getStartTimeNoSeconds(e,t),startTimeInput:n.getStartTimeInput(e,t)}},(e,t)=>{const n=t.blockType===c.RECURRING?i:u;return{editRule:(t,r)=>e(n.editRule(t,r))}},(e,t,n)=>{const{endTime:r,startTime:i}=e,a=Od()(e,Ip);return Dp(Dp(Dp(Dp({},n),a),t),{},{onEndTimeBlur:Qp(t,n,r),onEndTimeChange:Bp(t,n),onEndTimeClick:Vp(t,n),onMultiDayChange:Kp(t,n),onStartTimeBlur:Up(t,n,i),onStartTimeChange:Hp(t,n),onStartTimeClick:Gp(t,n)})}))(jp),Wp=n("GE2E");n("+rk7");const{applyFilters:zp}=wp.hooks,Xp=e=>{const{children:t,className:n,disabled:r,onClick:i}=e;return zp("elements.monthTag.monthTagContentHook",wp.element.createElement("button",{className:$o()({"tribe-editor__month-tag":!0,"tribe-editor__month-tag--disabled":r},n),disabled:r,onClick:i},wp.element.createElement(Wp.Close,null),wp.element.createElement("span",{className:"tribe-editor__month-tag__remove"},Object(ce.__)("Remove","tribe-events-calendar-pro")),t),e)};Xp.propTypes={children:Vo.a.node,className:Vo.a.string,disabled:Vo.a.bool,onClick:Vo.a.func};var Jp=Xp;n("7cHz");class Zp extends w.PureComponent{constructor(e){super(e),K()(this,"onAddClick",()=>this.setState({isSelecting:!0})),K()(this,"onSelectBlur",()=>this.setState({isSelecting:!1})),K()(this,"getSelect",()=>this.state.isSelecting?wp.element.createElement(nc.Select,{className:"tribe-editor__month-picker__select",autoFocus:!0,backspaceRemovesValue:!1,isClearable:!1,isDisabled:this.props.disabled,isMulti:!0,onBlur:this.onSelectBlur,onChange:this.props.onSelectChange,openMenuOnFocus:!0,options:Ln,value:this.props.months}):wp.element.createElement("button",{className:$o()({"tribe-editor__month-picker__add":!0,"tribe-editor__month-picker__add--disabled":this.props.disabled}),disabled:this.props.disabled,onClick:this.onAddClick},wp.element.createElement("span",{className:"tribe-editor__month-picker__add-icon"},"+"),Object(ce.__)("Add","tribe-events-calendar-pro"))),this.state={isSelecting:!1}}render(){const{blockType:e,className:t,disabled:n,index:r,months:i,onMonthClick:a}=this.props;return wp.element.createElement("div",{className:$o()("tribe-editor__month-picker",t)},i.map(t=>wp.element.createElement(Jp,{key:t.value,blockType:e,className:"tribe-editor__month-picker__month-tag",disabled:n,index:r,onClick:a(t.value),value:t.value},t.tag)),this.getSelect())}}K()(Zp,"propTypes",{blockType:Vo.a.string,className:Vo.a.string,index:Vo.a.number,months:Vo.a.arrayOf(Vo.a.oneOf(Ln)),onMonthClick:Vo.a.func,onSelectChange:Vo.a.func}),K()(Zp,"defaultProps",{months:[]});var $p=Zp;const eb=e=>{let{blockType:t,className:n,disabled:r,index:i,months:a,onMonthClick:o,onSelectChange:c}=e;return wp.element.createElement(dd,{className:$o()("tribe-editor__in-month",n),label:Object(ce.__)("In","tribe-events-calendar-pro")},wp.element.createElement($p,{blockType:t,className:"tribe-editor__in-month__month-picker",disabled:r,index:i,months:a,onMonthClick:o,onSelectChange:c}))};eb.propTypes={blockType:Vo.a.string,className:Vo.a.string,disabled:Vo.a.bool,index:Vo.a.number,months:Vo.a.arrayOf(Vo.a.oneOf(Ln)),onMonthClick:Vo.a.func,onSelectChange:Vo.a.func};var tb=eb;const nb=["monthsArr"];function rb(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function ib(e){for(var t=1;t{const t=lb[e];return re()(ob,{value:t})};var db=Object(P.compose)(Object(N.withStore)(),Object(C.connect)((e,t)=>{const n=(t.blockType===c.RECURRING?l:b).getMonth(e,t),r=n.map(sb);return{monthsArr:n,months:r}},(e,t)=>{const n=t.blockType===c.RECURRING?i.editRule:u.editException;return{edit:(t,r)=>e(n(t,r))}},(e,t,n)=>{const{monthsArr:r}=e,i=Od()(e,nb),{edit:a}=t;return ib(ib(ib({},n),i),{},{onMonthClick:e=>()=>{const t=cb[e],i=r.filter(e=>e!==t);a(n.index,{[ab]:i})},onSelectChange:e=>{const t=[...e.map(e=>cb[e.value])].sort((e,t)=>e-t);a(n.index,{[ab]:t})}})}))(tb),ub=n("In0u"),pb=n.n(ub);n("ItXU");const bb=e=>{let{className:t,disabled:n,frequency:r,onChange:i,options:a}=e;return wp.element.createElement(nc.CreatableSelect,{className:$o()("tribe-editor__frequency-select",t),backspaceRemovesValue:!1,isDisabled:n,formatCreateLabel:e=>e,isValidNewOption:(e,t,n)=>{const r=!n.filter(t=>t.label===e).length,i=""!==e,a=!isNaN(e);return i&&r&&a},onChange:i,options:a,value:r})};bb.propTypes={className:Vo.a.string,frequency:Yn.proptypes.ReactSelectOption.isRequired,onChange:Vo.a.func.isRequired,options:Yn.proptypes.ReactSelectOptions.isRequired};var Eb=bb;const{RECURRING:mb,KEY_BETWEEN:Ob}=c,{DAILY:Ab,WEEKLY:_b,MONTHLY:yb,YEARLY:fb}=a,{DAILY_RECURRENCE_FREQUENCY_OPTIONS:gb,WEEKLY_RECURRENCE_FREQUENCY_OPTIONS:hb,MONTHLY_RECURRENCE_FREQUENCY_OPTIONS:vb,YEARLY_RECURRENCE_FREQUENCY_OPTIONS:Tb}=o,jb=(e,t)=>{const n=(t.blockType===mb?l:b).getBetween(e,t);return{label:String(n),value:n}},Ib=e=>{let t=[];switch(e.selected.value){case Ab:t=gb;break;case _b:t=hb;break;case yb:t=vb;break;case fb:t=Tb}return t};var Rb=Object(P.compose)(Object(N.withStore)(),Object(C.connect)((e,t)=>({frequency:jb(e,t),options:Ib(t)}),(e,t)=>{const n=t.blockType===mb?$:Fa;return{onChange:r=>{e(n(t.index,{[Ob]:Number(r.value)}))}}}))(Eb);n("UHF2");const{applyFilters:Db}=wp.hooks,wb=e=>{const{afterSelect:t,onChange:n,options:r,selected:i,isPlural:a}=e;return Db("elements.typePicker.typePickerContentHook",wp.element.createElement(w.Fragment,null,(e=>{const{blockType:t,index:n,selected:r}=e;return r&&r.value!==pe&&wp.element.createElement(Rb,{className:"tribe-editor__type-picker__frequency-select",blockType:t,index:n,selected:r})})(e),wp.element.createElement(nc.Select,{className:"tribe-editor__type-picker__type-select",backspaceRemovesValue:!1,value:i,isSearchable:!1,options:r,onChange:n,getOptionLabel:e=>a&&e.label_plural?e.label_plural:e.label}),t),e)},kb=e=>{const{className:t,rowLabel:n}=e;return wp.element.createElement(dd,{className:$o()("tribe-editor__type-picker",t),label:n},wb(e))};kb.defaultProps={onChange:pb.a,options:[]},kb.propTypes={afterSelect:Vo.a.node,blockType:Vo.a.oneOf(Bn),className:Vo.a.string,index:Vo.a.number,onChange:Vo.a.func,options:Yn.proptypes.ReactSelectOptions,selected:Yn.proptypes.ReactSelectOption.isRequired,rowLabel:Vo.a.string};var Sb=kb;const{applyFilters:Cb}=wp.hooks,{RECURRING:Pb,KEY_TYPE:Nb}=c;var xb=Object(P.compose)(Object(N.withStore)(),Object(C.connect)((e,t)=>{const n=((e,t)=>(t.blockType===Pb?l:b).getBetween(e,t))(e,t)>1;return{selected:Cb("elements.typePicker.typePickerSelectedOptionHook",((e,t)=>(t.blockType===Pb?l:b).getTypeOption(e,t))(e,t),e,t),isPlural:n,afterSelect:Cb("elements.typePicker.afterTypePickerSelectHook",null,e,t)}},(e,t)=>{const n=t.blockType===Pb?i.editRule:u.editException;return{dispatch:e,onChange:r=>e(n(t.index,{[Nb]:r.value}))}}))(Sb);n("sSeK");const Fb=e=>{let{className:t,date:n,dateFormat:r,onDateChange:i}=e;const a=new Date(n);return wp.element.createElement(dd,{className:$o()("tribe-editor__on-date-picker",t),label:Object(ce.__)("On","tribe-events-calendar-pro")},wp.element.createElement(nc.DayPickerInput,{value:n,format:r,formatDate:Ad.formatDate,parseDate:Ad.parseDate,dayPickerProps:{modifiers:{start:a,end:a}},onDayChange:i}))};Fb.propTypes={className:Vo.a.string,date:Vo.a.string,dateFormat:Vo.a.string,onDateChange:Vo.a.func},Fb.defaultProps={dateFormat:"LL"};var Lb=Fb;const Mb=["start"];function Yb(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Qb(e){for(var t=1;t(r,i,a)=>{const o=r||n;t(e.index,{[Hb]:a.input.value,[Kb]:r,[Bb]:Gb(Vb(o))})};var Wb=Object(P.compose)(Object(N.withStore)(),Object(C.connect)((e,t)=>({date:(t.blockType===Ub?l:b).getStartDateInput(e,t),start:vi.blocks.datetime.selectors.getStart(e)}),(e,t)=>{const n=t.blockType===Ub?i.editRule:u.editException;return{edit:(t,r)=>e(n(t,r))}},(e,t,n)=>{const{start:r}=e,i=Od()(e,Mb),{edit:a}=t;return Qb(Qb(Qb({},n),i),{},{onDateChange:qb(n,a,r)})}))(Lb);const{KEY_MULTI_DAY:zb,KEY_TYPE:Xb}=c,Jb=e=>{let{getOptions:t,rules:n,removeRule:r}=e;return wp.element.createElement("section",null,n.map((e,n)=>wp.element.createElement(ed,{key:n,index:n,isMultiDay:e[zb],onRemoveClick:r,options:t(n),type:e[Xb]})))};Jb.propTypes={rules:Vo.a.arrayOf(Vo.a.shape({})),removeRule:Vo.a.func.isRequired},Jb.defaultProps={rules:[]};var Zb,$b=Jb;var eE=fl("undefined"!=typeof tecEventDetails&&(null===(Zb=tecEventDetails)||void 0===Zb?void 0:Zb.lockRulesUi),Object(P.compose)(Object(N.withStore)(),Object(C.connect)(e=>({getOptions:t=>wp.hooks.applyFilters("elements.recurringForm.recurringFieldOptionsHook",o.RECURRENCE_TYPE_RULES_OPTIONS,e,t)})))($b));const tE=e=>{let{children:t}=e;return wp.element.createElement("section",null,wp.element.createElement("fieldset",{className:"tribe-editor__events-pro__fieldset"},t))},nE=e=>{let{isRulePanelVisible:t,hasRules:n,rulesCount:r,toggleRulePanelExpand:i,isRulePanelExpanded:a,rules:o,removeRule:c,addField:l,initialRulePanelClick:s}=e;if(t||n){const e=wp.hooks.applyFilters("elements.recurringForm.outputBeforeRecurringForm",null);return wp.element.createElement(id,{count:r,onHeaderClick:i,isExpanded:a,panelTitle:Object(hi.pro)().blocks_recurrence_rules.panel_title_text,type:"recurring"},e?wp.element.createElement(tE,null,e):null,wp.element.createElement(eE,{rules:o,removeRule:c}),wp.element.createElement(Ts,{onClick:l,noBorder:!0}))}return wp.element.createElement(Ts,{onClick:s})};nE.propTypes={addField:Vo.a.func.isRequired,hasRules:Vo.a.bool.isRequired,initialRulePanelClick:Vo.a.func.isRequired,isRulePanelExpanded:Vo.a.bool.isRequired,isRulePanelVisible:Vo.a.bool.isRequired,removeRule:Vo.a.func.isRequired,rules:Vo.a.array.isRequired,rulesCount:Vo.a.number.isRequired,toggleRulePanelExpand:Vo.a.func.isRequired};var rE=nE;var iE=Object(P.compose)(Object(N.withStore)(),Object(C.connect)(e=>({rules:l.getRules(e),rulesCount:l.getRulesCount(e),hasRules:l.hasRules(e)}),(e,t)=>{let{toggleRulePanelVisibility:n,expandRulePanel:r}=t;const a=()=>e(i.addField());return{addField:a,removeRule:t=>e(i.removeRule(t)),initialRulePanelClick:Object(P.compose)(n,r,a)}}))(rE);const aE=e=>{let{isExceptionPanelVisible:t,hasExceptions:n,exceptionsCount:r,toggleExceptionPanelExpand:i,isExceptionPanelExpanded:a,exceptions:o,removeException:c,addField:l,initialExceptionPanelClick:s}=e;return t||n?wp.element.createElement(id,{count:r,onHeaderClick:i,isExpanded:a,panelTitle:Object(ce.__)("Exceptions","tribe-events-calendar-pro"),type:"exception"},wp.element.createElement(hs,{exceptions:o,removeException:c}),wp.element.createElement(hl,{onClick:l,noBorder:!0})):wp.element.createElement(hl,{onClick:s})};aE.propTypes={addField:Vo.a.func.isRequired,exceptions:Vo.a.array.isRequired,exceptionsCount:Vo.a.number.isRequired,hasExceptions:Vo.a.bool.isRequired,initialExceptionPanelClick:Vo.a.func.isRequired,isExceptionPanelExpanded:Vo.a.bool.isRequired,isExceptionPanelVisible:Vo.a.bool.isRequired,removeException:Vo.a.func.isRequired,toggleExceptionPanelExpand:Vo.a.func.isRequired};var oE=aE;var cE=Object(P.compose)(Object(N.withStore)(),Object(C.connect)(e=>({exceptions:b.getExceptions(e),exceptionsCount:b.getExceptionsCount(e),hasExceptions:b.hasExceptions(e)}),(e,t)=>{let{toggleExceptionPanelVisibility:n,expandExceptionPanel:r}=t;const i=()=>e(u.addField());return{addField:i,removeException:t=>e(u.removeException(t)),initialExceptionPanelClick:Object(P.compose)(n,r,i)}}))(oE);const{applyFilters:lE}=wp.hooks;class sE extends w.PureComponent{constructor(e){super(e),K()(this,"toggleRepeatBlocksVisibility",()=>{this.setState({isRepeatBlockVisible:!this.state.isRepeatBlockVisible})}),K()(this,"toggleRulePanelVisibility",()=>{this.setState({isRulePanelVisible:!this.state.isRulePanelVisible})}),K()(this,"hideRulePanel",()=>{this.setState({isRulePanelVisible:!1})}),K()(this,"toggleExceptionPanelVisibility",()=>{this.setState({isExceptionPanelVisible:!this.state.isExceptionPanelVisible})}),K()(this,"hideExceptionPanel",()=>{this.setState({isExceptionPanelVisible:!1})}),K()(this,"toggleRulePanelExpand",()=>{this.setState({isRulePanelExpanded:!this.state.isRulePanelExpanded})}),K()(this,"expandRulePanel",()=>{this.setState({isRulePanelExpanded:!0})}),K()(this,"toggleExceptionPanelExpand",()=>{this.setState({isExceptionPanelExpanded:!this.state.isExceptionPanelExpanded})}),K()(this,"expandExceptionPanel",()=>{this.setState({isExceptionPanelExpanded:!0})}),this.state={isRepeatBlockVisible:!1,isRulePanelVisible:!1,isRulePanelExpanded:!1,isExceptionPanelVisible:!1,isExceptionPanelExpanded:!1}}componentDidMount(){const{rules:e,exceptions:t}=this.props.attributes;e&&this.props.syncRulesFromDB(e),t&&this.props.syncExceptionsFromDB(t)}componentDidUpdate(e){!this.props.hasRules&&e.hasRules&&this.hideRulePanel(),!this.props.hasExceptions&&e.hasExceptions&&this.hideExceptionPanel()}renderRepeatEventButton(){return wp.element.createElement(ul,{onClick:()=>{this.toggleRepeatBlocksVisibility(),this.toggleRulePanelVisibility(),this.toggleRulePanelExpand(),this.props.addField()}},Object(hi.pro)().blocks_recurrence_rules.panel_title_text)}renderRecurrence(){const e={isRulePanelVisible:this.state.isRulePanelVisible,isRulePanelExpanded:this.state.isRulePanelExpanded,toggleRulePanelVisibility:this.toggleRulePanelVisibility,toggleRulePanelExpand:this.toggleRulePanelExpand,expandRulePanel:this.expandRulePanel},t={isExceptionPanelVisible:this.state.isExceptionPanelVisible,isExceptionPanelExpanded:this.state.isExceptionPanelExpanded,toggleExceptionPanelVisibility:this.toggleExceptionPanelVisibility,toggleExceptionPanelExpand:this.toggleExceptionPanelExpand,expandExceptionPanel:this.expandExceptionPanel};return this.state.isRepeatBlockVisible||this.props.hasRules||this.props.hasExceptions?wp.element.createElement(w.Fragment,null,wp.element.createElement(iE,e),wp.element.createElement(cE,t)):this.renderRepeatEventButton()}render(){return wp.element.createElement(w.Fragment,null,lE("blocks.recurrence.renderRecurrenceHook",this.renderRecurrence()),wp.element.createElement(Al,{setAttributes:this.props.setAttributes,clientId:this.props.clientId,metaField:"exceptions",current:this.props.attributes.exceptions,selector:b.getExceptions,listeners:[d.ADD_EXCEPTION,d.EDIT_EXCEPTION,d.REMOVE_EXCEPTION]}),wp.element.createElement(Al,{setAttributes:this.props.setAttributes,clientId:this.props.clientId,metaField:"rules",selector:l.getRules,current:this.props.attributes.rules,listeners:[r.ADD_RULE,r.EDIT_RULE,r.REMOVE_RULE]}))}}K()(sE,"propTypes",{attributes:Vo.a.shape({rules:Vo.a.string,exceptions:Vo.a.string}),clientId:Vo.a.string.isRequired,hasExceptions:Vo.a.bool.isRequired,hasRules:Vo.a.bool.isRequired,setAttributes:Vo.a.func.isRequired,syncExceptionsFromDB:Vo.a.func.isRequired,syncRulesFromDB:Vo.a.func.isRequired});var dE=Object(P.compose)(Object(N.withStore)(),Object(C.connect)(e=>({hasRules:l.hasRules(e),hasExceptions:b.hasExceptions(e)}),e=>({addField:()=>e(i.addField()),syncRulesFromDB:t=>e(i.syncRulesFromDB(t)),syncExceptionsFromDB:t=>e(u.syncExceptionsFromDB(t))})))(sE);const uE=(e,t)=>wp.element.createElement(dE,t);var pE=n("1ZqX");n("uwex");const bE=Object(ce.__)("Recurring Event","tribe-events-calendar-pro");class EE extends w.PureComponent{constructor(e,t){super(e,t),K()(this,"handleClick",()=>this.setState({isEditing:!0},()=>this.input.current.focus())),K()(this,"handleChange",e=>this.setState({description:e.target.value})),K()(this,"handleBlur",()=>this.setState({isEditing:!1},()=>this.props.setAttributes({description:this.state.description}))),this.input=k.a.createRef(),this.state={isEditing:!1,description:e.attributes.description||bE}}render(){return this.props.hasRules&&wp.element.createElement("span",{className:"tribe-editor__events-pro__recurrence-description"},wp.element.createElement(kl,null),this.state.isEditing?wp.element.createElement("input",{type:"text",name:"description",value:this.state.description,onChange:this.handleChange,onBlur:this.handleBlur,ref:this.input,disabled:!this.props.isEditable}):wp.element.createElement("button",{type:"button",onClick:this.handleClick,disabled:!this.props.isEditable},this.state.description),wp.element.createElement("a",{href:this.props.url,target:"__blank"},Object(ce.__)("see all","tribe-events-calendar-pro")))}}K()(EE,"propTypes",{attributes:Vo.a.shape({description:Vo.a.string}),setAttributes:Vo.a.func,hasRules:Vo.a.bool.isRequired,url:Vo.a.string.isRequired,isEditable:Vo.a.bool.isRequired});const mE=Object(pE.withSelect)(e=>{const t=e("core/editor").getCurrentPostAttribute("slug")||"";return{url:(e("core/editor").getCurrentPostAttribute("link")||"").replace(new RegExp(t+"/.*/?$"),t+"/all")}});var OE=Object(P.compose)(Object(N.withStore)(),Object(C.connect)(e=>({hasRules:l.hasRules(e),isEditable:vi.blocks.datetime.selectors.isEditable(e)})),mE)(EE);const AE=(e,t)=>S.globals.wpHooks.applyFilters("blocks.recurrenceDescription.contentHook",wp.element.createElement(OE,t),t);var _E=n("pVnL"),yE=n.n(_E),fE=n("zgRa"),gE=n.n(fE),hE=n("AuWn"),vE=n.n(hE);n("d2qS");const{InspectorControls:TE}=hi.wpEditor,jE=Object(ce.__)("Related Events","tribe-events-calendar-pro"),IE=e=>{const{isSelected:t,categories:n,tags:r,events:i,attributes:a}=e,o=n.length||r.length,c=i.length,l=t||a.title?(e=>{let{isSelected:t,attributes:n,setAttributes:r}=e;const{title:i}=n,a=$o()({"tribe-editor__related-events__title":!0,"tribe-editor__related-events__title--selected":t});return wp.element.createElement("div",{key:"tribe-events-related-events-label",className:a},wp.element.createElement(vE.a,{id:"tribe-events-related-events-title",className:"tribe-editor__related-events__title-text",value:i,placeholder:jE,onChange:e=>r({title:e.target.value})}))})(e):wp.element.createElement("span",{className:$o()(["tribe-editor__related-events__title","tribe-editor__related-events__title--placeholder"])},jE);return wp.element.createElement("div",{key:"event-links",className:"tribe-editor__block tribe-editor__related-events"},wp.element.createElement("h2",null,l),o&&c?wp.element.createElement(DE,{events:i,displayImages:a.displayImages}):wp.element.createElement(RE,null))},RE=()=>wp.element.createElement("div",{className:"tribe-editor__related-events__warning"},Object(ce.__)("This block displays related events based on the tags and categories you select. Please add tags and categories to display related events, and be sure you have more events for these tags and categories.","tribe-events-calendar-pro")),DE=e=>{let{events:t,displayImages:n}=e;return wp.element.createElement("div",{className:"tribe-editor__related-events__grid"},t.map(e=>wp.element.createElement(wE,{key:e.slug,displayImages:n,event:e})))},wE=e=>{let{displayImages:t,event:n}=e;const r=`${n.start_date} - ${n.end_date_details.hour}:${n.end_date_details.minutes}:${n.end_date_details.seconds}`;return wp.element.createElement("div",{className:"tribe-editor__related-events__grid--item"},t&&wp.element.createElement(Cl,null),wp.element.createElement("div",{className:"tribe-editor__related-events__grid--item-details"},wp.element.createElement(kE,{title:n.title}),wp.element.createElement(SE,{date:r})))},kE=e=>{let{title:t}=e;return wp.element.createElement("h3",{className:"tribe-editor__related-events__grid--item-title"},t)},SE=e=>{let{date:t}=e;return wp.element.createElement("div",{className:"tribe-editor__related-events__grid--item-date"},t)},CE=e=>{let{isSelected:t,attributes:n,setAttributes:r}=e;return t&&wp.element.createElement(TE,{key:"inspector"},wp.element.createElement(qo.PanelBody,{title:Object(ce.__)("Related Events Settings","tribe-events-calendar-pro")},wp.element.createElement(qo.ToggleControl,{label:Object(ce.__)("Display Images","tribe-events-calendar-pro"),checked:n.displayImages,onChange:e=>r({displayImages:e})})))};class PE extends w.PureComponent{constructor(e){super(e),K()(this,"fetch",()=>{const{tags:e,categories:t,postId:n}=this.props;let r=Object(hi.rest)().url+"tribe/events/v1/events?&per_page=3";t.length&&(r=`${r}&categories=${t.join()}`),e.length&&(r=`${r}&tags=${e.join()}`),fetch(r).then(e=>e.json()).then(e=>{const t=e.events.filter(e=>e.id!==n);this.setState({events:t})})}),this.state={events:[]}}componentDidMount(){const e=this.props;(e.categories.length||e.tags.length)&&this.fetch()}componentDidUpdate(e){const{tags:t,categories:n}=this.props;gE()(t,e.tags)&&gE()(n,e.categories)||this.fetch()}render(){return wp.element.createElement(w.Fragment,null,wp.element.createElement(IE,yE()({},this.props,{events:this.state.events})),wp.element.createElement(CE,this.props))}}PE.propTypes={attributes:Vo.a.object,setAttributes:Vo.a.func,isSelected:Vo.a.bool,tags:Vo.a.array,categories:Vo.a.array,postId:Vo.a.number};var NE=PE;var xE=Object(pE.withSelect)(e=>({tags:e("core/editor").getEditedPostAttribute("tags")||[],categories:e("core/editor").getEditedPostAttribute("tribe_events_cat")||[],postId:e("core/editor").getCurrentPostId()}))(NE),FE=n("d/5d"),LE={id:"related-events",title:Object(ce.__)("Related Events","tribe-events-calendar-pro"),description:Object(ce.__)("Show other events with the same event categories and/or tags.","tribe-events-calendar-pro"),icon:wp.element.createElement(FE.Sharing,null),category:"tribe-events",keywords:["event","events-gutenberg","tribe"],supports:{html:!1},attributes:{title:{type:"html",default:Object(ce.__)("Related Events","tribe-events-calendar-pro")},displayImages:{type:"boolean",default:!0}},edit:xE,save:()=>null};const ME="@@MT/EVENTS-PRO/SET_SERIES_QUEUE_STATUS";function YE(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function QE(e){for(var t=1;t({type:ME,payload:e}),HE=e=>e[Yn.constants.EVENTS_PRO_PLUGIN].status,KE=Object(ie.createSelector)(HE,e=>!!e.done),VE=Object(ie.createSelector)(HE,e=>e.progress);var GE=n("XNR4"),qE=n.n(GE),WE=n("1fKG");n("bZMm");const zE="NOTICE_EDITING_SERIES",XE="NOTICE_PROGRESS_ON_SERIES_CREATION_COUNT",JE="NOTICE_PROGRESS_ON_SERIES_CREATION",ZE={[zE]:Object(ce.__)("You are currently editing all events in a recurring series.","tribe-events-calendar-pro"),[XE]:Object(ce._n)("%d instance","%d instances",1,"tribe-events-calendar-pro"),[JE]:Object(ce.__)("of this event have been created through %s.","tribe-events-calendar-pro")};function*$E(){try{const e=new FormData,t=Object(pE.select)("core/editor").getCurrentPostId();if(!t)throw"No post ID";yield Object(gi.call)([e,"append"],"action","gutenberg_events_pro_recurrence_queue"),yield Object(gi.call)([e,"append"],"recurrence_queue_status_nonce",S.globals.restNonce().queue_status_nonce),yield Object(gi.call)([e,"append"],"post_id",t);const n=yield Object(gi.call)(fetch,window.ajaxurl,{method:"POST",credentials:"same-origin",body:e});return yield Object(gi.call)([n,"json"])}catch(e){return console.error(e),!1}}function*em(){for(yield Object(gi.put)(vi.blocks.datetime.actions.disableEdits());;){const e=yield Object(gi.call)($E),t=!1===e||e.done;if(t){const n=!1===e?{done:t}:e;yield Object(gi.put)(BE(n));const{items_created:r,last_created_at:i,done:a,percentage:o}=e;if(a&&100===o){const e=S.moment.toDate(S.moment.toMoment(i));yield Object(gi.call)([Object(pE.dispatch)("core/notices"),"createSuccessNotice"],`${Object(ce.sprintf)(Object(ce._n)("%d instance","%d instances",r,"tribe-events-calendar-pro"),r)} ${Object(ce.sprintf)(ZE[JE],e)}`,{id:JE,isDismissible:!0})}}else yield Object(gi.put)(BE(e)),yield Object(gi.call)([Object(pE.dispatch)("core/notices"),"createSuccessNotice"],Object(ce.__)("Recurring event instances are still being created…","tribe-events-calendar-pro"),{id:JE,isDismissible:!0});if(yield Object(gi.select)(KE)){yield Object(gi.put)(vi.blocks.datetime.actions.allowEdits());break}yield Object(gi.call)(WE.delay,1e3)}}function tm(){return Object(WE.eventChannel)(e=>{const t=Object(pE.select)("core/editor"),n=[()=>t.isSavingPost()&&!t.isAutosavingPost(),t.isPublishingPost];return Object(pE.subscribe)(()=>{qE()(n,e=>e())&&e(!0)})})}function*nm(){yield Object(gi.take)([Q])}function*rm(){yield Object(gi.take)([Q]);const e=yield Object(gi.select)(Br),t=yield Object(gi.call)([/action=edit/,"test"],window.location.search);e&&t&&(yield Object(gi.call)([Object(pE.dispatch)("core/notices"),"createSuccessNotice"],ZE[zE],{id:zE,isDismissible:!1}))}function*im(){yield Object(gi.fork)(rm);const e=yield Object(gi.call)(tm);for(;;)yield Object(gi.race)([Object(gi.take)(e),Object(gi.call)(nm)]),yield Object(gi.call)(em)}var am=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:UE,t=arguments.length>1?arguments[1]:void 0;switch(t.type){case ME:return QE(QE({},e),t.payload);default:return e}},om=Object(P.combineReducers)({blocks:nl,status:am}),cm=n("g8L8");const{EVENTS_PRO_PLUGIN:lm}=Yn.constants,sm=()=>{(e=>{tl(e)})(S.globals.postObjects().tribe_events);const{dispatch:e,injectReducers:t}=cm.store;[Ol,im,ha,ll].forEach(e=>cm.store.run(e)),t({[lm]:om}),e(Yn.actions.addPlugin(lm))},dm=()=>cm.store;S.globals.wpHooks.addFilter("blocks.eventDatetime.dashboardHook","tribe/addRecurrence",uE),S.globals.wpHooks.addFilter("blocks.eventDatetime.contentHook","tribe/addRecurrenceDescription",AE);const um=(pm=[LE],[...pm,...(S.globals.pro().additional_fields||[]).map(e=>(e=>{const{name:t,label:n,type:r}=e,i=Mc[r]||Mc.text,a={id:"field-"+Object(So.toBlockName)(t),title:n,description:Object(ce.__)("Additional Field","tribe-events-calendar-pro"),icon:i.icon,category:"tribe-events-pro-additional-fields",keywords:["event","events-gutenberg","tribe"],supports:{html:!1},attributes:{value:{type:"string",source:"meta",meta:t}},edit:i.container,save:()=>null};return r===Lc&&(a.attributes.dividerList={type:"string",default:", "},a.attributes.dividerEnd={type:"string",default:Object(ce.__)(" and ","tribe-events-calendar-pro")}),a})(e))]);var pm;um.forEach(e=>{const t="tribe/"+e.id;Object(D.registerBlockType)(t,e)}),sm();var bm=um;hi.wpHooks.addFilter("tec.events.blocks.tribe_event_venue.getVenueId","tec/events-pro/getVenueId",(e,t)=>t.attributes.venue||null)},aJRi:function(e,t,n){},cDcd:function(e,t){e.exports=React},cEuG:function(e,t,n){},"d/5d":function(e,t){e.exports=tribe.events.icons},d2qS:function(e,t,n){},"df/k":function(e,t){e.exports=lodash.identity},e5yv:function(e,t){e.exports=lodash.isArray},fSse:function(e,t,n){},fZxb:function(e,t,n){},fcXm:function(e,t,n){},g8L8:function(e,t){e.exports=tribe.common.store},h74D:function(e,t){e.exports=tribe.modules.reactRedux},i0Sv:function(e,t,n){},kK34:function(e,t,n){},kczL:function(e,t){e.exports=tribe.common.utils.globals},l3Sj:function(e,t){e.exports=wp.i18n},m3e7:function(e,t,n){},"oNd/":function(e,t){e.exports=lodash.curry},rKB8:function(e,t){e.exports=tribe.modules.redux},rf6O:function(e,t){e.exports=tribe.modules.propTypes},sSeK:function(e,t,n){},sqH4:function(e,t,n){},"tI+e":function(e,t){e.exports=wp.components},tbMi:function(e,t){e.exports=tribe.common.utils.date},uPrq:function(e,t,n){},uwex:function(e,t,n){},wy2R:function(e,t){e.exports=moment},xD0k:function(e,t){e.exports=tribe.events.data},zZOC:function(e,t,n){},zgRa:function(e,t){e.exports=lodash.isEqual}}); \ No newline at end of file +var tribe="object"==typeof tribe?tribe:{};tribe["events-pro"]=function(e){function t(t){for(var r,o,c=t[0],l=t[1],s=t[2],u=0,p=[];un!==t.index);case Q:return JSON.parse(t.payload);default:return e}}var U=n("lSNA"),H=n.n(U),V=n("oNd/"),K=n.n(V);function G(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function q(e){for(var t=1;t({type:x}),z=e=>({type:F,payload:e}),X=()=>({type:L}),Z=e=>({type:M,index:e}),J=K()((e,t)=>({type:Y,index:e,payload:t})),$=K()((e,t)=>q(q({},J(e,t)),{},{sync:!0})),ee=e=>({type:Q,payload:e});var te=n("6OzC"),ne=n.n(te),re=n("MWqi"),ae=n("JDLU"),ie=n.n(ae),oe=n("l3Sj");const ce="daily",le="weekly",se="monthly",de="yearly",ue="single",pe=Object(oe.__)("Day","tribe-events-calendar-pro"),be=Object(oe.__)("Week","tribe-events-calendar-pro"),Ee=Object(oe.__)("Month","tribe-events-calendar-pro"),me=Object(oe.__)("Year","tribe-events-calendar-pro"),Oe=Object(oe.__)("Days","tribe-events-calendar-pro"),Ae=Object(oe.__)("Weeks","tribe-events-calendar-pro"),_e=Object(oe.__)("Months","tribe-events-calendar-pro"),ye=Object(oe.__)("Years","tribe-events-calendar-pro"),fe=Object(oe.__)("Single Recurrence","tribe-events-calendar-pro"),ge=[ce,le,se,de,ue],he="on",ve="after",Te="never",je=Object(oe.__)("On","tribe-events-calendar-pro"),Ie=Object(oe.__)("After","tribe-events-calendar-pro"),Re=Object(oe.__)("Never","tribe-events-calendar-pro"),we="date",De="count",ke=Array(31).fill().map((e,t)=>t+1),Se="day",Ce=Object(oe.__)("Day","tribe-events-calendar-pro"),Pe="sunday",Ne="monday",xe="tuesday",Fe="wednesday",Le="thursday",Me="friday",Ye="saturday",Qe=Object(oe.__)("Sunday","tribe-events-calendar-pro"),Be=Object(oe.__)("Monday","tribe-events-calendar-pro"),Ue=Object(oe.__)("Tuesday","tribe-events-calendar-pro"),He=Object(oe.__)("Wednesday","tribe-events-calendar-pro"),Ve=Object(oe.__)("Thursday","tribe-events-calendar-pro"),Ke=Object(oe.__)("Friday","tribe-events-calendar-pro"),Ge=Object(oe.__)("Saturday","tribe-events-calendar-pro"),qe=Object(oe._x)("S","The first-letter abbreviation for Sunday","tribe-events-calendar-pro"),We=Object(oe._x)("M","The first-letter abbreviation for Monday","tribe-events-calendar-pro"),ze=Object(oe._x)("T","The first-letter abbreviation for Tuesday","tribe-events-calendar-pro"),Xe=Object(oe._x)("W","The first-letter abbreviation for Wednesday","tribe-events-calendar-pro"),Ze=Object(oe._x)("T","The first-letter abbreviation for Thursday","tribe-events-calendar-pro"),Je=Object(oe._x)("F","The first-letter abbreviation for Friday","tribe-events-calendar-pro"),$e=Object(oe._x)("S","The first-letter abbreviation for Saturday","tribe-events-calendar-pro"),et="sundayChecked",tt="mondayChecked",nt="tuesdayChecked",rt="wednesdayChecked",at="thursdayChecked",it="fridayChecked",ot="saturdayChecked",ct=[et,tt,nt,rt,at,it,ot],lt={[Ne]:1,[xe]:2,[Fe]:3,[Le]:4,[Me]:5,[Ye]:6,[Pe]:7,[Se]:8},st=ie()(lt),dt={1:tt,2:nt,3:rt,4:at,5:it,6:ot,7:et},ut="first",pt="second",bt="third",Et="fourth",mt="fifth",Ot="last",At=Object(oe.__)("First","tribe-events-calendar-pro"),_t=Object(oe.__)("Second","tribe-events-calendar-pro"),yt=Object(oe.__)("Third","tribe-events-calendar-pro"),ft=Object(oe.__)("Fourth","tribe-events-calendar-pro"),gt=Object(oe.__)("Fifth","tribe-events-calendar-pro"),ht=Object(oe.__)("Last","tribe-events-calendar-pro"),vt=[ut,pt,bt,Et,mt,Ot],Tt={1:ut,2:pt,3:bt,4:Et,5:mt},jt="january",It="february",Rt="march",wt="april",Dt="may",kt="june",St="july",Ct="august",Pt="september",Nt="october",xt="november",Ft="december",Lt=Object(oe.__)("January","tribe-events-calendar-pro"),Mt=Object(oe.__)("February","tribe-events-calendar-pro"),Yt=Object(oe.__)("March","tribe-events-calendar-pro"),Qt=Object(oe.__)("April","tribe-events-calendar-pro"),Bt=Object(oe.__)("May","tribe-events-calendar-pro"),Ut=Object(oe.__)("June","tribe-events-calendar-pro"),Ht=Object(oe.__)("July","tribe-events-calendar-pro"),Vt=Object(oe.__)("August","tribe-events-calendar-pro"),Kt=Object(oe.__)("September","tribe-events-calendar-pro"),Gt=Object(oe.__)("October","tribe-events-calendar-pro"),qt=Object(oe.__)("November","tribe-events-calendar-pro"),Wt=Object(oe.__)("December","tribe-events-calendar-pro"),zt=Object(oe.__)("Jan","tribe-events-calendar-pro"),Xt=Object(oe.__)("Feb","tribe-events-calendar-pro"),Zt=Object(oe.__)("Mar","tribe-events-calendar-pro"),Jt=Object(oe.__)("Apr","tribe-events-calendar-pro"),$t=Object(oe.__)("May","tribe-events-calendar-pro"),en=Object(oe.__)("Jun","tribe-events-calendar-pro"),tn=Object(oe.__)("Jul","tribe-events-calendar-pro"),nn=Object(oe.__)("Aug","tribe-events-calendar-pro"),rn=Object(oe.__)("Sep","tribe-events-calendar-pro"),an=Object(oe.__)("Oct","tribe-events-calendar-pro"),on=Object(oe.__)("Nov","tribe-events-calendar-pro"),cn=Object(oe.__)("Dec","tribe-events-calendar-pro"),ln={[jt]:1,[It]:2,[Rt]:3,[wt]:4,[Dt]:5,[kt]:6,[St]:7,[Ct]:8,[Pt]:9,[Nt]:10,[xt]:11,[Ft]:12},sn=ie()(ln),dn="next_day",un="second_day",pn="third_day",bn="fourth_day",En="fifth_day",mn="sixth_day",On="seventh_day",An=Object(oe.__)("Next day","tribe-events-calendar-pro"),_n=Object(oe.__)("2nd day","tribe-events-calendar-pro"),yn=Object(oe.__)("3rd day","tribe-events-calendar-pro"),fn=Object(oe.__)("4th day","tribe-events-calendar-pro"),gn=Object(oe.__)("5th day","tribe-events-calendar-pro"),hn=Object(oe.__)("6th day","tribe-events-calendar-pro"),vn=Object(oe.__)("7th day","tribe-events-calendar-pro"),Tn={1:dn,2:un,3:pn,4:bn,5:En,6:mn,7:On},jn=[{label:pe,label_plural:Oe,value:ce},{label:be,label_plural:Ae,value:le},{label:Ee,label_plural:_e,value:se},{label:me,label_plural:ye,value:de},{label:fe,value:ue}],In=e=>Array(e).fill().map((e,t)=>({label:String(t+1),value:t+1})),Rn=In(6),wn=In(6),Dn=In(12),kn=In(6),Sn=[{label:je,value:we},{label:Ie,value:De},{label:Re,value:Te}],Cn=[{label:Be,value:Ne},{label:Ue,value:xe},{label:He,value:Fe},{label:Ve,value:Le},{label:Ke,value:Me},{label:Ge,value:Ye},{label:Qe,value:Pe},{label:Ce,value:Se}],Pn=ke.map(e=>({label:String(e),value:e})),Nn=[{label:At,value:ut},{label:_t,value:pt},{label:yt,value:bt},{label:ft,value:Et},{label:gt,value:mt},{label:ht,value:Ot}],xn=[...Nn,...Pn],Fn=[{label:Lt,tag:zt,value:jt},{label:Mt,tag:Xt,value:It},{label:Yt,tag:Zt,value:Rt},{label:Qt,tag:Jt,value:wt},{label:Bt,tag:$t,value:Dt},{label:Ut,tag:en,value:kt},{label:Ht,tag:tn,value:St},{label:Vt,tag:nn,value:Ct},{label:Kt,tag:rn,value:Pt},{label:Gt,tag:an,value:Nt},{label:qt,tag:on,value:xt},{label:Wt,tag:cn,value:Ft}],Ln=[{label:An,value:dn},{label:_n,value:un},{label:yn,value:pn},{label:fn,value:bn},{label:gn,value:En},{label:hn,value:mn},{label:vn,value:On}];var Mn=n("9lL/");const Yn="recurring",Qn="exception",Bn=[Yn,Qn],Un="type",Hn="all_day",Vn="multi_day",Kn="multi_day_span",Gn="start_time",qn="end_time",Wn="_start_time_input",zn="_end_time_input",Xn="start_date",Zn="_start_date_input",Jn="_start_date_obj",$n="end_date",er="_end_date_input",tr="_end_date_obj",nr="limit",rr="_limit_date_input",ar="_limit_date_obj",ir="limit_type",or="between",cr="days",lr="week",sr="day",dr="month",ur="timezone",pr=e=>e,br=Object(re.createSelector)([pr],e=>e[Un]),Er=Object(re.createSelector)([pr],e=>e[Hn]),mr=Object(re.createSelector)([pr],e=>e[Vn]),Or=Object(re.createSelector)([pr],e=>e[Kn]),Ar=Object(re.createSelector)([pr],e=>e[Xn]),_r=Object(re.createSelector)([pr],e=>e[Zn]),yr=Object(re.createSelector)([pr],e=>e[Jn]),fr=Object(re.createSelector)([pr],e=>e[Gn]),gr=Object(re.createSelector)([fr],e=>e.slice(0,-3)),hr=Object(re.createSelector)([pr],e=>e[Wn]),vr=Object(re.createSelector)([pr],e=>e[$n]),Tr=Object(re.createSelector)([pr],e=>e[er]),jr=Object(re.createSelector)([pr],e=>e[tr]),Ir=Object(re.createSelector)([pr],e=>e[qn]),Rr=Object(re.createSelector)([Ir],e=>e.slice(0,-3)),wr=Object(re.createSelector)([pr],e=>e[zn]),Dr=Object(re.createSelector)([pr],e=>e[or]),kr=Object(re.createSelector)([pr],e=>e[ir]),Sr=Object(re.createSelector)([pr],e=>e[nr]),Cr=Object(re.createSelector)([pr],e=>e[rr]),Pr=Object(re.createSelector)([pr],e=>e[ar]),Nr=Object(re.createSelector)([pr],e=>e[cr]||[]),xr=Object(re.createSelector)([pr],e=>e[lr]),Fr=Object(re.createSelector)([pr],e=>e[sr]),Lr=Object(re.createSelector)([pr],e=>e[dr]||[]),Mr=Object(re.createSelector)([pr],e=>e[ur]),Yr=e=>e[Mn.constants.EVENTS_PRO_PLUGIN].blocks.recurring,Qr=Object(re.createSelector)(Yr,e=>e.length),Br=Object(re.createSelector)(Qr,e=>!!e),Ur=(e,t)=>t.index,Hr=Object(re.createSelector)([Yr,Ur],(e,t)=>e[t]),Vr=Object(re.createSelector)(Hr,br),Kr=Object(re.createSelector)(Hr,Er),Gr=Object(re.createSelector)(Hr,mr),qr=Object(re.createSelector)(Hr,Or),Wr=Object(re.createSelector)(Hr,Ar),zr=Object(re.createSelector)(Hr,yr),Xr=Object(re.createSelector)(Hr,_r),Zr=Object(re.createSelector)(Hr,fr),Jr=Object(re.createSelector)(Hr,gr),$r=Object(re.createSelector)(Hr,hr),ea=Object(re.createSelector)(Hr,vr),ta=Object(re.createSelector)(Hr,jr),na=Object(re.createSelector)(Hr,Tr),ra=Object(re.createSelector)(Hr,Ir),aa=Object(re.createSelector)(Hr,Rr),ia=Object(re.createSelector)(Hr,wr),oa=Object(re.createSelector)(Hr,Dr),ca=Object(re.createSelector)(Hr,kr),la=Object(re.createSelector)(Hr,Sr),sa=Object(re.createSelector)(Hr,Pr),da=Object(re.createSelector)(Hr,Cr),ua=Object(re.createSelector)(Hr,Nr),pa=Object(re.createSelector)(Hr,Fr),ba=Object(re.createSelector)(Hr,Lr),Ea=Object(re.createSelector)(Hr,xr),ma=Object(re.createSelector)(Hr,Mr),Oa=Object(re.createSelector)([Vr],e=>ne()(jn,t=>t.value===e)),Aa=Object(re.createSelector)([ca],e=>ne()(Sn,t=>t.value===e));var _a=n("HAtF"),ya=n.n(_a),fa=n("RmXt"),ga=n("kczL"),ha=n("xD0k"),va=n("tbMi");const{KEY_TYPE:Ta,KEY_ALL_DAY:ja,KEY_MULTI_DAY:Ia,KEY_START_TIME:Ra,KEY_END_TIME:wa,KEY_START_TIME_INPUT:Da,KEY_END_TIME_INPUT:ka,KEY_START_DATE:Sa,KEY_START_DATE_INPUT:Ca,KEY_START_DATE_OBJ:Pa,KEY_END_DATE:Na,KEY_END_DATE_INPUT:xa,KEY_END_DATE_OBJ:Fa,KEY_LIMIT:La,KEY_LIMIT_DATE_INPUT:Ma,KEY_LIMIT_DATE_OBJ:Ya,KEY_LIMIT_TYPE:Qa,KEY_BETWEEN:Ba,KEY_DAYS:Ua,KEY_WEEK:Ha,KEY_DAY:Va,KEY_MONTH:Ka,KEY_TIMEZONE:Ga,KEY_MULTI_DAY_SPAN:qa}=c,{toMoment:Wa,toDate:za,toDatabaseDate:Xa,toDatabaseTime:Za,toTime:Ja,TIME_FORMAT:$a}=S.moment,{MINUTE_IN_SECONDS:ei,HALF_HOUR_IN_SECONDS:ti,HOUR_IN_SECONDS:ni,DAY_IN_SECONDS:ri,TIME_FORMAT_HH_MM:ai,toSeconds:ii,fromSeconds:oi}=S.time;function*ci({actions:e}){const t=yield Object(fa.select)(ha.blocks.datetime.selectors.getStart),n=yield Object(fa.select)(ha.blocks.datetime.selectors.getEnd),r=yield Object(fa.select)(ha.blocks.datetime.selectors.getAllDay),a=yield Object(fa.select)(ha.blocks.datetime.selectors.getMultiDay),i=yield Object(fa.select)(ha.blocks.datetime.selectors.getTimeZone),o=yield Object(fa.call)(Wa,t),c=yield Object(fa.call)(Wa,n),l=yield Object(fa.call)([o,"date"]),s=yield Object(fa.call)([Math,"ceil"],l/7),d=Tt[s],u=yield Object(fa.call)([o,"isoWeekday"]),p=yield Object(fa.call)([o,"month"]),b=yield Object(fa.call)(Xa,o),E=yield Object(fa.call)(Za,o),m=yield Object(fa.call)(Xa,c),O=yield Object(fa.call)(Za,c),A=yield Object(fa.call)(za,o),_=new Date(A),y=yield Object(fa.call)(za,c),f=new Date(y),g=yield Object(fa.call)(Ja,o),h=yield Object(fa.call)(Ja,c);let v=yield Object(fa.call)([c,"diff"],o,"days");v>7?v=7:v<1&&(v=1);const T=Tn[v];yield Object(fa.put)(e.add({[Ta]:ue,[ja]:r,[Ia]:a,[Sa]:b,[Ca]:A,[Pa]:_,[Ra]:E,[Da]:g,[Na]:m,[xa]:y,[Fa]:f,[wa]:O,[ka]:h,[Ba]:1,[Qa]:Object(ga.pro)().blocks_recurrence_rules.key_limit_type,[La]:Object(ga.pro)().blocks_recurrence_rules.key_limit,[Ma]:y,[Ya]:f,[Ua]:[u],[Ha]:d,[Va]:u,[Ka]:[p+1],[Ga]:i,[qa]:T}))}function*li({actions:e,selectors:t},n,r){const a=n.payload[r],i="all-day"===a,o=yield Object(fa.select)(t.getMultiDay,n);if(i)yield Object(fa.put)(e.sync(n.index,{[ja]:i,[Ra]:"00:00:00",[wa]:"23:59:59"}));else if(o)yield Object(fa.put)(e.sync(n.index,{[ja]:i,[r]:a+":00"}));else{const o=r===Ra,c=r===wa,l=o?a:yield Object(fa.select)(t.getStartTimeNoSeconds,n),s=c?a:yield Object(fa.select)(t.getEndTimeNoSeconds,n);yield Object(fa.put)(e.sync(n.index,{[ja]:i,[r]:a+":00"})),o?yield Object(fa.call)(ui,{actions:e},{startTime:l,endTime:s},n):yield Object(fa.call)(pi,{actions:e},{startTime:l,endTime:s},n)}yield Object(fa.call)(si,{actions:e,selectors:t},n,r)}function*si({actions:e,selectors:t},n,r){let a,i;if("all-day"===n.payload[r])a=yield Object(fa.call)(Wa,"00:00",$a,!1),i=yield Object(fa.call)(Wa,"23:59",$a,!1);else{const e=yield Object(fa.select)(t.getStartTimeNoSeconds,n),r=yield Object(fa.select)(t.getEndTimeNoSeconds,n);a=yield Object(fa.call)(Wa,e,$a,!1),i=yield Object(fa.call)(Wa,r,$a,!1)}const o=yield Object(fa.call)(Ja,a),c=yield Object(fa.call)(Ja,i);yield Object(fa.put)(e.sync(n.index,{[Da]:o,[ka]:c}))}function*di({actions:e,selectors:t},n,r){if(!n.payload[r]){const a=yield Object(fa.select)(t.getStartTimeNoSeconds,n),i=yield Object(fa.select)(t.getEndTimeNoSeconds,n);yield Object(fa.call)(ui,{actions:e},{startTime:a,endTime:i},n),yield Object(fa.call)(si,{actions:e,selectors:t},n,r)}}function*ui({actions:e},{startTime:t,endTime:n},r){let a=yield Object(fa.call)(ii,t,ai),i=yield Object(fa.call)(ii,n,ai);if(i<=a){a+ti>=ri&&(a-=ni),i=a+ti;const t=yield Object(fa.call)(oi,a,ai),n=yield Object(fa.call)(oi,i,ai);yield Object(fa.put)(e.sync(r.index,{[Ra]:t+":00",[wa]:n+":00"}))}}function*pi({actions:e},{startTime:t,endTime:n},r){let a=yield Object(fa.call)(ii,t,ai),i=yield Object(fa.call)(ii,n,ai);if(a>=i){a=Math.max(i-ti,0),i=Math.max(a+ei,i);const t=yield Object(fa.call)(oi,a,ai),n=yield Object(fa.call)(oi,i,ai);yield Object(fa.put)(e.sync(r.index,{[Ra]:t+":00",[wa]:n+":00"}))}}function*bi({actions:e,selectors:t},n,r){const a=n.payload[r],i=!(yield Object(fa.select)(t.getWeek,n));a&&i&&(yield Object(fa.put)(e.sync(n.index,{[r]:a,[Va]:1})))}function*Ei({actions:e},t,n){const r=t.payload[n],a=r===De;if(r===we){const n=yield Object(fa.call)(Wa,va.TODAY),r=yield Object(fa.call)([n,"add"],1,"year"),a=yield Object(fa.call)(Xa,r);yield Object(fa.put)(e.sync(t.index,{[nr]:a}))}else a?yield Object(fa.put)(e.sync(t.index,{[nr]:10})):yield Object(fa.put)(e.sync(t.index,{[nr]:null}))}function*mi({actions:e},t,n){yield Object(fa.put)(e.sync(t.index,{[ur]:t.payload[n]}))}function Oi(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Ai(e){for(var t=1;tn!==t.index);case wi:return JSON.parse(t.payload);default:return e}}const ki=()=>({type:vi}),Si=e=>({type:Ti,payload:e}),Ci=()=>({type:ji}),Pi=e=>({type:Ii,index:e}),Ni=K()((e,t)=>({type:Ri,index:e,payload:t})),xi=K()((e,t)=>({type:Ri,index:e,payload:t,sync:!0})),Fi=e=>({type:wi,payload:e}),Li=[{label:Object(oe.__)("Daily","tribe-events-calendar-pro"),value:ce},{label:Object(oe.__)("Weekly","tribe-events-calendar-pro"),value:le},{label:Object(oe.__)("Monthly","tribe-events-calendar-pro"),value:se},{label:Object(oe.__)("Yearly","tribe-events-calendar-pro"),value:de},{label:Object(oe.__)("Single Exception","tribe-events-calendar-pro"),value:ue}],Mi=e=>e[Mn.constants.EVENTS_PRO_PLUGIN].blocks.exception,Yi=Mi,Qi=Object(re.createSelector)(Mi,e=>e.length),Bi=Object(re.createSelector)(Qi,e=>!!e),Ui=(e,t)=>t.index,Hi=Object(re.createSelector)([Mi,Ui],(e,t)=>e[t]),Vi=Object(re.createSelector)(Hi,br),Ki=Object(re.createSelector)(Hi,Er),Gi=Object(re.createSelector)(Hi,mr),qi=Object(re.createSelector)(Hi,Or),Wi=Object(re.createSelector)(Hi,Ar),zi=Object(re.createSelector)(Hi,yr),Xi=Object(re.createSelector)(Hi,_r),Zi=Object(re.createSelector)(Hi,fr),Ji=Object(re.createSelector)(Hi,gr),$i=Object(re.createSelector)(Hi,hr),eo=Object(re.createSelector)(Hi,vr),to=Object(re.createSelector)(Hi,jr),no=Object(re.createSelector)(Hi,Tr),ro=Object(re.createSelector)(Hi,Ir),ao=Object(re.createSelector)(Hi,Rr),io=Object(re.createSelector)(Hi,wr),oo=Object(re.createSelector)(Hi,Dr),co=Object(re.createSelector)(Hi,kr),lo=Object(re.createSelector)(Hi,Sr),so=Object(re.createSelector)(Hi,Pr),uo=Object(re.createSelector)(Hi,Cr),po=Object(re.createSelector)(Hi,Nr),bo=Object(re.createSelector)(Hi,Fr),Eo=Object(re.createSelector)(Hi,Lr),mo=Object(re.createSelector)(Hi,xr),Oo=Object(re.createSelector)(Hi,Mr),Ao=Object(re.createSelector)([Vi],e=>ne()(Li,t=>t.value===e)),_o=Object(re.createSelector)([co],e=>ne()(Sn,t=>t.value===e)),yo={};n("08tH"),n("Tr2V"),n("mZj9");const fo=()=>wp.data.select("core/block-editor").getBlocks();let go=fo();const ho=()=>{const e=fo(),t=go.find(e=>"tribe/virtual-event"===e.name);e.length"tribe/virtual-event"!==e.name)&&!tribe.events.metaboxDelete&&alert(Object(oe.__)("Virtual event block deleted successfully.\n\nPlease note the Virtual event details are still visible in their default location.\n\nTo completely hide/remove these details, please delete the Virtual Event meta box at the bottom of this page.","tribe-events-calendar-pro")),go=e};var vo=()=>{wp.data.subscribe(ho)},To=(e=yo,t)=>(t.type,e),jo=n("2TDg"),Io=n.n(jo);const Ro="@@MT/EVENTS-PRO/ADD_ADDITIONAL_FIELD",wo="@@MT/EVENTS-PRO/REMOVE_ADDITIONAL_FIELD",Do="@@MT/EVENTS-PRO/SET_ADDITIONAL_FIELD_LABEL",ko="@@MT/EVENTS-PRO/SET_ADDITIONAL_FIELD_VALUE";function So(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Co(e){for(var t=1;t{const{payload:n={}}=t;switch(t.type){case E.SET_ADDITIONAL_FIELD_LABEL:return Co(Co({},e),{},{label:n.label});case E.SET_ADDITIONAL_FIELD_VALUE:return Co(Co({},e),{},{value:n.value});default:return e}},xo=n("3lI2");function Fo(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Lo(e){for(var t=1;t{const{payload:n={}}=t;switch(t.type){case Ro:case ko:case Do:return Lo(Lo({},e),{},{[n.name]:No(e[n.name],t)});case wo:return Io()(e,[n.name]);default:return e}};const Qo=e=>({type:E.ADD_ADDITIONAL_FIELD,payload:{name:e}}),Bo=e=>({type:E.REMOVE_ADDITIONAL_FIELD,payload:{name:e}}),Uo=(e,t)=>({type:E.SET_ADDITIONAL_FIELD_LABEL,payload:{name:e,label:t}}),Ho=(e,t)=>({type:E.SET_ADDITIONAL_FIELD_VALUE,payload:{name:e,value:t}});var Vo=n("Etll"),Ko=n.n(Vo),Go=n("Ti3b"),qo=n.n(Go),Wo=n("rf6O"),zo=n.n(Wo),Xo=n("4Z/T"),Zo=n("tI+e");const{InspectorControls:Jo}=ga.wpEditor,$o=({name:e,before:t,after:n,settingsLink:r})=>wp.element.createElement(Jo,{key:"inspector"},t,wp.element.createElement(Zo.PanelBody,{title:Object(Xo.sprintf)(Object(oe.__)("%1$s Settings","tribe-events-calendar-pro"),e)},!!r&&wp.element.createElement("span",null,Object(oe.__)("Adjust this block’s options under Events → Settings → ","tribe-events-calendar-pro"),wp.element.createElement("a",{href:r,target:"_blank",rel:"noreferrer noopener"},Object(oe.__)("Additional Fields","tribe-events-calendar-pro")))),n);$o.propTypes={before:zo.a.node,name:zo.a.string.isRequired,settingsLink:zo.a.string,after:zo.a.node};var ec=$o;var tc=Object(P.compose)(Object(N.withStore)(),Object(C.connect)(()=>({settingsLink:S.globals.pro().additional_fields_tab||""})))(ec),nc=n("K2gz"),rc=n.n(nc),ac=n("e5yv"),ic=n.n(ac),oc=n("6Ugf");n("fcXm");const cc=({name:e,children:t,className:n})=>{const r=ic()(t)?t:wp.element.createElement(oc.Paragraph,null,t);return wp.element.createElement("div",{className:rc()("tribe-editor__additional-fields__preview",n)},wp.element.createElement(oc.Heading,{level:3,className:"tribe-editor__additional-fields__preview-title"},e),r)};cc.propTypes={name:zo.a.string.isRequired,children:zo.a.node.isRequired};var lc=cc;n("OnHV");const sc=({name:e,children:t,className:n})=>wp.element.createElement("div",{className:rc()("tribe-editor__additional-fields__edit",n)},wp.element.createElement("div",{className:"tribe-editor__aditional-fields__content"},wp.element.createElement(oc.Heading,{level:2,className:"tribe-editor__additional-fields__edit-title"},e),t));sc.propTypes={name:zo.a.string.isRequired,children:zo.a.node.isRequired};var dc=sc;const uc=({isSelected:e,label:t,output:n,input:r,settings:a})=>{if(e){const e=Object(xo.normalize)(t);return[wp.element.createElement(dc,{key:"edit-container-"+e,name:t},r),a||wp.element.createElement(tc,{key:"settings-"+e,name:t})]}if(!n){const e=Object(Xo.sprintf)(Object(oe.__)("Add %1$s","tribe-events-calendar-pro"),t);return wp.element.createElement(oc.Placeholder,null,e)}return wp.element.createElement(lc,{name:t},n)};uc.propTypes={input:zo.a.node.isRequired,label:zo.a.string,isSelected:zo.a.bool,settings:zo.a.node,output:zo.a.node},uc.defaultProps={isSelected:!1};var pc=uc;const bc=({label:e,isSelected:t,value:n,onInputChange:r})=>wp.element.createElement(pc,{label:e,input:wp.element.createElement(oc.Input,{type:"text",value:n,onChange:r}),output:n,isSelected:t});bc.propTypes={label:zo.a.string,isSelected:zo.a.bool,onInputChange:zo.a.func,value:zo.a.string},bc.defaultProps={isSelected:!1};var Ec=bc;var mc=Object(P.compose)(Object(N.withStore)(),Object(C.connect)((e,t)=>({label:O.getFieldLabel(e,t),value:O.getTextFieldValue(e,t)}),(e,{name:t,setAttributes:n})=>({onInputChange:r=>{const{value:a}=r.target;n({value:a}),e(m.setFieldValue(t,a))}})))(Ec);const Oc=({label:e,value:t,onInputChange:n,isSelected:r})=>wp.element.createElement(pc,{label:e,input:wp.element.createElement(oc.UrlInput,{value:t,onChange:n}),output:t,isSelected:r});Oc.propTypes={label:zo.a.string,name:zo.a.string,isSelected:zo.a.bool,onInputChange:zo.a.func,value:zo.a.string},Oc.defaultProps={isSelected:!1};var Ac=Oc;var _c=Object(P.compose)(Object(N.withStore)(),Object(C.connect)((e,t)=>({label:O.getFieldLabel(e,t),value:O.getTextFieldValue(e,t)}),(e,{name:t,setAttributes:n})=>({onInputChange:r=>{const{value:a}=r.target;n({value:a}),e(m.setFieldValue(t,a))}})))(Ac);const yc=({label:e,name:t,value:n,onInputChange:r,isSelected:a})=>{const i=n?n.split("\n").map((e,n)=>wp.element.createElement(oc.Paragraph,{key:`textarea-${t}-${n+1}`},e)):"";return wp.element.createElement(pc,{label:e,input:wp.element.createElement(oc.Textarea,{rows:"5",wrap:"hard",value:n,onChange:r}),output:i,isSelected:a})};yc.propTypes={label:zo.a.string,name:zo.a.string.isRequired,isSelected:zo.a.bool,onInputChange:zo.a.func,value:zo.a.string},yc.defaultProps={isSelected:!1};var fc=yc;var gc=Object(P.compose)(Object(N.withStore)(),Object(C.connect)((e,t)=>({label:O.getFieldLabel(e,t),value:O.getTextFieldValue(e,t)}),(e,{name:t,setAttributes:n})=>({onInputChange:r=>{const{value:a}=r.target;n({value:a}),e(m.setFieldValue(t,a))}})))(fc);const hc=({label:e,value:t,selectValue:n,options:r,onInputChange:a,isSelected:i})=>wp.element.createElement(pc,{label:e,input:wp.element.createElement(oc.Select,{options:r,value:n,onChange:a,isSearchable:!1,backspaceRemovesValue:!1}),output:t,isSelected:i});hc.propTypes={label:zo.a.string,isSelected:zo.a.bool,onInputChange:zo.a.func,value:zo.a.string,selectValue:zo.a.object,options:zo.a.arrayOf(zo.a.shape({value:zo.a.string,label:zo.a.string}))},hc.defaultProps={isSelected:!1};var vc=hc;var Tc=Object(P.compose)(Object(N.withStore)(),Object(C.connect)((e,t)=>({label:O.getFieldLabel(e,t),value:O.getFieldValue(e,t),selectValue:O.getFieldDropdownValue(e,t),options:O.getFieldOptionsWithLabels(e,t)}),(e,{name:t,setAttributes:n})=>({onInputChange:({value:r})=>{n({value:r}),e(m.setFieldValue(t,r))}})))(vc);n("i0Sv");const jc=({options:e,onChange:t,selectedValue:n})=>wp.element.createElement("fieldset",{className:"tribe-editor__additional-fields__edit--horizontal-fields"},e.map((e,r)=>{const{label:a="",value:i=""}=e,o=i===n;return wp.element.createElement(oc.Radio,{checked:o,id:"name-"+(r+1),key:"name-"+(r+1),value:i,onChange:t,name:Object(xo.normalize)(a),label:a,className:"tribe-editor__additional-fields__field--radio"})})),Ic=({label:e,value:t,options:n,onInputChange:r,isSelected:a})=>wp.element.createElement(pc,{label:e,input:wp.element.createElement(jc,{selectedValue:t,onChange:r,options:n}),output:t,isSelected:a});Ic.propTypes={label:zo.a.string,isSelected:zo.a.bool,onInputChange:zo.a.func,value:zo.a.string,options:zo.a.arrayOf(zo.a.shape({value:zo.a.string,label:zo.a.string}))},Ic.defaultProps={isSelected:!1};var Rc=Ic;var wc=Object(P.compose)(Object(N.withStore)(),Object(C.connect)((e,t)=>({label:O.getFieldLabel(e,t),value:O.getTextFieldValue(e,t),options:O.getFieldOptionsWithLabels(e,t)}),(e,{name:t,setAttributes:n})=>({onInputChange:r=>{const{value:a}=r.target;n({value:a}),e(m.setFieldValue(t,a))}})))(Rc),Dc=n("df/k"),kc=n.n(Dc);n("YREk");const Sc=({listDividerOnChange:e,listDividerValue:t,listEnderOnChange:n,listEnderValue:r})=>wp.element.createElement(Zo.PanelBody,{title:Object(oe.__)("Custom Dividers","tribe-events-calendar-pro")},wp.element.createElement(Zo.TextControl,{label:Object(oe.__)("List divider","tribe-events-calendar-pro"),value:t,onChange:e,className:"tribe-editor__additional-fields__divider-settings"}),wp.element.createElement(Zo.TextControl,{label:Object(oe.__)("List ender","tribe-events-calendar-pro"),value:r,onChange:n,className:"tribe-editor__additional-fields__divider-settings"})),Cc=({label:e,listDividerOnChange:t,listDividerValue:n,listEnderOnChange:r,listEnderValue:a})=>wp.element.createElement(tc,{name:e,after:wp.element.createElement(Sc,{listDividerOnChange:t,listDividerValue:n,listEnderOnChange:r,listEnderValue:a})});Cc.propTypes={label:zo.a.string,listDividerValue:zo.a.string,listDividerOnChange:zo.a.func,listEnderValue:zo.a.string,listEnderOnChange:zo.a.func};var Pc=Cc;n("Cn54");const Nc=({options:e,onChange:t})=>wp.element.createElement("fieldset",{className:"tribe-editor__additional-fields__edit--horizontal-fields"},e.map((e,n)=>{const{label:r="",value:a="",isChecked:i=!1}=e;return wp.element.createElement(oc.Checkbox,{key:"name-"+(n+1),id:"name-"+(n+1),checked:i,onChange:t,name:Object(xo.normalize)(r),value:a,label:r,className:"tribe-editor__additional-fields__field--checkbox"})})),xc=({attributes:e,setAttributes:t,name:n,label:r,valueArray:a,options:i,onInputChange:o,isSelected:c})=>{const{dividerList:l,dividerEnd:s}=e,d=Object(xo.wordsAsList)(a,l,s);return wp.element.createElement(pc,{id:n,label:r,input:wp.element.createElement(Nc,{onChange:o,options:i}),output:d,settings:wp.element.createElement(Pc,{key:n,label:r,listDividerValue:l,listDividerOnChange:e=>{t({dividerList:e})},listEnderValue:s,listEnderOnChange:e=>{t({dividerEnd:e})}}),isSelected:c})};xc.propTypes={attributes:zo.a.object,setAttributes:zo.a.func,name:zo.a.string.isRequired,label:zo.a.string,valueArray:zo.a.arrayOf(zo.a.string),isSelected:zo.a.bool,onInputChange:zo.a.func,options:zo.a.arrayOf(zo.a.shape({value:zo.a.string,label:zo.a.string,isChecked:zo.a.bool}))},xc.defaultProps={isSelected:!1};var Fc=xc;function Lc(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Mc(e){for(var t=1;t({label:O.getFieldLabel(e,t),value:O.getFieldValue(e,t),valueArray:O.getFieldCheckboxValue(e,t),options:O.getFieldCheckboxOptions(e,t)}),null,(e,{dispatch:t},n)=>Mc(Mc(Mc({},n),e),{},{onInputChange:r=>{const{name:a,setAttributes:i}=n,{value:o,checked:c}=r.target,l=e.value.split(Qc),s=(c?[...l,o].filter(kc.a):l.filter(e=>e!==o)).join(Qc);i({value:s}),t(m.setFieldValue(a,s))}})))(Fc);const Qc="|",Bc="checkbox",Uc={text:{icon:"editor-textcolor",container:mc,type:"string"},url:{icon:"admin-links",container:_c,type:"string"},textarea:{icon:"admin-comments",container:gc,type:"string"},dropdown:{icon:"randomize",container:Tc,type:"array"},checkbox:{icon:"yes",container:Yc,type:"array"},radio:{icon:"editor-ul",container:wc,type:"array"}};function Hc(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Vc(e){for(var t=1;te[Mn.constants.EVENTS_PRO_PLUGIN],Gc=Object(re.createSelector)([Kc],e=>e.blocks),qc=Object(re.createSelector)([Gc],e=>e.additionalFields),Wc=(e,t)=>t.name,zc=Object(re.createSelector)([qc,Wc],(e,t)=>e[t]||{}),Xc=Object(re.createSelector)([zc],e=>e.label||""),Zc=Object(re.createSelector)([zc],e=>e.value),Jc=Object(re.createSelector)([Zc],e=>e||""),$c=Object(re.createSelector)([zc],e=>e.options||[]),el=Object(re.createSelector)([$c],e=>e.map(e=>({value:e,label:e}))),tl=Object(re.createSelector)([zc],e=>({value:e.value,label:e.value})),nl=Object(re.createSelector)([Jc],e=>qo()(e.split(Qc))),rl=Object(re.createSelector)([nl,el],(e,t)=>t.map(t=>Vc(Vc({},t),{},{isChecked:Ko()(e,t.value)})));var al=Yo;const il=e=>{(e=>{const{meta:t}=e;S.globals.pro().additional_fields.forEach(e=>{const{name:n,label:r,values:a}=e,i="tribe/field-"+Object(xo.toBlockName)(n),o=Lo({},No(void 0,{}));o.label=r,t&&t.hasOwnProperty(n)&&(o.value=t[n]),Array.isArray(a)&&(o.options=a),Mo[i]=o})})(e)};var ol=Object(P.combineReducers)({virtualEvents:To,recurring:B,exception:Di,additionalFields:al});function cl(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function ll(e){for(var t=1;twp.element.createElement("aside",{className:rc()("tribe-editor__events-pro__add-field",{"tribe-editor__events-pro__add-field--no-border":t})},wp.element.createElement("button",{className:"tribe-editor__events-pro__add-field__button",onClick:n,type:"button"},wp.element.createElement("span",{className:"tribe-editor__events-pro__add-field__button__plus"},"+"),wp.element.createElement("span",null,e)));El.propTypes={children:zo.a.node.isRequired,onClick:zo.a.func.isRequired,noBorder:zo.a.bool};var ml=El;class Ol extends D.Component{componentDidMount(){this.props.initialize()}shouldComponentUpdate(){return!1}componentWillUnmount(){this.props.cancel()}render(){return null}}H()(Ol,"propTypes",{clientId:zo.a.string.isRequired,initialize:zo.a.func.isRequired,cancel:zo.a.func.isRequired});function*Al(e){return yield Object(fa.call)([JSON,"stringify"],e)}function*_l({selector:e,metaField:t,setAttributes:n,current:r}){const a=yield Object(fa.select)(e),i=yield Object(fa.call)(Al,a);r!==i&&(yield Object(fa.call)(n,{[t]:i}))}function*yl({listeners:e,selector:t,clientId:n,metaField:r,setAttributes:a,current:i}){const o=yield Object(fa.takeLatest)(e,_l,{selector:t,metaField:r,setAttributes:a,current:i});for(;;){if((yield Object(fa.take)("@@MT/EVENTS-PRO/CANCEL_SYNC")).clientId===n){yield Object(fa.cancel)(o);break}}}function*fl(){yield Object(fa.takeEvery)("@@MT/EVENTS-PRO/INITIALIZE_SYNC",yl)}var gl=Object(P.compose)(Object(N.withStore)(),Object(C.connect)(null,(e,t)=>({initialize:()=>e({type:"@@MT/EVENTS-PRO/INITIALIZE_SYNC",setAttributes:t.setAttributes,listeners:t.listeners,clientId:t.clientId,selector:t.selector,metaField:t.metaField,current:t.current}),cancel:()=>e({type:"@@MT/EVENTS-PRO/CANCEL_SYNC",clientId:t.clientId})})))(Ol);n("SE6A");const hl=({children:e})=>wp.element.createElement("div",{className:rc()("tribe-editor__events-pro_recurrence-container","tribe-editor__events-pro_recurrence-lock-container")},wp.element.createElement("div",{className:"tribe-editor__events-pro_recurrence-lock-overlay"}),e);var vl,Tl=(e,t)=>n=>e?wp.element.createElement(hl,null,wp.element.createElement(t,n)):wp.element.createElement(t,n);const jl=e=>wp.element.createElement(ml,e,Object(oe.__)("Add Exception","tribe-events-calendar-pro"));jl.propTypes={};var Il=Tl("undefined"!=typeof tecEventDetails&&(null===(vl=tecEventDetails)||void 0===vl?void 0:vl.lockExclusionsUi),jl);n("fZxb");const Rl=({children:e,className:t})=>wp.element.createElement("fieldset",{className:rc()("tribe-editor__events-pro__fieldset",t)},e);Rl.propTypes={children:zo.a.node.isRequired,className:zo.a.string};var wl=Rl,Dl=Object.assign||function(e){for(var t=1;t{let{styles:t={}}=e,n=function(e,t){var n={};for(var r in e)t.indexOf(r)>=0||Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r]);return n}(e,["styles"]);return k.a.createElement("svg",Dl({xmlns:"http://www.w3.org/2000/svg",xmlnsXlink:"http://www.w3.org/1999/xlink",width:"13",height:"7"},n),k.a.createElement("defs",null,k.a.createElement("path",{id:"a",d:"M838 653.05l6.5 5.95 6.5-5.95-1.15-1.05-5.35 4.9-5.35-4.9"})),k.a.createElement("use",{fill:"#12181e",xlinkHref:"#a",transform:"translate(-838 -652)"}))},Sl=Object.assign||function(e){for(var t=1;t{let{styles:t={}}=e,n=function(e,t){var n={};for(var r in e)t.indexOf(r)>=0||Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r]);return n}(e,["styles"]);return k.a.createElement("svg",Sl({width:"11",height:"15",xmlns:"http://www.w3.org/2000/svg"},n),k.a.createElement("path",{d:"M3.93 1.58h3.14v.79H3.93v-.79zm4.71.79v-.8C8.64.71 7.94 0 7.07 0H3.93c-.87 0-1.57.7-1.57 1.58v.79H0v1.58h11V2.37H8.64zM1.48 13.52c.05.83.74 1.48 1.57 1.48h4.9c.84 0 1.53-.65 1.58-1.48l.55-8.78H.93l.55 8.78z",fill:"#8D949B"}))},Pl=Object.assign||function(e){for(var t=1;t{let{styles:t={}}=e,n=function(e,t){var n={};for(var r in e)t.indexOf(r)>=0||Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r]);return n}(e,["styles"]);return k.a.createElement("svg",Pl({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 12.66 16.52"},n),k.a.createElement("path",{d:"M1.69 4.12h6.45L6.76 5.45 8 6.61l3.43-3.3L8 0 6.76 1.16l1.38 1.32H1.57A1.55 1.55 0 0 0 0 4v7.7a.44.44 0 0 0 .76.3l.94-.88zm10.77.34a.51.51 0 0 0-.67.15l-.79.82v7H4.46l1.38-1.33-1.2-1.19-3.43 3.3 3.43 3.3 1.2-1.16L4.46 14h6.62a1.55 1.55 0 0 0 1.57-1.52V4.89a.42.42 0 0 0-.19-.43z"}))},xl=Object.assign||function(e){for(var t=1;t{let{styles:t={}}=e,n=function(e,t){var n={};for(var r in e)t.indexOf(r)>=0||Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r]);return n}(e,["styles"]);return k.a.createElement("svg",xl({id:"Layer_1",xmlns:"http://www.w3.org/2000/svg",xmlnsXlink:"http://www.w3.org/1999/xlink",viewBox:"0 0 600 600"},n),k.a.createElement("image",{width:"600",height:"600",xlinkHref:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAlgAAAJYCAIAAAAxBA+LAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJ bWFnZVJlYWR5ccllPAAAA2hpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdp bj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6 eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0 NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJo dHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlw dGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEu MC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVz b3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1N Ok9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDo0NjU2NzVBQzEyMjA2ODExODIyQUQ2NkY1MzVE MzY2RSIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpFQ0E2MjNGQThBODkxMUUyQTM1OUU3MkM1 RjIxOUQyNSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpFQ0E2MjNGOThBODkxMUUyQTM1OUU3 MkM1RjIxOUQyNSIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M2IChNYWNpbnRv c2gpIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NDY1Njc1 QUMxMjIwNjgxMTgyMkFENjZGNTM1RDM2NkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6NDY1 Njc1QUMxMjIwNjgxMTgyMkFENjZGNTM1RDM2NkUiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRm OlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4JkuExAAALZUlEQVR42uzdUW8S 2xqA4T1DB4gFNaVGJW2MiTHp//8xJMak9sK2Y6GRtjTQAWaveHVOthvYnnGfNcPzXDS9mJDVj1m8 A61jkuf5HwCwrxIhBEAIAUAIAUAIAUAIAUAIAUAIAUAIAUAIAUAIAUAIAUAIAUAIAUAIAUAIAUAI AUAIAUAIAUAIAUAIAUAIAUAIAUAIAUAIAUAIAUAIAUAIAUAIAUAIAUAIAUAIAUAIAUAIAUAIAUAI AUAIAUAIAUAIAUAIAUAIAUAIAUAIAUAIAUAIAUAIAUAIAUAIAUAIAUAIAUAIAUAIAUAIARBCIQRA CAFACAFACAFACAFACAFACAFACAFACAFACAFACAFACAFACAFACAFACAFACAFACAFACAFACAFACAFA CAFACAFACAFACAFACAFACAFACAFACAFACAFACAFACAFACAFACAFACAFACAFACAFACAFACAFACAFA CAFACAFACAFACAFACAFACAFACAFACAFACAFACAFACAFACAFACAEQQgAQQgAQQgAQQgAQQgAQQgAQ QgAQQgAQQgAQQgAQQgAQQgAQQgAQQgAQQgAQQgAQQgAQQgAQQgAQQgAQQgAQQgAQQgAQQgAQQgAQ QgAQQgAQQgAQQgAQQgAQQgAQQgAQQgAQQgAQQgAQQgAQQgAQQgAQQpqjLMvxeFzVo7169cpIq3Vz c1PVQx0fHydJYqTEIDUCAIQQAIQQAIQQAIQQAIQQAIQQAIQQAIQQAIQQAIQQAIQQAIQQAIQQAIQQ AIQQAIQQAIQQAIQQAIQQAIQQAIQQAIQQAIQQAIQQAIQQAIQQAIQQAIQQAIQQAIQQAIQQAIQQAIQQ AIQQAIQQACqV5HluCvujLMunp6eiKNbrdfg+utMxSRaLRVWP1m63PePVCidPVQ/V6XTiPAPTNM2y LJw84XvPuBDSKA8PD9+/f5/NZiGB0S4yvAC9ePGiquRPJhPPe7UGg0FVeZhOp+GCLNqfNOTw8PDw 5cuXvV7P8954B0bQePP5/OrqKnw1CthRuF68/6Hb7b59+zZ8NZMG8zvChru9vf3y5YsKwi9fR4Yd FPaRUXhHSC2Nx+ObmxtzgP9FWZZ5nof3iMfHx6bhHSF1Mp1OVRCqEnZT2FPmIITURlEU19fX5gAV Cnsq5j/wQQj5L9++fYv5r0OhjsKeCjvLHISQerwdvLu7MweoXNhZ3hQKIfXYq4YA9hdCuL9ms5kh gP2FEO6vCu9SBthfQkj9LJdLQwD7CyEEACEEACEEACEEACEEACEEACEEACEEQAiNAAAhBAAhBAAh BAAhhP+PsiwNwXMN/7IDIyAey+VyPB6bQ7Qmk4kh4B0hAAghAAghAAghAAghAAghAAghAAghAAgh AAghAAghAETMvUYbaDgcGgLAjpI8z00BACEEACEEACEEACEEACEEACEEACEEACEEACEEACEEACEk VkVRGAL8PlmWGUKTuOl2A33+/NkQ4Pc5OzszhCbx3zABIIQAIIQAIIQAIIQAIIQAIIQAIIQAIIQA IIQAIIQAIIQAIIQAIIQAIIQAIIQAIIQAIIQAIIQAIIQAIIQAIIQAIIQAIIQAEI8DI2CDd+/edTqd 2FZ1fX19d3e39bCPHz9GONKLi4vFYrH5mDDzMPkIF//p06etxzx//vzNmzexrTzMPEzejkYI+eef GKRpq9WKbVVJkuxyWIQr33Hx4Zg4F7/jDxjh4sOZbDvzt6eHEQAghAAghAAghAAghAAghAAghAAg hAAghAAghAAghAAghAAghAAghAAghAAghAAghAAghAAghAAghAAghAAghAAghAAghAAghAAghAAg hAAghAAghAAghAAghAAghAAghAAghAAghAAghAAghAAghAAghAAghAAghAAghAAghAAghAAghAAg hAAghAAghADwFwdGwAZXV1dpGt3V0tPT0y6HXVxcRDjSXRYfjolz8buYzWYRLn69XtvOCCG/Yj6f 13fxj4+PNV15eNWu7+KXP9g71IiPRgEQQgAQQgAQQgAQQgAQQgAQQgAQQgAQQgAQQgBoGrdYY+P5 cXCQJElsq1qtVrvcOjLLsghHulwuy7LcfEyYeZh8hIsvimL7xXWatlqt2FYeZu7Gbwghv+L09LTb 7ca2qsvLy+l0uvWwDx8+RDjS8/PzrXdw7XQ679+/j3Dxo9Fo6zH9fn84HMa28jDzMHk7mp9fvRkB AEIIAEIIAEIIAEIIAEIIAEIIAEIIAEIIAEIIAEIIAEIIAEIIAEIIAEIIAEIIAEIIAEIIAEIIAEII AEIIAEIIAEIIAEIIAEIIAEIIAEIIAEIIAEIIAEIIAEIIAEIIAEIIAEIIAEIIAEIIAEIIAEIIAEII AEIIAEIIAEIIAEIIAEIIAEIIAEIIAEIIAEIIAEIIAP8pyfPcFBpmNBpVdqGUxnipVP5Q08Wv1+v6 Tn6XxSc/1Hfyuzg7O/M60yQHRsC/89ph8Xuy+B0vUyAePhoFQAgBQAgBQAgBQAgBQAgBQAgBQAgB QAgBQAgBoGncYo1Nnj171mq1YlvVfD4vimLrYf1+P8KRzmazrbdPS9P08PAwwsXf399vPSbLsm63 G9vKV6vV4+OjHY0Q8o+9fv06whe1y8vL6XS69bCTk5MIR3p+fh5CvvmYdrsd5+J3uZ97uHgaDocR XjyFydvR/PzS0wgAEEIAEEIAEEIAEEIAEEIAEEIAEEIAEEIAEEIAEEIAEEIAEEIAEEIAEEIAEEIA EEIAEEIAEEIAEEIAEEIAEEIAEEIAEEIAEEIAEEIAEEIAEEIAEEIAEEIAEEIAEEIAEEIAEEIAEEIA EEIAEEIAEEIAEEIAEEIAEEIAEEIAEEIAEEIAEEIAEEIAEEIAEEIA+IsDI2CD5XJZFEVsq1qv17sc FuHKg7IsdzkmzsXv+OxEuPhwJtvO/J0kz3NTaJjRaGQI8PucnZ0ZQpP4aBQAIQQAIQQAIQQAIQQA IQQAIQQAIQQAIQQAIQQAIQQAIQQAISRSSZIYAthfCOH+yrLMEMD+Qgj3V7fbNQSwvxDC/dXr9QwB 7C+EcH/1+/1Wq2UOULmws8L+MgchJPonNU2Pjo7MASoXdlbYX+YghNTAYDBot9vmABUKeyrsLHMQ QuohSZKTkxOXrlDZa2Wahj3l304IIXXS6XROT0+1ECqpYNhNYU8ZRTPfOeR5bgoNtlgsvn79Gr4a Bfyadrsd3guqoBBSY2VZTiaT29vb1WplGrC7Vqt1dHQ0GAx8IiqENMF6vb6/v394eJjP50VRhDqa CfzkNTFJsizrdru9Xq/f7/vlghACgBACgBACgBACgBACgBACgBACgBACgBACgBACgBACgBACgBAC gBACgBACgBACgBACgBACgBACgBACgBACgBACgBACgBACgBACgBACgBACgBACgBACgBACgBACgBAC gBACgBACgBACgBACgBACgBACgBACgBACgBACgBACgBACgBACgBACgBACIIRCCIAQAoAQAoAQAoAQ AoAQAoAQAoAQAoAQAoAQAoAQAoAQAoAQAoAQAoAQAoAQAoAQAoAQAoAQAoAQAoAQAoAQAoAQAoAQ AoAQAoAQAoAQAoAQAoAQAoAQAoAQAoAQAoAQAoAQAoAQAoAQAoAQAoAQAoAQAoAQAoAQAoAQAoAQ AoAQAoAQAoAQAoAQAoAQAoAQAoAQAoAQAoAQAiCEpgCAEAKAEAKAEAKAEAKAEAKAEAKAEAKAEAKA EAKAEAKAEAKAEAKAEAKAEAKAEAKAEAKAEAKAEAKAEAKAEAKAEAKAEAKAEAKAEAKAEAKAEAKAEAKA EAKAEAKAEAKAEAKAEAKAEAKAEAKAEAKAEAKAEAKAEAKAEAKAEAKAEAKAEAKAEAKAEALARn8KMAB8 qgpVr8O+4QAAAABJRU5ErkJggg==",overflow:"visible"}),k.a.createElement("path",{className:t.st0||"st0",d:"M445 218H157v-22c0-8.28 6.72-15 15-15h258c8.28 0 15 6.72 15 15v22z"}),k.a.createElement("path",{className:t.st1||"st1",d:"M356 142h26v65h-26zM219 142h26v65h-26z"}),k.a.createElement("path",{className:t.st0||"st0",d:"M157 231v210c0 8.28 6.72 15 15 15h258c8.28 0 15-6.72 15-15V231H157zm75 201.66h-51.21v-51.21H232v51.21zm0-63.56h-51.21v-51.2H232v51.2zm0-62.08h-51.21v-51.21H232v51.21zm62.21 125.64H243v-51.21h51.21v51.21zm0-62.56H243v-51.2h51.21v51.2zm0-63.12H243v-51.21h51.21v51.21zm63.23 125.68h-51.21v-51.21h51.21v51.21zm0-62.56h-51.21v-51.2h51.21v51.2zm0-63.12h-51.21v-51.21h51.21v51.21zm63.22 124.93h-51.21V380.7h51.21v51.21zm0-61.81h-51.21v-51.2h51.21v51.2zm0-63.12h-51.21v-51.21h51.21v51.21z"}))},Ll=Object.assign||function(e){for(var t=1;t{let{styles:t={}}=e,n=function(e,t){var n={};for(var r in e)t.indexOf(r)>=0||Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r]);return n}(e,["styles"]);return k.a.createElement("svg",Ll({width:"33",height:"26",viewBox:"0 0 33 26",fill:"none",xmlns:"http://www.w3.org/2000/svg"},n),k.a.createElement("g",{filter:"url(#a)"},k.a.createElement("rect",{x:"4.32",y:"4.298",width:"24",height:"13.557",rx:"2",fill:"#499FD1"}),k.a.createElement("path",{stroke:"#fff",strokeWidth:"2",strokeLinecap:"round",d:"M8.511 13.193h.084M12.257 13.193h.085M16.004 13.193h.084M19.75 13.193h.085M23.497 13.193h.084"}),k.a.createElement("path",{stroke:"#499FD1",strokeWidth:"4",strokeLinecap:"round",d:"M10.844 2.464v2.203M21.043 2.464v2.203"}),k.a.createElement("path",{stroke:"#fff",strokeWidth:"2",strokeLinecap:"round",d:"M8.681 9.193h15.278"})),k.a.createElement("defs",null,k.a.createElement("filter",{id:"a",x:".32",y:".464",width:"32",height:"25.391",filterUnits:"userSpaceOnUse",colorInterpolationFilters:"sRGB"},k.a.createElement("feFlood",{floodOpacity:"0",result:"BackgroundImageFix"}),k.a.createElement("feColorMatrix",{in:"SourceAlpha",values:"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0",result:"hardAlpha"}),k.a.createElement("feOffset",{dy:"4"}),k.a.createElement("feGaussianBlur",{stdDeviation:"2"}),k.a.createElement("feComposite",{in2:"hardAlpha",operator:"out"}),k.a.createElement("feColorMatrix",{values:"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.25 0"}),k.a.createElement("feBlend",{in2:"BackgroundImageFix",result:"effect1_dropShadow_4079:11034"}),k.a.createElement("feBlend",{in:"SourceGraphic",in2:"effect1_dropShadow_4079:11034",result:"shape"}))))},Yl=Object.assign||function(e){for(var t=1;t{let{styles:t={}}=e,n=function(e,t){var n={};for(var r in e)t.indexOf(r)>=0||Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r]);return n}(e,["styles"]);return k.a.createElement("svg",Yl({width:"24",height:"36",viewBox:"0 0 24 36",fill:"none",xmlns:"http://www.w3.org/2000/svg"},n),k.a.createElement("path",{d:"M10.424 15.685c.77-1.333 2.694-1.333 3.464 0l6.418 11.116c.77 1.333-.193 3-1.733 3H5.738c-1.54 0-2.501-1.667-1.732-3l6.418-11.116z",fill:"#499FD1"}),k.a.createElement("path",{d:"M13.888 20.473c-.77 1.333-2.694 1.333-3.464 0L4.006 9.357c-.77-1.333.193-3 1.732-3h12.835c1.54 0 2.502 1.667 1.732 3l-6.417 11.116z",fill:"#499FD1"}),k.a.createElement("path",{d:"M11.29 19.263a1 1 0 0 1 1.732 0l4.076 7.061a1 1 0 0 1-.866 1.5H8.08a1 1 0 0 1-.866-1.5l4.077-7.06z",fill:"#fff"}),k.a.createElement("path",{d:"M13.022 18.47a1 1 0 0 1-1.732 0l-1.423-2.463a1 1 0 0 1 .866-1.5h2.845a1 1 0 0 1 .866 1.5l-1.422 2.463z",fill:"#fff"}),k.a.createElement("path",{d:"M10.925 19.875c.563-.688.235-1.662 0-2.063h2.454c-.488.8-.204 1.709 0 2.063h-2.454z",fill:"#fff"}))},Bl=Object.assign||function(e){for(var t=1;t{let{styles:t={}}=e,n=function(e,t){var n={};for(var r in e)t.indexOf(r)>=0||Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r]);return n}(e,["styles"]);return k.a.createElement("svg",Bl({width:"20",height:"23",viewBox:"0 0 20 23",fill:"none",xmlns:"http://www.w3.org/2000/svg"},n),k.a.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M.446 2.328a2 2 0 0 1 2-2h15.2a2 2 0 0 1 2 2v18.32c0 1.586-1.757 2.54-3.088 1.678l-5.32-3.448a2 2 0 0 0-2.157-.012l-5.566 3.52c-1.331.843-3.069-.114-3.069-1.69V2.328z",fill:"#499FD1"}))},Hl=Object.assign||function(e){for(var t=1;t{let{styles:t={}}=e,n=function(e,t){var n={};for(var r in e)t.indexOf(r)>=0||Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r]);return n}(e,["styles"]);return k.a.createElement("svg",Hl({width:"16",height:"12",viewBox:"0 0 16 12",fill:"none",xmlns:"http://www.w3.org/2000/svg"},n),k.a.createElement("path",{d:"M13.775.181a.566.566 0 0 0-.831 0 .606.606 0 0 0 0 .855c2.446 2.516 2.446 6.613 0 9.129a.606.606 0 0 0 .423 1.032.562.562 0 0 0 .408-.177c2.9-2.984 2.9-7.855 0-10.839z",fill:"#0F0F30"}),k.a.createElement("path",{d:"M11.772 2.165a.567.567 0 0 0-.831 0 .606.606 0 0 0 0 .855 3.648 3.648 0 0 1 1.035 2.58 3.61 3.61 0 0 1-1.035 2.565.606.606 0 0 0 .423 1.032.562.562 0 0 0 .408-.177 4.77 4.77 0 0 0 1.38-3.42c0-1.29-.486-2.515-1.38-3.435zM3.007 1.036a.606.606 0 0 0 0-.855.567.567 0 0 0-.831 0c-2.901 2.984-2.901 7.855 0 10.838a.59.59 0 0 0 .407.178.626.626 0 0 0 .424-.177.606.606 0 0 0 0-.855C.56 7.649.56 3.552 3.007 1.036z",fill:"#0F0F30"}),k.a.createElement("path",{d:"M4.985 3.036a.606.606 0 0 0 0-.855.567.567 0 0 0-.83 0C2.32 4.068 2.32 7.133 4.17 9.036c.11.113.266.177.423.177a.562.562 0 0 0 .408-.177.606.606 0 0 0 0-.855c-1.38-1.42-1.396-3.726-.016-5.145z",fill:"#0F0F30"}),k.a.createElement("path",{d:"M7.982 7.134c.838 0 1.517-.691 1.517-1.544 0-.852-.68-1.543-1.517-1.543-.837 0-1.516.69-1.516 1.543s.679 1.544 1.516 1.544z",stroke:"#0F0F30",strokeWidth:"1.103"}))};n("m3e7");const Kl=({onClick:e})=>wp.element.createElement("button",{className:"tribe-editor__events-pro__remove-field",onClick:e,type:"button"},wp.element.createElement(Cl,null));Kl.propTypes={onClick:zo.a.func.isRequired};var Gl=Kl;const{applyFilters:ql}=wp.hooks,Wl=({index:e,options:t})=>wp.element.createElement(D.Fragment,null,wp.element.createElement(Bb,{blockType:c.EXCEPTION,index:e,options:t,rowLabel:ql("elements.exceptionField.singularTypePickerRowLabelHook",Object(oe.__)("A","tribe-events-calendar-pro"))}),wp.element.createElement(eE,{blockType:c.EXCEPTION,index:e}));Wl.propTypes={index:zo.a.number.isRequired};var zl=Wl;function Xl(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}const{applyFilters:Zl}=wp.hooks,Jl=e=>Zl("elements.exceptionField.dailyAfterTypePickerHook",null,function(e){for(var t=1;t{const{index:t,options:n}=e;return wp.element.createElement(D.Fragment,null,wp.element.createElement(Bb,{blockType:c.EXCEPTION,index:t,options:n,rowLabel:Zl("elements.exceptionField.dailyTypePickerRowLabelHook",Object(oe.__)("Every","tribe-events-calendar-pro"))}),Jl(e),wp.element.createElement(Ud,{blockType:c.EXCEPTION,index:t,rowLabel:Zl("elements.exceptionField.dailySeriesEndsRowLabelHook",Object(oe.__)("Exception ends","tribe-events-calendar-pro"))}))};$l.propTypes={index:zo.a.number.isRequired};var es=$l;function ts(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function ns(e){for(var t=1;t{const{index:t,options:n}=e;return wp.element.createElement(D.Fragment,null,wp.element.createElement(Bb,{blockType:c.EXCEPTION,index:t,options:n,rowLabel:rs("elements.exceptionField.weeklyTypePickerRowLabelHook",Object(oe.__)("Every","tribe-events-calendar-pro"))}),(e=>rs("elements.exceptionField.weeklyAfterTypePickerHook",null,ns({blockType:c.EXCEPTION},e)))(e),(e=>rs("elements.exceptionField.weeklyOnDayOfWeekHook",wp.element.createElement(ju,{blockType:c.EXCEPTION,index:e.index}),ns({blockType:c.EXCEPTION},e)))(e),(e=>rs("elements.exceptionField.weeklySeriesEndsHook",wp.element.createElement(Ud,{blockType:c.EXCEPTION,index:e.index,rowLabel:Object(oe.__)("Exception ends","tribe-events-calendar-pro")}),ns({blockType:c.EXCEPTION},e)))(e))};as.propTypes={index:zo.a.number.isRequired};var is=as;function os(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function cs(e){for(var t=1;t{const{index:t,options:n}=e;return wp.element.createElement(D.Fragment,null,wp.element.createElement(Bb,{blockType:c.EXCEPTION,index:t,options:n,rowLabel:ls("elements.exceptionField.monthlyTypePickerRowLabelHook",Object(oe.__)("Every","tribe-events-calendar-pro"))}),(e=>ls("elements.exceptionField.monthlyAfterTypePickerHook",null,cs({blockType:c.EXCEPTION},e)))(e),(e=>ls("elements.exceptionField.monthlyOnDayOfMonthPickerHook",wp.element.createElement(Qu,{blockType:c.EXCEPTION,index:e.index}),cs({blockType:c.EXCEPTION},e)))(e),(e=>ls("elements.exceptionField.monthlySeriesEndsHook",wp.element.createElement(Ud,{blockType:c.EXCEPTION,index:e.index,rowLabel:Object(oe.__)("Exception ends","tribe-events-calendar-pro")}),cs({blockType:c.EXCEPTION},e)))(e))};ss.propTypes={index:zo.a.number.isRequired};var ds=ss;function us(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function ps(e){for(var t=1;t{const{index:t,options:n}=e;return wp.element.createElement(D.Fragment,null,wp.element.createElement(Bb,{blockType:c.EXCEPTION,index:t,options:n,rowLabel:bs("elements.exceptionField.yearlyTypePickerRowLabelHook",Object(oe.__)("Every","tribe-events-calendar-pro"))}),(e=>bs("elements.exceptionField.yearlyAfterTypePickerHook",null,ps({blockType:c.EXCEPTION},e)))(e),(e=>bs("elements.exceptionField.yearlyInMonthHook",wp.element.createElement(Ob,{blockType:c.EXCEPTION,index:e.index}),ps({blockType:c.EXCEPTION},e)))(e),(e=>bs("elements.exceptionField.yearlyOnDayOfMonthPickerHook",wp.element.createElement(Qu,{blockType:c.EXCEPTION,index:e.index}),ps({blockType:c.EXCEPTION},e)))(e),(e=>bs("elements.exceptionField.yearlySeriesEndsHook",wp.element.createElement(Ud,{blockType:c.EXCEPTION,index:e.index,rowLabel:Object(oe.__)("Exception ends","tribe-events-calendar-pro")}),ps({blockType:c.EXCEPTION},e)))(e))};Es.propTypes={index:zo.a.number.isRequired};var ms=Es;const{DAILY:Os,WEEKLY:As,MONTHLY:_s,YEARLY:ys,RECURRENCE_TYPES:fs}=i;class gs extends D.PureComponent{constructor(...e){super(...e),H()(this,"handleRemove",()=>this.props.onRemoveClick(this.props.index)),H()(this,"renderFieldType",()=>{const{index:e,options:t,type:n}=this.props;switch(n){case Os:return wp.element.createElement(es,{index:e,options:t});case As:return wp.element.createElement(is,{index:e,options:t});case _s:return wp.element.createElement(ds,{index:e,options:t});case ys:return wp.element.createElement(ms,{index:e,options:t});default:return wp.element.createElement(zl,{index:e,options:t})}})}render(){return wp.element.createElement(wl,null,wp.element.createElement(Gl,{onClick:this.handleRemove}),this.renderFieldType())}}H()(gs,"propTypes",{index:zo.a.number.isRequired,onRemoveClick:zo.a.func.isRequired,type:zo.a.oneOf(fs).isRequired});var hs=gs;const{KEY_TYPE:vs}=c,Ts=({exceptions:e,getOptions:t,removeException:n})=>wp.element.createElement("section",null,e.map((e,r)=>wp.element.createElement(hs,{key:r,index:r,onRemoveClick:n,options:t(r),type:e[vs]})));Ts.propTypes={exceptions:zo.a.arrayOf(zo.a.shape({})),removeException:zo.a.func.isRequired},Ts.defaultProps={exceptions:[]};var js,Is=Ts;var Rs,ws=Tl("undefined"!=typeof tecEventDetails&&(null===(js=tecEventDetails)||void 0===js?void 0:js.lockExclusionsUi),Object(P.compose)(Object(N.withStore)(),Object(C.connect)(e=>({getOptions:t=>wp.hooks.applyFilters("elements.exceptionForm.exceptionFieldOptionsHook",p.EXCEPTION_OCCURRENCE_OPTIONS,e,t)})))(Is));const Ds=e=>wp.element.createElement(ml,e,Object(ga.pro)().blocks_recurrence_rules.add_rule_text);Ds.propTypes={};var ks=Tl("undefined"!=typeof tecEventDetails&&(null===(Rs=tecEventDetails)||void 0===Rs?void 0:Rs.lockRulesUi),Ds);const{applyFilters:Ss}=wp.hooks,Cs=({isMultiDay:e,options:t,index:n})=>wp.element.createElement(D.Fragment,null,wp.element.createElement(Bb,{blockType:c.RECURRING,index:n,options:t,rowLabel:Ss("elements.recurringField.singularTypePickerRowLabelHook",Object(oe.__)("Every","tribe-events-calendar-pro"))}),wp.element.createElement(eE,{blockType:c.RECURRING,index:n}),wp.element.createElement($p,{blockType:c.RECURRING,index:n}),e&&wp.element.createElement(op,{index:n}));Cs.propTypes={isMultiDay:zo.a.bool.isRequired,index:zo.a.number.isRequired};var Ps=Cs;function Ns(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}const{applyFilters:xs}=wp.hooks,Fs=e=>xs("elements.recurringField.dailyAfterTypePickerHook",null,function(e){for(var t=1;t{const{index:t,options:n}=e;return wp.element.createElement(D.Fragment,null,wp.element.createElement(Bb,{blockType:c.RECURRING,index:t,options:n,rowLabel:xs("elements.recurringField.dailyTypePickerRowLabelHook",Object(oe.__)("Every","tribe-events-calendar-pro"))}),Fs(e),(e=>xs("elements.recurringField.dailyFromTimeRangePickerHook",wp.element.createElement($p,{blockType:c.RECURRING,index:e.index}),e))(e),(e=>e.isMultiDay&&xs("elements.recurringField.dailyRecurringToDateTimePickerHook",wp.element.createElement(op,{index:e.index}),e))(e),wp.element.createElement(Ud,{blockType:c.RECURRING,index:t}))};Ls.propTypes={index:zo.a.number.isRequired,isMultiDay:zo.a.bool.isRequired};var Ms=Ls;function Ys(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Qs(e){for(var t=1;t{const{options:t,index:n}=e;return wp.element.createElement(D.Fragment,null,wp.element.createElement(Bb,{blockType:c.RECURRING,index:n,options:t,rowLabel:Bs("elements.recurringField.weeklyTypePickerRowLabelHook",Object(oe.__)("Every","tribe-events-calendar-pro"))}),(e=>Bs("elements.recurringField.weeklyAfterTypePickerHook",null,Qs({blockType:c.RECURRING},e)))(e),(e=>Bs("elements.recurringField.weeklyOnDayOfWeekHook",wp.element.createElement(ju,{blockType:c.RECURRING,index:e.index}),Qs({blockType:c.RECURRING},e)))(e),(e=>Bs("elements.recurringField.weeklyFromTimeRangePickerHook",wp.element.createElement($p,{blockType:c.RECURRING,index:e.index}),e))(e),(e=>e.isMultiDay&&Bs("elements.recurringField.weeklyRecurringToDateTimePickerHook",wp.element.createElement(op,{index:e.index}),e))(e),(e=>Bs("elements.recurringField.weeklySeriesEndsHook",wp.element.createElement(Ud,{blockType:c.RECURRING,index:e.index}),Qs({blockType:c.RECURRING},e)))(e))};Us.propTypes={isMultiDay:zo.a.bool.isRequired,index:zo.a.number.isRequired};var Hs=Us;function Vs(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Ks(e){for(var t=1;t{const{options:t,index:n}=e;return wp.element.createElement(D.Fragment,null,wp.element.createElement(Bb,{blockType:c.RECURRING,index:n,options:t,rowLabel:Gs("elements.recurringField.monthlyTypePickerRowLabelHook",Object(oe.__)("Every","tribe-events-calendar-pro"))}),(e=>Gs("elements.recurringField.monthlyAfterTypePickerHook",null,Ks({blockType:c.RECURRING},e)))(e),(e=>Gs("elements.recurringField.monthlyOnDayOfMonthPickerHook",wp.element.createElement(Qu,{blockType:c.RECURRING,index:e.index}),Ks({blockType:c.RECURRING},e)))(e),(e=>Gs("elements.recurringField.monthlyFromTimeRangePickerHook",wp.element.createElement($p,{blockType:c.RECURRING,index:e.index}),e))(e),(e=>e.isMultiDay&&Gs("elements.recurringField.monthlyRecurringToDateTimePickerHook",wp.element.createElement(op,{index:e.index}),e))(e),(e=>Gs("elements.recurringField.monthlySeriesEndsHook",wp.element.createElement(Ud,{blockType:c.RECURRING,index:e.index}),Ks({blockType:c.RECURRING},e)))(e))};qs.propTypes={isMultiDay:zo.a.bool.isRequired,index:zo.a.number.isRequired};var Ws=qs;function zs(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Xs(e){for(var t=1;t{const{options:t,index:n}=e;return wp.element.createElement(D.Fragment,null,wp.element.createElement(Bb,{blockType:c.RECURRING,index:n,options:t,rowLabel:Zs("elements.recurringField.yearlyTypePickerRowLabelHook",Object(oe.__)("Every","tribe-events-calendar-pro"))}),(e=>Zs("elements.recurringField.yearlyAfterTypePickerHook",null,Xs({blockType:c.RECURRING},e)))(e),(e=>Zs("elements.recurringField.yearlyInMonthHook",wp.element.createElement(Ob,{blockType:c.RECURRING,index:e.index}),Xs({blockType:c.RECURRING},e)))(e),(e=>Zs("elements.recurringField.yearlyOnDayOfMonthPickerHook",wp.element.createElement(Qu,{blockType:c.RECURRING,index:e.index}),Xs({blockType:c.RECURRING},e)))(e),(e=>Zs("elements.recurringField.yearlyFromTimeRangePickerHook",wp.element.createElement($p,{blockType:c.RECURRING,index:e.index}),e))(e),(e=>e.isMultiDay&&Zs("elements.recurringField.yearlyRecurringToDateTimePickerHook",wp.element.createElement(op,{index:e.index}),e))(e),(e=>Zs("elements.recurringField.yearlySeriesEndsHook",wp.element.createElement(Ud,{blockType:c.RECURRING,index:e.index}),Xs({blockType:c.RECURRING},e)))(e))};Js.propTypes={isMultiDay:zo.a.bool.isRequired,index:zo.a.number.isRequired};var $s=Js;const{DAILY:ed,WEEKLY:td,MONTHLY:nd,YEARLY:rd,RECURRENCE_TYPES:ad}=i;class id extends D.PureComponent{constructor(...e){super(...e),H()(this,"handleRemove",()=>this.props.onRemoveClick(this.props.index)),H()(this,"renderFieldType",()=>{const{index:e,isMultiDay:t,options:n,type:r}=this.props;switch(r){case ed:return wp.element.createElement(Ms,{index:e,isMultiDay:t,options:n});case td:return wp.element.createElement(Hs,{index:e,isMultiDay:t,options:n});case nd:return wp.element.createElement(Ws,{index:e,isMultiDay:t,options:n});case rd:return wp.element.createElement($s,{index:e,isMultiDay:t,options:n});default:return wp.element.createElement(Ps,{index:e,isMultiDay:t,options:n})}})}render(){return wp.element.createElement(wl,null,wp.element.createElement(Gl,{onClick:this.handleRemove}),this.renderFieldType())}}H()(id,"propTypes",{index:zo.a.number.isRequired,isMultiDay:zo.a.bool.isRequired,onRemoveClick:zo.a.func.isRequired,options:zo.a.array.isRequired,type:zo.a.oneOf(ad).isRequired});var od=id;n("1bJb");const cd=({children:e,count:t,isExpanded:n,onClick:r,type:a})=>wp.element.createElement("header",{className:rc()("tribe-editor__events-pro__panel-header",{"tribe-editor__events-pro__panel-header--expanded":n,["tribe-editor__events-pro__panel-header--"+a]:a})},wp.element.createElement("button",{className:"tribe-editor__events-pro__panel-header-button",onClick:r,type:"button"},wp.element.createElement("span",{className:"tribe-editor__events-pro__panel-header-button-text"},wp.element.createElement("span",{className:"tribe-editor__events-pro__panel-header-button-title"},e),!!t&&!n&&wp.element.createElement("span",{className:"tribe-editor__events-pro__panel-header-button-count"},`(${t})`)),wp.element.createElement(kl,null)));cd.propTypes={children:zo.a.node.isRequired,count:zo.a.number.isRequired,isExpanded:zo.a.bool.isRequired,onClick:zo.a.func.isRequired,type:zo.a.string};var ld=cd;const sd=({children:e,count:t,isExpanded:n,onHeaderClick:r,panelTitle:a,type:i})=>wp.element.createElement("section",null,wp.element.createElement(ld,{count:t,onClick:r,isExpanded:n,type:i},a),n&&e);sd.propTypes={children:zo.a.node.isRequired,count:zo.a.number.isRequired,isExpanded:zo.a.bool.isRequired,panelTitle:zo.a.string.isRequired,onHeaderClick:zo.a.func.isRequired,type:zo.a.string};var dd=sd;n("uPrq");const ud=({children:e,className:t})=>wp.element.createElement("div",{className:rc()("tribe-editor__events-pro__row",t)},e);ud.propTypes={children:zo.a.node.isRequired,className:zo.a.string};var pd=ud;n("cEuG");const bd=({children:e,className:t})=>wp.element.createElement("div",{className:rc()("tribe-editor__events-pro__label",t)},wp.element.createElement("span",{className:"tribe-editor__events-pro__label-text"},e));bd.propTypes={children:zo.a.node.isRequired,className:zo.a.string};var Ed=bd;n("0d9/");const md=({children:e,className:t,label:n})=>wp.element.createElement(pd,{className:rc()("tribe-editor__labeled-row",t)},wp.element.createElement(Ed,{className:"tribe-editor__labeled-row__label"},n),wp.element.createElement("div",{className:"tribe-editor__labeled-row__content"},e));md.propTypes={children:zo.a.node,className:zo.a.string,label:zo.a.node};var Od=md,Ad=n("zJgK"),_d=n.n(Ad);class yd extends D.PureComponent{constructor(e){super(e),this.id=_d()()}render(){const{checked:e,className:t,disabled:n,onChange:r}=this.props;return wp.element.createElement(oc.Checkbox,{checked:e,className:rc()("tribe-editor__multi-day-checkbox",t),disabled:n,id:this.id,label:Object(oe.__)("Multi-day","tribe-events-calendar-pro"),onChange:r})}}H()(yd,"propTypes",{checked:zo.a.bool.isRequired,className:zo.a.string,disabled:zo.a.bool,onChange:zo.a.func.isRequired});var fd=yd,gd=n("QILm"),hd=n.n(gd),vd=n("1rrs");n("NK/P");const Td=e=>{const{className:t,onSeriesEndsChange:n,rowLabel:r,selectDisabled:a,seriesEnds:i}=e;return wp.element.createElement(Od,{className:rc()("tribe-editor__series-ends",t),label:r},wp.element.createElement(oc.Select,{className:"tribe-editor__series-ends__select",backspaceRemovesValue:!1,isDisabled:a,value:i,isSearchable:!1,options:Sn,onChange:n}),(e=>{const{dayPickerInputDisabled:t,numberInputDisabled:n,onSeriesEndsAfterTimesChange:r,onSeriesEndsOnDateChange:a,seriesEnds:i,seriesEndsAfterTimes:o,seriesEndsOnDate:c,seriesEndsOnDateFormat:l}=e;let s=null;if(i&&i.value===we){const e=new Date(c);s=wp.element.createElement(oc.DayPickerInput,{value:c,format:l,formatDate:vd.formatDate,parseDate:vd.parseDate,dayPickerProps:{modifiers:{start:e,end:e}},onDayChange:a,inputProps:{disabled:t}})}else i&&i.value===De&&(s=wp.element.createElement(D.Fragment,null,wp.element.createElement(oc.NumberInput,{className:"tribe-editor__series-ends__number-input",disabled:n,min:1,value:o,onChange:r}),wp.element.createElement("span",{className:"tribe-editor__series-ends__number-input-label"},o>1?Object(oe.__)("events","tribe-events-calendar-pro"):Object(oe.__)("event","tribe-events-calendar-pro"))));return s})(e))};Td.propTypes={className:zo.a.string,dayPickerInputDisabled:zo.a.bool,numberInputDisabled:zo.a.bool,onSeriesEndsAfterTimesChange:zo.a.func,onSeriesEndsChange:zo.a.func,onSeriesEndsOnDateChange:zo.a.func,rowLabel:zo.a.string,selectDisabled:zo.a.bool,seriesEnds:zo.a.oneOf(Sn),seriesEndsAfterTimes:zo.a.number,seriesEndsOnDate:zo.a.string,seriesEndsOnDateFormat:zo.a.string},Td.defaultProps={seriesEndsOnDateFormat:"LL",rowLabel:Object(oe.__)("Ends","tribe-events-calendar-pro")};var jd=Td;const Id=["end"],Rd=["edit"];function wd(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Dd(e){for(var t=1;tn=>{const r=parseInt(n.target.value,10);t(e.index,{[Sd]:r})},Qd=(e,t)=>n=>t(e.index,{[Nd]:n.value}),Bd=(e,t,n)=>(r,a,i)=>{const o=r||n;t(e.index,{[Cd]:i.input.value,[Pd]:r,[Sd]:Md(Ld(o))})};var Ud=Object(P.compose)(Object(N.withStore)(),Object(C.connect)((e,t)=>{const n=t.blockType===kd?l:b,r=n.getLimitType(e,t),a={end:ha.blocks.datetime.selectors.getEnd(e),seriesEnds:n.getLimitTypeOption(e,t)};return r===Fd?a.seriesEndsOnDate=n.getLimitDateInput(e,t):r===xd&&(a.seriesEndsAfterTimes=n.getLimit(e,t)),a},(e,t)=>{const n=t.blockType===kd?a.editRule:u.editException,r=(t,r)=>e(n(t,r));return{edit:r,onSeriesEndsAfterTimesChange:Yd(t,r),onSeriesEndsChange:Qd(t,r)}},(e,t,n)=>{const{end:r}=e,a=hd()(e,Id),{edit:i}=t,o=hd()(t,Rd);return Dd(Dd(Dd(Dd({},n),a),o),{},{onSeriesEndsOnDateChange:Bd(n,i,r)})}))(jd);n("aJRi");function Hd(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Vd(e){for(var t=1;twp.element.createElement("abbr",{className:"tribe-editor__day-of-week__label-abbr",title:t},e)),this.id=_d()()}render(){const{checked:e,className:t,disabled:n,label:r,labelTitle:a,onChange:i,value:o}=this.props;return Kd("elements.dayOfWeek.dayOfWeekContentHook",wp.element.createElement(oc.Checkbox,{checked:e,className:rc()("tribe-editor__day-of-week",t),disabled:n,id:this.id,label:this.getLabel(r,a),onChange:i,value:o}),Vd(Vd({},this.props),{},{id:this.id,labelComponent:this.getLabel(r,a)}))}}H()(Gd,"propTypes",{blockType:zo.a.string,checked:zo.a.bool.isRequired,className:zo.a.string,disabled:zo.a.bool,index:zo.a.number,label:zo.a.string.isRequired,labelTitle:zo.a.string.isRequired,onChange:zo.a.func.isRequired,value:zo.a.string.isRequired});var qd=Gd;n("BWfU");const{SUNDAY:Wd,MONDAY:zd,TUESDAY:Xd,WEDNESDAY:Zd,THURSDAY:Jd,FRIDAY:$d,SATURDAY:eu,SUNDAY_LABEL:tu,MONDAY_LABEL:nu,TUESDAY_LABEL:ru,WEDNESDAY_LABEL:au,THURSDAY_LABEL:iu,FRIDAY_LABEL:ou,SATURDAY_LABEL:cu,SUNDAY_ABBR:lu,MONDAY_ABBR:su,TUESDAY_ABBR:du,WEDNESDAY_ABBR:uu,THURSDAY_ABBR:pu,FRIDAY_ABBR:bu,SATURDAY_ABBR:Eu}=i,mu=({blockType:e,className:t,sundayChecked:n,sundayDisabled:r,mondayChecked:a,mondayDisabled:i,tuesdayChecked:o,tuesdayDisabled:c,wednesdayChecked:l,wednesdayDisabled:s,thursdayChecked:d,thursdayDisabled:u,fridayChecked:p,fridayDisabled:b,saturdayChecked:E,saturdayDisabled:m,index:O,onDayChange:A})=>wp.element.createElement("div",{className:rc()("tribe-editor__day-of-week-picker",t)},wp.element.createElement(qd,{blockType:e,checked:n,className:rc()({"tribe-editor__day-of-week-picker__day":!0,"tribe-editor__day-of-week-picker__day--sunday":!0,"tribe-editor__day-of-week-picker__day--disabled":r}),disabled:r,index:O,label:lu,labelTitle:tu,onChange:A,value:Wd}),wp.element.createElement(qd,{blockType:e,checked:a,className:rc()({"tribe-editor__day-of-week-picker__day":!0,"tribe-editor__day-of-week-picker__day--monday":!0,"tribe-editor__day-of-week-picker__day--disabled":i}),disabled:i,index:O,label:su,labelTitle:nu,onChange:A,value:zd}),wp.element.createElement(qd,{blockType:e,checked:o,className:rc()({"tribe-editor__day-of-week-picker__day":!0,"tribe-editor__day-of-week-picker__day--tuesday":!0,"tribe-editor__day-of-week-picker__day--disabled":c}),disabled:c,index:O,label:du,labelTitle:ru,onChange:A,value:Xd}),wp.element.createElement(qd,{blockType:e,checked:l,className:rc()({"tribe-editor__day-of-week-picker__day":!0,"tribe-editor__day-of-week-picker__day--wednesday":!0,"tribe-editor__day-of-week-picker__day--disabled":s}),disabled:s,index:O,label:uu,labelTitle:au,onChange:A,value:Zd}),wp.element.createElement(qd,{blockType:e,checked:d,className:rc()({"tribe-editor__day-of-week-picker__day":!0,"tribe-editor__day-of-week-picker__day--thursday":!0,"tribe-editor__day-of-week-picker__day--disabled":u}),disabled:u,index:O,label:pu,labelTitle:iu,onChange:A,value:Jd}),wp.element.createElement(qd,{blockType:e,checked:p,className:rc()({"tribe-editor__day-of-week-picker__day":!0,"tribe-editor__day-of-week-picker__day--friday":!0,"tribe-editor__day-of-week-picker__day--disabled":b}),disabled:b,index:O,label:bu,labelTitle:ou,onChange:A,value:$d}),wp.element.createElement(qd,{blockType:e,checked:E,className:rc()({"tribe-editor__day-of-week-picker__day":!0,"tribe-editor__day-of-week-picker__day--saturday":!0,"tribe-editor__day-of-week-picker__day--disabled":m}),disabled:m,index:O,label:Eu,labelTitle:cu,onChange:A,value:eu}));mu.propTypes={className:zo.a.string,sundayChecked:zo.a.bool,sundayDisabled:zo.a.bool,mondayChecked:zo.a.bool,mondayDisabled:zo.a.bool,tuesdayChecked:zo.a.bool,tuesdayDisabled:zo.a.bool,wednesdayChecked:zo.a.bool,wednesdayDisabled:zo.a.bool,thursdayChecked:zo.a.bool,thursdayDisabled:zo.a.bool,fridayChecked:zo.a.bool,fridayDisabled:zo.a.bool,saturdayChecked:zo.a.bool,saturdayDisabled:zo.a.bool,onDayChange:zo.a.func.isRequired};var Ou=mu;const Au=({blockType:e,className:t,sundayChecked:n,sundayDisabled:r,mondayChecked:a,mondayDisabled:i,tuesdayChecked:o,tuesdayDisabled:c,wednesdayChecked:l,wednesdayDisabled:s,thursdayChecked:d,thursdayDisabled:u,fridayChecked:p,fridayDisabled:b,saturdayChecked:E,saturdayDisabled:m,afterDayOfWeekPicker:O,index:A,onDayChange:_})=>wp.element.createElement(Od,{className:rc()("tribe-editor__on-day-of-week",t),label:Object(oe.__)("On","tribe-events-calendar-pro")},wp.element.createElement(Ou,{blockType:e,sundayChecked:n,sundayDisabled:r,mondayChecked:a,mondayDisabled:i,tuesdayChecked:o,tuesdayDisabled:c,wednesdayChecked:l,wednesdayDisabled:s,thursdayChecked:d,thursdayDisabled:u,fridayChecked:p,fridayDisabled:b,saturdayChecked:E,saturdayDisabled:m,index:A,onDayChange:_}),O);Au.propTypes={blockType:zo.a.string,className:zo.a.string,sundayChecked:zo.a.bool,sundayDisabled:zo.a.bool,mondayChecked:zo.a.bool,mondayDisabled:zo.a.bool,tuesdayChecked:zo.a.bool,tuesdayDisabled:zo.a.bool,wednesdayChecked:zo.a.bool,wednesdayDisabled:zo.a.bool,thursdayChecked:zo.a.bool,thursdayDisabled:zo.a.bool,fridayChecked:zo.a.bool,fridayDisabled:zo.a.bool,saturdayChecked:zo.a.bool,saturdayDisabled:zo.a.bool,afterDayOfWeekPicker:zo.a.node,index:zo.a.number,onDayChange:zo.a.func};var _u=Au;const yu=["days"];function fu(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function gu(e){for(var t=1;t{const n=(t.blockType===c.RECURRING?l:b).getDays(e,t),r={days:n};return hu.forEach(e=>{r[e]=!1}),n.forEach(e=>{const t=Tu[e];r[t]=!0}),r.afterDayOfWeekPicker=wp.hooks.applyFilters("elements.onDayOfWeek.afterDayOfWeekPickerHook",null,e,t),r},(e,t)=>{const n=t.blockType===c.RECURRING?a.editRule:u.editException;return{edit:(t,r)=>e(n(t,r))}},(e,t,n)=>{const{days:r}=e,a=hd()(e,yu),{edit:i}=t;return gu(gu(gu({},n),a),{},{onDayChange:e=>{const{checked:t,value:a}=e.target,o=vu[a],l=t?[...r,o].sort((e,t)=>e-t):r.filter(e=>e!==o);i(n.index,{[c.KEY_DAYS]:l})}})}))(_u);n("fSse");const Iu=({className:e,dayOfMonth:t,onDayOfMonthChange:n,onWeekDayChange:r,weekDay:a})=>wp.element.createElement("div",{className:rc()("tribe-editor__day-of-month-picker",e)},wp.element.createElement(oc.Select,{className:"tribe-editor__day-of-month-picker__day-of-month-select",backspaceRemovesValue:!1,value:t,isSearchable:!1,options:xn,onChange:n}),Ko()(Nn,t)&&wp.element.createElement(oc.Select,{className:"tribe-editor__day-of-month-picker__week-day-select",backspaceRemovesValue:!1,value:a,isSearchable:!1,options:Cn,onChange:r}),wp.element.createElement("span",null,Object(oe.__)("of the month","tribe-events-calendar-pro")));Iu.propTypes={className:zo.a.string,dayOfMonth:zo.a.oneOf(xn),onWeekDayChange:zo.a.func,onDayOfMonthChange:zo.a.func,weekDay:zo.a.oneOf(Cn)};var Ru=Iu;const wu=({afterDayOfMonthPicker:e,className:t,dayOfMonth:n,onDayOfMonthChange:r,onWeekDayChange:a,weekDay:i})=>wp.element.createElement(Od,{className:rc()("tribe-editor__on-day-of-month-picker",t),label:Object(oe.__)("On the","tribe-events-calendar-pro")},wp.element.createElement(Ru,{dayOfMonth:n,onDayOfMonthChange:r,onWeekDayChange:a,weekDay:i}),e);wu.propTypes={afterDayOfMonthPicker:zo.a.node,className:zo.a.string,dayOfMonth:zo.a.oneOf(xn),onDayOfMonthChange:zo.a.func,onWeekDayChange:zo.a.func,weekDay:zo.a.oneOf(Cn)};var Du=wu;const{KEY_DAY:ku,KEY_WEEK:Su}=c,{DAYS_OF_THE_WEEK_MAPPING_TO_STATE:Cu,DAYS_OF_THE_WEEK_MAPPING_FROM_STATE:Pu,WEEKS_OF_THE_MONTH:Nu}=i,{DAYS_OF_THE_WEEK_OPTIONS:xu,WEEKS_OF_THE_MONTH_OPTIONS:Fu,DAYS_OF_THE_MONTH_OPTIONS:Lu}=o,Mu=(e,t)=>n=>{const{value:r}=n,a={};Ko()(Nu,r)?a[Su]=r:(a[Su]=null,a[ku]=r),t(e.index,a)},Yu=(e,t)=>n=>{const{value:r}=n,a=Cu[r];t(e.index,{[ku]:a})};var Qu=Object(P.compose)(Object(N.withStore)(),Object(C.connect)((e,t)=>{const n=t.blockType===c.RECURRING?l:b,r={},a=n.getWeek(e,t),i=n.getDay(e,t);return Ko()(Nu,a)?(r.dayOfMonth=ne()(Fu,{value:a}),r.weekDay=ne()(xu,{value:Pu[i]})):r.dayOfMonth=ne()(Lu,{value:i}),r.afterDayOfMonthPicker=wp.hooks.applyFilters("elements.onDayOfMonthPicker.afterDayOfMonthPickerHook",null,e,t),r},(e,t)=>{const n=t.blockType===c.RECURRING?a.editRule:u.editException,r=(t,r)=>e(n(t,r));return{onDayOfMonthChange:Mu(t,r),onWeekDayChange:Yu(t,r)}}))(Du);n("zZOC");const Bu=({className:e,endTimeInput:t,isAllDay:n,onEndTimeBlur:r,onEndTimeChange:a,onEndTimeClick:i,onRecurringMultiDayChange:o,recurringMultiDay:c})=>wp.element.createElement(Od,{className:rc()("tribe-editor__recurring-to-date-time-picker",e),label:Object(oe.__)("To","tribe-events-calendar-pro")},wp.element.createElement(oc.TimePicker,{current:t,start:S.time.START_OF_DAY,end:S.time.END_OF_DAY,onBlur:r,onChange:a,onClick:i,showAllDay:!0,allDay:n}),wp.element.createElement("span",null,Object(oe.__)("on the","tribe-events-calendar-pro")),wp.element.createElement(oc.Select,{className:"tribe-editor__recurring-to-date-time-picker__select",backspaceRemovesValue:!1,value:c,isSearchable:!1,options:Ln,onChange:o}));Bu.propTypes={className:zo.a.string,endTimeInput:zo.a.string,isAllDay:zo.a.bool,onEndTimeBlur:zo.a.func,onEndTimeChange:zo.a.func,onEndTimeClick:zo.a.func,onRecurringMultiDayChange:zo.a.func,recurringMultiDay:zo.a.oneOf(Ln)};var Uu=Bu;const Hu=["endTime"],Vu=["dispatch"];function Ku(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Gu(e){for(var t=1;t{const n=l.getMultiDaySpan(e,t);return ne()(o.RECURRING_MULTI_DAY_OPTIONS,e=>e.value===n)},np=(e,t,n)=>r=>{let i=Xu(r.target.value,Ju,!1);i.isValid()||(i=Xu(n,Ju,!1));const o=Zu(i);e(a.editRule(t.index,{[qu]:o}))},rp=(e,t)=>n=>e(a.editRule(t.index,{[Wu]:n.target.value})),ap=(e,t)=>(n,r)=>{const i="all-day"===n?n:ep(n,$u);e(a.editRule(t.index,{[qu]:i})),r()},ip=(e,t)=>n=>e(a.editRule(t.index,{[zu]:n.value}));var op=Object(P.compose)(Object(N.withStore)(),Object(C.connect)((e,t)=>({endTime:l.getEndTimeNoSeconds(e,t),endTimeInput:l.getEndTimeInput(e,t),isAllDay:l.getAllDay(e,t),recurringMultiDay:tp(e,t)}),(e,t)=>({onEndTimeChange:rp(e,t),onEndTimeClick:ap(e,t),onRecurringMultiDayChange:ip(e,t),dispatch:e}),(e,t,n)=>{const{endTime:r}=e,a=hd()(e,Hu),{dispatch:i}=t,o=hd()(t,Vu);return Gu(Gu(Gu(Gu({},n),a),o),{},{onEndTimeBlur:np(i,n,r)})}))(Uu);n("OM1g");const cp=({className:e,endDate:t,endDateFormat:n,endTimeInput:r,isAllDay:a,onEndTimeBlur:i,onEndDateChange:o,onEndTimeChange:c,onEndTimeClick:l})=>{const s=new Date(t);return wp.element.createElement(Od,{className:rc()("tribe-editor__single-to-date-time-picker",e),label:Object(oe.__)("To","tribe-events-calendar-pro")},wp.element.createElement(oc.TimePicker,{current:r,start:S.time.START_OF_DAY,end:S.time.END_OF_DAY,onBlur:i,onChange:c,onClick:l,allDay:a}),wp.element.createElement("span",null,Object(oe.__)("on","tribe-events-calendar-pro")),wp.element.createElement(oc.DayPickerInput,{value:t,format:n,formatDate:vd.formatDate,parseDate:vd.parseDate,dayPickerProps:{modifiers:{start:s,end:s}},onDayChange:o}))};cp.propTypes={className:zo.a.string,endDate:zo.a.string,endDateFormat:zo.a.string,endTimeInput:zo.a.string,isAllDay:zo.a.bool,onEndDateChange:zo.a.func,onEndTimeBlur:zo.a.func,onEndTimeChange:zo.a.func,onEndTimeClick:zo.a.func},cp.defaultProps={endDateFormat:"LL"};var lp=cp;const sp=["end","endTime"],dp=["edit"];function up(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function pp(e){for(var t=1;t(r,a,i)=>{const o=r||n;t(e.index,{[mp]:i.input.value,[Op]:r,[Ep]:fp(yp(o))})},Ip=(e,t,n)=>r=>{let a=yp(r.target.value,hp,!1);a.isValid()||(a=yp(n,hp,!1));const i=gp(a);t(e.index,{[Ap]:i})},Rp=(e,t)=>n=>t(e.index,{[_p]:n.target.value}),Dp=(e,t)=>(n,r)=>{const a="all-day"===n?n:Tp(n,vp);t(e.index,{[Ap]:a}),r()};var kp=Object(P.compose)(Object(N.withStore)(),Object(C.connect)((e,t)=>{const n=t.blockType===bp?l:b;return{end:ha.blocks.datetime.selectors.getEnd(e),endDate:n.getEndDateInput(e,t),endTime:n.getEndTimeNoSeconds(e,t),endTimeInput:n.getEndTimeInput(e,t),isAllDay:n.getAllDay(e,t)}},(e,t)=>{const n=t.blockType===bp?a.editRule:u.editException,r=(t,r)=>e(n(t,r));return{edit:r,onEndTimeChange:Rp(t,r),onEndTimeClick:Dp(t,r)}},(e,t,n)=>{const{end:r,endTime:a}=e,i=hd()(e,sp),{edit:o}=t,c=hd()(t,dp);return pp(pp(pp(pp({},n),i),c),{},{onEndDateChange:jp(n,o,r),onEndTimeBlur:Ip(n,o,a)})}))(lp);n("sqH4");const Sp=({className:e,endTimeInput:t,isAllDay:n,isMultiDay:r,onEndTimeBlur:a,onEndTimeChange:i,onEndTimeClick:o,onMultiDayChange:c,onStartTimeBlur:l,onStartTimeChange:s,onStartTimeClick:d,startTimeInput:u})=>wp.element.createElement(Od,{className:rc()("tribe-editor__from-time-range-picker",{"tribe-editor__from-time-range-picker--multi-day":r},e),label:Object(oe.__)("From","tribe-events-calendar-pro")},wp.element.createElement(oc.TimePicker,{current:u,onBlur:l,onChange:s,onClick:d,start:S.time.START_OF_DAY,end:S.time.END_OF_DAY,showAllDay:!1,allDay:n}),!n&&wp.element.createElement(D.Fragment,null,wp.element.createElement("span",null,Object(oe.__)("to","tribe-events-calendar-pro")),wp.element.createElement(oc.TimePicker,{current:t,onBlur:a,onChange:i,onClick:o,start:S.time.START_OF_DAY,end:S.time.END_OF_DAY,disabled:r,showAllDay:!1,allDay:n})),wp.element.createElement(fd,{className:"tribe-editor__from-time-range-picker__multi-day-checkbox",checked:r,onChange:c}));Sp.propTypes={className:zo.a.string,endTimeInput:zo.a.string,isAllDay:zo.a.bool,isMultiDay:zo.a.bool,onEndTimeBlur:zo.a.func,onEndTimeChange:zo.a.func,onEndTimeClick:zo.a.func,onMultiDayChange:zo.a.func,onStartTimeBlur:zo.a.func,onStartTimeChange:zo.a.func,onStartTimeClick:zo.a.func,startTimeInput:zo.a.string};var Cp=Sp;const Pp=["endTime","startTime"];function Np(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function xp(e){for(var t=1;tr=>{let a=Fp(r.target.value,Mp,!1);a.isValid()||(a=Fp(n,Mp,!1));const i=Lp(a);e.editRule(t.index,{[Bp]:i})},qp=(e,t,n)=>r=>{let a=Fp(r.target.value,Mp,!1);a.isValid()||(a=Fp(n,Mp,!1));const i=Lp(a);e.editRule(t.index,{[Vp]:i})},Wp=(e,t)=>n=>{e.editRule(t.index,{[Up]:n.target.value})},zp=(e,t)=>n=>{e.editRule(t.index,{[Kp]:n.target.value})},Xp=(e,t)=>n=>{e.editRule(t.index,{[Hp]:n.target.checked})},Zp=(e,t)=>(n,r)=>{const a="all-day"===n?n:Qp(n,Yp);e.editRule(t.index,{[Bp]:a}),r()},Jp=(e,t)=>(n,r)=>{const a="all-day"===n?n:Qp(n,Yp);e.editRule(t.index,{[Vp]:a}),r()};var $p=Object(P.compose)(Object(N.withStore)(),Object(C.connect)((e,t)=>{const n=t.blockType===c.RECURRING?l:b;return{endTime:n.getEndTimeNoSeconds(e,t),endTimeInput:n.getEndTimeInput(e,t),isAllDay:n.getAllDay(e,t),isMultiDay:n.getMultiDay(e,t),startTime:n.getStartTimeNoSeconds(e,t),startTimeInput:n.getStartTimeInput(e,t)}},(e,t)=>{const n=t.blockType===c.RECURRING?a:u;return{editRule:(t,r)=>e(n.editRule(t,r))}},(e,t,n)=>{const{endTime:r,startTime:a}=e,i=hd()(e,Pp);return xp(xp(xp(xp({},n),i),t),{},{onEndTimeBlur:Gp(t,n,r),onEndTimeChange:Wp(t,n),onEndTimeClick:Zp(t,n),onMultiDayChange:Xp(t,n),onStartTimeBlur:qp(t,n,a),onStartTimeChange:zp(t,n),onStartTimeClick:Jp(t,n)})}))(Cp),eb=n("GE2E");n("+rk7");const{applyFilters:tb}=wp.hooks,nb=e=>{const{children:t,className:n,disabled:r,onClick:a}=e;return tb("elements.monthTag.monthTagContentHook",wp.element.createElement("button",{className:rc()({"tribe-editor__month-tag":!0,"tribe-editor__month-tag--disabled":r},n),disabled:r,onClick:a},wp.element.createElement(eb.Close,null),wp.element.createElement("span",{className:"tribe-editor__month-tag__remove"},Object(oe.__)("Remove","tribe-events-calendar-pro")),t),e)};nb.propTypes={children:zo.a.node,className:zo.a.string,disabled:zo.a.bool,onClick:zo.a.func};var rb=nb;n("7cHz");class ab extends D.PureComponent{constructor(e){super(e),H()(this,"onAddClick",()=>this.setState({isSelecting:!0})),H()(this,"onSelectBlur",()=>this.setState({isSelecting:!1})),H()(this,"getSelect",()=>this.state.isSelecting?wp.element.createElement(oc.Select,{className:"tribe-editor__month-picker__select",autoFocus:!0,backspaceRemovesValue:!1,isClearable:!1,isDisabled:this.props.disabled,isMulti:!0,onBlur:this.onSelectBlur,onChange:this.props.onSelectChange,openMenuOnFocus:!0,options:Fn,value:this.props.months}):wp.element.createElement("button",{className:rc()({"tribe-editor__month-picker__add":!0,"tribe-editor__month-picker__add--disabled":this.props.disabled}),disabled:this.props.disabled,onClick:this.onAddClick},wp.element.createElement("span",{className:"tribe-editor__month-picker__add-icon"},"+"),Object(oe.__)("Add","tribe-events-calendar-pro"))),this.state={isSelecting:!1}}render(){const{blockType:e,className:t,disabled:n,index:r,months:a,onMonthClick:i}=this.props;return wp.element.createElement("div",{className:rc()("tribe-editor__month-picker",t)},a.map(t=>wp.element.createElement(rb,{key:t.value,blockType:e,className:"tribe-editor__month-picker__month-tag",disabled:n,index:r,onClick:i(t.value),value:t.value},t.tag)),this.getSelect())}}H()(ab,"propTypes",{blockType:zo.a.string,className:zo.a.string,index:zo.a.number,months:zo.a.arrayOf(zo.a.oneOf(Fn)),onMonthClick:zo.a.func,onSelectChange:zo.a.func}),H()(ab,"defaultProps",{months:[]});var ib=ab;const ob=({blockType:e,className:t,disabled:n,index:r,months:a,onMonthClick:i,onSelectChange:o})=>wp.element.createElement(Od,{className:rc()("tribe-editor__in-month",t),label:Object(oe.__)("In","tribe-events-calendar-pro")},wp.element.createElement(ib,{blockType:e,className:"tribe-editor__in-month__month-picker",disabled:n,index:r,months:a,onMonthClick:i,onSelectChange:o}));ob.propTypes={blockType:zo.a.string,className:zo.a.string,disabled:zo.a.bool,index:zo.a.number,months:zo.a.arrayOf(zo.a.oneOf(Fn)),onMonthClick:zo.a.func,onSelectChange:zo.a.func};var cb=ob;const lb=["monthsArr"];function sb(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function db(e){for(var t=1;t{const t=Eb[e];return ne()(pb,{value:t})};var Ob=Object(P.compose)(Object(N.withStore)(),Object(C.connect)((e,t)=>{const n=(t.blockType===c.RECURRING?l:b).getMonth(e,t),r=n.map(mb);return{monthsArr:n,months:r}},(e,t)=>{const n=t.blockType===c.RECURRING?a.editRule:u.editException;return{edit:(t,r)=>e(n(t,r))}},(e,t,n)=>{const{monthsArr:r}=e,a=hd()(e,lb),{edit:i}=t;return db(db(db({},n),a),{},{onMonthClick:e=>()=>{const t=bb[e],a=r.filter(e=>e!==t);i(n.index,{[ub]:a})},onSelectChange:e=>{const t=[...e.map(e=>bb[e.value])].sort((e,t)=>e-t);i(n.index,{[ub]:t})}})}))(cb),Ab=n("In0u"),_b=n.n(Ab);n("ItXU");const yb=({className:e,disabled:t,frequency:n,onChange:r,options:a})=>wp.element.createElement(oc.CreatableSelect,{className:rc()("tribe-editor__frequency-select",e),backspaceRemovesValue:!1,isDisabled:t,formatCreateLabel:e=>e,isValidNewOption:(e,t,n)=>{const r=!n.filter(t=>t.label===e).length,a=""!==e,i=!isNaN(e);return a&&r&&i},onChange:r,options:a,value:n});yb.propTypes={className:zo.a.string,frequency:Mn.proptypes.ReactSelectOption.isRequired,onChange:zo.a.func.isRequired,options:Mn.proptypes.ReactSelectOptions.isRequired};var fb=yb;const{RECURRING:gb,KEY_BETWEEN:hb}=c,{DAILY:vb,WEEKLY:Tb,MONTHLY:jb,YEARLY:Ib}=i,{DAILY_RECURRENCE_FREQUENCY_OPTIONS:Rb,WEEKLY_RECURRENCE_FREQUENCY_OPTIONS:wb,MONTHLY_RECURRENCE_FREQUENCY_OPTIONS:Db,YEARLY_RECURRENCE_FREQUENCY_OPTIONS:kb}=o,Sb=(e,t)=>{const n=(t.blockType===gb?l:b).getBetween(e,t);return{label:String(n),value:n}},Cb=e=>{let t=[];switch(e.selected.value){case vb:t=Rb;break;case Tb:t=wb;break;case jb:t=Db;break;case Ib:t=kb}return t};var Pb=Object(P.compose)(Object(N.withStore)(),Object(C.connect)((e,t)=>({frequency:Sb(e,t),options:Cb(t)}),(e,t)=>{const n=t.blockType===gb?J:Ni;return{onChange:r=>{e(n(t.index,{[hb]:Number(r.value)}))}}}))(fb);n("UHF2");const{applyFilters:Nb}=wp.hooks,xb=e=>{const{afterSelect:t,onChange:n,options:r,selected:a,isPlural:i}=e;return Nb("elements.typePicker.typePickerContentHook",wp.element.createElement(D.Fragment,null,(e=>{const{blockType:t,index:n,selected:r}=e;return r&&r.value!==ue&&wp.element.createElement(Pb,{className:"tribe-editor__type-picker__frequency-select",blockType:t,index:n,selected:r})})(e),wp.element.createElement(oc.Select,{className:"tribe-editor__type-picker__type-select",backspaceRemovesValue:!1,value:a,isSearchable:!1,options:r,onChange:n,getOptionLabel:e=>i&&e.label_plural?e.label_plural:e.label}),t),e)},Fb=e=>{const{className:t,rowLabel:n}=e;return wp.element.createElement(Od,{className:rc()("tribe-editor__type-picker",t),label:n},xb(e))};Fb.defaultProps={onChange:_b.a,options:[]},Fb.propTypes={afterSelect:zo.a.node,blockType:zo.a.oneOf(Bn),className:zo.a.string,index:zo.a.number,onChange:zo.a.func,options:Mn.proptypes.ReactSelectOptions,selected:Mn.proptypes.ReactSelectOption.isRequired,rowLabel:zo.a.string};var Lb=Fb;const{applyFilters:Mb}=wp.hooks,{RECURRING:Yb,KEY_TYPE:Qb}=c;var Bb=Object(P.compose)(Object(N.withStore)(),Object(C.connect)((e,t)=>{const n=((e,t)=>(t.blockType===Yb?l:b).getBetween(e,t))(e,t)>1;return{selected:Mb("elements.typePicker.typePickerSelectedOptionHook",((e,t)=>(t.blockType===Yb?l:b).getTypeOption(e,t))(e,t),e,t),isPlural:n,afterSelect:Mb("elements.typePicker.afterTypePickerSelectHook",null,e,t)}},(e,t)=>{const n=t.blockType===Yb?a.editRule:u.editException;return{dispatch:e,onChange:r=>e(n(t.index,{[Qb]:r.value}))}}))(Lb);n("sSeK");const Ub=({className:e,date:t,dateFormat:n,onDateChange:r})=>{const a=new Date(t);return wp.element.createElement(Od,{className:rc()("tribe-editor__on-date-picker",e),label:Object(oe.__)("On","tribe-events-calendar-pro")},wp.element.createElement(oc.DayPickerInput,{value:t,format:n,formatDate:vd.formatDate,parseDate:vd.parseDate,dayPickerProps:{modifiers:{start:a,end:a}},onDayChange:r}))};Ub.propTypes={className:zo.a.string,date:zo.a.string,dateFormat:zo.a.string,onDateChange:zo.a.func},Ub.defaultProps={dateFormat:"LL"};var Hb=Ub;const Vb=["start"];function Kb(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Gb(e){for(var t=1;t(r,a,i)=>{const o=r||n;t(e.index,{[zb]:i.input.value,[Xb]:r,[Wb]:Jb(Zb(o))})};var eE=Object(P.compose)(Object(N.withStore)(),Object(C.connect)((e,t)=>({date:(t.blockType===qb?l:b).getStartDateInput(e,t),start:ha.blocks.datetime.selectors.getStart(e)}),(e,t)=>{const n=t.blockType===qb?a.editRule:u.editException;return{edit:(t,r)=>e(n(t,r))}},(e,t,n)=>{const{start:r}=e,a=hd()(e,Vb),{edit:i}=t;return Gb(Gb(Gb({},n),a),{},{onDateChange:$b(n,i,r)})}))(Hb);const{KEY_MULTI_DAY:tE,KEY_TYPE:nE}=c,rE=({getOptions:e,rules:t,removeRule:n})=>wp.element.createElement("section",null,t.map((t,r)=>wp.element.createElement(od,{key:r,index:r,isMultiDay:t[tE],onRemoveClick:n,options:e(r),type:t[nE]})));rE.propTypes={rules:zo.a.arrayOf(zo.a.shape({})),removeRule:zo.a.func.isRequired},rE.defaultProps={rules:[]};var aE,iE=rE;var oE=Tl("undefined"!=typeof tecEventDetails&&(null===(aE=tecEventDetails)||void 0===aE?void 0:aE.lockRulesUi),Object(P.compose)(Object(N.withStore)(),Object(C.connect)(e=>({getOptions:t=>wp.hooks.applyFilters("elements.recurringForm.recurringFieldOptionsHook",o.RECURRENCE_TYPE_RULES_OPTIONS,e,t)})))(iE));const cE=({children:e})=>wp.element.createElement("section",null,wp.element.createElement("fieldset",{className:"tribe-editor__events-pro__fieldset"},e)),lE=({isRulePanelVisible:e,hasRules:t,rulesCount:n,toggleRulePanelExpand:r,isRulePanelExpanded:a,rules:i,removeRule:o,addField:c,initialRulePanelClick:l})=>{if(e||t){const e=wp.hooks.applyFilters("elements.recurringForm.outputBeforeRecurringForm",null);return wp.element.createElement(dd,{count:n,onHeaderClick:r,isExpanded:a,panelTitle:Object(ga.pro)().blocks_recurrence_rules.panel_title_text,type:"recurring"},e?wp.element.createElement(cE,null,e):null,wp.element.createElement(oE,{rules:i,removeRule:o}),wp.element.createElement(ks,{onClick:c,noBorder:!0}))}return wp.element.createElement(ks,{onClick:l})};lE.propTypes={addField:zo.a.func.isRequired,hasRules:zo.a.bool.isRequired,initialRulePanelClick:zo.a.func.isRequired,isRulePanelExpanded:zo.a.bool.isRequired,isRulePanelVisible:zo.a.bool.isRequired,removeRule:zo.a.func.isRequired,rules:zo.a.array.isRequired,rulesCount:zo.a.number.isRequired,toggleRulePanelExpand:zo.a.func.isRequired};var sE=lE;var dE=Object(P.compose)(Object(N.withStore)(),Object(C.connect)(e=>({rules:l.getRules(e),rulesCount:l.getRulesCount(e),hasRules:l.hasRules(e)}),(e,{toggleRulePanelVisibility:t,expandRulePanel:n})=>{const r=()=>e(a.addField());return{addField:r,removeRule:t=>e(a.removeRule(t)),initialRulePanelClick:Object(P.compose)(t,n,r)}}))(sE);const uE=({isExceptionPanelVisible:e,hasExceptions:t,exceptionsCount:n,toggleExceptionPanelExpand:r,isExceptionPanelExpanded:a,exceptions:i,removeException:o,addField:c,initialExceptionPanelClick:l})=>e||t?wp.element.createElement(dd,{count:n,onHeaderClick:r,isExpanded:a,panelTitle:Object(oe.__)("Exceptions","tribe-events-calendar-pro"),type:"exception"},wp.element.createElement(ws,{exceptions:i,removeException:o}),wp.element.createElement(Il,{onClick:c,noBorder:!0})):wp.element.createElement(Il,{onClick:l});uE.propTypes={addField:zo.a.func.isRequired,exceptions:zo.a.array.isRequired,exceptionsCount:zo.a.number.isRequired,hasExceptions:zo.a.bool.isRequired,initialExceptionPanelClick:zo.a.func.isRequired,isExceptionPanelExpanded:zo.a.bool.isRequired,isExceptionPanelVisible:zo.a.bool.isRequired,removeException:zo.a.func.isRequired,toggleExceptionPanelExpand:zo.a.func.isRequired};var pE=uE;var bE=Object(P.compose)(Object(N.withStore)(),Object(C.connect)(e=>({exceptions:b.getExceptions(e),exceptionsCount:b.getExceptionsCount(e),hasExceptions:b.hasExceptions(e)}),(e,{toggleExceptionPanelVisibility:t,expandExceptionPanel:n})=>{const r=()=>e(u.addField());return{addField:r,removeException:t=>e(u.removeException(t)),initialExceptionPanelClick:Object(P.compose)(t,n,r)}}))(pE);const{applyFilters:EE}=wp.hooks;class mE extends D.PureComponent{constructor(e){super(e),H()(this,"toggleRepeatBlocksVisibility",()=>{this.setState({isRepeatBlockVisible:!this.state.isRepeatBlockVisible})}),H()(this,"toggleRulePanelVisibility",()=>{this.setState({isRulePanelVisible:!this.state.isRulePanelVisible})}),H()(this,"hideRulePanel",()=>{this.setState({isRulePanelVisible:!1})}),H()(this,"toggleExceptionPanelVisibility",()=>{this.setState({isExceptionPanelVisible:!this.state.isExceptionPanelVisible})}),H()(this,"hideExceptionPanel",()=>{this.setState({isExceptionPanelVisible:!1})}),H()(this,"toggleRulePanelExpand",()=>{this.setState({isRulePanelExpanded:!this.state.isRulePanelExpanded})}),H()(this,"expandRulePanel",()=>{this.setState({isRulePanelExpanded:!0})}),H()(this,"toggleExceptionPanelExpand",()=>{this.setState({isExceptionPanelExpanded:!this.state.isExceptionPanelExpanded})}),H()(this,"expandExceptionPanel",()=>{this.setState({isExceptionPanelExpanded:!0})}),this.state={isRepeatBlockVisible:!1,isRulePanelVisible:!1,isRulePanelExpanded:!1,isExceptionPanelVisible:!1,isExceptionPanelExpanded:!1}}componentDidMount(){const{rules:e,exceptions:t}=this.props.attributes;e&&this.props.syncRulesFromDB(e),t&&this.props.syncExceptionsFromDB(t)}componentDidUpdate(e){!this.props.hasRules&&e.hasRules&&this.hideRulePanel(),!this.props.hasExceptions&&e.hasExceptions&&this.hideExceptionPanel()}renderRepeatEventButton(){return wp.element.createElement(ml,{onClick:()=>{this.toggleRepeatBlocksVisibility(),this.toggleRulePanelVisibility(),this.toggleRulePanelExpand(),this.props.addField()}},Object(ga.pro)().blocks_recurrence_rules.panel_title_text)}renderRecurrence(){const e={isRulePanelVisible:this.state.isRulePanelVisible,isRulePanelExpanded:this.state.isRulePanelExpanded,toggleRulePanelVisibility:this.toggleRulePanelVisibility,toggleRulePanelExpand:this.toggleRulePanelExpand,expandRulePanel:this.expandRulePanel},t={isExceptionPanelVisible:this.state.isExceptionPanelVisible,isExceptionPanelExpanded:this.state.isExceptionPanelExpanded,toggleExceptionPanelVisibility:this.toggleExceptionPanelVisibility,toggleExceptionPanelExpand:this.toggleExceptionPanelExpand,expandExceptionPanel:this.expandExceptionPanel};return this.state.isRepeatBlockVisible||this.props.hasRules||this.props.hasExceptions?wp.element.createElement(D.Fragment,null,wp.element.createElement(dE,e),wp.element.createElement(bE,t)):this.renderRepeatEventButton()}render(){return wp.element.createElement(D.Fragment,null,EE("blocks.recurrence.renderRecurrenceHook",this.renderRecurrence()),wp.element.createElement(gl,{setAttributes:this.props.setAttributes,clientId:this.props.clientId,metaField:"exceptions",current:this.props.attributes.exceptions,selector:b.getExceptions,listeners:[d.ADD_EXCEPTION,d.EDIT_EXCEPTION,d.REMOVE_EXCEPTION]}),wp.element.createElement(gl,{setAttributes:this.props.setAttributes,clientId:this.props.clientId,metaField:"rules",selector:l.getRules,current:this.props.attributes.rules,listeners:[r.ADD_RULE,r.EDIT_RULE,r.REMOVE_RULE]}))}}H()(mE,"propTypes",{attributes:zo.a.shape({rules:zo.a.string,exceptions:zo.a.string}),clientId:zo.a.string.isRequired,hasExceptions:zo.a.bool.isRequired,hasRules:zo.a.bool.isRequired,setAttributes:zo.a.func.isRequired,syncExceptionsFromDB:zo.a.func.isRequired,syncRulesFromDB:zo.a.func.isRequired});var OE=Object(P.compose)(Object(N.withStore)(),Object(C.connect)(e=>({hasRules:l.hasRules(e),hasExceptions:b.hasExceptions(e)}),e=>({addField:()=>e(a.addField()),syncRulesFromDB:t=>e(a.syncRulesFromDB(t)),syncExceptionsFromDB:t=>e(u.syncExceptionsFromDB(t))})))(mE);const AE=(e,t)=>wp.element.createElement(OE,t);var _E=n("1ZqX");n("uwex");const yE=Object(oe.__)("Recurring Event","tribe-events-calendar-pro");class fE extends D.PureComponent{constructor(e,t){super(e,t),H()(this,"handleClick",()=>this.setState({isEditing:!0},()=>this.input.current.focus())),H()(this,"handleChange",e=>this.setState({description:e.target.value})),H()(this,"handleBlur",()=>this.setState({isEditing:!1},()=>this.props.setAttributes({description:this.state.description}))),this.input=k.a.createRef(),this.state={isEditing:!1,description:e.attributes.description||yE}}render(){return this.props.hasRules&&wp.element.createElement("span",{className:"tribe-editor__events-pro__recurrence-description"},wp.element.createElement(Nl,null),this.state.isEditing?wp.element.createElement("input",{type:"text",name:"description",value:this.state.description,onChange:this.handleChange,onBlur:this.handleBlur,ref:this.input,disabled:!this.props.isEditable}):wp.element.createElement("button",{type:"button",onClick:this.handleClick,disabled:!this.props.isEditable},this.state.description),wp.element.createElement("a",{href:this.props.url,target:"__blank"},Object(oe.__)("see all","tribe-events-calendar-pro")))}}H()(fE,"propTypes",{attributes:zo.a.shape({description:zo.a.string}),setAttributes:zo.a.func,hasRules:zo.a.bool.isRequired,url:zo.a.string.isRequired,isEditable:zo.a.bool.isRequired});const gE=Object(_E.withSelect)(e=>{const t=e("core/editor").getCurrentPostAttribute("slug")||"";return{url:(e("core/editor").getCurrentPostAttribute("link")||"").replace(new RegExp(t+"/.*/?$"),t+"/all")}});var hE=Object(P.compose)(Object(N.withStore)(),Object(C.connect)(e=>({hasRules:l.hasRules(e),isEditable:ha.blocks.datetime.selectors.isEditable(e)})),gE)(fE);const vE=(e,t)=>S.globals.wpHooks.applyFilters("blocks.recurrenceDescription.contentHook",wp.element.createElement(hE,t),t);var TE=n("pVnL"),jE=n.n(TE),IE=n("d/5d");const RE=["className"],{__:wE}=wp.i18n,{useBlockProps:DE}=wp.blockEditor,kE=({width:e="40%"})=>wp.element.createElement("div",{style:{width:e,height:16,background:"#eee",margin:"18px 4px"}});var SE={id:"tec/single-venue",title:wE("Single Venue","tribe-events-calendar-pro"),icon:wp.element.createElement(IE.Venue,null),category:"tribe-events",keywords:[wE("Single Venue","tribe-events-calendar-pro"),wE("The Events Calendar","tribe-events-calendar-pro")],edit:e=>{const t=DE(),{className:n}=t,r=hd()(t,RE);return wp.element.createElement("div",jE()({className:`${n} ${e.className}`},r),wp.element.createElement("h3",null,wE("Venue Title","tribe-events-calendar-pro")),wp.element.createElement("div",{style:{float:"left",width:"40%"}},wp.element.createElement(kE,{width:"70%"}),wp.element.createElement(kE,{width:"84%"}),wp.element.createElement(kE,{width:"73%"}),wp.element.createElement(kE,{width:"63%"})),wp.element.createElement("div",{style:{float:"left",width:"30%"}},wp.element.createElement("div",{style:{width:"70%",maxWidth:340,height:180,background:"#eee",margin:"18px 4px"}})),wp.element.createElement("div",{style:{clear:"both",height:1}}))}},CE=n("zgRa"),PE=n.n(CE),NE=n("AuWn"),xE=n.n(NE);n("d2qS");const{InspectorControls:FE}=ga.wpEditor,LE=Object(oe.__)("Related Events","tribe-events-calendar-pro"),ME=e=>{const{isSelected:t,categories:n,tags:r,events:a,attributes:i}=e,o=n.length||r.length,c=a.length,l=t||i.title?(({isSelected:e,attributes:t,setAttributes:n})=>{const{title:r}=t,a=rc()({"tribe-editor__related-events__title":!0,"tribe-editor__related-events__title--selected":e});return wp.element.createElement("div",{key:"tribe-events-related-events-label",className:a},wp.element.createElement(xE.a,{id:"tribe-events-related-events-title",className:"tribe-editor__related-events__title-text",value:r,placeholder:LE,onChange:e=>n({title:e.target.value})}))})(e):wp.element.createElement("span",{className:rc()(["tribe-editor__related-events__title","tribe-editor__related-events__title--placeholder"])},LE);return wp.element.createElement("div",{key:"event-links",className:"tribe-editor__block tribe-editor__related-events"},wp.element.createElement("h2",null,l),o&&c?wp.element.createElement(QE,{events:a,displayImages:i.displayImages}):wp.element.createElement(YE,null))},YE=()=>wp.element.createElement("div",{className:"tribe-editor__related-events__warning"},Object(oe.__)("This block displays related events based on the tags and categories you select. Please add tags and categories to display related events, and be sure you have more events for these tags and categories.","tribe-events-calendar-pro")),QE=({events:e,displayImages:t})=>wp.element.createElement("div",{className:"tribe-editor__related-events__grid"},e.map(e=>wp.element.createElement(BE,{key:e.slug,displayImages:t,event:e}))),BE=({displayImages:e,event:t})=>{const n=`${t.start_date} - ${t.end_date_details.hour}:${t.end_date_details.minutes}:${t.end_date_details.seconds}`;return wp.element.createElement("div",{className:"tribe-editor__related-events__grid--item"},e&&wp.element.createElement(Fl,null),wp.element.createElement("div",{className:"tribe-editor__related-events__grid--item-details"},wp.element.createElement(UE,{title:t.title}),wp.element.createElement(HE,{date:n})))},UE=({title:e})=>wp.element.createElement("h3",{className:"tribe-editor__related-events__grid--item-title"},e),HE=({date:e})=>wp.element.createElement("div",{className:"tribe-editor__related-events__grid--item-date"},e),VE=({isSelected:e,attributes:t,setAttributes:n})=>e&&wp.element.createElement(FE,{key:"inspector"},wp.element.createElement(Zo.PanelBody,{title:Object(oe.__)("Related Events Settings","tribe-events-calendar-pro")},wp.element.createElement(Zo.ToggleControl,{label:Object(oe.__)("Display Images","tribe-events-calendar-pro"),checked:t.displayImages,onChange:e=>n({displayImages:e})})));class KE extends D.PureComponent{constructor(e){super(e),H()(this,"fetch",()=>{const{tags:e,categories:t,postId:n}=this.props;let r=Object(ga.rest)().url+"tribe/events/v1/events?&per_page=3";t.length&&(r=`${r}&categories=${t.join()}`),e.length&&(r=`${r}&tags=${e.join()}`),fetch(r).then(e=>e.json()).then(e=>{const t=e.events.filter(e=>e.id!==n);this.setState({events:t})})}),this.state={events:[]}}componentDidMount(){const e=this.props;(e.categories.length||e.tags.length)&&this.fetch()}componentDidUpdate(e){const{tags:t,categories:n}=this.props;PE()(t,e.tags)&&PE()(n,e.categories)||this.fetch()}render(){return wp.element.createElement(D.Fragment,null,wp.element.createElement(ME,jE()({},this.props,{events:this.state.events})),wp.element.createElement(VE,this.props))}}KE.propTypes={attributes:zo.a.object,setAttributes:zo.a.func,isSelected:zo.a.bool,tags:zo.a.array,categories:zo.a.array,postId:zo.a.number};var GE=KE;var qE=Object(_E.withSelect)(e=>({tags:e("core/editor").getEditedPostAttribute("tags")||[],categories:e("core/editor").getEditedPostAttribute("tribe_events_cat")||[],postId:e("core/editor").getCurrentPostId()}))(GE),WE={id:"related-events",title:Object(oe.__)("Related Events","tribe-events-calendar-pro"),description:Object(oe.__)("Show other events with the same event categories and/or tags.","tribe-events-calendar-pro"),icon:wp.element.createElement(IE.Sharing,null),category:"tribe-events",keywords:["event","events-gutenberg","tribe"],supports:{html:!1},attributes:{title:{type:"html",default:Object(oe.__)("Related Events","tribe-events-calendar-pro")},displayImages:{type:"boolean",default:!0}},edit:qE,save:()=>null};var zE=()=>wp.element.createElement("section",{className:"tribe-editor__block components-placeholder is-large"},wp.element.createElement("div",{className:"tribe-editor__event-virtual"},wp.element.createElement("h3",null,Object(oe.__)("Virtual Event Details","tribe-events-calendar-pro")),wp.element.createElement("p",{className:"components-placeholder__instructions"},Object(oe.__)("Configure Virtual Event details using the section at the bottom of this page","tribe-events-calendar-pro")))),XE={id:"virtual-event",title:Object(oe.__)("Virtual Event","tribe-events-calendar-pro"),description:Object(oe.__)("Displays the virtual event block.","tribe-events-calendar-pro"),icon:wp.element.createElement(Vl,null),category:"tribe-events",keywords:["event","events-gutenberg","tribe"],supports:{html:!1},attributes:{},edit:zE,save:()=>null};const ZE="@@MT/EVENTS-PRO/SET_SERIES_QUEUE_STATUS";function JE(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function $E(e){for(var t=1;t({type:ZE,payload:e}),nm=e=>e[Mn.constants.EVENTS_PRO_PLUGIN].status,rm=Object(re.createSelector)(nm,e=>!!e.done),am=Object(re.createSelector)(nm,e=>e.progress);var im=n("XNR4"),om=n.n(im),cm=n("1fKG");n("bZMm");const lm="NOTICE_EDITING_SERIES",sm="NOTICE_PROGRESS_ON_SERIES_CREATION_COUNT",dm="NOTICE_PROGRESS_ON_SERIES_CREATION",um={[lm]:Object(oe.__)("You are currently editing all events in a recurring series.","tribe-events-calendar-pro"),[sm]:Object(oe._n)("%d instance","%d instances",1,"tribe-events-calendar-pro"),[dm]:Object(oe.__)("of this event have been created through %s.","tribe-events-calendar-pro")};function*pm(){try{const e=new FormData,t=Object(_E.select)("core/editor").getCurrentPostId();if(!t)throw"No post ID";yield Object(fa.call)([e,"append"],"action","gutenberg_events_pro_recurrence_queue"),yield Object(fa.call)([e,"append"],"recurrence_queue_status_nonce",S.globals.restNonce().queue_status_nonce),yield Object(fa.call)([e,"append"],"post_id",t);const n=yield Object(fa.call)(fetch,window.ajaxurl,{method:"POST",credentials:"same-origin",body:e});return yield Object(fa.call)([n,"json"])}catch(e){return console.error(e),!1}}function*bm(){for(yield Object(fa.put)(ha.blocks.datetime.actions.disableEdits());;){const e=yield Object(fa.call)(pm),t=!1===e||e.done;if(t){const n=!1===e?{done:t}:e;yield Object(fa.put)(tm(n));const{items_created:r,last_created_at:a,done:i,percentage:o}=e;if(i&&100===o){const e=S.moment.toDate(S.moment.toMoment(a));yield Object(fa.call)([Object(_E.dispatch)("core/notices"),"createSuccessNotice"],`${Object(oe.sprintf)(Object(oe._n)("%d instance","%d instances",r,"tribe-events-calendar-pro"),r)} ${Object(oe.sprintf)(um[dm],e)}`,{id:dm,isDismissible:!0})}}else yield Object(fa.put)(tm(e)),yield Object(fa.call)([Object(_E.dispatch)("core/notices"),"createSuccessNotice"],Object(oe.__)("Recurring event instances are still being created…","tribe-events-calendar-pro"),{id:dm,isDismissible:!0});if(yield Object(fa.select)(rm)){yield Object(fa.put)(ha.blocks.datetime.actions.allowEdits());break}yield Object(fa.call)(cm.delay,1e3)}}function Em(){return Object(cm.eventChannel)(e=>{const t=Object(_E.select)("core/editor"),n=[()=>t.isSavingPost()&&!t.isAutosavingPost(),t.isPublishingPost];return Object(_E.subscribe)(()=>{om()(n,e=>e())&&e(!0)})})}function*mm(){yield Object(fa.take)([Q])}function*Om(){yield Object(fa.take)([Q]);const e=yield Object(fa.select)(Br),t=yield Object(fa.call)([/action=edit/,"test"],window.location.search);e&&t&&(yield Object(fa.call)([Object(_E.dispatch)("core/notices"),"createSuccessNotice"],um[lm],{id:lm,isDismissible:!1}))}function*Am(){yield Object(fa.fork)(Om);const e=yield Object(fa.call)(Em);for(;;)yield Object(fa.race)([Object(fa.take)(e),Object(fa.call)(mm)]),yield Object(fa.call)(bm)}var _m=(e=em,t)=>{switch(t.type){case ZE:return $E($E({},e),t.payload);default:return e}},ym=Object(P.combineReducers)({blocks:ol,status:_m}),fm=n("g8L8");const{EVENTS_PRO_PLUGIN:gm}=Mn.constants,hm=()=>{(e=>{il(e)})(S.globals.postObjects().tribe_events);const{dispatch:e,injectReducers:t}=fm.store;[fl,Am,gi,pl].forEach(e=>fm.store.run(e)),vo(),t({[gm]:ym}),e(Mn.actions.addPlugin(gm))},vm=()=>fm.store;S.globals.wpHooks.addFilter("blocks.eventDatetime.dashboardHook","tribe/addRecurrence",AE),S.globals.wpHooks.addFilter("blocks.eventDatetime.contentHook","tribe/addRecurrenceDescription",vE);const Tm=(jm=[XE,WE,SE],[...jm,...(S.globals.pro().additional_fields||[]).map(e=>(e=>{const{name:t,label:n,type:r}=e,a=Uc[r]||Uc.text,i={id:"field-"+Object(xo.toBlockName)(t),title:n,description:Object(oe.__)("Additional Field","tribe-events-calendar-pro"),icon:a.icon,category:"tribe-events-pro-additional-fields",keywords:["event","events-gutenberg","tribe"],supports:{html:!1},attributes:{value:{type:"string",source:"meta",meta:t}},edit:a.container,save:()=>null};return r===Bc&&(i.attributes.dividerList={type:"string",default:", "},i.attributes.dividerEnd={type:"string",default:Object(oe.__)(" and ","tribe-events-calendar-pro")}),i})(e))]);var jm;Tm.forEach(e=>{const t=e.id.includes("/")?e.id:"tribe/"+e.id;Object(w.registerBlockType)(t,e)}),hm();var Im=Tm;ga.wpHooks.addFilter("tec.events.blocks.tribe_event_venue.getVenueId","tec/events-pro/getVenueId",(e,t)=>t.attributes.venue||null)},aJRi:function(e,t,n){},cDcd:function(e,t){e.exports=React},cEuG:function(e,t,n){},"d/5d":function(e,t){e.exports=tribe.events.icons},d2qS:function(e,t,n){},"df/k":function(e,t){e.exports=lodash.identity},e5yv:function(e,t){e.exports=lodash.isArray},fSse:function(e,t,n){},fZxb:function(e,t,n){},fcXm:function(e,t,n){},g8L8:function(e,t){e.exports=tribe.common.store},h74D:function(e,t){e.exports=tribe.modules.reactRedux},i0Sv:function(e,t,n){},kK34:function(e,t,n){},kczL:function(e,t){e.exports=tribe.common.utils.globals},l3Sj:function(e,t){e.exports=wp.i18n},m3e7:function(e,t,n){},mZj9:function(e,t){},"oNd/":function(e,t){e.exports=lodash.curry},rKB8:function(e,t){e.exports=tribe.modules.redux},rf6O:function(e,t){e.exports=tribe.modules.propTypes},sSeK:function(e,t,n){},sqH4:function(e,t,n){},"tI+e":function(e,t){e.exports=wp.components},tbMi:function(e,t){e.exports=tribe.common.utils.date},uPrq:function(e,t,n){},uwex:function(e,t,n){},wy2R:function(e,t){e.exports=moment},xD0k:function(e,t){e.exports=tribe.events.data},zZOC:function(e,t,n){},zgRa:function(e,t){e.exports=lodash.isEqual}}); \ No newline at end of file diff --git a/wp-content/plugins/events-calendar-pro/src/resources/js/app/vendor.min.js b/wp-content/plugins/events-calendar-pro/src/resources/js/app/vendor.min.js index 78362e920..1983d6ac5 100644 --- a/wp-content/plugins/events-calendar-pro/src/resources/js/app/vendor.min.js +++ b/wp-content/plugins/events-calendar-pro/src/resources/js/app/vendor.min.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[1],{"1rrs":function(t,e,r){t.exports=r("FsYZ")},"4Z/T":function(t,e,r){!function(t){var r={not_string:/[^s]/,number:/[diefg]/,json:/[j]/,not_json:/[^j]/,text:/^[^\x25]+/,modulo:/^\x25{2}/,placeholder:/^\x25(?:([1-9]\d*)\$|\(([^\)]+)\))?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-gijosuxX])/,key:/^([a-z_][a-z_\d]*)/i,key_access:/^\.([a-z_][a-z_\d]*)/i,index_access:/^\[(\d+)\]/,sign:/^[\+\-]/};function n(){var t=arguments[0],e=n.cache;return e[t]&&e.hasOwnProperty(t)||(e[t]=n.parse(t)),n.format.call(null,e[t],arguments)}n.format=function(t,e){var i,s,a,u,f,l,c,p,d=1,h=t.length,y="",b=[],m=!0,w="";for(s=0;s=0),u[8]){case"b":i=i.toString(2);break;case"c":i=String.fromCharCode(i);break;case"d":case"i":i=parseInt(i,10);break;case"j":i=JSON.stringify(i,null,u[6]?parseInt(u[6]):0);break;case"e":i=u[7]?i.toExponential(u[7]):i.toExponential();break;case"f":i=u[7]?parseFloat(i).toFixed(u[7]):parseFloat(i);break;case"g":i=u[7]?parseFloat(i).toPrecision(u[7]):parseFloat(i);break;case"o":i=i.toString(8);break;case"s":i=(i=String(i))&&u[7]?i.substring(0,u[7]):i;break;case"u":i>>>=0;break;case"x":i=i.toString(16);break;case"X":i=i.toString(16).toUpperCase()}r.json.test(u[8])?b[b.length]=i:(!r.number.test(u[8])||m&&!u[3]?w="":(w=m?"+":"-",i=i.toString().replace(r.sign,"")),l=u[4]?"0"===u[4]?"0":u[4].charAt(1):" ",c=u[6]-(w+i).length,f=u[6]&&c>0?(p=l,Array(c+1).join(p)):"",b[b.length]=u[5]?w+i+f:"0"===l?w+f+i:f+w+i)}return b.join("")},n.cache={},n.parse=function(t){for(var e=t,n=[],o=[],i=0;e;){if(null!==(n=r.text.exec(e)))o[o.length]=n[0];else if(null!==(n=r.modulo.exec(e)))o[o.length]="%";else{if(null===(n=r.placeholder.exec(e)))throw new SyntaxError("[sprintf] unexpected placeholder");if(n[2]){i|=1;var s=[],a=n[2],u=[];if(null===(u=r.key.exec(a)))throw new SyntaxError("[sprintf] failed to parse named argument key");for(s[s.length]=u[1];""!==(a=a.substring(u[0].length));)if(null!==(u=r.key_access.exec(a)))s[s.length]=u[1];else{if(null===(u=r.index_access.exec(a)))throw new SyntaxError("[sprintf] failed to parse named argument key");s[s.length]=u[1]}n[2]=s}else i|=2;if(3===i)throw new Error("[sprintf] mixing positional and named placeholders is not (yet) supported");o[o.length]=n}e=e.substring(n[0].length)}return o};function o(t){return Object.prototype.toString.call(t).slice(8,-1).toLowerCase()}e.sprintf=n,e.vsprintf=function(t,e,r){return(r=(e||[]).slice(0)).splice(0,0,t),n.apply(null,r)}}("undefined"==typeof window||window)},"5Q0V":function(t,e,r){var n=r("cDf5").default;t.exports=function(t,e){if("object"!==n(t)||null===t)return t;var r=t[Symbol.toPrimitive];if(void 0!==r){var o=r.call(t,e||"default");if("object"!==n(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(t)},t.exports.__esModule=!0,t.exports.default=t.exports},"8OQS":function(t,e){t.exports=function(t,e){if(null==t)return{};var r,n,o={},i=Object.keys(t);for(n=0;n=0||(o[r]=t[r]);return o},t.exports.__esModule=!0,t.exports.default=t.exports},"8oxB":function(t,e){var r,n,o=t.exports={};function i(){throw new Error("setTimeout has not been defined")}function s(){throw new Error("clearTimeout has not been defined")}function a(t){if(r===setTimeout)return setTimeout(t,0);if((r===i||!r)&&setTimeout)return r=setTimeout,setTimeout(t,0);try{return r(t,0)}catch(e){try{return r.call(null,t,0)}catch(e){return r.call(this,t,0)}}}!function(){try{r="function"==typeof setTimeout?setTimeout:i}catch(t){r=i}try{n="function"==typeof clearTimeout?clearTimeout:s}catch(t){n=s}}();var u,f=[],l=!1,c=-1;function p(){l&&u&&(l=!1,u.length?f=u.concat(f):c=-1,f.length&&d())}function d(){if(!l){var t=a(p);l=!0;for(var e=f.length;e;){for(u=f,f=[];++c1)for(var r=1;r1&&void 0!==arguments[1]?arguments[1]:"en";return(0,i.default)(t).locale(e).format("ddd ll")}function a(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"en";return(0,i.default)(t).locale(e).format("MMMM YYYY")}function u(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"en";return i.default.localeData(e).weekdaysMin()[t]}function f(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"en";return i.default.localeData(e).weekdays()[t]}function l(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"en";return i.default.localeData(t).firstDayOfWeek()}function c(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"en";return i.default.localeData(t).months()}function p(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"L",r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"en";return(0,i.default)(t).locale(r).format(Array.isArray(e)?e[0]:e)}function d(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"L",r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"en",n=(0,i.default)(t,e,r,!0);if(n.isValid())return n.toDate()}e.default={formatDay:s,formatMonthTitle:a,formatWeekdayShort:u,formatWeekdayLong:f,getFirstDayOfWeek:l,getMonths:c,formatDate:p,parseDate:d}},QILm:function(t,e,r){var n=r("8OQS");t.exports=function(t,e){if(null==t)return{};var r,o,i=n(t,e);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(t);for(o=0;o=0||Object.prototype.propertyIsEnumerable.call(t,r)&&(i[r]=t[r])}return i},t.exports.__esModule=!0,t.exports.default=t.exports},bZMm:function(t,e){!function(t){"use strict";if(!t.fetch){var e="URLSearchParams"in t,r="Symbol"in t&&"iterator"in Symbol,n="FileReader"in t&&"Blob"in t&&function(){try{return new Blob,!0}catch(t){return!1}}(),o="FormData"in t,i="ArrayBuffer"in t;if(i)var s=["[object Int8Array]","[object Uint8Array]","[object Uint8ClampedArray]","[object Int16Array]","[object Uint16Array]","[object Int32Array]","[object Uint32Array]","[object Float32Array]","[object Float64Array]"],a=function(t){return t&&DataView.prototype.isPrototypeOf(t)},u=ArrayBuffer.isView||function(t){return t&&s.indexOf(Object.prototype.toString.call(t))>-1};h.prototype.append=function(t,e){t=c(t),e=p(e);var r=this.map[t];this.map[t]=r?r+","+e:e},h.prototype.delete=function(t){delete this.map[c(t)]},h.prototype.get=function(t){return t=c(t),this.has(t)?this.map[t]:null},h.prototype.has=function(t){return this.map.hasOwnProperty(c(t))},h.prototype.set=function(t,e){this.map[c(t)]=p(e)},h.prototype.forEach=function(t,e){for(var r in this.map)this.map.hasOwnProperty(r)&&t.call(e,this.map[r],r,this)},h.prototype.keys=function(){var t=[];return this.forEach((function(e,r){t.push(r)})),d(t)},h.prototype.values=function(){var t=[];return this.forEach((function(e){t.push(e)})),d(t)},h.prototype.entries=function(){var t=[];return this.forEach((function(e,r){t.push([r,e])})),d(t)},r&&(h.prototype[Symbol.iterator]=h.prototype.entries);var f=["DELETE","GET","HEAD","OPTIONS","POST","PUT"];v.prototype.clone=function(){return new v(this,{body:this._bodyInit})},g.call(v.prototype),g.call(_.prototype),_.prototype.clone=function(){return new _(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new h(this.headers),url:this.url})},_.error=function(){var t=new _(null,{status:0,statusText:""});return t.type="error",t};var l=[301,302,303,307,308];_.redirect=function(t,e){if(-1===l.indexOf(e))throw new RangeError("Invalid status code");return new _(null,{status:e,headers:{location:t}})},t.Headers=h,t.Request=v,t.Response=_,t.fetch=function(t,e){return new Promise((function(r,o){var i=new v(t,e),s=new XMLHttpRequest;s.onload=function(){var t,e,n={status:s.status,statusText:s.statusText,headers:(t=s.getAllResponseHeaders()||"",e=new h,t.replace(/\r?\n[\t ]+/g," ").split(/\r?\n/).forEach((function(t){var r=t.split(":"),n=r.shift().trim();if(n){var o=r.join(":").trim();e.append(n,o)}})),e)};n.url="responseURL"in s?s.responseURL:n.headers.get("X-Request-URL");var o="response"in s?s.response:s.responseText;r(new _(o,n))},s.onerror=function(){o(new TypeError("Network request failed"))},s.ontimeout=function(){o(new TypeError("Network request failed"))},s.open(i.method,i.url,!0),"include"===i.credentials?s.withCredentials=!0:"omit"===i.credentials&&(s.withCredentials=!1),"responseType"in s&&n&&(s.responseType="blob"),i.headers.forEach((function(t,e){s.setRequestHeader(e,t)})),s.send(void 0===i._bodyInit?null:i._bodyInit)}))},t.fetch.polyfill=!0}function c(t){if("string"!=typeof t&&(t=String(t)),/[^a-z0-9\-#$%&'*+.\^_`|~]/i.test(t))throw new TypeError("Invalid character in header field name");return t.toLowerCase()}function p(t){return"string"!=typeof t&&(t=String(t)),t}function d(t){var e={next:function(){var e=t.shift();return{done:void 0===e,value:e}}};return r&&(e[Symbol.iterator]=function(){return e}),e}function h(t){this.map={},t instanceof h?t.forEach((function(t,e){this.append(e,t)}),this):Array.isArray(t)?t.forEach((function(t){this.append(t[0],t[1])}),this):t&&Object.getOwnPropertyNames(t).forEach((function(e){this.append(e,t[e])}),this)}function y(t){if(t.bodyUsed)return Promise.reject(new TypeError("Already read"));t.bodyUsed=!0}function b(t){return new Promise((function(e,r){t.onload=function(){e(t.result)},t.onerror=function(){r(t.error)}}))}function m(t){var e=new FileReader,r=b(e);return e.readAsArrayBuffer(t),r}function w(t){if(t.slice)return t.slice(0);var e=new Uint8Array(t.byteLength);return e.set(new Uint8Array(t)),e.buffer}function g(){return this.bodyUsed=!1,this._initBody=function(t){if(this._bodyInit=t,t)if("string"==typeof t)this._bodyText=t;else if(n&&Blob.prototype.isPrototypeOf(t))this._bodyBlob=t;else if(o&&FormData.prototype.isPrototypeOf(t))this._bodyFormData=t;else if(e&&URLSearchParams.prototype.isPrototypeOf(t))this._bodyText=t.toString();else if(i&&n&&a(t))this._bodyArrayBuffer=w(t.buffer),this._bodyInit=new Blob([this._bodyArrayBuffer]);else{if(!i||!ArrayBuffer.prototype.isPrototypeOf(t)&&!u(t))throw new Error("unsupported BodyInit type");this._bodyArrayBuffer=w(t)}else this._bodyText="";this.headers.get("content-type")||("string"==typeof t?this.headers.set("content-type","text/plain;charset=UTF-8"):this._bodyBlob&&this._bodyBlob.type?this.headers.set("content-type",this._bodyBlob.type):e&&URLSearchParams.prototype.isPrototypeOf(t)&&this.headers.set("content-type","application/x-www-form-urlencoded;charset=UTF-8"))},n&&(this.blob=function(){var t=y(this);if(t)return t;if(this._bodyBlob)return Promise.resolve(this._bodyBlob);if(this._bodyArrayBuffer)return Promise.resolve(new Blob([this._bodyArrayBuffer]));if(this._bodyFormData)throw new Error("could not read FormData body as blob");return Promise.resolve(new Blob([this._bodyText]))},this.arrayBuffer=function(){return this._bodyArrayBuffer?y(this)||Promise.resolve(this._bodyArrayBuffer):this.blob().then(m)}),this.text=function(){var t,e,r,n=y(this);if(n)return n;if(this._bodyBlob)return t=this._bodyBlob,e=new FileReader,r=b(e),e.readAsText(t),r;if(this._bodyArrayBuffer)return Promise.resolve(function(t){for(var e=new Uint8Array(t),r=new Array(e.length),n=0;n-1?n:r),this.mode=e.mode||this.mode||null,this.referrer=null,("GET"===this.method||"HEAD"===this.method)&&o)throw new TypeError("Body not allowed for GET or HEAD requests");this._initBody(o)}function x(t){var e=new FormData;return t.trim().split("&").forEach((function(t){if(t){var r=t.split("="),n=r.shift().replace(/\+/g," "),o=r.join("=").replace(/\+/g," ");e.append(decodeURIComponent(n),decodeURIComponent(o))}})),e}function _(t,e){e||(e={}),this.type="default",this.status=void 0===e.status?200:e.status,this.ok=this.status>=200&&this.status<300,this.statusText="statusText"in e?e.statusText:"OK",this.headers=new h(e.headers),this.url=e.url||"",this._initBody(t)}}("undefined"!=typeof self?self:this)},cDf5:function(t,e){function r(e){return t.exports=r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},t.exports.__esModule=!0,t.exports.default=t.exports,r(e)}t.exports=r,t.exports.__esModule=!0,t.exports.default=t.exports},lSNA:function(t,e,r){var n=r("o5UB");t.exports=function(t,e,r){return(e=n(e))in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t},t.exports.__esModule=!0,t.exports.default=t.exports},o5UB:function(t,e,r){var n=r("cDf5").default,o=r("5Q0V");t.exports=function(t){var e=o(t,"string");return"symbol"===n(e)?e:String(e)},t.exports.__esModule=!0,t.exports.default=t.exports},pVnL:function(t,e){function r(){return t.exports=r=Object.assign?Object.assign.bind():function(t){for(var e=1;ee?t:e+1}t.exports=t.exports.default=function(t,e){return(t||"")+""+r+n().toString(36)+(e||"")},t.exports.process=function(t,e){return(t||"")+r+n().toString(36)+(e||"")},t.exports.time=function(t,e){return(t||"")+n().toString(36)+(e||"")}}).call(this,r("8oxB"))}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[1],{"1rrs":function(t,e,r){t.exports=r("FsYZ")},"4Z/T":function(t,e,r){!function(t){var r={not_string:/[^s]/,number:/[diefg]/,json:/[j]/,not_json:/[^j]/,text:/^[^\x25]+/,modulo:/^\x25{2}/,placeholder:/^\x25(?:([1-9]\d*)\$|\(([^\)]+)\))?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-gijosuxX])/,key:/^([a-z_][a-z_\d]*)/i,key_access:/^\.([a-z_][a-z_\d]*)/i,index_access:/^\[(\d+)\]/,sign:/^[\+\-]/};function n(){var t=arguments[0],e=n.cache;return e[t]&&e.hasOwnProperty(t)||(e[t]=n.parse(t)),n.format.call(null,e[t],arguments)}n.format=function(t,e){var i,s,a,u,f,l,c,p,d=1,h=t.length,y="",b=[],m=!0,w="";for(s=0;s=0),u[8]){case"b":i=i.toString(2);break;case"c":i=String.fromCharCode(i);break;case"d":case"i":i=parseInt(i,10);break;case"j":i=JSON.stringify(i,null,u[6]?parseInt(u[6]):0);break;case"e":i=u[7]?i.toExponential(u[7]):i.toExponential();break;case"f":i=u[7]?parseFloat(i).toFixed(u[7]):parseFloat(i);break;case"g":i=u[7]?parseFloat(i).toPrecision(u[7]):parseFloat(i);break;case"o":i=i.toString(8);break;case"s":i=(i=String(i))&&u[7]?i.substring(0,u[7]):i;break;case"u":i>>>=0;break;case"x":i=i.toString(16);break;case"X":i=i.toString(16).toUpperCase()}r.json.test(u[8])?b[b.length]=i:(!r.number.test(u[8])||m&&!u[3]?w="":(w=m?"+":"-",i=i.toString().replace(r.sign,"")),l=u[4]?"0"===u[4]?"0":u[4].charAt(1):" ",c=u[6]-(w+i).length,f=u[6]&&c>0?(p=l,Array(c+1).join(p)):"",b[b.length]=u[5]?w+i+f:"0"===l?w+f+i:f+w+i)}return b.join("")},n.cache={},n.parse=function(t){for(var e=t,n=[],o=[],i=0;e;){if(null!==(n=r.text.exec(e)))o[o.length]=n[0];else if(null!==(n=r.modulo.exec(e)))o[o.length]="%";else{if(null===(n=r.placeholder.exec(e)))throw new SyntaxError("[sprintf] unexpected placeholder");if(n[2]){i|=1;var s=[],a=n[2],u=[];if(null===(u=r.key.exec(a)))throw new SyntaxError("[sprintf] failed to parse named argument key");for(s[s.length]=u[1];""!==(a=a.substring(u[0].length));)if(null!==(u=r.key_access.exec(a)))s[s.length]=u[1];else{if(null===(u=r.index_access.exec(a)))throw new SyntaxError("[sprintf] failed to parse named argument key");s[s.length]=u[1]}n[2]=s}else i|=2;if(3===i)throw new Error("[sprintf] mixing positional and named placeholders is not (yet) supported");o[o.length]=n}e=e.substring(n[0].length)}return o};function o(t){return Object.prototype.toString.call(t).slice(8,-1).toLowerCase()}e.sprintf=n,e.vsprintf=function(t,e,r){return(r=(e||[]).slice(0)).splice(0,0,t),n.apply(null,r)}}("undefined"==typeof window||window)},"5Q0V":function(t,e,r){var n=r("cDf5").default;t.exports=function(t,e){if("object"!=n(t)||!t)return t;var r=t[Symbol.toPrimitive];if(void 0!==r){var o=r.call(t,e||"default");if("object"!=n(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(t)},t.exports.__esModule=!0,t.exports.default=t.exports},"8OQS":function(t,e){t.exports=function(t,e){if(null==t)return{};var r={};for(var n in t)if({}.hasOwnProperty.call(t,n)){if(e.includes(n))continue;r[n]=t[n]}return r},t.exports.__esModule=!0,t.exports.default=t.exports},"8oxB":function(t,e){var r,n,o=t.exports={};function i(){throw new Error("setTimeout has not been defined")}function s(){throw new Error("clearTimeout has not been defined")}function a(t){if(r===setTimeout)return setTimeout(t,0);if((r===i||!r)&&setTimeout)return r=setTimeout,setTimeout(t,0);try{return r(t,0)}catch(e){try{return r.call(null,t,0)}catch(e){return r.call(this,t,0)}}}!function(){try{r="function"==typeof setTimeout?setTimeout:i}catch(t){r=i}try{n="function"==typeof clearTimeout?clearTimeout:s}catch(t){n=s}}();var u,f=[],l=!1,c=-1;function p(){l&&u&&(l=!1,u.length?f=u.concat(f):c=-1,f.length&&d())}function d(){if(!l){var t=a(p);l=!0;for(var e=f.length;e;){for(u=f,f=[];++c1)for(var r=1;r1&&void 0!==arguments[1]?arguments[1]:"en";return(0,i.default)(t).locale(e).format("ddd ll")}function a(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"en";return(0,i.default)(t).locale(e).format("MMMM YYYY")}function u(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"en";return i.default.localeData(e).weekdaysMin()[t]}function f(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"en";return i.default.localeData(e).weekdays()[t]}function l(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"en";return i.default.localeData(t).firstDayOfWeek()}function c(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"en";return i.default.localeData(t).months()}function p(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"L",r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"en";return(0,i.default)(t).locale(r).format(Array.isArray(e)?e[0]:e)}function d(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"L",r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"en",n=(0,i.default)(t,e,r,!0);if(n.isValid())return n.toDate()}e.default={formatDay:s,formatMonthTitle:a,formatWeekdayShort:u,formatWeekdayLong:f,getFirstDayOfWeek:l,getMonths:c,formatDate:p,parseDate:d}},QILm:function(t,e,r){var n=r("8OQS");t.exports=function(t,e){if(null==t)return{};var r,o,i=n(t,e);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(t);for(o=0;o-1};h.prototype.append=function(t,e){t=c(t),e=p(e);var r=this.map[t];this.map[t]=r?r+","+e:e},h.prototype.delete=function(t){delete this.map[c(t)]},h.prototype.get=function(t){return t=c(t),this.has(t)?this.map[t]:null},h.prototype.has=function(t){return this.map.hasOwnProperty(c(t))},h.prototype.set=function(t,e){this.map[c(t)]=p(e)},h.prototype.forEach=function(t,e){for(var r in this.map)this.map.hasOwnProperty(r)&&t.call(e,this.map[r],r,this)},h.prototype.keys=function(){var t=[];return this.forEach((function(e,r){t.push(r)})),d(t)},h.prototype.values=function(){var t=[];return this.forEach((function(e){t.push(e)})),d(t)},h.prototype.entries=function(){var t=[];return this.forEach((function(e,r){t.push([r,e])})),d(t)},r&&(h.prototype[Symbol.iterator]=h.prototype.entries);var f=["DELETE","GET","HEAD","OPTIONS","POST","PUT"];v.prototype.clone=function(){return new v(this,{body:this._bodyInit})},g.call(v.prototype),g.call(_.prototype),_.prototype.clone=function(){return new _(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new h(this.headers),url:this.url})},_.error=function(){var t=new _(null,{status:0,statusText:""});return t.type="error",t};var l=[301,302,303,307,308];_.redirect=function(t,e){if(-1===l.indexOf(e))throw new RangeError("Invalid status code");return new _(null,{status:e,headers:{location:t}})},t.Headers=h,t.Request=v,t.Response=_,t.fetch=function(t,e){return new Promise((function(r,o){var i=new v(t,e),s=new XMLHttpRequest;s.onload=function(){var t,e,n={status:s.status,statusText:s.statusText,headers:(t=s.getAllResponseHeaders()||"",e=new h,t.replace(/\r?\n[\t ]+/g," ").split(/\r?\n/).forEach((function(t){var r=t.split(":"),n=r.shift().trim();if(n){var o=r.join(":").trim();e.append(n,o)}})),e)};n.url="responseURL"in s?s.responseURL:n.headers.get("X-Request-URL");var o="response"in s?s.response:s.responseText;r(new _(o,n))},s.onerror=function(){o(new TypeError("Network request failed"))},s.ontimeout=function(){o(new TypeError("Network request failed"))},s.open(i.method,i.url,!0),"include"===i.credentials?s.withCredentials=!0:"omit"===i.credentials&&(s.withCredentials=!1),"responseType"in s&&n&&(s.responseType="blob"),i.headers.forEach((function(t,e){s.setRequestHeader(e,t)})),s.send(void 0===i._bodyInit?null:i._bodyInit)}))},t.fetch.polyfill=!0}function c(t){if("string"!=typeof t&&(t=String(t)),/[^a-z0-9\-#$%&'*+.\^_`|~]/i.test(t))throw new TypeError("Invalid character in header field name");return t.toLowerCase()}function p(t){return"string"!=typeof t&&(t=String(t)),t}function d(t){var e={next:function(){var e=t.shift();return{done:void 0===e,value:e}}};return r&&(e[Symbol.iterator]=function(){return e}),e}function h(t){this.map={},t instanceof h?t.forEach((function(t,e){this.append(e,t)}),this):Array.isArray(t)?t.forEach((function(t){this.append(t[0],t[1])}),this):t&&Object.getOwnPropertyNames(t).forEach((function(e){this.append(e,t[e])}),this)}function y(t){if(t.bodyUsed)return Promise.reject(new TypeError("Already read"));t.bodyUsed=!0}function b(t){return new Promise((function(e,r){t.onload=function(){e(t.result)},t.onerror=function(){r(t.error)}}))}function m(t){var e=new FileReader,r=b(e);return e.readAsArrayBuffer(t),r}function w(t){if(t.slice)return t.slice(0);var e=new Uint8Array(t.byteLength);return e.set(new Uint8Array(t)),e.buffer}function g(){return this.bodyUsed=!1,this._initBody=function(t){if(this._bodyInit=t,t)if("string"==typeof t)this._bodyText=t;else if(n&&Blob.prototype.isPrototypeOf(t))this._bodyBlob=t;else if(o&&FormData.prototype.isPrototypeOf(t))this._bodyFormData=t;else if(e&&URLSearchParams.prototype.isPrototypeOf(t))this._bodyText=t.toString();else if(i&&n&&a(t))this._bodyArrayBuffer=w(t.buffer),this._bodyInit=new Blob([this._bodyArrayBuffer]);else{if(!i||!ArrayBuffer.prototype.isPrototypeOf(t)&&!u(t))throw new Error("unsupported BodyInit type");this._bodyArrayBuffer=w(t)}else this._bodyText="";this.headers.get("content-type")||("string"==typeof t?this.headers.set("content-type","text/plain;charset=UTF-8"):this._bodyBlob&&this._bodyBlob.type?this.headers.set("content-type",this._bodyBlob.type):e&&URLSearchParams.prototype.isPrototypeOf(t)&&this.headers.set("content-type","application/x-www-form-urlencoded;charset=UTF-8"))},n&&(this.blob=function(){var t=y(this);if(t)return t;if(this._bodyBlob)return Promise.resolve(this._bodyBlob);if(this._bodyArrayBuffer)return Promise.resolve(new Blob([this._bodyArrayBuffer]));if(this._bodyFormData)throw new Error("could not read FormData body as blob");return Promise.resolve(new Blob([this._bodyText]))},this.arrayBuffer=function(){return this._bodyArrayBuffer?y(this)||Promise.resolve(this._bodyArrayBuffer):this.blob().then(m)}),this.text=function(){var t,e,r,n=y(this);if(n)return n;if(this._bodyBlob)return t=this._bodyBlob,e=new FileReader,r=b(e),e.readAsText(t),r;if(this._bodyArrayBuffer)return Promise.resolve(function(t){for(var e=new Uint8Array(t),r=new Array(e.length),n=0;n-1?n:r),this.mode=e.mode||this.mode||null,this.referrer=null,("GET"===this.method||"HEAD"===this.method)&&o)throw new TypeError("Body not allowed for GET or HEAD requests");this._initBody(o)}function x(t){var e=new FormData;return t.trim().split("&").forEach((function(t){if(t){var r=t.split("="),n=r.shift().replace(/\+/g," "),o=r.join("=").replace(/\+/g," ");e.append(decodeURIComponent(n),decodeURIComponent(o))}})),e}function _(t,e){e||(e={}),this.type="default",this.status=void 0===e.status?200:e.status,this.ok=this.status>=200&&this.status<300,this.statusText="statusText"in e?e.statusText:"OK",this.headers=new h(e.headers),this.url=e.url||"",this._initBody(t)}}("undefined"!=typeof self?self:this)},cDf5:function(t,e){function r(e){return t.exports=r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},t.exports.__esModule=!0,t.exports.default=t.exports,r(e)}t.exports=r,t.exports.__esModule=!0,t.exports.default=t.exports},lSNA:function(t,e,r){var n=r("o5UB");t.exports=function(t,e,r){return(e=n(e))in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t},t.exports.__esModule=!0,t.exports.default=t.exports},o5UB:function(t,e,r){var n=r("cDf5").default,o=r("5Q0V");t.exports=function(t){var e=o(t,"string");return"symbol"==n(e)?e:e+""},t.exports.__esModule=!0,t.exports.default=t.exports},pVnL:function(t,e){function r(){return t.exports=r=Object.assign?Object.assign.bind():function(t){for(var e=1;ee?t:e+1}t.exports=t.exports.default=function(t,e){return(t||"")+""+r+n().toString(36)+(e||"")},t.exports.process=function(t,e){return(t||"")+r+n().toString(36)+(e||"")},t.exports.time=function(t,e){return(t||"")+n().toString(36)+(e||"")}}).call(this,r("8oxB"))}}]); \ No newline at end of file diff --git a/wp-content/plugins/events-calendar-pro/src/resources/js/app/widgets.min.js b/wp-content/plugins/events-calendar-pro/src/resources/js/app/widgets.min.js index 5c557fab2..af3c6a50f 100644 --- a/wp-content/plugins/events-calendar-pro/src/resources/js/app/widgets.min.js +++ b/wp-content/plugins/events-calendar-pro/src/resources/js/app/widgets.min.js @@ -1 +1 @@ -var tribe="object"==typeof tribe?tribe:{};tribe["events-pro"]=tribe["events-pro"]||{},tribe["events-pro"].widgets=function(e){var t={};function n(r){if(t[r])return t[r].exports;var a=t[r]={i:r,l:!1,exports:{}};return e[r].call(a.exports,a,a.exports,n),a.l=!0,a.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var a in e)n.d(r,a,function(t){return e[t]}.bind(null,a));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s="664k")}({"3eHH":function(e,t,n){},"664k":function(e,t,n){"use strict";n.r(t);var r=n("cDcd"),a=n.n(r);const{InnerBlocks:l}=wp.blockEditor,o=[["core/legacy-widget",{idBase:"tribe-widget-events-month",instance:{}}]];var i=()=>wp.element.createElement("div",{className:"tribe-editor-mini-calendar-block"},wp.element.createElement(l,{template:o,templateLock:"all"}));Object.assign;Object.assign;Object.assign;Object.assign;var c=Object.assign||function(e){for(var t=1;t{let{styles:t={}}=e,n=function(e,t){var n={};for(var r in e)t.indexOf(r)>=0||Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r]);return n}(e,["styles"]);return a.a.createElement("svg",c({width:"33",height:"26",viewBox:"0 0 33 26",fill:"none",xmlns:"http://www.w3.org/2000/svg"},n),a.a.createElement("g",{filter:"url(#a)"},a.a.createElement("rect",{x:"4.32",y:"4.298",width:"24",height:"13.557",rx:"2",fill:"#499FD1"}),a.a.createElement("path",{stroke:"#fff",strokeWidth:"2",strokeLinecap:"round",d:"M8.511 13.193h.084M12.257 13.193h.085M16.004 13.193h.084M19.75 13.193h.085M23.497 13.193h.084"}),a.a.createElement("path",{stroke:"#499FD1",strokeWidth:"4",strokeLinecap:"round",d:"M10.844 2.464v2.203M21.043 2.464v2.203"}),a.a.createElement("path",{stroke:"#fff",strokeWidth:"2",strokeLinecap:"round",d:"M8.681 9.193h15.278"})),a.a.createElement("defs",null,a.a.createElement("filter",{id:"a",x:".32",y:".464",width:"32",height:"25.391",filterUnits:"userSpaceOnUse",colorInterpolationFilters:"sRGB"},a.a.createElement("feFlood",{floodOpacity:"0",result:"BackgroundImageFix"}),a.a.createElement("feColorMatrix",{in:"SourceAlpha",values:"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0",result:"hardAlpha"}),a.a.createElement("feOffset",{dy:"4"}),a.a.createElement("feGaussianBlur",{stdDeviation:"2"}),a.a.createElement("feComposite",{in2:"hardAlpha",operator:"out"}),a.a.createElement("feColorMatrix",{values:"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.25 0"}),a.a.createElement("feBlend",{in2:"BackgroundImageFix",result:"effect1_dropShadow_4079:11034"}),a.a.createElement("feBlend",{in:"SourceGraphic",in2:"effect1_dropShadow_4079:11034",result:"shape"}))))},null),category:"tribe-events",keywords:["event","events-gutenberg","tribe"],example:{},edit:i,save:()=>wp.element.createElement("div",{className:"tribe-mini-calendar-block"},wp.element.createElement(u.Content,null))};const{InnerBlocks:v}=wp.blockEditor,m=[["core/legacy-widget",{idBase:"tribe-widget-event-countdown",instance:{}}]];var b=()=>wp.element.createElement("div",{className:"tribe-editor-events-countdown-block"},wp.element.createElement(v,{template:m,templateLock:"all"}));n("3eHH");const{__:w}=wp.i18n,{InnerBlocks:h}=wp.blockEditor;var g={id:"events-countdown",title:w("Events Countdown","tribe-events-calendar-pro"),description:w("Displays the time remaining until a specified event.","tribe-events-calendar-pro"),icon:wp.element.createElement(e=>{let{styles:t={}}=e,n=function(e,t){var n={};for(var r in e)t.indexOf(r)>=0||Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r]);return n}(e,["styles"]);return a.a.createElement("svg",s({width:"24",height:"36",viewBox:"0 0 24 36",fill:"none",xmlns:"http://www.w3.org/2000/svg"},n),a.a.createElement("path",{d:"M10.424 15.685c.77-1.333 2.694-1.333 3.464 0l6.418 11.116c.77 1.333-.193 3-1.733 3H5.738c-1.54 0-2.501-1.667-1.732-3l6.418-11.116z",fill:"#499FD1"}),a.a.createElement("path",{d:"M13.888 20.473c-.77 1.333-2.694 1.333-3.464 0L4.006 9.357c-.77-1.333.193-3 1.732-3h12.835c1.54 0 2.502 1.667 1.732 3l-6.417 11.116z",fill:"#499FD1"}),a.a.createElement("path",{d:"M11.29 19.263a1 1 0 0 1 1.732 0l4.076 7.061a1 1 0 0 1-.866 1.5H8.08a1 1 0 0 1-.866-1.5l4.077-7.06z",fill:"#fff"}),a.a.createElement("path",{d:"M13.022 18.47a1 1 0 0 1-1.732 0l-1.423-2.463a1 1 0 0 1 .866-1.5h2.845a1 1 0 0 1 .866 1.5l-1.422 2.463z",fill:"#fff"}),a.a.createElement("path",{d:"M10.925 19.875c.563-.688.235-1.662 0-2.063h2.454c-.488.8-.204 1.709 0 2.063h-2.454z",fill:"#fff"}))},null),category:"tribe-events",keywords:["event","events-gutenberg","tribe"],example:{},edit:b,save:()=>wp.element.createElement("div",{className:"tribe-events-countdown-block"},wp.element.createElement(h.Content,null))};const{InnerBlocks:y}=wp.blockEditor,E=[["core/legacy-widget",{idBase:"tribe-widget-featured-venue",instance:{}}]];var k=()=>wp.element.createElement("div",{className:"tribe-editor-events-featured-venue"},wp.element.createElement(y,{template:E,templateLock:"all"}));const{__:O}=wp.i18n,{InnerBlocks:x}=wp.blockEditor;var j={id:"events-featured-venue",title:O("Events Featured Venue","tribe-events-calendar-pro"),description:O("Displays a list of upcoming events at a specific venue.","tribe-events-calendar-pro"),icon:wp.element.createElement(e=>{let{styles:t={}}=e,n=function(e,t){var n={};for(var r in e)t.indexOf(r)>=0||Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r]);return n}(e,["styles"]);return a.a.createElement("svg",d({width:"20",height:"23",viewBox:"0 0 20 23",fill:"none",xmlns:"http://www.w3.org/2000/svg"},n),a.a.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M.446 2.328a2 2 0 0 1 2-2h15.2a2 2 0 0 1 2 2v18.32c0 1.586-1.757 2.54-3.088 1.678l-5.32-3.448a2 2 0 0 0-2.157-.012l-5.566 3.52c-1.331.843-3.069-.114-3.069-1.69V2.328z",fill:"#499FD1"}))},null),category:"tribe-events",keywords:["event","events-gutenberg","tribe"],example:{},edit:k,save:()=>wp.element.createElement("div",{className:"tribe-events-featured-venue-block"},wp.element.createElement(x.Content,null))};n("o8Pa");const{registerBlockType:M}=wp.blocks,B=[f,g,j];B.forEach(e=>{const t="tribe/"+e.id;M(t,e)});t.default=B},cDcd:function(e,t){e.exports=React},o8Pa:function(e,t,n){}}); \ No newline at end of file +var tribe="object"==typeof tribe?tribe:{};tribe["events-pro"]=tribe["events-pro"]||{},tribe["events-pro"].widgets=function(e){var t={};function n(r){if(t[r])return t[r].exports;var a=t[r]={i:r,l:!1,exports:{}};return e[r].call(a.exports,a,a.exports,n),a.l=!0,a.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var a in e)n.d(r,a,function(t){return e[t]}.bind(null,a));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s="664k")}({"3eHH":function(e,t,n){},"664k":function(e,t,n){"use strict";n.r(t);var r=n("cDcd"),a=n.n(r);const{InnerBlocks:l}=wp.blockEditor,o=[["core/legacy-widget",{idBase:"tribe-widget-events-month",instance:{}}]];var i=()=>wp.element.createElement("div",{className:"tribe-editor-mini-calendar-block"},wp.element.createElement(l,{template:o,templateLock:"all"}));Object.assign;Object.assign;Object.assign;Object.assign;var c=Object.assign||function(e){for(var t=1;t{let{styles:t={}}=e,n=function(e,t){var n={};for(var r in e)t.indexOf(r)>=0||Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r]);return n}(e,["styles"]);return a.a.createElement("svg",c({width:"33",height:"26",viewBox:"0 0 33 26",fill:"none",xmlns:"http://www.w3.org/2000/svg"},n),a.a.createElement("g",{filter:"url(#a)"},a.a.createElement("rect",{x:"4.32",y:"4.298",width:"24",height:"13.557",rx:"2",fill:"#499FD1"}),a.a.createElement("path",{stroke:"#fff",strokeWidth:"2",strokeLinecap:"round",d:"M8.511 13.193h.084M12.257 13.193h.085M16.004 13.193h.084M19.75 13.193h.085M23.497 13.193h.084"}),a.a.createElement("path",{stroke:"#499FD1",strokeWidth:"4",strokeLinecap:"round",d:"M10.844 2.464v2.203M21.043 2.464v2.203"}),a.a.createElement("path",{stroke:"#fff",strokeWidth:"2",strokeLinecap:"round",d:"M8.681 9.193h15.278"})),a.a.createElement("defs",null,a.a.createElement("filter",{id:"a",x:".32",y:".464",width:"32",height:"25.391",filterUnits:"userSpaceOnUse",colorInterpolationFilters:"sRGB"},a.a.createElement("feFlood",{floodOpacity:"0",result:"BackgroundImageFix"}),a.a.createElement("feColorMatrix",{in:"SourceAlpha",values:"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0",result:"hardAlpha"}),a.a.createElement("feOffset",{dy:"4"}),a.a.createElement("feGaussianBlur",{stdDeviation:"2"}),a.a.createElement("feComposite",{in2:"hardAlpha",operator:"out"}),a.a.createElement("feColorMatrix",{values:"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.25 0"}),a.a.createElement("feBlend",{in2:"BackgroundImageFix",result:"effect1_dropShadow_4079:11034"}),a.a.createElement("feBlend",{in:"SourceGraphic",in2:"effect1_dropShadow_4079:11034",result:"shape"}))))},null),category:"tribe-events",keywords:["event","events-gutenberg","tribe"],example:{},edit:i,save:()=>wp.element.createElement("div",{className:"tribe-mini-calendar-block"},wp.element.createElement(u.Content,null))};const{InnerBlocks:v}=wp.blockEditor,m=[["core/legacy-widget",{idBase:"tribe-widget-event-countdown",instance:{}}]];var b=()=>wp.element.createElement("div",{className:"tribe-editor-events-countdown-block"},wp.element.createElement(v,{template:m,templateLock:"all"}));n("3eHH");const{__:w}=wp.i18n,{InnerBlocks:h}=wp.blockEditor;var g={id:"events-countdown",title:w("Events Countdown","tribe-events-calendar-pro"),description:w("Displays the time remaining until a specified event.","tribe-events-calendar-pro"),icon:wp.element.createElement(e=>{let{styles:t={}}=e,n=function(e,t){var n={};for(var r in e)t.indexOf(r)>=0||Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r]);return n}(e,["styles"]);return a.a.createElement("svg",s({width:"24",height:"36",viewBox:"0 0 24 36",fill:"none",xmlns:"http://www.w3.org/2000/svg"},n),a.a.createElement("path",{d:"M10.424 15.685c.77-1.333 2.694-1.333 3.464 0l6.418 11.116c.77 1.333-.193 3-1.733 3H5.738c-1.54 0-2.501-1.667-1.732-3l6.418-11.116z",fill:"#499FD1"}),a.a.createElement("path",{d:"M13.888 20.473c-.77 1.333-2.694 1.333-3.464 0L4.006 9.357c-.77-1.333.193-3 1.732-3h12.835c1.54 0 2.502 1.667 1.732 3l-6.417 11.116z",fill:"#499FD1"}),a.a.createElement("path",{d:"M11.29 19.263a1 1 0 0 1 1.732 0l4.076 7.061a1 1 0 0 1-.866 1.5H8.08a1 1 0 0 1-.866-1.5l4.077-7.06z",fill:"#fff"}),a.a.createElement("path",{d:"M13.022 18.47a1 1 0 0 1-1.732 0l-1.423-2.463a1 1 0 0 1 .866-1.5h2.845a1 1 0 0 1 .866 1.5l-1.422 2.463z",fill:"#fff"}),a.a.createElement("path",{d:"M10.925 19.875c.563-.688.235-1.662 0-2.063h2.454c-.488.8-.204 1.709 0 2.063h-2.454z",fill:"#fff"}))},null),category:"tribe-events",keywords:["event","events-gutenberg","tribe"],example:{},edit:b,save:()=>wp.element.createElement("div",{className:"tribe-events-countdown-block"},wp.element.createElement(h.Content,null))};const{InnerBlocks:y}=wp.blockEditor,E=[["core/legacy-widget",{idBase:"tribe-widget-featured-venue",instance:{}}]];var k=()=>wp.element.createElement("div",{className:"tribe-editor-events-featured-venue"},wp.element.createElement(y,{template:E,templateLock:"all"}));const{__:O}=wp.i18n,{InnerBlocks:x}=wp.blockEditor;var j={id:"events-featured-venue",title:O("Events Featured Venue","tribe-events-calendar-pro"),description:O("Displays a list of upcoming events at a specific venue.","tribe-events-calendar-pro"),icon:wp.element.createElement(e=>{let{styles:t={}}=e,n=function(e,t){var n={};for(var r in e)t.indexOf(r)>=0||Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r]);return n}(e,["styles"]);return a.a.createElement("svg",d({width:"20",height:"23",viewBox:"0 0 20 23",fill:"none",xmlns:"http://www.w3.org/2000/svg"},n),a.a.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M.446 2.328a2 2 0 0 1 2-2h15.2a2 2 0 0 1 2 2v18.32c0 1.586-1.757 2.54-3.088 1.678l-5.32-3.448a2 2 0 0 0-2.157-.012l-5.566 3.52c-1.331.843-3.069-.114-3.069-1.69V2.328z",fill:"#499FD1"}))},null),category:"tribe-events",keywords:["event","events-gutenberg","tribe"],example:{},edit:k,save:()=>wp.element.createElement("div",{className:"tribe-events-featured-venue-block"},wp.element.createElement(x.Content,null))};n("o8Pa");const{registerBlockType:M}=wp.blocks,B=[f,g,j];B.forEach(e=>{const t="tribe/"+e.id;M(t,e)});t.default=B},cDcd:function(e,t){e.exports=React},o8Pa:function(e,t,n){}}); \ No newline at end of file diff --git a/wp-content/plugins/events-calendar-pro/src/resources/js/blocks/calendar-embed/block.json b/wp-content/plugins/events-calendar-pro/src/resources/js/blocks/calendar-embed/block.json new file mode 100644 index 000000000..30094c9fb --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/resources/js/blocks/calendar-embed/block.json @@ -0,0 +1,102 @@ +{ + "$schema": "https://schemas.wp.org/trunk/block.json", + "apiVersion": 3, + "name": "tec/calendar-embed", + "version": "0.1.0", + "title": "Calendar Embed", + "category": "tribe-events", + "supports": { + "html": true + }, + "editorStyle": "file:./index.css", + "attributes": { + "view": { + "type": "string", + "default": "month" + }, + "events_per_page": { + "type": "integer", + "default": 12 + }, + "month_events_per_day": { + "type": "integer", + "default": 3 + }, + "category": { + "type": "string", + "default": "" + }, + "exclude_category": { + "type": "string", + "default": "" + }, + "tag": { + "type": "string", + "default": "" + }, + "tax_operand": { + "type": "string", + "default": "OR" + }, + "date": { + "type": "string", + "default": "" + }, + "keyword": { + "type": "string", + "default": "" + }, + "exclude_tag": { + "type": "string", + "default": "" + }, + "featured": { + "type": "boolean", + "default": false + }, + "past": { + "type": "boolean", + "default": false + }, + "tribe_bar": { + "type": "boolean", + "default": true + }, + "filter_bar": { + "type": "boolean", + "default": false + }, + "author": { + "type": "integer", + "default": "" + }, + "organizer": { + "type": "integer", + "default": "" + }, + "venue": { + "type": "integer", + "default": "" + }, + "isPreview": { + "type": "boolean", + "default": false + } + }, + "example": { + "attributes": { + "view": "month", + "events_per_page": 1, + "isPreview": true + }, + "viewportWidth": 850 + }, + "textdomain": "events-calendar-pro", + "editorScript": "file:./index.js", + "keywords": [ + "events", + "calendar", + "dates" + ], + "render": "file:./render.php" +} \ No newline at end of file diff --git a/wp-content/plugins/events-calendar-pro/src/resources/js/blocks/calendar-embed/index.asset.php b/wp-content/plugins/events-calendar-pro/src/resources/js/blocks/calendar-embed/index.asset.php new file mode 100644 index 000000000..136fd2b43 --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/resources/js/blocks/calendar-embed/index.asset.php @@ -0,0 +1 @@ + array('react', 'wp-block-editor', 'wp-blocks', 'wp-components', 'wp-data', 'wp-hooks', 'wp-i18n'), 'version' => 'c1d6c09b451008f6c56d'); diff --git a/wp-content/plugins/events-calendar-pro/src/resources/js/blocks/calendar-embed/index.js b/wp-content/plugins/events-calendar-pro/src/resources/js/blocks/calendar-embed/index.js new file mode 100644 index 000000000..b2bac2bcf --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/resources/js/blocks/calendar-embed/index.js @@ -0,0 +1 @@ +(()=>{var e={302:function(e){e.exports=function(){"use strict";const e="5.1.5",t="[iFrameSizer]",n=Object.freeze({max:1,scroll:1,bodyScroll:1,documentElementScroll:1}),r=(e,t,n,r)=>e.addEventListener(t,n,r||!1),i=(e,t,n)=>e.removeEventListener(t,n,!1),s="[iframe-resizer]",o=(e,t,...n)=>window?.console[e]((e=>`${s}[${function(e){return window.top===window.self?`Parent page: ${e}`:window?.parentIFrame?.getId?`${window.parentIFrame.getId()}: ${e}`:`Nested parent page: ${e}`}(e)}]`)(t),...n),a=(e,...t)=>o("warn",e,...t),l=(e,t)=>console?.warn((e=>t=>window.chrome?e(t.replaceAll("
                            ","\n").replaceAll("","").replaceAll("","").replaceAll("","").replaceAll("","").replaceAll("","")):e(t.replaceAll("
                            ","\n").replaceAll(/<[/a-z]+>/gi,"")))((e=>(...t)=>[`${s}[${e}]`,...t].join(" "))(e))(t)),c=e=>{if(!e)return"";let t=-559038744,n=1103547984;for(let r,i=0;i>>15,1935289751),n^=Math.imul(n^t>>>15,3405138345),t^=n>>>16,n^=t>>>16,(2097152*(n>>>0)+(t>>>11)).toString(36)},u=e=>e.replaceAll(/[A-Za-z]/g,(e=>String.fromCodePoint((e<="Z"?90:122)>=(e=e.codePointAt(0)+19)?e:e-26))),d=["Puchspk Spjluzl Rlf","Tpzzpun Spjluzl Rlf","Aopz spiyhyf pz hchpshisl dpao ivao Jvttlyjphs huk Vwlu-Zvbyjl spjluzlz.Jvttlyjphs SpjluzlMvy jvttlyjphs bzl,

                            pmyhtl-ylzpgly ylxbpylz h svd jvza vul aptl spjluzl mll. Mvy tvyl pumvythapvu cpzpa oaawz://pmyhtl-ylzpgly.jvt/wypjpun.Vwlu Zvbyjl SpjluzlPm fvb hyl bzpun aopz spiyhyf pu h uvu-jvttlyjphs vwlu zvbyjl wyvqlja aolu fvb jhu bzl pa mvy myll bukly aol alytz vm aol NWS C3 Spjluzl. Av jvumpyt fvb hjjlwa aolzl alytz, wslhzl zla aol spjluzl rlf pu

                            pmyhtl-ylzpgly vwapvuz av NWSc3.Mvy tvyl pumvythapvu wslhzl zll: oaawz://pmyhtl-ylzpgly.jvt/nws","NWSc3 Spjluzl ClyzpvuAopz clyzpvu vm

                            pmyhtl-ylzpgly pz ilpun bzlk bukly aol alytz vm aol NWS C3 spjluzl. Aopz spjluzl hssvdz fvb av bzl

                            pmyhtl-ylzpgly pu Vwlu Zvbyjl wyvqljaz, iba pa ylxbpylz fvby wyvqlja av il wbispj, wyvcpkl haaypibapvu huk il spjluzlk bukly clyzpvu 3 vy shaly vm aol NUB Nlulyhs Wbispj Spjluzl.Pm fvb hyl bzpun aopz spiyhyf pu h uvu-vwlu zvbyjl wyvqlja vy dlizpal, fvb dpss ullk av wbyjohzl h svd jvza vul aptl jvttlyjphs spjluzl.Mvy tvyl pumvythapvu cpzpa oaawz://pmyhtl-ylzpgly.jvt/wypjpun."],h=["NWSc3","zvsv","wyv","ibzpulzz","vlt"],p=Object.fromEntries(["2cgs7fdf4xb","1c9ctcccr4z","1q2pc4eebgb","ueokt0969w","w2zxchhgqz","1umuxblj2e5"].map(((e,t)=>[e,Math.max(0,t-1)]))),f=e=>u(d[e]),m=e=>{const t=e[u("spjluzl")];if(!t)return-1;const n=t.split("-");let r=function(e=""){let t=-2;const n=c(u(e));return n in p&&(t=p[n]),t}(n[0]);return 0===r||(e=>e[2]===c(e[0]+e[1]))(n)||(r=-2),r},y={},b=Object.freeze({autoResize:!0,bodyBackground:null,bodyMargin:null,bodyPadding:null,checkOrigin:!0,direction:"vertical",inPageLinks:!1,heightCalculationMethod:"auto",id:"iFrameResizer",log:!1,license:void 0,mouseEvents:!0,offsetHeight:null,offsetWidth:null,postMessageTarget:null,sameDomain:!1,scrolling:!1,sizeHeight:!0,sizeWidth:!1,warningTimeout:5e3,tolerance:0,waitForLoad:!1,widthCalculationMethod:"auto",onClose:()=>!0,onClosed(){},onInit:!1,onMessage:null,onMouseEnter(){},onMouseLeave(){},onReady:e=>{"function"==typeof y[e.id].onInit&&(l(e.id,"\nDeprecated Option\n\nThe onInit() function is deprecated and has been replaced with onReady(). It will be removed in a future version of iFrame Resizer.\n "),y[e.id].onInit(e))},onResized(){},onScroll:()=>!0}),v={position:null,version:e};function g(n){function s(){O(D),S(),q("onResized",D)}function o(e){return"border-box"!==e.boxSizing?0:(e.paddingTop?parseInt(e.paddingTop,10):0)+(e.paddingBottom?parseInt(e.paddingBottom,10):0)}function c(e){return"border-box"!==e.boxSizing?0:(e.borderTopWidth?parseInt(e.borderTopWidth,10):0)+(e.borderBottomWidth?parseInt(e.borderBottomWidth,10):0)}function u(e){return I.slice(I.indexOf(":")+7+e)}const d=(e,t)=>(n,r)=>{const i={};var s,o;s=function(){k(`Send ${e} (${n})`,`${e}:${t()}`,r)},i[o=r]||(s(),i[o]=requestAnimationFrame((()=>{i[o]=null})))},h=(e,t)=>()=>{const n=t=>()=>{y[a]?e(t,a):o()};function s(e,t){t(window,"scroll",n("scroll")),t(window,"resize",n("resize window"))}function o(){s(0,i),l.disconnect(),c.disconnect()}const a=Q,l=new ResizeObserver(n("page observed")),c=new ResizeObserver(n("iframe observed"));s(0,r),l.observe(document.body,{attributes:!0,childList:!0,subtree:!0}),c.observe(y[a].iframe,{attributes:!0,childList:!1,subtree:!1}),y[a]&&(y[a][`stop${t}`]=o)},p=e=>()=>{e in y[Q]&&(y[Q][e](),delete y[Q][e])},f=d("pageInfo",(function(){const e=document.body.getBoundingClientRect(),t=D.iframe.getBoundingClientRect(),{scrollY:n,scrollX:r,innerHeight:i,innerWidth:s}=window,{clientHeight:o,clientWidth:a}=document.documentElement;return JSON.stringify({iframeHeight:t.height,iframeWidth:t.width,clientHeight:Math.max(o,i||0),clientWidth:Math.max(a,s||0),offsetTop:parseInt(t.top-e.top,10),offsetLeft:parseInt(t.left-e.left,10),scrollTop:n,scrollLeft:r,documentHeight:o,documentWidth:a,windowHeight:i,windowWidth:s})})),m=d("parentInfo",(function(){const{iframe:e}=D,{scrollWidth:t,scrollHeight:n}=document.documentElement,{width:r,height:i,offsetLeft:s,offsetTop:o,pageLeft:a,pageTop:l,scale:c}=window.visualViewport;return JSON.stringify({iframe:e.getBoundingClientRect(),document:{scrollWidth:t,scrollHeight:n},viewport:{width:r,height:i,offsetLeft:s,offsetTop:o,pageLeft:a,pageTop:l,scale:c}})})),b=h(f,"PageInfo"),g=h(m,"ParentInfo"),E=p("stopPageInfo"),z=p("stopParentInfo");function T(e){const t=e.getBoundingClientRect();return x(),{x:Number(t.left)+Number(v.position.x),y:Number(t.top)+Number(v.position.y)}}function A(e){const t=e?T(D.iframe):{x:0,y:0};let n=((e,t)=>({x:e.width+t.x,y:e.height+t.y}))(D,t);window.top===window.self?(v.position=n,M(Q)):window.parentIFrame?window.parentIFrame["scrollTo"+(e?"Offset":"")](n.x,n.y):a(Q,"Unable to scroll to requested position, window.parentIFrame not found")}function M(e){const{x:t,y:n}=v.position,r=y[e]?.iframe;!1!==q("onScroll",{iframe:r,top:n,left:t,x:t,y:n})?S():C()}function j(e){let t={};if(0===D.width&&0===D.height){const e=u(9).split(":");t={x:e[1],y:e[0]}}else t={x:D.width,y:D.height};q(e,{iframe:D.iframe,screenX:Number(t.x),screenY:Number(t.y),type:D.type})}const q=(e,t)=>w(Q,e,t);let I=n.data,D={},Q=null;"[iFrameResizerChild]Ready"!==I?t===`${I}`.slice(0,13)&&I.slice(13).split(":")[0]in y&&(D=function(){const e=I.slice(13).split(":"),t=e[1]?Number(e[1]):0,n=y[e[0]]?.iframe,r=getComputedStyle(n);return{iframe:n,id:e[0],height:t+o(r)+c(r),width:Number(e[2]),type:e[3],msg:e[4]}}(),Q=D.id,Q?(function(e){if(!y[e])throw new Error(`${D.type} No settings for ${e}. Message was: ${I}`)}(Q),D.type in{true:1,false:1,undefined:1}||(y[Q].loaded=!0,function(){let e=!0;return null===D.iframe&&(a(Q,`The iframe (${D.id}) was not found.`),e=!1),e}()&&function(){const{origin:e,sameDomain:t}=n;if(t)return!0;let r=y[Q]?.checkOrigin;if(r&&"null"!=`${e}`&&!(r.constructor===Array?function(){let t=0,n=!1;for(;tLegacy version detected in iframe\n\nDetected legacy version of child page script. It is recommended to update the page in the iframe to use @iframe-resizer/child.\n\nSee https://iframe-resizer.com/setup/#child-page-setup for more details.\n")),F=!0,q("onReady",D.iframe);break;default:if(0===D.width&&0===D.height)return void a(`Unsupported message received (${D.type}), this is likely due to the iframe containing a later version of iframe-resizer than the parent page`);if(0===D.width||0===D.height)return;if(document.hidden)return;s()}var t,n}())):a("iframeResizer received messageData without id, message was: ",I)):Object.keys(y).forEach((e=>{y[e].mode>=0&&k("iFrame requested init",P(e),e)}))}function w(e,t,n){let r=null,i=null;if(y[e]){if(r=y[e][t],"function"!=typeof r)throw new TypeError(`${t} on iFrame[${e}] is not a function`);i=r(n)}return i}function E(e){const t=e.id;delete y[t]}function _(e){const t=e.id;if(!1!==w(t,"onClose",t)){try{e.parentNode&&e.remove()}catch(e){a(e)}w(t,"onClosed",t),E(e)}}function x(e){null===v.position&&(v.position={x:window.scrollX,y:window.scrollY})}function C(){v.position=null}function S(e){null!==v.position&&(window.scrollTo(v.position.x,v.position.y),C())}function R(e){x(e.id),O(e),k("reset","reset",e.id)}function O(e){const t=e.id;function n(t){const n=`${e[t]}px`;e.iframe.style[t]=n}y[t].sizeHeight&&n("height"),y[t].sizeWidth&&n("width")}function k(e,n,r,i){y[r]&&(y[r]?.postMessageTarget?function(){const{postMessageTarget:e,targetOrigin:i}=y[r];if(y[r].sameDomain)try{return void y[r].iframe.contentWindow.iframeChildListener(t+n)}catch(e){}e.postMessage(t+n,i)}():a(r,`[${e}] IFrame(${r}) not found`),i&&y[r]?.warningTimeout&&(y[r].msgTimeout=setTimeout((function(){void 0!==y[r]&&(y[r].loaded||y[r].loadErrorShown||(y[r].loadErrorShown=!0,l(r,`\nNo response from iFrame\n \nThe iframe (${r}) has not responded within ${y[r].warningTimeout/1e3} seconds. Check @iframe-resizer/child package has been loaded in the iframe.\n\nThis message can be ignored if everything is working, or you can set the warningTimeout option to a higher value or zero to suppress this warning.\n`)))}),y[r].warningTimeout)))}function P(e){const t=y[e];return[e,"8",t.sizeWidth,t.log,"32",!0,t.autoResize,t.bodyMargin,t.heightCalculationMethod,t.bodyBackground,t.bodyPadding,t.tolerance,t.inPageLinks,"child",t.widthCalculationMethod,t.mouseEvents,t.offsetHeight,t.offsetWidth,t.sizeHeight,t.license,v.version,t.mode].join(":")}let z=0,F=!1,T=!1;function A(){!1===document.hidden&&Object.keys(y).forEach((function(e){(e=>y[e]?.autoResize&&!y[e]?.firstRun)(e)&&k("Tab Visible","resize",e)}))}const M=(e=>{let t=!1;return function(){return t?void 0:(t=!0,Reflect.apply(e,this,arguments))}})((()=>{r(window,"message",g),r(document,"visibilitychange",A),window.iframeParentListener=e=>g({data:e,sameDomain:!0})}));return t=>i=>{function s(e){if(!e)return{};if("object"!=typeof e)throw new TypeError("Options is not an object");return("sizeWidth"in e||"sizeHeight"in e||"autoResize"in e)&&l(d,'Deprecated Option\n\nThe sizeWidth, sizeHeight and autoResize options have been replaced with new direction option which expects values of "vertical", "horizontal" or "horizontal".\n'),e}function c(e){const t=y[e]?.iframe?.title;return""===t||void 0===t}const d=function(e){if(e&&"string"!=typeof e)throw new TypeError("Invalid id for iFrame. Expected String");return""!==e&&e||(i.id=e=function(){let e=t?.id||b.id+z++;return null!==document.getElementById(e)&&(e+=z++),e}(),(t||{}).log),e}(i.id);return d in y&&"iFrameResizer"in i?a(d,"Ignored iFrame, already setup."):(function(e){var t,n;y[d]={iframe:i,firstRun:!0,remoteHost:i?.src.split("/").slice(0,3).join("/"),...b,...s(e),mode:m(e),syncTitle:c(d)},function(){if("horizontal"===y[d].direction)return y[d].sizeWidth=!0,void(y[d].sizeHeight=!1);if("none"===y[d].direction)return y[d].sizeWidth=!1,y[d].sizeHeight=!1,void(y[d].autoResize=!1);if("vertical"!==y[d].direction)throw new TypeError(d,`Direction value of "${y[d].direction}" is not valid`)}(),t=e?.offset,t&&("vertical"===y[d].direction?y[d].offsetHeight=t:y[d].offsetWidth=t),null===y[d].postMessageTarget&&(y[d].postMessageTarget=i.contentWindow),y[d].targetOrigin=!0===y[d].checkOrigin?""===(n=y[d].remoteHost)||null!==n.match(/^(about:blank|javascript:|file:\/\/)/)?"*":n:"*"}(t),function(){const{mode:t}=y[d];t<0&&l("Parent",`${f(t+2)}${f(2)}`),T||t<0||(T=!0,((e,...t)=>{o("info",e,...t)})(`v${e} (${(e=>u(h[e]))(t)})`),t<1&&l("Parent",f(3)))}(),M(),function(){switch(i.style.overflow=!1===y[d]?.scrolling?"hidden":"auto",y[d]?.scrolling){case"omit":break;case!0:i.scrolling="yes";break;case!1:i.scrolling="no";break;default:i.scrolling=y[d]?y[d].scrolling:"no"}}(),function(){const{bodyMargin:e}=y[d];"number"!=typeof e&&"0"!==e||(y[d].bodyMargin=`${e}px`)}(),function(e){const{id:t}=i;-1!==y[t].mode&&-2!==y[t].mode&&(r(i,"load",(function(){k("iFrame.onload",`${e}:${F}`,t,!0),function(){const e=y[d]?.firstRun,t=y[d]?.heightCalculationMethod in n;!e&&t&&R({iframe:i,height:0,width:0,type:"init"})}()})),!1===y[t].waitForLoad&&k("init",`${e}:${F}`,t,!0))}(P(d)),function(){if(y[d]){const e={close:_.bind(null,y[d].iframe),disconnect:E.bind(null,y[d].iframe),removeListeners(){l(d,"\nDeprecated Method Name\n\nThe emoveListeners() method has been renamed to isconnect().\n"),this.disconnect()},resize:k.bind(null,"Window resize","resize",d),moveToAnchor(e){k("Move to anchor",`moveToAnchor:${e}`,d)},sendMessage(e){k("Send Message",`message:${e=JSON.stringify(e)}`,d)}};y[d].iframe.iframeResizer=e,y[d].iframe.iFrameResizer=e}}()),i?.iFrameResizer}}()},574:()=>{console.warn("IFRAME-RESIZER 5\n\nThis package has been renamed @iframe-resizer/react. Please update your code to use the new package name to remove this message.\n\nAdditionally their are also now separate versions of iframe-resizer for VanillaJS, Vue, and jQuery.\n\nVersion 5 of iframe-resizer has been extensively rewritten to use modern browser APIs, which has enabled significantly better performance and greater accuracy in the detection of content resizing events.\n\nPlease see https://iframe-resizer.com/upgrade for more details.\n")},63:(e,t,n)=>{"use strict";var r=n(609),i="function"==typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t},s=r.useState,o=r.useEffect,a=r.useLayoutEffect,l=r.useDebugValue;function c(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!i(e,n)}catch(e){return!0}}var u="undefined"==typeof window||void 0===window.document||void 0===window.document.createElement?function(e,t){return t()}:function(e,t){var n=t(),r=s({inst:{value:n,getSnapshot:t}}),i=r[0].inst,u=r[1];return a((function(){i.value=n,i.getSnapshot=t,c(i)&&u({inst:i})}),[e,n,t]),o((function(){return c(i)&&u({inst:i}),e((function(){c(i)&&u({inst:i})}))}),[e]),l(n),n};t.useSyncExternalStore=void 0!==r.useSyncExternalStore?r.useSyncExternalStore:u},888:(e,t,n)=>{"use strict";e.exports=n(63)},771:e=>{"use strict";e.exports=function(){}},609:e=>{"use strict";e.exports=window.React}},t={};function n(r){var i=t[r];if(void 0!==i)return i.exports;var s=t[r]={exports:{}};return e[r].call(s.exports,s,s.exports,n),s.exports}n.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return n.d(t,{a:t}),t},n.d=(e,t)=>{for(var r in t)n.o(t,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{"use strict";const e=window.wp.blocks,t=window.wp.i18n,r=JSON.parse('{"$schema":"https://schemas.wp.org/trunk/block.json","apiVersion":3,"name":"tec/calendar-embed","version":"0.1.0","title":"Calendar Embed","category":"tribe-events","supports":{"html":true},"editorStyle":"file:./index.css","attributes":{"view":{"type":"string","default":"month"},"events_per_page":{"type":"integer","default":12},"month_events_per_day":{"type":"integer","default":3},"category":{"type":"string","default":""},"exclude_category":{"type":"string","default":""},"tag":{"type":"string","default":""},"tax_operand":{"type":"string","default":"OR"},"date":{"type":"string","default":""},"keyword":{"type":"string","default":""},"exclude_tag":{"type":"string","default":""},"featured":{"type":"boolean","default":false},"past":{"type":"boolean","default":false},"tribe_bar":{"type":"boolean","default":true},"filter_bar":{"type":"boolean","default":false},"author":{"type":"integer","default":""},"organizer":{"type":"integer","default":""},"venue":{"type":"integer","default":""},"isPreview":{"type":"boolean","default":false}},"example":{"attributes":{"view":"month","events_per_page":1,"isPreview":true},"viewportWidth":850},"textdomain":"events-calendar-pro","editorScript":"file:./index.js","keywords":["events","calendar","dates"],"render":"file:./render.php"}');var i=n(609),s=n.n(i);const o=window.wp.blockEditor,a=window.wp.components,l=window.wp.hooks;function c(e,t){e({events_per_page:t})}function u({attributes:e,setAttributes:n}){const{events_per_page:r}=e;return(0,i.useMemo)((()=>(0,i.createElement)(a.PanelRow,null,(0,i.createElement)("fieldset",null,(0,i.createElement)(a.TextControl,{label:(0,t._x)("Events Per Page","Label for the calendar embed events per page control","events-calendar-pro"),type:"number",value:r,min:1,max:200,onChange:e=>c(n,e),key:"events-per-page-number"})))),[r])}function d(e,t){e({view:t})}function h({attributes:e,setAttributes:n}){const{view:r}=e,s=function(){let e={};return"undefined"!=typeof tec_events_pro_calendar_embed_data&&tec_events_pro_calendar_embed_data.views&&(e=tec_events_pro_calendar_embed_data.views),e}(),o=Object.entries(s).map((([e,t])=>({value:e,label:t})));return(0,i.useMemo)((()=>(0,i.createElement)(a.PanelRow,null,(0,i.createElement)("fieldset",null,(0,i.createElement)(a.SelectControl,{label:(0,t._x)("View","Label for the calendar embed view control","events-calendar-pro"),value:r,options:o,onChange:e=>d(n,e),key:"view-select"})))),[r])}function p(e,t){const n=new Date(t);e({date:`${n.getFullYear()}-${`0${n.getMonth()+1}`.slice(-2)}-${`0${n.getDate()}`.slice(-2)}`})}function f({attributes:e,setAttributes:n}){const{date:r}=e,[s,o]=(0,i.useState)(!1),l=()=>o(!s),c=r?new Date(r):new Date;return(0,i.useMemo)((()=>(0,i.createElement)(a.PanelRow,null,(0,i.createElement)("fieldset",null,(0,i.createElement)(a.BaseControl,{label:(0,t._x)("Date","Label for the date control","events-calendar-pro"),__nextHasNoMarginBottom:!0},(0,i.createElement)(i.Fragment,null,(0,i.createElement)(a.TextControl,{value:r||"",placeholder:(0,t._x)("Select a date...","Placeholder for the date input","events-calendar-pro"),readOnly:!0,onClick:l,style:{cursor:"pointer",backgroundColor:"#ffffff"}}),s&&(0,i.createElement)(a.Popover,{position:"bottom center",onClose:l},(0,i.createElement)("div",{style:{padding:"8px"}},(0,i.createElement)(a.DatePicker,{currentDate:c,onChange:e=>{p(n,e),l()},key:"date-picker",__nextRemoveHelpButton:!0})),(0,i.createElement)(a.Button,{isSecondary:!0,isSmall:!0,style:{margin:"10px"},onClick:()=>{!function(e){e({date:""})}(n),l()}},(0,t._x)("Clear","Clear date input button","events-calendar-pro")))))))),[r,s])}function m(e,t){e({featured:t})}function y({attributes:e,setAttributes:n}){const{featured:r}=e;return(0,i.useMemo)((()=>(0,i.createElement)(a.PanelRow,null,(0,i.createElement)("fieldset",null,(0,i.createElement)(a.BaseControl,{label:(0,t._x)("Featured","Label for the featured control","events-calendar-pro"),__nextHasNoMarginBottom:!0},(0,i.createElement)(a.ToggleControl,{label:(0,t._x)("Enable to show only featured events.","Label for the featured toggle","events-calendar-pro"),help:r?(0,t._x)("Only featured events are showing.","Help text when the featured is true","events-calendar-pro"):(0,t._x)("All events are showing.","Help text when the featured toggle is false","events-calendar-pro"),checked:r,onChange:e=>m(n,e),key:"featured-toggle"}))))),[r])}function b(e,t){e({past:t})}function v({attributes:e,setAttributes:n}){const{past:r}=e;return(0,i.useMemo)((()=>(0,i.createElement)(a.PanelRow,null,(0,i.createElement)("fieldset",null,(0,i.createElement)(a.BaseControl,{label:(0,t._x)("Past Events","Label for the past event control","events-calendar-pro"),__nextHasNoMarginBottom:!0},(0,i.createElement)(a.ToggleControl,{label:(0,t._x)("Enable to show only past events.","Label for the past event toggle","events-calendar-pro"),help:r?(0,t._x)("Only past events is displaying.","Help text when past events are displayed","events-calendar-pro"):(0,t._x)("All events are being displayed.","Help text when past events are hidden","events-calendar-pro"),checked:r,onChange:e=>b(n,e),key:"past-toggle"}))))),[r])}function g(e,t){e({month_events_per_day:t})}function w({attributes:e,setAttributes:n}){const{month_events_per_day:r}=e;return(0,i.useMemo)((()=>(0,i.createElement)(a.PanelRow,null,(0,i.createElement)("fieldset",null,(0,i.createElement)(a.TextControl,{label:(0,t._x)("Month Events Per Page","Label for the calendar embed month events per page control","events-calendar-pro"),type:"number",value:r,min:1,max:200,onChange:e=>g(n,e),key:"month-events-per-page-number"})))),[r])}(0,l.addFilter)("tec-event-pro.calendar-embed.block-inspector-panel-rows.display","events-calendar-pro/calendar-embed/view-control",((e,t,n)=>[...e,{component:h,priority:10,props:{attributes:t,setAttributes:n,onChangeView:e=>d(n,e)}}])),(0,l.addFilter)("tec-event-pro.calendar-embed.block-inspector-panel-rows.display","events-calendar-pro/calendar-embed/date-control",((e,t,n)=>[...e,{component:f,priority:15,props:{attributes:t,setAttributes:n,onChangeDate:e=>p(n,e)}}])),(0,l.addFilter)("tec-event-pro.calendar-embed.block-inspector-panel-rows.display","events-calendar-pro/calendar-embed/featured-control",((e,t,n)=>[...e,{component:y,priority:20,props:{attributes:t,setAttributes:n,onChangeFeature:e=>m(n,e)}}])),(0,l.addFilter)("tec-event-pro.calendar-embed.block-inspector-panel-rows.display","events-calendar-pro/calendar-embed/past-control",((e,t,n)=>[...e,{component:v,priority:80,props:{attributes:t,setAttributes:n,onChangePast:e=>b(n,e)}}])),(0,l.addFilter)("tec-event-pro.calendar-embed.block-inspector-panel-rows.display","events-calendar-pro/calendar-embed/events-per-page-control",((e,t,n)=>[...e,{component:u,priority:90,props:{attributes:t,setAttributes:n,onChangeEventPerPage:e=>c(n,e)}}])),(0,l.addFilter)("tec-event-pro.calendar-embed.block-inspector-panel-rows.display","events-calendar-pro/calendar-embed/month-events-per-page-control",((e,t,n)=>[...e,{component:w,priority:95,props:{attributes:t,setAttributes:n,onChangeMonthEventsPerPage:e=>g(n,e)}}]));const E="undefined"==typeof window||"Deno"in window;function _(){}function x(e){return"number"==typeof e&&e>=0&&e!==1/0}function C(e,t){return Math.max(e+(t||0)-Date.now(),0)}function S(e,t,n){return D(e)?"function"==typeof t?{...n,queryKey:e,queryFn:t}:{...t,queryKey:e}:e}function R(e,t,n){return D(e)?[{...t,queryKey:e},n]:[e||{},t]}function O(e,t){const{type:n="all",exact:r,fetchStatus:i,predicate:s,queryKey:o,stale:a}=e;if(D(o))if(r){if(t.queryHash!==P(o,t.options))return!1}else if(!F(t.queryKey,o))return!1;if("all"!==n){const e=t.isActive();if("active"===n&&!e)return!1;if("inactive"===n&&e)return!1}return!("boolean"==typeof a&&t.isStale()!==a||void 0!==i&&i!==t.state.fetchStatus||s&&!s(t))}function k(e,t){const{exact:n,fetching:r,predicate:i,mutationKey:s}=e;if(D(s)){if(!t.options.mutationKey)return!1;if(n){if(z(t.options.mutationKey)!==z(s))return!1}else if(!F(t.options.mutationKey,s))return!1}return!("boolean"==typeof r&&"loading"===t.state.status!==r||i&&!i(t))}function P(e,t){return((null==t?void 0:t.queryKeyHashFn)||z)(e)}function z(e){return JSON.stringify(e,((e,t)=>q(t)?Object.keys(t).sort().reduce(((e,n)=>(e[n]=t[n],e)),{}):t))}function F(e,t){return T(e,t)}function T(e,t){return e===t||typeof e==typeof t&&!(!e||!t||"object"!=typeof e||"object"!=typeof t)&&!Object.keys(t).some((n=>!T(e[n],t[n])))}function A(e,t){if(e===t)return e;const n=j(e)&&j(t);if(n||q(e)&&q(t)){const r=n?e.length:Object.keys(e).length,i=n?t:Object.keys(t),s=i.length,o=n?[]:{};let a=0;for(let r=0;r{setTimeout(t,e)}))}function L(e){Q(0).then(e)}function N(e,t,n){return null!=n.isDataEqual&&n.isDataEqual(e,t)?e:"function"==typeof n.structuralSharing?n.structuralSharing(e,t):!1!==n.structuralSharing?A(e,t):t}const B=console,H=function(){let e=[],t=0,n=e=>{e()},r=e=>{e()};const i=r=>{t?e.push(r):L((()=>{n(r)}))};return{batch:i=>{let s;t++;try{s=i()}finally{t--,t||(()=>{const t=e;e=[],t.length&&L((()=>{r((()=>{t.forEach((e=>{n(e)}))}))}))})()}return s},batchCalls:e=>(...t)=>{i((()=>{e(...t)}))},schedule:i,setNotifyFunction:e=>{n=e},setBatchNotifyFunction:e=>{r=e}}}();class U{constructor(){this.listeners=new Set,this.subscribe=this.subscribe.bind(this)}subscribe(e){const t={listener:e};return this.listeners.add(t),this.onSubscribe(),()=>{this.listeners.delete(t),this.onUnsubscribe()}}hasListeners(){return this.listeners.size>0}onSubscribe(){}onUnsubscribe(){}}const $=new class extends U{constructor(){super(),this.setup=e=>{if(!E&&window.addEventListener){const t=()=>e();return window.addEventListener("visibilitychange",t,!1),window.addEventListener("focus",t,!1),()=>{window.removeEventListener("visibilitychange",t),window.removeEventListener("focus",t)}}}}onSubscribe(){this.cleanup||this.setEventListener(this.setup)}onUnsubscribe(){var e;this.hasListeners()||(null==(e=this.cleanup)||e.call(this),this.cleanup=void 0)}setEventListener(e){var t;this.setup=e,null==(t=this.cleanup)||t.call(this),this.cleanup=e((e=>{"boolean"==typeof e?this.setFocused(e):this.onFocus()}))}setFocused(e){this.focused!==e&&(this.focused=e,this.onFocus())}onFocus(){this.listeners.forEach((({listener:e})=>{e()}))}isFocused(){return"boolean"==typeof this.focused?this.focused:"undefined"==typeof document||[void 0,"visible","prerender"].includes(document.visibilityState)}},K=["online","offline"],W=new class extends U{constructor(){super(),this.setup=e=>{if(!E&&window.addEventListener){const t=()=>e();return K.forEach((e=>{window.addEventListener(e,t,!1)})),()=>{K.forEach((e=>{window.removeEventListener(e,t)}))}}}}onSubscribe(){this.cleanup||this.setEventListener(this.setup)}onUnsubscribe(){var e;this.hasListeners()||(null==(e=this.cleanup)||e.call(this),this.cleanup=void 0)}setEventListener(e){var t;this.setup=e,null==(t=this.cleanup)||t.call(this),this.cleanup=e((e=>{"boolean"==typeof e?this.setOnline(e):this.onOnline()}))}setOnline(e){this.online!==e&&(this.online=e,this.onOnline())}onOnline(){this.listeners.forEach((({listener:e})=>{e()}))}isOnline(){return"boolean"==typeof this.online?this.online:"undefined"==typeof navigator||void 0===navigator.onLine||navigator.onLine}};function V(e){return Math.min(1e3*2**e,3e4)}function G(e){return"online"!==(null!=e?e:"online")||W.isOnline()}class J{constructor(e){this.revert=null==e?void 0:e.revert,this.silent=null==e?void 0:e.silent}}function Z(e){return e instanceof J}function Y(e){let t,n,r,i=!1,s=0,o=!1;const a=new Promise(((e,t)=>{n=e,r=t})),l=()=>!$.isFocused()||"always"!==e.networkMode&&!W.isOnline(),c=r=>{o||(o=!0,null==e.onSuccess||e.onSuccess(r),null==t||t(),n(r))},u=n=>{o||(o=!0,null==e.onError||e.onError(n),null==t||t(),r(n))},d=()=>new Promise((n=>{t=e=>{const t=o||!l();return t&&n(e),t},null==e.onPause||e.onPause()})).then((()=>{t=void 0,o||null==e.onContinue||e.onContinue()})),h=()=>{if(o)return;let t;try{t=e.fn()}catch(e){t=Promise.reject(e)}Promise.resolve(t).then(c).catch((t=>{var n,r;if(o)return;const a=null!=(n=e.retry)?n:3,c=null!=(r=e.retryDelay)?r:V,p="function"==typeof c?c(s,t):c,f=!0===a||"number"==typeof a&&s{if(l())return d()})).then((()=>{i?u(t):h()}))):u(t)}))};return G(e.networkMode)?h():d().then(h),{promise:a,cancel:t=>{o||(u(new J(t)),null==e.abort||e.abort())},continue:()=>(null==t?void 0:t())?a:Promise.resolve(),cancelRetry:()=>{i=!0},continueRetry:()=>{i=!1}}}class X{destroy(){this.clearGcTimeout()}scheduleGc(){this.clearGcTimeout(),x(this.cacheTime)&&(this.gcTimeout=setTimeout((()=>{this.optionalRemove()}),this.cacheTime))}updateCacheTime(e){this.cacheTime=Math.max(this.cacheTime||0,null!=e?e:E?1/0:3e5)}clearGcTimeout(){this.gcTimeout&&(clearTimeout(this.gcTimeout),this.gcTimeout=void 0)}}class ee extends X{constructor(e){super(),this.abortSignalConsumed=!1,this.defaultOptions=e.defaultOptions,this.setOptions(e.options),this.observers=[],this.cache=e.cache,this.logger=e.logger||B,this.queryKey=e.queryKey,this.queryHash=e.queryHash,this.initialState=e.state||function(e){const t="function"==typeof e.initialData?e.initialData():e.initialData,n=void 0!==t,r=n?"function"==typeof e.initialDataUpdatedAt?e.initialDataUpdatedAt():e.initialDataUpdatedAt:0;return{data:t,dataUpdateCount:0,dataUpdatedAt:n?null!=r?r:Date.now():0,error:null,errorUpdateCount:0,errorUpdatedAt:0,fetchFailureCount:0,fetchFailureReason:null,fetchMeta:null,isInvalidated:!1,status:n?"success":"loading",fetchStatus:"idle"}}(this.options),this.state=this.initialState,this.scheduleGc()}get meta(){return this.options.meta}setOptions(e){this.options={...this.defaultOptions,...e},this.updateCacheTime(this.options.cacheTime)}optionalRemove(){this.observers.length||"idle"!==this.state.fetchStatus||this.cache.remove(this)}setData(e,t){const n=N(this.state.data,e,this.options);return this.dispatch({data:n,type:"success",dataUpdatedAt:null==t?void 0:t.updatedAt,manual:null==t?void 0:t.manual}),n}setState(e,t){this.dispatch({type:"setState",state:e,setStateOptions:t})}cancel(e){var t;const n=this.promise;return null==(t=this.retryer)||t.cancel(e),n?n.then(_).catch(_):Promise.resolve()}destroy(){super.destroy(),this.cancel({silent:!0})}reset(){this.destroy(),this.setState(this.initialState)}isActive(){return this.observers.some((e=>!1!==e.options.enabled))}isDisabled(){return this.getObserversCount()>0&&!this.isActive()}isStale(){return this.state.isInvalidated||!this.state.dataUpdatedAt||this.observers.some((e=>e.getCurrentResult().isStale))}isStaleByTime(e=0){return this.state.isInvalidated||!this.state.dataUpdatedAt||!C(this.state.dataUpdatedAt,e)}onFocus(){var e;const t=this.observers.find((e=>e.shouldFetchOnWindowFocus()));t&&t.refetch({cancelRefetch:!1}),null==(e=this.retryer)||e.continue()}onOnline(){var e;const t=this.observers.find((e=>e.shouldFetchOnReconnect()));t&&t.refetch({cancelRefetch:!1}),null==(e=this.retryer)||e.continue()}addObserver(e){this.observers.includes(e)||(this.observers.push(e),this.clearGcTimeout(),this.cache.notify({type:"observerAdded",query:this,observer:e}))}removeObserver(e){this.observers.includes(e)&&(this.observers=this.observers.filter((t=>t!==e)),this.observers.length||(this.retryer&&(this.abortSignalConsumed?this.retryer.cancel({revert:!0}):this.retryer.cancelRetry()),this.scheduleGc()),this.cache.notify({type:"observerRemoved",query:this,observer:e}))}getObserversCount(){return this.observers.length}invalidate(){this.state.isInvalidated||this.dispatch({type:"invalidate"})}fetch(e,t){var n,r;if("idle"!==this.state.fetchStatus)if(this.state.dataUpdatedAt&&null!=t&&t.cancelRefetch)this.cancel({silent:!0});else if(this.promise){var i;return null==(i=this.retryer)||i.continueRetry(),this.promise}if(e&&this.setOptions(e),!this.options.queryFn){const e=this.observers.find((e=>e.options.queryFn));e&&this.setOptions(e.options)}const s=function(){if("function"==typeof AbortController)return new AbortController}(),o={queryKey:this.queryKey,pageParam:void 0,meta:this.meta},a=e=>{Object.defineProperty(e,"signal",{enumerable:!0,get:()=>{if(s)return this.abortSignalConsumed=!0,s.signal}})};a(o);const l={fetchOptions:t,options:this.options,queryKey:this.queryKey,state:this.state,fetchFn:()=>this.options.queryFn?(this.abortSignalConsumed=!1,this.options.queryFn(o)):Promise.reject("Missing queryFn for queryKey '"+this.options.queryHash+"'")};var c;a(l),null==(n=this.options.behavior)||n.onFetch(l),this.revertState=this.state,("idle"===this.state.fetchStatus||this.state.fetchMeta!==(null==(r=l.fetchOptions)?void 0:r.meta))&&this.dispatch({type:"fetch",meta:null==(c=l.fetchOptions)?void 0:c.meta});const u=e=>{var t,n,r,i;Z(e)&&e.silent||this.dispatch({type:"error",error:e}),Z(e)||(null==(t=(n=this.cache.config).onError)||t.call(n,e,this),null==(r=(i=this.cache.config).onSettled)||r.call(i,this.state.data,e,this)),this.isFetchingOptimistic||this.scheduleGc(),this.isFetchingOptimistic=!1};return this.retryer=Y({fn:l.fetchFn,abort:null==s?void 0:s.abort.bind(s),onSuccess:e=>{var t,n,r,i;void 0!==e?(this.setData(e),null==(t=(n=this.cache.config).onSuccess)||t.call(n,e,this),null==(r=(i=this.cache.config).onSettled)||r.call(i,e,this.state.error,this),this.isFetchingOptimistic||this.scheduleGc(),this.isFetchingOptimistic=!1):u(new Error(this.queryHash+" data is undefined"))},onError:u,onFail:(e,t)=>{this.dispatch({type:"failed",failureCount:e,error:t})},onPause:()=>{this.dispatch({type:"pause"})},onContinue:()=>{this.dispatch({type:"continue"})},retry:l.options.retry,retryDelay:l.options.retryDelay,networkMode:l.options.networkMode}),this.promise=this.retryer.promise,this.promise}dispatch(e){this.state=(t=>{var n,r;switch(e.type){case"failed":return{...t,fetchFailureCount:e.failureCount,fetchFailureReason:e.error};case"pause":return{...t,fetchStatus:"paused"};case"continue":return{...t,fetchStatus:"fetching"};case"fetch":return{...t,fetchFailureCount:0,fetchFailureReason:null,fetchMeta:null!=(n=e.meta)?n:null,fetchStatus:G(this.options.networkMode)?"fetching":"paused",...!t.dataUpdatedAt&&{error:null,status:"loading"}};case"success":return{...t,data:e.data,dataUpdateCount:t.dataUpdateCount+1,dataUpdatedAt:null!=(r=e.dataUpdatedAt)?r:Date.now(),error:null,isInvalidated:!1,status:"success",...!e.manual&&{fetchStatus:"idle",fetchFailureCount:0,fetchFailureReason:null}};case"error":const i=e.error;return Z(i)&&i.revert&&this.revertState?{...this.revertState,fetchStatus:"idle"}:{...t,error:i,errorUpdateCount:t.errorUpdateCount+1,errorUpdatedAt:Date.now(),fetchFailureCount:t.fetchFailureCount+1,fetchFailureReason:i,fetchStatus:"idle",status:"error"};case"invalidate":return{...t,isInvalidated:!0};case"setState":return{...t,...e.state}}})(this.state),H.batch((()=>{this.observers.forEach((t=>{t.onQueryUpdate(e)})),this.cache.notify({query:this,type:"updated",action:e})}))}}class te extends U{constructor(e){super(),this.config=e||{},this.queries=[],this.queriesMap={}}build(e,t,n){var r;const i=t.queryKey,s=null!=(r=t.queryHash)?r:P(i,t);let o=this.get(s);return o||(o=new ee({cache:this,logger:e.getLogger(),queryKey:i,queryHash:s,options:e.defaultQueryOptions(t),state:n,defaultOptions:e.getQueryDefaults(i)}),this.add(o)),o}add(e){this.queriesMap[e.queryHash]||(this.queriesMap[e.queryHash]=e,this.queries.push(e),this.notify({type:"added",query:e}))}remove(e){const t=this.queriesMap[e.queryHash];t&&(e.destroy(),this.queries=this.queries.filter((t=>t!==e)),t===e&&delete this.queriesMap[e.queryHash],this.notify({type:"removed",query:e}))}clear(){H.batch((()=>{this.queries.forEach((e=>{this.remove(e)}))}))}get(e){return this.queriesMap[e]}getAll(){return this.queries}find(e,t){const[n]=R(e,t);return void 0===n.exact&&(n.exact=!0),this.queries.find((e=>O(n,e)))}findAll(e,t){const[n]=R(e,t);return Object.keys(n).length>0?this.queries.filter((e=>O(n,e))):this.queries}notify(e){H.batch((()=>{this.listeners.forEach((({listener:t})=>{t(e)}))}))}onFocus(){H.batch((()=>{this.queries.forEach((e=>{e.onFocus()}))}))}onOnline(){H.batch((()=>{this.queries.forEach((e=>{e.onOnline()}))}))}}class ne extends X{constructor(e){super(),this.defaultOptions=e.defaultOptions,this.mutationId=e.mutationId,this.mutationCache=e.mutationCache,this.logger=e.logger||B,this.observers=[],this.state=e.state||{context:void 0,data:void 0,error:null,failureCount:0,failureReason:null,isPaused:!1,status:"idle",variables:void 0},this.setOptions(e.options),this.scheduleGc()}setOptions(e){this.options={...this.defaultOptions,...e},this.updateCacheTime(this.options.cacheTime)}get meta(){return this.options.meta}setState(e){this.dispatch({type:"setState",state:e})}addObserver(e){this.observers.includes(e)||(this.observers.push(e),this.clearGcTimeout(),this.mutationCache.notify({type:"observerAdded",mutation:this,observer:e}))}removeObserver(e){this.observers=this.observers.filter((t=>t!==e)),this.scheduleGc(),this.mutationCache.notify({type:"observerRemoved",mutation:this,observer:e})}optionalRemove(){this.observers.length||("loading"===this.state.status?this.scheduleGc():this.mutationCache.remove(this))}continue(){var e,t;return null!=(e=null==(t=this.retryer)?void 0:t.continue())?e:this.execute()}async execute(){const e=()=>{var e;return this.retryer=Y({fn:()=>this.options.mutationFn?this.options.mutationFn(this.state.variables):Promise.reject("No mutationFn found"),onFail:(e,t)=>{this.dispatch({type:"failed",failureCount:e,error:t})},onPause:()=>{this.dispatch({type:"pause"})},onContinue:()=>{this.dispatch({type:"continue"})},retry:null!=(e=this.options.retry)?e:0,retryDelay:this.options.retryDelay,networkMode:this.options.networkMode}),this.retryer.promise},t="loading"===this.state.status;try{var n,r,i,s,o,a,l,c;if(!t){var u,d,h,p;this.dispatch({type:"loading",variables:this.options.variables}),await(null==(u=(d=this.mutationCache.config).onMutate)?void 0:u.call(d,this.state.variables,this));const e=await(null==(h=(p=this.options).onMutate)?void 0:h.call(p,this.state.variables));e!==this.state.context&&this.dispatch({type:"loading",context:e,variables:this.state.variables})}const f=await e();return await(null==(n=(r=this.mutationCache.config).onSuccess)?void 0:n.call(r,f,this.state.variables,this.state.context,this)),await(null==(i=(s=this.options).onSuccess)?void 0:i.call(s,f,this.state.variables,this.state.context)),await(null==(o=(a=this.mutationCache.config).onSettled)?void 0:o.call(a,f,null,this.state.variables,this.state.context,this)),await(null==(l=(c=this.options).onSettled)?void 0:l.call(c,f,null,this.state.variables,this.state.context)),this.dispatch({type:"success",data:f}),f}catch(e){try{var f,m,y,b,v,g,w,E;throw await(null==(f=(m=this.mutationCache.config).onError)?void 0:f.call(m,e,this.state.variables,this.state.context,this)),await(null==(y=(b=this.options).onError)?void 0:y.call(b,e,this.state.variables,this.state.context)),await(null==(v=(g=this.mutationCache.config).onSettled)?void 0:v.call(g,void 0,e,this.state.variables,this.state.context,this)),await(null==(w=(E=this.options).onSettled)?void 0:w.call(E,void 0,e,this.state.variables,this.state.context)),e}finally{this.dispatch({type:"error",error:e})}}}dispatch(e){this.state=(t=>{switch(e.type){case"failed":return{...t,failureCount:e.failureCount,failureReason:e.error};case"pause":return{...t,isPaused:!0};case"continue":return{...t,isPaused:!1};case"loading":return{...t,context:e.context,data:void 0,failureCount:0,failureReason:null,error:null,isPaused:!G(this.options.networkMode),status:"loading",variables:e.variables};case"success":return{...t,data:e.data,failureCount:0,failureReason:null,error:null,status:"success",isPaused:!1};case"error":return{...t,data:void 0,error:e.error,failureCount:t.failureCount+1,failureReason:e.error,isPaused:!1,status:"error"};case"setState":return{...t,...e.state}}})(this.state),H.batch((()=>{this.observers.forEach((t=>{t.onMutationUpdate(e)})),this.mutationCache.notify({mutation:this,type:"updated",action:e})}))}}class re extends U{constructor(e){super(),this.config=e||{},this.mutations=[],this.mutationId=0}build(e,t,n){const r=new ne({mutationCache:this,logger:e.getLogger(),mutationId:++this.mutationId,options:e.defaultMutationOptions(t),state:n,defaultOptions:t.mutationKey?e.getMutationDefaults(t.mutationKey):void 0});return this.add(r),r}add(e){this.mutations.push(e),this.notify({type:"added",mutation:e})}remove(e){this.mutations=this.mutations.filter((t=>t!==e)),this.notify({type:"removed",mutation:e})}clear(){H.batch((()=>{this.mutations.forEach((e=>{this.remove(e)}))}))}getAll(){return this.mutations}find(e){return void 0===e.exact&&(e.exact=!0),this.mutations.find((t=>k(e,t)))}findAll(e){return this.mutations.filter((t=>k(e,t)))}notify(e){H.batch((()=>{this.listeners.forEach((({listener:t})=>{t(e)}))}))}resumePausedMutations(){var e;return this.resuming=(null!=(e=this.resuming)?e:Promise.resolve()).then((()=>{const e=this.mutations.filter((e=>e.state.isPaused));return H.batch((()=>e.reduce(((e,t)=>e.then((()=>t.continue().catch(_)))),Promise.resolve())))})).then((()=>{this.resuming=void 0})),this.resuming}}function ie(e,t){return null==e.getNextPageParam?void 0:e.getNextPageParam(t[t.length-1],t)}class se{constructor(e={}){this.queryCache=e.queryCache||new te,this.mutationCache=e.mutationCache||new re,this.logger=e.logger||B,this.defaultOptions=e.defaultOptions||{},this.queryDefaults=[],this.mutationDefaults=[],this.mountCount=0}mount(){this.mountCount++,1===this.mountCount&&(this.unsubscribeFocus=$.subscribe((()=>{$.isFocused()&&(this.resumePausedMutations(),this.queryCache.onFocus())})),this.unsubscribeOnline=W.subscribe((()=>{W.isOnline()&&(this.resumePausedMutations(),this.queryCache.onOnline())})))}unmount(){var e,t;this.mountCount--,0===this.mountCount&&(null==(e=this.unsubscribeFocus)||e.call(this),this.unsubscribeFocus=void 0,null==(t=this.unsubscribeOnline)||t.call(this),this.unsubscribeOnline=void 0)}isFetching(e,t){const[n]=R(e,t);return n.fetchStatus="fetching",this.queryCache.findAll(n).length}isMutating(e){return this.mutationCache.findAll({...e,fetching:!0}).length}getQueryData(e,t){var n;return null==(n=this.queryCache.find(e,t))?void 0:n.state.data}ensureQueryData(e,t,n){const r=S(e,t,n),i=this.getQueryData(r.queryKey);return i?Promise.resolve(i):this.fetchQuery(r)}getQueriesData(e){return this.getQueryCache().findAll(e).map((({queryKey:e,state:t})=>[e,t.data]))}setQueryData(e,t,n){const r=this.queryCache.find(e),i=function(e,t){return"function"==typeof e?e(t):e}(t,null==r?void 0:r.state.data);if(void 0===i)return;const s=S(e),o=this.defaultQueryOptions(s);return this.queryCache.build(this,o).setData(i,{...n,manual:!0})}setQueriesData(e,t,n){return H.batch((()=>this.getQueryCache().findAll(e).map((({queryKey:e})=>[e,this.setQueryData(e,t,n)]))))}getQueryState(e,t){var n;return null==(n=this.queryCache.find(e,t))?void 0:n.state}removeQueries(e,t){const[n]=R(e,t),r=this.queryCache;H.batch((()=>{r.findAll(n).forEach((e=>{r.remove(e)}))}))}resetQueries(e,t,n){const[r,i]=R(e,t,n),s=this.queryCache,o={type:"active",...r};return H.batch((()=>(s.findAll(r).forEach((e=>{e.reset()})),this.refetchQueries(o,i))))}cancelQueries(e,t,n){const[r,i={}]=R(e,t,n);void 0===i.revert&&(i.revert=!0);const s=H.batch((()=>this.queryCache.findAll(r).map((e=>e.cancel(i)))));return Promise.all(s).then(_).catch(_)}invalidateQueries(e,t,n){const[r,i]=R(e,t,n);return H.batch((()=>{var e,t;if(this.queryCache.findAll(r).forEach((e=>{e.invalidate()})),"none"===r.refetchType)return Promise.resolve();const n={...r,type:null!=(e=null!=(t=r.refetchType)?t:r.type)?e:"active"};return this.refetchQueries(n,i)}))}refetchQueries(e,t,n){const[r,i]=R(e,t,n),s=H.batch((()=>this.queryCache.findAll(r).filter((e=>!e.isDisabled())).map((e=>{var t;return e.fetch(void 0,{...i,cancelRefetch:null==(t=null==i?void 0:i.cancelRefetch)||t,meta:{refetchPage:r.refetchPage}})}))));let o=Promise.all(s).then(_);return null!=i&&i.throwOnError||(o=o.catch(_)),o}fetchQuery(e,t,n){const r=S(e,t,n),i=this.defaultQueryOptions(r);void 0===i.retry&&(i.retry=!1);const s=this.queryCache.build(this,i);return s.isStaleByTime(i.staleTime)?s.fetch(i):Promise.resolve(s.state.data)}prefetchQuery(e,t,n){return this.fetchQuery(e,t,n).then(_).catch(_)}fetchInfiniteQuery(e,t,n){const r=S(e,t,n);return r.behavior={onFetch:e=>{e.fetchFn=()=>{var t,n,r,i,s,o;const a=null==(t=e.fetchOptions)||null==(n=t.meta)?void 0:n.refetchPage,l=null==(r=e.fetchOptions)||null==(i=r.meta)?void 0:i.fetchMore,c=null==l?void 0:l.pageParam,u="forward"===(null==l?void 0:l.direction),d="backward"===(null==l?void 0:l.direction),h=(null==(s=e.state.data)?void 0:s.pages)||[],p=(null==(o=e.state.data)?void 0:o.pageParams)||[];let f=p,m=!1;const y=e.options.queryFn||(()=>Promise.reject("Missing queryFn for queryKey '"+e.options.queryHash+"'")),b=(e,t,n,r)=>(f=r?[t,...f]:[...f,t],r?[n,...e]:[...e,n]),v=(t,n,r,i)=>{if(m)return Promise.reject("Cancelled");if(void 0===r&&!n&&t.length)return Promise.resolve(t);const s={queryKey:e.queryKey,pageParam:r,meta:e.options.meta};var o;o=s,Object.defineProperty(o,"signal",{enumerable:!0,get:()=>{var t,n;return null!=(t=e.signal)&&t.aborted?m=!0:null==(n=e.signal)||n.addEventListener("abort",(()=>{m=!0})),e.signal}});const a=y(s);return Promise.resolve(a).then((e=>b(t,r,e,i)))};let g;if(h.length)if(u){const t=void 0!==c,n=t?c:ie(e.options,h);g=v(h,t,n)}else if(d){const t=void 0!==c,n=t?c:(w=e.options,E=h,null==w.getPreviousPageParam?void 0:w.getPreviousPageParam(E[0],E));g=v(h,t,n,!0)}else{f=[];const t=void 0===e.options.getNextPageParam;g=a&&h[0]&&!a(h[0],0,h)?Promise.resolve(b([],p[0],h[0])):v([],t,p[0]);for(let n=1;n{if(!a||!h[n]||a(h[n],n,h)){const i=t?p[n]:ie(e.options,r);return v(r,t,i)}return Promise.resolve(b(r,p[n],h[n]))}))}else g=v([]);var w,E;return g.then((e=>({pages:e,pageParams:f})))}}},this.fetchQuery(r)}prefetchInfiniteQuery(e,t,n){return this.fetchInfiniteQuery(e,t,n).then(_).catch(_)}resumePausedMutations(){return this.mutationCache.resumePausedMutations()}getQueryCache(){return this.queryCache}getMutationCache(){return this.mutationCache}getLogger(){return this.logger}getDefaultOptions(){return this.defaultOptions}setDefaultOptions(e){this.defaultOptions=e}setQueryDefaults(e,t){const n=this.queryDefaults.find((t=>z(e)===z(t.queryKey)));n?n.defaultOptions=t:this.queryDefaults.push({queryKey:e,defaultOptions:t})}getQueryDefaults(e){if(!e)return;const t=this.queryDefaults.find((t=>F(e,t.queryKey)));return null==t?void 0:t.defaultOptions}setMutationDefaults(e,t){const n=this.mutationDefaults.find((t=>z(e)===z(t.mutationKey)));n?n.defaultOptions=t:this.mutationDefaults.push({mutationKey:e,defaultOptions:t})}getMutationDefaults(e){if(!e)return;const t=this.mutationDefaults.find((t=>F(e,t.mutationKey)));return null==t?void 0:t.defaultOptions}defaultQueryOptions(e){if(null!=e&&e._defaulted)return e;const t={...this.defaultOptions.queries,...this.getQueryDefaults(null==e?void 0:e.queryKey),...e,_defaulted:!0};return!t.queryHash&&t.queryKey&&(t.queryHash=P(t.queryKey,t)),void 0===t.refetchOnReconnect&&(t.refetchOnReconnect="always"!==t.networkMode),void 0===t.useErrorBoundary&&(t.useErrorBoundary=!!t.suspense),t}defaultMutationOptions(e){return null!=e&&e._defaulted?e:{...this.defaultOptions.mutations,...this.getMutationDefaults(null==e?void 0:e.mutationKey),...e,_defaulted:!0}}clear(){this.queryCache.clear(),this.mutationCache.clear()}}const oe=i.createContext(void 0),ae=i.createContext(!1);function le(e,t){return e||(t&&"undefined"!=typeof window?(window.ReactQueryClientContext||(window.ReactQueryClientContext=oe),window.ReactQueryClientContext):oe)}const ce=({client:e,children:t,context:n,contextSharing:r=!1})=>{i.useEffect((()=>(e.mount(),()=>{e.unmount()})),[e]);const s=le(n,r);return i.createElement(ae.Provider,{value:!n&&r},i.createElement(s.Provider,{value:e},t))};class ue extends U{constructor(e,t){super(),this.client=e,this.options=t,this.trackedProps=new Set,this.selectError=null,this.bindMethods(),this.setOptions(t)}bindMethods(){this.remove=this.remove.bind(this),this.refetch=this.refetch.bind(this)}onSubscribe(){1===this.listeners.size&&(this.currentQuery.addObserver(this),de(this.currentQuery,this.options)&&this.executeFetch(),this.updateTimers())}onUnsubscribe(){this.hasListeners()||this.destroy()}shouldFetchOnReconnect(){return he(this.currentQuery,this.options,this.options.refetchOnReconnect)}shouldFetchOnWindowFocus(){return he(this.currentQuery,this.options,this.options.refetchOnWindowFocus)}destroy(){this.listeners=new Set,this.clearStaleTimeout(),this.clearRefetchInterval(),this.currentQuery.removeObserver(this)}setOptions(e,t){const n=this.options,r=this.currentQuery;if(this.options=this.client.defaultQueryOptions(e),M(n,this.options)||this.client.getQueryCache().notify({type:"observerOptionsUpdated",query:this.currentQuery,observer:this}),void 0!==this.options.enabled&&"boolean"!=typeof this.options.enabled)throw new Error("Expected enabled to be a boolean");this.options.queryKey||(this.options.queryKey=n.queryKey),this.updateQuery();const i=this.hasListeners();i&&pe(this.currentQuery,r,this.options,n)&&this.executeFetch(),this.updateResult(t),!i||this.currentQuery===r&&this.options.enabled===n.enabled&&this.options.staleTime===n.staleTime||this.updateStaleTimeout();const s=this.computeRefetchInterval();!i||this.currentQuery===r&&this.options.enabled===n.enabled&&s===this.currentRefetchInterval||this.updateRefetchInterval(s)}getOptimisticResult(e){const t=this.client.getQueryCache().build(this.client,e),n=this.createResult(t,e);return function(e,t,n){return!n.keepPreviousData&&(void 0!==n.placeholderData?t.isPlaceholderData:!M(e.getCurrentResult(),t))}(this,n,e)&&(this.currentResult=n,this.currentResultOptions=this.options,this.currentResultState=this.currentQuery.state),n}getCurrentResult(){return this.currentResult}trackResult(e){const t={};return Object.keys(e).forEach((n=>{Object.defineProperty(t,n,{configurable:!1,enumerable:!0,get:()=>(this.trackedProps.add(n),e[n])})})),t}getCurrentQuery(){return this.currentQuery}remove(){this.client.getQueryCache().remove(this.currentQuery)}refetch({refetchPage:e,...t}={}){return this.fetch({...t,meta:{refetchPage:e}})}fetchOptimistic(e){const t=this.client.defaultQueryOptions(e),n=this.client.getQueryCache().build(this.client,t);return n.isFetchingOptimistic=!0,n.fetch().then((()=>this.createResult(n,t)))}fetch(e){var t;return this.executeFetch({...e,cancelRefetch:null==(t=e.cancelRefetch)||t}).then((()=>(this.updateResult(),this.currentResult)))}executeFetch(e){this.updateQuery();let t=this.currentQuery.fetch(this.options,e);return null!=e&&e.throwOnError||(t=t.catch(_)),t}updateStaleTimeout(){if(this.clearStaleTimeout(),E||this.currentResult.isStale||!x(this.options.staleTime))return;const e=C(this.currentResult.dataUpdatedAt,this.options.staleTime)+1;this.staleTimeoutId=setTimeout((()=>{this.currentResult.isStale||this.updateResult()}),e)}computeRefetchInterval(){var e;return"function"==typeof this.options.refetchInterval?this.options.refetchInterval(this.currentResult.data,this.currentQuery):null!=(e=this.options.refetchInterval)&&e}updateRefetchInterval(e){this.clearRefetchInterval(),this.currentRefetchInterval=e,!E&&!1!==this.options.enabled&&x(this.currentRefetchInterval)&&0!==this.currentRefetchInterval&&(this.refetchIntervalId=setInterval((()=>{(this.options.refetchIntervalInBackground||$.isFocused())&&this.executeFetch()}),this.currentRefetchInterval))}updateTimers(){this.updateStaleTimeout(),this.updateRefetchInterval(this.computeRefetchInterval())}clearStaleTimeout(){this.staleTimeoutId&&(clearTimeout(this.staleTimeoutId),this.staleTimeoutId=void 0)}clearRefetchInterval(){this.refetchIntervalId&&(clearInterval(this.refetchIntervalId),this.refetchIntervalId=void 0)}createResult(e,t){const n=this.currentQuery,r=this.options,i=this.currentResult,s=this.currentResultState,o=this.currentResultOptions,a=e!==n,l=a?e.state:this.currentQueryInitialState,c=a?this.currentResult:this.previousQueryResult,{state:u}=e;let d,{dataUpdatedAt:h,error:p,errorUpdatedAt:f,fetchStatus:m,status:y}=u,b=!1,v=!1;if(t._optimisticResults){const i=this.hasListeners(),s=!i&&de(e,t),o=i&&pe(e,n,t,r);(s||o)&&(m=G(e.options.networkMode)?"fetching":"paused",h||(y="loading")),"isRestoring"===t._optimisticResults&&(m="idle")}if(t.keepPreviousData&&!u.dataUpdatedAt&&null!=c&&c.isSuccess&&"error"!==y)d=c.data,h=c.dataUpdatedAt,y=c.status,b=!0;else if(t.select&&void 0!==u.data)if(i&&u.data===(null==s?void 0:s.data)&&t.select===this.selectFn)d=this.selectResult;else try{this.selectFn=t.select,d=t.select(u.data),d=N(null==i?void 0:i.data,d,t),this.selectResult=d,this.selectError=null}catch(e){this.selectError=e}else d=u.data;if(void 0!==t.placeholderData&&void 0===d&&"loading"===y){let e;if(null!=i&&i.isPlaceholderData&&t.placeholderData===(null==o?void 0:o.placeholderData))e=i.data;else if(e="function"==typeof t.placeholderData?t.placeholderData():t.placeholderData,t.select&&void 0!==e)try{e=t.select(e),this.selectError=null}catch(e){this.selectError=e}void 0!==e&&(y="success",d=N(null==i?void 0:i.data,e,t),v=!0)}this.selectError&&(p=this.selectError,d=this.selectResult,f=Date.now(),y="error");const g="fetching"===m,w="loading"===y,E="error"===y;return{status:y,fetchStatus:m,isLoading:w,isSuccess:"success"===y,isError:E,isInitialLoading:w&&g,data:d,dataUpdatedAt:h,error:p,errorUpdatedAt:f,failureCount:u.fetchFailureCount,failureReason:u.fetchFailureReason,errorUpdateCount:u.errorUpdateCount,isFetched:u.dataUpdateCount>0||u.errorUpdateCount>0,isFetchedAfterMount:u.dataUpdateCount>l.dataUpdateCount||u.errorUpdateCount>l.errorUpdateCount,isFetching:g,isRefetching:g&&!w,isLoadingError:E&&0===u.dataUpdatedAt,isPaused:"paused"===m,isPlaceholderData:v,isPreviousData:b,isRefetchError:E&&0!==u.dataUpdatedAt,isStale:fe(e,t),refetch:this.refetch,remove:this.remove}}updateResult(e){const t=this.currentResult,n=this.createResult(this.currentQuery,this.options);if(this.currentResultState=this.currentQuery.state,this.currentResultOptions=this.options,M(n,t))return;this.currentResult=n;const r={cache:!0};!1!==(null==e?void 0:e.listeners)&&(()=>{if(!t)return!0;const{notifyOnChangeProps:e}=this.options,n="function"==typeof e?e():e;if("all"===n||!n&&!this.trackedProps.size)return!0;const r=new Set(null!=n?n:this.trackedProps);return this.options.useErrorBoundary&&r.add("error"),Object.keys(this.currentResult).some((e=>{const n=e;return this.currentResult[n]!==t[n]&&r.has(n)}))})()&&(r.listeners=!0),this.notify({...r,...e})}updateQuery(){const e=this.client.getQueryCache().build(this.client,this.options);if(e===this.currentQuery)return;const t=this.currentQuery;this.currentQuery=e,this.currentQueryInitialState=e.state,this.previousQueryResult=this.currentResult,this.hasListeners()&&(null==t||t.removeObserver(this),e.addObserver(this))}onQueryUpdate(e){const t={};"success"===e.type?t.onSuccess=!e.manual:"error"!==e.type||Z(e.error)||(t.onError=!0),this.updateResult(t),this.hasListeners()&&this.updateTimers()}notify(e){H.batch((()=>{var t,n,r,i;if(e.onSuccess)null==(t=(n=this.options).onSuccess)||t.call(n,this.currentResult.data),null==(r=(i=this.options).onSettled)||r.call(i,this.currentResult.data,null);else if(e.onError){var s,o,a,l;null==(s=(o=this.options).onError)||s.call(o,this.currentResult.error),null==(a=(l=this.options).onSettled)||a.call(l,void 0,this.currentResult.error)}e.listeners&&this.listeners.forEach((({listener:e})=>{e(this.currentResult)})),e.cache&&this.client.getQueryCache().notify({query:this.currentQuery,type:"observerResultsUpdated"})}))}}function de(e,t){return function(e,t){return!(!1===t.enabled||e.state.dataUpdatedAt||"error"===e.state.status&&!1===t.retryOnMount)}(e,t)||e.state.dataUpdatedAt>0&&he(e,t,t.refetchOnMount)}function he(e,t,n){if(!1!==t.enabled){const r="function"==typeof n?n(e):n;return"always"===r||!1!==r&&fe(e,t)}return!1}function pe(e,t,n,r){return!1!==n.enabled&&(e!==t||!1===r.enabled)&&(!n.suspense||"error"!==e.state.status)&&fe(e,n)}function fe(e,t){return e.isStaleByTime(t.staleTime)}const me=n(888).useSyncExternalStore;const ye=i.createContext(function(){let e=!1;return{clearReset:()=>{e=!1},reset:()=>{e=!0},isReset:()=>e}}()),be=i.createContext(!1);function ve(e,t,n){return function(e,t){const n=(({context:e}={})=>{const t=i.useContext(le(e,i.useContext(ae)));if(!t)throw new Error("No QueryClient set, use QueryClientProvider to set one");return t})({context:e.context}),r=i.useContext(be),s=i.useContext(ye),o=n.defaultQueryOptions(e);o._optimisticResults=r?"isRestoring":"optimistic",o.onError&&(o.onError=H.batchCalls(o.onError)),o.onSuccess&&(o.onSuccess=H.batchCalls(o.onSuccess)),o.onSettled&&(o.onSettled=H.batchCalls(o.onSettled)),(e=>{e.suspense&&"number"!=typeof e.staleTime&&(e.staleTime=1e3)})(o),((e,t)=>{(e.suspense||e.useErrorBoundary)&&(t.isReset()||(e.retryOnMount=!1))})(o,s),(e=>{i.useEffect((()=>{e.clearReset()}),[e])})(s);const[a]=i.useState((()=>new t(n,o))),l=a.getOptimisticResult(o);if(me(i.useCallback((e=>{const t=r?()=>{}:a.subscribe(H.batchCalls(e));return a.updateResult(),t}),[a,r]),(()=>a.getCurrentResult()),(()=>a.getCurrentResult())),i.useEffect((()=>{a.setOptions(o,{listeners:!1})}),[o,a]),((e,t,n)=>(null==e?void 0:e.suspense)&&((e,t)=>e.isLoading&&e.isFetching&&!t)(t,n))(o,l,r))throw((e,t,n)=>t.fetchOptimistic(e).then((({data:t})=>{null==e.onSuccess||e.onSuccess(t),null==e.onSettled||e.onSettled(t,null)})).catch((t=>{n.clearReset(),null==e.onError||e.onError(t),null==e.onSettled||e.onSettled(void 0,t)})))(o,a,s);if((({result:e,errorResetBoundary:t,useErrorBoundary:n,query:r})=>{return e.isError&&!t.isReset()&&!e.isFetching&&(i=n,s=[e.error,r],"function"==typeof i?i(...s):!!i);var i,s})({result:l,errorResetBoundary:s,useErrorBoundary:o.useErrorBoundary,query:a.getCurrentQuery()}))throw l.error;return o.notifyOnChangeProps?l:a.trackResult(l)}(S(e,t,n),ue)}function ge({label:e,attributes:n,setAttributes:r,attributeName:s,endpoint:o,mapItemToSuggestion:c,mapSelectedItemToValue:u}){const[d,h]=(0,i.useState)(n[s]?JSON.parse(n[s]):[]),[p,f]=(0,i.useState)(""),m=function(e,t){const[n,r]=(0,i.useState)(e);return(0,i.useEffect)((()=>{const n=setTimeout((()=>{r(e)}),t);return()=>{clearTimeout(n)}}),[e,t]),n}(p,(0,l.applyFilters)("tec-event-pro.calendar-embed.generic-token-field.debounceWaitTime",2e3,o,n)),{error:y,data:b}=ve({queryKey:["items",o,m],queryFn:()=>(async(e,n="",r=50)=>{const i=await fetch(`${e}?per_page=${r}&search=${encodeURIComponent(n)}`);if(!i.ok){const e=(0,t._x)("Network response error","The data fetching component error message.","events-calendar-pro");throw new Error(e)}return i.json()})(o,m),keepPreviousData:!0,enabled:!0}),v=(0,i.useMemo)((()=>Array.isArray(b)?b.reduce(((e,t)=>{const n=c(t);return e[n.name]=n.id,e}),{}):{}),[b,c]);return y?`${(0,t._x)("An error has occurred","The data fetching component error prefix message.","events-calendar-pro")}: ${y.message}`:(0,i.createElement)(a.FormTokenField,{value:(e=>Array.isArray(e)?e.map(u):[])(d),suggestions:Object.keys(v),onChange:e=>{const t=(n=e,Array.isArray(n)?n.map((e=>({id:v[e]||e,name:e}))):[]);var n;h(t),r({[s]:JSON.stringify(t.map((({id:e,name:t})=>({id:e,name:t}))))})},label:e,__experimentalExpandOnFocus:!0,__next40pxDefaultSize:!0,__experimentalShowHowTo:!1,isBorderless:!1,tokenizeOnSpace:!1,placeholder:(0,t._x)("Select Items","The data fetching component field placeholder.","events-calendar-pro"),onInputChange:e=>{f(e)},inputValue:p})}be.Provider;const we=new se;function Ee({attributes:e,setAttributes:n}){return(0,i.createElement)(a.PanelRow,null,(0,i.createElement)("fieldset",null,(0,i.createElement)(ce,{client:we},(0,i.createElement)(ge,{label:(0,t._x)("Select Event Categories","Label for the event categories taxonomy token field","events-calendar-pro"),attributes:e,setAttributes:n,attributeName:"category",endpoint:"/wp-json/wp/v2/tribe_events_cat",mapItemToSuggestion:e=>({name:e.name,id:e.slug}),mapSelectedItemToValue:e=>e.name}))))}const _e=new se;function xe({attributes:e,setAttributes:n}){return(0,i.createElement)(a.PanelRow,null,(0,i.createElement)("fieldset",null,(0,i.createElement)(ce,{client:_e},(0,i.createElement)(ge,{label:(0,t._x)("Select Event Categories to Exclude","Label for the exclude event categories taxonomy token field","events-calendar-pro"),attributes:e,setAttributes:n,attributeName:"exclude_category",endpoint:"/wp-json/wp/v2/tribe_events_cat",mapItemToSuggestion:e=>({name:e.name,id:e.slug}),mapSelectedItemToValue:e=>e.name}))))}const Ce=new se;function Se({attributes:e,setAttributes:n}){return(0,i.createElement)(a.PanelRow,null,(0,i.createElement)("fieldset",null,(0,i.createElement)(ce,{client:Ce},(0,i.createElement)(ge,{label:(0,t._x)("Select Tag(s)","Label for the event tag taxonomy token field","events-calendar-pro"),attributes:e,setAttributes:n,attributeName:"tag",endpoint:"/wp-json/wp/v2/tags",mapItemToSuggestion:e=>({name:e.name,id:e.slug}),mapSelectedItemToValue:e=>e.name}))))}const Re=new se;function Oe({attributes:e,setAttributes:n}){return(0,i.createElement)(a.PanelRow,null,(0,i.createElement)("fieldset",null,(0,i.createElement)(ce,{client:Re},(0,i.createElement)(ge,{label:(0,t._x)("Select Tag(s) to Exclude","Label for the exclude event tag taxonomy token field","events-calendar-pro"),attributes:e,setAttributes:n,attributeName:"exclude_tag",endpoint:"/wp-json/wp/v2/tags",mapItemToSuggestion:e=>({name:e.name,id:e.slug}),mapSelectedItemToValue:e=>e.name}))))}function ke({label:e,attributes:n,setAttributes:r,attributeName:s,endpoint:o}){const[c,u]=(0,i.useState)(n[s]||""),[d,h]=(0,i.useState)(""),p=function(e,t){const[n,r]=(0,i.useState)(e);return(0,i.useEffect)((()=>{const n=setTimeout((()=>{r(e)}),t);return()=>{clearTimeout(n)}}),[e,t]),n}(d,(0,l.applyFilters)("tec-event-pro.calendar-embed.dynamic-select-field.debounceWaitTime",2e3,o,n)),{error:f,data:m}=ve({queryKey:["items",o,p],queryFn:()=>(async(e,n="",r=50)=>{const i=await fetch(`${e}?per_page=${r}&search=${encodeURIComponent(n)}`);if(!i.ok){const e=(0,t._x)("Network response error","The data fetching component error message.","events-calendar-pro");throw new Error(e)}return i.json()})(o,p),keepPreviousData:!0,enabled:!0}),y=(0,i.useMemo)((()=>Array.isArray(m)?[{label:(0,t._x)("Select an Item","Empty option for combobox field","events-calendar-pro"),value:""},...m.map((e=>({label:e.name||e.title?.rendered||"Unnamed Item",value:e.id})))]:[]),[m]);return f?`${(0,t._x)("An error has occurred","The data fetching component error prefix message.","events-calendar-pro")}: ${f.message}`:(0,i.createElement)(a.ComboboxControl,{label:e,value:c||"",onChange:e=>{u(e),r(""===e||null===e?{[s]:""}:{[s]:e})},onFilterValueChange:e=>{h(e)},options:y,placeholder:(0,t._x)("Select an Item","The data fetching component field placeholder.","events-calendar-pro"),__nextHasNoMarginBottom:!0})}const Pe=new se;function ze({attributes:e,setAttributes:n}){return(0,i.createElement)(a.PanelRow,null,(0,i.createElement)("fieldset",null,(0,i.createElement)(ce,{client:Pe},(0,i.createElement)(ke,{label:(0,t._x)("Select Author","Label for the author selection field","events-calendar-pro"),attributes:e,setAttributes:n,attributeName:"author",endpoint:"/wp-json/wp/v2/users"}))))}const Fe=new se;function Te({attributes:e,setAttributes:n}){return(0,i.createElement)(a.PanelRow,null,(0,i.createElement)("fieldset",null,(0,i.createElement)(ce,{client:Fe},(0,i.createElement)(ke,{label:(0,t._x)("Select Venue","Label for the venue selection field","events-calendar-pro"),attributes:e,setAttributes:n,attributeName:"venue",endpoint:"/wp-json/wp/v2/tribe_venue"}))))}const Ae=new se;function Me({attributes:e,setAttributes:n}){return(0,i.createElement)(a.PanelRow,null,(0,i.createElement)("fieldset",null,(0,i.createElement)(ce,{client:Ae},(0,i.createElement)(ke,{label:(0,t._x)("Select Organizer","Label for the organizer selection field","events-calendar-pro"),attributes:e,setAttributes:n,attributeName:"organizer",endpoint:"/wp-json/wp/v2/tribe_organizer"}))))}function je(e,t){e({tribe_bar:t})}function qe({attributes:e,setAttributes:n}){const{tribe_bar:r}=e;return(0,i.useMemo)((()=>(0,i.createElement)(a.PanelRow,null,(0,i.createElement)("fieldset",null,(0,i.createElement)(a.BaseControl,{label:(0,t._x)("Search Bar","Label for the search bar control","events-calendar-pro"),__nextHasNoMarginBottom:!0},(0,i.createElement)(a.ToggleControl,{label:(0,t._x)("Enable to show search bar above the views.","Label for the Search bar toggle","events-calendar-pro"),help:r?(0,t._x)("Search Bar is showing.","Help text when the Search bar is displayed","events-calendar-pro"):(0,t._x)("Search Bar is hidden.","Help text when the Search bar is hidden","events-calendar-pro"),checked:r,onChange:e=>je(n,e),key:"tribe-bar-toggle"}))))),[r])}function Ie(e,t){e({filter_bar:t})}function De({attributes:e,setAttributes:n}){const{filter_bar:r}=e;return(0,i.useMemo)((()=>tec_events_pro_calendar_embed_data.has_filter_bar?(0,i.createElement)(a.PanelRow,null,(0,i.createElement)("fieldset",null,(0,i.createElement)(a.BaseControl,{label:(0,t._x)("Filter Bar","Label for the filter bar control","events-calendar-pro"),__nextHasNoMarginBottom:!0},(0,i.createElement)(a.ToggleControl,{label:(0,t._x)("Enable to show filter bar above the views.","Label for the filter bar toggle","events-calendar-pro"),help:r?(0,t._x)("Filter Bar is showing.","Help text when the filter bar is displayed","events-calendar-pro"):(0,t._x)("Filter Bar is hidden.","Help text when the filter bar is hidden","events-calendar-pro"),checked:r,onChange:e=>Ie(n,e),key:"filter-bar-toggle"})))):(0,i.createElement)("div",{className:"tribe-common"},(0,i.createElement)("div",{className:"tec-admin__upsell-content"},(0,i.createElement)("div",{className:"tec-admin__upsell-icon",style:{"flex-shrink":0}},(0,i.createElement)("img",{className:"tec-admin__upsell-icon-image",src:tec_events_pro_calendar_embed_data.up_sell_img,alt:"The Events Calendar important notice icon"})),(0,i.createElement)("div",{className:"tec-admin__upsell-text-wrap"},(0,i.createElement)("span",{className:"tec-admin__upsell-text"},(0,t._x)("Create front-end Event Filters to let your website visitors find exactly what they’re looking for.","Message text for Filterbar upsell in calendar embed block.","events-calendar-pro")," "," "),(0,i.createElement)("a",{className:"tec-admin__upsell-link tec-admin__upsell-link--underlined",href:tec_events_pro_calendar_embed_data.filter_bar_upsell_link,rel:"noopener noreferrer",target:"_blank"},(0,t._x)("Check out Filter Bar.","Link text for Filterbar upsell in calendar embed block.","events-calendar-pro")))))),[r])}function Qe(e,t){e({keyword:t})}function Le({attributes:e,setAttributes:n}){const{keyword:r}=e;return(0,i.useMemo)((()=>(0,i.createElement)(a.PanelRow,null,(0,i.createElement)("fieldset",null,(0,i.createElement)(a.TextControl,{label:(0,t._x)("Keyword","Label for the keyword control","events-calendar-pro"),value:r,onChange:e=>Qe(n,e),help:(0,t._x)("Enter a keyword to filter events.","Help text for the keyword input","events-calendar-pro"),key:"keyword-input"})))),[r])}(0,l.addFilter)("ec-event-pro.calendar-embed.block-inspector-panel-rows.category","events-calendar-pro/calendar-embed/category-taxonomy-token-field",((e,t,n)=>[...e,{component:Ee,priority:10,props:{attributes:t,setAttributes:n}}])),(0,l.addFilter)("ec-event-pro.calendar-embed.block-inspector-panel-rows.category","events-calendar-pro/calendar-embed/exclude-category-taxonomy-token-field",((e,t,n)=>[...e,{component:xe,priority:20,props:{attributes:t,setAttributes:n}}])),(0,l.addFilter)("ec-event-pro.calendar-embed.block-inspector-panel-rows.category","events-calendar-pro/calendar-embed/tag-taxonomy-token-field",((e,t,n)=>[...e,{component:Se,priority:30,props:{attributes:t,setAttributes:n}}])),(0,l.addFilter)("ec-event-pro.calendar-embed.block-inspector-panel-rows.category","events-calendar-pro/calendar-embed/exclude-tag-taxonomy-token-field",((e,t,n)=>[...e,{component:Oe,priority:40,props:{attributes:t,setAttributes:n}}])),(0,l.addFilter)("tec-event-pro.calendar-embed.block-inspector-panel-rows.bar","events-calendar-pro/calendar-embed/tribe-bar-control",((e,t,n)=>[...e,{component:qe,priority:30,props:{attributes:t,setAttributes:n,onChangeTribeBar:e=>je(n,e)}}])),(0,l.addFilter)("tec-event-pro.calendar-embed.block-inspector-panel-rows.bar","events-calendar-pro/calendar-embed/filter-control",((e,t,n)=>[...e,{component:De,priority:40,props:{attributes:t,setAttributes:n,onChangeFilterBar:e=>Ie(n,e)}}])),(0,l.addFilter)("tec-event-pro.calendar-embed.block-inspector-panel-rows.attribute","events-calendar-pro/calendar-embed/keyword-control",((e,t,n)=>[...e,{component:Le,priority:12,props:{attributes:t,setAttributes:n,onChangeKeyword:e=>Qe(n,e)}}])),(0,l.addFilter)("tec-event-pro.calendar-embed.block-inspector-panel-rows.attribute","events-calendar-pro/calendar-embed/author-control",((e,t,n)=>[...e,{component:ze,priority:50,props:{attributes:t,setAttributes:n}}])),(0,l.addFilter)("tec-event-pro.calendar-embed.block-inspector-panel-rows.attribute","events-calendar-pro/calendar-embed/organizer-control",((e,t,n)=>[...e,{component:Me,priority:50,props:{attributes:t,setAttributes:n}}])),(0,l.addFilter)("tec-event-pro.calendar-embed.block-inspector-panel-rows.attribute","events-calendar-pro/calendar-embed/venue-control",((e,t,n)=>[...e,{component:Te,priority:50,props:{attributes:t,setAttributes:n}}]));const Ne=(e,t,n)=>e.sort(((e,t)=>e.priority-t.priority)).map(((e,r)=>(0,i.createElement)(e.component,{key:r,attributes:t,setAttributes:n,...e.props})));function Be({attributes:e,setAttributes:n}){const r=((e,t)=>{const n=(0,l.applyFilters)("tec-event-pro.calendar-embed.block-inspector-panel-rows.display",[],e,t);return Ne(n,e,t)})(e,n),s=((e,t)=>{const n=(0,l.applyFilters)("ec-event-pro.calendar-embed.block-inspector-panel-rows.category",[],e,t);return Ne(n,e,t)})(e,n),c=((e,t)=>{const n=(0,l.applyFilters)("tec-event-pro.calendar-embed.block-inspector-panel-rows.attribute",[],e,t);return Ne(n,e,t)})(e,n),u=((e,t)=>{const n=(0,l.applyFilters)("tec-event-pro.calendar-embed.block-inspector-panel-rows.bar",[],e,t);return Ne(n,e,t)})(e,n);return(0,i.createElement)(o.InspectorControls,{key:"setting"},(0,i.createElement)(a.PanelBody,{title:(0,t._x)("Display Options","Panel title for display options in calendar embed block.","events-calendar-pro")},r),(0,i.createElement)(a.PanelBody,{title:(0,t._x)("Category Settings","Panel title for category settings options","events-calendar-pro")},s),(0,i.createElement)(a.PanelBody,{title:(0,t._x)("Attribute Filters","Panel title for attribute filters","events-calendar-pro")},c),(0,i.createElement)(a.PanelBody,{title:(0,t._x)("Bar Toggles","Panel title for bar toggles","events-calendar-pro")},u))}const He=window.wp.data,Ue=function(e){var t=e.width,n=e.height,r=e.colorStart,s=void 0===r?"#f0f0f0":r,o=e.colorEnd,a=void 0===o?"#e0e0e0":o,l=e.shape,c=l,u=function(e){var t=e.width,n=e.height;return function(e){return{rect:{width:t,height:n},circle:{cx:Number(t)/2,cy:Number(n)/2,r:(Number(n)+Number(t))/4}}[e]}}({width:t,height:n})(l),d=function(e){var t=e.width,n=e.height;return function(e){return{rect:{width:t,height:n},circle:{width:t,height:n}}[e]}}({width:t,height:n})(l);return(0,i.createElement)("svg",Object.assign({},d),(0,i.createElement)(c,Object.assign({},u,{role:"img","data-testid":"shapeElement",fill:"url(#linear-gradient)"})),(0,i.createElement)("defs",null,(0,i.createElement)("linearGradient",{id:"linear-gradient",x1:"0%",y1:"0%",x2:"100%",y2:"0%"},(0,i.createElement)("stop",{offset:"0%",stopColor:s},(0,i.createElement)("animate",{attributeName:"offset",values:"-2; -2; 1",dur:"2s",keyTimes:"0; 0.70; 1",repeatCount:"indefinite"})),(0,i.createElement)("stop",{offset:"50%",stopColor:a},(0,i.createElement)("animate",{attributeName:"offset",values:"0; 0; 2",dur:"2s",keyTimes:"0; 0.70; 1",repeatCount:"indefinite"})),(0,i.createElement)("stop",{offset:"100%",stopColor:s},(0,i.createElement)("animate",{attributeName:"offset",values:"0; 0; 3",dur:"2s",keyTimes:"0; 0.90; 1",repeatCount:"indefinite"})))))};function $e(){return $e=Object.assign?Object.assign.bind():function(e){for(var t=1;te("core/block-editor").isBlockSelected(n)),[n]),[s,a]=(0,i.useState)(!0),c=function(){let e="";return"undefined"!=typeof tec_events_pro_calendar_embed_data&&tec_events_pro_calendar_embed_data.embed_nonce&&(e=tec_events_pro_calendar_embed_data.embed_nonce),e}(),u=function(e){const{view:t,events_per_page:n,month_events_per_day:r,date:i,keyword:s,category:o,exclude_category:a,tag:c,exclude_tag:u,tax_operand:d,featured:h,past:p,tribe_bar:f,filter_bar:m,author:y,organizer:b,venue:v}=e,g=e=>{if(!e)return[];let t;try{t=JSON.parse(e)}catch(e){return[]}return Array.isArray(t)?t.map((e=>e.id)).filter(Boolean):[]},w=g(o),E=g(a),_=g(c),x=g(u);return(0,l.applyFilters)("tec-event-pro.calendar-embed.query-arguments",{view:t,events_per_page:n,month_events_per_day:r,date:i,keyword:s,category:w,exclude_category:E,tag:_,exclude_tag:x,tax_operand:d,featured:h,past:p,tribe_bar:f,filter_bar:m,author:y,organizer:b,venue:v},e)}(e),d=(0,i.useMemo)((()=>{try{return function(e){let n="";if(n=function(e){return"undefined"!=typeof tec_events_pro_calendar_embed_data&&tec_events_pro_calendar_embed_data.embed_url&&(e=tec_events_pro_calendar_embed_data.embed_url),e}(n),!n)throw new Error((0,t._x)("Embed URL is not available.","Calendar Embed message when url for REST endpoint is not available.","events-calendar-pro"));const r=new URL(n);return r.search=new URLSearchParams(e).toString(),r.toString()}({...u,_wpnonce:c})}catch(e){return console.error(e),""}}),[JSON.stringify(u),c]),h={width:"100%",height:e.isPreview?"500px":"100vh",display:s?"none":"block"},p=(0,i.useMemo)((()=>(0,i.createElement)("div",{key:"tec-pro-calendar-embed",className:"tec-editor-pro__block tec-editor-pro__calendar-embed",style:{position:"relative"}},!r&&(0,i.createElement)("div",{className:"tec-editor-pro__block-overlay",style:{position:"absolute",top:0,left:0,width:"100%",height:"100%",backgroundColor:"transparent",zIndex:10,cursor:"pointer"}}),s&&(0,i.createElement)("div",{className:"tec-editor-pro__block-loading"},(0,i.createElement)(Ue,{shape:"rect",width:500,height:45}),(0,i.createElement)(Ue,{shape:"rect",width:500,height:45}),(0,i.createElement)(Ue,{shape:"rect",width:500,height:45}),(0,i.createElement)(Ue,{shape:"rect",width:500,height:45})),(0,i.createElement)(rt,{heightcalculationmethod:"lowestElement",className:"iframe",src:d,style:h,frameBorder:"0",scrolling:"no",onLoad:()=>a(!1)}))),[d,r,s]);return(0,i.createElement)("div",null,p)}const st=(0,i.createElement)(a.SVG,{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24"},(0,i.createElement)(a.Path,{d:"M.637 1.063v19.879c0 .276.189.5.422.5h20.037c.232 0 .421-.224.421-.5V1.062c0-.275-.189-.5-.421-.5H1.059c-.233 0-.422.225-.422.5zM1.787 2H20.34v2.685H1.787V2zm0 4H20.34v14H1.787V6zM8 8.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5zm4 0v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5zm4 0v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5zm-8 4v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5zm4 0v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5zm4 0v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5zm-12 0v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5zm0 4v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5zm4 0v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5zm4 0v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5z",fill:"#141827",fillRule:"nonzero"}));(0,e.registerBlockType)(r.name,{...r,description:(0,t._x)("Displays the different event views.","The Calendar Embed block description.","events-calendar-pro"),icon:st,edit:function({attributes:e,setAttributes:t}){return(0,i.createElement)("div",{...(0,o.useBlockProps)()},(0,i.createElement)(Be,{attributes:e,setAttributes:t}),(0,i.createElement)(it,{attributes:e}))},save:()=>null})})()})(); \ No newline at end of file diff --git a/wp-content/plugins/events-calendar-pro/src/resources/js/blocks/calendar-embed/render.php b/wp-content/plugins/events-calendar-pro/src/resources/js/blocks/calendar-embed/render.php new file mode 100644 index 000000000..55ddcaae8 --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/resources/js/blocks/calendar-embed/render.php @@ -0,0 +1,22 @@ + $attributes array An array of the block attributes. + */ + +use Tribe\Shortcode\Manager; +use Tribe\Events\Pro\Views\V2\Shortcodes\REST\V1\Calender_Embed; + +$calendar_embed = tribe( Calender_Embed::class ); +$manager = tribe( Manager::class ); + +// phpcs:disable WordPress.Security.EscapeOutput.OutputNotEscaped +// phpcs:disable StellarWP.XSS.EscapeOutput.OutputNotEscaped +echo $manager->render_shortcode( $calendar_embed->process_attributes( $attributes ), '', $calendar_embed->get_shortcode_slug() ); +// phpcs:enable WordPress.Security.EscapeOutput.OutputNotEscaped +// phpcs:enable StellarWP.XSS.EscapeOutput.OutputNotEscaped diff --git a/wp-content/plugins/events-calendar-pro/src/resources/js/custom-tables-v1/app/ct1.min.js b/wp-content/plugins/events-calendar-pro/src/resources/js/custom-tables-v1/app/ct1.min.js index 8faae8544..76290bf81 100644 --- a/wp-content/plugins/events-calendar-pro/src/resources/js/custom-tables-v1/app/ct1.min.js +++ b/wp-content/plugins/events-calendar-pro/src/resources/js/custom-tables-v1/app/ct1.min.js @@ -1 +1 @@ -var tribe="object"==typeof tribe?tribe:{};tribe["custom-tables-v1"]=tribe["custom-tables-v1"]||{},tribe["custom-tables-v1"].ct1=function(e){function t(t){for(var n,i,s=t[0],l=t[1],a=t[2],d=0,p=[];d({type:"@@MT/EVENTS_PRO/SET_PREVIOUS_START_DATE_TIME",payload:{start:e}});var j=r("MWqi");const w="tec-events-pro",L=Object(j.createSelector)([e=>e[n.TEC_EVENTS_PRO_PLUGIN].blocks.datetime],e=>e.previousStart);var D=r("lSNA"),x=r.n(D),N=r("zCYh"),C=r("MXy+");function I(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function M(e){for(var t=1;t({type:F,payload:e}),G=e=>({type:U,index:e}),V=(e,t)=>({type:H,index:e,payload:t});var W=r("6OzC"),K=r.n(W),$=r("UnPw"),X=r("gGza");const{__:q}=wp.i18n,J=q("day","tribe-events-calendar-pro"),z=q("week","tribe-events-calendar-pro"),Q=q("month","tribe-events-calendar-pro"),Z=q("year","tribe-events-calendar-pro"),ee=q("days","tribe-events-calendar-pro"),te=q("weeks","tribe-events-calendar-pro"),re=q("months","tribe-events-calendar-pro"),ne=q("years","tribe-events-calendar-pro"),oe=q("once","tribe-events-calendar-pro"),ce=q("daily","tribe-events-calendar-pro"),ie=q("weekly","tribe-events-calendar-pro"),se=q("monthly","tribe-events-calendar-pro"),le=q("yearly","tribe-events-calendar-pro"),ae=q("weekly (custom)","tribe-events-calendar-pro"),ue=q("monthly (custom)","tribe-events-calendar-pro"),de=q("yearly (custom)","tribe-events-calendar-pro"),pe=X.WEEKLY+"-custom",be=X.MONTHLY+"-custom",ye=X.YEARLY+"-custom",fe="isOffStart",Ee={label:ae,value:X.WEEKLY,id:pe},Oe={label:ue,value:X.MONTHLY,id:be},_e={label:de,value:X.YEARLY,id:ye},ge=[{label:oe,value:X.SINGLE,id:X.SINGLE},{label:ce,value:X.DAILY,id:X.DAILY},{label:ie,value:X.WEEKLY,id:X.WEEKLY},{label:se,value:X.MONTHLY,id:X.MONTHLY},{label:le,value:X.YEARLY,id:X.YEARLY}],ve=[Ee,Oe,_e],me=(e,t)=>t.index,Se=e=>e[n.TEC_EVENTS_PRO_PLUGIN].blocks.exception,Te=Object(j.createSelector)([Se,me],(e,t)=>e[t]),ke=Object(j.createSelector)([Te],e=>e.ruleTypes||ge),he=Object(j.createSelector)([Te],e=>e.isOffStart),Re=Object(j.createSelector)([Te],e=>e.offStartIndex),Pe=Object(j.createSelector)([Te],e=>e.typeId),je=Object(j.createSelector)([$.getType,Pe],(e,t)=>{const r=[...ge];return K()(r,r=>{const n=r.value===e;return t?n&&r.id===t:n})}),we=Object(j.createSelector)([Pe],e=>!!e&&e.includes("custom"));var Le=r("RmXt"),De=r("OuoG");function*xe(){const e=(yield Object(Le.select)($.getExceptions)).filter(e=>e.type!==X.SINGLE),t={isOffStart:!1,offStartIndex:-1,typeId:X.SINGLE};if(e.length){const e=ge.filter(e=>e.value===X.SINGLE);t.ruleTypes=e}else t.ruleTypes=ge;yield Object(Le.put)(B(t))}function*Ne(e){yield Object(Le.put)(G(e.index));const t=yield Object(Le.select)($.getExceptions);t.filter(e=>e.type!==X.SINGLE).length||(yield Object(Le.all)(t.map((e,t)=>Object(Le.put)(V(t,{ruleTypes:ge})))))}function*Ce(){const e=yield Object(Le.select)($.getExceptions);if(e.filter(e=>e.type!==X.SINGLE).length){const t=ge.filter(e=>e.value===X.SINGLE);yield Object(Le.all)(e.map((e,r)=>{if(e.type===X.SINGLE)return Object(Le.put)(V(r,{ruleTypes:t}))}))}else yield Object(Le.all)(e.map((e,t)=>Object(Le.put)(V(t,{ruleTypes:ge}))))}function*Ie(){yield Object(Le.takeEvery)([De.ADD_EXCEPTION_FIELD],xe),yield Object(Le.takeEvery)([De.REMOVE_EXCEPTION],Ne),yield Object(Le.takeEvery)([De.EDIT_EXCEPTION],Ce)}const Me=[],Ae=e=>{if(e.meta._tribe_blocks_recurrence_exclusions)try{const t=JSON.parse(e.meta._tribe_blocks_recurrence_exclusions),r=t.filter(e=>e.type!==X.SINGLE),n=ge.filter(e=>e.value===X.SINGLE);t.forEach((e,t)=>{const o={isOffStart:!1,offStartIndex:-1,typeId:e.type};r.length&&e.type===X.SINGLE?o.ruleTypes=n:o.ruleTypes=ge,Me.push(o)})}catch(e){console.error(e)}},Ye=(e,t)=>{const r=Object.assign({},e[t.index],t.payload);return 1===e.length?[r]:[...e.slice(0,t.index),r,...e.slice(t.index+1)]};var Fe=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:Me,t=arguments.length>1?arguments[1]:void 0;switch(t.type){case F:return[...e,t.payload];case U:return e.filter((e,r)=>r!==t.index);case H:return Ye(e,t);default:return e}};const Ue="@@MT/EVENTS_PRO/ADD_RECURRENCE_RULE",He="@@MT/EVENTS_PRO/REMOVE_RECURRENCE_RULE",Be="@@MT/EVENTS_PRO/EDIT_RECURRENCE_RULE",Ge=e=>({type:Ue,payload:e}),Ve=e=>({type:He,index:e}),We=(e,t)=>({type:Be,index:e,payload:t});var Ke=r("iy/v");const $e={label:ae,value:X.WEEKLY,id:pe},Xe={label:ue,value:X.MONTHLY,id:be},qe={label:de,value:X.YEARLY,id:ye},Je=[{label:oe,value:X.SINGLE,id:X.SINGLE},{label:ce,value:X.DAILY,id:X.DAILY},{label:ie,value:X.WEEKLY,id:X.WEEKLY},{label:se,value:X.MONTHLY,id:X.MONTHLY},{label:le,value:X.YEARLY,id:X.YEARLY}],ze=[$e,Xe,qe],Qe=(e,t)=>t.index,Ze=e=>e[n.TEC_EVENTS_PRO_PLUGIN].blocks.recurring,et=Object(j.createSelector)([Ze,Qe],(e,t)=>e[t]),tt=Object(j.createSelector)([et],e=>e.ruleTypes||Je),rt=Object(j.createSelector)([et],e=>e.isOffStart),nt=Object(j.createSelector)([et],e=>e.offStartIndex),ot=Object(j.createSelector)([et],e=>e.typeId),ct=Object(j.createSelector)([Ke.getType,ot],(e,t)=>{let r=[...Je];return t&&(r=[...r,...ze]),K()(r,r=>{const n=r.value===e;return t?n&&r.id===t:n})}),it=Object(j.createSelector)([ot],e=>!!e&&e.includes("custom"));var st=r("tbMi"),lt=r("gSph"),at=r("pVH8"),ut=r("13aI");function*dt(){const e=(yield Object(Le.select)(Ke.getRules)).filter(e=>e.type!==X.SINGLE),t={isOffStart:!1,offStartIndex:-1,typeId:X.SINGLE};if(e.length){const e=Je.filter(e=>e.value===X.SINGLE);t.ruleTypes=e}else t.ruleTypes=Je;yield Object(Le.put)(Ge(t))}function*pt(e){yield Object(Le.put)(Ve(e.index));const t=yield Object(Le.select)(Ke.getRules);t.filter(e=>e.type!==X.SINGLE).length||(yield Object(Le.all)(t.map((e,t)=>Object(Le.put)(We(t,{ruleTypes:Je})))))}function*bt(e){if(e.sync)return;const t=yield Object(Le.select)(Ke.getRules);if(t.filter(e=>e.type!==X.SINGLE).length){const e=Je.filter(e=>e.value===X.SINGLE);yield Object(Le.all)(t.map((t,r)=>{if(t.type===X.SINGLE)return Object(Le.put)(We(r,{ruleTypes:e}))}))}else yield Object(Le.all)(t.map((e,t)=>Object(Le.put)(We(t,{ruleTypes:Je}))))}function*yt(){const e=(yield Object(Le.select)(Ke.getRulesCount))-1,t=yield Object(Le.call)(N.toMoment,st.TODAY),r=yield Object(Le.call)([t,"add"],1,"year"),n=yield Object(Le.call)(N.toDate,r),o=new Date(n);yield Object(Le.put)(ut.syncRule(e,{[lt.KEY_LIMIT_DATE_INPUT]:n,[lt.KEY_LIMIT_DATE_OBJ]:o}))}function*ft(){yield Object(Le.takeEvery)([at.ADD_RULE_FIELD],dt),yield Object(Le.takeEvery)([at.REMOVE_RULE],pt),yield Object(Le.takeEvery)([at.EDIT_RULE],bt),yield Object(Le.takeEvery)([at.ADD_RULE],yt)}const Et=[],Ot=e=>{if(e.meta._tribe_blocks_recurrence_rules)try{const t=JSON.parse(e.meta._tribe_blocks_recurrence_rules),r=t.filter(e=>e.type!==X.SINGLE),n=Je.filter(e=>e.value===X.SINGLE);t.forEach((e,t)=>{const o={isOffStart:!!e[fe],offStartIndex:-1,typeId:e.type};if(e[fe]){const r=[...Je,p[e.type.toUpperCase()+"_CUSTOM_RECURRENCE_RULE_TYPES_OPTION"]];o.offStartIndex=t,o.typeId=i[e.type.toUpperCase()+"_CUSTOM_TYPE_ID"],o.ruleTypes=r}else r.length&&e.type===X.SINGLE?o.ruleTypes=n:o.ruleTypes=Je;Et.push(o)})}catch(e){console.error(e)}},_t=(e,t)=>{const r=Object.assign({},e[t.index],t.payload);return 1===e.length?[r]:[...e.slice(0,t.index),r,...e.slice(t.index+1)]};var gt=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:Et,t=arguments.length>1?arguments[1]:void 0;switch(t.type){case Ue:return[...e,t.payload];case He:return e.filter((e,r)=>r!==t.index);case Be:return _t(e,t);default:return e}};const vt=e=>e.tickets,mt=Object(j.createSelector)([vt],e=>!!e),St=Object(j.createSelector)([vt],e=>!!e&&!!e.blocks.rsvp.id),Tt=Object(j.createSelector)([vt],e=>!!e&&!!e.blocks.ticket.tickets.allClientIds.length);var kt=r("rKB8");const ht=e=>{(e=>{const{meta:t}=e;Object.keys(Y).forEach(e=>{const r=Y[e];t.hasOwnProperty(r)&&(A[e]=t[r])})})(e),Ot(e),Ae(e)};var Rt=Object(kt.combineReducers)({datetime:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:A,t=arguments.length>1?arguments[1]:void 0;switch(t.type){case"@@MT/EVENTS_PRO/SET_PREVIOUS_START_DATE_TIME":return M(M({},e),{},{previousStart:t.payload.start});default:return e}},exception:Fe,recurring:gt});const Pt=e=>e[n.TEC_EVENTS_PRO_PLUGIN].shared,jt=Object(j.createSelector)([Pt],e=>e.dayOfMonthOptions);var wt=r("kczL"),Lt=r("Yht6"),Dt=r("SOG1"),xt=r("tPgE"),Nt=r("OluY");const Ct={1:X.FIRST,2:X.SECOND,3:X.THIRD,4:X.FOURTH,5:X.FIFTH},It={1:"Monday",2:"Tuesday",3:"Wednesday",4:"Thursday",5:"Friday",6:"Saturday",7:"Sunday"},Mt=e=>{const t=e.isoWeekday();return It[t]},At=e=>{const t=e.date(),r=Math.floor((t-1)/7)+1;return Ct[r]},Yt=e=>e.daysInMonth()-e.date()<7,Ft=e=>e.daysInMonth()===e.date(),Ut=e=>{const t=[],r=Object(wt.get)("tribe_events_pro_recurrence_strings"),n=At(e),o=Mt(e),c=n+o,i=r.customTablesV1.dayOfMonth.pattern[c];if(t.push({label:i.label,value:i.ordinal.toLowerCase()+"-"+i.day}),Yt(e)){const e="last"+o,n=r.customTablesV1.dayOfMonth.pattern[e];t.push({label:n.label,value:n.ordinal.toLowerCase()+"-"+n.day})}if(Ft(e)){const e="lastDay",n=r.customTablesV1.dayOfMonth.pattern[e];t.push({label:n.label,value:n.ordinal.toLowerCase()+"-"+n.day})}const s=e.date(),l=r.customTablesV1.dayOfMonth.date[s];return t.push({label:l,value:String(s)}),t},Ht=e=>{const t=e.split("-");if(1===t.length)return{[lt.KEY_WEEK]:null,[lt.KEY_DAY]:Number(t[0])};if(2===t.length){const e=t[0],r=Number(t[1]);return{[lt.KEY_WEEK]:e,[lt.KEY_DAY]:r}}return{}},{SINGLE:Bt,DAILY:Gt,WEEKLY:Vt,MONTHLY:Wt,YEARLY:Kt,LAST:$t}=X;function Xt(e,t,r){let{selectors:n}=e;return function*(){const e=yield Object(Le.select)(n.getWeek,{index:t}),o=yield Object(Le.select)(n.getDay,{index:t});if(!e&&o){return o===(yield Object(Le.call)([r,"date"]))}if(e){const t=yield Object(Le.call)([r,"isoWeekday"]),n=yield Object(Le.call)(At,r),c=yield Object(Le.call)(Yt,r),i=yield Object(Le.call)(Ft,r),s=o===t||8===o&&i;return(e===n||(c||i)&&e===$t)&&s}return!1}()}function qt(e,t,r){let{selectors:n}=e;return function*(){const e=((e,t)=>{const r=parseInt(t);return e?8===r?"last-day-in-month":"last"===e?"last-day-of-week-in-month":"day-of-week-in-month":t?"day-n":null})(yield Object(Le.select)(n.getWeek,{index:t}),yield Object(Le.select)(n.getDay,{index:t})),o=r.map(e=>{return(t=e.value)?"last-8"===t?"last-day-in-month":t.match(/(first|second|third|fourth|fifth)-\d/)?"day-of-week-in-month":t.match(/last-\d/)?"last-day-of-week-in-month":"day-n":null;var t}).indexOf(e);return o>=0?o:0}()}function*Jt(e,t,r){const n=yield Object(Le.call)(Ut,r.startMoment),o=yield Object(Le.call)(qt,e,t,n),c=yield Object(Le.call)(Ht,n[o].value);yield Object(Le.put)(e.actions.sync(t,c))}function*zt(e,t,r){if(tecEventDetails.isRdate)return;const{startMoment:n,prevStartMoment:o}=r,c=yield Object(Le.call)([n,"isSame"],o,"day"),i=yield Object(Le.call)(Xt,e,t,n);c&&i||(yield Object(Le.call)(Jt,e,t,r))}function Qt(e,t,r){let{actions:n,selectors:o}=e,{startMoment:c,prevStartMoment:i}=r;return function*(){const e=yield Object(Le.call)([c,"isoWeekday"]),r=yield Object(Le.call)([i,"isoWeekday"]),s=yield Object(Le.select)(o.getDays,{index:t});if(tecEventDetails.isRdate)return;if(e===r&&s.includes(e))return;const l=s.filter(e=>e!==r);l.includes(e)||(l.push(e),l.sort((e,t)=>e-t)),yield Object(Le.put)(n.sync(t,{[lt.KEY_DAYS]:l}))}()}function Zt(e,t,r){let{actions:n,selectors:o}=e,{startMoment:c,prevStartMoment:i}=r;return function*(){const e=(yield Object(Le.call)([c,"month"]))+1,r=(yield Object(Le.call)([i,"month"]))+1,s=yield Object(Le.select)(o.getMonth,{index:t});if(tecEventDetails.isRdate)return;if(e===r&&s.includes(e))return;const l=s.filter(e=>e!==r);l.includes(e)||(l.push(e),l.sort((e,t)=>e-t)),yield Object(Le.put)(n.sync(t,{[lt.KEY_MONTH]:l}))}()}function*er(e){const t=b,r=Ke,n={sync:ut.syncRule},o=Ke.getRulesCount,c=yield Object(Le.select)(Dt.getStart),i=yield Object(Le.call)(N.toMoment,c),s=yield Object(Le.select)(L),l=yield Object(Le.call)(N.toMoment,s),a=yield Object(Le.select)(o),u={startMoment:i,prevStartMoment:l};let d,p,y,f=0;const E=yield Object(Le.call)(Ut,i);for(yield Object(Le.put)((e=>{let{options:t}=e;return{type:"@@MT/EVENTS_PRO/SET_DAY_OF_MONTH_OPTIONS",payload:{options:t}}})({options:E}));f(fe===t||(e[t]=o[t]),e),{}),i=t?ut.syncRule:xt.syncException;yield Object(Le.put)(i(e.index,c))}const cr=e=>function*(t,r){if(yield Object(Le.select)(e.selectors.isRuleTypeCustom,{index:r}))return;const n=yield Object(Le.select)(e.proSelectors.getType,{index:r}),o={isOffStart:!1,offStartIndex:-1};(yield Object(Le.select)(e.proSelectors.getRules)).filter(e=>e.type!==Bt).length&&n===Bt||(o.ruleTypes=e.options.ruleTypeOptions),yield Object(Le.put)(e.actions.edit(r,o))};function*ir(){const e=yield Object(Le.select)(Ze),t=yield Object(Le.select)(Se);yield Object(Le.all)(e.map((e,t)=>Object(Le.call)(cr({actions:{edit:We},selectors:b,proSelectors:Ke,options:{ruleTypeOptions:Je}}),e,t))),yield Object(Le.all)(t.map((e,t)=>Object(Le.call)(cr({actions:{edit:V},selectors:l,proSelectors:$,options:{ruleTypeOptions:ge}}),e,t)))}function*sr(){yield Object(Le.takeEvery)([Lt.SET_START_DATE_TIME],rr),yield Object(Le.takeEvery)([at.EDIT_RULE],nr),yield Object(Le.takeEvery)([Be],or),yield Object(Le.takeEvery)([H],or);const e=yield Object(Le.call)(Nt.createWPEditorChannel);for(;;)yield Object(Le.take)(e),yield Object(Le.call)(ir)}var lr=r("wy2R");function ar(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function ur(e){for(var t=1;t0&&void 0!==arguments[0]?arguments[0]:Or,t=arguments.length>1?arguments[1]:void 0;switch(t.type){case pr:return Er(Er({},e),t.payload);default:return e}};function gr(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function vr(e){for(var t=1;t0&&void 0!==arguments[0]?arguments[0]:mr,t=arguments.length>1?arguments[1]:void 0;switch(t.type){case br:return vr(vr({},e),t.payload);default:return e}};function Tr(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function kr(e){for(var t=1;t0&&void 0!==arguments[0]?arguments[0]:hr,t=arguments.length>1?arguments[1]:void 0;switch(t.type){case yr:return kr(kr({},e),t.payload);default:return e}};function Pr(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function jr(e){for(var t=1;te[n.TEC_EVENTS_PRO_PLUGIN].eventDetails;Object(j.createSelector)([Lr],e=>e.event),Object(j.createSelector)([Lr],e=>e.occurrence),Object(j.createSelector)([Lr],e=>e.series);var Dr=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:wr,t=arguments.length>1?arguments[1]:void 0;switch(t.type){case"@@MT/EVENTS_PRO/UPDATE_EVENT_DETAILS":return jr(jr({},e),t.payload);case pr:return jr(jr({},e),{},{event:_r(e.event,t)});case br:return jr(jr({},e),{},{occurrence:Sr(e.occurrence,t)});case yr:return jr(jr({},e),{},{series:Rr(e.series,t)});default:return e}},xr=Object(kt.combineReducers)({blocks:Rt,shared:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:dr,t=arguments.length>1?arguments[1]:void 0;switch(t.type){case"@@MT/EVENTS_PRO/SET_DAY_OF_MONTH_OPTIONS":return ur(ur({},e),{},{dayOfMonthOptions:t.payload.options});default:return e}},eventDetails:Dr});const{dispatch:Nr,select:Cr,subscribe:Ir}=wp.data;var Mr=r("yXPU"),Ar=r.n(Mr);const{apiFetch:Yr}=wp,{dispatch:Fr,select:Ur,subscribe:Hr}=wp.data,Br={saving:!1,running:!1,noticeId:"tec-events-pro-occurrences",subscriptions:[],isSavingMetaBoxes:!1};function Gr(){return(Gr=Ar()((function*(e){const t=yield Yr({path:`/tec/v1/events/${e}/notices/occurrences/`,method:"GET"});return Array.isArray(t)&&t?t.map(JSON.parse):[]}))).apply(this,arguments)}function Vr(){Array.from(Br.subscriptions).map(e=>{e()}),Br.subscriptions=[]}function Wr(e){return function(e){return Gr.apply(this,arguments)}(e).then(t=>{t.length<=0||(Fr("core/notices").createSuccessNotice(t.shift(),{id:Br.noticeId,isDismissible:!0,__unstableHTML:!0,explicitDismiss:!1}),function(e){const t=Hr(()=>{Ur("core/notices").getNotices().filter(e=>e.id===Br.noticeId).length<=0&&(t(),e())});Br.subscriptions.push(t)}(function(e){return Ar()((function*(){return yield Yr({path:`/tec/v1/events/${e}/notices/occurrences/`,method:"DELETE"})}))}(e)))})}function Kr(){if(!(Ur("core/edit-post").isSavingMetaBoxes()?(Br.isSavingMetaBoxes=!0,0):Br.isSavingMetaBoxes&&(Br.isSavingMetaBoxes=!1,1))||Br.running)return!1;const e=Ur("core/editor"),t=e.didPostSaveRequestSucceed();Br.running=!0;const r=e.getCurrentPostId();return r&&t&&(Vr(),Wr(r).then($r)),Br.running}function $r(){Br.running=!1;const e=Hr(Kr);return Br.subscriptions.push(e),e}function Xr(){!function(){const e=Hr(()=>{const t=Ur("core/editor");if(!t.__unstableIsEditorReady())return;if(e(),t.isCleanNewPost())return;const r=t.getCurrentPostId();r&&(Vr(),Wr(r).then($r))});Br.subscriptions.push(e)}(),$r()}var qr=()=>{(()=>{const e=Ir(()=>{Cr("core/notices").getNotices().forEach(t=>{Nt.NOTICE_EDITING_SERIES===t.id&&(Nr("core/notices").removeNotice(t.id),e())})}),t=Ir(()=>{Cr("core/editor").__unstableIsEditorReady()&&t()})})(),Xr()};const Jr=e=>{ht(e),(e=>{dr.dayOfMonthOptions=Ut(Object(N.toMoment)(e.meta._EventStartDate))})(e)},zr=()=>{const e=k.globals.postObjects().tribe_events;e.is_new_post||Jr(e);const{dispatch:t,injectReducers:r}=R.store;[a.sagas,y.sagas,sr].forEach(e=>R.store.run(e)),qr(),r({[n.TEC_EVENTS_PRO_PLUGIN]:xr}),t(h.actions.addPlugin(n.TEC_EVENTS_PRO_PLUGIN))},Qr=()=>R.store;var Zr=r("cDcd");const{__:en}=wp.i18n,tn=e=>{const t=R.store.getState();return f.isEventTicketsActive(t)&&(f.hasRSVP(t)||f.hasTickets(t))?wp.element.createElement("div",{className:"tribe-editor__not-supported-message"},wp.element.createElement("p",{className:"tribe-editor__not-supported-message-text"},en("Recurrence patterns are not yet supported for events with tickets or RSVPs.","tribe-events-calendar-pro"),wp.element.createElement("br",null),wp.element.createElement("a",{className:"tribe-editor__not-supported-message-link",href:"https://evnt.is/1b7a",target:"_blank",rel:"noopener noreferrer"},en("Read about our plans for future features.","tribe-events-calendar-pro")))):e};var rn=()=>{wp.hooks.addFilter("blocks.recurrence.renderRecurrenceHook","tec/filterRenderRecurrence",tn)};const nn=(e,t)=>null;var on=()=>{wp.hooks.addFilter("blocks.recurrenceDescription.contentHook","tec/filterRecurrenceDescription",nn)};r("O7uX");zr(),rn(),on();var cn=r("HJt2");const{toMoment:sn}=k.moment,ln=()=>{tec.editorDialog.el.$instance.empty()},an=e=>{e.forEach((function(e){"text"===e.type?tec.editorDialog.el.$instance.append(function(e){return`

                            \n\t\t

                            \n\t\t\t${e.text}\n\t\t

                            \n\t
                            `}(e)):tec.editorDialog.el.$instance.append(function(e){const t=e.checked?"checked":"",r=["tec-events-pro-dialog__input-row","tec-events-pro-dialog__input-row--"+e.type].concat(e.classes).join(" "),n=["tec-events-pro-dialog__radio-input"].concat(e.inputClasses).join(" "),o=["tec-events-pro-dialog__radio-input-label"].concat(e.labelClasses).join(" "),c="tec-events-pro-dialog__radio-input--"+e.type;let i=`
                            \n\t\t\n\t\t
                            ",i}(e))}))},un=()=>{const e=[window.tecEventsSeriesBlockEditor.thisEvent],t=Qr().getState(),r=cn.selectors.getStart(t),n=sn(r);if(!n.isValid())return e[0];const o=cn.selectors.getAllDay(t),c=cn.selectors.getDateSeparator(t);let i=n.format("MMMM D, YYYY");return i+=o?" "+window.tecEventsSeriesBlockEditor.allDay:` ${c} ${n.format("H:mma")}`,i=`(${i})`,e.push(i),e.join(" ")};var dn=()=>{tec.editorDialog.setupDialog()};const{select:pn}=wp.data,bn={isSavingPost:!1},yn="button.editor-post-publish-button",fn="#_tec_relationship_event_to_series",En=".tec-events-pro-series__edit-link-container",On=".tec-events-pro-series__edit-link";function _n(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function gn(e){for(var t=1;t{const{editPost:e,savePost:t}=vn("core/editor"),r=tec.editorDialog.el.$instance.find("input:checked").val(),n=mn("core/editor").getCurrentPost();tec.editorDialog.closeDialog(),e({_tec_update_type:r,_tec_initial_meta:n}),t()},Tn=()=>{const e=[],t=(()=>{const e=Qr().getState(),t=Object(Dt.getStart)(e).split(" ")[0],r=pn("core/editor").getCurrentPost(),{meta:n}=r;return n._EventStartDate.split(" ")[0]!==t})(),r=(()=>{const e=Qr().getState(),t=Object(Ke.getRules)(e),r=pn("core/editor").getCurrentPost(),{meta:n}=r;return(""===n._tribe_blocks_recurrence_rules?"[]":n._tribe_blocks_recurrence_rules)!==JSON.stringify(t)})()||(()=>{const e=Qr().getState(),t=Object($.getExceptions)(e),r=pn("core/editor").getCurrentPost(),{meta:n}=r;return(""===n._tribe_blocks_recurrence_exclusions?"[]":n._tribe_blocks_recurrence_exclusions)!==JSON.stringify(t)})(),n=window.tecEventsSeriesBlockEditor,o={single:!0,upcoming:!0,all:!0};return!t||tecEventDetails&&tecEventDetails.isRdate||(o.all=!1),r&&(o.single=!1),o.all||o.single?(o.single&&e.push({type:"single",label:un(),labelHelpText:n.thisEventHelpText,classes:[],inputClasses:[],labelClasses:[],checked:!1}),e.push({type:"upcoming",label:n.upcomingSetting,classes:[],inputClasses:[],labelClasses:[],checked:!o.all}),o.all&&e.push({type:"all",label:n.allEvents,classes:[],inputClasses:[],labelClasses:[],checked:!0}),e):(e.push({type:"text",text:n.effectThisAndFollowingEventsWarning}),e.push({type:"upcoming",label:n.upcomingSetting,classes:["hidden"],inputClasses:[],labelClasses:[],checked:!0}),e)},kn=()=>{tec.editorDialog.el.$instance.attr("title",window.tecEventsSeriesBlockEditor.editModalTitle),ln(),an(Tn()),tec.editorDialog.setDialogSettings(gn(gn({},tec.editorDialog.defaultDialogSettings),{},{buttons:[{class:"button-primary",text:window.tecEventsSeriesBlockEditor.okButton,click:Sn}]})),tec.editorDialog.openDialog()},hn=()=>{const e=mn("core/editor").getCurrentPost(),{meta:t}=e;if(t._tec_requires_first_save)return;""!==t._tribe_blocks_recurrence_rules&&"[]"!==t._tribe_blocks_recurrence_rules&&kn()},{dispatch:Rn,select:Pn,subscribe:jn}=wp.data,wn={unsubscribe:null},Ln=()=>{const{meta:e}=Pn("core/editor").getCurrentPost();if(!e)return;if(Pn("core/editor").isSavingPost())return;wn.unsubscribe&&wn.unsubscribe();const{lockPostSaving:t,lockPostAutosaving:r,unlockPostSaving:n,unlockPostAutosaving:o}=Rn("core/editor");(()=>{const{getCurrentPost:e,isEditedPostDirty:t,isEditedPostNew:r}=Pn("core/editor"),{meta:n}=e();if(n&&n._tec_requires_first_save)return!1;const o=""!==n._tribe_blocks_recurrence_rules&&"[]"!==n._tribe_blocks_recurrence_rules;return!r()&&(t()&&o)})()?(r(),t(),(()=>{const e=document.querySelector("button.editor-post-publish-button");e&&(e.setAttribute("aria-disabled","false"),e.removeEventListener("click",hn),e.addEventListener("click",hn))})()):(n(),o(),(()=>{const e=document.querySelector("button.editor-post-publish-button");e&&e.removeEventListener("click",hn)})()),wn.unsubscribe=jn(Ln)};var Dn=()=>{wn.unsubscribe=jn(Ln)};function xn(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function Nn(e){for(var t=1;t{const e=tec.editorDialog.el.$instance.find("input:checked").val();Cn("core/notices").removeNotice("TRASH_POST_NOTICE_ID");const t=In("core/editor").getCurrentPostType(),r=In("core").getPostType(t),n=In("core/editor").getCurrentPost();wp.apiFetch({path:`/wp/v2/${r.rest_base}/${n.id}?_tec_update_type=${e}`,method:"DELETE"}).then(e=>{window.location.replace(e._tec_redirect_url)}).catch(e=>{console.error(e)})},Fn=()=>{const e=window.tecEventsSeriesBlockEditor;tec.editorDialog.el.$instance.attr("title",e.trashRecurringEvent),ln(),an((()=>{const e=[],t=window.tecEventsSeriesBlockEditor;return e.push({type:"single",label:un(),classes:[],inputClasses:[],labelClasses:[],checked:!1}),e.push({type:"upcoming",label:t.upcomingSetting,classes:[],inputClasses:[],labelClasses:[],checked:!1}),e.push({type:"all",label:t.allEvents,classes:[],inputClasses:[],labelClasses:[],checked:!0}),e})()),tec.editorDialog.setDialogSettings(Nn(Nn({},tec.editorDialog.defaultDialogSettings),{},{buttons:[{class:"button-primary",text:window.tecEventsSeriesBlockEditor.okButton,click:Yn}]})),tec.editorDialog.openDialog()},Un=e=>{const t=In("core/editor").getCurrentPost(),{meta:r}=t;""!==r._tribe_blocks_recurrence_rules&&"[]"!==r._tribe_blocks_recurrence_rules&&(e.preventDefault(),e.stopPropagation(),Fn())},Hn=()=>{const{isEditedPostNew:e,getCurrentPostId:t,getCurrentPostType:r}=In("core/editor"),{getPostType:n,canUser:o}=In("core"),c=t();if(!c)return!1;const i=n(r()),s=i&&i.rest_base||"",l=!(!c||!s)&&o("delete",s,c);return!e()&&c&&l},Bn=()=>{const e=In("core/edit-post").isEditorSidebarOpened();if(!e||An.deleteButton&&An.deleteButton.isConnected)!e&&An.deleteButton&&(An.deleteButton.removeEventListener("click",Un),An.deleteButton=null);else{const e=setInterval(()=>{const t=document.querySelector("button.editor-post-trash");t&&(clearInterval(e),An.deleteButton=t,An.deleteButton.addEventListener("click",Un))},10)}};var Gn=()=>{Hn()&&Bn(),Mn(()=>{Hn()&&Bn()})};dn(),Dn(),Gn();var Vn=r("K2gz"),Wn=r.n(Vn),Kn=r("6Ugf"),$n=r("PSCs");const{addFilter:Xn}=wp.hooks,qn=Object(wt.get)("tribe_events_pro_recurrence_strings"),{lockIconTooltip:Jn}=qn.customTablesV1.recurrence,zn=(e,t)=>{var r;const{blockType:n,checked:o,className:c,disabled:i,id:s,index:a,labelComponent:u,onChange:d,value:p}=t,y=R.store.getState(),f=n!==$n.constants.RECURRING,E=(f?l:b).isRuleTypeCustom(y,{index:a}),O=Object(N.toMoment)(Object(Dt.getStart)(y)),_=Mt(O),g="undefined"!=typeof tecEventDetails&&!(null!==(r=tecEventDetails)&&void 0!==r&&r.isRdate)&&!f&&!E&&_.toLowerCase()===p;return wp.element.createElement("div",{className:Wn()("tribe-editor__day-of-week",c)},wp.element.createElement(Kn.Checkbox,{checked:o,disabled:i,id:s,label:u,onChange:d,value:p}),g&&wp.element.createElement("span",{className:"tribe-editor__day-of-week__lock dashicons dashicons-lock",title:Jn}))};var Qn=()=>{Xn("elements.dayOfWeek.dayOfWeekContentHook","tec/filterDayOfWeekContent",zn)};const{addFilter:Zn}=wp.hooks,{__:eo}=wp.i18n;var to=()=>{Zn("elements.exceptionField.singularTypePickerRowLabelHook","tec/filterSingularTypePickerRowLabelHook",()=>eo("Not","tribe-events-calendar-pro"))},ro=r("8N8N"),no=r("h74D"),oo=r("rf6O"),co=r.n(oo);const{__:io}=wp.i18n,so=e=>{let{afterLabel:t,blockType:r,className:n,disabled:o,index:c,selected:i}=e;return wp.element.createElement(ro.LabeledRow,{className:Wn()("tribe-editor__every-frequency",n),label:io("Every","tribe-events-calendar-pro")},wp.element.createElement(ro.FrequencySelect,{blockType:r,disabled:o,index:c,selected:i}),wp.element.createElement("span",{className:"tribe-editor__after-every-frequency"},t))};so.propTypes={afterLabel:co.a.string.isRequired,blockType:co.a.oneOf(lt.BLOCK_TYPES),className:co.a.string,disabled:co.a.bool,index:co.a.number.isRequired,selected:h.proptypes.ReactSelectOption.isRequired};var lo=so,ao=r("Q9xL");const{RECURRING:uo}=lt,{DAILY:po,WEEKLY:bo,MONTHLY:yo,YEARLY:fo}=X,{DAY_LABEL:Eo,WEEK_LABEL:Oo,MONTH_LABEL:_o,YEAR_LABEL:go,DAY_LABEL_PLURAL:vo,WEEK_LABEL_PLURAL:mo,MONTH_LABEL_PLURAL:So,YEAR_LABEL_PLURAL:To}=i,ko=(e,t)=>(t.blockType===uo?Ke:$).getTypeOption(e,t),ho=(e,t)=>{const r=((e,t)=>(t.blockType===uo?Ke:$).getBetween(e,t))(e,t)>1;let n="";switch(t.selected.value){case po:n=r?vo:Eo;break;case bo:n=r?mo:Oo;break;case yo:n=r?So:_o;break;case fo:n=r?To:go}return n};var Ro=Object(kt.compose)(Object(ao.withStore)(),Object(no.connect)((e,t)=>({afterLabel:ho(e,t),selected:ko(e,t)})))(lo),Po=r("l3Sj");r("644Q");const jo=e=>{let{className:t,isCustom:r,onChange:n,options:o,value:c}=e;return wp.element.createElement("div",{className:Wn()("tribe-editor__day-of-month-picker",t)},wp.element.createElement(Kn.Select,{className:"tribe-editor__day-of-month-picker__day-of-month-select",backspaceRemovesValue:!1,value:c,isDisabled:r,isSearchable:!1,options:o,onChange:n}))};jo.propTypes={className:co.a.string,isCustom:co.a.bool,onChange:co.a.func,options:co.a.arrayOf(h.proptypes.ReactSelectOption).isRequired,value:h.proptypes.ReactSelectOptions.isRequired};var wo=jo,Lo=r("JXX8"),Do=r("Rkpb");var xo=Object(kt.compose)(Object(ao.withStore)(),Object(no.connect)((e,t)=>{var r;const n=t.blockType===$n.constants.RECURRING?Lo.selectors:Do.selectors,o=(e=>{const{week:t,day:r}=e;return t?`${t}-${r}`:String(r)})({week:n.getWeek(e,t),day:n.getDay(e,t)}),c="undefined"!=typeof tecEventDetails&&(null===(r=tecEventDetails)||void 0===r?void 0:r.isRdate),i=t.isCustom||c?(e=>{const t=e.split("-"),r=Object(wt.get)("tribe_events_pro_recurrence_strings");if(1===t.length){const e=t[0];return[{label:r.customTablesV1.dayOfMonth.date[e],value:String(e)}]}if(2===t.length){const e=t[0]+It[t[1]],n=r.customTablesV1.dayOfMonth.pattern[e];return[{label:n.label,value:n.ordinal.toLowerCase()+"-"+n.day}]}return[]})(o):E.getDayOfMonthOptions(e,t);let s=K()(i,e=>o===e.value);return s=!s&&i.length>0?i[0]:s,{options:i,value:s}},(e,t)=>({onChange:r=>{const n=t.blockType===$n.constants.RECURRING?Lo.actions.editRule:Do.actions.editException,o=Ht(r.value);e(n(t.index,o))}})))(wo);const No=e=>{let{blockType:t,className:r,index:n,isCustom:o}=e;return wp.element.createElement(ro.LabeledRow,{className:Wn()("tribe-editor__on-day-of-month-picker",r),label:Object(Po.__)("On the","tribe-events-calendar-pro")},wp.element.createElement(xo,{blockType:t,isCustom:o,index:n}))};No.propTypes={blockType:co.a.oneOf(lt.BLOCK_TYPES),className:co.a.string,index:co.a.number.isRequired,isCustom:co.a.bool};var Co=No;const Io=(e,t)=>{const{blockType:r,index:n}=t,o=R.store.getState(),c=r===lt.RECURRING?b:l,i=c.getTypeOption(o,{index:n}),s=c.isRuleTypeCustom(o,{index:n});return wp.element.createElement(Ro,{blockType:r,disabled:s,index:n,selected:i})},Mo=(e,t)=>{const{blockType:r,index:n}=t,o=(r===lt.RECURRING?b:l).isRuleTypeCustom(R.store.getState(),{index:n});return wp.element.createElement(ro.OnDayOfWeek,{blockType:r,sundayDisabled:o,mondayDisabled:o,tuesdayDisabled:o,wednesdayDisabled:o,thursdayDisabled:o,fridayDisabled:o,saturdayDisabled:o,index:n})},Ao=(e,t)=>{const{blockType:r,index:n}=t,o=(r===lt.RECURRING?b:l).isRuleTypeCustom(R.store.getState(),{index:n});return wp.element.createElement(Co,{blockType:r,isCustom:o,index:n})},Yo=(e,t)=>{const{blockType:r,index:n}=t,o=(r===lt.RECURRING?b:l).isRuleTypeCustom(R.store.getState(),{index:n});return wp.element.createElement(ro.InMonth,{blockType:r,disabled:o,index:n})},Fo=(e,t)=>{const{blockType:r,index:n}=t,o=(r===lt.RECURRING?b:l).isRuleTypeCustom(R.store.getState(),{index:n});return wp.element.createElement(ro.SeriesEnds,{blockType:r,dayPickerInputDisabled:o,numberInputDisabled:o,selectDisabled:o,index:n})},{addFilter:Uo}=wp.hooks,{__:Ho}=wp.i18n;var Bo=()=>{Uo("elements.exceptionField.dailyTypePickerRowLabelHook","tec/filterDailyTypePickerRowLabelHook",()=>Ho("Not","tribe-events-calendar-pro")),Uo("elements.exceptionField.dailyAfterTypePickerHook","tec/filterDailyAfterTypePicker",Io),Uo("elements.exceptionField.dailySeriesEndsRowLabelHook","tec/filterDailySeriesEndsRowLabel",()=>{})};const{addFilter:Go}=wp.hooks,{__:Vo}=wp.i18n;var Wo=()=>{Go("elements.exceptionField.weeklyTypePickerRowLabelHook","tec/filterWeeklyTypePickerRowLabelHook",()=>Vo("Not","tribe-events-calendar-pro")),Go("elements.exceptionField.weeklyAfterTypePickerHook","tec/filterWeeklyAfterTypePicker",Io),Go("elements.exceptionField.weeklyOnDayOfWeekHook","tec/filterWeeklyOnDayOfWeek",Mo),Go("elements.exceptionField.weeklySeriesEndsHook","tec/filterWeeklySeriesEnds",Fo)};const{addFilter:Ko}=wp.hooks,{__:$o}=wp.i18n;var Xo=()=>{Ko("elements.exceptionField.monthlyTypePickerRowLabelHook","tec/filterMonthlyTypePickerRowLabelHook",()=>$o("Not","tribe-events-calendar-pro")),Ko("elements.exceptionField.monthlyAfterTypePickerHook","tec/filterMonthlyAfterTypePicker",Io),Ko("elements.exceptionField.monthlySeriesEndsHook","tec/filterMonthlySeriesEnds",Fo)};const{addFilter:qo}=wp.hooks,{__:Jo}=wp.i18n;var zo=()=>{qo("elements.exceptionField.yearlyTypePickerRowLabelHook","tec/filterYearlyTypePickerRowLabelHook",()=>Jo("Not","tribe-events-calendar-pro")),qo("elements.exceptionField.yearlyAfterTypePickerHook","tec/filterYearlyAfterTypePicker",Io),qo("elements.exceptionField.yearlyInMonthHook","tec/filterYearlyInMonth",Yo),qo("elements.exceptionField.yearlySeriesEndsHook","tec/filterYearlySeriesEnds",Fo)};var Qo=()=>{to(),Bo(),Wo(),Xo(),zo()};const{addFilter:Zo}=wp.hooks,ec=(e,t,r)=>l.getExceptionRuleTypes(t,{index:r});var tc=()=>{Zo("elements.exceptionForm.exceptionFieldOptionsHook","tec/filterExceptionFieldOptions",ec)},rc=r("GE2E");const{addFilter:nc}=wp.hooks,oc=Object(wt.get)("tribe_events_pro_recurrence_strings"),{lockIconTooltip:cc}=oc.customTablesV1.recurrence,ic=(e,t)=>{const{blockType:r,children:n,className:o,disabled:c,index:i,onClick:s,value:a}=t,u=r===$n.constants.RECURRING,d=R.store.getState(),p=(u?b:l).isRuleTypeCustom(d,{index:i}),y=Object(N.toMoment)(Object(Dt.getStart)(d)).month()+1,f=Object(Zr.useMemo)(()=>!u||p||y!==X.MONTHS_OF_THE_YEAR_MAPPING_TO_STATE[a]?wp.element.createElement(Zr.Fragment,null,wp.element.createElement(rc.Close,null),wp.element.createElement("span",{className:"tribe-editor__month-tag__remove"},Object(Po.__)("Remove","tribe-events-calendar-pro"))):wp.element.createElement("span",{className:"tribe-editor__month-tag__lock dashicons dashicons-lock",title:cc}),[u,p,y,a]);return wp.element.createElement("button",{className:Wn()({"tribe-editor__month-tag":!0,"tribe-editor__month-tag--disabled":c},o),disabled:c,onClick:s},f,n)};var sc=()=>{nc("elements.monthTag.monthTagContentHook","tec/filterMonthTagContent",ic)};const{addFilter:lc}=wp.hooks,{__:ac}=wp.i18n;var uc=()=>{lc("elements.recurringField.singularTypePickerRowLabelHook","tec/filterSingularTypePickerRowLabelHook",()=>ac("Happens","tribe-events-calendar-pro"))};const{addFilter:dc}=wp.hooks,{__:pc}=wp.i18n;var bc=()=>{dc("elements.recurringField.dailyFromTimeRangePickerHook","tec/filterDailyFromTimeRangePicker",()=>null),dc("elements.recurringField.dailyRecurringToDateTimePickerHook","tec/filterDailyFromTimeRangePicker",()=>null),dc("elements.recurringField.dailyTypePickerRowLabelHook","tec/filterDailyTypePickerRowLabelHook",()=>pc("Happens","tribe-events-calendar-pro")),dc("elements.recurringField.dailyAfterTypePickerHook","tec/filterDailyAfterTypePicker",Io)};const{addFilter:yc}=wp.hooks,{__:fc}=wp.i18n;var Ec=()=>{yc("elements.recurringField.weeklyFromTimeRangePickerHook","tec/filterWeeklyFromTimeRangePicker",()=>null),yc("elements.recurringField.weeklyRecurringToDateTimePickerHook","tec/filterWeeklyFromTimeRangePicker",()=>null),yc("elements.recurringField.weeklyTypePickerRowLabelHook","tec/filterWeeklyTypePickerRowLabelHook",()=>fc("Happens","tribe-events-calendar-pro")),yc("elements.recurringField.weeklyAfterTypePickerHook","tec/filterWeeklyAfterTypePicker",Io),yc("elements.recurringField.weeklyOnDayOfWeekHook","tec/filterWeeklyOnDayOfWeek",Mo),yc("elements.recurringField.weeklySeriesEndsHook","tec/filterWeeklySeriesEnds",Fo)};const{addFilter:Oc}=wp.hooks,{__:_c}=wp.i18n;var gc=()=>{Oc("elements.recurringField.monthlyFromTimeRangePickerHook","tec/filterMonthlyFromTimeRangePicker",()=>null),Oc("elements.recurringField.monthlyRecurringToDateTimePickerHook","tec/filterMonthlyFromTimeRangePicker",()=>null),Oc("elements.recurringField.monthlyTypePickerRowLabelHook","tec/filterMonthlyTypePickerRowLabelHook",()=>_c("Happens","tribe-events-calendar-pro")),Oc("elements.recurringField.monthlyAfterTypePickerHook","tec/filterMonthlyAfterTypePicker",Io),Oc("elements.recurringField.monthlyOnDayOfMonthPickerHook","tec/filterMonthlyOnDayOfMonthPicker",Ao),Oc("elements.recurringField.monthlySeriesEndsHook","tec/filterMonthlySeriesEnds",Fo)};const{addFilter:vc}=wp.hooks,{__:mc}=wp.i18n;var Sc=()=>{vc("elements.recurringField.yearlyFromTimeRangePickerHook","tec/filterYearlyFromTimeRangePicker",()=>null),vc("elements.recurringField.yearlyRecurringToDateTimePickerHook","tec/filterYearlyFromTimeRangePicker",()=>null),vc("elements.recurringField.yearlyTypePickerRowLabelHook","tec/filterYearlyTypePickerRowLabelHook",()=>mc("Happens","tribe-events-calendar-pro")),vc("elements.recurringField.yearlyAfterTypePickerHook","tec/filterYearlyAfterTypePicker",Io),vc("elements.recurringField.yearlyInMonthHook","tec/filterYearlyInMonth",Yo),vc("elements.recurringField.yearlyOnDayOfMonthPickerHook","tec/filterYearlyOnDayOfMonthPicker",Ao),vc("elements.recurringField.yearlySeriesEndsHook","tec/filterYearlySeriesEnds",Fo)};var Tc=()=>{uc(),bc(),Ec(),gc(),Sc()};const{__:kc,sprintf:hc}=wp.i18n,{addFilter:Rc}=wp.hooks,Pc=(e,t,r)=>b.getRecurrenceRuleTypes(t,{index:r});var jc=()=>{var e;Rc("elements.recurringForm.recurringFieldOptionsHook","tec/filterRecurringFieldOptions",Pc),"undefined"!=typeof tecEventDetails&&null!==(e=tecEventDetails)&&void 0!==e&&e.isRdateNoticeParts&&Rc("elements.recurringForm.outputBeforeRecurringForm","tec/filterRecurringForm",e=>{const{name:t,url:r}=tecEventDetails.isRdateNoticeParts,n=hc(kc("This is a single occurrence. To change recurrence rules, go to %1$s.","tribe-events-calendar-pro"),`${t}`);return wp.element.createElement("div",null,wp.element.createElement("p",{dangerouslySetInnerHTML:{__html:n}}))})};const{Tooltip:wc}=wp.components,{addFilter:Lc}=wp.hooks,{__:Dc}=wp.i18n,xc=(e,t)=>{const{afterSelect:r,blockType:n,dispatch:o,index:i,options:s,selected:l}=t,a=n===$n.constants.RECURRING,u=a?Lo.actions.editRule:Do.actions.editException,p=a?d.editRecurrenceRule:c.editExceptionRule;return wp.element.createElement(Zr.Fragment,null,wp.element.createElement(Kn.Select,{className:"tribe-editor__type-picker__type-select",backspaceRemovesValue:!1,value:l,isSearchable:!1,options:s,onChange:e=>{o(p(i,{typeId:e.id})),o(u(i,{[$n.constants.KEY_TYPE]:e.value}))},getOptionValue:e=>e.id}),r)},Nc=(e,t,r)=>(r.blockType===$n.constants.RECURRING?b:l).getTypeOption(t,r),Cc=(e,t,r)=>{const{blockType:n,index:o}=r;if(n===$n.constants.EXCEPTION)return e;if(!b.isRuleTypeCustom(t,{index:o}))return e;const c=Dc("This custom recurrence rule was created in a different calendar system\n\r and cannot be edited. Select a different option to create a new rule.","tribe-events-calendar-pro");return wp.element.createElement(wc,{text:c},wp.element.createElement("span",{"aria-label":c,className:"tribe-editor__type-picker__type-select-after-tooltip dashicons dashicons-info",tabIndex:"0"}))};var Ic=()=>{Lc("elements.typePicker.typePickerContentHook","tec/filterTypePickerContent",xc),Lc("elements.typePicker.typePickerSelectedOptionHook","tec/filterTypePickerSelectedOption",Nc),Lc("elements.typePicker.afterTypePickerSelectHook","tec/filterAfterTypePickerSelect",Cc)};r("Ixdi");function Mc(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function Ac(e){for(var t=1;t{Qn(),Qo(),tc(),sc(),Tc(),jc(),Ic()})();const{subscribe:Yc,select:Fc}=wp.data,Uc=window.jQuery,Hc={isSavingMetaBoxes:!1};let Bc=0,Gc=null,Vc=null;const Wc={onMetaboxSave:null,listenForSaveClick:null},Kc=(e,t,r)=>Ac(Ac({},tec.editorDialog.defaultDialogSettings),{},{closeOnEscape:!1,dialogClass:"redirect-no-close",buttons:[{class:"button-primary",text:t,click:()=>(e=>{tec.editorDialog.closeDialog(),window.location.replace(e)})(r)}],title:e}),$c=e=>{if(!e||!e.data)return;Gc=e.data;const{location:t,title:r,message:n,confirmButtonLabel:o,forceRedirect:c}=Gc;c&&t?window.location.replace(t):t&&r&&n&&o&&(Wc.onMetaboxSave&&Wc.onMetaboxSave(),Wc.listenForSaveClick&&Wc.listenForSaveClick(),ln(),an((e=>{const t=[];return t.push({type:"text",text:e}),t})(n)),tec.editorDialog.setDialogSettings(Kc(r,o,t)),tec.editorDialog.openDialog(),Vc||(Vc=document.createElement("style"),Vc.type="text/css",Vc.innerText=".redirect-no-close .ui-dialog-titlebar-close {display: none;}"),Vc.isConnected||document.head.appendChild(Vc))},Xc=()=>{if(!window.tecCustomTablesV1BlocksEditor)return;const e=Fc("core/editor"),{ajaxurl:t,redirectAction:r,redirectNonceName:n,redirectNonce:o,eventPostId:c}=tecCustomTablesV1BlocksEditor;Bc=0,Uc.get(t,{action:r,[n]:o,event_id:e.getCurrentPostId(),event_post_id:c}).done($c).fail(qc)},qc=(e,t,r)=>{if(Bc+=1,Bc<3)return console.error("tec_custom_tables_v1_redirect_data ajax request failed, retrying again.",r),void Xc();console.error("tec_custom_tables_v1_redirect_data ajax request failed:",r)},Jc=()=>{(Fc("core/edit-post").isSavingMetaBoxes()?(Hc.isSavingMetaBoxes=!0,0):Hc.isSavingMetaBoxes&&(Hc.isSavingMetaBoxes=!1,1))&&Xc()};(()=>{Wc.onMetaboxSave=Yc(Jc)})();const{Button:zc}=wp.components,{PluginPostStatusInfo:Qc}=wp.editPost,{__:Zc}=wp.i18n;var ei=e=>{let{status:t}=e;return""!==tec_events_pro_duplicate.duplicate_link&&"auto-draft"!==t&&wp.element.createElement(Qc,null,wp.element.createElement(zc,{isTertiary:!0,className:"tec-event-duplicate-action__duplicate-link",href:tec_events_pro_duplicate.duplicate_link,style:{marginLeft:"-6px",textDecoration:"underline"},target:"_blank"},Zc("Duplicate","tribe-events-calendar-pro")))};const ti=wp.data.withSelect(e=>({select:e("core/editor").getEditedPostAttribute("status")}));var ri=Object(kt.compose)(ti)(ei);wp.plugins.registerPlugin("tec-event-duplicate",{render:ri});const{subscribe:ni,select:oi}=wp.data,ci=window.jQuery;let ii=0;const si={saveButton:null,eventSeriesSelect:null},li="hidden",ai={listenForEventSeriesSelect:null,getSeriesData:null},ui={isSavingPost:!1,isSavingMetaBoxes:!1},di=e=>{const t={title:null,id:null};return"string"==typeof e&&(t.title=e),"object"==typeof e&&(t.title=e.title,t.id=e.id),t},pi=e=>JSON.stringify(e),bi=()=>{if(!window.tecCustomTablesV1BlocksEditor)return;const e=oi("core/editor"),{ajaxurl:t,seriesAction:r,seriesNonce:n,seriesNonceName:o}=tecCustomTablesV1BlocksEditor;ci.get(t,{action:r,[o]:n,event_id:e.getCurrentPostId()}).done(e=>{_i(e),ii=0}).fail(gi)},yi=()=>{(oi("core/edit-post").isSavingMetaBoxes()?(ui.isSavingMetaBoxes=!0,0):ui.isSavingMetaBoxes&&(ui.isSavingMetaBoxes=!1,1))&&bi()},fi=()=>{si.eventSeriesSelect||(si.eventSeriesSelect=document.querySelector(fn))},Ei=e=>{const t=e.data.$target,r=t.find(":selected");if(!r.length)return;const n=t.parent().find(En);if("-1"===r.val())return void n.addClass(li);const o=r.data("editLink");o?(n.find(On).attr("href",o),n.removeClass(li)):n.addClass(li)},Oi=()=>{if(fi(),!si.eventSeriesSelect)return;if("-1"!==String(si.eventSeriesSelect.value))return;const e=(()=>{const e=oi("core/editor"),t=String(e.getPostEdits().title).trim();return"undefined"!==t?String(t):String(e.getCurrentPost().title).trim()})();if(!e.length)return;const t=pi(di(e)),r=new Option(e,t,!0,!0);ci(si.eventSeriesSelect).append(r).trigger("change")},_i=e=>{const t=ci(si.eventSeriesSelect),r=t.find(":selected");if(void 0!==e.data.id&&void 0!==e.data.edit_link){if(e.data.id){const t=pi(di(e.data));r.attr("value",t)}e.data.edit_link&&r.attr("data-edit-link",e.data.edit_link),t.trigger("change")}},gi=(e,t,r)=>{if(ii+=1,ii<3)return console.error("tec_custom_tables_v1_series_data ajax request failed, retrying again.",r),void bi();console.error("tec_custom_tables_v1_series_data ajax request failed:",r)},vi=()=>{(()=>{const e=pn("core/editor").isSavingPost();return!(!bn.isSavingPost&&!e)&&(!bn.isSavingPost&&e?(bn.isSavingPost=e,!1):(!bn.isSavingPost||!e)&&(bn.isSavingPost=e,!0))})()&&(ai.getSeriesData(),ai.getSeriesData=null,bi())},mi=()=>{(()=>{const e=oi("core/block-editor").getBlocks().filter(e=>"tribe/event-datetime"===e.name);return!!e.length&&(e[0].attributes.rules&&"[]"!==e[0].attributes.rules)})()&&(Oi(),(()=>{const e=ci(si.eventSeriesSelect).find(":selected");if(!e.length)return!1;if("-1"===e.val())return!1;return!e.data("editLink")})()&&(ai.getSeriesData=ni(vi)))},Si=()=>{si.saveButton&&si.saveButton.isConnected||(si.saveButton=document.querySelector(yn),si.saveButton&&si.saveButton.addEventListener("click",mi,!0))},Ti=()=>{if(fi(),!si.eventSeriesSelect)return;ai.listenForEventSeriesSelect(),ai.listenForEventSeriesSelect=null;const e=ci(si.eventSeriesSelect);e.on("change",{$target:e},Ei)};(()=>{ni(Si),ni(yi),ai.listenForEventSeriesSelect=ni(Ti)})()},O7uX:function(e,t,r){},OluY:function(e,t){e.exports=tribe["events-pro"].data.status.sagas},OuoG:function(e,t){e.exports=tribe["events-pro"].data.blocks.exception.types},PSCs:function(e,t){e.exports=tribe["events-pro"].data.blocks},Q9xL:function(e,t){e.exports=tribe.common.hoc},Rkpb:function(e,t){e.exports=tribe["events-pro"].data.blocks.exception},RmXt:function(e,t){e.exports=tribe.modules.reduxSaga.effects},SOG1:function(e,t){e.exports=tribe.events.data.blocks.datetime.selectors},UnPw:function(e,t){e.exports=tribe["events-pro"].data.blocks.exception.selectors},Yht6:function(e,t){e.exports=tribe.events.data.blocks.datetime.types},cDcd:function(e,t){e.exports=React},g8L8:function(e,t){e.exports=tribe.common.store},gGza:function(e,t){e.exports=tribe["events-pro"].data.blocks.recurring.constants},gSph:function(e,t){e.exports=tribe["events-pro"].data.blocks.constants},h74D:function(e,t){e.exports=tribe.modules.reactRedux},"iy/v":function(e,t){e.exports=tribe["events-pro"].data.blocks.recurring.selectors},kczL:function(e,t){e.exports=tribe.common.utils.globals},l3Sj:function(e,t){e.exports=wp.i18n},pVH8:function(e,t){e.exports=tribe["events-pro"].data.blocks.recurring.types},rKB8:function(e,t){e.exports=tribe.modules.redux},rf6O:function(e,t){e.exports=tribe.modules.propTypes},tPgE:function(e,t){e.exports=tribe["events-pro"].data.blocks.exception.actions},tbMi:function(e,t){e.exports=tribe.common.utils.date},wy2R:function(e,t){e.exports=moment},zCYh:function(e,t){e.exports=tribe.common.utils.moment}}); \ No newline at end of file +var tribe="object"==typeof tribe?tribe:{};tribe["custom-tables-v1"]=tribe["custom-tables-v1"]||{},tribe["custom-tables-v1"].ct1=function(e){function t(t){for(var n,i,s=t[0],l=t[1],a=t[2],d=0,p=[];d({type:"@@MT/EVENTS_PRO/SET_PREVIOUS_START_DATE_TIME",payload:{start:e}});var j=r("MWqi");const w="tec-events-pro",L=Object(j.createSelector)([e=>e[n.TEC_EVENTS_PRO_PLUGIN].blocks.datetime],e=>e.previousStart);var D=r("lSNA"),x=r.n(D),N=r("zCYh"),C=r("MXy+");function I(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function M(e){for(var t=1;t({type:U,payload:e}),V=e=>({type:F,index:e}),G=(e,t)=>({type:H,index:e,payload:t});var W=r("6OzC"),K=r.n(W),$=r("UnPw"),X=r("gGza");const{__:q}=wp.i18n,J=q("day","tribe-events-calendar-pro"),z=q("week","tribe-events-calendar-pro"),Q=q("month","tribe-events-calendar-pro"),Z=q("year","tribe-events-calendar-pro"),ee=q("days","tribe-events-calendar-pro"),te=q("weeks","tribe-events-calendar-pro"),re=q("months","tribe-events-calendar-pro"),ne=q("years","tribe-events-calendar-pro"),oe=q("once","tribe-events-calendar-pro"),ce=q("daily","tribe-events-calendar-pro"),ie=q("weekly","tribe-events-calendar-pro"),se=q("monthly","tribe-events-calendar-pro"),le=q("yearly","tribe-events-calendar-pro"),ae=q("weekly (custom)","tribe-events-calendar-pro"),ue=q("monthly (custom)","tribe-events-calendar-pro"),de=q("yearly (custom)","tribe-events-calendar-pro"),pe=X.WEEKLY+"-custom",be=X.MONTHLY+"-custom",ye=X.YEARLY+"-custom",fe="isOffStart",Ee={label:ae,value:X.WEEKLY,id:pe},Oe={label:ue,value:X.MONTHLY,id:be},_e={label:de,value:X.YEARLY,id:ye},ve=[{label:oe,value:X.SINGLE,id:X.SINGLE},{label:ce,value:X.DAILY,id:X.DAILY},{label:ie,value:X.WEEKLY,id:X.WEEKLY},{label:se,value:X.MONTHLY,id:X.MONTHLY},{label:le,value:X.YEARLY,id:X.YEARLY}],ge=[Ee,Oe,_e],me=(e,t)=>t.index,Te=e=>e[n.TEC_EVENTS_PRO_PLUGIN].blocks.exception,Se=Object(j.createSelector)([Te,me],(e,t)=>e[t]),ke=Object(j.createSelector)([Se],e=>e.ruleTypes||ve),Re=Object(j.createSelector)([Se],e=>e.isOffStart),Pe=Object(j.createSelector)([Se],e=>e.offStartIndex),he=Object(j.createSelector)([Se],e=>e.typeId),je=Object(j.createSelector)([$.getType,he],(e,t)=>{const r=[...ve];return K()(r,r=>{const n=r.value===e;return t?n&&r.id===t:n})}),we=Object(j.createSelector)([he],e=>!!e&&e.includes("custom"));var Le=r("RmXt"),De=r("OuoG");function*xe(){const e=(yield Object(Le.select)($.getExceptions)).filter(e=>e.type!==X.SINGLE),t={isOffStart:!1,offStartIndex:-1,typeId:X.SINGLE};if(e.length){const e=ve.filter(e=>e.value===X.SINGLE);t.ruleTypes=e}else t.ruleTypes=ve;yield Object(Le.put)(B(t))}function*Ne(e){yield Object(Le.put)(V(e.index));const t=yield Object(Le.select)($.getExceptions);t.filter(e=>e.type!==X.SINGLE).length||(yield Object(Le.all)(t.map((e,t)=>Object(Le.put)(G(t,{ruleTypes:ve})))))}function*Ce(){const e=yield Object(Le.select)($.getExceptions);if(e.filter(e=>e.type!==X.SINGLE).length){const t=ve.filter(e=>e.value===X.SINGLE);yield Object(Le.all)(e.map((e,r)=>{if(e.type===X.SINGLE)return Object(Le.put)(G(r,{ruleTypes:t}))}))}else yield Object(Le.all)(e.map((e,t)=>Object(Le.put)(G(t,{ruleTypes:ve}))))}function*Ie(){yield Object(Le.takeEvery)([De.ADD_EXCEPTION_FIELD],xe),yield Object(Le.takeEvery)([De.REMOVE_EXCEPTION],Ne),yield Object(Le.takeEvery)([De.EDIT_EXCEPTION],Ce)}const Me=[],Ae=e=>{if(e.meta._tribe_blocks_recurrence_exclusions)try{const t=JSON.parse(e.meta._tribe_blocks_recurrence_exclusions),r=t.filter(e=>e.type!==X.SINGLE),n=ve.filter(e=>e.value===X.SINGLE);t.forEach((e,t)=>{const o={isOffStart:!1,offStartIndex:-1,typeId:e.type};r.length&&e.type===X.SINGLE?o.ruleTypes=n:o.ruleTypes=ve,Me.push(o)})}catch(e){console.error(e)}};var Ye=(e=Me,t)=>{switch(t.type){case U:return[...e,t.payload];case F:return e.filter((e,r)=>r!==t.index);case H:return((e,t)=>{const r=Object.assign({},e[t.index],t.payload);return 1===e.length?[r]:[...e.slice(0,t.index),r,...e.slice(t.index+1)]})(e,t);default:return e}};const Ue="@@MT/EVENTS_PRO/ADD_RECURRENCE_RULE",Fe="@@MT/EVENTS_PRO/REMOVE_RECURRENCE_RULE",He="@@MT/EVENTS_PRO/EDIT_RECURRENCE_RULE",Be=e=>({type:Ue,payload:e}),Ve=e=>({type:Fe,index:e}),Ge=(e,t)=>({type:He,index:e,payload:t});var We=r("iy/v");const Ke={label:ae,value:X.WEEKLY,id:pe},$e={label:ue,value:X.MONTHLY,id:be},Xe={label:de,value:X.YEARLY,id:ye},qe=[{label:oe,value:X.SINGLE,id:X.SINGLE},{label:ce,value:X.DAILY,id:X.DAILY},{label:ie,value:X.WEEKLY,id:X.WEEKLY},{label:se,value:X.MONTHLY,id:X.MONTHLY},{label:le,value:X.YEARLY,id:X.YEARLY}],Je=[Ke,$e,Xe],ze=(e,t)=>t.index,Qe=e=>e[n.TEC_EVENTS_PRO_PLUGIN].blocks.recurring,Ze=Object(j.createSelector)([Qe,ze],(e,t)=>e[t]),et=Object(j.createSelector)([Ze],e=>e.ruleTypes||qe),tt=Object(j.createSelector)([Ze],e=>e.isOffStart),rt=Object(j.createSelector)([Ze],e=>e.offStartIndex),nt=Object(j.createSelector)([Ze],e=>e.typeId),ot=Object(j.createSelector)([We.getType,nt],(e,t)=>{let r=[...qe];return t&&(r=[...r,...Je]),K()(r,r=>{const n=r.value===e;return t?n&&r.id===t:n})}),ct=Object(j.createSelector)([nt],e=>!!e&&e.includes("custom"));var it=r("tbMi"),st=r("gSph"),lt=r("pVH8"),at=r("13aI");function*ut(){const e=(yield Object(Le.select)(We.getRules)).filter(e=>e.type!==X.SINGLE),t={isOffStart:!1,offStartIndex:-1,typeId:X.SINGLE};if(e.length){const e=qe.filter(e=>e.value===X.SINGLE);t.ruleTypes=e}else t.ruleTypes=qe;yield Object(Le.put)(Be(t))}function*dt(e){yield Object(Le.put)(Ve(e.index));const t=yield Object(Le.select)(We.getRules);t.filter(e=>e.type!==X.SINGLE).length||(yield Object(Le.all)(t.map((e,t)=>Object(Le.put)(Ge(t,{ruleTypes:qe})))))}function*pt(e){if(e.sync)return;const t=yield Object(Le.select)(We.getRules);if(t.filter(e=>e.type!==X.SINGLE).length){const e=qe.filter(e=>e.value===X.SINGLE);yield Object(Le.all)(t.map((t,r)=>{if(t.type===X.SINGLE)return Object(Le.put)(Ge(r,{ruleTypes:e}))}))}else yield Object(Le.all)(t.map((e,t)=>Object(Le.put)(Ge(t,{ruleTypes:qe}))))}function*bt(){const e=(yield Object(Le.select)(We.getRulesCount))-1,t=yield Object(Le.call)(N.toMoment,it.TODAY),r=yield Object(Le.call)([t,"add"],1,"year"),n=yield Object(Le.call)(N.toDate,r),o=new Date(n);yield Object(Le.put)(at.syncRule(e,{[st.KEY_LIMIT_DATE_INPUT]:n,[st.KEY_LIMIT_DATE_OBJ]:o}))}function*yt(){yield Object(Le.takeEvery)([lt.ADD_RULE_FIELD],ut),yield Object(Le.takeEvery)([lt.REMOVE_RULE],dt),yield Object(Le.takeEvery)([lt.EDIT_RULE],pt),yield Object(Le.takeEvery)([lt.ADD_RULE],bt)}const ft=[],Et=e=>{if(e.meta._tribe_blocks_recurrence_rules)try{const t=JSON.parse(e.meta._tribe_blocks_recurrence_rules),r=t.filter(e=>e.type!==X.SINGLE),n=qe.filter(e=>e.value===X.SINGLE);t.forEach((e,t)=>{const o={isOffStart:!!e[fe],offStartIndex:-1,typeId:e.type};if(e[fe]){const r=[...qe,p[e.type.toUpperCase()+"_CUSTOM_RECURRENCE_RULE_TYPES_OPTION"]];o.offStartIndex=t,o.typeId=i[e.type.toUpperCase()+"_CUSTOM_TYPE_ID"],o.ruleTypes=r}else r.length&&e.type===X.SINGLE?o.ruleTypes=n:o.ruleTypes=qe;ft.push(o)})}catch(e){console.error(e)}};var Ot=(e=ft,t)=>{switch(t.type){case Ue:return[...e,t.payload];case Fe:return e.filter((e,r)=>r!==t.index);case He:return((e,t)=>{const r=Object.assign({},e[t.index],t.payload);return 1===e.length?[r]:[...e.slice(0,t.index),r,...e.slice(t.index+1)]})(e,t);default:return e}};const _t=e=>e.tickets,vt=Object(j.createSelector)([_t],e=>!!e),gt=Object(j.createSelector)([_t],e=>!!e&&!!e.blocks.rsvp.id),mt=Object(j.createSelector)([_t],e=>!!e&&!!e.blocks.ticket.tickets.allClientIds.length);var Tt=r("rKB8");const St=e=>{(e=>{const{meta:t}=e;Object.keys(Y).forEach(e=>{const r=Y[e];t.hasOwnProperty(r)&&(A[e]=t[r])})})(e),Et(e),Ae(e)};var kt=Object(Tt.combineReducers)({datetime:(e=A,t)=>{switch(t.type){case"@@MT/EVENTS_PRO/SET_PREVIOUS_START_DATE_TIME":return M(M({},e),{},{previousStart:t.payload.start});default:return e}},exception:Ye,recurring:Ot});const Rt=e=>e[n.TEC_EVENTS_PRO_PLUGIN].shared,Pt=Object(j.createSelector)([Rt],e=>e.dayOfMonthOptions);var ht=r("kczL"),jt=r("Yht6"),wt=r("SOG1"),Lt=r("tPgE"),Dt=r("OluY");const xt={1:X.FIRST,2:X.SECOND,3:X.THIRD,4:X.FOURTH,5:X.FIFTH},Nt={1:"Monday",2:"Tuesday",3:"Wednesday",4:"Thursday",5:"Friday",6:"Saturday",7:"Sunday"},Ct=e=>{const t=e.isoWeekday();return Nt[t]},It=e=>{const t=e.date(),r=Math.floor((t-1)/7)+1;return xt[r]},Mt=e=>e.daysInMonth()-e.date()<7,At=e=>e.daysInMonth()===e.date(),Yt=e=>{const t=[],r=Object(ht.get)("tribe_events_pro_recurrence_strings"),n=It(e),o=Ct(e),c=n+o,i=r.customTablesV1.dayOfMonth.pattern[c];if(t.push({label:i.label,value:i.ordinal.toLowerCase()+"-"+i.day}),Mt(e)){const e="last"+o,n=r.customTablesV1.dayOfMonth.pattern[e];t.push({label:n.label,value:n.ordinal.toLowerCase()+"-"+n.day})}if(At(e)){const e="lastDay",n=r.customTablesV1.dayOfMonth.pattern[e];t.push({label:n.label,value:n.ordinal.toLowerCase()+"-"+n.day})}const s=e.date(),l=r.customTablesV1.dayOfMonth.date[s];return t.push({label:l,value:String(s)}),t},Ut=e=>{const t=e.split("-");if(1===t.length)return{[st.KEY_WEEK]:null,[st.KEY_DAY]:Number(t[0])};if(2===t.length){const e=t[0],r=Number(t[1]);return{[st.KEY_WEEK]:e,[st.KEY_DAY]:r}}return{}},{SINGLE:Ft,DAILY:Ht,WEEKLY:Bt,MONTHLY:Vt,YEARLY:Gt,LAST:Wt}=X;function*Kt({selectors:e},t,r){const n=yield Object(Le.select)(e.getWeek,{index:t}),o=yield Object(Le.select)(e.getDay,{index:t});if(!n&&o){return o===(yield Object(Le.call)([r,"date"]))}if(n){const e=yield Object(Le.call)([r,"isoWeekday"]),t=yield Object(Le.call)(It,r),c=yield Object(Le.call)(Mt,r),i=yield Object(Le.call)(At,r),s=o===e||8===o&&i;return(n===t||(c||i)&&n===Wt)&&s}return!1}function*$t({selectors:e},t,r){const n=((e,t)=>{const r=parseInt(t);return e?8===r?"last-day-in-month":"last"===e?"last-day-of-week-in-month":"day-of-week-in-month":t?"day-n":null})(yield Object(Le.select)(e.getWeek,{index:t}),yield Object(Le.select)(e.getDay,{index:t})),o=r.map(e=>{return(t=e.value)?"last-8"===t?"last-day-in-month":t.match(/(first|second|third|fourth|fifth)-\d/)?"day-of-week-in-month":t.match(/last-\d/)?"last-day-of-week-in-month":"day-n":null;var t}).indexOf(n);return o>=0?o:0}function*Xt(e,t,r){const n=yield Object(Le.call)(Yt,r.startMoment),o=yield Object(Le.call)($t,e,t,n),c=yield Object(Le.call)(Ut,n[o].value);yield Object(Le.put)(e.actions.sync(t,c))}function*qt(e,t,r){if(tecEventDetails.isRdate)return;const{startMoment:n,prevStartMoment:o}=r,c=yield Object(Le.call)([n,"isSame"],o,"day"),i=yield Object(Le.call)(Kt,e,t,n);c&&i||(yield Object(Le.call)(Xt,e,t,r))}function*Jt({actions:e,selectors:t},r,{startMoment:n,prevStartMoment:o}){const c=yield Object(Le.call)([n,"isoWeekday"]),i=yield Object(Le.call)([o,"isoWeekday"]),s=yield Object(Le.select)(t.getDays,{index:r});if(tecEventDetails.isRdate)return;if(c===i&&s.includes(c))return;const l=s.filter(e=>e!==i);l.includes(c)||(l.push(c),l.sort((e,t)=>e-t)),yield Object(Le.put)(e.sync(r,{[st.KEY_DAYS]:l}))}function*zt({actions:e,selectors:t},r,{startMoment:n,prevStartMoment:o}){const c=(yield Object(Le.call)([n,"month"]))+1,i=(yield Object(Le.call)([o,"month"]))+1,s=yield Object(Le.select)(t.getMonth,{index:r});if(tecEventDetails.isRdate)return;if(c===i&&s.includes(c))return;const l=s.filter(e=>e!==i);l.includes(c)||(l.push(c),l.sort((e,t)=>e-t)),yield Object(Le.put)(e.sync(r,{[st.KEY_MONTH]:l}))}function*Qt(e){const t=b,r=We,n={sync:at.syncRule},o=We.getRulesCount,c=yield Object(Le.select)(wt.getStart),i=yield Object(Le.call)(N.toMoment,c),s=yield Object(Le.select)(L),l=yield Object(Le.call)(N.toMoment,s),a=yield Object(Le.select)(o),u={startMoment:i,prevStartMoment:l};let d,p,y,f=0;const E=yield Object(Le.call)(Yt,i);for(yield Object(Le.put)((({options:e})=>({type:"@@MT/EVENTS_PRO/SET_DAY_OF_MONTH_OPTIONS",payload:{options:e}}))({options:E}));f(fe===t||(e[t]=o[t]),e),{}),i=t?at.syncRule:Lt.syncException;yield Object(Le.put)(i(e.index,c))}const nr=e=>function*(t,r){if(yield Object(Le.select)(e.selectors.isRuleTypeCustom,{index:r}))return;const n=yield Object(Le.select)(e.proSelectors.getType,{index:r}),o={isOffStart:!1,offStartIndex:-1};(yield Object(Le.select)(e.proSelectors.getRules)).filter(e=>e.type!==Ft).length&&n===Ft||(o.ruleTypes=e.options.ruleTypeOptions),yield Object(Le.put)(e.actions.edit(r,o))};function*or(){const e=yield Object(Le.select)(Qe),t=yield Object(Le.select)(Te);yield Object(Le.all)(e.map((e,t)=>Object(Le.call)(nr({actions:{edit:Ge},selectors:b,proSelectors:We,options:{ruleTypeOptions:qe}}),e,t))),yield Object(Le.all)(t.map((e,t)=>Object(Le.call)(nr({actions:{edit:G},selectors:l,proSelectors:$,options:{ruleTypeOptions:ve}}),e,t)))}function*cr(){yield Object(Le.takeEvery)([jt.SET_START_DATE_TIME],er),yield Object(Le.takeEvery)([lt.EDIT_RULE],tr),yield Object(Le.takeEvery)([He],rr),yield Object(Le.takeEvery)([H],rr);const e=yield Object(Le.call)(Dt.createWPEditorChannel);for(;;)yield Object(Le.take)(e),yield Object(Le.call)(or)}var ir=r("wy2R");function sr(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function lr(e){for(var t=1;t{switch(t.type){case"@@MT/EVENTS_PRO/UPDATE_EVENT_DETAILS_EVENT":return dr(dr({},e),t.payload);default:return e}};function yr(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function fr(e){for(var t=1;t{switch(t.type){case"@@MT/EVENTS_PRO/UPDATE_EVENT_DETAILS_OCCURRENCE":return fr(fr({},e),t.payload);default:return e}};function _r(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function vr(e){for(var t=1;t{switch(t.type){case"@@MT/EVENTS_PRO/UPDATE_EVENT_DETAILS_SERIES":return vr(vr({},e),t.payload);default:return e}};function Tr(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function Sr(e){for(var t=1;te[n.TEC_EVENTS_PRO_PLUGIN].eventDetails;Object(j.createSelector)([Rr],e=>e.event),Object(j.createSelector)([Rr],e=>e.occurrence),Object(j.createSelector)([Rr],e=>e.series);var Pr=(e=kr,t)=>{switch(t.type){case"@@MT/EVENTS_PRO/UPDATE_EVENT_DETAILS":return Sr(Sr({},e),t.payload);case"@@MT/EVENTS_PRO/UPDATE_EVENT_DETAILS_EVENT":return Sr(Sr({},e),{},{event:br(e.event,t)});case"@@MT/EVENTS_PRO/UPDATE_EVENT_DETAILS_OCCURRENCE":return Sr(Sr({},e),{},{occurrence:Or(e.occurrence,t)});case"@@MT/EVENTS_PRO/UPDATE_EVENT_DETAILS_SERIES":return Sr(Sr({},e),{},{series:mr(e.series,t)});default:return e}},hr=Object(Tt.combineReducers)({blocks:kt,shared:(e=ar,t)=>{switch(t.type){case"@@MT/EVENTS_PRO/SET_DAY_OF_MONTH_OPTIONS":return lr(lr({},e),{},{dayOfMonthOptions:t.payload.options});default:return e}},eventDetails:Pr});const{dispatch:jr,select:wr,subscribe:Lr}=wp.data;var Dr=r("yXPU"),xr=r.n(Dr);const{apiFetch:Nr}=wp,{dispatch:Cr,select:Ir,subscribe:Mr}=wp.data,Ar={saving:!1,running:!1,noticeId:"tec-events-pro-occurrences",subscriptions:[],isSavingMetaBoxes:!1};function Yr(){return(Yr=xr()((function*(e){const t=yield Nr({path:`/tec/v1/events/${e}/notices/occurrences/`,method:"GET"});return Array.isArray(t)&&t?t.map(JSON.parse):[]}))).apply(this,arguments)}function Ur(){Array.from(Ar.subscriptions).map(e=>{e()}),Ar.subscriptions=[]}function Fr(e){return function(e){return Yr.apply(this,arguments)}(e).then(t=>{t.length<=0||(Cr("core/notices").createSuccessNotice(t.shift(),{id:Ar.noticeId,isDismissible:!0,__unstableHTML:!0,explicitDismiss:!1}),function(e){const t=Mr(()=>{Ir("core/notices").getNotices().filter(e=>e.id===Ar.noticeId).length<=0&&(t(),e())});Ar.subscriptions.push(t)}(function(e){return xr()((function*(){return yield Nr({path:`/tec/v1/events/${e}/notices/occurrences/`,method:"DELETE"})}))}(e)))})}function Hr(){if(!(Ir("core/edit-post").isSavingMetaBoxes()?(Ar.isSavingMetaBoxes=!0,0):Ar.isSavingMetaBoxes&&(Ar.isSavingMetaBoxes=!1,1))||Ar.running)return!1;const e=Ir("core/editor"),t=e.didPostSaveRequestSucceed();Ar.running=!0;const r=e.getCurrentPostId();return r&&t&&(Ur(),Fr(r).then(Br)),Ar.running}function Br(){Ar.running=!1;const e=Mr(Hr);return Ar.subscriptions.push(e),e}function Vr(){!function(){const e=Mr(()=>{const t=Ir("core/editor");if(!t.__unstableIsEditorReady())return;if(e(),t.isCleanNewPost())return;const r=t.getCurrentPostId();r&&(Ur(),Fr(r).then(Br))});Ar.subscriptions.push(e)}(),Br()}var Gr=()=>{(()=>{const e=Lr(()=>{wr("core/notices").getNotices().forEach(t=>{Dt.NOTICE_EDITING_SERIES===t.id&&(jr("core/notices").removeNotice(t.id),e())})}),t=Lr(()=>{wr("core/editor").__unstableIsEditorReady()&&t()})})(),Vr()};const Wr=e=>{St(e),(e=>{ar.dayOfMonthOptions=Yt(Object(N.toMoment)(e.meta._EventStartDate))})(e)},Kr=()=>{const e=k.globals.postObjects().tribe_events;e.is_new_post||Wr(e);const{dispatch:t,injectReducers:r}=P.store;[a.sagas,y.sagas,cr].forEach(e=>P.store.run(e)),Gr(),r({[n.TEC_EVENTS_PRO_PLUGIN]:hr}),t(R.actions.addPlugin(n.TEC_EVENTS_PRO_PLUGIN))},$r=()=>P.store;var Xr=r("cDcd");const{__:qr}=wp.i18n,Jr=e=>{const t=P.store.getState();return f.isEventTicketsActive(t)&&(f.hasRSVP(t)||f.hasTickets(t))?wp.element.createElement("div",{className:"tribe-editor__not-supported-message"},wp.element.createElement("p",{className:"tribe-editor__not-supported-message-text"},qr("Recurrence patterns are not yet supported for events with tickets or RSVPs.","tribe-events-calendar-pro"),wp.element.createElement("br",null),wp.element.createElement("a",{className:"tribe-editor__not-supported-message-link",href:"https://evnt.is/1b7a",target:"_blank",rel:"noopener noreferrer"},qr("Read about our plans for future features.","tribe-events-calendar-pro")))):e};var zr=()=>{wp.hooks.addFilter("blocks.recurrence.renderRecurrenceHook","tec/filterRenderRecurrence",Jr)};const Qr=(e,t)=>null;var Zr=()=>{wp.hooks.addFilter("blocks.recurrenceDescription.contentHook","tec/filterRecurrenceDescription",Qr)};r("O7uX");Kr(),zr(),Zr();var en=r("HJt2");const{toMoment:tn}=k.moment,rn=()=>{tec.editorDialog.el.$instance.empty()},nn=e=>{e.forEach((function(e){"text"===e.type?tec.editorDialog.el.$instance.append(function(e){return`
                            \n\t\t

                            \n\t\t\t${e.text}\n\t\t

                            \n\t
                            `}(e)):tec.editorDialog.el.$instance.append(function(e){const t=e.checked?"checked":"",r=["tec-events-pro-dialog__input-row","tec-events-pro-dialog__input-row--"+e.type].concat(e.classes).join(" "),n=["tec-events-pro-dialog__radio-input"].concat(e.inputClasses).join(" "),o=["tec-events-pro-dialog__radio-input-label"].concat(e.labelClasses).join(" "),c="tec-events-pro-dialog__radio-input--"+e.type;let i=`
                            \n\t\t\n\t\t
                            ",i}(e))}))},on=()=>{const e=[window.tecEventsSeriesBlockEditor.thisEvent],t=$r().getState(),r=en.selectors.getStart(t),n=tn(r);if(!n.isValid())return e[0];const o=en.selectors.getAllDay(t),c=en.selectors.getDateSeparator(t);let i=n.format("MMMM D, YYYY");return i+=o?" "+window.tecEventsSeriesBlockEditor.allDay:` ${c} ${n.format("H:mma")}`,i=`(${i})`,e.push(i),e.join(" ")};var cn=()=>{tec.editorDialog.setupDialog()};const{select:sn}=wp.data,ln={isSavingPost:!1},an="button.editor-post-publish-button",un="button.editor-post-save-draft",dn="#_tec_relationship_event_to_series",pn=".tec-events-pro-series__edit-link-container",bn=".tec-events-pro-series__edit-link";function yn(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function fn(e){for(var t=1;t{const{editPost:e,savePost:t}=En("core/editor"),r=tec.editorDialog.el.$instance.find("input:checked").val(),n=On("core/editor").getCurrentPost();tec.editorDialog.closeDialog(),e({_tec_update_type:r,_tec_initial_meta:n}),t()},vn=()=>{const e=[],t=(()=>{const e=$r().getState(),t=Object(wt.getStart)(e).split(" ")[0],r=sn("core/editor").getCurrentPost(),{meta:n}=r;return n._EventStartDate.split(" ")[0]!==t})(),r=(()=>{const e=$r().getState(),t=Object(We.getRules)(e),r=sn("core/editor").getCurrentPost(),{meta:n}=r;return(""===n._tribe_blocks_recurrence_rules?"[]":n._tribe_blocks_recurrence_rules)!==JSON.stringify(t)})()||(()=>{const e=$r().getState(),t=Object($.getExceptions)(e),r=sn("core/editor").getCurrentPost(),{meta:n}=r;return(""===n._tribe_blocks_recurrence_exclusions?"[]":n._tribe_blocks_recurrence_exclusions)!==JSON.stringify(t)})(),n=window.tecEventsSeriesBlockEditor,o={single:!0,upcoming:!0,all:!0};return!t||tecEventDetails&&tecEventDetails.isRdate||(o.all=!1),r&&(o.single=!1),o.all||o.single?(o.single&&e.push({type:"single",label:on(),labelHelpText:n.thisEventHelpText,classes:[],inputClasses:[],labelClasses:[],checked:!1}),e.push({type:"upcoming",label:n.upcomingSetting,classes:[],inputClasses:[],labelClasses:[],checked:!o.all}),o.all&&e.push({type:"all",label:n.allEvents,classes:[],inputClasses:[],labelClasses:[],checked:!0}),e):(e.push({type:"text",text:n.effectThisAndFollowingEventsWarning}),e.push({type:"upcoming",label:n.upcomingSetting,classes:["hidden"],inputClasses:[],labelClasses:[],checked:!0}),e)},gn=()=>{tec.editorDialog.el.$instance.attr("title",window.tecEventsSeriesBlockEditor.editModalTitle),rn(),nn(vn()),tec.editorDialog.setDialogSettings(fn(fn({},tec.editorDialog.defaultDialogSettings),{},{buttons:[{class:"button-primary",text:window.tecEventsSeriesBlockEditor.okButton,click:_n}]})),tec.editorDialog.openDialog()},mn=()=>{const e=On("core/editor").getCurrentPost(),{meta:t}=e;if(t._tec_requires_first_save)return;""!==t._tribe_blocks_recurrence_rules&&"[]"!==t._tribe_blocks_recurrence_rules&&gn()},{dispatch:Tn,select:Sn,subscribe:kn}=wp.data,Rn={unsubscribe:null},Pn=()=>{const{meta:e}=Sn("core/editor").getCurrentPost();if(!e)return;if(Sn("core/editor").isSavingPost())return;Rn.unsubscribe&&Rn.unsubscribe();const{lockPostSaving:t,lockPostAutosaving:r,unlockPostSaving:n,unlockPostAutosaving:o}=Tn("core/editor");(()=>{const{getCurrentPost:e,isEditedPostDirty:t,isEditedPostNew:r}=Sn("core/editor"),{meta:n}=e();if(n&&n._tec_requires_first_save)return!1;const o=""!==n._tribe_blocks_recurrence_rules&&"[]"!==n._tribe_blocks_recurrence_rules;return!r()&&(t()&&o)})()?(r(),t(),(()=>{const e=document.querySelector("button.editor-post-publish-button");e&&(e.setAttribute("aria-disabled","false"),e.removeEventListener("click",mn),e.addEventListener("click",mn))})()):(n(),o(),(()=>{const e=document.querySelector("button.editor-post-publish-button");e&&e.removeEventListener("click",mn)})()),Rn.unsubscribe=kn(Pn)};var hn=()=>{Rn.unsubscribe=kn(Pn)};function jn(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function wn(e){for(var t=1;t{const e=tec.editorDialog.el.$instance.find("input:checked").val();Ln("core/notices").removeNotice("TRASH_POST_NOTICE_ID");const t=Dn("core/editor").getCurrentPostType(),r=Dn("core").getPostType(t),n=Dn("core/editor").getCurrentPost();wp.apiFetch({path:`/wp/v2/${r.rest_base}/${n.id}?_tec_update_type=${e}`,method:"DELETE"}).then(e=>{window.location.replace(e._tec_redirect_url)}).catch(e=>{console.error(e)})},In=()=>{const e=window.tecEventsSeriesBlockEditor;tec.editorDialog.el.$instance.attr("title",e.trashRecurringEvent),rn(),nn((()=>{const e=[],t=window.tecEventsSeriesBlockEditor;return e.push({type:"single",label:on(),classes:[],inputClasses:[],labelClasses:[],checked:!1}),e.push({type:"upcoming",label:t.upcomingSetting,classes:[],inputClasses:[],labelClasses:[],checked:!1}),e.push({type:"all",label:t.allEvents,classes:[],inputClasses:[],labelClasses:[],checked:!0}),e})()),tec.editorDialog.setDialogSettings(wn(wn({},tec.editorDialog.defaultDialogSettings),{},{buttons:[{class:"button-primary",text:window.tecEventsSeriesBlockEditor.okButton,click:Cn}]})),tec.editorDialog.openDialog()},Mn=e=>{const t=Dn("core/editor").getCurrentPost(),{meta:r}=t;""!==r._tribe_blocks_recurrence_rules&&"[]"!==r._tribe_blocks_recurrence_rules&&(e.preventDefault(),e.stopPropagation(),In())},An=()=>{const{isEditedPostNew:e,getCurrentPostId:t,getCurrentPostType:r}=Dn("core/editor"),{getPostType:n,canUser:o}=Dn("core"),c=t();if(!c)return!1;const i=n(r()),s=i&&i.rest_base||"",l=!(!c||!s)&&o("delete",s,c);return!e()&&c&&l},Yn=()=>{const e=Dn("core/edit-post").isEditorSidebarOpened();if(!e||Nn.deleteButton&&Nn.deleteButton.isConnected)!e&&Nn.deleteButton&&(Nn.deleteButton.removeEventListener("click",Mn),Nn.deleteButton=null);else{const e=setInterval(()=>{const t=document.querySelector("button.editor-post-trash");t&&(clearInterval(e),Nn.deleteButton=t,Nn.deleteButton.addEventListener("click",Mn))},10)}};var Un=()=>{An()&&Yn(),xn(()=>{An()&&Yn()})};cn(),hn(),Un();var Fn=r("K2gz"),Hn=r.n(Fn),Bn=r("6Ugf"),Vn=r("PSCs");const{addFilter:Gn}=wp.hooks,Wn=Object(ht.get)("tribe_events_pro_recurrence_strings"),{lockIconTooltip:Kn}=Wn.customTablesV1.recurrence,$n=(e,t)=>{var r;const{blockType:n,checked:o,className:c,disabled:i,id:s,index:a,labelComponent:u,onChange:d,value:p}=t,y=P.store.getState(),f=n!==Vn.constants.RECURRING,E=(f?l:b).isRuleTypeCustom(y,{index:a}),O=Object(N.toMoment)(Object(wt.getStart)(y)),_=Ct(O),v="undefined"!=typeof tecEventDetails&&!(null!==(r=tecEventDetails)&&void 0!==r&&r.isRdate)&&!f&&!E&&_.toLowerCase()===p;return wp.element.createElement("div",{className:Hn()("tribe-editor__day-of-week",c)},wp.element.createElement(Bn.Checkbox,{checked:o,disabled:i,id:s,label:u,onChange:d,value:p}),v&&wp.element.createElement("span",{className:"tribe-editor__day-of-week__lock dashicons dashicons-lock",title:Kn}))};var Xn=()=>{Gn("elements.dayOfWeek.dayOfWeekContentHook","tec/filterDayOfWeekContent",$n)};const{addFilter:qn}=wp.hooks,{__:Jn}=wp.i18n;var zn=()=>{qn("elements.exceptionField.singularTypePickerRowLabelHook","tec/filterSingularTypePickerRowLabelHook",()=>Jn("Not","tribe-events-calendar-pro"))},Qn=r("8N8N"),Zn=r("h74D"),eo=r("rf6O"),to=r.n(eo);const{__:ro}=wp.i18n,no=({afterLabel:e,blockType:t,className:r,disabled:n,index:o,selected:c})=>wp.element.createElement(Qn.LabeledRow,{className:Hn()("tribe-editor__every-frequency",r),label:ro("Every","tribe-events-calendar-pro")},wp.element.createElement(Qn.FrequencySelect,{blockType:t,disabled:n,index:o,selected:c}),wp.element.createElement("span",{className:"tribe-editor__after-every-frequency"},e));no.propTypes={afterLabel:to.a.string.isRequired,blockType:to.a.oneOf(st.BLOCK_TYPES),className:to.a.string,disabled:to.a.bool,index:to.a.number.isRequired,selected:R.proptypes.ReactSelectOption.isRequired};var oo=no,co=r("Q9xL");const{RECURRING:io}=st,{DAILY:so,WEEKLY:lo,MONTHLY:ao,YEARLY:uo}=X,{DAY_LABEL:po,WEEK_LABEL:bo,MONTH_LABEL:yo,YEAR_LABEL:fo,DAY_LABEL_PLURAL:Eo,WEEK_LABEL_PLURAL:Oo,MONTH_LABEL_PLURAL:_o,YEAR_LABEL_PLURAL:vo}=i,go=(e,t)=>(t.blockType===io?We:$).getTypeOption(e,t),mo=(e,t)=>{const r=((e,t)=>(t.blockType===io?We:$).getBetween(e,t))(e,t)>1;let n="";switch(t.selected.value){case so:n=r?Eo:po;break;case lo:n=r?Oo:bo;break;case ao:n=r?_o:yo;break;case uo:n=r?vo:fo}return n};var To=Object(Tt.compose)(Object(co.withStore)(),Object(Zn.connect)((e,t)=>({afterLabel:mo(e,t),selected:go(e,t)})))(oo),So=r("l3Sj");r("644Q");const ko=({className:e,isCustom:t,onChange:r,options:n,value:o})=>wp.element.createElement("div",{className:Hn()("tribe-editor__day-of-month-picker",e)},wp.element.createElement(Bn.Select,{className:"tribe-editor__day-of-month-picker__day-of-month-select",backspaceRemovesValue:!1,value:o,isDisabled:t,isSearchable:!1,options:n,onChange:r}));ko.propTypes={className:to.a.string,isCustom:to.a.bool,onChange:to.a.func,options:to.a.arrayOf(R.proptypes.ReactSelectOption).isRequired,value:R.proptypes.ReactSelectOptions.isRequired};var Ro=ko,Po=r("JXX8"),ho=r("Rkpb");var jo=Object(Tt.compose)(Object(co.withStore)(),Object(Zn.connect)((e,t)=>{var r;const n=t.blockType===Vn.constants.RECURRING?Po.selectors:ho.selectors,o=(e=>{const{week:t,day:r}=e;return t?`${t}-${r}`:String(r)})({week:n.getWeek(e,t),day:n.getDay(e,t)}),c="undefined"!=typeof tecEventDetails&&(null===(r=tecEventDetails)||void 0===r?void 0:r.isRdate),i=t.isCustom||c?(e=>{const t=e.split("-"),r=Object(ht.get)("tribe_events_pro_recurrence_strings");if(1===t.length){const e=t[0];return[{label:r.customTablesV1.dayOfMonth.date[e],value:String(e)}]}if(2===t.length){const e=t[0]+Nt[t[1]],n=r.customTablesV1.dayOfMonth.pattern[e];return[{label:n.label,value:n.ordinal.toLowerCase()+"-"+n.day}]}return[]})(o):E.getDayOfMonthOptions(e,t);let s=K()(i,e=>o===e.value);return s=!s&&i.length>0?i[0]:s,{options:i,value:s}},(e,t)=>({onChange:r=>{const n=t.blockType===Vn.constants.RECURRING?Po.actions.editRule:ho.actions.editException,o=Ut(r.value);e(n(t.index,o))}})))(Ro);const wo=({blockType:e,className:t,index:r,isCustom:n})=>wp.element.createElement(Qn.LabeledRow,{className:Hn()("tribe-editor__on-day-of-month-picker",t),label:Object(So.__)("On the","tribe-events-calendar-pro")},wp.element.createElement(jo,{blockType:e,isCustom:n,index:r}));wo.propTypes={blockType:to.a.oneOf(st.BLOCK_TYPES),className:to.a.string,index:to.a.number.isRequired,isCustom:to.a.bool};var Lo=wo;const Do=(e,t)=>{const{blockType:r,index:n}=t,o=P.store.getState(),c=r===st.RECURRING?b:l,i=c.getTypeOption(o,{index:n}),s=c.isRuleTypeCustom(o,{index:n});return wp.element.createElement(To,{blockType:r,disabled:s,index:n,selected:i})},xo=(e,t)=>{const{blockType:r,index:n}=t,o=(r===st.RECURRING?b:l).isRuleTypeCustom(P.store.getState(),{index:n});return wp.element.createElement(Qn.OnDayOfWeek,{blockType:r,sundayDisabled:o,mondayDisabled:o,tuesdayDisabled:o,wednesdayDisabled:o,thursdayDisabled:o,fridayDisabled:o,saturdayDisabled:o,index:n})},No=(e,t)=>{const{blockType:r,index:n}=t,o=(r===st.RECURRING?b:l).isRuleTypeCustom(P.store.getState(),{index:n});return wp.element.createElement(Lo,{blockType:r,isCustom:o,index:n})},Co=(e,t)=>{const{blockType:r,index:n}=t,o=(r===st.RECURRING?b:l).isRuleTypeCustom(P.store.getState(),{index:n});return wp.element.createElement(Qn.InMonth,{blockType:r,disabled:o,index:n})},Io=(e,t)=>{const{blockType:r,index:n}=t,o=(r===st.RECURRING?b:l).isRuleTypeCustom(P.store.getState(),{index:n});return wp.element.createElement(Qn.SeriesEnds,{blockType:r,dayPickerInputDisabled:o,numberInputDisabled:o,selectDisabled:o,index:n})},{addFilter:Mo}=wp.hooks,{__:Ao}=wp.i18n;var Yo=()=>{Mo("elements.exceptionField.dailyTypePickerRowLabelHook","tec/filterDailyTypePickerRowLabelHook",()=>Ao("Not","tribe-events-calendar-pro")),Mo("elements.exceptionField.dailyAfterTypePickerHook","tec/filterDailyAfterTypePicker",Do),Mo("elements.exceptionField.dailySeriesEndsRowLabelHook","tec/filterDailySeriesEndsRowLabel",()=>{})};const{addFilter:Uo}=wp.hooks,{__:Fo}=wp.i18n;var Ho=()=>{Uo("elements.exceptionField.weeklyTypePickerRowLabelHook","tec/filterWeeklyTypePickerRowLabelHook",()=>Fo("Not","tribe-events-calendar-pro")),Uo("elements.exceptionField.weeklyAfterTypePickerHook","tec/filterWeeklyAfterTypePicker",Do),Uo("elements.exceptionField.weeklyOnDayOfWeekHook","tec/filterWeeklyOnDayOfWeek",xo),Uo("elements.exceptionField.weeklySeriesEndsHook","tec/filterWeeklySeriesEnds",Io)};const{addFilter:Bo}=wp.hooks,{__:Vo}=wp.i18n;var Go=()=>{Bo("elements.exceptionField.monthlyTypePickerRowLabelHook","tec/filterMonthlyTypePickerRowLabelHook",()=>Vo("Not","tribe-events-calendar-pro")),Bo("elements.exceptionField.monthlyAfterTypePickerHook","tec/filterMonthlyAfterTypePicker",Do),Bo("elements.exceptionField.monthlySeriesEndsHook","tec/filterMonthlySeriesEnds",Io)};const{addFilter:Wo}=wp.hooks,{__:Ko}=wp.i18n;var $o=()=>{Wo("elements.exceptionField.yearlyTypePickerRowLabelHook","tec/filterYearlyTypePickerRowLabelHook",()=>Ko("Not","tribe-events-calendar-pro")),Wo("elements.exceptionField.yearlyAfterTypePickerHook","tec/filterYearlyAfterTypePicker",Do),Wo("elements.exceptionField.yearlyInMonthHook","tec/filterYearlyInMonth",Co),Wo("elements.exceptionField.yearlySeriesEndsHook","tec/filterYearlySeriesEnds",Io)};var Xo=()=>{zn(),Yo(),Ho(),Go(),$o()};const{addFilter:qo}=wp.hooks,Jo=(e,t,r)=>l.getExceptionRuleTypes(t,{index:r});var zo=()=>{qo("elements.exceptionForm.exceptionFieldOptionsHook","tec/filterExceptionFieldOptions",Jo)},Qo=r("GE2E");const{addFilter:Zo}=wp.hooks,ec=Object(ht.get)("tribe_events_pro_recurrence_strings"),{lockIconTooltip:tc}=ec.customTablesV1.recurrence,rc=(e,t)=>{const{blockType:r,children:n,className:o,disabled:c,index:i,onClick:s,value:a}=t,u=r===Vn.constants.RECURRING,d=P.store.getState(),p=(u?b:l).isRuleTypeCustom(d,{index:i}),y=Object(N.toMoment)(Object(wt.getStart)(d)).month()+1,f=Object(Xr.useMemo)(()=>!u||p||y!==X.MONTHS_OF_THE_YEAR_MAPPING_TO_STATE[a]?wp.element.createElement(Xr.Fragment,null,wp.element.createElement(Qo.Close,null),wp.element.createElement("span",{className:"tribe-editor__month-tag__remove"},Object(So.__)("Remove","tribe-events-calendar-pro"))):wp.element.createElement("span",{className:"tribe-editor__month-tag__lock dashicons dashicons-lock",title:tc}),[u,p,y,a]);return wp.element.createElement("button",{className:Hn()({"tribe-editor__month-tag":!0,"tribe-editor__month-tag--disabled":c},o),disabled:c,onClick:s},f,n)};var nc=()=>{Zo("elements.monthTag.monthTagContentHook","tec/filterMonthTagContent",rc)};const{addFilter:oc}=wp.hooks,{__:cc}=wp.i18n;var ic=()=>{oc("elements.recurringField.singularTypePickerRowLabelHook","tec/filterSingularTypePickerRowLabelHook",()=>cc("Happens","tribe-events-calendar-pro"))};const{addFilter:sc}=wp.hooks,{__:lc}=wp.i18n;var ac=()=>{sc("elements.recurringField.dailyFromTimeRangePickerHook","tec/filterDailyFromTimeRangePicker",()=>null),sc("elements.recurringField.dailyRecurringToDateTimePickerHook","tec/filterDailyFromTimeRangePicker",()=>null),sc("elements.recurringField.dailyTypePickerRowLabelHook","tec/filterDailyTypePickerRowLabelHook",()=>lc("Happens","tribe-events-calendar-pro")),sc("elements.recurringField.dailyAfterTypePickerHook","tec/filterDailyAfterTypePicker",Do)};const{addFilter:uc}=wp.hooks,{__:dc}=wp.i18n;var pc=()=>{uc("elements.recurringField.weeklyFromTimeRangePickerHook","tec/filterWeeklyFromTimeRangePicker",()=>null),uc("elements.recurringField.weeklyRecurringToDateTimePickerHook","tec/filterWeeklyFromTimeRangePicker",()=>null),uc("elements.recurringField.weeklyTypePickerRowLabelHook","tec/filterWeeklyTypePickerRowLabelHook",()=>dc("Happens","tribe-events-calendar-pro")),uc("elements.recurringField.weeklyAfterTypePickerHook","tec/filterWeeklyAfterTypePicker",Do),uc("elements.recurringField.weeklyOnDayOfWeekHook","tec/filterWeeklyOnDayOfWeek",xo),uc("elements.recurringField.weeklySeriesEndsHook","tec/filterWeeklySeriesEnds",Io)};const{addFilter:bc}=wp.hooks,{__:yc}=wp.i18n;var fc=()=>{bc("elements.recurringField.monthlyFromTimeRangePickerHook","tec/filterMonthlyFromTimeRangePicker",()=>null),bc("elements.recurringField.monthlyRecurringToDateTimePickerHook","tec/filterMonthlyFromTimeRangePicker",()=>null),bc("elements.recurringField.monthlyTypePickerRowLabelHook","tec/filterMonthlyTypePickerRowLabelHook",()=>yc("Happens","tribe-events-calendar-pro")),bc("elements.recurringField.monthlyAfterTypePickerHook","tec/filterMonthlyAfterTypePicker",Do),bc("elements.recurringField.monthlyOnDayOfMonthPickerHook","tec/filterMonthlyOnDayOfMonthPicker",No),bc("elements.recurringField.monthlySeriesEndsHook","tec/filterMonthlySeriesEnds",Io)};const{addFilter:Ec}=wp.hooks,{__:Oc}=wp.i18n;var _c=()=>{Ec("elements.recurringField.yearlyFromTimeRangePickerHook","tec/filterYearlyFromTimeRangePicker",()=>null),Ec("elements.recurringField.yearlyRecurringToDateTimePickerHook","tec/filterYearlyFromTimeRangePicker",()=>null),Ec("elements.recurringField.yearlyTypePickerRowLabelHook","tec/filterYearlyTypePickerRowLabelHook",()=>Oc("Happens","tribe-events-calendar-pro")),Ec("elements.recurringField.yearlyAfterTypePickerHook","tec/filterYearlyAfterTypePicker",Do),Ec("elements.recurringField.yearlyInMonthHook","tec/filterYearlyInMonth",Co),Ec("elements.recurringField.yearlyOnDayOfMonthPickerHook","tec/filterYearlyOnDayOfMonthPicker",No),Ec("elements.recurringField.yearlySeriesEndsHook","tec/filterYearlySeriesEnds",Io)};var vc=()=>{ic(),ac(),pc(),fc(),_c()};const{__:gc,sprintf:mc}=wp.i18n,{addFilter:Tc}=wp.hooks,Sc=(e,t,r)=>b.getRecurrenceRuleTypes(t,{index:r});var kc=()=>{var e;Tc("elements.recurringForm.recurringFieldOptionsHook","tec/filterRecurringFieldOptions",Sc),"undefined"!=typeof tecEventDetails&&null!==(e=tecEventDetails)&&void 0!==e&&e.isRdateNoticeParts&&Tc("elements.recurringForm.outputBeforeRecurringForm","tec/filterRecurringForm",e=>{const{name:t,url:r}=tecEventDetails.isRdateNoticeParts,n=mc(gc("This is a single occurrence. To change recurrence rules, go to %1$s.","tribe-events-calendar-pro"),`${t}`);return wp.element.createElement("div",null,wp.element.createElement("p",{dangerouslySetInnerHTML:{__html:n}}))})};const{Tooltip:Rc}=wp.components,{addFilter:Pc}=wp.hooks,{__:hc}=wp.i18n,jc=(e,t)=>{const{afterSelect:r,blockType:n,dispatch:o,index:i,options:s,selected:l}=t,a=n===Vn.constants.RECURRING,u=a?Po.actions.editRule:ho.actions.editException,p=a?d.editRecurrenceRule:c.editExceptionRule;return wp.element.createElement(Xr.Fragment,null,wp.element.createElement(Bn.Select,{className:"tribe-editor__type-picker__type-select",backspaceRemovesValue:!1,value:l,isSearchable:!1,options:s,onChange:e=>{o(p(i,{typeId:e.id})),o(u(i,{[Vn.constants.KEY_TYPE]:e.value}))},getOptionValue:e=>e.id}),r)},wc=(e,t,r)=>(r.blockType===Vn.constants.RECURRING?b:l).getTypeOption(t,r),Lc=(e,t,r)=>{const{blockType:n,index:o}=r;if(n===Vn.constants.EXCEPTION)return e;if(!b.isRuleTypeCustom(t,{index:o}))return e;const c=hc("This custom recurrence rule was created in a different calendar system\n\r and cannot be edited. Select a different option to create a new rule.","tribe-events-calendar-pro");return wp.element.createElement(Rc,{text:c},wp.element.createElement("span",{"aria-label":c,className:"tribe-editor__type-picker__type-select-after-tooltip dashicons dashicons-info",tabIndex:"0"}))};var Dc=()=>{Pc("elements.typePicker.typePickerContentHook","tec/filterTypePickerContent",jc),Pc("elements.typePicker.typePickerSelectedOptionHook","tec/filterTypePickerSelectedOption",wc),Pc("elements.typePicker.afterTypePickerSelectHook","tec/filterAfterTypePickerSelect",Lc)};r("Ixdi");function xc(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function Nc(e){for(var t=1;t{Xn(),Xo(),zo(),nc(),vc(),kc(),Dc()})();const{subscribe:Cc,select:Ic}=wp.data,Mc=window.jQuery,Ac={isSavingMetaBoxes:!1};let Yc=0,Uc=null,Fc=null;const Hc={onMetaboxSave:null,listenForSaveClick:null},Bc=(e,t,r)=>Nc(Nc({},tec.editorDialog.defaultDialogSettings),{},{closeOnEscape:!1,dialogClass:"redirect-no-close",buttons:[{class:"button-primary",text:t,click:()=>(e=>{tec.editorDialog.closeDialog(),window.location.replace(e)})(r)}],title:e}),Vc=e=>{if(!e||!e.data)return;Uc=e.data;const{location:t,title:r,message:n,confirmButtonLabel:o,forceRedirect:c}=Uc;c&&t?window.location.replace(t):t&&r&&n&&o&&(Hc.onMetaboxSave&&Hc.onMetaboxSave(),Hc.listenForSaveClick&&Hc.listenForSaveClick(),rn(),nn((e=>{const t=[];return t.push({type:"text",text:e}),t})(n)),tec.editorDialog.setDialogSettings(Bc(r,o,t)),tec.editorDialog.openDialog(),Fc||(Fc=document.createElement("style"),Fc.type="text/css",Fc.innerText=".redirect-no-close .ui-dialog-titlebar-close {display: none;}"),Fc.isConnected||document.head.appendChild(Fc))},Gc=()=>{if(!window.tecCustomTablesV1BlocksEditor)return;const e=Ic("core/editor"),{ajaxurl:t,redirectAction:r,redirectNonceName:n,redirectNonce:o,eventPostId:c}=tecCustomTablesV1BlocksEditor;Yc=0,Mc.get(t,{action:r,[n]:o,event_id:e.getCurrentPostId(),event_post_id:c}).done(Vc).fail(Wc)},Wc=(e,t,r)=>{if(Yc+=1,Yc<3)return console.error("tec_custom_tables_v1_redirect_data ajax request failed, retrying again.",r),void Gc();console.error("tec_custom_tables_v1_redirect_data ajax request failed:",r)},Kc=()=>{(Ic("core/edit-post").isSavingMetaBoxes()?(Ac.isSavingMetaBoxes=!0,0):Ac.isSavingMetaBoxes&&(Ac.isSavingMetaBoxes=!1,1))&&Gc()};(()=>{Hc.onMetaboxSave=Cc(Kc)})();const{Button:$c}=wp.components,{PluginPostStatusInfo:Xc}=wp.editPost,{__:qc}=wp.i18n;var Jc=({status:e})=>""!==tec_events_pro_duplicate.duplicate_link&&"auto-draft"!==e&&wp.element.createElement(Xc,null,wp.element.createElement($c,{isTertiary:!0,className:"tec-event-duplicate-action__duplicate-link",href:tec_events_pro_duplicate.duplicate_link,style:{marginLeft:"-6px",textDecoration:"underline"},target:"_blank"},qc("Duplicate","tribe-events-calendar-pro")));const zc=wp.data.withSelect(e=>({select:e("core/editor").getEditedPostAttribute("status")}));var Qc=Object(Tt.compose)(zc)(Jc);wp.plugins.registerPlugin("tec-event-duplicate",{render:Qc});const{subscribe:Zc,select:ei}=wp.data,ti=window.jQuery;let ri=0;const ni={saveButton:null,saveDraftButton:null,eventSeriesSelect:null},oi="hidden",ci={listenForEventSeriesSelect:null,getSeriesData:null},ii={isSavingPost:!1,isSavingMetaBoxes:!1},si=e=>{const t={title:null,id:null};return"string"==typeof e&&(t.title=e),"object"==typeof e&&(t.title=e.title,t.id=e.id),t},li=e=>JSON.stringify(e),ai=()=>{if(!window.tecCustomTablesV1BlocksEditor)return;const e=ei("core/editor"),{ajaxurl:t,seriesAction:r,seriesNonce:n,seriesNonceName:o}=tecCustomTablesV1BlocksEditor;ti.get(t,{action:r,[o]:n,event_id:e.getCurrentPostId()}).done(e=>{yi(e),ri=0}).fail(fi)},ui=()=>{(ei("core/edit-post").isSavingMetaBoxes()?(ii.isSavingMetaBoxes=!0,0):ii.isSavingMetaBoxes&&(ii.isSavingMetaBoxes=!1,1))&&ai()},di=()=>{ni.eventSeriesSelect||(ni.eventSeriesSelect=document.querySelector(dn))},pi=e=>{const t=e.data.$target,r=t.find(":selected");if(!r.length)return;const n=t.parent().find(pn);if("-1"===r.val())return void n.addClass(oi);const o=r.data("editLink");o?(n.find(bn).attr("href",o),n.removeClass(oi)):n.addClass(oi)},bi=()=>{if(di(),!ni.eventSeriesSelect)return;if("-1"!==String(ni.eventSeriesSelect.value))return;const e=(()=>{const e=ei("core/editor"),t=String(e.getPostEdits().title).trim();return"undefined"!==t?String(t):String(e.getCurrentPost().title).trim()})();if(!e.length)return;const t=li(si(e)),r=new Option(e,t,!0,!0);ti(ni.eventSeriesSelect).append(r).trigger("change")},yi=e=>{const t=ti(ni.eventSeriesSelect),r=t.find(":selected");if(void 0!==e.data.id&&void 0!==e.data.edit_link){if(e.data.id){const t=li(si(e.data));r.attr("value",t)}e.data.edit_link&&r.attr("data-edit-link",e.data.edit_link),t.trigger("change")}},fi=(e,t,r)=>{if(ri+=1,ri<3)return console.error("tec_custom_tables_v1_series_data ajax request failed, retrying again.",r),void ai();console.error("tec_custom_tables_v1_series_data ajax request failed:",r)},Ei=()=>{(()=>{const e=sn("core/editor").isSavingPost();return!(!ln.isSavingPost&&!e)&&(!ln.isSavingPost&&e?(ln.isSavingPost=e,!1):(!ln.isSavingPost||!e)&&(ln.isSavingPost=e,!0))})()&&(ci.getSeriesData(),ci.getSeriesData=null,ai())},Oi=()=>{(()=>{const e=ei("core/block-editor").getBlocks().filter(e=>"tribe/event-datetime"===e.name);return!!e.length&&(e[0].attributes.rules&&"[]"!==e[0].attributes.rules)})()&&(bi(),(()=>{const e=ti(ni.eventSeriesSelect).find(":selected");if(!e.length)return!1;if("-1"===e.val())return!1;return!e.data("editLink")})()&&(ci.getSeriesData=Zc(Ei)))},_i=()=>{ni.saveButton&&ni.saveButton.isConnected||(ni.saveButton=document.querySelector(an),ni.saveButton&&ni.saveButton.addEventListener("click",Oi,!0))},vi=()=>{ni.saveDraftButton&&ni.saveDraftButton.isConnected||(ni.saveDraftButton=document.querySelector(un),ni.saveDraftButton&&ni.saveDraftButton.addEventListener("click",Oi,!0))},gi=()=>{if(di(),!ni.eventSeriesSelect)return;ci.listenForEventSeriesSelect(),ci.listenForEventSeriesSelect=null;const e=ti(ni.eventSeriesSelect);e.on("change",{$target:e},pi)};(()=>{Zc(_i),Zc(vi),Zc(ui),ci.listenForEventSeriesSelect=Zc(gi)})()},O7uX:function(e,t,r){},OluY:function(e,t){e.exports=tribe["events-pro"].data.status.sagas},OuoG:function(e,t){e.exports=tribe["events-pro"].data.blocks.exception.types},PSCs:function(e,t){e.exports=tribe["events-pro"].data.blocks},Q9xL:function(e,t){e.exports=tribe.common.hoc},Rkpb:function(e,t){e.exports=tribe["events-pro"].data.blocks.exception},RmXt:function(e,t){e.exports=tribe.modules.reduxSaga.effects},SOG1:function(e,t){e.exports=tribe.events.data.blocks.datetime.selectors},UnPw:function(e,t){e.exports=tribe["events-pro"].data.blocks.exception.selectors},Yht6:function(e,t){e.exports=tribe.events.data.blocks.datetime.types},cDcd:function(e,t){e.exports=React},g8L8:function(e,t){e.exports=tribe.common.store},gGza:function(e,t){e.exports=tribe["events-pro"].data.blocks.recurring.constants},gSph:function(e,t){e.exports=tribe["events-pro"].data.blocks.constants},h74D:function(e,t){e.exports=tribe.modules.reactRedux},"iy/v":function(e,t){e.exports=tribe["events-pro"].data.blocks.recurring.selectors},kczL:function(e,t){e.exports=tribe.common.utils.globals},l3Sj:function(e,t){e.exports=wp.i18n},pVH8:function(e,t){e.exports=tribe["events-pro"].data.blocks.recurring.types},rKB8:function(e,t){e.exports=tribe.modules.redux},rf6O:function(e,t){e.exports=tribe.modules.propTypes},tPgE:function(e,t){e.exports=tribe["events-pro"].data.blocks.exception.actions},tbMi:function(e,t){e.exports=tribe.common.utils.date},wy2R:function(e,t){e.exports=moment},zCYh:function(e,t){e.exports=tribe.common.utils.moment}}); \ No newline at end of file diff --git a/wp-content/plugins/events-calendar-pro/src/resources/js/custom-tables-v1/app/vendor.min.js b/wp-content/plugins/events-calendar-pro/src/resources/js/custom-tables-v1/app/vendor.min.js index 5065239ae..235fdcf69 100644 --- a/wp-content/plugins/events-calendar-pro/src/resources/js/custom-tables-v1/app/vendor.min.js +++ b/wp-content/plugins/events-calendar-pro/src/resources/js/custom-tables-v1/app/vendor.min.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[1],{"5Q0V":function(t,e,o){var r=o("cDf5").default;t.exports=function(t,e){if("object"!==r(t)||null===t)return t;var o=t[Symbol.toPrimitive];if(void 0!==o){var n=o.call(t,e||"default");if("object"!==r(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(t)},t.exports.__esModule=!0,t.exports.default=t.exports},cDf5:function(t,e){function o(e){return t.exports=o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},t.exports.__esModule=!0,t.exports.default=t.exports,o(e)}t.exports=o,t.exports.__esModule=!0,t.exports.default=t.exports},lSNA:function(t,e,o){var r=o("o5UB");t.exports=function(t,e,o){return(e=r(e))in t?Object.defineProperty(t,e,{value:o,enumerable:!0,configurable:!0,writable:!0}):t[e]=o,t},t.exports.__esModule=!0,t.exports.default=t.exports},o5UB:function(t,e,o){var r=o("cDf5").default,n=o("5Q0V");t.exports=function(t){var e=n(t,"string");return"symbol"===r(e)?e:String(e)},t.exports.__esModule=!0,t.exports.default=t.exports},yXPU:function(t,e){function o(t,e,o,r,n,u,i){try{var s=t[u](i),f=s.value}catch(t){return void o(t)}s.done?e(f):Promise.resolve(f).then(r,n)}t.exports=function(t){return function(){var e=this,r=arguments;return new Promise((function(n,u){var i=t.apply(e,r);function s(t){o(i,n,u,s,f,"next",t)}function f(t){o(i,n,u,s,f,"throw",t)}s(void 0)}))}},t.exports.__esModule=!0,t.exports.default=t.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[1],{"5Q0V":function(t,e,o){var r=o("cDf5").default;t.exports=function(t,e){if("object"!=r(t)||!t)return t;var o=t[Symbol.toPrimitive];if(void 0!==o){var n=o.call(t,e||"default");if("object"!=r(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(t)},t.exports.__esModule=!0,t.exports.default=t.exports},cDf5:function(t,e){function o(e){return t.exports=o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},t.exports.__esModule=!0,t.exports.default=t.exports,o(e)}t.exports=o,t.exports.__esModule=!0,t.exports.default=t.exports},lSNA:function(t,e,o){var r=o("o5UB");t.exports=function(t,e,o){return(e=r(e))in t?Object.defineProperty(t,e,{value:o,enumerable:!0,configurable:!0,writable:!0}):t[e]=o,t},t.exports.__esModule=!0,t.exports.default=t.exports},o5UB:function(t,e,o){var r=o("cDf5").default,n=o("5Q0V");t.exports=function(t){var e=n(t,"string");return"symbol"==r(e)?e:e+""},t.exports.__esModule=!0,t.exports.default=t.exports},yXPU:function(t,e){function o(t,e,o,r,n,u,i){try{var s=t[u](i),f=s.value}catch(t){return void o(t)}s.done?e(f):Promise.resolve(f).then(r,n)}t.exports=function(t){return function(){var e=this,r=arguments;return new Promise((function(n,u){var i=t.apply(e,r);function s(t){o(i,n,u,s,f,"next",t)}function f(t){o(i,n,u,s,f,"throw",t)}s(void 0)}))}},t.exports.__esModule=!0,t.exports.default=t.exports}}]); \ No newline at end of file diff --git a/wp-content/plugins/events-calendar-pro/src/resources/js/custom-tables-v1/classic-editor-events-day-of-month.js b/wp-content/plugins/events-calendar-pro/src/resources/js/custom-tables-v1/classic-editor-events-day-of-month.js index 1e8320416..8b963231b 100644 --- a/wp-content/plugins/events-calendar-pro/src/resources/js/custom-tables-v1/classic-editor-events-day-of-month.js +++ b/wp-content/plugins/events-calendar-pro/src/resources/js/custom-tables-v1/classic-editor-events-day-of-month.js @@ -18,6 +18,9 @@ window.tec = window.tec || {}; tec.classicEditorEvents = tec.classicEditorEvents || {}; tec.classicEditorEvents.dayOfMonth = tec.classicEditorEvents.dayOfMonth || {}; +dayjs.extend(window.dayjs_plugin_isoWeek); +dayjs.extend(window.dayjs_plugin_customParseFormat); + /** * Handles the day of month cases of recurrence and exclusions. * @@ -195,7 +198,7 @@ tec.classicEditorEvents.dayOfMonth = tec.classicEditorEvents.dayOfMonth || {}; * @return {void} */ obj.setDateDropdownValue = function ( $dropdown, optionType ) { - const isInitialSync = ! moment.isMoment( tec.classicEditorEvents.eventDate.eventStart.prevMoment ); + const isInitialSync = ! dayjs.isDayjs( tec.classicEditorEvents.eventDate.eventStart.prevMoment ); let value; const dropdownEl = $dropdown[ 0 ]; @@ -373,10 +376,10 @@ tec.classicEditorEvents.dayOfMonth = tec.classicEditorEvents.dayOfMonth || {}; } // Event start previous moment will not be set on initial sync. - const isInitialSync = ! moment.isMoment( tec.classicEditorEvents.eventDate.eventStart.prevMoment ); + const isInitialSync = ! dayjs.isDayjs( tec.classicEditorEvents.eventDate.eventStart.prevMoment ); // Checks if the start day has changed or not. - const isSameDay = moment.isMoment( tec.classicEditorEvents.eventDate.eventStart.moment ) && - moment.isMoment( tec.classicEditorEvents.eventDate.eventStart.prevMoment ) && + const isSameDay = dayjs.isDayjs( tec.classicEditorEvents.eventDate.eventStart.moment ) && + dayjs.isDayjs( tec.classicEditorEvents.eventDate.eventStart.prevMoment ) && tec.classicEditorEvents.eventDate.eventStart.moment.isSame( tec.classicEditorEvents.eventDate.eventStart.prevMoment, 'day' ); // Checks if the date dropdown matches event start date. const dropdownMatchesEventStart = obj.isDateDropdownMatchEventStart( row ); diff --git a/wp-content/plugins/events-calendar-pro/src/resources/js/custom-tables-v1/classic-editor-events-day-of-month.min.js b/wp-content/plugins/events-calendar-pro/src/resources/js/custom-tables-v1/classic-editor-events-day-of-month.min.js index 7e99cc03f..b8c3c8367 100644 --- a/wp-content/plugins/events-calendar-pro/src/resources/js/custom-tables-v1/classic-editor-events-day-of-month.min.js +++ b/wp-content/plugins/events-calendar-pro/src/resources/js/custom-tables-v1/classic-editor-events-day-of-month.min.js @@ -8,4 +8,4 @@ * @see: https://evnt.is/dev-docs-minification */ -window.tec=window.tec||{},tec.classicEditorEvents=tec.classicEditorEvents||{},tec.classicEditorEvents.dayOfMonth=tec.classicEditorEvents.dayOfMonth||{},function($,obj){"use strict";obj.selectors={monthDayDropdown:'.custom-recurrence-months select[data-field="custom-month-day"]',monthNumberDropdown:'.custom-recurrence-months select[data-field="custom-month-number"]',monthOnTheDropdown:".tec-events-pro-month-on-the-dropdown",monthSameDayDropdown:".custom-recurrence-months .tribe-same-day-select",yearMonthDayDropdown:'[data-condition="Yearly"] select[data-field="custom-year-month-day"]',yearMonthNumberDropdown:'[data-condition="Yearly"] select[data-field="custom-year-month-number"]',yearNotSameDayDropdown:".tec-events-pro-year-not-same-day-dropdown",yearSameDayDropdown:'[data-condition="Yearly"] .tribe-dame-day-select .tribe-same-day-select'},obj.typedSelectors={dayDropdown:"",numberDropdown:"",sameDayDropdown:"",combinedDropdown:""},obj.setTypedSelectors=function(ruleType){switch(ruleType){case"Monthly":obj.typedSelectors.dayDropdown=obj.selectors.monthDayDropdown,obj.typedSelectors.numberDropdown=obj.selectors.monthNumberDropdown,obj.typedSelectors.sameDayDropdown=obj.selectors.monthSameDayDropdown,obj.typedSelectors.combinedDropdown=obj.selectors.monthOnTheDropdown;break;case"Yearly":obj.typedSelectors.dayDropdown=obj.selectors.yearMonthDayDropdown,obj.typedSelectors.numberDropdown=obj.selectors.yearMonthNumberDropdown,obj.typedSelectors.sameDayDropdown=obj.selectors.yearSameDayDropdown,obj.typedSelectors.combinedDropdown=obj.selectors.yearNotSameDayDropdown;break;default:obj.typedSelectors.dayDropdown="",obj.typedSelectors.numberDropdown="",obj.typedSelectors.sameDayDropdown="",obj.typedSelectors.combinedDropdown=""}},obj.setTypedSelectorsFromRuleType=function(ruleType){obj.setTypedSelectors(ruleType);return["Monthly","Yearly"].includes(ruleType)},obj.isDateDropdownMatchEventStart=function(row){const valueArr=row.querySelector(obj.typedSelectors.combinedDropdown).value.split("-");if(1===valueArr.length){const date=tec.classicEditorEvents.eventDate.eventStart.moment.date();return valueArr[0]===String(date)}if(2===valueArr.length){const weekday=tec.classicEditorEvents.eventDate.eventStart.moment.isoWeekday(),ordinal=tec.classicEditorEvents.eventDate.getEventStartWeekdayOrdinalValue(),isLastWeekday=tec.classicEditorEvents.eventDate.isEventStartWeekdayLast(),isLastDay=tec.classicEditorEvents.eventDate.isEventStartDateLastOfMonth(),ordinalMatches=valueArr[0]===ordinal||(isLastWeekday||isLastDay)&&"Last"===valueArr[0],weekdayMatches=valueArr[1]===String(weekday)||isLastDay&&"8"===valueArr[1];return ordinalMatches&&weekdayMatches}return!1},obj.isDateDropdownMatchNumberAndDayDropdowns=function(row){const dropdown=row.querySelector(obj.typedSelectors.combinedDropdown),numberDropdown=row.querySelector(obj.typedSelectors.numberDropdown),dayDropdown=row.querySelector(obj.typedSelectors.dayDropdown),valueArr=dropdown.value.split("-");if(!valueArr.length)return!1;return!(valueArr[0]!==numberDropdown.value)&&(!valueArr[1]||valueArr[1]===dayDropdown.value)},obj.setDateDropdownValue=function($dropdown,optionType){const isInitialSync=!moment.isMoment(tec.classicEditorEvents.eventDate.eventStart.prevMoment);let value;const dropdownEl=$dropdown[0],defaultValue=dropdownEl.childNodes[0].value;if(optionType&&!isInitialSync){const optionTypePos=Array.from(dropdownEl.childNodes).map((option=>obj.getMonthlyOnOptionTypeFromValue(option.value))).indexOf(optionType);value=optionTypePos>=0?dropdownEl.childNodes[optionTypePos].value:defaultValue}if(isInitialSync){const number=$(obj.typedSelectors.numberDropdown).val();if(isNaN(number)){value=[number,$(obj.typedSelectors.dayDropdown).val()].join("-")}else value=number}$dropdown.val(value||defaultValue)},obj.getMonthlyOnOptionTypeFromValue=function(value){return value?value.match(/last-8/i)?"last-day-in-month":value.match(/(first|second|third|fourth|fifth)-\d/i)?"day-of-week-in-month":value.match(/last-\d/i)?"last-day-of-week-in-month":"day-n":null},obj.syncDateDropdownOptions=function(row){const dropdown=row.querySelector(obj.typedSelectors.combinedDropdown),optionType=obj.getMonthlyOnOptionTypeFromValue(dropdown.value);for(;dropdown.firstChild;)dropdown.removeChild(dropdown.lastChild);const $dropdown=$(dropdown),ordinal=tec.classicEditorEvents.eventDate.getEventStartWeekdayOrdinalValue(),weekdayName=tec.classicEditorEvents.eventDate.getEventStartWeekdayName(),patternKey=ordinal.toLowerCase()+weekdayName,patternObj=tribe_events_pro_recurrence_strings.customTablesV1.dayOfMonth.pattern[patternKey],patternOption=new Option(patternObj.label,patternObj.ordinal+"-"+patternObj.day,!1,!0);if($dropdown.append(patternOption),tec.classicEditorEvents.eventDate.isEventStartWeekdayLast()){const wasLastWeekdayOfTheMonth="Last"===row.querySelector('select[data-field="custom-month-number"]').value,lastWeekdayPatternKey="last"+weekdayName,lastWeekdayPatternObj=tribe_events_pro_recurrence_strings.customTablesV1.dayOfMonth.pattern[lastWeekdayPatternKey],lastWeekdayValue=lastWeekdayPatternObj.ordinal+"-"+lastWeekdayPatternObj.day,lastWeekdayPatternOption=new Option(lastWeekdayPatternObj.label,lastWeekdayValue,!1,wasLastWeekdayOfTheMonth);$dropdown.append(lastWeekdayPatternOption)}if(tec.classicEditorEvents.eventDate.isEventStartDateLastOfMonth()){const lastDayPatternKey="lastDay",lastDayPatternObj=tribe_events_pro_recurrence_strings.customTablesV1.dayOfMonth.pattern[lastDayPatternKey],lastDayPatternOption=new Option(lastDayPatternObj.label,lastDayPatternObj.ordinal+"-"+lastDayPatternObj.day,!1,!1);$dropdown.append(lastDayPatternOption)}const wasDayOfMonth=$.isNumeric(row.querySelector('select[data-field="custom-month-number"]').value),date=tec.classicEditorEvents.eventDate.eventStart.moment.date(),label=tribe_events_pro_recurrence_strings.customTablesV1.dayOfMonth.date[date],dateOption=new Option(label,date,!1,wasDayOfMonth);$dropdown.append(dateOption),obj.setDateDropdownValue($dropdown,optionType),$dropdown.tribe_dropdowns().trigger("change")},obj.syncDateDropdown=function(row,ruleType){if(tec.classicEditorEvents.offStart.isRuleOffStart(row))return;if(tecEventDetails.isRdate)return;if(!obj.setTypedSelectorsFromRuleType(ruleType))return;const $row=$(row);"yes"===$row.find(obj.typedSelectors.sameDayDropdown).val()&&$row.find(obj.typedSelectors.sameDayDropdown).val("no").trigger("change");const isInitialSync=!moment.isMoment(tec.classicEditorEvents.eventDate.eventStart.prevMoment),isSameDay=moment.isMoment(tec.classicEditorEvents.eventDate.eventStart.moment)&&moment.isMoment(tec.classicEditorEvents.eventDate.eventStart.prevMoment)&&tec.classicEditorEvents.eventDate.eventStart.moment.isSame(tec.classicEditorEvents.eventDate.eventStart.prevMoment,"day"),dropdownMatchesEventStart=obj.isDateDropdownMatchEventStart(row);!isInitialSync&&isSameDay&&dropdownMatchesEventStart?obj.isDateDropdownMatchNumberAndDayDropdowns(row)||$row.find(obj.typedSelectors.combinedDropdown).trigger("change"):obj.syncDateDropdownOptions(row)},obj.handleDropdownChange=function(event){const valueArr=event.target.value.split("-"),$row=$(event.data.row),ruleType=$row.attr("data-recurrence-type");if(!obj.setTypedSelectorsFromRuleType(ruleType))return;const $numberDropdown=$row.find(obj.typedSelectors.numberDropdown),$dayDropdown=$row.find(obj.typedSelectors.dayDropdown);valueArr.length&&valueArr[0]&&($numberDropdown.val(valueArr[0]).trigger("change"),valueArr[1]&&$dayDropdown.val(valueArr[1]).trigger("change"))},obj.bindRuleEvents=function(rows){rows.forEach((function(row){const $row=$(row);$row.find(obj.selectors.monthOnTheDropdown).on("change",{row:row},obj.handleDropdownChange),$row.find(obj.selectors.yearNotSameDayDropdown).on("change",{row:row},obj.handleDropdownChange)}))}}(jQuery,tec.classicEditorEvents.dayOfMonth); \ No newline at end of file +window.tec=window.tec||{},tec.classicEditorEvents=tec.classicEditorEvents||{},tec.classicEditorEvents.dayOfMonth=tec.classicEditorEvents.dayOfMonth||{},dayjs.extend(window.dayjs_plugin_isoWeek),dayjs.extend(window.dayjs_plugin_customParseFormat),function($,obj){"use strict";obj.selectors={monthDayDropdown:'.custom-recurrence-months select[data-field="custom-month-day"]',monthNumberDropdown:'.custom-recurrence-months select[data-field="custom-month-number"]',monthOnTheDropdown:".tec-events-pro-month-on-the-dropdown",monthSameDayDropdown:".custom-recurrence-months .tribe-same-day-select",yearMonthDayDropdown:'[data-condition="Yearly"] select[data-field="custom-year-month-day"]',yearMonthNumberDropdown:'[data-condition="Yearly"] select[data-field="custom-year-month-number"]',yearNotSameDayDropdown:".tec-events-pro-year-not-same-day-dropdown",yearSameDayDropdown:'[data-condition="Yearly"] .tribe-dame-day-select .tribe-same-day-select'},obj.typedSelectors={dayDropdown:"",numberDropdown:"",sameDayDropdown:"",combinedDropdown:""},obj.setTypedSelectors=function(ruleType){switch(ruleType){case"Monthly":obj.typedSelectors.dayDropdown=obj.selectors.monthDayDropdown,obj.typedSelectors.numberDropdown=obj.selectors.monthNumberDropdown,obj.typedSelectors.sameDayDropdown=obj.selectors.monthSameDayDropdown,obj.typedSelectors.combinedDropdown=obj.selectors.monthOnTheDropdown;break;case"Yearly":obj.typedSelectors.dayDropdown=obj.selectors.yearMonthDayDropdown,obj.typedSelectors.numberDropdown=obj.selectors.yearMonthNumberDropdown,obj.typedSelectors.sameDayDropdown=obj.selectors.yearSameDayDropdown,obj.typedSelectors.combinedDropdown=obj.selectors.yearNotSameDayDropdown;break;default:obj.typedSelectors.dayDropdown="",obj.typedSelectors.numberDropdown="",obj.typedSelectors.sameDayDropdown="",obj.typedSelectors.combinedDropdown=""}},obj.setTypedSelectorsFromRuleType=function(ruleType){obj.setTypedSelectors(ruleType);return["Monthly","Yearly"].includes(ruleType)},obj.isDateDropdownMatchEventStart=function(row){const valueArr=row.querySelector(obj.typedSelectors.combinedDropdown).value.split("-");if(1===valueArr.length){const date=tec.classicEditorEvents.eventDate.eventStart.moment.date();return valueArr[0]===String(date)}if(2===valueArr.length){const weekday=tec.classicEditorEvents.eventDate.eventStart.moment.isoWeekday(),ordinal=tec.classicEditorEvents.eventDate.getEventStartWeekdayOrdinalValue(),isLastWeekday=tec.classicEditorEvents.eventDate.isEventStartWeekdayLast(),isLastDay=tec.classicEditorEvents.eventDate.isEventStartDateLastOfMonth(),ordinalMatches=valueArr[0]===ordinal||(isLastWeekday||isLastDay)&&"Last"===valueArr[0],weekdayMatches=valueArr[1]===String(weekday)||isLastDay&&"8"===valueArr[1];return ordinalMatches&&weekdayMatches}return!1},obj.isDateDropdownMatchNumberAndDayDropdowns=function(row){const dropdown=row.querySelector(obj.typedSelectors.combinedDropdown),numberDropdown=row.querySelector(obj.typedSelectors.numberDropdown),dayDropdown=row.querySelector(obj.typedSelectors.dayDropdown),valueArr=dropdown.value.split("-");if(!valueArr.length)return!1;return!(valueArr[0]!==numberDropdown.value)&&(!valueArr[1]||valueArr[1]===dayDropdown.value)},obj.setDateDropdownValue=function($dropdown,optionType){const isInitialSync=!dayjs.isDayjs(tec.classicEditorEvents.eventDate.eventStart.prevMoment);let value;const dropdownEl=$dropdown[0],defaultValue=dropdownEl.childNodes[0].value;if(optionType&&!isInitialSync){const optionTypePos=Array.from(dropdownEl.childNodes).map((option=>obj.getMonthlyOnOptionTypeFromValue(option.value))).indexOf(optionType);value=optionTypePos>=0?dropdownEl.childNodes[optionTypePos].value:defaultValue}if(isInitialSync){const number=$(obj.typedSelectors.numberDropdown).val();if(isNaN(number)){value=[number,$(obj.typedSelectors.dayDropdown).val()].join("-")}else value=number}$dropdown.val(value||defaultValue)},obj.getMonthlyOnOptionTypeFromValue=function(value){return value?value.match(/last-8/i)?"last-day-in-month":value.match(/(first|second|third|fourth|fifth)-\d/i)?"day-of-week-in-month":value.match(/last-\d/i)?"last-day-of-week-in-month":"day-n":null},obj.syncDateDropdownOptions=function(row){const dropdown=row.querySelector(obj.typedSelectors.combinedDropdown),optionType=obj.getMonthlyOnOptionTypeFromValue(dropdown.value);for(;dropdown.firstChild;)dropdown.removeChild(dropdown.lastChild);const $dropdown=$(dropdown),ordinal=tec.classicEditorEvents.eventDate.getEventStartWeekdayOrdinalValue(),weekdayName=tec.classicEditorEvents.eventDate.getEventStartWeekdayName(),patternKey=ordinal.toLowerCase()+weekdayName,patternObj=tribe_events_pro_recurrence_strings.customTablesV1.dayOfMonth.pattern[patternKey],patternOption=new Option(patternObj.label,patternObj.ordinal+"-"+patternObj.day,!1,!0);if($dropdown.append(patternOption),tec.classicEditorEvents.eventDate.isEventStartWeekdayLast()){const wasLastWeekdayOfTheMonth="Last"===row.querySelector('select[data-field="custom-month-number"]').value,lastWeekdayPatternKey="last"+weekdayName,lastWeekdayPatternObj=tribe_events_pro_recurrence_strings.customTablesV1.dayOfMonth.pattern[lastWeekdayPatternKey],lastWeekdayValue=lastWeekdayPatternObj.ordinal+"-"+lastWeekdayPatternObj.day,lastWeekdayPatternOption=new Option(lastWeekdayPatternObj.label,lastWeekdayValue,!1,wasLastWeekdayOfTheMonth);$dropdown.append(lastWeekdayPatternOption)}if(tec.classicEditorEvents.eventDate.isEventStartDateLastOfMonth()){const lastDayPatternKey="lastDay",lastDayPatternObj=tribe_events_pro_recurrence_strings.customTablesV1.dayOfMonth.pattern[lastDayPatternKey],lastDayPatternOption=new Option(lastDayPatternObj.label,lastDayPatternObj.ordinal+"-"+lastDayPatternObj.day,!1,!1);$dropdown.append(lastDayPatternOption)}const wasDayOfMonth=$.isNumeric(row.querySelector('select[data-field="custom-month-number"]').value),date=tec.classicEditorEvents.eventDate.eventStart.moment.date(),label=tribe_events_pro_recurrence_strings.customTablesV1.dayOfMonth.date[date],dateOption=new Option(label,date,!1,wasDayOfMonth);$dropdown.append(dateOption),obj.setDateDropdownValue($dropdown,optionType),$dropdown.tribe_dropdowns().trigger("change")},obj.syncDateDropdown=function(row,ruleType){if(tec.classicEditorEvents.offStart.isRuleOffStart(row))return;if(tecEventDetails.isRdate)return;if(!obj.setTypedSelectorsFromRuleType(ruleType))return;const $row=$(row);"yes"===$row.find(obj.typedSelectors.sameDayDropdown).val()&&$row.find(obj.typedSelectors.sameDayDropdown).val("no").trigger("change");const isInitialSync=!dayjs.isDayjs(tec.classicEditorEvents.eventDate.eventStart.prevMoment),isSameDay=dayjs.isDayjs(tec.classicEditorEvents.eventDate.eventStart.moment)&&dayjs.isDayjs(tec.classicEditorEvents.eventDate.eventStart.prevMoment)&&tec.classicEditorEvents.eventDate.eventStart.moment.isSame(tec.classicEditorEvents.eventDate.eventStart.prevMoment,"day"),dropdownMatchesEventStart=obj.isDateDropdownMatchEventStart(row);!isInitialSync&&isSameDay&&dropdownMatchesEventStart?obj.isDateDropdownMatchNumberAndDayDropdowns(row)||$row.find(obj.typedSelectors.combinedDropdown).trigger("change"):obj.syncDateDropdownOptions(row)},obj.handleDropdownChange=function(event){const valueArr=event.target.value.split("-"),$row=$(event.data.row),ruleType=$row.attr("data-recurrence-type");if(!obj.setTypedSelectorsFromRuleType(ruleType))return;const $numberDropdown=$row.find(obj.typedSelectors.numberDropdown),$dayDropdown=$row.find(obj.typedSelectors.dayDropdown);valueArr.length&&valueArr[0]&&($numberDropdown.val(valueArr[0]).trigger("change"),valueArr[1]&&$dayDropdown.val(valueArr[1]).trigger("change"))},obj.bindRuleEvents=function(rows){rows.forEach((function(row){const $row=$(row);$row.find(obj.selectors.monthOnTheDropdown).on("change",{row:row},obj.handleDropdownChange),$row.find(obj.selectors.yearNotSameDayDropdown).on("change",{row:row},obj.handleDropdownChange)}))}}(jQuery,tec.classicEditorEvents.dayOfMonth); \ No newline at end of file diff --git a/wp-content/plugins/events-calendar-pro/src/resources/js/custom-tables-v1/classic-editor-events-dialog.js b/wp-content/plugins/events-calendar-pro/src/resources/js/custom-tables-v1/classic-editor-events-dialog.js index e549e828a..21f2427fd 100644 --- a/wp-content/plugins/events-calendar-pro/src/resources/js/custom-tables-v1/classic-editor-events-dialog.js +++ b/wp-content/plugins/events-calendar-pro/src/resources/js/custom-tables-v1/classic-editor-events-dialog.js @@ -17,6 +17,8 @@ window.tec = window.tec || {}; */ tec.classicEditorEventsDialog = tec.classicEditorEventsDialog || {}; +dayjs.extend(window.dayjs_plugin_customParseFormat); + /** * Adds a dialog confirmation to the Save, Publish and Update buttons to prompt the user about the * type of Update to perform on the Event. @@ -210,7 +212,7 @@ tec.classicEditorEventsDialog = tec.classicEditorEventsDialog || {}; startDateTimeMomentFormat += ' H:mma'; } - const startDateTimeMoment = moment( startDateTime, startDateTimeMomentFormat ); + const startDateTimeMoment = dayjs( startDateTime, startDateTimeMomentFormat ); // If moment is not valid, return label without start date time. if ( ! startDateTimeMoment.isValid() ) { diff --git a/wp-content/plugins/events-calendar-pro/src/resources/js/custom-tables-v1/classic-editor-events-dialog.min.js b/wp-content/plugins/events-calendar-pro/src/resources/js/custom-tables-v1/classic-editor-events-dialog.min.js index fb21285f4..9f1850968 100644 --- a/wp-content/plugins/events-calendar-pro/src/resources/js/custom-tables-v1/classic-editor-events-dialog.min.js +++ b/wp-content/plugins/events-calendar-pro/src/resources/js/custom-tables-v1/classic-editor-events-dialog.min.js @@ -8,4 +8,4 @@ * @see: https://evnt.is/dev-docs-minification */ -window.tec=window.tec||{},tec.classicEditorEventsDialog=tec.classicEditorEventsDialog||{},function($,obj){obj.selectors={saveButton:'input[name="save"]',publishButton:'input[name="publish"]',communityEventsSubmit:".events-community-submit",deleteButton:"#delete-action a.submitdelete"},obj.l10n=window.tecEventsSeriesClassicEditor,obj.updateType={all:"all",single:"single",upcoming:"upcoming"},obj.phpToMomentDateFormatMap={d:"DD",j:"D",m:"MM",n:"M",Y:"YYYY"},obj.clearDialogContent=function(){tec.editorDialog.el.$instance.empty()},obj.getDialogText=function(settings){return'

                            '+settings.text+"

                            "},obj.getDialogRadioInput=function(settings){const checked=settings.checked?"checked":"",classes=["tec-events-pro-dialog__input-row","tec-events-pro-dialog__input-row--"+settings.type].concat(settings.classes).join(" "),inputClasses=["tec-events-pro-dialog__radio-input"].concat(settings.inputClasses).join(" "),labelClasses=["tec-events-pro-dialog__radio-input-label"].concat(settings.labelClasses).join(" "),id="tec-events-pro-dialog__radio-input--"+settings.type;let html='
                            ",html},obj.setDialogContent=function(contentSettings){contentSettings.forEach((function(settings){"text"===settings.type?tec.editorDialog.el.$instance.append(obj.getDialogText(settings)):tec.editorDialog.el.$instance.append(obj.getDialogRadioInput(settings))}))},obj.getDialogThisEventLabel=function(){const labelPieces=[obj.l10n.thisEvent],datepickerFormat=tecEventSettings.datepickerFormat,momentDateFormat=Object.keys(obj.phpToMomentDateFormatMap).reduce((function(format,phpFormat){return format.replace(phpFormat,obj.phpToMomentDateFormatMap[phpFormat])}),datepickerFormat);let startDateTime=$(tec.classicEditorEvents.selectors.eventStartDate).val(),startDateTimeMomentFormat=momentDateFormat;const isAllDay=$(tec.classicEditorEvents.selectors.allDayCheckbox).is(":checked");isAllDay||(startDateTime+=" "+$(tec.classicEditorEvents.selectors.eventStartTime).val(),startDateTimeMomentFormat+=" H:mma");const startDateTimeMoment=moment(startDateTime,startDateTimeMomentFormat);if(!startDateTimeMoment.isValid())return labelPieces[0];let dateTimeString=startDateTimeMoment.format("MMMM D, YYYY");return dateTimeString+=isAllDay?` ${obj.l10n.allDay}`:tecEventSettings.dateTimeSeparator+startDateTimeMoment.format("H:mma"),dateTimeString="("+dateTimeString+")",labelPieces.push(dateTimeString),labelPieces.join(" ")},obj.getUpdateDialogContentSettings=function(){const settings=[],startDateChanged=tec.classicEditorEventsState.isStateKeyDirty("startDate"),recurrenceRuleChanged=tec.classicEditorEventsState.isOneOfStateKeysDirty(["recurrence","exclusion"]),updateOptions={single:!0,upcoming:!0,all:!0};return!startDateChanged||tecEventDetails&&tecEventDetails.isRdate||(updateOptions.all=!1),recurrenceRuleChanged&&(updateOptions.single=!1),updateOptions.all||updateOptions.single?(updateOptions.single&&settings.push({type:obj.updateType.single,label:obj.getDialogThisEventLabel(),labelHelpText:obj.l10n.thisEventHelpText,classes:[],inputClasses:[],labelClasses:[],checked:!1}),settings.push({type:obj.updateType.upcoming,label:obj.l10n.upcomingSetting,classes:[],inputClasses:[],labelClasses:[],checked:!updateOptions.all}),updateOptions.all&&settings.push({type:obj.updateType.all,label:obj.l10n.allEvents,classes:[],inputClasses:[],labelClasses:[],checked:!0}),settings):(settings.push({type:"text",text:obj.l10n.effectThisAndFollowingEventsWarning}),settings.push({type:obj.updateType.upcoming,label:obj.l10n.upcomingSetting,classes:["hidden"],inputClasses:[],labelClasses:[],checked:!0}),settings)},obj.getDeleteDialogContentSettings=function(){const settings=[];return settings.push({type:obj.updateType.single,label:obj.getDialogThisEventLabel(),classes:[],inputClasses:[],labelClasses:[],checked:!1}),settings.push({type:obj.updateType.upcoming,label:obj.l10n.upcomingSetting,classes:[],inputClasses:[],labelClasses:[],checked:!1}),settings.push({type:obj.updateType.all,label:obj.l10n.allEvents,classes:[],inputClasses:[],labelClasses:[],checked:!0}),settings},obj.handleDialogConfirmButtonClick=function($button,eventHandler,typeName){return function(){if(!$button||!$button.length)return void tec.editorDialog.closeDialog();const selectedOption=tec.editorDialog.el.$instance.find("input:checked").val();if(selectedOption){if("trash"!==typeName)$button.closest("form").append('');else{const oldHref=$button.attr("href");$button.attr("href",oldHref+"&_tec_update_type="+selectedOption)}$button.off("click",eventHandler),$button[0].click()}else tec.editorDialog.closeDialog()}},obj.getUpdateDialogSettings=function($updateButton){return Object.assign({},tec.editorDialog.defaultDialogSettings,{buttons:[{class:"button-primary",text:obj.l10n.okButton,click:obj.handleDialogConfirmButtonClick($updateButton,obj.showUpdatePrompt,"_tec_update_type")}]})},obj.getDeleteDialogSettings=function($deleteButton){return Object.assign({},tec.editorDialog.defaultDialogSettings,{buttons:[{class:"button-primary",text:obj.l10n.okButton,click:obj.handleDialogConfirmButtonClick($deleteButton,obj.showDeletePrompt,"trash")}]})},obj.handleDuplicatedEventSave=function(event){event.preventDefault();const $saveButton=$(event.currentTarget);$saveButton.closest("form").append(''),$saveButton.off("click",obj.showUpdatePrompt),$saveButton.click()},obj.showUpdatePrompt=function(event){tecEventDetails.requiresFirstSave?obj.handleDuplicatedEventSave(event):tec.classicEditorEventsState.initialState.isRecurring&&(event.preventDefault(),tec.editorDialog.el.$instance.attr("title",obj.l10n.editModalTitle),obj.clearDialogContent(),obj.setDialogContent(obj.getUpdateDialogContentSettings()),tec.editorDialog.setDialogSettings(obj.getUpdateDialogSettings($(event.currentTarget))),tec.editorDialog.openDialog())},obj.showDeletePrompt=function(event){tec.classicEditorEventsState.initialState.isRecurring&&(event.preventDefault(),tec.editorDialog.el.$instance.attr("title",obj.l10n.trashRecurringEvent),obj.clearDialogContent(),obj.setDialogContent(obj.getDeleteDialogContentSettings()),tec.editorDialog.setDialogSettings(obj.getDeleteDialogSettings($(event.currentTarget))),tec.editorDialog.openDialog())},obj.bindEvents=function(){const showUpdatePrompt=!tecEventDetails||!tecEventDetails.occurrence||tecEventDetails.occurrence.has_recurrence;$([obj.selectors.saveButton,obj.selectors.communityEventsSubmit].join()).on("click",obj.showUpdatePrompt),showUpdatePrompt&&$(obj.selectors.publishButton).on("click",obj.showUpdatePrompt),$(obj.selectors.deleteButton).on("click",obj.showDeletePrompt)},obj.ready=function(){obj.bindEvents()},$(obj.ready)}(jQuery,tec.classicEditorEventsDialog); \ No newline at end of file +window.tec=window.tec||{},tec.classicEditorEventsDialog=tec.classicEditorEventsDialog||{},dayjs.extend(window.dayjs_plugin_customParseFormat),function($,obj){obj.selectors={saveButton:'input[name="save"]',publishButton:'input[name="publish"]',communityEventsSubmit:".events-community-submit",deleteButton:"#delete-action a.submitdelete"},obj.l10n=window.tecEventsSeriesClassicEditor,obj.updateType={all:"all",single:"single",upcoming:"upcoming"},obj.phpToMomentDateFormatMap={d:"DD",j:"D",m:"MM",n:"M",Y:"YYYY"},obj.clearDialogContent=function(){tec.editorDialog.el.$instance.empty()},obj.getDialogText=function(settings){return'

                            '+settings.text+"

                            "},obj.getDialogRadioInput=function(settings){const checked=settings.checked?"checked":"",classes=["tec-events-pro-dialog__input-row","tec-events-pro-dialog__input-row--"+settings.type].concat(settings.classes).join(" "),inputClasses=["tec-events-pro-dialog__radio-input"].concat(settings.inputClasses).join(" "),labelClasses=["tec-events-pro-dialog__radio-input-label"].concat(settings.labelClasses).join(" "),id="tec-events-pro-dialog__radio-input--"+settings.type;let html='
                            ",html},obj.setDialogContent=function(contentSettings){contentSettings.forEach((function(settings){"text"===settings.type?tec.editorDialog.el.$instance.append(obj.getDialogText(settings)):tec.editorDialog.el.$instance.append(obj.getDialogRadioInput(settings))}))},obj.getDialogThisEventLabel=function(){const labelPieces=[obj.l10n.thisEvent],datepickerFormat=tecEventSettings.datepickerFormat,momentDateFormat=Object.keys(obj.phpToMomentDateFormatMap).reduce((function(format,phpFormat){return format.replace(phpFormat,obj.phpToMomentDateFormatMap[phpFormat])}),datepickerFormat);let startDateTime=$(tec.classicEditorEvents.selectors.eventStartDate).val(),startDateTimeMomentFormat=momentDateFormat;const isAllDay=$(tec.classicEditorEvents.selectors.allDayCheckbox).is(":checked");isAllDay||(startDateTime+=" "+$(tec.classicEditorEvents.selectors.eventStartTime).val(),startDateTimeMomentFormat+=" H:mma");const startDateTimeMoment=dayjs(startDateTime,startDateTimeMomentFormat);if(!startDateTimeMoment.isValid())return labelPieces[0];let dateTimeString=startDateTimeMoment.format("MMMM D, YYYY");return dateTimeString+=isAllDay?` ${obj.l10n.allDay}`:tecEventSettings.dateTimeSeparator+startDateTimeMoment.format("H:mma"),dateTimeString="("+dateTimeString+")",labelPieces.push(dateTimeString),labelPieces.join(" ")},obj.getUpdateDialogContentSettings=function(){const settings=[],startDateChanged=tec.classicEditorEventsState.isStateKeyDirty("startDate"),recurrenceRuleChanged=tec.classicEditorEventsState.isOneOfStateKeysDirty(["recurrence","exclusion"]),updateOptions={single:!0,upcoming:!0,all:!0};return!startDateChanged||tecEventDetails&&tecEventDetails.isRdate||(updateOptions.all=!1),recurrenceRuleChanged&&(updateOptions.single=!1),updateOptions.all||updateOptions.single?(updateOptions.single&&settings.push({type:obj.updateType.single,label:obj.getDialogThisEventLabel(),labelHelpText:obj.l10n.thisEventHelpText,classes:[],inputClasses:[],labelClasses:[],checked:!1}),settings.push({type:obj.updateType.upcoming,label:obj.l10n.upcomingSetting,classes:[],inputClasses:[],labelClasses:[],checked:!updateOptions.all}),updateOptions.all&&settings.push({type:obj.updateType.all,label:obj.l10n.allEvents,classes:[],inputClasses:[],labelClasses:[],checked:!0}),settings):(settings.push({type:"text",text:obj.l10n.effectThisAndFollowingEventsWarning}),settings.push({type:obj.updateType.upcoming,label:obj.l10n.upcomingSetting,classes:["hidden"],inputClasses:[],labelClasses:[],checked:!0}),settings)},obj.getDeleteDialogContentSettings=function(){const settings=[];return settings.push({type:obj.updateType.single,label:obj.getDialogThisEventLabel(),classes:[],inputClasses:[],labelClasses:[],checked:!1}),settings.push({type:obj.updateType.upcoming,label:obj.l10n.upcomingSetting,classes:[],inputClasses:[],labelClasses:[],checked:!1}),settings.push({type:obj.updateType.all,label:obj.l10n.allEvents,classes:[],inputClasses:[],labelClasses:[],checked:!0}),settings},obj.handleDialogConfirmButtonClick=function($button,eventHandler,typeName){return function(){if(!$button||!$button.length)return void tec.editorDialog.closeDialog();const selectedOption=tec.editorDialog.el.$instance.find("input:checked").val();if(selectedOption){if("trash"!==typeName)$button.closest("form").append('');else{const oldHref=$button.attr("href");$button.attr("href",oldHref+"&_tec_update_type="+selectedOption)}$button.off("click",eventHandler),$button[0].click()}else tec.editorDialog.closeDialog()}},obj.getUpdateDialogSettings=function($updateButton){return Object.assign({},tec.editorDialog.defaultDialogSettings,{buttons:[{class:"button-primary",text:obj.l10n.okButton,click:obj.handleDialogConfirmButtonClick($updateButton,obj.showUpdatePrompt,"_tec_update_type")}]})},obj.getDeleteDialogSettings=function($deleteButton){return Object.assign({},tec.editorDialog.defaultDialogSettings,{buttons:[{class:"button-primary",text:obj.l10n.okButton,click:obj.handleDialogConfirmButtonClick($deleteButton,obj.showDeletePrompt,"trash")}]})},obj.handleDuplicatedEventSave=function(event){event.preventDefault();const $saveButton=$(event.currentTarget);$saveButton.closest("form").append(''),$saveButton.off("click",obj.showUpdatePrompt),$saveButton.click()},obj.showUpdatePrompt=function(event){tecEventDetails.requiresFirstSave?obj.handleDuplicatedEventSave(event):tec.classicEditorEventsState.initialState.isRecurring&&(event.preventDefault(),tec.editorDialog.el.$instance.attr("title",obj.l10n.editModalTitle),obj.clearDialogContent(),obj.setDialogContent(obj.getUpdateDialogContentSettings()),tec.editorDialog.setDialogSettings(obj.getUpdateDialogSettings($(event.currentTarget))),tec.editorDialog.openDialog())},obj.showDeletePrompt=function(event){tec.classicEditorEventsState.initialState.isRecurring&&(event.preventDefault(),tec.editorDialog.el.$instance.attr("title",obj.l10n.trashRecurringEvent),obj.clearDialogContent(),obj.setDialogContent(obj.getDeleteDialogContentSettings()),tec.editorDialog.setDialogSettings(obj.getDeleteDialogSettings($(event.currentTarget))),tec.editorDialog.openDialog())},obj.bindEvents=function(){const showUpdatePrompt=!tecEventDetails||!tecEventDetails.occurrence||tecEventDetails.occurrence.has_recurrence;$([obj.selectors.saveButton,obj.selectors.communityEventsSubmit].join()).on("click",obj.showUpdatePrompt),showUpdatePrompt&&$(obj.selectors.publishButton).on("click",obj.showUpdatePrompt),$(obj.selectors.deleteButton).on("click",obj.showDeletePrompt)},obj.ready=function(){obj.bindEvents()},$(obj.ready)}(jQuery,tec.classicEditorEventsDialog); \ No newline at end of file diff --git a/wp-content/plugins/events-calendar-pro/src/resources/js/custom-tables-v1/classic-editor-events-event-date.js b/wp-content/plugins/events-calendar-pro/src/resources/js/custom-tables-v1/classic-editor-events-event-date.js index 7d3c03d30..2062e9db5 100644 --- a/wp-content/plugins/events-calendar-pro/src/resources/js/custom-tables-v1/classic-editor-events-event-date.js +++ b/wp-content/plugins/events-calendar-pro/src/resources/js/custom-tables-v1/classic-editor-events-event-date.js @@ -17,6 +17,9 @@ window.tec = window.tec || {}; tec.classicEditorEvents = tec.classicEditorEvents || {}; tec.classicEditorEvents.eventDate = tec.classicEditorEvents.eventDate || {}; +dayjs.extend(window.dayjs_plugin_isoWeek); +dayjs.extend(window.dayjs_plugin_customParseFormat); + /** * Handles the event date cases of recurrence and exclusions. * @@ -173,7 +176,10 @@ tec.classicEditorEvents.eventDate = tec.classicEditorEvents.eventDate || {}; obj.el.$eventStart = $document.find( obj.selectors.eventStartDate ); } - obj.eventStart.moment = moment( obj.el.$eventStart.val(), tribe_events_pro_admin.recurrence.date_format ); + obj.eventStart.moment = dayjs( + obj.el.$eventStart.val(), + tribe_events_pro_admin.recurrence.date_format + ); }; /** diff --git a/wp-content/plugins/events-calendar-pro/src/resources/js/custom-tables-v1/classic-editor-events-event-date.min.js b/wp-content/plugins/events-calendar-pro/src/resources/js/custom-tables-v1/classic-editor-events-event-date.min.js index dded94886..26a624cfd 100644 --- a/wp-content/plugins/events-calendar-pro/src/resources/js/custom-tables-v1/classic-editor-events-event-date.min.js +++ b/wp-content/plugins/events-calendar-pro/src/resources/js/custom-tables-v1/classic-editor-events-event-date.min.js @@ -8,4 +8,4 @@ * @see: https://evnt.is/dev-docs-minification */ -window.tec=window.tec||{},tec.classicEditorEvents=tec.classicEditorEvents||{},tec.classicEditorEvents.eventDate=tec.classicEditorEvents.eventDate||{},function($,obj){"use strict";const $document=$(document);obj.selectors={eventStartDate:"#EventStartDate"},obj.el={$eventStart:null},obj.cardinalToOrdinalMap={1:"First",2:"Second",3:"Third",4:"Fourth",5:"Fifth"},obj.isoWeekdayToDayNameMap={1:"Monday",2:"Tuesday",3:"Wednesday",4:"Thursday",5:"Friday",6:"Saturday",7:"Sunday"},obj.eventStart={moment:null,prevMoment:null},obj.getEventStartWeekdayName=function(){const weekday=obj.eventStart.moment.isoWeekday();return obj.isoWeekdayToDayNameMap[weekday]},obj.getEventStartWeekdayOrdinalValue=function(){const date=obj.eventStart.moment.date(),cardinalWeek=Math.floor((date-1)/7)+1;return obj.cardinalToOrdinalMap[cardinalWeek]},obj.isEventStartWeekdayLast=function(){return obj.eventStart.moment.daysInMonth()-obj.eventStart.moment.date()<7},obj.isEventStartDateLastOfMonth=function(){return obj.eventStart.moment.daysInMonth()===obj.eventStart.moment.date()},obj.didEventStartMonthChange=function(){return!!obj.eventStart.prevMoment&&obj.eventStart.moment.month()!==obj.eventStart.prevMoment.month()},obj.setCurrentEventDate=function(){obj.el.eventStart||(obj.el.$eventStart=$document.find(obj.selectors.eventStartDate)),obj.eventStart.moment=moment(obj.el.$eventStart.val(),tribe_events_pro_admin.recurrence.date_format)},obj.setPreviousEventDate=function(){obj.eventStart.prevMoment=obj.eventStart.moment}}(jQuery,tec.classicEditorEvents.eventDate); \ No newline at end of file +window.tec=window.tec||{},tec.classicEditorEvents=tec.classicEditorEvents||{},tec.classicEditorEvents.eventDate=tec.classicEditorEvents.eventDate||{},dayjs.extend(window.dayjs_plugin_isoWeek),dayjs.extend(window.dayjs_plugin_customParseFormat),function($,obj){"use strict";const $document=$(document);obj.selectors={eventStartDate:"#EventStartDate"},obj.el={$eventStart:null},obj.cardinalToOrdinalMap={1:"First",2:"Second",3:"Third",4:"Fourth",5:"Fifth"},obj.isoWeekdayToDayNameMap={1:"Monday",2:"Tuesday",3:"Wednesday",4:"Thursday",5:"Friday",6:"Saturday",7:"Sunday"},obj.eventStart={moment:null,prevMoment:null},obj.getEventStartWeekdayName=function(){const weekday=obj.eventStart.moment.isoWeekday();return obj.isoWeekdayToDayNameMap[weekday]},obj.getEventStartWeekdayOrdinalValue=function(){const date=obj.eventStart.moment.date(),cardinalWeek=Math.floor((date-1)/7)+1;return obj.cardinalToOrdinalMap[cardinalWeek]},obj.isEventStartWeekdayLast=function(){return obj.eventStart.moment.daysInMonth()-obj.eventStart.moment.date()<7},obj.isEventStartDateLastOfMonth=function(){return obj.eventStart.moment.daysInMonth()===obj.eventStart.moment.date()},obj.didEventStartMonthChange=function(){return!!obj.eventStart.prevMoment&&obj.eventStart.moment.month()!==obj.eventStart.prevMoment.month()},obj.setCurrentEventDate=function(){obj.el.eventStart||(obj.el.$eventStart=$document.find(obj.selectors.eventStartDate)),obj.eventStart.moment=dayjs(obj.el.$eventStart.val(),tribe_events_pro_admin.recurrence.date_format)},obj.setPreviousEventDate=function(){obj.eventStart.prevMoment=obj.eventStart.moment}}(jQuery,tec.classicEditorEvents.eventDate); \ No newline at end of file diff --git a/wp-content/plugins/events-calendar-pro/src/resources/js/custom-tables-v1/classic-editor-events-locked-options.js b/wp-content/plugins/events-calendar-pro/src/resources/js/custom-tables-v1/classic-editor-events-locked-options.js index 96c549304..f012f648d 100644 --- a/wp-content/plugins/events-calendar-pro/src/resources/js/custom-tables-v1/classic-editor-events-locked-options.js +++ b/wp-content/plugins/events-calendar-pro/src/resources/js/custom-tables-v1/classic-editor-events-locked-options.js @@ -18,6 +18,8 @@ window.tec = window.tec || {}; tec.classicEditorEvents = tec.classicEditorEvents || {}; tec.classicEditorEvents.lockedOptions = tec.classicEditorEvents.lockedOptions || {}; +dayjs.extend(window.dayjs_plugin_isoWeek); + /** * Handles the locked options cases of recurrence and exclusions. * diff --git a/wp-content/plugins/events-calendar-pro/src/resources/js/custom-tables-v1/classic-editor-events-locked-options.min.js b/wp-content/plugins/events-calendar-pro/src/resources/js/custom-tables-v1/classic-editor-events-locked-options.min.js index 8dbb1ba9c..031e9d706 100644 --- a/wp-content/plugins/events-calendar-pro/src/resources/js/custom-tables-v1/classic-editor-events-locked-options.min.js +++ b/wp-content/plugins/events-calendar-pro/src/resources/js/custom-tables-v1/classic-editor-events-locked-options.min.js @@ -8,4 +8,4 @@ * @see: https://evnt.is/dev-docs-minification */ -window.tec=window.tec||{},tec.classicEditorEvents=tec.classicEditorEvents||{},tec.classicEditorEvents.lockedOptions=tec.classicEditorEvents.lockedOptions||{},function($,obj){"use strict";obj.selectors={eventStartDate:"#EventStartDate",recurrenceWeekDay:".custom-recurrence-weeks .tribe-button-field",recurrenceWeekDayInput:".custom-recurrence-weeks .tribe-button-field .tribe-button-input",recurrenceYearsDropdown:".custom-recurrence-years",weekDaysLock:".tec-events-pro-week-days-lock",weekDaysOverlay:".tec-events-pro-week-days-overlay"},obj.classes={weekDayActive:"tribe-active",weekDayLocked:"tribe-button-field--locked"},obj.setWeekDayActiveFromLockedState=function(row){const lockedWeekDay=row.getAttribute("data-locked-week-day");if(!lockedWeekDay)return;const lockedDay=row.querySelector(obj.selectors.recurrenceWeekDayInput+'[value="'+lockedWeekDay+'"]').parentNode,hasLockClass=lockedDay.classList.contains(obj.classes.weekDayLocked),hasActiveClass=lockedDay.classList.contains(obj.classes.weekDayActive);hasLockClass&&hasActiveClass||!hasLockClass&&!hasActiveClass||lockedDay.click()},obj.setWeekDayLockState=function(day,lock){const hasLockClass=day.classList.contains(obj.classes.weekDayLocked);if(hasLockClass&&lock||!hasLockClass&&!lock)return;const hasActiveClass=day.classList.contains(obj.classes.weekDayActive);lock&&!hasLockClass?(day.classList.add(obj.classes.weekDayLocked),hasActiveClass||day.click()):!lock&&hasLockClass&&(day.classList.remove(obj.classes.weekDayLocked),hasActiveClass&&day.click())},obj.setLockedWeekDay=function(row){const overlay=row.querySelector(obj.selectors.weekDaysOverlay);if(tecEventDetails?.isRdate)return;if(tec.classicEditorEvents.offStart.isRuleOffStart(row))return row.querySelectorAll(obj.selectors.recurrenceWeekDayInput).forEach((function(dayInput){obj.setWeekDayLockState(dayInput.parentNode,!1)})),row.removeAttribute("data-locked-week-day"),void overlay.removeAttribute("style");const lockedWeekDay=row.getAttribute("data-locked-week-day"),startWeekDay=tec.classicEditorEvents.eventDate.eventStart.moment.isoWeekday();if(lockedWeekDay===startWeekDay)return;const lockedDay=row.querySelector(obj.selectors.recurrenceWeekDayInput+'[value="'+startWeekDay+'"]').parentNode,lockedDayLeft=lockedDay.offsetLeft,lockedDayWidth=lockedDay.offsetWidth;if(lockedDayLeft&&lockedDayWidth){overlay.style.left=lockedDayLeft+"px",overlay.style.width=lockedDayWidth+"px";const lockIconLeft=lockedDayLeft+lockedDayWidth-14;row.querySelector(obj.selectors.weekDaysLock).style.left=lockIconLeft+"px"}row.querySelectorAll(obj.selectors.recurrenceWeekDayInput).forEach((function(dayInput){const lock=dayInput.getAttribute("value")===String(startWeekDay);obj.setWeekDayLockState(dayInput.parentNode,lock)})),row.setAttribute("data-locked-week-day",startWeekDay)},obj.hideMonthInlineText=function(row){tec.classicEditorEvents.offStart.isRuleOffStart(row)||(row.querySelectorAll(".custom-recurrence-months > .tribe-field-inline-text:not(:first-child):not(:last-child):not(.first-label-in-line)").forEach((function(inlineText){inlineText.style.display="none"})),row.querySelector(".custom-recurrence-months .recurrence-month-on-the > .tribe-field-inline-text").style.display="none")},obj.setLockedYearMonthIcon=function(row){if(tec.classicEditorEvents.offStart.isRuleOffStart(row))return;const values=$(row).find(obj.selectors.recurrenceYearsDropdown).val(),month=String(tec.classicEditorEvents.eventDate.eventStart.moment.month()+1),index=values.indexOf(month);if(-1===index)return;const lockedChoice=row.querySelectorAll(obj.selectors.recurrenceYearsDropdown+" + .select2 .select2-selection__choice")[index];if(lockedChoice.classList.contains("select2-selection__choice--locked")||lockedChoice.classList.add("select2-selection__choice--locked"),!lockedChoice.querySelector(".tec-events-pro-month-lock")){const icon=document.createElement("span");icon.classList.add("tec-events-pro-month-lock"),icon.classList.add("dashicons"),icon.classList.add("dashicons-lock"),icon.title=tribe_events_pro_recurrence_strings.customTablesV1.recurrence.lockIconTooltip,lockedChoice.appendChild(icon)}},obj.setLockedYearMonth=function(row){if(tec.classicEditorEvents.offStart.isRuleOffStart(row))return;const $dropdown=$(row).find(obj.selectors.recurrenceYearsDropdown),values=$dropdown.val(),newValues=values.slice(),month=String(tec.classicEditorEvents.eventDate.eventStart.moment.month()+1);if(tec.classicEditorEvents.eventDate.didEventStartMonthChange()){const prevMonth=String(tec.classicEditorEvents.eventDate.eventStart.prevMoment.month()+1),index=newValues.indexOf(prevMonth);-1!==index&&newValues.splice(index,1)}newValues.includes(month)||newValues.push(month);newValues.every((function(value,index){return value===values[index]}))||$dropdown.val(newValues).trigger("change")},obj.hideYearlyInlineText=function(row){tec.classicEditorEvents.offStart.isRuleOffStart(row)||row.querySelectorAll('[data-condition="Yearly"] .tribe-dame-day-select > span > .tribe-field-inline-text').forEach((function(inlineText){inlineText.style.display="none"}))},obj.syncLockedOptionsRuleState=function(type){document.querySelectorAll(".tribe-event-"+type).forEach((function(row){const ruleType=row.getAttribute("data-recurrence-type");if(["Weekly","Monthly","Yearly"].includes(ruleType))switch(ruleType){case"Weekly":obj.setLockedWeekDay(row),obj.setWeekDayActiveFromLockedState(row);break;case"Monthly":obj.hideMonthInlineText(row),tec.classicEditorEvents.dayOfMonth.syncDateDropdown(row,ruleType);break;case"Yearly":obj.hideYearlyInlineText(row),obj.setLockedYearMonth(row),obj.setLockedYearMonthIcon(row),tec.classicEditorEvents.dayOfMonth.syncDateDropdown(row,ruleType)}}))}}(jQuery,tec.classicEditorEvents.lockedOptions); \ No newline at end of file +window.tec=window.tec||{},tec.classicEditorEvents=tec.classicEditorEvents||{},tec.classicEditorEvents.lockedOptions=tec.classicEditorEvents.lockedOptions||{},dayjs.extend(window.dayjs_plugin_isoWeek),function($,obj){"use strict";obj.selectors={eventStartDate:"#EventStartDate",recurrenceWeekDay:".custom-recurrence-weeks .tribe-button-field",recurrenceWeekDayInput:".custom-recurrence-weeks .tribe-button-field .tribe-button-input",recurrenceYearsDropdown:".custom-recurrence-years",weekDaysLock:".tec-events-pro-week-days-lock",weekDaysOverlay:".tec-events-pro-week-days-overlay"},obj.classes={weekDayActive:"tribe-active",weekDayLocked:"tribe-button-field--locked"},obj.setWeekDayActiveFromLockedState=function(row){const lockedWeekDay=row.getAttribute("data-locked-week-day");if(!lockedWeekDay)return;const lockedDay=row.querySelector(obj.selectors.recurrenceWeekDayInput+'[value="'+lockedWeekDay+'"]').parentNode,hasLockClass=lockedDay.classList.contains(obj.classes.weekDayLocked),hasActiveClass=lockedDay.classList.contains(obj.classes.weekDayActive);hasLockClass&&hasActiveClass||!hasLockClass&&!hasActiveClass||lockedDay.click()},obj.setWeekDayLockState=function(day,lock){const hasLockClass=day.classList.contains(obj.classes.weekDayLocked);if(hasLockClass&&lock||!hasLockClass&&!lock)return;const hasActiveClass=day.classList.contains(obj.classes.weekDayActive);lock&&!hasLockClass?(day.classList.add(obj.classes.weekDayLocked),hasActiveClass||day.click()):!lock&&hasLockClass&&(day.classList.remove(obj.classes.weekDayLocked),hasActiveClass&&day.click())},obj.setLockedWeekDay=function(row){const overlay=row.querySelector(obj.selectors.weekDaysOverlay);if(tecEventDetails?.isRdate)return;if(tec.classicEditorEvents.offStart.isRuleOffStart(row))return row.querySelectorAll(obj.selectors.recurrenceWeekDayInput).forEach((function(dayInput){obj.setWeekDayLockState(dayInput.parentNode,!1)})),row.removeAttribute("data-locked-week-day"),void overlay.removeAttribute("style");const lockedWeekDay=row.getAttribute("data-locked-week-day"),startWeekDay=tec.classicEditorEvents.eventDate.eventStart.moment.isoWeekday();if(lockedWeekDay===startWeekDay)return;const lockedDay=row.querySelector(obj.selectors.recurrenceWeekDayInput+'[value="'+startWeekDay+'"]').parentNode,lockedDayLeft=lockedDay.offsetLeft,lockedDayWidth=lockedDay.offsetWidth;if(lockedDayLeft&&lockedDayWidth){overlay.style.left=lockedDayLeft+"px",overlay.style.width=lockedDayWidth+"px";const lockIconLeft=lockedDayLeft+lockedDayWidth-14;row.querySelector(obj.selectors.weekDaysLock).style.left=lockIconLeft+"px"}row.querySelectorAll(obj.selectors.recurrenceWeekDayInput).forEach((function(dayInput){const lock=dayInput.getAttribute("value")===String(startWeekDay);obj.setWeekDayLockState(dayInput.parentNode,lock)})),row.setAttribute("data-locked-week-day",startWeekDay)},obj.hideMonthInlineText=function(row){tec.classicEditorEvents.offStart.isRuleOffStart(row)||(row.querySelectorAll(".custom-recurrence-months > .tribe-field-inline-text:not(:first-child):not(:last-child):not(.first-label-in-line)").forEach((function(inlineText){inlineText.style.display="none"})),row.querySelector(".custom-recurrence-months .recurrence-month-on-the > .tribe-field-inline-text").style.display="none")},obj.setLockedYearMonthIcon=function(row){if(tec.classicEditorEvents.offStart.isRuleOffStart(row))return;const values=$(row).find(obj.selectors.recurrenceYearsDropdown).val(),month=String(tec.classicEditorEvents.eventDate.eventStart.moment.month()+1),index=values.indexOf(month);if(-1===index)return;const lockedChoice=row.querySelectorAll(obj.selectors.recurrenceYearsDropdown+" + .select2 .select2-selection__choice")[index];if(lockedChoice.classList.contains("select2-selection__choice--locked")||lockedChoice.classList.add("select2-selection__choice--locked"),!lockedChoice.querySelector(".tec-events-pro-month-lock")){const icon=document.createElement("span");icon.classList.add("tec-events-pro-month-lock"),icon.classList.add("dashicons"),icon.classList.add("dashicons-lock"),icon.title=tribe_events_pro_recurrence_strings.customTablesV1.recurrence.lockIconTooltip,lockedChoice.appendChild(icon)}},obj.setLockedYearMonth=function(row){if(tec.classicEditorEvents.offStart.isRuleOffStart(row))return;const $dropdown=$(row).find(obj.selectors.recurrenceYearsDropdown),values=$dropdown.val(),newValues=values.slice(),month=String(tec.classicEditorEvents.eventDate.eventStart.moment.month()+1);if(tec.classicEditorEvents.eventDate.didEventStartMonthChange()){const prevMonth=String(tec.classicEditorEvents.eventDate.eventStart.prevMoment.month()+1),index=newValues.indexOf(prevMonth);-1!==index&&newValues.splice(index,1)}newValues.includes(month)||newValues.push(month);newValues.every((function(value,index){return value===values[index]}))||$dropdown.val(newValues).trigger("change")},obj.hideYearlyInlineText=function(row){tec.classicEditorEvents.offStart.isRuleOffStart(row)||row.querySelectorAll('[data-condition="Yearly"] .tribe-dame-day-select > span > .tribe-field-inline-text').forEach((function(inlineText){inlineText.style.display="none"}))},obj.syncLockedOptionsRuleState=function(type){document.querySelectorAll(".tribe-event-"+type).forEach((function(row){const ruleType=row.getAttribute("data-recurrence-type");if(["Weekly","Monthly","Yearly"].includes(ruleType))switch(ruleType){case"Weekly":obj.setLockedWeekDay(row),obj.setWeekDayActiveFromLockedState(row);break;case"Monthly":obj.hideMonthInlineText(row),tec.classicEditorEvents.dayOfMonth.syncDateDropdown(row,ruleType);break;case"Yearly":obj.hideYearlyInlineText(row),obj.setLockedYearMonth(row),obj.setLockedYearMonthIcon(row),tec.classicEditorEvents.dayOfMonth.syncDateDropdown(row,ruleType)}}))}}(jQuery,tec.classicEditorEvents.lockedOptions); \ No newline at end of file diff --git a/wp-content/plugins/events-calendar-pro/src/resources/js/custom-tables-v1/classic-editor-events.js b/wp-content/plugins/events-calendar-pro/src/resources/js/custom-tables-v1/classic-editor-events.js index 1cfd89c50..97a3f9acf 100644 --- a/wp-content/plugins/events-calendar-pro/src/resources/js/custom-tables-v1/classic-editor-events.js +++ b/wp-content/plugins/events-calendar-pro/src/resources/js/custom-tables-v1/classic-editor-events.js @@ -16,6 +16,8 @@ window.tec = window.tec || {}; */ tec.classicEditorEvents = tec.classicEditorEvents || {}; +dayjs.extend(window.dayjs_plugin_customParseFormat); + /** * Handles the initial loading of the recurrence and exclusions. * Also handles syncing of the state when adding recurrence rules or exclusions, @@ -55,8 +57,6 @@ tec.classicEditorEvents = tec.classicEditorEvents || {}; deleteButton: '#delete-action a.submitdelete', recurrence: '.tribe-event-recurrence', exclusion: '.tribe-event-exclusion', - recurrenceDescription: '.tribe-recurrence-description', - recurrenceDescriptionInput: '[name="recurrence[description]"]', recurrenceTypeButton: '.tribe-event-recurrence-rule > .tribe-buttonset .tribe-button-field[data-value]', }; @@ -80,7 +80,9 @@ tec.classicEditorEvents = tec.classicEditorEvents || {}; // requestAnimationFrame is required here so the updates happen after DOM modifications. // The order of the actions below matter, be careful when modifying them. requestAnimationFrame( function () { - const targetRows = document.querySelectorAll( obj.selectors.recurrence + ':not([data-defaults-set])' ); + const targetRows = document.querySelectorAll( + obj.selectors.recurrence + ':not([data-defaults-set])' + ); obj.default.setRuleEndsText( targetRows ); obj.default.setNewEndsOnDefault( targetRows ); obj.default.setNewEndDateDefault( targetRows ); @@ -108,7 +110,9 @@ tec.classicEditorEvents = tec.classicEditorEvents || {}; // requestAnimationFrame is required here so the updates happen after DOM modifications. // The order of the actions below matter, be careful when modifying them. requestAnimationFrame( function () { - const targetRows = document.querySelectorAll( obj.selectors.exclusion + ':not([data-defaults-set])' ); + const targetRows = document.querySelectorAll( + obj.selectors.exclusion + ':not([data-defaults-set])' + ); obj.default.hideExclusionDescription( targetRows ); obj.default.setExclusionDatepickerMinDates( targetRows ); obj.default.setNewEndsOnDefault( targetRows ); @@ -149,8 +153,12 @@ tec.classicEditorEvents = tec.classicEditorEvents || {}; obj.initExistingRecurrenceExclusionRows = function () { tec.classicEditorEvents.eventDate.setCurrentEventDate(); - const recurrenceRows = document.querySelectorAll( obj.selectors.recurrence + ':not([data-defaults-set])' ); - const exclusionRows = document.querySelectorAll( obj.selectors.exclusion + ':not([data-defaults-set])' ); + const recurrenceRows = document.querySelectorAll( + obj.selectors.recurrence + ':not([data-defaults-set])' + ); + const exclusionRows = document.querySelectorAll( + obj.selectors.exclusion + ':not([data-defaults-set])' + ); obj.default.hideExclusionDescription( exclusionRows ); obj.default.setRuleEndsText( recurrenceRows ); obj.default.setRuleEndsText( exclusionRows ); @@ -170,30 +178,6 @@ tec.classicEditorEvents = tec.classicEditorEvents || {}; tec.classicEditorEvents.eventDate.setPreviousEventDate(); }; - /** - * Hides the recurrence description section and sets the description input to - * a blank string. - * - * @todo This function should be converted to template modifications when - * integrated into ECP. - * - * @since 6.0.0 - * - * @return {void} The function will hide the description section. - */ - obj.hideRecurrenceDescription = function () { - const deprecatedDescriptions = document.querySelectorAll( obj.selectors.recurrenceDescription ); - - deprecatedDescriptions.forEach( function ( description ) { - description.style.display = 'none'; - const descriptionInput = description.querySelector( obj.selectors.recurrenceDescriptionInput ); - if ( ! descriptionInput ) { - return; - } - descriptionInput.value = ''; - } ); - }; - /** * Handle mutations observed by mutation observer. * @@ -298,6 +282,7 @@ tec.classicEditorEvents = tec.classicEditorEvents || {}; .on( 'submit', obj.offStart.enableOffStartFieldsForSubmission ) }; + /** * New update rule recurrence text function to replace the old function. * This replaces @@ -328,11 +313,11 @@ tec.classicEditorEvents = tec.classicEditorEvents || {}; * replace [first_occurrence_date] with start date from the edit event * screen. */ - const dateFormat = tribe_events_pro_admin.recurrence.date_format + ' hh:mm a'; + const dateFormat = tribe_events_pro_admin.recurrence.date_format + ' hh:mmA'; const $startDate = $document.find( obj.selectors.eventStartDate ); const $startTime = $document.find( obj.selectors.eventStartTime ); const startDate = $startDate.val() + ' ' + $startTime.val().toUpperCase(); - startMoment = moment( startDate, dateFormat ); + startMoment = dayjs( startDate, dateFormat ); } else { /** @@ -340,18 +325,28 @@ tec.classicEditorEvents = tec.classicEditorEvents || {}; * replace * [first_occurrence_date]. */ - startMoment = moment( tecEventDetails.event.start_date ); + startMoment = dayjs( + tecEventDetails.event.start_date, + tribe_events_pro_admin.recurrence.date_format + ); } - const displayFormat = tribe_events_pro_admin.recurrence.convert_date_format_php_to_moment( tribe_dynamic_help_text.date_with_year ); + const displayFormat = tribe_events_pro_admin.recurrence.convert_date_format_php_to_moment( + tribe_dynamic_help_text.date_with_year + ); const $recurrenceDescription = $rule.find( '.tribe-event-recurrence-description' ); const text = $recurrenceDescription.text(); - let updatedText = text.replace( '[first_occurrence_date]', startMoment.format( displayFormat ) ); + let updatedText = text.replace( + '[first_occurrence_date]', startMoment.format( displayFormat ) + ); /** * We need to apply our start time here, now that we support RDATE editing with new logic, the start_time * needs to pull this occurrences' time appropriately, legacy is not retrieving the correct time in edge cases. */ - updatedText = updatedText.replace( '[first_occurrence_start_time]', startMoment.format( 'h:mma' ).toUpperCase() ); + updatedText = updatedText.replace( + '[first_occurrence_start_time]', + startMoment.format( 'h:mma' ).toUpperCase() + ); $recurrenceDescription.html( updatedText ); }; @@ -398,7 +393,6 @@ tec.classicEditorEvents = tec.classicEditorEvents || {}; $document.on( 'setup.dependency', function () { obj.initExistingRecurrenceExclusionRows(); - obj.hideRecurrenceDescription(); obj.setupMutationObserver(); obj.bindEvents(); diff --git a/wp-content/plugins/events-calendar-pro/src/resources/js/custom-tables-v1/classic-editor-events.min.js b/wp-content/plugins/events-calendar-pro/src/resources/js/custom-tables-v1/classic-editor-events.min.js index 31a22439a..74bfcf94f 100644 --- a/wp-content/plugins/events-calendar-pro/src/resources/js/custom-tables-v1/classic-editor-events.min.js +++ b/wp-content/plugins/events-calendar-pro/src/resources/js/custom-tables-v1/classic-editor-events.min.js @@ -8,4 +8,4 @@ * @see: https://evnt.is/dev-docs-minification */ -window.tec=window.tec||{},tec.classicEditorEvents=tec.classicEditorEvents||{},function($,obj){"use strict";const $document=$(document);obj.selectors={postForm:"form#post",recurrenceActive:"#tribe-recurrence-active",addExclusion:"#tribe-add-exclusion",addRecurrence:"#tribe-add-recurrence",eventTable:"#EventInfo .eventtable, .tribe-section-datetime.eventForm",eventForm:".eventForm",eventStartDate:"#EventStartDate",eventEndDate:"#EventEndDate",eventStartTime:"#EventStartTime",eventEndTime:"#EventEndTime",allDayCheckbox:"#allDayCheckbox",saveButton:'input[name="save"]',publishButton:'input[name="publish"]',communityEventsSubmit:".events-community-submit",deleteButton:"#delete-action a.submitdelete",recurrence:".tribe-event-recurrence",exclusion:".tribe-event-exclusion",recurrenceDescription:".tribe-recurrence-description",recurrenceDescriptionInput:'[name="recurrence[description]"]',recurrenceTypeButton:".tribe-event-recurrence-rule > .tribe-buttonset .tribe-button-field[data-value]"},obj.setNewRecurrenceDefaults=function(){requestAnimationFrame((function(){const targetRows=document.querySelectorAll(obj.selectors.recurrence+":not([data-defaults-set])");obj.default.setRuleEndsText(targetRows),obj.default.setNewEndsOnDefault(targetRows),obj.default.setNewEndDateDefault(targetRows),obj.default.setNewEndCountDefault(targetRows),obj.default.setNewOnceTimeSelectDefault(targetRows),obj.default.setNewRuleType(targetRows),obj.default.addSameTimeRowClass(targetRows),obj.offStart.initNewRules(targetRows),obj.default.bindRuleEvents(targetRows),obj.dayOfMonth.bindRuleEvents(targetRows),obj.default.setDefaultsSetFlag(targetRows)}))},obj.setNewExclusionDefaults=function(){requestAnimationFrame((function(){const targetRows=document.querySelectorAll(obj.selectors.exclusion+":not([data-defaults-set])");obj.default.hideExclusionDescription(targetRows),obj.default.setExclusionDatepickerMinDates(targetRows),obj.default.setNewEndsOnDefault(targetRows),obj.default.setRuleEndsText(targetRows),obj.default.setNewEndCountDefault(targetRows),obj.default.setNewRuleType(targetRows),obj.offStart.initNewRules(targetRows),obj.default.bindRuleEvents(targetRows),obj.dayOfMonth.bindRuleEvents(targetRows),obj.default.setDefaultsSetFlag(targetRows)}))},obj.setAllExclusionDatepickerMinDates=function(){requestAnimationFrame((function(){const targetRows=document.querySelectorAll(obj.selectors.exclusion);obj.default.setExclusionDatepickerMinDates(targetRows)}))},obj.initExistingRecurrenceExclusionRows=function(){tec.classicEditorEvents.eventDate.setCurrentEventDate();const recurrenceRows=document.querySelectorAll(obj.selectors.recurrence+":not([data-defaults-set])"),exclusionRows=document.querySelectorAll(obj.selectors.exclusion+":not([data-defaults-set])");obj.default.hideExclusionDescription(exclusionRows),obj.default.setRuleEndsText(recurrenceRows),obj.default.setRuleEndsText(exclusionRows),obj.default.setExclusionDatepickerMinDates(exclusionRows),obj.default.addSameTimeRowClass(recurrenceRows),obj.offStart.initOffStartRules(recurrenceRows),obj.default.setRuleTypeDropdownToMatchButtons(recurrenceRows),obj.default.setRuleTypeDropdownToMatchButtons(exclusionRows),obj.default.bindRuleEvents(recurrenceRows),obj.default.bindRuleEvents(exclusionRows),obj.default.setDefaultsSetFlag(recurrenceRows),obj.default.setDefaultsSetFlag(exclusionRows),obj.dayOfMonth.bindRuleEvents(recurrenceRows),obj.dayOfMonth.bindRuleEvents(exclusionRows),obj.sync.syncRecurrenceState(),tec.classicEditorEvents.eventDate.setPreviousEventDate()},obj.hideRecurrenceDescription=function(){document.querySelectorAll(obj.selectors.recurrenceDescription).forEach((function(description){description.style.display="none";const descriptionInput=description.querySelector(obj.selectors.recurrenceDescriptionInput);descriptionInput&&(descriptionInput.value="")}))},obj.handleMutations=function(mutations,observer){mutations.reduce((function(carry,mutation){return carry||("attributes"!==mutation.type||!("class"!==mutation.attributeName||!mutation.target.classList.contains("tribe-event-recurrence")&&!mutation.target.classList.contains("tribe-event-exclusion")))}),!1)&&requestAnimationFrame((function(){tec.classicEditorEvents.eventDate.setCurrentEventDate(),obj.sync.syncRecurrenceState(),tec.classicEditorEvents.eventDate.setPreviousEventDate()}))},obj.setupMutationObserver=function(){const eventInfo=document.querySelector(obj.selectors.eventTable);if(!eventInfo)return;new MutationObserver(obj.handleMutations).observe(eventInfo,{subtree:!0,childList:!0,attributes:!0})},obj.bindEvents=function(){$([obj.selectors.recurrenceActive,obj.selectors.addRecurrence].join()).on("click",obj.setNewRecurrenceDefaults),$(obj.selectors.addExclusion).on("click",obj.setNewExclusionDefaults),$(obj.selectors.eventForm).on("change",[obj.selectors.eventStartDate,obj.selectors.eventEndDate,obj.selectors.eventStartTime,obj.selectors.eventEndTime,obj.selectors.allDayCheckbox].join(),obj.setAllExclusionDatepickerMinDates),$(obj.selectors.postForm).on("submit",obj.offStart.enableOffStartFieldsForSubmission)},obj.updateRuleRecurrenceText=function($rule){let startMoment;if(obj.classicUpdateRuleRecurrenceText($rule),Array.isArray(tecEventDetails.occurrence)||!tecEventDetails.occurrence.has_recurrence||tecEventDetails.occurrence.isFirst){const dateFormat=tribe_events_pro_admin.recurrence.date_format+" hh:mm a",$startDate=$document.find(obj.selectors.eventStartDate),$startTime=$document.find(obj.selectors.eventStartTime),startDate=$startDate.val()+" "+$startTime.val().toUpperCase();startMoment=moment(startDate,dateFormat)}else startMoment=moment(tecEventDetails.event.start_date);const displayFormat=tribe_events_pro_admin.recurrence.convert_date_format_php_to_moment(tribe_dynamic_help_text.date_with_year),$recurrenceDescription=$rule.find(".tribe-event-recurrence-description");let updatedText=$recurrenceDescription.text().replace("[first_occurrence_date]",startMoment.format(displayFormat));updatedText=updatedText.replace("[first_occurrence_start_time]",startMoment.format("h:mma").toUpperCase()),$recurrenceDescription.html(updatedText)},obj.setupRecurrenceTextModification=function(){obj.classicUpdateRuleRecurrenceText=tribe_events_pro_admin.recurrence.update_rule_recurrence_text,tribe_events_pro_admin.recurrence.update_rule_recurrence_text=obj.updateRuleRecurrenceText,obj.date_format=tribe_events_pro_admin.recurrence.date_format,obj.convert_date_format_php_to_moment=tribe_events_pro_admin.recurrence.convert_date_format_php_to_moment},obj.ready=function(){const beforeReadyEvent=new Event("TECClassicEditorEventsBeforeReady");beforeReadyEvent.object=obj,document.dispatchEvent(beforeReadyEvent),$document.on("setup.dependency",(function(){obj.initExistingRecurrenceExclusionRows(),obj.hideRecurrenceDescription(),obj.setupMutationObserver(),obj.bindEvents();const readyEvent=new Event("TECClassicEditorEventsReady");readyEvent.object=obj,document.dispatchEvent(readyEvent)})),obj.setupRecurrenceTextModification()},$(obj.ready)}(jQuery,tec.classicEditorEvents); \ No newline at end of file +window.tec=window.tec||{},tec.classicEditorEvents=tec.classicEditorEvents||{},dayjs.extend(window.dayjs_plugin_customParseFormat),function($,obj){"use strict";const $document=$(document);obj.selectors={postForm:"form#post",recurrenceActive:"#tribe-recurrence-active",addExclusion:"#tribe-add-exclusion",addRecurrence:"#tribe-add-recurrence",eventTable:"#EventInfo .eventtable, .tribe-section-datetime.eventForm",eventForm:".eventForm",eventStartDate:"#EventStartDate",eventEndDate:"#EventEndDate",eventStartTime:"#EventStartTime",eventEndTime:"#EventEndTime",allDayCheckbox:"#allDayCheckbox",saveButton:'input[name="save"]',publishButton:'input[name="publish"]',communityEventsSubmit:".events-community-submit",deleteButton:"#delete-action a.submitdelete",recurrence:".tribe-event-recurrence",exclusion:".tribe-event-exclusion",recurrenceTypeButton:".tribe-event-recurrence-rule > .tribe-buttonset .tribe-button-field[data-value]"},obj.setNewRecurrenceDefaults=function(){requestAnimationFrame((function(){const targetRows=document.querySelectorAll(obj.selectors.recurrence+":not([data-defaults-set])");obj.default.setRuleEndsText(targetRows),obj.default.setNewEndsOnDefault(targetRows),obj.default.setNewEndDateDefault(targetRows),obj.default.setNewEndCountDefault(targetRows),obj.default.setNewOnceTimeSelectDefault(targetRows),obj.default.setNewRuleType(targetRows),obj.default.addSameTimeRowClass(targetRows),obj.offStart.initNewRules(targetRows),obj.default.bindRuleEvents(targetRows),obj.dayOfMonth.bindRuleEvents(targetRows),obj.default.setDefaultsSetFlag(targetRows)}))},obj.setNewExclusionDefaults=function(){requestAnimationFrame((function(){const targetRows=document.querySelectorAll(obj.selectors.exclusion+":not([data-defaults-set])");obj.default.hideExclusionDescription(targetRows),obj.default.setExclusionDatepickerMinDates(targetRows),obj.default.setNewEndsOnDefault(targetRows),obj.default.setRuleEndsText(targetRows),obj.default.setNewEndCountDefault(targetRows),obj.default.setNewRuleType(targetRows),obj.offStart.initNewRules(targetRows),obj.default.bindRuleEvents(targetRows),obj.dayOfMonth.bindRuleEvents(targetRows),obj.default.setDefaultsSetFlag(targetRows)}))},obj.setAllExclusionDatepickerMinDates=function(){requestAnimationFrame((function(){const targetRows=document.querySelectorAll(obj.selectors.exclusion);obj.default.setExclusionDatepickerMinDates(targetRows)}))},obj.initExistingRecurrenceExclusionRows=function(){tec.classicEditorEvents.eventDate.setCurrentEventDate();const recurrenceRows=document.querySelectorAll(obj.selectors.recurrence+":not([data-defaults-set])"),exclusionRows=document.querySelectorAll(obj.selectors.exclusion+":not([data-defaults-set])");obj.default.hideExclusionDescription(exclusionRows),obj.default.setRuleEndsText(recurrenceRows),obj.default.setRuleEndsText(exclusionRows),obj.default.setExclusionDatepickerMinDates(exclusionRows),obj.default.addSameTimeRowClass(recurrenceRows),obj.offStart.initOffStartRules(recurrenceRows),obj.default.setRuleTypeDropdownToMatchButtons(recurrenceRows),obj.default.setRuleTypeDropdownToMatchButtons(exclusionRows),obj.default.bindRuleEvents(recurrenceRows),obj.default.bindRuleEvents(exclusionRows),obj.default.setDefaultsSetFlag(recurrenceRows),obj.default.setDefaultsSetFlag(exclusionRows),obj.dayOfMonth.bindRuleEvents(recurrenceRows),obj.dayOfMonth.bindRuleEvents(exclusionRows),obj.sync.syncRecurrenceState(),tec.classicEditorEvents.eventDate.setPreviousEventDate()},obj.handleMutations=function(mutations,observer){mutations.reduce((function(carry,mutation){return carry||("attributes"!==mutation.type||!("class"!==mutation.attributeName||!mutation.target.classList.contains("tribe-event-recurrence")&&!mutation.target.classList.contains("tribe-event-exclusion")))}),!1)&&requestAnimationFrame((function(){tec.classicEditorEvents.eventDate.setCurrentEventDate(),obj.sync.syncRecurrenceState(),tec.classicEditorEvents.eventDate.setPreviousEventDate()}))},obj.setupMutationObserver=function(){const eventInfo=document.querySelector(obj.selectors.eventTable);if(!eventInfo)return;new MutationObserver(obj.handleMutations).observe(eventInfo,{subtree:!0,childList:!0,attributes:!0})},obj.bindEvents=function(){$([obj.selectors.recurrenceActive,obj.selectors.addRecurrence].join()).on("click",obj.setNewRecurrenceDefaults),$(obj.selectors.addExclusion).on("click",obj.setNewExclusionDefaults),$(obj.selectors.eventForm).on("change",[obj.selectors.eventStartDate,obj.selectors.eventEndDate,obj.selectors.eventStartTime,obj.selectors.eventEndTime,obj.selectors.allDayCheckbox].join(),obj.setAllExclusionDatepickerMinDates),$(obj.selectors.postForm).on("submit",obj.offStart.enableOffStartFieldsForSubmission)},obj.updateRuleRecurrenceText=function($rule){let startMoment;if(obj.classicUpdateRuleRecurrenceText($rule),Array.isArray(tecEventDetails.occurrence)||!tecEventDetails.occurrence.has_recurrence||tecEventDetails.occurrence.isFirst){const dateFormat=tribe_events_pro_admin.recurrence.date_format+" hh:mmA",$startDate=$document.find(obj.selectors.eventStartDate),$startTime=$document.find(obj.selectors.eventStartTime),startDate=$startDate.val()+" "+$startTime.val().toUpperCase();startMoment=dayjs(startDate,dateFormat)}else startMoment=dayjs(tecEventDetails.event.start_date,tribe_events_pro_admin.recurrence.date_format);const displayFormat=tribe_events_pro_admin.recurrence.convert_date_format_php_to_moment(tribe_dynamic_help_text.date_with_year),$recurrenceDescription=$rule.find(".tribe-event-recurrence-description");let updatedText=$recurrenceDescription.text().replace("[first_occurrence_date]",startMoment.format(displayFormat));updatedText=updatedText.replace("[first_occurrence_start_time]",startMoment.format("h:mma").toUpperCase()),$recurrenceDescription.html(updatedText)},obj.setupRecurrenceTextModification=function(){obj.classicUpdateRuleRecurrenceText=tribe_events_pro_admin.recurrence.update_rule_recurrence_text,tribe_events_pro_admin.recurrence.update_rule_recurrence_text=obj.updateRuleRecurrenceText,obj.date_format=tribe_events_pro_admin.recurrence.date_format,obj.convert_date_format_php_to_moment=tribe_events_pro_admin.recurrence.convert_date_format_php_to_moment},obj.ready=function(){const beforeReadyEvent=new Event("TECClassicEditorEventsBeforeReady");beforeReadyEvent.object=obj,document.dispatchEvent(beforeReadyEvent),$document.on("setup.dependency",(function(){obj.initExistingRecurrenceExclusionRows(),obj.setupMutationObserver(),obj.bindEvents();const readyEvent=new Event("TECClassicEditorEventsReady");readyEvent.object=obj,document.dispatchEvent(readyEvent)})),obj.setupRecurrenceTextModification()},$(obj.ready)}(jQuery,tec.classicEditorEvents); \ No newline at end of file diff --git a/wp-content/plugins/events-calendar-pro/src/resources/js/events-recurrence.js b/wp-content/plugins/events-calendar-pro/src/resources/js/events-recurrence.js index bf8309fdb..0851d31ad 100644 --- a/wp-content/plugins/events-calendar-pro/src/resources/js/events-recurrence.js +++ b/wp-content/plugins/events-calendar-pro/src/resources/js/events-recurrence.js @@ -7,6 +7,9 @@ tribe_events_pro_admin.recurrence = { event: {} }; +dayjs.extend(window.dayjs_plugin_isoWeek); +dayjs.extend(window.dayjs_plugin_customParseFormat); + ( function( $, my ) { 'use strict'; @@ -162,14 +165,14 @@ tribe_events_pro_admin.recurrence = { var is_new = 'undefined' === typeof data; if ( 'undefined' !== typeof data && 'undefined' !== typeof data.end && data.end ) { - data.end = moment( data.end ).format( this.date_format ); + data.end = dayjs( data.end ).format( this.date_format ); } // Ensure the custom date - if set - is in the expected format // @todo replace this with a common helper for retrieving deeply nested values once available try { if ( data.custom.date.date ) { - data.custom.date.date = moment( data.custom.date.date ).format( this.date_format ); + data.custom.date.date = dayjs( data.custom.date.date ).format( this.date_format ); } } catch ( e ) {} // eslint-disable-line no-empty @@ -244,7 +247,7 @@ tribe_events_pro_admin.recurrence = { my.setup_weekly_select = function ( $rule ) { // default the weekly rule to pre-check the day of the week for the current event var start_date = $( document.getElementById( 'EventStartDate' ) ).val(), - default_day_of_week = moment( start_date, this.date_format ).isoWeekday(), + default_day_of_week = dayjs( start_date, this.date_format ).isoWeekday(), $days = $rule.find( '[data-field="custom-week-day"]' ); // If any are selected bail @@ -268,7 +271,7 @@ tribe_events_pro_admin.recurrence = { format = format.replace( 'm', 'MM' ).replace( 'd', 'DD' ).replace( 'Y', 'YYYY' ); - var start_month = moment( $start_date.val(), format ).format( 'M' ); + var start_month = dayjs( $start_date.val(), format ).format( 'M' ); var $select = $rule.find( '[data-field="custom-year-month"]' ); // When you already have content we bail @@ -332,7 +335,7 @@ tribe_events_pro_admin.recurrence = { var $start_date = $( document.getElementById( 'EventStartDate' ) ); var format = my.convert_date_format_php_to_moment( tribe_dynamic_help_text.datepicker_format ); - var start_day = moment( $start_date.val(), format ).format( 'D' ); + var start_day = dayjs( $start_date.val(), format ).format( 'D' ); $same_day_text.html( tribe_events_pro_recurrence_strings.recurrence['same-day-month-' + start_day] ); } ); @@ -408,10 +411,9 @@ tribe_events_pro_admin.recurrence = { */ my.add_exclusion = function( data ) { var is_new = 'undefined' === typeof data; - if ( 'undefined' !== typeof data && 'undefined' !== typeof data.end && data.end ) { - var date_format = tribe_datepicker_opts.dateFormat.toUpperCase().replace( 'YY', 'YYYY' ); - data.end = moment( data.end ).format( date_format ); + var date_format = my.convert_date_format_php_to_moment( tribe_datepicker_opts.dateFormat ); + data.end = dayjs( data.end ).format( date_format ); } this.$exclusion_staging.append( this.exclusion_template( data ) ); @@ -846,8 +848,8 @@ tribe_events_pro_admin.recurrence = { var end_time = $end_time.val().toUpperCase(); end_date += ' ' + end_time; - var start_moment = moment( start_date, date_format ); - var end_moment = moment( end_date, date_format ); + var start_moment = dayjs( start_date, date_format ); + var end_moment = dayjs( end_date, date_format ); var single_moment = start_moment; // The specific start time for this rule depends on whether or not it takes @@ -943,7 +945,7 @@ tribe_events_pro_admin.recurrence = { return; } - var single_moment = moment( single_date, date_format ); // eslint-disable-line no-redeclare,max-len + var single_moment = dayjs( single_date, this.date_format ); // eslint-disable-line no-redeclare,max-len } // For single date rules, 'after' or 'never' will not be required @@ -978,20 +980,19 @@ tribe_events_pro_admin.recurrence = { return; } - var end = $rule.find( '[data-field="end"]' ).val(); + var end = dayjs( $rule.find( '[data-field="end"]' ).val(), this.date_format ); if ( ! end ) { end = $rule.find( '[data-field="end"]' ).attr( 'placeholder' ); } /** * Gets the lang attribute of the page’s element, which is set by WP - * on the server, then passes the value to moment js to ensure that all the + * on the server, then passes the value to dayjs to ensure that all the * strings output are translatable. */ - moment.locale( document.documentElement.getAttribute( 'lang' ) ); - - var series_end_moment = moment( end, date_format ); + dayjs.locale( document.documentElement.getAttribute( 'lang' ) ); + var series_end_moment = dayjs( end, date_format ); var display_format = this.convert_date_format_php_to_moment( tribe_dynamic_help_text.date_with_year ); text = text.replace( '[count]', end_count ); @@ -1036,7 +1037,7 @@ tribe_events_pro_admin.recurrence = { var $el = $( this ); var $rule = $el.closest( '.tribe-event-recurrence, .tribe-event-exclusion' ); - var $count_text = $rule.find( '.occurence-count-text' ); + var $count_text = $rule.find( '.occurrence-count-text' ); var end_count = parseInt( $rule.find( '.recurrence_end_count' ).val(), 10 ); var type_text = $el.data( 'plural' ); diff --git a/wp-content/plugins/events-calendar-pro/src/resources/js/events-recurrence.min.js b/wp-content/plugins/events-calendar-pro/src/resources/js/events-recurrence.min.js index 739788d5b..1155dc2e9 100644 --- a/wp-content/plugins/events-calendar-pro/src/resources/js/events-recurrence.min.js +++ b/wp-content/plugins/events-calendar-pro/src/resources/js/events-recurrence.min.js @@ -8,4 +8,4 @@ * @see: https://evnt.is/dev-docs-minification */ -var tribe_events_pro_admin=tribe_events_pro_admin||{};tribe_events_pro_admin.recurrence={recurrence_count:0,exclusion_count:0,event:{}},function($,my){"use strict";var $document=$(document);my.init=function(){this.init_recurrence()},my.init_recurrence=function(){this.$recurrence_staging=$("#tribe-recurrence-staging"),this.recurrence_tmpl=document.getElementById("tmpl-tribe-recurrence"),this.recurrence_tmpl&&(this.recurrence_template=Handlebars.compile(this.recurrence_tmpl.innerHTML),this.$add_recurrence=$("#tribe-add-recurrence"),this.$recurrence_rules=$(".tribe-event-recurrence-rule"),this.$recurrence_row=$(".recurrence-row.tribe-datetime-block").addClass("tribe-recurrence-exclusion-row--idle"),this.$exclusion_staging=$("#tribe-exclusion-staging"),this.exclusion_tmpl=document.getElementById("tmpl-tribe-exclusion"),this.exclusion_template=Handlebars.compile(this.exclusion_tmpl.innerHTML),this.$add_exclusion=$("#tribe-add-exclusion"),this.$exclusion_rules=$(".tribe-event-recurrence-exclusion"),this.recurrence_errors={days:[],end:[]},this.date_format=tribe_datepicker_opts.dateFormat.toUpperCase(),this.date_format=this.date_format.replace("YY","YYYY"),this.populate_recurrence(tribe_events_pro_recurrence_data),window.Handlebars.registerHelper({tribe_recurrence_select:function(value,options){var $el=$("").html(options.fn(this));return value&&$el.find("option:selected").attr("selected",!1),Array.isArray(value)||(value=[value]),value.forEach((function(currentValue){$el.find('[value="'+currentValue+'"]').attr("selected","selected")})),$el.html()},tribe_if_in:function(value,collection,text){return void 0===collection&&(collection=[]),void 0===text&&(text=""),-1!==$.inArray(value,collection)?text:""},tribe_if_not_in:function(value,collection,text){return void 0===collection&&(collection=[]),void 0===text&&(text=""),-1===$.inArray(value,collection)?text:""},tribe_checked_if_is:function(value,goal){return value===goal?"checked":""},tribe_checked_if_is_not:function(value,goal){return value!==goal?"checked":""},tribe_checked_if_in:function(value,collection){return-1!==$.inArray(value,collection)?"checked":""}}))},my.attach_behaviors=function(){$(".eventForm").on("submit",".wp-admin.events-cal #post",this.event.submit_validation).on("change",'[data-field="type"]',this.event.recurrence_type_changed).on("change",'[data-field="end-type"]',this.event.recurrence_end_type_changed).on("change",'[data-field="custom-month-number"]',this.event.recurrence_custom_month_changed).on("change",'[data-field="same-time"]',this.event.same_time_changed).on("change",'[data-field="custom-week-day"]',this.event.weekdays_changed).on("change",".recurrence_end_count",this.event.recurrence_end_count_changed).on("change",".recurrence-row, .custom-recurrence-row",this.event.recurrence_row_changed).on("change","#EventStartDate, #EventEndDate, #allDayCheckbox, #EventStartTime, #EventEndTime",this.event.datepicker_updated).on("change","#EventStartTime, #EventEndTime, #allDayCheckbox",this.setup_same_time).on("change","#EventStartDate",this.setup_same_day).on("click","#tribe-add-recurrence",this.event.add_recurrence).on("click","#tribe-add-exclusion",this.event.add_exclusion).on("click",".tribe-event-recurrence .tribe-handle, .tribe-event-exclusion .tribe-handle",this.event.toggle_rule).on("click",".tribe-event-recurrence .tribe-confirm-delete-this, .tribe-event-exclusion .tribe-confirm-delete-this",this.event.delete_rule),$(document).on("click",".tribe-event-recurrence .tribe-delete-this, .tribe-event-exclusion .tribe-delete-this",this.event.delete_rule),$('input[data-field="is_recurring"][value="true"]').length&&($(".eventForm").on("change",".recurrence-row input, .custom-recurrence-row input, .recurrence-row select, .custom-recurrence-row select",this.event.recurrence_changed),$(".eventForm").on("recurrenceEndChanged",'[data-field="end"]',this.event.recurrence_changed)),$('[data-field="end"]').datepicker("option","onSelect",this.event.datepicker_end_date_changed),$(".recurrence_end, #EventStartDate, #EventEndDate").datepicker("option","onClose",this.event.datepicker_updated),this.set_recurrence_end_min_date(),this.init_buttonset()},my.init_dropdowns=function(){$(".recurrence-row .tribe-dropdown").not(".tribe-dropdown-created").tribe_dropdowns()},my.init_buttonset=function(){$(tribe_buttonset.selector.input).trigger("change.tribe_buttonset")},my.add_recurrence=function(data){var is_new=void 0===data;void 0!==data&&void 0!==data.end&&data.end&&(data.end=dayjs(data.end).format(this.date_format));try{data.custom.date.date&&(data.custom.date.date=dayjs(data.custom.date.date).format(this.date_format))}catch(e){}this.$recurrence_staging.append(this.recurrence_template(data));var $rule=this.$recurrence_staging.find(".tribe-event-recurrence");is_new&&$rule.addClass("recurrence-new-rule"),$rule.find('[name*="recurrence[rules][]"],[id*="recurrence_rule_--"],[data-input*="recurrence_rule_--"],[data-depends*="#recurrence_rule_--"]').each((function(){var $field=$(this);$field.attr("name")&&$field.attr("name",$field.attr("name").replace(/recurrence\[rules\]\[\]/,"recurrence[rules]["+my.recurrence_count+"]")),$field.attr("id")&&$field.attr("id",$field.attr("id").replace(/recurrence_rule_--/,"recurrence_rule_"+my.recurrence_count)),$field.attr("data-input")&&$field.attr("data-input",$field.attr("data-input").replace(/recurrence_rule_--/,"recurrence_rule_"+my.recurrence_count)).data("input",$field.attr("data-input")),$field.attr("data-depends")&&$field.attr("data-depends",$field.attr("data-depends").replace(/#recurrence_rule_--/,"#recurrence_rule_"+my.recurrence_count))})),data||$rule.find(".tribe-same-time-checkbox").prop("checked",!0),$rule.find(".tribe-datepicker").datepicker(tribe_datepicker_opts),$rule.insertBefore(this.$recurrence_staging),this.set_recurrence_end_min_date(),this.set_recurrence_data_attributes($rule),this.maybe_relocate_end_date($rule),this.adjust_rule_helper_text($rule),this.update_rule_recurrence_text($rule),this.$recurrence_rules=this.$recurrence_rules.add($rule),this.recurrence_count++,this.check_for_useful_rule(),this.setup_intervals($rule),this.setup_same_time(),this.setup_same_day(),this.setup_yearly_select($rule),this.setup_weekly_select($rule),this.init_dropdowns(),void 0===data&&this.toggle_rule($rule),$("#tribe-recurrence-active.inactive").trigger("click").prop("checked",!0).removeClass("inactive"),$document.trigger("verify.dependency")},my.setup_weekly_select=function($rule){var start_date=$(document.getElementById("EventStartDate")).val(),default_day_of_week=dayjs(start_date,this.date_format).isoWeekday();$rule.find('[data-field="custom-week-day"]').filter(":checked").length>0||$rule.find('[data-field="custom-week-day"][value="'+default_day_of_week+'"]').each((function(){$(this).parent().trigger("click")}))},my.setup_yearly_select=function($rule){var $start_date=$(document.getElementById("EventStartDate")),format=tribe_dynamic_help_text.datepicker_format;format=format.replace("m","MM").replace("d","DD").replace("Y","YYYY");var start_month=dayjs($start_date.val(),format).format("M"),$select=$rule.find('[data-field="custom-year-month"]');$select.val()||$select.val(start_month)},my.setup_intervals=function($rule){var type=$rule.find('[data-field="type"]').val(),$interval=$rule.find(".tribe-recurrence-rule-interval"),interval=$interval.get(0);if(!interval.created){var i=1,num=6,autocomplete_options=[];for("Daily"===type||"Weekly"===type?num=6:"Monthly"===type?num=12:"Yearly"===type&&(num=3),i=1;i<=num;i++)autocomplete_options.push({id:i,text:""+i});$interval.select2TEC().select2("destroy").removeClass("select2-offscreen").data("options",autocomplete_options),interval.created=!0}},my.setup_same_day=function(){$(".tribe-event-recurrence, .tribe-event-exclusion").each((function(){var $same_day_text=$(this).find(".recurrence-same-day-text"),$start_date=$(document.getElementById("EventStartDate")),format=my.convert_date_format_php_to_moment(tribe_dynamic_help_text.datepicker_format),start_day=dayjs($start_date.val(),format).format("D");$same_day_text.html(tribe_events_pro_recurrence_strings.recurrence["same-day-month-"+start_day])}))},my.setup_same_time=function(){$(".tribe-event-recurrence, .tribe-event-exclusion").each((function(){var $rule=$(this),$same_time_text=$rule.find(".recurrence-same-time-text"),same_time_text="";if($("#allDayCheckbox:checked").length)same_time_text=tribe_events_pro_recurrence_strings.recurrence["same-time-text-same-all-day"];else{var $start_time=$(document.getElementById("EventStartTime")),$end_time=$(document.getElementById("EventEndTime"));same_time_text=tribe_events_pro_recurrence_strings.recurrence["same-time-text-same"].replace("%1$s",$start_time.val()).replace("%2$s",$end_time.val())}$same_time_text.html(same_time_text);var $timepickers=$rule.find(".tribe-timepicker:not(.ui-timepicker-input)");tribe_timepickers.setup_timepickers($timepickers)}))},my.maybe_relocate_end_date=function($rule){var $custom_container=$rule.find(".recurrence-custom-container"),$end_container=$rule.find(".recurrence-end-container"),$end=$rule.find(".recurrence_end");"Date"===$rule.find('[data-field="type"]').data("value")?$custom_container.append($end):$end_container.append($end)},my.check_for_useful_rule=function(){var $rule=this.$recurrence_rules.filter(":first"),rule_set=!1;this.$recurrence_rules.find('[data-field="type"]').each((function(){"None"!==$(this).data("value")&&(rule_set=!0)})),rule_set?$rule.closest("table").addClass("tribe-has-recurrence-rule"):$rule.closest("table").removeClass("tribe-has-recurrence-rule")},my.add_exclusion=function(data){var is_new=void 0===data;if(void 0!==data&&void 0!==data.end&&data.end){var date_format=my.convert_date_format_php_to_moment(tribe_datepicker_opts.dateFormat);data.end=dayjs(data.end).format(date_format)}this.$exclusion_staging.append(this.exclusion_template(data));var $rule=this.$exclusion_staging.find(".tribe-event-exclusion");is_new&&$rule.addClass("exclusion-new-rule"),$rule.find('[name*="recurrence[exclusions][]"],[id*="exclusion_rule_--"],[data-input*="exclusion_rule_--"],[data-depends*="#exclusion_rule_--"]').each((function(){var $field=$(this);$field.attr("name")&&$field.attr("name",$field.attr("name").replace(/recurrence\[exclusions\]\[\]/,"recurrence[exclusions]["+my.exclusion_count+"]")),$field.attr("id")&&$field.attr("id",$field.attr("id").replace(/exclusion_rule_--/,"exclusion_rule_"+my.exclusion_count)),$field.attr("data-input")&&$field.attr("data-input",$field.attr("data-input").replace(/exclusion_rule_--/,"exclusion_rule_"+my.exclusion_count)).data("input",$field.attr("data-input")),$field.attr("data-depends")&&$field.attr("data-depends",$field.attr("data-depends").replace(/#exclusion_rule_--/,"#exclusion_rule_"+my.exclusion_count))})),data||$rule.find(".tribe-same-time-checkbox").prop("checked",!0),$rule.find(".tribe-datepicker").datepicker(tribe_datepicker_opts),$rule.insertBefore(this.$exclusion_staging),this.set_recurrence_end_min_date(),this.set_recurrence_data_attributes($rule),this.maybe_relocate_end_date($rule),this.adjust_rule_helper_text($rule),this.update_rule_recurrence_text($rule),this.$exclusion_rules=this.$exclusion_rules.add($rule),this.exclusion_count++,this.check_for_useful_rule(),this.setup_intervals($rule),this.setup_same_time(),this.setup_same_day(),this.setup_yearly_select($rule),this.setup_weekly_select($rule),this.init_dropdowns(),void 0===data&&this.toggle_rule($rule)},my.populate_recurrence=function(data){my.operations_completed=0,my.total_operations=0,void 0!==data.rules&&data.rules.length?(my.total_operations=1,my.async_operation((function(item,next){my.add_recurrence(item),next()}),data.rules,(function(){my.operations_completed+=1,my.populate_completed()})),void 0!==data.exclusions&&data.exclusions.length&&(my.total_operations+=1,my.async_operation((function(item,next){my.add_exclusion(item),next()}),data.exclusions,(function(){my.operations_completed+=1,my.populate_completed()})))):my.populate_completed()},my.populate_completed=function(){my.operations_completed===my.total_operations&&setTimeout((function(){my.attach_behaviors(),$document.trigger("setup.dependency"),my.$recurrence_row.removeClass("tribe-recurrence-exclusion-row--idle")}))},my.async_operation=function(callback,collection,done,index){var i=index||0;i>=collection.length?setTimeout(done):setTimeout((function(){callback(collection[i],(function(){my.async_operation(callback,collection,done,i+1)}))}))},my.adjust_rule_helper_text=function($rule){var $custom_type_option=$rule.find('[data-field="custom-type"] option:selected');$rule.find(".recurrence-interval-type").text($custom_type_option.data("plural")),$rule.find('[data-field="custom-type-text"]').val($custom_type_option.data("plural"))},my.set_recurrence_data_attributes=function($rules){($rules||this.$recurrence_rules).each((function(){var $rule=$(this),$field=null,fields=["is_recurring","type","end-type","custom-type","custom-month-number"];for(var i in fields)$field=$rule.find('[data-field="'+fields[i]+'"]'),"custom-month-number"===fields[i]?$rule.attr("data-recurrence-"+fields[i],isNaN($field.val())?"string":"numeric"):"custom-month-number"===fields[i]?$rule.attr("data-recurrence-"+fields[i],$field.is(":checked")?"yes":"no"):$rule.attr("data-recurrence-"+fields[i],$field.val());var type=null;switch($rule.find('[data-field="custom-type"]').val()){case"Weekly":type="week";break;case"Monthly":type="month";break;case"Yearly":type="year";break;default:type="day"}var $same_time=$rule.find('[data-field="custom-'+type+'-same-time"]');$rule.attr("data-recurrence-same-time",$same_time.filter(":checked").length?"yes":"no")}))},my.set_recurrence_end_min_date=function(){var start=$("#EventStartDate").val();""!==start&&$(".recurrence_end").attr("placeholder",start).datepicker("option","minDate",start)},my.has_valid_recurrence_days=function(){var valid=!0;return this.$recurrence_rules.each((function(index){my.has_valid_recurrence_days_for_rule($(this))||(valid=!1,my.recurrence_errors.days.push(index))})),valid},my.has_valid_recurrence_days_for_rule=function($recurrence_rule){var $interval=$recurrence_rule.find('[data-field="custom-interval"]'),$recurrence_type=$recurrence_rule.find('[data-field="type"]');return $interval.val()===parseInt($interval.val(),10)||"Custom"!==$recurrence_type.val()},my.has_valid_recurrence_ends=function(){var valid=!0;return this.$recurrence_rules.each((function(index){my.has_valid_recurrence_end_for_rule($(this))||(valid=!1,my.recurrence_errors.end.push(index))})),valid},my.has_valid_recurrence_end_for_rule=function($recurrence_rule){var $end=$recurrence_rule.find('[data-field="end"]'),$end_type=$recurrence_rule.find('[data-field="end-type"]');return"None"===$recurrence_rule.find('[data-field="type"]').val()||"On"!==$end_type.val()||$end.val()&&!$end.hasClass("placeholder")},my.reset_submit_button=function(){$("#publishing-action .button-primary-disabled").removeClass("button-primary-disabled"),$("#publishing-action .spinner").hide()},my.validate_recurrence=function(){var valid=!0;return this.has_valid_recurrence_days()||(valid=!1,alert($(".rec-days-error:first").text()),$(".rec-days-error").each((function(index){$.inArray(index,my.recurrence_errors.days)&&$(this).show()}))),this.has_valid_recurrence_ends()||(valid=!1,alert($(".rec-end-error:first").text()),$(".rec-end-error").each((function(index){$.inArray(index,my.recurrence_errors.end)&&$(this).show()}))),valid},my.toggle_rule=function($rule,state){"undefined"!==state&&state?"open"===state?$rule.addClass("tribe-open"):$rule.removeClass("tribe-open"):$rule.toggleClass("tribe-open")},my.update_recurrence_text=function(){this.$recurrence_rules.each((function(){my.update_rule_recurrence_text($(this))})),this.$exclusion_rules.each((function(){my.update_rule_recurrence_text($(this))}))},my.convert_date_format_php_to_moment=function(format){var replacements={d:"DD",D:"ddd",j:"D",l:"dddd",N:"E",S:"o",w:"e",z:"DDD",W:"W",F:"MMMM",m:"MM",M:"MMM",n:"M",t:"",L:"",o:"YYYY",Y:"YYYY",y:"YY",a:"a",A:"A",B:"",g:"h",G:"H",h:"hh",H:"HH",i:"mm",s:"ss",u:"SSS",e:"zz",I:"",O:"",P:"",T:"",Z:"",c:"",r:"",U:"X"};return format.split("").map((function(char){return char in replacements?replacements[char]:char})).join("")},my.update_rule_recurrence_text=function($rule){var type=$rule.find('[data-field="type"]').val(),end_type=$rule.find('[data-field="end-type"] option:selected').val(),end_count=$rule.find('[data-field="end-count"]').val(),same_time="yes"===$rule.find('[data-field="same-time"]').val(),interval=$rule.find('[data-field="custom-interval"]').val(),allday=$(document.getElementById("allDayCheckbox")).prop("checked");if(end_count||(end_count=0),type=type.toLowerCase().replace(" ","-"),end_type=end_type.toLowerCase().replace(" ","-"),"none"!==type&&""!==type){var date_format=this.date_format+" hh:mm a",start_date=$(document.getElementById("EventStartDate")).val(),start_time=$(document.getElementById("EventStartTime")).val().toUpperCase();start_date+=" "+start_time;var end_date=$(document.getElementById("EventEndDate")).val();end_date+=" "+$(document.getElementById("EventEndTime")).val().toUpperCase();var start_moment=dayjs(start_date,date_format),end_moment=dayjs(end_date,date_format),single_moment=start_moment,instance_start_time=same_time?start_time:$rule.find(".tribe-field-start_time").val(),days_of_week=null,month_names=null,month_day_description=tribe_events_pro_recurrence_strings.date.day_placeholder,day_number=start_moment.format("D"),key=type;if(allday&&!start_moment.isSame(end_moment,"day")?key+="-multi":allday&&same_time&&(key+="-allday"),"weekly"===type){var weekdays=[];$rule.find('[data-field="custom-week-day"]:checked').each((function(){weekdays.push(tribe_events_pro_recurrence_strings.date.weekdays[parseInt($(this).val(),10)-1])})),days_of_week=0===weekdays.length?tribe_events_pro_recurrence_strings.date.day_placeholder:2===weekdays.length?weekdays.join(" "+tribe_events_pro_recurrence_strings.date.collection_joiner+" "):(days_of_week=weekdays.join(", ")).replace(/(.*),/,"$1, "+tribe_events_pro_recurrence_strings.date.collection_joiner)}else if("monthly"===type){var same_day=$rule.find('[data-field="month-same-day"] option:selected').val(),month_number=$rule.find('[data-field="custom-month-number"] option:selected').val(),month_day=$rule.find('[data-field="custom-month-day"] option:selected').val();"yes"!==same_day&&isNaN(month_number)?(day_number=month_number,month_day_description=(month_day_description=tribe_events_pro_recurrence_strings.date[month_number.toLowerCase()+"_x"]).replace("%1$s",tribe_events_pro_recurrence_strings.date.weekdays[parseInt(month_day,10)-1])):(month_number=day_number,key+="-numeric")}else if("yearly"===type){same_day=$rule.find('[data-field="year-same-day"] option:selected').val(),month_number=$rule.find('[data-field="custom-year-month-number"]').val(),month_day=$rule.find('[data-field="custom-year-month-day"]').val();var months=[],month_values=$rule.find('[data-field="custom-year-month"]').val();month_values&&(_.isString(month_values)&&(month_values=month_values.split(",")),$.each(month_values,(function(i,month){months.push(tribe_events_pro_recurrence_strings.date.months[parseInt(month,10)-1])}))),month_names=0===months.length?tribe_events_pro_recurrence_strings.date.month_placeholder:2===months.length?months.join(" "+tribe_events_pro_recurrence_strings.date.collection_joiner+" "):(month_names=months.join(", ")).replace(/(.*),/,"$1, "+tribe_events_pro_recurrence_strings.date.collection_joiner),"yes"!==same_day&&isNaN(month_number)?(day_number=month_number,month_day_description=(month_day_description=tribe_events_pro_recurrence_strings.date[month_number.toLowerCase()+"_x"]).replace("%1$s",tribe_events_pro_recurrence_strings.date.weekdays[parseInt(month_day,10)-1])):(month_number=day_number,key+="-numeric")}else if("date"===type){var single_date=$rule.find("input.tribe-datepicker").val();if(!single_date)return void $rule.find(".tribe-event-recurrence-description").html("");single_moment=dayjs(single_date,this.date_format)}key+="date"===type?"-on":"after"===end_type?"-after":"never"===end_type?"-never":"-on",allday&&!same_time&&(key+="-at"),void 0===tribe_events_pro_recurrence_strings.recurrence[key]&&key.endsWith("-at")&&(key=key.replace(/-at$/,""));var text=tribe_events_pro_recurrence_strings.recurrence[key];if(void 0!==text){var end=dayjs($rule.find('[data-field="end"]').val(),this.date_format);end||(end=$rule.find('[data-field="end"]').attr("placeholder")),dayjs.locale(document.documentElement.getAttribute("lang"));var series_end_moment=dayjs(end,date_format),display_format=this.convert_date_format_php_to_moment(tribe_dynamic_help_text.date_with_year);text=(text=(text=(text=(text=(text=(text=(text=(text=(text=(text=(text=(text=(text=(text=(text=(text=(text=(text=text.replace("[count]",end_count)).replace("[day_number]",day_number)).replace("[days_of_week]",days_of_week)).replace("[month_day_description]",month_day_description)).replace("[month_names]",month_names)).replace("[month_number]",month_number)).replace("[interval]",interval)).replace("[series_end_date]",series_end_moment.format(display_format))).replace("[start_date]",start_moment.format(display_format))).replace("[start_time]",instance_start_time)).replace("[single_date]",single_moment.format(display_format))).replace("1 day(s)",tribe_events_pro_recurrence_strings.date.time_spans.day)).replace("1 week(s)",tribe_events_pro_recurrence_strings.date.time_spans.week)).replace("1 month(s)",tribe_events_pro_recurrence_strings.date.time_spans.month)).replace("1 year(s)",tribe_events_pro_recurrence_strings.date.time_spans.year)).replace("day(s)",tribe_events_pro_recurrence_strings.date.time_spans.days)).replace("week(s)",tribe_events_pro_recurrence_strings.date.time_spans.weeks)).replace("month(s)",tribe_events_pro_recurrence_strings.date.time_spans.months)).replace("year(s)",tribe_events_pro_recurrence_strings.date.time_spans.years),$rule.find(".tribe-event-recurrence-description").html(text)}else $rule.find(".tribe-event-recurrence-description").html("")}else $rule.find(".tribe-event-recurrence-description").html("")},my.event.add_recurrence=function(e){e.preventDefault(),my.add_recurrence()},my.event.add_exclusion=function(e){e.preventDefault(),my.add_exclusion()},my.event.recurrence_type_changed=function(){var $el=$(this),$rule=$el.closest(".tribe-event-recurrence, .tribe-event-exclusion"),$count_text=$rule.find(".occurrence-count-text"),end_count=parseInt($rule.find(".recurrence_end_count").val(),10),type_text=$el.data("plural");$rule.find(".recurrence_end_count").val(end_count),(isNaN(end_count)||0>=end_count)&&($rule.find(".recurrence_end_count").val(1),end_count=1),1===end_count&&(type_text=$el.data("single")),$count_text.text(type_text),$rule.find('[data-field="occurrence-count-text"]').val($count_text.text()),my.set_recurrence_data_attributes($rule),my.maybe_relocate_end_date($rule),my.check_for_useful_rule(),my.setup_intervals($rule),my.setup_yearly_select($rule),my.setup_weekly_select($rule),my.init_dropdowns(),$el.closest(".tribe-buttonset").parent().find(".tribe-dependent:not(.tribe-dependency)").dependency(),my.toggle_rule($rule,"open")},my.event.recurrence_end_type_changed=function(){var $rule=$(this).closest(".tribe-event-recurrence");my.set_recurrence_data_attributes($rule)},my.event.recurrence_changed=function(){var $rule=$(this).closest(".tribe-event-recurrence, .tribe-event-exclusion");$rule.attr("data-recurrence-changed","yes"),my.toggle_rule($rule,"open")},my.event.recurrence_end_count_changed=function(){$(this).closest(".tribe-event-recurrence, .tribe-event-exclusion").find('[data-field="type"]').change()},my.event.recurrence_custom_month_changed=function(){var $rule=$(this).closest(".tribe-event-recurrence");my.set_recurrence_data_attributes($rule)},my.event.submit_validation=function(e){if(!tribe_events_pro_admin.validate_recurrence())return e.preventDefault(),e.stopPropagation(),my.reset_submit_button(),!1},my.event.datepicker_updated=function(){tribe_events_pro_admin.recurrence.update_recurrence_text(),tribe_events_pro_admin.recurrence.set_recurrence_end_min_date()},my.event.datepicker_end_date_changed=function(){$(this).removeClass("placeholder"),$(this).trigger("recurrence-end-changed.tribe")},my.event.recurrence_row_changed=function(){var $row=$(".recurrence-pattern-description-row");$row.is(":visible")||$row.show(),tribe_events_pro_admin.recurrence.update_recurrence_text()},my.event.same_time_changed=function(){var $rule=$(this).closest(".tribe-event-recurrence, .tribe-event-exclusion");my.set_recurrence_data_attributes($rule)},my.event.weekdays_changed=function(){var $rule=$(this).closest(".tribe-event-recurrence, .tribe-event-exclusion");my.set_recurrence_data_attributes($rule),my.update_rule_recurrence_text($rule)},my.event.toggle_rule=function(){var $el=$(this);my.toggle_rule($el.closest(".tribe-event-recurrence, .tribe-event-exclusion"))},my.event.delete_rule=function(event){event.preventDefault();var $rule=$(this).closest(".tribe-event-recurrence, .tribe-event-exclusion"),buttons={delete:{text:tribe_events_pro_recurrence_strings.recurrence["delete-confirm"],click:function(){$(this).dialog("close"),$rule.fadeOut(500,(function(){$rule.remove(),tribe_events_pro_admin.recurrence.update_recurrence_text()}))}},cancel:{text:tribe_events_pro_recurrence_strings.recurrence["delete-cancel"],click:function(){my.event.close_delete_confirmation_dialog($(this))}}},$dialog=$("#tribe-row-delete-dialog");$rule.is(".tribe-event-recurrence")?$dialog.addClass("rule-dialog").removeClass("exclusion-dialog"):$dialog.addClass("exclusion-dialog").removeClass("rule-dialog"),$(".delete-dialog-open").length&&my.event.close_delete_confirmation_dialog($dialog),$dialog.dialog({dialogClass:"tribe-row-delete-dialog",closeOnEscape:!0,resizable:!1,height:$rule[0].offsetHeight,width:$rule[0].offsetWidth,buttons:buttons,position:{my:"center",at:"center",of:$rule},open:function(){var $dialog=$(".tribe-row-delete-dialog"),$buttons=$dialog.find(".ui-dialog-buttonset button"),$content=$dialog.find(".ui-dialog-content");$rule.fadeTo(100,.1),$content.css({height:"auto","min-height":"1.5rem"}),$($buttons[0]).removeClass().addClass("button button-red"),$($buttons[1]).removeClass().addClass("button button-secondary"),$rule.addClass("delete-dialog-open"),$("body").on("click",my.event.close_dialogs),$(window).on("resize",my.event.close_dialogs)},close:function(){$rule.removeClass("delete-dialog-open"),$rule.fadeTo(100,1),$("body").off("click",my.event.close_dialogs),$(window).off("resize",my.event.close_dialogs),setTimeout((function(){$document.trigger("verify.dependency")}),1e3)}})},my.event.close_delete_confirmation_dialog=function($dialog){$dialog&&$dialog.dialog("isOpen")&&$dialog.dialog("close")},my.event.close_dialogs=function(ev){var $dialog=$("#tribe-row-delete-dialog");$dialog.length&&$dialog.dialog("isOpen")&&!$(ev.target).is(".ui-dialog, a")&&!$(ev.target).closest(".ui-dialog").length&&(ev.preventDefault(),ev.stopPropagation(),my.event.close_delete_confirmation_dialog($dialog))},$((function(){my.init()}))}(jQuery,tribe_events_pro_admin.recurrence); \ No newline at end of file diff --git a/wp-content/plugins/events-calendar-pro/src/resources/js/events-virtual-admin.js b/wp-content/plugins/events-calendar-pro/src/resources/js/events-virtual-admin.js new file mode 100644 index 000000000..a9710f1f8 --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/resources/js/events-virtual-admin.js @@ -0,0 +1,478 @@ +/** + * Makes sure we have all the required levels on the Tribe Object + * + * @since 1.0.0 + * + * @type {PlainObject} + */ +tribe.events = tribe.events || {}; + +/** + * Configures Virtual Events Admin Object on the Global Tribe variable + * + * @since 1.0.0 + * + * @type {PlainObject} + */ +tribe.events.virtualAdmin = tribe.events.virtualAdmin || {}; + +/** + * Initializes in a Strict env the code that manages the Event Views + * + * @since 1.0.0 + * + * @param {PlainObject} $ jQuery + * @param {PlainObject} obj tribe.events.virtualAdmin + * + * @return {void} + */ +( function( $, obj, tribe_dropdowns ) { + 'use-strict'; + var $document = $( document ); + + /** + * Selectors used for configuration and setup + * + * @since 1.0.0 + * + * @type {PlainObject} + */ + obj.selectors = { + autoDetectButton: '.tribe-events-virtual-video-source-autodetect__button', + autoDetectFields: '.tribe-events-virtual-video-source-autodetect__fields', + autoDetectSource: '#tribe-events-virtual-autodetect-source', + autoDetectMessagesWrap: '.tribe-events-virtual-video-source-autodetect__messages-wrap', + autoDetectMessage: '.tec-events-virtual-settings-message__wrap', + autoDetectloader: '.tribe-common-c-loader', + autoDetectPreviewWrap: '.tec-autodetect-video-preview__container', + autoDetectPreview: '.tec-autodetect-video-preview__inner', + autoDetecthiddenElement: '.tribe-common-a11y-hidden', + configure: '.tribe-configure-virtual-button', + displayOption: '.tribe-events-virtual-display', + displayOptionCheckbox: '.tribe-events-virtual-display input[type="checkbox"]', + embedCheckbox: '#tribe-events-virtual-embed-video', + remove: '.tribe-remove-virtual-event', + setupCheckbox: '#tribe-events-virtual-setup', + showOptions: '.tribe-events-virtual-show input', + showAll: '#tribe-events-virtual-show-to-all', + videoSource: '#tribe-events-virtual-video-source', + videoSourcesWrap: '.tribe-events-virtual-video-sources-wrap', + videoSourceDetails: '.tribe-events-virtual-video-sources', + videoSourcesFloat: '.tribe-events-virtual-video-sources--float', + virtualContainer: '#tribe-virtual-events', + virtualUrl: '.tribe-events-virtual-video-source__virtual-url-input', + + // @Deprecated 1.8.0 + embedNotice: '.tribe-events-virtual-video-source__not-embeddable-notice', + embedNoticeShow: '.tribe-events-virtual-video-source__not-embeddable-notice--show', + embedNoticeText: '.tribe-events-virtual-video-source__not-embeddable-text', + }; + + /** + * Sets checkbox checked attribute + * + * @since 1.0.0 + * + * @param {boolean} checked whether the checkbox is checked or not + * + * @return {function} Handler to check the checkbox or not + */ + obj.setCheckboxCheckedAttr = function( checked ) { + if ( obj.isGutenbergActive() ) { + return function() { + const blocks = wp.data.select( 'core/block-editor' ).getBlocks(); + // Ensure we have a date block. + const dateBlock = blocks.find( block => 'tribe/event-price' === block.name ); // eslint-disable-line es5/no-es6-methods,max-len + + if ( checked ) { + // See if we have a VE block already. + const existingBlock = blocks.filter( block => 'tribe/virtual-event' === block.name ); + // If we already have a block there's no need to add a new one. + if ( existingBlock.length ) { + $( obj.selectors.setupCheckbox ) + .prop( 'checked', checked ).trigger( 'verify.dependency' ); + return; + } + + if ( dateBlock ) { + // If the date block is present, insert immediately after it. + const index = wp.data.select( 'core/block-editor' ).getBlockIndex( dateBlock.clientId ); + const newBlock = wp.blocks.createBlock( 'tribe/virtual-event' ); + wp.data.dispatch( 'core/block-editor' ).insertBlock( + newBlock, + index + 1, + '', + false + ); + } else { + // Insert at the end. + const newBlock = wp.blocks.createBlock( 'tribe/virtual-event' ); + wp.data.dispatch( 'core/block-editor' ).insertBlock( newBlock ); + } + + // Trigger add event for hooking. + $document.trigger( 'virtual.add' ); + + // Attempt to keep from scrolling away from the metabox. + const metabox = document.getElementById( 'tribe-virtual-events' ); + metabox.scrollIntoView(); + } else { + // Add confirmation if deleting the virtual settings. + var confirmed = confirm( tribe_events_virtual_strings.deleteConfirm ); + if ( ! confirmed ) { + return; + } + + tribe.events.metaboxDelete = true; + // Remove the VE block if it's there. + blocks.forEach( element => { + if ( 'tribe/virtual-event' === element.name ) { + wp.data.dispatch( 'core/block-editor' ).removeBlock( element.clientId ); + } + } ); + + // Trigger delete event for hooking. + $document.trigger( 'virtual.delete' ); + + tribe.events.metaboxDelete = false; + } + + $( obj.selectors.setupCheckbox ).prop( 'checked', checked ).trigger( 'verify.dependency' ); + }; + } + + return function() { + if ( checked ) { + // Trigger add event for hooking. + $document.trigger( 'virtual.add' ); + } else { + // Add confirmation if deleting the virtual settings. + var confirmed = confirm( tribe_events_virtual_strings.deleteConfirm ); + if ( ! confirmed ) { + return; + } + + // Trigger delete event for hooking. + $document.trigger( 'virtual.delete' ); + } + + $( obj.selectors.setupCheckbox ).prop( 'checked', checked ).trigger( 'verify.dependency' ); + }; + }; + + /** + * Show loader for the container. + * + * @since 1.8.0 + * + * @param {jQuery} $container jQuery object of the container. + * + * @return {void} + */ + obj.show = function( $container ) { + const $loader = $container.find( obj.selectors.autoDetectloader ); + + if ( $loader.length ) { + $loader.removeClass( obj.selectors.autoDetecthiddenElement.className() ); + } + }; + + /** + * Hide loader for the container. + * + * @since 1.8.0 + * + * @param {jQuery} $container jQuery object of the container. + * + * @return {void} + */ + obj.hide = function( $container ) { + const $loader = $container.find( obj.selectors.autoDetectloader ); + + if ( $loader.length ) { + $loader.addClass( obj.selectors.autoDetecthiddenElement.className() ); + } + }; + + /** + * Show video preview on loading of a saved event. + * + * @since 1.8.0 + */ + obj.handleVideoPreviewOnLoad = function( ) { + const $videoPreview = $( obj.selectors.autoDetectPreview ); + if ( 0 === $.trim( $videoPreview.html() ).length ) { + return; + } + + $( obj.selectors.autoDetectPreviewWrap ).removeClass( 'hide-preview' ); + }; + + /** + * Handle the Autodetect Response for Oembed. + * + * @since 1.8.0 + * + * @param {Event} event The trigger event. + * @param {data} data The data object included with the trigger event. + */ + obj.handleAutoDetectVideoPreview = function( event, data ) { + if ( ! data.html ) { + return; + } + + const $videoPreview = $( data.html ).filter( obj.selectors.autoDetectPreview ); + if ( 0 === $videoPreview.length ) { + return; + } + + $( obj.selectors.autoDetectPreviewWrap ).removeClass( 'hide-preview' ); + $( obj.selectors.autoDetectPreview ).replaceWith( $videoPreview ); + + $document.trigger( 'autodetect.videoPreview', { 'html' : data.html } ); + }; + + /** + * Handles the successful response from the backend for autodetect. + * + * @since 1.8.0 + * + * @param {string} html The HTML resposes from the autodetect. + */ + obj.onAutoDetectSuccess = function( html ) { + obj.hide( $( '.tribe-events-virtual-video-source-autodetect__inner-controls' ) ); + + $document.trigger( 'autodetect.complete', { 'html' : html } ); + + const $message = $( html ).filter( obj.selectors.autoDetectMessage ); + const $autoDetectFields = $( html ).filter( obj.selectors.autoDetectFields ); + + $( obj.selectors.autoDetectMessagesWrap ).html( $message ); + + if ( 0 === $autoDetectFields.length ) { + return; + } + + $( obj.selectors.autoDetectFields ).replaceWith( $autoDetectFields ); + + const $dropdowns = $( obj.selectors.autoDetectFields ) + .find( tribe_dropdowns.selector.dropdown ) + .not( tribe_dropdowns.selector.created ); + + $dropdowns.tribe_dropdowns(); + + $( obj.selectors.autoDetectSource ) + .trigger( 'setup.dependency' ) + .trigger( 'verify.dependency' ); + }; + + /** + * Autodetect the source of the url in the video url field. + * + * @since 1.8.0 + */ + obj.detectSource = function() { + var $videoSource = $( obj.selectors.videoSource ); + if ( 'video' !== $videoSource.val() ) { + return; + } + + const $video_input = $( obj.selectors.virtualUrl ); + const video_url = $video_input.val(); + const url = $video_input.data( 'autodetectAjaxUrl' ); + const $autodetectFields = $( "[name^='tribe-events-virtual-autodetect']" ); + const ajaxData = {}; + $autodetectFields.map( function() { + let field = $( this ).prop( 'name' ).match( /\[(.*?)\]/ )[1]; + ajaxData[ field ] = this.value; + } ).get(); + + obj.show( $( '.tribe-events-virtual-video-source-autodetect__inner-controls' ) ); + $( obj.selectors.autoDetectPreviewWrap ).addClass( 'hide-preview' ); + + $.ajax( + url, + { + contentType: 'application/json', + context: $( obj.selectors.videoSourceDetails ), + data: { + video_url: video_url, + ajax_data: ajaxData, // eslint-disable-line + }, + success: obj.onAutoDetectSuccess, + } + ); + } + + /** + * Handle the enabling and disabling of the Show controls depending on the Display options. + * + * @since 1.0.0 + */ + obj.handleShowOptionEnablement = function() { + var checked = $( obj.selectors.displayOption ).find( ':checked:visible' ).length; + var $showOptions = $( obj.selectors.showOptions ); + + if ( checked > 0 ) { + $showOptions.prop( { disabled: false } ); + + return; + } + + $showOptions.prop( { disabled: true } ); + }; + + obj.handleShowOptionInteractivity = function( e ) { + if ( ! ( e && Object.prototype.hasOwnProperty.call( e, 'target' ) ) ) { + // Empty on new posts. + return; + } + + var $this = $( e.target ); + if ( ! $this.prop( 'checked' ) ) { + return; + } + + if ( 'all' === $this.val() ) { + return; + } + + $( obj.selectors.showAll ).prop( 'checked', false ); + }; + + /** + * Bind events for virtual events admin + * + * @since 1.0.0 + * + * @return {void} + */ + obj.bindEvents = function() { + $( obj.selectors.virtualContainer ) + .on( 'click', obj.selectors.configure, obj.setCheckboxCheckedAttr( true ) ) + .on( 'click', obj.selectors.remove, obj.setCheckboxCheckedAttr( false ) ) + .on( 'click', obj.selectors.autoDetectButton, obj.detectSource ) + .on( 'click', obj.selectors.displayOptionCheckbox, obj.handleShowOptionEnablement ) + .on( 'change', obj.selectors.showOptions, obj.handleShowOptionInteractivity ); + + $document.on( 'autodetect.complete', obj.handleAutoDetectVideoPreview ); + }; + + /** + * Check if block editor is active adn virtual event block is registered. + * + * @since 1.7.0 + * @since 1.7.3 - Add additional check if wp.data if defined and if the VE block is registered. + * + * @returns {boolean} Whether the block editor scripts are available and if VE block is registered. + */ + obj.isGutenbergActive = function() { + if ( + typeof wp === 'undefined' || + typeof wp.blocks === 'undefined' || + typeof wp.data === 'undefined' + ) { + return false; + } + + return !!wp.data.select( 'core/blocks' ).getBlockType( 'tribe/virtual-event' ); + }; + + /** + * Handles the initialization of the admin when Document is ready + * + * @since 1.0.0 + * @since 1.6.0 - Support for video sources dropdown. + * + * @return {void} + */ + obj.ready = function() { + obj.bindEvents(); + + // Trigger tribe dependency for video source fields to display. + // Set on a delay or it does not correctly load the selected video source fields. + setTimeout( function() { + $( obj.selectors.videoSource ).trigger( 'verify.dependency' ); + }, 0 ); + + obj.handleVideoPreviewOnLoad(); + }; + + /** + * Checks the virtual URL for embeddability. + * + * @since 1.0.0 + * @since 1.6.0 - Video source dropdown support. + * @deprecated 1.8.0 + * + */ + obj.testEmbed = function() { + console.info( 'Method deprecated and replaced with Autodetect feature.' ); // eslint-disable-line no-console, max-len + var $videoSource = $( obj.selectors.videoSource ); + if ( 'video' !== $videoSource.val() ) { + return; + } + + const $input = $( obj.selectors.virtualUrl ); + const url = $input.val(); + const nonce = $input.attr( 'data-nonce' ); + const flag = $input.attr( 'data-oembed-test' ); + + // Don't test null data. Or items we don't want tested. + if ( ! flag || ! url || ! nonce ) { + // But we'll make sure we hide the notice and enable the checkbox. + obj.hideOembedNotice(); + return; + } + + $.ajax( { + type: 'post', + dataType: 'json', + url: ajaxurl, + data: { + action: 'tribe_events_virtual_check_oembed', + url: url, + nonce: nonce, + }, + } ) + .done( function() { + obj.hideOembedNotice(); + } ) + .fail( function( response ) { + obj.showOembedNotice( response ); + } ); + }; + + /** + * Hide the notice and enable the checkbox. + * @deprecated 1.8.0 + * + * @since 1.0.0 + */ + obj.hideOembedNotice = function() { + console.info( 'Method deprecated and replaced with Autodetect feature.' ); // eslint-disable-line no-console, max-len + $( obj.selectors.embedNotice ).removeClass( obj.selectors.embedNoticeShow.className() ); + $( obj.selectors.embedCheckbox ).prop( { disabled: false } ); + }; + + /** + * Show the notice, disable and uncheck the checkbox. + * + * @since 1.0.0 + * @deprecated 1.8.0 + * + * @param {object} response The ajax response object. + */ + obj.showOembedNotice = function( response ) { + console.info( 'Method deprecated and replaced with Autodetect feature.' ); // eslint-disable-line no-console, max-len + $( obj.selectors.embedNoticeText ).html( response.responseJSON.data ); + $( obj.selectors.embedNotice ).addClass( obj.selectors.embedNoticeShow.className() ); + $( obj.selectors.embedCheckbox ).prop( { + disabled: true, + checked: false, + } ); + }; + + // Configure on document ready + $( obj.ready ); +} )( jQuery, tribe.events.virtualAdmin, tribe_dropdowns ); diff --git a/wp-content/plugins/events-calendar-pro/src/resources/js/events-virtual-admin.min.js b/wp-content/plugins/events-calendar-pro/src/resources/js/events-virtual-admin.min.js new file mode 100644 index 000000000..1fd2ff34a --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/resources/js/events-virtual-admin.min.js @@ -0,0 +1,11 @@ +/** + * This JS file was auto-generated via Terser. + * + * Contributors should avoid editing this file, but instead edit the associated + * non minified file file. For more information, check out our engineering docs + * on how we handle JS minification in our engineering docs. + * + * @see: https://evnt.is/dev-docs-minification + */ + +tribe.events=tribe.events||{},tribe.events.virtualAdmin=tribe.events.virtualAdmin||{},function($,obj,tribe_dropdowns){var $document=$(document);obj.selectors={autoDetectButton:".tribe-events-virtual-video-source-autodetect__button",autoDetectFields:".tribe-events-virtual-video-source-autodetect__fields",autoDetectSource:"#tribe-events-virtual-autodetect-source",autoDetectMessagesWrap:".tribe-events-virtual-video-source-autodetect__messages-wrap",autoDetectMessage:".tec-events-virtual-settings-message__wrap",autoDetectloader:".tribe-common-c-loader",autoDetectPreviewWrap:".tec-autodetect-video-preview__container",autoDetectPreview:".tec-autodetect-video-preview__inner",autoDetecthiddenElement:".tribe-common-a11y-hidden",configure:".tribe-configure-virtual-button",displayOption:".tribe-events-virtual-display",displayOptionCheckbox:'.tribe-events-virtual-display input[type="checkbox"]',embedCheckbox:"#tribe-events-virtual-embed-video",remove:".tribe-remove-virtual-event",setupCheckbox:"#tribe-events-virtual-setup",showOptions:".tribe-events-virtual-show input",showAll:"#tribe-events-virtual-show-to-all",videoSource:"#tribe-events-virtual-video-source",videoSourcesWrap:".tribe-events-virtual-video-sources-wrap",videoSourceDetails:".tribe-events-virtual-video-sources",videoSourcesFloat:".tribe-events-virtual-video-sources--float",virtualContainer:"#tribe-virtual-events",virtualUrl:".tribe-events-virtual-video-source__virtual-url-input",embedNotice:".tribe-events-virtual-video-source__not-embeddable-notice",embedNoticeShow:".tribe-events-virtual-video-source__not-embeddable-notice--show",embedNoticeText:".tribe-events-virtual-video-source__not-embeddable-text"},obj.setCheckboxCheckedAttr=function(checked){return obj.isGutenbergActive()?function(){const blocks=wp.data.select("core/block-editor").getBlocks(),dateBlock=blocks.find((block=>"tribe/event-price"===block.name));if(checked){if(blocks.filter((block=>"tribe/virtual-event"===block.name)).length)return void $(obj.selectors.setupCheckbox).prop("checked",checked).trigger("verify.dependency");if(dateBlock){const index=wp.data.select("core/block-editor").getBlockIndex(dateBlock.clientId),newBlock=wp.blocks.createBlock("tribe/virtual-event");wp.data.dispatch("core/block-editor").insertBlock(newBlock,index+1,"",!1)}else{const newBlock=wp.blocks.createBlock("tribe/virtual-event");wp.data.dispatch("core/block-editor").insertBlock(newBlock)}$document.trigger("virtual.add");document.getElementById("tribe-virtual-events").scrollIntoView()}else{if(!confirm(tribe_events_virtual_strings.deleteConfirm))return;tribe.events.metaboxDelete=!0,blocks.forEach((element=>{"tribe/virtual-event"===element.name&&wp.data.dispatch("core/block-editor").removeBlock(element.clientId)})),$document.trigger("virtual.delete"),tribe.events.metaboxDelete=!1}$(obj.selectors.setupCheckbox).prop("checked",checked).trigger("verify.dependency")}:function(){if(checked)$document.trigger("virtual.add");else{if(!confirm(tribe_events_virtual_strings.deleteConfirm))return;$document.trigger("virtual.delete")}$(obj.selectors.setupCheckbox).prop("checked",checked).trigger("verify.dependency")}},obj.show=function($container){const $loader=$container.find(obj.selectors.autoDetectloader);$loader.length&&$loader.removeClass(obj.selectors.autoDetecthiddenElement.className())},obj.hide=function($container){const $loader=$container.find(obj.selectors.autoDetectloader);$loader.length&&$loader.addClass(obj.selectors.autoDetecthiddenElement.className())},obj.handleVideoPreviewOnLoad=function(){const $videoPreview=$(obj.selectors.autoDetectPreview);0!==$.trim($videoPreview.html()).length&&$(obj.selectors.autoDetectPreviewWrap).removeClass("hide-preview")},obj.handleAutoDetectVideoPreview=function(event,data){if(!data.html)return;const $videoPreview=$(data.html).filter(obj.selectors.autoDetectPreview);0!==$videoPreview.length&&($(obj.selectors.autoDetectPreviewWrap).removeClass("hide-preview"),$(obj.selectors.autoDetectPreview).replaceWith($videoPreview),$document.trigger("autodetect.videoPreview",{html:data.html}))},obj.onAutoDetectSuccess=function(html){obj.hide($(".tribe-events-virtual-video-source-autodetect__inner-controls")),$document.trigger("autodetect.complete",{html:html});const $message=$(html).filter(obj.selectors.autoDetectMessage),$autoDetectFields=$(html).filter(obj.selectors.autoDetectFields);if($(obj.selectors.autoDetectMessagesWrap).html($message),0===$autoDetectFields.length)return;$(obj.selectors.autoDetectFields).replaceWith($autoDetectFields);$(obj.selectors.autoDetectFields).find(tribe_dropdowns.selector.dropdown).not(tribe_dropdowns.selector.created).tribe_dropdowns(),$(obj.selectors.autoDetectSource).trigger("setup.dependency").trigger("verify.dependency")},obj.detectSource=function(){if("video"!==$(obj.selectors.videoSource).val())return;const $video_input=$(obj.selectors.virtualUrl),video_url=$video_input.val(),url=$video_input.data("autodetectAjaxUrl"),$autodetectFields=$("[name^='tribe-events-virtual-autodetect']"),ajaxData={};$autodetectFields.map((function(){let field=$(this).prop("name").match(/\[(.*?)\]/)[1];ajaxData[field]=this.value})).get(),obj.show($(".tribe-events-virtual-video-source-autodetect__inner-controls")),$(obj.selectors.autoDetectPreviewWrap).addClass("hide-preview"),$.ajax(url,{contentType:"application/json",context:$(obj.selectors.videoSourceDetails),data:{video_url:video_url,ajax_data:ajaxData},success:obj.onAutoDetectSuccess})},obj.handleShowOptionEnablement=function(){var checked=$(obj.selectors.displayOption).find(":checked:visible").length,$showOptions=$(obj.selectors.showOptions);checked>0?$showOptions.prop({disabled:!1}):$showOptions.prop({disabled:!0})},obj.handleShowOptionInteractivity=function(e){if(e&&Object.prototype.hasOwnProperty.call(e,"target")){var $this=$(e.target);$this.prop("checked")&&"all"!==$this.val()&&$(obj.selectors.showAll).prop("checked",!1)}},obj.bindEvents=function(){$(obj.selectors.virtualContainer).on("click",obj.selectors.configure,obj.setCheckboxCheckedAttr(!0)).on("click",obj.selectors.remove,obj.setCheckboxCheckedAttr(!1)).on("click",obj.selectors.autoDetectButton,obj.detectSource).on("click",obj.selectors.displayOptionCheckbox,obj.handleShowOptionEnablement).on("change",obj.selectors.showOptions,obj.handleShowOptionInteractivity),$document.on("autodetect.complete",obj.handleAutoDetectVideoPreview)},obj.isGutenbergActive=function(){return"undefined"!=typeof wp&&void 0!==wp.blocks&&void 0!==wp.data&&!!wp.data.select("core/blocks").getBlockType("tribe/virtual-event")},obj.ready=function(){obj.bindEvents(),setTimeout((function(){$(obj.selectors.videoSource).trigger("verify.dependency")}),0),obj.handleVideoPreviewOnLoad()},obj.testEmbed=function(){if(console.info("Method deprecated and replaced with Autodetect feature."),"video"!==$(obj.selectors.videoSource).val())return;const $input=$(obj.selectors.virtualUrl),url=$input.val(),nonce=$input.attr("data-nonce");$input.attr("data-oembed-test")&&url&&nonce?$.ajax({type:"post",dataType:"json",url:ajaxurl,data:{action:"tribe_events_virtual_check_oembed",url:url,nonce:nonce}}).done((function(){obj.hideOembedNotice()})).fail((function(response){obj.showOembedNotice(response)})):obj.hideOembedNotice()},obj.hideOembedNotice=function(){console.info("Method deprecated and replaced with Autodetect feature."),$(obj.selectors.embedNotice).removeClass(obj.selectors.embedNoticeShow.className()),$(obj.selectors.embedCheckbox).prop({disabled:!1})},obj.showOembedNotice=function(response){console.info("Method deprecated and replaced with Autodetect feature."),$(obj.selectors.embedNoticeText).html(response.responseJSON.data),$(obj.selectors.embedNotice).addClass(obj.selectors.embedNoticeShow.className()),$(obj.selectors.embedCheckbox).prop({disabled:!0,checked:!1})},$(obj.ready)}(jQuery,tribe.events.virtualAdmin,tribe_dropdowns); \ No newline at end of file diff --git a/wp-content/plugins/events-calendar-pro/src/resources/js/events-virtual-api-admin.js b/wp-content/plugins/events-calendar-pro/src/resources/js/events-virtual-api-admin.js new file mode 100644 index 000000000..eaf1dd40e --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/resources/js/events-virtual-api-admin.js @@ -0,0 +1,554 @@ +/** + * Makes sure we have all the required levels on the Tribe Object + * + * @since 1.9.0 + * + * @type {PlainObject} + */ +window.tribe = window.tribe || {}; +tribe.events = tribe.events || {}; +tribe.events.views = tribe.events.views || {}; + +/** + * Configures Virtual Events Admin Object on the Global Tribe variable + * + * @since 1.9.0 + * + * @type {PlainObject} + */ +tribe.events.virtualAdmin = tribe.events.virtualAdmin || {}; + +/** + * Configures Virtual Events Admin Object on the Global Tribe variable + * + * @since 1.9.0 + * + * @type {PlainObject} + */ +tribe.events.virtualAdminAPI = tribe.events.virtualAdminAPI || {}; + +/** + * Initializes in a Strict env the code that manages the Event Views + * + * @since 1.9.0 + * + * @param {PlainObject} $ jQuery + * @param {PlainObject} obj tribe.events.virtualAdminAPI + * @param {PlainObject} virtualAdmin tribe.events.virtualAdmin + * + * @return {void} + */ +( function( $, obj, virtualAdmin, tribe_dropdowns ) { + 'use-strict'; + const $document = $( document ); + + /** + * Selectors used for configuration and setup + * + * @since 1.9.0 + * + * @type {PlainObject} + */ + obj.selectors = { + // Meeting API Selectors + meetingContainer: '.tec-events-virtual-meetings-api-container', + meetingAccountDropdown: '.tec-events-virtual-meetings-api__account-dropdown', + meetingAccountSelect: '.tec-events-virtual-meetings-api-action__account-select-link', + meetingCreate: '.tec-events-virtual-meetings-api-action__create-link', + meetingCreateOptions: '.tec-events-virtual-meetings-api-create__types', + meetingCreateType: 'input[name="tribe-events-virtual[%%APIID%%-meeting-type]"]:checked', + meetingHostsDropdown: '.tec-events-virtual-meetings-api__host-dropdown', + meetingRemove: '.tec-events-virtual-meetings-api-details__remove-link', + meetingMessage: '.tec-events-virtual-settings-message__wrap', + meetingMessagesWrap: '.tec-events-virtual-video-source-api-setup__messages-wrap', + meetingDisplayLinkOption: '#tribe-events-virtual-meetings-api-display-details', + // API Selectors + googleMeetContainer: '#tribe-events-virtual-meetings-google', + microsoftTeamsContainer: '#tribe-events-virtual-meetings-microsoft', + webexMeetingContainer: '#tribe-events-virtual-meetings-webex', + zoomMeetingContainer: '#tribe-events-virtual-meetings-zoom', + // VE related selectors + virtualContainer: '#tribe-virtual-events', + virtualEmbedVideoOption: '#tribe-events-virtual-embed-video', + virtualHiddenElement: '.tribe-events-virtual-hidden', + virtualLinkedButtonOption: '#tribe-events-virtual-linked-button', + virtualLoader: '.tribe-common-c-loader', + virtualLoaderHiddenElement: '.tribe-common-a11y-hidden', + }; + + /** + * Original state of the UI controls related to an API. + * + * @since 1.9.0 + * + * @type {PlainObject} + */ + obj.originalState = { + linkedButtonOption: { + checked: $( obj.selectors.virtualLinkedButtonOption ).prop( 'checked' ), + }, + }; + + /** + * Handles the click on a link to generate a meeting. + * + * @since 1.9.0 + * + * @param {Event} ev The click event. + */ + obj.handleAccountSelection = function( ev ) { + ev.preventDefault(); + const $apiContainer = $( this ).closest( obj.selectors.meetingContainer ); + const url = $( ev.target ).attr( 'href' ); + const $accountDropdown = $apiContainer.find( obj.selectors.meetingAccountDropdown ); + const accountId = $accountDropdown.find( 'option:selected' ).val(); + + obj.show( $apiContainer ); + + $.ajax( + url, + { + contentType: 'application/json', + context: $apiContainer, + data: { + account_id: accountId, + }, + success: obj.onMeetingHandlingSuccess, + } + ); + }; + + /** + * Handles the selection of the host dropdown validation for Zoom. + * + * @since 1.9.0 + * + * @param {Event} ev The click event. + */ + obj.handleUserValidation = function( ev ) { + ev.preventDefault(); + const $apiContainer = $( this ).closest( obj.selectors.meetingContainer ); + const url = $( obj.selectors.meetingHostsDropdown ).data( 'validateUrl' ); + const hostId = $( obj.selectors.meetingHostsDropdown ).find( 'option:selected' ).val(); + const accountId = $apiContainer.data( 'accountId' ); + + obj.show( $apiContainer ); + + $.ajax( + url, + { + contentType: 'application/json', + context: $apiContainer, + data: { + account_id: accountId, + host_id: hostId, + }, + success: obj.onMeetingValidateUserSuccess, + } + ); + }; + + /** + * Handles the response from the backend to a user validation request. + * + * @since 1.9.0 + * + * @param {string} html The HTML that should replace the current meeting selection. + */ + obj.onMeetingValidateUserSuccess = function( html ) { + + const $apiContainer = $( this ).closest( obj.selectors.meetingContainer ); + obj.hide( $apiContainer ); + + const $message = $( html ).filter( obj.selectors.meetingMessage ); + $apiContainer.find( obj.selectors.meetingMessagesWrap ).html( $message ); + + const $createOptions = $( html ).filter( obj.selectors.meetingCreateOptions ); + if ( 0 === $createOptions.length ) { + return; + } + + $apiContainer.find( obj.selectors.meetingCreateOptions ).replaceWith( $createOptions ); + }; + + /** + * Handles the click on a link to generate a meeting. + * + * @since 1.9.0 + * @since 1.11.0 - Add support for password requirements. + * + * @param {Event} ev The click event. + */ + obj.handleCreateRequest = function( ev ) { + ev.preventDefault(); + const $apiContainer = $( this ).closest( obj.selectors.meetingContainer ); + const apiId = $apiContainer.data( 'apiId' ); + const meetingCreateType = obj.selectors.meetingCreateType; + const meetingApiCreateType = meetingCreateType.replace('%%APIID%%', apiId); + const meetingType = $( meetingApiCreateType ).data( 'type' ); + const meetingApiPasswordRequirements = $( meetingApiCreateType ).data( 'passwordRequirements' ); + const url = $apiContainer.find( meetingApiCreateType ).val(); + const accountId = $apiContainer.data( 'accountId' ); + let hostId = $apiContainer + .find( obj.selectors.meetingHostsDropdown ) + .find( 'option:selected' ).val(); + + // If a single host, it is stored in the data attribute. + if ( ! hostId ) { + hostId = $apiContainer + .find( obj.selectors.meetingHostsDropdown ) + .data( 'hostId' ); + } + + $document.trigger( 'tec.virtual.api.create.validation', { + 'apiId' : apiId, + 'meetingApiCreateType' : meetingApiCreateType, + 'accountId' : accountId, + 'hostId' : hostId + } ); + + obj.show( $apiContainer ); + + $.ajax( + url, + { + contentType: 'application/json', + context: $apiContainer, + data: { + host_id: hostId, + account_id: accountId, + password_requirements: meetingApiPasswordRequirements, + meeting_type: meetingType, + EventStartDate: $( '#EventStartDate' ).val(), + EventStartTime: $( '#EventStartTime' ).val(), + EventEndDate: $( '#EventEndDate' ).val(), + EventEndTime: $( '#EventEndTime' ).val(), + EventTimezone: $( '#event-timezone option:selected' ).val(), + allDayCheckbox: $( '#allDayCheckbox' ).prop( 'checked' ) ? true : '', + }, + success: obj.onMeetingHandlingSuccess, + } + ); + }; + + /** + * Handles the click on a link to remove a meeting. + * + * @since 1.9.0 + * + * @param {Event} ev The click event. + */ + obj.handleRemoveRequest = function( ev ) { + ev.preventDefault(); + + const confirmed = confirm( $( this ).data( 'confirmation' ) ); + if ( ! confirmed ) { + return; + } + + const url = $( ev.target ).attr( 'href' ); + const $apiContainer = $( this ).closest( obj.selectors.meetingContainer ); + + if ( ! url ) { + return; + } + + obj.removeRequestAjax( url, $apiContainer ); + }; + + /** + * Ajax call to remove an API details from an Event. + * + * @param {string} url The url to make the ajax call. + * @param {object} $apiContainer The API container jQuery object being removed. + */ + obj.removeRequestAjax = function( url, $apiContainer ) { + if ( $apiContainer ) { + obj.show( $apiContainer ); + } + + $.ajax( + url, + { + contentType: 'application/json', + context: $apiContainer, + success: obj.onMeetingHandlingSuccess, + } + ); + }; + + /** + * Handles the successful response from the backend to a meeting-related request. + * + * @since 1.9.0 + * + * @param {string} html The HTML that should replace the current meeting controls HTML. + */ + obj.onMeetingHandlingSuccess = function( html ) { + const $apiContainer = $( this ).closest( obj.selectors.meetingContainer ); + + $apiContainer.replaceWith( html ); + obj.setupApiFields( '' ); + }; + + /** + * Handle the Autodetect Response for Google Meet. + * + * @since 1.11.0 + * + * @param {Event} event The trigger event. + * @param {data} data The data object included with the trigger event. + */ + obj.handleAutoDetectGoogle = function( event, data ) { + if ( ! data.html ) { + return; + } + const $apiContainer = $document.find( obj.selectors.googleMeetContainer ); + const $meetingDetails = $( data.html ).filter( obj.selectors.googleMeetContainer ); + if ( 0 === $meetingDetails.length ) { + return; + } + + $apiContainer.html( $meetingDetails ); + obj.setupApiFields( 'google' ); + }; + + /** + * Handle the Autodetect Response for Microsoft Teams. + * + * @since 1.13.0 + * + * @param {Event} event The trigger event. + * @param {data} data The data object included with the trigger event. + */ + obj.handleAutoDetectMicrosoft = function( event, data ) { + if ( ! data.html ) { + return; + } + const $apiContainer = $document.find( obj.selectors.microsoftTeamsContainer ); + const $meetingDetails = $( data.html ).filter( obj.selectors.microsoftTeamsContainer ); + if ( 0 === $meetingDetails.length ) { + return; + } + + $apiContainer.html( $meetingDetails ); + obj.setupApiFields( 'microsoft' ); + }; + + /** + * Handle the Autodetect Response for Webex. + * + * @since 1.9.0 + * + * @param {Event} event The trigger event. + * @param {data} data The data object included with the trigger event. + */ + obj.handleAutoDetectWebex = function( event, data ) { + if ( ! data.html ) { + return; + } + const $apiContainer = $document.find( obj.selectors.webexMeetingContainer ); + const $meetingDetails = $( data.html ).filter( obj.selectors.webexMeetingContainer ); + if ( 0 === $meetingDetails.length ) { + return; + } + + $apiContainer.html( $meetingDetails ); + obj.setupApiFields( 'webex' ); + }; + + /** + * Handle the Autodetect Response for an API. + * + * @since 1.9.0 + * + * @param {Event} event The trigger event. + * @param {data} data The data object included with the trigger event. + */ + obj.handleAutoDetectZoom = function( event, data ) { + if ( ! data.html ) { + return; + } + const $apiContainer = $document.find( obj.selectors.zoomMeetingContainer ); + const $meetingDetails = $( data.html ).filter( obj.selectors.zoomMeetingContainer ); + if ( 0 === $meetingDetails.length ) { + return; + } + + $apiContainer.html( $meetingDetails ); + obj.setupApiFields( 'zoom' ); + }; + + /** + * Sets up the API fields. + * + * @since 1.9.0 + * + * @param api_id + */ + obj.setupApiFields = function( api_id ) { + if ( api_id ) { + $( virtualAdmin.selectors.videoSource ) + .val( api_id ) + .trigger( 'change' ) + .trigger( 'verify.dependency' ); + } else { + $( virtualAdmin.selectors.videoSource ).trigger( 'verify.dependency' ); + } + + obj.setupControls(); + obj.checkButtons(); + obj.initTribeDropdowns(); + + if ( + virtualAdmin.handleShowOptionInteractivity && + typeof virtualAdmin.handleShowOptionInteractivity === 'function' + ) { + virtualAdmin.handleShowOptionInteractivity(); + } + }; + + /** + * Ensures that when we delete the virtual meta, we also delete the Meeting meta/details. + * + * @since 1.9.0 + * + */ + obj.handleLinkedMetaRemove = function() { + // change this to use the link in the remove by the click event + const url = $( obj.selectors.meetingRemove ).attr( 'href' ); + if ( ! url ) { + return; + } + + obj.removeRequestAjax( url ); + }; + + /** + * Check both the "Linked Button" and "Zoom Link w/ details" options. + * + * @since 1.9.0 + * + * @return {void} + */ + obj.checkButtons = function() { + const $displayLinkOption = $( obj.selectors.meetingDisplayLinkOption ); + const $linkedButtonOption = $( obj.selectors.virtualLinkedButtonOption ); + + $linkedButtonOption.prop( 'checked', true ); + $displayLinkOption.prop( 'checked', true ); + }; + + /** + * Sets up the UI controls in accord w/ the current API details state. + * + * @since 1.9.0 + * + * @return {void} + */ + obj.setupControls = function() { + const $embedVideoOptionItem = $( obj.selectors.virtualEmbedVideoOption ).closest( 'li' ); + const $displayLinkOptionItem = $( obj.selectors.meetingDisplayLinkOption ).closest( 'li' ); + const $linkedButtonOption = $( obj.selectors.virtualLinkedButtonOption ); + const videoSourceVal = $( virtualAdmin.selectors.videoSource ).val(); + + if ( 'webex' === videoSourceVal || 'zoom' === videoSourceVal ) { + // Hide the "Embed Video" option. + $embedVideoOptionItem.addClass( obj.selectors.virtualHiddenElement.className() ); + // Show the Zoom link display option. + $displayLinkOptionItem.removeClass( obj.selectors.virtualHiddenElement.className() ); + } else { + // Show the "Embed Video" option. + $embedVideoOptionItem.removeClass( obj.selectors.virtualHiddenElement.className() ); + // Hide the Zoom link display option. + $displayLinkOptionItem.addClass( obj.selectors.virtualHiddenElement.className() ); + // Restore the status of the "Linked Button" option to its original state. + $linkedButtonOption.prop( 'checked', obj.originalState.linkedButtonOption.checked ); + } + }; + + /** + * Initialize Tribe Dropdowns in the API Containers. + * + * @since 1.9.0 + */ + obj.initTribeDropdowns = function() { + const $apiContainer = $( document ).find( obj.selectors.meetingContainer ); + const $dropdowns = $apiContainer + .find( tribe_dropdowns.selector.dropdown ) + .not( tribe_dropdowns.selector.created ); + + // Initialize dropdowns + $dropdowns.tribe_dropdowns(); + }; + + /** + * Show loader for the container. + * + * @since 1.9.0 + * + * @param {jQuery} $container jQuery object of the container. + * + * @return {void} + */ + obj.show = function( $container ) { + const $loader = $container.find( obj.selectors.virtualLoader ); + + if ( $loader.length ) { + $loader.removeClass( obj.selectors.virtualLoaderHiddenElement.className() ); + } + }; + + /** + * Hide loader for the container. + * + * @since 1.9.0 + * + * @param {jQuery} $container jQuery object of the container. + * + * @return {void} + */ + obj.hide = function( $container ) { + const $loader = $container.find( obj.selectors.virtualLoader ); + + if ( $loader.length ) { + $loader.addClass( obj.selectors.virtualLoaderHiddenElement.className() ); + } + }; + + /** + * Bind events for virtual events admin. + * + * @since 1.9.0 + * + * @return {void} + */ + obj.bindEvents = function() { + $( obj.selectors.virtualContainer ) + .on( 'click', obj.selectors.meetingAccountSelect, obj.handleAccountSelection ) + .on( 'click', obj.selectors.meetingCreate, obj.handleCreateRequest ) + .on( 'click', obj.selectors.meetingRemove, obj.handleRemoveRequest ); + $document.on( 'virtual.delete', obj.handleLinkedMetaRemove ); + $document.on( 'change', obj.selectors.meetingHostsDropdown, obj.handleUserValidation ); + + $document + .on( 'autodetect.complete', obj.handleAutoDetectGoogle ) + .on( 'autodetect.complete', obj.handleAutoDetectMicrosoft ) + .on( 'autodetect.complete', obj.handleAutoDetectWebex ) + .on( 'autodetect.complete', obj.handleAutoDetectZoom ); + }; + + /** + * Handles the initialization of the admin when Document is ready + * + * @since 1.9.0 + * + * @return {void} + */ + obj.ready = function() { + obj.bindEvents(); + }; + + // Configure on document ready + $( obj.ready ); +} )( jQuery, tribe.events.virtualAdminAPI, tribe.events.virtualAdmin, tribe_dropdowns ); diff --git a/wp-content/plugins/events-calendar-pro/src/resources/js/events-virtual-api-admin.min.js b/wp-content/plugins/events-calendar-pro/src/resources/js/events-virtual-api-admin.min.js new file mode 100644 index 000000000..435383b3c --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/resources/js/events-virtual-api-admin.min.js @@ -0,0 +1,11 @@ +/** + * This JS file was auto-generated via Terser. + * + * Contributors should avoid editing this file, but instead edit the associated + * non minified file file. For more information, check out our engineering docs + * on how we handle JS minification in our engineering docs. + * + * @see: https://evnt.is/dev-docs-minification + */ + +window.tribe=window.tribe||{},tribe.events=tribe.events||{},tribe.events.views=tribe.events.views||{},tribe.events.virtualAdmin=tribe.events.virtualAdmin||{},tribe.events.virtualAdminAPI=tribe.events.virtualAdminAPI||{},function($,obj,virtualAdmin,tribe_dropdowns){const $document=$(document);obj.selectors={meetingContainer:".tec-events-virtual-meetings-api-container",meetingAccountDropdown:".tec-events-virtual-meetings-api__account-dropdown",meetingAccountSelect:".tec-events-virtual-meetings-api-action__account-select-link",meetingCreate:".tec-events-virtual-meetings-api-action__create-link",meetingCreateOptions:".tec-events-virtual-meetings-api-create__types",meetingCreateType:'input[name="tribe-events-virtual[%%APIID%%-meeting-type]"]:checked',meetingHostsDropdown:".tec-events-virtual-meetings-api__host-dropdown",meetingRemove:".tec-events-virtual-meetings-api-details__remove-link",meetingMessage:".tec-events-virtual-settings-message__wrap",meetingMessagesWrap:".tec-events-virtual-video-source-api-setup__messages-wrap",meetingDisplayLinkOption:"#tribe-events-virtual-meetings-api-display-details",googleMeetContainer:"#tribe-events-virtual-meetings-google",microsoftTeamsContainer:"#tribe-events-virtual-meetings-microsoft",webexMeetingContainer:"#tribe-events-virtual-meetings-webex",zoomMeetingContainer:"#tribe-events-virtual-meetings-zoom",virtualContainer:"#tribe-virtual-events",virtualEmbedVideoOption:"#tribe-events-virtual-embed-video",virtualHiddenElement:".tribe-events-virtual-hidden",virtualLinkedButtonOption:"#tribe-events-virtual-linked-button",virtualLoader:".tribe-common-c-loader",virtualLoaderHiddenElement:".tribe-common-a11y-hidden"},obj.originalState={linkedButtonOption:{checked:$(obj.selectors.virtualLinkedButtonOption).prop("checked")}},obj.handleAccountSelection=function(ev){ev.preventDefault();const $apiContainer=$(this).closest(obj.selectors.meetingContainer),url=$(ev.target).attr("href"),accountId=$apiContainer.find(obj.selectors.meetingAccountDropdown).find("option:selected").val();obj.show($apiContainer),$.ajax(url,{contentType:"application/json",context:$apiContainer,data:{account_id:accountId},success:obj.onMeetingHandlingSuccess})},obj.handleUserValidation=function(ev){ev.preventDefault();const $apiContainer=$(this).closest(obj.selectors.meetingContainer),url=$(obj.selectors.meetingHostsDropdown).data("validateUrl"),hostId=$(obj.selectors.meetingHostsDropdown).find("option:selected").val(),accountId=$apiContainer.data("accountId");obj.show($apiContainer),$.ajax(url,{contentType:"application/json",context:$apiContainer,data:{account_id:accountId,host_id:hostId},success:obj.onMeetingValidateUserSuccess})},obj.onMeetingValidateUserSuccess=function(html){const $apiContainer=$(this).closest(obj.selectors.meetingContainer);obj.hide($apiContainer);const $message=$(html).filter(obj.selectors.meetingMessage);$apiContainer.find(obj.selectors.meetingMessagesWrap).html($message);const $createOptions=$(html).filter(obj.selectors.meetingCreateOptions);0!==$createOptions.length&&$apiContainer.find(obj.selectors.meetingCreateOptions).replaceWith($createOptions)},obj.handleCreateRequest=function(ev){ev.preventDefault();const $apiContainer=$(this).closest(obj.selectors.meetingContainer),apiId=$apiContainer.data("apiId"),meetingApiCreateType=obj.selectors.meetingCreateType.replace("%%APIID%%",apiId),meetingType=$(meetingApiCreateType).data("type"),meetingApiPasswordRequirements=$(meetingApiCreateType).data("passwordRequirements"),url=$apiContainer.find(meetingApiCreateType).val(),accountId=$apiContainer.data("accountId");let hostId=$apiContainer.find(obj.selectors.meetingHostsDropdown).find("option:selected").val();hostId||(hostId=$apiContainer.find(obj.selectors.meetingHostsDropdown).data("hostId")),$document.trigger("tec.virtual.api.create.validation",{apiId:apiId,meetingApiCreateType:meetingApiCreateType,accountId:accountId,hostId:hostId}),obj.show($apiContainer),$.ajax(url,{contentType:"application/json",context:$apiContainer,data:{host_id:hostId,account_id:accountId,password_requirements:meetingApiPasswordRequirements,meeting_type:meetingType,EventStartDate:$("#EventStartDate").val(),EventStartTime:$("#EventStartTime").val(),EventEndDate:$("#EventEndDate").val(),EventEndTime:$("#EventEndTime").val(),EventTimezone:$("#event-timezone option:selected").val(),allDayCheckbox:!!$("#allDayCheckbox").prop("checked")||""},success:obj.onMeetingHandlingSuccess})},obj.handleRemoveRequest=function(ev){ev.preventDefault();if(!confirm($(this).data("confirmation")))return;const url=$(ev.target).attr("href"),$apiContainer=$(this).closest(obj.selectors.meetingContainer);url&&obj.removeRequestAjax(url,$apiContainer)},obj.removeRequestAjax=function(url,$apiContainer){$apiContainer&&obj.show($apiContainer),$.ajax(url,{contentType:"application/json",context:$apiContainer,success:obj.onMeetingHandlingSuccess})},obj.onMeetingHandlingSuccess=function(html){$(this).closest(obj.selectors.meetingContainer).replaceWith(html),obj.setupApiFields("")},obj.handleAutoDetectGoogle=function(event,data){if(!data.html)return;const $apiContainer=$document.find(obj.selectors.googleMeetContainer),$meetingDetails=$(data.html).filter(obj.selectors.googleMeetContainer);0!==$meetingDetails.length&&($apiContainer.html($meetingDetails),obj.setupApiFields("google"))},obj.handleAutoDetectMicrosoft=function(event,data){if(!data.html)return;const $apiContainer=$document.find(obj.selectors.microsoftTeamsContainer),$meetingDetails=$(data.html).filter(obj.selectors.microsoftTeamsContainer);0!==$meetingDetails.length&&($apiContainer.html($meetingDetails),obj.setupApiFields("microsoft"))},obj.handleAutoDetectWebex=function(event,data){if(!data.html)return;const $apiContainer=$document.find(obj.selectors.webexMeetingContainer),$meetingDetails=$(data.html).filter(obj.selectors.webexMeetingContainer);0!==$meetingDetails.length&&($apiContainer.html($meetingDetails),obj.setupApiFields("webex"))},obj.handleAutoDetectZoom=function(event,data){if(!data.html)return;const $apiContainer=$document.find(obj.selectors.zoomMeetingContainer),$meetingDetails=$(data.html).filter(obj.selectors.zoomMeetingContainer);0!==$meetingDetails.length&&($apiContainer.html($meetingDetails),obj.setupApiFields("zoom"))},obj.setupApiFields=function(api_id){api_id?$(virtualAdmin.selectors.videoSource).val(api_id).trigger("change").trigger("verify.dependency"):$(virtualAdmin.selectors.videoSource).trigger("verify.dependency"),obj.setupControls(),obj.checkButtons(),obj.initTribeDropdowns(),virtualAdmin.handleShowOptionInteractivity&&"function"==typeof virtualAdmin.handleShowOptionInteractivity&&virtualAdmin.handleShowOptionInteractivity()},obj.handleLinkedMetaRemove=function(){const url=$(obj.selectors.meetingRemove).attr("href");url&&obj.removeRequestAjax(url)},obj.checkButtons=function(){const $displayLinkOption=$(obj.selectors.meetingDisplayLinkOption);$(obj.selectors.virtualLinkedButtonOption).prop("checked",!0),$displayLinkOption.prop("checked",!0)},obj.setupControls=function(){const $embedVideoOptionItem=$(obj.selectors.virtualEmbedVideoOption).closest("li"),$displayLinkOptionItem=$(obj.selectors.meetingDisplayLinkOption).closest("li"),$linkedButtonOption=$(obj.selectors.virtualLinkedButtonOption),videoSourceVal=$(virtualAdmin.selectors.videoSource).val();"webex"===videoSourceVal||"zoom"===videoSourceVal?($embedVideoOptionItem.addClass(obj.selectors.virtualHiddenElement.className()),$displayLinkOptionItem.removeClass(obj.selectors.virtualHiddenElement.className())):($embedVideoOptionItem.removeClass(obj.selectors.virtualHiddenElement.className()),$displayLinkOptionItem.addClass(obj.selectors.virtualHiddenElement.className()),$linkedButtonOption.prop("checked",obj.originalState.linkedButtonOption.checked))},obj.initTribeDropdowns=function(){$(document).find(obj.selectors.meetingContainer).find(tribe_dropdowns.selector.dropdown).not(tribe_dropdowns.selector.created).tribe_dropdowns()},obj.show=function($container){const $loader=$container.find(obj.selectors.virtualLoader);$loader.length&&$loader.removeClass(obj.selectors.virtualLoaderHiddenElement.className())},obj.hide=function($container){const $loader=$container.find(obj.selectors.virtualLoader);$loader.length&&$loader.addClass(obj.selectors.virtualLoaderHiddenElement.className())},obj.bindEvents=function(){$(obj.selectors.virtualContainer).on("click",obj.selectors.meetingAccountSelect,obj.handleAccountSelection).on("click",obj.selectors.meetingCreate,obj.handleCreateRequest).on("click",obj.selectors.meetingRemove,obj.handleRemoveRequest),$document.on("virtual.delete",obj.handleLinkedMetaRemove),$document.on("change",obj.selectors.meetingHostsDropdown,obj.handleUserValidation),$document.on("autodetect.complete",obj.handleAutoDetectGoogle).on("autodetect.complete",obj.handleAutoDetectMicrosoft).on("autodetect.complete",obj.handleAutoDetectWebex).on("autodetect.complete",obj.handleAutoDetectZoom)},obj.ready=function(){obj.bindEvents()},$(obj.ready)}(jQuery,tribe.events.virtualAdminAPI,tribe.events.virtualAdmin,tribe_dropdowns); \ No newline at end of file diff --git a/wp-content/plugins/events-calendar-pro/src/resources/js/events-virtual-api-settings.js b/wp-content/plugins/events-calendar-pro/src/resources/js/events-virtual-api-settings.js new file mode 100644 index 000000000..a907f0947 --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/resources/js/events-virtual-api-settings.js @@ -0,0 +1,177 @@ +/** + * Makes sure we have all the required levels on the Tribe Object + * + * @since 1.9.0 + * + * @type {PlainObject} + */ +tribe.events = tribe.events || {}; + +/** + * Configures Virtual Events Admin Object on the Global Tribe variable + * + * @since 1.9.0 + * + * @type {PlainObject} + */ +tribe.events.apiSettingsAdmin = tribe.events.apiSettingsAdmin || {}; + +( function( $, obj ) { + 'use-strict'; + + /** + * Selectors used for configuration and setup + * + * @since 1.9.0 + * + * @type {PlainObject} + */ + obj.selectors = { + apiContainer: '.tec-settings-api-application', + accountDetailsContainer: '.tec-settings-api-account-details', + accountMessageContainer: '.tec-api-accounts-messages', + accountStatus: '.tec-events-virtual-meetings-api-settings-switch__input.account-status', + deleteAccount: '.tec-settings-api-account-details__delete-account', + refreshAccount: '.tec-settings-api-account-details__account-refresh', + }; + + /** + * Handles the click to refresh an account + * + * @since 1.9.0 + * + * @param {Event} ev The click event. + */ + obj.handleRefreshAccount = function( ev ) { + ev.preventDefault(); + + const confirmed = confirm( $( this ).data( 'confirmation' ) ); + if ( ! confirmed ) { + return; + } + + const url = $( this ).data( 'apiRefresh' ); + window.location = url; + }; + + /** + * Handles the click to change the account status. + * + * @since 1.9.0 + */ + obj.handleAccountStatus = function() { + const $this = $( this ); + const url = $this.data( 'ajaxStatusUrl' ); + + // Disable the status switch. + $this.prop( 'disabled', true ); + + $.ajax( + url, + { + contentType: 'application/json', + context: $this, + success: obj.onAccountStatusSuccess, + } + ); + }; + + /** + * Handles the successful response from the backend to account status request. + * + * @since 1.9.0 + * + * @param {string} html The HTML that adds a message on the settings page. + */ + obj.onAccountStatusSuccess = function( html ) { + $( this ).closest( obj.selectors.apiContainer ) + .find( obj.selectors.accountMessageContainer ).html( html ); + + // Enable the status switch. + $( this ).prop( 'disabled', false ); + + // Change the disable state of the refresh and delete buttons. + const $accountSettings = $( this ).closest( obj.selectors.accountDetailsContainer ); + $accountSettings.find( obj.selectors.refreshAccount ).prop( 'disabled', function( i, v ) { + return ! v; + } ); + $accountSettings.find( obj.selectors.deleteAccount ).prop( 'disabled', function( i, v ) { + return ! v; + } ); + }; + + /** + * Handles the click to delete an account. + * + * @since 1.9.0 + * + * @param {Event} ev The click event. + */ + obj.handleDeleteAccount = function( ev ) { + ev.preventDefault(); + + const confirmed = confirm( $( this ).data( 'confirmation' ) ); + if ( ! confirmed ) { + return; + } + + const url = $( this ).data( 'ajaxDeleteUrl' ); + + $.ajax( + url, + { + contentType: 'application/json', + context: $( this ).closest( obj.selectors.accountDetailsContainer ), + success: obj.onAccountDeleteSuccess, + } + ); + }; + + /** + * Handles the successful response from the backend to delete account request. + * + * @since 1.9.0 + * + * @param {string} html The HTML that adds a message on the settings page. + */ + obj.onAccountDeleteSuccess = function( html ) { + $( this ).closest( obj.selectors.apiContainer ) + .find( obj.selectors.accountMessageContainer ).html( html ); + + // Check if this is an error message. + const $error = $( '.error', $( obj.selectors.accountMessageContainer ) ); + if ( $error.length > 0 ) { + return; + } + + // Remove the account from the list. + $( this ).remove(); + }; + + /** + * Bind Events for API Account Management. + * + * @since 1.9.0 + * + */ + obj.bindEvents = function() { + $( obj.selectors.apiContainer ) + .on( 'click', obj.selectors.refreshAccount, obj.handleRefreshAccount ) + .on( 'click', obj.selectors.accountStatus, obj.handleAccountStatus ) + .on( 'click', obj.selectors.deleteAccount, obj.handleDeleteAccount ); + }; + + /** + * Handles the initialization of the admin when Document is ready + * + * @since 1.9.0 + * + * @return {void} + */ + obj.ready = function() { + obj.bindEvents(); + }; + + // Configure on document ready + $( obj.ready ); +} )( jQuery, tribe.events.apiSettingsAdmin ); diff --git a/wp-content/plugins/events-calendar-pro/src/resources/js/events-virtual-api-settings.min.js b/wp-content/plugins/events-calendar-pro/src/resources/js/events-virtual-api-settings.min.js new file mode 100644 index 000000000..2ddd2a17a --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/resources/js/events-virtual-api-settings.min.js @@ -0,0 +1,11 @@ +/** + * This JS file was auto-generated via Terser. + * + * Contributors should avoid editing this file, but instead edit the associated + * non minified file file. For more information, check out our engineering docs + * on how we handle JS minification in our engineering docs. + * + * @see: https://evnt.is/dev-docs-minification + */ + +tribe.events=tribe.events||{},tribe.events.apiSettingsAdmin=tribe.events.apiSettingsAdmin||{},function($,obj){obj.selectors={apiContainer:".tec-settings-api-application",accountDetailsContainer:".tec-settings-api-account-details",accountMessageContainer:".tec-api-accounts-messages",accountStatus:".tec-events-virtual-meetings-api-settings-switch__input.account-status",deleteAccount:".tec-settings-api-account-details__delete-account",refreshAccount:".tec-settings-api-account-details__account-refresh"},obj.handleRefreshAccount=function(ev){ev.preventDefault();if(!confirm($(this).data("confirmation")))return;const url=$(this).data("apiRefresh");window.location=url},obj.handleAccountStatus=function(){const $this=$(this),url=$this.data("ajaxStatusUrl");$this.prop("disabled",!0),$.ajax(url,{contentType:"application/json",context:$this,success:obj.onAccountStatusSuccess})},obj.onAccountStatusSuccess=function(html){$(this).closest(obj.selectors.apiContainer).find(obj.selectors.accountMessageContainer).html(html),$(this).prop("disabled",!1);const $accountSettings=$(this).closest(obj.selectors.accountDetailsContainer);$accountSettings.find(obj.selectors.refreshAccount).prop("disabled",(function(i,v){return!v})),$accountSettings.find(obj.selectors.deleteAccount).prop("disabled",(function(i,v){return!v}))},obj.handleDeleteAccount=function(ev){ev.preventDefault();if(!confirm($(this).data("confirmation")))return;const url=$(this).data("ajaxDeleteUrl");$.ajax(url,{contentType:"application/json",context:$(this).closest(obj.selectors.accountDetailsContainer),success:obj.onAccountDeleteSuccess})},obj.onAccountDeleteSuccess=function(html){$(this).closest(obj.selectors.apiContainer).find(obj.selectors.accountMessageContainer).html(html);$(".error",$(obj.selectors.accountMessageContainer)).length>0||$(this).remove()},obj.bindEvents=function(){$(obj.selectors.apiContainer).on("click",obj.selectors.refreshAccount,obj.handleRefreshAccount).on("click",obj.selectors.accountStatus,obj.handleAccountStatus).on("click",obj.selectors.deleteAccount,obj.handleDeleteAccount)},obj.ready=function(){obj.bindEvents()},$(obj.ready)}(jQuery,tribe.events.apiSettingsAdmin); \ No newline at end of file diff --git a/wp-content/plugins/events-calendar-pro/src/resources/js/events-virtual-facebook-settings.js b/wp-content/plugins/events-calendar-pro/src/resources/js/events-virtual-facebook-settings.js new file mode 100644 index 000000000..2dec94d55 --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/resources/js/events-virtual-facebook-settings.js @@ -0,0 +1,563 @@ +/* eslint-disable template-curly-spacing */ +/** + * Makes sure we have all the required levels on the Tribe Object + * + * @since 1.7.0 + * + * @type {PlainObject} + */ +tribe.events = tribe.events || {}; + +/** + * Configures Virtual Events Admin Object on the Global Tribe variable + * + * @since 1.7.0 + * + * @type {PlainObject} + */ +tribe.events.facebookSettingsAdmin = tribe.events.facebookSettingsAdmin || {}; + +( function( $, obj ) { + 'use-strict'; + const $document = $( document ); + obj.GraphVersion = 'v9.0'; + + /** + * Selectors used for configuration and setup + * + * @since 1.7.0 + * + * @type {PlainObject} + */ + obj.selectors = { + messageWrap: '.tec-events-virtual-settings-message__wrap', + facebookContainer: '.tribe-settings-facebook-integration', + facebookSaveApp: '.tribe-settings-facebook-application__connect-container', + facebookSaveAppBtn: '.tribe-settings-facebook-application__connect-button', + facebookPages: '.tribe-settings-facebook-application-pages__container', + facebookPageList: '.tribe-settings-facebook-page-list', + facebookAddPage: '.tribe-events-virtual-meetings-facebook-settings__add-page-button', + facebookPageContainer: '.tribe-settings-facebook-page-details__container', + facebookAppMessageContainer: '.tec-facebook-app-messages', + facebookPageMessageContainer: '.tec-facebook-page-messages', + facebookPageName: '.tribe-settings-facebook-page-details__page-name-input', + facebookPageId: '.tribe-settings-facebook-page-details__page-id-input', + facebookAccessToken: '.tribe-settings-facebook-page-details__page-access-token-input', + facebookClearAccess: '.tribe-settings-facebook-page-details__clear-access', + facebookDeletePage: '.tribe-settings-facebook-page-details__delete-page', + facebookSavePage: '.tribe-settings-facebook-page-details__save-page', + + facebookAppId: 'input[name="tribe_facebook_app_id"]', + facebookAppSecret: 'input[name="tribe_facebook_app_secret"]', + autoDetectPreviewClass: '.tec-virtual-video-embed__facebook', + }; + + /** + * Handles the successful response from the backend to save a Facebook Page. + * + * @since 1.7.0 + * + * @param {string} html The HTML that adds a message on the settings page. + */ + obj.onAppSaveSuccess = function( html ) { + const $message = $( html ).filter( obj.selectors.messageWrap ); + const $facebookPages = $( html ).filter( obj.selectors.facebookPages ); + + $( obj.selectors.facebookAppMessageContainer ).html( $message ); + + if ( 0 === $facebookPages.length ) { + return; + } + + $( obj.selectors.facebookSaveApp ).replaceWith( $facebookPages ); + }; + + /** + * Handles saving the Facebook ID and Secret. + * + * @since 1.7.0 + * + * @param {Event} event The click event. + */ + obj.handleSaveApp = function( event ) { + event.preventDefault(); + + const $this = $( this ); + const url = $this.data( 'ajaxSaveUrl' ); + const facebookAppId = $( obj.selectors.facebookAppId ).val(); + const facebookAppSecret = $( obj.selectors.facebookAppSecret ).val(); + + $.ajax( + url, + { + contentType: 'application/json', + context: $( this ).closest( obj.selectors.facebookContainer ), + data: { + facebook_app_id: facebookAppId, + facebook_app_secret: facebookAppSecret, + }, + success: obj.onAppSaveSuccess, + } + ); + }; + + /** + * Enables saving of a page once there is a page name and page id. + * + * @since 1.7.0 + */ + obj.handleEnableSave = function() { + const $this = $( this ); + const $page = $this.closest( obj.selectors.facebookPageContainer ); + const pageName = $page.find( obj.selectors.facebookPageName ).val(); + const pageId = $page.find( obj.selectors.facebookPageId ).val(); + const $pageSave = $page.find( obj.selectors.facebookSavePage ); + + $pageSave.prop( 'disabled', true ); + if ( pageName && pageId ) { + $pageSave.prop( 'disabled', false ); + } + }; + + /** + * Handles the successful response from the backend to save a Facebook Page. + * + * @since 1.7.0 + * + * @param {string} html The HTML that adds a message and the page fields html. + */ + obj.onPageSaveSuccess = function( html ) { + const $message = $( html ).filter( obj.selectors.messageWrap ); + const $facebookPage = $( html ).filter( obj.selectors.facebookPageContainer ); + + $( obj.selectors.facebookPageMessageContainer ).html( $message ); + + if ( 0 === $facebookPage.length ) { + return; + } + + const localId = $facebookPage.data( 'localId' ); + const existingPage = $document.find( `[data-local-id='${localId}']` ); + existingPage.replaceWith( $facebookPage ); + + // Reload the Facebook buttons. + FB.XFBML.parse(); // eslint-disable-line no-undef + }; + + /** + * Handles saving the Page Name and ID + * + * @since 1.7.0 + * + * @param {Event} event The click event. + */ + obj.handleSavePage = function( event ) { + event.preventDefault(); + + const $this = $( this ); + const url = $this.data( 'ajaxSaveUrl' ); + const $page = $this.closest( obj.selectors.facebookPageContainer ); + const localId = $page.data( 'localId' ); + const pageName = $page.find( obj.selectors.facebookPageName ).val(); + const pageId = $page.find( obj.selectors.facebookPageId ).val(); + const accessToken = $page.find( obj.selectors.facebookAccessToken ).val(); + + $.ajax( + url, + { + contentType: 'application/json', + context: $( this ).closest( obj.selectors.facebookPageContainer ), + data: { + local_id: localId, + page_name: pageName, + page_id: pageId, + access_token: accessToken, + }, + success: obj.onPageSaveSuccess, + } + ); + }; + + /** + * Handles clearing the Faceboook Page name and id. + * + * @since 1.7.0 + * + * @param {Event} event The click event. + */ + obj.handleClearAccess = function( event ) { + event.preventDefault(); + + const $this = $( this ); + const url = $this.attr( 'href' ); + const $facebookPage = $this.closest( obj.selectors.facebookPageContainer ); + const localId = $facebookPage.data( 'localId' ); + const confirmed = confirm( + tribe_events_virtual_facebook_settings_strings.pageClearAccessConfirmation + ); + if ( ! confirmed ) { + return; + } + + $.ajax( + url, + { + contentType: 'application/json', + context: $facebookPage, + data: { + local_id: localId, + }, + success: obj.onPageSaveSuccess, + } + ); + }; + + /** + * Handles the successful response from the backend to delete a Facebook page. + * + * @since 1.7.0 + * + * @param {string} html The HTML that adds a message on the settings page. + */ + obj.onPageDeleteSuccess = function( html ) { + $( obj.selectors.facebookPageMessageContainer ).html( html ); + + // Delete marked Facebook Page wrap. + $( `${ obj.selectors.facebookPageContainer }.to-delete` ).remove(); + }; + + /** + * Handles deleting the Facebook Page. + * + * @since 1.7.0 + * + * @param {Event} event The click event. + */ + obj.handleDeletePage = function( event ) { + event.preventDefault(); + + const $this = $( this ); + const url = $this.data( 'ajaxDeleteUrl' ); + const $facebookPage = $this.closest( obj.selectors.facebookPageContainer ); + const localId = $facebookPage.data( 'localId' ); + const confirmed = confirm( + tribe_events_virtual_facebook_settings_strings.pageDeleteConfirmation + ); + if ( ! confirmed ) { + return; + } + + // Add a class to mark for deletion. + $facebookPage.addClass( 'to-delete' ); + + $.ajax( + url, + { + contentType: 'application/json', + context: $( this ).closest( obj.selectors.facebookPageContainer ), + data: { + local_id: localId, + }, + success: obj.onPageDeleteSuccess, + } + ); + }; + + /** + * Initialize the Facebook SDK. + * + * @since 1.7.0 + * @since 1.7.3 Add check for Facebook App ID. + * + */ + obj.facebookInit = function() { + if ( typeof FB === 'undefined' ) { + return false; + } + + // If no app id on the page load from the localized option. + let facebookAppId = $( obj.selectors.facebookAppId ).val(); + if ( ! facebookAppId || facebookAppId < 1 ) { + facebookAppId = tribe_events_virtual_facebook_settings_strings.facebookAppId; + } + + if ( ! facebookAppId || facebookAppId < 1 ) { + return; + } + + FB.init( { // eslint-disable-line no-undef + appId: facebookAppId, + autoLogAppEvents: true, + xfbml: true, + version: obj.GraphVersion, + } ); + }; + + /** + * Display a message. + * + * @since 1.7.0 + * + * @param {string} message The message to display. + * @param {string} messageClass The class of the message: updated(default) or error. + */ + obj.displayMessage = function( message, messageClass = 'updated' ) { // eslint-disable-line es5/no-default-parameters,max-len + const messageWrap = ` +
                            + ${message} +
                            + `; + + $( obj.selectors.facebookPageMessageContainer ).html( messageWrap ); + }; + + /** + * Handles saving the Page Access Token + * + * @since 1.7.0 + * + * @param {string} localId The local local_id used to save the Facebook Page name and id. + * @param {object} $facebookPage The jQuery object of the Facebook page wrap div being authorized. + * @param {integer} pageId The Facebook page id. + * @param {integer} accessToken The Facebook user long term token. + */ + obj.handleSavePageAccess = function( localId, $facebookPage, pageId, accessToken ) { + const url = $facebookPage.data( 'ajaxSaveAccessUrl' ); + + $.ajax( + url, + { + contentType: 'application/json', + context: $facebookPage, + data: { + local_id: localId, + page_id: pageId, + access_token: accessToken, + }, + success: obj.onPageSaveSuccess, + } + ); + }; + + /** + * Get a Facebook Page access token. + * + * @param {integer} pageId The Facebook page id. + * @param {integer} accessToken The Facebook user long term token. + * @param {object} $facebookPage The jQuery object of the Facebook page wrap div being authorized. + */ + obj.getPageAccessToken = function( pageId, accessToken, $facebookPage ) { + $.ajax( { + url: `https://graph.facebook.com/${pageId}?fields=access_token&access_token=${accessToken}`, + type: 'GET', + dataType: 'json', + success: function( result ) { + if ( 'undefined' === typeof result.access_token ) { + const errorMessage = tribe_events_virtual_facebook_settings_strings.pageTokenFailure; + // no translation of the error so it can be provided to support. + const error = 'no page access token'; + obj.displayMessage( `${errorMessage}: ${error}`, 'error' ); + + return; + } + + $facebookPage.find( obj.selectors.facebookAccessToken ).val( result.access_token ); + obj.handleSavePageAccess( $facebookPage.data( 'localId' ), $facebookPage, pageId, result.access_token ); // eslint-disable-line max-len + }, + error: function( xhr, ajaxOptions, error ) { + const errorMessage = tribe_events_virtual_facebook_settings_strings.pageTokenFailure; + obj.displayMessage( `${errorMessage}: ${error}`, 'error' ); + }, + } ); + }; + + /** + * Get a Facebook user long lived access token. + * + * @since 1.7.0 + * + * @param {string} appId The Facebook app id. + * @param {string} appSecret Teh Facebook app secret. + * @param {string} userAccessToken The short term user access token from Facebook. + * @param {integer} pageId The Facebook page id. + * @param {object} $facebookPage The jQuery object of the Facebook page wrap div being authorized. + */ + obj.getExtendedAccessToken = function( appId, appSecret, userAccessToken, pageId, $facebookPage ) { // eslint-disable-line max-len + if ( + ! appId || + ! appSecret || + ! userAccessToken || + ! pageId || + ! $facebookPage + ) { + const errorMessage = tribe_events_virtual_facebook_settings_strings.userTokenFailure; + // no translation of the error so it can be provided to support. + const error = 'missing parameter'; + obj.displayMessage( `${errorMessage}: ${error}`, 'error' ); + + return; + } + + $.ajax( { + url: `https://graph.facebook.com/oauth/access_token?grant_type=fb_exchange_token&client_id=${appId}&client_secret=${appSecret}&fb_exchange_token=${userAccessToken}`, // eslint-disable-line max-len + type: 'GET', + dataType: 'json', + success: function( result ) { + if ( 'undefined' === typeof result.access_token ) { + const errorMessage = tribe_events_virtual_facebook_settings_strings.userTokenFailure; + // no translation of the error so it can be provided to support. + const error = 'no user access token'; + obj.displayMessage( `${errorMessage}: ${error}`, 'error' ); + + return; + } + + obj.getPageAccessToken( pageId, result.access_token, $facebookPage ); + }, + error: function( xhr, ajaxOptions, error ) { + const errorMessage = tribe_events_virtual_facebook_settings_strings.userTokenFailure; + obj.displayMessage( `${errorMessage}: ${error}`, 'error' ); + }, + } ); + }; + + /** + * Authorization after using Facebook login button. + * + * @since 1.7.0 + * + * @param {string} localId The local local_id used to save the Facebook Page name and id. + */ + obj.facebookAuthorization = function( localId ) { + if ( localId.length < 1 ) { + obj.displayMessage( tribe_events_virtual_facebook_settings_strings.localIdFailure, 'error' ); + + return; + } + + const $facebookPage = $( obj.selectors.facebookContainer ).find( `[data-local-id='${localId}']` ); // eslint-disable-line max-len + if ( 'undefined' === typeof $facebookPage ) { + obj.displayMessage( tribe_events_virtual_facebook_settings_strings.pageWrapFailure, 'error' ); + + return; + } + + FB.getLoginStatus( function( response ) { // eslint-disable-line no-undef + if ( 'connected' !== response.status ) { + obj.displayMessage( tribe_events_virtual_facebook_settings_strings.connectionFailure, 'error' ); // eslint-disable-line max-len + + return; + } + + const userAccessToken = response.authResponse.accessToken; + const facebookAppId = $( obj.selectors.facebookAppId ).val(); + const facebookAppSecret = $( obj.selectors.facebookAppSecret ).val(); + const pageId = $facebookPage.find( obj.selectors.facebookPageId ).val(); + + obj.getExtendedAccessToken( facebookAppId, facebookAppSecret, userAccessToken, pageId, $facebookPage ); // eslint-disable-line max-len + } ); + }; + + /** + * Handles the successful response from the backend to add a Facebook Page fields. + * + * @since 1.7.0 + * + * @param {string} html The HTML that adds a message and the page fields html. + */ + obj.onAddPageSuccess = function( html ) { + const message = $( html ).filter( obj.selectors.messageWrap ); + const pageWrap = $( html ).filter( obj.selectors.facebookPageContainer ); + + $( obj.selectors.facebookPageMessageContainer ).html( message ); + + if ( 0 === pageWrap.length ) { + return; + } + + $( obj.selectors.facebookPageList ).append( pageWrap ); + }; + + /** + * Handles adding a new Facebook Page fields. + * + * @since 1.7.0 + * + * @param {Event} event The click event. + */ + obj.handleAddPage = function( event ) { + event.preventDefault(); + const url = $( this ).attr( 'href' ); + + $.ajax( + url, + { + contentType: 'application/json', + context: $( obj.selectors.facebookPageList ), + success: obj.onAddPageSuccess, + } + ); + }; + + /** + * Handle the Autodetect Response for Facebook Video. + * + * @since 1.8.0 + * + * @param {Event} event The trigger event. + * @param {data} data The data object included with the trigger event. + */ + obj.handleAutoDetectFacebookVideo = function( event, data ) { + if ( ! data.html ) { + return; + } + + const $videoPreview = $( data.html ).filter( obj.selectors.autoDetectPreviewClass ); + if ( 0 === $videoPreview.length ) { + return; + } + + // Initialize the Facebook App to load the video preview. + obj.facebookInit(); + }; + + /** + * Bind the Facebook events. + * + * @since 1.7.0 + */ + obj.bindEvents = function() { + $document + .on( + 'change', + `${ obj.selectors.facebookPageName }, ${ obj.selectors.facebookPageId }`, + obj.handleEnableSave + ) + .on( 'click', obj.selectors.facebookSaveAppBtn, obj.handleSaveApp ) + .on( 'click', obj.selectors.facebookSavePage, obj.handleSavePage ) + .on( 'click', obj.selectors.facebookClearAccess, obj.handleClearAccess ) + .on( 'click', obj.selectors.facebookDeletePage, obj.handleDeletePage ); + $( obj.selectors.facebookContainer ) + .on( 'click', obj.selectors.facebookAddPage, obj.handleAddPage ); + + $document.on( 'autodetect.videoPreview', obj.handleAutoDetectFacebookVideo ); + }; + + /** + * Handles the initialization of the admin when Document is ready + * + * @since 1.7.0 + * + * @return {void} + */ + obj.ready = function() { + obj.bindEvents(); + window.facebookAsyncInit = obj.facebookInit(); + }; + + // Configure on document ready + $( obj.ready ); +} )( jQuery, tribe.events.facebookSettingsAdmin ); diff --git a/wp-content/plugins/events-calendar-pro/src/resources/js/events-virtual-facebook-settings.min.js b/wp-content/plugins/events-calendar-pro/src/resources/js/events-virtual-facebook-settings.min.js new file mode 100644 index 000000000..0b8d73969 --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/resources/js/events-virtual-facebook-settings.min.js @@ -0,0 +1,11 @@ +/** + * This JS file was auto-generated via Terser. + * + * Contributors should avoid editing this file, but instead edit the associated + * non minified file file. For more information, check out our engineering docs + * on how we handle JS minification in our engineering docs. + * + * @see: https://evnt.is/dev-docs-minification + */ + +tribe.events=tribe.events||{},tribe.events.facebookSettingsAdmin=tribe.events.facebookSettingsAdmin||{},function($,obj){const $document=$(document);obj.GraphVersion="v9.0",obj.selectors={messageWrap:".tec-events-virtual-settings-message__wrap",facebookContainer:".tribe-settings-facebook-integration",facebookSaveApp:".tribe-settings-facebook-application__connect-container",facebookSaveAppBtn:".tribe-settings-facebook-application__connect-button",facebookPages:".tribe-settings-facebook-application-pages__container",facebookPageList:".tribe-settings-facebook-page-list",facebookAddPage:".tribe-events-virtual-meetings-facebook-settings__add-page-button",facebookPageContainer:".tribe-settings-facebook-page-details__container",facebookAppMessageContainer:".tec-facebook-app-messages",facebookPageMessageContainer:".tec-facebook-page-messages",facebookPageName:".tribe-settings-facebook-page-details__page-name-input",facebookPageId:".tribe-settings-facebook-page-details__page-id-input",facebookAccessToken:".tribe-settings-facebook-page-details__page-access-token-input",facebookClearAccess:".tribe-settings-facebook-page-details__clear-access",facebookDeletePage:".tribe-settings-facebook-page-details__delete-page",facebookSavePage:".tribe-settings-facebook-page-details__save-page",facebookAppId:'input[name="tribe_facebook_app_id"]',facebookAppSecret:'input[name="tribe_facebook_app_secret"]',autoDetectPreviewClass:".tec-virtual-video-embed__facebook"},obj.onAppSaveSuccess=function(html){const $message=$(html).filter(obj.selectors.messageWrap),$facebookPages=$(html).filter(obj.selectors.facebookPages);$(obj.selectors.facebookAppMessageContainer).html($message),0!==$facebookPages.length&&$(obj.selectors.facebookSaveApp).replaceWith($facebookPages)},obj.handleSaveApp=function(event){event.preventDefault();const url=$(this).data("ajaxSaveUrl"),facebookAppId=$(obj.selectors.facebookAppId).val(),facebookAppSecret=$(obj.selectors.facebookAppSecret).val();$.ajax(url,{contentType:"application/json",context:$(this).closest(obj.selectors.facebookContainer),data:{facebook_app_id:facebookAppId,facebook_app_secret:facebookAppSecret},success:obj.onAppSaveSuccess})},obj.handleEnableSave=function(){const $page=$(this).closest(obj.selectors.facebookPageContainer),pageName=$page.find(obj.selectors.facebookPageName).val(),pageId=$page.find(obj.selectors.facebookPageId).val(),$pageSave=$page.find(obj.selectors.facebookSavePage);$pageSave.prop("disabled",!0),pageName&&pageId&&$pageSave.prop("disabled",!1)},obj.onPageSaveSuccess=function(html){const $message=$(html).filter(obj.selectors.messageWrap),$facebookPage=$(html).filter(obj.selectors.facebookPageContainer);if($(obj.selectors.facebookPageMessageContainer).html($message),0===$facebookPage.length)return;const localId=$facebookPage.data("localId");$document.find(`[data-local-id='${localId}']`).replaceWith($facebookPage),FB.XFBML.parse()},obj.handleSavePage=function(event){event.preventDefault();const $this=$(this),url=$this.data("ajaxSaveUrl"),$page=$this.closest(obj.selectors.facebookPageContainer),localId=$page.data("localId"),pageName=$page.find(obj.selectors.facebookPageName).val(),pageId=$page.find(obj.selectors.facebookPageId).val(),accessToken=$page.find(obj.selectors.facebookAccessToken).val();$.ajax(url,{contentType:"application/json",context:$(this).closest(obj.selectors.facebookPageContainer),data:{local_id:localId,page_name:pageName,page_id:pageId,access_token:accessToken},success:obj.onPageSaveSuccess})},obj.handleClearAccess=function(event){event.preventDefault();const $this=$(this),url=$this.attr("href"),$facebookPage=$this.closest(obj.selectors.facebookPageContainer),localId=$facebookPage.data("localId");confirm(tribe_events_virtual_facebook_settings_strings.pageClearAccessConfirmation)&&$.ajax(url,{contentType:"application/json",context:$facebookPage,data:{local_id:localId},success:obj.onPageSaveSuccess})},obj.onPageDeleteSuccess=function(html){$(obj.selectors.facebookPageMessageContainer).html(html),$(`${obj.selectors.facebookPageContainer}.to-delete`).remove()},obj.handleDeletePage=function(event){event.preventDefault();const $this=$(this),url=$this.data("ajaxDeleteUrl"),$facebookPage=$this.closest(obj.selectors.facebookPageContainer),localId=$facebookPage.data("localId");confirm(tribe_events_virtual_facebook_settings_strings.pageDeleteConfirmation)&&($facebookPage.addClass("to-delete"),$.ajax(url,{contentType:"application/json",context:$(this).closest(obj.selectors.facebookPageContainer),data:{local_id:localId},success:obj.onPageDeleteSuccess}))},obj.facebookInit=function(){if("undefined"==typeof FB)return!1;let facebookAppId=$(obj.selectors.facebookAppId).val();(!facebookAppId||facebookAppId<1)&&(facebookAppId=tribe_events_virtual_facebook_settings_strings.facebookAppId),!facebookAppId||facebookAppId<1||FB.init({appId:facebookAppId,autoLogAppEvents:!0,xfbml:!0,version:obj.GraphVersion})},obj.displayMessage=function(message,messageClass="updated"){const messageWrap=`\n\t\t\t\n\t\t\t\t${message}\n\t\t\t
                            \n\t\t`;$(obj.selectors.facebookPageMessageContainer).html(messageWrap)},obj.handleSavePageAccess=function(localId,$facebookPage,pageId,accessToken){const url=$facebookPage.data("ajaxSaveAccessUrl");$.ajax(url,{contentType:"application/json",context:$facebookPage,data:{local_id:localId,page_id:pageId,access_token:accessToken},success:obj.onPageSaveSuccess})},obj.getPageAccessToken=function(pageId,accessToken,$facebookPage){$.ajax({url:`https://graph.facebook.com/${pageId}?fields=access_token&access_token=${accessToken}`,type:"GET",dataType:"json",success:function(result){if(void 0!==result.access_token)$facebookPage.find(obj.selectors.facebookAccessToken).val(result.access_token),obj.handleSavePageAccess($facebookPage.data("localId"),$facebookPage,pageId,result.access_token);else{const errorMessage=tribe_events_virtual_facebook_settings_strings.pageTokenFailure,error="no page access token";obj.displayMessage(`${errorMessage}: ${error}`,"error")}},error:function(xhr,ajaxOptions,error){const errorMessage=tribe_events_virtual_facebook_settings_strings.pageTokenFailure;obj.displayMessage(`${errorMessage}: ${error}`,"error")}})},obj.getExtendedAccessToken=function(appId,appSecret,userAccessToken,pageId,$facebookPage){if(appId&&appSecret&&userAccessToken&&pageId&&$facebookPage)$.ajax({url:`https://graph.facebook.com/oauth/access_token?grant_type=fb_exchange_token&client_id=${appId}&client_secret=${appSecret}&fb_exchange_token=${userAccessToken}`,type:"GET",dataType:"json",success:function(result){if(void 0!==result.access_token)obj.getPageAccessToken(pageId,result.access_token,$facebookPage);else{const errorMessage=tribe_events_virtual_facebook_settings_strings.userTokenFailure,error="no user access token";obj.displayMessage(`${errorMessage}: ${error}`,"error")}},error:function(xhr,ajaxOptions,error){const errorMessage=tribe_events_virtual_facebook_settings_strings.userTokenFailure;obj.displayMessage(`${errorMessage}: ${error}`,"error")}});else{const errorMessage=tribe_events_virtual_facebook_settings_strings.userTokenFailure,error="missing parameter";obj.displayMessage(`${errorMessage}: ${error}`,"error")}},obj.facebookAuthorization=function(localId){if(localId.length<1)return void obj.displayMessage(tribe_events_virtual_facebook_settings_strings.localIdFailure,"error");const $facebookPage=$(obj.selectors.facebookContainer).find(`[data-local-id='${localId}']`);void 0!==$facebookPage?FB.getLoginStatus((function(response){if("connected"!==response.status)return void obj.displayMessage(tribe_events_virtual_facebook_settings_strings.connectionFailure,"error");const userAccessToken=response.authResponse.accessToken,facebookAppId=$(obj.selectors.facebookAppId).val(),facebookAppSecret=$(obj.selectors.facebookAppSecret).val(),pageId=$facebookPage.find(obj.selectors.facebookPageId).val();obj.getExtendedAccessToken(facebookAppId,facebookAppSecret,userAccessToken,pageId,$facebookPage)})):obj.displayMessage(tribe_events_virtual_facebook_settings_strings.pageWrapFailure,"error")},obj.onAddPageSuccess=function(html){const message=$(html).filter(obj.selectors.messageWrap),pageWrap=$(html).filter(obj.selectors.facebookPageContainer);$(obj.selectors.facebookPageMessageContainer).html(message),0!==pageWrap.length&&$(obj.selectors.facebookPageList).append(pageWrap)},obj.handleAddPage=function(event){event.preventDefault();const url=$(this).attr("href");$.ajax(url,{contentType:"application/json",context:$(obj.selectors.facebookPageList),success:obj.onAddPageSuccess})},obj.handleAutoDetectFacebookVideo=function(event,data){if(!data.html)return;0!==$(data.html).filter(obj.selectors.autoDetectPreviewClass).length&&obj.facebookInit()},obj.bindEvents=function(){$document.on("change",`${obj.selectors.facebookPageName}, ${obj.selectors.facebookPageId}`,obj.handleEnableSave).on("click",obj.selectors.facebookSaveAppBtn,obj.handleSaveApp).on("click",obj.selectors.facebookSavePage,obj.handleSavePage).on("click",obj.selectors.facebookClearAccess,obj.handleClearAccess).on("click",obj.selectors.facebookDeletePage,obj.handleDeletePage),$(obj.selectors.facebookContainer).on("click",obj.selectors.facebookAddPage,obj.handleAddPage),$document.on("autodetect.videoPreview",obj.handleAutoDetectFacebookVideo)},obj.ready=function(){obj.bindEvents(),window.facebookAsyncInit=obj.facebookInit()},$(obj.ready)}(jQuery,tribe.events.facebookSettingsAdmin); \ No newline at end of file diff --git a/wp-content/plugins/events-calendar-pro/src/resources/js/events-virtual-single.js b/wp-content/plugins/events-calendar-pro/src/resources/js/events-virtual-single.js new file mode 100644 index 000000000..f25ed6a38 --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/resources/js/events-virtual-single.js @@ -0,0 +1,59 @@ +/** + * Makes sure we have all the required levels on the Tribe Object + * + * @since 1.8.0 + * + * @type {PlainObject} + */ +tribe.events = tribe.events || {}; + +/** + * Configures Virtual Events Admin Object on the Global Tribe variable + * + * @since 1.8.0 + * + * @type {PlainObject} + */ +tribe.events.virtualSingle = tribe.events.virtualSingle || {}; + +( function( $, obj ) { + 'use-strict'; + obj.GraphVersion = 'v9.0'; + + /** + * Initialize the Facebook SDK. + * + * @since 1.8.0 + */ + obj.facebookInit = function() { + if ( typeof FB === 'undefined' ) { + return false; + } + + const facebookAppId = tribe_events_virtual_settings.facebookAppId; + if ( ! facebookAppId || facebookAppId < 1 ) { + return; + } + + FB.init( { // eslint-disable-line no-undef + appId: facebookAppId, + autoLogAppEvents: true, + xfbml: true, + version: obj.GraphVersion, + } ); + }; + + /** + * Handles the initialization of the admin when Document is ready + * + * @since 1.8.0 + * + * @return {void} + */ + obj.ready = function() { + window.facebookAsyncInit = obj.facebookInit(); + }; + + // Configure on document ready + $( obj.ready ); +} )( jQuery, tribe.events.virtualSingle ); diff --git a/wp-content/plugins/events-calendar-pro/src/resources/js/events-virtual-single.min.js b/wp-content/plugins/events-calendar-pro/src/resources/js/events-virtual-single.min.js new file mode 100644 index 000000000..adc32803e --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/resources/js/events-virtual-single.min.js @@ -0,0 +1,11 @@ +/** + * This JS file was auto-generated via Terser. + * + * Contributors should avoid editing this file, but instead edit the associated + * non minified file file. For more information, check out our engineering docs + * on how we handle JS minification in our engineering docs. + * + * @see: https://evnt.is/dev-docs-minification + */ + +tribe.events=tribe.events||{},tribe.events.virtualSingle=tribe.events.virtualSingle||{},function($,obj){obj.GraphVersion="v9.0",obj.facebookInit=function(){if("undefined"==typeof FB)return!1;const facebookAppId=tribe_events_virtual_settings.facebookAppId;!facebookAppId||facebookAppId<1||FB.init({appId:facebookAppId,autoLogAppEvents:!0,xfbml:!0,version:obj.GraphVersion})},obj.ready=function(){window.facebookAsyncInit=obj.facebookInit()},$(obj.ready)}(jQuery,tribe.events.virtualSingle); \ No newline at end of file diff --git a/wp-content/plugins/events-calendar-pro/src/resources/js/events-virtual-youtube-settings.js b/wp-content/plugins/events-calendar-pro/src/resources/js/events-virtual-youtube-settings.js new file mode 100644 index 000000000..92c2b956d --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/resources/js/events-virtual-youtube-settings.js @@ -0,0 +1,127 @@ +/* eslint-disable no-var */ +/** + * Makes sure we have all the required levels on the Tribe Object + * + * @since 1.6.0 + * + * @type {PlainObject} + */ +tribe.events = tribe.events || {}; + +/** + * Configures Virtual Events Admin Object on the Global Tribe variable + * + * @since 1.6.0 + * + * @type {PlainObject} + */ +tribe.events.youtubeSettingsAdmin = tribe.events.youtubeSettingsAdmin || {}; + +( function( $, obj ) { + 'use-strict'; + + /** + * Selectors used for configuration and setup + * + * @since 1.6.0 + * + * @type {PlainObject} + */ + obj.selectors = { + youtubeContainer: '.tribe-settings-youtube-integration', + youtubeAccordionContainer: '.tribe-events-virtual-meetings-youtube-settings__accordion-wrapper', + youtubeMessageContainer: '.tec-youtube-accounts-messages', + youtubeChannelIdContainer: '.tribe-settings-youtube-integration__channel-id', + youtubeDeleteChannelId: '.tribe-settings-youtube-integration__delete-channel', + }; + + /** + * Bind the YouTube events. + * + * @since 1.6.0 + */ + obj.bindEvents = function() { + $( obj.selectors.youtubeContainer ) + .on( 'click', obj.selectors.youtubeDeleteChannelId, obj.handleDeleteChannelId ); + }; + + /** + * Handles the click to delete a YouTube channel id. + * + * @since 1.6.0 + * + * @param {Event} ev The click event. + */ + obj.handleDeleteChannelId = function( ev ) { + ev.preventDefault(); + + var confirmed = confirm( tribe_events_virtual_youtube_settings_strings.deleteConfirm ); + if ( ! confirmed ) { + return; + } + + var url = $( this ).data( 'ajaxDeleteUrl' ); + + $.ajax( + url, + { + contentType: 'application/json', + context: $( this ).closest( obj.selectors.youtubeChannelIdContainer ), + success: obj.onChannelIdDeleteSuccess, + } + ); + }; + + /** + * Handles the successful response from the backend to delete account request. + * + * @since 1.6.0 + * + * @param {string} html The HTML that adds a message on the settings page. + */ + obj.onChannelIdDeleteSuccess = function( html ) { + $( obj.selectors.youtubeMessageContainer ).html( html ); + + // Check if this is an error message. + var $error = $( '.error', $( obj.selectors.youtubeMessageContainer ) ); + if ( $error.length > 0 ) { + return; + } + + $( obj.selectors.youtubeDeleteChannelId ).prop( 'disabled', function( i, v ) { + return ! v; + } ); + + // Clear value on successful delete. + $( this ).find( 'input' ).val( '' ); + }; + + /** + * Initializes the default settings accordion + * + * @since 1.6.0 + */ + obj.initSettingsAccordion = function() { + if ( ! tribe.events.views.accordion ) { + return; + } + + var accordion = tribe.events.views.accordion; + accordion.bindAccordionEvents( $( obj.selectors.youtubeAccordionContainer ) ); + }; + + /** + * Handles the initialization of the admin when Document is ready + * + * @since 1.6.0 + * + * @return {void} + */ + obj.ready = function() { + obj.bindEvents(); + obj.initSettingsAccordion(); + }; + + // Configure on document ready + $( obj.ready ); +} )( jQuery, tribe.events.youtubeSettingsAdmin ); diff --git a/wp-content/plugins/events-calendar-pro/src/resources/js/events-virtual-youtube-settings.min.js b/wp-content/plugins/events-calendar-pro/src/resources/js/events-virtual-youtube-settings.min.js new file mode 100644 index 000000000..3331be43c --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/resources/js/events-virtual-youtube-settings.min.js @@ -0,0 +1,11 @@ +/** + * This JS file was auto-generated via Terser. + * + * Contributors should avoid editing this file, but instead edit the associated + * non minified file file. For more information, check out our engineering docs + * on how we handle JS minification in our engineering docs. + * + * @see: https://evnt.is/dev-docs-minification + */ + +tribe.events=tribe.events||{},tribe.events.youtubeSettingsAdmin=tribe.events.youtubeSettingsAdmin||{},function($,obj){obj.selectors={youtubeContainer:".tribe-settings-youtube-integration",youtubeAccordionContainer:".tribe-events-virtual-meetings-youtube-settings__accordion-wrapper",youtubeMessageContainer:".tec-youtube-accounts-messages",youtubeChannelIdContainer:".tribe-settings-youtube-integration__channel-id",youtubeDeleteChannelId:".tribe-settings-youtube-integration__delete-channel"},obj.bindEvents=function(){$(obj.selectors.youtubeContainer).on("click",obj.selectors.youtubeDeleteChannelId,obj.handleDeleteChannelId)},obj.handleDeleteChannelId=function(ev){if(ev.preventDefault(),confirm(tribe_events_virtual_youtube_settings_strings.deleteConfirm)){var url=$(this).data("ajaxDeleteUrl");$.ajax(url,{contentType:"application/json",context:$(this).closest(obj.selectors.youtubeChannelIdContainer),success:obj.onChannelIdDeleteSuccess})}},obj.onChannelIdDeleteSuccess=function(html){$(obj.selectors.youtubeMessageContainer).html(html),$(".error",$(obj.selectors.youtubeMessageContainer)).length>0||($(obj.selectors.youtubeDeleteChannelId).prop("disabled",(function(i,v){return!v})),$(this).find("input").val(""))},obj.initSettingsAccordion=function(){tribe.events.views.accordion&&tribe.events.views.accordion.bindAccordionEvents($(obj.selectors.youtubeAccordionContainer))},obj.ready=function(){obj.bindEvents(),obj.initSettingsAccordion()},$(obj.ready)}(jQuery,tribe.events.youtubeSettingsAdmin); \ No newline at end of file diff --git a/wp-content/plugins/events-calendar-pro/src/resources/js/events-virtual-zoom-admin.js b/wp-content/plugins/events-calendar-pro/src/resources/js/events-virtual-zoom-admin.js new file mode 100644 index 000000000..fdccad88f --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/resources/js/events-virtual-zoom-admin.js @@ -0,0 +1,503 @@ +/** + * Makes sure we have all the required levels on the Tribe Object + * + * @since 1.0.0 + * + * @type {PlainObject} + */ +window.tribe = window.tribe || {}; +tribe.events = tribe.events || {}; +tribe.events.views = tribe.events.views || {}; + +/** + * Configures Virtual Events Admin Object on the Global Tribe variable + * + * @since 1.0.0 + * + * @type {PlainObject} + */ +tribe.events.virtualAdmin = tribe.events.virtualAdmin || {}; + +/** + * Configures Virtual Events Admin Object on the Global Tribe variable + * + * @since 1.0.0 + * @deprecated 1.9.0 - Replaced with tribe.events.virtualAdminAPI + * + * @type {PlainObject} + */ +tribe.events.virtualAdminZoom = tribe.events.virtualAdminZoom || {}; + +/** + * Initializes in a Strict env the code that manages the Event Views + * + * @since 1.0.0 + * + * @param {PlainObject} $ jQuery + * @param {PlainObject} obj tribe.events.virtualAdminZoom + * @param {PlainObject} virtualAdmin tribe.events.virtualAdmin + * + * @return {void} + */ +( function( $, obj, virtualAdmin, tribe_dropdowns ) { + 'use-strict'; + var $document = $( document ); + + /** + * Selectors used for configuration and setup + * + * @since 1.0.0 + * + * @type {PlainObject} + */ + obj.selectors = { + configureZoom: '.tribe-events-virtual-meetings-zoom-details__generate-zoom-button', + displayLinkOption: '#tribe-events-virtual-meetings-zoom-display-details', + embedVideoOption: '#tribe-events-virtual-embed-video', + hidden: '.tribe-events-virtual-hidden', + linkedButtonOption: '#tribe-events-virtual-linked-button', + accountSelect: '.tribe-events-virtual-meetings-zoom-details__account-select-link', + hostsDropdown: '#tribe-events-virtual-zoom-host', + createOptions: '.tribe-events-virtual-meetings-zoom-details__types', + meetingHostsDropdown: '#tribe-events-virtual-zoom-host', + meetingCreate: '.tribe-events-virtual-meetings-zoom-details__create-link', + meetingDetails: '.tribe-events-virtual-meetings-zoom-details', + meetingDetailsFloat: '.tribe-events-virtual-meetings-zoom-details--float', + meetingRemove: '.tribe-events-virtual-meetings-zoom-details__remove-link', + remove: '.tribe-remove-virtual-event', + setupZoomCheckbox: '#tribe-events-virtual-zoom-link-generate', + urlField: '.tribe-events-virtual-video-source__virtual-url-input', + videoSource: '#tribe-events-virtual-video-source', + virtualContainer: '#tribe-virtual-events', + zoomMeetingsContainer: '#tribe-events-virtual-meetings-zoom', + zoomType: 'input[name="tribe-events-virtual[zoom-meeting-type]"]:checked', + zoomLoader: '.tribe-common-c-loader', + zoomHiddenElement: '.tribe-common-a11y-hidden', + zoomMessagesWrap: '.tec-events-virtual-video-source-zoom-setup__messages-wrap', + zoomMessage: '.tec-events-virtual-settings-message__wrap', + }; + + /** + * Original state of the UI controls related to Zoom meetings. + * + * @since 1.0.0 + * + * @type {PlainObject} + */ + obj.originalState = { + linkedButtonOption: { + checked: $( obj.selectors.linkedButtonOption ).prop( 'checked' ), + }, + }; + + /** + * State of the UI controls related to Zoom meeting. + * + * @since 1.0.0 + * + * @type {PlainObject} + */ + obj.state = { + urlField: { + value: '', + }, + }; + + /** + * Handles the click on a link to generate a meeting. + * + * @since 1.0.0 + * @since 1.4.0 - Include host id with the ajax request. + * + * @param {Event} ev The click event. + */ + obj.handleAccountSelection = function( ev ) { + ev.preventDefault(); + var url = $( ev.target ).attr( 'href' ); + var accountId = $( '#tribe-events-virtual-zoom-account option:selected' ).val(); + + obj.show( $( obj.selectors.zoomMeetingsContainer ) ); + + $.ajax( + url, + { + contentType: 'application/json', + context: $( obj.selectors.zoomMeetingsContainer ), + data: { + zoom_account_id: accountId, + }, + success: obj.onMeetingHandlingSuccess, + } + ); + }; + + /** + * Handles the selection of the host dropdown validation. + * + * @since 1.8.2 + * + * @param {Event} ev The click event. + */ + obj.handleUserValidation = function( ev ) { + ev.preventDefault(); + var url = $( obj.selectors.hostsDropdown ).data('validateUrl'); + var hostId = $( obj.selectors.hostsDropdown ).find( 'option:selected' ).val(); + var accountId = $( obj.selectors.zoomMeetingsContainer ).data( 'accountId' ); + if ( ! url || ! hostId || ! accountId ) { + return; + } + + obj.show( $( obj.selectors.zoomMeetingsContainer ) ); + + $.ajax( + url, + { + contentType: 'application/json', + context: $( obj.selectors.createOptions ), + data: { + zoom_account_id: accountId, + zoom_host_id: hostId, + }, + success: obj.onMeetingValidateUserSuccess, + } + ); + }; + + /** + * Handles the successful response from the backend to a user validation request. + * + * @since 1.8.2 + * + * @param {string} html The HTML that should replace the current meeting selection. + */ + obj.onMeetingValidateUserSuccess = function( html ) { + obj.hide( $( obj.selectors.zoomMeetingsContainer ) ); + + const $message = $( html ).filter( obj.selectors.zoomMessage ); + const $createOptions = $( html ).filter( obj.selectors.createOptions ); + + $( obj.selectors.zoomMessagesWrap ).html( $message ); + + if ( 0 === $createOptions.length ) { + return; + } + + $( obj.selectors.createOptions ).replaceWith( $createOptions ); + }; + + /** + * Handles the click on a link to generate a meeting. + * + * @since 1.0.0 + * @since 1.4.0 - Include host id with the ajax request. + * + * @param {Event} ev The click event. + */ + obj.handleMeetingRequest = function( ev ) { + ev.preventDefault(); + var url = $( obj.selectors.zoomType ).val(); + var hostId = $( obj.selectors.hostsDropdown ).find( 'option:selected' ).val(); + var accountId = $( obj.selectors.zoomMeetingsContainer ).data( 'accountId' ); + + obj.show( $( obj.selectors.zoomMeetingsContainer ) ); + + $.ajax( + url, + { + contentType: 'application/json', + context: $( obj.selectors.zoomMeetingsContainer ), + data: { + zoom_host_id: hostId, + zoom_account_id: accountId, + }, + success: obj.onMeetingHandlingSuccess, + } + ); + }; + + /** + * Handles the click on a link to remove a meeting. + * + * @since 1.4.0 + * @since 1.5.0 - Add confirmation check and move ajax call to it's own method. + * + * @param {Event} ev The click event. + */ + obj.handleRemoveRequest = function( ev ) { + ev.preventDefault(); + + var confirmed = confirm( tribe_events_virtual_placeholder_strings.removeConfirm ); + if ( ! confirmed ) { + return; + } + + var url = $( ev.target ).attr( 'href' ); + if ( ! url ) { + return; + } + + obj.removeRequestAjax( url ); + }; + + /** + * Ajax call to remove Zoom details from Event. + * + * @param {string} url The url to make the ajax call. + */ + obj.removeRequestAjax = function( url ) { + $.ajax( + url, + { + contentType: 'application/json', + context: $( obj.selectors.zoomMeetingsContainer ), + success: obj.onMeetingHandlingSuccess, + } + ); + }; + + /** + * Handles the successful response from the backend to a meeting-related request. + * + * @since 1.0.0 + * @since 1.6.0 - Support for video sources dropdown. + * + * @param {string} html The HTML that should replace the current meeting controls HTML. + */ + obj.onMeetingHandlingSuccess = function( html ) { + $( obj.selectors.zoomMeetingsContainer ).replaceWith( html ); + obj.setupControls(); + obj.checkButtons(); + obj.initTribeDropdowns(); + $( virtualAdmin.selectors.videoSource ).trigger( 'verify.dependency' ); + + if ( + virtualAdmin.handleShowOptionInteractivity && + typeof virtualAdmin.handleShowOptionInteractivity === 'function' + ) { + virtualAdmin.handleShowOptionInteractivity(); + } + }; + + /** + * Handle the Autodetect Response for Zoom. + * + * @since 1.8.0 + * + * @param {Event} event The trigger event. + * @param {data} data The data object included with the trigger event. + */ + obj.handleAutoDetectZoom = function( event, data ) { + if ( ! data.html ) { + return; + } + + const $meetingDetails = $( data.html ).filter( obj.selectors.zoomMeetingsContainer ); + if ( 0 === $meetingDetails.length ) { + return; + } + + $( obj.selectors.zoomMeetingsContainer ).html( $meetingDetails ); + obj.setupControls(); + obj.checkButtons(); + obj.initTribeDropdowns(); + $( virtualAdmin.selectors.videoSource ) + .val('zoom') + .trigger('change') + .trigger( 'verify.dependency' ); + + if ( + virtualAdmin.handleShowOptionInteractivity && + typeof virtualAdmin.handleShowOptionInteractivity === 'function' + ) { + virtualAdmin.handleShowOptionInteractivity(); + } + }; + + /** + * Wait for Virtual Events to become visible to correctly setup fields. + * + * @since 1.4.0 + * @since 1.6.0 - Support for video sources dropdown. + */ + obj.waitForVirtualEventsToLoad = function() { + var counter = 10; + var checkExist = setInterval( function() { + counter--; + if ( $( obj.selectors.meetingDetails ).length || counter === 0 ) { + clearInterval( checkExist ); + } + }, 200 ); + }; + + /** + * Ensures that when we delete the virtual meta, we also delete the Meeting meta/details. + * + * @since 1.0.0 + * @since 1.5.0 - modify to call ajax remove method directly to bypass new confirmation. + * + */ + obj.handleLinkedMetaRemove = function() { + var url = $( obj.selectors.meetingRemove ).attr( 'href' ); + if ( ! url ) { + return; + } + + obj.removeRequestAjax( url ); + }; + + /** + * Bind events for virtual events admin. + * + * @since 1.0.0 + * + * @return {void} + */ + obj.bindEvents = function() { + $( obj.selectors.virtualContainer ) + .on( 'click', obj.selectors.configureZoom, obj.setZoomCheckboxCheckedAttr( true ) ) + .on( 'click', obj.selectors.accountSelect, obj.handleAccountSelection ) + .on( 'click', obj.selectors.meetingCreate, obj.handleMeetingRequest ) + .on( 'click', obj.selectors.meetingRemove, obj.handleRemoveRequest ); + $document.on( 'virtual.delete', obj.handleLinkedMetaRemove ); + $document.on( 'autodetect.complete', obj.handleAutoDetectZoom ); + $document.on( 'change', obj.selectors.meetingHostsDropdown, obj.handleUserValidation ); + }; + + /** + * Check both the "Linked Button" and "Zoom Link w/ details" options. + * + * @since 1.0.0 + * + * @return {void} + */ + obj.checkButtons = function() { + var $displayLinkOption = $( obj.selectors.displayLinkOption ); + var $linkedButtonOption = $( obj.selectors.linkedButtonOption ); + + $linkedButtonOption.prop( 'checked', true ); + $displayLinkOption.prop( 'checked', true ); + }; + + /** + * Sets up the UI controls in accord w/ the current Zoom Meeting details state. + * + * @since 1.0.0 + * + * @return {void} + */ + obj.setupControls = function() { + var $urlField = $( obj.selectors.urlField ); + var $embedVideoOptionItem = $( obj.selectors.embedVideoOption ).closest( 'li' ); + var $displayLinkOptionItem = $( obj.selectors.displayLinkOption ).closest( 'li' ); + var $linkedButtonOption = $( obj.selectors.linkedButtonOption ); + + if ( $( obj.selectors.meetingDetails ).length ) { + // Hide the "Embed Video" option. + $embedVideoOptionItem.addClass( obj.selectors.hidden.className() ); + // Show the Zoom link display option. + $displayLinkOptionItem.removeClass( obj.selectors.hidden.className() ); + // Store URL field value in state. + obj.state.urlField.value = $urlField.val(); + $urlField.val( '' ); + } else { + // Enable the URL field. + $urlField + .prop( { disabled: false } ) + .attr( + 'placeholder', + tribe_events_virtual_placeholder_strings.video + ); + // Show the "Embed Video" option. + $embedVideoOptionItem.removeClass( obj.selectors.hidden.className() ); + // Hide the Zoom link display option. + $displayLinkOptionItem.addClass( obj.selectors.hidden.className() ); + // Restore the status of the "Linked Button" option to its original state. + $linkedButtonOption.prop( 'checked', obj.originalState.linkedButtonOption.checked ); + // Restore URL field value from state. + $urlField.val( obj.state.urlField.value ); + obj.state.urlField.value = ''; + } + }; + + /** + * Initialize Tribe Dropdowns in the Meeting Container. + * + * @since 1.4.0 + */ + obj.initTribeDropdowns = function() { + var $zoomMeetingContainer = $( document ).find( obj.selectors.zoomMeetingsContainer ); + var $dropdowns = $zoomMeetingContainer + .find( tribe_dropdowns.selector.dropdown ) + .not( tribe_dropdowns.selector.created ); + + // Initialize dropdowns + $dropdowns.tribe_dropdowns(); + }; + + /** + * Sets checkbox checked attribute + * + * @since 1.4.0 + * + * @param {boolean} checked whether the checkbox is checked or not + * + * @return {function} Handler to check the checkbox or not + */ + obj.setZoomCheckboxCheckedAttr = function( checked ) { + return function() { + $( obj.selectors.setupZoomCheckbox ) + .prop( 'checked', checked ) + .trigger( 'verify.dependency' ); + }; + }; + + /** + * Show loader for the container. + * + * @since 1.8.2 + * + * @param {jQuery} $container jQuery object of the container. + * + * @return {void} + */ + obj.show = function( $container ) { + const $loader = $container.find( obj.selectors.zoomLoader ); + + if ( $loader.length ) { + $loader.removeClass( obj.selectors.zoomHiddenElement.className() ); + } + }; + + /** + * Hide loader for the container. + * + * @since 1.8.2 + * + * @param {jQuery} $container jQuery object of the container. + * + * @return {void} + */ + obj.hide = function( $container ) { + const $loader = $container.find( obj.selectors.zoomLoader ); + + if ( $loader.length ) { + $loader.addClass( obj.selectors.zoomHiddenElement.className() ); + } + }; + + /** + * Handles the initialization of the admin when Document is ready + * + * @since 1.0.0 + * @deprecated 1.9.0 - Replaced with tribe.events.virtualAdminAPI + * + * @return {void} + */ + obj.ready = function() { + console.info( 'Scripts deprecated and replaced with tribe.events.virtualAdminAPI.' ); // eslint-disable-line no-console, max-len + obj.bindEvents(); + }; + + // Configure on document ready + $( obj.ready ); +} )( jQuery, tribe.events.virtualAdminZoom, tribe.events.virtualAdmin, tribe_dropdowns ); diff --git a/wp-content/plugins/events-calendar-pro/src/resources/js/events-virtual-zoom-admin.min.js b/wp-content/plugins/events-calendar-pro/src/resources/js/events-virtual-zoom-admin.min.js new file mode 100644 index 000000000..0977f47b6 --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/resources/js/events-virtual-zoom-admin.min.js @@ -0,0 +1,11 @@ +/** + * This JS file was auto-generated via Terser. + * + * Contributors should avoid editing this file, but instead edit the associated + * non minified file file. For more information, check out our engineering docs + * on how we handle JS minification in our engineering docs. + * + * @see: https://evnt.is/dev-docs-minification + */ + +window.tribe=window.tribe||{},tribe.events=tribe.events||{},tribe.events.views=tribe.events.views||{},tribe.events.virtualAdmin=tribe.events.virtualAdmin||{},tribe.events.virtualAdminZoom=tribe.events.virtualAdminZoom||{},function($,obj,virtualAdmin,tribe_dropdowns){var $document=$(document);obj.selectors={configureZoom:".tribe-events-virtual-meetings-zoom-details__generate-zoom-button",displayLinkOption:"#tribe-events-virtual-meetings-zoom-display-details",embedVideoOption:"#tribe-events-virtual-embed-video",hidden:".tribe-events-virtual-hidden",linkedButtonOption:"#tribe-events-virtual-linked-button",accountSelect:".tribe-events-virtual-meetings-zoom-details__account-select-link",hostsDropdown:"#tribe-events-virtual-zoom-host",createOptions:".tribe-events-virtual-meetings-zoom-details__types",meetingHostsDropdown:"#tribe-events-virtual-zoom-host",meetingCreate:".tribe-events-virtual-meetings-zoom-details__create-link",meetingDetails:".tribe-events-virtual-meetings-zoom-details",meetingDetailsFloat:".tribe-events-virtual-meetings-zoom-details--float",meetingRemove:".tribe-events-virtual-meetings-zoom-details__remove-link",remove:".tribe-remove-virtual-event",setupZoomCheckbox:"#tribe-events-virtual-zoom-link-generate",urlField:".tribe-events-virtual-video-source__virtual-url-input",videoSource:"#tribe-events-virtual-video-source",virtualContainer:"#tribe-virtual-events",zoomMeetingsContainer:"#tribe-events-virtual-meetings-zoom",zoomType:'input[name="tribe-events-virtual[zoom-meeting-type]"]:checked',zoomLoader:".tribe-common-c-loader",zoomHiddenElement:".tribe-common-a11y-hidden",zoomMessagesWrap:".tec-events-virtual-video-source-zoom-setup__messages-wrap",zoomMessage:".tec-events-virtual-settings-message__wrap"},obj.originalState={linkedButtonOption:{checked:$(obj.selectors.linkedButtonOption).prop("checked")}},obj.state={urlField:{value:""}},obj.handleAccountSelection=function(ev){ev.preventDefault();var url=$(ev.target).attr("href"),accountId=$("#tribe-events-virtual-zoom-account option:selected").val();obj.show($(obj.selectors.zoomMeetingsContainer)),$.ajax(url,{contentType:"application/json",context:$(obj.selectors.zoomMeetingsContainer),data:{zoom_account_id:accountId},success:obj.onMeetingHandlingSuccess})},obj.handleUserValidation=function(ev){ev.preventDefault();var url=$(obj.selectors.hostsDropdown).data("validateUrl"),hostId=$(obj.selectors.hostsDropdown).find("option:selected").val(),accountId=$(obj.selectors.zoomMeetingsContainer).data("accountId");url&&hostId&&accountId&&(obj.show($(obj.selectors.zoomMeetingsContainer)),$.ajax(url,{contentType:"application/json",context:$(obj.selectors.createOptions),data:{zoom_account_id:accountId,zoom_host_id:hostId},success:obj.onMeetingValidateUserSuccess}))},obj.onMeetingValidateUserSuccess=function(html){obj.hide($(obj.selectors.zoomMeetingsContainer));const $message=$(html).filter(obj.selectors.zoomMessage),$createOptions=$(html).filter(obj.selectors.createOptions);$(obj.selectors.zoomMessagesWrap).html($message),0!==$createOptions.length&&$(obj.selectors.createOptions).replaceWith($createOptions)},obj.handleMeetingRequest=function(ev){ev.preventDefault();var url=$(obj.selectors.zoomType).val(),hostId=$(obj.selectors.hostsDropdown).find("option:selected").val(),accountId=$(obj.selectors.zoomMeetingsContainer).data("accountId");obj.show($(obj.selectors.zoomMeetingsContainer)),$.ajax(url,{contentType:"application/json",context:$(obj.selectors.zoomMeetingsContainer),data:{zoom_host_id:hostId,zoom_account_id:accountId},success:obj.onMeetingHandlingSuccess})},obj.handleRemoveRequest=function(ev){if(ev.preventDefault(),confirm(tribe_events_virtual_placeholder_strings.removeConfirm)){var url=$(ev.target).attr("href");url&&obj.removeRequestAjax(url)}},obj.removeRequestAjax=function(url){$.ajax(url,{contentType:"application/json",context:$(obj.selectors.zoomMeetingsContainer),success:obj.onMeetingHandlingSuccess})},obj.onMeetingHandlingSuccess=function(html){$(obj.selectors.zoomMeetingsContainer).replaceWith(html),obj.setupControls(),obj.checkButtons(),obj.initTribeDropdowns(),$(virtualAdmin.selectors.videoSource).trigger("verify.dependency"),virtualAdmin.handleShowOptionInteractivity&&"function"==typeof virtualAdmin.handleShowOptionInteractivity&&virtualAdmin.handleShowOptionInteractivity()},obj.handleAutoDetectZoom=function(event,data){if(!data.html)return;const $meetingDetails=$(data.html).filter(obj.selectors.zoomMeetingsContainer);0!==$meetingDetails.length&&($(obj.selectors.zoomMeetingsContainer).html($meetingDetails),obj.setupControls(),obj.checkButtons(),obj.initTribeDropdowns(),$(virtualAdmin.selectors.videoSource).val("zoom").trigger("change").trigger("verify.dependency"),virtualAdmin.handleShowOptionInteractivity&&"function"==typeof virtualAdmin.handleShowOptionInteractivity&&virtualAdmin.handleShowOptionInteractivity())},obj.waitForVirtualEventsToLoad=function(){var counter=10,checkExist=setInterval((function(){counter--,($(obj.selectors.meetingDetails).length||0===counter)&&clearInterval(checkExist)}),200)},obj.handleLinkedMetaRemove=function(){var url=$(obj.selectors.meetingRemove).attr("href");url&&obj.removeRequestAjax(url)},obj.bindEvents=function(){$(obj.selectors.virtualContainer).on("click",obj.selectors.configureZoom,obj.setZoomCheckboxCheckedAttr(!0)).on("click",obj.selectors.accountSelect,obj.handleAccountSelection).on("click",obj.selectors.meetingCreate,obj.handleMeetingRequest).on("click",obj.selectors.meetingRemove,obj.handleRemoveRequest),$document.on("virtual.delete",obj.handleLinkedMetaRemove),$document.on("autodetect.complete",obj.handleAutoDetectZoom),$document.on("change",obj.selectors.meetingHostsDropdown,obj.handleUserValidation)},obj.checkButtons=function(){var $displayLinkOption=$(obj.selectors.displayLinkOption);$(obj.selectors.linkedButtonOption).prop("checked",!0),$displayLinkOption.prop("checked",!0)},obj.setupControls=function(){var $urlField=$(obj.selectors.urlField),$embedVideoOptionItem=$(obj.selectors.embedVideoOption).closest("li"),$displayLinkOptionItem=$(obj.selectors.displayLinkOption).closest("li"),$linkedButtonOption=$(obj.selectors.linkedButtonOption);$(obj.selectors.meetingDetails).length?($embedVideoOptionItem.addClass(obj.selectors.hidden.className()),$displayLinkOptionItem.removeClass(obj.selectors.hidden.className()),obj.state.urlField.value=$urlField.val(),$urlField.val("")):($urlField.prop({disabled:!1}).attr("placeholder",tribe_events_virtual_placeholder_strings.video),$embedVideoOptionItem.removeClass(obj.selectors.hidden.className()),$displayLinkOptionItem.addClass(obj.selectors.hidden.className()),$linkedButtonOption.prop("checked",obj.originalState.linkedButtonOption.checked),$urlField.val(obj.state.urlField.value),obj.state.urlField.value="")},obj.initTribeDropdowns=function(){$(document).find(obj.selectors.zoomMeetingsContainer).find(tribe_dropdowns.selector.dropdown).not(tribe_dropdowns.selector.created).tribe_dropdowns()},obj.setZoomCheckboxCheckedAttr=function(checked){return function(){$(obj.selectors.setupZoomCheckbox).prop("checked",checked).trigger("verify.dependency")}},obj.show=function($container){const $loader=$container.find(obj.selectors.zoomLoader);$loader.length&&$loader.removeClass(obj.selectors.zoomHiddenElement.className())},obj.hide=function($container){const $loader=$container.find(obj.selectors.zoomLoader);$loader.length&&$loader.addClass(obj.selectors.zoomHiddenElement.className())},obj.ready=function(){console.info("Scripts deprecated and replaced with tribe.events.virtualAdminAPI."),obj.bindEvents()},$(obj.ready)}(jQuery,tribe.events.virtualAdminZoom,tribe.events.virtualAdmin,tribe_dropdowns); \ No newline at end of file diff --git a/wp-content/plugins/events-calendar-pro/src/resources/js/events-virtual-zoom-settings.js b/wp-content/plugins/events-calendar-pro/src/resources/js/events-virtual-zoom-settings.js new file mode 100644 index 000000000..cc3cac231 --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/resources/js/events-virtual-zoom-settings.js @@ -0,0 +1,213 @@ +/** + * Makes sure we have all the required levels on the Tribe Object + * + * @since 1.0.1 + * @deprecated 1.9.0 - Replaced with tribe.events.apiSettingsAdmin + * + * @type {PlainObject} + */ +tribe.events = tribe.events || {}; + +/** + * Configures Virtual Events Admin Object on the Global Tribe variable + * + * @since 1.0.1 + * @deprecated 1.9.0 - Replaced with tribe.events.apiSettingsAdmin + * + * @type {PlainObject} + */ +tribe.events.zoomSettingsAdmin = tribe.events.zoomSettingsAdmin || {}; + +( function( $, obj ) { + 'use-strict'; + + /** + * Selectors used for configuration and setup + * + * @since 1.0.1 + * + * @type {PlainObject} + */ + obj.selectors = { + authorizedClass: 'tribe-zoom-authorized', + clientIdInput: '#zoom-application__client-id', + clientSecretInput: '#zoom-application__client-secret', + refreshAccount: '.tribe-settings-zoom-account-details__account-refresh', + accountStatus: '.tribe-events-virtual-meetings-zoom-settings-switch__input.account-status', + deleteAccount: '.tribe-settings-zoom-account-details__delete-account', + accountDetailsContainer: '.tribe-settings-zoom-account-details', + accountMessageContainer: '.tec-zoom-accounts-messages', + virtualContainer: '#tribe-settings-zoom-application', + zoomToken: '#tribe-field-zoom_token', + }; + + obj.handleConnectButton = function() { + const clientId = $( obj.selectors.clientIdInput ).val(); + const clientSecret = $( obj.selectors.clientSecretInput ).val(); + + const nonce = $( obj.selectors.virtualContainer ).attr( 'data-nonce' ); + const data = { + action: 'events_virtual_meetings_zoom_autosave_client_keys', + clientId: clientId, + clientSecret: clientSecret, + security: nonce, + }; + + $.ajax( { + type: 'post', + url: ajaxurl, + dataType: 'text/html', + data: data, + } ) + .always( obj.swapConnectButton ); + }; + + obj.swapConnectButton = function( response ) { + if ( 'undefined' === typeof response.responseText ) { + return; + } + + const html = response.responseText; + $( obj.selectors.zoomToken ).find( '.tribe-field-wrap' ).html( html ); + }; + + obj.bindEvents = function() { + if ( $( obj.selectors.virtualContainer ).hasClass( obj.selectors.authorizedClass ) ) { + return; + } + + $( obj.selectors.virtualContainer ) + .on( 'click', obj.selectors.refreshAccount, obj.handleRefreshAccount ) + .on( 'click', obj.selectors.accountStatus, obj.handleAccountStatus ) + .on( 'click', obj.selectors.deleteAccount, obj.handleDeleteAccount ) + .on( 'blur', obj.selectors.clientIdInput, obj.handleConnectButton ) + .on( 'blur', obj.selectors.clientSecretInput, obj.handleConnectButton ); + }; + + /** + * Handles the click to refresh an account + * + * @since 1.5.0 + * + * @param {Event} ev The click event. + */ + obj.handleRefreshAccount = function( ev ) { + ev.preventDefault(); + + var confirmed = confirm( tribe_events_virtual_settings_strings.refreshConfirm ); + if ( ! confirmed ) { + return; + } + + var url = $( this ).data( 'zoomRefresh' ); + window.location = url; + }; + + /** + * Handles the click to change the account status. + * + * @since 1.5.0 + */ + obj.handleAccountStatus = function() { + var $this = $( this ); + var url = $this.data( 'ajaxStatusUrl' ); + + // Disable the status switch. + $this.prop( 'disabled', true ); + + $.ajax( + url, + { + contentType: 'application/json', + context: $this, + success: obj.onAccountStatusSuccess, + } + ); + }; + + /** + * Handles the successful response from the backend to account status request. + * + * @since 1.5.0 + * + * @param {string} html The HTML that adds a message on the settings page. + */ + obj.onAccountStatusSuccess = function( html ) { + $( obj.selectors.accountMessageContainer ).html( html ); + + // Enable the status switch. + $( this ).prop( 'disabled', false ); + + // Change the disable state of the refresh and delete buttons. + var $accountSettings = $( this ).closest( obj.selectors.accountDetailsContainer ); + $accountSettings.find( obj.selectors.refreshAccount ).prop( 'disabled', function( i, v ) { + return ! v; + } ); + $accountSettings.find( obj.selectors.deleteAccount ).prop( 'disabled', function( i, v ) { + return ! v; + } ); + }; + + /** + * Handles the click to delete an account. + * + * @since 1.5.0 + * + * @param {Event} ev The click event. + */ + obj.handleDeleteAccount = function( ev ) { + ev.preventDefault(); + + var confirmed = confirm( tribe_events_virtual_settings_strings.deleteConfirm ); + if ( ! confirmed ) { + return; + } + + var url = $( this ).data( 'ajaxDeleteUrl' ); + + $.ajax( + url, + { + contentType: 'application/json', + context: $( this ).closest( obj.selectors.accountDetailsContainer ), + success: obj.onAccountDeleteSuccess, + } + ); + }; + + /** + * Handles the successful response from the backend to delete account request. + * + * @since 1.5.0 + * + * @param {string} html The HTML that adds a message on the settings page. + */ + obj.onAccountDeleteSuccess = function( html ) { + $( obj.selectors.accountMessageContainer ).html( html ); + + // Check if this is an error message. + var $error = $( '.error', $( obj.selectors.accountMessageContainer ) ); + if ( $error.length > 0 ) { + return; + } + + // Remove the account from the list. + $( this ).remove(); + }; + + /** + * Handles the initialization of the admin when Document is ready + * + * @since 1.0.1 + * @deprecated 1.9.0 - Replaced with tribe.events.apiSettingsAdmin + * + * @return {void} + */ + obj.ready = function() { + console.info( 'Scripts deprecated and replaced with tribe.events.apiSettingsAdmin.' ); // eslint-disable-line no-console, max-len + obj.bindEvents(); + }; + + // Configure on document ready + $( obj.ready ); +} )( jQuery, tribe.events.zoomSettingsAdmin ); diff --git a/wp-content/plugins/events-calendar-pro/src/resources/js/events-virtual-zoom-settings.min.js b/wp-content/plugins/events-calendar-pro/src/resources/js/events-virtual-zoom-settings.min.js new file mode 100644 index 000000000..99295b434 --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/resources/js/events-virtual-zoom-settings.min.js @@ -0,0 +1,11 @@ +/** + * This JS file was auto-generated via Terser. + * + * Contributors should avoid editing this file, but instead edit the associated + * non minified file file. For more information, check out our engineering docs + * on how we handle JS minification in our engineering docs. + * + * @see: https://evnt.is/dev-docs-minification + */ + +tribe.events=tribe.events||{},tribe.events.zoomSettingsAdmin=tribe.events.zoomSettingsAdmin||{},function($,obj){obj.selectors={authorizedClass:"tribe-zoom-authorized",clientIdInput:"#zoom-application__client-id",clientSecretInput:"#zoom-application__client-secret",refreshAccount:".tribe-settings-zoom-account-details__account-refresh",accountStatus:".tribe-events-virtual-meetings-zoom-settings-switch__input.account-status",deleteAccount:".tribe-settings-zoom-account-details__delete-account",accountDetailsContainer:".tribe-settings-zoom-account-details",accountMessageContainer:".tec-zoom-accounts-messages",virtualContainer:"#tribe-settings-zoom-application",zoomToken:"#tribe-field-zoom_token"},obj.handleConnectButton=function(){const data={action:"events_virtual_meetings_zoom_autosave_client_keys",clientId:$(obj.selectors.clientIdInput).val(),clientSecret:$(obj.selectors.clientSecretInput).val(),security:$(obj.selectors.virtualContainer).attr("data-nonce")};$.ajax({type:"post",url:ajaxurl,dataType:"text/html",data:data}).always(obj.swapConnectButton)},obj.swapConnectButton=function(response){if(void 0===response.responseText)return;const html=response.responseText;$(obj.selectors.zoomToken).find(".tribe-field-wrap").html(html)},obj.bindEvents=function(){$(obj.selectors.virtualContainer).hasClass(obj.selectors.authorizedClass)||$(obj.selectors.virtualContainer).on("click",obj.selectors.refreshAccount,obj.handleRefreshAccount).on("click",obj.selectors.accountStatus,obj.handleAccountStatus).on("click",obj.selectors.deleteAccount,obj.handleDeleteAccount).on("blur",obj.selectors.clientIdInput,obj.handleConnectButton).on("blur",obj.selectors.clientSecretInput,obj.handleConnectButton)},obj.handleRefreshAccount=function(ev){if(ev.preventDefault(),confirm(tribe_events_virtual_settings_strings.refreshConfirm)){var url=$(this).data("zoomRefresh");window.location=url}},obj.handleAccountStatus=function(){var $this=$(this),url=$this.data("ajaxStatusUrl");$this.prop("disabled",!0),$.ajax(url,{contentType:"application/json",context:$this,success:obj.onAccountStatusSuccess})},obj.onAccountStatusSuccess=function(html){$(obj.selectors.accountMessageContainer).html(html),$(this).prop("disabled",!1);var $accountSettings=$(this).closest(obj.selectors.accountDetailsContainer);$accountSettings.find(obj.selectors.refreshAccount).prop("disabled",(function(i,v){return!v})),$accountSettings.find(obj.selectors.deleteAccount).prop("disabled",(function(i,v){return!v}))},obj.handleDeleteAccount=function(ev){if(ev.preventDefault(),confirm(tribe_events_virtual_settings_strings.deleteConfirm)){var url=$(this).data("ajaxDeleteUrl");$.ajax(url,{contentType:"application/json",context:$(this).closest(obj.selectors.accountDetailsContainer),success:obj.onAccountDeleteSuccess})}},obj.onAccountDeleteSuccess=function(html){$(obj.selectors.accountMessageContainer).html(html),$(".error",$(obj.selectors.accountMessageContainer)).length>0||$(this).remove()},obj.ready=function(){console.info("Scripts deprecated and replaced with tribe.events.apiSettingsAdmin."),obj.bindEvents()},$(obj.ready)}(jQuery,tribe.events.zoomSettingsAdmin); \ No newline at end of file diff --git a/wp-content/plugins/events-calendar-pro/src/resources/js/index.php b/wp-content/plugins/events-calendar-pro/src/resources/js/index.php new file mode 100644 index 000000000..98013b11d --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/resources/js/index.php @@ -0,0 +1 @@ + +
                            > + get_view_html(); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped, StellarWP.XSS.EscapeOutput.OutputNotEscaped ?> +
                            diff --git a/wp-content/plugins/events-calendar-pro/src/views/blocks/virtual-event.php b/wp-content/plugins/events-calendar-pro/src/views/blocks/virtual-event.php new file mode 100644 index 000000000..5cda4bef6 --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/views/blocks/virtual-event.php @@ -0,0 +1,31 @@ + +
                            > + +
                            diff --git a/wp-content/plugins/events-calendar-pro/src/views/compatibility/event-tickets/email/ticket-email-link.php b/wp-content/plugins/events-calendar-pro/src/views/compatibility/event-tickets/email/ticket-email-link.php new file mode 100644 index 000000000..24ad1fb6e --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/views/compatibility/event-tickets/email/ticket-email-link.php @@ -0,0 +1,34 @@ +virtual || empty( $virtual_url ) ) { + return; +} +?> + + + + +
                            +
                            + +
                            diff --git a/wp-content/plugins/events-calendar-pro/src/views/components/hybrid-event.php b/wp-content/plugins/events-calendar-pro/src/views/components/hybrid-event.php new file mode 100644 index 000000000..d9c80313e --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/views/components/hybrid-event.php @@ -0,0 +1,55 @@ +virtual || ! $event->virtual_show_on_views ) { + return; +} + +// Don't print anything when this event is not hybrid. +if ( Event_Meta::$value_hybrid_event_type !== $event->virtual_event_type ) { + return; +} + +// translators: %s (singular) +$hybrid_label = tribe_get_hybrid_label(); +// translators: %s: Event (singular) +$hybrid_event_label = tribe_get_hybrid_event_label_singular(); + +?> +
                            + + template( + 'v2/components/icons/hybrid', + [ + 'classes' => [ 'tribe-events-virtual-hybrid-event__icon-svg' ], + 'icon_label' => $hybrid_label + ] + ); ?> + + + + +
                            diff --git a/wp-content/plugins/events-calendar-pro/src/views/components/icons/lock.php b/wp-content/plugins/events-calendar-pro/src/views/components/icons/lock.php new file mode 100644 index 000000000..68ded1947 --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/views/components/icons/lock.php @@ -0,0 +1,25 @@ + $classes Additional classes to add to the svg icon. + * + * @version 1.9.0 + */ + +$svg_classes = [ 'tribe-common-c-svgicon', 'tribe-common-c-svgicon--lock' ]; + +if ( ! empty( $classes ) ) { + $svg_classes = array_merge( $svg_classes, $classes ); +} +?> + xmlns="http://www.w3.org/2000/svg" viewBox="0 0 330 330" xml:space="preserve"> + + diff --git a/wp-content/plugins/events-calendar-pro/src/views/components/link-button.php b/wp-content/plugins/events-calendar-pro/src/views/components/link-button.php new file mode 100644 index 000000000..495cba41c --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/views/components/link-button.php @@ -0,0 +1,29 @@ + + +> + template( 'v2/components/icons/play', [ 'classes' => [ 'tribe-events-virtual-link-button__icon' ] ] ); ?> + + + + diff --git a/wp-content/plugins/events-calendar-pro/src/views/components/virtual-event.php b/wp-content/plugins/events-calendar-pro/src/views/components/virtual-event.php new file mode 100644 index 000000000..2afa17b8d --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/views/components/virtual-event.php @@ -0,0 +1,56 @@ +virtual || ! $event->virtual_show_on_views ) { + return; +} + +// Don't print anything when this event is hybrid. +if ( Event_Meta::$value_hybrid_event_type === $event->virtual_event_type ) { + return; +} + +// translators: %s (singular) +$virtual_label = tribe_get_virtual_label(); +// translators: %s: Event (singular) +$virtual_event_label = tribe_get_virtual_event_label_singular(); + +?> +
                            + + template( + 'components/icons/virtual', + [ + 'classes' => [ 'tribe-events-virtual-virtual-event__icon-svg' ], + 'icon_title' => esc_attr( $virtual_event_label ), + ] + ); ?> + + + + +
                            diff --git a/wp-content/plugins/events-calendar-pro/src/views/facebook/single/facebook-embed-offline.php b/wp-content/plugins/events-calendar-pro/src/views/facebook/single/facebook-embed-offline.php new file mode 100644 index 000000000..0087af380 --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/views/facebook/single/facebook-embed-offline.php @@ -0,0 +1,25 @@ + +
                            +
                            + +
                            +
                            diff --git a/wp-content/plugins/events-calendar-pro/src/views/facebook/single/facebook-embed.php b/wp-content/plugins/events-calendar-pro/src/views/facebook/single/facebook-embed.php new file mode 100644 index 000000000..58a2dbe8a --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/views/facebook/single/facebook-embed.php @@ -0,0 +1,38 @@ + $embed_classes An array of classes for the embed. + * @var string $embed The html for the embed. + * + * @see tribe_get_event() For the format of the event object. + */ + +if ( ! $event->virtual_meeting_is_live || ! $event->virtual_should_show_embed ) { + return; +} + +$facebook_embed_classes = [ 'tribe-events-virtual-single-facebook__embed' ]; +if ( ! empty( $embed_classes ) ) { + $facebook_embed_classes = array_merge( $facebook_embed_classes, $embed_classes ); +} +?> +
                            +
                            + > +
                            + +
                            +
                            +
                            diff --git a/wp-content/plugins/events-calendar-pro/src/views/facebook/single/facebook-video-embed.php b/wp-content/plugins/events-calendar-pro/src/views/facebook/single/facebook-video-embed.php new file mode 100644 index 000000000..9e961ee3e --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/views/facebook/single/facebook-video-embed.php @@ -0,0 +1,36 @@ +virtual_autodetect_source ) { + return; +} + +// Don't print anything when the event isn't embedding or is not ready. +if ( ! $event->virtual_embed_video || ! $event->virtual_should_show_embed ) { + return; +} +?> +
                            + diff --git a/wp-content/plugins/events-calendar-pro/src/views/google/email/details/dial-in-content.php b/wp-content/plugins/events-calendar-pro/src/views/google/email/details/dial-in-content.php new file mode 100644 index 000000000..f55416797 --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/views/google/email/details/dial-in-content.php @@ -0,0 +1,56 @@ +get_google_meet_number( $event, true ); +?> + + + diff --git a/wp-content/plugins/events-calendar-pro/src/views/google/email/details/dial-in-header.php b/wp-content/plugins/events-calendar-pro/src/views/google/email/details/dial-in-header.php new file mode 100644 index 000000000..e3a75b33e --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/views/google/email/details/dial-in-header.php @@ -0,0 +1,20 @@ + + +
                            + +
                            + diff --git a/wp-content/plugins/events-calendar-pro/src/views/google/email/details/join-content.php b/wp-content/plugins/events-calendar-pro/src/views/google/email/details/join-content.php new file mode 100644 index 000000000..17e955f68 --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/views/google/email/details/join-content.php @@ -0,0 +1,53 @@ +google_join_url ) ) { + return; +} + +$short_google_url = implode( + '', + array_intersect_key( wp_parse_url( $event->google_join_url ), array_flip( [ 'host', 'path' ] ) ) +); + +?> + + + + diff --git a/wp-content/plugins/events-calendar-pro/src/views/google/email/details/join-header.php b/wp-content/plugins/events-calendar-pro/src/views/google/email/details/join-header.php new file mode 100644 index 000000000..13c6c464a --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/views/google/email/details/join-header.php @@ -0,0 +1,20 @@ + + +
                            + +
                            + diff --git a/wp-content/plugins/events-calendar-pro/src/views/google/email/ticket-email-google-details.php b/wp-content/plugins/events-calendar-pro/src/views/google/email/ticket-email-google-details.php new file mode 100644 index 000000000..0a2a37e3d --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/views/google/email/ticket-email-google-details.php @@ -0,0 +1,41 @@ +virtual || ( empty( $event->google_join_url ) && empty( $event->google_global_dial_in_numbers ) ) ) { + return; +} +?> + + + google_join_url ) ) : ?> + template( 'google/email/details/join-header' ); ?> + + google_global_dial_in_numbers ) ) : ?> + template( 'google/email/details/dial-in-header' ); ?> + + + + google_join_url ) ) : ?> + template( 'google/email/details/join-content', [ 'event' => $event ] ); ?> + + google_global_dial_in_numbers ) ) : ?> + template( 'google/email/details/dial-in-content', [ 'event' => $event ] ); ?> + + + diff --git a/wp-content/plugins/events-calendar-pro/src/views/google/single/google-details.php b/wp-content/plugins/events-calendar-pro/src/views/google/single/google-details.php new file mode 100644 index 000000000..9abf96aa3 --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/views/google/single/google-details.php @@ -0,0 +1,132 @@ +google_join_url ) ) { + $short_google_url = implode( + '', + array_intersect_key( wp_parse_url( $event->google_join_url ), array_flip( [ 'host', 'path' ] ) ) + ); +} +?> +
                            + virtual_linked_button && ! empty( $event->google_join_url ) ) : ?> + + + + google_join_url ) ) : ?> + + + google_global_dial_in_numbers ) ) : ?> +
                            + template( + 'v2/components/icons/phone', + [ + 'classes' => [ + 'tec-events-virtual-single-api-details__icon', + 'tec-events-virtual-single-api-details__icon--phone', + ], + ] + ); + ?> +
                            +
                              + google_global_dial_in_numbers as $number => $phone_details ) : ?> +
                            • + + + + +
                              + +
                              + +
                            • + +
                            +
                            +
                            + +
                            diff --git a/wp-content/plugins/events-calendar-pro/src/views/iframe/footer.php b/wp-content/plugins/events-calendar-pro/src/views/iframe/footer.php new file mode 100644 index 000000000..5333e844d --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/views/iframe/footer.php @@ -0,0 +1,24 @@ + + + diff --git a/wp-content/plugins/events-calendar-pro/src/views/iframe/header.php b/wp-content/plugins/events-calendar-pro/src/views/iframe/header.php new file mode 100644 index 000000000..1cb2c4cc0 --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/views/iframe/header.php @@ -0,0 +1,36 @@ + + + + + <?php echo esc_html_x( 'Calendar Embed Iframe', 'The title for the calendar embed iframe.', 'events-calendar-pro' ); ?> + + + + $fields The event fields. + * In the format of [ 'label' => string, 'value' => mixed ]. + * @var Event_Additional_Fields $widget The widget instance. + */ + +use TEC\Events_Pro\Integrations\Plugins\Elementor\Widgets\Event_Additional_Fields; + +if ( empty( $fields ) ) { + return; +} +?> +
                            + template( 'views/integrations/elementor/widgets/event-additional-fields/header' ); + ?> + template( 'views/integrations/elementor/widgets/event-additional-fields/fields' ); + ?> +
                            diff --git a/wp-content/plugins/events-calendar-pro/src/views/integrations/elementor/widgets/event-additional-fields/field/label.php b/wp-content/plugins/events-calendar-pro/src/views/integrations/elementor/widgets/event-additional-fields/field/label.php new file mode 100644 index 000000000..1ac2f4581 --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/views/integrations/elementor/widgets/event-additional-fields/field/label.php @@ -0,0 +1,22 @@ + $field The event field. + * @var string $label The field label. + * @var Tribe\Events\Pro\Integrations\Elementor\Widgets\Event_Additional_Fields $widget The widget instance. + */ + +// sanity check. +if ( empty( $field ) ) { + return; +} +?> +
                            get_field_label_class() ); ?>> + +
                            diff --git a/wp-content/plugins/events-calendar-pro/src/views/integrations/elementor/widgets/event-additional-fields/field/value.php b/wp-content/plugins/events-calendar-pro/src/views/integrations/elementor/widgets/event-additional-fields/field/value.php new file mode 100644 index 000000000..b7b62b481 --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/views/integrations/elementor/widgets/event-additional-fields/field/value.php @@ -0,0 +1,22 @@ + $field The event field. + * @var string $value The field value. + * @var Tribe\Events\Pro\Integrations\Elementor\Widgets\Event_Additional_Fields $widget The widget instance. + */ + +// sanity check. +if ( empty( $field ) ) { + return; +} +?> +
                            get_field_value_class() ); ?>> + +
                            diff --git a/wp-content/plugins/events-calendar-pro/src/views/integrations/elementor/widgets/event-additional-fields/fields.php b/wp-content/plugins/events-calendar-pro/src/views/integrations/elementor/widgets/event-additional-fields/fields.php new file mode 100644 index 000000000..51176f852 --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/views/integrations/elementor/widgets/event-additional-fields/fields.php @@ -0,0 +1,28 @@ + $fields The event fields. + * @var Tribe\Events\Pro\Integrations\Elementor\Widgets\Event_Additional_Fields $widget The widget instance. + */ + +// sanity check. +if ( empty( $fields ) ) { + return; +} +?> +
                            get_wrapper_class() ); ?>> + + template( 'views/integrations/elementor/widgets/event-additional-fields/field/label', [ 'field' => $field ] ); + ?> + template( 'views/integrations/elementor/widgets/event-additional-fields/field/value', [ 'field' => $field ] ); + ?> + +
                            diff --git a/wp-content/plugins/events-calendar-pro/src/views/integrations/elementor/widgets/event-additional-fields/header.php b/wp-content/plugins/events-calendar-pro/src/views/integrations/elementor/widgets/event-additional-fields/header.php new file mode 100644 index 000000000..5cffb6ba3 --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/views/integrations/elementor/widgets/event-additional-fields/header.php @@ -0,0 +1,21 @@ + + +< get_header_class() ); ?>>> diff --git a/wp-content/plugins/events-calendar-pro/src/views/integrations/elementor/widgets/event-organizer/names.php b/wp-content/plugins/events-calendar-pro/src/views/integrations/elementor/widgets/event-organizer/names.php new file mode 100644 index 000000000..197e65676 --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/views/integrations/elementor/widgets/event-organizer/names.php @@ -0,0 +1,33 @@ + +< get_name_base_class() ); ?>> + + get_name_base_class() . '-link' ); ?> href=""> + + + + + +> diff --git a/wp-content/plugins/events-calendar-pro/src/views/integrations/elementor/widgets/event-related.php b/wp-content/plugins/events-calendar-pro/src/views/integrations/elementor/widgets/event-related.php new file mode 100644 index 000000000..0325e8160 --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/views/integrations/elementor/widgets/event-related.php @@ -0,0 +1,34 @@ + $events The related events. + * @var string $header_tag The HTML tag for the widget header. + * @var Related_Events $widget The widget instance. + */ + +use TEC\Events_Pro\Integrations\Plugins\Elementor\Widgets\Related_Events; + +// No events to show, no render. +if ( empty( $events ) ) { + return; +} +?> +
                            get_container_class() ); ?>> + template( 'views/integrations/elementor/widgets/event-related/header' ); + + $this->template( 'views/integrations/elementor/widgets/event-related/list' ); + ?> +
                            diff --git a/wp-content/plugins/events-calendar-pro/src/views/integrations/elementor/widgets/event-related/header.php b/wp-content/plugins/events-calendar-pro/src/views/integrations/elementor/widgets/event-related/header.php new file mode 100644 index 000000000..b05b83bae --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/views/integrations/elementor/widgets/event-related/header.php @@ -0,0 +1,22 @@ + +< get_header_class() ); ?>> + get_title() ); ?> +> diff --git a/wp-content/plugins/events-calendar-pro/src/views/integrations/elementor/widgets/event-related/item/datetime.php b/wp-content/plugins/events-calendar-pro/src/views/integrations/elementor/widgets/event-related/item/datetime.php new file mode 100644 index 000000000..1baad8834 --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/views/integrations/elementor/widgets/event-related/item/datetime.php @@ -0,0 +1,25 @@ + +< + get_datetime_class() ); ?> +> + +> diff --git a/wp-content/plugins/events-calendar-pro/src/views/integrations/elementor/widgets/event-related/item/thumb.php b/wp-content/plugins/events-calendar-pro/src/views/integrations/elementor/widgets/event-related/item/thumb.php new file mode 100644 index 000000000..29bb95823 --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/views/integrations/elementor/widgets/event-related/item/thumb.php @@ -0,0 +1,36 @@ + + diff --git a/wp-content/plugins/events-calendar-pro/src/views/integrations/elementor/widgets/event-related/item/title.php b/wp-content/plugins/events-calendar-pro/src/views/integrations/elementor/widgets/event-related/item/title.php new file mode 100644 index 000000000..d254fe67f --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/views/integrations/elementor/widgets/event-related/item/title.php @@ -0,0 +1,35 @@ + +< get_title_class() ); ?>> + get_title_link_class() ); ?> + href="" + rel="bookmark" + > + ID ) ); ?> + +> diff --git a/wp-content/plugins/events-calendar-pro/src/views/integrations/elementor/widgets/event-related/list-item.php b/wp-content/plugins/events-calendar-pro/src/views/integrations/elementor/widgets/event-related/list-item.php new file mode 100644 index 000000000..cf2ebc11d --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/views/integrations/elementor/widgets/event-related/list-item.php @@ -0,0 +1,40 @@ + + +
                          • get_list_item_class() ); ?>> + template( 'views/integrations/elementor/widgets/event-related/item/thumb' ); + ?> + +
                            get_widget_class() . '-info' ); ?>> + + template( 'views/integrations/elementor/widgets/event-related/item/title' ); + + $this->template( 'views/integrations/elementor/widgets/event-related/item/datetime' ); + ?> + +
                            + +
                          • diff --git a/wp-content/plugins/events-calendar-pro/src/views/integrations/elementor/widgets/event-related/list.php b/wp-content/plugins/events-calendar-pro/src/views/integrations/elementor/widgets/event-related/list.php new file mode 100644 index 000000000..eed2f5808 --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/views/integrations/elementor/widgets/event-related/list.php @@ -0,0 +1,31 @@ + $events The related events. + * @var Tribe\Events\Pro\Integrations\Elementor\Widgets\Related_Events $widget The widget instance. + */ + +// No events, no render. +if ( empty( $events ) ) { + return; +} +?> + +
                              get_list_class() ); ?>> + template( 'views/integrations/elementor/widgets/event-related/list-item', [ 'event' => $event ] ); + } + ?> +
                            diff --git a/wp-content/plugins/events-calendar-pro/src/views/integrations/elementor/widgets/event-venue/name.php b/wp-content/plugins/events-calendar-pro/src/views/integrations/elementor/widgets/event-venue/name.php new file mode 100644 index 000000000..6ffccb88a --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/views/integrations/elementor/widgets/event-venue/name.php @@ -0,0 +1,30 @@ + +< get_name_base_class() ); ?>> + + get_name_base_class() . '-link' ); ?> href=""> + + + + + +'; ?> diff --git a/wp-content/plugins/events-calendar-pro/src/views/integrations/event-tickets-wallet-plus/pdf/pass/body/virtual-event/link.php b/wp-content/plugins/events-calendar-pro/src/views/integrations/event-tickets-wallet-plus/pdf/pass/body/virtual-event/link.php new file mode 100644 index 000000000..5cb672631 --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/views/integrations/event-tickets-wallet-plus/pdf/pass/body/virtual-event/link.php @@ -0,0 +1,22 @@ +template( 'pass/body/virtual-event/link/header' ); +$this->template( 'pass/body/virtual-event/link/link' ); diff --git a/wp-content/plugins/events-calendar-pro/src/views/integrations/event-tickets-wallet-plus/pdf/pass/body/virtual-event/link/header.php b/wp-content/plugins/events-calendar-pro/src/views/integrations/event-tickets-wallet-plus/pdf/pass/body/virtual-event/link/header.php new file mode 100644 index 000000000..a1469441c --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/views/integrations/event-tickets-wallet-plus/pdf/pass/body/virtual-event/link/header.php @@ -0,0 +1,31 @@ + + + + + +
                            + + +
                            diff --git a/wp-content/plugins/events-calendar-pro/src/views/integrations/event-tickets-wallet-plus/pdf/pass/body/virtual-event/link/link.php b/wp-content/plugins/events-calendar-pro/src/views/integrations/event-tickets-wallet-plus/pdf/pass/body/virtual-event/link/link.php new file mode 100644 index 000000000..df54f2f38 --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/views/integrations/event-tickets-wallet-plus/pdf/pass/body/virtual-event/link/link.php @@ -0,0 +1,34 @@ + + + + + + diff --git a/wp-content/plugins/events-calendar-pro/src/views/integrations/event-tickets-wallet-plus/pdf/pass/tec-events-virtual-styles.php b/wp-content/plugins/events-calendar-pro/src/views/integrations/event-tickets-wallet-plus/pdf/pass/tec-events-virtual-styles.php new file mode 100644 index 000000000..d20e3b9b1 --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/views/integrations/event-tickets-wallet-plus/pdf/pass/tec-events-virtual-styles.php @@ -0,0 +1,38 @@ + + \ No newline at end of file diff --git a/wp-content/plugins/events-calendar-pro/src/views/integrations/event-tickets/emails/template-parts/body/virtual-event/link.php b/wp-content/plugins/events-calendar-pro/src/views/integrations/event-tickets/emails/template-parts/body/virtual-event/link.php new file mode 100644 index 000000000..6d64ae765 --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/views/integrations/event-tickets/emails/template-parts/body/virtual-event/link.php @@ -0,0 +1,55 @@ + Body > Virtual Event > Link. + * + * Override this template in your own theme by creating a file at: + * [your-theme]/tribe/events/integrations/event-tickets/emails/template-parts/body/virtual-event/link.php + * + * See more documentation about our views templating system. + * + * @link https://evnt.is/tickets-emails-tpl Help article for Tickets Emails template files. + * + * @version 1.15.0 + * + * @since 7.0.0 Migrated to Events Pro from Events Virtual. + * + * @var WP_Post $event The event post object with properties added by the `tribe_get_event` function. + * @var string $virtual_url URL to Virtual Event. + * + * @see tribe_get_event() For the format of the event object. + */ + +use Tribe\Events\Virtual\Plugin; + +if ( empty( $event ) || empty( $virtual_url ) ) { + return; +} + +?> + + + + + + + + + + + + + + + diff --git a/wp-content/plugins/events-calendar-pro/src/views/integrations/event-tickets/emails/template-parts/header/head/ve-styles.php b/wp-content/plugins/events-calendar-pro/src/views/integrations/event-tickets/emails/template-parts/header/head/ve-styles.php new file mode 100644 index 000000000..3b2f2b93b --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/views/integrations/event-tickets/emails/template-parts/header/head/ve-styles.php @@ -0,0 +1,40 @@ + \ No newline at end of file diff --git a/wp-content/plugins/events-calendar-pro/src/views/microsoft/email/details/join-content.php b/wp-content/plugins/events-calendar-pro/src/views/microsoft/email/details/join-content.php new file mode 100644 index 000000000..8c6530ac5 --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/views/microsoft/email/details/join-content.php @@ -0,0 +1,53 @@ +microsoft_join_url ) ) { + return; +} + +$short_microsoft_url = implode( + '', + array_intersect_key( wp_parse_url( $event->microsoft_join_url ), array_flip( [ 'host', 'path' ] ) ) +); + +?> + + + + diff --git a/wp-content/plugins/events-calendar-pro/src/views/microsoft/email/details/join-header.php b/wp-content/plugins/events-calendar-pro/src/views/microsoft/email/details/join-header.php new file mode 100644 index 000000000..afb62532e --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/views/microsoft/email/details/join-header.php @@ -0,0 +1,26 @@ +microsoft_provider === 'teamsForBusiness' ) { + $join_header = _x( 'Join Teams Video', 'The header for Microsoft Teams link in a ticket email.', 'tribe-events-calendar-pro' ); +} +?> + +
                            + +
                            + diff --git a/wp-content/plugins/events-calendar-pro/src/views/microsoft/email/ticket-email-microsoft-details.php b/wp-content/plugins/events-calendar-pro/src/views/microsoft/email/ticket-email-microsoft-details.php new file mode 100644 index 000000000..5dd583723 --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/views/microsoft/email/ticket-email-microsoft-details.php @@ -0,0 +1,35 @@ +virtual || ( empty( $event->microsoft_join_url ) ) ) { + return; +} +?> + + + microsoft_join_url ) ) : ?> + template( 'microsoft/email/details/join-header', $event ); ?> + + + + microsoft_join_url ) ) : ?> + template( 'microsoft/email/details/join-content', [ 'event' => $event ] ); ?> + + + diff --git a/wp-content/plugins/events-calendar-pro/src/views/microsoft/single/microsoft-details.php b/wp-content/plugins/events-calendar-pro/src/views/microsoft/single/microsoft-details.php new file mode 100644 index 000000000..bd48e1330 --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/views/microsoft/single/microsoft-details.php @@ -0,0 +1,85 @@ +microsoft_join_url ) ) { + $short_microsoft_url = implode( + '', + array_intersect_key( wp_parse_url( $event->microsoft_join_url ), array_flip( [ 'host' ] ) ) + ); +} +?> +
                            + virtual_linked_button && ! empty( $event->microsoft_join_url ) ) : ?> + + + + microsoft_join_url ) ) : ?> + + +
                            diff --git a/wp-content/plugins/events-calendar-pro/src/views/single/hybrid-marker-mobile.php b/wp-content/plugins/events-calendar-pro/src/views/single/hybrid-marker-mobile.php new file mode 100644 index 000000000..48a1b7183 --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/views/single/hybrid-marker-mobile.php @@ -0,0 +1,48 @@ +virtual_show_on_event ) { + return; +} + +// Don't print anything when this event is not hybrid. +if ( Event_Meta::$value_hybrid_event_type !== $event->virtual_event_type ) { + return; +} + +$hybrid_label = tribe_get_hybrid_event_label_singular(); + +?> +
                            + + template( + 'v2/components/icons/hybrid', + [ + 'classes' => [ 'tribe-events-hybrid-single-marker__icon-svg' ], + 'icon_label' => $hybrid_label, + ] + ); ?> + + +
                            diff --git a/wp-content/plugins/events-calendar-pro/src/views/single/hybrid-marker.php b/wp-content/plugins/events-calendar-pro/src/views/single/hybrid-marker.php new file mode 100644 index 000000000..4ae5e225b --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/views/single/hybrid-marker.php @@ -0,0 +1,50 @@ +virtual_show_on_event ) { + return; +} + +// Don't print anything when this event is not hybrid. +if ( Event_Meta::$value_hybrid_event_type !== $event->virtual_event_type ) { + return; +} + +$hybrid_label = tribe_get_hybrid_event_label_singular(); + +?> +
                            + + template( + 'v2/components/icons/hybrid', + [ + 'classes' => [ 'tribe-events-hybrid-single-marker__icon-svg' ], + 'icon_label' => $hybrid_label, + ] + ); ?> + + +
                            diff --git a/wp-content/plugins/events-calendar-pro/src/views/single/video-embed.php b/wp-content/plugins/events-calendar-pro/src/views/single/video-embed.php new file mode 100644 index 000000000..1f9c906dc --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/views/single/video-embed.php @@ -0,0 +1,32 @@ +virtual_embed_video || ! $event->virtual_should_show_embed ) { + return; +} + +$video_html = wp_oembed_get( $event->virtual_url ); + +if ( empty( $video_html ) ) { + return; +} +?> +
                            + +
                            diff --git a/wp-content/plugins/events-calendar-pro/src/views/single/virtual-marker-mobile.php b/wp-content/plugins/events-calendar-pro/src/views/single/virtual-marker-mobile.php new file mode 100644 index 000000000..efc35f874 --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/views/single/virtual-marker-mobile.php @@ -0,0 +1,51 @@ +virtual || ! $event->virtual_show_on_event ) { + return; +} + +// Don't print anything when this event is not virtual. +if ( Event_Meta::$value_virtual_event_type !== $event->virtual_event_type ) { + return; +} + +$virtual_event_label = tribe_get_virtual_event_label_singular(); + +?> +
                            + + template( + 'v2/components/icons/virtual', + [ + 'classes' => [ 'tribe-events-virtual-single-marker__icon-svg' ], + 'icon_title' => esc_attr( $virtual_event_label ), + ] + ); ?> + + +
                            diff --git a/wp-content/plugins/events-calendar-pro/src/views/single/virtual-marker.php b/wp-content/plugins/events-calendar-pro/src/views/single/virtual-marker.php new file mode 100644 index 000000000..8c297d766 --- /dev/null +++ b/wp-content/plugins/events-calendar-pro/src/views/single/virtual-marker.php @@ -0,0 +1,51 @@ +virtual || ! $event->virtual_show_on_event ) { + return; +} + +// Don't print anything when this event is not virtual. +if ( Event_Meta::$value_virtual_event_type !== $event->virtual_event_type ) { + return; +} + +$virtual_event_label = tribe_get_virtual_event_label_singular(); + +?> +
                            + + template( + 'v2/components/icons/virtual', + [ + 'classes' => [ 'tribe-events-virtual-single-marker__icon-svg' ], + 'icon_title' => esc_attr( $virtual_event_label ), + ] + ); ?> + + +
                            diff --git a/wp-content/plugins/events-calendar-pro/src/views/v2/components/multi-venue/suffix.php b/wp-content/plugins/events-calendar-pro/src/views/v2/components/multi-venue/suffix.php index 10ce8de9f..324899797 100644 --- a/wp-content/plugins/events-calendar-pro/src/views/v2/components/multi-venue/suffix.php +++ b/wp-content/plugins/events-calendar-pro/src/views/v2/components/multi-venue/suffix.php @@ -33,4 +33,3 @@ ); ?> -dates->start_display->format( 'H:i' ) !== $event->dates->end_display->format( 'H:i' ); +$display_end_time = $event->dates->start_display->format( 'H:i' ) !== $event->dates->end_display->format( 'H:i' ) + && $show_end_time; if ( $event->multiday ) { $start = $event->schedule_details->value(); diff --git a/wp-content/plugins/events-calendar-pro/src/views/v2/map/top-bar/datepicker.php b/wp-content/plugins/events-calendar-pro/src/views/v2/map/top-bar/datepicker.php index e2d8571c0..85487963b 100644 --- a/wp-content/plugins/events-calendar-pro/src/views/v2/map/top-bar/datepicker.php +++ b/wp-content/plugins/events-calendar-pro/src/views/v2/map/top-bar/datepicker.php @@ -28,7 +28,7 @@ ?>