*{
    margin : 0;
    padding:0;
    box-sizing: border-box;
    font-family: "Inter", sans-serif;
}
body,html{
    overflow-x: clip;
    scroll-behavior: smooth!important;
}
body h1,h2,h3,h4,h5,h6,p{
    margin-bottom: 0%!important;
}
body h1,h2,h3,h4,h5{
    font-family: "Agbalumo", system-ui;
}
body li{
    list-style: none;
}
body a{
    text-decoration: none;
}
:root{
    --primary:#337A1C;
    --black: #333;
    --white:white;
    --gray:gray;
    --lightgray:lightgray;
    --theme-color:#337A1C;
}
.wrapper{
    width:90%;
    margin: auto;
}
.gaps{
    margin-top: 5%;
}
.flex-center{
    display: flex;
    justify-content: center;
    align-items: center;
}
.flex-center-column{
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
}
.common{
    background:repeating-conic-gradient(#000 7deg 14deg, #111 14deg 29deg);
    background-size: 10px 10px;
    color:var(--white);
    padding-block: 35px;
}
.common h4{
    font-size: 25px;
    letter-spacing: 1px;
    margin-bottom: 0.8%!important;
}
.common a{
    color:var(--white);
}
.whatsapp,.pulse {
    background: #1ab744;
    position: fixed;
    right:2%;
    bottom:10%;
    font-size: 30px;
    text-align: center;
    z-index: 99;
    border-radius: 50%;
    height: 55px;
    width: 55px;
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    color: var(--white);
}
.pulse:nth-child(1) {
    animation: pulse 2s infinite
}
.pulse:nth-child(2) {
    animation: pulse 2s infinite .3s
}
.pulse:nth-child(3) {
    animation: pulse 2s infinite .6s
}
@keyframes pulse {
0% {
    transform: scale(.1);
    opacity: 0;
}
50% {
    opacity: .3;
}
100% {
    transform: scale(1.6);
    opacity: 0;
}
}
.arrow-up{
   position: fixed;
   height:35px;
   width:35px; 
   border: none;
   outline: none;
   border: 2px solid var(--theme-color);
   border-radius: 50%;
   background-color: var(--white);
   color:var(--theme-color);
   bottom:3.5%;
   right:2.5%;
   z-index: 999;
}
.dark{
    background-color: #111;
    color:var(--white);
    .upper{
        background-color: #111;
    }
    .nav-link{
        color:var(--white);
    }
    .circle-btn{
        color:var(--white);
    }
    .work-box:hover{
        color:var(--black);
    }
    footer > svg{
        background-color: transparent;
        opacity: 0.1;
    }
    .navbar-toggler{
        background-color: var(--white);
    }
}
.dark .moon {
    background-color: var(--white);
    color: red;
}

/* navbar part start  */
.upper{
    background:var(--black);
    color:var(--white);
    padding-block: 1px;
}
.upper a{
    color:var(--white);
}
.upper-nav{
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 14.5px;
}
.upper-grid{
    display: flex;
    gap:25px;
}
.upper-icon{
    height:28px!important;
    width:28px!important;
    border:2px solid var(--white);
    border-radius: 50%;
    padding-top: 4.5px;
    margin-right: 5px;
}
nav{
    --bs-navbar-padding-y:1px!important;
    border-bottom: 1px solid var(--lightgray);
}
.nav-container{
    padding-inline: 0%!important;
    width:90%!important;
}
.logo{
    height:85px;
    width:85px;
    object-fit: contain;
}
.navbar-nav{
    gap:60px;
} 
.nav-link{
    font-size: 14.5px!important;
    font-weight: 500!important;
}
.offcanvas-body{
    align-items: center;
}
.active{
    color:var(--theme-color)!important;
}
.moon{
    height:20px;
    width:20px;
    cursor: pointer;
    background-color: #000;
    border-radius: 50%;
    color:var(--white);
    padding:8px;
}

/* index page  */
.home-1{
    background: linear-gradient(rgba(0, 0, 0, 0.1),rgba(0, 0, 0, 0.1)),url('images/12.jpg');
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    height:84vh;
    color:var(--white);
}
.home-2{
    background: linear-gradient(rgba(0, 0, 0, 0.1),rgba(0, 0, 0, 0.1)),url('images/14.jpg');
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    height:83vh;
    color:var(--white);
}
.home-3{
    background: linear-gradient(rgba(0, 0, 0, 0.1),rgba(0, 0, 0, 0.1)),url('images/8.jpg');
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    height:83vh;
    color:var(--white);
}
.counter{
    background-color: var(--primary);
    color:var(--white);
    display: grid;
    grid-template-columns: repeat(4,1fr);
}
.border-right{
    border-right: 1px solid var(--lightgray);
}
.counter-text{
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-block: 50px;
    padding-inline: 20px;
}
.counter-text h2{
    font-size: 35px;
    font-weight: 700;
    margin-bottom: 8%!important;
}
.counter-icon{
    height:80px;
    width:80px;
    font-size: 35px;
    background-color: var(--white);
    color: var(--black);
    padding:1px;
    border-radius: 50%;
    transition: 0.5s;
}
.counter-icon:hover{
    background-color: var(--theme-color);
}
.about-grid{
    width:75%;
    margin: auto;
    display: grid;
    grid-template-columns: repeat(2,1fr);
    margin-top: 5%;
    gap:40px;
}
.about-left{
    display: flex;
    flex-direction: column;
    gap:25px;
}
.about-left small{
    font-size: 18px;
    font-weight: 600;
    letter-spacing: 1px;
}
.about-left h1{
    text-transform: uppercase;
    letter-spacing: 1px;
}
.circle-btn{
    position: relative;
    height:110px;
    width:110px;
    border:1px solid var(--theme-color);
    border-radius: 50%;
    text-align: center;
    color:var(--black);
    overflow: hidden;
    transition: .5s;
}
.circle-btn:before{
    position: absolute;
    content: "";
    height: 112px;
    width:112px;
    background-color: var(--theme-color);
    border-radius: 50%;
    text-align: center;
    top:110px;
    left:0;
    z-index: -1;
    transition: .5s;
}
.circle-btn:hover:before{
    top:0;
    left:0;
}
.circle-btn:hover{
    color:var(--white)!important;
}
.about-img{
    height:100%;
    width:100%;
    object-fit: cover;
    border-radius: 3px;
}
.work-wrapper{
    width:75%;
    margin: auto;
    margin-top: 5%;
}
.work-box{
    display: grid;
    grid-template-columns: 1fr 0.4fr;
    gap:30px;
    box-shadow: rgba(0, 0, 0, 0.1) 0px 4px 6px -1px, rgba(0, 0, 0, 0.06) 0px 2px 4px -1px;
    padding-block: 20px;
    padding-inline: 5px;
}
.work-box h5{
    font-size: 23px;
}
.large-text{
    font-size: 30px;
    color:var(--theme-color);
    font-family: "Agbalumo", system-ui;
}
.work-box p{
    text-align: justify;
}
.work-box:last-child{
    border-bottom: none;
}
.work-img{
    height:100%;
    width:100%;
    object-fit: cover;
    border-radius: 3px;
}
.work-box:hover{
    background-color: rgb(238, 236, 236);
}
.aim-grid{
    width:80%;
    margin: auto;
    display: grid;
    grid-template-columns: repeat(3,1fr);
    gap:50px;
    margin-top: 5%;
}
.item{
    display: flex;
    flex-direction: column;
    gap:20px;
    padding-inline: 30px;
    padding-top: 40px;
    padding-bottom: 50px;
    background-color: rgb(236, 209, 158);
    clip-path: polygon(0 0, 85% 0%, 100% 15%, 100% 80%, 100% 100%, 15% 100%, 0% 85%, 0% 20%);
    border-radius: 8px;
}
.item h6{
    font-size: 50px;
}

/* footer part  */
footer{
    background: var(--black);
    color:var(--white);
    padding-bottom: 20px;
    background: repeating-conic-gradient(#000 0deg 21deg ,#111 21deg 42deg);
    background-size: 15px 15px;
}
footer a{
    color:var(--white);
}
footer > svg{
    height:90px;
    width:100%;
}
.footer-grid{
    display: grid;
    grid-template-columns: 1fr 0.6fr;
    gap:20px;
    padding-top: 15px;
}
.footer-sub-grid{
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap:20px;
}
.footer-one h5{
    font-size: 21px;
    letter-spacing: 1px;
    margin-bottom: 10%!important;
}
.footer-top{
    margin-top: 4%!important;
}
.footer-two h5{
    font-size: 21px;
    letter-spacing: 1px;
    margin-bottom: 5%!important;
}
.footer-second-grid{
    display: grid;
    grid-template-columns: repeat(4,1fr);
    border:1px solid var(--gray);
    border-left: none;
    border-right: none;
    padding-block: 25px;
}
.footer-second{
    display: flex;
    justify-content: space-between;
    padding: 8px 12px;
}
.fa-arrow-right-long{
    background-color: var(--white);
    height:25px!important;
    width:25px!important;
    padding-top: 7px;
    font-size: 13px;
    border-radius: 50%;
    color:var(--black); 
}
.footer-bg-one{
    background-color: #3b5998;
}
.footer-bg-two{
    background: linear-gradient(45deg,#f09433,#e6683c,#dc2743,#cc2366,#bc1888);
}
.footer-bg-three{
    background-color:black;
}
.footer-bg-four{
    background-color:red;
}

/* about page  */
.president-grid{
    width:85%;
    margin:auto;
    margin-top: 5%;
    display: grid;
    grid-template-columns: 0.5fr 1fr;
    gap:50px;
}
.president-image{
    height:100%;
    width:100%;
    object-fit: cover;
    background-color: rgb(189, 227, 240);
    border-radius: 5px;
}
.team-grid{
    display: grid;
    grid-template-columns: repeat(3,1fr);
    width:75%;
    margin: auto;
    gap:40px;
    margin-top: 5%;
}
.team-box{
    box-shadow: rgba(14, 30, 37, 0.12) 0px 2px 4px 0px, rgba(14, 30, 37, 0.32) 0px 2px 16px 0px;
    border-radius: 3px;
    padding-block: 25px;
    padding-inline: 5px;
}
.team-img{
    height:250px;
    width:250px;
    border-radius: 50%;
    object-fit: cover;
    background-color: rgb(189, 227, 240);
}
.team-content{
    text-align: center;
    margin-top: 8%;
}
.team-content h5{
    color:var(--theme-color);
    letter-spacing: 1px;
}

/* media page */
.media-grid{
    display: grid;
    grid-template-columns: repeat(4,1fr);
    gap:30px;
}
.media-img{
    height: 100%;
    width: 100%;
    object-fit: cover;
    border-radius: 3px;
    cursor: pointer;
}
.modals{
    display: none;
    background-color: rgba(0, 0, 0, 0.9)!important;
    position: fixed;
    inset: 0;
}
.modals img{
    height:90vh;
    width:90vw;
    object-fit: cover;
    border-radius: 3px;
    cursor: pointer;
}

/* contact page  */
.contact-grid{
    display: grid;
    grid-template-columns: 0.7fr 1fr;
    gap:70px;
}
.map{
    height: 400px;
    width: 100%;
}

/* donate page  */
.donate-grid{
    width:60%;
    margin: auto;
    margin-top: 4%;
    display: grid;
    grid-template-columns: 1fr 0.7fr;
    gap:50px;
}
.donate-box{
    box-shadow: rgba(0, 0, 0, 0.35) 0px 5px 15px;
    padding-inline: 15px;
    height:200px;
    display: flex;
    justify-content: center;
    flex-direction: column;
}

/* responsive part start  */
@media (max-width:1024px){
    html,body{
        overflow-x: clip!important;
    }
    .navbar-nav{
        gap:30px;
    }
    .nav-link{
        font-size: 14px!important;
    }
    .about-grid,.work-wrapper,.team-grid,.donate-grid{
        width:90%;
    }
    .aim-grid{
        width:90%;
        gap:20px;
    }
    .item{
        padding-block: 30px;
    }
    .counter-text{
        padding-inline: 10px;
    }
    .counter-icon{
        height:60px;
        width:60px;
        font-size: 25px;
    }
    .footer-grid{
        grid-template-columns: 1fr 0.5fr;
    }
    .footer-one h5{
        font-size: 20px;
    }
    .footer-top{
        margin-top: 5%!important;
    }
    .footer-two h5{
        font-size: 20px;
        margin-bottom: 6%!important;
    }
    .president-grid{
        width:90%;
        grid-template-columns: 0.4fr 1fr;
        gap:30px;
    }
    .president-image{
        height:270px;
    }
}
@media (max-width:768px){
    .navbar-toggler{
        border-radius: 0%!important;
        box-shadow: none!important;
    }
    .navbar-nav{
        gap:10px;
    }
    .nav-link{
        color: var(--black)!important;
    }
    .moon{
        margin-top: 6%!important;
    }
    .about-left h1{
        font-size: 23px;
    }
    .work-box h5{
        font-size: 15px;
    }
    .large-text{
        font-size: 17px;
    }
    .work-box p{
        font-size: 13px;
    }
    .counter,.aim-grid,.team-grid{
        grid-template-columns: repeat(2,1fr);
    }
    .counter-text{
        border-bottom: 1px solid var(--lightgray);
        padding-inline: 20px;
    }
    .counter-icon{
        height:80px;
        width:80px;
        font-size: 35px;
    }
    .footer-grid,.president-grid{
        grid-template-columns: 1fr;
        gap:40px;
    }
    .common h4{
        margin-bottom: 2%!important;
    }
    .president-image{
        height: 100%;
    }
    .media-grid{
        grid-template-columns: 1fr 1fr 1fr;
    }
}
@media (max-width:425px){
    .whatsapp,.pulse {
        right:3%;
        bottom:10.5%;
    }
    .arrow-up{
    right:4.5%;
    }
    .upper{
        display: none;
    }
    .logo{
        height:80px;
        width:80px;
        object-fit: contain;
    }
    .home-1,.home-2,.home-3{
        height: 45vh;
    }
    .about-grid,.work-box,.counter,.aim-grid,.team-grid,.media-grid,.contact-grid,.donate-grid{
        grid-template-columns: 1fr;
    }
    .about-grid h1{
        font-size: 30px;
    }
    .about-img{
        height:100%;
    }
    .work-box h5{
        font-size: 20px;
    }
    .large-text{
        font-size: 25px;
    }
    .work-box p{
        font-size: 15px;
    }
    .item{
        padding-bottom: 60px!important;
    }
    .footer-grid{
        gap:30px;
    }
    .footer-grid h5{
        font-size: 22px;
    }
    .footer-sub-grid{
        grid-template-columns: 1fr;
        gap:30px;
    }
    .footer-one h5{
        margin-bottom: 6%!important;
    }
    .footer-second-grid{
        grid-template-columns: 1fr 1fr;
    }
    .gaps{
        margin-top: 8%;
    }
    footer > svg{
        height: 40px;
    }
    .map{
        height: 300px;
    }
    .common h4{
        margin-bottom: 3%!important;
    }
}
@media (max-width:375px){
    .home-1,.home-2,.home-3{
        height: 40vh;
    }
    .map{
        height: 250px;
    }
}