:root{/*CSS Custom Properties*/
    --bg-body:hsl(0, 0%, 8%);
    --bg-contact: hsl(0, 0%, 14%);
    --accent: hsl(153, 71%, 59%);
    --text1: hsl(0, 0%, 100%);
    --text2: hsl(0, 0%, 68%);
    --invalid: hsl(7, 100%, 68%);
    --fs-88:5.5rem;
    --fs-72:4.5rem;
    --fs-48:3rem;
    --fs-40:2.5rem;
    --fs-32:2rem;
    --fs-24:1.5rem;
    --fs-18:1.125rem;
    --container: 69.375rem;
    --transition: 300ms ease-in-out;
}



html{
    box-sizing: border-box;/*padding doesnt add to width or height of elements*/
    font-size: 100%;
    scroll-behavior: smooth;
}

h1, h2, h3, p{
    margin-top:0;
}

h1, h2, h3{
    line-height: 1;
}

h1{
    font-size: 2.5rem;
    font-size:clamp(2.5rem, 0.70rem + 7.68vw, 5.5rem);
    margin-bottom:20px;
}

@media (min-width:600px){
    h1{
        margin-bottom:43px;
    }
}


p{
    line-height: 1.5;
}

*, *::before, *::after{
    box-sizing: inherit;
}

a:hover{
    color:var(--accent);
    transition: color var(--transition);
}

a.underline{
    font-size: 1rem;
    line-height: 1.625;
    letter-spacing: 2.29px;
    font-weight:700;
    text-transform:uppercase;
    text-decoration:underline;
    text-decoration-color: var(--accent);
    text-underline-offset: 8px;
    text-decoration-thickness: 2px;
    color:var(--text1);
}

.underline{
    text-decoration:underline;
    text-decoration-color: var(--accent);
    text-underline-offset: 8px;
    text-decoration-thickness: 2px;
}



body{
    margin:0;
    font-family: "Space Grotesk", serif;
    background-color: var(--bg-body);
    color: var(--text1);
    font-size: var(--fs-18);
    line-height:1.56;
    padding-bottom:50px;
}

.wrapper{
    width:calc(100%-2rem);
    max-width:var(--container);
    margin-inline: auto;
}

/*600px*/
@media (min-width:37.5em){
    .wrapper{
        width:calc(100%-3.75rem);
    }

}

.link:hover{
    transition:fill var(--transition);
    color:var(--accent);
}


/*-----------HEADER-----------------*/

.header{
    margin: 20px 10px 0 10px;
}

.header_nav{
    display:flex;
    flex-wrap:wrap;
    justify-content: center;
    text-align:center;
    gap: 20px 25px;
    
}

.header_home{
    font-size: 1.125rem;
    font-size: clamp(1.125rem, 0.77rem + 1.5vw, 1.5rem);
    line-height:1;
    color:var(--text1);
    text-decoration:none;
    flex: 1 0 100%;
}

.header_social{
    display:inline-block;
}

.header_social > svg > path{
    transition: fill var(--transition);
}


.header_social:hover > svg > path{
    fill:var(--accent);
}


@media (min-width:37.5em){

    .header_nav{
        justify-content: flex-start;
        text-align:left;
        align-items:center;
        gap:32px;
    }

    .header_home{
        flex: 1 0 0%;
        margin-inline-end: auto;
    }
    

}

/*--------HERO-----------*/


.hero_heading{
    flex:2;
    text-align:left;
    
}

.hero_wrapper{
    padding-bottom: 160px;
    border-bottom: 2px solid var(--text2);
    
}

.hero_image{
    margin:2% 7% 0 8%;
    flex:1;
    width:280px;
    height:auto;
    box-shadow: 5px 5px rgb(82, 82, 82);
}

.hero_image img{
    box-shadow: 7px 6px hsl(0, 0%, 80%);
    border:1px solid var(--bg-body);
    margin-inline:auto;
    
}

.imgNHeading{
    padding-top: 30px;
    display: flex;
    flex-direction: column-reverse;
    align-items: center;
    justify-content: center;
    margin-left: 10px;
}

.hero_text{
    text-align:center;
    position:relative;
    top: 30px;

}

.hero_underline{
    text-decoration: underline var(--accent);
    text-underline-offset: 7px;
    

}

.hero_rings{
    position:absolute;
    left:-40%;
    z-index:-1;
}

.hero_rings > svg > ellipse{
    stroke: var(--text2);
}

@media (min-width:550px){
    .hero_rings{
        left:-30%;
    }
    
}

@media (min-width:768px){
    .imgNHeading{
        flex-direction: row-reverse;
    }
}


