﻿.trianguloArribaVerde {
    width: 0;
    height: 0;
    border-top: 70px solid #7fcf9b;
    border-right: 70px solid transparent;
    float:left;
}

.transparente {
    opacity: 0.35;
    filter: alpha(opacity=35);
    user-drag: none;
    user-select: none;
    -moz-user-select: none;
    -webkit-user-drag: none;
    -webkit-user-select: none;
    -ms-user-select: none;
}
/*jqgrid tiene un bug cuando son multiples grup headers esto blockquote soluciona*/
.jqg-second-row-header:nth-of-type(n+3) > th {
    -webkit-box-shadow: inset 0px 1px 0px 0px rgba(228,224,228,1);
    -moz-box-shadow: inset 0px 1px 0px 0px rgba(228,224,228,1);
    box-shadow: inset 0px 1px 0px 0px rgba(228,224,228,1);
}
.container .breadcrumb {
    margin-left: 60px;
}

#div-ini-breadcrumb {
    width: 70px;
    height: 36px;
    background-color: #f5f5f5;
    -webkit-transform: skewX(-43deg);
    -moz-transform: skewX(-43deg);
    -o-transform: skewX(-43deg);
    position: absolute;
    z-index: -1;
    margin-left: 45px;
}

.jumbotron {
    padding-bottom: 1px;
}

.verdegmx {
    /*color: #009632;*/
    color: #00A14B;
}

.azulgmx {
    /*color: #001740;*/
    color: #101F43;
}

.fondoazulgmx {
    background-color: #101F43;
}

.parpadea {
    animation: parpadea 2s steps(5, start) infinite;
    -webkit-animation: parpadea 1.5s steps(5, start) infinite;
}

@keyframes parpadea {
    0% {
        opacity: 0;
    }
    1% {
        opacity: 100;
    }
    50% {
        opacity: 100;
    }
    51% {
        opacity: 0;
    }
    100% {
        opacity: 0;
    }
}

@-webkit-keyframes parpadea {
    0% {
        opacity: 0;
    }

    1% {
        opacity: 100;
    }

    50% {
        opacity: 100;
    }

    51% {
        opacity: 0;
    }

    100% {
        opacity: 0;
    }
}

input[mayusminus=mayus], textarea[mayusminus=mayus] {
    text-transform: uppercase;
}

input[mayusminus=minus], textarea[mayusminus=minus]  {
    text-transform: lowercase;
}

.fade-lg{
    overflow:auto;
}
.Redondeado {
    border-radius: 0.25rem !important;
}
.Contenedor-izquierda {
    float: right !important;
    text-align: center;
}
.img-Logo, .img-Logo-md, .img-Logo-lg {
    padding: 0.25rem;
    background-color: #fff;
    border: 1px solid #dee2e6;
    border-radius: 0.25rem;
    max-width: 100%;
    height: auto;
}

.modal-body-lg {
    -webkit-overflow-scrolling: touch;
    background-color: #fff;
    flex-grow: 1;
    flex-shrink: 1;
    overflow: auto;
    padding: 20px;
}

.img-Logo {
    max-height: 20vh;
}
.img-Logo-lg {
    max-height: 50vh;
}
.img-Logo-md {
    max-height: 33vh;
}
/*SOLO EXTRA PEQUEÑO Tamaño Extra Pequeño en Bostrap xs*/
@media (max-width: 575px) {}

/* Tamaño Pequeño en Bostrap sm*/
@media (min-width: 576px) {
    
}

/* Tamaño Mediano en Bostrap md*/
@media (max-width: 768px) {
    .blockUI.blockMsg.blockPage {
        width: 90% !important;
        left: 5% !important;
    }
}

/* Tamaño Mediano en Bostrap md*/
@media (min-width: 768px) {
    .Contenedor-izquierda {
        text-align: right;
    }
    .img-Logo {
        max-height: 15vh;
    }
}
/* Tamaño Grande en Bostrap sm*/
@media (min-width: 992px) {
   
}
/* Tamaño Extra Grande en Bostrap sm*/
@media (min-width: 1200px) {
    
}

.Resaltar-Elemento {
    animation-name: anima-Resaltar-Elemento;
    animation-duration: 1.5s;
    animation-iteration-count: infinite;
}

.Resaltar-Fila {
    background-color: white;
    animation-name: anima-Resaltar-Fila !important;
    animation-duration: 1.5s !important;
    animation-iteration-count: infinite !important;
}

