1 2 3<!DOCTYPE html> 4<html lang="en" prefix="og: https://ogp.me/ns#"> 5 6<head> 7 <link rel="preconnect" href="https://res.cloudinary.com" /> 8 <link rel="preconnect" href="https://fonts.googleapis.com"> 9 <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> 10 11 <link rel="preload" as="style" href="https://fonts.googleapis.com/css2?family=Source+Sans+Pro:wght@900&family=Source+Sans+Pro&display=swap" /> 12 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Source+Sans+Pro:wght@900&family=Source+Sans+Pro&display=swap" media="print" onload="this.media='all'" /> 13 <noscript> 14 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Source+Sans+Pro:wght@900&family=Source+Sans+Pro&display=swap" /> 15 </noscript> 16 17 18
18<script type='application/ld+json'> 19 { 20 "@context": "https://schema.org", 21 "@graph": [ 22 { 23 "@type": "Organization", 24 "name": "Mastantuono Coffee & Thomas", 25 "url": "https://www.milwaukeecriminallawyers.com", 26 "logo": "https://res.cloudinary.com/debi2p5ek/image/upload/v1659633844/2020/40868-mctl-logos-2022f-rule3original-1-1-d7b09956.png" 27 }, 28 { 29 "@type": "LegalService", 30 "parentOrganization": { 31 "name": "Mastantuono Coffee & Thomas" 32 }, 33 "name": "Mastantuono Coffee & Thomas", 34 "address": { 35 "@type": "PostalAddress", 36 "addressCountry": "US", 37 "addressLocality": "Milwaukee", 38 "addressRegion": "WI", 39 "postalCode": "53202", 40 "streetAddress": "219 N Milwaukee St Ste 520" 41 }, 42 "telephone": "+14142768662", 43 "faxNumber": null, 44 "openingHoursSpecification": [], 45 "geo": { 46 "@type": "GeoCoordinates", 47 "latitude": "43.03324000", 48 "longitude": "-87.90628000" 49 } 50 }, 51 { 52 "@type": "LegalService", 53 "parentOrganization": { 54 "name": "Mastantuono Coffee & Thomas" 55 }, 56 "name": "Mastantuono Coffee & Thomas", 57 "address": { 58 "@type": "PostalAddress", 59 "addressCountry": "US", 60 "addressLocality": "Waukesha", 61 "addressRegion": "WI", 62 "postalCode": "53186", 63 "streetAddress": "741 N Grand Ave Ste 209" 64 }, 65 "telephone": "+12624226999", 66 "faxNumber": null, 67 "openingHoursSpecification": [], 68 "geo": { 69 "@type": "GeoCoordinates", 70 "latitude": "43.01053710", 71 "longitude": "-88.23145380" 72 } 73 } 74 ] 75} 76 </script>
76 77 78 79 <meta charset="utf-8"> 80 <meta name="viewport" content="width=device-width, initial-scale=1.0"> 81 <link rel="shortcut icon" id="favicon" href="https://d11o58it1bhut6.cloudfront.net/production/2020/assets/favicon-f813073a.png" /> 82 83 <title>Milwaukee criminal defense lawyer with a strong reputation | Mastantuono Coffee & Thomas</title> 84 <meta name="description" content='Being accused of a crime is a serious matter that warrants the insight of Milwaukee criminal defense lawyer Craig Mastantuono.'> 85 <meta property="og:description" content='Being accused of a crime is a serious matter that warrants the insight of Milwaukee criminal defense lawyer Craig Mastantuono.'> 86 <meta property="og:url" content="http://www.milwaukeecriminallawyers.com/our-team/craig-mastantuono/"> 87 <meta property="og:title" content="Milwaukee criminal defense lawyer with a strong reputation | Mastantuono Coffee & Thomas"> 88 <meta property="og:type" content="website"> 89 90 <link rel="canonical" href="https://www.milwaukeecriminallawyers.com/our-team/craig-mastantuono/" /> 91
92<script id="block-javascript-defer-methods"> 93 window.defer_methods = [] 94</script>
94 95
96<script id="google-maps-async-loader"> 97 (g=>{var h,a,k,p="The Google Maps JavaScript API",c="google",l="importLibrary",q="__ib__",m=document,b=window;b=b[c]||(b[c]={});var d=b.maps||(b.maps={}),r=new Set,e=new URLSearchParams,u=()=>h||(h=new Promise(async(f,n)=>{await (a=m.createElement("script"));e.set("libraries",[...r]+"");for(k in g)e.set(k.replace(/[A-Z]/g,t=>"_"+t[0].toLowerCase()),g[k]);e.set("callback",c+".maps."+q);a.src=`https://maps.${c}apis.com/maps/api/js?`+e;d[q]=f;a.onerror=()=>h=n(Error(p+" could not load."));a.nonce=m.querySelector("script[nonce]")?.nonce||"";m.head.append(a)}));d[l]?console.warn(p+" only loads once. Ignoring:",g):d[l]=(f,...n)=>r.add(f)&&u().then(()=>d[l](f,...n))})({ 98 key: "AIzaSyClUQjniXnL1L5b1lUNcWC-0Zb-eSC-9AY" 99 }); 100</script>
100 101 <link type="text/css" href="https://d11o58it1bhut6.cloudfront.net/production/v1.137.1/mastantuono-342459/assets/main.website-mastantuono-342459.d5d36e3cdff0ac76fa94.bundle.min.css" rel="stylesheet" id="main-css" /> 102 103
103<script> 104 window.isEditMode = false ; 105 window.customFormRedirects = { 106 default(formId) { 107 window.location = `${window.location.origin}/leads/send_inquiry/?form_id=${formId}` 108 } 109} 110 </script>
110 111 112 113 <style> 114 @media screen and (max-width: 575px) { 115 img { 116 max-width: 100vw; 117 } 118 .tns-inner { 119 overflow: hidden; 120 } 121 } 122 123 #main-content { 124 scroll-margin-top: 10rem; 125 } 126 127 a.skip-link { 128 left: -999px; 129 position: absolute; 130 outline: 2px solid #fd0; 131 outline-offset: 0; 132 background-color: #fd0; 133 color: #000; 134 z-index: 100000; 135 padding: .5rem 1rem; 136 text-decoration: underline; 137 display: block; 138 139 &:focus { 140 position: relative; 141 left: unset; 142 width: 100vw; 143 } 144 } 145 146 iframe[data-aspectratio='16:9'] { 147 aspect-ratio: 16/9; 148 } 149 150 iframe[data-aspectratio='9:16'] { 151 aspect-ratio: 9/16; 152 } 153 154 iframe[data-aspectratio='1:1'] { 155 aspect-ratio: 1/1; 156 } 157 158 iframe[data-aspectratio='2:3'] { 159 aspect-ratio: 2/3; 160 } 161 162 iframe[data-aspectratio='4:5'] { 163 aspect-ratio: 4/5; 164 } 165 </style> 166 167</head> 168 169<body class="page content "> 170 <a class="skip-link" href="#main-content" tabindex="0">Skip to main content</a> 171 172 173 174 175 176 <style type="text/css">.block-15489.header.gotham-navigation-transparent-conversion-only .top-nav{background-color:#FFFFFF;color:#064073}.block-15489.header.gotham-navigation-transparent-conversion-only .phone-text-box .phone-icon{border:2px solid #FFBC00;fill:#064073}.block-15489.header.gotham-navigation-transparent-conversion-only .navbar-toggler,.block-15489.header.gotham-navigation-transparent-conversion-only .btn-display.single{background-color:#FFBC00}.block-15489.header.gotham-navigation-transparent-conversion-only .navbar-toggler svg,.block-15489.header.gotham-navigation-transparent-conversion-only .btn-display.single svg{fill:#FFFFFF}.block-15489.header.gotham-navigation-transparent-conversion-only .nav-bottom{background-color:rgba(255,255,255,0.8)}.block-15489.header.gotham-navigation-transparent-conversion-only .nav-item{color:#064073}.block-15489.header.gotham-navigation-transparent-conversion-only .phone-display{font-family:Source Sans Pro}.block-15489.header.gotham-navigation-transparent-conversion-only .nav-item span{color:inherit;font-family:Source Sans Pro}@media (min-width:992px){.block-15489.header.gotham-navigation-transparent-conversion-only .do-not-hover:hover .no-link span{color:#064073!important}}@media (min-width:992px){.block-15489.header.gotham-navigation-transparent-conversion-only .dropdown.do-not-index:hover .dropdown-toggle>svg,.block-15489.header.gotham-navigation-transparent-conversion-only .dropdown.do-not-index:hover .nav-link>span{color:#064073!important}}.block-15489.header.gotham-navigation-transparent-conversion-only .nav-top{padding:1rem 15px}.block-15489.header.gotham-navigation-transparent-conversion-only .phone-wrapper{padding:0}@media (max-width:991.98px){.block-15489.header.gotham-navigation-transparent-conversion-only .dropdown-menu .dropdown .dropdown-menu{column-count:1!important}}.block-15489.header.gotham-navigation-transparent-conversion-only.scrolled .nav-top{display:none}@media (max-width:991.98px){.block-15489.header.gotham-navigation-transparent-conversion-only.scrolled .nav-top{display:flex}}.block-15489.header.gotham-navigation-transparent-conversion-only .mobile-navbar-payments-button{display:flex;margin-bottom:0.5rem;margin-top:1rem;flex-direction:column}</style> 177 178<header class="block block-15489 header gotham-navigation-transparent-conversion-only"> 179 180 181 182 183 184 185 186 187 188 189 <div class="header"> 190 <nav id="affix" class="navbar banner top-nav"> 191 <div class="container nav-top"> 192 <div class="logo-wrapper"> 193 <a aria-label="link to home page" href="/" class="header-logo"> 194 <picture> 195 <source media="(max-width:991px)" srcset="https://res.cloudinary.com/debi2p5ek/image/upload/w_350/v1/2020/40869-mctl-logos-2022f-rule3original-1-1-7a8f6b69.png"> 196 <source media="(min-width:992px)" srcset="https://res.cloudinary.com/debi2p5ek/image/upload/v1659633844/2020/40868-mctl-logos-2022f-rule3original-1-1-d7b09956.png"> 197 <img fetchpriority="low" src="https://res.cloudinary.com/debi2p5ek/image/upload/v1659633844/2020/40868-mctl-logos-2022f-rule3original-1-1-d7b09956.png" alt="Mastantuono Coffee & Thomas" class="logo"> 198 </picture> 199 200 </a> 201 </div> 202 <div class="menu-wrapper"> 203 <button 204 id="menuMobileButton" 205 data-collapse-trigger="menu-collapse-trigger" 206 class="navbar-toggler btn-main btn btn-display" 207 aria-label="Toggle Mobile Navigation Menu" 208 aria-expanded="false" 209 > 210 <svg class='icon' xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="#000000"><path d="M0 0h24v24H0z" fill="none"/><path d="M3 18h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z"/></svg> 211 </button> 212 </div> 213 214 <div class="phone-wrapper"> 215 216 <button 217 class="navbar-toggler btn-main btn btn-display" 218 id="phoneMobileButton" 219 type="button" 220 data-collapse-trigger="phone-collapse-trigger" 221 aria-label="Toggle Mobile Phone Menu" 222 aria-selected="false" 223 aria-expanded="false" 224 > 225 <svg class='icon' xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="#000000"><path d="M0 0h24v24H0z" fill="none"/><path d="M20.01 15.38c-1.23 0-2.42-.2-3.53-.56-.35-.12-.74-.03-1.01.24l-1.57 1.97c-2.83-1.35-5.48-3.9-6.89-6.83l1.95-1.66c.27-.28.35-.67.24-1.02-.37-1.11-.56-2.3-.56-3.53 0-.54-.45-.99-.99-.99H4.19C3.65 3 3 3.24 3 3.99 3 13.28 10.73 21 20.01 21c.71 0 .99-.63.99-1.18v-3.45c0-.54-.45-.99-.99-.99z"/></svg> 226 </button> 227 228 <div class="d-none d-lg-block phone-text-box"> 229 <div class="phone-number-wrapper"> 230 <a aria-label="link to call attorney Milwaukee: 414-276-8662" href="tel:+14142768662" class="w-100 header-phone-number phone-btn text-nowrap"> 231 <svg class='icon phone-icon' xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="#000000"><path d="M0 0h24v24H0z" fill="none"/><path d="M20.01 15.38c-1.23 0-2.42-.2-3.53-.56-.35-.12-.74-.03-1.01.24l-1.57 1.97c-2.83-1.35-5.48-3.9-6.89-6.83l1.95-1.66c.27-.28.35-.67.24-1.02-.37-1.11-.56-2.3-.56-3.53 0-.54-.45-.99-.99-.99H4.19C3.65 3 3 3.24 3 3.99 3 13.28 10.73 21 20.01 21c.71 0 .99-.63.99-1.18v-3.45c0-.54-.45-.99-.99-.99z"/></svg> 232 <span class='phone-display'>Milwaukee: 414-276-8662</span> 233 </a> 234 </div> 235 <div class="phone-number-wrapper"> 236 <a aria-label="link to call attorney Waukesha: 262-422-6999" href="tel:+12624226999" class="w-100 header-phone-number phone-btn text-nowrap"> 237 <svg class='icon phone-icon' xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="#000000"><path d="M0 0h24v24H0z" fill="none"/><path d="M20.01 15.38c-1.23 0-2.42-.2-3.53-.56-.35-.12-.74-.03-1.01.24l-1.57 1.97c-2.83-1.35-5.48-3.9-6.89-6.83l1.95-1.66c.27-.28.35-.67.24-1.02-.37-1.11-.56-2.3-.56-3.53 0-.54-.45-.99-.99-.99H4.19C3.65 3 3 3.24 3 3.99 3 13.28 10.73 21 20.01 21c.71 0 .99-.63.99-1.18v-3.45c0-.54-.45-.99-.99-.99z"/></svg> 238 <span class='phone-display'>Waukesha: 262-422-6999</span> 239 </a> 240 <div class="phone-text underneath">Criminal Defense & Crisis Management</div> 241 </div> 242 </div> 243 244 </div> 245 </div> 246 <div class="nav-bottom-container"> 247 <div id="affix-bottom" class="container-fluid navbar-expand-lg nav-bottom"> 248 <div class="row justify-content-center"> 249 <div class="menu-wrapper"> 250 <div class="collapse navbar-collapse" id="navbarSupportedContentMenu" data-collapse-target="menu-collapse-target"> 251 <ul class="navbar-nav"> 252 <li class="nav-item dropdown active"> 253 <a arial-label="Meet Our Team" class="nav-link" 254 href="/our-team/"><span>Meet Our Team</span></a> 255 <button type="button" class="dropdown-toggle dropdown-toggle-split" data-toggle-trigger="dropdown-trigger-69384" aria-label="Toggle Dropdown" aria-expanded="false"> 256 <svg class='icon' xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="#000000"><path d="M0 0h24v24H0z" fill="none"/><path d="M16.59 8.59L12 13.17 7.41 8.59 6 10l6 6 6-6z"/></svg> 257 </button> 258 259 <ul class="dropdown-menu" data-toggle-target="dropdown-target-69384" aria-expanded="false"> 260 <li class="active-child"><a aria-label="Craig Mastantuono" class="dropdown-item" href="/our-team/craig-mastantuono/">
261 <span>Craig Mastantuono</span> 262 </a></li> 263 <li class=""><a aria-label="Rebecca Coffee" class="dropdown-item" href="/our-team/rebecca-coffee/"> 264 <span>Rebecca Coffee</span> 265 </a></li> 266 <li class=""><a aria-label="Leah Thomas" class="dropdown-item" href="/our-team/leah-thomas/"> 267 <span>Leah Thomas</span> 268 </a></li> 269 <li class=""><a aria-label="Patrick Sicula" class="dropdown-item" href="/our-team/patrick-sicula/"> 270 <span>Patrick Sicula</span> 271 </a></li> 272 <li class=""><a aria-label="Marcus Ruiz" class="dropdown-item" href="/our-team/marcus-ruiz/"> 273 <span>Marcus Ruiz</span> 274 </a></li> 275 <li class=""><a aria-label="Jada Miller" class="dropdown-item" href="/our-team/jada-miller/"> 276 <span>Jada Miller</span> 277 </a></li> 278 <li class=""><a aria-label="Dagmar Rios" class="dropdown-item" href="/our-team/dagmar-rios/"> 279 <span>Dagmar Rios</span> 280 </a></li> 281 </ul> 282 </li> 283 284 <li class="nav-item dropdown "> 285 <a arial-label="Criminal Defense" class="nav-link" 286 href="/criminal-defense/"><span>Criminal Defense</span></a> 287 <button type="button" class="dropdown-toggle dropdown-toggle-split" data-toggle-trigger="dropdown-trigger-69370" aria-label="Toggle Dropdown" aria-expanded="false"> 288 <svg class='icon' xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="#000000"><path d="M0 0h24v24H0z" fill="none"/><path d="M16.59 8.59L12 13.17 7.41 8.59 6 10l6 6 6-6z"/></svg> 289 </button> 290 291 <ul class="dropdown-menu" data-toggle-target="dropdown-target-69370" aria-expanded="false"> 292 <li class=""><a aria-label="Federal Offenses" class="dropdown-item" href="/criminal-defense/federal-offenses/"> 293 <span>Federal Offenses</span> 294 </a></li> 295 <li class=""><a aria-label="Criminal Investigations & Crisis Management" class="dropdown-item" href="/criminal-defense/criminal-investigations-crisis-management/"> 296 <span>Criminal Investigations & Crisis Management</span> 297 </a></li> 298 <li class=""><a aria-label="Commutations & Pardons" class="dropdown-item" href="/criminal-defense/commutations-pardons/"> 299 <span>Commutations & Pardons</span> 300 </a></li> 301 <li class=""><a aria-label="Homicide" class="dropdown-item" href="/criminal-defense/homicide/"> 302 <span>Homicide</span> 303 </a></li> 304 <li class=""><a aria-label="Sex Crimes" class="dropdown-item" href="/criminal-defense/sex-crimes/"> 305 <span>Sex Crimes</span> 306 </a></li> 307 <li class=""><a aria-label="Gun Offenses" class="dropdown-item" href="/criminal-defense/gun-offenses/"> 308 <span>Gun Offenses</span> 309 </a></li> 310 <li class=""><a aria-label="Domestic Violence" class="dropdown-item" href="/criminal-defense/domestic-violence/"> 311 <span>Domestic Violence</span> 312 </a></li> 313 <li class=""><a aria-label="Drunk Driving / OWI" class="dropdown-item" href="/criminal-defense/drunk-driving/"> 314 <span>Drunk Driving / OWI</span> 315 </a></li> 316 <li class=""><a aria-label="Drug Offenses" class="dropdown-item" href="/criminal-defense/drug-offenses/"> 317 <span>Drug Offenses</span> 318 </a></li> 319 <li class=""><a aria-label="Other Felony & Misdemeanor Cases" class="dropdown-item" href="/criminal-defense/other-felony-misdemeanor-cases/"> 320 <span>Other Felony & Misdemeanor Cases</span> 321 </a></li> 322 <li class=""><a aria-label="Traffic Violations" class="dropdown-item" href="/criminal-defense/traffic-violations/"> 323 <span>Traffic Violations</span> 324 </a></li> 325 </ul> 326 </li> 327 328 <li class="nav-item "><a aria-label="Reviews" class="nav-link" href="/reviews/"> 329 <span>Reviews</span> 330 </a></li> 331 <li class="nav-item "><a aria-label="Results" class="nav-link" href="/case-results/">
332 <span>Results</span> 333 </a></li> 334 <li class="nav-item dropdown "> 335 <a arial-label="Criminal Law FAQs" class="nav-link" 336 href="/criminal-law-faqs/"><span>Criminal Law FAQs</span></a> 337 <button type="button" class="dropdown-toggle dropdown-toggle-split" data-toggle-trigger="dropdown-trigger-69381" aria-label="Toggle Dropdown" aria-expanded="false"> 338 <svg class='icon' xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="#000000"><path d="M0 0h24v24H0z" fill="none"/><path d="M16.59 8.59L12 13.17 7.41 8.59 6 10l6 6 6-6z"/></svg> 339 </button> 340 341 <ul class="dropdown-menu" data-toggle-target="dropdown-target-69381" aria-expanded="false"> 342 <li class=""><a aria-label="What Happens in Court" class="dropdown-item" href="/criminal-law-faqs/what-happens-court/"> 343 <span>What Happens in Court</span> 344 </a></li> 345 <li class=""><a aria-label="Legal Terms Defined" class="dropdown-item" href="/criminal-law-faqs/legal-terms-defined/"> 346 <span>Legal Terms Defined</span> 347 </a></li> 348 <li class=""><a aria-label="Character Letters" class="dropdown-item" href="/criminal-law-faqs/character-letter/"> 349 <span>Character Letters</span> 350 </a></li> 351 </ul> 352 </li> 353 354 <li class="nav-item "><a aria-label="Blog" class="nav-link" href="/blog/"> 355 <span>Blog</span> 356 </a></li> 357 <li class="nav-item "><a aria-label="Contact Us" class="nav-link" href="/contact-us/"> 358 <span>Contact Us</span> 359 </a></li> 360 </ul> 361 </div> 362 363 364 <div class="collapse navbar-collapse phone" id="navbarSupportedContentPhone" data-collapse-target="phone-collapse-target" aria-expanded="false"> 365 <ul class="d-lg-none navbar-nav"> 366 <li class="nav-item"> 367 <a class="nav-link d-flex justify-content-between" href="tel:+14142768662"> 368 <span class="phone-text-mobile">Milwaukee: 414-276-8662</span> 369 <div class="icon-arrow"> 370 <svg aria-hidden="true" focusable="false" data-prefix="fas" data-icon="long-arrow-alt-right" class="svg-inline--fa fa-long-arrow-alt-right fa-w-14" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="currentColor" d="M313.941 216H12c-6.627 0-12 5.373-12 12v56c0 6.627 5.373 12 12 12h301.941v46.059c0 21.382 25.851 32.09 40.971 16.971l86.059-86.059c9.373-9.373 9.373-24.569 0-33.941l-86.059-86.059c-15.119-15.119-40.971-4.411-40.971 16.971V216z"></path></svg> 371 </div> 372 </a> 373 </li> 374 <li class="nav-item"> 375 <a class="nav-link d-flex justify-content-between" href="tel:+12624226999"> 376 <span class="phone-text-mobile">Waukesha: 262-422-6999</span> 377 <div class="icon-arrow"> 378 <svg aria-hidden="true" focusable="false" data-prefix="fas" data-icon="long-arrow-alt-right" class="svg-inline--fa fa-long-arrow-alt-right fa-w-14" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="currentColor" d="M313.941 216H12c-6.627 0-12 5.373-12 12v56c0 6.627 5.373 12 12 12h301.941v46.059c0 21.382 25.851 32.09 40.971 16.971l86.059-86.059c9.373-9.373 9.373-24.569 0-33.941l-86.059-86.059c-15.119-15.119-40.971-4.411-40.971 16.971V216z"></path></svg> 379 </div> 380 </a> 381 </li> 382 </ul> 383 </div> 384 385 </div> 386 </div> 387 </div> 388 </div> 389 </nav> 390 <div class="text-message d-none "> 391 <div class="message position-relative"> 392 <a aria-label="link to text attorney " href="sms:"> 393 394 </a> 395 </div> 396 </div> 397 </div> 398</header> 399 400 401
401<script> 402 window.defer_methods.push(function() { 403const cssSelector = '.block-15489.header.gotham-navigation-transparent-conversion-only' 404const hideOppositeMenuOnClick = () => { 405 const mobilePhoneMenuBtn = document.getElementById('phoneMobileButton') 406 const mobilePhoneMenu = document.getElementById('navbarSupportedContentPhone') 407 const mobileNavMenuBtn = document.getElementById('menuMobileButton') 408 const mobileNavMenu = document.getElementById('navbarSupportedContentMenu') 409 410 const eventListener = (e) => { 411 const button = e.target.closest('button') 412 413 if (button === mobilePhoneMenuBtn) { 414 mobileNavMenuBtn.classList.add('collapsed') 415 mobileNavMenu.classList.remove('show') 416 } 417 418 if (button === mobileNavMenuBtn) { 419 mobilePhoneMenuBtn.classList.add('collapsed') 420 mobilePhoneMenu.classList.remove('show') 421 } 422 } 423 424 if (mobilePhoneMenuBtn) { 425 mobilePhoneMenuBtn.addEventListener('click', eventListener) 426 mobileNavMenuBtn.addEventListener('click', eventListener) 427 } 428} 429 430const handleNavHiding = (topNavEl, navEl) => { 431 window.addEventListener('scroll', () => { 432 const topHeaderHeight = document.querySelector(topNavEl).offsetHeight 433 const nav = document.querySelector(navEl) 434 const currentScrollPosition = document.documentElement.scrollTop 435 const windowWidth = window.innerWidth 436 437 if (windowWidth < 991) { 438 return 439 } 440 441 if (currentScrollPosition > topHeaderHeight) { 442 nav.classList.add('scrolled') 443 } else { 444 nav.classList.remove('scrolled') 445 } 446 }) 447} 448 449handleNavHiding('.nav-top', cssSelector) 450hideOppositeMenuOnClick() 451 452useCollapse({ 453 trigger: `${cssSelector} [data-collapse-trigger='menu-collapse-trigger']`, 454 target: `${cssSelector} [data-collapse-target='menu-collapse-target']` 455 }) 456 457useCollapse({ 458 trigger: `${cssSelector} [data-collapse-trigger='phone-collapse-trigger']`, 459 target: `${cssSelector} [data-collapse-target='phone-collapse-target']` 460}) 461 462useToggle({ 463 container: `${cssSelector}`, 464 element: '.dropdown-toggle' 465}) 466 467 468// Currently, This transparent nav will only be used with gotham interior hero so the assumption that padding top wont be set is safe. If we extend this further we need to better define standards around how to develop interior heros to avoid this breaking. 469const handleAddNavHeightToInteriorHero = () => { 470 document.getElementsByClassName('interior_hero')[0].style.paddingTop = document.getElementById('affix-bottom').offsetHeight + 'px' 471} 472 473handleAddNavHeightToInteriorHero(); 474window.addEventListener('resize', handleAddNavHeightToInteriorHero); 475 476}) 477 </script>
477 478 479 480<main id="main-content"> <style type="text/css">.block-15490.interior_hero.gotham-interior-hero .container{padding-top:3rem;padding-bottom:3rem}</style> 481 482 483<div class="block block-15490 interior_hero gotham-interior-hero section bg-image" 484 style="background-position-y:50%; background-position-x:0%;" 485 486> 487 <style type="text/css"> 488 @media (min-width: 1400px) { 489 .block-15490 { 490 background-image: url(''); 491 } 492 } 493 @media (min-width: 992px) and (max-width: 1399px) { 494 .block-15490 { 495 background-image: url('https://res.cloudinary.com/debi2p5ek/image/upload/f_auto,q_70,w_1400/v1/2020/41702-interior_hero3original2original-edb6e8f3.jpg'); 496 } 497 } 498 @media (min-width: 576px) and (max-width: 991px) { 499 .block-15490 { 500 background-image: url('https://res.cloudinary.com/debi2p5ek/image/upload/f_auto,q_70,w_991/v1/2020/41702-interior_hero3original2original-edb6e8f3.jpg'); 501 } 502 } 503 @media (max-width: 575px) { 504 .block-15490 { 505 background-image: url('https://res.cloudinary.com/debi2p5ek/image/upload/fl_progressive:steep,q_50,w_800/v1/2020/41702-interior_hero3original2original-edb6e8f3.jpg'); 506 } 507 } 508 </style> 509 510 <picture class="img-preloader" width="0" height="0" style="display: none !important;"> 511 <source media="(min-width: 1400px)" srcset=""> 512 <source media="(min-width: 992px) and (max-width: 1399px)" srcset="https://res.cloudinary.com/debi2p5ek/image/upload/f_auto,q_70,w_1400/v1/2020/41702-interior_hero3original2original-edb6e8f3.jpg"> 513 <source media="(min-width: 576px) and (max-width: 991px)" srcset="https://res.cloudinary.com/debi2p5ek/image/upload/f_auto,q_70,w_991/v1/2020/41702-interior_hero3original2original-edb6e8f3.jpg"> 514 <img fetchpriority="high" src="https://res.cloudinary.com/debi2p5ek/image/upload/fl_progressive:steep,q_50,w_800/v1/2020/41702-interior_hero3original2original-edb6e8f3.jpg"> 515 </picture> 516 517 518 519 520 <div class='desktop-hero d-none d-lg-block' style='background-image: url(https://res.cloudinary.com/debi2p5ek/image/upload/f_auto,q_70,w_1400/v1/2020/41702-interior_hero3original2original-edb6e8f3.jpg)'></div> 521 <div class='tablet-hero d-none d-sm-block d-lg-none' style='background-image: url(https://res.cloudinary.com/debi2p5ek/image/upload/f_auto,q_70,w_991/v1/2020/41702-interior_hero3original2original-edb6e8f3.jpg)'></div> 522 <div class='mobile-hero d-block d-sm-none' style='background-image: url(https://res.cloudinary.com/debi2p5ek/image/upload/fl_progressive:steep,q_50,w_800/v1/2020/41702-interior_hero3original2original-edb6e8f3.jpg)'></div> 523 524 <div class="container"> 525 <div class='row interior-hero'> 526 <div class='col-md-10 hero-wrapper'> 527 <span class="interior-hero-text h3" data-editable><strong>A Passionate Team of Advocates</strong></span> 528 <a class="btn btn-jordan btn-921948 smooth-sc" href="#consultation" aria-label="<strong>CONTACT US TODAY</strong>"><span><strong>CONTACT US TODAY</strong></span></a> 529 <style type="text/css" id="btn-921948-style">.btn.btn-jordan.btn-921948{position:relative;border-radius:0;background-color:#064073;color:#FFFFFF;text-decoration:none;padding:0.875rem 1.75rem;font-weight:900;letter-spacing:0.02em;line-height:1.125rem;text-align:center;font-size:1rem;text-transform:uppercase;transform:translateZ(0)}.btn.btn-jordan.btn-921948:hover::before{transform:scaleX(1)}.btn.btn-jordan.btn-921948 p,.btn.btn-jordan.btn-921948 span{font-weight:bold}.btn.btn-jordan.btn-921948::before{content:"";position:absolute;z-index:-1;top:0;left:0;right:0;bottom:0;background-image:linear-gradient(53deg,rgba(255,255,255,0.15) 50%,#064073 50%);transform:scaleX(0);transform-origin:0 50%;transition:transform 0.3s ease-out}</style> 530 </div> 531 </div> 532 </div> 533</div> 534 535 536 537 538 <style type="text/css">.block-166770.page.gotham-h1 .title{margin-bottom:0}</style> 539 540<div class="block block-166770 page gotham-h1"> 541 542 <div class="container my-5"> 543 <div class="row"> 544 <div class="col-md-12"> 545 <h1 class="title h2 text-center" data-editable><strong>Craig Mastantuono</strong></h1> 546 </div> 547 </div> 548 </div> 549 550</div> 551 552 553 <style type="text/css">.block-166771.page.gotham-center-image .image-wrapper{max-width:600px}</style> 554 555<div class="block block-166771 page gotham-center-image"> 556 557 <div class="container"> 558 <div class="image-wrapper my-5 mx-auto"> 559 <img class="img-fluid" alt="Attorney Craig Mastanuono in a suit" src="https://res.cloudinary.com/debi2p5ek/image/upload/f_auto,q_70,w_600/v1/2020/41736-craig_ap_2original2original-c0fc9593.jpg"> 560 561 </div> 562 </div> 563 564</div> 565 566 567 568 <div class="container"> 569 <div class="row"> 570 <div class="col-lg-8 offset-lg-1 " id="zone-body"> 571 572 573<div class="block block-166769 page gotham-team-detail"> 574 575 576 <div class="row pb-5"> 577 <div class="col-md-12"> 578 <div class="rich-content" data-editable><p style="text-align: left">Craig is well respected and recognized across Wisconsin as an aggressive criminal trial lawyer and effective negotiator. He understands the benefits of positive outcomes for clients and uses a strategic, imaginative approach to defending individuals accused of a crime in Wisconsin.</p><h2 style="text-align: left"><strong>DISTINCTION AS A WISCONSIN SUPER LAWYER</strong></h2><p style="text-align: left">Nationally, Craig has been selected as a member of The American Law Institute, which publishes Restatements and Principles of the Law, and Model Codes, shaping the development of existing and emerging areas of law for the public good. He is also admitted into the International Academy of Trial Lawyers. The Academy is comprised of just 500 active attorneys who have distinguished themselves through careers defined by exceptional trial skills, professionalism, and integrity. Fellowship in each of these organizations is by invitation only following a rigorous vetting process. </p><p style="text-align: left">Locally, Craig has earned distinction by being named in the criminal defense category for the Wisconsin Super Lawyers magazine every year from 2005 to 2025. He has also been featured frequently in the Top 25 Attorneys in Milwaukee and the Top 50 Attorneys in Wisconsin lists from the same publication. </p><p style="text-align: left">He has been recognized as the Best Criminal Lawyer in the Milwaukee Shepherd Express Readers' Poll in 2012 and 2018. He was named a Leader in the Law in 2008 by the Wisconsin Law Journal, earning this honor for his successful constitutional challenge of Wisconsin's carrying concealed weapons law, as well as for his defense of a 10-year old boy in a high-profile Milwaukee homicide case.</p><p style="text-align: left">Prior to entering private practice, Craig headed a unit focused on defending drug prosecutions for the Waukesha County trial division of the State Public Defender. He has worked extensively in state and federal courts as well as appearing before Wisconsin Supreme Court, the Wisconsin Court of Appeals and the Federal Seventh Cir
578cuit Court of Appeals, winning cases before all of those courts. He co-authored an article about one of those cases in 2012, which appeared in the <em>Wisconsin Lawyer</em> entitled <em>SOS: Defendantsâ Right to Counsel</em>.</p></div> 579 580 <div class="py-2 d-flex"> 581 582 583 </div> 584 585 <div class='py-5'> 586 <div class="row justify-content-center"> 587 <div class="col-md-10 text-center"> 588 <div class="quote"> 589 <p data-editable>The outcome of your case will have a huge impact on your future. Thereâs no room for an attorney who doesnât care.</p> 590 </div> 591 </div> 592 </div> 593 </div> 594 <div class='bottom-content'> 595 <div class="rich-content" data-editable><p style="text-align: left">Outside of the courtroom, he applies his experience teaching criminal practice as a faculty member at Marquette University Law School, where he teaches Criminal Practice. Craig served on WI Governor-elect Tony Evers' Transition Team Advisory Council on Public Safety and Criminal Justice Reform. He currently serves on Gov. Evers' Judicial Selection Advisory Committee, which interviews and recommends applicants for appointment to Wisconsin Circuit and Appellate Courts. Craig is also a frequent expert legal commentator for TV Channel 12 WISN/ABC News Milwaukee.</p><h2 style="text-align: left"><strong>DEDICATED CRIMINAL DEFENSE EXPERIENCE</strong></h2><p style="text-align: left">Craigâs practice focuses primarily on representing individuals accused of crime in criminal courts or who are the target of an investigation, as well as crisis management and white collar compliance issues. His approach dedicates significant time to client and background investigation, forming a customized strategic approach to each case and reaching a goal defined with the client.</p><p style="text-align: left">Cases that Craig handles include homicide, reckless driving and vehicular homicide, business fraud and white collar cases, felony drug offenses and conspiracy charges, and sex assault and sexual misconduct charges among other criminal charges in state and federal courts. In particular, Craig excels in helping clients whose cases involve significant mental health and drug addiction issues. He has broad experience entering special insanity defense pleas, challenging competency, and using mental health and drug treatment needs to reach case outcome goals. In addition to Craig's legal experience, he brings his empathy and ability to connect with those often marginalized in our communities.</p><p style="text-align: left">Over more than 30 years as a criminal defense trial lawyer, Craig has practiced in the majority of counties across Wisconsin and both federal districts. He has litigated countless legal challenges to police action, and persuaded juries in many counties of his client's innocence. Craig's writing has been published and he routinely lectures extensively on criminal defense issues in Wisconsin and nationally.</p><p style="text-align: left">He received his law degree from DePaul University of Chicago and his undergraduate degree in Business Administration <em>cum laude</em> from Loyola University of Chicago.</p><h2 style="text-align: left"><strong>COMMUNITY INVOLVEMENT</strong></h2><p style="text-align: left">As the son and grandson of immigrants, Craig is a former President of Wisconsin Hispanic Lawyers Association (WHLA), and formerly chaired the WHLA Scholarship Committee for Latino Law Students. He has received recognition from the Milwaukee Business Journal, which profiled him as a dynamic young business leader in its annual 40 Under Forty edition. Craig is also a mayoral appointee to the City of Milwaukee Harbor Commission. He is the current Chair of the American Constitution Society Milwaukee Lawyers Chapter, and was recently named to the board of the Milwaukee Jazz Institute. </p><h2 style="text-align: left">CLIENT REVIEWS</h2><p style="text-align: left">"Craig, and his team did an amazing job representing our family member. He listened to our needs, show compassion along the way and worked diligently to resolve our case. Craig along with Jada and Claude-Allan took a team approach and were in constant contact with us throughout this process. Craig was well organized and very articulate with his thoughts and directions for us the entire time which was slightly over one year. I would recommend him and his team to anyone who is in need of legal counsel."</p><p style="text-align: left">"When we first met Craig, we were untrusting and skeptical because of previous bad experiences with lawyers who claim to be the real deal. Instead of Craig writing us off, and playing on that skepticism, he took the time to show us what genuine relationship should look like between lawyer and client. He cared about more than just bragging rights and making sure invoices are paid, he actually cared about the circumstances and journey of my partner's case. He was always communicative, forth coming, and informative. He always went above and beyond for us and his passion for helping people shines through all of his efforts!!! I would recommend Craig and his team to anyone that has not had the best luck with representation and is looking for someone to actually listen. He was always respectful of my partner's thoughts, opinions, and decisions, even if he disagreed, he did so tactfully while still fighting for what we wanted. Once you hire Craig, he will always be in your corner."</p><p style="text-align: left">"I spent a long time finding an attorney for my husband. I couldn't find anyone I felt was up for the challenge until I came across Mastantuono & Coffee. Im so glad i found Craig Mastantuono. Craig Mastantuono is great at what he does. He didn't sugar coat anything and was direct and upfront with my husband about the seriousness of his charges. My husband was charged with seven felony counts and 40 plus years in prison. The results Craig was able to achieve with my husband's case are nothing short of a miracle
595! He is a beast in the courtroom and a well respected attorney. I would recommend him to anyone."</p><p style="text-align: left">"I am forever indebted to the team at Mastantuono Coffee & Thomas. My son was in an extremely bad situation and things initially were not looking too promising. He was a person who had no major run-ins with the law. However, as a result of poor decision-making, he found himself being charged with multiple felonies and facing close to a decade in prison. After his initial arrest, I knew that he would need a top-tier criminal defense attorney to ensure that he'd receive due process of law while under the least restrictive conditions during his legal proceedings. Attorney Craig Mastantuono was professional, competent, strategic, responsive, and affordable! As a result of his skilled work, my son was allowed to choose which one of the three felonies he would plea to, all other felonious counts were dismissed and read-in to the plea. The Judge imposed a prison sentence of 38 months, divided between 14 months of initial incarceration and 24 months of extended supervision, but stayed the imposition of sentence for two years of probation with very reasonable conditions. In addition, his 20 days jail/Huber was also stayed. Lastly, the court record contains a promise from the State to revisit his felony conviction after five years to restore him to a non-felony status. <br>My son broke the law. It was only fair to the victim and society that he should be held accountable for his actions. If it were not for attorney Craig Mastantuono and his dynamic team, I believe my son's legal battle would have ended in him being overly prosecuted. In this case, justice was served and the victim and offender were both pleased with the outcome. An added bonus is that Mastantuono Coffee and Thomas's work saved taxpayers between $675,000 to $1.8 million. Attorney Craig Mastantuono's criminal defense is simply unparalleled. If you or your family are ever in a similar situation, he is your best option."</p></div> 596 </div> 597 598 <div class="row awards mt-5"> 599 <div class="container "> 600 <div class="col-md-12"> 601 <div class="section-content" id="badges-section" data-badges="4"> 602 <div class="slider-container"> 603 <ul class="controls" aria-label="Carousel Navigation" tabindex="0"> 604 <li class="prev" data-controls="prev" aria-controls="customize" tabindex="-1"> 605 <svg class='icon' xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="#000000"><path d="M0 0h24v24H0z" fill="none"/><path d="M15.41 7.41L14 6l-6 6 6 6 1.41-1.41L10.83 12z"/></svg> 606 </li> 607 <li class="next" data-controls="next" aria-controls="customize" tabindex="-1"> 608 <svg class='icon' xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="#000000"><path d="M0 0h24v24H0z" fill="none"/><path d="M10 6L8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z"/></svg> 609 </li> 610 </ul> 611 <div class="badge-slider"> 612 <div class="item"> 613 <div class="item-image-wrapper"> 614 <img class="item-image lazyload" data-src="https://res.cloudinary.com/debi2p5ek/image/upload/w_200/v1/2020/41737-superlawyer-craig1original-f51a377b.png" alt="super lawyers wisconsin badge"> 615 616 </div> 617 618 619 </div> 620 <div class="item"> 621 <div class="item-image-wrapper"> 622 <img class="item-image lazyload" data-src="https://res.cloudinary.com/debi2p5ek/image/upload/w_203/v1/2020/41738-superlawyer-craig2original-22cc2071.png" alt="super lawyers milwaukee badge"> 623 624 </div> 625 626 627 </div> 628 <div class="item"> 629 <div class="item-image-wrapper"> 630 <img class="item-image lazyload" data-src="https://res.cloudinary.com/debi2p5ek/image/upload/w_155/v1/2020/41739-avvorating-craigoriginal-ce745103.png" alt="avvo rating badge"> 631 632 </div> 633 634 635 </div> 636 <div class="item"> 637 <div class="item-image-wrapper"> 638 <img class="item-image lazyload" data-src="https://res.cloudinary.com/debi2p5ek/image/upload/w_150/v1/2020/41740-martindale-hubbelloriginal-10b3b0e0.png" alt="martindale hubbell badge"> 639 640 </div> 641 642 643 </div> 644 </div> 645 </div> 646 </div> 647 </div> 648 </div> 649 </div> 650 </div> 651 </div> 652 653 654</div> 655 656 657
657<script> 658 window.defer_methods.push(function() { 659const cssSelector = '.block-166769.page.gotham-team-detail' 660const badge_element = document.querySelector(`${cssSelector} #badges-section`) 661const isEditMode = document.querySelector('.edit-mode') 662 663let total_badges 664if (badge_element) { 665 total_badges = badge_element.dataset['badges'] 666 667 const max_viewport_items = total_badges > 3 ? 3 : total_badges; 668 669 const slider = tns({ 670 container: `${cssSelector} .badge-slider`, 671 items: max_viewport_items, 672 loop: isEditMode ? false : true, 673 nav: false, 674 controlsContainer: `${cssSelector} .controls`, 675 responsive: { 676 768: { 677 items: max_viewport_items, 678 }, 679 575: { 680 items: max_viewport_items >= 2 ? 2 : 1, 681 }, 682 200: { 683 items: 1, 684 } 685 }, 686 autoplay: isEditMode ? false : true, 687 autoplayButtonOutput: false, 688 autoplayHoverPause: true 689 }); 690 691 if (document.querySelector(`${cssSelector} [data-controls="prev"]`)) document.querySelector(`${cssSelector} [data-controls="prev"]`).setAttribute('tabindex', 0); 692if (document.querySelector(`${cssSelector} [data-controls="next"]`)) document.querySelector(`${cssSelector} [data-controls="next"]`).setAttribute('tabindex', 0); 693} 694 695}) 696 </script>
696 697 698 </div> 699 <div class="col-lg-3 order-lg-first order-first" id="zone-sidenav"> 700 701 702<div class="block block-166772 page gotham-sidebar-link-list"> 703 704 <div class="mb-4 text-center list-wrapper"> 705 <h4 class="h4 list-title" data-editable><strong>PRACTICE AREAS</strong></h4> 706 <div class='list'> 707 <div class="rich-content" data-editable><p style="text-align: center"><a href="/criminal-defense/federal-offenses" style="box-sizing: border-box; background-color: transparent; color: rgb(209, 153, 0); text-decoration: none; overflow-wrap: break-word; transition: all 0.3s ease 0s;">Federal Offenses</a></p><p style="text-align: center"><a href="/criminal-defense/criminal-investigations-crisis-management" style="box-sizing: border-box; background-color: transparent; color: rgb(209, 153, 0); text-decoration: none; overflow-wrap: break-word; transition: all 0.3s ease 0s;">Criminal Investigations & Crisis Management</a></p><p style="text-align: center"><a href="/criminal-defense/homicide" style="box-sizing: border-box; background-color: transparent; color: rgb(209, 153, 0); text-decoration: none; overflow-wrap: break-word; transition: all 0.3s ease 0s;">Homicide</a></p><p style="text-align: center"><a href="/criminal-defense/sex-crimes" style="box-sizing: border-box; background-color: transparent; color: rgb(209, 153, 0); text-decoration: none; overflow-wrap: break-word; transition: all 0.3s ease 0s;">Sex Crimes</a></p><p style="text-align: center"><a href="/criminal-defense/gun-offenses" style="box-sizing: border-box; background-color: transparent; color: rgb(209, 153, 0); text-decoration: none; overflow-wrap: break-word; transition: all 0.3s ease 0s;">Gun Offenses</a></p><p style="text-align: center"><a href="/criminal-defense/domestic-violence" style="box-sizing: border-box; background-color: transparent; color: rgb(209, 153, 0); text-decoration: none; overflow-wrap: break-word; transition: all 0.3s ease 0s;">Domestic Violence</a></p><p style="text-align: center"><a href="/criminal-defense/drunk-driving" style="box-sizing: border-box; background-color: transparent; color: rgb(209, 153, 0); text-decoration: none; overflow-wrap: break-word; transition: all 0.3s ease 0s;">Drunk Driving</a></p><p style="text-align: center"><a href="/criminal-defense/drug-offenses" style="box-sizing: border-box; background-color: transparent; color: rgb(209, 153, 0); text-decoration: none; overflow-wrap: break-word; transition: all 0.3s ease 0s;">Drug Offenses</a></p><p style="text-align: center"><a href="/criminal-defense/other-felony-misdemeanor-cases" style="box-sizing: border-box; background-color: transparent; color: rgb(209, 153, 0); text-decoration: none; overflow-wrap: break-word; transition: all 0.3s ease 0s;">Other Felony & Misdemeanor Cases</a></p><p style="text-align: center"><a href="/criminal-defense/traffic-violations" style="box-sizing: border-box; background-color: transparent; color: rgb(209, 153, 0); text-decoration: none; overflow-wrap: break-word; transition: all 0.3s ease 0s;">Traffic Violation</a></p></div> 708 </div> 709 </div> 710 711</div> 712 713 714 715 </div> 716 </div> 717 </div> 718</main> 719<footer> <style type="text/css">.block-17155.footer.gotham-two-location-footer-conversion-only .title-wrapper::after{height:2px;width:6rem;background-color:#FFBC00}.block-17155.footer.gotham-two-location-footer-conversion-only .two-column-card,.block-17155.footer.gotham-two-location-footer-conversion-only .one-column-card{color:#000000;background-color:#EFF1F2}.block-17155.footer.gotham-two-location-footer-conversion-only .title{color:currentColor;font-family:Source Sans Pro}.block-17155.footer.gotham-two-location-footer-conversion-only .form-title-text{color:currentColor;font-family:Source Sans Pro}.block-17155.footer.gotham-two-location-footer-conversion-only .form-subtitle-text{color:currentColor;font-family:Source Sans Pro}.block-17155.footer.gotham-two-location-footer-conversion-only .location-name,.block-17155.footer.gotham-two-location-footer-conversion-only .address{color:currentColor;font-family:Source Sans Pro}.block-17155.footer.gotham-two-location-footer-conversion-only .footer-icon path{fill:#000000}.block-17155.footer.gotham-two-location-footer-conversion-only .social-links .footer-icon:hover path{f
719ill:black}</style> 720 721<div class="block block-17155 footer gotham-two-location-footer-conversion-only section bg-image lazyload" 722 style="background-position-y:50%; background-position-x:0%;" 723 data-bg="https://res.cloudinary.com/debi2p5ek/image/upload/f_auto,q_70,w_1400/v1/2020/40871-untitled-1-26625652.png" src="https://res.cloudinary.com/debi2p5ek/image/upload/f_auto,q_70,w_1400/v1/2020/40871-untitled-1-26625652.png" 724 725> 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 <div class="form-container"> 741 <div class="container"> 742 <div class="title-wrapper"> 743 <h2 class="title h2" data-editable><strong>SERVING ALL OF WISCONSIN</strong></h2> 744 745 </div> 746 <div class="row"> 747 <div class='col-lg-4 form-wrapper'> 748 <div class="form-title-wrapper mb-3"> 749 <h3 class="form-title-text h4" data-editable><strong>TELL US WHAT'S GOING ON.</strong></h3> 750 <h6 class="form-subtitle-text h6" data-editable>We want to hear your side of the story so that we can help you set the record straight.</h6> 751 </div> 752 753 <span id="consultation" class="consultation-target"></span> 754 755 <form class="f-inquiry-form" action="/admin/inquiry/" method="POST" id="inquiry-form" name="inquiry-form"> 756 <div class="alert alert-danger alert-dismissible fade show d-none" role="alert"> 757 <div class="h3"><strong>Error!</strong></div> 758 <span>Your message has failed. Please try again.</span> 759 <div class="error-response border border-danger p-2 m-2 d-none"></div> 760 <button type="button" class="close" data-dismiss="alert" aria-label="Close"> 761 <span aria-hidden="true">×</span> 762 </button> 763</div> 764 765 <div class="subject d-none"> 766 <div class="form-group"> 767 <label class="control-label sr-only" for="subject-17155">Subject</label> 768 <input id="subject-17155" type="text" name="subject" placeholder="" maxlength="256" class="form-control"> 769 </div> 770</div> 771<div class="source-fields d-none"> 772 <input type="hidden" name="special" placeholder="Leave Blank" id="id_inquiry-special" /> 773 <input class="f-page" type="hidden" name="page" value="/our-team/craig-mastantuono/"> 774 <input class="f-medium" type="hidden" name="medium" value="" /> 775 <input class="f-source" type="hidden" name="source" value="" /> 776 <input class="f-ga_source" type="hidden" name="ga_source" value="" /> 777 <input class="f-visits" type="hidden" name="visits" value="" /> 778 <input class="f-top" type="hidden" name="seconds_typing" value="" /> 779</div> 780 781 <div class="row"> 782 <div class="col-md-12"> 783 <div class="row no-gutters"> 784 <div class="name col-sm-12"> 785 <div class="form-group"> 786 <label id="name-17155-label" class="control-label sr-only required" for="name-17155"> 787 <span class="inquiry-placeholder" id="name-17155-placeholder" data-editable>Name</span> 788 </label> 789 <input id="name-17155" type="text" name="name" placeholder="Name" maxlength="256" class="form-control" required aria-required="true"> 790 </div> 791 </div> 792</div> 793 794 <div class="row no-gutters"> 795 <div class="email col-sm-12"> 796 <div class="form-group"> 797 <label id="email-17155-label" class="control-label sr-only required" for="email-17155"> 798 <span class="inquiry-placeholder" id="email-17155-placeholder" data-editable>Email</span> 799 </label> 800 <input 801 id="email-17155" 802 type="email" 803 name="email" 804 placeholder="[email protected]" 805 pattern="([a-zA-Z0-9_\-\.\+]+)@([a-zA-Z0-9_\-\.]+)\.([a-zA-Z]{2,5})" 806 maxlength="254" 807 class="form-control" 808 required 809 aria-required="true" 810 > 811 </div> 812 </div> 813</div> 814 815 <div class="row no-gutters"> 816 <div class="phone col-sm-12"> 817 <div class="form-group"> 818 <label id="phone-17155-label" class="control-label sr-only" for="phone-17155">
819 <span class="inquiry-placeholder" id="phone-17155-placeholder" data-editable>Phone (optional)</span> 820 </label> 821 <input id="phone-17155" type="tel" name="phone" placeholder="Phone (optional)" pattern="(?:\(\d{3}\)|\d{3})[- ]?\d{3}[- ]?\d{4}" maxlength="20" class="form-control"> 822 </div> 823 </div> 824</div> 825 826 <div class="row no-gutters"> 827 <div class="col-sm-12"> 828 <div class="form-group"> 829 <label id="inquiry-17155-label" class="control-label sr-only required" for="inquiry-17155"> 830 <span class="inquiry-placeholder" id="inquiry-17155-placeholder" data-editable>Tell us about your case</span> 831 </label> 832 <textarea id="inquiry-17155" name="inquiry" cols="40" rows="10" placeholder="Tell us about your case" class="form-control" required aria-required="true"></textarea> 833 </div> 834 </div> 835</div> 836 837 </div> 838</div> 839 840 <div class="row no-gutters"> 841 <div class="col-sm-12 disclaimer"> 842 <div class="form-check form-check-inline m-2"> 843 <input id="disclaimer-17155" class="form-check-input" type="checkbox" name="disclaimer" required aria-required="true"> 844 <label class="form-check-label ml-2" for="disclaimer-17155"> 845 <span class="inquiry-placeholder" data-editable>Sending an e-mail does not create an attorney-client relationship. Until we agree to represent you, anything you send us will not be confidential or privileged. If you send an e-mail, you confirm that you have read and understood this notice.<span class="inquiry-placeholder "></span></span> 846 </label> 847 </div> 848 </div> 849</div> 850 851 <div class="row no-gutters justify-content-end"> 852 <div class="col-sm-5 d-flex justify-content-end"> 853 <button button_color="None" class="btn btn-gotham_square_outline btn-1099235" type="submit" element="button" aria-label="SUBMIT"><span>SUBMIT</span></button> 854 <style type="text/css" id="btn-1099235-style">.btn.btn-gotham_square_outline.btn-1099235{color:#064073;background-color:transparent;border-radius:0;border:2px solid #064073;font-size:1.0625rem;padding:.875rem 1.8rem;transition:.2s ease;letter-spacing:.08em}.btn.btn-gotham_square_outline.btn-1099235 p,.btn.btn-gotham_square_outline.btn-1099235 span{font-weight:bold}.btn.btn-gotham_square_outline.btn-1099235:hover{background-color:#064073;color:#FFFFFF}</style> 855 </div> 856</div> 857 858</form> 859 860 861<style type="text/css"> 862 .consultation-target { 863 position: absolute; 864 top: -450px; 865 } 866</style> 867 868 869 870 871 <div class="social-links"> 872 <a aria-label="link to Facebook (New Window)" class="footer-icon" 873 href="https://www.facebook.com/milwaukeecriminallawyers/" target="_blank" rel="noopener"> 874 <svg aria-hidden="true" focusable="false" data-prefix="fab" data-icon="facebook-square" class="svg-inline--fa fa-facebook-square fa-w-14" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="currentColor" d="M400 32H48A48 48 0 0 0 0 80v352a48 48 0 0 0 48 48h137.25V327.69h-63V256h63v-54.64c0-62.15 37-96.48 93.67-96.48 27.14 0 55.52 4.84 55.52 4.84v61h-31.27c-30.81 0-40.42 19.12-40.42 38.73V256h68.78l-11 71.69h-57.78V480H400a48 48 0 0 0 48-48V80a48 48 0 0 0-48-48z"></path></svg> 875 </a> 876 <a aria-label="link to email (New Window)" class="footer-icon" 877 href="mailto:[email protected]" 878 target="_blank" rel="noopener"> 879 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" height="32px" width="28px"> 880 <!--! Font Awesome Pro 6.1.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2022 Fonticons, Inc. --> 881 <path fill="currentColor" d="M464 64C490.5 64 512 85.49 512 112C512 127.1 504.9 141.3 492.8 150.4L275.2 313.6C263.8 322.1 248.2 322.1 236.8 313.6L19.2 150.4C7.113 141.3 0 127.1 0 112C0 85.49 21.49 64 48 64H464zM217.6 339.2C240.4 356.3 271.6 356.3 294.4 339.2L512 176V384C512 419.3 483.3 448 448 448H64C28.65 448 0 419.3 0 384V176L217.6 339.2z" /> 882</svg> 883 884 </a> 885 </div> 886 887 888 </div> 889 890 <div class="col-lg-8 white-bg"> 891 <div class="row"> 892 <div class="col-md-6 two-column-layout"> 893 <div class="location-col"> 894 <div class="map_canvas_wrapper"> 895 <div id='map-canvas-0-script' data-map-params='{"marker": null, "customMarker": "https://res.cloudinary.com/debi2p5ek/image/upload/c_limit,h_60,q_70,w_45/v1/2020/47132-mastantuonomappin11original-6e110758.png", "offsetY": 0, "offsetX": 0, "offsetElementId": null, "offsetElementXFactor": 0, "offsetElementYFactor": 100, "padding": {"left": 0, "right": 0, "top": 0, "bottom": 0}, "zoom": 14, "locations": [{"latitude": 43.03324, "longitude": -87.90628, "title": "Mastantuono Coffee & Thomas", "cid": "9235359795252938161"}]}'></div> 896 <div id='map-canvas-0' class='map_canvas'></div> 897 </div> 898 <div class="two-column-card">
899 <span class='d-block location-name h5'> 900 Mastantuono Coffee & Thomas, 901 <br /> 902 Milwaukee Location </span> 903 904 <a class="address-link google-location" aria-label="link to get directions (New Window)" href="https://www.google.com/maps?cid=9235359795252938161" target="_blank" rel="noopener"> 905 <address class="address"> 906 <span class="street-address"> 907 219 N Milwaukee St 908 <br/> 909 Ste 520 910 </span> 911 <span class="address-locality d-block">Milwaukee, WI</span> 912 <span class="postal-code d-block">53202</span> 913 </address> 914 </a> 915 916 <div class="phone-btn-wrapper"> 917 <div class="phone-number"> 918 <a class="btn btn-jordan btn-1099236" href="tel:+14142768662" aria-label="Milwaukee: 414-276-8662"><span>Milwaukee: 414-276-8662</span></a> 919 <style type="text/css" id="btn-1099236-style">.btn.btn-jordan.btn-1099236{position:relative;border-radius:0;background-color:#064073;color:#FFFFFF;text-decoration:none;padding:0.875rem 1.75rem;font-weight:900;letter-spacing:0.02em;line-height:1.125rem;text-align:center;font-size:1rem;text-transform:uppercase;transform:translateZ(0)}.btn.btn-jordan.btn-1099236:hover::before{transform:scaleX(1)}.btn.btn-jordan.btn-1099236 p,.btn.btn-jordan.btn-1099236 span{font-weight:bold}.btn.btn-jordan.btn-1099236::before{content:"";position:absolute;z-index:-1;top:0;left:0;right:0;bottom:0;background-image:linear-gradient(53deg,rgba(255,255,255,0.15) 50%,#064073 50%);transform:scaleX(0);transform-origin:0 50%;transition:transform 0.3s ease-out}</style> 920 </div> 921 </div> 922 923 <div class="direction-btn-wrapper"> 924 <a class="btn btn-gotham_square_outline btn-1099237" href="https://www.google.com/maps?cid=9235359795252938161" aria-label="GET DIRECTIONS"><span>GET DIRECTIONS</span></a> 925 <style type="text/css" id="btn-1099237-style">.btn.btn-gotham_square_outline.btn-1099237{color:#064073;background-color:transparent;border-radius:0;border:2px solid #064073;font-size:1.0625rem;padding:.875rem 1.8rem;transition:.2s ease;letter-spacing:.08em}.btn.btn-gotham_square_outline.btn-1099237 p,.btn.btn-gotham_square_outline.btn-1099237 span{font-weight:bold}.btn.btn-gotham_square_outline.btn-1099237:hover{background-color:#064073;color:#FFFFFF}</style> 926 </div> 927 928 <div class="hours-list"> 929 <div class="hour-row"> 930 <span class="day col-3 p-0">Sun</span> 931 <span class="hours col-9 p-0">24/7</span> 932 </div> 933 <div class="hour-row"> 934 <span class="day col-3 p-0">Mon</span> 935 <span class="hours col-9 p-0">24/7</span> 936 </div> 937 <div class="hour-row"> 938 <span class="day col-3 p-0">Tue</span> 939 <span class="hours col-9 p-0">24/7</span> 940 </div> 941 <div class="hour-row"> 942 <span class="day col-3 p-0">Wed</span> 943 <span class="hours col-9 p-0">24/7</span> 944 </div> 945 <div class="hour-row"> 946 <span class="day col-3 p-0">Thu</span> 947 <span class="hours col-9 p-0">24/7</span> 948 </div> 949 <div class="hour-row"> 950 <span class="day col-3 p-0">Fri</span> 951 <span class="hours col-9 p-0">24/7</span> 952 </div> 953 <div class="hour-row"> 954 <span class="day col-3 p-0">Sat</span> 955 <span class="hours col-9 p-0">24/7</span> 956 </div> 957 </div> 958 959 <div class="review-btn-wrapper"> 960 <a class="btn btn-gotham_square_outline btn-1099238" href="https://search.google.com/local/writereview?placeid=ChIJuYPU5AYZBYgRscX5gM2WKoA" aria-label="LEAVE A REVIEW"><span>LEAVE A REVIEW</span></a> 961 <style type="text/css" id="btn-1099238-style">.btn.btn-gotham_square_outline.btn-1099238{color:#064073;background-color:transparent;border-radius:0;border:2px solid #064073;font-size:1.0625rem;padding:.875rem 1.8rem;transition:.2s ease;letter-spacing:.08em}.btn.btn-gotham_square_outline.btn-1099238 p,.btn.btn-gotham_square_outline.btn-1099238 span{font-weight:bold}.btn.btn-gotham_square_outline.btn-1099238:hover{background-color:#064073;color:#FFFFFF}</style> 962 </div> 963 964 </div> 965 </div> 966 </div> 967 968 <div class="col-md-6 two-column-layout"> 969 <div class="location-col"> 970 <div class="map_canvas_wrapper"> 971 <div id='map-canvas-1-script' data-map-params='{"marker": null, "customMarker": "https://res.cloudinary.com/debi2p5ek/image/upload/c_limit,h_60,q_70,w_45/v1/2020/47132-mastantuonomappin11original-6e110758.png", "offsetY": 0, "offsetX": 0, "offsetElementId": null, "offsetElementXFactor": 0, "offsetElementYFactor": 100, "padding": {"left": 0, "right": 0, "top": 0, "bottom": 0}, "zoom": 14, "locations": [{"latitude": 43.0105371, "longitude": -88.2314538, "title": "Mastantuono Coffee & Thomas", "cid": "13179236207226097875"}]}'></div> 972 <div id='map-canvas-1' class='map_canvas'></div> 973 </div> 974 <div class="two-column-card">
975 <span class='d-block location-name h5'> 976 Mastantuono Coffee & Thomas, 977 <br /> 978 Waukesha Location </span> 979 980 <a class="address-link google-location" aria-label="link to get directions (New Window)" href="https://www.google.com/maps?cid=13179236207226097875" target="_blank" rel="noopener"> 981 <address class="address"> 982 <span class="street-address"> 983 741 N Grand Ave 984 <br/> 985 Ste 209 986 </span> 987 <span class="address-locality d-block">Waukesha, WI</span> 988 <span class="postal-code d-block">53186</span> 989 </address> 990 </a> 991 992 <div class="phone-btn-wrapper"> 993 <div class="phone-number"> 994 <a class="btn btn-jordan btn-1099239" href="tel:+12624226999" aria-label="Waukesha: 262-422-6999"><span>Waukesha: 262-422-6999</span></a> 995 <style type="text/css" id="btn-1099239-style">.btn.btn-jordan.btn-1099239{position:relative;border-radius:0;background-color:#064073;color:#FFFFFF;text-decoration:none;padding:0.875rem 1.75rem;font-weight:900;letter-spacing:0.02em;line-height:1.125rem;text-align:center;font-size:1rem;text-transform:uppercase;transform:translateZ(0)}.btn.btn-jordan.btn-1099239:hover::before{transform:scaleX(1)}.btn.btn-jordan.btn-1099239 p,.btn.btn-jordan.btn-1099239 span{font-weight:bold}.btn.btn-jordan.btn-1099239::before{content:"";position:absolute;z-index:-1;top:0;left:0;right:0;bottom:0;background-image:linear-gradient(53deg,rgba(255,255,255,0.15) 50%,#064073 50%);transform:scaleX(0);transform-origin:0 50%;transition:transform 0.3s ease-out}</style> 996 </div> 997 </div> 998 999 <div class="direction-btn-wrapper"> 1000 <a class="btn btn-gotham_square_outline btn-1099240" href="https://www.google.com/maps?cid=13179236207226097875" aria-label="GET DIRECTIONS"><span>GET DIRECTIONS</span></a> 1001 <style type="text/css" id="btn-1099240-style">.btn.btn-gotham_square_outline.btn-1099240{color:#064073;background-color:transparent;border-radius:0;border:2px solid #064073;font-size:1.0625rem;padding:.875rem 1.8rem;transition:.2s ease;letter-spacing:.08em}.btn.btn-gotham_square_outline.btn-1099240 p,.btn.btn-gotham_square_outline.btn-1099240 span{font-weight:bold}.btn.btn-gotham_square_outline.btn-1099240:hover{background-color:#064073;color:#FFFFFF}</style> 1002 </div> 1003 1004 <div class="hours-list"> 1005 <div class="hour-row"> 1006 <span class="day col-3 p-0">Sun</span> 1007 <span class="hours col-9 p-0">24/7</span> 1008 </div> 1009 <div class="hour-row"> 1010 <span class="day col-3 p-0">Mon</span> 1011 <span class="hours col-9 p-0">24/7</span> 1012 </div> 1013 <div class="hour-row"> 1014 <span class="day col-3 p-0">Tue</span> 1015 <span class="hours col-9 p-0">24/7</span> 1016 </div> 1017 <div class="hour-row"> 1018 <span class="day col-3 p-0">Wed</span> 1019 <span class="hours col-9 p-0">24/7</span> 1020 </div> 1021 <div class="hour-row"> 1022 <span class="day col-3 p-0">Thu</span> 1023 <span class="hours col-9 p-0">24/7</span> 1024 </div> 1025 <div class="hour-row"> 1026 <span class="day col-3 p-0">Fri</span> 1027 <span class="hours col-9 p-0">24/7</span> 1028 </div> 1029 <div class="hour-row"> 1030 <span class="day col-3 p-0">Sat</span> 1031 <span class="hours col-9 p-0">24/7</span> 1032 </div> 1033 </div> 1034 1035 <div class="review-btn-wrapper"> 1036 <a class="btn btn-gotham_square_outline btn-1099241" href="https://g.page/r/CdOQrf6ADea2EAg/review" aria-label="LEAVE A REVIEW"><span>LEAVE A REVIEW</span></a> 1037 <style type="text/css" id="btn-1099241-style">.btn.btn-gotham_square_outline.btn-1099241{color:#064073;background-color:transparent;border-radius:0;border:2px solid #064073;font-size:1.0625rem;padding:.875rem 1.8rem;transition:.2s ease;letter-spacing:.08em}.btn.btn-gotham_square_outline.btn-1099241 p,.btn.btn-gotham_square_outline.btn-1099241 span{font-weight:bold}.btn.btn-gotham_square_outline.btn-1099241:hover{background-color:#064073;color:#FFFFFF}</style> 1038 </div> 1039 1040 </div> 1041 </div> 1042 </div> 1043 1044 </div> 1045 </div> 1046 1047 </div> 1048 </div> 1049 1050 </div> 1051</div> 1052 1053 1054
1054<script> 1055 window.defer_methods.push(function() { 1056const cssSelector = '.block-17155.footer.gotham-two-location-footer-conversion-only' 1057useCustomForm({ 1058 blockId: cssSelector 1059}) 1060}) 1061 </script>
1061 1062 <style type="text/css">.block-15493.footer.zane-footer-links{background-color:#818A91;color:#FFFFFF}</style> 1063 1064 1065<div class="block block-15493 footer zane-footer-links"> 1066 1067 1068 <div class="footer_links section"> 1069 <div class="container"> 1070 <div class="row"> 1071 <nav aria-label="bottom navigation bar, disclaimer and sitemap" class="col-md-12"> 1072 <ul class="list-inline text-center"> 1073 <li class="list-inline-item">© 2026 Mastantuono Coffee & Thomas</li> 1074 <li class="list-inline-item"><a aria-label="go to sitemap" class="link-divider" href="/sitemap/">Sitemap</a></li> 1075 <li class="list-inline-item"><a aria-label="go to disclaimer" class="link-divider" href="/disclaimer/">Disclaimer</a></li> 1076 1077 <li class="list-inline-item"></li> 1078 <li class="list-inline-item"></li> 1079 <li class="list-inline-item"></li> 1080 </ul> 1081 </nav> 1082 </div> 1083 </div> 1084 </div> 1085</div> 1086 1087 1088 1089 1090<div class="block block-15494 footer zane-footer-disclaimer section bg-primary lazyload" 1091 style="" 1092 data-bg="" src="" 1093 1094> 1095 1096 <div class="footer_disclaimer section"> 1097 <div class="disclaimer"> 1098 <div class="container"> 1099 <div class="row justify-content-center"> 1100 <div class="col-sm-12"> 1101 <div data-editable>The information on this website is for general information purposes only. Nothing on this site should be taken as legal advice for any individual case or situation. This information is not intended to create, and receipt or viewing does not constitute, an attorney-client relationship.</div> 1102 </div> 1103 </div> 1104 </div> 1105 </div> 1106 </div> 1107</div> 1108 1109 1110 1111</footer> 1112 1113
1113<script> 1114function lazyloadBgImage(node) { 1115 if (!node) { 1116 return 1117 } 1118 1119 const bg = node.getAttribute('data-bg') 1120 1121 if (bg) { 1122 // eslint-disable-next-line no-param-reassign 1123 node.style.backgroundImage = `url(${bg})` 1124 } 1125} 1126 1127document.addEventListener('lazybeforeunveil', (e) => { 1128 lazyloadBgImage(e.target) 1129}) 1130 1131window.lazySizesConfig = window.lazySizesConfig || {} 1132window.lazySizesConfig.customMedia = { 1133 '--mobile': '(max-width: 575px)', 1134 '--tablet': '(max-width: 991px)', 1135 '--desktop': '(max-width: 1399px)', 1136 '--large_desktop': '(min-width: 1400px)' 1137} 1138 1139window.lazyloadBgImage = lazyloadBgImage </script>
1139 1140
1140<script> 1141 window.defer_methods.push(function() { 1142 function getCookie(name) { 1143 var value = "; " + document.cookie; 1144 var parts = value.split("; " + name + "="); 1145 if (parts.length == 2) { 1146 return parts.pop().split(";").shift(); 1147 } 1148 }; 1149 1150 function extractDomain(url) { 1151 var domain; 1152 //find & remove protocol (http, ftp, etc.) and get domain 1153 if (url.indexOf("://") > -1) { 1154 domain = url.split('/')[2]; 1155 } 1156 else { 1157 domain = url.split('/')[0]; 1158 } 1159 //find & remove port number 1160 domain = domain.split(':')[0]; 1161 return domain; 1162 } 1163 1164 function createCookie(name, value, days) { 1165 if (days) { 1166 var date = new Date(); 1167 date.setTime(date.getTime()+(days*24*60*60*1000)); 1168 var expires = "; expires="+date.toGMTString(); 1169 } 1170 else { 1171 var expires = ""; 1172 } 1173 document.cookie = name+"="+value+expires+"; path=/"; 1174 } 1175 1176 function getQueryStringValue(key) { 1177 return decodeURIComponent(window.location.search.replace(new RegExp("^(?:.*[&\\?]" + encodeURIComponent(key).replace(/[\.\+\*]/g, "\\$&") + "(?:\\=([^&]*))?)?.*$", "i"), "$1")); 1178 } 1179 1180 var ga_source_val = getCookie('source'); 1181 if(!ga_source_val) { 1182 var ref = extractDomain(document.referrer); 1183 var utm_source = getQueryStringValue('utm_source'); 1184 var gclid = getQueryStringValue('gclid'); 1185 if(utm_source) { 1186 ga_source_val = utm_source; 1187 } else if(gclid) { 1188 ga_source_val = 'AdWords' 1189 } else { 1190 ga_source_val = ref; 1191 } 1192 createCookie('source', ga_source_val, 365); 1193 } 1194 1195 var ga_source = ''; 1196 if (window.location.hostname == ga_source_val || !ga_source_val) { 1197 ga_source = 'Direct'; 1198 } else { 1199 ga_source = ga_source_val; 1200 } 1201 1202 document.querySelectorAll('.f-ga_source').forEach(input =>{ 1203 input.value = ga_source; 1204 }) 1205 1206 // Form submit logic 1207 function formSubmitHandler(e) { 1208 e.preventDefault() 1209 const form = e.target 1210 1211 const errorBanner = form.querySelector('.alert-danger') 1212 function errorHandler(msg) { 1213 const errorTextField = errorBanner.querySelector('.error-response') 1214 1215 if(msg) { 1216 errorTextField.textContent = msg 1217 errorTextField.classList.remove('d-none') 1218 } 1219 errorBanner.classList.remove('d-none') 1220 form.querySelector('button[type="submit"]').removeAttribute('disabled') 1221 } 1222 1223 try { 1224 const xhr = new XMLHttpRequest(); 1225 xhr.open('POST', form.getAttribute('action')) 1226 xhr.setRequestHeader("X-Requested-With", "XMLHttpRequest") 1227 1228 xhr.onreadystatechange = function () { 1229 if (xhr.readyState !== 4) return; 1230 if (xhr.status >= 200 && xhr.status < 300) { 1231 form.reset() 1232 window.location.href='/leads/send_inquiry/' 1233 } else { 1234 errorHandler(xhr.response.error) 1235 } 1236 }; 1237 1238 const formData = new FormData(form) 1239 xhr.send(formData); 1240 1241 form.querySelector('button[type="submit"]').setAttribute('disabled', true) 1242 } 1243 catch(e) { 1244 errorHandler(false) 1245 } 1246 1247 return false 1248 } 1249 1250 function setSecondsTypingInputs(val) { 1251 secondsTypingInputs.forEach(input =>{ 1252 input.value = val 1253 }) 1254 } 1255 1256 // Set up seconds typing input calculations 1257 function focusOutHandler() { 1258 if(ftopt){clearTimeout(ftopt);} 1259 if(ftops) {ftop += Date.now() - ftops;ftops = null;} 1260 setSecondsTypingInputs(ftop) 1261 } 1262 1263 function keydownHandler() { 1264 if(!ftops){ftops = Date.now();} 1265 if(ftopt) {clearTimeout(ftopt);} 1266 ftopt = setTimeout(focusOutHandler, 2000); 1267 } 1268 1269 const secondsTypingInputs = document.querySelectorAll("input.f-top") 1270 setSecondsTypingInputs(0) 1271 1272 let ftop = 0.0; 1273 let ftops = null; 1274 let ftopt = null; 1275 1276 // Handle multiple forms on page 1277 const forms = document.querySelectorAll('.f-inquiry-form')
1278 forms.forEach(form => { 1279 form.addEventListener('submit', formSubmitHandler); 1280 1281 const inputs = ['textarea', 'input[type="text"]', 'input[type="tel"]', 'input[type="email"]'] 1282 inputs.forEach(input => { 1283 const inputEl = form.querySelector(input) 1284 inputEl.addEventListener('keydown', keydownHandler) 1285 inputEl.addEventListener('focusout', focusOutHandler) 1286 }) 1287 }) 1288 }) 1289 </script>
1289 1290 1291 1292
1292<script src="https://d11o58it1bhut6.cloudfront.net/production/v1.137.1/mastantuono-342459/assets/main.website-mastantuono-342459.d5d36e3cdff0ac76fa94.bundle.js" defer></script>
1292 1293<!-- Global site tag (gtag.js) - Google Analytics -->
vendor: 64 bytes, lines 1293-1294
1293 1294<script defer src="https://www.googletagmanager.com/gtag/js?id=
1294G-8K1NZYD8BW
vendor: 12 bytes, line 1294
1294"></script>
1295<script>
vendor: 128 bytes, lines 1296-1300
1296window.dataLayer = window.dataLayer || []; 1297function gtag(){dataLayer.push(arguments);} 1298gtag('js', new Date()); 1299 1300gtag('config', '
1300G-8K1NZYD8BW
vendor: 4 bytes, line 1300
1300');
1301</script>
1301 1302<!-- Google Tag Manager (noscript) -->
vendor: 68 bytes, lines 1302-1303
1302 1303<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=
1303GTM-53XW3J2
vendor: 83 bytes, lines 1303-1304
1303" 1304height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
1305<!-- End Google Tag Manager (noscript) --> 1306 1307 <!-- Google Tag Manager -->
1308<script>
vendor: 327 bytes, lines 1308-1312
1308(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': 1309new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], 1310j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 1311'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); 1312})(window,document,'script','dataLayer','
1312GTM-53XW3J2
vendor: 3 bytes, line 1312
1312');
1312</script>
1312 1313<!-- End Google Tag Manager --> 1314 1315 1316
1316<script type='text/javascript'> 1317 // sets id navlink-1 for first nav link in a page 1318 // after the implementation of dropdown menu at app-level this code can be shifted to navigation.jinja 1319 const navlink = document.getElementsByClassName('nav-link')[0] 1320 navlink && navlink.setAttribute('id', 'navlink-1') 1321 </script>
1321 1322</body> 1323</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.