Files
tscb-site/css/enhance.css
keshavanand12 96e65d860f Fix homepage image display and animation issues
Update CSS to correct mobile display of the mission image and JavaScript to ensure animations trigger correctly on page load and prevent spamming.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: d075e7a4-f667-4f28-b24a-2d29e4931850
Replit-Commit-Checkpoint-Type: full_checkpoint
Replit-Commit-Event-Id: 5e85e2ff-f77c-4bb3-983c-222800a23422
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/e2c5cd18-6007-4bb1-a111-e14cc125923d/d075e7a4-f667-4f28-b24a-2d29e4931850/W9XaVKV
Replit-Helium-Checkpoint-Created: true
2026-03-17 22:51:17 +00:00

1333 lines
34 KiB
CSS

/* =====================================================
TSCB — Enhanced Animations & Visual Excellence
===================================================== */
/* ---- Scroll Progress Bar ---- */
#tscb-progress {
position: fixed;
top: 0;
left: 0;
height: 3px;
width: 0%;
background: linear-gradient(90deg, #d92800 0%, #ce9c5b 50%, #d92800 100%);
background-size: 200% 100%;
animation: progressShift 3s ease infinite;
z-index: 999999;
transition: width 0.08s linear;
pointer-events: none;
}
@keyframes progressShift {
0% { background-position: 0% 50%; }
50% { background-position: 100% 50%; }
100% { background-position: 0% 50%; }
}
/* ---- Hero Section Decorative Orbs ---- */
.hero {
overflow: hidden;
position: relative;
}
.hero-orb-1,
.hero-orb-2,
.hero-orb-3 {
position: absolute;
border-radius: 50%;
pointer-events: none;
z-index: 0;
}
.hero-orb-1 {
width: 700px;
height: 700px;
background: radial-gradient(circle, rgba(217, 40, 0, 0.16) 0%, transparent 65%);
top: -300px;
right: -200px;
animation: orbDrift 12s ease-in-out infinite;
}
.hero-orb-2 {
width: 450px;
height: 450px;
background: radial-gradient(circle, rgba(206, 156, 91, 0.11) 0%, transparent 65%);
bottom: -100px;
left: -150px;
animation: orbDrift 16s ease-in-out infinite reverse;
}
.hero-orb-3 {
width: 250px;
height: 250px;
background: radial-gradient(circle, rgba(217, 40, 0, 0.07) 0%, transparent 65%);
top: 40%;
left: 30%;
animation: orbDrift 9s ease-in-out infinite 2s;
}
@keyframes orbDrift {
0%, 100% { transform: translate(0px, 0px) scale(1); }
33% { transform: translate(30px, -30px) scale(1.06); }
66% { transform: translate(-20px, 20px) scale(0.96); }
}
/* ---- Hero subtle grid overlay ---- */
.hero::before {
content: '';
position: absolute;
inset: 0;
background-image:
linear-gradient(rgba(255,255,255,0.02) 1px, transparent 1px),
linear-gradient(90deg, rgba(255,255,255,0.02) 1px, transparent 1px);
background-size: 60px 60px;
z-index: 0;
pointer-events: none;
}
.hero .container {
position: relative;
z-index: 1;
}
.hero .down-arrow {
position: relative;
z-index: 1;
}
/* ---- Down arrow bounce ---- */
.hero .down-arrow a {
animation: arrowBounce 2.2s ease-in-out infinite;
display: inline-block;
}
@keyframes arrowBounce {
0%, 100% { transform: translateY(0); }
50% { transform: translateY(12px); }
}
/* ---- Nav hover underline animation ---- */
.main-menu .navbar-nav > .nav-item > a {
position: relative;
}
.main-menu .navbar-nav > .nav-item > a::after {
content: '';
position: absolute;
bottom: 6px;
left: 15px;
right: 15px;
height: 2px;
background: var(--accent-color);
transform: scaleX(0);
transform-origin: right;
transition: transform 0.35s cubic-bezier(0.76, 0, 0.24, 1);
}
.main-menu .navbar-nav > .nav-item > a:hover::after,
.main-menu .navbar-nav > .nav-item.active > a::after {
transform: scaleX(1);
transform-origin: left;
}
/* ---- Enhanced sticky header glass effect ---- */
header.main-header .header-sticky.active {
background: rgba(0, 0, 0, 0.90) !important;
backdrop-filter: blur(24px) saturate(180%) !important;
-webkit-backdrop-filter: blur(24px) saturate(180%) !important;
border-bottom: 1px solid rgba(206, 156, 91, 0.25) !important;
box-shadow: 0 4px 30px rgba(0, 0, 0, 0.5) !important;
}
/* ---- Enhanced Button Animations ---- */
.btn-default {
letter-spacing: 0.03em;
transition: all 0.45s cubic-bezier(0.25, 0.46, 0.45, 0.94) !important;
will-change: transform;
}
.btn-default:active {
transform: scale(0.95) !important;
}
.btn-default::before {
transition: all 0.5s cubic-bezier(0.34, 1.56, 0.64, 1) !important;
}
/* ---- About image list item hover ---- */
.about-list-item {
transition: transform 0.35s cubic-bezier(0.34, 1.56, 0.64, 1);
will-change: transform;
}
.about-list-item:hover {
transform: translateX(8px);
}
.about-list-item .icon-box {
transition: transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1), box-shadow 0.4s ease;
}
.about-list-item:hover .icon-box {
transform: scale(1.15) rotate(-5deg);
box-shadow: 0 10px 30px rgba(217, 40, 0, 0.35);
}
/* About image layout overrides are handled below in the FOUNDERS SECTION block. */
/* ---- Counter section enhanced ---- */
.our-counter {
position: relative;
overflow: hidden;
}
.counter-box {
position: relative;
overflow: hidden;
}
.counter-box::before {
content: '';
position: absolute;
top: -50%;
left: -50%;
width: 200%;
height: 200%;
background: conic-gradient(
from 0deg at 50% 50%,
transparent 0deg,
rgba(255,255,255,0.03) 60deg,
transparent 120deg,
rgba(255,255,255,0.03) 180deg,
transparent 240deg,
rgba(255,255,255,0.03) 300deg,
transparent 360deg
);
animation: counterRotate 25s linear infinite;
pointer-events: none;
}
@keyframes counterRotate {
from { transform: rotate(0deg); }
to { transform: rotate(360deg); }
}
.counter-item {
transition: transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
position: relative;
z-index: 1;
will-change: transform;
}
.counter-item:hover {
transform: translateY(-6px);
}
.counter-title h2 {
font-size: 62px !important;
letter-spacing: -0.02em;
}
/* ---- Service Item enhanced hover ---- */
.service-item {
transition: transform 0.5s cubic-bezier(0.34, 1.56, 0.64, 1), box-shadow 0.5s ease !important;
box-shadow: 0 4px 20px rgba(0,0,0,0.06);
will-change: transform;
}
.service-item:hover {
transform: translateY(-10px) !important;
box-shadow: 0 30px 60px rgba(0,0,0,0.18) !important;
}
.service-item .icon-box img {
transition: transform 0.5s cubic-bezier(0.34, 1.56, 0.64, 1) !important;
}
.service-item:hover .icon-box img {
transform: scale(1.1) rotate(-8deg) !important;
}
/* ---- Service icon shine sweep ---- */
.service-item .icon-box {
overflow: hidden;
position: relative;
}
.service-item .icon-box::after {
content: '';
position: absolute;
top: 0;
left: -120%;
width: 60%;
height: 100%;
background: linear-gradient(105deg, transparent 30%, rgba(255,255,255,0.4) 50%, transparent 70%);
transform: skewX(-15deg);
transition: none;
}
.service-item:hover .icon-box::after {
left: 150%;
transition: left 0.5s ease;
}
/* ---- Services dot background ---- */
.our-services {
position: relative;
overflow: hidden;
}
.our-services::before {
content: '';
position: absolute;
inset: 0;
background-image: radial-gradient(circle, rgba(0,0,0,0.06) 1px, transparent 1px);
background-size: 28px 28px;
pointer-events: none;
z-index: 0;
}
.our-services .container {
position: relative;
z-index: 1;
}
/* ---- Service footer slide on hover ---- */
.service-footer {
transition: transform 0.3s ease;
}
.service-item:hover .service-footer {
transform: translateX(5px);
}
/* ---- Ticker gradient fade edges ---- */
.service-ticker {
position: relative;
}
.service-ticker::before,
.service-ticker::after {
content: '';
position: absolute;
top: 0;
bottom: 0;
width: 120px;
z-index: 2;
pointer-events: none;
}
.service-ticker::before {
left: 0;
background: linear-gradient(90deg, var(--primary-color) 20%, transparent 100%);
}
.service-ticker::after {
right: 0;
background: linear-gradient(-90deg, var(--primary-color) 20%, transparent 100%);
}
/* ---- Sponsor logos — NO default opacity:0, GSAP handles initial state ---- */
.sponsor-logo-item {
position: relative;
overflow: hidden;
transition: transform 0.45s cubic-bezier(0.34, 1.56, 0.64, 1),
box-shadow 0.45s ease,
border-color 0.3s ease !important;
will-change: transform;
}
/* Shimmer sweep on hover */
.sponsor-logo-item::after {
content: '';
position: absolute;
top: 0;
left: -120%;
width: 60%;
height: 100%;
background: linear-gradient(
105deg,
transparent 30%,
rgba(255, 255, 255, 0.55) 50%,
transparent 70%
);
transform: skewX(-15deg);
transition: none;
pointer-events: none;
}
.sponsor-logo-item:hover::after {
left: 160%;
transition: left 0.65s ease;
}
.sponsor-logo-item:hover {
border-color: var(--accent-color) !important;
transform: translateY(-8px) scale(1.03) !important;
box-shadow: 0 20px 50px rgba(217, 40, 0, 0.15) !important;
}
.sponsor-logo-item img {
transition: transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1) !important;
}
.sponsor-logo-item:hover img {
transform: scale(1.06) !important;
}
/* ---- Sponsors section subtle dot background ---- */
.our-sponsors-section {
position: relative;
overflow: hidden;
}
.our-sponsors-section::before {
content: '';
position: absolute;
inset: 0;
background-image: radial-gradient(circle, rgba(206, 156, 91, 0.07) 1px, transparent 1px);
background-size: 32px 32px;
pointer-events: none;
z-index: 0;
}
.our-sponsors-section .container {
position: relative;
z-index: 1;
}
/* ---- Mission section ---- */
.our-mission {
position: relative;
overflow: hidden;
}
.our-mission::before {
content: '';
position: absolute;
width: 500px;
height: 500px;
border-radius: 50%;
background: radial-gradient(circle, rgba(206, 156, 91, 0.07) 0%, transparent 65%);
top: -100px;
right: -150px;
pointer-events: none;
animation: orbDrift 18s ease-in-out infinite;
}
.mission-content-body p {
border-left: 3px solid var(--accent-color) !important;
padding-left: 18px !important;
transition: border-color 0.3s ease, padding-left 0.3s ease;
}
.mission-content-body p:hover {
border-left-color: var(--secondary-color) !important;
padding-left: 24px !important;
}
/* ---- CTA Box orb ---- */
.cta-box {
position: relative;
overflow: hidden;
}
.cta-box::before {
content: '';
position: absolute;
width: 500px;
height: 500px;
border-radius: 50%;
background: radial-gradient(circle, rgba(217, 40, 0, 0.10) 0%, transparent 65%);
top: -200px;
right: 0;
pointer-events: none;
animation: orbDrift 14s ease-in-out infinite 1s;
z-index: 0;
}
.cta-box .container {
position: relative;
z-index: 1;
}
/* ---- Footer glow border ---- */
.main-footer {
position: relative;
}
.main-footer::before {
content: '';
position: absolute;
top: 0;
left: 10%;
right: 10%;
height: 1px;
background: linear-gradient(90deg, transparent, var(--secondary-color), transparent);
}
/* ---- Footer social links spring ---- */
.footer-social-links ul li a {
transition: transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1),
box-shadow 0.3s ease !important;
will-change: transform;
}
.footer-social-links ul li a:hover {
transform: translateY(-6px) scale(1.15) !important;
box-shadow: 0 10px 25px rgba(217, 40, 0, 0.4) !important;
}
/* ---- Footer links underline ---- */
.footer-links ul li a {
position: relative;
transition: color 0.3s ease !important;
}
.footer-links ul li a::before {
content: '';
position: absolute;
left: 0;
bottom: -2px;
width: 0;
height: 1px;
background: var(--accent-color);
transition: width 0.35s cubic-bezier(0.76, 0, 0.24, 1);
}
.footer-links ul li a:hover::before {
width: 100%;
}
/* ---- Page header orb ---- */
.page-header {
position: relative;
overflow: hidden;
}
.page-header::after {
content: '';
position: absolute;
width: 500px;
height: 500px;
border-radius: 50%;
background: radial-gradient(circle, rgba(217, 40, 0, 0.10) 0%, transparent 60%);
bottom: -250px;
right: -100px;
pointer-events: none;
animation: orbDrift 15s ease-in-out infinite;
}
/* ---- Animated gradient on accent spans ---- */
.section-title h2 span,
.section-title h1 span {
background: linear-gradient(90deg, #d92800 0%, #ff5c38 40%, #d92800 100%);
background-size: 200% auto;
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
animation: textGradientShift 4s ease infinite;
}
@keyframes textGradientShift {
0% { background-position: 0% center; }
50% { background-position: 100% center; }
100% { background-position: 0% center; }
}
/* ---- Preloader gradient ---- */
.preloader {
background: linear-gradient(135deg, #d92800 0%, #b01d00 100%) !important;
}
/* ---- Team member hover ---- */
.team-member-item {
transition: transform 0.45s cubic-bezier(0.34, 1.56, 0.64, 1), box-shadow 0.45s ease;
will-change: transform;
}
.team-member-item:hover {
transform: translateY(-8px);
box-shadow: 0 25px 55px rgba(0,0,0,0.15);
}
/* ---- Readmore btn spring ---- */
.readmore-btn {
transition: transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1),
background-color 0.3s ease,
box-shadow 0.3s ease !important;
will-change: transform;
}
.readmore-btn:hover {
transform: scale(1.15) rotate(45deg) !important;
box-shadow: 0 10px 30px rgba(217, 40, 0, 0.45) !important;
}
/* ---- Logo footer hover ---- */
.footer-logo img {
transition: transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
}
.footer-logo img:hover {
transform: scale(1.08) rotate(-3deg);
}
/* ---- Body smooth scroll ---- */
html {
scroll-behavior: smooth;
}
/* ---- Smooth body fade in ---- */
body {
animation: bodyReveal 0.4s ease both;
}
@keyframes bodyReveal {
from { opacity: 0; }
to { opacity: 1; }
}
/* ============================================================
ABOUT.HTML — Single-image first section fix
.page-about-us now only has .about-img-1 (no overlay).
Remove the padding-top that was there for the second image
and make the image fill the column properly.
============================================================ */
.page-about-us .about-image {
padding-top: 0 !important;
max-width: 100% !important;
position: relative !important;
}
.page-about-us .about-img-1 {
width: 100% !important;
}
/* Pastors section: remove inline dimension override, let CSS size it */
.pastors-message .about-img-2 img {
width: 100% !important;
height: auto !important;
}
/* ============================================================
TABLET (≤ 1024px)
============================================================ */
@media (max-width: 1024px) {
/* Shrink orbs so they don't cause scrollbar */
.hero-orb-1 { width: 500px; height: 500px; }
.hero-orb-2 { width: 350px; height: 350px; }
/* Mission life circle is decorative — hide on tablet to simplify */
.mission-life-circle {
display: none !important;
}
}
/* ============================================================
TABLET PORTRAIT (≤ 991px)
============================================================ */
@media (max-width: 991px) {
/* About single-image: center and constrain */
.page-about-us .about-image {
max-width: 580px !important;
margin: 0 auto 35px !important;
}
/* Counter items: remove divider borders at tablet */
.counter-item {
border-right: none !important;
padding-right: 15px !important;
}
/* CTA button: center on smaller screens */
.cta-box-btn {
text-align: center !important;
margin-top: 20px !important;
}
.cta-box-btn::before {
display: none !important;
}
/* Service items: consistent margin when they wrap */
.service-item {
margin-bottom: 24px !important;
}
}
/* ============================================================
MOBILE (≤ 767px)
============================================================ */
@media (max-width: 767px) {
/* Orbs: shrink and simplify */
.hero-orb-1 { width: 300px; height: 300px; top: -150px; right: -100px; }
.hero-orb-2 { width: 220px; height: 220px; bottom: -80px; left: -80px; }
.hero-orb-3 { display: none; }
/* Hero: prevent overflow */
.hero { overflow: hidden; }
.hero .container { overflow: visible; }
/* Counter h2 */
.counter-title h2 { font-size: 42px !important; }
/* Ticker fade edges narrower */
.service-ticker::before,
.service-ticker::after { width: 50px; }
/* Sponsors grid: 2 col on mobile */
.sponsors-logo-grid {
gap: 16px !important;
}
.sponsor-logo-item {
min-width: 130px !important;
max-width: 48% !important;
padding: 14px 16px !important;
}
/* About single-image mobile */
.page-about-us .about-image {
max-width: 100% !important;
margin-bottom: 30px !important;
}
.page-about-us .about-img-1 img {
aspect-ratio: 16 / 10 !important;
}
/* Mission content first on mobile */
.our-mission .col-lg-6:last-child {
margin-top: 30px !important;
}
/* CTA text smaller */
.cta-box-content .section-title h2 {
font-size: 22px !important;
}
/* Footer: better spacing */
.footer-widget {
margin-bottom: 30px !important;
}
/* Nav "Our Partners" button in header: hide on very small */
.header-btn .btn-default {
display: none !important;
}
}
/* ============================================================
SMALL MOBILE (≤ 575px)
============================================================ */
@media (max-width: 575px) {
/* Hero title size */
.section-title h1,
.hero-content h1 {
font-size: 30px !important;
line-height: 1.18 !important;
}
/* Counter: stack to 1 column, show divider lines */
.counter-title h2 { font-size: 34px !important; }
.counter-item {
border-right: none !important;
border-bottom: 1px solid rgba(255,255,255,0.12) !important;
padding-bottom: 24px !important;
margin-bottom: 24px !important;
}
.counter-box .col-lg-3:last-child .counter-item {
border-bottom: none !important;
margin-bottom: 0 !important;
}
/* Sponsors: single column */
.sponsor-logo-item {
min-width: calc(50% - 12px) !important;
max-width: calc(50% - 12px) !important;
}
/* Hero buttons: stack */
.hero-content-body {
display: flex !important;
flex-direction: column !important;
gap: 12px !important;
align-items: flex-start !important;
}
.hero-content-body .btn-default {
margin-left: 0 !important;
width: auto !important;
}
/* About list items: single column */
.about-content-body {
grid-template-columns: 1fr !important;
}
/* Section title padding */
.section-title {
margin-bottom: 24px !important;
}
}
/* ============================================================
CRICKET IMAGE — blurred-backdrop frame
The .cricket-blur-bg div fills the full column with a blurred
version of the same image; the real img sits centered on top
at its natural aspect ratio so no void remains.
============================================================ */
.page-about-us .about-img-1 figure {
position: relative !important;
overflow: hidden !important;
border-radius: 18px !important;
height: 490px !important;
display: flex !important;
align-items: center !important;
justify-content: center !important;
box-shadow:
0 0 0 2px rgba(217, 40, 0, 0.35),
0 0 0 5px rgba(206, 156, 91, 0.15),
0 16px 56px rgba(0, 0, 0, 0.45) !important;
}
.page-about-us .about-img-1 .cricket-blur-bg {
position: absolute !important;
inset: -40px !important;
background: url('../images/cricket.webp') center / cover no-repeat !important;
filter: blur(28px) brightness(0.55) saturate(1.4) !important;
z-index: 0 !important;
pointer-events: none !important;
}
.page-about-us .about-img-1 img {
position: relative !important;
z-index: 1 !important;
width: auto !important;
max-width: 100% !important;
height: 100% !important;
object-fit: contain !important;
display: block !important;
aspect-ratio: unset !important;
filter: drop-shadow(0 6px 28px rgba(0, 0, 0, 0.5)) !important;
}
@media (max-width: 767px) {
.page-about-us .about-img-1 figure {
height: 320px !important;
}
}
/* ============================================================
FOUNDERS SECTION — Equal-sized side-by-side layout
Both founders shown at identical size with matching borders.
Stacks vertically on mobile.
============================================================ */
.pastors-message .about-image {
padding-top: 0 !important;
display: flex !important;
flex-direction: row !important;
align-items: stretch !important;
gap: 12px !important;
}
/* Both images exactly equal width */
.pastors-message .about-img-1,
.pastors-message .about-img-2 {
position: static !important;
top: auto !important;
right: auto !important;
width: 50% !important;
flex: 0 0 50% !important;
margin-top: 0 !important;
}
.pastors-message .about-img-1 figure,
.pastors-message .about-img-2 figure {
display: block !important;
height: 100% !important;
border-radius: 16px !important;
overflow: hidden !important;
}
/* Identical treatment on both images */
.pastors-message .about-img-1 img,
.pastors-message .about-img-2 img {
width: 100% !important;
height: 100% !important;
aspect-ratio: 3 / 4 !important;
object-fit: cover !important;
object-position: top center !important;
border-radius: 16px !important;
border: 4px solid rgba(255, 255, 255, 0.85) !important;
box-shadow: 0 8px 28px rgba(0, 0, 0, 0.16) !important;
}
/* ---- Founders: tablet (≤ 991px) ---- */
@media (max-width: 991px) {
.pastors-message .about-image {
max-width: 520px !important;
margin: 0 auto 35px !important;
gap: 10px !important;
}
.pastors-message .about-img-1,
.pastors-message .about-img-2 {
width: 50% !important;
flex: 0 0 50% !important;
}
}
/* ---- Founders: mobile (≤ 767px) ---- */
@media (max-width: 767px) {
.pastors-message .about-image {
max-width: 420px !important;
gap: 8px !important;
}
.pastors-message .about-img-1 img,
.pastors-message .about-img-2 img {
border-width: 3px !important;
}
}
/* ---- Founders: small mobile (≤ 575px) — stack vertically ---- */
@media (max-width: 575px) {
.pastors-message .about-image {
flex-direction: column !important;
max-width: 100% !important;
gap: 10px !important;
margin: 0 0 30px !important;
}
.pastors-message .about-img-1,
.pastors-message .about-img-2 {
width: 100% !important;
flex: 0 0 100% !important;
}
.pastors-message .about-img-1 img,
.pastors-message .about-img-2 img {
aspect-ratio: 4 / 3 !important;
border-width: 3px !important;
border-radius: 12px !important;
}
}
/* ============================================================
COUNTER HOVER — Distinct color change (not orange/cream)
The default cream (#f3dbbb) blends into the accent color.
On hover: crisp white with a blue-tinted glow to contrast.
============================================================ */
.counter-item:hover .counter-title h2 {
color: #ffffff !important;
text-shadow: 0 0 24px rgba(130, 200, 255, 0.55),
0 0 8px rgba(130, 200, 255, 0.35) !important;
transition: color 0.35s ease, text-shadow 0.35s ease !important;
}
.counter-item:hover .counter-content h3 {
color: #ffffff !important;
transition: color 0.35s ease !important;
}
.counter-title h2,
.counter-content h3 {
transition: color 0.35s ease, text-shadow 0.35s ease;
}
/* ============================================================
MOBILE POLISH v2 — Comprehensive phone & tablet refinements
These rules come last so they win the cascade cleanly.
============================================================ */
/* ---- Shared utility: word-wrap for long strings ---- */
.footer-info-box-content p,
.contact-info-content h3,
.footer-contact-details p {
word-break: break-word !important;
overflow-wrap: anywhere !important;
}
/* ============================================================
TABLET (≤ 991px)
============================================================ */
@media (max-width: 991px) {
/* About section on home: remove left margin that persists */
.about-content {
margin-left: 0 !important;
}
/* Mission section: stack order — text first, image below */
.our-mission .row {
flex-direction: column !important;
}
.our-mission .col-lg-6 {
width: 100% !important;
max-width: 100% !important;
}
/* Mission image at tablet: clear the circle-offset padding */
.mission-img {
padding: 0 !important;
text-align: center !important;
margin-top: 30px !important;
}
/* Fix inline-flex reveal figure so it fills full width on mobile */
.mission-img .reveal,
.mission-img figure {
display: block !important;
width: 100% !important;
}
/* Landscape aspect-ratio on mobile; override height:100% from .reveal img */
.mission-img img {
height: auto !important;
aspect-ratio: 16 / 9 !important;
border-radius: 0 0 50px 0 !important;
}
/* CTA box: centre button at tablet */
.cta-box-btn {
text-align: center !important;
margin-top: 24px !important;
}
/* About us section padding tighter at tablet */
.about-us {
padding: 60px 0 !important;
}
}
/* ============================================================
PHONE LANDSCAPE / LARGE PHONE (≤ 767px)
============================================================ */
@media (max-width: 767px) {
/* --- Hero: pull padding WAY in --- */
.hero {
padding: 105px 0 70px !important;
margin-top: -75px !important;
}
/* --- Hero: center the CTA buttons --- */
.hero-content-body {
display: flex !important;
flex-direction: column !important;
align-items: center !important;
gap: 14px !important;
margin-top: 24px !important;
}
.hero-content-body .btn-default,
.hero-content-body .btn-default.btn-highlighted {
margin-left: 0 !important;
margin-top: 0 !important;
}
/* Hero subtitle (h3) — slightly tighter */
.hero-content .section-title h3 {
font-size: 14px !important;
margin-bottom: 16px !important;
}
/* Hero paragraph text: max-width on mobile */
.hero-content .section-title p {
font-size: 15px !important;
max-width: 85% !important;
margin-left: auto !important;
margin-right: auto !important;
}
/* --- Mission image: no decorative offset (life circle is hidden) --- */
.mission-img {
padding: 0 !important;
text-align: center !important;
margin-top: 28px !important;
margin-bottom: 0 !important;
}
/* Tighter corner radius at phone size; display:block & height:auto inherit from 991px */
.mission-img img {
border-radius: 0 0 40px 0 !important;
}
/* --- Mission content: centre-align the sub-label + heading --- */
.mission-content .section-title {
text-align: center !important;
}
/* Keep the decorative icon visible when centred */
.mission-content .section-title h3 {
padding-left: 25px !important;
}
/* Mission footer: centre the CTA button */
.mission-content-footer {
text-align: center !important;
margin-top: 20px !important;
}
/* --- About section (home): tighten + centre footer btn --- */
.about-us {
padding: 50px 0 !important;
}
.about-us-footer {
text-align: center !important;
margin-top: 8px !important;
}
/* About content body: 1 column gap fix */
.about-content-body {
gap: 16px !important;
margin-bottom: 28px !important;
}
/* --- CTA box: centre everything --- */
.cta-box-content .section-title {
text-align: center !important;
}
.cta-box-btn {
text-align: center !important;
margin-top: 20px !important;
}
/* --- Dallas / Austin league links: tighter padding --- */
.league-links .btn-default {
font-size: 14px !important;
padding: 12px 56px 12px 16px !important;
}
/* --- Services section: tighter padding --- */
.our-services {
padding: 50px 0 20px !important;
}
/* Service items: centre footer row */
.service-footer {
align-items: flex-start !important;
}
/* --- Service ticker: smaller on phone --- */
.service-ticker .scrolling-content span {
font-size: 52px !important;
}
/* --- Teams grid: consistent image heights on mobile --- */
.team-image figure,
.team-image img {
aspect-ratio: 4 / 3 !important;
object-fit: cover !important;
}
/* --- Contact page: email wrapping --- */
.contact-info-content h3 {
font-size: 14px !important;
word-break: break-word !important;
overflow-wrap: anywhere !important;
line-height: 1.4 !important;
}
/* Contact info items: tighter layout */
.contact-info-item {
padding: 16px !important;
gap: 14px !important;
}
/* --- Footer: email address wrapping --- */
.footer-info-box-content p {
font-size: 12px !important;
word-break: break-word !important;
overflow-wrap: anywhere !important;
line-height: 1.5 !important;
}
/* Footer info icon: keep it from shrinking */
.footer-info-box .icon-box {
flex-shrink: 0 !important;
}
/* Footer links col: tighter spacing */
.footer-links {
margin-bottom: 28px !important;
}
/* Footer copyright: already centred in custom.css but reinforce */
.footer-copyright-text {
text-align: center !important;
margin-bottom: 8px !important;
}
.footer-privacy-policy ul {
text-align: center !important;
}
/* --- Sponsors section: ensure 2-col grid on phones --- */
.sponsors-logo-grid {
display: flex !important;
flex-wrap: wrap !important;
justify-content: center !important;
gap: 16px !important;
}
.sponsor-logo-item {
flex: 0 0 calc(50% - 8px) !important;
max-width: calc(50% - 8px) !important;
min-width: 0 !important;
}
/* --- Page header (inner pages): tighter heading --- */
.page-header-box h1 {
font-size: 38px !important;
line-height: 1.2 !important;
}
/* --- Section row: less bottom margin --- */
.section-row {
margin-bottom: 28px !important;
}
/* --- About page: founders signature wrap fix --- */
.pastors-signature {
flex-wrap: wrap !important;
gap: 12px !important;
}
.pastors-signature-img {
display: flex !important;
gap: 12px !important;
}
.pastors-signature-img img {
max-width: 110px !important;
}
}
/* ============================================================
SMALL PHONE (≤ 575px)
============================================================ */
@media (max-width: 575px) {
/* --- Hero: even smaller padding --- */
.hero {
padding: 90px 0 55px !important;
}
/* Hero h1: readable on tiny screens */
.section-title h1,
.hero-content h1 {
font-size: 28px !important;
line-height: 1.2 !important;
}
/* --- Hero buttons: CENTRE (override the flex-start from earlier block) --- */
.hero-content-body {
align-items: center !important;
gap: 12px !important;
}
/* Hero paragraph: full width on tiny phones */
.hero-content .section-title p {
max-width: 100% !important;
font-size: 14px !important;
}
/* --- Section headings --- */
.section-title h2 {
font-size: 24px !important;
line-height: 1.28 !important;
}
.section-title h3 {
font-size: 13px !important;
margin-bottom: 12px !important;
}
/* --- Section row spacing --- */
.section-row {
margin-bottom: 22px !important;
}
/* --- Btn-default: compact on tiny phones --- */
.btn-default {
font-size: 14px !important;
padding: 12px 52px 12px 14px !important;
}
/* --- Counter heading --- */
.counter-title h2 {
font-size: 32px !important;
}
/* --- Service ticker: smaller --- */
.service-ticker .scrolling-content span {
font-size: 42px !important;
}
/* --- CTA box heading --- */
.cta-box-content .section-title h2 {
font-size: 20px !important;
line-height: 1.3 !important;
}
/* --- Page header heading --- */
.page-header-box h1 {
font-size: 30px !important;
}
/* --- League links: full readability --- */
.league-links .btn-default {
font-size: 13px !important;
padding: 12px 52px 12px 14px !important;
}
/* --- Team card text --- */
.team-content h3 {
font-size: 16px !important;
}
.team-content p {
font-size: 14px !important;
}
/* --- Contact info: stack icon above text on very small --- */
.contact-info-item {
align-items: flex-start !important;
}
/* --- Sponsor logos: maintain 2 col --- */
.sponsor-logo-item {
flex: 0 0 calc(50% - 8px) !important;
max-width: calc(50% - 8px) !important;
}
/* --- About content body: full 1 column --- */
.about-content-body {
grid-template-columns: 1fr !important;
gap: 14px !important;
}
/* --- Mission content body quote line --- */
.mission-content-body p {
padding-left: 14px !important;
}
/* --- Navbar: tighter on very small phones --- */
.navbar {
padding: 14px 0 !important;
}
/* Founders: portrait aspect on small phones */
.pastors-message .about-img-1 img,
.pastors-message .about-img-2 img {
aspect-ratio: 3 / 4 !important;
}
}