/* Portal MS365 - Universitat de Valencia */
/* Basado en grey.css de la UV */

/* RESET */
html,
body,
div,
span,
h1,
h2,
h3,
h4,
p,
a,
img,
ul,
li,
fieldset,
form,
label,
legend,
table {
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    font-weight: inherit;
    font-style: inherit;
    font-size: 1em;
    line-height: 1.4;
    vertical-align: baseline;
}

body {
    font: 12px/1.4 'Arial', Helvetica, sans-serif;
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

a {
    color: #004464;
    text-decoration: none;
}

img,
fieldset {
    border: 0;
    padding: 0;
    margin: 0;
}

/* CABECERA */
#header {
    background-color: #1B3552;
    color: white;
    padding: 5px 0 0 10px;
    overflow: hidden;
    height: auto;
}

#header a {
    color: white;
}

#header #logoli {
    margin: 0 0 0 8.3%;
    display: inline;
}

#header #logoli img {
    vertical-align: middle;
}

#header #logoli .logpart {
    display: inline;
    vertical-align: middle;
}

#header #logoli .logpart.nombre {
    font-size: 1.7em;
    font-weight: 500;
}

#header #logoli .logpart.separ {
    border-left: 1px solid white;
    font-size: 2.3em;
    padding: 0em;
    margin-left: 0.3em;
}

#header #idiomas {
    margin: 2em 8.3% 0 0;
    float: right;
    text-align: right;
    padding: 0 2em;
}

#header #idiomas .idipart {
    display: inline;
    vertical-align: middle;
}

#header #idiomas .idipart.separ {
    border-left: 1px solid white;
    font-size: 2em;
    margin-left: 0.3em;
}

/* CUERPO */
#bodypanel {
    background: url('/fondo_wwwuvdegrade.jpg') repeat-x scroll center top #FFF;
    padding: 0 8.3%;
    flex: 1;
}

#logoutline {
    background-color: #F5F5F5;
    height: 2.5em;
    padding: 0;
    overflow: hidden;
}

#logoutline #titulo {
    float: left;
    padding: 0.6em 3em;
    font-weight: bold;
    color: #555;
}

#content {
    background-color: #F5F5F5;
    padding: 2em 4em;
}

/* PIE */
#footer {
    background-color: #3F4545;
    color: white;
    padding: 10px 8.3%;
    line-height: 1em;
}

#footer a {
    color: white;
}

#footer #copyri {
    margin-left: 10px;
    margin-right: 10px;
}

#footer #notas {
    float: right;
    margin-right: 10px;
}

/* CLEARFIX */
#header:after,
#bodypanel:after,
#footer:after {
    content: ".";
    clear: both;
    display: block;
    height: 0;
    visibility: hidden;
    padding: 1px;
}

/* CONTENIDO */
h2 {
    color: #013952;
    font-size: 1.5em;
    font-weight: bold;
    margin-bottom: 1em;
    padding-bottom: 0.5em;
    border-bottom: 2px solid #E6E3D2;
}

h3 {
    color: #013952;
    font-size: 1.3em;
    font-weight: bold;
    margin-bottom: 1em;
    padding-bottom: 0.5em;
    border-bottom: 1px solid #E6E3D2;
}

h4 {
    color: #555;
    font-size: 1em;
    line-height: 1.8;
    margin: 1.5em 0;
}

h4 a {
    color: #004464;
    font-weight: bold;
}

hr {
    border: none;
    border-top: 1px solid #ddd;
    margin: 2em 0;
}

/* PANELES */
.panel {
    margin-bottom: 2em;
}

.panel-default {
    border: 1px solid #ddd;
}

.panel-body {
    padding: 15px 20px;
    background-color: #fff;
    border-bottom: 1px solid #eee;
    transition: background-color 0.3s;
}

.panel-body:last-child {
    border-bottom: none;
}

.panel-body:hover {
    background-color: #D3DDDE;
}

.panel-body a {
    color: #2E5C70;
    text-decoration: none;
    font-size: 1.1em;
    display: block;
}

.panel-body a:hover {
    font-weight: bold;
}

/* TABLAS */
.table-uv {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 2em;
    background-color: #fff;
}

.table-uv th,
.table-uv td {
    padding: 12px 15px;
    text-align: left;
    border: 1px solid #ddd;
}

.table-uv th {
    background-color: #1B3552;
    color: #fff;
    font-weight: bold;
}

.table-uv tr:nth-child(even) {
    background-color: #f9f9f9;
}

.table-uv tr:hover {
    background-color: #D3DDDE;
}

/* ALERTAS */
.alert-uv {
    padding: 15px 20px;
    margin-bottom: 1.5em;
    border-radius: 4px;
}

.alert-uv-danger {
    background-color: #f44336;
    color: white;
}

.alert-uv-warning {
    background-color: #ff9800;
    color: white;
}

.alert-uv-success {
    background-color: #4CAF50;
    color: white;
}

.alert-uv-info {
    background-color: #2196F3;
    color: white;
}

.alert-uv .closebtn {
    margin-left: 15px;
    color: white;
    font-weight: bold;
    float: right;
    font-size: 22px;
    line-height: 20px;
    cursor: pointer;
}

