/**
* AbiEX v1.0 - https://abiex.educarex.es/
*
* Autores:
*  Pedro Obregón Mejías (pedro.obregon@educarex.es)
*  José Rasero Mejías (jose.rasero@educarex.es)
*
* Junta de Extremadura, Consejería de Educación y Empleo (STE).
*
* License: GPL v2 or higher (http://www.gnu.org/licenses/gpl.html)

* AbiEX sirve como base del desarrollo de Abies+
* Autor:
* Instituto Nacional de Tecnologías Educativas y de Formación del Profesorado (INTEF) - https://intef.es
*
* License: GPL v3 (http://www.gnu.org/licenses/gpl.html)
* Se atenderá a la "Excepción de Sistema Específico": en la GPLv3 se encuentra en el Artículo 7 de la licencia.
* Esta cláusula establece que ciertas actividades de ejecución y transmisión relacionadas con
* el funcionamiento normal del sistema operativo no están sujetas a los requisitos de la licencia,
* por lo que no se requiere que se distribuya el código fuente en esos casos.
* Abies+ proporciona datos a un tercero (portal que recoge estadísticas de uso, gestión de licencias, etc.).
*/
/* CSS reset */
html, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, blockquote, pre, a, abbr, acronym, address,
big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i,
dl, dt, dd, ol, ul, li, fieldset, form, label, legend, caption, tbody, tfoot, thead, tr, article,
aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, section, summary,
time, mark, audio, video {
	margin: 0; padding: 0; border: 0; font-size: 100%; font: inherit; vertical-align: baseline;
}
h1, h2, h3, h4, h5, h6 { font-weight: bold; line-height: 1.5em; }
b, strong { font-weight: bold; }
ol, ul { list-style: none; }
blockquote, q { quotes: none; }
th { text-align: center; font: bold 110% arial,sans-serif; }
p { margin: 1em 0; }
a { text-decoration: none; color: #686; font-weight: bold; }
i { font-style: italic; }

@font-face {
  font-family: 'Abel'; font-style: normal; font-weight: 400;
  src: local('Abel Regular'), local('Abel-Regular'), url("../fonts/Abel.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F,
  				 U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* Estilos de estructura */
body {
	min-width: 360px; font: normal 11pt arial,sans-serif; margin: 0; padding: 0;
	background-color: #FFF; line-height: 1.2em;
}

#cabecera {
	position: relative; height: 40px; color: #444; background-color: #F4F4F4; box-sizing: border-box;
	border-bottom: 1px solid #DDD; box-shadow: 0 2px 5px rgba(0,0,0,0.3); z-index: 150;
}

#cabecera p {
	margin: 0; padding: 4px 18px 0; font: bold 20px/32px Abel,arial,sans-serif; color: #666;
	text-shadow: -1px -1px 0 #FFF; text-align: right;
}

#logoabx {
	float: left; display: block; height: 32px; width: 110px; outline: none; padding: 1px 0;
	background: url("../imgs/logoabies.png") 0 / contain no-repeat; margin: 3px 0 0 4px;
}

#paneles { height: calc(100vh - 40px); background-color: #FFF; }
#paneles > div { height: 100%; box-sizing: border-box; }
#panelcnt { overflow: auto; padding: 2px 5px; }

#pie {
	position: relative; height: 42px; background-color: #333; box-shadow: 0 -2px 5px rgba(0,0,0,0.3); z-index: 1;
}
#pie > span { float: right; color: #FFF; margin: -24px 10px 0 0; font-size: 9pt; font-style: italic; }
#logogobierno {
	display: block; width: 180px; height: 42px; outline: none;
	background: url("../imgs/logo-gobw.png") 0/contain no-repeat;
}
#logojunta {
  display: block; width: 180px; height: 42px; outline: none;
  background: url("../imgs/JextCnsEd.png") 0/contain no-repeat;
}
#logoministerio {
  display: block; width: 180px; height: 42px; outline: none;
  background: url("../imgs/gobierno_de_espana_con_educacion_para_web_Nivel_Gris_2_PNG.png") 0/contain no-repeat;
}

#wait {
	position: fixed; z-index: 20; top: 0; left: 0; width: 100%; height: 100%; display: none; cursor: wait;
	background-color: rgba(0,0,0,0.2);
}

