
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@100;200;300;400;500;600;700;800;900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@100;300;400;500;700;900&display=swap');

html,body{
  background-color: #000;
}

/* 
 @font-face {
  font-family: 'MontserratSB';
  src: url("../fonts/Montserrat-Italic.woff");
  font-weight: normal;
  font-style: normal;
  font-display: swap;  
}

 @font-face {
  font-family: 'Montserrat-italicSB';
  src: url("../fonts/Montserrat.woff");
  font-weight: normal;
  font-style: normal;
  font-display: swap;  
}

 @font-face {
  font-family: 'Plumpfull.woffSB';
  src: url("../fonts/Plumpfull.woff.woff");
  font-weight: normal;
  font-style: normal;
  font-display: swap;  
}
*/

*.animaScale{
  transform: scale(0);
}

 
@keyframes scaleM {
  0%   { transform: scale(0); }
  900% { transform: scale(1); }  /* final */
  100% { transform: scale(1); }  /* final */
}

*{    
    margin:0px;
    padding: 0px;
    text-decoration: none;
    font-family:'Roboto', sans-serif;
    box-sizing: border-box;
}

a{
    color: inherit; /* hereda el color del padre */
    text-decoration: none; /* opcional: quita el subrayado */
}

 p{
    font-size: 18px;
 }

i, .OArpIcon{
  font-family: "OArpIcon";
  font-size: 37px;
  font-style: normal;
  font-weight: 200;
  line-height: 50px;
  color:#8E969F;
}

h1,h2{
  font-family: 'Poppins', sans-serif;
  font-style: italic;
}

h3,h4,h5{
    font-weight: 400;
 
}

body{


}

h4{
  font-weight: 300;
  font-size: 19px;
}

.body{
 position: relative;
  z-index: 0;
}

.img-bg{
  background-size: cover; /* Ajusta el tamaño */
    background-position: center; /* Centra la imagen */
    background-repeat: no-repeat; /* Evita que se repita */      
}

.img-bg-left{
     background-size: cover; /* Ajusta el tamaño */
    background-position: left; /* Centra la imagen */
    background-repeat: no-repeat; /* Evita que se repita */  
}

.img-bg-top{
     background-size: cover; /* Ajusta el tamaño */
    background-position: top; /* Centra la imagen */
    background-repeat: no-repeat; /* Evita que se repita */  
}

.img-bg-top-right{
     background-size: cover; /* Ajusta el tamaño */
    background-position: left top;
    background-repeat: no-repeat; /* Evita que se repita */  
}

.header-shadow{
    height: 50px;
}

.bg-content{
    position: absolute; 
    position: fixed;
    object-fit: cover; /* or object-fit: contain; */
    height: 100%;
    width: 100%;
-webkit-transition:0.3s;
 -moz-transition: 0.3s;
   -o-transition: 0.3s;
  -ms-transition: 0.3s;
      transition: 0.3s;  
      overflow: hidden;
}


h3{
    color: #FFF;
    font-weight: 500;
    font-size: 35px;
    font-family: 'Poppins', sans-serif;
    font-style: italic; 

}

.body{
    height: 100%;
}

.g-width{
  max-width: 1400px;
  margin: 0px auto;
}

.g-width-2{
  max-width: 1300px;
  margin: auto;
  width: 90%;
}

 @keyframes slideBg {
  0% {
    background-position: 0% 0%;
  }
  50% {
    background-position: 100% 0%;
  }
  100% {
    background-position: 0% 0%;
  }  
}


 @keyframes revealSlide {
  20% {
    clip-path: inset(0 100% 0 0); /* Todo oculto */
  }
  100% {
    clip-path: inset(0 0 0 0); /* Todo visible */
  }
}


@keyframes customBlinkFast {
  /* Normal inicio */
  0%, 38%, 50%, 88%, 100% {
    opacity: 1;
  }

  /* Primer bloque (0–5s → 2 parpadeos rápidos) */
  39% { opacity: 0.2; }
  40% { opacity: 1; }
  41% { opacity: 0.2; }
  42% { opacity: 1; }

  /* Segundo bloque (5–10s → 1 parpadeo rápido) */
  89% { opacity: 0.1; }
  90% { opacity: 1; }
}

.g-width-3{
  max-width: 1050px;
  margin: auto;
}
 
.no-list-style{
    /*padding: 0px;*/
    margin:0px;
    padding:0px;
   
}

.no-list-style li{
     list-style-type: none;
}

.gen-width{
  max-width:1200px;
}

.h2-blue{
    font-size: 45px;
    color: #2B485E;
    margin-bottom: 20px;
    font-weight: 200;
}

