/* Inician Styles of cover page */
.title-container {
  width: 100%;
  height: 250px;
  position: absolute;
  text-align: left;
  padding: 1em 20px;
  color: #fff;
  background: rgb(0 0 0 / 45%);
}

.fondo-color {
  background-color: rgba(0, 0, 0, 0.35);
}

@keyframes fadeIn {
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.title-container h1 {
  font-size: 3.5em;
  margin: 0;
  letter-spacing: 2px;
  color: white;
  text-shadow: 0 0 5px black;
}

.title-container p {
  font-size: 2em;
  margin-top: 10px;
  text-shadow: 0 0 5px black;
}

.cover-container {
  width: auto;
  color: #fff;
  opacity: 0.2;
  transform: translateY(-20px);
  animation: fadeIn 1s ease-in-out forwards;
}

.cover-container img {
  width: 100%;
  height: 250px;
  object-fit: cover;
  overflow: hidden;
}
/* Terminan Styles cover page */

.projects-gallery {
display: grid;
max-width: 1400px;
grid-template-columns: repeat(auto-fill, minmax(350px, 1fr));
gap: 10px;
padding: 20px;
margin: 0 auto;
touch-action:pinch-zoom;
touch-action: pan-y;
padding-bottom: 20px;
background-color: whitesmoke;
margin-bottom: 20px;
}

.projects-gallery .item h2 {
    font-size:medium;
    text-align: center;
    text-decoration: none;
    }
/* overlay al seleccionar imagen */
.overlay {
      display: flex;
      justify-content: center;
      align-items: center;
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background: rgba(0, 0, 0, 0.5);
      color: #fff;
      opacity: 0;
      transition: opacity 0.3s;
      animation: ease-in-out;
      text-shadow: 0svi;
    }

.item {
      height: fit-content;
      position: relative;
      overflow: hidden;
      background-color: #fff;
      border: 1px solid #dddddd;
      border-radius: 5px;
      padding: 10px;
      opacity: 0;
      transform: scale(0.8);
      transition: opacity 0.5s ease, transform 0.5s ease;
      box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
  }

#imageprojects-gallery .item img {
  width: 100%;
  height: 15rem;
  padding-bottom: 10px;
  object-fit: cover;
  transition: transform 0.3s ease;
  }

.item.visible {
  opacity: 1;
  transform: scale(1);
}


.item:hover .overlay {
  opacity: 1;
  transform: scale(1.2);
}

/*
.item:hover img {
  transform: scale(1.2);
  overflow: hidden;
}
*/

.btn-container {
      width: 100%;
      margin-top: 1em;
      text-align: center;
      padding-bottom: 10px;
}

.filter-btn {
      display: inline-block;
          padding: 10px;
          margin: 10px;
          font-weight: bold;
          color: black;
          border-radius: 5px;
          transition: background-color 0.3s ease;
          text-decoration: none;
          width: 20vmax;
    }

.filter-btn.active {
        color: white;
        background-color: brown;
    }

.filter-btn:hover {
      color: white;
      background: brown;
    }

.about-buttons {
      display: flex;
      justify-content: right;
      padding-right: 20px;
      margin-top: 20px;
      column-gap: 1rem;
      margin-bottom: 2rem;

    }

@media (max-width: 412px) {
  .projects-gallery {
  display: grid;
  grid-template-columns: auto;
  gap: 10px;
  }
}


/* Styles para script de zoom */
#container-zoom {
  position: relative;
  width: 100%;
  height: 100vh;
  overflow: hidden;
}

#zoomImage {
  width: 100%;
  height: 100vh;
  display: inline-grid;  
  top: 0;
  left: 0;
}

#zoomImage img {
  width: 100%;
  height: 100%;
  object-fit:contain;
  transition: transform 0.3s ease-in-out;
  cursor: zoom-in;
  max-height: 100vh;
}

/* Inicia Styles para Carousel principal de Proyectos */
.mycarousel-container {
min-width: 100%;
position: fixed;
overflow: hidden;
width: 100%;
height: auto;
background: rgba(0, 0, 0, 0.85);
}

