{"id":3145,"date":"2024-12-19T19:21:08","date_gmt":"2024-12-19T19:21:08","guid":{"rendered":"https:\/\/prstaging1.wpengine.com\/?page_id=3145"},"modified":"2026-04-21T09:47:01","modified_gmt":"2026-04-21T09:47:01","slug":"hail-damage","status":"publish","type":"page","link":"https:\/\/premier-roofing.com\/hail-damage\/","title":{"rendered":"Hail Damage"},"content":{"rendered":"<p><div class=\"fusion-fullwidth fullwidth-box fusion-builder-row-1 fusion-flex-container has-pattern-background has-mask-background fusion-parallax-none nonhundred-percent-fullwidth non-hundred-percent-height-scrolling\" style=\"--awb-background-position-medium:center center;--awb-background-position-small:center center;--awb-border-color:var(--awb-color1);--awb-border-radius-top-left:0px;--awb-border-radius-top-right:0px;--awb-border-radius-bottom-right:0px;--awb-border-radius-bottom-left:0px;--awb-padding-top:0px;--awb-padding-right:0px;--awb-padding-bottom:120px;--awb-padding-left:0px;--awb-padding-top-medium:30px;--awb-padding-bottom-medium:70px;--awb-padding-top-small:20px;--awb-padding-right-small:20px;--awb-padding-bottom-small:25vh;--awb-padding-left-small:20px;--awb-margin-top:0px;--awb-margin-top-medium:0px;--awb-margin-bottom-medium:0px;--awb-margin-bottom-small:0px;--awb-min-height-small:500px;--awb-background-color:var(--awb-color4);--awb-background-image:url(&quot;https:\/\/premier-roofing.com\/wp-content\/uploads\/2026\/02\/Frame-46.avif&quot;);--awb-background-image-small:url(&#039;https:\/\/premier-roofing.com\/wp-content\/uploads\/2026\/02\/iPhone-16-4.avif&#039;);--awb-background-size:cover;--awb-flex-wrap:wrap;--awb-flex-wrap-medium:wrap;\" ><div class=\"fusion-builder-row fusion-row fusion-flex-align-items-flex-start fusion-flex-content-wrap\" style=\"max-width:calc( 1200px + 0px );margin-left: calc(-0px \/ 2 );margin-right: calc(-0px \/ 2 );\"><div class=\"fusion-layout-column fusion_builder_column fusion-builder-column-0 fusion_builder_column_3_5 3_5 fusion-flex-column\" style=\"--awb-padding-right:30px;--awb-padding-left:30px;--awb-padding-top-medium:0px;--awb-padding-right-small:0px;--awb-padding-left-small:0px;--awb-bg-size:cover;--awb-width-large:60%;--awb-margin-top-large:85px;--awb-spacing-right-large:0px;--awb-margin-bottom-large:0px;--awb-spacing-left-large:0px;--awb-width-medium:66.6666666667%;--awb-order-medium:0;--awb-margin-top-medium:30px;--awb-spacing-right-medium:20px;--awb-spacing-left-medium:40px;--awb-width-small:100%;--awb-order-small:0;--awb-margin-top-small:30px;--awb-spacing-right-small:0px;--awb-spacing-left-small:0px;\" data-scroll-devices=\"small-visibility,medium-visibility,large-visibility\"><div class=\"fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column\"><div class=\"fusion-title title fusion-title-1 fusion-sep-none fusion-title-text fusion-title-size-one\" style=\"--awb-text-color:var(--awb-color1);--awb-margin-bottom:0px;--awb-margin-top-small:0px;--awb-margin-right-small:0px;--awb-margin-bottom-small:0px;--awb-margin-left-small:0px;--awb-margin-top-medium:0px;--awb-margin-bottom-medium:0px;--awb-font-size:clamp(32px,3.75vw,55px);\"><h1 class=\"fusion-title-heading title-heading-left awb-responsive-type__disable\" style=\"margin:0;text-transform:capitalize;font-size:1em;line-height:1.2;\"><p>Hail Damage on Roof<br \/>\n<span style=\"color: #fec80d;\">Signs &amp; What to Do<\/span><\/p><\/h1><\/div><div class=\"fusion-text fusion-text-1\" style=\"--awb-content-alignment:left;--awb-font-size:18px;--awb-line-height:1.3;--awb-text-color:var(--awb-color1);--awb-margin-top:20px;\"><p>Hail damage on the roof often hides. You might not see missing shingles, but the protective surface is compromised. You get the essential knowledge about how hail actually damages your roof and what steps you must take next.<\/p>\n<\/div><div>\n        <div class=\"ft-zip-search\">\n            <input  id=\"zipInput\" placeholder=\"Enter Your Zip Code\n\" maxlength=\"5\" \/>\n            <button id=\"zipGo\">Get Started<\/button>\n        <\/div>\n\n        <div id=\"zipError\"><\/div>\n\n<\/div><\/div><\/div><\/div><\/div><div class=\"fusion-fullwidth fullwidth-box fusion-builder-row-2 fusion-flex-container has-pattern-background has-mask-background nonhundred-percent-fullwidth non-hundred-percent-height-scrolling\" style=\"--awb-border-radius-top-left:0px;--awb-border-radius-top-right:0px;--awb-border-radius-bottom-right:0px;--awb-border-radius-bottom-left:0px;--awb-padding-top:100px;--awb-padding-bottom:100px;--awb-flex-wrap:wrap;\" ><div class=\"fusion-builder-row fusion-row fusion-flex-align-items-flex-start fusion-flex-content-wrap\" style=\"max-width:calc( 1200px + 80px );margin-left: calc(-80px \/ 2 );margin-right: calc(-80px \/ 2 );\"><div class=\"fusion-layout-column fusion_builder_column fusion-builder-column-1 fusion_builder_column_2_3 2_3 fusion-flex-column ft-post-col\" style=\"--awb-bg-size:cover;--awb-width-large:66.6666666667%;--awb-margin-top-large:0px;--awb-spacing-right-large:15px;--awb-margin-bottom-large:20px;--awb-spacing-left-large:40px;--awb-width-medium:66.6666666667%;--awb-order-medium:0;--awb-spacing-right-medium:15px;--awb-spacing-left-medium:40px;--awb-width-small:100%;--awb-order-small:0;--awb-spacing-right-small:40px;--awb-spacing-left-small:40px;\"><div class=\"fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column\"><div class=\"fusion-title title fusion-title-2 fusion-sep-none fusion-title-text fusion-title-size-two\" style=\"--awb-text-color:var(--awb-color5);--awb-margin-top-small:10px;--awb-margin-right-small:0px;--awb-margin-bottom-small:10px;--awb-margin-left-small:0px;--awb-font-size:34px;\"><h2 class=\"fusion-title-heading title-heading-left\" style=\"margin:0;text-transform:capitalize;font-size:1em;line-height:1.25;\">How Hail Actually Damages a Roof<\/h2><\/div><div class=\"fusion-text fusion-text-2\"><p>You might not see the issue right away. True roof hail damage weakens shingles by bruising the material, not necessarily tearing it off and eventually exposes the waterproof underlayment. <a href=\"\/your-roof-was-damaged-by-hail-now-what\/\">You lose crucial protection<\/a>, leading to leaks down the road.<\/p>\n<\/div><div class=\"fusion-title title fusion-title-3 fusion-sep-none fusion-title-text fusion-title-size-three\" style=\"--awb-margin-top-small:10px;--awb-margin-right-small:0px;--awb-margin-bottom-small:10px;--awb-margin-left-small:0px;--awb-font-size:26px;\"><h3 class=\"fusion-title-heading title-heading-left\" style=\"margin:0;text-transform:capitalize;font-size:1em;line-height:1.25;\">Shingle Bruising That Breaks the Protective Layer<\/h3><\/div><div class=\"fusion-text fusion-text-3\"><p>Shingle bruising means the impact fractured the protective mat beneath the surface. Your shingle may look intact, but this subsurface weakness allows <a href=\"\/how-to-tell-if-roof-has-water-damage\/\">moisture intrusion<\/a> over time. You risk future leaks when your roof&#8217;s water barrier is compromised.<\/p>\n<\/div><div class=\"fusion-title title fusion-title-4 fusion-sep-none fusion-title-text fusion-title-size-three\" style=\"--awb-margin-top-small:10px;--awb-margin-right-small:0px;--awb-margin-bottom-small:10px;--awb-margin-left-small:0px;--awb-font-size:26px;\"><h3 class=\"fusion-title-heading title-heading-left\" style=\"margin:0;text-transform:capitalize;font-size:1em;line-height:1.25;\">Granule Loss That Exposes the Shingle<\/h3><\/div><div class=\"fusion-text fusion-text-4\"><p>Granules protect your shingles from damaging UV rays and moisture. Hail can knock them loose, leaving the asphalt exposed. You often see these protective bits collecting in your gutters or downspouts. Exposed asphalt means your roof ages much faster.<\/p>\n<\/div><div class=\"fusion-title title fusion-title-5 fusion-sep-none fusion-title-text fusion-title-size-three\" style=\"--awb-margin-top-small:10px;--awb-margin-right-small:0px;--awb-margin-bottom-small:10px;--awb-margin-left-small:0px;--awb-font-size:26px;\"><h3 class=\"fusion-title-heading title-heading-left\" style=\"margin:0;text-transform:capitalize;font-size:1em;line-height:1.25;\">Cracks and Fractures That Worsen Over Time<\/h3><\/div><div class=\"fusion-text fusion-text-5\"><p>Hail impacts create small fractures that expand with changing temperatures. Water seeps into these cracks, causing delayed leaks inside your home. You must identify roof damage from hail quickly before minor issues become major water <a href=\"\/water-damage\">damage<\/a>.<\/p>\n<\/div><div class=\"fusion-title title fusion-title-6 fusion-sep-none fusion-title-text fusion-title-size-three\" style=\"--awb-margin-top-small:10px;--awb-margin-right-small:0px;--awb-margin-bottom-small:10px;--awb-margin-left-small:0px;--awb-font-size:26px;\"><h3 class=\"fusion-title-heading title-heading-left\" style=\"margin:0;text-transform:capitalize;font-size:1em;line-height:1.25;\">Combined Damage From Storms<\/h3><\/div><div class=\"fusion-text fusion-text-6\"><p>Hail rarely falls alone. Wind and pressure lift shingles weakened by impact, letting water reach vulnerable areas. You get a thorough assessment that identifies all combined storm damage, visible or hidden.<\/p>\n<\/div><div class=\"fusion-title title fusion-title-7 fusion-sep-none fusion-title-text fusion-title-size-two\" style=\"--awb-text-color:var(--awb-color5);--awb-margin-top-small:10px;--awb-margin-right-small:0px;--awb-margin-bottom-small:10px;--awb-margin-left-small:0px;--awb-font-size:34px;\"><h2 class=\"fusion-title-heading title-heading-left\" style=\"margin:0;text-transform:capitalize;font-size:1em;line-height:1.25;\">What Does Hail Damage Look Like on a Roof?<\/h2><\/div><div class=\"fusion-text fusion-text-7\"><p>Many homeowners wonder, what does hail damage look like on a roof? Signs of hail damage on your roof are often subtle and delay making themselves known, which is why a thorough inspection gives you peace of mind.<\/p>\n<p>You might see:<\/p>\n<ul>\n<li><strong>Small, dark impact marks <\/strong><\/li>\n<li><strong>Soft, spongy spots on your shingles where the protective granules are gone<\/strong><\/li>\n<li><strong>Granules washing out of your downspouts<\/strong><\/li>\n<li><strong>Physical dents on metal components like vents, flashing, and gutters.<\/strong><\/li>\n<\/ul>\n<p>Because damage can worsen over time, potentially leading to leaks months later, getting clarity now protects your home&#8217;s structure and investment.<\/p>\n<\/div><div class=\"fusion-image-element \" style=\"--awb-margin-top:10px;--awb-margin-bottom:30px;--awb-caption-title-font-family:var(--h2_typography-font-family);--awb-caption-title-font-weight:var(--h2_typography-font-weight);--awb-caption-title-font-style:var(--h2_typography-font-style);--awb-caption-title-size:var(--h2_typography-font-size);--awb-caption-title-transform:var(--h2_typography-text-transform);--awb-caption-title-line-height:var(--h2_typography-line-height);--awb-caption-title-letter-spacing:var(--h2_typography-letter-spacing);\"><span class=\" fusion-imageframe imageframe-none imageframe-1 hover-type-none\"><img decoding=\"async\" width=\"1052\" height=\"480\" src=\"https:\/\/premier-roofing.com\/wp-content\/uploads\/2026\/02\/Frame-281.avif\" alt class=\"img-responsive wp-image-4545\" srcset=\"https:\/\/premier-roofing.com\/wp-content\/uploads\/2026\/02\/Frame-281-200x91.avif 200w, https:\/\/premier-roofing.com\/wp-content\/uploads\/2026\/02\/Frame-281-400x183.avif 400w, https:\/\/premier-roofing.com\/wp-content\/uploads\/2026\/02\/Frame-281-600x274.avif 600w, https:\/\/premier-roofing.com\/wp-content\/uploads\/2026\/02\/Frame-281-800x365.avif 800w, https:\/\/premier-roofing.com\/wp-content\/uploads\/2026\/02\/Frame-281.avif 1052w\" sizes=\"(max-width: 640px) 100vw, 800px\" \/><\/span><\/div><div class=\"fusion-title title fusion-title-8 fusion-sep-none fusion-title-text fusion-title-size-two\" style=\"--awb-text-color:var(--awb-color5);--awb-margin-top-small:10px;--awb-margin-right-small:0px;--awb-margin-bottom-small:10px;--awb-margin-left-small:0px;--awb-font-size:34px;\"><h2 class=\"fusion-title-heading title-heading-left\" style=\"margin:0;text-transform:capitalize;font-size:1em;line-height:1.25;\">What to Do When You Suspect Hail Damage<\/h2><\/div><div class=\"fusion-text fusion-text-8\"><p>When the storm clears, you must act fast. Hail damage is easiest to confirm immediately. Walk your property safely, looking for dents on metal surfaces. Check gutters and the ground for loose shingle granules, a critical sign of hail damage to roof shingles. Note the exact date and size of the storm. You get the best results by scheduling your professional inspection while all damage signs are fresh and easily verifiable for your insurance claim.<\/p>\n<\/div><div ><a class=\"fusion-button button-flat button-xlarge button-custom fusion-button-default button-1 fusion-button-default-span fusion-button-default-type\" style=\"--button_accent_color:var(--awb-color1);--button_accent_hover_color:var(--awb-color4);--button_border_hover_color:var(--awb-color3);--button_gradient_top_color:var(--awb-color5);--button_gradient_bottom_color:var(--awb-color5);--button_gradient_top_color_hover:var(--awb-color3);--button_gradient_bottom_color_hover:var(--awb-color3);--button_margin-bottom:30px;\" target=\"_self\" href=\"\/get-a-quote\/\"><span class=\"fusion-button-text awb-button__text awb-button__text--default\">Request FREE inspection<\/span><\/a><\/div><div class=\"fusion-title title fusion-title-9 fusion-sep-none fusion-title-text fusion-title-size-two\" style=\"--awb-text-color:var(--awb-color5);--awb-margin-top-small:10px;--awb-margin-right-small:0px;--awb-margin-bottom-small:10px;--awb-margin-left-small:0px;--awb-font-size:34px;\"><h2 class=\"fusion-title-heading title-heading-left\" style=\"margin:0;text-transform:capitalize;font-size:1em;line-height:1.25;\">How Premier Roofing Can Help with Roof Hail Damage<\/h2><\/div><div class=\"fusion-text fusion-text-9\"><p>You get a full, honest assessment of your roof hail damage, identifying hidden issues like bruising or fractured shingles. This clear documentation gives you confidence when dealing with your insurance company. Our team coordinates the necessary photos and reports, ensuring you have the <a href=\"\/roof-insurance-claim-process-guide\/\">protection and peace of mind you deserve throughout the claim process.<\/a><\/p>\n<\/div><div class=\"fusion-title title fusion-title-10 fusion-sep-none fusion-title-text fusion-title-size-three\" style=\"--awb-margin-top-small:10px;--awb-margin-right-small:0px;--awb-margin-bottom-small:10px;--awb-margin-left-small:0px;--awb-font-size:26px;\"><h3 class=\"fusion-title-heading title-heading-left\" style=\"margin:0;text-transform:capitalize;font-size:1em;line-height:1.25;\">Step 1 \u2013 Roof Inspection<\/h3><\/div><div class=\"fusion-text fusion-text-10\"><p>You start with a professional roof inspection, looking far beyond what the eye can see from the ground. Our team checks key areas like shingle surfaces, metal flashing, and ventilation components. You get detailed documentation of potential hail damage or weak spots that often lead to future leaks. This comprehensive review gives you the clarity and confidence required for your next steps.<\/p>\n<\/div><div class=\"fusion-title title fusion-title-11 fusion-sep-none fusion-title-text fusion-title-size-three\" style=\"--awb-margin-top-small:10px;--awb-margin-right-small:0px;--awb-margin-bottom-small:10px;--awb-margin-left-small:0px;--awb-font-size:26px;\"><h3 class=\"fusion-title-heading title-heading-left\" style=\"margin:0;text-transform:capitalize;font-size:1em;line-height:1.25;\">Step 2 \u2013 Roof Repair<\/h3><\/div><div class=\"fusion-text fusion-text-11\"><p>If the hail damage roof issue is isolated and contained, you don&#8217;t need a full replacement. When damage is limited to small sections or minor granule loss, targeted roof repair saves you time and money. You get a quick, effective fix.<\/p>\n<\/div><div class=\"fusion-title title fusion-title-12 fusion-sep-none fusion-title-text fusion-title-size-three\" style=\"--awb-margin-top-small:10px;--awb-margin-right-small:0px;--awb-margin-bottom-small:10px;--awb-margin-left-small:0px;--awb-font-size:26px;\"><h3 class=\"fusion-title-heading title-heading-left\" style=\"margin:0;text-transform:capitalize;font-size:1em;line-height:1.25;\">Step 3 \u2013 Roof Installation &amp; Replacement<\/h3><\/div><div class=\"fusion-text fusion-text-12\"><p>When damage is too extensive or widespread, trying to patch minor problems means small repairs only offer temporary fixes. You deserve certainty that your home is fully protected from future storms. If your roof\u2019s ability to shed water is compromised, replacement is the solution that restores lasting security. You gain long-term value and guarantee peace of mind for decades.<\/p>\n<\/div><div class=\"fusion-title title fusion-title-13 fusion-sep-none fusion-title-text fusion-title-size-three\" style=\"--awb-margin-top-small:10px;--awb-margin-right-small:0px;--awb-margin-bottom-small:10px;--awb-margin-left-small:0px;--awb-font-size:26px;\"><h3 class=\"fusion-title-heading title-heading-left\" style=\"margin:0;text-transform:capitalize;font-size:1em;line-height:1.25;\">Step 4 \u2013 Insurance Claim Support<\/h3><\/div><div class=\"fusion-text fusion-text-13\"><p>When you have roof damage from hail, you get the dedicated support you deserve. We provide full documentation of all findings to back your claim. You navigate the complex insurance process with complete clarity because we explain every step. You gain the confidence and peace of mind needed for a stress-free outcome.<\/p>\n<\/div><div ><a class=\"fusion-button button-flat button-xlarge button-custom fusion-button-default button-2 fusion-button-default-span fusion-button-default-type\" style=\"--button_accent_color:var(--awb-color1);--button_accent_hover_color:var(--awb-color4);--button_border_hover_color:var(--awb-color3);--button_gradient_top_color:var(--awb-color5);--button_gradient_bottom_color:var(--awb-color5);--button_gradient_top_color_hover:var(--awb-color3);--button_gradient_bottom_color_hover:var(--awb-color3);\" target=\"_self\" href=\"\/get-a-quote\/\"><span class=\"fusion-button-text awb-button__text awb-button__text--default\">Get a FREE Inspection<\/span><\/a><\/div><\/div><\/div><div class=\"fusion-layout-column fusion_builder_column fusion-builder-column-2 awb-sticky awb-sticky-medium awb-sticky-large fusion_builder_column_1_3 1_3 fusion-flex-column ft-col-sidebar-map\" style=\"--awb-bg-size:cover;--awb-width-large:33.3333333333%;--awb-margin-top-large:0px;--awb-spacing-right-large:40px;--awb-margin-bottom-large:20px;--awb-spacing-left-large:15px;--awb-width-medium:33.3333333333%;--awb-order-medium:0;--awb-spacing-right-medium:40px;--awb-spacing-left-medium:15px;--awb-width-small:100%;--awb-order-small:0;--awb-spacing-right-small:40px;--awb-spacing-left-small:40px;--awb-sticky-offset:150px;\"><div class=\"fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column\"><div class=\"ft-post-sidebar-form\">\n<div class=\"ft-post-sidebar-form--title\">\nGet a FREE quote from Premier Roofing\n<\/div>\n        <div class=\"ft-zip-search\" data-style=\"2\">\n            <input  id=\"zipInput\" placeholder=\"Enter Zip Code\" maxlength=\"5\" \/>\n            <button id=\"zipGo\">Get Started<\/button>\n        <\/div>\n\n        <div id=\"zipError\"  data-style=\"2\"><\/div>\n\n<\/div>\n  <style>\n    \/* \u2705 \u0421\u043e\u0445\u0440\u0430\u043d\u044f\u0435\u043c \u0432\u043d\u0435\u0448\u043d\u0438\u0439 \u0432\u0438\u0434, \u043d\u043e \u0443\u0431\u0438\u0440\u0430\u0435\u043c \u043b\u043e\u043c\u0430\u044e\u0449\u0435\u0435 margin-top:-500px.\n       \u0422\u0435\u043f\u0435\u0440\u044c \u043a\u0430\u0440\u0442\u0430 \u0432\u0441\u0435\u0433\u0434\u0430 \u043d\u043e\u0440\u043c\u0430\u043b\u044c\u043d\u0430\u044f, \u0430 \u0441\u043b\u0430\u0439\u0434\u0435\u0440 \u043d\u0430\u043a\u043b\u0430\u0434\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u043f\u043e\u0432\u0435\u0440\u0445. *\/\n\n    #mapcode-1 .mapSection{\n      height:500px;\n      width:100%;\n      position:relative;\n      overflow:hidden; \/* \u0432\u0430\u0436\u043d\u043e \u0447\u0442\u043e\u0431\u044b \u0441\u043b\u0430\u0439\u0434\u0435\u0440 \u043d\u0435 \u043b\u043e\u043c\u0430\u043b \u0441\u043e\u0441\u0435\u0434\u043d\u0438\u0435 \u0431\u043b\u043e\u043a\u0438 *\/\n    }\n\n    #mapcode-1 .mapCanvas{\n      height:500px;\n      width:100%;\n      position:absolute;\n      inset:0;\n      z-index:0;\n    }\n\n    \/* Slider *\/\n    #mapcode-1 .slider{\n      height:500px;\n      width:0;\n      position:absolute;\n      top:0;\n      left:0;\n      z-index:2;\n      background-color:#d8d8d8;\n      overflow-x:hidden;\n      overflow-y:unset;\n      transition:0.5s;\n      color:white;\n    }\n\n    #mapcode-1 .slider.open{ width:350px; }\n\n    #mapcode-1 .closebtn{\n      float:right;\n      margin:0 20px 0 0;\n      font-size:36px;\n      color:#000;\n      text-decoration:none;\n      cursor:pointer;\n    }\n\n    #mapcode-1 .slider-content{ padding:20px; }\n\n    #mapcode-1 .directionsForm{ margin-bottom:10px; }\n    #mapcode-1 .directionsForm h2{ font-size:25px; margin-bottom:0; margin-top:10px; color:#000; }\n\n    #mapcode-1 ::placeholder{ color:#9b9b9b !important; opacity:1; }\n    #mapcode-1 ::-ms-input-placeholder{ color:#9b9b9b !important; }\n\n    #mapcode-1 .mapSection .slider input[type=\"text\"]{\n      margin:10px 0;\n      padding:10px;\n      border-radius:3px;\n      width:100%;\n      height:32px;\n      color:#000;\n    }\n\n    #mapcode-1 .mapSection .slider button{\n      padding:10px;\n      margin-top:5px;\n      width:100%;\n      cursor:pointer;\n    }\n\n    #mapcode-1 .bgclass{\n      background-color:#f1f1f1;\n      margin-top:15px;\n      padding:10px;\n      font-weight:bold;\n      color:#000;\n      border-radius:8px 8px 0 0;\n    }\n\n    #mapcode-1 .suggestedRoutes{ font-family:arial; font-size:13px; }\n    #mapcode-1 .route-option{\n      cursor:pointer;\n      padding:3px 10px;\n      color:#000;\n      background-color:#f1f1f1;\n      transition:background-color 0.3s;\n    }\n    #mapcode-1 .route-option:hover{ background-color:#e0e0e0; }\n\n    #mapcode-1 .directionsPanel{ margin-top:15px; font-size:13px; font-family:arial; }\n    #mapcode-1 .direction-step{ display:flex; align-items:center; margin:5px 0; padding:5px; cursor:pointer; }\n    #mapcode-1 .direction-step:hover{ background-color:#f0f0f0; }\n    #mapcode-1 .direction-icon{ width:20px; height:20px; margin-right:10px; }\n    #mapcode-1 .direction-text{ flex-grow:1; color:#000; }\n    #mapcode-1 .distance{ color:gray; margin-left:10px; }\n\n  <\/style>\n\n  <div id=\"mapcode-1\" class=\"mapcode-wrap\">\n    <div class=\"mapSection\">\n\n      <div class=\"slider\">\n        <a class=\"closebtn\" aria-label=\"Close directions\">&times;<\/a>\n\n        <div class=\"slider-content\">\n          <div class=\"directionsForm\">\n            <h2>Get your route and directions<\/h2>\n            <input class=\"start\" type=\"text\" placeholder=\"Enter starting location\" \/>\n            <button class=\"useLocation\" type=\"button\">Use my location<\/button>\n            <input class=\"end\" type=\"text\" placeholder=\"Enter destination\" \/>\n            <button class=\"calc\" type=\"button\">Get Directions<\/button>\n          <\/div>\n\n          <div class=\"suggestedRoutes\"><\/div>\n          <div class=\"directionsPanel\"><\/div>\n        <\/div>\n      <\/div>\n\n      <div class=\"mapCanvas\"><\/div>\n    <\/div>\n  <\/div>\n\n  <script>\n  (function(){\n    const root = document.getElementById(\"mapcode-1\");\n    if (!root) return;\n\n    const mapEl = root.querySelector('.mapCanvas');\n    const sliderEl = root.querySelector('.slider');\n    const closeBtn = root.querySelector('.closebtn');\n\n    const startInput = root.querySelector('.start');\n    const endInput   = root.querySelector('.end');\n    const btnCalc    = root.querySelector('.calc');\n    const btnLoc     = root.querySelector('.useLocation');\n\n    const suggestedRoutesDiv = root.querySelector('.suggestedRoutes');\n    const directionsPanel    = root.querySelector('.directionsPanel');\n\n    \/\/ Disable until API loaded\n    btnCalc.disabled = true;\n    btnLoc.disabled = true;\n\n    let map, directionsService, directionsRenderer, stepMarker, startMarker, endMarker, infoWindow;\n\n    const iconImg = \"https:\\\/\\\/premier-roofing.com\\\/wp-content\\\/uploads\\\/2024\\\/08\\\/mappin.png\";\n    const maneuverIcons = {\n      \"turn-left\":  \"https:\\\/\\\/premier-roofing.com\\\/wp-content\\\/uploads\\\/2024\\\/09\\\/left-e1726778020634.png\",\n      \"turn-right\": \"https:\\\/\\\/premier-roofing.com\\\/wp-content\\\/uploads\\\/2024\\\/09\\\/right-e1726777990418.png\",\n      \"default\":    \"https:\\\/\\\/premier-roofing.com\\\/wp-content\\\/uploads\\\/2024\\\/09\\\/straight.png\"    };\n\n    const predefinedLocations = [{\"lat\":35.1598705,\"lng\":-80.7421151,\"icon\":null,\"imageUrl\":\"https:\\\/\\\/premier-roofing.com\\\/wp-content\\\/uploads\\\/2023\\\/08\\\/CHA-Building-Photo-1200x675.jpg\",\"title\":\"7504 Independence Blvd, #111. Charlotte, NC 28227\",\"name\":\"Premier Roofing Charlotte\",\"phone\":\"704-601-7663\",\"phonelink\":\"tel:+17046017663\",\"url\":\"https:\\\/\\\/premier-roofing.com\\\/locations\\\/charlotte-roofing\\\/\",\"description\":\"Premier Roofing is your top-rated Charlotte roofer for the restoration roofing needs of homeowners, business owners, and multi-family communities.<br\\\/><br\\\/><a target=\\\\\\\"_blank\\\\\\\" href=\\\\\\\"https:\\\/\\\/www.google.com\\\/maps\\\/dir\\\/?api=1&destination=7504 Independence Blvd, #111. Charlotte, NC 28227, United States\\\\\\\">Get Directions<\\\/a>\"},{\"lat\":38.8385179,\"lng\":-104.7631209,\"icon\":null,\"imageUrl\":\"https:\\\/\\\/premier-roofing.com\\\/wp-content\\\/uploads\\\/2023\\\/10\\\/COS-Building-Photo2-1200x675.jpg\",\"title\":\"406 Auburn Drive Colorado Springs, CO 80909\",\"name\":\"Premier Roofing Colorado\",\"phone\":\"719-637-7663\",\"phonelink\":\"tel:+17196377663\",\"url\":\"https:\\\/\\\/premier-roofing.com\\\/locations\\\/colorado-springs-roofing\\\/\",\"description\":\"Premier Roofing is your top-rated Colorado roofer for the restoration roofing needs of homeowners, business owners, and multi-family communities.<br\\\/><br\\\/><a target=\\\\\\\"_blank\\\\\\\" href=\\\\\\\"https:\\\/\\\/www.google.com\\\/maps\\\/dir\\\/?api=1&destination=406 Auburn Drive Colorado Springs, CO 80909, United States\\\\\\\">Get Directions<\\\/a>\"},{\"lat\":32.8518336,\"lng\":-97.1652811,\"icon\":null,\"imageUrl\":\"https:\\\/\\\/premier-roofing.com\\\/wp-content\\\/uploads\\\/2024\\\/01\\\/Dallas-City.png\",\"title\":\"315 Harwood Road Bedford, TX 76021\",\"name\":\"Premier Roofing Dallas\",\"phone\":\"214-390-7663\",\"phonelink\":\"tel:+12143907663\",\"url\":\"https:\\\/\\\/premier-roofing.com\\\/locations\\\/dallas-roofing\\\/\",\"description\":\"Premier Roofing is your top-rated Dallas roofer for the restoration roofing needs of homeowners, business owners, and multi-family communities.<br\\\/><br\\\/><a target=\\\\\\\"_blank\\\\\\\" href=\\\\\\\"https:\\\/\\\/www.google.com\\\/maps\\\/dir\\\/?api=1&destination=315 Harwood Road Bedford, TX 76021, United States\\\\\\\">Get Directions<\\\/a>\"},{\"lat\":39.7291469,\"lng\":-105.0190749,\"icon\":null,\"imageUrl\":\"https:\\\/\\\/premier-roofing.com\\\/wp-content\\\/uploads\\\/2023\\\/11\\\/DEN-Building-Photo-3-1200x675.jpg\",\"title\":\"2570 W. 8th Avenue Denver, CO 80204\",\"name\":\"Premier Roofing Denver\",\"phone\":\"303-233-7663\",\"phonelink\":\"tel:+13032337663\",\"url\":\"https:\\\/\\\/premier-roofing.com\\\/locations\\\/denver-roofing\\\/\",\"description\":\"Premier Roofing is your top-rated Denver roofer for the restoration roofing needs of homeowners, business owners, and multi-family communities.<br\\\/><br\\\/><a target=\\\\\\\"_blank\\\\\\\" href=\\\\\\\"https:\\\/\\\/www.google.com\\\/maps\\\/dir\\\/?api=1&destination=2570 W. 8th Avenue Denver, CO 80204, United States\\\\\\\">Get Directions<\\\/a>\"},{\"lat\":41.6667795,\"lng\":-93.6828564,\"icon\":null,\"imageUrl\":\"https:\\\/\\\/premier-roofing.com\\\/wp-content\\\/uploads\\\/2023\\\/08\\\/DMO-Building-Photo-1200x675.jpg\",\"title\":\"5501 NW Beaver Drive Johnston, IA 50131\",\"name\":\"Premier Roofing Des Moines\",\"phone\":\"515-276-7663\",\"phonelink\":\"tel:+15152767663\",\"url\":\"https:\\\/\\\/premier-roofing.com\\\/locations\\\/des-moines-roofing\\\/\",\"description\":\"Premier Roofing is your top-rated Des Moines roofer for the restoration roofing needs of homeowners, business owners, and multi-family communities.<br\\\/><br\\\/><a target=\\\\\\\"_blank\\\\\\\" href=\\\\\\\"https:\\\/\\\/www.google.com\\\/maps\\\/dir\\\/?api=1&destination=5501 NW Beaver Drive Johnston, IA 50131, United States\\\\\\\">Get Directions<\\\/a>\"},{\"lat\":40.5804649,\"lng\":-105.0180739,\"icon\":null,\"imageUrl\":\"https:\\\/\\\/premier-roofing.com\\\/wp-content\\\/uploads\\\/2023\\\/08\\\/FCO-Building-Photo-1200x675.jpg\",\"title\":\"3201 E. Mulberry St. Fort Collins, CO 80524\",\"name\":\"Premier Roofing Fort Collins\",\"phone\":\"970-484-7663\",\"phonelink\":\"tel:+19704847663\",\"url\":\"https:\\\/\\\/premier-roofing.com\\\/locations\\\/fort-collins-roofing\\\/\",\"description\":\"Premier Roofing is your top-rated Fort Collins roofer for the restoration roofing needs of homeowners, business owners, and multi-family communities.<br\\\/><br\\\/><a target=\\\\\\\"_blank\\\\\\\" href=\\\\\\\"https:\\\/\\\/www.google.com\\\/maps\\\/dir\\\/?api=1&destination=3201 E. Mulberry St. Fort Collins, CO 80524, United States\\\\\\\">Get Directions<\\\/a>\"},{\"lat\":38.9426729,\"lng\":-94.5832157,\"icon\":null,\"imageUrl\":\"https:\\\/\\\/premier-roofing.com\\\/wp-content\\\/uploads\\\/2023\\\/08\\\/KCI-Building-Photo-1200x675.jpg\",\"title\":\"10200 Holmes Rd Kansas City, MO 64131\",\"name\":\"Premier Roofing Kansas City\",\"phone\":\"816-254-7663\",\"phonelink\":\"tel:+18162547663\",\"url\":\"https:\\\/\\\/premier-roofing.com\\\/locations\\\/kansas-city-roofing\\\/\",\"description\":\"Premier Roofing is your top-rated Kansas City roofer for the restoration roofing needs of homeowners, business owners, and multi-family communities.<br\\\/><br\\\/><a target=\\\\\\\"_blank\\\\\\\" href=\\\\\\\"https:\\\/\\\/www.google.com\\\/maps\\\/dir\\\/?api=1&destination=10200 Holmes Rd Kansas City, MO 64131, United States\\\\\\\">Get Directions<\\\/a>\"},{\"lat\":44.8588788,\"lng\":-93.3822571,\"icon\":null,\"imageUrl\":\"https:\\\/\\\/premier-roofing.com\\\/wp-content\\\/uploads\\\/2023\\\/11\\\/MIN-Building-Photo-2-1200x675.jpg\",\"title\":\"5929 Baker Rd #450 Minnetonka, MN 55345\",\"name\":\"Premier Roofing Minneapolis\",\"phone\":\"612-445-7663\",\"phonelink\":\"tel:+16124457663\",\"url\":\"https:\\\/\\\/premier-roofing.com\\\/locations\\\/minneapolis-roofing\\\/\",\"description\":\"Premier Roofing is your top-rated Minneapolis roofer for the restoration roofing needs of homeowners, business owners, and multi-family communities.<br\\\/><br\\\/><a target=\\\\\\\"_blank\\\\\\\" href=\\\\\\\"https:\\\/\\\/www.google.com\\\/maps\\\/dir\\\/?api=1&destination=5929 Baker Rd #450 Minnetonka, MN 55345, United States\\\\\\\">Get Directions<\\\/a>\"},{\"lat\":41.272304,\"lng\":-95.932632,\"icon\":null,\"imageUrl\":\"https:\\\/\\\/premier-roofing.com\\\/wp-content\\\/uploads\\\/2023\\\/08\\\/OMA-Building-Photo-1200x675.jpg\",\"title\":\"1111 N. 13th Street #101 Omaha, NE 68102, OK 73134\",\"name\":\"Premier Roofing Omaha\",\"phone\":\"402-778-7663\",\"phonelink\":\"tel:+14027787663\",\"url\":\"https:\\\/\\\/premier-roofing.com\\\/locations\\\/omaha-roofing\\\/\",\"description\":\"Premier Roofing is your top-rated Omaha roofer for the restoration roofing needs of homeowners, business owners, and multi-family communities.<br\\\/><br\\\/><a target=\\\\\\\"_blank\\\\\\\" href=\\\\\\\"https:\\\/\\\/www.google.com\\\/maps\\\/dir\\\/?api=1&destination=1111 N. 13th Street #101 Omaha, NE 68102, United States\\\\\\\">Get Directions<\\\/a>\"},{\"lat\":35.816289,\"lng\":-78.8140506,\"icon\":null,\"imageUrl\":\"https:\\\/\\\/premier-roofing.com\\\/wp-content\\\/uploads\\\/2023\\\/08\\\/RAL-Building-Photo-1200x675.jpg\",\"title\":\"15000 Weston Pkwy #117 Cary, NC 27513\",\"name\":\"Premier Roofing Raleigh\",\"phone\":\"919-752-7663\",\"phonelink\":\"tel:+19197527663\",\"url\":\"https:\\\/\\\/premier-roofing.com\\\/locations\\\/raleigh-roofing\\\/\",\"description\":\"Premier Roofing is your top-rated Raleigh roofer for the restoration roofing needs of homeowners, business owners, and multi-family communities.<br\\\/><br\\\/><a target=\\\\\\\"_blank\\\\\\\" href=\\\\\\\"https:\\\/\\\/www.google.com\\\/maps\\\/dir\\\/?api=1&destination=15000 Weston Pkwy #117 Cary, NC 27513, United States\\\\\\\">Get Directions<\\\/a>\"},{\"lat\":38.56118,\"lng\":-90.2988779,\"icon\":null,\"imageUrl\":\"https:\\\/\\\/premier-roofing.com\\\/wp-content\\\/uploads\\\/2023\\\/08\\\/STL-Building-Photo-1200x675.jpg\",\"title\":\"11406 Gravois Rd. St. Louis, MO 63126\",\"name\":\"Premier Roofing St. Louis\",\"phone\":\"314-833-7663\",\"phonelink\":\"tel:+13148337663\",\"url\":\"https:\\\/\\\/premier-roofing.com\\\/locations\\\/st-louis-roofing\\\/\",\"description\":\"Premier Roofing is your top-rated St. Louis roofer for the restoration roofing needs of homeowners, business owners, and multi-family communities.<br\\\/><br\\\/><a target=\\\\\\\"_blank\\\\\\\" href=\\\\\\\"https:\\\/\\\/www.google.com\\\/maps\\\/dir\\\/?api=1&destination=11406 Gravois Rd, St. Louis, MO 63126, United States\\\\\\\">Get Directions<\\\/a>\"},{\"lat\":37.744838,\"lng\":-97.244755,\"icon\":null,\"imageUrl\":\"https:\\\/\\\/premier-roofing.com\\\/wp-content\\\/uploads\\\/2023\\\/08\\\/WIC-Building-Photo-1200x675.jpg\",\"title\":\"8847 W Monroe Cir #300 Wichita, KS 67209\",\"name\":\"Premier Roofing Wichita\",\"phone\":\"316-710-7663\",\"phonelink\":\"tel:+13167107663\",\"url\":\"https:\\\/\\\/premier-roofing.com\\\/locations\\\/wichita-roofing\\\/\",\"description\":\"Premier Roofing is your top-rated Wichita roofer for the restoration roofing needs of homeowners, business owners, and multi-family communities.<br\\\/><br\\\/><a target=\\\\\\\"_blank\\\\\\\" href=\\\\\\\"https:\\\/\\\/www.google.com\\\/maps\\\/dir\\\/?api=1&destination=8847 W Monroe Cir #300 Wichita, KS 67209, United States\\\\\\\">Get Directions<\\\/a>\"}];\n\n    function openSlider(){\n      sliderEl.classList.add('open');\n    }\n    function closeSlider(){\n      sliderEl.classList.remove('open');\n    }\n\n    function getManeuverIcon(maneuver){\n      return maneuverIcons[maneuver] || maneuverIcons.default;\n    }\n\n    function addPredefinedLocations(){\n      predefinedLocations.forEach(location => {\n        const marker = new google.maps.Marker({\n          position: { lat: Number(location.lat), lng: Number(location.lng) },\n          map,\n          title: location.title || '',\n          icon: {\n            url: iconImg,\n            scaledSize: new google.maps.Size(40, 40)\n          }\n        });\n\n        const infoContent = `\n          <div style=\"max-width: 650px;\">\n            <center><img decoding=\"async\" src=\"${location.imageUrl}\" alt=\"${location.title}\" style=\"width: 50%; height: auto; border-radius: 5px;\"><\/center>\n            <h4 style=\"color: #0082CA;font-size: 16px;font-family: arial;text-transform: uppercase;font-weight: bold;\">\n              <a href=\"${location.url}\">${location.name}<\/a>\n            <\/h4>\n            <h3>${location.title}<\/h3>\n            <label><a href=\"${location.phonelink}\" target=\"_blank\" rel=\"noopener\">${location.phone}<\/a><\/label>\n            <p style=\"margin: 10px 0 0;\">${location.description}<\/p>\n          <\/div>\n        `;\n\n        marker.addListener('click', function() {\n          infoWindow.setContent(infoContent);\n          infoWindow.open(map, marker);\n        });\n      });\n    }\n\n    function displaySuggestedRoutes(routes, fullResult){\n      suggestedRoutesDiv.innerHTML = '<div class=\"bgclass\"><label>Suggested routes:<\/label><\/div>';\n\n      routes.forEach((route, index) => {\n        const distance = route.legs?.[0]?.distance?.text || '';\n        const duration = route.legs?.[0]?.duration?.text || '';\n        const summary  = route.summary || '';\n\n        const routeOption = document.createElement('div');\n        routeOption.className = 'route-option';\n        routeOption.textContent = `Route ${index + 1}: ${summary} - ${distance}, about ${duration}`;\n\n        routeOption.addEventListener('click', () => {\n          directionsRenderer.setDirections(fullResult);\n          directionsRenderer.setRouteIndex(index);\n\n          const leg = fullResult.routes[index]?.legs?.[0];\n          if (leg) displayDirections(leg);\n\n          const endLocation = leg?.end_location;\n          if (endLocation) {\n            if (endMarker) endMarker.setMap(null);\n            endMarker = new google.maps.Marker({\n              position: endLocation,\n              map,\n              icon: { url: iconImg, scaledSize: new google.maps.Size(40, 40) },\n              title: \"Destination\"\n            });\n          }\n        });\n\n        suggestedRoutesDiv.appendChild(routeOption);\n      });\n    }\n\n    function displayDirections(leg){\n      directionsPanel.innerHTML = '';\n\n      if (!stepMarker) {\n        stepMarker = new google.maps.Marker({\n          map,\n          icon: {\n            url: 'https:\/\/maps.google.com\/mapfiles\/kml\/paddle\/blu-circle.png',\n            scaledSize: new google.maps.Size(30, 30)\n          }\n        });\n      }\n\n      leg.steps.forEach((step) => {\n        const directionStep = document.createElement('div');\n        directionStep.className = 'direction-step';\n\n        const icon = document.createElement('img');\n        icon.className = 'direction-icon';\n        icon.src = getManeuverIcon(step.maneuver);\n        directionStep.appendChild(icon);\n\n        const directionText = document.createElement('div');\n        directionText.className = 'direction-text';\n        directionText.innerHTML = step.instructions;\n        directionStep.appendChild(directionText);\n\n        const distance = document.createElement('div');\n        distance.className = 'distance';\n        distance.textContent = step.distance?.text || '';\n        directionStep.appendChild(distance);\n\n        directionStep.addEventListener('click', () => {\n          map.panTo(step.start_location);\n          map.setZoom(8);\n          stepMarker.setPosition(step.start_location);\n          stepMarker.setMap(map);\n        });\n\n        directionsPanel.appendChild(directionStep);\n      });\n    }\n\n    function calculateRoute(){\n      const start = (startInput.value || '').trim();\n      const end   = (endInput.value || '').trim();\n\n      if (!start || !end) { alert(\"Please fill both fields.\"); return; }\n\n      directionsService.route({\n        origin: start,\n        destination: end,\n        travelMode: google.maps.TravelMode.DRIVING,\n        provideRouteAlternatives: true\n      }, function(result, status){\n        if (status === google.maps.DirectionsStatus.OK) {\n          directionsRenderer.setDirections(result);\n\n          const routes = result.routes || [];\n          if (routes.length) {\n            displaySuggestedRoutes(routes, result);\n\n            const leg0 = routes[0]?.legs?.[0];\n            if (leg0) displayDirections(leg0);\n\n            \/\/ Markers\n            if (startMarker) startMarker.setMap(null);\n            if (endMarker) endMarker.setMap(null);\n\n            if (leg0?.start_location) {\n              startMarker = new google.maps.Marker({\n                position: leg0.start_location,\n                map,\n                icon: { url: 'https:\/\/maps.google.com\/mapfiles\/kml\/paddle\/grn-circle.png', scaledSize: new google.maps.Size(40, 40) },\n                title: \"Start Location\"\n              });\n            }\n\n            if (leg0?.end_location) {\n              endMarker = new google.maps.Marker({\n                position: leg0.end_location,\n                map,\n                icon: { url: iconImg, scaledSize: new google.maps.Size(40, 40) },\n                title: \"Destination\"\n              });\n            }\n          }\n\n          openSlider();\n        } else {\n          alert(\"Directions request failed due to \" + status);\n        }\n      });\n    }\n\n    function initMapInstance(){\n      map = new google.maps.Map(mapEl, {\n        center: { lat: 39.8283, lng: -98.5795 },\n        zoom: 5\n      });\n\n      directionsService = new google.maps.DirectionsService();\n      directionsRenderer = new google.maps.DirectionsRenderer({\n        map,\n        suppressMarkers: true,\n        polylineOptions: { strokeColor: 'blue', strokeWeight: 5 }\n      });\n\n      infoWindow = new google.maps.InfoWindow();\n\n      addPredefinedLocations();\n\n      btnCalc.disabled = false;\n      btnLoc.disabled = false;\n    }\n\n    function loadGoogleMapsOnce(){\n      if (window.__googleMapsLoading) return window.__googleMapsLoading;\n\n      window.__googleMapsLoading = new Promise((resolve, reject) => {\n        if (window.google && window.google.maps) { resolve(); return; }\n        const s = document.createElement('script');\n        s.src = \"https:\/\/maps.googleapis.com\/maps\/api\/js?key=AIzaSyDd5Y06dwvDqh_hzZVP_KBZ-gGfCwvEGQM\";\n        s.async = true;\n        s.onload = resolve;\n        s.onerror = reject;\n        document.head.appendChild(s);\n      });\n\n      return window.__googleMapsLoading;\n    }\n\n    closeBtn.addEventListener('click', closeSlider);\n    btnCalc.addEventListener('click', calculateRoute);\n\n    btnLoc.addEventListener('click', function(){\n      if (!navigator.geolocation) { alert(\"Geolocation is not supported by this browser.\"); return; }\n      navigator.geolocation.getCurrentPosition(function(pos){\n        const geocoder = new google.maps.Geocoder();\n        const latlng = { lat: pos.coords.latitude, lng: pos.coords.longitude };\n        geocoder.geocode({ location: latlng }, function(results, status){\n          if (status === 'OK' && results[0]) startInput.value = results[0].formatted_address;\n          else alert('Geocoder failed due to: ' + status);\n        });\n      }, function(err){\n        switch(err.code){\n          case err.PERMISSION_DENIED: alert(\"User denied the request for Geolocation.\"); break;\n          case err.POSITION_UNAVAILABLE: alert(\"Location information is unavailable.\"); break;\n          case err.TIMEOUT: alert(\"The request to get user location timed out.\"); break;\n          default: alert(\"An unknown error occurred.\"); break;\n        }\n      });\n    });\n\n    loadGoogleMapsOnce().then(initMapInstance).catch(() => console.error('Google Maps failed to load'));\n  })();\n  <\/script>\n\n  <\/div><\/div>\n<\/div><\/div><div class=\"fusion-fullwidth fullwidth-box fusion-builder-row-3 fusion-flex-container has-pattern-background has-mask-background nonhundred-percent-fullwidth non-hundred-percent-height-scrolling ft-home-content-testimonials ft-testimonials--slider\" style=\"--awb-border-radius-top-left:0px;--awb-border-radius-top-right:0px;--awb-border-radius-bottom-right:0px;--awb-border-radius-bottom-left:0px;--awb-padding-top:100px;--awb-padding-right:0px;--awb-padding-bottom:100px;--awb-padding-left:0px;--awb-padding-top-small:0px;--awb-padding-right-small:0px;--awb-padding-bottom-small:0px;--awb-padding-left-small:0px;--awb-background-color:#002d5d;--awb-flex-wrap:wrap;\" ><div class=\"fusion-builder-row fusion-row fusion-flex-align-items-center fusion-flex-content-wrap\" style=\"max-width:calc( 1200px + 80px );margin-left: calc(-80px \/ 2 );margin-right: calc(-80px \/ 2 );\"><div class=\"fusion-layout-column fusion_builder_column fusion-builder-column-3 fusion_builder_column_1_2 1_2 fusion-flex-column fusion-flex-align-self-stretch\" style=\"--awb-padding-top:70px;--awb-padding-bottom:70px;--awb-padding-top-small:50px;--awb-padding-right-small:20px;--awb-padding-bottom-small:50px;--awb-padding-left-small:20px;--awb-bg-size:cover;--awb-width-large:50%;--awb-margin-top-large:0px;--awb-spacing-right-large:40px;--awb-margin-bottom-large:0px;--awb-spacing-left-large:40px;--awb-width-medium:50%;--awb-order-medium:0;--awb-spacing-right-medium:40px;--awb-spacing-left-medium:40px;--awb-width-small:100%;--awb-order-small:0;--awb-spacing-right-small:40px;--awb-spacing-left-small:40px;\"><div class=\"fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-center fusion-content-layout-column\"><div class=\"fusion-title title fusion-title-14 fusion-sep-none fusion-title-text fusion-title-size-two\" style=\"--awb-text-color:#ffffff;--awb-margin-top-small:10px;--awb-margin-right-small:0px;--awb-margin-bottom-small:10px;--awb-margin-left-small:0px;--awb-font-size:clamp(32px,3.75vw,48px);\"><h2 class=\"fusion-title-heading title-heading-left awb-responsive-type__disable\" style=\"margin:0;text-transform:capitalize;font-size:1em;\">What our <span style=\"color: #fec80d;\">customers<\/span> are saying about our Roofing services<\/h2><\/div><div class=\"fusion-text fusion-text-14\" style=\"--awb-font-size:18px;--awb-line-height:1.5;--awb-text-color:#ffffff;\"><p>Homeowners across the country choose Premier Roofing services for quality they can see and service they can trust. With thousands of successful projects and countless 5-star reviews, our reputation speaks for itself. From quick repairs to full roof replacements, customers praise our professionalism, honesty, and lasting results.<\/p>\n<\/div><div ><a class=\"fusion-button button-flat fusion-button-default-size button-custom fusion-button-default button-3 fusion-button-default-span fusion-button-default-type\" style=\"--button_accent_color:var(--awb-color7);--button_border_color:var(--awb-color7);--button_accent_hover_color:var(--awb-color4);--button_border_hover_color:var(--awb-color3);--button_gradient_top_color:#002d5d;--button_gradient_bottom_color:#002d5d;--button_gradient_top_color_hover:var(--awb-color3);--button_gradient_bottom_color_hover:var(--awb-color3);--button_font_size:18px;--button_margin-top:30px;\" target=\"_self\" href=\"https:\/\/share.google\/BYxp16mr2MWO7pw5r\" id=\"ft-dlpc20\"><span class=\"fusion-button-text awb-button__text awb-button__text--default\">See All Reviews <\/span><i class=\"fa-angle-right fas awb-button__icon awb-button__icon--default button-icon-right\" aria-hidden=\"true\"><\/i><\/a><\/div><\/div><\/div><div class=\"fusion-layout-column fusion_builder_column fusion-builder-column-4 fusion_builder_column_1_2 1_2 fusion-flex-column fusion-flex-align-self-stretch ft-testimonials--slider--col\" style=\"--awb-padding-top:70px;--awb-padding-right:30px;--awb-padding-bottom:70px;--awb-padding-left:30px;--awb-padding-top-small:50px;--awb-padding-right-small:20px;--awb-padding-bottom-small:50px;--awb-padding-left-small:20px;--awb-overflow:hidden;--awb-bg-color:#0082ca;--awb-bg-color-hover:#0082ca;--awb-bg-size:cover;--awb-border-radius:50px 50px 50px 50px;--awb-width-large:50%;--awb-margin-top-large:0px;--awb-spacing-right-large:40px;--awb-margin-bottom-large:0px;--awb-spacing-left-large:40px;--awb-width-medium:50%;--awb-order-medium:0;--awb-spacing-right-medium:40px;--awb-spacing-left-medium:40px;--awb-width-small:100%;--awb-order-small:0;--awb-spacing-right-small:40px;--awb-spacing-left-small:40px;\"><div class=\"fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-center fusion-content-layout-column\"><div class=\"fusion-testimonials clean awb-speech-bubble-show fusion-testimonials-1\" style=\"--awb-textcolor:var(--awb-color6);--awb-backgroundcolor:rgba(255,255,255,0);--awb-testimonial-border-style:solid;--awb-testimonial-border-color:var(--awb-color3);--awb-navigation-size:12px;--awb-border-top-left-radius:0px;--awb-border-top-right-radius:0px;--awb-border-bottom-left-radius:0px;--awb-border-bottom-right-radius:0px;--testimonial-border-width-top:0px;--testimonial-border-width-right:0px;--testimonial-border-width-bottom:0px;--testimonial-border-width-left:0px;\" data-random=\"0\" data-speed=\"4000\"><div class=\"reviews\"><div class=\"review active-testimonial avatar-above no-avatar\"><blockquote class=\"testimonials-shortcode-blockquote\"><div class=\"awb-quote\"><div class=\"awb-quote-content\">\n<p>Premier Roofing did an excellent job replacing my roof after hail damage. I worked with Kyler, who was very responsive and helpful throughout the process. The demo and replacement were completed in a single day, which was especially appreciated given Colorado\u2019s unpredictable weather. There was minor gutter and stucco damage during construction, but Premier quickly replaced and painted the gutters to match, and the stucco repair was fully reimbursed. Overall, I\u2019m very satisfied and would use Premier Roofing again.<\/p>\n<\/div><\/div><\/blockquote><div class=\"author\"><span class=\"company-name\"><strong>Mark Henkel<\/strong>, <span>Denver, CO<\/span><\/span><\/div><\/div><div class=\"review avatar-above no-avatar\"><blockquote class=\"testimonials-shortcode-blockquote\"><div class=\"awb-quote\"><div class=\"awb-quote-content\">\n<p>We had our roof replaced after a hailstorm and had a great experience with Premier Roofing. Eric Franco Villa inspected the roof using a drone and clearly explained the needed repairs. As first-time homeowners, we really appreciated how thoroughly he walked us through the process and kept communication clear and timely. He was always punctual and responsive. There were a few minor installation issues, but they were resolved within two days. We\u2019re very happy with the results and highly recommend Eric and Premier Roofing.<\/p>\n<\/div><\/div><\/blockquote><div class=\"author\"><span class=\"company-name\"><strong>Albert Hochevar<\/strong>, <span>Atlanta, GA<\/span><\/span><\/div><\/div><div class=\"review avatar-above no-avatar\"><blockquote class=\"testimonials-shortcode-blockquote\"><div class=\"awb-quote\"><div class=\"awb-quote-content\">\n<p>Premier replaced my hail-damaged roof in NE Minneapolis last fall. The rep, Brandon Price, inspected my roof and discovered damage that I was not aware of and handled the claim with my insurance company. He provided me with great service and communicated with me every step of the way. The roofing crew was very experienced and I am very happy with the results. I would recommend Premier Roofing to anyone in need of roofing services.<\/p>\n<\/div><\/div><\/blockquote><div class=\"author\"><span class=\"company-name\"><strong>Rob D<\/strong>, <span>Minneapolis, MN<\/span><\/span><\/div><\/div><\/div><div class=\"testimonial-pagination\" id=\"fusion-testimonials-1\"><a href=\"#\" aria-label=\"Testimonial Pagination\"  class=\"activeSlide\"><\/a><a href=\"#\" aria-label=\"Testimonial Pagination\" ><\/a><a href=\"#\" aria-label=\"Testimonial Pagination\" ><\/a><\/div><\/div><\/div><\/div><\/div><\/div><div class=\"fusion-fullwidth fullwidth-box fusion-builder-row-4 fusion-flex-container has-pattern-background has-mask-background fusion-parallax-none nonhundred-percent-fullwidth non-hundred-percent-height-scrolling ft-map-section\" style=\"--awb-background-position:center top;--awb-background-position-small:center center;--awb-border-radius-top-left:0px;--awb-border-radius-top-right:0px;--awb-border-radius-bottom-right:0px;--awb-border-radius-bottom-left:0px;--awb-padding-top:100px;--awb-padding-right:0px;--awb-padding-bottom:100px;--awb-padding-left:0px;--awb-padding-top-small:50px;--awb-padding-right-small:20px;--awb-padding-bottom-small:50px;--awb-padding-left-small:20px;--awb-margin-bottom:0px;--awb-background-color:#002d5d;--awb-background-image:url(&quot;https:\/\/premier-roofing.com\/wp-content\/uploads\/2025\/11\/Service-Area-1.png&quot;);--awb-background-image-small:url(&#039;https:\/\/premier-roofing.com\/wp-content\/uploads\/2025\/11\/Service-Area-m-1.png&#039;);--awb-background-size:cover;--awb-background-size-small:cover;--awb-flex-wrap:wrap;\" ><div class=\"fusion-builder-row fusion-row fusion-flex-align-items-center fusion-flex-content-wrap\" style=\"max-width:calc( 1200px + 0px );margin-left: calc(-0px \/ 2 );margin-right: calc(-0px \/ 2 );\"><div class=\"fusion-layout-column fusion_builder_column fusion-builder-column-5 fusion_builder_column_1_2 1_2 fusion-flex-column fusion-flex-align-self-stretch map-wraper\" style=\"--awb-padding-top:0px;--awb-padding-right:30px;--awb-padding-bottom:0px;--awb-padding-left:30px;--awb-padding-right-small:0px;--awb-padding-left-small:0px;--awb-overflow:hidden;--awb-bg-size:cover;--awb-width-large:50%;--awb-margin-top-large:0px;--awb-spacing-right-large:0px;--awb-margin-bottom-large:0px;--awb-spacing-left-large:0px;--awb-width-medium:50%;--awb-order-medium:0;--awb-spacing-right-medium:0px;--awb-spacing-left-medium:0px;--awb-width-small:100%;--awb-order-small:2;--awb-spacing-right-small:0px;--awb-spacing-left-small:0px;\" data-scroll-devices=\"small-visibility,medium-visibility,large-visibility\"><div class=\"fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-center fusion-content-layout-column\"><div class=\"ft-map-container\">\n\n  <style>\n    \/* \u2705 \u0421\u043e\u0445\u0440\u0430\u043d\u044f\u0435\u043c \u0432\u043d\u0435\u0448\u043d\u0438\u0439 \u0432\u0438\u0434, \u043d\u043e \u0443\u0431\u0438\u0440\u0430\u0435\u043c \u043b\u043e\u043c\u0430\u044e\u0449\u0435\u0435 margin-top:-500px.\n       \u0422\u0435\u043f\u0435\u0440\u044c \u043a\u0430\u0440\u0442\u0430 \u0432\u0441\u0435\u0433\u0434\u0430 \u043d\u043e\u0440\u043c\u0430\u043b\u044c\u043d\u0430\u044f, \u0430 \u0441\u043b\u0430\u0439\u0434\u0435\u0440 \u043d\u0430\u043a\u043b\u0430\u0434\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u043f\u043e\u0432\u0435\u0440\u0445. *\/\n\n    #mapcode-2 .mapSection{\n      height:500px;\n      width:100%;\n      position:relative;\n      overflow:hidden; \/* \u0432\u0430\u0436\u043d\u043e \u0447\u0442\u043e\u0431\u044b \u0441\u043b\u0430\u0439\u0434\u0435\u0440 \u043d\u0435 \u043b\u043e\u043c\u0430\u043b \u0441\u043e\u0441\u0435\u0434\u043d\u0438\u0435 \u0431\u043b\u043e\u043a\u0438 *\/\n    }\n\n    #mapcode-2 .mapCanvas{\n      height:500px;\n      width:100%;\n      position:absolute;\n      inset:0;\n      z-index:0;\n    }\n\n    \/* Slider *\/\n    #mapcode-2 .slider{\n      height:500px;\n      width:0;\n      position:absolute;\n      top:0;\n      left:0;\n      z-index:2;\n      background-color:#d8d8d8;\n      overflow-x:hidden;\n      overflow-y:unset;\n      transition:0.5s;\n      color:white;\n    }\n\n    #mapcode-2 .slider.open{ width:350px; }\n\n    #mapcode-2 .closebtn{\n      float:right;\n      margin:0 20px 0 0;\n      font-size:36px;\n      color:#000;\n      text-decoration:none;\n      cursor:pointer;\n    }\n\n    #mapcode-2 .slider-content{ padding:20px; }\n\n    #mapcode-2 .directionsForm{ margin-bottom:10px; }\n    #mapcode-2 .directionsForm h2{ font-size:25px; margin-bottom:0; margin-top:10px; color:#000; }\n\n    #mapcode-2 ::placeholder{ color:#9b9b9b !important; opacity:1; }\n    #mapcode-2 ::-ms-input-placeholder{ color:#9b9b9b !important; }\n\n    #mapcode-2 .mapSection .slider input[type=\"text\"]{\n      margin:10px 0;\n      padding:10px;\n      border-radius:3px;\n      width:100%;\n      height:32px;\n      color:#000;\n    }\n\n    #mapcode-2 .mapSection .slider button{\n      padding:10px;\n      margin-top:5px;\n      width:100%;\n      cursor:pointer;\n    }\n\n    #mapcode-2 .bgclass{\n      background-color:#f1f1f1;\n      margin-top:15px;\n      padding:10px;\n      font-weight:bold;\n      color:#000;\n      border-radius:8px 8px 0 0;\n    }\n\n    #mapcode-2 .suggestedRoutes{ font-family:arial; font-size:13px; }\n    #mapcode-2 .route-option{\n      cursor:pointer;\n      padding:3px 10px;\n      color:#000;\n      background-color:#f1f1f1;\n      transition:background-color 0.3s;\n    }\n    #mapcode-2 .route-option:hover{ background-color:#e0e0e0; }\n\n    #mapcode-2 .directionsPanel{ margin-top:15px; font-size:13px; font-family:arial; }\n    #mapcode-2 .direction-step{ display:flex; align-items:center; margin:5px 0; padding:5px; cursor:pointer; }\n    #mapcode-2 .direction-step:hover{ background-color:#f0f0f0; }\n    #mapcode-2 .direction-icon{ width:20px; height:20px; margin-right:10px; }\n    #mapcode-2 .direction-text{ flex-grow:1; color:#000; }\n    #mapcode-2 .distance{ color:gray; margin-left:10px; }\n\n  <\/style>\n\n  <div id=\"mapcode-2\" class=\"mapcode-wrap\">\n    <div class=\"mapSection\">\n\n      <div class=\"slider\">\n        <a class=\"closebtn\" aria-label=\"Close directions\">&times;<\/a>\n\n        <div class=\"slider-content\">\n          <div class=\"directionsForm\">\n            <h2>Get your route and directions<\/h2>\n            <input class=\"start\" type=\"text\" placeholder=\"Enter starting location\" \/>\n            <button class=\"useLocation\" type=\"button\">Use my location<\/button>\n            <input class=\"end\" type=\"text\" placeholder=\"Enter destination\" \/>\n            <button class=\"calc\" type=\"button\">Get Directions<\/button>\n          <\/div>\n\n          <div class=\"suggestedRoutes\"><\/div>\n          <div class=\"directionsPanel\"><\/div>\n        <\/div>\n      <\/div>\n\n      <div class=\"mapCanvas\"><\/div>\n    <\/div>\n  <\/div>\n\n  <script>\n  (function(){\n    const root = document.getElementById(\"mapcode-2\");\n    if (!root) return;\n\n    const mapEl = root.querySelector('.mapCanvas');\n    const sliderEl = root.querySelector('.slider');\n    const closeBtn = root.querySelector('.closebtn');\n\n    const startInput = root.querySelector('.start');\n    const endInput   = root.querySelector('.end');\n    const btnCalc    = root.querySelector('.calc');\n    const btnLoc     = root.querySelector('.useLocation');\n\n    const suggestedRoutesDiv = root.querySelector('.suggestedRoutes');\n    const directionsPanel    = root.querySelector('.directionsPanel');\n\n    \/\/ Disable until API loaded\n    btnCalc.disabled = true;\n    btnLoc.disabled = true;\n\n    let map, directionsService, directionsRenderer, stepMarker, startMarker, endMarker, infoWindow;\n\n    const iconImg = \"https:\\\/\\\/premier-roofing.com\\\/wp-content\\\/uploads\\\/2024\\\/08\\\/mappin.png\";\n    const maneuverIcons = {\n      \"turn-left\":  \"https:\\\/\\\/premier-roofing.com\\\/wp-content\\\/uploads\\\/2024\\\/09\\\/left-e1726778020634.png\",\n      \"turn-right\": \"https:\\\/\\\/premier-roofing.com\\\/wp-content\\\/uploads\\\/2024\\\/09\\\/right-e1726777990418.png\",\n      \"default\":    \"https:\\\/\\\/premier-roofing.com\\\/wp-content\\\/uploads\\\/2024\\\/09\\\/straight.png\"    };\n\n    const predefinedLocations = [{\"lat\":35.1598705,\"lng\":-80.7421151,\"icon\":null,\"imageUrl\":\"https:\\\/\\\/premier-roofing.com\\\/wp-content\\\/uploads\\\/2023\\\/08\\\/CHA-Building-Photo-1200x675.jpg\",\"title\":\"7504 Independence Blvd, #111. Charlotte, NC 28227\",\"name\":\"Premier Roofing Charlotte\",\"phone\":\"704-601-7663\",\"phonelink\":\"tel:+17046017663\",\"url\":\"https:\\\/\\\/premier-roofing.com\\\/locations\\\/charlotte-roofing\\\/\",\"description\":\"Premier Roofing is your top-rated Charlotte roofer for the restoration roofing needs of homeowners, business owners, and multi-family communities.<br\\\/><br\\\/><a target=\\\\\\\"_blank\\\\\\\" href=\\\\\\\"https:\\\/\\\/www.google.com\\\/maps\\\/dir\\\/?api=1&destination=7504 Independence Blvd, #111. Charlotte, NC 28227, United States\\\\\\\">Get Directions<\\\/a>\"},{\"lat\":38.8385179,\"lng\":-104.7631209,\"icon\":null,\"imageUrl\":\"https:\\\/\\\/premier-roofing.com\\\/wp-content\\\/uploads\\\/2023\\\/10\\\/COS-Building-Photo2-1200x675.jpg\",\"title\":\"406 Auburn Drive Colorado Springs, CO 80909\",\"name\":\"Premier Roofing Colorado\",\"phone\":\"719-637-7663\",\"phonelink\":\"tel:+17196377663\",\"url\":\"https:\\\/\\\/premier-roofing.com\\\/locations\\\/colorado-springs-roofing\\\/\",\"description\":\"Premier Roofing is your top-rated Colorado roofer for the restoration roofing needs of homeowners, business owners, and multi-family communities.<br\\\/><br\\\/><a target=\\\\\\\"_blank\\\\\\\" href=\\\\\\\"https:\\\/\\\/www.google.com\\\/maps\\\/dir\\\/?api=1&destination=406 Auburn Drive Colorado Springs, CO 80909, United States\\\\\\\">Get Directions<\\\/a>\"},{\"lat\":32.8518336,\"lng\":-97.1652811,\"icon\":null,\"imageUrl\":\"https:\\\/\\\/premier-roofing.com\\\/wp-content\\\/uploads\\\/2024\\\/01\\\/Dallas-City.png\",\"title\":\"315 Harwood Road Bedford, TX 76021\",\"name\":\"Premier Roofing Dallas\",\"phone\":\"214-390-7663\",\"phonelink\":\"tel:+12143907663\",\"url\":\"https:\\\/\\\/premier-roofing.com\\\/locations\\\/dallas-roofing\\\/\",\"description\":\"Premier Roofing is your top-rated Dallas roofer for the restoration roofing needs of homeowners, business owners, and multi-family communities.<br\\\/><br\\\/><a target=\\\\\\\"_blank\\\\\\\" href=\\\\\\\"https:\\\/\\\/www.google.com\\\/maps\\\/dir\\\/?api=1&destination=315 Harwood Road Bedford, TX 76021, United States\\\\\\\">Get Directions<\\\/a>\"},{\"lat\":39.7291469,\"lng\":-105.0190749,\"icon\":null,\"imageUrl\":\"https:\\\/\\\/premier-roofing.com\\\/wp-content\\\/uploads\\\/2023\\\/11\\\/DEN-Building-Photo-3-1200x675.jpg\",\"title\":\"2570 W. 8th Avenue Denver, CO 80204\",\"name\":\"Premier Roofing Denver\",\"phone\":\"303-233-7663\",\"phonelink\":\"tel:+13032337663\",\"url\":\"https:\\\/\\\/premier-roofing.com\\\/locations\\\/denver-roofing\\\/\",\"description\":\"Premier Roofing is your top-rated Denver roofer for the restoration roofing needs of homeowners, business owners, and multi-family communities.<br\\\/><br\\\/><a target=\\\\\\\"_blank\\\\\\\" href=\\\\\\\"https:\\\/\\\/www.google.com\\\/maps\\\/dir\\\/?api=1&destination=2570 W. 8th Avenue Denver, CO 80204, United States\\\\\\\">Get Directions<\\\/a>\"},{\"lat\":41.6667795,\"lng\":-93.6828564,\"icon\":null,\"imageUrl\":\"https:\\\/\\\/premier-roofing.com\\\/wp-content\\\/uploads\\\/2023\\\/08\\\/DMO-Building-Photo-1200x675.jpg\",\"title\":\"5501 NW Beaver Drive Johnston, IA 50131\",\"name\":\"Premier Roofing Des Moines\",\"phone\":\"515-276-7663\",\"phonelink\":\"tel:+15152767663\",\"url\":\"https:\\\/\\\/premier-roofing.com\\\/locations\\\/des-moines-roofing\\\/\",\"description\":\"Premier Roofing is your top-rated Des Moines roofer for the restoration roofing needs of homeowners, business owners, and multi-family communities.<br\\\/><br\\\/><a target=\\\\\\\"_blank\\\\\\\" href=\\\\\\\"https:\\\/\\\/www.google.com\\\/maps\\\/dir\\\/?api=1&destination=5501 NW Beaver Drive Johnston, IA 50131, United States\\\\\\\">Get Directions<\\\/a>\"},{\"lat\":40.5804649,\"lng\":-105.0180739,\"icon\":null,\"imageUrl\":\"https:\\\/\\\/premier-roofing.com\\\/wp-content\\\/uploads\\\/2023\\\/08\\\/FCO-Building-Photo-1200x675.jpg\",\"title\":\"3201 E. Mulberry St. Fort Collins, CO 80524\",\"name\":\"Premier Roofing Fort Collins\",\"phone\":\"970-484-7663\",\"phonelink\":\"tel:+19704847663\",\"url\":\"https:\\\/\\\/premier-roofing.com\\\/locations\\\/fort-collins-roofing\\\/\",\"description\":\"Premier Roofing is your top-rated Fort Collins roofer for the restoration roofing needs of homeowners, business owners, and multi-family communities.<br\\\/><br\\\/><a target=\\\\\\\"_blank\\\\\\\" href=\\\\\\\"https:\\\/\\\/www.google.com\\\/maps\\\/dir\\\/?api=1&destination=3201 E. Mulberry St. Fort Collins, CO 80524, United States\\\\\\\">Get Directions<\\\/a>\"},{\"lat\":38.9426729,\"lng\":-94.5832157,\"icon\":null,\"imageUrl\":\"https:\\\/\\\/premier-roofing.com\\\/wp-content\\\/uploads\\\/2023\\\/08\\\/KCI-Building-Photo-1200x675.jpg\",\"title\":\"10200 Holmes Rd Kansas City, MO 64131\",\"name\":\"Premier Roofing Kansas City\",\"phone\":\"816-254-7663\",\"phonelink\":\"tel:+18162547663\",\"url\":\"https:\\\/\\\/premier-roofing.com\\\/locations\\\/kansas-city-roofing\\\/\",\"description\":\"Premier Roofing is your top-rated Kansas City roofer for the restoration roofing needs of homeowners, business owners, and multi-family communities.<br\\\/><br\\\/><a target=\\\\\\\"_blank\\\\\\\" href=\\\\\\\"https:\\\/\\\/www.google.com\\\/maps\\\/dir\\\/?api=1&destination=10200 Holmes Rd Kansas City, MO 64131, United States\\\\\\\">Get Directions<\\\/a>\"},{\"lat\":44.8588788,\"lng\":-93.3822571,\"icon\":null,\"imageUrl\":\"https:\\\/\\\/premier-roofing.com\\\/wp-content\\\/uploads\\\/2023\\\/11\\\/MIN-Building-Photo-2-1200x675.jpg\",\"title\":\"5929 Baker Rd #450 Minnetonka, MN 55345\",\"name\":\"Premier Roofing Minneapolis\",\"phone\":\"612-445-7663\",\"phonelink\":\"tel:+16124457663\",\"url\":\"https:\\\/\\\/premier-roofing.com\\\/locations\\\/minneapolis-roofing\\\/\",\"description\":\"Premier Roofing is your top-rated Minneapolis roofer for the restoration roofing needs of homeowners, business owners, and multi-family communities.<br\\\/><br\\\/><a target=\\\\\\\"_blank\\\\\\\" href=\\\\\\\"https:\\\/\\\/www.google.com\\\/maps\\\/dir\\\/?api=1&destination=5929 Baker Rd #450 Minnetonka, MN 55345, United States\\\\\\\">Get Directions<\\\/a>\"},{\"lat\":41.272304,\"lng\":-95.932632,\"icon\":null,\"imageUrl\":\"https:\\\/\\\/premier-roofing.com\\\/wp-content\\\/uploads\\\/2023\\\/08\\\/OMA-Building-Photo-1200x675.jpg\",\"title\":\"1111 N. 13th Street #101 Omaha, NE 68102, OK 73134\",\"name\":\"Premier Roofing Omaha\",\"phone\":\"402-778-7663\",\"phonelink\":\"tel:+14027787663\",\"url\":\"https:\\\/\\\/premier-roofing.com\\\/locations\\\/omaha-roofing\\\/\",\"description\":\"Premier Roofing is your top-rated Omaha roofer for the restoration roofing needs of homeowners, business owners, and multi-family communities.<br\\\/><br\\\/><a target=\\\\\\\"_blank\\\\\\\" href=\\\\\\\"https:\\\/\\\/www.google.com\\\/maps\\\/dir\\\/?api=1&destination=1111 N. 13th Street #101 Omaha, NE 68102, United States\\\\\\\">Get Directions<\\\/a>\"},{\"lat\":35.816289,\"lng\":-78.8140506,\"icon\":null,\"imageUrl\":\"https:\\\/\\\/premier-roofing.com\\\/wp-content\\\/uploads\\\/2023\\\/08\\\/RAL-Building-Photo-1200x675.jpg\",\"title\":\"15000 Weston Pkwy #117 Cary, NC 27513\",\"name\":\"Premier Roofing Raleigh\",\"phone\":\"919-752-7663\",\"phonelink\":\"tel:+19197527663\",\"url\":\"https:\\\/\\\/premier-roofing.com\\\/locations\\\/raleigh-roofing\\\/\",\"description\":\"Premier Roofing is your top-rated Raleigh roofer for the restoration roofing needs of homeowners, business owners, and multi-family communities.<br\\\/><br\\\/><a target=\\\\\\\"_blank\\\\\\\" href=\\\\\\\"https:\\\/\\\/www.google.com\\\/maps\\\/dir\\\/?api=1&destination=15000 Weston Pkwy #117 Cary, NC 27513, United States\\\\\\\">Get Directions<\\\/a>\"},{\"lat\":38.56118,\"lng\":-90.2988779,\"icon\":null,\"imageUrl\":\"https:\\\/\\\/premier-roofing.com\\\/wp-content\\\/uploads\\\/2023\\\/08\\\/STL-Building-Photo-1200x675.jpg\",\"title\":\"11406 Gravois Rd. St. Louis, MO 63126\",\"name\":\"Premier Roofing St. Louis\",\"phone\":\"314-833-7663\",\"phonelink\":\"tel:+13148337663\",\"url\":\"https:\\\/\\\/premier-roofing.com\\\/locations\\\/st-louis-roofing\\\/\",\"description\":\"Premier Roofing is your top-rated St. Louis roofer for the restoration roofing needs of homeowners, business owners, and multi-family communities.<br\\\/><br\\\/><a target=\\\\\\\"_blank\\\\\\\" href=\\\\\\\"https:\\\/\\\/www.google.com\\\/maps\\\/dir\\\/?api=1&destination=11406 Gravois Rd, St. Louis, MO 63126, United States\\\\\\\">Get Directions<\\\/a>\"},{\"lat\":37.744838,\"lng\":-97.244755,\"icon\":null,\"imageUrl\":\"https:\\\/\\\/premier-roofing.com\\\/wp-content\\\/uploads\\\/2023\\\/08\\\/WIC-Building-Photo-1200x675.jpg\",\"title\":\"8847 W Monroe Cir #300 Wichita, KS 67209\",\"name\":\"Premier Roofing Wichita\",\"phone\":\"316-710-7663\",\"phonelink\":\"tel:+13167107663\",\"url\":\"https:\\\/\\\/premier-roofing.com\\\/locations\\\/wichita-roofing\\\/\",\"description\":\"Premier Roofing is your top-rated Wichita roofer for the restoration roofing needs of homeowners, business owners, and multi-family communities.<br\\\/><br\\\/><a target=\\\\\\\"_blank\\\\\\\" href=\\\\\\\"https:\\\/\\\/www.google.com\\\/maps\\\/dir\\\/?api=1&destination=8847 W Monroe Cir #300 Wichita, KS 67209, United States\\\\\\\">Get Directions<\\\/a>\"}];\n\n    function openSlider(){\n      sliderEl.classList.add('open');\n    }\n    function closeSlider(){\n      sliderEl.classList.remove('open');\n    }\n\n    function getManeuverIcon(maneuver){\n      return maneuverIcons[maneuver] || maneuverIcons.default;\n    }\n\n    function addPredefinedLocations(){\n      predefinedLocations.forEach(location => {\n        const marker = new google.maps.Marker({\n          position: { lat: Number(location.lat), lng: Number(location.lng) },\n          map,\n          title: location.title || '',\n          icon: {\n            url: iconImg,\n            scaledSize: new google.maps.Size(40, 40)\n          }\n        });\n\n        const infoContent = `\n          <div style=\"max-width: 650px;\">\n            <center><img decoding=\"async\" src=\"${location.imageUrl}\" alt=\"${location.title}\" style=\"width: 50%; height: auto; border-radius: 5px;\"><\/center>\n            <h4 style=\"color: #0082CA;font-size: 16px;font-family: arial;text-transform: uppercase;font-weight: bold;\">\n              <a href=\"${location.url}\">${location.name}<\/a>\n            <\/h4>\n            <h3>${location.title}<\/h3>\n            <label><a href=\"${location.phonelink}\" target=\"_blank\" rel=\"noopener\">${location.phone}<\/a><\/label>\n            <p style=\"margin: 10px 0 0;\">${location.description}<\/p>\n          <\/div>\n        `;\n\n        marker.addListener('click', function() {\n          infoWindow.setContent(infoContent);\n          infoWindow.open(map, marker);\n        });\n      });\n    }\n\n    function displaySuggestedRoutes(routes, fullResult){\n      suggestedRoutesDiv.innerHTML = '<div class=\"bgclass\"><label>Suggested routes:<\/label><\/div>';\n\n      routes.forEach((route, index) => {\n        const distance = route.legs?.[0]?.distance?.text || '';\n        const duration = route.legs?.[0]?.duration?.text || '';\n        const summary  = route.summary || '';\n\n        const routeOption = document.createElement('div');\n        routeOption.className = 'route-option';\n        routeOption.textContent = `Route ${index + 1}: ${summary} - ${distance}, about ${duration}`;\n\n        routeOption.addEventListener('click', () => {\n          directionsRenderer.setDirections(fullResult);\n          directionsRenderer.setRouteIndex(index);\n\n          const leg = fullResult.routes[index]?.legs?.[0];\n          if (leg) displayDirections(leg);\n\n          const endLocation = leg?.end_location;\n          if (endLocation) {\n            if (endMarker) endMarker.setMap(null);\n            endMarker = new google.maps.Marker({\n              position: endLocation,\n              map,\n              icon: { url: iconImg, scaledSize: new google.maps.Size(40, 40) },\n              title: \"Destination\"\n            });\n          }\n        });\n\n        suggestedRoutesDiv.appendChild(routeOption);\n      });\n    }\n\n    function displayDirections(leg){\n      directionsPanel.innerHTML = '';\n\n      if (!stepMarker) {\n        stepMarker = new google.maps.Marker({\n          map,\n          icon: {\n            url: 'https:\/\/maps.google.com\/mapfiles\/kml\/paddle\/blu-circle.png',\n            scaledSize: new google.maps.Size(30, 30)\n          }\n        });\n      }\n\n      leg.steps.forEach((step) => {\n        const directionStep = document.createElement('div');\n        directionStep.className = 'direction-step';\n\n        const icon = document.createElement('img');\n        icon.className = 'direction-icon';\n        icon.src = getManeuverIcon(step.maneuver);\n        directionStep.appendChild(icon);\n\n        const directionText = document.createElement('div');\n        directionText.className = 'direction-text';\n        directionText.innerHTML = step.instructions;\n        directionStep.appendChild(directionText);\n\n        const distance = document.createElement('div');\n        distance.className = 'distance';\n        distance.textContent = step.distance?.text || '';\n        directionStep.appendChild(distance);\n\n        directionStep.addEventListener('click', () => {\n          map.panTo(step.start_location);\n          map.setZoom(8);\n          stepMarker.setPosition(step.start_location);\n          stepMarker.setMap(map);\n        });\n\n        directionsPanel.appendChild(directionStep);\n      });\n    }\n\n    function calculateRoute(){\n      const start = (startInput.value || '').trim();\n      const end   = (endInput.value || '').trim();\n\n      if (!start || !end) { alert(\"Please fill both fields.\"); return; }\n\n      directionsService.route({\n        origin: start,\n        destination: end,\n        travelMode: google.maps.TravelMode.DRIVING,\n        provideRouteAlternatives: true\n      }, function(result, status){\n        if (status === google.maps.DirectionsStatus.OK) {\n          directionsRenderer.setDirections(result);\n\n          const routes = result.routes || [];\n          if (routes.length) {\n            displaySuggestedRoutes(routes, result);\n\n            const leg0 = routes[0]?.legs?.[0];\n            if (leg0) displayDirections(leg0);\n\n            \/\/ Markers\n            if (startMarker) startMarker.setMap(null);\n            if (endMarker) endMarker.setMap(null);\n\n            if (leg0?.start_location) {\n              startMarker = new google.maps.Marker({\n                position: leg0.start_location,\n                map,\n                icon: { url: 'https:\/\/maps.google.com\/mapfiles\/kml\/paddle\/grn-circle.png', scaledSize: new google.maps.Size(40, 40) },\n                title: \"Start Location\"\n              });\n            }\n\n            if (leg0?.end_location) {\n              endMarker = new google.maps.Marker({\n                position: leg0.end_location,\n                map,\n                icon: { url: iconImg, scaledSize: new google.maps.Size(40, 40) },\n                title: \"Destination\"\n              });\n            }\n          }\n\n          openSlider();\n        } else {\n          alert(\"Directions request failed due to \" + status);\n        }\n      });\n    }\n\n    function initMapInstance(){\n      map = new google.maps.Map(mapEl, {\n        center: { lat: 39.8283, lng: -98.5795 },\n        zoom: 5\n      });\n\n      directionsService = new google.maps.DirectionsService();\n      directionsRenderer = new google.maps.DirectionsRenderer({\n        map,\n        suppressMarkers: true,\n        polylineOptions: { strokeColor: 'blue', strokeWeight: 5 }\n      });\n\n      infoWindow = new google.maps.InfoWindow();\n\n      addPredefinedLocations();\n\n      btnCalc.disabled = false;\n      btnLoc.disabled = false;\n    }\n\n    function loadGoogleMapsOnce(){\n      if (window.__googleMapsLoading) return window.__googleMapsLoading;\n\n      window.__googleMapsLoading = new Promise((resolve, reject) => {\n        if (window.google && window.google.maps) { resolve(); return; }\n        const s = document.createElement('script');\n        s.src = \"https:\/\/maps.googleapis.com\/maps\/api\/js?key=AIzaSyDd5Y06dwvDqh_hzZVP_KBZ-gGfCwvEGQM\";\n        s.async = true;\n        s.onload = resolve;\n        s.onerror = reject;\n        document.head.appendChild(s);\n      });\n\n      return window.__googleMapsLoading;\n    }\n\n    closeBtn.addEventListener('click', closeSlider);\n    btnCalc.addEventListener('click', calculateRoute);\n\n    btnLoc.addEventListener('click', function(){\n      if (!navigator.geolocation) { alert(\"Geolocation is not supported by this browser.\"); return; }\n      navigator.geolocation.getCurrentPosition(function(pos){\n        const geocoder = new google.maps.Geocoder();\n        const latlng = { lat: pos.coords.latitude, lng: pos.coords.longitude };\n        geocoder.geocode({ location: latlng }, function(results, status){\n          if (status === 'OK' && results[0]) startInput.value = results[0].formatted_address;\n          else alert('Geocoder failed due to: ' + status);\n        });\n      }, function(err){\n        switch(err.code){\n          case err.PERMISSION_DENIED: alert(\"User denied the request for Geolocation.\"); break;\n          case err.POSITION_UNAVAILABLE: alert(\"Location information is unavailable.\"); break;\n          case err.TIMEOUT: alert(\"The request to get user location timed out.\"); break;\n          default: alert(\"An unknown error occurred.\"); break;\n        }\n      });\n    });\n\n    loadGoogleMapsOnce().then(initMapInstance).catch(() => console.error('Google Maps failed to load'));\n  })();\n  <\/script>\n\n  \n<\/div><\/div><\/div><div class=\"fusion-layout-column fusion_builder_column fusion-builder-column-6 fusion_builder_column_1_2 1_2 fusion-flex-column ft-map-section--content\" style=\"--awb-padding-top:50px;--awb-padding-right:30px;--awb-padding-bottom:50px;--awb-padding-left:30px;--awb-padding-top-small:0px;--awb-padding-right-small:0px;--awb-padding-left-small:0px;--awb-bg-size:cover;--awb-width-large:50%;--awb-margin-top-large:0px;--awb-spacing-right-large:0px;--awb-margin-bottom-large:0px;--awb-spacing-left-large:0px;--awb-width-medium:50%;--awb-order-medium:0;--awb-spacing-right-medium:0px;--awb-spacing-left-medium:0px;--awb-width-small:100%;--awb-order-small:0;--awb-spacing-right-small:0px;--awb-spacing-left-small:0px;\"><div class=\"fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column\"><div class=\"fusion-title title fusion-title-15 fusion-sep-none fusion-title-text fusion-title-size-two\" style=\"--awb-text-color:#ffffff;--awb-margin-top-small:10px;--awb-margin-right-small:0px;--awb-margin-bottom-small:10px;--awb-margin-left-small:0px;--awb-font-size:clamp(32px,3.75vw,48px);\"><h2 class=\"fusion-title-heading title-heading-left awb-responsive-type__disable\" style=\"margin:0;text-transform:capitalize;font-size:1em;\">Our Physical Locations<\/h2><\/div><ul style=\"--awb-iconcolor:var(--awb-color7);--awb-textcolor:var(--awb-color7);--awb-line-height:27.2px;--awb-icon-width:27.2px;--awb-icon-height:27.2px;--awb-icon-margin:11.2px;--awb-content-margin:38.4px;\" class=\"fusion-checklist fusion-checklist-1 fusion-checklist-default type-icons ft-map-checklist\"><li class=\"fusion-li-item\" style=\"\"><span class=\"icon-wrapper circle-no\"><i class=\"fusion-li-icon fa-map-marker-alt fas\" aria-hidden=\"true\"><\/i><\/span><div class=\"fusion-li-item-content\">\n<p><a href=\"\/locations\/minneapolis-roofing\/\">Minnetonka<\/a><\/p>\n<\/div><\/li><li class=\"fusion-li-item\" style=\"\"><span class=\"icon-wrapper circle-no\"><i class=\"fusion-li-icon fa-map-marker-alt fas\" aria-hidden=\"true\"><\/i><\/span><div class=\"fusion-li-item-content\">\n<p><a href=\"\/locations\/charlotte-roofing\/\">Charlotte<\/a><\/p>\n<\/div><\/li><li class=\"fusion-li-item\" style=\"\"><span class=\"icon-wrapper circle-no\"><i class=\"fusion-li-icon fa-map-marker-alt fas\" aria-hidden=\"true\"><\/i><\/span><div class=\"fusion-li-item-content\">\n<p><a href=\"\/locations\/colorado-springs-roofing\/\">Colorado Springs<\/a><\/p>\n<\/div><\/li><li class=\"fusion-li-item\" style=\"\"><span class=\"icon-wrapper circle-no\"><i class=\"fusion-li-icon fa-map-marker-alt fas\" aria-hidden=\"true\"><\/i><\/span><div class=\"fusion-li-item-content\">\n<p><a href=\"\/locations\/dallas-roofing\/\">Dallas<\/a><\/p>\n<\/div><\/li><li class=\"fusion-li-item\" style=\"\"><span class=\"icon-wrapper circle-no\"><i class=\"fusion-li-icon fa-map-marker-alt fas\" aria-hidden=\"true\"><\/i><\/span><div class=\"fusion-li-item-content\">\n<p><a href=\"\/locations\/fort-collins-roofing\/\">Fort Collins<\/a><\/p>\n<\/div><\/li><li class=\"fusion-li-item\" style=\"\"><span class=\"icon-wrapper circle-no\"><i class=\"fusion-li-icon fa-map-marker-alt fas\" aria-hidden=\"true\"><\/i><\/span><div class=\"fusion-li-item-content\">\n<p><a href=\"\/locations\/kansas-city-roofing\/\">Kansas<\/a><\/p>\n<\/div><\/li><li class=\"fusion-li-item\" style=\"\"><span class=\"icon-wrapper circle-no\"><i class=\"fusion-li-icon fa-map-marker-alt fas\" aria-hidden=\"true\"><\/i><\/span><div class=\"fusion-li-item-content\">\n<p><a href=\"\/locations\/des-moines-roofing\/\">Des Moines<\/a><\/p>\n<\/div><\/li><li class=\"fusion-li-item\" style=\"\"><span class=\"icon-wrapper circle-no\"><i class=\"fusion-li-icon fa-map-marker-alt fas\" aria-hidden=\"true\"><\/i><\/span><div class=\"fusion-li-item-content\">\n<p><a href=\"\/locations\/omaha-roofing\/\">Omaha<\/a><\/p>\n<\/div><\/li><li class=\"fusion-li-item\" style=\"\"><span class=\"icon-wrapper circle-no\"><i class=\"fusion-li-icon fa-map-marker-alt fas\" aria-hidden=\"true\"><\/i><\/span><div class=\"fusion-li-item-content\">\n<p><a href=\"\/locations\/denver-roofing\/\">Denver<\/a><\/p>\n<\/div><\/li><li class=\"fusion-li-item\" style=\"\"><span class=\"icon-wrapper circle-no\"><i class=\"fusion-li-icon fa-map-marker-alt fas\" aria-hidden=\"true\"><\/i><\/span><div class=\"fusion-li-item-content\">\n<p><a href=\"\/locations\/raleigh-roofing\/\">Raleigh<\/a><\/p>\n<\/div><\/li><li class=\"fusion-li-item\" style=\"\"><span class=\"icon-wrapper circle-no\"><i class=\"fusion-li-icon fa-map-marker-alt fas\" aria-hidden=\"true\"><\/i><\/span><div class=\"fusion-li-item-content\">\n<p><a href=\"\/locations\/st-louis-roofing\/\">St. Louis<\/a><\/p>\n<\/div><\/li><li class=\"fusion-li-item\" style=\"\"><span class=\"icon-wrapper circle-no\"><i class=\"fusion-li-icon fa-map-marker-alt fas\" aria-hidden=\"true\"><\/i><\/span><div class=\"fusion-li-item-content\">\n<p><a href=\"\/locations\/wichita-roofing\/\">Wichita<\/a><\/p>\n<\/div><\/li><\/ul><\/div><\/div><\/div><\/div>\n<div class=\"fusion-fullwidth fullwidth-box fusion-builder-row-5 fusion-flex-container has-pattern-background has-mask-background fusion-parallax-none nonhundred-percent-fullwidth non-hundred-percent-height-scrolling\" style=\"--awb-background-position-medium:center center;--awb-background-position-small:left top;--awb-border-color:var(--awb-color1);--awb-border-radius-top-left:0px;--awb-border-radius-top-right:0px;--awb-border-radius-bottom-right:0px;--awb-border-radius-bottom-left:0px;--awb-padding-top:0px;--awb-padding-right:0px;--awb-padding-bottom:120px;--awb-padding-left:0px;--awb-padding-top-medium:30px;--awb-padding-bottom-medium:70px;--awb-padding-top-small:30px;--awb-padding-bottom-small:70vw;--awb-margin-top:0px;--awb-margin-top-medium:0px;--awb-margin-bottom-medium:0px;--awb-margin-bottom-small:0px;--awb-min-height:580px;--awb-min-height-small:0px;--awb-background-color:rgba(0,130,202,0.81);--awb-background-image:url(&quot;https:\/\/premier-roofing.com\/wp-content\/uploads\/2025\/10\/Desktop-2.png&quot;);--awb-background-image-small:url(&#039;https:\/\/premier-roofing.com\/wp-content\/uploads\/2025\/10\/54-1.png&#039;);--awb-background-size:cover;--awb-flex-wrap:wrap;--awb-flex-wrap-medium:wrap;\" ><div class=\"fusion-builder-row fusion-row fusion-flex-align-items-center fusion-flex-content-wrap\" style=\"max-width:calc( 1200px + 80px );margin-left: calc(-80px \/ 2 );margin-right: calc(-80px \/ 2 );\"><div class=\"fusion-layout-column fusion_builder_column fusion-builder-column-7 fusion_builder_column_1_2 1_2 fusion-flex-column\" style=\"--awb-padding-right:30px;--awb-padding-left:30px;--awb-padding-top-medium:0px;--awb-padding-right-small:30px;--awb-bg-size:cover;--awb-width-large:50%;--awb-margin-top-large:85px;--awb-spacing-right-large:40px;--awb-margin-bottom-large:0px;--awb-spacing-left-large:40px;--awb-width-medium:66.6666666667%;--awb-order-medium:0;--awb-margin-top-medium:30px;--awb-spacing-right-medium:20px;--awb-spacing-left-medium:40px;--awb-width-small:100%;--awb-order-small:0;--awb-margin-top-small:30px;--awb-spacing-right-small:50px;--awb-spacing-left-small:50px;\" data-scroll-devices=\"small-visibility,medium-visibility,large-visibility\"><div class=\"fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column\"><div class=\"fusion-title title fusion-title-16 fusion-sep-none fusion-title-text fusion-title-size-two\" style=\"--awb-text-color:var(--awb-color4);--awb-margin-bottom:0px;--awb-margin-top-small:0px;--awb-margin-right-small:0px;--awb-margin-bottom-small:0px;--awb-margin-left-small:0px;--awb-margin-top-medium:0px;--awb-margin-bottom-medium:0px;--awb-font-size:clamp(32px,3.75vw,48px);\"><h2 class=\"fusion-title-heading title-heading-left awb-responsive-type__disable\" style=\"margin:0;text-transform:capitalize;font-size:1em;line-height:1.2;\">Ready for a Roof Inspection?<\/h2><\/div><div class=\"fusion-text fusion-text-15\" style=\"--awb-font-size:18px;--awb-line-height:1.5;--awb-margin-top:15px;\"><p>Don\u2019t wait until small roof issues become big problems. Schedule your free, no-obligation roof inspection with Premier Roofing today.<\/p>\n<\/div><div style=\"text-align:left;\"><a class=\"fusion-button button-flat button-xlarge button-custom fusion-button-default button-4 fusion-button-default-span fusion-button-default-type\" style=\"--button_accent_color:var(--awb-color4);--button_border_color:var(--awb-color7);--button_accent_hover_color:var(--awb-color4);--button_border_hover_color:var(--awb-color3);--button_gradient_top_color:var(--awb-color7);--button_gradient_bottom_color:var(--awb-color7);--button_gradient_top_color_hover:var(--awb-color3);--button_gradient_bottom_color_hover:var(--awb-color3);--button_margin-top:20px;\" target=\"_self\" href=\"https:\/\/premier-roofing.com\/get-a-quote\/\"><span class=\"fusion-button-text awb-button__text awb-button__text--default\">Request Inspection<\/span><\/a><\/div><\/div><\/div><\/div><\/div><div class=\"fusion-fullwidth fullwidth-box fusion-builder-row-6 fusion-flex-container has-pattern-background has-mask-background nonhundred-percent-fullwidth non-hundred-percent-height-scrolling\" style=\"--awb-border-radius-top-left:0px;--awb-border-radius-top-right:0px;--awb-border-radius-bottom-right:0px;--awb-border-radius-bottom-left:0px;--awb-padding-top:100px;--awb-padding-bottom:100px;--awb-padding-top-small:50px;--awb-padding-right-small:20px;--awb-padding-bottom-small:50px;--awb-padding-left-small:20px;--awb-flex-wrap:wrap;\" ><div class=\"fusion-builder-row fusion-row fusion-flex-align-items-flex-start fusion-flex-content-wrap\" style=\"max-width:calc( 1200px + 80px );margin-left: calc(-80px \/ 2 );margin-right: calc(-80px \/ 2 );\"><div class=\"fusion-layout-column fusion_builder_column fusion-builder-column-8 awb-sticky awb-sticky-medium awb-sticky-large fusion_builder_column_1_2 1_2 fusion-flex-column\" style=\"--awb-bg-size:cover;--awb-width-large:50%;--awb-margin-top-large:0px;--awb-spacing-right-large:40px;--awb-margin-bottom-large:20px;--awb-spacing-left-large:40px;--awb-width-medium:50%;--awb-order-medium:0;--awb-spacing-right-medium:40px;--awb-spacing-left-medium:40px;--awb-width-small:100%;--awb-order-small:0;--awb-spacing-right-small:40px;--awb-spacing-left-small:40px;--awb-sticky-offset:150px;\"><div class=\"fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column\"><div class=\"fusion-title title fusion-title-17 fusion-sep-none fusion-title-text fusion-title-size-two\" style=\"--awb-margin-top-small:10px;--awb-margin-right-small:0px;--awb-margin-bottom-small:10px;--awb-margin-left-small:0px;--awb-font-size:clamp(32px,3.75vw,48px);\"><h2 class=\"fusion-title-heading title-heading-left awb-responsive-type__disable\" style=\"margin:0;text-transform:capitalize;font-size:1em;line-height:1.2;\">Frequently Asked Questions<\/h2><\/div><div ><a class=\"fusion-button button-flat button-xlarge button-default fusion-button-default button-5 fusion-button-default-span fusion-button-default-type\" style=\"--button_margin-top:0px;--button_margin-bottom:30px;\" target=\"_self\" href=\"https:\/\/premier-roofing.com\/get-a-quote\/\"><span class=\"fusion-button-text awb-button__text awb-button__text--default\">Request Inspection<\/span><\/a><\/div><\/div><\/div><div class=\"fusion-layout-column fusion_builder_column fusion-builder-column-9 awb-sticky awb-sticky-medium awb-sticky-large fusion_builder_column_1_2 1_2 fusion-flex-column\" style=\"--awb-bg-size:cover;--awb-width-large:50%;--awb-margin-top-large:0px;--awb-spacing-right-large:40px;--awb-margin-bottom-large:20px;--awb-spacing-left-large:40px;--awb-width-medium:50%;--awb-order-medium:0;--awb-spacing-right-medium:40px;--awb-spacing-left-medium:40px;--awb-width-small:100%;--awb-order-small:0;--awb-spacing-right-small:40px;--awb-spacing-left-small:40px;--awb-sticky-offset:150px;\"><div class=\"fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column\"><div class=\"accordian fusion-accordian ft-faq-accordion\" style=\"--awb-border-size:0px;--awb-icon-size:24px;--awb-content-font-size:var(--awb-typography4-font-size);--awb-icon-alignment:right;--awb-hover-color:var(--awb-color1);--awb-border-color:var(--awb-color4);--awb-background-color:#f2f6f9;--awb-divider-color:var(--awb-color3);--awb-divider-hover-color:var(--awb-color3);--awb-icon-color:var(--awb-color4);--awb-title-color:var(--awb-color8);--awb-content-color:var(--awb-color8);--awb-icon-box-color:var(--awb-color7);--awb-toggle-hover-accent-color:var(--awb-color4);--awb-title-font-family:var(--awb-typography1-font-family);--awb-title-font-weight:var(--awb-typography1-font-weight);--awb-title-font-style:var(--awb-typography1-font-style);--awb-content-font-family:var(--awb-typography4-font-family);--awb-content-font-weight:var(--awb-typography4-font-weight);--awb-content-font-style:var(--awb-typography4-font-style);\"><div class=\"panel-group fusion-toggle-icon-right fusion-toggle-icon-unboxed\" id=\"accordion-3145-1\"><div class=\"fusion-panel panel-default panel-6ab9a1b42fd0af951 fusion-toggle-no-divider\"><div class=\"panel-heading\"><h3 class=\"panel-title toggle\" id=\"toggle_6ab9a1b42fd0af951\"><a aria-expanded=\"false\" aria-controls=\"6ab9a1b42fd0af951\" role=\"button\" data-toggle=\"collapse\" data-parent=\"#accordion-3145-1\" data-target=\"#6ab9a1b42fd0af951\" href=\"#6ab9a1b42fd0af951\"><span class=\"fusion-toggle-icon-wrapper\" aria-hidden=\"true\"><i class=\"fa-fusion-box active-icon fa-angle-right fas\" aria-hidden=\"true\"><\/i><i class=\"fa-fusion-box inactive-icon fa-angle-down fas\" aria-hidden=\"true\"><\/i><\/span><span class=\"fusion-toggle-heading\">How large does hail need to be to cause roof damage?<\/span><\/a><\/h3><\/div><div id=\"6ab9a1b42fd0af951\" class=\"panel-collapse collapse \" aria-labelledby=\"toggle_6ab9a1b42fd0af951\"><div class=\"panel-body toggle-content fusion-clearfix\">\n<p>You might assume damage only happens with large, baseball-sized hail, but that is rarely the case. Hail size around one inch (the size of a quarter) can compromise the surface of many shingles, especially if your roof is older. Factors like wind speed, the angle of impact, and your roof&#8217;s slope all play a role in how resistant your roof is. You need a professional inspection to confirm damage, regardless of how small the hail seems.<\/p>\n<\/div><\/div><\/div><div class=\"fusion-panel panel-default panel-e903ed79c804f51a8 fusion-toggle-no-divider\"><div class=\"panel-heading\"><h3 class=\"panel-title toggle\" id=\"toggle_e903ed79c804f51a8\"><a aria-expanded=\"false\" aria-controls=\"e903ed79c804f51a8\" role=\"button\" data-toggle=\"collapse\" data-parent=\"#accordion-3145-1\" data-target=\"#e903ed79c804f51a8\" href=\"#e903ed79c804f51a8\"><span class=\"fusion-toggle-icon-wrapper\" aria-hidden=\"true\"><i class=\"fa-fusion-box active-icon fa-angle-right fas\" aria-hidden=\"true\"><\/i><i class=\"fa-fusion-box inactive-icon fa-angle-down fas\" aria-hidden=\"true\"><\/i><\/span><span class=\"fusion-toggle-heading\">How is hail damage different from normal wear and tear?<\/span><\/a><\/h3><\/div><div id=\"e903ed79c804f51a8\" class=\"panel-collapse collapse \" aria-labelledby=\"toggle_e903ed79c804f51a8\"><div class=\"panel-body toggle-content fusion-clearfix\">\n<p>Hail damage appears as sudden impact marks, bruising, or fractured surfaces scattered randomly across your roof. Normal wear and tear happens slowly and evenly over time as materials age. During your detailed inspection, you get experts who look for clear signs of sudden, concentrated force versus gradual aging to accurately determine the cause of the damage.<\/p>\n<\/div><\/div><\/div><div class=\"fusion-panel panel-default panel-d3e2ef6113935c6b5 fusion-toggle-no-divider\"><div class=\"panel-heading\"><h3 class=\"panel-title toggle\" id=\"toggle_d3e2ef6113935c6b5\"><a aria-expanded=\"false\" aria-controls=\"d3e2ef6113935c6b5\" role=\"button\" data-toggle=\"collapse\" data-parent=\"#accordion-3145-1\" data-target=\"#d3e2ef6113935c6b5\" href=\"#d3e2ef6113935c6b5\"><span class=\"fusion-toggle-icon-wrapper\" aria-hidden=\"true\"><i class=\"fa-fusion-box active-icon fa-angle-right fas\" aria-hidden=\"true\"><\/i><i class=\"fa-fusion-box inactive-icon fa-angle-down fas\" aria-hidden=\"true\"><\/i><\/span><span class=\"fusion-toggle-heading\">Which roofing materials are more resistant to hail?<\/span><\/a><\/h3><\/div><div id=\"d3e2ef6113935c6b5\" class=\"panel-collapse collapse \" aria-labelledby=\"toggle_d3e2ef6113935c6b5\"><div class=\"panel-body toggle-content fusion-clearfix\">\n<p>Thicker asphalt shingles, impact-rated materials, metal roofing, and composites resist hail damage far better than standard options. While no roof is truly hail-proof, you gain significant protection by choosing these durable products. Remember that your roof&#8217;s age, the quality of its installation, and previous storm exposure still affect how well your materials hold up against severe weather.<\/p>\n<\/div><\/div><\/div><div class=\"fusion-panel panel-default panel-f4d408dd0b7844427 fusion-toggle-no-divider\"><div class=\"panel-heading\"><h3 class=\"panel-title toggle\" id=\"toggle_f4d408dd0b7844427\"><a aria-expanded=\"false\" aria-controls=\"f4d408dd0b7844427\" role=\"button\" data-toggle=\"collapse\" data-parent=\"#accordion-3145-1\" data-target=\"#f4d408dd0b7844427\" href=\"#f4d408dd0b7844427\"><span class=\"fusion-toggle-icon-wrapper\" aria-hidden=\"true\"><i class=\"fa-fusion-box active-icon fa-angle-right fas\" aria-hidden=\"true\"><\/i><i class=\"fa-fusion-box inactive-icon fa-angle-down fas\" aria-hidden=\"true\"><\/i><\/span><span class=\"fusion-toggle-heading\">How can hail damage be documented clearly?<\/span><\/a><\/h3><\/div><div id=\"f4d408dd0b7844427\" class=\"panel-collapse collapse \" aria-labelledby=\"toggle_f4d408dd0b7844427\"><div class=\"panel-body toggle-content fusion-clearfix\">\n<p>Clear hail damage documentation starts with close up photos taken from multiple angles, grouped by each roof section so nothing is taken out of context. The size, shape, and pattern of each impact is noted to show how the hail struck the roof, not just that marks exist. A short written summary then explains whether those impacts affect how the roof performs or if they are only cosmetic. When everything is organized this way, the evidence is easy to understand and strong enough to support an insurance claim without confusion or back and forth.<\/p>\n<\/div><\/div><\/div><\/div><\/div><\/div><\/div><\/div><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":1701,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"open","template":"100-width.php","meta":{"_acf_changed":false,"content-type":"","footnotes":""},"class_list":["post-3145","page","type-page","status-publish","has-post-thumbnail","hentry"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.1 (Yoast SEO v27.1.1) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Hail Damage on Roof: Signs &amp; What to Do | Premier-Roofing.com<\/title>\n<meta name=\"description\" content=\"Understand the signs of hail damage on a roof, how impacts affect shingles, and what to do if damage is not obvious. Premier Roofing walks you through what matters.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/premier-roofing.com\/hail-damage\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Hail Damage\" \/>\n<meta property=\"og:description\" content=\"Understand the signs of hail damage on a roof, how impacts affect shingles, and what to do if damage is not obvious. Premier Roofing walks you through what matters.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/premier-roofing.com\/hail-damage\/\" \/>\n<meta property=\"og:site_name\" content=\"Premier Roofing Company\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/premierroofing\/\" \/>\n<meta property=\"article:modified_time\" content=\"2026-04-21T09:47:01+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/premier-roofing.com\/wp-content\/uploads\/2023\/07\/Logo-4x4-1.png\" \/>\n\t<meta property=\"og:image:width\" content=\"640\" \/>\n\t<meta property=\"og:image:height\" content=\"640\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"6 minutes\" \/>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Hail Damage on Roof: Signs & What to Do | Premier-Roofing.com","description":"Understand the signs of hail damage on a roof, how impacts affect shingles, and what to do if damage is not obvious. Premier Roofing walks you through what matters.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/premier-roofing.com\/hail-damage\/","og_locale":"en_US","og_type":"article","og_title":"Hail Damage","og_description":"Understand the signs of hail damage on a roof, how impacts affect shingles, and what to do if damage is not obvious. Premier Roofing walks you through what matters.","og_url":"https:\/\/premier-roofing.com\/hail-damage\/","og_site_name":"Premier Roofing Company","article_publisher":"https:\/\/www.facebook.com\/premierroofing\/","article_modified_time":"2026-04-21T09:47:01+00:00","og_image":[{"width":640,"height":640,"url":"https:\/\/premier-roofing.com\/wp-content\/uploads\/2023\/07\/Logo-4x4-1.png","type":"image\/png"}],"twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/premier-roofing.com\/hail-damage\/","url":"https:\/\/premier-roofing.com\/hail-damage\/","name":"Hail Damage on Roof: Signs & What to Do | Premier-Roofing.com","isPartOf":{"@id":"https:\/\/premier-roofing.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/premier-roofing.com\/hail-damage\/#primaryimage"},"image":{"@id":"https:\/\/premier-roofing.com\/hail-damage\/#primaryimage"},"thumbnailUrl":"https:\/\/premier-roofing.com\/wp-content\/uploads\/2023\/07\/Logo-4x4-1.png","datePublished":"2024-12-19T19:21:08+00:00","dateModified":"2026-04-21T09:47:01+00:00","description":"Understand the signs of hail damage on a roof, how impacts affect shingles, and what to do if damage is not obvious. Premier Roofing walks you through what matters.","breadcrumb":{"@id":"https:\/\/premier-roofing.com\/hail-damage\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/premier-roofing.com\/hail-damage\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/premier-roofing.com\/hail-damage\/#primaryimage","url":"https:\/\/premier-roofing.com\/wp-content\/uploads\/2023\/07\/Logo-4x4-1.png","contentUrl":"https:\/\/premier-roofing.com\/wp-content\/uploads\/2023\/07\/Logo-4x4-1.png","width":640,"height":640},{"@type":"BreadcrumbList","@id":"https:\/\/premier-roofing.com\/hail-damage\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/premier-roofing.com\/"},{"@type":"ListItem","position":2,"name":"Hail Damage"}]},{"@type":"WebSite","@id":"https:\/\/premier-roofing.com\/#website","url":"https:\/\/premier-roofing.com\/","name":"Premier Roofing Company","description":"Your Neighborhood Roofer","publisher":{"@id":"https:\/\/premier-roofing.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/premier-roofing.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/premier-roofing.com\/#organization","name":"Premier Roofing Company","alternateName":"Premier Roofing","url":"https:\/\/premier-roofing.com\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/premier-roofing.com\/#\/schema\/logo\/image\/","url":"https:\/\/premier-roofing.com\/wp-content\/uploads\/2023\/07\/Logo-4x4-1.png","contentUrl":"https:\/\/premier-roofing.com\/wp-content\/uploads\/2023\/07\/Logo-4x4-1.png","width":640,"height":640,"caption":"Premier Roofing Company"},"image":{"@id":"https:\/\/premier-roofing.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/premierroofing\/","https:\/\/www.instagram.com\/premierroofingcompany\/","https:\/\/www.tiktok.com\/@bepremierroofing","https:\/\/www.linkedin.com\/company\/the-premier-roofing-company"],"description":"At Premier Roofing, our dedicated team of over 200 full-time professionals is committed to elevating the roofing experience. With branches in Colorado, Texas, Oklahoma, Kansas, St. Louis, Iowa, Nebraska, Minnesota, Indiana, North Carolina, South Carolina, and Georgia, we aim to redefine what honesty and reliability mean in the roofing industry.","legalName":"Premier Roofing"}]}},"_links":{"self":[{"href":"https:\/\/premier-roofing.com\/wp-json\/wp\/v2\/pages\/3145","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/premier-roofing.com\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/premier-roofing.com\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/premier-roofing.com\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/premier-roofing.com\/wp-json\/wp\/v2\/comments?post=3145"}],"version-history":[{"count":0,"href":"https:\/\/premier-roofing.com\/wp-json\/wp\/v2\/pages\/3145\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/premier-roofing.com\/wp-json\/wp\/v2\/media\/1701"}],"wp:attachment":[{"href":"https:\/\/premier-roofing.com\/wp-json\/wp\/v2\/media?parent=3145"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}