Version Description
- Minor bug fixes
Download this release
Release Info
Developer | WPZOOM |
Plugin | Instagram Widget by WPZOOM |
Version | 2.0.1 |
Comparing to | |
See all releases |
Code changes from version 2.0.0 to 2.0.1
- class-wpzoom-instagram-widget-display.php +2 -2
- class-wpzoom-instagram-widget-settings.php +0 -28
- dist/styles/backend/index-rtl.css +1 -1
- dist/styles/backend/index.asset.php +1 -1
- dist/styles/backend/index.css +1 -1
- dist/styles/frontend/index-rtl.css +1 -1
- dist/styles/frontend/index.asset.php +1 -1
- dist/styles/frontend/index.css +1 -1
- instagram-widget-by-wpzoom.php +2 -2
- readme.txt +10 -0
- src/styles/backend/index.scss +0 -6
- src/styles/frontend/index.scss +0 -1
- vendor/autoload.php +12 -0
- vendor/composer/ClassLoader.php +572 -0
- vendor/composer/InstalledVersions.php +352 -0
- vendor/composer/LICENSE +21 -0
- vendor/composer/autoload_classmap.php +10 -0
- vendor/composer/autoload_namespaces.php +9 -0
- vendor/composer/autoload_psr4.php +11 -0
- vendor/composer/autoload_real.php +38 -0
- vendor/composer/autoload_static.php +41 -0
- vendor/composer/installed.json +440 -0
- vendor/composer/installed.php +86 -0
- vendor/composer/platform_check.php +26 -0
- vendor/imangazaliev/didom/CHANGELOG.md +262 -0
- vendor/imangazaliev/didom/LICENSE +19 -0
- vendor/imangazaliev/didom/README-RU.md +844 -0
- vendor/imangazaliev/didom/src/DiDom/ClassAttribute.php +257 -0
- vendor/imangazaliev/didom/src/DiDom/Document.php +681 -0
- vendor/imangazaliev/didom/src/DiDom/DocumentFragment.php +31 -0
- vendor/imangazaliev/didom/src/DiDom/Element.php +397 -0
- vendor/imangazaliev/didom/src/DiDom/Encoder.php +60 -0
- vendor/imangazaliev/didom/src/DiDom/Errors.php +48 -0
- vendor/imangazaliev/didom/src/DiDom/Exceptions/InvalidSelectorException.php +12 -0
- vendor/imangazaliev/didom/src/DiDom/Node.php +1163 -0
- vendor/imangazaliev/didom/src/DiDom/Query.php +561 -0
- vendor/imangazaliev/didom/src/DiDom/StyleAttribute.php +304 -0
class-wpzoom-instagram-widget-display.php
CHANGED
@@ -270,7 +270,7 @@ class Wpzoom_Instagram_Widget_Display {
|
|
270 |
$output .= '</ul></div>';
|
271 |
|
272 |
if ( $show_view_on_insta_button || ( $show_load_more_button && 'fullwidth' !== $layout ) ) {
|
273 |
-
$output .= '<
|
274 |
|
275 |
if ( $show_view_on_insta_button ) {
|
276 |
$view_on_insta_label = isset( $args['view-button-text'] ) ? trim( $args['view-button-text'] ) : __( 'View on Instagram', 'instagram-widget-by-wpzoom' );
|
@@ -291,7 +291,7 @@ class Wpzoom_Instagram_Widget_Display {
|
|
291 |
$output .= '</form>';
|
292 |
}
|
293 |
|
294 |
-
$output .= '</
|
295 |
}
|
296 |
|
297 |
if ( $lightbox ) {
|
270 |
$output .= '</ul></div>';
|
271 |
|
272 |
if ( $show_view_on_insta_button || ( $show_load_more_button && 'fullwidth' !== $layout ) ) {
|
273 |
+
$output .= '<div class="zoom-instagram-widget__footer">';
|
274 |
|
275 |
if ( $show_view_on_insta_button ) {
|
276 |
$view_on_insta_label = isset( $args['view-button-text'] ) ? trim( $args['view-button-text'] ) : __( 'View on Instagram', 'instagram-widget-by-wpzoom' );
|
291 |
$output .= '</form>';
|
292 |
}
|
293 |
|
294 |
+
$output .= '</div>';
|
295 |
}
|
296 |
|
297 |
if ( $lightbox ) {
|
class-wpzoom-instagram-widget-settings.php
CHANGED
@@ -1014,20 +1014,6 @@ class WPZOOM_Instagram_Widget_Settings {
|
|
1014 |
</div>
|
1015 |
</div>
|
1016 |
</header>
|
1017 |
-
|
1018 |
-
<div class="wpz-insta-notices">
|
1019 |
-
<?php
|
1020 |
-
if ( is_network_admin() ) {
|
1021 |
-
do_action( 'network_admin_notices' );
|
1022 |
-
} elseif ( is_user_admin() ) {
|
1023 |
-
do_action( 'user_admin_notices' );
|
1024 |
-
} else {
|
1025 |
-
do_action( 'admin_notices' );
|
1026 |
-
}
|
1027 |
-
|
1028 |
-
do_action( 'all_admin_notices' );
|
1029 |
-
?>
|
1030 |
-
</div>
|
1031 |
<?php
|
1032 |
|
1033 |
if ( metadata_exists( 'user', get_current_user_id(), 'wpzinsta-pointer-feed-embed' ) ) {
|
@@ -1813,20 +1799,6 @@ class WPZOOM_Instagram_Widget_Settings {
|
|
1813 |
</ul>
|
1814 |
</nav>
|
1815 |
</header>
|
1816 |
-
|
1817 |
-
<div class="wpz-insta-notices">
|
1818 |
-
<?php
|
1819 |
-
if ( is_network_admin() ) {
|
1820 |
-
do_action( 'network_admin_notices' );
|
1821 |
-
} elseif ( is_user_admin() ) {
|
1822 |
-
do_action( 'user_admin_notices' );
|
1823 |
-
} else {
|
1824 |
-
do_action( 'admin_notices' );
|
1825 |
-
}
|
1826 |
-
|
1827 |
-
do_action( 'all_admin_notices' );
|
1828 |
-
?>
|
1829 |
-
</div>
|
1830 |
<?php
|
1831 |
}
|
1832 |
|
1014 |
</div>
|
1015 |
</div>
|
1016 |
</header>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1017 |
<?php
|
1018 |
|
1019 |
if ( metadata_exists( 'user', get_current_user_id(), 'wpzinsta-pointer-feed-embed' ) ) {
|
1799 |
</ul>
|
1800 |
</nav>
|
1801 |
</header>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1802 |
<?php
|
1803 |
}
|
1804 |
|
dist/styles/backend/index-rtl.css
CHANGED
@@ -1 +1 @@
|
|
1 |
-
.zoom-instagram-widget .button-connect{color:#fff;border:1px solid #1c5380;border-radius:3px;background-color:#6f97b6;background-image:linear-gradient(to bottom, #6f97b6, #3f729b);background-position:50% 50%;box-shadow:0 1px 1px rgba(0,0,0,.1),inset -1px 0 0 rgba(255,255,255,.05),inset 1px 0 0 rgba(255,255,255,.05),inset 0 1px 0 rgba(255,255,255,.2);text-shadow:0 1px 1px #1c5380}.zoom-instagram-widget .button-connect:focus,.zoom-instagram-widget .button-connect:hover{border-color:#1c5380;color:#fff;background-image:linear-gradient(to bottom, #5D87A8, #3f729b)}.zoom-instagram-widget{background:#fff;padding:30px;border:1px solid #ddd;border-radius:3px;margin:30px 0 30px 10px !important;box-shadow:-1px 1px 2px rgba(0,0,0,.1);max-width:700px}.zoom-themes-link{border:1px solid #e2e9ec;padding:30px 30px 260px 30px;border-radius:3px;margin:30px 0 30px 0 !important;box-shadow:-1px 1px 2px rgba(0,0,0,.1);max-width:700px;text-align:center}.zoom-themes-link p{font-size:15px;line-height:1.6}.cta-button{text-align:center;text-decoration:none;color:#fff;background:#3ebd3e;padding:10px 15px;display:inline-block;border-radius:3px;box-shadow:0 -1px 1px rgba(0,0,0,.2) inset;border:1px solid #259425;font-size:16px;text-shadow:-1px 1px rgba(0,0,0,.3)}.cta-button:hover{background:#2a9b2a;color:#fff}#wpzoom-instagram-widget-settings_transient-lifetime-value{max-width:150px;float:right}#wpzoom-instagram-widget-settings_transient-lifetime-type{float:right;max-width:100px}.zoom-instagram-widget .wpzoom-instagram-widget-with-access-token-group{background-color:#fff6f6}.zoom-instagram-widget .wpzoom-instagram-widget-with-basic-access-token-group,.zoom-instagram-widget .wpzoom-instagram-widget-without-access-token-group{background-color:#e0f0e3}.zoom-instagram-widget .wpzoom-instagram-widget-with-basic-access-token-group th,.zoom-instagram-widget .wpzoom-instagram-widget-without-access-token-group th{padding-right:10px}.zoom-instagram-widget .label-wrap input[type=radio]:checked+label[for=wpzoom-instagram-widget-settings_with-basic-access-token],.zoom-instagram-widget .label-wrap input[type=radio]:checked+label[for=wpzoom-instagram-widget-settings_without-access-token]{background-color:#e0f0e3}.zoom-instagram-widget .label-wrap input[type=radio]:checked+label[for=wpzoom-instagram-widget-settings_with-access-token]{background-color:#fff6f6}.zoom-instagram-widget .wpzoom-instagram-widget-settings-request-type-wrapper{display:flex;flex-direction:column}.zoom-instagram-widget .wpzoom-instagram-widget-settings-request-type-wrapper .label-wrap{display:flex;align-items:center}.zoom-instagram-widget .wpzoom-instagram-widget-settings-request-type-wrapper .label-wrap input[type=radio]{z-index:2}.zoom-instagram-widget .wpzoom-instagram-widget-settings-request-type-wrapper .label-wrap label{padding:10px;width:100%;margin-right:-30px;padding-right:40px;z-index:1}.zoom-instagram-widget form h2{border-top:2px solid #eee;padding-top:40px}.zoom-instagram-widget .wpzoom-instagram-widget-with-token-group>td{padding-left:0px}.zoom-instagram-user-avatar-media-uploader .remove-avatar{margin:6px 20px;color:#a00}.zoom-instagram-user-avatar-media-uploader .file-wrapper{margin-top:10px}#wpzoom-instagram-widget-settings-user-info-biography{width:100%;min-height:100px}.wpz-insta-admin.post-php #wpbody-content{padding-bottom:0}.wpz-insta-admin.post-php #wpbody-content>.wrap #poststuff #post-body #post-body-content .wpz-insta_tabs-content .wpz-insta_sidebar .wpz-insta_sidebar-left .wpz-insta_sidebar-left-section,.wpz-insta-admin.post-php #wpbody-content>.wrap #poststuff #post-body #post-body-content .wpz-insta_tabs-content .wpz-insta_sidebar .wpz-insta_widget-preview .wpz-insta_widget-preview-view{max-height:60vh;min-height:200px}.wpz-insta-admin #wpfooter{position:relative}.wpz-insta-admin #wpbody-content{padding-bottom:165px}.wpz-insta-admin #wpbody-content>.notice{display:none !important}.wpz-insta-admin #wpbody-content .urgent{color:#ec2439}.wpz-insta-admin #wpbody-content .pro-only{position:absolute;top:0;left:0;line-height:1.5;color:#fff;background:#f57c00;padding:0 4px;border-radius:2px;transform:translate(-50%, -50%)}.wpz-insta-admin #wpbody-content>.wrap>h1.wp-heading-inline,.wpz-insta-admin #wpbody-content>.wrap>.page-title-action,.wpz-insta-admin #wpbody-content>.wrap>.wp-header-end,.wpz-insta-admin #wpbody-content>.wrap>.notice,.wpz-insta-admin #wpbody-content>.wrap>.wpz-insta_settings-header>.notice,.wpz-insta-admin #wpbody-content>.wrap>.wpz-insta-wrap~#posts-filter>.search-box,.wpz-insta-admin #wpbody-content>.wrap>.wpz-insta-wrap~#posts-filter>.tablenav,.wpz-insta-admin #wpbody-content>.wrap>.wpz-insta-wrap~#posts-filter>.wp-list-table>tfoot,.wpz-insta-admin #wpbody-content>.wrap #titlediv{display:none !important}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-notices .notice{display:block !important}.wpz-insta-admin #wpbody-content>.wrap input,.wpz-insta-admin #wpbody-content>.wrap textarea,.wpz-insta-admin #wpbody-content>.wrap select{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-weight:normal;color:#242628;border:1px solid #9ca2a7;border-radius:2px;box-shadow:none;transition:all .3s ease}.wpz-insta-admin #wpbody-content>.wrap input:hover,.wpz-insta-admin #wpbody-content>.wrap input:focus,.wpz-insta-admin #wpbody-content>.wrap textarea:hover,.wpz-insta-admin #wpbody-content>.wrap textarea:focus,.wpz-insta-admin #wpbody-content>.wrap select:hover,.wpz-insta-admin #wpbody-content>.wrap select:focus{color:#242628;border-color:#3496ff}.wpz-insta-admin #wpbody-content>.wrap input{color:#242628}.wpz-insta-admin #wpbody-content>.wrap input.wpz-insta_input{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif}.wpz-insta-admin #wpbody-content>.wrap input.wpz-insta_input-nobg{background:transparent}.wpz-insta-admin #wpbody-content>.wrap input[type=checkbox]{display:inline-flex;align-items:center;justify-content:center;color:#fff;background-color:#fff;height:1.25rem;width:1.25rem;border:none;border-radius:2px;box-shadow:inset 0 0 0 1px #81909c;transition:all .3s ease}.wpz-insta-admin #wpbody-content>.wrap input[type=checkbox]:hover{background-color:#ddd !important;box-shadow:inset 0 0 0 1px #81909c !important}.wpz-insta-admin #wpbody-content>.wrap input[type=checkbox]:hover:checked{background-color:#70b5fe !important;box-shadow:inset 0 0 0 1px transparent !important}.wpz-insta-admin #wpbody-content>.wrap input[type=checkbox]:focus{outline:none;box-shadow:inset 0 0 0 1px #81909c}.wpz-insta-admin #wpbody-content>.wrap input[type=checkbox]:focus:checked{box-shadow:inset 0 0 0 1px transparent}.wpz-insta-admin #wpbody-content>.wrap input[type=checkbox]::before{transition:all .3s ease}.wpz-insta-admin #wpbody-content>.wrap input[type=checkbox]:checked{background-color:#3496ff;box-shadow:inset 0 0 0 1px transparent}.wpz-insta-admin #wpbody-content>.wrap input[type=checkbox]:checked::before{content:url("data:image/svg+xml;utf8,%3Csvg%20width%3D%2214%22%20height%3D%2212%22%20viewBox%3D%220%200%2014%2012%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M12.779%201.00004L5.3618%2010.9753L1.06089%207.77735%22%20stroke%3D%22white%22%20stroke-width%3D%221.2%22%2F%3E%3C%2Fsvg%3E%0A");display:block;float:none;height:auto;width:auto;margin:0}.wpz-insta-admin #wpbody-content>.wrap .disabled,.wpz-insta-admin #wpbody-content>.wrap .disable{pointer-events:none}.wpz-insta-admin #wpbody-content>.wrap .disable{opacity:.5}.wpz-insta-admin #wpbody-content>.wrap .help{display:inline-block;cursor:help;font-size:20px;vertical-align:text-bottom;height:16px;width:16px;transition:all .2s ease;position:relative}.wpz-insta-admin #wpbody-content>.wrap .wide-text-field{padding:0;margin:0 0 2em}.wpz-insta-admin #wpbody-content>.wrap .wide-text-field label>strong{font-size:15px !important}.wpz-insta-admin #wpbody-content>.wrap .wide-text-field label>em{color:rgba(36,38,40,.8)}.wpz-insta-admin #wpbody-content>.wrap .wide-text-field input[type=text]{display:block;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-size:15px;font-weight:normal;line-height:40px;color:#242628;width:100%;min-height:40px;padding:0 10px;box-sizing:border-box;margin:.7em 0}.wpz-insta-admin #wpbody-content>.wrap .submit-button{padding:0;margin:0}.wpz-insta-admin #wpbody-content>.wrap .button.disabled{pointer-events:none !important}.wpz-insta-admin #wpbody-content>.wrap .button:not(.wp-color-result),.wpz-insta-admin #wpbody-content>.wrap .button-primary,.wpz-insta-admin #wpbody-content>.wrap .button-secondary{display:inline-flex;align-items:center;justify-content:center;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-size:13px;font-weight:600;line-height:35px;min-height:35px;padding:0 12px;border:0;border-radius:2px;transition:all .2s ease}.wpz-insta-admin #wpbody-content>.wrap .button:not(.wp-color-result).button-large,.wpz-insta-admin #wpbody-content>.wrap .button-primary.button-large,.wpz-insta-admin #wpbody-content>.wrap .button-secondary.button-large{min-height:48px;padding:0 40px;margin:0}.wpz-insta-admin #wpbody-content>.wrap .button.wp-color-result{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-size:13px}.wpz-insta-admin #wpbody-content>.wrap .button-primary{color:#fff;background:#3496ff}.wpz-insta-admin #wpbody-content>.wrap .button-primary:hover,.wpz-insta-admin #wpbody-content>.wrap .button-primary:active{color:#fff;background:#70b5fe}.wpz-insta-admin #wpbody-content>.wrap .button-primary.button-positive{color:#fff;background:#2b6}.wpz-insta-admin #wpbody-content>.wrap .button-primary.button-positive:hover,.wpz-insta-admin #wpbody-content>.wrap .button-primary.button-positive:active{background:#3bdb82}.wpz-insta-admin #wpbody-content>.wrap .button-primary.button-negative{color:#fff;background:#ec2439}.wpz-insta-admin #wpbody-content>.wrap .button-primary.button-negative:hover,.wpz-insta-admin #wpbody-content>.wrap .button-primary.button-negative:active{background:#f05161}.wpz-insta-admin #wpbody-content>.wrap .button-secondary{color:#81909c;background:#fff;box-shadow:inset 0 0 0 1px #ddd}.wpz-insta-admin #wpbody-content>.wrap .button-secondary:hover,.wpz-insta-admin #wpbody-content>.wrap .button-secondary:active{background:#ddd}.wpz-insta-admin #wpbody-content>.wrap .button-secondary.button-positive{color:#2b6;background:#fff;box-shadow:inset 0 0 0 1px #2b6}.wpz-insta-admin #wpbody-content>.wrap .button-secondary.button-positive:hover,.wpz-insta-admin #wpbody-content>.wrap .button-secondary.button-positive:active{color:#242628;background:#fff;box-shadow:inset 0 0 0 1px #242628}.wpz-insta-admin #wpbody-content>.wrap .button-secondary.button-negative{color:#ec2439;background:#fff;box-shadow:inset 0 0 0 1px #ec2439}.wpz-insta-admin #wpbody-content>.wrap .button-secondary.button-negative:hover,.wpz-insta-admin #wpbody-content>.wrap .button-secondary.button-negative:active{color:#242628;background:#fff;box-shadow:inset 0 0 0 1px #242628}.wpz-insta-admin #wpbody-content>.wrap .button-link{color:#3496ff;transition:all .2s ease}.wpz-insta-admin #wpbody-content>.wrap .button-link.wpz-insta_button-link{font-weight:normal;line-height:1;min-height:0;padding:0;margin:1.5em 0 0}.wpz-insta-admin #wpbody-content>.wrap .button-link.wpz-insta_button-link:hover,.wpz-insta-admin #wpbody-content>.wrap .button-link.wpz-insta_button-link:active,.wpz-insta-admin #wpbody-content>.wrap .button-link.wpz-insta_button-link:focus{color:#70b5fe;background:transparent}.wpz-insta-admin #wpbody-content>.wrap .button-link:hover,.wpz-insta-admin #wpbody-content>.wrap .button-link:active,.wpz-insta-admin #wpbody-content>.wrap .button-link:focus{color:#70b5fe}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_suffixed-number-input{display:flex;gap:12px}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_suffixed-number-input>*{margin:0}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_suffixed-number-input>*:first-child{flex-grow:1}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_profile-photo{display:block;height:100px;width:100px;border-radius:50%}.wpz-insta-admin #wpbody-content>.wrap a{text-decoration:none;color:#3496ff;transition:all .2s ease}.wpz-insta-admin #wpbody-content>.wrap a:hover,.wpz-insta-admin #wpbody-content>.wrap a:active,.wpz-insta-admin #wpbody-content>.wrap a:focus{text-decoration:none;color:#70b5fe}.wpz-insta-admin #wpbody-content>.wrap a.linked{border-bottom:1px solid rgba(52,150,255,.3)}.wpz-insta-admin #wpbody-content>.wrap a.linked:hover,.wpz-insta-admin #wpbody-content>.wrap a.linked:active,.wpz-insta-admin #wpbody-content>.wrap a.linked:focus{border-bottom-color:rgba(112,181,254,.3)}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_back-button{display:inline-flex;align-items:center;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-size:14px;font-weight:600;text-decoration:none;color:#242628;margin:10px 0 0;transition:all .2s ease}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_back-button:hover,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_back-button:active{color:#3496ff}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_back-button:hover svg,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_back-button:active svg{color:#3496ff;fill:#3496ff}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_back-button svg{color:#242628;fill:#242628;margin:0 0 0 6px;transition:all .2s ease}.wpz-insta-admin #wpbody-content>.wrap .wpzinsta-pointer{position:absolute;top:calc(100% + 3px);right:50%;z-index:1000;cursor:default;font-size:14px;color:#fff;background:#3496ff;width:-webkit-max-content;width:-moz-max-content;width:max-content;padding:4px 10px;border-radius:3px;box-shadow:-1px 1px 2px rgba(0,0,0,.3);transform:translateX(50%);-webkit-animation-name:bounceFade;animation-name:bounceFade;-webkit-animation-duration:1s;animation-duration:1s;-webkit-animation-fill-mode:both;animation-fill-mode:both}.wpz-insta-admin #wpbody-content>.wrap .wpzinsta-pointer>i{position:absolute;top:-10px;right:50%;pointer-events:none;height:10px;width:20px;transform:translateX(50%);overflow:hidden}.wpz-insta-admin #wpbody-content>.wrap .wpzinsta-pointer>i::before{content:"";position:absolute;right:50%;bottom:-4px;pointer-events:initial;background:#3496ff;height:8px;width:8px;box-shadow:0 0 2px rgba(0,0,0,.3);transform:translateX(50%) rotateZ(-45deg)}.wpz-insta-admin #wpbody-content>.wrap .fit-max-content{max-width:-webkit-max-content;max-width:-moz-max-content;max-width:max-content}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-add-new a,.wpz-insta-admin #wpbody-content>.wrap #wpz-insta_tabs-config-cnnct .wpz-insta_tabs-config-connect-add{position:relative}.wpz-insta-admin #wpbody-content>.wrap .wp-picker-container{display:inline-flex;position:relative}.wpz-insta-admin #wpbody-content>.wrap .wp-picker-container:not(:focus-within) .wp-picker-holder{pointer-events:none;opacity:0}.wpz-insta-admin #wpbody-content>.wrap .wp-picker-container .wp-color-result{position:absolute;top:50%;right:5px;pointer-events:none;height:20px;min-height:0;width:20px;padding:0;border-radius:4px;margin:0;transform:translateY(-50%)}.wpz-insta-admin #wpbody-content>.wrap .wp-picker-container .wp-color-result:active{transform:translateY(-50%) !important}.wpz-insta-admin #wpbody-content>.wrap .wp-picker-container .wp-color-result .wp-color-result-text{display:none}.wpz-insta-admin #wpbody-content>.wrap .wp-picker-container .wp-picker-input-wrap{display:block}.wpz-insta-admin #wpbody-content>.wrap .wp-picker-container .wp-picker-input-wrap input{line-height:2;width:auto;padding-right:30px}.wpz-insta-admin #wpbody-content>.wrap .wp-picker-container .wp-picker-input-wrap .wp-picker-clear{display:none}.wpz-insta-admin #wpbody-content>.wrap .wp-picker-container .wp-picker-holder{display:block;position:fixed;top:100%;right:0;z-index:999;transition:all .2s ease}.wpz-insta-admin #wpbody-content>.wrap .wp-picker-container .wp-picker-holder .iris-picker{display:block !important}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_two-columns{display:flex;align-items:center;list-style:none;padding:0;margin:1.5em 0 0}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_two-columns.wpz-insta_two-columns-left-small{align-items:flex-start;gap:30px;margin-top:0}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_two-columns.wpz-insta_two-columns-left-small>*{text-align:right !important}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_two-columns.wpz-insta_two-columns-left-small>*:first-child{flex-grow:0;width:auto}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_two-columns>*{flex-grow:1;list-style:none;width:100%;padding:0;margin:0}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_two-columns>*:first-child{text-align:right}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_two-columns>*:last-child{text-align:left}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_notice{display:flex;align-items:center;font-size:12px;padding:0;margin:1.5em 0 0 !important}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_notice::before{content:"";display:block;background-image:url("data:image/svg+xml,%3Csvg width='14' height='14' viewBox='0 0 14 14' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M6.3 3.5H7.7V4.9H6.3V3.5ZM6.3 6.3H7.7V10.5H6.3V6.3ZM7 0C3.136 0 0 3.136 0 7C0 10.864 3.136 14 7 14C10.864 14 14 10.864 14 7C14 3.136 10.864 0 7 0ZM7 12.6C3.913 12.6 1.4 10.087 1.4 7C1.4 3.913 3.913 1.4 7 1.4C10.087 1.4 12.6 3.913 12.6 7C12.6 10.087 10.087 12.6 7 12.6Z'/%3E%3C/svg%3E");height:14px;width:14px;margin:0 0 0 .8em}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_notice p{padding:0;margin:0}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-header{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;color:#242628;background:#fff;padding:15px 30px 0;border:1px solid #ddd;border-radius:3px;box-shadow:-1px 1px 2px rgba(0,0,0,.1);margin:3em 0}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-header #major-publishing-actions{background:transparent;padding:0 0 1em;border:0}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-header #major-publishing-actions #publishing-action{display:flex;align-items:center;gap:20px;float:none}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-header #major-publishing-actions #publishing-action .spinner{margin:0}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-header.wpz-insta-wrap-sides{display:flex;align-items:center;margin-top:1em}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-header.wpz-insta-wrap-sides .wpz-insta-wrap-left{flex-grow:1}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-header .wpz-insta_settings-main-title{font-size:24px;font-weight:600;line-height:29px;padding:0;margin:0}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-header .wpz-insta_settings-main-title small{font-size:14px;font-weight:normal;line-height:17px;color:#81909c}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-header .wpz-insta_settings-main-title small a{text-decoration:none;color:#81909c;transition:all .2s ease}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-header .wpz-insta_settings-main-title small a:hover,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-header .wpz-insta_settings-main-title small a:active{color:#3496ff}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-header .wpz-insta_settings-main-title .pro{color:#f57c00}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-header .wpz-insta_settings-main-title #title{position:relative;font-size:24px;font-weight:600;text-overflow:ellipsis;line-height:29px;background:transparent url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M3 17.2505V21.0005H6.75L17.81 9.94055L14.06 6.19055L3 17.2505ZM20.71 7.04055C21.1 6.65055 21.1 6.02055 20.71 5.63055L18.37 3.29055C17.98 2.90055 17.35 2.90055 16.96 3.29055L15.13 5.12055L18.88 8.87055L20.71 7.04055Z' fill='%2381909C'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:center left;min-width:100px;max-width:82%;padding:0 0 0 24px;border:0;outline:none;margin:0;overflow:hidden;box-shadow:0 0 0 1px transparent;transition:all .2s ease}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-header .wpz-insta_settings-main-title #title:hover,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-header .wpz-insta_settings-main-title #title:focus{box-shadow:0 0 0 1px #3496ff}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-header .wpz-insta_settings-sub-title{font-size:18px;font-weight:normal;line-height:22px;color:#242628;margin:16px 0}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-header .wpz-insta_settings-main-nav{font-size:18px;font-weight:normal;line-height:22px;padding:0;margin:0}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-header .wpz-insta_settings-main-nav ul{display:flex;list-style:none;gap:40px;padding:0;margin:0}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-header .wpz-insta_settings-main-nav ul li{position:relative;list-style:none;padding:0;margin:0;transition:all .2s ease}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-header .wpz-insta_settings-main-nav ul li.active a{cursor:default;pointer-events:none}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-header .wpz-insta_settings-main-nav ul li.active a::after{transform:translateY(0)}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-header .wpz-insta_settings-main-nav ul li a{display:block;position:relative;text-decoration:none;color:#242628;outline:none;padding:16px 0;box-shadow:none;overflow:hidden;transition:all .2s ease}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-header .wpz-insta_settings-main-nav ul li a:active,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-header .wpz-insta_settings-main-nav ul li a:focus{outline:none;box-shadow:none}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-header .wpz-insta_settings-main-nav ul li a:hover{color:#3496ff}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-header .wpz-insta_settings-main-nav ul li a::after{content:"";position:absolute;right:0;left:0;bottom:0;background:#3496ff;height:6px;border-radius:2px 2px 0 0;transform:translateY(100%);transition:all .2s ease}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap.with-bg{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-size:14px;color:#242628;background:#fff;padding:25px 30px;border:1px solid #ddd;border-radius:3px;box-shadow:-1px 1px 2px rgba(0,0,0,.1)}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap.with-bg *:not(h2):not(small){font-size:14px}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter{margin:2em 0 0}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;color:#242628;background:#fff;padding:15px 30px;border:1px solid #ddd;border-radius:3px;box-shadow:-1px 1px 2px rgba(0,0,0,.1)}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table thead th,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table thead td{border-bottom:1px solid #000}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table thead th.column-wpz-insta_account-photo,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table thead th.column-wpz-insta_account-bio,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table thead th.column-wpz-insta_account-token,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table thead td.column-wpz-insta_account-photo,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table thead td.column-wpz-insta_account-bio,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table thead td.column-wpz-insta_account-token{display:none}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table thead th{font-weight:600;padding-right:0;padding-left:0}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table thead th.column-wpz-insta_actions{text-align:left}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table thead th a{color:#000;padding:14px 0;transition:all .2s ease}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table thead th a:hover,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table thead th a:active{color:#3496ff}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody tr{display:table-row !important;position:relative;background:transparent}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody tr:first-child th,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody tr:first-child td,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody tr.inline-edit-row th,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody tr.inline-edit-row td{border-top:none}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody tr.inline-edit-row td{padding-top:0}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody th,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody td{vertical-align:middle;padding:20px 0;border-top:1px solid #ddd}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody th.column-wpz-insta_account-photo,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody th.column-wpz-insta_account-bio,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody th.column-wpz-insta_account-token,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody td.column-wpz-insta_account-photo,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody td.column-wpz-insta_account-bio,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody td.column-wpz-insta_account-token{display:none}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody th.check-column{padding:0}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody td>*{margin:0}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody td a:not(.button){color:#3496ff;transition:all .2s ease}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody td a:not(.button):hover,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody td a:not(.button):active{color:#000}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody td .row-actions{display:none}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody td .wpz-insta_quick-edit{overflow:hidden;-webkit-animation-name:slidedown;animation-name:slidedown;-webkit-animation-duration:1s;animation-duration:1s}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody td .wpz-insta_quick-edit .wpz-insta_quick-edit-columns{display:flex;list-style:none;padding:0;margin:0}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody td .wpz-insta_quick-edit .wpz-insta_quick-edit-columns>li{flex-grow:1;list-style:none;padding:0;margin:0}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody td .wpz-insta_quick-edit .wpz-insta_quick-edit-columns>li div{display:block;margin:0 0 10px}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody td .wpz-insta_quick-edit .wpz-insta_quick-edit-columns>li div:last-child{margin-bottom:0}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody td .wpz-insta_quick-edit .wpz-insta_quick-edit-columns>li strong:first-child,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody td .wpz-insta_quick-edit .wpz-insta_quick-edit-columns>li label>strong:first-child{display:inline-block;margin:0 0 5px}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody td .wpz-insta_quick-edit .wpz-insta_quick-edit-columns>li input:not(.widefat),.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody td .wpz-insta_quick-edit .wpz-insta_quick-edit-columns>li textarea{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;width:60%}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody td .inline-edit-save{position:absolute;top:-10px;left:0;padding:0;transform:translateY(-100%)}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody td .inline-edit-save .button{float:none}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody td .inline-edit-save .button.cancel{color:#3496ff;background:transparent;box-shadow:inset 0 0 0 1px #3496ff;margin:0 0 0 1em}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody td .inline-edit-save .button.cancel:hover,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody td .inline-edit-save .button.cancel:active,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody td .inline-edit-save .button.cancel:focus{color:#000;box-shadow:inset 0 0 0 1px #000}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody td .inline-edit-save .spinner{float:right}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody .column-title,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody .column-wpz-insta_account{width:50%}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody .column-wpz-insta_account a{color:#242628}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody .column-wpz-insta_account a:hover,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody .column-wpz-insta_account a:active{color:#3496ff}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody .column-wpz-insta_actions{text-align:left;width:5%}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody .column-wpz-insta_actions strong{position:relative;cursor:pointer;font-size:20px;font-weight:600;text-align:left;white-space:nowrap;transition:all .2s ease}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody .column-wpz-insta_actions strong:hover,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody .column-wpz-insta_actions strong:active{color:#3496ff}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody .wpz-insta_actions-menu{display:inline-block;position:relative;text-align:left}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody .wpz-insta_actions-menu:hover .wpz-insta_hidden{pointer-events:auto;opacity:1}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody .wpz-insta_actions-menu:hover strong{color:#3496ff}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody .wpz-insta_actions-menu:hover strong::after{content:"";position:absolute;right:-50px;left:0;bottom:-15px;height:25px}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody .wpz-insta_actions-menu .wpz-insta_hidden{position:absolute;left:0;bottom:-10px;z-index:999;pointer-events:none;text-align:right;background:#fff;min-width:200px;opacity:0;padding:0;border-radius:3px;margin:0;box-shadow:-1px 4px 8px rgba(0,0,0,.1);transform:translate(0%, 100%);transition:opacity .2s ease}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody .wpz-insta_actions-menu .wpz-insta_hidden li{white-space:nowrap;margin:0;transition:all .2s ease}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody .wpz-insta_actions-menu .wpz-insta_hidden li:first-child a,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody .wpz-insta_actions-menu .wpz-insta_hidden li:first-child button{padding-top:10px}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody .wpz-insta_actions-menu .wpz-insta_hidden li:last-child a,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody .wpz-insta_actions-menu .wpz-insta_hidden li:last-child button{padding-bottom:10px}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody .wpz-insta_actions-menu .wpz-insta_hidden li.wpz-insta_actions-menu_divider{pointer-events:none;background:#ddd;height:1px;padding:0;margin:5px 20px}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody .wpz-insta_actions-menu .wpz-insta_hidden li.wpz-insta_actions-menu_delete a:hover{color:#ec2439}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody .wpz-insta_actions-menu .wpz-insta_hidden li a,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody .wpz-insta_actions-menu .wpz-insta_hidden li button{display:block;white-space:nowrap;color:#242628;width:100%;padding:7px 20px;margin:0;box-sizing:border-box;transition:all .2s ease}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody .wpz-insta_actions-menu .wpz-insta_hidden li a:hover,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody .wpz-insta_actions-menu .wpz-insta_hidden li button:hover{color:#3496ff}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody .inline-edit-col-left,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody .inline-edit-col-right{display:none}.wpz-insta-admin #wpbody-content>.wrap #poststuff{padding:0;margin:0}.wpz-insta-admin #wpbody-content>.wrap #poststuff #post-body{margin:0}.wpz-insta-admin #wpbody-content>.wrap #poststuff #post-body #post-body-content{float:none;margin:0}.wpz-insta-admin #wpbody-content>.wrap #poststuff #post-body .postbox-container{display:none}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_tabs-content{display:grid}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_tabs-content *{pointer-events:inherit}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_tabs-content>*{grid-column:1;grid-row:1;align-self:start}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_tabs-content>*:not(.active){pointer-events:none;opacity:0}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_tabs-content>*:not(.active) *{pointer-events:none !important}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar{display:flex;gap:20px;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;color:#242628}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar.hide{pointer-events:none}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar:not(.show-pro) .wpz-insta_pro-only{display:none}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar input,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar textarea,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar select{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-size:14px}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar .wpz-insta_sidebar-left,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar .wpz-insta_sidebar-right{background:#fff;border:1px solid #ddd;border-radius:3px;box-shadow:-1px 1px 2px rgba(0,0,0,.1)}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar .wpz-insta_sidebar-left{display:grid;grid-template-rows:auto 1fr;flex-basis:28%}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar .wpz-insta_sidebar-left.is-pro .wpz-insta_sidebar-left-section{max-height:70vh !important}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar .wpz-insta_sidebar-left .wpz-insta_sidebar-left-section-head{display:flex;align-items:center;grid-column:1;grid-row:1;background:#fafafa;min-height:30px;padding:20px;border-bottom:1px solid #ddd}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar .wpz-insta_sidebar-left .wpz-insta_sidebar-left-section{grid-column:1;grid-row:2;align-self:start;transition:all .3s ease;overflow-x:hidden;overflow-y:auto}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar .wpz-insta_sidebar-left .wpz-insta_sidebar-left-section:not(.active){pointer-events:none;opacity:0}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar .wpz-insta_sidebar-right{flex-grow:1;position:relative}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar .wpz-insta_sidebar-right.is-loading{transition:all .3s ease}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar .wpz-insta_sidebar-right.is-loading.hide-loading::before{opacity:0}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar .wpz-insta_sidebar-right.is-loading::before{content:"";position:absolute;top:300px;right:50%;z-index:1;background-image:url("data:image/svg+xml,%3Csvg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' viewBox='0 0 50 50' xml:space='preserve'%3E%3Cpath fill='%233496ff' d='M43.935,25.145c0-10.318-8.364-18.683-18.683-18.683c-10.318,0-18.683,8.365-18.683,18.683h4.068c0-8.071,6.543-14.615,14.615-14.615c8.072,0,14.615,6.543,14.615,14.615H43.935z'%3E%3CanimateTransform attributeType='xml' attributeName='transform' type='rotate' from='0 25 25' to='360 25 25' dur='0.6s' repeatCount='indefinite'/%3E%3C/path%3E%3C/svg%3E");background-size:contain;height:64px;width:64px;opacity:1;transform:translateX(50%);transition:all .3s ease}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section-big-title{font-size:18px;font-weight:600;margin:30px 20px}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section{padding:30px 0 0;border-top:1px solid #ddd;margin:30px 20px 20px}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section:first-child,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section.no-top-border{padding-top:0;border-top:0;margin-top:20px}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_sidebar-section-title{font-size:18px;font-weight:600;margin:0 0 15px}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_sidebar-section-title.smaller-title{font-size:14px}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_sidebar-section-description{font-size:14px;font-weight:normal;margin:0 0 20px}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_sidebar-section-description:last-child{margin-bottom:0}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section p{font-size:14px}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section ul li,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section ol li{margin-bottom:1em}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_text-btn-aligned{display:flex;align-items:stretch;gap:15px;width:100%}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_text-btn-aligned>input{flex-grow:1;margin:0}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_shortcode,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_shortcode-copy-btn{display:flex;align-items:center;font-size:14px;line-height:2}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_shortcode{background:transparent;border:1px solid #ddd}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_shortcode-copy-btn{display:grid;text-align:center;color:#3496ff;background:transparent;border:1px solid #3496ff;box-shadow:none;transition:all .3s ease}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_shortcode-copy-btn:hover{color:#fff;background:#3496ff}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_shortcode-copy-btn.success{color:#fff;background:#2b6;border-color:#2b6}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_shortcode-copy-btn.success .wpz-insta_shortcode-copy-btn-text-normal{opacity:0}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_shortcode-copy-btn.success .wpz-insta_shortcode-copy-btn-text-success{opacity:1}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_shortcode-copy-btn .wpz-insta_shortcode-copy-btn-text-normal,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_shortcode-copy-btn .wpz-insta_shortcode-copy-btn-text-success{grid-column:1;grid-row:1;transition:all .3s ease}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_shortcode-copy-btn .wpz-insta_shortcode-copy-btn-text-normal{opacity:1}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_shortcode-copy-btn .wpz-insta_shortcode-copy-btn-text-success{opacity:0}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_feed-user-select.is-set .wpz-insta_feed-user-select-input .wpz-insta_feed-user-select-button-wrap .wpz-insta_feed-user-select-button-highlight{display:none}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_feed-user-select.is-set .wpz-insta_feed-user-select-input .wpz-insta_feed-user-select-button-wrap .wpz-insta_feed-user-select-button{pointer-events:none;opacity:0}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_feed-user-select.is-set .wpz-insta_feed-user-select-edit-link{display:inline-block}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_feed-user-select:not(.is-set) .wpz-insta_feed-user-select-input .wpz-insta_feed-user-select-info{pointer-events:none;opacity:0}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_feed-user-select .wpz-insta_feed-user-select-input{display:grid;background:#eee;border:1px solid #9ca2a7;border-radius:4px}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_feed-user-select .wpz-insta_feed-user-select-input .wpz-insta_feed-user-select-info{display:flex;align-items:center;justify-content:space-between;grid-column:1;grid-row:1;margin:15px;transition:all .3s ease}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_feed-user-select .wpz-insta_feed-user-select-input .wpz-insta_feed-user-select-info .wpz-insta_feed-user-select-info-left .wpz-insta_feed-user-select-info-name{font-size:14px;font-weight:600;padding:0;margin:0}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_feed-user-select .wpz-insta_feed-user-select-input .wpz-insta_feed-user-select-info .wpz-insta_feed-user-select-info-left .wpz-insta_feed-user-select-info-type{font-size:12px;color:#81909c;padding:0;margin:0}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_feed-user-select .wpz-insta_feed-user-select-input .wpz-insta_feed-user-select-info .wpz-insta_feed-user-remove-button{font-size:13px;font-weight:600;color:#3496ff;background:transparent;border:1px solid #3496ff;box-shadow:none}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_feed-user-select .wpz-insta_feed-user-select-input .wpz-insta_feed-user-select-info .wpz-insta_feed-user-remove-button:hover{color:#ec2439;border-color:#ec2439}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_feed-user-select .wpz-insta_feed-user-select-input .wpz-insta_feed-user-select-button-wrap{position:relative;display:flex;align-items:stretch;justify-content:stretch;grid-column:1;grid-row:1;pointer-events:none}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_feed-user-select .wpz-insta_feed-user-select-input .wpz-insta_feed-user-select-button-wrap .wpz-insta_feed-user-select-button-highlight{display:block;position:absolute;top:-2px;right:-2px;left:-2px;bottom:-2px;z-index:1;pointer-events:none;border:0;border-radius:6px;box-shadow:inset 0 0 1px 1px #3496ff,0 0 1px 1px #3496ff;transition:all .3s ease;-webkit-animation:highlighting .8s infinite;animation:highlighting .8s infinite}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_feed-user-select .wpz-insta_feed-user-select-input .wpz-insta_feed-user-select-button-wrap .wpz-insta_feed-user-select-button{display:flex;flex-grow:1;position:relative;z-index:2;pointer-events:all;font-size:14px;font-weight:600;color:#242628;background:#eee;opacity:1;border:0;border-radius:4px;box-shadow:none;transition:all .3s ease}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_feed-user-select .wpz-insta_feed-user-select-input .wpz-insta_feed-user-select-button-wrap .wpz-insta_feed-user-select-button:hover{color:#fff;background:#3496ff}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_feed-user-select .wpz-insta_feed-user-select-edit-link{display:none;margin:20px 0 0}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_feed-layout{display:flex;align-items:end;gap:10px;max-height:999em;margin:0 0 20px}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_feed-layout .wpz-insta_feed-layout-pro{display:flex;gap:15px;padding:10px;border-radius:4px;box-shadow:0 0 0 2px #f57c00;max-width:76%;box-sizing:border-box}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_feed-layout .wpz-insta_feed-layout-pro legend{font-size:13px;font-weight:600;color:#fff;background:#f57c00;padding:0 5px;margin:0 auto;border-radius:2px;box-shadow:none}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_feed-layout .wpz-insta_feed-layout-pro .wpz-insta_feed-layout-option{pointer-events:none;opacity:.75}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_feed-layout>.wpz-insta_feed-layout-option{margin-bottom:10px !important;max-width:21%}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_feed-layout .wpz-insta_feed-layout-option{display:block;background:transparent;padding:0;border:0;box-shadow:none;outline:none;margin:0;transition:all .3s ease}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_feed-layout .wpz-insta_feed-layout-option.disabled{pointer-events:none;opacity:.4}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_feed-layout .wpz-insta_feed-layout-option:hover svg{color:#9ca2a7;fill:#9ca2a7}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_feed-layout .wpz-insta_feed-layout-option input{display:none}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_feed-layout .wpz-insta_feed-layout-option svg{display:block;color:#81909c;fill:#81909c;max-width:100%;height:auto;transition:all .3s ease}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_feed-layout .wpz-insta_feed-layout-option input:checked~svg{color:#3496ff;fill:#3496ff}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_feed-layout-etc,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_feed-general,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_feed-profile-general,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_feed-load-more-general{font-size:14px}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_table{display:flex;flex-direction:column;gap:20px;width:100%}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_table .wpz-insta_table-row{display:flex;align-items:center;width:100%}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_table .wpz-insta_table-row.wpz-insta_table-row-full{flex-direction:column;align-items:stretch}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_table .wpz-insta_table-row.wpz-insta_table-row-full .wpz-insta_table-cell{width:100%}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_table .wpz-insta_table-row.hidden{display:none}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_table .wpz-insta_table-row .wpz-insta_table-cell{display:block;white-space:nowrap;line-height:30px;width:50%}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_table .wpz-insta_table-row .wpz-insta_table-cell input{margin:0}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_table .wpz-insta_table-row>input[type=checkbox]{margin:0 0 0 1em}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_show-on-hover{display:table-row}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_show-on-hover>strong{display:block;margin:0 0 20px}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_feed-only-pro{display:flex;flex-direction:column;gap:20px;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;padding:0}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_feed-only-pro.wpz-insta_pro-only-with-bottom{padding-bottom:10px;border-bottom:2px solid #f57c00}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_feed-only-pro.hidden{display:none}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_feed-only-pro legend{display:flex;width:100%;padding:0;border-bottom:2px solid #f57c00;margin:0 0 10px}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_feed-only-pro legend>strong{font-size:13px;color:#fff;background:#f57c00;padding:0 5px;border-top-right-radius:2px;border-top-left-radius:2px;box-shadow:none}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_feed-only-pro>label{opacity:.5}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section.wpz-insta_sidebar-section-token,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section.wpz-insta_sidebar-section-check-new,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section.wpz-insta_sidebar-section-request-timeout{max-height:0;opacity:0;overflow:hidden;padding-top:0;margin-top:0;margin-bottom:0;transition:all .3s ease}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section.wpz-insta_sidebar-section-token.active,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section.wpz-insta_sidebar-section-check-new.active,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section.wpz-insta_sidebar-section-request-timeout.active{max-height:999em;opacity:1;padding-top:30px;margin-top:30px;margin-bottom:20px;overflow:visible}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section.wpz-insta_sidebar-section-token #wpz-insta_user-token{display:block;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-size:14px;font-weight:normal;text-overflow:ellipsis;color:#242628;background:#fff;width:100%;padding:4px 8px;border:1px solid #ddd;border-radius:2px;box-shadow:none}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section.wpz-insta_sidebar-section-request-timeout>label>strong{font-size:14px}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section.wpz-insta_sidebar-section-load-more.wpz-insta_pro-only{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;padding-top:0;padding-bottom:20px;border-top:none;border-bottom:2px solid #f57c00;margin-top:0}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section.wpz-insta_sidebar-section-load-more.wpz-insta_pro-only .wpz-insta_sidebar-section-title,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section.wpz-insta_sidebar-section-load-more.wpz-insta_pro-only .wpz-insta_table>label{opacity:.5}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_widget-preview{position:relative;z-index:2;padding:0;margin:0}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_widget-preview .wpz-insta_widget-preview-header{display:flex;align-items:center;padding:0;border-bottom:1px solid #ddd;margin:0}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_widget-preview .wpz-insta_widget-preview-header .wpz-insta_widget-preview-header-title{flex-grow:1;font-size:14px;font-weight:600;text-align:center;padding:0;margin:0}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_widget-preview .wpz-insta_widget-preview-header .wpz-insta_widget-preview-header-links{display:flex;padding:0;margin:0;transition:all .3s ease}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_widget-preview .wpz-insta_widget-preview-header .wpz-insta_widget-preview-header-links.disabled{pointer-events:none;opacity:.3}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_widget-preview .wpz-insta_widget-preview-header .wpz-insta_widget-preview-header-links.disabled .wpz-insta_widget-preview-header-link.active{background:#ddd}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_widget-preview .wpz-insta_widget-preview-header .wpz-insta_widget-preview-header-links.disabled .wpz-insta_widget-preview-header-link.active svg{fill:#81909c}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_widget-preview .wpz-insta_widget-preview-header .wpz-insta_widget-preview-header-links .wpz-insta_widget-preview-header-link{display:flex;align-items:center;justify-content:center;cursor:pointer;background:#ddd;min-width:70px;min-height:70px;padding:0;margin:0;transition:all .3s ease}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_widget-preview .wpz-insta_widget-preview-header .wpz-insta_widget-preview-header-links .wpz-insta_widget-preview-header-link:hover{background:#eee}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_widget-preview .wpz-insta_widget-preview-header .wpz-insta_widget-preview-header-links .wpz-insta_widget-preview-header-link.active{cursor:default;color:#fff;background:#3496ff}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_widget-preview .wpz-insta_widget-preview-header .wpz-insta_widget-preview-header-links .wpz-insta_widget-preview-header-link.active svg{fill:#fff}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_widget-preview .wpz-insta_widget-preview-header .wpz-insta_widget-preview-header-links .wpz-insta_widget-preview-header-link svg{fill:#81909c;padding:0;margin:0;transition:all .3s ease}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_widget-preview .wpz-insta_widget-preview-view{display:flex;align-items:start;justify-content:center;padding:0;margin:0;overflow-x:hidden;overflow-y:auto;transition:all .3s ease}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_widget-preview .wpz-insta_widget-preview-view.wpz-insta_widget-preview-size-desktop .wpz-insta_widget-preview-view-inner{max-width:500px}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_widget-preview .wpz-insta_widget-preview-view.wpz-insta_widget-preview-size-tablet .wpz-insta_widget-preview-view-inner{max-width:768px}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_widget-preview .wpz-insta_widget-preview-view.wpz-insta_widget-preview-size-mobile .wpz-insta_widget-preview-view-inner{max-width:380px}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_widget-preview .wpz-insta_widget-preview-view.layout-fullwidth.wpz-insta_widget-preview-size-desktop .wpz-insta_widget-preview-view-inner{max-width:100%}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_widget-preview .wpz-insta_widget-preview-view .wpz-insta_widget-preview-view-inner{flex-grow:1;padding:0;transition:all .3s ease}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_widget-preview .wpz-insta_widget-preview-view .wpz-insta_widget-preview-view-inner iframe{display:block;height:400px;width:100%;visibility:visible;opacity:1;overflow:hidden;transition:all .3s ease}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_widget-preview .wpz-insta_widget-preview-view .wpz-insta_widget-preview-view-inner iframe.wpz-insta_preview-hidden{pointer-events:none;visibility:hidden;opacity:0}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_tabs-config-connect{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;color:#242628;background:#fff;padding:25px 30px;border:1px solid #ddd;border-radius:3px;box-shadow:-1px 1px 2px rgba(0,0,0,.1)}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_tabs-config-connect .wpz-insta_tabs-config-connect-title{font-size:24px;font-weight:600;padding:0;margin:0 0 10px}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_tabs-config-connect .wpz-insta_tabs-config-connect-description{padding:0;margin:0 0 20px}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_tabs-config-connect .wpz-insta_tabs-config-connect-accounts{display:grid;grid-template-columns:repeat(auto-fill, minmax(300px, 1fr));gap:30px;padding:0;margin:0}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_tabs-config-connect .wpz-insta_tabs-config-connect-accounts li{cursor:pointer;background:#eee;padding:15px;border:1px solid #9ca2a7;border-radius:4px;margin:0;transition:all .3s ease}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_tabs-config-connect .wpz-insta_tabs-config-connect-accounts li:hover{color:#fff;background:#3496ff;border-color:#0063cd}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_tabs-config-connect .wpz-insta_tabs-config-connect-accounts li:hover h3{color:#fff}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_tabs-config-connect .wpz-insta_tabs-config-connect-accounts li:hover p{color:rgba(255,255,255,.6)}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_tabs-config-connect .wpz-insta_tabs-config-connect-accounts li h3{font-size:14px;font-weight:600;padding:0;margin:0 0 5px;transition:all .3s ease}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_tabs-config-connect .wpz-insta_tabs-config-connect-accounts li p{font-size:12px;color:#81909c;padding:0;margin:0;transition:all .3s ease}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_tabs-config-connect hr{margin:30px 0}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_tabs-config-connect .wpz-insta_tabs-config-connect-subtitle{font-size:14px;font-weight:normal;padding:0;margin:0 0 20px}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-support,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-license{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;color:#242628}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-support .section-title,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-license .section-title{font-size:20px;font-weight:600;line-height:24px;margin:0 0 1em}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-support .section-title svg,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-license .section-title svg{vertical-align:text-bottom;margin:0 0 0 5px}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-support .section-description,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-license .section-description{padding:0;margin:0 0 2em}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-connect{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;color:#242628;background:#fff;padding:25px 30px;border:1px solid #ddd;border-radius:3px;box-shadow:-1px 1px 2px rgba(0,0,0,.1)}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-connect .section-title{font-size:24px;font-weight:600;line-height:29px;margin:0 0 16px}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-connect .section-description{font-size:14px;white-space:pre-wrap;margin:0 0 30px}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-connect .account-options{display:flex;flex-wrap:wrap;gap:30px;margin:0 0 30px}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-connect .account-options .account-option{display:flex;flex-direction:column;min-width:350px;padding:20px;border:1px solid #ddd;border-radius:3px}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-connect .account-options .account-option .account-option-title{font-size:16px;font-weight:600;line-height:19px;margin:0 0 16px}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-connect .account-options .account-option .account-option-checklist{font-size:14px;padding:0;margin:0 0 20px}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-connect .account-options .account-option .account-option-checklist li{line-height:18px;background:url("data:image/svg+xml,%3Csvg width='18' height='18' viewBox='0 0 18 18' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M9 0C4.03759 0 0 4.03759 0 9C0 13.9624 4.03759 18 9 18C13.9624 18 18 13.9624 18 9C18 4.03759 13.9624 0 9 0ZM14.0301 6.63158L8.2782 12.3383C7.93985 12.6767 7.3985 12.6992 7.03759 12.3609L3.99248 9.58647C3.63158 9.24812 3.60902 8.68421 3.92481 8.32331C4.26316 7.96241 4.82707 7.93985 5.18797 8.2782L7.6015 10.4887L12.7444 5.34586C13.1053 4.98496 13.6692 4.98496 14.0301 5.34586C14.391 5.70677 14.391 6.27068 14.0301 6.63158Z' fill='%2322BB66'/%3E%3C/svg%3E");background-position:100% 5px;background-repeat:no-repeat;min-height:18px;padding:5px 32px 5px 0;margin:0}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-connect .account-options .account-option .account-option-token-input{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-size:14px;line-height:17px;color:#242628;padding:10px;border:1px solid #ddd;box-shadow:none;transition:all .3s ease}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-connect .account-options .account-option .account-option-token-input:hover,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-connect .account-options .account-option .account-option-token-input:focus{border-color:#3496ff;box-shadow:none}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-connect .account-options .account-option .account-option-button{display:flex;cursor:pointer;align-items:center;justify-content:center;font-weight:600;line-height:1;color:#fff;background:#3496ff;background-position:center right;background-repeat:no-repeat;width:100%;padding:15px 40px;border:0;border-radius:2px;margin:auto 0 0;box-shadow:none;transition:all .3s ease}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-connect .account-options .account-option .account-option-button:hover,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-connect .account-options .account-option .account-option-button:focus{background-color:#70b5fe}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-connect .account-options .account-option .account-option-button.disabled{pointer-events:none;opacity:.5}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-connect .account-options .account-option .account-option-button svg{margin:0 0 0 16px}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-connect .section-notice{display:flex;align-items:center;font-size:13px;margin:0}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-connect .section-notice svg{margin:0 0 0 12px}.wpz-insta-admin .wpz-insta_settings-footer .wpz-insta_settings-footer-wrap{display:flex;align-items:center;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;color:#242628;background:#fff;padding:30px;border:1px solid #ddd;border-radius:3px;box-shadow:-1px 1px 2px rgba(0,0,0,.1);margin:20px 0}.wpz-insta-admin .wpz-insta_settings-footer .wpz-insta_settings-footer-wrap .wpz-insta_settings-footer-logo{padding:0;margin:0 0 0 30px}.wpz-insta-admin .wpz-insta_settings-footer .wpz-insta_settings-footer-wrap .wpz-insta_settings-footer-logo a{display:block;text-indent:-999em;background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAsUAAAB1CAYAAACmnpxEAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA3BpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQwIDc5LjE2MDQ1MSwgMjAxNy8wNS8wNi0wMTowODoyMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpGODdGMTE3NDA3MjA2ODExODIyQUJEN0ZFNTE5QkYyRSIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDoyMERERTJGNDlFNjgxMUU4ODM0NkExODhFNzlBMDMzQiIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDoyMERERTJGMzlFNjgxMUU4ODM0NkExODhFNzlBMDMzQiIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxNSAoTWFjaW50b3NoKSI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjEyMzc5NGVhLTBiZGYtNDQ3Zi05ODc1LTY1ZDk5NjhjZGVlNiIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpGODdGMTE3NDA3MjA2ODExODIyQUJEN0ZFNTE5QkYyRSIvPiA8L3Jk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");background-size:contain;background-repeat:no-repeat;height:16px;width:95px;overflow:hidden;transition:all .3s ease}.wpz-insta-admin .wpz-insta_settings-footer .wpz-insta_settings-footer-wrap .wpz-insta_settings-footer-logo a:hover,.wpz-insta-admin .wpz-insta_settings-footer .wpz-insta_settings-footer-wrap .wpz-insta_settings-footer-logo a:active{opacity:.5}.wpz-insta-admin .wpz-insta_settings-footer .wpz-insta_settings-footer-wrap .wpz-insta_settings-footer-links{display:flex;padding:0;margin:0}.wpz-insta-admin .wpz-insta_settings-footer .wpz-insta_settings-footer-wrap .wpz-insta_settings-footer-links li{padding:0;margin:0 0 0 30px}.wpz-insta-admin .wpz-insta_settings-footer .wpz-insta_settings-footer-wrap .wpz-insta_settings-footer-links li:last-child{margin-left:0}.wpz-insta-admin .wpz-insta_settings-footer .wpz-insta_settings-footer-wrap .wpz-insta_settings-footer-links li a{text-decoration:none;color:#000;transition:all .3s ease}.wpz-insta-admin .wpz-insta_settings-footer .wpz-insta_settings-footer-wrap .wpz-insta_settings-footer-links li a:hover,.wpz-insta-admin .wpz-insta_settings-footer .wpz-insta_settings-footer-wrap .wpz-insta_settings-footer-links li a:active{color:#3496ff}.wpz-insta-admin #wpz-insta_modal-dialog{display:flex;align-items:center;justify-content:center;position:fixed;top:0;right:0;left:0;bottom:0;z-index:999999999999;background:rgba(0,0,0,.4);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);transition:all .3s ease}.wpz-insta-admin #wpz-insta_modal-dialog:not(.open){pointer-events:none;opacity:0}.wpz-insta-admin #wpz-insta_modal-dialog.success .wpz-insta_modal-dialog_wrap .wpz-insta_modal-dialog_header .wpz-insta_modal-dialog_header-title::before{background-color:#2b6;background-image:url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8.75204 15.8749L4.60249 11.7049L3.18945 13.1149L8.75204 18.7049L20.6932 6.70492L19.2901 5.29492L8.75204 15.8749Z' fill='white'/%3E%3C/svg%3E")}.wpz-insta-admin #wpz-insta_modal-dialog.fail .wpz-insta_modal-dialog_wrap .wpz-insta_modal-dialog_header .wpz-insta_modal-dialog_header-title::before{background-color:#ec2439;background-image:url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M18.9069 6.41L17.5038 5L11.9412 10.59L6.37867 5L4.97559 6.41L10.5381 12L4.97559 17.59L6.37867 19L11.9412 13.41L17.5038 19L18.9069 17.59L13.3443 12L18.9069 6.41Z' fill='white'/%3E%3C/svg%3E")}.wpz-insta-admin #wpz-insta_modal-dialog.confirm .wpz-insta_modal-dialog_wrap .wpz-insta_modal-dialog_header .wpz-insta_modal-dialog_header-title::before{content:"?";display:flex;align-items:center;justify-content:center;font-size:24px;font-weight:700;color:#fff;background-color:#242628;background-image:none}.wpz-insta-admin #wpz-insta_modal-dialog .wpz-insta_modal-dialog_wrap{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-size:14px;line-height:20px;color:#242628;background:#fff;min-width:850px;padding:30px;border-radius:3px;box-shadow:0 5px 10px rgba(0,0,0,.3)}.wpz-insta-admin #wpz-insta_modal-dialog .wpz-insta_modal-dialog_wrap .wpz-insta_modal-dialog_header{display:flex;align-items:center;justify-content:space-between;padding:0 0 20px;border-bottom:1px solid #ddd;margin:0 0 30px}.wpz-insta-admin #wpz-insta_modal-dialog .wpz-insta_modal-dialog_wrap .wpz-insta_modal-dialog_header .wpz-insta_modal-dialog_header-title{display:flex;align-items:center;font-size:20px;font-weight:600;padding:0;margin:0}.wpz-insta-admin #wpz-insta_modal-dialog .wpz-insta_modal-dialog_wrap .wpz-insta_modal-dialog_header .wpz-insta_modal-dialog_header-title::before{content:"";display:block;background-color:#81909c;background-repeat:no-repeat;background-position:center;height:28px;width:28px;border-radius:50%;margin:0 0 0 15px}.wpz-insta-admin #wpz-insta_modal-dialog .wpz-insta_modal-dialog_wrap .wpz-insta_modal-dialog_header .wpz-insta_modal-dialog_header-button{cursor:pointer;text-indent:-999em;background-color:#9ca2a7;-webkit-mask:url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M18.9069 6.41L17.5038 5L11.9412 10.59L6.37867 5L4.97559 6.41L10.5381 12L4.97559 17.59L6.37867 19L11.9412 13.41L17.5038 19L18.9069 17.59L13.3443 12L18.9069 6.41Z'/%3E%3C/svg%3E") center no-repeat;mask:url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M18.9069 6.41L17.5038 5L11.9412 10.59L6.37867 5L4.97559 6.41L10.5381 12L4.97559 17.59L6.37867 19L11.9412 13.41L17.5038 19L18.9069 17.59L13.3443 12L18.9069 6.41Z'/%3E%3C/svg%3E") center no-repeat;height:24px;width:24px;padding:0;margin:0;overflow:hidden;transition:all .3s ease}.wpz-insta-admin #wpz-insta_modal-dialog .wpz-insta_modal-dialog_wrap .wpz-insta_modal-dialog_header .wpz-insta_modal-dialog_header-button:hover{background-color:#3496ff}.wpz-insta-admin #wpz-insta_modal-dialog .wpz-insta_modal-dialog_wrap .wpz-insta_modal-dialog_content{overflow:auto}.wpz-insta-admin #wpz-insta_modal-dialog .wpz-insta_modal-dialog_wrap .wpz-insta_modal-dialog_content .severe{color:#ec2439}.wpz-insta-admin #wpz-insta_modal-dialog .wpz-insta_modal-dialog_wrap .wpz-insta_modal-dialog_footer{display:flex;align-items:center;justify-content:end;gap:10px;padding:20px 0 0;border-top:1px solid #ddd;margin:30px 0 0}.wpz-insta-admin #wpz-insta_modal-dialog .wpz-insta_modal-dialog_wrap .wpz-insta_modal-dialog_footer .wpz-insta_modal-dialog_footer-button{color:#fff;background:#3496ff;padding-right:30px;padding-left:30px;transition:all .3s ease}.wpz-insta-admin #wpz-insta_modal-dialog .wpz-insta_modal-dialog_wrap .wpz-insta_modal-dialog_footer .wpz-insta_modal-dialog_footer-button:hover,.wpz-insta-admin #wpz-insta_modal-dialog .wpz-insta_modal-dialog_wrap .wpz-insta_modal-dialog_footer .wpz-insta_modal-dialog_footer-button:active{color:#fff;background:#70b5fe}.wpz-insta-admin #wpz-insta_modal-dialog .wpz-insta_modal-dialog_wrap .wpz-insta_modal-dialog_footer .wpz-insta_modal-dialog_footer-button.button-secondary{color:#3496ff;background:transparent;border-color:#3496ff}.wpz-insta-admin #wpz-insta_modal-dialog .wpz-insta_modal-dialog_wrap .wpz-insta_modal-dialog_footer .wpz-insta_modal-dialog_footer-button.button-secondary:hover,.wpz-insta-admin #wpz-insta_modal-dialog .wpz-insta_modal-dialog_wrap .wpz-insta_modal-dialog_footer .wpz-insta_modal-dialog_footer-button.button-secondary:active{color:#fff;background-color:#70b5fe}@-webkit-keyframes slidedown{from{max-height:0}to{max-height:100em}}@keyframes slidedown{from{max-height:0}to{max-height:100em}}@-webkit-keyframes highlighting{0%{transform:scale(1)}50%{transform:scale(1.03, 1.2)}100%{transform:scale(1)}}@keyframes highlighting{0%{transform:scale(1)}50%{transform:scale(1.03, 1.2)}100%{transform:scale(1)}}@-webkit-keyframes bounceFade{0%{opacity:0}0%,20%,50%,80%,100%{transform:translateX(50%) translateY(0)}20%{opacity:0}40%{transform:translateX(50%) translateY(-30px)}60%{transform:translateX(50%) translateY(-15px)}100%{opacity:1}}@keyframes bounceFade{0%{opacity:0}0%,20%,50%,80%,100%{transform:translateX(50%) translateY(0)}20%{opacity:0}40%{transform:translateX(50%) translateY(-30px)}60%{transform:translateX(50%) translateY(-15px)}100%{opacity:1}}[data-tooltip]{position:relative;z-index:2;cursor:pointer}[data-tooltip]:before,[data-tooltip]:after{visibility:hidden;opacity:0;pointer-events:none}[data-tooltip]:before{position:absolute;bottom:150%;right:50%;margin-bottom:5px;margin-right:-100px;padding:7px;width:200px;border-radius:3px;background-color:#000;background-color:rgba(51,51,51,.9);color:#fff;content:attr(data-tooltip);text-align:center;font-size:14px;line-height:1.2}[data-tooltip]:after{position:absolute;bottom:150%;right:50%;margin-right:-5px;width:0;border-top:5px solid #000;border-top:5px solid rgba(51,51,51,.9);border-left:5px solid transparent;border-right:5px solid transparent;content:" ";font-size:0;line-height:0}[data-tooltip]:hover:before,[data-tooltip]:hover:after{visibility:visible;opacity:1}
|
1 |
+
.zoom-instagram-widget .button-connect{color:#fff;border:1px solid #1c5380;border-radius:3px;background-color:#6f97b6;background-image:linear-gradient(to bottom, #6f97b6, #3f729b);background-position:50% 50%;box-shadow:0 1px 1px rgba(0,0,0,.1),inset -1px 0 0 rgba(255,255,255,.05),inset 1px 0 0 rgba(255,255,255,.05),inset 0 1px 0 rgba(255,255,255,.2);text-shadow:0 1px 1px #1c5380}.zoom-instagram-widget .button-connect:focus,.zoom-instagram-widget .button-connect:hover{border-color:#1c5380;color:#fff;background-image:linear-gradient(to bottom, #5D87A8, #3f729b)}.zoom-instagram-widget{background:#fff;padding:30px;border:1px solid #ddd;border-radius:3px;margin:30px 0 30px 10px !important;box-shadow:-1px 1px 2px rgba(0,0,0,.1);max-width:700px}.zoom-themes-link{border:1px solid #e2e9ec;padding:30px 30px 260px 30px;border-radius:3px;margin:30px 0 30px 0 !important;box-shadow:-1px 1px 2px rgba(0,0,0,.1);max-width:700px;text-align:center}.zoom-themes-link p{font-size:15px;line-height:1.6}.cta-button{text-align:center;text-decoration:none;color:#fff;background:#3ebd3e;padding:10px 15px;display:inline-block;border-radius:3px;box-shadow:0 -1px 1px rgba(0,0,0,.2) inset;border:1px solid #259425;font-size:16px;text-shadow:-1px 1px rgba(0,0,0,.3)}.cta-button:hover{background:#2a9b2a;color:#fff}#wpzoom-instagram-widget-settings_transient-lifetime-value{max-width:150px;float:right}#wpzoom-instagram-widget-settings_transient-lifetime-type{float:right;max-width:100px}.zoom-instagram-widget .wpzoom-instagram-widget-with-access-token-group{background-color:#fff6f6}.zoom-instagram-widget .wpzoom-instagram-widget-with-basic-access-token-group,.zoom-instagram-widget .wpzoom-instagram-widget-without-access-token-group{background-color:#e0f0e3}.zoom-instagram-widget .wpzoom-instagram-widget-with-basic-access-token-group th,.zoom-instagram-widget .wpzoom-instagram-widget-without-access-token-group th{padding-right:10px}.zoom-instagram-widget .label-wrap input[type=radio]:checked+label[for=wpzoom-instagram-widget-settings_with-basic-access-token],.zoom-instagram-widget .label-wrap input[type=radio]:checked+label[for=wpzoom-instagram-widget-settings_without-access-token]{background-color:#e0f0e3}.zoom-instagram-widget .label-wrap input[type=radio]:checked+label[for=wpzoom-instagram-widget-settings_with-access-token]{background-color:#fff6f6}.zoom-instagram-widget .wpzoom-instagram-widget-settings-request-type-wrapper{display:flex;flex-direction:column}.zoom-instagram-widget .wpzoom-instagram-widget-settings-request-type-wrapper .label-wrap{display:flex;align-items:center}.zoom-instagram-widget .wpzoom-instagram-widget-settings-request-type-wrapper .label-wrap input[type=radio]{z-index:2}.zoom-instagram-widget .wpzoom-instagram-widget-settings-request-type-wrapper .label-wrap label{padding:10px;width:100%;margin-right:-30px;padding-right:40px;z-index:1}.zoom-instagram-widget form h2{border-top:2px solid #eee;padding-top:40px}.zoom-instagram-widget .wpzoom-instagram-widget-with-token-group>td{padding-left:0px}.zoom-instagram-user-avatar-media-uploader .remove-avatar{margin:6px 20px;color:#a00}.zoom-instagram-user-avatar-media-uploader .file-wrapper{margin-top:10px}#wpzoom-instagram-widget-settings-user-info-biography{width:100%;min-height:100px}.wpz-insta-admin.post-php #wpbody-content{padding-bottom:0}.wpz-insta-admin.post-php #wpbody-content>.wrap #poststuff #post-body #post-body-content .wpz-insta_tabs-content .wpz-insta_sidebar .wpz-insta_sidebar-left .wpz-insta_sidebar-left-section,.wpz-insta-admin.post-php #wpbody-content>.wrap #poststuff #post-body #post-body-content .wpz-insta_tabs-content .wpz-insta_sidebar .wpz-insta_widget-preview .wpz-insta_widget-preview-view{max-height:60vh;min-height:200px}.wpz-insta-admin #wpfooter{position:relative}.wpz-insta-admin #wpbody-content{padding-bottom:165px}.wpz-insta-admin #wpbody-content .urgent{color:#ec2439}.wpz-insta-admin #wpbody-content .pro-only{position:absolute;top:0;left:0;line-height:1.5;color:#fff;background:#f57c00;padding:0 4px;border-radius:2px;transform:translate(-50%, -50%)}.wpz-insta-admin #wpbody-content>.wrap>h1.wp-heading-inline,.wpz-insta-admin #wpbody-content>.wrap>.page-title-action,.wpz-insta-admin #wpbody-content>.wrap>.wp-header-end,.wpz-insta-admin #wpbody-content>.wrap>.wpz-insta-wrap~#posts-filter>.search-box,.wpz-insta-admin #wpbody-content>.wrap>.wpz-insta-wrap~#posts-filter>.tablenav,.wpz-insta-admin #wpbody-content>.wrap>.wpz-insta-wrap~#posts-filter>.wp-list-table>tfoot,.wpz-insta-admin #wpbody-content>.wrap #titlediv{display:none !important}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-notices .notice{display:block !important}.wpz-insta-admin #wpbody-content>.wrap input,.wpz-insta-admin #wpbody-content>.wrap textarea,.wpz-insta-admin #wpbody-content>.wrap select{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-weight:normal;color:#242628;border:1px solid #9ca2a7;border-radius:2px;box-shadow:none;transition:all .3s ease}.wpz-insta-admin #wpbody-content>.wrap input:hover,.wpz-insta-admin #wpbody-content>.wrap input:focus,.wpz-insta-admin #wpbody-content>.wrap textarea:hover,.wpz-insta-admin #wpbody-content>.wrap textarea:focus,.wpz-insta-admin #wpbody-content>.wrap select:hover,.wpz-insta-admin #wpbody-content>.wrap select:focus{color:#242628;border-color:#3496ff}.wpz-insta-admin #wpbody-content>.wrap input{color:#242628}.wpz-insta-admin #wpbody-content>.wrap input.wpz-insta_input{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif}.wpz-insta-admin #wpbody-content>.wrap input.wpz-insta_input-nobg{background:transparent}.wpz-insta-admin #wpbody-content>.wrap input[type=checkbox]{display:inline-flex;align-items:center;justify-content:center;color:#fff;background-color:#fff;height:1.25rem;width:1.25rem;border:none;border-radius:2px;box-shadow:inset 0 0 0 1px #81909c;transition:all .3s ease}.wpz-insta-admin #wpbody-content>.wrap input[type=checkbox]:hover{background-color:#ddd !important;box-shadow:inset 0 0 0 1px #81909c !important}.wpz-insta-admin #wpbody-content>.wrap input[type=checkbox]:hover:checked{background-color:#70b5fe !important;box-shadow:inset 0 0 0 1px transparent !important}.wpz-insta-admin #wpbody-content>.wrap input[type=checkbox]:focus{outline:none;box-shadow:inset 0 0 0 1px #81909c}.wpz-insta-admin #wpbody-content>.wrap input[type=checkbox]:focus:checked{box-shadow:inset 0 0 0 1px transparent}.wpz-insta-admin #wpbody-content>.wrap input[type=checkbox]::before{transition:all .3s ease}.wpz-insta-admin #wpbody-content>.wrap input[type=checkbox]:checked{background-color:#3496ff;box-shadow:inset 0 0 0 1px transparent}.wpz-insta-admin #wpbody-content>.wrap input[type=checkbox]:checked::before{content:url("data:image/svg+xml;utf8,%3Csvg%20width%3D%2214%22%20height%3D%2212%22%20viewBox%3D%220%200%2014%2012%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M12.779%201.00004L5.3618%2010.9753L1.06089%207.77735%22%20stroke%3D%22white%22%20stroke-width%3D%221.2%22%2F%3E%3C%2Fsvg%3E%0A");display:block;float:none;height:auto;width:auto;margin:0}.wpz-insta-admin #wpbody-content>.wrap .disabled,.wpz-insta-admin #wpbody-content>.wrap .disable{pointer-events:none}.wpz-insta-admin #wpbody-content>.wrap .disable{opacity:.5}.wpz-insta-admin #wpbody-content>.wrap .help{display:inline-block;cursor:help;font-size:20px;vertical-align:text-bottom;height:16px;width:16px;transition:all .2s ease;position:relative}.wpz-insta-admin #wpbody-content>.wrap .wide-text-field{padding:0;margin:0 0 2em}.wpz-insta-admin #wpbody-content>.wrap .wide-text-field label>strong{font-size:15px !important}.wpz-insta-admin #wpbody-content>.wrap .wide-text-field label>em{color:rgba(36,38,40,.8)}.wpz-insta-admin #wpbody-content>.wrap .wide-text-field input[type=text]{display:block;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-size:15px;font-weight:normal;line-height:40px;color:#242628;width:100%;min-height:40px;padding:0 10px;box-sizing:border-box;margin:.7em 0}.wpz-insta-admin #wpbody-content>.wrap .submit-button{padding:0;margin:0}.wpz-insta-admin #wpbody-content>.wrap .button.disabled{pointer-events:none !important}.wpz-insta-admin #wpbody-content>.wrap .button:not(.wp-color-result),.wpz-insta-admin #wpbody-content>.wrap .button-primary,.wpz-insta-admin #wpbody-content>.wrap .button-secondary{display:inline-flex;align-items:center;justify-content:center;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-size:13px;font-weight:600;line-height:35px;min-height:35px;padding:0 12px;border:0;border-radius:2px;transition:all .2s ease}.wpz-insta-admin #wpbody-content>.wrap .button:not(.wp-color-result).button-large,.wpz-insta-admin #wpbody-content>.wrap .button-primary.button-large,.wpz-insta-admin #wpbody-content>.wrap .button-secondary.button-large{min-height:48px;padding:0 40px;margin:0}.wpz-insta-admin #wpbody-content>.wrap .button.wp-color-result{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-size:13px}.wpz-insta-admin #wpbody-content>.wrap .button-primary{color:#fff;background:#3496ff}.wpz-insta-admin #wpbody-content>.wrap .button-primary:hover,.wpz-insta-admin #wpbody-content>.wrap .button-primary:active{color:#fff;background:#70b5fe}.wpz-insta-admin #wpbody-content>.wrap .button-primary.button-positive{color:#fff;background:#2b6}.wpz-insta-admin #wpbody-content>.wrap .button-primary.button-positive:hover,.wpz-insta-admin #wpbody-content>.wrap .button-primary.button-positive:active{background:#3bdb82}.wpz-insta-admin #wpbody-content>.wrap .button-primary.button-negative{color:#fff;background:#ec2439}.wpz-insta-admin #wpbody-content>.wrap .button-primary.button-negative:hover,.wpz-insta-admin #wpbody-content>.wrap .button-primary.button-negative:active{background:#f05161}.wpz-insta-admin #wpbody-content>.wrap .button-secondary{color:#81909c;background:#fff;box-shadow:inset 0 0 0 1px #ddd}.wpz-insta-admin #wpbody-content>.wrap .button-secondary:hover,.wpz-insta-admin #wpbody-content>.wrap .button-secondary:active{background:#ddd}.wpz-insta-admin #wpbody-content>.wrap .button-secondary.button-positive{color:#2b6;background:#fff;box-shadow:inset 0 0 0 1px #2b6}.wpz-insta-admin #wpbody-content>.wrap .button-secondary.button-positive:hover,.wpz-insta-admin #wpbody-content>.wrap .button-secondary.button-positive:active{color:#242628;background:#fff;box-shadow:inset 0 0 0 1px #242628}.wpz-insta-admin #wpbody-content>.wrap .button-secondary.button-negative{color:#ec2439;background:#fff;box-shadow:inset 0 0 0 1px #ec2439}.wpz-insta-admin #wpbody-content>.wrap .button-secondary.button-negative:hover,.wpz-insta-admin #wpbody-content>.wrap .button-secondary.button-negative:active{color:#242628;background:#fff;box-shadow:inset 0 0 0 1px #242628}.wpz-insta-admin #wpbody-content>.wrap .button-link{color:#3496ff;transition:all .2s ease}.wpz-insta-admin #wpbody-content>.wrap .button-link.wpz-insta_button-link{font-weight:normal;line-height:1;min-height:0;padding:0;margin:1.5em 0 0}.wpz-insta-admin #wpbody-content>.wrap .button-link.wpz-insta_button-link:hover,.wpz-insta-admin #wpbody-content>.wrap .button-link.wpz-insta_button-link:active,.wpz-insta-admin #wpbody-content>.wrap .button-link.wpz-insta_button-link:focus{color:#70b5fe;background:transparent}.wpz-insta-admin #wpbody-content>.wrap .button-link:hover,.wpz-insta-admin #wpbody-content>.wrap .button-link:active,.wpz-insta-admin #wpbody-content>.wrap .button-link:focus{color:#70b5fe}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_suffixed-number-input{display:flex;gap:12px}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_suffixed-number-input>*{margin:0}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_suffixed-number-input>*:first-child{flex-grow:1}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_profile-photo{display:block;height:100px;width:100px;border-radius:50%}.wpz-insta-admin #wpbody-content>.wrap a{text-decoration:none;color:#3496ff;transition:all .2s ease}.wpz-insta-admin #wpbody-content>.wrap a:hover,.wpz-insta-admin #wpbody-content>.wrap a:active,.wpz-insta-admin #wpbody-content>.wrap a:focus{text-decoration:none;color:#70b5fe}.wpz-insta-admin #wpbody-content>.wrap a.linked{border-bottom:1px solid rgba(52,150,255,.3)}.wpz-insta-admin #wpbody-content>.wrap a.linked:hover,.wpz-insta-admin #wpbody-content>.wrap a.linked:active,.wpz-insta-admin #wpbody-content>.wrap a.linked:focus{border-bottom-color:rgba(112,181,254,.3)}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_back-button{display:inline-flex;align-items:center;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-size:14px;font-weight:600;text-decoration:none;color:#242628;margin:10px 0 0;transition:all .2s ease}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_back-button:hover,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_back-button:active{color:#3496ff}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_back-button:hover svg,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_back-button:active svg{color:#3496ff;fill:#3496ff}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_back-button svg{color:#242628;fill:#242628;margin:0 0 0 6px;transition:all .2s ease}.wpz-insta-admin #wpbody-content>.wrap .wpzinsta-pointer{position:absolute;top:calc(100% + 3px);right:50%;z-index:1000;cursor:default;font-size:14px;color:#fff;background:#3496ff;width:-webkit-max-content;width:-moz-max-content;width:max-content;padding:4px 10px;border-radius:3px;box-shadow:-1px 1px 2px rgba(0,0,0,.3);transform:translateX(50%);-webkit-animation-name:bounceFade;animation-name:bounceFade;-webkit-animation-duration:1s;animation-duration:1s;-webkit-animation-fill-mode:both;animation-fill-mode:both}.wpz-insta-admin #wpbody-content>.wrap .wpzinsta-pointer>i{position:absolute;top:-10px;right:50%;pointer-events:none;height:10px;width:20px;transform:translateX(50%);overflow:hidden}.wpz-insta-admin #wpbody-content>.wrap .wpzinsta-pointer>i::before{content:"";position:absolute;right:50%;bottom:-4px;pointer-events:initial;background:#3496ff;height:8px;width:8px;box-shadow:0 0 2px rgba(0,0,0,.3);transform:translateX(50%) rotateZ(-45deg)}.wpz-insta-admin #wpbody-content>.wrap .fit-max-content{max-width:-webkit-max-content;max-width:-moz-max-content;max-width:max-content}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-add-new a,.wpz-insta-admin #wpbody-content>.wrap #wpz-insta_tabs-config-cnnct .wpz-insta_tabs-config-connect-add{position:relative}.wpz-insta-admin #wpbody-content>.wrap .wp-picker-container{display:inline-flex;position:relative}.wpz-insta-admin #wpbody-content>.wrap .wp-picker-container:not(:focus-within) .wp-picker-holder{pointer-events:none;opacity:0}.wpz-insta-admin #wpbody-content>.wrap .wp-picker-container .wp-color-result{position:absolute;top:50%;right:5px;pointer-events:none;height:20px;min-height:0;width:20px;padding:0;border-radius:4px;margin:0;transform:translateY(-50%)}.wpz-insta-admin #wpbody-content>.wrap .wp-picker-container .wp-color-result:active{transform:translateY(-50%) !important}.wpz-insta-admin #wpbody-content>.wrap .wp-picker-container .wp-color-result .wp-color-result-text{display:none}.wpz-insta-admin #wpbody-content>.wrap .wp-picker-container .wp-picker-input-wrap{display:block}.wpz-insta-admin #wpbody-content>.wrap .wp-picker-container .wp-picker-input-wrap input{line-height:2;width:auto;padding-right:30px}.wpz-insta-admin #wpbody-content>.wrap .wp-picker-container .wp-picker-input-wrap .wp-picker-clear{display:none}.wpz-insta-admin #wpbody-content>.wrap .wp-picker-container .wp-picker-holder{display:block;position:fixed;top:100%;right:0;z-index:999;transition:all .2s ease}.wpz-insta-admin #wpbody-content>.wrap .wp-picker-container .wp-picker-holder .iris-picker{display:block !important}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_two-columns{display:flex;align-items:center;list-style:none;padding:0;margin:1.5em 0 0}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_two-columns.wpz-insta_two-columns-left-small{align-items:flex-start;gap:30px;margin-top:0}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_two-columns.wpz-insta_two-columns-left-small>*{text-align:right !important}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_two-columns.wpz-insta_two-columns-left-small>*:first-child{flex-grow:0;width:auto}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_two-columns>*{flex-grow:1;list-style:none;width:100%;padding:0;margin:0}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_two-columns>*:first-child{text-align:right}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_two-columns>*:last-child{text-align:left}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_notice{display:flex;align-items:center;font-size:12px;padding:0;margin:1.5em 0 0 !important}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_notice::before{content:"";display:block;background-image:url("data:image/svg+xml,%3Csvg width='14' height='14' viewBox='0 0 14 14' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M6.3 3.5H7.7V4.9H6.3V3.5ZM6.3 6.3H7.7V10.5H6.3V6.3ZM7 0C3.136 0 0 3.136 0 7C0 10.864 3.136 14 7 14C10.864 14 14 10.864 14 7C14 3.136 10.864 0 7 0ZM7 12.6C3.913 12.6 1.4 10.087 1.4 7C1.4 3.913 3.913 1.4 7 1.4C10.087 1.4 12.6 3.913 12.6 7C12.6 10.087 10.087 12.6 7 12.6Z'/%3E%3C/svg%3E");height:14px;width:14px;margin:0 0 0 .8em}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_notice p{padding:0;margin:0}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-header{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;color:#242628;background:#fff;padding:15px 30px 0;border:1px solid #ddd;border-radius:3px;box-shadow:-1px 1px 2px rgba(0,0,0,.1);margin:3em 0}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-header #major-publishing-actions{background:transparent;padding:0 0 1em;border:0}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-header #major-publishing-actions #publishing-action{display:flex;align-items:center;gap:20px;float:none}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-header #major-publishing-actions #publishing-action .spinner{margin:0}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-header.wpz-insta-wrap-sides{display:flex;align-items:center;margin-top:1em}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-header.wpz-insta-wrap-sides .wpz-insta-wrap-left{flex-grow:1}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-header .wpz-insta_settings-main-title{font-size:24px;font-weight:600;line-height:29px;padding:0;margin:0}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-header .wpz-insta_settings-main-title small{font-size:14px;font-weight:normal;line-height:17px;color:#81909c}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-header .wpz-insta_settings-main-title small a{text-decoration:none;color:#81909c;transition:all .2s ease}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-header .wpz-insta_settings-main-title small a:hover,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-header .wpz-insta_settings-main-title small a:active{color:#3496ff}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-header .wpz-insta_settings-main-title .pro{color:#f57c00}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-header .wpz-insta_settings-main-title #title{position:relative;font-size:24px;font-weight:600;text-overflow:ellipsis;line-height:29px;background:transparent url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M3 17.2505V21.0005H6.75L17.81 9.94055L14.06 6.19055L3 17.2505ZM20.71 7.04055C21.1 6.65055 21.1 6.02055 20.71 5.63055L18.37 3.29055C17.98 2.90055 17.35 2.90055 16.96 3.29055L15.13 5.12055L18.88 8.87055L20.71 7.04055Z' fill='%2381909C'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:center left;min-width:100px;max-width:82%;padding:0 0 0 24px;border:0;outline:none;margin:0;overflow:hidden;box-shadow:0 0 0 1px transparent;transition:all .2s ease}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-header .wpz-insta_settings-main-title #title:hover,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-header .wpz-insta_settings-main-title #title:focus{box-shadow:0 0 0 1px #3496ff}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-header .wpz-insta_settings-sub-title{font-size:18px;font-weight:normal;line-height:22px;color:#242628;margin:16px 0}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-header .wpz-insta_settings-main-nav{font-size:18px;font-weight:normal;line-height:22px;padding:0;margin:0}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-header .wpz-insta_settings-main-nav ul{display:flex;list-style:none;gap:40px;padding:0;margin:0}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-header .wpz-insta_settings-main-nav ul li{position:relative;list-style:none;padding:0;margin:0;transition:all .2s ease}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-header .wpz-insta_settings-main-nav ul li.active a{cursor:default;pointer-events:none}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-header .wpz-insta_settings-main-nav ul li.active a::after{transform:translateY(0)}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-header .wpz-insta_settings-main-nav ul li a{display:block;position:relative;text-decoration:none;color:#242628;outline:none;padding:16px 0;box-shadow:none;overflow:hidden;transition:all .2s ease}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-header .wpz-insta_settings-main-nav ul li a:active,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-header .wpz-insta_settings-main-nav ul li a:focus{outline:none;box-shadow:none}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-header .wpz-insta_settings-main-nav ul li a:hover{color:#3496ff}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-header .wpz-insta_settings-main-nav ul li a::after{content:"";position:absolute;right:0;left:0;bottom:0;background:#3496ff;height:6px;border-radius:2px 2px 0 0;transform:translateY(100%);transition:all .2s ease}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap.with-bg{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-size:14px;color:#242628;background:#fff;padding:25px 30px;border:1px solid #ddd;border-radius:3px;box-shadow:-1px 1px 2px rgba(0,0,0,.1)}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap.with-bg *:not(h2):not(small){font-size:14px}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter{margin:2em 0 0}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;color:#242628;background:#fff;padding:15px 30px;border:1px solid #ddd;border-radius:3px;box-shadow:-1px 1px 2px rgba(0,0,0,.1)}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table thead th,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table thead td{border-bottom:1px solid #000}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table thead th.column-wpz-insta_account-photo,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table thead th.column-wpz-insta_account-bio,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table thead th.column-wpz-insta_account-token,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table thead td.column-wpz-insta_account-photo,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table thead td.column-wpz-insta_account-bio,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table thead td.column-wpz-insta_account-token{display:none}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table thead th{font-weight:600;padding-right:0;padding-left:0}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table thead th.column-wpz-insta_actions{text-align:left}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table thead th a{color:#000;padding:14px 0;transition:all .2s ease}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table thead th a:hover,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table thead th a:active{color:#3496ff}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody tr{display:table-row !important;position:relative;background:transparent}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody tr:first-child th,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody tr:first-child td,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody tr.inline-edit-row th,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody tr.inline-edit-row td{border-top:none}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody tr.inline-edit-row td{padding-top:0}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody th,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody td{vertical-align:middle;padding:20px 0;border-top:1px solid #ddd}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody th.column-wpz-insta_account-photo,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody th.column-wpz-insta_account-bio,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody th.column-wpz-insta_account-token,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody td.column-wpz-insta_account-photo,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody td.column-wpz-insta_account-bio,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody td.column-wpz-insta_account-token{display:none}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody th.check-column{padding:0}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody td>*{margin:0}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody td a:not(.button){color:#3496ff;transition:all .2s ease}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody td a:not(.button):hover,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody td a:not(.button):active{color:#000}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody td .row-actions{display:none}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody td .wpz-insta_quick-edit{overflow:hidden;-webkit-animation-name:slidedown;animation-name:slidedown;-webkit-animation-duration:1s;animation-duration:1s}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody td .wpz-insta_quick-edit .wpz-insta_quick-edit-columns{display:flex;list-style:none;padding:0;margin:0}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody td .wpz-insta_quick-edit .wpz-insta_quick-edit-columns>li{flex-grow:1;list-style:none;padding:0;margin:0}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody td .wpz-insta_quick-edit .wpz-insta_quick-edit-columns>li div{display:block;margin:0 0 10px}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody td .wpz-insta_quick-edit .wpz-insta_quick-edit-columns>li div:last-child{margin-bottom:0}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody td .wpz-insta_quick-edit .wpz-insta_quick-edit-columns>li strong:first-child,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody td .wpz-insta_quick-edit .wpz-insta_quick-edit-columns>li label>strong:first-child{display:inline-block;margin:0 0 5px}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody td .wpz-insta_quick-edit .wpz-insta_quick-edit-columns>li input:not(.widefat),.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody td .wpz-insta_quick-edit .wpz-insta_quick-edit-columns>li textarea{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;width:60%}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody td .inline-edit-save{position:absolute;top:-10px;left:0;padding:0;transform:translateY(-100%)}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody td .inline-edit-save .button{float:none}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody td .inline-edit-save .button.cancel{color:#3496ff;background:transparent;box-shadow:inset 0 0 0 1px #3496ff;margin:0 0 0 1em}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody td .inline-edit-save .button.cancel:hover,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody td .inline-edit-save .button.cancel:active,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody td .inline-edit-save .button.cancel:focus{color:#000;box-shadow:inset 0 0 0 1px #000}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody td .inline-edit-save .spinner{float:right}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody .column-title,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody .column-wpz-insta_account{width:50%}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody .column-wpz-insta_account a{color:#242628}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody .column-wpz-insta_account a:hover,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody .column-wpz-insta_account a:active{color:#3496ff}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody .column-wpz-insta_actions{text-align:left;width:5%}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody .column-wpz-insta_actions strong{position:relative;cursor:pointer;font-size:20px;font-weight:600;text-align:left;white-space:nowrap;transition:all .2s ease}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody .column-wpz-insta_actions strong:hover,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody .column-wpz-insta_actions strong:active{color:#3496ff}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody .wpz-insta_actions-menu{display:inline-block;position:relative;text-align:left}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody .wpz-insta_actions-menu:hover .wpz-insta_hidden{pointer-events:auto;opacity:1}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody .wpz-insta_actions-menu:hover strong{color:#3496ff}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody .wpz-insta_actions-menu:hover strong::after{content:"";position:absolute;right:-50px;left:0;bottom:-15px;height:25px}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody .wpz-insta_actions-menu .wpz-insta_hidden{position:absolute;left:0;bottom:-10px;z-index:999;pointer-events:none;text-align:right;background:#fff;min-width:200px;opacity:0;padding:0;border-radius:3px;margin:0;box-shadow:-1px 4px 8px rgba(0,0,0,.1);transform:translate(0%, 100%);transition:opacity .2s ease}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody .wpz-insta_actions-menu .wpz-insta_hidden li{white-space:nowrap;margin:0;transition:all .2s ease}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody .wpz-insta_actions-menu .wpz-insta_hidden li:first-child a,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody .wpz-insta_actions-menu .wpz-insta_hidden li:first-child button{padding-top:10px}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody .wpz-insta_actions-menu .wpz-insta_hidden li:last-child a,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody .wpz-insta_actions-menu .wpz-insta_hidden li:last-child button{padding-bottom:10px}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody .wpz-insta_actions-menu .wpz-insta_hidden li.wpz-insta_actions-menu_divider{pointer-events:none;background:#ddd;height:1px;padding:0;margin:5px 20px}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody .wpz-insta_actions-menu .wpz-insta_hidden li.wpz-insta_actions-menu_delete a:hover{color:#ec2439}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody .wpz-insta_actions-menu .wpz-insta_hidden li a,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody .wpz-insta_actions-menu .wpz-insta_hidden li button{display:block;white-space:nowrap;color:#242628;width:100%;padding:7px 20px;margin:0;box-sizing:border-box;transition:all .2s ease}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody .wpz-insta_actions-menu .wpz-insta_hidden li a:hover,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody .wpz-insta_actions-menu .wpz-insta_hidden li button:hover{color:#3496ff}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody .inline-edit-col-left,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody .inline-edit-col-right{display:none}.wpz-insta-admin #wpbody-content>.wrap #poststuff{padding:0;margin:0}.wpz-insta-admin #wpbody-content>.wrap #poststuff #post-body{margin:0}.wpz-insta-admin #wpbody-content>.wrap #poststuff #post-body #post-body-content{float:none;margin:0}.wpz-insta-admin #wpbody-content>.wrap #poststuff #post-body .postbox-container{display:none}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_tabs-content{display:grid}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_tabs-content *{pointer-events:inherit}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_tabs-content>*{grid-column:1;grid-row:1;align-self:start}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_tabs-content>*:not(.active){pointer-events:none;opacity:0}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_tabs-content>*:not(.active) *{pointer-events:none !important}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar{display:flex;gap:20px;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;color:#242628}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar.hide{pointer-events:none}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar:not(.show-pro) .wpz-insta_pro-only{display:none}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar input,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar textarea,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar select{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-size:14px}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar .wpz-insta_sidebar-left,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar .wpz-insta_sidebar-right{background:#fff;border:1px solid #ddd;border-radius:3px;box-shadow:-1px 1px 2px rgba(0,0,0,.1)}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar .wpz-insta_sidebar-left{display:grid;grid-template-rows:auto 1fr;flex-basis:28%}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar .wpz-insta_sidebar-left.is-pro .wpz-insta_sidebar-left-section{max-height:70vh !important}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar .wpz-insta_sidebar-left .wpz-insta_sidebar-left-section-head{display:flex;align-items:center;grid-column:1;grid-row:1;background:#fafafa;min-height:30px;padding:20px;border-bottom:1px solid #ddd}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar .wpz-insta_sidebar-left .wpz-insta_sidebar-left-section{grid-column:1;grid-row:2;align-self:start;transition:all .3s ease;overflow-x:hidden;overflow-y:auto}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar .wpz-insta_sidebar-left .wpz-insta_sidebar-left-section:not(.active){pointer-events:none;opacity:0}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar .wpz-insta_sidebar-right{flex-grow:1;position:relative}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar .wpz-insta_sidebar-right.is-loading{transition:all .3s ease}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar .wpz-insta_sidebar-right.is-loading.hide-loading::before{opacity:0}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar .wpz-insta_sidebar-right.is-loading::before{content:"";position:absolute;top:300px;right:50%;z-index:1;background-image:url("data:image/svg+xml,%3Csvg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' viewBox='0 0 50 50' xml:space='preserve'%3E%3Cpath fill='%233496ff' d='M43.935,25.145c0-10.318-8.364-18.683-18.683-18.683c-10.318,0-18.683,8.365-18.683,18.683h4.068c0-8.071,6.543-14.615,14.615-14.615c8.072,0,14.615,6.543,14.615,14.615H43.935z'%3E%3CanimateTransform attributeType='xml' attributeName='transform' type='rotate' from='0 25 25' to='360 25 25' dur='0.6s' repeatCount='indefinite'/%3E%3C/path%3E%3C/svg%3E");background-size:contain;height:64px;width:64px;opacity:1;transform:translateX(50%);transition:all .3s ease}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section-big-title{font-size:18px;font-weight:600;margin:30px 20px}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section{padding:30px 0 0;border-top:1px solid #ddd;margin:30px 20px 20px}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section:first-child,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section.no-top-border{padding-top:0;border-top:0;margin-top:20px}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_sidebar-section-title{font-size:18px;font-weight:600;margin:0 0 15px}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_sidebar-section-title.smaller-title{font-size:14px}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_sidebar-section-description{font-size:14px;font-weight:normal;margin:0 0 20px}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_sidebar-section-description:last-child{margin-bottom:0}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section p{font-size:14px}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section ul li,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section ol li{margin-bottom:1em}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_text-btn-aligned{display:flex;align-items:stretch;gap:15px;width:100%}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_text-btn-aligned>input{flex-grow:1;margin:0}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_shortcode,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_shortcode-copy-btn{display:flex;align-items:center;font-size:14px;line-height:2}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_shortcode{background:transparent;border:1px solid #ddd}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_shortcode-copy-btn{display:grid;text-align:center;color:#3496ff;background:transparent;border:1px solid #3496ff;box-shadow:none;transition:all .3s ease}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_shortcode-copy-btn:hover{color:#fff;background:#3496ff}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_shortcode-copy-btn.success{color:#fff;background:#2b6;border-color:#2b6}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_shortcode-copy-btn.success .wpz-insta_shortcode-copy-btn-text-normal{opacity:0}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_shortcode-copy-btn.success .wpz-insta_shortcode-copy-btn-text-success{opacity:1}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_shortcode-copy-btn .wpz-insta_shortcode-copy-btn-text-normal,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_shortcode-copy-btn .wpz-insta_shortcode-copy-btn-text-success{grid-column:1;grid-row:1;transition:all .3s ease}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_shortcode-copy-btn .wpz-insta_shortcode-copy-btn-text-normal{opacity:1}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_shortcode-copy-btn .wpz-insta_shortcode-copy-btn-text-success{opacity:0}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_feed-user-select.is-set .wpz-insta_feed-user-select-input .wpz-insta_feed-user-select-button-wrap .wpz-insta_feed-user-select-button-highlight{display:none}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_feed-user-select.is-set .wpz-insta_feed-user-select-input .wpz-insta_feed-user-select-button-wrap .wpz-insta_feed-user-select-button{pointer-events:none;opacity:0}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_feed-user-select.is-set .wpz-insta_feed-user-select-edit-link{display:inline-block}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_feed-user-select:not(.is-set) .wpz-insta_feed-user-select-input .wpz-insta_feed-user-select-info{pointer-events:none;opacity:0}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_feed-user-select .wpz-insta_feed-user-select-input{display:grid;background:#eee;border:1px solid #9ca2a7;border-radius:4px}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_feed-user-select .wpz-insta_feed-user-select-input .wpz-insta_feed-user-select-info{display:flex;align-items:center;justify-content:space-between;grid-column:1;grid-row:1;margin:15px;transition:all .3s ease}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_feed-user-select .wpz-insta_feed-user-select-input .wpz-insta_feed-user-select-info .wpz-insta_feed-user-select-info-left .wpz-insta_feed-user-select-info-name{font-size:14px;font-weight:600;padding:0;margin:0}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_feed-user-select .wpz-insta_feed-user-select-input .wpz-insta_feed-user-select-info .wpz-insta_feed-user-select-info-left .wpz-insta_feed-user-select-info-type{font-size:12px;color:#81909c;padding:0;margin:0}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_feed-user-select .wpz-insta_feed-user-select-input .wpz-insta_feed-user-select-info .wpz-insta_feed-user-remove-button{font-size:13px;font-weight:600;color:#3496ff;background:transparent;border:1px solid #3496ff;box-shadow:none}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_feed-user-select .wpz-insta_feed-user-select-input .wpz-insta_feed-user-select-info .wpz-insta_feed-user-remove-button:hover{color:#ec2439;border-color:#ec2439}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_feed-user-select .wpz-insta_feed-user-select-input .wpz-insta_feed-user-select-button-wrap{position:relative;display:flex;align-items:stretch;justify-content:stretch;grid-column:1;grid-row:1;pointer-events:none}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_feed-user-select .wpz-insta_feed-user-select-input .wpz-insta_feed-user-select-button-wrap .wpz-insta_feed-user-select-button-highlight{display:block;position:absolute;top:-2px;right:-2px;left:-2px;bottom:-2px;z-index:1;pointer-events:none;border:0;border-radius:6px;box-shadow:inset 0 0 1px 1px #3496ff,0 0 1px 1px #3496ff;transition:all .3s ease;-webkit-animation:highlighting .8s infinite;animation:highlighting .8s infinite}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_feed-user-select .wpz-insta_feed-user-select-input .wpz-insta_feed-user-select-button-wrap .wpz-insta_feed-user-select-button{display:flex;flex-grow:1;position:relative;z-index:2;pointer-events:all;font-size:14px;font-weight:600;color:#242628;background:#eee;opacity:1;border:0;border-radius:4px;box-shadow:none;transition:all .3s ease}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_feed-user-select .wpz-insta_feed-user-select-input .wpz-insta_feed-user-select-button-wrap .wpz-insta_feed-user-select-button:hover{color:#fff;background:#3496ff}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_feed-user-select .wpz-insta_feed-user-select-edit-link{display:none;margin:20px 0 0}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_feed-layout{display:flex;align-items:end;gap:10px;max-height:999em;margin:0 0 20px}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_feed-layout .wpz-insta_feed-layout-pro{display:flex;gap:15px;padding:10px;border-radius:4px;box-shadow:0 0 0 2px #f57c00;max-width:76%;box-sizing:border-box}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_feed-layout .wpz-insta_feed-layout-pro legend{font-size:13px;font-weight:600;color:#fff;background:#f57c00;padding:0 5px;margin:0 auto;border-radius:2px;box-shadow:none}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_feed-layout .wpz-insta_feed-layout-pro .wpz-insta_feed-layout-option{pointer-events:none;opacity:.75}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_feed-layout>.wpz-insta_feed-layout-option{margin-bottom:10px !important;max-width:21%}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_feed-layout .wpz-insta_feed-layout-option{display:block;background:transparent;padding:0;border:0;box-shadow:none;outline:none;margin:0;transition:all .3s ease}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_feed-layout .wpz-insta_feed-layout-option.disabled{pointer-events:none;opacity:.4}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_feed-layout .wpz-insta_feed-layout-option:hover svg{color:#9ca2a7;fill:#9ca2a7}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_feed-layout .wpz-insta_feed-layout-option input{display:none}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_feed-layout .wpz-insta_feed-layout-option svg{display:block;color:#81909c;fill:#81909c;max-width:100%;height:auto;transition:all .3s ease}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_feed-layout .wpz-insta_feed-layout-option input:checked~svg{color:#3496ff;fill:#3496ff}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_feed-layout-etc,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_feed-general,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_feed-profile-general,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_feed-load-more-general{font-size:14px}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_table{display:flex;flex-direction:column;gap:20px;width:100%}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_table .wpz-insta_table-row{display:flex;align-items:center;width:100%}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_table .wpz-insta_table-row.wpz-insta_table-row-full{flex-direction:column;align-items:stretch}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_table .wpz-insta_table-row.wpz-insta_table-row-full .wpz-insta_table-cell{width:100%}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_table .wpz-insta_table-row.hidden{display:none}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_table .wpz-insta_table-row .wpz-insta_table-cell{display:block;white-space:nowrap;line-height:30px;width:50%}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_table .wpz-insta_table-row .wpz-insta_table-cell input{margin:0}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_table .wpz-insta_table-row>input[type=checkbox]{margin:0 0 0 1em}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_show-on-hover{display:table-row}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_show-on-hover>strong{display:block;margin:0 0 20px}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_feed-only-pro{display:flex;flex-direction:column;gap:20px;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;padding:0}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_feed-only-pro.wpz-insta_pro-only-with-bottom{padding-bottom:10px;border-bottom:2px solid #f57c00}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_feed-only-pro.hidden{display:none}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_feed-only-pro legend{display:flex;width:100%;padding:0;border-bottom:2px solid #f57c00;margin:0 0 10px}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_feed-only-pro legend>strong{font-size:13px;color:#fff;background:#f57c00;padding:0 5px;border-top-right-radius:2px;border-top-left-radius:2px;box-shadow:none}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_feed-only-pro>label{opacity:.5}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section.wpz-insta_sidebar-section-token,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section.wpz-insta_sidebar-section-check-new,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section.wpz-insta_sidebar-section-request-timeout{max-height:0;opacity:0;overflow:hidden;padding-top:0;margin-top:0;margin-bottom:0;transition:all .3s ease}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section.wpz-insta_sidebar-section-token.active,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section.wpz-insta_sidebar-section-check-new.active,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section.wpz-insta_sidebar-section-request-timeout.active{max-height:999em;opacity:1;padding-top:30px;margin-top:30px;margin-bottom:20px;overflow:visible}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section.wpz-insta_sidebar-section-token #wpz-insta_user-token{display:block;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-size:14px;font-weight:normal;text-overflow:ellipsis;color:#242628;background:#fff;width:100%;padding:4px 8px;border:1px solid #ddd;border-radius:2px;box-shadow:none}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section.wpz-insta_sidebar-section-request-timeout>label>strong{font-size:14px}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section.wpz-insta_sidebar-section-load-more.wpz-insta_pro-only{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;padding-top:0;padding-bottom:20px;border-top:none;border-bottom:2px solid #f57c00;margin-top:0}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section.wpz-insta_sidebar-section-load-more.wpz-insta_pro-only .wpz-insta_sidebar-section-title,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section.wpz-insta_sidebar-section-load-more.wpz-insta_pro-only .wpz-insta_table>label{opacity:.5}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_widget-preview{position:relative;z-index:2;padding:0;margin:0}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_widget-preview .wpz-insta_widget-preview-header{display:flex;align-items:center;padding:0;border-bottom:1px solid #ddd;margin:0}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_widget-preview .wpz-insta_widget-preview-header .wpz-insta_widget-preview-header-title{flex-grow:1;font-size:14px;font-weight:600;text-align:center;padding:0;margin:0}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_widget-preview .wpz-insta_widget-preview-header .wpz-insta_widget-preview-header-links{display:flex;padding:0;margin:0;transition:all .3s ease}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_widget-preview .wpz-insta_widget-preview-header .wpz-insta_widget-preview-header-links.disabled{pointer-events:none;opacity:.3}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_widget-preview .wpz-insta_widget-preview-header .wpz-insta_widget-preview-header-links.disabled .wpz-insta_widget-preview-header-link.active{background:#ddd}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_widget-preview .wpz-insta_widget-preview-header .wpz-insta_widget-preview-header-links.disabled .wpz-insta_widget-preview-header-link.active svg{fill:#81909c}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_widget-preview .wpz-insta_widget-preview-header .wpz-insta_widget-preview-header-links .wpz-insta_widget-preview-header-link{display:flex;align-items:center;justify-content:center;cursor:pointer;background:#ddd;min-width:70px;min-height:70px;padding:0;margin:0;transition:all .3s ease}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_widget-preview .wpz-insta_widget-preview-header .wpz-insta_widget-preview-header-links .wpz-insta_widget-preview-header-link:hover{background:#eee}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_widget-preview .wpz-insta_widget-preview-header .wpz-insta_widget-preview-header-links .wpz-insta_widget-preview-header-link.active{cursor:default;color:#fff;background:#3496ff}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_widget-preview .wpz-insta_widget-preview-header .wpz-insta_widget-preview-header-links .wpz-insta_widget-preview-header-link.active svg{fill:#fff}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_widget-preview .wpz-insta_widget-preview-header .wpz-insta_widget-preview-header-links .wpz-insta_widget-preview-header-link svg{fill:#81909c;padding:0;margin:0;transition:all .3s ease}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_widget-preview .wpz-insta_widget-preview-view{display:flex;align-items:start;justify-content:center;padding:0;margin:0;overflow-x:hidden;overflow-y:auto;transition:all .3s ease}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_widget-preview .wpz-insta_widget-preview-view.wpz-insta_widget-preview-size-desktop .wpz-insta_widget-preview-view-inner{max-width:500px}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_widget-preview .wpz-insta_widget-preview-view.wpz-insta_widget-preview-size-tablet .wpz-insta_widget-preview-view-inner{max-width:768px}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_widget-preview .wpz-insta_widget-preview-view.wpz-insta_widget-preview-size-mobile .wpz-insta_widget-preview-view-inner{max-width:380px}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_widget-preview .wpz-insta_widget-preview-view.layout-fullwidth.wpz-insta_widget-preview-size-desktop .wpz-insta_widget-preview-view-inner{max-width:100%}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_widget-preview .wpz-insta_widget-preview-view .wpz-insta_widget-preview-view-inner{flex-grow:1;padding:0;transition:all .3s ease}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_widget-preview .wpz-insta_widget-preview-view .wpz-insta_widget-preview-view-inner iframe{display:block;height:400px;width:100%;visibility:visible;opacity:1;overflow:hidden;transition:all .3s ease}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_widget-preview .wpz-insta_widget-preview-view .wpz-insta_widget-preview-view-inner iframe.wpz-insta_preview-hidden{pointer-events:none;visibility:hidden;opacity:0}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_tabs-config-connect{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;color:#242628;background:#fff;padding:25px 30px;border:1px solid #ddd;border-radius:3px;box-shadow:-1px 1px 2px rgba(0,0,0,.1)}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_tabs-config-connect .wpz-insta_tabs-config-connect-title{font-size:24px;font-weight:600;padding:0;margin:0 0 10px}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_tabs-config-connect .wpz-insta_tabs-config-connect-description{padding:0;margin:0 0 20px}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_tabs-config-connect .wpz-insta_tabs-config-connect-accounts{display:grid;grid-template-columns:repeat(auto-fill, minmax(300px, 1fr));gap:30px;padding:0;margin:0}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_tabs-config-connect .wpz-insta_tabs-config-connect-accounts li{cursor:pointer;background:#eee;padding:15px;border:1px solid #9ca2a7;border-radius:4px;margin:0;transition:all .3s ease}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_tabs-config-connect .wpz-insta_tabs-config-connect-accounts li:hover{color:#fff;background:#3496ff;border-color:#0063cd}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_tabs-config-connect .wpz-insta_tabs-config-connect-accounts li:hover h3{color:#fff}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_tabs-config-connect .wpz-insta_tabs-config-connect-accounts li:hover p{color:rgba(255,255,255,.6)}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_tabs-config-connect .wpz-insta_tabs-config-connect-accounts li h3{font-size:14px;font-weight:600;padding:0;margin:0 0 5px;transition:all .3s ease}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_tabs-config-connect .wpz-insta_tabs-config-connect-accounts li p{font-size:12px;color:#81909c;padding:0;margin:0;transition:all .3s ease}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_tabs-config-connect hr{margin:30px 0}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_tabs-config-connect .wpz-insta_tabs-config-connect-subtitle{font-size:14px;font-weight:normal;padding:0;margin:0 0 20px}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-support,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-license{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;color:#242628}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-support .section-title,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-license .section-title{font-size:20px;font-weight:600;line-height:24px;margin:0 0 1em}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-support .section-title svg,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-license .section-title svg{vertical-align:text-bottom;margin:0 0 0 5px}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-support .section-description,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-license .section-description{padding:0;margin:0 0 2em}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-connect{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;color:#242628;background:#fff;padding:25px 30px;border:1px solid #ddd;border-radius:3px;box-shadow:-1px 1px 2px rgba(0,0,0,.1)}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-connect .section-title{font-size:24px;font-weight:600;line-height:29px;margin:0 0 16px}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-connect .section-description{font-size:14px;white-space:pre-wrap;margin:0 0 30px}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-connect .account-options{display:flex;flex-wrap:wrap;gap:30px;margin:0 0 30px}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-connect .account-options .account-option{display:flex;flex-direction:column;min-width:350px;padding:20px;border:1px solid #ddd;border-radius:3px}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-connect .account-options .account-option .account-option-title{font-size:16px;font-weight:600;line-height:19px;margin:0 0 16px}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-connect .account-options .account-option .account-option-checklist{font-size:14px;padding:0;margin:0 0 20px}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-connect .account-options .account-option .account-option-checklist li{line-height:18px;background:url("data:image/svg+xml,%3Csvg width='18' height='18' viewBox='0 0 18 18' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M9 0C4.03759 0 0 4.03759 0 9C0 13.9624 4.03759 18 9 18C13.9624 18 18 13.9624 18 9C18 4.03759 13.9624 0 9 0ZM14.0301 6.63158L8.2782 12.3383C7.93985 12.6767 7.3985 12.6992 7.03759 12.3609L3.99248 9.58647C3.63158 9.24812 3.60902 8.68421 3.92481 8.32331C4.26316 7.96241 4.82707 7.93985 5.18797 8.2782L7.6015 10.4887L12.7444 5.34586C13.1053 4.98496 13.6692 4.98496 14.0301 5.34586C14.391 5.70677 14.391 6.27068 14.0301 6.63158Z' fill='%2322BB66'/%3E%3C/svg%3E");background-position:100% 5px;background-repeat:no-repeat;min-height:18px;padding:5px 32px 5px 0;margin:0}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-connect .account-options .account-option .account-option-token-input{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-size:14px;line-height:17px;color:#242628;padding:10px;border:1px solid #ddd;box-shadow:none;transition:all .3s ease}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-connect .account-options .account-option .account-option-token-input:hover,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-connect .account-options .account-option .account-option-token-input:focus{border-color:#3496ff;box-shadow:none}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-connect .account-options .account-option .account-option-button{display:flex;cursor:pointer;align-items:center;justify-content:center;font-weight:600;line-height:1;color:#fff;background:#3496ff;background-position:center right;background-repeat:no-repeat;width:100%;padding:15px 40px;border:0;border-radius:2px;margin:auto 0 0;box-shadow:none;transition:all .3s ease}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-connect .account-options .account-option .account-option-button:hover,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-connect .account-options .account-option .account-option-button:focus{background-color:#70b5fe}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-connect .account-options .account-option .account-option-button.disabled{pointer-events:none;opacity:.5}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-connect .account-options .account-option .account-option-button svg{margin:0 0 0 16px}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-connect .section-notice{display:flex;align-items:center;font-size:13px;margin:0}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-connect .section-notice svg{margin:0 0 0 12px}.wpz-insta-admin .wpz-insta_settings-footer .wpz-insta_settings-footer-wrap{display:flex;align-items:center;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;color:#242628;background:#fff;padding:30px;border:1px solid #ddd;border-radius:3px;box-shadow:-1px 1px 2px rgba(0,0,0,.1);margin:20px 0}.wpz-insta-admin .wpz-insta_settings-footer .wpz-insta_settings-footer-wrap .wpz-insta_settings-footer-logo{padding:0;margin:0 0 0 30px}.wpz-insta-admin .wpz-insta_settings-footer .wpz-insta_settings-footer-wrap .wpz-insta_settings-footer-logo a{display:block;text-indent:-999em;background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAsUAAAB1CAYAAACmnpxEAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA3BpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQwIDc5LjE2MDQ1MSwgMjAxNy8wNS8wNi0wMTowODoyMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpGODdGMTE3NDA3MjA2ODExODIyQUJEN0ZFNTE5QkYyRSIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDoyMERERTJGNDlFNjgxMUU4ODM0NkExODhFNzlBMDMzQiIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDoyMERERTJGMzlFNjgxMUU4ODM0NkExODhFNzlBMDMzQiIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxNSAoTWFjaW50b3NoKSI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjEyMzc5NGVhLTBiZGYtNDQ3Zi05ODc1LTY1ZDk5NjhjZGVlNiIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpGODdGMTE3NDA3MjA2ODExODIyQUJEN0ZFNTE5QkYyRSIvPiA8L3Jk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");background-size:contain;background-repeat:no-repeat;height:16px;width:95px;overflow:hidden;transition:all .3s ease}.wpz-insta-admin .wpz-insta_settings-footer .wpz-insta_settings-footer-wrap .wpz-insta_settings-footer-logo a:hover,.wpz-insta-admin .wpz-insta_settings-footer .wpz-insta_settings-footer-wrap .wpz-insta_settings-footer-logo a:active{opacity:.5}.wpz-insta-admin .wpz-insta_settings-footer .wpz-insta_settings-footer-wrap .wpz-insta_settings-footer-links{display:flex;padding:0;margin:0}.wpz-insta-admin .wpz-insta_settings-footer .wpz-insta_settings-footer-wrap .wpz-insta_settings-footer-links li{padding:0;margin:0 0 0 30px}.wpz-insta-admin .wpz-insta_settings-footer .wpz-insta_settings-footer-wrap .wpz-insta_settings-footer-links li:last-child{margin-left:0}.wpz-insta-admin .wpz-insta_settings-footer .wpz-insta_settings-footer-wrap .wpz-insta_settings-footer-links li a{text-decoration:none;color:#000;transition:all .3s ease}.wpz-insta-admin .wpz-insta_settings-footer .wpz-insta_settings-footer-wrap .wpz-insta_settings-footer-links li a:hover,.wpz-insta-admin .wpz-insta_settings-footer .wpz-insta_settings-footer-wrap .wpz-insta_settings-footer-links li a:active{color:#3496ff}.wpz-insta-admin #wpz-insta_modal-dialog{display:flex;align-items:center;justify-content:center;position:fixed;top:0;right:0;left:0;bottom:0;z-index:999999999999;background:rgba(0,0,0,.4);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);transition:all .3s ease}.wpz-insta-admin #wpz-insta_modal-dialog:not(.open){pointer-events:none;opacity:0}.wpz-insta-admin #wpz-insta_modal-dialog.success .wpz-insta_modal-dialog_wrap .wpz-insta_modal-dialog_header .wpz-insta_modal-dialog_header-title::before{background-color:#2b6;background-image:url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8.75204 15.8749L4.60249 11.7049L3.18945 13.1149L8.75204 18.7049L20.6932 6.70492L19.2901 5.29492L8.75204 15.8749Z' fill='white'/%3E%3C/svg%3E")}.wpz-insta-admin #wpz-insta_modal-dialog.fail .wpz-insta_modal-dialog_wrap .wpz-insta_modal-dialog_header .wpz-insta_modal-dialog_header-title::before{background-color:#ec2439;background-image:url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M18.9069 6.41L17.5038 5L11.9412 10.59L6.37867 5L4.97559 6.41L10.5381 12L4.97559 17.59L6.37867 19L11.9412 13.41L17.5038 19L18.9069 17.59L13.3443 12L18.9069 6.41Z' fill='white'/%3E%3C/svg%3E")}.wpz-insta-admin #wpz-insta_modal-dialog.confirm .wpz-insta_modal-dialog_wrap .wpz-insta_modal-dialog_header .wpz-insta_modal-dialog_header-title::before{content:"?";display:flex;align-items:center;justify-content:center;font-size:24px;font-weight:700;color:#fff;background-color:#242628;background-image:none}.wpz-insta-admin #wpz-insta_modal-dialog .wpz-insta_modal-dialog_wrap{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-size:14px;line-height:20px;color:#242628;background:#fff;min-width:850px;padding:30px;border-radius:3px;box-shadow:0 5px 10px rgba(0,0,0,.3)}.wpz-insta-admin #wpz-insta_modal-dialog .wpz-insta_modal-dialog_wrap .wpz-insta_modal-dialog_header{display:flex;align-items:center;justify-content:space-between;padding:0 0 20px;border-bottom:1px solid #ddd;margin:0 0 30px}.wpz-insta-admin #wpz-insta_modal-dialog .wpz-insta_modal-dialog_wrap .wpz-insta_modal-dialog_header .wpz-insta_modal-dialog_header-title{display:flex;align-items:center;font-size:20px;font-weight:600;padding:0;margin:0}.wpz-insta-admin #wpz-insta_modal-dialog .wpz-insta_modal-dialog_wrap .wpz-insta_modal-dialog_header .wpz-insta_modal-dialog_header-title::before{content:"";display:block;background-color:#81909c;background-repeat:no-repeat;background-position:center;height:28px;width:28px;border-radius:50%;margin:0 0 0 15px}.wpz-insta-admin #wpz-insta_modal-dialog .wpz-insta_modal-dialog_wrap .wpz-insta_modal-dialog_header .wpz-insta_modal-dialog_header-button{cursor:pointer;text-indent:-999em;background-color:#9ca2a7;-webkit-mask:url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M18.9069 6.41L17.5038 5L11.9412 10.59L6.37867 5L4.97559 6.41L10.5381 12L4.97559 17.59L6.37867 19L11.9412 13.41L17.5038 19L18.9069 17.59L13.3443 12L18.9069 6.41Z'/%3E%3C/svg%3E") center no-repeat;mask:url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M18.9069 6.41L17.5038 5L11.9412 10.59L6.37867 5L4.97559 6.41L10.5381 12L4.97559 17.59L6.37867 19L11.9412 13.41L17.5038 19L18.9069 17.59L13.3443 12L18.9069 6.41Z'/%3E%3C/svg%3E") center no-repeat;height:24px;width:24px;padding:0;margin:0;overflow:hidden;transition:all .3s ease}.wpz-insta-admin #wpz-insta_modal-dialog .wpz-insta_modal-dialog_wrap .wpz-insta_modal-dialog_header .wpz-insta_modal-dialog_header-button:hover{background-color:#3496ff}.wpz-insta-admin #wpz-insta_modal-dialog .wpz-insta_modal-dialog_wrap .wpz-insta_modal-dialog_content{overflow:auto}.wpz-insta-admin #wpz-insta_modal-dialog .wpz-insta_modal-dialog_wrap .wpz-insta_modal-dialog_content .severe{color:#ec2439}.wpz-insta-admin #wpz-insta_modal-dialog .wpz-insta_modal-dialog_wrap .wpz-insta_modal-dialog_footer{display:flex;align-items:center;justify-content:end;gap:10px;padding:20px 0 0;border-top:1px solid #ddd;margin:30px 0 0}.wpz-insta-admin #wpz-insta_modal-dialog .wpz-insta_modal-dialog_wrap .wpz-insta_modal-dialog_footer .wpz-insta_modal-dialog_footer-button{color:#fff;background:#3496ff;padding-right:30px;padding-left:30px;transition:all .3s ease}.wpz-insta-admin #wpz-insta_modal-dialog .wpz-insta_modal-dialog_wrap .wpz-insta_modal-dialog_footer .wpz-insta_modal-dialog_footer-button:hover,.wpz-insta-admin #wpz-insta_modal-dialog .wpz-insta_modal-dialog_wrap .wpz-insta_modal-dialog_footer .wpz-insta_modal-dialog_footer-button:active{color:#fff;background:#70b5fe}.wpz-insta-admin #wpz-insta_modal-dialog .wpz-insta_modal-dialog_wrap .wpz-insta_modal-dialog_footer .wpz-insta_modal-dialog_footer-button.button-secondary{color:#3496ff;background:transparent;border-color:#3496ff}.wpz-insta-admin #wpz-insta_modal-dialog .wpz-insta_modal-dialog_wrap .wpz-insta_modal-dialog_footer .wpz-insta_modal-dialog_footer-button.button-secondary:hover,.wpz-insta-admin #wpz-insta_modal-dialog .wpz-insta_modal-dialog_wrap .wpz-insta_modal-dialog_footer .wpz-insta_modal-dialog_footer-button.button-secondary:active{color:#fff;background-color:#70b5fe}@-webkit-keyframes slidedown{from{max-height:0}to{max-height:100em}}@keyframes slidedown{from{max-height:0}to{max-height:100em}}@-webkit-keyframes highlighting{0%{transform:scale(1)}50%{transform:scale(1.03, 1.2)}100%{transform:scale(1)}}@keyframes highlighting{0%{transform:scale(1)}50%{transform:scale(1.03, 1.2)}100%{transform:scale(1)}}@-webkit-keyframes bounceFade{0%{opacity:0}0%,20%,50%,80%,100%{transform:translateX(50%) translateY(0)}20%{opacity:0}40%{transform:translateX(50%) translateY(-30px)}60%{transform:translateX(50%) translateY(-15px)}100%{opacity:1}}@keyframes bounceFade{0%{opacity:0}0%,20%,50%,80%,100%{transform:translateX(50%) translateY(0)}20%{opacity:0}40%{transform:translateX(50%) translateY(-30px)}60%{transform:translateX(50%) translateY(-15px)}100%{opacity:1}}[data-tooltip]{position:relative;z-index:2;cursor:pointer}[data-tooltip]:before,[data-tooltip]:after{visibility:hidden;opacity:0;pointer-events:none}[data-tooltip]:before{position:absolute;bottom:150%;right:50%;margin-bottom:5px;margin-right:-100px;padding:7px;width:200px;border-radius:3px;background-color:#000;background-color:rgba(51,51,51,.9);color:#fff;content:attr(data-tooltip);text-align:center;font-size:14px;line-height:1.2}[data-tooltip]:after{position:absolute;bottom:150%;right:50%;margin-right:-5px;width:0;border-top:5px solid #000;border-top:5px solid rgba(51,51,51,.9);border-left:5px solid transparent;border-right:5px solid transparent;content:" ";font-size:0;line-height:0}[data-tooltip]:hover:before,[data-tooltip]:hover:after{visibility:visible;opacity:1}
|
dist/styles/backend/index.asset.php
CHANGED
@@ -1 +1 @@
|
|
1 |
-
<?php return array('dependencies' => array('wp-polyfill'), 'version' => '
|
1 |
+
<?php return array('dependencies' => array('wp-polyfill'), 'version' => '088b48a702f891a28fb6bb0837e30177');
|
dist/styles/backend/index.css
CHANGED
@@ -1 +1 @@
|
|
1 |
-
.zoom-instagram-widget .button-connect{color:#fff;border:1px solid #1c5380;border-radius:3px;background-color:#6f97b6;background-image:linear-gradient(to bottom, #6f97b6, #3f729b);background-position:50% 50%;box-shadow:0 1px 1px rgba(0,0,0,.1),inset 1px 0 0 rgba(255,255,255,.05),inset -1px 0 0 rgba(255,255,255,.05),inset 0 1px 0 rgba(255,255,255,.2);text-shadow:0 1px 1px #1c5380}.zoom-instagram-widget .button-connect:focus,.zoom-instagram-widget .button-connect:hover{border-color:#1c5380;color:#fff;background-image:linear-gradient(to bottom, #5D87A8, #3f729b)}.zoom-instagram-widget{background:#fff;padding:30px;border:1px solid #ddd;border-radius:3px;margin:30px 10px 30px 0 !important;box-shadow:1px 1px 2px rgba(0,0,0,.1);max-width:700px}.zoom-themes-link{border:1px solid #e2e9ec;padding:30px 30px 260px 30px;border-radius:3px;margin:30px 0 30px 0 !important;box-shadow:1px 1px 2px rgba(0,0,0,.1);max-width:700px;text-align:center}.zoom-themes-link p{font-size:15px;line-height:1.6}.cta-button{text-align:center;text-decoration:none;color:#fff;background:#3ebd3e;padding:10px 15px;display:inline-block;border-radius:3px;box-shadow:0 -1px 1px rgba(0,0,0,.2) inset;border:1px solid #259425;font-size:16px;text-shadow:1px 1px rgba(0,0,0,.3)}.cta-button:hover{background:#2a9b2a;color:#fff}#wpzoom-instagram-widget-settings_transient-lifetime-value{max-width:150px;float:left}#wpzoom-instagram-widget-settings_transient-lifetime-type{float:left;max-width:100px}.zoom-instagram-widget .wpzoom-instagram-widget-with-access-token-group{background-color:#fff6f6}.zoom-instagram-widget .wpzoom-instagram-widget-with-basic-access-token-group,.zoom-instagram-widget .wpzoom-instagram-widget-without-access-token-group{background-color:#e0f0e3}.zoom-instagram-widget .wpzoom-instagram-widget-with-basic-access-token-group th,.zoom-instagram-widget .wpzoom-instagram-widget-without-access-token-group th{padding-left:10px}.zoom-instagram-widget .label-wrap input[type=radio]:checked+label[for=wpzoom-instagram-widget-settings_with-basic-access-token],.zoom-instagram-widget .label-wrap input[type=radio]:checked+label[for=wpzoom-instagram-widget-settings_without-access-token]{background-color:#e0f0e3}.zoom-instagram-widget .label-wrap input[type=radio]:checked+label[for=wpzoom-instagram-widget-settings_with-access-token]{background-color:#fff6f6}.zoom-instagram-widget .wpzoom-instagram-widget-settings-request-type-wrapper{display:flex;flex-direction:column}.zoom-instagram-widget .wpzoom-instagram-widget-settings-request-type-wrapper .label-wrap{display:flex;align-items:center}.zoom-instagram-widget .wpzoom-instagram-widget-settings-request-type-wrapper .label-wrap input[type=radio]{z-index:2}.zoom-instagram-widget .wpzoom-instagram-widget-settings-request-type-wrapper .label-wrap label{padding:10px;width:100%;margin-left:-30px;padding-left:40px;z-index:1}.zoom-instagram-widget form h2{border-top:2px solid #eee;padding-top:40px}.zoom-instagram-widget .wpzoom-instagram-widget-with-token-group>td{padding-right:0px}.zoom-instagram-user-avatar-media-uploader .remove-avatar{margin:6px 20px;color:#a00}.zoom-instagram-user-avatar-media-uploader .file-wrapper{margin-top:10px}#wpzoom-instagram-widget-settings-user-info-biography{width:100%;min-height:100px}.wpz-insta-admin.post-php #wpbody-content{padding-bottom:0}.wpz-insta-admin.post-php #wpbody-content>.wrap #poststuff #post-body #post-body-content .wpz-insta_tabs-content .wpz-insta_sidebar .wpz-insta_sidebar-left .wpz-insta_sidebar-left-section,.wpz-insta-admin.post-php #wpbody-content>.wrap #poststuff #post-body #post-body-content .wpz-insta_tabs-content .wpz-insta_sidebar .wpz-insta_widget-preview .wpz-insta_widget-preview-view{max-height:60vh;min-height:200px}.wpz-insta-admin #wpfooter{position:relative}.wpz-insta-admin #wpbody-content{padding-bottom:165px}.wpz-insta-admin #wpbody-content>.notice{display:none !important}.wpz-insta-admin #wpbody-content .urgent{color:#ec2439}.wpz-insta-admin #wpbody-content .pro-only{position:absolute;top:0;right:0;line-height:1.5;color:#fff;background:#f57c00;padding:0 4px;border-radius:2px;transform:translate(50%, -50%)}.wpz-insta-admin #wpbody-content>.wrap>h1.wp-heading-inline,.wpz-insta-admin #wpbody-content>.wrap>.page-title-action,.wpz-insta-admin #wpbody-content>.wrap>.wp-header-end,.wpz-insta-admin #wpbody-content>.wrap>.notice,.wpz-insta-admin #wpbody-content>.wrap>.wpz-insta_settings-header>.notice,.wpz-insta-admin #wpbody-content>.wrap>.wpz-insta-wrap~#posts-filter>.search-box,.wpz-insta-admin #wpbody-content>.wrap>.wpz-insta-wrap~#posts-filter>.tablenav,.wpz-insta-admin #wpbody-content>.wrap>.wpz-insta-wrap~#posts-filter>.wp-list-table>tfoot,.wpz-insta-admin #wpbody-content>.wrap #titlediv{display:none !important}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-notices .notice{display:block !important}.wpz-insta-admin #wpbody-content>.wrap input,.wpz-insta-admin #wpbody-content>.wrap textarea,.wpz-insta-admin #wpbody-content>.wrap select{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-weight:normal;color:#242628;border:1px solid #9ca2a7;border-radius:2px;box-shadow:none;transition:all .3s ease}.wpz-insta-admin #wpbody-content>.wrap input:hover,.wpz-insta-admin #wpbody-content>.wrap input:focus,.wpz-insta-admin #wpbody-content>.wrap textarea:hover,.wpz-insta-admin #wpbody-content>.wrap textarea:focus,.wpz-insta-admin #wpbody-content>.wrap select:hover,.wpz-insta-admin #wpbody-content>.wrap select:focus{color:#242628;border-color:#3496ff}.wpz-insta-admin #wpbody-content>.wrap input{color:#242628}.wpz-insta-admin #wpbody-content>.wrap input.wpz-insta_input{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif}.wpz-insta-admin #wpbody-content>.wrap input.wpz-insta_input-nobg{background:transparent}.wpz-insta-admin #wpbody-content>.wrap input[type=checkbox]{display:inline-flex;align-items:center;justify-content:center;color:#fff;background-color:#fff;height:1.25rem;width:1.25rem;border:none;border-radius:2px;box-shadow:inset 0 0 0 1px #81909c;transition:all .3s ease}.wpz-insta-admin #wpbody-content>.wrap input[type=checkbox]:hover{background-color:#ddd !important;box-shadow:inset 0 0 0 1px #81909c !important}.wpz-insta-admin #wpbody-content>.wrap input[type=checkbox]:hover:checked{background-color:#70b5fe !important;box-shadow:inset 0 0 0 1px transparent !important}.wpz-insta-admin #wpbody-content>.wrap input[type=checkbox]:focus{outline:none;box-shadow:inset 0 0 0 1px #81909c}.wpz-insta-admin #wpbody-content>.wrap input[type=checkbox]:focus:checked{box-shadow:inset 0 0 0 1px transparent}.wpz-insta-admin #wpbody-content>.wrap input[type=checkbox]::before{transition:all .3s ease}.wpz-insta-admin #wpbody-content>.wrap input[type=checkbox]:checked{background-color:#3496ff;box-shadow:inset 0 0 0 1px transparent}.wpz-insta-admin #wpbody-content>.wrap input[type=checkbox]:checked::before{content:url("data:image/svg+xml;utf8,%3Csvg%20width%3D%2214%22%20height%3D%2212%22%20viewBox%3D%220%200%2014%2012%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M12.779%201.00004L5.3618%2010.9753L1.06089%207.77735%22%20stroke%3D%22white%22%20stroke-width%3D%221.2%22%2F%3E%3C%2Fsvg%3E%0A");display:block;float:none;height:auto;width:auto;margin:0}.wpz-insta-admin #wpbody-content>.wrap .disabled,.wpz-insta-admin #wpbody-content>.wrap .disable{pointer-events:none}.wpz-insta-admin #wpbody-content>.wrap .disable{opacity:.5}.wpz-insta-admin #wpbody-content>.wrap .help{display:inline-block;cursor:help;font-size:20px;vertical-align:text-bottom;height:16px;width:16px;transition:all .2s ease;position:relative}.wpz-insta-admin #wpbody-content>.wrap .wide-text-field{padding:0;margin:0 0 2em}.wpz-insta-admin #wpbody-content>.wrap .wide-text-field label>strong{font-size:15px !important}.wpz-insta-admin #wpbody-content>.wrap .wide-text-field label>em{color:rgba(36,38,40,.8)}.wpz-insta-admin #wpbody-content>.wrap .wide-text-field input[type=text]{display:block;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-size:15px;font-weight:normal;line-height:40px;color:#242628;width:100%;min-height:40px;padding:0 10px;box-sizing:border-box;margin:.7em 0}.wpz-insta-admin #wpbody-content>.wrap .submit-button{padding:0;margin:0}.wpz-insta-admin #wpbody-content>.wrap .button.disabled{pointer-events:none !important}.wpz-insta-admin #wpbody-content>.wrap .button:not(.wp-color-result),.wpz-insta-admin #wpbody-content>.wrap .button-primary,.wpz-insta-admin #wpbody-content>.wrap .button-secondary{display:inline-flex;align-items:center;justify-content:center;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-size:13px;font-weight:600;line-height:35px;min-height:35px;padding:0 12px;border:0;border-radius:2px;transition:all .2s ease}.wpz-insta-admin #wpbody-content>.wrap .button:not(.wp-color-result).button-large,.wpz-insta-admin #wpbody-content>.wrap .button-primary.button-large,.wpz-insta-admin #wpbody-content>.wrap .button-secondary.button-large{min-height:48px;padding:0 40px;margin:0}.wpz-insta-admin #wpbody-content>.wrap .button.wp-color-result{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-size:13px}.wpz-insta-admin #wpbody-content>.wrap .button-primary{color:#fff;background:#3496ff}.wpz-insta-admin #wpbody-content>.wrap .button-primary:hover,.wpz-insta-admin #wpbody-content>.wrap .button-primary:active{color:#fff;background:#70b5fe}.wpz-insta-admin #wpbody-content>.wrap .button-primary.button-positive{color:#fff;background:#2b6}.wpz-insta-admin #wpbody-content>.wrap .button-primary.button-positive:hover,.wpz-insta-admin #wpbody-content>.wrap .button-primary.button-positive:active{background:#3bdb82}.wpz-insta-admin #wpbody-content>.wrap .button-primary.button-negative{color:#fff;background:#ec2439}.wpz-insta-admin #wpbody-content>.wrap .button-primary.button-negative:hover,.wpz-insta-admin #wpbody-content>.wrap .button-primary.button-negative:active{background:#f05161}.wpz-insta-admin #wpbody-content>.wrap .button-secondary{color:#81909c;background:#fff;box-shadow:inset 0 0 0 1px #ddd}.wpz-insta-admin #wpbody-content>.wrap .button-secondary:hover,.wpz-insta-admin #wpbody-content>.wrap .button-secondary:active{background:#ddd}.wpz-insta-admin #wpbody-content>.wrap .button-secondary.button-positive{color:#2b6;background:#fff;box-shadow:inset 0 0 0 1px #2b6}.wpz-insta-admin #wpbody-content>.wrap .button-secondary.button-positive:hover,.wpz-insta-admin #wpbody-content>.wrap .button-secondary.button-positive:active{color:#242628;background:#fff;box-shadow:inset 0 0 0 1px #242628}.wpz-insta-admin #wpbody-content>.wrap .button-secondary.button-negative{color:#ec2439;background:#fff;box-shadow:inset 0 0 0 1px #ec2439}.wpz-insta-admin #wpbody-content>.wrap .button-secondary.button-negative:hover,.wpz-insta-admin #wpbody-content>.wrap .button-secondary.button-negative:active{color:#242628;background:#fff;box-shadow:inset 0 0 0 1px #242628}.wpz-insta-admin #wpbody-content>.wrap .button-link{color:#3496ff;transition:all .2s ease}.wpz-insta-admin #wpbody-content>.wrap .button-link.wpz-insta_button-link{font-weight:normal;line-height:1;min-height:0;padding:0;margin:1.5em 0 0}.wpz-insta-admin #wpbody-content>.wrap .button-link.wpz-insta_button-link:hover,.wpz-insta-admin #wpbody-content>.wrap .button-link.wpz-insta_button-link:active,.wpz-insta-admin #wpbody-content>.wrap .button-link.wpz-insta_button-link:focus{color:#70b5fe;background:transparent}.wpz-insta-admin #wpbody-content>.wrap .button-link:hover,.wpz-insta-admin #wpbody-content>.wrap .button-link:active,.wpz-insta-admin #wpbody-content>.wrap .button-link:focus{color:#70b5fe}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_suffixed-number-input{display:flex;gap:12px}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_suffixed-number-input>*{margin:0}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_suffixed-number-input>*:first-child{flex-grow:1}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_profile-photo{display:block;height:100px;width:100px;border-radius:50%}.wpz-insta-admin #wpbody-content>.wrap a{text-decoration:none;color:#3496ff;transition:all .2s ease}.wpz-insta-admin #wpbody-content>.wrap a:hover,.wpz-insta-admin #wpbody-content>.wrap a:active,.wpz-insta-admin #wpbody-content>.wrap a:focus{text-decoration:none;color:#70b5fe}.wpz-insta-admin #wpbody-content>.wrap a.linked{border-bottom:1px solid rgba(52,150,255,.3)}.wpz-insta-admin #wpbody-content>.wrap a.linked:hover,.wpz-insta-admin #wpbody-content>.wrap a.linked:active,.wpz-insta-admin #wpbody-content>.wrap a.linked:focus{border-bottom-color:rgba(112,181,254,.3)}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_back-button{display:inline-flex;align-items:center;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-size:14px;font-weight:600;text-decoration:none;color:#242628;margin:10px 0 0;transition:all .2s ease}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_back-button:hover,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_back-button:active{color:#3496ff}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_back-button:hover svg,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_back-button:active svg{color:#3496ff;fill:#3496ff}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_back-button svg{color:#242628;fill:#242628;margin:0 6px 0 0;transition:all .2s ease}.wpz-insta-admin #wpbody-content>.wrap .wpzinsta-pointer{position:absolute;top:calc(100% + 3px);left:50%;z-index:1000;cursor:default;font-size:14px;color:#fff;background:#3496ff;width:-webkit-max-content;width:-moz-max-content;width:max-content;padding:4px 10px;border-radius:3px;box-shadow:1px 1px 2px rgba(0,0,0,.3);transform:translateX(-50%);-webkit-animation-name:bounceFade;animation-name:bounceFade;-webkit-animation-duration:1s;animation-duration:1s;-webkit-animation-fill-mode:both;animation-fill-mode:both}.wpz-insta-admin #wpbody-content>.wrap .wpzinsta-pointer>i{position:absolute;top:-10px;left:50%;pointer-events:none;height:10px;width:20px;transform:translateX(-50%);overflow:hidden}.wpz-insta-admin #wpbody-content>.wrap .wpzinsta-pointer>i::before{content:"";position:absolute;left:50%;bottom:-4px;pointer-events:initial;background:#3496ff;height:8px;width:8px;box-shadow:0 0 2px rgba(0,0,0,.3);transform:translateX(-50%) rotateZ(45deg)}.wpz-insta-admin #wpbody-content>.wrap .fit-max-content{max-width:-webkit-max-content;max-width:-moz-max-content;max-width:max-content}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-add-new a,.wpz-insta-admin #wpbody-content>.wrap #wpz-insta_tabs-config-cnnct .wpz-insta_tabs-config-connect-add{position:relative}.wpz-insta-admin #wpbody-content>.wrap .wp-picker-container{display:inline-flex;position:relative}.wpz-insta-admin #wpbody-content>.wrap .wp-picker-container:not(:focus-within) .wp-picker-holder{pointer-events:none;opacity:0}.wpz-insta-admin #wpbody-content>.wrap .wp-picker-container .wp-color-result{position:absolute;top:50%;left:5px;pointer-events:none;height:20px;min-height:0;width:20px;padding:0;border-radius:4px;margin:0;transform:translateY(-50%)}.wpz-insta-admin #wpbody-content>.wrap .wp-picker-container .wp-color-result:active{transform:translateY(-50%) !important}.wpz-insta-admin #wpbody-content>.wrap .wp-picker-container .wp-color-result .wp-color-result-text{display:none}.wpz-insta-admin #wpbody-content>.wrap .wp-picker-container .wp-picker-input-wrap{display:block}.wpz-insta-admin #wpbody-content>.wrap .wp-picker-container .wp-picker-input-wrap input{line-height:2;width:auto;padding-left:30px}.wpz-insta-admin #wpbody-content>.wrap .wp-picker-container .wp-picker-input-wrap .wp-picker-clear{display:none}.wpz-insta-admin #wpbody-content>.wrap .wp-picker-container .wp-picker-holder{display:block;position:fixed;top:100%;left:0;z-index:999;transition:all .2s ease}.wpz-insta-admin #wpbody-content>.wrap .wp-picker-container .wp-picker-holder .iris-picker{display:block !important}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_two-columns{display:flex;align-items:center;list-style:none;padding:0;margin:1.5em 0 0}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_two-columns.wpz-insta_two-columns-left-small{align-items:flex-start;gap:30px;margin-top:0}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_two-columns.wpz-insta_two-columns-left-small>*{text-align:left !important}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_two-columns.wpz-insta_two-columns-left-small>*:first-child{flex-grow:0;width:auto}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_two-columns>*{flex-grow:1;list-style:none;width:100%;padding:0;margin:0}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_two-columns>*:first-child{text-align:left}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_two-columns>*:last-child{text-align:right}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_notice{display:flex;align-items:center;font-size:12px;padding:0;margin:1.5em 0 0 !important}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_notice::before{content:"";display:block;background-image:url("data:image/svg+xml,%3Csvg width='14' height='14' viewBox='0 0 14 14' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M6.3 3.5H7.7V4.9H6.3V3.5ZM6.3 6.3H7.7V10.5H6.3V6.3ZM7 0C3.136 0 0 3.136 0 7C0 10.864 3.136 14 7 14C10.864 14 14 10.864 14 7C14 3.136 10.864 0 7 0ZM7 12.6C3.913 12.6 1.4 10.087 1.4 7C1.4 3.913 3.913 1.4 7 1.4C10.087 1.4 12.6 3.913 12.6 7C12.6 10.087 10.087 12.6 7 12.6Z'/%3E%3C/svg%3E");height:14px;width:14px;margin:0 .8em 0 0}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_notice p{padding:0;margin:0}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-header{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;color:#242628;background:#fff;padding:15px 30px 0;border:1px solid #ddd;border-radius:3px;box-shadow:1px 1px 2px rgba(0,0,0,.1);margin:3em 0}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-header #major-publishing-actions{background:transparent;padding:0 0 1em;border:0}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-header #major-publishing-actions #publishing-action{display:flex;align-items:center;gap:20px;float:none}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-header #major-publishing-actions #publishing-action .spinner{margin:0}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-header.wpz-insta-wrap-sides{display:flex;align-items:center;margin-top:1em}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-header.wpz-insta-wrap-sides .wpz-insta-wrap-left{flex-grow:1}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-header .wpz-insta_settings-main-title{font-size:24px;font-weight:600;line-height:29px;padding:0;margin:0}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-header .wpz-insta_settings-main-title small{font-size:14px;font-weight:normal;line-height:17px;color:#81909c}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-header .wpz-insta_settings-main-title small a{text-decoration:none;color:#81909c;transition:all .2s ease}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-header .wpz-insta_settings-main-title small a:hover,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-header .wpz-insta_settings-main-title small a:active{color:#3496ff}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-header .wpz-insta_settings-main-title .pro{color:#f57c00}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-header .wpz-insta_settings-main-title #title{position:relative;font-size:24px;font-weight:600;text-overflow:ellipsis;line-height:29px;background:transparent url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M3 17.2505V21.0005H6.75L17.81 9.94055L14.06 6.19055L3 17.2505ZM20.71 7.04055C21.1 6.65055 21.1 6.02055 20.71 5.63055L18.37 3.29055C17.98 2.90055 17.35 2.90055 16.96 3.29055L15.13 5.12055L18.88 8.87055L20.71 7.04055Z' fill='%2381909C'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:center right;min-width:100px;max-width:82%;padding:0 24px 0 0;border:0;outline:none;margin:0;overflow:hidden;box-shadow:0 0 0 1px transparent;transition:all .2s ease}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-header .wpz-insta_settings-main-title #title:hover,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-header .wpz-insta_settings-main-title #title:focus{box-shadow:0 0 0 1px #3496ff}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-header .wpz-insta_settings-sub-title{font-size:18px;font-weight:normal;line-height:22px;color:#242628;margin:16px 0}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-header .wpz-insta_settings-main-nav{font-size:18px;font-weight:normal;line-height:22px;padding:0;margin:0}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-header .wpz-insta_settings-main-nav ul{display:flex;list-style:none;gap:40px;padding:0;margin:0}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-header .wpz-insta_settings-main-nav ul li{position:relative;list-style:none;padding:0;margin:0;transition:all .2s ease}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-header .wpz-insta_settings-main-nav ul li.active a{cursor:default;pointer-events:none}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-header .wpz-insta_settings-main-nav ul li.active a::after{transform:translateY(0)}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-header .wpz-insta_settings-main-nav ul li a{display:block;position:relative;text-decoration:none;color:#242628;outline:none;padding:16px 0;box-shadow:none;overflow:hidden;transition:all .2s ease}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-header .wpz-insta_settings-main-nav ul li a:active,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-header .wpz-insta_settings-main-nav ul li a:focus{outline:none;box-shadow:none}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-header .wpz-insta_settings-main-nav ul li a:hover{color:#3496ff}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-header .wpz-insta_settings-main-nav ul li a::after{content:"";position:absolute;left:0;right:0;bottom:0;background:#3496ff;height:6px;border-radius:2px 2px 0 0;transform:translateY(100%);transition:all .2s ease}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap.with-bg{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-size:14px;color:#242628;background:#fff;padding:25px 30px;border:1px solid #ddd;border-radius:3px;box-shadow:1px 1px 2px rgba(0,0,0,.1)}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap.with-bg *:not(h2):not(small){font-size:14px}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter{margin:2em 0 0}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;color:#242628;background:#fff;padding:15px 30px;border:1px solid #ddd;border-radius:3px;box-shadow:1px 1px 2px rgba(0,0,0,.1)}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table thead th,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table thead td{border-bottom:1px solid #000}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table thead th.column-wpz-insta_account-photo,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table thead th.column-wpz-insta_account-bio,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table thead th.column-wpz-insta_account-token,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table thead td.column-wpz-insta_account-photo,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table thead td.column-wpz-insta_account-bio,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table thead td.column-wpz-insta_account-token{display:none}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table thead th{font-weight:600;padding-left:0;padding-right:0}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table thead th.column-wpz-insta_actions{text-align:right}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table thead th a{color:#000;padding:14px 0;transition:all .2s ease}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table thead th a:hover,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table thead th a:active{color:#3496ff}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody tr{display:table-row !important;position:relative;background:transparent}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody tr:first-child th,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody tr:first-child td,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody tr.inline-edit-row th,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody tr.inline-edit-row td{border-top:none}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody tr.inline-edit-row td{padding-top:0}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody th,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody td{vertical-align:middle;padding:20px 0;border-top:1px solid #ddd}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody th.column-wpz-insta_account-photo,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody th.column-wpz-insta_account-bio,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody th.column-wpz-insta_account-token,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody td.column-wpz-insta_account-photo,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody td.column-wpz-insta_account-bio,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody td.column-wpz-insta_account-token{display:none}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody th.check-column{padding:0}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody td>*{margin:0}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody td a:not(.button){color:#3496ff;transition:all .2s ease}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody td a:not(.button):hover,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody td a:not(.button):active{color:#000}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody td .row-actions{display:none}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody td .wpz-insta_quick-edit{overflow:hidden;-webkit-animation-name:slidedown;animation-name:slidedown;-webkit-animation-duration:1s;animation-duration:1s}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody td .wpz-insta_quick-edit .wpz-insta_quick-edit-columns{display:flex;list-style:none;padding:0;margin:0}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody td .wpz-insta_quick-edit .wpz-insta_quick-edit-columns>li{flex-grow:1;list-style:none;padding:0;margin:0}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody td .wpz-insta_quick-edit .wpz-insta_quick-edit-columns>li div{display:block;margin:0 0 10px}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody td .wpz-insta_quick-edit .wpz-insta_quick-edit-columns>li div:last-child{margin-bottom:0}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody td .wpz-insta_quick-edit .wpz-insta_quick-edit-columns>li strong:first-child,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody td .wpz-insta_quick-edit .wpz-insta_quick-edit-columns>li label>strong:first-child{display:inline-block;margin:0 0 5px}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody td .wpz-insta_quick-edit .wpz-insta_quick-edit-columns>li input:not(.widefat),.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody td .wpz-insta_quick-edit .wpz-insta_quick-edit-columns>li textarea{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;width:60%}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody td .inline-edit-save{position:absolute;top:-10px;right:0;padding:0;transform:translateY(-100%)}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody td .inline-edit-save .button{float:none}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody td .inline-edit-save .button.cancel{color:#3496ff;background:transparent;box-shadow:inset 0 0 0 1px #3496ff;margin:0 1em 0 0}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody td .inline-edit-save .button.cancel:hover,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody td .inline-edit-save .button.cancel:active,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody td .inline-edit-save .button.cancel:focus{color:#000;box-shadow:inset 0 0 0 1px #000}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody td .inline-edit-save .spinner{float:left}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody .column-title,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody .column-wpz-insta_account{width:50%}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody .column-wpz-insta_account a{color:#242628}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody .column-wpz-insta_account a:hover,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody .column-wpz-insta_account a:active{color:#3496ff}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody .column-wpz-insta_actions{text-align:right;width:5%}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody .column-wpz-insta_actions strong{position:relative;cursor:pointer;font-size:20px;font-weight:600;text-align:right;white-space:nowrap;transition:all .2s ease}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody .column-wpz-insta_actions strong:hover,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody .column-wpz-insta_actions strong:active{color:#3496ff}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody .wpz-insta_actions-menu{display:inline-block;position:relative;text-align:right}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody .wpz-insta_actions-menu:hover .wpz-insta_hidden{pointer-events:auto;opacity:1}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody .wpz-insta_actions-menu:hover strong{color:#3496ff}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody .wpz-insta_actions-menu:hover strong::after{content:"";position:absolute;left:-50px;right:0;bottom:-15px;height:25px}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody .wpz-insta_actions-menu .wpz-insta_hidden{position:absolute;right:0;bottom:-10px;z-index:999;pointer-events:none;text-align:left;background:#fff;min-width:200px;opacity:0;padding:0;border-radius:3px;margin:0;box-shadow:1px 4px 8px rgba(0,0,0,.1);transform:translate(0%, 100%);transition:opacity .2s ease}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody .wpz-insta_actions-menu .wpz-insta_hidden li{white-space:nowrap;margin:0;transition:all .2s ease}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody .wpz-insta_actions-menu .wpz-insta_hidden li:first-child a,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody .wpz-insta_actions-menu .wpz-insta_hidden li:first-child button{padding-top:10px}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody .wpz-insta_actions-menu .wpz-insta_hidden li:last-child a,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody .wpz-insta_actions-menu .wpz-insta_hidden li:last-child button{padding-bottom:10px}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody .wpz-insta_actions-menu .wpz-insta_hidden li.wpz-insta_actions-menu_divider{pointer-events:none;background:#ddd;height:1px;padding:0;margin:5px 20px}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody .wpz-insta_actions-menu .wpz-insta_hidden li.wpz-insta_actions-menu_delete a:hover{color:#ec2439}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody .wpz-insta_actions-menu .wpz-insta_hidden li a,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody .wpz-insta_actions-menu .wpz-insta_hidden li button{display:block;white-space:nowrap;color:#242628;width:100%;padding:7px 20px;margin:0;box-sizing:border-box;transition:all .2s ease}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody .wpz-insta_actions-menu .wpz-insta_hidden li a:hover,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody .wpz-insta_actions-menu .wpz-insta_hidden li button:hover{color:#3496ff}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody .inline-edit-col-left,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody .inline-edit-col-right{display:none}.wpz-insta-admin #wpbody-content>.wrap #poststuff{padding:0;margin:0}.wpz-insta-admin #wpbody-content>.wrap #poststuff #post-body{margin:0}.wpz-insta-admin #wpbody-content>.wrap #poststuff #post-body #post-body-content{float:none;margin:0}.wpz-insta-admin #wpbody-content>.wrap #poststuff #post-body .postbox-container{display:none}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_tabs-content{display:grid}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_tabs-content *{pointer-events:inherit}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_tabs-content>*{grid-column:1;grid-row:1;align-self:start}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_tabs-content>*:not(.active){pointer-events:none;opacity:0}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_tabs-content>*:not(.active) *{pointer-events:none !important}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar{display:flex;gap:20px;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;color:#242628}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar.hide{pointer-events:none}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar:not(.show-pro) .wpz-insta_pro-only{display:none}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar input,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar textarea,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar select{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-size:14px}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar .wpz-insta_sidebar-left,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar .wpz-insta_sidebar-right{background:#fff;border:1px solid #ddd;border-radius:3px;box-shadow:1px 1px 2px rgba(0,0,0,.1)}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar .wpz-insta_sidebar-left{display:grid;grid-template-rows:auto 1fr;flex-basis:28%}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar .wpz-insta_sidebar-left.is-pro .wpz-insta_sidebar-left-section{max-height:70vh !important}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar .wpz-insta_sidebar-left .wpz-insta_sidebar-left-section-head{display:flex;align-items:center;grid-column:1;grid-row:1;background:#fafafa;min-height:30px;padding:20px;border-bottom:1px solid #ddd}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar .wpz-insta_sidebar-left .wpz-insta_sidebar-left-section{grid-column:1;grid-row:2;align-self:start;transition:all .3s ease;overflow-x:hidden;overflow-y:auto}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar .wpz-insta_sidebar-left .wpz-insta_sidebar-left-section:not(.active){pointer-events:none;opacity:0}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar .wpz-insta_sidebar-right{flex-grow:1;position:relative}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar .wpz-insta_sidebar-right.is-loading{transition:all .3s ease}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar .wpz-insta_sidebar-right.is-loading.hide-loading::before{opacity:0}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar .wpz-insta_sidebar-right.is-loading::before{content:"";position:absolute;top:300px;left:50%;z-index:1;background-image:url("data:image/svg+xml,%3Csvg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' viewBox='0 0 50 50' xml:space='preserve'%3E%3Cpath fill='%233496ff' d='M43.935,25.145c0-10.318-8.364-18.683-18.683-18.683c-10.318,0-18.683,8.365-18.683,18.683h4.068c0-8.071,6.543-14.615,14.615-14.615c8.072,0,14.615,6.543,14.615,14.615H43.935z'%3E%3CanimateTransform attributeType='xml' attributeName='transform' type='rotate' from='0 25 25' to='360 25 25' dur='0.6s' repeatCount='indefinite'/%3E%3C/path%3E%3C/svg%3E");background-size:contain;height:64px;width:64px;opacity:1;transform:translateX(-50%);transition:all .3s ease}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section-big-title{font-size:18px;font-weight:600;margin:30px 20px}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section{padding:30px 0 0;border-top:1px solid #ddd;margin:30px 20px 20px}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section:first-child,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section.no-top-border{padding-top:0;border-top:0;margin-top:20px}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_sidebar-section-title{font-size:18px;font-weight:600;margin:0 0 15px}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_sidebar-section-title.smaller-title{font-size:14px}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_sidebar-section-description{font-size:14px;font-weight:normal;margin:0 0 20px}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_sidebar-section-description:last-child{margin-bottom:0}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section p{font-size:14px}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section ul li,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section ol li{margin-bottom:1em}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_text-btn-aligned{display:flex;align-items:stretch;gap:15px;width:100%}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_text-btn-aligned>input{flex-grow:1;margin:0}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_shortcode,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_shortcode-copy-btn{display:flex;align-items:center;font-size:14px;line-height:2}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_shortcode{background:transparent;border:1px solid #ddd}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_shortcode-copy-btn{display:grid;text-align:center;color:#3496ff;background:transparent;border:1px solid #3496ff;box-shadow:none;transition:all .3s ease}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_shortcode-copy-btn:hover{color:#fff;background:#3496ff}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_shortcode-copy-btn.success{color:#fff;background:#2b6;border-color:#2b6}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_shortcode-copy-btn.success .wpz-insta_shortcode-copy-btn-text-normal{opacity:0}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_shortcode-copy-btn.success .wpz-insta_shortcode-copy-btn-text-success{opacity:1}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_shortcode-copy-btn .wpz-insta_shortcode-copy-btn-text-normal,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_shortcode-copy-btn .wpz-insta_shortcode-copy-btn-text-success{grid-column:1;grid-row:1;transition:all .3s ease}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_shortcode-copy-btn .wpz-insta_shortcode-copy-btn-text-normal{opacity:1}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_shortcode-copy-btn .wpz-insta_shortcode-copy-btn-text-success{opacity:0}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_feed-user-select.is-set .wpz-insta_feed-user-select-input .wpz-insta_feed-user-select-button-wrap .wpz-insta_feed-user-select-button-highlight{display:none}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_feed-user-select.is-set .wpz-insta_feed-user-select-input .wpz-insta_feed-user-select-button-wrap .wpz-insta_feed-user-select-button{pointer-events:none;opacity:0}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_feed-user-select.is-set .wpz-insta_feed-user-select-edit-link{display:inline-block}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_feed-user-select:not(.is-set) .wpz-insta_feed-user-select-input .wpz-insta_feed-user-select-info{pointer-events:none;opacity:0}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_feed-user-select .wpz-insta_feed-user-select-input{display:grid;background:#eee;border:1px solid #9ca2a7;border-radius:4px}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_feed-user-select .wpz-insta_feed-user-select-input .wpz-insta_feed-user-select-info{display:flex;align-items:center;justify-content:space-between;grid-column:1;grid-row:1;margin:15px;transition:all .3s ease}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_feed-user-select .wpz-insta_feed-user-select-input .wpz-insta_feed-user-select-info .wpz-insta_feed-user-select-info-left .wpz-insta_feed-user-select-info-name{font-size:14px;font-weight:600;padding:0;margin:0}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_feed-user-select .wpz-insta_feed-user-select-input .wpz-insta_feed-user-select-info .wpz-insta_feed-user-select-info-left .wpz-insta_feed-user-select-info-type{font-size:12px;color:#81909c;padding:0;margin:0}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_feed-user-select .wpz-insta_feed-user-select-input .wpz-insta_feed-user-select-info .wpz-insta_feed-user-remove-button{font-size:13px;font-weight:600;color:#3496ff;background:transparent;border:1px solid #3496ff;box-shadow:none}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_feed-user-select .wpz-insta_feed-user-select-input .wpz-insta_feed-user-select-info .wpz-insta_feed-user-remove-button:hover{color:#ec2439;border-color:#ec2439}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_feed-user-select .wpz-insta_feed-user-select-input .wpz-insta_feed-user-select-button-wrap{position:relative;display:flex;align-items:stretch;justify-content:stretch;grid-column:1;grid-row:1;pointer-events:none}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_feed-user-select .wpz-insta_feed-user-select-input .wpz-insta_feed-user-select-button-wrap .wpz-insta_feed-user-select-button-highlight{display:block;position:absolute;top:-2px;left:-2px;right:-2px;bottom:-2px;z-index:1;pointer-events:none;border:0;border-radius:6px;box-shadow:inset 0 0 1px 1px #3496ff,0 0 1px 1px #3496ff;transition:all .3s ease;-webkit-animation:highlighting .8s infinite;animation:highlighting .8s infinite}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_feed-user-select .wpz-insta_feed-user-select-input .wpz-insta_feed-user-select-button-wrap .wpz-insta_feed-user-select-button{display:flex;flex-grow:1;position:relative;z-index:2;pointer-events:all;font-size:14px;font-weight:600;color:#242628;background:#eee;opacity:1;border:0;border-radius:4px;box-shadow:none;transition:all .3s ease}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_feed-user-select .wpz-insta_feed-user-select-input .wpz-insta_feed-user-select-button-wrap .wpz-insta_feed-user-select-button:hover{color:#fff;background:#3496ff}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_feed-user-select .wpz-insta_feed-user-select-edit-link{display:none;margin:20px 0 0}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_feed-layout{display:flex;align-items:end;gap:10px;max-height:999em;margin:0 0 20px}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_feed-layout .wpz-insta_feed-layout-pro{display:flex;gap:15px;padding:10px;border-radius:4px;box-shadow:0 0 0 2px #f57c00;max-width:76%;box-sizing:border-box}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_feed-layout .wpz-insta_feed-layout-pro legend{font-size:13px;font-weight:600;color:#fff;background:#f57c00;padding:0 5px;margin:0 auto;border-radius:2px;box-shadow:none}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_feed-layout .wpz-insta_feed-layout-pro .wpz-insta_feed-layout-option{pointer-events:none;opacity:.75}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_feed-layout>.wpz-insta_feed-layout-option{margin-bottom:10px !important;max-width:21%}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_feed-layout .wpz-insta_feed-layout-option{display:block;background:transparent;padding:0;border:0;box-shadow:none;outline:none;margin:0;transition:all .3s ease}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_feed-layout .wpz-insta_feed-layout-option.disabled{pointer-events:none;opacity:.4}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_feed-layout .wpz-insta_feed-layout-option:hover svg{color:#9ca2a7;fill:#9ca2a7}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_feed-layout .wpz-insta_feed-layout-option input{display:none}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_feed-layout .wpz-insta_feed-layout-option svg{display:block;color:#81909c;fill:#81909c;max-width:100%;height:auto;transition:all .3s ease}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_feed-layout .wpz-insta_feed-layout-option input:checked~svg{color:#3496ff;fill:#3496ff}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_feed-layout-etc,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_feed-general,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_feed-profile-general,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_feed-load-more-general{font-size:14px}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_table{display:flex;flex-direction:column;gap:20px;width:100%}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_table .wpz-insta_table-row{display:flex;align-items:center;width:100%}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_table .wpz-insta_table-row.wpz-insta_table-row-full{flex-direction:column;align-items:stretch}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_table .wpz-insta_table-row.wpz-insta_table-row-full .wpz-insta_table-cell{width:100%}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_table .wpz-insta_table-row.hidden{display:none}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_table .wpz-insta_table-row .wpz-insta_table-cell{display:block;white-space:nowrap;line-height:30px;width:50%}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_table .wpz-insta_table-row .wpz-insta_table-cell input{margin:0}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_table .wpz-insta_table-row>input[type=checkbox]{margin:0 1em 0 0}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_show-on-hover{display:table-row}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_show-on-hover>strong{display:block;margin:0 0 20px}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_feed-only-pro{display:flex;flex-direction:column;gap:20px;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;padding:0}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_feed-only-pro.wpz-insta_pro-only-with-bottom{padding-bottom:10px;border-bottom:2px solid #f57c00}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_feed-only-pro.hidden{display:none}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_feed-only-pro legend{display:flex;width:100%;padding:0;border-bottom:2px solid #f57c00;margin:0 0 10px}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_feed-only-pro legend>strong{font-size:13px;color:#fff;background:#f57c00;padding:0 5px;border-top-left-radius:2px;border-top-right-radius:2px;box-shadow:none}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_feed-only-pro>label{opacity:.5}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section.wpz-insta_sidebar-section-token,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section.wpz-insta_sidebar-section-check-new,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section.wpz-insta_sidebar-section-request-timeout{max-height:0;opacity:0;overflow:hidden;padding-top:0;margin-top:0;margin-bottom:0;transition:all .3s ease}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section.wpz-insta_sidebar-section-token.active,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section.wpz-insta_sidebar-section-check-new.active,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section.wpz-insta_sidebar-section-request-timeout.active{max-height:999em;opacity:1;padding-top:30px;margin-top:30px;margin-bottom:20px;overflow:visible}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section.wpz-insta_sidebar-section-token #wpz-insta_user-token{display:block;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-size:14px;font-weight:normal;text-overflow:ellipsis;color:#242628;background:#fff;width:100%;padding:4px 8px;border:1px solid #ddd;border-radius:2px;box-shadow:none}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section.wpz-insta_sidebar-section-request-timeout>label>strong{font-size:14px}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section.wpz-insta_sidebar-section-load-more.wpz-insta_pro-only{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;padding-top:0;padding-bottom:20px;border-top:none;border-bottom:2px solid #f57c00;margin-top:0}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section.wpz-insta_sidebar-section-load-more.wpz-insta_pro-only .wpz-insta_sidebar-section-title,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section.wpz-insta_sidebar-section-load-more.wpz-insta_pro-only .wpz-insta_table>label{opacity:.5}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_widget-preview{position:relative;z-index:2;padding:0;margin:0}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_widget-preview .wpz-insta_widget-preview-header{display:flex;align-items:center;padding:0;border-bottom:1px solid #ddd;margin:0}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_widget-preview .wpz-insta_widget-preview-header .wpz-insta_widget-preview-header-title{flex-grow:1;font-size:14px;font-weight:600;text-align:center;padding:0;margin:0}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_widget-preview .wpz-insta_widget-preview-header .wpz-insta_widget-preview-header-links{display:flex;padding:0;margin:0;transition:all .3s ease}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_widget-preview .wpz-insta_widget-preview-header .wpz-insta_widget-preview-header-links.disabled{pointer-events:none;opacity:.3}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_widget-preview .wpz-insta_widget-preview-header .wpz-insta_widget-preview-header-links.disabled .wpz-insta_widget-preview-header-link.active{background:#ddd}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_widget-preview .wpz-insta_widget-preview-header .wpz-insta_widget-preview-header-links.disabled .wpz-insta_widget-preview-header-link.active svg{fill:#81909c}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_widget-preview .wpz-insta_widget-preview-header .wpz-insta_widget-preview-header-links .wpz-insta_widget-preview-header-link{display:flex;align-items:center;justify-content:center;cursor:pointer;background:#ddd;min-width:70px;min-height:70px;padding:0;margin:0;transition:all .3s ease}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_widget-preview .wpz-insta_widget-preview-header .wpz-insta_widget-preview-header-links .wpz-insta_widget-preview-header-link:hover{background:#eee}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_widget-preview .wpz-insta_widget-preview-header .wpz-insta_widget-preview-header-links .wpz-insta_widget-preview-header-link.active{cursor:default;color:#fff;background:#3496ff}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_widget-preview .wpz-insta_widget-preview-header .wpz-insta_widget-preview-header-links .wpz-insta_widget-preview-header-link.active svg{fill:#fff}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_widget-preview .wpz-insta_widget-preview-header .wpz-insta_widget-preview-header-links .wpz-insta_widget-preview-header-link svg{fill:#81909c;padding:0;margin:0;transition:all .3s ease}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_widget-preview .wpz-insta_widget-preview-view{display:flex;align-items:start;justify-content:center;padding:0;margin:0;overflow-x:hidden;overflow-y:auto;transition:all .3s ease}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_widget-preview .wpz-insta_widget-preview-view.wpz-insta_widget-preview-size-desktop .wpz-insta_widget-preview-view-inner{max-width:500px}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_widget-preview .wpz-insta_widget-preview-view.wpz-insta_widget-preview-size-tablet .wpz-insta_widget-preview-view-inner{max-width:768px}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_widget-preview .wpz-insta_widget-preview-view.wpz-insta_widget-preview-size-mobile .wpz-insta_widget-preview-view-inner{max-width:380px}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_widget-preview .wpz-insta_widget-preview-view.layout-fullwidth.wpz-insta_widget-preview-size-desktop .wpz-insta_widget-preview-view-inner{max-width:100%}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_widget-preview .wpz-insta_widget-preview-view .wpz-insta_widget-preview-view-inner{flex-grow:1;padding:0;transition:all .3s ease}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_widget-preview .wpz-insta_widget-preview-view .wpz-insta_widget-preview-view-inner iframe{display:block;height:400px;width:100%;visibility:visible;opacity:1;overflow:hidden;transition:all .3s ease}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_widget-preview .wpz-insta_widget-preview-view .wpz-insta_widget-preview-view-inner iframe.wpz-insta_preview-hidden{pointer-events:none;visibility:hidden;opacity:0}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_tabs-config-connect{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;color:#242628;background:#fff;padding:25px 30px;border:1px solid #ddd;border-radius:3px;box-shadow:1px 1px 2px rgba(0,0,0,.1)}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_tabs-config-connect .wpz-insta_tabs-config-connect-title{font-size:24px;font-weight:600;padding:0;margin:0 0 10px}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_tabs-config-connect .wpz-insta_tabs-config-connect-description{padding:0;margin:0 0 20px}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_tabs-config-connect .wpz-insta_tabs-config-connect-accounts{display:grid;grid-template-columns:repeat(auto-fill, minmax(300px, 1fr));gap:30px;padding:0;margin:0}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_tabs-config-connect .wpz-insta_tabs-config-connect-accounts li{cursor:pointer;background:#eee;padding:15px;border:1px solid #9ca2a7;border-radius:4px;margin:0;transition:all .3s ease}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_tabs-config-connect .wpz-insta_tabs-config-connect-accounts li:hover{color:#fff;background:#3496ff;border-color:#0063cd}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_tabs-config-connect .wpz-insta_tabs-config-connect-accounts li:hover h3{color:#fff}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_tabs-config-connect .wpz-insta_tabs-config-connect-accounts li:hover p{color:rgba(255,255,255,.6)}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_tabs-config-connect .wpz-insta_tabs-config-connect-accounts li h3{font-size:14px;font-weight:600;padding:0;margin:0 0 5px;transition:all .3s ease}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_tabs-config-connect .wpz-insta_tabs-config-connect-accounts li p{font-size:12px;color:#81909c;padding:0;margin:0;transition:all .3s ease}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_tabs-config-connect hr{margin:30px 0}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_tabs-config-connect .wpz-insta_tabs-config-connect-subtitle{font-size:14px;font-weight:normal;padding:0;margin:0 0 20px}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-support,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-license{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;color:#242628}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-support .section-title,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-license .section-title{font-size:20px;font-weight:600;line-height:24px;margin:0 0 1em}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-support .section-title svg,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-license .section-title svg{vertical-align:text-bottom;margin:0 5px 0 0}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-support .section-description,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-license .section-description{padding:0;margin:0 0 2em}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-connect{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;color:#242628;background:#fff;padding:25px 30px;border:1px solid #ddd;border-radius:3px;box-shadow:1px 1px 2px rgba(0,0,0,.1)}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-connect .section-title{font-size:24px;font-weight:600;line-height:29px;margin:0 0 16px}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-connect .section-description{font-size:14px;white-space:pre-wrap;margin:0 0 30px}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-connect .account-options{display:flex;flex-wrap:wrap;gap:30px;margin:0 0 30px}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-connect .account-options .account-option{display:flex;flex-direction:column;min-width:350px;padding:20px;border:1px solid #ddd;border-radius:3px}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-connect .account-options .account-option .account-option-title{font-size:16px;font-weight:600;line-height:19px;margin:0 0 16px}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-connect .account-options .account-option .account-option-checklist{font-size:14px;padding:0;margin:0 0 20px}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-connect .account-options .account-option .account-option-checklist li{line-height:18px;background:url("data:image/svg+xml,%3Csvg width='18' height='18' viewBox='0 0 18 18' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M9 0C4.03759 0 0 4.03759 0 9C0 13.9624 4.03759 18 9 18C13.9624 18 18 13.9624 18 9C18 4.03759 13.9624 0 9 0ZM14.0301 6.63158L8.2782 12.3383C7.93985 12.6767 7.3985 12.6992 7.03759 12.3609L3.99248 9.58647C3.63158 9.24812 3.60902 8.68421 3.92481 8.32331C4.26316 7.96241 4.82707 7.93985 5.18797 8.2782L7.6015 10.4887L12.7444 5.34586C13.1053 4.98496 13.6692 4.98496 14.0301 5.34586C14.391 5.70677 14.391 6.27068 14.0301 6.63158Z' fill='%2322BB66'/%3E%3C/svg%3E");background-position:0 5px;background-repeat:no-repeat;min-height:18px;padding:5px 0 5px 32px;margin:0}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-connect .account-options .account-option .account-option-token-input{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-size:14px;line-height:17px;color:#242628;padding:10px;border:1px solid #ddd;box-shadow:none;transition:all .3s ease}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-connect .account-options .account-option .account-option-token-input:hover,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-connect .account-options .account-option .account-option-token-input:focus{border-color:#3496ff;box-shadow:none}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-connect .account-options .account-option .account-option-button{display:flex;cursor:pointer;align-items:center;justify-content:center;font-weight:600;line-height:1;color:#fff;background:#3496ff;background-position:center left;background-repeat:no-repeat;width:100%;padding:15px 40px;border:0;border-radius:2px;margin:auto 0 0;box-shadow:none;transition:all .3s ease}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-connect .account-options .account-option .account-option-button:hover,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-connect .account-options .account-option .account-option-button:focus{background-color:#70b5fe}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-connect .account-options .account-option .account-option-button.disabled{pointer-events:none;opacity:.5}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-connect .account-options .account-option .account-option-button svg{margin:0 16px 0 0}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-connect .section-notice{display:flex;align-items:center;font-size:13px;margin:0}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-connect .section-notice svg{margin:0 12px 0 0}.wpz-insta-admin .wpz-insta_settings-footer .wpz-insta_settings-footer-wrap{display:flex;align-items:center;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;color:#242628;background:#fff;padding:30px;border:1px solid #ddd;border-radius:3px;box-shadow:1px 1px 2px rgba(0,0,0,.1);margin:20px 0}.wpz-insta-admin .wpz-insta_settings-footer .wpz-insta_settings-footer-wrap .wpz-insta_settings-footer-logo{padding:0;margin:0 30px 0 0}.wpz-insta-admin .wpz-insta_settings-footer .wpz-insta_settings-footer-wrap .wpz-insta_settings-footer-logo a{display:block;text-indent:-999em;background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAsUAAAB1CAYAAACmnpxEAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA3BpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQwIDc5LjE2MDQ1MSwgMjAxNy8wNS8wNi0wMTowODoyMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpGODdGMTE3NDA3MjA2ODExODIyQUJEN0ZFNTE5QkYyRSIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDoyMERERTJGNDlFNjgxMUU4ODM0NkExODhFNzlBMDMzQiIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDoyMERERTJGMzlFNjgxMUU4ODM0NkExODhFNzlBMDMzQiIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxNSAoTWFjaW50b3NoKSI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjEyMzc5NGVhLTBiZGYtNDQ3Zi05ODc1LTY1ZDk5NjhjZGVlNiIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpGODdGMTE3NDA3MjA2ODExODIyQUJEN0ZFNTE5QkYyRSIvPiA8L3Jk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");background-size:contain;background-repeat:no-repeat;height:16px;width:95px;overflow:hidden;transition:all .3s ease}.wpz-insta-admin .wpz-insta_settings-footer .wpz-insta_settings-footer-wrap .wpz-insta_settings-footer-logo a:hover,.wpz-insta-admin .wpz-insta_settings-footer .wpz-insta_settings-footer-wrap .wpz-insta_settings-footer-logo a:active{opacity:.5}.wpz-insta-admin .wpz-insta_settings-footer .wpz-insta_settings-footer-wrap .wpz-insta_settings-footer-links{display:flex;padding:0;margin:0}.wpz-insta-admin .wpz-insta_settings-footer .wpz-insta_settings-footer-wrap .wpz-insta_settings-footer-links li{padding:0;margin:0 30px 0 0}.wpz-insta-admin .wpz-insta_settings-footer .wpz-insta_settings-footer-wrap .wpz-insta_settings-footer-links li:last-child{margin-right:0}.wpz-insta-admin .wpz-insta_settings-footer .wpz-insta_settings-footer-wrap .wpz-insta_settings-footer-links li a{text-decoration:none;color:#000;transition:all .3s ease}.wpz-insta-admin .wpz-insta_settings-footer .wpz-insta_settings-footer-wrap .wpz-insta_settings-footer-links li a:hover,.wpz-insta-admin .wpz-insta_settings-footer .wpz-insta_settings-footer-wrap .wpz-insta_settings-footer-links li a:active{color:#3496ff}.wpz-insta-admin #wpz-insta_modal-dialog{display:flex;align-items:center;justify-content:center;position:fixed;top:0;left:0;right:0;bottom:0;z-index:999999999999;background:rgba(0,0,0,.4);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);transition:all .3s ease}.wpz-insta-admin #wpz-insta_modal-dialog:not(.open){pointer-events:none;opacity:0}.wpz-insta-admin #wpz-insta_modal-dialog.success .wpz-insta_modal-dialog_wrap .wpz-insta_modal-dialog_header .wpz-insta_modal-dialog_header-title::before{background-color:#2b6;background-image:url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8.75204 15.8749L4.60249 11.7049L3.18945 13.1149L8.75204 18.7049L20.6932 6.70492L19.2901 5.29492L8.75204 15.8749Z' fill='white'/%3E%3C/svg%3E")}.wpz-insta-admin #wpz-insta_modal-dialog.fail .wpz-insta_modal-dialog_wrap .wpz-insta_modal-dialog_header .wpz-insta_modal-dialog_header-title::before{background-color:#ec2439;background-image:url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M18.9069 6.41L17.5038 5L11.9412 10.59L6.37867 5L4.97559 6.41L10.5381 12L4.97559 17.59L6.37867 19L11.9412 13.41L17.5038 19L18.9069 17.59L13.3443 12L18.9069 6.41Z' fill='white'/%3E%3C/svg%3E")}.wpz-insta-admin #wpz-insta_modal-dialog.confirm .wpz-insta_modal-dialog_wrap .wpz-insta_modal-dialog_header .wpz-insta_modal-dialog_header-title::before{content:"?";display:flex;align-items:center;justify-content:center;font-size:24px;font-weight:700;color:#fff;background-color:#242628;background-image:none}.wpz-insta-admin #wpz-insta_modal-dialog .wpz-insta_modal-dialog_wrap{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-size:14px;line-height:20px;color:#242628;background:#fff;min-width:850px;padding:30px;border-radius:3px;box-shadow:0 5px 10px rgba(0,0,0,.3)}.wpz-insta-admin #wpz-insta_modal-dialog .wpz-insta_modal-dialog_wrap .wpz-insta_modal-dialog_header{display:flex;align-items:center;justify-content:space-between;padding:0 0 20px;border-bottom:1px solid #ddd;margin:0 0 30px}.wpz-insta-admin #wpz-insta_modal-dialog .wpz-insta_modal-dialog_wrap .wpz-insta_modal-dialog_header .wpz-insta_modal-dialog_header-title{display:flex;align-items:center;font-size:20px;font-weight:600;padding:0;margin:0}.wpz-insta-admin #wpz-insta_modal-dialog .wpz-insta_modal-dialog_wrap .wpz-insta_modal-dialog_header .wpz-insta_modal-dialog_header-title::before{content:"";display:block;background-color:#81909c;background-repeat:no-repeat;background-position:center;height:28px;width:28px;border-radius:50%;margin:0 15px 0 0}.wpz-insta-admin #wpz-insta_modal-dialog .wpz-insta_modal-dialog_wrap .wpz-insta_modal-dialog_header .wpz-insta_modal-dialog_header-button{cursor:pointer;text-indent:-999em;background-color:#9ca2a7;-webkit-mask:url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M18.9069 6.41L17.5038 5L11.9412 10.59L6.37867 5L4.97559 6.41L10.5381 12L4.97559 17.59L6.37867 19L11.9412 13.41L17.5038 19L18.9069 17.59L13.3443 12L18.9069 6.41Z'/%3E%3C/svg%3E") center no-repeat;mask:url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M18.9069 6.41L17.5038 5L11.9412 10.59L6.37867 5L4.97559 6.41L10.5381 12L4.97559 17.59L6.37867 19L11.9412 13.41L17.5038 19L18.9069 17.59L13.3443 12L18.9069 6.41Z'/%3E%3C/svg%3E") center no-repeat;height:24px;width:24px;padding:0;margin:0;overflow:hidden;transition:all .3s ease}.wpz-insta-admin #wpz-insta_modal-dialog .wpz-insta_modal-dialog_wrap .wpz-insta_modal-dialog_header .wpz-insta_modal-dialog_header-button:hover{background-color:#3496ff}.wpz-insta-admin #wpz-insta_modal-dialog .wpz-insta_modal-dialog_wrap .wpz-insta_modal-dialog_content{overflow:auto}.wpz-insta-admin #wpz-insta_modal-dialog .wpz-insta_modal-dialog_wrap .wpz-insta_modal-dialog_content .severe{color:#ec2439}.wpz-insta-admin #wpz-insta_modal-dialog .wpz-insta_modal-dialog_wrap .wpz-insta_modal-dialog_footer{display:flex;align-items:center;justify-content:end;gap:10px;padding:20px 0 0;border-top:1px solid #ddd;margin:30px 0 0}.wpz-insta-admin #wpz-insta_modal-dialog .wpz-insta_modal-dialog_wrap .wpz-insta_modal-dialog_footer .wpz-insta_modal-dialog_footer-button{color:#fff;background:#3496ff;padding-left:30px;padding-right:30px;transition:all .3s ease}.wpz-insta-admin #wpz-insta_modal-dialog .wpz-insta_modal-dialog_wrap .wpz-insta_modal-dialog_footer .wpz-insta_modal-dialog_footer-button:hover,.wpz-insta-admin #wpz-insta_modal-dialog .wpz-insta_modal-dialog_wrap .wpz-insta_modal-dialog_footer .wpz-insta_modal-dialog_footer-button:active{color:#fff;background:#70b5fe}.wpz-insta-admin #wpz-insta_modal-dialog .wpz-insta_modal-dialog_wrap .wpz-insta_modal-dialog_footer .wpz-insta_modal-dialog_footer-button.button-secondary{color:#3496ff;background:transparent;border-color:#3496ff}.wpz-insta-admin #wpz-insta_modal-dialog .wpz-insta_modal-dialog_wrap .wpz-insta_modal-dialog_footer .wpz-insta_modal-dialog_footer-button.button-secondary:hover,.wpz-insta-admin #wpz-insta_modal-dialog .wpz-insta_modal-dialog_wrap .wpz-insta_modal-dialog_footer .wpz-insta_modal-dialog_footer-button.button-secondary:active{color:#fff;background-color:#70b5fe}@-webkit-keyframes slidedown{from{max-height:0}to{max-height:100em}}@keyframes slidedown{from{max-height:0}to{max-height:100em}}@-webkit-keyframes highlighting{0%{transform:scale(1)}50%{transform:scale(1.03, 1.2)}100%{transform:scale(1)}}@keyframes highlighting{0%{transform:scale(1)}50%{transform:scale(1.03, 1.2)}100%{transform:scale(1)}}@-webkit-keyframes bounceFade{0%{opacity:0}0%,20%,50%,80%,100%{transform:translateX(-50%) translateY(0)}20%{opacity:0}40%{transform:translateX(-50%) translateY(-30px)}60%{transform:translateX(-50%) translateY(-15px)}100%{opacity:1}}@keyframes bounceFade{0%{opacity:0}0%,20%,50%,80%,100%{transform:translateX(-50%) translateY(0)}20%{opacity:0}40%{transform:translateX(-50%) translateY(-30px)}60%{transform:translateX(-50%) translateY(-15px)}100%{opacity:1}}[data-tooltip]{position:relative;z-index:2;cursor:pointer}[data-tooltip]:before,[data-tooltip]:after{visibility:hidden;opacity:0;pointer-events:none}[data-tooltip]:before{position:absolute;bottom:150%;left:50%;margin-bottom:5px;margin-left:-100px;padding:7px;width:200px;border-radius:3px;background-color:#000;background-color:rgba(51,51,51,.9);color:#fff;content:attr(data-tooltip);text-align:center;font-size:14px;line-height:1.2}[data-tooltip]:after{position:absolute;bottom:150%;left:50%;margin-left:-5px;width:0;border-top:5px solid #000;border-top:5px solid rgba(51,51,51,.9);border-right:5px solid transparent;border-left:5px solid transparent;content:" ";font-size:0;line-height:0}[data-tooltip]:hover:before,[data-tooltip]:hover:after{visibility:visible;opacity:1}
|
1 |
+
.zoom-instagram-widget .button-connect{color:#fff;border:1px solid #1c5380;border-radius:3px;background-color:#6f97b6;background-image:linear-gradient(to bottom, #6f97b6, #3f729b);background-position:50% 50%;box-shadow:0 1px 1px rgba(0,0,0,.1),inset 1px 0 0 rgba(255,255,255,.05),inset -1px 0 0 rgba(255,255,255,.05),inset 0 1px 0 rgba(255,255,255,.2);text-shadow:0 1px 1px #1c5380}.zoom-instagram-widget .button-connect:focus,.zoom-instagram-widget .button-connect:hover{border-color:#1c5380;color:#fff;background-image:linear-gradient(to bottom, #5D87A8, #3f729b)}.zoom-instagram-widget{background:#fff;padding:30px;border:1px solid #ddd;border-radius:3px;margin:30px 10px 30px 0 !important;box-shadow:1px 1px 2px rgba(0,0,0,.1);max-width:700px}.zoom-themes-link{border:1px solid #e2e9ec;padding:30px 30px 260px 30px;border-radius:3px;margin:30px 0 30px 0 !important;box-shadow:1px 1px 2px rgba(0,0,0,.1);max-width:700px;text-align:center}.zoom-themes-link p{font-size:15px;line-height:1.6}.cta-button{text-align:center;text-decoration:none;color:#fff;background:#3ebd3e;padding:10px 15px;display:inline-block;border-radius:3px;box-shadow:0 -1px 1px rgba(0,0,0,.2) inset;border:1px solid #259425;font-size:16px;text-shadow:1px 1px rgba(0,0,0,.3)}.cta-button:hover{background:#2a9b2a;color:#fff}#wpzoom-instagram-widget-settings_transient-lifetime-value{max-width:150px;float:left}#wpzoom-instagram-widget-settings_transient-lifetime-type{float:left;max-width:100px}.zoom-instagram-widget .wpzoom-instagram-widget-with-access-token-group{background-color:#fff6f6}.zoom-instagram-widget .wpzoom-instagram-widget-with-basic-access-token-group,.zoom-instagram-widget .wpzoom-instagram-widget-without-access-token-group{background-color:#e0f0e3}.zoom-instagram-widget .wpzoom-instagram-widget-with-basic-access-token-group th,.zoom-instagram-widget .wpzoom-instagram-widget-without-access-token-group th{padding-left:10px}.zoom-instagram-widget .label-wrap input[type=radio]:checked+label[for=wpzoom-instagram-widget-settings_with-basic-access-token],.zoom-instagram-widget .label-wrap input[type=radio]:checked+label[for=wpzoom-instagram-widget-settings_without-access-token]{background-color:#e0f0e3}.zoom-instagram-widget .label-wrap input[type=radio]:checked+label[for=wpzoom-instagram-widget-settings_with-access-token]{background-color:#fff6f6}.zoom-instagram-widget .wpzoom-instagram-widget-settings-request-type-wrapper{display:flex;flex-direction:column}.zoom-instagram-widget .wpzoom-instagram-widget-settings-request-type-wrapper .label-wrap{display:flex;align-items:center}.zoom-instagram-widget .wpzoom-instagram-widget-settings-request-type-wrapper .label-wrap input[type=radio]{z-index:2}.zoom-instagram-widget .wpzoom-instagram-widget-settings-request-type-wrapper .label-wrap label{padding:10px;width:100%;margin-left:-30px;padding-left:40px;z-index:1}.zoom-instagram-widget form h2{border-top:2px solid #eee;padding-top:40px}.zoom-instagram-widget .wpzoom-instagram-widget-with-token-group>td{padding-right:0px}.zoom-instagram-user-avatar-media-uploader .remove-avatar{margin:6px 20px;color:#a00}.zoom-instagram-user-avatar-media-uploader .file-wrapper{margin-top:10px}#wpzoom-instagram-widget-settings-user-info-biography{width:100%;min-height:100px}.wpz-insta-admin.post-php #wpbody-content{padding-bottom:0}.wpz-insta-admin.post-php #wpbody-content>.wrap #poststuff #post-body #post-body-content .wpz-insta_tabs-content .wpz-insta_sidebar .wpz-insta_sidebar-left .wpz-insta_sidebar-left-section,.wpz-insta-admin.post-php #wpbody-content>.wrap #poststuff #post-body #post-body-content .wpz-insta_tabs-content .wpz-insta_sidebar .wpz-insta_widget-preview .wpz-insta_widget-preview-view{max-height:60vh;min-height:200px}.wpz-insta-admin #wpfooter{position:relative}.wpz-insta-admin #wpbody-content{padding-bottom:165px}.wpz-insta-admin #wpbody-content .urgent{color:#ec2439}.wpz-insta-admin #wpbody-content .pro-only{position:absolute;top:0;right:0;line-height:1.5;color:#fff;background:#f57c00;padding:0 4px;border-radius:2px;transform:translate(50%, -50%)}.wpz-insta-admin #wpbody-content>.wrap>h1.wp-heading-inline,.wpz-insta-admin #wpbody-content>.wrap>.page-title-action,.wpz-insta-admin #wpbody-content>.wrap>.wp-header-end,.wpz-insta-admin #wpbody-content>.wrap>.wpz-insta-wrap~#posts-filter>.search-box,.wpz-insta-admin #wpbody-content>.wrap>.wpz-insta-wrap~#posts-filter>.tablenav,.wpz-insta-admin #wpbody-content>.wrap>.wpz-insta-wrap~#posts-filter>.wp-list-table>tfoot,.wpz-insta-admin #wpbody-content>.wrap #titlediv{display:none !important}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-notices .notice{display:block !important}.wpz-insta-admin #wpbody-content>.wrap input,.wpz-insta-admin #wpbody-content>.wrap textarea,.wpz-insta-admin #wpbody-content>.wrap select{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-weight:normal;color:#242628;border:1px solid #9ca2a7;border-radius:2px;box-shadow:none;transition:all .3s ease}.wpz-insta-admin #wpbody-content>.wrap input:hover,.wpz-insta-admin #wpbody-content>.wrap input:focus,.wpz-insta-admin #wpbody-content>.wrap textarea:hover,.wpz-insta-admin #wpbody-content>.wrap textarea:focus,.wpz-insta-admin #wpbody-content>.wrap select:hover,.wpz-insta-admin #wpbody-content>.wrap select:focus{color:#242628;border-color:#3496ff}.wpz-insta-admin #wpbody-content>.wrap input{color:#242628}.wpz-insta-admin #wpbody-content>.wrap input.wpz-insta_input{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif}.wpz-insta-admin #wpbody-content>.wrap input.wpz-insta_input-nobg{background:transparent}.wpz-insta-admin #wpbody-content>.wrap input[type=checkbox]{display:inline-flex;align-items:center;justify-content:center;color:#fff;background-color:#fff;height:1.25rem;width:1.25rem;border:none;border-radius:2px;box-shadow:inset 0 0 0 1px #81909c;transition:all .3s ease}.wpz-insta-admin #wpbody-content>.wrap input[type=checkbox]:hover{background-color:#ddd !important;box-shadow:inset 0 0 0 1px #81909c !important}.wpz-insta-admin #wpbody-content>.wrap input[type=checkbox]:hover:checked{background-color:#70b5fe !important;box-shadow:inset 0 0 0 1px transparent !important}.wpz-insta-admin #wpbody-content>.wrap input[type=checkbox]:focus{outline:none;box-shadow:inset 0 0 0 1px #81909c}.wpz-insta-admin #wpbody-content>.wrap input[type=checkbox]:focus:checked{box-shadow:inset 0 0 0 1px transparent}.wpz-insta-admin #wpbody-content>.wrap input[type=checkbox]::before{transition:all .3s ease}.wpz-insta-admin #wpbody-content>.wrap input[type=checkbox]:checked{background-color:#3496ff;box-shadow:inset 0 0 0 1px transparent}.wpz-insta-admin #wpbody-content>.wrap input[type=checkbox]:checked::before{content:url("data:image/svg+xml;utf8,%3Csvg%20width%3D%2214%22%20height%3D%2212%22%20viewBox%3D%220%200%2014%2012%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M12.779%201.00004L5.3618%2010.9753L1.06089%207.77735%22%20stroke%3D%22white%22%20stroke-width%3D%221.2%22%2F%3E%3C%2Fsvg%3E%0A");display:block;float:none;height:auto;width:auto;margin:0}.wpz-insta-admin #wpbody-content>.wrap .disabled,.wpz-insta-admin #wpbody-content>.wrap .disable{pointer-events:none}.wpz-insta-admin #wpbody-content>.wrap .disable{opacity:.5}.wpz-insta-admin #wpbody-content>.wrap .help{display:inline-block;cursor:help;font-size:20px;vertical-align:text-bottom;height:16px;width:16px;transition:all .2s ease;position:relative}.wpz-insta-admin #wpbody-content>.wrap .wide-text-field{padding:0;margin:0 0 2em}.wpz-insta-admin #wpbody-content>.wrap .wide-text-field label>strong{font-size:15px !important}.wpz-insta-admin #wpbody-content>.wrap .wide-text-field label>em{color:rgba(36,38,40,.8)}.wpz-insta-admin #wpbody-content>.wrap .wide-text-field input[type=text]{display:block;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-size:15px;font-weight:normal;line-height:40px;color:#242628;width:100%;min-height:40px;padding:0 10px;box-sizing:border-box;margin:.7em 0}.wpz-insta-admin #wpbody-content>.wrap .submit-button{padding:0;margin:0}.wpz-insta-admin #wpbody-content>.wrap .button.disabled{pointer-events:none !important}.wpz-insta-admin #wpbody-content>.wrap .button:not(.wp-color-result),.wpz-insta-admin #wpbody-content>.wrap .button-primary,.wpz-insta-admin #wpbody-content>.wrap .button-secondary{display:inline-flex;align-items:center;justify-content:center;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-size:13px;font-weight:600;line-height:35px;min-height:35px;padding:0 12px;border:0;border-radius:2px;transition:all .2s ease}.wpz-insta-admin #wpbody-content>.wrap .button:not(.wp-color-result).button-large,.wpz-insta-admin #wpbody-content>.wrap .button-primary.button-large,.wpz-insta-admin #wpbody-content>.wrap .button-secondary.button-large{min-height:48px;padding:0 40px;margin:0}.wpz-insta-admin #wpbody-content>.wrap .button.wp-color-result{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-size:13px}.wpz-insta-admin #wpbody-content>.wrap .button-primary{color:#fff;background:#3496ff}.wpz-insta-admin #wpbody-content>.wrap .button-primary:hover,.wpz-insta-admin #wpbody-content>.wrap .button-primary:active{color:#fff;background:#70b5fe}.wpz-insta-admin #wpbody-content>.wrap .button-primary.button-positive{color:#fff;background:#2b6}.wpz-insta-admin #wpbody-content>.wrap .button-primary.button-positive:hover,.wpz-insta-admin #wpbody-content>.wrap .button-primary.button-positive:active{background:#3bdb82}.wpz-insta-admin #wpbody-content>.wrap .button-primary.button-negative{color:#fff;background:#ec2439}.wpz-insta-admin #wpbody-content>.wrap .button-primary.button-negative:hover,.wpz-insta-admin #wpbody-content>.wrap .button-primary.button-negative:active{background:#f05161}.wpz-insta-admin #wpbody-content>.wrap .button-secondary{color:#81909c;background:#fff;box-shadow:inset 0 0 0 1px #ddd}.wpz-insta-admin #wpbody-content>.wrap .button-secondary:hover,.wpz-insta-admin #wpbody-content>.wrap .button-secondary:active{background:#ddd}.wpz-insta-admin #wpbody-content>.wrap .button-secondary.button-positive{color:#2b6;background:#fff;box-shadow:inset 0 0 0 1px #2b6}.wpz-insta-admin #wpbody-content>.wrap .button-secondary.button-positive:hover,.wpz-insta-admin #wpbody-content>.wrap .button-secondary.button-positive:active{color:#242628;background:#fff;box-shadow:inset 0 0 0 1px #242628}.wpz-insta-admin #wpbody-content>.wrap .button-secondary.button-negative{color:#ec2439;background:#fff;box-shadow:inset 0 0 0 1px #ec2439}.wpz-insta-admin #wpbody-content>.wrap .button-secondary.button-negative:hover,.wpz-insta-admin #wpbody-content>.wrap .button-secondary.button-negative:active{color:#242628;background:#fff;box-shadow:inset 0 0 0 1px #242628}.wpz-insta-admin #wpbody-content>.wrap .button-link{color:#3496ff;transition:all .2s ease}.wpz-insta-admin #wpbody-content>.wrap .button-link.wpz-insta_button-link{font-weight:normal;line-height:1;min-height:0;padding:0;margin:1.5em 0 0}.wpz-insta-admin #wpbody-content>.wrap .button-link.wpz-insta_button-link:hover,.wpz-insta-admin #wpbody-content>.wrap .button-link.wpz-insta_button-link:active,.wpz-insta-admin #wpbody-content>.wrap .button-link.wpz-insta_button-link:focus{color:#70b5fe;background:transparent}.wpz-insta-admin #wpbody-content>.wrap .button-link:hover,.wpz-insta-admin #wpbody-content>.wrap .button-link:active,.wpz-insta-admin #wpbody-content>.wrap .button-link:focus{color:#70b5fe}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_suffixed-number-input{display:flex;gap:12px}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_suffixed-number-input>*{margin:0}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_suffixed-number-input>*:first-child{flex-grow:1}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_profile-photo{display:block;height:100px;width:100px;border-radius:50%}.wpz-insta-admin #wpbody-content>.wrap a{text-decoration:none;color:#3496ff;transition:all .2s ease}.wpz-insta-admin #wpbody-content>.wrap a:hover,.wpz-insta-admin #wpbody-content>.wrap a:active,.wpz-insta-admin #wpbody-content>.wrap a:focus{text-decoration:none;color:#70b5fe}.wpz-insta-admin #wpbody-content>.wrap a.linked{border-bottom:1px solid rgba(52,150,255,.3)}.wpz-insta-admin #wpbody-content>.wrap a.linked:hover,.wpz-insta-admin #wpbody-content>.wrap a.linked:active,.wpz-insta-admin #wpbody-content>.wrap a.linked:focus{border-bottom-color:rgba(112,181,254,.3)}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_back-button{display:inline-flex;align-items:center;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-size:14px;font-weight:600;text-decoration:none;color:#242628;margin:10px 0 0;transition:all .2s ease}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_back-button:hover,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_back-button:active{color:#3496ff}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_back-button:hover svg,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_back-button:active svg{color:#3496ff;fill:#3496ff}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_back-button svg{color:#242628;fill:#242628;margin:0 6px 0 0;transition:all .2s ease}.wpz-insta-admin #wpbody-content>.wrap .wpzinsta-pointer{position:absolute;top:calc(100% + 3px);left:50%;z-index:1000;cursor:default;font-size:14px;color:#fff;background:#3496ff;width:-webkit-max-content;width:-moz-max-content;width:max-content;padding:4px 10px;border-radius:3px;box-shadow:1px 1px 2px rgba(0,0,0,.3);transform:translateX(-50%);-webkit-animation-name:bounceFade;animation-name:bounceFade;-webkit-animation-duration:1s;animation-duration:1s;-webkit-animation-fill-mode:both;animation-fill-mode:both}.wpz-insta-admin #wpbody-content>.wrap .wpzinsta-pointer>i{position:absolute;top:-10px;left:50%;pointer-events:none;height:10px;width:20px;transform:translateX(-50%);overflow:hidden}.wpz-insta-admin #wpbody-content>.wrap .wpzinsta-pointer>i::before{content:"";position:absolute;left:50%;bottom:-4px;pointer-events:initial;background:#3496ff;height:8px;width:8px;box-shadow:0 0 2px rgba(0,0,0,.3);transform:translateX(-50%) rotateZ(45deg)}.wpz-insta-admin #wpbody-content>.wrap .fit-max-content{max-width:-webkit-max-content;max-width:-moz-max-content;max-width:max-content}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-add-new a,.wpz-insta-admin #wpbody-content>.wrap #wpz-insta_tabs-config-cnnct .wpz-insta_tabs-config-connect-add{position:relative}.wpz-insta-admin #wpbody-content>.wrap .wp-picker-container{display:inline-flex;position:relative}.wpz-insta-admin #wpbody-content>.wrap .wp-picker-container:not(:focus-within) .wp-picker-holder{pointer-events:none;opacity:0}.wpz-insta-admin #wpbody-content>.wrap .wp-picker-container .wp-color-result{position:absolute;top:50%;left:5px;pointer-events:none;height:20px;min-height:0;width:20px;padding:0;border-radius:4px;margin:0;transform:translateY(-50%)}.wpz-insta-admin #wpbody-content>.wrap .wp-picker-container .wp-color-result:active{transform:translateY(-50%) !important}.wpz-insta-admin #wpbody-content>.wrap .wp-picker-container .wp-color-result .wp-color-result-text{display:none}.wpz-insta-admin #wpbody-content>.wrap .wp-picker-container .wp-picker-input-wrap{display:block}.wpz-insta-admin #wpbody-content>.wrap .wp-picker-container .wp-picker-input-wrap input{line-height:2;width:auto;padding-left:30px}.wpz-insta-admin #wpbody-content>.wrap .wp-picker-container .wp-picker-input-wrap .wp-picker-clear{display:none}.wpz-insta-admin #wpbody-content>.wrap .wp-picker-container .wp-picker-holder{display:block;position:fixed;top:100%;left:0;z-index:999;transition:all .2s ease}.wpz-insta-admin #wpbody-content>.wrap .wp-picker-container .wp-picker-holder .iris-picker{display:block !important}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_two-columns{display:flex;align-items:center;list-style:none;padding:0;margin:1.5em 0 0}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_two-columns.wpz-insta_two-columns-left-small{align-items:flex-start;gap:30px;margin-top:0}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_two-columns.wpz-insta_two-columns-left-small>*{text-align:left !important}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_two-columns.wpz-insta_two-columns-left-small>*:first-child{flex-grow:0;width:auto}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_two-columns>*{flex-grow:1;list-style:none;width:100%;padding:0;margin:0}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_two-columns>*:first-child{text-align:left}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_two-columns>*:last-child{text-align:right}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_notice{display:flex;align-items:center;font-size:12px;padding:0;margin:1.5em 0 0 !important}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_notice::before{content:"";display:block;background-image:url("data:image/svg+xml,%3Csvg width='14' height='14' viewBox='0 0 14 14' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M6.3 3.5H7.7V4.9H6.3V3.5ZM6.3 6.3H7.7V10.5H6.3V6.3ZM7 0C3.136 0 0 3.136 0 7C0 10.864 3.136 14 7 14C10.864 14 14 10.864 14 7C14 3.136 10.864 0 7 0ZM7 12.6C3.913 12.6 1.4 10.087 1.4 7C1.4 3.913 3.913 1.4 7 1.4C10.087 1.4 12.6 3.913 12.6 7C12.6 10.087 10.087 12.6 7 12.6Z'/%3E%3C/svg%3E");height:14px;width:14px;margin:0 .8em 0 0}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_notice p{padding:0;margin:0}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-header{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;color:#242628;background:#fff;padding:15px 30px 0;border:1px solid #ddd;border-radius:3px;box-shadow:1px 1px 2px rgba(0,0,0,.1);margin:3em 0}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-header #major-publishing-actions{background:transparent;padding:0 0 1em;border:0}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-header #major-publishing-actions #publishing-action{display:flex;align-items:center;gap:20px;float:none}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-header #major-publishing-actions #publishing-action .spinner{margin:0}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-header.wpz-insta-wrap-sides{display:flex;align-items:center;margin-top:1em}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-header.wpz-insta-wrap-sides .wpz-insta-wrap-left{flex-grow:1}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-header .wpz-insta_settings-main-title{font-size:24px;font-weight:600;line-height:29px;padding:0;margin:0}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-header .wpz-insta_settings-main-title small{font-size:14px;font-weight:normal;line-height:17px;color:#81909c}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-header .wpz-insta_settings-main-title small a{text-decoration:none;color:#81909c;transition:all .2s ease}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-header .wpz-insta_settings-main-title small a:hover,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-header .wpz-insta_settings-main-title small a:active{color:#3496ff}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-header .wpz-insta_settings-main-title .pro{color:#f57c00}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-header .wpz-insta_settings-main-title #title{position:relative;font-size:24px;font-weight:600;text-overflow:ellipsis;line-height:29px;background:transparent url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M3 17.2505V21.0005H6.75L17.81 9.94055L14.06 6.19055L3 17.2505ZM20.71 7.04055C21.1 6.65055 21.1 6.02055 20.71 5.63055L18.37 3.29055C17.98 2.90055 17.35 2.90055 16.96 3.29055L15.13 5.12055L18.88 8.87055L20.71 7.04055Z' fill='%2381909C'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:center right;min-width:100px;max-width:82%;padding:0 24px 0 0;border:0;outline:none;margin:0;overflow:hidden;box-shadow:0 0 0 1px transparent;transition:all .2s ease}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-header .wpz-insta_settings-main-title #title:hover,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-header .wpz-insta_settings-main-title #title:focus{box-shadow:0 0 0 1px #3496ff}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-header .wpz-insta_settings-sub-title{font-size:18px;font-weight:normal;line-height:22px;color:#242628;margin:16px 0}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-header .wpz-insta_settings-main-nav{font-size:18px;font-weight:normal;line-height:22px;padding:0;margin:0}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-header .wpz-insta_settings-main-nav ul{display:flex;list-style:none;gap:40px;padding:0;margin:0}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-header .wpz-insta_settings-main-nav ul li{position:relative;list-style:none;padding:0;margin:0;transition:all .2s ease}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-header .wpz-insta_settings-main-nav ul li.active a{cursor:default;pointer-events:none}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-header .wpz-insta_settings-main-nav ul li.active a::after{transform:translateY(0)}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-header .wpz-insta_settings-main-nav ul li a{display:block;position:relative;text-decoration:none;color:#242628;outline:none;padding:16px 0;box-shadow:none;overflow:hidden;transition:all .2s ease}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-header .wpz-insta_settings-main-nav ul li a:active,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-header .wpz-insta_settings-main-nav ul li a:focus{outline:none;box-shadow:none}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-header .wpz-insta_settings-main-nav ul li a:hover{color:#3496ff}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-header .wpz-insta_settings-main-nav ul li a::after{content:"";position:absolute;left:0;right:0;bottom:0;background:#3496ff;height:6px;border-radius:2px 2px 0 0;transform:translateY(100%);transition:all .2s ease}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap.with-bg{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-size:14px;color:#242628;background:#fff;padding:25px 30px;border:1px solid #ddd;border-radius:3px;box-shadow:1px 1px 2px rgba(0,0,0,.1)}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap.with-bg *:not(h2):not(small){font-size:14px}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter{margin:2em 0 0}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;color:#242628;background:#fff;padding:15px 30px;border:1px solid #ddd;border-radius:3px;box-shadow:1px 1px 2px rgba(0,0,0,.1)}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table thead th,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table thead td{border-bottom:1px solid #000}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table thead th.column-wpz-insta_account-photo,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table thead th.column-wpz-insta_account-bio,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table thead th.column-wpz-insta_account-token,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table thead td.column-wpz-insta_account-photo,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table thead td.column-wpz-insta_account-bio,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table thead td.column-wpz-insta_account-token{display:none}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table thead th{font-weight:600;padding-left:0;padding-right:0}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table thead th.column-wpz-insta_actions{text-align:right}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table thead th a{color:#000;padding:14px 0;transition:all .2s ease}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table thead th a:hover,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table thead th a:active{color:#3496ff}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody tr{display:table-row !important;position:relative;background:transparent}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody tr:first-child th,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody tr:first-child td,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody tr.inline-edit-row th,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody tr.inline-edit-row td{border-top:none}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody tr.inline-edit-row td{padding-top:0}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody th,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody td{vertical-align:middle;padding:20px 0;border-top:1px solid #ddd}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody th.column-wpz-insta_account-photo,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody th.column-wpz-insta_account-bio,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody th.column-wpz-insta_account-token,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody td.column-wpz-insta_account-photo,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody td.column-wpz-insta_account-bio,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody td.column-wpz-insta_account-token{display:none}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody th.check-column{padding:0}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody td>*{margin:0}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody td a:not(.button){color:#3496ff;transition:all .2s ease}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody td a:not(.button):hover,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody td a:not(.button):active{color:#000}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody td .row-actions{display:none}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody td .wpz-insta_quick-edit{overflow:hidden;-webkit-animation-name:slidedown;animation-name:slidedown;-webkit-animation-duration:1s;animation-duration:1s}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody td .wpz-insta_quick-edit .wpz-insta_quick-edit-columns{display:flex;list-style:none;padding:0;margin:0}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody td .wpz-insta_quick-edit .wpz-insta_quick-edit-columns>li{flex-grow:1;list-style:none;padding:0;margin:0}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody td .wpz-insta_quick-edit .wpz-insta_quick-edit-columns>li div{display:block;margin:0 0 10px}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody td .wpz-insta_quick-edit .wpz-insta_quick-edit-columns>li div:last-child{margin-bottom:0}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody td .wpz-insta_quick-edit .wpz-insta_quick-edit-columns>li strong:first-child,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody td .wpz-insta_quick-edit .wpz-insta_quick-edit-columns>li label>strong:first-child{display:inline-block;margin:0 0 5px}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody td .wpz-insta_quick-edit .wpz-insta_quick-edit-columns>li input:not(.widefat),.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody td .wpz-insta_quick-edit .wpz-insta_quick-edit-columns>li textarea{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;width:60%}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody td .inline-edit-save{position:absolute;top:-10px;right:0;padding:0;transform:translateY(-100%)}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody td .inline-edit-save .button{float:none}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody td .inline-edit-save .button.cancel{color:#3496ff;background:transparent;box-shadow:inset 0 0 0 1px #3496ff;margin:0 1em 0 0}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody td .inline-edit-save .button.cancel:hover,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody td .inline-edit-save .button.cancel:active,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody td .inline-edit-save .button.cancel:focus{color:#000;box-shadow:inset 0 0 0 1px #000}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody td .inline-edit-save .spinner{float:left}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody .column-title,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody .column-wpz-insta_account{width:50%}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody .column-wpz-insta_account a{color:#242628}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody .column-wpz-insta_account a:hover,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody .column-wpz-insta_account a:active{color:#3496ff}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody .column-wpz-insta_actions{text-align:right;width:5%}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody .column-wpz-insta_actions strong{position:relative;cursor:pointer;font-size:20px;font-weight:600;text-align:right;white-space:nowrap;transition:all .2s ease}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody .column-wpz-insta_actions strong:hover,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody .column-wpz-insta_actions strong:active{color:#3496ff}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody .wpz-insta_actions-menu{display:inline-block;position:relative;text-align:right}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody .wpz-insta_actions-menu:hover .wpz-insta_hidden{pointer-events:auto;opacity:1}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody .wpz-insta_actions-menu:hover strong{color:#3496ff}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody .wpz-insta_actions-menu:hover strong::after{content:"";position:absolute;left:-50px;right:0;bottom:-15px;height:25px}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody .wpz-insta_actions-menu .wpz-insta_hidden{position:absolute;right:0;bottom:-10px;z-index:999;pointer-events:none;text-align:left;background:#fff;min-width:200px;opacity:0;padding:0;border-radius:3px;margin:0;box-shadow:1px 4px 8px rgba(0,0,0,.1);transform:translate(0%, 100%);transition:opacity .2s ease}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody .wpz-insta_actions-menu .wpz-insta_hidden li{white-space:nowrap;margin:0;transition:all .2s ease}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody .wpz-insta_actions-menu .wpz-insta_hidden li:first-child a,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody .wpz-insta_actions-menu .wpz-insta_hidden li:first-child button{padding-top:10px}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody .wpz-insta_actions-menu .wpz-insta_hidden li:last-child a,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody .wpz-insta_actions-menu .wpz-insta_hidden li:last-child button{padding-bottom:10px}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody .wpz-insta_actions-menu .wpz-insta_hidden li.wpz-insta_actions-menu_divider{pointer-events:none;background:#ddd;height:1px;padding:0;margin:5px 20px}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody .wpz-insta_actions-menu .wpz-insta_hidden li.wpz-insta_actions-menu_delete a:hover{color:#ec2439}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody .wpz-insta_actions-menu .wpz-insta_hidden li a,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody .wpz-insta_actions-menu .wpz-insta_hidden li button{display:block;white-space:nowrap;color:#242628;width:100%;padding:7px 20px;margin:0;box-sizing:border-box;transition:all .2s ease}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody .wpz-insta_actions-menu .wpz-insta_hidden li a:hover,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody .wpz-insta_actions-menu .wpz-insta_hidden li button:hover{color:#3496ff}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody .inline-edit-col-left,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta-wrap~#posts-filter .wp-list-table tbody .inline-edit-col-right{display:none}.wpz-insta-admin #wpbody-content>.wrap #poststuff{padding:0;margin:0}.wpz-insta-admin #wpbody-content>.wrap #poststuff #post-body{margin:0}.wpz-insta-admin #wpbody-content>.wrap #poststuff #post-body #post-body-content{float:none;margin:0}.wpz-insta-admin #wpbody-content>.wrap #poststuff #post-body .postbox-container{display:none}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_tabs-content{display:grid}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_tabs-content *{pointer-events:inherit}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_tabs-content>*{grid-column:1;grid-row:1;align-self:start}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_tabs-content>*:not(.active){pointer-events:none;opacity:0}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_tabs-content>*:not(.active) *{pointer-events:none !important}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar{display:flex;gap:20px;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;color:#242628}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar.hide{pointer-events:none}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar:not(.show-pro) .wpz-insta_pro-only{display:none}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar input,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar textarea,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar select{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-size:14px}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar .wpz-insta_sidebar-left,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar .wpz-insta_sidebar-right{background:#fff;border:1px solid #ddd;border-radius:3px;box-shadow:1px 1px 2px rgba(0,0,0,.1)}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar .wpz-insta_sidebar-left{display:grid;grid-template-rows:auto 1fr;flex-basis:28%}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar .wpz-insta_sidebar-left.is-pro .wpz-insta_sidebar-left-section{max-height:70vh !important}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar .wpz-insta_sidebar-left .wpz-insta_sidebar-left-section-head{display:flex;align-items:center;grid-column:1;grid-row:1;background:#fafafa;min-height:30px;padding:20px;border-bottom:1px solid #ddd}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar .wpz-insta_sidebar-left .wpz-insta_sidebar-left-section{grid-column:1;grid-row:2;align-self:start;transition:all .3s ease;overflow-x:hidden;overflow-y:auto}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar .wpz-insta_sidebar-left .wpz-insta_sidebar-left-section:not(.active){pointer-events:none;opacity:0}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar .wpz-insta_sidebar-right{flex-grow:1;position:relative}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar .wpz-insta_sidebar-right.is-loading{transition:all .3s ease}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar .wpz-insta_sidebar-right.is-loading.hide-loading::before{opacity:0}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar .wpz-insta_sidebar-right.is-loading::before{content:"";position:absolute;top:300px;left:50%;z-index:1;background-image:url("data:image/svg+xml,%3Csvg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' viewBox='0 0 50 50' xml:space='preserve'%3E%3Cpath fill='%233496ff' d='M43.935,25.145c0-10.318-8.364-18.683-18.683-18.683c-10.318,0-18.683,8.365-18.683,18.683h4.068c0-8.071,6.543-14.615,14.615-14.615c8.072,0,14.615,6.543,14.615,14.615H43.935z'%3E%3CanimateTransform attributeType='xml' attributeName='transform' type='rotate' from='0 25 25' to='360 25 25' dur='0.6s' repeatCount='indefinite'/%3E%3C/path%3E%3C/svg%3E");background-size:contain;height:64px;width:64px;opacity:1;transform:translateX(-50%);transition:all .3s ease}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section-big-title{font-size:18px;font-weight:600;margin:30px 20px}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section{padding:30px 0 0;border-top:1px solid #ddd;margin:30px 20px 20px}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section:first-child,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section.no-top-border{padding-top:0;border-top:0;margin-top:20px}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_sidebar-section-title{font-size:18px;font-weight:600;margin:0 0 15px}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_sidebar-section-title.smaller-title{font-size:14px}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_sidebar-section-description{font-size:14px;font-weight:normal;margin:0 0 20px}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_sidebar-section-description:last-child{margin-bottom:0}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section p{font-size:14px}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section ul li,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section ol li{margin-bottom:1em}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_text-btn-aligned{display:flex;align-items:stretch;gap:15px;width:100%}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_text-btn-aligned>input{flex-grow:1;margin:0}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_shortcode,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_shortcode-copy-btn{display:flex;align-items:center;font-size:14px;line-height:2}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_shortcode{background:transparent;border:1px solid #ddd}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_shortcode-copy-btn{display:grid;text-align:center;color:#3496ff;background:transparent;border:1px solid #3496ff;box-shadow:none;transition:all .3s ease}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_shortcode-copy-btn:hover{color:#fff;background:#3496ff}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_shortcode-copy-btn.success{color:#fff;background:#2b6;border-color:#2b6}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_shortcode-copy-btn.success .wpz-insta_shortcode-copy-btn-text-normal{opacity:0}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_shortcode-copy-btn.success .wpz-insta_shortcode-copy-btn-text-success{opacity:1}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_shortcode-copy-btn .wpz-insta_shortcode-copy-btn-text-normal,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_shortcode-copy-btn .wpz-insta_shortcode-copy-btn-text-success{grid-column:1;grid-row:1;transition:all .3s ease}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_shortcode-copy-btn .wpz-insta_shortcode-copy-btn-text-normal{opacity:1}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_shortcode-copy-btn .wpz-insta_shortcode-copy-btn-text-success{opacity:0}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_feed-user-select.is-set .wpz-insta_feed-user-select-input .wpz-insta_feed-user-select-button-wrap .wpz-insta_feed-user-select-button-highlight{display:none}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_feed-user-select.is-set .wpz-insta_feed-user-select-input .wpz-insta_feed-user-select-button-wrap .wpz-insta_feed-user-select-button{pointer-events:none;opacity:0}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_feed-user-select.is-set .wpz-insta_feed-user-select-edit-link{display:inline-block}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_feed-user-select:not(.is-set) .wpz-insta_feed-user-select-input .wpz-insta_feed-user-select-info{pointer-events:none;opacity:0}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_feed-user-select .wpz-insta_feed-user-select-input{display:grid;background:#eee;border:1px solid #9ca2a7;border-radius:4px}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_feed-user-select .wpz-insta_feed-user-select-input .wpz-insta_feed-user-select-info{display:flex;align-items:center;justify-content:space-between;grid-column:1;grid-row:1;margin:15px;transition:all .3s ease}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_feed-user-select .wpz-insta_feed-user-select-input .wpz-insta_feed-user-select-info .wpz-insta_feed-user-select-info-left .wpz-insta_feed-user-select-info-name{font-size:14px;font-weight:600;padding:0;margin:0}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_feed-user-select .wpz-insta_feed-user-select-input .wpz-insta_feed-user-select-info .wpz-insta_feed-user-select-info-left .wpz-insta_feed-user-select-info-type{font-size:12px;color:#81909c;padding:0;margin:0}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_feed-user-select .wpz-insta_feed-user-select-input .wpz-insta_feed-user-select-info .wpz-insta_feed-user-remove-button{font-size:13px;font-weight:600;color:#3496ff;background:transparent;border:1px solid #3496ff;box-shadow:none}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_feed-user-select .wpz-insta_feed-user-select-input .wpz-insta_feed-user-select-info .wpz-insta_feed-user-remove-button:hover{color:#ec2439;border-color:#ec2439}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_feed-user-select .wpz-insta_feed-user-select-input .wpz-insta_feed-user-select-button-wrap{position:relative;display:flex;align-items:stretch;justify-content:stretch;grid-column:1;grid-row:1;pointer-events:none}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_feed-user-select .wpz-insta_feed-user-select-input .wpz-insta_feed-user-select-button-wrap .wpz-insta_feed-user-select-button-highlight{display:block;position:absolute;top:-2px;left:-2px;right:-2px;bottom:-2px;z-index:1;pointer-events:none;border:0;border-radius:6px;box-shadow:inset 0 0 1px 1px #3496ff,0 0 1px 1px #3496ff;transition:all .3s ease;-webkit-animation:highlighting .8s infinite;animation:highlighting .8s infinite}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_feed-user-select .wpz-insta_feed-user-select-input .wpz-insta_feed-user-select-button-wrap .wpz-insta_feed-user-select-button{display:flex;flex-grow:1;position:relative;z-index:2;pointer-events:all;font-size:14px;font-weight:600;color:#242628;background:#eee;opacity:1;border:0;border-radius:4px;box-shadow:none;transition:all .3s ease}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_feed-user-select .wpz-insta_feed-user-select-input .wpz-insta_feed-user-select-button-wrap .wpz-insta_feed-user-select-button:hover{color:#fff;background:#3496ff}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_feed-user-select .wpz-insta_feed-user-select-edit-link{display:none;margin:20px 0 0}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_feed-layout{display:flex;align-items:end;gap:10px;max-height:999em;margin:0 0 20px}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_feed-layout .wpz-insta_feed-layout-pro{display:flex;gap:15px;padding:10px;border-radius:4px;box-shadow:0 0 0 2px #f57c00;max-width:76%;box-sizing:border-box}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_feed-layout .wpz-insta_feed-layout-pro legend{font-size:13px;font-weight:600;color:#fff;background:#f57c00;padding:0 5px;margin:0 auto;border-radius:2px;box-shadow:none}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_feed-layout .wpz-insta_feed-layout-pro .wpz-insta_feed-layout-option{pointer-events:none;opacity:.75}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_feed-layout>.wpz-insta_feed-layout-option{margin-bottom:10px !important;max-width:21%}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_feed-layout .wpz-insta_feed-layout-option{display:block;background:transparent;padding:0;border:0;box-shadow:none;outline:none;margin:0;transition:all .3s ease}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_feed-layout .wpz-insta_feed-layout-option.disabled{pointer-events:none;opacity:.4}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_feed-layout .wpz-insta_feed-layout-option:hover svg{color:#9ca2a7;fill:#9ca2a7}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_feed-layout .wpz-insta_feed-layout-option input{display:none}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_feed-layout .wpz-insta_feed-layout-option svg{display:block;color:#81909c;fill:#81909c;max-width:100%;height:auto;transition:all .3s ease}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_feed-layout .wpz-insta_feed-layout-option input:checked~svg{color:#3496ff;fill:#3496ff}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_feed-layout-etc,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_feed-general,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_feed-profile-general,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_feed-load-more-general{font-size:14px}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_table{display:flex;flex-direction:column;gap:20px;width:100%}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_table .wpz-insta_table-row{display:flex;align-items:center;width:100%}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_table .wpz-insta_table-row.wpz-insta_table-row-full{flex-direction:column;align-items:stretch}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_table .wpz-insta_table-row.wpz-insta_table-row-full .wpz-insta_table-cell{width:100%}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_table .wpz-insta_table-row.hidden{display:none}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_table .wpz-insta_table-row .wpz-insta_table-cell{display:block;white-space:nowrap;line-height:30px;width:50%}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_table .wpz-insta_table-row .wpz-insta_table-cell input{margin:0}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_table .wpz-insta_table-row>input[type=checkbox]{margin:0 1em 0 0}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_show-on-hover{display:table-row}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_show-on-hover>strong{display:block;margin:0 0 20px}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_feed-only-pro{display:flex;flex-direction:column;gap:20px;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;padding:0}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_feed-only-pro.wpz-insta_pro-only-with-bottom{padding-bottom:10px;border-bottom:2px solid #f57c00}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_feed-only-pro.hidden{display:none}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_feed-only-pro legend{display:flex;width:100%;padding:0;border-bottom:2px solid #f57c00;margin:0 0 10px}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_feed-only-pro legend>strong{font-size:13px;color:#fff;background:#f57c00;padding:0 5px;border-top-left-radius:2px;border-top-right-radius:2px;box-shadow:none}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section .wpz-insta_feed-only-pro>label{opacity:.5}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section.wpz-insta_sidebar-section-token,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section.wpz-insta_sidebar-section-check-new,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section.wpz-insta_sidebar-section-request-timeout{max-height:0;opacity:0;overflow:hidden;padding-top:0;margin-top:0;margin-bottom:0;transition:all .3s ease}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section.wpz-insta_sidebar-section-token.active,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section.wpz-insta_sidebar-section-check-new.active,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section.wpz-insta_sidebar-section-request-timeout.active{max-height:999em;opacity:1;padding-top:30px;margin-top:30px;margin-bottom:20px;overflow:visible}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section.wpz-insta_sidebar-section-token #wpz-insta_user-token{display:block;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-size:14px;font-weight:normal;text-overflow:ellipsis;color:#242628;background:#fff;width:100%;padding:4px 8px;border:1px solid #ddd;border-radius:2px;box-shadow:none}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section.wpz-insta_sidebar-section-request-timeout>label>strong{font-size:14px}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section.wpz-insta_sidebar-section-load-more.wpz-insta_pro-only{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;padding-top:0;padding-bottom:20px;border-top:none;border-bottom:2px solid #f57c00;margin-top:0}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section.wpz-insta_sidebar-section-load-more.wpz-insta_pro-only .wpz-insta_sidebar-section-title,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_sidebar-section.wpz-insta_sidebar-section-load-more.wpz-insta_pro-only .wpz-insta_table>label{opacity:.5}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_widget-preview{position:relative;z-index:2;padding:0;margin:0}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_widget-preview .wpz-insta_widget-preview-header{display:flex;align-items:center;padding:0;border-bottom:1px solid #ddd;margin:0}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_widget-preview .wpz-insta_widget-preview-header .wpz-insta_widget-preview-header-title{flex-grow:1;font-size:14px;font-weight:600;text-align:center;padding:0;margin:0}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_widget-preview .wpz-insta_widget-preview-header .wpz-insta_widget-preview-header-links{display:flex;padding:0;margin:0;transition:all .3s ease}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_widget-preview .wpz-insta_widget-preview-header .wpz-insta_widget-preview-header-links.disabled{pointer-events:none;opacity:.3}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_widget-preview .wpz-insta_widget-preview-header .wpz-insta_widget-preview-header-links.disabled .wpz-insta_widget-preview-header-link.active{background:#ddd}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_widget-preview .wpz-insta_widget-preview-header .wpz-insta_widget-preview-header-links.disabled .wpz-insta_widget-preview-header-link.active svg{fill:#81909c}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_widget-preview .wpz-insta_widget-preview-header .wpz-insta_widget-preview-header-links .wpz-insta_widget-preview-header-link{display:flex;align-items:center;justify-content:center;cursor:pointer;background:#ddd;min-width:70px;min-height:70px;padding:0;margin:0;transition:all .3s ease}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_widget-preview .wpz-insta_widget-preview-header .wpz-insta_widget-preview-header-links .wpz-insta_widget-preview-header-link:hover{background:#eee}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_widget-preview .wpz-insta_widget-preview-header .wpz-insta_widget-preview-header-links .wpz-insta_widget-preview-header-link.active{cursor:default;color:#fff;background:#3496ff}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_widget-preview .wpz-insta_widget-preview-header .wpz-insta_widget-preview-header-links .wpz-insta_widget-preview-header-link.active svg{fill:#fff}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_widget-preview .wpz-insta_widget-preview-header .wpz-insta_widget-preview-header-links .wpz-insta_widget-preview-header-link svg{fill:#81909c;padding:0;margin:0;transition:all .3s ease}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_widget-preview .wpz-insta_widget-preview-view{display:flex;align-items:start;justify-content:center;padding:0;margin:0;overflow-x:hidden;overflow-y:auto;transition:all .3s ease}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_widget-preview .wpz-insta_widget-preview-view.wpz-insta_widget-preview-size-desktop .wpz-insta_widget-preview-view-inner{max-width:500px}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_widget-preview .wpz-insta_widget-preview-view.wpz-insta_widget-preview-size-tablet .wpz-insta_widget-preview-view-inner{max-width:768px}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_widget-preview .wpz-insta_widget-preview-view.wpz-insta_widget-preview-size-mobile .wpz-insta_widget-preview-view-inner{max-width:380px}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_widget-preview .wpz-insta_widget-preview-view.layout-fullwidth.wpz-insta_widget-preview-size-desktop .wpz-insta_widget-preview-view-inner{max-width:100%}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_widget-preview .wpz-insta_widget-preview-view .wpz-insta_widget-preview-view-inner{flex-grow:1;padding:0;transition:all .3s ease}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_widget-preview .wpz-insta_widget-preview-view .wpz-insta_widget-preview-view-inner iframe{display:block;height:400px;width:100%;visibility:visible;opacity:1;overflow:hidden;transition:all .3s ease}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_widget-preview .wpz-insta_widget-preview-view .wpz-insta_widget-preview-view-inner iframe.wpz-insta_preview-hidden{pointer-events:none;visibility:hidden;opacity:0}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_tabs-config-connect{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;color:#242628;background:#fff;padding:25px 30px;border:1px solid #ddd;border-radius:3px;box-shadow:1px 1px 2px rgba(0,0,0,.1)}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_tabs-config-connect .wpz-insta_tabs-config-connect-title{font-size:24px;font-weight:600;padding:0;margin:0 0 10px}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_tabs-config-connect .wpz-insta_tabs-config-connect-description{padding:0;margin:0 0 20px}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_tabs-config-connect .wpz-insta_tabs-config-connect-accounts{display:grid;grid-template-columns:repeat(auto-fill, minmax(300px, 1fr));gap:30px;padding:0;margin:0}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_tabs-config-connect .wpz-insta_tabs-config-connect-accounts li{cursor:pointer;background:#eee;padding:15px;border:1px solid #9ca2a7;border-radius:4px;margin:0;transition:all .3s ease}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_tabs-config-connect .wpz-insta_tabs-config-connect-accounts li:hover{color:#fff;background:#3496ff;border-color:#0063cd}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_tabs-config-connect .wpz-insta_tabs-config-connect-accounts li:hover h3{color:#fff}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_tabs-config-connect .wpz-insta_tabs-config-connect-accounts li:hover p{color:rgba(255,255,255,.6)}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_tabs-config-connect .wpz-insta_tabs-config-connect-accounts li h3{font-size:14px;font-weight:600;padding:0;margin:0 0 5px;transition:all .3s ease}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_tabs-config-connect .wpz-insta_tabs-config-connect-accounts li p{font-size:12px;color:#81909c;padding:0;margin:0;transition:all .3s ease}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_tabs-config-connect hr{margin:30px 0}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_tabs-config-connect .wpz-insta_tabs-config-connect-subtitle{font-size:14px;font-weight:normal;padding:0;margin:0 0 20px}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-support,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-license{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;color:#242628}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-support .section-title,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-license .section-title{font-size:20px;font-weight:600;line-height:24px;margin:0 0 1em}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-support .section-title svg,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-license .section-title svg{vertical-align:text-bottom;margin:0 5px 0 0}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-support .section-description,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-license .section-description{padding:0;margin:0 0 2em}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-connect{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;color:#242628;background:#fff;padding:25px 30px;border:1px solid #ddd;border-radius:3px;box-shadow:1px 1px 2px rgba(0,0,0,.1)}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-connect .section-title{font-size:24px;font-weight:600;line-height:29px;margin:0 0 16px}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-connect .section-description{font-size:14px;white-space:pre-wrap;margin:0 0 30px}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-connect .account-options{display:flex;flex-wrap:wrap;gap:30px;margin:0 0 30px}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-connect .account-options .account-option{display:flex;flex-direction:column;min-width:350px;padding:20px;border:1px solid #ddd;border-radius:3px}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-connect .account-options .account-option .account-option-title{font-size:16px;font-weight:600;line-height:19px;margin:0 0 16px}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-connect .account-options .account-option .account-option-checklist{font-size:14px;padding:0;margin:0 0 20px}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-connect .account-options .account-option .account-option-checklist li{line-height:18px;background:url("data:image/svg+xml,%3Csvg width='18' height='18' viewBox='0 0 18 18' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M9 0C4.03759 0 0 4.03759 0 9C0 13.9624 4.03759 18 9 18C13.9624 18 18 13.9624 18 9C18 4.03759 13.9624 0 9 0ZM14.0301 6.63158L8.2782 12.3383C7.93985 12.6767 7.3985 12.6992 7.03759 12.3609L3.99248 9.58647C3.63158 9.24812 3.60902 8.68421 3.92481 8.32331C4.26316 7.96241 4.82707 7.93985 5.18797 8.2782L7.6015 10.4887L12.7444 5.34586C13.1053 4.98496 13.6692 4.98496 14.0301 5.34586C14.391 5.70677 14.391 6.27068 14.0301 6.63158Z' fill='%2322BB66'/%3E%3C/svg%3E");background-position:0 5px;background-repeat:no-repeat;min-height:18px;padding:5px 0 5px 32px;margin:0}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-connect .account-options .account-option .account-option-token-input{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-size:14px;line-height:17px;color:#242628;padding:10px;border:1px solid #ddd;box-shadow:none;transition:all .3s ease}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-connect .account-options .account-option .account-option-token-input:hover,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-connect .account-options .account-option .account-option-token-input:focus{border-color:#3496ff;box-shadow:none}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-connect .account-options .account-option .account-option-button{display:flex;cursor:pointer;align-items:center;justify-content:center;font-weight:600;line-height:1;color:#fff;background:#3496ff;background-position:center left;background-repeat:no-repeat;width:100%;padding:15px 40px;border:0;border-radius:2px;margin:auto 0 0;box-shadow:none;transition:all .3s ease}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-connect .account-options .account-option .account-option-button:hover,.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-connect .account-options .account-option .account-option-button:focus{background-color:#70b5fe}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-connect .account-options .account-option .account-option-button.disabled{pointer-events:none;opacity:.5}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-connect .account-options .account-option .account-option-button svg{margin:0 16px 0 0}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-connect .section-notice{display:flex;align-items:center;font-size:13px;margin:0}.wpz-insta-admin #wpbody-content>.wrap .wpz-insta_settings-connect .section-notice svg{margin:0 12px 0 0}.wpz-insta-admin .wpz-insta_settings-footer .wpz-insta_settings-footer-wrap{display:flex;align-items:center;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;color:#242628;background:#fff;padding:30px;border:1px solid #ddd;border-radius:3px;box-shadow:1px 1px 2px rgba(0,0,0,.1);margin:20px 0}.wpz-insta-admin .wpz-insta_settings-footer .wpz-insta_settings-footer-wrap .wpz-insta_settings-footer-logo{padding:0;margin:0 30px 0 0}.wpz-insta-admin .wpz-insta_settings-footer .wpz-insta_settings-footer-wrap .wpz-insta_settings-footer-logo a{display:block;text-indent:-999em;background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAsUAAAB1CAYAAACmnpxEAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA3BpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQwIDc5LjE2MDQ1MSwgMjAxNy8wNS8wNi0wMTowODoyMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpGODdGMTE3NDA3MjA2ODExODIyQUJEN0ZFNTE5QkYyRSIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDoyMERERTJGNDlFNjgxMUU4ODM0NkExODhFNzlBMDMzQiIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDoyMERERTJGMzlFNjgxMUU4ODM0NkExODhFNzlBMDMzQiIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxNSAoTWFjaW50b3NoKSI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjEyMzc5NGVhLTBiZGYtNDQ3Zi05ODc1LTY1ZDk5NjhjZGVlNiIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpGODdGMTE3NDA3MjA2ODExODIyQUJEN0ZFNTE5QkYyRSIvPiA8L3Jk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");background-size:contain;background-repeat:no-repeat;height:16px;width:95px;overflow:hidden;transition:all .3s ease}.wpz-insta-admin .wpz-insta_settings-footer .wpz-insta_settings-footer-wrap .wpz-insta_settings-footer-logo a:hover,.wpz-insta-admin .wpz-insta_settings-footer .wpz-insta_settings-footer-wrap .wpz-insta_settings-footer-logo a:active{opacity:.5}.wpz-insta-admin .wpz-insta_settings-footer .wpz-insta_settings-footer-wrap .wpz-insta_settings-footer-links{display:flex;padding:0;margin:0}.wpz-insta-admin .wpz-insta_settings-footer .wpz-insta_settings-footer-wrap .wpz-insta_settings-footer-links li{padding:0;margin:0 30px 0 0}.wpz-insta-admin .wpz-insta_settings-footer .wpz-insta_settings-footer-wrap .wpz-insta_settings-footer-links li:last-child{margin-right:0}.wpz-insta-admin .wpz-insta_settings-footer .wpz-insta_settings-footer-wrap .wpz-insta_settings-footer-links li a{text-decoration:none;color:#000;transition:all .3s ease}.wpz-insta-admin .wpz-insta_settings-footer .wpz-insta_settings-footer-wrap .wpz-insta_settings-footer-links li a:hover,.wpz-insta-admin .wpz-insta_settings-footer .wpz-insta_settings-footer-wrap .wpz-insta_settings-footer-links li a:active{color:#3496ff}.wpz-insta-admin #wpz-insta_modal-dialog{display:flex;align-items:center;justify-content:center;position:fixed;top:0;left:0;right:0;bottom:0;z-index:999999999999;background:rgba(0,0,0,.4);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);transition:all .3s ease}.wpz-insta-admin #wpz-insta_modal-dialog:not(.open){pointer-events:none;opacity:0}.wpz-insta-admin #wpz-insta_modal-dialog.success .wpz-insta_modal-dialog_wrap .wpz-insta_modal-dialog_header .wpz-insta_modal-dialog_header-title::before{background-color:#2b6;background-image:url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8.75204 15.8749L4.60249 11.7049L3.18945 13.1149L8.75204 18.7049L20.6932 6.70492L19.2901 5.29492L8.75204 15.8749Z' fill='white'/%3E%3C/svg%3E")}.wpz-insta-admin #wpz-insta_modal-dialog.fail .wpz-insta_modal-dialog_wrap .wpz-insta_modal-dialog_header .wpz-insta_modal-dialog_header-title::before{background-color:#ec2439;background-image:url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M18.9069 6.41L17.5038 5L11.9412 10.59L6.37867 5L4.97559 6.41L10.5381 12L4.97559 17.59L6.37867 19L11.9412 13.41L17.5038 19L18.9069 17.59L13.3443 12L18.9069 6.41Z' fill='white'/%3E%3C/svg%3E")}.wpz-insta-admin #wpz-insta_modal-dialog.confirm .wpz-insta_modal-dialog_wrap .wpz-insta_modal-dialog_header .wpz-insta_modal-dialog_header-title::before{content:"?";display:flex;align-items:center;justify-content:center;font-size:24px;font-weight:700;color:#fff;background-color:#242628;background-image:none}.wpz-insta-admin #wpz-insta_modal-dialog .wpz-insta_modal-dialog_wrap{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-size:14px;line-height:20px;color:#242628;background:#fff;min-width:850px;padding:30px;border-radius:3px;box-shadow:0 5px 10px rgba(0,0,0,.3)}.wpz-insta-admin #wpz-insta_modal-dialog .wpz-insta_modal-dialog_wrap .wpz-insta_modal-dialog_header{display:flex;align-items:center;justify-content:space-between;padding:0 0 20px;border-bottom:1px solid #ddd;margin:0 0 30px}.wpz-insta-admin #wpz-insta_modal-dialog .wpz-insta_modal-dialog_wrap .wpz-insta_modal-dialog_header .wpz-insta_modal-dialog_header-title{display:flex;align-items:center;font-size:20px;font-weight:600;padding:0;margin:0}.wpz-insta-admin #wpz-insta_modal-dialog .wpz-insta_modal-dialog_wrap .wpz-insta_modal-dialog_header .wpz-insta_modal-dialog_header-title::before{content:"";display:block;background-color:#81909c;background-repeat:no-repeat;background-position:center;height:28px;width:28px;border-radius:50%;margin:0 15px 0 0}.wpz-insta-admin #wpz-insta_modal-dialog .wpz-insta_modal-dialog_wrap .wpz-insta_modal-dialog_header .wpz-insta_modal-dialog_header-button{cursor:pointer;text-indent:-999em;background-color:#9ca2a7;-webkit-mask:url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M18.9069 6.41L17.5038 5L11.9412 10.59L6.37867 5L4.97559 6.41L10.5381 12L4.97559 17.59L6.37867 19L11.9412 13.41L17.5038 19L18.9069 17.59L13.3443 12L18.9069 6.41Z'/%3E%3C/svg%3E") center no-repeat;mask:url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M18.9069 6.41L17.5038 5L11.9412 10.59L6.37867 5L4.97559 6.41L10.5381 12L4.97559 17.59L6.37867 19L11.9412 13.41L17.5038 19L18.9069 17.59L13.3443 12L18.9069 6.41Z'/%3E%3C/svg%3E") center no-repeat;height:24px;width:24px;padding:0;margin:0;overflow:hidden;transition:all .3s ease}.wpz-insta-admin #wpz-insta_modal-dialog .wpz-insta_modal-dialog_wrap .wpz-insta_modal-dialog_header .wpz-insta_modal-dialog_header-button:hover{background-color:#3496ff}.wpz-insta-admin #wpz-insta_modal-dialog .wpz-insta_modal-dialog_wrap .wpz-insta_modal-dialog_content{overflow:auto}.wpz-insta-admin #wpz-insta_modal-dialog .wpz-insta_modal-dialog_wrap .wpz-insta_modal-dialog_content .severe{color:#ec2439}.wpz-insta-admin #wpz-insta_modal-dialog .wpz-insta_modal-dialog_wrap .wpz-insta_modal-dialog_footer{display:flex;align-items:center;justify-content:end;gap:10px;padding:20px 0 0;border-top:1px solid #ddd;margin:30px 0 0}.wpz-insta-admin #wpz-insta_modal-dialog .wpz-insta_modal-dialog_wrap .wpz-insta_modal-dialog_footer .wpz-insta_modal-dialog_footer-button{color:#fff;background:#3496ff;padding-left:30px;padding-right:30px;transition:all .3s ease}.wpz-insta-admin #wpz-insta_modal-dialog .wpz-insta_modal-dialog_wrap .wpz-insta_modal-dialog_footer .wpz-insta_modal-dialog_footer-button:hover,.wpz-insta-admin #wpz-insta_modal-dialog .wpz-insta_modal-dialog_wrap .wpz-insta_modal-dialog_footer .wpz-insta_modal-dialog_footer-button:active{color:#fff;background:#70b5fe}.wpz-insta-admin #wpz-insta_modal-dialog .wpz-insta_modal-dialog_wrap .wpz-insta_modal-dialog_footer .wpz-insta_modal-dialog_footer-button.button-secondary{color:#3496ff;background:transparent;border-color:#3496ff}.wpz-insta-admin #wpz-insta_modal-dialog .wpz-insta_modal-dialog_wrap .wpz-insta_modal-dialog_footer .wpz-insta_modal-dialog_footer-button.button-secondary:hover,.wpz-insta-admin #wpz-insta_modal-dialog .wpz-insta_modal-dialog_wrap .wpz-insta_modal-dialog_footer .wpz-insta_modal-dialog_footer-button.button-secondary:active{color:#fff;background-color:#70b5fe}@-webkit-keyframes slidedown{from{max-height:0}to{max-height:100em}}@keyframes slidedown{from{max-height:0}to{max-height:100em}}@-webkit-keyframes highlighting{0%{transform:scale(1)}50%{transform:scale(1.03, 1.2)}100%{transform:scale(1)}}@keyframes highlighting{0%{transform:scale(1)}50%{transform:scale(1.03, 1.2)}100%{transform:scale(1)}}@-webkit-keyframes bounceFade{0%{opacity:0}0%,20%,50%,80%,100%{transform:translateX(-50%) translateY(0)}20%{opacity:0}40%{transform:translateX(-50%) translateY(-30px)}60%{transform:translateX(-50%) translateY(-15px)}100%{opacity:1}}@keyframes bounceFade{0%{opacity:0}0%,20%,50%,80%,100%{transform:translateX(-50%) translateY(0)}20%{opacity:0}40%{transform:translateX(-50%) translateY(-30px)}60%{transform:translateX(-50%) translateY(-15px)}100%{opacity:1}}[data-tooltip]{position:relative;z-index:2;cursor:pointer}[data-tooltip]:before,[data-tooltip]:after{visibility:hidden;opacity:0;pointer-events:none}[data-tooltip]:before{position:absolute;bottom:150%;left:50%;margin-bottom:5px;margin-left:-100px;padding:7px;width:200px;border-radius:3px;background-color:#000;background-color:rgba(51,51,51,.9);color:#fff;content:attr(data-tooltip);text-align:center;font-size:14px;line-height:1.2}[data-tooltip]:after{position:absolute;bottom:150%;left:50%;margin-left:-5px;width:0;border-top:5px solid #000;border-top:5px solid rgba(51,51,51,.9);border-right:5px solid transparent;border-left:5px solid transparent;content:" ";font-size:0;line-height:0}[data-tooltip]:hover:before,[data-tooltip]:hover:after{visibility:visible;opacity:1}
|
dist/styles/frontend/index-rtl.css
CHANGED
@@ -1 +1 @@
|
|
1 |
-
.zoom-instagram-widget__follow-me{margin-top:15px;text-align:center}.zoom-instagram{font-size:14px;overflow:hidden;display:block}.zoom-instagram form[disabled]{pointer-events:none}.zoom-instagram form[disabled]:not(.loading){opacity:.5}.zoom-instagram .zoom-instagram-widget__header{display:flex;gap:20px;margin:0 0 25px}.zoom-instagram .zoom-instagram-widget__header .zoom-instagram-widget__header-column-left img{height:70px;width:70px;border-radius:50%}.zoom-instagram .zoom-instagram-widget__header .zoom-instagram-widget__header-column-right{display:flex;flex-direction:column;justify-content:center}.zoom-instagram .zoom-instagram-widget__header .zoom-instagram-widget__header-name{font-size:1em;font-weight:600;line-height:1.5;padding:0;margin:0 0 5px;letter-spacing:0}.zoom-instagram .zoom-instagram-widget__header .zoom-instagram-widget__header-user{font-weight:600;line-height:normal;padding:0;margin:0;opacity:.8}.zoom-instagram .zoom-instagram-widget__header .zoom-instagram-widget__header-user a{text-decoration:none}.zoom-instagram .zoom-instagram-widget__header .zoom-instagram-widget__header-bio{font-size:13px;font-weight:normal;line-height:1.6;padding:0;margin:6px 0 0}.zoom-instagram .zoom-instagram-widget__footer{display:flex;justify-content:center;align-items:center;flex-direction:row;flex-wrap:wrap;gap:15px;margin:25px 0 0}.zoom-instagram .zoom-instagram-widget__footer>*{display:block}.zoom-instagram .zoom-instagram-widget__items-wrapper{overflow:hidden}.zoom-instagram .zoom-instagram-widget__items{display:grid;grid-template-columns:repeat(3, 1fr);gap:10px;list-style:none !important;padding:0;margin:0}.zoom-instagram .zoom-instagram-widget__items.layout-grid .zoom-instagram-widget__item img{width:100%;aspect-ratio:1/1}.zoom-instagram .zoom-instagram-widget__items.layout-fullwidth{display:flex;width:5000px}.zoom-instagram .zoom-instagram-widget__items.layout-fullwidth .zoom-instagram-widget__item img{aspect-ratio:1}.layout-legacy.zoom-instagram-widget__items{list-style:none !important}.layout-legacy.zoom-instagram-widget__items .zoom-instagram-widget__item{float:right;position:relative;margin-top:0 !important;padding:0}.layout-legacy.zoom-instagram-widget__items .zoom-instagram-widget__overlay{position:relative}.zoom-instagram-widget__item{position:relative;transition:all .1s ease-in-out}.zoom-instagram-widget__item.new{opacity:0;transform:scale(0);transform-origin:center;-webkit-animation:show 500ms linear forwards;animation:show 500ms linear forwards}.zoom-instagram-widget__item .zoom-instagram-widget__item-inner-wrap{position:relative;height:100%;overflow:hidden}.zoom-instagram-widget__item img{-o-object-fit:cover;object-fit:cover;-o-object-position:center;object-position:center;height:100%}.widget_block .zoom-instagram-widget__items ul li.zoom-instagram-widget__item,.widget.zoom-instagram-widget ul li.zoom-instagram-widget__item,.widget.zoom-new-instagram-widget ul li.zoom-instagram-widget__item{padding:0}.widget_block .zoom-instagram-widget__items-wrapper,.widget.zoom-new-instagram-widget .zoom-instagram-widget__items-wrapper{overflow:hidden}.widget_block .zoom-instagram-widget__items,.widget.zoom-new-instagram-widget .zoom-instagram-widget__items{display:grid;grid-template-columns:repeat(3, 1fr);gap:10px;padding:0;margin:0}.widget_block .zoom-instagram-widget__items::before,.widget_block .zoom-instagram-widget__items::after,.widget.zoom-new-instagram-widget .zoom-instagram-widget__items::before,.widget.zoom-new-instagram-widget .zoom-instagram-widget__items::after{display:none}.widget_block .zoom-instagram-widget__items.layout-grid .zoom-instagram-widget__item img,.widget.zoom-new-instagram-widget .zoom-instagram-widget__items.layout-grid .zoom-instagram-widget__item img{width:100%;aspect-ratio:1/1}.widget_block .zoom-instagram-widget__items.layout-fullwidth,.widget.zoom-new-instagram-widget .zoom-instagram-widget__items.layout-fullwidth{display:flex;width:5000px}.widget_block .zoom-instagram-widget__items.layout-fullwidth .zoom-instagram-widget__item img,.widget.zoom-new-instagram-widget .zoom-instagram-widget__items.layout-fullwidth .zoom-instagram-widget__item img{aspect-ratio:1}.widget_block .zoom-instagram-widget__items .zoom-instagram-widget__item .zoom-instagram-widget__item-inner-wrap,.widget.zoom-new-instagram-widget .zoom-instagram-widget__items .zoom-instagram-widget__item .zoom-instagram-widget__item-inner-wrap{position:relative;height:100%;overflow:hidden}.widget_block .zoom-instagram-widget__items .zoom-instagram-widget__item img,.widget.zoom-new-instagram-widget .zoom-instagram-widget__items .zoom-instagram-widget__item img{-o-object-fit:cover;object-fit:cover;-o-object-position:center;object-position:center;height:100%}.widget_block .zoom-instagram-widget__items .zoom-instagram-widget__item .zoom-instagram-link,.widget.zoom-new-instagram-widget .zoom-instagram-widget__items .zoom-instagram-widget__item .zoom-instagram-link{padding-bottom:100%}.ig-b-{display:inline-block}a.ig-b-v-24{border-color:#3897f0;color:#3897f0 !important;border-radius:3px;border-style:solid;border-width:1px;font-weight:600 !important;outline:none;overflow:hidden;white-space:nowrap;-webkit-appearance:none;font-family:sans-serif;padding:5px 15px;font-size:14px;transition:all .15s ease-in-out;-moz-transition:all .15s ease-in-out;-webkit-transition:all .15s ease-in-out;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:none !important}a.ig-b-v-24:hover{background:#3897f0;border-color:#3897f0;color:#fff !important}.zoom-instagram-widget__item .hover-controls{opacity:0;z-index:9;margin-top:-15px;position:absolute;top:40%;width:100%;text-align:center;transition:opacity .25s ease-in-out;-moz-transition:opacity .25s ease-in-out;-webkit-transition:opacity .25s ease-in-out}.zoom-instagram-widget__items[data-lightbox="1"] .zoom-instagram-widget__item .zoom-instagram-icon-wrap{pointer-events:none}.zoom-instagram-widget__item .hover-controls~.zoom-instagram-icon-wrap{bottom:10%;pointer-events:all}.zoom-instagram-widget__item .hover-layout.small .hover-controls~.zoom-instagram-icon-wrap{bottom:6%}.zoom-instagram-widget__item .hover-layout.small .zoom-instagram-icon-wrap{bottom:calc(50% - 15px)}.zoom-instagram-widget__item .zoom-instagram-icon-wrap{bottom:calc(50% - 15px);height:30px;width:100%;position:absolute;z-index:9;text-align:center}.zoom-instagram-widget__item:hover .hover-controls{opacity:1}.zoom-instagram-widget__item .zoom-instagram-icon-wrap{opacity:0;transition:opacity .25s ease-in-out;-moz-transition:opacity .25s ease-in-out;-webkit-transition:opacity .25s ease-in-out}.zoom-instagram-widget__item:hover .zoom-instagram-icon-wrap{opacity:1}.zoom-instagram-widget__item .hover-controls .dashicons{font-size:20px;width:20px;height:20px;color:#fff;vertical-align:middle}.zoom-instagram-widget__item .hover-controls .counter{padding-right:1px;padding-left:12px;font-weight:500;color:#fff;font-size:14px;opacity:.8;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif}.zoom-instagram-widget__overlay{position:absolute;top:0;right:0;left:0;bottom:0}.zoom-instagram-widget__overlay:after{position:absolute;content:"";top:0;right:0;pointer-events:none;width:100%;height:100%;opacity:0;transition:opacity .25s ease-in-out;-moz-transition:opacity .25s ease-in-out;-webkit-transition:opacity .25s ease-in-out}.zoom-instagram-widget__overlay:hover:after{opacity:.7;background-color:#000}.zoom-instagram-widget__black:after{background-color:#000}.zoom-svg-instagram-simple{display:inline-block;width:30px;height:30px;background:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHg9IjBweCIgeT0iMHB4IgogICAgIHdpZHRoPSI1MCIgaGVpZ2h0PSI1MCIKICAgICB2aWV3Qm94PSIwIDAgNTAgNTAiCiAgICAgc3R5bGU9ImZpbGw6I2ZmZmZmZjsiPiAgICA8cGF0aCBzdHlsZT0ibGluZS1oZWlnaHQ6bm9ybWFsO3RleHQtaW5kZW50OjA7dGV4dC1hbGlnbjpzdGFydDt0ZXh0LWRlY29yYXRpb24tbGluZTpub25lO3RleHQtZGVjb3JhdGlvbi1zdHlsZTpzb2xpZDt0ZXh0LWRlY29yYXRpb24tY29sb3I6IzAwMDt0ZXh0LXRyYW5zZm9ybTpub25lO2Jsb2NrLXByb2dyZXNzaW9uOnRiO2lzb2xhdGlvbjphdXRvO21peC1ibGVuZC1tb2RlOm5vcm1hbCIgZD0iTSAxNiAzIEMgOC44MzI0ODM5IDMgMyA4LjgzMjQ4MzkgMyAxNiBMIDMgMzQgQyAzIDQxLjE2NzUxNiA4LjgzMjQ4MzkgNDcgMTYgNDcgTCAzNCA0NyBDIDQxLjE2NzUxNiA0NyA0NyA0MS4xNjc1MTYgNDcgMzQgTCA0NyAxNiBDIDQ3IDguODMyNDgzOSA0MS4xNjc1MTYgMyAzNCAzIEwgMTYgMyB6IE0gMTYgNSBMIDM0IDUgQyA0MC4wODY0ODQgNSA0NSA5LjkxMzUxNjEgNDUgMTYgTCA0NSAzNCBDIDQ1IDQwLjA4NjQ4NCA0MC4wODY0ODQgNDUgMzQgNDUgTCAxNiA0NSBDIDkuOTEzNTE2MSA0NSA1IDQwLjA4NjQ4NCA1IDM0IEwgNSAxNiBDIDUgOS45MTM1MTYxIDkuOTEzNTE2MSA1IDE2IDUgeiBNIDM3IDExIEEgMiAyIDAgMCAwIDM1IDEzIEEgMiAyIDAgMCAwIDM3IDE1IEEgMiAyIDAgMCAwIDM5IDEzIEEgMiAyIDAgMCAwIDM3IDExIHogTSAyNSAxNCBDIDE4LjkzNjcxMiAxNCAxNCAxOC45MzY3MTIgMTQgMjUgQyAxNCAzMS4wNjMyODggMTguOTM2NzEyIDM2IDI1IDM2IEMgMzEuMDYzMjg4IDM2IDM2IDMxLjA2MzI4OCAzNiAyNSBDIDM2IDE4LjkzNjcxMiAzMS4wNjMyODggMTQgMjUgMTQgeiBNIDI1IDE2IEMgMjkuOTgyNDA3IDE2IDM0IDIwLjAxNzU5MyAzNCAyNSBDIDM0IDI5Ljk4MjQwNyAyOS45ODI0MDcgMzQgMjUgMzQgQyAyMC4wMTc1OTMgMzQgMTYgMjkuOTgyNDA3IDE2IDI1IEMgMTYgMjAuMDE3NTkzIDIwLjAxNzU5MyAxNiAyNSAxNiB6IiBmb250LXdlaWdodD0iNDAwIiBmb250LWZhbWlseT0ic2Fucy1zZXJpZiIgd2hpdGUtc3BhY2U9Im5vcm1hbCIgb3ZlcmZsb3c9InZpc2libGUiPjwvcGF0aD48L3N2Zz4=") 50% 50% no-repeat;background-size:100%}.zoom-svg-instagram-stroke{display:inline-block;width:30px;height:30px;background:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHg9IjBweCIgeT0iMHB4IgogICAgIHdpZHRoPSI1MCIgaGVpZ2h0PSI1MCIKICAgICB2aWV3Qm94PSIwIDAgMjUyIDI1MiIKICAgICBzdHlsZT0iZmlsbDojMDAwMDAwOyI+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMi4zOTQsMi4zOTQpIHNjYWxlKDAuOTgxLDAuOTgxKSI+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJub256ZXJvIiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0ibm9uZSIgc3Ryb2tlLWxpbmVjYXA9ImJ1dHQiIHN0cm9rZS1saW5lam9pbj0ibm9uZSIgc3Ryb2tlLW1pdGVybGltaXQ9IjEwIiBzdHJva2UtZGFzaGFycmF5PSIiIHN0cm9rZS1kYXNob2Zmc2V0PSIwIiBmb250LWZhbWlseT0ibm9uZSIgZm9udC13ZWlnaHQ9Im5vbmUiIGZvbnQtc2l6ZT0ibm9uZSIgdGV4dC1hbmNob3I9Im5vbmUiIHN0eWxlPSJtaXgtYmxlbmQtbW9kZTogbm9ybWFsIj48ZyBpZD0ib3JpZ2luYWwtaWNvbiAxIiBmaWxsPSIjZmZmZmZmIiBzdHJva2U9IiNmZmZmZmYiIHN0cm9rZS13aWR0aD0iNSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PHBhdGggZD0iTTE3MS4zNiwxNS4xMmMzNi4xMjQyOCwwIDY1LjUyLDI5LjM5NTcyIDY1LjUyLDY1LjUydjkwLjcyYzAsMzYuMTI0MjggLTI5LjM5NTcyLDY1LjUyIC02NS41Miw2NS41MmgtOTAuNzJjLTM2LjEyNDI4LDAgLTY1LjUyLC0yOS4zOTU3MiAtNjUuNTIsLTY1LjUydi05MC43MmMwLC0zNi4xMjQyOCAyOS4zOTU3MiwtNjUuNTIgNjUuNTIsLTY1LjUyek0yNS4yLDgwLjY0djkwLjcyYzAsMzAuNjc1ODggMjQuNzY0MTIsNTUuNDQgNTUuNDQsNTUuNDRoOTAuNzJjMzAuNjc1ODgsMCA1NS40NCwtMjQuNzY0MTIgNTUuNDQsLTU1LjQ0di05MC43MmMwLC0zMC42NzU4OCAtMjQuNzY0MTIsLTU1LjQ0IC01NS40NCwtNTUuNDRoLTkwLjcyYy0zMC42NzU4OCwwIC01NS40NCwyNC43NjQxMiAtNTUuNDQsNTUuNDR6TTE5Ni41Niw2NS41MmMwLDUuNTY3MDMgLTQuNTEyOTcsMTAuMDggLTEwLjA4LDEwLjA4Yy01LjU2NzAzLDAgLTEwLjA4LC00LjUxMjk3IC0xMC4wOCwtMTAuMDhjMCwtNS41NjcwMyA0LjUxMjk3LC0xMC4wOCAxMC4wOCwtMTAuMDhjNS41NjcwMywwIDEwLjA4LDQuNTEyOTcgMTAuMDgsMTAuMDh6TTE4MS40NCwxMjZjMCwzMC41NTg5NyAtMjQuODgxMDMsNTUuNDQgLTU1LjQ0LDU1LjQ0Yy0zMC41NTg5NywwIC01NS40NCwtMjQuODgxMDMgLTU1LjQ0LC01NS40NGMwLC0zMC41NTg5NyAyNC44ODEwMywtNTUuNDQgNTUuNDQsLTU1LjQ0YzMwLjU1ODk3LDAgNTUuNDQsMjQuODgxMDMgNTUuNDQsNTUuNDR6TTgwLjY0LDEyNmMwLDI1LjExMTMzIDIwLjI0ODY3LDQ1LjM2IDQ1LjM2LDQ1LjM2YzI1LjExMTMzLDAgNDUuMzYsLTIwLjI0ODY3IDQ1LjM2LC00NS4zNmMwLC0yNS4xMTEzMyAtMjAuMjQ4NjcsLTQ1LjM2IC00NS4zNiwtNDUuMzZjLTI1LjExMTMzLDAgLTQ1LjM2LDIwLjI0ODY3IC00NS4zNiw0NS4zNnoiPjwvcGF0aD48L2c+PHBhdGggZD0iTTAsMjUydi0yNTJoMjUydjI1MnoiIGZpbGw9Im5vbmUiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49Im1pdGVyIj48L3BhdGg+PGcgaWQ9Im9yaWdpbmFsLWljb24iIGZpbGw9IiNmZmZmZmYiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49Im1pdGVyIj48cGF0aCBkPSJNODAuNjQsMTUuMTJjLTM2LjEyNDI4LDAgLTY1LjUyLDI5LjM5NTcyIC02NS41Miw2NS41MnY5MC43MmMwLDM2LjEyNDI4IDI5LjM5NTcyLDY1LjUyIDY1LjUyLDY1LjUyaDkwLjcyYzM2LjEyNDI4LDAgNjUuNTIsLTI5LjM5NTcyIDY1LjUyLC02NS41MnYtOTAuNzJjMCwtMzYuMTI0MjggLTI5LjM5NTcyLC02NS41MiAtNjUuNTIsLTY1LjUyek04MC42NCwyNS4yaDkwLjcyYzMwLjY3NTg4LDAgNTUuNDQsMjQuNzY0MTIgNTUuNDQsNTUuNDR2OTAuNzJjMCwzMC42NzU4OCAtMjQuNzY0MTIsNTUuNDQgLTU1LjQ0LDU1LjQ0aC05MC43MmMtMzAuNjc1ODgsMCAtNTUuNDQsLTI0Ljc2NDEyIC01NS40NCwtNTUuNDR2LTkwLjcyYzAsLTMwLjY3NTg4IDI0Ljc2NDEyLC01NS40NCA1NS40NCwtNTUuNDR6TTE4Ni40OCw1NS40NGMtNS41NjcwMywwIC0xMC4wOCw0LjUxMjk3IC0xMC4wOCwxMC4wOGMwLDUuNTY3MDMgNC41MTI5NywxMC4wOCAxMC4wOCwxMC4wOGM1LjU2NzAzLDAgMTAuMDgsLTQuNTEyOTcgMTAuMDgsLTEwLjA4YzAsLTUuNTY3MDMgLTQuNTEyOTcsLTEwLjA4IC0xMC4wOCwtMTAuMDh6TTEyNiw3MC41NmMtMzAuNTU4OTcsMCAtNTUuNDQsMjQuODgxMDMgLTU1LjQ0LDU1LjQ0YzAsMzAuNTU4OTcgMjQuODgxMDMsNTUuNDQgNTUuNDQsNTUuNDRjMzAuNTU4OTcsMCA1NS40NCwtMjQuODgxMDMgNTUuNDQsLTU1LjQ0YzAsLTMwLjU1ODk3IC0yNC44ODEwMywtNTUuNDQgLTU1LjQ0LC01NS40NHpNMTI2LDgwLjY0YzI1LjExMTMzLDAgNDUuMzYsMjAuMjQ4NjcgNDUuMzYsNDUuMzZjMCwyNS4xMTEzMyAtMjAuMjQ4NjcsNDUuMzYgLTQ1LjM2LDQ1LjM2Yy0yNS4xMTEzMywwIC00NS4zNiwtMjAuMjQ4NjcgLTQ1LjM2LC00NS4zNmMwLC0yNS4xMTEzMyAyMC4yNDg2NywtNDUuMzYgNDUuMzYsLTQ1LjM2eiI+PC9wYXRoPjwvZz48cGF0aCBkPSJNMTI2LDI1MmMtNjkuNTg3ODgsMCAtMTI2LC01Ni40MTIxMiAtMTI2LC0xMjZ2MGMwLC02OS41ODc4OCA1Ni40MTIxMiwtMTI2IDEyNiwtMTI2djBjNjkuNTg3ODgsMCAxMjYsNTYuNDEyMTIgMTI2LDEyNnYwYzAsNjkuNTg3ODggLTU2LjQxMjEyLDEyNiAtMTI2LDEyNnoiIGZpbGw9Im5vbmUiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49Im1pdGVyIj48L3BhdGg+PHBhdGggZD0iTTEyNiwyNDYuOTZjLTY2LjgwNDM2LDAgLTEyMC45NiwtNTQuMTU1NjQgLTEyMC45NiwtMTIwLjk2djBjMCwtNjYuODA0MzYgNTQuMTU1NjQsLTEyMC45NiAxMjAuOTYsLTEyMC45NmgwYzY2LjgwNDM2LDAgMTIwLjk2LDU0LjE1NTY0IDEyMC45NiwxMjAuOTZ2MGMwLDY2LjgwNDM2IC01NC4xNTU2NCwxMjAuOTYgLTEyMC45NiwxMjAuOTZ6IiBmaWxsPSJub25lIiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJtaXRlciI+PC9wYXRoPjxwYXRoIGQ9IiIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJub25lIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0ibWl0ZXIiPjwvcGF0aD48cGF0aCBkPSIiIGZpbGw9Im5vbmUiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49Im1pdGVyIj48L3BhdGg+PHBhdGggZD0iIiBmaWxsPSJub25lIiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJtaXRlciI+PC9wYXRoPjxwYXRoIGQ9IiIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJub25lIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0ibWl0ZXIiPjwvcGF0aD48L2c+PC9nPjwvc3ZnPg==") 50% 50% no-repeat;background-size:100%}.zoom-instagram-widget__item .hover-layout.small .hover-controls .dashicons{font-size:15px;width:15px;height:15px}.zoom-instagram-widget__item .hover-layout.small .zoom-instagram-icon-wrap .zoom-svg-instagram-stroke{width:18px;height:18px}.zoom-instagram-widget__item .hover-layout.small .hover-controls .counter{padding-right:1px;padding-left:4px;font-size:11px}.zoom-instagram-widget-user-info{display:flex;padding:0 0px 20px}.zoom-instagram-widget-user-info .zoom-instagram-widget-user-info-picture{flex:1}.zoom-instagram-widget-user-info .zoom-instagram-widget-user-info-picture img{border-radius:50%}.zoom-instagram-widget-user-info .zoom-instagram-widget-user-info-meta{display:flex;flex:3;flex-direction:column;margin-right:15px;text-align:right;justify-content:center}.zoom-instagram-widget-user-info .zoom-instagram-widget-user-info-about-data{display:flex;justify-content:space-between;margin-bottom:10px}.zoom-instagram-widget-user-info .zoom-instagram-widget-user-info-stats{font-size:14px;line-height:1.2;justify-content:space-between;display:flex;text-align:center}.zoom-instagram-widget-user-info .zoom-instagram-widget-user-info-follow-button{padding:0px 24px;margin-top:10px;background:#3897f0;color:#fff !important;font-size:14px;font-weight:600;line-height:26px;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;text-transform:none;border-radius:3px;outline:0;overflow:hidden;text-overflow:ellipsis;display:block;border:none;box-shadow:none;text-decoration:none !important}.zoom-instagram-widget-user-info .zoom-instagram-widget-user-info-follow-button:hover{color:#fff;opacity:.8;box-shadow:none;border:none;text-decoration:none}.zoom-instagram-widget-user-info .zoom-instagram-widget-user-info-counts{font-weight:600}.zoom-instagram-widget-user-info .zoom-instagram-widget-user-info-counts-subhead{opacity:.7;font-size:14px}.zoom-instagram-widget-user-info-middle-cell{padding:0px 20px}.zoom-instagram-widget-user-info .zoom-instagram-widget-user-info-fullname{font-weight:600;font-size:16px}.zoom-instagram-widget-user-info .zoom-instagram-widget-user-info-names-wrapper{padding-left:20px;word-break:break-word}.zoom-instagram-widget-user-info .zoom-instagram-widget-user-info-username{font-size:14px;font-weight:600;word-break:break-all;opacity:.7}.zoom-instagram-widget-user-info-bio{text-align:right;font-size:14px;margin:0 0 15px}.zoom-instagram-widget__items .zoom-instagram-widget__item .zoom-instagram-link{display:block;background-size:cover !important;background-position:center center !important;background-repeat:no-repeat !important;padding-bottom:100%}.zoom-instagram-widget__items .zoom-instagram-widget__item .svg-icon{position:absolute;width:32px;padding:8px;height:32px;display:flex;top:0;left:0;z-index:1;transition:opacity .25s ease-in-out;-moz-transition:opacity .25s ease-in-out;-webkit-transition:opacity .25s ease-in-out}.zoom-instagram-widget__items .zoom-instagram-widget__item.media-icons-hover .svg-icon{opacity:0}.zoom-instagram-widget__items .zoom-instagram-widget__item.media-icons-hover:hover .svg-icon{opacity:1}.wpzoom-lightbox .mfp-inline-holder .mfp-content{max-width:none}.wpz-insta-lightbox{pointer-events:all;display:flex;flex-direction:row;background-color:#fff;border-radius:4px;height:100%}.wpz-insta-lightbox-wrapper{display:flex;justify-content:center;pointer-events:none}.wpz-insta-lightbox-wrapper .wpz-insta-lightbox .details-wrapper{width:30%}.wpz-insta-lightbox-wrapper .wpz-insta-lightbox .details-wrapper .wpz-insta-header{display:flex;align-items:center;padding:16px;border-bottom:1px solid #efefef;flex-wrap:wrap}.wpz-insta-lightbox-wrapper .wpz-insta-lightbox .details-wrapper .wpz-insta-header .wpz-insta-avatar img{width:42px;height:42px;border-radius:50%}.wpz-insta-lightbox-wrapper .wpz-insta-lightbox .details-wrapper .wpz-insta-header .wpz-insta-username a,.wpz-insta-lightbox-wrapper .wpz-insta-lightbox .details-wrapper .wpz-insta-header .wpz-insta-follow a{color:#262626;font-weight:600;text-decoration:none;font-size:14px}.wpz-insta-lightbox-wrapper .wpz-insta-lightbox .details-wrapper .wpz-insta-header .wpz-insta-username a:hover{text-decoration:underline}.wpz-insta-lightbox-wrapper .wpz-insta-lightbox .details-wrapper .wpz-insta-header .wpz-insta-follow a{color:#0095f6}.wpz-insta-lightbox-wrapper .wpz-insta-lightbox .details-wrapper .wpz-insta-header>div{margin-left:13px;min-width:42px}.wpz-insta-lightbox-wrapper .wpz-insta-lightbox .details-wrapper .wpz-insta-header .wpz-insta-buttons{display:flex}.wpz-insta-lightbox-wrapper .wpz-insta-lightbox .details-wrapper .wpz-insta-header .wpz-insta-buttons>div{padding:5px}.wpz-insta-lightbox-wrapper .wpz-insta-lightbox .details-wrapper .wpz-insta-caption{color:#262626;line-height:1.5;font-size:14px;padding:16px;font-weight:normal;overflow-y:scroll;max-height:384px;border-bottom:1px solid #efefef}.wpzoom-lightbox.mfp-gallery{z-index:100000;pointer-events:none}.wpzoom-lightbox button.mfp-close{pointer-events:all;color:#fff;font-size:50px;font-weight:100;margin-top:25px;margin-left:15px}.wpzoom-lightbox .mfp-prevent-close{pointer-events:all}.wpzoom-lightbox button.mfp-close:hover{text-decoration:none}.wpz-insta-lightbox-wrapper .wpz-insta-lightbox .details-wrapper .wpz-insta-date{font-size:12px;padding:16px;color:#8e8e8e;flex:1}.wpz-insta-lightbox-wrapper .wpz-insta-lightbox .image-wrapper img{height:100%;max-width:100%;-o-object-fit:contain;object-fit:contain;min-height:700px;min-width:700px}.wpz-insta-lightbox-wrapper .wpz-insta-lightbox .image-wrapper{flex-grow:1;text-align:center;height:auto;width:100%;max-width:70%;max-height:100%;background:#000;border-radius:0 4px 4px 0}.wpz-insta-lightbox-wrapper>.swiper-container{pointer-events:none;width:1000px;height:80vh}.wpz-insta-lightbox-wrapper>.swiper-container .swiper-container{width:100%;height:100%}.wpz-insta-lightbox-wrapper>.swiper-container .swiper-container .swiper-slide{max-height:100%}.wpz-insta-lightbox-wrapper>.swiper-container-autoheight,.swiper-container-autoheight .swiper-slide{height:100%;max-height:80vh}.wpz-insta-lightbox-wrapper video{height:100%;max-width:100%}.wpz-insta-lightbox-wrapper>.swiper-container .swiper-container .swiper-button-prev,.wpz-insta-lightbox-wrapper>.swiper-container .swiper-container .swiper-button-next{--swiper-navigation-size: 34px;color:#000;background:#fff;width:var(--swiper-navigation-size);border-radius:50%}.wpz-insta-lightbox-wrapper>.swiper-container .swiper-container .swiper-button-prev::after,.wpz-insta-lightbox-wrapper>.swiper-container .swiper-container .swiper-button-next::after{font-size:16px}.wpz-insta-lightbox-wrapper>.swiper-container>.swiper-wrapper{pointer-events:all}.wpz-insta-lightbox-wrapper>.swiper-container>.swiper-button-prev,.wpz-insta-lightbox-wrapper>.swiper-container>.swiper-button-next{position:fixed;pointer-events:all}.wpz-insta-lightbox-wrapper>.swiper-container .swiper-button-prev,.wpz-insta-lightbox-wrapper>.swiper-container .swiper-button-next{color:#fff;opacity:.75}.wpz-insta-lightbox-wrapper>.swiper-container .swiper-button-prev:hover,.wpz-insta-lightbox-wrapper>.swiper-container .swiper-button-next:hover{opacity:1}.wpz-insta-lightbox-wrapper>.swiper-container .swiper-button-prev.swiper-button-disabled,.wpz-insta-lightbox-wrapper>.swiper-container .swiper-button-next.swiper-button-disabled{opacity:.25 !important}.wpz-insta-lightbox-wrapper .wpz-insta-lightbox .details-wrapper{display:flex;flex-direction:column;flex-grow:1}.wpz-insta-lightbox-wrapper .wpz-insta-lightbox .details-wrapper .view-post{padding:16px;text-decoration:none;font-size:12px;color:#262626;font-weight:400;line-height:20px;display:flex;border-top:1px solid #efefef;flex-wrap:wrap;justify-content:flex-start}.wpz-insta-lightbox-wrapper .wpz-insta-lightbox .details-wrapper .view-post a{text-decoration:none;font-size:12px;color:#262626;font-weight:400;line-height:20px;text-align:center;display:inline-block}.wpz-insta-lightbox-wrapper .wpz-insta-lightbox .details-wrapper .view-post a span{margin-left:10px}.wpz-insta-lightbox-wrapper .wpz-insta-lightbox .details-wrapper .view-post .delimiter{padding:0px 10px}@-webkit-keyframes show{100%{transform:none;opacity:1}}@keyframes show{100%{transform:none;opacity:1}}@media screen and (max-width: 1200px){.wpz-insta-lightbox-wrapper .wpz-insta-lightbox{flex-wrap:wrap}.wpz-insta-lightbox-wrapper>.swiper-container{width:86%}.wpz-insta-lightbox-wrapper .wpz-insta-lightbox .image-wrapper img{min-height:500px;min-width:500px}}@media screen and (max-width: 860px){.wpz-insta-lightbox-wrapper .wpz-insta-lightbox .details-wrapper .wpz-insta-caption{font-size:12px}}@media screen and (max-width: 768px){.wpz-insta-lightbox{flex-direction:column}.wpz-insta-lightbox-wrapper .wpz-insta-lightbox .image-wrapper img{min-height:400px;min-width:400px}.wpz-insta-lightbox-wrapper .wpz-insta-lightbox .image-wrapper{border-radius:4px 4px 0 0;max-width:100%;height:65%}.wpz-insta-lightbox-wrapper .wpz-insta-lightbox .details-wrapper .wpz-insta-caption{max-height:134px}.wpz-insta-lightbox-wrapper .wpz-insta-lightbox .details-wrapper{width:100%;height:35%}}@media screen and (max-width: 600px){.wpz-insta-lightbox-wrapper .wpz-insta-lightbox .image-wrapper img{min-height:280px;min-width:280px}.wpz-insta-lightbox-wrapper>.swiper-container{width:76%}.wpz-insta-lightbox-wrapper .wpz-insta-lightbox .image-wrapper{height:55%}.wpz-insta-lightbox-wrapper .wpz-insta-lightbox .details-wrapper{height:45%}}
|
1 |
+
.zoom-instagram-widget__follow-me{margin-top:15px;text-align:center}.zoom-instagram{font-size:14px;overflow:hidden;display:block}.zoom-instagram form[disabled]{pointer-events:none}.zoom-instagram form[disabled]:not(.loading){opacity:.5}.zoom-instagram .zoom-instagram-widget__header{display:flex;gap:20px;margin:0 0 25px}.zoom-instagram .zoom-instagram-widget__header .zoom-instagram-widget__header-column-left img{height:70px;width:70px;border-radius:50%}.zoom-instagram .zoom-instagram-widget__header .zoom-instagram-widget__header-column-right{display:flex;flex-direction:column;justify-content:center}.zoom-instagram .zoom-instagram-widget__header .zoom-instagram-widget__header-name{font-size:1em;font-weight:600;line-height:1.5;padding:0;margin:0 0 5px;letter-spacing:0}.zoom-instagram .zoom-instagram-widget__header .zoom-instagram-widget__header-user{font-weight:600;line-height:normal;padding:0;margin:0;opacity:.8}.zoom-instagram .zoom-instagram-widget__header .zoom-instagram-widget__header-user a{text-decoration:none}.zoom-instagram .zoom-instagram-widget__header .zoom-instagram-widget__header-bio{font-size:13px;font-weight:normal;line-height:1.6;padding:0;margin:6px 0 0}.zoom-instagram .zoom-instagram-widget__footer{display:flex;justify-content:center;align-items:center;flex-direction:row;flex-wrap:wrap;gap:15px;margin:25px 0 0}.zoom-instagram .zoom-instagram-widget__footer>*{display:block}.zoom-instagram .zoom-instagram-widget__items-wrapper{overflow:hidden}.zoom-instagram .zoom-instagram-widget__items{display:grid;grid-template-columns:repeat(3, 1fr);gap:10px;list-style:none !important;padding:0;margin:0}.zoom-instagram .zoom-instagram-widget__items.layout-grid .zoom-instagram-widget__item img{width:100%;aspect-ratio:1/1}.zoom-instagram .zoom-instagram-widget__items.layout-fullwidth{display:flex;width:5000px}.zoom-instagram .zoom-instagram-widget__items.layout-fullwidth .zoom-instagram-widget__item img{aspect-ratio:1}.layout-legacy.zoom-instagram-widget__items{list-style:none !important}.layout-legacy.zoom-instagram-widget__items .zoom-instagram-widget__item{float:right;position:relative;margin-top:0 !important;padding:0}.layout-legacy.zoom-instagram-widget__items .zoom-instagram-widget__overlay{position:relative}.zoom-instagram-widget__item{position:relative;transition:all .1s ease-in-out}.zoom-instagram-widget__item.new{opacity:0;transform:scale(0);transform-origin:center;-webkit-animation:show 500ms linear forwards;animation:show 500ms linear forwards}.zoom-instagram-widget__item .zoom-instagram-widget__item-inner-wrap{position:relative;height:100%;overflow:hidden}.zoom-instagram-widget__item img{-o-object-fit:cover;object-fit:cover;-o-object-position:center;object-position:center;height:100%}.widget_block .zoom-instagram-widget__items ul li.zoom-instagram-widget__item,.widget.zoom-instagram-widget ul li.zoom-instagram-widget__item,.widget.zoom-new-instagram-widget ul li.zoom-instagram-widget__item{padding:0}.widget_block .zoom-instagram-widget__items-wrapper,.widget.zoom-new-instagram-widget .zoom-instagram-widget__items-wrapper{overflow:hidden}.widget_block .zoom-instagram-widget__items,.widget.zoom-new-instagram-widget .zoom-instagram-widget__items{display:grid;grid-template-columns:repeat(3, 1fr);gap:10px;padding:0;margin:0}.widget_block .zoom-instagram-widget__items::before,.widget_block .zoom-instagram-widget__items::after,.widget.zoom-new-instagram-widget .zoom-instagram-widget__items::before,.widget.zoom-new-instagram-widget .zoom-instagram-widget__items::after{display:none}.widget_block .zoom-instagram-widget__items.layout-grid .zoom-instagram-widget__item img,.widget.zoom-new-instagram-widget .zoom-instagram-widget__items.layout-grid .zoom-instagram-widget__item img{width:100%;aspect-ratio:1/1}.widget_block .zoom-instagram-widget__items.layout-fullwidth,.widget.zoom-new-instagram-widget .zoom-instagram-widget__items.layout-fullwidth{display:flex;width:5000px}.widget_block .zoom-instagram-widget__items.layout-fullwidth .zoom-instagram-widget__item img,.widget.zoom-new-instagram-widget .zoom-instagram-widget__items.layout-fullwidth .zoom-instagram-widget__item img{aspect-ratio:1}.widget_block .zoom-instagram-widget__items .zoom-instagram-widget__item .zoom-instagram-widget__item-inner-wrap,.widget.zoom-new-instagram-widget .zoom-instagram-widget__items .zoom-instagram-widget__item .zoom-instagram-widget__item-inner-wrap{position:relative;height:100%;overflow:hidden}.widget_block .zoom-instagram-widget__items .zoom-instagram-widget__item img,.widget.zoom-new-instagram-widget .zoom-instagram-widget__items .zoom-instagram-widget__item img{-o-object-fit:cover;object-fit:cover;-o-object-position:center;object-position:center;height:100%}.widget_block .zoom-instagram-widget__items .zoom-instagram-widget__item .zoom-instagram-link,.widget.zoom-new-instagram-widget .zoom-instagram-widget__items .zoom-instagram-widget__item .zoom-instagram-link{padding-bottom:100%}.ig-b-{display:inline-block}a.ig-b-v-24{border-color:#3897f0;color:#3897f0 !important;border-radius:3px;border-style:solid;border-width:1px;font-weight:600 !important;outline:none;overflow:hidden;white-space:nowrap;-webkit-appearance:none;font-family:sans-serif;padding:5px 15px;font-size:14px;transition:all .15s ease-in-out;-moz-transition:all .15s ease-in-out;-webkit-transition:all .15s ease-in-out;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:none !important}a.ig-b-v-24:hover{background:#3897f0;border-color:#3897f0;color:#fff !important}.zoom-instagram-widget__item .hover-controls{opacity:0;z-index:9;margin-top:-15px;position:absolute;top:40%;width:100%;text-align:center;transition:opacity .25s ease-in-out;-moz-transition:opacity .25s ease-in-out;-webkit-transition:opacity .25s ease-in-out}.zoom-instagram-widget__items[data-lightbox="1"] .zoom-instagram-widget__item .zoom-instagram-icon-wrap{pointer-events:none}.zoom-instagram-widget__item .hover-controls~.zoom-instagram-icon-wrap{bottom:10%;pointer-events:all}.zoom-instagram-widget__item .hover-layout.small .hover-controls~.zoom-instagram-icon-wrap{bottom:6%}.zoom-instagram-widget__item .hover-layout.small .zoom-instagram-icon-wrap{bottom:calc(50% - 15px)}.zoom-instagram-widget__item .zoom-instagram-icon-wrap{bottom:calc(50% - 15px);height:30px;width:100%;position:absolute;z-index:9;text-align:center}.zoom-instagram-widget__item:hover .hover-controls{opacity:1}.zoom-instagram-widget__item .zoom-instagram-icon-wrap{opacity:0;transition:opacity .25s ease-in-out;-moz-transition:opacity .25s ease-in-out;-webkit-transition:opacity .25s ease-in-out}.zoom-instagram-widget__item:hover .zoom-instagram-icon-wrap{opacity:1}.zoom-instagram-widget__item .hover-controls .dashicons{font-size:20px;width:20px;height:20px;color:#fff;vertical-align:middle}.zoom-instagram-widget__item .hover-controls .counter{padding-right:1px;padding-left:12px;font-weight:500;color:#fff;font-size:14px;opacity:.8;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif}.zoom-instagram-widget__overlay{position:absolute;top:0;right:0;left:0;bottom:0}.zoom-instagram-widget__overlay:after{position:absolute;content:"";top:0;right:0;pointer-events:none;width:100%;height:100%;opacity:0;transition:opacity .25s ease-in-out;-moz-transition:opacity .25s ease-in-out;-webkit-transition:opacity .25s ease-in-out}.zoom-instagram-widget__overlay:hover:after{opacity:.7;background-color:#000}.zoom-instagram-widget__black:after{background-color:#000}.zoom-svg-instagram-simple{display:inline-block;width:30px;height:30px;background:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHg9IjBweCIgeT0iMHB4IgogICAgIHdpZHRoPSI1MCIgaGVpZ2h0PSI1MCIKICAgICB2aWV3Qm94PSIwIDAgNTAgNTAiCiAgICAgc3R5bGU9ImZpbGw6I2ZmZmZmZjsiPiAgICA8cGF0aCBzdHlsZT0ibGluZS1oZWlnaHQ6bm9ybWFsO3RleHQtaW5kZW50OjA7dGV4dC1hbGlnbjpzdGFydDt0ZXh0LWRlY29yYXRpb24tbGluZTpub25lO3RleHQtZGVjb3JhdGlvbi1zdHlsZTpzb2xpZDt0ZXh0LWRlY29yYXRpb24tY29sb3I6IzAwMDt0ZXh0LXRyYW5zZm9ybTpub25lO2Jsb2NrLXByb2dyZXNzaW9uOnRiO2lzb2xhdGlvbjphdXRvO21peC1ibGVuZC1tb2RlOm5vcm1hbCIgZD0iTSAxNiAzIEMgOC44MzI0ODM5IDMgMyA4LjgzMjQ4MzkgMyAxNiBMIDMgMzQgQyAzIDQxLjE2NzUxNiA4LjgzMjQ4MzkgNDcgMTYgNDcgTCAzNCA0NyBDIDQxLjE2NzUxNiA0NyA0NyA0MS4xNjc1MTYgNDcgMzQgTCA0NyAxNiBDIDQ3IDguODMyNDgzOSA0MS4xNjc1MTYgMyAzNCAzIEwgMTYgMyB6IE0gMTYgNSBMIDM0IDUgQyA0MC4wODY0ODQgNSA0NSA5LjkxMzUxNjEgNDUgMTYgTCA0NSAzNCBDIDQ1IDQwLjA4NjQ4NCA0MC4wODY0ODQgNDUgMzQgNDUgTCAxNiA0NSBDIDkuOTEzNTE2MSA0NSA1IDQwLjA4NjQ4NCA1IDM0IEwgNSAxNiBDIDUgOS45MTM1MTYxIDkuOTEzNTE2MSA1IDE2IDUgeiBNIDM3IDExIEEgMiAyIDAgMCAwIDM1IDEzIEEgMiAyIDAgMCAwIDM3IDE1IEEgMiAyIDAgMCAwIDM5IDEzIEEgMiAyIDAgMCAwIDM3IDExIHogTSAyNSAxNCBDIDE4LjkzNjcxMiAxNCAxNCAxOC45MzY3MTIgMTQgMjUgQyAxNCAzMS4wNjMyODggMTguOTM2NzEyIDM2IDI1IDM2IEMgMzEuMDYzMjg4IDM2IDM2IDMxLjA2MzI4OCAzNiAyNSBDIDM2IDE4LjkzNjcxMiAzMS4wNjMyODggMTQgMjUgMTQgeiBNIDI1IDE2IEMgMjkuOTgyNDA3IDE2IDM0IDIwLjAxNzU5MyAzNCAyNSBDIDM0IDI5Ljk4MjQwNyAyOS45ODI0MDcgMzQgMjUgMzQgQyAyMC4wMTc1OTMgMzQgMTYgMjkuOTgyNDA3IDE2IDI1IEMgMTYgMjAuMDE3NTkzIDIwLjAxNzU5MyAxNiAyNSAxNiB6IiBmb250LXdlaWdodD0iNDAwIiBmb250LWZhbWlseT0ic2Fucy1zZXJpZiIgd2hpdGUtc3BhY2U9Im5vcm1hbCIgb3ZlcmZsb3c9InZpc2libGUiPjwvcGF0aD48L3N2Zz4=") 50% 50% no-repeat;background-size:100%}.zoom-svg-instagram-stroke{display:inline-block;width:30px;height:30px;background:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHg9IjBweCIgeT0iMHB4IgogICAgIHdpZHRoPSI1MCIgaGVpZ2h0PSI1MCIKICAgICB2aWV3Qm94PSIwIDAgMjUyIDI1MiIKICAgICBzdHlsZT0iZmlsbDojMDAwMDAwOyI+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMi4zOTQsMi4zOTQpIHNjYWxlKDAuOTgxLDAuOTgxKSI+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJub256ZXJvIiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0ibm9uZSIgc3Ryb2tlLWxpbmVjYXA9ImJ1dHQiIHN0cm9rZS1saW5lam9pbj0ibm9uZSIgc3Ryb2tlLW1pdGVybGltaXQ9IjEwIiBzdHJva2UtZGFzaGFycmF5PSIiIHN0cm9rZS1kYXNob2Zmc2V0PSIwIiBmb250LWZhbWlseT0ibm9uZSIgZm9udC13ZWlnaHQ9Im5vbmUiIGZvbnQtc2l6ZT0ibm9uZSIgdGV4dC1hbmNob3I9Im5vbmUiIHN0eWxlPSJtaXgtYmxlbmQtbW9kZTogbm9ybWFsIj48ZyBpZD0ib3JpZ2luYWwtaWNvbiAxIiBmaWxsPSIjZmZmZmZmIiBzdHJva2U9IiNmZmZmZmYiIHN0cm9rZS13aWR0aD0iNSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PHBhdGggZD0iTTE3MS4zNiwxNS4xMmMzNi4xMjQyOCwwIDY1LjUyLDI5LjM5NTcyIDY1LjUyLDY1LjUydjkwLjcyYzAsMzYuMTI0MjggLTI5LjM5NTcyLDY1LjUyIC02NS41Miw2NS41MmgtOTAuNzJjLTM2LjEyNDI4LDAgLTY1LjUyLC0yOS4zOTU3MiAtNjUuNTIsLTY1LjUydi05MC43MmMwLC0zNi4xMjQyOCAyOS4zOTU3MiwtNjUuNTIgNjUuNTIsLTY1LjUyek0yNS4yLDgwLjY0djkwLjcyYzAsMzAuNjc1ODggMjQuNzY0MTIsNTUuNDQgNTUuNDQsNTUuNDRoOTAuNzJjMzAuNjc1ODgsMCA1NS40NCwtMjQuNzY0MTIgNTUuNDQsLTU1LjQ0di05MC43MmMwLC0zMC42NzU4OCAtMjQuNzY0MTIsLTU1LjQ0IC01NS40NCwtNTUuNDRoLTkwLjcyYy0zMC42NzU4OCwwIC01NS40NCwyNC43NjQxMiAtNTUuNDQsNTUuNDR6TTE5Ni41Niw2NS41MmMwLDUuNTY3MDMgLTQuNTEyOTcsMTAuMDggLTEwLjA4LDEwLjA4Yy01LjU2NzAzLDAgLTEwLjA4LC00LjUxMjk3IC0xMC4wOCwtMTAuMDhjMCwtNS41NjcwMyA0LjUxMjk3LC0xMC4wOCAxMC4wOCwtMTAuMDhjNS41NjcwMywwIDEwLjA4LDQuNTEyOTcgMTAuMDgsMTAuMDh6TTE4MS40NCwxMjZjMCwzMC41NTg5NyAtMjQuODgxMDMsNTUuNDQgLTU1LjQ0LDU1LjQ0Yy0zMC41NTg5NywwIC01NS40NCwtMjQuODgxMDMgLTU1LjQ0LC01NS40NGMwLC0zMC41NTg5NyAyNC44ODEwMywtNTUuNDQgNTUuNDQsLTU1LjQ0YzMwLjU1ODk3LDAgNTUuNDQsMjQuODgxMDMgNTUuNDQsNTUuNDR6TTgwLjY0LDEyNmMwLDI1LjExMTMzIDIwLjI0ODY3LDQ1LjM2IDQ1LjM2LDQ1LjM2YzI1LjExMTMzLDAgNDUuMzYsLTIwLjI0ODY3IDQ1LjM2LC00NS4zNmMwLC0yNS4xMTEzMyAtMjAuMjQ4NjcsLTQ1LjM2IC00NS4zNiwtNDUuMzZjLTI1LjExMTMzLDAgLTQ1LjM2LDIwLjI0ODY3IC00NS4zNiw0NS4zNnoiPjwvcGF0aD48L2c+PHBhdGggZD0iTTAsMjUydi0yNTJoMjUydjI1MnoiIGZpbGw9Im5vbmUiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49Im1pdGVyIj48L3BhdGg+PGcgaWQ9Im9yaWdpbmFsLWljb24iIGZpbGw9IiNmZmZmZmYiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49Im1pdGVyIj48cGF0aCBkPSJNODAuNjQsMTUuMTJjLTM2LjEyNDI4LDAgLTY1LjUyLDI5LjM5NTcyIC02NS41Miw2NS41MnY5MC43MmMwLDM2LjEyNDI4IDI5LjM5NTcyLDY1LjUyIDY1LjUyLDY1LjUyaDkwLjcyYzM2LjEyNDI4LDAgNjUuNTIsLTI5LjM5NTcyIDY1LjUyLC02NS41MnYtOTAuNzJjMCwtMzYuMTI0MjggLTI5LjM5NTcyLC02NS41MiAtNjUuNTIsLTY1LjUyek04MC42NCwyNS4yaDkwLjcyYzMwLjY3NTg4LDAgNTUuNDQsMjQuNzY0MTIgNTUuNDQsNTUuNDR2OTAuNzJjMCwzMC42NzU4OCAtMjQuNzY0MTIsNTUuNDQgLTU1LjQ0LDU1LjQ0aC05MC43MmMtMzAuNjc1ODgsMCAtNTUuNDQsLTI0Ljc2NDEyIC01NS40NCwtNTUuNDR2LTkwLjcyYzAsLTMwLjY3NTg4IDI0Ljc2NDEyLC01NS40NCA1NS40NCwtNTUuNDR6TTE4Ni40OCw1NS40NGMtNS41NjcwMywwIC0xMC4wOCw0LjUxMjk3IC0xMC4wOCwxMC4wOGMwLDUuNTY3MDMgNC41MTI5NywxMC4wOCAxMC4wOCwxMC4wOGM1LjU2NzAzLDAgMTAuMDgsLTQuNTEyOTcgMTAuMDgsLTEwLjA4YzAsLTUuNTY3MDMgLTQuNTEyOTcsLTEwLjA4IC0xMC4wOCwtMTAuMDh6TTEyNiw3MC41NmMtMzAuNTU4OTcsMCAtNTUuNDQsMjQuODgxMDMgLTU1LjQ0LDU1LjQ0YzAsMzAuNTU4OTcgMjQuODgxMDMsNTUuNDQgNTUuNDQsNTUuNDRjMzAuNTU4OTcsMCA1NS40NCwtMjQuODgxMDMgNTUuNDQsLTU1LjQ0YzAsLTMwLjU1ODk3IC0yNC44ODEwMywtNTUuNDQgLTU1LjQ0LC01NS40NHpNMTI2LDgwLjY0YzI1LjExMTMzLDAgNDUuMzYsMjAuMjQ4NjcgNDUuMzYsNDUuMzZjMCwyNS4xMTEzMyAtMjAuMjQ4NjcsNDUuMzYgLTQ1LjM2LDQ1LjM2Yy0yNS4xMTEzMywwIC00NS4zNiwtMjAuMjQ4NjcgLTQ1LjM2LC00NS4zNmMwLC0yNS4xMTEzMyAyMC4yNDg2NywtNDUuMzYgNDUuMzYsLTQ1LjM2eiI+PC9wYXRoPjwvZz48cGF0aCBkPSJNMTI2LDI1MmMtNjkuNTg3ODgsMCAtMTI2LC01Ni40MTIxMiAtMTI2LC0xMjZ2MGMwLC02OS41ODc4OCA1Ni40MTIxMiwtMTI2IDEyNiwtMTI2djBjNjkuNTg3ODgsMCAxMjYsNTYuNDEyMTIgMTI2LDEyNnYwYzAsNjkuNTg3ODggLTU2LjQxMjEyLDEyNiAtMTI2LDEyNnoiIGZpbGw9Im5vbmUiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49Im1pdGVyIj48L3BhdGg+PHBhdGggZD0iTTEyNiwyNDYuOTZjLTY2LjgwNDM2LDAgLTEyMC45NiwtNTQuMTU1NjQgLTEyMC45NiwtMTIwLjk2djBjMCwtNjYuODA0MzYgNTQuMTU1NjQsLTEyMC45NiAxMjAuOTYsLTEyMC45NmgwYzY2LjgwNDM2LDAgMTIwLjk2LDU0LjE1NTY0IDEyMC45NiwxMjAuOTZ2MGMwLDY2LjgwNDM2IC01NC4xNTU2NCwxMjAuOTYgLTEyMC45NiwxMjAuOTZ6IiBmaWxsPSJub25lIiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJtaXRlciI+PC9wYXRoPjxwYXRoIGQ9IiIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJub25lIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0ibWl0ZXIiPjwvcGF0aD48cGF0aCBkPSIiIGZpbGw9Im5vbmUiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49Im1pdGVyIj48L3BhdGg+PHBhdGggZD0iIiBmaWxsPSJub25lIiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJtaXRlciI+PC9wYXRoPjxwYXRoIGQ9IiIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJub25lIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0ibWl0ZXIiPjwvcGF0aD48L2c+PC9nPjwvc3ZnPg==") 50% 50% no-repeat;background-size:100%}.zoom-instagram-widget__item .hover-layout.small .hover-controls .dashicons{font-size:15px;width:15px;height:15px}.zoom-instagram-widget__item .hover-layout.small .zoom-instagram-icon-wrap .zoom-svg-instagram-stroke{width:18px;height:18px}.zoom-instagram-widget__item .hover-layout.small .hover-controls .counter{padding-right:1px;padding-left:4px;font-size:11px}.zoom-instagram-widget-user-info{display:flex;padding:0 0px 20px}.zoom-instagram-widget-user-info .zoom-instagram-widget-user-info-picture{flex:1}.zoom-instagram-widget-user-info .zoom-instagram-widget-user-info-picture img{border-radius:50%}.zoom-instagram-widget-user-info .zoom-instagram-widget-user-info-meta{display:flex;flex:3;flex-direction:column;margin-right:15px;text-align:right;justify-content:center}.zoom-instagram-widget-user-info .zoom-instagram-widget-user-info-about-data{display:flex;justify-content:space-between;margin-bottom:10px}.zoom-instagram-widget-user-info .zoom-instagram-widget-user-info-stats{font-size:14px;line-height:1.2;justify-content:space-between;display:flex;text-align:center}.zoom-instagram-widget-user-info .zoom-instagram-widget-user-info-follow-button{padding:0px 24px;margin-top:10px;background:#3897f0;color:#fff !important;font-size:14px;font-weight:600;line-height:26px;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;text-transform:none;border-radius:3px;outline:0;overflow:hidden;text-overflow:ellipsis;display:block;border:none;box-shadow:none;text-decoration:none !important}.zoom-instagram-widget-user-info .zoom-instagram-widget-user-info-follow-button:hover{color:#fff;opacity:.8;box-shadow:none;border:none;text-decoration:none}.zoom-instagram-widget-user-info .zoom-instagram-widget-user-info-counts{font-weight:600}.zoom-instagram-widget-user-info .zoom-instagram-widget-user-info-counts-subhead{opacity:.7;font-size:14px}.zoom-instagram-widget-user-info-middle-cell{padding:0px 20px}.zoom-instagram-widget-user-info .zoom-instagram-widget-user-info-fullname{font-weight:600;font-size:16px}.zoom-instagram-widget-user-info .zoom-instagram-widget-user-info-names-wrapper{padding-left:20px;word-break:break-word}.zoom-instagram-widget-user-info .zoom-instagram-widget-user-info-username{font-size:14px;font-weight:600;word-break:break-all;opacity:.7}.zoom-instagram-widget-user-info-bio{text-align:right;font-size:14px;margin:0 0 15px}.zoom-instagram-widget__items .zoom-instagram-widget__item .zoom-instagram-link{display:block;background-size:cover !important;background-position:center center !important;background-repeat:no-repeat !important}.zoom-instagram-widget__items .zoom-instagram-widget__item .svg-icon{position:absolute;width:32px;padding:8px;height:32px;display:flex;top:0;left:0;z-index:1;transition:opacity .25s ease-in-out;-moz-transition:opacity .25s ease-in-out;-webkit-transition:opacity .25s ease-in-out}.zoom-instagram-widget__items .zoom-instagram-widget__item.media-icons-hover .svg-icon{opacity:0}.zoom-instagram-widget__items .zoom-instagram-widget__item.media-icons-hover:hover .svg-icon{opacity:1}.wpzoom-lightbox .mfp-inline-holder .mfp-content{max-width:none}.wpz-insta-lightbox{pointer-events:all;display:flex;flex-direction:row;background-color:#fff;border-radius:4px;height:100%}.wpz-insta-lightbox-wrapper{display:flex;justify-content:center;pointer-events:none}.wpz-insta-lightbox-wrapper .wpz-insta-lightbox .details-wrapper{width:30%}.wpz-insta-lightbox-wrapper .wpz-insta-lightbox .details-wrapper .wpz-insta-header{display:flex;align-items:center;padding:16px;border-bottom:1px solid #efefef;flex-wrap:wrap}.wpz-insta-lightbox-wrapper .wpz-insta-lightbox .details-wrapper .wpz-insta-header .wpz-insta-avatar img{width:42px;height:42px;border-radius:50%}.wpz-insta-lightbox-wrapper .wpz-insta-lightbox .details-wrapper .wpz-insta-header .wpz-insta-username a,.wpz-insta-lightbox-wrapper .wpz-insta-lightbox .details-wrapper .wpz-insta-header .wpz-insta-follow a{color:#262626;font-weight:600;text-decoration:none;font-size:14px}.wpz-insta-lightbox-wrapper .wpz-insta-lightbox .details-wrapper .wpz-insta-header .wpz-insta-username a:hover{text-decoration:underline}.wpz-insta-lightbox-wrapper .wpz-insta-lightbox .details-wrapper .wpz-insta-header .wpz-insta-follow a{color:#0095f6}.wpz-insta-lightbox-wrapper .wpz-insta-lightbox .details-wrapper .wpz-insta-header>div{margin-left:13px;min-width:42px}.wpz-insta-lightbox-wrapper .wpz-insta-lightbox .details-wrapper .wpz-insta-header .wpz-insta-buttons{display:flex}.wpz-insta-lightbox-wrapper .wpz-insta-lightbox .details-wrapper .wpz-insta-header .wpz-insta-buttons>div{padding:5px}.wpz-insta-lightbox-wrapper .wpz-insta-lightbox .details-wrapper .wpz-insta-caption{color:#262626;line-height:1.5;font-size:14px;padding:16px;font-weight:normal;overflow-y:scroll;max-height:384px;border-bottom:1px solid #efefef}.wpzoom-lightbox.mfp-gallery{z-index:100000;pointer-events:none}.wpzoom-lightbox button.mfp-close{pointer-events:all;color:#fff;font-size:50px;font-weight:100;margin-top:25px;margin-left:15px}.wpzoom-lightbox .mfp-prevent-close{pointer-events:all}.wpzoom-lightbox button.mfp-close:hover{text-decoration:none}.wpz-insta-lightbox-wrapper .wpz-insta-lightbox .details-wrapper .wpz-insta-date{font-size:12px;padding:16px;color:#8e8e8e;flex:1}.wpz-insta-lightbox-wrapper .wpz-insta-lightbox .image-wrapper img{height:100%;max-width:100%;-o-object-fit:contain;object-fit:contain;min-height:700px;min-width:700px}.wpz-insta-lightbox-wrapper .wpz-insta-lightbox .image-wrapper{flex-grow:1;text-align:center;height:auto;width:100%;max-width:70%;max-height:100%;background:#000;border-radius:0 4px 4px 0}.wpz-insta-lightbox-wrapper>.swiper-container{pointer-events:none;width:1000px;height:80vh}.wpz-insta-lightbox-wrapper>.swiper-container .swiper-container{width:100%;height:100%}.wpz-insta-lightbox-wrapper>.swiper-container .swiper-container .swiper-slide{max-height:100%}.wpz-insta-lightbox-wrapper>.swiper-container-autoheight,.swiper-container-autoheight .swiper-slide{height:100%;max-height:80vh}.wpz-insta-lightbox-wrapper video{height:100%;max-width:100%}.wpz-insta-lightbox-wrapper>.swiper-container .swiper-container .swiper-button-prev,.wpz-insta-lightbox-wrapper>.swiper-container .swiper-container .swiper-button-next{--swiper-navigation-size: 34px;color:#000;background:#fff;width:var(--swiper-navigation-size);border-radius:50%}.wpz-insta-lightbox-wrapper>.swiper-container .swiper-container .swiper-button-prev::after,.wpz-insta-lightbox-wrapper>.swiper-container .swiper-container .swiper-button-next::after{font-size:16px}.wpz-insta-lightbox-wrapper>.swiper-container>.swiper-wrapper{pointer-events:all}.wpz-insta-lightbox-wrapper>.swiper-container>.swiper-button-prev,.wpz-insta-lightbox-wrapper>.swiper-container>.swiper-button-next{position:fixed;pointer-events:all}.wpz-insta-lightbox-wrapper>.swiper-container .swiper-button-prev,.wpz-insta-lightbox-wrapper>.swiper-container .swiper-button-next{color:#fff;opacity:.75}.wpz-insta-lightbox-wrapper>.swiper-container .swiper-button-prev:hover,.wpz-insta-lightbox-wrapper>.swiper-container .swiper-button-next:hover{opacity:1}.wpz-insta-lightbox-wrapper>.swiper-container .swiper-button-prev.swiper-button-disabled,.wpz-insta-lightbox-wrapper>.swiper-container .swiper-button-next.swiper-button-disabled{opacity:.25 !important}.wpz-insta-lightbox-wrapper .wpz-insta-lightbox .details-wrapper{display:flex;flex-direction:column;flex-grow:1}.wpz-insta-lightbox-wrapper .wpz-insta-lightbox .details-wrapper .view-post{padding:16px;text-decoration:none;font-size:12px;color:#262626;font-weight:400;line-height:20px;display:flex;border-top:1px solid #efefef;flex-wrap:wrap;justify-content:flex-start}.wpz-insta-lightbox-wrapper .wpz-insta-lightbox .details-wrapper .view-post a{text-decoration:none;font-size:12px;color:#262626;font-weight:400;line-height:20px;text-align:center;display:inline-block}.wpz-insta-lightbox-wrapper .wpz-insta-lightbox .details-wrapper .view-post a span{margin-left:10px}.wpz-insta-lightbox-wrapper .wpz-insta-lightbox .details-wrapper .view-post .delimiter{padding:0px 10px}@-webkit-keyframes show{100%{transform:none;opacity:1}}@keyframes show{100%{transform:none;opacity:1}}@media screen and (max-width: 1200px){.wpz-insta-lightbox-wrapper .wpz-insta-lightbox{flex-wrap:wrap}.wpz-insta-lightbox-wrapper>.swiper-container{width:86%}.wpz-insta-lightbox-wrapper .wpz-insta-lightbox .image-wrapper img{min-height:500px;min-width:500px}}@media screen and (max-width: 860px){.wpz-insta-lightbox-wrapper .wpz-insta-lightbox .details-wrapper .wpz-insta-caption{font-size:12px}}@media screen and (max-width: 768px){.wpz-insta-lightbox{flex-direction:column}.wpz-insta-lightbox-wrapper .wpz-insta-lightbox .image-wrapper img{min-height:400px;min-width:400px}.wpz-insta-lightbox-wrapper .wpz-insta-lightbox .image-wrapper{border-radius:4px 4px 0 0;max-width:100%;height:65%}.wpz-insta-lightbox-wrapper .wpz-insta-lightbox .details-wrapper .wpz-insta-caption{max-height:134px}.wpz-insta-lightbox-wrapper .wpz-insta-lightbox .details-wrapper{width:100%;height:35%}}@media screen and (max-width: 600px){.wpz-insta-lightbox-wrapper .wpz-insta-lightbox .image-wrapper img{min-height:280px;min-width:280px}.wpz-insta-lightbox-wrapper>.swiper-container{width:76%}.wpz-insta-lightbox-wrapper .wpz-insta-lightbox .image-wrapper{height:55%}.wpz-insta-lightbox-wrapper .wpz-insta-lightbox .details-wrapper{height:45%}}
|
dist/styles/frontend/index.asset.php
CHANGED
@@ -1 +1 @@
|
|
1 |
-
<?php return array('dependencies' => array('wp-polyfill'), 'version' => '
|
1 |
+
<?php return array('dependencies' => array('wp-polyfill'), 'version' => 'f94553f02d1e7c749daabe1f9048fea5');
|
dist/styles/frontend/index.css
CHANGED
@@ -1 +1 @@
|
|
1 |
-
.zoom-instagram-widget__follow-me{margin-top:15px;text-align:center}.zoom-instagram{font-size:14px;overflow:hidden;display:block}.zoom-instagram form[disabled]{pointer-events:none}.zoom-instagram form[disabled]:not(.loading){opacity:.5}.zoom-instagram .zoom-instagram-widget__header{display:flex;gap:20px;margin:0 0 25px}.zoom-instagram .zoom-instagram-widget__header .zoom-instagram-widget__header-column-left img{height:70px;width:70px;border-radius:50%}.zoom-instagram .zoom-instagram-widget__header .zoom-instagram-widget__header-column-right{display:flex;flex-direction:column;justify-content:center}.zoom-instagram .zoom-instagram-widget__header .zoom-instagram-widget__header-name{font-size:1em;font-weight:600;line-height:1.5;padding:0;margin:0 0 5px;letter-spacing:0}.zoom-instagram .zoom-instagram-widget__header .zoom-instagram-widget__header-user{font-weight:600;line-height:normal;padding:0;margin:0;opacity:.8}.zoom-instagram .zoom-instagram-widget__header .zoom-instagram-widget__header-user a{text-decoration:none}.zoom-instagram .zoom-instagram-widget__header .zoom-instagram-widget__header-bio{font-size:13px;font-weight:normal;line-height:1.6;padding:0;margin:6px 0 0}.zoom-instagram .zoom-instagram-widget__footer{display:flex;justify-content:center;align-items:center;flex-direction:row;flex-wrap:wrap;gap:15px;margin:25px 0 0}.zoom-instagram .zoom-instagram-widget__footer>*{display:block}.zoom-instagram .zoom-instagram-widget__items-wrapper{overflow:hidden}.zoom-instagram .zoom-instagram-widget__items{display:grid;grid-template-columns:repeat(3, 1fr);gap:10px;list-style:none !important;padding:0;margin:0}.zoom-instagram .zoom-instagram-widget__items.layout-grid .zoom-instagram-widget__item img{width:100%;aspect-ratio:1/1}.zoom-instagram .zoom-instagram-widget__items.layout-fullwidth{display:flex;width:5000px}.zoom-instagram .zoom-instagram-widget__items.layout-fullwidth .zoom-instagram-widget__item img{aspect-ratio:1}.layout-legacy.zoom-instagram-widget__items{list-style:none !important}.layout-legacy.zoom-instagram-widget__items .zoom-instagram-widget__item{float:left;position:relative;margin-top:0 !important;padding:0}.layout-legacy.zoom-instagram-widget__items .zoom-instagram-widget__overlay{position:relative}.zoom-instagram-widget__item{position:relative;transition:all .1s ease-in-out}.zoom-instagram-widget__item.new{opacity:0;transform:scale(0);transform-origin:center;-webkit-animation:show 500ms linear forwards;animation:show 500ms linear forwards}.zoom-instagram-widget__item .zoom-instagram-widget__item-inner-wrap{position:relative;height:100%;overflow:hidden}.zoom-instagram-widget__item img{-o-object-fit:cover;object-fit:cover;-o-object-position:center;object-position:center;height:100%}.widget_block .zoom-instagram-widget__items ul li.zoom-instagram-widget__item,.widget.zoom-instagram-widget ul li.zoom-instagram-widget__item,.widget.zoom-new-instagram-widget ul li.zoom-instagram-widget__item{padding:0}.widget_block .zoom-instagram-widget__items-wrapper,.widget.zoom-new-instagram-widget .zoom-instagram-widget__items-wrapper{overflow:hidden}.widget_block .zoom-instagram-widget__items,.widget.zoom-new-instagram-widget .zoom-instagram-widget__items{display:grid;grid-template-columns:repeat(3, 1fr);gap:10px;padding:0;margin:0}.widget_block .zoom-instagram-widget__items::before,.widget_block .zoom-instagram-widget__items::after,.widget.zoom-new-instagram-widget .zoom-instagram-widget__items::before,.widget.zoom-new-instagram-widget .zoom-instagram-widget__items::after{display:none}.widget_block .zoom-instagram-widget__items.layout-grid .zoom-instagram-widget__item img,.widget.zoom-new-instagram-widget .zoom-instagram-widget__items.layout-grid .zoom-instagram-widget__item img{width:100%;aspect-ratio:1/1}.widget_block .zoom-instagram-widget__items.layout-fullwidth,.widget.zoom-new-instagram-widget .zoom-instagram-widget__items.layout-fullwidth{display:flex;width:5000px}.widget_block .zoom-instagram-widget__items.layout-fullwidth .zoom-instagram-widget__item img,.widget.zoom-new-instagram-widget .zoom-instagram-widget__items.layout-fullwidth .zoom-instagram-widget__item img{aspect-ratio:1}.widget_block .zoom-instagram-widget__items .zoom-instagram-widget__item .zoom-instagram-widget__item-inner-wrap,.widget.zoom-new-instagram-widget .zoom-instagram-widget__items .zoom-instagram-widget__item .zoom-instagram-widget__item-inner-wrap{position:relative;height:100%;overflow:hidden}.widget_block .zoom-instagram-widget__items .zoom-instagram-widget__item img,.widget.zoom-new-instagram-widget .zoom-instagram-widget__items .zoom-instagram-widget__item img{-o-object-fit:cover;object-fit:cover;-o-object-position:center;object-position:center;height:100%}.widget_block .zoom-instagram-widget__items .zoom-instagram-widget__item .zoom-instagram-link,.widget.zoom-new-instagram-widget .zoom-instagram-widget__items .zoom-instagram-widget__item .zoom-instagram-link{padding-bottom:100%}.ig-b-{display:inline-block}a.ig-b-v-24{border-color:#3897f0;color:#3897f0 !important;border-radius:3px;border-style:solid;border-width:1px;font-weight:600 !important;outline:none;overflow:hidden;white-space:nowrap;-webkit-appearance:none;font-family:sans-serif;padding:5px 15px;font-size:14px;transition:all .15s ease-in-out;-moz-transition:all .15s ease-in-out;-webkit-transition:all .15s ease-in-out;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:none !important}a.ig-b-v-24:hover{background:#3897f0;border-color:#3897f0;color:#fff !important}.zoom-instagram-widget__item .hover-controls{opacity:0;z-index:9;margin-top:-15px;position:absolute;top:40%;width:100%;text-align:center;transition:opacity .25s ease-in-out;-moz-transition:opacity .25s ease-in-out;-webkit-transition:opacity .25s ease-in-out}.zoom-instagram-widget__items[data-lightbox="1"] .zoom-instagram-widget__item .zoom-instagram-icon-wrap{pointer-events:none}.zoom-instagram-widget__item .hover-controls~.zoom-instagram-icon-wrap{bottom:10%;pointer-events:all}.zoom-instagram-widget__item .hover-layout.small .hover-controls~.zoom-instagram-icon-wrap{bottom:6%}.zoom-instagram-widget__item .hover-layout.small .zoom-instagram-icon-wrap{bottom:calc(50% - 15px)}.zoom-instagram-widget__item .zoom-instagram-icon-wrap{bottom:calc(50% - 15px);height:30px;width:100%;position:absolute;z-index:9;text-align:center}.zoom-instagram-widget__item:hover .hover-controls{opacity:1}.zoom-instagram-widget__item .zoom-instagram-icon-wrap{opacity:0;transition:opacity .25s ease-in-out;-moz-transition:opacity .25s ease-in-out;-webkit-transition:opacity .25s ease-in-out}.zoom-instagram-widget__item:hover .zoom-instagram-icon-wrap{opacity:1}.zoom-instagram-widget__item .hover-controls .dashicons{font-size:20px;width:20px;height:20px;color:#fff;vertical-align:middle}.zoom-instagram-widget__item .hover-controls .counter{padding-left:1px;padding-right:12px;font-weight:500;color:#fff;font-size:14px;opacity:.8;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif}.zoom-instagram-widget__overlay{position:absolute;top:0;left:0;right:0;bottom:0}.zoom-instagram-widget__overlay:after{position:absolute;content:"";top:0;left:0;pointer-events:none;width:100%;height:100%;opacity:0;transition:opacity .25s ease-in-out;-moz-transition:opacity .25s ease-in-out;-webkit-transition:opacity .25s ease-in-out}.zoom-instagram-widget__overlay:hover:after{opacity:.7;background-color:#000}.zoom-instagram-widget__black:after{background-color:#000}.zoom-svg-instagram-simple{display:inline-block;width:30px;height:30px;background:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHg9IjBweCIgeT0iMHB4IgogICAgIHdpZHRoPSI1MCIgaGVpZ2h0PSI1MCIKICAgICB2aWV3Qm94PSIwIDAgNTAgNTAiCiAgICAgc3R5bGU9ImZpbGw6I2ZmZmZmZjsiPiAgICA8cGF0aCBzdHlsZT0ibGluZS1oZWlnaHQ6bm9ybWFsO3RleHQtaW5kZW50OjA7dGV4dC1hbGlnbjpzdGFydDt0ZXh0LWRlY29yYXRpb24tbGluZTpub25lO3RleHQtZGVjb3JhdGlvbi1zdHlsZTpzb2xpZDt0ZXh0LWRlY29yYXRpb24tY29sb3I6IzAwMDt0ZXh0LXRyYW5zZm9ybTpub25lO2Jsb2NrLXByb2dyZXNzaW9uOnRiO2lzb2xhdGlvbjphdXRvO21peC1ibGVuZC1tb2RlOm5vcm1hbCIgZD0iTSAxNiAzIEMgOC44MzI0ODM5IDMgMyA4LjgzMjQ4MzkgMyAxNiBMIDMgMzQgQyAzIDQxLjE2NzUxNiA4LjgzMjQ4MzkgNDcgMTYgNDcgTCAzNCA0NyBDIDQxLjE2NzUxNiA0NyA0NyA0MS4xNjc1MTYgNDcgMzQgTCA0NyAxNiBDIDQ3IDguODMyNDgzOSA0MS4xNjc1MTYgMyAzNCAzIEwgMTYgMyB6IE0gMTYgNSBMIDM0IDUgQyA0MC4wODY0ODQgNSA0NSA5LjkxMzUxNjEgNDUgMTYgTCA0NSAzNCBDIDQ1IDQwLjA4NjQ4NCA0MC4wODY0ODQgNDUgMzQgNDUgTCAxNiA0NSBDIDkuOTEzNTE2MSA0NSA1IDQwLjA4NjQ4NCA1IDM0IEwgNSAxNiBDIDUgOS45MTM1MTYxIDkuOTEzNTE2MSA1IDE2IDUgeiBNIDM3IDExIEEgMiAyIDAgMCAwIDM1IDEzIEEgMiAyIDAgMCAwIDM3IDE1IEEgMiAyIDAgMCAwIDM5IDEzIEEgMiAyIDAgMCAwIDM3IDExIHogTSAyNSAxNCBDIDE4LjkzNjcxMiAxNCAxNCAxOC45MzY3MTIgMTQgMjUgQyAxNCAzMS4wNjMyODggMTguOTM2NzEyIDM2IDI1IDM2IEMgMzEuMDYzMjg4IDM2IDM2IDMxLjA2MzI4OCAzNiAyNSBDIDM2IDE4LjkzNjcxMiAzMS4wNjMyODggMTQgMjUgMTQgeiBNIDI1IDE2IEMgMjkuOTgyNDA3IDE2IDM0IDIwLjAxNzU5MyAzNCAyNSBDIDM0IDI5Ljk4MjQwNyAyOS45ODI0MDcgMzQgMjUgMzQgQyAyMC4wMTc1OTMgMzQgMTYgMjkuOTgyNDA3IDE2IDI1IEMgMTYgMjAuMDE3NTkzIDIwLjAxNzU5MyAxNiAyNSAxNiB6IiBmb250LXdlaWdodD0iNDAwIiBmb250LWZhbWlseT0ic2Fucy1zZXJpZiIgd2hpdGUtc3BhY2U9Im5vcm1hbCIgb3ZlcmZsb3c9InZpc2libGUiPjwvcGF0aD48L3N2Zz4=") 50% 50% no-repeat;background-size:100%}.zoom-svg-instagram-stroke{display:inline-block;width:30px;height:30px;background:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHg9IjBweCIgeT0iMHB4IgogICAgIHdpZHRoPSI1MCIgaGVpZ2h0PSI1MCIKICAgICB2aWV3Qm94PSIwIDAgMjUyIDI1MiIKICAgICBzdHlsZT0iZmlsbDojMDAwMDAwOyI+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMi4zOTQsMi4zOTQpIHNjYWxlKDAuOTgxLDAuOTgxKSI+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJub256ZXJvIiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0ibm9uZSIgc3Ryb2tlLWxpbmVjYXA9ImJ1dHQiIHN0cm9rZS1saW5lam9pbj0ibm9uZSIgc3Ryb2tlLW1pdGVybGltaXQ9IjEwIiBzdHJva2UtZGFzaGFycmF5PSIiIHN0cm9rZS1kYXNob2Zmc2V0PSIwIiBmb250LWZhbWlseT0ibm9uZSIgZm9udC13ZWlnaHQ9Im5vbmUiIGZvbnQtc2l6ZT0ibm9uZSIgdGV4dC1hbmNob3I9Im5vbmUiIHN0eWxlPSJtaXgtYmxlbmQtbW9kZTogbm9ybWFsIj48ZyBpZD0ib3JpZ2luYWwtaWNvbiAxIiBmaWxsPSIjZmZmZmZmIiBzdHJva2U9IiNmZmZmZmYiIHN0cm9rZS13aWR0aD0iNSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PHBhdGggZD0iTTE3MS4zNiwxNS4xMmMzNi4xMjQyOCwwIDY1LjUyLDI5LjM5NTcyIDY1LjUyLDY1LjUydjkwLjcyYzAsMzYuMTI0MjggLTI5LjM5NTcyLDY1LjUyIC02NS41Miw2NS41MmgtOTAuNzJjLTM2LjEyNDI4LDAgLTY1LjUyLC0yOS4zOTU3MiAtNjUuNTIsLTY1LjUydi05MC43MmMwLC0zNi4xMjQyOCAyOS4zOTU3MiwtNjUuNTIgNjUuNTIsLTY1LjUyek0yNS4yLDgwLjY0djkwLjcyYzAsMzAuNjc1ODggMjQuNzY0MTIsNTUuNDQgNTUuNDQsNTUuNDRoOTAuNzJjMzAuNjc1ODgsMCA1NS40NCwtMjQuNzY0MTIgNTUuNDQsLTU1LjQ0di05MC43MmMwLC0zMC42NzU4OCAtMjQuNzY0MTIsLTU1LjQ0IC01NS40NCwtNTUuNDRoLTkwLjcyYy0zMC42NzU4OCwwIC01NS40NCwyNC43NjQxMiAtNTUuNDQsNTUuNDR6TTE5Ni41Niw2NS41MmMwLDUuNTY3MDMgLTQuNTEyOTcsMTAuMDggLTEwLjA4LDEwLjA4Yy01LjU2NzAzLDAgLTEwLjA4LC00LjUxMjk3IC0xMC4wOCwtMTAuMDhjMCwtNS41NjcwMyA0LjUxMjk3LC0xMC4wOCAxMC4wOCwtMTAuMDhjNS41NjcwMywwIDEwLjA4LDQuNTEyOTcgMTAuMDgsMTAuMDh6TTE4MS40NCwxMjZjMCwzMC41NTg5NyAtMjQuODgxMDMsNTUuNDQgLTU1LjQ0LDU1LjQ0Yy0zMC41NTg5NywwIC01NS40NCwtMjQuODgxMDMgLTU1LjQ0LC01NS40NGMwLC0zMC41NTg5NyAyNC44ODEwMywtNTUuNDQgNTUuNDQsLTU1LjQ0YzMwLjU1ODk3LDAgNTUuNDQsMjQuODgxMDMgNTUuNDQsNTUuNDR6TTgwLjY0LDEyNmMwLDI1LjExMTMzIDIwLjI0ODY3LDQ1LjM2IDQ1LjM2LDQ1LjM2YzI1LjExMTMzLDAgNDUuMzYsLTIwLjI0ODY3IDQ1LjM2LC00NS4zNmMwLC0yNS4xMTEzMyAtMjAuMjQ4NjcsLTQ1LjM2IC00NS4zNiwtNDUuMzZjLTI1LjExMTMzLDAgLTQ1LjM2LDIwLjI0ODY3IC00NS4zNiw0NS4zNnoiPjwvcGF0aD48L2c+PHBhdGggZD0iTTAsMjUydi0yNTJoMjUydjI1MnoiIGZpbGw9Im5vbmUiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49Im1pdGVyIj48L3BhdGg+PGcgaWQ9Im9yaWdpbmFsLWljb24iIGZpbGw9IiNmZmZmZmYiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49Im1pdGVyIj48cGF0aCBkPSJNODAuNjQsMTUuMTJjLTM2LjEyNDI4LDAgLTY1LjUyLDI5LjM5NTcyIC02NS41Miw2NS41MnY5MC43MmMwLDM2LjEyNDI4IDI5LjM5NTcyLDY1LjUyIDY1LjUyLDY1LjUyaDkwLjcyYzM2LjEyNDI4LDAgNjUuNTIsLTI5LjM5NTcyIDY1LjUyLC02NS41MnYtOTAuNzJjMCwtMzYuMTI0MjggLTI5LjM5NTcyLC02NS41MiAtNjUuNTIsLTY1LjUyek04MC42NCwyNS4yaDkwLjcyYzMwLjY3NTg4LDAgNTUuNDQsMjQuNzY0MTIgNTUuNDQsNTUuNDR2OTAuNzJjMCwzMC42NzU4OCAtMjQuNzY0MTIsNTUuNDQgLTU1LjQ0LDU1LjQ0aC05MC43MmMtMzAuNjc1ODgsMCAtNTUuNDQsLTI0Ljc2NDEyIC01NS40NCwtNTUuNDR2LTkwLjcyYzAsLTMwLjY3NTg4IDI0Ljc2NDEyLC01NS40NCA1NS40NCwtNTUuNDR6TTE4Ni40OCw1NS40NGMtNS41NjcwMywwIC0xMC4wOCw0LjUxMjk3IC0xMC4wOCwxMC4wOGMwLDUuNTY3MDMgNC41MTI5NywxMC4wOCAxMC4wOCwxMC4wOGM1LjU2NzAzLDAgMTAuMDgsLTQuNTEyOTcgMTAuMDgsLTEwLjA4YzAsLTUuNTY3MDMgLTQuNTEyOTcsLTEwLjA4IC0xMC4wOCwtMTAuMDh6TTEyNiw3MC41NmMtMzAuNTU4OTcsMCAtNTUuNDQsMjQuODgxMDMgLTU1LjQ0LDU1LjQ0YzAsMzAuNTU4OTcgMjQuODgxMDMsNTUuNDQgNTUuNDQsNTUuNDRjMzAuNTU4OTcsMCA1NS40NCwtMjQuODgxMDMgNTUuNDQsLTU1LjQ0YzAsLTMwLjU1ODk3IC0yNC44ODEwMywtNTUuNDQgLTU1LjQ0LC01NS40NHpNMTI2LDgwLjY0YzI1LjExMTMzLDAgNDUuMzYsMjAuMjQ4NjcgNDUuMzYsNDUuMzZjMCwyNS4xMTEzMyAtMjAuMjQ4NjcsNDUuMzYgLTQ1LjM2LDQ1LjM2Yy0yNS4xMTEzMywwIC00NS4zNiwtMjAuMjQ4NjcgLTQ1LjM2LC00NS4zNmMwLC0yNS4xMTEzMyAyMC4yNDg2NywtNDUuMzYgNDUuMzYsLTQ1LjM2eiI+PC9wYXRoPjwvZz48cGF0aCBkPSJNMTI2LDI1MmMtNjkuNTg3ODgsMCAtMTI2LC01Ni40MTIxMiAtMTI2LC0xMjZ2MGMwLC02OS41ODc4OCA1Ni40MTIxMiwtMTI2IDEyNiwtMTI2djBjNjkuNTg3ODgsMCAxMjYsNTYuNDEyMTIgMTI2LDEyNnYwYzAsNjkuNTg3ODggLTU2LjQxMjEyLDEyNiAtMTI2LDEyNnoiIGZpbGw9Im5vbmUiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49Im1pdGVyIj48L3BhdGg+PHBhdGggZD0iTTEyNiwyNDYuOTZjLTY2LjgwNDM2LDAgLTEyMC45NiwtNTQuMTU1NjQgLTEyMC45NiwtMTIwLjk2djBjMCwtNjYuODA0MzYgNTQuMTU1NjQsLTEyMC45NiAxMjAuOTYsLTEyMC45NmgwYzY2LjgwNDM2LDAgMTIwLjk2LDU0LjE1NTY0IDEyMC45NiwxMjAuOTZ2MGMwLDY2LjgwNDM2IC01NC4xNTU2NCwxMjAuOTYgLTEyMC45NiwxMjAuOTZ6IiBmaWxsPSJub25lIiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJtaXRlciI+PC9wYXRoPjxwYXRoIGQ9IiIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJub25lIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0ibWl0ZXIiPjwvcGF0aD48cGF0aCBkPSIiIGZpbGw9Im5vbmUiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49Im1pdGVyIj48L3BhdGg+PHBhdGggZD0iIiBmaWxsPSJub25lIiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJtaXRlciI+PC9wYXRoPjxwYXRoIGQ9IiIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJub25lIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0ibWl0ZXIiPjwvcGF0aD48L2c+PC9nPjwvc3ZnPg==") 50% 50% no-repeat;background-size:100%}.zoom-instagram-widget__item .hover-layout.small .hover-controls .dashicons{font-size:15px;width:15px;height:15px}.zoom-instagram-widget__item .hover-layout.small .zoom-instagram-icon-wrap .zoom-svg-instagram-stroke{width:18px;height:18px}.zoom-instagram-widget__item .hover-layout.small .hover-controls .counter{padding-left:1px;padding-right:4px;font-size:11px}.zoom-instagram-widget-user-info{display:flex;padding:0 0px 20px}.zoom-instagram-widget-user-info .zoom-instagram-widget-user-info-picture{flex:1}.zoom-instagram-widget-user-info .zoom-instagram-widget-user-info-picture img{border-radius:50%}.zoom-instagram-widget-user-info .zoom-instagram-widget-user-info-meta{display:flex;flex:3;flex-direction:column;margin-left:15px;text-align:left;justify-content:center}.zoom-instagram-widget-user-info .zoom-instagram-widget-user-info-about-data{display:flex;justify-content:space-between;margin-bottom:10px}.zoom-instagram-widget-user-info .zoom-instagram-widget-user-info-stats{font-size:14px;line-height:1.2;justify-content:space-between;display:flex;text-align:center}.zoom-instagram-widget-user-info .zoom-instagram-widget-user-info-follow-button{padding:0px 24px;margin-top:10px;background:#3897f0;color:#fff !important;font-size:14px;font-weight:600;line-height:26px;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;text-transform:none;border-radius:3px;outline:0;overflow:hidden;text-overflow:ellipsis;display:block;border:none;box-shadow:none;text-decoration:none !important}.zoom-instagram-widget-user-info .zoom-instagram-widget-user-info-follow-button:hover{color:#fff;opacity:.8;box-shadow:none;border:none;text-decoration:none}.zoom-instagram-widget-user-info .zoom-instagram-widget-user-info-counts{font-weight:600}.zoom-instagram-widget-user-info .zoom-instagram-widget-user-info-counts-subhead{opacity:.7;font-size:14px}.zoom-instagram-widget-user-info-middle-cell{padding:0px 20px}.zoom-instagram-widget-user-info .zoom-instagram-widget-user-info-fullname{font-weight:600;font-size:16px}.zoom-instagram-widget-user-info .zoom-instagram-widget-user-info-names-wrapper{padding-right:20px;word-break:break-word}.zoom-instagram-widget-user-info .zoom-instagram-widget-user-info-username{font-size:14px;font-weight:600;word-break:break-all;opacity:.7}.zoom-instagram-widget-user-info-bio{text-align:left;font-size:14px;margin:0 0 15px}.zoom-instagram-widget__items .zoom-instagram-widget__item .zoom-instagram-link{display:block;background-size:cover !important;background-position:center center !important;background-repeat:no-repeat !important;padding-bottom:100%}.zoom-instagram-widget__items .zoom-instagram-widget__item .svg-icon{position:absolute;width:32px;padding:8px;height:32px;display:flex;top:0;right:0;z-index:1;transition:opacity .25s ease-in-out;-moz-transition:opacity .25s ease-in-out;-webkit-transition:opacity .25s ease-in-out}.zoom-instagram-widget__items .zoom-instagram-widget__item.media-icons-hover .svg-icon{opacity:0}.zoom-instagram-widget__items .zoom-instagram-widget__item.media-icons-hover:hover .svg-icon{opacity:1}.wpzoom-lightbox .mfp-inline-holder .mfp-content{max-width:none}.wpz-insta-lightbox{pointer-events:all;display:flex;flex-direction:row;background-color:#fff;border-radius:4px;height:100%}.wpz-insta-lightbox-wrapper{display:flex;justify-content:center;pointer-events:none}.wpz-insta-lightbox-wrapper .wpz-insta-lightbox .details-wrapper{width:30%}.wpz-insta-lightbox-wrapper .wpz-insta-lightbox .details-wrapper .wpz-insta-header{display:flex;align-items:center;padding:16px;border-bottom:1px solid #efefef;flex-wrap:wrap}.wpz-insta-lightbox-wrapper .wpz-insta-lightbox .details-wrapper .wpz-insta-header .wpz-insta-avatar img{width:42px;height:42px;border-radius:50%}.wpz-insta-lightbox-wrapper .wpz-insta-lightbox .details-wrapper .wpz-insta-header .wpz-insta-username a,.wpz-insta-lightbox-wrapper .wpz-insta-lightbox .details-wrapper .wpz-insta-header .wpz-insta-follow a{color:#262626;font-weight:600;text-decoration:none;font-size:14px}.wpz-insta-lightbox-wrapper .wpz-insta-lightbox .details-wrapper .wpz-insta-header .wpz-insta-username a:hover{text-decoration:underline}.wpz-insta-lightbox-wrapper .wpz-insta-lightbox .details-wrapper .wpz-insta-header .wpz-insta-follow a{color:#0095f6}.wpz-insta-lightbox-wrapper .wpz-insta-lightbox .details-wrapper .wpz-insta-header>div{margin-right:13px;min-width:42px}.wpz-insta-lightbox-wrapper .wpz-insta-lightbox .details-wrapper .wpz-insta-header .wpz-insta-buttons{display:flex}.wpz-insta-lightbox-wrapper .wpz-insta-lightbox .details-wrapper .wpz-insta-header .wpz-insta-buttons>div{padding:5px}.wpz-insta-lightbox-wrapper .wpz-insta-lightbox .details-wrapper .wpz-insta-caption{color:#262626;line-height:1.5;font-size:14px;padding:16px;font-weight:normal;overflow-y:scroll;max-height:384px;border-bottom:1px solid #efefef}.wpzoom-lightbox.mfp-gallery{z-index:100000;pointer-events:none}.wpzoom-lightbox button.mfp-close{pointer-events:all;color:#fff;font-size:50px;font-weight:100;margin-top:25px;margin-right:15px}.wpzoom-lightbox .mfp-prevent-close{pointer-events:all}.wpzoom-lightbox button.mfp-close:hover{text-decoration:none}.wpz-insta-lightbox-wrapper .wpz-insta-lightbox .details-wrapper .wpz-insta-date{font-size:12px;padding:16px;color:#8e8e8e;flex:1}.wpz-insta-lightbox-wrapper .wpz-insta-lightbox .image-wrapper img{height:100%;max-width:100%;-o-object-fit:contain;object-fit:contain;min-height:700px;min-width:700px}.wpz-insta-lightbox-wrapper .wpz-insta-lightbox .image-wrapper{flex-grow:1;text-align:center;height:auto;width:100%;max-width:70%;max-height:100%;background:#000;border-radius:4px 0 0 4px}.wpz-insta-lightbox-wrapper>.swiper-container{pointer-events:none;width:1000px;height:80vh}.wpz-insta-lightbox-wrapper>.swiper-container .swiper-container{width:100%;height:100%}.wpz-insta-lightbox-wrapper>.swiper-container .swiper-container .swiper-slide{max-height:100%}.wpz-insta-lightbox-wrapper>.swiper-container-autoheight,.swiper-container-autoheight .swiper-slide{height:100%;max-height:80vh}.wpz-insta-lightbox-wrapper video{height:100%;max-width:100%}.wpz-insta-lightbox-wrapper>.swiper-container .swiper-container .swiper-button-prev,.wpz-insta-lightbox-wrapper>.swiper-container .swiper-container .swiper-button-next{--swiper-navigation-size: 34px;color:#000;background:#fff;width:var(--swiper-navigation-size);border-radius:50%}.wpz-insta-lightbox-wrapper>.swiper-container .swiper-container .swiper-button-prev::after,.wpz-insta-lightbox-wrapper>.swiper-container .swiper-container .swiper-button-next::after{font-size:16px}.wpz-insta-lightbox-wrapper>.swiper-container>.swiper-wrapper{pointer-events:all}.wpz-insta-lightbox-wrapper>.swiper-container>.swiper-button-prev,.wpz-insta-lightbox-wrapper>.swiper-container>.swiper-button-next{position:fixed;pointer-events:all}.wpz-insta-lightbox-wrapper>.swiper-container .swiper-button-prev,.wpz-insta-lightbox-wrapper>.swiper-container .swiper-button-next{color:#fff;opacity:.75}.wpz-insta-lightbox-wrapper>.swiper-container .swiper-button-prev:hover,.wpz-insta-lightbox-wrapper>.swiper-container .swiper-button-next:hover{opacity:1}.wpz-insta-lightbox-wrapper>.swiper-container .swiper-button-prev.swiper-button-disabled,.wpz-insta-lightbox-wrapper>.swiper-container .swiper-button-next.swiper-button-disabled{opacity:.25 !important}.wpz-insta-lightbox-wrapper .wpz-insta-lightbox .details-wrapper{display:flex;flex-direction:column;flex-grow:1}.wpz-insta-lightbox-wrapper .wpz-insta-lightbox .details-wrapper .view-post{padding:16px;text-decoration:none;font-size:12px;color:#262626;font-weight:400;line-height:20px;display:flex;border-top:1px solid #efefef;flex-wrap:wrap;justify-content:flex-start}.wpz-insta-lightbox-wrapper .wpz-insta-lightbox .details-wrapper .view-post a{text-decoration:none;font-size:12px;color:#262626;font-weight:400;line-height:20px;text-align:center;display:inline-block}.wpz-insta-lightbox-wrapper .wpz-insta-lightbox .details-wrapper .view-post a span{margin-right:10px}.wpz-insta-lightbox-wrapper .wpz-insta-lightbox .details-wrapper .view-post .delimiter{padding:0px 10px}@-webkit-keyframes show{100%{transform:none;opacity:1}}@keyframes show{100%{transform:none;opacity:1}}@media screen and (max-width: 1200px){.wpz-insta-lightbox-wrapper .wpz-insta-lightbox{flex-wrap:wrap}.wpz-insta-lightbox-wrapper>.swiper-container{width:86%}.wpz-insta-lightbox-wrapper .wpz-insta-lightbox .image-wrapper img{min-height:500px;min-width:500px}}@media screen and (max-width: 860px){.wpz-insta-lightbox-wrapper .wpz-insta-lightbox .details-wrapper .wpz-insta-caption{font-size:12px}}@media screen and (max-width: 768px){.wpz-insta-lightbox{flex-direction:column}.wpz-insta-lightbox-wrapper .wpz-insta-lightbox .image-wrapper img{min-height:400px;min-width:400px}.wpz-insta-lightbox-wrapper .wpz-insta-lightbox .image-wrapper{border-radius:4px 4px 0 0;max-width:100%;height:65%}.wpz-insta-lightbox-wrapper .wpz-insta-lightbox .details-wrapper .wpz-insta-caption{max-height:134px}.wpz-insta-lightbox-wrapper .wpz-insta-lightbox .details-wrapper{width:100%;height:35%}}@media screen and (max-width: 600px){.wpz-insta-lightbox-wrapper .wpz-insta-lightbox .image-wrapper img{min-height:280px;min-width:280px}.wpz-insta-lightbox-wrapper>.swiper-container{width:76%}.wpz-insta-lightbox-wrapper .wpz-insta-lightbox .image-wrapper{height:55%}.wpz-insta-lightbox-wrapper .wpz-insta-lightbox .details-wrapper{height:45%}}
|
1 |
+
.zoom-instagram-widget__follow-me{margin-top:15px;text-align:center}.zoom-instagram{font-size:14px;overflow:hidden;display:block}.zoom-instagram form[disabled]{pointer-events:none}.zoom-instagram form[disabled]:not(.loading){opacity:.5}.zoom-instagram .zoom-instagram-widget__header{display:flex;gap:20px;margin:0 0 25px}.zoom-instagram .zoom-instagram-widget__header .zoom-instagram-widget__header-column-left img{height:70px;width:70px;border-radius:50%}.zoom-instagram .zoom-instagram-widget__header .zoom-instagram-widget__header-column-right{display:flex;flex-direction:column;justify-content:center}.zoom-instagram .zoom-instagram-widget__header .zoom-instagram-widget__header-name{font-size:1em;font-weight:600;line-height:1.5;padding:0;margin:0 0 5px;letter-spacing:0}.zoom-instagram .zoom-instagram-widget__header .zoom-instagram-widget__header-user{font-weight:600;line-height:normal;padding:0;margin:0;opacity:.8}.zoom-instagram .zoom-instagram-widget__header .zoom-instagram-widget__header-user a{text-decoration:none}.zoom-instagram .zoom-instagram-widget__header .zoom-instagram-widget__header-bio{font-size:13px;font-weight:normal;line-height:1.6;padding:0;margin:6px 0 0}.zoom-instagram .zoom-instagram-widget__footer{display:flex;justify-content:center;align-items:center;flex-direction:row;flex-wrap:wrap;gap:15px;margin:25px 0 0}.zoom-instagram .zoom-instagram-widget__footer>*{display:block}.zoom-instagram .zoom-instagram-widget__items-wrapper{overflow:hidden}.zoom-instagram .zoom-instagram-widget__items{display:grid;grid-template-columns:repeat(3, 1fr);gap:10px;list-style:none !important;padding:0;margin:0}.zoom-instagram .zoom-instagram-widget__items.layout-grid .zoom-instagram-widget__item img{width:100%;aspect-ratio:1/1}.zoom-instagram .zoom-instagram-widget__items.layout-fullwidth{display:flex;width:5000px}.zoom-instagram .zoom-instagram-widget__items.layout-fullwidth .zoom-instagram-widget__item img{aspect-ratio:1}.layout-legacy.zoom-instagram-widget__items{list-style:none !important}.layout-legacy.zoom-instagram-widget__items .zoom-instagram-widget__item{float:left;position:relative;margin-top:0 !important;padding:0}.layout-legacy.zoom-instagram-widget__items .zoom-instagram-widget__overlay{position:relative}.zoom-instagram-widget__item{position:relative;transition:all .1s ease-in-out}.zoom-instagram-widget__item.new{opacity:0;transform:scale(0);transform-origin:center;-webkit-animation:show 500ms linear forwards;animation:show 500ms linear forwards}.zoom-instagram-widget__item .zoom-instagram-widget__item-inner-wrap{position:relative;height:100%;overflow:hidden}.zoom-instagram-widget__item img{-o-object-fit:cover;object-fit:cover;-o-object-position:center;object-position:center;height:100%}.widget_block .zoom-instagram-widget__items ul li.zoom-instagram-widget__item,.widget.zoom-instagram-widget ul li.zoom-instagram-widget__item,.widget.zoom-new-instagram-widget ul li.zoom-instagram-widget__item{padding:0}.widget_block .zoom-instagram-widget__items-wrapper,.widget.zoom-new-instagram-widget .zoom-instagram-widget__items-wrapper{overflow:hidden}.widget_block .zoom-instagram-widget__items,.widget.zoom-new-instagram-widget .zoom-instagram-widget__items{display:grid;grid-template-columns:repeat(3, 1fr);gap:10px;padding:0;margin:0}.widget_block .zoom-instagram-widget__items::before,.widget_block .zoom-instagram-widget__items::after,.widget.zoom-new-instagram-widget .zoom-instagram-widget__items::before,.widget.zoom-new-instagram-widget .zoom-instagram-widget__items::after{display:none}.widget_block .zoom-instagram-widget__items.layout-grid .zoom-instagram-widget__item img,.widget.zoom-new-instagram-widget .zoom-instagram-widget__items.layout-grid .zoom-instagram-widget__item img{width:100%;aspect-ratio:1/1}.widget_block .zoom-instagram-widget__items.layout-fullwidth,.widget.zoom-new-instagram-widget .zoom-instagram-widget__items.layout-fullwidth{display:flex;width:5000px}.widget_block .zoom-instagram-widget__items.layout-fullwidth .zoom-instagram-widget__item img,.widget.zoom-new-instagram-widget .zoom-instagram-widget__items.layout-fullwidth .zoom-instagram-widget__item img{aspect-ratio:1}.widget_block .zoom-instagram-widget__items .zoom-instagram-widget__item .zoom-instagram-widget__item-inner-wrap,.widget.zoom-new-instagram-widget .zoom-instagram-widget__items .zoom-instagram-widget__item .zoom-instagram-widget__item-inner-wrap{position:relative;height:100%;overflow:hidden}.widget_block .zoom-instagram-widget__items .zoom-instagram-widget__item img,.widget.zoom-new-instagram-widget .zoom-instagram-widget__items .zoom-instagram-widget__item img{-o-object-fit:cover;object-fit:cover;-o-object-position:center;object-position:center;height:100%}.widget_block .zoom-instagram-widget__items .zoom-instagram-widget__item .zoom-instagram-link,.widget.zoom-new-instagram-widget .zoom-instagram-widget__items .zoom-instagram-widget__item .zoom-instagram-link{padding-bottom:100%}.ig-b-{display:inline-block}a.ig-b-v-24{border-color:#3897f0;color:#3897f0 !important;border-radius:3px;border-style:solid;border-width:1px;font-weight:600 !important;outline:none;overflow:hidden;white-space:nowrap;-webkit-appearance:none;font-family:sans-serif;padding:5px 15px;font-size:14px;transition:all .15s ease-in-out;-moz-transition:all .15s ease-in-out;-webkit-transition:all .15s ease-in-out;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:none !important}a.ig-b-v-24:hover{background:#3897f0;border-color:#3897f0;color:#fff !important}.zoom-instagram-widget__item .hover-controls{opacity:0;z-index:9;margin-top:-15px;position:absolute;top:40%;width:100%;text-align:center;transition:opacity .25s ease-in-out;-moz-transition:opacity .25s ease-in-out;-webkit-transition:opacity .25s ease-in-out}.zoom-instagram-widget__items[data-lightbox="1"] .zoom-instagram-widget__item .zoom-instagram-icon-wrap{pointer-events:none}.zoom-instagram-widget__item .hover-controls~.zoom-instagram-icon-wrap{bottom:10%;pointer-events:all}.zoom-instagram-widget__item .hover-layout.small .hover-controls~.zoom-instagram-icon-wrap{bottom:6%}.zoom-instagram-widget__item .hover-layout.small .zoom-instagram-icon-wrap{bottom:calc(50% - 15px)}.zoom-instagram-widget__item .zoom-instagram-icon-wrap{bottom:calc(50% - 15px);height:30px;width:100%;position:absolute;z-index:9;text-align:center}.zoom-instagram-widget__item:hover .hover-controls{opacity:1}.zoom-instagram-widget__item .zoom-instagram-icon-wrap{opacity:0;transition:opacity .25s ease-in-out;-moz-transition:opacity .25s ease-in-out;-webkit-transition:opacity .25s ease-in-out}.zoom-instagram-widget__item:hover .zoom-instagram-icon-wrap{opacity:1}.zoom-instagram-widget__item .hover-controls .dashicons{font-size:20px;width:20px;height:20px;color:#fff;vertical-align:middle}.zoom-instagram-widget__item .hover-controls .counter{padding-left:1px;padding-right:12px;font-weight:500;color:#fff;font-size:14px;opacity:.8;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif}.zoom-instagram-widget__overlay{position:absolute;top:0;left:0;right:0;bottom:0}.zoom-instagram-widget__overlay:after{position:absolute;content:"";top:0;left:0;pointer-events:none;width:100%;height:100%;opacity:0;transition:opacity .25s ease-in-out;-moz-transition:opacity .25s ease-in-out;-webkit-transition:opacity .25s ease-in-out}.zoom-instagram-widget__overlay:hover:after{opacity:.7;background-color:#000}.zoom-instagram-widget__black:after{background-color:#000}.zoom-svg-instagram-simple{display:inline-block;width:30px;height:30px;background:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHg9IjBweCIgeT0iMHB4IgogICAgIHdpZHRoPSI1MCIgaGVpZ2h0PSI1MCIKICAgICB2aWV3Qm94PSIwIDAgNTAgNTAiCiAgICAgc3R5bGU9ImZpbGw6I2ZmZmZmZjsiPiAgICA8cGF0aCBzdHlsZT0ibGluZS1oZWlnaHQ6bm9ybWFsO3RleHQtaW5kZW50OjA7dGV4dC1hbGlnbjpzdGFydDt0ZXh0LWRlY29yYXRpb24tbGluZTpub25lO3RleHQtZGVjb3JhdGlvbi1zdHlsZTpzb2xpZDt0ZXh0LWRlY29yYXRpb24tY29sb3I6IzAwMDt0ZXh0LXRyYW5zZm9ybTpub25lO2Jsb2NrLXByb2dyZXNzaW9uOnRiO2lzb2xhdGlvbjphdXRvO21peC1ibGVuZC1tb2RlOm5vcm1hbCIgZD0iTSAxNiAzIEMgOC44MzI0ODM5IDMgMyA4LjgzMjQ4MzkgMyAxNiBMIDMgMzQgQyAzIDQxLjE2NzUxNiA4LjgzMjQ4MzkgNDcgMTYgNDcgTCAzNCA0NyBDIDQxLjE2NzUxNiA0NyA0NyA0MS4xNjc1MTYgNDcgMzQgTCA0NyAxNiBDIDQ3IDguODMyNDgzOSA0MS4xNjc1MTYgMyAzNCAzIEwgMTYgMyB6IE0gMTYgNSBMIDM0IDUgQyA0MC4wODY0ODQgNSA0NSA5LjkxMzUxNjEgNDUgMTYgTCA0NSAzNCBDIDQ1IDQwLjA4NjQ4NCA0MC4wODY0ODQgNDUgMzQgNDUgTCAxNiA0NSBDIDkuOTEzNTE2MSA0NSA1IDQwLjA4NjQ4NCA1IDM0IEwgNSAxNiBDIDUgOS45MTM1MTYxIDkuOTEzNTE2MSA1IDE2IDUgeiBNIDM3IDExIEEgMiAyIDAgMCAwIDM1IDEzIEEgMiAyIDAgMCAwIDM3IDE1IEEgMiAyIDAgMCAwIDM5IDEzIEEgMiAyIDAgMCAwIDM3IDExIHogTSAyNSAxNCBDIDE4LjkzNjcxMiAxNCAxNCAxOC45MzY3MTIgMTQgMjUgQyAxNCAzMS4wNjMyODggMTguOTM2NzEyIDM2IDI1IDM2IEMgMzEuMDYzMjg4IDM2IDM2IDMxLjA2MzI4OCAzNiAyNSBDIDM2IDE4LjkzNjcxMiAzMS4wNjMyODggMTQgMjUgMTQgeiBNIDI1IDE2IEMgMjkuOTgyNDA3IDE2IDM0IDIwLjAxNzU5MyAzNCAyNSBDIDM0IDI5Ljk4MjQwNyAyOS45ODI0MDcgMzQgMjUgMzQgQyAyMC4wMTc1OTMgMzQgMTYgMjkuOTgyNDA3IDE2IDI1IEMgMTYgMjAuMDE3NTkzIDIwLjAxNzU5MyAxNiAyNSAxNiB6IiBmb250LXdlaWdodD0iNDAwIiBmb250LWZhbWlseT0ic2Fucy1zZXJpZiIgd2hpdGUtc3BhY2U9Im5vcm1hbCIgb3ZlcmZsb3c9InZpc2libGUiPjwvcGF0aD48L3N2Zz4=") 50% 50% no-repeat;background-size:100%}.zoom-svg-instagram-stroke{display:inline-block;width:30px;height:30px;background:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHg9IjBweCIgeT0iMHB4IgogICAgIHdpZHRoPSI1MCIgaGVpZ2h0PSI1MCIKICAgICB2aWV3Qm94PSIwIDAgMjUyIDI1MiIKICAgICBzdHlsZT0iZmlsbDojMDAwMDAwOyI+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMi4zOTQsMi4zOTQpIHNjYWxlKDAuOTgxLDAuOTgxKSI+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJub256ZXJvIiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0ibm9uZSIgc3Ryb2tlLWxpbmVjYXA9ImJ1dHQiIHN0cm9rZS1saW5lam9pbj0ibm9uZSIgc3Ryb2tlLW1pdGVybGltaXQ9IjEwIiBzdHJva2UtZGFzaGFycmF5PSIiIHN0cm9rZS1kYXNob2Zmc2V0PSIwIiBmb250LWZhbWlseT0ibm9uZSIgZm9udC13ZWlnaHQ9Im5vbmUiIGZvbnQtc2l6ZT0ibm9uZSIgdGV4dC1hbmNob3I9Im5vbmUiIHN0eWxlPSJtaXgtYmxlbmQtbW9kZTogbm9ybWFsIj48ZyBpZD0ib3JpZ2luYWwtaWNvbiAxIiBmaWxsPSIjZmZmZmZmIiBzdHJva2U9IiNmZmZmZmYiIHN0cm9rZS13aWR0aD0iNSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PHBhdGggZD0iTTE3MS4zNiwxNS4xMmMzNi4xMjQyOCwwIDY1LjUyLDI5LjM5NTcyIDY1LjUyLDY1LjUydjkwLjcyYzAsMzYuMTI0MjggLTI5LjM5NTcyLDY1LjUyIC02NS41Miw2NS41MmgtOTAuNzJjLTM2LjEyNDI4LDAgLTY1LjUyLC0yOS4zOTU3MiAtNjUuNTIsLTY1LjUydi05MC43MmMwLC0zNi4xMjQyOCAyOS4zOTU3MiwtNjUuNTIgNjUuNTIsLTY1LjUyek0yNS4yLDgwLjY0djkwLjcyYzAsMzAuNjc1ODggMjQuNzY0MTIsNTUuNDQgNTUuNDQsNTUuNDRoOTAuNzJjMzAuNjc1ODgsMCA1NS40NCwtMjQuNzY0MTIgNTUuNDQsLTU1LjQ0di05MC43MmMwLC0zMC42NzU4OCAtMjQuNzY0MTIsLTU1LjQ0IC01NS40NCwtNTUuNDRoLTkwLjcyYy0zMC42NzU4OCwwIC01NS40NCwyNC43NjQxMiAtNTUuNDQsNTUuNDR6TTE5Ni41Niw2NS41MmMwLDUuNTY3MDMgLTQuNTEyOTcsMTAuMDggLTEwLjA4LDEwLjA4Yy01LjU2NzAzLDAgLTEwLjA4LC00LjUxMjk3IC0xMC4wOCwtMTAuMDhjMCwtNS41NjcwMyA0LjUxMjk3LC0xMC4wOCAxMC4wOCwtMTAuMDhjNS41NjcwMywwIDEwLjA4LDQuNTEyOTcgMTAuMDgsMTAuMDh6TTE4MS40NCwxMjZjMCwzMC41NTg5NyAtMjQuODgxMDMsNTUuNDQgLTU1LjQ0LDU1LjQ0Yy0zMC41NTg5NywwIC01NS40NCwtMjQuODgxMDMgLTU1LjQ0LC01NS40NGMwLC0zMC41NTg5NyAyNC44ODEwMywtNTUuNDQgNTUuNDQsLTU1LjQ0YzMwLjU1ODk3LDAgNTUuNDQsMjQuODgxMDMgNTUuNDQsNTUuNDR6TTgwLjY0LDEyNmMwLDI1LjExMTMzIDIwLjI0ODY3LDQ1LjM2IDQ1LjM2LDQ1LjM2YzI1LjExMTMzLDAgNDUuMzYsLTIwLjI0ODY3IDQ1LjM2LC00NS4zNmMwLC0yNS4xMTEzMyAtMjAuMjQ4NjcsLTQ1LjM2IC00NS4zNiwtNDUuMzZjLTI1LjExMTMzLDAgLTQ1LjM2LDIwLjI0ODY3IC00NS4zNiw0NS4zNnoiPjwvcGF0aD48L2c+PHBhdGggZD0iTTAsMjUydi0yNTJoMjUydjI1MnoiIGZpbGw9Im5vbmUiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49Im1pdGVyIj48L3BhdGg+PGcgaWQ9Im9yaWdpbmFsLWljb24iIGZpbGw9IiNmZmZmZmYiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49Im1pdGVyIj48cGF0aCBkPSJNODAuNjQsMTUuMTJjLTM2LjEyNDI4LDAgLTY1LjUyLDI5LjM5NTcyIC02NS41Miw2NS41MnY5MC43MmMwLDM2LjEyNDI4IDI5LjM5NTcyLDY1LjUyIDY1LjUyLDY1LjUyaDkwLjcyYzM2LjEyNDI4LDAgNjUuNTIsLTI5LjM5NTcyIDY1LjUyLC02NS41MnYtOTAuNzJjMCwtMzYuMTI0MjggLTI5LjM5NTcyLC02NS41MiAtNjUuNTIsLTY1LjUyek04MC42NCwyNS4yaDkwLjcyYzMwLjY3NTg4LDAgNTUuNDQsMjQuNzY0MTIgNTUuNDQsNTUuNDR2OTAuNzJjMCwzMC42NzU4OCAtMjQuNzY0MTIsNTUuNDQgLTU1LjQ0LDU1LjQ0aC05MC43MmMtMzAuNjc1ODgsMCAtNTUuNDQsLTI0Ljc2NDEyIC01NS40NCwtNTUuNDR2LTkwLjcyYzAsLTMwLjY3NTg4IDI0Ljc2NDEyLC01NS40NCA1NS40NCwtNTUuNDR6TTE4Ni40OCw1NS40NGMtNS41NjcwMywwIC0xMC4wOCw0LjUxMjk3IC0xMC4wOCwxMC4wOGMwLDUuNTY3MDMgNC41MTI5NywxMC4wOCAxMC4wOCwxMC4wOGM1LjU2NzAzLDAgMTAuMDgsLTQuNTEyOTcgMTAuMDgsLTEwLjA4YzAsLTUuNTY3MDMgLTQuNTEyOTcsLTEwLjA4IC0xMC4wOCwtMTAuMDh6TTEyNiw3MC41NmMtMzAuNTU4OTcsMCAtNTUuNDQsMjQuODgxMDMgLTU1LjQ0LDU1LjQ0YzAsMzAuNTU4OTcgMjQuODgxMDMsNTUuNDQgNTUuNDQsNTUuNDRjMzAuNTU4OTcsMCA1NS40NCwtMjQuODgxMDMgNTUuNDQsLTU1LjQ0YzAsLTMwLjU1ODk3IC0yNC44ODEwMywtNTUuNDQgLTU1LjQ0LC01NS40NHpNMTI2LDgwLjY0YzI1LjExMTMzLDAgNDUuMzYsMjAuMjQ4NjcgNDUuMzYsNDUuMzZjMCwyNS4xMTEzMyAtMjAuMjQ4NjcsNDUuMzYgLTQ1LjM2LDQ1LjM2Yy0yNS4xMTEzMywwIC00NS4zNiwtMjAuMjQ4NjcgLTQ1LjM2LC00NS4zNmMwLC0yNS4xMTEzMyAyMC4yNDg2NywtNDUuMzYgNDUuMzYsLTQ1LjM2eiI+PC9wYXRoPjwvZz48cGF0aCBkPSJNMTI2LDI1MmMtNjkuNTg3ODgsMCAtMTI2LC01Ni40MTIxMiAtMTI2LC0xMjZ2MGMwLC02OS41ODc4OCA1Ni40MTIxMiwtMTI2IDEyNiwtMTI2djBjNjkuNTg3ODgsMCAxMjYsNTYuNDEyMTIgMTI2LDEyNnYwYzAsNjkuNTg3ODggLTU2LjQxMjEyLDEyNiAtMTI2LDEyNnoiIGZpbGw9Im5vbmUiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49Im1pdGVyIj48L3BhdGg+PHBhdGggZD0iTTEyNiwyNDYuOTZjLTY2LjgwNDM2LDAgLTEyMC45NiwtNTQuMTU1NjQgLTEyMC45NiwtMTIwLjk2djBjMCwtNjYuODA0MzYgNTQuMTU1NjQsLTEyMC45NiAxMjAuOTYsLTEyMC45NmgwYzY2LjgwNDM2LDAgMTIwLjk2LDU0LjE1NTY0IDEyMC45NiwxMjAuOTZ2MGMwLDY2LjgwNDM2IC01NC4xNTU2NCwxMjAuOTYgLTEyMC45NiwxMjAuOTZ6IiBmaWxsPSJub25lIiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJtaXRlciI+PC9wYXRoPjxwYXRoIGQ9IiIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJub25lIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0ibWl0ZXIiPjwvcGF0aD48cGF0aCBkPSIiIGZpbGw9Im5vbmUiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49Im1pdGVyIj48L3BhdGg+PHBhdGggZD0iIiBmaWxsPSJub25lIiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJtaXRlciI+PC9wYXRoPjxwYXRoIGQ9IiIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJub25lIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0ibWl0ZXIiPjwvcGF0aD48L2c+PC9nPjwvc3ZnPg==") 50% 50% no-repeat;background-size:100%}.zoom-instagram-widget__item .hover-layout.small .hover-controls .dashicons{font-size:15px;width:15px;height:15px}.zoom-instagram-widget__item .hover-layout.small .zoom-instagram-icon-wrap .zoom-svg-instagram-stroke{width:18px;height:18px}.zoom-instagram-widget__item .hover-layout.small .hover-controls .counter{padding-left:1px;padding-right:4px;font-size:11px}.zoom-instagram-widget-user-info{display:flex;padding:0 0px 20px}.zoom-instagram-widget-user-info .zoom-instagram-widget-user-info-picture{flex:1}.zoom-instagram-widget-user-info .zoom-instagram-widget-user-info-picture img{border-radius:50%}.zoom-instagram-widget-user-info .zoom-instagram-widget-user-info-meta{display:flex;flex:3;flex-direction:column;margin-left:15px;text-align:left;justify-content:center}.zoom-instagram-widget-user-info .zoom-instagram-widget-user-info-about-data{display:flex;justify-content:space-between;margin-bottom:10px}.zoom-instagram-widget-user-info .zoom-instagram-widget-user-info-stats{font-size:14px;line-height:1.2;justify-content:space-between;display:flex;text-align:center}.zoom-instagram-widget-user-info .zoom-instagram-widget-user-info-follow-button{padding:0px 24px;margin-top:10px;background:#3897f0;color:#fff !important;font-size:14px;font-weight:600;line-height:26px;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;text-transform:none;border-radius:3px;outline:0;overflow:hidden;text-overflow:ellipsis;display:block;border:none;box-shadow:none;text-decoration:none !important}.zoom-instagram-widget-user-info .zoom-instagram-widget-user-info-follow-button:hover{color:#fff;opacity:.8;box-shadow:none;border:none;text-decoration:none}.zoom-instagram-widget-user-info .zoom-instagram-widget-user-info-counts{font-weight:600}.zoom-instagram-widget-user-info .zoom-instagram-widget-user-info-counts-subhead{opacity:.7;font-size:14px}.zoom-instagram-widget-user-info-middle-cell{padding:0px 20px}.zoom-instagram-widget-user-info .zoom-instagram-widget-user-info-fullname{font-weight:600;font-size:16px}.zoom-instagram-widget-user-info .zoom-instagram-widget-user-info-names-wrapper{padding-right:20px;word-break:break-word}.zoom-instagram-widget-user-info .zoom-instagram-widget-user-info-username{font-size:14px;font-weight:600;word-break:break-all;opacity:.7}.zoom-instagram-widget-user-info-bio{text-align:left;font-size:14px;margin:0 0 15px}.zoom-instagram-widget__items .zoom-instagram-widget__item .zoom-instagram-link{display:block;background-size:cover !important;background-position:center center !important;background-repeat:no-repeat !important}.zoom-instagram-widget__items .zoom-instagram-widget__item .svg-icon{position:absolute;width:32px;padding:8px;height:32px;display:flex;top:0;right:0;z-index:1;transition:opacity .25s ease-in-out;-moz-transition:opacity .25s ease-in-out;-webkit-transition:opacity .25s ease-in-out}.zoom-instagram-widget__items .zoom-instagram-widget__item.media-icons-hover .svg-icon{opacity:0}.zoom-instagram-widget__items .zoom-instagram-widget__item.media-icons-hover:hover .svg-icon{opacity:1}.wpzoom-lightbox .mfp-inline-holder .mfp-content{max-width:none}.wpz-insta-lightbox{pointer-events:all;display:flex;flex-direction:row;background-color:#fff;border-radius:4px;height:100%}.wpz-insta-lightbox-wrapper{display:flex;justify-content:center;pointer-events:none}.wpz-insta-lightbox-wrapper .wpz-insta-lightbox .details-wrapper{width:30%}.wpz-insta-lightbox-wrapper .wpz-insta-lightbox .details-wrapper .wpz-insta-header{display:flex;align-items:center;padding:16px;border-bottom:1px solid #efefef;flex-wrap:wrap}.wpz-insta-lightbox-wrapper .wpz-insta-lightbox .details-wrapper .wpz-insta-header .wpz-insta-avatar img{width:42px;height:42px;border-radius:50%}.wpz-insta-lightbox-wrapper .wpz-insta-lightbox .details-wrapper .wpz-insta-header .wpz-insta-username a,.wpz-insta-lightbox-wrapper .wpz-insta-lightbox .details-wrapper .wpz-insta-header .wpz-insta-follow a{color:#262626;font-weight:600;text-decoration:none;font-size:14px}.wpz-insta-lightbox-wrapper .wpz-insta-lightbox .details-wrapper .wpz-insta-header .wpz-insta-username a:hover{text-decoration:underline}.wpz-insta-lightbox-wrapper .wpz-insta-lightbox .details-wrapper .wpz-insta-header .wpz-insta-follow a{color:#0095f6}.wpz-insta-lightbox-wrapper .wpz-insta-lightbox .details-wrapper .wpz-insta-header>div{margin-right:13px;min-width:42px}.wpz-insta-lightbox-wrapper .wpz-insta-lightbox .details-wrapper .wpz-insta-header .wpz-insta-buttons{display:flex}.wpz-insta-lightbox-wrapper .wpz-insta-lightbox .details-wrapper .wpz-insta-header .wpz-insta-buttons>div{padding:5px}.wpz-insta-lightbox-wrapper .wpz-insta-lightbox .details-wrapper .wpz-insta-caption{color:#262626;line-height:1.5;font-size:14px;padding:16px;font-weight:normal;overflow-y:scroll;max-height:384px;border-bottom:1px solid #efefef}.wpzoom-lightbox.mfp-gallery{z-index:100000;pointer-events:none}.wpzoom-lightbox button.mfp-close{pointer-events:all;color:#fff;font-size:50px;font-weight:100;margin-top:25px;margin-right:15px}.wpzoom-lightbox .mfp-prevent-close{pointer-events:all}.wpzoom-lightbox button.mfp-close:hover{text-decoration:none}.wpz-insta-lightbox-wrapper .wpz-insta-lightbox .details-wrapper .wpz-insta-date{font-size:12px;padding:16px;color:#8e8e8e;flex:1}.wpz-insta-lightbox-wrapper .wpz-insta-lightbox .image-wrapper img{height:100%;max-width:100%;-o-object-fit:contain;object-fit:contain;min-height:700px;min-width:700px}.wpz-insta-lightbox-wrapper .wpz-insta-lightbox .image-wrapper{flex-grow:1;text-align:center;height:auto;width:100%;max-width:70%;max-height:100%;background:#000;border-radius:4px 0 0 4px}.wpz-insta-lightbox-wrapper>.swiper-container{pointer-events:none;width:1000px;height:80vh}.wpz-insta-lightbox-wrapper>.swiper-container .swiper-container{width:100%;height:100%}.wpz-insta-lightbox-wrapper>.swiper-container .swiper-container .swiper-slide{max-height:100%}.wpz-insta-lightbox-wrapper>.swiper-container-autoheight,.swiper-container-autoheight .swiper-slide{height:100%;max-height:80vh}.wpz-insta-lightbox-wrapper video{height:100%;max-width:100%}.wpz-insta-lightbox-wrapper>.swiper-container .swiper-container .swiper-button-prev,.wpz-insta-lightbox-wrapper>.swiper-container .swiper-container .swiper-button-next{--swiper-navigation-size: 34px;color:#000;background:#fff;width:var(--swiper-navigation-size);border-radius:50%}.wpz-insta-lightbox-wrapper>.swiper-container .swiper-container .swiper-button-prev::after,.wpz-insta-lightbox-wrapper>.swiper-container .swiper-container .swiper-button-next::after{font-size:16px}.wpz-insta-lightbox-wrapper>.swiper-container>.swiper-wrapper{pointer-events:all}.wpz-insta-lightbox-wrapper>.swiper-container>.swiper-button-prev,.wpz-insta-lightbox-wrapper>.swiper-container>.swiper-button-next{position:fixed;pointer-events:all}.wpz-insta-lightbox-wrapper>.swiper-container .swiper-button-prev,.wpz-insta-lightbox-wrapper>.swiper-container .swiper-button-next{color:#fff;opacity:.75}.wpz-insta-lightbox-wrapper>.swiper-container .swiper-button-prev:hover,.wpz-insta-lightbox-wrapper>.swiper-container .swiper-button-next:hover{opacity:1}.wpz-insta-lightbox-wrapper>.swiper-container .swiper-button-prev.swiper-button-disabled,.wpz-insta-lightbox-wrapper>.swiper-container .swiper-button-next.swiper-button-disabled{opacity:.25 !important}.wpz-insta-lightbox-wrapper .wpz-insta-lightbox .details-wrapper{display:flex;flex-direction:column;flex-grow:1}.wpz-insta-lightbox-wrapper .wpz-insta-lightbox .details-wrapper .view-post{padding:16px;text-decoration:none;font-size:12px;color:#262626;font-weight:400;line-height:20px;display:flex;border-top:1px solid #efefef;flex-wrap:wrap;justify-content:flex-start}.wpz-insta-lightbox-wrapper .wpz-insta-lightbox .details-wrapper .view-post a{text-decoration:none;font-size:12px;color:#262626;font-weight:400;line-height:20px;text-align:center;display:inline-block}.wpz-insta-lightbox-wrapper .wpz-insta-lightbox .details-wrapper .view-post a span{margin-right:10px}.wpz-insta-lightbox-wrapper .wpz-insta-lightbox .details-wrapper .view-post .delimiter{padding:0px 10px}@-webkit-keyframes show{100%{transform:none;opacity:1}}@keyframes show{100%{transform:none;opacity:1}}@media screen and (max-width: 1200px){.wpz-insta-lightbox-wrapper .wpz-insta-lightbox{flex-wrap:wrap}.wpz-insta-lightbox-wrapper>.swiper-container{width:86%}.wpz-insta-lightbox-wrapper .wpz-insta-lightbox .image-wrapper img{min-height:500px;min-width:500px}}@media screen and (max-width: 860px){.wpz-insta-lightbox-wrapper .wpz-insta-lightbox .details-wrapper .wpz-insta-caption{font-size:12px}}@media screen and (max-width: 768px){.wpz-insta-lightbox{flex-direction:column}.wpz-insta-lightbox-wrapper .wpz-insta-lightbox .image-wrapper img{min-height:400px;min-width:400px}.wpz-insta-lightbox-wrapper .wpz-insta-lightbox .image-wrapper{border-radius:4px 4px 0 0;max-width:100%;height:65%}.wpz-insta-lightbox-wrapper .wpz-insta-lightbox .details-wrapper .wpz-insta-caption{max-height:134px}.wpz-insta-lightbox-wrapper .wpz-insta-lightbox .details-wrapper{width:100%;height:35%}}@media screen and (max-width: 600px){.wpz-insta-lightbox-wrapper .wpz-insta-lightbox .image-wrapper img{min-height:280px;min-width:280px}.wpz-insta-lightbox-wrapper>.swiper-container{width:76%}.wpz-insta-lightbox-wrapper .wpz-insta-lightbox .image-wrapper{height:55%}.wpz-insta-lightbox-wrapper .wpz-insta-lightbox .details-wrapper{height:45%}}
|
instagram-widget-by-wpzoom.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
* Plugin Name: WPZOOM Instagram Widget & Block
|
4 |
* Plugin URI: https://www.wpzoom.com/plugins/instagram-widget/
|
5 |
* Description: Instagram Widget is a customizable and responsive plugin, made to help you gain even more followers by showcasing your Instagram feed on your WordPress website.
|
6 |
-
* Version: 2.0.
|
7 |
* Author: WPZOOM
|
8 |
* Author URI: https://www.wpzoom.com/
|
9 |
* Text Domain: instagram-widget-by-wpzoom
|
@@ -19,7 +19,7 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|
19 |
}
|
20 |
|
21 |
if ( ! defined( 'WPZOOM_INSTAGRAM_VERSION' ) ) {
|
22 |
-
define( 'WPZOOM_INSTAGRAM_VERSION', '2.0.
|
23 |
}
|
24 |
|
25 |
require_once plugin_dir_path( __FILE__ ) . 'class-wpzoom-instagram-image-uploader.php';
|
3 |
* Plugin Name: WPZOOM Instagram Widget & Block
|
4 |
* Plugin URI: https://www.wpzoom.com/plugins/instagram-widget/
|
5 |
* Description: Instagram Widget is a customizable and responsive plugin, made to help you gain even more followers by showcasing your Instagram feed on your WordPress website.
|
6 |
+
* Version: 2.0.1
|
7 |
* Author: WPZOOM
|
8 |
* Author URI: https://www.wpzoom.com/
|
9 |
* Text Domain: instagram-widget-by-wpzoom
|
19 |
}
|
20 |
|
21 |
if ( ! defined( 'WPZOOM_INSTAGRAM_VERSION' ) ) {
|
22 |
+
define( 'WPZOOM_INSTAGRAM_VERSION', '2.0.1' );
|
23 |
}
|
24 |
|
25 |
require_once plugin_dir_path( __FILE__ ) . 'class-wpzoom-instagram-image-uploader.php';
|
readme.txt
CHANGED
@@ -77,6 +77,13 @@ Once connected, go to the **Widgets** page and add the widget **Instagram Widget
|
|
77 |
|
78 |
Go to the **Instagram Widget** section in the WordPress Dashboard and connect your Instagram account. After that, create a new Feed and embed it in your posts or pages using the available Block or shortcode.
|
79 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
80 |
|
81 |
== Screenshots ==
|
82 |
|
@@ -89,6 +96,9 @@ Go to the **Instagram Widget** section in the WordPress Dashboard and connect yo
|
|
89 |
|
90 |
== Changelog ==
|
91 |
|
|
|
|
|
|
|
92 |
= 2.0.0 =
|
93 |
* We've made our plugin better and more user-friendly!
|
94 |
* New: Gutenberg block
|
77 |
|
78 |
Go to the **Instagram Widget** section in the WordPress Dashboard and connect your Instagram account. After that, create a new Feed and embed it in your posts or pages using the available Block or shortcode.
|
79 |
|
80 |
+
= Is there a Documentation available? =
|
81 |
+
|
82 |
+
Yes, you can find the documentation for this plugin with more instructions on our website.
|
83 |
+
|
84 |
+
[Go to Documentation](https://www.wpzoom.com/documentation/instagram-widget/)
|
85 |
+
|
86 |
+
|
87 |
|
88 |
== Screenshots ==
|
89 |
|
96 |
|
97 |
== Changelog ==
|
98 |
|
99 |
+
= 2.0.1 =
|
100 |
+
* Minor bug fixes
|
101 |
+
|
102 |
= 2.0.0 =
|
103 |
* We've made our plugin better and more user-friendly!
|
104 |
* New: Gutenberg block
|
src/styles/backend/index.scss
CHANGED
@@ -196,10 +196,6 @@
|
|
196 |
#wpbody-content {
|
197 |
padding-bottom: 165px;
|
198 |
|
199 |
-
> .notice {
|
200 |
-
display: none !important;
|
201 |
-
}
|
202 |
-
|
203 |
.urgent {
|
204 |
color: $red-color;
|
205 |
}
|
@@ -220,8 +216,6 @@
|
|
220 |
> h1.wp-heading-inline,
|
221 |
> .page-title-action,
|
222 |
> .wp-header-end,
|
223 |
-
> .notice,
|
224 |
-
> .wpz-insta_settings-header > .notice,
|
225 |
> .wpz-insta-wrap ~ #posts-filter > .search-box,
|
226 |
> .wpz-insta-wrap ~ #posts-filter > .tablenav,
|
227 |
> .wpz-insta-wrap ~ #posts-filter > .wp-list-table > tfoot,
|
196 |
#wpbody-content {
|
197 |
padding-bottom: 165px;
|
198 |
|
|
|
|
|
|
|
|
|
199 |
.urgent {
|
200 |
color: $red-color;
|
201 |
}
|
216 |
> h1.wp-heading-inline,
|
217 |
> .page-title-action,
|
218 |
> .wp-header-end,
|
|
|
|
|
219 |
> .wpz-insta-wrap ~ #posts-filter > .search-box,
|
220 |
> .wpz-insta-wrap ~ #posts-filter > .tablenav,
|
221 |
> .wpz-insta-wrap ~ #posts-filter > .wp-list-table > tfoot,
|
src/styles/frontend/index.scss
CHANGED
@@ -504,7 +504,6 @@ a.ig-b-v-24:hover {
|
|
504 |
background-size: cover !important;
|
505 |
background-position: center center !important;
|
506 |
background-repeat: no-repeat !important;
|
507 |
-
padding-bottom: 100%;
|
508 |
}
|
509 |
|
510 |
.zoom-instagram-widget__items .zoom-instagram-widget__item .svg-icon {
|
504 |
background-size: cover !important;
|
505 |
background-position: center center !important;
|
506 |
background-repeat: no-repeat !important;
|
|
|
507 |
}
|
508 |
|
509 |
.zoom-instagram-widget__items .zoom-instagram-widget__item .svg-icon {
|
vendor/autoload.php
ADDED
@@ -0,0 +1,12 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
// autoload.php @generated by Composer
|
4 |
+
|
5 |
+
if (PHP_VERSION_ID < 50600) {
|
6 |
+
echo 'Composer 2.3.0 dropped support for autoloading on PHP <5.6 and you are running '.PHP_VERSION.', please upgrade PHP or use Composer 2.2 LTS via "composer self-update --2.2". Aborting.'.PHP_EOL;
|
7 |
+
exit(1);
|
8 |
+
}
|
9 |
+
|
10 |
+
require_once __DIR__ . '/composer/autoload_real.php';
|
11 |
+
|
12 |
+
return ComposerAutoloaderInite34df6fd83ea02d3148aabe09a8b139f::getLoader();
|
vendor/composer/ClassLoader.php
ADDED
@@ -0,0 +1,572 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/*
|
4 |
+
* This file is part of Composer.
|
5 |
+
*
|
6 |
+
* (c) Nils Adermann <naderman@naderman.de>
|
7 |
+
* Jordi Boggiano <j.boggiano@seld.be>
|
8 |
+
*
|
9 |
+
* For the full copyright and license information, please view the LICENSE
|
10 |
+
* file that was distributed with this source code.
|
11 |
+
*/
|
12 |
+
|
13 |
+
namespace Composer\Autoload;
|
14 |
+
|
15 |
+
/**
|
16 |
+
* ClassLoader implements a PSR-0, PSR-4 and classmap class loader.
|
17 |
+
*
|
18 |
+
* $loader = new \Composer\Autoload\ClassLoader();
|
19 |
+
*
|
20 |
+
* // register classes with namespaces
|
21 |
+
* $loader->add('Symfony\Component', __DIR__.'/component');
|
22 |
+
* $loader->add('Symfony', __DIR__.'/framework');
|
23 |
+
*
|
24 |
+
* // activate the autoloader
|
25 |
+
* $loader->register();
|
26 |
+
*
|
27 |
+
* // to enable searching the include path (eg. for PEAR packages)
|
28 |
+
* $loader->setUseIncludePath(true);
|
29 |
+
*
|
30 |
+
* In this example, if you try to use a class in the Symfony\Component
|
31 |
+
* namespace or one of its children (Symfony\Component\Console for instance),
|
32 |
+
* the autoloader will first look for the class under the component/
|
33 |
+
* directory, and it will then fallback to the framework/ directory if not
|
34 |
+
* found before giving up.
|
35 |
+
*
|
36 |
+
* This class is loosely based on the Symfony UniversalClassLoader.
|
37 |
+
*
|
38 |
+
* @author Fabien Potencier <fabien@symfony.com>
|
39 |
+
* @author Jordi Boggiano <j.boggiano@seld.be>
|
40 |
+
* @see https://www.php-fig.org/psr/psr-0/
|
41 |
+
* @see https://www.php-fig.org/psr/psr-4/
|
42 |
+
*/
|
43 |
+
class ClassLoader
|
44 |
+
{
|
45 |
+
/** @var ?string */
|
46 |
+
private $vendorDir;
|
47 |
+
|
48 |
+
// PSR-4
|
49 |
+
/**
|
50 |
+
* @var array[]
|
51 |
+
* @psalm-var array<string, array<string, int>>
|
52 |
+
*/
|
53 |
+
private $prefixLengthsPsr4 = array();
|
54 |
+
/**
|
55 |
+
* @var array[]
|
56 |
+
* @psalm-var array<string, array<int, string>>
|
57 |
+
*/
|
58 |
+
private $prefixDirsPsr4 = array();
|
59 |
+
/**
|
60 |
+
* @var array[]
|
61 |
+
* @psalm-var array<string, string>
|
62 |
+
*/
|
63 |
+
private $fallbackDirsPsr4 = array();
|
64 |
+
|
65 |
+
// PSR-0
|
66 |
+
/**
|
67 |
+
* @var array[]
|
68 |
+
* @psalm-var array<string, array<string, string[]>>
|
69 |
+
*/
|
70 |
+
private $prefixesPsr0 = array();
|
71 |
+
/**
|
72 |
+
* @var array[]
|
73 |
+
* @psalm-var array<string, string>
|
74 |
+
*/
|
75 |
+
private $fallbackDirsPsr0 = array();
|
76 |
+
|
77 |
+
/** @var bool */
|
78 |
+
private $useIncludePath = false;
|
79 |
+
|
80 |
+
/**
|
81 |
+
* @var string[]
|
82 |
+
* @psalm-var array<string, string>
|
83 |
+
*/
|
84 |
+
private $classMap = array();
|
85 |
+
|
86 |
+
/** @var bool */
|
87 |
+
private $classMapAuthoritative = false;
|
88 |
+
|
89 |
+
/**
|
90 |
+
* @var bool[]
|
91 |
+
* @psalm-var array<string, bool>
|
92 |
+
*/
|
93 |
+
private $missingClasses = array();
|
94 |
+
|
95 |
+
/** @var ?string */
|
96 |
+
private $apcuPrefix;
|
97 |
+
|
98 |
+
/**
|
99 |
+
* @var self[]
|
100 |
+
*/
|
101 |
+
private static $registeredLoaders = array();
|
102 |
+
|
103 |
+
/**
|
104 |
+
* @param ?string $vendorDir
|
105 |
+
*/
|
106 |
+
public function __construct($vendorDir = null)
|
107 |
+
{
|
108 |
+
$this->vendorDir = $vendorDir;
|
109 |
+
}
|
110 |
+
|
111 |
+
/**
|
112 |
+
* @return string[]
|
113 |
+
*/
|
114 |
+
public function getPrefixes()
|
115 |
+
{
|
116 |
+
if (!empty($this->prefixesPsr0)) {
|
117 |
+
return call_user_func_array('array_merge', array_values($this->prefixesPsr0));
|
118 |
+
}
|
119 |
+
|
120 |
+
return array();
|
121 |
+
}
|
122 |
+
|
123 |
+
/**
|
124 |
+
* @return array[]
|
125 |
+
* @psalm-return array<string, array<int, string>>
|
126 |
+
*/
|
127 |
+
public function getPrefixesPsr4()
|
128 |
+
{
|
129 |
+
return $this->prefixDirsPsr4;
|
130 |
+
}
|
131 |
+
|
132 |
+
/**
|
133 |
+
* @return array[]
|
134 |
+
* @psalm-return array<string, string>
|
135 |
+
*/
|
136 |
+
public function getFallbackDirs()
|
137 |
+
{
|
138 |
+
return $this->fallbackDirsPsr0;
|
139 |
+
}
|
140 |
+
|
141 |
+
/**
|
142 |
+
* @return array[]
|
143 |
+
* @psalm-return array<string, string>
|
144 |
+
*/
|
145 |
+
public function getFallbackDirsPsr4()
|
146 |
+
{
|
147 |
+
return $this->fallbackDirsPsr4;
|
148 |
+
}
|
149 |
+
|
150 |
+
/**
|
151 |
+
* @return string[] Array of classname => path
|
152 |
+
* @psalm-return array<string, string>
|
153 |
+
*/
|
154 |
+
public function getClassMap()
|
155 |
+
{
|
156 |
+
return $this->classMap;
|
157 |
+
}
|
158 |
+
|
159 |
+
/**
|
160 |
+
* @param string[] $classMap Class to filename map
|
161 |
+
* @psalm-param array<string, string> $classMap
|
162 |
+
*
|
163 |
+
* @return void
|
164 |
+
*/
|
165 |
+
public function addClassMap(array $classMap)
|
166 |
+
{
|
167 |
+
if ($this->classMap) {
|
168 |
+
$this->classMap = array_merge($this->classMap, $classMap);
|
169 |
+
} else {
|
170 |
+
$this->classMap = $classMap;
|
171 |
+
}
|
172 |
+
}
|
173 |
+
|
174 |
+
/**
|
175 |
+
* Registers a set of PSR-0 directories for a given prefix, either
|
176 |
+
* appending or prepending to the ones previously set for this prefix.
|
177 |
+
*
|
178 |
+
* @param string $prefix The prefix
|
179 |
+
* @param string[]|string $paths The PSR-0 root directories
|
180 |
+
* @param bool $prepend Whether to prepend the directories
|
181 |
+
*
|
182 |
+
* @return void
|
183 |
+
*/
|
184 |
+
public function add($prefix, $paths, $prepend = false)
|
185 |
+
{
|
186 |
+
if (!$prefix) {
|
187 |
+
if ($prepend) {
|
188 |
+
$this->fallbackDirsPsr0 = array_merge(
|
189 |
+
(array) $paths,
|
190 |
+
$this->fallbackDirsPsr0
|
191 |
+
);
|
192 |
+
} else {
|
193 |
+
$this->fallbackDirsPsr0 = array_merge(
|
194 |
+
$this->fallbackDirsPsr0,
|
195 |
+
(array) $paths
|
196 |
+
);
|
197 |
+
}
|
198 |
+
|
199 |
+
return;
|
200 |
+
}
|
201 |
+
|
202 |
+
$first = $prefix[0];
|
203 |
+
if (!isset($this->prefixesPsr0[$first][$prefix])) {
|
204 |
+
$this->prefixesPsr0[$first][$prefix] = (array) $paths;
|
205 |
+
|
206 |
+
return;
|
207 |
+
}
|
208 |
+
if ($prepend) {
|
209 |
+
$this->prefixesPsr0[$first][$prefix] = array_merge(
|
210 |
+
(array) $paths,
|
211 |
+
$this->prefixesPsr0[$first][$prefix]
|
212 |
+
);
|
213 |
+
} else {
|
214 |
+
$this->prefixesPsr0[$first][$prefix] = array_merge(
|
215 |
+
$this->prefixesPsr0[$first][$prefix],
|
216 |
+
(array) $paths
|
217 |
+
);
|
218 |
+
}
|
219 |
+
}
|
220 |
+
|
221 |
+
/**
|
222 |
+
* Registers a set of PSR-4 directories for a given namespace, either
|
223 |
+
* appending or prepending to the ones previously set for this namespace.
|
224 |
+
*
|
225 |
+
* @param string $prefix The prefix/namespace, with trailing '\\'
|
226 |
+
* @param string[]|string $paths The PSR-4 base directories
|
227 |
+
* @param bool $prepend Whether to prepend the directories
|
228 |
+
*
|
229 |
+
* @throws \InvalidArgumentException
|
230 |
+
*
|
231 |
+
* @return void
|
232 |
+
*/
|
233 |
+
public function addPsr4($prefix, $paths, $prepend = false)
|
234 |
+
{
|
235 |
+
if (!$prefix) {
|
236 |
+
// Register directories for the root namespace.
|
237 |
+
if ($prepend) {
|
238 |
+
$this->fallbackDirsPsr4 = array_merge(
|
239 |
+
(array) $paths,
|
240 |
+
$this->fallbackDirsPsr4
|
241 |
+
);
|
242 |
+
} else {
|
243 |
+
$this->fallbackDirsPsr4 = array_merge(
|
244 |
+
$this->fallbackDirsPsr4,
|
245 |
+
(array) $paths
|
246 |
+
);
|
247 |
+
}
|
248 |
+
} elseif (!isset($this->prefixDirsPsr4[$prefix])) {
|
249 |
+
// Register directories for a new namespace.
|
250 |
+
$length = strlen($prefix);
|
251 |
+
if ('\\' !== $prefix[$length - 1]) {
|
252 |
+
throw new \InvalidArgumentException("A non-empty PSR-4 prefix must end with a namespace separator.");
|
253 |
+
}
|
254 |
+
$this->prefixLengthsPsr4[$prefix[0]][$prefix] = $length;
|
255 |
+
$this->prefixDirsPsr4[$prefix] = (array) $paths;
|
256 |
+
} elseif ($prepend) {
|
257 |
+
// Prepend directories for an already registered namespace.
|
258 |
+
$this->prefixDirsPsr4[$prefix] = array_merge(
|
259 |
+
(array) $paths,
|
260 |
+
$this->prefixDirsPsr4[$prefix]
|
261 |
+
);
|
262 |
+
} else {
|
263 |
+
// Append directories for an already registered namespace.
|
264 |
+
$this->prefixDirsPsr4[$prefix] = array_merge(
|
265 |
+
$this->prefixDirsPsr4[$prefix],
|
266 |
+
(array) $paths
|
267 |
+
);
|
268 |
+
}
|
269 |
+
}
|
270 |
+
|
271 |
+
/**
|
272 |
+
* Registers a set of PSR-0 directories for a given prefix,
|
273 |
+
* replacing any others previously set for this prefix.
|
274 |
+
*
|
275 |
+
* @param string $prefix The prefix
|
276 |
+
* @param string[]|string $paths The PSR-0 base directories
|
277 |
+
*
|
278 |
+
* @return void
|
279 |
+
*/
|
280 |
+
public function set($prefix, $paths)
|
281 |
+
{
|
282 |
+
if (!$prefix) {
|
283 |
+
$this->fallbackDirsPsr0 = (array) $paths;
|
284 |
+
} else {
|
285 |
+
$this->prefixesPsr0[$prefix[0]][$prefix] = (array) $paths;
|
286 |
+
}
|
287 |
+
}
|
288 |
+
|
289 |
+
/**
|
290 |
+
* Registers a set of PSR-4 directories for a given namespace,
|
291 |
+
* replacing any others previously set for this namespace.
|
292 |
+
*
|
293 |
+
* @param string $prefix The prefix/namespace, with trailing '\\'
|
294 |
+
* @param string[]|string $paths The PSR-4 base directories
|
295 |
+
*
|
296 |
+
* @throws \InvalidArgumentException
|
297 |
+
*
|
298 |
+
* @return void
|
299 |
+
*/
|
300 |
+
public function setPsr4($prefix, $paths)
|
301 |
+
{
|
302 |
+
if (!$prefix) {
|
303 |
+
$this->fallbackDirsPsr4 = (array) $paths;
|
304 |
+
} else {
|
305 |
+
$length = strlen($prefix);
|
306 |
+
if ('\\' !== $prefix[$length - 1]) {
|
307 |
+
throw new \InvalidArgumentException("A non-empty PSR-4 prefix must end with a namespace separator.");
|
308 |
+
}
|
309 |
+
$this->prefixLengthsPsr4[$prefix[0]][$prefix] = $length;
|
310 |
+
$this->prefixDirsPsr4[$prefix] = (array) $paths;
|
311 |
+
}
|
312 |
+
}
|
313 |
+
|
314 |
+
/**
|
315 |
+
* Turns on searching the include path for class files.
|
316 |
+
*
|
317 |
+
* @param bool $useIncludePath
|
318 |
+
*
|
319 |
+
* @return void
|
320 |
+
*/
|
321 |
+
public function setUseIncludePath($useIncludePath)
|
322 |
+
{
|
323 |
+
$this->useIncludePath = $useIncludePath;
|
324 |
+
}
|
325 |
+
|
326 |
+
/**
|
327 |
+
* Can be used to check if the autoloader uses the include path to check
|
328 |
+
* for classes.
|
329 |
+
*
|
330 |
+
* @return bool
|
331 |
+
*/
|
332 |
+
public function getUseIncludePath()
|
333 |
+
{
|
334 |
+
return $this->useIncludePath;
|
335 |
+
}
|
336 |
+
|
337 |
+
/**
|
338 |
+
* Turns off searching the prefix and fallback directories for classes
|
339 |
+
* that have not been registered with the class map.
|
340 |
+
*
|
341 |
+
* @param bool $classMapAuthoritative
|
342 |
+
*
|
343 |
+
* @return void
|
344 |
+
*/
|
345 |
+
public function setClassMapAuthoritative($classMapAuthoritative)
|
346 |
+
{
|
347 |
+
$this->classMapAuthoritative = $classMapAuthoritative;
|
348 |
+
}
|
349 |
+
|
350 |
+
/**
|
351 |
+
* Should class lookup fail if not found in the current class map?
|
352 |
+
*
|
353 |
+
* @return bool
|
354 |
+
*/
|
355 |
+
public function isClassMapAuthoritative()
|
356 |
+
{
|
357 |
+
return $this->classMapAuthoritative;
|
358 |
+
}
|
359 |
+
|
360 |
+
/**
|
361 |
+
* APCu prefix to use to cache found/not-found classes, if the extension is enabled.
|
362 |
+
*
|
363 |
+
* @param string|null $apcuPrefix
|
364 |
+
*
|
365 |
+
* @return void
|
366 |
+
*/
|
367 |
+
public function setApcuPrefix($apcuPrefix)
|
368 |
+
{
|
369 |
+
$this->apcuPrefix = function_exists('apcu_fetch') && filter_var(ini_get('apc.enabled'), FILTER_VALIDATE_BOOLEAN) ? $apcuPrefix : null;
|
370 |
+
}
|
371 |
+
|
372 |
+
/**
|
373 |
+
* The APCu prefix in use, or null if APCu caching is not enabled.
|
374 |
+
*
|
375 |
+
* @return string|null
|
376 |
+
*/
|
377 |
+
public function getApcuPrefix()
|
378 |
+
{
|
379 |
+
return $this->apcuPrefix;
|
380 |
+
}
|
381 |
+
|
382 |
+
/**
|
383 |
+
* Registers this instance as an autoloader.
|
384 |
+
*
|
385 |
+
* @param bool $prepend Whether to prepend the autoloader or not
|
386 |
+
*
|
387 |
+
* @return void
|
388 |
+
*/
|
389 |
+
public function register($prepend = false)
|
390 |
+
{
|
391 |
+
spl_autoload_register(array($this, 'loadClass'), true, $prepend);
|
392 |
+
|
393 |
+
if (null === $this->vendorDir) {
|
394 |
+
return;
|
395 |
+
}
|
396 |
+
|
397 |
+
if ($prepend) {
|
398 |
+
self::$registeredLoaders = array($this->vendorDir => $this) + self::$registeredLoaders;
|
399 |
+
} else {
|
400 |
+
unset(self::$registeredLoaders[$this->vendorDir]);
|
401 |
+
self::$registeredLoaders[$this->vendorDir] = $this;
|
402 |
+
}
|
403 |
+
}
|
404 |
+
|
405 |
+
/**
|
406 |
+
* Unregisters this instance as an autoloader.
|
407 |
+
*
|
408 |
+
* @return void
|
409 |
+
*/
|
410 |
+
public function unregister()
|
411 |
+
{
|
412 |
+
spl_autoload_unregister(array($this, 'loadClass'));
|
413 |
+
|
414 |
+
if (null !== $this->vendorDir) {
|
415 |
+
unset(self::$registeredLoaders[$this->vendorDir]);
|
416 |
+
}
|
417 |
+
}
|
418 |
+
|
419 |
+
/**
|
420 |
+
* Loads the given class or interface.
|
421 |
+
*
|
422 |
+
* @param string $class The name of the class
|
423 |
+
* @return true|null True if loaded, null otherwise
|
424 |
+
*/
|
425 |
+
public function loadClass($class)
|
426 |
+
{
|
427 |
+
if ($file = $this->findFile($class)) {
|
428 |
+
includeFile($file);
|
429 |
+
|
430 |
+
return true;
|
431 |
+
}
|
432 |
+
|
433 |
+
return null;
|
434 |
+
}
|
435 |
+
|
436 |
+
/**
|
437 |
+
* Finds the path to the file where the class is defined.
|
438 |
+
*
|
439 |
+
* @param string $class The name of the class
|
440 |
+
*
|
441 |
+
* @return string|false The path if found, false otherwise
|
442 |
+
*/
|
443 |
+
public function findFile($class)
|
444 |
+
{
|
445 |
+
// class map lookup
|
446 |
+
if (isset($this->classMap[$class])) {
|
447 |
+
return $this->classMap[$class];
|
448 |
+
}
|
449 |
+
if ($this->classMapAuthoritative || isset($this->missingClasses[$class])) {
|
450 |
+
return false;
|
451 |
+
}
|
452 |
+
if (null !== $this->apcuPrefix) {
|
453 |
+
$file = apcu_fetch($this->apcuPrefix.$class, $hit);
|
454 |
+
if ($hit) {
|
455 |
+
return $file;
|
456 |
+
}
|
457 |
+
}
|
458 |
+
|
459 |
+
$file = $this->findFileWithExtension($class, '.php');
|
460 |
+
|
461 |
+
// Search for Hack files if we are running on HHVM
|
462 |
+
if (false === $file && defined('HHVM_VERSION')) {
|
463 |
+
$file = $this->findFileWithExtension($class, '.hh');
|
464 |
+
}
|
465 |
+
|
466 |
+
if (null !== $this->apcuPrefix) {
|
467 |
+
apcu_add($this->apcuPrefix.$class, $file);
|
468 |
+
}
|
469 |
+
|
470 |
+
if (false === $file) {
|
471 |
+
// Remember that this class does not exist.
|
472 |
+
$this->missingClasses[$class] = true;
|
473 |
+
}
|
474 |
+
|
475 |
+
return $file;
|
476 |
+
}
|
477 |
+
|
478 |
+
/**
|
479 |
+
* Returns the currently registered loaders indexed by their corresponding vendor directories.
|
480 |
+
*
|
481 |
+
* @return self[]
|
482 |
+
*/
|
483 |
+
public static function getRegisteredLoaders()
|
484 |
+
{
|
485 |
+
return self::$registeredLoaders;
|
486 |
+
}
|
487 |
+
|
488 |
+
/**
|
489 |
+
* @param string $class
|
490 |
+
* @param string $ext
|
491 |
+
* @return string|false
|
492 |
+
*/
|
493 |
+
private function findFileWithExtension($class, $ext)
|
494 |
+
{
|
495 |
+
// PSR-4 lookup
|
496 |
+
$logicalPathPsr4 = strtr($class, '\\', DIRECTORY_SEPARATOR) . $ext;
|
497 |
+
|
498 |
+
$first = $class[0];
|
499 |
+
if (isset($this->prefixLengthsPsr4[$first])) {
|
500 |
+
$subPath = $class;
|
501 |
+
while (false !== $lastPos = strrpos($subPath, '\\')) {
|
502 |
+
$subPath = substr($subPath, 0, $lastPos);
|
503 |
+
$search = $subPath . '\\';
|
504 |
+
if (isset($this->prefixDirsPsr4[$search])) {
|
505 |
+
$pathEnd = DIRECTORY_SEPARATOR . substr($logicalPathPsr4, $lastPos + 1);
|
506 |
+
foreach ($this->prefixDirsPsr4[$search] as $dir) {
|
507 |
+
if (file_exists($file = $dir . $pathEnd)) {
|
508 |
+
return $file;
|
509 |
+
}
|
510 |
+
}
|
511 |
+
}
|
512 |
+
}
|
513 |
+
}
|
514 |
+
|
515 |
+
// PSR-4 fallback dirs
|
516 |
+
foreach ($this->fallbackDirsPsr4 as $dir) {
|
517 |
+
if (file_exists($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr4)) {
|
518 |
+
return $file;
|
519 |
+
}
|
520 |
+
}
|
521 |
+
|
522 |
+
// PSR-0 lookup
|
523 |
+
if (false !== $pos = strrpos($class, '\\')) {
|
524 |
+
// namespaced class name
|
525 |
+
$logicalPathPsr0 = substr($logicalPathPsr4, 0, $pos + 1)
|
526 |
+
. strtr(substr($logicalPathPsr4, $pos + 1), '_', DIRECTORY_SEPARATOR);
|
527 |
+
} else {
|
528 |
+
// PEAR-like class name
|
529 |
+
$logicalPathPsr0 = strtr($class, '_', DIRECTORY_SEPARATOR) . $ext;
|
530 |
+
}
|
531 |
+
|
532 |
+
if (isset($this->prefixesPsr0[$first])) {
|
533 |
+
foreach ($this->prefixesPsr0[$first] as $prefix => $dirs) {
|
534 |
+
if (0 === strpos($class, $prefix)) {
|
535 |
+
foreach ($dirs as $dir) {
|
536 |
+
if (file_exists($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr0)) {
|
537 |
+
return $file;
|
538 |
+
}
|
539 |
+
}
|
540 |
+
}
|
541 |
+
}
|
542 |
+
}
|
543 |
+
|
544 |
+
// PSR-0 fallback dirs
|
545 |
+
foreach ($this->fallbackDirsPsr0 as $dir) {
|
546 |
+
if (file_exists($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr0)) {
|
547 |
+
return $file;
|
548 |
+
}
|
549 |
+
}
|
550 |
+
|
551 |
+
// PSR-0 include paths.
|
552 |
+
if ($this->useIncludePath && $file = stream_resolve_include_path($logicalPathPsr0)) {
|
553 |
+
return $file;
|
554 |
+
}
|
555 |
+
|
556 |
+
return false;
|
557 |
+
}
|
558 |
+
}
|
559 |
+
|
560 |
+
/**
|
561 |
+
* Scope isolated include.
|
562 |
+
*
|
563 |
+
* Prevents access to $this/self from included files.
|
564 |
+
*
|
565 |
+
* @param string $file
|
566 |
+
* @return void
|
567 |
+
* @private
|
568 |
+
*/
|
569 |
+
function includeFile($file)
|
570 |
+
{
|
571 |
+
include $file;
|
572 |
+
}
|
vendor/composer/InstalledVersions.php
ADDED
@@ -0,0 +1,352 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/*
|
4 |
+
* This file is part of Composer.
|
5 |
+
*
|
6 |
+
* (c) Nils Adermann <naderman@naderman.de>
|
7 |
+
* Jordi Boggiano <j.boggiano@seld.be>
|
8 |
+
*
|
9 |
+
* For the full copyright and license information, please view the LICENSE
|
10 |
+
* file that was distributed with this source code.
|
11 |
+
*/
|
12 |
+
|
13 |
+
namespace Composer;
|
14 |
+
|
15 |
+
use Composer\Autoload\ClassLoader;
|
16 |
+
use Composer\Semver\VersionParser;
|
17 |
+
|
18 |
+
/**
|
19 |
+
* This class is copied in every Composer installed project and available to all
|
20 |
+
*
|
21 |
+
* See also https://getcomposer.org/doc/07-runtime.md#installed-versions
|
22 |
+
*
|
23 |
+
* To require its presence, you can require `composer-runtime-api ^2.0`
|
24 |
+
*
|
25 |
+
* @final
|
26 |
+
*/
|
27 |
+
class InstalledVersions
|
28 |
+
{
|
29 |
+
/**
|
30 |
+
* @var mixed[]|null
|
31 |
+
* @psalm-var array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}|array{}|null
|
32 |
+
*/
|
33 |
+
private static $installed;
|
34 |
+
|
35 |
+
/**
|
36 |
+
* @var bool|null
|
37 |
+
*/
|
38 |
+
private static $canGetVendors;
|
39 |
+
|
40 |
+
/**
|
41 |
+
* @var array[]
|
42 |
+
* @psalm-var array<string, array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}>
|
43 |
+
*/
|
44 |
+
private static $installedByVendor = array();
|
45 |
+
|
46 |
+
/**
|
47 |
+
* Returns a list of all package names which are present, either by being installed, replaced or provided
|
48 |
+
*
|
49 |
+
* @return string[]
|
50 |
+
* @psalm-return list<string>
|
51 |
+
*/
|
52 |
+
public static function getInstalledPackages()
|
53 |
+
{
|
54 |
+
$packages = array();
|
55 |
+
foreach (self::getInstalled() as $installed) {
|
56 |
+
$packages[] = array_keys($installed['versions']);
|
57 |
+
}
|
58 |
+
|
59 |
+
if (1 === \count($packages)) {
|
60 |
+
return $packages[0];
|
61 |
+
}
|
62 |
+
|
63 |
+
return array_keys(array_flip(\call_user_func_array('array_merge', $packages)));
|
64 |
+
}
|
65 |
+
|
66 |
+
/**
|
67 |
+
* Returns a list of all package names with a specific type e.g. 'library'
|
68 |
+
*
|
69 |
+
* @param string $type
|
70 |
+
* @return string[]
|
71 |
+
* @psalm-return list<string>
|
72 |
+
*/
|
73 |
+
public static function getInstalledPackagesByType($type)
|
74 |
+
{
|
75 |
+
$packagesByType = array();
|
76 |
+
|
77 |
+
foreach (self::getInstalled() as $installed) {
|
78 |
+
foreach ($installed['versions'] as $name => $package) {
|
79 |
+
if (isset($package['type']) && $package['type'] === $type) {
|
80 |
+
$packagesByType[] = $name;
|
81 |
+
}
|
82 |
+
}
|
83 |
+
}
|
84 |
+
|
85 |
+
return $packagesByType;
|
86 |
+
}
|
87 |
+
|
88 |
+
/**
|
89 |
+
* Checks whether the given package is installed
|
90 |
+
*
|
91 |
+
* This also returns true if the package name is provided or replaced by another package
|
92 |
+
*
|
93 |
+
* @param string $packageName
|
94 |
+
* @param bool $includeDevRequirements
|
95 |
+
* @return bool
|
96 |
+
*/
|
97 |
+
public static function isInstalled($packageName, $includeDevRequirements = true)
|
98 |
+
{
|
99 |
+
foreach (self::getInstalled() as $installed) {
|
100 |
+
if (isset($installed['versions'][$packageName])) {
|
101 |
+
return $includeDevRequirements || empty($installed['versions'][$packageName]['dev_requirement']);
|
102 |
+
}
|
103 |
+
}
|
104 |
+
|
105 |
+
return false;
|
106 |
+
}
|
107 |
+
|
108 |
+
/**
|
109 |
+
* Checks whether the given package satisfies a version constraint
|
110 |
+
*
|
111 |
+
* e.g. If you want to know whether version 2.3+ of package foo/bar is installed, you would call:
|
112 |
+
*
|
113 |
+
* Composer\InstalledVersions::satisfies(new VersionParser, 'foo/bar', '^2.3')
|
114 |
+
*
|
115 |
+
* @param VersionParser $parser Install composer/semver to have access to this class and functionality
|
116 |
+
* @param string $packageName
|
117 |
+
* @param string|null $constraint A version constraint to check for, if you pass one you have to make sure composer/semver is required by your package
|
118 |
+
* @return bool
|
119 |
+
*/
|
120 |
+
public static function satisfies(VersionParser $parser, $packageName, $constraint)
|
121 |
+
{
|
122 |
+
$constraint = $parser->parseConstraints($constraint);
|
123 |
+
$provided = $parser->parseConstraints(self::getVersionRanges($packageName));
|
124 |
+
|
125 |
+
return $provided->matches($constraint);
|
126 |
+
}
|
127 |
+
|
128 |
+
/**
|
129 |
+
* Returns a version constraint representing all the range(s) which are installed for a given package
|
130 |
+
*
|
131 |
+
* It is easier to use this via isInstalled() with the $constraint argument if you need to check
|
132 |
+
* whether a given version of a package is installed, and not just whether it exists
|
133 |
+
*
|
134 |
+
* @param string $packageName
|
135 |
+
* @return string Version constraint usable with composer/semver
|
136 |
+
*/
|
137 |
+
public static function getVersionRanges($packageName)
|
138 |
+
{
|
139 |
+
foreach (self::getInstalled() as $installed) {
|
140 |
+
if (!isset($installed['versions'][$packageName])) {
|
141 |
+
continue;
|
142 |
+
}
|
143 |
+
|
144 |
+
$ranges = array();
|
145 |
+
if (isset($installed['versions'][$packageName]['pretty_version'])) {
|
146 |
+
$ranges[] = $installed['versions'][$packageName]['pretty_version'];
|
147 |
+
}
|
148 |
+
if (array_key_exists('aliases', $installed['versions'][$packageName])) {
|
149 |
+
$ranges = array_merge($ranges, $installed['versions'][$packageName]['aliases']);
|
150 |
+
}
|
151 |
+
if (array_key_exists('replaced', $installed['versions'][$packageName])) {
|
152 |
+
$ranges = array_merge($ranges, $installed['versions'][$packageName]['replaced']);
|
153 |
+
}
|
154 |
+
if (array_key_exists('provided', $installed['versions'][$packageName])) {
|
155 |
+
$ranges = array_merge($ranges, $installed['versions'][$packageName]['provided']);
|
156 |
+
}
|
157 |
+
|
158 |
+
return implode(' || ', $ranges);
|
159 |
+
}
|
160 |
+
|
161 |
+
throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed');
|
162 |
+
}
|
163 |
+
|
164 |
+
/**
|
165 |
+
* @param string $packageName
|
166 |
+
* @return string|null If the package is being replaced or provided but is not really installed, null will be returned as version, use satisfies or getVersionRanges if you need to know if a given version is present
|
167 |
+
*/
|
168 |
+
public static function getVersion($packageName)
|
169 |
+
{
|
170 |
+
foreach (self::getInstalled() as $installed) {
|
171 |
+
if (!isset($installed['versions'][$packageName])) {
|
172 |
+
continue;
|
173 |
+
}
|
174 |
+
|
175 |
+
if (!isset($installed['versions'][$packageName]['version'])) {
|
176 |
+
return null;
|
177 |
+
}
|
178 |
+
|
179 |
+
return $installed['versions'][$packageName]['version'];
|
180 |
+
}
|
181 |
+
|
182 |
+
throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed');
|
183 |
+
}
|
184 |
+
|
185 |
+
/**
|
186 |
+
* @param string $packageName
|
187 |
+
* @return string|null If the package is being replaced or provided but is not really installed, null will be returned as version, use satisfies or getVersionRanges if you need to know if a given version is present
|
188 |
+
*/
|
189 |
+
public static function getPrettyVersion($packageName)
|
190 |
+
{
|
191 |
+
foreach (self::getInstalled() as $installed) {
|
192 |
+
if (!isset($installed['versions'][$packageName])) {
|
193 |
+
continue;
|
194 |
+
}
|
195 |
+
|
196 |
+
if (!isset($installed['versions'][$packageName]['pretty_version'])) {
|
197 |
+
return null;
|
198 |
+
}
|
199 |
+
|
200 |
+
return $installed['versions'][$packageName]['pretty_version'];
|
201 |
+
}
|
202 |
+
|
203 |
+
throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed');
|
204 |
+
}
|
205 |
+
|
206 |
+
/**
|
207 |
+
* @param string $packageName
|
208 |
+
* @return string|null If the package is being replaced or provided but is not really installed, null will be returned as reference
|
209 |
+
*/
|
210 |
+
public static function getReference($packageName)
|
211 |
+
{
|
212 |
+
foreach (self::getInstalled() as $installed) {
|
213 |
+
if (!isset($installed['versions'][$packageName])) {
|
214 |
+
continue;
|
215 |
+
}
|
216 |
+
|
217 |
+
if (!isset($installed['versions'][$packageName]['reference'])) {
|
218 |
+
return null;
|
219 |
+
}
|
220 |
+
|
221 |
+
return $installed['versions'][$packageName]['reference'];
|
222 |
+
}
|
223 |
+
|
224 |
+
throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed');
|
225 |
+
}
|
226 |
+
|
227 |
+
/**
|
228 |
+
* @param string $packageName
|
229 |
+
* @return string|null If the package is being replaced or provided but is not really installed, null will be returned as install path. Packages of type metapackages also have a null install path.
|
230 |
+
*/
|
231 |
+
public static function getInstallPath($packageName)
|
232 |
+
{
|
233 |
+
foreach (self::getInstalled() as $installed) {
|
234 |
+
if (!isset($installed['versions'][$packageName])) {
|
235 |
+
continue;
|
236 |
+
}
|
237 |
+
|
238 |
+
return isset($installed['versions'][$packageName]['install_path']) ? $installed['versions'][$packageName]['install_path'] : null;
|
239 |
+
}
|
240 |
+
|
241 |
+
throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed');
|
242 |
+
}
|
243 |
+
|
244 |
+
/**
|
245 |
+
* @return array
|
246 |
+
* @psalm-return array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}
|
247 |
+
*/
|
248 |
+
public static function getRootPackage()
|
249 |
+
{
|
250 |
+
$installed = self::getInstalled();
|
251 |
+
|
252 |
+
return $installed[0]['root'];
|
253 |
+
}
|
254 |
+
|
255 |
+
/**
|
256 |
+
* Returns the raw installed.php data for custom implementations
|
257 |
+
*
|
258 |
+
* @deprecated Use getAllRawData() instead which returns all datasets for all autoloaders present in the process. getRawData only returns the first dataset loaded, which may not be what you expect.
|
259 |
+
* @return array[]
|
260 |
+
* @psalm-return array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}
|
261 |
+
*/
|
262 |
+
public static function getRawData()
|
263 |
+
{
|
264 |
+
@trigger_error('getRawData only returns the first dataset loaded, which may not be what you expect. Use getAllRawData() instead which returns all datasets for all autoloaders present in the process.', E_USER_DEPRECATED);
|
265 |
+
|
266 |
+
if (null === self::$installed) {
|
267 |
+
// only require the installed.php file if this file is loaded from its dumped location,
|
268 |
+
// and not from its source location in the composer/composer package, see https://github.com/composer/composer/issues/9937
|
269 |
+
if (substr(__DIR__, -8, 1) !== 'C') {
|
270 |
+
self::$installed = include __DIR__ . '/installed.php';
|
271 |
+
} else {
|
272 |
+
self::$installed = array();
|
273 |
+
}
|
274 |
+
}
|
275 |
+
|
276 |
+
return self::$installed;
|
277 |
+
}
|
278 |
+
|
279 |
+
/**
|
280 |
+
* Returns the raw data of all installed.php which are currently loaded for custom implementations
|
281 |
+
*
|
282 |
+
* @return array[]
|
283 |
+
* @psalm-return list<array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}>
|
284 |
+
*/
|
285 |
+
public static function getAllRawData()
|
286 |
+
{
|
287 |
+
return self::getInstalled();
|
288 |
+
}
|
289 |
+
|
290 |
+
/**
|
291 |
+
* Lets you reload the static array from another file
|
292 |
+
*
|
293 |
+
* This is only useful for complex integrations in which a project needs to use
|
294 |
+
* this class but then also needs to execute another project's autoloader in process,
|
295 |
+
* and wants to ensure both projects have access to their version of installed.php.
|
296 |
+
*
|
297 |
+
* A typical case would be PHPUnit, where it would need to make sure it reads all
|
298 |
+
* the data it needs from this class, then call reload() with
|
299 |
+
* `require $CWD/vendor/composer/installed.php` (or similar) as input to make sure
|
300 |
+
* the project in which it runs can then also use this class safely, without
|
301 |
+
* interference between PHPUnit's dependencies and the project's dependencies.
|
302 |
+
*
|
303 |
+
* @param array[] $data A vendor/composer/installed.php data set
|
304 |
+
* @return void
|
305 |
+
*
|
306 |
+
* @psalm-param array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>} $data
|
307 |
+
*/
|
308 |
+
public static function reload($data)
|
309 |
+
{
|
310 |
+
self::$installed = $data;
|
311 |
+
self::$installedByVendor = array();
|
312 |
+
}
|
313 |
+
|
314 |
+
/**
|
315 |
+
* @return array[]
|
316 |
+
* @psalm-return list<array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}>
|
317 |
+
*/
|
318 |
+
private static function getInstalled()
|
319 |
+
{
|
320 |
+
if (null === self::$canGetVendors) {
|
321 |
+
self::$canGetVendors = method_exists('Composer\Autoload\ClassLoader', 'getRegisteredLoaders');
|
322 |
+
}
|
323 |
+
|
324 |
+
$installed = array();
|
325 |
+
|
326 |
+
if (self::$canGetVendors) {
|
327 |
+
foreach (ClassLoader::getRegisteredLoaders() as $vendorDir => $loader) {
|
328 |
+
if (isset(self::$installedByVendor[$vendorDir])) {
|
329 |
+
$installed[] = self::$installedByVendor[$vendorDir];
|
330 |
+
} elseif (is_file($vendorDir.'/composer/installed.php')) {
|
331 |
+
$installed[] = self::$installedByVendor[$vendorDir] = require $vendorDir.'/composer/installed.php';
|
332 |
+
if (null === self::$installed && strtr($vendorDir.'/composer', '\\', '/') === strtr(__DIR__, '\\', '/')) {
|
333 |
+
self::$installed = $installed[count($installed) - 1];
|
334 |
+
}
|
335 |
+
}
|
336 |
+
}
|
337 |
+
}
|
338 |
+
|
339 |
+
if (null === self::$installed) {
|
340 |
+
// only require the installed.php file if this file is loaded from its dumped location,
|
341 |
+
// and not from its source location in the composer/composer package, see https://github.com/composer/composer/issues/9937
|
342 |
+
if (substr(__DIR__, -8, 1) !== 'C') {
|
343 |
+
self::$installed = require __DIR__ . '/installed.php';
|
344 |
+
} else {
|
345 |
+
self::$installed = array();
|
346 |
+
}
|
347 |
+
}
|
348 |
+
$installed[] = self::$installed;
|
349 |
+
|
350 |
+
return $installed;
|
351 |
+
}
|
352 |
+
}
|
vendor/composer/LICENSE
ADDED
@@ -0,0 +1,21 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
|
2 |
+
Copyright (c) Nils Adermann, Jordi Boggiano
|
3 |
+
|
4 |
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
5 |
+
of this software and associated documentation files (the "Software"), to deal
|
6 |
+
in the Software without restriction, including without limitation the rights
|
7 |
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
8 |
+
copies of the Software, and to permit persons to whom the Software is furnished
|
9 |
+
to do so, subject to the following conditions:
|
10 |
+
|
11 |
+
The above copyright notice and this permission notice shall be included in all
|
12 |
+
copies or substantial portions of the Software.
|
13 |
+
|
14 |
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
15 |
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
16 |
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
17 |
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
18 |
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
19 |
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
20 |
+
THE SOFTWARE.
|
21 |
+
|
vendor/composer/autoload_classmap.php
ADDED
@@ -0,0 +1,10 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
// autoload_classmap.php @generated by Composer
|
4 |
+
|
5 |
+
$vendorDir = dirname(__DIR__);
|
6 |
+
$baseDir = dirname($vendorDir);
|
7 |
+
|
8 |
+
return array(
|
9 |
+
'Composer\\InstalledVersions' => $vendorDir . '/composer/InstalledVersions.php',
|
10 |
+
);
|
vendor/composer/autoload_namespaces.php
ADDED
@@ -0,0 +1,9 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
// autoload_namespaces.php @generated by Composer
|
4 |
+
|
5 |
+
$vendorDir = dirname(__DIR__);
|
6 |
+
$baseDir = dirname($vendorDir);
|
7 |
+
|
8 |
+
return array(
|
9 |
+
);
|
vendor/composer/autoload_psr4.php
ADDED
@@ -0,0 +1,11 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
// autoload_psr4.php @generated by Composer
|
4 |
+
|
5 |
+
$vendorDir = dirname(__DIR__);
|
6 |
+
$baseDir = dirname($vendorDir);
|
7 |
+
|
8 |
+
return array(
|
9 |
+
'DiDom\\' => array($vendorDir . '/imangazaliev/didom/src/DiDom'),
|
10 |
+
'Dealerdirect\\Composer\\Plugin\\Installers\\PHPCodeSniffer\\' => array($vendorDir . '/dealerdirect/phpcodesniffer-composer-installer/src'),
|
11 |
+
);
|
vendor/composer/autoload_real.php
ADDED
@@ -0,0 +1,38 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
// autoload_real.php @generated by Composer
|
4 |
+
|
5 |
+
class ComposerAutoloaderInite34df6fd83ea02d3148aabe09a8b139f
|
6 |
+
{
|
7 |
+
private static $loader;
|
8 |
+
|
9 |
+
public static function loadClassLoader($class)
|
10 |
+
{
|
11 |
+
if ('Composer\Autoload\ClassLoader' === $class) {
|
12 |
+
require __DIR__ . '/ClassLoader.php';
|
13 |
+
}
|
14 |
+
}
|
15 |
+
|
16 |
+
/**
|
17 |
+
* @return \Composer\Autoload\ClassLoader
|
18 |
+
*/
|
19 |
+
public static function getLoader()
|
20 |
+
{
|
21 |
+
if (null !== self::$loader) {
|
22 |
+
return self::$loader;
|
23 |
+
}
|
24 |
+
|
25 |
+
require __DIR__ . '/platform_check.php';
|
26 |
+
|
27 |
+
spl_autoload_register(array('ComposerAutoloaderInite34df6fd83ea02d3148aabe09a8b139f', 'loadClassLoader'), true, true);
|
28 |
+
self::$loader = $loader = new \Composer\Autoload\ClassLoader(\dirname(__DIR__));
|
29 |
+
spl_autoload_unregister(array('ComposerAutoloaderInite34df6fd83ea02d3148aabe09a8b139f', 'loadClassLoader'));
|
30 |
+
|
31 |
+
require __DIR__ . '/autoload_static.php';
|
32 |
+
call_user_func(\Composer\Autoload\ComposerStaticInite34df6fd83ea02d3148aabe09a8b139f::getInitializer($loader));
|
33 |
+
|
34 |
+
$loader->register(true);
|
35 |
+
|
36 |
+
return $loader;
|
37 |
+
}
|
38 |
+
}
|
vendor/composer/autoload_static.php
ADDED
@@ -0,0 +1,41 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
// autoload_static.php @generated by Composer
|
4 |
+
|
5 |
+
namespace Composer\Autoload;
|
6 |
+
|
7 |
+
class ComposerStaticInite34df6fd83ea02d3148aabe09a8b139f
|
8 |
+
{
|
9 |
+
public static $prefixLengthsPsr4 = array (
|
10 |
+
'D' =>
|
11 |
+
array (
|
12 |
+
'DiDom\\' => 6,
|
13 |
+
'Dealerdirect\\Composer\\Plugin\\Installers\\PHPCodeSniffer\\' => 55,
|
14 |
+
),
|
15 |
+
);
|
16 |
+
|
17 |
+
public static $prefixDirsPsr4 = array (
|
18 |
+
'DiDom\\' =>
|
19 |
+
array (
|
20 |
+
0 => __DIR__ . '/..' . '/imangazaliev/didom/src/DiDom',
|
21 |
+
),
|
22 |
+
'Dealerdirect\\Composer\\Plugin\\Installers\\PHPCodeSniffer\\' =>
|
23 |
+
array (
|
24 |
+
0 => __DIR__ . '/..' . '/dealerdirect/phpcodesniffer-composer-installer/src',
|
25 |
+
),
|
26 |
+
);
|
27 |
+
|
28 |
+
public static $classMap = array (
|
29 |
+
'Composer\\InstalledVersions' => __DIR__ . '/..' . '/composer/InstalledVersions.php',
|
30 |
+
);
|
31 |
+
|
32 |
+
public static function getInitializer(ClassLoader $loader)
|
33 |
+
{
|
34 |
+
return \Closure::bind(function () use ($loader) {
|
35 |
+
$loader->prefixLengthsPsr4 = ComposerStaticInite34df6fd83ea02d3148aabe09a8b139f::$prefixLengthsPsr4;
|
36 |
+
$loader->prefixDirsPsr4 = ComposerStaticInite34df6fd83ea02d3148aabe09a8b139f::$prefixDirsPsr4;
|
37 |
+
$loader->classMap = ComposerStaticInite34df6fd83ea02d3148aabe09a8b139f::$classMap;
|
38 |
+
|
39 |
+
}, null, ClassLoader::class);
|
40 |
+
}
|
41 |
+
}
|
vendor/composer/installed.json
ADDED
@@ -0,0 +1,440 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
{
|
2 |
+
"packages": [
|
3 |
+
{
|
4 |
+
"name": "dealerdirect/phpcodesniffer-composer-installer",
|
5 |
+
"version": "v0.7.2",
|
6 |
+
"version_normalized": "0.7.2.0",
|
7 |
+
"source": {
|
8 |
+
"type": "git",
|
9 |
+
"url": "https://github.com/Dealerdirect/phpcodesniffer-composer-installer.git",
|
10 |
+
"reference": "1c968e542d8843d7cd71de3c5c9c3ff3ad71a1db"
|
11 |
+
},
|
12 |
+
"dist": {
|
13 |
+
"type": "zip",
|
14 |
+
"url": "https://api.github.com/repos/Dealerdirect/phpcodesniffer-composer-installer/zipball/1c968e542d8843d7cd71de3c5c9c3ff3ad71a1db",
|
15 |
+
"reference": "1c968e542d8843d7cd71de3c5c9c3ff3ad71a1db",
|
16 |
+
"shasum": ""
|
17 |
+
},
|
18 |
+
"require": {
|
19 |
+
"composer-plugin-api": "^1.0 || ^2.0",
|
20 |
+
"php": ">=5.3",
|
21 |
+
"squizlabs/php_codesniffer": "^2.0 || ^3.1.0 || ^4.0"
|
22 |
+
},
|
23 |
+
"require-dev": {
|
24 |
+
"composer/composer": "*",
|
25 |
+
"php-parallel-lint/php-parallel-lint": "^1.3.1",
|
26 |
+
"phpcompatibility/php-compatibility": "^9.0"
|
27 |
+
},
|
28 |
+
"time": "2022-02-04T12:51:07+00:00",
|
29 |
+
"type": "composer-plugin",
|
30 |
+
"extra": {
|
31 |
+
"class": "Dealerdirect\\Composer\\Plugin\\Installers\\PHPCodeSniffer\\Plugin"
|
32 |
+
},
|
33 |
+
"installation-source": "dist",
|
34 |
+
"autoload": {
|
35 |
+
"psr-4": {
|
36 |
+
"Dealerdirect\\Composer\\Plugin\\Installers\\PHPCodeSniffer\\": "src/"
|
37 |
+
}
|
38 |
+
},
|
39 |
+
"notification-url": "https://packagist.org/downloads/",
|
40 |
+
"license": [
|
41 |
+
"MIT"
|
42 |
+
],
|
43 |
+
"authors": [
|
44 |
+
{
|
45 |
+
"name": "Franck Nijhof",
|
46 |
+
"email": "franck.nijhof@dealerdirect.com",
|
47 |
+
"homepage": "http://www.frenck.nl",
|
48 |
+
"role": "Developer / IT Manager"
|
49 |
+
},
|
50 |
+
{
|
51 |
+
"name": "Contributors",
|
52 |
+
"homepage": "https://github.com/Dealerdirect/phpcodesniffer-composer-installer/graphs/contributors"
|
53 |
+
}
|
54 |
+
],
|
55 |
+
"description": "PHP_CodeSniffer Standards Composer Installer Plugin",
|
56 |
+
"homepage": "http://www.dealerdirect.com",
|
57 |
+
"keywords": [
|
58 |
+
"PHPCodeSniffer",
|
59 |
+
"PHP_CodeSniffer",
|
60 |
+
"code quality",
|
61 |
+
"codesniffer",
|
62 |
+
"composer",
|
63 |
+
"installer",
|
64 |
+
"phpcbf",
|
65 |
+
"phpcs",
|
66 |
+
"plugin",
|
67 |
+
"qa",
|
68 |
+
"quality",
|
69 |
+
"standard",
|
70 |
+
"standards",
|
71 |
+
"style guide",
|
72 |
+
"stylecheck",
|
73 |
+
"tests"
|
74 |
+
],
|
75 |
+
"support": {
|
76 |
+
"issues": "https://github.com/dealerdirect/phpcodesniffer-composer-installer/issues",
|
77 |
+
"source": "https://github.com/dealerdirect/phpcodesniffer-composer-installer"
|
78 |
+
},
|
79 |
+
"install-path": "../dealerdirect/phpcodesniffer-composer-installer"
|
80 |
+
},
|
81 |
+
{
|
82 |
+
"name": "imangazaliev/didom",
|
83 |
+
"version": "2.0",
|
84 |
+
"version_normalized": "2.0.0.0",
|
85 |
+
"source": {
|
86 |
+
"type": "git",
|
87 |
+
"url": "https://github.com/Imangazaliev/DiDOM.git",
|
88 |
+
"reference": "87f7089d95aef7fd09dc68826cfa245b90f3040b"
|
89 |
+
},
|
90 |
+
"dist": {
|
91 |
+
"type": "zip",
|
92 |
+
"url": "https://api.github.com/repos/Imangazaliev/DiDOM/zipball/87f7089d95aef7fd09dc68826cfa245b90f3040b",
|
93 |
+
"reference": "87f7089d95aef7fd09dc68826cfa245b90f3040b",
|
94 |
+
"shasum": ""
|
95 |
+
},
|
96 |
+
"require": {
|
97 |
+
"ext-dom": "*",
|
98 |
+
"ext-iconv": "*",
|
99 |
+
"php": ">=7.2"
|
100 |
+
},
|
101 |
+
"require-dev": {
|
102 |
+
"phpunit/phpunit": "^8.5"
|
103 |
+
},
|
104 |
+
"time": "2022-05-08T01:48:13+00:00",
|
105 |
+
"type": "library",
|
106 |
+
"installation-source": "dist",
|
107 |
+
"autoload": {
|
108 |
+
"psr-4": {
|
109 |
+
"DiDom\\": "src/DiDom/"
|
110 |
+
}
|
111 |
+
},
|
112 |
+
"notification-url": "https://packagist.org/downloads/",
|
113 |
+
"license": [
|
114 |
+
"MIT"
|
115 |
+
],
|
116 |
+
"authors": [
|
117 |
+
{
|
118 |
+
"name": "Imangazaliev Muhammad",
|
119 |
+
"email": "imangazalievm@gmail.com"
|
120 |
+
}
|
121 |
+
],
|
122 |
+
"description": "Simple and fast HTML parser",
|
123 |
+
"homepage": "https://github.com/Imangazaliev/DiDOM",
|
124 |
+
"keywords": [
|
125 |
+
"didom",
|
126 |
+
"html",
|
127 |
+
"parser",
|
128 |
+
"xml"
|
129 |
+
],
|
130 |
+
"support": {
|
131 |
+
"issues": "https://github.com/Imangazaliev/DiDOM/issues",
|
132 |
+
"source": "https://github.com/Imangazaliev/DiDOM/tree/2.0"
|
133 |
+
},
|
134 |
+
"install-path": "../imangazaliev/didom"
|
135 |
+
},
|
136 |
+
{
|
137 |
+
"name": "phpcompatibility/php-compatibility",
|
138 |
+
"version": "9.3.5",
|
139 |
+
"version_normalized": "9.3.5.0",
|
140 |
+
"source": {
|
141 |
+
"type": "git",
|
142 |
+
"url": "https://github.com/PHPCompatibility/PHPCompatibility.git",
|
143 |
+
"reference": "9fb324479acf6f39452e0655d2429cc0d3914243"
|
144 |
+
},
|
145 |
+
"dist": {
|
146 |
+
"type": "zip",
|
147 |
+
"url": "https://api.github.com/repos/PHPCompatibility/PHPCompatibility/zipball/9fb324479acf6f39452e0655d2429cc0d3914243",
|
148 |
+
"reference": "9fb324479acf6f39452e0655d2429cc0d3914243",
|
149 |
+
"shasum": ""
|
150 |
+
},
|
151 |
+
"require": {
|
152 |
+
"php": ">=5.3",
|
153 |
+
"squizlabs/php_codesniffer": "^2.3 || ^3.0.2"
|
154 |
+
},
|
155 |
+
"conflict": {
|
156 |
+
"squizlabs/php_codesniffer": "2.6.2"
|
157 |
+
},
|
158 |
+
"require-dev": {
|
159 |
+
"phpunit/phpunit": "~4.5 || ^5.0 || ^6.0 || ^7.0"
|
160 |
+
},
|
161 |
+
"suggest": {
|
162 |
+
"dealerdirect/phpcodesniffer-composer-installer": "^0.5 || This Composer plugin will sort out the PHPCS 'installed_paths' automatically.",
|
163 |
+
"roave/security-advisories": "dev-master || Helps prevent installing dependencies with known security issues."
|
164 |
+
},
|
165 |
+
"time": "2019-12-27T09:44:58+00:00",
|
166 |
+
"type": "phpcodesniffer-standard",
|
167 |
+
"installation-source": "dist",
|
168 |
+
"notification-url": "https://packagist.org/downloads/",
|
169 |
+
"license": [
|
170 |
+
"LGPL-3.0-or-later"
|
171 |
+
],
|
172 |
+
"authors": [
|
173 |
+
{
|
174 |
+
"name": "Wim Godden",
|
175 |
+
"homepage": "https://github.com/wimg",
|
176 |
+
"role": "lead"
|
177 |
+
},
|
178 |
+
{
|
179 |
+
"name": "Juliette Reinders Folmer",
|
180 |
+
"homepage": "https://github.com/jrfnl",
|
181 |
+
"role": "lead"
|
182 |
+
},
|
183 |
+
{
|
184 |
+
"name": "Contributors",
|
185 |
+
"homepage": "https://github.com/PHPCompatibility/PHPCompatibility/graphs/contributors"
|
186 |
+
}
|
187 |
+
],
|
188 |
+
"description": "A set of sniffs for PHP_CodeSniffer that checks for PHP cross-version compatibility.",
|
189 |
+
"homepage": "http://techblog.wimgodden.be/tag/codesniffer/",
|
190 |
+
"keywords": [
|
191 |
+
"compatibility",
|
192 |
+
"phpcs",
|
193 |
+
"standards"
|
194 |
+
],
|
195 |
+
"support": {
|
196 |
+
"issues": "https://github.com/PHPCompatibility/PHPCompatibility/issues",
|
197 |
+
"source": "https://github.com/PHPCompatibility/PHPCompatibility"
|
198 |
+
},
|
199 |
+
"install-path": "../phpcompatibility/php-compatibility"
|
200 |
+
},
|
201 |
+
{
|
202 |
+
"name": "phpcompatibility/phpcompatibility-paragonie",
|
203 |
+
"version": "1.3.1",
|
204 |
+
"version_normalized": "1.3.1.0",
|
205 |
+
"source": {
|
206 |
+
"type": "git",
|
207 |
+
"url": "https://github.com/PHPCompatibility/PHPCompatibilityParagonie.git",
|
208 |
+
"reference": "ddabec839cc003651f2ce695c938686d1086cf43"
|
209 |
+
},
|
210 |
+
"dist": {
|
211 |
+
"type": "zip",
|
212 |
+
"url": "https://api.github.com/repos/PHPCompatibility/PHPCompatibilityParagonie/zipball/ddabec839cc003651f2ce695c938686d1086cf43",
|
213 |
+
"reference": "ddabec839cc003651f2ce695c938686d1086cf43",
|
214 |
+
"shasum": ""
|
215 |
+
},
|
216 |
+
"require": {
|
217 |
+
"phpcompatibility/php-compatibility": "^9.0"
|
218 |
+
},
|
219 |
+
"require-dev": {
|
220 |
+
"dealerdirect/phpcodesniffer-composer-installer": "^0.7",
|
221 |
+
"paragonie/random_compat": "dev-master",
|
222 |
+
"paragonie/sodium_compat": "dev-master"
|
223 |
+
},
|
224 |
+
"suggest": {
|
225 |
+
"dealerdirect/phpcodesniffer-composer-installer": "^0.7 || This Composer plugin will sort out the PHP_CodeSniffer 'installed_paths' automatically.",
|
226 |
+
"roave/security-advisories": "dev-master || Helps prevent installing dependencies with known security issues."
|
227 |
+
},
|
228 |
+
"time": "2021-02-15T10:24:51+00:00",
|
229 |
+
"type": "phpcodesniffer-standard",
|
230 |
+
"installation-source": "dist",
|
231 |
+
"notification-url": "https://packagist.org/downloads/",
|
232 |
+
"license": [
|
233 |
+
"LGPL-3.0-or-later"
|
234 |
+
],
|
235 |
+
"authors": [
|
236 |
+
{
|
237 |
+
"name": "Wim Godden",
|
238 |
+
"role": "lead"
|
239 |
+
},
|
240 |
+
{
|
241 |
+
"name": "Juliette Reinders Folmer",
|
242 |
+
"role": "lead"
|
243 |
+
}
|
244 |
+
],
|
245 |
+
"description": "A set of rulesets for PHP_CodeSniffer to check for PHP cross-version compatibility issues in projects, while accounting for polyfills provided by the Paragonie polyfill libraries.",
|
246 |
+
"homepage": "http://phpcompatibility.com/",
|
247 |
+
"keywords": [
|
248 |
+
"compatibility",
|
249 |
+
"paragonie",
|
250 |
+
"phpcs",
|
251 |
+
"polyfill",
|
252 |
+
"standards"
|
253 |
+
],
|
254 |
+
"support": {
|
255 |
+
"issues": "https://github.com/PHPCompatibility/PHPCompatibilityParagonie/issues",
|
256 |
+
"source": "https://github.com/PHPCompatibility/PHPCompatibilityParagonie"
|
257 |
+
},
|
258 |
+
"install-path": "../phpcompatibility/phpcompatibility-paragonie"
|
259 |
+
},
|
260 |
+
{
|
261 |
+
"name": "phpcompatibility/phpcompatibility-wp",
|
262 |
+
"version": "2.1.3",
|
263 |
+
"version_normalized": "2.1.3.0",
|
264 |
+
"source": {
|
265 |
+
"type": "git",
|
266 |
+
"url": "https://github.com/PHPCompatibility/PHPCompatibilityWP.git",
|
267 |
+
"reference": "d55de55f88697b9cdb94bccf04f14eb3b11cf308"
|
268 |
+
},
|
269 |
+
"dist": {
|
270 |
+
"type": "zip",
|
271 |
+
"url": "https://api.github.com/repos/PHPCompatibility/PHPCompatibilityWP/zipball/d55de55f88697b9cdb94bccf04f14eb3b11cf308",
|
272 |
+
"reference": "d55de55f88697b9cdb94bccf04f14eb3b11cf308",
|
273 |
+
"shasum": ""
|
274 |
+
},
|
275 |
+
"require": {
|
276 |
+
"phpcompatibility/php-compatibility": "^9.0",
|
277 |
+
"phpcompatibility/phpcompatibility-paragonie": "^1.0"
|
278 |
+
},
|
279 |
+
"require-dev": {
|
280 |
+
"dealerdirect/phpcodesniffer-composer-installer": "^0.7"
|
281 |
+
},
|
282 |
+
"suggest": {
|
283 |
+
"dealerdirect/phpcodesniffer-composer-installer": "^0.7 || This Composer plugin will sort out the PHP_CodeSniffer 'installed_paths' automatically.",
|
284 |
+
"roave/security-advisories": "dev-master || Helps prevent installing dependencies with known security issues."
|
285 |
+
},
|
286 |
+
"time": "2021-12-30T16:37:40+00:00",
|
287 |
+
"type": "phpcodesniffer-standard",
|
288 |
+
"installation-source": "dist",
|
289 |
+
"notification-url": "https://packagist.org/downloads/",
|
290 |
+
"license": [
|
291 |
+
"LGPL-3.0-or-later"
|
292 |
+
],
|
293 |
+
"authors": [
|
294 |
+
{
|
295 |
+
"name": "Wim Godden",
|
296 |
+
"role": "lead"
|
297 |
+
},
|
298 |
+
{
|
299 |
+
"name": "Juliette Reinders Folmer",
|
300 |
+
"role": "lead"
|
301 |
+
}
|
302 |
+
],
|
303 |
+
"description": "A ruleset for PHP_CodeSniffer to check for PHP cross-version compatibility issues in projects, while accounting for polyfills provided by WordPress.",
|
304 |
+
"homepage": "http://phpcompatibility.com/",
|
305 |
+
"keywords": [
|
306 |
+
"compatibility",
|
307 |
+
"phpcs",
|
308 |
+
"standards",
|
309 |
+
"wordpress"
|
310 |
+
],
|
311 |
+
"support": {
|
312 |
+
"issues": "https://github.com/PHPCompatibility/PHPCompatibilityWP/issues",
|
313 |
+
"source": "https://github.com/PHPCompatibility/PHPCompatibilityWP"
|
314 |
+
},
|
315 |
+
"install-path": "../phpcompatibility/phpcompatibility-wp"
|
316 |
+
},
|
317 |
+
{
|
318 |
+
"name": "squizlabs/php_codesniffer",
|
319 |
+
"version": "3.6.2",
|
320 |
+
"version_normalized": "3.6.2.0",
|
321 |
+
"source": {
|
322 |
+
"type": "git",
|
323 |
+
"url": "https://github.com/squizlabs/PHP_CodeSniffer.git",
|
324 |
+
"reference": "5e4e71592f69da17871dba6e80dd51bce74a351a"
|
325 |
+
},
|
326 |
+
"dist": {
|
327 |
+
"type": "zip",
|
328 |
+
"url": "https://api.github.com/repos/squizlabs/PHP_CodeSniffer/zipball/5e4e71592f69da17871dba6e80dd51bce74a351a",
|
329 |
+
"reference": "5e4e71592f69da17871dba6e80dd51bce74a351a",
|
330 |
+
"shasum": ""
|
331 |
+
},
|
332 |
+
"require": {
|
333 |
+
"ext-simplexml": "*",
|
334 |
+
"ext-tokenizer": "*",
|
335 |
+
"ext-xmlwriter": "*",
|
336 |
+
"php": ">=5.4.0"
|
337 |
+
},
|
338 |
+
"require-dev": {
|
339 |
+
"phpunit/phpunit": "^4.0 || ^5.0 || ^6.0 || ^7.0"
|
340 |
+
},
|
341 |
+
"time": "2021-12-12T21:44:58+00:00",
|
342 |
+
"bin": [
|
343 |
+
"bin/phpcs",
|
344 |
+
"bin/phpcbf"
|
345 |
+
],
|
346 |
+
"type": "library",
|
347 |
+
"extra": {
|
348 |
+
"branch-alias": {
|
349 |
+
"dev-master": "3.x-dev"
|
350 |
+
}
|
351 |
+
},
|
352 |
+
"installation-source": "dist",
|
353 |
+
"notification-url": "https://packagist.org/downloads/",
|
354 |
+
"license": [
|
355 |
+
"BSD-3-Clause"
|
356 |
+
],
|
357 |
+
"authors": [
|
358 |
+
{
|
359 |
+
"name": "Greg Sherwood",
|
360 |
+
"role": "lead"
|
361 |
+
}
|
362 |
+
],
|
363 |
+
"description": "PHP_CodeSniffer tokenizes PHP, JavaScript and CSS files and detects violations of a defined set of coding standards.",
|
364 |
+
"homepage": "https://github.com/squizlabs/PHP_CodeSniffer",
|
365 |
+
"keywords": [
|
366 |
+
"phpcs",
|
367 |
+
"standards"
|
368 |
+
],
|
369 |
+
"support": {
|
370 |
+
"issues": "https://github.com/squizlabs/PHP_CodeSniffer/issues",
|
371 |
+
"source": "https://github.com/squizlabs/PHP_CodeSniffer",
|
372 |
+
"wiki": "https://github.com/squizlabs/PHP_CodeSniffer/wiki"
|
373 |
+
},
|
374 |
+
"install-path": "../squizlabs/php_codesniffer"
|
375 |
+
},
|
376 |
+
{
|
377 |
+
"name": "wp-coding-standards/wpcs",
|
378 |
+
"version": "2.3.0",
|
379 |
+
"version_normalized": "2.3.0.0",
|
380 |
+
"source": {
|
381 |
+
"type": "git",
|
382 |
+
"url": "https://github.com/WordPress/WordPress-Coding-Standards.git",
|
383 |
+
"reference": "7da1894633f168fe244afc6de00d141f27517b62"
|
384 |
+
},
|
385 |
+
"dist": {
|
386 |
+
"type": "zip",
|
387 |
+
"url": "https://api.github.com/repos/WordPress/WordPress-Coding-Standards/zipball/7da1894633f168fe244afc6de00d141f27517b62",
|
388 |
+
"reference": "7da1894633f168fe244afc6de00d141f27517b62",
|
389 |
+
"shasum": ""
|
390 |
+
},
|
391 |
+
"require": {
|
392 |
+
"php": ">=5.4",
|
393 |
+
"squizlabs/php_codesniffer": "^3.3.1"
|
394 |
+
},
|
395 |
+
"require-dev": {
|
396 |
+
"dealerdirect/phpcodesniffer-composer-installer": "^0.5 || ^0.6",
|
397 |
+
"phpcompatibility/php-compatibility": "^9.0",
|
398 |
+
"phpcsstandards/phpcsdevtools": "^1.0",
|
399 |
+
"phpunit/phpunit": "^4.0 || ^5.0 || ^6.0 || ^7.0"
|
400 |
+
},
|
401 |
+
"suggest": {
|
402 |
+
"dealerdirect/phpcodesniffer-composer-installer": "^0.6 || This Composer plugin will sort out the PHPCS 'installed_paths' automatically."
|
403 |
+
},
|
404 |
+
"time": "2020-05-13T23:57:56+00:00",
|
405 |
+
"type": "phpcodesniffer-standard",
|
406 |
+
"installation-source": "dist",
|
407 |
+
"notification-url": "https://packagist.org/downloads/",
|
408 |
+
"license": [
|
409 |
+
"MIT"
|
410 |
+
],
|
411 |
+
"authors": [
|
412 |
+
{
|
413 |
+
"name": "Contributors",
|
414 |
+
"homepage": "https://github.com/WordPress/WordPress-Coding-Standards/graphs/contributors"
|
415 |
+
}
|
416 |
+
],
|
417 |
+
"description": "PHP_CodeSniffer rules (sniffs) to enforce WordPress coding conventions",
|
418 |
+
"keywords": [
|
419 |
+
"phpcs",
|
420 |
+
"standards",
|
421 |
+
"wordpress"
|
422 |
+
],
|
423 |
+
"support": {
|
424 |
+
"issues": "https://github.com/WordPress/WordPress-Coding-Standards/issues",
|
425 |
+
"source": "https://github.com/WordPress/WordPress-Coding-Standards",
|
426 |
+
"wiki": "https://github.com/WordPress/WordPress-Coding-Standards/wiki"
|
427 |
+
},
|
428 |
+
"install-path": "../wp-coding-standards/wpcs"
|
429 |
+
}
|
430 |
+
],
|
431 |
+
"dev": true,
|
432 |
+
"dev-package-names": [
|
433 |
+
"dealerdirect/phpcodesniffer-composer-installer",
|
434 |
+
"phpcompatibility/php-compatibility",
|
435 |
+
"phpcompatibility/phpcompatibility-paragonie",
|
436 |
+
"phpcompatibility/phpcompatibility-wp",
|
437 |
+
"squizlabs/php_codesniffer",
|
438 |
+
"wp-coding-standards/wpcs"
|
439 |
+
]
|
440 |
+
}
|
vendor/composer/installed.php
ADDED
@@ -0,0 +1,86 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php return array(
|
2 |
+
'root' => array(
|
3 |
+
'name' => 'wpzoom/instagram-widget-by-wpzoom',
|
4 |
+
'pretty_version' => '1.0.0+no-version-set',
|
5 |
+
'version' => '1.0.0.0',
|
6 |
+
'reference' => NULL,
|
7 |
+
'type' => 'wordpress-plugin',
|
8 |
+
'install_path' => __DIR__ . '/../../',
|
9 |
+
'aliases' => array(),
|
10 |
+
'dev' => true,
|
11 |
+
),
|
12 |
+
'versions' => array(
|
13 |
+
'dealerdirect/phpcodesniffer-composer-installer' => array(
|
14 |
+
'pretty_version' => 'v0.7.2',
|
15 |
+
'version' => '0.7.2.0',
|
16 |
+
'reference' => '1c968e542d8843d7cd71de3c5c9c3ff3ad71a1db',
|
17 |
+
'type' => 'composer-plugin',
|
18 |
+
'install_path' => __DIR__ . '/../dealerdirect/phpcodesniffer-composer-installer',
|
19 |
+
'aliases' => array(),
|
20 |
+
'dev_requirement' => true,
|
21 |
+
),
|
22 |
+
'imangazaliev/didom' => array(
|
23 |
+
'pretty_version' => '2.0',
|
24 |
+
'version' => '2.0.0.0',
|
25 |
+
'reference' => '87f7089d95aef7fd09dc68826cfa245b90f3040b',
|
26 |
+
'type' => 'library',
|
27 |
+
'install_path' => __DIR__ . '/../imangazaliev/didom',
|
28 |
+
'aliases' => array(),
|
29 |
+
'dev_requirement' => false,
|
30 |
+
),
|
31 |
+
'phpcompatibility/php-compatibility' => array(
|
32 |
+
'pretty_version' => '9.3.5',
|
33 |
+
'version' => '9.3.5.0',
|
34 |
+
'reference' => '9fb324479acf6f39452e0655d2429cc0d3914243',
|
35 |
+
'type' => 'phpcodesniffer-standard',
|
36 |
+
'install_path' => __DIR__ . '/../phpcompatibility/php-compatibility',
|
37 |
+
'aliases' => array(),
|
38 |
+
'dev_requirement' => true,
|
39 |
+
),
|
40 |
+
'phpcompatibility/phpcompatibility-paragonie' => array(
|
41 |
+
'pretty_version' => '1.3.1',
|
42 |
+
'version' => '1.3.1.0',
|
43 |
+
'reference' => 'ddabec839cc003651f2ce695c938686d1086cf43',
|
44 |
+
'type' => 'phpcodesniffer-standard',
|
45 |
+
'install_path' => __DIR__ . '/../phpcompatibility/phpcompatibility-paragonie',
|
46 |
+
'aliases' => array(),
|
47 |
+
'dev_requirement' => true,
|
48 |
+
),
|
49 |
+
'phpcompatibility/phpcompatibility-wp' => array(
|
50 |
+
'pretty_version' => '2.1.3',
|
51 |
+
'version' => '2.1.3.0',
|
52 |
+
'reference' => 'd55de55f88697b9cdb94bccf04f14eb3b11cf308',
|
53 |
+
'type' => 'phpcodesniffer-standard',
|
54 |
+
'install_path' => __DIR__ . '/../phpcompatibility/phpcompatibility-wp',
|
55 |
+
'aliases' => array(),
|
56 |
+
'dev_requirement' => true,
|
57 |
+
),
|
58 |
+
'squizlabs/php_codesniffer' => array(
|
59 |
+
'pretty_version' => '3.6.2',
|
60 |
+
'version' => '3.6.2.0',
|
61 |
+
'reference' => '5e4e71592f69da17871dba6e80dd51bce74a351a',
|
62 |
+
'type' => 'library',
|
63 |
+
'install_path' => __DIR__ . '/../squizlabs/php_codesniffer',
|
64 |
+
'aliases' => array(),
|
65 |
+
'dev_requirement' => true,
|
66 |
+
),
|
67 |
+
'wp-coding-standards/wpcs' => array(
|
68 |
+
'pretty_version' => '2.3.0',
|
69 |
+
'version' => '2.3.0.0',
|
70 |
+
'reference' => '7da1894633f168fe244afc6de00d141f27517b62',
|
71 |
+
'type' => 'phpcodesniffer-standard',
|
72 |
+
'install_path' => __DIR__ . '/../wp-coding-standards/wpcs',
|
73 |
+
'aliases' => array(),
|
74 |
+
'dev_requirement' => true,
|
75 |
+
),
|
76 |
+
'wpzoom/instagram-widget-by-wpzoom' => array(
|
77 |
+
'pretty_version' => '1.0.0+no-version-set',
|
78 |
+
'version' => '1.0.0.0',
|
79 |
+
'reference' => NULL,
|
80 |
+
'type' => 'wordpress-plugin',
|
81 |
+
'install_path' => __DIR__ . '/../../',
|
82 |
+
'aliases' => array(),
|
83 |
+
'dev_requirement' => false,
|
84 |
+
),
|
85 |
+
),
|
86 |
+
);
|
vendor/composer/platform_check.php
ADDED
@@ -0,0 +1,26 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
// platform_check.php @generated by Composer
|
4 |
+
|
5 |
+
$issues = array();
|
6 |
+
|
7 |
+
if (!(PHP_VERSION_ID >= 70200)) {
|
8 |
+
$issues[] = 'Your Composer dependencies require a PHP version ">= 7.2.0". You are running ' . PHP_VERSION . '.';
|
9 |
+
}
|
10 |
+
|
11 |
+
if ($issues) {
|
12 |
+
if (!headers_sent()) {
|
13 |
+
header('HTTP/1.1 500 Internal Server Error');
|
14 |
+
}
|
15 |
+
if (!ini_get('display_errors')) {
|
16 |
+
if (PHP_SAPI === 'cli' || PHP_SAPI === 'phpdbg') {
|
17 |
+
fwrite(STDERR, 'Composer detected issues in your platform:' . PHP_EOL.PHP_EOL . implode(PHP_EOL, $issues) . PHP_EOL.PHP_EOL);
|
18 |
+
} elseif (!headers_sent()) {
|
19 |
+
echo 'Composer detected issues in your platform:' . PHP_EOL.PHP_EOL . str_replace('You are running '.PHP_VERSION.'.', '', implode(PHP_EOL, $issues)) . PHP_EOL.PHP_EOL;
|
20 |
+
}
|
21 |
+
}
|
22 |
+
trigger_error(
|
23 |
+
'Composer detected issues in your platform: ' . implode(' ', $issues),
|
24 |
+
E_USER_ERROR
|
25 |
+
);
|
26 |
+
}
|
vendor/imangazaliev/didom/CHANGELOG.md
ADDED
@@ -0,0 +1,262 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
## 2.0
|
2 |
+
|
3 |
+
### Breaking changes
|
4 |
+
|
5 |
+
- Minimum PHP version bumped to 7.2
|
6 |
+
- Remove `__invoke` method from `Document`, `Element` and `DocumentFragment` that was deprecated early
|
7 |
+
- Remove magic property `Element::$tag`. Use `tagName()` method instead
|
8 |
+
|
9 |
+
### What's new
|
10 |
+
|
11 |
+
- Add `DocumentFragment::createFromString()` method
|
12 |
+
- Add `Node::setInnerXml()` method (i. e. for `Element` and `DocumentFragment` too)
|
13 |
+
|
14 |
+
## 1.18
|
15 |
+
|
16 |
+
- Fix a bug when a call of Element::previousSibling() with selector returns a previous sibling when there is not matching element
|
17 |
+
|
18 |
+
## 1.17
|
19 |
+
|
20 |
+
- Add support of multiple pseudoclasses (#125)
|
21 |
+
|
22 |
+
## 1.16.4
|
23 |
+
|
24 |
+
- Handle nested pseudo-classes with expression correctly
|
25 |
+
|
26 |
+
## 1.16.3
|
27 |
+
|
28 |
+
- Fix parsing of a style property in "style" attribute when the value contains a colon
|
29 |
+
|
30 |
+
## 1.16.1
|
31 |
+
|
32 |
+
- Fix deprecation notice in PHP 8 for `libxml_disable_entity_loader`
|
33 |
+
|
34 |
+
## 1.16
|
35 |
+
|
36 |
+
- Add `Node::insertSiblingBefore()` and `Node::insertSiblingAfter()` methods for inserting sibling nodes
|
37 |
+
|
38 |
+
## 1.15
|
39 |
+
|
40 |
+
- Add support of document fragments
|
41 |
+
|
42 |
+
## 1.14.1
|
43 |
+
|
44 |
+
- Fix an exception when selecting comment element with XPath
|
45 |
+
- Add support of `DOMCdataSection` nodes
|
46 |
+
- Add methods `createTextNode()`, `createComment()`, `createCdataSection()` to the Document class
|
47 |
+
|
48 |
+
## 1.14
|
49 |
+
|
50 |
+
- Add `Element::innerXml()` method
|
51 |
+
|
52 |
+
## 1.13
|
53 |
+
|
54 |
+
- Add `Element::outerHtml()` method
|
55 |
+
- Add `Element::prependChild()` method
|
56 |
+
- Add `Element::insertBefore()` and `Element::insertAfter()` methods
|
57 |
+
- Add `Element::style()` method for more convenient inline styles manipulation
|
58 |
+
- Add `Element::classes()` method for more convenient class manipulation
|
59 |
+
|
60 |
+
## 1.12
|
61 |
+
|
62 |
+
- Many fixes and improvements
|
63 |
+
|
64 |
+
## 1.11.1
|
65 |
+
|
66 |
+
- Fix bug with unregistered PHP functions in XPath in `Document::has()` and `Document::count()` methods
|
67 |
+
|
68 |
+
## 1.11
|
69 |
+
|
70 |
+
- Add `Element::isElementNode()` method
|
71 |
+
- Add ability to retrieve only specific attributes in `Element::attributes()` method
|
72 |
+
- Add `Element::removeAllAttributes()` method
|
73 |
+
- Add ability to specify selector and node type in `Element::previousSibling()` and `Element::nextSibling()` methods
|
74 |
+
- Add `Element::previousSiblings()` and `Element::nextSiblings()` methods
|
75 |
+
- Many minor fixes and improvements
|
76 |
+
|
77 |
+
## 1.10.6
|
78 |
+
|
79 |
+
- Fix bug with XML document loading
|
80 |
+
|
81 |
+
## 1.10.5
|
82 |
+
|
83 |
+
- Fix issue #85
|
84 |
+
|
85 |
+
## 1.10.4
|
86 |
+
|
87 |
+
- Use `mb_convert_encoding()` in the Encoder if it is available
|
88 |
+
|
89 |
+
## 1.10.3
|
90 |
+
|
91 |
+
- Add `Element::removeChild()` and `Element::removeChildren()` methods
|
92 |
+
- Fix bug in `Element::matches()` method
|
93 |
+
- `Element::matches()` method now returns false if node is not `DOMElement`
|
94 |
+
- Add `Element::hasChildren()` method
|
95 |
+
|
96 |
+
## 1.10.2
|
97 |
+
|
98 |
+
- Fix bug in setInnerHtml: can't rewrite existing content
|
99 |
+
- Throw `InvalidSelectorException` instead of `InvalidArgumentException` when selector is empty
|
100 |
+
|
101 |
+
## 1.10.1
|
102 |
+
|
103 |
+
- Fix attributes `ends-with` XPath
|
104 |
+
- Method `Element::matches()` now can check children nodes
|
105 |
+
|
106 |
+
## 1.10
|
107 |
+
|
108 |
+
- Fix HTML saving mechanism
|
109 |
+
- Throw `InvalidSelectorException` instead of `RuntimeException` in Query class
|
110 |
+
|
111 |
+
## 1.9.1
|
112 |
+
|
113 |
+
- Add ability to search in owner document using current node as context
|
114 |
+
- Bugs fixed
|
115 |
+
|
116 |
+
## 1.9.0
|
117 |
+
|
118 |
+
- Methods `Document::appendChild()` and `Element::appendChild()` now return appended node(s)
|
119 |
+
- Add ability to search elements in context
|
120 |
+
|
121 |
+
## 1.8.8
|
122 |
+
|
123 |
+
- Bugs fixed
|
124 |
+
|
125 |
+
## 1.8.7
|
126 |
+
|
127 |
+
- Add `Element::getLineNo()` method
|
128 |
+
|
129 |
+
## 1.8.6
|
130 |
+
|
131 |
+
- Fix issue #55
|
132 |
+
|
133 |
+
## 1.8.5
|
134 |
+
|
135 |
+
- Add support of `DOMComment`
|
136 |
+
|
137 |
+
## 1.8.4
|
138 |
+
|
139 |
+
- Add ability to create an element by selector
|
140 |
+
- Add closest method
|
141 |
+
|
142 |
+
## 1.8.3
|
143 |
+
|
144 |
+
- Add method `Element::isTextNode()`
|
145 |
+
- Many minor fixes
|
146 |
+
|
147 |
+
## 1.8.2
|
148 |
+
|
149 |
+
- Add ability to check that element matches selector
|
150 |
+
- Add ability counting nodes by selector
|
151 |
+
- Many minor fixes
|
152 |
+
|
153 |
+
## 1.8.1
|
154 |
+
|
155 |
+
- Small fix
|
156 |
+
|
157 |
+
## 1.8
|
158 |
+
|
159 |
+
- Bug fixes
|
160 |
+
- Add support of ~ selector
|
161 |
+
- Add ability to direct search by CSS selector
|
162 |
+
- Add setInnerHtml method
|
163 |
+
- Add attributes method
|
164 |
+
|
165 |
+
## 1.7.4
|
166 |
+
|
167 |
+
- Add support of text nodes
|
168 |
+
|
169 |
+
## 1.7.3
|
170 |
+
|
171 |
+
- Bug fix
|
172 |
+
|
173 |
+
## 1.7.2
|
174 |
+
|
175 |
+
- Fixed behavior of nth-child pseudo class
|
176 |
+
- Add nth-of-type pseudo class
|
177 |
+
|
178 |
+
## 1.7.1
|
179 |
+
|
180 |
+
- Add pseudo class has and more attribute options
|
181 |
+
|
182 |
+
## 1.7.0
|
183 |
+
|
184 |
+
- Bug fixes
|
185 |
+
- Add methods `previousSibling`, `nextSibling`, `child`, `firstChild`, `lastChild`, `children`, `getDocument` to the Element
|
186 |
+
- Changed behavior of parent method. Now it returns parent node instead of owner document
|
187 |
+
|
188 |
+
## 1.6.8
|
189 |
+
|
190 |
+
- Bug fix
|
191 |
+
|
192 |
+
## 1.6.5
|
193 |
+
|
194 |
+
- Added ability to get an element attribute by CSS selector
|
195 |
+
|
196 |
+
## 1.6.4
|
197 |
+
|
198 |
+
- Added handling of `DOMText` and `DOMAttr` in `Document::find()`
|
199 |
+
|
200 |
+
## 1.6.3
|
201 |
+
|
202 |
+
- Added ability to get inner HTML
|
203 |
+
|
204 |
+
## 1.6.2
|
205 |
+
|
206 |
+
- Added the ability to pass options when load HTML or XML
|
207 |
+
|
208 |
+
## 1.6.1
|
209 |
+
|
210 |
+
- Added the ability to pass an array of nodes to appendChild
|
211 |
+
- Added the ability to pass options when converting to HTML or XML
|
212 |
+
- Added the ability to add child elements to the element
|
213 |
+
|
214 |
+
## 1.6
|
215 |
+
|
216 |
+
- Added support for XML
|
217 |
+
- Added the ability to search element by part of attribute name or value
|
218 |
+
- Added support for pseudo-class "contains"
|
219 |
+
- Added the ability to clone a node
|
220 |
+
|
221 |
+
## 1.5.1
|
222 |
+
|
223 |
+
- Added ability to remove and replace nodes
|
224 |
+
- Added ability to specify encoding when converting the element into the document
|
225 |
+
|
226 |
+
## 1.5
|
227 |
+
|
228 |
+
- Fixed problem with incorrect encoding
|
229 |
+
- Added ability to set the value of the element
|
230 |
+
- Added ability to specify encoding when creating document
|
231 |
+
|
232 |
+
## 1.4
|
233 |
+
|
234 |
+
- Added the ability to specify the return type element (`DiDom\Element` or `DOMElement`)
|
235 |
+
|
236 |
+
## 1.3.2
|
237 |
+
|
238 |
+
- Bug fixed
|
239 |
+
|
240 |
+
## 1.3.1
|
241 |
+
|
242 |
+
- Bugs fixed
|
243 |
+
- Added the ability to pass element attributes in the constructor
|
244 |
+
|
245 |
+
## 1.3
|
246 |
+
|
247 |
+
- Bugs fixed
|
248 |
+
|
249 |
+
## 1.2
|
250 |
+
|
251 |
+
- Bugs fixed
|
252 |
+
- Added the ability to compare Element\Document
|
253 |
+
- Added the ability to format HTML code of the document when outputting
|
254 |
+
|
255 |
+
## 1.1
|
256 |
+
|
257 |
+
- Added cache control
|
258 |
+
- Converter from CSS to XPath replaced by faster
|
259 |
+
|
260 |
+
## 1.0
|
261 |
+
|
262 |
+
- First release
|
vendor/imangazaliev/didom/LICENSE
ADDED
@@ -0,0 +1,19 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
Copyright (c) 2015 Muhammad Imangazaliev
|
2 |
+
|
3 |
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
4 |
+
of this software and associated documentation files (the "Software"), to deal
|
5 |
+
in the Software without restriction, including without limitation the rights
|
6 |
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
7 |
+
copies of the Software, and to permit persons to whom the Software is furnished
|
8 |
+
to do so, subject to the following conditions:
|
9 |
+
|
10 |
+
The above copyright notice and this permission notice shall be included in all
|
11 |
+
copies or substantial portions of the Software.
|
12 |
+
|
13 |
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
14 |
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
15 |
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
16 |
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
17 |
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
18 |
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
19 |
+
THE SOFTWARE.
|
vendor/imangazaliev/didom/README-RU.md
ADDED
@@ -0,0 +1,844 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# DiDOM
|
2 |
+
|
3 |
+
[![Build Status](https://travis-ci.org/Imangazaliev/DiDOM.svg?branch=master)](https://travis-ci.org/Imangazaliev/DiDOM)
|
4 |
+
[![Total Downloads](https://poser.pugx.org/imangazaliev/didom/downloads)](https://packagist.org/packages/imangazaliev/didom)
|
5 |
+
[![Latest Stable Version](https://poser.pugx.org/imangazaliev/didom/v/stable)](https://packagist.org/packages/imangazaliev/didom)
|
6 |
+
[![License](https://poser.pugx.org/imangazaliev/didom/license)](https://packagist.org/packages/imangazaliev/didom)
|
7 |
+
|
8 |
+
DiDOM - простая и быстрая библиотека для парсинга HTML.
|
9 |
+
|
10 |
+
- [English version](README.md)
|
11 |
+
- [Документация для версии 1.x](https://github.com/Imangazaliev/DiDOM/blob/98d411741d598b0b74bb38e215d99c1cdb0d532d/README-RU.md). Чтобы обновится с версии 1.x, пожалуйста просмотрите [историю изменений](CHANGELOG.md).
|
12 |
+
|
13 |
+
## Содержание
|
14 |
+
|
15 |
+
- [Установка](#Установка)
|
16 |
+
- [Быстрый старт](#Быстрый-старт)
|
17 |
+
- [Создание нового документа](#Создание-нового-документа)
|
18 |
+
- [Поиск элементов](#Поиск-элементов)
|
19 |
+
- [Проверка наличия элемента](#Проверка-наличия-элемента)
|
20 |
+
- [Подсчет количества элементов](#Подсчет-количества-элементов)
|
21 |
+
- [Поиск в элементе](#Поиск-в-элементе)
|
22 |
+
- [Поддерживамые селекторы](#Поддерживамые-селекторы)
|
23 |
+
- [Изменение содержимого](#Изменение-содержимого)
|
24 |
+
- [Вывод содержимого](#Вывод-содержимого)
|
25 |
+
- [Работа с элементами](#Работа-с-элементами)
|
26 |
+
- [Создание нового элемента](#Создание-нового-элемента)
|
27 |
+
- [Получение названия элемента](#Получение-названия-элемента)
|
28 |
+
- [Получение родительского элемента](#Получение-родительского-элемента)
|
29 |
+
- [Получение соседних элементов](#Получение-соседних-элементов)
|
30 |
+
- [Получение дочерних элементов](#Получение-соседних-элементов)
|
31 |
+
- [Получение документа](#Получение-документа)
|
32 |
+
- [Работа с атрибутами элемента](#Работа-с-атрибутами-элемента)
|
33 |
+
- [Сравнение элементов](#Сравнение-элементов)
|
34 |
+
- [Добавление дочерних элементов](#Добавление-дочерних-элементов)
|
35 |
+
- [Замена элемента](#Замена-элемента)
|
36 |
+
- [Удаление элемента](#Удаление-элемента)
|
37 |
+
- [Работа с кэшем](#Работа-с-кэшем)
|
38 |
+
- [Прочее](#Прочее)
|
39 |
+
- [Сравнение с другими парсерами](#Сравнение-с-другими-парсерами)
|
40 |
+
|
41 |
+
## Установка
|
42 |
+
|
43 |
+
Для установки DiDOM выполните команду:
|
44 |
+
|
45 |
+
composer require imangazaliev/didom
|
46 |
+
|
47 |
+
## Быстрый старт
|
48 |
+
|
49 |
+
```php
|
50 |
+
use DiDom\Document;
|
51 |
+
|
52 |
+
$document = new Document('http://www.news.com/', true);
|
53 |
+
|
54 |
+
$posts = $document->find('.post');
|
55 |
+
|
56 |
+
foreach($posts as $post) {
|
57 |
+
echo $post->text(), "\n";
|
58 |
+
}
|
59 |
+
```
|
60 |
+
|
61 |
+
## Создание нового документа
|
62 |
+
|
63 |
+
DiDom позволяет загрузить HTML несколькими способами:
|
64 |
+
|
65 |
+
##### Через конструктор
|
66 |
+
|
67 |
+
```php
|
68 |
+
// в первом параметре передается строка с HTML
|
69 |
+
$document = new Document($html);
|
70 |
+
|
71 |
+
// путь к файлу
|
72 |
+
$document = new Document('page.html', true);
|
73 |
+
|
74 |
+
// или URL
|
75 |
+
$document = new Document('http://www.example.com/', true);
|
76 |
+
|
77 |
+
// также можно создать документ из DOMDocument
|
78 |
+
$domDocument = new DOMDocument();
|
79 |
+
$document = new Document($domDocument);
|
80 |
+
```
|
81 |
+
|
82 |
+
Сигнатура:
|
83 |
+
|
84 |
+
```php
|
85 |
+
__construct($string = null, $isFile = false, $encoding = 'UTF-8', $type = Document::TYPE_HTML)
|
86 |
+
```
|
87 |
+
|
88 |
+
`$isFile` - указывает, что загружается файл. По умолчанию - `false`.
|
89 |
+
|
90 |
+
`$encoding` - кодировка документа. По умолчанию - UTF-8.
|
91 |
+
|
92 |
+
`$type` - тип документа (HTML - `Document::TYPE_HTML`, XML - `Document::TYPE_XML`). По умолчанию - `Document::TYPE_HTML`.
|
93 |
+
|
94 |
+
##### Через отдельные методы
|
95 |
+
|
96 |
+
```php
|
97 |
+
$document = new Document();
|
98 |
+
|
99 |
+
$document->loadHtml($html);
|
100 |
+
|
101 |
+
$document->loadHtmlFile('page.html');
|
102 |
+
|
103 |
+
$document->loadHtmlFile('http://www.example.com/');
|
104 |
+
```
|
105 |
+
|
106 |
+
Для загрузки XML есть соответствующие методы `loadXml` и `loadXmlFile`.
|
107 |
+
|
108 |
+
При загрузке документа через эти методы, парсеру можно передать дополнительные [опции](http://php.net/manual/ru/libxml.constants.php):
|
109 |
+
|
110 |
+
```php
|
111 |
+
$document->loadHtml($html, LIBXML_HTML_NOIMPLIED | LIBXML_HTML_NODEFDTD);
|
112 |
+
$document->loadHtmlFile($url, LIBXML_HTML_NOIMPLIED | LIBXML_HTML_NODEFDTD);
|
113 |
+
|
114 |
+
$document->loadXml($xml, LIBXML_PARSEHUGE);
|
115 |
+
$document->loadXmlFile($url, LIBXML_PARSEHUGE);
|
116 |
+
```
|
117 |
+
|
118 |
+
## Поиск элементов
|
119 |
+
|
120 |
+
В качестве выражения для поиска можно передать CSS-селектор или XPath. Для этого в первом параметре нужно передать само выражение, а во втором - его тип (по умолчанию - `Query::TYPE_CSS`):
|
121 |
+
|
122 |
+
##### Через метод `find()`:
|
123 |
+
|
124 |
+
```php
|
125 |
+
use DiDom\Document;
|
126 |
+
use DiDom\Query;
|
127 |
+
|
128 |
+
...
|
129 |
+
|
130 |
+
// CSS-селектор
|
131 |
+
$posts = $document->find('.post');
|
132 |
+
|
133 |
+
// эквивалентно
|
134 |
+
$posts = $document->find('.post', Query::TYPE_CSS);
|
135 |
+
|
136 |
+
// XPath-выражение
|
137 |
+
$posts = $document->find("//div[contains(@class, 'post')]", Query::TYPE_XPATH);
|
138 |
+
```
|
139 |
+
|
140 |
+
Метод вернет массив с элементами (экземпляры класса `DiDom\Element`) или пустой массив, если не найден ни один элемент, соответствующий выражению.
|
141 |
+
|
142 |
+
При желании можно получить массив узлов без преобразования в Element или текст (`DOMElement`/`DOMText`/`DOMComment`/`DOMAttr`, в зависимости от выражения), для этого необходимо передать в качестве третьего параметра `false`.
|
143 |
+
|
144 |
+
##### Через метод `first()`:
|
145 |
+
|
146 |
+
Возвращает первый найденный элемент или `null`, если не найдено ни одного элемента.
|
147 |
+
|
148 |
+
Принимает те же параметры, что и метод `find()`.
|
149 |
+
|
150 |
+
##### Через магический метод `__invoke()`:
|
151 |
+
|
152 |
+
```php
|
153 |
+
$posts = $document('.post');
|
154 |
+
```
|
155 |
+
|
156 |
+
Принимает те же параметры, что и метод `find()`.
|
157 |
+
|
158 |
+
**Внимание:** использование данного метода нежелательно, т.к. в будущем он может быть удален.
|
159 |
+
|
160 |
+
##### Через метод `xpath()`:
|
161 |
+
|
162 |
+
```php
|
163 |
+
$posts = $document->xpath("//*[contains(concat(' ', normalize-space(@class), ' '), ' post ')]");
|
164 |
+
```
|
165 |
+
|
166 |
+
## Проверка наличия элемента
|
167 |
+
|
168 |
+
Проверить наличие элемента можно с помощью метода `has()`:
|
169 |
+
|
170 |
+
```php
|
171 |
+
if ($document->has('.post')) {
|
172 |
+
// код
|
173 |
+
}
|
174 |
+
```
|
175 |
+
|
176 |
+
Если нужно проверить наличие элемента, а затем получить его, то можно сделать так:
|
177 |
+
|
178 |
+
```php
|
179 |
+
if ($document->has('.post')) {
|
180 |
+
$elements = $document->find('.post');
|
181 |
+
|
182 |
+
// код
|
183 |
+
}
|
184 |
+
```
|
185 |
+
|
186 |
+
но быстрее так:
|
187 |
+
|
188 |
+
```php
|
189 |
+
$elements = $document->find('.post');
|
190 |
+
|
191 |
+
if (count($elements) > 0) {
|
192 |
+
// код
|
193 |
+
}
|
194 |
+
```
|
195 |
+
|
196 |
+
т.к. в первом случае выполняется два запроса.
|
197 |
+
|
198 |
+
## Подсчет количества элементов
|
199 |
+
|
200 |
+
Метод `count()` позволяет подсчитать количество дочерних элементов, соотвествующих селектору:
|
201 |
+
|
202 |
+
```php
|
203 |
+
// выведет количество ссылок в документе
|
204 |
+
echo $document->count('a');
|
205 |
+
```
|
206 |
+
|
207 |
+
```php
|
208 |
+
// выведет количество пунктов в списке
|
209 |
+
echo $document->first('ul')->count('> li');
|
210 |
+
```
|
211 |
+
|
212 |
+
## Поиск в элементе
|
213 |
+
|
214 |
+
Методы `find()`, `first()`, `xpath()`, `has()`, `count()` доступны также и для элемента.
|
215 |
+
|
216 |
+
Пример:
|
217 |
+
|
218 |
+
```php
|
219 |
+
echo $document->find('nav')[0]->first('ul.menu')->xpath('//li')[0]->text();
|
220 |
+
```
|
221 |
+
|
222 |
+
#### Метод `findInDocument()`
|
223 |
+
|
224 |
+
При изменении, замене или удалении элемента, найденного в другом элементе, документ не будет изменен. Данное поведение связано с тем, что в методе `find()` класса `Element` (а, соответственно, и в методах `first()` и `xpath`) создается новый документ, в котором и производится поиск.
|
225 |
+
|
226 |
+
Для поиска элементов в исходном документе необходимо использовать методы `findInDocument()` и `firstInDocument()`:
|
227 |
+
|
228 |
+
```php
|
229 |
+
// ничего не выйдет
|
230 |
+
$document->first('head')->first('title')->remove();
|
231 |
+
|
232 |
+
// а вот так да
|
233 |
+
$document->first('head')->firstInDocument('title')->remove();
|
234 |
+
```
|
235 |
+
|
236 |
+
**Внимание:** методы `findInDocument()` и `firstInDocument()` работают только для элементов, которые принадлежат какому-либо документу, либо созданых через `new Element(...)`. Если элемент не принадлежит к какому-либо документу, будет выброшено исключение `LogicException`;
|
237 |
+
|
238 |
+
## Поддерживамые селекторы
|
239 |
+
|
240 |
+
DiDom поддерживает поиск по:
|
241 |
+
|
242 |
+
- тэгу
|
243 |
+
- классу, идентификатору, имени и значению атрибута
|
244 |
+
- псевдоклассам:
|
245 |
+
- first-, last-, nth-child
|
246 |
+
- empty и not-empty
|
247 |
+
- contains
|
248 |
+
- has
|
249 |
+
|
250 |
+
```php
|
251 |
+
// все ссылки
|
252 |
+
$document->find('a');
|
253 |
+
|
254 |
+
// любой элемент с id = "foo" и классом "bar"
|
255 |
+
$document->find('#foo.bar');
|
256 |
+
|
257 |
+
// любой элемент, у которого есть атрибут "name"
|
258 |
+
$document->find('[name]');
|
259 |
+
|
260 |
+
// эквивалентно
|
261 |
+
$document->find('*[name]');
|
262 |
+
|
263 |
+
// поле ввода с именем "foo"
|
264 |
+
$document->find('input[name=foo]');
|
265 |
+
$document->find('input[name=\'foo\']');
|
266 |
+
$document->find('input[name="foo"]');
|
267 |
+
|
268 |
+
// поле ввода с именем "foo" и значением "bar"
|
269 |
+
$document->find('input[name="foo"][value="bar"]');
|
270 |
+
|
271 |
+
// поле ввода, название которого НЕ равно "foo"
|
272 |
+
$document->find('input[name!="foo"]');
|
273 |
+
|
274 |
+
// любой элемент, у которого есть атрибут,
|
275 |
+
// начинающийся с "data-" и равный "foo"
|
276 |
+
$document->find('*[^data-=foo]');
|
277 |
+
|
278 |
+
// все ссылки, у которых адрес начинается с https
|
279 |
+
$document->find('a[href^=https]');
|
280 |
+
|
281 |
+
// все изображения с расширением png
|
282 |
+
$document->find('img[src$=png]');
|
283 |
+
|
284 |
+
// все ссылки, содержащие в своем адресе строку "example.com"
|
285 |
+
$document->find('a[href*=example.com]');
|
286 |
+
|
287 |
+
// все ссылки, содержащие в атрибуте data-foo значение bar отделенное пробелом
|
288 |
+
$document->find('a[data-foo~=bar]');
|
289 |
+
|
290 |
+
// текст всех ссылок с классом "foo" (массив строк)
|
291 |
+
$document->find('a.foo::text');
|
292 |
+
|
293 |
+
// эквивалентно
|
294 |
+
$document->find('a.foo::text()');
|
295 |
+
|
296 |
+
// адрес и текст подсказки всех полей с классом "bar"
|
297 |
+
$document->find('a.bar::attr(href|title)');
|
298 |
+
|
299 |
+
// все ссылки, которые являются прямыми потомками текущего элемента
|
300 |
+
$element->find('> a');
|
301 |
+
```
|
302 |
+
|
303 |
+
## Изменение содержимого
|
304 |
+
|
305 |
+
### Изменение HTML
|
306 |
+
|
307 |
+
```php
|
308 |
+
$element->setInnerHtml('<a href="#">Foo</a>');
|
309 |
+
```
|
310 |
+
|
311 |
+
### Изменение XML
|
312 |
+
|
313 |
+
```php
|
314 |
+
$element->setInnerXml(' Foo <span>Bar</span><!-- Baz --><![CDATA[
|
315 |
+
<root>Hello world!</root>
|
316 |
+
]]>');
|
317 |
+
```
|
318 |
+
|
319 |
+
### Изменение значения (как простой текст)
|
320 |
+
|
321 |
+
```php
|
322 |
+
$element->setValue('Foo');
|
323 |
+
// будет закодирован в HTML-сущность как при вызове htmlentities()
|
324 |
+
$element->setValue('<a href="#">Foo</a>');
|
325 |
+
```
|
326 |
+
|
327 |
+
## Вывод содержимого
|
328 |
+
|
329 |
+
### Получение HTML
|
330 |
+
|
331 |
+
##### Через метод `html()`:
|
332 |
+
|
333 |
+
```php
|
334 |
+
// HTML-код документа
|
335 |
+
echo $document->html();
|
336 |
+
|
337 |
+
// HTML-код элемента
|
338 |
+
echo $document->first('.post')->html();
|
339 |
+
```
|
340 |
+
|
341 |
+
##### Приведение к строке:
|
342 |
+
|
343 |
+
```php
|
344 |
+
// HTML-код документа
|
345 |
+
$html = (string) $document;
|
346 |
+
|
347 |
+
// HTML-код элемента
|
348 |
+
$html = (string) $document->first('.post');
|
349 |
+
```
|
350 |
+
|
351 |
+
**Внимание:** использование данного способа нежелательно, т.к. в будущем он может быть удален.
|
352 |
+
|
353 |
+
##### Форматирование HTML при выводе
|
354 |
+
|
355 |
+
```php
|
356 |
+
echo $document->format()->html();
|
357 |
+
```
|
358 |
+
|
359 |
+
Метод `format()` отсутствует у элемента, поэтому, если нужно получить отформатированный HTML-код элемента, необходимо сначала преобразовать его в документ:
|
360 |
+
|
361 |
+
```php
|
362 |
+
$html = $element->toDocument()->format()->html();
|
363 |
+
```
|
364 |
+
|
365 |
+
#### Внутренний HTML
|
366 |
+
|
367 |
+
```php
|
368 |
+
$innerHtml = $element->innerHtml();
|
369 |
+
```
|
370 |
+
|
371 |
+
Метод `innerHtml()` отсутствует у документа, поэтому, если нужно получить внутренний HTML-код документа, необходимо сначала преобразовать его в элемент:
|
372 |
+
|
373 |
+
```php
|
374 |
+
$innerHtml = $document->toElement()->innerHtml();
|
375 |
+
```
|
376 |
+
|
377 |
+
### Получение XML
|
378 |
+
|
379 |
+
```php
|
380 |
+
// XML-код документа
|
381 |
+
echo $document->xml();
|
382 |
+
|
383 |
+
// XML-код элемента
|
384 |
+
echo $document->first('book')->xml();
|
385 |
+
```
|
386 |
+
|
387 |
+
### Получение содержимого
|
388 |
+
|
389 |
+
Возвращает текстовое содержимое узла и его потомков:
|
390 |
+
|
391 |
+
```php
|
392 |
+
echo $element->text();
|
393 |
+
```
|
394 |
+
|
395 |
+
## Создание нового элемента
|
396 |
+
|
397 |
+
### Создание экземпляра класса
|
398 |
+
|
399 |
+
```php
|
400 |
+
use DiDom\Element;
|
401 |
+
|
402 |
+
$element = new Element('span', 'Hello');
|
403 |
+
|
404 |
+
// выведет "<span>Hello</span>"
|
405 |
+
echo $element->html();
|
406 |
+
```
|
407 |
+
|
408 |
+
Первым параметром передается название элемента, вторым - его значение (необязательно), третьим - атрибуты элемента (необязательно).
|
409 |
+
|
410 |
+
Пример создания элемента с атрибутами:
|
411 |
+
|
412 |
+
```php
|
413 |
+
$attributes = ['name' => 'description', 'placeholder' => 'Enter description of item'];
|
414 |
+
|
415 |
+
$element = new Element('textarea', 'Text', $attributes);
|
416 |
+
```
|
417 |
+
|
418 |
+
Элемент можно создать и из экземпляра класса `DOMElement`:
|
419 |
+
|
420 |
+
```php
|
421 |
+
use DiDom\Element;
|
422 |
+
use DOMElement;
|
423 |
+
|
424 |
+
$domElement = new DOMElement('span', 'Hello');
|
425 |
+
$element = new Element($domElement);
|
426 |
+
```
|
427 |
+
|
428 |
+
#### Изменение элемента, созданного из `DOMElement`
|
429 |
+
|
430 |
+
Экземпляры класса `DOMElement`, созданные через конструктор (`new DOMElement(...)`), являются неизменяемыми, поэтому и элементы (экземпляры класса `DiDom\Element`), созданные из таких объектов, так же являются неизменяемыми.
|
431 |
+
|
432 |
+
Пример:
|
433 |
+
|
434 |
+
```php
|
435 |
+
$element = new Element('span', 'Hello');
|
436 |
+
|
437 |
+
// добавит атрибут "id" со значением "greeting"
|
438 |
+
$element->attr('id', 'greeting');
|
439 |
+
|
440 |
+
$domElement = new DOMElement('span', 'Hello');
|
441 |
+
$element = new Element($domElement);
|
442 |
+
|
443 |
+
// будет выброшено исключение
|
444 |
+
// DOMException with message 'No Modification Allowed Error'
|
445 |
+
$element->attr('id', 'greeting');
|
446 |
+
```
|
447 |
+
|
448 |
+
### С помощью метода `Document::createElement()`
|
449 |
+
|
450 |
+
```php
|
451 |
+
$document = new Document($html);
|
452 |
+
|
453 |
+
$element = $document->createElement('span', 'Hello');
|
454 |
+
```
|
455 |
+
|
456 |
+
### С помощью CSS-селектора
|
457 |
+
|
458 |
+
Первый параметр - селектор, второй - значение, третий - массив с атрибутами.
|
459 |
+
|
460 |
+
Атрибуты элемента могут быть указаны как в селекторе, так и переданы отдельно в третьем параметре.
|
461 |
+
|
462 |
+
Если название атрибута в массиве совпадает с названием атрибута из селектора, будет использовано значение, указанное в селекторе.
|
463 |
+
|
464 |
+
```php
|
465 |
+
$document = new Document($html);
|
466 |
+
|
467 |
+
$element = $document->createElementBySelector('div.block', 'Foo', [
|
468 |
+
'id' => '#content',
|
469 |
+
'class' => '.container',
|
470 |
+
]);
|
471 |
+
```
|
472 |
+
|
473 |
+
Можно так же использовать статический метод `createBySelector` класса `Element`:
|
474 |
+
|
475 |
+
```php
|
476 |
+
$element = Element::createBySelector('div.block', 'Foo', [
|
477 |
+
'id' => '#content',
|
478 |
+
'class' => '.container',
|
479 |
+
]);
|
480 |
+
```
|
481 |
+
|
482 |
+
## Получение названия элемента
|
483 |
+
|
484 |
+
```php
|
485 |
+
$element->tagName();
|
486 |
+
```
|
487 |
+
|
488 |
+
## Получение родительского элемента
|
489 |
+
|
490 |
+
```php
|
491 |
+
$element->parent();
|
492 |
+
```
|
493 |
+
|
494 |
+
Так же можно получить родительский элемент, соответствующий селектору:
|
495 |
+
|
496 |
+
```php
|
497 |
+
$element->closest('.foo');
|
498 |
+
```
|
499 |
+
|
500 |
+
Вернет родительский элемент, у которого есть класс `foo`. Если подходящий элемент не найден, метод вернет `null`.
|
501 |
+
|
502 |
+
## Получение соседних элементов
|
503 |
+
|
504 |
+
Первый аргумент - CSS-селектор, второй - тип узла (`DOMElement`, `DOMText` или `DOMComment`).
|
505 |
+
|
506 |
+
Если оба аргумента опущены, будет осуществлен поиск узлов любого типа.
|
507 |
+
|
508 |
+
Если селектор указан, а тип узла нет, будет использован тип `DOMElement`.
|
509 |
+
|
510 |
+
**Внимание:** Селектор можно использовать только с типом `DOMElement`.
|
511 |
+
|
512 |
+
```php
|
513 |
+
// предыдущий элемент
|
514 |
+
$item->previousSibling();
|
515 |
+
|
516 |
+
// предыдущий элемент, соответствующий селектору
|
517 |
+
$item->previousSibling('span');
|
518 |
+
|
519 |
+
// предыдущий элемент типа DOMElement
|
520 |
+
$item->previousSibling(null, 'DOMElement');
|
521 |
+
|
522 |
+
// предыдущий элемент типа DOMComment
|
523 |
+
$item->previousSibling(null, 'DOMComment');
|
524 |
+
```
|
525 |
+
|
526 |
+
```php
|
527 |
+
// все предыдущие элементы
|
528 |
+
$item->previousSiblings();
|
529 |
+
|
530 |
+
// все предыдущие элементы, соответствующие селектору
|
531 |
+
$item->previousSiblings('span');
|
532 |
+
|
533 |
+
// все предыдущие элементы типа DOMElement
|
534 |
+
$item->previousSiblings(null, 'DOMElement');
|
535 |
+
|
536 |
+
// все предыдущие элементы типа DOMComment
|
537 |
+
$item->previousSiblings(null, 'DOMComment');
|
538 |
+
```
|
539 |
+
|
540 |
+
```php
|
541 |
+
// следующий элемент
|
542 |
+
$item->nextSibling();
|
543 |
+
|
544 |
+
// следующий элемент, соответствующий селектору
|
545 |
+
$item->nextSibling('span');
|
546 |
+
|
547 |
+
// следующий элемент типа DOMElement
|
548 |
+
$item->nextSibling(null, 'DOMElement');
|
549 |
+
|
550 |
+
// следующий элемент типа DOMComment
|
551 |
+
$item->nextSibling(null, 'DOMComment');
|
552 |
+
```
|
553 |
+
|
554 |
+
```php
|
555 |
+
// все последующие элементы
|
556 |
+
$item->nextSiblings();
|
557 |
+
|
558 |
+
// все последующие элементы, соответствующие селектору
|
559 |
+
$item->nextSiblings('span');
|
560 |
+
|
561 |
+
// все последующие элементы типа DOMElement
|
562 |
+
$item->nextSiblings(null, 'DOMElement');
|
563 |
+
|
564 |
+
// все последующие элементы типа DOMComment
|
565 |
+
$item->nextSiblings(null, 'DOMComment');
|
566 |
+
```
|
567 |
+
|
568 |
+
## Получение дочерних элементов
|
569 |
+
|
570 |
+
```php
|
571 |
+
$html = '<div>Foo<span>Bar</span><!--Baz--></div>';
|
572 |
+
|
573 |
+
$document = new Document($html);
|
574 |
+
|
575 |
+
$div = $document->first('div');
|
576 |
+
|
577 |
+
// элемент (DOMElement)
|
578 |
+
// string(3) "Bar"
|
579 |
+
var_dump($div->child(1)->text());
|
580 |
+
|
581 |
+
// текстовый узел (DOMText)
|
582 |
+
// string(3) "Foo"
|
583 |
+
var_dump($div->firstChild()->text());
|
584 |
+
|
585 |
+
// комментарий (DOMComment)
|
586 |
+
// string(3) "Baz"
|
587 |
+
var_dump($div->lastChild()->text());
|
588 |
+
|
589 |
+
// array(3) { ... }
|
590 |
+
var_dump($div->children());
|
591 |
+
```
|
592 |
+
|
593 |
+
## Получение документа
|
594 |
+
|
595 |
+
```php
|
596 |
+
$document = new Document($html);
|
597 |
+
|
598 |
+
$element = $document->first('input[name=email]');
|
599 |
+
|
600 |
+
$document2 = $element->ownerDocument();
|
601 |
+
|
602 |
+
// bool(true)
|
603 |
+
var_dump($document->is($document2));
|
604 |
+
```
|
605 |
+
|
606 |
+
## Работа с атрибутами элемента
|
607 |
+
|
608 |
+
#### Создание/изменение атрибута
|
609 |
+
|
610 |
+
##### Через метод `setAttribute`:
|
611 |
+
```php
|
612 |
+
$element->setAttribute('name', 'username');
|
613 |
+
```
|
614 |
+
|
615 |
+
##### Через метод `attr`:
|
616 |
+
```php
|
617 |
+
$element->attr('name', 'username');
|
618 |
+
```
|
619 |
+
|
620 |
+
##### Через магический метод `__set`:
|
621 |
+
```php
|
622 |
+
$element->name = 'username';
|
623 |
+
```
|
624 |
+
|
625 |
+
#### Получение значения атрибута
|
626 |
+
|
627 |
+
##### Через метод `getAttribute`:
|
628 |
+
```php
|
629 |
+
$username = $element->getAttribute('value');
|
630 |
+
```
|
631 |
+
|
632 |
+
##### Через метод `attr`:
|
633 |
+
```php
|
634 |
+
$username = $element->attr('value');
|
635 |
+
```
|
636 |
+
|
637 |
+
##### Через магический метод `__get`:
|
638 |
+
```php
|
639 |
+
$username = $element->name;
|
640 |
+
```
|
641 |
+
|
642 |
+
Если атрибут не найден, вернет `null`.
|
643 |
+
|
644 |
+
#### Проверка наличия атрибута
|
645 |
+
|
646 |
+
##### Через метод `hasAttribute`:
|
647 |
+
```php
|
648 |
+
if ($element->hasAttribute('name')) {
|
649 |
+
// код
|
650 |
+
}
|
651 |
+
```
|
652 |
+
|
653 |
+
##### Через магический метод `__isset`:
|
654 |
+
```php
|
655 |
+
if (isset($element->name)) {
|
656 |
+
// код
|
657 |
+
}
|
658 |
+
```
|
659 |
+
|
660 |
+
#### Удаление атрибута:
|
661 |
+
|
662 |
+
##### Через метод `removeAttribute`:
|
663 |
+
```php
|
664 |
+
$element->removeAttribute('name');
|
665 |
+
```
|
666 |
+
|
667 |
+
##### Через магический метод `__unset`:
|
668 |
+
```php
|
669 |
+
unset($element->name);
|
670 |
+
```
|
671 |
+
|
672 |
+
#### Получение всех атрибутов:
|
673 |
+
|
674 |
+
```php
|
675 |
+
var_dump($element->attributes());
|
676 |
+
```
|
677 |
+
|
678 |
+
#### Получение определенных атрибутов:
|
679 |
+
|
680 |
+
```php
|
681 |
+
var_dump($element->attributes(['name', 'type']));
|
682 |
+
```
|
683 |
+
|
684 |
+
#### Удаление всех атрибутов:
|
685 |
+
|
686 |
+
```php
|
687 |
+
$element->removeAllAttributes();
|
688 |
+
```
|
689 |
+
|
690 |
+
#### Удаление всех атрибутов, за исключением указанных:
|
691 |
+
|
692 |
+
```php
|
693 |
+
$element->removeAllAttributes(['name', 'type']);
|
694 |
+
```
|
695 |
+
|
696 |
+
## Сравнение элементов
|
697 |
+
|
698 |
+
```php
|
699 |
+
$element = new Element('span', 'hello');
|
700 |
+
$element2 = new Element('span', 'hello');
|
701 |
+
|
702 |
+
// bool(true)
|
703 |
+
var_dump($element->is($element));
|
704 |
+
|
705 |
+
// bool(false)
|
706 |
+
var_dump($element->is($element2));
|
707 |
+
```
|
708 |
+
|
709 |
+
## Добавление дочерних элементов
|
710 |
+
|
711 |
+
```php
|
712 |
+
$list = new Element('ul');
|
713 |
+
|
714 |
+
$item = new Element('li', 'Item 1');
|
715 |
+
|
716 |
+
$list->appendChild($item);
|
717 |
+
|
718 |
+
$items = [
|
719 |
+
new Element('li', 'Item 2'),
|
720 |
+
new Element('li', 'Item 3'),
|
721 |
+
];
|
722 |
+
|
723 |
+
$list->appendChild($items);
|
724 |
+
```
|
725 |
+
|
726 |
+
## Замена элемента
|
727 |
+
|
728 |
+
```php
|
729 |
+
$title = new Element('title', 'foo');
|
730 |
+
|
731 |
+
$document->first('title')->replace($title);
|
732 |
+
```
|
733 |
+
|
734 |
+
**Внимание:** заменить можно только те элементы, которые были найдены непосредственно в документе:
|
735 |
+
|
736 |
+
```php
|
737 |
+
// ничего не выйдет
|
738 |
+
$document->first('head')->first('title')->replace($title);
|
739 |
+
|
740 |
+
// а вот так да
|
741 |
+
$document->first('head title')->replace($title);
|
742 |
+
```
|
743 |
+
|
744 |
+
Подробнее об этом в разделе [Поиск в элементе](#Поиск-в-элементе).
|
745 |
+
|
746 |
+
## Удаление элемента
|
747 |
+
|
748 |
+
```php
|
749 |
+
$document->first('title')->remove();
|
750 |
+
```
|
751 |
+
|
752 |
+
**Внимание:** удалить можно только те элементы, которые были найдены непосредственно в документе:
|
753 |
+
|
754 |
+
```php
|
755 |
+
// ничего не выйдет
|
756 |
+
$document->first('head')->first('title')->remove();
|
757 |
+
|
758 |
+
// а вот так да
|
759 |
+
$document->first('head title')->remove();
|
760 |
+
```
|
761 |
+
|
762 |
+
Подробнее об этом в разделе [Поиск в элементе](#Поиск-в-элементе).
|
763 |
+
|
764 |
+
## Работа с кэшем
|
765 |
+
|
766 |
+
Кэш - массив XPath-выражений, полученных из CSS.
|
767 |
+
|
768 |
+
#### Получение кэша
|
769 |
+
|
770 |
+
```php
|
771 |
+
use DiDom\Query;
|
772 |
+
|
773 |
+
...
|
774 |
+
|
775 |
+
$xpath = Query::compile('h2');
|
776 |
+
$compiled = Query::getCompiled();
|
777 |
+
|
778 |
+
// array('h2' => '//h2')
|
779 |
+
var_dump($compiled);
|
780 |
+
```
|
781 |
+
|
782 |
+
#### Установка кэша
|
783 |
+
|
784 |
+
```php
|
785 |
+
Query::setCompiled(['h2' => '//h2']);
|
786 |
+
```
|
787 |
+
|
788 |
+
## Прочее
|
789 |
+
|
790 |
+
#### `preserveWhiteSpace`
|
791 |
+
|
792 |
+
По умолчанию сохранение пробелов между тегами отключено.
|
793 |
+
|
794 |
+
Включать опцию `preserveWhiteSpace` следует до загрузки документа:
|
795 |
+
|
796 |
+
```php
|
797 |
+
$document = new Document();
|
798 |
+
|
799 |
+
$document->preserveWhiteSpace();
|
800 |
+
|
801 |
+
$document->loadXml($xml);
|
802 |
+
```
|
803 |
+
|
804 |
+
#### `matches`
|
805 |
+
|
806 |
+
Возвращает `true`, если элемент соответсвует селектору:
|
807 |
+
|
808 |
+
```php
|
809 |
+
// вернет true, если элемент это div с идентификатором content
|
810 |
+
$element->matches('div#content');
|
811 |
+
|
812 |
+
// строгое соответствие
|
813 |
+
// вернет true, если элемент это div с идентификатором content и ничего более
|
814 |
+
// если у элемента будут какие-либо другие атрибуты, метод вернет false
|
815 |
+
$element->matches('div#content', true);
|
816 |
+
```
|
817 |
+
|
818 |
+
#### `isElementNode`
|
819 |
+
|
820 |
+
Проверяет, является ли элемент узлом типа DOMElement:
|
821 |
+
|
822 |
+
```php
|
823 |
+
$element->isElementNode();
|
824 |
+
```
|
825 |
+
|
826 |
+
#### `isTextNode`
|
827 |
+
|
828 |
+
Проверяет, является ли элемент текстовым узлом (DOMText):
|
829 |
+
|
830 |
+
```php
|
831 |
+
$element->isTextNode();
|
832 |
+
```
|
833 |
+
|
834 |
+
#### `isCommentNode`
|
835 |
+
|
836 |
+
Проверяет, является ли элемент комментарием (DOMComment):
|
837 |
+
|
838 |
+
```php
|
839 |
+
$element->isCommentNode();
|
840 |
+
```
|
841 |
+
|
842 |
+
## Сравнение с другими парсерами
|
843 |
+
|
844 |
+
[Сравнение с другими парсерами](https://github.com/Imangazaliev/DiDOM/wiki/Сравнение-с-другими-парсерами-(1.6.3))
|
vendor/imangazaliev/didom/src/DiDom/ClassAttribute.php
ADDED
@@ -0,0 +1,257 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
declare(strict_types=1);
|
4 |
+
|
5 |
+
namespace DiDom;
|
6 |
+
|
7 |
+
use InvalidArgumentException;
|
8 |
+
|
9 |
+
class ClassAttribute
|
10 |
+
{
|
11 |
+
/**
|
12 |
+
* The DOM element instance.
|
13 |
+
*
|
14 |
+
* @var Element
|
15 |
+
*/
|
16 |
+
protected $element;
|
17 |
+
|
18 |
+
/**
|
19 |
+
* @var string
|
20 |
+
*/
|
21 |
+
protected $classesString = '';
|
22 |
+
|
23 |
+
/**
|
24 |
+
* @var string[]
|
25 |
+
*/
|
26 |
+
protected $classes = [];
|
27 |
+
|
28 |
+
/**
|
29 |
+
* @param Element $element
|
30 |
+
*
|
31 |
+
* @throws InvalidArgumentException if parameter 1 is not an element node
|
32 |
+
*/
|
33 |
+
public function __construct(Element $element)
|
34 |
+
{
|
35 |
+
if ( ! $element->isElementNode()) {
|
36 |
+
throw new InvalidArgumentException(sprintf('The element must contain DOMElement node.'));
|
37 |
+
}
|
38 |
+
|
39 |
+
$this->element = $element;
|
40 |
+
|
41 |
+
$this->parseClassAttribute();
|
42 |
+
}
|
43 |
+
|
44 |
+
/**
|
45 |
+
* Parses class attribute of the element.
|
46 |
+
*/
|
47 |
+
protected function parseClassAttribute()
|
48 |
+
{
|
49 |
+
if ( ! $this->element->hasAttribute('class')) {
|
50 |
+
// possible if class attribute has been removed
|
51 |
+
if ($this->classesString !== '') {
|
52 |
+
$this->classesString = '';
|
53 |
+
$this->classes = [];
|
54 |
+
}
|
55 |
+
|
56 |
+
return;
|
57 |
+
}
|
58 |
+
|
59 |
+
// if class attribute is not changed
|
60 |
+
if ($this->element->getAttribute('class') === $this->classesString) {
|
61 |
+
return;
|
62 |
+
}
|
63 |
+
|
64 |
+
// save class attribute as is (without trimming)
|
65 |
+
$this->classesString = $this->element->getAttribute('class');
|
66 |
+
|
67 |
+
$classesString = trim($this->classesString);
|
68 |
+
|
69 |
+
if ($classesString === '') {
|
70 |
+
$this->classes = [];
|
71 |
+
|
72 |
+
return;
|
73 |
+
}
|
74 |
+
|
75 |
+
$classes = explode(' ', $classesString);
|
76 |
+
|
77 |
+
$classes = array_map('trim', $classes);
|
78 |
+
$classes = array_filter($classes);
|
79 |
+
$classes = array_unique($classes);
|
80 |
+
|
81 |
+
$this->classes = array_values($classes);
|
82 |
+
}
|
83 |
+
|
84 |
+
/**
|
85 |
+
* Updates class attribute of the element.
|
86 |
+
*/
|
87 |
+
protected function updateClassAttribute()
|
88 |
+
{
|
89 |
+
$this->classesString = implode(' ', $this->classes);
|
90 |
+
|
91 |
+
$this->element->setAttribute('class', $this->classesString);
|
92 |
+
}
|
93 |
+
|
94 |
+
/**
|
95 |
+
* @param string $className
|
96 |
+
*
|
97 |
+
* @return ClassAttribute
|
98 |
+
*
|
99 |
+
* @throws InvalidArgumentException if class name is not a string
|
100 |
+
*/
|
101 |
+
public function add(string $className): self
|
102 |
+
{
|
103 |
+
$this->parseClassAttribute();
|
104 |
+
|
105 |
+
if (in_array($className, $this->classes, true)) {
|
106 |
+
return $this;
|
107 |
+
}
|
108 |
+
|
109 |
+
$this->classes[] = $className;
|
110 |
+
|
111 |
+
$this->updateClassAttribute();
|
112 |
+
|
113 |
+
return $this;
|
114 |
+
}
|
115 |
+
|
116 |
+
/**
|
117 |
+
* @param array $classNames
|
118 |
+
*
|
119 |
+
* @return ClassAttribute
|
120 |
+
*
|
121 |
+
* @throws InvalidArgumentException if class name is not a string
|
122 |
+
*/
|
123 |
+
public function addMultiple(array $classNames): self
|
124 |
+
{
|
125 |
+
$this->parseClassAttribute();
|
126 |
+
|
127 |
+
foreach ($classNames as $className) {
|
128 |
+
if ( ! is_string($className)) {
|
129 |
+
throw new InvalidArgumentException(sprintf('Class name must be a string, %s given.', (is_object($className) ? get_class($className) : gettype($className))));
|
130 |
+
}
|
131 |
+
|
132 |
+
if (in_array($className, $this->classes, true)) {
|
133 |
+
continue;
|
134 |
+
}
|
135 |
+
|
136 |
+
$this->classes[] = $className;
|
137 |
+
}
|
138 |
+
|
139 |
+
$this->updateClassAttribute();
|
140 |
+
|
141 |
+
return $this;
|
142 |
+
}
|
143 |
+
|
144 |
+
/**
|
145 |
+
* @return string[]
|
146 |
+
*/
|
147 |
+
public function getAll(): array
|
148 |
+
{
|
149 |
+
$this->parseClassAttribute();
|
150 |
+
|
151 |
+
return $this->classes;
|
152 |
+
}
|
153 |
+
|
154 |
+
/**
|
155 |
+
* @param string $className
|
156 |
+
*
|
157 |
+
* @return bool
|
158 |
+
*/
|
159 |
+
public function contains(string $className): bool
|
160 |
+
{
|
161 |
+
$this->parseClassAttribute();
|
162 |
+
|
163 |
+
return in_array($className, $this->classes, true);
|
164 |
+
}
|
165 |
+
|
166 |
+
/**
|
167 |
+
* @param string $className
|
168 |
+
*
|
169 |
+
* @return ClassAttribute
|
170 |
+
*
|
171 |
+
* @throws InvalidArgumentException if class name is not a string
|
172 |
+
*/
|
173 |
+
public function remove(string $className): self
|
174 |
+
{
|
175 |
+
$this->parseClassAttribute();
|
176 |
+
|
177 |
+
$classIndex = array_search($className, $this->classes);
|
178 |
+
|
179 |
+
if ($classIndex === false) {
|
180 |
+
return $this;
|
181 |
+
}
|
182 |
+
|
183 |
+
unset($this->classes[$classIndex]);
|
184 |
+
|
185 |
+
$this->updateClassAttribute();
|
186 |
+
|
187 |
+
return $this;
|
188 |
+
}
|
189 |
+
|
190 |
+
/**
|
191 |
+
* @param array $classNames
|
192 |
+
*
|
193 |
+
* @return ClassAttribute
|
194 |
+
*
|
195 |
+
* @throws InvalidArgumentException if class name is not a string
|
196 |
+
*/
|
197 |
+
public function removeMultiple(array $classNames): self
|
198 |
+
{
|
199 |
+
$this->parseClassAttribute();
|
200 |
+
|
201 |
+
foreach ($classNames as $className) {
|
202 |
+
if ( ! is_string($className)) {
|
203 |
+
throw new InvalidArgumentException(sprintf('Class name must be a string, %s given.', (is_object($className) ? get_class($className) : gettype($className))));
|
204 |
+
}
|
205 |
+
|
206 |
+
$classIndex = array_search($className, $this->classes);
|
207 |
+
|
208 |
+
if ($classIndex === false) {
|
209 |
+
continue;
|
210 |
+
}
|
211 |
+
|
212 |
+
unset($this->classes[$classIndex]);
|
213 |
+
}
|
214 |
+
|
215 |
+
$this->updateClassAttribute();
|
216 |
+
|
217 |
+
return $this;
|
218 |
+
}
|
219 |
+
|
220 |
+
/**
|
221 |
+
* @param string[] $preserved
|
222 |
+
*
|
223 |
+
* @return ClassAttribute
|
224 |
+
*/
|
225 |
+
public function removeAll(array $preserved = []): self
|
226 |
+
{
|
227 |
+
$this->parseClassAttribute();
|
228 |
+
|
229 |
+
$preservedClasses = [];
|
230 |
+
|
231 |
+
foreach ($preserved as $className) {
|
232 |
+
if ( ! is_string($className)) {
|
233 |
+
throw new InvalidArgumentException(sprintf('Class name must be a string, %s given.', (is_object($className) ? get_class($className) : gettype($className))));
|
234 |
+
}
|
235 |
+
|
236 |
+
if ( ! in_array($className, $this->classes, true)) {
|
237 |
+
continue;
|
238 |
+
}
|
239 |
+
|
240 |
+
$preservedClasses[] = $className;
|
241 |
+
}
|
242 |
+
|
243 |
+
$this->classes = $preservedClasses;
|
244 |
+
|
245 |
+
$this->updateClassAttribute();
|
246 |
+
|
247 |
+
return $this;
|
248 |
+
}
|
249 |
+
|
250 |
+
/**
|
251 |
+
* @return Element
|
252 |
+
*/
|
253 |
+
public function getElement(): Element
|
254 |
+
{
|
255 |
+
return $this->element;
|
256 |
+
}
|
257 |
+
}
|
vendor/imangazaliev/didom/src/DiDom/Document.php
ADDED
@@ -0,0 +1,681 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
declare(strict_types=1);
|
4 |
+
|
5 |
+
namespace DiDom;
|
6 |
+
|
7 |
+
use DiDom\Exceptions\InvalidSelectorException;
|
8 |
+
use DOMAttr;
|
9 |
+
use DOMCdataSection;
|
10 |
+
use DOMComment;
|
11 |
+
use DOMDocument;
|
12 |
+
use DOMElement;
|
13 |
+
use DOMNode;
|
14 |
+
use DOMText;
|
15 |
+
use DOMXPath;
|
16 |
+
use Exception;
|
17 |
+
use InvalidArgumentException;
|
18 |
+
use RuntimeException;
|
19 |
+
|
20 |
+
class Document
|
21 |
+
{
|
22 |
+
/**
|
23 |
+
* Types of a document.
|
24 |
+
*
|
25 |
+
* @const string
|
26 |
+
*/
|
27 |
+
const TYPE_HTML = 'html';
|
28 |
+
const TYPE_XML = 'xml';
|
29 |
+
|
30 |
+
/**
|
31 |
+
* @var DOMDocument
|
32 |
+
*/
|
33 |
+
protected $document;
|
34 |
+
|
35 |
+
/**
|
36 |
+
* @var string
|
37 |
+
*/
|
38 |
+
protected $type;
|
39 |
+
|
40 |
+
/**
|
41 |
+
* @var string
|
42 |
+
*/
|
43 |
+
protected $encoding;
|
44 |
+
|
45 |
+
/**
|
46 |
+
* @var array
|
47 |
+
*/
|
48 |
+
protected $namespaces = [
|
49 |
+
'php' => 'http://php.net/xpath'
|
50 |
+
];
|
51 |
+
|
52 |
+
/**
|
53 |
+
* @param DOMDocument|string|null $string An HTML or XML string, a file path or a DOMDocument instance
|
54 |
+
* @param bool $isFile Indicates that the first parameter is a path to a file
|
55 |
+
* @param string $encoding The document encoding
|
56 |
+
* @param string $type The document type
|
57 |
+
*
|
58 |
+
* @throws InvalidArgumentException if parameter 3 is not a string
|
59 |
+
*/
|
60 |
+
public function __construct($string = null, bool $isFile = false, string $encoding = 'UTF-8', string $type = Document::TYPE_HTML)
|
61 |
+
{
|
62 |
+
if ($string instanceof DOMDocument) {
|
63 |
+
$this->document = $string;
|
64 |
+
|
65 |
+
return;
|
66 |
+
}
|
67 |
+
|
68 |
+
$this->encoding = $encoding;
|
69 |
+
|
70 |
+
$this->document = new DOMDocument('1.0', $encoding);
|
71 |
+
|
72 |
+
$this->preserveWhiteSpace(false);
|
73 |
+
|
74 |
+
if ($string !== null) {
|
75 |
+
$this->load($string, $isFile, $type);
|
76 |
+
}
|
77 |
+
}
|
78 |
+
|
79 |
+
/**
|
80 |
+
* Creates a new document.
|
81 |
+
*
|
82 |
+
* @param DOMDocument|string|null $string An HTML or XML string, a file path or a DOMDocument instance
|
83 |
+
* @param bool $isFile Indicates that the first parameter is a path to a file
|
84 |
+
* @param string $encoding The document encoding
|
85 |
+
* @param string $type The document type
|
86 |
+
*
|
87 |
+
* @return Document
|
88 |
+
*/
|
89 |
+
public static function create($string = null, bool $isFile = false, string $encoding = 'UTF-8', string $type = Document::TYPE_HTML)
|
90 |
+
{
|
91 |
+
return new Document($string, $isFile, $encoding, $type);
|
92 |
+
}
|
93 |
+
|
94 |
+
/**
|
95 |
+
* Creates a new element node.
|
96 |
+
*
|
97 |
+
* @param string $name The tag name of the element
|
98 |
+
* @param string|null $value The value of the element
|
99 |
+
* @param array $attributes The attributes of the element
|
100 |
+
*
|
101 |
+
* @return Element created element
|
102 |
+
*/
|
103 |
+
public function createElement(string $name, ?string $value = null, array $attributes = []): Element
|
104 |
+
{
|
105 |
+
$node = $this->document->createElement($name);
|
106 |
+
|
107 |
+
return new Element($node, $value, $attributes);
|
108 |
+
}
|
109 |
+
|
110 |
+
/**
|
111 |
+
* Creates a new element node by CSS selector.
|
112 |
+
*
|
113 |
+
* @param string $selector
|
114 |
+
* @param string|null $value
|
115 |
+
* @param array $attributes
|
116 |
+
*
|
117 |
+
* @return Element
|
118 |
+
*
|
119 |
+
* @throws InvalidSelectorException
|
120 |
+
*/
|
121 |
+
public function createElementBySelector(string $selector, ?string $value = null, array $attributes = []): Element
|
122 |
+
{
|
123 |
+
$segments = Query::getSegments($selector);
|
124 |
+
|
125 |
+
$name = array_key_exists('tag', $segments) ? $segments['tag'] : 'div';
|
126 |
+
|
127 |
+
if (array_key_exists('attributes', $segments)) {
|
128 |
+
$attributes = array_merge($attributes, $segments['attributes']);
|
129 |
+
}
|
130 |
+
|
131 |
+
if (array_key_exists('id', $segments)) {
|
132 |
+
$attributes['id'] = $segments['id'];
|
133 |
+
}
|
134 |
+
|
135 |
+
if (array_key_exists('classes', $segments)) {
|
136 |
+
$attributes['class'] = implode(' ', $segments['classes']);
|
137 |
+
}
|
138 |
+
|
139 |
+
return $this->createElement($name, $value, $attributes);
|
140 |
+
}
|
141 |
+
|
142 |
+
/**
|
143 |
+
* @param string $content
|
144 |
+
*
|
145 |
+
* @return Element
|
146 |
+
*/
|
147 |
+
public function createTextNode(string $content): Element
|
148 |
+
{
|
149 |
+
return new Element(new DOMText($content));
|
150 |
+
}
|
151 |
+
|
152 |
+
/**
|
153 |
+
* @param string $data
|
154 |
+
*
|
155 |
+
* @return Element
|
156 |
+
*/
|
157 |
+
public function createComment(string $data): Element
|
158 |
+
{
|
159 |
+
return new Element(new DOMComment($data));
|
160 |
+
}
|
161 |
+
|
162 |
+
/**
|
163 |
+
* @param string $data
|
164 |
+
*
|
165 |
+
* @return Element
|
166 |
+
*/
|
167 |
+
public function createCdataSection(string $data): Element
|
168 |
+
{
|
169 |
+
return new Element(new DOMCdataSection($data));
|
170 |
+
}
|
171 |
+
|
172 |
+
/**
|
173 |
+
* @return DocumentFragment
|
174 |
+
*/
|
175 |
+
public function createDocumentFragment(): DocumentFragment
|
176 |
+
{
|
177 |
+
return new DocumentFragment($this->document->createDocumentFragment());
|
178 |
+
}
|
179 |
+
|
180 |
+
/**
|
181 |
+
* Adds a new child at the end of the children.
|
182 |
+
*
|
183 |
+
* @param Element|DOMNode|array $nodes The appended child
|
184 |
+
*
|
185 |
+
* @return Element|Element[]
|
186 |
+
*
|
187 |
+
* @throws InvalidArgumentException if one of elements of parameter 1 is not an instance of DOMNode or Element
|
188 |
+
*/
|
189 |
+
public function appendChild($nodes)
|
190 |
+
{
|
191 |
+
$returnArray = true;
|
192 |
+
|
193 |
+
if ( ! is_array($nodes)) {
|
194 |
+
$nodes = [$nodes];
|
195 |
+
|
196 |
+
$returnArray = false;
|
197 |
+
}
|
198 |
+
|
199 |
+
$result = [];
|
200 |
+
|
201 |
+
foreach ($nodes as $node) {
|
202 |
+
if ($node instanceof Element) {
|
203 |
+
$node = $node->getNode();
|
204 |
+
}
|
205 |
+
|
206 |
+
if ( ! $node instanceof DOMNode) {
|
207 |
+
throw new InvalidArgumentException(sprintf('Argument 1 passed to %s must be an instance of %s\Element or DOMNode, %s given.', __METHOD__, __NAMESPACE__, (is_object($node) ? get_class($node) : gettype($node))));
|
208 |
+
}
|
209 |
+
|
210 |
+
Errors::disable();
|
211 |
+
|
212 |
+
$cloned = $node->cloneNode(true);
|
213 |
+
$newNode = $this->document->importNode($cloned, true);
|
214 |
+
|
215 |
+
$result[] = $this->document->appendChild($newNode);
|
216 |
+
|
217 |
+
Errors::restore();
|
218 |
+
}
|
219 |
+
|
220 |
+
$result = array_map(function (DOMNode $node) {
|
221 |
+
return new Element($node);
|
222 |
+
}, $result);
|
223 |
+
|
224 |
+
return $returnArray ? $result : $result[0];
|
225 |
+
}
|
226 |
+
|
227 |
+
/**
|
228 |
+
* Set preserveWhiteSpace property.
|
229 |
+
*
|
230 |
+
* @param bool $value
|
231 |
+
*
|
232 |
+
* @return Document
|
233 |
+
*/
|
234 |
+
public function preserveWhiteSpace(bool $value = true): self
|
235 |
+
{
|
236 |
+
$this->document->preserveWhiteSpace = $value;
|
237 |
+
|
238 |
+
return $this;
|
239 |
+
}
|
240 |
+
|
241 |
+
/**
|
242 |
+
* Load HTML or XML.
|
243 |
+
*
|
244 |
+
* @param string $string An HTML or XML string or a file path
|
245 |
+
* @param bool $isFile Indicates that the first parameter is a file path
|
246 |
+
* @param string $type The type of a document
|
247 |
+
* @param int|null $options libxml option constants
|
248 |
+
*
|
249 |
+
* @throws InvalidArgumentException if parameter 1 is not a string
|
250 |
+
* @throws InvalidArgumentException if parameter 3 is not a string
|
251 |
+
* @throws InvalidArgumentException if parameter 4 is not an integer or null
|
252 |
+
* @throws RuntimeException if the document type is invalid (not Document::TYPE_HTML or Document::TYPE_XML)
|
253 |
+
*/
|
254 |
+
public function load(string $string, bool $isFile = false, string $type = Document::TYPE_HTML, int $options = null): void
|
255 |
+
{
|
256 |
+
if ( ! in_array(strtolower($type), [Document::TYPE_HTML, Document::TYPE_XML], true)) {
|
257 |
+
throw new RuntimeException(sprintf('Document type must be "xml" or "html", %s given.', $type));
|
258 |
+
}
|
259 |
+
|
260 |
+
if ($options === null) {
|
261 |
+
// LIBXML_HTML_NODEFDTD - prevents a default doctype being added when one is not found
|
262 |
+
$options = LIBXML_HTML_NODEFDTD;
|
263 |
+
}
|
264 |
+
|
265 |
+
$string = trim($string);
|
266 |
+
|
267 |
+
if ($isFile) {
|
268 |
+
$string = $this->loadFile($string);
|
269 |
+
}
|
270 |
+
|
271 |
+
if (strtolower($type) === Document::TYPE_HTML) {
|
272 |
+
$string = Encoder::convertToHtmlEntities($string, $this->encoding);
|
273 |
+
}
|
274 |
+
|
275 |
+
$this->type = strtolower($type);
|
276 |
+
|
277 |
+
Errors::disable();
|
278 |
+
|
279 |
+
if ($this->type === Document::TYPE_HTML) {
|
280 |
+
$this->document->loadHtml($string, $options);
|
281 |
+
} else {
|
282 |
+
$this->document->loadXml($string, $options);
|
283 |
+
}
|
284 |
+
|
285 |
+
Errors::restore();
|
286 |
+
}
|
287 |
+
|
288 |
+
/**
|
289 |
+
* Load HTML from a string.
|
290 |
+
*
|
291 |
+
* @param string $html The HTML string
|
292 |
+
* @param int|null $options Additional parameters
|
293 |
+
*
|
294 |
+
* @return Document
|
295 |
+
*
|
296 |
+
* @throws InvalidArgumentException if parameter 1 is not a string
|
297 |
+
*/
|
298 |
+
public function loadHtml(string $html, ?int $options = null): void
|
299 |
+
{
|
300 |
+
$this->load($html, false, Document::TYPE_HTML, $options);
|
301 |
+
}
|
302 |
+
|
303 |
+
/**
|
304 |
+
* Load HTML from a file.
|
305 |
+
*
|
306 |
+
* @param string $filename The path to the HTML file
|
307 |
+
* @param int|null $options Additional parameters
|
308 |
+
*
|
309 |
+
* @throws InvalidArgumentException if parameter 1 not a string
|
310 |
+
* @throws RuntimeException if the file doesn't exist
|
311 |
+
* @throws RuntimeException if you are unable to load the file
|
312 |
+
*/
|
313 |
+
public function loadHtmlFile(string $filename, ?int $options = null): void
|
314 |
+
{
|
315 |
+
$this->load($filename, true, Document::TYPE_HTML, $options);
|
316 |
+
}
|
317 |
+
|
318 |
+
/**
|
319 |
+
* Load XML from a string.
|
320 |
+
*
|
321 |
+
* @param string $xml The XML string
|
322 |
+
* @param int|null $options Additional parameters
|
323 |
+
*
|
324 |
+
* @throws InvalidArgumentException if parameter 1 is not a string
|
325 |
+
*/
|
326 |
+
public function loadXml(string $xml, ?int $options = null): void
|
327 |
+
{
|
328 |
+
$this->load($xml, false, Document::TYPE_XML, $options);
|
329 |
+
}
|
330 |
+
|
331 |
+
/**
|
332 |
+
* Load XML from a file.
|
333 |
+
*
|
334 |
+
* @param string $filename The path to the XML file
|
335 |
+
* @param int|null $options Additional parameters
|
336 |
+
*
|
337 |
+
* @throws InvalidArgumentException if the file path is not a string
|
338 |
+
* @throws RuntimeException if the file doesn't exist
|
339 |
+
* @throws RuntimeException if you are unable to load the file
|
340 |
+
*/
|
341 |
+
public function loadXmlFile(string $filename, ?int $options = null): void
|
342 |
+
{
|
343 |
+
$this->load($filename, true, Document::TYPE_XML, $options);
|
344 |
+
}
|
345 |
+
|
346 |
+
/**
|
347 |
+
* Reads entire file into a string.
|
348 |
+
*
|
349 |
+
* @param string $filename The path to the file
|
350 |
+
*
|
351 |
+
* @return string
|
352 |
+
*
|
353 |
+
* @throws InvalidArgumentException if parameter 1 is not a string
|
354 |
+
* @throws RuntimeException if an error occurred
|
355 |
+
*/
|
356 |
+
protected function loadFile(string $filename): string
|
357 |
+
{
|
358 |
+
try {
|
359 |
+
$content = file_get_contents($filename);
|
360 |
+
} catch (Exception $exception) {
|
361 |
+
throw new RuntimeException(sprintf('Could not load file %s.', $filename));
|
362 |
+
}
|
363 |
+
|
364 |
+
if ($content === false) {
|
365 |
+
throw new RuntimeException(sprintf('Could not load file %s.', $filename));
|
366 |
+
}
|
367 |
+
|
368 |
+
return $content;
|
369 |
+
}
|
370 |
+
|
371 |
+
/**
|
372 |
+
* Checks the existence of the node.
|
373 |
+
*
|
374 |
+
* @param string $expression XPath expression or CSS selector
|
375 |
+
* @param string $type The type of the expression
|
376 |
+
*
|
377 |
+
* @return bool
|
378 |
+
*/
|
379 |
+
public function has(string $expression, string $type = Query::TYPE_CSS): bool
|
380 |
+
{
|
381 |
+
$expression = Query::compile($expression, $type);
|
382 |
+
$expression = sprintf('count(%s) > 0', $expression);
|
383 |
+
|
384 |
+
return $this->createXpath()->evaluate($expression);
|
385 |
+
}
|
386 |
+
|
387 |
+
/**
|
388 |
+
* Searches for a node in the DOM tree for a given XPath expression or CSS selector.
|
389 |
+
*
|
390 |
+
* @param string $expression XPath expression or a CSS selector
|
391 |
+
* @param string $type The type of the expression
|
392 |
+
* @param bool $wrapNode Returns array of Element if true, otherwise array of DOMElement
|
393 |
+
* @param Element|DOMElement|null $contextNode The node in which the search will be performed
|
394 |
+
*
|
395 |
+
* @return Element[]|DOMElement[]
|
396 |
+
*
|
397 |
+
* @throws InvalidSelectorException if the selector is invalid
|
398 |
+
* @throws InvalidArgumentException if context node is not DOMElement
|
399 |
+
*/
|
400 |
+
public function find(string $expression, string $type = Query::TYPE_CSS, bool $wrapNode = true, $contextNode = null): array
|
401 |
+
{
|
402 |
+
$expression = Query::compile($expression, $type);
|
403 |
+
|
404 |
+
if ($contextNode !== null) {
|
405 |
+
if ($contextNode instanceof Element) {
|
406 |
+
$contextNode = $contextNode->getNode();
|
407 |
+
}
|
408 |
+
|
409 |
+
if ( ! $contextNode instanceof DOMElement) {
|
410 |
+
throw new InvalidArgumentException(sprintf('Argument 4 passed to %s must be an instance of %s\Element or DOMElement, %s given.', __METHOD__, __NAMESPACE__, (is_object($contextNode) ? get_class($contextNode) : gettype($contextNode))));
|
411 |
+
}
|
412 |
+
|
413 |
+
if ($type === Query::TYPE_CSS) {
|
414 |
+
$expression = '.' . $expression;
|
415 |
+
}
|
416 |
+
}
|
417 |
+
|
418 |
+
$nodeList = $this->createXpath()->query($expression, $contextNode);
|
419 |
+
|
420 |
+
$result = [];
|
421 |
+
|
422 |
+
if ($wrapNode) {
|
423 |
+
foreach ($nodeList as $node) {
|
424 |
+
$result[] = $this->wrapNode($node);
|
425 |
+
}
|
426 |
+
} else {
|
427 |
+
foreach ($nodeList as $node) {
|
428 |
+
$result[] = $node;
|
429 |
+
}
|
430 |
+
}
|
431 |
+
|
432 |
+
return $result;
|
433 |
+
}
|
434 |
+
|
435 |
+
/**
|
436 |
+
* Searches for a node in the DOM tree and returns first element or null.
|
437 |
+
*
|
438 |
+
* @param string $expression XPath expression or a CSS selector
|
439 |
+
* @param string $type The type of the expression
|
440 |
+
* @param bool $wrapNode Returns array of Element if true, otherwise array of DOMElement
|
441 |
+
* @param Element|DOMElement|null $contextNode The node in which the search will be performed
|
442 |
+
*
|
443 |
+
* @return Element|DOMElement|null
|
444 |
+
*
|
445 |
+
* @throws InvalidSelectorException if the selector is invalid
|
446 |
+
*/
|
447 |
+
public function first(string $expression, string $type = Query::TYPE_CSS, bool $wrapNode = true, $contextNode = null)
|
448 |
+
{
|
449 |
+
$expression = Query::compile($expression, $type);
|
450 |
+
|
451 |
+
if ($contextNode !== null && $type === Query::TYPE_CSS) {
|
452 |
+
$expression = '.' . $expression;
|
453 |
+
}
|
454 |
+
|
455 |
+
$expression = sprintf('(%s)[1]', $expression);
|
456 |
+
|
457 |
+
$nodes = $this->find($expression, Query::TYPE_XPATH, false, $contextNode);
|
458 |
+
|
459 |
+
if (count($nodes) === 0) {
|
460 |
+
return null;
|
461 |
+
}
|
462 |
+
|
463 |
+
return $wrapNode ? $this->wrapNode($nodes[0]) : $nodes[0];
|
464 |
+
}
|
465 |
+
|
466 |
+
/**
|
467 |
+
* @param DOMElement|DOMText|DOMAttr $node
|
468 |
+
*
|
469 |
+
* @return Element|string
|
470 |
+
*
|
471 |
+
* @throws InvalidArgumentException if parameter 1 is not an instance of DOMElement, DOMText, DOMComment, DOMCdataSection or DOMAttr
|
472 |
+
*/
|
473 |
+
protected function wrapNode($node)
|
474 |
+
{
|
475 |
+
switch (get_class($node)) {
|
476 |
+
case 'DOMElement':
|
477 |
+
case 'DOMComment':
|
478 |
+
case 'DOMCdataSection':
|
479 |
+
return new Element($node);
|
480 |
+
|
481 |
+
case 'DOMText':
|
482 |
+
return $node->data;
|
483 |
+
|
484 |
+
case 'DOMAttr':
|
485 |
+
return $node->value;
|
486 |
+
}
|
487 |
+
|
488 |
+
throw new InvalidArgumentException(sprintf('Unknown node type "%s".', get_class($node)));
|
489 |
+
}
|
490 |
+
|
491 |
+
/**
|
492 |
+
* Searches for a node in the DOM tree for a given XPath expression.
|
493 |
+
*
|
494 |
+
* @param string $expression XPath expression
|
495 |
+
* @param bool $wrapNode Returns array of Element if true, otherwise array of DOMElement
|
496 |
+
* @param Element|DOMElement $contextNode The node in which the search will be performed
|
497 |
+
*
|
498 |
+
* @return Element[]|DOMElement[]
|
499 |
+
*/
|
500 |
+
public function xpath(string $expression, bool $wrapNode = true, $contextNode = null): array
|
501 |
+
{
|
502 |
+
return $this->find($expression, Query::TYPE_XPATH, $wrapNode, $contextNode);
|
503 |
+
}
|
504 |
+
|
505 |
+
/**
|
506 |
+
* Counts nodes for a given XPath expression or CSS selector.
|
507 |
+
*
|
508 |
+
* @param string $expression XPath expression or CSS selector
|
509 |
+
* @param string $type The type of the expression
|
510 |
+
*
|
511 |
+
* @return int
|
512 |
+
*
|
513 |
+
* @throws InvalidSelectorException
|
514 |
+
*/
|
515 |
+
public function count(string $expression, string $type = Query::TYPE_CSS): int
|
516 |
+
{
|
517 |
+
$expression = Query::compile($expression, $type);
|
518 |
+
$expression = sprintf('count(%s)', $expression);
|
519 |
+
|
520 |
+
return (int) $this->createXpath()->evaluate($expression);
|
521 |
+
}
|
522 |
+
|
523 |
+
/**
|
524 |
+
* @return DOMXPath
|
525 |
+
*/
|
526 |
+
public function createXpath(): DOMXPath
|
527 |
+
{
|
528 |
+
$xpath = new DOMXPath($this->document);
|
529 |
+
|
530 |
+
foreach ($this->namespaces as $prefix => $namespace) {
|
531 |
+
$xpath->registerNamespace($prefix, $namespace);
|
532 |
+
}
|
533 |
+
|
534 |
+
$xpath->registerPhpFunctions();
|
535 |
+
|
536 |
+
return $xpath;
|
537 |
+
}
|
538 |
+
|
539 |
+
/**
|
540 |
+
* Register a namespace.
|
541 |
+
*
|
542 |
+
* @param string $prefix
|
543 |
+
* @param string $namespace
|
544 |
+
*/
|
545 |
+
public function registerNamespace(string $prefix, string $namespace)
|
546 |
+
{
|
547 |
+
$this->namespaces[$prefix] = $namespace;
|
548 |
+
}
|
549 |
+
|
550 |
+
/**
|
551 |
+
* Dumps the internal document into a string using HTML formatting.
|
552 |
+
*
|
553 |
+
* @return string The document html
|
554 |
+
*/
|
555 |
+
public function html(): string
|
556 |
+
{
|
557 |
+
return trim($this->document->saveHTML($this->document));
|
558 |
+
}
|
559 |
+
|
560 |
+
/**
|
561 |
+
* Dumps the internal document into a string using XML formatting.
|
562 |
+
*
|
563 |
+
* @param int|null $options Additional options
|
564 |
+
*
|
565 |
+
* @return string The document xml
|
566 |
+
*/
|
567 |
+
public function xml(?int $options = 0): string
|
568 |
+
{
|
569 |
+
return trim($this->document->saveXML($this->document, $options));
|
570 |
+
}
|
571 |
+
|
572 |
+
/**
|
573 |
+
* Nicely formats output with indentation and extra space.
|
574 |
+
*
|
575 |
+
* @param bool $format Formats output if true
|
576 |
+
*
|
577 |
+
* @return Document
|
578 |
+
*/
|
579 |
+
public function format(bool $format = true): self
|
580 |
+
{
|
581 |
+
$this->document->formatOutput = $format;
|
582 |
+
|
583 |
+
return $this;
|
584 |
+
}
|
585 |
+
|
586 |
+
/**
|
587 |
+
* Get the text content of this node and its descendants.
|
588 |
+
*
|
589 |
+
* @return string
|
590 |
+
*/
|
591 |
+
public function text(): string
|
592 |
+
{
|
593 |
+
return $this->getElement()->textContent;
|
594 |
+
}
|
595 |
+
|
596 |
+
/**
|
597 |
+
* Indicates if two documents are the same document.
|
598 |
+
*
|
599 |
+
* @param Document|DOMDocument $document The compared document
|
600 |
+
*
|
601 |
+
* @return bool
|
602 |
+
*
|
603 |
+
* @throws InvalidArgumentException if parameter 1 is not an instance of DOMDocument or Document
|
604 |
+
*/
|
605 |
+
public function is($document): bool
|
606 |
+
{
|
607 |
+
if ($document instanceof Document) {
|
608 |
+
$element = $document->getElement();
|
609 |
+
} else {
|
610 |
+
if ( ! $document instanceof DOMDocument) {
|
611 |
+
throw new InvalidArgumentException(sprintf('Argument 1 passed to %s must be an instance of %s or DOMDocument, %s given.', __METHOD__, __CLASS__, (is_object($document) ? get_class($document) : gettype($document))));
|
612 |
+
}
|
613 |
+
|
614 |
+
$element = $document->documentElement;
|
615 |
+
}
|
616 |
+
|
617 |
+
if ($element === null) {
|
618 |
+
return false;
|
619 |
+
}
|
620 |
+
|
621 |
+
return $this->getElement()->isSameNode($element);
|
622 |
+
}
|
623 |
+
|
624 |
+
/**
|
625 |
+
* Returns the type of the document (XML or HTML).
|
626 |
+
*
|
627 |
+
* @return string|null
|
628 |
+
*/
|
629 |
+
public function getType(): ?string
|
630 |
+
{
|
631 |
+
return $this->type;
|
632 |
+
}
|
633 |
+
|
634 |
+
/**
|
635 |
+
* Returns the encoding of the document.
|
636 |
+
*
|
637 |
+
* @return string|null
|
638 |
+
*/
|
639 |
+
public function getEncoding(): ?string
|
640 |
+
{
|
641 |
+
return $this->encoding;
|
642 |
+
}
|
643 |
+
|
644 |
+
/**
|
645 |
+
* @return DOMDocument
|
646 |
+
*/
|
647 |
+
public function getDocument(): DOMDocument
|
648 |
+
{
|
649 |
+
return $this->document;
|
650 |
+
}
|
651 |
+
|
652 |
+
/**
|
653 |
+
* @return DOMElement|null
|
654 |
+
*/
|
655 |
+
public function getElement(): ?DOMElement
|
656 |
+
{
|
657 |
+
return $this->document->documentElement;
|
658 |
+
}
|
659 |
+
|
660 |
+
/**
|
661 |
+
* @return Element
|
662 |
+
*/
|
663 |
+
public function toElement(): Element
|
664 |
+
{
|
665 |
+
if ($this->document->documentElement === null) {
|
666 |
+
throw new RuntimeException('Cannot convert empty document to Element.');
|
667 |
+
}
|
668 |
+
|
669 |
+
return new Element($this->document->documentElement);
|
670 |
+
}
|
671 |
+
|
672 |
+
/**
|
673 |
+
* Convert the document to its string representation.
|
674 |
+
*
|
675 |
+
* @return string
|
676 |
+
*/
|
677 |
+
public function __toString(): string
|
678 |
+
{
|
679 |
+
return $this->type === Document::TYPE_HTML ? $this->html() : $this->xml();
|
680 |
+
}
|
681 |
+
}
|
vendor/imangazaliev/didom/src/DiDom/DocumentFragment.php
ADDED
@@ -0,0 +1,31 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
declare(strict_types=1);
|
4 |
+
|
5 |
+
namespace DiDom;
|
6 |
+
|
7 |
+
use DOMDocumentFragment;
|
8 |
+
|
9 |
+
/**
|
10 |
+
* @property string $tag
|
11 |
+
*/
|
12 |
+
class DocumentFragment extends Node
|
13 |
+
{
|
14 |
+
/**
|
15 |
+
* @param DOMDocumentFragment $documentFragment
|
16 |
+
*/
|
17 |
+
public function __construct(DOMDocumentFragment $documentFragment)
|
18 |
+
{
|
19 |
+
$this->setNode($documentFragment);
|
20 |
+
}
|
21 |
+
|
22 |
+
/**
|
23 |
+
* Append raw XML data.
|
24 |
+
*
|
25 |
+
* @param string $data
|
26 |
+
*/
|
27 |
+
public function appendXml($data)
|
28 |
+
{
|
29 |
+
$this->node->appendXML($data);
|
30 |
+
}
|
31 |
+
}
|
vendor/imangazaliev/didom/src/DiDom/Element.php
ADDED
@@ -0,0 +1,397 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
declare(strict_types=1);
|
4 |
+
|
5 |
+
namespace DiDom;
|
6 |
+
|
7 |
+
use DiDom\Exceptions\InvalidSelectorException;
|
8 |
+
use DOMCdataSection;
|
9 |
+
use DOMComment;
|
10 |
+
use DOMDocument;
|
11 |
+
use DOMElement;
|
12 |
+
use DOMNode;
|
13 |
+
use DOMText;
|
14 |
+
use InvalidArgumentException;
|
15 |
+
use LogicException;
|
16 |
+
use RuntimeException;
|
17 |
+
|
18 |
+
class Element extends Node
|
19 |
+
{
|
20 |
+
/**
|
21 |
+
* @var ClassAttribute
|
22 |
+
*/
|
23 |
+
protected $classAttribute;
|
24 |
+
|
25 |
+
/**
|
26 |
+
* @var StyleAttribute
|
27 |
+
*/
|
28 |
+
protected $styleAttribute;
|
29 |
+
|
30 |
+
/**
|
31 |
+
* @param DOMElement|DOMText|DOMComment|DOMCdataSection|string $tagName The tag name of an element
|
32 |
+
* @param string|integer|float|null $value The value of an element
|
33 |
+
* @param array $attributes The attributes of an element
|
34 |
+
*/
|
35 |
+
public function __construct($tagName, $value = null, array $attributes = [])
|
36 |
+
{
|
37 |
+
if (is_string($tagName)) {
|
38 |
+
$document = new DOMDocument('1.0', 'UTF-8');
|
39 |
+
|
40 |
+
$node = $document->createElement($tagName);
|
41 |
+
|
42 |
+
$this->setNode($node);
|
43 |
+
} else {
|
44 |
+
$this->setNode($tagName);
|
45 |
+
}
|
46 |
+
|
47 |
+
if ($value !== null) {
|
48 |
+
$this->setValue($value);
|
49 |
+
}
|
50 |
+
|
51 |
+
foreach ($attributes as $attrName => $attrValue) {
|
52 |
+
$this->setAttribute($attrName, $attrValue);
|
53 |
+
}
|
54 |
+
}
|
55 |
+
|
56 |
+
/**
|
57 |
+
* Creates a new element.
|
58 |
+
*
|
59 |
+
* @param DOMNode|string $name The tag name of an element
|
60 |
+
* @param string|integer|float|null $value The value of an element
|
61 |
+
* @param array $attributes The attributes of an element
|
62 |
+
*
|
63 |
+
* @return Element
|
64 |
+
*/
|
65 |
+
public static function create($name, $value = null, array $attributes = []): self
|
66 |
+
{
|
67 |
+
return new Element($name, $value, $attributes);
|
68 |
+
}
|
69 |
+
|
70 |
+
/**
|
71 |
+
* Creates a new element node by CSS selector.
|
72 |
+
*
|
73 |
+
* @param string $selector
|
74 |
+
* @param string|null $value
|
75 |
+
* @param array $attributes
|
76 |
+
*
|
77 |
+
* @return Element
|
78 |
+
*
|
79 |
+
* @throws InvalidSelectorException
|
80 |
+
*/
|
81 |
+
public static function createBySelector(string $selector, ?string $value = null, array $attributes = []): self
|
82 |
+
{
|
83 |
+
return Document::create()->createElementBySelector($selector, $value, $attributes);
|
84 |
+
}
|
85 |
+
|
86 |
+
public function tagName(): string
|
87 |
+
{
|
88 |
+
return $this->node->tagName;
|
89 |
+
}
|
90 |
+
|
91 |
+
/**
|
92 |
+
* Checks that the node matches selector.
|
93 |
+
*
|
94 |
+
* @param string $selector CSS selector
|
95 |
+
* @param bool $strict
|
96 |
+
*
|
97 |
+
* @return bool
|
98 |
+
*
|
99 |
+
* @throws InvalidSelectorException if the selector is invalid
|
100 |
+
* @throws InvalidArgumentException if the tag name is not a string
|
101 |
+
* @throws RuntimeException if the tag name is not specified in strict mode
|
102 |
+
*/
|
103 |
+
public function matches(string $selector, bool $strict = false): bool
|
104 |
+
{
|
105 |
+
if ( ! $this->node instanceof DOMElement) {
|
106 |
+
return false;
|
107 |
+
}
|
108 |
+
|
109 |
+
if ($selector === '*') {
|
110 |
+
return true;
|
111 |
+
}
|
112 |
+
|
113 |
+
if ( ! $strict) {
|
114 |
+
$innerHtml = $this->html();
|
115 |
+
$html = "<root>$innerHtml</root>";
|
116 |
+
|
117 |
+
$selector = 'root > ' . trim($selector);
|
118 |
+
|
119 |
+
$document = new Document();
|
120 |
+
|
121 |
+
$document->loadHtml($html, LIBXML_HTML_NODEFDTD | LIBXML_HTML_NOIMPLIED);
|
122 |
+
|
123 |
+
return $document->has($selector);
|
124 |
+
}
|
125 |
+
|
126 |
+
$segments = Query::getSegments($selector);
|
127 |
+
|
128 |
+
if ( ! array_key_exists('tag', $segments)) {
|
129 |
+
throw new RuntimeException(sprintf('Tag name must be specified in %s', $selector));
|
130 |
+
}
|
131 |
+
|
132 |
+
if ($segments['tag'] !== $this->tagName() && $segments['tag'] !== '*') {
|
133 |
+
return false;
|
134 |
+
}
|
135 |
+
|
136 |
+
$segments['id'] = array_key_exists('id', $segments) ? $segments['id'] : null;
|
137 |
+
|
138 |
+
if ($segments['id'] !== $this->getAttribute('id')) {
|
139 |
+
return false;
|
140 |
+
}
|
141 |
+
|
142 |
+
$classes = $this->hasAttribute('class') ? explode(' ', trim($this->getAttribute('class'))) : [];
|
143 |
+
|
144 |
+
$segments['classes'] = array_key_exists('classes', $segments) ? $segments['classes'] : [];
|
145 |
+
|
146 |
+
$diff1 = array_diff($segments['classes'], $classes);
|
147 |
+
$diff2 = array_diff($classes, $segments['classes']);
|
148 |
+
|
149 |
+
if (count($diff1) > 0 || count($diff2) > 0) {
|
150 |
+
return false;
|
151 |
+
}
|
152 |
+
|
153 |
+
$attributes = $this->attributes();
|
154 |
+
|
155 |
+
unset($attributes['id'], $attributes['class']);
|
156 |
+
|
157 |
+
$segments['attributes'] = array_key_exists('attributes', $segments) ? $segments['attributes'] : [];
|
158 |
+
|
159 |
+
$diff1 = array_diff_assoc($segments['attributes'], $attributes);
|
160 |
+
$diff2 = array_diff_assoc($attributes, $segments['attributes']);
|
161 |
+
|
162 |
+
// if the attributes are not equal
|
163 |
+
if (count($diff1) > 0 || count($diff2) > 0) {
|
164 |
+
return false;
|
165 |
+
}
|
166 |
+
|
167 |
+
return true;
|
168 |
+
}
|
169 |
+
|
170 |
+
/**
|
171 |
+
* Determine if an attribute exists on the element.
|
172 |
+
*
|
173 |
+
* @param string $name The name of an attribute
|
174 |
+
*
|
175 |
+
* @return bool
|
176 |
+
*/
|
177 |
+
public function hasAttribute(string $name): bool
|
178 |
+
{
|
179 |
+
return $this->node->hasAttribute($name);
|
180 |
+
}
|
181 |
+
|
182 |
+
/**
|
183 |
+
* Set an attribute on the element.
|
184 |
+
*
|
185 |
+
* @param string $name The name of an attribute
|
186 |
+
* @param string|integer|float $value The value of an attribute
|
187 |
+
*
|
188 |
+
* @return Element
|
189 |
+
*/
|
190 |
+
public function setAttribute(string $name, $value): Element
|
191 |
+
{
|
192 |
+
if (is_numeric($value)) {
|
193 |
+
$value = (string) $value;
|
194 |
+
}
|
195 |
+
|
196 |
+
if ( ! is_string($value)) {
|
197 |
+
throw new InvalidArgumentException(sprintf('%s expects parameter 2 to be string or null, %s given.', __METHOD__, (is_object($value) ? get_class($value) : gettype($value))));
|
198 |
+
}
|
199 |
+
|
200 |
+
$this->node->setAttribute($name, $value);
|
201 |
+
|
202 |
+
return $this;
|
203 |
+
}
|
204 |
+
|
205 |
+
/**
|
206 |
+
* Access to the element's attributes.
|
207 |
+
*
|
208 |
+
* @param string $name The name of an attribute
|
209 |
+
* @param string|null $default The value returned if the attribute doesn't exist
|
210 |
+
*
|
211 |
+
* @return string|null The value of an attribute or null if attribute doesn't exist
|
212 |
+
*/
|
213 |
+
public function getAttribute(string $name, ?string $default = null): ?string
|
214 |
+
{
|
215 |
+
if ($this->hasAttribute($name)) {
|
216 |
+
return $this->node->getAttribute($name);
|
217 |
+
}
|
218 |
+
|
219 |
+
return $default;
|
220 |
+
}
|
221 |
+
|
222 |
+
/**
|
223 |
+
* Unset an attribute on the element.
|
224 |
+
*
|
225 |
+
* @param string $name The name of an attribute
|
226 |
+
*
|
227 |
+
* @return Element
|
228 |
+
*/
|
229 |
+
public function removeAttribute(string $name): self
|
230 |
+
{
|
231 |
+
$this->node->removeAttribute($name);
|
232 |
+
|
233 |
+
return $this;
|
234 |
+
}
|
235 |
+
|
236 |
+
/**
|
237 |
+
* Unset all attributes of the element.
|
238 |
+
*
|
239 |
+
* @param string[] $preserved
|
240 |
+
*
|
241 |
+
* @return Element
|
242 |
+
*/
|
243 |
+
public function removeAllAttributes(array $preserved = []): self
|
244 |
+
{
|
245 |
+
if ( ! $this->node instanceof DOMElement) {
|
246 |
+
return $this;
|
247 |
+
}
|
248 |
+
|
249 |
+
foreach ($this->attributes() as $name => $value) {
|
250 |
+
if (in_array($name, $preserved, true)) {
|
251 |
+
continue;
|
252 |
+
}
|
253 |
+
|
254 |
+
$this->node->removeAttribute($name);
|
255 |
+
}
|
256 |
+
|
257 |
+
return $this;
|
258 |
+
}
|
259 |
+
|
260 |
+
/**
|
261 |
+
* Alias for getAttribute and setAttribute methods.
|
262 |
+
*
|
263 |
+
* @param string $name The name of an attribute
|
264 |
+
* @param string|null $value The value that will be returned an attribute doesn't exist
|
265 |
+
*
|
266 |
+
* @return string|null|Element
|
267 |
+
*/
|
268 |
+
public function attr(string $name, ?string $value = null)
|
269 |
+
{
|
270 |
+
if ($value === null) {
|
271 |
+
return $this->getAttribute($name);
|
272 |
+
}
|
273 |
+
|
274 |
+
return $this->setAttribute($name, $value);
|
275 |
+
}
|
276 |
+
|
277 |
+
/**
|
278 |
+
* Returns the node attributes or null, if it is not DOMElement.
|
279 |
+
*
|
280 |
+
* @param string[] $names
|
281 |
+
*
|
282 |
+
* @return array|null
|
283 |
+
*/
|
284 |
+
public function attributes(array $names = null): ?array
|
285 |
+
{
|
286 |
+
if ( ! $this->node instanceof DOMElement) {
|
287 |
+
return null;
|
288 |
+
}
|
289 |
+
|
290 |
+
if ($names === null) {
|
291 |
+
$result = [];
|
292 |
+
|
293 |
+
foreach ($this->node->attributes as $name => $attribute) {
|
294 |
+
$result[$name] = $attribute->value;
|
295 |
+
}
|
296 |
+
|
297 |
+
return $result;
|
298 |
+
}
|
299 |
+
|
300 |
+
$result = [];
|
301 |
+
|
302 |
+
foreach ($this->node->attributes as $name => $attribute) {
|
303 |
+
if (in_array($name, $names, true)) {
|
304 |
+
$result[$name] = $attribute->value;
|
305 |
+
}
|
306 |
+
}
|
307 |
+
|
308 |
+
return $result;
|
309 |
+
}
|
310 |
+
|
311 |
+
/**
|
312 |
+
* @return ClassAttribute
|
313 |
+
*
|
314 |
+
* @throws LogicException if the node is not an instance of DOMElement
|
315 |
+
*/
|
316 |
+
public function classes(): ClassAttribute
|
317 |
+
{
|
318 |
+
if ($this->classAttribute !== null) {
|
319 |
+
return $this->classAttribute;
|
320 |
+
}
|
321 |
+
|
322 |
+
if ( ! $this->isElementNode()) {
|
323 |
+
throw new LogicException('Class attribute is available only for element nodes.');
|
324 |
+
}
|
325 |
+
|
326 |
+
$this->classAttribute = new ClassAttribute($this);
|
327 |
+
|
328 |
+
return $this->classAttribute;
|
329 |
+
}
|
330 |
+
|
331 |
+
/**
|
332 |
+
* @return StyleAttribute
|
333 |
+
*
|
334 |
+
* @throws LogicException if the node is not an instance of DOMElement
|
335 |
+
*/
|
336 |
+
public function style(): StyleAttribute
|
337 |
+
{
|
338 |
+
if ($this->styleAttribute !== null) {
|
339 |
+
return $this->styleAttribute;
|
340 |
+
}
|
341 |
+
|
342 |
+
if ( ! $this->isElementNode()) {
|
343 |
+
throw new LogicException('Style attribute is available only for element nodes.');
|
344 |
+
}
|
345 |
+
|
346 |
+
$this->styleAttribute = new StyleAttribute($this);
|
347 |
+
|
348 |
+
return $this->styleAttribute;
|
349 |
+
}
|
350 |
+
|
351 |
+
/**
|
352 |
+
* Dynamically set an attribute on the element.
|
353 |
+
*
|
354 |
+
* @param string $name The name of an attribute
|
355 |
+
* @param string|integer|float $value The value of an attribute
|
356 |
+
*
|
357 |
+
* @return Element
|
358 |
+
*/
|
359 |
+
public function __set(string $name, $value)
|
360 |
+
{
|
361 |
+
return $this->setAttribute($name, $value);
|
362 |
+
}
|
363 |
+
|
364 |
+
/**
|
365 |
+
* Dynamically access the element's attributes.
|
366 |
+
*
|
367 |
+
* @param string $name The name of an attribute
|
368 |
+
*
|
369 |
+
* @return string|null
|
370 |
+
*/
|
371 |
+
public function __get(string $name): ?string
|
372 |
+
{
|
373 |
+
return $this->getAttribute($name);
|
374 |
+
}
|
375 |
+
|
376 |
+
/**
|
377 |
+
* Determine if an attribute exists on the element.
|
378 |
+
*
|
379 |
+
* @param string $name The attribute name
|
380 |
+
*
|
381 |
+
* @return bool
|
382 |
+
*/
|
383 |
+
public function __isset(string $name): bool
|
384 |
+
{
|
385 |
+
return $this->hasAttribute($name);
|
386 |
+
}
|
387 |
+
|
388 |
+
/**
|
389 |
+
* Unset an attribute on the model.
|
390 |
+
*
|
391 |
+
* @param string $name The name of an attribute
|
392 |
+
*/
|
393 |
+
public function __unset(string $name)
|
394 |
+
{
|
395 |
+
$this->removeAttribute($name);
|
396 |
+
}
|
397 |
+
}
|
vendor/imangazaliev/didom/src/DiDom/Encoder.php
ADDED
@@ -0,0 +1,60 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
declare(strict_types=1);
|
4 |
+
|
5 |
+
namespace DiDom;
|
6 |
+
|
7 |
+
class Encoder
|
8 |
+
{
|
9 |
+
/**
|
10 |
+
* @param string $string
|
11 |
+
* @param string $encoding
|
12 |
+
*
|
13 |
+
* @return string
|
14 |
+
*/
|
15 |
+
public static function convertToHtmlEntities(string $string, string $encoding): string
|
16 |
+
{
|
17 |
+
if (function_exists('mb_convert_encoding')) {
|
18 |
+
return mb_convert_encoding($string, 'HTML-ENTITIES', $encoding);
|
19 |
+
}
|
20 |
+
|
21 |
+
if ('UTF-8' !== $encoding) {
|
22 |
+
$string = iconv($encoding, 'UTF-8//IGNORE', $string);
|
23 |
+
}
|
24 |
+
|
25 |
+
return preg_replace_callback('/[\x80-\xFF]+/', [__CLASS__, 'htmlEncodingCallback'], $string);
|
26 |
+
}
|
27 |
+
|
28 |
+
/**
|
29 |
+
* @param string[] $matches
|
30 |
+
*
|
31 |
+
* @return string
|
32 |
+
*/
|
33 |
+
private static function htmlEncodingCallback(array $matches): string
|
34 |
+
{
|
35 |
+
$characterIndex = 1;
|
36 |
+
$entities = '';
|
37 |
+
|
38 |
+
$codes = unpack('C*', htmlentities($matches[0], ENT_COMPAT, 'UTF-8'));
|
39 |
+
|
40 |
+
while (isset($codes[$characterIndex])) {
|
41 |
+
if (0x80 > $codes[$characterIndex]) {
|
42 |
+
$entities .= chr($codes[$characterIndex++]);
|
43 |
+
|
44 |
+
continue;
|
45 |
+
}
|
46 |
+
|
47 |
+
if (0xF0 <= $codes[$characterIndex]) {
|
48 |
+
$code = (($codes[$characterIndex++] - 0xF0) << 18) + (($codes[$characterIndex++] - 0x80) << 12) + (($codes[$characterIndex++] - 0x80) << 6) + $codes[$characterIndex++] - 0x80;
|
49 |
+
} elseif (0xE0 <= $codes[$characterIndex]) {
|
50 |
+
$code = (($codes[$characterIndex++] - 0xE0) << 12) + (($codes[$characterIndex++] - 0x80) << 6) + $codes[$characterIndex++] - 0x80;
|
51 |
+
} else {
|
52 |
+
$code = (($codes[$characterIndex++] - 0xC0) << 6) + $codes[$characterIndex++] - 0x80;
|
53 |
+
}
|
54 |
+
|
55 |
+
$entities .= '&#' . $code . ';';
|
56 |
+
}
|
57 |
+
|
58 |
+
return $entities;
|
59 |
+
}
|
60 |
+
}
|
vendor/imangazaliev/didom/src/DiDom/Errors.php
ADDED
@@ -0,0 +1,48 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
declare(strict_types=1);
|
4 |
+
|
5 |
+
namespace DiDom;
|
6 |
+
|
7 |
+
class Errors
|
8 |
+
{
|
9 |
+
/**
|
10 |
+
* @var bool
|
11 |
+
*/
|
12 |
+
protected static $internalErrors;
|
13 |
+
|
14 |
+
/**
|
15 |
+
* @var bool
|
16 |
+
*/
|
17 |
+
protected static $disableEntities;
|
18 |
+
|
19 |
+
/**
|
20 |
+
* Disable error reporting.
|
21 |
+
*/
|
22 |
+
public static function disable()
|
23 |
+
{
|
24 |
+
self::$internalErrors = libxml_use_internal_errors(true);
|
25 |
+
|
26 |
+
if (\LIBXML_VERSION < 20900) {
|
27 |
+
self::$disableEntities = libxml_disable_entity_loader(true);
|
28 |
+
}
|
29 |
+
}
|
30 |
+
|
31 |
+
/**
|
32 |
+
* Restore error reporting.
|
33 |
+
*
|
34 |
+
* @param bool $clear
|
35 |
+
*/
|
36 |
+
public static function restore($clear = true)
|
37 |
+
{
|
38 |
+
if ($clear) {
|
39 |
+
libxml_clear_errors();
|
40 |
+
}
|
41 |
+
|
42 |
+
libxml_use_internal_errors(self::$internalErrors);
|
43 |
+
|
44 |
+
if (\LIBXML_VERSION < 20900) {
|
45 |
+
libxml_disable_entity_loader(self::$disableEntities);
|
46 |
+
}
|
47 |
+
}
|
48 |
+
}
|
vendor/imangazaliev/didom/src/DiDom/Exceptions/InvalidSelectorException.php
ADDED
@@ -0,0 +1,12 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
declare(strict_types=1);
|
4 |
+
|
5 |
+
namespace DiDom\Exceptions;
|
6 |
+
|
7 |
+
use Exception;
|
8 |
+
|
9 |
+
class InvalidSelectorException extends Exception
|
10 |
+
{
|
11 |
+
//
|
12 |
+
}
|
vendor/imangazaliev/didom/src/DiDom/Node.php
ADDED
@@ -0,0 +1,1163 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
declare(strict_types=1);
|
4 |
+
|
5 |
+
namespace DiDom;
|
6 |
+
|
7 |
+
use DiDom\Exceptions\InvalidSelectorException;
|
8 |
+
use DOMCdataSection;
|
9 |
+
use DOMComment;
|
10 |
+
use DOMDocument;
|
11 |
+
use DOMDocumentFragment;
|
12 |
+
use DOMElement;
|
13 |
+
use DOMNode;
|
14 |
+
use DOMText;
|
15 |
+
use InvalidArgumentException;
|
16 |
+
use LogicException;
|
17 |
+
use RuntimeException;
|
18 |
+
|
19 |
+
/**
|
20 |
+
* @property string $tag
|
21 |
+
*/
|
22 |
+
abstract class Node
|
23 |
+
{
|
24 |
+
/**
|
25 |
+
* The DOM element instance.
|
26 |
+
*
|
27 |
+
* @var DOMElement|DOMText|DOMComment|DOMCdataSection|DOMDocumentFragment
|
28 |
+
*/
|
29 |
+
protected $node;
|
30 |
+
|
31 |
+
/**
|
32 |
+
* Adds a new child at the start of the children.
|
33 |
+
*
|
34 |
+
* @param Node|DOMNode|array $nodes The prepended child
|
35 |
+
*
|
36 |
+
* @return Element|Element[]
|
37 |
+
*
|
38 |
+
* @throws LogicException if the current node has no owner document
|
39 |
+
* @throws InvalidArgumentException if one of elements of parameter 1 is not an instance of DOMNode or Element
|
40 |
+
*/
|
41 |
+
public function prependChild($nodes)
|
42 |
+
{
|
43 |
+
if ($this->node->ownerDocument === null) {
|
44 |
+
throw new LogicException('Can not prepend a child to element without the owner document.');
|
45 |
+
}
|
46 |
+
|
47 |
+
$returnArray = true;
|
48 |
+
|
49 |
+
if ( ! is_array($nodes)) {
|
50 |
+
$nodes = [$nodes];
|
51 |
+
|
52 |
+
$returnArray = false;
|
53 |
+
}
|
54 |
+
|
55 |
+
$nodes = array_reverse($nodes);
|
56 |
+
|
57 |
+
$result = [];
|
58 |
+
|
59 |
+
$referenceNode = $this->node->firstChild;
|
60 |
+
|
61 |
+
foreach ($nodes as $node) {
|
62 |
+
$result[] = $this->insertBefore($node, $referenceNode);
|
63 |
+
|
64 |
+
$referenceNode = $this->node->firstChild;
|
65 |
+
}
|
66 |
+
|
67 |
+
return $returnArray ? $result : $result[0];
|
68 |
+
}
|
69 |
+
|
70 |
+
/**
|
71 |
+
* Adds a new child at the end of the children.
|
72 |
+
*
|
73 |
+
* @param Node|DOMNode|array $nodes The appended child
|
74 |
+
*
|
75 |
+
* @return Element|Element[]
|
76 |
+
*
|
77 |
+
* @throws LogicException if the current node has no owner document
|
78 |
+
* @throws InvalidArgumentException if the provided argument is not an instance of DOMNode or Element
|
79 |
+
*/
|
80 |
+
public function appendChild($nodes)
|
81 |
+
{
|
82 |
+
if ($this->node->ownerDocument === null) {
|
83 |
+
throw new LogicException('Can not append a child to element without the owner document.');
|
84 |
+
}
|
85 |
+
|
86 |
+
$returnArray = true;
|
87 |
+
|
88 |
+
if ( ! is_array($nodes)) {
|
89 |
+
$nodes = [$nodes];
|
90 |
+
|
91 |
+
$returnArray = false;
|
92 |
+
}
|
93 |
+
|
94 |
+
$result = [];
|
95 |
+
|
96 |
+
Errors::disable();
|
97 |
+
|
98 |
+
foreach ($nodes as $node) {
|
99 |
+
if ($node instanceof Node) {
|
100 |
+
$node = $node->getNode();
|
101 |
+
}
|
102 |
+
|
103 |
+
if ( ! $node instanceof DOMNode) {
|
104 |
+
throw new InvalidArgumentException(sprintf('Argument 1 passed to %s must be an instance of %s or DOMNode, %s given.', __METHOD__, __CLASS__, (is_object($node) ? get_class($node) : gettype($node))));
|
105 |
+
}
|
106 |
+
|
107 |
+
$clonedNode = $node->cloneNode(true);
|
108 |
+
$newNode = $this->node->ownerDocument->importNode($clonedNode, true);
|
109 |
+
|
110 |
+
$result[] = $this->node->appendChild($newNode);
|
111 |
+
}
|
112 |
+
|
113 |
+
Errors::restore();
|
114 |
+
|
115 |
+
$result = array_map(function (DOMNode $node) {
|
116 |
+
return new Element($node);
|
117 |
+
}, $result);
|
118 |
+
|
119 |
+
return $returnArray ? $result : $result[0];
|
120 |
+
}
|
121 |
+
|
122 |
+
/**
|
123 |
+
* Adds a new child before a reference node.
|
124 |
+
*
|
125 |
+
* @param Node|DOMNode $node The new node
|
126 |
+
* @param Element|DOMNode|null $referenceNode The reference node
|
127 |
+
*
|
128 |
+
* @return Element
|
129 |
+
*
|
130 |
+
* @throws LogicException if the current node has no owner document
|
131 |
+
* @throws InvalidArgumentException if $node is not an instance of DOMNode or Element
|
132 |
+
* @throws InvalidArgumentException if $referenceNode is not an instance of DOMNode or Element
|
133 |
+
*/
|
134 |
+
public function insertBefore($node, $referenceNode = null): self
|
135 |
+
{
|
136 |
+
if ($this->node->ownerDocument === null) {
|
137 |
+
throw new LogicException('Can not insert a child to an element without the owner document.');
|
138 |
+
}
|
139 |
+
|
140 |
+
if ($node instanceof Node) {
|
141 |
+
$node = $node->getNode();
|
142 |
+
}
|
143 |
+
|
144 |
+
if ( ! $node instanceof DOMNode) {
|
145 |
+
throw new InvalidArgumentException(sprintf('Argument 1 passed to %s must be an instance of %s or DOMNode, %s given.', __METHOD__, __CLASS__, (is_object($node) ? get_class($node) : gettype($node))));
|
146 |
+
}
|
147 |
+
|
148 |
+
if ($referenceNode !== null) {
|
149 |
+
if ($referenceNode instanceof Element) {
|
150 |
+
$referenceNode = $referenceNode->getNode();
|
151 |
+
}
|
152 |
+
|
153 |
+
if ( ! $referenceNode instanceof DOMNode) {
|
154 |
+
throw new InvalidArgumentException(sprintf('Argument 2 passed to %s must be an instance of %s or DOMNode, %s given.', __METHOD__, __CLASS__, (is_object($referenceNode) ? get_class($referenceNode) : gettype($referenceNode))));
|
155 |
+
}
|
156 |
+
}
|
157 |
+
|
158 |
+
Errors::disable();
|
159 |
+
|
160 |
+
$clonedNode = $node->cloneNode(true);
|
161 |
+
$newNode = $this->node->ownerDocument->importNode($clonedNode, true);
|
162 |
+
|
163 |
+
$insertedNode = $this->node->insertBefore($newNode, $referenceNode);
|
164 |
+
|
165 |
+
Errors::restore();
|
166 |
+
|
167 |
+
return new Element($insertedNode);
|
168 |
+
}
|
169 |
+
|
170 |
+
/**
|
171 |
+
* Adds a new child after a reference node.
|
172 |
+
*
|
173 |
+
* @param Node|DOMNode $node The new node
|
174 |
+
* @param Element|DOMNode|null $referenceNode The reference node
|
175 |
+
*
|
176 |
+
* @return Element
|
177 |
+
*
|
178 |
+
* @throws LogicException if the current node has no owner document
|
179 |
+
* @throws InvalidArgumentException if $node is not an instance of DOMNode or Element
|
180 |
+
* @throws InvalidArgumentException if $referenceNode is not an instance of DOMNode or Element
|
181 |
+
*/
|
182 |
+
public function insertAfter($node, $referenceNode = null): self
|
183 |
+
{
|
184 |
+
if ($referenceNode === null) {
|
185 |
+
return $this->insertBefore($node);
|
186 |
+
}
|
187 |
+
|
188 |
+
if ($referenceNode instanceof Node) {
|
189 |
+
$referenceNode = $referenceNode->getNode();
|
190 |
+
}
|
191 |
+
|
192 |
+
if ( ! $referenceNode instanceof DOMNode) {
|
193 |
+
throw new InvalidArgumentException(sprintf('Argument 2 passed to %s must be an instance of %s or DOMNode, %s given.', __METHOD__, __CLASS__, (is_object($referenceNode) ? get_class($referenceNode) : gettype($referenceNode))));
|
194 |
+
}
|
195 |
+
|
196 |
+
return $this->insertBefore($node, $referenceNode->nextSibling);
|
197 |
+
}
|
198 |
+
|
199 |
+
/**
|
200 |
+
* Adds a new sibling before a reference node.
|
201 |
+
*
|
202 |
+
* @param Node|DOMNode $node The new node
|
203 |
+
*
|
204 |
+
* @return Element
|
205 |
+
*
|
206 |
+
* @throws LogicException if the current node has no owner document
|
207 |
+
* @throws InvalidArgumentException if $node is not an instance of DOMNode or Element
|
208 |
+
* @throws InvalidArgumentException if $referenceNode is not an instance of DOMNode or Element
|
209 |
+
*/
|
210 |
+
public function insertSiblingBefore($node): self
|
211 |
+
{
|
212 |
+
if ($this->node->ownerDocument === null) {
|
213 |
+
throw new LogicException('Can not insert a child to an element without the owner document.');
|
214 |
+
}
|
215 |
+
|
216 |
+
if ($this->parent() === null) {
|
217 |
+
throw new LogicException('Can not insert a child to an element without the parent element.');
|
218 |
+
}
|
219 |
+
|
220 |
+
if ($node instanceof Node) {
|
221 |
+
$node = $node->getNode();
|
222 |
+
}
|
223 |
+
|
224 |
+
if ( ! $node instanceof DOMNode) {
|
225 |
+
throw new InvalidArgumentException(sprintf('Argument 1 passed to %s must be an instance of %s or DOMNode, %s given.', __METHOD__, __CLASS__, (is_object($node) ? get_class($node) : gettype($node))));
|
226 |
+
}
|
227 |
+
|
228 |
+
Errors::disable();
|
229 |
+
|
230 |
+
$clonedNode = $node->cloneNode(true);
|
231 |
+
$newNode = $this->node->ownerDocument->importNode($clonedNode, true);
|
232 |
+
|
233 |
+
$insertedNode = $this->parent()->getNode()->insertBefore($newNode, $this->node);
|
234 |
+
|
235 |
+
Errors::restore();
|
236 |
+
|
237 |
+
return new Element($insertedNode);
|
238 |
+
}
|
239 |
+
|
240 |
+
/**
|
241 |
+
* Adds a new sibling after a reference node.
|
242 |
+
*
|
243 |
+
* @param Node|DOMNode $node The new node
|
244 |
+
*
|
245 |
+
* @return Element
|
246 |
+
*
|
247 |
+
* @throws LogicException if the current node has no owner document
|
248 |
+
* @throws InvalidArgumentException if $node is not an instance of DOMNode or Element
|
249 |
+
* @throws InvalidArgumentException if $referenceNode is not an instance of DOMNode or Element
|
250 |
+
*/
|
251 |
+
public function insertSiblingAfter($node): self
|
252 |
+
{
|
253 |
+
if ($this->node->ownerDocument === null) {
|
254 |
+
throw new LogicException('Can not insert a child to an element without the owner document.');
|
255 |
+
}
|
256 |
+
|
257 |
+
if ($this->parent() === null) {
|
258 |
+
throw new LogicException('Can not insert a child to an element without the parent element.');
|
259 |
+
}
|
260 |
+
|
261 |
+
$nextSibling = $this->nextSibling();
|
262 |
+
|
263 |
+
// if the current node is the last child
|
264 |
+
if ($nextSibling === null) {
|
265 |
+
return $this->parent()->appendChild($node);
|
266 |
+
}
|
267 |
+
|
268 |
+
return $nextSibling->insertSiblingBefore($node);
|
269 |
+
}
|
270 |
+
|
271 |
+
/**
|
272 |
+
* Checks the existence of the node.
|
273 |
+
*
|
274 |
+
* @param string $expression XPath expression or CSS selector
|
275 |
+
* @param string $type The type of the expression
|
276 |
+
*
|
277 |
+
* @return bool
|
278 |
+
*/
|
279 |
+
public function has(string $expression, string $type = Query::TYPE_CSS): bool
|
280 |
+
{
|
281 |
+
return $this->toDocument()->has($expression, $type);
|
282 |
+
}
|
283 |
+
|
284 |
+
/**
|
285 |
+
* Searches for a node in the DOM tree for a given XPath expression or CSS selector.
|
286 |
+
*
|
287 |
+
* @param string $expression XPath expression or CSS selector
|
288 |
+
* @param string $type The type of the expression
|
289 |
+
* @param bool $wrapElement Returns array of Element if true, otherwise array of DOMElement
|
290 |
+
*
|
291 |
+
* @return Element[]|DOMElement[]
|
292 |
+
*
|
293 |
+
* @throws InvalidSelectorException
|
294 |
+
*/
|
295 |
+
public function find(string $expression, string $type = Query::TYPE_CSS, bool $wrapElement = true): array
|
296 |
+
{
|
297 |
+
return $this->toDocument()->find($expression, $type, $wrapElement);
|
298 |
+
}
|
299 |
+
|
300 |
+
/**
|
301 |
+
* Searches for a node in the owner document using current node as context.
|
302 |
+
*
|
303 |
+
* @param string $expression XPath expression or CSS selector
|
304 |
+
* @param string $type The type of the expression
|
305 |
+
* @param bool $wrapNode Returns array of Element if true, otherwise array of DOMElement
|
306 |
+
*
|
307 |
+
* @return Element[]|DOMElement[]
|
308 |
+
*
|
309 |
+
* @throws LogicException if the current node has no owner document
|
310 |
+
* @throws InvalidSelectorException
|
311 |
+
*/
|
312 |
+
public function findInDocument(string $expression, string $type = Query::TYPE_CSS, bool $wrapNode = true): array
|
313 |
+
{
|
314 |
+
$ownerDocument = $this->ownerDocument();
|
315 |
+
|
316 |
+
if ($ownerDocument === null) {
|
317 |
+
throw new LogicException('Can not search in context without the owner document.');
|
318 |
+
}
|
319 |
+
|
320 |
+
return $ownerDocument->find($expression, $type, $wrapNode, $this->node);
|
321 |
+
}
|
322 |
+
|
323 |
+
/**
|
324 |
+
* Searches for a node in the DOM tree and returns first element or null.
|
325 |
+
*
|
326 |
+
* @param string $expression XPath expression or CSS selector
|
327 |
+
* @param string $type The type of the expression
|
328 |
+
* @param bool $wrapNode Returns Element if true, otherwise DOMElement
|
329 |
+
*
|
330 |
+
* @return Element|DOMElement|null
|
331 |
+
*
|
332 |
+
* @throws InvalidSelectorException
|
333 |
+
*/
|
334 |
+
public function first(string $expression, string $type = Query::TYPE_CSS, bool $wrapNode = true)
|
335 |
+
{
|
336 |
+
return $this->toDocument()->first($expression, $type, $wrapNode);
|
337 |
+
}
|
338 |
+
|
339 |
+
/**
|
340 |
+
* Searches for a node in the owner document using current node as context and returns first element or null.
|
341 |
+
*
|
342 |
+
* @param string $expression XPath expression or CSS selector
|
343 |
+
* @param string $type The type of the expression
|
344 |
+
* @param bool $wrapNode Returns Element if true, otherwise DOMElement
|
345 |
+
*
|
346 |
+
* @return Element|DOMElement|null
|
347 |
+
*
|
348 |
+
* @throws InvalidSelectorException
|
349 |
+
*/
|
350 |
+
public function firstInDocument(string $expression, string $type = Query::TYPE_CSS, bool $wrapNode = true)
|
351 |
+
{
|
352 |
+
$ownerDocument = $this->ownerDocument();
|
353 |
+
|
354 |
+
if ($ownerDocument === null) {
|
355 |
+
throw new LogicException('Can not search in context without the owner document.');
|
356 |
+
}
|
357 |
+
|
358 |
+
return $ownerDocument->first($expression, $type, $wrapNode, $this->node);
|
359 |
+
}
|
360 |
+
|
361 |
+
/**
|
362 |
+
* Searches for a node in the DOM tree for a given XPath expression.
|
363 |
+
*
|
364 |
+
* @param string $expression XPath expression
|
365 |
+
* @param bool $wrapNode Returns array of Element if true, otherwise array of DOMElement
|
366 |
+
*
|
367 |
+
* @return Element[]|DOMElement[]
|
368 |
+
*
|
369 |
+
* @throws InvalidSelectorException
|
370 |
+
*/
|
371 |
+
public function xpath(string $expression, bool $wrapNode = true): array
|
372 |
+
{
|
373 |
+
return $this->find($expression, Query::TYPE_XPATH, $wrapNode);
|
374 |
+
}
|
375 |
+
|
376 |
+
/**
|
377 |
+
* Counts nodes for a given XPath expression or CSS selector.
|
378 |
+
*
|
379 |
+
* @param string $expression XPath expression or CSS selector
|
380 |
+
* @param string $type The type of the expression
|
381 |
+
*
|
382 |
+
* @return int
|
383 |
+
*
|
384 |
+
* @throws InvalidSelectorException
|
385 |
+
*/
|
386 |
+
public function count(string $expression, string $type = Query::TYPE_CSS): int
|
387 |
+
{
|
388 |
+
return $this->toDocument()->count($expression, $type);
|
389 |
+
}
|
390 |
+
|
391 |
+
/**
|
392 |
+
* Dumps the node into a string using HTML formatting (including child nodes).
|
393 |
+
*
|
394 |
+
* @return string
|
395 |
+
*/
|
396 |
+
public function html(): string
|
397 |
+
{
|
398 |
+
return $this->toDocument()->html();
|
399 |
+
}
|
400 |
+
|
401 |
+
/**
|
402 |
+
* Dumps the node into a string using HTML formatting (without child nodes).
|
403 |
+
*
|
404 |
+
* @return string
|
405 |
+
*/
|
406 |
+
public function outerHtml(): string
|
407 |
+
{
|
408 |
+
$document = new DOMDocument();
|
409 |
+
|
410 |
+
$importedNode = $document->importNode($this->node);
|
411 |
+
|
412 |
+
return $document->saveHTML($importedNode);
|
413 |
+
}
|
414 |
+
|
415 |
+
/**
|
416 |
+
* Dumps the node descendants into a string using HTML formatting.
|
417 |
+
*
|
418 |
+
* @param string $delimiter
|
419 |
+
*
|
420 |
+
* @return string
|
421 |
+
*/
|
422 |
+
public function innerHtml(string $delimiter = ''): string
|
423 |
+
{
|
424 |
+
$innerHtml = [];
|
425 |
+
|
426 |
+
foreach ($this->node->childNodes as $childNode) {
|
427 |
+
$innerHtml[] = $childNode->ownerDocument->saveHTML($childNode);
|
428 |
+
}
|
429 |
+
|
430 |
+
return implode($delimiter, $innerHtml);
|
431 |
+
}
|
432 |
+
|
433 |
+
/**
|
434 |
+
* Dumps the node descendants into a string using XML formatting.
|
435 |
+
*
|
436 |
+
* @param string $delimiter
|
437 |
+
*
|
438 |
+
* @return string
|
439 |
+
*/
|
440 |
+
public function innerXml(string $delimiter = ''): string
|
441 |
+
{
|
442 |
+
$innerXml = [];
|
443 |
+
|
444 |
+
foreach ($this->node->childNodes as $childNode) {
|
445 |
+
$innerXml[] = $childNode->ownerDocument->saveXML($childNode);
|
446 |
+
}
|
447 |
+
|
448 |
+
return implode($delimiter, $innerXml);
|
449 |
+
}
|
450 |
+
|
451 |
+
/**
|
452 |
+
* Sets inner HTML.
|
453 |
+
*
|
454 |
+
* @param string $html
|
455 |
+
*
|
456 |
+
* @return static
|
457 |
+
*
|
458 |
+
* @throws InvalidArgumentException if passed argument is not a string
|
459 |
+
* @throws InvalidSelectorException
|
460 |
+
*/
|
461 |
+
public function setInnerHtml(string $html): self
|
462 |
+
{
|
463 |
+
return $this->setContent($html, Document::TYPE_HTML);
|
464 |
+
}
|
465 |
+
|
466 |
+
/**
|
467 |
+
* Sets inner HTML.
|
468 |
+
*
|
469 |
+
* @param string $xml
|
470 |
+
*
|
471 |
+
* @return static
|
472 |
+
*
|
473 |
+
* @throws InvalidArgumentException if passed argument is not a string
|
474 |
+
* @throws InvalidSelectorException
|
475 |
+
*/
|
476 |
+
public function setInnerXml(string $xml): self
|
477 |
+
{
|
478 |
+
return $this->setContent($xml, Document::TYPE_XML);
|
479 |
+
}
|
480 |
+
|
481 |
+
protected function setContent(string $content, string $type): self
|
482 |
+
{
|
483 |
+
$this->removeChildren();
|
484 |
+
|
485 |
+
Errors::disable();
|
486 |
+
|
487 |
+
$encoding = $this->ownerDocument()->getEncoding() ?? 'UTF-8';
|
488 |
+
|
489 |
+
$document = new Document("<didom-fragment>$content</didom-fragment>", false, $encoding, $type);
|
490 |
+
|
491 |
+
$fragment = $document->first('didom-fragment')->getNode();
|
492 |
+
|
493 |
+
foreach ($fragment->childNodes as $node) {
|
494 |
+
$newNode = $this->node->ownerDocument->importNode($node, true);
|
495 |
+
|
496 |
+
$this->node->appendChild($newNode);
|
497 |
+
}
|
498 |
+
|
499 |
+
Errors::restore();
|
500 |
+
|
501 |
+
return $this;
|
502 |
+
}
|
503 |
+
|
504 |
+
/**
|
505 |
+
* Dumps the node into a string using XML formatting.
|
506 |
+
*
|
507 |
+
* @param int $options Additional options
|
508 |
+
*
|
509 |
+
* @return string The node XML
|
510 |
+
*/
|
511 |
+
public function xml(int $options = 0): string
|
512 |
+
{
|
513 |
+
return $this->toDocument()->xml($options);
|
514 |
+
}
|
515 |
+
|
516 |
+
/**
|
517 |
+
* Get the text content of this node and its descendants.
|
518 |
+
*
|
519 |
+
* @return string The node value
|
520 |
+
*/
|
521 |
+
public function text(): string
|
522 |
+
{
|
523 |
+
return $this->node->textContent;
|
524 |
+
}
|
525 |
+
|
526 |
+
/**
|
527 |
+
* Set the value of this node.
|
528 |
+
*
|
529 |
+
* @param string|integer|float $value The new value of the node
|
530 |
+
*
|
531 |
+
* @return static
|
532 |
+
*
|
533 |
+
* @throws InvalidArgumentException if parameter 1 is not a string
|
534 |
+
*/
|
535 |
+
public function setValue($value): self
|
536 |
+
{
|
537 |
+
if (is_numeric($value)) {
|
538 |
+
$value = (string) $value;
|
539 |
+
}
|
540 |
+
|
541 |
+
if ( ! is_string($value)) {
|
542 |
+
throw new InvalidArgumentException(sprintf('%s expects parameter 1 to be string, integer or float, %s given', __METHOD__, (is_object($value) ? get_class($value) : gettype($value))));
|
543 |
+
}
|
544 |
+
|
545 |
+
$this->node->nodeValue = $value;
|
546 |
+
|
547 |
+
return $this;
|
548 |
+
}
|
549 |
+
|
550 |
+
/**
|
551 |
+
* Returns true if the current node is a DOMElement instance.
|
552 |
+
*
|
553 |
+
* @return bool
|
554 |
+
*/
|
555 |
+
public function isElementNode(): bool
|
556 |
+
{
|
557 |
+
return $this->node instanceof DOMElement;
|
558 |
+
}
|
559 |
+
|
560 |
+
/**
|
561 |
+
* Returns true if the current node is a a DOMText instance.
|
562 |
+
*
|
563 |
+
* @return bool
|
564 |
+
*/
|
565 |
+
public function isTextNode(): bool
|
566 |
+
{
|
567 |
+
return $this->node instanceof DOMText;
|
568 |
+
}
|
569 |
+
|
570 |
+
/**
|
571 |
+
* Returns true if the current node is a DOMComment instance.
|
572 |
+
*
|
573 |
+
* @return bool
|
574 |
+
*/
|
575 |
+
public function isCommentNode(): bool
|
576 |
+
{
|
577 |
+
return $this->node instanceof DOMComment;
|
578 |
+
}
|
579 |
+
|
580 |
+
/**
|
581 |
+
* Returns true if the current node is a DOMCdataSection instance.
|
582 |
+
*
|
583 |
+
* @return bool
|
584 |
+
*/
|
585 |
+
public function isCdataSectionNode(): bool
|
586 |
+
{
|
587 |
+
return $this->node instanceof DOMCdataSection;
|
588 |
+
}
|
589 |
+
|
590 |
+
/**
|
591 |
+
* Indicates if two nodes are the same node.
|
592 |
+
*
|
593 |
+
* @param Element|DOMNode $node
|
594 |
+
*
|
595 |
+
* @return bool
|
596 |
+
*
|
597 |
+
* @throws InvalidArgumentException if parameter 1 is not an instance of DOMNode
|
598 |
+
*/
|
599 |
+
public function is($node): bool
|
600 |
+
{
|
601 |
+
if ($node instanceof Node) {
|
602 |
+
$node = $node->getNode();
|
603 |
+
}
|
604 |
+
|
605 |
+
if ( ! $node instanceof DOMNode) {
|
606 |
+
throw new InvalidArgumentException(sprintf('Argument 1 passed to %s must be an instance of %s or DOMNode, %s given.', __METHOD__, __CLASS__, (is_object($node) ? get_class($node) : gettype($node))));
|
607 |
+
}
|
608 |
+
|
609 |
+
return $this->node->isSameNode($node);
|
610 |
+
}
|
611 |
+
|
612 |
+
/**
|
613 |
+
* @return Element|Document|null
|
614 |
+
*/
|
615 |
+
public function parent()
|
616 |
+
{
|
617 |
+
if ($this->node->parentNode === null) {
|
618 |
+
return null;
|
619 |
+
}
|
620 |
+
|
621 |
+
if ($this->node->parentNode instanceof DOMDocument) {
|
622 |
+
return new Document($this->node->parentNode);
|
623 |
+
}
|
624 |
+
|
625 |
+
return new Element($this->node->parentNode);
|
626 |
+
}
|
627 |
+
|
628 |
+
/**
|
629 |
+
* Returns first parent node matches passed selector.
|
630 |
+
*
|
631 |
+
* @param string $selector
|
632 |
+
* @param bool $strict
|
633 |
+
*
|
634 |
+
* @return Element|null
|
635 |
+
*
|
636 |
+
* @throws InvalidSelectorException if the selector is invalid
|
637 |
+
*/
|
638 |
+
public function closest(string $selector, bool $strict = false): ?Element
|
639 |
+
{
|
640 |
+
$node = $this;
|
641 |
+
|
642 |
+
while (true) {
|
643 |
+
$parent = $node->parent();
|
644 |
+
|
645 |
+
if ($parent === null || $parent instanceof Document) {
|
646 |
+
return null;
|
647 |
+
}
|
648 |
+
|
649 |
+
if ($parent->matches($selector, $strict)) {
|
650 |
+
return $parent;
|
651 |
+
}
|
652 |
+
|
653 |
+
$node = $parent;
|
654 |
+
}
|
655 |
+
}
|
656 |
+
|
657 |
+
/**
|
658 |
+
* @param string|null $selector
|
659 |
+
* @param string|null $nodeType
|
660 |
+
*
|
661 |
+
* @return Element|null
|
662 |
+
*
|
663 |
+
* @throws InvalidArgumentException if parameter 2 is not a string
|
664 |
+
* @throws RuntimeException if the node type is invalid
|
665 |
+
* @throws LogicException if the selector used with non DOMElement node type
|
666 |
+
* @throws InvalidSelectorException if the selector is invalid
|
667 |
+
*/
|
668 |
+
public function previousSibling(?string $selector = null, ?string $nodeType = null): ?Element
|
669 |
+
{
|
670 |
+
if ($this->node->previousSibling === null) {
|
671 |
+
return null;
|
672 |
+
}
|
673 |
+
|
674 |
+
if ($selector === null && $nodeType === null) {
|
675 |
+
return new Element($this->node->previousSibling);
|
676 |
+
}
|
677 |
+
|
678 |
+
if ($selector !== null && $nodeType === null) {
|
679 |
+
$nodeType = 'DOMElement';
|
680 |
+
}
|
681 |
+
|
682 |
+
$allowedTypes = ['DOMElement', 'DOMText', 'DOMComment', 'DOMCdataSection'];
|
683 |
+
|
684 |
+
if ( ! in_array($nodeType, $allowedTypes, true)) {
|
685 |
+
throw new RuntimeException(sprintf('Unknown node type "%s". Allowed types: %s', $nodeType, implode(', ', $allowedTypes)));
|
686 |
+
}
|
687 |
+
|
688 |
+
if ($selector !== null && $nodeType !== 'DOMElement') {
|
689 |
+
throw new LogicException(sprintf('Selector can be used only with DOMElement node type, %s given.', $nodeType));
|
690 |
+
}
|
691 |
+
|
692 |
+
$node = $this->node->previousSibling;
|
693 |
+
|
694 |
+
while ($node !== null) {
|
695 |
+
if (get_class($node) !== $nodeType) {
|
696 |
+
$node = $node->previousSibling;
|
697 |
+
|
698 |
+
continue;
|
699 |
+
}
|
700 |
+
|
701 |
+
$element = new Element($node);
|
702 |
+
|
703 |
+
if ($selector === null || $element->matches($selector)) {
|
704 |
+
return $element;
|
705 |
+
}
|
706 |
+
|
707 |
+
$node = $node->previousSibling;
|
708 |
+
}
|
709 |
+
|
710 |
+
return null;
|
711 |
+
}
|
712 |
+
|
713 |
+
/**
|
714 |
+
* @param string|null $selector
|
715 |
+
* @param string|null $nodeType
|
716 |
+
*
|
717 |
+
* @return Element[]
|
718 |
+
*
|
719 |
+
* @throws InvalidArgumentException if parameter 2 is not a string
|
720 |
+
* @throws RuntimeException if the node type is invalid
|
721 |
+
* @throws LogicException if the selector used with non DOMElement node type
|
722 |
+
* @throws InvalidSelectorException if the selector is invalid
|
723 |
+
*/
|
724 |
+
public function previousSiblings(?string $selector = null, ?string $nodeType = null): array
|
725 |
+
{
|
726 |
+
if ($this->node->previousSibling === null) {
|
727 |
+
return [];
|
728 |
+
}
|
729 |
+
|
730 |
+
if ($selector !== null && $nodeType === null) {
|
731 |
+
$nodeType = 'DOMElement';
|
732 |
+
}
|
733 |
+
|
734 |
+
if ($nodeType !== null) {
|
735 |
+
$allowedTypes = ['DOMElement', 'DOMText', 'DOMComment', 'DOMCdataSection'];
|
736 |
+
|
737 |
+
if ( ! in_array($nodeType, $allowedTypes, true)) {
|
738 |
+
throw new RuntimeException(sprintf('Unknown node type "%s". Allowed types: %s', $nodeType, implode(', ', $allowedTypes)));
|
739 |
+
}
|
740 |
+
}
|
741 |
+
|
742 |
+
if ($selector !== null && $nodeType !== 'DOMElement') {
|
743 |
+
throw new LogicException(sprintf('Selector can be used only with DOMElement node type, %s given.', $nodeType));
|
744 |
+
}
|
745 |
+
|
746 |
+
$result = [];
|
747 |
+
|
748 |
+
$node = $this->node->previousSibling;
|
749 |
+
|
750 |
+
while ($node !== null) {
|
751 |
+
$element = new Element($node);
|
752 |
+
|
753 |
+
if ($nodeType === null) {
|
754 |
+
$result[] = $element;
|
755 |
+
|
756 |
+
$node = $node->previousSibling;
|
757 |
+
|
758 |
+
continue;
|
759 |
+
}
|
760 |
+
|
761 |
+
if (get_class($node) !== $nodeType) {
|
762 |
+
$node = $node->previousSibling;
|
763 |
+
|
764 |
+
continue;
|
765 |
+
}
|
766 |
+
|
767 |
+
if ($selector === null) {
|
768 |
+
$result[] = $element;
|
769 |
+
|
770 |
+
$node = $node->previousSibling;
|
771 |
+
|
772 |
+
continue;
|
773 |
+
}
|
774 |
+
|
775 |
+
if ($element->matches($selector)) {
|
776 |
+
$result[] = $element;
|
777 |
+
}
|
778 |
+
|
779 |
+
$node = $node->previousSibling;
|
780 |
+
}
|
781 |
+
|
782 |
+
return array_reverse($result);
|
783 |
+
}
|
784 |
+
|
785 |
+
/**
|
786 |
+
* @param string|null $selector
|
787 |
+
* @param string|null $nodeType
|
788 |
+
*
|
789 |
+
* @return Element|null
|
790 |
+
*
|
791 |
+
* @throws InvalidArgumentException if parameter 2 is not a string
|
792 |
+
* @throws RuntimeException if the node type is invalid
|
793 |
+
* @throws LogicException if the selector used with non DOMElement node type
|
794 |
+
* @throws InvalidSelectorException if the selector is invalid
|
795 |
+
*/
|
796 |
+
public function nextSibling(?string $selector = null, ?string $nodeType = null): ?Element
|
797 |
+
{
|
798 |
+
if ($this->node->nextSibling === null) {
|
799 |
+
return null;
|
800 |
+
}
|
801 |
+
|
802 |
+
if ($selector === null && $nodeType === null) {
|
803 |
+
return new Element($this->node->nextSibling);
|
804 |
+
}
|
805 |
+
|
806 |
+
if ($selector !== null && $nodeType === null) {
|
807 |
+
$nodeType = 'DOMElement';
|
808 |
+
}
|
809 |
+
|
810 |
+
$allowedTypes = ['DOMElement', 'DOMText', 'DOMComment', 'DOMCdataSection'];
|
811 |
+
|
812 |
+
if ( ! in_array($nodeType, $allowedTypes, true)) {
|
813 |
+
throw new RuntimeException(sprintf('Unknown node type "%s". Allowed types: %s', $nodeType, implode(', ', $allowedTypes)));
|
814 |
+
}
|
815 |
+
|
816 |
+
if ($selector !== null && $nodeType !== 'DOMElement') {
|
817 |
+
throw new LogicException(sprintf('Selector can be used only with DOMElement node type, %s given.', $nodeType));
|
818 |
+
}
|
819 |
+
|
820 |
+
$node = $this->node->nextSibling;
|
821 |
+
|
822 |
+
while ($node !== null) {
|
823 |
+
if (get_class($node) !== $nodeType) {
|
824 |
+
$node = $node->nextSibling;
|
825 |
+
|
826 |
+
continue;
|
827 |
+
}
|
828 |
+
|
829 |
+
$element = new Element($node);
|
830 |
+
|
831 |
+
if ($selector === null || $element->matches($selector)) {
|
832 |
+
return $element;
|
833 |
+
}
|
834 |
+
|
835 |
+
$node = $node->nextSibling;
|
836 |
+
}
|
837 |
+
|
838 |
+
return null;
|
839 |
+
}
|
840 |
+
|
841 |
+
/**
|
842 |
+
* @param string|null $selector
|
843 |
+
* @param string|null $nodeType
|
844 |
+
*
|
845 |
+
* @return Element[]
|
846 |
+
*
|
847 |
+
* @throws InvalidArgumentException if parameter 2 is not a string
|
848 |
+
* @throws RuntimeException if the node type is invalid
|
849 |
+
* @throws LogicException if the selector used with non DOMElement node type
|
850 |
+
* @throws InvalidSelectorException if the selector is invalid
|
851 |
+
*/
|
852 |
+
public function nextSiblings(?string $selector = null, ?string $nodeType = null): array
|
853 |
+
{
|
854 |
+
if ($this->node->nextSibling === null) {
|
855 |
+
return [];
|
856 |
+
}
|
857 |
+
|
858 |
+
if ($selector !== null && $nodeType === null) {
|
859 |
+
$nodeType = 'DOMElement';
|
860 |
+
}
|
861 |
+
|
862 |
+
$allowedTypes = ['DOMElement', 'DOMText', 'DOMComment', 'DOMCdataSection'];
|
863 |
+
|
864 |
+
if ($nodeType !== null && ! in_array($nodeType, $allowedTypes, true)) {
|
865 |
+
throw new RuntimeException(sprintf('Unknown node type "%s". Allowed types: %s', $nodeType, implode(', ', $allowedTypes)));
|
866 |
+
}
|
867 |
+
|
868 |
+
if ($selector !== null && $nodeType !== 'DOMElement') {
|
869 |
+
throw new LogicException(sprintf('Selector can be used only with DOMElement node type, %s given.', $nodeType));
|
870 |
+
}
|
871 |
+
|
872 |
+
$result = [];
|
873 |
+
|
874 |
+
$node = $this->node->nextSibling;
|
875 |
+
|
876 |
+
while ($node !== null) {
|
877 |
+
$element = new Element($node);
|
878 |
+
|
879 |
+
if ($nodeType === null) {
|
880 |
+
$result[] = $element;
|
881 |
+
|
882 |
+
$node = $node->nextSibling;
|
883 |
+
|
884 |
+
continue;
|
885 |
+
}
|
886 |
+
|
887 |
+
if (get_class($node) !== $nodeType) {
|
888 |
+
$node = $node->nextSibling;
|
889 |
+
|
890 |
+
continue;
|
891 |
+
}
|
892 |
+
|
893 |
+
if ($selector === null) {
|
894 |
+
$result[] = $element;
|
895 |
+
|
896 |
+
$node = $node->nextSibling;
|
897 |
+
|
898 |
+
continue;
|
899 |
+
}
|
900 |
+
|
901 |
+
if ($element->matches($selector)) {
|
902 |
+
$result[] = $element;
|
903 |
+
}
|
904 |
+
|
905 |
+
$node = $node->nextSibling;
|
906 |
+
}
|
907 |
+
|
908 |
+
return $result;
|
909 |
+
}
|
910 |
+
|
911 |
+
/**
|
912 |
+
* @param int $index
|
913 |
+
*
|
914 |
+
* @return Element|null
|
915 |
+
*/
|
916 |
+
public function child(int $index): ?Element
|
917 |
+
{
|
918 |
+
$child = $this->node->childNodes->item($index);
|
919 |
+
|
920 |
+
return $child === null ? null : new Element($child);
|
921 |
+
}
|
922 |
+
|
923 |
+
/**
|
924 |
+
* @return Element|null
|
925 |
+
*/
|
926 |
+
public function firstChild(): ?Element
|
927 |
+
{
|
928 |
+
if ($this->node->firstChild === null) {
|
929 |
+
return null;
|
930 |
+
}
|
931 |
+
|
932 |
+
return new Element($this->node->firstChild);
|
933 |
+
}
|
934 |
+
|
935 |
+
/**
|
936 |
+
* @return Element|null
|
937 |
+
*/
|
938 |
+
public function lastChild(): ?Element
|
939 |
+
{
|
940 |
+
if ($this->node->lastChild === null) {
|
941 |
+
return null;
|
942 |
+
}
|
943 |
+
|
944 |
+
return new Element($this->node->lastChild);
|
945 |
+
}
|
946 |
+
|
947 |
+
/**
|
948 |
+
* @return bool
|
949 |
+
*/
|
950 |
+
public function hasChildren(): bool
|
951 |
+
{
|
952 |
+
return $this->node->hasChildNodes();
|
953 |
+
}
|
954 |
+
|
955 |
+
/**
|
956 |
+
* @return Element[]
|
957 |
+
*/
|
958 |
+
public function children(): array
|
959 |
+
{
|
960 |
+
$children = [];
|
961 |
+
|
962 |
+
foreach ($this->node->childNodes as $node) {
|
963 |
+
$children[] = new Element($node);
|
964 |
+
}
|
965 |
+
|
966 |
+
return $children;
|
967 |
+
}
|
968 |
+
|
969 |
+
/**
|
970 |
+
* Removes child from list of children.
|
971 |
+
*
|
972 |
+
* @param Node|DOMNode $childNode
|
973 |
+
*
|
974 |
+
* @return Element the node that has been removed
|
975 |
+
*/
|
976 |
+
public function removeChild($childNode): Element
|
977 |
+
{
|
978 |
+
if ($childNode instanceof Node) {
|
979 |
+
$childNode = $childNode->getNode();
|
980 |
+
}
|
981 |
+
|
982 |
+
if ( ! $childNode instanceof DOMNode) {
|
983 |
+
throw new InvalidArgumentException(sprintf('Argument 1 passed to %s must be an instance of %s or DOMNode, %s given.', __METHOD__, __CLASS__, (is_object($childNode) ? get_class($childNode) : gettype($childNode))));
|
984 |
+
}
|
985 |
+
|
986 |
+
$removedNode = $this->node->removeChild($childNode);
|
987 |
+
|
988 |
+
return new Element($removedNode);
|
989 |
+
}
|
990 |
+
|
991 |
+
/**
|
992 |
+
* Removes all child nodes.
|
993 |
+
*
|
994 |
+
* @return Element[] the nodes that has been removed
|
995 |
+
*/
|
996 |
+
public function removeChildren(): array
|
997 |
+
{
|
998 |
+
// we need to collect child nodes to array
|
999 |
+
// because removing nodes from the DOMNodeList on iterating is not working
|
1000 |
+
$childNodes = [];
|
1001 |
+
|
1002 |
+
foreach ($this->node->childNodes as $childNode) {
|
1003 |
+
$childNodes[] = $childNode;
|
1004 |
+
}
|
1005 |
+
|
1006 |
+
$removedNodes = [];
|
1007 |
+
|
1008 |
+
foreach ($childNodes as $childNode) {
|
1009 |
+
$removedNode = $this->node->removeChild($childNode);
|
1010 |
+
|
1011 |
+
$removedNodes[] = new Element($removedNode);
|
1012 |
+
}
|
1013 |
+
|
1014 |
+
return $removedNodes;
|
1015 |
+
}
|
1016 |
+
|
1017 |
+
/**
|
1018 |
+
* Removes current node from the parent.
|
1019 |
+
*
|
1020 |
+
* @return Element the node that has been removed
|
1021 |
+
*
|
1022 |
+
* @throws LogicException if the current node has no parent node
|
1023 |
+
*/
|
1024 |
+
public function remove(): Element
|
1025 |
+
{
|
1026 |
+
if ($this->node->parentNode === null) {
|
1027 |
+
throw new LogicException('Can not remove an element without the parent node.');
|
1028 |
+
}
|
1029 |
+
|
1030 |
+
$removedNode = $this->node->parentNode->removeChild($this->node);
|
1031 |
+
|
1032 |
+
return new Element($removedNode);
|
1033 |
+
}
|
1034 |
+
|
1035 |
+
/**
|
1036 |
+
* Replaces a child.
|
1037 |
+
*
|
1038 |
+
* @param Node|DOMNode $newNode The new node
|
1039 |
+
* @param bool $clone Clone the node if true, otherwise move it
|
1040 |
+
*
|
1041 |
+
* @return Element The node that has been replaced
|
1042 |
+
*
|
1043 |
+
* @throws LogicException if the current node has no parent node
|
1044 |
+
*/
|
1045 |
+
public function replace($newNode, bool $clone = true): Element
|
1046 |
+
{
|
1047 |
+
if ($this->node->parentNode === null) {
|
1048 |
+
throw new LogicException('Can not replace an element without the parent node.');
|
1049 |
+
}
|
1050 |
+
|
1051 |
+
if ($newNode instanceof Node) {
|
1052 |
+
$newNode = $newNode->getNode();
|
1053 |
+
}
|
1054 |
+
|
1055 |
+
if ( ! $newNode instanceof DOMNode) {
|
1056 |
+
throw new InvalidArgumentException(sprintf('Argument 1 passed to %s must be an instance of %s or DOMNode, %s given.', __METHOD__, __CLASS__, (is_object($newNode) ? get_class($newNode) : gettype($newNode))));
|
1057 |
+
}
|
1058 |
+
|
1059 |
+
if ($clone) {
|
1060 |
+
$newNode = $newNode->cloneNode(true);
|
1061 |
+
}
|
1062 |
+
|
1063 |
+
if ($newNode->ownerDocument === null || ! $this->ownerDocument()->is($newNode->ownerDocument)) {
|
1064 |
+
$newNode = $this->node->ownerDocument->importNode($newNode, true);
|
1065 |
+
}
|
1066 |
+
|
1067 |
+
$node = $this->node->parentNode->replaceChild($newNode, $this->node);
|
1068 |
+
|
1069 |
+
return new Element($node);
|
1070 |
+
}
|
1071 |
+
|
1072 |
+
/**
|
1073 |
+
* Get line number for a node.
|
1074 |
+
*
|
1075 |
+
* @return int
|
1076 |
+
*/
|
1077 |
+
public function getLineNo(): int
|
1078 |
+
{
|
1079 |
+
return $this->node->getLineNo();
|
1080 |
+
}
|
1081 |
+
|
1082 |
+
/**
|
1083 |
+
* Clones a node.
|
1084 |
+
*
|
1085 |
+
* @param bool $deep Indicates whether to copy all descendant nodes
|
1086 |
+
*
|
1087 |
+
* @return Element The cloned node
|
1088 |
+
*/
|
1089 |
+
public function cloneNode(bool $deep = true): Element
|
1090 |
+
{
|
1091 |
+
return new Element($this->node->cloneNode($deep));
|
1092 |
+
}
|
1093 |
+
|
1094 |
+
/**
|
1095 |
+
* Sets current node instance.
|
1096 |
+
*
|
1097 |
+
* @param DOMElement|DOMText|DOMComment|DOMCdataSection|DOMDocumentFragment $node
|
1098 |
+
*
|
1099 |
+
* @return static
|
1100 |
+
*/
|
1101 |
+
protected function setNode($node): self
|
1102 |
+
{
|
1103 |
+
$allowedClasses = ['DOMElement', 'DOMText', 'DOMComment', 'DOMCdataSection', 'DOMDocumentFragment'];
|
1104 |
+
|
1105 |
+
if ( ! is_object($node) || ! in_array(get_class($node), $allowedClasses, true)) {
|
1106 |
+
throw new InvalidArgumentException(sprintf('Argument 1 passed to %s must be an instance of DOMElement, DOMText, DOMComment, DOMCdataSection or DOMDocumentFragment, %s given.', __METHOD__, (is_object($node) ? get_class($node) : gettype($node))));
|
1107 |
+
}
|
1108 |
+
|
1109 |
+
$this->node = $node;
|
1110 |
+
|
1111 |
+
return $this;
|
1112 |
+
}
|
1113 |
+
|
1114 |
+
/**
|
1115 |
+
* Returns current node instance.
|
1116 |
+
*
|
1117 |
+
* @return DOMElement|DOMText|DOMComment|DOMCdataSection|DOMDocumentFragment
|
1118 |
+
*/
|
1119 |
+
public function getNode()
|
1120 |
+
{
|
1121 |
+
return $this->node;
|
1122 |
+
}
|
1123 |
+
|
1124 |
+
/**
|
1125 |
+
* Returns the document associated with this node.
|
1126 |
+
*
|
1127 |
+
* @return Document|null
|
1128 |
+
*/
|
1129 |
+
public function ownerDocument(): ?Document
|
1130 |
+
{
|
1131 |
+
if ($this->node->ownerDocument === null) {
|
1132 |
+
return null;
|
1133 |
+
}
|
1134 |
+
|
1135 |
+
return new Document($this->node->ownerDocument);
|
1136 |
+
}
|
1137 |
+
|
1138 |
+
/**
|
1139 |
+
* Get the DOM document with the current element.
|
1140 |
+
*
|
1141 |
+
* @param string $encoding The document encoding
|
1142 |
+
*
|
1143 |
+
* @return Document
|
1144 |
+
*/
|
1145 |
+
public function toDocument(string $encoding = 'UTF-8'): Document
|
1146 |
+
{
|
1147 |
+
$document = new Document(null, false, $encoding);
|
1148 |
+
|
1149 |
+
$document->appendChild($this->node);
|
1150 |
+
|
1151 |
+
return $document;
|
1152 |
+
}
|
1153 |
+
|
1154 |
+
/**
|
1155 |
+
* Convert the element to its string representation.
|
1156 |
+
*
|
1157 |
+
* @return string
|
1158 |
+
*/
|
1159 |
+
public function __toString(): string
|
1160 |
+
{
|
1161 |
+
return $this->html();
|
1162 |
+
}
|
1163 |
+
}
|
vendor/imangazaliev/didom/src/DiDom/Query.php
ADDED
@@ -0,0 +1,561 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
declare(strict_types=1);
|
4 |
+
|
5 |
+
namespace DiDom;
|
6 |
+
|
7 |
+
use DiDom\Exceptions\InvalidSelectorException;
|
8 |
+
use InvalidArgumentException;
|
9 |
+
use RuntimeException;
|
10 |
+
|
11 |
+
class Query
|
12 |
+
{
|
13 |
+
/**
|
14 |
+
* Types of expression.
|
15 |
+
*
|
16 |
+
* @const string
|
17 |
+
*/
|
18 |
+
const TYPE_XPATH = 'XPATH';
|
19 |
+
const TYPE_CSS = 'CSS';
|
20 |
+
|
21 |
+
/**
|
22 |
+
* @var array
|
23 |
+
*/
|
24 |
+
protected static $compiled = [];
|
25 |
+
|
26 |
+
/**
|
27 |
+
* Converts a CSS selector into an XPath expression.
|
28 |
+
*
|
29 |
+
* @param string $expression XPath expression or CSS selector
|
30 |
+
* @param string $type The type of the expression
|
31 |
+
*
|
32 |
+
* @return string XPath expression
|
33 |
+
*
|
34 |
+
* @throws InvalidSelectorException if the expression is empty
|
35 |
+
*/
|
36 |
+
public static function compile(string $expression, string $type = self::TYPE_CSS): string
|
37 |
+
{
|
38 |
+
if (strcasecmp($type, self::TYPE_XPATH) !== 0 && strcasecmp($type, self::TYPE_CSS) !== 0) {
|
39 |
+
throw new RuntimeException(sprintf('Unknown expression type "%s".', $type));
|
40 |
+
}
|
41 |
+
|
42 |
+
$expression = trim($expression);
|
43 |
+
|
44 |
+
if ($expression === '') {
|
45 |
+
throw new InvalidSelectorException('The expression must not be empty.');
|
46 |
+
}
|
47 |
+
|
48 |
+
if (strcasecmp($type, self::TYPE_XPATH) === 0) {
|
49 |
+
return $expression;
|
50 |
+
}
|
51 |
+
|
52 |
+
if ( ! array_key_exists($expression, static::$compiled)) {
|
53 |
+
static::$compiled[$expression] = static::cssToXpath($expression);
|
54 |
+
}
|
55 |
+
|
56 |
+
return static::$compiled[$expression];
|
57 |
+
}
|
58 |
+
|
59 |
+
/**
|
60 |
+
* Converts a CSS selector into an XPath expression.
|
61 |
+
*
|
62 |
+
* @param string $selector A CSS selector
|
63 |
+
* @param string $prefix Specifies the nesting of nodes
|
64 |
+
*
|
65 |
+
* @return string XPath expression
|
66 |
+
*
|
67 |
+
* @throws InvalidSelectorException
|
68 |
+
*/
|
69 |
+
public static function cssToXpath(string $selector, string $prefix = '//'): string
|
70 |
+
{
|
71 |
+
$paths = [];
|
72 |
+
|
73 |
+
while ($selector !== '') {
|
74 |
+
list($xpath, $selector) = static::parseAndConvertSelector($selector, $prefix);
|
75 |
+
|
76 |
+
if (substr($selector, 0, 1) === ',') {
|
77 |
+
$selector = trim($selector, ', ');
|
78 |
+
}
|
79 |
+
|
80 |
+
$paths[] = $xpath;
|
81 |
+
}
|
82 |
+
|
83 |
+
return implode('|', $paths);
|
84 |
+
}
|
85 |
+
|
86 |
+
/**
|
87 |
+
* @param string $selector
|
88 |
+
* @param string $prefix
|
89 |
+
*
|
90 |
+
* @return array
|
91 |
+
*
|
92 |
+
* @throws InvalidSelectorException
|
93 |
+
*/
|
94 |
+
protected static function parseAndConvertSelector(string $selector, string $prefix = '//'): array
|
95 |
+
{
|
96 |
+
if (substr($selector, 0, 1) === '>') {
|
97 |
+
$prefix = '/';
|
98 |
+
|
99 |
+
$selector = ltrim($selector, '> ');
|
100 |
+
}
|
101 |
+
|
102 |
+
$segments = self::getSegments($selector);
|
103 |
+
$xpath = '';
|
104 |
+
|
105 |
+
while (count($segments) > 0) {
|
106 |
+
$xpath .= self::buildXpath($segments, $prefix);
|
107 |
+
|
108 |
+
$selector = trim(substr($selector, strlen($segments['selector'])));
|
109 |
+
$prefix = isset($segments['rel']) ? '/' : '//';
|
110 |
+
|
111 |
+
if ($selector === '' || substr($selector, 0, 2) === '::' || substr($selector, 0, 1) === ',') {
|
112 |
+
break;
|
113 |
+
}
|
114 |
+
|
115 |
+
$segments = self::getSegments($selector);
|
116 |
+
}
|
117 |
+
|
118 |
+
// if selector has property
|
119 |
+
if (substr($selector, 0, 2) === '::') {
|
120 |
+
$property = self::parseProperty($selector);
|
121 |
+
$propertyXpath = self::convertProperty($property['name'], $property['args']);
|
122 |
+
|
123 |
+
$selector = substr($selector, strlen($property['property']));
|
124 |
+
$selector = trim($selector);
|
125 |
+
|
126 |
+
$xpath .= '/' . $propertyXpath;
|
127 |
+
}
|
128 |
+
|
129 |
+
return [$xpath, $selector];
|
130 |
+
}
|
131 |
+
|
132 |
+
/**
|
133 |
+
* @param string $selector
|
134 |
+
*
|
135 |
+
* @return array
|
136 |
+
*
|
137 |
+
* @throws InvalidSelectorException
|
138 |
+
*/
|
139 |
+
protected static function parseProperty(string $selector): array
|
140 |
+
{
|
141 |
+
$name = '(?P<name>[\w\-]+)';
|
142 |
+
$args = '(?:\((?P<args>[^\)]+)?\))?';
|
143 |
+
|
144 |
+
$regexp = '/^::' . $name . $args . '/is';
|
145 |
+
|
146 |
+
if (preg_match($regexp, $selector, $matches) !== 1) {
|
147 |
+
throw new InvalidSelectorException(sprintf('Invalid property "%s".', $selector));
|
148 |
+
}
|
149 |
+
|
150 |
+
$result = [];
|
151 |
+
|
152 |
+
$result['property'] = $matches[0];
|
153 |
+
$result['name'] = $matches['name'];
|
154 |
+
$result['args'] = isset($matches['args']) ? explode(',', $matches['args']) : [];
|
155 |
+
|
156 |
+
$result['args'] = array_map('trim', $result['args']);
|
157 |
+
|
158 |
+
return $result;
|
159 |
+
}
|
160 |
+
|
161 |
+
/**
|
162 |
+
* @param string $name
|
163 |
+
* @param array $parameters
|
164 |
+
*
|
165 |
+
* @return string
|
166 |
+
*
|
167 |
+
* @throws InvalidSelectorException if the specified property is unknown
|
168 |
+
*/
|
169 |
+
protected static function convertProperty(string $name, array $parameters = []): string
|
170 |
+
{
|
171 |
+
if ($name === 'text') {
|
172 |
+
return 'text()';
|
173 |
+
}
|
174 |
+
|
175 |
+
if ($name === 'attr') {
|
176 |
+
if (count($parameters) === 0) {
|
177 |
+
return '@*';
|
178 |
+
}
|
179 |
+
|
180 |
+
$attributes = [];
|
181 |
+
|
182 |
+
foreach ($parameters as $attribute) {
|
183 |
+
$attributes[] = sprintf('name() = "%s"', $attribute);
|
184 |
+
}
|
185 |
+
|
186 |
+
return sprintf('@*[%s]', implode(' or ', $attributes));
|
187 |
+
}
|
188 |
+
|
189 |
+
throw new InvalidSelectorException(sprintf('Unknown property "%s".', $name));
|
190 |
+
}
|
191 |
+
|
192 |
+
/**
|
193 |
+
* Converts a CSS pseudo-class into an XPath expression.
|
194 |
+
*
|
195 |
+
* @param string $pseudo Pseudo-class
|
196 |
+
* @param string $tagName
|
197 |
+
* @param array $parameters
|
198 |
+
*
|
199 |
+
* @return string
|
200 |
+
*
|
201 |
+
* @throws InvalidSelectorException if the specified pseudo-class is unknown
|
202 |
+
*/
|
203 |
+
protected static function convertPseudo(string $pseudo, string &$tagName, array $parameters = []): string
|
204 |
+
{
|
205 |
+
switch ($pseudo) {
|
206 |
+
case 'first-child':
|
207 |
+
return 'position() = 1';
|
208 |
+
case 'last-child':
|
209 |
+
return 'position() = last()';
|
210 |
+
case 'nth-child':
|
211 |
+
$xpath = sprintf('(name()="%s") and (%s)', $tagName, self::convertNthExpression($parameters[0]));
|
212 |
+
$tagName = '*';
|
213 |
+
|
214 |
+
return $xpath;
|
215 |
+
case 'contains':
|
216 |
+
$string = trim($parameters[0], '\'"');
|
217 |
+
|
218 |
+
if (count($parameters) === 1) {
|
219 |
+
return self::convertContains($string);
|
220 |
+
}
|
221 |
+
|
222 |
+
if ($parameters[1] !== 'true' && $parameters[1] !== 'false') {
|
223 |
+
throw new InvalidSelectorException(sprintf('Parameter 2 of "contains" pseudo-class must be equal true or false, "%s" given.', $parameters[1]));
|
224 |
+
}
|
225 |
+
|
226 |
+
$caseSensitive = $parameters[1] === 'true';
|
227 |
+
|
228 |
+
if (count($parameters) === 2) {
|
229 |
+
return self::convertContains($string, $caseSensitive);
|
230 |
+
}
|
231 |
+
|
232 |
+
if ($parameters[2] !== 'true' && $parameters[2] !== 'false') {
|
233 |
+
throw new InvalidSelectorException(sprintf('Parameter 3 of "contains" pseudo-class must be equal true or false, "%s" given.', $parameters[2]));
|
234 |
+
}
|
235 |
+
|
236 |
+
$fullMatch = $parameters[2] === 'true';
|
237 |
+
|
238 |
+
return self::convertContains($string, $caseSensitive, $fullMatch);
|
239 |
+
case 'has':
|
240 |
+
return self::cssToXpath($parameters[0], './/');
|
241 |
+
case 'not':
|
242 |
+
return sprintf('not(self::%s)', self::cssToXpath($parameters[0], ''));
|
243 |
+
|
244 |
+
case 'nth-of-type':
|
245 |
+
return self::convertNthExpression($parameters[0]);
|
246 |
+
case 'empty':
|
247 |
+
return 'count(descendant::*) = 0';
|
248 |
+
case 'not-empty':
|
249 |
+
return 'count(descendant::*) > 0';
|
250 |
+
}
|
251 |
+
|
252 |
+
throw new InvalidSelectorException(sprintf('Unknown pseudo-class "%s".', $pseudo));
|
253 |
+
}
|
254 |
+
|
255 |
+
/**
|
256 |
+
* @param array $segments
|
257 |
+
* @param string $prefix Specifies the nesting of nodes
|
258 |
+
*
|
259 |
+
* @return string XPath expression
|
260 |
+
*
|
261 |
+
* @throws InvalidArgumentException if you neither specify tag name nor attributes
|
262 |
+
*/
|
263 |
+
public static function buildXpath(array $segments, string $prefix = '//'): string
|
264 |
+
{
|
265 |
+
$tagName = isset($segments['tag']) ? $segments['tag'] : '*';
|
266 |
+
|
267 |
+
$attributes = [];
|
268 |
+
|
269 |
+
// if the id attribute specified
|
270 |
+
if (isset($segments['id'])) {
|
271 |
+
$attributes[] = sprintf('@id="%s"', $segments['id']);
|
272 |
+
}
|
273 |
+
|
274 |
+
// if the class attribute specified
|
275 |
+
if (isset($segments['classes'])) {
|
276 |
+
foreach ($segments['classes'] as $class) {
|
277 |
+
$attributes[] = sprintf('contains(concat(" ", normalize-space(@class), " "), " %s ")', $class);
|
278 |
+
}
|
279 |
+
}
|
280 |
+
|
281 |
+
// if the attributes specified
|
282 |
+
if (isset($segments['attributes'])) {
|
283 |
+
foreach ($segments['attributes'] as $name => $value) {
|
284 |
+
$attributes[] = self::convertAttribute($name, $value);
|
285 |
+
}
|
286 |
+
}
|
287 |
+
|
288 |
+
// if the pseudo class specified
|
289 |
+
if (array_key_exists('pseudo', $segments)) {
|
290 |
+
foreach ($segments['pseudo'] as $pseudo) {
|
291 |
+
$expression = $pseudo['expression'] !== null ? $pseudo['expression'] : '';
|
292 |
+
|
293 |
+
$parameters = explode(',', $expression);
|
294 |
+
$parameters = array_map('trim', $parameters);
|
295 |
+
|
296 |
+
$attributes[] = self::convertPseudo($pseudo['type'], $tagName, $parameters);
|
297 |
+
}
|
298 |
+
}
|
299 |
+
|
300 |
+
if (count($attributes) === 0 && ! isset($segments['tag'])) {
|
301 |
+
throw new InvalidArgumentException('The array of segments must contain the name of the tag or at least one attribute.');
|
302 |
+
}
|
303 |
+
|
304 |
+
$xpath = $prefix . $tagName;
|
305 |
+
|
306 |
+
if ($count = count($attributes)) {
|
307 |
+
$xpath .= ($count > 1) ? sprintf('[(%s)]', implode(') and (', $attributes)) : sprintf('[%s]', $attributes[0]);
|
308 |
+
}
|
309 |
+
|
310 |
+
return $xpath;
|
311 |
+
}
|
312 |
+
|
313 |
+
/**
|
314 |
+
* @param string $name The name of an attribute
|
315 |
+
* @param string|null $value The value of an attribute
|
316 |
+
*
|
317 |
+
* @return string
|
318 |
+
*/
|
319 |
+
protected static function convertAttribute(string $name, ?string $value): string
|
320 |
+
{
|
321 |
+
$isSimpleSelector = ! in_array(substr($name, 0, 1), ['^', '!'], true);
|
322 |
+
$isSimpleSelector = $isSimpleSelector && ( ! in_array(substr($name, -1), ['^', '$', '*', '!', '~'], true));
|
323 |
+
|
324 |
+
if ($isSimpleSelector) {
|
325 |
+
// if specified only the attribute name
|
326 |
+
$xpath = $value === null ? '@' . $name : sprintf('@%s="%s"', $name, $value);
|
327 |
+
|
328 |
+
return $xpath;
|
329 |
+
}
|
330 |
+
|
331 |
+
// if the attribute name starts with ^
|
332 |
+
// example: *[^data-]
|
333 |
+
if (substr($name, 0, 1) === '^') {
|
334 |
+
$xpath = sprintf('@*[starts-with(name(), "%s")]', substr($name, 1));
|
335 |
+
|
336 |
+
return $value === null ? $xpath : sprintf('%s="%s"', $xpath, $value);
|
337 |
+
}
|
338 |
+
|
339 |
+
// if the attribute name starts with !
|
340 |
+
// example: input[!disabled]
|
341 |
+
if (substr($name, 0, 1) === '!') {
|
342 |
+
$xpath = sprintf('not(@%s)', substr($name, 1));
|
343 |
+
|
344 |
+
return $xpath;
|
345 |
+
}
|
346 |
+
|
347 |
+
$symbol = substr($name, -1);
|
348 |
+
$name = substr($name, 0, -1);
|
349 |
+
|
350 |
+
switch ($symbol) {
|
351 |
+
case '^':
|
352 |
+
$xpath = sprintf('starts-with(@%s, "%s")', $name, $value);
|
353 |
+
|
354 |
+
break;
|
355 |
+
case '$':
|
356 |
+
$xpath = sprintf('substring(@%s, string-length(@%s) - string-length("%s") + 1) = "%s"', $name, $name, $value, $value);
|
357 |
+
|
358 |
+
break;
|
359 |
+
case '*':
|
360 |
+
$xpath = sprintf('contains(@%s, "%s")', $name, $value);
|
361 |
+
|
362 |
+
break;
|
363 |
+
case '!':
|
364 |
+
$xpath = sprintf('not(@%s="%s")', $name, $value);
|
365 |
+
|
366 |
+
break;
|
367 |
+
case '~':
|
368 |
+
$xpath = sprintf('contains(concat(" ", normalize-space(@%s), " "), " %s ")', $name, $value);
|
369 |
+
|
370 |
+
break;
|
371 |
+
}
|
372 |
+
|
373 |
+
return $xpath;
|
374 |
+
}
|
375 |
+
|
376 |
+
/**
|
377 |
+
* Converts nth-expression into an XPath expression.
|
378 |
+
*
|
379 |
+
* @param string $expression nth-expression
|
380 |
+
*
|
381 |
+
* @return string
|
382 |
+
*
|
383 |
+
* @throws InvalidSelectorException if the given nth-child expression is empty or invalid
|
384 |
+
*/
|
385 |
+
protected static function convertNthExpression(string $expression): string
|
386 |
+
{
|
387 |
+
if ($expression === '') {
|
388 |
+
throw new InvalidSelectorException('nth-child (or nth-last-child) expression must not be empty.');
|
389 |
+
}
|
390 |
+
|
391 |
+
if ($expression === 'odd') {
|
392 |
+
return 'position() mod 2 = 1 and position() >= 1';
|
393 |
+
}
|
394 |
+
|
395 |
+
if ($expression === 'even') {
|
396 |
+
return 'position() mod 2 = 0 and position() >= 0';
|
397 |
+
}
|
398 |
+
|
399 |
+
if (is_numeric($expression)) {
|
400 |
+
return sprintf('position() = %d', $expression);
|
401 |
+
}
|
402 |
+
|
403 |
+
if (preg_match("/^(?P<mul>[0-9]?n)(?:(?P<sign>\+|\-)(?P<pos>[0-9]+))?$/is", $expression, $segments)) {
|
404 |
+
if (isset($segments['mul'])) {
|
405 |
+
$multiplier = $segments['mul'] === 'n' ? 1 : trim($segments['mul'], 'n');
|
406 |
+
$sign = (isset($segments['sign']) && $segments['sign'] === '+') ? '-' : '+';
|
407 |
+
$position = isset($segments['pos']) ? $segments['pos'] : 0;
|
408 |
+
|
409 |
+
return sprintf('(position() %s %d) mod %d = 0 and position() >= %d', $sign, $position, $multiplier, $position);
|
410 |
+
}
|
411 |
+
}
|
412 |
+
|
413 |
+
throw new InvalidSelectorException(sprintf('Invalid nth-child expression "%s".', $expression));
|
414 |
+
}
|
415 |
+
|
416 |
+
/**
|
417 |
+
* @param string $string
|
418 |
+
* @param bool $caseSensitive
|
419 |
+
* @param bool $fullMatch
|
420 |
+
*
|
421 |
+
* @return string
|
422 |
+
*/
|
423 |
+
protected static function convertContains(string $string, bool $caseSensitive = true, bool $fullMatch = false): string
|
424 |
+
{
|
425 |
+
if ($caseSensitive && $fullMatch) {
|
426 |
+
return sprintf('text() = "%s"', $string);
|
427 |
+
}
|
428 |
+
|
429 |
+
if ($caseSensitive && ! $fullMatch) {
|
430 |
+
return sprintf('contains(text(), "%s")', $string);
|
431 |
+
}
|
432 |
+
|
433 |
+
$strToLowerFunction = function_exists('mb_strtolower') ? 'mb_strtolower' : 'strtolower';
|
434 |
+
|
435 |
+
if ( ! $caseSensitive && $fullMatch) {
|
436 |
+
return sprintf("php:functionString(\"{$strToLowerFunction}\", .) = php:functionString(\"{$strToLowerFunction}\", \"%s\")", $string);
|
437 |
+
}
|
438 |
+
|
439 |
+
// if ! $caseSensitive and ! $fullMatch
|
440 |
+
return sprintf("contains(php:functionString(\"{$strToLowerFunction}\", .), php:functionString(\"{$strToLowerFunction}\", \"%s\"))", $string);
|
441 |
+
}
|
442 |
+
|
443 |
+
/**
|
444 |
+
* Splits the CSS selector into parts (tag name, ID, classes, attributes, pseudo-class).
|
445 |
+
*
|
446 |
+
* @param string $selector CSS selector
|
447 |
+
*
|
448 |
+
* @return array
|
449 |
+
*
|
450 |
+
* @throws InvalidSelectorException if the selector is empty or not valid
|
451 |
+
*/
|
452 |
+
public static function getSegments(string $selector): array
|
453 |
+
{
|
454 |
+
$selector = trim($selector);
|
455 |
+
|
456 |
+
if ($selector === '') {
|
457 |
+
throw new InvalidSelectorException('The selector must not be empty.');
|
458 |
+
}
|
459 |
+
|
460 |
+
$pregMatchResult = preg_match(self::getSelectorRegex(), $selector, $segments);
|
461 |
+
|
462 |
+
if ($pregMatchResult === false || $pregMatchResult === 0 || $segments[0] === '') {
|
463 |
+
throw new InvalidSelectorException(sprintf('Invalid selector "%s".', $selector));
|
464 |
+
}
|
465 |
+
|
466 |
+
$result = ['selector' => $segments[0]];
|
467 |
+
|
468 |
+
if (isset($segments['tag']) && $segments['tag'] !== '') {
|
469 |
+
$result['tag'] = $segments['tag'];
|
470 |
+
}
|
471 |
+
|
472 |
+
// if the id attribute specified
|
473 |
+
if (isset($segments['id']) && $segments['id'] !== '') {
|
474 |
+
$result['id'] = $segments['id'];
|
475 |
+
}
|
476 |
+
|
477 |
+
// if the attributes specified
|
478 |
+
if (isset($segments['attrs'])) {
|
479 |
+
$attributes = trim($segments['attrs'], '[]');
|
480 |
+
$attributes = explode('][', $attributes);
|
481 |
+
|
482 |
+
foreach ($attributes as $attribute) {
|
483 |
+
if ($attribute !== '') {
|
484 |
+
list($name, $value) = array_pad(explode('=', $attribute, 2), 2, null);
|
485 |
+
|
486 |
+
if ($name === '') {
|
487 |
+
throw new InvalidSelectorException(sprintf('Invalid selector "%s": attribute name must not be empty.', $selector));
|
488 |
+
}
|
489 |
+
|
490 |
+
// equal null if specified only the attribute name
|
491 |
+
$result['attributes'][$name] = is_string($value) ? trim($value, '\'"') : null;
|
492 |
+
}
|
493 |
+
}
|
494 |
+
}
|
495 |
+
|
496 |
+
// if the class attribute specified
|
497 |
+
if (isset($segments['classes'])) {
|
498 |
+
$classes = trim($segments['classes'], '.');
|
499 |
+
$classes = explode('.', $classes);
|
500 |
+
|
501 |
+
foreach ($classes as $class) {
|
502 |
+
if ($class !== '') {
|
503 |
+
$result['classes'][] = $class;
|
504 |
+
}
|
505 |
+
}
|
506 |
+
}
|
507 |
+
|
508 |
+
// if the pseudo class specified
|
509 |
+
if (isset($segments['pseudo']) && $segments['pseudo'] !== '') {
|
510 |
+
preg_match_all('/:(?P<type>[\w\-]+)(?:\((?P<expr>[^\)]+)\))?/', $segments['pseudo'], $pseudoClasses);
|
511 |
+
|
512 |
+
$result['pseudo'] = [];
|
513 |
+
|
514 |
+
foreach ($pseudoClasses['type'] as $index => $pseudoType) {
|
515 |
+
$result['pseudo'][] = [
|
516 |
+
'type' => $pseudoType,
|
517 |
+
'expression' => $pseudoClasses['expr'][$index] !== '' ? $pseudoClasses['expr'][$index] : null,
|
518 |
+
];
|
519 |
+
}
|
520 |
+
}
|
521 |
+
|
522 |
+
// if it is a direct descendant
|
523 |
+
if (isset($segments['rel'])) {
|
524 |
+
$result['rel'] = $segments['rel'];
|
525 |
+
}
|
526 |
+
|
527 |
+
return $result;
|
528 |
+
}
|
529 |
+
|
530 |
+
private static function getSelectorRegex(): string
|
531 |
+
{
|
532 |
+
$tag = '(?P<tag>[\*|\w|\-]+)?';
|
533 |
+
$id = '(?:#(?P<id>[\w|\-]+))?';
|
534 |
+
$classes = '(?P<classes>\.[\w|\-|\.]+)*';
|
535 |
+
$attrs = '(?P<attrs>(?:\[.+?\])*)?';
|
536 |
+
$pseudoType = '[\w\-]+';
|
537 |
+
$pseudoExpr = '(?:\([^\)]+\))?';
|
538 |
+
$pseudo = '(?P<pseudo>(?::' . $pseudoType . $pseudoExpr . ')+)?';
|
539 |
+
$rel = '\s*(?P<rel>>)?';
|
540 |
+
|
541 |
+
return '/' . $tag . $id . $classes . $attrs . $pseudo . $rel . '/is';
|
542 |
+
}
|
543 |
+
|
544 |
+
/**
|
545 |
+
* @return array
|
546 |
+
*/
|
547 |
+
public static function getCompiled(): array
|
548 |
+
{
|
549 |
+
return static::$compiled;
|
550 |
+
}
|
551 |
+
|
552 |
+
/**
|
553 |
+
* @param array $compiled
|
554 |
+
*
|
555 |
+
* @throws InvalidArgumentException if the attributes is not an array
|
556 |
+
*/
|
557 |
+
public static function setCompiled(array $compiled): void
|
558 |
+
{
|
559 |
+
static::$compiled = $compiled;
|
560 |
+
}
|
561 |
+
}
|
vendor/imangazaliev/didom/src/DiDom/StyleAttribute.php
ADDED
@@ -0,0 +1,304 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
declare(strict_types=1);
|
4 |
+
|
5 |
+
namespace DiDom;
|
6 |
+
|
7 |
+
use InvalidArgumentException;
|
8 |
+
|
9 |
+
class StyleAttribute
|
10 |
+
{
|
11 |
+
/**
|
12 |
+
* The DOM element instance.
|
13 |
+
*
|
14 |
+
* @var Element
|
15 |
+
*/
|
16 |
+
protected $element;
|
17 |
+
|
18 |
+
/**
|
19 |
+
* @var string
|
20 |
+
*/
|
21 |
+
protected $styleString = '';
|
22 |
+
|
23 |
+
/**
|
24 |
+
* @var array
|
25 |
+
*/
|
26 |
+
protected $properties = [];
|
27 |
+
|
28 |
+
/**
|
29 |
+
* @param Element $element
|
30 |
+
*
|
31 |
+
* @throws InvalidArgumentException if parameter 1 is not an element node
|
32 |
+
*/
|
33 |
+
public function __construct(Element $element)
|
34 |
+
{
|
35 |
+
if ( ! $element->isElementNode()) {
|
36 |
+
throw new InvalidArgumentException(sprintf('The element must contain DOMElement node.'));
|
37 |
+
}
|
38 |
+
|
39 |
+
$this->element = $element;
|
40 |
+
|
41 |
+
$this->parseStyleAttribute();
|
42 |
+
}
|
43 |
+
|
44 |
+
/**
|
45 |
+
* Parses style attribute of the element.
|
46 |
+
*/
|
47 |
+
protected function parseStyleAttribute()
|
48 |
+
{
|
49 |
+
if ( ! $this->element->hasAttribute('style')) {
|
50 |
+
// possible if style attribute has been removed
|
51 |
+
if ($this->styleString !== '') {
|
52 |
+
$this->styleString = '';
|
53 |
+
$this->properties = [];
|
54 |
+
}
|
55 |
+
|
56 |
+
return;
|
57 |
+
}
|
58 |
+
|
59 |
+
// if style attribute is not changed
|
60 |
+
if ($this->element->getAttribute('style') === $this->styleString) {
|
61 |
+
return;
|
62 |
+
}
|
63 |
+
|
64 |
+
// save style attribute as is (without trimming)
|
65 |
+
$this->styleString = $this->element->getAttribute('style');
|
66 |
+
|
67 |
+
$styleString = trim($this->styleString, ' ;');
|
68 |
+
|
69 |
+
if ($styleString === '') {
|
70 |
+
$this->properties = [];
|
71 |
+
|
72 |
+
return;
|
73 |
+
}
|
74 |
+
|
75 |
+
$properties = explode(';', $styleString);
|
76 |
+
|
77 |
+
foreach ($properties as $property) {
|
78 |
+
list($name, $value) = explode(':', $property, 2);
|
79 |
+
|
80 |
+
$name = trim($name);
|
81 |
+
$value = trim($value);
|
82 |
+
|
83 |
+
$this->properties[$name] = $value;
|
84 |
+
}
|
85 |
+
}
|
86 |
+
|
87 |
+
/**
|
88 |
+
* Updates style attribute of the element.
|
89 |
+
*/
|
90 |
+
protected function updateStyleAttribute(): void
|
91 |
+
{
|
92 |
+
$this->styleString = $this->buildStyleString();
|
93 |
+
|
94 |
+
$this->element->setAttribute('style', $this->styleString);
|
95 |
+
}
|
96 |
+
|
97 |
+
/**
|
98 |
+
* @return string
|
99 |
+
*/
|
100 |
+
protected function buildStyleString(): string
|
101 |
+
{
|
102 |
+
$properties = [];
|
103 |
+
|
104 |
+
foreach ($this->properties as $propertyName => $value) {
|
105 |
+
$properties[] = $propertyName . ': ' . $value;
|
106 |
+
}
|
107 |
+
|
108 |
+
return implode('; ', $properties);
|
109 |
+
}
|
110 |
+
|
111 |
+
/**
|
112 |
+
* @param string $name
|
113 |
+
* @param string $value
|
114 |
+
*
|
115 |
+
* @return StyleAttribute
|
116 |
+
*
|
117 |
+
* @throws InvalidArgumentException if property name is not a string
|
118 |
+
* @throws InvalidArgumentException if property value is not a string
|
119 |
+
*/
|
120 |
+
public function setProperty(string $name, string $value): self
|
121 |
+
{
|
122 |
+
$this->parseStyleAttribute();
|
123 |
+
|
124 |
+
$this->properties[$name] = $value;
|
125 |
+
|
126 |
+
$this->updateStyleAttribute();
|
127 |
+
|
128 |
+
return $this;
|
129 |
+
}
|
130 |
+
|
131 |
+
/**
|
132 |
+
* @param array $properties
|
133 |
+
*
|
134 |
+
* @return StyleAttribute
|
135 |
+
*
|
136 |
+
* @throws InvalidArgumentException if property name is not a string
|
137 |
+
* @throws InvalidArgumentException if property value is not a string
|
138 |
+
*/
|
139 |
+
public function setMultipleProperties(array $properties): self
|
140 |
+
{
|
141 |
+
$this->parseStyleAttribute();
|
142 |
+
|
143 |
+
foreach ($properties as $propertyName => $value) {
|
144 |
+
if ( ! is_string($propertyName)) {
|
145 |
+
throw new InvalidArgumentException(sprintf('Property name must be a string, %s given.', (is_object($propertyName) ? get_class($propertyName) : gettype($propertyName))));
|
146 |
+
}
|
147 |
+
|
148 |
+
if ( ! is_string($value)) {
|
149 |
+
throw new InvalidArgumentException(sprintf('Property value must be a string, %s given.', (is_object($value) ? get_class($value) : gettype($value))));
|
150 |
+
}
|
151 |
+
|
152 |
+
$this->properties[$propertyName] = $value;
|
153 |
+
}
|
154 |
+
|
155 |
+
$this->updateStyleAttribute();
|
156 |
+
|
157 |
+
return $this;
|
158 |
+
}
|
159 |
+
|
160 |
+
/**
|
161 |
+
* @param string $name
|
162 |
+
* @param mixed $default
|
163 |
+
*
|
164 |
+
* @return mixed
|
165 |
+
*/
|
166 |
+
public function getProperty(string $name, $default = null)
|
167 |
+
{
|
168 |
+
$this->parseStyleAttribute();
|
169 |
+
|
170 |
+
if ( ! array_key_exists($name, $this->properties)) {
|
171 |
+
return $default;
|
172 |
+
}
|
173 |
+
|
174 |
+
return $this->properties[$name];
|
175 |
+
}
|
176 |
+
|
177 |
+
/**
|
178 |
+
* @param string[] $propertyNames
|
179 |
+
*
|
180 |
+
* @return array
|
181 |
+
*
|
182 |
+
* @throws InvalidArgumentException if property name is not a string
|
183 |
+
*/
|
184 |
+
public function getMultipleProperties(array $propertyNames): array
|
185 |
+
{
|
186 |
+
$this->parseStyleAttribute();
|
187 |
+
|
188 |
+
$result = [];
|
189 |
+
|
190 |
+
foreach ($propertyNames as $propertyName) {
|
191 |
+
if ( ! is_string($propertyName)) {
|
192 |
+
throw new InvalidArgumentException(sprintf('Property name must be a string, %s given.', (is_object($propertyName) ? get_class($propertyName) : gettype($propertyName))));
|
193 |
+
}
|
194 |
+
|
195 |
+
if (array_key_exists($propertyName, $this->properties)) {
|
196 |
+
$result[$propertyName] = $this->properties[$propertyName];
|
197 |
+
}
|
198 |
+
}
|
199 |
+
|
200 |
+
return $result;
|
201 |
+
}
|
202 |
+
|
203 |
+
/**
|
204 |
+
* @return array
|
205 |
+
*/
|
206 |
+
public function getAllProperties(): array
|
207 |
+
{
|
208 |
+
$this->parseStyleAttribute();
|
209 |
+
|
210 |
+
return $this->properties;
|
211 |
+
}
|
212 |
+
|
213 |
+
/**
|
214 |
+
* @param string $name
|
215 |
+
*
|
216 |
+
* @return bool
|
217 |
+
*/
|
218 |
+
public function hasProperty(string $name): bool
|
219 |
+
{
|
220 |
+
$this->parseStyleAttribute();
|
221 |
+
|
222 |
+
return array_key_exists($name, $this->properties);
|
223 |
+
}
|
224 |
+
|
225 |
+
/**
|
226 |
+
* @param string $name
|
227 |
+
*
|
228 |
+
* @return StyleAttribute
|
229 |
+
*
|
230 |
+
* @throws InvalidArgumentException if property name is not a string
|
231 |
+
*/
|
232 |
+
public function removeProperty(string $name): self
|
233 |
+
{
|
234 |
+
$this->parseStyleAttribute();
|
235 |
+
|
236 |
+
unset($this->properties[$name]);
|
237 |
+
|
238 |
+
$this->updateStyleAttribute();
|
239 |
+
|
240 |
+
return $this;
|
241 |
+
}
|
242 |
+
|
243 |
+
/**
|
244 |
+
* @param array $propertyNames
|
245 |
+
*
|
246 |
+
* @return StyleAttribute
|
247 |
+
*
|
248 |
+
* @throws InvalidArgumentException if property name is not a string
|
249 |
+
*/
|
250 |
+
public function removeMultipleProperties(array $propertyNames): self
|
251 |
+
{
|
252 |
+
$this->parseStyleAttribute();
|
253 |
+
|
254 |
+
foreach ($propertyNames as $propertyName) {
|
255 |
+
if ( ! is_string($propertyName)) {
|
256 |
+
throw new InvalidArgumentException(sprintf('Property name must be a string, %s given.', (is_object($propertyName) ? get_class($propertyName) : gettype($propertyName))));
|
257 |
+
}
|
258 |
+
|
259 |
+
unset($this->properties[$propertyName]);
|
260 |
+
}
|
261 |
+
|
262 |
+
$this->updateStyleAttribute();
|
263 |
+
|
264 |
+
return $this;
|
265 |
+
}
|
266 |
+
|
267 |
+
/**
|
268 |
+
* @param string[] $preserved
|
269 |
+
*
|
270 |
+
* @return StyleAttribute
|
271 |
+
*/
|
272 |
+
public function removeAllProperties(array $preserved = []): self
|
273 |
+
{
|
274 |
+
$this->parseStyleAttribute();
|
275 |
+
|
276 |
+
$preservedProperties = [];
|
277 |
+
|
278 |
+
foreach ($preserved as $propertyName) {
|
279 |
+
if ( ! is_string($propertyName)) {
|
280 |
+
throw new InvalidArgumentException(sprintf('Property name must be a string, %s given.', (is_object($propertyName) ? get_class($propertyName) : gettype($propertyName))));
|
281 |
+
}
|
282 |
+
|
283 |
+
if ( ! array_key_exists($propertyName, $this->properties)) {
|
284 |
+
continue;
|
285 |
+
}
|
286 |
+
|
287 |
+
$preservedProperties[$propertyName] = $this->properties[$propertyName];
|
288 |
+
}
|
289 |
+
|
290 |
+
$this->properties = $preservedProperties;
|
291 |
+
|
292 |
+
$this->updateStyleAttribute();
|
293 |
+
|
294 |
+
return $this;
|
295 |
+
}
|
296 |
+
|
297 |
+
/**
|
298 |
+
* @return Element
|
299 |
+
*/
|
300 |
+
public function getElement(): Element
|
301 |
+
{
|
302 |
+
return $this->element;
|
303 |
+
}
|
304 |
+
}
|