.inv { display: none; }

/* Estilos Material */
.group-material { position: relative; margin-bottom: 20px; font-size: 10pt; }
.group-material input.text {
 	background-color: transparent; padding: 8px 8px 4px 8px; display: block;
	width: 100%; border:none; border-bottom: 1px solid #444; outline:none;
	box-sizing: border-box; font-size: inherit;
}
.group-material input.text:-webkit-autofill { background-color: transparent !important; }
.group-material input.text:focus { outline: none; }
.group-material label {
	position: absolute; font-weight: normal; pointer-events: none;
	left: 8px; top: 10px; transition: all 0.2s ease; color: #444;
	-moz-transition: all 0.2s ease; -webkit-transition: all 0.2s ease;
}
.group-material input.content ~ label,
.group-material input.text:focus ~ label { top: -12px; font-size: 8pt; }
.group-material span { position: relative; display: block; width: 100%; }
.group-material span::before, .group-material span::after {
	content: ""; height: 2px; width: 0; bottom: 1px; position: absolute;
	background-color: #444; transition: all 0.2s ease; -moz-transition: all 0.2s ease;
	-webkit-transition: all 0.2s ease;
}
.group-material span::before { left:50%; }
.group-material span::after { right:50%; }
.group-material input.text:focus ~ span::before,
.group-material input.text:focus ~ span::after { width:50%; }

/* Login */
#bgl {
	position: fixed; z-index: 0; top: 0; left: 0; width: 100%; height: 100%;
	background:
		url("../imgs/bgs/bg-pie.png") 50% 98% no-repeat,
		url("../imgs/bgs/bg-def0.png") 50% 0/cover no-repeat;
	background-color: #1b1d78;
}

.panel-login::before {
	content: ""; display: block; position: absolute; top: -90px; left: 0; height: 60px; width: 100%;
	background: url("../imgs/logoabies.png") 50%/contain no-repeat;
}
.panel-login::after {
	content: ""; display: block; position: absolute; top: 180px; left: 0; height: 50px; width: 100%;
	background: url("../imgs/jex-cee.png") 50%/contain no-repeat;
}

