/* ===================================
   GSURF WEBSITE
   Global South Urban Resilience Forum
=================================== */

/* Google Fonts */

body{

    font-family:'Poppins',sans-serif;

    background:#f8fafb;

    color:#444;

    overflow-x:hidden;

}

/*==================================
COLORS
==================================*/

:root{

    --primary:#0b4f8c;

    --secondary:#2E7D32;

    --accent:#7CB342;

    --light:#F8FAFC;

    --white:#ffffff;

    --dark:#263238;

    --gray:#6c757d;

}

/*==================================
GENERAL
==================================*/

section{

    padding:90px 0;

}

h1,h2,h3,h4,h5{

    font-family:'Playfair Display',serif;

    font-weight:700;

    color:var(--dark);

}

p{

    line-height:1.8;

    color:#666;

}

a{

    text-decoration:none;

    transition:.3s;

}

img{

    max-width:100%;

}

/*==================================
NAVBAR
==================================*/

.custom-navbar{

    background:white;

    box-shadow:0 3px 15px rgba(0,0,0,.08);

    transition:.4s;

    padding:15px 0;
    z-index:1000;

}

.logo{

    height:75px;

    transition:.3s;

}

.nav-link{

    color:var(--dark)!important;

    font-weight:600;

    margin-left:15px;

}

.nav-link:hover{

    color:var(--secondary)!important;

}

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

.btn-primary{

    background:var(--primary);

    border:none;

    border-radius:50px;

    padding:14px 32px;

}

.btn-primary:hover{
    background:var(--secondary);
}

.btn-success{

    background:var(--secondary);

    border:none;

    border-radius:50px;

}

.btn-success:hover{

    background:var(--primary);

}

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

.hero{

    min-height:100vh;

    padding-top:100px;
    background-image: url("../images/hero.jpg");

    background-size:cover;

    background-position:center;

    position:relative;

    display:flex;

    align-items:center;

}

.hero::before{

    content:"";

    position:absolute;

    inset:0;

    background:rgba(0,0,0,.55);

}

.hero-content{

    position:relative;

    z-index:2;

    color:white;

}

.hero-content h1{

    font-size:60px;

    color:white;

}

.hero-content p{

    color:#eee;

    font-size:20px;

}

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

.focus-card{

    border:none;

    border-radius:18px;

    overflow:hidden;

    box-shadow:0 15px 35px rgba(0,0,0,.08);

    transition:.4s;

    background:white;

    height:100%;

}

.focus-card:hover{

    transform:translateY(-10px);

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

}

.focus-card img{

    height:250px;

    width:100%;

    object-fit:cover;

    transition:.5s;

}

.focus-card:hover img{

    transform:scale(1.08);

}

.card-body{

    padding:30px;

}

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

.section-title{

    text-align:center;

    margin-bottom:60px;

}

.section-title h2{

    font-size:42px;

}

.section-title p{

    max-width:700px;

    margin:auto;

}

/*==================================
STATISTICS
==================================*/

.stats{

    background:var(--primary);

    color:white;

}

.stat-item{

    text-align:center;

}

.stat-item h2{

    color:white;

    font-size:52px;

}

.stat-item p{

    color:#ddd;

}

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

.footer{

    background:#1c2833;

    color:white;

    padding:70px 0 30px;

}

.footer h5{

    color:white;

}

.footer p{

    color:#ddd;

}

.footer-links{

    list-style:none;

    padding:0;

}

.footer-links li{

    margin-bottom:10px;

}

.footer-links a{

    color:#ddd;

}

.footer-links a:hover{

    color:#7CB342;

}

.social-icons a{

    color:white;

    font-size:26px;

    margin-right:15px;

}

.social-icons a:hover{

    color:#7CB342;

}

/*==================================
WHATSAPP
==================================*/

.whatsapp{

    position:fixed;

    right:25px;

    bottom:25px;

    width:65px;

    height:65px;

    border-radius:50%;

    background:#25D366;

    display:flex;

    justify-content:center;

    align-items:center;

    color:white;

    font-size:34px;

    z-index:9999;

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

}

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

@media(max-width:991px){

.logo{

    height:60px;

}

.hero{

    height:80vh;

}

.hero-content h1{

    font-size:42px;

}

.section-title h2{

    font-size:34px;

}

}

@media(max-width:768px){

.hero{

    text-align:center;

}

.hero-content h1{

    font-size:34px;

}

.hero-content p{

    font-size:18px;

}

.logo{

    height:50px;

}

section{

    padding:70px 0;

}

}
/* =================================
   GSURF BACKGROUND WATERMARK
================================= */


