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

/* Ocultar el contenido en dispositivos móviles */
@media (max-width: 768px) {
  .desktop-and-ipad-only {
    display: none;
  }
}

/* Mostrar el contenido en dispositivos de escritorio e iPad */
@media (min-width: 769px) {
  .mobile-only {
    display: none;
    justify-content: space-between; 
  }
  body {
      margin: 0;
    display: flex;
    flex-direction: column;
    justify-content: space-between; 
    height: 100vh;
    background: white;
    overflow: hidden;
    }
    .about:hover, .about.active {
  z-index: 9999;
  color: #000; 
  font-size: 14px;
  
 
}
.about {
  text-decoration: none;
  font-size: 14px;
  font-weight: bold;
  font-family: 'PP Monument Extended', sans-serif;
  text-align: right;
}
}

.custom-cursor {
  position: fixed;
  pointer-events: none; 
  z-index: 99999;
  font-family: 'Helvetica';
}



#cursorImage {
  width: 200px; /* Ajusta el tamaño del cursor */
  height:auto;
}



body {
    margin: 0;
    display: flex;
    flex-direction: column;
    justify-content: space-between; 
    align-items: center;
    text-align: center;
    height: 100vh;
    background: white;
    overflow: hidden;
  }
  ::selection {
    background-color: #ac0000; /* Cambia el color de fondo del texto seleccionado */
    color: #000000; /* Cambia el color del texto seleccionado */
}
  body.no-scroll {
    overflow: hidden; /* Deshabilita el scroll */
  }
  
  
  
  #container3D canvas {
    width: 100vw !important;
    height: 100vh !important;
    position: absolute;
    top: 0;
    left: 0;
  }

  #flipbook {
    width: 80%;
    height: 90%;
    background-color: white;
    box-shadow: 0px 0px 10px #888;
}
.page {
  width: 100%;
  height: 100%;
}

  body.scroll {
    overflow-y: auto; /* Habilita el scroll vertical */
  }
  
p{
    font-family: 'PP Monument Extended',sans-serif;
    font-weight: bold;
    text-transform: uppercase;
    font-size: 12px;
    color: #000;
   
  }

  a{
    font-family: 'PP Monument Extended',sans-serif;
    font-weight: bold;
    text-transform: uppercase;
    font-size: 12px;
    color: #000;
    text-decoration: none;
  }
  
  .contact-links a {
  color: #ac0000; 
  text-decoration: none; 
  font-family: 'helvetica', sans-serif;
  font-weight: bold; 
  margin-right: 12px; 
}

.contact-links a:hover {
  color: #000; 
  text-decoration: underline; 
}

  h1{
    font-family: 'PP Monument Extended', sans-serif;
    font-weight: bold;
    font-size: 12px;
    color: #ac0000;
  }
  h6{
    font-family: 'helvetica', sans-serif;
    width: 400px;
    font-weight: normal;
    font-size: 12px;
    color: #ac0000;
    text-align: left;
  }
  h4{
    font-family: 'helvetica', sans-serif;
    font-weight: normal;
    font-size: 14px;
    color: #000;
    text-align: center;
  }
    
    
  .header {
    position: fixed;
    z-index: 999;
    justify-content: space-between;
    display: flex;
    width: 100vw;
    top: 0;
    left: 0;
    padding: 20px;   
    }

  .header-home {
      position: fixed;
      z-index: 999;
      justify-content: space-between;
      display: flex;
      width: 100vw;
      top: 0;
      left: 0;
      padding: 0;   
      }


  .left-section {
    justify-content: space-between;
    height: 100vh;
    display: flex;
    }
    
  .love-letter{
  align-self: flex-end; /* Alinea la imagen en la parte inferior */
  width: 400px;
  height: auto;
  }
  
  
  
   /* FOOTER */
.footer {
  position: fixed;
  z-index: 998;
  justify-content: space-between;
  align-items: flex-end;
  display: flex;
  width: 100vw;
  padding: 20px; 
  bottom: 0;
  left: 0;
}


.proyectos {
  position: relative; /* Para asegurarte de que el menú esté alineado con "Proyectos" */
  display: inline-block;
  margin: 0;
  padding: 0;
}

.dropdown-content {
  display: none;
  position: absolute;
  bottom: 80%; /* Ajusta este valor según sea necesario para acercar el menú */
  z-index: 1;
  text-align: left;
  transition: all 0.3s ease;
  width: 200px;
  border-bottom: 0;
  margin: 0; /* Eliminar cualquier margen */
  padding: 0; /* Asegurar que no haya padding extra */
}

/* Mostrar los enlaces al hacer hover sobre Proyectos */
.proyectos:hover .dropdown-content {
  display: block;
 
}

.IAGallery, .body, .Desigual, .shift, .Visual, .mibo, .galax, .rush_call, .under_control, .proyectos {
  cursor: pointer;
  display: inline-block;
  text-decoration: none;
  color: black;
  font-family: 'PP Monument Extended', sans-serif;
  font-weight: bold;
  margin: 5px 0; /* Para agregar un pequeño espaciado entre los elementos del menú */
}

