@use '../mixins' as *;

////
/// @package theming
/// @group animations
/// @access public
/// @author <a href="https://github.com/simeonoff" target="_blank">Simeon Simeonoff</a>
////

/// @requires {mixin} keyframes
@mixin flicker-out-1 {
    @include keyframes(flicker-out-1) {
        0% {
            opacity: 1;
        }

        13.9% {
            opacity: 1;
        }

        14% {
            opacity: 0;
            box-shadow: none;
        }

        14.9% {
            opacity: 0;
            box-shadow: none;
        }

        15% {
            opacity: 1;
        }

        22.9% {
            opacity: 1;
        }

        23% {
            opacity: 0;
            box-shadow: none;
        }

        24.9% {
            opacity: 0;
            box-shadow: none;
        }

        25% {
            opacity: 1;
        }

        34.9% {
            opacity: 1;
        }

        35% {
            opacity: 0;
            box-shadow: none;
        }

        39.9% {
            opacity: 0;
            box-shadow: none;
        }

        40% {
            opacity: 1;
        }

        42.9% {
            opacity: 1;
        }

        43% {
            opacity: 0;
            box-shadow: none;
        }

        44.9% {
            opacity: 0;
            box-shadow: none;
        }

        45% {
            opacity: 1;
        }

        50% {
            opacity: 1;
        }

        54.9% {
            opacity: 1;
        }

        55% {
            opacity: 0;
            box-shadow: none;
        }

        69.4% {
            opacity: 0;
            box-shadow: none;
        }

        69.5% {
            opacity: 1;
        }

        69.9% {
            opacity: 1;
        }

        70% {
            opacity: 0;
            box-shadow: none;
        }

        79.4% {
            opacity: 0;
            box-shadow: none;
        }

        79.9% {
            opacity: 1;
        }

        80% {
            opacity: 0;
            box-shadow: none;
        }

        89.8% {
            opacity: 0;
            box-shadow: none;
        }

        89.9% {
            opacity: 1;
            box-shadow: none;
        }

        90% {
            opacity: 0;
            box-shadow: none;
        }

        100% {
            opacity: 0;
        }
    }
}

/// @requires {mixin} keyframes
@mixin flicker-out-2 {
    @include keyframes(flicker-out-2) {
        0% {
            opacity: 1;
            box-shadow:
                0 0 30px rgb(255 255 255 / 0.6),
                0 0 60px rgb(255 255 255 / 0.45),
                0 0 110px rgb(255 255 255 / 0.25),
                0 0 100px rgb(255 255 255 / 0.1);
        }

        13.9% {
            opacity: 1;
            box-shadow:
                0 0 30px rgb(255 255 255 / 0.6),
                0 0 60px rgb(255 255 255 / 0.45),
                0 0 110px rgb(255 255 255 / 0.25),
                0 0 100px rgb(255 255 255 / 0.1);
        }

        14% {
            opacity: 0;
            box-shadow: none;
        }

        14.9% {
            opacity: 0;
            box-shadow: none;
        }

        15% {
            opacity: 1;
            box-shadow:
                0 0 30px rgb(255 255 255 / 0.55),
                0 0 60px rgb(255 255 255 / 0.4),
                0 0 110px rgb(255 255 255 / 0.2),
                0 0 100px rgb(255 255 255 / 0.1);
        }

        22.9% {
            opacity: 1;
            box-shadow:
                0 0 30px rgb(255 255 255 / 0.55),
                0 0 60px rgb(255 255 255 / 0.4),
                0 0 110px rgb(255 255 255 / 0.2),
                0 0 100px rgb(255 255 255 / 0.1);
        }

        23% {
            opacity: 0;
            box-shadow: none;
        }

        24.9% {
            opacity: 0;
            box-shadow: none;
        }

        25% {
            opacity: 1;
            box-shadow:
                0 0 30px rgb(255 255 255 / 0.55),
                0 0 60px rgb(255 255 255 / 0.35),
                0 0 100px rgb(255 255 255 / 0.1);
        }

        34.9% {
            opacity: 1;
            box-shadow:
                0 0 30px rgb(255 255 255 / 0.55),
                0 0 60px rgb(255 255 255 / 0.35),
                0 0 100px rgb(255 255 255 / 0.1);
        }

        35% {
            opacity: 0;
            box-shadow: none;
        }

        39.9% {
            opacity: 0;
            box-shadow: none;
        }

        40% {
            opacity: 1;
            box-shadow:
                0 0 30px rgb(255 255 255 / 0.55),
                0 0 60px rgb(255 255 255 / 0.35);
        }

        42.9% {
            opacity: 1;
            box-shadow:
                0 0 30px rgb(255 255 255 / 0.55),
                0 0 60px rgb(255 255 255 / 0.35);
        }

        43% {
            opacity: 0;
            box-shadow: none;
        }

        44.9% {
            opacity: 0;
            box-shadow: none;
        }

        45% {
            opacity: 1;
            box-shadow:
                0 0 30px rgb(255 255 255 / 0.45),
                0 0 60px rgb(255 255 255 / 0.25);
        }

        50% {
            opacity: 1;
            box-shadow:
                0 0 30px rgb(255 255 255 / 0.45),
                0 0 60px rgb(255 255 255 / 0.25);
        }

        54.9% {
            opacity: 1;
            box-shadow:
                0 0 30px rgb(255 255 255 / 0.45),
                0 0 60px rgb(255 255 255 / 0.25);
        }

        55% {
            opacity: 0;
            box-shadow: none;
        }

        69.4% {
            opacity: 0;
            box-shadow: none;
        }

        69.5% {
            opacity: 1;
            box-shadow:
                0 0 30px rgb(255 255 255 / 0.45),
                0 0 60px rgb(255 255 255 / 0.25);
        }

        69.9% {
            opacity: 1;
            box-shadow:
                0 0 30px rgb(255 255 255 / 0.45),
                0 0 60px rgb(255 255 255 / 0.25);
        }

        70% {
            opacity: 0;
            box-shadow: none;
        }

        79.4% {
            opacity: 0;
            box-shadow: none;
        }

        79.9% {
            opacity: 1;
            box-shadow: 0 0 30px rgb(255 255 255 / 0.25);
        }

        80% {
            opacity: 0;
            box-shadow: none;
        }

        89.8% {
            opacity: 0;
            box-shadow: none;
        }

        89.9% {
            opacity: 1;
            box-shadow: none;
        }

        90% {
            opacity: 0;
            box-shadow: none;
        }

        100% {
            opacity: 0;
        }
    }
}