@keyframes anima-Tour-Element {
    0% {
        box-shadow: 0 0 0 0.2rem #F69B3A;
    }
    50% {
        box-shadow: 0 0 0 0.4rem #F69B3A;
    }
    100% {
        box-shadow: 0 0 0 0.2rem #F69B3A;
    }
}

@keyframes anima-Resaltar-Elemento {
    0% {
        box-shadow: 0 0 0 0.2rem #007BFF;
    }
    50% {
        box-shadow: 0 0 0 0.4rem #007BFF;
    }
    100% {
        box-shadow: 0 0 0 0.2rem #007BFF;
    }
}

@keyframes anima-Resaltar-Fila {
    0% {
        background-color: #e0e0e0;
    }
    50% {
        background-color: #7abaff;
    }
    100% {
        background-color: #e0e0e0;
    }
}

@keyframes anima-Background {
    0% {
        background-color: white;
    }
    50% {
        background-color: #F69B3A;
    }
    100% {
        background-color: white;
    }
}

.etiqueta-link {
    cursor: pointer;
    cursor: hand;
    color: #337ab7;
    text-decoration: none;
}
.etiqueta-link:hover {
    text-decoration: underline;
}

.btn-Grid {
    display: inline-block;
    cursor: pointer;
}

.btn-Grid span {
    margin: 0 2px 0 2px;
}
.btn-Grid:hover {
    background-color: #ddd;
}

@media (max-width: 768px) {
    .btn-Grid [data-texto] {
        display: none;
    }
}

.ui-jqgrid-bdiv:not([data-contenedor="interior"] div) {
    transition: height 700ms linear;
}

.menu-principal .glyphicon, .menu-principal .fa {
    height:16px;
    width:14px;
    position: relative;
    left: -10px;
}

.Index tr:nth-child(odd):not(.FilaPar) { /*Par*/
    background: white;
}

.Index tr:nth-child(even):not(.FilaImpar) { /*Impar*/
    background: #e0e0e0;
}

.desactivado-superficial {
    pointer-events: none;
    opacity:0.4;
}

.desactivado-superficial::after {
    content: "\f110";
    text-align: center;
    font: normal normal normal 14px/1 FontAwesome;
    display: inline-block;
    webkit-animation: fa-spin 1s infinite steps(8);
    animation: fa-spin 1s infinite steps(8);
    font-size: 2.5em;
    position: absolute;
    z-index: 2;
    left: 40%;
    color: black;
}

/*ESTILO USADO EN LAS PANTALLAS DE REGISTRO Y LOGIN*/
.login-Contenedor {
    height: 80vh;
    min-height: 80vh;
    display: flex;
}

.login-derecha {
    flex: 1.5;
    background-size: cover;
    background-position: center;
    height: 94.5vh;
    overflow: hidden;
}

    .login-derecha img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        display: block;
    }

.login-izquierdo {
    flex: 1;
    background: #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
}

.login-form-Contenedor {
    width: 400px;
    max-width: 90%;
    text-align: left;
}

.login-logo {
    max-width: 35vh;
    margin-bottom: 10px;
}

.login-title {
    margin: 0 0 30px 0;
    font-size: 22px;
    font-weight: 600;
    color: #4a4a4a;
}

@media (max-width: 900px) {
    .login-Contenedor {
        height: auto;
        min-height: auto;
        display: block;
    }

    .login-derecha {
        display: none;
    }

    .login-izquierdo {
        padding: 20px 0 40px;
        margin: 30px;
    }

    .login-form-Contenedor {
        max-width: 90%;
    }
}

.main-login {
    background-color: #fff;
    /*shadows and rounded borders*/
    -moz-border-radius: 2px;
    -webkit-border-radius: 2px;
    border-radius: 2px;
    -moz-box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.3);
    -webkit-box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.3);
    box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.3);
}

.main-center {
    margin-top: 30px;
    margin: 0 auto;
    max-width: 400px;
    padding: 10px 40px;
}

.input-contrasena {
    -webkit-text-security: disc;
}

.tituloModulo {
    margin-top: -10px;
    margin-bottom: 10px;
}

/*MODAL*/
.tituloModal {
    text-align: center;
    font-size: 20px;
    color: #101F43;
    margin-bottom: -10px;
    font-weight: bold;
}

