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

    scroll-behavior: smooth;
}

:root{
    --red-color: #FF5757;
    --white-color: #FFFDF7;
    --pink-color: #FFA2B7;
    --cream-color: #FFF3E1;
}


a, button{
    all: unset;
}



body{
    max-width: 1440px;
    overflow-x: hidden;
    margin: 0 auto;
}

section{
    width: 95%;
    margin: 0 auto;

    padding-top: 100px;
    padding-bottom: 100px;
}



body{
    background-color: var(--cream-color);
    font-family: "Fredoka", sans-serif;
}

header{
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: flex-end;

    gap: 40px;
    width: 95%;
    margin: 0 auto;
    padding: 20px 0px 15px 0px;

    border-bottom: 1px solid rgba(0,0,0,0.1);
}

header a{
    cursor: pointer;
}

header img{
    margin-right: auto;
    width: 75px;
    border-radius: 50%;
}

/* Above the fold */

.above-the-fold{
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    padding-bottom: 100px;
    padding-top: 50px;


    gap: 50px 0px;
    width: 95%;
    margin: 0 auto;
}

.above-the-fold .left{
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    gap: 20px;

    flex: 1;

    max-width: 500px;
}

.above-the-fold .right{ 
    flex: 1.4;
    max-width: 600px;
}

.above-the-fold .right img{
    width: 100%;
}


h1{
    color: var(--red-color);
    font-size: 4rem;
}
h2{
    font-weight: 400;
}
.above-the-fold .buttons{
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;

    gap: 20px;
}


.main-filled-button, .main-outlined-button{
    padding: 10px 20px;
    border-radius: 20px;
    font-size: 1.25rem;
    cursor: pointer;
}

.main-outlined-button{
    outline: 2px solid var(--red-color);
}

.main-filled-button{
    background-color: var(--red-color);
    color: var(--white-color);
}




/* Who we are */

h3{
    color: var(--red-color);
    font-size: 3rem;
}

.about-us{
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;

    gap: 75px 50px;

    flex-wrap: wrap;
}

.about-us .left{
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;

    gap: 40px;
    flex: 1.5;

    min-width: 425px;
}

.about-us .left p{
    font-size: 1.2rem;
    line-height: 200%;
}

.about-us .right{
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-around;
    gap: 20px;

    width: 50%;

    flex: 1;
}

.about-us .right .image{
    position: relative;
}

.about-us .right .image p{
    position: absolute;
    bottom: -30px;
    left: 50%;
    transform: translateX(-50%);
    text-decoration: underline;
    width: 150px;
    text-align: center;
}

.about-us .right .image p:nth-child(1){
    top: -30px;
}

.about-us .right div{
    background-color: var(--red-color);
    padding: 10px;
    border-radius: 50%;
    width: 100%;
    max-width: 250px;
}

.about-us .right img{
    width: 100%;
    min-width: 200px;
}


/* How we help */

.how-we-help{
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;

    gap: 50px;
}

.how-we-help .container{
    display: flex;
    flex-direction: row;
    align-items: stretch;
    justify-content: center;
    gap: 100px;

    flex-wrap: wrap;
}

.how-we-help .box{
    flex: 1;
    min-width: 250px;
    min-height: 250px;
    background-color: var(--cream-color);

    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;

    padding: 25px;

    box-shadow: 0px 0px 12px rgba(0,0,0,0.1);
    border-radius: 10px;
    
}

.how-we-help .box i{
    font-size: 6rem;
    margin-bottom: 20px;
    color: var(--red-color);
    background-color: rgba(255, 162, 183, 0.3);
    padding: 40px;
    border-radius: 50%;
}

.how-we-help .box h4{
    font-size: 1.5rem;
    color: #3A2C2C;
    text-align: center;
}


/* Our Imact */

.our-impact{
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 50px;
    
}

.our-impact .container{
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    justify-content: center;

    gap: 40px;

    flex-wrap: wrap;
}

.our-impact .container div{
    width: 300px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;

    text-align: center;

    gap: 15px;
}

.our-impact .container img{
    width: 100%;
    aspect-ratio:  1 / 1;
    object-fit: cover;
    border-radius: 20px;
    border: 5px solid var(--red-color);
    box-shadow: 4px 4px 4px rgba(0,0,0,0.2);
}


/* Contact Us */


.contact-us{
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;

    gap: 50px;
}

form{
    width: clamp(250px, 90%, 1000px);
    margin: 0 auto;

    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;

    gap: 20px;
}

form input, textarea{
    all: unset;
    width: 100%;
    max-width: 100%;


    background-color: var(--white-color);
    border-radius: 10px;

    outline: 1px dotted var(--pink-color);
}
form button{
    width: 80%;
    text-align: center;
}
form .line{
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;

    gap: 20px;

    width: 100%;
}

form input{
    padding: 15px;
}
textarea{
    padding: 10px;
    height: 150px;
    box-sizing: border-box;
}




footer{
    width: 100%;
    background-color: #610000;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    color: white;

    gap: 10px;
    padding: 20px;
}

footer a{
    cursor: pointer;
    text-decoration: underline;
}
footer img{
    width: 100px;
    border-radius: 50%;
}






@media (max-width: 1200px){
    h1{
        font-size: 3rem;
    }
    .above-the-fold .right{
        max-width: 450px;
        flex: 1;
    }
    .above-the-fold{
        padding-top: 50px;
    }
}






@media (max-width: 768px){

    header a:nth-of-type(1){
        display: none;
    }


    .above-the-fold{
        flex-direction: column;
    }

    .above-the-fold .left{
        align-items: center;
        text-align: center;
    }


    .about-us .right{
        flex-wrap: wrap;
    }
    .about-us .right div{
        max-width: 200px;
    }
    .about-us .right img{
        min-width: 150px;
    }

    .about-us .left{
        min-width: 150px;
    }



    .how-we-help .container{
        width: 50%;
    }
    .how-we-help .box i{
        font-size: clamp(3rem, 15vw, 5rem);
        padding: 10vw;
    }

    h3{
        text-align: center;
        font-size: 2rem;
    }
}


@media (max-width: 425px){
    section{
        width: 90%;
    }

    header a:nth-of-type(2){
        display: none;
    }

    .above-the-fold{
        width: 90%;
    }
    h1{
        font-size: 2.5rem;
    }

    h2{
        font-size: 1.25rem;
    }

    .above-the-fold .buttons {
        flex-direction: column;
    }

    .above-the-fold .buttons button{
        width: 100%;
    }



    .our-impact .container{
        width: 80%;
    }
    .our-impact .container div{
        width: 100%;
    }

    form{
        width: 90%;
    }
    form .line{
        flex-direction: row;
        width: 100%;
        flex-wrap: wrap;
    }

    form input{
        width: 100%;
        flex: 1;
        min-width: 200px;
    }
    textarea{
        width: 100%;
    }
}