I want you to implement all of these terms exactly in accordance with what is appropriate for my website :



you'll need to adhere to Google's Webmaster Guidelines and best practices for search engine optimization (SEO). Below, I've detailed the terms, requirements, and actionable steps you should take to ensure your website aligns with Google's policies and ranks higher in search results.

1. Google's Webmaster Guidelines
Google's Webmaster Guidelines are essential for any website aiming to rank well in search results. They outline best practices for making your site easily discoverable and user-friendly.
A. Technical Guidelines
* Ensure Crawlability and Indexability
    * Robots.txt File: Use a robots.txt file to control which pages search engines can crawl.
    * XML Sitemap: Create and submit an XML sitemap through Google Search Console to help Google discover your pages.
    * Avoid Crawl Errors: Fix broken links and 404 errors to ensure all pages are accessible.
* Site Structure and Navigation
    * Logical Hierarchy: Organize your content in a clear hierarchy with categories and subcategories.
    * Breadcrumbs: Implement breadcrumb navigation to enhance user experience and help Google understand your site's structure.
    * URL Structure: Use descriptive, readable URLs that reflect your content (e.g., yourwebsite.com/party-ages).
* Mobile-Friendly Design
    * Responsive Design: Ensure your site adapts to different screen sizes using responsive web design.
    * Mobile Usability: Use Google's Mobile-Friendly Test tool to check for issues.
    * Avoid Flash Content: Flash isn't supported on most mobile devices; use HTML5 instead.
* Site Speed Optimization
    * Minimize Page Load Time: Compress images, minify CSS and JavaScript files, and leverage browser caching.
    * Use a Content Delivery Network (CDN): Distribute your content across various servers to reduce latency.
* Secure Your Site with HTTPS
    * SSL Certificate: Install an SSL certificate to encrypt data, which is also a ranking signal for Google.
B. Content Guidelines
* High-Quality, Original Content
    * Unique Value: Provide content that is not available elsewhere and adds value to users.
    * Relevance: Ensure your content is relevant to the user's query, focusing on party ages and related topics.
    * Depth and Breadth: Cover topics thoroughly to establish authority.
* Keyword Optimization
    * Keyword Research: Use tools like Google Keyword Planner to find relevant keywords.
    * Natural Inclusion: Incorporate keywords naturally into your content, titles, and headings.
    * Avoid Keyword Stuffing: Overusing keywords can lead to penalties.
* Title Tags and Meta Descriptions
    * Descriptive Titles: Write clear, concise, and descriptive title tags for each page.
    * Compelling Meta Descriptions: Summarize the page content to encourage clicks from search results.
* Header Tags
    * Use H1 to H6 Tags: Organize your content with appropriate heading tags for better readability and SEO.
* Alt Text for Images
    * Descriptive Alt Attributes: Provide alt text for images to improve accessibility and help search engines understand the content.
C. Quality Guidelines
* Avoid Duplicate Content
    * Unique Pages: Ensure each page has unique content.
    * Canonical Tags: Use canonical tags to indicate the preferred version of a page if duplicates exist.
* No Cloaking or Sneaky Redirects
    * Consistent Content: Show the same content to users and search engines.
    * Proper Redirects: Use 301 redirects for moved pages without deceptive practices.
* Avoid Hidden Text or Links
    * Visible Content: Ensure all text and links are visible to users and not hidden with CSS or other methods.
* No Link Schemes
    * Natural Backlinks: Avoid buying or exchanging links solely for SEO purposes.
    * Quality Over Quantity: Focus on earning high-quality backlinks from reputable sites.
* User-Generated Spam
    * Moderate Comments: Monitor and remove spammy user comments or forum posts.
    * CAPTCHA Verification: Implement CAPTCHA to prevent automated spam submissions.
D. Structured Data Guidelines
* Implement Structured Data Markup
    * Schema.org Markup: Use schema markup relevant to your content (e.g., events, dates).
    * Rich Snippets: Enhance your search listings with additional information like ratings or event dates.
* Follow Google's Structured Data Policies
    * Accuracy: Ensure the structured data accurately reflects your content.
    * No Manipulation: Do not use structured data to mislead users.
