@import url('https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap');

*,
*::before,
*::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

body {
    text-decoration: none;
    text-transform: capitalize;
    display: flex;
    flex-direction: column;
    align-items: center;
    font-family: "Poppins", sans-serif;
    width: 100%;
}

.main_banner {
    width: 100%;
    /* height: 100vh; */
    background-color: #232323;
    display: flex;
    flex-direction: column;
    align-items: center;
    /* border: 1px solid red; */
}

header {
    width: 100%;
    height: fit-content;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: white;
}

nav {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 1100px;
    /* border: 1px solid red; */
}

.logo_div {
    width: 25%;
    /* border: 1px solid red; */
}

.logo_div img {
    width: 100%;
    height: 70px;
    object-fit: scale-down;
    object-position: -55px;
    /* border: 1px solid red; */
}

ul {
    display: flex;
    align-items: center;
    /* border: 1px solid red; */
    margin: 0;
    padding-right: 40px;
}

ul li {
    padding-right: 25px;
    list-style: none;
}

ul a {
    color: rgb(0, 0, 0);
    text-decoration: none;
}

ul a:hover {
    color: #249443;
    text-decoration: none;
}

ul a::after {
    content: "";
    display: block;
    height: 3px;
    width: 0%;
    background-color: #249443;
    margin-left: 0;
    transition: width 0.5s ease-in;
    /* added transition here */
}

ul a:hover::after {
    width: 100%;
}

.fa-bars {
    color: rgb(0, 0, 0);
    display: none;

}

.fa-xmark {
    color: #249443;
    margin-top: 10px;
    font-size: 25px;
}

.sidebar_black {
    width: 100%;
    height: 100vh;
    position: fixed;
    top: 0;
    left: 0;
    background-color: #2323231e;
    z-index: 4;
    display: none;
}

.sidebar {
    width: 35%;
    height: 100vh;
    background-color: white;
    display: flex;
    flex-direction: column;
    padding-left: 15px;

}

.sidebar img {
    width: 200px;
    margin-top: 20px;
    align-self: center;
}

.sidebar a {
    color: black;
    text-decoration: none;
    margin-top: 15px;
}

/* navbar ⬆️⬆️⬆️⬆️*/







.card {
    width: 1100px;
    margin-top: 60px;
    background-color: transparent;
    border: 0;
    padding-bottom: 62px;
}

.card-body h1 {
    color: white;
    font-size: 42px;
}

.card-body h2 {
    color: white;
    font-size: 42px;
}

.card-body p {
    color: #249444be;
    font: 16px;

}

.card-body button {
    padding: 10px 20px 10px 20px;
    background-color: #249443;
    outline: 0;
    border: 0;
    color: white;
    border-radius: 30px;
}



.stats_div {
    display: flex;
    align-items: center;
    /* justify-content: space-around; */
    margin-top: 35px;
    /* border: 1px solid red; */
}

.stats_div h5 {
    color: white;
    font-size: 32px;
}

.stats_div p {
    font-size: 13px;
    color: rgba(255, 255, 255, 0.774);
}

#banner-img {
    /* height: 400px;
    width: 90%; */
    object-fit: cover;
    border-radius: 18px;
}

/* main banner done */



/* #card-2 {
    padding-left: 35px;
} */

.about_btn {
    width: fit-content;
    /* box-shadow: 0px 0px 5px 1px #232323; */
    box-shadow:
        12px 10px 16px 0 rgba(0, 0, 0, 0.25),
        -8px -8px 12px 0 rgba(255, 255, 255, 0.3);
    padding: 7px 13px 7px 13px;
    border-radius: 30px;
}

.fa-circle {
    color: #232323;
    font-size: 12px;
}

#card-2 h1,
#card-2 h2 {
    color: #232323;
    margin-top: 15px;
}

#card-2 p {
    color: #232323c0;
    font-size: 14px;
    margin-top: 10px;
}

#meeting-img {
    height: 100%;
    width: 95%;
    border-radius: 22px;
    object-fit: cover;
}

