@import url('https://fonts.googleapis.com/css2?family=Alfa+Slab+One&family=Instrument+Sans:ital,wght@0,400..700;1,400..700&family=Inter:wght@100..900&family=Thasadith:ital,wght@0,400;0,700;1,400;1,700&display=swap');
::-webkit-scrollbar {
    display: none;
}

html body {
    margin: 0;
    padding: 0;
    background-color: rgb(0, 0, 0);
    animation: fadeIn 3s ease-in-out forwards;
    opacity: 0;
    scroll-behavior: smooth;
}

@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

/*nav*/
.navbar {
    position: fixed;
    display: flex;
    justify-content: center; /* Center items horizontally */
    z-index: 99;
    top: 0;          /* Attach to the top of the page */
    left: 0;         /* Position at the left edge */
    width: 100%;     /* Occupy full width of the page */
    background-color: transparent;
  }
  
  .menu-links {
    display: flex;
    list-style: none;
    padding: 0;
    margin: 0;
  }
  
  .menu-links a {
    display: block;
    padding: 10px 15px;
    text-decoration: none;
    font-family: "Thasadith", sans-serif;
    font-size: 18px;
    font-weight: 700;
    color: rgba(255, 255, 255, 0.385);
  }

/*Tittlename*/

.overlay-container {
  position: relative;
  width: 100%;
  height: 100svh; /* Ensure full viewport height even on mobile */
  overflow: hidden;
}

iframe {
  position: absolute; /* Position the iframe relative to its container */
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) scale(1.2); /* Center and scale */
  width: 100%; 
  height: 100%;
  border: none; /* Remove default iframe border */
  overflow-y: hidden;
}

.unselectable-text {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%); /* Center the text perfectly */
  font-size: 10vw; /* Adjust font size as needed */
  font-weight: 300;
  font-family: "Instrument Sans", sans-serif;
  color: white; /* Or any color that contrasts well with the iframe */
  user-select: none; /* Prevent text selection in modern browsers */
  -webkit-user-select: none; /* For older WebKit browsers */
  -moz-user-select: none; /* For older Firefox */
  -ms-user-select: none; /* For Internet Explorer/Edge */
  pointer-events: none; /* Allows clicking through the text to the iframe */
  z-index: 10; /* Make sure the text is above the iframe */
  display: inline-block;
  white-space: nowrap;
}

  
/*videos*/
.mainvids  {
    position: relative;
    width: 100vw;    /* Occupy full viewport width */
    height: 100svh;   /* Occupy full viewport height */
    
  }
  
  .video{
    height: 100%;
    width: 100%;
  }
 #background-video{
    height: 100%;
    width: 100%;
    object-fit: cover;
  }

  .video-button {
    position: absolute;               /* Position relative to the video */
    bottom: 20px;                     /* Adjust distance from the bottom */
    left: 50%;                        /* Start at the horizontal center */
    transform: translateX(-50%);      /* Shift the button 50% to the left */
    background-color: rgba(55, 55, 55, 0.303); /* Semi-transparent black background */
    color: rgba(255, 255, 255, 0.46);
    padding: 10px 20px;
    text-decoration: none;
    border: none;
    border-radius:50px;              /* Slightly rounded corners */
    cursor: pointer;
    z-index: 20;                     /* Ensure button is above video */
    font-family: Arial, Helvetica, sans-serif;
    font-size: 2rem;
    opacity: .5;
}
.video-button:hover  {
  opacity: 1;
}

/* vertical text*/
.vertical{
    position: fixed;
    left: 0;
    top: 50vh;
    z-index: 99;
    writing-mode: vertical-lr;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 40px;
    font-weight: bold;
    letter-spacing: 1px;
    user-select: none;  
    text-align: justify;
}
.vertical a {
  text-decoration: none; 
}
.initial-text{
    color: rgb(193, 193, 193);
    opacity: 1;
    transition: opacity 0.3s ease-in-out;
}
.hover-text {    
    position: absolute; /* Make it positionable within the container */
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%); /* Key for centering */
    opacity: 0;
    transition: opacity 0.3s ease-in-out;
    color: rgb(208, 55, 0);
  }
  
.vertical:hover .initial-text {
    opacity: 0;
  }
  
.vertical:hover .hover-text {
    opacity: 1;
  }

/*scroll animation*/

  .circle {
    position: absolute;
    bottom: 5%;
    left: 50%;
    transform: translate(-50%, 50%);
    z-index: 20;
    width: 90%;
    height: 90px;
    opacity: .5;
    animation: fadeIn 5s ease-in forwards;
    pointer-events: none;
    border: 0;
}

/* Grid featured work */
.Featured {
  display: flex;
  height: 50vh;
  width: 100vw;
  justify-content: center; /* Add this line */
  align-items: center; /* Add this line */
  
}

.txtboxwork {
  display: flex;
  font-family: "Instrument Sans", sans-serif;
  width: 100%;
  height: 100%;
  align-items: center;
 
}

