/* 
    Document   : ingresoPortal
    Created on : Sep 8, 2016, 4:56:17 PM
    Author     : ipesce
    Description:
        Estilos de Ingreso al POrtal
*/


/* Aplicar fuente Verdana a TODO el documento y controles de formulario */
body, button, input, select, textarea {
    margin: 0;
    padding: 0;
    font-family: Verdana, Geneva, sans-serif;
}

a {
    color: #00528f;
}


/* ------------    LOADER   ---------------------------

/* Contenedor que cubre toda la pantalla */
#loadingOverlay {
    display: none; /* Oculto por defecto */
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(255, 255, 255, 0.6); /* Blanco semitransparente */
    backdrop-filter: blur(4px); /* Efecto de difuminado/blur */
    z-index: 10000; /* Por encima de todo */
    text-align: center;
}

/* El spinner giratorio */
.spinner-container {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.spinner {
    border: 6px solid #f3f3f3;
    border-top: 6px solid #3498db; /* Azul corporativo */
    border-radius: 50%;
    width: 50px;
    height: 50px;
    animation: spin 1s linear infinite;
    margin: 0 auto 15px auto;
}

.loading-text {
    color: #333;
    font-weight: bold;
    font-family: Verdana, Geneva, sans-serif;
}

@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

/* ------------    FIN LOADER  --------------------------- */



/* ------------    Contenedor Olvidaste Contraseña   --------------------------- */


.contenedorOlvidasteContrasenia {
    display: block; 
    margin-top: 20px;    
}

.link-reset {
    font-family: Verdana, Geneva, sans-serif;
    font-size: 13px; /* Tamaño ideal para Verdana */
}

/* Estilo para el enlace de acción */
.link-reset a {
    color: #174568;
    text-decoration: none; /* Sin subrayado inicial para limpieza */
    font-weight: bold; /* Para que resalte la acción */
}

/* Efecto al pasar el mouse */
.link-reset a:hover {
    text-decoration: underline;
    color: #003d80;
}



/* ------------    FIN Contenedor Olvidaste Contraseña  ---------------------------*/

/*---------------  Contenedor esquina superior derecha con recomendacion de utilizar browser firefox* ---------------------------/

/*si es firefox no se muestra*/
@-moz-document url-prefix() { 
    .contenedorBrowserRecomendado {
        display: none
    }

}

.contenedorBrowserRecomendado {
    /*    position:absolute;
        top:0;
        right:0;*/
}

.contenedorBrowserRecomendado label{
    font-family: Verdana, Geneva, sans-serif;
    font-size: 16px;
    color: black;

}

.contenedorBrowserRecomendado img{
    vertical-align: middle;

}

/*---------------  FIN CONTENEDOR FIREFOX ---------------------------/


/* Sacar el color amarillo feo del autocompletar en Chrome */

input:-webkit-autofill { -webkit-box-shadow:0 0 0 500px white inset; 

}

/* Footer para Login y Reseteo */

/*.footerLogin{
     clear: both; 
    bottom: 0px;
    position: absolute;
     clear: both; 
     margin: 33px 14px 11px 13px; 
     clear: both; 
    padding-top: 15px;
     width: 100%; 
     margin-bottom: 15px; 
     margin-top: 45px; 
    height: 25px;
}*/

.footerLogin {
    /* clear: both; */
    bottom: 0px;
    position: static;
    /* clear: both; */
    /* margin: 33px 14px 11px 13px; */
    /* clear: both; */
    padding-top: 10px;
    /* width: 100%; */
    /* margin-bottom: 15px; */
    /* margin-top: 45px; */
    height: 25px;
    /* text-align: center; */
    /* display: inline-block; */
    /* vertical-align: middle; */
    /* -webkit-align-content: center; */
    /* align-content: center; */

    width: 100%;
    margin: 0px auto;
}

.footerLogin p {
    font-size: 0.60em;
    color: #1b3271;
    margin: 0 auto 0 auto;
    text-align: center;
    font-family: Verdana, Geneva, sans-serif;
}


.fondoLogin{
    background-color: rgba(128, 128, 128, 0.1) ;
}

.contenedorLogin {
    width: 34%;
    margin: auto;
    margin-top: 5%;
}




/* Bloque de mensajes de error javascript y serverside */

.mensajesError {
    display: none;
    list-style-type: disc;
    /*                margin: 0 10px 15px 10px;*/
    padding: 13px 35px 13px 30px;
    color: #B94A48;
    background-color: #F2DEDE;
    border: 2px solid #EED3D7;
    border-radius: 4px;
    text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
    width: 81%;
    margin-top: 15px;

}

.mensajesError span {
    font-weight: bold;
}

.mensajesError li{
    padding-bottom: 10px;
}

.mensajesError label{
    color: #B94A48;
}

input.error{  
    border-color: #B94A48 !important;
    border-style:solid;
    border-width:1px; 
    color: #B94A48 !important;
    background-position: 20px bottom !important;
} 

/* Bloque de mensajes de INFO javascript y serverside */

.mensajesInfo {
    display: block; /* O 'none' si lo controlas con JS */
    list-style-type: disc;
    padding: 13px 35px 13px 30px;

    /* Paleta de colores Azul/Celeste */
    color: #31708F;            /* Azul oscuro para el texto */
    background-color: #D9EDF7; /* Celeste suave para el fondo */
    border: 2px solid #BCE8F1; /* Azul intermedio para el borde */

    border-radius: 4px;
    text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
    width: 81%;
    margin-top: 15px;
}

.mensajesInfo span {
    font-weight: bold;
}

.mensajesInfo li {
    padding-bottom: 10px;
}

/* Para elementos dentro del mensaje */
.mensajesInfo label {
    color: #31708F;
}

/* Si quieres resaltar un input que sea informativo (opcional) */
input.info {  
    border-color: #31708F !important;
    border-style: solid;
    border-width: 1px; 
    color: #31708F !important;
    background-color: #f0f8ff; /* Un toque de azul muy ligero */
}

/* Titulo de ingreso con logo para Login */


/*.logoIngresar {
    /*background-image: url('/theme/img/general/logoCorto.png');*/
/*background-image: url(/theme/img/general/logo_40_chico_1.png);
background-position: 2% 10px;
background-repeat: no-repeat;
background-size: 70px;
height: 75px;
line-height: 91px;
margin: auto;
padding-bottom: 8px;
margin-right: 10px;
}*/

.logoIngresar {
    background-image: url('/theme/img/general/logoCorto.png');
    /*background-image: url(/theme/img/general/logo_40_chico_1.png);*/
    background-position: 2% 10px;
    background-repeat: no-repeat;
    background-size: 70px;
    height: 75px;
    line-height: 91px;
    margin: auto;
    padding-bottom: 8px;
    margin-right: 10px;
}

.logoIngresar h2 {
    padding-left: 24%;
    color: rgb(0, 82, 143);
    font-size: 28px;
    font-family: Verdana, Geneva, sans-serif;
}




/* Bloque de Login para ingreso de datos */

.bloqueLogin{
    padding: 30px;
    background: #fff;
    border-radius: 5px;
    border-top: 4px solid #FFB637;
    border-right: 1px solid rgba(34, 36, 38, 0.15);
    border-bottom: 1px solid rgba(34, 36, 38, 0.15);
    border-left: 1px solid rgba(34, 36, 38, 0.15);
    width: 85%;
}

.bloqueLogin h1 {
    text-align: center;
    color: #000;
    font-size: 18px;
    text-transform: uppercase;
    margin-top: 0;
    margin-bottom: 20px;
}

.bloqueLogin input:active {
    border: 1px solid #7BA9C9;
}

bloqueLogin input:hover{
    background-color:  #fff;

}

/* 1. Aplica la fuente al contenedor (se hereda a span, label, a) */
.bloqueLogin {
    font-family: Verdana, Geneva, sans-serif;
}

/* Aplica al contenedor general y a elementos específicos */
.bloqueLogin,
.bloqueLogin span,
.bloqueLogin label,
.bloqueLogin a,
.bloqueLogin input,
.bloqueLogin button,
.bloqueLogin select,
.bloqueLogin textarea {
    font-family: Verdana, Geneva, sans-serif !important;
}

.bloqueLogin input{
    width: 100%;
    height: 42px;
    box-sizing: border-box;
    border-radius: 5px;
    border: 1px solid #ccc;
    margin-bottom: 14px;
    font-size: 13px;
    padding: 0 20px 0 50px;
    outline: none;
    color: #1b3271;
}

.bloqueLogin input.usuario {
    background: #fff url('/theme/img/particular/login/usuarioLogin.png') 20px top no-repeat;
    background-size: 16px 80px;
}

.bloqueLogin input.usuario:focus {
    background-size: 16px 80px;
    border: 1px solid #7BA9C9;
}

.bloqueLogin input.password {
    background: #fff url('/theme/img/particular/login/lockLogin.png') 20px top no-repeat;
    background-size: 16px 80px;
    margin-bottom: 6px;
}

.bloqueLogin input.password:focus {
    background-size: 16px 80px;
    border: 1px solid #7BA9C9;
}


/*
.bloqueLogin input.email {
    background: #fff url('/theme/img/particular/resetearContrasenia/mail.svg') no-repeat;
    background-size: 20px 22px;
    background-position: 18px !important;
}

.bloqueLogin input.email:focus {
    background-size: 20px 22px;
    border: 1px solid #7BA9C9 ;
}

.bloqueLogin input.email.error{  
    border-color: #B94A48 !important;
    border-style:solid;
    border-width:1px; 
    color: #B94A48 !important;
    background: #fff url('/theme/img/particular/resetearContrasenia/mailError.svg') no-repeat;
    background-size: 20px 22px;
    background-position: 18px !important;

}*/



/*.bloqueLogin div.showPassword{
    width: auto;
    height: auto;
    position: relative;
    vertical-align: middle;
    bottom: -6px;
    display: inline-block;
    font-size: 12px;
}*/



.bloqueLogin span {
    float: right; 
    font-size: 14px; 
    color: rgba(0, 0, 0, 0.85);
}

.bloqueLogin a {
    font-size: 15px; 
    font-weight: bold; 
    color: rgb(34, 136, 187);
}

.bloqueLogin button , input[type="submit"] {
    width: 100%;
    height: 41px;
    background: #00528F;
    box-sizing: border-box;
    border-radius: 5px;
    border: 2px solid #00528F;
    color: #fff;
    font-weight: bold;
    text-transform: uppercase;
    font-size: 15px;
    outline: none;
    cursor: pointer;
    margin-top: 16px;
    font-family: Verdana, Geneva, sans-serif;
    padding: unset;
}


.bloqueLogin button:hover, input[type="submit"]:hover {
    background: #174568;
}


/* Titulo para Reseteo y Nueva Contraseña */

.tituloIngresar h2 {
    /* padding-left: 57px; */
    color: rgb(0, 82, 143);
    font-size: 28px;
    font-family: Verdana, Geneva, sans-serif;
}


/* Ajustes globales para intl-tel-input */



/*Media queries para contenedorLogin*/

@media screen and (min-width: 1300px) {

    .contenedorLogin {
        width: 32%;
        margin-top: 6%;
    }



    /*.logoIngresar {
        background-position: 2% 10px;
        background-size: 70px;
        padding-bottom: 26px;
        line-height: 110px;
        margin-right: 10px;
    }*/


    .logoIngresar {
        /* background-position: 8% 10px; */
        background-size: 55px;
        padding-bottom: 5%;
        line-height: 110px;
        /* margin-right: 10px; */
        /* margin-left: ; */
        /* padding-left: 10px; */
        margin-left: 5%;
        /* margin-right: 0%; */
        /* padding-left: ; */
    }


    .logoIngresar h2 {
        /*        padding-left: ;*/
        font-size: 32px;
        /*        margin-left: ;*/
        /*        margin-right: 12%;*/
        /*        padding-right: ;*/
        padding-left: 20%;
    }

    .bloqueLogin {
        padding: 40px;
        width: 85%;
    }


    .bloqueLogin input {
        height: 48px;
        margin-bottom: 16px;
        font-size: 15px;

    }

    .bloqueLogin input.usuario {
        background-size: 20px 90px;
    }

    .bloqueLogin input.usuario:focus {
        background-size: 20px 90px;
    }


    .bloqueLogin input.password {
        background-size: 20px 88px;
        margin-bottom: 6px;
    }

    .bloqueLogin input.password:focus {
        background-size: 20px 88px;
    }


    .bloqueLogin a {
        font-size: 16px;
    }

    .bloqueLogin span {
        font-size: 15px;
    }

    .bloqueLogin button, input[type="submit"] {
        height: 45px;
        font-size: 19px;
        margin-top: 28px;

    }

}

/* Se aplica solo si la pantalla mide entre 1200px y 1366px */
@media (min-width: 1200px) and (max-width: 1366px) {
    .logoIngresar {
        background-image: url('/theme/img/general/logoCorto.png');
        /* background-image: url(/theme/img/general/logo_40_chico_1.png); */
        background-position: 7% 7px;
        background-repeat: no-repeat;
        background-size: 50px;
        height: 75px;
        line-height: 91px;
        margin: auto;
        padding-bottom: 8px;
        margin-right: 10px;
    }
}


@media screen and (max-width: 1080px) and (min-width: 890px) {
    .contenedorLogin {
        width: 45%;
    }
}

@media screen and (max-width: 890px) and (min-width: 621px) {
    .contenedorLogin {
        width: 60%;
    }

}
@media screen and (max-width: 621px) and (min-width: 300px) {
    .contenedorLogin {
        width: calc(100% - 30px); /* Ocupa todo el ancho menos los márgenes */
        padding-left: 0;
        padding-right: 0;
        margin-right: 15px;
        margin-left: 15px;
        box-sizing: border-box; /* Asegura que el padding y borde se incluyan en el ancho total */
    }

    .logoIngresar h2 {
        padding-left: 27%;
        font-size: 22px;
    }

    .logoIngresar {
        background-size: 35px;
        background-position: 6% 17px;
        height: 50px;
        line-height: 85px;
        padding-bottom: 25px;
    }


    .bloqueLogin{
        margin-top: 5%;

    }

    .bloqueLogin input{

        font-size: 15px;
    }


    .bloqueLogin button {

        font-size: 18px;
    }

    




    /* ==========================================
        CAPTCHA
       ========================================== */

    /* Anula el 'left: 97px' inyectado por el JS de Google */
    @media screen and (max-width: 480px) {
        div[style*="z-index: 2000000000"] {
            left: auto !important; /* Resetea el 'left' a su valor por defecto */
        }
    }

    @media screen and (max-width: 480px) {
        div[style*="z-index: 2000000000"] {
            left: 0 !important;
            right: 0 !important;
            margin: 0 auto !important;
        }
    }

    /* ==========================================
     CONTENEDOR PRINCIPAL Y REGLAS COMUNES
     ========================================== */
    .bloqueLogin {
        position: relative;
        display: inline-block;
        /*        width: 100%;*/
    }

    /* Espaciado común para que los textos de ambos inputs se alineen perfectamente */
    .bloqueLogin input.telefono,
    .bloqueLogin input.email {
        padding-left: 48px !important; 
        height: 40px; /* Ajusta este alto según el diseño de tu sitio */
    }

    /* Estilo por defecto para los textos de ayuda debajo de los campos */
    .bloqueLogin .form-text {
        display: block;
        margin-top: 6px;
        font-size: 12px;
        color: #6c757d;
    }


    /* ==========================================
       1. ESTADOS EN REPOSO (NORMAL)
       ========================================== */


    .bloqueLogin input.email {
        background: #fff url('/theme/img/particular/resetearContrasenia/mail.svg') no-repeat;
        background-size: 20px 22px;
        background-position: 18px !important;
    }

    .bloqueLogin input.email:focus {
        background-size: 20px 22px;
        border: 1px solid #7BA9C9 ;
    }

    .bloqueLogin input.email.error{  
        border-color: #B94A48 !important;
        border-style:solid;
        border-width:1px; 
        color: #B94A48 !important;
        background: #fff url('/theme/img/particular/resetearContrasenia/mailError.svg') no-repeat;
        background-size: 20px 22px;
        background-position: 18px !important;

    }



    /* Input de Teléfono (Fondo limpio, el icono se posiciona encima) */
    .bloqueLogin input.telefono {
        background: #fff !important;
    }

    /* Posicionamiento y color del Glyphicon de Teléfono alineado con el email */
    .bloqueLogin .form-control-feedback {
        position: absolute;
        top: 0;
        left: 18px !important;
        right: auto !important;
        color: #6c757d; 
        line-height: 40px; /* Debe coincidir con el height del input para centrarse verticalmente */
        font-size: 16px;
        z-index: 2;
    }


    /* ==========================================
       2. ESTADOS EN FOCUS (CUANDO SE HACE CLIC)
       ========================================== */

    /* Focus del Email (Mantiene tu regla original) */
    .bloqueLogin input.email:focus {
        background-size: 20px 22px;
        border: 1px solid #7BA9C9 !important;
        outline: none;
    }

    /* Focus del Teléfono (Replica el mismo comportamiento visual) */
    .bloqueLogin input.telefono:focus {
        border: 1px solid #7BA9C9 !important;
        outline: none;
        background: #fff !important;
    }

    /* El ícono del teléfono cambia a azul sutilmente al hacer focus */
    .bloqueLogin input.telefono:focus + .form-control-feedback {
        color: #7BA9C9 !important;
    }


    /* ==========================================
       3. ESTADOS DE ERROR (VALIDACIÓN FALLIDA)
       ========================================== */

    /* Error en Email (Mantiene tu regla original con el SVG de error) */
    .bloqueLogin input.email.error {  
        border-color: #B94A48 !important;
        border-style: solid;
        border-width: 1px; 
        color: #B94A48 !important;
        background: #fff url('../../img/remove.png') no-repeat;
        background-size: 20px 22px;
        background-position: 18px !important;
    }

    /* Error en Teléfono (Borde rojo y texto rojo) */
    .bloqueLogin input.telefono.error {
        border-color: #B94A48 !important;
        border-style: solid;
        border-width: 1px;
        color: #B94A48 !important;
        background: #fff !important;
    }

    /* El Glyphicon del teléfono cambia a rojo cuando hay error */
    .bloqueLogin input.telefono.error + .form-control-feedback {
        color: #B94A48 !important;
    }

    /* Los textos aclaratorios de abajo también se tiñen de rojo si el input falla */
    .bloqueLogin input.email.error ~ .form-text,
    .bloqueLogin input.telefono.error ~ .form-text {
        color: #B94A48 !important;
    }

    /* Ajustes para intl-tel-input */
    .iti {
        width: 100%; /* Asegura que el plugin ocupe todo el ancho */
        margin-top: 15px;
    }

    .bloqueLogin input.telefono {
        height: 40px; /* Misma altura que el input de email */
        padding-left: 52px !important; /* Espacio para la bandera */
        width: 100%;
        box-sizing: border-box;
    }

    .bloqueLogin .iti--allow-dropdown .iti__flag-container,
    .bloqueLogin .iti--separate-dial-code .iti__flag-container {
        height: 40px; /* Alinea la altura del contenedor de la bandera */
    }

    /* Estilo para el texto de ayuda del campo de email */
    .bloqueLogin .email-help-text {
        display: block;
        margin-top: 8px;
        margin-bottom: 14px;
    }

    .mt-10 {
        margin-top: 10px

    }

    .mb-10 {
        margin-bottom: 10px

    }

    .iti {
        position: relative;
        display: inline-block;
        width: 100%;
    }


}

/* =================================================================== */
/* ESTILOS PARA MODAL RESPONSIVE (POPUP TWO FACTOR)                    */
/* =================================================================== */

/* 1. Contenedor oscuro que cubre toda la pantalla */
.modal-overlay {
    position: fixed; /* Se queda fijo en la pantalla */
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.6); /* Fondo negro semitransparente */
    z-index: 9999; /* Asegura que esté por encima de todo */

    /* La magia de Flexbox para centrar */
    display: flex;
    justify-content: center; /* Centra horizontalmente */
    align-items: center;     /* Centra verticalmente */

    /* Añadimos padding para que en móviles no se pegue a los bordes */
    padding: 20px;
    box-sizing: border-box;
}

/* 2. El contenido del modal (la caja blanca) */
.modal-content {
    background: #fff;
    padding: 25px;
    border-radius: 8px;
    box-shadow: 0 5px 15px rgba(0,0,0,0.3);
    width: 100%;
    max-width: 500px; /* Ancho máximo para que no sea gigante en desktop */
    text-align: center;
}

/* Opcional: Estilo para el botón dentro del modal */
.modal-content .btn-confirmar {
    width: 100%; /* Ocupa todo el ancho del modal */
    margin-top: 20px;
}
