Onde fica o título SEO no WordPress? Um guia simples.

Onde fica o título SEO no WordPress? Um guia simples.

Introdução

Muitos WordPress beginners ask the same question: where is the SEO title in WordPress? The answer is simple, but it can feel confusing at first because WordPress does not always show the SEO title in one obvious place.

Your SEO title is usually managed through an SEO plugin such as Yoast SEO, All in One SEO, or Rank Math. In many cases, you can find it inside the editing screen of a post, page, product, category, or homepage. Some plugins place the SEO title box under the main content editor, while others place it in a sidebar or inside a snippet preview panel. The original guide explains that WordPress can generate a title automatically, but customizing it gives you more control over how your page appears in search results.

What Is an SEO Title in WordPress?

An SEO title is the title that search engines may display for your page in search results. It is also called a meta title or title tag. In simple terms, it tells search engines and users what your page is about.

Por exemplo, o título da sua publicação no WordPress pode ser:

How to Start a Blog

Mas o seu título de SEO poderia ser:

How to Start a Blog in WordPress: Beginner’s Guide

The second version is more specific. It includes the platform, gives users a clearer reason to click, and targets a more focused search phrase.

This is why the SEO title matters. It is not only a technical setting. It is also a small piece of marketing copy. A good SEO title can help users understand your content faster and may improve your click-through rate when your page appears in Google.

Where Is the SEO Title in WordPress?

Where Is the SEO Title in WordPress? A Simple Guide-Where Is the SEO Title in WordPress?

The location depends on your setup.

In a basic WordPress installation, WordPress creates a page title based on your post or page title. However, if you want to edit the SEO title properly, you usually need an SEO plugin.

Most users will find the SEO title in one of these places:

Inside the post or page editor
Inside an SEO plugin box below the content editor
Inside the SEO plugin sidebar
Inside the homepage SEO settings
Inside global title template settings

So, when someone asks where is the SEO title in WordPress, the most practical answer is: open the page or post you want to optimize, then look for your SEO plugin’s title or snippet settings.

Finding the SEO Title with Yoast SEO

Yoast SEO is one of the most common WordPress SEO plugins. If you use Yoast, open the page or post you want to edit. Scroll below the main editor area and look for the Yoast SEO section. Depending on your WordPress editor layout, you may also see Yoast options in the sidebar.

Yoast lets users manage SEO titles through snippet settings and title templates. Yoast also supports snippet variables, which can automatically pull information such as the page title, site name, category, or separator into your SEO title.

A common Yoast title format may look like this:

Page Title | Site Name

This format is useful because it gives every page a clear title while also including your brand or website name. However, you can still edit individual pages when you want a more custom title.

Finding the SEO Title with Rank Math

Rank Math works in a similar way. Open your WordPress post or page editor and look for the Rank Math SEO panel. From there, you can edit the snippet and change the SEO title.

Rank Math also supports variables for SEO titles and descriptions, which helps users create dynamic title templates instead of manually editing every page one by one.

This is useful for larger websites. For example, if you run a blog with many articles, you may want every post title to follow a consistent format. Rank Math can help apply that structure automatically while still allowing manual edits when needed.

Finding the SEO Title with All in One SEO

Where Is the SEO Title in WordPress? A Simple Guide-Finding the SEO Title with All in One SEO

All in One SEO also provides fields for editing SEO titles inside WordPress. After installing the plugin, open the page or post you want to optimize and look for the AIOSEO settings area. You can usually edit the page title, meta description, and search preview from there.

The original article notes that All in One SEO, Yoast SEO, and Rank Math all provide ways to find and edit the SEO title from the WordPress editing screen.

The exact layout may change depending on your plugin version, WordPress editor, and theme, but the idea is the same: the SEO title field lives inside the plugin’s SEO settings for that page.

Is the WordPress Page Title the Same as the SEO Title?

Not always.

Your WordPress page title is the title visitors usually see on the page itself. Your SEO title is the title search engines may show in search results.

Sometimes they are identical. For example:

Page title: About Us
SEO title: About Us

But for SEO, that title is too generic. A better SEO title could be:

About Our WordPress Design Studio | Brand Name

This version gives users and search engines more context.

The page title is mainly for people already on your website. The SEO title is mainly for people deciding whether to click your result from Google. Because of that, your SEO title should be clearer, more keyword-focused, and more attractive.

Where Is the Homepage SEO Title in WordPress?

The homepage can be slightly different from normal pages.

If your homepage is a static page, you can usually edit its SEO title by opening that page in WordPress and using your SEO plugin settings. Yoast explains that a static homepage can be edited through the homepage page itself, while a homepage showing latest posts may use plugin homepage settings.

To check your homepage setup, go to:

WordPress Dashboard → Settings → Reading

There, you can see whether your homepage displays your latest posts or a specific static page.

If it uses a static page, go to:

Pages → Your Homepage → Edit → SEO Plugin Settings

If it uses latest posts, go to your SEO plugin’s homepage or content type settings.

How to Edit the SEO Title in WordPress

Here is the general process:

Log in to your WordPress dashboard.

Go to Posts or Pages.

Open the page or post you want to optimize.

Find your SEO plugin panel.

Look for a field called SEO Title, Title, or Snippet Title.

Write your custom SEO title.

Save or update the page.

After saving, your SEO plugin will usually update the title tag output for that page. Search engines may not show the change immediately. Google needs to recrawl the page first, and it may still rewrite the displayed title if it thinks another version is more helpful for users.

Qual o tamanho ideal para um título de SEO?

A good SEO title should be clear and not too long. Many SEO tools recommend keeping titles around 50 to 60 characters because overly long titles may be cut off in search results.

However, character count is not the only thing that matters. Your title should also be readable, relevant, and useful.

A weak title might be:

SEO Title WordPress

A stronger title might be:

Where Is the SEO Title in WordPress? Beginner Guide

The stronger version includes the target keyword, explains the purpose of the article, and sounds natural.

How to Write a Better WordPress SEO Title

A strong SEO title usually includes four things:

A clear topic
A target keyword
A user benefit
A natural structure

For this article, the keyword is where is the seo title in wordpress. A title built around that keyword should sound natural instead of forced.

Good examples include:

Where Is the SEO Title in WordPress? Simple Guide

Where Is the SEO Title in WordPress and How to Edit It

How to Find the SEO Title in WordPress

Each version targets the same search intent. The user wants to know where the title is located and how to change it.

Should You Use the Exact Keyword in the SEO Title?

Using the exact keyword can help, but it should still sound natural. Search engines are better at understanding meaning now, so you do not need to repeat the keyword awkwardly.

For example, this title works well:

Onde fica o título SEO no WordPress? Um guia simples.

This title is clear, readable, and keyword-focused.

This title is not good:

Where Is the SEO Title in WordPress SEO Title WordPress Guide

It repeats words, feels unnatural, and may reduce clicks.

Your title should be written for real users first. If users understand it quickly, search engines can usually understand it too.

What Is the Site Title in WordPress?

The site title is different from the SEO title of a single page.

Your site title is the name of your entire website. You can usually edit it in:

WordPress Dashboard → Settings → General

There, you will see fields for Site Title and Tagline. The original article also explains that the site title, separator, and tagline can influence how default titles are generated.

For example, if your site title is “Bright Home Blog,” WordPress or your SEO plugin may automatically create titles like:

Kitchen Design Ideas | Bright Home Blog

The separator is the symbol between the page title and the site title. Common separators include:

|

:
•

Your SEO plugin usually lets you choose the separator.

What Are SEO Title Variables?

Where Is the SEO Title in WordPress? A Simple Guide-What Are SEO Title Variables?

SEO title variables are placeholders that automatically insert information into your title.

Por exemplo:

%title% | %sitename%

This may generate:

About Us | Bright Home Blog

Yoast and Rank Math both support variables for automatically generating titles and descriptions. Yoast describes snippet variables as a way to automate title and meta description templates across different content types.

Variables are helpful when you have many pages. Instead of editing every title manually, you can create a default pattern. Then you can manually customize important pages such as your homepage, service pages, landing pages, and high-value blog posts.

When Should You Manually Edit an SEO Title?

You should manually edit an SEO title when the default title is too short, too vague, too long, or missing the main keyword.

For example, a default title might be:

Serviços

A better SEO title might be:

WordPress Website Design Services for Small Businesses

The improved version is more specific. It tells users what the page offers and who it serves.

You should also customize SEO titles for:

Página inicial
Main service pages
Páginas de produtos
Category pages
Important blog posts
Páginas de destino
Pages targeting competitive keywords

Default templates are useful, but important pages deserve a custom title.

Common SEO Title Mistakes in WordPress

One common mistake is using the same SEO title on multiple pages. Each important page should have a unique title. Duplicate titles can make it harder for search engines to understand which page should rank for a specific query.

Another mistake is writing titles that are too vague. A title like Welcome does not explain the page. A title like Handmade Jewelry Store in New York gives much more context.

A third mistake is stuffing too many keywords into the title. Keyword stuffing can make your result look spammy. A title should include the main keyword naturally, not repeat it several times.

A fourth mistake is forgetting to check the search preview. Most SEO plugins show how your title may appear in search results. Use that preview to make sure the title is not too long or unclear.

Why Google May Show a Different Title

Even if you edit your SEO title in WordPress, Google may sometimes show a different title in search results. This does not always mean your plugin is broken.

Google may rewrite a title when it thinks another version better matches the search query or page content. It may use your heading, anchor text, page content, or other signals.

To reduce the chance of unwanted rewrites, make sure your SEO title matches the page content. Your H1 heading, introduction, and page topic should support the title. If your title promises one thing but the page discusses something else, search engines may adjust it.

How to Check Your SEO Title

You can check your SEO title in a few ways.

First, look at your SEO plugin preview. This is the easiest method for beginners.

Second, open the page in your browser and check the browser tab. The text shown in the tab often reflects the title tag.

