============================================================ */ (function () { "use strict"; function init() { var root = document.querySelector(".tl-commercial"); if (!root) return; /* ---------- AUTO-DETECT WP HEADER HEIGHT ---------- */ var wpHeader = document.querySelector("header") || document.querySelector("#masthead") || document.querySelector(".site-header") || document.querySelector("[class*='header']"); if (wpHeader) { var headerH = wpHeader.offsetHeight || 0; if (headerH > 0) { root.style.setProperty("--tlc-wp-header-height", headerH + "px"); } } /* ---------- HERO CAROUSEL ---------- */ var heroCarousel = document.getElementById("tlc-hero-carousel"); var heroSlides = heroCarousel ? heroCarousel.querySelectorAll(".tlc-hero-slide") : []; var heroDotsWrap = document.getElementById("tlc-hero-dots"); var heroIndex = 0; var heroTimer = null; var videoPlaying = false; function buildDots(container, count, clickFn) { container.innerHTML = ""; for (var i = 0; i < count; i++) { var btn = document.createElement("button"); btn.className = "tlc-dot-btn" + (i === 0 ? " active" : ""); btn.setAttribute("aria-label", "Slide " + (i + 1)); (function (idx) { btn.addEventListener("click", function (e) { e.stopPropagation(); clickFn(idx); }); })(i); container.appendChild(btn); } } function showHeroSlide(idx) { heroIndex = idx; heroSlides.forEach(function (s, i) { s.classList.toggle("active", i === idx); }); var dots = heroDotsWrap.querySelectorAll(".tlc-dot-btn"); dots.forEach(function (d, i) { d.classList.toggle("active", i === idx); }); var hint = heroCarousel.querySelector(".tlc-carousel-hint"); if (hint) hint.style.display = heroSlides[idx].dataset.type === "video" ? "none" : ""; if (heroSlides[idx].dataset.type !== "video") stopHeroVideo(); } function nextHero() { showHeroSlide((heroIndex + 1) % heroSlides.length); } function prevHero() { showHeroSlide((heroIndex - 1 + heroSlides.length) % heroSlides.length); } function startHeroTimer() { stopHeroTimer(); heroTimer = setInterval(function () { if (!videoPlaying && heroSlides[heroIndex].dataset.type !== "video") nextHero(); }, 3000); } function stopHeroTimer() { if (heroTimer) { clearInterval(heroTimer); heroTimer = null; } } function stopHeroVideo() { videoPlaying = false; var videoSlide = heroSlides[0]; if (!videoSlide) return; var iframeWrap = videoSlide.querySelector(".tlc-hero-video-iframe"); var thumb = videoSlide.querySelector(".tlc-video-thumb-wrap"); if (iframeWrap) { iframeWrap.style.display = "none"; var iframe = iframeWrap.querySelector("iframe"); if (iframe) { iframe.src = ""; } } if (thumb) thumb.style.display = ""; } if (heroCarousel && heroSlides.length) { buildDots(heroDotsWrap, heroSlides.length, showHeroSlide); var playBtn = document.getElementById("tlc-hero-play"); if (playBtn) { playBtn.addEventListener("click", function (e) { e.stopPropagation(); videoPlaying = true; stopHeroTimer(); var videoSlide = heroSlides[0]; var iframeWrap = videoSlide.querySelector(".tlc-hero-video-iframe"); var thumb = videoSlide.querySelector(".tlc-video-thumb-wrap"); if (thumb) thumb.style.display = "none"; if (iframeWrap) { iframeWrap.style.display = ""; var iframe = iframeWrap.querySelector("iframe"); if (iframe && iframe.dataset.src) { iframe.src = iframe.dataset.src; } } }); } heroCarousel.addEventListener("click", function () { if (videoPlaying) return; openLightbox("hero", heroIndex); }); startHeroTimer(); } /* ---------- LIGHTBOX (shared) ---------- */ function openLightbox(type, startIdx) { var lb, contentEl, dotsEl, counterEl, items; if (type === "hero") { lb = document.getElementById("tlc-hero-lightbox"); contentEl = document.getElementById("tlc-hero-lb-content"); dotsEl = document.getElementById("tlc-hero-lb-dots"); counterEl = document.getElementById("tlc-hero-lb-counter"); items = []; heroSlides.forEach(function (s) { if (s.dataset.type === "video") { var iframe = s.querySelector("iframe"); if (iframe) items.push({ type: "iframe", src: iframe.dataset.src || iframe.src }); } else { var img = s.querySelector("img"); if (img) items.push({ type: "image", src: img.src, alt: img.alt || "" }); } }); } else { lb = document.getElementById("tlc-gallery-lightbox"); contentEl = document.getElementById("tlc-gallery-lb-content"); dotsEl = document.getElementById("tlc-gallery-lb-dots"); counterEl = document.getElementById("tlc-gallery-lb-counter"); var galleryItemEls = document.querySelectorAll("#tlc-gallery-grid .tlc-gallery-item"); items = []; galleryItemEls.forEach(function (el) { if (el.dataset.type === "video") { items.push({ type: "iframe", src: el.dataset.src }); } else { var img = el.querySelector("img"); if (img) items.push({ type: "image", src: img.src, alt: img.alt || "" }); } }); } if (!items.length) return; var currentIdx = startIdx || 0; lb.classList.add("open"); document.body.style.overflow = "hidden"; function render() { var item = items[currentIdx]; if (item.type === "video" || item.type === "iframe") { contentEl.innerHTML = '
'; } else { contentEl.innerHTML = '' + (item.alt || '; } counterEl.textContent = (currentIdx + 1) + " / " + items.length; var dots = dotsEl.querySelectorAll(".tlc-dot-btn"); dots.forEach(function (d, i) { d.classList.toggle("active", i === currentIdx); }); } buildDots(dotsEl, items.length, function (i) { currentIdx = i; render(); }); render(); function next() { currentIdx = (currentIdx + 1) % items.length; render(); } function prev() { currentIdx = (currentIdx - 1 + items.length) % items.length; render(); } function close() { lb.classList.remove("open"); document.body.style.overflow = ""; contentEl.innerHTML = ""; document.removeEventListener("keydown", keyHandler); } lb.querySelector(".tlc-lb-close").onclick = close; lb.querySelector(".tlc-lb-prev").onclick = function (e) { e.stopPropagation(); prev(); }; lb.querySelector(".tlc-lb-next").onclick = function (e) { e.stopPropagation(); next(); }; lb.onclick = function (e) { if (e.target === lb) close(); }; contentEl.onclick = function (e) { e.stopPropagation(); }; function keyHandler(e) { if (e.key === "Escape") close(); if (e.key === "ArrowRight") next(); if (e.key === "ArrowLeft") prev(); } document.addEventListener("keydown", keyHandler); } /* ---------- GALLERY LIGHTBOX ---------- */ var galleryItemEls = document.querySelectorAll("#tlc-gallery-grid .tlc-gallery-item"); galleryItemEls.forEach(function (el, i) { el.addEventListener("click", function () { openLightbox("gallery", i); }); }); /* ---------- FAQ ACCORDION ---------- */ var faqItems = document.querySelectorAll("#tlc-faq-list .tlc-faq-item"); faqItems.forEach(function (item) { var trigger = item.querySelector(".tlc-faq-trigger"); trigger.addEventListener("click", function () { var isOpen = item.classList.contains("open"); faqItems.forEach(function (f) { f.classList.remove("open"); }); if (!isOpen) item.classList.add("open"); }); }); /* ---------- JUMP LINKS SMOOTH SCROLL ---------- */ var jumpLinksEls = document.querySelectorAll(".tl-commercial .tlc-jump-link"); jumpLinksEls.forEach(function (link) { link.addEventListener("click", function (e) { e.preventDefault(); var target = document.querySelector(link.getAttribute("href")); if (target) { var jumpBar = document.querySelector(".tl-commercial .tlc-jump-links"); var wpH = wpHeader ? wpHeader.offsetHeight : 0; var jumpH = jumpBar ? jumpBar.offsetHeight : 50; var top = target.getBoundingClientRect().top + window.pageYOffset - wpH - jumpH; window.scrollTo({ top: top, behavior: "smooth" }); } }); }); } /* Run init when DOM is ready */ if (document.readyState === "loading") { document.addEventListener("DOMContentLoaded", init); } else { init(); } })();

