1<!DOCTYPE html> 2<html lang="en"> 3 <head> 4<link rel="stylesheet" href="/assets/fonts/google-fonts/fonts.css">
5<script> 6(function(){ 7function isAllowedRecaptchaScript(el){ 8 if((el.getAttribute("type")||"").toLowerCase()==="text/plain"){return true;} 9 if(el.getAttribute("data-cookie-recaptcha-loader")){return true;} 10 return false; 11} 12function shouldBlockRecaptchaSrc(src){ 13 return !!src && /recaptcha\/(api|enterprise)\.js/i.test(src); 14} 15function guardScript(el){ 16 if(!el || el.__ccRecaptchaGuarded){return;} 17 el.__ccRecaptchaGuarded = true; 18 var desc = Object.getOwnPropertyDescriptor(HTMLScriptElement.prototype, "src"); 19 if(!desc || !desc.set){return;} 20 Object.defineProperty(el, "src", { 21 configurable: true, 22 enumerable: true, 23 get: function(){ return el.getAttribute("src") || ""; }, 24 set: function(v){ 25 if(shouldBlockRecaptchaSrc(v) && !isAllowedRecaptchaScript(el)){ 26 el.setAttribute("data-cc-blocked-recaptcha-src", v); 27 return; 28 } 29 desc.set.call(el, v); 30 } 31 }); 32} 33function releaseBlockedSrc(el){ 34 if(!el || !isAllowedRecaptchaScript(el)){return;} 35 var blocked = el.getAttribute("data-cc-blocked-recaptcha-src"); 36 if(!blocked){return;} 37 el.removeAttribute("data-cc-blocked-recaptcha-src"); 38 var desc = Object.getOwnPropertyDescriptor(HTMLScriptElement.prototype, "src"); 39 if(desc && desc.set){desc.set.call(el, blocked);} 40} 41var origSetAttribute = Element.prototype.setAttribute; 42Element.prototype.setAttribute = function(name, value){ 43 origSetAttribute.call(this, name, value); 44 if(name === "data-cookie-recaptcha-loader" && this.nodeName === "SCRIPT"){ 45 releaseBlockedSrc(this); 46 } 47}; 48var origCreate = document.createElement.bind(document); 49document.createElement = function(tag){ 50 var el = origCreate(tag); 51 if(String(tag).toLowerCase() === "script"){guardScript(el);} 52 return el; 53}; 54function stripRecaptchaLoaders(){ 55 document.querySelectorAll('script[src*="recaptcha/api.js"],script[src*="recaptcha/enterprise.js"]').forEach(function(el){ 56 if(!isAllowedRecaptchaScript(el)){ 57 var src = el.getAttribute("src"); 58 if(src){el.setAttribute("data-cc-blocked-recaptcha-src", src);} 59 el.removeAttribute("src"); 60 el.setAttribute("type", "text/plain"); 61 } 62 }); 63} 64document.querySelectorAll("script").forEach(guardScript); 65stripRecaptchaLoaders(); 66new MutationObserver(function(muts){ 67 muts.forEach(function(m){ 68 m.addedNodes.forEach(function(n){ 69 if(n.nodeName === "SCRIPT"){guardScript(n);} 70 }); 71 }); 72 stripRecaptchaLoaders(); 73}).observe(document.documentElement,{childList:true,subtree:true}); 74})(); 75</script>
vendor: 1 bytes, line 75
75
76<script> 77(function(){ 78/** 79 * Shared embed runtime helpers for IframeManager placeholder conversion. 80 * Included by the consent config module and the head embed guard. 81 */ 82function getYoutubeVideoId(url) { 83 if (!url) { 84 return null; 85 } 86 87 try { 88 const parsed = new URL(url, window.location.origin); 89 const host = parsed.hostname.replace(/^www\./, ""); 90 91 if (host === "youtu.be") { 92 return parsed.pathname.slice(1).split("/")[0] || null; 93 } 94 95 if (host.includes("youtube.com") || host.includes("youtube-nocookie.com")) { 96 if (parsed.pathname.startsWith("/embed/")) { 97 return parsed.pathname.split("/")[2] || null; 98 } 99 100 return parsed.searchParams.get("v"); 101 } 102 } catch (error) { 103 return null; 104 } 105 106 return null; 107} 108 109function getVimeoVideoId(url) { 110 if (!url) { 111 return null; 112 } 113 114 try { 115 const parsed = new URL(url, window.location.origin); 116 const host = parsed.hostname.replace(/^www\./, ""); 117 118 if (host === "player.vimeo.com" && parsed.pathname.startsWith("/video/")) { 119 return parsed.pathname.split("/")[2] || null; 120 } 121 122 if (host === "vimeo.com") { 123 return parsed.pathname.split("/").filter(Boolean)[0] || null; 124 } 125 } catch (error) { 126 return null; 127 } 128 129 return null; 130} 131 132function getGoogleMapsEmbedId(url) { 133 if (!url) { 134 return null; 135 } 136 137 try { 138 const parsed = new URL(url, window.location.origin); 139 const host = parsed.hostname.replace(/^www\./, ""); 140 if (host === "google.com" && parsed.pathname.startsWith("/maps/")) { 141 const suffix = `${parsed.pathname.slice("/maps/".length)}${parsed.search}`.replace(/^\//, ""); 142 return suffix || null; 143 } 144 if (host === "maps.google.com") { 145 const suffix = `${parsed.pathname.replace(/^\//, "")}${parsed.search}`; 146 return suffix || null; 147 } 148 } catch (error) { 149 return null; 150 } 151 152 return null; 153} 154 155function getSpotifyEmbedId(url) { 156 if (!url) { 157 return null; 158 } 159 160 try { 161 const parsed = new URL(url, window.location.origin); 162 const host = parsed.hostname.replace(/^www\./, ""); 163 164 if (!host.includes("spotify.com") || !parsed.pathname.includes("/embed/")) { 165 return null; 166 } 167 168 const suffix = `${parsed.pathname.split("/embed/")[1] || ""}${parsed.search}`.replace(/^\//, ""); 169 return suffix || null; 170 } catch (error) { 171 return null; 172 } 173} 174 175function getSoundCloudEmbedId(url) { 176 if (!url) { 177 return null; 178 } 179 180 try { 181 const parsed = new URL(url, window.location.origin); 182 const host = parsed.hostname.replace(/^www\./, ""); 183 184 if (!host.includes("soundcloud.com") || !parsed.pathname.includes("/player")) { 185 return null; 186 } 187 188 return parsed.search ? parsed.search.slice(1) : null; 189 } catch (error) { 190 return null; 191 } 192} 193 194function getInvestingWidgetEmbedId(url) { 195 if (!url) { 196 return null; 197 } 198 199 try { 200 const parsed = new URL(url, window.location.origin); 201 const host = parsed.hostname.replace(/^www\./, ""); 202 203 if (!/(?:^|\.)forexprostools\.com$|(?:^|\.)investing\.com$/i.test(host)) { 204 return null; 205 } 206 207 return parsed.href; 208 } catch (error) { 209 return null; 210 } 211} 212 213function getFacebookEmbedId(url) { 214 if (!url) { 215 return null; 216 } 217 218 try { 219 const parsed = new URL(url, window.location.origin); 220 const host = parsed.hostname.replace(/^www\./, ""); 221 222 if (!host.includes("facebook.com") || !parsed.pathname.includes("/plugins/")) { 223 return null; 224 } 225 226 const suffix = `${parsed.pathname.split("/plugins/")[1] || ""}${parsed.search}`.replace(/^\//, ""); 227 return suffix || null; 228 } catch (error) { 229 return null; 230 } 231} 232 233function normalizeGoogleMapsPlaceholders() { 234 document.querySelectorAll('[data-service="googlemaps"]').forEach((el) => { 235 const id = el.getAttribute("data-id"); 236 if (id && !id.includes("?") && !id.includes("/")) { 237 el.setAttribute("data-id", `embed?pb=${id}`); 238 } 239 }); 240} 241 242const KNOWN_EMBED_RATIOS = new Set([ 243 "1:1", 244 "2:1", 245 "3:2", 246 "5:2", 247 "4:3", 248 "16:9", 249 "16:10", 250 "20:9", 251 "21:9", 252 "9:16", 253 "9:20", 254]); 255 256function gcd(a, b) { 257 return b ? gcd(b, a % b) : a; 258} 259 260function normalizeCssSize(value) { 261 if (!value) { 262 return value; 263 } 264 return /^\d+$/.test(value) ? `${value}px` : value; 265} 266 267function parsePixelSize(value) { 268 if (!value) { 269 return null; 270 } 271 if (/^\d+$/.test(value)) { 272 return parseInt(value, 10); 273 } 274 const match = /^(\d+(?:\.\d+)?)px$/i.exec(value.trim()); 275 return match ? Math.round(parseFloat(match[1])) : null; 276} 277 278function ratioForPixels(widthPx, heightPx) { 279 const divisor = gcd(widthPx, heightPx); 280 const key = `${widthPx / divisor}:${heightPx / divisor}`; 281 return KNOWN_EMBED_RATIOS.has(key) ? key : null; 282} 283 284function extractIframeDimensions(iframe) { 285 let width = iframe.getAttribute("width"); 286 let height = iframe.getAttribute("height"); 287 const style = iframe.getAttribute("style") || ""; 288 289 style.split(";").forEach((chunk) => { 290 if (!chunk.includes(":")) { 291 return; 292 } 293 const [rawKey, rawValue] = chunk.split(":");
294 const key = rawKey.trim().toLowerCase(); 295 const value = rawValue.trim(); 296 if (key === "width" && !width) { 297 width = value; 298 } 299 if (key === "height" && !height) { 300 height = value; 301 } 302 }); 303 304 return { width, height }; 305} 306 307function applyDimensionsToPlaceholder(placeholder, { width, height }) { 308 if (!width && !height) { 309 placeholder.setAttribute("data-autoscale", ""); 310 return; 311 } 312 313 const styleParts = []; 314 if (width) { 315 styleParts.push(`width:${normalizeCssSize(width)}`); 316 } 317 if (height) { 318 styleParts.push(`height:${normalizeCssSize(height)}`); 319 } 320 styleParts.push("margin:0 auto"); 321 placeholder.setAttribute("style", styleParts.join(";")); 322 323 const widthPx = parsePixelSize(width); 324 const heightPx = parsePixelSize(height); 325 if (widthPx && heightPx) { 326 const ratio = ratioForPixels(widthPx, heightPx); 327 if (ratio) { 328 placeholder.setAttribute("data-ratio", ratio); 329 return; 330 } 331 placeholder.classList.add("im-fixed-size"); 332 return; 333 } 334 335 if (height || (width && !String(width).includes("%"))) { 336 placeholder.classList.add("im-fixed-size"); 337 return; 338 } 339 340 placeholder.setAttribute("data-autoscale", ""); 341} 342 343function getEmbedQueryParams(url) { 344 if (!url) { 345 return ""; 346 } 347 348 try { 349 return new URL(url, window.location.origin).searchParams.toString(); 350 } catch (error) { 351 return ""; 352 } 353} 354 355function getLegacyEmbedTarget(iframe) { 356 const src = iframe.getAttribute("src") 357 || iframe.getAttribute("data-src") 358 || iframe.getAttribute("data-cc-blocked-embed-src") 359 || ""; 360 361 if (!src) { 362 return null; 363 } 364 365 const youtubeId = getYoutubeVideoId(src); 366 367 if (youtubeId) { 368 return { 369 service: "youtube", 370 id: youtubeId, 371 params: getEmbedQueryParams(src), 372 }; 373 } 374 375 const vimeoVideoId = getVimeoVideoId(src); 376 377 if (vimeoVideoId) { 378 return { 379 service: "vimeo", 380 id: vimeoVideoId, 381 params: getEmbedQueryParams(src), 382 }; 383 } 384 385 const mapsId = src.includes("google.com/maps") || src.includes("maps.google") 386 ? getGoogleMapsEmbedId(src) 387 : null; 388 389 if (mapsId) { 390 return { 391 service: "googlemaps", 392 id: mapsId, 393 params: "", 394 }; 395 } 396 397 if (/spotify\.com\/embed/i.test(src)) { 398 const spotifyId = getSpotifyEmbedId(src); 399 if (spotifyId) { 400 return { 401 service: "spotify", 402 id: spotifyId, 403 params: "", 404 }; 405 } 406 } 407 408 if (/soundcloud\.com\/player/i.test(src)) { 409 const soundcloudId = getSoundCloudEmbedId(src); 410 if (soundcloudId) { 411 return { 412 service: "soundcloud", 413 id: soundcloudId, 414 params: "", 415 }; 416 } 417 } 418 419 if (/facebook\.com\/plugins/i.test(src)) { 420 const facebookId = getFacebookEmbedId(src); 421 if (facebookId) { 422 return { 423 service: "facebook_social", 424 id: facebookId, 425 params: "", 426 }; 427 } 428 } 429 430 if (/forexprostools\.com|investing\.com/i.test(src)) { 431 const investingId = getInvestingWidgetEmbedId(src); 432 if (investingId) { 433 return { 434 service: "investing_widget", 435 id: investingId, 436 params: "", 437 }; 438 } 439 } 440 441 return null; 442} 443 444function copyIframeAttributesToPlaceholder(iframe, placeholder) { 445 const passthroughAttributes = ["title", "loading", "referrerpolicy"]; 446 447 passthroughAttributes.forEach((attribute) => { 448 const value = iframe.getAttribute(attribute); 449 450 if (!value) { 451 return; 452 } 453 454 if (attribute === "title") { 455 placeholder.setAttribute("data-title", value); 456 return; 457 } 458 459 placeholder.setAttribute(`data-iframe-${attribute}`, value); 460 }); 461 462 iframe.getAttributeNames().forEach((attribute) => { 463 if (!attribute.startsWith("data-iframe-")) { 464 return; 465 } 466 467 placeholder.setAttribute(attribute, iframe.getAttribute(attribute)); 468 }); 469} 470function neutralize(iframe){ 471 if(!iframe||iframe.closest("[data-service]")){return;} 472 var target=getLegacyEmbedTarget(iframe); 473 if(!target){return;} 474 var placeholder=document.createElement("div"); 475 placeholder.setAttribute("data-service",target.service); 476 placeholder.setAttribute("data-id",target.id); 477 applyDimensionsToPlaceholder(placeholder,extractIframeDimensions(iframe)); 478 copyIframeAttributesToPlaceholder(iframe,placeholder); 479 iframe.replaceWith(placeholder); 480} 481function isTrackableEmbedSrc(src) { 482 if (!src) { 483 return false;
484 } 485 return /google\.com\/maps|maps\.google/i.test(src) 486 || /youtube\.com|youtu\.be|youtube-nocookie\.com/i.test(src) 487 || /vimeo\.com/i.test(src) 488 || /spotify\.com\/embed/i.test(src) 489 || /soundcloud\.com\/player/i.test(src) 490 || /facebook\.com\/plugins/i.test(src) 491 || /forexprostools\.com|investing\.com/i.test(src); 492} 493 494function isConsentManagedEmbed(iframe) { 495 return Boolean(iframe?.closest("[data-service]")); 496} 497 498function releaseBlockedEmbedSrc(iframe) { 499 if (!iframe || iframe.tagName !== "IFRAME" || !isConsentManagedEmbed(iframe)) { 500 return false; 501 } 502 const blocked = iframe.getAttribute("data-cc-blocked-embed-src"); 503 if (!blocked) { 504 return false; 505 } 506 iframe.removeAttribute("data-cc-blocked-embed-src"); 507 const desc = Object.getOwnPropertyDescriptor(HTMLIFrameElement.prototype, "src"); 508 if (desc && desc.set) { 509 desc.set.call(iframe, blocked); 510 } else { 511 iframe.setAttribute("src", blocked); 512 } 513 return true; 514} 515 516function blockIframeLoad(iframe, src) { 517 if (!src || !isTrackableEmbedSrc(src) || isConsentManagedEmbed(iframe)) { 518 return false; 519 } 520 iframe.setAttribute("data-cc-blocked-embed-src", src); 521 iframe.removeAttribute("src"); 522 iframe.removeAttribute("data-src"); 523 return true; 524} 525 526function guardIframe(iframe) { 527 if (!iframe || iframe.__ccEmbedGuarded || iframe.tagName !== "IFRAME") { 528 return; 529 } 530 iframe.__ccEmbedGuarded = true; 531 const desc = Object.getOwnPropertyDescriptor(HTMLIFrameElement.prototype, "src"); 532 if (desc && desc.set) { 533 Object.defineProperty(iframe, "src", { 534 configurable: true, 535 enumerable: true, 536 get() { 537 return iframe.getAttribute("src") || ""; 538 }, 539 set(value) { 540 if (isConsentManagedEmbed(iframe)) { 541 desc.set.call(iframe, value); 542 return; 543 } 544 if (blockIframeLoad(iframe, value)) { 545 return; 546 } 547 desc.set.call(iframe, value); 548 }, 549 }); 550 } 551 const pending = iframe.getAttribute("src") || iframe.getAttribute("data-src"); 552 if (pending && !isConsentManagedEmbed(iframe)) { 553 if (blockIframeLoad(iframe, pending) && typeof neutralize === "function") { 554 neutralize(iframe); 555 } 556 } 557} 558 559const origSetAttribute = Element.prototype.setAttribute; 560Element.prototype.setAttribute = function setAttribute(name, value) { 561 origSetAttribute.call(this, name, value); 562 if (this.tagName !== "IFRAME") { 563 return; 564 } 565 if (name === "src" || name === "data-src") { 566 guardIframe(this); 567 if (!isConsentManagedEmbed(this)) { 568 if (blockIframeLoad(this, value) && typeof neutralize === "function") { 569 neutralize(this); 570 } 571 } 572 } 573}; 574 575const origCreateElement = document.createElement.bind(document); 576document.createElement = function createElement(tag, options) { 577 const el = origCreateElement(tag, options); 578 if (String(tag).toLowerCase() === "iframe") { 579 guardIframe(el); 580 } 581 return el; 582}; 583 584function releaseManagedEmbedIframes(root) { 585 if (!root || !root.querySelectorAll) { 586 return; 587 } 588 root.querySelectorAll("iframe[data-cc-blocked-embed-src]").forEach(releaseBlockedEmbedSrc); 589} 590 591document.querySelectorAll("iframe").forEach(guardIframe); 592 593new MutationObserver(function observeEmbedIframes(mutations) { 594 mutations.forEach(function(mutation) { 595 mutation.addedNodes.forEach(function(node) { 596 if (node.nodeType !== 1) { 597 return; 598 } 599 if (node.tagName === "IFRAME") { 600 guardIframe(node); 601 releaseBlockedEmbedSrc(node); 602 return; 603 } 604 releaseManagedEmbedIframes(node); 605 }); 606 }); 607}).observe(document.documentElement, { childList: true, subtree: true }); 608function scan(root){ 609 if(!root||!root.querySelectorAll){return;} 610 root.querySelectorAll("iframe[src],iframe[data-src],iframe[data-cc-blocked-embed-src]").forEach(function(iframe){ 611 guardIframe(iframe); 612 if(iframe.closest("[data-service]")){releaseBlockedEmbedSrc(iframe);} 613 else{neutralize(iframe);} 614 }); 615} 616scan(document.documentElement); 617new MutationObserver(function(mutations){ 618 mutations.forEach(function(m){ 619 m.addedNodes.forEach(function(node){ 620 if(node.nodeType!==1){return;} 621 if(node.tagName==="IFRAME"){guardIframe(node);if(node.closest("[data-service]")){releaseBlockedEmbedSrc(node);}else{neutralize(node);}} 622 else{scan(node);} 623 }); 624 }); 625}).observe(document.documentElement,{childList:true,subtree:true}); 626})(); 627</script>
vendor: 1 bytes, line 627
627
628<script> 629 window.dataLayer = window.dataLayer || []; 630 function gtag(){dataLayer.push(arguments);} 631 gtag('consent', 'default', { 632 'analytics_storage': 'denied', 633 'ad_storage': 'denied', 634 'ad_user_data': 'denied', 635 'ad_personalization': 'denied', 636 'functionality_storage': 'denied', 637 'personalization_storage': 'denied', 638 'security_storage': 'denied', 639 'wait_for_update': 500 640 }); 641</script>
641 642 643 <title>Photo Gallery | Smith Builders & Developers</title> 644 <meta name="viewport" content="width=device-width, initial-scale=1"> 645 <link rel="stylesheet" type="text/css" href="/assets/css/styles.min.css"> 646 <link rel="stylesheet" href="/assets/css/animate.css"> 647 648 649 650 <link rel="stylesheet" href="/assets/fonts/font-awesome/css/all.css" crossorigin="anonymous"> 651
651<script src="https://kit.fontawesome.com/0e0232b87b.js" crossorigin="anonymous"></script>
651 652 <link rel="stylesheet" href="/assets/fonts/font-awesome/css/font-awesome.min.css"> 653
653<script src="/assets/vendor/cdnjs.cloudflare.com/ajax/libs/modernizr/2.8.3/modernizr.min.js" type="text/javascript"></script>
653 654
654<script src="/assets/vendor/ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
654 655 <!-- Google tag (gtag.js) -->
vendor: 145 bytes, lines 655-656
655 656 <script async type="text/plain" data-category="analytics" data-service="google_tag_manager" src="https://www.googletagmanager.com/gtag/js?id=
656G-JDGBD24Z00
vendor: 14 bytes, lines 656-657
656"></script> 657
657<script type="text/plain" data-category="analytics" data-service="google_analytics"> 658
vendor: 140 bytes, lines 658-662
658window.dataLayer = window.dataLayer || []; 659 function gtag(){dataLayer.push(arguments);} 660 gtag('js', new Date()); 661 662 gtag('config', '
662G-JDGBD24Z00
vendor: 6 bytes, lines 662-663
662'); 663
663</script>
663 664 <link rel="stylesheet" type="text/css" href="/assets/css/cookieconsent.css"> 665<link rel="stylesheet" type="text/css" href="/assets/css/iframemanager.css">
666<script src="/assets/js/iframemanager.js"></script>
vendor: 1 bytes, line 666
666
667<script type="module" src="/assets/js/cookieconsent-config.js?v=42.ab9ed733a3"></script>
667 668 669<link rel="stylesheet" type="text/css" href="//cdn.jsdelivr.net/jquery.slick/1.5.0/slick.css"/></head> 670 <body> 671 672 <div class="tippytop"> 673 <div class="row"> 674 <div class="columns small-only-text-center text-right"> 675 <a href="tel:9038502992"><i class="fa-sharp fa-solid fa-square-phone"></i> (903) 850-2992</a> 676 <a href="/contact/" class="button"><i class="fa-solid fa-helmet-safety"></i> Request Quote</a> 677 </div> 678 </div> 679 </div> 680 681 <div class="contain-to-grid"> 682 <nav class="top-bar" data-topbar data-options="mobile_show_parent_link: false"> 683 <ul class="title-area"> 684 <li class="name title"> 685 <img class="logo" src="/images/header-logo.png"> 686 </li> 687 <li class="toggle-topbar menu-icon"><a href="#"><span>Menu</span></a></li> 688 </ul> 689 690 <section class="top-bar-section"> 691 <ul class="right"> 692 <li><a href="/">Home</a></li><li><a href="/about/">About</a></li><li><a href="/services/">Services</a></li><li><a href="/photo-gallery?album_id=2">Projects</a></li><li><a href="/contact/">Contact</a></li> 693 </ul> 694 </section> 695 </nav> 696 </div> 697 698<div class="pageHeader"> 699 <div class="row"> 700 <div class="small-12 columns text-center"> 701 <h1></h1> 702 </div> 703 </div> 704</div> 705 706<!--Start contentMain--> 707 <div class="contentMain"> 708 709 710<div class="contentMain"> 711 <div class="row"> 712 <div class="small-12 columns"> 713 <h1>Photo Gallery</h1> 714 <ul class="clearing-thumbs small-block-grid-2 medium-block-grid-3 large-block-grid-4" data-clearing> 715 <li> 716 <a class="th" href="/glide/uploads/gallery/65a097b70a989/?w=1920&h=1200"> 717 <img data-caption="" alt="" longdesc="" src="/glide/uploads/gallery/65a097b70a989/?h=400&w=400&fit=crop" > 718 </a> 719 </li> 720 <li> 721 <a class="th" href="/glide/uploads/gallery/65a097b7c18e2/?w=1920&h=1200"> 722 <img data-caption="" alt="" longdesc="" src="/glide/uploads/gallery/65a097b7c18e2/?h=400&w=400&fit=crop" > 723 </a> 724 </li> 725 <li> 726 <a class="th" href="/glide/uploads/gallery/65a097b8c21ad/?w=1920&h=1200"> 727 <img data-caption="" alt="" longdesc="" src="/glide/uploads/gallery/65a097b8c21ad/?h=400&w=400&fit=crop" > 728 </a> 729 </li> 730 <li> 731 <a class="th" href="/glide/uploads/gallery/65a097b9e929f/?w=1920&h=1200"> 732 <img data-caption="" alt="" longdesc="" src="/glide/uploads/gallery/65a097b9e929f/?h=400&w=400&fit=crop" > 733 </a> 734 </li> 735 <li> 736 <a class="th" href="/glide/uploads/gallery/65a097bc3078f/?w=1920&h=1200"> 737 <img data-caption="" alt="" longdesc="" src="/glide/uploads/gallery/65a097bc3078f/?h=400&w=400&fit=crop" > 738 </a> 739 </li> 740 <li> 741 <a class="th" href="/glide/uploads/gallery/65a097bd1d402/?w=1920&h=1200"> 742 <img data-caption="" alt="" longdesc="" src="/glide/uploads/gallery/65a097bd1d402/?h=400&w=400&fit=crop" > 743 </a> 744 </li> 745 <li> 746 <a class="th" href="/glide/uploads/gallery/65a097be65f10/?w=1920&h=1200"> 747 <img data-caption="" alt="" longdesc="" src="/glide/uploads/gallery/65a097be65f10/?h=400&w=400&fit=crop" > 748 </a> 749 </li> 750 <li> 751 <a class="th" href="/glide/uploads/gallery/65a097c01d618/?w=1920&h=1200"> 752 <img data-caption="" alt="" longdesc="" src="/glide/uploads/gallery/65a097c01d618/?h=400&w=400&fit=crop" > 753 </a> 754 </li> 755 <li> 756 <a class="th" href="/glide/uploads/gallery/65a097c13ffa5/?w=1920&h=1200"> 757 <img data-caption="" alt="" longdesc="" src="/glide/uploads/gallery/65a097c13ffa5/?h=4
75700&w=400&fit=crop" > 758 </a> 759 </li> 760 <li> 761 <a class="th" href="/glide/uploads/gallery/65a097c295903/?w=1920&h=1200"> 762 <img data-caption="" alt="" longdesc="" src="/glide/uploads/gallery/65a097c295903/?h=400&w=400&fit=crop" > 763 </a> 764 </li> 765 </ul> 766 767 </div> 768 </div> 769</div> 770 771</div> 772 773<div class="footer"> 774 <div class="row valign-middle"> 775 776 <div class="columns medium-4 text-center"> 777 <h4>site map</h4> 778 <p> 779 <a href="/services/">Commercial Construction</a><br> 780 <a href="/about/">About Our Company</a><br> 781 <a href="/photo-gallery?album_id=2">View Our Work</a><br> 782 <a href="/contact/">Contact Us</a><br> 783 <a href="/privacy-policy">Privacy Policy</a><br> 784 <a href="#" data-cc="show-preferencesModal">Cookie Settings</a> 785 </p> 786 </div> 787 788 <div class="columns medium-4 small-12 text-center"> 789 <a href="/"><img src="/images/footer.png"></a> 790 <img src="/images/bbb.png"> 791 </div> 792 793 <div class="columns medium-4 small-12 text-center"> 794 <a href="tel:9038502992" class="button large"><i class="fa-sharp fa-solid fa-square-phone"></i> (903) 850-2992</a> 795 <p> 796 ©
796<script language="JavaScript" type="text/javascript"> 797 now = new Date 798 theYear=now.getYear() 799 if (theYear < 1900) 800 theYear=theYear+1900 801 document.write(theYear) 802 </script>
802 Smith Builders & Developers<br>Website by <a href="https://groupm7.com" target="_blank">GroupM7 Design™</a> 803 </p> 804 </div> 805 806 </div> 807</div> 808 809
809<script src="/assets/vendor/cdnjs.cloudflare.com/ajax/libs/foundation/5.5.1/js/foundation.min.js"></script>
809 810
810<script>$(document).foundation()</script>
810 811
811<script src="/assets/js/wow.js"></script>
811 812
812<script> 813 $(function() { 814 $(document).foundation(); 815 new WOW().init(); 816 }); 817 </script>
817 818
818<script> 819 $(document).foundation({ 820 equalizer : { 821 // Specify if Equalizer should make elements equal height once they become stacked. 822 equalize_on_stack: true 823 } 824}); 825 </script>
825 826
827<script src="/owlcarousel/owl.carousel.min.js"></script>
vendor: 1 bytes, line 827
827
828<script> 829 $('.owl-carousel').owlCarousel({ 830 loop:true, 831 margin:30, 832 nav:true, 833 navText : ["<i class='fa fa-chevron-left'></i>","<i class='fa fa-chevron-right'></i>"], 834 autoplay:true, 835 autoplayTimeout:4000, 836 autoplaySpeed: 1500, 837 autoplayHoverPause:false, 838 responsiveClass:true, 839 responsive:{ 840 0:{ 841 items:1, 842 }, 843 642:{ 844 items:2, 845 }, 846 1026:{ 847 items:3, 848 } 849 } 850 }) 851 </script>
851 852 853 854
854<script data-cookie-recaptcha-footer-shim="1"> 855(function(){ 856function patchButtonClick(){ 857 if(typeof window.ensureConsentGatedButtonClick==="function"){ 858 window.ensureConsentGatedButtonClick(); 859 return; 860 } 861 if(typeof window.buttonClick!=="function"||!/grecaptcha/.test(window.buttonClick.toString())){ 862 return; 863 } 864 if(/enableRecaptcha|activateRecaptcha|submitContactFormWithRecaptcha/.test(window.buttonClick.toString())){ 865 return; 866 } 867 window.buttonClick=async function(){ 868 var formEl=document.getElementById("ContactForm")||document.querySelector("form"); 869 if(typeof checkRequired==="function"&&formEl){ 870 var missing=checkRequired(formEl); 871 if(missing&&missing.length){return false;} 872 } 873 for(var i=0;i<100;i++){ 874 if(typeof window.submitContactFormWithRecaptcha==="function"){break;} 875 await new Promise(function(r){setTimeout(r,50);}); 876 } 877 if(typeof window.submitContactFormWithRecaptcha==="function"){ 878 await window.submitContactFormWithRecaptcha(); 879 return; 880 } 881 alert("Security verification is loading. Please try again in a moment."); 882 }; 883} 884patchButtonClick(); 885document.addEventListener("DOMContentLoaded",patchButtonClick); 886window.addEventListener("load",patchButtonClick); 887})(); 888</script>
vendor: 1 bytes, line 888
888
889<script type="text/javascript" src="//cdn.jsdelivr.net/jquery.slick/1.5.0/slick.min.js"></script>
889</body> 890</html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.