@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,200;1,200&display=swap');

/*all styles*/
*{
    font-family: "Montserrat", serif;
    scroll-behavior: smooth;
    margin: 0;
    padding: 0;
    color: #192A0D;
}

/*built-in styles*/
button{
    background: none;
    border: none;
}

body{
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4rem;
}

/*custom styles*/
.header-container{
    display: flex;
    position: sticky;
    top: 0;
    flex-direction: column;
    justify-content: center;
    align-content: center;
    background-color: #4F9673;
    width: 100vw;
}

.navbar-container{
    display: flex;
    flex-direction: row;
    justify-content: space-around;
    align-content: center;
    padding-left: 8rem;
    padding-right: 8rem;
}

.navbar-link-container{
    display: flex;
    justify-content: space-around;
    align-content: center;
    padding: 1rem;
}

.navbar-link-style{
    font-size: 1.5rem;
}

.navbar-link-style:hover{
    font-size: 1.5rem;
    text-decoration: underline;
}

.home-container{
    display: flex;
    flex-direction: column;
    justify-self: center;
    align-items: center;
    width: 66vw;
    padding: 3rem;
}

.home-header-container{
    display: flex;
    flex-direction: row;
    gap: 1rem;
    padding: 2rem;
}

.home-image-container{
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 1rem;
    border-radius: 300px;
}

.home-image-style{
    display: flex;
    border-radius: 300px;
    border: 2px solid #192A0D;
    padding: .25rem;
    max-width: 16rem;
    max-height: 16rem;
}

.home-name-container{
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 1rem;
}

.home-name-style{
    font-size: 8rem;
    padding-right: 1rem;
    background: #C3FFC2
}

.home-body-container{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    flex-wrap: wrap;
    border-radius: 0 0 0 15px;
    border-bottom: 2px solid #192A0D;
    border-left: 2px solid #192A0D;
    padding-top: 1.5rem;
    padding-left: 1.5rem;
    padding-bottom: 1.5rem;
}

.home-title-container{
    display: flex;
    justify-content: center;
    align-items: center;
}

.home-title-style{
    color: #4F9673;
    font-size: 3rem;
}

.home-introduction-container{
    max-width: 75ch;
    width: 100%;
    margin: 0 auto;
    padding: .5rem;
}

.home-introduction-style{
    flex-wrap: wrap;
    font-size: 2rem;
}

.projects-container{
    display: flex;
    flex-direction: column;
    justify-self: center;
    align-items: center;
    width: 66vw;
    padding: 3rem;
}

.projects-header-container{

}

.projects-header-style{
    font-size: 3rem;
    background: #C3FFC2;
    padding-right: .5rem;
    margin: 2rem;
}

.projects-body-container{
    display: grid;
    grid-template-rows: repeat(auto-fit, 1fr);
    justify-content: center;
    max-width: 100%;
    gap: 8rem;
    padding: 1rem;
}

.project-card{
    display: flex;
    flex-direction: column;
    width: 100%;
    padding: 1rem;
    border-radius: 10px;
    border: 2px solid #192A0D;
    gap: 1rem;
}

