3M™ Dichroic Glass Finishes

glass kaleidoscope

Gladstone Hotel

A Giant Kaleidoscope

Project Overview:
INPS Graphics and 3M Canada partnered with Toronto’s Safoura Zahedi on a project called ‘CONNECT”, which is part of the Gladstone Hotel’s yearly immersive group exhibition, Come Up to My Room.

3M Canada provided the Dichroic Film, and INPS installed the film in this Toronto boutique art hotel. Safoura also required signage explaining her exhibit which explored geometry and three-dimensional spatial experiences. 

Challenge:
There were tight timelines and a need for removability. INPS easily overcame both. Safoura required an installation in a two week time frame, and INPS met this requirement. INPS Printed the signage on a removable vinyl material to make it easy to remove when the exhibit was completed. 

Solution:
Our 3M Preferred GTA installer arrived on site and installed the 3M Dichroic Film on all 12 windows of the historic hotel. The 3M Dichroic Film changes colour when viewed from different angles and the transmitted colours are different from the reflective colours. The removable vinyl sign was applied at the same time. 

Project Details: Location: Gladstone Hotel, Toronto, Ontario

Scope of Project:

  • Installation
  • Digitally Printing
  • 3M Film Convert
  • 3M Dichroic Film 
glastone hotel 1
kaleidoscope viewing
Gladstone Hotel Window with Dichroic Film
document.addEventListener("DOMContentLoaded", () => { // Only run on touch-style devices (phones/tablets) const isTouch = window.matchMedia("(hover: none), (pointer: coarse)").matches; if (!isTouch) return; // Optional: narrow scope to your header if you want. // Example: const scope = document.querySelector("header"); const scope = document; // Common WordPress/Elementor submenu patterns const parentSelector = "li.menu-item-has-children > a, li.menu-item-has-children > .elementor-item"; // Close all open submenus inside scope const closeAll = () => { scope.querySelectorAll("li.menu-item-has-children.is-open").forEach((li) => { li.classList.remove("is-open"); const a = li.querySelector(":scope > a, :scope > .elementor-item"); if (a) a.setAttribute("aria-expanded", "false"); }); }; // Click/tap outside closes document.addEventListener("click", (e) => { // If the click is outside the menu area, close if (!e.target.closest(".elementor-nav-menu, .elementor-location-header, header")) { closeAll(); } }); // Make parent items toggle on first tap scope.querySelectorAll(parentSelector).forEach((link) => { link.addEventListener("click", (e) => { const li = e.currentTarget.closest("li.menu-item-has-children"); if (!li) return; const alreadyOpen = li.classList.contains("is-open"); // If submenu isn't open yet: open it and prevent navigation if (!alreadyOpen) { e.preventDefault(); e.stopPropagation(); // Close siblings/other open menus first (keeps things tidy) closeAll(); li.classList.add("is-open"); link.setAttribute("aria-expanded", "true"); return; } // If it's already open, allow the click to navigate normally (2nd tap) // (No preventDefault here) }); }); });