/* =======================================================
   UCANADA GALLERY PAGE CSS
   PART 1A
======================================================= */

/* Google Font */

@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700;800&display=swap');


/* =======================================================
   RESET
======================================================= */

*{
margin:0;
padding:0;
box-sizing:border-box;
}

html{
scroll-behavior:smooth;
overflow-x:hidden;
}

body{
font-family:'Poppins',sans-serif;
background:#fff;
color:#222;
overflow-x:hidden;
line-height:1.7;
}

img{
max-width:100%;
display:block;
}

ul{
list-style:none;
}

a{
text-decoration:none;
}

.container{
width:90%;
max-width:1200px;
margin:auto;
}



/* =======================================================
   COLORS
======================================================= */

:root{

--primary:#C8102E;

--dark:#222;

--text:#666;

--white:#fff;

--light:#f8f9fb;

--shadow:0 15px 40px rgba(0,0,0,.08);

}



/* =======================================================
   COMMON BUTTONS
======================================================= */

.btn-primary{

display:inline-block;

padding:16px 38px;

background:var(--primary);

color:#fff;

border-radius:50px;

font-weight:600;

transition:.35s;

}

.btn-primary:hover{

background:#a30d26;

transform:translateY(-5px);

}



.btn-secondary{

display:inline-block;

padding:16px 38px;

border:2px solid #fff;

color:#fff;

border-radius:50px;

font-weight:600;

transition:.35s;

}

.btn-secondary:hover{

background:#fff;

color:var(--primary);

}



/* =======================================================
   SECTION TITLE
======================================================= */

.section-title{

text-align:center;

margin-bottom:70px;

}

.section-title span{

display:inline-block;

padding:10px 24px;

background:#ffe8ec;

color:var(--primary);

border-radius:50px;

font-size:14px;

font-weight:600;

letter-spacing:1px;

margin-bottom:20px;

}

.section-title h2{

font-size:46px;

font-weight:800;

margin-bottom:18px;

color:var(--dark);

}

.section-title p{

max-width:720px;

margin:auto;

font-size:17px;

color:var(--text);

}



/* =======================================================
   HEADER
======================================================= */

#header{

position:fixed;

top:0;

left:0;

width:100%;

background:#fff;

box-shadow:0 8px 25px rgba(0,0,0,.08);

z-index:9999;

transition:.35s;

}

.navbar{

width:90%;

max-width:1300px;

margin:auto;

display:flex;

justify-content:space-between;

align-items:center;

padding:18px 0;

}

.logo img{

height:60px;

}

.nav-links{

display:flex;

align-items:center;

gap:35px;

}

.nav-links li a{

font-size:16px;

font-weight:600;

color:#222;

position:relative;

transition:.35s;

}

.nav-links li a:hover,

.nav-links li a.active{

color:var(--primary);

}

.nav-links li a::after{

content:"";

position:absolute;

left:0;

bottom:-8px;

width:0;

height:2px;

background:var(--primary);

transition:.35s;

}

.nav-links li a:hover::after,

.nav-links li a.active::after{

width:100%;

}

.donate-btn{

padding:14px 30px;

background:var(--primary);

color:#fff;

border-radius:50px;

font-weight:600;

transition:.35s;

}

.donate-btn:hover{

background:#a30d26;

transform:translateY(-4px);

}

.menu-btn{

display:none;

font-size:30px;

cursor:pointer;

color:#222;

}



/* =======================================================
   HERO
======================================================= */

.gallery-hero{

position:relative;

width:100%;

height:100vh;

display:flex;

justify-content:center;

align-items:center;

overflow:hidden;

}

.gallery-hero img{

position:absolute;

top:0;

left:0;

width:100%;

height:100%;

object-fit:cover;

animation:heroZoom 18s linear infinite;

}

.gallery-overlay{

position:absolute;

top:0;

left:0;

width:100%;

height:100%;

background:linear-gradient(

90deg,

rgba(0,0,0,.75),

rgba(0,0,0,.45)

);

z-index:1;

}

.gallery-content{

position:relative;

z-index:2;

max-width:900px;

text-align:center;

padding:20px;

color:#fff;

}