.panel-login {
	position: relative;	max-width: 260px; padding: 28px 30px 20px; border-radius: 8px;
	background-color: rgba(255, 255, 255, 0.7); margin: 18vh auto 0; box-shadow: 0 0 12px rgba(0,0,0,0.4);
}
.panel-login label { color: #444; }
.panel-login .group-material { width: 68%; }
.panel-login .group-material input.text { color: #444; font-weight: bold; }
.panel-login .group-material input { border-color: #444; }
.panel-login .group-material span::before, .panel-login .group-material span::after { background-color: #444; }
.panel-login a { display: block; position: absolute; width: 50px; right: 30px; top: 51px; outline: none; }
.panel-login i {
	display: inline-block; width: 48px; line-height: 48px; border-radius: 8px; background-color: #D60;
	text-align: center; font-size: 28pt; color: #FFF; box-shadow: 1px 1px 1px rgba(0,0,0,0.5);
}

#logout { font-size: 22pt; float: right; margin: 5px 8px 0; cursor: pointer; }

/* Forms */
.form .sep { height: 10px; width: 100%; }
.form .seph {
    display: inline-block; width: 3px; height: 1em; clear: none; background-color: #AAA;
    vertical-align: middle; margin: 0 3%;
}
.form .box { position: relative; }
.form hr { border: none; border-top: 1px solid #ECA; }
.form fieldset { margin: 0 0 8px; padding: 6px 10px; border: 1px solid #CCC; border-radius: 6px; }
.form legend { color: #668; font-size: 85%; font-weight: bold; padding: 0 4px; }
.form label { font-weight: bold; font-size: 92%; color: #666; }
.form label span { font-size: 85%; }
.form label.sup { display: block; margin-bottom: 1px; padding-left: 5px; }
.form label.fix {
	display: inline-block; width: 19%; margin: 10px 2px 0 3px; padding-left: 2px;
	border-bottom: 1px dotted #AAA; vertical-align: top;
}
.form label.ext { display: inline-block; margin: 5px 4px; }
.form label.extb { display: block; margin: 5px 4px 8px; }
.form .der { text-align: right; }
.form .izq { text-align: left; }
.form .cen { text-align: center; }
.form input.chk { vertical-align: middle; margin: 0 6px 1px 14px; }
.form ul.lst {
	background-color: #FFF; padding: 3px 3px 1px; margin: 0 0 4px; border: 1px solid #CCC; border-radius: 4px;
	min-height: 10em; max-height: 307px; overflow: auto; box-shadow: 1px 1px 1px rgba(0,0,0,0.2);
}
.form ul.lst li { position: relative; border-bottom: 1px dotted #CCC; margin: 0 0 2px; padding: 0 0 2px; }
.form ul.lst li:last-child { border-bottom: none; }
.form ul.lst label {
	display: block; font: normal 10pt arial,sans-serif; color: #444; cursor: pointer;
	border: 1px solid transparent; padding: 4px 6px; border-radius: 4px;
}
.form ul.lst label:hover { background-color: #FFC; border-color: #EE6; }
.form ul.lst span { font-size: 80%; }
.form ul.lst li.sel label { font-weight: bold; background-color: #CEF; border-color: #ABC; }
.form textarea { resize: none; min-height: 5em; }
.form [class*="tx"] {
    padding: 7px; border: 1px solid #CCC; color: #444; box-sizing: border-box; background-color: #FFF;
    box-shadow: 1px 1px 1px rgba(0,0,0,0.2); font: normal 1em Arial, sans-serif; margin: 0 0 10px;
    border-radius: 4px;
}
.form [class*="tx"].sel, .form [class*="tx"]:focus { border-color: #48C; box-shadow: 0 0 2px #08F; }
.form [class*="tx"][disabled] { background-color: #EEE; color: #888; }
.form span.cs { position: relative; padding: 0; background-color: #FFF; }
.form span.cs select {
    -webkit-appearance: none; -moz-appearance: none; appearance: none; padding: 6px 12px 6px 6px;
}
.form span.cs::after { position: absolute; content: "\25BE"; font-size: 110%; right: 4px; top: 3px; color: #AAA; }
.form .tx0 { width: 100%; }
.form .tx1 { width: calc(100% - 20.5%); }
.form .tx2 { width: calc( 70% - 20%);	}
.form .tx3 { width: calc( 50% - 182px); }
.form .tx4 { width: calc( 46% - 20.75%);}
.form .tx5 { width: calc( 30% - 168px); }

.form .fecha { text-align: center; width: 11.7%; min-width: 110px; }
.form .creq { float: right; margin-right: 5px; color: #E00; font-size: 12pt !important; line-height: 11px; }

.panel-btns { text-align: center; padding: 2px; margin-top: 8px; }
.btn {
	position: relative; padding: .8em 1.2em; margin: 2px; text-decoration: none; outline: none;
	font: bold 10pt Arial,sans-serif; border: none; cursor: pointer; background-color: #EEE;
	border: 1px solid #CCC; border-radius: 4px; color: #444; box-shadow: 2px 2px 1px #CCC;
}
.btn i { font-size: 120%; margin-right: 3px; }
.btn:hover { background-color: #E0E0E0; }
.btn:hover i { color: #080; }
.btn:active { box-shadow: none; top: 2px; left: 2px; }
.btnLeft { float: left; }
.btn.dis, .btn.dis:hover, .btn.dis:hover i { color: #888; box-shadow: none; top: 2px; left: 2px; }
input.btn::-moz-focus-inner, button.btn::-moz-focus-inner { border: 0; padding: 0; }

.cargando::after {
	content: ""; display: block; position: absolute; background: url("../imgs/load/form-loading.gif") no-repeat;
	width: 50px; height: 50px; top: 45%; left: 50%; transform: translate(-50%,-50%);
}

.form .imagen { position: absolute; bottom: 1px; right: 10px; width: 140px; }
.form .imagen .tx0 { height: 163px; }

.form .nota {
	border: 1px solid #EEB; background-color: #FFC; color: #444; font-size: 80%;
	padding: 4px 8px; border-radius: 6px;
}

/* Tabs */
.tabs {
    height: 29px; list-style-type: none; margin: 0 0 6px; padding: 0 4px;
    border-bottom: 1px solid #888; font-weight: bold; box-shadow: 0 2px 0 0 #FFF;
}
.tabs li {
    background-color: #DDD; border-radius: 4px 4px 0 0; border: 1px solid #888;
    display: inline-block; height: 26px; margin: 2px 1px 4px; overflow: hidden;
	text-shadow: 1px 1px 0 #FFFFFF; vertical-align: top;
	background-image: linear-gradient(top, #EEE 10%, #CCC 90%);
	background-image: -webkit-linear-gradient(top, #EEE 10%, #CCC 90%);
	background-image: -moz-linear-gradient(top, #EEE 10%, #CCC 90%);
	background-image: -o-linear-gradient(top, #EEE 10%, #CCC 90%);
	background-image: -ms-linear-gradient(top, #EEE 10%, #CCC 90%);
}
.tabs li.sel {
    background: #FFF url("../imgs/top_tab.png") repeat-x; height: 28px; border-bottom: none;
}
.tabs a { display: inline-block; padding: 4px 10px; color: #555; }
.tabs a:hover { text-decoration: none; }
.tabs li.sel a { color: #222; outline: none; }
.tabs a.dis { color: #AAA; text-shadow: none; cursor: default; }

.tab {
	display: none; padding: 1px; background-color: #FFF;
	min-height: 120px; max-height: 320px; overflow: auto;
}

/* Tooltips de validación */
.valid-tooltip {
    position: absolute; z-index: 1050; cursor: pointer; padding: 3px 5px; font-size: 85%;
	color: #FFF; background-color: #E00; border: 1px solid #B00; line-height: 1.1em;
	box-shadow: 2px 2px 5px rgba(0,0,0,0.4); display: none;
}
.valid-tooltip:hover { color: #EE0; }

.valid-tooltip.atop { max-width: 240px; }
.valid-tooltip.aleft { max-width: 12em; }
.valid-tooltip.atop::before, .valid-tooltip.atop::after {
    content: ""; position: absolute; display: block; width: 0; height: 0; border: 7px solid #B00;
    border-top: none; border-left-color: transparent; border-right-color: transparent; top: -7px; left: 2px;
}
.valid-tooltip.atop::after { border-bottom-color: #E00; top: -6px; }
.valid-tooltip.aleft::before, .valid-tooltip.aleft::after {
    content: ""; position: absolute; display: block; width: 0; height: 0; border: 7px solid #B00;
    border-left: none; border-top-color: transparent; border-bottom-color: transparent; top: 2px; left: -7px;
}
.valid-tooltip.aleft::after { border-right-color: #E00; left: -6px; }

/* Diálogos */
.dlg { display: none; }

/* Secciones */
section .titulo { font: bold 160% abel,arial,sans-serif; }

#pag-biblio {
	display: flex; min-height: calc(100vh - 42px); background-size: contain;
	background-repeat: repeat-y; background-position-x: center;
}
#pag-biblio .clat { width: 36%; max-width: 400px; }
#pag-biblio .ccen { width: 100%; }

#pag-biblio .mod {
	position: relative; padding: 6px 10px 3px; margin: 12px 6px; min-height: 5em;
	border-radius: 8px; box-shadow: 0 0 7px 1px rgba(0,0,0,0.2); background-color: rgba(255,255,255,0.9);
}
#pag-biblio .mod > h4 {
	font: bold 13pt abel; border-bottom: 1px solid #CCC; margin-bottom: 4px; padding: 5px 3px;
}
#pag-biblio .mod.loading { background: url("../imgs/load/load2.gif") 50% 45px no-repeat; }

#pag-biblio .mod .acc {
	position: absolute; top: 7px; right: 10px; text-decoration: none; font-size: 20pt; z-index: 10;
}

#pag-biblio .fondos li {
	border-bottom: 1px dotted #CCC; border-radius: 3px; padding: 4px; clear: both;
	overflow: hidden; font-size: 10pt; line-height: 1.2em; cursor: pointer;
}
#pag-biblio .fondos li:hover { background-color: #CEF; }
#pag-biblio .fondos li:last-child { border-bottom: none; }
#pag-biblio .fondos li img {
	width: 48px; height: 64px; object-fit: contain; margin-right: 8px; float: left;
	/* border:  1px solid #E4E4E4; border-radius: 2px; padding: 2px; box-sizing: border-box; */
}
#pag-biblio .fondos li p { margin: 6px 0 0; }
#pag-biblio .fondos li p.aut { color: #888; font-style: italic; font-size: 9pt; }

/* Contenido anuncios */
#pag-biblio .anuncio { padding: 6px; clear: both; overflow: hidden; margin-bottom: 4px; }
#pag-biblio .anuncio > h6 { font-weight: bold; font-size: 16pt; padding: 0 4px; border-bottom: 1px dotted #888; margin-bottom: 4px; }
#pag-biblio .anuncio > div { padding: 0 4px; }
#pag-biblio .anuncio > div table { border-style: solid; margin: auto; }
#pag-biblio .anuncio > div th, td { border-style: solid; }
#pag-biblio .anuncio > div blockquote {
	font-style: italic; font-family: Georgia, Times, "Times New Roman", serif;
	padding: 2px 0; border-style: solid; border-color: #ccc; border-width: 0;
}
#pag-biblio .anuncio > div a { color: #26A; font-weight: normal; }
#pag-biblio .anuncio > div a:hover { text-decoration: underline; }
#pag-biblio .anuncio > div ol, #pag-biblio .anuncio > div ul,
#pag-biblio .anuncio > div dl { margin-right: 0; padding: 0 40px; }
#pag-biblio .anuncio > div h1, #pag-biblio .anuncio > div h2,
#pag-biblio .anuncio > div h3, #pag-biblio .anuncio > div h4,
#pag-biblio .anuncio > div h5, #pag-biblio .anuncio > div h6 { font-weight: bold; line-height: 1.5; }
#pag-biblio .anuncio > div hr { border: none; border-top: 1px solid #DCB; }
#pag-biblio .anuncio > div img.right { border: 1px solid #ccc; float: right; margin-left: 15px; padding: 5px; }
#pag-biblio .anuncio > div img.left {	border: 1px solid #ccc; float: left; margin-right: 15px; padding: 5px; }
#pag-biblio .anuncio > div pre { white-space: pre-wrap; word-wrap: break-word; -moz-tab-size: 4; tab-size: 4; }
#pag-biblio .anuncio > div a > img { padding: 1px; margin: 1px; border: none; outline: 1px solid #2A6; }

#info-fondo { padding: 10px; }
#info-fondo img {
	float: right; width: 160px; height: 250px; margin-left: 12px; object-fit: contain; object-position: top;
}
#info-fondo p { text-align: left; margin: 2px 0; color: #555; }
#info-fondo p.tit { font-weight: bold; font-size: 12pt; margin: 2px 0 6px; color: #222; }
#info-fondo p.aut { font-style: italic; margin-bottom: 1em; }
#info-fondo span {
	display: block; width: 120px; border-bottom: 1px dotted #444; font-weight: bold; color: #888; font-size: 8pt;
}
#info-fondo span ~ p { padding-left: 1em; margin-bottom: 6px; text-align: justify; }

#gest-anuncios .laccs { position: absolute; right: 0; top: 4px; }
#gest-anuncios .laccs a {
	font-size: 11pt; padding: 1px 5px; margin: 0 3px; color: #484; text-shadow: 0 0 2px #FFF;
}
#gest-anuncios .laccs a:hover { color: #C40; }
#gest-anuncios .tab { max-height: 400px; overflow: auto; }
#gest-anuncios .lst label { color: #44A; } /* Normal */
#gest-anuncios .lst label.nv0 { color: #888; font-style: italic; } /* No visible */
#gest-anuncios .lst label.nv1 { color: #960; } /* Por fechas */
#gest-anuncios fieldset .chk { margin: 6px 3px 9px 2px; }
#gest-anuncios fieldset .tx3 { margin-bottom: 4px; }

/* Responsiveness */
@media (max-width: 1024px) {
	#panelcnt { padding: 0 2px; }
	#pag-biblio { display: block; }
	#pag-biblio .clat { width: 100%; max-width: none; }
	.form label.fix, .form .seph { display: none; }
	.form [class*="tx"] { width: 100%; box-sizing: border-box; }
}
