/* Estilo para el cuerpo de la página */
@font-face {
    font-family: 'bebasneue';
    src: url('/fonts/bebasneue.woff') format('woff');
    
  }

@font-face {
    font-family: 'montserrat';
    src: url('/fonts/montserrat.woff') format('woff');
    
  }

  @font-face {
    font-family: 'myriadpror';
    src: url('/fonts/myriadpro-regular.woff') format('woff');
    
  }

  @font-face {
    font-family: 'myriadpro';
    src: url('/fonts/myriadpro-bold.woff') format('woff');

    
    
  }

  @font-face {
    font-family: 'myriadpro';
    src: url('/fonts/myriadpro-semibold.woff') format('woff');
    
  }

  @font-face {
    font-family: 'montserrat';
    src: url('/fonts/montserrat.woff') format('woff');
    
  } 

  html,body {
    overscroll-behavior:none;
  }
  
  #imgContainer {
      display: none; /* Oculta la imagen inicialmente */
    }

body {
    overflow-x: hidden;
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    
}


header{
    width: 100vw;
    backdrop-filter: blur(5px);
    background-color: rgba(57, 135, 140, 0.7);
    display: flex;
    align-items: center;
    justify-content: space-between;
    position:fixed;
    top:0;
    left: 0;
    right: 0;
    z-index: 3;
}

/* Estilo para la barra de navegación */
.navbar {
    color: #fff;
    padding: 10px;
    padding-right: 3%;
}

#consultora{
  color:#1D2E50;
  font-weight: 900;
}


.logo {
    width: 400px;
    height: auto;
    margin-left: 5%;
    
  }
.flag{
    width: 24px;
}

.openmenu,
.closemenu{
    display: none;
}

.menu {
    padding-bottom: 4%;
    list-style: none;
    display: flex;
    margin: 0;
    gap:2rem;
    padding-top: 5%;
    font-family: 'myriadpror';
    font-style:normal;
    font-weight:regular;
    font-size: 20px;
    line-height: 27px;
    color: #FFFFFF;


}




.menu li a {
    text-decoration: none;
    color: #fff;
    transition: color 0.7s, text-decoration 0.7s; 
    font-weight: 500;
    position: relative; 
}

.menu a:hover {
    color: #1D2E50; 
    font-weight: bold;
    text-decoration: none; 
}


.menu a:hover::before {
    content: "";
    position: absolute;
    left: 50%;
    bottom: -4px;
    width: 70%;
    border-bottom: 2px solid #1D2E50; 
    transform: translateX(-50%); 
}


/* Estilo para la imagen de fondo */
.background-image {
    background-image: url('/fondos/fondoinicio.png');
    background-size: cover;
    border-radius: 0 20px;
    height: 450px;
}

/* Estilo para el título */
.title {
    border-radius: 15px 0 0 0 ;
    background-color: #ffffff;
    text-align: left;
    height: 70px;
    padding-left: 5%;
}


/* Estilo para el contenedor de la imagen de fondo */


/* Estilo para el título */
.title {
    position: relative; /* Necesario para establecer el contexto apilado */
    
    
}

.titulo {
    opacity: 0;
    transition: opacity 2s ease-in-out;
    }
    
    
    .titulo.mostrar {
        opacity:1;
        }
    

.title h1 {
    margin: 0;
    padding: 20px;
    background-color: rgba(255, 255, 255);
    font-family: 'montserrat';
    font-weight: 900;
    font-size: 32px;
    line-height: 39px;
    color: #000000;
    z-index: 2;
}


.icono,
.icono2 {
    
    background-color: #399DD7; /* Color de fondo del icono */
    position: relative;
    overflow: hidden;
    display: flex;
    border-radius: 50%;
    align-items: center;
    justify-content: center;
    margin-left: 42%;
  }

  .icono2{
   margin-left: 45%;
    background-color: #1A90D4;
  }

  .logos1 {
    padding-top: 50px;
    padding-right: 20px;
    padding-left: 5%;
    width: 45x;
    height: 45px;
    opacity: 0;
    transition: opacity 2s ease-in-out; /* Agregado para una transición suave en el hover */
  }

  .logos2 {
    padding-top: 45px;
    padding-right: 10px;
    width: 55px;
    height: 55px;
    opacity: 0;
    transition: opacity 2s ease-in-out; /* Agregado para una transición suave en el hover */
  }

 

  



