/* ===========================
   ELEGANT PROJECTS
=========================== */

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

html{
    scroll-behavior:smooth;
}

body{

    font-family:'Poppins',sans-serif;
    color:#222;
    background:#fff;
    line-height:1.6;

}

img{
    max-width:100%;
    display:block;
}

a{
    text-decoration:none;
}

.container{

    width:90%;
    max-width:1250px;
    margin:auto;

}

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

header{

    position:absolute;
    top:0;
    left:0;
    width:100%;
    z-index:999;

}

.nav{

    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:25px 0;

}

.logo img{

    width:260px;

}

.phone-top{

    background:#7ca63d;
    color:#fff;
    padding:14px 28px;
    border-radius:6px;
    font-weight:600;
    font-size:18px;

}

.phone-top i{

    margin-right:10px;

}

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

.hero{

    height:780px;
    background:url(images/hero.jpg) center center;
    background-size:cover;
    position:relative;
    display:flex;
    align-items:center;

}

.overlay{

    position:absolute;
    inset:0;
    background:rgba(0,0,0,.45);

}

.hero-content{

    position:relative;
    z-index:10;
    color:#fff;
    width:620px;
    margin-left:5%;

}

.hero h1{

    font-size:74px;
    line-height:82px;
    font-weight:800;
    margin-bottom:10px;

}

.hero h2{

    font-family:'Caveat',cursive;
    color:#86b540;
    font-size:78px;
    margin-bottom:30px;

}

.hero p{

    width:470px;
    font-size:22px;
    margin-bottom:40px;

}

.hero-buttons{

    display:flex;
    gap:20px;

}

.btn{

    padding:18px 34px;
    border-radius:6px;
    font-size:18px;
    font-weight:600;
    display:inline-flex;
    align-items:center;

}

.btn.green{

    background:#86b540;
    color:#fff;

}

.btn.dark{

    border:2px solid white;
    color:white;

}

.btn.dark i{

    margin-right:10px;

}

/* ===========================
SERVICES
=========================== */

.services{

    padding:90px 0;

}

.small-title{

    color:#86b540;
    font-weight:700;
    display:block;
    text-align:center;
    margin-bottom:12px;

}

.services h2{

    font-size:56px;
    text-align:center;
    margin-bottom:15px;

}

.services-intro{

    text-align:center;
    max-width:850px;
    margin:0 auto 55px;
    font-size:22px;

}

.cards{

    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:35px;

}

.card{

    border:1px solid #e8e8e8;
    background:#fff;

}

.card img{

    width:100%;
    height:270px;
    object-fit:cover;

}

.card-body{

    padding:35px;

}

.card-body h3{

    color:#86b540;
    margin-bottom:20px;
    font-size:32px;

}

.card-body p{

    font-size:18px;
    margin-bottom:30px;

}

.card-body a{

    color:#86b540;
    font-weight:700;

}

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

.about{

    padding:70px 0;

}

.about-grid{

    display:grid;
    grid-template-columns:1fr 1fr;
    gap:70px;
    align-items:center;

}

.about h2{

    font-size:54px;
    margin:15px 0 30px;

}

.about p{

    font-size:19px;
    margin-bottom:20px;

}

.features{

    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:20px;
    margin-top:40px;

}

.features div{

    text-align:center;

}

.features i{

    color:#86b540;
    font-size:36px;
    margin-bottom:15px;

}

.features h4{

    font-size:15px;

}

.about img{

    border-radius:5px;

}

/* ===========================
CTA
=========================== */

.cta{

    background:#86b540;
    color:white;
    padding:40px 0;

}

.cta-wrap{

    display:flex;
    justify-content:space-between;
    align-items:center;

}

.cta p{

    font-size:24px;

}

.cta h2{

    font-size:62px;
    font-weight:700;

}

.cta-right{

    text-align:right;

}

.cta-right h3{

    font-size:42px;

}

.cta-right span{

    font-family:'Caveat',cursive;
    font-size:50px;

}

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

footer{

    background:#222;
    color:white;
    padding:35px 0;

}

.footer{

    display:flex;
    justify-content:space-between;
    align-items:center;
    flex-wrap:wrap;
    gap:25px;

}

.footer-logo img{

    width:180px;
    filter:brightness(0) invert(1);

}

.footer i{

    color:#86b540;
    margin-right:10px;

}

.socials{

    display:flex;
    gap:18px;

}

.socials a{

    width:48px;
    height:48px;
    background:#86b540;
    color:white;
    border-radius:50%;
    display:flex;
    justify-content:center;
    align-items:center;
    font-size:22px;

}

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

@media(max-width:1100px){

.cards{

grid-template-columns:1fr;

}

.about-grid{

grid-template-columns:1fr;

}

.hero{

height:auto;
padding:180px 0 120px;

}

.hero-content{

width:90%;
margin:auto;

}

.hero h1{

font-size:58px;
line-height:65px;

}

.hero h2{

font-size:60px;

}

.hero p{

width:100%;

}

.cta-wrap{

flex-direction:column;
gap:35px;
text-align:center;

}

.cta-right{

text-align:center;

}

.features{

grid-template-columns:1fr;

}

}

@media(max-width:700px){

.logo img{

width:170px;

}

.phone-top{

display:none;

}

.hero h1{

font-size:42px;
line-height:48px;

}

.hero h2{

font-size:46px;

}

.hero-buttons{

flex-direction:column;

}

.services h2{

font-size:40px;

}

.about h2{

font-size:38px;

}

.cta h2{

font-size:42px;

}

.footer{

flex-direction:column;
text-align:center;

}

}