/*==================================================
FDCO - STYLE.CSS
Version: 1.0
==================================================*/

/*==============================
ROOT
==============================*/

:root{

--primary:#0F766E;
--primary-dark:#115E59;
--secondary:#F59E0B;
--secondary-dark:#D97706;

--success:#16A34A;
--danger:#DC2626;

--dark:#111827;
--text:#374151;

--gray:#6B7280;
--light:#F3F4F6;
--white:#FFFFFF;

--border:#E5E7EB;

--radius:14px;

--shadow:
0 10px 30px rgba(0,0,0,.08);

--transition:.3s ease;

--container:1200px;

}

/*==============================
RESET
==============================*/

*{

margin:0;
padding:0;
box-sizing:border-box;

}

html{

scroll-behavior:smooth;

}

body{

font-family:
Arial,
Helvetica,
sans-serif;

font-size:16px;

line-height:1.7;

color:var(--text);

background:var(--white);

overflow-x:hidden;

}

img{

max-width:100%;

display:block;

height:auto;

}

a{

text-decoration:none;

color:inherit;

transition:var(--transition);

}

ul{

list-style:none;

}

button,
input,
textarea,
select{

font:inherit;

}

/*==============================
CONTAINER
==============================*/

.container{

width:90%;

max-width:var(--container);

margin:auto;

}

/*==============================
TYPOGRAPHY
==============================*/

h1{

font-size:54px;

line-height:1.2;

color:var(--dark);

margin-bottom:25px;

}

h2{

font-size:38px;

color:var(--dark);

margin-bottom:20px;

}

h3{

font-size:24px;

color:var(--dark);

margin-bottom:15px;

}

p{

margin-bottom:18px;

}

/*==============================
SECTION
==============================*/

section{

padding:90px 0;

}

.section-heading{

margin-bottom:55px;

text-align:center;

}

.section-heading span{

display:inline-block;

padding:8px 18px;

background:#D1FAE5;

color:var(--primary);

font-weight:bold;

border-radius:999px;

margin-bottom:18px;

}

.section-heading h2{

max-width:760px;

margin:auto;

}

/*==============================
HEADER
==============================*/

header{

position:sticky;

top:0;

left:0;

z-index:999;

background:#fff;

box-shadow:

0 2px 12px rgba(0,0,0,.06);

}

header .container{

display:flex;

justify-content:space-between;

align-items:center;

height:85px;

}

.logo{

font-size:32px;

font-weight:700;

color:var(--primary);

}

nav ul{

display:flex;

gap:28px;

align-items:center;

}

nav a{

font-weight:600;

position:relative;

}

nav a:hover{

color:var(--primary);

}

nav a::after{

content:"";

position:absolute;

bottom:-7px;

left:0;

width:0;

height:2px;

background:var(--primary);

transition:.3s;

}

nav a:hover::after,

nav a[aria-current="page"]::after{

width:100%;

}

.menu-toggle{

display:none;

background:none;

border:none;

font-size:34px;

cursor:pointer;

}

/*==============================
HERO
==============================*/

.hero{

padding:110px 0;

background:

linear-gradient(

135deg,

#ECFDF5,

#FFFFFF

);

}

.hero .container{

max-width:850px;

text-align:center;

}

.hero-badge{

display:inline-block;

padding:10px 20px;

background:#D1FAE5;

color:var(--primary);

font-weight:700;

border-radius:999px;

margin-bottom:24px;

}

.hero p{

font-size:19px;

max-width:760px;

margin:auto;

margin-bottom:35px;

}

/*==============================
BUTTONS
==============================*/

.hero-buttons{

display:flex;

justify-content:center;

align-items:center;

gap:18px;

flex-wrap:wrap;

}

.btn{

display:inline-flex;

align-items:center;

justify-content:center;

padding:15px 28px;

border-radius:10px;

font-weight:700;

transition:var(--transition);

cursor:pointer;

border:none;

}

.btn-primary{

background:var(--primary);

color:#fff;

}

.btn-primary:hover{

background:var(--primary-dark);

transform:translateY(-3px);

}

.btn-secondary{

background:var(--secondary);

color:#fff;

}

.btn-secondary:hover{

background:var(--secondary-dark);

transform:translateY(-3px);

}

.btn-outline{

border:2px solid var(--primary);

color:var(--primary);

background:#fff;

}

.btn-outline:hover{

background:var(--primary);

color:#fff;

}

/*==============================
GRID
==============================*/

.activities-grid,
.values-grid,
.footer-grid{

display:grid;

gap:30px;

}

.activities-grid{

grid-template-columns:

repeat(auto-fit,minmax(260px,1fr));

}

