/*
0 - 600px:      Phone
600 - 900px:    Tablet portrait
900 - 1200px:   Tablet landscape
[1200 - 1800] is where our normal styles apply
1800px + :      Big desktop

$breakpoint arguement choices:
- phone
- tab-port
- tab-land
- big-desktop

ORDER: Base + typography > general layout + grid > page layout > components

1em = 16px
*/

/* font-family: 'Karla', sans-serif; */
::selection {
  background-color: #b39c6b;
  color: rgb(24, 24, 24);
}
.header {
    position: relative;
    width: 100%;
    height: 60vh;
    background-color: rgb(22, 22, 22);

}

.michel_hero_text {
    position: relative;
    display: inline-block;
    top: 25vh;
    left: 15%;
    line-height: 6rem;
    font-weight: 700;
    letter-spacing: 0.2rem;
    font-size: 7rem;
}

@media only screen and (max-width: 37.5em) {
    .michel_hero_text  {
      font-size: 5rem; 
    }
}


.about_container {
    position: relative;
    width: 100%;
    height: auto;
    background-color: rgb(22, 22, 22);
    padding-bottom: 10rem;
}

.client_logo {
    position: relative;
    display: flex;
  
    justify-content: center;
    
}

.client_logo img {
    width: 15%;
    height: auto;
    display: block;
}

.michel_about_info_text {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 60%;
    display: flex; /* Enable flexbox */
    flex-wrap: wrap; /* Allow items to wrap to the next line */
    gap: 4rem; /* Add spacing between the boxes */
    justify-content: center; /* Center the boxes horizontally */
    
}

.michel_about_info_text .box-1,
.michel_about_info_text .box-2 {
    flex: 2 2 40%; /* Allow boxes to grow, shrink, and take up 45% of the container */
    min-width: 200px; /* Set a minimum width to prevent boxes from becoming too small */
    padding: 1rem; /* Add padding inside the boxes */
    
}


  
  .project_header{
    position: relative;
    display: block;
    padding: 2rem 0 2rem;
    color: rgb(242, 242, 242);
    letter-spacing: 0.2rem;
    font-size: 2rem;
    
  }

  .image_gallery{
    position: relative;
    left: 50%;
    transform: translate(-50%);
    justify-content: center;
    width: 80vw;
  }
  
  .project_disclaimer{
    position: relative;
    height: 10vh;
    width: 40vw;
    color: rgb(242, 242, 242);
    display: inline-block;
    top: 2rem;
    left: 10%;
    font-size: 1rem;
    line-height: 2rem;
    font-weight: 300;
    font-kerning: normal;
    color: rgb(242, 242, 242);
  }


  /* ----------------------------------IMAGE GALLERY--------------------------------- */

  .michel_gallery {
    position: relative;
    display: flex;
    justify-content: center;
    width: 100%;
    height: auto;
    margin: 2rem 0 2rem 0; /* Add padding for spacing around the content */
    border-radius: 8px; /* Optional: Add rounded corners */
  }

  .michel_gallery video {
    width: 100%; /* Set the width of the images */
    height: auto; /* Set the height of the images */
    border-radius: 8px; /* Optional: Add rounded corners */
    object-fit: cover; /* Ensure images cover the grid cell */
    display: block; /* Ensure the image is treated as a block-level element */
    margin: auto; /* Center the image horizontally and vertically */
  }

  .michel_flex_container {
    display: flex; /* Enable flexbox */
    flex-wrap: wrap; /* Allow wrapping for smaller screens */
    gap: 2rem; /* Add spacing between the text and video */
    align-items: center; /* Align items vertically in the center */
    justify-content: center; /* Center content horizontally */
    margin: 2rem 0 2rem 0; /* Add padding for spacing around the content */
    border-radius: 8px; /* Optional: Add rounded corners */
    
}

.michel_text_container {
    display: flex;
    flex-direction: column;
    justify-content: center;
    height: 100%;
    flex: 1 50%;
    padding: 1rem;
    color: rgb(242, 242, 242);
}

.michel_video_container {
    flex: 1 40%;
    min-width: 400px;
    margin: 2rem 0 2rem 0; /* Add padding for spacing around the content */
    border-radius: 8px; /* Optional: Add rounded corners */
}

.michel_video_container video {
    width: 100%; /* Make the video responsive */
    height: auto; /* Maintain the aspect ratio */
    border-radius: 8px; /* Optional: Add rounded corners */
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2); /* Optional: Add a shadow for aesthetics */
}

.michel_gallery_grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr); /* Create 3 equal columns */
    gap: 2rem; /* Add a gap of 2rem between rows and columns */
  }
  
  .michel_gallery_grid img {
    width: 100%; /* Set the width of the images */
    height: 30rem; /* Set the height of the images */
    border-radius: 8px; /* Optional: Add rounded corners */
    object-fit: cover; /* Ensure images cover the grid cell */
    display: block; /* Ensure the image is treated as a block-level element */
    margin: auto; /* Center the image horizontally and vertically */
  }

  .michel_gallery_grid img:hover {
  
    transform: scale(1.05); /* Slightly enlarge the image on hover */
    transition: transform 0.3s ease; /* Smooth transition for the scaling effect */
  }

  .video_link_container {
    position: relative;
    left: 50%;
    transform: translate(-50%);
    width: 50vw;
    height: auto;
    color: rgb(242, 242, 242);
   
  }

  .video_link_container h3{
    display: flex;
    justify-content: center;
    padding: 1.5rem 0 1.5rem 0;
  }

  .video_link_text {
    position: relative;
    display: inline-block;
    left: 50%;
    transform: translate(-50%);
  }

  .video_link_text a:hover{
    color:  #b39c6b;
    transition: all 0.3s ease-in-out;
  }