.proyectos:hover, .proyectos.active {
  color: #000; 
}
/* Aplicar el estilo hover a todos los elementos del menú */
.IAGallery:hover, .IAGallery.active,
.body:hover, .body.active,
.Desigual:hover, .Desigual.active,
.shift:hover, .shift.active,
.Visual:hover, .Visual.active,
.mibo:hover, .mibo.active,
.galax:hover, .galax.active,
.rush_call:hover, .rush_call.active,
.under_control:hover, .under_control.active {
  color: #ac0000; 
  border: 2px solid #ac0000; 
  border-radius: 50%;
  font-family: 'PP Monument Extended', sans-serif;
  font-weight: bold !important;
  display: inline-block;
}

/* Evitar duplicación en los nombres de las otras secciones */
.journal a, .ia-gallery a {
  margin: 0;
  padding: 0;
  text-align: center;
  font-family: 'PP Monument Extended', serif;
  font-weight: bold !important;
}
  
 


  /*CERRAR FOOOTER*/
    

  .mariahoms-home{
    color: #000; 
    font-size: 50px;
    text-align: left;
    z-index: 998;
    position: fixed;
    padding-left: 15px;
     padding-top: 5px;
    justify-content: space-between;
    
  }

  .mariahoms {
      z-index: 9999;
    cursor: pointer;
    display: inline-block;
  }
  
  .mariahoms:hover, .mariahoms.active {
      z-index: 9999;
    color: #000; 
   font-size: 50px;
  }  


.about {
  cursor: pointer;
  z-index: 9999;
  display: inline-block;
}

.about:hover, .about.active {
  z-index: 9999;
  color: #000; 
  font-size: 50px;  
  

}





  .image-container {
    align-items: center !important;
    position: relative;
    width: 350px;
    height: 350px;
    transform-style: preserve-3d;
    animation: animado 10s linear infinite;
    transform-origin: center center;
    
  }
  
  .image-container span {
    position: absolute;
    margin-top: 200px;
    top: 50%;
    left: 50%;
    width: 100%;
    height: 100%;
    transform-origin: center center;
    transform-style: preserve-3d;
    transform: rotateY(calc(var(--i) * 40deg)) translateZ(600px) translate(-50%, -50%) ;
}
  
  .image-container span img {
    position: absolute;
    top: 0px;
    left: 0px;
    width: 100%;
    height: 100%;
    object-fit: contain;
}


.modal {
  display: none;
  position: absolute;
  z-index: 996;
  left: 0px;
  top: 0px;
  width: 100vw;
  height: 100vh;
  overflow: auto;
  background-color: rgb(255, 255, 255);
  justify-content: space-between;
  align-items: center; 
}

.modal-content {
  height: 100vh;
  width: auto;
  max-width: 50%; 
  margin-right: 10px;
  object-fit: cover;
}

#caption {
    width: 50%;
    color: #000;
    text-align: 50vw;
   font-family: 'Helvetica', sans-serif;
   font-size: 14px;
    padding: 10px;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: center;
}

.close {
  position: absolute;
  color: #ac0000;
  font-size: 14px;
  font-weight: normal;
  transition: 0.3s;
  font-family: 'Helvetica', sans-serif;
  font-weight: bold;
  right: 20px;
  z-index: 9999;
}

.close:hover {
  text-decoration: underline;
  cursor: pointer;
  z-index: 9999;
  
}


.popup {
  display: none; 
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  justify-content: center;
  align-items: center; 
  z-index: 997;
  background: rgba(255, 255, 255, 0.800)
}


.popup-content {
  color: #ac0000;
  z-index: 999;
  width: 100vw;
  height: 100vh;
  display: grid;
  grid-template-columns: repeat(5, 1fr); 
  column-gap: 100px; 
  justify-items: center; 
  align-items: center; 
  text-align: left;
  padding: 20px; 
  position: relative;
  font-family: 'Helvetica', sans-serif;
  font-weight: bold;
  text-transform: uppercase;
  font-size: 12px;
}

.projects-gallery {
  position: absolute;
  top: 100%;
  left: 100%;
  transform: translate(-50%, -50%);
  width: 210vw; /* 4 veces el ancho de la ventana */
  height: 210vh; /* 4 veces la altura de la ventana */
  display: grid;
  grid-template-columns: repeat(8, 1fr);
  grid-gap: 20px; 
  
}

.project {
 
  background: #fff;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
}

.project img {
  width: 100%;
  height: auto;
}

.video {
  height: 100vh; 
  align-content: center;
}
.video img{
  width: 70%;
  height: 70%;
  object-fit: contain; 
  transition: transform 0.3s ease-in-out;
}

.editorial-section {
  display: grid;
  grid-template-rows: repeat(auto-fill, 100vh); /* Cada fila es 100vh */
  grid-template-columns: 1fr; /* Una columna que ocupa todo el ancho */
}


.editorial-item {
  height: 100vh !important; 
  align-content: center;
}