.h2-blue-black{
    font-size: 45px;
    color: #39688C;
    margin-bottom: 10px;
    font-weight: 200; 
}

.h2-white{
    font-size: 30px;
    color: #FFF;
    margin-bottom: 20px;
}

.p-gray{
    color:#686868;
    font-size: 20px;
}

.p-white{
    color:#CDCDCD;
    font-size: 20px;
}

.button{
  cursor: pointer;
    display: inline-block;
    color:#FFF;
    background-color: #59be58;    
    border-radius: 5px;
    font-weight: 600;
    padding: 15px 50px;
    font-size: 20px;
    border:1px solid transparent;
}

.b-green{
  background-color: #80af5a;    
}

.button-blue:hover{
    color:#4A8DD6;
    background-color: transparent;    
    cursor: pointer;
    border:1px solid #5580AE;
}

.button-blue-white i{
    line-height: 15px;
    padding-right: 5px;
    color:#4A8DD6;    
    font-size: 34px;
}

.button-blue-white:hover i{
    color:#FFF;
}


.button-blue-white{
    display: flex;
    justify-content: center;
    align-items: center;
    color:#245891;
    background-color: #FFF;    
    border-radius: 20px;
    padding: 5px 15px;
    font-size: 14px;
    border:1px solid #4A8DD6;
}


.button-blue-white:hover{
    color:#FFF;
    background-color: #4A8DD6;    
    cursor: pointer;
    border:1px solid #FFF;
}


.titleauth{

    position: absolute;
    bottom: 25%;
    width: 100%;
    margin: auto;

}

.titleauth h2{
    margin-bottom: 5px;
    font-size: 30px;
    text-align: center;
}

@media(min-width: 600px){

    .titleauth h2{
        font-size: 40px;
    }
}

.redes{
    display: flex;
    justify-content: center;
}

.redes img{
    padding:0px 15px;
    height: 25px;
    display: block;
}



.contentViewPicture{
  z-index: 99;
  position: fixed;
  height: 100vh;
  width: 100vw;
  background-color: rgba(255,255,255,0.9);
  display: flex;
  justify-content: center;
  align-items: center;
  opacity: 0;
  
}

.contentViewPicture .loadingGIF{
  height: 100px;
}

.body[disable]{  
  pointer-events: none;
  user-select: none;  
  /*overflow: hidden;*/
}

.contentViewPicture[disable]{
  display: none;

}

.contentViewPicture *[disable]{
  display: none;
}

.contentViewPicture .fullViewImage{
  padding: 20px;
  opacity: 0;
  position: absolute;
  z-index: 100;
  display: block;
}

.contentViewPicture .closeButton{
  position: absolute;
  z-index: 101;
  top: 25px;
  right: 18px;
  height: 50px;
  cursor: pointer;
}


.contentViewPicture .navButton{
  position: absolute;
  z-index: 101;  
  top:calc(50% - 50px);  
  height: 55px;
  cursor: pointer;
}

.contentViewPicture .navButton.next{
  right: 13px;
}

.contentViewPicture .navButton.back{
  left: 13px;
  transform: rotate(180deg);
}

.wp-button{
    height: 90px;
    width: 90px;
    position: fixed;
    bottom: 10px;
    right: 10px;
}

.float-wa {
  position: fixed;
  width: 80px;
  height: 80px;
  bottom: 20px;
  right: 15px;
  background-color: #25d366;
  color: white;
  border-radius: 50%;
  text-align: center;
  font-size: 50px;
  z-index: 100;
  box-shadow: 0 4px 8px rgba(0,0,0,0.8);
}



/* Onda expansiva tipo sonar */
.float-wa::before,
.float-wa::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 110%;
  height: 110%;
  background-color: rgba(37, 211, 102, 0.8); /* Verde WhatsApp semi */
  border-radius: 50%;
  transform: translate(-50%, -50%) scale(1);
  opacity: 0;
  z-index: -1;
  animation: sonar-ping 4s infinite ease-out;
}

.float-wa::after {
  animation-delay: 1.25s; /* desfase para doble onda */
}

@keyframes sonar-ping {
  0% {
    transform: translate(-50%, -50%) scale(0.8);
    opacity: 0.6;
  }
  100% {
    transform: translate(-50%, -50%) scale(1.6);
    opacity: 0;
  }
}

.float-wa i{
  color:#FFF !important;
}

.float-wa .fa-whatsapp{
  margin-top:16px;
}