.close-btn {
  position: absolute;
  z-index: 1;      
  top: 2em;
  left: 1em;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 20px;
  cursor: pointer;
  background-color: rgb(0 0 0 / 85%);
  color: white;
  border: none;
  border-radius: 50%;
  padding: 5px;
  width: 40px;
  height: 40px;
  text-align: center;      
}

.close-btn:hover, #playPauseBtn:hover {
  filter: brightness(150%);
}


.thumbnails {
position: absolute;
display: flex;
width: fit-content;
max-width: 80%;
bottom: 1em;
justify-content:left;
margin-top: 10px;
border-radius: 5px;
margin: auto;
left: 10px;
right: 10px;
scroll-behavior: smooth;
white-space: nowrap;
overflow-x: scroll;
scrollbar-width: none;
background: #ffffff55;
padding: 5px 10px;
gap: 5px;
} 

.thumbnail {
width: 100px;
border-radius: 5%;
transition: border-color 0.3s;
background: whitesmoke;
top: 100px;
border-radius: 2px;
border: 2px solid;
border-color: whitesmoke !important;
box-shadow: 5px 4px 2px 1px rgb(0 0 0 / 25%);

flex: 0 0 auto;
margin: 5px;
cursor: pointer;
padding: 5px;
height: auto;
overflow: hidden;
}

.thumbnail img {
display: flex;
object-fit: cover;
width: 100%;
height: 50px;
border-radius: 5px;
transition: transform 0.3s;
justify-self: center;
}

.thumbnail img:hover {
  transform: scale(1.2);
}


.thumbnail.active {
border-color: white;
transform: scale(1.2); /* Adjust the scale factor for the active thumbnail */
background: white;
}

.thumbnail:not(.active) {
transform: scale(1); /* Adjust the scale factor for the hovered inactive thumbnail */
}

.prev, .next {
position: absolute;
top: 50%;
width: auto;
margin-top: -30px;
padding: 16px;
color: white;
font-size: 20px;
cursor: pointer;
background-color: #333333ba;
border: none;
border-radius: 4px;
transition: background-color 0.3s;
}

.prev:hover, .next:hover {
background-color: #55555575;
}

.prev {
left: 0;
}

.next {
right: 0;
}

.thumb-prev, .thumb-next {
  position: absolute;
  background: #333;
  bottom: 2em;
  color: white;
  border: none;
  padding: 10px 15px;
  cursor: pointer;
  border-radius: 5px;
  transition: background 0.3s;
}

.thumb-prev {
  left: 0;
}
.thumb-next {
  right: 0;
}

.autoplay-btn {
position: absolute;
top: 2em;
right: 20px;
font-family: Arial, Helvetica, sans-serif;
font-size: 20px;
cursor: pointer;
background-color: rgb(0 0 0 / 85%);
color: white;
border: none;
border-radius: 50%;
padding: 5px;
width: 40px;
height: 40px;
}

.autoplay-btn:hover {
  filter: brightness(150%);
}

/* Termina Styles del Carousel. */

/* Inician Styles projects */
.project-btn {
  position: fixed;
  z-index: 1;
  width: fit-content;
  height: auto;
  bottom: 8em;
  right: 1em;
  color: whitesmoke;
  overflow: hidden;
  background-color: #a52a2a9f;
  border-radius: 10px;
}

a {
text-decoration: none;
}

.project-btn h2 {
text-align: center;
margin: 0;
padding: 10px;
font-family: Cambria, Cochin, Georgia, Times, 'Times New Roman', serif;
font-size:medium;
}

.project-btn:hover {
  filter: brightness(150%);
}

@media (max-width: 768px) {
#zoomImage img {
  width: 100%;
  height: 100%;
  max-height: 100%;  
  object-fit: contain;
}  

#playPauseButton {
right: 1rem;
}

.prev, .next {
display: none;
}

.project-btn {
  left: 0;
  right: 0;
  margin: auto;
  }

.thumb-prev, .thumb-next {
  display: none;
}

.thumbnails {
  max-width: 95%;
}

.quote-button {
  display: none !important;
}

}
