
Contact Information
ArrayAbout Me
Male
March 18, 2026
Critter Details
Hopper is a cute, 14 lb 2-month-old chubby puppy with the sweetest face and the most soulful eyes you’ve ever seen. One look at him and it’s impossible not to fall in love. He has a gentle, affectionate personality and absolutely loves to snuggle up close for cuddles and kisses. Hopper is growing up in foster and learning that people are kind and life can be full of love. He is good with other dogs and cats as he lives with one now that he mostly ignores. Hopper sits for biscuits and even knows sit, stay, and come when following another mature pup's lead. Hopper knows to go to the bathroom outside but still needs frequent potty breaks due to his young age. Hopper enjoys playing with stuffed toys, chew bones, and baby tug-of-war. He is still young and learning to chew bones and not his leash or his favorite people's fingers but with re-direction and consistency, he will learn quickly. Hopper walks well on leash and is great in the car. He also appears to be crate trained as he already sleeps through the night in there. All Hopper needs is a forever family to call his own. If you’re looking for a sweet, loving companion with a heart as big as his puppy eyes, Hopper might be your perfect match. Hopper is microchipped, neutered and current on his vaccines. His adoption fee is $495. Apply to adopt HOPPER LONESTAR at www.ehrdogs.org (function () { // Only on animal detail pages if (!//animals/detail/i.test(location.pathname)) return; // Debounce to avoid double-fire (touchend + click, etc.) var lastNavAt = 0; function toFullSize(url) { try { var u = new URL(url, location.href); u.searchParams.delete(’width’); u.searchParams.delete(’height’); return u.toString(); } catch (e) { return url || ”; } } function looksLikeAnimalPhoto(url) { return //pictures/animals/d+/d+/[^?#]+.(jpg|jpeg|png|gif)/i.test(url || ”); } function handler(e) { var el = e.target; if (!el) return; // Find the closest anchor or image in the click path var a = el.closest ? el.closest(’a’) : null; var img = el.closest ? el.closest(’img’) : null; var url = ”; // Prefer anchor href if it points to an animal photo if (a && a.getAttribute) { var href = a.getAttribute(’href’) || ”; if (href && (href.indexOf(’/pictures/animals/’) !== -1 || looksLikeAnimalPhoto(href))) { url = href; } } // Otherwise fall back to the image src if (!url && img && img.getAttribute) { var src = img.getAttribute(’src’) || ”; if (src && (src.indexOf(’/pictures/animals/’) !== -1 || looksLikeAnimalPhoto(src))) { url = src; } } if (!url) return; // Absolute URL + full-size version try { url = new URL(url, location.href).toString(); } catch (_) {} url = toFullSize(url); // Stop PrettyPhoto (and any other delegated click handlers) e.preventDefault(); e.stopPropagation(); if (e.stopImmediatePropagation) e.stopImmediatePropagation(); // Debounce var now = Date.now(); if (now – lastNavAt < 500) return; lastNavAt = now; // SAME TAB navigation to the full-size image location.href = url; } // Capture phase is the key: we get the event before PrettyPhoto. ['click', 'pointerup', 'touchend'].forEach(function (evt) { document.addEventListener(evt, handler, true); }); })();