@media (min-width:800px){
    .hero_rings{
        left:-5%;
    }
}

@media (max-width:800px){
    .hero_image img{
        width: 200px;
    }
}

@media (max-width:600px){
    .hero_image img{
        width: 150px;
    }

    .hero_image{
        margin:15px 20px;
    }
}

/*--------------------SKILLS----------------*/
.skills{
    border-bottom: 2px solid var(--text2);
    padding:60px ;
}

.section_heading{
    text-align:center;
    letter-spacing: 2px;
    padding-bottom:20px;
}
.skill_list {
    display: flex;
    flex-direction: column;
    gap: 25px; /* Adjust gap between rows */
    justify-content: center;
    align-items: center;
}

.row {
    display: flex;
    justify-content: space-evenly;
    width:100%;
}

.word {
    color:var(--text1);
    padding: 30px;
    text-align: center;
    flex:1;
    
}

.word:hover{
    transition:fill var(--transition);
    color:var(--accent);
}

@media (max-width:800px){
    .word{padding:5px;}
}

/*------------------PROJECTS-------------------*/
.projects {
    padding: 60px;
    border-bottom: 2px solid var(--text2);
    width:100%;
}

.projects p {
    text-align: center;
}

.project_display {
    margin: 40px;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
}

.project {
    overflow: hidden;
    width: 200px;
    height: 200px;
    margin: 20px;
    border-radius: 12px;
    background-color:#ffffff;
}

.img-container {
    position: relative;
    width: 100%;
    height: 100%;
    overflow: hidden;
    border-radius: 12px;
    background-color:#ffffff;
}

.img-container img {
    width: 100%;
    height: 100%;
    display: block;
}

.cover {
    display:flex;
    flex-direction: column;
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 0;
    background: rgba(38, 41, 39, 0.7);
    color: var(--text1);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    transition: height 0.4s ease-in-out;
    gap:10px;
    border-radius:12px;
}

.cover a{
    text-decoration: none;
    color:white;
    transition:0.5s ease-in-out;
}

.cover a:hover{
    text-decoration: underline;
    color:var(--accent);
}

.img-container:hover .cover {
    height: 100%;
}


/*---------------FORM------------------*/
.form{
    margin-top: 60px;
    padding-bottom:50px;
    display:flex;
    flex-direction:column;
    justify-content: center;
    align-items: center;
    background:linear-gradient(to right, var(--bg-contact), transparent);
}

form{
    display:flex;
    flex-direction: column;
    max-width: 600px;
    min-width: 500px;
    justify-content: center;
    align-items: center;
}


input:-webkit-autofill {
    color:white !important;
    background-color: var(--bg-contact) !important;
    transition: background-color 5000s ease-in-out 0s, color 5000s ease-in-out 0s !important;
  }
  
  input:-webkit-autofill:focus {
    color:white !important;
    background-color: var(--bg-contact) !important;
  }
  

form input{
    width:300px;
    border:none;
    background: none;
    border-bottom:2px solid white;
    font-family: "Space Grotesk", serif;
    font-size: var(--fs-18);
    color:white !important;
}

form .message{
    width:400px;
    height:100px;
    margin-top:10px;
    border:none;
    background: none;
    border-bottom:2px solid white;
    font-family: "Space Grotesk", serif;
    font-size: var(--fs-18);
    color:white;
}

form .message:focus, form input:focus{
    outline:none;
    
}

.formSubmit{
    width:100%;
    display: flex;
    align-items: center;
    justify-content: right;
    padding:15px 35px;
}


form button{
    width:200px;
    height:40px;
    background: none;
    border:none;
    color:white;
    font-family: "Space Grotesk", serif;
    font-size: var(--fs-18);
    transition: 0.5s;
    cursor:pointer;
}

form button:hover{
    color:var(--accent);
}

.form_label{
    width:100px;
}

.form_fill{
    flex:1;
    padding-top:50px;
    height:400px;
    
}

.form_info{
    flex:2;
    align-items: flex-start;
    padding:20px;
    min-height:400px;
}

.form_info h2, p{
    text-align:left;
}

.form_info h2{
    text-decoration: underline var(--accent);
    text-underline-offset: 5px;;
}

input.error {
    border-bottom: 2px solid rgb(93, 1, 1);
}

input.success {
    border-bottom: 2px solid var(--accent);
}

@media (min-width:800px){
    .form{
        flex-direction:row;
    }
}

/*-----------------------------FOOTER---------------------------------*/

footer{
    margin-top:60px;
    padding:10px;
    border-top: 2px solid var(--text2);
    width:100%;
}

.spanStyle{
    color:var(--accent);

}