#meeting_img_div {
    display: flex;
    justify-content: center;
}

/* section comparison ⬆️ */









.Services_section {
    width: 100%;
    background-color: #2c2c2c;
    display: flex;
    justify-content: center;
}

#services_card {
    padding-top: 20px;
    padding-bottom: 170px;
}


#card-3 h1,
#card-3 h2 {
    color: #ffffff;
    margin-top: 15px;
}

#card-3 {
    /* border: 1px solid red; */
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;

}

#card-3 button {
    padding: 5px 30px 5px 30px;
    width: fit-content;
    background-color: #98C93C;
}

#services_grid {
    display: grid;
    grid-template-columns: 210px 210px;
    grid-template-rows: 190px 190px;
    grid-gap: 30px;
    justify-content: center;
    place-content: center;
}

#services_grid .grid-boxes {
    /* width: 50%; */
    background-color: #181818;
    border-radius: 18px;
    display: flex;
    flex-direction: column;
    align-items: center;
    /* justify-content: start; */
    color: white;
}

.grid-boxes img {
    z-index: 2;
    /* border: 1px solid red; */
    object-fit: cover;
     width: 60px; 
    object-position: center;
}

.semi_circle {
    position: absolute;
    top: 22px;
    width: 160px;
    height: 80px;
    border-radius: 0 0 100px 100px;
    background-color: #201e1f;
}

.semi_circle3,
.semi_circle4 {
    position: absolute;
    top: 241px;
    width: 160px;
    height: 80px;
    border-radius: 0 0 100px 100px;
    background-color: #201e1f;
}

.grid-boxes span {
    z-index: 1;
    text-align: center;
}

/* services⤴️⤴️⤴️⤴️ */




.appointment_projects {
    width: 1100px;
    display: flex;
    flex-direction: column;
    align-items: center;
    /* border: 1px solid red; */
}


.appointment_div_overlap {
    width: 1080px;
    height: 150px;
    background-color: #A3DD36;
    border-radius: 28px;
    position: relative;
    bottom: 75px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.appoint_num {
    width: 70%;
    height: 100%;
    display: flex;
    align-items: center;
    /* border: 1px solid red; */
    padding-left: 10px;
}

.appoint_btn {
    width: 30%;
    height: 100%;
    display: flex;
    align-items: center;
    /* border: 1px solid red; */
    padding-right: 10px;
}

.phone_circle {
    width: 70px;
    height: 70px;
    border-radius: 20%;
    background-color: white;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #000000;
    font-size: 30px;
}


.app_info {
    margin-left: 22px;
    height: 100%;
    display: flex;
    align-items: center;
}

.app_info p {
    color: rgb(0, 0, 0);
    font-size: 14px;
}

.app_info span {
    color: rgb(0, 0, 0);
    font-size: 30px;
}

.appoint_btn {
    justify-content: end;
}

.appoint_btn button {
    padding: 10px 20px 10px 20px;
    background-color: #ffffff;
    outline: 0;
    border: 0;
    color: #000000;
    border-radius: 30px;
}

.app {
    padding: 10px 20px 10px 20px;
    background-color: #249443;
    outline: 0;
    border: 0;
    color: #ffffff;
    border-radius: 30px;
}



.project_text_div {
    width: 1080px;
    /* border: 1px solid red; */
    display: flex;
    justify-content: space-between;
}

.pro_txt {
    width: 100%;
    /* border: 1px solid red; */
}

.pro_txt h2 {
    font-size: 44px;
    padding-top: 15px;
}

.view_more_btn {
    padding: 5px 30px 5px 30px;
    background-color: #322D34;
    outline: 0;
    border: 0;
    color: white;

    border-radius: 30px;


}


.port_overlap {
    width: 100%;
    /* height: 150px; */
    display: flex;
    justify-content: center;
    margin-top: 20px;
    /* margin-bottom: 30px; */
}

.projects_images {
    width: 1080px;
    height: 360px;
    /* border: 1px solid green; */
    display: flex;
    justify-content: space-around;
    align-items: center;
    /* position: absolute; */
}

.projects_images img {
    width: 500px;
    height: 340px;
    /* background-color: #D9D9D9; */
    /* border: 1px solid red; */
    object-fit: cover;
    object-position: center;
    display: flex;
    justify-content: center;
    align-items: center;
    box-shadow: 0px 0px 10.5px .1px gray;
}

.projects_images div {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.projects_images a {
    color: #249443;
}

.modal-body form {
    width: 100%;
}

form input[type="time"]::-webkit-datetime-edit {
    color: gray;
}

form input[type="time"]:invalid {
    color: gray;
}
#ttpp:before{
     content: 'Date:';
    margin-right: .6em;
    color: #000000;
}

#timepicker:before {
    content: 'Time:';
    margin-right: .6em;
    color: #000000;
}

