1<!DOCTYPE html > 2<html lang="en"> 3<head id=123> 4 5 <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> 6 <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=5"/> 7 8 <title>Contact Tagatz Painting Co. | Mount Shasta, CA</title> 9 <link href="/images/layout01/favicon.ico" type="image/x-icon" rel="shortcut icon"/> 10 <meta name="description" content="Contact Tagatz Painting Co. in Mount Shasta, CA. Call us today for professional service."/> 11 <link rel="canonical" href="https://tagatz-painting.com/contact.htm"/> 12 <meta property="og:type" content="website"/> 13 <meta property="og:title" content="Contact Tagatz Painting Co. | Mount Shasta, CA"/> 14 <meta property="og:description" content="Contact Tagatz Painting Co. in Mount Shasta, CA. Call us today for professional service."/> 15 <meta property="og:url" content="https://tagatz-painting.com/contact.htm"/> 16 <meta property="og:site_name" content="Tagatz Painting Co."/> 17 <meta name="twitter:card" content="summary"/> 18 <meta name="google-site-verification" content="RYiLTuyd8ZImcPwb1f99gSOw6z1gXhywzBPOLTJAtII"/> 19 <meta name="msvalidate.01" content="1F45F9DE9326EAFCF993AAACB733F10C"/> 20 21 22 <!--suppress RegExpAnonymousGroup --> 23 <style> 24 /* W3.CSS 4.04 Apr 2017 by Jan Egil and Borge Refsnes */ 25html{box-sizing:border-box}*,*:before,*:after{box-sizing:inherit} 26/* Extract from normalize.css by Nicolas Gallagher and Jonathan Neal git.io/normalize */ 27html{-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0} 28article,aside,details,figcaption,figure,footer,header,main,menu,nav,section,summary{display:block} 29audio,canvas,progress,video{display:inline-block}progress{vertical-align:baseline} 30audio:not([controls]){display:none;height:0}[hidden],template{display:none} 31a{background-color:transparent} 32a:active,a:hover{outline-width:0}abbr[title]{border-bottom:none;text-decoration:underline dotted} 33dfn{font-style:italic}mark{background:#ff0;color:#000} 34small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline} 35sub{bottom:-0.25em}sup{top:-0.5em}figure{margin:1em 40px}img{border-style:none}svg:not(:root){overflow:hidden} 36code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}hr{box-sizing:content-box;height:0;overflow:visible} 37button,input,select,textarea{font:inherit;margin:0}optgroup{font-weight:bold} 38button,input{overflow:visible}button,select{text-transform:none} 39button,html [type=button],[type=reset],[type=submit]{-webkit-appearance:button} 40button::-moz-focus-inner, [type=button]::-moz-focus-inner, [type=reset]::-moz-focus-inner, [type=submit]::-moz-focus-inner{border-style:none;padding:0} 41button:-moz-focusring, [type=button]:-moz-focusring, [type=reset]:-moz-focusring, [type=submit]:-moz-focusring{outline:1px dotted ButtonText} 42fieldset{border:1px solid #c0c0c0;margin:0 2px;padding:.35em .625em .75em} 43legend{color:inherit;display:table;max-width:100%;padding:0;white-space:normal}textarea{overflow:auto} 44[type=checkbox],[type=radio]{padding:0} 45[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto} 46[type=search]{-webkit-appearance:textfield;outline-offset:-2px} 47[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none} 48::-webkit-input-placeholder{color:inherit;opacity:0.54} 49::-webkit-file-upload-button{-webkit-appearance:button;font:inherit} 50/* End extract */ 51html,body{font-family:"Segoe UI",system-ui,-apple-system,sans-serif;font-size:16px;line-height:1.5}html{overflow-x:hidden} 52h1{font-size:36px}h2{font-size:30px}h3{font-size:24px}h4{font-size:20px}h5{font-size:18px}h6{font-size:16px}.w3-serif{font-family:serif} 53h1,h2,h3,h4,h5,h6{font-family:"Segoe UI",system-ui,-apple-system,sans-serif;font-weight:500;margin:10px 0}.w3-wide{letter-spacing:4px} 54hr{border:0;border-top:1px solid #eee;margin:20px 0} 55.w3-image{max-width:100%;height:auto}img{margin-bottom:-5px}a{color:inherit} 56.w3-table,.w3-table-all{border-collapse:collapse;border-spacing:0;width:100%;display:table}.w3-table-all{border:1px solid #ccc} 57.w3-bordered tr,.w3-table-all tr{border-bottom:1px solid #ddd}.w3-striped tbody tr:nth-child(even){background-color:#f1f1f1} 58.w3-table-all tr:nth-child(odd){background-color:#fff}.w3-table-all tr:nth-child(even){background-color:#f1f1f1} 59.w3-hoverable tbody tr:hover,.w3-ul.w3-hoverable li:hover{background-color:#ccc}.w3-centered tr th,.w3-centered tr td{text-align:center} 60.w3-table td,.w3-table th,.w3-table-all td,.w3-table-all th{padding:8px 8px;display:table-cell;text-align:left;vertical-align:top} 61.w3-table th:first-child,.w3-table td:first-child,.w3-table-all th:first-child,.w3-table-all td:first-child{padding-left:16px} 62.w3-btn,.w3-button{border:none;display:inline-block;outline:0;padding:8px 16px;vertical-align:middle;overflow:hidden;text-decoration:none;color:inherit;background-color:inherit;text-align:center;cursor:pointer;white-space:nowrap} 63.w3-btn:hover{box-shadow:0 8px 16px 0 rgba(0,0,0,0.2),0 6px 20px 0 rgba(0,0,0,0.19)} 64.w3-btn,.w3-button{-webkit-touch-callout:none;user-select:none} 65.w3-disabled,.w3-btn:disabled,.w3-button:disabled{cursor:not-allowed;opacity:0.3}.w3-disabled *,:disabled *{pointer-events:none} 66.w3-btn.w3-disabled:hover,.w3-btn:disabled:hover{box-shadow:none} 67.w3-badge,.w3-tag{background-color:#000;color:#fff;display:inline-block;padding-left:8px;padding-right:8px;text-align:center}.w3-badge{border-radius:50%} 68.w3-ul{list-style-type:none;padding:0;margin:0}.w3-ul li{padding:8px 16px;border-bottom:1px solid #ddd}.w3-ul li:last-child{border-bottom:none}
69.w3-tooltip,.w3-display-container{position:relative}.w3-tooltip .w3-text{display:none}.w3-tooltip:hover .w3-text{display:inline-block} 70.w3-ripple:active{opacity:0.5}.w3-ripple{transition:opacity 0s} 71.w3-input{padding:8px;display:block;border:none;border-bottom:1px solid #ccc;width:100%} 72.w3-select{padding:9px 0;width:100%;border:none;border-bottom:1px solid #ccc} 73.w3-dropdown-click,.w3-dropdown-hover{position:relative;display:inline-block;cursor:pointer} 74.w3-dropdown-hover:hover .w3-dropdown-content{display:block;z-index:1} 75.w3-dropdown-hover:first-child,.w3-dropdown-click:hover{background-color:#ccc;color:#000} 76.w3-dropdown-hover:hover > .w3-button:first-child,.w3-dropdown-click:hover > .w3-button:first-child{background-color:#ccc;color:#000} 77.w3-dropdown-content{cursor:auto;color:#000;background-color:#fff;display:none;position:absolute;min-width:160px;margin:0;padding:0} 78.w3-check,.w3-radio{width:24px;height:24px;position:relative;top:6px} 79.w3-sidebar{height:100%;width:200px;background-color:#fff;position:fixed!important;z-index:1;overflow:auto} 80.w3-bar-block .w3-dropdown-hover,.w3-bar-block .w3-dropdown-click{width:100%} 81.w3-bar-block .w3-dropdown-hover .w3-dropdown-content,.w3-bar-block .w3-dropdown-click .w3-dropdown-content{min-width:100%} 82.w3-bar-block .w3-dropdown-hover .w3-button,.w3-bar-block .w3-dropdown-click .w3-button{width:100%;text-align:left;padding:8px 16px} 83.w3-main,#main{transition:margin-left .4s} 84.w3-modal{z-index:3;display:none;padding-top:100px;position:fixed;left:0;top:0;width:100%;height:100%;overflow:auto;background-color:rgb(0,0,0);background-color:rgba(0,0,0,0.4)} 85.w3-modal-content{margin:auto;background-color:#fff;position:relative;padding:0;outline:0;width:600px} 86.w3-bar{width:100%;overflow:hidden}.w3-center .w3-bar{display:inline-block;width:auto} 87.w3-bar .w3-bar-item{padding:8px 16px;float:left;width:auto;border:none;outline:none;display:block} 88.w3-bar .w3-dropdown-hover,.w3-bar .w3-dropdown-click{position:static;float:left} 89.w3-bar .w3-button{white-space:normal} 90.w3-bar-block .w3-bar-item{width:100%;display:block;padding:8px 16px;text-align:left;border:none;outline:none;white-space:normal;float:none} 91.w3-bar-block.w3-center .w3-bar-item{text-align:center}.w3-block{display:block;width:100%} 92.w3-responsive{overflow-x:auto} 93.w3-container:after,.w3-container:before,.w3-panel:after,.w3-panel:before,.w3-row:after,.w3-row:before,.w3-row-padding:after,.w3-row-padding:before, 94.w3-cell-row:before,.w3-cell-row:after,.w3-clear:after,.w3-clear:before,.w3-bar:before,.w3-bar:after{content:"";display:table;clear:both} 95.w3-col,.w3-half,.w3-third,.w3-twothird,.w3-threequarter,.w3-quarter{float:left;width:100%} 96.w3-col.s1{width:8.33333%}.w3-col.s2{width:16.66666%}.w3-col.s3{width:24.99999%}.w3-col.s4{width:33.33333%} 97.w3-col.s5{width:41.66666%}.w3-col.s6{width:49.99999%}.w3-col.s7{width:58.33333%}.w3-col.s8{width:66.66666%} 98.w3-col.s9{width:74.99999%}.w3-col.s10{width:83.33333%}.w3-col.s11{width:91.66666%}.w3-col.s12{width:99.99999%} 99@media (min-width:601px){.w3-col.m1{width:8.33333%}.w3-col.m2{width:16.66666%}.w3-col.m3,.w3-quarter{width:24.99999%}.w3-col.m4,.w3-third{width:33.33333%} 100 .w3-col.m5{width:41.66666%}.w3-col.m6,.w3-half{width:49.99999%}.w3-col.m7{width:58.33333%}.w3-col.m8,.w3-twothird{width:66.66666%} 101 .w3-col.m9,.w3-threequarter{width:74.99999%}.w3-col.m10{width:83.33333%}.w3-col.m11{width:91.66666%}.w3-col.m12{width:99.99999%}} 102@media (min-width:993px){.w3-col.l1{width:8.33333%}.w3-col.l2{width:16.66666%}.w3-col.l3{width:24.99999%}.w3-col.l4{width:33.33333%} 103 .w3-col.l5{width:41.66666%}.w3-col.l6{width:49.99999%}.w3-col.l7{width:58.33333%}.w3-col.l8{width:66.66666%} 104 .w3-col.l9{width:74.99999%}.w3-col.l10{width:83.33333%}.w3-col.l11{width:91.66666%}.w3-col.l12{width:99.99999%}} 105.w3-content{max-width:980px;margin:auto}.w3-rest{overflow:hidden} 106.w3-cell-row{display:table;width:100%}.w3-cell{display:table-cell} 107.w3-cell-top{vertical-align:top}.w3-cell-middle{vertical-align:middle}.w3-cell-bottom{vertical-align:bottom} 108.w3-hide{display:none!important}.w3-show-block,.w3-show{display:block!important}.w3-show-inline-block{display:inline-block!important} 109@media (max-width:600px){.w3-modal-content{margin:0 10px;width:auto!important}.w3-modal{padding-top:30px} 110 .w3-dropdown-hover.w3-mobile .w3-dropdown-content,.w3-dropdown-click.w3-mobile .w3-dropdown-content{position:relative} 111 .w3-hide-small{display:none!important}.w3-mobile{display:block;width:100%!important}.w3-bar-item.w3-mobile,.w3-dropdown-hover.w3-mobile,.w3-dropdown-click.w3-mobile{text-align:center} 112 .w3-dropdown-hover.w3-mobile,.w3-dropdown-hover.w3-mobile .w3-btn,.w3-dropdown-hover.w3-mobile .w3-button,.w3-dropdown-click.w3-mobile,.w3-dropdown-click.w3-mobile .w3-btn,.w3-dropdown-click.w3-mobile .w3-button{width:100%}} 113@media (max-width:768px){.w3-modal-content{width:500px}.w3-modal{padding-top:50px}}
114@media (min-width:993px){.w3-modal-content{width:900px}.w3-hide-large{display:none!important}.w3-sidebar.w3-collapse{display:block!important}} 115@media (max-width:992px) and (min-width:601px){.w3-hide-medium{display:none!important}} 116@media (max-width:992px){.w3-sidebar.w3-collapse{display:none}.w3-main{margin-left:0!important;margin-right:0!important}} 117.w3-top,.w3-bottom{position:fixed;width:100%;z-index:1}.w3-top{top:0}.w3-bottom{bottom:0} 118.w3-overlay{position:fixed;display:none;width:100%;height:100%;top:0;left:0;right:0;bottom:0;background-color:rgba(0,0,0,0.5);z-index:2} 119.w3-display-topleft{position:absolute;left:0;top:0}.w3-display-topright{position:absolute;right:0;top:0} 120.w3-display-bottomleft{position:absolute;left:0;bottom:0}.w3-display-bottomright{position:absolute;right:0;bottom:0} 121.w3-display-middle{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%)} 122.w3-display-left{position:absolute;top:50%;left:0;transform:translate(0%,-50%);-ms-transform:translate(-0%,-50%)} 123.w3-display-right{position:absolute;top:50%;right:0;transform:translate(0%,-50%);-ms-transform:translate(0%,-50%)} 124.w3-display-topmiddle{position:absolute;left:50%;top:0;transform:translate(-50%,0%);-ms-transform:translate(-50%,0%)} 125.w3-display-bottommiddle{position:absolute;left:50%;bottom:0;transform:translate(-50%,0%);-ms-transform:translate(-50%,0%)} 126.w3-display-container:hover .w3-display-hover{display:block}.w3-display-container:hover span.w3-display-hover{display:inline-block}.w3-display-hover{display:none} 127.w3-display-position{position:absolute} 128.w3-circle{border-radius:50%} 129.w3-round-small{border-radius:2px}.w3-round,.w3-round-medium{border-radius:4px}.w3-round-large{border-radius:8px}.w3-round-xlarge{border-radius:16px}.w3-round-xxlarge{border-radius:32px} 130.w3-row-padding,.w3-row-padding>.w3-half,.w3-row-padding>.w3-third,.w3-row-padding>.w3-twothird,.w3-row-padding>.w3-threequarter,.w3-row-padding>.w3-quarter,.w3-row-padding>.w3-col{padding:0 8px} 131/* Cards in 2-/3-column rows stretch to equal height. :has() scopes this to rows that contain cards so other column layouts keep float behavior; browsers without :has() fall back to unequal heights. */ 132.w3-row-padding:has(> .w3-half > .w3-card),.w3-row-padding:has(> .w3-third > .w3-card){display:flex;flex-wrap:wrap} 133.w3-row-padding>.w3-half:has(> .w3-card),.w3-row-padding>.w3-third:has(> .w3-card){display:flex;flex-direction:column;float:none} 134.w3-row-padding>.w3-half>.w3-card,.w3-row-padding>.w3-third>.w3-card{flex:1} 135.w3-container,.w3-panel{padding:0.01em 16px}.w3-panel{margin-top:16px;margin-bottom:16px} 136.w3-code,.w3-codespan{font-family:Consolas,"courier new";font-size:16px} 137.w3-code{width:auto;background-color:#fff;padding:8px 12px;border-left:4px solid #4CAF50;word-wrap:break-word} 138.w3-codespan{color:crimson;background-color:#f1f1f1;padding-left:4px;padding-right:4px;font-size:110%} 139.w3-card,.w3-card-2{box-shadow:0 2px 5px 0 rgba(0,0,0,0.16),0 2px 10px 0 rgba(0,0,0,0.12)} 140.w3-card-4,.w3-hover-shadow:hover{box-shadow:0 4px 10px 0 rgba(0,0,0,0.2),0 4px 20px 0 rgba(0,0,0,0.19)} 141.w3-spin{animation:w3-spin 2s infinite linear}@keyframes w3-spin{0%{transform:rotate(0deg)}100%{transform:rotate(359deg)}} 142.w3-animate-fading{animation:fading 10s infinite}@keyframes fading{0%{opacity:0}50%{opacity:1}100%{opacity:0}} 143.w3-animate-opacity{animation:opac 0.8s}@keyframes opac{from{opacity:0} to{opacity:1}} 144.w3-animate-top{position:relative;animation:animatetop 0.4s}@keyframes animatetop{from{top:-300px;opacity:0} to{top:0;opacity:1}} 145.w3-animate-left{position:relative;animation:animateleft 0.4s}@keyframes animateleft{from{left:-300px;opacity:0} to{left:0;opacity:1}} 146.w3-animate-right{position:relative;animation:animateright 0.4s}@keyframes animateright{from{right:-300px;opacity:0} to{right:0;opacity:1}} 147.w3-animate-bottom{position:relative;animation:animatebottom 0.4s}@keyframes animatebottom{from{bottom:-300px;opacity:0} to{bottom:0;opacity:1}} 148.w3-animate-zoom {animation:animatezoom 0.6s}@keyframes animatezoom{from{transform:scale(0)} to{transform:scale(1)}} 149.w3-animate-input{transition:width 0.4s ease-in-out}.w3-animate-input:focus{width:100%!important} 150.w3-opacity,.w3-hover-opacity:hover{opacity:0.60}.w3-opacity-off,.w3-hover-opacity-off:hover{opacity:1} 151.w3-opacity-max{opacity:0.25}.w3-opacity-min{opacity:0.75} 152.w3-greyscale-max,.w3-grayscale-max,.w3-hover-greyscale:hover,.w3-hover-grayscale:hover{filter:grayscale(100%)} 153.w3-greyscale,.w3-grayscale{filter:grayscale(75%)}.w3-greyscale-min,.w3-grayscale-min{filter:grayscale(50%)} 154.w3-sepia{filter:sepia(75%)}.w3-sepia-max,.w3-hover-sepia:hover{filter:sepia(100%)}.w3-sepia-min{filter:sepia(50%)} 155.w3-tiny{font-size:10px!important}.w3-small{font-size:12px!important}.w3-medium{font-size:15px!important}.w3-large{font-size:18px!important} 156.w3-xlarge{font-size:24px!important}.w3-xxlarge{font-size:36px!important}.w3-xxxlarge{font-size:48px!important}.w3-jumbo{font-size:64px!important} 157.w3-left-align{text-align:left!important}.w3-right-align{text-align:right!important}.w3-justify{text-align:justify!important}.w3-center{text-align:center!important} 158.w3-border-0{border:0!important}.w3-border{border:1px solid #ccc!important} 159.w3-border-top{border-top:1px solid #ccc!important}.w3-border-bottom{border-bottom:1px solid #ccc!important} 160.w3-border-left{border-left:1px solid #ccc!important}.w3-border-right{border-right:1px solid #ccc!important} 161.w3-topbar{border-top:6px solid #ccc!important}.w3-bottombar{border-bottom:6px solid #ccc!important} 162.w3-leftbar{border-left:6px solid #ccc!important}.w3-rightbar{border-right:6px solid #ccc!important} 163.w3-section,.w3-code{margin-top:16px!important;margin-bottom:16px!important} 164.w3-margin{margin:16px!important}.w3-margin-top{margin-top:16px!important}.w3-margin-bottom{margin-bottom:16px!important} 165.w3-margin-left{margin-left:16px!important}.w3-margin-right{margin-right:16px!important} 166.w3-padding-small{padding:4px 8px!important}.w3-padding{padding:8px 16px!important}.w3-padding-large{padding:12px 24px!important} 167.w3-padding-16{padding-top:16px!important;padding-bottom:16px!important}.w3-padding-24{padding-top:24px!important;padding-bottom:24px!important} 168.w3-padding-32{padding-top:32px!important;padding-bottom:32px!important}.w3-padding-48{padding-top:48px!important;padding-bottom:48px!important} 169.w3-padding-64{padding-top:64px!important;padding-bottom:64px!important} 170.w3-left{float:left!important}.w3-right{float:right!important} 171.w3-button:hover{color:#000!important;background-color:#ccc!important} 172.w3-transparent,.w3-hover-none:hover{background-color:transparent!important} 173.w3-hover-none:hover{box-shadow:none!important}
174/* Colors */ 175.w3-amber,.w3-hover-amber:hover{color:#000!important;background-color:#ffc107!important} 176.w3-aqua,.w3-hover-aqua:hover{color:#000!important;background-color:#00ffff!important} 177.w3-blue,.w3-hover-blue:hover{color:#fff!important;background-color:#2196F3!important} 178.w3-light-blue,.w3-hover-light-blue:hover{color:#000!important;background-color:#87CEEB!important} 179.w3-brown,.w3-hover-brown:hover{color:#fff!important;background-color:#795548!important} 180.w3-cyan,.w3-hover-cyan:hover{color:#000!important;background-color:#00bcd4!important} 181.w3-blue-grey,.w3-hover-blue-grey:hover,.w3-blue-gray,.w3-hover-blue-gray:hover{color:#fff!important;background-color:#607d8b!important} 182.w3-green,.w3-hover-green:hover{color:#fff!important;background-color:#4CAF50!important} 183.w3-light-green,.w3-hover-light-green:hover{color:#000!important;background-color:#8bc34a!important} 184.w3-indigo,.w3-hover-indigo:hover{color:#fff!important;background-color:#3f51b5!important} 185.w3-khaki,.w3-hover-khaki:hover{color:#000!important;background-color:#f0e68c!important} 186.w3-lime,.w3-hover-lime:hover{color:#000!important;background-color:#cddc39!important} 187.w3-orange,.w3-hover-orange:hover{color:#000!important;background-color:#ff9800!important} 188.w3-deep-orange,.w3-hover-deep-orange:hover{color:#fff!important;background-color:#ff5722!important} 189.w3-pink,.w3-hover-pink:hover{color:#fff!important;background-color:#e91e63!important} 190.w3-purple,.w3-hover-purple:hover{color:#fff!important;background-color:#9c27b0!important} 191.w3-deep-purple,.w3-hover-deep-purple:hover{color:#fff!important;background-color:#673ab7!important} 192.w3-red,.w3-hover-red:hover{color:#fff!important;background-color:#f44336!important} 193.w3-sand,.w3-hover-sand:hover{color:#000!important;background-color:#fdf5e6!important} 194.w3-teal,.w3-hover-teal:hover{color:#fff!important;background-color:#009688!important} 195.w3-yellow,.w3-hover-yellow:hover{color:#000!important;background-color:#ffeb3b!important} 196.w3-white,.w3-hover-white:hover{color:#000!important;background-color:#fff!important} 197.w3-black,.w3-hover-black:hover{color:#fff!important;background-color:#000!important} 198.w3-grey,.w3-hover-grey:hover,.w3-gray,.w3-hover-gray:hover{color:#000!important;background-color:#bbb!important} 199.w3-light-grey,.w3-hover-light-grey:hover,.w3-light-gray,.w3-hover-light-gray:hover{color:#000!important;background-color:#f1f1f1!important} 200.w3-dark-grey,.w3-hover-dark-grey:hover,.w3-dark-gray,.w3-hover-dark-gray:hover{color:#fff!important;background-color:#616161!important} 201.w3-pale-red,.w3-hover-pale-red:hover{color:#000!important;background-color:#ffdddd!important} 202.w3-pale-green,.w3-hover-pale-green:hover{color:#000!important;background-color:#ddffdd!important} 203.w3-pale-yellow,.w3-hover-pale-yellow:hover{color:#000!important;background-color:#ffffcc!important} 204.w3-pale-blue,.w3-hover-pale-blue:hover{color:#000!important;background-color:#ddffff!important} 205.w3-text-red,.w3-hover-text-red:hover{color:#f44336!important} 206.w3-text-green,.w3-hover-text-green:hover{color:#4CAF50!important} 207.w3-text-blue,.w3-hover-text-blue:hover{color:#2196F3!important} 208.w3-text-yellow,.w3-hover-text-yellow:hover{color:#ffeb3b!important} 209.w3-text-white,.w3-hover-text-white:hover{color:#fff!important} 210.w3-text-black,.w3-hover-text-black:hover{color:#000!important} 211.w3-text-grey,.w3-hover-text-grey:hover,.w3-text-gray,.w3-hover-text-gray:hover{color:#757575!important} 212.w3-text-amber{color:#ffc107!important} 213.w3-text-aqua{color:#00ffff!important} 214.w3-text-light-blue{color:#87CEEB!important} 215.w3-text-brown{color:#795548!important} 216.w3-text-cyan{color:#00bcd4!important} 217.w3-text-blue-grey,.w3-text-blue-gray{color:#607d8b!important} 218.w3-text-light-green{color:#8bc34a!important} 219.w3-text-indigo{color:#3f51b5!important} 220.w3-text-khaki{color:#b4aa50!important} 221.w3-text-lime{color:#cddc39!important} 222.w3-text-orange{color:#ff9800!important} 223.w3-text-deep-orange{color:#ff5722!important} 224.w3-text-pink{color:#e91e63!important} 225.w3-text-purple{color:#9c27b0!important} 226.w3-text-deep-purple{color:#673ab7!important} 227.w3-text-sand{color:#fdf5e6!important} 228.w3-text-teal{color:#009688!important} 229.w3-text-light-grey,.w3-hover-text-light-grey:hover,.w3-text-light-gray,.w3-hover-text-light-gray:hover{color:#f1f1f1!important} 230.w3-text-dark-grey,.w3-hover-text-dark-grey:hover,.w3-text-dark-gray,.w3-hover-text-dark-gray:hover{color:#3a3a3a!important} 231.w3-border-red,.w3-hover-border-red:hover{border-color:#f44336!important} 232.w3-border-green,.w3-hover-border-green:hover{border-color:#4CAF50!important}
233.w3-border-blue,.w3-hover-border-blue:hover{border-color:#2196F3!important} 234.w3-border-yellow,.w3-hover-border-yellow:hover{border-color:#ffeb3b!important} 235.w3-border-white,.w3-hover-border-white:hover{border-color:#fff!important} 236.w3-border-black,.w3-hover-border-black:hover{border-color:#000!important} 237.w3-border-grey,.w3-hover-border-grey:hover,.w3-border-gray,.w3-hover-border-gray:hover{border-color:#bbb!important} 238 239/*********************************************************/ 240 241.w3-container.pad0 { padding: 0; } 242.pad-sides-10 { padding-left: 10px; padding-right: 10px} 243 244body { 245 margin:0; 246 font-family: "Segoe UI",system-ui,-apple-system,sans-serif; 247 color: black; 248 /* see: https://stackoverflow.com/questions/2545542/font-size-rendering-inconsistencies-on-an-iphone*/ 249 -webkit-text-size-adjust: 100%; 250} 251 252h1, h2, h3, h4 { 253 font-family: "Segoe UI",system-ui,-apple-system,sans-serif; 254 font-weight: 500; 255 line-height: 1.2; 256} 257h1 {font-size: 36px;} 258h2 {font-size: 30px;} 259h3 {font-size: 24px;} 260h4 {font-size: 20px;} 261p { 262 font-weight: 400; 263 line-height: 1.5; 264} 265a { 266 color: #2971b3; 267 font-weight: 500; 268} 269.CallToAction { 270 text-align: center; 271} 272div.CallToAction { 273 margin-top: 80px; 274 margin-bottom: 80px; 275} 276.CallToAction h1, .CallToAction h2, .CallToAction h3, .CallToAction h4, .CallToAction a { 277 font-weight: 500; 278} 279.CallToAction p b { 280 font-weight: 500; 281} 282div.CallToAction a.phoneNumber { 283 font-size: 40px; 284} 285 286#header { 287 position: fixed; 288 top: 0; 289 left: 0; 290 z-index: 999; 291 width: 100%; /* margins can make 100% width wider than viewport */ 292 box-shadow: 0 2px lightgrey; 293} 294.headerStyle, .headerStyle * { 295 font-weight:300; 296} 297.headerLine1Style h1 { 298 font-size: 8vmin; 299 line-height: 1.4em; 300 justify-content: right; 301 /*margin-left: 20px;*/ 302 /*margin-right: 20px;*/ 303} 304@media screen and (min-width: 320px) { 305 .headerLine1Style h1 { 306 font-size: 20px; 307 } 308} 309@media screen and (min-width: 768px) { 310 .headerLine1Style h1 { 311 font-size: 30px; 312 } 313} 314@media screen and (min-width: 922px) { 315 .headerLine1Style h1 { 316 font-size: 36px; 317 } 318} 319@media only screen and (device-width: 768px) and (device-height: 1024px) and (-webkit-min-device-pixel-ratio: 1) { 320 /* ipad fix - font wider than windows */ 321 .headerLine1Style h1 { 322 font-size: 28px; 323 } 324} 325.header_line1_company { 326 max-width: 60%; 327} 328.headerLine1Style a { 329 text-decoration: none; 330 cursor: pointer; 331} 332.headerLine1Style a h2 { 333 margin: 0; 334} 335 336.headingTxt{text-align:center; font-size:34px; font-weight:bold; color:#000000; line-height:2; 337 padding-top:10px; 338} 339.headingTxt small{ display:block; font-weight:normal; font-size:18px;} 340 341.contentX { 342 text-align: left; 343} 344.contentX h1, .contentX h2, .contentX h3, .contentX h4 { 345 margin-top: 1.2em; 346 margin-bottom: 1.2em; 347} 348.contentX img { 349 margin: 0 -16px 10px; 350 border: 3px transparent; 351 max-width: calc(100% + 32px); 352} 353.contentX img[style*="width:100%"], 354.contentX img[style*="width: 100%"] { 355 width: calc(100% + 32px) !important; 356 height: auto !important; 357} 358.contentX img[style*="float:left"], 359.contentX img[style*="float: left"], 360.contentX img.floatleft { 361 margin: 0 15px 10px 0; 362 max-width: 100%; 363} 364.contentX img[style*="float:right"], 365.contentX img[style*="float: right"] { 366 margin: 0 0 10px 15px; 367 max-width: 100%; 368} 369.contentX img.autoPost { 370 margin-left: 0; 371 margin-bottom: 0; 372 border: 2px solid transparent ; 373 vertical-align: bottom; 374} 375.contentX figure { 376 margin: 0 0 2em; 377} 378.photoPage { max-width: 700px; margin: 0 auto} 379.photoPage p {min-height: 1.25em} 380.photoPage p img { margin: 0 auto 4px} 381 382.contentX ul { margin-bottom: 20px} 383.contentX li { 384 margin-bottom: 10px; 385 list-style-type: disc; 386} 387 388.contentX { 389 overflow:hidden; 390 font-size:16px; 391 line-height:1.7; 392 color:#000000; 393 padding: 40px 16px; 394} 395 396#header_subtext { 397 font-weight: normal; 398 color: black; 399 padding: 0 0 10px 0; 400 font-size: 20px; 401} 402.greyblocks{overflow:hidden; text-align:center; font-size:20px; font-weight:600; 403 margin: 10px auto 10px; 404} 405.greyblocks-box { 406 border-color: #f0f0f0; 407 border-width: 1px; 408 border-style: solid; 409 padding:10px; 410 max-width: 600px; 411 margin: 35px auto 35px; 412} 413.greyblock-col-1{padding:10px 0; background:#ffffff; overflow:hidden; margin:10px 0 0 0;box-sizing: unset} 414.greyblocks span{color:#2971b3; font-weight:500; font-size:18px} 415.greyblocks img {max-width:100%; height:auto; border-style: none} 416 417.callfreeQuote{text-align:center; padding:10px 0; overflow:hidden; clear:both; font-size:30px; font-weight:normal;
417 color:#000000;} 418.callUsBtn{clear:both; width:280px; padding:10px 10px; border-radius:40px; background:#49b9bf; font-size:30px; font-weight:bold; color:#ffffff; margin:10px auto;} 419.callUsBtn i{ padding:6px 10px; background:#ffffff; color:#49b9bf; border-radius:50px; } 420 421.getPriceDiv{background:#428bca; padding:14px 2px 2px 2px; text-align:center; font-size:26px; color:#ffffff; overflow:hidden; 422 margin: 35px auto 35px; 423 max-width: 640px; 424 border-radius: 12px; 425 box-shadow: 0 4px 20px rgba(0,0,0,0.10); 426} 427.getPriceFormDiv{background:#f6f7fe; padding:20px 20px 10px 20px; overflow:hidden; margin:10px 0 0 0; border-radius: 0 0 10px 10px;} 428.getPriceFormDiv ul{padding:0; margin:0; list-style-type:none;} 429.getPriceFormDiv ul li{padding:6px 0; margin:0; display:block; font-size:14px; } 430.text-field{border:1px solid #d4d4d4; color:#555; font-weight:normal; padding:14px; width:92%; font-size: 15px; border-radius: 6px; transition: border-color 0.2s;} 431.text-field:focus{border-color:#2971b3; outline:none;} 432.check-field { padding-left: 24px; text-align: left; vertical-align: center;} 433.check-field label { color: black;} 434.submit-field{background:#2971b3; border: medium none; padding: 14px 0; display: inline-block; cursor: pointer; color: #FFF; width: 100%; 435 font-size: 20px; 436 border-radius: 8px; 437 font-weight: 500; 438 transition: background-color 0.2s, transform 0.1s; 439} 440.submit-field:hover{background:#1e5f99;} 441.submit-field:active{transform: scale(0.98);} 442textarea{font-size:16px; font-weight:normal;} 443.followus img{padding:15px} 444 445.cities-panel{ 446 padding-bottom: 30px; 447} 448 449.cities-panel h2,.cities-panel h3 { 450 display: inline-block; 451} 452.cities-panel h3 {margin:30px 0 } 453.cities-panel ul{ 454 padding:0; 455 margin:0; 456 list-style-type:none; 457 overflow: hidden; 458} 459.cities-panel ul li{ 460 margin-bottom: 2px; 461 font-size:16px; 462 font-weight:500; display:inline-block; line-height:28px; width:29%; 463} 464.cities-panel ul li a{text-decoration: none} 465.cities-panel ul li a:hover{text-decoration:underline;} 466 467.wrapperuseful{padding:0; overflow:hidden;} 468.usefullinksDiv{padding:0 15px 15px 15px; overflow:hidden;} 469.usefullinksDiv h2{ font-size:28px; font-weight:bold; color:#000000; padding:0; margin:0;} 470.usefullinksDiv ul{ list-style:none; margin:0 0 10px 0; padding:0; overflow:hidden;} 471.usefullinksDiv ul li { 472 margin:0 0 0 40px; padding:5px 0; float:left; width:26%; 473} 474.usefullinksDiv ul li a{ color:#000000; text-decoration:none;} 475a.reviewBtn{ 476 text-decoration:none; display:block; clear:both; 477 margin: 0 auto; 478} 479a.reviewBtn div { 480 background: orange; 481 border: medium none; 482 padding: 10px 0; 483 cursor: pointer; 484 color: #FFF; 485 font-size: 20px; 486 text-align: center; 487 border-radius: 6px; 488 margin: 50px auto; 489 font-weight: 400; 490} 491 492.smallScreenMenuPhone a, .header_line1_phone a { 493 cursor: pointer; 494 color: #FFF; 495 text-align:center; 496} 497 498.useboxright{ 499 text-align:center; background: black; padding:15px;
499 color:#ffffff; 500 font-weight: 300; 501} 502.callNoDiv{ 503 padding:10px; text-align:center; font-size:26px; 504 color:#ffffff; 505 border-radius: 6px; 506 max-width: 300px; 507 margin: 0 auto; 508} 509.callNoDiv a { 510 text-align:center; font-size:32px; 511 color:#ffffff; text-decoration: none; position: relative; 512 513 font-weight: 400; 514 border-radius:6px; 515 border-style: solid; 516 border-color: rgba(170, 170, 170, .4); 517 border-width: 1px; 518 padding: 2px 20px 5px; 519 520} 521.callNoDiv span a{font-size:.6em} 522 523footer { margin-top: 40px } 524.footerDivMn{ 525 width:100%; 526 text-align:center; 527 font-size:12px; 528 color:#ffffff; 529 background: #2971b3; 530 clear:both; 531} 532 533.toggleMenu { 534 display:none; 535 clear:both; 536 font-size: 16px; 537 color: white; 538 padding: 10px 10px 10px 10px; 539 cursor: pointer; 540} 541a.toggleMenu {text-decoration:none;} 542 543.contentX a.phoneNumber, a.phoneNumber { 544 color: #2870b3; 545 text-decoration: none; 546 white-space: nowrap; 547} 548 549#townServiceList p { 550 min-height: 50px; 551} 552#townServiceList img { 553 float: left; 554 border: none; 555 margin: 8px 10px 0 0; 556 box-shadow: 2px 2px 2px grey; 557 width: 50px; 558 height: 50px !important; 559 max-width: 50px; 560} 561#townServiceList a { 562 font-weight: 700; 563 font-size: 15px; 564 text-decoration:none; 565} 566 567div.BBB { 568 padding-top: 10px; 569} 570p.BBBText { 571 font-size: 16px; 572 font-weight: bold; 573 text-align: center; 574} 575p.BBBText a { 576 text-decoration: none; 577} 578p.BBBImage { 579 text-align: center; 580} 581.contentX p.BBBImage img { 582 display: inline-block; 583 margin-right: 10px; 584 margin-left: 10px; 585} 586.BBBImage img { 587 border:none; 588 margin: 0; 589 box-shadow: none; 590} 591.BBB_script { 592 width: 282px; 593 margin: auto; 594 padding: 30px 0 30px 0; 595} 596 597img.CreditCard { 598 max-width:100%; 599 padding-top: 15px; 600} 601.license { margin: auto; } 602 603ul.listCSV { 604 padding:0 605} 606.listCSV li {
607 display: inline; 608} 609.listCSV li:after { 610 content: ", "; 611} 612.listCSV li:last-child:after { 613 content: ""; 614} 615hr { 616 clear: both; 617 margin-top: 20px; 618 margin-bottom: 20px; 619 border: 0; 620 border-top: 1px solid #d6d6d6; 621} 622ul.zipCodesServed li { 623 font-weight: 400; 624} 625 626/* override inline style ... update all themes, then remove inline style in site_render */ 627p.ctaPhone a{font-size: 36px; text-align: center} 628 629.smallScreenHeader {display: none} 630.showLargeScreenHeader { 631 display:inherit 632} 633.showLargeScreenHeader a { 634 font-size: 36px; 635} 636.headerBackground { 637 background-color: darkorange; 638} 639 640.contentX { 641 width: 100%; 642} 643 644.contentX .selectTestimonials { 645 clear: both; 646 margin-top: 40px; 647 margin-bottom: 40px; 648} 649.contentX .selectTestimonials ul { 650 padding-left: 0; 651} 652.contentX .selectTestimonials ul li { 653 list-style: none; 654 margin:2px 5px 20px 1px; 655 padding: 18px 22px; 656 border-radius: 8px; 657 box-shadow: 0 2px 12px rgba(0,0,0,0.08); 658 border: 1px solid #eee; 659} 660.contentX .testimonialBody { 661 font-weight: 400; 662 font-style: italic; 663} 664.contentX div.schema.review span[itemprop="ratingValue"] { 665 display:none 666} 667.contentX div.schema.review .review-stars { 668 color: #428BCA; 669 font-size: 20px; 670} 671.contentX div.schema.review span[itemprop="datePublished"]::before { 672 content: "Review date: "; 673 font-size: 12px; 674} 675.contentX div.schema.review span[itemprop="datePublished"] { 676 font-style: italic; 677 color: grey; 678 font-size: 12px; 679} 680span[itemprop="datePublished"] { 681 display:none 682} 683 684.contentX .selectTestimonials ul li strong em, .contentX .selectTestimonials .testimonialAuthor { 685 font-weight: 500; 686 font-style: italic; 687} 688 689.paypal {max-width:100%} 690 691ul.phoneList {list-style: none;padding-left: 0;margin:0 auto} 692footer li.primaryPhone { 693 margin-bottom: 10px; 694} 695.phoneSmall {font-size: 16px; font-weight: normal;} 696.mainTopSpacer {height: 105px} 697 698.w3-container .padGetPrice { 699 padding-top: 40px; 700 margin-top: -40px; 701} 702 703.center-cropped { 704 width: 100%; 705 max-height: 60vh; 706 overflow: hidden; 707} 708@media screen and (min-height: 1000px) { 709 .center-cropped { 710 height: 1000px; 711 } 712} 713@media screen and (max-width: 600px) { 714 .center-cropped { 715 height: 400px; 716 } 717} 718 719/* LCP image - visible with object-fit cover for cropping effect */ 720/* Note: object-position can be overridden per-registration via inline media queries */ 721/* for responsive focal point control (GalleryFocalPoint{Mobile,Tablet,Desktop} reg_vars) */ 722.center-cropped img { 723 width: 100%; 724 height: 100%; 725 object-fit: cover; 726 object-position: center; 727} 728@media (max-width: 768px) { 729 .center-cropped { 730 max-height: 40vh; 731 } 732} 733 734/* Gallery Overlay Styles */ 735.center-cropped.has-overlay { 736 position: relative; 737} 738 739/* Full image tint overlay - covers entire image */ 740.gallery-image-tint { 741 position: absolute; 742 top: 0; 743 left: 0; 744 right: 0; 745 bottom: 0; 746 z-index: 5; /* Above image, below positioned overlay */ 747 pointer-events: none; /* Allow clicks through to image */ 748} 749 750/* Positioned overlay sits above tint */ 751.gallery-overlay { 752 position: absolute; 753 z-index: 10; /* Above tint layer */ 754 padding: 20px; 755 max-width: 80%; 756 color: white; 757 text-shadow: 2px 2px 4px rgba(0,0,0,0.8); 758} 759.gallery-overlay h1, 760.gallery-overlay h2, 761.gallery-overlay h3, 762.gallery-overlay h4, 763.gallery-overlay p { 764 margin: 0 0 0.5em 0; 765 color: inherit; 766 text-shadow: inherit; 767} 768.gallery-overlay a { 769 color: inherit; 770 text-decoration: underline; 771} 772 773/* Overlay vertical positions */ 774.gallery-overlay-top-left, 775.gallery-overlay-top-center, 776.gallery-overlay-top-right { 777 top: 5%; 778} 779.gallery-overlay-middle-left, 780.gallery-overlay-center, 781.gallery-overlay-middle-right { 782 top: 50%; 783} 784.gallery-overlay-bottom-left, 785.gallery-overlay-bottom-center, 786.gallery-overlay-bottom-right { 787 bottom: 5%; 788} 789 790/* Overlay horizontal positions */ 791.gallery-overlay-top-left, 792.gallery-overlay-middle-left, 793.gallery-overlay-bottom-left { 794 left: 5%; 795} 796.gallery-overlay-top-center, 797.gallery-overlay-center, 798.gallery-overlay-bottom-center { 799 left: 50%; 800} 801.gallery-overlay-top-right, 802.gallery-overlay-middle-right, 803.gallery-overlay-bottom-right { 804 right: 5%; 805} 806 807/* Overlay transforms for centering */ 808.gallery-overlay-top-center, 809.gallery-overlay-bottom-center { 810 transform: translateX(-50%); 811} 812.gallery-overlay-middle-left, 813.gallery-overlay-middle-right { 814 transform: translateY(-50%); 815} 816.gallery-overlay-center { 817 transform: translate(-50%, -50%); 818} 819 820/* Responsive font scaling for overlay */ 821@media (max-width: 479px) { 822 .gallery-overlay { 823 font-size: 0.7em; 824 padding: 8px; 825 max-width: 90%; 826 } 827} 828@media (min-width: 480px) and (max-width: 767px) { 829 .gallery-overlay { 830 font-size: 0.85em; 831 padding: 12px; 832 max-width: 85%; 833 } 834} 835@media (min-width: 768px) and (max-width: 1199px) { 836 .gallery-overlay { 837 font-size: 1em; 838 padding: 16px; 839 } 840} 841@media (min-width: 1200px) { 842 .gallery-overlay { 843 font-size: 1.2em; 844 padding: 20px; 845 } 846} 847 848.center_image { 849 display: block; 850 max-width:100%; 851 height:auto; 852 margin: 0 auto; 853} 854 855a.privacyPolicy { text-decoration: none} 856a.privacyPolicy:hover { text-decoration: underline} 857 858.video-container { 859 position:relative; 860 padding-bottom:56.25%; 861 padding-top:30px; 862 height:0; 863 overflow:hidden; 864} 865.video-container iframe, .video-container object, .video-container embed { 866 position:absolute; 867 top:0; 868 left:0; 869 width:100%; 870 height:100%; 871} 872/* add after video-container if video is square */ 873.video-square { 874 padding-bottom: 100% 875} 876 877/* was in sm-core-css.css */ 878/* Mobile first layout SmartMenus Core CSS (it's not recommended editing these rules) 879 You need this once per page no matter how many menu trees or different themes you use. 880-------------------------------------------------------------------------------------------*/ 881 882.sm,.sm ul,.sm li{display:block;list-style:none;margin:0;padding:0;line-height:normal;direction:ltr;-webkit-tap-highlight-color:rgba(0,0,0,0);} 883.sm-rtl,.sm-rtl ul,.sm-rtl li{direction:rtl;text-align:right;} 884.sm>li>h1,.sm>li>h2,.sm>li>h3,.sm>li>h4,.sm>li>h5,.sm>li>h6{margin:0;padding:0;} 885.sm ul{display:none;} 886.sm li,.sm a{position:relative; text-align: left} 887.sm a{display:block;} 888.sm a.disabled{cursor:not-allowed;} 889.sm:after{display:block;height:0; /*noinspection CssInvalidPropertyValue*/ 890 font:0/0 serif;clear:both;visibility:hidden;overflow:hidden;} 891.sm,.sm *,.sm *:before,.sm *:after{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box;} 892/* ----- end ------ */ 893 894@media screen and (max-width:600px) { 895 h1 { 896 font-size: 30px; 897 } 898 899 h2 { 900 font-size: 26px; 901 } 902 903 h3 { 904 font-size: 22px; 905 } 906 907 h4 { 908 font-size: 20px; 909 } 910} 911 912@media screen and (min-width:768px) { 913 a.reviewBtn {width:300px} 914 /* smartmenu hides menu when width expands after menu toggle clicked twice*/ 915 .contentX img.floatleft {float:left;margin-left:0;margin-right:10px;} 916} 917@media screen and (min-width:981px) { 918 .contentX img { 919 margin: 0 0 10px; 920 width: 100%; 921 max-width: 100%; 922 height: auto; 923 } 924 .contentX img[style*="float"], 925 .contentX img.floatleft { 926 width: auto; 927 } 928 .contentX img.autoPost { 929 width: auto; 930 } 931} 932@media screen and (max-width:768px) { 933 .container-fluid{ width:100%; margin:auto; overflow:hidden;} 934 /* full menu */ 935 .header {padding: 6px 15px 6px 15px;} 936 .logoDiv{ 937 text-align:center; padding-top:6px; padding-bottom: 6px; 938 } 939} 940@media screen and (max-width:767px) { 941 .cities-panel ul li{width:28%;} 942 a.reviewBtn div{ 943 max-width: 300px; 944 margin: 0 auto 40px; 945 } 946 .contentX * {margin-right: 0;} 947 .contentX img { 948 margin: 0 -16px 10px; 949 border: none; 950 max-width: calc(100% + 32px); 951 height: auto !important; 952 } 953 .contentX img.autoPost { 954 margin: 0 auto; 955 } 956 .contentX img.floatleft {} 957} 958@media screen and (max-width:768px) { 959 .contentX { 960 text-align:left; 961 } 962 h2 {text-align: center} 963} 964 965@media screen and (max-width:767px) { 966 .contentX * img{ float:none !important; display:block; margin-left:-16px; margin-right:-16px} 967 /* Preserve inline centering for icons inside cards/specials (override the edge-bleed above) */ 968 .contentX .w3-card img, 969 .contentX [data-special-id] img { display:inline; margin-left:0; margin-right:0; max-width:100%; } 970 .contentX img[style*="float:left"], 971 .contentX img[style*="float: left"], 972 .contentX img[style*="float:right"], 973 .contentX img[style*="float: right"], 974 .contentX img.floatleft { 975 margin: 0 -16px 10px; 976 max-width: calc(100% + 32px); 977 width: calc(100% + 32px) !important; 978 height: auto; 979 } 980 /* Edge-to-edge content images on mobile. Content images already get the 981 negative side margins above; only the width was missing for fixed-pixel 982 images (e.g. a centered 400px hero photo), which left side gaps on phones 983 wider than the image. Force them to fill. Desktop is untouched, so low-res 984 photos stay sharp at their native size on large screens. */ 985 .contentX img { 986 max-width: calc(100% + 32px); 987 width: calc(100% + 32px) !important; 988 height: auto !important; 989 } 990 /* ...but never enlarge small / decorative images. These selectors are more 991 specific than the rule above, so they win even though both use !important. */ 992 .contentX img.noBleed, 993 .contentX img[alt="Author's Face"], 994 .contentX img[src*="/faces/"], 995 .contentX img[src*="/bbb/"], 996 .contentX p.BBBImage img, 997 .contentX .w3-card img, 998 .contentX [data-special-id] img { 999 width: auto !important; 1000 max-width: 100% !important; 1001 margin-left: 0; 1002 margin-right: 0; 1003 display: inline; 1004 } 1005 /* ...except a small image that floats on desktop: inline, the text it floated beside 1006 would start on its bottom line, a word or two stranded to its right. Give it a row. */ 1007 .contentX img.noBleed[style*="float:left"], 1008 .contentX img.noBleed[style*="float: left"], 1009 .contentX img.noBleed[style*="float:right"], 1010 .contentX img.noBleed[style*="float: right"], 1011 .contentX img.noBleed.floatleft { 1012 display: block; 1013 margin-left: auto; 1014 margin-right: auto; 1015 } 1016 /* Photos page: each detail photo spans almost the full screen width with a thin 1017 uniform white border (one photo per row). Using width:100% (pinned to the row)
1018 rather than auto also stops the retina @2x swap (retina99.js) from enlarging 1019 them, since the width no longer follows the swapped file's intrinsic size. 1020 Grid thumbnails keep their own cover sizing. */ 1021 .contentX .photo-category-figures figure { 1022 flex: 0 0 100% !important; 1023 max-width: 100% !important; 1024 margin: 10px 0 !important; 1025 } 1026 .contentX img.autoPost { 1027 width: 100% !important; 1028 max-width: 100% !important; 1029 height: auto !important; 1030 margin: 0 auto !important; 1031 } 1032 .contentX .photo-category-card-img img { 1033 width: 100% !important; 1034 height: 100% !important; 1035 max-width: 100% !important; 1036 } 1037 /* A table cannot shrink below the min-content width of its columns, so a wide 1038 one clips at the viewport edge (even with max-width:100%). display:block 1039 lets max-width cap the box and overflow-x scroll the excess sideways. 1040 width:fit-content keeps narrow tables shrink-to-fit (and centered via 1041 margin:auto / align=center) instead of stretching their border full-width. */ 1042 .contentX table { 1043 display: block; 1044 width: fit-content; 1045 max-width: 100% !important; 1046 overflow-x: auto; 1047 } 1048 /* Wide tables stamped by ContentMutate::stampTableCardLabels (class 1049 mobile-cards + data-label per cell) render as stacked cards instead of 1050 scrolling: each body row becomes a card titled by its first cell, and the 1051 other cells show their column header from data-label. Unstamped tables 1052 keep the scroll fallback above; desktop renders the normal table. */ 1053 .contentX table.mobile-cards { 1054 width: 100%; 1055 max-width: 100% !important; 1056 border: none; 1057 overflow: visible; 1058 background: transparent; 1059 } 1060 .contentX .mobile-cards thead, 1061 .contentX .mobile-cards tbody { display: block; width: 100%; } 1062 .contentX .mobile-cards tr { 1063 display: block; 1064 /* Google Docs pastes style="height:0pt" on every row; as a block that 1065 collapses the card and stacks every row's text on top of the next. */ 1066 height: auto !important; 1067 border: 1px solid #d7dbe0; 1068 border-radius: 10px; 1069 margin: 0 0 14px; 1070 padding: 10px 14px; 1071 background: #fff; 1072 box-shadow: 0 2px 6px rgba(0,0,0,.06); 1073 } 1074 .contentX .mobile-cards tr.mobile-cards-hdr { display: none; } 1075 .contentX .mobile-cards td, 1076 .contentX .mobile-cards th { 1077 display: block; 1078 width: 100% !important; 1079 height: auto !important; 1080 border: none !important; 1081 padding: 7px 0; 1082 text-align: left; 1083 } 1084 .contentX .mobile-cards td:first-child, 1085 .contentX .mobile-cards th:first-child { 1086 font-weight: 800; 1087 font-size: 17px; 1088 border-bottom: 1px solid #eef0f2 !important; 1089 padding-bottom: 8px; 1090 margin-bottom: 4px; 1091 } 1092 .contentX .mobile-cards td::before, 1093 .contentX .mobile-cards th::before { 1094 content: attr(data-label); 1095 display: block; 1096 font-weight: 700; 1097 font-size: 12.5px; 1098 letter-spacing: .03em; 1099 text-transform: uppercase; 1100 color: #546575; 1101 margin-bottom: 1px; 1102 } 1103 .contentX .mobile-cards td:first-child::before, 1104 .contentX .mobile-cards th:first-child::before { content: none; } 1105 .logoDiv span{ 1106 font-size:14px; 1107 } 1108 .cities-panel ul li{ float:none; width:90%;} 1109 .usefullinksDiv ul li{width:36%;} 1110 .headingTxt{ 1111 font-size:26px; 1112 } 1113 .getPriceDiv {margin-top:20px} 1114 1115 h1, h2, h3, h4 {text-align: center} 1116 1117} 1118 1119/* menu mobile v desktop*/ 1120@media screen and (max-width:767px) { 1121 .showLargeScreenHeader {display: none} 1122 .smallScreenHeader {display: block;} 1123 .smallScreenMenuPhone { 1124 color: white; 1125 float:right; 1126 padding:5px 10px; 1127 font-size:20px; 1128 font-weight: bold 1129 } 1130 .toggleMenu{display:block;} 1131 .menu{ display:none;} 1132 .menu{ width:98%;} 1133 1134 .smallScreenMenuPhone a, .header_line1_phone a { 1135 border-radius:6px; 1136 border-style: solid; 1137 border-color: rgba(170, 170, 170, .4); 1138 border-width: 1px; 1139 padding: 2px 20px 5px; 1140 } 1141} 1142 1143/* Shrinking header on scroll */ 1144.mainTopSpacer { 1145 transition: height 0.3s ease-out; 1146} 1147 1148/* Gallery text adjustment when header shrinks */ 1149body.header-shrunk .gallery-text-container { 1150 top: 75px; 1151 transition: top 0.3s ease-out; 1152} 1153.gallery-text-container { 1154 transition: top 0.3s ease-out; 1155} 1156 1157/* Desktop: logo scales, wrappers shrink in height, phone stays full size */ 1158@media screen and (min-width:768px) { 1159 .headerLine1Style .header_line1_company { 1160 transition: height 0.3s ease-out; 1161 } 1162 .headerLine1Style .call99-flex-vert-center { 1163 transition: height 0.3s ease-out; 1164 } 1165 .showLargeScreenHeader img { 1166 transition: transform 0.3s ease-out; 1167 transform-origin: left top; 1168 } 1169} 1170 1171/* Mobile: logo scales, row collapses via negative margin */ 1172@media screen and (max-width:767px) { 1173 .headerLine1Style { 1174 transition: margin-bottom 0.3s ease-out; 1175 } 1176 .smallScreenHeader img { 1177 transition: transform 0.3s ease-out; 1178 transform-origin: center top; 1179 } 1180} 1181 1182/* Mobile Call Bar - mobile only */ 1183/* Note: popup lead form positioning is handled in pop.up.lead.form.css */ 1184
1185/* Hide mobile call bar on desktop */ 1186@media screen and (min-width:768px) { 1187 #mobile-call-bar { 1188 display: none; 1189 } 1190} 1191 1192/* sm-blue.css */ 1193.sm-blue { 1194 background: transparent; 1195} 1196.sm-blue a, .sm-blue a:hover, .sm-blue a:focus, .sm-blue a:active { 1197 padding: 10px 14px; 1198 /* make room for the toggle button (sub indicator) */ 1199 /*background: black;*/ 1200 color: white; 1201 font-size: 14px; 1202 font-weight: 500; 1203 line-height: 23px; 1204 text-transform:uppercase; 1205 text-decoration: none; 1206} 1207.sm-blue a:hover { 1208 background-color: #a1d1e8; 1209} 1210.sm-blue a.current { 1211 background: #e80000; 1212 color: white; 1213} 1214.sm-blue a.disabled { 1215 color: #a1d1e8; 1216} 1217.sm-blue a span.sub-arrow { 1218 position: absolute; 1219 top: 48%; 1220 margin-top: -17px; 1221 left: auto; 1222 right: 4px; 1223 width: 34px; 1224 height: 34px; 1225 overflow: hidden; 1226 font: bold 16px/34px monospace !important; 1227 text-align: center; 1228 text-shadow: none; 1229 background: #143621; 1230 border-radius: 4px; text-decoration:none; 1231} 1232.sm-blue a.highlighted span.sub-arrow:before { 1233 display: block; 1234 content: '-'; 1235} 1236.sm-blue > li:first-child > a, .sm-blue > li:first-child > :not(ul) a { 1237} 1238.sm-blue > li:last-child > a, .sm-blue > li:last-child > *:not(ul) a, .sm-blue > li:last-child > ul, 1239.sm-blue > li:last-child > ul > li:last-child > a, .sm-blue > li:last-child > ul > li:last-child > *:not(ul) a, .sm-blue > li:last-child > ul > li:last-child > ul, 1240.sm-blue > li:last-child > ul > li:last-child > ul > li:last-child > a, .sm-blue > li:last-child > ul > li:last-child > ul > li:last-child > *:not(ul) a, .sm-blue > li:last-child > ul > li:last-child > ul > li:last-child > ul, 1241.sm-blue > li:last-child > ul > li:last-child > ul > li:last-child > ul > li:last-child > a, .sm-blue > li:last-child > ul > li:last-child > ul > li:last-child > ul > li:last-child > *:not(ul) a, .sm-blue > li:last-child > ul > li:last-child > ul > li:last-child > ul > li:last-child > ul, 1242.sm-blue > li:last-child > ul > li:last-child > ul > li:last-child > ul > li:last-child > ul > li:last-child > a, .sm-blue > li:last-child > ul > li:last-child > ul > li:last-child > ul > li:last-child > ul > li:last-child > *:not(ul) a, .sm-blue > li:last-child > ul > li:last-child > ul > li:last-child > ul > li:last-child > ul > li:last-child > ul { 1243} 1244.sm-blue > li:last-child > a.highlighted, .sm-blue > li:last-child > *:not(ul) a.highlighted, 1245.sm-blue > li:last-child > ul > li:last-child > a.highlighted, .sm-blue > li:last-child > ul > li:last-child > *:not(ul) a.highlighted, 1246.sm-blue > li:last-child > ul > li:last-child > ul > li:last-child > a.highlighted, .sm-blue > li:last-child > ul > li:last-child > ul > li:last-child > *:not(ul) a.highlighted, 1247.sm-blue > li:last-child > ul > li:last-child > ul > li:last-child > ul > li:last-child > a.highlighted, .sm-blue > li:last-child > ul > li:last-child > ul > li:last-child > ul > li:last-child > *:not(ul) a.highlighted, 1248.sm-blue > li:last-child > ul > li:last-child > ul > li:last-child > ul > li:last-child > ul > li:last-child > a.highlighted, .sm-blue > li:last-child > ul > li:last-child > ul > li:last-child > ul > li:last-child > ul > li:last-child > *:not(ul) a.highlighted { 1249 border-radius: 0; 1250} 1251.sm-blue ul { 1252 background: white; 1253} 1254.sm-blue ul ul { 1255 background: rgba(102, 102, 102, 0.1); 1256} 1257.sm-blue ul a { 1258 background: transparent; 1259 color: #333333; 1260 font-size: 14px; 1261 text-shadow: none; 1262 border-left: 8px solid transparent; 1263} 1264.sm-blue ul a.current { 1265 color: white; text-decoration:none; 1266} 1267.sm-blue ul a.disabled { 1268 color: #b3b3b3; 1269} 1270.sm-blue ul ul a, 1271.sm-blue ul ul a:hover, 1272.sm-blue ul ul a:focus, 1273.sm-blue ul ul a:active { 1274 border-left: 16px solid transparent; text-decoration:none; 1275} 1276.sm-blue ul ul ul a, 1277.sm-blue ul ul ul a:hover, 1278.sm-blue ul ul ul a:focus, 1279.sm-blue ul ul ul a:active { 1280 border-left: 24px solid transparent; 1281} 1282.sm-blue ul ul ul ul a, 1283.sm-blue ul ul ul ul a:hover, 1284.sm-blue ul ul ul ul a:focus, 1285.sm-blue ul ul ul ul a:active { 1286 border-left: 32px solid transparent; 1287} 1288.sm-blue ul ul ul ul ul a, 1289.sm-blue ul ul ul ul ul a:hover, 1290.sm-blue ul ul ul ul ul a:focus, 1291.sm-blue ul ul ul ul ul a:active { 1292 border-left: 40px solid transparent; 1293} 1294.sm-blue ul li { 1295 border-top: 1px solid rgba(0, 0, 0, 0.05); 1296 min-width: 240px; 1297} 1298.sm-blue ul li:first-child { 1299 border-top: 0; 1300} 1301.sm-blue ul li:hover { 1302 background-color: transparent; 1303} 1304
1305/* menu mobile v desktop*/ 1306@media screen and (min-width: 768px) { 1307 1308 /* why? */ 1309 /*.menu {display: inherit !important;}*/ 1310 1311 /* Switch to ipad / desktop layout 1312 ----------------------------------------------- 1313 These transform the menu tree from 1314 collapsible to desktop (navbar + dropdowns) 1315 -----------------------------------------------*/ 1316 /* start... (it's not recommended editing these rules) */ 1317 .sm-blue ul { 1318 position: absolute; 1319 } 1320 1321 .sm-blue li { 1322 display: inline-block; 1323 } 1324 1325 .sm-blue.sm-rtl li { 1326 float: right; 1327 } 1328 1329 .sm-blue ul li, .sm-blue.sm-rtl ul li, .sm-blue.sm-vertical li { 1330 float: none; 1331 } 1332 1333 .sm-blue a { 1334 white-space: nowrap; 1335 } 1336 1337 .sm-blue ul a, .sm-blue.sm-vertical a { 1338 white-space: normal; 1339 } 1340 1341 .sm-blue .sm-nowrap > li > a, .sm-blue .sm-nowrap > li > :not(ul) a { 1342 white-space: nowrap; 1343 } 1344 1345 /* ...end */ 1346 .sm-blue { 1347 } 1348 .sm-blue a, .sm-blue a:hover, .sm-blue a:focus, .sm-blue a:active, .sm-blue a.highlighted { 1349 padding: 10px 22px; 1350 } 1351 .sm-blue a:hover, .sm-blue a:focus, .sm-blue a:active, .sm-blue a.highlighted { 1352 background: #2c91c3; 1353 } 1354 .sm-blue a.current { 1355 /*background: #333;*/ 1356 /*color: white;*/ 1357 } 1358 .sm-blue a.disabled { 1359 /*background: #333;*/ 1360 /*color: #a1d1e8;*/ 1361 } 1362 .sm-blue a span.sub-arrow { 1363 /*top: auto;*/ 1364 margin-top: 0; 1365 bottom: 16px; 1366 left: 90%; 1367 margin-left: -5px; 1368 right: auto; 1369 width: 0; 1370 height: 0; 1371 border-width: 5px; 1372 border-style: solid dashed dashed dashed; 1373 border-color: #d2d3d4 transparent transparent transparent; 1374 background: transparent; 1375 border-radius: 0; 1376 } 1377 .sm-blue a.highlighted span.sub-arrow:before { 1378 display: none; 1379 } 1380 .sm-blue > li:first-child > a, .sm-blue > li:first-child > :not(ul) a { 1381 } 1382 .sm-blue > li { 1383 border-left: 0 solid #2b82ac; 1384 } 1385 .sm-blue > li:first-child { 1386 border-left: 0; 1387 } 1388 .sm-blue ul { 1389 border: 1px solid #a8a8a8; 1390 padding: 7px 0; 1391 background: white; 1392 border-radius: 0 0 4px 4px; 1393 -webkit-box-shadow: 0 5px 12px rgba(0, 0, 0, 0.3); 1394 -moz-box-shadow: 0 5px 12px rgba(0, 0, 0, 0.3); 1395 box-shadow: 0 5px 12px rgba(0, 0, 0, 0.3); 1396 } 1397 .sm-blue ul ul { 1398 background: white; 1399 } 1400 .sm-blue ul a, .sm-blue ul a:hover, .sm-blue ul a:focus, .sm-blue ul a:active, .sm-blue ul a.highlighted { 1401 border: 0 !important; 1402 padding: 9px 18px; 1403 background: transparent; 1404 /*color: #333333;*/ 1405 } 1406 .sm-blue ul a:hover, .sm-blue ul a:focus, .sm-blue ul a:active, .sm-blue ul a.highlighted { 1407 /*background: #333;*/ 1408 /*color: white;*/ 1409 } 1410 .sm-blue ul a.current { 1411 /*background: #333;*/ 1412 /*color: white;*/ 1413 } 1414 .sm-blue ul a.disabled { 1415 /*background: white;*/ 1416 /*color: #333333;*/ 1417 } 1418 .sm-blue ul a span.sub-arrow { 1419 top: 50%; 1420 margin-top: -5px; 1421 bottom: auto; 1422 left: auto; 1423 margin-left: 0; 1424 right: 10px; 1425 border-style: dashed dashed dashed solid; 1426 border-color: transparent transparent transparent #a1d1e8; 1427 } 1428 .sm-blue ul li { 1429 border: 0; 1430 } 1431 .sm-blue span.scroll-up, 1432 .sm-blue span.scroll-down { 1433 position: absolute; 1434 display: none; 1435 visibility: hidden; 1436 overflow: hidden; 1437 background: white; 1438 height: 20px; 1439 } 1440 .sm-blue span.scroll-up-arrow, .sm-blue span.scroll-down-arrow { 1441 position: absolute; 1442 top: -2px; 1443 left: 50%; 1444 margin-left: -8px; 1445 width: 0; 1446 height: 0; 1447 overflow: hidden; 1448 border-width: 8px; 1449 border-style: dashed dashed solid dashed; 1450 border-color: transparent transparent #333333 transparent; 1451 } 1452 .sm-blue span.scroll-down-arrow { 1453 top: 6px; 1454 border-style: solid dashed dashed dashed; 1455 border-color: #333333 transparent transparent transparent; 1456 } 1457 .sm-blue.sm-rtl.sm-vertical a span.sub-arrow { 1458 right: auto; 1459 left: 10px; 1460 border-style: dashed solid dashed dashed; 1461 border-color: transparent #d2d3d4 transparent transparent; 1462 } 1463 .sm-blue.sm-rtl > li:first-child > a, .sm-blue.sm-rtl > li:first-child > :not(ul) a { 1464 border-radius: 0 8px 8px 0; 1465 } 1466 .sm-blue.sm-rtl > li:first-child { 1467 border-left: 1px solid #333333; 1468 } 1469 .sm-blue.sm-rtl > li:last-child { 1470 border-left: 0; 1471 } 1472 .sm-blue.sm-rtl ul a span.sub-arrow { 1473 right: auto; 1474 left: 10px; 1475 border-style: dashed solid dashed dashed; 1476 border-color: transparent #d2d3d4 transparent transparent; 1477 } 1478 .sm-blue.sm-vertical { 1479 -webkit-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3); 1480 -moz-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3); 1481 box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3); 1482 } 1483 .sm-blue.sm-vertical a { 1484 padding: 9px 23px; 1485 } 1486 .sm-blue.sm-vertical a span.sub-arrow { 1487 top: 50%; 1488 margin-top: -5px; 1489 bottom: auto; 1490 left: auto; 1491 margin-left: 0; 1492 right: 10px; 1493 border-style: dashed dashed dashed solid; 1494 border-color: transparent transparent transparent #a1d1e8; 1495 } 1496 .sm-blue.sm-vertical > li:first-child > a, .sm-blue.sm-vertical > li:first-child > :not(ul) a { 1497 border-radius: 8px 8px 0 0; 1498 } 1499 .sm-blue.sm-vertical > li:last-child > a, .sm-blue.sm-vertical > li:last-child > :not(ul) a { 1500 border-radius: 0 0 8px 8px; 1501 } 1502 .sm-blue.sm-vertical > li { 1503 border-left: 0 !important; 1504 } 1505 .sm-blue.sm-vertical ul { 1506 border-radius: 4px !important; 1507 } 1508 .sm-blue.sm-vertical ul a { 1509 padding: 9px 23px; 1510 } 1511} 1512 1513/* align tracking telephone number to vertical center of logo */ 1514@media screen and (min-width:768px) { 1515 div.call99-flex-vert-center { 1516 display: flex; 1517 flex-direction: column; 1518 justify-content: center; 1519 text-align: right; 1520 } 1521 div.headerLine1Style { 1522 display: flex; 1523 flex-direction: row; 1524 vertical-align: middle; 1525 justify-content: space-between; 1526 max-width: 980px; 1527 margin: auto; 1528 } 1529} 1530 1531/* ============================================================ 1532 Pro v3 Enhancements â Hero with Integrated Lead Form 1533 ============================================================ */ 1534
1535/* Get a Price section - light background for visual separation */ 1536.padGetPrice { 1537 background-color: #f8f9fa; 1538 padding-top: 40px; 1539 padding-bottom: 20px; 1540} 1541 1542/* Cities panel - subtle top border for section separation */ 1543.cities-panel { 1544 border-top: 1px solid #e9ecef; 1545 padding-top: 30px; 1546} 1547 1548/* ---- Hero v3: override base .center-cropped constraints ---- */ 1549/* The overlay is position:relative and drives the container height. 1550 The image is position:absolute, filling the container as a background. 1551 This ensures the hero auto-sizes to fit the form content at all breakpoints. */ 1552.center-cropped.hero-v3-hero { 1553 position: relative; 1554 max-height: none; 1555 height: auto; 1556 overflow: hidden; 1557} 1558 1559/* Image becomes absolute background, filling the container */ 1560.center-cropped.hero-v3-hero > img.gallery-hero-img { 1561 position: absolute; 1562 top: 0; 1563 left: 0; 1564} 1565 1566/* ---- Hero v3 overlay: split layout with form ---- */ 1567.hero-v3-overlay { 1568 position: relative; 1569 z-index: 15; 1570 display: flex; 1571 align-items: center; 1572 justify-content: center; 1573 background: rgba(0,0,0,0.3); 1574 padding: 30px 3%; 1575 min-height: 420px; 1576} 1577 1578/* Inner container: side-by-side on desktop */ 1579.hero-v3-inner { 1580 display: flex; 1581 align-items: center; 1582 justify-content: space-between; 1583 width: 100%; 1584 max-width: 1100px; 1585 gap: 5%; 1586} 1587 1588/* Left column: branding + badges */ 1589.hero-v3-branding { 1590 flex: 0 1 55%; 1591 color: #fff; 1592 text-align: left; 1593} 1594 1595.hero-v3-headline { 1596 font-size: 36px; 1597 font-weight: 700; 1598 margin: 0 0 8px; 1599 text-shadow: 0 2px 8px rgba(0,0,0,0.5); 1600 line-height: 1.15; 1601 color: inherit; 1602} 1603 1604.hero-v3-subline { 1605 font-size: 25px; 1606 font-weight: 400; 1607 margin: 0 0 18px; 1608 line-height: 1.4; 1609 text-shadow: 0 1px 4px rgba(0,0,0,0.5); 1610 opacity: 0.95; 1611 color: inherit; 1612} 1613
1614/* Google reviews link */ 1615.hero-v3-reviews { 1616 display: inline-flex; 1617 align-items: center; 1618 gap: 6px; 1619 color: #fff; 1620 text-decoration: none; 1621 font-size: 15px; 1622 font-weight: 500; 1623 text-shadow: 0 1px 3px rgba(0,0,0,0.4); 1624 margin-top: 12px; 1625} 1626.hero-v3-reviews:hover { 1627 text-decoration: underline; 1628 color: #fff; 1629} 1630.hero-v3-google-g { 1631 display: inline-flex; 1632 align-items: center; 1633 justify-content: center; 1634 background: #fff; 1635 border-radius: 50%; 1636 width: 28px; 1637 height: 28px; 1638 filter: drop-shadow(0 1px 2px rgba(0,0,0,0.3)); 1639} 1640.hero-v3-stars { 1641 color: #FFC107; 1642 font-size: 16px; 1643 letter-spacing: 1px; 1644} 1645.hero-v3-review-text { 1646 color: inherit; 1647} 1648 1649/* Click-to-call button (Pro v6 glossy red pill style) */ 1650.hero-v6-call-btn { 1651 position: relative; 1652 display: inline-flex; 1653 align-items: center; 1654 gap: 10px; 1655 background: linear-gradient(180deg, #e52222 0%, #cc1212 28%, #a80808 58%, #7a0000 100%); 1656 color: #fff; 1657 font-weight: 700; 1658 font-size: 22px; 1659 letter-spacing: 0.5px; 1660 text-decoration: none; 1661 padding: 0 32px 0 0; 1662 border-radius: 50px; 1663 box-shadow: 0 5px 14px rgba(0,0,0,0.45); 1664 margin-top: 12px; 1665 margin-bottom: 4px; 1666 text-shadow: 0 1px 3px rgba(0,0,0,0.5); 1667 transition: filter 0.2s; 1668 overflow: hidden; 1669} 1670/* Glossy gel shine overlay â sharp bright band */ 1671.hero-v6-call-btn::before { 1672 content: ''; 1673 position: absolute; 1674 top: 0; 1675 left: 0; 1676 right: 0; 1677 height: 50%; 1678 background: linear-gradient(180deg, rgba(255,255,255,0.75) 0%, rgba(255,255,255,0.5) 20%, rgba(255,255,255,0.12) 48%, rgba(255,255,255,0) 100%); 1679 border-radius: 50px 50px 0 0; 1680 pointer-events: none; 1681} 1682.hero-v6-call-btn:hover { 1683 filter: brightness(1.1); 1684 text-decoration: none; 1685 color: #fff; 1686} 1687.hero-v6-call-circle { 1688 position: relative; 1689 z-index: 1; 1690 display: inline-flex; 1691 align-items: center; 1692 justify-content: center; 1693 width: 52px; 1694 height: 52px; 1695 margin: 0; 1696 border-radius: 50%; 1697 background: linear-gradient(180deg, #a81010 0%, #b81818 50%, #cc2222 100%); 1698 border: 1px solid rgba(255,255,255,0.06); 1699 box-shadow: 1700 inset 0 3px 5px rgba(0,0,0,0.28), 1701 inset 0 -2px 4px rgba(255,180,180,0.15); 1702 flex-shrink: 0; 1703} 1704.hero-v6-call-icon { 1705 width: 26px; 1706 height: 26px; 1707} 1708 1709/* "Highly Rated" badge â shown when no GBP link. 1710 Mirrors the Google reviews row layout: white circle with shield 1711 icon on the left, label on the right. */ 1712.hero-v6-highly-rated { 1713 display: inline-flex; 1714 align-items: center; 1715 gap: 10px; 1716 color: #fff; 1717 font-size: 15px; 1718 font-weight: 500; 1719 text-shadow: 0 1px 3px rgba(0,0,0,0.4); 1720 margin-top: 12px; 1721} 1722.hero-v6-highly-rated-circle { 1723 display: inline-flex; 1724 align-items: center; 1725 justify-content: center; 1726 background: #fff; 1727 border-radius: 50%; 1728 width: 28px; 1729 height: 28px; 1730 flex-shrink: 0; 1731 filter: drop-shadow(0 1px 2px rgba(0,0,0,0.3)); 1732} 1733/* Scoped to the circle so it beats the hero's `.center-cropped img` rule 1734 (which would otherwise stretch the shield to fill the circle); margin:0 1735 cancels the global `img{margin-bottom:-5px}` that, under flex centering, 1736 nudged the shield ~2.5px low. */ 1737.hero-v6-highly-rated-circle .hero-v6-shield-img { 1738 width: 30px; 1739 height: 30px; 1740 margin: 2px 0 0 1px; 1741 object-fit: contain; 1742 display: block; 1743} 1744.hero-v6-highly-rated-text { 1745 letter-spacing: 0.3px; 1746} 1747 1748/* Callout strip below hero */ 1749.hero-v3-callouts { 1750 position: relative; 1751 z-index: 15; 1752 display: flex; 1753 align-items: center; 1754 justify-content: center; 1755 padding: 14px 3%; 1756 font-weight: 600; 1757 font-size: 15px; 1758 gap: 60px; 1759 background: #e0dedc; 1760 color: #2965a8; 1761} 1762.hero-v3-callout { 1763 display: inline-flex; 1764 align-items: center; 1765 gap: 8px; 1766} 1767.hero-v3-callout + .hero-v3-callout::before { 1768 content: '|'; 1769 position: absolute; 1770 margin-left: -34px; 1771 color: #aaa; 1772 font-weight: 300; 1773 font-size: 18px; 1774} 1775.hero-v3-callout { 1776 position: relative; 1777} 1778.hero-v3-callout-icon { 1779 flex-shrink: 0; 1780} 1781.hero-v3-callout-icon-check { 1782 color: #64b03f; 1783} 1784 1785/* Customer photos next to reviews */ 1786.hero-v3-customer-photos { 1787 display: inline-flex; 1788 align-items: center; 1789 margin-right: 6px; 1790} 1791.center-cropped .hero-v3-customer-photo { 1792 width: 36px; 1793 height: 36px; 1794 border-radius: 50%; 1795 object-fit: cover; 1796 border: 2px solid #fff; 1797 margin-left: -8px; 1798 box-shadow: 0 1px 3px rgba(0,0,0,0.2); 1799 position: static; 1800} 1801.hero-v3-customer-photo:first-child { 1802 margin-left: 0; 1803} 1804 1805/* Right column: form card */ 1806.hero-v3-form-card { 1807 flex: 0 1 40%; 1808 background: #f1f0f0; 1809 border-radius: 12px; 1810 box-shadow: 0 8px 32px rgba(0,0,0,0.2); 1811 padding: 24px 22px 20px; 1812 color: #333; 1813} 1814 1815.hero-v3-form-header { 1816 font-size: 20px; 1817 font-weight: 700; 1818 margin: 0 0 14px; 1819 color: #000; 1820 text-align: center; 1821} 1822 1823.hero-v3-form-card ul { 1824 padding: 0; 1825 margin: 0; 1826 list-style-type: none; 1827} 1828 1829.hero-v3-form-card ul li { 1830 padding: 4px 0; 1831 margin: 0; 1832 display: block; 1833 font-size: 14px; 1834} 1835 1836.hero-v3-form-card .text-field { 1837 width: 100%; 1838 padding: 11px 12px; 1839 font-size: 14px; 1840 border: 1px solid #d4d4d4; 1841 border-radius: 6px; 1842 color: #333; 1843 background: #fff; 1844 transition: border-color 0.2s; 1845 box-sizing: border-box; 1846} 1847 1848.hero-v3-form-card .text-field:focus { 1849 border-color: #2971b3; 1850 outline: none; 1851} 1852 1853.hero-v3-form-card textarea.text-field { 1854 resize: vertical; 1855} 1856 1857.hero-v3-form-card .check-field { 1858 padding-left: 0; 1859 width: 100% !important; 1860} 1861 1862.hero-v3-form-card .check-field label { 1863 color: #333; 1864} 1865 1866/* Submit button â flat fallback; inline style from html.tpl overrides with site button colors */ 1867.hero-v3-form-card .submit-field { 1868 background: #e82428; 1869 border: none; 1870 padding: 13px 0; 1871 display: inline-block; 1872 cursor: pointer; 1873 color: #fff; 1874 width: 100%; 1875 font-size: 17px; 1876 font-weight: 600; 1877 border-radius: 8px; 1878 box-shadow: 0 2px 8px rgba(0,0,0,0.15); 1879 transition: filter 0.2s, transform 0.1s; 1880} 1881 1882.hero-v3-form-card .submit-field:hover { 1883 filter: brightness(0.9); 1884} 1885 1886.hero-v3-form-card .submit-field:active { 1887 transform: scale(0.98); 1888} 1889 1890/* ---- Tablet (601pxâ992px): stacked, form below headline ---- */ 1891@media screen and (max-width: 992px) { 1892 .hero-v3-inner { 1893 flex-direction: column; 1894 text-align: center; 1895 gap: 16px; 1896 padding: 20px 0; 1897 } 1898 1899 .hero-v3-branding { 1900 flex: none; 1901 width: 100%; 1902 text-align: center; 1903 } 1904 1905 .hero-v3-headline { 1906 font-size: 30px; 1907 } 1908 1909 .hero-v3-subline { 1910 font-size: 15px; 1911 margin-bottom: 10px; 1912 } 1913 1914 .hero-v3-reviews { 1915 justify-content: center; 1916 } 1917 1918 .hero-v6-call-btn { 1919 margin: 8px auto 4px; 1920 } 1921 1922 .hero-v3-form-card { 1923 flex: none; 1924 width: 100%; 1925 max-width: 540px; 1926 } 1927} 1928 1929/* ---- Name+Phone: side-by-side on tablet+desktop, stacked on mobile ---- */ 1930/* Specificity must beat .hero-v3-form-card ul li (0,1,2) */ 1931.hero-v3-form-card li.hero-v3-form-row { 1932 padding: 0; 1933} 1934.hero-v3-form-card .hero-v3-form-row > div { 1935 padding: 4px 0; 1936} 1937@media screen and (min-width: 601px) { 1938 .hero-v3-form-card li.hero-v3-form-row { 1939 display: flex; 1940 gap: 8px; 1941 padding: 4px 0; 1942 } 1943 .hero-v3-form-card .hero-v3-form-row > div { 1944 flex: 1; 1945 padding: 0; 1946 } 1947} 1948 1949/* ---- Mobile (â¤600px): stacked, compact ---- */ 1950@media screen and (max-width: 600px) { 1951 .hero-v3-overlay { 1952 padding: 20px 12px; 1953 } 1954 1955 .hero-v3-inner { 1956 flex-direction: column; 1957 text-align: center; 1958 gap: 12px; 1959 padding: 10px 0; 1960 } 1961 1962 .hero-v3-branding { 1963 text-align: center; 1964 } 1965 1966 .hero-v3-headline { 1967 font-size: 24px; 1968 } 1969 1970 .hero-v3-subline { 1971 font-size: 13px; 1972 margin-bottom: 8px; 1973 } 1974 1975 .hero-v3-reviews { 1976 justify-content: center; 1977 font-size: 13px; 1978 } 1979 1980 /* On mobile, branding becomes a flex column so we can reorder the 1981 call button to appear AFTER the reviews/highly-rated badge, 1982 directly above the lead form (per Melanie's mock-up). */ 1983 .hero-v3-branding { 1984 display: flex; 1985 flex-direction: column; 1986 } 1987 .hero-v6-call-btn { 1988 order: 99; 1989 align-self: center; 1990 margin-top: 14px; 1991 margin-bottom: 0; 1992 } 1993 1994 .hero-v3-callouts { 1995 display: none; 1996 } 1997 1998 .center-cropped .hero-v3-customer-photo { 1999 width: 28px; 2000 height: 28px; 2001 } 2002 2003 .hero-v3-form-card { 2004 flex: none; 2005 width: 100%; 2006 padding: 18px 16px 14px; 2007 } 2008 2009 .hero-v3-form-header { 2010 font-size: 18px; 2011 margin-bottom: 10px; 2012 } 2013} 2014 2015/* ============================================================================= 2016 v6.1 MENU â CSS-first SmartMenus replacement. 2017 Keeps v6's .sm-blue visual language; adds :hover/:focus-within dropdowns 2018 (desktop), max-height drawer + .is-open accordion (mobile), hamburger 2019 morph-to-Ã, and scrim. Caret is a single down-pointing CSS triangle; 2020 nested/mobile variants are just CSS rotations of that triangle. 2021 ============================================================================= */ 2022 2023button.toggleMenu { 2024 display: none; /* â inline-flex on mobile */ 2025 align-items: center; 2026 gap: 10px; 2027 background: none; 2028 border: 0; 2029 margin: 0; 2030 padding: 8px 12px; 2031 min-height: 44px; /* WCAG 2.5.5 AAA tap target */ 2032 border-radius: 6px;
2033 cursor: pointer; 2034 text-align: left; 2035 font: inherit; 2036 font-weight: 500; 2037 letter-spacing: 0.02em; 2038 -webkit-tap-highlight-color: transparent; 2039 transition: background-color 160ms cubic-bezier(.4,0,.2,1), 2040 transform 120ms cubic-bezier(.4,0,.2,1); 2041} 2042button.toggleMenu:hover { background-color: rgba(255,255,255,0.08); } 2043button.toggleMenu:active { transform: scale(0.96); } 2044button.toggleMenu:focus-visible { 2045 outline: 2px solid currentColor; 2046 outline-offset: 2px; 2047} 2048 2049.toggleMenuIcon { 2050 position: relative; 2051 display: inline-block; 2052 width: 22px; 2053 height: 16px; 2054 flex-shrink: 0; 2055} 2056.toggleMenuIcon > span { 2057 position: absolute; 2058 left: 0; 2059 width: 100%; 2060 height: 2px; 2061 background: currentColor; 2062 border-radius: 1px; 2063 transition: transform 220ms cubic-bezier(.4,0,.2,1), 2064 opacity 120ms ease, 2065 top 220ms cubic-bezier(.4,0,.2,1); 2066} 2067.toggleMenuIcon > span:nth-child(1) { top: 2px; } 2068.toggleMenuIcon > span:nth-child(2) { top: 7px; } 2069.toggleMenuIcon > span:nth-child(3) { top: 12px; } 2070 2071/* Open state: rails morph into an à */ 2072button.toggleMenu[aria-expanded="true"] .toggleMenuIcon > span:nth-child(1) { 2073 top: 7px; transform: rotate(45deg); 2074} 2075button.toggleMenu[aria-expanded="true"] .toggleMenuIcon > span:nth-child(2) { 2076 opacity: 0; 2077} 2078button.toggleMenu[aria-expanded="true"] .toggleMenuIcon > span:nth-child(3) { 2079 top: 7px; transform: rotate(-45deg); 2080} 2081 2082/* Caret on .has-sub triggers (replaces SmartMenus' JS-injected sub-arrow). 2083 Base points down; rotated in nested/mobile contexts via transform. */ 2084#main-menu li.has-sub > a::after { 2085 content: ""; 2086 display: inline-block; 2087 width: 0; 2088 height: 0; 2089 margin-left: 8px; 2090 vertical-align: middle; 2091 border: 4px solid transparent; 2092 border-top-color: currentColor; 2093 opacity: 0.75; 2094 transition: transform 180ms ease; 2095} 2096 2097/* ââ DESKTOP (â¥768px): hover/focus-within dropdowns âââââââââââââââââââââââââ */ 2098@media screen and (min-width: 768px) { 2099 #main-menu > li, 2100 #main-menu ul li { position: relative; } 2101 2102 #main-menu li:hover > ul, 2103 #main-menu li:focus-within > ul { display: block; } 2104 2105 /* No-JS baseline: scroll only "flat" dropdowns (no nested fly-out). A panel 2106 that hosts a fly-out must stay overflow:visible here â otherwise 2107 overflow-y:auto promotes overflow-x to auto too, clipping the left:100% 2108 fly-out and trapping it scrolling inside the parent. Long flat menus (e.g. 2109 16-item Services) still scroll: #header is fixed at ~160px; the 220px 2110 offset leaves ~60px bottom margin so the last row clears the viewport. */ 2111 #main-menu ul:not(:has(> li.has-sub)) { 2112 max-height: calc(100vh - 220px); 2113 overflow-y: auto; 2114 overscroll-behavior: contain; 2115 scrollbar-gutter: stable; 2116 } 2117 /* JS present (html.menu-js): scroll fly-out-hosting panels as well â the nav 2118 controller re-anchors each open fly-out as position:fixed so it escapes 2119 this overflow instead of being clipped. Keeps long Learn-style menus 2120 scrollable without sacrificing the fly-out. */ 2121 html.menu-js #main-menu ul { 2122 max-height: calc(100vh - 220px); 2123 overflow-y: auto; 2124 overscroll-behavior: contain; 2125 scrollbar-gutter: stable; 2126 } 2127 #main-menu > li > ul { top: 100%; left: 0; } 2128 /* A fly-out opens flush against the parent's right edge; the inherited 2129 .sm-blue drop shadow would blur back across that seam as a gray band. 2130 The panel's 1px border already separates it, so drop the shadow here. */ 2131 #main-menu ul ul { top: 0; left: 100%; box-shadow: none; } 2132 2133 /* Top-level caret flips to â² when its dropdown is open */ 2134 #main-menu > li.has-sub:hover > a::after, 2135 #main-menu > li.has-sub:focus-within > a::after { 2136 transform: rotate(180deg); 2137 } 2138 /* Nested items: caret points â¶ (floated next to the label) */ 2139 #main-menu ul li.has-sub > a::after { 2140 float: right; 2141 margin: 6px 0 0; 2142 transform: rotate(-90deg); 2143 } 2144 2145 .menu-drawer-scrim { display: none; } 2146} 2147 2148/* ââ MOBILE (<768px): slide-down drawer + accordion submenus ââââââââââââââââ */ 2149@media screen and (max-width: 767px) { 2150 button.toggleMenu { display: inline-flex; } 2151 button.toggleMenu[aria-expanded="true"] { opacity: 0.85; } 2152 2153 /* Drawer panel. .menu.headerMenuStyle has to out-specify v6's 2154 .menu{display:none} at this breakpoint (line ~996). */ 2155 .menu.headerMenuStyle { 2156 display: block; 2157 max-height: 0; 2158 overflow: hidden; 2159 transition: max-height 320ms ease; 2160 } 2161 body[data-menu-drawer="open"] .menu.headerMenuStyle { 2162 max-height: 85vh; 2163 overflow-y: auto; 2164 } 2165 body[data-menu-drawer="open"] { overflow: hidden; } 2166 2167 .menu-drawer-scrim { 2168 position: fixed; 2169 inset: 0; 2170 background: rgba(0,0,0,0.4); 2171 z-index: 998; 2172 } 2173 2174 /* Accordion submenus */ 2175 #main-menu li.has-sub > ul { display: none; } 2176 #main-menu li.has-sub.is-open > ul { display: block; } 2177 2178 /* Caret points â¶ when closed, â¼ when open (rotated back to base) */ 2179 #main-menu li.has-sub > a::after { 2180 float: right; 2181 margin: 10px 4px 0 0; 2182 transform: rotate(-90deg); 2183 } 2184 #main-menu li.has-sub.is-open > a::after { 2185 transform: rotate(0deg); 2186 } 2187} 2188 2189 </style> 2190 2191 2192 2193 2194 2195 2196 2197 2198 2199 2200 2201 2202 2203 2204 2205 2206 <style> 2207 #header {
2208 color: black; 2209 background-color: #ecb14d; 2210 2211 } 2212 #header .phoneNumber { 2213 color: black; 2214 text-decoration: none; 2215 2216 } 2217 .headerLine1Style a, .headerLine1Style a h2 { 2218 color: inherit; 2219 } 2220 .headerLine1Style * { 2221 font-weight: 550; 2222 } 2223 .headerLine2Style { 2224 background-color: #fbfcf6; 2225 } 2226 .sm-blue ul, .sm-blue ul a, .sm-blue a, .sm-blue a:hover, .sm-blue a:focus, .sm-blue a:active { 2227 color: black; 2228 background-color: #fbfcf6; 2229 } 2230 .sm-blue a:hover, .sm-blue a.highlighted { 2231 color: #eb894a; 2232 background-color: #fbfcf6; 2233 } 2234 .sm-blue ul a:hover { 2235 color: #eb894a; 2236 background-color: #fbfcf6; 2237 } 2238 @media screen and (min-width: 768px) { 2239 #main-menu > li.has-sub:hover > a, 2240 #main-menu > li.has-sub:focus-within > a { 2241 background-color: #fbfcf6; 2242 color: #eb894a; 2243 } 2244 #main-menu ul ul { 2245 background-color: #fbfcf6; 2246 } 2247 } 2248 .toggleMenu { 2249 color: black 2250 } 2251 #header .smallScreenHeader .phoneNumber { 2252 color: black; 2253 text-decoration: none; 2254 } 2255 2256 a, .contentX a.phoneNumber, a.phoneNumber { 2257 color: #eb894a; 2258 } 2259 a:hover { 2260 color: black; 2261 text-decoration: underline; 2262 } 2263 2264 .useboxright, .useboxright a, .useboxright li { 2265 color: black; 2266 background-color: #ecb14d; 2267 } 2268 a.reviewBtn div {
2269 color: white; 2270 background-color: #eb894a; 2271 2272 } 2273 .getPriceDiv { 2274 color: black; 2275 background-color: #ecb14d; 2276 } 2277 .submit-field { 2278 color: white; 2279 background-color: #eb894a; 2280 2281 } 2282 .getPriceFormDiv { 2283 background: #f6f7fe; 2284 color: #333; 2285 } 2286 .getPriceFormDiv .check-field label { 2287 color: #333; 2288 } 2289 .footerDivMn { 2290 color: black; 2291 background-color: #ecb14d; 2292 } 2293 2294 2295 2296 .hero-v3-form-card .submit-field { 2297 background: #eb894a; 2298 color: white; 2299 border-color: #eb894a; 2300 2301 } 2302 .hero-v3-form-card .submit-field:hover { 2303 filter: brightness(0.9); 2304 } 2305 2306 </style> 2307 2308 2309 2310
2310<script type="application/ld+json"> 2311{"@context":"https://www.schema.org","@type":"LocalBusiness","name":"Tagatz Painting Co.","telephone":"+15302085305","url":"https://tagatz-painting.com","image":"https://tagatz-painting.com/userfiles/3744/Tagatz-Painting-Co.-logo_300.jpg","priceRange":"$$","address":{"@type":"PostalAddress","streetAddress":"1333 Audubon Rd","addressLocality":"Mount Shasta","addressRegion":"CA","postalCode":"96067","addressCountry":"United States"},"contactPoint":[{"@type":"ContactPoint","telephone":"+15302085305","contactType":"sales"}],"sameAs":["https://search.google.com/local/writereview?placeid=ChIJAQAQCRrhzVQRAvMlGSvVnz0","https://www.bing.com/maps/search?q=Tagatz+Painting+Co.%2C+Mount+Shasta+California","https://www.yelp.com/biz/tagatz-painting-mount-shasta-2","https://www.merchantcircle.com/tagatz-painting-co-mount-shasta-ca","https://www.neustarlocaleze.biz/directory/us/ca/mount-shasta/tagatz-painting-co/900863379/","http://www.manta.com/c/mt7wmt1/tagatz-painting-co","https://local-listings.data-axle.com/places/LXSXHASW","https://www.facebook.com/Tagatz-Painting-Co-618908401581106/","https://www.angieslist.com/companylist/us/ca/mount-shasta/tagatz-painting-co-reviews-8703883.htm","https://www.houzz.com/hznb/professionals/painters/tagatz-painting-co-pfvwus-pf~1798982414/__public","https://nextdoor.com/pages/tagatz-painting-co-mount-shasta-ca/"],"aggregateRating":{"@type":"AggregateRating","ratingValue":"4.6","ratingCount":"14"}} 2312</script>
2312 <style> .cta-call-btn { 2313 background-color: #FFA500; 2314 color: #FFFFFF; 2315 } 2316 .cta-call-btn:hover { 2317 background-color: #FFB733; 2318 color: #FFFFFF; 2319 transform: translateY(-1px); 2320 text-decoration: none; 2321 } 2322 .cta-call-btn.cta-shadow-subtle { 2323 box-shadow: 0 4px 10px rgba(0,0,0,0.2); 2324 } 2325 .cta-call-btn.cta-shadow-subtle:hover { 2326 box-shadow: 0 8px 18px rgba(0,0,0,0.26); 2327 } 2328 .cta-call-btn.cta-shadow-strong { 2329 box-shadow: 0 8px 20px rgba(0,0,0,0.3); 2330 } 2331 .cta-call-btn.cta-shadow-strong:hover { 2332 box-shadow: 0 12px 26px rgba(0,0,0,0.34); 2333 } 2334 .cta-call-btn.cta-shadow-none:hover { 2335 box-shadow: 0 6px 16px rgba(0,0,0,0.18); 2336 } 2337</style> 2338 2339 <style>.headerLine1Style * { 2340 font-weight: 550 2341} 2342 2343.specials-1card { border-radius: 50px; } 2344.specials-2card { border-radius: 50px; } 2345.specials-3card { border-radius: 50px; }</style> 2346 </head> 2347 2348<body> 2349<!-- Header Starts Here --> 2350 2351<header class="w3-container pad0"> 2352 2353 <div id="header" class="w3-container pad0 headerStyle"> 2354 2355 <div class="headerLine1Style"> 2356 <a href="/" class="showLargeScreenHeader header_line1_company"><img src="/userfiles/3744/Tagatz-Painting-Co.-logo_300.jpg" alt="Tagatz Painting Co." class="LogoDesktop" 2357 style="width:181px; height:130px; margin-top: 20px; margin-bottom: 10px; margin-left: 30px;"></a> 2358 <a href="/" class="smallScreenHeader w3-rest w3-center"><img src="/userfiles/3744/Tagatz-Painting-Co.-logo_240.jpg" alt="Tagatz Painting Co." class="LogoMobile" 2359 style="width:139px; height:100px; margin: 10px auto 5px auto;"></a> 2360 <div class="call99-flex-vert-center"> 2361 <h4 class="showLargeScreenHeader header_line1_phone pad-sides-10"> 2362 <a class="phoneNumber primaryPhone" href="tel:+15302085305">(530) 208-5305</a> 2363 </h4> 2364 </div> 2365 </div> 2366 2367 <div class="w3-container pad0 w3-row headerLine2Style"> 2368 2369 <button type="button" class="toggleMenu headerMenuStyle" id="menuIcn" 2370 aria-label="Menu" aria-expanded="false" aria-controls="main-menu-drawer"> 2371 <span class="toggleMenuIcon" aria-hidden="true"> 2372 <span></span><span></span><span></span> 2373 </span> 2374 <span class="toggleMenuLabel">Menu</span> 2375 </button> 2376 <span class="smallScreenHeader smallScreenMenuPhone headerMenuStyle"> 2377 <p style="font-size: xx-small;position: relative;top: 13px;display: inline;right: -50%;background-color: #fbfcf6;color: black">Call Now</p> 2378 <a class="phoneNumber primaryPhone" href="tel:+15302085305">(530) 208-5305</a> 2379 </span> 2380 2381 <div class="menu headerMenuStyle w3-clear w3-center" id="main-menu-drawer"> 2382 2383 <nav aria-label="Primary"> 2384 <ul id="main-menu" class="sm sm-blue"> 2385 <li><a href="/">Home</a></li> 2386 <li class="has-sub"><a href="#">Services</a><ul><li><a href="/Painting-Contractor.htm">Painting Contractor</a></li><li><a href="/Exterior-Painting.htm">Exterior Painting</a></li><li><a href="/House-Painting.htm">House Painting</a></li><li><a href="/Interior-Painting.htm">Interior Painting</a></li><li><a href="/Commercial-Painting.htm">Commercial Painting</a></li><li><a href="/Deck-&-Fence-Staining.htm">Deck & Fence Staining</a></li></ul></li> 2387 <li><a href="/towns.htm">Service Area</a></li> 2388 <li><a href="/testimonials.htm">Reviews</a></li> 2389 <li><a href="/photos.htm">Photos</a></li> 2390 <li><a href="/contact.htm">Contact Us</a></li> 2391 </ul> 2392 </nav> 2393 2394 </div> 2395 2396 </div> 2397 2398 </div> 2399 2400 <div class="menu-drawer-scrim" id="menu-drawer-scrim" hidden></div> 2401 2402</header> 2403 2404
2405<script> 2406(function() { 2407 var btn = document.getElementById('menuIcn'); 2408 var drawer = document.getElementById('main-menu-drawer'); 2409 var scrim = document.getElementById('menu-drawer-scrim'); 2410 if (!btn || !drawer || !scrim) return; 2411 2412 var body = document.body; 2413 var isMobile = function() { return window.innerWidth < 768; }; 2414 var isOpen = function() { return body.getAttribute('data-menu-drawer') === 'open'; }; 2415 2416 function setDrawer(open) { 2417 if (open) body.setAttribute('data-menu-drawer', 'open'); 2418 else body.removeAttribute('data-menu-drawer'); 2419 btn.setAttribute('aria-expanded', open ? 'true' : 'false'); 2420 scrim.hidden = !open; 2421 if (!open) { 2422 // collapse submenus so the drawer reopens clean 2423 drawer.querySelectorAll('.has-sub.is-open').forEach(function(li) { 2424 li.classList.remove('is-open'); 2425 }); 2426 } 2427 } 2428 2429 btn.addEventListener('click', function(e) { e.preventDefault(); setDrawer(!isOpen()); }); 2430 scrim.addEventListener('click', function() { setDrawer(false); }); 2431 2432 document.addEventListener('keydown', function(e) { 2433 if (e.key === 'Escape' && isOpen()) { setDrawer(false); btn.focus(); } 2434 }); 2435 2436 // Mobile-only: tap a has-sub trigger (href="#") â toggle accordion 2437 drawer.addEventListener('click', function(e) { 2438 var link = e.target.closest('a'); 2439 if (!link || !isMobile()) return; 2440 var parent = link.parentElement; 2441 if (!parent || !parent.classList.contains('has-sub')) return; 2442 var href = link.getAttribute('href'); 2443 if (href && href !== '#') return; 2444 e.preventDefault(); 2445 parent.classList.toggle('is-open'); 2446 }); 2447 2448 // Cross the breakpoint while open â close cleanly 2449 var resizeTimer; 2450 window.addEventListener('resize', function() { 2451 clearTimeout(resizeTimer); 2452 resizeTimer = setTimeout(function() { 2453 if (!isMobile() && isOpen()) setDrawer(false); 2454 clearAllFlyouts(); // drop stale fixed-position styles; next hover re-places 2455 }, 100); 2456 }); 2457 2458 // Desktop keyboard nav across top-level items 2459 var topItems = drawer.querySelectorAll('#main-menu > li > a'); 2460 topItems.forEach(function(a, idx) { 2461 a.addEventListener('keydown', function(e) { 2462 if (isMobile()) return; 2463 var n = topItems.length, target; 2464 if (e.key === 'ArrowRight') target = (idx + 1) % n; 2465 else if (e.key === 'ArrowLeft') target = (idx - 1 + n) % n; 2466 else if (e.key === 'Home') target = 0; 2467 else if (e.key === 'End') target = n - 1; 2468 else return; 2469 e.preventDefault(); 2470 topItems[target].focus(); 2471 }); 2472 }); 2473 2474 // ââ Desktop fly-out escape ââââââââââââââââââââââââââââââââââââââââââââââââ 2475 // With html.menu-js, fly-out-hosting panels scroll vertically (CSS), which 2476 // would clip a nested fly-out. Re-anchor each open fly-out as position:fixed 2477 // (escapes ancestor overflow) and keep it aligned to its trigger row. JS and 2478 // the scroll-enabling CSS are coupled via the menu-js flag so the no-JS 2479 // baseline never clips. 2480 function flyoutOf(li) { return li.querySelector(':scope > ul'); } 2481 2482 function placeFlyout(li) { 2483 var ul = flyoutOf(li); 2484 if (!ul) return; 2485 ul.style.position = 'fixed'; 2486 ul.style.left = '0px'; 2487 ul.style.top = '0px'; 2488 // Fixed positioning makes the viewport the containing block, so the panel 2489 // would shrink-to-fit to max-content and lay its inline-block items out as 2490 // a horizontal strip. Pin to min-content to keep it a single column. 2491 ul.style.width = 'min-content'; 2492 var row = li.getBoundingClientRect(); 2493 var w = ul.offsetWidth, h = ul.offsetHeight; 2494 // open to the right of the row; flip to the left if there's no room 2495 var left = row.right; 2496 if (left + w > window.innerWidth - 4) left = Math.max(4, row.left - w); 2497 // align tops, but clamp so a tall fly-out stays within the viewport 2498 var top = Math.min(row.top, Math.max(8, window.innerHeight - 8 - h)); 2499 ul.style.left = left + 'px'; 2500 ul.style.top = top + 'px'; 2501 } 2502 2503 function clearFlyout(li) { 2504 var ul = flyoutOf(li); 2505 if (!ul) return; 2506 ul.style.position = ul.style.left = ul.style.top = ul.style.width = ''; 2507 } 2508 2509 function clearAllFlyouts() { 2510 drawer.querySelectorAll('#main-menu ul li.has-sub').forEach(clearFlyout); 2511 } 2512 2513 drawer.querySelectorAll('#main-menu ul li.has-sub').forEach(function(li) { 2514 li.addEventListener('mouseenter', function() { if (!isMobile()) placeFlyout(li); }); 2515 li.addEventListener('mouseleave', function() { if (!isMobile()) clearFlyout(li); }); 2516 li.addEventListener('focusin', function() { if (!isMobile()) placeFlyout(li); }); 2517 li.addEventListener('focusout', function(e) { 2518 if (!isMobile() && !li.contains(e.relatedTarget)) clearFlyout(li); 2519 }); 2520 }); 2521 2522 // Keep an open fly-out aligned as its scroll-parent (or the window) scrolls. 2523 // Capture phase catches non-bubbling scroll on the inner panels too. 2524 window.addEventListener('scroll', function() { 2525 if (isMobile()) return; 2526 drawer.querySelectorAll('#main-menu ul li.has-sub').forEach(function(li) { 2527 if (li.matches(':hover') || li.contains(document.activeElement)) placeFlyout(li); 2528 }); 2529 }, true); 2530 2531 document.documentElement.classList.add('menu-js'); 2532})(); 2533</script>
2533 2534 2535 2536<!-- Header Ends here --> 2537 2538 2539<!-- page content starts here --> 2540 2541<main class="w3-container pad0 w3-center"> 2542 2543 <div class="w3-container pad0 showLargeScreenHeader mainTopSpacer"></div> 2544 2545 <div class="w3-container pad0 smallScreenHeader"> 2546 <div class="w3-container pad0 mainTopSpacer"></div> 2547 </div> 2548 2549
2549<script> 2550 function setMainTopSpacer() { 2551 var headerHeight = document.getElementById('header').offsetHeight; 2552 var elements = document.getElementsByClassName('mainTopSpacer'); 2553 for (var i = 0, len = elements.length; i < len; i++) { 2554 elements[i].style.height = headerHeight+"px"; 2555 } 2556 } 2557 setMainTopSpacer(); 2558 2559 (function() { 2560 'use strict'; 2561 2562 var header = document.getElementById('header'); 2563 var SHRINK_THRESHOLD = 50; 2564 var isShrunk = false; 2565 var ticking = false; 2566 var MOBILE_SCALE = 0.5; 2567 var DESKTOP_SCALE = 0.7; 2568 2569 function getVisibleLogo() { 2570 if (window.innerWidth >= 768) { 2571 return header.querySelector('.showLargeScreenHeader img'); 2572 } 2573 return header.querySelector('.smallScreenHeader img'); 2574 } 2575 2576 var isDesktop = window.innerWidth >= 768; 2577 var scale = isDesktop ? DESKTOP_SCALE : MOBILE_SCALE; 2578 var logoImg = getVisibleLogo(); 2579 if (!logoImg) return; 2580 2581 var headerLine1 = header.querySelector('.headerLine1Style'); 2582 // Desktop: get logo wrapper and phone container for independent height control 2583 var logoWrapper = isDesktop ? (logoImg.closest('a') || logoImg.parentElement) : null; 2584 var phoneContainer = isDesktop ? headerLine1.querySelector('.call99-flex-vert-center') : null; 2585 var expandedLine1Width = headerLine1 ? headerLine1.offsetWidth : 0; 2586 var expandedHeight = header.offsetHeight; 2587 var expandedLogoWrapperH = logoWrapper ? logoWrapper.offsetHeight : 0; 2588 var expandedPhoneH = phoneContainer ? phoneContainer.offsetHeight : 0; 2589 // Mobile: margin collapse on headerLine1 2590 var expandedLine1H = headerLine1 ? headerLine1.offsetHeight : 0; 2591 var mobileShrinkMargin = Math.round(expandedLine1H * (1 - MOBILE_SCALE)); 2592 var shrunkHeight; 2593 2594 // Desktop shrunk heights: scale both containers so flex row actually shrinks 2595 var shrunkLogoWrapperH = Math.round(expandedLogoWrapperH * DESKTOP_SCALE); 2596 var shrunkPhoneH = Math.round(expandedPhoneH * DESKTOP_SCALE); 2597 2598 function applyDesktopShrink() { 2599 logoImg.style.transform = 'scale(' + DESKTOP_SCALE + ')'; 2600 logoWrapper.style.height = shrunkLogoWrapperH + 'px'; 2601 logoWrapper.style.overflow = 'hidden'; 2602 if (phoneContainer) { 2603 phoneContainer.style.height = shrunkPhoneH + 'px'; 2604 phoneContainer.style.overflow = 'hidden'; 2605 } 2606 } 2607 2608 function clearDesktopShrink() { 2609 logoImg.style.transform = ''; 2610 logoWrapper.style.height = expandedLogoWrapperH + 'px'; 2611 logoWrapper.style.overflow = ''; 2612 if (phoneContainer) { 2613 phoneContainer.style.height = expandedPhoneH + 'px'; 2614 phoneContainer.style.overflow = ''; 2615 } 2616 } 2617 2618 function applyMobileShrink() { 2619 logoImg.style.transform = 'scale(' + MOBILE_SCALE + ')'; 2620 headerLine1.style.marginBottom = '-' + mobileShrinkMargin + 'px'; 2621 } 2622 2623 function clearMobileShrink() { 2624 logoImg.style.transform = ''; 2625 headerLine1.style.marginBottom = ''; 2626 } 2627 2628 // Measure shrunk height without transitions 2629 function disableTransitions() { 2630 header.style.transition = 'none'; 2631 if (headerLine1) headerLine1.style.transition = 'none'; 2632 if (logoWrapper) logoWrapper.style.transition = 'none'; 2633 if (phoneContainer) phoneContainer.style.transition = 'none'; 2634 } 2635 function enableTransitions() { 2636 header.style.transition = ''; 2637 if (headerLine1) headerLine1.style.transition = ''; 2638 if (logoWrapper) logoWrapper.style.transition = ''; 2639 if (phoneContainer) phoneContainer.style.transition = ''; 2640 } 2641 2642 disableTransitions(); 2643 header.classList.add('header-shrunk'); 2644 if (isDesktop) { applyDesktopShrink(); } else { applyMobileShrink(); } 2645 shrunkHeight = header.offsetHeight; 2646 if (isDesktop) { clearDesktopShrink(); } else { clearMobileShrink(); } 2647 header.classList.remove('header-shrunk'); 2648 void header.offsetHeight; 2649 enableTransitions(); 2650 2651 // Set explicit expanded heights so CSS can transition between px values (autoâpx doesn't animate) 2652 if (isDesktop) { 2653 logoWrapper.style.height = expandedLogoWrapperH + 'px'; 2654 if (phoneContainer) phoneContainer.style.height = expandedPhoneH + 'px'; 2655 } 2656 2657 function setSpacerHeight(height) { 2658 var elements = document.getElementsByClassName('mainTopSpacer'); 2659 for (var i = 0, len = elements.length; i < len; i++) { 2660 elements[i].style.height = height + 'px'; 2661 } 2662 } 2663 2664 function updateHeader() { 2665 var scrollY = window.scrollY || window.pageYOffset; 2666 var shouldShrink = scrollY > SHRINK_THRESHOLD; 2667 2668 if (shouldShrink !== isShrunk) { 2669 isShrunk = shouldShrink; 2670 if (shouldShrink) { 2671 header.classList.add('header-shrunk'); 2672 document.body.classList.add('header-shrunk'); 2673 if (isDesktop) { applyDesktopShrink(); } else { applyMobileShrink(); } 2674 setSpacerHeight(shrunkHeight); 2675 } else { 2676 header.classList.remove('header-shrunk'); 2677 document.body.classList.remove('header-shrunk'); 2678 if (isDesktop) { clearDesktopShrink(); } else { clearMobileShrink(); } 2679 setSpacerHeight(expandedHeight); 2680 } 2681 } 2682 ticking = false;
2683 } 2684 2685 window.addEventListener('scroll', function() { 2686 if (!ticking) { 2687 requestAnimationFrame(updateHeader); 2688 ticking = true; 2689 } 2690 }, { passive: true }); 2691 2692 window.addEventListener('resize', function() { 2693 var wasDesktop = isDesktop; 2694 isDesktop = window.innerWidth >= 768; 2695 logoImg = getVisibleLogo(); 2696 if (!logoImg) return; 2697 2698 disableTransitions(); 2699 2700 // Clear previous state 2701 header.classList.remove('header-shrunk'); 2702 document.body.classList.remove('header-shrunk'); 2703 if (wasDesktop && logoWrapper) { 2704 logoWrapper.style.height = ''; 2705 if (phoneContainer) phoneContainer.style.height = ''; 2706 clearDesktopShrink(); 2707 } else { clearMobileShrink(); } 2708 2709 // Re-acquire elements if viewport crossed breakpoint 2710 logoWrapper = isDesktop ? (logoImg.closest('a') || logoImg.parentElement) : null; 2711 phoneContainer = isDesktop ? headerLine1.querySelector('.call99-flex-vert-center') : null; 2712 2713 // Re-measure expanded (heights must be auto for accurate measurement) 2714 expandedHeight = header.offsetHeight; 2715 expandedLogoWrapperH = logoWrapper ? logoWrapper.offsetHeight : 0; 2716 expandedPhoneH = phoneContainer ? phoneContainer.offsetHeight : 0; 2717 expandedLine1H = headerLine1 ? headerLine1.offsetHeight : 0; 2718 mobileShrinkMargin = Math.round(expandedLine1H * (1 - MOBILE_SCALE)); 2719 shrunkLogoWrapperH = Math.round(expandedLogoWrapperH * DESKTOP_SCALE); 2720 shrunkPhoneH = Math.round(expandedPhoneH * DESKTOP_SCALE); 2721 2722 // Measure shrunk 2723 header.classList.add('header-shrunk'); 2724 if (isDesktop) { applyDesktopShrink(); } else { applyMobileShrink(); } 2725 shrunkHeight = header.offsetHeight; 2726 2727 if (!isShrunk) { 2728 header.classList.remove('header-shrunk'); 2729 if (isDesktop) { clearDesktopShrink(); } else { clearMobileShrink(); } 2730 } else { 2731 document.body.classList.add('header-shrunk'); 2732 } 2733 // Set explicit expanded heights for smooth transitions 2734 if (isDesktop) { 2735 if (logoWrapper) logoWrapper.style.height = (isShrunk ? shrunkLogoWrapperH : expandedLogoWrapperH) + 'px'; 2736 if (phoneContainer) phoneContainer.style.height = (isShrunk ? shrunkPhoneH : expandedPhoneH) + 'px'; 2737 } 2738 void header.offsetHeight; 2739 enableTransitions(); 2740 setSpacerHeight(isShrunk ? shrunkHeight : expandedHeight); 2741 }); 2742 })(); 2743 </script>
2743 2744 2745 2746 <div id="content" class="w3-container pad0 w3-clear contactPage"> 2747 2748 <div class="w3-container w3-content contentX"> 2749 <div style="max-width: 600px; margin: 0 auto"> 2750 <h1>Contact <span itemprop="name">Tagatz Painting Co.</span></h1> 2751 2752<p> </p> 2753 2754<p><strong>Office:</strong></p> 2755 2756<div itemprop="address" itemscope="" itemtype="http://schema.org/PostalAddress"> 2757<div> 2758<p style="font-weight: normal; margin-left: 40px; ">Thomas Tagatz<br /> 2759Tagatz Painting Co.<br /> 2760<span itemprop="addressLocality">Mount Shasta</span>, <span itemprop="addressRegion">CA</span> <span itemprop="postalCode">96067</span></p> 2761</div> 2762</div> 2763 2764<p style="font-weight:bold">Phone:</p> 2765 2766<p style="font-weight: normal; margin-left: 40px; "><span itemprop="telephone"><a class="phoneNumber primaryPhone" href="tel:+15302085305">(530) 208-5305</a></span> <br /> 2767<span itemprop="telephone"><a class="phoneNumber" href="tel:+15309261525">(530) 926-1525</a></span> </p> 2768 2769<p style="font-weight:bold">Hours:</p> 2770 2771<p style="margin-left: 40px; "><table class="bizHours" style="margin: 20px 20px 20px 40px;"><tr><td>Monday</td><td>8:00 am - 6:00 pm</td></tr><tr><td>Tuesday</td><td>8:00 am - 6:00 pm</td></tr><tr><td>Wednesday</td><td>8:00 am - 6:00 pm</td></tr><tr><td>Thursday</td><td>8:00 am - 6:00 pm</td></tr><tr><td>Friday</td><td>8:00 am - 6:00 pm</td></tr><tr><td>Saturday </td><td>8:00 am - 6:00 pm</td></tr><tr><td>Sunday</td><td>Closed</td></tr></table></p> 2772 2773<p style="font-weight:bold">Email:</p> 2774 2775<p style="font-weight: normal; margin-left: 40px; ">Available upon request.</p> 2776 </div> 2777 </div> 2778 2779 </div> 2780 2781 <div id="get_a_price" class="w3-container pad0 padGetPrice"> 2782 <div id="right_block" class="w3-container w3-content"> 2783 <div class="getPriceDiv"> 2784 <span id="getPriceHeader">Get a Price</span> 2785 <div class="getPriceFormDiv"> 2786 <form id="demo-form" name="contactForm" action="/webservice/processForm.php" method="post"> 2787 <input type="hidden" name="domainId" id="domainId" value="3744"/> 2788 <input type="hidden" id="hdnThankYouUrl" value=""/> 2789 <ul> 2790 <li><input name="senderName" id="senderName" type="text" class="text-field" placeholder="Name" required="required" maxlength="40"/></li> 2791<li><input name="senderEmail" id="senderEmail" type="email" class="text-field" placeholder="Email" required="required"/></li> 2792<li><input name="senderPhone" id="senderPhone" class="text-field validatePhone" placeholder="Phone Number" required="required" maxlength="20"/></li> 2793<li><textarea name="message" id="message" class="text-field" rows="5" cols="5" placeholder="Enter Your Message" required="required"></textarea></li> <li> 2794 <div class="check-field" style="width: 92%; box-sizing: border-box;"> 2795 <input type="checkbox" name="optInService" id="optInService" value="1" tabindex="9" accesskey="i" title="Check to opt in" /> 2796 <label for="optInService">Text Me!</label> 2797 <div style="font-size: 12px; margin-top: 2px; line-height: 1.4;">I agree to receive service-related text messages from Tagatz Painting Co. (appointment reminders, service updates, missed call follow-ups).</div> 2798 <input type="hidden" name="optInServiceText" value="I agree to receive service-related text messages from Tagatz Painting Co. (appointment reminders, service updates, missed call follow-ups)." /> 2799 </div> 2800 </li> 2801 <li> 2802 <div class="check-field" style="width: 92%; box-sizing: border-box;"> 2803 <input type="checkbox" name="optInMarketing" id="optInMarketing" value="1" tabindex="9" title="Check to opt in to marketing messages" /> 2804 <label for="optInMarketing">Opt-In</label> 2805 <div style="font-size: 12px; margin-top: 2px; line-height: 1.4;">I agree to receive promotional offers and marketing text messages from Tagatz Painting Co..</div> 2806 </div> 2807 </li> 2808 <li> 2809 <div style="width: 92%; box-sizing: border-box; padding-left: 24px; text-align: left; font-size: 11px; color: #333; line-height: 1.4;">Msg frequency varies. Msg & data rates may apply. Reply STOP to opt out or HELP for help. By checking above, you agree to our <a href="/privacy-policy.htm" target="_blank" style="color: #0066cc;">Privacy Policy</a> and <a href="/terms-conditions.htm" target="_blank" style="color: #0066cc;">Terms & Conditions</a>.</div> 2810 </li> 2811 <li><button class="g-recaptcha submit-field" data-sitekey="6LfVQZwhAAAAALN3wyVxWvmdFsX4R3Yh64Un7v2D" data-callback='onRecaptchaSubmit' data-action='submit' tabindex="10" accesskey="u" title="Submit form">Submit</button></li> 2812 <li><input type="text" name="senderZip" id="senderZip" required="required" style="display:none" placeholder="Enter your zip code" maxlength="10" value="
28120" /></li> 2813 2814 </ul> 2815 </form> 2816 </div> 2817 </div> 2818 2819 2820 <div class="greyblocks greyblocks-box"> 2821 <h3>Social Media</h3> 2822 <div class="greyblock-col-1 followus"> 2823 <a href="https://www.facebook.com/Tagatz-Painting-Co-618908401581106/" target="_blank" title="Facebook"><img alt="Facebook" src="/images/social/facebook_logo_43x43.png" width="43" height="43" /></a><a href="https://search.google.com/local/writereview?placeid=ChIJAQAQCRrhzVQRAvMlGSvVnz0" target="_blank" title="Google"><img alt="Google" src="/images/social/google_icon_43x43.png" width="43" height="43" /></a><a href="https://www.yelp.com/biz/tagatz-painting-mount-shasta-2" target="_blank" title="Yelp"><img alt="Yelp" src="/images/social/yelp43x43.png" width="43" height="43" /></a><a href="https://www.houzz.com/hznb/professionals/painters/tagatz-painting-co-pfvwus-pf~1798982414/__public" target="_blank" title="Houzz"><img alt="Houzz" src="/images/social/houzz_43x43.png" width="43" height="43" /></a><a href="https://nextdoor.com/pages/tagatz-painting-co-mount-shasta-ca/" target="_blank" title="Nextdoor"><img alt="Nextdoor" src="/images/social/nextdoor_43x43.png" width="43" height="43" /></a> </div> 2824 </div> 2825 2826 </div> 2827 </div> 2828 2829 2830 2831</main> 2832 2833<!-- page content ends here --> 2834 2835<!-- footer starts here --> 2836 2837<footer class="w3-container pad0"> 2838 <div class="w3-container pad0"> 2839 2840 2841 <div class="w3-container pad0"> 2842 <div class="useboxright"> 2843 Tagatz Painting Co.<br> 2844 1333 Audubon Rd, Mount Shasta, CA 96067 2845 <div class="callNoDiv"> 2846 <ul class="phoneList"> 2847 <li class="primaryPhone"><a class="phoneNumber primaryPhone" href="tel:+15302085305">(530) 208-5305</a></li> 2848 <li class="phoneSmall">(530) 926-1525</li> </ul> 2849 </div> 2850 <p class="license">License: 798212</p> 2851 <p><a class="privacyPolicy" href="/privacy-policy.htm">Privacy Policy</a> | <a class="termsConditions" href="/terms-conditions.htm">Terms & Conditions</a></p> 2852 2853 </div> 2854 </div> 2855 </div> 2856 2857 <div class="w3-container pad0 footerDivMn">Copyright © 2026 - 99 Calls</div> <p style="font-size:10px;color:#888;text-align:center;margin:8px 0 0;line-height:1.4">This site is protected by reCAPTCHA and the Google <a href="https://policies.google.com/privacy" target="_blank" rel="noopener" style="color:#666">Privacy Policy</a> and <a href="https://policies.google.com/terms" target="_blank" rel="noopener" style="color:#666">Terms of Service</a> apply.</p> 2858 </footer> 2859 2860<!-- footer ends here --> 2861 2862<!-- Menu Styles -->
2863<script src="/js/jquery-3.7.1.min.js"></script>
2863 2864 2865 2866
2867<script> 2868 var leadFormPopUpRedirectUrl = null; 2869 2870 $(document).ready(function () { 2871 $(window).resize(function () { 2872 setMainTopSpacer(); 2873 // ipad (others?) slow to redraw screen on orientation change 2874 setTimeout(setMainTopSpacer, 500); 2875 }); 2876 }); 2877</script>
2877 2878 2879 2880
2881<script src="/js/jquery.mask.min.js" defer></script>
2881 2882 2883<div id="overlay-back"></div> 2884<link rel="preload" href="/templates/contactForm.css" as="style" onload="this.onload=null;this.rel='stylesheet'"> 2885<noscript> 2886 <link rel="stylesheet" href="/templates/contactForm.css"> 2887</noscript> 2888<div> 2889 <style>.statusMessage { 2890 height: 6em; 2891 }</style> 2892</div> 2893 2894<div id="sendingMessage" class="statusMessage"><p>Sending your message. Please wait...</p></div> 2895<div id="failureMessage" class="statusMessage"><p>There was a problem sending your message. Please try again or call 2896 us.</p></div> 2897<div id="incompleteMessage" class="statusMessage"><p>Please complete all the fields in the form before sending.</p> 2898</div> 2899<div id="limitMessage" class="statusMessage"><p>You may only send 3 messages per day, but you are welcome to call 2900 us!</p></div> 2901<div id="invalid_phone" class="statusMessage"><p>The phone number is invalid. Please check your phone number and try 2902 again.</p></div> 2903<div id="invalid_email" class="statusMessage"><p>The email address is invalid. Please check your email address and try 2904 again.</p></div> 2905 <div id="successMessage" class="statusMessage"><p>Thanks for contacting us! We'll get back to you shortly.</p></div> 2906 2907 2908 2909
2909<script> 2910 let messageDelay = 3000; // How long to display status messages (in milliseconds) 2911 2912 // Init the form once the document is ready 2913 $(init); 2914 2915 // Initialize the form 2916 function init() { 2917 $("[name='contactForm']").submit(submitForm); 2918 $(".validatePhone").mask('(000) 000-0000'); 2919 } 2920 2921 // reCAPTCHA v3 2922 function onRecaptchaSubmit(token) { 2923 // token does not need to be processed 2924 if (!validateForm()) return false; 2925 let recaptchaForm = document.getElementById("demo-form"); 2926 // the form *magickly* includes the token 2927 submitForm.apply(recaptchaForm); 2928 } 2929 function onRecaptchaLandingSubmit(token) { 2930 // token does not need to be processed 2931 let recaptchaForm = document.getElementById("landing-form"); 2932 // the form *magickly* includes the token 2933 submitForm.apply(recaptchaForm); 2934 } 2935 2936 // Submit the form via Ajax 2937 function submitForm() { 2938 var contactForm = $(this); 2939 2940 // Are all the fields filled in? 2941 $('#overlay-back').fadeIn(200); 2942 $('#page').fadeTo('fast', .2); 2943 2944 if (!contactForm.find("[name='senderName']").val() || !contactForm.find("[name='senderEmail']").val() || !contactForm.find("[name='message']").val()) { 2945 2946 // No; display a warning message and return to the form 2947 $('#incompleteMessage').fadeIn().delay(messageDelay).fadeOut(); 2948 $('#overlay-back').delay(messageDelay + 500).fadeOut(200); 2949 $('#page').delay(messageDelay + 500).fadeTo('fast', 1); 2950 2951 2952 } else { 2953 2954 // Yes; submit the form to the PHP script via Ajax 2955 $('#sendingMessage').fadeIn(); 2956 2957 $.ajax({
2958 url: contactForm.attr('action') + "?ajax=true", 2959 type: contactForm.attr('method'), 2960 data: contactForm.serialize(), 2961 timeout: 30000, 2962 success: submitFinished, 2963 error: function (x, t, m) { 2964 if (t === "timeout") { 2965 submitFinished(t); 2966 } else if (t === "invalid_email") { 2967 submitFinished(t); 2968 } else if (t === "invalid_phone") { 2969 submitFinished(t); 2970 } 2971 } 2972 }); 2973 } 2974 2975 // Prevent the default form submission occurring 2976 return false; 2977 } 2978 2979 // Handle the Ajax response 2980 function submitFinished(response) { 2981 response = $.trim(response); 2982 $('#sendingMessage').fadeOut(); 2983 2984 if (response == "success") { 2985 2986 // Form submitted successfully: 2987 // 1. Display the success message 2988 // 2. Clear the form fields 2989 // 3. Fade the content back in 2990 2991 $('#successMessage').fadeIn().delay(messageDelay).fadeOut(); 2992 var leadName = $("[name='senderName']").val(); 2993 var leadEmail = $("[name='senderEmail']").val(); 2994 var leadPhone = $("[name='senderPhone']").val(); 2995 $("[name='senderName']").val(""); 2996 $("[name='senderEmail']").val(""); 2997 $("[name='senderPhone']").val(""); 2998 $("[name='message']").val(""); 2999 3000 if (leadFormPopUpRedirectUrl) { 3001 // client has supplied url to send customer after form is accepted 3002 var params = new URLSearchParams(); 3003 if (leadName) params.set('full_name', leadName); 3004 if (leadEmail) params.set('email', leadEmail); 3005 if (leadPhone) params.set('phone', leadPhone); 3006 var a = document.getElementById('propertyAddress'); 3007 var c = document.getElementById('propertyCity'); 3008 var s = document.getElementById('propertyState'); 3009 var z = document.getElementById('propertyZip'); 3010 if (a && a.value) params.set('address', a.value.trim()); 3011 if (c && c.value) params.set('city', c.value.trim()); 3012 if (s && s.value) params.set('state', s.value.trim()); 3013 if (z && z.value) params.set('postal_code', z.value.trim()); 3014 var sep = leadFormPopUpRedirectUrl.includes('?') ? '&' : '?'; 3015 window.location.href = params.toString() 3016 ? leadFormPopUpRedirectUrl + sep + params.toString() 3017 : leadFormPopUpRedirectUrl; 3018 } 3019 3020 $('#overlay-back').delay(messageDelay + 500).fadeOut(200); 3021 $('#page').delay(messageDelay + 500).fadeTo('fast', 1); 3022 3023 } else if (response == "toomany") { 3024 $('#limitMessage').fadeIn().delay(messageDelay).fadeOut(); 3025 $('#overlay-back').delay(messageDelay + 500).fadeOut(200); 3026 $('#page').delay(messageDelay + 500).fadeTo('fast', 1); 3027 } else if (response === "invalid_email") { 3028 $('#invalid_email').fadeIn().delay(messageDelay).fadeOut(); 3029 $('#overlay-back').delay(messageDelay+500).fadeOut(200); 3030 $('#page').delay(messageDelay+500).fadeTo( 'fast', 1 ); 3031 } else if (response === "invalid_phone") { 3032 $('#invalid_phone').fadeIn().delay(messageDelay).fadeOut(); 3033 $('#overlay-back').delay(messageDelay+500).fadeOut(200); 3034 $('#page').delay(messageDelay+500).fadeTo( 'fast', 1 ); 3035 } else { 3036 // Form submission failed: Display the failure message, 3037 // then redisplay the form 3038 $('#failureMessage').fadeIn().delay(messageDelay).fadeOut(); 3039 $('#overlay-back').delay(messageDelay + 500).fadeOut(200); 3040 $('#page').delay(messageDelay + 500).fadeTo('fast', 1); 3041 } 3042 } 3043 3044 $(".gotoGetAPrice").click(function () { 3045 $('html, body').animate({ 3046 scrollTop: $("#get_a_price").offset().top - 100 3047 }, 1000); 3048 document.getElementById("senderName").focus(); 3049 }); 3050 3051 </script>
3051 3052 3053 3054 3055 3056 3057 <!-- Google tag (gtag.js) -->
vendor: 65 bytes, lines 3057-3058
3057 3058 <script async src="https://www.googletagmanager.com/gtag/js?id=
3058AW-609276622
vendor: 13 bytes, lines 3058-3059
3058"></script> 3059
3059<script> 3060
vendor: 135 bytes, lines 3060-3063
3060window.dataLayer = window.dataLayer || []; 3061 function gtag(){dataLayer.push(arguments);} 3062 gtag('js', new Date()); 3063 gtag('config', '
3063AW-609276622
vendor: 4 bytes, line 3063
3063');
3063</script>
3063 3064 3065
3066<script> 3067 setTimeout(function() { 3068 var script = document.createElement('script'); 3069 script.src = 'https://www.google.com/recaptcha/api.js'; 3070 script.defer = true; 3071 document.body.appendChild(script); 3072 }, 4200); 3073 setTimeout(function() { 3074 var script = document.createElement('script'); 3075 // look for hi-res images - same file name with @2x appended 3076 //script.src = '/js/retina99.min.js'; 3077 script.src = '/js/retina99.js'; 3078 script.defer = true; 3079 document.body.appendChild(script); 3080 }, 4300); 3081</script>
3081 3082 3083
3083<script> 3084 3085 3086 function validateForm() { 3087 var senderName = document.getElementById("senderName").value; 3088 var senderEmail = document.getElementById("senderEmail").value; 3089 var senderPhone = document.getElementById("senderPhone").value; 3090 3091 if (senderName.trim() === "") { 3092 alert("Please enter your name."); 3093 return false; 3094 } 3095 3096 if (senderEmail.trim() === "") { 3097 alert("Please enter your email."); 3098 return false; 3099 } 3100 3101 if (senderPhone.trim() === "") { 3102 alert("Please enter your phone number."); 3103 return false; 3104 } 3105 3106 // Validate address if address step is enabled 3107 var addressField = document.getElementById("propertyAddress"); 3108 if (addressField) { 3109 if (addressField.value.trim() === "") { 3110 alert("Please enter the property address."); 3111 return false; 3112 } 3113 // Only require autocomplete selection if Google Maps loaded OK 3114 if (!window.googleMapsAuthFailed) { 3115 var cityField = document.getElementById("propertyCity"); 3116 if (!cityField || cityField.value.trim() === "") { 3117 alert("Please select an address from the suggestions."); 3118 return false; 3119 } 3120 } 3121 } 3122 3123 // Regular expression pattern for validating email addresses 3124 var pattern = /^[^\s@]+@[^\s@]+\.[^\s@]+$/; 3125 if (!pattern.test(senderEmail)) { 3126 alert("Please check your email address."); 3127 return false; 3128 } 3129 3130 // if email address ends in .con, ask if they meant .com 3131 if (senderEmail.endsWith('.con')) { 3132 confirm('Did you mean .com at the end of your email address?'); 3133 return false; 3134 } 3135 3136 // validate phone number is US format - remove non-numeric characters and check it's 10 digits and first digit is not 0 or 1 3137 var phone = senderPhone.replace(/\D/g, ''); 3138 if (phone.length != 10) { 3139 alert("Please check your phone number."); 3140 return false; 3141 } 3142 // Area codes start with a number 2â9, followed by 0â8, and then any third digit. 3143 // The second group of three digits, known as the central office or exchange code, starts with a number 2â9, followed by any two digits. 3144 // The final four digits, known as the station code, have no restrictions. 3145 pattern = /^[2-9][0-8][0-9][2-9][0-9]{2}[0-9]{4}$/; 3146 if (!pattern.test(phone)) { 3147 alert("Please check your phone number."); 3148 return false; 3149 } 3150 // 222 and 555 are not valid area codes 3151 if (phone.substring(0, 3) == '222' || phone.substring(0, 3) == '555') { 3152 alert("Please check your phone number."); 3153 return false; 3154 } 3155 3156 return true; // Form submission will proceed if all fields are filled 3157 } 3158 3159 $(document).ready(function () { // when the document is ready 3160 // add a listener to the form submit event 3161 $("#demo-form").submit(function (e) { 3162 e.preventDefault(); // avoid execution of the actual submit of the form. 3163 const idSubmit = document.getElementById("idSubmit"); 3164 if (idSubmit) 3165 idSubmit.innerText = "... processing ..."; 3166 3167 var form = $(this); 3168 var url = form.attr('action') + '?ajax'; 3169 3170 $.ajax({ 3171 type: "POST", 3172 url: url, 3173 data: form.serialize(), // serializes the form's elements. 3174 success: function (data) { 3175 if (data == 'invalid_email') { 3176 //alert('Invalid email address. Please review your email address for typos and try again.'); 3177 if (idSubmit) 3178 idSubmit.innerText = "Get exclusive leads!"; 3179 return; 3180 } 3181 if (data == 'success') { 3182 let url = $("#hdnThankYouUrl").val(); 3183 if (url) 3184 window.location = url; 3185 else 3186 document.getElementById("idSubmit").innerText = "Success!"; 3187 } 3188 3189 const d = new Date(); 3190 d.toLocaleString('en-US', { timeZone: 'America/New_York' }) 3191 if (d.getDay() >= 1 && d.getDay() <= 5 && d.getHours() >= 9 && d.getHours() < 17) { 3192 // it's Mon-Fri between 9am - 5pm 3193 document.getElementById("overlay_open").style.display = "block"; 3194 } else { 3195 document.getElementById("overlay_closed").style.display = "block"; 3196 } 3197 document.getElementById("idPopUp").style.display = "none"; 3198 // document.getElementById("idPopUp").style.zIndex = 1; 3199 }, 3200 error: function (jqXHR, textStatus, errorThrown) { 3201 if (errorThrown) { 3202 alert('Error - ' + errorThrown); 3203 } else if (textStatus) { 3204 alert('Error - ' + textStatus); 3205 } else { 3206 alert('An unexpected error occurred. Please call us. We apologize for the inconvenience.') 3207 } 3208 } 3209 }); 3210 3211 }); 3212 }); 3213 3214 3215 </script>
3215 3216 3217 3218<link href="/css/pop.up.lead.form.css?v=2026.01.27e" rel="stylesheet" type="text/css"/> 3219 3220<div class="user-agent-warp"> 3221 <div id="divuseragent" class="user-agent-bubble message-left"> 3222 <div class="user-agent-avatar user-agent-fade-in"> 3223 <div class="user-agent-bubble-avatar"> 3224 <div class="user-agent-avatar-img-wrapper"> 3225 <img src="/css/images/repagent.png" id="imgAgentAvatar" alt="support Agent"/> 3226 </div> 3227 <div id="divPopUpLeadFormCounter" class="user-agent-bubble-avatar-counter">1</div> 3228 </div> 3229 </div> 3230 <div class="user-agent-bubble-message user-agent-fade-in" id="divuseragentmessage"> 3231 <button type="button" class="user-agent-bubble-close" id="btnCloseBubbleMessage" aria-label="Close message">×</button> 3232 <span id="spanuseragentmessage">Which type of leads are you looking for?</span> 3233 <div class="user-agent-bubble-arrow-left"></div> 3234 </div> 3235 </div> 3236</div> 3237<div style="display: none;"> 3238 <div id="modal-useragent" > 3239 <div id="divAgentDialogContent"> 3240 3241 </div> 3242 </div> 3243</div>
3244<script src="/js/pop.up.lead.form.99calls.js?v=2026.03.09a" defer></script>
3244 3245</body> 3246 3247 3248<div id="mobile-call-bar"> 3249<div style=" 3250 position:fixed; 3251 left:0; 3252 right:0; 3253 bottom:0; 3254 z-index:900; 3255 background:#0959a7; 3256 box-shadow: 0 -6px 14px rgba(0,0,0,.50), inset 0 1px 0 rgba(255,255,255,.35); 3257 border-top:1px solid rgba(255,255,255,.25); 3258"><a aria-label="Click To Call" 3259 href="tel:5302085305" 3260 onmouseout="this.style.backgroundColor='#0959a7'" 3261 onmouseover="this.style.backgroundColor='#0b6fd1'" 3262 ontouchend="this.style.backgroundColor='#0959a7'" 3263 ontouchstart="this.style.backgroundColor='#0b6fd1'" 3264 style="display: flex; align-items: center; justify-content: center; gap: 12px; height: 60px; width: 100%; background: #0b6fd1; text-decoration: none; color: white; font-family: -apple-system, BlinkMacSystemFont, Arial, sans-serif; -webkit-tap-highlight-color: transparent; position: relative;"> 3265 <span aria-hidden="true" style=" 3266 width:34px; 3267 height:34px; 3268 border-radius:50%; 3269 display:flex; 3270 align-items:center; 3271 justify-content:center; 3272 background:#ffffff; 3273 border:1px solid rgba(0,0,0,.28); 3274 box-shadow: inset 0 3px 4px rgba(0,0,0,.32), inset 0 -1px 0 rgba(255,255,255,.20); 3275 position:relative; 3276 z-index:2; 3277 "> 3278 <svg aria-hidden="true" height="16" style="fill:#0959a7;" viewBox="0 0 24 24" width="16"> 3279 <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"></path> 3280 </svg> 3281 </span> 3282 <span style="line-height:1.05; text-align:center; position:relative; z-index:2;"> 3283 <span style=" 3284 display:block; 3285 font-size:13px; 3286 font-weight:800; 3287 letter-spacing:.25px; 3288 text-shadow:0 1px 2px rgba(0,0,0,.35); 3289 ">Click To Call</span> 3290 <span style=" 3291 display:block; 3292 font-size:19px; 3293 font-weight:900; 3294 letter-spacing:.4px; 3295 text-shadow:0 2px 3px rgba(0,0,0,.45); 3296 ">(530) 208-5305</span> 3297 </span> 3298</a></div> 3299<div style="height:60px;"> </div> 3300</div>
3301<script>document.body.classList.add('has-fixed-call-now');</script>
3301 3302
3303<script> 3304 3305function onHeroRecaptchaSubmit(token) { 3306 var form = document.getElementById("hero-form"); 3307 var name = form.querySelector("[name='senderName']").value; 3308 var email = form.querySelector("[name='senderEmail']").value; 3309 var phone = form.querySelector("[name='senderPhone']").value; 3310 3311 if (name.trim() === "") { alert("Please enter your name."); return false; } 3312 if (email.trim() === "") { alert("Please enter your email."); return false; } 3313 if (phone.trim() === "") { alert("Please enter your phone number."); return false; } 3314 3315 var address = document.getElementById("hero-propertyAddress"); 3316 if (address) { 3317 if (address.value.trim() === "") { alert("Please enter the property address."); return false; } 3318 // Only require an autocomplete selection if Google Maps loaded OK 3319 if (!window.googleMapsAuthFailed && document.getElementById("hero-propertyCity").value.trim() === "") { 3320 alert("Please select an address from the suggestions."); return false; 3321 } 3322 } 3323 3324 var emailRegex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/; 3325 if (!emailRegex.test(email)) { alert("Please enter a valid email address."); return false; } 3326 3327 submitForm.apply(form); 3328} 3329 3330// Apply phone mask to hero form field once jQuery and mask plugin load 3331$(function() { 3332 if ($.fn.mask) { 3333 $("#hero-senderPhone").mask('(000) 000-0000'); 3334 } 3335}); 3336 3337</script>
3337 3338 3339 3340</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.