{"id":4551,"date":"2026-02-03T02:02:20","date_gmt":"2026-02-03T02:02:20","guid":{"rendered":"https:\/\/prstaging1.wpengine.com\/?page_id=4551"},"modified":"2026-04-21T09:46:22","modified_gmt":"2026-04-21T09:46:22","slug":"water-damage","status":"publish","type":"page","link":"https:\/\/premier-roofing.com\/water-damage\/","title":{"rendered":"Water 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-286-1.avif&quot;);--awb-background-image-small:url(&#039;https:\/\/premier-roofing.com\/wp-content\/uploads\/2026\/02\/iPhone-16-6.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;\">Water Damage on Roof<br \/><span style=\"color: #fec80d;\">Signs &amp; What to Do<\/span><\/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>Roof water damage rarely starts with a dramatic leak. It often begins along weak seams, flashing gaps, or aging materials that slowly allow moisture to enter. That moisture can travel unseen before stains appear inside your home. Knowing what to do next helps you respond with clarity instead of guessing or rushing into the wrong repair.<\/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 Water Damages a Roof<\/h2><\/div><div class=\"fusion-text fusion-text-2\"><p>Water often travels along seams between shingles, flashing around vents and chimneys, and layered materials before reaching a visible surface. Water damage on your roof is not just about visible leaks. It is about how moisture moves once it gets inside the roofing system. As moisture spreads, it can soften decking and increase the risk of mold growth. By the time stains appear, the source is often several feet away.<\/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;\">Windy Rain Easily Slips Past Shingles<\/h3><\/div><div class=\"fusion-text fusion-text-3\"><p><a href=\"\/wind-damage\">Strong winds<\/a> push rain sideways and upward against the roof surface. Water can slip beneath loosened shingles, lifted seal strips, or aging flashing, even when the roof still looks intact at first glance. Once inside, moisture travels along underlayment and decking before becoming visible indoors. This pattern commonly leads to slow roof water damage after major wind events rather than sudden roof failure.<\/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;\">Storms That Overwhelm the Roof<\/h3><\/div><div class=\"fusion-text fusion-text-4\"><p><a href=\"\/storm-damage\">Large storms<\/a> combine heavy rain, strong wind, and shifting pressure across the roof. Water may enter through multiple points at once, including valleys, vents, flashing seams, and roof edges. When drainage systems become overwhelmed, moisture can back up and seep into vulnerable areas. These conditions often create delayed roof water damage that appears days after the storm has passed.<\/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;\">Hail Impact Creates Hidden Leak Paths<\/h3><\/div><div class=\"fusion-text fusion-text-5\"><p><a href=\"\/hail-damage\/\">Hail can bruise, fracture, or weaken shingle surfaces<\/a> without creating an immediate opening. Over time, these compromised areas allow water to seep into the material during even the slightest bit of rain. Temperature changes and repeated moisture cycles expand small fractures and increase absorption. This delayed intrusion is a common source of water damage on a roof that develops quietly across multiple seasons.<\/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;\">Repeated Moisture Exposure Over Time<\/h3><\/div><div class=\"fusion-text fusion-text-6\"><p>Pooling water, clogged gutters, and aging sealants allow moisture to build slowly until materials begin to break down. Long term exposure softens decking, corrodes fasteners, and reduces underlayment performance. These conditions often go unnoticed because damage develops gradually without triggering visible leaks. Over time, the roof loses its ability to shed water consistently.<\/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;\">Signs You May Have Water Damage<\/h2><\/div><div class=\"fusion-text fusion-text-7\"><p>Water damage often becomes visible long after the first intrusion occurs. Signs of roof water damage can include ceiling stains, bubbling paint, or faint discoloration can appear as moisture moves through framing and insulation. Musty odors in attics or upper floors may signal trapped humidity or damp materials. Soft drywall, warped trim, or minor mold growth can also develop near vents and light fixtures. Some leaks only appear days after rain, which often indicates delayed moisture movement rather than a direct opening above.<\/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-282-1.avif\" alt class=\"img-responsive wp-image-4554\" srcset=\"https:\/\/premier-roofing.com\/wp-content\/uploads\/2026\/02\/Frame-282-1-200x91.avif 200w, https:\/\/premier-roofing.com\/wp-content\/uploads\/2026\/02\/Frame-282-1-400x183.avif 400w, https:\/\/premier-roofing.com\/wp-content\/uploads\/2026\/02\/Frame-282-1-600x274.avif 600w, https:\/\/premier-roofing.com\/wp-content\/uploads\/2026\/02\/Frame-282-1-800x365.avif 800w, https:\/\/premier-roofing.com\/wp-content\/uploads\/2026\/02\/Frame-282-1.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 Notice Water Where It Shouldn\u2019t Be<\/h2><\/div><div class=\"fusion-text fusion-text-8\"><p>The goal is not to diagnose the roof yourself. Focus on slowing the spread and capturing clear information. Take note of where the water appears and when it first started. Look for patterns such as staining that grows over time or moisture that shows up after certain weather conditions. Avoid disturbing materials that could hide the moisture path. Schedule an inspection while signs are fresh so roof leak water damage can be traced accurately before it spreads further.<\/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\">Get a 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 Water Damage Restoration<\/h2><\/div><div class=\"fusion-text fusion-text-9\"><p>Premier Roofing performs full roof inspections rather than quick spot checks. We trace how water enters, how it moves through the roofing system, and where it ultimately surfaces inside the home. Findings are documented clearly so homeowners understand the scope and urgency. When insurance is involved, we provide accurate documentation and guidance through the claim process without overpromising outcomes.<\/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>A water damage inspection looks beyond the visible leak. We evaluate attic moisture patterns, flashing, vents, roof penetrations, valleys, drainage paths, and accessible decking or underlayment. This process helps identify how water entered and how far it traveled before becoming visible inside the home. Clear documentation supports confident decision making about water damage to the roof.<\/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>Targeted repairs address active leak areas when damage remains contained. Common repair situations include isolated flashing or seal failures, small leak paths with minimal spread, and limited shingle damage. The objective is to restore proper water shedding while preventing additional intrusion and protecting surrounding materials.<\/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>Replacement is recommended when a water damaged roof no longer has the ability to protect the home. If repairs would only delay structural or moisture related problems, a new roof restores full system performance and long term peace of mind. Replacement removes compromised materials and resets the roof\u2019s protective layers.<\/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>Premier Roofing supports the insurance process by documenting findings clearly, explaining conditions in plain language, and helping homeowners understand how claims typically move forward. Our role focuses on accuracy and transparency so decisions are based on verified roof conditions rather than assumptions.<\/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 customers 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>They came out for an inspection of a leak and managed to meet with my insurance company and get the roof replaced in full. Great representative professional and took care of the removal and reinstall of my solar panels. I would recommend anyone in need of roof work contact them.<\/p>\n<\/div><\/div><\/blockquote><div class=\"author\"><span class=\"company-name\"><strong>Mark Manning<\/strong>, <span>Kansas City, KS<\/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>Quick response and great customer service. I had small water leak and Greg got here, did a thorough inspection, found a trouble area, and sealed it up. This is the first time I have called them and I am very impressed.<\/p>\n<\/div><\/div><\/blockquote><div class=\"author\"><span class=\"company-name\"><strong>Carl Wells<\/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>Working with Premier Roofing was an enjoyable experience. We reached out to them because of leaking that was showing up on the ceiling in our living room. From the time that Zach came over to look at our roof and now to them wrapping up negotiations with our ex-insurance company; I&#8217;ve felt like they have been professional and very comprehensive in their approach. Getting this roof replacement was 2 years in the making and I&#8217;m so happy that we went with a company that knew what they were doing<\/p>\n<\/div><\/div><\/blockquote><div class=\"author\"><span class=\"company-name\"><strong>Sarah Manes<\/strong>, <span>Denver, CO<\/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-4551-1\"><div class=\"fusion-panel panel-default panel-cb2ea4bcf69c232da fusion-toggle-no-divider\"><div class=\"panel-heading\"><h3 class=\"panel-title toggle\" id=\"toggle_cb2ea4bcf69c232da\"><a aria-expanded=\"false\" aria-controls=\"cb2ea4bcf69c232da\" role=\"button\" data-toggle=\"collapse\" data-parent=\"#accordion-4551-1\" data-target=\"#cb2ea4bcf69c232da\" href=\"#cb2ea4bcf69c232da\"><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\">What indoor signs point to roof water damage?<\/span><\/a><\/h3><\/div><div id=\"cb2ea4bcf69c232da\" class=\"panel-collapse collapse \" aria-labelledby=\"toggle_cb2ea4bcf69c232da\"><div class=\"panel-body toggle-content fusion-clearfix\">\n<p>Common indoor signs include ceiling stains, bubbling or peeling paint, soft drywall, and discoloration around vents or light fixtures. Musty smells in upper rooms or the attic may signal trapped moisture. Warped trim or minor mold growth can also appear. These signs often show up far from the actual roof entry point because water travels along framing before becoming visible.<\/p>\n<\/div><\/div><\/div><div class=\"fusion-panel panel-default panel-e3d0649ae6faf2bbd fusion-toggle-no-divider\"><div class=\"panel-heading\"><h3 class=\"panel-title toggle\" id=\"toggle_e3d0649ae6faf2bbd\"><a aria-expanded=\"false\" aria-controls=\"e3d0649ae6faf2bbd\" role=\"button\" data-toggle=\"collapse\" data-parent=\"#accordion-4551-1\" data-target=\"#e3d0649ae6faf2bbd\" href=\"#e3d0649ae6faf2bbd\"><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 water damage affect insulation and attic framing?<\/span><\/a><\/h3><\/div><div id=\"e3d0649ae6faf2bbd\" class=\"panel-collapse collapse \" aria-labelledby=\"toggle_e3d0649ae6faf2bbd\"><div class=\"panel-body toggle-content fusion-clearfix\">\n<p>Water compresses insulation, reducing its ability to regulate indoor temperature and energy loss. Damp insulation can hold moisture against wood framing, which may lead to staining, weakening, or mold growth over time. Even small leaks can slowly saturate attic materials, creating long term structural and air quality concerns if the issue remains unaddressed.<\/p>\n<\/div><\/div><\/div><div class=\"fusion-panel panel-default panel-b20f050fb5b6e6de8 fusion-toggle-no-divider\"><div class=\"panel-heading\"><h3 class=\"panel-title toggle\" id=\"toggle_b20f050fb5b6e6de8\"><a aria-expanded=\"false\" aria-controls=\"b20f050fb5b6e6de8\" role=\"button\" data-toggle=\"collapse\" data-parent=\"#accordion-4551-1\" data-target=\"#b20f050fb5b6e6de8\" href=\"#b20f050fb5b6e6de8\"><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 do you trace water damage back to its source?<\/span><\/a><\/h3><\/div><div id=\"b20f050fb5b6e6de8\" class=\"panel-collapse collapse \" aria-labelledby=\"toggle_b20f050fb5b6e6de8\"><div class=\"panel-body toggle-content fusion-clearfix\">\n<p>We follow the moisture path from where it appears inside the home back toward the roof. This includes inspecting attic surfaces, roof decking, flashing, vents, and drainage paths. Because water often travels along framing before surfacing, the source is rarely directly above the visible stain. Careful tracing helps identify the true entry point.<\/p>\n<\/div><\/div><\/div><div class=\"fusion-panel panel-default panel-256270cf3da480d08 fusion-toggle-no-divider\"><div class=\"panel-heading\"><h3 class=\"panel-title toggle\" id=\"toggle_256270cf3da480d08\"><a aria-expanded=\"false\" aria-controls=\"256270cf3da480d08\" role=\"button\" data-toggle=\"collapse\" data-parent=\"#accordion-4551-1\" data-target=\"#256270cf3da480d08\" href=\"#256270cf3da480d08\"><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 long does a water damage inspection usually take?<\/span><\/a><\/h3><\/div><div id=\"256270cf3da480d08\" class=\"panel-collapse collapse \" aria-labelledby=\"toggle_256270cf3da480d08\"><div class=\"panel-body toggle-content fusion-clearfix\">\n<p>Most water damage inspections take about 45 minutes to an hour, depending on roof size, attic access, and the complexity of moisture patterns. The goal is not speed, but accuracy. Inspectors take time to trace moisture movement, evaluate roof components, and separate roof entry issues from ventilation or condensation related conditions.<\/p>\n<\/div><\/div><\/div><div class=\"fusion-panel panel-default panel-8f171e7fd06b5f21a fusion-toggle-no-divider\"><div class=\"panel-heading\"><h3 class=\"panel-title toggle\" id=\"toggle_8f171e7fd06b5f21a\"><a aria-expanded=\"false\" aria-controls=\"8f171e7fd06b5f21a\" role=\"button\" data-toggle=\"collapse\" data-parent=\"#accordion-4551-1\" data-target=\"#8f171e7fd06b5f21a\" href=\"#8f171e7fd06b5f21a\"><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\">What happens if no active leak is found?<\/span><\/a><\/h3><\/div><div id=\"8f171e7fd06b5f21a\" class=\"panel-collapse collapse \" aria-labelledby=\"toggle_8f171e7fd06b5f21a\"><div class=\"panel-body toggle-content fusion-clearfix\">\n<p>If no active leak is found, we explain what areas were inspected and why the roof may still be at risk. Some moisture issues only appear under specific weather conditions or develop over time. We outline what signs to monitor, how to track changes, and when a follow up inspection may be helpful to confirm developing conditions.<\/p>\n<\/div><\/div><\/div><\/div><\/div><\/div><\/div><\/div><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":25,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"100-width.php","meta":{"_acf_changed":false,"content-type":"","footnotes":""},"class_list":["post-4551","page","type-page","status-publish","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>Roof Water Damage: Signs &amp; What to Do | Premier-Roofing.com<\/title>\n<meta name=\"description\" content=\"See the common signs of roof water damage, why stains appear away from the leak, and what to do next. Premier Roofing helps trace the source before damage spreads.\" \/>\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\/water-damage\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Water Damage\" \/>\n<meta property=\"og:description\" content=\"See the common signs of roof water damage, why stains appear away from the leak, and what to do next. Premier Roofing helps trace the source before damage spreads.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/premier-roofing.com\/water-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:46:22+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":"Roof Water Damage: Signs & What to Do | Premier-Roofing.com","description":"See the common signs of roof water damage, why stains appear away from the leak, and what to do next. Premier Roofing helps trace the source before damage spreads.","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\/water-damage\/","og_locale":"en_US","og_type":"article","og_title":"Water Damage","og_description":"See the common signs of roof water damage, why stains appear away from the leak, and what to do next. Premier Roofing helps trace the source before damage spreads.","og_url":"https:\/\/premier-roofing.com\/water-damage\/","og_site_name":"Premier Roofing Company","article_publisher":"https:\/\/www.facebook.com\/premierroofing\/","article_modified_time":"2026-04-21T09:46:22+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\/water-damage\/","url":"https:\/\/premier-roofing.com\/water-damage\/","name":"Roof Water Damage: Signs & What to Do | Premier-Roofing.com","isPartOf":{"@id":"https:\/\/premier-roofing.com\/#website"},"datePublished":"2026-02-03T02:02:20+00:00","dateModified":"2026-04-21T09:46:22+00:00","description":"See the common signs of roof water damage, why stains appear away from the leak, and what to do next. Premier Roofing helps trace the source before damage spreads.","breadcrumb":{"@id":"https:\/\/premier-roofing.com\/water-damage\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/premier-roofing.com\/water-damage\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/premier-roofing.com\/water-damage\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/premier-roofing.com\/"},{"@type":"ListItem","position":2,"name":"Water 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\/4551","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\/25"}],"replies":[{"embeddable":true,"href":"https:\/\/premier-roofing.com\/wp-json\/wp\/v2\/comments?post=4551"}],"version-history":[{"count":0,"href":"https:\/\/premier-roofing.com\/wp-json\/wp\/v2\/pages\/4551\/revisions"}],"wp:attachment":[{"href":"https:\/\/premier-roofing.com\/wp-json\/wp\/v2\/media?parent=4551"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}