Changeset 2125154
- Timestamp:
- 07/18/2019 10:08:06 AM (7 years ago)
- Location:
- amp-wp
- Files:
-
- 378 added
- 23 edited
-
tags/1.5.8 (added)
-
tags/1.5.8/LICENSE.txt (added)
-
tags/1.5.8/README.txt (added)
-
tags/1.5.8/admin (added)
-
tags/1.5.8/admin/class-amp-wp-admin.php (added)
-
tags/1.5.8/admin/class-amp-wp-meta-box.php (added)
-
tags/1.5.8/admin/css (added)
-
tags/1.5.8/admin/css/amp-wp-accordion.css (added)
-
tags/1.5.8/admin/css/amp-wp-admin.css (added)
-
tags/1.5.8/admin/css/amp-wp-heading.css (added)
-
tags/1.5.8/admin/css/amp-wp-image-radio-button.css (added)
-
tags/1.5.8/admin/css/amp-wp-slider.css (added)
-
tags/1.5.8/admin/css/amp-wp-switch.css (added)
-
tags/1.5.8/admin/css/customizer.css (added)
-
tags/1.5.8/admin/fonts (added)
-
tags/1.5.8/admin/fonts/amp-wp-admin-icons (added)
-
tags/1.5.8/admin/fonts/amp-wp-admin-icons/amp-wp-admin-icons.eot (added)
-
tags/1.5.8/admin/fonts/amp-wp-admin-icons/amp-wp-admin-icons.svg (added)
-
tags/1.5.8/admin/fonts/amp-wp-admin-icons/amp-wp-admin-icons.ttf (added)
-
tags/1.5.8/admin/fonts/amp-wp-admin-icons/amp-wp-admin-icons.woff (added)
-
tags/1.5.8/admin/fonts/amp-wp-admin-icons/ref (added)
-
tags/1.5.8/admin/fonts/amp-wp-admin-icons/ref/fonts (added)
-
tags/1.5.8/admin/fonts/amp-wp-admin-icons/ref/fonts/amp-wp-admin-icons.eot (added)
-
tags/1.5.8/admin/fonts/amp-wp-admin-icons/ref/fonts/amp-wp-admin-icons.svg (added)
-
tags/1.5.8/admin/fonts/amp-wp-admin-icons/ref/fonts/amp-wp-admin-icons.ttf (added)
-
tags/1.5.8/admin/fonts/amp-wp-admin-icons/ref/fonts/amp-wp-admin-icons.woff (added)
-
tags/1.5.8/admin/fonts/amp-wp-admin-icons/ref/icons-reference.html (added)
-
tags/1.5.8/admin/fonts/amp-wp-admin-icons/ref/styles.css (added)
-
tags/1.5.8/admin/images (added)
-
tags/1.5.8/admin/images/about (added)
-
tags/1.5.8/admin/images/about/ampwp-options-panel.svg (added)
-
tags/1.5.8/admin/images/about/analytics.svg (added)
-
tags/1.5.8/admin/images/about/comments.svg (added)
-
tags/1.5.8/admin/images/about/embed-media.svg (added)
-
tags/1.5.8/admin/images/about/footer.svg (added)
-
tags/1.5.8/admin/images/about/gallery-&-lightbox.svg (added)
-
tags/1.5.8/admin/images/about/header-sidebar.svg (added)
-
tags/1.5.8/admin/images/about/icons (added)
-
tags/1.5.8/admin/images/about/icons/100-rtl-compatible.svg (added)
-
tags/1.5.8/admin/images/about/icons/100-valid-amp-contents.svg (added)
-
tags/1.5.8/admin/images/about/icons/100-yoast-seo-compatible.svg (added)
-
tags/1.5.8/admin/images/about/icons/amp-theme-customizer.svg (added)
-
tags/1.5.8/admin/images/about/icons/analytics.svg (added)
-
tags/1.5.8/admin/images/about/icons/auto-ads-for-amp-support.svg (added)
-
tags/1.5.8/admin/images/about/icons/auto-redirect-mobile-users-to-amp.svg (added)
-
tags/1.5.8/admin/images/about/icons/custom-html-css-support.svg (added)
-
tags/1.5.8/admin/images/about/icons/embed-media.svg (added)
-
tags/1.5.8/admin/images/about/icons/enable-disable-amp-on-specific-pages.svg (added)
-
tags/1.5.8/admin/images/about/icons/internal-amp-linking.svg (added)
-
tags/1.5.8/admin/images/about/icons/lightbox-for-images.svg (added)
-
tags/1.5.8/admin/images/about/icons/native-amp-search-functionality.svg (added)
-
tags/1.5.8/admin/images/about/icons/show-hide-components.svg (added)
-
tags/1.5.8/admin/images/about/icons/translations.svg (added)
-
tags/1.5.8/admin/images/about/list-and-classic-view.svg (added)
-
tags/1.5.8/admin/images/about/native-amp-search.svg (added)
-
tags/1.5.8/admin/images/about/notice-bar.svg (added)
-
tags/1.5.8/admin/images/about/related-posts.svg (added)
-
tags/1.5.8/admin/images/about/share-box.svg (added)
-
tags/1.5.8/admin/images/about/slider.svg (added)
-
tags/1.5.8/admin/images/about/welcome-image.svg (added)
-
tags/1.5.8/admin/images/add-ons (added)
-
tags/1.5.8/admin/images/add-ons/contact-form-7-add-on.jpg (added)
-
tags/1.5.8/admin/images/amp-wp-icon.svg (added)
-
tags/1.5.8/admin/images/amp-wp-logo.svg (added)
-
tags/1.5.8/admin/images/blog-list.svg (added)
-
tags/1.5.8/admin/images/blog-normal.svg (added)
-
tags/1.5.8/admin/images/chosen-sprite.png (added)
-
tags/1.5.8/admin/images/chosen-sprite@2x.png (added)
-
tags/1.5.8/admin/images/logo-center-simple.svg (added)
-
tags/1.5.8/admin/images/logo-left-simple.svg (added)
-
tags/1.5.8/admin/images/pixelative.png (added)
-
tags/1.5.8/admin/images/rating-box (added)
-
tags/1.5.8/admin/images/rating-box/heart.png (added)
-
tags/1.5.8/admin/images/rating-box/red-bg-2x.jpg (added)
-
tags/1.5.8/admin/images/rating-box/red-bg.jpg (added)
-
tags/1.5.8/admin/images/rating-box/star.png (added)
-
tags/1.5.8/admin/images/welcome (added)
-
tags/1.5.8/admin/images/welcome/analytics.png (added)
-
tags/1.5.8/admin/images/welcome/configure-layout.png (added)
-
tags/1.5.8/admin/images/welcome/configure-notice-bar.png (added)
-
tags/1.5.8/admin/images/welcome/configure-social-links.png (added)
-
tags/1.5.8/admin/images/welcome/configure-structured-data.png (added)
-
tags/1.5.8/admin/images/welcome/customize.png (added)
-
tags/1.5.8/admin/images/welcome/gdpr.png (added)
-
tags/1.5.8/admin/images/welcome/set-global.png (added)
-
tags/1.5.8/admin/images/welcome/translations.png (added)
-
tags/1.5.8/admin/index.php (added)
-
tags/1.5.8/admin/js (added)
-
tags/1.5.8/admin/js/amp-wp-accordion.js (added)
-
tags/1.5.8/admin/js/amp-wp-admin-ui-kit.js (added)
-
tags/1.5.8/admin/js/amp-wp-admin.js (added)
-
tags/1.5.8/admin/js/amp-wp-slider.js (added)
-
tags/1.5.8/admin/js/amp-wp-switch.js (added)
-
tags/1.5.8/admin/js/chosen.jquery.js (added)
-
tags/1.5.8/admin/js/customize-preview.js (added)
-
tags/1.5.8/admin/js/customizer.js (added)
-
tags/1.5.8/admin/js/select2.js (added)
-
tags/1.5.8/admin/js/tiptip.jquery.min.js (added)
-
tags/1.5.8/admin/partials (added)
-
tags/1.5.8/admin/partials/amp-wp-admin-add-ons.php (added)
-
tags/1.5.8/admin/partials/amp-wp-admin-header.php (added)
-
tags/1.5.8/admin/partials/amp-wp-admin-help.php (added)
-
tags/1.5.8/admin/partials/amp-wp-admin-rating-box.php (added)
-
tags/1.5.8/admin/partials/amp-wp-admin-system-status.php (added)
-
tags/1.5.8/admin/partials/settings (added)
-
tags/1.5.8/admin/partials/settings/amp-wp-admin-analytics.php (added)
-
tags/1.5.8/admin/partials/settings/amp-wp-admin-gdpr.php (added)
-
tags/1.5.8/admin/partials/settings/amp-wp-admin-general.php (added)
-
tags/1.5.8/admin/partials/settings/amp-wp-admin-layout.php (added)
-
tags/1.5.8/admin/partials/settings/amp-wp-admin-notice-bar.php (added)
-
tags/1.5.8/admin/partials/settings/amp-wp-admin-social-links.php (added)
-
tags/1.5.8/admin/partials/settings/amp-wp-admin-structured-data.php (added)
-
tags/1.5.8/admin/partials/settings/amp-wp-admin-translation.php (added)
-
tags/1.5.8/admin/partials/welcome (added)
-
tags/1.5.8/admin/partials/welcome/amp-wp-admin-credits.php (added)
-
tags/1.5.8/admin/partials/welcome/amp-wp-admin-features.php (added)
-
tags/1.5.8/admin/partials/welcome/amp-wp-admin-getting-started.php (added)
-
tags/1.5.8/amp-wp.php (added)
-
tags/1.5.8/includes (added)
-
tags/1.5.8/includes/Fastimage.php (added)
-
tags/1.5.8/includes/admin (added)
-
tags/1.5.8/includes/admin/class-amp-wp-add-ons.php (added)
-
tags/1.5.8/includes/admin/class-amp-wp-help.php (added)
-
tags/1.5.8/includes/admin/class-amp-wp-settings.php (added)
-
tags/1.5.8/includes/admin/class-amp-wp-system-status-override-function.php (added)
-
tags/1.5.8/includes/admin/class-amp-wp-system-status.php (added)
-
tags/1.5.8/includes/admin/class-amp-wp-welcome.php (added)
-
tags/1.5.8/includes/admin/settings (added)
-
tags/1.5.8/includes/admin/settings/class-amp-wp-analytics.php (added)
-
tags/1.5.8/includes/admin/settings/class-amp-wp-gdpr.php (added)
-
tags/1.5.8/includes/admin/settings/class-amp-wp-general.php (added)
-
tags/1.5.8/includes/admin/settings/class-amp-wp-layout.php (added)
-
tags/1.5.8/includes/admin/settings/class-amp-wp-notice-bar.php (added)
-
tags/1.5.8/includes/admin/settings/class-amp-wp-social-links.php (added)
-
tags/1.5.8/includes/admin/settings/class-amp-wp-structured-data.php (added)
-
tags/1.5.8/includes/admin/settings/class-amp-wp-translation.php (added)
-
tags/1.5.8/includes/admin/welcome (added)
-
tags/1.5.8/includes/admin/welcome/class-amp-wp-credits.php (added)
-
tags/1.5.8/includes/admin/welcome/class-amp-wp-features.php (added)
-
tags/1.5.8/includes/admin/welcome/class-amp-wp-getting-started.php (added)
-
tags/1.5.8/includes/class-amp-wp-activator.php (added)
-
tags/1.5.8/includes/class-amp-wp-component-base.php (added)
-
tags/1.5.8/includes/class-amp-wp-component.php (added)
-
tags/1.5.8/includes/class-amp-wp-content-sanitizer.php (added)
-
tags/1.5.8/includes/class-amp-wp-deactivator.php (added)
-
tags/1.5.8/includes/class-amp-wp-html-util.php (added)
-
tags/1.5.8/includes/class-amp-wp-i18n.php (added)
-
tags/1.5.8/includes/class-amp-wp-json-ld-generator.php (added)
-
tags/1.5.8/includes/class-amp-wp-loader.php (added)
-
tags/1.5.8/includes/class-amp-wp-menu-walker.php (added)
-
tags/1.5.8/includes/class-amp-wp-plugin-compatibility.php (added)
-
tags/1.5.8/includes/class-amp-wp-redirect-router.php (added)
-
tags/1.5.8/includes/class-amp-wp-rewrite-rules.php (added)
-
tags/1.5.8/includes/class-amp-wp-scripts.php (added)
-
tags/1.5.8/includes/class-amp-wp-styles.php (added)
-
tags/1.5.8/includes/class-amp-wp.php (added)
-
tags/1.5.8/includes/components (added)
-
tags/1.5.8/includes/components/class-amp-wp-carousel-component.php (added)
-
tags/1.5.8/includes/components/class-amp-wp-iframe-component.php (added)
-
tags/1.5.8/includes/components/class-amp-wp-img-component.php (added)
-
tags/1.5.8/includes/components/class-amp-wp-instagram-component.php (added)
-
tags/1.5.8/includes/components/class-amp-wp-playbuzz-component.php (added)
-
tags/1.5.8/includes/customizer (added)
-
tags/1.5.8/includes/customizer/amp-wp-core-customizer.php (added)
-
tags/1.5.8/includes/customizer/class-amp-wp-customize-accordion-control.php (added)
-
tags/1.5.8/includes/customizer/class-amp-wp-customize-divider-control.php (added)
-
tags/1.5.8/includes/customizer/class-amp-wp-customize-heading-control.php (added)
-
tags/1.5.8/includes/customizer/class-amp-wp-customize-image-radio-button-control.php (added)
-
tags/1.5.8/includes/customizer/class-amp-wp-customize-multiple-select-control.php (added)
-
tags/1.5.8/includes/customizer/class-amp-wp-customize-slider-control.php (added)
-
tags/1.5.8/includes/customizer/class-amp-wp-customize-switch-control.php (added)
-
tags/1.5.8/includes/customizer/class-amp-wp-customize.php (added)
-
tags/1.5.8/includes/functions (added)
-
tags/1.5.8/includes/functions/amp-wp-ad-functions.php (added)
-
tags/1.5.8/includes/functions/amp-wp-core-functions.php (added)
-
tags/1.5.8/includes/functions/amp-wp-formatting-functions.php (added)
-
tags/1.5.8/includes/functions/amp-wp-template-functions.php (added)
-
tags/1.5.8/includes/functions/amp-wp-template-hooks.php (added)
-
tags/1.5.8/includes/functions/amp-wp-theme-functions.php (added)
-
tags/1.5.8/includes/functions/amp-wp-utility-functions.php (added)
-
tags/1.5.8/includes/index.php (added)
-
tags/1.5.8/includes/interface-amp-wp-component.php (added)
-
tags/1.5.8/includes/sanitizer-rules.php (added)
-
tags/1.5.8/includes/tags-list.php (added)
-
tags/1.5.8/index.php (added)
-
tags/1.5.8/languages (added)
-
tags/1.5.8/languages/amp-wp.pot (added)
-
tags/1.5.8/public (added)
-
tags/1.5.8/public/class-amp-wp-public.php (added)
-
tags/1.5.8/public/css (added)
-
tags/1.5.8/public/css/global (added)
-
tags/1.5.8/public/css/global/global.css (added)
-
tags/1.5.8/public/css/global/global.min.css (added)
-
tags/1.5.8/public/css/global/global.rtl.css (added)
-
tags/1.5.8/public/css/global/global.rtl.min.css (added)
-
tags/1.5.8/public/css/themes (added)
-
tags/1.5.8/public/css/themes/tez (added)
-
tags/1.5.8/public/css/themes/tez/components (added)
-
tags/1.5.8/public/css/themes/tez/components/comments (added)
-
tags/1.5.8/public/css/themes/tez/components/comments/comments.css (added)
-
tags/1.5.8/public/css/themes/tez/components/comments/comments.min.css (added)
-
tags/1.5.8/public/css/themes/tez/components/comments/comments.rtl.css (added)
-
tags/1.5.8/public/css/themes/tez/components/comments/comments.rtl.min.css (added)
-
tags/1.5.8/public/css/themes/tez/components/gdpr (added)
-
tags/1.5.8/public/css/themes/tez/components/gdpr/gdpr.css (added)
-
tags/1.5.8/public/css/themes/tez/components/gdpr/gdpr.min.css (added)
-
tags/1.5.8/public/css/themes/tez/components/listing (added)
-
tags/1.5.8/public/css/themes/tez/components/listing/listing-1.css (added)
-
tags/1.5.8/public/css/themes/tez/components/listing/listing-1.min.css (added)
-
tags/1.5.8/public/css/themes/tez/components/listing/listing-1.rtl.css (added)
-
tags/1.5.8/public/css/themes/tez/components/listing/listing-1.rtl.min.css (added)
-
tags/1.5.8/public/css/themes/tez/components/listing/listing-2.css (added)
-
tags/1.5.8/public/css/themes/tez/components/listing/listing-2.min.css (added)
-
tags/1.5.8/public/css/themes/tez/components/listing/listing-2.rtl.css (added)
-
tags/1.5.8/public/css/themes/tez/components/listing/listing-2.rtl.min.css (added)
-
tags/1.5.8/public/css/themes/tez/components/notification (added)
-
tags/1.5.8/public/css/themes/tez/components/notification/notification.css (added)
-
tags/1.5.8/public/css/themes/tez/components/notification/notification.min.css (added)
-
tags/1.5.8/public/css/themes/tez/components/pagination (added)
-
tags/1.5.8/public/css/themes/tez/components/pagination/pagination.css (added)
-
tags/1.5.8/public/css/themes/tez/components/pagination/pagination.min.css (added)
-
tags/1.5.8/public/css/themes/tez/components/pagination/pagination.rtl.css (added)
-
tags/1.5.8/public/css/themes/tez/components/pagination/pagination.rtl.min.css (added)
-
tags/1.5.8/public/css/themes/tez/components/post (added)
-
tags/1.5.8/public/css/themes/tez/components/post-terms (added)
-
tags/1.5.8/public/css/themes/tez/components/post-terms/post-terms.css (added)
-
tags/1.5.8/public/css/themes/tez/components/post-terms/post-terms.min.css (added)
-
tags/1.5.8/public/css/themes/tez/components/post-terms/post-terms.rtl.css (added)
-
tags/1.5.8/public/css/themes/tez/components/post-terms/post-terms.rtl.min.css (added)
-
tags/1.5.8/public/css/themes/tez/components/post/post.css (added)
-
tags/1.5.8/public/css/themes/tez/components/post/post.min.css (added)
-
tags/1.5.8/public/css/themes/tez/components/post/post.rtl.css (added)
-
tags/1.5.8/public/css/themes/tez/components/post/post.rtl.min.css (added)
-
tags/1.5.8/public/css/themes/tez/components/sidebar (added)
-
tags/1.5.8/public/css/themes/tez/components/sidebar/sidebar.css (added)
-
tags/1.5.8/public/css/themes/tez/components/sidebar/sidebar.min.css (added)
-
tags/1.5.8/public/css/themes/tez/components/sidebar/sidebar.rtl.css (added)
-
tags/1.5.8/public/css/themes/tez/components/sidebar/sidebar.rtl.min.css (added)
-
tags/1.5.8/public/css/themes/tez/components/slider (added)
-
tags/1.5.8/public/css/themes/tez/components/slider/slider.css (added)
-
tags/1.5.8/public/css/themes/tez/components/slider/slider.min.css (added)
-
tags/1.5.8/public/css/themes/tez/components/social-list (added)
-
tags/1.5.8/public/css/themes/tez/components/social-list/social-list.css (added)
-
tags/1.5.8/public/css/themes/tez/components/social-list/social-list.min.css (added)
-
tags/1.5.8/public/css/themes/tez/components/social-list/social-list.rtl.css (added)
-
tags/1.5.8/public/css/themes/tez/components/social-list/social-list.rtl.min.css (added)
-
tags/1.5.8/public/css/themes/tez/gutenberg (added)
-
tags/1.5.8/public/css/themes/tez/gutenberg/button.css (added)
-
tags/1.5.8/public/css/themes/tez/gutenberg/button.min.css (added)
-
tags/1.5.8/public/css/themes/tez/gutenberg/columns.css (added)
-
tags/1.5.8/public/css/themes/tez/gutenberg/columns.min.css (added)
-
tags/1.5.8/public/css/themes/tez/gutenberg/cover.css (added)
-
tags/1.5.8/public/css/themes/tez/gutenberg/cover.min.css (added)
-
tags/1.5.8/public/css/themes/tez/gutenberg/file.css (added)
-
tags/1.5.8/public/css/themes/tez/gutenberg/file.min.css (added)
-
tags/1.5.8/public/css/themes/tez/pages (added)
-
tags/1.5.8/public/css/themes/tez/pages/404 (added)
-
tags/1.5.8/public/css/themes/tez/pages/404/404.css (added)
-
tags/1.5.8/public/css/themes/tez/pages/404/404.min.css (added)
-
tags/1.5.8/public/css/themes/tez/pages/attachment (added)
-
tags/1.5.8/public/css/themes/tez/pages/attachment/attachment.css (added)
-
tags/1.5.8/public/css/themes/tez/pages/attachment/attachment.min.css (added)
-
tags/1.5.8/public/css/themes/tez/pages/attachment/attachment.rtl.css (added)
-
tags/1.5.8/public/css/themes/tez/pages/attachment/attachment.rtl.min.css (added)
-
tags/1.5.8/public/css/themes/tez/pages/page (added)
-
tags/1.5.8/public/css/themes/tez/pages/page/page.css (added)
-
tags/1.5.8/public/css/themes/tez/pages/page/page.min.css (added)
-
tags/1.5.8/public/css/themes/tez/pages/search (added)
-
tags/1.5.8/public/css/themes/tez/pages/search/search.css (added)
-
tags/1.5.8/public/css/themes/tez/pages/search/search.min.css (added)
-
tags/1.5.8/public/css/themes/tez/pages/search/search.rtl.css (added)
-
tags/1.5.8/public/css/themes/tez/pages/search/search.rtl.min.css (added)
-
tags/1.5.8/public/css/themes/tez/pages/single (added)
-
tags/1.5.8/public/css/themes/tez/pages/single/single.css (added)
-
tags/1.5.8/public/css/themes/tez/pages/single/single.min.css (added)
-
tags/1.5.8/public/css/themes/tez/pages/single/single.rtl.css (added)
-
tags/1.5.8/public/css/themes/tez/pages/single/single.rtl.min.css (added)
-
tags/1.5.8/public/css/themes/tez/plugins (added)
-
tags/1.5.8/public/css/themes/tez/plugins/amp-wp-ads-manager (added)
-
tags/1.5.8/public/css/themes/tez/plugins/amp-wp-ads-manager/ads.css (added)
-
tags/1.5.8/public/css/themes/tez/plugins/amp-wp-ads-manager/ads.min.css (added)
-
tags/1.5.8/public/css/themes/tez/plugins/amp-wp-ads-manager/ads.rtl.css (added)
-
tags/1.5.8/public/css/themes/tez/plugins/amp-wp-ads-manager/ads.rtl.min.css (added)
-
tags/1.5.8/public/css/themes/tez/plugins/comment-form (added)
-
tags/1.5.8/public/css/themes/tez/plugins/comment-form/comment-form.css (added)
-
tags/1.5.8/public/css/themes/tez/plugins/comment-form/comment-form.min.css (added)
-
tags/1.5.8/public/css/themes/tez/plugins/gravity-form (added)
-
tags/1.5.8/public/css/themes/tez/plugins/gravity-form/gravity-form.css (added)
-
tags/1.5.8/public/css/themes/tez/plugins/gravity-form/gravity-form.min.css (added)
-
tags/1.5.8/public/css/themes/tez/plugins/woocommerce (added)
-
tags/1.5.8/public/css/themes/tez/plugins/woocommerce/wc-base (added)
-
tags/1.5.8/public/css/themes/tez/plugins/woocommerce/wc-base/wc-base.css (added)
-
tags/1.5.8/public/css/themes/tez/plugins/woocommerce/wc-base/wc-base.min.css (added)
-
tags/1.5.8/public/css/themes/tez/plugins/woocommerce/wc-base/wc-base.rtl.css (added)
-
tags/1.5.8/public/css/themes/tez/plugins/woocommerce/wc-base/wc-base.rtl.min.css (added)
-
tags/1.5.8/public/css/themes/tez/plugins/woocommerce/wc-cart (added)
-
tags/1.5.8/public/css/themes/tez/plugins/woocommerce/wc-cart/wc-cart.css (added)
-
tags/1.5.8/public/css/themes/tez/plugins/woocommerce/wc-cart/wc-cart.min.css (added)
-
tags/1.5.8/public/css/themes/tez/plugins/woocommerce/wc-cart/wc-cart.rtl.css (added)
-
tags/1.5.8/public/css/themes/tez/plugins/woocommerce/wc-cart/wc-cart.rtl.min.css (added)
-
tags/1.5.8/public/css/themes/tez/plugins/woocommerce/wc-single (added)
-
tags/1.5.8/public/css/themes/tez/plugins/woocommerce/wc-single/wc-single.css (added)
-
tags/1.5.8/public/css/themes/tez/plugins/woocommerce/wc-single/wc-single.min.css (added)
-
tags/1.5.8/public/css/themes/tez/plugins/woocommerce/wc-single/wc-single.rtl.css (added)
-
tags/1.5.8/public/css/themes/tez/plugins/woocommerce/wc-single/wc-single.rtl.min.css (added)
-
tags/1.5.8/public/images (added)
-
tags/1.5.8/public/images/no-image-option-1.jpg (added)
-
tags/1.5.8/public/images/no-image-option-2.jpg (added)
-
tags/1.5.8/public/images/no-image.jpg (added)
-
tags/1.5.8/public/index.php (added)
-
tags/1.5.8/public/js (added)
-
tags/1.5.8/public/js/mobile_redirect.js (added)
-
tags/1.5.8/public/js/mobile_redirect.min.js (added)
-
tags/1.5.8/public/partials (added)
-
tags/1.5.8/public/partials/tez (added)
-
tags/1.5.8/public/partials/tez/404.php (added)
-
tags/1.5.8/public/partials/tez/amp-wp-ads-manager (added)
-
tags/1.5.8/public/partials/tez/amp-wp-ads-manager/ads.php (added)
-
tags/1.5.8/public/partials/tez/archive-product.php (added)
-
tags/1.5.8/public/partials/tez/archive.php (added)
-
tags/1.5.8/public/partials/tez/attachment.php (added)
-
tags/1.5.8/public/partials/tez/comment-item.php (added)
-
tags/1.5.8/public/partials/tez/components (added)
-
tags/1.5.8/public/partials/tez/components/gdpr (added)
-
tags/1.5.8/public/partials/tez/components/gdpr/gdpr.php (added)
-
tags/1.5.8/public/partials/tez/components/notification (added)
-
tags/1.5.8/public/partials/tez/components/notification/notification.php (added)
-
tags/1.5.8/public/partials/tez/components/pagination (added)
-
tags/1.5.8/public/partials/tez/components/pagination/pagination.php (added)
-
tags/1.5.8/public/partials/tez/components/post-terms (added)
-
tags/1.5.8/public/partials/tez/components/post-terms/post-terms-categories.php (added)
-
tags/1.5.8/public/partials/tez/components/slider (added)
-
tags/1.5.8/public/partials/tez/components/slider/slider.php (added)
-
tags/1.5.8/public/partials/tez/components/social-list (added)
-
tags/1.5.8/public/partials/tez/components/social-list/social-links.php (added)
-
tags/1.5.8/public/partials/tez/components/social-list/social-share.php (added)
-
tags/1.5.8/public/partials/tez/footer.php (added)
-
tags/1.5.8/public/partials/tez/header.php (added)
-
tags/1.5.8/public/partials/tez/index.php (added)
-
tags/1.5.8/public/partials/tez/page.php (added)
-
tags/1.5.8/public/partials/tez/search.php (added)
-
tags/1.5.8/public/partials/tez/searchform.php (added)
-
tags/1.5.8/public/partials/tez/shortcodes (added)
-
tags/1.5.8/public/partials/tez/shortcodes/amp-slider.php (added)
-
tags/1.5.8/public/partials/tez/shortcodes/gallery.php (added)
-
tags/1.5.8/public/partials/tez/shortcodes/index.php (added)
-
tags/1.5.8/public/partials/tez/sidebar.php (added)
-
tags/1.5.8/public/partials/tez/single-post (added)
-
tags/1.5.8/public/partials/tez/single-post/comments.php (added)
-
tags/1.5.8/public/partials/tez/single-post/description.php (added)
-
tags/1.5.8/public/partials/tez/single-post/meta.php (added)
-
tags/1.5.8/public/partials/tez/single-post/post-terms.php (added)
-
tags/1.5.8/public/partials/tez/single-post/post-thumbnails.php (added)
-
tags/1.5.8/public/partials/tez/single-post/related.php (added)
-
tags/1.5.8/public/partials/tez/single-post/title.php (added)
-
tags/1.5.8/public/partials/tez/single-product.php (added)
-
tags/1.5.8/public/partials/tez/single.php (added)
-
tags/1.5.8/public/partials/tez/template-parts (added)
-
tags/1.5.8/public/partials/tez/template-parts/archive-post-thumbnails.php (added)
-
tags/1.5.8/public/partials/tez/template-parts/archive-title.php (added)
-
tags/1.5.8/public/partials/tez/template-parts/content.php (added)
-
tags/1.5.8/public/partials/tez/template-parts/listing-1.php (added)
-
tags/1.5.8/public/partials/tez/template-parts/listing-2.php (added)
-
tags/1.5.8/public/partials/tez/template-parts/post-meta-author.php (added)
-
tags/1.5.8/public/partials/tez/template-parts/post-meta-date.php (added)
-
tags/1.5.8/public/partials/tez/template-parts/post-title.php (added)
-
tags/1.5.8/public/partials/tez/woocommerce (added)
-
tags/1.5.8/public/partials/tez/woocommerce.php (added)
-
tags/1.5.8/public/partials/tez/woocommerce/cart (added)
-
tags/1.5.8/public/partials/tez/woocommerce/cart/cart.php (added)
-
tags/1.5.8/public/partials/tez/woocommerce/cart/proceed-to-checkout-button.php (added)
-
tags/1.5.8/public/partials/tez/woocommerce/loop.php (added)
-
tags/1.5.8/public/partials/tez/woocommerce/notices (added)
-
tags/1.5.8/public/partials/tez/woocommerce/notices/success.php (added)
-
tags/1.5.8/public/partials/tez/woocommerce/single-product (added)
-
tags/1.5.8/public/partials/tez/woocommerce/single-product/review-rating.php (added)
-
tags/1.5.8/uninstall.php (added)
-
trunk/README.txt (modified) (2 diffs)
-
trunk/admin/class-amp-wp-meta-box.php (modified) (1 diff)
-
trunk/admin/css/amp-wp-admin.css (modified) (1 diff)
-
trunk/admin/partials/settings/amp-wp-admin-general.php (modified) (11 diffs)
-
trunk/amp-wp.php (modified) (2 diffs)
-
trunk/includes/admin/settings/class-amp-wp-general.php (modified) (1 diff)
-
trunk/includes/class-amp-wp-component.php (modified) (1 diff)
-
trunk/includes/class-amp-wp-content-sanitizer.php (modified) (21 diffs)
-
trunk/includes/class-amp-wp-html-util.php (modified) (1 diff)
-
trunk/includes/class-amp-wp-menu-walker.php (modified) (8 diffs)
-
trunk/includes/class-amp-wp-plugin-compatibility.php (modified) (8 diffs)
-
trunk/includes/class-amp-wp-redirect-router.php (modified) (3 diffs)
-
trunk/includes/class-amp-wp-rewrite-rules.php (modified) (7 diffs)
-
trunk/includes/class-amp-wp-scripts.php (modified) (1 diff)
-
trunk/includes/components/class-amp-wp-img-component.php (modified) (1 diff)
-
trunk/includes/components/class-amp-wp-instagram-component.php (modified) (3 diffs)
-
trunk/includes/components/class-amp-wp-playbuzz-component.php (added)
-
trunk/includes/customizer/amp-wp-core-customizer.php (modified) (1 diff)
-
trunk/includes/functions/amp-wp-ad-functions.php (modified) (1 diff)
-
trunk/includes/functions/amp-wp-core-functions.php (modified) (3 diffs)
-
trunk/includes/functions/amp-wp-formatting-functions.php (modified) (2 diffs)
-
trunk/includes/functions/amp-wp-template-functions.php (modified) (3 diffs)
-
trunk/includes/functions/amp-wp-utility-functions.php (modified) (3 diffs)
-
trunk/public/class-amp-wp-public.php (modified) (28 diffs)
Legend:
- Unmodified
- Added
- Removed
-
amp-wp/trunk/README.txt
r2077306 r2125154 4 4 Tags: AMP, AMP For WP, AMP For WordPress, accelerated mobile pages, mobile theme, google amp, plugin, amp wp 5 5 Requires at least: 4.9.6 6 Tested up to: 5. 1.16 Tested up to: 5.2.2 7 7 Requires PHP: 5.6 8 Stable tag: 1.5. 78 Stable tag: 1.5.8 9 9 License: GPLv2 or later 10 10 License URI: http://www.gnu.org/licenses/gpl-2.0.html … … 174 174 == Changelog == 175 175 176 = 1.5.8 - 2019-07-18 = 177 * Feature: Option to remove any taxonomy/post from AMP version udder General settings. 178 * Fix: amp-mustache script enqueue error when using contact form 7 179 176 180 = 1.5.7 - 2019-04-30 = 177 181 * Fix: Broken editor issue is resolved when a post/page is edit. -
amp-wp/trunk/admin/class-amp-wp-meta-box.php
r2077306 r2125154 68 68 69 69 global $post; 70 $html = '<p>'; 71 $html .= '<label for="amp-wp-' . $id . '">' . $label . '</label>'; 72 $html .= '<input type="checkbox" id="amp-wp-' . $id . '" name="amp-wp-' . $id . '" value="1" ' . checked( true, get_post_meta( $post->ID, 'disable-amp-wp', true ) ) . ' />'; 73 if ( $desc ) { 74 $html .= '<span class="tips">' . $desc . '</span>'; 75 } 76 77 $html .= '</p>'; 78 echo $html; 70 ?> 71 <p> 72 <label for="amp-wp-<?php echo $id; ?>"><?php echo $label; ?></label> 73 <input type="checkbox" id="amp-wp-<?php echo $id; ?>" name="amp-wp-<?php echo $id; ?>" value="1" 74 <?php checked( get_post_meta( $post->ID, 'disable-amp-wp', true ), 1 ); ?> 75 /> 76 <?php if ( $desc ) { ?> 77 <span class="tips"><?php echo $desc; ?></span> 78 <?php } ?> 79 </p> 80 <?php 79 81 } 80 82 -
amp-wp/trunk/admin/css/amp-wp-admin.css
r2076574 r2125154 1 .select2-container .select2-dropdown .select2-results .select2-results__options .select2-results__option,.select2-container .select2-selection--multiple,.select2-container .select2-selection--single{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.amp-wp-adb .amp-wp-box-num-icon .amp-wp-num-icon-title:after,.amp-wp-adb .amp-wp-box-num-icon .amp-wp-num-icon-title:before,.amp-wp-adb .amp-wp-box-w-icon:after,.amp-wp-adb .amp-wp-box-w-icon:before,.amp-wp-adb .row:after,.amp-wp-adb .row:before{content:" ";display:table}.amp-wp-adb .amp-wp-box-num-icon .amp-wp-num-icon-title:after,.amp-wp-adb .amp-wp-box-w-icon:after,.amp-wp-adb .row:after{clear:both}.amp-wp-adb .amp-wp-content-wrap,.amp-wp-adb .amp-wp-header .amp-wp-logo,.amp-wp-adb .amp-wp-htabs,.amp-wp-adb .amp-wp-table,.amp-wp-adb .amp-wp-vtabs{-webkit-box-shadow:0 1px 3px rgba(0, 0, 0, 0.2);box-shadow:0 1px 3px rgba(0, 0, 0, 0.2)}.amp-wp-adb .amp-wp-box,.amp-wp-adb .amp-wp-box-w-img,.amp-wp-adb .amp-wp-team .amp-wp-team-member{-webkit-box-shadow:0 1px 3px rgba(0, 0, 0, 0.3);box-shadow:0 1px 3px rgba(0, 0, 0, 0.3)}.amp-wp-adb .amp-wp-box,.amp-wp-adb .amp-wp-content-wrap,.amp-wp-adb .amp-wp-htabs,.amp-wp-adb .amp-wp-table,.amp-wp-adb .amp-wp-team .amp-wp-team-member,.amp-wp-adb .amp-wp-vtabs,.select2-container{-webkit-box-sizing:border-box;box-sizing:border-box}.amp-wp-adb .amp-wp-box *,.amp-wp-adb .amp-wp-box :after,.amp-wp-adb .amp-wp-box :before,.amp-wp-adb .amp-wp-box+.tgl-btn,.amp-wp-adb .amp-wp-box:after,.amp-wp-adb .amp-wp-box:before,.amp-wp-adb .amp-wp-content-wrap *,.amp-wp-adb .amp-wp-content-wrap :after,.amp-wp-adb .amp-wp-content-wrap :before,.amp-wp-adb .amp-wp-content-wrap+.tgl-btn,.amp-wp-adb .amp-wp-content-wrap:after,.amp-wp-adb .amp-wp-content-wrap:before,.amp-wp-adb .amp-wp-htabs *,.amp-wp-adb .amp-wp-htabs :after,.amp-wp-adb .amp-wp-htabs :before,.amp-wp-adb .amp-wp-htabs+.tgl-btn,.amp-wp-adb .amp-wp-htabs:after,.amp-wp-adb .amp-wp-htabs:before,.amp-wp-adb .amp-wp-table *,.amp-wp-adb .amp-wp-table :after,.amp-wp-adb .amp-wp-table :before,.amp-wp-adb .amp-wp-table+.tgl-btn,.amp-wp-adb .amp-wp-table:after,.amp-wp-adb .amp-wp-table:before,.amp-wp-adb .amp-wp-team .amp-wp-team-member *,.amp-wp-adb .amp-wp-team .amp-wp-team-member :after,.amp-wp-adb .amp-wp-team .amp-wp-team-member :before,.amp-wp-adb .amp-wp-team .amp-wp-team-member+.tgl-btn,.amp-wp-adb .amp-wp-team .amp-wp-team-member:after,.amp-wp-adb .amp-wp-team .amp-wp-team-member:before,.amp-wp-adb .amp-wp-vtabs *,.amp-wp-adb .amp-wp-vtabs :after,.amp-wp-adb .amp-wp-vtabs :before,.amp-wp-adb .amp-wp-vtabs+.tgl-btn,.amp-wp-adb .amp-wp-vtabs:after,.amp-wp-adb .amp-wp-vtabs:before,.select2-container *,.select2-container :after,.select2-container :before,.select2-container+.tgl-btn,.select2-container:after,.select2-container:before{-webkit-box-sizing:border-box;box-sizing:border-box}@font-face{font-family:"amp-wp-admin-icons";src:url("../fonts/amp-wp-admin-icons/amp-wp-admin-icons.eot");src:url("../fonts/amp-wp-admin-icons/amp-wp-admin-icons.eot?#iefix") format("embedded-opentype"), url("../fonts/amp-wp-admin-icons/amp-wp-admin-icons.woff") format("woff"), url("../fonts/amp-wp-admin-icons/amp-wp-admin-icons.ttf") format("truetype"), url("../fonts/amp-wp-admin-icons/amp-wp-admin-icons.svg#amp-wp-admin-icons") format("svg");font-weight:normal;font-style:normal}[data-icon]:before{font-family:"amp-wp-admin-icons"!important;content:attr(data-icon);font-style:normal!important;font-weight:normal!important;font-variant:normal!important;text-transform:none!important;speak:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}[class*=" amp-wp-admin-icon-"]:before,[class^=amp-wp-admin-icon-]:before{font-family:"amp-wp-admin-icons"!important;font-style:normal!important;font-weight:normal!important;font-variant:normal!important;text-transform:none!important;speak:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.amp-wp-admin-icon-settings:before{content:"\62"}.amp-wp-admin-icon-gears-setting-1:before{content:"\63"}.amp-wp-admin-icon-send-to-front:before{content:"\64"}.amp-wp-admin-icon-send-to-back:before{content:"\65"}.amp-wp-admin-icon-layers:before{content:"\66"}.amp-wp-admin-icon-layers-1:before{content:"\67"}.amp-wp-admin-icon-layers-2:before{content:"\6a"}.amp-wp-admin-icon-paint-brush-2:before{content:"\6f"}.amp-wp-admin-icon-area-chart:before{content:"\71"}.amp-wp-admin-icon-globe:before{content:"\73"}.amp-wp-admin-icon-bell:before{content:"\74"}.amp-wp-admin-icon-notification:before{content:"\76"}.amp-wp-admin-icon-cogs:before{content:"\77"}.amp-wp-admin-icon-cog:before{content:"\78"}.amp-wp-admin-icon-wrench:before{content:"\42"}.amp-wp-admin-icon-cog-gear:before{content:"\43"}.amp-wp-admin-icon-file:before{content:"\61"}.amp-wp-admin-icon-file-text:before{content:"\68"}.amp-wp-admin-icon-document-file-1:before{content:"\69"}.amp-wp-admin-icon-pin:before{content:"\6c"}.amp-wp-admin-icon-pin-map-2:before{content:"\6d"}.amp-wp-admin-icon-home:before{content:"\70"}.amp-wp-admin-icon-home-1:before{content:"\72"}.amp-wp-admin-icon-archive:before{content:"\75"}.amp-wp-admin-icon-search:before{content:"\7a"}.amp-wp-admin-icon-info-circle:before{content:"\6e"}.amp-wp-admin-icon-info-with-circle:before{content:"\44"}.amp-wp-admin-icon-user:before{content:"\6b"}.amp-wp-admin-icon-users:before{content:"\79"}.amp-wp-admin-icon-user-1:before{content:"\41"}.amp-wp-admin-icon-information-white:before{content:"\45"}.amp-wp-admin-icon-info:before{content:"\46"}.amp-wp-admin-icon-compose:before{content:"\47"}.amp-wp-admin-icon-calendar:before{content:"\48"}.amp-wp-admin-icon-browser:before{content:"\49"}.amp-wp-admin-icon-add:before{content:"\4a"}.amp-wp-admin-icon-calculator-2:before{content:"\4b"}.amp-wp-admin-icon-grid-alt:before{content:"\4c"}.amp-wp-admin-icon-grid:before{content:"\4d"}.amp-wp-admin-icon-globe-1:before{content:"\4e"}.amp-wp-admin-icon-home-2:before{content:"\4f"}.amp-wp-admin-icon-ipad:before{content:"\50"}.amp-wp-admin-icon-menu:before{content:"\51"}.amp-wp-admin-icon-list:before{content:"\52"}.amp-wp-admin-icon-maximize:before{content:"\53"}.amp-wp-admin-icon-windows:before{content:"\54"}.amp-wp-admin-icon-exclamation:before{content:"\55"}.amp-wp-admin-icon-comments:before{content:"\56"}.amp-wp-admin-icon-envelope:before{content:"\57"}.amp-wp-admin-icon-settings-1:before{content:"\58"}.amp-wp-admin-icon-task:before{content:"\59"}.amp-wp-admin-icon-screen:before{content:"\5a"}.amp-wp-admin-icon-attachment:before{content:"\30"}.amp-wp-admin-icon-forbid-1:before{content:"\31"}.amp-wp-admin-icon-inbox:before{content:"\32"}.amp-wp-admin-icon-hyperlink:before{content:"\33"}.amp-wp-admin-icon-newspaper:before{content:"\34"}.amp-wp-admin-icon-newspaper-alt:before{content:"\35"}.amp-wp-admin-icon-portfolio:before{content:"\36"}.amp-wp-admin-icon-heart:before{content:"\37"}.amp-wp-admin-icon-chat:before{content:"\38"}.amp-wp-admin-icon-circle-full:before{content:"\39"}.amp-wp-admin-icon-question:before{content:"\21"}.amp-wp-admin-icon-feather:before{content:"\22"}.amp-wp-admin-icon-clipboard:before{content:"\23"}.amp-wp-admin-icon-spinner:before{content:"\24"}.amp-wp-admin-icon-gallary:before{content:"\25"}.select2-container{display:inline-block;margin:0;position:relative;vertical-align:middle;font-size:14px;width:100%;max-width:300px}.select2-container .select2-selection--single{cursor:pointer;display:block;height:32px;background-color:#f9f9f9;border:1px solid #9f9f9f;border-radius:3px}.select2-container .select2-selection--single .select2-selection__rendered{display:block;padding-left:8px;padding-right:20px;overflow:hidden;-o-text-overflow:ellipsis;text-overflow:ellipsis;white-space:nowrap;color:#23282D;line-height:30px}.select2-container .select2-selection--single .select2-selection__clear{position:relative;cursor:pointer;float:right;font-weight:bold}.select2-container .select2-selection--single .select2-selection__placeholder{color:#9f9f9f}.select2-container .select2-selection--single .select2-selection__arrow{height:32px;position:absolute;top:1px;right:1px;width:20px}.select2-container .select2-selection--single .select2-selection__arrow b{border-color:#9f9f9f transparent transparent transparent;border-style:solid;border-width:5px 4px 0 4px;height:0;left:50%;margin-left:-4px;margin-top:-2px;position:absolute;top:50%;width:0}.select2-container .select2-selection--multiple{cursor:text;display:block;min-height:32px;background-color:#f9f9f9;border:1px solid #9f9f9f;border-radius:3px}.select2-container .select2-selection--multiple .select2-selection__rendered{padding:0 8px;display:inline-block;list-style:none;overflow:hidden;margin:0;width:100%;-o-text-overflow:ellipsis;text-overflow:ellipsis;white-space:nowrap}.select2-container .select2-selection--multiple .select2-selection__rendered li{list-style:none}.select2-container .select2-selection--multiple .select2-selection__placeholder{color:#9f9f9f;margin-top:5px;float:left}.select2-container .select2-selection--multiple .select2-selection__clear{cursor:pointer;float:right;font-weight:bold;margin-top:5px;margin-right:10px}.select2-container .select2-selection--multiple .select2-selection__choice{background-color:#0073AA;border:1px solid #0073AA;color:#fff;border-radius:3px;cursor:default;float:left;margin-right:5px;margin-top:5px;padding:0 5px;font-size:12px;line-height:17px}.select2-container .select2-selection--multiple .select2-selection__choice__remove{color:#dddddd;cursor:pointer;display:inline-block;font-weight:bold;margin-right:2px;position:relative;font-size:13px}.select2-container .select2-selection--multiple .select2-selection__choice__remove:hover{color:#fff}.select2-container .select2-search--inline{float:left}.select2-container .select2-search--inline .select2-search__field{font-size:100%;margin-top:5px;padding:0;background:transparent;border:none;outline:0;-webkit-box-shadow:none;box-shadow:none}.select2-container .select2-search--dropdown{display:block;padding:4px}.select2-container .select2-search--dropdown .select2-search__field{padding:4px;width:100%;border:1px solid #9f9f9f;border-radius:3px}.select2-container .select2-search--dropdown .select2-search__field:focus{-webkit-box-shadow:none;box-shadow:none;border-color:#0073AA}.select2-container .select2-search--dropdown.select2-search--hide{display:none}.select2-container .select2-dropdown{background-color:#f9f9f9;border:1px solid #9f9f9f;border-radius:3px;display:block;position:absolute;left:-100000px;width:100%;z-index:1051;left:0}.select2-container .select2-dropdown.select2-dropdown--above,.select2-container .select2-dropdown.select2-dropdown--below{border-color:#0073AA}.select2-container .select2-dropdown.select2-dropdown--above{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0}.select2-container .select2-dropdown.select2-dropdown--below{border-top:none;border-top-left-radius:0;border-top-right-radius:0}.select2-container .select2-dropdown .select2-results{display:block}.select2-container .select2-dropdown .select2-results .select2-results__options{list-style:none;margin:0;padding:0;max-height:200px;overflow-y:auto}.select2-container .select2-dropdown .select2-results .select2-results__options .select2-results__option{padding:6px}.select2-container .select2-dropdown .select2-results .select2-results__options .select2-results__option[aria-selected]{cursor:pointer}.select2-container .select2-dropdown .select2-results .select2-results__options .select2-results__option[role=group]{padding:0}.select2-container .select2-dropdown .select2-results .select2-results__options .select2-results__option[aria-disabled=true]{color:#aaa}.select2-container .select2-dropdown .select2-results .select2-results__options .select2-results__option[aria-selected=true]{background-color:#dddddd}.select2-container .select2-dropdown .select2-results .select2-results__options .select2-results__option .select2-results__group{cursor:default;display:block;padding:6px}.select2-container .select2-dropdown .select2-results .select2-results__options .select2-results__option .select2-results__option{padding-left:14px}.select2-container .select2-dropdown .select2-results .select2-results__options .select2-results__option .select2-results__option .select2-results__group{padding-left:0}.select2-container .select2-dropdown .select2-results .select2-results__options .select2-results__option .select2-results__option .select2-results__option{margin-left:-14px;padding-left:28px}.select2-container .select2-dropdown .select2-results .select2-results__options .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-28px;padding-left:42px}.select2-container .select2-dropdown .select2-results .select2-results__options .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-42px;padding-left:56px}.select2-container .select2-dropdown .select2-results .select2-results__options .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-56px;padding-left:70px}.select2-container .select2-dropdown .select2-results .select2-results__options .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-70px;padding-left:84px}.select2-container .select2-dropdown .select2-results .select2-results__options .select2-results__option--highlighted[aria-selected]{background-color:#0073AA;color:#fff}.select2-container.select2-container--open .select2-selection--multiple,.select2-container.select2-container--open .select2-selection--single{border-color:#0073AA}.select2-container.select2-container--open.select2-container--above .select2-selection--multiple,.select2-container.select2-container--open.select2-container--above .select2-selection--single{border-top:0 none;border-top-left-radius:0;border-top-right-radius:0}.select2-container.select2-container--open.select2-container--below .select2-selection--multiple,.select2-container.select2-container--open.select2-container--below .select2-selection--single{border-bottom:0 none;border-bottom-left-radius:0;border-bottom-right-radius:0}.select2-container.select2-container--open .select2-selection--single .select2-selection__arrow b{border-color:transparent transparent #9f9f9f transparent;border-width:0 4px 5px 4px}.select2-container.select2-container--focus .select2-selection--multiple,.select2-container.select2-container--focus .select2-selection--single{outline:0}.select2-container.select2-container--disabled .select2-selection--single{background-color:#eeeeee;cursor:default}.select2-container.select2-container--disabled .select2-selection--single .select2-selection__clear{display:none}.select2-container.select2-container--disabled .select2-selection--multiple{background-color:#eeeeee;cursor:default}.select2-container.select2-container--disabled .select2-selection__choice__remove{display:none}.select2-container[dir=rtl] .select2-selection--single .select2-selection__clear{float:left}.select2-container[dir=rtl] .select2-selection--single .select2-selection__arrow{left:1px;right:auto}.select2-container[dir=rtl] .select2-selection--single .select2-selection__rendered{padding-right:8px;padding-left:20px}.select2-container[dir=rtl] .select2-selection--multiple .select2-selection__choice{float:right;margin-left:5px;margin-right:auto}.select2-container[dir=rtl] .select2-selection--multiple .select2-selection__placeholder{float:right}.select2-container[dir=rtl] .select2-selection--multiple .select2-search--inline{float:right}.select2-container[dir=rtl] .select2-selection--multiple .select2-selection__choice__remove{margin-left:2px;margin-right:auto}.select2-close-mask{border:0;margin:0;padding:0;display:block;position:fixed;left:0;top:0;min-height:100%;min-width:100%;height:auto;width:auto;opacity:0;z-index:99;background-color:#fff;filter:alpha(opacity=0)}.select2-hidden-accessible{border:0!important;clip:rect(0 0 0 0)!important;-webkit-clip-path:inset(50%)!important;clip-path:inset(50%)!important;height:1px!important;overflow:hidden!important;padding:0!important;position:absolute!important;width:1px!important;white-space:nowrap!important}#tiptip_holder{display:none;position:absolute;top:0;left:0;z-index:99999}#tiptip_holder.tip_top{padding-bottom:5px}#tiptip_holder.tip_bottom{padding-top:5px}#tiptip_holder.tip_right{padding-left:5px}#tiptip_holder.tip_left{padding-right:5px}#tiptip_content{font-size:11px;color:#fff;text-shadow:0 0 2px #000;padding:4px 8px;border:1px solid rgba(255, 255, 255, 0.25);background-color:#191919;background-color:rgba(25, 25, 25, 0.92);background-image:-webkit-gradient(linear, 0% 0%, 0% 100%, from(transparent), to(#000));border-radius:3px;-webkit-border-radius:3px;-moz-border-radius:3px;box-shadow:0 0 3px #555;-webkit-box-shadow:0 0 3px #555;-moz-box-shadow:0 0 3px #555}#tiptip_arrow,#tiptip_arrow_inner{position:absolute;border-color:transparent;border-style:solid;border-width:6px;height:0;width:0}#tiptip_holder.tip_top #tiptip_arrow{border-top-color:#fff;border-top-color:rgba(255, 255, 255, 0.35)}#tiptip_holder.tip_bottom #tiptip_arrow{border-bottom-color:#fff;border-bottom-color:rgba(255, 255, 255, 0.35)}#tiptip_holder.tip_right #tiptip_arrow{border-right-color:#fff;border-right-color:rgba(255, 255, 255, 0.35)}#tiptip_holder.tip_left #tiptip_arrow{border-left-color:#fff;border-left-color:rgba(255, 255, 255, 0.35)}#tiptip_holder.tip_top #tiptip_arrow_inner{margin-top:-7px;margin-left:-6px;border-top-color:#191919;border-top-color:rgba(25, 25, 25, 0.92)}#tiptip_holder.tip_bottom #tiptip_arrow_inner{margin-top:-5px;margin-left:-6px;border-bottom-color:#191919;border-bottom-color:rgba(25, 25, 25, 0.92)}#tiptip_holder.tip_right #tiptip_arrow_inner{margin-top:-6px;margin-left:-5px;border-right-color:#191919;border-right-color:rgba(25, 25, 25, 0.92)}#tiptip_holder.tip_left #tiptip_arrow_inner{margin-top:-6px;margin-left:-7px;border-left-color:#191919;border-left-color:rgba(25, 25, 25, 0.92)}@media screen and (-webkit-min-device-pixel-ratio:0){#tiptip_content{padding:4px 8px 5px 8px;background-color:rgba(45, 45, 45, 0.88)}#tiptip_holder.tip_bottom #tiptip_arrow_inner{border-bottom-color:rgba(45, 45, 45, 0.88)}#tiptip_holder.tip_top #tiptip_arrow_inner{border-top-color:rgba(20, 20, 20, 0.92)}}.amp-wp-adb{}.amp-wp-adb h1,.amp-wp-adb h2,.amp-wp-adb h3,.amp-wp-adb h4,.amp-wp-adb h5,.amp-wp-adb h6,.amp-wp-adb p{margin-top:0;margin-bottom:10px}.amp-wp-adb h1,.amp-wp-adb h2,.amp-wp-adb h3,.amp-wp-adb h4,.amp-wp-adb h5,.amp-wp-adb h6{line-height:1.2}.amp-wp-adb p{line-height:1.3}.amp-wp-adb a{color:#0073AA;font-weight:600;-webkit-transition:all 0.2s ease-out;-o-transition:all 0.2s ease-out;transition:all 0.2s ease-out}.amp-wp-adb a:focus,.amp-wp-adb a:hover{color:#003f5e;-webkit-transition:all 0.2s ease-in;-o-transition:all 0.2s ease-in;transition:all 0.2s ease-in}.amp-wp-adb .description{margin-top:10px;font-style:normal;color:#666}.amp-wp-adb .pre{font-family:monospace}.amp-wp-adb .secondary-link{color:#e53935}.amp-wp-adb .secondary-link:focus,.amp-wp-adb .secondary-link:hover{color:#b61b17}.amp-wp-adb [class*=col-lg-],.amp-wp-adb [class*=col-md-],.amp-wp-adb [class*=col-sm-],.amp-wp-adb [class*=col-xs-]{float:left;min-height:1px;padding:0 15px}.amp-wp-adb .row{margin:0 -15px}.amp-wp-adb .container{padding:0 15px;margin:0 auto}.amp-wp-adb .col-xs-1{width:8.33%}.amp-wp-adb .col-xs-2{width:16.66%}.amp-wp-adb .col-xs-3{width:25%}.amp-wp-adb .col-xs-4{width:33.33%}.amp-wp-adb .col-xs-5{width:41.66%}.amp-wp-adb .col-xs-6{width:50%}.amp-wp-adb .col-xs-7{width:58.33%}.amp-wp-adb .col-xs-8{width:66.66%}.amp-wp-adb .col-xs-9{width:75%}.amp-wp-adb .col-xs-10{width:83.33%}.amp-wp-adb .col-xs-11{width:91.66%}.amp-wp-adb .col-xs-12{width:100%}@media (min-width:783px){.amp-wp-adb .container{max-width:740px}.amp-wp-adb .col-sm-1{width:8.33%}.amp-wp-adb .col-sm-2{width:16.66%}.amp-wp-adb .col-sm-3{width:25%}.amp-wp-adb .col-sm-4{width:33.33%}.amp-wp-adb .col-sm-5{width:41.66%}.amp-wp-adb .col-sm-6{width:50%}.amp-wp-adb .col-sm-7{width:58.33%}.amp-wp-adb .col-sm-8{width:66.66%}.amp-wp-adb .col-sm-9{width:75%}.amp-wp-adb .col-sm-10{width:83.33%}.amp-wp-adb .col-sm-11{width:91.66%}.amp-wp-adb .col-sm-12{width:100%}}@media (min-width:961px){.amp-wp-adb .container{max-width:940px}.amp-wp-adb .col-md-1{width:8.33%}.amp-wp-adb .col-md-2{width:16.66%}.amp-wp-adb .col-md-3{width:25%}.amp-wp-adb .col-md-4{width:33.33%}.amp-wp-adb .col-md-5{width:41.66%}.amp-wp-adb .col-md-6{width:50%}.amp-wp-adb .col-md-7{width:58.33%}.amp-wp-adb .col-md-8{width:66.66%}.amp-wp-adb .col-md-9{width:75%}.amp-wp-adb .col-md-10{width:83.33%}.amp-wp-adb .col-md-11{width:91.66%}.amp-wp-adb .col-md-12{width:100%}}@media (min-width:1366px){.amp-wp-adb .container{max-width:1200px}.amp-wp-adb .col-lg-1{width:8.33%}.amp-wp-adb .col-lg-2{width:16.66%}.amp-wp-adb .col-lg-3{width:25%}.amp-wp-adb .col-lg-4{width:33.33%}.amp-wp-adb .col-lg-5{width:41.66%}.amp-wp-adb .col-lg-6{width:50%}.amp-wp-adb .col-lg-7{width:58.33%}.amp-wp-adb .col-lg-8{width:66.66%}.amp-wp-adb .col-lg-9{width:75%}.amp-wp-adb .col-lg-10{width:83.33%}.amp-wp-adb .col-lg-11{width:91.66%}.amp-wp-adb .col-lg-12{width:100%}}.amp-wp-adb .amp-wp-table{margin-bottom:20px}.amp-wp-adb .amp-wp-table thead{background:#32373c}.amp-wp-adb .amp-wp-table thead th{font-weight:600;color:#eee}.amp-wp-adb .amp-wp-table tr td{border-bottom:1px solid #e4e4e4}.amp-wp-adb .amp-wp-table tr:nth-child(2n){background:#f2f2f2}.amp-wp-adb .amp-wp-table td mark.yes,.amp-wp-adb .amp-wp-table th mark.yes{color:#7ad03a;background:transparent}.amp-wp-adb .amp-wp-table td .red,.amp-wp-adb .amp-wp-table td mark.error,.amp-wp-adb .amp-wp-table th .red,.amp-wp-adb .amp-wp-table th mark.error{background:transparent;color:#a00}.amp-wp-adb .amp-wp-table td mark.no,.amp-wp-adb .amp-wp-table th mark.no{background:transparent;color:#999}.amp-wp-adb .amp-wp-help-table td:first-child{width:180px;font-weight:600}.amp-wp-adb .amp-wp-help-table td.help{width:50px}.amp-wp-adb .amp-wp-help-table .help_tip i{font-size:18px;position:relative;top:1px}.amp-wp-adb .button,.amp-wp-adb .button-primary,.amp-wp-adb .button-secondary{text-shadow:none;-webkit-transition:all 0.2s ease-out;-o-transition:all 0.2s ease-out;transition:all 0.2s ease-out;font-weight:600}.amp-wp-adb .button-primary:focus,.amp-wp-adb .button-primary:hover,.amp-wp-adb .button-secondary:focus,.amp-wp-adb .button-secondary:hover,.amp-wp-adb .button:focus,.amp-wp-adb .button:hover{-webkit-transition:all 0.2s ease-out;-o-transition:all 0.2s ease-out;transition:all 0.2s ease-out}.amp-wp-adb .button-primary:active,.amp-wp-adb .button-secondary:active,.amp-wp-adb .button:active{-webkit-transition:all 0.2s ease-out;-o-transition:all 0.2s ease-out;transition:all 0.2s ease-out;-webkit-transform:translateY(1px);-ms-transform:translateY(1px);transform:translateY(1px);-webkit-box-shadow:inset 0 2px 5px -3px rgba(0, 0, 0, 0.5);box-shadow:inset 0 2px 5px -3px rgba(0, 0, 0, 0.5)}.amp-wp-adb .button{background:#eeeeee;border:1px solid #d5d5d5;-webkit-box-shadow:0 1px 0 #a2a2a2;box-shadow:0 1px 0 #a2a2a2}.amp-wp-adb .button:focus,.amp-wp-adb .button:hover{background:#e1e1e1;border-color:#d5d5d5;-webkit-box-shadow:0 1px 0 #d5d5d5;box-shadow:0 1px 0 #d5d5d5}.amp-wp-adb .button-primary{color:#fff;background:#0073AA;border:1px solid #005177;-webkit-box-shadow:0 1px 0 #000c11;box-shadow:0 1px 0 #000c11}.amp-wp-adb .button-primary:focus,.amp-wp-adb .button-primary:hover{background:#006291;border-color:#005177;-webkit-box-shadow:0 1px 0 #005177;box-shadow:0 1px 0 #005177}.amp-wp-adb .button-secondary{color:#fff;background:#e53935;border:1px solid #cd1e1a;-webkit-box-shadow:0 1px 0 #72110f;box-shadow:0 1px 0 #72110f}.amp-wp-adb .button-secondary:focus,.amp-wp-adb .button-secondary:hover{background:#e2231e;border-color:#cd1e1a;-webkit-box-shadow:0 1px 0 #cd1e1a;box-shadow:0 1px 0 #cd1e1a}.amp-wp-adb .amp-wp-action-buttons a{margin-right:5px}.amp-wp-adb .amp-wp-header{margin:15px 0}.amp-wp-adb .amp-wp-header:after,.amp-wp-adb .amp-wp-header:before{content:" ";display:table}.amp-wp-adb .amp-wp-header:after{clear:both}.amp-wp-adb .amp-wp-header .amp-wp-logo,.amp-wp-adb .amp-wp-header .amp-wp-title{display:block;float:left}.amp-wp-adb .amp-wp-header .amp-wp-logo{background:#fff;padding:20px 10px;min-width:50px}@media (min-width:414px){.amp-wp-adb .amp-wp-header .amp-wp-logo{padding:15px;min-width:70px}}.amp-wp-adb .amp-wp-header .amp-wp-logo img{max-width:70px;height:auto}.amp-wp-adb .amp-wp-header .amp-wp-title{vertical-align:top;padding-left:15px}.amp-wp-adb .amp-wp-header .amp-wp-title h1{margin:7px 0}.amp-wp-adb .amp-wp-header .amp-wp-title h3{margin-bottom:15px}.amp-wp-adb .amp-wp-header .amp-wp-version h4{display:inline-block;margin:0}.amp-wp-adb .amp-wp-header .amp-wp-version h4 strong{font-weight:700}.amp-wp-adb .amp-wp-htabs{display:-webkit-box;display:-ms-flexbox;display:flex;padding:0;border:0 none;overflow:auto}.amp-wp-adb .amp-wp-htabs:after,.amp-wp-adb .amp-wp-htabs:before{content:" ";display:table}.amp-wp-adb .amp-wp-htabs:after{clear:both}.amp-wp-adb .amp-wp-htabs a{color:#555d66;font-size:13px;text-transform:uppercase;font-weight:700;width:100%;display:inline-block;margin:0;padding:10px 15px;background:#fff;border:0 none;border-right:1px solid #eeeeee;-webkit-transition:all 0.1s ease-out;-o-transition:all 0.1s ease-out;transition:all 0.1s ease-out}.amp-wp-adb .amp-wp-htabs a:last-child{border-right:0 none}.amp-wp-adb .amp-wp-htabs a>span{display:inline-block;color:#fff;width:23px;text-align:center;margin-right:7px;font-weight:800;font-size:12px}.amp-wp-adb .amp-wp-htabs a.nav-tab-active,.amp-wp-adb .amp-wp-htabs a:focus,.amp-wp-adb .amp-wp-htabs a:hover{color:#eee;-webkit-box-shadow:none;box-shadow:none;-webkit-transition:all 0.1s ease-in;-o-transition:all 0.1s ease-in;transition:all 0.1s ease-in}.amp-wp-adb .amp-wp-htabs a.welcome>span{background:#e53935}.amp-wp-adb .amp-wp-htabs a.welcome.nav-tab-active,.amp-wp-adb .amp-wp-htabs a.welcome:focus,.amp-wp-adb .amp-wp-htabs a.welcome:hover{background:#0073AA;color:#fff}.amp-wp-adb .amp-wp-htabs a.welcome.nav-tab-active>span,.amp-wp-adb .amp-wp-htabs a.welcome:focus>span,.amp-wp-adb .amp-wp-htabs a.welcome:hover>span{color:#0073AA;background:#fff}.amp-wp-adb .amp-wp-htabs a.settings>span{background:#20d37e}.amp-wp-adb .amp-wp-htabs a.settings.nav-tab-active,.amp-wp-adb .amp-wp-htabs a.settings:focus,.amp-wp-adb .amp-wp-htabs a.settings:hover{background:#0073AA;color:#fff}.amp-wp-adb .amp-wp-htabs a.settings.nav-tab-active>span,.amp-wp-adb .amp-wp-htabs a.settings:focus>span,.amp-wp-adb .amp-wp-htabs a.settings:hover>span{color:#0073AA;background:#fff}.amp-wp-adb .amp-wp-htabs a.customize>span{background:#62c5ed}.amp-wp-adb .amp-wp-htabs a.customize.nav-tab-active,.amp-wp-adb .amp-wp-htabs a.customize:focus,.amp-wp-adb .amp-wp-htabs a.customize:hover{background:#0073AA;color:#fff}.amp-wp-adb .amp-wp-htabs a.customize.nav-tab-active>span,.amp-wp-adb .amp-wp-htabs a.customize:focus>span,.amp-wp-adb .amp-wp-htabs a.customize:hover>span{color:#0073AA;background:#fff}.amp-wp-adb .amp-wp-htabs a.add-ons>span{background:#a151fc}.amp-wp-adb .amp-wp-htabs a.add-ons.nav-tab-active,.amp-wp-adb .amp-wp-htabs a.add-ons:focus,.amp-wp-adb .amp-wp-htabs a.add-ons:hover{background:#0073AA;color:#fff}.amp-wp-adb .amp-wp-htabs a.add-ons.nav-tab-active>span,.amp-wp-adb .amp-wp-htabs a.add-ons:focus>span,.amp-wp-adb .amp-wp-htabs a.add-ons:hover>span{color:#0073AA;background:#fff}.amp-wp-adb .amp-wp-htabs a.help>span{background:#416deb}.amp-wp-adb .amp-wp-htabs a.help.nav-tab-active,.amp-wp-adb .amp-wp-htabs a.help:focus,.amp-wp-adb .amp-wp-htabs a.help:hover{background:#0073AA;color:#fff}.amp-wp-adb .amp-wp-htabs a.help.nav-tab-active>span,.amp-wp-adb .amp-wp-htabs a.help:focus>span,.amp-wp-adb .amp-wp-htabs a.help:hover>span{color:#0073AA;background:#fff}.amp-wp-adb .amp-wp-htabs a.about>span{background:#d26948}.amp-wp-adb .amp-wp-htabs a.about.nav-tab-active,.amp-wp-adb .amp-wp-htabs a.about:focus,.amp-wp-adb .amp-wp-htabs a.about:hover{background:#0073AA;color:#fff}.amp-wp-adb .amp-wp-htabs a.about.nav-tab-active>span,.amp-wp-adb .amp-wp-htabs a.about:focus>span,.amp-wp-adb .amp-wp-htabs a.about:hover>span{color:#0073AA;background:#fff}.amp-wp-adb .amp-wp-htabs a.system-status>span{background:#9f9f9f}.amp-wp-adb .amp-wp-htabs a.system-status.nav-tab-active,.amp-wp-adb .amp-wp-htabs a.system-status:focus,.amp-wp-adb .amp-wp-htabs a.system-status:hover{background:#0073AA;color:#fff}.amp-wp-adb .amp-wp-htabs a.system-status.nav-tab-active>span,.amp-wp-adb .amp-wp-htabs a.system-status:focus>span,.amp-wp-adb .amp-wp-htabs a.system-status:hover>span{color:#0073AA;background:#fff}.amp-wp-adb .amp-wp-vtabs{display:-webkit-box;display:-ms-flexbox;display:flex}.amp-wp-adb .amp-wp-vtabs .amp-wp-vtabs-sidebar{width:200px;background:#32373c}.amp-wp-adb .amp-wp-vtabs .amp-wp-vtabs-menu a{background:#23282D;color:#eee;font-size:14px;line-height:1.2;padding:12px;border-bottom:1px solid #333333;font-weight:400;text-decoration:none;display:block}.amp-wp-adb .amp-wp-vtabs .amp-wp-vtabs-menu a i,.amp-wp-adb .amp-wp-vtabs .amp-wp-vtabs-menu a span{position:relative}.amp-wp-adb .amp-wp-vtabs .amp-wp-vtabs-menu a i{line-height:14px;font-size:18px;line-height:14px;margin-right:7px;top:1px}.amp-wp-adb .amp-wp-vtabs .amp-wp-vtabs-menu a span{top:-2px}.amp-wp-adb .amp-wp-vtabs .amp-wp-vtabs-menu a:hover{background:#32373c}.amp-wp-adb .amp-wp-vtabs .amp-wp-vtabs-menu a:active,.amp-wp-adb .amp-wp-vtabs .amp-wp-vtabs-menu a:focus{-webkit-box-shadow:none;box-shadow:none}.amp-wp-adb .amp-wp-vtabs .amp-wp-vtabs-menu a.active{color:#fff;background:#0073AA;position:relative;border-right:0 none}.amp-wp-adb .amp-wp-vtabs .amp-wp-vtabs-menu a.active:after{right:-1px;border:8px solid transparent;border-right-color:transparent;content:" ";height:0;width:0;position:absolute;pointer-events:none;border-right-color:#fff;top:50%;margin-top:-8px}.amp-wp-adb .amp-wp-vtabs .amp-wp-vtabs-menu a:first-child.active:after{border-right-color:#32373c}.amp-wp-adb .amp-wp-vtabs .amp-wp-vtabs-content-wrap{width:calc(100% - 200px);border-left:0 none}.amp-wp-adb .amp-wp-vtabs .amp-wp-vtabs-content-wrap .amp-wp-vtabs-footer,.amp-wp-adb .amp-wp-vtabs .amp-wp-vtabs-content-wrap .amp-wp-vtabs-header{padding:8px 15px 9px;background:#32373c}.amp-wp-adb .amp-wp-vtabs .amp-wp-vtabs-content-wrap .amp-wp-vtabs-footer:after,.amp-wp-adb .amp-wp-vtabs .amp-wp-vtabs-content-wrap .amp-wp-vtabs-footer:before,.amp-wp-adb .amp-wp-vtabs .amp-wp-vtabs-content-wrap .amp-wp-vtabs-header:after,.amp-wp-adb .amp-wp-vtabs .amp-wp-vtabs-content-wrap .amp-wp-vtabs-header:before{content:" ";display:table}.amp-wp-adb .amp-wp-vtabs .amp-wp-vtabs-content-wrap .amp-wp-vtabs-footer:after,.amp-wp-adb .amp-wp-vtabs .amp-wp-vtabs-content-wrap .amp-wp-vtabs-header:after{clear:both}.amp-wp-adb .amp-wp-vtabs .amp-wp-vtabs-content-wrap .amp-wp-vtabs-footer h2,.amp-wp-adb .amp-wp-vtabs .amp-wp-vtabs-content-wrap .amp-wp-vtabs-header h2{color:#eee;font-size:16px;font-weight:600;line-height:26px;margin:0 15px 0 0;text-transform:uppercase;letter-spacing:0.2px}.amp-wp-adb .amp-wp-vtabs .amp-wp-vtabs-content-wrap .amp-wp-vtabs-footer .amp-wp-vtabs-title,.amp-wp-adb .amp-wp-vtabs .amp-wp-vtabs-content-wrap .amp-wp-vtabs-header .amp-wp-vtabs-title{float:left}.amp-wp-adb .amp-wp-vtabs .amp-wp-vtabs-content-wrap .amp-wp-vtabs-footer .amp-wp-vtabs-btn-toolbar,.amp-wp-adb .amp-wp-vtabs .amp-wp-vtabs-content-wrap .amp-wp-vtabs-header .amp-wp-vtabs-btn-toolbar{float:right}.amp-wp-adb .amp-wp-vtabs .amp-wp-vtabs-content-wrap .amp-wp-vtabs-footer .amp-wp-vtabs-btn-toolbar a,.amp-wp-adb .amp-wp-vtabs .amp-wp-vtabs-content-wrap .amp-wp-vtabs-footer .amp-wp-vtabs-btn-toolbar button,.amp-wp-adb .amp-wp-vtabs .amp-wp-vtabs-content-wrap .amp-wp-vtabs-footer .amp-wp-vtabs-btn-toolbar input,.amp-wp-adb .amp-wp-vtabs .amp-wp-vtabs-content-wrap .amp-wp-vtabs-header .amp-wp-vtabs-btn-toolbar a,.amp-wp-adb .amp-wp-vtabs .amp-wp-vtabs-content-wrap .amp-wp-vtabs-header .amp-wp-vtabs-btn-toolbar button,.amp-wp-adb .amp-wp-vtabs .amp-wp-vtabs-content-wrap .amp-wp-vtabs-header .amp-wp-vtabs-btn-toolbar input{margin-left:5px}.amp-wp-adb .amp-wp-vtabs .amp-wp-vtabs-content-wrap .amp-wp-vtabs-header{border-bottom:1px solid #e4e4e4}.amp-wp-adb .amp-wp-vtabs .amp-wp-vtabs-content-wrap .amp-wp-vtabs-footer{border-top:1px solid #e4e4e4;border-left:1px solid #444}.amp-wp-adb .amp-wp-vtabs .amp-wp-vtabs-content-wrap .amp-wp-vtabs-body{padding:20px;background:#fff;min-height:40vh}@media (max-width:960px){.amp-wp-adb .amp-wp-vtabs .amp-wp-vtabs-sidebar{width:46px}.amp-wp-adb .amp-wp-vtabs .amp-wp-vtabs-menu a span{display:none}.amp-wp-adb .amp-wp-vtabs .amp-wp-vtabs-content-wrap{width:calc(100% - 46px)}.amp-wp-adb .amp-wp-vtabs .amp-wp-vtabs-content-wrap .amp-wp-vtabs-body{min-height:auto}.amp-wp-adb .amp-wp-vtabs .amp-wp-vtabs-content-wrap .amp-wp-vtabs-header .amp-wp-vtabs-btn-toolbar{display:none}.amp-wp-adb .amp-wp-vtabs .amp-wp-vtabs-content-wrap .amp-wp-vtabs-footer .amp-wp-vtabs-title{display:none}.amp-wp-adb .amp-wp-vtabs .amp-wp-vtabs-content-wrap .amp-wp-vtabs-footer .amp-wp-vtabs-btn-toolbar{float:left}}@-webkit-keyframes dash{0%{stroke-dashoffset:1000}to{stroke-dashoffset:0}}@keyframes dash{0%{stroke-dashoffset:1000}to{stroke-dashoffset:0}}@-webkit-keyframes rotate{0%{-webkit-transform:rotate(180deg);transform:rotate(180deg)}to{-webkit-transform:rotate(0);transform:rotate(0)}}@keyframes rotate{0%{-webkit-transform:rotate(180deg);transform:rotate(180deg)}to{-webkit-transform:rotate(0);transform:rotate(0)}}@-webkit-keyframes wave{0%{-webkit-transform:translateY(-10%);transform:translateY(-10%)}to{-webkit-transform:translateY(10%);transform:translateY(10%)}}@keyframes wave{0%{-webkit-transform:translateY(-10%);transform:translateY(-10%)}to{-webkit-transform:translateY(10%);transform:translateY(10%)}}.amp-wp-adb .amp-wp-rating-box{background:url("../images/rating-box/red-bg.jpg") left top no-repeat #e53935;background-size:cover;border:0 none;margin:20px 0;padding:0;overflow:hidden}@media (-webkit-min-device-pixl-ratio:2){.amp-wp-adb .amp-wp-rating-box{background-image:url("../images/rating-box/red-bg-2x.jpg")}}.amp-wp-adb .amp-wp-rating-box a{text-decoration:none;line-height:1;position:relative;display:block}.amp-wp-adb .amp-wp-rating-box a .after-img,.amp-wp-adb .amp-wp-rating-box a .before-img{position:absolute;bottom:-1px}.amp-wp-adb .amp-wp-rating-box a .after-img img,.amp-wp-adb .amp-wp-rating-box a .after-img svg,.amp-wp-adb .amp-wp-rating-box a .before-img img,.amp-wp-adb .amp-wp-rating-box a .before-img svg{max-height:70px;width:auto}.amp-wp-adb .amp-wp-rating-box a .before-img{left:10px;bottom:-10px}.amp-wp-adb .amp-wp-rating-box a .before-img svg{-webkit-animation:wave 1s cubic-bezier(0.45, 0.05, 0.55, 0.95) alternate infinite;animation:wave 1s cubic-bezier(0.45, 0.05, 0.55, 0.95) alternate infinite}.amp-wp-adb .amp-wp-rating-box a .before-img svg .st0{fill:#FFFFFF}.amp-wp-adb .amp-wp-rating-box a .before-img svg .st1{fill:none;stroke:#FFFFFF;stroke-width:5.5507;stroke-miterlimit:10}.amp-wp-adb .amp-wp-rating-box a .after-img{right:-38px;bottom:-4px}@media (max-width:782px){.amp-wp-adb .amp-wp-rating-box a .after-img{display:none}}.amp-wp-adb .amp-wp-rating-box a .after-img svg path{fill:none;stroke-linecap:round;stroke-miterlimit:10;stroke-width:2px;stroke:#fff;stroke-dasharray:1000;stroke-dashoffset:1000;-webkit-animation:dash 3s cubic-bezier(0.46, 0.03, 0.52, 0.96) alternate infinite;animation:dash 3s cubic-bezier(0.46, 0.03, 0.52, 0.96) alternate infinite}.amp-wp-adb .amp-wp-rating-box a .inner-content{padding:15px 0 15px 100px}@media (min-width:783px){.amp-wp-adb .amp-wp-rating-box a .inner-content{padding-right:120px}}.amp-wp-adb .amp-wp-rating-box a .inner-content h3,.amp-wp-adb .amp-wp-rating-box a .inner-content p{color:#fff;margin:0}.amp-wp-adb .amp-wp-rating-box a .inner-content h3{line-height:1;font-size:20px;font-weight:600;text-transform:uppercase;margin-bottom:5px}.amp-wp-adb .amp-wp-rating-box a .inner-content p{font-size:14px}.amp-wp-adb .amp-wp-rating-box a:active,.amp-wp-adb .amp-wp-rating-box a:focus,.amp-wp-adb .amp-wp-rating-box a:hover{border:0 none;-webkit-box-shadow:none;box-shadow:none}.amp-wp-adb .amp-wp-rating-box .notice-dismiss{height:100%;color:#fff;padding:15px;font-size:22px}.amp-wp-adb .amp-wp-rating-box .notice-dismiss:before{color:#fff;font-size:24px}.amp-wp-adb .amp-wp-star-rating{display:inline-block;color:#ffb900;position:relative;top:3px}.amp-wp-adb .amp-wp-star-rating svg{fill:#ffb900}.amp-wp-adb .amp-wp-star-rating svg:hover{fill:#ffb900}.amp-wp-adb .amp-wp-star-rating svg:hover~svg{fill:none}.amp-wp-adb .amp-wp-content-wrap{background:#fff}.amp-wp-adb .amp-wp-content-wrap .amp-wp-content-body{padding:15px}.amp-wp-adb .amp-wp-content-wrap p{margin-bottom:20px}.amp-wp-adb .amp-wp-content-wrap .amp-wp-content-footer,.amp-wp-adb .amp-wp-content-wrap .amp-wp-content-header{background:#32373c;padding:8px 15px 9px}.amp-wp-adb .amp-wp-content-wrap .amp-wp-content-footer:after,.amp-wp-adb .amp-wp-content-wrap .amp-wp-content-footer:before,.amp-wp-adb .amp-wp-content-wrap .amp-wp-content-header:after,.amp-wp-adb .amp-wp-content-wrap .amp-wp-content-header:before{content:" ";display:table}.amp-wp-adb .amp-wp-content-wrap .amp-wp-content-footer:after,.amp-wp-adb .amp-wp-content-wrap .amp-wp-content-header:after{clear:both}.amp-wp-adb .amp-wp-content-wrap .amp-wp-content-footer h2,.amp-wp-adb .amp-wp-content-wrap .amp-wp-content-footer h3,.amp-wp-adb .amp-wp-content-wrap .amp-wp-content-header h2,.amp-wp-adb .amp-wp-content-wrap .amp-wp-content-header h3{color:#eee;font-size:16px;font-weight:700;line-height:26px;text-transform:uppercase;letter-spacing:0.2px;margin:0}.amp-wp-adb .amp-wp-content-wrap .amp-wp-content-footer .amp-wp-content-title,.amp-wp-adb .amp-wp-content-wrap .amp-wp-content-header .amp-wp-content-title{float:left}.amp-wp-adb .amp-wp-content-wrap .amp-wp-content-footer .amp-wp-content-btn-toolbar,.amp-wp-adb .amp-wp-content-wrap .amp-wp-content-header .amp-wp-content-btn-toolbar{float:right}.amp-wp-adb .amp-wp-content-wrap .amp-wp-content-footer .amp-wp-content-btn-toolbar a,.amp-wp-adb .amp-wp-content-wrap .amp-wp-content-footer .amp-wp-content-btn-toolbar button,.amp-wp-adb .amp-wp-content-wrap .amp-wp-content-footer .amp-wp-content-btn-toolbar input,.amp-wp-adb .amp-wp-content-wrap .amp-wp-content-header .amp-wp-content-btn-toolbar a,.amp-wp-adb .amp-wp-content-wrap .amp-wp-content-header .amp-wp-content-btn-toolbar button,.amp-wp-adb .amp-wp-content-wrap .amp-wp-content-header .amp-wp-content-btn-toolbar input{margin-left:5px}.amp-wp-adb .amp-wp-content-wrap .amp-wp-content-header{border-bottom:1px solid #e4e4e4}.amp-wp-adb .amp-wp-content-wrap .amp-wp-content-footer{border-top:1px solid #e4e4e4;border-left:1px solid #444}@media (max-width:960px){.amp-wp-adb .amp-wp-content-wrap .amp-wp-content-header .amp-wp-content-btn-toolbar{display:none}.amp-wp-adb .amp-wp-content-wrap .amp-wp-content-footer .amp-wp-content-title{display:none}.amp-wp-adb .amp-wp-content-wrap .amp-wp-content-footer .amp-wp-content-btn-toolbar{float:left}}.amp-wp-adb #debug-report{display:none}.amp-wp-adb #debug-report textarea{font-family:monospace;width:100%;margin:0;height:300px;padding:20px;-moz-border-radius:0;-webkit-border-radius:0;border-radius:0;resize:none;font-size:12px;line-height:20px;outline:0}.amp-wp-adb .amp-wp-box{padding:20px 25px 25px 25px;margin:10px;border:0 none;background:#f2f2f2;width:100%}.amp-wp-adb .amp-wp-box h2,.amp-wp-adb .amp-wp-box h3{color:#555d66;text-transform:uppercase;font-size:16px;font-weight:600;line-height:1.4}.amp-wp-adb .amp-wp-box p{font-size:13px;margin-bottom:20px;line-height:1.5}.amp-wp-adb .amp-wp-box.alert-box{margin:0 0 20px 0;background:#fff;border-left:5px solid #2885bb}.amp-wp-adb .amp-wp-box.alert-box h3{text-transform:uppercase}.amp-wp-adb .amp-wp-box.alert-box p{margin:0}.amp-wp-adb .amp-wp-boxes{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;-ms-flex-line-pack:stretch;align-content:stretch;margin:-10px}@media (min-width:500px){.amp-wp-adb .amp-wp-boxes.amp-wp-boxes-2-col .amp-wp-box{width:calc(50% - 20px)}}@media (min-width:500px){.amp-wp-adb .amp-wp-boxes.amp-wp-boxes-3-col .amp-wp-box{width:calc(50% - 20px)}}@media (min-width:1200px){.amp-wp-adb .amp-wp-boxes.amp-wp-boxes-3-col .amp-wp-box{width:calc(33.33% - 20px)}}@media (min-width:500px){.amp-wp-adb .amp-wp-boxes.amp-wp-boxes-4-col .amp-wp-box{width:calc(50% - 20px)}}@media (min-width:783px){.amp-wp-adb .amp-wp-boxes.amp-wp-boxes-4-col .amp-wp-box{width:calc(33.33% - 20px)}}@media (min-width:1200px){.amp-wp-adb .amp-wp-boxes.amp-wp-boxes-4-col .amp-wp-box{width:calc(25% - 20px)}}@media (min-width:500px){.amp-wp-adb .amp-wp-boxes.amp-wp-boxes-6-col .amp-wp-box{width:calc(50% - 20px)}}@media (min-width:783px){.amp-wp-adb .amp-wp-boxes.amp-wp-boxes-6-col .amp-wp-box{width:calc(33.33% - 20px)}}@media (min-width:1200px){.amp-wp-adb .amp-wp-boxes.amp-wp-boxes-6-col .amp-wp-box{width:calc(25% - 20px)}}@media (min-width:1400px){.amp-wp-adb .amp-wp-boxes.amp-wp-boxes-6-col .amp-wp-box{width:calc(20% - 20px)}}@media (min-width:1600px){.amp-wp-adb .amp-wp-boxes.amp-wp-boxes-6-col .amp-wp-box{width:calc(16.66% - 20px)}}.amp-wp-adb .amp-wp-boxes img{max-width:100%}.amp-wp-adb .amp-wp-box-num-icon img{max-height:49px;width:auto;margin-bottom:15px}@media (max-width:782px){.amp-wp-adb .amp-wp-box-num-icon h2{color:#555d66;font-size:13px;text-transform:uppercase;font-weight:700;line-height:1.5}}.amp-wp-adb .amp-wp-box-num-icon .amp-wp-num-icon-title{margin-bottom:10px}.amp-wp-adb .amp-wp-box-num-icon .amp-wp-num-icon-title .amp-wp-icon-title,.amp-wp-adb .amp-wp-box-num-icon .amp-wp-num-icon-title .amp-wp-num{display:block;float:left}.amp-wp-adb .amp-wp-box-num-icon .amp-wp-num-icon-title .amp-wp-num{font-size:50px;line-height:44px;font-weight:600;display:inline-block;opacity:0.15;width:25px}.amp-wp-adb .amp-wp-box-num-icon .amp-wp-num-icon-title .amp-wp-icon-title{width:calc(100% - 45px);margin-left:20px}.amp-wp-adb .amp-wp-box-num-icon .amp-wp-num-icon-title .amp-wp-icon-title img{margin-bottom:10px}@media (min-width:1200px){.amp-wp-adb .amp-wp-box-num-icon .amp-wp-num-icon-title .amp-wp-num{font-size:90px;font-weight:400;line-height:1;width:30px}.amp-wp-adb .amp-wp-box-num-icon .amp-wp-num-icon-title .amp-wp-icon-title{width:calc(100% - 60px);margin-left:30px}}.amp-wp-adb .amp-wp-box-num-icon .amp-wp-num,.amp-wp-adb .amp-wp-box-num-icon span{font-size:100px;line-height:18px;height:20px;width:18px;font-weight:200;display:inline-block}.amp-wp-adb .amp-wp-box-w-icon h3,.amp-wp-adb .amp-wp-box-w-icon p{margin-bottom:0}.amp-wp-adb .amp-wp-box-w-icon .amp-wp-box-icon{border-bottom:1px solid #e4e4e4;padding-bottom:10px;margin-bottom:15px}.amp-wp-adb .amp-wp-box-w-icon .amp-wp-box-icon img{max-width:40px;margin-bottom:5px}.amp-wp-adb .amp-wp-box-w-img{padding:0;border-radius:3px}.amp-wp-adb .amp-wp-box-w-img img{border-top:1px solid #e4e4e4;border-bottom:1px solid #e4e4e4}.amp-wp-adb .amp-wp-box-w-img .amp-wp-box-header{padding:15px 20px}.amp-wp-adb .amp-wp-box-w-img .amp-wp-box-header h2,.amp-wp-adb .amp-wp-box-w-img .amp-wp-box-header h3{margin:0}.amp-wp-adb .amp-wp-box-w-img .amp-wp-box-body{padding:13px 20px 20px}.amp-wp-adb .amp-wp-box-w-img .amp-wp-box-body p{font-size:14px;margin:0}.amp-wp-adb .amp-wp-box-w-img.gray-scale img{-webkit-transition:all 0.3s ease-out;-o-transition:all 0.3s ease-out;transition:all 0.3s ease-out}.amp-wp-adb .amp-wp-box-w-img.gray-scale:hover img{-webkit-filter:none;filter:none;-webkit-transition:all 0.3s ease-out;-o-transition:all 0.3s ease-out;transition:all 0.3s ease-out}.amp-wp-adb .amp-wp-intro-box{padding:35px 30px 40px 30px}.amp-wp-adb .amp-wp-intro-box h2{font-size:20px}.amp-wp-adb .amp-wp-intro-box p{font-size:16px;margin:0}.amp-wp-adb .amp-wp-team .amp-wp-team-member{color:#555d66;display:inline-block;background:#f9f9f9;text-decoration:none;vertical-align:top;margin-right:15px;margin-bottom:15px;border-radius:3px;overflow:hidden}.amp-wp-adb .amp-wp-team .amp-wp-team-member:hover{background:#e53935;color:#fff}.amp-wp-adb .amp-wp-team .amp-wp-team-member .amp-wp-member-info,.amp-wp-adb .amp-wp-team .amp-wp-team-member img{display:inline-block;vertical-align:middle}.amp-wp-adb .amp-wp-team .amp-wp-team-member .amp-wp-member-info{padding:10px 15px 15px 10px}.amp-wp-adb .amp-wp-team .amp-wp-team-member h4,.amp-wp-adb .amp-wp-team .amp-wp-team-member p{line-height:1;margin:0}.amp-wp-adb .amp-wp-team .amp-wp-team-member h4{font-size:16px;margin-bottom:8px}.amp-wp-adb .amp-wp-form-section-title{margin:0;padding:10px;border:1px solid #eeeeee;background:#f2f2f2;border-radius:3px;text-transform:uppercase;font-size:14px;font-weight:700;color:#555d66}.amp-wp-adb .amp-wp-form-table{margin:0 0 40px}.amp-wp-adb .amp-wp-form-table:last-child{margin:0}.amp-wp-adb .amp-wp-form-table tr{border-top:1px solid #eeeeee}.amp-wp-adb .amp-wp-form-table th{padding:10px 10px 5px;line-height:22px}.amp-wp-adb .amp-wp-form-table td{padding:0 10px 15px}.amp-wp-adb .amp-wp-form-table .amp-wp-form-field-desc{margin-top:20px}.amp-wp-adb .amp-wp-form-table .amp-wp-form-field-desc p{margin-bottom:15px}.amp-wp-adb .amp-wp-form-table .amp-wp-form-field-desc p:last-child{margin:0}@media (min-width:783px){.amp-wp-adb .amp-wp-form-table td,.amp-wp-adb .amp-wp-form-table th{padding:20px 10px}.amp-wp-adb .amp-wp-form-table th{width:240px}}.amp-wp-adb .amp-wp-form-table{}.amp-wp-adb .amp-wp-form-table input[type=number],.amp-wp-adb .amp-wp-form-table input[type=text],.amp-wp-adb .amp-wp-form-table textarea{font-size:14px;line-height:1;padding:9px;border:1px solid #9f9f9f;border-radius:3px;-webkit-box-shadow:none;box-shadow:none;width:100%;max-width:300px;background:#f9f9f9;position:relative;min-height:32px}.amp-wp-adb .amp-wp-form-table input[type=number]::-webkit-input-placeholder,.amp-wp-adb .amp-wp-form-table input[type=text]::-webkit-input-placeholder,.amp-wp-adb .amp-wp-form-table textarea::-webkit-input-placeholder{color:#9f9f9f;opacity:1}.amp-wp-adb .amp-wp-form-table input[type=number]:-ms-input-placeholder,.amp-wp-adb .amp-wp-form-table input[type=text]:-ms-input-placeholder,.amp-wp-adb .amp-wp-form-table textarea:-ms-input-placeholder{color:#9f9f9f;opacity:1}.amp-wp-adb .amp-wp-form-table input[type=number]::-ms-input-placeholder,.amp-wp-adb .amp-wp-form-table input[type=text]::-ms-input-placeholder,.amp-wp-adb .amp-wp-form-table textarea::-ms-input-placeholder{color:#9f9f9f;opacity:1}.amp-wp-adb .amp-wp-form-table input[type=number]::placeholder,.amp-wp-adb .amp-wp-form-table input[type=text]::placeholder,.amp-wp-adb .amp-wp-form-table textarea::placeholder{color:#9f9f9f;opacity:1}.amp-wp-adb .amp-wp-form-table input[type=number]:-ms-input-placeholder,.amp-wp-adb .amp-wp-form-table input[type=text]:-ms-input-placeholder,.amp-wp-adb .amp-wp-form-table textarea:-ms-input-placeholder{color:#9f9f9f}.amp-wp-adb .amp-wp-form-table input[type=number]::-ms-input-placeholder,.amp-wp-adb .amp-wp-form-table input[type=text]::-ms-input-placeholder,.amp-wp-adb .amp-wp-form-table textarea::-ms-input-placeholder{color:#9f9f9f}.amp-wp-adb .amp-wp-form-table input[type=number]:active,.amp-wp-adb .amp-wp-form-table input[type=number]:focus,.amp-wp-adb .amp-wp-form-table input[type=text]:active,.amp-wp-adb .amp-wp-form-table input[type=text]:focus,.amp-wp-adb .amp-wp-form-table textarea:active,.amp-wp-adb .amp-wp-form-table textarea:focus{border-color:#0073AA}.amp-wp-adb .amp-wp-form-table textarea{max-width:100%}.amp-wp-adb .amp-wp-form-table .switch{display:inline-block;position:relative;top:1px;font-size:16px;line-height:24px}.amp-wp-adb .amp-wp-form-table .switch input{position:absolute;top:0;left:0;width:36px;height:30px;opacity:0;z-index:0}.amp-wp-adb .amp-wp-form-table .switch label{display:block;padding:0 0 0 44px;cursor:pointer}.amp-wp-adb .amp-wp-form-table .switch label:before{content:'';position:absolute;top:7px;left:0;width:36px;height:14px;background-color:rgba(159, 159, 159, 0.8);border-radius:14px;z-index:1;-webkit-transition:background-color 0.28s cubic-bezier(0.4, 0, 0.2, 1);-o-transition:background-color 0.28s cubic-bezier(0.4, 0, 0.2, 1);transition:background-color 0.28s cubic-bezier(0.4, 0, 0.2, 1)}.amp-wp-adb .amp-wp-form-table .switch label:after{content:'';position:absolute;top:4px;left:0;width:20px;height:20px;background-color:#fff;border-radius:14px;-webkit-box-shadow:0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12);box-shadow:0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12);z-index:2;-webkit-transition:all 0.28s cubic-bezier(0.4, 0, 0.2, 1);-o-transition:all 0.28s cubic-bezier(0.4, 0, 0.2, 1);transition:all 0.28s cubic-bezier(0.4, 0, 0.2, 1);-webkit-transition-property:left, background-color;-o-transition-property:left, background-color;transition-property:left, background-color}.amp-wp-adb .amp-wp-form-table .switch input:checked+label:after{left:16px}.amp-wp-adb .amp-wp-form-table .switch input:checked+label:before{background-color:rgba(0, 115, 170, 0.6)}.amp-wp-adb .amp-wp-form-table .switch input:checked+label:after{background-color:#0073AA}.amp-wp-adb .amp-wp-form-table .amp-wp-parent-child-field .amp-wp-child-field{max-height:0;margin-bottom:10px;overflow:hidden;-webkit-transition:max-height 0.2s ease-out;-o-transition:max-height 0.2s ease-out;transition:max-height 0.2s ease-out}.amp-wp-adb .amp-wp-form-table .amp-wp-parent-child-field .amp-wp-child-field label{font-weight:600;display:block;margin-top:20px;margin-bottom:7px}.amp-wp-adb .amp-wp-form-table .amp-wp-parent-child-field .amp-wp-child-field input{margin-bottom:10px}.amp-wp-adb .amp-wp-form-table .amp-wp-parent-child-field .amp-wp-child-field .amp-wp-form-field-desc{margin-top:0}.amp-wp-adb .amp-wp-form-table .amp-wp-parent-child-field .amp-wp-child-field .amp-wp-field-error-msg{margin-top:10px;color:#ef5228;font-weight:600}.amp-wp-adb .amp-wp-form-table .amp-wp-parent-child-field .amp-wp-child-field .switch label{margin:0 0 3px}.amp-wp-adb .amp-wp-form-table .amp-wp-parent-child-field.active .amp-wp-child-field{max-height:1000px;-webkit-transition:max-height 0.2s ease-in;-o-transition:max-height 0.2s ease-in;transition:max-height 0.2s ease-in}.amp-wp-adb .amp-wp-form-table .amp-wp-parent-child-field.error-field .amp-wp-child-field label{color:#ef5228}.amp-wp-adb .amp-wp-form-table .amp-wp-parent-child-field.error-field .amp-wp-child-field input{border-color:#ef5228}#toplevel_page_amp-wp-welcome .wp-menu-image img{padding:1px 0 0 0}.toplevel_page_amp-wp-translation .wp-menu-image img{width:12px;padding-top:7px!important}#adminmenu .toplevel_page_amp-wp-translation{margin-top:10px;margin-bottom:10px}.amp-wp-adb{padding-right:10px}.amp-wp-adb .mt-10{margin-top:10px}.amp-wp-adb .mt-20{margin-top:20px}.amp-wp-adb .mt-30{margin-top:30px}.amp-wp-adb .mb-10{margin-bottom:10px}.amp-wp-adb .mb-20{margin-bottom:20px}.amp-wp-adb .mb-30{margin-bottom:30px}.amp-wp-adb hr.amp-wp-section-sep{margin:20px 0}@media (min-width:783px){.amp-wp-adb{padding-right:20px}}.wrap .notice.amp-wp-notice{margin:15px 0} 1 .select2-container .select2-dropdown .select2-results .select2-results__options .select2-results__option,.select2-container .select2-selection--multiple,.select2-container .select2-selection--single{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.amp-wp-adb .amp-wp-box-num-icon .amp-wp-num-icon-title:after,.amp-wp-adb .amp-wp-box-num-icon .amp-wp-num-icon-title:before,.amp-wp-adb .amp-wp-box-w-icon:after,.amp-wp-adb .amp-wp-box-w-icon:before,.amp-wp-adb .row:after,.amp-wp-adb .row:before{content:" ";display:table}.amp-wp-adb .amp-wp-box-num-icon .amp-wp-num-icon-title:after,.amp-wp-adb .amp-wp-box-w-icon:after,.amp-wp-adb .row:after{clear:both}.amp-wp-adb .amp-wp-content-wrap,.amp-wp-adb .amp-wp-header .amp-wp-logo,.amp-wp-adb .amp-wp-htabs,.amp-wp-adb .amp-wp-table,.amp-wp-adb .amp-wp-vtabs{-webkit-box-shadow:0 1px 3px rgba(0, 0, 0, 0.2);box-shadow:0 1px 3px rgba(0, 0, 0, 0.2)}.amp-wp-adb .amp-wp-box,.amp-wp-adb .amp-wp-box-w-img,.amp-wp-adb .amp-wp-team .amp-wp-team-member{-webkit-box-shadow:0 1px 3px rgba(0, 0, 0, 0.3);box-shadow:0 1px 3px rgba(0, 0, 0, 0.3)}.amp-wp-adb .amp-wp-box,.amp-wp-adb .amp-wp-content-wrap,.amp-wp-adb .amp-wp-htabs,.amp-wp-adb .amp-wp-table,.amp-wp-adb .amp-wp-team .amp-wp-team-member,.amp-wp-adb .amp-wp-vtabs,.select2-container{-webkit-box-sizing:border-box;box-sizing:border-box}.amp-wp-adb .amp-wp-box *,.amp-wp-adb .amp-wp-box :after,.amp-wp-adb .amp-wp-box :before,.amp-wp-adb .amp-wp-box+.tgl-btn,.amp-wp-adb .amp-wp-box:after,.amp-wp-adb .amp-wp-box:before,.amp-wp-adb .amp-wp-content-wrap *,.amp-wp-adb .amp-wp-content-wrap :after,.amp-wp-adb .amp-wp-content-wrap :before,.amp-wp-adb .amp-wp-content-wrap+.tgl-btn,.amp-wp-adb .amp-wp-content-wrap:after,.amp-wp-adb .amp-wp-content-wrap:before,.amp-wp-adb .amp-wp-htabs *,.amp-wp-adb .amp-wp-htabs :after,.amp-wp-adb .amp-wp-htabs :before,.amp-wp-adb .amp-wp-htabs+.tgl-btn,.amp-wp-adb .amp-wp-htabs:after,.amp-wp-adb .amp-wp-htabs:before,.amp-wp-adb .amp-wp-table *,.amp-wp-adb .amp-wp-table :after,.amp-wp-adb .amp-wp-table :before,.amp-wp-adb .amp-wp-table+.tgl-btn,.amp-wp-adb .amp-wp-table:after,.amp-wp-adb .amp-wp-table:before,.amp-wp-adb .amp-wp-team .amp-wp-team-member *,.amp-wp-adb .amp-wp-team .amp-wp-team-member :after,.amp-wp-adb .amp-wp-team .amp-wp-team-member :before,.amp-wp-adb .amp-wp-team .amp-wp-team-member+.tgl-btn,.amp-wp-adb .amp-wp-team .amp-wp-team-member:after,.amp-wp-adb .amp-wp-team .amp-wp-team-member:before,.amp-wp-adb .amp-wp-vtabs *,.amp-wp-adb .amp-wp-vtabs :after,.amp-wp-adb .amp-wp-vtabs :before,.amp-wp-adb .amp-wp-vtabs+.tgl-btn,.amp-wp-adb .amp-wp-vtabs:after,.amp-wp-adb .amp-wp-vtabs:before,.select2-container *,.select2-container :after,.select2-container :before,.select2-container+.tgl-btn,.select2-container:after,.select2-container:before{-webkit-box-sizing:border-box;box-sizing:border-box}@font-face{font-family:"amp-wp-admin-icons";src:url("../fonts/amp-wp-admin-icons/amp-wp-admin-icons.eot");src:url("../fonts/amp-wp-admin-icons/amp-wp-admin-icons.eot?#iefix") format("embedded-opentype"), url("../fonts/amp-wp-admin-icons/amp-wp-admin-icons.woff") format("woff"), url("../fonts/amp-wp-admin-icons/amp-wp-admin-icons.ttf") format("truetype"), url("../fonts/amp-wp-admin-icons/amp-wp-admin-icons.svg#amp-wp-admin-icons") format("svg");font-weight:normal;font-style:normal}[data-icon]:before{font-family:"amp-wp-admin-icons"!important;content:attr(data-icon);font-style:normal!important;font-weight:normal!important;font-variant:normal!important;text-transform:none!important;speak:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}[class*=" amp-wp-admin-icon-"]:before,[class^=amp-wp-admin-icon-]:before{font-family:"amp-wp-admin-icons"!important;font-style:normal!important;font-weight:normal!important;font-variant:normal!important;text-transform:none!important;speak:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.amp-wp-admin-icon-settings:before{content:"\62"}.amp-wp-admin-icon-gears-setting-1:before{content:"\63"}.amp-wp-admin-icon-send-to-front:before{content:"\64"}.amp-wp-admin-icon-send-to-back:before{content:"\65"}.amp-wp-admin-icon-layers:before{content:"\66"}.amp-wp-admin-icon-layers-1:before{content:"\67"}.amp-wp-admin-icon-layers-2:before{content:"\6a"}.amp-wp-admin-icon-paint-brush-2:before{content:"\6f"}.amp-wp-admin-icon-area-chart:before{content:"\71"}.amp-wp-admin-icon-globe:before{content:"\73"}.amp-wp-admin-icon-bell:before{content:"\74"}.amp-wp-admin-icon-notification:before{content:"\76"}.amp-wp-admin-icon-cogs:before{content:"\77"}.amp-wp-admin-icon-cog:before{content:"\78"}.amp-wp-admin-icon-wrench:before{content:"\42"}.amp-wp-admin-icon-cog-gear:before{content:"\43"}.amp-wp-admin-icon-file:before{content:"\61"}.amp-wp-admin-icon-file-text:before{content:"\68"}.amp-wp-admin-icon-document-file-1:before{content:"\69"}.amp-wp-admin-icon-pin:before{content:"\6c"}.amp-wp-admin-icon-pin-map-2:before{content:"\6d"}.amp-wp-admin-icon-home:before{content:"\70"}.amp-wp-admin-icon-home-1:before{content:"\72"}.amp-wp-admin-icon-archive:before{content:"\75"}.amp-wp-admin-icon-search:before{content:"\7a"}.amp-wp-admin-icon-info-circle:before{content:"\6e"}.amp-wp-admin-icon-info-with-circle:before{content:"\44"}.amp-wp-admin-icon-user:before{content:"\6b"}.amp-wp-admin-icon-users:before{content:"\79"}.amp-wp-admin-icon-user-1:before{content:"\41"}.amp-wp-admin-icon-information-white:before{content:"\45"}.amp-wp-admin-icon-info:before{content:"\46"}.amp-wp-admin-icon-compose:before{content:"\47"}.amp-wp-admin-icon-calendar:before{content:"\48"}.amp-wp-admin-icon-browser:before{content:"\49"}.amp-wp-admin-icon-add:before{content:"\4a"}.amp-wp-admin-icon-calculator-2:before{content:"\4b"}.amp-wp-admin-icon-grid-alt:before{content:"\4c"}.amp-wp-admin-icon-grid:before{content:"\4d"}.amp-wp-admin-icon-globe-1:before{content:"\4e"}.amp-wp-admin-icon-home-2:before{content:"\4f"}.amp-wp-admin-icon-ipad:before{content:"\50"}.amp-wp-admin-icon-menu:before{content:"\51"}.amp-wp-admin-icon-list:before{content:"\52"}.amp-wp-admin-icon-maximize:before{content:"\53"}.amp-wp-admin-icon-windows:before{content:"\54"}.amp-wp-admin-icon-exclamation:before{content:"\55"}.amp-wp-admin-icon-comments:before{content:"\56"}.amp-wp-admin-icon-envelope:before{content:"\57"}.amp-wp-admin-icon-settings-1:before{content:"\58"}.amp-wp-admin-icon-task:before{content:"\59"}.amp-wp-admin-icon-screen:before{content:"\5a"}.amp-wp-admin-icon-attachment:before{content:"\30"}.amp-wp-admin-icon-forbid-1:before{content:"\31"}.amp-wp-admin-icon-inbox:before{content:"\32"}.amp-wp-admin-icon-hyperlink:before{content:"\33"}.amp-wp-admin-icon-newspaper:before{content:"\34"}.amp-wp-admin-icon-newspaper-alt:before{content:"\35"}.amp-wp-admin-icon-portfolio:before{content:"\36"}.amp-wp-admin-icon-heart:before{content:"\37"}.amp-wp-admin-icon-chat:before{content:"\38"}.amp-wp-admin-icon-circle-full:before{content:"\39"}.amp-wp-admin-icon-question:before{content:"\21"}.amp-wp-admin-icon-feather:before{content:"\22"}.amp-wp-admin-icon-clipboard:before{content:"\23"}.amp-wp-admin-icon-spinner:before{content:"\24"}.amp-wp-admin-icon-gallary:before{content:"\25"}.select2-container{display:inline-block;margin:0;position:relative;vertical-align:middle;font-size:14px;width:100%;max-width:300px}.select2-container .select2-selection--single{cursor:pointer;display:block;height:32px;background-color:#f9f9f9;border:1px solid #9f9f9f;border-radius:3px}.select2-container .select2-selection--single .select2-selection__rendered{display:block;padding-left:8px;padding-right:20px;overflow:hidden;-o-text-overflow:ellipsis;text-overflow:ellipsis;white-space:nowrap;color:#23282D;line-height:30px}.select2-container .select2-selection--single .select2-selection__clear{position:relative;cursor:pointer;float:right;font-weight:bold}.select2-container .select2-selection--single .select2-selection__placeholder{color:#9f9f9f}.select2-container .select2-selection--single .select2-selection__arrow{height:32px;position:absolute;top:1px;right:1px;width:20px}.select2-container .select2-selection--single .select2-selection__arrow b{border-color:#9f9f9f transparent transparent transparent;border-style:solid;border-width:5px 4px 0 4px;height:0;left:50%;margin-left:-4px;margin-top:-2px;position:absolute;top:50%;width:0}.select2-container .select2-selection--multiple{cursor:text;display:block;min-height:32px;background-color:#f9f9f9;border:1px solid #9f9f9f;border-radius:3px}.select2-container .select2-selection--multiple .select2-selection__rendered{padding:0 8px;display:inline-block;list-style:none;overflow:hidden;margin:0;width:100%;-o-text-overflow:ellipsis;text-overflow:ellipsis;white-space:nowrap}.select2-container .select2-selection--multiple .select2-selection__rendered li{list-style:none}.select2-container .select2-selection--multiple .select2-selection__placeholder{color:#9f9f9f;margin-top:5px;float:left}.select2-container .select2-selection--multiple .select2-selection__clear{cursor:pointer;float:right;font-weight:bold;margin-top:5px;margin-right:10px}.select2-container .select2-selection--multiple .select2-selection__choice{background-color:#0073AA;border:1px solid #0073AA;color:#fff;border-radius:3px;cursor:default;float:left;margin-right:5px;margin-top:5px;padding:0 5px;font-size:12px;line-height:17px}.select2-container .select2-selection--multiple .select2-selection__choice__remove{color:#dddddd;cursor:pointer;display:inline-block;font-weight:bold;margin-right:2px;position:relative;font-size:13px}.select2-container .select2-selection--multiple .select2-selection__choice__remove:hover{color:#fff}.select2-container .select2-search--inline{float:left}.select2-container .select2-search--inline .select2-search__field{font-size:100%;margin-top:5px;padding:0;background:transparent;border:none;outline:0;-webkit-box-shadow:none;box-shadow:none}.select2-container .select2-search--dropdown{display:block;padding:4px}.select2-container .select2-search--dropdown .select2-search__field{padding:4px;width:100%;border:1px solid #9f9f9f;border-radius:3px}.select2-container .select2-search--dropdown .select2-search__field:focus{-webkit-box-shadow:none;box-shadow:none;border-color:#0073AA}.select2-container .select2-search--dropdown.select2-search--hide{display:none}.select2-container .select2-dropdown{background-color:#f9f9f9;border:1px solid #9f9f9f;border-radius:3px;display:block;position:absolute;left:-100000px;width:100%;z-index:1051;left:0}.select2-container .select2-dropdown.select2-dropdown--above,.select2-container .select2-dropdown.select2-dropdown--below{border-color:#0073AA}.select2-container .select2-dropdown.select2-dropdown--above{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0}.select2-container .select2-dropdown.select2-dropdown--below{border-top:none;border-top-left-radius:0;border-top-right-radius:0}.select2-container .select2-dropdown .select2-results{display:block}.select2-container .select2-dropdown .select2-results .select2-results__options{list-style:none;margin:0;padding:0;max-height:200px;overflow-y:auto}.select2-container .select2-dropdown .select2-results .select2-results__options .select2-results__option{padding:6px}.select2-container .select2-dropdown .select2-results .select2-results__options .select2-results__option[aria-selected]{cursor:pointer}.select2-container .select2-dropdown .select2-results .select2-results__options .select2-results__option[role=group]{padding:0}.select2-container .select2-dropdown .select2-results .select2-results__options .select2-results__option[aria-disabled=true]{color:#aaa}.select2-container .select2-dropdown .select2-results .select2-results__options .select2-results__option[aria-selected=true]{background-color:#dddddd}.select2-container .select2-dropdown .select2-results .select2-results__options .select2-results__option .select2-results__group{cursor:default;display:block;padding:6px}.select2-container .select2-dropdown .select2-results .select2-results__options .select2-results__option .select2-results__option{padding-left:14px}.select2-container .select2-dropdown .select2-results .select2-results__options .select2-results__option .select2-results__option .select2-results__group{padding-left:0}.select2-container .select2-dropdown .select2-results .select2-results__options .select2-results__option .select2-results__option .select2-results__option{margin-left:-14px;padding-left:28px}.select2-container .select2-dropdown .select2-results .select2-results__options .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-28px;padding-left:42px}.select2-container .select2-dropdown .select2-results .select2-results__options .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-42px;padding-left:56px}.select2-container .select2-dropdown .select2-results .select2-results__options .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-56px;padding-left:70px}.select2-container .select2-dropdown .select2-results .select2-results__options .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-70px;padding-left:84px}.select2-container .select2-dropdown .select2-results .select2-results__options .select2-results__option--highlighted[aria-selected]{background-color:#0073AA;color:#fff}.select2-container.select2-container--open .select2-selection--multiple,.select2-container.select2-container--open .select2-selection--single{border-color:#0073AA}.select2-container.select2-container--open.select2-container--above .select2-selection--multiple,.select2-container.select2-container--open.select2-container--above .select2-selection--single{border-top:0 none;border-top-left-radius:0;border-top-right-radius:0}.select2-container.select2-container--open.select2-container--below .select2-selection--multiple,.select2-container.select2-container--open.select2-container--below .select2-selection--single{border-bottom:0 none;border-bottom-left-radius:0;border-bottom-right-radius:0}.select2-container.select2-container--open .select2-selection--single .select2-selection__arrow b{border-color:transparent transparent #9f9f9f transparent;border-width:0 4px 5px 4px}.select2-container.select2-container--focus .select2-selection--multiple,.select2-container.select2-container--focus .select2-selection--single{outline:0}.select2-container.select2-container--disabled .select2-selection--single{background-color:#eeeeee;cursor:default}.select2-container.select2-container--disabled .select2-selection--single .select2-selection__clear{display:none}.select2-container.select2-container--disabled .select2-selection--multiple{background-color:#eeeeee;cursor:default}.select2-container.select2-container--disabled .select2-selection__choice__remove{display:none}.select2-container[dir=rtl] .select2-selection--single .select2-selection__clear{float:left}.select2-container[dir=rtl] .select2-selection--single .select2-selection__arrow{left:1px;right:auto}.select2-container[dir=rtl] .select2-selection--single .select2-selection__rendered{padding-right:8px;padding-left:20px}.select2-container[dir=rtl] .select2-selection--multiple .select2-selection__choice{float:right;margin-left:5px;margin-right:auto}.select2-container[dir=rtl] .select2-selection--multiple .select2-selection__placeholder{float:right}.select2-container[dir=rtl] .select2-selection--multiple .select2-search--inline{float:right}.select2-container[dir=rtl] .select2-selection--multiple .select2-selection__choice__remove{margin-left:2px;margin-right:auto}.select2-close-mask{border:0;margin:0;padding:0;display:block;position:fixed;left:0;top:0;min-height:100%;min-width:100%;height:auto;width:auto;opacity:0;z-index:99;background-color:#fff;filter:alpha(opacity=0)}.select2-hidden-accessible{border:0!important;clip:rect(0 0 0 0)!important;-webkit-clip-path:inset(50%)!important;clip-path:inset(50%)!important;height:1px!important;overflow:hidden!important;padding:0!important;position:absolute!important;width:1px!important;white-space:nowrap!important}#tiptip_holder{display:none;position:absolute;top:0;left:0;z-index:99999}#tiptip_holder.tip_top{padding-bottom:5px}#tiptip_holder.tip_bottom{padding-top:5px}#tiptip_holder.tip_right{padding-left:5px}#tiptip_holder.tip_left{padding-right:5px}#tiptip_content{font-size:11px;color:#fff;text-shadow:0 0 2px #000;padding:4px 8px;border:1px solid rgba(255, 255, 255, 0.25);background-color:#191919;background-color:rgba(25, 25, 25, 0.92);background-image:-webkit-gradient(linear, 0% 0%, 0% 100%, from(transparent), to(#000));border-radius:3px;-webkit-border-radius:3px;-moz-border-radius:3px;box-shadow:0 0 3px #555;-webkit-box-shadow:0 0 3px #555;-moz-box-shadow:0 0 3px #555}#tiptip_arrow,#tiptip_arrow_inner{position:absolute;border-color:transparent;border-style:solid;border-width:6px;height:0;width:0}#tiptip_holder.tip_top #tiptip_arrow{border-top-color:#fff;border-top-color:rgba(255, 255, 255, 0.35)}#tiptip_holder.tip_bottom #tiptip_arrow{border-bottom-color:#fff;border-bottom-color:rgba(255, 255, 255, 0.35)}#tiptip_holder.tip_right #tiptip_arrow{border-right-color:#fff;border-right-color:rgba(255, 255, 255, 0.35)}#tiptip_holder.tip_left #tiptip_arrow{border-left-color:#fff;border-left-color:rgba(255, 255, 255, 0.35)}#tiptip_holder.tip_top #tiptip_arrow_inner{margin-top:-7px;margin-left:-6px;border-top-color:#191919;border-top-color:rgba(25, 25, 25, 0.92)}#tiptip_holder.tip_bottom #tiptip_arrow_inner{margin-top:-5px;margin-left:-6px;border-bottom-color:#191919;border-bottom-color:rgba(25, 25, 25, 0.92)}#tiptip_holder.tip_right #tiptip_arrow_inner{margin-top:-6px;margin-left:-5px;border-right-color:#191919;border-right-color:rgba(25, 25, 25, 0.92)}#tiptip_holder.tip_left #tiptip_arrow_inner{margin-top:-6px;margin-left:-7px;border-left-color:#191919;border-left-color:rgba(25, 25, 25, 0.92)}@media screen and (-webkit-min-device-pixel-ratio:0){#tiptip_content{padding:4px 8px 5px 8px;background-color:rgba(45, 45, 45, 0.88)}#tiptip_holder.tip_bottom #tiptip_arrow_inner{border-bottom-color:rgba(45, 45, 45, 0.88)}#tiptip_holder.tip_top #tiptip_arrow_inner{border-top-color:rgba(20, 20, 20, 0.92)}}.amp-wp-adb{}.amp-wp-adb h1,.amp-wp-adb h2,.amp-wp-adb h3,.amp-wp-adb h4,.amp-wp-adb h5,.amp-wp-adb h6,.amp-wp-adb p{margin-top:0;margin-bottom:10px}.amp-wp-adb h1,.amp-wp-adb h2,.amp-wp-adb h3,.amp-wp-adb h4,.amp-wp-adb h5,.amp-wp-adb h6{line-height:1.2}.amp-wp-adb p{line-height:1.3}.amp-wp-adb a{color:#0073AA;font-weight:600;-webkit-transition:all 0.2s ease-out;-o-transition:all 0.2s ease-out;transition:all 0.2s ease-out}.amp-wp-adb a:focus,.amp-wp-adb a:hover{color:#003f5e;-webkit-transition:all 0.2s ease-in;-o-transition:all 0.2s ease-in;transition:all 0.2s ease-in}.amp-wp-adb .description{margin-top:10px;font-style:normal;color:#666}.amp-wp-adb .pre{font-family:monospace}.amp-wp-adb .secondary-link{color:#e53935}.amp-wp-adb .secondary-link:focus,.amp-wp-adb .secondary-link:hover{color:#b61b17}.amp-wp-adb [class*=col-lg-],.amp-wp-adb [class*=col-md-],.amp-wp-adb [class*=col-sm-],.amp-wp-adb [class*=col-xs-]{float:left;min-height:1px;padding:0 15px}.amp-wp-adb .row{margin:0 -15px}.amp-wp-adb .container{padding:0 15px;margin:0 auto}.amp-wp-adb .col-xs-1{width:8.33%}.amp-wp-adb .col-xs-2{width:16.66%}.amp-wp-adb .col-xs-3{width:25%}.amp-wp-adb .col-xs-4{width:33.33%}.amp-wp-adb .col-xs-5{width:41.66%}.amp-wp-adb .col-xs-6{width:50%}.amp-wp-adb .col-xs-7{width:58.33%}.amp-wp-adb .col-xs-8{width:66.66%}.amp-wp-adb .col-xs-9{width:75%}.amp-wp-adb .col-xs-10{width:83.33%}.amp-wp-adb .col-xs-11{width:91.66%}.amp-wp-adb .col-xs-12{width:100%}@media (min-width:783px){.amp-wp-adb .container{max-width:740px}.amp-wp-adb .col-sm-1{width:8.33%}.amp-wp-adb .col-sm-2{width:16.66%}.amp-wp-adb .col-sm-3{width:25%}.amp-wp-adb .col-sm-4{width:33.33%}.amp-wp-adb .col-sm-5{width:41.66%}.amp-wp-adb .col-sm-6{width:50%}.amp-wp-adb .col-sm-7{width:58.33%}.amp-wp-adb .col-sm-8{width:66.66%}.amp-wp-adb .col-sm-9{width:75%}.amp-wp-adb .col-sm-10{width:83.33%}.amp-wp-adb .col-sm-11{width:91.66%}.amp-wp-adb .col-sm-12{width:100%}}@media (min-width:961px){.amp-wp-adb .container{max-width:940px}.amp-wp-adb .col-md-1{width:8.33%}.amp-wp-adb .col-md-2{width:16.66%}.amp-wp-adb .col-md-3{width:25%}.amp-wp-adb .col-md-4{width:33.33%}.amp-wp-adb .col-md-5{width:41.66%}.amp-wp-adb .col-md-6{width:50%}.amp-wp-adb .col-md-7{width:58.33%}.amp-wp-adb .col-md-8{width:66.66%}.amp-wp-adb .col-md-9{width:75%}.amp-wp-adb .col-md-10{width:83.33%}.amp-wp-adb .col-md-11{width:91.66%}.amp-wp-adb .col-md-12{width:100%}}@media (min-width:1366px){.amp-wp-adb .container{max-width:1200px}.amp-wp-adb .col-lg-1{width:8.33%}.amp-wp-adb .col-lg-2{width:16.66%}.amp-wp-adb .col-lg-3{width:25%}.amp-wp-adb .col-lg-4{width:33.33%}.amp-wp-adb .col-lg-5{width:41.66%}.amp-wp-adb .col-lg-6{width:50%}.amp-wp-adb .col-lg-7{width:58.33%}.amp-wp-adb .col-lg-8{width:66.66%}.amp-wp-adb .col-lg-9{width:75%}.amp-wp-adb .col-lg-10{width:83.33%}.amp-wp-adb .col-lg-11{width:91.66%}.amp-wp-adb .col-lg-12{width:100%}}.amp-wp-adb .amp-wp-table{margin-bottom:20px}.amp-wp-adb .amp-wp-table thead{background:#32373c}.amp-wp-adb .amp-wp-table thead th{font-weight:600;color:#eee}.amp-wp-adb .amp-wp-table tr td{border-bottom:1px solid #e4e4e4}.amp-wp-adb .amp-wp-table tr:nth-child(2n){background:#f2f2f2}.amp-wp-adb .amp-wp-table td mark.yes,.amp-wp-adb .amp-wp-table th mark.yes{color:#7ad03a;background:transparent}.amp-wp-adb .amp-wp-table td .red,.amp-wp-adb .amp-wp-table td mark.error,.amp-wp-adb .amp-wp-table th .red,.amp-wp-adb .amp-wp-table th mark.error{background:transparent;color:#a00}.amp-wp-adb .amp-wp-table td mark.no,.amp-wp-adb .amp-wp-table th mark.no{background:transparent;color:#999}.amp-wp-adb .amp-wp-help-table td:first-child{width:180px;font-weight:600}.amp-wp-adb .amp-wp-help-table td.help{width:50px}.amp-wp-adb .amp-wp-help-table .help_tip i{font-size:18px;position:relative;top:1px}.amp-wp-adb .button,.amp-wp-adb .button-primary,.amp-wp-adb .button-secondary{text-shadow:none;-webkit-transition:all 0.2s ease-out;-o-transition:all 0.2s ease-out;transition:all 0.2s ease-out;font-weight:600}.amp-wp-adb .button-primary:focus,.amp-wp-adb .button-primary:hover,.amp-wp-adb .button-secondary:focus,.amp-wp-adb .button-secondary:hover,.amp-wp-adb .button:focus,.amp-wp-adb .button:hover{-webkit-transition:all 0.2s ease-out;-o-transition:all 0.2s ease-out;transition:all 0.2s ease-out}.amp-wp-adb .button-primary:active,.amp-wp-adb .button-secondary:active,.amp-wp-adb .button:active{-webkit-transition:all 0.2s ease-out;-o-transition:all 0.2s ease-out;transition:all 0.2s ease-out;-webkit-transform:translateY(1px);-ms-transform:translateY(1px);transform:translateY(1px);-webkit-box-shadow:inset 0 2px 5px -3px rgba(0, 0, 0, 0.5);box-shadow:inset 0 2px 5px -3px rgba(0, 0, 0, 0.5)}.amp-wp-adb .button{background:#eeeeee;border:1px solid #d5d5d5;-webkit-box-shadow:0 1px 0 #a2a2a2;box-shadow:0 1px 0 #a2a2a2}.amp-wp-adb .button:focus,.amp-wp-adb .button:hover{background:#e1e1e1;border-color:#d5d5d5;-webkit-box-shadow:0 1px 0 #d5d5d5;box-shadow:0 1px 0 #d5d5d5}.amp-wp-adb .button-primary{color:#fff;background:#0073AA;border:1px solid #005177;-webkit-box-shadow:0 1px 0 #000c11;box-shadow:0 1px 0 #000c11}.amp-wp-adb .button-primary:focus,.amp-wp-adb .button-primary:hover{background:#006291;border-color:#005177;-webkit-box-shadow:0 1px 0 #005177;box-shadow:0 1px 0 #005177}.amp-wp-adb .button-secondary{color:#fff;background:#e53935;border:1px solid #cd1e1a;-webkit-box-shadow:0 1px 0 #72110f;box-shadow:0 1px 0 #72110f}.amp-wp-adb .button-secondary:focus,.amp-wp-adb .button-secondary:hover{background:#e2231e;border-color:#cd1e1a;-webkit-box-shadow:0 1px 0 #cd1e1a;box-shadow:0 1px 0 #cd1e1a}.amp-wp-adb .amp-wp-action-buttons a{margin-right:5px}.amp-wp-adb .amp-wp-header{margin:15px 0}.amp-wp-adb .amp-wp-header:after,.amp-wp-adb .amp-wp-header:before{content:" ";display:table}.amp-wp-adb .amp-wp-header:after{clear:both}.amp-wp-adb .amp-wp-header .amp-wp-logo,.amp-wp-adb .amp-wp-header .amp-wp-title{display:block;float:left}.amp-wp-adb .amp-wp-header .amp-wp-logo{background:#fff;padding:20px 10px;min-width:50px}@media (min-width:414px){.amp-wp-adb .amp-wp-header .amp-wp-logo{padding:15px;min-width:70px}}.amp-wp-adb .amp-wp-header .amp-wp-logo img{max-width:70px;height:auto}.amp-wp-adb .amp-wp-header .amp-wp-title{vertical-align:top;padding-left:15px}.amp-wp-adb .amp-wp-header .amp-wp-title h1{margin:7px 0}.amp-wp-adb .amp-wp-header .amp-wp-title h3{margin-bottom:15px}.amp-wp-adb .amp-wp-header .amp-wp-version h4{display:inline-block;margin:0}.amp-wp-adb .amp-wp-header .amp-wp-version h4 strong{font-weight:700}.amp-wp-adb .amp-wp-htabs{display:-webkit-box;display:-ms-flexbox;display:flex;padding:0;border:0 none;overflow:auto}.amp-wp-adb .amp-wp-htabs:after,.amp-wp-adb .amp-wp-htabs:before{content:" ";display:table}.amp-wp-adb .amp-wp-htabs:after{clear:both}.amp-wp-adb .amp-wp-htabs a{color:#555d66;font-size:13px;text-transform:uppercase;font-weight:700;width:100%;display:inline-block;margin:0;padding:10px 15px;background:#fff;border:0 none;border-right:1px solid #eeeeee;-webkit-transition:all 0.1s ease-out;-o-transition:all 0.1s ease-out;transition:all 0.1s ease-out}.amp-wp-adb .amp-wp-htabs a:last-child{border-right:0 none}.amp-wp-adb .amp-wp-htabs a>span{display:inline-block;color:#fff;width:23px;text-align:center;margin-right:7px;font-weight:800;font-size:12px}.amp-wp-adb .amp-wp-htabs a.nav-tab-active,.amp-wp-adb .amp-wp-htabs a:focus,.amp-wp-adb .amp-wp-htabs a:hover{color:#eee;-webkit-box-shadow:none;box-shadow:none;-webkit-transition:all 0.1s ease-in;-o-transition:all 0.1s ease-in;transition:all 0.1s ease-in}.amp-wp-adb .amp-wp-htabs a.welcome>span{background:#e53935}.amp-wp-adb .amp-wp-htabs a.welcome.nav-tab-active,.amp-wp-adb .amp-wp-htabs a.welcome:focus,.amp-wp-adb .amp-wp-htabs a.welcome:hover{background:#0073AA;color:#fff}.amp-wp-adb .amp-wp-htabs a.welcome.nav-tab-active>span,.amp-wp-adb .amp-wp-htabs a.welcome:focus>span,.amp-wp-adb .amp-wp-htabs a.welcome:hover>span{color:#0073AA;background:#fff}.amp-wp-adb .amp-wp-htabs a.settings>span{background:#20d37e}.amp-wp-adb .amp-wp-htabs a.settings.nav-tab-active,.amp-wp-adb .amp-wp-htabs a.settings:focus,.amp-wp-adb .amp-wp-htabs a.settings:hover{background:#0073AA;color:#fff}.amp-wp-adb .amp-wp-htabs a.settings.nav-tab-active>span,.amp-wp-adb .amp-wp-htabs a.settings:focus>span,.amp-wp-adb .amp-wp-htabs a.settings:hover>span{color:#0073AA;background:#fff}.amp-wp-adb .amp-wp-htabs a.customize>span{background:#62c5ed}.amp-wp-adb .amp-wp-htabs a.customize.nav-tab-active,.amp-wp-adb .amp-wp-htabs a.customize:focus,.amp-wp-adb .amp-wp-htabs a.customize:hover{background:#0073AA;color:#fff}.amp-wp-adb .amp-wp-htabs a.customize.nav-tab-active>span,.amp-wp-adb .amp-wp-htabs a.customize:focus>span,.amp-wp-adb .amp-wp-htabs a.customize:hover>span{color:#0073AA;background:#fff}.amp-wp-adb .amp-wp-htabs a.add-ons>span{background:#a151fc}.amp-wp-adb .amp-wp-htabs a.add-ons.nav-tab-active,.amp-wp-adb .amp-wp-htabs a.add-ons:focus,.amp-wp-adb .amp-wp-htabs a.add-ons:hover{background:#0073AA;color:#fff}.amp-wp-adb .amp-wp-htabs a.add-ons.nav-tab-active>span,.amp-wp-adb .amp-wp-htabs a.add-ons:focus>span,.amp-wp-adb .amp-wp-htabs a.add-ons:hover>span{color:#0073AA;background:#fff}.amp-wp-adb .amp-wp-htabs a.help>span{background:#416deb}.amp-wp-adb .amp-wp-htabs a.help.nav-tab-active,.amp-wp-adb .amp-wp-htabs a.help:focus,.amp-wp-adb .amp-wp-htabs a.help:hover{background:#0073AA;color:#fff}.amp-wp-adb .amp-wp-htabs a.help.nav-tab-active>span,.amp-wp-adb .amp-wp-htabs a.help:focus>span,.amp-wp-adb .amp-wp-htabs a.help:hover>span{color:#0073AA;background:#fff}.amp-wp-adb .amp-wp-htabs a.about>span{background:#d26948}.amp-wp-adb .amp-wp-htabs a.about.nav-tab-active,.amp-wp-adb .amp-wp-htabs a.about:focus,.amp-wp-adb .amp-wp-htabs a.about:hover{background:#0073AA;color:#fff}.amp-wp-adb .amp-wp-htabs a.about.nav-tab-active>span,.amp-wp-adb .amp-wp-htabs a.about:focus>span,.amp-wp-adb .amp-wp-htabs a.about:hover>span{color:#0073AA;background:#fff}.amp-wp-adb .amp-wp-htabs a.system-status>span{background:#9f9f9f}.amp-wp-adb .amp-wp-htabs a.system-status.nav-tab-active,.amp-wp-adb .amp-wp-htabs a.system-status:focus,.amp-wp-adb .amp-wp-htabs a.system-status:hover{background:#0073AA;color:#fff}.amp-wp-adb .amp-wp-htabs a.system-status.nav-tab-active>span,.amp-wp-adb .amp-wp-htabs a.system-status:focus>span,.amp-wp-adb .amp-wp-htabs a.system-status:hover>span{color:#0073AA;background:#fff}.amp-wp-adb .amp-wp-vtabs{display:-webkit-box;display:-ms-flexbox;display:flex}.amp-wp-adb .amp-wp-vtabs .amp-wp-vtabs-sidebar{width:200px;background:#32373c}.amp-wp-adb .amp-wp-vtabs .amp-wp-vtabs-menu a{background:#23282D;color:#eee;font-size:14px;line-height:1.2;padding:12px;border-bottom:1px solid #333333;font-weight:400;text-decoration:none;display:block}.amp-wp-adb .amp-wp-vtabs .amp-wp-vtabs-menu a i,.amp-wp-adb .amp-wp-vtabs .amp-wp-vtabs-menu a span{position:relative}.amp-wp-adb .amp-wp-vtabs .amp-wp-vtabs-menu a i{line-height:14px;font-size:18px;line-height:14px;margin-right:7px;top:1px}.amp-wp-adb .amp-wp-vtabs .amp-wp-vtabs-menu a span{top:-2px}.amp-wp-adb .amp-wp-vtabs .amp-wp-vtabs-menu a:hover{background:#32373c}.amp-wp-adb .amp-wp-vtabs .amp-wp-vtabs-menu a:active,.amp-wp-adb .amp-wp-vtabs .amp-wp-vtabs-menu a:focus{-webkit-box-shadow:none;box-shadow:none}.amp-wp-adb .amp-wp-vtabs .amp-wp-vtabs-menu a.active{color:#fff;background:#0073AA;position:relative;border-right:0 none}.amp-wp-adb .amp-wp-vtabs .amp-wp-vtabs-menu a.active:after{right:-1px;border:8px solid transparent;border-right-color:transparent;content:" ";height:0;width:0;position:absolute;pointer-events:none;border-right-color:#fff;top:50%;margin-top:-8px}.amp-wp-adb .amp-wp-vtabs .amp-wp-vtabs-menu a:first-child.active:after{border-right-color:#32373c}.amp-wp-adb .amp-wp-vtabs .amp-wp-vtabs-content-wrap{width:calc(100% - 200px);border-left:0 none}.amp-wp-adb .amp-wp-vtabs .amp-wp-vtabs-content-wrap .amp-wp-vtabs-footer,.amp-wp-adb .amp-wp-vtabs .amp-wp-vtabs-content-wrap .amp-wp-vtabs-header{padding:8px 15px 9px;background:#32373c}.amp-wp-adb .amp-wp-vtabs .amp-wp-vtabs-content-wrap .amp-wp-vtabs-footer:after,.amp-wp-adb .amp-wp-vtabs .amp-wp-vtabs-content-wrap .amp-wp-vtabs-footer:before,.amp-wp-adb .amp-wp-vtabs .amp-wp-vtabs-content-wrap .amp-wp-vtabs-header:after,.amp-wp-adb .amp-wp-vtabs .amp-wp-vtabs-content-wrap .amp-wp-vtabs-header:before{content:" ";display:table}.amp-wp-adb .amp-wp-vtabs .amp-wp-vtabs-content-wrap .amp-wp-vtabs-footer:after,.amp-wp-adb .amp-wp-vtabs .amp-wp-vtabs-content-wrap .amp-wp-vtabs-header:after{clear:both}.amp-wp-adb .amp-wp-vtabs .amp-wp-vtabs-content-wrap .amp-wp-vtabs-footer h2,.amp-wp-adb .amp-wp-vtabs .amp-wp-vtabs-content-wrap .amp-wp-vtabs-header h2{color:#eee;font-size:16px;font-weight:600;line-height:26px;margin:0 15px 0 0;text-transform:uppercase;letter-spacing:0.2px}.amp-wp-adb .amp-wp-vtabs .amp-wp-vtabs-content-wrap .amp-wp-vtabs-footer .amp-wp-vtabs-title,.amp-wp-adb .amp-wp-vtabs .amp-wp-vtabs-content-wrap .amp-wp-vtabs-header .amp-wp-vtabs-title{float:left}.amp-wp-adb .amp-wp-vtabs .amp-wp-vtabs-content-wrap .amp-wp-vtabs-footer .amp-wp-vtabs-btn-toolbar,.amp-wp-adb .amp-wp-vtabs .amp-wp-vtabs-content-wrap .amp-wp-vtabs-header .amp-wp-vtabs-btn-toolbar{float:right}.amp-wp-adb .amp-wp-vtabs .amp-wp-vtabs-content-wrap .amp-wp-vtabs-footer .amp-wp-vtabs-btn-toolbar a,.amp-wp-adb .amp-wp-vtabs .amp-wp-vtabs-content-wrap .amp-wp-vtabs-footer .amp-wp-vtabs-btn-toolbar button,.amp-wp-adb .amp-wp-vtabs .amp-wp-vtabs-content-wrap .amp-wp-vtabs-footer .amp-wp-vtabs-btn-toolbar input,.amp-wp-adb .amp-wp-vtabs .amp-wp-vtabs-content-wrap .amp-wp-vtabs-header .amp-wp-vtabs-btn-toolbar a,.amp-wp-adb .amp-wp-vtabs .amp-wp-vtabs-content-wrap .amp-wp-vtabs-header .amp-wp-vtabs-btn-toolbar button,.amp-wp-adb .amp-wp-vtabs .amp-wp-vtabs-content-wrap .amp-wp-vtabs-header .amp-wp-vtabs-btn-toolbar input{margin-left:5px}.amp-wp-adb .amp-wp-vtabs .amp-wp-vtabs-content-wrap .amp-wp-vtabs-header{border-bottom:1px solid #e4e4e4}.amp-wp-adb .amp-wp-vtabs .amp-wp-vtabs-content-wrap .amp-wp-vtabs-footer{border-top:1px solid #e4e4e4;border-left:1px solid #444}.amp-wp-adb .amp-wp-vtabs .amp-wp-vtabs-content-wrap .amp-wp-vtabs-body{padding:20px;background:#fff;min-height:40vh}@media (max-width:960px){.amp-wp-adb .amp-wp-vtabs .amp-wp-vtabs-sidebar{width:46px}.amp-wp-adb .amp-wp-vtabs .amp-wp-vtabs-menu a span{display:none}.amp-wp-adb .amp-wp-vtabs .amp-wp-vtabs-content-wrap{width:calc(100% - 46px)}.amp-wp-adb .amp-wp-vtabs .amp-wp-vtabs-content-wrap .amp-wp-vtabs-body{min-height:auto}.amp-wp-adb .amp-wp-vtabs .amp-wp-vtabs-content-wrap .amp-wp-vtabs-header .amp-wp-vtabs-btn-toolbar{display:none}.amp-wp-adb .amp-wp-vtabs .amp-wp-vtabs-content-wrap .amp-wp-vtabs-footer .amp-wp-vtabs-title{display:none}.amp-wp-adb .amp-wp-vtabs .amp-wp-vtabs-content-wrap .amp-wp-vtabs-footer .amp-wp-vtabs-btn-toolbar{float:left}}@-webkit-keyframes dash{0%{stroke-dashoffset:1000}to{stroke-dashoffset:0}}@keyframes dash{0%{stroke-dashoffset:1000}to{stroke-dashoffset:0}}@-webkit-keyframes rotate{0%{-webkit-transform:rotate(180deg);transform:rotate(180deg)}to{-webkit-transform:rotate(0);transform:rotate(0)}}@keyframes rotate{0%{-webkit-transform:rotate(180deg);transform:rotate(180deg)}to{-webkit-transform:rotate(0);transform:rotate(0)}}@-webkit-keyframes wave{0%{-webkit-transform:translateY(-10%);transform:translateY(-10%)}to{-webkit-transform:translateY(10%);transform:translateY(10%)}}@keyframes wave{0%{-webkit-transform:translateY(-10%);transform:translateY(-10%)}to{-webkit-transform:translateY(10%);transform:translateY(10%)}}.amp-wp-adb .amp-wp-rating-box{background:url("../images/rating-box/red-bg.jpg") left top no-repeat #e53935;background-size:cover;border:0 none;margin:20px 0;padding:0;overflow:hidden}@media (-webkit-min-device-pixl-ratio:2){.amp-wp-adb .amp-wp-rating-box{background-image:url("../images/rating-box/red-bg-2x.jpg")}}.amp-wp-adb .amp-wp-rating-box a{text-decoration:none;line-height:1;position:relative;display:block}.amp-wp-adb .amp-wp-rating-box a .after-img,.amp-wp-adb .amp-wp-rating-box a .before-img{position:absolute;bottom:-1px}.amp-wp-adb .amp-wp-rating-box a .after-img img,.amp-wp-adb .amp-wp-rating-box a .after-img svg,.amp-wp-adb .amp-wp-rating-box a .before-img img,.amp-wp-adb .amp-wp-rating-box a .before-img svg{max-height:70px;width:auto}.amp-wp-adb .amp-wp-rating-box a .before-img{left:10px;bottom:-10px}.amp-wp-adb .amp-wp-rating-box a .before-img svg{-webkit-animation:wave 1s cubic-bezier(0.45, 0.05, 0.55, 0.95) alternate infinite;animation:wave 1s cubic-bezier(0.45, 0.05, 0.55, 0.95) alternate infinite}.amp-wp-adb .amp-wp-rating-box a .before-img svg .st0{fill:#FFFFFF}.amp-wp-adb .amp-wp-rating-box a .before-img svg .st1{fill:none;stroke:#FFFFFF;stroke-width:5.5507;stroke-miterlimit:10}.amp-wp-adb .amp-wp-rating-box a .after-img{right:-38px;bottom:-4px}@media (max-width:782px){.amp-wp-adb .amp-wp-rating-box a .after-img{display:none}}.amp-wp-adb .amp-wp-rating-box a .after-img svg path{fill:none;stroke-linecap:round;stroke-miterlimit:10;stroke-width:2px;stroke:#fff;stroke-dasharray:1000;stroke-dashoffset:1000;-webkit-animation:dash 3s cubic-bezier(0.46, 0.03, 0.52, 0.96) alternate infinite;animation:dash 3s cubic-bezier(0.46, 0.03, 0.52, 0.96) alternate infinite}.amp-wp-adb .amp-wp-rating-box a .inner-content{padding:15px 0 15px 100px}@media (min-width:783px){.amp-wp-adb .amp-wp-rating-box a .inner-content{padding-right:120px}}.amp-wp-adb .amp-wp-rating-box a .inner-content h3,.amp-wp-adb .amp-wp-rating-box a .inner-content p{color:#fff;margin:0}.amp-wp-adb .amp-wp-rating-box a .inner-content h3{line-height:1;font-size:20px;font-weight:600;text-transform:uppercase;margin-bottom:5px}.amp-wp-adb .amp-wp-rating-box a .inner-content p{font-size:14px}.amp-wp-adb .amp-wp-rating-box a:active,.amp-wp-adb .amp-wp-rating-box a:focus,.amp-wp-adb .amp-wp-rating-box a:hover{border:0 none;-webkit-box-shadow:none;box-shadow:none}.amp-wp-adb .amp-wp-rating-box .notice-dismiss{height:100%;color:#fff;padding:15px;font-size:22px}.amp-wp-adb .amp-wp-rating-box .notice-dismiss:before{color:#fff;font-size:24px}.amp-wp-adb .amp-wp-star-rating{display:inline-block;color:#ffb900;position:relative;top:3px}.amp-wp-adb .amp-wp-star-rating svg{fill:#ffb900}.amp-wp-adb .amp-wp-star-rating svg:hover{fill:#ffb900}.amp-wp-adb .amp-wp-star-rating svg:hover~svg{fill:none}.amp-wp-adb .amp-wp-content-wrap{background:#fff}.amp-wp-adb .amp-wp-content-wrap .amp-wp-content-body{padding:15px}.amp-wp-adb .amp-wp-content-wrap p{margin-bottom:20px}.amp-wp-adb .amp-wp-content-wrap .amp-wp-content-footer,.amp-wp-adb .amp-wp-content-wrap .amp-wp-content-header{background:#32373c;padding:8px 15px 9px}.amp-wp-adb .amp-wp-content-wrap .amp-wp-content-footer:after,.amp-wp-adb .amp-wp-content-wrap .amp-wp-content-footer:before,.amp-wp-adb .amp-wp-content-wrap .amp-wp-content-header:after,.amp-wp-adb .amp-wp-content-wrap .amp-wp-content-header:before{content:" ";display:table}.amp-wp-adb .amp-wp-content-wrap .amp-wp-content-footer:after,.amp-wp-adb .amp-wp-content-wrap .amp-wp-content-header:after{clear:both}.amp-wp-adb .amp-wp-content-wrap .amp-wp-content-footer h2,.amp-wp-adb .amp-wp-content-wrap .amp-wp-content-footer h3,.amp-wp-adb .amp-wp-content-wrap .amp-wp-content-header h2,.amp-wp-adb .amp-wp-content-wrap .amp-wp-content-header h3{color:#eee;font-size:16px;font-weight:700;line-height:26px;text-transform:uppercase;letter-spacing:0.2px;margin:0}.amp-wp-adb .amp-wp-content-wrap .amp-wp-content-footer .amp-wp-content-title,.amp-wp-adb .amp-wp-content-wrap .amp-wp-content-header .amp-wp-content-title{float:left}.amp-wp-adb .amp-wp-content-wrap .amp-wp-content-footer .amp-wp-content-btn-toolbar,.amp-wp-adb .amp-wp-content-wrap .amp-wp-content-header .amp-wp-content-btn-toolbar{float:right}.amp-wp-adb .amp-wp-content-wrap .amp-wp-content-footer .amp-wp-content-btn-toolbar a,.amp-wp-adb .amp-wp-content-wrap .amp-wp-content-footer .amp-wp-content-btn-toolbar button,.amp-wp-adb .amp-wp-content-wrap .amp-wp-content-footer .amp-wp-content-btn-toolbar input,.amp-wp-adb .amp-wp-content-wrap .amp-wp-content-header .amp-wp-content-btn-toolbar a,.amp-wp-adb .amp-wp-content-wrap .amp-wp-content-header .amp-wp-content-btn-toolbar button,.amp-wp-adb .amp-wp-content-wrap .amp-wp-content-header .amp-wp-content-btn-toolbar input{margin-left:5px}.amp-wp-adb .amp-wp-content-wrap .amp-wp-content-header{border-bottom:1px solid #e4e4e4}.amp-wp-adb .amp-wp-content-wrap .amp-wp-content-footer{border-top:1px solid #e4e4e4;border-left:1px solid #444}@media (max-width:960px){.amp-wp-adb .amp-wp-content-wrap .amp-wp-content-header .amp-wp-content-btn-toolbar{display:none}.amp-wp-adb .amp-wp-content-wrap .amp-wp-content-footer .amp-wp-content-title{display:none}.amp-wp-adb .amp-wp-content-wrap .amp-wp-content-footer .amp-wp-content-btn-toolbar{float:left}}.amp-wp-adb #debug-report{display:none}.amp-wp-adb #debug-report textarea{font-family:monospace;width:100%;margin:0;height:300px;padding:20px;-moz-border-radius:0;-webkit-border-radius:0;border-radius:0;resize:none;font-size:12px;line-height:20px;outline:0}.amp-wp-adb .amp-wp-box{padding:20px 25px 25px 25px;margin:10px;border:0 none;background:#f2f2f2;width:100%}.amp-wp-adb .amp-wp-box h2,.amp-wp-adb .amp-wp-box h3{color:#555d66;text-transform:uppercase;font-size:16px;font-weight:600;line-height:1.4}.amp-wp-adb .amp-wp-box p{font-size:13px;margin-bottom:20px;line-height:1.5}.amp-wp-adb .amp-wp-box.alert-box{margin:0 0 20px 0;background:#fff;border-left:5px solid #2885bb}.amp-wp-adb .amp-wp-box.alert-box h3{text-transform:uppercase}.amp-wp-adb .amp-wp-box.alert-box p{margin:0}.amp-wp-adb .amp-wp-boxes{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;-ms-flex-line-pack:stretch;align-content:stretch;margin:-10px}@media (min-width:500px){.amp-wp-adb .amp-wp-boxes.amp-wp-boxes-2-col .amp-wp-box{width:calc(50% - 20px)}}@media (min-width:500px){.amp-wp-adb .amp-wp-boxes.amp-wp-boxes-3-col .amp-wp-box{width:calc(50% - 20px)}}@media (min-width:1200px){.amp-wp-adb .amp-wp-boxes.amp-wp-boxes-3-col .amp-wp-box{width:calc(33.33% - 20px)}}@media (min-width:500px){.amp-wp-adb .amp-wp-boxes.amp-wp-boxes-4-col .amp-wp-box{width:calc(50% - 20px)}}@media (min-width:783px){.amp-wp-adb .amp-wp-boxes.amp-wp-boxes-4-col .amp-wp-box{width:calc(33.33% - 20px)}}@media (min-width:1200px){.amp-wp-adb .amp-wp-boxes.amp-wp-boxes-4-col .amp-wp-box{width:calc(25% - 20px)}}@media (min-width:500px){.amp-wp-adb .amp-wp-boxes.amp-wp-boxes-6-col .amp-wp-box{width:calc(50% - 20px)}}@media (min-width:783px){.amp-wp-adb .amp-wp-boxes.amp-wp-boxes-6-col .amp-wp-box{width:calc(33.33% - 20px)}}@media (min-width:1200px){.amp-wp-adb .amp-wp-boxes.amp-wp-boxes-6-col .amp-wp-box{width:calc(25% - 20px)}}@media (min-width:1400px){.amp-wp-adb .amp-wp-boxes.amp-wp-boxes-6-col .amp-wp-box{width:calc(20% - 20px)}}@media (min-width:1600px){.amp-wp-adb .amp-wp-boxes.amp-wp-boxes-6-col .amp-wp-box{width:calc(16.66% - 20px)}}.amp-wp-adb .amp-wp-boxes img{max-width:100%}.amp-wp-adb .amp-wp-box-num-icon img{max-height:49px;width:auto;margin-bottom:15px}@media (max-width:782px){.amp-wp-adb .amp-wp-box-num-icon h2{color:#555d66;font-size:13px;text-transform:uppercase;font-weight:700;line-height:1.5}}.amp-wp-adb .amp-wp-box-num-icon .amp-wp-num-icon-title{margin-bottom:10px}.amp-wp-adb .amp-wp-box-num-icon .amp-wp-num-icon-title .amp-wp-icon-title,.amp-wp-adb .amp-wp-box-num-icon .amp-wp-num-icon-title .amp-wp-num{display:block;float:left}.amp-wp-adb .amp-wp-box-num-icon .amp-wp-num-icon-title .amp-wp-num{font-size:50px;line-height:44px;font-weight:600;display:inline-block;opacity:0.15;width:25px}.amp-wp-adb .amp-wp-box-num-icon .amp-wp-num-icon-title .amp-wp-icon-title{width:calc(100% - 45px);margin-left:20px}.amp-wp-adb .amp-wp-box-num-icon .amp-wp-num-icon-title .amp-wp-icon-title img{margin-bottom:10px}@media (min-width:1200px){.amp-wp-adb .amp-wp-box-num-icon .amp-wp-num-icon-title .amp-wp-num{font-size:90px;font-weight:400;line-height:1;width:30px}.amp-wp-adb .amp-wp-box-num-icon .amp-wp-num-icon-title .amp-wp-icon-title{width:calc(100% - 60px);margin-left:30px}}.amp-wp-adb .amp-wp-box-num-icon .amp-wp-num,.amp-wp-adb .amp-wp-box-num-icon span{font-size:100px;line-height:18px;height:20px;width:18px;font-weight:200;display:inline-block}.amp-wp-adb .amp-wp-box-w-icon h3,.amp-wp-adb .amp-wp-box-w-icon p{margin-bottom:0}.amp-wp-adb .amp-wp-box-w-icon .amp-wp-box-icon{border-bottom:1px solid #e4e4e4;padding-bottom:10px;margin-bottom:15px}.amp-wp-adb .amp-wp-box-w-icon .amp-wp-box-icon img{max-width:40px;margin-bottom:5px}.amp-wp-adb .amp-wp-box-w-img{padding:0;border-radius:3px}.amp-wp-adb .amp-wp-box-w-img img{border-top:1px solid #e4e4e4;border-bottom:1px solid #e4e4e4}.amp-wp-adb .amp-wp-box-w-img .amp-wp-box-header{padding:15px 20px}.amp-wp-adb .amp-wp-box-w-img .amp-wp-box-header h2,.amp-wp-adb .amp-wp-box-w-img .amp-wp-box-header h3{margin:0}.amp-wp-adb .amp-wp-box-w-img .amp-wp-box-body{padding:13px 20px 20px}.amp-wp-adb .amp-wp-box-w-img .amp-wp-box-body p{font-size:14px;margin:0}.amp-wp-adb .amp-wp-box-w-img.gray-scale img{-webkit-transition:all 0.3s ease-out;-o-transition:all 0.3s ease-out;transition:all 0.3s ease-out}.amp-wp-adb .amp-wp-box-w-img.gray-scale:hover img{-webkit-filter:none;filter:none;-webkit-transition:all 0.3s ease-out;-o-transition:all 0.3s ease-out;transition:all 0.3s ease-out}.amp-wp-adb .amp-wp-intro-box{padding:35px 30px 40px 30px}.amp-wp-adb .amp-wp-intro-box h2{font-size:20px}.amp-wp-adb .amp-wp-intro-box p{font-size:16px;margin:0}.amp-wp-adb .amp-wp-team .amp-wp-team-member{color:#555d66;display:inline-block;background:#f9f9f9;text-decoration:none;vertical-align:top;margin-right:15px;margin-bottom:15px;border-radius:3px;overflow:hidden}.amp-wp-adb .amp-wp-team .amp-wp-team-member:hover{background:#e53935;color:#fff}.amp-wp-adb .amp-wp-team .amp-wp-team-member .amp-wp-member-info,.amp-wp-adb .amp-wp-team .amp-wp-team-member img{display:inline-block;vertical-align:middle}.amp-wp-adb .amp-wp-team .amp-wp-team-member .amp-wp-member-info{padding:10px 15px 15px 10px}.amp-wp-adb .amp-wp-team .amp-wp-team-member h4,.amp-wp-adb .amp-wp-team .amp-wp-team-member p{line-height:1;margin:0}.amp-wp-adb .amp-wp-team .amp-wp-team-member h4{font-size:16px;margin-bottom:8px}.amp-wp-adb .amp-wp-form-section-title{margin:0;padding:10px;border:1px solid #eeeeee;background:#f2f2f2;border-radius:3px;text-transform:uppercase;font-size:14px;font-weight:700;color:#555d66}.amp-wp-adb .amp-wp-form-table{margin:0 0 40px}.amp-wp-adb .amp-wp-form-table:last-child{margin:0}.amp-wp-adb .amp-wp-form-table tr{border-top:1px solid #eeeeee}.amp-wp-adb .amp-wp-form-table th{padding:10px 10px 5px;line-height:22px}.amp-wp-adb .amp-wp-form-table td{padding:0 10px 15px}.amp-wp-adb .amp-wp-form-table .amp-wp-form-field-desc{margin-top:20px}.amp-wp-adb .amp-wp-form-table .amp-wp-form-field-desc p{margin-bottom:15px}.amp-wp-adb .amp-wp-form-table .amp-wp-form-field-desc p:last-child{margin:0}@media (min-width:783px){.amp-wp-adb .amp-wp-form-table td,.amp-wp-adb .amp-wp-form-table th{padding:20px 10px}.amp-wp-adb .amp-wp-form-table th{width:240px}}.amp-wp-adb .amp-wp-form-table{}.amp-wp-adb .amp-wp-form-table input[type=number],.amp-wp-adb .amp-wp-form-table input[type=text],.amp-wp-adb .amp-wp-form-table textarea{font-size:14px;line-height:1;padding:9px;border:1px solid #9f9f9f;border-radius:3px;-webkit-box-shadow:none;box-shadow:none;width:100%;max-width:300px;background:#f9f9f9;position:relative;min-height:32px}.amp-wp-adb .amp-wp-form-table input[type=number]::-webkit-input-placeholder,.amp-wp-adb .amp-wp-form-table input[type=text]::-webkit-input-placeholder,.amp-wp-adb .amp-wp-form-table textarea::-webkit-input-placeholder{color:#9f9f9f;opacity:1}.amp-wp-adb .amp-wp-form-table input[type=number]:-ms-input-placeholder,.amp-wp-adb .amp-wp-form-table input[type=text]:-ms-input-placeholder,.amp-wp-adb .amp-wp-form-table textarea:-ms-input-placeholder{color:#9f9f9f;opacity:1}.amp-wp-adb .amp-wp-form-table input[type=number]::-ms-input-placeholder,.amp-wp-adb .amp-wp-form-table input[type=text]::-ms-input-placeholder,.amp-wp-adb .amp-wp-form-table textarea::-ms-input-placeholder{color:#9f9f9f;opacity:1}.amp-wp-adb .amp-wp-form-table input[type=number]::placeholder,.amp-wp-adb .amp-wp-form-table input[type=text]::placeholder,.amp-wp-adb .amp-wp-form-table textarea::placeholder{color:#9f9f9f;opacity:1}.amp-wp-adb .amp-wp-form-table input[type=number]:-ms-input-placeholder,.amp-wp-adb .amp-wp-form-table input[type=text]:-ms-input-placeholder,.amp-wp-adb .amp-wp-form-table textarea:-ms-input-placeholder{color:#9f9f9f}.amp-wp-adb .amp-wp-form-table input[type=number]::-ms-input-placeholder,.amp-wp-adb .amp-wp-form-table input[type=text]::-ms-input-placeholder,.amp-wp-adb .amp-wp-form-table textarea::-ms-input-placeholder{color:#9f9f9f}.amp-wp-adb .amp-wp-form-table input[type=number]:active,.amp-wp-adb .amp-wp-form-table input[type=number]:focus,.amp-wp-adb .amp-wp-form-table input[type=text]:active,.amp-wp-adb .amp-wp-form-table input[type=text]:focus,.amp-wp-adb .amp-wp-form-table textarea:active,.amp-wp-adb .amp-wp-form-table textarea:focus{border-color:#0073AA}.amp-wp-adb .amp-wp-form-table textarea{max-width:100%}.amp-wp-adb .amp-wp-form-table .switch{display:inline-block;position:relative;top:1px;font-size:16px;line-height:24px}.amp-wp-adb .amp-wp-form-table .switch input{position:absolute;top:0;left:0;width:36px;height:30px;opacity:0;z-index:0}.amp-wp-adb .amp-wp-form-table .switch label{display:block;padding:0 0 0 44px;cursor:pointer}.amp-wp-adb .amp-wp-form-table .switch label:before{content:'';position:absolute;top:7px;left:0;width:36px;height:14px;background-color:rgba(159, 159, 159, 0.8);border-radius:14px;z-index:1;-webkit-transition:background-color 0.28s cubic-bezier(0.4, 0, 0.2, 1);-o-transition:background-color 0.28s cubic-bezier(0.4, 0, 0.2, 1);transition:background-color 0.28s cubic-bezier(0.4, 0, 0.2, 1)}.amp-wp-adb .amp-wp-form-table .switch label:after{content:'';position:absolute;top:4px;left:0;width:20px;height:20px;background-color:#fff;border-radius:14px;-webkit-box-shadow:0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12);box-shadow:0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12);z-index:2;-webkit-transition:all 0.28s cubic-bezier(0.4, 0, 0.2, 1);-o-transition:all 0.28s cubic-bezier(0.4, 0, 0.2, 1);transition:all 0.28s cubic-bezier(0.4, 0, 0.2, 1);-webkit-transition-property:left, background-color;-o-transition-property:left, background-color;transition-property:left, background-color}.amp-wp-adb .amp-wp-form-table .switch input:checked+label:after{left:16px}.amp-wp-adb .amp-wp-form-table .switch input:checked+label:before{background-color:rgba(0, 115, 170, 0.6)}.amp-wp-adb .amp-wp-form-table .switch input:checked+label:after{background-color:#0073AA}.amp-wp-adb .amp-wp-form-table .amp-wp-parent-child-field .amp-wp-child-field{max-height:0;margin-bottom:10px;overflow:hidden;-webkit-transition:max-height 0.2s ease-out;-o-transition:max-height 0.2s ease-out;transition:max-height 0.2s ease-out}.amp-wp-adb .amp-wp-form-table .amp-wp-parent-child-field .amp-wp-child-field label{font-weight:600;display:block;margin-top:20px;margin-bottom:7px}.amp-wp-adb .amp-wp-form-table .amp-wp-parent-child-field .amp-wp-child-field input{margin-bottom:10px}.amp-wp-adb .amp-wp-form-table .amp-wp-parent-child-field .amp-wp-child-field .amp-wp-form-field-desc{margin-top:0}.amp-wp-adb .amp-wp-form-table .amp-wp-parent-child-field .amp-wp-child-field .amp-wp-field-error-msg{margin-top:10px;color:#ef5228;font-weight:600}.amp-wp-adb .amp-wp-form-table .amp-wp-parent-child-field .amp-wp-child-field .switch label{margin:0 0 3px}.amp-wp-adb .amp-wp-form-table .amp-wp-parent-child-field.active .amp-wp-child-field{max-height:1000px;-webkit-transition:max-height 0.2s ease-in;-o-transition:max-height 0.2s ease-in;transition:max-height 0.2s ease-in}.amp-wp-adb .amp-wp-form-table .amp-wp-parent-child-field.error-field .amp-wp-child-field label{color:#ef5228}.amp-wp-adb .amp-wp-form-table .amp-wp-parent-child-field.error-field .amp-wp-child-field input{border-color:#ef5228}#toplevel_page_amp-wp-welcome .wp-menu-image img{padding:1px 0 0 0}.toplevel_page_amp-wp-translation .wp-menu-image img{width:12px;padding-top:7px!important}#adminmenu .toplevel_page_amp-wp-translation{margin-top:10px;margin-bottom:10px}.amp-wp-adb{padding-right:10px}.amp-wp-adb .mt-10{margin-top:10px}.amp-wp-adb .mt-20{margin-top:20px}.amp-wp-adb .mt-30{margin-top:30px}.amp-wp-adb .mb-10{margin-bottom:10px}.amp-wp-adb .mb-20{margin-bottom:20px}.amp-wp-adb .mb-30{margin-bottom:30px}.amp-wp-adb hr.amp-wp-section-sep{margin:20px 0}@media (min-width:783px){.amp-wp-adb{padding-right:20px}}.wrap .notice.amp-wp-notice{margin:15px 0}.notice,div.error,div.updated{margin:15px 20px 15px 0} -
amp-wp/trunk/admin/partials/settings/amp-wp-admin-general.php
r2057758 r2125154 17 17 <div class="amp-wp-vtabs-header"> 18 18 <div class="amp-wp-vtabs-title"> 19 <h2><?php _e( 'General Settings', 'amp-wp' ); ?></h2>19 <h2><?php esc_html_e( 'General Settings', 'amp-wp' ); ?></h2> 20 20 </div> 21 21 <div class="amp-wp-vtabs-btn-toolbar"> 22 22 <?php submit_button( esc_html__( 'Save Changes', 'amp-wp' ), 'button-primary', 'save', false ); ?> 23 < button class="button"><?php _e( 'Reset', 'amp-wp' ); ?></button>23 <!-- <button class="button">< ?php esc_html_e( 'Reset', 'amp-wp' ); ?></button> --> 24 24 </div> 25 25 </div> 26 26 <div class="amp-wp-vtabs-body"> 27 27 <!-- Enable/Disable AMP - START --> 28 <h3 class="amp-wp-form-section-title"><?php _e( 'Enable/Disable AMP', 'amp-wp' ); ?></h3>28 <h3 class="amp-wp-form-section-title"><?php esc_html_e( 'Enable/Disable AMP', 'amp-wp' ); ?></h3> 29 29 <table class="form-table amp-wp-form-table"> 30 30 <tbody> 31 31 <tr> 32 <th scope="row"><label for="amp_on_home"><?php _e( 'Enable AMP on Home Page', 'amp-wp' ); ?></label></th>32 <th scope="row"><label for="amp_on_home"><?php esc_html_e( 'Enable AMP on Home Page', 'amp-wp' ); ?></label></th> 33 33 <td> 34 34 <div class="switch"> … … 39 39 </tr> 40 40 <tr> 41 <th scope="row"><label for="amp_on_search"><?php _e( 'Enable AMP on Search Page', 'amp-wp' ); ?></label></th>41 <th scope="row"><label for="amp_on_search"><?php esc_html_e( 'Enable AMP on Search Page', 'amp-wp' ); ?></label></th> 42 42 <td> 43 43 <div class="switch"> … … 52 52 ?> 53 53 <tr> 54 <th scope="row"><label for="amp_on_post_types"><?php _e( 'Disable AMP on Post Types', 'amp-wp' ); ?></label></th>54 <th scope="row"><label for="amp_on_post_types"><?php esc_html_e( 'Disable AMP on Post Types', 'amp-wp' ); ?></label></th> 55 55 <td> 56 56 <select name="amp_wp_general_settings[amp_on_post_types][]" id="amp_on_post_types" multiple="multiple" class="amp-wp-select" data-placeholder="Select Post Types"> … … 70 70 ?> 71 71 <tr> 72 <th scope="row"><label for="amp_on_taxonomies"><?php _e( 'Disable AMP on Taxonomies', 'amp-wp' ); ?></label></th>72 <th scope="row"><label for="amp_on_taxonomies"><?php esc_html_e( 'Disable AMP on Taxonomies', 'amp-wp' ); ?></label></th> 73 73 <td> 74 74 <select name="amp_wp_general_settings[amp_on_taxonomies][]" id="amp_on_taxonomies" multiple="multiple" class="amp-wp-select" data-placeholder="Select Taxonomies"> … … 84 84 <?php endif; ?> 85 85 <tr> 86 <th scope="row"><label for="exclude_urls"><?php _e( 'Exclude URLs From Auto Converting:', 'amp-wp' ); ?></label></th>86 <th scope="row"><label for="exclude_urls"><?php esc_html_e( 'Exclude URLs From Auto Converting:', 'amp-wp' ); ?></label></th> 87 87 <td> 88 88 <textarea id="exclude_urls" name="amp_wp_general_settings[exclude_urls]" rows="5" class="large-text code"><?php echo wp_kses_post( $exclude_urls ); ?></textarea> 89 89 <div class="description"> 90 <p><?php _e( 'You can exclude URLs of your site to prevent converting them into AMP URL inside your site.', 'amp-wp' ); ?></p>90 <p><?php esc_html_e( 'You can exclude URLs of your site to prevent converting them into AMP URL inside your site.', 'amp-wp' ); ?></p> 91 91 <p><?php _e( 'You can use <strong>*</strong> in the end of URL to exclude all URLs that start with it. e.g. <span class="pre">https://yoursite.com/test/*</span>', 'amp-wp' ); ?></p> 92 92 </div> 93 93 </td> 94 94 </tr> 95 <!--96 95 <tr> 97 <th scope="row"><label for="excluded_urls">< ?php_e('Exclude AMP by URL:', 'amp-wp'); ?></label></th>96 <th scope="row"><label for="excluded_urls"><?php esc_html_e('Exclude AMP by URL:', 'amp-wp'); ?></label></th> 98 97 <td> 99 <textarea id="excluded_urls" name="amp_wp_general_settings[excluded_urls]" rows="5" class="large-text code">< ?php echo wp_kses_post( $excluded_urls ); ?></textarea>98 <textarea id="excluded_urls" name="amp_wp_general_settings[excluded_urls]" rows="5" class="large-text code"><?php echo wp_kses_post( $excluded_urls ); ?></textarea> 100 99 <div class="description"> 101 <p>< ?php_e('You can disable AMP version of the page. e.g. /product/* will disable all amp pages starting with product in the URL.', 'amp-wp');?></p>100 <p><?php esc_html_e('You can disable AMP version of the page. e.g. /product/* will disable all amp pages starting with product in the URL.', 'amp-wp');?></p> 102 101 </div> 103 102 </td> 104 103 </tr> 105 -->106 104 </tbody> 107 105 </table> … … 109 107 110 108 <!-- AMP Permalink- START --> 111 <h3 class="amp-wp-form-section-title"><?php _e( 'AMP Permalink', 'amp-wp' ); ?></h3>109 <h3 class="amp-wp-form-section-title"><?php esc_html_e( 'AMP Permalink', 'amp-wp' ); ?></h3> 112 110 <table class="form-table amp-wp-form-table"> 113 111 <tbody> 114 112 <tr> 115 <th scope="row"><label for="url_structure"><?php _e( 'AMP URL Format', 'amp-wp' ); ?></label></th>113 <th scope="row"><label for="url_structure"><?php esc_html_e( 'AMP URL Format', 'amp-wp' ); ?></label></th> 116 114 <td> 117 115 <select name="amp_wp_general_settings[url_structure]" id="url_structure" class="amp-wp-select"> 118 <option value="start-point"<?php echo ( 'start-point' == $url_structure ) ? ' selected="selected"' : ''; ?>><?php _e( 'Start Point - At the beginning of the URL', 'amp-wp' ); ?></option>119 <option value="end-point"<?php echo ( 'end-point' == $url_structure ) ? ' selected="selected"' : ''; ?>><?php _e( 'End Point - At the end of the URL', 'amp-wp' ); ?></option>116 <option value="start-point"<?php echo ( 'start-point' == $url_structure ) ? ' selected="selected"' : ''; ?>><?php esc_html_e( 'Start Point - At the beginning of the URL', 'amp-wp' ); ?></option> 117 <option value="end-point"<?php echo ( 'end-point' == $url_structure ) ? ' selected="selected"' : ''; ?>><?php esc_html_e( 'End Point - At the end of the URL', 'amp-wp' ); ?></option> 120 118 </select> 121 119 <div class="description"> 122 <p><strong> Start Point:</strong><span class="pre"><?php _e( 'https://yoursite.com/<strong>amp</strong>/post/', 'amp-wp' ); ?></span></p>123 <p><strong> End Point:</strong><span class="pre"><?php _e( 'https://yoursite.com/post/<strong>amp</strong>/', 'amp-wp' ); ?></span></p>120 <p><strong><?php esc_html_e( 'Start Point:', 'amp-wp' ); ?></strong> <span class="pre"><?php _e( 'https://yoursite.com/<strong>amp</strong>/post/', 'amp-wp' ); ?></span></p> 121 <p><strong><?php esc_html_e( 'End Point:', 'amp-wp' ); ?></strong> <span class="pre"><?php _e( 'https://yoursite.com/post/<strong>amp</strong>/', 'amp-wp' ); ?></span></p> 124 122 </div> 125 123 </td> … … 130 128 131 129 <!-- Mobile Redirect - START --> 132 <h3 class="amp-wp-form-section-title"><?php _e( 'Mobile Redirect', 'amp-wp' ); ?></h3>130 <h3 class="amp-wp-form-section-title"><?php esc_html_e( 'Mobile Redirect', 'amp-wp' ); ?></h3> 133 131 <table class="form-table amp-wp-form-table"> 134 132 <tbody> … … 145 143 </div> 146 144 147 <p class="description"><?php _e( 'This will automatically redirect all mobile users to the AMP version of the site.', 'amp-wp' ); ?></p>145 <p class="description"><?php esc_html_e( 'This will automatically redirect all mobile users to the AMP version of the site.', 'amp-wp' ); ?></p> 148 146 </td> 149 147 </tr> … … 153 151 154 152 <!-- Theme Settings - START --> 155 <h3 class="amp-wp-form-section-title"><?php _e( 'Theme Settings', 'amp-wp' ); ?></h3>153 <h3 class="amp-wp-form-section-title"><?php esc_html_e( 'Theme Settings', 'amp-wp' ); ?></h3> 156 154 <table class="form-table amp-wp-form-table"> 157 155 <tbody> … … 172 170 ?> 173 171 </select> 174 <p class="description"><?php _e( 'More themes coming soon.', 'amp-wp' ); ?></p>172 <p class="description"><?php esc_html_e( 'More themes coming soon.', 'amp-wp' ); ?></p> 175 173 </td> 176 174 </tr> … … 182 180 <div class="amp-wp-vtabs-footer"> 183 181 <div class="amp-wp-vtabs-title"> 184 <h2><?php _e( 'General Settings', 'amp-wp' ); ?></h2>182 <h2><?php esc_html_e( 'General Settings', 'amp-wp' ); ?></h2> 185 183 </div> 186 184 <div class="amp-wp-vtabs-btn-toolbar"> 187 185 <?php submit_button( esc_html__( 'Save Changes', 'amp-wp' ), 'button-primary', 'save', false ); ?> 188 < button class="button"><?php _e( 'Reset', 'amp-wp' ); ?></button>186 <!-- <button class="button">< ?php esc_html_e( 'Reset', 'amp-wp' ); ?></button> --> 189 187 </div> 190 188 </div> -
amp-wp/trunk/amp-wp.php
r2077306 r2125154 16 16 * Plugin URI: https://wordpress.org/plugins/amp-wp 17 17 * Description: Automagically add Google AMP functionality to your site. Tons of Premium Features for FREE. Enable/Disable Post Types, Categories, and Tags. 18 * Version: 1.5. 718 * Version: 1.5.8 19 19 * Author: Pixelative, Mohsin Rafique 20 20 * Author URI: https://pixelative.co … … 54 54 * Rename this for your plugin and update it as you release new versions. 55 55 */ 56 define( 'AMP_WP_VERSION', '1.5. 7' );56 define( 'AMP_WP_VERSION', '1.5.8' ); 57 57 58 58 /** -
amp-wp/trunk/includes/admin/settings/class-amp-wp-general.php
r2062068 r2125154 97 97 $amp_on_taxonomies = ( isset( $amp_wp_general_settings['amp_on_taxonomies'] ) && ! empty( $amp_wp_general_settings['amp_on_taxonomies'] ) ) ? $amp_wp_general_settings['amp_on_taxonomies'] : array(); 98 98 $exclude_urls = ( isset( $amp_wp_general_settings['exclude_urls'] ) && ! empty( $amp_wp_general_settings['exclude_urls'] ) ) ? $amp_wp_general_settings['exclude_urls'] : ''; 99 // $excluded_urls= ( isset( $amp_wp_general_settings['excluded_urls'] ) && !empty( $amp_wp_general_settings['excluded_urls'] ) ) ? $amp_wp_general_settings['excluded_urls'] : '';100 $url_structure = ( isset( $amp_wp_general_settings ) && ! empty( $amp_wp_general_settings['url_structure'] ) ) ? $amp_wp_general_settings['url_structure'] : 'start-point';101 $mobile_auto_redirect = ( isset( $amp_wp_general_settings['mobile_auto_redirect'] ) && ! empty( $amp_wp_general_settings['mobile_auto_redirect'] ) ) ? intval( $amp_wp_general_settings['mobile_auto_redirect'] ) : '';102 $theme_name = ( isset( $amp_wp_general_settings['theme_name'] ) && ! empty( $amp_wp_general_settings['theme_name'] ) ) ? esc_attr( $amp_wp_general_settings['theme_name'] ) : '';99 $excluded_urls = ( isset( $amp_wp_general_settings['excluded_urls'] ) && !empty( $amp_wp_general_settings['excluded_urls'] ) ) ? $amp_wp_general_settings['excluded_urls'] : ''; 100 $url_structure = ( isset( $amp_wp_general_settings ) && ! empty( $amp_wp_general_settings['url_structure'] ) ) ? $amp_wp_general_settings['url_structure'] : 'start-point'; 101 $mobile_auto_redirect = ( isset( $amp_wp_general_settings['mobile_auto_redirect'] ) && ! empty( $amp_wp_general_settings['mobile_auto_redirect'] ) ) ? intval( $amp_wp_general_settings['mobile_auto_redirect'] ) : ''; 102 $theme_name = ( isset( $amp_wp_general_settings['theme_name'] ) && ! empty( $amp_wp_general_settings['theme_name'] ) ) ? esc_attr( $amp_wp_general_settings['theme_name'] ) : ''; 103 103 } 104 104 -
amp-wp/trunk/includes/class-amp-wp-component.php
r2070880 r2125154 5 5 * @since 1.0.0 6 6 */ 7 7 8 class Amp_WP_Component extends Amp_WP_Component_Base { 8 9 -
amp-wp/trunk/includes/class-amp-wp-content-sanitizer.php
r2076574 r2125154 7 7 * @since 1.0.0 8 8 */ 9 9 10 class Amp_WP_Content_Sanitizer { 10 11 … … 128 129 private function strip_attributes_recursive( $node, $bad_attributes ) { 129 130 130 if ( ! isset( $node->nodeType ) || $node->nodeType !== XML_ELEMENT_NODE) {131 if ( ! isset( $node->nodeType ) || XML_ELEMENT_NODE !== $node->nodeType ) { 131 132 return; 132 133 } 133 134 134 if ( ! isset( $this->tags[ $node->tagName ] ) ) { // remove invalid tag 135 // Remove invalid tag. 136 if ( ! isset( $this->tags[ $node->tagName ] ) ) { 135 137 self::remove_element( $node ); 136 138 return; … … 157 159 158 160 // on* attributes (like onclick) are a special case. 159 if ( 0 === stripos( $attribute_name, 'on' ) && $attribute_name != 'on') {161 if ( 0 === stripos( $attribute_name, 'on' ) && 'on' != $attribute_name ) { 160 162 $node->removeAttribute( $attribute_name ); 161 163 continue; … … 401 403 $url = trailingslashit( $matched[1] ) . Amp_WP_Public::SLUG . '/' . $matched[2]; 402 404 } else { 403 // $url = trailingslashit( $url ) . Amp_WP_Public::SLUG . '/';404 405 $url = trailingslashit( $url ) . Amp_WP_Public::SLUG; 405 406 } … … 683 684 switch ( $element->tagName ) { 684 685 case 'amp-img': 685 if ( isset( $element_atts['width'] ) && $element_atts['width'] === 'auto') {686 if ( isset( $element_atts['width'] ) && 'auto' === $element_atts['width'] ) { 686 687 $invalid_attrs[] = 'width'; 687 688 } … … 714 715 $prev_tag_name = $rule['tag_name']; 715 716 } 716 if ( $nodes_count = $elements->length ) { 717 718 $nodes_count = $elements->length; 719 if ( $nodes_count ) { 717 720 foreach ( $rule['attrs'] as $atts ) { 718 721 if ( empty( $atts['name'] ) ) { … … 738 741 * STEP 1) remove height=auto images 739 742 */ 740 if ( $rule['tag_name'] === 'amp-img' && isset( $element_atts['height'] ) && $element_atts['height'] === 'auto') {743 if ( 'amp-img' === $rule['tag_name'] && isset( $element_atts['height'] ) && 'auto' === $element_atts['height'] ) { 741 744 self::remove_element( $element ); // Remove invalid element. 742 745 continue; … … 752 755 $this->sanitize_layout_attribute( $layout, $element, $element_atts ); 753 756 } else { 754 // invalid layout attribute value 757 // invalid layout attribute value. 755 758 if ( ! empty( $element_atts['width'] ) && ! empty( $element_atts['height'] ) ) { 756 759 $new_atts['layout'] = 'responsive'; … … 760 763 } 761 764 } else { 762 if ( isset( $element_atts['width'] ) && $element_atts['width'] === 'auto'&& ! empty( $element_atts['height'] ) ) {765 if ( isset( $element_atts['width'] ) && 'auto' === $element_atts['width'] && ! empty( $element_atts['height'] ) ) { 763 766 // default layout is FIXED-HEIGHT. 764 767 if ( ! in_array( 'FIXED-HEIGHT', $rule['layouts']['supported_layouts'] ) ) { … … 880 883 881 884 // Force schema for amp-iframe tag. 882 if ( empty( $parsed['scheme'] ) && $rule['tag_name'] == 'amp-iframe') {885 if ( empty( $parsed['scheme'] ) && 'amp-iframe' == $rule['tag_name'] ) { 883 886 $parsed['scheme'] = 'https'; 884 887 } … … 923 926 } 924 927 } 925 $atts2remove = array_diff_key( $atts2remove, $el_atts ); // Filter extra attrs 928 929 // Filter extra attrs. 930 $atts2remove = array_diff_key( $atts2remove, $el_atts ); 926 931 $atts2remove = array_keys( $atts2remove ); 927 932 } … … 983 988 $element = $elements->item( $i ); 984 989 985 if ( $tag_name === 'script' && ( $element->parentNode->tagName === 'amp-analytics' || $element->parentNode->tagName === 'amp-geo' || $element->parentNode->tagName === 'amp-consent' )) {990 if ( 'script' === $tag_name ) { 986 991 $atts = self::get_node_attributes( $element ); 987 if ( isset( $atts['type'] ) && $atts['type'] === 'application/json' ) { 992 993 if ( 'amp-analytics' === $element->parentNode->tagName || 'amp-geo' === $element->parentNode->tagName || 'amp-consent' === $element->parentNode->tagName ) { 994 if ( isset( $atts['type'] ) && 'application/json' === $atts['type'] ) { 995 continue; 996 } 997 } elseif ( isset( $atts['type'] ) && 'application/ld+json' === $atts['type'] ) { 988 998 continue; 989 999 } … … 1002 1012 for ( $i = $elements->length - 1; $i >= 0; $i -- ) { 1003 1013 $element = $elements->item( $i ); 1004 $style = preg_replace( '/\s*!\s*important/', '', $element->nodeValue ); // Remove !important. 1014 1015 // Remove !important. 1016 $style = preg_replace( '/\s*!\s*important/', '', $element->nodeValue ); 1005 1017 amp_wp_add_inline_style( $style ); 1006 1018 self::remove_element( $element ); … … 1053 1065 continue; 1054 1066 } 1055 1067 1056 1068 // Append error handler if not found. 1057 1069 } else { … … 1064 1076 $action_attr_name = 'action'; 1065 1077 } 1066 1067 1068 1069 1078 1070 1079 $element->setAttribute( $action_attr_name, $action_xhr ); … … 1107 1116 $element = $elements->item( $i ); 1108 1117 1109 if ( $element->parentNode->tagName !== 'noscript' ) { 1110 1111 if ( ! $source = $element->getAttribute( 'src' ) ) { 1112 if ( ! $source = Amp_WP_Html_Util::get_child_tag_attribute( $element, 'source', 'src' ) ) { 1113 $source = Amp_WP_Html_Util::get_child_tag_attribute( $element, 'a', 'href' ); 1114 } 1115 } 1116 1117 if ( empty( $source ) || ! preg_match( '#^\s*https://#', $source ) ) { 1118 self::remove_element( $element ); 1119 continue; 1120 } 1121 1122 $element->setAttribute( 'src', $source ); 1123 Amp_WP_Html_Util::renameElement( $element, $tag_info[0] ); 1124 1125 if ( $enqueue ) { 1126 amp_wp_enqueue_script( $tag_info[0], $tag_info[1] ); 1127 $enqueue = false; 1128 } 1118 if ( 'noscript' === $element->parentNode->tagName ) { 1119 continue; 1120 } 1121 1122 if ( ! $source = $element->getAttribute( 'src' ) ) { 1123 if ( ! $source = Amp_WP_Html_Util::get_child_tag_attribute( $element, 'source', 'src' ) ) { 1124 $source = Amp_WP_Html_Util::get_child_tag_attribute( $element, 'a', 'href' ); 1125 } 1126 } 1127 1128 if ( empty( $source ) || ! preg_match( '#^\s*https://#', $source ) ) { 1129 self::remove_element( $element ); 1130 continue; 1131 } 1132 1133 $element->setAttribute( 'src', $source ); 1134 1135 // Fix width. 1136 if ( preg_match( '/(\d+)\%/', $element->getAttribute( 'width' ), $match ) ) { 1137 $content_width = 738; // $GLOBALS['content_width']; 1138 $element->setAttribute( 1139 'width', 1140 floor( $content_width * $match[1] / 100 ) 1141 ); 1142 } 1143 1144 // Fix height. 1145 if ( 'auto' === $element->getAttribute( 'height' ) ) { 1146 $element->setAttribute( 1147 'height', 1148 floor( $element->getAttribute( 'width' ) * 0.85 ) 1149 ); 1150 } 1151 1152 Amp_WP_Html_Util::renameElement( $element, $tag_info[0] ); 1153 1154 if ( $enqueue ) { 1155 amp_wp_enqueue_script( $tag_info[0], $tag_info[1] ); 1156 $enqueue = false; 1129 1157 } 1130 1158 } … … 1218 1246 if ( 1219 1247 $required_atts['width'] && 1220 ( empty( $element_atts['width'] ) || $element_atts['width'] === 'auto')1248 ( empty( $element_atts['width'] ) || 'auto' === $element_atts['width'] ) 1221 1249 ) { 1222 1250 $atts2remove[] = 'layout'; … … 1225 1253 if ( 1226 1254 $required_atts['height'] && 1227 ( empty( $element_atts['height'] ) || $element_atts['height'] === 'auto')1255 ( empty( $element_atts['height'] ) || 'auto' === $element_atts['height'] ) 1228 1256 ) { 1229 1257 $atts2remove[] = 'layout'; … … 1231 1259 1232 1260 if ( $atts2remove ) { 1233 $this->dom->remove_attributes( $element, $atts2remove ); // Remove invalid attributes 1261 // Remove invalid attributes. 1262 $this->dom->remove_attributes( $element, $atts2remove ); 1234 1263 } 1235 1264 } … … 1291 1320 * @since 1.0.0 1292 1321 * 1293 * @param $urls string|array1322 * @param string|array $urls Can contains URLs string or array. 1294 1323 */ 1295 1324 public static function set_non_amp_url( $urls ) { … … 1299 1328 $last_char = substr( $url, - 1 ); 1300 1329 1301 if ( $last_char === '*') {1330 if ( '*' === $last_char ) { 1302 1331 if ( empty( self::$non_amp_urls['start_with'] ) ) { 1303 1332 self::$non_amp_urls['start_with'] = ''; -
amp-wp/trunk/includes/class-amp-wp-html-util.php
r2070880 r2125154 169 169 } 170 170 return $attributes; 171 172 if ( empty( $attributes['src'] ) ) { 173 if ( ! empty( $attributes['data-src'] ) && $this->is_valid_url( $attributes['data-src'] ) ) { 174 $attributes['src'] = $attributes['data-src']; 175 } 176 } 177 return $attributes; 178 } 179 180 /** 181 * Is given URL valid? 182 * 183 * @param string $url 184 * 185 * @since 1.5.8 186 * @return bool 187 */ 188 public function is_valid_url( $url ) { 189 return preg_match( '#^(?: https?:)?// (?: w{3}.)? (.*?)/*$#ix', $url ); 171 190 } 172 191 -
amp-wp/trunk/includes/class-amp-wp-menu-walker.php
r2070880 r2125154 1 1 <?php 2 3 2 /** 4 3 * Custom class to display navigation menu AMP-Friendly - some like this: … … 63 62 */ 64 63 public function end_lvl( &$output, $depth = 0, $args = array() ) { 65 if ( $this->accordion_childs_started && $depth == 0) {64 if ( $this->accordion_childs_started && 0 == $depth ) { 66 65 $this->end_accordion_child_wrapper( $output, $depth ); 67 66 } 68 if ( $this->accordion_started && $depth == 0) {67 if ( $this->accordion_started && 0 == $depth ) { 69 68 $this->end_accordion( $output, $depth ); 70 69 } … … 119 118 } 120 119 121 // start_el. 120 /** 121 * Ends the element output, if needed. 122 * 123 * @param string $output Used to append additional content. 124 * @param object $item Page data object. 125 * @param int $depth Depth of page. 126 * @param array $args An object of wp_nav_menu() arguments. 127 * 128 * @return void 129 */ 122 130 public function end_el( &$output, $item, $depth = 0, $args = array() ) { } 123 131 … … 125 133 * Adds the start code of accordion 126 134 * 127 * @param $output128 * @param int $depth 135 * @param string $output 136 * @param int $depth Depth of page. 129 137 * 130 138 * @since 1.0.0 … … 152 160 * Adds acordion childs wrapper div 153 161 * 154 * @param $output162 * @param string $output 155 163 * @param int $depth 156 164 * … … 165 173 * Closes the accordion childs wrapper tag 166 174 * 167 * @param $output175 * @param string $output 168 176 * @param int $depth 169 177 * … … 176 184 177 185 /** 178 * @param $item179 * @param $depth180 * @param $args181 * @param $id186 * @param string $item 187 * @param int $depth 188 * @param array $args 189 * @param int $id 182 190 * 183 191 * @since 1.0.0 … … 189 197 parent::start_el( $current_el, $item, $depth, $args, $id ); 190 198 191 // Unwrap li tag 199 // Unwrap li tag. 192 200 if ( preg_match( '#<\s*li\s* [^>]* > (.+) #ix', $current_el, $matched ) ) { 193 201 return $matched[1]; -
amp-wp/trunk/includes/class-amp-wp-plugin-compatibility.php
r2070880 r2125154 1 1 <?php 2 2 3 /** 3 4 * Third Party Plugins Compatibility … … 20 21 21 22 if ( ! is_amp_wp() ) { 22 return; } 23 return; 24 } 23 25 24 26 /** … … 32 34 add_action( 'init', array( __CLASS__, 'wpml_template_hooks' ) ); 33 35 add_action( 'template_redirect', array( __CLASS__, 'wpml_template_hooks' ) ); 36 37 add_action( 'init', array( __CLASS__, 'wp_init' ) ); 34 38 35 39 self::$plugins = array_flip( wp_get_active_and_valid_plugins() ); … … 165 169 */ 166 170 add_action( 'after_setup_theme', 'Amp_WP_Plugin_Compatibility::multi_rating' ); 171 172 /** 173 * Snip - The Rich Snippets & Structured Data Plugin 174 * 175 * @param Frontend_Controller $instance 176 * 177 * @since 1.5.8 178 */ 179 add_action( 'wpbuddy/rich_snippets/frontend/init', array( __CLASS__, 'rich_snippets' ) ); 167 180 } 168 181 … … 208 221 public static function pre_init() { 209 222 remove_action( 'init', 'wpspgrpro_init_minify_html', 1 ); 223 } 224 225 public static function wp_init() { 226 227 if ( class_exists( 'wpForo' ) ) { 228 add_filter( 'amp_wp_amp_version_exists', array( __CLASS__, 'wpforo_amp_exists' ) ); 229 } 230 } 231 232 /** 233 * wpForo plugin compatibility. 234 * 235 * @link https://wordpress.org/plugins/wpforo/ 236 * 237 * @param bool $exists 238 * 239 * @return bool 240 */ 241 public static function wpforo_amp_exists( $exists ) { 242 243 if ( ! $exists || is_wpforo_page() ) { 244 return false; 245 } 246 247 return $exists; 210 248 } 211 249 … … 426 464 * 427 465 * @since 1.0.0 428 * @since 1.5.5 Disabled filter 'w3tc_minify_html_enable'466 * @since 1.5.5 Disabled filter 'w3tc_minify_html_enable' 429 467 */ 430 468 add_filter( 'w3tc_minify_js_enable', '__return_false' ); … … 547 585 */ 548 586 if ( ! is_callable( 'SQ_Classes_ObjController::getClass' ) ) { 549 return; } 587 return; 588 } 550 589 $object = SQ_Classes_ObjController::getClass( 'SQ_Models_Services_Canonical' ); 551 590 remove_filter( 'sq_canonical', array( $object, 'packCanonical' ), 99 ); … … 796 835 return $options; 797 836 } 837 838 /** 839 * Snip - The Rich Snippets & Structured Data Plugin 840 * 841 * @param Frontend_Controller $instance 842 * 843 * @since 1.5.8 844 */ 845 public static function rich_snippets( $instance ) { 846 if ( get_option( 'wpb_rs/settings/snippets_in_footer', true ) ) { 847 add_action( 'amp_wp_template_footer', array( $instance, 'print_snippets' ) ); 848 } else { 849 add_action( 'amp_wp_template_head', array( $instance, 'print_snippets' ) ); 850 } 851 } 798 852 } 799 853 -
amp-wp/trunk/includes/class-amp-wp-redirect-router.php
r2070880 r2125154 98 98 if ( $this->can_redirect_url( $new_url ) ) { 99 99 wp_redirect( $new_url, 301 ); 100 exit ;100 exit(); 101 101 } 102 102 } … … 112 112 protected function can_redirect_url( $url ) { 113 113 list( $url ) = explode( '?', $url ); 114 return ! empty( $url ) && trim( str_replace( home_url(), '', $url ), '/' ) !== trim( $this->request_url, '/' );114 return ! empty( $url ) && trim( str_replace( get_option( 'home' ), '', $url ), '/' ) !== trim( $this->request_url, '/' ); 115 115 } 116 116 … … 137 137 * Skip redirection for amp pages because it looks like like start-point! 138 138 * 139 * e.g.139 * Example given 140 140 * amp/page/2 right 141 141 * /page/2/amp wrong -
amp-wp/trunk/includes/class-amp-wp-rewrite-rules.php
r2076574 r2125154 1 1 <?php 2 3 2 /** 4 3 * Class to generate the custom AMP start/end points … … 385 384 global $wp_rewrite; 386 385 387 // Remove Exclude Items From extra_permastructs 386 // Remove Exclude Items From extra_permastructs. 388 387 $extra_permastruct = array_diff_key( $wp_rewrite->extra_permastructs, $this->get_exclude_extra_permastructs() ); 389 388 … … 539 538 $wp->add_query_var( $query_var ); 540 539 } // add_end_point 541 540 542 541 /** 543 542 * Check If a permalink structure contains any numeric rewrite tag like: %year%, %monthnum%, %day% … … 549 548 global $wp_rewrite; 550 549 static $result; 550 551 551 if ( ! isset( $result ) ) { 552 552 $permalink_structure = str_replace( $wp_rewrite->rewritecode, $wp_rewrite->rewritereplace, get_option( 'permalink_structure' ) ); 553 553 $result = strstr( $permalink_structure, '([0-9]' ) !== false; 554 554 } 555 555 556 return $result; 556 557 } 557 558 } 558 559 559 // Amp_WP_Rewrite_Rules 560 // Amp_WP_Rewrite_Rules. 560 561 $GLOBALS['amp_wp_rewrite_rules'] = new Amp_WP_Rewrite_Rules(); 561 562 $GLOBALS['amp_wp_rewrite_rules']->init(); … … 564 565 * Add a Start Point to Rewrite Rules 565 566 * 566 * @global Amp_WP_Rewrite_Rules $amp_wp_rewrite_rules AMP WP Rewrite API567 * @param string $name568 * @param int $places567 * @global Amp_WP_Rewrite_Rules $amp_wp_rewrite_rules AMP WP Rewrite API 568 * @param string $name 569 * @param int $places 569 570 * 570 571 * @since 1.0.0 … … 580 581 * @global Amp_WP_Rewrite_Rules $amp_wp_rewrite_rules AMP WP Rewrite API 581 582 * 582 * @param string $name583 * @param int $places583 * @param string $name 584 * @param int $places 584 585 * 585 586 * @since 1.4.0 … … 589 590 $amp_wp_rewrite_rules->add_end_point( $name, $places ); 590 591 } 591 -
amp-wp/trunk/includes/class-amp-wp-scripts.php
r2070880 r2125154 63 63 $attrs = ''; 64 64 65 if ( substr( $handle, 0, 4 ) === 'amp-' ) {65 if ( substr( $handle, 0, 4 ) === 'amp-' && substr( $handle, 0, 12 ) !== 'amp-mustache' ) { 66 66 $attrs .= " custom-element='$handle'"; 67 } 68 69 if ( substr( $handle, 0, 12 ) === 'amp-mustache' ) { 70 $attrs .= " custom-template='$handle'"; 67 71 } 68 72 -
amp-wp/trunk/includes/components/class-amp-wp-img-component.php
r2076574 r2125154 324 324 */ 325 325 public function get_image_dimension( $url ) { 326 327 $url = $this->normalize_url( $url ); 328 if ( ! ( $url ) ) { 329 return false; } 330 331 $url_hash = md5( $url ); 332 $dimension = get_transient( 'amp_wp_dimension_' . $url_hash ); 333 if ( ! ( $dimension ) ) { 334 if ( $dimension = $this->fetch_image_dimension( $url ) ) { 335 set_transient( 'amp_wp_dimension_' . $url_hash, $dimension, HOUR_IN_SECONDS ); 336 } else { 337 $dimension = array( 338 738, // fallback for width. 339 400, // fallback for height. 340 ); 341 } 326 327 $hash_key = 'amp_wp_dimension_' . md5( $url ); 328 329 $dimension = get_transient( $hash_key ); 330 if ( $dimension ) { 331 return $dimension; 332 } 333 334 if ( $normalize_url = $this->normalize_url( $url ) ) { 335 $dimension = $this->fetch_image_dimension( $normalize_url ); 336 } elseif ( $this->is_data_url( $url ) ) { 337 if ( $size = @getimagesize( $url ) ) { 338 $dimension = [ $size[0], $size[1] ]; 339 } 340 } 341 342 if ( $dimension ) { 343 set_transient( $hash_key, $dimension, HOUR_IN_SECONDS ); 344 } else { 345 $dimension = array( 346 738, // fallback for width 347 400, // fallback for height 348 ); 342 349 } 343 350 344 351 return $dimension; 352 } 353 354 /** 355 * Is this a data-src URL? 356 * 357 * @param string $url The URL to check. 358 * 359 * @since 1.5.8 360 * @return bool true on success. 361 */ 362 public function is_data_url( $url ) { 363 return (bool) preg_match( '#^\s*data\:.+#', $url ); 345 364 } 346 365 -
amp-wp/trunk/includes/components/class-amp-wp-instagram-component.php
r2076574 r2125154 10 10 * @since 1.5.6 11 11 */ 12 12 13 class Amp_WP_Instagram_Component implements Amp_WP_Component_Interface { 13 14 … … 55 56 return $instance; 56 57 } 57 for ( $i = $nodes_count - 1; $i >= 0; $i -- ) { 58 for ( $i = $nodes_count - 1; $i >= 0; $i-- ) { 59 58 60 $element = $elements->item( $i ); 59 61 if ( ! $element ) { 60 62 continue; 61 63 } 64 62 65 $post_url = $element->getAttribute( 'data-instgrm-permalink' ); 63 66 if ( ! preg_match( '#^(?: https?:)?// (?: w{3}.)? instagram.com /+ p/+ ([^/]+) /*#ix', $post_url, $match ) ) { 64 67 continue; 65 68 } 69 66 70 $this->enable_enqueue_scripts = true; 67 71 $attributes = array( … … 71 75 'layout' => 'responsive', 72 76 ); 77 73 78 $instance->replace_node( $element, 'amp-instagram', $attributes ); 74 79 } 80 75 81 return $instance; 76 82 } -
amp-wp/trunk/includes/customizer/amp-wp-core-customizer.php
r2062068 r2125154 705 705 */ 706 706 $wp_customize->add_setting( 'amp-wp-additional-css', array( 707 'sanitize_callback' => 'wp_strip_all_tags' 707 //'sanitize_callback' => 'wp_strip_all_tags' 708 'sanitize_callback' => 'amp_wp_sanitize_css' 708 709 )); 709 710 -
amp-wp/trunk/includes/functions/amp-wp-ad-functions.php
r2070880 r2125154 41 41 * @version 1.0.0 42 42 * @since 1.0.0 43 * 43 44 * @return array 44 45 */ -
amp-wp/trunk/includes/functions/amp-wp-core-functions.php
r2070880 r2125154 44 44 return false !== $wp_query->get( $amp_qv, false ); 45 45 } elseif ( amp_wp_get_permalink_structure() ) { 46 46 47 $path = trim( dirname( $_SERVER['SCRIPT_NAME'] ), '/' ); 47 48 … … 495 496 * Converts Parsed URL to Printable Link 496 497 * 497 * @param $parsed_url 498 * @param $parsed_url contain parsed URL. 498 499 * 499 500 * @return string … … 631 632 } 632 633 endif; 634 635 if ( ! function_exists( 'amp_wp_sanitize_css' ) ) : 636 /** 637 * Sanitize and prepare CSS for amp version 638 * 639 * @param string $css 640 * 641 * @since 1.5.8 642 * 643 * @return string 644 */ 645 function amp_wp_sanitize_css( $css ) { 646 647 // -- Remove !important qualifier. -- 648 $css = preg_replace( '/\s*!\s*important/im', '', $css ); 649 650 // -- Remove invalid properties. -- 651 $invalid_properties = array( 652 'behavior', 653 '-moz-binding', 654 'filter', 655 'animation', 656 'transition', 657 ); 658 $pattern = '/((?:' . implode( '|', $invalid_properties ) . ')\s* :[^;]+ ;? \n*\t* )+/xs'; 659 $css = preg_replace_callback( 660 $pattern, 661 function ( $var ) { 662 return substr( $var[1], - 1 ) === '}' ? '}' : ''; 663 }, 664 $css 665 ); 666 667 return $css; 668 } 669 endif; -
amp-wp/trunk/includes/functions/amp-wp-formatting-functions.php
r2057758 r2125154 10 10 return htmlspecialchars( 11 11 wp_kses( 12 html_entity_decode( $var ), array( 12 html_entity_decode( $var ), 13 array( 13 14 'br' => array(), 14 15 'em' => array(), … … 34 35 */ 35 36 function amp_wp_let_to_num( $size ) { 36 $l = substr( $size, -1 );37 $ret = substr( $size, 0, -1 );37 $l = substr( $size, -1 ); 38 $ret = substr( $size, 0, -1 ); 38 39 $byte = 1024; 39 40 40 switch ( strtoupper( $l ) ) {41 switch ( strtoupper( $l ) ) { 41 42 case 'P': 42 43 $ret *= 1024; -
amp-wp/trunk/includes/functions/amp-wp-template-functions.php
r2070880 r2125154 78 78 $is_show_sidebar = ( isset( $amp_wp_layout_settings['is_show_sidebar'] ) && ! empty( $amp_wp_layout_settings['is_show_sidebar'] ) ) ? $amp_wp_layout_settings['is_show_sidebar'] : ''; 79 79 80 if ( '1'== $is_show_sidebar ) {80 if ( 1 === $is_show_sidebar ) { 81 81 amp_wp_enqueue_script( 'amp-sidebar', 'https://cdn.ampproject.org/v0/amp-sidebar-0.1.js' ); 82 82 } … … 1143 1143 */ 1144 1144 function amp_wp_consent_submission() { 1145 $current_url = $site_url = $site_host = $amp_site = ''; 1145 $current_url = ''; 1146 $site_url = ''; 1147 $site_host = ''; 1148 $amp_site = ''; 1146 1149 $current_url = wp_get_referer(); 1147 1150 $site_url = wp_parse_url( get_site_url() ); … … 1184 1187 } 1185 1188 endif; 1186 1187 1189 add_filter( 'amp_wp_url_excluded', 'amp_wp_set_excluded_url_format' ); 1188 1190 -
amp-wp/trunk/includes/functions/amp-wp-utility-functions.php
r2057758 r2125154 9 9 */ 10 10 11 if( !function_exists( 'amp_wp_remove_query_string' ) ) : 12 /** 13 * Remove anything after question mark 14 * 15 * Example: pixelative.co/?publisher=great 16 * becomes: pixelative.co/ 17 * 18 * @param string $string 19 * 20 * @since 1.0.0 21 * 22 * @return string 23 */ 24 function amp_wp_remove_query_string( $string ) { 25 if( preg_match( '/([^\?]+)\?/', $string, $matches ) ) { 26 return $matches[1]; 27 } 28 return $string; 29 } 30 endif; 31 32 if( !function_exists( 'amp_wp_filter_attributes' ) ) : 33 /** 34 * Filter AMP element attributes 35 * 36 * @param array $attributes key-value paired attributes list 37 * @param array $valid_attributes valid attributes key 38 * @param string $tag_name optional. amp tag-name 39 * 40 * @since 1.0.0 41 * 42 * @return array filtered attributes 43 */ 44 function amp_wp_filter_attributes( $attributes, $valid_attributes, $tag_name = '' ) { 45 $attributes = wp_array_slice_assoc( $attributes, $valid_attributes ); 46 return apply_filters( 'amp_wp_html_dom_filter_attributes', $attributes, $tag_name, $valid_attributes ); 47 } 48 endif; 49 50 if( !function_exists( 'amp_wp_remove_class_filter' ) ) : 51 /** 52 * Remove Class Filter Without Access to Class Object 53 * 54 * In order to use the core WordPress remove_filter() on a filter added with the callback 55 * to a class, you either have to have access to that class object, or it has to be a call 56 * to a static method. This method allows you to remove filters with a callback to a class 57 * you don't have access to. 58 * 59 * Works with WordPress 1.2+ (4.7+ support added 9-19-2016) 60 * Updated 2-27-2017 to use internal WordPress removal for 4.7+ (to prevent PHP warnings output) 61 * 62 * @param string $tag Filter to remove 63 * @param string $class_name Class name for the filter's callback 64 * @param string $method_name Method name for the filter's callback 65 * @param int $priority Priority of the filter (default 10) 66 * 67 * 68 * Copyright: https://gist.github.com/tripflex/c6518efc1753cf2392559866b4bd1a53 69 * 70 * @return bool Whether the function is removed. 71 */ 72 function amp_wp_remove_class_filter( $tag, $class_name = '', $method_name = '', $priority = 10 ) { 73 global $wp_filter; 74 75 // Check that filter actually exists first 76 if( ! isset( $wp_filter[ $tag ] ) ) { return false; } 77 78 /** 79 * If filter config is an object, means we're using WordPress 4.7+ and the config is no longer 80 * a simple array, rather it is an object that implements the ArrayAccess interface. 81 * 82 * To be backwards compatible, we set $callbacks equal to the correct array as a reference (so $wp_filter is updated) 83 * 84 * @see https://make.wordpress.org/core/2016/09/08/wp_hook-next-generation-actions-and-filters/ 85 */ 86 if( is_object( $wp_filter[ $tag ] ) && isset( $wp_filter[ $tag ]->callbacks ) ) { 87 // Create $fob object from filter tag, to use below 88 $fob = $wp_filter[ $tag ]; 89 $callbacks = &$wp_filter[ $tag ]->callbacks; 90 } else { 91 $callbacks = &$wp_filter[ $tag ]; 92 } 93 94 // Exit if there aren't any callbacks for specified priority 95 if( !isset( $callbacks[ $priority ] ) || empty( $callbacks[ $priority ] ) ) { 96 return false; 97 } 98 99 // Loop through each filter for the specified priority, looking for our class & method 100 foreach( (array) $callbacks[ $priority ] as $filter_id => $filter ) { 101 // Filter should always be an array - array( $this, 'method' ), if not goto next 102 if( !isset( $filter['function'] ) || ! is_array( $filter['function'] ) ) { 103 continue; 104 } 105 // If first value in array is not an object, it can't be a class 106 if( !is_object( $filter['function'][0] ) ) { 107 continue; 108 } 109 // Method doesn't match the one we're looking for, goto next 110 if( $filter['function'][1] !== $method_name ) { 111 continue; 112 } 113 // Method matched, now let's check the Class 114 if( get_class( $filter['function'][0] ) === $class_name ) { 115 // WordPress 4.7+ use core remove_filter() since we found the class object 116 if( isset( $fob ) ) { 117 // Handles removing filter, reseting callback priority keys mid-iteration, etc. 118 $fob->remove_filter( $tag, $filter['function'], $priority ); 119 } else { 120 // Use legacy removal process (pre 4.7) 121 unset( $callbacks[ $priority ][ $filter_id ] ); 122 // and if it was the only filter in that priority, unset that priority 123 if( empty( $callbacks[ $priority ] ) ) { 124 unset( $callbacks[ $priority ] ); 125 } 126 // and if the only filter for that tag, set the tag to an empty array 127 if( empty( $callbacks ) ) { 128 $callbacks = array(); 129 } 130 // Remove this filter from merged_filters, which specifies if filters have been sorted 131 unset( $GLOBALS['merged_filters'][ $tag ] ); 132 } 133 return true; 134 } 135 } 136 return false; 137 } 138 endif; 139 140 if( !function_exists( 'amp_wp_remove_class_action' ) ) : 141 /** 142 * In order to use the core WordPress remove_action() on an action added with the callback 143 * to a class, you either have to have access to that class object, or it has to be a call 144 * to a static method. This method allows you to remove actions with a callback to a class 145 * you don't have access to. 146 * 147 * Works with WordPress 1.2+ (4.7+ support added 9-19-2016) 148 * 149 * @param string $tag Action to remove 150 * @param string $class_name Class name for the action's callback 151 * @param string $method_name Method name for the action's callback 152 * @param int $priority Priority of the action (default 10) 153 * 154 * Copyright: https://gist.github.com/tripflex/c6518efc1753cf2392559866b4bd1a53 155 * 156 * @return bool Whether the function is removed. 157 */ 158 function amp_wp_remove_class_action( $tag, $class_name = '', $method_name = '', $priority = 10 ) { 159 amp_wp_remove_class_filter( $tag, $class_name, $method_name, $priority ); 160 } 161 endif; 162 163 if( !function_exists( 'amp_wp_trans_allowed_html' ) ) : 164 /** 165 * 166 * Handy function for translation wp_kses when we need it for descriptions and help HTMLs 167 */ 168 function amp_wp_trans_allowed_html() { 169 return array( 170 'a' => array( 171 'href' => array(), 172 'target' => array(), 173 'id' => array(), 174 'class' => array(), 175 'rel' => array(), 176 'style' => array(), 177 ), 178 'span' => array( 179 'class' => array(), 180 'id' => array(), 181 'style' => array(), 182 ), 183 'p' => array( 184 'class' => array(), 185 'id' => array(), 186 'style' => array(), 187 ), 188 'strong' => array( 189 'class' => array(), 190 'style' => array(), 191 ), 192 'hr' => array( 193 'class' => array(), 194 ), 195 'br' => '', 196 'b' => '', 197 'h6' => array( 198 'class' => array(), 199 'id' => array(), 200 ), 201 'h5' => array( 202 'class' => array(), 203 'id' => array(), 204 ), 205 'h4' => array( 206 'class' => array(), 207 'id' => array(), 208 ), 209 'h3' => array( 210 'class' => array(), 211 'id' => array(), 212 ), 213 'h2' => array( 214 'class' => array(), 215 'id' => array(), 216 ), 217 'h1' => array( 218 'class' => array(), 219 'id' => array(), 220 ), 221 'code' => array( 222 'class' => array(), 223 'id' => array(), 224 ), 225 'em' => array( 226 'class' => array(), 227 ), 228 'i' => array( 229 'class' => array(), 230 ), 231 'img' => array( 232 'class' => array(), 233 'style' => array(), 234 ), 235 'label' => array( 236 'for' => array(), 237 'style' => array(), 238 ), 239 'ol' => array( 240 'class' => array(), 241 ), 242 'ul' => array( 243 'class' => array(), 244 ), 245 'li' => array( 246 'class' => array(), 247 ), 248 ); 249 } 250 endif; 251 252 if( !function_exists( 'amp_wp_is' ) ) { 253 /** 254 * Handy function for checking current AMP WP state 255 * 256 * @param string $id 257 * 258 * @version 1.0.0 259 * @since 1.0.0 260 * 261 * @return bool 262 */ 263 function amp_wp_is( $id = '' ) { 264 switch ( $id ) { 265 /** 266 * Doing Ajax 267 */ 268 case 'doing_ajax': 269 case 'doing-ajax': 270 case 'ajax': 271 return defined( 'DOING_AJAX' ) && DOING_AJAX; 272 break; 273 274 /** 275 * Development Mode 276 */ 277 case 'dev': 278 return defined( 'AMPWP_DEV_MODE' ) && AMPWP_DEV_MODE; 279 break; 280 281 /* 282 * 283 * Demo development mode, 284 * Define This If You Want to Load All Demo Importing Functionality From Your Local Not Remote Server 285 * 286 */ 287 case 'demo-dev': 288 return defined( 'AMPWP_DEMO_DEV_MODE' ) && AMPWP_DEMO_DEV_MODE; 289 break; 290 default: 291 return false; 292 } 293 } 11 if ( ! function_exists( 'amp_wp_remove_query_string' ) ) : 12 /** 13 * Remove anything after question mark 14 * 15 * Example: pixelative.co/?publisher=great 16 * becomes: pixelative.co/ 17 * 18 * @param string $string 19 * 20 * @since 1.0.0 21 * 22 * @return string 23 */ 24 function amp_wp_remove_query_string( $string ) { 25 26 $matches = array(); 27 if ( preg_match( '/([^\?]+)\?/', $string, $matches ) ) { 28 return $matches[1]; 29 } 30 return $string; 31 } 32 endif; 33 34 if ( ! function_exists( 'amp_wp_filter_attributes' ) ) : 35 /** 36 * Filter AMP element attributes 37 * 38 * @param array $attributes key-value paired attributes list. 39 * @param array $valid_attributes valid attributes key. 40 * @param string $tag_name optional. amp tag-name. 41 * 42 * @since 1.0.0 43 * 44 * @return array filtered attributes 45 */ 46 function amp_wp_filter_attributes( $attributes, $valid_attributes, $tag_name = '' ) { 47 $attributes = wp_array_slice_assoc( $attributes, $valid_attributes ); 48 return apply_filters( 'amp_wp_html_dom_filter_attributes', $attributes, $tag_name, $valid_attributes ); 49 } 50 endif; 51 52 if ( ! function_exists( 'amp_wp_remove_class_filter' ) ) : 53 /** 54 * Remove Class Filter Without Access to Class Object 55 * 56 * In order to use the core WordPress remove_filter() on a filter added with the callback 57 * to a class, you either have to have access to that class object, or it has to be a call 58 * to a static method. This method allows you to remove filters with a callback to a class 59 * you don't have access to. 60 * 61 * Works with WordPress 1.2+ (4.7+ support added 9-19-2016) 62 * Updated 2-27-2017 to use internal WordPress removal for 4.7+ (to prevent PHP warnings output) 63 * 64 * @param string $tag Filter to remove. 65 * @param string $class_name Class name for the filter's callback. 66 * @param string $method_name Method name for the filter's callback. 67 * @param int $priority Priority of the filter. (default 10) 68 * 69 * 70 * Copyright: https://gist.github.com/tripflex/c6518efc1753cf2392559866b4bd1a53 71 * 72 * @return bool Whether the function is removed. 73 */ 74 function amp_wp_remove_class_filter( $tag, $class_name = '', $method_name = '', $priority = 10 ) { 75 global $wp_filter; 76 77 // Check that filter actually exists first. 78 if ( ! isset( $wp_filter[ $tag ] ) ) { 79 return false; } 80 81 /** 82 * If filter config is an object, means we're using WordPress 4.7+ and the config is no longer 83 * a simple array, rather it is an object that implements the ArrayAccess interface. 84 * 85 * To be backwards compatible, we set $callbacks equal to the correct array as a reference (so $wp_filter is updated) 86 * 87 * @see https://make.wordpress.org/core/2016/09/08/wp_hook-next-generation-actions-and-filters/ 88 */ 89 if ( is_object( $wp_filter[ $tag ] ) && isset( $wp_filter[ $tag ]->callbacks ) ) { 90 91 // Create $fob object from filter tag, to use below. 92 $fob = $wp_filter[ $tag ]; 93 $callbacks = &$wp_filter[ $tag ]->callbacks; 94 } else { 95 $callbacks = &$wp_filter[ $tag ]; 96 } 97 98 // Exit if there aren't any callbacks for specified priority. 99 if ( ! isset( $callbacks[ $priority ] ) || empty( $callbacks[ $priority ] ) ) { 100 return false; 101 } 102 103 // Loop through each filter for the specified priority, looking for our class & method. 104 foreach ( (array) $callbacks[ $priority ] as $filter_id => $filter ) { 105 106 // Filter should always be an array - array( $this, 'method' ), if not goto next. 107 if ( ! isset( $filter['function'] ) || ! is_array( $filter['function'] ) ) { 108 continue; 109 } 110 // If first value in array is not an object, it can't be a class. 111 if ( ! is_object( $filter['function'][0] ) ) { 112 continue; 113 } 114 // Method doesn't match the one we're looking for, goto next. 115 if ( $filter['function'][1] !== $method_name ) { 116 continue; 117 } 118 // Method matched, now let's check the Class. 119 if ( get_class( $filter['function'][0] ) === $class_name ) { 120 121 // WordPress 4.7+ use core remove_filter() since we found the class object. 122 if ( isset( $fob ) ) { 123 // Handles removing filter, reseting callback priority keys mid-iteration, etc. 124 $fob->remove_filter( $tag, $filter['function'], $priority ); 125 } else { 126 // Use legacy removal process (pre 4.7). 127 unset( $callbacks[ $priority ][ $filter_id ] ); 128 129 // and if it was the only filter in that priority, unset that priority. 130 if ( empty( $callbacks[ $priority ] ) ) { 131 unset( $callbacks[ $priority ] ); 132 } 133 134 // and if the only filter for that tag, set the tag to an empty array. 135 if ( empty( $callbacks ) ) { 136 $callbacks = array(); 137 } 138 139 // Remove this filter from merged_filters, which specifies if filters have been sorted. 140 unset( $GLOBALS['merged_filters'][ $tag ] ); 141 } 142 return true; 143 } 144 } 145 return false; 146 } 147 endif; 148 149 if ( ! function_exists( 'amp_wp_remove_class_action' ) ) : 150 /** 151 * In order to use the core WordPress remove_action() on an action added with the callback 152 * to a class, you either have to have access to that class object, or it has to be a call 153 * to a static method. This method allows you to remove actions with a callback to a class 154 * you don't have access to. 155 * 156 * Works with WordPress 1.2+ (4.7+ support added 9-19-2016) 157 * 158 * @param string $tag Action to remove. 159 * @param string $class_name Class name for the action's callback. 160 * @param string $method_name Method name for the action's callback. 161 * @param int $priority Priority of the action (default 10). 162 * 163 * Copyright: https://gist.github.com/tripflex/c6518efc1753cf2392559866b4bd1a53 164 * 165 * @return bool Whether the function is removed. 166 */ 167 function amp_wp_remove_class_action( $tag, $class_name = '', $method_name = '', $priority = 10 ) { 168 amp_wp_remove_class_filter( $tag, $class_name, $method_name, $priority ); 169 } 170 endif; 171 172 if ( ! function_exists( 'amp_wp_trans_allowed_html' ) ) : 173 /** 174 * 175 * Handy function for translation wp_kses when we need it for descriptions and help HTMLs 176 */ 177 function amp_wp_trans_allowed_html() { 178 return array( 179 'a' => array( 180 'href' => array(), 181 'target' => array(), 182 'id' => array(), 183 'class' => array(), 184 'rel' => array(), 185 'style' => array(), 186 ), 187 'span' => array( 188 'class' => array(), 189 'id' => array(), 190 'style' => array(), 191 ), 192 'p' => array( 193 'class' => array(), 194 'id' => array(), 195 'style' => array(), 196 ), 197 'strong' => array( 198 'class' => array(), 199 'style' => array(), 200 ), 201 'hr' => array( 202 'class' => array(), 203 ), 204 'br' => '', 205 'b' => '', 206 'h6' => array( 207 'class' => array(), 208 'id' => array(), 209 ), 210 'h5' => array( 211 'class' => array(), 212 'id' => array(), 213 ), 214 'h4' => array( 215 'class' => array(), 216 'id' => array(), 217 ), 218 'h3' => array( 219 'class' => array(), 220 'id' => array(), 221 ), 222 'h2' => array( 223 'class' => array(), 224 'id' => array(), 225 ), 226 'h1' => array( 227 'class' => array(), 228 'id' => array(), 229 ), 230 'code' => array( 231 'class' => array(), 232 'id' => array(), 233 ), 234 'em' => array( 235 'class' => array(), 236 ), 237 'i' => array( 238 'class' => array(), 239 ), 240 'img' => array( 241 'class' => array(), 242 'style' => array(), 243 ), 244 'label' => array( 245 'for' => array(), 246 'style' => array(), 247 ), 248 'ol' => array( 249 'class' => array(), 250 ), 251 'ul' => array( 252 'class' => array(), 253 ), 254 'li' => array( 255 'class' => array(), 256 ), 257 ); 258 } 259 endif; 260 261 if ( ! function_exists( 'amp_wp_is' ) ) { 262 /** 263 * Handy function for checking current AMP WP state 264 * 265 * @param string $id 266 * 267 * @version 1.0.0 268 * @since 1.0.0 269 * 270 * @return bool 271 */ 272 function amp_wp_is( $id = '' ) { 273 switch ( $id ) { 274 /** 275 * Doing Ajax 276 */ 277 case 'doing_ajax': 278 case 'doing-ajax': 279 case 'ajax': 280 return defined( 'DOING_AJAX' ) && DOING_AJAX; 281 break; 282 283 /** 284 * Development Mode 285 */ 286 case 'dev': 287 return defined( 'AMPWP_DEV_MODE' ) && AMPWP_DEV_MODE; 288 break; 289 290 /* 291 * 292 * Demo development mode, 293 * Define This If You Want to Load All Demo Importing Functionality From Your Local Not Remote Server 294 * 295 */ 296 case 'demo-dev': 297 return defined( 'AMPWP_DEMO_DEV_MODE' ) && AMPWP_DEMO_DEV_MODE; 298 break; 299 default: 300 return false; 301 } 302 } 294 303 } 295 304 … … 297 306 * Retrieves the full AMP-specific permalink for the given post ID. 298 307 * 299 * @since 1.0.0300 * 301 * @param int$post_id Post ID.302 * 303 * @return stringAMP permalink.308 * @since 1.0.0 309 * 310 * @param int $post_id Post ID. 311 * 312 * @return string AMP permalink. 304 313 */ 305 314 function amp_wp_get_permalink( $post_id ) { 306 315 307 /**308 * Filters the AMP permalink to short-circuit normal generation.309 *310 * Returning a non-false value in this filter will cause the `get_permalink()` to get called and the `amp_wp_get_permalink` filter to not apply.311 *312 * @since 0.4313 *314 * @param false $url Short-circuited URL.315 * @param int $post_id Post ID.316 */317 $pre_url = apply_filters( 'amp_wp_pre_get_permalink', false, $post_id );318 319 if( false !== $pre_url ) {320 return $pre_url;321 }322 323 if( amp_wp_is_canonical() ) {324 $amp_url = get_permalink( $post_id );325 } else {326 $parsed_url = wp_parse_url( get_permalink( $post_id ) );327 $structure= get_option( 'permalink_structure' );328 if( empty( $structure ) || !empty( $parsed_url['query'] ) || is_post_type_hierarchical( get_post_type( $post_id ) ) ) {329 $amp_url = add_query_arg( Amp_WP_Public::AMP_WP_STARTPOINT, '', get_permalink( $post_id ) );330 } else {331 $amp_url = trailingslashit( get_permalink( $post_id ) ) . user_trailingslashit( Amp_WP_Public::AMP_WP_STARTPOINT, 'single_amp' );332 }333 }334 335 /**336 * Filters AMP Permalink.337 *338 * @since 1.0.0339 *340 * @param false $amp_url AMP URL.341 * @param int $post_id Post ID.342 */343 return apply_filters( 'amp_wp_get_permalink', $amp_url, $post_id );316 /** 317 * Filters the AMP permalink to short-circuit normal generation. 318 * 319 * Returning a non-false value in this filter will cause the `get_permalink()` to get called and the `amp_wp_get_permalink` filter to not apply. 320 * 321 * @since 0.4 322 * 323 * @param false $url Short-circuited URL. 324 * @param int $post_id Post ID. 325 */ 326 $pre_url = apply_filters( 'amp_wp_pre_get_permalink', false, $post_id ); 327 328 if ( false !== $pre_url ) { 329 return $pre_url; 330 } 331 332 if ( amp_wp_is_canonical() ) { 333 $amp_url = get_permalink( $post_id ); 334 } else { 335 $parsed_url = wp_parse_url( get_permalink( $post_id ) ); 336 $structure = get_option( 'permalink_structure' ); 337 if ( empty( $structure ) || ! empty( $parsed_url['query'] ) || is_post_type_hierarchical( get_post_type( $post_id ) ) ) { 338 $amp_url = add_query_arg( Amp_WP_Public::AMP_WP_STARTPOINT, '', get_permalink( $post_id ) ); 339 } else { 340 $amp_url = trailingslashit( get_permalink( $post_id ) ) . user_trailingslashit( Amp_WP_Public::AMP_WP_STARTPOINT, 'single_amp' ); 341 } 342 } 343 344 /** 345 * Filters AMP Permalink. 346 * 347 * @since 1.0.0 348 * 349 * @param false $amp_url AMP URL. 350 * @param int $post_id Post ID. 351 */ 352 return apply_filters( 'amp_wp_get_permalink', $amp_url, $post_id ); 344 353 } 345 354 … … 356 365 */ 357 366 function amp_wp_is_canonical() { 358 $support = get_theme_support( 'amp' );359 if( true === $support ) {360 return true;361 }362 if( is_array( $support ) ) {363 $args = array_shift( $support );364 if( empty( $args['template_dir'] ) ) {365 return true;366 }367 }368 return false;367 $support = get_theme_support( 'amp' ); 368 if ( true === $support ) { 369 return true; 370 } 371 if ( is_array( $support ) ) { 372 $args = array_shift( $support ); 373 if ( empty( $args['template_dir'] ) ) { 374 return true; 375 } 376 } 377 return false; 369 378 } 370 379 371 if ( !function_exists( 'amp_wp_transpile_text_to_pattern' ) ) :380 if ( ! function_exists( 'amp_wp_transpile_text_to_pattern' ) ) : 372 381 373 382 /** 374 383 * Compile the given string to valid PCRE pattern. 375 384 * 376 * @param string $textThe formatted text.377 * @param string $delimiterPattern delimiter.378 * 379 * @since 1.4.1380 * @return string385 * @param string $text The formatted text. 386 * @param string $delimiter Pattern delimiter. 387 * 388 * @since 1.4.1 389 * @return string 381 390 */ 382 391 function amp_wp_transpile_text_to_pattern( $text, $delimiter = '#' ) { 383 392 384 $pattern = preg_replace( '/ ( (?<!\\\) \* ) /x', '@@CAPTURE@@', $text ); 385 $pattern = preg_quote( $pattern, $delimiter ); 386 $pattern = str_replace( '@@CAPTURE@@', '[^/]+', $pattern ); 393 $should_all_be_blocked = substr( $text, strlen( $text ) - 1 ) == '*'; 394 $pattern = preg_replace( '/ ( (?<!\\\) \* ) /x', '@@CAPTURE@@', $text ); 395 $pattern = preg_quote( $pattern, $delimiter ); 396 $pattern = str_replace( '@@CAPTURE@@', ( $should_all_be_blocked ? '+.*' : '$' ), $pattern ); 387 397 388 398 return $pattern; -
amp-wp/trunk/public/class-amp-wp-public.php
r2076574 r2125154 3 3 * The public-facing functionality of the plugin. 4 4 * 5 * @link http://pixelative.co6 * @since 1.0.05 * @link http://pixelative.co 6 * @since 1.0.0 7 7 * 8 * @package Amp_WP8 * @package Amp_WP 9 9 * @subpackage Amp_WP/public 10 10 */ … … 43 43 * Default endpoint for AMP URL of site. This can be overridden by filter. 44 44 * 45 * @since 1.0.445 * @since 1.0.4 46 46 */ 47 47 const SLUG = 'amp'; … … 58 58 59 59 /** 60 * pre_get_posts hookpriority60 * Hook 'pre_get_posts' priority 61 61 * 62 62 * @var int … … 105 105 $this->version = $version; 106 106 107 // Setup Initial Configurations for AMP WP 107 // Setup Initial Configurations for AMP WP. 108 108 add_action( 'amp_wp_default_configurations', array( $this, 'default_configurations' ) ); 109 109 110 110 $this->register_autoload(); 111 111 112 // Registers the AMP Rewrite Rules 112 // Registers the AMP Rewrite Rules. 113 113 add_action( 'init', array( $this, 'amp_wp_add_rewrite' ) ); 114 114 add_action( 'init', array( $this, 'amp_wp_append_index_rewrite_rule' ) ); 115 115 116 // Initialize AMP Components 116 // Initialize AMP Components. 117 117 add_action( 'init', array( $this, 'amp_wp_include_components' ) ); 118 118 119 // Changes Page Template File With AMP Template File 119 // Changes Page Template File With AMP Template File. 120 120 add_filter( 'template_include', array( $this, 'amp_wp_include_template_file' ), 9999 ); 121 121 122 // Override Template File 122 // Override Template File. 123 123 add_filter( 'comments_template', array( $this, 'amp_wp_override_comments_template' ), 9999 ); 124 124 125 // Initialize AMP Theme and It’s Functionality 125 // Initialize AMP Theme and It’s Functionality. 126 126 add_action( 'after_setup_theme', array( $this, 'amp_wp_template_functions' ), 1 ); 127 127 128 // Register the AMP special shortcode ports 128 // Register the AMP special shortcode ports. 129 129 add_filter( 'the_content', array( $this, 'register_components_shortcodes' ), 1 ); 130 130 … … 133 133 add_action( 'wp', array( $this, 'amp_wp_replace_internal_links_with_amp_version' ) ); 134 134 135 // Registers All Components Scripts Into the Header Style and Scripts 135 // Registers All Components Scripts Into the Header Style and Scripts. 136 136 add_action( 'amp_wp_template_enqueue_scripts', array( $this, 'amp_wp_enqueue_components_scripts' ) ); 137 137 138 // Let the Components to Do Their Functionality in Head 138 // Let the Components to Do Their Functionality in Head. 139 139 add_action( 'amp_wp_template_head', array( $this, 'amp_wp_trigger_component_head' ), 0 ); 140 140 … … 153 153 add_filter( 'request', array( $this, 'amp_wp_fix_search_page_queries' ) ); 154 154 155 // Auto Redirect Mobile Users 155 // Auto Redirect Mobile Users. 156 156 add_action( 'template_redirect', array( $this, 'amp_wp_auto_redirect_to_amp' ), 1 ); 157 157 158 // Init AMP WP JSON-LD 158 // Init AMP WP JSON-LD. 159 159 add_action( 'template_redirect', 'Amp_WP_Public::amp_wp_init_json_ld', 1 ); 160 160 161 161 $this->amp_wp_fix_front_page_display_options(); 162 162 163 // Fire the modules 163 // Fire the modules. 164 164 Amp_WP_Redirect_Router::Run(); 165 165 } … … 178 178 update_option( 'amp_wp_general_settings', array( 'theme_name' => 'tez' ) ); 179 179 180 // General Settings Setup 180 // General Settings Setup. 181 181 $general_default_settings = array( 182 182 'amp_on_home' => 1, … … 248 248 * Autoload handler for AMP WP classes only 249 249 * 250 * @param string $class_name class to include250 * @param string $class_name Class to include. 251 251 * 252 252 * @since 1.0.0 … … 262 262 $sanitized_class_name = str_replace( '_', '-', $sanitized_class_name ); 263 263 264 // Remove interface suffix 264 // Remove interface suffix. 265 265 if ( $is_interface ) { 266 266 $sanitized_class_name = substr( $sanitized_class_name, 0, - 10 ); … … 297 297 * @version 1.0.0 298 298 * @since 1.0.0 299 *300 * @return array301 299 */ 302 300 public function amp_wp_append_index_rewrite_rule() { … … 329 327 include AMP_WP_DIR_PATH . 'includes/components/class-amp-wp-carousel-component.php'; 330 328 include AMP_WP_DIR_PATH . 'includes/components/class-amp-wp-instagram-component.php'; 329 include AMP_WP_DIR_PATH . 'includes/components/class-amp-wp-playbuzz-component.php'; 331 330 } 332 331 … … 443 442 */ 444 443 public function amp_wp_replace_internal_links_with_amp_version( $wp ) { 445 // if( empty( $wp->query_vars['amp'] ) ) { 444 445 // if( empty( $wp->query_vars['amp'] ) ) {. 446 446 if ( ! isset( $wp->query_vars['amp'] ) ) { 447 447 return; … … 463 463 * Transform allowed posts URL to AMP 464 464 * 465 * @param string $url The Post’s Permalink466 * @param WP_Post|int $post The post object/idof the post.465 * @param string $url The Post's Permalink. 466 * @param WP_Post|int $post The post object/id of the post. 467 467 * 468 468 * @since 1.0.0 … … 472 472 $post_id = isset( $post->ID ) ? $post->ID : $post; 473 473 474 if ( 'page' == $this->amp_wp_get_option( 'show_on_front' ) && $post_id == $this->amp_wp_get_option( 'page_on_front' ) ) { 475 $url = home_url( '/' ); 476 } 477 474 478 if ( isset( $this->excluded_posts_id[ $post_id ] ) ) { 475 479 return $url; 476 480 } 481 477 482 return Amp_WP_Content_Sanitizer::transform_to_amp_url( $url ); 478 483 } … … 489 494 amp_wp_enqueue_script( $deps[0], 'https://cdn.ampproject.org/v0.js' ); 490 495 491 // Enqueues all needed scripts of components with 'ampproject' dependency 496 // Enqueues all needed scripts of components with 'ampproject' dependency. 492 497 $this->amp_wp_call_components_method( 'enqueue_amp_scripts', $deps ); 493 498 … … 568 573 569 574 preg_match( '#(<\s*body[^>]*>)#isx', $content, $match ); 570 $prepend .= isset( $match[1] ) ? $match[1] : '<body>'; // open body tag575 $prepend .= isset( $match[1] ) ? $match[1] : '<body>'; // Open body tag. 571 576 572 577 $this->amp_wp_render_content( $instance, true ); // Convert HTML top amp html 573 // @see Amp_WP_Component::enqueue_amp_tags_script578 // @see 'Amp_WP_Component::enqueue_amp_tags_script'. 574 579 $this->amp_wp_call_components_method( 'enqueue_amp_tags_script', $instance ); 575 580 576 581 $content = $instance->get_content( true ); 577 // End convert output to valid amp html 582 // End convert output to valid amp html. 578 583 } 579 584 … … 619 624 } 620 625 621 // collect and prepare method arguments626 // Collect and prepare method arguments. 622 627 $args = func_get_args(); 623 628 $args = array_slice( $args, 1 ); … … 626 631 } 627 632 628 // iterate registered components and call method on them633 // Iterate registered components and call method on them. 629 634 foreach ( $amp_wp_registered_components as $component ) { 630 635 $instance = Amp_WP_Component::instance( $component['component_class'] ); … … 747 752 public function redirect_to_start_point_amp() { 748 753 749 // Disable Functionality in Customizer Preview 754 // Disable Functionality in Customizer Preview. 750 755 if ( function_exists( 'is_customize_preview' ) && is_customize_preview() ) { 751 756 return; } … … 795 800 public function redirect_to_end_point_amp() { 796 801 797 // Disable Functionality in Customizer Preview 802 // Disable Functionality in Customizer Preview. 798 803 if ( function_exists( 'is_customize_preview' ) && is_customize_preview() ) { 799 804 return; } … … 888 893 } 889 894 890 // if post have not AMP version 895 // if post have not AMP version. 891 896 if ( ! $this->amp_version_exists() ) { 892 897 return; … … 922 927 } 923 928 924 // Fix for "WP Fastest Cache" plugin 929 // Fix for "WP Fastest Cache" plugin. 925 930 if ( $plugins = array_flip( wp_get_active_and_valid_plugins() ) ) { 926 931 return isset( $plugins[ WP_PLUGIN_DIR . '/wp-fastest-cache/wpFastestCache.php' ] ); … … 945 950 return; 946 951 } 947 // global $wp_filesystem; 948 // $wp_filesystem->get_contents( amp_wp_min_suffix( AMP_WP_DIR_PATH . 'public/js/mobile_redirect', '.js' ) ); 952 // global $wp_filesystem. 949 953 $script = file_get_contents( amp_wp_min_suffix( AMP_WP_DIR_PATH . 'public/js/mobile_redirect', '.js' ) ); 950 954 $script = str_replace( '%%amp_permalink%%', $amp_permalink, $script ); … … 971 975 } 972 976 973 // Config AMP WP JSON-LD 977 // Config AMP WP JSON-LD. 974 978 add_filter( 'amp_wp_json_ld_config', 'Amp_WP_Public::config_json_ld', 15 ); 975 979 } … … 1064 1068 static $filters; 1065 1069 1066 // if( Amp_WP_Public::is_amp_excluded_by_url() ) { 1067 // return false; 1068 // } 1070 if ( self::is_amp_excluded_by_url() ) { 1071 return apply_filters( 'amp_wp_amp_version_exists', false ); 1072 } 1073 1069 1074 if ( ! isset( $filters ) ) { 1070 1075 $filters = wp_parse_args( … … 1091 1096 1092 1097 if ( $post_id ) { 1093 // if( get_post_meta( $post_id, 'disable-amp-wp', true ) || isset( $this->excluded_posts_id[$post_id] ) ) { 1098 // if( get_post_meta( $post_id, 'disable-amp-wp', true ) || isset( $this->excluded_posts_id[$post_id] ) ) {. 1094 1099 if ( get_post_meta( $post_id, 'disable-amp-wp', true ) ) { 1095 return false;1100 return apply_filters( 'amp_wp_amp_version_exists', false ); 1096 1101 } 1097 1102 } 1098 1103 1099 1104 if ( empty( $filters ) ) { 1100 return true; 1101 } 1105 return apply_filters( 'amp_wp_amp_version_exists', true ); 1106 } 1107 1102 1108 if ( is_home() || is_front_page() ) { 1103 return ! $filters['disabled_homepage']; 1104 } 1109 return apply_filters( 'amp_wp_amp_version_exists', ! $filters['disabled_homepage'] ); 1110 } 1111 1105 1112 if ( is_search() ) { 1106 return ! $filters['disabled_search']; 1107 } 1113 return apply_filters( 'amp_wp_amp_version_exists', ! $filters['disabled_search'] ); 1114 } 1115 1108 1116 if ( is_singular() ) { 1109 return ! in_array( get_queried_object()->post_type, $filters['disabled_post_types'] ); 1110 } 1117 return apply_filters( 'amp_wp_amp_version_exists', ! in_array( get_queried_object()->post_type, $filters['disabled_post_types'] ) ); 1118 } 1119 1111 1120 if ( is_post_type_archive() ) { 1112 1121 $queried_object = get_queried_object(); 1113 if ( $queried_object instanceof WP_Post_Type ) { // WP >= 4.6.0 1122 if ( $queried_object instanceof WP_Post_Type ) { // WP >= 4.6.0. 1114 1123 $post_type = $queried_object->name; 1115 } elseif ( $queried_object instanceof WP_Post ) { // WP < 4.6.0 1124 } elseif ( $queried_object instanceof WP_Post ) { // WP < 4.6.0. 1116 1125 $post_type = $queried_object->post_type; 1117 1126 } else { 1118 return false; 1119 } 1120 return ! in_array( $post_type, $filters['disabled_post_types'] ); 1121 } 1127 return apply_filters( 'amp_wp_amp_version_exists', false ); 1128 } 1129 return apply_filters( 'amp_wp_amp_version_exists', ! in_array( $post_type, $filters['disabled_post_types'] ) ); 1130 } 1131 1122 1132 if ( is_tax() || is_category() || is_tag() ) { 1123 return ! in_array( get_queried_object()->taxonomy, $filters['disabled_taxonomies'] ); 1124 } 1125 return true; 1133 return apply_filters( 'amp_wp_amp_version_exists', ! in_array( get_queried_object()->taxonomy, $filters['disabled_taxonomies'] ) ); 1134 } 1135 1136 return apply_filters( 'amp_wp_amp_version_exists', true ); 1126 1137 } 1127 1138 … … 1134 1145 */ 1135 1146 protected static function is_amp_excluded_by_url() { 1136 if ( ! $excluded_patterns = amp_wp_excluded_urls_format() ) { 1147 1148 $excluded_patterns = amp_wp_excluded_urls_format(); 1149 1150 if ( ! $excluded_patterns ) { 1137 1151 return false; 1138 1152 } 1139 1153 1140 // Get current page 1141 $current_path = trim( str_replace( home_url(), '', amp_wp_guess_non_amp_url() ), '/' ); 1154 /** 1155 * Get current page. 1156 * $current_path = trim( str_replace( home_url(), '', amp_wp_guess_non_amp_url() ), '/' ); 1157 */ 1158 $current_path = amp_wp_guess_non_amp_url(); 1142 1159 foreach ( $excluded_patterns as $url_format ) { 1143 1160 … … 1146 1163 } 1147 1164 1148 $url_format = trim( $url_format, '/' ); // throw surrounded slash away 1149 1150 // Format given url to valid PCRE regex 1151 $pattern = amp_wp_transpile_text_to_pattern( $url_format, '#' ); 1152 $pattern = '#^/?' . $pattern . '/*$#i'; 1153 1154 // Check if the given url is match with current page url path 1155 if ( preg_match( $pattern, $current_path ) ) { 1156 return true; 1165 $url_format = trim( $url_format ); 1166 $apply_reg_exp = substr( $url_format, strlen( $url_format ) - 1 ) == '*'; 1167 if ( $apply_reg_exp ) { 1168 1169 // Format given url to valid PCRE regex. 1170 $pattern = amp_wp_transpile_text_to_pattern( $url_format, '/' ); 1171 $pattern = '/' . trim( $pattern ) . '/'; 1172 if ( preg_match( $pattern, $current_path ) ) { 1173 return true; 1174 } 1175 } else { 1176 if ( trim( $url_format, '/' ) == trim( $current_path, '/' ) ) { 1177 return true; 1178 } 1157 1179 } 1158 1180 }
Note: See TracChangeset
for help on using the changeset viewer.