.modal-body input {
    margin-top: 10px;
}

.modal-body input:focus,
.modal-body form:focus {
    box-shadow: none;
    border: 1px solid black;
}

/* projects ⬆️⬆️⬆️⬆️ */









.TOP_CLIENTS_SECTION {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    /* border: 1px solid red; */
    margin-top: 80px;
}

.our_clients {
    width: 100%;
    height: 150px;
    background-color: #1c1c1c;
    display: flex;
    align-items: center;
    justify-content: center;
}

.our_clients div {
    width: 1080px;
    height: 100%;
    /* border: 1px solid red; */
    color: white;
}

.our_clients_btn {
    padding: 5px 30px 5px 30px;
    background-color: #ffffff;
    outline: 0;
    border: 0;
    color: rgb(0, 0, 0);
    border-radius: 30px;
    margin-top: 20px;
}

.asd {
    margin-top: 15px;
}


.clients_grid {
    width: 100%;
    display: grid;
    grid-template-columns: 300px 300px 300px;
    grid-template-rows: 150px 150px;
    place-content: center;
    margin-top: 40px;
}

.clients_grid div {
    /* border: 1px solid red; */
    display: flex;
    align-items: center;
    justify-content: center;
}

.clients_grid img {
    object-fit: cover;
    object-position: center;
}








/* clients section ⬆️⬆️⬆️⬆️ */







.testimonial_section {
    width: 100%;
    background-color: #2A9245;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    margin-top: 80px;
}

.testi_txt {
    width: 1080px;
    /* border: 1px solid red; */
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-top: 40px;
}

.testimonial_box {
    width: 80%;
    height: 100%;
    /* border: 1px solid red; */
    color: white;
}

.testimonial_box h2 {
    font-size: 42px;
}

.testimonial_box p {
    color: rgba(255, 255, 255, 0.801);
    font-size: 14px;
}

.testimonial_btn {
    width: 20%;
    height: 100%;
    /* border: 1px solid red; */
    display: flex;
    justify-content: end;
    align-items: center;
}

.testimonial_btn button {
    padding: 10px 20px 10px 20px;
    background-color: #249443;
    outline: 0;
    border: 0;
    color: white;
    border-radius: 30px;

}


.testi_grid {
    display: grid;
    grid-template-columns: 30% 30% 30%;
    grid-template-rows: 400px;
    grid-gap: 30px;
    justify-content: space-between;
    padding-top: 20px;
    padding-bottom: 100px;
    width: 1080px;
    /* border: 1px solid green; */
}

.testi_boxes {
    border-radius: 18px;
    border: 1px solid white;
    outline: 0;
    padding-left: 30px;
    padding-top: 10px;
    display: flex;
    flex-direction: column;
}
#img_left{
        object-position: left;
    }

.fa-9 {
    color: #464646;
    font-size: 42px;
}

.testi_boxes p {
    padding-top: 10px;
    font-size: 14px;
    color: white;
    width: 85%;
}

.testi_boxes div {
    /* border: 1px solid red; */
    display: flex;
    align-items: center;
    justify-content: baseline;
    margin-top: 50px;
}

