*,*::after,*::before{
    box-sizing:border-box;
}

/*custom properties*/
:root{
    --ff-primary:"Source Sans Pro",sans-serif;
    --ff-secondary:"Source Code Pro",monospace;

    --fw-reg:300;
    --fw-bold:900;

    --clr-light:#fff;
    --clr-dark:#303030;
    --clr-accent:#16e0bd;

    --fs-h1:3rem;
    --fs-h2:2.25rem;
    --fs-h3:1.25rem;
    --fs-body:1rem;

    --bs:0.25rem 0.25rem 0.75rem rgba(0,0,0,0.25),0.125rem 0.125rem 0.25rem rgba(0,0,0,0.15);

    scroll-behavior:smooth;
}

@media screen and (min-width:800px){
    :root{
        --fs-h1:4.5rem;
        --fs-h2:3.75rem;
        --fs-h3:1.5rem;
        --fs-body:1.125rem;
    }
}

/*custom properties*/

/*general properties*/

body{
    margin:0px;
    background-color:var(--clr-light);
    color:var(--clr-dark);
    font-family:var(--ff-primary);
    font-size:var(--fs-body);
}

section{
    padding:5rem 2rem;
}

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

h1,h2,h3{
    margin:0px;
}

h1{
    font-size:var(--fs-h1);
}

h2{
    font-size:var(--fs-h2);
}

h3{
    font-size:var(--fs-h3);
}

.section__title{
    margin-bottom:0.25rem;
}

.section__subtitle{
    margin:0px;
    font-size:var(--fs-h3);
}

:focus{
    outline:3px solid var(--clr-accent);
    outline-offset:2px;

}

/* handling sections */

.section-wrapper{
    opacity:0;
    transition:opacity 1s ease-in;
}
.section-wrapper.appear{
    opacity:1;
}

/* handling sections */

/*general properties*/

/*intro*/

.section__title--intro{
    font-weight:var(--fw-reg);
    text-align:center;
}

.section__title--intro strong{
    display:block;
    font-weight:var(--fw-bold);
}

.section__subtitle--intro{
    background-color:var(--clr-accent);
    font-family:var(--ff-secondary);
    padding:0.3rem;
    margin-bottom:1rem;
    text-align:center;
    text-transform:uppercase;
}

.intro{
    position:relative;
}

.intro__img{
    box-shadow:var(--bs);
    border-radius:50%;
}

@media screen and (min-width:600px){
    .intro{
        display:grid;
        grid-template-columns:min-content max-content;
        justify-content:center;
    }

    .intro__img{
        grid-row:1/span 2;
        grid-column:1/2;
        min-width:250px;
        position:relative;
    }

    .section__subtitle--intro{
        grid-row:2/3;
        grid-column:1/span 2;
        text-align:right;
        align-self: start;
        position: relative;
        width:calc(100% + 1.8rem);
        left:-1.8rem;
    }

    .section__title--intro{
        align-self:center;
        margin-left:1rem;
        margin-bottom:0px;
    }
}
/*intro*/

/*services*/
.myservices{
    background-color: var(--clr-dark);
    background-image:url("../images/services.jpg");
    background-size:cover;
    background-position:center;
    background-blend-mode: multiply;
    color:var(--clr-light);
    text-align:center;
}

.section__title--services{
    color:var(--clr-accent);
    position:relative;
}


.section__title--services::after{
    content:'';
    display:block;
    width:6rem;
    height:1px;
    background-color:var(--clr-light);
    margin:1rem auto;
    opacity:0.4;

}

.service{
    opacity:0;
    transform:translateY(4rem);
    transition:transform 0.5s linear,opacity 0.5s linear;
}

.service.serviceappear{
    opacity:1;
    transform:translateY(0rem);
}

.service-skill-list{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(108px,1fr));
    list-style-type:none;
    padding-left:0px;
    text-align:center;
    margin-top:0.3px;
}

.service-skill{
    margin:0.8rem;
    font-weight:500;
    border-radius:1.5rem;
    font-size:0.8rem;
    padding:0.25rem;
    background-color:rgba(22,224,189,0.6);
    text-transform:uppercase;
}

.btn{
    border:1px solid var(--clr-accent);
    color:var(--clr-dark);
    background-color:var(--clr-accent);
    text-decoration:none;
    font-weight:var(--fw-bold);
    letter-spacing:1px;
    font-size:0.8rem;
    display:inline-block;
    margin-top:1.5rem;
    padding:0.3rem 2.5rem;
    transition:transform 150ms ease;
    text-transform:uppercase;
}

.btn:hover{
    transform:scale(1.2,1.2);
}

@media screen and (min-width:800px){
    .services{
        display:flex;
        max-width:1000px;
        margin:0px auto;
        justify-content:center;
    }
    .service{
        margin:1rem;
        width:100%;
    }
}

/*services*/

/*aboutme*/
.aboutme{
    margin:0px auto;
}

.section__title--about{
    text-align:center;
    font-weight:var(--fw-bold);
}

