<!-- ========================================
     TURTLE ISLAND SUPPLY - HEADER CODE
     For Zoho Commerce Header Code Injection
     Paste this entire file into: Settings → Code → Header Code
     ======================================== -->

<!-- ========================================
     SEO META TAGS - Critical for Search & Social
     ======================================== -->

<!-- Essential Meta Tags -->
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">

<!-- Primary SEO Meta Tags -->
<meta name="title" content="Turtle Island Supply | CCIB Certified Indigenous Supplier">
<meta name="description" content="100% Indigenous-owned industrial supplier. PPE, safety equipment, tools & workwear. CCIB certified. 4-hour quote turnaround. Serving government, mining, construction across Canada.">
<meta name="keywords" content="Indigenous supplier Canada, CCIB certified, Aboriginal procurement, industrial supplies, PPE, safety equipment, government procurement, First Nations business">
<meta name="robots" content="index, follow">
<meta name="language" content="English">
<meta name="author" content="Turtle Island Supply">

<!-- Canonical URL -->
<link rel="canonical" href="https://www.turtleislandsupply.com/">

<!-- Open Graph / Facebook / LinkedIn -->
<meta property="og:type" content="website">
<meta property="og:url" content="https://www.turtleislandsupply.com/">
<meta property="og:site_name" content="Turtle Island Supply">
<meta property="og:title" content="Turtle Island Supply | Indigenous-Owned Industrial Supplier Canada">
<meta property="og:description" content="100% Indigenous-owned industrial supplier. CCIB certified. 4-hour quote turnaround. PPE, safety equipment, tools & workwear across Canada.">
<meta property="og:image" content="https://www.turtleislandsupply.com/TIS%20Web%20Page%20Banner.png">
<meta property="og:image:width" content="1200">
<meta property="og:image:height" content="630">
<meta property="og:image:alt" content="Turtle Island Supply - CCIB Certified Indigenous Industrial Supplier">
<meta property="og:locale" content="en_CA">

<!-- Twitter Card -->
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:url" content="https://www.turtleislandsupply.com/">
<meta name="twitter:title" content="Turtle Island Supply | Indigenous-Owned Industrial Supplier Canada">
<meta name="twitter:description" content="100% Indigenous-owned industrial supplier. CCIB certified. 4-hour quote turnaround. PPE, safety equipment, tools & workwear across Canada.">
<meta name="twitter:image" content="https://www.turtleislandsupply.com/TIS%20Web%20Page%20Banner.png">

<!-- TIS Icons & Favicon -->
<link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png">
<link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png">
<link rel="manifest" href="/site.webmanifest">
<link rel="shortcut icon" href="/favicon.ico">
<meta name="msapplication-TileColor" content="#ffffff">
<meta name="msapplication-TileImage" content="/mstile-150x150.png">

<!-- Preconnect for Performance -->
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link rel="preconnect" href="https://crm.zoho.com">
<link rel="preconnect" href="https://salesiq.zohocloud.ca">

<!-- Geographic Tags -->
<meta name="geo.region" content="CA-ON">
<meta name="geo.placename" content="Shannonville, Ontario">
<meta name="geo.position" content="44.2167;-77.3333">

<!-- Theme Color (Mobile Browser) -->
<meta name="theme-color" content="#ffffff">

<!-- ========================================
     MENU DROPDOWN ARROW FIX
     ======================================== -->
<style>
/* Desktop: Fix arrow positioning inline with text */
.theme-menu-content {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
}

.theme-sub-li-menu.theme-non-responsive-menu {
    display: inline-flex !important;
    align-items: center !important;
    margin-left: 4px !important;
}

/* Desktop: Fix Resources arrow vertical alignment */
li:has([data-theme-menu-name="Resources"]) > span {
    display: inline-flex !important;
    align-items: center !important;
}

li:has([data-theme-menu-name="Resources"]) .theme-sub-li-menu {
    vertical-align: middle !important;
    position: relative !important;
    top: 0 !important;
}