2. Google's Content Policies
Adhering to content policies is crucial to avoid penalties or removal from search results.
A. Prohibited Content
* Illegal or Regulated Content: Do not include content that is illegal or promotes illegal activities.
* Violent or Harassing Content: Avoid content that incites violence or harasses individuals or groups.
* Hate Speech: Do not publish content that promotes hatred against protected groups.
* Adult Content: If including adult content, ensure it complies with Google’s policies and is appropriately labeled.
B. User Safety
* Malware and Hacking Content
    * Secure Site: Regularly scan for malware and vulnerabilities.
    * No Malicious Downloads: Do not host or link to harmful software.
* Privacy and Personal Data
    * Data Protection: Securely handle user data, complying with relevant privacy laws.
    * Transparent Policies: Provide clear privacy and cookie policies.
3. SEO Best Practices
Implementing SEO best practices will enhance your website's visibility and ranking.
A. Keyword Strategy
* Long-Tail Keywords
    * Specific Phrases: Target longer, more specific keywords (e.g., "party age calculator" or "how to celebrate milestone birthdays").
* User Intent
    * Understand Queries: Create content that matches what users are searching for.
B. Content Marketing
* Regularly Update Content
    * Blog Posts: Write articles related to parties, age milestones, and celebration ideas.
    * Freshness: Keep information current to encourage return visits.
* Visual Content
    * Images and Videos: Use high-quality visuals to engage users.
    * Infographics: Create informative infographics that can be shared.
C. Link Building
* Earn Backlinks
    * Guest Posting: Contribute articles to reputable sites in your niche.
    * Content Worth Linking To: Create valuable resources that others want to link to.
* Internal Linking
    * Strategic Links: Link related pages within your site to improve navigation and SEO.
4. User Experience (UX)
Providing a great user experience keeps visitors on your site longer and reduces bounce rates.
A. Site Design
* Clean and Intuitive Layout
    * Easy Navigation: Ensure menus are clear and accessible.
    * Consistent Design: Use a consistent look and feel throughout the site.
* Readable Content
    * Typography: Use legible fonts and appropriate font sizes.
    * Contrast: Ensure sufficient contrast between text and background.
B. Interactive Elements
* Engagement Features
    * Comments: Allow users to leave feedback or comments.
    * Social Sharing Buttons: Enable easy sharing of your content on social media platforms.
* Fast Load Times
    * Optimize Media: Compress images and videos without sacrificing quality.
    * Minimal Plugins: Use only essential plugins to reduce bloat.
5. Mobile Optimization
With the majority of searches conducted on mobile devices, mobile optimization is critical.
A. Page Speed on Mobile
* Accelerated Mobile Pages (AMP)
    * Implement AMP: Consider using AMP to create fast-loading mobile pages.
* Optimize Images for Mobile
    * Responsive Images: Serve appropriately sized images for mobile devices.
B. Touch-Friendly Design
* Button Sizes
    * Easy Taps: Ensure buttons and links are large enough for users to tap without zooming.
* Avoid Pop-Ups
    * Interruption-Free Browsing: Limit the use of intrusive interstitials that can frustrate users.
6. Monitoring and Analytics
Regular monitoring helps you understand performance and identify areas for improvement.
A. Google Search Console
* Performance Reports
    * Track Rankings: Monitor which queries bring users to your site.
* Coverage Reports
    * Indexing Issues: Identify and fix pages not indexed by Google.
B. Google Analytics
* User Behavior
    * Bounce Rate: Understand which pages have high exit rates.
    * Session Duration: Measure how long users stay on your site.
* Traffic Sources
    * Referral Traffic: See which external sites send users to your site.
    * Organic Search: Monitor the effectiveness of your SEO efforts.
7. Legal and Ethical Considerations
Ensuring legal compliance protects your site and users.
A. Privacy Laws
* GDPR Compliance
    * Data Protection: For users in the EU, comply with the General Data Protection Regulation.
* CCPA Compliance
    * California Users: If applicable, comply with the California Consumer Privacy Act.
B. Accessibility
* Web Content Accessibility Guidelines (WCAG)
    * Inclusive Design: Make your site usable for people with disabilities.
    * Alt Text: Use for images to assist screen readers.
    * Keyboard Navigation: Ensure your site can be navigated using a keyboard.