.testi_boxes img {
    width: 50px;
    height: 50px;
    border-radius: 50%;
    object-fit: cover;
}

.testi_boxes h5 {
    color: white;
    font-size: 18px;
    font-weight: 700;
}

.testi_boxes span {
    color: white;
    font-size: 13px;
    font-weight: 500;
}

/* testimonial done ⬆️⬆️⬆️⬆️ */







.contact_section {
    width: 100%;
    display: flex;
    justify-content: center;
    background: url('images/contact.png');
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}

#card-con h2 {
    color: black;
    font-size: 42px;
}

#card-con p {
    color: black;
}



.contact_information {
    /* border: 1px solid red; */
    display: flex;
    align-items: center;
    margin-top: 25px;
}

.contact_circle {
    /* background-color: #181818; */
    width: 60px;
    height: 60px;
    border-radius: 35%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.contact_circle .fa-solid,
.contact_circle .fa-regular {
    color: white;
    font-size: 20px;
}

.contact_information h5 {
    font-size: 16px;
    padding-left: 18px;
}

.contact_information span {
    font-size: 16px;
    color: rgba(0, 0, 0, 0.74);
}




#contact {
     /*border: 1px solid red; */
    display: flex;
    justify-content: center;
    align-items: center;
    
}

#contact form {
    width: 80%;
    height: 100%;
    /* background-color: white; */
    border-radius: 20px;
    border: 1px solid #000000;
    /* box-shadow: rgba(0, 0, 0, 0.24) 0px 0px 10px 5px; */
    padding-left: 20px;
    padding-bottom: 30px;
}

#contact h2 {
    text-align: left;
    padding-top: 30px;
    font-size: 42px;
}


#text_area {
    width: 93%;
    resize: none;
}

#contact input {
    width: 93%;
}

#contact input:focus,
#text_area:focus {
    box-shadow: none;
    border: 1px solid black;
}

/* Chrome, Safari, Edge, Opera */
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.sub_btn {
    background-color: #249443;
    color: white;
    padding: 7px 40px 7px 40px;
    border-radius: 30px;
}

.con_btn button {
    padding: 5px 30px 5px 30px;
    width: fit-content;
    background-color: #98C93C;
    color: black;
}

/* contact done */





footer {
    width: 100%;
    height: 350px;
    background-color: #292929;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: end;
}


.container_footer {
    width: 1080px;
    height: 75%;
    /* border: 1px solid red; */
    display: flex;
    justify-content: space-between;
    align-items: center;
}



.footer_divs {
    width: 25%;
    height: 100%;
    /* border: 1px solid red; */
    color: white;
    display: flex;
    flex-direction: column;
}

.footer_divs img {
    width: 100%;
    object-position: -12px 0px;
    /* border: 1px solid red; */
}

.footer_divs p {
    font-size: 14px;
    color: rgba(255, 255, 255, 0.774);
    padding-left: 7px;
    padding-top: 20px;
}

.footer_divs h6 {
    padding: 15px 0px 0px 20px;
    font-size: 20px;
    font-weight: 600;
}

.footer_divs a {
    padding: 15px 0px 0px 20px;
    text-decoration: none;
    color: white;
    font-size: 14px;
}

.footer_divs span {
    padding: 15px 0px 0px 20px;
    text-decoration: none;
    color: white;
    font-size: 14px;
}

.footer_divs a:hover,
.footer_divs span:hover {
    color: #249443;
}

.footer_divs span a {
    font-size: 20px;
}


.copyright {
    width: 100%;
    height: 15%;
    /* border: 1px solid red; */
    color: white;
    display: flex;
    justify-content: center;
    align-items: center;
}