/* Mobile: Simple fix - all menu links get same padding */
@media (max-width: 991px) {
    /* Hide desktop arrows in mobile */
    .theme-sub-li-menu.theme-non-responsive-menu {
        display: none !important;
    }
    
    /* Show mobile arrows */
    .theme-sub-li-menu.theme-responsive-menu {
        display: inline-flex !important;
    }
    
    /* Fix Resources menu alignment - match other menu items */
    li:has([data-theme-menu-name="Resources"]) {
        padding-left: 20px !important;
        margin-left: 0 !important;
    }
    
    /* Reset nested spans to avoid double padding */
    li:has([data-theme-menu-name="Resources"]) > span {
        padding-left: 0 !important;
        margin-left: 0 !important;
        display: flex !important;
        justify-content: space-between !important;
        align-items: center !important;
        width: 100% !important;
    }
    
    /* Position Resources arrow at far right, aligned with Industries */
    li:has([data-theme-menu-name="Resources"]) .theme-sub-li-menu.theme-responsive-menu {
        position: absolute !important;
        right: 20px !important;
        top: 50% !important;
        transform: translateY(-50%) !important;
    }
    
    /* Make Resources li position relative for absolute child */
    li:has([data-theme-menu-name="Resources"]) {
        position: relative !important;
    }
}
</style>

<!-- JavaScript Fix: Direct DOM manipulation for Resources alignment - MOBILE ONLY -->
<script>
(function() {
    function fixResourcesMenu() {
        // ONLY run on mobile viewports (match CSS media query)
        if (window.innerWidth > 991) {
            return; // Skip on desktop
        }
        
        // Target the responsive menu area specifically
        var responsiveMenu = document.querySelector('.theme-responsive-menu-area');
        if (!responsiveMenu) return;
        
        // Find Resources in the responsive menu
        var allMenuNames = responsiveMenu.querySelectorAll('.theme-menu-name');
        allMenuNames.forEach(function(el) {
            if (el.textContent.trim() === 'Resources') {
                // Resources uses SPAN wrapper, not A tag (it's a parent menu)
                // Go up to the li and find the direct child span
                var li = el.closest('li');
                if (li) {
                    li.style.paddingLeft = '20px';
                    li.style.marginLeft = '0';
                    
                    // Also target the direct child span (the wrapper)
                    var directSpan = li.querySelector(':scope > span');
                    if (directSpan) {
                        directSpan.style.paddingLeft = '0';
                        directSpan.style.marginLeft = '0';
                    }
                }
            }
        });
    }
    
    // MutationObserver to watch for responsive menu being populated
    function watchForMenu() {
        var target = document.querySelector('.theme-responsive-menu-area');
        if (!target) {
            setTimeout(watchForMenu, 100);
            return;
        }
        
        var observer = new MutationObserver(function(mutations) {
            fixResourcesMenu();
        });
        
        observer.observe(target, {
            childList: true,
            subtree: true
        });
        
        // Also run immediately
        fixResourcesMenu();
    }
    
    // Run multiple times to catch dynamic content
    document.addEventListener('DOMContentLoaded', function() {
        watchForMenu();
        fixResourcesMenu();
    });
    
    setTimeout(fixResourcesMenu, 100);
    setTimeout(fixResourcesMenu, 500);
    setTimeout(fixResourcesMenu, 1000);
    setTimeout(fixResourcesMenu, 2000);
    setTimeout(fixResourcesMenu, 3000);
    setTimeout(fixResourcesMenu, 5000);
    
    // Also run on window load and resize
    window.addEventListener('load', function() {
        watchForMenu();
        fixResourcesMenu();
    });
    window.addEventListener('resize', fixResourcesMenu);
})();
</script>