.values-grid{

grid-template-columns:

repeat(auto-fit,minmax(240px,1fr));

}

.footer-grid{

grid-template-columns:

2fr 1fr 1fr;

}
/*==============================
CARDS
==============================*/

.card{

background:#fff;

padding:35px;

border-radius:var(--radius);

box-shadow:var(--shadow);

transition:var(--transition);

border:1px solid var(--border);

height:100%;

}

.card:hover{

transform:translateY(-8px);

box-shadow:

0 18px 40px rgba(0,0,0,.12);

}

.card h3{

color:var(--primary);

margin-bottom:15px;

}

.card p{

margin:0;

color:var(--gray);

}

/*==============================
ABOUT / CONTENT
==============================*/

.about-introduction,
.mission-introduction,
.activities-introduction,
.resources-introduction,
.donation-introduction,
.contact-information,
.education,
.learn-more,
.our-impact,
.transparency,
.our-commitment,
.why-adopt,
.contact-commitment,
.resource-updates,
.legal-content{

background:#fff;

}

.about-introduction p,
.mission-introduction p,
.activities-introduction p,
.resources-introduction p,
.donation-introduction p,
.contact-information p,
.education p,
.learn-more p,
.our-impact p,
.transparency p,
.our-commitment p,
.why-adopt p,
.contact-commitment p,
.resource-updates p,
.legal-content p{

max-width:900px;

margin:auto;

margin-bottom:25px;

text-align:center;

}

/*==============================
LISTS
==============================*/

.legal-content ul{

margin:25px 0;

padding-left:25px;

}

.legal-content li{

list-style:disc;

margin-bottom:12px;

}

.quick-links ul{

margin-top:25px;

}

.quick-links li{

margin-bottom:12px;

}

.quick-links a{

color:var(--primary);

font-weight:600;

}

.quick-links a:hover{

text-decoration:underline;

}

/*==============================
FORM
==============================*/

.contact-form{

max-width:750px;

margin:auto;

margin-top:40px;

}

.form-group{

margin-bottom:24px;

}

label{

display:block;

margin-bottom:10px;

font-weight:700;

color:var(--dark);

}

input,
textarea,
select{

width:100%;

padding:16px;

border:1px solid var(--border);

border-radius:10px;

background:#fff;

transition:var(--transition);

}

textarea{

resize:vertical;

min-height:180px;

}

input:focus,
textarea:focus,
select:focus{

outline:none;

border-color:var(--primary);

box-shadow:

0 0 0 4px rgba(15,118,110,.15);

}

.contact-form button{

margin-top:10px;

}

/*==============================
FOOTER
==============================*/

footer{

background:var(--dark);

color:#fff;

padding-top:70px;

margin-top:80px;

}

footer h3{

color:#fff;

margin-bottom:20px;

}

footer p{

color:#D1D5DB;

}

footer ul li{

margin-bottom:14px;

}

footer a{

color:#D1D5DB;

}

footer a:hover{

color:#fff;

}

.footer-bottom{

margin-top:45px;

padding:25px 0;

border-top:

1px solid rgba(255,255,255,.1);

text-align:center;

}

/*==============================
404 PAGE
==============================*/

.error-page{

display:flex;

align-items:center;

justify-content:center;

min-height:100vh;

text-align:center;

background:

linear-gradient(

135deg,

#ECFDF5,

#F9FAFB

);

}

.error-content{

max-width:760px;

}

.error-content h1{

font-size:70px;

margin:25px 0;

}

.error-content p{

margin-bottom:25px;

}

/*==============================
SKIP LINK
==============================*/

.skip-link{

position:absolute;

top:-100px;

left:20px;

background:var(--primary);

color:#fff;

padding:12px 20px;

border-radius:10px;

z-index:9999;

}

.skip-link:focus{

top:20px;

}

/*==============================
PAGE HEADER
==============================*/

.page-header{

background:#F9FAFB;

padding:70px 0;

text-align:center;

}

.page-header h1{

margin-bottom:10px;

}

/*==============================
LEGAL
==============================*/

.legal-content{

max-width:950px;

margin:auto;

}

.legal-content h2{

margin-top:45px;

margin-bottom:18px;

color:var(--primary);

}

.legal-content a{

color:var(--primary);

font-weight:600;

}

.legal-content strong{

color:var(--dark);

}
/*==============================
RESPONSIVE
==============================*/

@media (max-width:992px){

h1{

font-size:42px;

}

h2{

font-size:32px;

}

header .container{

height:80px;

}

.footer-grid{

grid-template-columns:1fr;

text-align:center;

gap:45px;

}

.activities-grid,
.values-grid{

grid-template-columns:

repeat(auto-fit,minmax(250px,1fr));

}

.hero{

padding:90px 0;

}

section{

padding:75px 0;

}

}