Commercial Trimlights for Businesses in Chicagoland

Permanent, programmable exterior lighting that helps your building stand out after dark. Brand colors, promos, holidays, and nightly security scenes.

  • A clean, low-profile look during the day
  • Set schedules for closing time, holidays, and special events
  • One install, year-round control
Programmable Scenes + Scheduling
Professional, Low-Profile Trim Look
Weatherproof + Energy Efficient LEDs
Support & Service

Built for Businesses Like Yours

Restaurants & Bars

Restaurants & Bars

Warm ambiance, patio accent lighting, and seasonal promos that draw diners in after dark.

Retail Storefronts

Retail Storefronts

Draw attention to your facade, run holiday displays, and match your brand colors year-round.

Auto Dealerships

Auto Dealerships

Lot visibility, event lighting for sales, and bold brand identity that stands out on busy roads.

Office Buildings

Office Buildings

Professional presence, nightly security scenes, and tasteful seasonal touches for tenants.

Shopping Centers

Shopping Centers / Strip Malls

Unified facade lighting, tenant-friendly scheduling, and holiday scenes across the property.

HOAs / Multi-Family

HOAs / Multi-Family / Property Managers

Consistent community lighting, seasonal events, and simplified management across buildings.

Ask about consistent lighting scenes across multiple properties.