.gallery-content span{

display:inline-block;

padding:12px 28px;

background:rgba(255,255,255,.12);

border:1px solid rgba(255,255,255,.2);

backdrop-filter:blur(10px);

border-radius:40px;

font-size:14px;

font-weight:600;

letter-spacing:2px;

margin-bottom:25px;

text-transform:uppercase;

}

.gallery-content h1{

font-size:68px;

font-weight:800;

line-height:1.15;

margin-bottom:25px;

text-shadow:0 10px 25px rgba(0,0,0,.35);

}

.gallery-content p{

font-size:18px;

line-height:2;

max-width:760px;

margin:auto auto 45px;

color:#f3f3f3;

}

.hero-buttons{

display:flex;

justify-content:center;

gap:20px;

flex-wrap:wrap;

}



/* =======================================================
   HERO ZOOM
======================================================= */

@keyframes heroZoom{

0%{

transform:scale(1);

}

100%{

transform:scale(1.08);

}

}


/* =======================================================
   GALLERY FILTER
======================================================= */

.gallery-filter{

padding:120px 0 70px;

background:#fff;

}



.filter-buttons{

display:flex;

justify-content:center;

align-items:center;

flex-wrap:wrap;

gap:18px;

margin-top:50px;

}



.filter-btn{

padding:14px 30px;

border:none;

background:#f3f3f3;

border-radius:50px;

font-size:15px;

font-weight:600;

cursor:pointer;

transition:.35s;

color:#444;

}



.filter-btn:hover{

background:#C8102E;

color:#fff;

transform:translateY(-4px);

}



.filter-btn.active{

background:#C8102E;

color:#fff;

box-shadow:0 10px 25px rgba(200,16,46,.25);

}



/* =======================================================
   GALLERY SECTION
======================================================= */

.gallery-grid-section{

padding:40px 0 120px;

background:#f8f9fb;

}



.gallery-grid{

display:grid;

grid-template-columns:repeat(3,1fr);

gap:30px;

}



/* =======================================================
   GALLERY CARD
======================================================= */

.gallery-item{

position:relative;

height:320px;

border-radius:22px;

overflow:hidden;

cursor:pointer;

box-shadow:0 15px 35px rgba(0,0,0,.08);

transition:.4s;

}



.gallery-item:hover{

transform:translateY(-10px);

box-shadow:0 25px 50px rgba(0,0,0,.15);

}



.gallery-item img{

width:100%;

height:100%;

object-fit:cover;

transition:.7s;

}



.gallery-item:hover img{

transform:scale(1.12);

}



/* =======================================================
   IMAGE OVERLAY
======================================================= */

.gallery-overlay{

position:absolute;

left:0;

bottom:0;

width:100%;

padding:25px;

background:linear-gradient(

to top,

rgba(0,0,0,.85),

transparent

);

display:flex;

flex-direction:column;

justify-content:flex-end;

height:100%;

opacity:0;

transition:.45s;

}



.gallery-item:hover .gallery-overlay{

opacity:1;

}



.gallery-overlay h3{

color:#fff;

font-size:24px;

font-weight:700;

margin-bottom:8px;

}



.gallery-overlay p{

color:#eee;

font-size:15px;

line-height:1.7;

margin-bottom:20px;

}



/* =======================================================
   EXPAND BUTTON
======================================================= */

.gallery-view{

width:55px;

height:55px;

border-radius:50%;

background:#C8102E;

display:flex;

justify-content:center;

align-items:center;

color:#fff;

font-size:20px;

transition:.35s;

}



.gallery-view:hover{

background:#fff;

color:#C8102E;

transform:rotate(180deg);

}



/* =======================================================
   FILTER ANIMATION
======================================================= */

.gallery-item.show{

display:block;

animation:fadeIn .5s ease;

}



.gallery-item.hide{

display:none;

}



@keyframes fadeIn{

from{

opacity:0;

transform:scale(.9);

}

to{

opacity:1;

transform:scale(1);

}

}

/* =======================================================
   LIGHTBOX
======================================================= */

.lightbox{

position:fixed;

top:0;

left:0;

width:100%;

height:100%;

background:rgba(0,0,0,.92);

backdrop-filter:blur(8px);

display:flex;

justify-content:center;

align-items:center;

flex-direction:column;

opacity:0;

visibility:hidden;

transition:.4s ease;

z-index:99999;

padding:30px;

}



