”Let

Day(s)

:

Hour(s)

:

Minute(s)

:

Second(s)

”PRESENTED

.festival-countdown { padding: 40px 20px; text-align: center; position: relative; overflow: hidden; } .festival-countdown::before { content: ”; position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: radial-gradient(circle at 30% 20%, rgba(255,255,255,0.1) 0%, transparent 60%); pointer-events: none; } .festival-countdown-title { color: #FFFFFF; font-size: 48px; font-weight: 900; text-transform: uppercase; letter-spacing: 3px; margin-bottom: 30px; text-shadow: 3px 3px 6px rgba(0,0,0,0.3); line-height: 1.1; font-family: ‘Ribeye Marrow’,display; } .festival-countdown-timer { display: flex; justify-content: center; align-items: center; gap: 15px; flex-wrap: wrap; margin-bottom: 20px; } .festival-time-unit { background: #F5F5F5; border: 3px solid #FFFFFF; border-radius: 15px; width: 120px; height: 140px; display: flex; flex-direction: column; justify-content: center; align-items: center; box-shadow: 0 8px 16px rgba(0,0,0,0.3), inset 0 2px 4px rgba(255,255,255,0.8); position: relative; overflow: hidden; } .festival-time-unit::before { content: ”; position: absolute; top: 50%; left: 0; right: 0; height: 2px; background: #CCCCCC; z-index: 1; } .festival-time-number { font-size: 64px; font-weight: 900; color: #9c9c9c!important; line-height: 1; text-shadow: 2px 2px 4px rgba(0,0,0,0.1); z-index: 2; position: relative; } .festival-time-label { font-size: 16px; font-weight: 900; color: #FFFFFF; text-transform: uppercase; letter-spacing: 2px; margin-top: 15px; text-shadow: 2px 2px 4px rgba(0,0,0,0.5); } .festival-separator { color: #FFFFFF; font-size: 48px; font-weight: 900; margin: 0 5px; text-shadow: 2px 2px 4px rgba(0,0,0,0.3); } .festival-event-ended { color: #FFFFFF; font-size: 36px; font-weight: 900; text-transform: uppercase; letter-spacing: 2px; text-shadow: 3px 3px 6px rgba(0,0,0,0.5); padding: 40px; } @media (max-width: 768px) { .festival-countdown-title { font-size: 32px; letter-spacing: 2px; } .festival-time-unit { width: 80px; height: 100px; } .festival-time-number { font-size: 36px; } .festival-time-label { font-size: 12px; letter-spacing: 1px; } .festival-separator { font-size: 32px; } } @media (max-width: 480px) { .festival-countdown { padding: 20px 10px; } .festival-countdown-title { font-size: 24px; letter-spacing: 1px; margin-bottom: 20px; } .festival-time-unit { width: 60px; height: 80px; gap: 8px; } .festival-time-number { font-size: 28px; } .festival-time-label { font-size: 10px; margin-top: 10px; } .festival-separator { font-size: 24px; margin: 0 2px; } }

Let the Countdown Begin!
000
:
00
:
00
00
DAYS
HOURS
MINUTES
SECONDS

function updateFestivalCountdown() { // Target date: November 21, 2025 at 5:00 PM Central (23:00 UTC) const targetDate = new Date(‘2025-11-21T23:00:00Z’).getTime(); const now = new Date().getTime(); const difference = targetDate – now; // If the festival has started or ended if (difference document.getElementById(‘festival-countdown-display’).innerHTML = ‘

Festival is Live! 🎄✨

‘; return; } // Calculate time units const days = Math.floor(difference / (1000 * 60 * 60 * 24)); const hours = Math.floor((difference % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60)); const minutes = Math.floor((difference % (1000 * 60 * 60)) / (1000 * 60)); const seconds = Math.floor((difference % (1000 * 60)) / 1000); // Update the display with leading zeros const daysEl = document.getElementById(‘festival-days’); const hoursEl = document.getElementById(‘festival-hours’); const minutesEl = document.getElementById(‘festival-minutes’); const secondsEl = document.getElementById(‘festival-seconds’); if (daysEl) daysEl.textContent = days.toString().padStart(2, ‘0’); if (hoursEl) hoursEl.textContent = hours.toString().padStart(2, ‘0’); if (minutesEl) minutesEl.textContent = minutes.toString().padStart(2, ‘0’); if (secondsEl) secondsEl.textContent = seconds.toString().padStart(2, ‘0’); } // Initialize countdown when DOM is ready if (document.readyState === ‘loading’) { document.addEventListener(‘DOMContentLoaded’, function() { updateFestivalCountdown(); setInterval(updateFestivalCountdown, 1000); }); } else { updateFestivalCountdown(); setInterval(updateFestivalCountdown, 1000); }

”Come

”PRESENTED

.festival-countdown { padding: 40px 20px; text-align: center; position: relative; overflow: hidden; } .festival-countdown::before { content: ”; position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: radial-gradient(circle at 30% 20%, rgba(255,255,255,0.1) 0%, transparent 60%); pointer-events: none; } .festival-countdown-title { color: #FFFFFF; font-size: 48px; font-weight: 900; text-transform: uppercase; letter-spacing: 3px; margin-bottom: 30px; text-shadow: 3px 3px 6px rgba(0,0,0,0.3); line-height: 1.1; font-family: ‘Ribeye Marrow’,display; } .festival-countdown-timer { display: flex; justify-content: center; align-items: center; gap: 15px; flex-wrap: wrap; margin-bottom: 20px; } .festival-time-unit { background: #F5F5F5; border: 3px solid #FFFFFF; border-radius: 15px; width: 120px; height: 140px; display: flex; flex-direction: column; justify-content: center; align-items: center; box-shadow: 0 8px 16px rgba(0,0,0,0.3), inset 0 2px 4px rgba(255,255,255,0.8); position: relative; overflow: hidden; } .festival-time-unit::before { content: ”; position: absolute; top: 50%; left: 0; right: 0; height: 2px; background: #CCCCCC; z-index: 1; } .festival-time-number { font-size: 64px; font-weight: 900; color: #000000; line-height: 1; text-shadow: 2px 2px 4px rgba(0,0,0,0.1); z-index: 2; position: relative; } .festival-time-label { font-size: 16px; font-weight: 900; color: #FFFFFF; text-transform: uppercase; letter-spacing: 2px; margin-top: 15px; text-shadow: 2px 2px 4px rgba(0,0,0,0.5); } .festival-separator { color: #FFFFFF; font-size: 48px; font-weight: 900; margin: 0 5px; text-shadow: 2px 2px 4px rgba(0,0,0,0.3); } .festival-event-ended { color: #FFFFFF; font-size: 36px; font-weight: 900; text-transform: uppercase; letter-spacing: 2px; text-shadow: 3px 3px 6px rgba(0,0,0,0.5); padding: 40px; } @media (max-width: 768px) { .festival-countdown-title { font-size: 32px; letter-spacing: 2px; } .festival-time-unit { width: 80px; height: 100px; } .festival-time-number { font-size: 36px; } .festival-time-label { font-size: 12px; letter-spacing: 1px; } .festival-separator { font-size: 32px; } } @media (max-width: 480px) { .festival-countdown { padding: 20px 10px; } .festival-countdown-title { font-size: 24px; letter-spacing: 1px; margin-bottom: 20px; } .festival-time-unit { width: 60px; height: 80px; gap: 8px; } .festival-time-number { font-size: 28px; } .festival-time-label { font-size: 10px; margin-top: 10px; } .festival-separator { font-size: 24px; margin: 0 2px; } }

Let the Countdown Begin!
<!--
000
:
00
:
00
00
DAYS
HOURS
MINUTES
SECONDS
–>
function updateFestivalCountdown() { // Target date: November 21, 2025 at 5:00 PM Central (23:00 UTC) const targetDate = new Date(‘2026-11-20T23:00:00Z’).getTime(); const now = new Date().getTime(); const difference = targetDate – now; // If the festival has started or ended if (difference document.getElementById(‘festival-countdown-display’).innerHTML = ‘
Festival is Live! 🎄✨
‘; return; } // Calculate time units const days = Math.floor(difference / (1000 * 60 * 60 * 24)); const hours = Math.floor((difference % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60)); const minutes = Math.floor((difference % (1000 * 60 * 60)) / (1000 * 60)); const seconds = Math.floor((difference % (1000 * 60)) / 1000); // Update the display with leading zeros const daysEl = document.getElementById(‘festival-days’); const hoursEl = document.getElementById(‘festival-hours’); const minutesEl = document.getElementById(‘festival-minutes’); const secondsEl = document.getElementById(‘festival-seconds’); if (daysEl) daysEl.textContent = days.toString().padStart(2, ‘0’); if (hoursEl) hoursEl.textContent = hours.toString().padStart(2, ‘0’); if (minutesEl) minutesEl.textContent = minutes.toString().padStart(2, ‘0’); if (secondsEl) secondsEl.textContent = seconds.toString().padStart(2, ‘0’); } // Initialize countdown when DOM is ready if (document.readyState === ‘loading’) { document.addEventListener(‘DOMContentLoaded’, function() { updateFestivalCountdown(); setInterval(updateFestivalCountdown, 1000); }); } else { updateFestivalCountdown(); setInterval(updateFestivalCountdown, 1000); }

Day(s)

:

Hour(s)

:

Minute(s)

:

Second(s)

The Show Runs

November 20

Every Night of the Week!

. onlyfam

5:00-9:00 PM

Williamson County AG Expo Center
4215 Long Lane, Franklin TN, 37064

Celebrate the holidays with us at our nightly mile-and-a-half light spectacular, featuring more than 200 synchronized lights. Listen to holiday music on your car radio, take selfies by the stunning Christmas tree, make s’mores by the fire pits, and savor snacks from the food truck.

NEW THIS YEAR: FREE PHOTOS WITH SANTA!

Select

Wednesdays, 5-6:30 pm

Select

Wednesdays, 5-6:30 pm

Invite your friends and family to join you for a delightful stroll along the illuminated path, capture.

moments by the Christmas Tree, and enjoy s’mores by the cozy fire.

This unique experience is open for walkers Nov 26, and Dec 3, 10, 17 from 5:00-6:30PM.

The ticket price remains the same so load up the car! Feel free to bring your furry friends, as dogs on

leashes are welcome. The route opens to vehicles at 7:00PM on these special evenings.

Invite your friends and family to join you for a delightful stroll along the illuminated path, capture moments by the Christmas Tree, and enjoy s’mores by the cozy fire.

This unique experience is open for walkers Nov 26, and Dec 3, 10, 17 from 5:00-6:30PM.

The ticket price remains the same so load up the car! Feel free to bring your furry friends, as dogs onleashes are welcome.

The route opens to vehicles at 7:00PM on these special evenings.

All Proceeds Support the Work of

FrankTown Open Hearts is a nonprofit ministry in Franklin Tennessee, that spiritually, emotionally, and physically enhances the lives of at-risk youth through mentoring and equipping them with life skills, offering spiritual development and academic tutoring services. Through hands-on programming, the organization seeks to inspire confident, empowered young adults to lead fulfilled lives.

SPECIAL THANKS TO OUR SPONSORS

”Special

”Our

”special

src=”https://franktownsfestivaloflights.com/wp-content/uploads/2025/10/williamson_health_logo_full_color_horizontal.png” alt=”Williamson”> Street Menswear Irvin Solomon Ryan Homes WireMasters HCA Healthcare Kroger Jones Columbia Concrete Beasleys Yard Mikeys Motors Pollock Printing News Channel 2 NC5 Your Williamson Mix Radio Williamson Herald Exposure
.logo-list img { display: block; width: 200px; height: auto; margin: 0 auto 20px auto; }

All Proceeds Support the Work of FrankTown Open Hearts.

All Proceeds Support the Work of FrankTown Open Hearts.

© 2025 Franktown Festival of Lights, All Rights Reserved
Site Design by MP Consulting

1Win

пинко казино

spelautomater utan svensk licens

пинко казио

пинко казио

пинко казино

пинко казио

Пинко казино

1win