.tituloModal-golmex-tema-claro {
    text-align: center;
    font-size: 20px;
    color: white;
    margin-bottom: -10px;
    font-weight: bold;
}

.modal-heading-golmex-tema-claro {
    background-color: #101F43;
    border-bottom: none;
}

.panel-golmex-tema-claro-Modal {}

    .panel-golmex-tema-claro-Modal > .panel-heading {
        color: white;
        font-size: 18px;
        text-align: left;
        font-weight: bold;
        padding: 0px !important;
        border-color: white;
        background-color: #101F43;
        border-top-left-radius: 0px;
        border-top-right-radius: 0px;
    }

/*PANELES*/
/*Estilo de panel para golmex en presentacion clara - Clasico By: Brandon*/
.panel-golmex-tema-claro {
    border: 1px solid;
    border-radius: 12px !important;
    border-color: #101F43; /* Color del borde del panel */
}
    .panel-golmex-tema-claro > .panel-heading {
        border-top-left-radius: 10px;
        border-top-right-radius: 10px;
        border-bottom: 1px solid #0f1c3f;
        border-color: #101F43; /* Color del borde del encabezado */
        background-color: #101F43;
        color: white;
        font-size: 20px;
        text-align: left;
        font-weight: bold;
    }

    .panel-golmex-tema-claro > .panel-body {
        margin-bottom: 10px;
    }
        .panel-golmex-tema-claro > .panel-body > div {
            margin-bottom: 10px;
        }

    .panel-golmex-tema-claro > .panel-footer {
        border-bottom-left-radius: 10px;
        border-bottom-right-radius: 10px;
        border-bottom: 1px solid #0f1c3f;
        border-color: #101F43; /* Color del borde del encabezado */
        background-color: #101F43;
        color: white;
        font-size: 20px;
        text-align: left;
        font-weight: bold;
    }

/*Estilo de panel para golmex en presentacion clara - SinBordes By: Brandon*/
.panel-golmex-claro-SinBordes {
    border: 1px solid #e6e8ec;
    border-radius: 10px;
    background: #fff;
    overflow: visible; /* evita que se recorte */
    box-shadow: 0 6px 20px rgba(0,0,0,0.18), /* capa profunda */
    0 2px 6px rgba(0,0,0,0.12);
}

.panel-heading-SinBordes {
    background: #0f1c3f;
    color: #fff;
    border-top-left-radius: 10px;
    border-top-right-radius: 10px;
    border-bottom: 1px solid #0f1c3f;
    padding: 10px 16px;
    font-weight: 600;
    font-size: 20px;
}

/* cuerpo con padding y sin bordes extra */
.panel-body-SinBordes {
    padding: 16px;
    background: #fff;
    border-radius: 0 0 10px 10px;
}

/*Estilo de las nav-tabs para golmex en presentacion clara*/
.golmex-tema-claro-nav-tabs {
    margin: 0;
    padding: 0;
    border-bottom: 1px solid #ddd;
    display: flex;
    flex-wrap: wrap;
    padding-right: 20px;
}

.golmex-tema-claro-nav-tabs > li > a {
    float: none; 
    display: inline-block;
    margin-bottom: -1px;
    color: white !important;
    background-color: transparent;
}

.golmex-tema-claro-nav-tabs > li.active > a,
.golmex-tema-claro-nav-tabs > li.active > a:focus,
.golmex-tema-claro-nav-tabs > li.active > a:hover {
    color: black !important;
    background-color: white !important;
}

.golmex-tema-claro-nav-tabs > li > a:hover {
    color: black !important;
}

/*Nuevo estilo de boton expandir*/
.btn-expandir {
    background-color: #fff;
    color: #0f1c3f;
    border: 2px solid #0f1c3f;
    border-radius: 20px;
    font-weight: 600;
    padding: 6px 16px;
    transition: all 0.2s ease;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
}

    .btn-expandir:hover {
        background-color: #0f1c3f;
        color: #fff;
        border: 2px solid #fff;
        box-shadow: 0 4px 10px rgba(0, 0, 0, 0.25);
        transform: translateY(-1px);
    }

    .btn-expandir i {
        margin-right: 5px;
    }

/* Transicion del despliegue */
.panel-collapse.collapsing {
    transition: height 0.5s ease;
}