Third, view the page source and look for the </code> tag inside the <code><head></code> section. The original article notes that the title can be found in the HTML head area between the title tags.</p> <p class="wp-block-paragraph">Fourth, you can search your page in Google after it has been indexed. However, remember that Google may display a rewritten version.</p> <h2 class="wp-block-heading">Best Practice SEO Title Formula</h2> <p class="wp-block-paragraph">A simple SEO title formula is:</p> <p class="wp-block-paragraph">Main Keyword + Benefit or Context + Brand Name</p> <p class="wp-block-paragraph">Por exemplo:</p> <p class="wp-block-paragraph">Where Is the SEO Title in WordPress? Simple Guide</p> <p class="wp-block-paragraph">Or for a service page:</p> <p class="wp-block-paragraph">Shopify Website Design Services for Jewelry Brands</p> <p class="wp-block-paragraph">Or for a product page:</p> <p class="wp-block-paragraph">Minimalist Gold Necklace for Everyday Wear</p> <p class="wp-block-paragraph">The formula should not feel mechanical. Use it as a guide, then rewrite the title so it sounds human.</p> <h2 class="wp-block-heading">Final Summary</h2> <p class="wp-block-paragraph">The SEO title in <strong><a href="https://www.WordPres.com" target="_blank" rel="noopener">WordPress</a></strong> is usually found inside your SEO plugin settings, not in the normal visual content area of the page. If you use Yoast SEO, Rank Math, or All in One SEO, open the post or page editor and look for the plugin’s SEO title, snippet, or metadata section. For the homepage, check whether your site uses a static page or latest posts, then edit the SEO title through the page editor or your plugin’s homepage settings.</p> <p class="wp-block-paragraph">A good SEO title helps search engines understand your page and helps users decide whether to click. Keep it clear, specific, keyword-focused, and natural. Use title templates and variables for efficiency, but manually customize your most important pages. When you understand where the SEO title is in WordPress and how to edit it, you gain more control over how your website appears in search results.</p> <h2 class="wp-block-heading">Perguntas frequentes</h2> <h3 class="wp-block-heading">1. Where is the SEO title in WordPress?</h3> <p class="wp-block-paragraph">The SEO title is usually inside your SEO plugin settings. Open a post or page, then look for the SEO panel from Yoast SEO, Rank Math, All in One SEO, or another SEO plugin.</p> <h3 class="wp-block-heading">2. Is the SEO title the same as the WordPress post title?</h3> <p class="wp-block-paragraph">Not always. The WordPress post title appears on the page, while the SEO title is mainly used for search results. You can keep them the same, but customizing the SEO title often gives better search visibility.</p> <h3 class="wp-block-heading">3. How do I edit the SEO title in WordPress?</h3> <p class="wp-block-paragraph">Go to your WordPress dashboard, open the post or page, find the SEO plugin section, edit the SEO title field, then update or publish the page.</p> <h3 class="wp-block-heading">4. Do I need an SEO plugin to change the SEO title?</h3> <p class="wp-block-paragraph">Usually, yes. WordPress can generate a basic title automatically, but an SEO plugin gives you direct control over the SEO title, meta description, and search preview.</p> <h3 class="wp-block-heading">5. How long should a WordPress SEO title be?</h3> <p class="wp-block-paragraph">A good SEO title is usually around 50–60 characters. It should be clear, readable, and include the main keyword naturally.</p> <h3 class="wp-block-heading">6. Why is Google showing a different SEO title?</h3> <p class="wp-block-paragraph">Google may rewrite your SEO title if it thinks another version better matches the search query or page content. To reduce this, make sure your SEO title clearly matches the page topic and main heading.</p> </div> </div> <div class="elementor-element elementor-element-2a3b559 e-con-full e-flex e-con e-child" data-id="2a3b559" data-element_type="container" data-e-type="container" data-settings="{"background_background":"classic","sticky":"top","sticky_on":["desktop","tablet"],"sticky_offset":80,"sticky_parent":"yes","sticky_effects_offset":0,"sticky_anchor_link_offset":0}"> <div class="elementor-element elementor-element-10b5122 e-con-full e-flex e-con e-child" data-id="10b5122" data-element_type="container" data-e-type="container" data-settings="{"background_background":"classic"}"> <div class="elementor-element elementor-element-37a42c8 elementor-widget elementor-widget-heading" data-id="37a42c8" data-element_type="widget" data-e-type="widget" data-widget_type="heading.default"> <h2 class="elementor-heading-title elementor-size-default">Creative Solutions for Global Brands</h2> </div> <div class="elementor-element elementor-element-243687b elementor-widget elementor-widget-text-editor" data-id="243687b" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default"> <p><strong>AIRSANG</strong> delivers cost-effective website design and development, brand visuals, and cross-border ecommerce solutions for brands worldwide.</p> </div> <div class="elementor-element elementor-element-f7b7de6 e-transform elementor-align-justify elementor-mobile-align-justify elementor-widget__width-inherit elementor-widget elementor-widget-button" data-id="f7b7de6" data-element_type="widget" data-e-type="widget" data-settings="{"_animation":"none","_transform_translateX_effect_hover":{"unit":"px","size":0,"sizes":[]},"_transform_translateY_effect_hover":{"unit":"px","size":-5,"sizes":[]},"_transform_translateX_effect_hover_tablet":{"unit":"px","size":"","sizes":[]},"_transform_translateX_effect_hover_mobile":{"unit":"px","size":"","sizes":[]},"_transform_translateY_effect_hover_tablet":{"unit":"px","size":"","sizes":[]},"_transform_translateY_effect_hover_mobile":{"unit":"px","size":"","sizes":[]}}" data-widget_type="button.default"> <a class="elementor-button elementor-button-link elementor-size-sm" href="#"> <span class="elementor-button-content-wrapper"> <span class="elementor-button-text">Let's Talk</span> </span> </a> </div> </div> <div class="elementor-element elementor-element-3567646 e-con-full e-flex e-con e-child" data-id="3567646" data-element_type="container" data-e-type="container" data-settings="{"background_background":"classic"}"> <div class="elementor-element elementor-element-75a62a1 elementor-position-left elementor-position-top elementor-vertical-align-middle elementor-widget elementor-widget-image-box" data-id="75a62a1" data-element_type="widget" data-e-type="widget" data-widget_type="image-box.default"> <div class="elementor-image-box-wrapper"><figure class="elementor-image-box-img"><a href="https://www.airsang.com/pt/contate-nos/" tabindex="-1"><img src="https://www.airsang.com/wp-content/uploads/airsang-post-templates/ab5497183e7ee4cdddffdd47.webp" title="" alt="" loading="lazy" /></a></figure><div class="elementor-image-box-content"><p class="elementor-image-box-description">Shopify Development</p></div></div> </div> </div> <div class="elementor-element elementor-element-b6eabb7 e-con-full e-flex e-con e-child" data-id="b6eabb7" data-element_type="container" data-e-type="container" data-settings="{"background_background":"classic"}"> <div class="elementor-element elementor-element-7759e1f elementor-position-left elementor-position-top elementor-vertical-align-middle elementor-widget elementor-widget-image-box" data-id="7759e1f" data-element_type="widget" data-e-type="widget" data-widget_type="image-box.default"> <div class="elementor-image-box-wrapper"><figure class="elementor-image-box-img"><a href="https://www.airsang.com/pt/servicos/" tabindex="-1"><img src="https://www.airsang.com/wp-content/uploads/airsang-post-templates/8a5f758291ed3fd452fd6dfc.webp" title="" alt="" loading="lazy" /></a></figure><div class="elementor-image-box-content"><p class="elementor-image-box-description">WordPress Development</p></div></div> </div> </div> <div class="elementor-element elementor-element-4611ee9 e-con-full e-flex e-con e-child" data-id="4611ee9" data-element_type="container" data-e-type="container" data-settings="{"background_background":"classic"}"> <div class="elementor-element elementor-element-f933a1d elementor-position-left elementor-position-top elementor-vertical-align-middle elementor-widget elementor-widget-image-box" data-id="f933a1d" data-element_type="widget" data-e-type="widget" data-widget_type="image-box.default"> <div class="elementor-image-box-wrapper"><figure class="elementor-image-box-img"><a href="https://www.airsang.com/pt/contate-nos/" tabindex="-1"><img src="https://www.airsang.com/wp-content/uploads/airsang-post-templates/1b7f53749b4c0e4e73b6f338.webp" title="" alt="" loading="lazy" /></a></figure><div class="elementor-image-box-content"><p class="elementor-image-box-description">Design de interfaces web</p></div></div> </div> </div> <div class="elementor-element elementor-element-3f1d36f e-con-full e-flex e-con e-child" data-id="3f1d36f" data-element_type="container" data-e-type="container" data-settings="{"background_background":"classic"}"> <div class="elementor-element elementor-element-348e8d2 elementor-position-left elementor-position-top elementor-vertical-align-middle elementor-widget elementor-widget-image-box" data-id="348e8d2" data-element_type="widget" data-e-type="widget" data-widget_type="image-box.default"> <div class="elementor-image-box-wrapper"><figure class="elementor-image-box-img"><a href="https://www.airsang.com/pt/contate-nos/" tabindex="-1"><img src="https://www.airsang.com/wp-content/uploads/airsang-post-templates/8b45613bad7af14204e628d2.webp" title="" alt="" loading="lazy" /></a></figure><div class="elementor-image-box-content"><p class="elementor-image-box-description">Amazon Design</p></div></div> </div> </div> </div> </div> </div> <div class="elementor-element elementor-element-205fc06 e-flex e-con-boxed e-con e-parent" data-id="205fc06" data-element_type="container" data-e-type="container"> <div class="e-con-inner"> <div class="elementor-element elementor-element-69ba58a elementor-widget__width-inherit elementor-widget elementor-widget-airsang_related_articles_posts_carousel" data-id="69ba58a" data-element_type="widget" data-e-type="widget" data-widget_type="airsang_related_articles_posts_carousel.default"> <div class="elementor-widget-container"> <section class="airsang-related-posts-carousel-wrap"> <div id="airsang-related-posts-carousel-69ba58a" class="airsang-related-posts-carousel" data-desktop="4" data-tablet="2" data-mobile="1" data-autoplay="no" data-delay="4200" > <div class="airsang-related-posts-carousel__header"> <h2 class="airsang-related-posts-carousel__title"> <span class="airsang-related-posts-carousel__title-main">More</span> <span class="airsang-related-posts-carousel__title-highlight">Estudos de caso</span> </h2> </div> <div class="airsang-related-posts-carousel__shell"> <button class="airsang-related-posts-carousel__arrow airsang-related-posts-carousel__arrow--prev" type="button" aria-label="Previous" data-no-translation-aria-label="">‹</button> <button class="airsang-related-posts-carousel__arrow airsang-related-posts-carousel__arrow--next" type="button" aria-label="Next" data-no-translation-aria-label="">›</button> <div class="airsang-related-posts-carousel__viewport"> <div class="airsang-related-posts-carousel__track"> <article class="airsang-related-posts-carousel__slide"> <a class="airsang-related-posts-carousel__card" href="https://www.airsang.com/pt/when-should-you-use-one-theme-across-all-sites/"> <span class="airsang-related-posts-carousel__image"> <img src="https://www.airsang.com/wp-content/uploads/2026/04/38b2c2aa-41b8-410e-a643-368b25b29c44-1024x683.png" alt="Is WordPress Multisite One Theme or Multiple Explained"> </span> <span class="airsang-related-posts-carousel__body"> <span class="airsang-related-posts-carousel__post-title">Is WordPress Multisite One Theme or Multiple Explained</span> <span class="airsang-related-posts-carousel__excerpt">Introduction If you’ve ever explored scaling a website or managing multiple sites under one system, you’ve probably come across WordPress Multisite. One of the most common questions people ask is: is WordPress Multisite one theme or multiple? This question is more important than it seems. Understanding how themes work in a Multisite…</span> </span> </a> </article> <article class="airsang-related-posts-carousel__slide"> <a class="airsang-related-posts-carousel__card" href="https://www.airsang.com/pt/how-to-improve-wordpress-seo-and-get-more-traffic/"> <span class="airsang-related-posts-carousel__image"> <img src="https://www.airsang.com/wp-content/uploads/2026/06/image-22-1024x576.png" alt="How to Improve WordPress SEO and Get More Traffic"> </span> <span class="airsang-related-posts-carousel__body"> <span class="airsang-related-posts-carousel__post-title">How to Improve WordPress SEO and Get More Traffic</span> <span class="airsang-related-posts-carousel__excerpt">Search engine optimization (SEO) helps your WordPress website show up higher in search engine results, so more people can discover your content, products, or services. Whether you run a blog, a small business site, or an online store, understanding how to increase SEO on WordPress is essential for growing organic traffic —…</span> </span> </a> </article> <article class="airsang-related-posts-carousel__slide"> <a class="airsang-related-posts-carousel__card" href="https://www.airsang.com/pt/how-do-i-duplicate-a-page-in-wordpress/"> <span class="airsang-related-posts-carousel__image"> <img src="https://www.airsang.com/wp-content/uploads/2026/05/image-40-1024x576.png" alt="How Do I Duplicate a Page in WordPress?"> </span> <span class="airsang-related-posts-carousel__body"> <span class="airsang-related-posts-carousel__post-title">How Do I Duplicate a Page in WordPress?</span> <span class="airsang-related-posts-carousel__excerpt">Introduction If you have ever worked on a WordPress website, you may have asked yourself a simple question: how do I duplicate a page in WordPress? This question usually comes up when you already have a page layout that works well, and you do not want to rebuild it from scratch. Maybe…</span> </span> </a> </article> <article class="airsang-related-posts-carousel__slide"> <a class="airsang-related-posts-carousel__card" href="https://www.airsang.com/pt/build-shopify-store-from-scratch-guide/"> <span class="airsang-related-posts-carousel__image"> <img src="https://www.airsang.com/wp-content/uploads/2026/02/24.jpg" alt="How to Build Shopify Store From Scratch Step by Step"> </span> <span class="airsang-related-posts-carousel__body"> <span class="airsang-related-posts-carousel__post-title">How to Build Shopify Store From Scratch Step by Step</span> <span class="airsang-related-posts-carousel__excerpt">Building an online store with Shopify doesn’t have to be overwhelming—even if you’re starting from zero. With the right plan and understanding of the essential steps, you can build Shopify store that looks professional, engages customers, and sets your business up for long-term growth. In this beginner-friendly guide, we’ll break down what…</span> </span> </a> </article> <article class="airsang-related-posts-carousel__slide"> <a class="airsang-related-posts-carousel__card" href="https://www.airsang.com/pt/how-to-set-up-a-blog-on-wordpress/"> <span class="airsang-related-posts-carousel__image"> <img src="https://www.airsang.com/wp-content/uploads/2026/06/image-40-1024x576.png" alt="How to Set Up a Blog on WordPress"> </span> <span class="airsang-related-posts-carousel__body"> <span class="airsang-related-posts-carousel__post-title">How to Set Up a Blog on WordPress</span> <span class="airsang-related-posts-carousel__excerpt">Introduction Learning how to set up a blog on WordPress is one of the most useful steps for anyone who wants to publish articles, share updates, build search traffic, or organize educational content on a website. A blog is not only a place for personal writing. For business websites, portfolio sites, online…</span> </span> </a> </article> <article class="airsang-related-posts-carousel__slide"> <a class="airsang-related-posts-carousel__card" href="https://www.airsang.com/pt/projetando-a-loja-atacadista-everful-shopify/"> <span class="airsang-related-posts-carousel__image"> <img src="https://www.airsang.com/wp-content/uploads/2026/04/76.png" alt="How We Designed the Everful Wholesale Shopify Store"> </span> <span class="airsang-related-posts-carousel__body"> <span class="airsang-related-posts-carousel__post-title">How We Designed the Everful Wholesale Shopify Store</span> <span class="airsang-related-posts-carousel__excerpt">Introduction Wholesale eCommerce requires a fundamentally different approach from traditional retail design. Instead of appealing to impulse-driven shoppers, wholesale buyers prioritize efficiency, clarity, pricing transparency, and trust. When designing the Shopify experience for Everful Wholesale, our goal was to create a digital environment that feels professional, easy to navigate, and optimized for…</span> </span> </a> </article> <article class="airsang-related-posts-carousel__slide"> <a class="airsang-related-posts-carousel__card" href="https://www.airsang.com/pt/main-image-design-for-ozon-lawn-mower-products/"> <span class="airsang-related-posts-carousel__image"> <img src="https://www.airsang.com/wp-content/uploads/2026/01/d213d9b3-e8f5-41a4-a9b7-833a49c14e51-1024x683.png" alt="Main Image Design for Ozon Lawn Mower Products"> </span> <span class="airsang-related-posts-carousel__body"> <span class="airsang-related-posts-carousel__post-title">Main Image Design for Ozon Lawn Mower Products</span> <span class="airsang-related-posts-carousel__excerpt">Introduction: Designing Lawn Mower Main Images for Ozon Designing a high-conversion main image design for Ozon lawn mower products is never just about making the product look good. As designers, our responsibility goes much deeper: we must translate performance, practicality, and trust into a single visual frame that competes in a crowded…</span> </span> </a> </article> <article class="airsang-related-posts-carousel__slide"> <a class="airsang-related-posts-carousel__card" href="https://www.airsang.com/pt/shoplazza-women-s-clothing-brand-website-design-case-hualf-s-clothing-display-and-product-hierarchy/"> <span class="airsang-related-posts-carousel__image"> <img src="https://www.airsang.com/wp-content/uploads/airsang-posts/87bc76dd964ef10af6b51bf4.webp" alt="Shoplazza women’s clothing brand website design case: HUALF’s clothing display and product hierarchy"> </span> <span class="airsang-related-posts-carousel__body"> <span class="airsang-related-posts-carousel__post-title">Shoplazza women’s clothing brand website design case: HUALF’s clothing display and product hierarchy</span> <span class="airsang-related-posts-carousel__excerpt">We sorted out the visual and page structure of the Shoplazza women's clothing brand website for HUALF, combined it with the Mi Xing background color, golden logo, and model outfit photography to introduce the information level, browsing path, and interaction arrangement of the homepage, categories, and actual main pages.</span> </span> </a> </article> </div> </div> </div> <div class="airsang-related-posts-carousel__dots" aria-label="Carousel pagination" data-no-translation-aria-label=""></div> </div> </section> </div> </div> </div> </div> </div> <footer data-elementor-type="footer" data-elementor-id="1804" class="elementor elementor-1804 elementor-location-footer" data-elementor-post-type="elementor_library"> <div class="elementor-element elementor-element-c51c87a e-flex e-con-boxed e-con e-parent" data-id="c51c87a" data-element_type="container" data-e-type="container" data-settings="{"background_background":"classic"}"> <div class="e-con-inner"> <div class="elementor-element elementor-element-e05edcd e-flex e-con-boxed e-con e-child" data-id="e05edcd" data-element_type="container" data-e-type="container"> <div class="e-con-inner"> <div class="elementor-element elementor-element-a47fb91 e-con-full e-flex e-con e-child" data-id="a47fb91" data-element_type="container" data-e-type="container"> <div class="elementor-element elementor-element-e80b80b elementor-widget__width-initial elementor-widget elementor-widget-image" data-id="e80b80b" data-element_type="widget" data-e-type="widget" data-widget_type="image.default"> <img loading="lazy" width="800" height="240" src="https://www.airsang.com/wp-content/uploads/airsang-pages/c71991f8bec8809971badeef.png" class="attachment-large size-large wp-image-15854" alt="" /> </div> <div class="elementor-element elementor-element-a1de5f0 elementor-shape-rounded elementor-grid-0 e-grid-align-center elementor-widget elementor-widget-social-icons" data-id="a1de5f0" data-element_type="widget" data-e-type="widget" data-widget_type="social-icons.default"> <div class="elementor-social-icons-wrapper elementor-grid" role="list"> <span class="elementor-grid-item" role="listitem"> <a class="elementor-icon elementor-social-icon elementor-social-icon-facebook elementor-repeater-item-3d53d9a" target="_blank"> <span class="elementor-screen-only">Facebook</span> <svg aria-hidden="true" class="e-font-icon-svg e-fab-facebook" viewbox="0 0 512 512" xmlns="http://www.w3.org/2000/svg"><path d="M504 256C504 119 393 8 256 8S8 119 8 256c0 123.78 90.69 226.38 209.25 245V327.69h-63V256h63v-54.64c0-62.15 37-96.48 93.67-96.48 27.14 0 55.52 4.84 55.52 4.84v61h-31.28c-30.8 0-40.41 19.12-40.41 38.73V256h68.78l-11 71.69h-57.78V501C413.31 482.38 504 379.78 504 256z"></path></svg> </a> </span> <span class="elementor-grid-item" role="listitem"> <a class="elementor-icon elementor-social-icon elementor-social-icon-x-twitter elementor-repeater-item-bbda424" target="_blank"> <span class="elementor-screen-only">X-twitter</span> <svg aria-hidden="true" class="e-font-icon-svg e-fab-x-twitter" viewbox="0 0 512 512" xmlns="http://www.w3.org/2000/svg"><path d="M389.2 48h70.6L305.6 224.2 487 464H345L233.7 318.6 106.5 464H35.8L200.7 275.5 26.8 48H172.4L272.9 180.9 389.2 48zM364.4 421.8h39.1L151.1 88h-42L364.4 421.8z"></path></svg> </a> </span> <span class="elementor-grid-item" role="listitem"> <a class="elementor-icon elementor-social-icon elementor-social-icon-youtube elementor-repeater-item-032d630" target="_blank"> <span class="elementor-screen-only">Youtube</span> <svg aria-hidden="true" class="e-font-icon-svg e-fab-youtube" viewbox="0 0 576 512" xmlns="http://www.w3.org/2000/svg"><path d="M549.655 124.083c-6.281-23.65-24.787-42.276-48.284-48.597C458.781 64 288 64 288 64S117.22 64 74.629 75.486c-23.497 6.322-42.003 24.947-48.284 48.597-11.412 42.867-11.412 132.305-11.412 132.305s0 89.438 11.412 132.305c6.281 23.65 24.787 41.5 48.284 47.821C117.22 448 288 448 288 448s170.78 0 213.371-11.486c23.497-6.321 42.003-24.171 48.284-47.821 11.412-42.867 11.412-132.305 11.412-132.305s0-89.438-11.412-132.305zm-317.51 213.508V175.185l142.739 81.205-142.739 81.201z"></path></svg> </a> </span> <span class="elementor-grid-item" role="listitem"> <a class="elementor-icon elementor-social-icon elementor-social-icon-youtube elementor-repeater-item-b7e347f" target="_blank"> <span class="elementor-screen-only">Youtube</span> <svg aria-hidden="true" class="e-font-icon-svg e-fab-youtube" viewbox="0 0 576 512" xmlns="http://www.w3.org/2000/svg"><path d="M549.655 124.083c-6.281-23.65-24.787-42.276-48.284-48.597C458.781 64 288 64 288 64S117.22 64 74.629 75.486c-23.497 6.322-42.003 24.947-48.284 48.597-11.412 42.867-11.412 132.305-11.412 132.305s0 89.438 11.412 132.305c6.281 23.65 24.787 41.5 48.284 47.821C117.22 448 288 448 288 448s170.78 0 213.371-11.486c23.497-6.321 42.003-24.171 48.284-47.821 11.412-42.867 11.412-132.305 11.412-132.305s0-89.438-11.412-132.305zm-317.51 213.508V175.185l142.739 81.205-142.739 81.201z"></path></svg> </a> </span> <span class="elementor-grid-item" role="listitem"> <a class="elementor-icon elementor-social-icon elementor-social-icon-youtube elementor-repeater-item-19b9288" target="_blank"> <span class="elementor-screen-only">Youtube</span> <svg aria-hidden="true" class="e-font-icon-svg e-fab-youtube" viewbox="0 0 576 512" xmlns="http://www.w3.org/2000/svg"><path d="M549.655 124.083c-6.281-23.65-24.787-42.276-48.284-48.597C458.781 64 288 64 288 64S117.22 64 74.629 75.486c-23.497 6.322-42.003 24.947-48.284 48.597-11.412 42.867-11.412 132.305-11.412 132.305s0 89.438 11.412 132.305c6.281 23.65 24.787 41.5 48.284 47.821C117.22 448 288 448 288 448s170.78 0 213.371-11.486c23.497-6.321 42.003-24.171 48.284-47.821 11.412-42.867 11.412-132.305 11.412-132.305s0-89.438-11.412-132.305zm-317.51 213.508V175.185l142.739 81.205-142.739 81.201z"></path></svg> </a> </span> </div> </div> <div class="elementor-element elementor-element-e50dfcd elementor-widget elementor-widget-text-editor" data-id="e50dfcd" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default"> <p>AIRSANG provides cost-effective creative design and high-performance ecommerce websites to help your brand increase its influence on a global scale.</p> </div> </div> <div class="elementor-element elementor-element-f993ab4 e-con-full e-flex e-con e-child" data-id="f993ab4" data-element_type="container" data-e-type="container"> <div class="elementor-element elementor-element-cf22ba8 elementor-widget-mobile__width-initial elementor-widget elementor-widget-airsang_footer_list" data-id="cf22ba8" data-element_type="widget" data-e-type="widget" data-widget_type="airsang_footer_list.default"> <div class="elementor-widget-container"> <section class="airsang-footer-list-wrap"> <div class="airsang-footer-list"> <h3 class="airsang-footer-list__title">Conceção</h3> <ul class="airsang-footer-list__items"> <li class="airsang-footer-list__item"> <a class="airsang-footer-list__link" href="https://www.airsang.com/pt/website-design/">Website Design</a> </li> <li class="airsang-footer-list__item"> <a class="airsang-footer-list__link" href="https://www.airsang.com/pt/shopify-website-design/">Ecommerce Store Design</a> </li> <li class="airsang-footer-list__item"> <a class="airsang-footer-list__link" href="https://www.airsang.com/pt/amazon-design/">Amazon Design</a> </li> <li class="airsang-footer-list__item"> <a class="airsang-footer-list__link" href="https://www.airsang.com/pt/shein-design/">SHEIN Design</a> </li> <li class="airsang-footer-list__item"> <a class="airsang-footer-list__link" href="https://www.airsang.com/pt/casos-de-design-de-marca/">Design da marca</a> </li> </ul> </div> </section> </div> </div> <div class="elementor-element elementor-element-d88f8e4 elementor-widget-mobile__width-initial elementor-widget elementor-widget-airsang_footer_list" data-id="d88f8e4" data-element_type="widget" data-e-type="widget" data-widget_type="airsang_footer_list.default"> <div class="elementor-widget-container"> <section class="airsang-footer-list-wrap"> <div class="airsang-footer-list"> <h3 class="airsang-footer-list__title">Technology and Operations</h3> <ul class="airsang-footer-list__items"> <li class="airsang-footer-list__item"> <a class="airsang-footer-list__link" href="https://www.airsang.com/pt/wordpress-website-design/">Desenvolvimento de Websites</a> </li> <li class="airsang-footer-list__item"> <a class="airsang-footer-list__link" href="https://www.airsang.com/pt/custom-theme-development/">Custom Development</a> </li> <li class="airsang-footer-list__item"> <a class="airsang-footer-list__link" href="https://www.airsang.com/pt/product-listing-services/">Product Listings</a> </li> <li class="airsang-footer-list__item"> <a class="airsang-footer-list__link" href="https://www.airsang.com/pt/contate-nos/">Social Media Management</a> </li> <li class="airsang-footer-list__item"> <a class="airsang-footer-list__link" href="https://www.airsang.com/pt/seo-services/">Search Engine Optimization</a> </li> <li class="airsang-footer-list__item"> <a class="airsang-footer-list__link" href="https://www.airsang.com/pt/contate-nos/">Website Migration</a> </li> <li class="airsang-footer-list__item"> <a class="airsang-footer-list__link" href="https://www.airsang.com/pt/contate-nos/">Website Security</a> </li> </ul> </div> </section> </div> </div> <div class="elementor-element elementor-element-9df297f elementor-widget-mobile__width-initial elementor-widget elementor-widget-airsang_footer_list" data-id="9df297f" data-element_type="widget" data-e-type="widget" data-widget_type="airsang_footer_list.default"> <div class="elementor-widget-container"> <section class="airsang-footer-list-wrap"> <div class="airsang-footer-list"> <h3 class="airsang-footer-list__title">Sobre nós</h3> <ul class="airsang-footer-list__items"> <li class="airsang-footer-list__item"> <a class="airsang-footer-list__link" href="https://www.airsang.com/pt/portfolio/">Our Work</a> </li> <li class="airsang-footer-list__item"> <a class="airsang-footer-list__link" href="https://www.airsang.com/pt/sobre-nos/">Company Profile</a> </li> <li class="airsang-footer-list__item"> <a class="airsang-footer-list__link" href="https://www.airsang.com/pt/blog/">Blog & Insights</a> </li> <li class="airsang-footer-list__item"> <a class="airsang-footer-list__link" href="https://www.airsang.com/pt/contate-nos/">Careers</a> </li> </ul> </div> </section> </div> </div> <div class="elementor-element elementor-element-78fcdc2 elementor-widget-mobile__width-initial elementor-widget elementor-widget-airsang_footer_list" data-id="78fcdc2" data-element_type="widget" data-e-type="widget" data-widget_type="airsang_footer_list.default"> <div class="elementor-widget-container"> <section class="airsang-footer-list-wrap"> <div class="airsang-footer-list"> <h3 class="airsang-footer-list__title">Apoiar</h3> <ul class="airsang-footer-list__items"> <li class="airsang-footer-list__item"> <a class="airsang-footer-list__link" href="https://www.airsang.com/pt/termos-de-uso/">Termos de Uso</a> </li> <li class="airsang-footer-list__item"> <a class="airsang-footer-list__link" href="https://www.airsang.com/pt/contate-nos/">Contactar-nos</a> </li> <li class="airsang-footer-list__item"> <a class="airsang-footer-list__link" href="https://www.airsang.com/pt/blog/">Knowledge Base</a> </li> <li class="airsang-footer-list__item"> <a class="airsang-footer-list__link" href="https://www.airsang.com/pt/contate-nos/">Frequently Asked Questions</a> </li> <li class="airsang-footer-list__item"> <a class="airsang-footer-list__link" href="https://www.airsang.com/pt/politica-de-privacidade/">Política de privacidade</a> </li> </ul> </div> </section> </div> </div> </div> <div class="elementor-element elementor-element-e3ea2b4 e-con-full e-flex e-con e-child" data-id="e3ea2b4" data-element_type="container" data-e-type="container"> <div class="elementor-element elementor-element-6353444 elementor-widget elementor-widget-heading" data-id="6353444" data-element_type="widget" data-e-type="widget" data-widget_type="heading.default"> <h2 class="elementor-heading-title elementor-size-default">Contactar-nos</h2> </div> <div class="elementor-element elementor-element-1596b74 elementor-position-inline-start elementor-mobile-position-inline-start elementor-view-default elementor-widget elementor-widget-icon-box" data-id="1596b74" data-element_type="widget" data-e-type="widget" data-widget_type="icon-box.default"> <div class="elementor-icon-box-wrapper"> <div class="elementor-icon-box-icon"> <span class="elementor-icon"> <svg aria-hidden="true" class="e-font-icon-svg e-fas-map-marker-alt" viewbox="0 0 384 512" xmlns="http://www.w3.org/2000/svg"><path d="M172.268 501.67C26.97 291.031 0 269.413 0 192 0 85.961 85.961 0 192 0s192 85.961 192 192c0 77.413-26.97 99.031-172.268 309.67-9.535 13.774-29.93 13.773-39.464 0zM192 272c44.183 0 80-35.817 80-80s-35.817-80-80-80-80 35.817-80 80 35.817 80 80 80z"></path></svg> </span> </div> <div class="elementor-icon-box-content"> <p class="elementor-icon-box-description"> Building 4, West Lake YOHO, Quanzhou City, Fujian Province 510-513 </p> </div> </div> </div> <div class="elementor-element elementor-element-0fbecf0 elementor-position-inline-start elementor-mobile-position-inline-start elementor-view-default elementor-widget elementor-widget-icon-box" data-id="0fbecf0" data-element_type="widget" data-e-type="widget" data-widget_type="icon-box.default"> <div class="elementor-icon-box-wrapper"> <div class="elementor-icon-box-icon"> <span class="elementor-icon"> <svg aria-hidden="true" class="e-font-icon-svg e-fas-phone-alt" viewbox="0 0 512 512" xmlns="http://www.w3.org/2000/svg"><path d="M497.39 361.8l-112-48a24 24 0 0 0-28 6.9l-49.6 60.6A370.66 370.66 0 0 1 130.6 204.11l60.6-49.6a23.94 23.94 0 0 0 6.9-28l-48-112A24.16 24.16 0 0 0 122.6.61l-104 24A24 24 0 0 0 0 48c0 256.5 207.9 464 464 464a24 24 0 0 0 23.4-18.6l24-104a24.29 24.29 0 0 0-14.01-27.6z"></path></svg> </span> </div> <div class="elementor-icon-box-content"> <p class="elementor-icon-box-description"> +86 17759522770 </p> </div> </div> </div> <div class="elementor-element elementor-element-618b284 elementor-position-inline-start elementor-mobile-position-inline-start elementor-view-default elementor-widget elementor-widget-icon-box" data-id="618b284" data-element_type="widget" data-e-type="widget" data-widget_type="icon-box.default"> <div class="elementor-icon-box-wrapper"> <div class="elementor-icon-box-icon"> <span class="elementor-icon"> <svg aria-hidden="true" class="e-font-icon-svg e-fas-envelope" viewbox="0 0 512 512" xmlns="http://www.w3.org/2000/svg"><path d="M502.3 190.8c3.9-3.1 9.7-.2 9.7 4.7V400c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V195.6c0-5 5.7-7.8 9.7-4.7 22.4 17.4 52.1 39.5 154.1 113.6 21.1 15.4 56.7 47.8 92.2 47.6 35.7.3 72-32.8 92.3-47.6 102-74.1 131.6-96.3 154-113.7zM256 320c23.2.4 56.6-29.2 73.4-41.4 132.7-96.3 142.8-104.7 173.4-128.7 5.8-4.5 9.2-11.5 9.2-18.9v-19c0-26.5-21.5-48-48-48H48C21.5 64 0 85.5 0 112v19c0 7.4 3.4 14.3 9.2 18.9 30.6 23.9 40.7 32.4 173.4 128.7 16.8 12.2 50.2 41.8 73.4 41.4z"></path></svg> </span> </div> <div class="elementor-icon-box-content"> <p class="elementor-icon-box-description"> support@airsang.com </p> </div> </div> </div> </div> </div> </div> <div class="elementor-element elementor-element-11af021 elementor-widget-divider--view-line elementor-widget elementor-widget-divider" data-id="11af021" data-element_type="widget" data-e-type="widget" data-widget_type="divider.default"> <div class="elementor-divider"> <span class="elementor-divider-separator"> </span> </div> </div> <div class="elementor-element elementor-element-fa5b0e8 e-con-full e-flex e-con e-child" data-id="fa5b0e8" data-element_type="container" data-e-type="container"> <div class="elementor-element elementor-element-04ccc0d elementor-widget-tablet__width-inherit elementor-widget-mobile__width-initial elementor-widget elementor-widget-airsang_platform_logo_marquee" data-id="04ccc0d" data-element_type="widget" data-e-type="widget" data-widget_type="airsang_platform_logo_marquee.default"> <div class="elementor-widget-container"> <div class="as-platform-marquee as-platform-marquee--pause as-platform-marquee--white" data-as-platform-marquee style="--as-duration: 40s;" role="region" aria-label="Platform logos"> <div class="as-platform-marquee__viewport"> <div class="as-platform-marquee__track"> <div class="as-platform-marquee__group"> <span class="as-platform-marquee__item"> <span class="as-platform-marquee__white-logo" aria-hidden="true" style="--as-logo-mask:url("https://www.airsang.com/wp-content/uploads/airsang-pages/25ffd4d933335a20abff31e0.webp");"></span> <img class="as-platform-marquee__color-logo" src="https://www.airsang.com/wp-content/uploads/airsang-pages/25ffd4d933335a20abff31e0.webp" alt="Amazon" loading="eager" decoding="async"> </span> <span class="as-platform-marquee__item"> <span class="as-platform-marquee__white-logo" aria-hidden="true" style="--as-logo-mask:url("https://www.airsang.com/wp-content/uploads/airsang-pages/78aeef07b3a97110df832c29.webp");"></span> <img class="as-platform-marquee__color-logo" src="https://www.airsang.com/wp-content/uploads/airsang-pages/78aeef07b3a97110df832c29.webp" alt="Shopify" loading="eager" decoding="async"> </span> <span class="as-platform-marquee__item"> <span class="as-platform-marquee__white-logo" aria-hidden="true" style="--as-logo-mask:url("https://www.airsang.com/wp-content/uploads/airsang-pages/3a611edcae0b6a2b97d5660a.webp");"></span> <img class="as-platform-marquee__color-logo" src="https://www.airsang.com/wp-content/uploads/airsang-pages/3a611edcae0b6a2b97d5660a.webp" alt="WordPress" loading="eager" decoding="async"> </span> <span class="as-platform-marquee__item"> <span class="as-platform-marquee__white-logo" aria-hidden="true" style="--as-logo-mask:url("https://www.airsang.com/wp-content/uploads/airsang-pages/f38a30980bf6bbb12a330871.webp");"></span> <img class="as-platform-marquee__color-logo" src="https://www.airsang.com/wp-content/uploads/airsang-pages/f38a30980bf6bbb12a330871.webp" alt="Magento" loading="eager" decoding="async"> </span> <span class="as-platform-marquee__item"> <span class="as-platform-marquee__white-logo" aria-hidden="true" style="--as-logo-mask:url("https://www.airsang.com/wp-content/uploads/airsang-pages/2cba7fa096de5c8dec6b76f0.webp");"></span> <img class="as-platform-marquee__color-logo" src="https://www.airsang.com/wp-content/uploads/airsang-pages/2cba7fa096de5c8dec6b76f0.webp" alt="TEMU" loading="eager" decoding="async"> </span> <span class="as-platform-marquee__item"> <span class="as-platform-marquee__white-logo" aria-hidden="true" style="--as-logo-mask:url("https://www.airsang.com/wp-content/uploads/airsang-pages/cd108f5b5c34d881a3b7271d.webp");"></span> <img class="as-platform-marquee__color-logo" src="https://www.airsang.com/wp-content/uploads/airsang-pages/cd108f5b5c34d881a3b7271d.webp" alt="Shoplazza" loading="eager" decoding="async"> </span> <span class="as-platform-marquee__item"> <span class="as-platform-marquee__white-logo" aria-hidden="true" style="--as-logo-mask:url("https://www.airsang.com/wp-content/uploads/airsang-pages/6e9a9fa95ef9142e928c296f.webp");"></span> <img class="as-platform-marquee__color-logo" src="https://www.airsang.com/wp-content/uploads/airsang-pages/6e9a9fa95ef9142e928c296f.webp" alt="Wix" loading="eager" decoding="async"> </span> <span class="as-platform-marquee__item"> <span class="as-platform-marquee__white-logo" aria-hidden="true" style="--as-logo-mask:url("https://www.airsang.com/wp-content/uploads/airsang-pages/3d9c9b95e762a33e75a0146a.webp");"></span> <img class="as-platform-marquee__color-logo" src="https://www.airsang.com/wp-content/uploads/airsang-pages/3d9c9b95e762a33e75a0146a.webp" alt="SHEIN" loading="eager" decoding="async"> </span> <span class="as-platform-marquee__item"> <span class="as-platform-marquee__white-logo" aria-hidden="true" style="--as-logo-mask:url("https://www.airsang.com/wp-content/uploads/airsang-pages/05bcf41dd353b901610f36ae.webp");"></span> <img class="as-platform-marquee__color-logo" src="https://www.airsang.com/wp-content/uploads/airsang-pages/05bcf41dd353b901610f36ae.webp" alt="SHOPLINE" loading="eager" decoding="async"> </span> <span class="as-platform-marquee__item"> <span class="as-platform-marquee__white-logo" aria-hidden="true" style="--as-logo-mask:url("https://www.airsang.com/wp-content/uploads/airsang-pages/19f5094cdc56831d94c10b3e.webp");"></span> <img class="as-platform-marquee__color-logo" src="https://www.airsang.com/wp-content/uploads/airsang-pages/19f5094cdc56831d94c10b3e.webp" alt="AliExpress" loading="eager" decoding="async"> </span> <span class="as-platform-marquee__item"> <span class="as-platform-marquee__white-logo" aria-hidden="true" style="--as-logo-mask:url("https://www.airsang.com/wp-content/uploads/airsang-pages/d3fb409967191fca0af8f028.webp");"></span> <img class="as-platform-marquee__color-logo" src="https://www.airsang.com/wp-content/uploads/airsang-pages/d3fb409967191fca0af8f028.webp" alt="eBay" loading="eager" decoding="async"> </span> <span class="as-platform-marquee__item"> <span class="as-platform-marquee__white-logo" aria-hidden="true" style="--as-logo-mask:url("https://www.airsang.com/wp-content/uploads/airsang-pages/bb1cc6a8c648222b1b119429.webp");"></span> <img class="as-platform-marquee__color-logo" src="https://www.airsang.com/wp-content/uploads/airsang-pages/bb1cc6a8c648222b1b119429.webp" alt="Coupang" loading="eager" decoding="async"> </span> <span class="as-platform-marquee__item"> <span class="as-platform-marquee__white-logo" aria-hidden="true" style="--as-logo-mask:url("https://www.airsang.com/wp-content/uploads/airsang-pages/a35070236019b220fc3e5188.webp");"></span> <img class="as-platform-marquee__color-logo" src="https://www.airsang.com/wp-content/uploads/airsang-pages/a35070236019b220fc3e5188.webp" alt="Shopee" loading="eager" decoding="async"> </span> <span class="as-platform-marquee__item"> <span class="as-platform-marquee__white-logo" aria-hidden="true" style="--as-logo-mask:url("https://www.airsang.com/wp-content/uploads/airsang-pages/ba04a7777bfcc9c1b5eb70af.webp");"></span> <img class="as-platform-marquee__color-logo" src="https://www.airsang.com/wp-content/uploads/airsang-pages/ba04a7777bfcc9c1b5eb70af.webp" alt="Taobao" loading="eager" decoding="async"> </span> <span class="as-platform-marquee__item"> <span class="as-platform-marquee__white-logo" aria-hidden="true" style="--as-logo-mask:url("https://www.airsang.com/wp-content/uploads/airsang-pages/141886635ec8271e87206dae.webp");"></span> <img class="as-platform-marquee__color-logo" src="https://www.airsang.com/wp-content/uploads/airsang-pages/141886635ec8271e87206dae.webp" alt="Alibaba" loading="eager" decoding="async"> </span> <span class="as-platform-marquee__item"> <span class="as-platform-marquee__white-logo" aria-hidden="true" style="--as-logo-mask:url("https://www.airsang.com/wp-content/uploads/airsang-pages/77d139fc46e5487e333a7190.webp");"></span> <img class="as-platform-marquee__color-logo" src="https://www.airsang.com/wp-content/uploads/airsang-pages/77d139fc46e5487e333a7190.webp" alt="Ozônio" loading="eager" decoding="async"> </span> </div> </div> </div> </div> </div> </div> <div class="elementor-element elementor-element-1ae1824 elementor-widget elementor-widget-heading" data-id="1ae1824" data-element_type="widget" data-e-type="widget" data-widget_type="heading.default"> <h2 class="elementor-heading-title elementor-size-default"><a href="https://www.airsang.com/pt/termos-de-uso/">© 2026 AIRSANG. All rights reserved.</a></h2> </div> </div> </div> </div> </footer> <template id="tp-language" data-tp-language="pt_PT"></template><script type="speculationrules"> {"prefetch":[{"source":"document","where":{"and":[{"href_matches":"/pt/*"},{"not":{"href_matches":["/wp-*.php","/wp-admin/*","/wp-content/uploads/*","/wp-content/*","/wp-content/plugins/*","/wp-content/themes/hello-elementor/*","/pt/*\\?(.+)"]}},{"not":{"selector_matches":"a[rel~=\"nofollow\"]"}},{"not":{"selector_matches":".no-prefetch, .no-prefetch a"}}]},"eagerness":"conservative"}]} </script> <script> ( () => { const lazyloadRunObserver = () => { const lazyloadBackgrounds = document.querySelectorAll( `.e-con.e-parent:not(.e-lazyloaded)` ); const lazyloadBackgroundObserver = new IntersectionObserver( ( entries ) => { entries.forEach( ( entry ) => { if ( entry.isIntersecting ) { let lazyloadBackground = entry.target; if( lazyloadBackground ) { lazyloadBackground.classList.add( 'e-lazyloaded' ); } lazyloadBackgroundObserver.unobserve( entry.target ); } }); }, { rootMargin: '200px 0px 200px 0px' } ); lazyloadBackgrounds.forEach( ( lazyloadBackground ) => { lazyloadBackgroundObserver.observe( lazyloadBackground ); } ); }; const events = [ 'DOMContentLoaded', 'elementor/lazyload/observe', ]; events.forEach( ( event ) => { document.addEventListener( event, lazyloadRunObserver ); } ); } )(); </script> <script> (function () { var c = document.body.className; c = c.replace(/woocommerce-no-js/, 'woocommerce-js'); document.body.className = c; })(); </script> <link rel='stylesheet' id='wc-blocks-style-css' href='https://www.airsang.com/wp-content/plugins/woocommerce/assets/client/blocks/wc-blocks.css?ver=wc-10.4.4' media='all' /> <script id="burst-js" defer src="https://www.airsang.com/wp-content/uploads/burst/js/burst.min.js?ver=1793521247"></script> <script id="trp-dynamic-translator-js-extra"> var trp_data = {"trp_custom_ajax_url":"https://www.airsang.com/wp-content/plugins/translatepress-multilingual/includes/trp-ajax.php","trp_wp_ajax_url":"https://www.airsang.com/wp-admin/admin-ajax.php","trp_language_to_query":"pt_PT","trp_original_language":"en_US","trp_current_language":"pt_PT","trp_skip_selectors":["[data-no-translation]","[data-no-dynamic-translation]","[data-trp-translate-id-innertext]","script","style","head","trp-span","translate-press","#billing_country","#shipping_country","#billing_state","#shipping_state","#select2-billing_country-results","#select2-billing_state-results","#select2-shipping_country-results","#select2-shipping_state-results","[data-trp-translate-id]","[data-trpgettextoriginal]","[data-trp-post-slug]"],"trp_base_selectors":["data-trp-translate-id","data-trpgettextoriginal","data-trp-post-slug"],"trp_attributes_selectors":{"text":{"accessor":"outertext","attribute":false},"block":{"accessor":"innertext","attribute":false},"image_src":{"selector":"img[src]","accessor":"src","attribute":true},"submit":{"selector":"input[type='submit'],input[type='button'], input[type='reset']","accessor":"value","attribute":true},"placeholder":{"selector":"input[placeholder],textarea[placeholder]","accessor":"placeholder","attribute":true},"title":{"selector":"[title]","accessor":"title","attribute":true},"a_href":{"selector":"a[href]","accessor":"href","attribute":true},"button":{"accessor":"outertext","attribute":false},"option":{"accessor":"innertext","attribute":false},"aria_label":{"selector":"[aria-label]","accessor":"aria-label","attribute":true},"video_src":{"selector":"video[src]","accessor":"src","attribute":true},"video_poster":{"selector":"video[poster]","accessor":"poster","attribute":true},"video_source_src":{"selector":"video source[src]","accessor":"src","attribute":true},"audio_src":{"selector":"audio[src]","accessor":"src","attribute":true},"audio_source_src":{"selector":"audio source[src]","accessor":"src","attribute":true},"picture_image_src":{"selector":"picture image[src]","accessor":"src","attribute":true},"picture_source_srcset":{"selector":"picture source[srcset]","accessor":"srcset","attribute":true},"image_alt":{"selector":"img[alt]","accessor":"alt","attribute":true},"meta_desc":{"selector":"meta[name=\"description\"],meta[property=\"og:title\"],meta[property=\"og:description\"],meta[property=\"og:site_name\"],meta[property=\"og:image:alt\"],meta[name=\"twitter:title\"],meta[name=\"twitter:description\"],meta[name=\"twitter:image:alt\"],meta[name=\"DC.Title\"],meta[name=\"DC.Description\"],meta[property=\"article:section\"],meta[property=\"article:tag\"]","accessor":"content","attribute":true},"page_title":{"selector":"title","accessor":"innertext","attribute":false},"meta_desc_img":{"selector":"meta[property=\"og:image\"],meta[property=\"og:image:secure_url\"],meta[name=\"twitter:image\"]","accessor":"content","attribute":true}},"trp_attributes_accessors":["outertext","innertext","src","value","placeholder","title","href","aria-label","poster","srcset","alt","content"],"gettranslationsnonceregular":"d2ac8abcc8","showdynamiccontentbeforetranslation":"","skip_strings_from_dynamic_translation":[],"skip_strings_from_dynamic_translation_for_substrings":{"href":["amazon-adsystem","googleads","g.doubleclick"]},"duplicate_detections_allowed":"100","trp_translate_numerals_opt":"no","trp_no_auto_translation_selectors":["[data-no-auto-translation]","ol.commentlist"]}; //# sourceURL=trp-dynamic-translator-js-extra </script> <script id="trp-dynamic-translator-js" src="https://www.airsang.com/wp-content/plugins/translatepress-multilingual/assets/js/trp-translate-dom-changes.js?ver=3.0.6"></script> <script id="airsang-elementor-ajax-tax-post-list-widget-js-after"> (function () { function getAjaxUrl(results) { if (results && results.getAttribute("data-ajax-url")) { return results.getAttribute("data-ajax-url"); } if (window.ajaxurl) { return window.ajaxurl; } return "https://www.airsang.com/wp-admin/admin-ajax.php"; } function init(root) { if (!root || root.dataset.atplReady === "yes") { return; } root.dataset.atplReady = "yes"; var results = root.querySelector(".airsang-ajax-tax-post-list__results"); var items = root.querySelector(".airsang-ajax-tax-post-list__items"); var status = root.querySelector("[data-atpl-status]"); var sentinel = root.querySelector("[data-atpl-sentinel]"); var viewport = root.querySelector(".airsang-ajax-tax-post-list__tabs-viewport"); if (!results || !items) { return; } var state = { termId: results.getAttribute("data-current-term") || "0", page: parseInt(results.getAttribute("data-current-page") || "1", 10) || 1, hasMore: results.getAttribute("data-has-more") === "yes", loading: false, infinite: results.getAttribute("data-enable-infinite") === "yes" }; function setStatus(text, loading) { if (!status) { return; } status.textContent = text || ""; status.classList.toggle("is-loading", !!loading); } function appendHtml(html) { if (!html) { return; } var temp = document.createElement("div"); temp.innerHTML = html; Array.prototype.slice.call(temp.children).forEach(function (node) { items.appendChild(node); }); } function requestPage(page, append) { if (state.loading) { return; } state.loading = true; results.classList.add("is-loading"); setStatus(results.getAttribute("data-loading-text") || "Loading...", true); var form = new FormData(); form.append("action", results.getAttribute("data-action") || "airsang_ajax_tax_post_list"); form.append("nonce", results.getAttribute("data-nonce") || ""); form.append("settings", results.getAttribute("data-settings") || "{}"); form.append("term_id", state.termId || "0"); form.append("page", String(page || 1)); fetch(getAjaxUrl(results), { method: "POST", credentials: "same-origin", body: form }) .then(function (response) { return response.json(); }) .then(function (payload) { if (!payload || !payload.success || !payload.data) { return; } if (append) { appendHtml(payload.data.html || ""); } else { items.innerHTML = payload.data.html || ""; } state.page = parseInt(payload.data.page || page, 10) || page; state.hasMore = !!payload.data.has_more; results.setAttribute("data-current-page", String(state.page)); results.setAttribute("data-has-more", state.hasMore ? "yes" : "no"); if (!state.hasMore) { setStatus(results.getAttribute("data-end-text") || "", false); } else { setStatus("", false); } }) .catch(function () { setStatus("", false); }) .finally(function () { state.loading = false; results.classList.remove("is-loading"); }); } function loadMore() { if (!state.infinite || !state.hasMore || state.loading) { return; } requestPage(state.page + 1, true); } root.addEventListener("click", function (event) { var tab = event.target.closest("[data-atpl-tab]"); var scroller = event.target.closest("[data-atpl-scroll]"); if (tab && root.contains(tab)) { event.preventDefault(); root.querySelectorAll("[data-atpl-tab]").forEach(function (item) { item.classList.remove("is-active"); }); tab.classList.add("is-active"); state.termId = tab.getAttribute("data-term-id") || "0"; state.page = 1; state.hasMore = true; results.setAttribute("data-current-term", state.termId); requestPage(1, false); return; } if (scroller && viewport && root.contains(scroller)) { event.preventDefault(); var dir = parseInt(scroller.getAttribute("data-atpl-scroll") || "1", 10) || 1; viewport.scrollBy({ left: dir * Math.max(160, Math.round(viewport.clientWidth * 0.7)), behavior: "smooth" }); } }); if (state.infinite && sentinel && "IntersectionObserver" in window) { var observer = new IntersectionObserver(function (entries) { entries.forEach(function (entry) { if (entry.isIntersecting) { loadMore(); } }); }, { rootMargin: "420px 0px 420px 0px", threshold: 0 }); observer.observe(sentinel); } else if (state.infinite) { window.addEventListener("scroll", function () { var rect = root.getBoundingClientRect(); if (rect.bottom < window.innerHeight + 420) { loadMore(); } }, { passive: true }); } } function initAll(scope) { var root = scope || document; if (root.matches && root.matches("[data-airsang-ajax-tax-post-list]")) { init(root); } root.querySelectorAll && root.querySelectorAll("[data-airsang-ajax-tax-post-list]").forEach(init); } if (document.readyState === "loading") { document.addEventListener("DOMContentLoaded", function () { initAll(document); }); } else { initAll(document); } function bindElementorHooks() { if (!window.elementorFrontend || !window.elementorFrontend.hooks || window.__airsangAtplHooksBound) { return; } window.__airsangAtplHooksBound = true; window.elementorFrontend.hooks.addAction("frontend/element_ready/global", function ($scope) { initAll($scope && $scope[0] ? $scope[0] : document); }); window.elementorFrontend.hooks.addAction("frontend/element_ready/airsang_ajax_tax_post_list.default", function ($scope) { initAll($scope && $scope[0] ? $scope[0] : document); }); } bindElementorHooks(); window.addEventListener("elementor/frontend/init", bindElementorHooks); if (window.jQuery) { window.jQuery(window).on("elementor/frontend/init", bindElementorHooks); } })(); //# sourceURL=airsang-elementor-ajax-tax-post-list-widget-js-after </script> <script id="airsang-elementor-ajax-post-search-widget-js-after"> (function () { function init(root) { if (!root || root.dataset.apsReady === "yes") { return; } root.dataset.apsReady = "yes"; var form = root.querySelector(".airsang-ajax-post-search__form"); var input = root.querySelector(".airsang-ajax-post-search__input"); var button = root.querySelector(".airsang-ajax-post-search__button"); var clearButton = root.querySelector("[data-aps-clear]"); var results = root.querySelector(".airsang-ajax-post-search__results"); if (!form || !input || !results) { return; } var collapseTimer = null; function setContent(html, loading) { results.innerHTML = html || ""; results.classList.toggle("has-content", !!html); results.classList.toggle("is-loading", !!loading); } function updateValueState() { root.classList.toggle("has-value", !!(input.value || "").trim()); } function collapseResults() { if (results.classList.contains("is-loading")) { return; } setContent("", false); } function search() { var keyword = (input.value || "").trim(); var loadingText = results.getAttribute("data-loading-text") || "Loading..."; updateValueState(); setContent("<div class=\"airsang-ajax-post-search__loading\">" + loadingText + "</div>", true); if (button) { button.disabled = true; } var formData = new FormData(); formData.append("action", results.getAttribute("data-action") || "airsang_ajax_post_search"); formData.append("nonce", results.getAttribute("data-nonce") || ""); formData.append("keyword", keyword); formData.append("settings", results.getAttribute("data-settings") || "{}"); fetch(results.getAttribute("data-ajax-url") || "https://www.airsang.com/wp-admin/admin-ajax.php", { method: "POST", credentials: "same-origin", body: formData }) .then(function (response) { return response.json(); }) .then(function (payload) { if (payload && payload.success && payload.data && typeof payload.data.html === "string") { setContent(payload.data.html, false); } else { setContent("", false); } }) .catch(function () { setContent("", false); }) .finally(function () { if (button) { button.disabled = false; } }); } form.addEventListener("submit", function (event) { event.preventDefault(); search(); }); input.addEventListener("input", updateValueState); if (clearButton) { clearButton.addEventListener("click", function (event) { event.preventDefault(); input.value = ""; updateValueState(); collapseResults(); input.focus(); }); } root.addEventListener("mouseenter", function () { if (collapseTimer) { window.clearTimeout(collapseTimer); collapseTimer = null; } }); root.addEventListener("mouseleave", function () { collapseTimer = window.setTimeout(collapseResults, 260); }); document.addEventListener("click", function (event) { if (!root.contains(event.target)) { collapseResults(); } }); updateValueState(); } function initAll(scope) { var root = scope || document; if (root.matches && root.matches("[data-airsang-ajax-post-search]")) { init(root); } root.querySelectorAll && root.querySelectorAll("[data-airsang-ajax-post-search]").forEach(init); } if (document.readyState === "loading") { document.addEventListener("DOMContentLoaded", function () { initAll(document); }); } else { initAll(document); } function bindElementorHooks() { if (!window.elementorFrontend || !window.elementorFrontend.hooks || window.__airsangApsHooksBound) { return; } window.__airsangApsHooksBound = true; window.elementorFrontend.hooks.addAction("frontend/element_ready/global", function ($scope) { initAll($scope && $scope[0] ? $scope[0] : document); }); window.elementorFrontend.hooks.addAction("frontend/element_ready/airsang_ajax_post_search.default", function ($scope) { initAll($scope && $scope[0] ? $scope[0] : document); }); } bindElementorHooks(); window.addEventListener("elementor/frontend/init", bindElementorHooks); if (window.jQuery) { window.jQuery(window).on("elementor/frontend/init", bindElementorHooks); } })(); //# sourceURL=airsang-elementor-ajax-post-search-widget-js-after </script> <script id="airsang-elementor-app-data-ecosystem-widget-js-after"> (function () { function reveal(section) { if (section) { section.classList.add("is-visible"); } } function init(root) { var scope = root || document; var sections = scope.querySelectorAll(".airsang-app-data-ecosystem.is-entrance-enabled"); if (document.body && (document.body.classList.contains("elementor-editor-active") || document.body.classList.contains("elementor-editor-preview"))) { sections.forEach(reveal); return; } if (!("IntersectionObserver" in window)) { sections.forEach(reveal); return; } var observer = new IntersectionObserver(function (entries) { entries.forEach(function (entry) { if (entry.isIntersecting) { reveal(entry.target); observer.unobserve(entry.target); } }); }, { threshold: 0.16 }); sections.forEach(function (section) { if (!section.classList.contains("is-visible")) { observer.observe(section); } }); } function initAll(scope) { init(scope || document); } if (document.readyState === "loading") { document.addEventListener("DOMContentLoaded", function () { initAll(document); }); } else { initAll(document); } function bindElementorHooks() { if (!window.elementorFrontend || !window.elementorFrontend.hooks || window.__airsangAdeHooksBound) { return; } window.__airsangAdeHooksBound = true; window.elementorFrontend.hooks.addAction("frontend/element_ready/global", function ($scope) { initAll($scope && $scope[0] ? $scope[0] : document); }); window.elementorFrontend.hooks.addAction("frontend/element_ready/airsang_app_data_ecosystem.default", function ($scope) { initAll($scope && $scope[0] ? $scope[0] : document); }); } bindElementorHooks(); window.addEventListener("elementor/frontend/init", bindElementorHooks); if (window.jQuery) { window.jQuery(window).on("elementor/frontend/init", bindElementorHooks); } })(); //# sourceURL=airsang-elementor-app-data-ecosystem-widget-js-after </script> <script id="airsang-elementor-shopify-build-services-cards-widget-js-after"> (function () { function reveal(section) { if (section) { section.classList.add("is-visible"); } } function init(root) { var scope = root || document; var sections = scope.querySelectorAll(".airsang-shopify-build-services.is-entrance-enabled"); if (document.body && (document.body.classList.contains("elementor-editor-active") || document.body.classList.contains("elementor-editor-preview"))) { sections.forEach(reveal); return; } if (!("IntersectionObserver" in window)) { sections.forEach(reveal); return; } var observer = new IntersectionObserver(function (entries) { entries.forEach(function (entry) { if (entry.isIntersecting) { reveal(entry.target); observer.unobserve(entry.target); } }); }, { threshold: 0.16 }); sections.forEach(function (section) { if (!section.classList.contains("is-visible")) { observer.observe(section); } }); } function initAll(scope) { init(scope || document); } if (document.readyState === "loading") { document.addEventListener("DOMContentLoaded", function () { initAll(document); }); } else { initAll(document); } function bindElementorHooks() { if (!window.elementorFrontend || !window.elementorFrontend.hooks || window.__airsangSbsHooksBound) { return; } window.__airsangSbsHooksBound = true; window.elementorFrontend.hooks.addAction("frontend/element_ready/global", function ($scope) { initAll($scope && $scope[0] ? $scope[0] : document); }); window.elementorFrontend.hooks.addAction("frontend/element_ready/airsang_shopify_build_services_cards.default", function ($scope) { initAll($scope && $scope[0] ? $scope[0] : document); }); } bindElementorHooks(); window.addEventListener("elementor/frontend/init", bindElementorHooks); if (window.jQuery) { window.jQuery(window).on("elementor/frontend/init", bindElementorHooks); } })(); //# sourceURL=airsang-elementor-shopify-build-services-cards-widget-js-after </script> <script id="airsang-elementor-checkout-customer-journey-widget-js-after"> (function () { function reveal(section) { if (section) { section.classList.add("is-visible"); } } function init(root) { var scope = root || document; var sections = scope.querySelectorAll(".airsang-checkout-customer-journey.is-entrance-enabled"); if (document.body && (document.body.classList.contains("elementor-editor-active") || document.body.classList.contains("elementor-editor-preview"))) { sections.forEach(reveal); return; } if (!("IntersectionObserver" in window)) { sections.forEach(reveal); return; } var observer = new IntersectionObserver(function (entries) { entries.forEach(function (entry) { if (entry.isIntersecting) { reveal(entry.target); observer.unobserve(entry.target); } }); }, { threshold: 0.16 }); sections.forEach(function (section) { if (!section.classList.contains("is-visible")) { observer.observe(section); } }); } function initAll(scope) { init(scope || document); } if (document.readyState === "loading") { document.addEventListener("DOMContentLoaded", function () { initAll(document); }); } else { initAll(document); } function bindElementorHooks() { if (!window.elementorFrontend || !window.elementorFrontend.hooks || window.__airsangCcjHooksBound) { return; } window.__airsangCcjHooksBound = true; window.elementorFrontend.hooks.addAction("frontend/element_ready/global", function ($scope) { initAll($scope && $scope[0] ? $scope[0] : document); }); window.elementorFrontend.hooks.addAction("frontend/element_ready/airsang_checkout_customer_journey.default", function ($scope) { initAll($scope && $scope[0] ? $scope[0] : document); }); } bindElementorHooks(); window.addEventListener("elementor/frontend/init", bindElementorHooks); if (window.jQuery) { window.jQuery(window).on("elementor/frontend/init", bindElementorHooks); } })(); //# sourceURL=airsang-elementor-checkout-customer-journey-widget-js-after </script> <script id="airsang-elementor-seo-traffic-hero-widget-js-after"> (function () { function reveal(section) { if (!section) { return; } section.classList.add("is-visible"); } function init(root) { var scope = root || document; var sections = scope.querySelectorAll(".airsang-seo-traffic-hero.is-entrance-enabled"); if (document.body && (document.body.classList.contains("elementor-editor-active") || document.body.classList.contains("elementor-editor-preview"))) { sections.forEach(reveal); return; } if (!("IntersectionObserver" in window)) { sections.forEach(reveal); return; } var observer = new IntersectionObserver(function (entries) { entries.forEach(function (entry) { if (entry.isIntersecting) { reveal(entry.target); observer.unobserve(entry.target); } }); }, { threshold: 0.2 }); sections.forEach(function (section) { if (section.classList.contains("is-visible")) { return; } observer.observe(section); }); } if (document.readyState === "loading") { document.addEventListener("DOMContentLoaded", function () { init(document); }); } else { init(document); } function bindElementorHooks() { if (!window.elementorFrontend || !window.elementorFrontend.hooks || window.__airsangSthHooksBound) { return; } window.__airsangSthHooksBound = true; window.elementorFrontend.hooks.addAction("frontend/element_ready/global", function ($scope) { var node = $scope && $scope[0] ? $scope[0] : document; init(node); }); window.elementorFrontend.hooks.addAction("frontend/element_ready/airsang_seo_traffic_hero.default", function ($scope) { var node = $scope && $scope[0] ? $scope[0] : document; init(node); }); } bindElementorHooks(); window.addEventListener("elementor/frontend/init", bindElementorHooks); if (window.jQuery) { window.jQuery(window).on("elementor/frontend/init", bindElementorHooks); } window.setTimeout(function () { init(document); }, 120); })(); //# sourceURL=airsang-elementor-seo-traffic-hero-widget-js-after </script> <script id="airsang-elementor-service-capability-cards-widget-js-after"> (function () { function reveal(section) { if (!section) { return; } section.classList.add("is-visible"); } function init(root) { var scope = root || document; var sections = scope.querySelectorAll(".airsang-service-capability-cards.is-entrance-enabled"); if (document.body && (document.body.classList.contains("elementor-editor-active") || document.body.classList.contains("elementor-editor-preview"))) { sections.forEach(reveal); return; } if (!("IntersectionObserver" in window)) { sections.forEach(reveal); return; } var observer = new IntersectionObserver(function (entries) { entries.forEach(function (entry) { if (entry.isIntersecting) { reveal(entry.target); observer.unobserve(entry.target); } }); }, { threshold: 0.16 }); sections.forEach(function (section) { if (section.classList.contains("is-visible")) { return; } observer.observe(section); }); } if (document.readyState === "loading") { document.addEventListener("DOMContentLoaded", function () { init(document); }); } else { init(document); } function bindElementorHooks() { if (!window.elementorFrontend || !window.elementorFrontend.hooks || window.__airsangSccHooksBound) { return; } window.__airsangSccHooksBound = true; window.elementorFrontend.hooks.addAction("frontend/element_ready/global", function ($scope) { var node = $scope && $scope[0] ? $scope[0] : document; init(node); }); window.elementorFrontend.hooks.addAction("frontend/element_ready/airsang_service_capability_cards.default", function ($scope) { var node = $scope && $scope[0] ? $scope[0] : document; init(node); }); } bindElementorHooks(); window.addEventListener("elementor/frontend/init", bindElementorHooks); if (window.jQuery) { window.jQuery(window).on("elementor/frontend/init", bindElementorHooks); } window.setTimeout(function () { init(document); }, 120); })(); //# sourceURL=airsang-elementor-service-capability-cards-widget-js-after </script> <script id="airsang-elementor-why-seo-cards-widget-js-after"> (function () { function reveal(section) { if (!section) { return; } section.classList.add("is-visible"); } function init(root) { var scope = root || document; var sections = scope.querySelectorAll(".airsang-why-seo-cards.is-entrance-enabled"); if (document.body && (document.body.classList.contains("elementor-editor-active") || document.body.classList.contains("elementor-editor-preview"))) { sections.forEach(reveal); return; } if (!("IntersectionObserver" in window)) { sections.forEach(reveal); return; } var observer = new IntersectionObserver(function (entries) { entries.forEach(function (entry) { if (entry.isIntersecting) { reveal(entry.target); observer.unobserve(entry.target); } }); }, { threshold: 0.18 }); sections.forEach(function (section) { if (section.classList.contains("is-visible")) { return; } observer.observe(section); }); } if (document.readyState === "loading") { document.addEventListener("DOMContentLoaded", function () { init(document); }); } else { init(document); } function bindElementorHooks() { if (!window.elementorFrontend || !window.elementorFrontend.hooks || window.__airsangWscHooksBound) { return; } window.__airsangWscHooksBound = true; window.elementorFrontend.hooks.addAction("frontend/element_ready/global", function ($scope) { var node = $scope && $scope[0] ? $scope[0] : document; init(node); }); window.elementorFrontend.hooks.addAction("frontend/element_ready/airsang_why_seo_cards.default", function ($scope) { var node = $scope && $scope[0] ? $scope[0] : document; init(node); }); } bindElementorHooks(); window.addEventListener("elementor/frontend/init", bindElementorHooks); if (window.jQuery) { window.jQuery(window).on("elementor/frontend/init", bindElementorHooks); } window.setTimeout(function () { init(document); }, 120); })(); //# sourceURL=airsang-elementor-why-seo-cards-widget-js-after </script> <script id="airsang-elementor-seo-step-image-tabs-widget-js-after"> (function () { function activate(section, index) { var buttons = section.querySelectorAll(".airsang-seo-step-tabs__step"); var panels = section.querySelectorAll(".airsang-seo-step-tabs__panel"); buttons.forEach(function (button, buttonIndex) { var active = buttonIndex === index; button.classList.toggle("is-active", active); button.setAttribute("aria-selected", active ? "true" : "false"); }); panels.forEach(function (panel, panelIndex) { var active = panelIndex === index; panel.classList.toggle("is-active", active); if (active) { panel.removeAttribute("hidden"); } else { window.setTimeout(function () { if (!panel.classList.contains("is-active")) { panel.setAttribute("hidden", "hidden"); } }, 430); } }); } function reveal(section) { if (!section) { return; } section.classList.add("is-visible"); } function setupTabs(section) { if (!section || section.dataset.airsangSitReady === "yes") { return; } section.dataset.airsangSitReady = "yes"; var buttons = section.querySelectorAll(".airsang-seo-step-tabs__step"); buttons.forEach(function (button, index) { button.addEventListener("click", function () { activate(section, index); }); }); activate(section, 0); } function init(root) { var scope = root || document; var sections = scope.querySelectorAll(".airsang-seo-step-tabs"); sections.forEach(setupTabs); var entranceSections = scope.querySelectorAll(".airsang-seo-step-tabs.is-entrance-enabled"); if (document.body && (document.body.classList.contains("elementor-editor-active") || document.body.classList.contains("elementor-editor-preview"))) { entranceSections.forEach(reveal); return; } if (!("IntersectionObserver" in window)) { entranceSections.forEach(reveal); return; } var observer = new IntersectionObserver(function (entries) { entries.forEach(function (entry) { if (entry.isIntersecting) { reveal(entry.target); observer.unobserve(entry.target); } }); }, { threshold: 0.18 }); entranceSections.forEach(function (section) { if (section.classList.contains("is-visible")) { return; } observer.observe(section); }); } if (document.readyState === "loading") { document.addEventListener("DOMContentLoaded", function () { init(document); }); } else { init(document); } function bindElementorHooks() { if (!window.elementorFrontend || !window.elementorFrontend.hooks || window.__airsangSitHooksBound) { return; } window.__airsangSitHooksBound = true; window.elementorFrontend.hooks.addAction("frontend/element_ready/global", function ($scope) { var node = $scope && $scope[0] ? $scope[0] : document; init(node); }); window.elementorFrontend.hooks.addAction("frontend/element_ready/airsang_seo_step_image_tabs.default", function ($scope) { var node = $scope && $scope[0] ? $scope[0] : document; init(node); }); } bindElementorHooks(); window.addEventListener("elementor/frontend/init", bindElementorHooks); if (window.jQuery) { window.jQuery(window).on("elementor/frontend/init", bindElementorHooks); } window.setTimeout(function () { init(document); }, 120); })(); //# sourceURL=airsang-elementor-seo-step-image-tabs-widget-js-after </script> <script id="airsang-elementor-seo-process-workflow-widget-js-after"> (function () { function reveal(section) { if (!section) { return; } section.classList.add("is-visible"); } function init(root) { var scope = root || document; var sections = scope.querySelectorAll(".airsang-seo-process-workflow.is-entrance-enabled"); if (document.body && (document.body.classList.contains("elementor-editor-active") || document.body.classList.contains("elementor-editor-preview"))) { sections.forEach(reveal); return; } if (!("IntersectionObserver" in window)) { sections.forEach(reveal); return; } var observer = new IntersectionObserver(function (entries) { entries.forEach(function (entry) { if (entry.isIntersecting) { reveal(entry.target); observer.unobserve(entry.target); } }); }, { threshold: 0.18 }); sections.forEach(function (section) { if (section.classList.contains("is-visible")) { return; } observer.observe(section); }); } if (document.readyState === "loading") { document.addEventListener("DOMContentLoaded", function () { init(document); }); } else { init(document); } function bindElementorHooks() { if (!window.elementorFrontend || !window.elementorFrontend.hooks || window.__airsangSpwHooksBound) { return; } window.__airsangSpwHooksBound = true; window.elementorFrontend.hooks.addAction("frontend/element_ready/global", function ($scope) { var node = $scope && $scope[0] ? $scope[0] : document; init(node); }); window.elementorFrontend.hooks.addAction("frontend/element_ready/airsang_seo_process_workflow.default", function ($scope) { var node = $scope && $scope[0] ? $scope[0] : document; init(node); }); } bindElementorHooks(); window.addEventListener("elementor/frontend/init", bindElementorHooks); if (window.jQuery) { window.jQuery(window).on("elementor/frontend/init", bindElementorHooks); } window.setTimeout(function () { init(document); }, 120); })(); //# sourceURL=airsang-elementor-seo-process-workflow-widget-js-after </script> <script id="airsang-elementor-service-tracks-cards-widget-js-after"> (function () { function reveal(section) { if (!section) { return; } section.classList.add("is-visible"); } function init(root) { var scope = root || document; var sections = scope.querySelectorAll(".airsang-service-tracks-cards.is-entrance-enabled"); if (document.body && (document.body.classList.contains("elementor-editor-active") || document.body.classList.contains("elementor-editor-preview"))) { sections.forEach(reveal); return; } if (!("IntersectionObserver" in window)) { sections.forEach(reveal); return; } var observer = new IntersectionObserver(function (entries) { entries.forEach(function (entry) { if (entry.isIntersecting) { reveal(entry.target); observer.unobserve(entry.target); } }); }, { threshold: 0.16 }); sections.forEach(function (section) { if (section.classList.contains("is-visible")) { return; } observer.observe(section); }); } if (document.readyState === "loading") { document.addEventListener("DOMContentLoaded", function () { init(document); }); } else { init(document); } function bindElementorHooks() { if (!window.elementorFrontend || !window.elementorFrontend.hooks || window.__airsangStcHooksBound) { return; } window.__airsangStcHooksBound = true; window.elementorFrontend.hooks.addAction("frontend/element_ready/global", function ($scope) { var node = $scope && $scope[0] ? $scope[0] : document; init(node); }); window.elementorFrontend.hooks.addAction("frontend/element_ready/airsang_service_tracks_cards.default", function ($scope) { var node = $scope && $scope[0] ? $scope[0] : document; init(node); }); } bindElementorHooks(); window.addEventListener("elementor/frontend/init", bindElementorHooks); if (window.jQuery) { window.jQuery(window).on("elementor/frontend/init", bindElementorHooks); } window.setTimeout(function () { init(document); }, 120); })(); //# sourceURL=airsang-elementor-service-tracks-cards-widget-js-after </script> <script id="airsang-elementor-related-articles-posts-carousel-widget-js-after"> (function() { if (window.__airsangRelatedPostsCarouselReady) { return; } window.__airsangRelatedPostsCarouselReady = true; function getPerView(root) { if (window.innerWidth <= 767) { return parseInt(root.getAttribute("data-mobile") || "1", 10); } if (window.innerWidth <= 1024) { return parseInt(root.getAttribute("data-tablet") || "2", 10); } return parseInt(root.getAttribute("data-desktop") || "3", 10); } function setup(root) { if (root.dataset.airsangRelatedReady === "yes") { return; } root.dataset.airsangRelatedReady = "yes"; var viewport = root.querySelector(".airsang-related-posts-carousel__viewport"); var track = root.querySelector(".airsang-related-posts-carousel__track"); var slides = Array.prototype.slice.call(root.querySelectorAll(".airsang-related-posts-carousel__slide")); var prev = root.querySelector(".airsang-related-posts-carousel__arrow--prev"); var next = root.querySelector(".airsang-related-posts-carousel__arrow--next"); var dotsWrap = root.querySelector(".airsang-related-posts-carousel__dots"); var index = 0; var timer = null; var startX = 0; var currentX = 0; var dragging = false; if (!viewport || !track || !slides.length) { return; } function maxIndex() { return Math.max(0, slides.length - getPerView(root)); } function gapValue() { return parseFloat(getComputedStyle(track).gap || "0") || 0; } function stepSize() { var rect = slides[0].getBoundingClientRect(); return rect.width + gapValue(); } function buildDots() { if (!dotsWrap) { return; } dotsWrap.innerHTML = ""; for (var i = 0; i <= maxIndex(); i++) { var dot = document.createElement("button"); dot.type = "button"; dot.className = "airsang-related-posts-carousel__dot"; dot.setAttribute("aria-label", "Go to slide " + (i + 1)); (function(dotIndex) { dot.addEventListener("click", function() { index = dotIndex; update(); restart(); }); })(i); dotsWrap.appendChild(dot); } } function update() { var perView = getPerView(root); root.style.setProperty("--airsang-related-per-view", perView); index = Math.max(0, Math.min(index, maxIndex())); track.style.transform = "translate3d(" + (-index * stepSize()) + "px, 0, 0)"; if (dotsWrap) { Array.prototype.slice.call(dotsWrap.children).forEach(function(dot, dotIndex) { dot.classList.toggle("is-active", dotIndex === index); }); } } function go(direction) { index += direction; if (index > maxIndex()) { index = 0; } if (index < 0) { index = maxIndex(); } update(); } function stop() { if (timer) { window.clearInterval(timer); timer = null; } } function start() { stop(); if (root.getAttribute("data-autoplay") !== "yes" || maxIndex() <= 0) { return; } timer = window.setInterval(function() { go(1); }, parseInt(root.getAttribute("data-delay") || "4200", 10)); } function restart() { stop(); start(); } if (prev) { prev.addEventListener("click", function() { go(-1); restart(); }); } if (next) { next.addEventListener("click", function() { go(1); restart(); }); } viewport.addEventListener("pointerdown", function(event) { dragging = true; startX = event.clientX; currentX = startX; track.style.transition = "none"; stop(); }); window.addEventListener("pointermove", function(event) { if (!dragging) { return; } currentX = event.clientX; track.style.transform = "translate3d(" + ((-index * stepSize()) + currentX - startX) + "px, 0, 0)"; }); window.addEventListener("pointerup", function() { if (!dragging) { return; } dragging = false; track.style.transition = ""; if (Math.abs(currentX - startX) > 48) { go(currentX < startX ? 1 : -1); } else { update(); } start(); }); window.addEventListener("resize", function() { buildDots(); update(); restart(); }); buildDots(); update(); start(); } function init() { document.querySelectorAll(".airsang-related-posts-carousel").forEach(setup); } if (document.readyState === "loading") { document.addEventListener("DOMContentLoaded", init); } else { init(); } window.addEventListener("load", init); if (window.elementorFrontend && window.elementorFrontend.hooks) { window.elementorFrontend.hooks.addAction("frontend/element_ready/airsang_related_articles_posts_carousel.default", init); } })(); //# sourceURL=airsang-elementor-related-articles-posts-carousel-widget-js-after </script> <script id="wp-hooks-js" src="https://www.airsang.com/wp-includes/js/dist/hooks.min.js?ver=f0f188028580e8dc1255"></script> <script id="wp-i18n-js" src="https://www.airsang.com/wp-includes/js/dist/i18n.min.js?ver=1dfe7db3940c23ea9216"></script> <script id="wp-i18n-js-after"> wp.i18n.setLocaleData( { 'text direction\u0004ltr': [ 'ltr' ] } ); //# sourceURL=wp-i18n-js-after </script> <script id="swv-js" src="https://www.airsang.com/wp-content/plugins/contact-form-7/includes/swv/js/index.js?ver=6.1.4"></script> <script id="contact-form-7-js-translations"> ( function( domain, translations ) { var localeData = translations.locale_data[ domain ] || translations.locale_data.messages; localeData[""].domain = domain; wp.i18n.setLocaleData( localeData, domain ); } )( "contact-form-7", {"translation-revision-date":"2024-08-13 18:06:19+0000","generator":"GlotPress\/4.0.3","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","plural-forms":"nplurals=2; plural=n != 1;","lang":"pt"},"This contact form is placed in the wrong place.":["Este formul\u00e1rio de contacto est\u00e1 colocado no s\u00edtio errado."],"Error:":["Erro:"]}},"comment":{"reference":"includes\/js\/index.js"}} ); //# sourceURL=contact-form-7-js-translations </script> <script id="contact-form-7-js-before"> var wpcf7 = { "api": { "root": "https:\/\/www.airsang.com\/pt\/wp-json\/", "namespace": "contact-form-7\/v1" }, "cached": 1 }; //# sourceURL=contact-form-7-js-before </script> <script id="contact-form-7-js" src="https://www.airsang.com/wp-content/plugins/contact-form-7/includes/js/index.js?ver=6.1.4"></script> <script id="airsang-elementor-flip-case-stats-widget-js-after"> (function() { function formatValue(value, decimals) { var fixed = Number(value).toFixed(decimals); return decimals > 0 ? fixed : String(Math.round(Number(value))); } function animateCounter(counter) { if (!counter || counter.dataset.airsangFlipCounted === "yes") { return; } counter.dataset.airsangFlipCounted = "yes"; var target = parseFloat(counter.dataset.target || "0"); var decimals = parseInt(counter.dataset.decimals || "0", 10); var prefix = counter.dataset.prefix || ""; var suffix = counter.dataset.suffix || ""; var root = counter.closest(".airsang-flip-case-stats"); var duration = root ? parseInt(root.dataset.counterDuration || "1600", 10) : 1600; var start = null; if (!duration) { counter.textContent = prefix + formatValue(target, decimals) + suffix; return; } function step(timestamp) { if (!start) { start = timestamp; } var progress = Math.min((timestamp - start) / duration, 1); var eased = 1 - Math.pow(1 - progress, 3); var current = target * eased; counter.textContent = prefix + formatValue(current, decimals) + suffix; if (progress < 1) { window.requestAnimationFrame(step); } else { counter.textContent = prefix + formatValue(target, decimals) + suffix; } } window.requestAnimationFrame(step); } function initCounters(scope) { var counters = Array.prototype.slice.call((scope || document).querySelectorAll(".js-airsang-flip-counter")); if (!("IntersectionObserver" in window)) { counters.forEach(animateCounter); return; } var observer = new IntersectionObserver(function(entries) { entries.forEach(function(entry) { if (entry.isIntersecting) { animateCounter(entry.target); observer.unobserve(entry.target); } }); }, { threshold: 0.35 }); counters.forEach(function(counter) { observer.observe(counter); }); } function initFlip(scope) { var cards = Array.prototype.slice.call((scope || document).querySelectorAll(".airsang-flip-case-stats__card")); cards.forEach(function(card) { if (card.dataset.airsangFlipReady === "yes") { return; } card.dataset.airsangFlipReady = "yes"; card.addEventListener("click", function(event) { if (event.target.closest("a")) { return; } if (window.innerWidth <= 1024) { card.classList.toggle("is-flipped"); } }); }); } function init(scope) { initCounters(scope || document); initFlip(scope || document); } if (document.readyState === "loading") { document.addEventListener("DOMContentLoaded", function() { init(document); }); } else { init(document); } if (window.elementorFrontend && window.elementorFrontend.hooks) { window.elementorFrontend.hooks.addAction("frontend/element_ready/airsang_flip_case_stats.default", function($scope) { init($scope[0]); }); } })(); //# sourceURL=airsang-elementor-flip-case-stats-widget-js-after </script> <script id="airsang-elementor-process-accordion-widget-js-after"> (function() { function setItem(item, open) { var button = item.querySelector(".airsang-process-accordion__button"); var content = item.querySelector(".airsang-process-accordion__content"); item.classList.toggle("is-open", open); if (button) { button.setAttribute("aria-expanded", open ? "true" : "false"); } if (content) { if (open) { content.removeAttribute("hidden"); } else { content.setAttribute("hidden", "hidden"); } } } function initOne(root) { if (!root || root.dataset.airsangProcessAccordionReady === "yes") { return; } root.dataset.airsangProcessAccordionReady = "yes"; root.addEventListener("click", function(event) { var button = event.target.closest(".airsang-process-accordion__button"); if (!button || !root.contains(button)) { return; } var item = button.closest(".airsang-process-accordion__item"); var isOpen = item.classList.contains("is-open"); var behavior = root.getAttribute("data-behavior") || "single"; var closeAll = root.getAttribute("data-close-all") === "yes"; if (isOpen && !closeAll) { return; } if (behavior === "single" && !isOpen) { root.querySelectorAll(".airsang-process-accordion__item.is-open").forEach(function(openItem) { if (openItem !== item) { setItem(openItem, false); } }); } setItem(item, !isOpen); }); } function init(scope) { Array.prototype.slice.call((scope || document).querySelectorAll(".airsang-process-accordion")).forEach(initOne); } if (document.readyState === "loading") { document.addEventListener("DOMContentLoaded", function() { init(document); }); } else { init(document); } if (window.elementorFrontend && window.elementorFrontend.hooks) { window.elementorFrontend.hooks.addAction("frontend/element_ready/airsang_process_accordion.default", function($scope) { init($scope[0]); }); } })(); //# sourceURL=airsang-elementor-process-accordion-widget-js-after </script> <script id="airsang-elementor-scroll-driven-animation-widget-js-after"> (function() { if (window.__airsangScrollDrivenAnimationReady) { return; } window.__airsangScrollDrivenAnimationReady = true; var scenes = []; var ticking = false; function clamp(value, min, max) { return Math.min(max, Math.max(min, value)); } function ease(value, type) { value = clamp(value, 0, 1); if ("linear" === type) { return value; } if ("easeInOut" === type) { return value < .5 ? 4 * value * value * value : 1 - Math.pow(-2 * value + 2, 3) / 2; } return 1 - Math.pow(1 - value, 3); } function cssSizeToPx(value, axis, scene) { value = String(value || "0px").trim(); var number = parseFloat(value); if (isNaN(number)) { return 0; } if (value.indexOf("vw") > -1) { return window.innerWidth * number / 100; } if (value.indexOf("vh") > -1) { return window.innerHeight * number / 100; } if (value.indexOf("%") > -1) { var box = scene.querySelector(".airsang-scroll-scene__cluster") || scene; var size = "y" === axis ? box.offsetHeight : box.offsetWidth; return size * number / 100; } if (value.indexOf("rem") > -1) { return number * parseFloat(getComputedStyle(document.documentElement).fontSize || 16); } if (value.indexOf("em") > -1) { return number * 16; } return number; } function getCssNumber(element, name, fallback) { var value = getComputedStyle(element).getPropertyValue(name); var number = parseFloat(value); return isNaN(number) ? fallback : number; } function getProgress(scene) { var rect = scene.getBoundingClientRect(); var stickyTop = cssSizeToPx(getComputedStyle(scene).getPropertyValue("--airsang-scroll-sticky-top"), "y", scene); var range = Math.max(1, rect.height - window.innerHeight); var raw = (-rect.top + stickyTop) / range; var startOffset = parseFloat(scene.getAttribute("data-start-offset") || "0"); var endOffset = parseFloat(scene.getAttribute("data-end-offset") || "0"); var start = startOffset; var end = 1 + endOffset; if (Math.abs(end - start) < .001) { return raw >= end ? 1 : 0; } return clamp((raw - start) / (end - start), 0, 1); } function updateScene(scene) { var eased = ease(getProgress(scene), scene.getAttribute("data-easing") || "easeOut"); var media = scene.querySelectorAll(".airsang-scroll-scene__media"); var rings = scene.querySelectorAll(".airsang-scroll-scene__ring"); var corners = scene.querySelectorAll(".airsang-scroll-scene__corner"); var text = scene.querySelector(".airsang-scroll-scene__text"); var reducedMotion = window.matchMedia && window.matchMedia("(prefers-reduced-motion: reduce)").matches; if (reducedMotion) { eased = 1; } if (rings.length) { var ringStartScale = getCssNumber(scene, "--airsang-ring-start-scale", .72); var ringEndScale = getCssNumber(scene, "--airsang-ring-end-scale", 1); var ringStartOpacity = getCssNumber(scene, "--airsang-ring-start-opacity", .35); var ringEndOpacity = getCssNumber(scene, "--airsang-ring-end-opacity", 1); var ringScale = ringStartScale + (ringEndScale - ringStartScale) * eased; var ringOpacity = ringStartOpacity + (ringEndOpacity - ringStartOpacity) * eased; rings.forEach(function(ring, index) { var depthScale = ringScale + (rings.length - index - 1) * .035 * (1 - eased); ring.style.opacity = ringOpacity; ring.style.transform = "translate3d(-50%, -50%, 0) scale(" + depthScale + ")"; }); } if (corners.length) { var cornerStyle = getComputedStyle(scene); var cornerMoveX = cssSizeToPx(cornerStyle.getPropertyValue("--airsang-corner-move-x"), "x", scene); var cornerMoveY = cssSizeToPx(cornerStyle.getPropertyValue("--airsang-corner-move-y"), "y", scene); var cornerStartScale = getCssNumber(scene, "--airsang-corner-start-scale", .75); var cornerEndScale = getCssNumber(scene, "--airsang-corner-end-scale", 1); var cornerStartOpacity = getCssNumber(scene, "--airsang-corner-start-opacity", .35); var cornerEndOpacity = getCssNumber(scene, "--airsang-corner-end-opacity", 1); var cornerScale = cornerStartScale + (cornerEndScale - cornerStartScale) * eased; var cornerOpacity = cornerStartOpacity + (cornerEndOpacity - cornerStartOpacity) * eased; corners.forEach(function(corner) { var isRight = corner.classList.contains("airsang-scroll-scene__corner--right"); var dirX = isRight ? 1 : -1; var dirY = isRight ? -1 : 1; var x = dirX * cornerMoveX * (1 - eased); var y = dirY * cornerMoveY * (1 - eased); corner.style.opacity = cornerOpacity; corner.style.transform = "translate3d(" + x + "px, " + y + "px, 0) scale(" + cornerScale + ")"; }); } media.forEach(function(item) { var style = getComputedStyle(item); var startX = cssSizeToPx(style.getPropertyValue("--as-start-x"), "x", scene); var startY = cssSizeToPx(style.getPropertyValue("--as-start-y"), "y", scene); var endX = cssSizeToPx(style.getPropertyValue("--as-end-x"), "x", scene); var endY = cssSizeToPx(style.getPropertyValue("--as-end-y"), "y", scene); var startScale = getCssNumber(item, "--as-start-scale", .65); var endScale = getCssNumber(item, "--as-end-scale", 1); var startRotate = getCssNumber(item, "--as-start-rotate", 0); var endRotate = getCssNumber(item, "--as-end-rotate", 0); var startOpacity = getCssNumber(item, "--as-start-opacity", 0); var endOpacity = getCssNumber(item, "--as-end-opacity", 1); var x = startX + (endX - startX) * eased; var y = startY + (endY - startY) * eased; var scale = startScale + (endScale - startScale) * eased; var rotate = startRotate + (endRotate - startRotate) * eased; var opacity = startOpacity + (endOpacity - startOpacity) * eased; item.style.opacity = opacity; item.style.transform = "translate3d(-50%, -50%, 0) translate3d(" + x + "px, " + y + "px, 0) scale(" + scale + ") rotate(" + rotate + "deg)"; }); if (text) { var textOpacity = clamp((eased - .38) / .35, 0, 1); var textLift = (1 - textOpacity) * 34; text.style.opacity = textOpacity; text.style.transform = "translate3d(-50%, calc(-50% + var(--airsang-scroll-text-y, 0px) + " + textLift + "px), 0) scale(" + (.96 + textOpacity * .04) + ")"; } } function requestUpdate() { if (ticking) { return; } ticking = true; window.requestAnimationFrame(function() { scenes.forEach(updateScene); ticking = false; }); } function init() { scenes = Array.prototype.slice.call(document.querySelectorAll(".airsang-scroll-scene")); requestUpdate(); } document.addEventListener("DOMContentLoaded", init); window.addEventListener("load", init); window.addEventListener("scroll", requestUpdate, { passive: true }); window.addEventListener("resize", requestUpdate); if (window.elementorFrontend && window.elementorFrontend.hooks) { window.elementorFrontend.hooks.addAction("frontend/element_ready/airsang_scroll_driven_animation.default", function() { init(); }); } init(); })(); //# sourceURL=airsang-elementor-scroll-driven-animation-widget-js-after </script> <script id="airsang-elementor-dynamic-hashtag-headline-widget-js-after"> (function() { if (window.__airsangDynamicHashtagHeadlineReady) { return; } window.__airsangDynamicHashtagHeadlineReady = true; function setup(root) { if (root.dataset.airsangDynamicHashtagReady === "yes") { return; } root.dataset.airsangDynamicHashtagReady = "yes"; var viewport = root.querySelector(".airsang-dynamic-hashtag-headline__word-viewport"); var track = root.querySelector(".airsang-dynamic-hashtag-headline__word-track"); var items = track ? Array.prototype.slice.call(track.querySelectorAll(".airsang-dynamic-hashtag-headline__word")) : []; if (!viewport || !track || items.length <= 1) { return; } var interval = parseInt(root.getAttribute("data-interval") || "1800", 10); var pauseOnHover = root.getAttribute("data-pause-hover") === "yes"; var index = 0; var timer = null; function measure() { var maxHeight = 0; items.forEach(function(item) { item.style.height = "auto"; maxHeight = Math.max(maxHeight, item.offsetHeight); }); if (maxHeight > 0) { viewport.style.height = maxHeight + "px"; items.forEach(function(item) { item.style.height = maxHeight + "px"; }); } } function update() { measure(); var itemHeight = viewport.offsetHeight || items[index].offsetHeight || 0; track.style.transform = "translate3d(0," + (-index * itemHeight) + "px,0)"; items.forEach(function(item, itemIndex) { item.classList.toggle("is-active", itemIndex === index); }); } function changeWord() { index = (index + 1) % items.length; update(); } function start() { stop(); timer = window.setInterval(changeWord, Math.max(interval, 600)); } function stop() { if (timer) { window.clearInterval(timer); timer = null; } } if (pauseOnHover) { root.addEventListener("mouseenter", stop); root.addEventListener("mouseleave", start); } update(); window.addEventListener("resize", update); start(); } function init() { document.querySelectorAll(".airsang-dynamic-hashtag-headline").forEach(setup); } if (document.readyState === "loading") { document.addEventListener("DOMContentLoaded", init); } else { init(); } window.addEventListener("load", init); if (window.elementorFrontend && window.elementorFrontend.hooks) { window.elementorFrontend.hooks.addAction("frontend/element_ready/airsang_dynamic_hashtag_headline.default", init); } })(); //# sourceURL=airsang-elementor-dynamic-hashtag-headline-widget-js-after </script> <script id="airsang-elementor-sticky-tabs-image-carousel-widget-js-after"> (function() { function init(root) { if (!root || root.dataset.airsangStickyCarouselReady === "1") { return; } root.dataset.airsangStickyCarouselReady = "1"; var buttons = Array.prototype.slice.call(root.querySelectorAll(".airsang-sticky-tabs-carousel__tab")); var panels = Array.prototype.slice.call(root.querySelectorAll(".airsang-sticky-tabs-carousel__panel")); var ticking = false; var autoplayTimer = null; function setActiveImage(panel) { var items = Array.prototype.slice.call(panel.querySelectorAll(".airsang-sticky-tabs-carousel__item")); var images = Array.prototype.slice.call(panel.querySelectorAll(".airsang-sticky-tabs-carousel__image")); var visualCard = panel.querySelector(".airsang-sticky-tabs-carousel__visual-card"); var trigger = window.innerHeight * 0.46; var activeIndex = 0; var closest = Infinity; if (visualCard) { var visualRect = visualCard.getBoundingClientRect(); trigger = visualRect.top + visualRect.height / 2; } items.forEach(function(item, index) { var rect = item.getBoundingClientRect(); var center = rect.top + rect.height / 2; var distance = Math.abs(center - trigger); if (distance < closest) { closest = distance; activeIndex = index; } }); items.forEach(function(item, index) { item.classList.toggle("is-active", index === activeIndex); }); images.forEach(function(image, index) { image.classList.toggle("is-active", index === activeIndex); image.classList.toggle("is-before", index < activeIndex); image.classList.toggle("is-after", index > activeIndex); }); } function update() { ticking = false; panels.forEach(function(panel) { if (panel.classList.contains("is-active")) { setActiveImage(panel); } }); } function requestUpdate() { if (ticking) { return; } ticking = true; window.requestAnimationFrame(update); } function updateMobileDots(panel) { var track = panel.querySelector(".airsang-sticky-tabs-carousel__mobile-track"); var dots = Array.prototype.slice.call(panel.querySelectorAll("[data-mobile-dot]")); var slides = Array.prototype.slice.call(panel.querySelectorAll("[data-mobile-slide]")); if (!track || !dots.length || !slides.length) { return; } var active = 0; var trackRect = track.getBoundingClientRect(); var trackCenter = trackRect.left + trackRect.width / 2; var closest = Infinity; slides.forEach(function(slide, index) { var rect = slide.getBoundingClientRect(); var center = rect.left + rect.width / 2; var distance = Math.abs(center - trackCenter); if (distance < closest) { closest = distance; active = index; } }); dots.forEach(function(dot, index) { dot.classList.toggle("is-active", index === active); }); } function bindMobileCarousel(panel) { var track = panel.querySelector(".airsang-sticky-tabs-carousel__mobile-track"); var dots = Array.prototype.slice.call(panel.querySelectorAll("[data-mobile-dot]")); if (!track || track.dataset.bound === "1") { return; } track.dataset.bound = "1"; track.addEventListener("scroll", function() { window.requestAnimationFrame(function() { updateMobileDots(panel); }); }, { passive: true }); dots.forEach(function(dot) { dot.addEventListener("click", function() { var index = parseInt(dot.dataset.mobileDot || "0", 10); scrollMobileTo(panel, index, "smooth"); }); }); } function scrollMobileTo(panel, index, behavior) { var track = panel.querySelector(".airsang-sticky-tabs-carousel__mobile-track"); var slides = Array.prototype.slice.call(panel.querySelectorAll("[data-mobile-slide]")); if (!track || !slides[index]) { return; } track.scrollTo({ left: slides[index].offsetLeft, behavior: behavior || "smooth" }); } function activate(index) { buttons.forEach(function(button, buttonIndex) { var active = buttonIndex === index; button.classList.toggle("is-active", active); button.setAttribute("aria-selected", active ? "true" : "false"); button.tabIndex = active ? 0 : -1; }); panels.forEach(function(panel, panelIndex) { var active = panelIndex === index; panel.classList.toggle("is-active", active); if (active) { panel.removeAttribute("hidden"); bindMobileCarousel(panel); updateMobileDots(panel); } else { panel.setAttribute("hidden", "hidden"); } }); root.dataset.active = String(index); requestUpdate(); } function startAutoplay() { if (root.dataset.mobileAutoplay !== "1") { return; } var delay = parseInt(root.dataset.mobileDelay || "3000", 10); window.clearInterval(autoplayTimer); autoplayTimer = window.setInterval(function() { if (window.innerWidth > 767) { return; } var panel = root.querySelector(".airsang-sticky-tabs-carousel__panel.is-active"); var track = panel ? panel.querySelector(".airsang-sticky-tabs-carousel__mobile-track") : null; var slides = panel ? Array.prototype.slice.call(panel.querySelectorAll("[data-mobile-slide]")) : []; if (!track || slides.length < 2) { return; } var activeDot = panel.querySelector("[data-mobile-dot].is-active"); var current = activeDot ? parseInt(activeDot.dataset.mobileDot || "0", 10) : 0; var next = (current + 1) % slides.length; scrollMobileTo(panel, next, "smooth"); }, delay); } buttons.forEach(function(button, index) { button.addEventListener("click", function() { activate(index); }); }); activate(parseInt(root.dataset.active || "0", 10)); startAutoplay(); window.addEventListener("scroll", requestUpdate, { passive: true }); window.addEventListener("resize", requestUpdate); window.addEventListener("load", requestUpdate); } function boot(scope) { (scope || document).querySelectorAll(".airsang-sticky-tabs-carousel").forEach(init); } if (document.readyState === "loading") { document.addEventListener("DOMContentLoaded", function() { boot(document); }); } else { boot(document); } if (window.elementorFrontend && window.elementorFrontend.hooks) { window.elementorFrontend.hooks.addAction("frontend/element_ready/airsang_sticky_tabs_image_carousel.default", function($scope) { boot($scope && $scope[0] ? $scope[0] : document); }); } })(); //# sourceURL=airsang-elementor-sticky-tabs-image-carousel-widget-js-after </script> <script id="airsang-elementor-industry-experience-brand-wall-widget-js-after"> (function () { function formatNumber(value, separator) { var rounded = Math.round(value); if (separator !== "yes") { return String(rounded); } return String(rounded).replace(/\B(?=(\d{3})+(?!\d))/g, ","); } function animateCounter(counter) { if (!counter || counter.dataset.airsangAnimated === "yes") { return; } counter.dataset.airsangAnimated = "yes"; var target = parseFloat(counter.dataset.target || "0"); var suffix = counter.dataset.suffix || ""; var duration = parseInt(counter.dataset.duration || "1800", 10); var separator = counter.dataset.separator || "no"; var startTime = null; function tick(timestamp) { if (!startTime) { startTime = timestamp; } var progress = Math.min((timestamp - startTime) / duration, 1); var eased = 1 - Math.pow(1 - progress, 3); var current = target * eased; counter.textContent = formatNumber(current, separator) + suffix; if (progress < 1) { window.requestAnimationFrame(tick); } else { counter.textContent = formatNumber(target, separator) + suffix; } } window.requestAnimationFrame(tick); } function initCounters(root) { var scope = root || document; var counters = scope.querySelectorAll(".airsang-industry-brand-wall__counter"); if (!("IntersectionObserver" in window)) { counters.forEach(animateCounter); return; } var observer = new IntersectionObserver(function (entries) { entries.forEach(function (entry) { if (entry.isIntersecting) { animateCounter(entry.target); observer.unobserve(entry.target); } }); }, { threshold: 0.35 }); counters.forEach(function (counter) { observer.observe(counter); }); } if (document.readyState === "loading") { document.addEventListener("DOMContentLoaded", function () { initCounters(document); }); } else { initCounters(document); } if (window.elementorFrontend && window.elementorFrontend.hooks) { window.elementorFrontend.hooks.addAction("frontend/element_ready/airsang_industry_experience_brand_wall.default", function ($scope) { var node = $scope && $scope[0] ? $scope[0] : document; initCounters(node); }); } })(); //# sourceURL=airsang-elementor-industry-experience-brand-wall-widget-js-after </script> <script id="airsang-elementor-website-case-scroll-showcase-widget-js-after"> (function () { function setStackState(cards, activeIndex) { var total = cards.length; cards.forEach(function (card) { card.classList.remove("is-active", "is-prev", "is-next", "is-hidden"); card.classList.add("is-hidden"); }); if (!total) { return; } var prevIndex = (activeIndex - 1 + total) % total; var nextIndex = (activeIndex + 1) % total; cards[activeIndex].classList.remove("is-hidden"); cards[activeIndex].classList.add("is-active"); if (total > 1) { cards[nextIndex].classList.remove("is-hidden"); cards[nextIndex].classList.add("is-next"); } if (total > 2) { cards[prevIndex].classList.remove("is-hidden"); cards[prevIndex].classList.add("is-prev"); } } function initViewport(viewport) { if (!viewport || viewport.dataset.airsangWcssReady === "yes") { return; } var cards = Array.prototype.slice.call(viewport.querySelectorAll(".airsang-website-case-scroll__case-card")); if (!cards.length) { return; } viewport.dataset.airsangWcssReady = "yes"; var activeIndex = cards.findIndex(function (card) { return card.classList.contains("is-active"); }); if (activeIndex < 0) { activeIndex = 0; } setStackState(cards, activeIndex); if (cards.length < 2 || window.matchMedia("(prefers-reduced-motion: reduce)").matches) { return; } var interval = parseInt(viewport.dataset.interval || "3000", 10); var direction = viewport.dataset.direction === "down" ? -1 : 1; var paused = false; var root = viewport.closest(".airsang-website-case-scroll"); interval = Math.max(800, Math.min(interval, 20000)); function step() { if (paused) { return; } activeIndex = (activeIndex + direction + cards.length) % cards.length; setStackState(cards, activeIndex); } if (root && root.classList.contains("is-pause-on-hover")) { viewport.addEventListener("mouseenter", function () { paused = true; }); viewport.addEventListener("mouseleave", function () { paused = false; }); } viewport._airsangWcssTimer = window.setInterval(step, interval); } function init(root) { var scope = root || document; var viewports = scope.querySelectorAll(".airsang-website-case-scroll__case-viewport"); viewports.forEach(function (viewport) { if (viewport._airsangWcssTimer) { window.clearInterval(viewport._airsangWcssTimer); viewport.dataset.airsangWcssReady = ""; } initViewport(viewport); }); } if (document.readyState === "loading") { document.addEventListener("DOMContentLoaded", function () { init(document); }); } else { init(document); } if (window.elementorFrontend && window.elementorFrontend.hooks) { window.elementorFrontend.hooks.addAction("frontend/element_ready/airsang_website_case_scroll_showcase.default", function ($scope) { var node = $scope && $scope[0] ? $scope[0] : document; init(node); }); } })(); //# sourceURL=airsang-elementor-website-case-scroll-showcase-widget-js-after </script> <script id="airsang-elementor-platform-logo-marquee-js-after"> (function () { function init(root) { if (root.dataset.asMarqueeReady) return; root.dataset.asMarqueeReady = '1'; var viewport = root.querySelector('.as-platform-marquee__viewport'); var track = root.querySelector('.as-platform-marquee__track'); var group = root.querySelector('.as-platform-marquee__group'); if (!viewport || !track || !group) return; function rebuild() { track.querySelectorAll('[data-as-marquee-clone]').forEach(function (clone) { clone.remove(); }); var width = group.getBoundingClientRect().width; if (!width) return; var copies = Math.max(2, Math.ceil(viewport.clientWidth / width) + 2); for (var i = 1; i < copies; i++) { var clone = group.cloneNode(true); clone.setAttribute('data-as-marquee-clone', ''); clone.setAttribute('aria-hidden', 'true'); clone.querySelectorAll('a').forEach(function (link) { link.tabIndex = -1; }); clone.querySelectorAll('img').forEach(function (image) { image.alt = ''; image.loading = 'lazy'; }); track.appendChild(clone); } root.style.setProperty('--as-group-width', width + 'px'); root.classList.add('is-ready'); } rebuild(); if (window.ResizeObserver) { var observer = new ResizeObserver(rebuild); observer.observe(group); observer.observe(viewport); } else { window.addEventListener('resize', rebuild); } } function scan(scope) { if (scope.matches && scope.matches('[data-as-platform-marquee]')) init(scope); scope.querySelectorAll('[data-as-platform-marquee]').forEach(init); } if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', function () { scan(document); }); } else { scan(document); } if (window.jQuery) { window.jQuery(window).on('elementor/frontend/init', function () { elementorFrontend.hooks.addAction('frontend/element_ready/airsang_platform_logo_marquee.default', function ($scope) { scan($scope[0]); }); }); } })(); //# sourceURL=airsang-elementor-platform-logo-marquee-js-after </script> <script id="airsang-why-video-mask-widget-js-after"> (function () { function init(root) { if (root.dataset.asWhyMaskReady) return; root.dataset.asWhyMaskReady = '1'; var video = root.querySelector('.as-why-mask__video'); var media = root.querySelector('.as-why-mask__media'); if (!video) return; var reduced = window.matchMedia('(prefers-reduced-motion: reduce)'); video.muted = true; function pause() { video.pause(); root.classList.remove('is-playing'); } function play() { if (reduced.matches || document.hidden) return; if (!video.src) { video.src = video.dataset.src; video.load(); } var result = video.play(); if (result && result.catch) result.catch(pause); } video.addEventListener('playing', function () { root.classList.add('is-playing'); }); video.addEventListener('pause', function () { root.classList.remove('is-playing'); }); if ('IntersectionObserver' in window) { var observer = new IntersectionObserver(function (entries) { entries.forEach(function (entry) { root.dataset.asWhyMaskVisible = entry.isIntersecting ? '1' : '0'; if (entry.isIntersecting) play(); else pause(); }); }, { threshold: 0.2 }); observer.observe(media || root); } else { play(); } document.addEventListener('visibilitychange', function () { if (document.hidden) pause(); else if (root.dataset.asWhyMaskVisible === '1') play(); }); if (reduced.addEventListener) reduced.addEventListener('change', function () { if (reduced.matches) pause(); else if (root.dataset.asWhyMaskVisible === '1') play(); }); } function scan(scope) { if (scope.matches && scope.matches('[data-as-why-mask]')) init(scope); scope.querySelectorAll('[data-as-why-mask]').forEach(init); } if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', function () { scan(document); }); } else { scan(document); } function bindElementor() { elementorFrontend.hooks.addAction('frontend/element_ready/airsang_why_video_mask.default', function ($scope) { scan($scope[0]); }); } if (window.elementorFrontend && elementorFrontend.hooks) bindElementor(); else if (window.jQuery) window.jQuery(window).on('elementor/frontend/init', bindElementor); })(); //# sourceURL=airsang-why-video-mask-widget-js-after </script> <script id="elementor-webpack-runtime-js" src="https://www.airsang.com/wp-content/plugins/elementor/assets/js/webpack.runtime.min.js?ver=4.2.3"></script> <script id="elementor-frontend-modules-js" src="https://www.airsang.com/wp-content/plugins/elementor/assets/js/frontend-modules.min.js?ver=4.2.3"></script> <script id="jquery-ui-core-js-before"> jQuery.uiBackCompat = true; //# sourceURL=jquery-ui-core-js-before </script> <script id="jquery-ui-core-js" src="https://www.airsang.com/wp-includes/js/jquery/ui/core.min.js?ver=1.14.2"></script> <script id="elementor-frontend-js-before"> var elementorFrontendConfig = {"environmentMode":{"edit":false,"wpPreview":false,"isScriptDebug":false},"i18n":{"shareOnFacebook":"Partilhar no Facebook","shareOnX":"Share on X","pinIt":"Fix\u00e1-lo","download":"Download","downloadImage":"Descarregar Imagem","fullscreen":"\u00c9cr\u00e3 Inteiro","zoom":"Zoom","share":"Partilhar","playVideo":"Reproduzir v\u00eddeo","previous":"Anterior","next":"Seguinte","close":"Fechar","a11yCarouselPrevSlideMessage":"Slide anterior","a11yCarouselNextSlideMessage":"Pr\u00f3ximo slide","a11yCarouselFirstSlideMessage":"Este \u00e9 o primeiro slide.","a11yCarouselLastSlideMessage":"Este \u00e9 o \u00faltimo slide.","a11yCarouselPaginationBulletMessage":"Ir para o slide"},"is_rtl":false,"breakpoints":{"xs":0,"sm":480,"md":768,"lg":1025,"xl":1440,"xxl":1600},"responsive":{"breakpoints":{"mobile":{"label":"Mobile ao alto","value":767,"default_value":767,"direction":"max","is_enabled":true},"mobile_extra":{"label":"Mobile ao baixo","value":880,"default_value":880,"direction":"max","is_enabled":false},"tablet":{"label":"Tablet Portrait","value":1024,"default_value":1024,"direction":"max","is_enabled":true},"tablet_extra":{"label":"Tablet Landscape","value":1200,"default_value":1200,"direction":"max","is_enabled":false},"laptop":{"label":"Port\u00e1til","value":1366,"default_value":1366,"direction":"max","is_enabled":false},"widescreen":{"label":"Widescreen","value":2400,"default_value":2400,"direction":"min","is_enabled":false}},"hasCustomBreakpoints":false},"version":"4.2.3","is_static":false,"experimentalFeatures":{"e_font_icon_svg":true,"additional_custom_breakpoints":true,"container":true,"e_optimized_markup":true,"e_panel_promotions":true,"theme_builder_v2":true,"hello-theme-header-footer":true,"e_pro_free_trial_popup":true,"nested-elements":true,"global_classes_should_enforce_capabilities":true,"e_variables":true,"e_opt_in_v4_page":true,"e_components":true,"e_interactions":true,"e_widget_creation":true,"import-export-customization":true,"e_pro_atomic_form":true,"e_pro_collection_loop":true,"mega-menu":true,"e_pro_variables":true,"e_pro_interactions":true},"urls":{"assets":"https:\/\/www.airsang.com\/wp-content\/plugins\/elementor\/assets\/","ajaxurl":"https:\/\/www.airsang.com\/wp-admin\/admin-ajax.php","uploadUrl":"https:\/\/www.airsang.com\/wp-content\/uploads"},"nonces":{"floatingButtonsClickTracking":"6f96742e21","atomicFormsSendForm":"96751177e0"},"swiperClass":"swiper","settings":{"page":[],"editorPreferences":[]},"kit":{"active_breakpoints":["viewport_mobile","viewport_tablet"],"global_image_lightbox":"yes","lightbox_enable_counter":"yes","lightbox_enable_fullscreen":"yes","lightbox_enable_zoom":"yes","lightbox_enable_share":"yes","lightbox_title_src":"title","lightbox_description_src":"description","woocommerce_notices_elements":[]},"post":{"id":9884,"title":"Where%20Is%20the%20SEO%20Title%20in%20WordPress%3F%20A%20Simple%20Guide","excerpt":"","featuredImage":"https:\/\/www.airsang.com\/wp-content\/uploads\/2026\/05\/image-119-1024x559.png"}}; //# sourceURL=elementor-frontend-js-before </script> <script id="elementor-frontend-js" src="https://www.airsang.com/wp-content/plugins/elementor/assets/js/frontend.min.js?ver=4.2.3"></script> <script id="e-sticky-js" src="https://www.airsang.com/wp-content/plugins/elementor-pro/assets/lib/sticky/jquery.sticky.min.js?ver=4.2.2"></script> <script id="sourcebuster-js-js" src="https://www.airsang.com/wp-content/plugins/woocommerce/assets/js/sourcebuster/sourcebuster.min.js?ver=10.4.4"></script> <script id="wc-order-attribution-js-extra"> var wc_order_attribution = {"params":{"lifetime":1.0e-5,"session":30,"base64":false,"ajaxurl":"https://www.airsang.com/wp-admin/admin-ajax.php","prefix":"wc_order_attribution_","allowTracking":true},"fields":{"source_type":"current.typ","referrer":"current_add.rf","utm_campaign":"current.cmp","utm_source":"current.src","utm_medium":"current.mdm","utm_content":"current.cnt","utm_id":"current.id","utm_term":"current.trm","utm_source_platform":"current.plt","utm_creative_format":"current.fmt","utm_marketing_tactic":"current.tct","session_entry":"current_add.ep","session_start_time":"current_add.fd","session_pages":"session.pgs","session_count":"udata.vst","user_agent":"udata.uag"}}; //# sourceURL=wc-order-attribution-js-extra </script> <script id="wc-order-attribution-js" src="https://www.airsang.com/wp-content/plugins/woocommerce/assets/js/frontend/order-attribution.min.js?ver=10.4.4"></script> <script id="google-recaptcha-js" src="https://www.google.com/recaptcha/api.js?render=6LddcCosAAAAAO2XsAPM-YS98Y8FSxZDeKfsJjyc&ver=3.0"></script> <script id="wp-polyfill-js" src="https://www.airsang.com/wp-includes/js/dist/vendor/wp-polyfill.min.js?ver=3.15.0"></script> <script id="wpcf7-recaptcha-js-before"> var wpcf7_recaptcha = { "sitekey": "6LddcCosAAAAAO2XsAPM-YS98Y8FSxZDeKfsJjyc", "actions": { "homepage": "homepage", "contactform": "contactform" } }; //# sourceURL=wpcf7-recaptcha-js-before </script> <script id="wpcf7-recaptcha-js" src="https://www.airsang.com/wp-content/plugins/contact-form-7/modules/recaptcha/index.js?ver=6.1.4"></script> <script id="elementor-pro-webpack-runtime-js" src="https://www.airsang.com/wp-content/plugins/elementor-pro/assets/js/webpack-pro.runtime.min.js?ver=4.2.2"></script> <script id="elementor-pro-frontend-js-before"> var ElementorProFrontendConfig = {"ajaxurl":"https:\/\/www.airsang.com\/wp-admin\/admin-ajax.php","nonce":"e4c83ce6e8","urls":{"assets":"https:\/\/www.airsang.com\/wp-content\/plugins\/elementor-pro\/assets\/","rest":"https:\/\/www.airsang.com\/pt\/wp-json\/"},"settings":{"lazy_load_background_images":true},"popup":{"hasPopUps":true},"shareButtonsNetworks":{"facebook":{"title":"Facebook","has_counter":true},"twitter":{"title":"Twitter"},"linkedin":{"title":"LinkedIn","has_counter":true},"pinterest":{"title":"Pinterest","has_counter":true},"reddit":{"title":"Reddit","has_counter":true},"vk":{"title":"VK","has_counter":true},"odnoklassniki":{"title":"OK","has_counter":true},"tumblr":{"title":"Tumblr"},"digg":{"title":"Digg"},"skype":{"title":"Skype"},"stumbleupon":{"title":"StumbleUpon","has_counter":true},"mix":{"title":"Mix"},"telegram":{"title":"Telegram"},"pocket":{"title":"Pocket","has_counter":true},"xing":{"title":"XING","has_counter":true},"whatsapp":{"title":"WhatsApp"},"email":{"title":"Email"},"print":{"title":"Print"},"x-twitter":{"title":"X"},"threads":{"title":"Threads"}},"woocommerce":{"menu_cart":{"cart_page_url":"https:\/\/www.airsang.com\/pt\/carrinho-2\/","checkout_page_url":"https:\/\/www.airsang.com\/pt\/checkout-2\/","fragments_nonce":"b224913668"}},"facebook_sdk":{"lang":"pt_PT","app_id":""},"lottie":{"defaultAnimationUrl":"https:\/\/www.airsang.com\/wp-content\/plugins\/elementor-pro\/modules\/lottie\/assets\/animations\/default.json"}}; //# sourceURL=elementor-pro-frontend-js-before </script> <script id="elementor-pro-frontend-js" src="https://www.airsang.com/wp-content/plugins/elementor-pro/assets/js/frontend.min.js?ver=4.2.2"></script> <script id="pro-elements-handlers-js" src="https://www.airsang.com/wp-content/plugins/elementor-pro/assets/js/elements-handlers.min.js?ver=4.2.2"></script> <script id="wp-emoji-settings" type="application/json"> {"baseUrl":"https://s.w.org/images/core/emoji/17.0.2/72x72/","ext":".png","svgUrl":"https://s.w.org/images/core/emoji/17.0.2/svg/","svgExt":".svg","source":{"concatemoji":"https://www.airsang.com/wp-includes/js/wp-emoji-release.min.js?ver=7.1.4"}} </script> <script type="module"> /*! This file is auto-generated */ var e="script#wp-emoji-settings",t=document.querySelector(e);if(!(t instanceof HTMLScriptElement))throw new Error("Element missing: "+e);const r=JSON.parse(t.text),s=(window._wpemojiSettings=r,"wpEmojiSettingsSupports"),o=["flag","emoji"];function i(e){try{var t={supportTests:e,timestamp:(new Date).valueOf()};sessionStorage.setItem(s,JSON.stringify(t))}catch(e){}}function c(e,t,n){e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(t,0,0);t=new Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data);e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(n,0,0);const r=new Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data);return t.every((e,t)=>e===r[t])}function p(e,t){e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(t,0,0);var n=e.getImageData(16,16,1,1);for(let e=0;e<n.data.length;e++)if(0!==n.data[e])return!1;return!0}function u(e,t,n,r){switch(t){case"flag":return n(e,"\ud83c\udff3\ufe0f\u200d\u26a7\ufe0f","\ud83c\udff3\ufe0f\u200b\u26a7\ufe0f")?!1:!n(e,"\ud83c\udde8\ud83c\uddf6","\ud83c\udde8\u200b\ud83c\uddf6")&&!n(e,"\ud83c\udff4\udb40\udc67\udb40\udc62\udb40\udc65\udb40\udc6e\udb40\udc67\udb40\udc7f","\ud83c\udff4\u200b\udb40\udc67\u200b\udb40\udc62\u200b\udb40\udc65\u200b\udb40\udc6e\u200b\udb40\udc67\u200b\udb40\udc7f");case"emoji":return!r(e,"\ud83e\u1fac8")}return!1}function f(e,t,n,r){let a;const s=(a="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?new OffscreenCanvas(300,150):document.createElement("canvas")).getContext("2d",{willReadFrequently:!0}),o=(s.textBaseline="top",s.font="600 32px Arial",{});return e.forEach(e=>{o[e]=t(s,e,n,r)}),o}function a(e){var t=document.createElement("script");t.src=e,t.defer=!0,document.head.appendChild(t)}r.supports={everything:!0,everythingExceptFlag:!0},new Promise(t=>{let n=function(){try{var e=JSON.parse(sessionStorage.getItem(s));if("object"==typeof e&&"number"==typeof e.timestamp&&(new Date).valueOf()<e.timestamp+604800&&"object"==typeof e.supportTests)return e.supportTests}catch(e){}return null}();if(!n){if("undefined"!=typeof Worker&&"undefined"!=typeof OffscreenCanvas&&"undefined"!=typeof URL&&URL.createObjectURL&&"undefined"!=typeof Blob)try{var e="postMessage("+f.toString()+"("+[JSON.stringify(o),u.toString(),c.toString(),p.toString()].join(",")+"));",r=new Blob([e],{type:"text/javascript"});const a=new Worker(URL.createObjectURL(r),{name:"wpTestEmojiSupports"});return void(a.onmessage=e=>{i(n=e.data),a.terminate(),t(n)})}catch(e){}i(n=f(o,u,c,p))}t(n)}).then(e=>{for(const n in e)r.supports[n]=e[n],r.supports.everything=r.supports.everything&&r.supports[n],"flag"!==n&&(r.supports.everythingExceptFlag=r.supports.everythingExceptFlag&&r.supports[n]);var t;r.supports.everythingExceptFlag=r.supports.everythingExceptFlag&&!r.supports.flag,r.supports.everything||((t=r.source||{}).concatemoji?a(t.concatemoji):t.wpemoji&&t.twemoji&&(a(t.twemoji),a(t.wpemoji)))}); //# sourceURL=https://www.airsang.com/wp-includes/js/wp-emoji-loader.min.js </script> <script> (function() { function initCaseCenter(root) { if (!root || root.dataset.airsangCaseCenterReady === 'yes') { return; } root.dataset.airsangCaseCenterReady = 'yes'; var results = root.querySelector('.airsang-case-center__results'); var clearButton = root.querySelector('[data-clear-filter]'); var selected = {}; if (!results) { return; } var loadMoreButton = root.querySelector('[data-load-more]'); var currentPage = parseInt(results.getAttribute('data-current-page') || '1', 10) || 1; function resetDropdownPosition(dropdown) { var menu = dropdown ? dropdown.querySelector('.airsang-case-center__dropdown-menu') : null; if (!menu) { return; } menu.style.top = ''; menu.style.left = ''; menu.style.right = ''; menu.style.bottom = ''; menu.style.maxHeight = ''; } function positionDropdownMenu(dropdown) { var menu = dropdown ? dropdown.querySelector('.airsang-case-center__dropdown-menu') : null; var toggle = dropdown ? dropdown.querySelector('[data-dropdown-toggle]') : null; if (!menu || !toggle) { return; } if (!window.matchMedia('(max-width: 767px)').matches) { resetDropdownPosition(dropdown); return; } var filters = root.querySelector('.airsang-case-center__filters'); var rect = toggle.getBoundingClientRect(); var filtersRect = filters ? filters.getBoundingClientRect() : rect; var side = 16; var gap = 10; var top = Math.max(side, Math.max(rect.bottom, filtersRect.bottom) + gap); var maxHeight = Math.max(180, window.innerHeight - top - side); menu.style.top = top + 'px'; menu.style.left = side + 'px'; menu.style.right = side + 'px'; menu.style.bottom = 'auto'; menu.style.maxHeight = maxHeight + 'px'; } function closeDropdowns(except) { root.querySelectorAll('.airsang-case-center__dropdown.is-open').forEach(function(dropdown) { if (except !== dropdown) { dropdown.classList.remove('is-open'); resetDropdownPosition(dropdown); var button = dropdown.querySelector('[data-dropdown-toggle]'); if (button) { button.setAttribute('aria-expanded', 'false'); } } }); } function repositionOpenDropdowns() { root.querySelectorAll('.airsang-case-center__dropdown.is-open').forEach(positionDropdownMenu); } var repositionFrame = null; function queueRepositionOpenDropdowns() { if (repositionFrame) { return; } repositionFrame = window.requestAnimationFrame(function() { repositionFrame = null; repositionOpenDropdowns(); }); } window.addEventListener('resize', queueRepositionOpenDropdowns); window.addEventListener('scroll', queueRepositionOpenDropdowns, true); function getSelectedTerms() { return Object.keys(selected).map(function(key) { return selected[key]; }).filter(function(value) { return parseInt(value, 10) > 0; }); } function updateAllState() { var hasFilters = getSelectedTerms().length > 0; if (clearButton) { clearButton.classList.toggle('is-active', !hasFilters); } } function setLoadMoreState(hasMore) { if (!loadMoreButton) { return; } loadMoreButton.hidden = !hasMore; loadMoreButton.disabled = false; } function appendCards(html) { var grid = results.querySelector('.airsang-case-center__grid'); if (!grid) { results.insertAdjacentHTML('beforeend', html); return; } var temp = document.createElement('div'); temp.innerHTML = html; var incomingGrid = temp.querySelector('.airsang-case-center__grid'); if (!incomingGrid) { results.insertAdjacentHTML('beforeend', html); return; } Array.prototype.slice.call(incomingGrid.children).forEach(function(card) { grid.appendChild(card); }); } function applyFilters(append) { append = append === true; var settings = results.getAttribute('data-settings') || '{}'; var data = new FormData(); var nextPage = append ? currentPage + 1 : 1; data.append('action', 'airsang_case_center_filter'); data.append('nonce', results.getAttribute('data-nonce') || ''); data.append('settings', settings); data.append('terms', JSON.stringify(getSelectedTerms())); data.append('page', String(nextPage)); results.classList.add('is-loading'); if (loadMoreButton) { loadMoreButton.disabled = true; } fetch(results.getAttribute('data-ajax-url'), { method: 'POST', credentials: 'same-origin', body: data }) .then(function(response) { return response.json(); }) .then(function(payload) { if (payload && payload.success && payload.data && typeof payload.data.html === 'string') { if (append) { appendCards(payload.data.html); } else { results.innerHTML = payload.data.html; } currentPage = parseInt(payload.data.page || nextPage, 10) || nextPage; results.setAttribute('data-current-page', String(currentPage)); results.setAttribute('data-has-more', payload.data.has_more ? 'yes' : 'no'); setLoadMoreState(!!payload.data.has_more); } }) .catch(function() {}) .finally(function() { results.classList.remove('is-loading'); if (loadMoreButton) { loadMoreButton.disabled = false; } }); } root.addEventListener('click', function(event) { var toggle = event.target.closest('[data-dropdown-toggle]'); var item = event.target.closest('[data-filter-term]'); var clear = event.target.closest('[data-clear-filter]'); var more = event.target.closest('[data-load-more]'); if (toggle && root.contains(toggle)) { event.preventDefault(); var dropdown = toggle.closest('.airsang-case-center__dropdown'); if (!dropdown) { return; } var isOpen = dropdown.classList.contains('is-open'); closeDropdowns(dropdown); if (isOpen) { dropdown.classList.remove('is-open'); resetDropdownPosition(dropdown); toggle.setAttribute('aria-expanded', 'false'); } else { dropdown.classList.add('is-open'); positionDropdownMenu(dropdown); toggle.setAttribute('aria-expanded', 'true'); } return; } if (more && root.contains(more)) { event.preventDefault(); applyFilters(true); return; } if (item && root.contains(item)) { var group = item.closest('[data-filter-group]'); var groupKey = group ? group.getAttribute('data-filter-group') : ''; var term = parseInt(item.getAttribute('data-filter-term') || '0', 10); var label = group ? group.querySelector('[data-filter-label]') : null; group.querySelectorAll('[data-filter-term]').forEach(function(other) { other.classList.remove('is-active'); }); item.classList.add('is-active'); if (term > 0) { selected[groupKey] = term; if (label) { label.textContent = item.getAttribute('data-filter-term-name') || item.textContent; } } else { delete selected[groupKey]; if (label) { label.textContent = item.getAttribute('data-filter-term-name') || item.textContent; } } var activeToggle = group.querySelector('[data-dropdown-toggle]'); if (activeToggle) { activeToggle.classList.toggle('is-active', term > 0); activeToggle.setAttribute('aria-expanded', 'false'); } closeDropdowns(); updateAllState(); applyFilters(false); return; } if (clear && root.contains(clear)) { selected = {}; root.querySelectorAll('.airsang-case-center__dropdown').forEach(function(dropdown) { var first = dropdown.querySelector('[data-filter-term="0"]'); var label = dropdown.querySelector('[data-filter-label]'); dropdown.querySelectorAll('[data-filter-term]').forEach(function(other) { other.classList.remove('is-active'); }); if (first) { first.classList.add('is-active'); if (label) { label.textContent = first.getAttribute('data-filter-term-name') || first.textContent; } } var button = dropdown.querySelector('[data-dropdown-toggle]'); if (button) { button.classList.remove('is-active'); } }); closeDropdowns(); updateAllState(); applyFilters(false); } }); document.addEventListener('click', function(event) { if (!root.contains(event.target)) { closeDropdowns(); } }); } function initAllCaseCenters(scope) { (scope || document).querySelectorAll('[data-airsang-case-center]').forEach(initCaseCenter); } if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', function() { initAllCaseCenters(document); }); } else { initAllCaseCenters(document); } if (window.elementorFrontend && window.elementorFrontend.hooks) { window.elementorFrontend.hooks.addAction('frontend/element_ready/airsang_case_center_post_filter.default', function($scope) { var node = $scope && $scope[0] ? $scope[0] : document; initAllCaseCenters(node); }); } })(); </script> <script> (function () { if (window.__airsangPostShareLoaded) return; window.__airsangPostShareLoaded = true; function copyLink(url) { if (navigator.clipboard && navigator.clipboard.writeText) return navigator.clipboard.writeText(url); return new Promise(function (resolve, reject) { var input = document.createElement('textarea'); input.value = url; input.style.position = 'fixed'; input.style.opacity = '0'; document.body.appendChild(input); input.select(); try { if (document.execCommand('copy')) resolve(); else reject(new Error('copy failed')); } catch (error) { reject(error); } input.remove(); }); } function shareUrl(platform, url, title) { var page = encodeURIComponent(url); var text = encodeURIComponent(title); switch (platform) { case 'weibo': return 'https://service.weibo.com/share/share.php?url=' + page + '&title=' + text; case 'facebook': return 'https://www.facebook.com/sharer/sharer.php?u=' + page; case 'x': return 'https://twitter.com/intent/tweet?url=' + page + '&text=' + text; case 'linkedin': return 'https://www.linkedin.com/sharing/share-offsite/?url=' + page; case 'whatsapp': return 'https://api.whatsapp.com/send?text=' + encodeURIComponent(title + ' ' + url); case 'pinterest': return 'https://pinterest.com/pin/create/button/?url=' + page + '&description=' + text; case 'email': return 'mailto:?subject=' + text + '&body=' + page; default: return ''; } } function init(scope) { var root = scope && scope[0] ? scope[0] : scope; if (!root || !root.querySelectorAll) return; var widgets = root.matches && root.matches('[data-airsang-post-share]') ? [root] : root.querySelectorAll('[data-airsang-post-share]'); Array.prototype.forEach.call(widgets, function (widget) { if (widget.dataset.shareReady === 'yes') return; widget.dataset.shareReady = 'yes'; widget.addEventListener('click', function (event) { var button = event.target.closest('[data-platform]'); if (!button || !widget.contains(button)) return; var platform = button.dataset.platform; var url = widget.dataset.shareUrl || window.location.href.split('#')[0]; var title = widget.dataset.shareTitle || document.title; var status = widget.querySelector('.airsang-post-share__status'); var appNames = { tiktok: 'TikTok', douyin: 'Douyin', xiaohongshu: 'RedNote' }; var requestedApp = appNames[platform]; function report(message) { window.clearTimeout(widget.shareStatusTimer); status.textContent = message; if (message) widget.shareStatusTimer = window.setTimeout(function () { status.textContent = ''; }, 4000); } function copyFor(destination) { copyLink(url).then(function () { report(destination ? '链接已复制,可粘贴到' + destination : '链接已复制'); }).catch(function () { report('复制失败,请手动复制地址栏链接'); }); } if ((platform === 'native' || requestedApp) && navigator.share) { if (requestedApp) report('请在分享面板中选择' + requestedApp); navigator.share({ title: title, url: url }).then(function () { if (requestedApp) report('分享面板已关闭'); }).catch(function (error) { if (error.name === 'AbortError') { report(''); return; } copyLink(url).then(function () { report('无法打开系统分享,链接已复制'); }).catch(function () { report('分享失败,请手动复制地址栏链接'); }); }); return; } if (platform === 'native' || platform === 'copy' || platform === 'wechat' || requestedApp || platform === 'youtube') { var destination = requestedApp || (platform === 'wechat' ? 'WeChat' : platform === 'youtube' ? 'YouTube' : ''); copyFor(destination); return; } var target = shareUrl(platform, url, title); if (!target) return; if (platform === 'email') { window.location.href = target; return; } var popup = window.open(target, '_blank', 'width=720,height=560'); if (popup) popup.opener = null; else report('浏览器拦截了分享窗口'); }); }); } function initPage() { init(document); } if (document.readyState === 'loading') document.addEventListener('DOMContentLoaded', initPage); else initPage(); function registerElementor() { if (window.elementorFrontend && window.elementorFrontend.hooks) { window.elementorFrontend.hooks.addAction('frontend/element_ready/airsang_post_share.default', init); } } registerElementor(); window.addEventListener('elementor/frontend/init', registerElementor); })(); </script> <script> (function() { if (window.__airsangThreeRowVideoMarqueeReady) { return; } window.__airsangThreeRowVideoMarqueeReady = true; var mobileQuery = window.matchMedia('(max-width: 1024px)'); var activeCard = null; var activeVideo = null; var viewportObserver = null; function configureVideo(video) { video.muted = true; video.defaultMuted = true; video.playsInline = true; video.loop = true; video.controls = false; video.preload = 'auto'; video.disablePictureInPicture = true; video.setAttribute('muted', ''); video.setAttribute('playsinline', ''); video.setAttribute('webkit-playsinline', ''); video.setAttribute('x5-playsinline', ''); video.setAttribute('x5-video-player-fullscreen', 'false'); video.setAttribute('loop', ''); video.setAttribute('disablepictureinpicture', ''); video.setAttribute('disableremoteplayback', ''); video.setAttribute('controlslist', 'nodownload noplaybackrate noremoteplayback nofullscreen'); video.removeAttribute('controls'); } function createVideo(card) { var url = card ? card.getAttribute('data-video-url') : ''; if (!card || !url) { return null; } var existing = card.querySelector('.airsang-three-video-marquee__dynamic-video'); if (existing) { return existing; } var video = document.createElement('video'); var content = card.querySelector('.airsang-three-video-marquee__content'); video.className = 'airsang-three-video-marquee__media airsang-three-video-marquee__dynamic-video'; configureVideo(video); video.src = url; video.addEventListener('playing', function() { card.classList.remove('is-video-loading'); card.classList.add('is-video-playing'); }, { once: true }); video.addEventListener('error', function() { if (activeCard === card) { stopActiveCard(); } }, { once: true }); card.insertBefore(video, content || null); return video; } function releaseVideo(video) { if (!video) { return; } video.pause(); video.removeAttribute('src'); video.load(); video.remove(); } function stopCard(card) { if (!card) { return; } var video = card.querySelector('.airsang-three-video-marquee__dynamic-video'); var row = card.closest('.airsang-three-video-marquee__row'); releaseVideo(video); card.classList.remove('is-video-loading', 'is-video-playing'); if (row) { row.classList.remove('is-interacting'); } if (activeCard === card) { activeCard = null; activeVideo = null; } } function stopActiveCard() { if (activeCard) { stopCard(activeCard); } } function playCard(card) { if (!card || !card.getAttribute('data-video-url')) { return; } if (activeCard && activeCard !== card) { stopActiveCard(); } var video = createVideo(card); var row = card.closest('.airsang-three-video-marquee__row'); if (!video) { return; } activeCard = card; activeVideo = video; card.classList.add('is-video-loading'); if (row) { row.classList.add('is-interacting'); } var promise = video.play(); if (promise && typeof promise.catch === 'function') { promise.catch(function() { if (activeCard === card) { stopActiveCard(); } }); } } function setWidgetVisibility(widget, isVisible) { widget.dataset.airsangInViewport = isVisible ? 'yes' : 'no'; widget.classList.toggle('is-in-view', isVisible && !document.hidden); if (!isVisible && activeCard && widget.contains(activeCard)) { stopActiveCard(); } } function setupWidgets(scope) { var root = scope && scope.nodeType ? scope : document; var widgets = []; if (root.matches && root.matches('.airsang-three-video-marquee')) { widgets.push(root); } if (root.querySelectorAll) { root.querySelectorAll('.airsang-three-video-marquee').forEach(function(widget) { widgets.push(widget); }); } widgets.forEach(function(widget) { if (widget.dataset.airsangViewportReady === 'yes') { return; } widget.dataset.airsangViewportReady = 'yes'; if (viewportObserver) { viewportObserver.observe(widget); } else { setWidgetVisibility(widget, true); } }); } function initWidgets(scope) { if (!viewportObserver && 'IntersectionObserver' in window) { viewportObserver = new IntersectionObserver(function(entries) { entries.forEach(function(entry) { setWidgetVisibility(entry.target, entry.isIntersecting); }); }, { rootMargin: '120px 0px', threshold: 0.01 }); } setupWidgets(scope || document); } document.addEventListener('mouseover', function(event) { var card = event.target.closest('.airsang-three-video-marquee__card'); if (!card || card.contains(event.relatedTarget)) { return; } if (!mobileQuery.matches) { playCard(card); } }, true); document.addEventListener('mouseout', function(event) { var card = event.target.closest('.airsang-three-video-marquee__card'); if (!card || card.contains(event.relatedTarget)) { return; } if (!mobileQuery.matches) { stopCard(card); } }, true); document.addEventListener('click', function(event) { if (!mobileQuery.matches) { return; } var card = event.target.closest('.airsang-three-video-marquee__card'); if (!card || !card.getAttribute('data-video-url')) { return; } if (card === activeCard) { if ('A' === card.tagName && card.getAttribute('href')) { return; } event.preventDefault(); stopCard(card); return; } event.preventDefault(); playCard(card); }, true); if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', function() { initWidgets(document); }); } else { initWidgets(document); } if (typeof mobileQuery.addEventListener === 'function') { mobileQuery.addEventListener('change', stopActiveCard); } else if (typeof mobileQuery.addListener === 'function') { mobileQuery.addListener(stopActiveCard); } document.addEventListener('visibilitychange', function() { if (document.hidden) { stopActiveCard(); } document.querySelectorAll('.airsang-three-video-marquee').forEach(function(widget) { widget.classList.toggle( 'is-in-view', !document.hidden && widget.dataset.airsangInViewport === 'yes' ); }); }); window.addEventListener('elementor/frontend/init', function() { if (window.elementorFrontend && elementorFrontend.hooks) { elementorFrontend.hooks.addAction('frontend/element_ready/airsang_three_row_video_marquee.default', function(scope) { initWidgets(scope && scope[0] ? scope[0] : scope); }); } }); })(); </script> <script> (function() { if (window.__airsangPricingComparisonReady) { return; } window.__airsangPricingComparisonReady = true; document.addEventListener('click', function(event) { var desktopToggle = event.target.closest('.airsang-pricing-table__group-toggle'); if (desktopToggle) { event.preventDefault(); var groupRow = desktopToggle.closest('.airsang-pricing-table__group-row'); var table = desktopToggle.closest('.airsang-pricing-table__desktop'); var group = groupRow ? groupRow.getAttribute('data-group') : ''; var collapsed = !groupRow.classList.contains('is-collapsed'); groupRow.classList.toggle('is-collapsed', collapsed); desktopToggle.setAttribute('aria-expanded', collapsed ? 'false' : 'true'); if (table && group) { table.querySelectorAll('.airsang-pricing-table__feature-row[data-group="' + group + '"]').forEach(function(row) { row.classList.toggle('is-hidden', collapsed); }); } return; } var mobileGroup = event.target.closest('.airsang-pricing-mobile-group'); if (mobileGroup) { event.preventDefault(); var card = mobileGroup.closest('.airsang-pricing-mobile-card'); var mobileGroupIndex = mobileGroup.getAttribute('data-group'); var mobileCollapsed = !mobileGroup.classList.contains('is-collapsed'); mobileGroup.classList.toggle('is-collapsed', mobileCollapsed); mobileGroup.setAttribute('aria-expanded', mobileCollapsed ? 'false' : 'true'); if (card && mobileGroupIndex) { card.querySelectorAll('.airsang-pricing-mobile-feature[data-group="' + mobileGroupIndex + '"]').forEach(function(row) { row.classList.toggle('is-hidden', mobileCollapsed); }); } return; } var tab = event.target.closest('.airsang-pricing-mobile-tab'); if (tab) { event.preventDefault(); var widget = tab.closest('.airsang-pricing-table'); var plan = tab.getAttribute('data-plan'); if (!widget || !plan) { return; } widget.querySelectorAll('.airsang-pricing-mobile-tab').forEach(function(item) { var isActive = item === tab; item.classList.toggle('is-active', isActive); item.setAttribute('aria-selected', isActive ? 'true' : 'false'); }); widget.querySelectorAll('.airsang-pricing-mobile-card').forEach(function(cardItem) { cardItem.classList.toggle('is-active', cardItem.getAttribute('data-plan') === plan); }); } }); document.addEventListener('mouseover', function(event) { var cell = event.target.closest('.airsang-pricing-table__desktop [data-plan]'); if (!cell) { return; } var table = cell.closest('.airsang-pricing-table__desktop'); var plan = cell.getAttribute('data-plan'); if (!table || !plan) { return; } table.querySelectorAll('[data-plan]').forEach(function(item) { item.classList.toggle('is-col-hover', item.getAttribute('data-plan') === plan); }); }); document.addEventListener('mouseout', function(event) { var table = event.target.closest('.airsang-pricing-table__desktop'); if (!table || table.contains(event.relatedTarget)) { return; } table.querySelectorAll('.is-col-hover').forEach(function(item) { item.classList.remove('is-col-hover'); }); }); })(); </script> <script> (function() { function activateTab(root, index) { var tabs = Array.prototype.slice.call(root.querySelectorAll('.airsang-overseas-tabs__tab')); var panels = Array.prototype.slice.call(root.querySelectorAll('.airsang-overseas-tabs__panel')); tabs.forEach(function(tab, tabIndex) { var active = tabIndex === index; tab.classList.toggle('is-active', active); tab.setAttribute('aria-selected', active ? 'true' : 'false'); }); panels.forEach(function(panel, panelIndex) { var active = panelIndex === index; panel.classList.toggle('is-active', active); if (active) { panel.removeAttribute('hidden'); } else { panel.setAttribute('hidden', ''); } }); } function initTabs(root) { if (!root || root.dataset.airsangOverseasTabsReady === 'yes') { return; } root.dataset.airsangOverseasTabsReady = 'yes'; root.querySelectorAll('.airsang-overseas-tabs__tab').forEach(function(tab) { tab.addEventListener('click', function() { var index = parseInt(tab.getAttribute('data-index'), 10); activateTab(root, Number.isNaN(index) ? 0 : index); }); }); } function initAll() { document.querySelectorAll('[data-airsang-overseas-tabs]').forEach(initTabs); } if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', initAll); } else { initAll(); } if (window.elementorFrontend && window.elementorFrontend.hooks) { window.elementorFrontend.hooks.addAction('frontend/element_ready/airsang_overseas_case_tabs_showcase.default', initAll); } window.addEventListener('elementor/frontend/init', function() { if (window.elementorFrontend && window.elementorFrontend.hooks) { window.elementorFrontend.hooks.addAction('frontend/element_ready/airsang_overseas_case_tabs_showcase.default', initAll); } }); })(); </script> <script> (function() { function initDesignCards(root) { if (!root || root.dataset.airsangDesignCardsReady === 'yes') { return; } root.dataset.airsangDesignCardsReady = 'yes'; if (!root.classList.contains('is-entrance-enabled')) { return; } if (!('IntersectionObserver' in window)) { root.classList.add('is-in-view'); return; } var observer = new IntersectionObserver(function(entries) { entries.forEach(function(entry) { if (entry.isIntersecting) { root.classList.add('is-in-view'); observer.unobserve(root); } }); }, { threshold: 0.18, rootMargin: '0px 0px -8% 0px' }); observer.observe(root); } function initAll() { document.querySelectorAll('[data-airsang-design-service-cards]').forEach(initDesignCards); } if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', initAll); } else { initAll(); } if (window.elementorFrontend && window.elementorFrontend.hooks) { window.elementorFrontend.hooks.addAction('frontend/element_ready/airsang_design_service_cards.default', initAll); } window.addEventListener('elementor/frontend/init', function() { if (window.elementorFrontend && window.elementorFrontend.hooks) { window.elementorFrontend.hooks.addAction('frontend/element_ready/airsang_design_service_cards.default', initAll); } }); })(); </script> <script> (function() { function initCommerceFeatureSplit(root) { if (!root || root.dataset.airsangCommerceFeatureReady === 'yes') { return; } root.dataset.airsangCommerceFeatureReady = 'yes'; if (!root.classList.contains('is-entrance-enabled') && !root.classList.contains('is-image-float-enabled')) { return; } if (!('IntersectionObserver' in window)) { root.classList.add('is-in-view'); return; } var observer = new IntersectionObserver(function(entries) { entries.forEach(function(entry) { if (entry.isIntersecting) { root.classList.add('is-in-view'); observer.unobserve(root); } }); }, { threshold: 0.16, rootMargin: '0px 0px -8% 0px' }); observer.observe(root); } function initAll() { document.querySelectorAll('[data-airsang-commerce-feature-split]').forEach(initCommerceFeatureSplit); } if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', initAll); } else { initAll(); } if (window.elementorFrontend && window.elementorFrontend.hooks) { window.elementorFrontend.hooks.addAction('frontend/element_ready/airsang_commerce_feature_split.default', initAll); } window.addEventListener('elementor/frontend/init', function() { if (window.elementorFrontend && window.elementorFrontend.hooks) { window.elementorFrontend.hooks.addAction('frontend/element_ready/airsang_commerce_feature_split.default', initAll); } }); })(); </script> <script> (function() { function initBrandProcessCards(root) { if (!root || root.dataset.airsangBrandProcessReady === 'yes') { return; } root.dataset.airsangBrandProcessReady = 'yes'; if (!root.classList.contains('is-entrance-enabled')) { return; } if (!('IntersectionObserver' in window)) { root.classList.add('is-in-view'); return; } var observer = new IntersectionObserver(function(entries) { entries.forEach(function(entry) { if (entry.isIntersecting) { root.classList.add('is-in-view'); observer.unobserve(root); } }); }, { threshold: 0.16, rootMargin: '0px 0px -8% 0px' }); observer.observe(root); } function initAll() { document.querySelectorAll('[data-airsang-brand-process-cards]').forEach(initBrandProcessCards); } if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', initAll); } else { initAll(); } if (window.elementorFrontend && window.elementorFrontend.hooks) { window.elementorFrontend.hooks.addAction('frontend/element_ready/airsang_brand_process_cards.default', initAll); } window.addEventListener('elementor/frontend/init', function() { if (window.elementorFrontend && window.elementorFrontend.hooks) { window.elementorFrontend.hooks.addAction('frontend/element_ready/airsang_brand_process_cards.default', initAll); } }); })(); </script> <script> (function() { function initShoplineHero(root) { if (!root || root.dataset.airsangShoplineHeroReady === 'yes') { return; } root.dataset.airsangShoplineHeroReady = 'yes'; if (!root.classList.contains('is-entrance-enabled') && !root.classList.contains('is-float-enabled')) { return; } if (!('IntersectionObserver' in window)) { root.classList.add('is-in-view'); return; } var observer = new IntersectionObserver(function(entries) { entries.forEach(function(entry) { if (entry.isIntersecting) { root.classList.add('is-in-view'); observer.unobserve(root); } }); }, { threshold: 0.16, rootMargin: '0px 0px -8% 0px' }); observer.observe(root); } function initAll() { document.querySelectorAll('[data-airsang-shopline-hero]').forEach(initShoplineHero); } if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', initAll); } else { initAll(); } if (window.elementorFrontend && window.elementorFrontend.hooks) { window.elementorFrontend.hooks.addAction('frontend/element_ready/airsang_shopline_design_hero.default', initAll); } window.addEventListener('elementor/frontend/init', function() { if (window.elementorFrontend && window.elementorFrontend.hooks) { window.elementorFrontend.hooks.addAction('frontend/element_ready/airsang_shopline_design_hero.default', initAll); } }); })(); </script> <script> (function() { function clamp(value, min, max) { return Math.max(min, Math.min(max, value)); } function isMobile() { return window.matchMedia('(max-width: 767px)').matches; } function isStackedLayout(root) { return window.matchMedia('(max-width: 1180px)').matches && !(isMobile() && root.classList.contains('is-mobile-horizontal')); } function isNativeTrack(root) { return (!isStackedLayout(root) && root.classList.contains('is-native-horizontal')) || (isMobile() && root.classList.contains('is-mobile-horizontal')); } function initComparison(compare) { if (!compare || compare.dataset.airsangCompareReady === 'yes') { return; } compare.dataset.airsangCompareReady = 'yes'; var range = compare.querySelector('.airsang-horizontal-scroll__compare-range'); var dragging = false; function setValue(value) { var cleanValue = clamp(parseFloat(value) || 50, 0, 100); compare.style.setProperty('--airsang-compare-pos', cleanValue + '%'); if (range) { range.value = String(cleanValue); } } function setFromEvent(event) { var rect = compare.getBoundingClientRect(); var pointX = event.clientX; if (event.touches && event.touches.length) { pointX = event.touches[0].clientX; } setValue(((pointX - rect.left) / Math.max(1, rect.width)) * 100); } if (range) { range.addEventListener('input', function() { setValue(range.value); }); } compare.addEventListener('pointerdown', function(event) { dragging = true; setFromEvent(event); if (compare.setPointerCapture && event.pointerId) { compare.setPointerCapture(event.pointerId); } }); compare.addEventListener('pointermove', function(event) { if (!dragging) { return; } setFromEvent(event); }); compare.addEventListener('pointerup', function() { dragging = false; }); compare.addEventListener('pointercancel', function() { dragging = false; }); setValue(range ? range.value : 50); } function initHoverVideo(card) { if (!card || card.dataset.airsangVideoReady === 'yes') { return; } var video = card.querySelector('video[data-src]'); var panel = card.closest('[data-panel]'); if (!video || !panel) { return; } card.dataset.airsangVideoReady = 'yes'; video.muted = true; video.loop = true; video.playsInline = true; video.controls = false; function stop() { video.pause(); card.classList.remove('is-playing'); card.setAttribute('aria-label', 'play video'); } function start() { document.querySelectorAll('[data-airsang-hover-video]').forEach(function(other) { if (other !== card && other.__airsangStopVideo) { other.__airsangStopVideo(); } }); if (!video.getAttribute('src')) { video.src = video.dataset.src; } var playback = video.play(); if (playback && typeof playback.catch === 'function') { playback.catch(stop); } } card.__airsangStopVideo = stop; video.addEventListener('playing', function() { card.classList.add('is-playing'); card.setAttribute('aria-label', 'Pause video'); }); panel.addEventListener('pointerenter', function(event) { if (event.pointerType === 'mouse') { start(); } }); panel.addEventListener('pointerleave', function(event) { if (event.pointerType === 'mouse') { stop(); } }); card.addEventListener('click', function(event) { if (event.pointerType === 'mouse' && window.matchMedia('(hover: hover)').matches) { return; } if (video.paused) { start(); } else { stop(); } }); card.addEventListener('keydown', function(event) { if (event.key === 'Enter' || event.key === ' ') { event.preventDefault(); if (video.paused) { start(); } else { stop(); } } }); document.addEventListener('visibilitychange', function() { if (document.hidden) { stop(); } }); if ('IntersectionObserver' in window) { var observer = new IntersectionObserver(function(entries) { if (!entries[0].isIntersecting) { stop(); } }, { threshold: 0.05 }); observer.observe(panel); } } function initHorizontalScroll(root) { if (!root || root.dataset.airsangHorizontalReady === 'yes') { if (root && root.__airsangHorizontalUpdate) { root.__airsangHorizontalUpdate(); } return; } root.dataset.airsangHorizontalReady = 'yes'; var pin = root.querySelector('.airsang-horizontal-scroll__pin'); var track = root.querySelector('[data-track]'); var panels = Array.prototype.slice.call(root.querySelectorAll('[data-panel]')); var currentTitle = root.querySelector('[data-current-title]'); var currentIndex = root.querySelector('[data-current-index]'); var progressFill = root.querySelector('[data-progress-fill]'); var progressButton = root.querySelector('[data-progress-button]'); var frame = null; if (!pin || !track || !panels.length) { return; } function setActive(index, progress) { var cleanIndex = clamp(index, 0, panels.length - 1); var panel = panels[cleanIndex] || panels[0]; if (currentTitle && panel) { currentTitle.textContent = panel.getAttribute('data-nav-title') || ''; } if (currentIndex) { currentIndex.textContent = String(cleanIndex + 1); } if (progressFill) { var visualProgress = panels.length > 0 ? ((progress * Math.max(0, panels.length - 1)) + 1) / panels.length : 0; root.style.setProperty('--airsang-hs-progress', String(clamp(visualProgress, panels.length > 0 ? 1 / panels.length : 0, 1))); } } function updatePassiveMode() { track.style.transform = ''; if (isNativeTrack(root)) { var maxScroll = Math.max(1, track.scrollWidth - track.clientWidth); var horizontalProgress = clamp(track.scrollLeft / maxScroll, 0, 1); var horizontalIndex = clamp(Math.round(horizontalProgress * (panels.length - 1)), 0, panels.length - 1); setActive(horizontalIndex, horizontalProgress); return; } var stickyTopValue = parseFloat(getComputedStyle(root).getPropertyValue('--airsang-hs-sticky-top')) || 0; var guide = stickyTopValue + ((window.innerHeight - stickyTopValue) * 0.45); var activeIndex = 0; var bestDistance = Infinity; panels.forEach(function(panel, index) { var panelRect = panel.getBoundingClientRect(); if (panelRect.bottom < stickyTopValue || panelRect.top > window.innerHeight) { return; } var panelCenter = panelRect.top + (panelRect.height * 0.38); var distance = Math.abs(panelCenter - guide); if (distance < bestDistance) { bestDistance = distance; activeIndex = index; } }); setActive(activeIndex, panels.length > 1 ? activeIndex / (panels.length - 1) : 0); } function update() { frame = null; if (isStackedLayout(root) || isNativeTrack(root)) { updatePassiveMode(); return; } var rect = root.getBoundingClientRect(); var scrollTop = window.pageYOffset || document.documentElement.scrollTop; var rootTop = rect.top + scrollTop; var stickyTopValue = parseFloat(getComputedStyle(root).getPropertyValue('--airsang-hs-sticky-top')) || 0; var start = rootTop - stickyTopValue; var end = rootTop + root.offsetHeight - window.innerHeight; var distance = Math.max(1, end - start); var progress = clamp((scrollTop - start) / distance, 0, 1); var maxTranslate = Math.max(0, track.scrollWidth - pin.clientWidth); var translate = -maxTranslate * progress; var activeIndex = clamp(Math.round(progress * (panels.length - 1)), 0, panels.length - 1); track.style.transform = 'translate3d(' + translate + 'px, 0, 0)'; setActive(activeIndex, progress); } function requestUpdate() { if (frame) { return; } frame = window.requestAnimationFrame(update); } if (progressButton && root.classList.contains('is-progress-clickable')) { progressButton.addEventListener('click', function() { if (isNativeTrack(root)) { return; } if (isStackedLayout(root)) { var stackedCurrent = currentIndex ? (parseInt(currentIndex.textContent, 10) || 1) - 1 : 0; var stackedNext = clamp(stackedCurrent + 1, 0, panels.length - 1); panels[stackedNext].scrollIntoView({ block: 'start', behavior: 'smooth' }); return; } var scrollTop = window.pageYOffset || document.documentElement.scrollTop; var rect = root.getBoundingClientRect(); var rootTop = rect.top + scrollTop; var stickyTopValue = parseFloat(getComputedStyle(root).getPropertyValue('--airsang-hs-sticky-top')) || 0; var start = rootTop - stickyTopValue; var end = rootTop + root.offsetHeight - window.innerHeight; var currentProgress = clamp((scrollTop - start) / Math.max(1, end - start), 0, 1); var nextIndex = clamp(Math.floor(currentProgress * panels.length) + 1, 0, panels.length - 1); var target = start + ((end - start) * (nextIndex / Math.max(1, panels.length - 1))); window.scrollTo({ top: target, behavior: 'smooth' }); }); } window.addEventListener('scroll', requestUpdate, { passive: true }); window.addEventListener('resize', requestUpdate); track.addEventListener('scroll', requestUpdate, { passive: true }); root.__airsangHorizontalUpdate = update; update(); } function initAll() { document.querySelectorAll('[data-airsang-horizontal-scroll]').forEach(initHorizontalScroll); document.querySelectorAll('[data-airsang-compare]').forEach(initComparison); document.querySelectorAll('[data-airsang-hover-video]').forEach(initHoverVideo); } if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', initAll); } else { initAll(); } if (window.elementorFrontend && window.elementorFrontend.hooks) { window.elementorFrontend.hooks.addAction('frontend/element_ready/airsang_scroll_horizontal_capabilities.default', initAll); } window.addEventListener('elementor/frontend/init', function() { if (window.elementorFrontend && window.elementorFrontend.hooks) { window.elementorFrontend.hooks.addAction('frontend/element_ready/airsang_scroll_horizontal_capabilities.default', initAll); } }); })(); </script> <script> (function() { if (window.__airsangGlobalVisualReady) { return; } window.__airsangGlobalVisualReady = true; function initWidget(root) { var widgets = []; if (root && root.matches && root.matches('[data-airsang-global-visual]')) { widgets.push(root); } if (root && root.querySelectorAll) { root.querySelectorAll('[data-airsang-global-visual]').forEach(function(widget) { widgets.push(widget); }); } widgets.forEach(function(widget) { if (widget.dataset.airsangGlobalVisualReady === 'yes') { return; } widget.dataset.airsangGlobalVisualReady = 'yes'; if (!('IntersectionObserver' in window)) { widget.classList.add('is-in-view'); return; } var observer = new IntersectionObserver(function(entries) { entries.forEach(function(entry) { if (entry.isIntersecting) { entry.target.classList.add('is-in-view'); observer.unobserve(entry.target); } }); }, { threshold: 0.14 }); observer.observe(widget); }); } function initAll() { initWidget(document); } if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', initAll); } else { initAll(); } window.addEventListener('elementor/frontend/init', function() { if (window.elementorFrontend && window.elementorFrontend.hooks) { window.elementorFrontend.hooks.addAction( 'frontend/element_ready/airsang_global_ecommerce_visual_feature.default', function(scope) { initWidget(scope && scope[0] ? scope[0] : scope); } ); } }); })(); </script> </body> </html> <!-- Cached by WP-Optimize (gzip) - https://teamupdraft.com/wp-optimize/ - Last modified: November 1, 2026 3:21 pm (UTC:0) -->