.parrafo{
    text-align: justify;
    font-family: 'montserrat';
    font-style: normal;
    font-weight: 400;
    font-size: 21px;
    line-height: 24px;
    letter-spacing: 0.01em;
    color: #FFFFFF;
    padding-top: 20px;
    padding-right: 5%;
    opacity: 0;
    transition: opacity 2s ease-in-out;
}

.parrafo2{
    text-align: justify;
    font-family: 'montserrat';
    font-style: normal;
    font-weight: 400;
    font-size: 21px;
    line-height: 24px;
    letter-spacing: 0.01em;
    color: #FFFFFF;
    padding-top: 20px;
    padding-right: 5%;
    opacity: 0;
    transition: opacity 2s ease-in-out;
}


/* Estilo para las tarjetas */
.cards {
background-color: #1A90D4;
    display: flex;
    margin: 0;
    width: 100%;


}
.card1, .card2 {
opacity: 0;
transition: opacity 2s ease-in-out;
}


.card1.mostrar, .card2.mostrar {
    opacity:1;
    }

.card1,
.card2 {
    
    height: 100%;
    padding: 40px 5px 5px 0px  ;
    
    text-align: center;
    width: 50%; /* Cada tarjeta ocupa el 50% del ancho */
    box-sizing: border-box; /* Evita que el padding afecte el ancho total */

}
.card1{
    padding-top: 90px;
    display: flex;
    width: 60%;
    background-image: url(/fondos/fondocard.svg);
    background-size:cover;
    height: 350px;
    border-radius: 0 0 25px 0;
}
.card2{
    padding-top: 90px;
    display: flex;
    background-color: #1A90D4;
    height: 260px;
    border-radius: 25px 0 0 0;
    background-color: none;
}


.card img {
    width: 90px;
    height: auto;
}






/* Estilo para el pie de página */
/* Estilo para el pie de página */
footer {
    width: 100vw;
    background-color: #ffffff;
    color: #fff;
    display: flex;
    justify-content: space-between;
    padding: 5px;
    align-items: center;
}


.footer-left{
    width: 700px;
    padding-left: 2%;
    display: flex;
    align-items: start;
}
.footer-left img,
.footer-right img {
    width: 80px;
    height: 80px;
}

.textos{
    row-gap: 0px;
    padding-top: 10px;
}

.footertext {
    padding-top: 1px;
    margin: 0;
    font-family: 'montserrat';
    font-style: normal;
    font-weight: 900;
    font-size: 13px;
    line-height: 20px;
    letter-spacing: 0.01em;
    color: #0B477E;
}

.footertext1 {
    padding-top: 1px;
    margin: 0;
    font-family: 'montserrat';
    font-style: normal;
    font-weight: 900;
    font-size: 13px;
    line-height: 20px;
    letter-spacing: 0.01em;
    color: #0B477E;
}





.logofoot{
    padding-left: 0%;
    width: 100%;
    
}

.loading {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background:rgba(0, 0, 0, 0.1);
    color: rgba(0, 0, 0);
    justify-content: center;
    align-items: center;
    font-size: 2rem;
    display: none;
    z-index: 9995;
  }

  .overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #FFFFFF; /* Fondo negro con opacidad 0.7 */
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 9995; /* Asegúrate de que esté por encima del contenido */
  }
  
  .loader {
    position: relative; /* Cambia a posición relativa para que los elementos secundarios estén en relación con este contenedor */
  }

.jimu-primary-loading:before,
.jimu-primary-loading:after {
position: absolute;
top: 0;
content: '';
}

.jimu-primary-loading:before {
left: -19.992px;
}

.jimu-primary-loading:after {
left: 19.992px;
-webkit-animation-delay: 0.32s !important;
animation-delay: 0.32s !important;
}

.jimu-primary-loading:before,
.jimu-primary-loading:after,
.jimu-primary-loading {
background: #076fe5;
-webkit-animation: loading-keys-app-loading 0.8s infinite ease-in-out;
animation: loading-keys-app-loading 0.8s infinite ease-in-out;
width: 13.6px;
height: 32px;
}

.jimu-primary-loading {
text-indent: -9999em;
margin: auto;
position: absolute;
right: calc(50% - 6.8px);
top: calc(50% - 16px);
-webkit-animation-delay: 0.16s !important;
animation-delay: 0.16s !important;
}