.lightbox.active{

opacity:1;

visibility:visible;

}



/* ==========================================
   LIGHTBOX IMAGE
========================================== */

.lightbox img{

max-width:90%;

max-height:80vh;

border-radius:18px;

box-shadow:0 20px 60px rgba(0,0,0,.4);

animation:zoomImage .4s ease;

}



@keyframes zoomImage{

0%{

transform:scale(.8);

opacity:0;

}

100%{

transform:scale(1);

opacity:1;

}

}



/* ==========================================
   CLOSE BUTTON
========================================== */

.close-lightbox{

position:absolute;

top:35px;

right:45px;

width:55px;

height:55px;

border-radius:50%;

background:#C8102E;

display:flex;

justify-content:center;

align-items:center;

color:#fff;

font-size:24px;

cursor:pointer;

transition:.35s;

}



.close-lightbox:hover{

background:#fff;

color:#C8102E;

transform:rotate(180deg);

}



/* ==========================================
   IMAGE CAPTION
========================================== */

.lightbox-caption{

margin-top:30px;

text-align:center;

max-width:700px;

}



.lightbox-caption h3{

font-size:32px;

font-weight:700;

color:#fff;

margin-bottom:10px;

}



.lightbox-caption p{

font-size:16px;

color:#ddd;

line-height:1.8;

}



/* ==========================================
   PREVIOUS & NEXT BUTTONS
========================================== */

.lightbox-prev,

.lightbox-next{

position:absolute;

top:50%;

transform:translateY(-50%);

width:60px;

height:60px;

border-radius:50%;

background:#C8102E;

display:flex;

justify-content:center;

align-items:center;

font-size:22px;

color:#fff;

cursor:pointer;

transition:.35s;

}



.lightbox-prev{

left:40px;

}



.lightbox-next{

right:40px;

}



.lightbox-prev:hover,

.lightbox-next:hover{

background:#fff;

color:#C8102E;

}



/* ==========================================
   LIGHTBOX HOVER EFFECT
========================================== */

.lightbox img:hover{

transform:scale(1.02);

transition:.3s;

}

/* =======================================================
   GALLERY CTA
======================================================= */

.gallery-cta{

position:relative;

padding:140px 0;

background:url("why.png") center/cover no-repeat;

overflow:hidden;

text-align:center;

}

.cta-overlay{

position:absolute;

top:0;

left:0;

width:100%;

height:100%;

background:rgba(200,16,46,.85);

z-index:1;

}

.cta-content{

position:relative;

z-index:2;

max-width:900px;

margin:auto;

padding:20px;

color:#fff;

}

.cta-content span{

display:inline-block;

padding:12px 30px;

background:rgba(255,255,255,.15);

border-radius:50px;

backdrop-filter:blur(10px);

font-size:14px;

font-weight:600;

letter-spacing:2px;

margin-bottom:22px;

text-transform:uppercase;

}

.cta-content h2{

font-size:60px;

font-weight:800;

line-height:1.2;

margin-bottom:25px;

}

.cta-content p{

font-size:18px;

line-height:2;

max-width:760px;

margin:auto auto 45px;

color:#f4f4f4;

}



/* =======================================================
   FOOTER
======================================================= */

footer{

background:#111;

padding:90px 0 0;

color:#fff;

}

.footer-container{

width:90%;

max-width:1300px;

margin:auto;

display:grid;

grid-template-columns:2fr 1fr 1fr 1.5fr;

gap:50px;

}

.footer-logo{

height:70px;

margin-bottom:25px;

}

.footer-col p{

font-size:15px;

line-height:1.9;

color:#ccc;

margin-bottom:25px;

}

.footer-col h3{

font-size:24px;

margin-bottom:25px;

color:#fff;

position:relative;

}

.footer-col h3::after{

content:"";

position:absolute;

left:0;

bottom:-10px;

width:45px;

height:3px;

background:#C8102E;

}

.footer-col ul li{

margin-bottom:15px;

}

.footer-col ul li a{

color:#ccc;

font-size:15px;

transition:.3s;

}