<!-- ========================================
     STRUCTURED DATA - SEO & Rich Results
     ======================================== -->

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Organization",
  "name": "Turtle Island Supply",
  "alternateName": "TIS",
  "url": "https://www.turtleislandsupply.com",
  "logo": "https://www.turtleislandsupply.com/TIS%20Web%20Page%20Banner.png",
  "description": "100% Indigenous-owned industrial supplier serving government, mining, construction, and manufacturing sectors across Canada. CCIB certified.",
  "foundingDate": "2024",
  "slogan": "Indigenous Excellence in Industrial Supply",
  
  "contactPoint": {
    "@type": "ContactPoint",
    "telephone": "+1-613-391-0311",
    "contactType": "Sales",
    "areaServed": "CA",
    "availableLanguage": ["English", "French"]
  },
  
  "address": {
    "@type": "PostalAddress",
    "streetAddress": "35 Beach Rd",
    "addressLocality": "Shannonville",
    "addressRegion": "ON",
    "postalCode": "K0K 3A0",
    "addressCountry": "CA"
  },
  
  "sameAs": [
    "https://www.facebook.com/turtleislandsupplycanada",
    "https://www.instagram.com/turtleislandsupplycanada",
    "https://www.linkedin.com/company/turtleislandsupplycanada"
  ],
  
  "aggregateRating": {
    "@type": "AggregateRating",
    "ratingValue": "4.9",
    "reviewCount": "127",
    "bestRating": "5",
    "worstRating": "1"
  },
  
  "hasOfferCatalog": {
    "@type": "OfferCatalog",
    "name": "Industrial Supplies",
    "itemListElement": [
      {
        "@type": "OfferCatalog",
        "name": "PPE & Safety Equipment"
      },
      {
        "@type": "OfferCatalog",
        "name": "Hand Tools & Power Tools"
      },
      {
        "@type": "OfferCatalog",
        "name": "Workwear & Apparel"
      },
      {
        "@type": "OfferCatalog",
        "name": "Material Handling Equipment"
      }
    ]
  },
  
  "areaServed": {
    "@type": "Country",
    "name": "Canada"
  },
  
  "knowsAbout": [
    "Industrial Supplies",
    "PPE",
    "Safety Equipment",
    "Indigenous Procurement",
    "Government Contracting",
    "CCIB Certification"
  ]
}
</script>

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "LocalBusiness",
  "name": "Turtle Island Supply",
  "image": "https://www.turtleislandsupply.com/TIS%20Web%20Page%20Banner.png",
  "@id": "https://www.turtleislandsupply.com",
  "url": "https://www.turtleislandsupply.com",
  "telephone": "+1-613-391-0311",
  "email": "info@turtleislandsupply.com",
  "priceRange": "$$",
  
"address": {
  "@type": "PostalAddress",
  "streetAddress": "35 Beach Rd",
  "addressLocality": "Shannonville",
  "addressRegion": "ON",
  "postalCode": "K0K 3A0",
  "addressCountry": "CA"
},

"geo": {
  "@type": "GeoCoordinates",
  "latitude": "44.2167",
  "longitude": "-77.3333"
},
  
  "openingHoursSpecification": {
    "@type": "OpeningHoursSpecification",
    "dayOfWeek": [
      "Monday",
      "Tuesday",
      "Wednesday",
      "Thursday",
      "Friday"
    ],
    "opens": "08:00",
    "closes": "17:00"
  },
  
  "sameAs": [
    "https://www.linkedin.com/company/turtleislandsupplycanada",
    "https://www.facebook.com/turtleislandsupply",
    "https://www.instagram.com/turtleislandsupplycanada"
  ]
}
</script>

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "WebSite",
  "name": "Turtle Island Supply",
  "url": "https://www.turtleislandsupply.com",
  "potentialAction": {
    "@type": "SearchAction",
    "target": "https://www.turtleislandsupply.com/search?q={search_term_string}",
    "query-input": "required name=search_term_string"
  }
}
</script>

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [
    {
      "@type": "Question",
      "name": "Are you CCIB certified?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Yes, Turtle Island Supply is 100% Indigenous-owned and CCIB (Canadian Council for Indigenous Business) certified, making us eligible for Indigenous procurement targets."
      }
    },
    {
      "@type": "Question",
      "name": "How quickly can I get a quote?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "We provide detailed line-item quotes within 4 hours during business hours (Monday-Friday, 8 AM - 5 PM EST)."
      }
    },
    {
      "@type": "Question",
      "name": "Do you ship across Canada?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Yes, we provide reliable shipping across all provinces and territories in Canada."
      }
    },
    {
      "@type": "Question",
      "name": "What industries do you serve?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "We serve construction, mining, manufacturing, government/public sector, forestry, oil & gas, utilities, transportation, healthcare, and education sectors across Canada."
      }
    },
    {
      "@type": "Question",
      "name": "Do your products meet safety standards?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "All PPE and safety equipment meets or exceeds CSA/ANSI standards, ensuring compliance with Canadian workplace safety regulations."
      }
    }
  ]
}
</script>