.editorial-item img,
.editorial-item video {
  width: 70%;
  height: 70%;
  object-fit: contain; 
  transition: transform 0.3s ease-in-out;
}

.editorial-item-1{
  display: grid;
  grid-template-columns:2fr 1fr; /* Dos columnas iguales */
  justify-content: space-between;
  gap: 200px; /* Espacio entre las imágenes */
  height: 100vh !important; 
}
.editorial-item-1 img {
  width: 100%;
  height: 100vh;
  object-fit: contain !important; /* La imagen cubre su contenedor sin distorsionarse */
  transition: transform 0.3s ease-in-out;
}

.editorial-item-2{
  display: grid;
  grid-template-columns:1fr 1fr; /* Dos columnas iguales */
  justify-content: space-between;
  align-items: center;
  gap: 100px; /* Espacio entre las imágenes */
  height: 100vh; /* Cada item ocupa toda la altura de la ventana */
}
.editorial-item-2 img {
  width: 100%;
  height: 40vh;
  object-fit: contain; /* La imagen cubre su contenedor sin distorsionarse */
  transition: transform 0.3s ease-in-out;
}
.editorial-item-3{
  display: grid;
  grid-template-columns:1fr 1fr 1fr; /* Dos columnas iguales */
  justify-content: space-between;
  align-items: center;
  gap: 100px; /* Espacio entre las imágenes */
  height: 100vh; /* Cada item ocupa toda la altura de la ventana */
}
.editorial-item-3 img {
  width: 100%;
  height: 100vh;
  object-fit: contain; /* La imagen cubre su contenedor sin distorsionarse */
  transition: transform 0.3s ease-in-out;

}
.editorial-item-4{
  display: grid;
  grid-template-columns:1fr 1fr; /* Dos columnas iguales */
  justify-content: space-between;
  align-items: center;
  gap: 100px; /* Espacio entre las imágenes */
  height: 100vh; /* Cada item ocupa toda la altura de la ventana */
}
.editorial-item-4 img {
  width: 100%;
  height: 100vh;
  object-fit: cover; /* La imagen cubre su contenedor sin distorsionarse */
  transition: transform 0.3s ease-in-out;

}

.editorial-item-5 {
  height: 100vh; 
  align-content: center;
}

.editorial-item-5 img {
  width: 30%;
  height: 30%;
  object-fit: contain; 
  transition: transform 0.3s ease-in-out;

}
.editorial-item-6 {
  height: 100vh; 
  align-content: center;
  padding: 0;
}

.editorial-item-6 img {
  width: 100vw;
  height: 100vh;
  object-fit: cover; 
  transition: transform 0.3s ease-in-out;

}
.centered-text{
  width: 50%;
  margin: 0 auto; 
  text-align: justify; 
}

.image-carousel {
  overflow: hidden;
  width: 50vw;  /* Ajusta el ancho según tus necesidades */
  height: auto; /* Ajusta la altura según tus necesidades */
  z-index: 7;
  align-items: right;
}

.image-list {
  display: flex;
  flex-direction: column;
  align-items: right;
  cursor: pointer !important;
}

.image-list img {
  width: 100%;
  height: auto;
  align-items: right;
}

.home-mobile {
  margin: 0;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 100vh;
  background: white;
  overflow: hidden;
}

.mariahoms-home-mobile {
  display: flex;
  justify-content: space-between; /* Alinea los elementos a los extremos */
  align-items: center; /* Alinea verticalmente al centro */
  padding-left: 10px; 
   padding-right: 10px; 
}

.mariahoms-mobile {
  text-decoration: none;
  font-size: 12px;
  font-weight: bold;
  font-family: 'PP Monument Extended', sans-serif;
  text-align: left;
}

.title {
    margin-top: 20px; /* Añade espacio arriba del título */
}

.title a {
    text-decoration: none;
    font-size: 24px;
    font-weight: bold; /* Para resaltar el título */
}


.contact {
    margin-bottom: 20px; /* Añade espacio debajo del texto de contacto */
}

.contact a {
    text-decoration: none;
    font-size: 20px;
}


.image-list-mobile {
display: flex;
    flex-direction: column; /* Cambia a columna para scroll vertical */
    overflow-y: scroll;
    height: 100vh;
    margin: none;
  }

  .image-list-mobile img {
    width: 100%;
    
  }

  /* Quitar scrollbars en dispositivos móviles */
  .image-list-mobile::-webkit-scrollbar {
    display: none;
  }

  .image-list-mobile {
    -ms-overflow-style: none;  /* IE y Edge */
    scrollbar-width: none;  /* Firefox */
  }




.text-container {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100vh;
}


.descripcio {
font-family: 'Helvetica', sans-serif;
font-size: 13px;
  width: 60%; /* Ajusta el ancho total del contenedor de texto */
  column-count: 2; /* Dividir el texto en dos columnas */
  column-gap: 20px; /* Espacio entre las columnas */
  text-align: justify;
}


h2 {
    font-family: 'PP Monument Extended', sans-serif;
    text-align: justify;
    font-size: 16px;
    padding: 20px;
}