8. Avoid Black Hat SEO Techniques
Using unethical SEO practices can lead to penalties or removal from search results.
* No Hidden Text or Links
    * Transparency: Ensure all content is visible to users.
* Avoid Automated Queries
    * Manual Efforts: Do not use software to send automated queries to Google.
* No Doorway Pages
    * Genuine Content: Avoid creating multiple pages with similar content targeting specific keywords.
9. Social Media Integration
While social signals aren't direct ranking factors, they can increase your content's visibility.
* Create Social Media Profiles
    * Brand Presence: Establish profiles on platforms relevant to your audience.
* Share Content Regularly
    * Engagement: Post updates, interact with followers, and share valuable content.
10. Continuous Improvement
SEO and compliance are ongoing processes.
* Stay Updated with Algorithm Changes
    * Industry News: Follow reputable SEO blogs and Google's official announcements.
* Regular Audits
    * SEO Audit: Periodically review your site to ensure ongoing compliance and performance.
* User Feedback
    * Surveys and Feedback Forms: Encourage users to provide feedback to identify areas for improvement.

By implementing these guidelines, you will:
* Enhance User Experience: Users will find your site more valuable and easier to navigate.
* Improve Search Rankings: Compliance with Google's terms increases your chances of ranking higher.
* Protect Your Site: Avoid penalties that could harm your site's visibility.
Next Steps:
1. Conduct a Site Audit: Review your current website against these guidelines to identify gaps.
2. Develop an Action Plan: Prioritize tasks based on impact and ease of implementation.
3. Implement Changes: Make the necessary updates to your site's code, content, and design.
4. Monitor Results: Use analytics tools to track improvements in traffic and rankings.
5. Review Regularly: Schedule periodic reviews to maintain compliance and adapt to changes.
Additional Resources:
* Google Webmaster Guidelines
* SEO Starter Guide by Google
* Google Search Console
* Mobile-Friendly Test Tool

By carefully following these steps and maintaining a focus on providing value to your users, you'll align your website with Google's terms and improve its visibility in search results.

my website :
index.html :
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Age Calculator</title>
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <!-- Google Fonts -->
    <link href="https://fonts.googleapis.com/css?family=Roboto:400,500&display=swap" rel="stylesheet">
    <!-- Icon Library -->
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0/css/all.min.css">
    <!-- CSS File -->
    <link rel="stylesheet" href="styles.css">
