/* =========================================================
   1. Tipografía y elementos base
   ========================================================= */

/* En el build original se fijaba font-family, font-size=13px */
body {
    font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-size: 13px;
    line-height: 1.42857143;
    color: #333333;
    background-color: #ffffff;
}

/* Encabezados algo más “corporativos” */
h1, .h1,
h2, .h2,
h3, .h3,
h4, .h4,
h5, .h5,
h6, .h6 {
    font-family: inherit;
    font-weight: 700;
    line-height: 1.1;
    color: inherit;
}

h1, .h1 { font-size: 36px; }
h2, .h2 { font-size: 30px; }
h3, .h3 { font-size: 24px; }
h4, .h4 { font-size: 18px; }
h5, .h5 { font-size: 14px; }
h6, .h6 { font-size: 12px; }

/* Paginado con selección resaltada */
.paginadoSeleccion {
    background-color: #337ab7 !important;
    color: white !important;
    font-weight: bold !important;
}

/* “Sección” con borde lateral azul */
.section-division {
    border-left: medium solid #337ab7;
}

/* Textos de datos obligatorios */
.CamposObligatorios,
.datosObligatorios {
    color: red;
    font-weight: bold;
    display: none;
}

.datosObligatorios {
    font-size: large;
}

/* =========================================================
   2. Formularios, inputs y placeholders
   ========================================================= */

/* Apariencia de los controles (más clara que el core) */
.form-control {
    font-size: 14px;
    line-height: 1.42857143;
    color: #555555;
    background-color: #f6f6f6;
    background-image: none;
    border: 1px solid #f6f6f6;
    border-radius: 4px;
}

/* Placeholders más marcados */
.form-control::placeholder {
    font-family: inherit;
    font-size: 14px;
    font-weight: 700;
    color: #999999;
}

/* Compatibilidad Edge/IE */
.form-control:-ms-input-placeholder {
    font-family: inherit;
    font-size: 14px;
    font-weight: 700;
    color: #999999;
}
.form-control::-ms-input-placeholder {
    font-family: inherit;
    font-size: 14px;
    font-weight: 700;
    color: #999999;
}

/* Campos de selección de tamaño fijo en tablas scrollables, etc. */
.table-fixed thead {
    width: 97%;
}

.table-fixed tbody {
    height: 230px;
    overflow-y: auto;
    width: 100%;
}

.table-fixed thead,
.table-fixed tbody,
.table-fixed tr,
.table-fixed td,
.table-fixed th {
    display: block;
}

.table-fixed tbody td,
.table-fixed thead > tr > th {
    float: left;
    border-bottom-width: 0;
}

/* Scroll custom */
div.scroll {
    background-color: transparent;
    width: 100%;
    height: 400px;
    float: left;
    overflow-y: auto;
}

/* Etiquetas de campos obligatorios */
.CamposObligatorios {
    color: red;
    font-weight: bold;
    display: none;
}

/* =========================================================
   3. Botones
   ========================================================= */

/* Botón primario corporativo */
.btn-primary {
    color: #fff;
    background-color: #337ab7;
    border-color: #2e6da4;
    font-weight: 700;
    letter-spacing: 1px;
}

.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active,
.btn-primary.active,
.open > .dropdown-toggle.btn-primary {
    color: #fff;
    background-color: #286090;
    border-color: #204d74;
}

/* Bloque de botones especial usado en LoginGeneral original */
.boton {
    font-size: 10px;
    font-family: Verdana, Helvetica;
    font-weight: bold;
    padding-right: 50px;
    padding-left: 500px;
    width: 1100px;
    height: 50px;
}

/* =========================================================
   4. Navegación y menús
   ========================================================= */

/* Nav-pills con color y peso personalizados */
.nav-pills > li > a {
    border-radius: 4px;
    color: gray;
}

.nav-pills > li + li {
    margin-left: 2px;
}

.nav-pills > li.active > a,
.nav-pills > li.active > a:hover,
.nav-pills > li.active > a:focus {
    color: #000;
    background-color: rgba(0, 151, 205, 0.1);
    font-weight: 700;
}

/* Navbar inversa (azul Aon) */
.navbar-inverse {
    background-color: #0097CD;
    border-color: #0097CD;
}

.navbar-inverse .navbar-brand,
.navbar-inverse .navbar-brand:hover,
.navbar-inverse .navbar-brand:focus,
.navbar-inverse .navbar-text,
.navbar-inverse .navbar-nav > li > a,
.navbar-inverse .navbar-nav > li > a:hover,
.navbar-inverse .navbar-nav > li > a:focus {
    color: #fff;
}