/*==============================
TABLET
==============================*/

@media (max-width:768px){

.menu-toggle{

display:block;

color:var(--dark);

}

nav{

position:absolute;

top:80px;

left:0;

width:100%;

background:#fff;

display:none;

box-shadow:

0 15px 30px rgba(0,0,0,.08);

}

nav.active{

display:block;

animation:fadeMenu .3s ease;

}

nav ul{

flex-direction:column;

padding:25px;

gap:20px;

}

header .container{

height:75px;

}

.logo{

font-size:28px;

}

.hero{

padding:80px 0;

}

.hero h1{

font-size:36px;

}

.hero p{

font-size:17px;

}

.section-heading h2{

font-size:30px;

}

.hero-buttons{

flex-direction:column;

width:100%;

}

.hero-buttons .btn{

width:100%;

max-width:350px;

}

.activities-grid,
.values-grid{

grid-template-columns:1fr;

}

.card{

padding:28px;

}

.contact-form{

width:100%;

}

input,
textarea,
select{

padding:15px;

}

.quick-links{

text-align:center;

}

.error-content h1{

font-size:54px;

}

}

/*==============================
MOBILE
==============================*/

@media (max-width:576px){

body{

font-size:15px;

}

.container{

width:92%;

}

section{

padding:60px 0;

}

h1{

font-size:30px;

}

h2{

font-size:26px;

}

h3{

font-size:21px;

}

.hero{

padding:65px 0;

}

.hero-badge{

font-size:14px;

padding:8px 18px;

}

.hero p{

font-size:16px;

}

.btn{

width:100%;

padding:15px;

}

.card{

padding:24px;

}

.section-heading{

margin-bottom:40px;

}

.page-header{

padding:55px 0;

}

.page-header h1{

font-size:30px;

}

.footer-bottom{

font-size:14px;

line-height:1.8;

}

.error-content h1{

font-size:46px;

}

.skip-link{

left:10px;

right:10px;

width:auto;

text-align:center;

}

}

/*==============================
LARGE SCREENS
==============================*/

@media (min-width:1400px){

.container{

max-width:1320px;

}

.hero .container{

max-width:950px;

}

}

/*==============================
ANIMATIONS
==============================*/

@keyframes fadeMenu{

from{

opacity:0;

transform:translateY(-15px);

}

to{

opacity:1;

transform:translateY(0);

}

}

@keyframes fadeUp{

from{

opacity:0;

transform:translateY(30px);

}

to{

opacity:1;

transform:translateY(0);

}

}

.hero,
.card,
.section-heading,
.page-header{

animation:fadeUp .6s ease;

}

/*==============================
SELECTION
==============================*/

::selection{

background:var(--primary);

color:#fff;

}

/*==============================
SCROLLBAR
==============================*/

::-webkit-scrollbar{

width:10px;

}

::-webkit-scrollbar-track{

background:#F3F4F6;

}

::-webkit-scrollbar-thumb{

background:var(--primary);

border-radius:20px;

}

::-webkit-scrollbar-thumb:hover{

background:var(--primary-dark);

}
.back-top{

position:fixed;

right:20px;

bottom:20px;

width:55px;

height:55px;

display:flex;

align-items:center;

justify-content:center;

border:none;

border-radius:50%;

background:#0F766E;

color:#fff;

font-size:24px;

cursor:pointer;

box-shadow:0 8px 20px rgba(0,0,0,.20);

opacity:0;

visibility:hidden;

transition:.3s;

z-index:9999;

}

.back-top.show{

opacity:1;

visibility:visible;

}

.back-top:hover{

background:#115E59;

transform:translateY(-5px);

}

.back-top:active{

transform:scale(.95);

}

@media(max-width:992px){

.back-top{

width:52px;

height:52px;

font-size:22px;

right:18px;

bottom:18px;

}

}

@media(max-width:768px){

.back-top{

width:50px;

height:50px;

font-size:21px;

right:16px;

bottom:16px;

}

}

@media(max-width:480px){

.back-top{

width:48px;

height:48px;

font-size:20px;

right:14px;

bottom:14px;

}

}
.logo{
display:flex;
align-items:center;
gap:12px;
}

.logo img{
width:72px;
height:72px;
object-fit:contain;
display:block;
}

footer h3 img{
width:80px;
height:80px;
object-fit:contain;
display:block;
}

@media (max-width:768px){

.logo img{
width:60px;
height:60px;
}

footer h3 img{
width:68px;
height:68px;
}

}

@media (max-width:480px){

.logo img{
width:52px;
height:52px;
}

footer h3 img{
width:60px;
height:60px;
}

}