=== DCLVBS Snowflakes ===
Contributors: decalvibes, freemius
Tags: snowflakes, snow, winter, christmas, animation
Requires at least: 6.0
Tested up to: 7.1
Stable tag: 0.0.2
Requires PHP: 7.4
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Add a decorative falling snowflake effect to the public-facing website with optional snow accumulation on selected elements.

== Description ==

DCLVBS Snowflakes adds a decorative animated snowfall effect to the public-facing WordPress website.

Snowflakes are generated dynamically in the browser and fall across the visible page.

Website elements can optionally be marked as snow surfaces. Snowflakes can then visually accumulate on those elements.

To enable snow accumulation on an element, add the following CSS class:

`dclvbs-snow-surface`

The plugin does not modify post content, media files, theme files, or database content.

The effect is displayed only on the public-facing website.

Visitors who have enabled reduced-motion preferences in their operating system or browser will not receive the animated snow effect.

= Features =

* Decorative falling snowflake animation
* 35 continuously generated snowflakes
* Random snowflake size
* Random horizontal positioning
* Random opacity
* Random falling duration
* Optional snow accumulation on selected frontend elements
* Maximum accumulation limit per snow surface for improved performance
* Frontend-only functionality
* No modification of WordPress content or media files
* No plugin-specific snowfall settings stored in the database
* Snowfall functionality runs locally in the visitor's browser
* Support for reduced-motion accessibility preferences
* WordPress-compliant frontend script and style loading

= Snow surfaces =

Snowflakes can optionally accumulate on selected elements.

To make an element a snow surface, add the CSS class:

`dclvbs-snow-surface`

For example:

`<div class="dclvbs-snow-surface">Your content</div>`

The plugin checks visible snow surfaces while snowflakes are falling.

When a suitable visible surface is detected, decorative snowflakes may be placed near the top edge of that element.

The accumulated snowflakes are visual elements only and do not modify the underlying content.

= Snow accumulation limit =

To help limit the number of generated frontend elements, each snow surface keeps a maximum of approximately 60 accumulated snowflakes.

When the limit is exceeded, the oldest accumulated snowflake is removed.

= Accessibility =

DCLVBS Snowflakes respects the CSS and browser preference:

`prefers-reduced-motion: reduce`

When a visitor has reduced motion enabled, the animated snowfall effect is disabled.

This helps avoid unnecessary animation for visitors who prefer reduced motion.

== Privacy ==

The snowflake animation itself is generated locally in the visitor's browser.

DCLVBS Snowflakes does not intentionally upload website content or snow surface information to an external service as part of the snowfall functionality.

The plugin uses the Freemius SDK for account-related functionality, plugin usage information, licensing infrastructure, and related service functionality.

When the website administrator opts in to Freemius services or uses functionality that requires communication with Freemius, information about the website, plugin installation, WordPress environment, and administrator account may be transmitted to Freemius.

The snowfall effect itself does not require visitor data to be transmitted to Freemius in order to function.

== External Services ==

This plugin uses the Freemius SDK for account-related functionality, plugin usage information, licensing infrastructure, and related service functionality.

When the website administrator opts in to Freemius services or uses functionality that requires communication with Freemius, information about the website, plugin installation, WordPress environment, and administrator account may be transmitted to Freemius.

The plugin does not intentionally transmit snowflake positions, snow surface information, website content, or visitor interactions with the snowfall effect to Freemius as part of the snowfall functionality.

For more information about Freemius and its data practices, see:

Freemius:
https://freemius.com/

Freemius Terms of Service:
https://freemius.com/terms/

Freemius Privacy Policy:
https://freemius.com/privacy/

== Requirements ==

* WordPress 6.0 or later
* PHP 7.4 or later
* JavaScript enabled in the visitor's browser for the animated snow effect

== Installation ==

1. Upload the plugin ZIP file through **Plugins > Add New > Upload Plugin**, or install it using the available WordPress installation method.
2. Activate **DCLVBS Snowflakes**.
3. Visit the public-facing website.
4. The falling snowflake effect is displayed automatically.
5. To enable snow accumulation on a specific element, add the CSS class `dclvbs-snow-surface` to that element.