.project-header-container{
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.project-title{
    font-size: 2rem;
    color: #192A0D;
}

.project-tech{
    font-size: 1.5rem;
    color: #4F9673;
}

.project-body-container{
    display: flex;
    flex-direction: row;
}

.project-thumbnail-container{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 0.75rem;
}

.project-image-style{
    border-radius: 15px;
    width: 30rem;
    height: 15rem;
    object-fit: cover;
    border: 2px solid #192A0D;
}

.project-text-container{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 2.5rem;
}

.project-description-container{

}

.project-description-style{
    font-size: 1rem;
    color: #192A0D;
}

.project-link-container{
    display: flex;
    padding: .75rem;
    justify-content: center;
    align-items: center;
    border-radius: 10px;
    background: #C3FFC2;
    color: #192A0D;
    color: #192A0D;
    font-size: 1rem;
}

.project-link-container:hover{
    background: #192A0D;
    color: white;
}

.project-link-style{
    color: #4F9673;
}

.project-link-style:hover{
    color: white;
}

.skills-container{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 66vw;
    padding: 3rem;
}

.skills-header-container{
    background: #C3FFC2;
    padding-right: .5rem;
    margin: 2rem;
}

.skills-header-style{
    font-size: 3rem;
}

.skills-body-container{
    display: grid;
    grid-template-columns: 1fr 2fr;
    gap: 4rem;
    justify-self: center;
    width: 100%;
}

.experience-container{
    height: fit-content;
    border: 2px solid #192A0D;
    border-radius: 15px;
}

.experience-header-container{
    padding: 1rem;
}

.experience-header-style{
    font-size: 2.5rem;
}

.experience-body-container{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 2rem;
    gap: 2rem;
    height: auto;
}

.experience-list {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 100%;
    max-width: 75ch;
}

.experience-card{
    display: flex;
    flex-direction: row;
    border-radius: 10px;
    border: 2px solid #192A0D;
    gap: 1rem;
    padding: 1rem;
    width: 100%;
}

.experience-image{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 0.5rem;
}

.experience-image-style{
    border-radius: 15px;
    width: 15rem;
    height: 15rem;
    object-fit: cover;
    border: 2px solid #192A0D;
}

.experience-info{
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.experience-title{

}

.experience-title-style{
    font-size: 1.75rem;
}

.experience-time{

}

.experience-time-style{
    font-size: 1.5rem;
    color: #4F9673;
}

.experience-details{

}

.experience-details-style{
    font-size: 1rem;
}

.resume-download{
    display: flex;
    padding: .75rem;
    justify-content: center;
    align-items: center;
    border-radius: 10px;
    background: #C3FFC2;
    color: #192A0D;
    font-size: 1rem;
    text-decoration: none;
}

.resume-download:hover{
    color: white;
    background: #192A0D;
}

.tech-stack-container{
    width: 100%;
    border: 2px solid #192A0D;
    border-radius: 15px;
}

.tech-stack-header{
    padding: 1rem;
}

.tech-stack-header-style{
    font-size: 2.5rem;
}

.tech-stack-list{
    display: flex;
    flex-direction: column;
    margin: 1rem;
    gap: 1rem;
}

.tech-card{
    display: grid;
    grid-template-columns: 1fr 2fr;
    justify-content: center;
    border-radius: 20px;
    border: 2px solid #192A0D;
    padding: .75rem;
}

.tech-image{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    border: 2px solid #192A0D;
    border-radius: 300px;
    width: 5rem;
    height: 5rem;
    padding: .25rem;
}

.tech-image-style{
    width: 80%;
    height: 80%;
    object-fit: contain;
}

.tech-info{
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: .5rem;
}

.tech-name{

}

.tech-name-style{
    font-size: 1.5rem;
}

.tech-details{

}

.tech-details-style{
    font-size: 1rem;
    color: #4F9673;
}

.about-me-container{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 66vw;
    padding: 3rem;
}

.about-me-header{

}

.about-me-header-style{
    font-size: 3rem;
    background: #C3FFC2;
    padding-right: .5rem;
    margin: 2rem;
}

.about-me-body{
    display: flex;
    flex-direction: row;
    gap: 3rem;
}

.about-me-text{
    flex-wrap: wrap;
    border-radius: 0 0 0 15px;
    border-bottom: 2px solid #192A0D;
    border-left: 2px solid #192A0D;
    padding-top: 1.5rem;
    padding-left: 1.5rem;
    padding-bottom: 1.5rem;
    height: fit-content;
}

.about-me-text-style{
    font-size: 1.45rem;
}

.about-me-images{
    display: flex;
    flex-direction: column;
    justify-self: center;
    width: 30rem;
}

.about-me-image{
}

.about-me-image-style{
    border-radius: 100%;
    border: 2px solid #192A0D;
    padding: .25rem;
    width: 30rem;
}

.about-me-contacts{
    display: flex;
    flex-direction: row;
    justify-content: space-around;
    padding: 4rem;
}

.contact{
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 10px;
    border: 2px solid #192A0D;
    padding: .5rem;
}

.contact-style{
    width: 3rem;
    height: 3rem;
}

.footer-style{
    background-color: #4F9673;
    height: 320px;
    width: 100%;
}

.website-details-container{
    padding: 1rem;
}

.website-details-style{

}