@media only screen and (max-width:1115px) {

    nav,
    .card,
    .appointment_projects,
    .appointment_div_overlap,
    .project_text_div,
    .projects_images,
    .testi_txt,
    .testi_grid,
    .container_footer,
    .our_clients div {
        width: 900px;
    }

    .projects_images img {
        width: 400px;
        height: 300px;
    }
    #img_left{
        object-position: left;
    }

    .clients_grid img {
        width: 90%;
    }

    

    .logo_div img {
        object-position: -40px;
    }

    .footer_divs img {
        width: 100%;
        object-position: 5px 0px;
    }

    .footer_divs p {
        font-size: 13px;
        padding-left: 21px;
    }

    .footer_divs h6 {
        font-size: 16px;
    }

    .logo_div img {
        width: 220px;
    }



    #card-2 h1,
    #card-2 h2,
    .testimonial_box h2,
    #card-con h2,
    #contact h2 {
        font-size: 34px;
    }




    /* .semi_circle {
        top: 2px;
    }
    .semi_circle3,.semi_circle4 {
        top:241px;
    } */
}

@media only screen and (max-width:915px) {

    nav,
    .card,
    .appointment_projects,
    .appointment_div_overlap,
    .project_text_div,
    .projects_images,
    .testi_txt,
    .testi_grid,
    .container_footer,
    .our_clients div {
        width: 760px;
    }
.grid-boxes img {
  
    object-fit: scale-down;
    
   
}
   
.testi_grid {
    grid-template-rows: 350px;
}
    .projects_images img {
        width: 350px;
        height: 280px;
    }
   

    .clients_grid {
        grid-template-columns: 200px 200px 200px;
        grid-template-rows: 130px 130px;
    }

    .clients_grid img {
        width: 90%;
    }

    .logo_div img {
        object-position: -37px;
    }

    .footer_divs img {
        width: 90%;
    }

    .footer_divs p {
        font-size: 12px;
    }

    .footer_divs h6 {
        font-size: 14px;
        padding: 15px 0px 0px 10px;
    }

    .footer_divs a {
        padding: 15px 0px 0px 10px;
        font-size: 12px;
    }

    .footer_divs span {
        padding: 15px 0px 0px 10px;
        font-size: 12px;
    }

    .testi_boxes p {
        font-size: 12px;
        width: 100%;
    }

    .testi_boxes h5 {
        font-size: 12px;
    }

    .testi_boxes span {
        font-size: 11px;
    }

    .view_more button {
        padding: 8px 14px 8px 14px;
        font-size: 13px;
    }

    .pro_txt h1,
    .pro_txt h2 {
        font-size: 28px;
    }

    #card-2 h1,
    #card-2 h2,
    .testimonial_box h2,
    #card-con h2,
    #contact h2 {
        font-size: 30px;
    }

    #contact form {
        width: 90%;
    }

    .pro_txt2 {
        font-size: 16px;
    }

    ul {
        display: none;
    }

    .fa-bars {
        display: block;

    }

    .logo_div img {
        width: 200px;
    }

    .card-body h1,
    .card-body h2 {
        font-size: 34px;
    }

    #card-2 h1,
    #card-2 h2 {
        font-size: 30px;
    }

    .card-body p {
        font: 14px;
    }

    #services_grid {
        grid-template-columns: 170px 170px;
        grid-gap: 10px;
    }

    .semi_circle {
        width: 150px;
        height: 70px;
    }

    .semi_circle3,
    .semi_circle4 {

        top: 221.5px;
        width: 150px;
        height: 70px;
    }

    .padddd{
        margin-top:10px;
    }
  
}

