/*
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: #3BB9E4;
  color: rgb(242, 242, 242);
}

.header {
    position: relative;
    width: 100%;
    height: 60vh;
    background-color: rgb(22, 22, 22);

}

.kg_hero_text {
    position: relative;
    display: inline-block;
    top: 25vh;
    left: 15%;
    line-height: 6rem;
    font-weight: 700;
    letter-spacing: 0.2rem;
    font-size: 7rem;
}



.about_container {
    position: relative;
    width: 100%;
    height: auto;
    background-color: rgb(22, 22, 22);
    padding-bottom: 10rem;
}

.kg_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 */
    
}

.kg_about_info_text .box-1,
.kg_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 */
    
}


.client_logo {
  position: relative;
  display: flex;
  justify-content: center;
  margin: 5rem 0;
  
}

.client_logo img {
  width: 15%;
  height: auto;
  display: block;
}



.projects_container {
    position: relative;
    width: 80%;
    height: auto;
    background-color: rgb(22, 22, 22);
    padding: 2rem; /* Add padding for spacing around the content */
  }
  
  .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;
  }
  

  .video_project_container {
    position: relative;
    width: 80%;
    height: auto;
    left: 50%;
    transform: translate(-50%);
   
}

  .video_project_header {
    position: relative;
    top: 0%;
    padding: 2rem 0 2rem;
    color: rgb(242, 242, 242);
    letter-spacing: 0.2rem;
    font-size: 2rem;
    margin: 2rem 0 2rem;

  }

  .kg_video_info_text {
    position: relative;
    left: 50%;
    transform: translate(-50%,0);
    width: 70%;
    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 */
  }

    .kg_video_info_text .box-1,
    .kg_video_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 */
    
}


.storyboards {
    position: relative;
    width: 80%;
    height: auto;
    left: 50%;
    transform: translate(-50%);
}

.storyboard_image_grid {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 2rem; /* Add a gap of 2rem between rows and columns */
  }
  
  .storyboard_image_grid img {
    width: 100%; /* Set the width of the images */
    height:100%; /* 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: 0 auto;
}

.styleframes {
    position: relative;
    width: 80%;
    height: auto;
    left: 50%;
    transform: translate(-50%);
}

.styleframes_image_grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 2rem; /* Add a gap of 2rem between rows and columns */
    place-items: center;
  }
  
  .styleframes_image_grid img {
    width: 100%; /* Set the width of the images */
    height:100%; /* 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: 0 auto;
}

.styleframes_image_grid img:hover {
  transform: scale(1.05); /* Slightly enlarge the image on hover */
  transition: transform 0.3s ease; /* Smooth transition for the scaling effect */
}

.final_video {
    position: relative;
    left: 50%;
    transform: translate(-50%,0);
    width: 80%;
    height: auto;
    border-radius: 8px; /* Optional: Add rounded corners */
}

.final_video_container{
    position: relative;
    left: 50%;
    transform: translate(-50%,0);
    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 */
    margin: auto; /* Center the image horizontally and vertically */
}
.final_video_container 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 */
}