/* Global Reset */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
  font-family: Arial, sans-serif;
  background-color: #fff;
  color: #333;
  scroll-behavior: smooth; /* Enable smooth scrolling */
}

/* Header Section */
header {
  background-color: #111;
  color: #fff;
  padding: 40px;
  text-align: center;
}

header .logo h1 {
  font-size: 2.5rem;
  font-weight: bold;
}

/* Main Section */
main {
  padding: 40px 0.3%;
}

.artworks {
  display: grid;
  grid-template-columns: repeat(6, 1fr); /* Default: 6 columns */
  gap: 4px;
  grid-auto-rows: 200px; /* Set uniform height for items */
}

.artwork-item {
  position: relative;
  overflow: hidden;
  border-radius: 8px;
  background-color: #222;
  cursor: pointer;
}

.artwork-item img {
  width: 100%;
  height: 100%;
  object-fit: cover; /* Ensures the image covers the container */
  object-position: center; /* Centers the subject of the image */
}

/* Mobile Styles: Single Column */
@media (max-width: 600px) {
  .artworks {
    grid-template-columns: 1fr !important; /* Switch to single column on mobile */
    grid-auto-rows: auto; /* Let rows adjust to content height */
  }

  .artwork-item {
    grid-column: span 1 !important; /* Each item spans one column */
  }

  .artwork-item img,
  .artwork-item video {
    width: 100%; /* Ensure content fits inside the grid */
    height: auto; /* Maintain aspect ratio */
  }
}

.image-container img {
  object-position: center center; /* Center by default on mobile */
}

/* Specific object-position for desktop images */
@media (min-width: 600px) {
  .image-position-0 {
    object-position: center 0%;
  }

  .image-position-10 {
    object-position: center 10%;
  }

  .image-position-15 {
    object-position: center 15%;
  }

  .image-position-20 {
    object-position: center 20%;
  }

  .image-position-30 {
    object-position: center 30%;
  }

  .image-position-40 {
    object-position: center 40%;
  }

  .image-position-50 {
    object-position: center 50%;
  }

  .image-position-60 {
    object-position: center 60%;
  }

  .image-position-70 {
    object-position: center 70%;
  }

  .image-position-80 {
    object-position: center 80%;
  }

  .image-position-90 {
    object-position: center 90%;
  }

  .image-position-100 {
    object-position: center 100%;
  }
}

/* Modal Styles */
.modal {
  display: none;
  position: fixed;
  z-index: 1000;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.8); /* Dimming effect */
  justify-content: center;
  align-items: center;
}



/* Modal Styles */
.modal-content {
  max-width: 90%;
  max-height: 90vh; /* Ensure the content fits within the viewport height */
  object-fit: contain;  /* Ensure images/videos are contained within the modal */
  margin: auto;
  overflow: auto; /* Allow scrolling if content overflows */
}

.modal-video {
  max-width: 90%;
  max-height: 90%;
  object-fit: contain;  /* Ensure the video fits inside without distortion */
  margin: auto;
  overflow: auto; /* Allow scrolling if content overflows */
}

iframe.modal-content {
  width: 100%;
  height: 100%;
  border: none;
}


.close {
  position: absolute;
  top: 20px;
  right: 20px;
  color: white;
  font-size: 40px;
  cursor: pointer;
}

/* Footer Section */
footer {
  background-color: #222;
  color: #fff;
  padding: 40px;
  text-align: center;
}

footer .footer-content p {
  font-size: 1rem;
  margin-bottom: 20px;
}

footer .socials a {
  color: #fff;
  margin: 0 10px;
  text-decoration: none;
}

footer .socials a:hover {
  text-decoration: underline;
}

/* General video container styles */
.video-container {
  position: relative;
  display: inline-block;
  width: 100%; /* Ensure it takes the full width of its grid item */
  height: 100%; /* Ensure it takes the full height of its grid item */
  overflow: hidden; /* Hide excess video area */
}

.gallery-media {
  width: 100%; /* Ensure the video fits the container's width */
  height: 100%; /* Ensure the video fits the container's height */
  object-fit: cover; /* Make sure the video covers the entire space, maintaining aspect ratio */
}

.play-icon {
  position: absolute;
  bottom: 10px;
  right: 10px;
  font-size: 30px;
  color: white;
  background-color: rgba(0, 0, 0, 0); /* Dark background behind the icon */
  padding: 5px;
  border-radius: 50%;
  cursor: pointer;
  display: block; /* Always display the play icon (you can adjust visibility if needed) */
}

/* Hero Section */
.hero {
  position: relative;
  width: 100%;
  height: 100vh; /* Full viewport height */
  overflow: hidden;
}

.hero-video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover; /* Cover the entire hero section */
  z-index: -1; /* Ensure the video stays behind the content */
}

.hero-content {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  text-align: center;
  color: white;
}

.hero-content h1 {
  font-size: 3rem;
  font-weight: bold;
  margin-bottom: 10px;
}

.hero-content p {
  font-size: 1.25rem;
}

/* Scroll Down Button */
.scroll-button {
  position: absolute;
  bottom: 20px; /* Position the button at the bottom */
  left: 50%;
  transform: translateX(-50%);
  font-size: 2rem;
  color: white;
  text-decoration: none;
  padding: 10px;
  background-color: rgba(0, 0, 0, 0);
  border-radius: 50%;
  cursor: pointer;
}