/* Apagar transiciones temporalmente mientras sincronizamos estado inicial */
.no-transition,
.no-transition * {
    -webkit-transition: none !important;
    transition: none !important;
}

/* Icono de boton desplegable panel filtros */
.toggle-icon {
    background-color: #fff;
    padding: 5px;
    border-radius: 4px;
    display: inline-block;
    transition: transform 0.3s ease;
}

    .toggle-icon.rotated {
        transform: rotate(180deg);
    }

/* Ocultar ícono en el primer paint para evitar parpadeo (se quita en JS) */
.icon-init-hide {
    visibility: hidden;
}

/*Estilos para los Divs que muestran informacion - REVISION DE USO PENDIENTE*/
#tituloPanel {
    text-align: left !important;
}

.DatosModulo {
    padding: 0px;
    margin-bottom: 0px;
}

/*Los estilos agregados por "form-group" provocan demaciada amplitud entre los campos*/
.DivEstiloFiltro {
    font-size: 16px;
    margin-bottom: 20px;
    display: block;
}

.DivEstiloElementosAC {
    font-size: 16px;
    margin-bottom: 20px;
    display: block;
}

.DivEstiloElementosVer {
    font-size: 16px;
    margin-bottom: 20px;
    display: block;
}

.DivEstiloElementos {
    font-size: 16px;
    margin-top: 15px;
    padding-left: 20px;
    margin-bottom: 20px;
}

    .DivEstiloElementos label {
        margin-bottom: 0px !important;
    }

/* Usado en los Paneles body de los helpers en MetaDatoPersonalizado */
.row-flex {
    display: flex;
    flex-wrap: wrap;
    margin-left: -15px;
    margin-right: -15px;
}

    /* Los hijos (los .col-*) dejan de flotar para que Flex controle el layout */
    .row-flex > [class*="col-"] {
        float: none; /* anula floats de BS3 */
        display: block;
        padding-left: 15px;
        padding-right: 15px;
    }

.panel-body.row-flex {
    margin-left: 0;
    margin-right: 0;
    /* si lo necesitas, asegúrate de mantener padding del panel */
    padding-left: 15px;
    padding-right: 15px;
}

    .panel-body.row-flex > [class*="col-"] {
        float: none;
        display: block;
        padding-left: 15px;
        padding-right: 15px;
    }

/* Respeta los anchos de Bootstrap en cada breakpoint */
@media (min-width: 1200px) { /* lg */
    .row-flex > .col-lg-1 {
        flex: 0 0 8.3333%;
        max-width: 8.3333%;
    }

    .row-flex > .col-lg-2 {
        flex: 0 0 16.6667%;
        max-width: 16.6667%;
    }

    .row-flex > .col-lg-3 {
        flex: 0 0 25%;
        max-width: 25%;
    }

    .row-flex > .col-lg-4 {
        flex: 0 0 33.3333%;
        max-width: 33.3333%;
    }

    .row-flex > .col-lg-5 {
        flex: 0 0 41.6667%;
        max-width: 41.6667%;
    }

    .row-flex > .col-lg-6 {
        flex: 0 0 50%;
        max-width: 50%;
    }

    .row-flex > .col-lg-8 {
        flex: 0 0 66.6667%;
        max-width: 66.6667%;
    }

    .row-flex > .col-lg-10 {
        flex: 0 0 83.3333%;
        max-width: 83.3333%;
    }

    .row-flex > .col-lg-12 {
        flex: 0 0 100%;
        max-width: 100%;
    }
}

@media (min-width: 992px) and (max-width:1199px) { /* md */
    .row-flex > .col-md-1 {
        flex: 0 0 8.3333%;
        max-width: 8.3333%;
    }

    .row-flex > .col-md-2 {
        flex: 0 0 16.6667%;
        max-width: 16.6667%;
    }

    .row-flex > .col-md-3 {
        flex: 0 0 25%;
        max-width: 25%;
    }

    .row-flex > .col-md-4 {
        flex: 0 0 33.3333%;
        max-width: 33.3333%;
    }

    .row-flex > .col-md-5 {
        flex: 0 0 41.6667%;
        max-width: 41.6667%;
    }

    .row-flex > .col-md-6 {
        flex: 0 0 50%;
        max-width: 50%;
    }

    .row-flex > .col-md-8 {
        flex: 0 0 66.6667%;
        max-width: 66.6667%;
    }

    .row-flex > .col-md-10 {
        flex: 0 0 83.3333%;
        max-width: 83.3333%;
    }

    .row-flex > .col-md-12 {
        flex: 0 0 100%;
        max-width: 100%;
    }
}

