What Is SEO Title in WordPress? A Beginner-Friendly Guide

What Is SEO Title in WordPress? A Beginner-Friendly Guide

مقدمة

كثير ووردبريس users spend hours writing blog posts, designing pages, uploading images, and adjusting layouts, but they often overlook one small line of text that can strongly affect search visibility: the SEO title.

So, what is SEO title in WordPress? In simple terms, an SEO title is the title that appears in Google search results when someone finds your page, blog post, product page, or category page. It is not always the same as the title visitors see after clicking into your website. Instead, it is a search-focused title created to help search engines understand your page and encourage users to click.

على سبيل المثال، قد يكون عنوان منشورك على ووردبريس كالتالي:

How to Improve Your Website

لكن عنوانك المُحسّن لمحركات البحث قد يكون كالتالي:

How to Improve Your Website SEO in 2026

The second version is more specific, keyword-focused, and attractive for people searching online.

The reference article explains that an SEO title is also commonly called a meta title or the HTML <title> tag. It appears inside the <head> area of a webpage and gives search engines a clear signal about the topic of that page.

This guide will explain what an SEO title is, why it matters, how it works in WordPress, how to edit it, and how to write better titles for both search engines and real readers.

What Is SEO Title in WordPress?

What Is SEO Title in WordPress? A Beginner-Friendly Guide-What Is SEO Title in WordPress?

An SEO title in WordPress is the search engine title assigned to a page or post. It is the clickable headline that users usually see on Google, Bing, and other search engines.

In WordPress, every post or page has a regular title. This is the title displayed on the page itself, often as the main H1 heading. However, the SEO title is different. It is designed mainly for search results.

Here is the easiest way to understand the difference:

The page title is for people who are already on your website.

The SEO title is for people who are still deciding whether to click your result in search engines.

على سبيل المثال:

Page title:
Beginner’s Guide to WordPress SEO

SEO title:
WordPress SEO Guide for Beginners: Simple Steps to Rank Better

The page title can be clean and simple. The SEO title can include stronger keywords, benefits, and a clearer promise.

WordPress can automatically generate an SEO title from your page title. However, automatic titles are not always the best choice. They may be too short, too vague, too long, or not optimized for the keyword you want to rank for.

That is why many WordPress site owners use SEO plugins such as Yoast SEO, Rank Math, or All in One SEO to manually customize their SEO titles.

Why SEO Titles Matter

SEO titles matter because they influence both search engines and human behavior.

Search engines use the SEO title to understand what your page is about. If your title clearly matches the topic of your content, search engines can more easily connect your page with relevant search queries.

Users also rely on SEO titles when choosing which result to click. On a search results page, people often scan titles quickly. If your title looks clear, useful, and relevant, it has a better chance of earning clicks.

A strong SEO title can help with:

1. Search Relevance

When someone searches for “what is seo title in wordpress,” Google wants to show pages that directly answer that question. If your SEO title includes the phrase naturally, it tells search engines that your page is highly relevant to that query.

This does not mean you should stuff the keyword unnaturally. Instead, you should place the keyword in a clear and readable way.

Good example:

What Is SEO Title in WordPress? A Complete Beginner Guide

Bad example:

What Is SEO Title in WordPress SEO Title WordPress SEO Guide

The first title is natural. The second title feels forced and spammy.

2. Click-Through Rate

Click-through rate, often called CTR, means the percentage of people who click your page after seeing it in search results.

If 1,000 people see your page in Google and 80 people click it, your CTR is 8%.

A better SEO title can increase your CTR because it gives users a stronger reason to choose your page. A title that is specific, helpful, and easy to understand usually performs better than a vague title.

Compare these two examples:

SEO Title Guide

What Is SEO Title in WordPress? Simple Guide for Beginners

The second title is stronger because it tells users exactly what they will learn and who the guide is for.

3. User Expectations

An SEO title sets expectations before someone visits your website. If the title promises a beginner guide, the content should actually be beginner-friendly. If the title says “step-by-step,” the article should include clear steps.

When the title and content match, visitors are more likely to stay, read, and trust the page.

When the title feels misleading, users may leave quickly. That can hurt the overall user experience.

4. Social Sharing

SEO titles can also affect how your page appears when shared on social media platforms, messaging apps, or other websites. Many platforms pull the page title into the preview card.

A clear title can make shared links look more professional and clickable.

SEO Title vs WordPress Post Title

What Is SEO Title in WordPress? A Beginner-Friendly Guide-SEO Title vs WordPress Post Title

One common mistake is thinking the WordPress post title and SEO title must always be identical. They can be the same, but they do not have to be.

Your WordPress post title is usually shown at the top of the article. It is part of the visible page design. It may be shorter, more creative, or more brand-focused.

Your SEO title is written for search engines and search users. It may include the primary keyword, a benefit, a year, a number, or a clearer explanation.

على سبيل المثال:

WordPress post title:
Understanding SEO Titles

SEO title:
What Is SEO Title in WordPress? A Simple Explanation

The SEO title is better for search because it matches the exact question people may type into Google.

Where Does the SEO Title Appear?

The SEO title can appear in several places:

