Weekday Countdown to Tax Deadline

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Tax Filing Countdown</title>
    <style>
        body {
            font-family: Arial, sans-serif;
            text-align: center;
            background-color: #f4f4f4;
            margin: 0;
            padding: 20px;
        }
        h1 {
            color: #333;
        }
        #countdown {
            font-size: 1.5em;
            color: #555;
            margin-top: 20px;
        }
        .weekdays {
            color: red;
            font-weight: bold;
        }

        /* Scrolling Text */
        .marquee-container {
            overflow: hidden;
            white-space: nowrap;
            width: 100%;
            background-color: #fff;
            padding: 20px 0;
            margin-top: 30px;
        }

        .marquee-text {
            font-size: 100px;
            font-weight: bold;
            display: inline-block;
            color: black;
            animation: scrollText 10s linear infinite;
        }

        @keyframes scrollText {
            from { transform: translateX(100%); }
            to { transform: translateX(-100%); }
        }

        /* Custom Colors */
        .yebbo { color: burgundy; }
        .tax { color: green; }
    </style>
</head>
<body>

    <h1>Weekday Countdown to Tax Filing Deadline</h1>
    <div id="countdown">Loading countdown...</div>

    <!-- Scrolling YEBBOTAX Section -->
    <div class="marquee-container">
        <marquee behavior="scroll" direction="left" scrollamount="10">
            <span class="marquee-text">
                To file your tax call <span class="yebbo">YEBBO</span><span class="tax">TAX</span> at 619-255-5530
            </span>
        </marquee>
    </div>

    <script>
        const usHolidays = new Set([
            "2024-01-01", "2024-01-15", "2024-02-19", "2024-05-27", "2024-07-04",
            "2024-09-02", "2024-10-14", "2024-11-11", "2024-11-28", "2024-12-25",
            "2025-01-01", "2025-01-20", "2025-02-17", "2025-05-26", "2025-07-04",
            "2025-09-01", "2025-10-13", "2025-11-11", "2025-11-27", "2025-12-25"
        ]);

        function isBusinessDay(date) {
            const day = date.getDay(); // 0 = Sunday, 6 = Saturday
            const dateStr = date.toISOString().split('T')[0]; // Convert to "YYYY-MM-DD"
            return day >= 1 && day <= 5 && !usHolidays.has(dateStr);
        }

        function countWeekdaysUntil(deadline) {
            let count = 0;
            let today = new Date();

            while (today <= deadline) {
                if (isBusinessDay(today)) count++;
                today.setDate(today.getDate() + 1);
            }

            return count;
        }

        function updateCountdown() {
            const deadline = new Date("April 15, 2025 23:59:59");
            const weekdaysLeft = countWeekdaysUntil(deadline);

            document.getElementById("countdown").innerHTML = weekdaysLeft > 0
                ? `You have <span class="weekdays">${weekdaysLeft}</span> weekdays (Mon-Fri, excluding holidays) left to file your tax.`
                : "The tax filing deadline has passed.";
        }

        updateCountdown();
        setInterval(updateCountdown, 3600000); // Update every hour
    </script>

</body>
</html>



Comments are Closed