@media (min-width: 768px) and (max-width:991px) { /* sm */
    .row-flex > .col-sm-2 {
        flex: 0 0 16.6667%;
        max-width: 16.6667%;
    }

    .row-flex > .col-sm-3 {
        flex: 0 0 25%;
        max-width: 25%;
    }

    .row-flex > .col-sm-4 {
        flex: 0 0 33.3333%;
        max-width: 33.3333%;
    }

    .row-flex > .col-sm-6 {
        flex: 0 0 50%;
        max-width: 50%;
    }

    .row-flex > .col-sm-12 {
        flex: 0 0 100%;
        max-width: 100%;
    }
}
/* xs cae a 100% por defecto, como en BS3 */

/*Elemento de legada, revisar su uso y eliminar*/
.DivTitulo {
    width: 100%;
    margin-bottom: 20px;
}

/*Texto alineado a la izquierda cuando es xs*/
.texto-xs-izquierda {
    text-align: center;
}

@media (max-width: 767px) {
    .texto-xs-izquierda {
        text-align: left;
    }
}

/*CARD-VIEW*/
.panel-cardview {
    margin-top: 15px; /* Separación vertical entre cards */
    border-width: 2px; /* Para igualar tu grosor de borde */
    border-radius: 4px; /* Ligera curvatura */
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.6);
    transition: box-shadow 0.4s ease, transform 0.4s ease;
}

    /* Variante por color */
    .panel-cardview.AzulGMX {
        background-color: #0F1E42;
        color: white;
    }

    .panel-cardview.AzulInfo {
        background-color: #31708f;
        color: white;
    }

    .panel-cardview.Rojo {
        background-color: #a94442;
        color: white;
    }

    .panel-cardview.Amarillo {
        background-color: #8a6d3b;
        color: white;
    }

    .panel-cardview.Verde {
        background-color: #3c763d;
        color: white;
    }

    .panel-cardview.hoverable:hover {
        box-shadow: 0 4px 8px rgba(0, 0, 0, 0.8);
        transform: translateY(-8px);
    }

    .panel-cardview .panel-heading {
        font-weight: 600;
        font-size: 16px;
        padding: 10px 15px;
    }

    .panel-cardview .panel-body {
        padding: 15px;
        display: flex;
        flex-direction: column;
        justify-content: space-between;
    }

/* RESALTADOS */
.has-error-Resaltado {
    border: 2px solid red !important;
    box-shadow: 0 0 10px rgba(255, 0, 0, 0.9) !important;
    transition: box-shadow 0.3s ease;
}

.modal-dialog-lg {
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
}

[data-role="contenedor-inputtag-libre"] > div.bootstrap-tagsinput {
    width:100%;
}
.label-lg {
    font-size: 14px;
    padding: 2px 10px;
    line-height: 1.4; 
}
    .label-lg span[data-role="remove"] {
        top: -1px;
        position: relative;
    }
        .label-lg span[data-role="remove"]:after {
            font-size: 15px;
        }

/*ESTILO USADO PARA LAS VENTANAS DE MENSAJES - EJEMPLO: PanelMensajesConBodyEditable*/
.PanelMensaje-Contenedor {
    min-height: 60vh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 30px 15px;
}

.PanelMensaje-Card {
    width: 680px;
    max-width: 100%;
    background: #fff;
    border-radius: 14px;
    border: 1px solid rgba(0,0,0,.08);
    box-shadow: 0 12px 35px rgba(0,0,0,.10);
    padding: 42px 46px;
}

.PanelMensaje-Titulo {
    margin: 0;
    font-size: 54px;
    font-weight: 700;
    color: #233a57;
    letter-spacing: -1px;
}

.PanelMensaje-Separador {
    height: 1px;
    background: rgba(0,0,0,.08);
    margin: 20px 0 26px;
}

.PanelMensaje-ContenedorMensaje {
    display: flex;
    gap: 16px;
    align-items: center;
    background: #f2fbff;
    border: 1px solid rgba(28,125,255,.12);
    border-radius: 12px;
    padding: 18px 18px;
}