First, it appears in search engine results as the clickable headline.

Second, it appears in the browser tab when someone opens your page.

Third, it may appear in social media previews when your link is shared.

Fourth, it appears in the HTML source code inside the </code> tag.</p> <p class="wp-block-paragraph">Most visitors will not look at the HTML code, but search engines read it carefully.</p> <h2 class="wp-block-heading">How WordPress Creates SEO Titles by Default</h2> <p class="wp-block-paragraph">By default, WordPress usually uses your page or post title as the SEO title. Depending on your theme and settings, it may also add your site name.</p> <p class="wp-block-paragraph">على سبيل المثال:</p> <p class="wp-block-paragraph">What Is SEO Title in WordPress – My Website Name</p> <p class="wp-block-paragraph">This is convenient, but it is not always ideal.</p> <p class="wp-block-paragraph">Sometimes the title becomes too long. Sometimes the site name takes up valuable space. Sometimes the title does not include the right keyword. Sometimes it does not sound attractive enough to earn clicks.</p> <p class="wp-block-paragraph">That is why manually editing your SEO title is often better.</p> <h2 class="wp-block-heading">How to Edit an SEO Title in WordPress</h2> <figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="576" src="https://www.airsang.com/wp-content/uploads/2026/05/image-108-1024x576.png" alt="What Is SEO Title in WordPress? A Beginner-Friendly Guide-How to Edit an SEO Title in WordPress" class="wp-image-9860" srcset="https://www.airsang.com/wp-content/uploads/2026/05/image-108-1024x576.png 1024w, https://www.airsang.com/wp-content/uploads/2026/05/image-108-300x169.png 300w, https://www.airsang.com/wp-content/uploads/2026/05/image-108-768x432.png 768w, https://www.airsang.com/wp-content/uploads/2026/05/image-108-1536x864.png 1536w, https://www.airsang.com/wp-content/uploads/2026/05/image-108-18x10.png 18w, https://www.airsang.com/wp-content/uploads/2026/05/image-108-1000x563.png 1000w, https://www.airsang.com/wp-content/uploads/2026/05/image-108-1x1.png 1w, https://www.airsang.com/wp-content/uploads/2026/05/image-108-10x6.png 10w, https://www.airsang.com/wp-content/uploads/2026/05/image-108.png 1672w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure> <p class="wp-block-paragraph">The easiest way to edit an SEO title in WordPress is by using an SEO plugin. Most popular SEO plugins add an SEO settings box inside the page or post editor.</p> <h2 class="wp-block-heading">Using Yoast SEO</h2> <p class="wp-block-paragraph">Yoast SEO is one of the most well-known WordPress SEO plugins. After installing it, you can open a page or post and find the Yoast SEO section.</p> <p class="wp-block-paragraph">There, you can enter a custom SEO title. Yoast also shows a preview of how your title may appear in search results.</p> <p class="wp-block-paragraph">This makes it easier to see whether the title is too long, too short, or missing important keywords.</p> <h2 class="wp-block-heading">Using Rank Math</h2> <p class="wp-block-paragraph">Rank Math is another popular SEO plugin. It also lets you edit the SEO title directly inside the WordPress editor.</p> <p class="wp-block-paragraph">Rank Math provides a preview and scoring system to help you understand whether your title is optimized. You can include your focus keyword and adjust the title length.</p> <h2 class="wp-block-heading">Using All in One SEO</h2> <p class="wp-block-paragraph">All in One SEO, often called AIOSEO, is useful for blogs, business websites, and larger sites with many pages.</p> <p class="wp-block-paragraph">It lets you customize SEO titles for posts, pages, categories, products, and other content types. This can be especially helpful for eCommerce websites or large content websites.</p> <h2 class="wp-block-heading">ما هو الطول الأمثل لعنوان تحسين محركات البحث؟</h2> <p class="wp-block-paragraph">A good SEO title is usually short enough to display properly in search results but long enough to explain the page clearly.</p> <p class="wp-block-paragraph">Many SEO professionals recommend keeping titles around 50 to 60 characters. The reference article also mentions this common range because longer titles may be cut off in search results.</p> <p class="wp-block-paragraph">However, character count is not the only thing that matters. Google displays titles based on pixel width, not just the number of characters. Some letters take up more space than others.</p> <p class="wp-block-paragraph">For example, “W” is wider than “i.”</p> <p class="wp-block-paragraph">That means a 58-character title may display fully, while another 55-character title may still get cut off.</p> <p class="wp-block-paragraph">A good rule is to keep the title clear, focused, and not overloaded.</p> <h2 class="wp-block-heading">How to Write a Good SEO Title</h2> <p class="wp-block-paragraph">Writing a strong SEO title is not about adding as many keywords as possible. It is about balancing search intent, clarity, and click appeal.</p> <p class="wp-block-paragraph">Here are practical tips.</p> <h2 class="wp-block-heading">1. Put the Main Keyword Near the Beginning</h2> <p class="wp-block-paragraph">If your target keyword is “what is seo title in wordpress,” try to place it close to the beginning of the title.</p> <p class="wp-block-paragraph">مثال:</p> <p class="wp-block-paragraph"><strong>What Is SEO Title in WordPress? Beginner SEO Guide</strong></p> <p class="wp-block-paragraph">This helps both users and search engines quickly understand the topic.</p> <h2 class="wp-block-heading">2. Make the Title Match the Content</h2> <p class="wp-block-paragraph">Do not promise something the article does not deliver.</p> <p class="wp-block-paragraph">If your title says “Complete Guide,” the content should be detailed. If your title says “Quick Explanation,” the content should be simple and brief.</p> <p class="wp-block-paragraph">A mismatch between title and content can disappoint readers.</p> <h2 class="wp-block-heading">3. Use Clear Language</h2> <p class="wp-block-paragraph">Avoid confusing or overly clever titles. Search users want fast answers. If they cannot understand your title immediately, they may skip it.</p> <p class="wp-block-paragraph">Good:</p> <p class="wp-block-paragraph">What Is SEO Title in WordPress? Easy Guide for Beginners</p> <p class="wp-block-paragraph">Less effective:</p> <p class="wp-block-paragraph">The Hidden Title Strategy Behind WordPress Visibility</p> <p class="wp-block-paragraph">The second title sounds interesting, but it is less direct.</p> <h2 class="wp-block-heading">4. Include a Benefit</h2> <p class="wp-block-paragraph">A benefit tells users why they should click.</p> <p class="wp-block-paragraph">أمثلة:</p> <p class="wp-block-paragraph">What Is SEO Title in WordPress? Learn How to Rank Better</p> <p class="wp-block-paragraph">SEO Title in WordPress Explained: Improve Your Search Clicks</p> <p class="wp-block-paragraph">These titles suggest a useful outcome.</p> <h2 class="wp-block-heading">5. Avoid Keyword Stuffing</h2> <p class="wp-block-paragraph">Keyword stuffing means repeating the same keyword too many times.</p> <p class="wp-block-paragraph">Bad example:</p> <p class="wp-block-paragraph">What Is SEO Title in WordPress: WordPress SEO Title Tips</p> <p class="wp-block-paragraph">This sounds unnatural.</p> <p class="wp-block-paragraph">Better example:</p> <p class="wp-block-paragraph">What Is SEO Title in WordPress? Simple Tips for Better Rankings</p> <p class="wp-block-paragraph">The keyword appears once, and the title still reads smoothly.</p> <h2 class="wp-block-heading">6. Use Numbers When Helpful</h2> <p class="wp-block-paragraph">Numbers can make titles feel more specific.</p> <p class="wp-block-paragraph">أمثلة:</p> <p class="wp-block-paragraph">7 SEO Title Tips for WordPress Beginners</p> <p class="wp-block-paragraph">What Is SEO Title in WordPress? 9 Things to Know</p> <p class="wp-block-paragraph">Numbers are not required, but they can help when the article has a list-based structure.</p> <h2 class="wp-block-heading">7. Add the Year Only When Relevant</h2> <p class="wp-block-paragraph">Adding a year can make a title feel fresh.</p> <p class="wp-block-paragraph">مثال:</p> <p class="wp-block-paragraph">What Is SEO Title in WordPress? 2026 Beginner Guide</p> <p class="wp-block-paragraph">However, only use the year if you plan to update the content. An outdated year can make your article look old.</p> <h2 class="wp-block-heading">Should You Add Your Brand Name?</h2> <p class="wp-block-paragraph">Many websites add the brand name at the end of the SEO title.</p> <p class="wp-block-paragraph">مثال:</p> <p class="wp-block-paragraph">What Is SEO Title in WordPress? Beginner Guide | Site Name</p> <p class="wp-block-paragraph">This can be useful if your brand is known or if you want consistent branding across search results.</p> <p class="wp-block-paragraph">However, adding a brand name also takes up title space. For smaller websites, it may be better to focus on the keyword and benefit first.</p> <p class="wp-block-paragraph">For important pages like the homepage, service pages, and product pages, brand names can be useful. For blog posts, they are optional.</p> <h2 class="wp-block-heading">Why Google May Rewrite Your SEO Title</h2> <p class="wp-block-paragraph">Sometimes you write a custom SEO title, but Google shows a different title in search results.</p> <p class="wp-block-paragraph">This can be frustrating, but it is common.</p> <p class="wp-block-paragraph">Google may rewrite your title if it thinks your title does not match the search query, does not describe the page well, is too long, is too short, or includes too much repeated wording.</p> <p class="wp-block-paragraph">For example, if your SEO title is:</p> <p class="wp-block-paragraph">Best WordPress Tips</p> <p class="wp-block-paragraph">But your article is mainly about SEO titles, Google may rewrite it to better match the page content.</p> <p class="wp-block-paragraph">To reduce the chance of title rewriting, make sure your SEO title accurately reflects the page, includes the main topic, and matches the visible content.</p> <h2 class="wp-block-heading">Common SEO Title Mistakes</h2> <p class="wp-block-paragraph">Many WordPress users make the same SEO title mistakes. Avoiding these can quickly improve your site’s search presentation.</p> <h2 class="wp-block-heading">Mistake 1: Using the Same Title on Multiple Pages</h2> <p class="wp-block-paragraph">Every important page should have a unique SEO title.</p> <p class="wp-block-paragraph">If several pages use the same title, search engines may struggle to understand which page is most relevant.</p> <h2 class="wp-block-heading">Mistake 2: Making the Title Too Generic</h2> <p class="wp-block-paragraph">A title like “Home” or “Blog Post” does not explain anything.</p> <p class="wp-block-paragraph">Better titles are specific.</p> <p class="wp-block-paragraph">بدلاً من:</p> <p class="wp-block-paragraph">الخدمات</p> <p class="wp-block-paragraph">يستخدم:</p> <p class="wp-block-paragraph">WordPress SEO Services for Small Business Websites</p> <h2 class="wp-block-heading">Mistake 3: Writing Only for Search Engines</h2> <p class="wp-block-paragraph">SEO titles should include keywords, but they still need to attract real people.</p> <p class="wp-block-paragraph">A title that sounds robotic may rank poorly because users do not want to click it.</p> <h2 class="wp-block-heading">Mistake 4: Making the Title Too Long</h2> <p class="wp-block-paragraph">Long titles can be cut off in search results. When that happens, users may not see the most important part.</p> <p class="wp-block-paragraph">Try to place the most valuable words near the beginning.</p> <h2 class="wp-block-heading">Mistake 5: Forgetting Search Intent</h2> <p class="wp-block-paragraph">Search intent means what the user wants to find.</p> <p class="wp-block-paragraph">Someone searching “what is seo title in wordpress” likely wants a simple explanation. They may not be ready for advanced technical SEO.</p> <p class="wp-block-paragraph">Your title should match that beginner-friendly intent.</p> <h2 class="wp-block-heading">SEO Title Examples for WordPress</h2> <p class="wp-block-paragraph">Here are some examples of better SEO titles:</p> <p class="wp-block-paragraph">What Is SEO Title in WordPress? Beginner Guide</p> <p class="wp-block-paragraph">SEO Title in WordPress Explained for Website Owners</p> <p class="wp-block-paragraph">How to Write Better SEO Titles in WordPress</p> <p class="wp-block-paragraph">WordPress SEO Title Tips to Improve Search Clicks</p> <p class="wp-block-paragraph">What Is SEO Title in WordPress and Why It Matters</p> <p class="wp-block-paragraph">Each title is clear, keyword-focused, and easy to understand.</p> <h2 class="wp-block-heading">A Simple SEO Title Formula</h2> <p class="wp-block-paragraph">You can use this simple formula:</p> <p class="wp-block-paragraph">Main Keyword + Clear Benefit + Optional Detail</p> <p class="wp-block-paragraph">مثال:</p> <p class="wp-block-paragraph">What Is SEO Title in WordPress? Simple Guide for Beginners</p> <p class="wp-block-paragraph">Main keyword: What Is SEO Title in WordPress<br>Benefit: Simple Guide<br>Detail: For Beginners</p> <p class="wp-block-paragraph">Another formula is:</p> <p class="wp-block-paragraph">Question + Answer Style Benefit</p> <p class="wp-block-paragraph">مثال:</p> <p class="wp-block-paragraph">What Is SEO Title in WordPress? Learn How It Works</p> <p class="wp-block-paragraph">This works well for educational blog posts.</p> <h2 class="wp-block-heading">Final Checklist Before Publishing</h2> <p class="wp-block-paragraph">Before publishing a WordPress post or page, ask yourself these questions:</p> <p class="wp-block-paragraph">Does the SEO title include the main keyword?</p> <p class="wp-block-paragraph">Is the title easy to understand?</p> <p class="wp-block-paragraph">Does it match the actual content?</p> <p class="wp-block-paragraph">Is it likely to attract clicks?</p> <p class="wp-block-paragraph">Is it different from other page titles on the site?</p> <p class="wp-block-paragraph">Is it short enough to display well?</p> <p class="wp-block-paragraph">Does it avoid keyword stuffing?</p> <p class="wp-block-paragraph">If the answer is yes, your SEO title is probably in good shape.</p> <h2 class="wp-block-heading">خاتمة</h2> <p class="wp-block-paragraph">An SEO title in <strong><a href="https://www.WordPres.com" target="_blank" rel="noopener">ووردبريس</a></strong> is the title that search engines and users often see before visiting your page. It helps explain what your content is about, improves search relevance, and can influence whether people click your result.</p> <p class="wp-block-paragraph">The main difference between a WordPress post title and an SEO title is purpose. The post title is for people already reading your page, while the SEO title is for people discovering your page through search engines.</p> <p class="wp-block-paragraph">A strong SEO title should be clear, relevant, keyword-focused, and written for real users. It should include the main keyword naturally, match the page content, and stay concise enough to display properly in search results.</p> <p class="wp-block-paragraph">For the keyword “what is seo title in wordpress,” the best approach is to write a title that answers the question directly while giving readers a reason to click. When used correctly, SEO titles can make your WordPress content easier to understand, easier to find, and more appealing in search results.</p> <h2 class="wp-block-heading">التعليمات </h2> <h3 class="wp-block-heading">1: What is SEO title in WordPress?</h3> <p class="wp-block-paragraph">An SEO title in WordPress is the title that appears in search engine results. It helps Google understand your page topic and helps users decide whether to click your page.</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 itself, while the SEO title is mainly written for search results. They can be the same, but the SEO title is often more keyword-focused.</p> <h3 class="wp-block-heading">3: Why is an SEO title important for WordPress SEO?</h3> <p class="wp-block-paragraph">An SEO title helps search engines understand your content and can improve click-through rate. A clear and relevant title may make your page more attractive in search results.</p> <h3 class="wp-block-heading">4: How long should a WordPress SEO title be?</h3> <p class="wp-block-paragraph">A good WordPress SEO title is usually around 50–60 characters. This helps prevent the title from being cut off in search results while still giving enough space for the main keyword.</p> <h3 class="wp-block-heading">5: How do I edit an SEO title in WordPress?</h3> <p class="wp-block-paragraph">You can edit an SEO title by using SEO plugins such as Yoast SEO, Rank Math, or All in One SEO. These plugins usually add an SEO title field inside the WordPress editor.</p> <h3 class="wp-block-heading">6: What makes a good SEO title in WordPress?</h3> <p class="wp-block-paragraph">A good SEO title should include the main keyword, clearly describe the page content, attract clicks, and avoid keyword stuffing. It should sound natural and match what users are searching for.</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>أيرسانج</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/ar/%d8%a7%d8%aa%d8%b5%d9%84-%d8%a8%d9%86%d8%a7/" 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/ar/%d8%ae%d8%af%d9%85%d8%a7%d8%aa/" 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/ar/%d8%a7%d8%aa%d8%b5%d9%84-%d8%a8%d9%86%d8%a7/" 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">تصميم واجهات المواقع</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/ar/%d8%a7%d8%aa%d8%b5%d9%84-%d8%a8%d9%86%d8%a7/" 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">دراسات الحالة</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/ar/%d8%aa%d8%b5%d9%85%d9%8a%d9%85-%d8%a7%d9%84%d8%b5%d9%88%d8%b1%d8%a9-%d8%a7%d9%84%d8%b1%d8%a6%d9%8a%d8%b3%d9%8a%d8%a9-%d9%84%d8%a3%d8%ac%d9%87%d8%b2%d8%a9-%d8%a7%d9%84%d8%aa%d8%b3%d9%88%d9%8a%d8%a9-ozo/"> <span class="airsang-related-posts-carousel__image"> <img src="https://www.airsang.com/wp-content/uploads/2026/01/7d8a0818-fd4b-48a2-a7f9-796e83a219ca-1024x683.png" alt="Main Image Design for Ozon Leveling Instruments"> </span> <span class="airsang-related-posts-carousel__body"> <span class="airsang-related-posts-carousel__post-title">Main Image Design for Ozon Leveling Instruments</span> <span class="airsang-related-posts-carousel__excerpt">Introduction In highly competitive marketplaces like Ozon, customers make decisions within seconds. For professional tools such as leveling instruments, the main image must do far more than display the product — it must instantly communicate precision, durability, and real-world usability. Our design approach focuses on transforming complex technical features into clear, visually...</span> </span> </a> </article> <article class="airsang-related-posts-carousel__slide"> <a class="airsang-related-posts-carousel__card" href="https://www.airsang.com/ar/how-to-add-google-analytics-to-wordpress-in-2026/"> <span class="airsang-related-posts-carousel__image"> <img src="https://www.airsang.com/wp-content/uploads/2026/06/image-94-1024x576.png" alt="How to Add Google Analytics to WordPress in 2026"> </span> <span class="airsang-related-posts-carousel__body"> <span class="airsang-related-posts-carousel__post-title">How to Add Google Analytics to WordPress in 2026</span> <span class="airsang-related-posts-carousel__excerpt">Introduction Learning how to add Google Analytics to WordPress is one of the most useful steps you can take after launching a website. A WordPress site should not only look good; it should also give you clear information about how people find your pages, what content they read, which devices they use,...</span> </span> </a> </article> <article class="airsang-related-posts-carousel__slide"> <a class="airsang-related-posts-carousel__card" href="https://www.airsang.com/ar/what-is-seo-title-in-wordpress-a-beginner-friendly-guide/"> <span class="airsang-related-posts-carousel__image"> <img src="https://www.airsang.com/wp-content/uploads/2026/05/image-105-1024x576.png" alt="What Is SEO Title in WordPress? A Beginner-Friendly Guide"> </span> <span class="airsang-related-posts-carousel__body"> <span class="airsang-related-posts-carousel__post-title">What Is SEO Title in WordPress? A Beginner-Friendly Guide</span> <span class="airsang-related-posts-carousel__excerpt">Introduction Many WordPress users spend hours writing blog posts, designing pages, uploading images, and adjusting layouts, but they often overlook one small line of text that can strongly affect search visibility: the SEO title. So, what is SEO title in WordPress? In simple terms, an SEO title is the title that appears...</span> </span> </a> </article> <article class="airsang-related-posts-carousel__slide"> <a class="airsang-related-posts-carousel__card" href="https://www.airsang.com/ar/how-we-designed-a-meaningful-shopify-jewelry-experience/"> <span class="airsang-related-posts-carousel__image"> <img src="https://www.airsang.com/wp-content/uploads/2026/05/38505fa0-6d65-46c6-b984-1f25786db1bc-1024x768.png" alt="How We Designed a Meaningful Shopify Jewelry Experience"> </span> <span class="airsang-related-posts-carousel__body"> <span class="airsang-related-posts-carousel__post-title">How We Designed a Meaningful Shopify Jewelry Experience</span> <span class="airsang-related-posts-carousel__excerpt">Introduction A strong Shopify jewelry website must do more than display beautiful products. It needs to create emotion, guide shoppers clearly, and help every collection feel connected to the brand story. For a jewelry brand inspired by spirituality, symbolism, healing gemstones, and personal meaning, the design direction must feel elegant, calm, trustworthy,...</span> </span> </a> </article> <article class="airsang-related-posts-carousel__slide"> <a class="airsang-related-posts-carousel__card" href="https://www.airsang.com/ar/ozon-children-s-instant-printing-camera-main-product-image-visual-design-case/"> <span class="airsang-related-posts-carousel__image"> <img src="https://www.airsang.com/wp-content/uploads/airsang-posts/c06965dad4752b5e799bc618.webp" alt="Ozon children’s instant printing camera main product image visual design case"> </span> <span class="airsang-related-posts-carousel__body"> <span class="airsang-related-posts-carousel__post-title">Ozon children’s instant printing camera main product image visual design case</span> <span class="airsang-related-posts-carousel__excerpt">Ozonmain product image design case of children's instant printing camera: Through 6 real works, the design ideas for orderly development of the instant printing process, shooting themes and package contents are analyzed, and the screen arrangement, information hierarchy and pre-purchase verification methods are explained.</span> </span> </a> </article> <article class="airsang-related-posts-carousel__slide"> <a class="airsang-related-posts-carousel__card" href="https://www.airsang.com/ar/temu-women-s-shoe-store-poster-design-case/"> <span class="airsang-related-posts-carousel__image"> <img src="https://www.airsang.com/wp-content/uploads/airsang-posts/22ecb942391810f648c0e5c5.webp" alt="Temu women’s shoe store poster design case"> </span> <span class="airsang-related-posts-carousel__body"> <span class="airsang-related-posts-carousel__post-title">Temu women’s shoe store poster design case</span> <span class="airsang-related-posts-carousel__excerpt">Project overview The client of this project is a fashionable women’s shoe merchant targeting young female consumers. It mainly sells boots, over-the-knee boots, Mary Jane shoes and other products on the Temu platform. The customer came to us hoping to improve the existing problems of single product display and lack of uniformity...</span> </span> </a> </article> <article class="airsang-related-posts-carousel__slide"> <a class="airsang-related-posts-carousel__card" href="https://www.airsang.com/ar/wordpress-adult-silicone-doll-brand-website-design-case-velora-s-brand-craftsmanship-and-private-appointment/"> <span class="airsang-related-posts-carousel__image"> <img src="https://www.airsang.com/wp-content/uploads/airsang-posts/85bbc7dfbaac999b5065ff0b.webp" alt="WordPress Adult Silicone Doll Brand Website Design Case: VELORA’s Brand Craftsmanship and Private Appointment"> </span> <span class="airsang-related-posts-carousel__body"> <span class="airsang-related-posts-carousel__post-title">WordPress Adult Silicone Doll Brand Website Design Case: VELORA’s Brand Craftsmanship and Private Appointment</span> <span class="airsang-related-posts-carousel__excerpt">In VELORA's WordPress adult silicone doll brand website, we focused on brand craftsmanship and private appointments, combined with black gold and warm peach colors, series of images, restrained titles and step-by-step information, to organize the graphic and text hierarchy, navigation and mobile browsing experience of the homepage and inner pages.</span> </span> </a> </article> <article class="airsang-related-posts-carousel__slide"> <a class="airsang-related-posts-carousel__card" href="https://www.airsang.com/ar/ozon-outdoor-wall-lamp-main-product-image-design-and-product-visual-optimization-case/"> <span class="airsang-related-posts-carousel__image"> <img src="https://www.airsang.com/wp-content/uploads/airsang-posts/f5ca665fe50d2e9f4260de71.webp" alt="Ozon outdoor wall lamp main product image design and product visual optimization case"> </span> <span class="airsang-related-posts-carousel__body"> <span class="airsang-related-posts-carousel__post-title">Ozon outdoor wall lamp main product image design and product visual optimization case</span> <span class="airsang-related-posts-carousel__excerpt">Ozonmain product image design case of retro outdoor wall lamp: Through 6 real works, the design idea of layering the decorative appearance, structure and installation conditions is analyzed, and the screen arrangement, information level and pre-purchase verification method are explained.</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">فيسبوك</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">يوتيوب</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">يوتيوب</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">يوتيوب</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">التصميم</h3> <ul class="airsang-footer-list__items"> <li class="airsang-footer-list__item"> <a class="airsang-footer-list__link" href="https://www.airsang.com/ar/website-design/">Website Design</a> </li> <li class="airsang-footer-list__item"> <a class="airsang-footer-list__link" href="https://www.airsang.com/ar/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/ar/amazon-design/">Amazon Design</a> </li> <li class="airsang-footer-list__item"> <a class="airsang-footer-list__link" href="https://www.airsang.com/ar/shein-design/">SHEIN Design</a> </li> <li class="airsang-footer-list__item"> <a class="airsang-footer-list__link" href="https://www.airsang.com/ar/%d8%ad%d8%a7%d9%84%d8%a7%d8%aa-%d8%aa%d8%b5%d9%85%d9%8a%d9%85-%d8%a7%d9%84%d8%b9%d9%84%d8%a7%d9%85%d8%a7%d8%aa-%d8%a7%d9%84%d8%aa%d8%ac%d8%a7%d8%b1%d9%8a%d8%a9/">تصميم العلامة التجارية</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/ar/wordpress-website-design/">تطوير مواقع الويب</a> </li> <li class="airsang-footer-list__item"> <a class="airsang-footer-list__link" href="https://www.airsang.com/ar/custom-theme-development/">Custom Development</a> </li> <li class="airsang-footer-list__item"> <a class="airsang-footer-list__link" href="https://www.airsang.com/ar/product-listing-services/">Product Listings</a> </li> <li class="airsang-footer-list__item"> <a class="airsang-footer-list__link" href="https://www.airsang.com/ar/%d8%a7%d8%aa%d8%b5%d9%84-%d8%a8%d9%86%d8%a7/">Social Media Management</a> </li> <li class="airsang-footer-list__item"> <a class="airsang-footer-list__link" href="https://www.airsang.com/ar/seo-services/">Search Engine Optimization</a> </li> <li class="airsang-footer-list__item"> <a class="airsang-footer-list__link" href="https://www.airsang.com/ar/%d8%a7%d8%aa%d8%b5%d9%84-%d8%a8%d9%86%d8%a7/">Website Migration</a> </li> <li class="airsang-footer-list__item"> <a class="airsang-footer-list__link" href="https://www.airsang.com/ar/%d8%a7%d8%aa%d8%b5%d9%84-%d8%a8%d9%86%d8%a7/">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">نبذة عنا</h3> <ul class="airsang-footer-list__items"> <li class="airsang-footer-list__item"> <a class="airsang-footer-list__link" href="https://www.airsang.com/ar/%d9%85%d9%8e%d9%84%d9%8e%d9%81%d9%91/">Our Work</a> </li> <li class="airsang-footer-list__item"> <a class="airsang-footer-list__link" href="https://www.airsang.com/ar/%d9%85%d8%b9%d9%84%d9%88%d9%85%d8%a7%d8%aa-%d8%b9%d9%86%d8%a7/">Company Profile</a> </li> <li class="airsang-footer-list__item"> <a class="airsang-footer-list__link" href="https://www.airsang.com/ar/%d9%85%d8%af%d9%88%d9%86%d8%a9/">Blog & Insights</a> </li> <li class="airsang-footer-list__item"> <a class="airsang-footer-list__link" href="https://www.airsang.com/ar/%d8%a7%d8%aa%d8%b5%d9%84-%d8%a8%d9%86%d8%a7/">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">يدعم</h3> <ul class="airsang-footer-list__items"> <li class="airsang-footer-list__item"> <a class="airsang-footer-list__link" href="https://www.airsang.com/ar/%d8%b4%d8%b1%d9%88%d8%b7-%d8%a7%d9%84%d8%a7%d8%b3%d8%aa%d8%ae%d8%af%d8%a7%d9%85/">شروط الاستخدام</a> </li> <li class="airsang-footer-list__item"> <a class="airsang-footer-list__link" href="https://www.airsang.com/ar/%d8%a7%d8%aa%d8%b5%d9%84-%d8%a8%d9%86%d8%a7/">اتصل بنا</a> </li> <li class="airsang-footer-list__item"> <a class="airsang-footer-list__link" href="https://www.airsang.com/ar/%d9%85%d8%af%d9%88%d9%86%d8%a9/">Knowledge Base</a> </li> <li class="airsang-footer-list__item"> <a class="airsang-footer-list__link" href="https://www.airsang.com/ar/%d8%a7%d8%aa%d8%b5%d9%84-%d8%a8%d9%86%d8%a7/">Frequently Asked Questions</a> </li> <li class="airsang-footer-list__item"> <a class="airsang-footer-list__link" href="https://www.airsang.com/ar/%d8%b3%d9%8a%d8%a7%d8%b3%d8%a9-%d8%a7%d9%84%d8%ae%d8%b5%d9%88%d8%b5%d9%8a%d8%a9/">سياسة الخصوصية</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">اتصل بنا</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="ووردبريس" 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="ماجنتو" 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="تيمو" 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="شوبلازا" 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="علي إكسبرس" 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="إيباي" 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="كوبانج" 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="شوبي" 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="علي بابا" 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="الأوزون" 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/ar/%d8%b4%d8%b1%d9%88%d8%b7-%d8%a7%d9%84%d8%a7%d8%b3%d8%aa%d8%ae%d8%af%d8%a7%d9%85/">© 2026 AIRSANG. All rights reserved.</a></h2> </div> </div> </div> </div> </footer> <template id="tp-language" data-tp-language="ar"></template><script type="speculationrules"> {"prefetch":[{"source":"document","where":{"and":[{"href_matches":"/ar/*"},{"not":{"href_matches":["/wp-*.php","/wp-admin/*","/wp-content/uploads/*","/wp-content/*","/wp-content/plugins/*","/wp-content/themes/hello-elementor/*","/ar/*\\?(.+)"]}},{"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-rtl-css' href='https://www.airsang.com/wp-content/plugins/woocommerce/assets/client/blocks/wc-blocks-rtl.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":"ar","trp_original_language":"en_US","trp_current_language":"ar","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":"1b4069cba0","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': [ 'rtl' ] } ); //# 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":"2023-04-05 09:50:06+0000","generator":"GlotPress\/4.0.3","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","plural-forms":"nplurals=6; plural=(n == 0) ? 0 : ((n == 1) ? 1 : ((n == 2) ? 2 : ((n % 100 >= 3 && n % 100 <= 10) ? 3 : ((n % 100 >= 11 && n % 100 <= 99) ? 4 : 5))));","lang":"ar"},"Error:":["\u062e\u0637\u0623:"]}},"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\/ar\/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":"\u0634\u0627\u0631\u0643 \u0639\u0644\u0649 \u0641\u064a\u0633\u0628\u0648\u0643","shareOnX":"Share on X","pinIt":"\u0627\u062d\u0641\u0638\u0647\u0627","download":"\u062a\u062d\u0645\u064a\u0644","downloadImage":"\u062a\u0646\u0632\u064a\u0644 \u0627\u0644\u0635\u0648\u0631\u0629","fullscreen":"\u0645\u0644\u0621 \u0627\u0644\u0634\u0627\u0634\u0629","zoom":"\u062a\u0643\u0628\u064a\u0631","share":"\u064a\u0634\u0627\u0631\u0643","playVideo":"\u062a\u0634\u063a\u064a\u0644 \u0627\u0644\u0641\u064a\u062f\u064a\u0648","previous":"\u0633\u0627\u0628\u0642","next":"\u0627\u0644\u062a\u0627\u0644\u064a","close":"\u064a\u063a\u0644\u0642","a11yCarouselPrevSlideMessage":"\u0627\u0644\u0634\u0631\u064a\u062d\u0629 \u0627\u0644\u0633\u0627\u0628\u0642\u0629","a11yCarouselNextSlideMessage":"\u0627\u0644\u0634\u0631\u064a\u062d\u0629 \u0627\u0644\u062a\u0627\u0644\u064a\u0629","a11yCarouselFirstSlideMessage":"\u0647\u0630\u0647 \u0647\u064a \u0627\u0644\u0634\u0631\u064a\u062d\u0629 \u0627\u0644\u0623\u0648\u0644\u0649","a11yCarouselLastSlideMessage":"\u0647\u0630\u0647 \u0647\u064a \u0627\u0644\u0634\u0631\u064a\u062d\u0629 \u0627\u0644\u0623\u062e\u064a\u0631\u0629","a11yCarouselPaginationBulletMessage":"\u0627\u0646\u062a\u0642\u0644 \u0625\u0644\u0649 \u0627\u0644\u0634\u0631\u064a\u062d\u0629"},"is_rtl":true,"breakpoints":{"xs":0,"sm":480,"md":768,"lg":1025,"xl":1440,"xxl":1600},"responsive":{"breakpoints":{"mobile":{"label":"Mobile Portrait","value":767,"default_value":767,"direction":"max","is_enabled":true},"mobile_extra":{"label":"Mobile Landscape","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":"\u062d\u0627\u0633\u0648\u0628 \u0645\u062d\u0645\u0648\u0644","value":1366,"default_value":1366,"direction":"max","is_enabled":false},"widescreen":{"label":"\u0627\u0644\u0634\u0627\u0634\u0629 \u0627\u0644\u0639\u0631\u064a\u0636\u0629","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":"b2109365c4","atomicFormsSendForm":"7f9cb8541e"},"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":9854,"title":"What%20Is%20SEO%20Title%20in%20WordPress%3F%20A%20Beginner-Friendly%20Guide","excerpt":"","featuredImage":"https:\/\/www.airsang.com\/wp-content\/uploads\/2026\/05\/image-105-1024x576.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":"7af9d4a55e","urls":{"assets":"https:\/\/www.airsang.com\/wp-content\/plugins\/elementor-pro\/assets\/","rest":"https:\/\/www.airsang.com\/ar\/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\/ar\/%d8%a7%d9%84%d8%b9%d8%b1%d8%a8%d8%a9-2\/","checkout_page_url":"https:\/\/www.airsang.com\/ar\/checkout-2\/","fragments_nonce":"87e0556855"}},"facebook_sdk":{"lang":"ar","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>