@import url('https://fonts.googleapis.com/css2?family=Changa:wght@400;700&display=swap'); /* H2 and P 400 and 700 --> font-family: 'Changa', sans-serif; */
@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Sans+Condensed:wght@700&family=Lato&display=swap'); /* font for h1 font-family: 'IBM Plex Sans Condensed', sans-serif; */
/* COLORS
fonts(black): #000000
white-grey(background): #FDFCFC
mid-grey(main): #E8E8E8
dark-grey(project divs): #CCCCCC
blue(font, shadows): #6D90A7
 */
* {
    box-sizing: border-box;
}
body {
    background: #FDFCFC;
    margin: 0;
}
/*------------------------------------------------HEADER--*/
.index-header {
    width: 100%;
    height: auto;
    user-select: none;
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
}
.index-header h1 {
    color: #000000;
    font-family: 'Changa', sans-serif;
    font-size: 6rem;
    font-weight: 700;
    letter-spacing: .15rem;
    padding: 2rem;
    width: 100%;
    height: auto;
    text-align: center;
}
.index-header a {
    
    text-decoration: none;
    color: #000000;
    cursor: pointer;
    transition: .3s;
    font-family: 'Changa', sans-serif;
    position: relative;
    top: 10rem;
    right: 2rem;
    white-space: nowrap;
  
}
.index-header a::before {
    content: "";
    position: absolute;
    width: 0%;
    height: 0.15rem; /* Adjust the height of the underline */
    bottom: -0.1rem; /* Adjust the position of the underline */
    left: 0;
    background-color: #000000; /* Color of the underline */
    transition: width .5s; /* Define the animation duration */
  }
  
  .index-header a:hover::before {
    width: 100%; /* Make the underline grow to 100% of the link width */
  }
  @media screen and (max-width: 768px) {
    .index-header {
      flex-direction: column;
      align-items: center;
    }
    
    .index-header h1 {
      padding: 1rem;
      font-size: 3rem;
    }
    
    .index-header a {
      position: static;
      margin-top: 1rem;
      margin-right: 0;
    }
    .index-header a::before {
        width: 0%;
        height: 0rem; /* Adjust the height of the underline */
        bottom: 0rem; /* Adjust the position of the underline */
        
      }
  }
/*------------------------------------------------MAIN--*/
.index-main {
    padding: 1rem;
    padding-bottom: 8rem;
    background-color: #E8E8E8;
    width: 100%;
    height: auto;
}
.index-main a {
    text-decoration: none;
    letter-spacing: .15rem;
}
.index-main h2 {
    text-align: center;
    font-family: 'Changa', sans-serif;
    }
.projects{
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    grid-gap: 3rem;
    grid-row-gap: 5rem;
    display: flex; 
    flex-wrap: wrap;
    justify-content: center; 
    align-items: center;
    
}
.projects div {
    padding: .5rem;
    width: 26rem;
    height: 26rem;
    background-color: #CCCCCC;
    text-align: center;
    cursor: pointer;
    transition: .5s;
    position: relative;
    
}
.projects div:hover{
    box-shadow: .5rem .5rem 0px #6D90A7;
    z-index: 9999;
}
.projects img {
    width: 100%;
    height: 100%;
    
    position: relative;
    object-fit: cover;
}
.projects h3 {
    color: #6D90A7;
    text-align: center;
    margin: 0 auto;
    font-family: 'Changa', sans-serif;
    font-weight: 700;
    text-transform: uppercase;
    font-size: 1.5rem;
    padding-top: .5rem;
}
@media screen and (max-width: 768px){
    .projects h3{
        font-size: 1.2rem;
    }
    .projects div {
        width: 20rem;
        height: 20rem;
    }
}
/*------------------------------------------------FOOTER--*/
footer {
    padding: .5rem;
    font-family: 'Changa', sans-serif;
    background-color: #CCCCCC;
    display: flex;
    gap: 2rem;
    justify-content: center;
    position: relative;
}
footer a  {
    text-decoration: none;
    color: #000000;
    position: relative;
    white-space: nowrap;
    font-size: 1.2rem;
}
footer a::before {
    content: "";
    position: absolute;
    width: 0;
    height: 2px; /* Adjust the height of the underline */
    bottom: 0;
    left: 0;
    background-color: #000;
    transition: width .5s; /* Define the animation duration */
  }
  
  footer a:hover::before {
    width: 100%;
  }
  @media screen and (max-width: 768px) {
    footer a {
        margin-left: 3rem;
        margin-right: 3rem;
        font-size: 1rem;
    }
    footer a::before {
        height: 0px; /* Adjust the height of the underline */
      }
      
  }
/*------------------------------------------------contact PAGE--*/
.contact-main{
    width: 100%;
    height: auto;
    margin: 0 auto;
    background-color: #FDFCFC;
    display: grid;
    grid-template-columns: 1fr 1fr;
    text-align: center;
    padding: 2rem;
    justify-items: center;
}
.left-side{
    padding-right: 1rem;
}
.right-side{
    padding-left: 1rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}