.PanelMensaje-Icono {
    width: 52px;
    height: 52px;
    border-radius: 100%;
    background: #41b883;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 52px;
    box-shadow: 0 8px 18px rgba(65,184,131,.25);
}

    .PanelMensaje-Icono .glyphicon {
        font-size: 24px;
    }

    .PanelMensaje-Icono .fa {
        font-size: 24px;
    }

.PanelMensaje-Mensaje {
    color: #2b3c55;
    font-size: 18px;
    line-height: 1.3;
}

.PanelMensaje-MensajeResaltado {
    margin-top: 6px;
    font-size: 22px;
    font-weight: 700;
    color: #1b2b40;
}

.PanelMensaje-Body {
    margin-top: 18px;
    margin-bottom: 20px;
}


.PanelMensaje-Btn {
    display: block;
    text-align: center;
    padding: 16px 18px;
    border-radius: 10px;
    background: #337ab7;
    color: #fff;
    font-size: 20px;
    font-weight: 700;
    text-decoration: none;
    box-shadow: 0 12px 24px rgba(31,47,70,.18);
    transition: transform .08s ease-in-out, background .2s;
}

    .PanelMensaje-Btn:hover {
        background: #162235;
        color: #fff;
        text-decoration: none;
    }

    .PanelMensaje-Btn:active {
        transform: translateY(1px);
    }

    .PanelMensaje-Btn .glyphicon {
        margin-right: 10px;
    }

    .PanelMensaje-Btn .fa {
        margin-right: 10px;
    }

.PanelMensaje-MensajeInferior {
    margin-top: 14px;
    color: #7a8797;
    font-size: 18px;
}

@media (max-width: 900px) {
    .PanelMensaje-Card {
        padding: 26px 22px;
    }

    .PanelMensaje-Titulo {
        font-size: 34px;
    }

    .PanelMensaje-MensajeResaltado {
        font-size: 18px;
    }

    .PanelMensaje-Mensaje {
        font-size: 15px;
    }

    .PanelMensaje-Btn {
        font-size: 16px;
        padding: 14px 16px;
    }
}


.PanelMensaje-ContenedorMensaje-type {
    background: #f2fbff;
    border-color: rgba(28,125,255,.18);
}

    .PanelMensaje-ContenedorMensaje-type .PanelMensaje-Icono {
        background: #1c7dff;
    }

.PanelMensaje-Correcto {
    background: #f3fff7;
    border-color: rgba(65,184,131,.22);
}

    .PanelMensaje-Correcto .PanelMensaje-Icono {
        background: #41b883;
    }

.PanelMensaje-Advertencia {
    background: #fff8e8;
    border-color: rgba(240,173,78,.35);
}

    .PanelMensaje-Advertencia .PanelMensaje-Icono {
        background: #f0ad4e;
    }

.PanelMensaje-Error {
    background: #fff3f3;
    border-color: rgba(217,83,79,.35);
}

    .PanelMensaje-Error .PanelMensaje-Icono {
        background: #d9534f;
    }

.PanelMensaje-Personalizado {
    border-style: solid;
}

/*INPUTS PERSONALIZADOS*/
.input-icono-contenedor {
    position: relative;
}

    .input-icono-contenedor i {
        position: absolute;
        left: 12px;
        top: 50%;
        transform: translateY(-50%);
        color: #999;
        pointer-events: none;
    }

    .input-icono-contenedor input {
        padding-left: 40px;
    }

/*AJUSTES DE ESTILOS A LOS COMPONENTES - FIX DE PROBLEMAS DE RENDER*/
.bootstrap-select,
.bootstrap-select > .dropdown-toggle {
    width: 100% !important;
}

    /* estilo form-control sin forzar demasiado */
    .bootstrap-select > .dropdown-toggle {
        min-height: 34px; /* en vez de height fijo */
        padding: 6px 12px;
    }

    /* menú: límite por viewport */
    .bootstrap-select .dropdown-menu {
        max-height: calc(100vh - 220px) !important;
        overflow: hidden;
        z-index: 2000;
    }

        /* zona scrolleable real */
        .bootstrap-select .dropdown-menu.inner {
            max-height: calc(100vh - 300px) !important; /* un poco más para contemplar searchbox */
            overflow-y: auto !important;
            overflow-x: hidden !important;
        }

            /* textos largos */
            .bootstrap-select .dropdown-menu.inner li a .text {
                white-space: normal !important;
            }