/* ------------ GOOGLE FONTS ---------------*/
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600&display=swap');

/* ============== VARIABLE CSS =============== */
:root{
    --header-height: 3.5rem;
    --black-color:#222;
    --body-color:hsl(0, 0%, 96%);
    --body-font:'Poppins', sans-serif;

    /* .5rem=8px 1rem=16px, 1.5rem=24px */
    --big-font-size: 2rem ;
    --h1-font-size: 1.5rem ;
    --h2-font-size: 1.25rem;
    --h3-font-size: 1.125rem ;
    --normal-font-size: 0.938rem;
    --small-font-size: 0.813rem;
    --smaller-font-size: 0.75rem;

    /*------------Font Weight--------------*/
    --font-medium:500;
    --font-semi-bold:600;

    /*------------Margin Bottom------------*/
    /* 0.25rem=4px 0.5rem=8px 0.75rem=12px..*/
    --mb-0-25: .25rem ;
    --mb-0-5: .5rem;
    --mb-0-75: .75rem;
    --mb-1: 1rem;
    --mb-1-5: 1.5rem;
    --mb-2: 2rem;
    --mb-2-5: 2.5rem;
    --mb-3: 3rem;

    /* =========== z-index =========== */
    --z-fixed: 1000;
}

 /*------------Font size for large devices------------*/
 @media screen and (min-width:968px){
    :root{
        --big-font-size: 3rem ;
        --h1-font-size: 2.25rem;
        --h2-font-size: 1.5rem ;
        --h3-font-size: 1.25rem ;
        --normal-font-size: 1rem ;
        --small-font-size: .875rem;
        --smaller-font-size: .813rem;
    }
}


/* ==================== BASE ================== */
*{
    box-sizing: border-box;
    padding: 0;
    margin: 0;
}

::selection{
    background-color: var(--black-color);
    color:whitesmoke;
}

html{
    scroll-behavior: smooth;
}

body{
    /* margin:0 0 var(--header-height) 0; */
    font-family: var(--body-font);
    font-size: var(--normal-font-size);
    color:var(--black-color);
    transition:all 0.3s linear;
}

ul{
    list-style: none;
}

a{
    text-decoration: none;
}

img{
    max-width: 100%;
    height: auto;
}



/* ================= REUSABLE CSS CLASSES ================== */
.section{
    padding:2rem 0 4rem;
}

.section__title{
    font-size: var(--font-medium);
    letter-spacing: 0.3rem;
    position:relative;
}

.section__title .line::after{
    position:absolute;
    content:'';
    background-color:#222;
    height:1px;
    width:50%;
    transform: translateY(1200%);
}



 /*------------ Layout ------------*/
 .container{
    max-width: 768px;
    margin-left: var(--mb-1-5);
    margin-right: var(--mb-1-5);
}

.grid{
    display:grid;
    gap:1.5rem;
}

.row{
    display: flex;
    flex-wrap:wrap;
    margin-left:-15px;
    margin-right:-15px;
    position:relative;
}

.padd-15{
    padding-left:15px;
    padding-right:15px;
}

/*==================== HEADER & NAV =================*/
.header{
    position: fixed;
    width: 100%;
    top:0;
    left:0;
    z-index: var(--z-fixed);
}

