File: //var/www/stg.e-tdr.com/e-tdr/wp-content/themes/e-tdr/footer.php
</main>
<?php get_template_part('template-parts/contact-modal'); ?>
<footer class="site-footer">
<div class="container d-flex flex-column flex-md-row align-items-center justify-content-between gap-2">
<div class="ft-brand">
<div class="navbar-logo-wrap">
<?php
$logo = get_field('footer_logo', 'option');
if ($logo):
?>
<a href="<?php echo esc_url(home_url('/')); ?>" title="<?php echo bloginfo('name'); ?>">
<img src="<?php echo esc_url($logo['url']); ?>" alt="<?php echo esc_attr($logo['alt']); ?>">
</a>
<?php endif; ?>
</div>
</div>
<div class="ft-copy">
© <?php echo date('Y'); ?>
<?php echo esc_html(get_field('copyright_text', 'option') ?: get_bloginfo('name')); ?>
<span class="ft-rights">All rights reserved.</span>
</div>
<?php wp_footer(); ?>
<script>
/* ── Homepage scroll animations ── */
const observer = new IntersectionObserver((entries) => {
entries.forEach((entry) => {
if (entry.isIntersecting) {
const siblings = entry.target.parentElement.querySelectorAll(':scope > [class*="col-"]');
const idx = Array.from(siblings).indexOf(entry.target);
entry.target.style.transitionDelay = (idx * 0.1) + 's';
entry.target.classList.add('is-visible');
observer.unobserve(entry.target);
}
});
}, {
threshold: 0.1
});
document.querySelectorAll(
'.sec .sec-label, .sec .sec-title, .sec .sec-sub, .sec .row > [class*="col-"]'
).forEach(el => observer.observe(el));
</script>
<script>
/* ── Contact Modal ── */
(function() {
const overlay = document.getElementById('contactModal');
if (!overlay) return;
function openModal() {
overlay.classList.add('ct-open');
document.body.style.overflow = 'hidden';
}
function closeModal() {
overlay.classList.remove('ct-open');
document.body.style.overflow = '';
}
/* All trigger buttons / links */
document.querySelectorAll('.js-contact-modal').forEach(function(el) {
el.addEventListener('click', function(e) {
e.preventDefault();
openModal();
});
});
/* Close button */
document.getElementById('ctClose').addEventListener('click', closeModal);
/* Click outside modal card */
overlay.addEventListener('click', function(e) {
if (e.target === overlay) closeModal();
});
/* Escape key */
document.addEventListener('keydown', function(e) {
if (e.key === 'Escape') closeModal();
});
/* Auto-close on CF7 success */
document.addEventListener('wpcf7mailsent', function() {
setTimeout(closeModal, 2200);
}, false);
})();
</script>
</footer>
</body>
</html>