.footer-col ul li a:hover{

color:#C8102E;

padding-left:8px;

}



/* =======================================================
   NEWSLETTER
======================================================= */

.footer-col form{

display:flex;

flex-direction:column;

gap:15px;

}

.footer-col input{

padding:15px;

border:none;

border-radius:8px;

font-size:15px;

outline:none;

}

.footer-col button{

padding:15px;

background:#C8102E;

color:#fff;

border:none;

border-radius:8px;

font-size:15px;

font-weight:600;

cursor:pointer;

transition:.3s;

}

.footer-col button:hover{

background:#fff;

color:#C8102E;

}



/* =======================================================
   SOCIAL LINKS
======================================================= */

.social-links{

display:flex;

gap:15px;

margin-top:20px;

}

.social-links a{

width:48px;

height:48px;

border-radius:50%;

display:flex;

align-items:center;

justify-content:center;

background:#1e1e1e;

color:#fff;

font-size:18px;

transition:.35s;

}

.social-links a:hover{

background:#C8102E;

transform:translateY(-6px);

}



/* =======================================================
   COPYRIGHT
======================================================= */

.copyright{

margin-top:70px;

padding:25px;

text-align:center;

border-top:1px solid rgba(255,255,255,.1);

}

.copyright p{

font-size:15px;

color:#bbb;

}

.copyright strong{

color:#C8102E;

}

/* =======================================================
   RESPONSIVE
======================================================= */

/* ==========================
   1200px
========================== */

@media(max-width:1200px){

.gallery-grid{

grid-template-columns:repeat(2,1fr);

}

.video-grid{

grid-template-columns:repeat(2,1fr);

}

.gallery-stats .container{

grid-template-columns:repeat(2,1fr);

}

.footer-container{

grid-template-columns:repeat(2,1fr);

}

.gallery-content h1{

font-size:56px;

}

}



/* ==========================
   992px
========================== */

@media(max-width:992px){

.nav-links{

position:fixed;

top:90px;

left:-100%;

width:280px;

height:100vh;

background:#fff;

display:flex;

flex-direction:column;

padding:50px 30px;

align-items:flex-start;

gap:25px;

transition:.4s;

box-shadow:0 15px 40px rgba(0,0,0,.12);

}

.nav-links.active{

left:0;

}

.nav-links li a{

color:#222;

}

.menu-btn{

display:block;

}

.donate-btn{

display:none;

}

.gallery-content h1{

font-size:48px;

}

.section-title h2{

font-size:40px;

}

.cta-content h2{

font-size:46px;

}

}



/* ==========================
   768px
========================== */

@media(max-width:768px){

.gallery-grid{

grid-template-columns:1fr;

}

.video-grid{

grid-template-columns:1fr;

}

.gallery-stats .container{

grid-template-columns:1fr;

}

.footer-container{

grid-template-columns:1fr;

text-align:center;

}

.social-links{

justify-content:center;

}

.footer-col h3::after{

left:50%;

transform:translateX(-50%);

}

.gallery-content h1{

font-size:40px;

}

.gallery-content p{

font-size:16px;

}

.section-title h2{

font-size:34px;

}

.cta-content h2{

font-size:38px;

}

.hero-buttons{

flex-direction:column;

}

.hero-buttons .btn-primary,

.hero-buttons .btn-secondary{

width:230px;

text-align:center;

}

.close-lightbox{

top:20px;

right:20px;

}

.lightbox-prev{

left:15px;

}

.lightbox-next{

right:15px;

}

}



/* ==========================
   576px
========================== */

@media(max-width:576px){

.logo img{

height:50px;

}

.gallery-content h1{

font-size:32px;

}

.gallery-content span{

font-size:12px;

padding:10px 20px;

}

.section-title h2{

font-size:28px;

}

.section-title p{

font-size:15px;

}

.filter-buttons{

gap:12px;

}

.filter-btn{

padding:12px 18px;

font-size:13px;

}

.gallery-item{

height:260px;

}

.video-thumbnail{

height:220px;

}

.stat-card h2{

font-size:46px;

}

.cta-content h2{

font-size:30px;

}

.cta-content p{

font-size:16px;

}

}

.web{
   color: rgb(255, 20, 39);
}