.lead_source { display: none; } window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'G-GDZ39L3LGJ'); (function(c,l,a,r,i,t,y){ c[a]=c[a]||function(){(c[a].q=c[a].q||[]).push(arguments)}; t=l.createElement(r);t.async=1;t.src="https://www.clarity.ms/tag/"+i; y=l.getElementsByTagName(r)[0];y.parentNode.insertBefore(t,y); })(window, document, "clarity", "script", "h93pc51uvy"); window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'G-GDZ39L3LGJ'); (function(c,l,a,r,i,t,y){ c[a]=c[a]||function(){(c[a].q=c[a].q||[]).push(arguments)}; t=l.createElement(r);t.async=1;t.src="https://www.clarity.ms/tag/"+i; y=l.getElementsByTagName(r)[0];y.parentNode.insertBefore(t,y); })(window, document, "clarity", "script", "h93pc51uvy");

Bone Dry Roofing's 5-Year Inspection

Checking In, 5 Years Later

When you trust Bone Dry Roofing to install your new roof, you’ll get a “helluva good roof” that will protect your home and family from all sorts of weather. Just as important, you’ll get a company you can count on to stand behind its work. After all, we’ve been around for more than 30 years and installed tens of thousands of roofs for customers in the Midwest.

Part of our service to you is a free 5-year roof inspection for every new roof we install. Are we worried that things won’t go right on your roof? No. But it never hurts to make sure! 

During our 5-year roof inspection, we actually go up on your roof to inspect every part of the roofing system to make sure it is performing as expected, including:

  • Roof shingles or panels
  • Flashing and valleys
  • Gutters and downspouts (if we installed them)
  • Soffits and vents
  • Loose or “popped” nails 
  • Signs of hail “bruises” or other storm-related damage

We’ll make any minor repairs that are necessary (like securing those “popped” nails) and report our findings to you. We want you to be secure in knowing that your new roof is still delivering reliable protection and lasting value.

(function(cookieName, domain){ var traffic_source_COOKIE_TOKEN_SEPARATOR = ">>"; //separating between concatenated lead source var traffic_source_date_SEPARATOR = "|>"; var NONE = "(website)"; domain = domain || window.location.hostname; function getCookie(cookieName){ var name = cookieName + "="; var cookieArray = document.cookie.split(';'); //break cookie into array for(var i = 0; i < cookieArray.length; i++){ var cookie = cookieArray[i].replace(/^\s+|\s+$/g, ''); //replace all space with '' = delete it if (cookie.indexOf(name)==0){ return cookie.substring(name.length,cookie.length); // } } return null; } function getURLParameter(param){ var pageURL = window.location.search.substring(1); //get the query string parameters without the "?" var URLVariables = pageURL.split('&'); //break the parameters and values attached together to an array for (var i = 0; i -1) { if(end === -1) { end = utmzCookie.length; } cookieCampaignName = "utmz:" + utmzCookie.substring((start + UTMSRC.length), end); //get the value of the UTMZ, without the parameter name } } if(cookieCampaignName != "" && isNotNullOrEmpty(urlParamSRC)){ //if there is a campaign name AND there is SRC value traffic_source = urlParamSRC + traffic_source_COOKIE_TOKEN_SEPARATOR + cookieCampaignName; //concateane the SRC with the existing campaign name // traffic_source = urlParamSRC + currTime() + traffic_source_COOKIE_TOKEN_SEPARATOR + cookieCampaignName; // Optional: add the session time } else if(cookieCampaignName != ""){ //if there is campaign name traffic_source = cookieCampaignName; //just use it for the new cookie } else if(urlParamSRC != null) { //if there is not campaign name but we have SRC traffic_source = decodeURI(urlParamSRC); // decode URI of the SRC parameter // traffic_source = decodeURI(urlParamSRC) + currTime(); // Optional: add the session time } else if(document.referrer != ""){ //if there is not campaign, and no src, check if there is a referrer, var referrerHostName = removeProtocol(document.referrer); var GOOGLE = /www.google/; var YAHOO = /search.yahoo/; var BING = /www.bing/; if(GOOGLE.test(referrerHostName)){ traffic_source = "Google Search"; //traffic_source = "Google Search" + currTime(); // + Optional: Add the current session time. Choose one of them. } else if(YAHOO.test(referrerHostName)){ traffic_source = "Yahoo Search"; //traffic_source = "Yahoo Search" + currTime(); } else if(BING.test(referrerHostName)){ traffic_source = "Bing Search"; //traffic_source = "Bing Search" + currTime(); } else { traffic_source = referrerHostName; //traffic_source = referrerHostName + currTime(); } } else { traffic_source = NONE; } setCookie(cookieName, traffic_source); //set the cookie } else if(isNotNullOrEmpty(urlParamSRC)){ //if there is a cookie, add the SRC to the cookie, unless the same src already exists as the first token. var firstToken = getFirstTokenFromCookie(getCookie(cookieName)); if(firstToken !== "" && urlParamSRC !== firstToken) { var newTrafficSourceCookie = urlParamSRC + traffic_source_COOKIE_TOKEN_SEPARATOR + getCookie(cookieName); //concetenate new SRC with old cookie values // var newTrafficSourceCookie = urlParamSRC + currTime() + traffic_source_COOKIE_TOKEN_SEPARATOR + getCookie(cookieName); // Optional: add the time of current session setCookie(cookieName, newTrafficSourceCookie); } } })("traffic_source", ".bonedry.com"); function getCookie(name) { //Gets the value of traffic_source var value = "; " + document.cookie; var parts = value.split("; " + name + "="); if (parts.length == 2) return parts.pop().split(";").shift(); } function addTrafficSourceToForm(){ //injects the traffic_source value to the form jQuery(".lead_source input").each(function() { this.value = getCookie("traffic_source"); console.log("Executing"); }); } addTrafficSourceToForm() //initates the process