:root {
    --color-texto: #454545;
    --color-azul:  #3c5c80;
    --color-azul-oscuro: #335276;
    --color-blanco:  #fff;
    --color-verde-dataella: #215f6e;
    --color-naranja-dataella: #cd692e;
    --color-rojo:  #dc3545;
}
/* Generales */
html {
    box-sizing: border-box;
}
*, *:before, *:after {
    box-sizing: inherit;
}
body {
    font-family: 'Raleway', sans-serif;
    color: var(--color-texto);
    font-size: 15px;
    background-image: url(../img/topography.png);
}
a {
    color: var(--color-verde-dataella);
}
a:hover {
    color: var(--color-azul-oscuro);
    text-decoration: none;
}
/* Formularios */
input[type="text"]:focus,
input[type="email"]:focus,
input[type="password"]:focus,
input[type="number"]:focus,
textarea:focus {
    background-color: #f3f8f9;
    font-size: 1em;
}
input, .btn, textarea {
    border-radius: 0.15em;
}
input[type="text"],
input[type="email"],
input[type="password"],
input[type="number"],
textarea {
    background-color: #ecf2f4;
    border: 1px solid #e3ecef;
    margin-bottom: 1.4rem;
    padding: .6rem;
    width: 100%;
}
textarea {
    min-height: 7rem;
}
.btn, .btn:hover, .btn:active, .btn:focus {
    border: none;
    box-shadow: none;
}
.btn-primary {
    background-color: var(--color-verde-dataella);
}
.btn-primary:hover, .btn-primary:active, .btn-primary:focus {
    background-color: var(--color-naranja-dataella);
    border: none;
    box-shadow: none;
}
.alert {
    width: 100%;
}
form .form-group div.row {
    padding: .3rem;
}
form .is-invalid {
    border-color: var(--color-rojo);
}
form span.required {
    color: var(--color-rojo);
    font-size: .6rem;
}
/* loading */
.loading {
    background: rgba(255, 255, 255, .9) url('../img/loader.gif') no-repeat center center;
    display: block;
    height: 100vh;
    left: 0;
    position: absolute;
    top: 0;
    width: 100vw;
    z-index: 10000;
}
/* errores */
#main {
    background-color: rgba(255, 255, 255, .5);
    color: var(--color-verde-dataella);
    height: 100vh;
}
#main img {
    display: block;
    width: 20vw;
}
#main .copy {
    position: absolute;
    bottom: 10vh;
}
/* header */
header {
    background-color: #fefefe;
}
header .dropdown-menu {
    font-size: .95rem;
    margin-top: .5rem;
    min-width: 12rem;
    padding: 0;
}
header .dropdown-menu li {
    padding: .3rem 1rem;
}
header .menu-usuario > li > a {
    font-weight: bolder;
}
header .menu-usuario > li > a > svg {
    border: 2px solid #e7f0f8;
    border-radius: 100%;
    font-size: 3rem;
    margin: -13px 0 0 -4rem;
    padding: .8rem;
    position: absolute;
    width: auto !important;
}
header .menu-usuario li ul li:hover {
    background-color: rgba(33, 95, 110, .09);
}
header .menu-usuario li.divider {
    border-bottom: 1px solid #e9e9e9;
    padding: 0;
}
/* footer */
footer {
    margin-top: 1.5rem;
    text-align: center;
}
/* navegacion */
header.menu {
    background-color: var(--color-verde-dataella);
    padding: 1rem 0;
    z-index: 100;
}
header.menu > .container > .nav-tabs {
    border: none;
}
header.menu > .container > .nav-tabs a {
    color: var(--color-blanco);
    margin-right: 1rem;
}
header.menu .dropdown-menu {
    background-color: #215f6e;
    border: none;
    font-size: .95rem;
    margin-top: .5rem;
}
header.menu .dropdown-menu li:hover {
    background-color: rgba(255, 255, 255, .09);
}
/* contenido */
.contenido {
    background-color: #fefefe;
    border-bottom-left-radius: .2rem;
    border-bottom-right-radius: .2rem;
    box-shadow: 0px 3px 5px #e9e9e9;
    padding: 1rem;
    z-index: 1;
}
.contenido .titulo {
    margin-bottom: 1rem;
}
/* cards */
.card {
    border: none;
    border-radius: .28571429rem;
    box-shadow: 0 1px 3px 0 #d4d4d5, 0 0 0 1px #d4d4d5;
    font-size: 1em;
    min-height: 10rem;
    overflow: hidden;
    padding: 0;
}
.card-block {
    font-size: 1em;
    position: relative;
    margin: 0;
    padding: 1em;
    border: none;
    border-top: 1px solid rgba(34, 36, 38, .1);
    box-shadow: none;
}
.card-img-top {
    display: block;
    width: 100%;
    height: auto;
}
.card-title {
    font-size: 1.28571429em;
    font-weight: 700;
    line-height: 1.2857em;
}
.card-text {
    clear: both;
    margin-top: .5em;
    color: rgba(0, 0, 0, .68);
}
.card-footer {
    font-size: 1em;
    position: static;
    top: 0;
    left: 0;
    max-width: 100%;
    padding: .75em 1em;
    color: rgba(0, 0, 0, .4);
    border-top: 1px solid rgba(0, 0, 0, .05) !important;
    background: #fff;
}
.card-inverse .btn {
    border: 1px solid rgba(0, 0, 0, .05);
}
.card .meta {
    font-size: 1em;
}
.card .meta a {
    display: block;
    text-decoration: none;
}
/* tablas */
table thead tr th.align-center,
table tbody tr td.align-center {
    text-align: center;
}