</head>
<body>
    <div class="page-wrapper">
        <!-- Left Sidebar (Desktop Only) -->
        <aside class="sidebar left-sidebar">
            <!-- Left Side Ad -->
            <script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-9588152802035920"
                 crossorigin="anonymous"></script>
            <!-- left -->
            <ins class="adsbygoogle"
                 style="display:block"
                 data-ad-client="ca-pub-9588152802035920"
                 data-ad-slot="2963917798"
                 data-ad-format="auto"
                 data-full-width-responsive="true"></ins>
            <script>
                 (adsbygoogle = window.adsbygoogle || []).push({});
            </script>
        </aside>

        <!-- Main Content -->
        <div class="main-content">
            <!-- Header Section -->
            <header>
                <h1><i class="fas fa-birthday-cake"></i> Age Calculator</h1>
            </header>

            <!-- Ad Under Header -->
            <section class="ad-section">
                <script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-9588152802035920"
                     crossorigin="anonymous"></script>
                <ins class="adsbygoogle"
                     style="display:block"
                     data-ad-format="fluid"
                     data-ad-layout-key="-fb+5w+4e-db+86"
                     data-ad-client="ca-pub-9588152802035920"
                     data-ad-slot="2974057478"></ins>
                <script>
                     (adsbygoogle = window.adsbygoogle || []).push({});
                </script>
            </section>

            <!-- Main Content -->
            <main>
                <!-- Calculator Section -->
                <section class="calculator">
                    <h2>Discover More About Your Age</h2>
                    <form id="dob-form">
                        <div class="input-group">
                            <label for="year">Year</label>
                            <input type="number" id="year" name="year" min="1900" max="2100" placeholder="YYYY" required>
                        </div>
                        <div class="input-group">
                            <label for="month">Month</label>
                            <input type="number" id="month" name="month" min="1" max="12" placeholder="MM" required>
                        </div>
                        <div class="input-group">
                            <label for="day">Day</label>
                            <input type="number" id="day" name="day" min="1" max="31" placeholder="DD" required>
                        </div>
                        <button type="submit" class="calculate-btn">Calculate <i class="fas fa-calculator"></i></button>
                    </form>
                </section>

                <!-- Ad Under Calculator -->
                <section class="ad-section">
                    <script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-9588152802035920"
                         crossorigin="anonymous"></script>
                    <!-- mid mid -->
                    <ins class="adsbygoogle"
                         style="display:block"
                         data-ad-client="ca-pub-9588152802035920"
                         data-ad-slot="8818879702"
                         data-ad-format="auto"
                         data-full-width-responsive="true"></ins>
                    <script>
                         (adsbygoogle = window.adsbygoogle || []).push({});
                    </script>
                </section>

                <!-- Results Section -->
                <section id="results" class="results" style="display:none;">
                    <!-- Age Breakdown -->
                    <div class="result-group">
                        <h3>Your Age Breakdown</h3>
                        <div class="result-card">
                            <i class="fas fa-hourglass-start"></i>
                            <p id="age-ymd"></p>
                        </div>
                        <div class="result-card">
                            <i class="fas fa-clock"></i>
                            <p id="age-total"></p>
                        </div>
                    </div>

                    <!-- Interesting Facts -->
                    <div class="result-group">
                        <h3>Interesting Facts</h3>
                        <div class="result-card">
                            <i class="fas fa-star"></i>
                            <p id="zodiac-sign"></p>
                        </div>
                        <div class="result-card">
                            <i class="fas fa-calendar-day"></i>
                            <p id="day-of-week"></p>
                        </div>
                        <div class="result-card">
                            <i class="fas fa-leaf"></i>
                            <p id="season"></p>
                        </div>
                    </div>

                    <!-- Ad Between Sections -->
                    <section class="ad-section">
                        <script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-9588152802035920"
                             crossorigin="anonymous"></script>
                        <ins class="adsbygoogle"
                             style="display:block"
                             data-ad-format="autorelaxed"
                             data-ad-client="ca-pub-9588152802035920"
                             data-ad-slot="8338128438"></ins>
                        <script>
                             (adsbygoogle = window.adsbygoogle || []).push({});
                        </script>
                    </section>

                    <!-- Countdown to Next Birthday -->
                    <div class="result-group">
                        <h3>Countdown to Your Next Birthday</h3>
                        <div class="result-card">
                            <i class="fas fa-bell"></i>
                            <p id="next-birthday"></p>
                        </div>
                        <div class="result-card">
                            <i class="fas fa-calendar-alt"></i>
                            <p id="next-birthday-day"></p>
                        </div>
                    </div>
                </section>

                <!-- Ad at the End -->
                <section class="ad-section">
                    <script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-9588152802035920"
                         crossorigin="anonymous"></script>
                    <!-- اخر شي -->
                    <ins class="adsbygoogle"
                         style="display:block"
                         data-ad-client="ca-pub-9588152802035920"
                         data-ad-slot="4039727139"
                         data-ad-format="auto"
                         data-full-width-responsive="true"></ins>
                    <script>
                         (adsbygoogle = window.adsbygoogle || []).push({});
                    </script>
                </section>
            </main>

            <!-- Footer Section -->
            <footer>
                <p>&copy; <span id="current-year"></span> Age Calculator</p>
            </footer>
        </div>

        <!-- Right Sidebar (Desktop Only) -->
        <aside class="sidebar right-sidebar">
            <!-- Right Side Ad -->
            <script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-9588152802035920"
                 crossorigin="anonymous"></script>
            <ins class="adsbygoogle"
                 style="display:block"
                 data-ad-format="autorelaxed"
                 data-ad-client="ca-pub-9588152802035920"
                 data-ad-slot="6270368299"></ins>
            <script>
                 (adsbygoogle = window.adsbygoogle || []).push({});
            </script>
        </aside>
    </div>

    <!-- JavaScript File -->
    <script src="script.js"></script>
</body>
</html>

styles.css :
/* Import Google Font */
@import url('https://fonts.googleapis.com/css?family=Roboto:400,500&display=swap');

