<p class="text-center">this is only a portion of code</p>
<div class="container-fluid py-5">
<h1 class="display-5 fw-bold text-center mb-5 reveal-on-scroll" style="transition-delay: 0.4s;">Where to Begin?</h1>
<div class="row g-4">
<div class="col-md reveal-on-scroll">
<div class="card h-100 bg-dark text-white border-info revelation-card p-3">
<div class="card-body text-center">
<h3 class="h4 text-info">1. How to become a Christian</h3>
<p>Discover the true spiritual rebirth often misunderstood.</p>
<a href="#salvation" class="btn btn-outline-info w-100 mt-3">Learn the Truth</a>
</div>
</div>
</div>
<div class="col-md reveal-on-scroll" style="transition-delay: 0.6s;">
<div class="card h-100 bg-dark text-white border-warning revelation-card p-3">
<div class="card-body text-center">
<h3 class="card-title h4">2. Prostitute & The Beast</h3>
<p class="card-text">Unmasking the identities within the Book of Revelation that remain hidden from the masses.</p>
<a href="#revelation" class="btn btn-outline-danger w-100 mt-3">See the Facts</a>
</div>
</div>
</div>
/* --- this is only a portion of code --- */
/* --- SITE THEME & GENERAL STYLES --- */
.custom-section {
background-color: #2c0000;
border-radius: 20px;
transition: all 0.3s ease;
border: 1px solid rgba(255,255,255,0.1);
}
.revelation-card {
transition: all 0.3s ease-in-out;
background-color: #1e1e1e !important;
}
/* Glow Effects */
.border-info:hover { box-shadow: 0 0 20px rgba(13, 202, 240, 0.3); transform: translateY(-5px); }
.border-warning:hover { box-shadow: 0 0 20px rgba(255, 193, 7, 0.3); transform: translateY(-5px); }
.border-danger:hover { box-shadow: 0 0 20px rgba(220, 53, 69, 0.3); transform: translateY(-5px); }
/* Scroll Animation Base */
.reveal-on-scroll {
opacity: 0;
transform: translateY(30px);
transition: all 0.8s ease-out;
}
.reveal-on-scroll.is-visible {
opacity: 1;
transform: translateY(0);
}
// this is only a portion of code
// 1. Intersection Observer for scroll reveals
const observer = new IntersectionObserver((entries) => {
entries.forEach(entry => {
if (entry.isIntersecting) {
entry.target.classList.add('is-visible');
// Optional: stop observing once it's visible to save resources
// observer.unobserve(entry.target);
}
});
}, { threshold: 0.1 });
document.querySelectorAll('.reveal-on-scroll').forEach((el) => observer.observe(el));
// 2. Back to Top Logic
const backToTopBtn = document.getElementById('backToTop');
window.addEventListener('scroll', () => {
const scrollPos = window.pageYOffset || document.documentElement.scrollTop;
if (scrollPos > 200) {
backToTopBtn.classList.add('show');
} else {
backToTopBtn.classList.remove('show');
}
});
backToTopBtn.addEventListener('click', () => {
window.scrollTo({ top: 0, behavior: 'smooth' });
});