.aboutme-topic{
    padding:1rem;
    box-shadow:0.15rem 0.15rem 0.55rem rgba(0,0,0,0.25),0.125rem 0.125rem 0.25rem rgba(0,0,0,0.15);
    letter-spacing:0.02rem;
    margin-bottom:1rem;
    opacity:0;
    transform:translateY(6rem);
    transition:opacity 0.5s ease-in,transform 0.5s ease-in;
}

.aboutdetailappear{
    opacity:1;
    transform:translateY(0rem);
}

.aboutme__body{
    margin-top:2rem;
    display:flex;
    flex-direction:column;
    align-items:flex-start;
}

.about-heading{
    color:var(--clr-accent);
    text-transform:uppercase;
}

.edu-container{
    display:flex;
    flex-direction:column;
    font-size:1rem;
    margin-top:1rem;
}

/* important technique */
.edu-details{
    max-height:0;
    overflow: hidden;
    transition:max-height 0.2s ease-out;
}

/* important technique */

.edu-heading{
    border-bottom:1px solid lightgray;
    margin-top:0.5rem;
}
.edu-heading::after{
    content:'\02795';
    font-size:8px;
    float:right;
    color:gray;
    margin-left:5px;
}
.ed-detail-active::after{
    content:'\2796';
}
.edu-container-item{
    text-align:left;
}
.edu-label{
    font-weight:bold;
}

.pro-sources{
    padding:0;
    margin:0;
    list-style-type:none;
    max-height:0;
    overflow:hidden;
    transition:max-height 0.2s ease-out;
}

.sources-heading{
    border-bottom:1px solid lightgray;
}
.sources-heading::after{
    content:'\02795';
    font-size:8px;
    float:right;
    color:gray;
    margin-left:5px;
}

.active-sources::after{
    content:'\2796';
}

.pro-sources-items{
    border:1px solid var(--clr-accent);
    color:var(--clr-accent);
    margin-bottom:0.7rem;
    width:70%;
    border-radius:0.3rem;
    padding:0.2rem 1rem;
    text-transform:uppercase;
}

.pro-sources-links{
    display:block;
    text-align:center;
    font-weight:bold;
    color:inherit;
    text-decoration:none;
}
.pro-sources-links:hover{
    opacity:0.6;
}

@media screen and (min-width:600px){
    .aboutme__body{
        margin-top:2rem;
        display:grid;
        grid-template-columns:repeat(auto-fit,minmax(600px,1fr));
        align-content:center;
        grid-column-gap:1rem;
        grid-row-gap:1rem;
    }
    .aboutme-topic{
        min-height:170px;
    }
    .aboutme-topic.music{
        grid-row:2/1;
        grid-column:2/3;
    }
    .pro-sources{
       display:flex;
       justify-content:space-evenly;
    }
    .pro-sources-items{
        width:30%;
        margin:0;
    }
}
/*aboutme*/

/*mywork*/

.mywork{
    background-color:#f2f2f2;
    color:black;
    text-align:center;
}

.section__subtitle--work{
   color:var(--clr-accent);
   margin-bottom:1.5rem;
   font-weight:bolder;
   transform:translateY(1.2rem);
   transition:transform 1s ease;
}

.section__subtitle--work.fadeinsub{
    transform:translateY(0rem);
}

.portfolio__item{
    margin-left:0.5rem;
    margin-right:0.5rem;;
    margin-bottom:1rem;
    box-shadow:var(--bs);
    background-color:white;
    overflow: hidden;
    padding:0.7rem;
}

.portfolio{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(200px,1fr));
}

.portfolio-item-description{
    text-align:center;
}

.portfolio__item{
    opacity:0;
    transform:translateY(4rem);
    transition:opacity 1s linear,transform 1s ease;
}

.portfolio__item.fadeinport{
    opacity:1;
    transform:translateY(0rem);
}

.work-title{
    margin:0.3rem;
    padding-top:0.5rem;
    font-size:1.5rem;
}

.skill:nth-child(n){
    color:gray;
    font-size:0.8rem;
    margin:0;
    letter-spacing:0.07rem;
}


.skill:nth-child(2n)::before{
    content:'';
    display:inline-block;
    width:0.7rem;
    height:0.08rem;
    background-color:gray;
    transform:rotate(90deg);
    margin:none;
    position:relative;
    right:0.2rem;
}

.skill:nth-child(2n+3)::before{
    content:'';
    display:inline-block;
    width:0.7rem;
    height:0.08rem;
    background-color:gray;
    transform:rotate(90deg);
    margin:none;
    position:relative;
    right:0.2rem;
}

.work-links{
    margin:0;
    display:flex;
    justify-content:space-evenly;
    margin-top:0.7rem;
}

.work-github-link,.about-project{
    border:1px solid var(--clr-accent);
    background-color:var(--clr-accent);
    text-decoration:none;
    font-weight:bolder;
    letter-spacing:1px;
    font-size:0.8rem;
    display:inline-block;
    padding:0.5rem 0.7rem;
    text-transform:uppercase;
    margin:0.5rem 0rem;
    border-radius:0.2rem;
    color:white;
}

.about-project{
    cursor: pointer;
}