.gsurf-watermark{

    position:fixed;

    top:50%;

    left:50%;

    transform:translate(-50%, -50%);

    z-index:-1;

    pointer-events:none;

    opacity:0.05;

}


.gsurf-watermark img{

    width:650px;

    height:auto;

}



/* Keep page content above watermark */

 /* Prevent content hiding behind fixed navbar */

main{

    padding-top:100px;

}
footer,
nav{

    position:relative;

    z-index:1;

}



/* Mobile */

@media(max-width:768px){

    .gsurf-watermark img{

        width:350px;

    }

}
/* ===============================
   SERVICES CAROUSEL
================================ */


.services-carousel{

    padding:90px 0;
    

}



.service-image{

    height:500px;
   width: 200px; ;
    object-fit:cover;

    border-radius:20px;

}



.carousel-item{

    position:relative;

}



.carousel-item::after{

    content:"";

    position:absolute;

    inset:0;

    background:rgba(0,0,0,0.45);

    border-radius:20px;

}



.carousel-caption{

    z-index:2;

    bottom:50%;

    transform:translateY(50%);

}



.carousel-caption h3{

    color:hsl(207, 15%, 86%);

    font-size:40px;

}



.carousel-caption p{

    color:hsl(207, 15%, 86%);

    font-size:18px;

}



@media(max-width:768px){

    .service-image{

        height:350px;

    }


    .carousel-caption h3{

        font-size:28px;

    }

}
/* ==============================
SERVICE PAGE
============================== */

.service-icon{

    font-size:55px;

    color:var(--secondary);

}

.process-box{

    background:#fff;

    padding:35px;

    border-radius:20px;

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

    height:100%;

    transition:.3s;

}

.process-box:hover{

    transform:translateY(-8px);

}

.process-number{

    width:70px;

    height:70px;

    margin:auto;

    border-radius:50%;

    background:var(--secondary);

    color:#fff;

    font-size:30px;

    font-weight:bold;

    display:flex;

    align-items:center;

    justify-content:center;

    margin-bottom:20px;

}

.cta-section{

    background:linear-gradient(rgba(46,125,50,.92),rgba(11,79,140,.85)),
    url("../images/climate.jpeg");

    background-size:cover;

    background-position:center;

    padding:90px 0;

    color:white;

}

.cta-section h2{

    color:white;

}

.cta-section p{

    color:#f4f4f4;

    max-width:700px;

    margin:20px auto;

}
.service-img{

    height:240px;

    width:100%;

    object-fit:cover;

    border-radius:20px 20px 0 0;

}


.focus-card{

    overflow:hidden;

    border:none;

    border-radius:20px;

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

    transition:.3s;

    background:#fff;

}

.focus-card:hover{

    transform:translateY(-10px);

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

}
/* ==========================
CONTACT PAGE
========================== */

.contact-info-card,
.contact-form-card{

    background:#fff;

    border-radius:20px;

    padding:40px;

    box-shadow:0 15px 40px rgba(0,0,0,.08);

    height:100%;

}

.contact-item{

    display:flex;

    align-items:flex-start;

    gap:20px;

    margin-bottom:25px;

}

.contact-item i{

    font-size:28px;

    color:var(--secondary);

}

.contact-item h5{

    margin-bottom:5px;

}

.contact-item p{

    margin:0;

    color:#666;

}

.social-icons{

    display:flex;

    gap:15px;

    flex-wrap:wrap;

}

.social-icons a{

    width:50px;

    height:50px;

    display:flex;

    justify-content:center;

    align-items:center;

    border-radius:50%;

    background:var(--secondary);

    color:#fff;

    text-decoration:none;

    transition:.3s;

}

.social-icons a:hover{

    transform:translateY(-5px);

    background:var(--primary);

}

.contact-form-card form p{

    margin-bottom:20px;

}

.contact-form-card input,
.contact-form-card textarea{

    width:100%;

    border-radius:10px;

    border:1px solid #ddd;

    padding:12px 15px;

}

.contact-form-card textarea{

    min-height:160px;

}

.map-container{

    border-radius:20px;

    overflow:hidden;

    box-shadow:0 15px 40px rgba(0,0,0,.08);

}
.news-content{
    font-size:1.1rem;
    line-height:1.9;
    color:#444;
}

.news-content p{
    margin-bottom:20px;
}

.news-content h2,
.news-content h3{
    color:#1d7f4e;
    margin-top:35px;
}

.news-content ul{
    padding-left:20px;
}

.news-content li{
    margin-bottom:10px;
}

.card img{
    object-fit:cover;
}