:root{
    --principal: #0fa6e7;
}

.containerGeneral{            
    width: 100%;
    margin: 0 auto;
    height: 100px;
}
.listIcono {
    display: flex; /* Cambiado a Flexbox */
    justify-content: space-between; /* Ajusta el espacio entre los iconos */
    padding: 0; /* Elimina el padding predeterminado */
    margin: 0; /* Elimina el margin predeterminado */
    list-style: none; /* Elimina las viñetas */
}

.listIcono ul {
    display: flex; /* Hace que los elementos de la lista se muestren en línea */
}

.listIcono li {
    margin-right: 30px; /* Agrega un espacio entre los elementos si lo deseas */
}
.listIcono-contacto{
     display: flex; /* Cambiado a Flexbox */
}
.listIcono-redes{
     display: flex; /* Cambiado a Flexbox */
}
.imagenPrincipal{
    max-width: 400px;
}

.iconoContacto{
   border: 1px solid var(--principal);
    border-radius: 100px;
    width: 35px;
    height: 35px;
    text-align: center;
    padding: 4px;
    display: flex; /* Cambiado a Flexbox */
    align-items: center; /* Centra verticalmente el contenido */
    justify-content: center; /* Centra horizontalmente el contenido */
}

.iconoRedes:hover{
    background-color: var(--principal);
    color: white;
    width: 30px;
    height: 30px;
    text-align: center;
    border-radius: 100px;
    padding: 2px;
    transition: background-color 0.3s, color 0.3s; 
}
.iconoRedes{
    width: 30px;
    height: 30px;
    text-align: center;
    border-radius: 100px;
    padding: 2px;
    margin: 0 auto;
}

.menuDetalle {
    list-style-type: none; /* Elimina el estilo de viñetas */
    display: flex; /* Convierte la lista en un flex container */
    padding: 20px; /* Elimina el relleno predeterminado de la lista */
    justify-content: center; /* Centra los elementos horizontalmente */
}

.menuDetalle li {
    margin-right: 60px; /* Agrega un espacio entre los elementos si lo deseas */
}

.menuFondo{
    background-color: transparent;
    background-image: linear-gradient(180deg, #0FA6E7 0%, var( --principal ) 100%);

    box-shadow: 0px 0px 10px 0px rgba(0,0,0,0.5);
    transition: background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;
    padding: 0px 0px 0px 0px;
}

.menuDetalle a{
    text-decoration: none;
    color: white;
}
.menuDetalle a:hover{
    color: #b9b9bb;
    transition: color 0.3s, color 0.3s; 
}

.fondo-video {
    position: relative;
    width: 100%;
    height: 75vh; /* Ajusta el tamaño según tus necesidades */
    overflow: hidden;
}

.fondo-video video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover; /* Estira el video para que cubra todo el espacio disponible */
    object-position: center top; /* Centra el video horizontalmente y coloca la parte superior del video en la parte superior del contenedor */
}

.contenidoVideo {
    position: relative;
    z-index: 1; /* Asegura que el contenido esté en la parte superior del video */
}

.fondo-video-mision{
    position: relative;
    width: 100%;
    height: 50vh; /* Ajusta el tamaño según tus necesidades */
    overflow: hidden;
    padding-top: 110px;
}

.fondo-video-testimonio{
    position: relative;
    width: 100%;
    height: 52vh; /* Ajusta el tamaño según tus necesidades */
    overflow: hidden;
    padding-top: 30px;
}

.fondo-video-testimonio video {
    position: absolute;
    top: ;
    left: ;
    width: 100%;
    height: 100%;
    object-fit: cover; 
    object-position: center top; 
}

.fondo-video-mision video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover; 
    object-position: center top; 
}


.textoVideo {
    height: 100%;
    color: white;
    padding: 30px;
    margin-top: 100px;
}

.contenidoVideoTexto{
    font-size: 18px;
    font-weight: bold;
    width: 60%; 
    margin: 0 auto; 
    color: white
}

.carouselPrincipal{
    width: 650px;
}
.carouselSombra{                                    
    -webkit-box-shadow: 10px 10px 18px 0px rgba(0,0,0,0.75);
    -moz-box-shadow: 10px 10px 18px 0px rgba(0,0,0,0.75);
    box-shadow: 10px 10px 18px 0px rgba(0,0,0,0.75);

    display: inline-block; /* Hace que "sombra" tome las dimensiones de su contenido interno */                                       
    border-radius: 15px; /* Establece el radio de borde deseado */
    overflow: hidden; /* Asegura que no se muestre contenido fuera de "sombra" */
}
.carousel-caption{
    background-color: #00000045 !important;
    border-radius: 20px;
}

.tituloGris{
    font-size: 29px;
    color: #54595FFC;
    padding: 0;
    margin: 0;
    line-height: 1;
    text-align: center;
    font-weight: bold;
}

.cardContenedor{
    position: relative;
}
.cardInfo{
    position: absolute;
    bottom: -140px;
    left: 5%;
    border-radius: 15px;
    background-color: white;
    width: 90%;
    padding: 20px;
    text-align: center;
    transform: translateY(50%);
    height: 400px;
    box-shadow: 0 6px 12px rgba(0, 0, 0, 0.4);
}

.cardImagen {
    width: 100%;
    height: 270px;
    background-size: cover;
    border-radius: 20px;
    box-shadow: 0 6px 12px rgba(0, 0, 0, 0.4);
    transition: transform 0.3s; /* Aplica una transición suave a la propiedad de transformación */
}

.cardImagen:hover {
    transform: scale(1.1);
}

