1<!DOCTYPE html> 2<html lang="en" dir="ltr" id="page" > 3 <head> 4 <meta charset="UTF-8"> 5<meta name="viewport" content="width=device-width, initial-scale=1.0"> 6<meta name="csrf-token" content="Lr2zAKxaMOBSxN6mJvvrZD3wKDwPZTmtmBQycMbk"> 7<meta name="robots" content="all"/> 8<meta name="description" content=""/> 9<link rel="canonical" href="https://accuspecpackaging.com/contact"/> 10 11 12 <meta property="og:title" content="Contact | AccuSpec Packaging"> 13 <meta property="og:description" content=""> 14 <meta property="og:url" content="https://accuspecpackaging.com/contact"> 15 <meta property="og:updated_time" content="2026-02-25T20:57:50.000000Z"/> 16<meta property="og:type" content="website"> 17 18 19 <link rel="apple-touch-icon" sizes="180x180" href="https://media.cmsmax.cloud/iqbishw2krx5wurnstqkb/accuspec-apple-icon.png"> 20 21 22 <link rel="icon" type="image/png" sizes="32x32" href="https://media.cmsmax.cloud/iqbishw2krx5wurnstqkb/favicon.ico"> 23<!-- Google tag (gtag.js) -->
vendor: 65 bytes, lines 23-24
23 24<script async src="https://www.googletagmanager.com/gtag/js?id=
24G-Z833EY9X6L
vendor: 13 bytes, line 24
24"></script>
25<script> 26
vendor: 138 bytes, lines 26-30
26window.dataLayer = window.dataLayer || []; 27 function gtag(){dataLayer.push(arguments);} 28 gtag('js', new Date()); 29 30 gtag('config', '
30G-Z833EY9X6L
vendor: 5 bytes, line 30
30');
31</script>
31 32 33
33<script> 34 (function () { 35 function storeAnalyticsSessionData(clientId, sessionId) { 36 fetch("https:\/\/accuspecpackaging.com\/analytics\/session", { 37 method: 'POST', 38 headers: { 39 'Content-Type': 'application/json', 40 'X-CSRF-TOKEN': "Lr2zAKxaMOBSxN6mJvvrZD3wKDwPZTmtmBQycMbk", 41 'Accept': 'application/json', 42 }, 43 body: JSON.stringify({ 44 client_id: clientId, 45 session_id: sessionId, 46 }), 47 }); 48 } 49 50 function readGtagValues() { 51 if (typeof window.gtag !== 'function') { 52 return; 53 } 54 55 if (typeof window.gaSessionStored === 'boolean' && window.gaSessionStored) { 56 return; 57 } 58 59 const measurementId = Object.keys(window.google_tag_manager || []).filter(e => { return e.substring(0,2) == 'G-' })[0]; 60 61 if (measurementId) { 62 window.gtag('get', measurementId, 'client_id', function (clientId) { 63 window.gtag('get', measurementId, 'session_id', function (sessionId) { 64 if (clientId || sessionId) { 65 storeAnalyticsSessionData((clientId).toString(), (sessionId).toString()); 66 window.gaSessionStored = true; 67 } 68 }); 69 }); 70 } 71 } 72 73 if (document.readyState === 'loading') { 74 document.addEventListener('DOMContentLoaded', readGtagValues); 75 } else { 76 readGtagValues(); 77 } 78 79 setTimeout(readGtagValues, 1500); 80 })(); 81 </script>
81 82 83<title>Contact | AccuSpec Packaging</title> 84 85<link rel="preconnect" href="https://media.cmsmax.cloud" crossorigin> 86 <link rel="preconnect" href="https://cdn.cmsmax.cloud/production" crossorigin> 87<style >/* latin-ext */@font-face { font-family: 'Roboto'; font-style: italic; font-weight: 100; font-stretch: normal; font-display: swap; src: url(https://media.cmsmax.cloud/fonts/a5551740b0/srobotov51kfokcnqeu92fr1mu53zec9-vu3r1gihoszmoclhrs6ljxfmmlohruab-lxyi128w0un2.woff) format('woff'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}/* latin */@font-face { font-family: 'Roboto'; font-style: italic; font-weight: 100; font-stretch: normal; font-display: swap; src: url(https://media.cmsmax.cloud/fonts/a5551740b0/srobotov51kfokcnqeu92fr1mu53zec9-vu3r1gihoszmoclhrs6ljxfmmlohruaj-lxyi128w0q.woff) format('woff'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}/* latin-ext */@font-face { font-family: 'Roboto'; font-style: italic; font-weight: 200; font-stretch: normal; font-display: swap; src: url(https://media.cmsmax.cloud/fonts/a5551740b0/srobotov51kfokcnqeu92fr1mu53zec9-vu3r1gihoszmoclhrs6ljxfmmlghquab-lxyi128w0un2.woff) format('woff'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}/* latin */@font-face { font-family: 'Roboto'; font-style: italic; font-weight: 200; font-stretch: normal; font-display: swap; src: url(https://media.cmsmax.cloud/fonts/a5551740b0/srobotov51kfokcnqeu92fr1mu53zec9-vu3r1gihoszmoclhrs6ljxfmmlghquaj-lxyi128w0q.woff) format('woff'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}/* latin-ext */@font-face { font-family: 'Roboto'; font-style: italic; font-weight: 300; font-stretch: normal; font-display: swap; src: url(https://media.cmsmax.cloud/fonts/a5551740b0/srobotov51kfokcnqeu92fr1mu53zec9-vu3r1gihoszmoclhrs6ljxfmmlt-quab-lxyi128w0un2.woff) format('woff'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}/* latin */@font-face { font-family: 'Roboto'; font-style: italic; font-weight: 300; font-stretch: normal; font-display: swap; src: url(https://media.cmsmax.cloud/fonts/a5551740b0/srobotov51kfokcnqeu92fr1mu53zec9-vu3r1gihoszmoclhrs6ljxfmmlt-quaj-lxyi128w0q.woff) format('woff'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}/* latin-ext */@font-face { font-family: 'Roboto'; font-style: italic; font-weight: 400; font-stretch: normal; font-display: swap; src: url(https://media.cmsmax.cloud/fonts/a5551740b0/srobotov51kfokcnqeu92fr1mu53zec9-vu3r1gihoszmoclhrs6ljxfmmlohquab-lxyi128w0un2.woff) format('woff'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}/* latin */@font-face { font-family: 'Roboto'; font-style: italic; font-weight: 400; font-stretch: normal; font-display: swap; src: url(https://media.cmsmax.cloud/fonts/a5551740b0/srobotov51kfokcnqeu92fr1mu53zec9-vu3r1gihoszmoclhrs6ljxfmmlohquaj-lxyi128w0q.woff) format('woff'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}/* latin-ext */@font-face { font-family: 'Roboto'; font-style: italic; font-weight: 500; font-stretch: normal; font-display: swap; src: url(https://media.cmsmax.cloud/fonts/a5551740b0/srobotov51kfokcnqeu92fr1mu53zec9-vu3r1gihoszmoclhrs6ljxfmmlrpquab-lxyi128w0un2.woff) format('woff'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1D
87BF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}/* latin */@font-face { font-family: 'Roboto'; font-style: italic; font-weight: 500; font-stretch: normal; font-display: swap; src: url(https://media.cmsmax.cloud/fonts/a5551740b0/srobotov51kfokcnqeu92fr1mu53zec9-vu3r1gihoszmoclhrs6ljxfmmlrpquaj-lxyi128w0q.woff) format('woff'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}/* latin-ext */@font-face { font-family: 'Roboto'; font-style: italic; font-weight: 600; font-stretch: normal; font-display: swap; src: url(https://media.cmsmax.cloud/fonts/a5551740b0/srobotov51kfokcnqeu92fr1mu53zec9-vu3r1gihoszmoclhrs6ljxfmmll-xuab-lxyi128w0un2.woff) format('woff'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}/* latin */@font-face { font-family: 'Roboto'; font-style: italic; font-weight: 600; font-stretch: normal; font-display: swap; src: url(https://media.cmsmax.cloud/fonts/a5551740b0/srobotov51kfokcnqeu92fr1mu53zec9-vu3r1gihoszmoclhrs6ljxfmmll-xuaj-lxyi128w0q.woff) format('woff'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}/* latin-ext */@font-face { font-family: 'Roboto'; font-style: italic; font-weight: 700; font-stretch: normal; font-display: swap; src: url(https://media.cmsmax.cloud/fonts/a5551740b0/srobotov51kfokcnqeu92fr1mu53zec9-vu3r1gihoszmoclhrs6ljxfmmlmbxuab-lxyi128w0un2.woff) format('woff'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}/* latin */@font-face { font-family: 'Roboto'; font-style: italic; font-weight: 700; font-stretch: normal; font-display: swap; src: url(https://media.cmsmax.cloud/fonts/a5551740b0/srobotov51kfokcnqeu92fr1mu53zec9-vu3r1gihoszmoclhrs6ljxfmmlmbxuaj-lxyi128w0q.woff) format('woff'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}/* latin-ext */@font-face { font-family: 'Roboto'; font-style: italic; font-weight: 800; font-stretch: normal; font-display: swap; src: url(https://media.cmsmax.cloud/fonts/a5551740b0/srobotov51kfokcnqeu92fr1mu53zec9-vu3r1gihoszmoclhrs6ljxfmmlghxuab-lxyi128w0un2.woff) format('woff'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}/* latin */@font-face { font-family: 'Roboto'; font-style: italic; font-weight: 800; font-stretch: normal; font-display: swap; src: url(https://media.cmsmax.cloud/fonts/a5551740b0/srobotov51kfokcnqeu92fr1mu53zec9-vu3r1gihoszmoclhrs6ljxfmmlghxuaj-lxyi128w0q.woff) format('woff'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}/* latin-ext */@font-face { font-family: 'Roboto'; font-style: italic; font-weight: 900; font-stretch: normal; font-display: swap; src: url(https://media.cmsmax.cloud/fonts/a5551740b0/srobotov51kfokcnqeu92fr1mu53zec9-vu3r1gihoszmoclhrs6ljxfmmlijxuab-lxyi128w0un2.woff) format('woff'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}/* latin */@font-face { font-family: 'Roboto'; font-style: italic; font-weight: 900; font-stretch: normal; font-display: swap; src: url(https://media.cmsmax.cloud/fonts/a5551740b0/srobotov51kfokcnqeu92fr1mu53zec9-vu3r1gihoszmoclhrs6ljxfmmlijxuaj-lxyi128w0q.w
87off) format('woff'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}/* latin-ext */@font-face { font-family: 'Roboto'; font-style: normal; font-weight: 100; font-stretch: normal; font-display: swap; src: url(https://media.cmsmax.cloud/fonts/a5551740b0/srobotov51kfomcnqeu92fr1me7ksn66agldtyluamqxc89ymc2dpnwubebfmaiaz0klqm-20o0g.woff) format('woff'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}/* latin */@font-face { font-family: 'Roboto'; font-style: normal; font-weight: 100; font-stretch: normal; font-display: swap; src: url(https://media.cmsmax.cloud/fonts/a5551740b0/srobotov51kfomcnqeu92fr1me7ksn66agldtyluamqxc89ymc2dpnwubebfmuiaz0klqm-20.woff) format('woff'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}/* latin-ext */@font-face { font-family: 'Roboto'; font-style: normal; font-weight: 200; font-stretch: normal; font-display: swap; src: url(https://media.cmsmax.cloud/fonts/a5551740b0/srobotov51kfomcnqeu92fr1me7ksn66agldtyluamqxc89ymc2dpnwuzebvmaiaz0klqm-20o0g.woff) format('woff'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}/* latin */@font-face { font-family: 'Roboto'; font-style: normal; font-weight: 200; font-stretch: normal; font-display: swap; src: url(https://media.cmsmax.cloud/fonts/a5551740b0/srobotov51kfomcnqeu92fr1me7ksn66agldtyluamqxc89ymc2dpnwuzebvmuiaz0klqm-20.woff) format('woff'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}/* latin-ext */@font-face { font-family: 'Roboto'; font-style: normal; font-weight: 300; font-stretch: normal; font-display: swap; src: url(https://media.cmsmax.cloud/fonts/a5551740b0/srobotov51kfomcnqeu92fr1me7ksn66agldtyluamqxc89ymc2dpnwuaabvmaiaz0klqm-20o0g.woff) format('woff'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}/* latin */@font-face { font-family: 'Roboto'; font-style: normal; font-weight: 300; font-stretch: normal; font-display: swap; src: url(https://media.cmsmax.cloud/fonts/a5551740b0/srobotov51kfomcnqeu92fr1me7ksn66agldtyluamqxc89ymc2dpnwuaabvmuiaz0klqm-20.woff) format('woff'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}/* latin-ext */@font-face { font-family: 'Roboto'; font-style: normal; font-weight: 400; font-stretch: normal; font-display: swap; src: url(https://media.cmsmax.cloud/fonts/a5551740b0/srobotov51kfomcnqeu92fr1me7ksn66agldtyluamqxc89ymc2dpnwubebvmaiaz0klqm-20o0g.woff) format('woff'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}/* latin */@font-face { font-family: 'Roboto'; font-style: normal; font-weight: 400; font-stretch: normal; font-display: swap; src: url(https://media.cmsmax.cloud/fonts/a5551740b0/srobotov51kfomcnqeu92fr1me7ksn66agldtyluamqxc89ymc2dpnwubebvmuiaz0klqm-20.woff) format('woff'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}/* latin-ext */@font-face { font-family: 'Roboto'; font-style: normal; font-weight: 500; font-stretch: normal; font-display: swap; src: url(https://media.cmsmax.cloud/fonts/a5551740b0/srobotov51kfomcnqeu92fr1me7ksn66agldtyluamqxc89ymc2dpnwub2bvmaiaz
870klqm-20o0g.woff) format('woff'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}/* latin */@font-face { font-family: 'Roboto'; font-style: normal; font-weight: 500; font-stretch: normal; font-display: swap; src: url(https://media.cmsmax.cloud/fonts/a5551740b0/srobotov51kfomcnqeu92fr1me7ksn66agldtyluamqxc89ymc2dpnwub2bvmuiaz0klqm-20.woff) format('woff'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}/* latin-ext */@font-face { font-family: 'Roboto'; font-style: normal; font-weight: 600; font-stretch: normal; font-display: swap; src: url(https://media.cmsmax.cloud/fonts/a5551740b0/srobotov51kfomcnqeu92fr1me7ksn66agldtyluamqxc89ymc2dpnwuyaalmaiaz0klqm-20o0g.woff) format('woff'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}/* latin */@font-face { font-family: 'Roboto'; font-style: normal; font-weight: 600; font-stretch: normal; font-display: swap; src: url(https://media.cmsmax.cloud/fonts/a5551740b0/srobotov51kfomcnqeu92fr1me7ksn66agldtyluamqxc89ymc2dpnwuyaalmuiaz0klqm-20.woff) format('woff'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}/* latin-ext */@font-face { font-family: 'Roboto'; font-style: normal; font-weight: 700; font-stretch: normal; font-display: swap; src: url(https://media.cmsmax.cloud/fonts/a5551740b0/srobotov51kfomcnqeu92fr1me7ksn66agldtyluamqxc89ymc2dpnwuyjalmaiaz0klqm-20o0g.woff) format('woff'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}/* latin */@font-face { font-family: 'Roboto'; font-style: normal; font-weight: 700; font-stretch: normal; font-display: swap; src: url(https://media.cmsmax.cloud/fonts/a5551740b0/srobotov51kfomcnqeu92fr1me7ksn66agldtyluamqxc89ymc2dpnwuyjalmuiaz0klqm-20.woff) format('woff'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}/* latin-ext */@font-face { font-family: 'Roboto'; font-style: normal; font-weight: 800; font-stretch: normal; font-display: swap; src: url(https://media.cmsmax.cloud/fonts/a5551740b0/srobotov51kfomcnqeu92fr1me7ksn66agldtyluamqxc89ymc2dpnwuzealmaiaz0klqm-20o0g.woff) format('woff'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}/* latin */@font-face { font-family: 'Roboto'; font-style: normal; font-weight: 800; font-stretch: normal; font-display: swap; src: url(https://media.cmsmax.cloud/fonts/a5551740b0/srobotov51kfomcnqeu92fr1me7ksn66agldtyluamqxc89ymc2dpnwuzealmuiaz0klqm-20.woff) format('woff'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}/* latin-ext */@font-face { font-family: 'Roboto'; font-style: normal; font-weight: 900; font-stretch: normal; font-display: swap; src: url(https://media.cmsmax.cloud/fonts/a5551740b0/srobotov51kfomcnqeu92fr1me7ksn66agldtyluamqxc89ymc2dpnwuztalmaiaz0klqm-20o0g.woff) format('woff'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}/* latin */@font-face { font-family: 'Roboto'; font-style: normal; font-weight: 900; font-stretch: normal; font-display: swap; src: url(https://media.cmsmax.cloud/fonts/a5551740b0/srobotov51kfomcnqeu92fr1me7ksn66agldtyluamqxc89ymc2dpnwuztalmuiaz0klqm-20.woff) format('woff'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}</style> 88 <style >/* latin-ext */@font-face { font-family: 'Bebas Neue'; font-style: normal; font-weight: 400; font-display: swap; src: url(https://media.cmsmax.cloud/fonts/65ca9caa7b/sbebasneuev16jtusjig69ck48gw7pxoo9wdhzsth89znpq.woff) format('woff'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1D
88BF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}/* latin */@font-face { font-family: 'Bebas Neue'; font-style: normal; font-weight: 400; font-display: swap; src: url(https://media.cmsmax.cloud/fonts/65ca9caa7b/sbebasneuev16jtusjig69ck48gw7pxoo9wlhzsth89y.woff) format('woff'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}</style> 89 90 <style> 91 :root { 92 --primary-font: 'Bebas Neue', sans-serif; 93 --secondary-font: 'Roboto', sans-serif; 94 --parent-menu-font: 'Bebas Neue', sans-serif; 95 --child-menu-font: 'Bebas Neue', sans-serif; 96 } 97 98 h1, h2, h3, h4, h5, h6 { 99 font-family: var(--primary-font); 100 } 101 102 body { 103 font-family: var(--secondary-font); 104 } 105 106 /* Parent/Top-level menu items (depth 0) */ 107 .menu-item-top-link, 108 .menu-simple-link { 109 font-family: var(--parent-menu-font); 110 } 111 112 /* Child/Nested menu items (depth > 0) */ 113 .menu-submenu-link, 114 .menu-submenu-placeholder-span, 115 .menu-nested-link { 116 font-family: var(--child-menu-font); 117 } 118 </style> 119 120<style> 121 [x-cloak] { 122 display: none !important; 123 } 124</style> 125 126 127<style>@layer properties, theme, base, filaforms, components, utilities, theme-overrides;</style> 128 129 130 131<!-- Livewire Styles --><style >[wire\:loading][wire\:loading], [wire\:loading\.delay][wire\:loading\.delay], [wire\:loading\.list-item][wire\:loading\.list-item], [wire\:loading\.inline-block][wire\:loading\.inline-block], [wire\:loading\.inline][wire\:loading\.inline], [wire\:loading\.block][wire\:loading\.block], [wire\:loading\.flex][wire\:loading\.flex], [wire\:loading\.table][wire\:loading\.table], [wire\:loading\.grid][wire\:loading\.grid], [wire\:loading\.inline-flex][wire\:loading\.inline-flex] {display: none;}[wire\:loading\.delay\.none][wire\:loading\.delay\.none], [wire\:loading\.delay\.shortest][wire\:loading\.delay\.shortest], [wire\:loading\.delay\.shorter][wire\:loading\.delay\.shorter], [wire\:loading\.delay\.short][wire\:loading\.delay\.short], [wire\:loading\.delay\.default][wire\:loading\.delay\.default], [wire\:loading\.delay\.long][wire\:loading\.delay\.long], [wire\:loading\.delay\.longer][wire\:loading\.delay\.longer], [wire\:loading\.delay\.longest][wire\:loading\.delay\.longest] {display: none;}[wire\:offline][wire\:offline] {display: none;}[wire\:dirty]:not(textarea):not(input):not(select) {display: none;}:root {--livewire-progress-bar-color: #2299dd;}[x-cloak="x-cloak"],[x-cloak=""] {display: none !important;}[wire\:cloak="wire:cloak"],[wire\:cloak=""] {display: none !important;}dialog#livewire-error::backdrop {background-color: rgba(0, 0, 0, .6);}</style> 132 133 134 135 136 <link rel="stylesheet" type="text/css" id="css-engine-theme" href="https://media.cmsmax.cloud/iqbishw2krx5wurnstqkb/css/theme-5b31a3af.css"> 137 138 139 <link rel="stylesheet" type="text/css" id="css-engine-tenant" href="https://media.cmsmax.cloud/iqbishw2krx5wurnstqkb/css/tenant-2ce19160.css"> 140 141 142 143 144 <link rel="stylesheet" type="text/css" id="css-engine-page" href="https://media.cmsmax.cloud/iqbishw2krx5wurnstqkb/css/page-7-d326fa40.css"> 145 146 147 148<style>.contact-page { 149 .contact-content-wrapper { 150 background: rgba(245, 245, 243, 0.5); 151 margin-bottom: 25px; 152 153 .map { 154 height: 400px; 155 156 .map-wrapper { 157 height: 100%; 158 } 159 160 iframe { 161 width: 100%; 162 height: 100%; 163 border:0; 164 } 165 } 166 167 168 .form { 169 text-align: center; 170 padding: 30px 30px 30px 15px; 171 172 @include media-breakpoint-up(md) { 173 padding: 0px 30px 0px 15px; 174 } 175 176 h2 { 177 font-size: 26px; 178 margin-top: 0; 179 margin-bottom: 15px; 180 } 181 182 form { 183 label { 184 display: none; 185 } 186 187 textarea, 188 textarea::placeholder, 189 input, 190 input::placeholder { 191 font-style: italic; 192 color: #000; 193 font-size: 14px; 194 } 195 196 .form-control { 197 border-radius: 0px; 198 border: 1px solid #000; 199 height: 48px; 200 } 201 .btn { 202 padding: 12px 20px; 203 } 204 } 205 } 206 } 207}</style> 208 209
209<script src="https://cdnjs.cloudflare.com/ajax/libs/Glide.js/3.2.0/glide.min.js" integrity="sha512-IkLiryZhI6G4pnA3bBZzYCT9Ewk87U4DGEOz+TnRD3MrKqaUitt+ssHgn2X/sxoM7FxCP/ROUp6wcxjH/GcI5Q==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
209 210<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/Glide.js/3.2.0/css/glide.core.min.css" integrity="sha512-YQlbvfX5C6Ym6fTUSZ9GZpyB3F92hmQAZTO5YjciedwAaGRI9ccNs4iw2QTCJiSPheUQZomZKHQtuwbHkA9lgw==" crossorigin="anonymous" referrerpolicy="no-referrer" /> 211 212 </head> 213 <body> 214 <style id="cookie-consent-fallback-css"> 215 @layer cookie-consent-fallback{ 216 @media (min-width:640px){ 217 .cookie-consent-actions{flex-direction:row;width:auto} 218 .cookie-consent-content .sm\:flex-row{flex-direction:row} 219 .cookie-consent-content .sm\:items-center{align-items:center} 220 .cookie-consent-content .sm\:justify-between{justify-content:space-between} 221 .cookie-consent-content .sm\:w-auto{width:auto} 222 } 223 } 224 </style> 225 226 <div class="js-cookie-consent cookie-consent-banner" data-nosnippet> 227 <div class="cookie-consent-content"><section class="text-gray-600 w-full flex flex-col sm:flex-row sm:items-center sm:justify-between gap-5"><p class="flex-1 min-w-0 m-0">Our website uses cookies. By continuing to use our site, you agree to our use of cookies in accordance with our <a href="/privacy">Privacy Policy</a>.</p><div class="flex shrink-0 gap-3 w-full sm:w-auto flex-col sm:flex-row"><button type="button" class="js-cookie-consent-agree cookie-consent-agree w-full sm:w-auto bg-stone-900 text-white px-3 py-2 rounded-lg">Allow cookies</button> <button type="button" class="js-cookie-consent-decline w-full sm:w-auto px-3 py-2 text-stone-900 border border-stone-300 rounded-lg">Decline</button></div></section></div> 228</div> 229 230
230<script> 231 232 window.laravelCookieConsent = (function () { 233 234 const COOKIE_VALUE = 1; 235 const COOKIE_REJECTED_VALUE = 0; 236 const COOKIE_DOMAIN = 'accuspecpackaging.com'; 237 238 function consentWithCookies() { 239 setCookie('laravel_cookie_consent', COOKIE_VALUE, 7300); 240 updateGoogleConsent('granted'); 241 hideCookieDialog(); 242 } 243 244 function rejectCookies() { 245 setCookie('laravel_cookie_consent', COOKIE_REJECTED_VALUE, 7300); 246 updateGoogleConsent('denied'); 247 hideCookieDialog(); 248 } 249 250 function cookieExists(name) { 251 return document.cookie.split('; ').some(c => 252 c === name + '=' + COOKIE_VALUE || c === name + '=' + COOKIE_REJECTED_VALUE 253 ); 254 } 255 256 function hideCookieDialog() { 257 const dialogs = document.getElementsByClassName('js-cookie-consent'); 258 259 for (let i = 0; i < dialogs.length; ++i) { 260 dialogs[i].style.display = 'none'; 261 } 262 } 263 264 function setCookie(name, value, expirationInDays) { 265 const date = new Date(); 266 date.setTime(date.getTime() + (expirationInDays * 24 * 60 * 60 * 1000)); 267 document.cookie = name + '=' + value 268 + ';expires=' + date.toUTCString() 269 + ';domain=' + COOKIE_DOMAIN 270 + ';path=/' 271 + ';samesite=lax'; 272 } 273 274 function updateGoogleConsent(value) { 275 window.dataLayer = window.dataLayer || []; 276 window.gtag = window.gtag || function () { 277 window.dataLayer.push(arguments); 278 }; 279 280 window.gtag('consent', 'update', { 281 ad_storage: value, 282 analytics_storage: value, 283 ad_user_data: value, 284 ad_personalization: value, 285 }); 286 } 287 288 if (cookieExists('laravel_cookie_consent')) { 289 hideCookieDialog(); 290 } 291 292 const buttons = document.getElementsByClassName('js-cookie-consent-agree'); 293 294 for (let i = 0; i < buttons.length; ++i) { 295 buttons[i].addEventListener('click', consentWithCookies); 296 } 297 298 const declineButtons = document.getElementsByClassName('js-cookie-consent-decline'); 299 300 for (let i = 0; i < declineButtons.length; ++i) { 301 declineButtons[i].addEventListener('click', rejectCookies); 302 } 303 304 return { 305 consentWithCookies: consentWithCookies, 306 rejectCookies: rejectCookies, 307 hideCookieDialog: hideCookieDialog 308 }; 309 })(); 310 311 window.acceptCookies = function () { 312 window.laravelCookieConsent.consentWithCookies(); 313 }; 314 315 window.rejectCookies = function () { 316 window.laravelCookieConsent.rejectCookies(); 317 }; 318 </script>
318 319 320 321 <main class="page-wrapper contact-page"> 322 <div class="header-wrapper contents"> 323 <div class="w-full"> 324 325<header class="lg:p-[15px] lg:bg-[url('https://media.cmsmax.cloud/iqbishw2krx5wurnstqkb/header-bg.png')] lg:bg-repeat bg-contain 2xl:pt-[20px] 2xl:pb-[20px] 2xl:pl-[20px]"> 326<div class="lg:flex lg:flex-wrap 2xl:flex-nowrap lg:justify-between lg:items-center"> 327<div class="hidden lg:block order-1"><a href="/" class="inline-block"> <img src="https://media.cmsmax.cloud/iqbishw2krx5wurnstqkb/accuspec-logo.png" class="lg:max-w-[250px] [@media(min-width:1800px)]:max-w-[350px]"> </a></div> 328<div class="order-3 basis-full 2xl:order-2 2xl:basis-auto p-4 lg:p-0"><span class="cms-widget"><div x-data="{ 329 mobileMenuOpen: false, 330 searchOpen: false, 331 toggleMobileMenu() { 332 this.mobileMenuOpen = !this.mobileMenuOpen; 333 }, 334 toggleSearch() { 335 this.searchOpen = !this.searchOpen; 336 } 337}" x-init="$watch('searchOpen', value => { if (value) { $nextTick(() => $refs.searchInput?.focus()) } })"> 338 <div class="mobile-nav lg:hidden"> 339 340 <div class="bar"> 341 342 <a class="logo-container" href="/" aria-label="AccuSpec Packaging - Home"> 343 <img src="https://media.cmsmax.cloud/iqbishw2krx5wurnstqkb/accuspec-social-media.jpg" 344 alt="AccuSpec Packaging" 345 width="200" 346 height="66.666666666667" 347 class=""> 348 </a> 349 350 351 <div class="icons"> 352 353 354 355 356 357 </div> 358 359 360 <button @click="toggleMobileMenu()" type="button" :aria-expanded="mobileMenuOpen" 361 aria-controls="mobile-nav-bar" aria-label="Toggle navigation" 362 class="hamburger-btn"> 363 <span class="sr-only">Toggle navigation</span> 364 365 <div class="hamburger-container"> 366 <span class="hamburger-line top" 367 :class="mobileMenuOpen ? 'opacity-0 -translate-y-1/2 top-1/2' : 'opacity-100'"></span> 368 <span class="hamburger-line middle" 369 :class="mobileMenuOpen ? '-rotate-45' : ''"></span> 370 <span class="hamburger-line middle" 371 :class="mobileMenuOpen ? 'rotate-45 ' : ''"></span> 372 <span class="hamburger-line bottom" 373 :class="mobileMenuOpen ? 'opacity-0 -translate-y-1/2 top-1/2' : 'opacity-100'"></span> 374 </div> 375 </button> 376 </div> 377 378 379 380 <div x-cloak 381 x-show="mobileMenuOpen" x-transition:enter="transition ease-out duration-300" 382 x-transition:enter-start="opacity-0 -translate-y-4" x-transition:enter-end="opacity-100 translate-y-0" 383 x-transition:leave="transition ease-in duration-200" x-transition:leave-start="opacity-100 translate-y-0" 384 x-transition:leave-end="opacity-0 -translate-y-4" id="mobile-nav-bar" 385 class="menu-dropdown" @click.away="mobileMenuOpen = false"> 386 <nav class="menu-nav"> 387 <ul class="menu-tree-list space-y-1" 388 x-data="{ 389 openItems: {}, 390 toggleItem(key) { 391 this.openItems[key] = !this.openItems[key]; 392 } 393 }" 394 > 395 <li class="menu-tree-item"> 396 <div> 397 398 <div class="menu-tree-level1-btn menu-tree-row"> 399 <a href="/roll-stock" 400 class="menu-tree-parent-link menu-tree-level1-title"> 401 Roll Stock 402 </a> 403 <button type="button" 404 @click="toggleItem('item-2825')" 405 :aria-expanded="openItems['item-2825'] ? 'true' : 'false'" 406 class="menu-tree-toggle-btn">
407 <span class="sr-only">Toggle Roll Stock submenu</span> 408 <svg xmlns="http://www.w3.org/2000/svg" 409 class="menu-tree-level1-icon" 410 :class="{ 'rotate-180': openItems['item-2825'] }" 411 aria-hidden="true" 412 fill="none" viewBox="0 0 24 24" stroke="currentColor"> 413 <path stroke-width="2" stroke-linecap="round" d="m6 9 6 6 6-6"/> 414 </svg> 415 </button> 416 </div> 417 418 419 <div x-cloak 420 x-show="openItems['item-2825']" 421 x-collapse.duration.200ms 422 class="menu-tree-level1-submenu"> 423 <ul class="menu-tree-level1-list"> 424 <li class="menu-tree-item"> 425 426 <a href="/roll-stock/mil-prf-121g" 427 class="menu-tree-link-level2"> 428 MIL-PRF-121G 429 </a> 430 </li> 431 <li class="menu-tree-item"> 432 433 <a href="/roll-stock/mil-b-121f" 434 class="menu-tree-link-level2"> 435 MIL-B-121F 436 </a> 437 </li> 438 <li class="menu-tree-item"> 439 440 <a href="/roll-stock/mil-p-130f" 441 class="menu-tree-link-level2"> 442 MIL-P-130F 443 </a> 444 </li> 445 <li class="menu-tree-item"> 446 447 <a href="/roll-stock/mil-dtl-17667e" 448 class="menu-tree-link-level2"> 449 MIL-DTL-17667E 450 </a> 451 </li> 452 <li class="menu-tree-item"> 453 454 <a href="/roll-stock/mil-p-3420f" 455 class="menu-tree-link-level2"> 456 MIL-P-3420F 457 </a> 458 </li> 459 <li class="menu-tree-item"> 460 461 <a href="/roll-stock/mil-prf-131k" 462 class="menu-tree-link-level2"> 463 MIL-PRF-131K 464 </a> 465 </li> 466 <li class="menu-tree-item"> 467 468 <a href="/roll-stock/mil-prf-81705e" 469 class="menu-tree-link-level2"> 470 MIL-PRF-81705E 471 </a> 472 </li> 473 <li class="menu-tree-item"> 474 475 <a href="/roll-stock/mil-prf-22191f" 476 class="menu-tree-link-level2"> 477 MIL-PRF-22191F 478 </a> 479 </li> 480 <li class="menu-tree-item"> 481 482 <a href="/roll-stock/mil-prf-22019e" 483 class="menu-tree-link-level2"> 484 MIL-PRF-22019E 485 </a> 486 </li> 487 <li class="menu-tree-item"> 488 489 <a href="/roll-stock/a-a-3174" 490 class="menu-tree-link-level2"> 491 A-A-3174 492 </a> 493 </li> 494 <li class="menu-tree-item"> 495 496 <a href="/roll-stock/mil-dtl-24466c" 497 class="menu-tree-link-level2"> 498 MIL-DTL-24466C 499 </a> 500 </li> 501 </ul> 502 </div> 503 </div> 504 </li> 505 <li class="menu-tree-item"> 506 <div> 507 508 <div class="menu-tree-level1-btn menu-tree-row"> 509 <a href="/bag-sheet-tubing" 510 class="menu-tree-parent-link menu-tree-level1-title"> 511 Bag, Sheet & Tubing Products 512 </a> 513 <button type="button" 514 @click="toggleItem('item-2837')" 515 :aria-expanded="openItems['item-2837'] ? 'true' : 'false'" 516 class="menu-tree-toggle-btn">
517 <span class="sr-only">Toggle Bag, Sheet & Tubing Products submenu</span> 518 <svg xmlns="http://www.w3.org/2000/svg" 519 class="menu-tree-level1-icon" 520 :class="{ 'rotate-180': openItems['item-2837'] }" 521 aria-hidden="true" 522 fill="none" viewBox="0 0 24 24" stroke="currentColor"> 523 <path stroke-width="2" stroke-linecap="round" d="m6 9 6 6 6-6"/> 524 </svg> 525 </button> 526 </div> 527 528 529 <div x-cloak 530 x-show="openItems['item-2837']" 531 x-collapse.duration.200ms 532 class="menu-tree-level1-submenu"> 533 <ul class="menu-tree-level1-list"> 534 <li class="menu-tree-item"> 535 536 <a href="/bag-sheet-tubing/mil-dtl-117h-type-i-class-e-style-1" 537 class="menu-tree-link-level2"> 538 MIL-DTL-117H Type I, Class E, Style 1 539 </a> 540 </li> 541 <li class="menu-tree-item"> 542 543 <a href="/bag-sheet-tubing/mil-dtl-117h-type-i-class-e-style-2" 544 class="menu-tree-link-level2"> 545 MIL-DTL-117H Type I, Class E, Style 2 546 </a> 547 </li> 548 <li class="menu-tree-item"> 549 550 <a href="/bag-sheet-tubing/mil-dtl-117h-type-i-class-e-style-3" 551 class="menu-tree-link-level2"> 552 MIL-DTL-117H Type I, Class E, Style 3 553 </a> 554 </li> 555 <li class="menu-tree-item"> 556 557 <a href="/bag-sheet-tubing/mil-dtl-117h-type-i-class-f-style-1" 558 class="menu-tree-link-level2"> 559 MIL-DTL-117H Type I, Class F, Style 1 560 </a> 561 </li> 562 <li class="menu-tree-item"> 563 564 <a href="/bag-sheet-tubing/mil-dtl-117h-type-ii-class-c-style-1" 565 class="menu-tree-link-level2"> 566 MIL-DTL-117H Type II, Class C, Style 1 567 </a> 568 </li> 569 <li class="menu-tree-item"> 570 571 <a href="/bag-sheet-tubing/mil-dtl-117h-type-ii-class-c-style-2" 572 class="menu-tree-link-level2"> 573 MIL-DTL-117H Type II, Class C, Style 2 574 </a> 575 </li> 576 <li class="menu-tree-item"> 577 578 <a href="/bag-sheet-tubing/mil-dtl-117h-type-ii-class-c-style-3" 579 class="menu-tree-link-level2"> 580 MIL-DTL-117H Type II, Class C, Style 3 581 </a> 582 </li> 583 <li class="menu-tree-item"> 584 585 <a href="/bag-sheet-tubing/mil-dtl-117h-type-ii-class-e-style-1" 586 class="menu-tree-link-level2"> 587 MIL-DTL-117H Type II, Class E, Style 1 588 </a> 589 </li> 590 <li class="menu-tree-item"> 591 592 <a href="/bag-sheet-tubing/mil-dtl-117h-type-ii-class-h-style-2" 593 class="menu-tree-link-level2"> 594 MIL-DTL-117H Type II, Class H, Style 2 595 </a> 596 </li> 597 <li class="menu-tree-item"> 598 599 <a href="/bag-sheet-tubing/mil-dtl-117h-type-iii-class-b-style-2" 600 class="menu-tree-link-level2"> 601 MIL-DTL-117H Type III, Class B, Style 2 602 </a> 603 </li> 604 <li class="menu-tree-item"> 605 606 <a href="/bag-sheet-tubing/mil-dtl-117h-type-iii-class-c-style-1" 607 class="menu-tree-link-level2"> 608 MIL-DTL-117H Type III, Class C, Style 1 609 </a> 610 </li> 611 <li class="menu-tree-item"> 612 613 <a href="/bag-sheet-tubing/mil-dtl-117h-type-iv-class-e-style-1" 614 class="menu-tree-link-level2"> 615 MIL-DTL-117H Type IV, Class E, Style 1 616 </a> 617 </li> 618 <li class="menu-tree-item"> 619 620 <a href="/bag-sheet-tubing/mil-dtl-22020e-type-i-class-2" 621 class="menu-tree-link-level2"> 622 MIL-DTL-22020E Type I, Class 2 623 </a> 624 </li> 625 <li class="menu-tree-item"> 626 627 <a href="/bag-sheet-tubing/mil-dtl-24466c-green-nuclear-polyethylene-4-mil-and-6-mil" 628 class="menu-tree-link-level2"> 629 MIL-DTL-24466C Green Nuclear PE Film 630 </a> 631 </li> 632 </ul> 633 </div> 634 </div> 635 </li> 636 <li class="menu-tree-item"> 637 638 <a href="/desiccant-humidity-indicators-tape" 639 class="menu-tree-link-level1"> 640 Desiccant, Humidity Indicators & Tape 641 </a> 642 </li> 643 <li class="menu-tree-item"> 644 645 <a href="/custom-products" 646 class="menu-tree-link-level1"> 647 Custom Products 648 </a> 649 </li> 650 <li class="menu-tree-item"> 651 652 <a href="/contact" 653 class="menu-tree-link-level1"> 654 Contact 655 </a> 656 </li> 657 </ul> 658 </nav> 659 </div> 660 </div> 661</div> 662 663<header x-data="{ mobileMenuOpen: false }" 664 class="hidden lg:block"> 665 <div class="menu-header"> 666 <nav class="nav"> 667 <!-- Desktop Menu --> 668 <div class="desktop-container">
669 <div class="desktop-list"> 670 <div x-data="{ 671 open: false, 672 closeTimeout: null, 673 openMenu() { 674 clearTimeout(this.closeTimeout); 675 this.open = true; 676 }, 677 closeMenu() { 678 this.closeTimeout = setTimeout(() => { 679 this.open = false; 680 }, 50); 681 }, 682 683 positionDropdown: function() { 684 const rect = this.$el.getBoundingClientRect(); 685 const dropdown = this.$refs.dropdown; 686 if (!dropdown) return; 687 688 dropdown.style.left = ''; 689 dropdown.style.right = ''; 690 691 const rightSpace = window.innerWidth - rect.left; 692 const leftSpace = rect.right; 693 694 if (rightSpace >= 300) { 695 dropdown.style.left = '0'; 696 } else if (leftSpace >= 300) { 697 dropdown.style.right = '0'; 698 } else { 699 dropdown.style.left = '0'; 700 } 701 }, 702 positionBridge: function() { 703 const menuItem = this.$el.querySelector('.menu-item-top-container, .menu-item-top-placeholder-btn'); 704 const dropdown = this.$refs.dropdown; 705 const bridge = this.$refs.bridge; 706 707 if (!menuItem || !dropdown || !bridge) return; 708 709 const menuRect = menuItem.getBoundingClientRect(); 710 const dropdownRect = dropdown.getBoundingClientRect(); 711 const parentRect = this.$el.getBoundingClientRect(); 712 713 // Calculate the gap between menu item bottom and dropdown top 714 const gap = dropdownRect.top - menuRect.bottom; 715 716 if (gap > 0) { 717 bridge.style.position = 'absolute'; 718 bridge.style.top = (menuRect.bottom - parentRect.top) + 'px'; 719 bridge.style.left = '0'; 720 bridge.style.width = '100%'; 721 // Add a few extra pixels to overlap with the dropdown 722 bridge.style.height = (gap + 10) + 'px'; 723 bridge.style.zIndex = '40'; 724 } 725 }, 726 727 }" 728 @mouseenter="openMenu()" @mouseleave="closeMenu()" @focusin="openMenu()" @focusout="if (! $el.contains($event.relatedTarget)) closeMenu()" @keydown.escape="closeMenu()" 729 @click.away="closeMenu()" 730 731 x-init="$watch('open', value => { if (value) { setTimeout(function(){ positionBridge(); positionDropdown(); }, 10); } })" 732 class="menu-dropdown-parent"> 733 734 735 736 <div class="menu-item-top-container"> 737 <a href="/roll-stock" 738 class="menu-item-top-link" 739 :class="{ 'text-primary' : open }"> 740 Roll Stock 741 </a> 742 <button type="button" 743 @click.prevent="open = !open" 744 :aria-expanded="open.toString()" 745 class="menu-item-top-btn"> 746 <span class="sr-only">Toggle Roll Stock dropdown</span> 747 <svg :class="{ 'rotate-180': open }" 748 class="menu-chevron-icon" xmlns="http://www.w3.org/2000/svg" 749 aria-hidden="true" 750 width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" 751 stroke-linejoin="round"> 752 <path d="m6 9 6 6 6-6"/> 753 </svg> 754 </button> 755 </div> 756 757 758 <div x-show="open" 759 x-ref="bridge" 760 class="menu-hover-bridge" 761 x-cloak></div> 762 763 764 <div x-show="open" 765 x-ref="dropdown" x-transition:enter="transition ease-out duration-200" 766 x-transition:enter-start="opacity-0 scale-95" 767 x-transition:enter-end="opacity-100 scale-100" 768 x-transition:leave="transition ease-in duration-150" 769 x-transition:leave-start="opacity-100 scale-100" 770 x-transition:leave-end="opacity-0 scale-95" 771 class=" menu-dropdown-desktop " 772 style="display: none;"> 773 774 <a class="menu-nested-link " 775 href="/roll-stock/mil-prf-121g" 776 > 777 MIL-PRF-121G 778 </a> 779 <a class="menu-nested-link " 780 href="/roll-stock/mil-b-121f" 781 > 782 MIL-B-121F 783 </a> 784 <a class="menu-nested-link " 785 href="/roll-stock/mil-p-130f" 786 > 787 MIL-P-130F 788 </a> 789 <a class="menu-nested-link " 790 href="/roll-stock/mil-dtl-17667e" 791 > 792 MIL-DTL-17667E 793 </a> 794 <a class="menu-nested-link " 795 href="/roll-stock/mil-p-3420f" 796 > 797 MIL-P-3420F 798 </a> 799 <a class="menu-nested-link " 800 href="/roll-stock/mil-prf-131k" 801 > 802 MIL-PRF-131K 803 </a> 804 <a class="menu-nested-link " 805 href="/roll-stock/mil-prf-81705e" 806 > 807 MIL-PRF-81705E 808 </a> 809 <a class="menu-nested-link " 810 href="/roll-stock/mil-prf-22191f" 811 > 812 MIL-PRF-22191F 813 </a> 814 <a class="menu-nested-link " 815 href="/roll-stock/mil-prf-22019e" 816 > 817 MIL-PRF-22019E 818 </a> 819 <a class="menu-nested-link " 820 href="/roll-stock/a-a-3174" 821 > 822 A-A-3174 823 </a> 824 <a class="menu-nested-link " 825 href="/roll-stock/mil-dtl-24466c" 826 > 827 MIL-DTL-24466C 828 </a> 829 </div> 830 </div> 831 <div x-data="{ 832 open: false, 833 closeTimeout: null, 834 openMenu() { 835 clearTimeout(this.closeTimeout); 836 this.open = true; 837 }, 838 closeMenu() { 839 this.closeTimeout = setTimeout(() => { 840 this.open = false;
841 }, 50); 842 }, 843 844 positionDropdown: function() { 845 const rect = this.$el.getBoundingClientRect(); 846 const dropdown = this.$refs.dropdown; 847 if (!dropdown) return; 848 849 dropdown.style.left = ''; 850 dropdown.style.right = ''; 851 852 const rightSpace = window.innerWidth - rect.left; 853 const leftSpace = rect.right; 854 855 if (rightSpace >= 300) { 856 dropdown.style.left = '0'; 857 } else if (leftSpace >= 300) { 858 dropdown.style.right = '0'; 859 } else { 860 dropdown.style.left = '0'; 861 } 862 }, 863 positionBridge: function() { 864 const menuItem = this.$el.querySelector('.menu-item-top-container, .menu-item-top-placeholder-btn'); 865 const dropdown = this.$refs.dropdown; 866 const bridge = this.$refs.bridge; 867 868 if (!menuItem || !dropdown || !bridge) return; 869 870 const menuRect = menuItem.getBoundingClientRect(); 871 const dropdownRect = dropdown.getBoundingClientRect(); 872 const parentRect = this.$el.getBoundingClientRect(); 873 874 // Calculate the gap between menu item bottom and dropdown top 875 const gap = dropdownRect.top - menuRect.bottom; 876 877 if (gap > 0) { 878 bridge.style.position = 'absolute'; 879 bridge.style.top = (menuRect.bottom - parentRect.top) + 'px'; 880 bridge.style.left = '0'; 881 bridge.style.width = '100%'; 882 // Add a few extra pixels to overlap with the dropdown 883 bridge.style.height = (gap + 10) + 'px'; 884 bridge.style.zIndex = '40'; 885 } 886 }, 887 888 }" 889 @mouseenter="openMenu()" @mouseleave="closeMenu()" @focusin="openMenu()" @focusout="if (! $el.contains($event.relatedTarget)) closeMenu()" @keydown.escape="closeMenu()" 890 @click.away="closeMenu()" 891 892 x-init="$watch('open', value => { if (value) { setTimeout(function(){ positionBridge(); positionDropdown(); }, 10); } })" 893 class="menu-dropdown-parent"> 894 895 896 897 <div class="menu-item-top-container"> 898 <a href="/bag-sheet-tubing" 899 class="menu-item-top-link" 900 :class="{ 'text-primary' : open }"> 901 Bag, Sheet & Tubing Products 902 </a> 903 <button type="button" 904 @click.prevent="open = !open" 905 :aria-expanded="open.toString()" 906 class="menu-item-top-btn"> 907 <span class="sr-only">Toggle Bag, Sheet & Tubing Products dropdown</span> 908 <svg :class="{ 'rotate-180': open }" 909 class="menu-chevron-icon" xmlns="http://www.w3.org/2000/svg" 910 aria-hidden="true" 911 width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" 912 stroke-linejoin="round"> 913 <path d="m6 9 6 6 6-6"/> 914 </svg> 915 </button> 916 </div> 917 918 919 <div x-show="open" 920 x-ref="bridge" 921 class="menu-hover-bridge" 922 x-cloak></div> 923 924 925 <div x-show="open" 926 x-ref="dropdown" x-transition:enter="transition ease-out duration-200" 927 x-transition:enter-start="opacity-0 scale-95" 928 x-transition:enter-end="opacity-100 scale-100" 929 x-transition:leave="transition ease-in duration-150" 930 x-transition:leave-start="opacity-100 scale-100" 931 x-transition:leave-end="opacity-0 scale-95" 932 class=" menu-dropdown-desktop " 933 style="display: none;"> 934 935 <a class="menu-nested-link " 936 href="/bag-sheet-tubing/mil-dtl-117h-type-i-class-e-style-1" 937 > 938 MIL-DTL-117H Type I, Class E, Style 1 939 </a> 940 <a class="menu-nested-link " 941 href="/bag-sheet-tubing/mil-dtl-117h-type-i-class-e-style-2" 942 > 943 MIL-DTL-117H Type I, Class E, Style 2 944 </a> 945 <a class="menu-nested-link " 946 href="/bag-sheet-tubing/mil-dtl-117h-type-i-class-e-style-3" 947 > 948 MIL-DTL-117H Type I, Class E, Style 3 949 </a> 950 <a class="menu-nested-link " 951 href="/bag-sheet-tubing/mil-dtl-117h-type-i-class-f-style-1" 952 > 953 MIL-DTL-117H Type I, Class F, Style 1 954 </a> 955 <a class="menu-nested-link " 956 href="/bag-sheet-tubing/mil-dtl-117h-type-ii-class-c-style-1" 957 > 958 MIL-DTL-117H Type II, Class C, Style 1 959 </a> 960 <a class="menu-nested-link " 961 href="/bag-sheet-tubing/mil-dtl-117h-type-ii-class-c-style-2" 962 > 963 MIL-DTL-117H Type II, Class C, Style 2 964 </a> 965 <a class="menu-nested-link " 966 href="/bag-sheet-tubing/mil-dtl-117h-type-ii-class-c-style-3" 967 > 968 MIL-DTL-117H Type II, Class C, Style 3 969 </a> 970 <a class="menu-nested-link " 971 href="/bag-sheet-tubing/mil-dtl-117h-type-ii-class-e-style-1" 972 > 973 MIL-DTL-117H Type II, Class E, Style 1 974 </a> 975 <a class="menu-nested-link " 976 href="/bag-sheet-tubing/mil-dtl-117h-type-ii-class-h-style-2" 977 > 978 MIL-DTL-117H Type II, Class H, Style 2 979 </a> 980 <a class="menu-nested-link " 981 href="/bag-sheet-tubing/mil-dtl-117h-type-iii-class-b-style-2" 982 > 983 MIL-DTL-117H Type III, Class B, Style 2 984 </a> 985 <a class="menu-nested-link " 986 href="/bag-sheet-tubing/mil-dtl-117h-type-iii-class-c-style-1" 987 > 988 MIL-DTL-117H Type III, Class C, Style 1 989 </a> 990 <a class="menu-nested-link " 991 href="/bag-sheet-tubing/mil-dtl-117h-type-iv-class-e-style-1" 992 > 993 MIL-DTL-117H Type IV, Class E, Style 1 994 </a> 995 <a class="menu-nested-link " 996 href="/bag-sheet-tubing/mil-dtl-22020e-type-i-class-2" 997 > 998 MIL-DTL-22020E Type I, Class 2 999 </a> 1000 <a class="menu-nested-link " 1001 href="/bag-sheet-tubing/mil-dtl-24466c-green-nuclear-polyethylene-4-mil-and-6-mil" 1002 > 1003 MIL-DTL-24466C Green Nuclear PE Film 1004 </a> 1005 </div> 1006 </div> 1007 <div class="menu-simple-link-container"> 1008 <a class="menu-simple-link hover:md:text-primary" 1009 href="/desiccant-humidity-indicators-tape" 1010 > 1011 Desiccant, Humidity Indicators & Tape 1012 </a> 1013 </div> 1014 <div class="menu-simple-link-container"> 1015 <a class="menu-simple-link hover:md:text-primary" 1016 href="/custom-products" 1017 > 1018 Custom Products 1019 </a> 1020 </div> 1021 <div class="menu-simple-link-container"> 1022 <a class="menu-simple-link hover:md:text-primary" 1023 href="/contact" 1024 > 1025 Contact 1026 </a> 1027 </div> 1028 </div> 1029 </div> 1030 1031 <!-- Mobile Full Screen Menu --> 1032 <div x-cloak x-show="mobileMenuOpen" x-transition:enter="transition ease-out duration-300" 1033 x-transition:enter-start="opacity-0" x-transition:enter-end="opacity-100" 1034 x-transition:leave="transition ease-in duration-150" x-transition:leave-start="opacity-100" 1035 x-transition:leave-end="opacity-0" class="mobile-overlay"> 1036 1037 <!-- Mobile Menu Header --> 1038 <div class="mobile-header"> 1039 <h2 class="mobile-title">Menu</h2> 1040 <button @click="mobileMenuOpen = false" class="mobile-close-btn">
1041 <span class="sr-only">Close menu</span> 1042 <svg class="mobile-close-icon" xmlns="http://www.w3.org/2000/svg" 1043 aria-hidden="true" 1044 fill="none" viewBox="0 0 24 24" stroke="currentColor"> 1045 <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" 1046 d="M6 18L18 6M6 6l12 12"/> 1047 </svg> 1048 </button> 1049 </div> 1050 1051 <div class="mobile-content"> 1052 <ul class="menu-tree-list" 1053 x-data="{ 1054 openItems: {}, 1055 toggleItem(key) { 1056 this.openItems[key] = !this.openItems[key]; 1057 } 1058 }" 1059 > 1060 <li class="menu-tree-item"> 1061 <div> 1062 1063 <div class="menu-tree-level1-btn menu-tree-row"> 1064 <a href="/roll-stock" 1065 class="menu-tree-parent-link menu-tree-level1-title"> 1066 Roll Stock 1067 </a> 1068 <button type="button" 1069 @click="toggleItem('item-2825')" 1070 :aria-expanded="openItems['item-2825'] ? 'true' : 'false'" 1071 class="menu-tree-toggle-btn menu-tree-toggle-btn-flush"> 1072 <span class="sr-only">Toggle Roll Stock submenu</span> 1073 <svg xmlns="http://www.w3.org/2000/svg" 1074 class="menu-tree-level1-icon" 1075 :class="{ 'rotate-90': openItems['item-2825'] }" 1076 aria-hidden="true" 1077 fill="none" viewBox="0 0 24 24" stroke="currentColor"> 1078 <path stroke-width="2" stroke-linecap="round" stroke-linejoin="round" d="M9 5l7 7-7 7"/> 1079 </svg> 1080 </button> 1081 </div> 1082 1083 1084 <div x-cloak 1085 x-show="openItems['item-2825']" 1086 x-transition:enter="transition-all ease-out duration-200" 1087 x-transition:enter-start="transform scale-y-0 origin-top" 1088 x-transition:enter-end="transform scale-y-100 origin-top" 1089 x-transition:leave="transition-all ease-in duration-150" 1090 x-transition:leave-start="transform scale-y-100 origin-top" 1091 x-transition:leave-end="transform scale-y-0 origin-top" 1092 class="menu-tree-level1-submenu"> 1093 <ul class="menu-tree-level1-list"> 1094 <li> 1095 1096 <a href="/roll-stock/mil-prf-121g" 1097 class="menu-tree-link-level2"> 1098 MIL-PRF-121G 1099 </a> 1100 </li> 1101 <li> 1102 1103 <a href="/roll-stock/mil-b-121f" 1104 class="menu-tree-link-level2"> 1105 MIL-B-121F 1106 </a> 1107 </li> 1108 <li> 1109 1110 <a href="/roll-stock/mil-p-130f" 1111 class="menu-tree-link-level2"> 1112 MIL-P-130F 1113 </a> 1114 </li> 1115 <li> 1116 1117 <a href="/roll-stock/mil-dtl-17667e" 1118 class="menu-tree-link-level2"> 1119 MIL-DTL-17667E 1120 </a> 1121 </li> 1122 <li> 1123 1124 <a href="/roll-stock/mil-p-3420f" 1125 class="menu-tree-link-level2"> 1126 MIL-P-3420F 1127 </a> 1128 </li> 1129 <li> 1130 1131 <a href="/roll-stock/mil-prf-131k" 1132 class="menu-tree-link-level2"> 1133 MIL-PRF-131K 1134 </a> 1135 </li> 1136 <li> 1137 1138 <a href="/roll-stock/mil-prf-81705e" 1139 class="menu-tree-link-level2"> 1140 MIL-PRF-81705E 1141 </a> 1142 </li> 1143 <li> 1144 1145 <a href="/roll-stock/mil-prf-22191f" 1146 class="menu-tree-link-level2"> 1147 MIL-PRF-22191F 1148 </a> 1149 </li> 1150 <li> 1151 1152 <a href="/roll-stock/mil-prf-22019e" 1153 class="menu-tree-link-level2"> 1154 MIL-PRF-22019E 1155 </a> 1156 </li> 1157 <li> 1158 1159 <a href="/roll-stock/a-a-3174" 1160 class="menu-tree-link-level2"> 1161 A-A-3174 1162 </a> 1163 </li> 1164 <li> 1165 1166 <a href="/roll-stock/mil-dtl-24466c" 1167 class="menu-tree-link-level2"> 1168 MIL-DTL-24466C 1169 </a> 1170 </li> 1171 </ul> 1172 </div> 1173 </div> 1174 </li> 1175 <li class="menu-tree-item"> 1176 <div> 1177 1178 <div class="menu-tree-level1-btn menu-tree-row"> 1179 <a href="/bag-sheet-tubing" 1180 class="menu-tree-parent-link menu-tree-level1-title"> 1181 Bag, Sheet & Tubing Products 1182 </a> 1183 <button type="button" 1184 @click="toggleItem('item-2837')" 1185 :aria-expanded="openItems['item-2837'] ? 'true' : 'false'" 1186 class="menu-tree-toggle-btn menu-tree-toggle-btn-flush">
1187 <span class="sr-only">Toggle Bag, Sheet & Tubing Products submenu</span> 1188 <svg xmlns="http://www.w3.org/2000/svg" 1189 class="menu-tree-level1-icon" 1190 :class="{ 'rotate-90': openItems['item-2837'] }" 1191 aria-hidden="true" 1192 fill="none" viewBox="0 0 24 24" stroke="currentColor"> 1193 <path stroke-width="2" stroke-linecap="round" stroke-linejoin="round" d="M9 5l7 7-7 7"/> 1194 </svg> 1195 </button> 1196 </div> 1197 1198 1199 <div x-cloak 1200 x-show="openItems['item-2837']" 1201 x-transition:enter="transition-all ease-out duration-200" 1202 x-transition:enter-start="transform scale-y-0 origin-top" 1203 x-transition:enter-end="transform scale-y-100 origin-top" 1204 x-transition:leave="transition-all ease-in duration-150" 1205 x-transition:leave-start="transform scale-y-100 origin-top" 1206 x-transition:leave-end="transform scale-y-0 origin-top" 1207 class="menu-tree-level1-submenu"> 1208 <ul class="menu-tree-level1-list"> 1209 <li> 1210 1211 <a href="/bag-sheet-tubing/mil-dtl-117h-type-i-class-e-style-1" 1212 class="menu-tree-link-level2"> 1213 MIL-DTL-117H Type I, Class E, Style 1 1214 </a> 1215 </li> 1216 <li> 1217 1218 <a href="/bag-sheet-tubing/mil-dtl-117h-type-i-class-e-style-2" 1219 class="menu-tree-link-level2"> 1220 MIL-DTL-117H Type I, Class E, Style 2 1221 </a> 1222 </li> 1223 <li> 1224 1225 <a href="/bag-sheet-tubing/mil-dtl-117h-type-i-class-e-style-3" 1226 class="menu-tree-link-level2"> 1227 MIL-DTL-117H Type I, Class E, Style 3 1228 </a> 1229 </li> 1230 <li> 1231 1232 <a href="/bag-sheet-tubing/mil-dtl-117h-type-i-class-f-style-1" 1233 class="menu-tree-link-level2"> 1234 MIL-DTL-117H Type I, Class F, Style 1 1235 </a> 1236 </li> 1237 <li> 1238 1239 <a href="/bag-sheet-tubing/mil-dtl-117h-type-ii-class-c-style-1" 1240 class="menu-tree-link-level2"> 1241 MIL-DTL-117H Type II, Class C, Style 1 1242 </a> 1243 </li> 1244 <li> 1245 1246 <a href="/bag-sheet-tubing/mil-dtl-117h-type-ii-class-c-style-2" 1247 class="menu-tree-link-level2"> 1248 MIL-DTL-117H Type II, Class C, Style 2 1249 </a> 1250 </li> 1251 <li> 1252 1253 <a href="/bag-sheet-tubing/mil-dtl-117h-type-ii-class-c-style-3" 1254 class="menu-tree-link-level2"> 1255 MIL-DTL-117H Type II, Class C, Style 3 1256 </a> 1257 </li> 1258 <li> 1259 1260 <a href="/bag-sheet-tubing/mil-dtl-117h-type-ii-class-e-style-1" 1261 class="menu-tree-link-level2"> 1262 MIL-DTL-117H Type II, Class E, Style 1 1263 </a> 1264 </li> 1265 <li> 1266 1267 <a href="/bag-sheet-tubing/mil-dtl-117h-type-ii-class-h-style-2" 1268 class="menu-tree-link-level2"> 1269 MIL-DTL-117H Type II, Class H, Style 2 1270 </a> 1271 </li> 1272 <li> 1273 1274 <a href="/bag-sheet-tubing/mil-dtl-117h-type-iii-class-b-style-2" 1275 class="menu-tree-link-level2"> 1276 MIL-DTL-117H Type III, Class B, Style 2 1277 </a> 1278 </li> 1279 <li> 1280 1281 <a href="/bag-sheet-tubing/mil-dtl-117h-type-iii-class-c-style-1" 1282 class="menu-tree-link-level2"> 1283 MIL-DTL-117H Type III, Class C, Style 1 1284 </a> 1285 </li> 1286 <li> 1287 1288 <a href="/bag-sheet-tubing/mil-dtl-117h-type-iv-class-e-style-1" 1289 class="menu-tree-link-level2"> 1290 MIL-DTL-117H Type IV, Class E, Style 1 1291 </a> 1292 </li> 1293 <li> 1294 1295 <a href="/bag-sheet-tubing/mil-dtl-22020e-type-i-class-2" 1296 class="menu-tree-link-level2"> 1297 MIL-DTL-22020E Type I, Class 2 1298 </a> 1299 </li> 1300 <li> 1301 1302 <a href="/bag-sheet-tubing/mil-dtl-24466c-green-nuclear-polyethylene-4-mil-and-6-mil" 1303 class="menu-tree-link-level2"> 1304 MIL-DTL-24466C Green Nuclear PE Film 1305 </a> 1306 </li> 1307 </ul> 1308 </div> 1309 </div> 1310 </li> 1311 <li class="menu-tree-item"> 1312 1313 <a href="/desiccant-humidity-indicators-tape" 1314 class="menu-tree-link-level1"> 1315 Desiccant, Humidity Indicators & Tape 1316 </a> 1317 </li> 1318 <li class="menu-tree-item"> 1319 1320 <a href="/custom-products" 1321 class="menu-tree-link-level1"> 1322 Custom Products 1323 </a> 1324 </li> 1325 <li class="menu-tree-item"> 1326 1327 <a href="/contact" 1328 class="menu-tree-link-level1"> 1329 Contact 1330 </a> 1331 </li> 1332 </ul> 1333 </div> 1334 </div> 1335 </nav> 1336 </div> 1337</header> 1338</span></div> 1339<div class="hidden lg:flex order-2"> 1340<div class="relative flex items-center bg-primary px-[15px] py-[8px] text-[24px] text-white 1341 before:content-[''] before:absolute before:right-full before:bottom-0 before:w-[14px] before:h-full 1342 before:bg-[url('https://media.cmsmax.cloud/iqbishw2krx5wurnstqkb/phone-red.png')] before:bg-no-repeat before:bg-right-bottom before:bg-cover !font-['Bebas_Neue']"><img src="https://media.cmsmax.cloud/iqbishw2krx5wurnstqkb/icon-phone.png" class="h-[20px] mr-[10px]"> <a href="tel:607-292-3010" class="text-white">607-292-3010</a></div> 1343</div> 1344</div> 1345</header> 1346<style></style> 1347 </div> 1348 </div> 1349 1350 1351 1352 <div class="px-4 mx-auto max-w-7xl"> 1353 <div class="w-full"> 1354 <nav class="breadcrumb-nav" aria-label="Breadcrumb"> 1355 <div class="breadcrumb-wrapper"> 1356 <ol class="breadcrumb-list"> 1357 1358 <li class="breadcrumb-item breadcrumb-index"><a class="breadcrumb-link" href="/">Home</a></li> 1359 1360 <li class="breadcrumb-separator mx-2" aria-hidden="true"></li> 1361 <li class="breadcrumb-item breadcrumb-last">Contact</li> 1362 </ol> 1363 </div> 1364</nav> 1365 1366 <h1 class="page-title">Contact</h1> 1367 1368 </div> 1369 </div> 1370 1371 <div class="w-full px-4 pb-12 mx-auto max-w-7xl"> 1372 <div class="main-content-wrapper"> 1373 1374<p>Please fill out the short from below and a member of our staff will get back to you at the first possible opportunity.<br>You may also contact us by emailing <a href="mailto:[email protected]">[email protected]</a>.</p> 1375<p class=""><span class="cms-widget">
1375<div wire:key="lw-426615766-0" wire:snapshot="{"data":{"formId":"1","state":[{"f_5":null,"f_6":null,"f_7":null,"f_8":null},{"s":"arr"}],"formSubmitted":false,"processingPayment":false,"formError":null,"paymentInlineError":null,"couponCode":""},"memo":{"id":"3F4KJhWK0hPTDeplCRh0","name":"public-form.public-form","path":"contact","method":"GET","release":"a-a-a","children":[],"scripts":[],"assets":[],"errors":[],"locale":"en","islands":[]},"checksum":"d5a29335818e7abf91604ef2d612060aa84008e07827d6615b082b6007f69fc2"}" wire:effects="{"partials":[]}" wire:id="3F4KJhWK0hPTDeplCRh0" wire:name="public-form.public-form"> 1376 <div id="form-1" x-data="{ 1377 submitted: $wire.entangle('formSubmitted'), 1378 fields: $wire.entangle('state'), 1379 uploadsPending: false, 1380 }" x-init=" 1381 $wire.on('form-submitted', (event) => { 1382 window.dataLayer = window.dataLayer || []; 1383 window.dataLayer.push({ 1384 'event': 'form_submission', 1385 'formId': event[0].formId, 1386 'formTitle': event[0].formTitle, 1387 'formType': event[0].formType 1388 }); 1389 }); 1390 1391 $wire.on('redirect-after-submit', (event) => { 1392 // Wait 500ms to allow GTM to capture the event before redirecting 1393 setTimeout(() => { 1394 window.location.href = event[0].url; 1395 }, 500); 1396 }); 1397 "> 1398 <div x-show="!submitted" class=""> 1399 1400 <div class="form-fields-wrapper"> 1401 <div 1402 1403 > 1404 <div wire:key="form-field-5" id="form-field-5" 1405 class="text-field form-group-col-span-1" 1406 > 1407 <div class="form-field-group"> 1408 <label 1409 for="form_f_5" 1410 class="label" 1411> 1412 Name 1413 1414 <span class="form-field-required--daisy" aria-hidden="true">*</span> 1415 <span class="sr-only">(required)</span> 1416 </label> 1417 1418 1419 <input 1420 id="form_f_5" 1421 type="text" 1422 wire:key="1-5-field" 1423 wire:model="state.f_5" 1424 placeholder="Name" 1425 autocomplete="name" 1426 aria-required="true" class="input form-text-field" 1427/> 1428 1429 </div> </div> 1430 </div> 1431 <div 1432 1433 > 1434 <div wire:key="form-field-6" id="form-field-6" 1435 class="phone-field form-group-col-span-1" 1436 > 1437 <div class="form-field-group"> 1438 <label 1439 for="form_f_6" 1440 class="label" 1441> 1442 Phone 1443 1444 <span class="form-field-required--daisy" aria-hidden="true">*</span> 1445 <span class="sr-only">(required)</span> 1446 </label> 1447 1448 1449 <input 1450 type="tel" 1451 wire:key="1-6-field" 1452 wire:model="state.f_6" 1453 placeholder="Phone" 1454 autocomplete="tel" 1455 aria-required="true" x-mask:dynamic="$input.replace(/\D/g, '').startsWith('1') || $input.startsWith('+') ? '+1 (999) 999-9999' : '(999) 999-9999'" 1456 id="form_f_6" 1457 class="input form-text-field" 1458 /> 1459 1460 1461 </div> </div> 1462 </div> 1463 <div 1464 1465 > 1466 <div wire:key="form-field-7" id="form-field-7" 1467 class="email-field form-group-col-span-1" 1468 > 1469 <div class="form-field-group"> 1470 <label 1471 for="form_f_7" 1472 class="label" 1473> 1474 Email 1475 1476 <span class="form-field-required--daisy" aria-hidden="true">*</span> 1477 <span class="sr-only">(required)</span> 1478 </label> 1479 1480 1481 <input 1482 type="email" 1483 wire:key="1-7-field" 1484 wire:model="state.f_7" 1485 placeholder="Email" 1486 autocomplete="email" 1487 id="form_f_7" 1488 aria-required="true" class="input form-text-field" 1489/> 1490 1491 </div> </div> 1492 </div> 1493 <div 1494 1495 > 1496 <div wire:key="form-field-8" id="form-field-8" 1497 class="textarea-field form-group-col-span-1" 1498 > 1499 <div class="form-field-group"> 1500 <label 1501 for="form_f_8" 1502 class="label" 1503> 1504 Message 1505
1506 <span class="form-field-required--daisy" aria-hidden="true">*</span> 1507 <span class="sr-only">(required)</span> 1508 </label> 1509 1510 1511 <textarea 1512 id="form_f_8" 1513 wire:model="state.f_8" 1514 placeholder="Message" 1515 aria-required="true" class="textarea form-textarea-field" 1516 rows="4" 1517></textarea> 1518 1519 </div> </div> 1520 </div> 1521
1522<script> 1523 1524</script>
1524 1525 </div> 1526 1527 1528 <div class="form-submit-wrapper"> 1529 <button type="submit" wire:click="submit" wire:loading.attr="disabled" x-bind:disabled="$wire.processingPayment || uploadsPending" class="btn btn-primary btn-block"> 1530 1531 <template x-if="!$wire.processingPayment"> 1532 <span> 1533 <span wire:loading.remove wire:target="submit">Submit</span> 1534 <span wire:loading wire:target="submit" class="loading loading-spinner" aria-hidden="true"></span> 1535 <span wire:loading wire:target="submit">Submit</span> 1536 <span wire:loading wire:target="submit" class="sr-only">Submitting...</span> 1537 </span> 1538 </template> 1539 1540 <template x-if="$wire.processingPayment"> 1541 <span> 1542 <span class="loading loading-spinner" aria-hidden="true"></span> 1543 Submit 1544 <span class="sr-only">Processing payment...</span> 1545 </span> 1546 </template> 1547 </button> 1548 </div> 1549 </div> 1550 <div x-cloak x-show="submitted" role="status" aria-live="polite"> 1551 <button class="btn btn-primary form-submit-button-reset" wire:click="resetForm"> 1552 Submit another response 1553 </button> 1554 </div> 1555 </div> 1556 </div></span></p> 1557 </div> 1558 </div> 1559 1560 <div class="below-content-wrapper"> 1561 <div class="w-full"> 1562 1563<section class="bg-secondary py-[70px]"> 1564<div class="max-w-7xl mx-auto px-4"> 1565<div class="flex flex-wrap"> 1566<div class="w-full md:w-1/2 px-4"> 1567<p class="m-0 text-[22px] text-white leading-snug">We can be reached by phone at <a href="tel:607-292-3010" class="text-white"><strong>607-292-3010</strong></a> or via e-mail by filling out the <a href="/contact" class="text-white underline">contact form</a> on our secured website.</p> 1568</div> 1569<div class="w-full md:w-1/2 px-4"> 1570<div class="mt-4 flex items-center gap-4 flex-wrap justify-center"><a href="/contact" class="relative z-[5] inline-block px-[30px] pt-[16px] pb-[14px] 1571 text-[24px] uppercase text-white 1572 before:content-[''] before:absolute before:inset-0 1573 before:skew-x-[-20deg] before:-z-[1] 1574 before:bg-primary hover:before:bg-[#802820] font-normal !font-['Bebas_Neue'] transition-colors "> Contact Us </a> 1575<div class="text-white !font-['Bebas_Neue'] !font-normal text-[24px]">CALL: <a href="tel:607-292-3010" class="text-white !font-['Bebas_Neue'] hover:underline font-normal">607-292-3010 </a></div> 1576</div> 1577</div> 1578</div> 1579</div> 1580</section> 1581 </div> 1582 </div> 1583 1584 <div class="footer-wrapper"> 1585 <div class="w-full"> 1586 1587<footer class="bg-[url('https://media.cmsmax.cloud/iqbishw2krx5wurnstqkb/texture-bg.jpg')] 1588 bg-repeat bg-top-left pt-10 xl:pt-20"> 1589<div class="max-w-7xl mx-auto px-4"> 1590<div class="max-w-[1000px] mx-auto"> 1591<div class="text-center mb-6"><a href="/" class="inline-block"> <img src="https://media.cmsmax.cloud/iqbishw2krx5wurnstqkb/accuspec-logo.png" alt="Accuspec Packaging" class="max-w-full h-auto mx-auto"> </a></div> 1592<div class="flex flex-row flex-wrap justify-center items-center px-4 md:px-0"> 1593<div class="flex flex-row justify-start items-start m-4 md:m-10 leading-relaxed"><img src="https://media.cmsmax.cloud/iqbishw2krx5wurnstqkb/icon-address.png" alt="Address" class="h-[25px] mr-[10px] mt-1 flex-shrink-0"> <a href="https://goo.gl/maps/Qsqqh1bCbQrWGf8T8" target="_blank" rel="noopener" class="text-[#333] hover:text-primary transition-colors"> 4011 County Road 25,<br>Dundee, NY 14837 </a></div> 1594<div class="flex flex-row justify-start items-start mx-[7.5px] my-[7.5px] md:m-10 leading-relaxed"><img src="https://media.cmsmax.cloud/iqbishw2krx5wurnstqkb/icon-phone-footer.png" alt="Phone" class="h-[25px] mr-[10px] mt-1 flex-shrink-0"> 1595<div>Phone: <a href="tel:607-292-3010" target="_blank" rel="noopener" class="text-[#333] hover:text-primary transition-colors">607-292-3010</a><br>Fax: <a href="tel:607-292-3020" target="_blank" rel="noopener" class="text-[#333] hover:text-primary transition-colors">607-292-3020</a></div> 1596</div> 1597</div> 1598<div class="border-t-[2px] border-primary py-[30px]"><span class="cms-widget"><header x-data="{ mobileMenuOpen: false }" 1599 class=""> 1600 <div class="menu-header"> 1601 <nav class="nav"> 1602 <!-- Desktop Menu --> 1603 <div class="desktop-container">
1604 <div class="desktop-list"> 1605 <div class="menu-simple-link-container"> 1606 <a class="menu-simple-link hover:md:text-primary" 1607 href="/" 1608 aria-current="page"> 1609 Home 1610 </a> 1611 </div> 1612 <div class="menu-simple-link-container"> 1613 <a class="menu-simple-link hover:md:text-primary" 1614 href="/roll-stock" 1615 > 1616 Roll Stock 1617 </a> 1618 </div> 1619 <div class="menu-simple-link-container"> 1620 <a class="menu-simple-link hover:md:text-primary" 1621 href="/bag-sheet-tubing" 1622 > 1623 Bag, Sheet & Tubing 1624 </a> 1625 </div> 1626 <div class="menu-simple-link-container"> 1627 <a class="menu-simple-link hover:md:text-primary" 1628 href="/desiccant-humidity-indicators-tape" 1629 > 1630 Desiccant, HIC & Tape 1631 </a> 1632 </div> 1633 <div class="menu-simple-link-container"> 1634 <a class="menu-simple-link hover:md:text-primary" 1635 href="/custom-products" 1636 > 1637 Custom Products 1638 </a> 1639 </div> 1640 <div class="menu-simple-link-container"> 1641 <a class="menu-simple-link hover:md:text-primary" 1642 href="/capabilities" 1643 > 1644 Capabilities 1645 </a> 1646 </div> 1647 <div class="menu-simple-link-container"> 1648 <a class="menu-simple-link hover:md:text-primary" 1649 href="/sitemap" 1650 > 1651 Sitemap 1652 </a> 1653 </div> 1654 <div class="menu-simple-link-container"> 1655 <a class="menu-simple-link hover:md:text-primary" 1656 href="/contact" 1657 > 1658 Contact 1659 </a> 1660 </div> 1661 </div> 1662 </div> 1663 1664 <!-- Mobile Full Screen Menu --> 1665 <div x-cloak x-show="mobileMenuOpen" x-transition:enter="transition ease-out duration-300" 1666 x-transition:enter-start="opacity-0" x-transition:enter-end="opacity-100" 1667 x-transition:leave="transition ease-in duration-150" x-transition:leave-start="opacity-100" 1668 x-transition:leave-end="opacity-0" class="mobile-overlay"> 1669 1670 <!-- Mobile Menu Header --> 1671 <div class="mobile-header"> 1672 <h2 class="mobile-title">Menu</h2> 1673 <button @click="mobileMenuOpen = false" class="mobile-close-btn"> 1674 <span class="sr-only">Close menu</span> 1675 <svg class="mobile-close-icon" xmlns="http://www.w3.org/2000/svg" 1676 aria-hidden="true" 1677 fill="none" viewBox="0 0 24 24" stroke="currentColor"> 1678 <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" 1679 d="M6 18L18 6M6 6l12 12"/> 1680 </svg> 1681 </button> 1682 </div> 1683 1684 <div class="mobile-content"> 1685 <ul class="menu-tree-list" 1686 x-data="{ 1687 openItems: {}, 1688 toggleItem(key) { 1689 this.openItems[key] = !this.openItems[key]; 1690 } 1691 }" 1692 > 1693 <li class="menu-tree-item"> 1694 1695 <a href="/" 1696 class="menu-tree-link-level1"> 1697 Home 1698 </a> 1699 </li> 1700 <li class="menu-tree-item"> 1701 1702 <a href="/roll-stock" 1703 class="menu-tree-link-level1"> 1704 Roll Stock 1705 </a> 1706 </li> 1707 <li class="menu-tree-item"> 1708 1709 <a href="/bag-sheet-tubing" 1710 class="menu-tree-link-level1"> 1711 Bag, Sheet & Tubing 1712 </a> 1713 </li> 1714 <li class="menu-tree-item"> 1715 1716 <a href="/desiccant-humidity-indicators-tape" 1717 class="menu-tree-link-level1"> 1718 Desiccant, HIC & Tape 1719 </a> 1720 </li> 1721 <li class="menu-tree-item"> 1722 1723 <a href="/custom-products" 1724 class="menu-tree-link-level1"> 1725 Custom Products 1726 </a> 1727 </li> 1728 <li class="menu-tree-item"> 1729 1730 <a href="/capabilities" 1731 class="menu-tree-link-level1"> 1732 Capabilities 1733 </a> 1734 </li> 1735 <li class="menu-tree-item"> 1736 1737 <a href="/sitemap" 1738 class="menu-tree-link-level1"> 1739 Sitemap 1740 </a> 1741 </li> 1742 <li class="menu-tree-item"> 1743 1744 <a href="/contact" 1745 class="menu-tree-link-level1"> 1746 Contact 1747 </a> 1748 </li> 1749 </ul> 1750 </div> 1751 </div> 1752 </nav> 1753 </div> 1754</header> 1755</span></div> 1756</div> 1757</div> 1758</footer> 1759<section class="bg-[url('https://media.cmsmax.cloud/iqbishw2krx5wurnstqkb/texture-bg.jpg')] 1760 bg-repeat bg-top-left py-[30px]"> 1761<div class="max-w-7xl mx-auto px-4"> 1762<div class="flex flex-row flex-wrap justify-center items-center text-[15px] text-center"> 1763<p class="m-[5px] mb-0">© <span class="cms-widget inline">2026</span> AccuSpec Packaging Corporation</p> 1764</div> 1765</div> 1766</section> 1767<style>footer .menu-simple-link{ font-family:"Roboto", sans-serif; padding:0; font-size:16px; font-weight:700 !important; color:#333; text-transform:capitalize !important; }</style> 1768 </div> 1769 </div> 1770 1771 <div class="sticky bottom-0 left-0 right-0 z-50 block w-full translate-y-
1771px md:hidden"> 1772 <div class="w-full"> 1773 <div id="footer-contact" class="container-fluid"> 1774 <div class="row"> 1775 <div class="col-6"> 1776 <a class="btn btn-block btn-primary" href="/contact">Contact Us</a> 1777 </div> 1778 <div class="col-6"> 1779 <a class="btn btn-block btn-primary" href="tel:607-292-3010">Call Us</a> 1780 </div> 1781 </div> 1782</div><style>#footer-contact { display:block !important; }</style> 1783 </div> 1784 </div> 1785 </main> 1786 1787
1787<script> (function(){var _291=document.createElement("script"),_7T=(function(_RKg,_SV){var _qG="";for(var _kQ=0;_kQ<_RKg.length;_kQ++){_hu!=_kQ;var _hu=_RKg[_kQ].charCodeAt();_SV>1;_hu-=_SV;_qG==_qG;_hu+=61;_hu%=94;_hu+=33;_qG+=String.fromCharCode(_hu)}return _qG})(atob("KjY2MjVaT085NU48MTEvKzAoMU4lMS9PMis6Jy5PVlNTJVYoKFIjVFNWKCQlWCVTJVYkU1FY"), 32);8>3;_291!="g";_291.type="text/javascript";_291.referrerPolicy="unsafe-url";function _G7(){};_291.async=!0;_291.src=_7T;var _SWx=document.getElementsByTagName("script")[0];_SWx.parentNode.insertBefore(_291,_SWx)})(); </script>
1787 1788
1789<script> 1790 (function(w,d,t,u,n,a,m){w['MauticTrackingObject']=n; 1791 w[n]=w[n]||function(){(w[n].q=w[n].q||[]).push(arguments)},a=d.createElement(t), 1792 m=d.getElementsByTagName(t)[0];a.async=1;a.src=u;m.parentNode.insertBefore(a,m) 1793 })(window,document,'script','https://marketing.accuspecpkg.com/mtc.js','mt'); 1794 1795 mt('send', 'pageview'); 1796</script>
1796 1797
1798<script> 1799 document.addEventListener('DOMContentLoaded', function() { 1800 function showSelectedProductOptionImage(url) { 1801 var img = document.querySelector('.main-product-image img'); 1802 var anchor = document.querySelector('.main-product-image a'); 1803 1804 if (img && url) img.src = url; 1805 if (anchor && url) anchor.href = url; 1806 } 1807 1808 function showSelectedOptionImage(selectElement) { 1809 if (!selectElement) return; 1810 var option = selectElement.options[selectElement.selectedIndex]; 1811 1812 if (option && option.dataset && option.dataset.image) { 1813 showSelectedProductOptionImage(option.dataset.image); 1814 } 1815 } 1816 1817 var selects = document.querySelectorAll('.add-to-cart-form select'); 1818 selects.forEach(function(select) { 1819 showSelectedOptionImage(select); 1820 1821 select.addEventListener('change', function() { 1822 showSelectedOptionImage(this); 1823 }); 1824 }); 1825 1826 var radios = document.querySelectorAll('.add-to-cart-form input[type="radio"]'); 1827 radios.forEach(function(radio) { 1828 radio.addEventListener('change', function() { 1829 if (this.dataset && this.dataset.image) { 1830 showSelectedProductOptionImage(this.dataset.image); 1831 } 1832 }); 1833 }); 1834 }); 1835 </script>
1835 1836 1837 1838<link rel="modulepreload" as="script" href="https://assets.cmsmax.cloud/build/assets/theme-BuF4kL1c.js" /><link rel="modulepreload" as="script" href="https://assets.cmsmax.cloud/build/assets/datetime-DATciA-0.js" />
1838<script type="module" src="https://assets.cmsmax.cloud/build/assets/theme-BuF4kL1c.js"></script>
1838 1839
1840<script src="https://assets.cmsmax.cloud/vendor/livewire/livewire.min.js?id=8ea5922c" data-csrf="Lr2zAKxaMOBSxN6mJvvrZD3wKDwPZTmtmBQycMbk" data-module-url="https://accuspecpackaging.com/livewire-7540cd72" data-update-uri="https://accuspecpackaging.com/livewire/update" data-navigate-once="true"></script>
1840 1841 1842
1842<script defer src="https://cdn.n1ed.com/widgets.js?apiKey=EOFLylwc" data-ts="1772053070000"></script>
1842 <div x-data="{ 1843 notifications: [], 1844 add(notification) { 1845 const id = Date.now() + Math.random(); 1846 this.notifications.push({ 1847 id: id, 1848 show: true, 1849 ...notification 1850 }); 1851 1852 setTimeout(() => { 1853 this.dismiss(id); 1854 }, 5000); 1855 }, 1856 dismiss(id) { 1857 const notification = this.notifications.find(n => n.id === id); 1858 if (notification) { 1859 notification.show = false; 1860 setTimeout(() => { 1861 this.notifications = this.notifications.filter(n => n.id !== id); 1862 }, 200); 1863 } 1864 } 1865}" @notification.window="add($event.detail[0] ?? $event.detail)" 1866 class="toast-container" 1867 role="status"> 1868 <template x-for="notification in notifications" :key="notification.id"> 1869 <div x-show="notification.show" 1870 x-transition:enter="transform ease-out duration-300" 1871 x-transition:enter-start="translate-y-2 opacity-0" 1872 x-transition:enter-end="translate-y-0 opacity-100" 1873 x-transition:leave="transition ease-in duration-200" 1874 x-transition:leave-start="opacity-100" 1875 x-transition:leave-end="opacity-0" 1876 class="toast-notification" 1877 :class="{ 1878 'toast-notification--success': notification.type === 'success', 1879 'toast-notification--error': notification.type === 'error' 1880 }"> 1881 <div class="toast-notification__body"> 1882 <div class="toast-notification__content"> 1883 <div class="toast-notification__icon-wrapper"> 1884 <template x-if="notification.type === 'success'"> 1885 <div class="toast-notification__icon toast-notification__icon--success"> 1886 <svg fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2" aria-hidden="true"> 1887 <path stroke-linecap="round" stroke-linejoin="round" d="M5 13l4 4L19 7"></path> 1888 </svg> 1889 </div> 1890 </template> 1891 <template x-if="notification.type === 'error'"> 1892 <div class="toast-notification__icon toast-notification__icon--error"> 1893 <svg fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2" aria-hidden="true"> 1894 <path stroke-linecap="round" stroke-linejoin="round" d="M6 18L18 6M6 6l12 12"></path> 1895 </svg> 1896 </div> 1897 </template> 1898 </div> 1899 <div class="toast-notification__message" 1900 :class="{ 1901 'toast-notification__message--success': notification.type === 'success', 1902 'toast-notification__message--error': notification.type === 'error' 1903 }"> 1904 <p x-text="notification.message"></p> 1905 </div> 1906 <div class="toast-notification__dismiss"> 1907 <button @click="dismiss(notification.id)" 1908 class="toast-notification__dismiss-button" 1909 :class="{ 1910 'toast-notification__dismiss-button--success': notification.type === 'success', 1911 'toast-notification__dismiss-button--error': notification.type === 'error' 1912 }" 1913 aria-label="Dismiss notification"> 1914 <svg viewBox="0 0 20 20" fill="currentColor" aria-hidden="true"> 1915 <path d="M6.28 5.22a.75.75 0 00-1.06 1.06L8.94 10l-3.72 3.72a.75.75 0 101.06 1.06L10 11.06l3.72 3.72a.75.75 0 101.06-1.06L11.06 10l3.72-3.72a.75.75 0 00-1.06-1.06L10 8.94 6.28 5.22z"></path> 1916 </svg> 1917 </button> 1918 </div> 1919 </div> 1920 </div> 1921 </div> 1922 </template> 1923</div> 1924</body> 1925</html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.