Why Exterior Lighting Impacts Customer Confidence

A well-lit building signals that you're open, active, and welcoming. After dark, lighting is often the first thing a customer notices. It can improve visibility, perceived safety, and brand presence, which may influence customer confidence and foot traffic.

Beyond aesthetics, exterior lighting helps with navigation and wayfinding, guiding customers to entrances, parking, and signage. Your building communicates even when you're closed, and consistent, professional lighting reinforces that your business is established and trustworthy.

How Commercial Trimlights Work

Low-profile trim design

Low-profile trim design

Mounts directly to your building's trim line, barely visible during the day, stunning at night.

Custom colors + patterns

Custom colors + patterns

Match your brand colors exactly, create animated patterns, or run simple elegant accents.

Scheduling + timers

Scheduling + timers

Automate nightly security lighting, holiday scenes, and event-specific displays with built-in scheduling.

Control from anywhere

Control from anywhere

App-based control lets managers and owners change scenes, adjust schedules, and monitor status remotely.

Popular Commercial Scenes

  • Brand colors
  • Warm-white nightly accent
  • Bright-white security scene after hours
  • Holiday mode
  • Event / game day mode

What Impacts the Cost?

Building linear footage and roofline complexity
Height and access requirements
Zone control needs
Power and control placement
Single building vs multi-property scheduling
We'll give you a clear on-site estimate, no surprises.

Our Commercial Installation Process

1

Free Commercial Quote + Goals

We'll discuss your building, brand objectives, and how you want to use your lighting year-round.

2

Site Walk + Measurements

Our team visits your property to measure, assess access, and plan the layout for optimal coverage.

3

Proposal + Scheduling Plan

You'll receive a clear proposal with pricing, zone plan, and a recommended scene schedule.

4

Install + Test Scenes

Professional installation followed by full scene testing, including brand colors, security, and seasonal presets.

5

Walkthrough + App Control

We walk you through the app so you can manage scenes, schedules, and zones from anywhere.

Commercial Trimlights FAQs

Trimlights are designed with a low-profile trim channel that blends into your building's roofline and fascia. During the day, the system is barely noticeable, no bulky fixtures or hanging wires.

Yes. Trimlights offer millions of color options, so matching your exact brand palette is straightforward. You can set static brand colors, animated patterns, or alternate between scenes.

Absolutely. Most commercial clients set a bright-white security scene to run automatically after business hours. You can schedule it to turn on and off at specific times every night.

Yes, switching scenes takes seconds from the app. Many businesses run holiday scenes in December, event-specific colors for promotions, and return to brand colors for everyday use.

Yes. The app supports managing multiple properties from a single account, making it easy for franchise owners, property managers, and multi-location businesses to keep lighting consistent.

Most single-building commercial installations take 1–3 days depending on building size and complexity. Multi-building projects are scheduled in phases. We'll give you a clear timeline during the proposal.

Very little. LEDs are long-lasting and the trim channel protects the lights from weather. If a section needs attention, our team handles service calls so your lighting stays consistent.

Yes. Trimlights use energy-efficient LEDs that consume significantly less power than traditional commercial lighting. Combined with scheduling, you only run lights when you need them.

Individual LEDs can be replaced without removing the entire system. Our service team can diagnose and repair sections quickly to keep your building looking its best.

Lighting regulations vary by municipality and commercial zoning. During your consultation, we'll discuss what's typical for your area and help you plan accordingly. We recommend checking with your local municipality for specifics.

Yes, we offer financing options to help make commercial lighting projects more accessible. Ask about current plans and terms during your consultation.

Serving Chicagoland Businesses

Chicagoland commercial trimlight service area map

Cities We Serve

Arlington Heights, ILBolingbrook, ILBurr Ridge, ILChicago, IL Crystal Lake, ILDowners Grove, ILElmhurst, ILFrankfort, IL Glenview, ILHawthorne Woods, ILHinsdale, ILLemont, IL Naperville, ILNew Lenox, ILOrland Park, ILPlainfield, IL St. Charles, ILWestern Springs, ILWestchester, ILWheaton, IL …and more!

Counties

Cook · DuPage · Grundy · Kane · Kendall · Lake · McHenry · Porter · Will

Get a Free Commercial Quote

Not sure if you're in our service area? Call us at (630) 523-8700.

Make Your Building Stand Out Tonight

Get a free commercial quote and a simple lighting plan you can control year-round.

Call us at (630) 523-8700 or schedule online.