.menuEscritorio{
    display: block;
    
}
.menuMobile{
    display: none;
    
}

.hamburguesa-icon {
    position: fixed;
    top: 10px;
    left: 10px;
    z-index: 1000;
    cursor: pointer;
    font-size: 20px;
    color: white;
    border-radius: 100px;
    border: 1px solid white;
    width: 40px;
    height: 40px;
    text-align: center;
    background-color: var(--principal);
    box-shadow: 0 6px 12px rgba(0, 0, 0, 0.4);
    padding-top: 2px;
}

.colVideo{
    padding-top: 60px;
}

.separadorCard{
    margin-top: 400px;
}

.card{
    height: 410px;
}

.imagenTestimonial{
    width: 10% !important;
    margin: 0 auto;
}

.separadorCard{
    margin-top: 350px;
}

video {
    width: 100%; /* El video ocupa todo el ancho del contenedor */
    height: auto; /* La altura se ajusta automáticamente para mantener la relación de aspecto */
}

@media (max-width: 768px) {
    .card {
        height: 440px;
        margin-bottom: 20px;
    }

    .imagenTestimonial {
        width: 25% !important;
        margin: 0 auto;
    }

    .fondo-video-testimonio {
        height: 55vh;
    }
    .separadorCard{
        margin-top: 20px;
    }
    .cardContenedorFinal{
        margin-bottom: -40px;
    }
    .fondo-video-mision{
        height: 65vh;
    }
    .colVideo{
        padding-top: 10px;
    }
    .cardContenedor{
        margin-bottom: 330px;
    }

    .menuEscritorio{
        display: none;
    }

    .menuMobile{
        display: block;
       
    }

    .fondo-video {
        height: 110vh;
    }

    .carouselPrincipal {
        width: 350px;
    }

    .imagenPrincipal{
        margin-top: 40px;
    }

    .separadorCard {
        margin-top: 20px;
    }
}
.card-img-top {
    border: none;
    /* Si hay sombra, la puedes eliminar también */
    box-shadow: none;
}
.card {
    border: 1px solid rgba(255, 255, 255, 0.3); /* Borde semi-transparente */
    backdrop-filter: blur(10px); /* Desenfoque del fondo */
    -webkit-backdrop-filter: blur(10px); /* Prefijo para Safari */
    background-color: rgba(255, 255, 255, 0.1); /* Fondo semi-transparente */
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); /* Sombra para dar efecto de elevación */
    border-radius: 15px; /* Bordes redondeados */
    overflow: hidden; /* Asegura que el contenido no sobresalga de los bordes redondeados */
    transition: transform 0.3s ease-in-out; /* Suaviza el efecto de movimiento */
}

.card:hover {
    transform: scale(1.05); /* Agranda la tarjeta ligeramente al pasar el cursor */
}

.card img {
    transition: transform 0.3s ease-in-out; /* Suaviza el efecto de movimiento de la imagen */
}

.card:hover img {
    transform: scale(1.1); /* Agranda la imagen ligeramente al pasar el cursor */
}

.carousel-item {
    transition: transform 0.5s ease;
}

.boton3DResponsive {
        display: inline-block;
        padding: 10px 20px;
        font-size: 16px;
        font-weight: bold;
        color: #ffffff;
        background: linear-gradient(145deg, #007BFF, #0056b3); /* Degradado azul elegante */
        border-radius: 50px;
        box-shadow: 0 5px 15px rgba(0, 0, 0, 0.3);
        text-decoration: none;
        transition: all 0.3s ease;
        position: relative;
        overflow: hidden;
        text-align: center;
        white-space: nowrap;
        width: auto; /* Elimina el ancho fijo */
        max-width: 100%; /* Asegura que los botones no desborden */
    }

    .boton3DResponsive:before {
        content: '';
        position: absolute;
        top: 50%;
        left: 50%;
        width: 300%;
        height: 300%;
        background: rgba(255, 255, 255, 0.1);
        transition: all 0.3s ease;
        transform: translate(-50%, -50%) rotate(45deg);
    }

    .boton3DResponsive:hover:before {
        width: 0;
        height: 0;
    }

    .boton3DResponsive:hover {
        transform: translateY(-5px); /* Efecto de elevación */
        box-shadow: 0 8px 20px rgba(0, 0, 0, 0.5);
    }

    .boton3DResponsive:active {
        transform: translateY(2px); /* Simula el clic */
        box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
    }

    /* Ajuste para pantallas grandes */
    @media (min-width: 1024px) {
        .menuDetalle {
            justify-content: center;
            gap: 30px;
        }

        .boton3DResponsive {
            font-size: 18px;
        }
    }

    /* Ajustes para pantallas medianas */
    @media (max-width: 1024px) {
        .menuDetalle {
            flex-direction: row;
            align-items: center;
            flex-wrap: wrap;
        }
    }

    /* Ajustes para pantallas pequeñas */
    @media (max-width: 768px) {
        .boton3DResponsive {
            font-size: 14px;
        }
    }

    @media (max-width: 480px) {
        .boton3DResponsive {
            font-size: 12px;
            padding: 8px 15px;
        }

        .menuEscritorio {
            display: none; /* Ocultar menú de escritorio en pantallas pequeñas */
        }
    }

    @media (min-width: 481px) {
        .menuMobile {
            display: none; /* Ocultar menú móvil en pantallas más grandes */
        }
    }

    .menuHamburguesa {
        margin-top: 50px !important;
    }
    .menuHamburguesa a {
        text-decoration: none;
    }