/* Formularios dentro de la navbar inversa */
.navbar-form {
    padding: 0px 15px;
    margin-right: -15px;
    margin-left: -15px;
    border-top: 1px solid transparent;
    border-bottom: 1px solid transparent;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1),
                0 1px 0 rgba(255, 255, 255, 0.1);
    margin-top: 0px;
    margin-bottom: 0px;
    background: #073C4F;
}

.navbar-form select {
    margin: 8px;
    background: #073C4F;
    color: #fff;
    border: 0;
    font-weight: 700;
    font-size: 11px;
    text-transform: uppercase;
}

/* Mega-dropdown personalizado */
.mega-dropdown {
    position: static !important;
    width: 100%;
}

.mega-dropdown-menu {
    padding: 20px 0px;
    width: 100%;
    box-shadow: none;
}

.mega-dropdown-menu:before {
    content: "";
    border-bottom: 15px solid #fff;
    border-right: 17px solid transparent;
    border-left: 17px solid transparent;
    position: absolute;
    top: -15px;
    left: 285px;
    z-index: 10;
}

.mega-dropdown-menu:after {
    content: "";
    border-bottom: 17px solid #ccc;
    border-right: 19px solid transparent;
    border-left: 19px solid transparent;
    position: absolute;
    top: -17px;
    left: 283px;
    z-index: 8;
}

.mega-dropdown-menu > li > ul {
    padding: 0;
    margin: 0;
}

.mega-dropdown-menu > li > ul > li {
    list-style: none;
}

.mega-dropdown-menu > li > ul > li > a {
    display: block;
    padding: 3px 20px;
    clear: both;
    font-weight: normal;
    line-height: 1.428571429;
    color: #999;
    white-space: normal;
}

.mega-dropdown-menu > li ul > li > a:hover,
.mega-dropdown-menu > li ul > li > a:focus {
    text-decoration: none;
    color: #073C4F;
    background-color: #f5f5f5;
}

.mega-dropdown-menu .dropdown-header {
    color: #428bca;
    font-size: 18px;
    font-weight: bold;
}

.mega-dropdown-menu form {
    margin: 3px 20px;
}

.mega-dropdown-menu .form-group {
    margin-bottom: 3px;
}

/* =========================================================
   5. Layouts específicos de Login
   ========================================================= */

/* Carrusel a la izquierda */
#login .carousel-login {
    float: left;
}

/* Panel de login a la derecha */
#login .forma {
    width: 35%;
    height: calc(100vh - 50px);
    background: #fff;
    right: 0;
    position: absolute;
    padding: 40px;
}

/* Soporte anclado al fondo del panel de login */
#login .soporte {
    bottom: 20px;
    position: absolute;
}

#login .soporte p {
    margin-left: 80px;
}

#login .soporte small {
    margin-top: 4em !important;
}

/* Versión responsive del login */
@media (max-width: 798px) {

    #login {
        background: #fff;
        background-size: cover;
        height: 100%;
    }

    #login .img-responsive {
        display: none;
    }

    #login .forma {
        width: 100%;
        height: 100%;
        background: #fff;
        right: 0;
        position: relative;
        padding: 40px;
    }

    #login .soporte {
        margin-top: 50px;
        bottom: 20px;
        position: relative;
    }

    #login .soporte p {
        margin-left: 80px;
    }

    #login .soporte small {
        margin-top: 2em !important;
    }
}

/* =========================================================
   6. Clases “custom” usadas en login viejo (LoginGeneral)
   ========================================================= */

/* Columna fake de 20 (no estándar en Bootstrap) usada en LoginGeneral viejo */
.col-sm-20 {
    font-family: Verdana, Helvetica;
    font-weight: bold;
    padding-right: 50px;
    padding-left: 500px;
    width: 1100px;
    height: 100px;
}

/* Checkbox desplazado hacia la izquierda en LoginGeneral viejo */
/* .checkbox {
    display: block;
    padding-right: 430px;
    padding-left: 50px;
    text-indent: -15px;
    height: 0px;
} */

/* Checkbox estándar Bootstrap, sin romper el texto */
.checkbox {
    position: relative;
    display: block;
    margin-top: 10px;
    margin-bottom: 10px;
    margin-left: 5px;
    /* sin paddings raros, sin height 0 */
}

.checkbox label {
    min-height: 20px;
    padding-left: 20px;   /* espacio para el check */
    margin-top: 10px;
    margin-bottom: 0;
    font-weight: 400;
    cursor: pointer;
    white-space: nowrap;  /* opcional: evita saltos de línea dentro del texto */
}


/* =========================================================
   7. Otros componentes personalizados
   ========================================================= */

/* Contenedor scrollable de tablas u otros elementos */
div.scroll {
    background-color: transparent;
    width: 100%;
    height: 400px;
    float: left;
    overflow-y: auto;
}