@media screen and (min-width:600px){
    .portfolio{
        grid-template-columns:repeat(auto-fit,minmax(300px,1fr));
    }
    
}


/*mywork*/

/*footer*/
.myfooter{
    background-color:#111;
    text-align:center;
    padding:2.5rem 0;
    font-size:var(--fs-h3);
}

.footer__link{
    color:var(--clr-accent);
    text-decoration:none;
    font-weight:var(--fw-bold);
}

.social-list{
    list-style-type:none;
    padding:0px;
    margin:0px;
    display:flex;
    justify-content:center;
    margin-top:1.5rem;
}

.social-list__link{
    color:var(--clr-accent);
}

.footer__link:hover,.social-list__link:hover{
    opacity:0.7;
}

.social-list__items{
  
    margin:0 2rem;
    
}
/*footer*/

/*header*/

header{
    display:flex;
    justify-content:space-between;
    align-items:start;
    padding:1rem;
}

.logo{
    max-width:200px;
    transform:translateY(2rem);
    transition:transform 0.5s ease;
}
.logo.appearlogo{
    transform:translateY(0rem);
}

.nav-open .nav-toggle{
    position:fixed;
    right:0;
    margin-right:1rem;
}

.nav-toggle{
    background:transparent;
    padding:1rem;
    border:0;
    cursor:pointer;
    position: relative;
    z-index:4000;
}

.nav{
    position:fixed;
    background-color:var(--clr-dark);
    color:var(--clr-light);
    top:0;
    left:0;
    right:0;
    bottom:0;
    z-index:100;
    transition:transform 250ms cubic-bezier(0.5,0,0.5,1);
    transform:translateX(100%);
}

.nav-open .nav{
    transform:translateX(0%);
}

.nav__list{
    list-style-type:none;
    padding:0;
    margin:0;
    height:100%;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:space-around;
}

.nav__item{
    font-size:var(--fs-h2);
    font-weight:var(--fw-bold);
}

.nav__link{
    color:inherit;
    text-decoration:none;
}

.nav__link:hover{
    color:var(--clr-accent);
}

.hamburger{
    position: relative;
    transition:transform 100ms ease-out;
}

.hamburger,.hamburger::after,.hamburger::before{
    width:2rem;
    height:3px;
    background-color:var(--clr-accent);
    display:block;
}

.hamburger::before,.hamburger::after{
    content:'';
    position:absolute;
}

.hamburger::before{top:6px;}

.hamburger::after{bottom:6px;}


.nav-open .hamburger{
    transform:rotate(45deg);
}

.nav-open .hamburger::before{
    transform:rotate(90deg) translateX(-4.5px);
}

.nav-open .hamburger::after{
    opacity:0;
}
/*header*/

.scrolltotop{
    position:fixed;
    bottom:0;
    right:0;
    margin-bottom:0.4rem;
    z-index:100;
    padding:1.2rem 0.5rem;
    border-radius:50%;
    border:none;
    background-color:var(--clr-accent);
    cursor: pointer;
    display:none;
    opacity:0.7;
}

.arrow{
    display:block;
    width:2rem;
    height:5px;
    transform:rotate(90deg);
    background-color:var(--clr-light);
    position: relative;
    border-radius:2rem;
}

.arrow::after,.arrow::before{
    content:'';
    display:block;
    width:1rem;
    height:5px;
    background-color:inherit;
    position:absolute;
    border-radius:2rem;
}

.arrow::after{
    transform:rotate(45deg);
    top:0.4rem;
}

.arrow::before{
    transform:rotate(-45deg);
    bottom:0.4rem;
}

/*project-description*/

.project__title{
    font-weight:var(--fw-reg);
    text-align:center;
}

.project__title strong{
    display:block;
    font-weight:var(--fw-bold);
}

.project__subtitle{
    background-color:var(--clr-accent);
    font-family:var(--ff-secondary);
    padding:0.3rem;
    margin-bottom:1rem;
    text-align:center;
    text-transform:uppercase;
}

.project-desc{
    position:relative;
    display:none;
    text-align:center;
}
.description__img{
    box-shadow:var(--bs);
}

.desc-exit{
    border:1px solid var(--clr-accent);
    color:black;
    background-color:var(--clr-accent);
    text-decoration:none;
    font-weight:bolder;
    letter-spacing:1px;
    font-size:0.8rem;
    display:inline-block;
    padding:1rem 2rem;
    text-transform:uppercase;
    border-radius:1rem;
    margin:0.5rem 0rem;
    box-shadow:var(--bs);
    cursor: pointer;
}

.img-desc-exit{
    position:absolute;
    top:0;
    right:0;
    cursor: pointer;
    margin:0;
}

.img-desc-exit:hover{
    opacity:0.7;
}

@media screen and (min-width:600px){
    .description-wrapper{
        width:70%;
        margin:0 auto;
    }
    .project__subtitle{
        width:50%;
        margin:1rem auto;
    }
    .description__img{
        margin:1rem auto;
    }

    .img-desc-exit{
        margin-right:2rem;
        margin-top:2rem;
    }

}

/*project-description*/



