Completando familias desde 1945

Todo animal merece un hogar lleno de amor.

La Sociedad Protectora de Animales de la Costa del Golfo ha estado completando familias desde 1945. Adopta, acoge, sé voluntario o dona para ayudarnos a salvar más vidas.

Sigue nuestro viaje

@gulfcoasthumanesocietycc

'; } else { html += '
'; } } ); si ( post.children.length > 1 ) { html += ''; html += ''; html += '
'; post.children.forEach( function( _, i ) { html += ''; } ); html += '
'; } html += '
'; } else { html = ''; } mediaEl.innerHTML = html; // Navegación en carrusel var diapositiva actual = 0; mediaEl.querySelectorAll( '.gchs-ig-modal__nav' ).forEach( function( nav ) { nav.addEventListener( 'click', function() { var slides = mediaEl.querySelectorAll( '.gchs-ig-modal__slide' ); var dots = mediaEl.querySelectorAll( '.gchs-ig-modal__dot' ); slides[ currentSlide ].classList.remove( 'gchs-ig-modal__slide--active' ); if ( dots[ currentSlide ] ) dots[ currentSlide ].classList.remove( 'gchs-ig-modal__dot--active' ); currentSlide = ( currentSlide + parseInt( nav.dataset.dir ) + slides.length ) % slides.length; slides[ currentSlide ].classList.add( 'gchs-ig-modal__slide--active' ); if ( dots[ currentSlide ] ) dots[ currentSlide ].classList.add( 'gchs-ig-modal__dot--active' ); } ); } ); / Información modal.querySelector( '.gchs-ig-modal__caption' ).textContent = post.caption || ''; modal.querySelector( '.gchs-ig-modal__likes span' ).textContent = ( post.like_count || 0 ).toLocaleString(); modal.querySelector( '.gchs-ig-modal__comments span' ).textContent = ( post.comments_count || 0 ).toLocaleString(); modal.querySelector( '.gchs-ig-modal__permalink' ).href = post.permalink; var date = new Date( post.timestamp ); modal.querySelector( '.gchs-ig-modal__date' ).textContent = date.toLocaleDateString( 'en-US', { month: 'short', day: 'numeric', year: 'numeric' } ); // Sincronizar la altura del modal con la altura de la imagen cargada. syncModalHeight( mediaEl, modal.querySelector( '.gchs-ig-modal__info' ) ); modal.setAttribute( 'aria-hidden', 'false' ); document.body.style.overflow = 'hidden'; // Renderizar el rastro de la pata en la superposición (solo en escritorio). Si (window.innerWidth > 768 && !window.matchMedia('(prefers-reduced-motion: reduce)').matches) { renderPawTrail(modal.querySelector('.gchs-ig-modal__overlay')); } } function renderPawTrail(overlay) { / Eliminar rastro anterior. var old = overlay.querySelector('.gchs-paw-trail'); if (old) old.remove(); var trail = document.createElement('div'); trail.className = 'gchs-paw-trail'; trail.style.cssText = 'position:absolute;inset:0;pointer-events:none;overflow:hidden;'; var pawUrl = 'https://dev.gchscc.org/wp-content/uploads/2026/03/paws.svg'; var w = overlay.offsetWidth; var h = overlay.offsetHeight; / // Aleatoriza la ruta de desplazamiento cada vez. var rand = function( min, max ) { return min + Math.random() * ( max - min ); }; / // Elige un borde aleatorio para comenzar y camina hacia el área opuesta. var paths = [ // De abajo a la izquierda a arriba a la derecha. { sx: rand(0.03, 0.15), sy: rand(0.80, 0.95), ex: rand(0.75, 0.95), ey: rand(0.05, 0.20) }, // De abajo a la derecha a arriba a la izquierda. { sx: rand(0.80, 0.95), sy: rand(0.80, 0.95), ex: rand(0.05, 0.20), ey: rand(0.05, 0.20) }, / De izquierda a derecha (centro). { sx: rand(0.02, 0.10), sy: rand(0.50, 0.70), ex: rand(0.85, 0.97), ey: rand(0.10, 0.35) }, / De abajo (centro) a arriba (izquierda). { sx: rand(0.35, 0.55), sy: rand(0.88, 0.97), ex: rand(0.03, 0.18), ey: rand(0.05, 0.18) }, / De la derecha al centro y de la izquierda a la parte superior. { sx: rand(0.88, 0.97), sy: rand(0.45, 0.65), ex: rand(0.05, 0.20), ey: rand(0.08, 0.25) }, ]; var path = paths[ Math.floor( Math.random() * paths.length ) ]; var startX = w * path.sx; var startY = h * path.sy; var endX = w * path.ex; var endY = h * path.ey; // Parámetros fijos por recorrido. var steps = Math.floor( rand( 6, 10 ) ); var wobbleAmt = rand( 0.04, 0.09 ); var wobbleFreq = rand( 1.2, 2.0 ); // Frecuencia fija: sin inversión de dirección. var strideLen = rand( 38, 50 ); var mainAngle = Math.atan2( endY - startY, endX - startX ); // Precalcular todas las posiciones para que el ángulo de cada paso se base en los vecinos reales. var positions = []; for ( var i = 0; i = 2 ) { applyHeight(); } else { firstMedia.addEventListener( 'load', applyHeight ); firstMedia.addEventListener('loadedmetadata', applyHeight); } } function closeIgModal() { var modal = document.getElementById('gchs-ig-modal'); if (!modal || modal.getAttribute('aria-hidden') === 'true') return; modal.setAttribute('aria-hidden', 'true'); document.body.style.overflow = ''; / Detener la reproducción de cualquier vídeo. modal.querySelectorAll('video').forEach(function(v) { v.pause(); }); / Restablecer alturas. var mediaEl = modal.querySelector('.gchs-ig-modal__media'); var infoEl = modal.querySelector( '.gchs-ig-modal__info' ); if ( mediaEl ) mediaEl.style.height = ''; if ( infoEl ) infoEl.style.height = ''; } function esc( s ) { var d = document.createElement( 'div' ); d.textContent = s || ''; return d.innerHTML; } } )();
815Adopciones de perros
908Adopciones de gatos
434Voluntarios activos
346Padres de acogida
107Eventos de adopción
250 mil+Libras de alimento para mascotas distribuidas

Mantente conectado

Suscríbete a nuestro boletín informativo para recibir actualizaciones sobre mascotas en adopción, próximos eventos y formas de ayudar.