Shingle Gallery

Browse our Premium Selection of Roof Shingles

Protex Roofing is a dedicated contractor in the Coastal Bend area, focused on providing top-quality roofing products and services. We prioritize excellence and professionalism in every project, ensuring your home construction needs are met.

With a wide selection of shingles in various styles and colors, we aim to help you achieve your vision for your home. Explore our collection, and feel free to contact us for questions or to schedule an estimate.

Supreme®

Supreme® Desert Tan
Supreme® Onyx Black
Supreme® Brownwood
Supreme® Estate Gray
Supreme® Driftwood

Oakridge®

Oakridge® Brownwood
Oakridge® Desert Tan
Oakridge® Driftwood
Oakridge® Estate Gray
Oakridge® Onyx Black
Oakridge® Teak

TruDefinition™ Duration®

TruDefinition™ Duration® Brownwood
TruDefinition™ Duration® Chateau Green
TruDefinition™ Duration® Colonial Slate
TruDefinition™ Duration® Desert Rose
TruDefinition™ Duration® Driftwood
TruDefinition™ Duration® Estate Gray
TruDefinition™ Duration® Harbor Blue
TruDefinition™ Duration® Midnight Plum
TruDefinition™ Duration® Onyx Black
TruDefinition™ Duration® Peppercorn
TruDefinition™ Duration® Sierra Gray
TruDefinition™ Duration® Teak
TruDefinition™ Duration® Terra cotta
TruDefinition™ Duration® Williamsburg Gray

TruDefinition™ Duration® Designer Colors

TruDefinition™ Duration® Designer Colors Collection Aged Copper
TruDefinition™ Duration® Designer Colors Collection Black Sable
TruDefinition™ Duration® Designer Colors Collection Bourbon
TruDefinition™ Duration® Designer Colors Collection Merlot
TruDefinition™ Duration® Designer Colors Collection Pacific Wave
TruDefinition™ Duration® Designer Colors Collection Sand Dune
TruDefinition™ Duration® Designer Colors Collection Sedona Canyon
TruDefinition™ Duration® Designer Colors Collection Storm Cloud
TruDefinition™ Duration® Designer Colors Collection Summer Harvest
document.addEventListener("DOMContentLoaded", function () { gsap.registerPlugin(ScrollTrigger); // Debugging: Check if ScrollTrigger is registered console.log("ScrollTrigger registered:", ScrollTrigger); // Animate elements with data-waypoint="this" let waypointThisElements = gsap.utils.toArray('[waypoint="this"]'); // console.log("waypointThisElements:", waypointThisElements); waypointThisElements.forEach((element) => { console.log("Animating element:", element); gsap.from(element, { opacity: 0, y: 25, duration: 1, ease: "power3.inOut", scrollTrigger: { trigger: element, start: "top 80%", end: "bottom 50%", toggleActions: "play none none pause", // markers: true, }, }); }); // Animate children of elements with data-waypoint="these" let waypointTheseElements = gsap.utils.toArray('[waypoint="these"]'); // console.log("waypointTheseElements:", waypointTheseElements); waypointTheseElements.forEach((parentElement) => { let children = parentElement.children; console.log("Animating children of:", parentElement, "Children:", children); gsap.from(children, { opacity: 0, y: 25, duration: 1, ease: "power3.inOut", stagger: 0.2, scrollTrigger: { trigger: parentElement, start: "top 80%", end: "bottom 50%", toggleActions: "play none none pause", // markers: true, }, }); }); });