www.networx.com
Open in
urlscan Pro
34.196.125.178
Public Scan
URL:
https://www.networx.com/roofers?hohttpner
Submission: On January 25 via api from US — Scanned from DE
Submission: On January 25 via api from US — Scanned from DE
Form analysis
4 forms found in the DOMName: frmRequestQuote — POST /lead_process.php?submit
<form action="/lead_process.php?submit" target="_parent" class="form-stages swiper-wrapper service-quote-flow-form safe_submit ng-pristine ng-valid" method="POST" name="frmRequestQuote" data-ss-value="Getting Quotes..." novalidate="novalidate">
<input type="hidden" name="preference_to" id="preference_to" value="">
<input type="hidden" name="service" id="service" value="123">
<input type="hidden" name="cmdSubmitRequest" id="cmdSubmitRequest" value="1">
<input type="hidden" name="source_id" class="source_id" id="source_id" value="22">
<input type="hidden" name="tcpa_compliance_text" id="tcpa_compliance_text"
value="By submitting this form, you are giving your consent to receive phone calls and text messages from Networx Systems, Inc., its <a href='https://www.networx.com/terms-use#third-party' target='_blank' style='color: inherit'>partners</a>, and other service professionals at the phone number you inputted (including wireless number if provided). Contacting you is for the purpose of confirming and scheduling your home improvement project request and multiple contractor bids. You understand that automated phone technology, by voice or text messages, may be used to reach you. Please note that providing consent does not obligate you to purchase or use any product or service.">
<input type="hidden" name="recaptcha_token" id="recaptcha_token" value="">
<div class="question-stage swiper-slide first-stage">
<div class="question-stage-inner animated">
<h1>Find Trusted Roofers & Get Free Quotes</h1>
<h2>What is the project location?</h2>
<div class="zip-form">
<div class="zip-form-container">
<input value="" placeholder="Zip Code" maxlength="5" type="tel" class="zip zipcodeUS required main-zip numbers-only" title="Please enter a valid zip code" id="main_zip" name="zip" autocomplete="postal-code">
<button type="button" class="track-next-question track-next-question-zip track btn blue large check-form btn-next-question first-question btn-disabled" disabled="disabled">Next</button>
</div>
<div class="zip-form-footer">
<span class="bbb-logo"></span>
</div>
</div>
</div>
</div>
<!-- ngRepeat: question in questions | orderBy: 'display_order.data_value' -->
<div ng-repeat="question in questions | orderBy: 'display_order.data_value'" class="question-stage swiper-slide service-needed ng-scope st-first-question" ng-class="{'st-first-question':$first, 'st-last-question':$last}" data-stage="0">
<div class="question-stage-inner">
<h3 id="question[342]" class="title-selenium ng-binding" value="342">What is the nature of this project?</h3>
<div class="answers-wrapper">
<!-- ngRepeat: answer in question.answers.data_value | orderBy: 'priority.data_value' track by answer.id.data_value -->
<div ng-repeat="answer in question.answers.data_value | orderBy: 'priority.data_value' track by answer.id.data_value" class="answer-item ng-scope" ng-class="{'last-answer':$last}">
<label for="342_2223" class="nx-radiobox ng-binding">
<input type="radio" class="lead_question ng-pristine ng-untouched ng-valid" id="342_2223" name="question[342]" data-question-id="342" ng-change="updateQuestions(question, data[question.id.data_value])"
ng-model="data[question.id.data_value]" value="2223" data-index="0">
<span class="outer fl"><span class="inner"></span></span>Completely replace or install new roof </label>
</div><!-- end ngRepeat: answer in question.answers.data_value | orderBy: 'priority.data_value' track by answer.id.data_value -->
<div ng-repeat="answer in question.answers.data_value | orderBy: 'priority.data_value' track by answer.id.data_value" class="answer-item ng-scope" ng-class="{'last-answer':$last}">
<label for="342_2225" class="nx-radiobox ng-binding">
<input type="radio" class="lead_question ng-pristine ng-untouched ng-valid" id="342_2225" name="question[342]" data-question-id="342" ng-change="updateQuestions(question, data[question.id.data_value])"
ng-model="data[question.id.data_value]" value="2225" data-index="1">
<span class="outer fl"><span class="inner"></span></span>Repair existing roof </label>
</div><!-- end ngRepeat: answer in question.answers.data_value | orderBy: 'priority.data_value' track by answer.id.data_value -->
<div ng-repeat="answer in question.answers.data_value | orderBy: 'priority.data_value' track by answer.id.data_value" class="answer-item ng-scope" ng-class="{'last-answer':$last}">
<label for="342_2227" class="nx-radiobox ng-binding">
<input type="radio" class="lead_question ng-pristine ng-untouched ng-valid" id="342_2227" name="question[342]" data-question-id="342" ng-change="updateQuestions(question, data[question.id.data_value])"
ng-model="data[question.id.data_value]" value="2227" data-index="2">
<span class="outer fl"><span class="inner"></span></span>Siding - Install or Repair </label>
</div><!-- end ngRepeat: answer in question.answers.data_value | orderBy: 'priority.data_value' track by answer.id.data_value -->
<div ng-repeat="answer in question.answers.data_value | orderBy: 'priority.data_value' track by answer.id.data_value" class="answer-item ng-scope" ng-class="{'last-answer':$last}">
<label for="342_2229" class="nx-radiobox ng-binding">
<input type="radio" class="lead_question ng-pristine ng-untouched ng-valid" id="342_2229" name="question[342]" data-question-id="342" ng-change="updateQuestions(question, data[question.id.data_value])"
ng-model="data[question.id.data_value]" value="2229" data-index="3">
<span class="outer fl"><span class="inner"></span></span>Gutters </label>
</div><!-- end ngRepeat: answer in question.answers.data_value | orderBy: 'priority.data_value' track by answer.id.data_value -->
<div ng-repeat="answer in question.answers.data_value | orderBy: 'priority.data_value' track by answer.id.data_value" class="answer-item ng-scope" ng-class="{'last-answer':$last}">
<label for="342_2231" class="nx-radiobox ng-binding">
<input type="radio" class="lead_question ng-pristine ng-untouched ng-valid" id="342_2231" name="question[342]" data-question-id="342" ng-change="updateQuestions(question, data[question.id.data_value])"
ng-model="data[question.id.data_value]" value="2231" data-index="4">
<span class="outer fl"><span class="inner"></span></span>Skylights </label>
</div><!-- end ngRepeat: answer in question.answers.data_value | orderBy: 'priority.data_value' track by answer.id.data_value -->
<div ng-repeat="answer in question.answers.data_value | orderBy: 'priority.data_value' track by answer.id.data_value" class="answer-item ng-scope" ng-class="{'last-answer':$last}">
<label for="342_3447" class="nx-radiobox ng-binding">
<input type="radio" class="lead_question ng-pristine ng-untouched ng-valid" id="342_3447" name="question[342]" data-question-id="342" ng-change="updateQuestions(question, data[question.id.data_value])"
ng-model="data[question.id.data_value]" value="3447" data-index="5">
<span class="outer fl"><span class="inner"></span></span>Roof Cleaning </label>
</div><!-- end ngRepeat: answer in question.answers.data_value | orderBy: 'priority.data_value' track by answer.id.data_value -->
<div ng-repeat="answer in question.answers.data_value | orderBy: 'priority.data_value' track by answer.id.data_value" class="answer-item ng-scope" ng-class="{'last-answer':$last}">
<label for="342_3449" class="nx-radiobox ng-binding">
<input type="radio" class="lead_question ng-pristine ng-untouched ng-valid" id="342_3449" name="question[342]" data-question-id="342" ng-change="updateQuestions(question, data[question.id.data_value])"
ng-model="data[question.id.data_value]" value="3449" data-index="6">
<span class="outer fl"><span class="inner"></span></span>Roof Snow & Ice Dam Removal </label>
</div><!-- end ngRepeat: answer in question.answers.data_value | orderBy: 'priority.data_value' track by answer.id.data_value -->
<div ng-repeat="answer in question.answers.data_value | orderBy: 'priority.data_value' track by answer.id.data_value" class="answer-item ng-scope last-answer" ng-class="{'last-answer':$last}">
<label for="342_3451" class="nx-radiobox ng-binding">
<input type="radio" class="lead_question ng-pristine ng-untouched ng-valid" id="342_3451" name="question[342]" data-question-id="342" ng-change="updateQuestions(question, data[question.id.data_value])"
ng-model="data[question.id.data_value]" value="3451" data-index="7">
<span class="outer fl"><span class="inner"></span></span>Unsure / Other </label>
</div><!-- end ngRepeat: answer in question.answers.data_value | orderBy: 'priority.data_value' track by answer.id.data_value -->
</div>
<div class="stage-footer">
<button type="button" class="track-prev-question btn-prev-question btn clear selenium-prev-question">Previous</button>
<button type="button" class="track-next-question btn-next-question btn blue large selenium-next-question" disabled="disabled">Next</button>
</div>
</div>
</div><!-- end ngRepeat: question in questions | orderBy: 'display_order.data_value' -->
<div ng-repeat="question in questions | orderBy: 'display_order.data_value'" class="question-stage swiper-slide service-needed ng-scope st-last-question" ng-class="{'st-first-question':$first, 'st-last-question':$last}" data-stage="0">
<div class="question-stage-inner">
<h3 id="question[581]" class="title-selenium ng-binding" value="581">What kind of location is this?</h3>
<div class="answers-wrapper">
<!-- ngRepeat: answer in question.answers.data_value | orderBy: 'priority.data_value' track by answer.id.data_value -->
<div ng-repeat="answer in question.answers.data_value | orderBy: 'priority.data_value' track by answer.id.data_value" class="answer-item ng-scope" ng-class="{'last-answer':$last}">
<label for="581_4285" class="nx-radiobox ng-binding">
<input type="radio" class="lead_question ng-pristine ng-untouched ng-valid" id="581_4285" name="question[581]" data-question-id="581" ng-change="updateQuestions(question, data[question.id.data_value])"
ng-model="data[question.id.data_value]" value="4285" data-index="0">
<span class="outer fl"><span class="inner"></span></span>Home / Residence </label>
</div><!-- end ngRepeat: answer in question.answers.data_value | orderBy: 'priority.data_value' track by answer.id.data_value -->
<div ng-repeat="answer in question.answers.data_value | orderBy: 'priority.data_value' track by answer.id.data_value" class="answer-item ng-scope last-answer" ng-class="{'last-answer':$last}">
<label for="581_4287" class="nx-radiobox ng-binding">
<input type="radio" class="lead_question ng-pristine ng-untouched ng-valid" id="581_4287" name="question[581]" data-question-id="581" ng-change="updateQuestions(question, data[question.id.data_value])"
ng-model="data[question.id.data_value]" value="4287" data-index="1">
<span class="outer fl"><span class="inner"></span></span>Business </label>
</div><!-- end ngRepeat: answer in question.answers.data_value | orderBy: 'priority.data_value' track by answer.id.data_value -->
</div>
<div class="stage-footer">
<button type="button" class="track-prev-question btn-prev-question btn clear selenium-prev-question">Previous</button>
<button type="button" class="track-next-question btn-next-question btn blue large selenium-next-question" disabled="disabled">Next</button>
</div>
</div>
</div><!-- end ngRepeat: question in questions | orderBy: 'display_order.data_value' -->
<div class="question-stage swiper-slide has-tcpa">
<div class="question-stage-inner">
<div class="wrapper">
<h3>Add details for more exact quotes</h3>
<textarea name="add_info" id="add_info" placeholder="Type here" cols="30" rows="10"></textarea>
</div>
<div class="stage-footer">
<button type="button" class="track-prev-question btn-prev-question btn clear">Previous</button>
<button type="button" class="track-next-question track-next-question-text btn-next-question btn blue large selenium-add-info-next-question"> Next </button>
</div>
</div>
</div>
<div class="question-stage swiper-slide has-tcpa details-stage">
<div class="question-stage-inner">
<div class="wrapper">
<h3 class="heading_subtitle"> Almost Done! </h3>
<hr>
<ul class="form-ui-list">
<li>
<span class="check_icon"></span><span class="x_icon"></span>
<div class="dataBlock">
<input type="text" class="required" placeholder="Full Name" autocomplete="name" maxlength="150" name="f_name" id="f_name" value="">
</div>
</li>
<li class="requiredField" id="quote_more_info">
<span class="check_icon"></span><span class="x_icon"></span>
<div class="dataBlock">
<input type="text" name="more_info" id="more_info">
</div>
</li>
<li class="requiredField"><span class="check_icon"></span><span class="x_icon"></span>
<div class="dataBlock">
<input type="tel" class="required phone_mask phone_including_toll_free numbers-only" placeholder="Phone" name="n_phone" id="n_phone" autocomplete="tel-national" value="">
</div>
</li>
<li class="requiredField"><span class="check_icon"></span><span class="x_icon"></span>
<div class="dataBlock">
<input type="email" placeholder="Email" class="required email" name="email" id="email" maxlength="150" autocomplete="email">
</div>
</li>
<li>
<span class="check_icon"></span><span class="x_icon"></span>
<div class="dataBlock">
<input type="text" placeholder="Address" id="address" name="address" maxlength="100" autocomplete="address-line1" value="">
</div>
</li>
</ul>
</div>
<div class="stage-footer">
<input type="submit" class="track-next-question track-next-question-info btn blue large" value="Get Free Quotes">
</div>
<div class="tcpa-compliance">
<p>By clicking 'Get Free Quotes' You agree to our <a target="_blank" rel="nofollow" href="https://www.networx.com/privacy">Terms of Use</a> and our <a id="tcpa-consent">TCPA Consent.</a>
<br>We respect your privacy.
</p>
<p id="tcpa-text" style="display: none;"><br>By submitting this form, you are giving your consent to receive phone calls and text messages from Networx Systems, Inc., its
<a href="https://www.networx.com/terms-use#third-party" target="_blank" style="color: inherit">partners</a>, and other service professionals at the phone number you inputted (including wireless number if provided). Contacting you is for the
purpose of confirming and scheduling your home improvement project request and multiple contractor bids. You understand that automated phone technology, by voice or text messages, may be used to reach you. Please note that providing consent
does not obligate you to purchase or use any product or service.</p>
</div>
</div>
</div>
<input type="hidden" name="xxTrustedFormToken" id="xxTrustedFormToken_0" value="https://cert.trustedform.com/747c4b67a477faf4f0d26dec361216732408a273"><input type="hidden" name="xxTrustedFormCertUrl" id="xxTrustedFormCertUrl_0"
value="https://cert.trustedform.com/747c4b67a477faf4f0d26dec361216732408a273"><input type="hidden" name="xxTrustedFormPingUrl" id="xxTrustedFormPingUrl_0"
value="https://ping.trustedform.com/0.w7P0u6Es5wnIqL20nHKx1EZ9iyC9Y-rq-xqTZkms-XQZUmdWzEkCO1gZoEDi702yW2NFKvmg.rr7xLkjKxugEkbEQLMwcJA.eBUOAHtezElP2s3WF3aHsA">
</form>
Name: frmRequestQuote — GET javascript:void(0)
<form action="javascript:void(0)" method="GET" name="frmRequestQuote" id="" class="get-quote-banner-form get-quote-form disable-safe-submit ng-pristine ng-valid" novalidate="novalidate">
<input type="hidden" name="source_id" class="source_id" id="source_id" value="22">
<div class="top-title">Where do you need the Roofer?</div>
<div class="pos_rel">
<input type="hidden" name="service" class="service" value="123">
<input type="hidden" class="service-uri" value="roofers">
</div>
<div class="inputs-wrapper">
<div class="pos_rel">
<input type="tel" style="width: 100px;" placeholder="Zip Code" name="zip" size="10" maxlength="5" value="" class="float-label main-zip required zipcodeUS" autocomplete="postal-code">
</div>
<input type="submit" class="blue-button track-submit-go" value="Find Pros">
</div>
<input type="hidden" name="xxTrustedFormToken" id="xxTrustedFormToken_1" value="https://cert.trustedform.com/747c4b67a477faf4f0d26dec361216732408a273"><input type="hidden" name="xxTrustedFormCertUrl" id="xxTrustedFormCertUrl_1"
value="https://cert.trustedform.com/747c4b67a477faf4f0d26dec361216732408a273"><input type="hidden" name="xxTrustedFormPingUrl" id="xxTrustedFormPingUrl_1"
value="https://ping.trustedform.com/0.w7P0u6Es5wnIqL20nHKx1EZ9iyC9Y-rq-xqTZkms-XQZUmdWzEkCO1gZoEDi702yW2NFKvmg.rr7xLkjKxugEkbEQLMwcJA.eBUOAHtezElP2s3WF3aHsA">
</form>
Name: frmRequestQuote — GET javascript:void(0)
<form action="javascript:void(0)" method="GET" name="frmRequestQuote" class="get-quote-form company-form disable-safe-submit ng-pristine ng-valid" novalidate="novalidate">
<div class="top-title">Get Free Quotes</div>
<input type="hidden" name="source_id" class="source_id" id="source_id" value="22">
<div class="estimates-content">
<ul>
<select name="service" id="service" style="display:none;">
<option class="service" value="123" selected="" data-service-uri="roofers"></option>
</select>
<li class="requiredField btn-field">
<input type="tel" style="width: 100px;" name="zip" size="10" maxlength="5" value="" id="zip_code" class="float-label main-zip required zipcodeUS" autocomplete="postal-code">
<div id="zip_label" class="label zip_code_t" for="zip1">Zip Code</div>
<input type="submit" class="blue-button track-submit-go" value="Go">
</li>
</ul>
<div class="faded-text">Get quotes from qualified local contractors</div>
</div>
<div style="clear:both;"></div>
<input type="hidden" name="xxTrustedFormToken" id="xxTrustedFormToken_2" value="https://cert.trustedform.com/747c4b67a477faf4f0d26dec361216732408a273"><input type="hidden" name="xxTrustedFormCertUrl" id="xxTrustedFormCertUrl_2"
value="https://cert.trustedform.com/747c4b67a477faf4f0d26dec361216732408a273"><input type="hidden" name="xxTrustedFormPingUrl" id="xxTrustedFormPingUrl_2"
value="https://ping.trustedform.com/0.w7P0u6Es5wnIqL20nHKx1EZ9iyC9Y-rq-xqTZkms-XQZUmdWzEkCO1gZoEDi702yW2NFKvmg.rr7xLkjKxugEkbEQLMwcJA.eBUOAHtezElP2s3WF3aHsA">
</form>
POST #
<form class="acsb-form" data-acsb-search="form" enctype="multipart/form-data" action="#" method="POST"> <input type="text" tabindex="0" name="acsb_search" autocomplete="off" placeholder="Unclear content? Search in dictionary..."
aria-label="Unclear content? Search in dictionary..."> <i class="acsbi-search"></i> <i class="acsbi-chevron_down"></i> <input type="hidden" name="xxTrustedFormToken" id="xxTrustedFormToken_3"
value="https://cert.trustedform.com/747c4b67a477faf4f0d26dec361216732408a273"><input type="hidden" name="xxTrustedFormCertUrl" id="xxTrustedFormCertUrl_3" value="https://cert.trustedform.com/747c4b67a477faf4f0d26dec361216732408a273"><input
type="hidden" name="xxTrustedFormPingUrl" id="xxTrustedFormPingUrl_3" value="https://ping.trustedform.com/0.w7P0u6Es5wnIqL20nHKx1EZ9iyC9Y-rq-xqTZkms-XQZUmdWzEkCO1gZoEDi702yW2NFKvmg.rr7xLkjKxugEkbEQLMwcJA.eBUOAHtezElP2s3WF3aHsA"></form>
Text Content
Use Website In a Screen-Reader Mode Skip to Content ↵ENTER Skip to Menu ↵ENTER Skip to Footer ↵ENTER Networx * Find a Pro * Air Conditioning * Carpentry * Cleaning * Concrete * Drywall * Electrician * Fencing * Flooring * Garage Door Installation * Garage Door Repair * Handyman * Heating & Furnace * HVAC Contractors * Landscaping * Painting * Pest Control * Plumbing * Remodeling * Roofing * Tile * Blog * Cost Guide * Experiences * Login * Pros Login * Homeowner Login * Join as a Pro 0% FIND TRUSTED ROOFERS & GET FREE QUOTES WHAT IS THE PROJECT LOCATION? Next WHAT IS THE NATURE OF THIS PROJECT? Completely replace or install new roof Repair existing roof Siding - Install or Repair Gutters Skylights Roof Cleaning Roof Snow & Ice Dam Removal Unsure / Other Previous Next WHAT KIND OF LOCATION IS THIS? Home / Residence Business Previous Next ADD DETAILS FOR MORE EXACT QUOTES Previous Next ALMOST DONE! -------------------------------------------------------------------------------- * * * * * By clicking 'Get Free Quotes' You agree to our Terms of Use and our TCPA Consent. We respect your privacy. By submitting this form, you are giving your consent to receive phone calls and text messages from Networx Systems, Inc., its partners, and other service professionals at the phone number you inputted (including wireless number if provided). Contacting you is for the purpose of confirming and scheduling your home improvement project request and multiple contractor bids. You understand that automated phone technology, by voice or text messages, may be used to reach you. Please note that providing consent does not obligate you to purchase or use any product or service. Where do you need the Roofer? * FIND ROOFERS NEAR ME Enter your zip code and compare qualified licensed local roofers * LICENSED ROOFING PROS Reliable roofers that are reviewed by homeowners and follow our quality code * GET FREE ROOFING QUOTES The roofers nearby will give you free estimates on your roofing job. FREQUENTLY ASKED QUESTIONS How Much Does it Cost to Hire a Roofer? When you're looking to hire a roofer, expect to pay an average of $4500 - $8600 for a roof replacement or about $310 - $1000 for roof repair. Cost will vary according to factors like: ● Size of your roof and number of roofing squares (1 square = 100² ft) needed to cover ● Number of stories ● Roof type and pitch ● Roofing material to be used ● Whether the existing roof needs to be removed for a roof replacement (if it's badly waterlogged or damaged, made of certain materials, or 2 layers thick) Complexity of the roof installation or repair What are some common types of roofing jobs that roofers typically perform? -Replace or install a new roof -Existing roof repair -Repair or install siding -Gutter installation or repair -Skylights -Roof cleaning -Snow & ice dam removal Can roofers provide a service that would improve a home’s property value? Yes! Your roof can either decrease or increase home value, depending on its condition. Missing or cracked roof shingles scare potential buyers. Home buyers are extremely wary of having to make expensive repairs. It is best to have a professional roofer assess the condition of your roof. New shingles will change the look of your house, and there are many shingle styles to choose from. Although a new roof is a big-ticket item, you can expect to recoup 63% of the cost. Your roof is an investment that you cannot ignore. Would you be responsible for providing equipment/materials for this roofers contractor? Some roofers will prefer to use their own materials. Usually, the cost to hire a roofer includes all supplies and equipment. Can you perform roofing yourself? If you need to perform a minor repair, like fixing a leak or replacing a few shingles, you may be able to DIY. However, this is only advised if you’re comfortable spending time on the roof and can do so safely. However, for major repairs that are beyond your expertise or complicated procedures that require spending long periods of time on the roof, it’s best to hire an experienced professional from local roofing companies. Additionally, a roofer should and has the ability to inspect your roof periodically for damage caused by the elements. How to find an expert roofer? The best way to start is by asking around. Get recommendations from family, friends, and neighbors. Was the price fair? Were they pleased with the results? Did the contractor guarantee his work, and for how long? If you need more options, check out reviews online. What are some recommended questions to ask the roofing contractor before I hire? Asking these important questions will help you find a top roofing pro in your area with the right experience and business practices for your needs. -Are you licensed and insured? -What kind of work do you do most? -Will you provide references (for past jobs similar to mine)? -What does your estimate include? -What will you guarantee/warranty? ARTICLES AND TIPS ICICLES ON YOUR ROOF ARE BAD. HERE’S WHY Icicles on the roof were a highlight of my childhood winters. The neighborhood kids thought they were... Read More HOW TO GET HELP WITH YOUR HOUSE WHILE YOU’RE SOCIAL DISTANCING Imagine: You’re social distancing and working from home (and coping pretty well with the chaos)... Read More HOW TO IMPROVE DOWNSPOUT DRAINAGE One inch of rainfall drops 623 gallons of water onto the roof of a 1,000-square-foot home -- and through... Read More WHY CHOOSE A NETWORX ROOFER FOR YOUR UPCOMING ROOFING PROJECT? It's our mission to provide a superb experience for you by helping you quickly and easily connect with local professional roofing contractors so that you can make the best choice for your roofing needs. Whether you need commercial or residential roofing services, rest assured we will find the right local contractor for you. Every roofer on our site has been screened by us to ensure they are certified and licensed to perform roofing services with top of the line workmanship, including roof replacement and roof installation. In order to be listed with us, our roofing contractors are required to maintain a high level of professionalism and provide excellent customer service - if we receive any valid negative feedback about any of our roofers, we will promptly remove them from our site. If you find yourself asking, “where are local roofing companies near me?”, you are in luck as we service in the following cities and states! ROOFING - TOP STATES Alabama | Arizona | Arkansas | California | Colorado | Connecticut | Delaware | District Of Columbia | Florida | Georgia | Hawaii | Idaho | Illinois | Indiana | Iowa | Kansas | Kentucky | Louisiana | Maine | Maryland | Massachusetts | Michigan | Minnesota | Mississippi | Missouri | Montana | Nebraska | Nevada | New Hampshire | New Jersey | New Mexico | New York | North Carolina | Ohio | Oklahoma | Oregon | Pennsylvania | Rhode Island | South Carolina | South Dakota | Tennessee | Texas | Utah | Vermont | Virginia | Washington | West Virginia | Wisconsin | Wyoming ROOFING - TOP CITIES Austin | Boston | Charlotte | Chicago | Columbus | Dallas | Denver | Detroit | El Paso | Fort Worth | Houston | Indianapolis | Jacksonville | Los Angeles | Memphis | Nashville | New York | Philadelphia | Phoenix | Portland | San Antonio | San Diego | San Francisco | San Jose | Seattle | Washington Get Free Quotes * Zip Code Get quotes from qualified local contractors * Affiliate Program * How It Works * Write a Review * Networx Pros Blog * Careers * About Us * Contact us AS ADVERTISED ON * * * * * * Are you a pro? Join us or Sign in Join us on * * * Terms & Conditions |Privacy Policy|Do Not Sell My Info|Accessibility Tools * © Copyright 2023 Networx Systems, Inc. All Rights Reserved English Accessibility Adjustments Reset Settings Statement Hide Interface Choose the right accessibility profile for you OFF ON Seizure Safe Profile Clear flashes & reduces color This profile enables epileptic and seizure prone users to browse safely by eliminating the risk of seizures that result from flashing or blinking animations and risky color combinations. OFF ON Vision Impaired Profile Enhances website's visuals This profile adjusts the website, so that it is accessible to the majority of visual impairments such as Degrading Eyesight, Tunnel Vision, Cataract, Glaucoma, and others. OFF ON ADHD Friendly Profile More focus & fewer distractions This profile significantly reduces distractions, to help people with ADHD and Neurodevelopmental disorders browse, read, and focus on the essential elements of the website more easily. OFF ON Cognitive Disability Profile Assists with reading & focusing This profile provides various assistive features to help users with cognitive disabilities such as Autism, Dyslexia, CVA, and others, to focus on the essential elements of the website more easily. OFF ON Keyboard Navigation (Motor) Use website with the keyboard This profile enables motor-impaired persons to operate the website using the keyboard Tab, Shift+Tab, and the Enter keys. Users can also use shortcuts such as “M” (menus), “H” (headings), “F” (forms), “B” (buttons), and “G” (graphics) to jump to specific elements. Note: This profile prompts automatically for keyboard users. OFF ON Blind Users (Screen Reader) Optimize website for screen-readers This profile adjusts the website to be compatible with screen-readers such as JAWS, NVDA, VoiceOver, and TalkBack. A screen-reader is software that is installed on the blind user’s computer and smartphone, and websites should ensure compatibility with it. Note: This profile prompts automatically to screen-readers. Content Adjustments Content Scaling Default Readable Font Highlight Titles Highlight Links Text Magnifier Adjust Font Sizing Default Align Center Adjust Line Height Default Align Left Adjust Letter Spacing Default Align Right Color Adjustments Dark Contrast Light Contrast High Contrast High Saturation Adjust Text Colors Cancel Monochrome Adjust Title Colors Cancel Low Saturation Adjust Background Colors Cancel Orientation Adjustments Mute Sounds Hide Images Read Mode Reading Guide Useful Links Select an option Home Header Footer Main Content Stop Animations Reading Mask Highlight Hover Highlight Focus Big Black Cursor Big White Cursor HIDDEN_ADJUSTMENTS Keyboard Navigation Accessible Mode Screen Reader Adjustments Read Mode Web Accessibility By Learn More Choose the Interface Language English Español Deutsch Português Français Italiano עברית 繁體中文 Pусский عربى عربى Nederlands 繁體中文 日本語 Polski Türk Accessibility StatementCompliance status We firmly believe that the internet should be available and accessible to anyone and are committed to providing a website that is accessible to the broadest possible audience, regardless of ability. To fulfill this, we aim to adhere as strictly as possible to the World Wide Web Consortium’s (W3C) Web Content Accessibility Guidelines 2.1 (WCAG 2.1) at the AA level. These guidelines explain how to make web content accessible to people with a wide array of disabilities. Complying with those guidelines helps us ensure that the website is accessible to blind people, people with motor impairments, visual impairment, cognitive disabilities, and more. This website utilizes various technologies that are meant to make it as accessible as possible at all times. We utilize an accessibility interface that allows persons with specific disabilities to adjust the website’s UI (user interface) and design it to their personal needs. Additionally, the website utilizes an AI-based application that runs in the background and optimizes its accessibility level constantly. This application remediates the website’s HTML, adapts its functionality and behavior for screen-readers used by blind users, and for keyboard functions used by individuals with motor impairments. If you wish to contact the website’s owner please use the website's form Screen-reader and keyboard navigation Our website implements the ARIA attributes (Accessible Rich Internet Applications) technique, alongside various behavioral changes, to ensure blind users visiting with screen-readers can read, comprehend, and enjoy the website’s functions. As soon as a user with a screen-reader enters your site, they immediately receive a prompt to enter the Screen-Reader Profile so they can browse and operate your site effectively. Here’s how our website covers some of the most important screen-reader requirements: 1. Screen-reader optimization: we run a process that learns the website’s components from top to bottom, to ensure ongoing compliance even when updating the website. In this process, we provide screen-readers with meaningful data using the ARIA set of attributes. For example, we provide accurate form labels; descriptions for actionable icons (social media icons, search icons, cart icons, etc.); validation guidance for form inputs; element roles such as buttons, menus, modal dialogues (popups), and others. Additionally, the background process scans all of the website’s images. It provides an accurate and meaningful image-object-recognition-based description as an ALT (alternate text) tag for images that are not described. It will also extract texts embedded within the image using an OCR (optical character recognition) technology. To turn on screen-reader adjustments at any time, users need only to press the Alt+1 keyboard combination. Screen-reader users also get automatic announcements to turn the Screen-reader mode on as soon as they enter the website. These adjustments are compatible with popular screen readers such as JAWS, NVDA, VoiceOver, and TalkBack. 2. Keyboard navigation optimization: The background process also adjusts the website’s HTML and adds various behaviors using JavaScript code to make the website operable by the keyboard. This includes the ability to navigate the website using the Tab and Shift+Tab keys, operate dropdowns with the arrow keys, close them with Esc, trigger buttons and links using the Enter key, navigate between radio and checkbox elements using the arrow keys, and fill them in with the Spacebar or Enter key. Additionally, keyboard users will find content-skip menus available at any time by clicking Alt+2, or as the first element of the site while navigating with the keyboard. The background process also handles triggered popups by moving the keyboard focus towards them as soon as they appear, not allowing the focus to drift outside. Users can also use shortcuts such as “M” (menus), “H” (headings), “F” (forms), “B” (buttons), and “G” (graphics) to jump to specific elements. Disability profiles supported on our website * Epilepsy Safe Profile: this profile enables people with epilepsy to safely use the website by eliminating the risk of seizures resulting from flashing or blinking animations and risky color combinations. * Vision Impaired Profile: this profile adjusts the website so that it is accessible to the majority of visual impairments such as Degrading Eyesight, Tunnel Vision, Cataract, Glaucoma, and others. * Cognitive Disability Profile: this profile provides various assistive features to help users with cognitive disabilities such as Autism, Dyslexia, CVA, and others, to focus on the essential elements more easily. * ADHD Friendly Profile: this profile significantly reduces distractions and noise to help people with ADHD, and Neurodevelopmental disorders browse, read, and focus on the essential elements more easily. * Blind Users Profile (Screen-readers): this profile adjusts the website to be compatible with screen-readers such as JAWS, NVDA, VoiceOver, and TalkBack. A screen-reader is installed on the blind user’s computer, and this site is compatible with it. * Keyboard Navigation Profile (Motor-Impaired): this profile enables motor-impaired persons to operate the website using the keyboard Tab, Shift+Tab, and the Enter keys. Users can also use shortcuts such as “M” (menus), “H” (headings), “F” (forms), “B” (buttons), and “G” (graphics) to jump to specific elements. Additional UI, design, and readability adjustments 1. Font adjustments – users can increase and decrease its size, change its family (type), adjust the spacing, alignment, line height, and more. 2. Color adjustments – users can select various color contrast profiles such as light, dark, inverted, and monochrome. Additionally, users can swap color schemes of titles, texts, and backgrounds with over seven different coloring options. 3. Animations – epileptic users can stop all running animations with the click of a button. Animations controlled by the interface include videos, GIFs, and CSS flashing transitions. 4. Content highlighting – users can choose to emphasize essential elements such as links and titles. They can also choose to highlight focused or hovered elements only. 5. Audio muting – users with hearing devices may experience headaches or other issues due to automatic audio playing. This option lets users mute the entire website instantly. 6. Cognitive disorders – we utilize a search engine linked to Wikipedia and Wiktionary, allowing people with cognitive disorders to decipher meanings of phrases, initials, slang, and others. 7. Additional functions – we allow users to change cursor color and size, use a printing mode, enable a virtual keyboard, and many other functions. Assistive technology and browser compatibility We aim to support as many browsers and assistive technologies as possible, so our users can choose the best fitting tools for them, with as few limitations as possible. Therefore, we have worked very hard to be able to support all major systems that comprise over 95% of the user market share, including Google Chrome, Mozilla Firefox, Apple Safari, Opera and Microsoft Edge, JAWS, and NVDA (screen readers), both for Windows and MAC users. Notes, comments, and feedback Despite our very best efforts to allow anybody to adjust the website to their needs, there may still be pages or sections that are not fully accessible, are in the process of becoming accessible, or are lacking an adequate technological solution to make them accessible. Still, we are continually improving our accessibility, adding, updating, improving its options and features, and developing and adopting new technologies. All this is meant to reach the optimal level of accessibility following technological advancements. If you wish to contact the website’s owner, please use the website's form Hide Accessibility Interface? Please note: If you choose to hide the accessibility interface, you won't be able to see it anymore, unless you clear your browsing history and data. Are you sure that you wish to hide the interface? Accept Cancel Continue Processing the data, please give it a few seconds... Press Alt+1 for screen-reader mode