No additional configuration is required.

== Frequently Asked Questions ==

= Does the snow effect start automatically? =

Yes.

After the plugin is activated, the falling snowflake effect is automatically displayed on the public-facing website.

= Do I need to configure the plugin? =

No.

The basic falling snowflake effect works without additional configuration.

You only need to add the `dclvbs-snow-surface` CSS class if you want snowflakes to accumulate on specific elements.

= How do I make snow accumulate on an element? =

Add the following CSS class to the desired frontend element:

`dclvbs-snow-surface`

For example:

`<div class="dclvbs-snow-surface">Your content</div>`

= Does snow accumulate on every element automatically? =

No.

Snow accumulation is only enabled for elements that use the `dclvbs-snow-surface` CSS class.

= Does the plugin modify my website content? =

No.

The plugin does not modify posts, pages, media files, or the underlying content of marked elements.

The snowflakes are generated dynamically as decorative frontend elements.

= Does the plugin modify my theme files? =

No.

The plugin does not modify theme or template files.

Styles and JavaScript required for the snow effect are loaded through the WordPress frontend.

= Does the plugin store anything in the WordPress database? =

The snowfall functionality itself does not require plugin-specific settings or database storage.

The included Freemius SDK may store information required for account-related functionality, plugin usage information, licensing infrastructure, and related service functionality.

= Does the plugin use cookies? =

The snowfall functionality itself does not set cookies.

The included Freemius SDK may use browser storage or related mechanisms as part of its account-related and service functionality. For details, please refer to the Freemius Privacy Policy.

= Does the plugin use external services? =

Yes.

DCLVBS Snowflakes includes the Freemius SDK for account-related functionality, plugin usage information, licensing infrastructure, and related service functionality.

The actual snowfall effect runs locally in the visitor's browser and does not require an external service.

The plugin does not intentionally transmit snowflake positions, snow surface information, or visitor interactions with the snowfall effect to Freemius as part of the snowfall functionality.

= Does the plugin work with Elementor? =

The falling snow effect works independently of Elementor.

For snow accumulation, an Elementor element can use the CSS class:

`dclvbs-snow-surface`

Compatibility may depend on the markup and layout generated by the selected Elementor widget or container.

= Does the plugin work with other page builders? =

The basic falling snow effect does not depend on a specific page builder.

Snow accumulation can work with page builders that allow a custom CSS class to be assigned to an HTML element.

Add:

`dclvbs-snow-surface`

to the element where snow should accumulate.

= Can I use more than one snow surface on a page? =

Yes.

The `dclvbs-snow-surface` class can be added to multiple elements on the same page.

= How many snowflakes are displayed? =

The current version creates 35 continuously falling snowflakes.

Their size, horizontal position, opacity, and falling duration are randomized.

= Is the snow animation shown in the WordPress administration area? =

No.

The snow effect is intended only for the public-facing website.

Regular WordPress administration requests are excluded.

= What happens if a visitor uses reduced-motion settings? =

The plugin checks the visitor's `prefers-reduced-motion` setting.

If reduced motion is enabled, the animated snowfall effect is not displayed.

== Changelog ==

= 0.0.2 =

* Updated the plugin structure for WordPress compatibility.
* Added Freemius SDK integration.
* Added WordPress-compliant frontend style loading.
* Added WordPress-compliant frontend JavaScript loading.
* Added prefixed CSS classes and animation names.
* Added the `dclvbs-snow-surface` class for optional snow accumulation.
* Added reduced-motion accessibility support.
* Improved frontend performance handling.
* Added a maximum accumulation limit per snow surface.
* Updated plugin metadata and licensing information.

= 0.0.1 =

* Initial development version of DCLVBS Snowflakes.
* Added animated falling snowflakes.
* Added optional snow accumulation on selected frontend elements.

== Upgrade Notice ==

= 0.0.2 =

Improves WordPress integration, accessibility, frontend performance, and plugin metadata.

== Support ==

For additional information about DECALVIBES and DCLVBS Snowflakes, visit:

https://www.decalvibes.com/dclvbs-snowflakes-for-wordpress/

== Author ==

DECALVIBES

https://www.decalvibes.com/