<!-- ========================================
     WCAG ACCESSIBILITY FEATURES
     ======================================== -->

<!-- WCAG Accessibility: Skip Navigation Link -->
<style>
.tis-skip-link {
    position: absolute !important;
    top: -40px !important;
    left: 0 !important;
    background: #0a192f !important;
    color: #fff !important;
    padding: 12px 24px !important;
    text-decoration: none !important;
    font-weight: 700 !important;
    z-index: 100000 !important;
    border-radius: 0 0 8px 0 !important;
}
.tis-skip-link:focus {
    top: 0 !important;
    outline: 3px solid #FFD166 !important;
}
</style>
<script>
(function() {
    function addSkipLink() {
        if (document.querySelector('.tis-skip-link')) return;
        
        // Find main content (try multiple selectors)
        var mainContent = document.querySelector('#main-content') ||
                         document.querySelector('main') ||
                         document.querySelector('[role="main"]') ||
                         document.querySelector('.zs-main-content') ||
                         document.querySelector('.zs-content');
        
        if (mainContent) {
            // Ensure it has an ID
            if (!mainContent.id) {
                mainContent.id = 'main-content';
            }
            
            // Create skip link
            var skipLink = document.createElement('a');
            skipLink.href = '#' + mainContent.id;
            skipLink.className = 'tis-skip-link';
            skipLink.textContent = 'Skip to main content';
            document.body.insertBefore(skipLink, document.body.firstChild);
        }
    }
    
    if (document.readyState === 'loading') {
        document.addEventListener('DOMContentLoaded', addSkipLink);
    } else {
        addSkipLink();
    }
    
    setTimeout(addSkipLink, 500);
})();
</script>

<!-- WCAG Accessibility: Remove Empty Links -->
<script>
(function() {
    var processedLinks = new WeakSet();
    
    function removeEmptyLinks() {
        var allLinks = document.querySelectorAll('a');
        allLinks.forEach(function(link) {
            // Skip if already processed
            if (processedLinks.has(link)) return;
            
            // CRITICAL: Skip Zoho cookie banner buttons and controls
            if (link.closest('.zc-cookie-banner') || 
                link.closest('[class*="cookie"]') || 
                link.closest('[id*="cookie"]') ||
                link.getAttribute('onclick') && link.getAttribute('onclick').includes('cookie')) {
                return;
            }
            
            var href = link.getAttribute('href');
            var hasText = link.textContent.trim().length > 0;
            var hasImage = link.querySelector('img') !== null;
            
            // If link has no href, empty href, or just #
            if (!href || href === '' || href === '#' || href === 'javascript:void(0)' || href === 'javascript:;') {
                processedLinks.add(link);
                
                // If it has no meaningful content, hide it completely
                if (!hasText && !hasImage) {
                    link.style.display = 'none !important';
                    link.style.visibility = 'hidden !important';
                    link.setAttribute('aria-hidden', 'true');
                    link.setAttribute('tabindex', '-1');
                } else {
                    // Convert to span to preserve layout
                    var span = document.createElement('span');
                    span.innerHTML = link.innerHTML;
                    span.className = link.className;
                    span.setAttribute('style', link.getAttribute('style') || '');
                    if (link.parentNode) {
                        link.parentNode.replaceChild(span, link);
                    }
                }
            }
        });
    }
    
    // Initial runs
    if (document.readyState === 'loading') {
        document.addEventListener('DOMContentLoaded', removeEmptyLinks);
    } else {
        removeEmptyLinks();
    }
    
    // Run multiple times to catch dynamically loaded content
    setTimeout(removeEmptyLinks, 100);
    setTimeout(removeEmptyLinks, 300);
    setTimeout(removeEmptyLinks, 600);
    setTimeout(removeEmptyLinks, 1000);
    setTimeout(removeEmptyLinks, 1500);
    setTimeout(removeEmptyLinks, 2500);
    setTimeout(removeEmptyLinks, 4000);
    
    // Watch for new links being added
    if (window.MutationObserver) {
        var observer = new MutationObserver(function(mutations) {
            var shouldRun = false;
            mutations.forEach(function(mutation) {
                if (mutation.addedNodes.length > 0) {
                    shouldRun = true;
                }
            });
            if (shouldRun) {
                setTimeout(removeEmptyLinks, 50);
            }
        });
        
        setTimeout(function() {
            observer.observe(document.body, {
                childList: true,
                subtree: true
            });
        }, 100);
    }
})();
</script>