/* General Styles */
body {
    margin: 0;
    font-family: 'Roboto', sans-serif;
    background-color: #f0f4f8;
    color: #333;
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

/* Page Wrapper */
.page-wrapper {
    display: flex;
    flex: 1;
}

/* Sidebar Styles */
.sidebar {
    display: none; /* Hide sidebars by default */
    background-color: #f0f4f8;
    padding: 1em;
}

@media (min-width: 992px) {
    .sidebar {
        display: block;
        width: 200px;
    }
    .left-sidebar {
        order: -1;
    }
    .main-content {
        flex: 1;
    }
}

/* Main Content */
.main-content {
    flex: 1;
    display: flex;
    flex-direction: column;
}

/* Header */
header {
    background-color: #2a9d8f;
    color: white;
    padding: 1.5em 0;
    text-align: center;
}

header h1 {
    margin: 0;
    font-size: 2em;
}

/* Ad Section */
.ad-section {
    width: 100%;
    max-width: 800px;
    margin: 1em auto;
    text-align: center;
}

/* Main */
main {
    flex: 1;
    padding: 2em 1em;
    display: flex;
    flex-direction: column;
    align-items: center;
}

/* Calculator Section */
.calculator {
    background-color: white;
    padding: 2em;
    margin-bottom: 2em;
    width: 100%;
    max-width: 600px;
    border-radius: 8px;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}

.calculator h2 {
    margin-top: 0;
    color: #264653;
}

.input-group {
    display: flex;
    flex-direction: column;
    margin-bottom: 1.5em;
}

.input-group label {
    margin-bottom: 0.5em;
    font-weight: 500;
}

.input-group input {
    padding: 0.75em;
    font-size: 1em;
    border: 1px solid #ccc;
    border-radius: 4px;
}

.calculate-btn {
    padding: 0.75em 1.5em;
    font-size: 1em;
    background-color: #e76f51;
    color: white;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    transition: background-color 0.3s ease;
}

.calculate-btn:hover {
    background-color: #d65a3b;
}

/* Results Section */
.results {
    width: 100%;
    max-width: 800px;
}

.result-group {
    margin-bottom: 2em;
}

.result-group h3 {
    color: #264653;
    margin-bottom: 1em;
}

.result-card {
    background-color: white;
    padding: 1em;
    margin-bottom: 1em;
    display: flex;
    align-items: center;
    border-radius: 8px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.result-card i {
    font-size: 2em;
    color: #2a9d8f;
    margin-right: 1em;
}

.result-card p {
    margin: 0;
    font-size: 1.2em;
}

/* Footer */
footer {
    background-color: #264653;
    color: white;
    padding: 1em 0;
    text-align: center;
}

/* Responsive Design */
@media (max-width: 600px) {
    .calculator, .results, .ad-section {
        padding: 1em;
    }

    .result-card {
        flex-direction: column;
        align-items: flex-start;
    }

    .result-card i {
        margin-bottom: 0.5em;
    }
}

script.js :
document.getElementById('current-year').innerText = new Date().getFullYear();

document.getElementById('dob-form').addEventListener('submit', function(event) {
    event.preventDefault();

    // Get user input
    const yearInput = document.getElementById('year');
    const monthInput = document.getElementById('month');
    const dayInput = document.getElementById('day');

    const year = parseInt(yearInput.value);
    const month = parseInt(monthInput.value) - 1; // Months are zero-indexed
    const day = parseInt(dayInput.value);

    const dob = new Date(year, month, day);
    const now = new Date();

    // Input validation
    if (dob > now) {
        alert('Date of birth cannot be in the future.');
        return;
    }

    if (isNaN(dob.getTime())) {
        alert('Invalid date. Please check your input.');
        return;
    }

    // Calculate age components
    calculateAge(dob, now);
});

function calculateAge(dob, now) {
    // Age in years, months, days
    let ageYears = now.getFullYear() - dob.getFullYear();
    let ageMonths = now.getMonth() - dob.getMonth();
    let ageDays = now.getDate() - dob.getDate();

    if (ageDays < 0) {
        ageMonths--;
        ageDays += new Date(now.getFullYear(), now.getMonth(), 0).getDate();
    }

    if (ageMonths < 0) {
        ageYears--;
        ageMonths += 12;
    }

    document.getElementById('age-ymd').innerText = `You are ${ageYears} years, ${ageMonths} months, and ${ageDays} days old.`;

    // Age in smaller units
    const totalDays = Math.floor((now - dob) / (1000 * 60 * 60 * 24));
    const totalWeeks = Math.floor(totalDays / 7);
    const totalMonths = (ageYears * 12) + ageMonths;

    document.getElementById('age-total').innerText = `
        That's approximately ${totalMonths} months, ${totalWeeks} weeks, or ${totalDays} days.
    `;

    // Astrological Sign
    const zodiacSign = getZodiacSign(dob.getDate(), dob.getMonth() + 1);
    document.getElementById('zodiac-sign').innerText = `Your astrological sign is ${zodiacSign}.`;

    // Day of the Week Born
    const daysOfWeek = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'];
    const dayOfWeekBorn = daysOfWeek[dob.getDay()];
    document.getElementById('day-of-week').innerText = `You were born on a ${dayOfWeekBorn}.`;

    // Season Born
    const season = getSeason(dob);
    document.getElementById('season').innerText = `You were born in ${season}.`;

    // Next Birthday Countdown
    let nextBirthday = new Date(now.getFullYear(), dob.getMonth(), dob.getDate());
    if (now > nextBirthday) {
        nextBirthday.setFullYear(now.getFullYear() + 1);
    }

    const oneDay = 1000 * 60 * 60 * 24;
    const daysUntilBirthday = Math.ceil((nextBirthday - now) / oneDay);

    const nextBirthdayDay = daysOfWeek[nextBirthday.getDay()];
    document.getElementById('next-birthday').innerText = `Only ${daysUntilBirthday} days left until your next birthday!`;
    document.getElementById('next-birthday-day').innerText = `It will be on a ${nextBirthdayDay}.`;

    // Show results
    document.getElementById('results').style.display = 'block';

    // Scroll to results
    document.getElementById('results').scrollIntoView({ behavior: 'smooth' });
}

// Function to determine zodiac sign
function getZodiacSign(day, month) {
    const zodiacSigns = [
        { sign: 'Capricorn', startDate: new Date(0, 0, 1), endDate: new Date(0, 0, 19) },
        { sign: 'Aquarius', startDate: new Date(0, 0, 20), endDate: new Date(0, 1, 18) },
        { sign: 'Pisces', startDate: new Date(0, 1, 19), endDate: new Date(0, 2, 20) },
        { sign: 'Aries', startDate: new Date(0, 2, 21), endDate: new Date(0, 3, 19) },
        { sign: 'Taurus', startDate: new Date(0, 3, 20), endDate: new Date(0, 4, 20) },
        { sign: 'Gemini', startDate: new Date(0, 4, 21), endDate: new Date(0, 5, 20) },
        { sign: 'Cancer', startDate: new Date(0, 5, 21), endDate: new Date(0, 6, 22) },
        { sign: 'Leo', startDate: new Date(0, 6, 23), endDate: new Date(0, 7, 22) },
        { sign: 'Virgo', startDate: new Date(0, 7, 23), endDate: new Date(0, 8, 22) },
        { sign: 'Libra', startDate: new Date(0, 8, 23), endDate: new Date(0, 9, 22) },
        { sign: 'Scorpio', startDate: new Date(0, 9, 23), endDate: new Date(0, 10, 21) },
        { sign: 'Sagittarius', startDate: new Date(0, 10, 22), endDate: new Date(0, 11, 21) },
        { sign: 'Capricorn', startDate: new Date(0, 11, 22), endDate: new Date(0, 11, 31) }
    ];

    const birthDate = new Date(0, month - 1, day);

    for (const zodiac of zodiacSigns) {
        if (birthDate >= zodiac.startDate && birthDate <= zodiac.endDate) {
            return zodiac.sign;
        }
    }
}

// Function to determine season
function getSeason(date) {
    const month = date.getMonth();
    const day = date.getDate();

    if ((month == 11 && day >= 21) || (month <= 1 && day <= 19)) {
        return 'Winter';
    } else if ((month == 2 && day >= 20) || (month <= 4 && day <= 20)) {
        return 'Spring';
    } else if ((month == 5 && day >= 21) || (month <= 7 && day <= 22)) {
        return 'Summer';
    } else {
        return 'Autumn';
    }
}