/*
Theme Name: SEO Freelancer Pro
Theme URI: https://example.com/seo-freelancer-theme
Author: Your Name
Author URI: https://example.com
Description: A modern, highly customizable WordPress block theme designed specifically for SEO freelancers and digital marketing professionals. Features a clean green and white design, full site editing, custom block patterns for services, testimonials, case studies, and conversion-optimized layouts.
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 7.4
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: seo-freelancer
Tags: block-patterns, block-styles, custom-colors, custom-menu, editor-style, full-site-editing, one-column, template-editing, threaded-comments, translation-ready, wide-blocks

SEO Freelancer Pro WordPress Theme, (C) 2024
SEO Freelancer Pro is distributed under the terms of the GNU GPL.
*/
/* Animated Background Stars */
.bg-lines {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
}

.bg-lines .bg-line {
    position: absolute;
    top: 0;
    height: 100%;
}

.bg-lines .bg-line::before {
    content: '';
    position: absolute;
    top: -80px;
    right: -1px;
    background: linear-gradient(to bottom, transparent, rgba(46, 213, 115, 0.6));
    width: 2px;
    height: 80px;
    border-radius: 50%;
    filter: blur(1px);
}

.bg-line-1 { left: 10%; }
.bg-line-1::before { animation: slideDown1 8s ease-in-out infinite; }

.bg-line-2 { left: 20%; }
.bg-line-2::before { animation: slideDown2 9s ease-in-out infinite; animation-delay: 3s; }

.bg-line-3 { left: 30%; }
.bg-line-3::before { animation: slideDown3 7s ease-in-out infinite; animation-delay: 4s; }

.bg-line-4 { left: 40%; }
.bg-line-4::before { animation: slideDown4 10s ease-in-out infinite; animation-delay: 2s; }

.bg-line-5 { left: 50%; }
.bg-line-5::before { animation: slideDown5 8.5s ease-in-out infinite; animation-delay: 2s; }

.bg-line-6 { left: 60%; }
.bg-line-6::before { animation: slideDown6 8.2s ease-in-out infinite; animation-delay: 5s; }

.bg-line-7 { left: 70%; }
.bg-line-7::before { animation: slideDown7 9.5s ease-in-out infinite; animation-delay: 1s; }

.bg-line-8 { left: 80%; }
.bg-line-8::before { animation: slideDown8 7.8s ease-in-out infinite; animation-delay: 6s; }

.bg-line-9 { left: 90%; }
.bg-line-9::before { animation: slideDown9 8.8s ease-in-out infinite; animation-delay: 4.5s; }

.bg-line-10 { left: 95%; }
.bg-line-10::before { animation: slideDown10 9.2s ease-in-out infinite; animation-delay: 3.5s; }

/* Keyframe animations for random curved paths */
@keyframes slideDown1 {
    0% { top: -80px; right: -1px; opacity: 0; }
    10% { opacity: 1; }
    25% { right: -15px; }
    50% { right: 20px; }
    75% { right: -10px; }
    90% { opacity: 1; }
    100% { top: 100%; right: 15px; opacity: 0; }
}

@keyframes slideDown2 {
    0% { top: -80px; right: -1px; opacity: 0; }
    10% { opacity: 1; }
    30% { right: 25px; }
    60% { right: -20px; }
    80% { right: 10px; }
    90% { opacity: 1; }
    100% { top: 100%; right: -15px; opacity: 0; }
}

@keyframes slideDown3 {
    0% { top: -80px; right: -1px; opacity: 0; }
    10% { opacity: 1; }
    20% { right: -30px; }
    50% { right: 15px; }
    70% { right: -25px; }
    90% { opacity: 1; }
    100% { top: 100%; right: 5px; opacity: 0; }
}

@keyframes slideDown4 {
    0% { top: -80px; right: -1px; opacity: 0; }
    10% { opacity: 1; }
    35% { right: 18px; }
    55% { right: -15px; }
    75% { right: 22px; }
    90% { opacity: 1; }
    100% { top: 100%; right: -8px; opacity: 0; }
}

@keyframes slideDown5 {
    0% { top: -80px; right: -1px; opacity: 0; }
    10% { opacity: 1; }
    28% { right: -28px; }
    48% { right: 12px; }
    72% { right: -18px; }
    90% { opacity: 1; }
    100% { top: 100%; right: 20px; opacity: 0; }
}

@keyframes slideDown6 {
    0% { top: -80px; right: -1px; opacity: 0; }
    10% { opacity: 1; }
    22% { right: 30px; }
    45% { right: -22px; }
    68% { right: 15px; }
    90% { opacity: 1; }
    100% { top: 100%; right: -12px; opacity: 0; }
}

@keyframes slideDown7 {
    0% { top: -80px; right: -1px; opacity: 0; }
    10% { opacity: 1; }
    32% { right: -20px; }
    52% { right: 25px; }
    78% { right: -15px; }
    90% { opacity: 1; }
    100% { top: 100%; right: 18px; opacity: 0; }
}

@keyframes slideDown8 {
    0% { top: -80px; right: -1px; opacity: 0; }
    10% { opacity: 1; }
    26% { right: 22px; }
    58% { right: -18px; }
    82% { right: 12px; }
    90% { opacity: 1; }
    100% { top: 100%; right: -10px; opacity: 0; }
}

@keyframes slideDown9 {
    0% { top: -80px; right: -1px; opacity: 0; }
    10% { opacity: 1; }
    24% { right: -25px; }
    54% { right: 20px; }
    76% { right: -12px; }
    90% { opacity: 1; }
    100% { top: 100%; right: 8px; opacity: 0; }
}

@keyframes slideDown10 {
    0% { top: -80px; right: -1px; opacity: 0; }
    10% { opacity: 1; }
    33% { right: 28px; }
    56% { right: -16px; }
    79% { right: 14px; }
    90% { opacity: 1; }
    100% { top: 100%; right: -20px; opacity: 0; }
}