@-webkit-keyframes loading-keys-app-loading {

0%,
80%,
100% {
  opacity: .75;
  box-shadow: 0 0 #076fe5;
  height: 32px;
}

40% {
  opacity: 1;
  box-shadow: 0 -8px #076fe5;
  height: 40px;
}
}

@keyframes loading-keys-app-loading {

0%,
80%,
100% {
  opacity: .75;
  box-shadow: 0 0 #076fe5;
  height: 32px;
}

40% {
  opacity: 1;
  box-shadow: 0 -8px #076fe5;
  height: 40px;
}
}

  .loading--show {
    display: flex;
  }


@media screen and (max-width: 1100px) {
    header{
        height:65px;
      }

    .titulo{
        display: none;
    }
    .card2{
    
        clip-path:polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%);
        z-index: 1;
        padding-left: 0;
        }

     .parrafo2{
        padding: 0 10px;
     }

    

        
    .background-image {
        height: 280px;
       }

    .openmenu,
    .closemenu{
        display: block;
        background: transparent;
        border:none;
        z-index: 0;
        font-size: 1.5rem;
        color: #FFFFFF;
        

    }

    .openmenu{
        font-size:2rem;
    }
    
    .openmenu:hover,
    .closemenu:hover{
        color:#000000;
        transition: color 1s ease;
        cursor: pointer;
    }

 

    .navbar{
        opacity: 0;
        visibility: hidden;
        display: flex;
        flex-direction: column;
        align-items: end;
        position: absolute;
        top:0;
        right: 0;
        background-color: rgba(57, 135, 140, 0.9);
        box-shadow: 0 0 0 100vmax rgba (0,0,0, .5);
    }

    .navbar.visible{
        opacity: 1;
        visibility:visible;
    }
    
    .menu{
        flex-direction: column;
        align-items: left;
        padding-top: 5%;
        padding-right: 5%;
    }
    .flag{
        margin-left: 15px;
    }
    
    .menu li a{
        font-size: 16px;
    }

    .logo{
        width: 260px;
        height: 80px;
    }

    .title h1{
        font-size:25px;
        padding-left: 0;
        
    }
    

    .title-image{
        height: 50px;
        max-width: 300px;
    }

    .cards{
        flex-direction:column;
    }

    .card1, .card2 {
        background-color: #399DD7;
        padding: 5%;
        height: auto;
        text-align: center;
        width: 100%; /* Cada tarjeta ocupa el 50% del ancho */
        box-sizing: border-box; /* Evita que el padding afecte el ancho total */
    }

  

    .card2{
        background-color:#1A90D4 ;
    }

    .parrafo,
     .parrafo2{
        font-size: 16px;
    }

  
    .logos1{ 
        padding-top: 7%;
        width: 50px;
        height: 50px;
    }

    .logos2{ 
        padding-top: 4%;
        width: 55px;
        height: 55px;
    }
    .icono,
    .icono2{
    margin-left: 40%;
    }
    .footertext{
        font-size:11px;
      }
      .footertext1{
        font-size: 9px;
      }
  
}

@media screen and (max-width: 500px){

    
   .title-image{
    border-radius: 0 20px 0 0;
    max-width: 200px;
   }
  


    .title h1{
       font-size: 18px;
       
     font-weight: bold;
        padding-left: 0;
        
    }

    .footertext{
        font-size: 12px;
    }

    .footer-left img{
        width: 50px;    
      }

    .footer-right{
       display: none;
        }
    
    footer{
        
        display: flex;
        flex-direction: column;
        align-items: start;
    }

    .icono,
    .icono2{
        margin-left: 28vw;
    }
    .logos1{ 
        padding-top: 30%;
        width: 50px;
        height: 50px;
    }

    .logos2{ 
        padding-top: 20%;
        width: 55px;
        height: 55px;
    }
 
.footer-left{
        width: 300px;
        display: flex;
        align-items: start;
    }
         
    .logofoot{
        padding-right: 5%;
    }
    ul.menu{
        padding-left: 30px;
        padding-right: 30px;
    
      }
.background-image {
    background-image: url('/fondos/fondoiniciomovil.png');
    background-size: cover;
    border-radius: 0 20px;
    height: 670px;
}
    
}

canvas {
   width: 100vw;
    height: 100vh;
    position: fixed; /* O puedes usar 'absolute' si 'fixed' no es adecuado para tu caso */
    top: 0;
    left: 0;
    z-index: 9999; /* Un valor alto para asegurar que esté por encima de otros elementos */
    display: block;

    
}