<!-- WCAG Accessibility: Auto-fix Missing Form Labels -->
<script>
(function() {
    function fixMissingLabels() {
        var allInputs = document.querySelectorAll('input[type="text"]:not([type="hidden"]), input[type="email"], input[type="number"], input[name="q"]');
        allInputs.forEach(function(input) {
            if (!input.labels || input.labels.length === 0) {
                var label = document.createElement('label');
                var labelId = input.id || input.name || 'input-' + Math.random().toString(36).substr(2, 9);
                if (!input.id) input.id = labelId;
                label.setAttribute('for', input.id);
                label.textContent = input.placeholder || input.getAttribute('aria-label') || input.name || 'Input field';
                label.style.cssText = 'position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden;';
                if (input.parentNode) {
                    input.parentNode.insertBefore(label, input);
                }
            }
        });
    }
    
    if (document.readyState === 'loading') {
        document.addEventListener('DOMContentLoaded', fixMissingLabels);
    } else {
        fixMissingLabels();
    }
    
    setTimeout(fixMissingLabels, 1000);
    setTimeout(fixMissingLabels, 2500);
})();
</script>

<!-- Thank You Page: Quote Reference Generator -->
<script>
document.addEventListener('DOMContentLoaded', function () {
  // Only run this on pages that contain the thank-you container
  var container = document.querySelector('.thank-you-container');
  if (!container) return;

  // Generate quote reference number
  var d = new Date();
  var quoteNum = 'TIS-' + d.getFullYear() + '-' +
    Math.floor(Math.random() * 10000).toString().padStart(4, '0');

  var quoteRefEl = document.getElementById('quoteRef');
  if (quoteRefEl) {
    quoteRefEl.textContent = quoteNum;
  }
});
</script>

<!-- Zoho SalesIQ Live Chat Widget -->
<script type="text/javascript" id="zsiqchat">
	var $zoho = $zoho || {};
	$zoho.salesiq = $zoho.salesiq || {
		widgetcode:"b25b5e0befc3ec28895c6a321943414852bff46333a79eda99d867b186f242d1",
		values: {},
		ready: function(){}
	};
	var d = document;
	s = d.createElement("script");
	s.type = "text/javascript";
	s.id = "zsiqscript";
	s.defer = true;
	s.src = "https://salesiq.zohocloud.ca/widget";
	t = d.getElementsByTagName("script")[0];
	t.parentNode.insertBefore(s, t);
</script>

<!-- Google Translate Widget -->
<div id="google_translate_element" style="position: fixed; top: 10px; right: 10px; z-index: 9999;"></div>
<script type="text/javascript">
function googleTranslateElementInit() {
  new google.translate.TranslateElement({
    pageLanguage: 'en',
    includedLanguages: 'fr,en',
    layout: google.translate.TranslateElement.InlineLayout.SIMPLE,
    autoDisplay: false
  }, 'google_translate_element');
}
</script>
<script type="text/javascript" src="//translate.google.com/translate_a/element.js?cb=googleTranslateElementInit"></script>
