{"id":4546,"date":"2026-02-03T01:20:26","date_gmt":"2026-02-03T01:20:26","guid":{"rendered":"https:\/\/prstaging1.wpengine.com\/?page_id=4546"},"modified":"2026-04-21T09:46:35","modified_gmt":"2026-04-21T09:46:35","slug":"wind-damage","status":"publish","type":"page","link":"https:\/\/premier-roofing.com\/wind-damage\/","title":{"rendered":"Wind 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.avif&quot;);--awb-background-image-small:url(&#039;https:\/\/premier-roofing.com\/wp-content\/uploads\/2026\/02\/iPhone-16-5.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;\">Wind 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>Wind damage on a roof often looks minor at first. A roof does not need to be torn apart for real problems to begin. Once shingles lose their seal, every future gust and rainstorm can worsen the damage. Small shifts allow moisture to enter and weaken protective layers over time. Understanding how wind actually damages a roof helps you take the right next step without delaying important repairs.<\/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 Wind Damages a Roof<\/h2><\/div><div class=\"fusion-text fusion-text-2\"><p>Strong gusts can lift shingle edges, break adhesive seals, and expose areas designed to stay protected. The wind damaged roof may still look intact from the street, but its defensive layer has already been compromised. Once the seals fail, shingles can shift, and underlayment becomes compromised to moisture intrusion and long term wear.<\/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;\">Lifted Shingles Lose Their Seal<\/h3><\/div><div class=\"fusion-text fusion-text-3\"><p>Wind pushes underneath shingle edges and breaks the adhesive bond that keeps them sealed flat. Even if shingles settle back into place, the seal is often permanently damaged. This allows water to slip beneath the shingle during rainfall and begin migrating through the roofing system. Over time, repeated exposure to wind storms increases the risk of leaks and interior damage.<\/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;\">Progressive Damage From Repeated Gusts<\/h3><\/div><div class=\"fusion-text fusion-text-4\"><p>Once a shingle lifts once, it becomes easier for future gusts to lift it again. Each wind event weakens surrounding materials and expands the affected area. What begins as a small section can gradually spread across roof slopes. Wind damage compounds over time especially during seasonal storm cycles. <a href=\"\/storm-damage\">Learn more about storm damage.<\/a><\/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;\">Rain Will Follow the Lift<\/h3><\/div><div class=\"fusion-text fusion-text-5\"><p>Wind driven rain is pushed sideways and upward across roof surfaces. Moisture can enter through loosened shingles, exposed nail lines, and damaged seal strips. Once inside, water follows gravity and framing paths before appearing indoors. This pattern often leads to delayed roof wind damage that becomes visible only after multiple storms. <a href=\"\/water-damage\">Learn more about Water damage and it\u2019s affects.<\/a><\/p>\n<\/div><div class=\"fusion-title title fusion-title-6 fusion-sep-none fusion-title-text fusion-title-size-three\" style=\"--awb-margin-top-small:10px;--awb-margin-right-small:0px;--awb-margin-bottom-small:10px;--awb-margin-left-small:0px;--awb-font-size:26px;\"><h3 class=\"fusion-title-heading title-heading-left\" style=\"margin:0;text-transform:capitalize;font-size:1em;line-height:1.25;\">Combined Wind and Storm Pressure<\/h3><\/div><div class=\"fusion-text fusion-text-6\"><p><a href=\"\/storm-damage\">Storm systems<\/a> combine wind pressure, heavy rainfall, and shifting air currents across the roof surface. Water may enter through multiple weakened areas at once while drainage systems struggle to keep up. Moisture can pool near flashing and edges, accelerating material breakdown and increasing the likelihood of hidden saturation.<\/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 Wind Damage<\/h2><\/div><div class=\"fusion-text fusion-text-7\"><p>Signs of wind damage often hide in plain sight. Shingles may appear uneven or slightly raised, even if they have not fully detached. Missing shingles or ridge caps may show up after strong gusts. Roofing debris in the yard or gutters can indicate lifted materials. Leaks that appear after windy rainstorms often point to broken seals. Drafts or unexpected moisture in the attic may also signal air movement through loosened roof layers.<\/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.avif\" alt class=\"img-responsive wp-image-4549\" srcset=\"https:\/\/premier-roofing.com\/wp-content\/uploads\/2026\/02\/Frame-282-200x91.avif 200w, https:\/\/premier-roofing.com\/wp-content\/uploads\/2026\/02\/Frame-282-400x183.avif 400w, https:\/\/premier-roofing.com\/wp-content\/uploads\/2026\/02\/Frame-282-600x274.avif 600w, https:\/\/premier-roofing.com\/wp-content\/uploads\/2026\/02\/Frame-282-800x365.avif 800w, https:\/\/premier-roofing.com\/wp-content\/uploads\/2026\/02\/Frame-282.avif 1052w\" sizes=\"(max-width: 640px) 100vw, 800px\" \/><\/span><\/div><div class=\"fusion-title title fusion-title-8 fusion-sep-none fusion-title-text fusion-title-size-two\" style=\"--awb-text-color:var(--awb-color5);--awb-margin-top-small:10px;--awb-margin-right-small:0px;--awb-margin-bottom-small:10px;--awb-margin-left-small:0px;--awb-font-size:34px;\"><h2 class=\"fusion-title-heading title-heading-left\" style=\"margin:0;text-transform:capitalize;font-size:1em;line-height:1.25;\">What to Do When You Suspect Wind Damage<\/h2><\/div><div class=\"fusion-text fusion-text-8\"><p>After strong winds, perform a quick visual check from the ground. Walk the property and look for loose shingles, displaced flashing, or fallen debris. Check the yard and gutters for roofing materials. Avoid climbing onto the roof yourself, as damaged areas may be unstable. Take photos of anything that appears shifted or missing. Schedule an inspection before the next storm system so developing damage does not worsen.<\/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 Wind Damage on Roof<\/h2><\/div><div class=\"fusion-text fusion-text-9\"><p>Premier Roofing performs full roof inspections rather than surface level spot checks. We trace how wind affects shingle adhesion, edge integrity, and vulnerable transition points. Roof damage from wind is documented clearly and explained in practical terms so homeowners understand real risk levels. When insurance applies, we assist with accurate documentation and claim guidance without creating unrealistic expectations.<\/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 wind damage inspection looks beyond obvious missing shingles. We evaluate shingle adhesion, roof edges, ridges, hips, flashing integrity, and attic conditions where uplift may be visible. Areas vulnerable to future wind lift are identified and documented clearly. This helps homeowners understand both current damage and emerging risks.<\/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>Repairs are recommended only when wind damage is limited and contained. Common situations include a small number of lifted or missing shingles, localized ridge cap damage, or minor seal failures. The goal is to restore proper sealing and prevent additional uplift or moisture entry before broader damage develops.<\/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 wind damage affects the roof\u2019s ability to protect the home reliably. If repairs would only delay larger structural or moisture issues, wind damage roof restoration allows for full system performance and long term stability. Replacement eliminates compromised materials and resets protective layers across the roof.<\/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 claim process by documenting findings thoroughly, explaining conditions clearly, and helping homeowners understand how insurance typically evaluates wind damage. Our role focuses on accuracy and transparency so coverage 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>I had a great experience with Premier Roofing, from my representative Bruce Parkinson to the office staff. We met at the Jo County Home Show and quickly filed an insurance claim for hail and wind damage. Bruce guided me through choosing roof and gutter colors, and a Premier rep met my adjuster during the inspection. Approval came the same day, and the materials were delivered without me needing to be present. The crew completed the roof in one day, handling everything with the insurance company. Highly recommended.<\/p>\n<\/div><\/div><\/blockquote><div class=\"author\"><span class=\"company-name\"><strong>Andy Lovan<\/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>Tony Ramos was great to work with and successfully got our insurance company to pay for the replacement of our 25-year-old, wind-damaged roof. The roof looks great and all the work was completed in one day. The crew did a great job of cleanup too.&nbsp;<\/p>\n<\/div><\/div><\/blockquote><div class=\"author\"><span class=\"company-name\"><strong>Alex Donatich<\/strong>, <span>Denver, CO<\/span><\/span><\/div><\/div><div class=\"review avatar-above no-avatar\"><blockquote class=\"testimonials-shortcode-blockquote\"><div class=\"awb-quote\"><div class=\"awb-quote-content\">\n<p>I want to thank Premier Roofing, especially Michael Foose, for his persistence and dedication in working with insurance to replace my wind-damaged roof. He made multiple long trips to my home, met with inspectors, and stayed involved from start to finish. I also replaced my gutters, and everything looks fantastic. Any initial stress I had disappeared after Michael\u2019s first visit. I can\u2019t say enough good things about this company and highly recommend them.<\/p>\n<\/div><\/div><\/blockquote><div class=\"author\"><span class=\"company-name\"><strong>Michael Wojcik<\/strong>, <span>Atlanta, GA<\/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-4546-1\"><div class=\"fusion-panel panel-default panel-9f7fa838f9e7a9101 fusion-toggle-no-divider\"><div class=\"panel-heading\"><h3 class=\"panel-title toggle\" id=\"toggle_9f7fa838f9e7a9101\"><a aria-expanded=\"false\" aria-controls=\"9f7fa838f9e7a9101\" role=\"button\" data-toggle=\"collapse\" data-parent=\"#accordion-4546-1\" data-target=\"#9f7fa838f9e7a9101\" href=\"#9f7fa838f9e7a9101\"><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 roof areas are most vulnerable to wind?<\/span><\/a><\/h3><\/div><div id=\"9f7fa838f9e7a9101\" class=\"panel-collapse collapse \" aria-labelledby=\"toggle_9f7fa838f9e7a9101\"><div class=\"panel-body toggle-content fusion-clearfix\">\n<p>Roof edges, corners, ridges, and areas around vents are most vulnerable because they experience uplift pressure first as wind moves across the roof surface. Shingles in these zones may appear intact but often lose their adhesive seal. Once seals fail, water and air can enter beneath the shingles, increasing the risk of future leaks and progressive roof damage.<\/p>\n<\/div><\/div><\/div><div class=\"fusion-panel panel-default panel-ed9ad282c5bd27494 fusion-toggle-no-divider\"><div class=\"panel-heading\"><h3 class=\"panel-title toggle\" id=\"toggle_ed9ad282c5bd27494\"><a aria-expanded=\"false\" aria-controls=\"ed9ad282c5bd27494\" role=\"button\" data-toggle=\"collapse\" data-parent=\"#accordion-4546-1\" data-target=\"#ed9ad282c5bd27494\" href=\"#ed9ad282c5bd27494\"><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 strong does wind need to be to cause roof damage?<\/span><\/a><\/h3><\/div><div id=\"ed9ad282c5bd27494\" class=\"panel-collapse collapse \" aria-labelledby=\"toggle_ed9ad282c5bd27494\"><div class=\"panel-body toggle-content fusion-clearfix\">\n<p>Wind damage can begin at lower speeds than many homeowners expect. Gusts between 45 and 60 mph can loosen shingles, especially on aging roofs or areas with weakened seals. Repeated exposure to strong winds compounds the damage over time, even without a single extreme storm event causing obvious material loss.<\/p>\n<\/div><\/div><\/div><div class=\"fusion-panel panel-default panel-7d50c5a7dff5457b4 fusion-toggle-no-divider\"><div class=\"panel-heading\"><h3 class=\"panel-title toggle\" id=\"toggle_7d50c5a7dff5457b4\"><a aria-expanded=\"false\" aria-controls=\"7d50c5a7dff5457b4\" role=\"button\" data-toggle=\"collapse\" data-parent=\"#accordion-4546-1\" data-target=\"#7d50c5a7dff5457b4\" href=\"#7d50c5a7dff5457b4\"><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 attic signs might point to wind related roof issues?<\/span><\/a><\/h3><\/div><div id=\"7d50c5a7dff5457b4\" class=\"panel-collapse collapse \" aria-labelledby=\"toggle_7d50c5a7dff5457b4\"><div class=\"panel-body toggle-content fusion-clearfix\">\n<p>In the attic, wind damage may appear as lifted nails, visible daylight at roof seams, displaced insulation, or dust trails created by moving air. These indicators often develop before exterior damage becomes noticeable. Subtle airflow patterns can signal broken seals or lifted materials that allow wind and moisture to enter the roof system.<\/p>\n<\/div><\/div><\/div><div class=\"fusion-panel panel-default panel-e6e53204f91771368 fusion-toggle-no-divider\"><div class=\"panel-heading\"><h3 class=\"panel-title toggle\" id=\"toggle_e6e53204f91771368\"><a aria-expanded=\"false\" aria-controls=\"e6e53204f91771368\" role=\"button\" data-toggle=\"collapse\" data-parent=\"#accordion-4546-1\" data-target=\"#e6e53204f91771368\" href=\"#e6e53204f91771368\"><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 wind damage inspection take?<\/span><\/a><\/h3><\/div><div id=\"e6e53204f91771368\" class=\"panel-collapse collapse \" aria-labelledby=\"toggle_e6e53204f91771368\"><div class=\"panel-body toggle-content fusion-clearfix\">\n<p>Most inspections for wind damage on roofs take between 45 minutes and one hour, depending on roof size, accessibility, and the complexity of findings. Inspectors evaluate roof surfaces, edges, penetrations, and attic conditions carefully. The goal is accuracy rather than speed, ensuring subtle uplift damage is identified before it worsens.<\/p>\n<\/div><\/div><\/div><div class=\"fusion-panel panel-default panel-f4a56acae53f73f91 fusion-toggle-no-divider\"><div class=\"panel-heading\"><h3 class=\"panel-title toggle\" id=\"toggle_f4a56acae53f73f91\"><a aria-expanded=\"false\" aria-controls=\"f4a56acae53f73f91\" role=\"button\" data-toggle=\"collapse\" data-parent=\"#accordion-4546-1\" data-target=\"#f4a56acae53f73f91\" href=\"#f4a56acae53f73f91\"><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 separate wind damage from age related wear?<\/span><\/a><\/h3><\/div><div id=\"f4a56acae53f73f91\" class=\"panel-collapse collapse \" aria-labelledby=\"toggle_f4a56acae53f73f91\"><div class=\"panel-body toggle-content fusion-clearfix\">\n<p>Wind damage usually appears uneven and localized, often concentrated near edges, corners, or pressure zones. Age related wear develops more evenly across the roof surface. Inspectors look for lifted materials, broken seals, fastener movement, and directional patterns that indicate wind forces rather than gradual material aging alone.<\/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-4546","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>Wind Damage on Roof: Signs &amp; What to Do | Premier-Roofing.com<\/title>\n<meta name=\"description\" content=\"Learn the signs of wind damage on a roof, what strong winds can loosen, and what to do next. Premier Roofing explains what to check and when an inspection helps.\" \/>\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\/wind-damage\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Wind Damage\" \/>\n<meta property=\"og:description\" content=\"Learn the signs of wind damage on a roof, what strong winds can loosen, and what to do next. Premier Roofing explains what to check and when an inspection helps.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/premier-roofing.com\/wind-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:35+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":"Wind Damage on Roof: Signs & What to Do | Premier-Roofing.com","description":"Learn the signs of wind damage on a roof, what strong winds can loosen, and what to do next. Premier Roofing explains what to check and when an inspection helps.","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\/wind-damage\/","og_locale":"en_US","og_type":"article","og_title":"Wind Damage","og_description":"Learn the signs of wind damage on a roof, what strong winds can loosen, and what to do next. Premier Roofing explains what to check and when an inspection helps.","og_url":"https:\/\/premier-roofing.com\/wind-damage\/","og_site_name":"Premier Roofing Company","article_publisher":"https:\/\/www.facebook.com\/premierroofing\/","article_modified_time":"2026-04-21T09:46:35+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\/wind-damage\/","url":"https:\/\/premier-roofing.com\/wind-damage\/","name":"Wind Damage on Roof: Signs & What to Do | Premier-Roofing.com","isPartOf":{"@id":"https:\/\/premier-roofing.com\/#website"},"datePublished":"2026-02-03T01:20:26+00:00","dateModified":"2026-04-21T09:46:35+00:00","description":"Learn the signs of wind damage on a roof, what strong winds can loosen, and what to do next. Premier Roofing explains what to check and when an inspection helps.","breadcrumb":{"@id":"https:\/\/premier-roofing.com\/wind-damage\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/premier-roofing.com\/wind-damage\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/premier-roofing.com\/wind-damage\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/premier-roofing.com\/"},{"@type":"ListItem","position":2,"name":"Wind 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\/4546","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=4546"}],"version-history":[{"count":0,"href":"https:\/\/premier-roofing.com\/wp-json\/wp\/v2\/pages\/4546\/revisions"}],"wp:attachment":[{"href":"https:\/\/premier-roofing.com\/wp-json\/wp\/v2\/media?parent=4546"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}