@media only screen and (max-width:767px) {

    nav,
    .card,
    .appointment_projects,
    .appointment_div_overlap,
    .project_text_div,
    .projects_images,
    .our_clients div {
        width: 98%;
    }
    
    #sec_imgg{
        margin-top:10px;
    }

    .projects_images img {
        width: 400px;
        height: 300px;
    }

    .projects_images {
        width: 100%;
        height: fit-content;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;

    }

    .clients_grid {
        grid-template-columns: 200px 200px;
        grid-template-rows: 130px 130px 130px;
    }

    .logo_div img {
        object-position: -25px;
    }

    .fa-bars {
        margin-right: 20px;

    }

    #contact form {
        padding-bottom: 50px;
    }

    .app_info p {
        font-size: 13px;
    }

    .app_info span {

        font-size: 18px;
    }

    .project_text_div {
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        align-items: center;
    }

    .pro_txt {
        width: 100%;
    }

    .pro_txt2 {
        width: 100%;
        display: flex;
        align-items: center;
    }

    .view_more {
        width: 100%;
        display: flex;
        align-items: center;
        justify-content: start;
        margin-top: 15px;
    }


    .port_overlap {
        width: 98%;
        height: fit-content;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        margin-top: 20px;
        padding-bottom: 10px;
    }




    .footer_divs img {
        width: 100%;
        object-position: 0px 0px;
    }

    .footer_divs p {
        padding-left: 18px;
    }

    .footer_divs h6 {
        padding-left: 18px;
    }

    .footer_divs a {
        padding-left: 18px;
    }

    .footer_divs span {
        padding-left: 18px;
    }



    .logo_div img {
        width: 170px;
    }

    #meeting-img {
        width: 100%;
    }

    .about_btn,
    .service_btn {
        margin-top: 20px;
    }

    #card-2 {
        padding-left: 15px;
    }

    #services_grid {
        grid-template-columns: 230px 230px;
        grid-gap: 30px;
    }

    .semi_circle {
        display: none;
    }

    .semi_circle3,
    .semi_circle4 {
        display: none;
    }



   

    #client_card {
        padding-top: 20px;
        padding-bottom: 100px;
        margin-top: 50px;
    }


    .testi_txt {
        width: 98%;
        display: flex;
        flex-direction: column;
        align-items: start;
        justify-content: space-between;
        padding-top: 50px;
    }

    .testimonial_box {
        width: 100%;
        height: 100%;
        color: white;
        text-align: center;
    }

    .testimonial_btn {
        width: 100%;
        justify-content: start;
        align-items: center;
        padding-top: 10px;
    }

    .testi_grid {
        grid-template-columns: 60%;
        grid-template-rows: 260px 260px 260px;
        grid-gap: 30px;
        place-content: center;
        padding-top: 20px;
        padding-bottom: 140px;
        width: 98%;
    }

    footer {
        height: 900px;
    }

    .container_footer {
        width: 98%;
        height: 85%;
        display: flex;
        flex-direction: column;
        justify-content: start;
        align-items: start;
        /* border: 1px solid red; */
    }

    .footer_divs {
        width: 100%;
        height: 25%;
    }

    #logo_footer {
        height: 15%;
        display: flex;
        flex-direction: row;
        align-items: center;
        justify-content: start;
        padding-left: 0;
        margin-left: 0;
    }

    .footer_divs img {
        width: 180px;
    }

}


@media only screen and (max-width:620px) {
    .sidebar {
        width: 45%;
    }
    .testi_grid {
    grid-template-rows: 300px;
}

    .testimonial_box h2 {
        font-size: 24px;
    }

    .testimonial_box p {
        font-size: 12px;
    }

    #services_grid {
        grid-template-columns: 200px 200px;
    }

    .app_info p {
        font-size: 12px;
    }

    .app_info span {
        color: white;
        font-size: 15px;
    }

    .appoint_btn button {
        padding: 5px 13px 5px 13px;
        font-size: 14px;
    }

    .phone_circle {
        width: 50px;
        height: 50px;
        font-size: 20px;
    }

    .appoint_num {
        width: 60%;
    }

    .appoint_btn {
        width: 40%;
    }

}

@media only screen and (max-width:455px) {
    .sidebar {
        width: 52%;
    }

    .projects_images img {
        width: 300px;
        height: 240px;
    }

    #services_grid {
        grid-template-columns: 150px 150px;
    }

    .app_info span {
        font-size: 13px;
    }

    .clients_grid {
        grid-template-columns: 170px 170px;
        grid-template-rows: 130px 130px 130px;
    }

    .clients_grid img {
        width: 100%;
    }

}

@media only screen and (max-width:430px) {
    appoint_num {
        width: 50%;
    }

    .appoint_btn {
        width: 50%;
    }
}