@media(max-width: 500px){

  .contentViewPicture .navButton.next{
    right: 5px;
  }

  .contentViewPicture .navButton{
    height: 45px;
  }

  .contentViewPicture .closeButton{
    right: 10px;
  }


  .contentViewPicture .navButton.back{
    left: 5px;    
  }

}

@media(max-width: 500px){

  .float-wa {
    width: 70px;
    height:70px;
  }  

  .float-wa .fa-whatsapp{
    margin-top:12px;
    font-size: 45px;
  }  
}

#stay-form{
  margin-top: -30px;
}

#stay-form > div{
  padding: 0px 20px 0px 20px;
}


#stay-form .form-mail{
  text-align: center;
  max-width: 600px;
  margin: auto;
  margin-bottom: 40px;
}

#stay-form .form-mail > *{
  margin-bottom: 20px;
}

#stay-form .form-mail h4{
  font-size: 30px;
  font-weight: 600;
  color: #2c435e;
  margin-bottom: 10px;
}

#stay-form .form-mail input{
  display: block;
  margin-right: auto;
  margin-left: auto;
  border: none;
  padding: 10px 20px 10px 30px;
  width: 100%;
  font-size: 20px;
  border-radius: 20px;
}

#stay-form .form-mail input::placeholder {
  color: #dadada;
  font-weight: 600;
}

.confirm-privacy-button{
  background-color: rgba(255,255,255,0.8);
  display: none;
  color: #000;
  position: fixed;
  bottom: 0;
  width: 100%;
  padding: 10px 0px 25px 0px;
}

.confirm-privacy-button a {
  color: #0072D9;
  text-decoration: underline;
}

.confirm-privacy-button > div{
  max-width: 600px;
  text-align: center;
  width: 100%;
  margin: auto;
}

.confirm-privacy-button .b-green{
  padding: 5px 40px 5px 40px;
}

.confirm-privacy-button p{
  padding: 10px 30px 20px 30px;
}


.galleryMosaic{
  position: relative;  
  width: 100%;

}

.galleryMosaic > div{

  display: flex;
  flex-wrap: wrap;
  margin: 0px auto;
  max-width: 950px;

} 

.galleryMosaic a{
    background-size: cover; /* Ajusta el tamaño */
    background-position: center; /* Centra la imagen */
    background-repeat: no-repeat; /* Evita que se repita */
 transition: all 0.3s ease;
  width: calc(33% - 20px);
  height: 250px;
  margin: 10px;
}

.galleryMosaic .bgBlack{
  position: relative;
  background-color: rgba(0, 0, 0, 0.6);
  height: 100%;
  width: 100%;
  color: #FFF;
  display: table;
  opacity: 0;
  transition: all 0.3s ease;
  backdrop-filter: blur(5px);
  -webkit-backdrop-filter: blur(5px);
  text-align: center; /* Centrado horizontal */
}

.galleryMosaic .bgBlack p{
  display: table-cell;
  font-family: 'Poppins', sans-serif;
  font-style: italic;  
  vertical-align: middle; /* Centrado vertical */
  padding: 10px;
}

.galleryMosaic .bgBlack span{
  color: #FFF;
  font-weight: 700;
}

.galleryMosaic .bgBlack span[disable]{
  display: none;
}


.galleryMosaic a:hover .bgBlack{

  opacity: 1;
   
}
.galleryMosaic a:hover{
  transform: scale(1.1); 
}

@media(max-width: 700px){

  .galleryMosaic a{
    width: calc(50% - 20px);
  }
}






 .brands{
  margin: 0px 0px 0px 0px; 
  background-color: #000;
  padding: 30px 0px 25px 0px;
  overflow: hidden;
  width: 100%;

}

 .brands h3{
  color: #59be58; 
  position: relative;
  font-size: 50px;
  font-weight: 700;
  /*background-color: #7B8C8C;*/  
  margin: auto;
  width: max-content;
  padding: 0px 20px 40px 20px;

}

 .brands img{
  height: 55px;
  padding: 0px 40px;
  display: inline-block;
}

 .brands > div{
  max-width: 1400px;
    /*border: 1px #2C4451 solid;*/
    overflow: hidden;
    margin: auto;
}

 .brands .carrete{
  padding: 0px 0px 0px 0px;
  display: flex;
  flex-wrap: nowrap;
  width: max-content;
  /*animation: scroll-left 30s linear infinite;*/
  will-change: transform;
}

@media(max-width: 500px ){
   .brands img{
      height: 40px;
      padding: 0px 20px;
   }
}

@media(max-width: 580px){
  .brands h3{
    font-size: 9vw;
  }
}