.nav{
    position: relative;
    height: var(--header-height);
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.nav__logo,
.nav__toggle,
.nav__close{
    display: flex;
    color:var(--title-color);
}

.nav__logo{
    align-items: center;
    column-gap: .5rem;
    font-family: var(--title-font);
    font-size:var(--h3-font-size);
    font-weight: var(--font-semi-bold);
    transition:color .3s;
}



.nav__toggle{
    font-size: 1.25rem;
    cursor:pointer;
}

/* changing the background of nav while scrolling */
.bg-header{
    background-color:var(--body-color);
    box-shadow: 2px 6px 9px -6px rgba(0,0,0,0.57);
    -webkit-box-shadow: 2px 6px 9px -6px rgba(0,0,0,0.57);
    -moz-box-shadow: 2px 6px 9px -6px rgba(0,0,0,0.57);
}

@media screen and (max-width: 767px){
    .nav__menu{
        position: fixed;
        top:-100%;
        left:0;
        background-color: var(--body-color);
        width: 100%;
        box-shadow: 0 8px 20px hsla(19, 64%, 24%, .1);
        padding-block: 3.5rem;
        transition: top .4s;
    }
}

.nav__list{
    display: flex;
    flex-direction: column;
    text-align: center;
    row-gap:2rem;
}

.nav__link{
    color:var(--title-color);
    font-weight: var(--font-medium);
    padding: 0.25rem 0.5rem;
    transition: color .4s;
}

.nav__link:hover{
    background-color:var(--black-color);
    color:whitesmoke;
    border-radius:0.25rem;
}

.nav__close{
    position: absolute;
    top:1rem;
    right:1.5rem;
    font-size: 1.5rem;
    cursor:pointer;
}

/*==================== SHOW MENU =================*/
.show-menu{
    top:0;
}

/* ================ BUTTONS ============ */
.button{
    display: inline-block;
    padding: 0.5rem 0.95rem;
    width:10rem;
    background-color:var(--black-color);
    color:whitesmoke;
    font-family: 'Poppins', sans-serif;
    font-size: var(--h3-font-size);
    cursor: pointer;
    outline: none;
    border:2px solid white;
    transition: all 0.2s linear;
}

.button:hover{
    background-color: transparent;
    border-color:var(--black-color);
    color:var(--black-color);
}

/* ==================== HOME =================*/
.main .home{
    position: relative;
    margin:0;
    /* border:5px solid red; */
}

.main .home__container{
  
    padding-top: 2rem;
}

.main .home__img{
    width: 300px;
    /* justify-self: center; */
}

.home__title .typing{
    font-weight: var(--font-semi-bold);
}

/* ==================== ABOUT =================*/
.about__me-details ul{
    display: flex;
    flex-grow:1;
    flex-basis:0;
    flex-direction: column;
    row-gap: 1.01rem;
    align-items: space-between;
}

.details__data span:first-child{
    font-weight: var(--font-semi-bold);
    display: inline-block;
    margin-right:4rem;
}

/* ============= EDUCATION  ========== */
.education__box{
    display: flex;
    flex-direction: row;
    justify-content:space-around;
}

.section__title.education,
.section__title.experience{
    margin-bottom: var(--mb-1-5);
}

.wrapper.grid{
    gap:4rem;
    margin-top:2rem;
}

.wrapper.grid .wrapper-item{
    position:relative;
    max-width:100%;
}

.education__box .education__timeline{
    display: flex;
    flex-direction: column;
    justify-content: space-around;
}

.education__box .education__timeline > div{
    padding:0.3rem 0.65rem;
    background-color: #333;
    color:white;
    border-radius: 1rem;
    position:relative;
}

.education__box .education__timeline > div::before{
    content:'';
    width:1px;
    position:absolute;
    height:100%;
    left:-1rem;
    top:0;
    background-color:#444;
}

.education__box .education__timeline > div .circle-dot{
    position:absolute;
    left:-1.4rem;
    top:0;
    height: 15px;
    width: 15px;
    border-radius: 50%;
    background-color:#444;
}

.education__box .education__details .college__name{
    font-size: var(--h3-font-size);
    font-weight: var(--font-semi-bold);
}

/* ============== SERVICES ========== */
.services .section__title{
    margin-bottom: var(--mb-3);
}

.box__wrapper .box__item{
    max-width:500px;
    padding:3rem;
    border:2px solid #222;
    text-align: center;
    cursor: pointer;
    transition: all 0.4s ease;
}

.box__wrapper .box__item:hover{
    background-color: #222;
    color:white;
}

.box__item i{
    font-size:3rem;
    display: inline-block;
    margin-bottom: var(--mb-1-5);
}

.box__item .box__item-title{
    font-size: 1.5rem;
    margin-bottom: var(--mb-1);
}

.box__item > div{
    margin-bottom: var(--mb-1-5);
}

/* =============== CONTACT SECTION ============== */
.contact .section__title{
    margin-bottom: var(--mb-2);
}

.box__wrapper .box__item.container-box{
    padding:1rem 1.4rem;
    border:none;
    margin-top:0.7rem;
    outline:none;
}

.box__wrapper .box__item.container-box:hover{
    background-color: transparent;
    color:#222;
}

.box__item.container-box i,
.box__item.container-box .box__item-title{
    line-height: 0.5rem;
}

.box__item.container-box .box__item-title{
    padding-top: 0.75rem;
    font-size: var(--h3-font-size);
    font-weight: var(--font-semi-bold);
}

.box__item.container-box i{
    padding-top: 1rem;
}

.contact .contact-form{
    flex:0 0 100%;
    max-width:100%;
}


.contact .contact-form .col-6,
.contact .contact-form .col-12{
    flex: 0 0 100%;
    max-width: 100%;
}

.contact .contact-form .form-item{
   margin-bottom: 30px;
}

.contact .contact-form .form-item .form-control{
    width:100%;
    height:50px;
    border-radius: 25px;
    border:1px solid #222;
    padding:10px 25px;
    font-size:16px;
    color:var(--text-black-700);
    transition:all 0.3s ease;
}

.contact .contact-form .form-item .form-control:focus{
    box-shadow: 0 0 10px rgba(48, 46, 77, 0.15);
}

.contact .contact-form .form-item textarea.form-control{
    height:140px;
}

.contact .contact-form .button{
    min-width: 10rem;
    font-size: 1rem;
}



/*==================== FOOTER =================*/
.footer{
    position: relative;
    overflow: hidden;
    padding-top: 3rem;
    padding-bottom: 3rem;
    width: 100%;
    background-color: var(--body-color);
    margin-top:4rem;
    /* border:5px solid red; */
}

.footer__container{
    row-gap: 1.2rem;
}

.footer__list{
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    column-gap: 2rem;
    font-size: var(--h2-font-size);
}

.footer__list li{
    transition: all 0.5s cubic-bezier(0.39, 0.575, 0.565, 1);
}

.footer__list li:hover{
    cursor: pointer;
    transform: translateY(-0.8rem);
}

.footer__copy{
    text-align: center;
}




























































/* ========================== BREAKPOINTS =================== */

@media screen and (min-width: 567px){
    .home__container {
        grid-template-columns: repeat(2, max-content);
        display: flex;
        align-items: center;
    }

    .box__wrapper{
        grid-template-columns: 50% 50%;
    }
}

@media screen and (min-width: 767px){
    .nav{
        column-gap: 3rem;
    }

    .nav__toggle,
    .nav__close{
        display: none;
    }

    .nav__list{
        flex-direction: row;
        column-gap:3rem;
    }

    .nav__menu{
        margin-left:auto;
    }

    .main .home__img{
        width: 400px;
    }

    .main .home__name{
        font-size: var(--h1-font-size);
    }

    .about__me.grid{
        display: grid;
        grid-template-columns:50% 50%;
    }
    .about__me-details{
        margin-left:25%;
    }

    .wrapper.grid{
        grid-template-columns: 50% 50%;
    }
    
    .wrapper.grid .wrapper-item{
        max-width:100%;
        /* border:4px solid red; */
    }

    .contact .contact-form .col-6{
        flex:0 0 100%;
        max-width:100%;
    }
    
}

/* ===== for large devices ======*/
@media screen and (min-width: 1024px){
    .section{
        padding-block: 7rem 1.5rem;
    }

  

    .home__container{
        position: relative;
        grid-template-columns: 480px 500px;
        padding-block: 7rem 3rem;
    }

    

    .home__img{
        width: 600px;
    }

    .contact .contact__container .box__wrapper {
        display: grid;
        grid-template-columns: 33% 33% 33%;
    }

   
    

    .footer__container{
        position: relative;
        grid-template-columns: repeat(2, max-content);
        justify-content: space-between;
    }

    .footer__content{
        column-gap: 4rem;
    }

    .footer__title,
    .footer__description,
    .footer__link,
    .footer__information{
        font-size: var(--normal-font-size);
    }

    .footer__social-link{
        font-size: 1.5rem;
    }

    .footer__info{
        flex-direction: row;
        justify-content: space-between;
        margin-top: 8.5rem;
    }

    .footer__copy{
        order:-1;
    }

    .footer__spinach{
        bottom:-3rem;
        left:6rem;
    }

    .footer__onion{
        right:1rem;
    }

    .scrollup{
        right:3rem;
    }

    
    
    .contact .contact-form .col-6{
        flex: 0 0 50%;
        max-width: 50%;
    }
    
   
   
}

@media screen and (min-width: 1064px){
    .container{
        margin-inline:auto;
    }
}