.Tittletxt {
  color: white;
  width: 50%;
  text-align: start; /* Change from flex properties */
  font-size: 90px;
  font-weight: 700;
  padding-left: 100px;
  justify-content: flex-start;

}

.txtwork {
  color: white;
  text-align: center;
  font-family: "Inter", sans-serif;
  font-size: 24px;
  padding-left: 70px;
  padding-right: 30px;
  justify-content: flex-end;
  text-align: end;
}



/* Bento grid */
.bento-grid {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  flex-direction: row;
  gap: 5px;
  
}

.box {
  flex: 1 0 20%;
  max-height: 40vw;
  transition: opacity 0.3s;
  opacity: 0.5;
  position: relative; /* Add this line */
  
}

.box.large {
  flex: 1 0 40%;
}

.box.medium{
  flex: 1 0 20%;

}

.box img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 5px;
}

.image-text {
  position: absolute;
  font-family: "Inter", sans-serif;
  bottom: 0%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: rgb(255, 255, 255);
  font-size: 24px;
  font-weight: bold;
  text-align: center;
  width: 80%;
  z-index: 10;
  opacity: 0;
  transition: opacity 0.3s;
  user-select: none;
}

.box:hover .image-text {
  opacity: 1;
}

.box:hover {
    opacity: 1;
   
}

/* Initial hidden state */
.fade-in-section {
  opacity: 0;
  transition: opacity 1s ease-in-out; /* Adjust duration and easing as desired */
}

/* Visible state when in view */
.fade-in-section.is-visible {
  opacity: .45;
}

/* Hover effects - combined with fade-in if applicable */
.fade-in-section.is-visible:hover {  
  opacity: 1; /* Your desired hover opacity */
}

.fade-in-section.is-visible:hover .image-text  {  
  opacity: 1; /* Your desired image-text  hover opacity */
} 

/*footer*/
.footer {
    position: fixed;
    right: 10px; /* Adjust the value to change the horizontal position */
    bottom: 0; /* Adjust the value to change the vertical position */
    z-index: 99;
    color: rgba(255, 255, 255, 0.193);
    font-family: sans-serif;
    font-size: 15px; /* Change the font size to 15px */
    user-select: none;
    pointer-events: none;
}


@media (max-width: 599px) { 
  .box {
      flex: 1 0 100%; /* Force one column */
      height: 300px;
  }
  .box.large {
    flex: 1 0 100%;
    height: 300px;
  }
  .navbar{
    text-decoration: none;
  }
  .box {
    transition: opacity 0s;
    opacity: 1;
} 

.Featured{
  height: 35%;
}

.txtboxwork {
  flex-direction: column; 
}

.Tittletxt {
  font-size: 4em; /* Reduce size further on smaller screens */
  width: 100%;
  padding: 0;
  font-size: 4em; 
  text-align: center; 
}

.txtwork { 
  font-size: 20px; 
  text-align: center; 
}
.box:hover .image-text {
  opacity: 1;
}

.box:hover {
    opacity: 1;
}

.image-text {
   bottom: 50%;
}

/* Initial hidden state */
.fade-in-section {
  opacity: 0;
  transition: opacity 1s ease-in-out; /* Adjust duration and easing as desired */
}

/* Visible state when in view */
.fade-in-section.is-visible {
  opacity: .45;
}

/* Hover effects - combined with fade-in if applicable */
.fade-in-section.is-visible:hover {  
  opacity: 1; /* Your desired hover opacity */
}

.fade-in-section.is-visible:hover .image-text  {  
  opacity: 1; /* Your desired image-text  hover opacity */
} 

}

@media (min-width: 600px) and (max-width: 899px) { 
  .box {
    flex: 1 0 100%; /* Force one column */
    height: 300px;
}
.box.large {
  flex: 1 0 100%;
  height: 300px;
}
.navbar{
  text-decoration: none;
}
.box {
  transition: opacity 0s;
  opacity: 1;
} 

.Featured{
height: 50svh;
}

.txtboxwork {
flex-direction: column; 
}

.Tittletxt {
font-size: 4em; /* Reduce size further on smaller screens */
width: 100%;
padding: 0;
font-size: 4em; 
text-align: center; 
}

.txtwork { 
font-size: 20px; 
text-align: center; 
}
.box:hover .image-text {
opacity: 1;
}

.box:hover {
  opacity: 1;
}

.image-text {
 bottom: 50%;
}

/* Initial hidden state */
.fade-in-section {
opacity: 0;
transition: opacity 1s ease-in-out; /* Adjust duration and easing as desired */
}

/* Visible state when in view */
.fade-in-section.is-visible {
opacity: .45;
}

/* Hover effects - combined with fade-in if applicable */
.fade-in-section.is-visible:hover {  
opacity: 1; /* Your desired hover opacity */
}

.fade-in-section.is-visible:hover .image-text  {  
opacity: 1; /* Your desired image-text  hover opacity */
} 

}


@media (min-width: 900px) and (max-width: 1580px) { 
  .box {
      flex: 1  25%; /* Force two columns */
  }
  .box {
    transition: opacity 0s;
    opacity: 1;
}

}