/* BOTONES */
.btn-uv {
    display: inline-block;
    padding: 10px 20px;
    margin: 5px;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    font-size: 1em;
    text-decoration: none;
    transition: background-color 0.2s;
}

.btn-uv-primary {
    background-color: #1B3552;
    color: #fff;
}

.btn-uv-primary:hover {
    background-color: #2a4a6e;
}

.btn-uv-success {
    background-color: #4CAF50;
    color: #fff;
}

.btn-uv-success:hover {
    background-color: #45a049;
}

.btn-uv-danger {
    background-color: #f44336;
    color: #fff;
}

.btn-uv-danger:hover {
    background-color: #da190b;
}

.btn-uv-default {
    background-color: #efefef;
    color: #333;
    border: 1px solid #ddd;
}

.btn-uv-default:hover {
    background-color: #ddd;
}

.btn-group-uv {
    margin-bottom: 1.5em;
}

.btn-group-uv .btn-uv {
    margin-right: 10px;
    margin-bottom: 10px;
}

/* FORMULARIOS */
.form-uv {
    background-color: #f5f5f5;
    padding: 20px;
    border-radius: 4px;
    margin-bottom: 2em;
}

.form-uv label {
    display: block;
    margin-bottom: 5px;
    font-weight: bold;
    color: #333;
}

.form-uv input[type="text"],
.form-uv input[type="password"],
.form-uv input[type="email"],
.form-uv select,
.form-uv textarea {
    width: 100%;
    padding: 10px;
    margin-bottom: 15px;
    border: 1px solid #ddd;
    border-radius: 4px;
    font-size: 1em;
    box-sizing: border-box;
}

.form-uv input:focus,
.form-uv select:focus,
.form-uv textarea:focus {
    border-color: #1B3552;
    outline: none;
}

/* LISTAS */
.list-uv {
    list-style: none;
    padding: 0;
    margin: 0 0 2em 0;
}

.list-uv li {
    padding: 12px 15px;
    background-color: #fff;
    border: 1px solid #ddd;
    border-bottom: none;
}

.list-uv li:last-child {
    border-bottom: 1px solid #ddd;
}

.list-uv li:hover {
    background-color: #D3DDDE;
}

/* CONTENIDO LEGAL */
.legal-content {
    background-color: #fff;
    padding: 20px;
    border: 1px solid #ddd;
    margin-bottom: 2em;
}

.legal-content ol {
    padding-left: 20px;
}

.legal-content li {
    margin-bottom: 1.5em;
}

.legal-content ul {
    padding-left: 20px;
    margin-top: 0.5em;
}

.legal-content ul li {
    margin-bottom: 0.5em;
}

/* PREFORMATEADO */
pre {
    background-color: #f5f5f5;
    padding: 15px;
    border: 1px solid #ddd;
    border-radius: 4px;
    overflow-x: auto;
    font-family: monospace;
    margin-bottom: 1.5em;
}

/* UTILIDADES */
.text-center {
    text-align: center;
}

.mb-1 {
    margin-bottom: 1em;
}

.mb-2 {
    margin-bottom: 2em;
}

.mt-1 {
    margin-top: 1em;
}

.mt-2 {
    margin-top: 2em;
}

/* RESPONSIVE - Pantallas grandes >1200px */
@media only screen and (min-width:1200px) {
    #header #logoli {
        margin-left: 16.66%;
    }

    #header #idiomas {
        margin-right: 16.66%;
    }

    #footer {
        padding-right: 16.66%;
        padding-left: 16.66%;
    }

    #bodypanel {
        padding-left: 16.66%;
        padding-right: 16.66%;
    }
}

/* RESPONSIVE - Movil <750px */
@media only screen and (max-width:750px) {
    .hidden-xs {
        display: none !important;
    }

    #header #logoli {
        margin-left: 0;
    }

    #header #idiomas {
        margin-right: 0;
    }

    #header #logoli .logpart.nombre,
    #header #logoli .logpart.separ {
        display: none;
    }

    #header #logoli img {
        width: 70px;
    }

    #footer {
        padding-right: 0;
        padding-left: 0;
    }

    #content {
        padding-right: 1em;
        padding-left: 1em;
    }

    #footer #notas {
        margin-left: 10px;
        float: left;
    }

    #footer #copyri {
        clear: both;
    }

    #bodypanel {
        padding-left: 0;
        padding-right: 0;
    }

    .table-uv th,
    .table-uv td {
        padding: 8px 10px;
        font-size: 0.9em;
    }

    .btn-group-uv {
        flex-direction: column;
    }

    .btn-group-uv .btn-uv {
        width: 100%;
        margin: 5px 0;
    }
}

/* RESPONSIVE - Muy pequeno <300px */
@media only screen and (max-width:300px) {
    #header #idiomas {
        margin: 2em 1em 0 0;
    }

    #header #idiomas .idipart.separ {
        display: none;
    }

    #header #idiomas .idipart {
        display: block;
    }

    #header #logoli img {
        width: 70px;
    }
}