.left-side h2{
    font-family: 'Changa', sans-serif;
    font-weight: 700;
    font-size: 2rem;
    margin-top: 0;
}
.left-side p{
    font-family: 'Changa', sans-serif;
    font-weight: 400;
    font-size: 1rem;
}
.right-side h2{
    font-family: 'Changa', sans-serif;
    font-weight: 700;
    font-size: 2rem;
}
.right-side img{
    width: 100%;
    height: auto;
}
#message {
    width: 20rem;
    height: 7rem;
    font-family: 'Changa', sans-serif;
    padding-left: .5rem;
    border: 2px solid #6D90A7;
}
.form_name,
.form_email,
.form_message {
  display: flex;
  flex-direction: column;
  align-items: center; /* Align content horizontally */
  text-align: center; /* Center text content */
  
}
.form_email input{
    width: 20rem;
    height: 2rem;
    font-family: 'Changa', sans-serif;
    padding-left: .5rem;
    border: 2px solid #6D90A7;
}
.email_form {
    margin: 0 auto;
    width: 80%;
    height: auto;
    display: flex;
    flex-direction: column;
    align-items: center;
}
.email_form div{
    padding-bottom: 1rem;
}
textarea {
    resize: none;
    font-size: 1rem;
    width: 100%;
}
  .form_submit input {
    border: none;
    font-family: 'Changa', sans-serif;
    color: #000000;
    background-color: #CCCCCC;
    padding: .5rem;
    font-size: 1rem;
    cursor: pointer;
    transition: .2s;
  }
  .form_submit input:hover {
    box-shadow: 3px 3px 0px #6D90A7; 
  }
.email_form label{
    font-family: 'Changa', sans-serif;
    color: #000000;
    text-align: left;
}
/* Grow imported animation for hover*/
.hvr-grow {
    display: inline-block;
    vertical-align: middle;
    transform: translateZ(0);
    box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    backface-visibility: hidden;
    -moz-osx-font-smoothing: grayscale;
    transition-duration: 0.3s;
    transition-property: transform;
}

.hvr-grow:hover,
.hvr-grow:focus,
.hvr-grow:active {
    transform: scale(1.1);
}
/* Grow END*/
/*Legends and Fieldsets*/
legend {
    font-family: 'Changa', sans-serif;
    font-weight: 700;
    color: Black;
    font-size: 2rem;
}
fieldset p{
    font-family: 'Roboto', sans-serif;
    font-weight: 400;
    color: black;
}
fieldset {
    background-color: #FFE09E;
    border: solid#FF8416;
    padding: .5rem;
}
@media screen and (max-width: 768px){
    .contact-main {
        display: grid;
        grid-template-columns: 1fr;
    }
    #message{
        width: 100%;
        height: auto;
    }
    .form_email input{
        width: 100%;
        height: auto;
    }
    .hvr-grow:hover,
.hvr-grow:focus,
.hvr-grow:active {
    transform: scale(.9);
}
}
/* -----------------------------------------------PROJECT PAGE */
.project-header{
    background-color: #E8E8E8;
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.menu {
    display: flex;
    gap: 2rem;
    margin-right: 1rem;
    font-family: 'Changa', sans-serif;
}
.menu a {
    color: #000000;
    text-decoration: none;
    position: relative;
    font-size: 1.2rem;
}
.menu a::before {
    content: "";
    position: absolute;
    width: 0;
    height: 2px; /* Adjust the height of the underline */
    bottom: 0;
    left: 0;
    background-color: #000;
    transition: width .5s; /* Define the animation duration */
  }
  
.menu a:hover::before {
    width: 100%;
  }
.homelink {
    margin-left: 1rem;
    font-family: 'IBM Plex Sans Condensed', sans-serif;
    font-size: 3rem;
    vertical-align: top;
}
.homelink a{
    color: #6D90A7;
    text-decoration: none;
    position: relative;
}
.project-name{
    font-family: 'IBM Plex Sans Condensed', sans-serif;
    text-align: center;
    text-transform: uppercase;
    font-size: 5rem;
}
.project-main{
    background-color: #E8E8E8;
    width: 100%;
    margin: 0 auto;
    padding: 2rem;
}
.project-main h3{
    font-family: 'Changa', sans-serif;
    text-transform: uppercase;
}
.project-main p{
    font-family: 'Changa', sans-serif;
}
.project-text{
    margin: 0 auto;
    margin-bottom: 2rem;
}
.project-images{
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-gap: 1rem;
}
.project-images img{
    width: 100%;
    height: auto;
    aspect-ratio: 1;
    object-fit: cover;
    cursor: pointer;
}
.project-images img:hover{
    border: 8px solid green;
    transition: .3s;
}
.image-overlay {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.9);
    justify-content: center;
    align-items: center;
    z-index: 9999;
    overflow-y: auto;
}
#expandedImage {
    max-width: 90%;
    max-height: 100%;
    transition: .2s;
}
@media (max-width: 768px) {
    /* Mobile-specific styles */
    .image-overlay {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.9);
    justify-content: center;
    align-items: center;
    z-index: 9999;
    }

    #expandedImage {
    max-width: 90%;
    max-height: 90%;
    }
}
.image-wrapper{
    display: flex;
    justify-content: center;
    align-items: center;
}
.project-nav{
    font-family: 'Changa', sans-serif;
    display: flex;
    justify-content: center;
    gap: 2rem;
    margin-top: 2rem;
}
.project-nav a{
    color: #000000;
    text-decoration: none;
    position: relative;
}
.project-nav a::before {
    content: "";
    position: absolute;
    width: 0;
    height: 2px; /* Adjust the height of the underline */
    bottom: 0;
    left: 0;
    background-color: #000;
    transition: width .5s; /* Define the animation duration */
  }
  
.project-nav a:hover::before {
    width: 100%;
  }
  @media screen and (max-width: 768px){
    .project-images {
        grid-template-columns: repeat(1, 1fr);
    }
    .project-name {
        font-size: 3rem;
    }
    .homelink {
        font-size: 1.5rem;
    }
    .project-name h1{
        font-size: 3.5rem;
    }
    .menu a{
        font-size: 1rem;
    }
}