@charset "UTF-8";
@font-face {
  font-family: Roboto;
  src: url(/recursosweb/fonts/roboto/Roboto-Light.eot);
  src: local("Roboto Light"), local("Roboto-Light"), url(/recursosweb/fonts/roboto/Roboto-Light.eot?#iefix) format("embedded-opentype"), url(/recursosweb/fonts/roboto/Roboto-Light.woff2) format("woff2"), url(/recursosweb/fonts/roboto/Roboto-Light.woff) format("woff"), url(/recursosweb/fonts/roboto/Roboto-Light.ttf) format("truetype"), url(/recursosweb/fonts/roboto/Roboto-Light.svg#Roboto) format("svg");
  font-weight: 400;
  font-style: normal;
}
@font-face {
  font-family: Roboto;
  src: url(/recursosweb/fonts/roboto/Roboto-Regular.eot);
  src: local("Roboto Regular"), local("Roboto-Regular"), url(/recursosweb/fonts/roboto/Roboto-Regular.eot?#iefix) format("embedded-opentype"), url(/recursosweb/fonts/roboto/Roboto-Regular.woff2) format("woff2"), url(/recursosweb/fonts/roboto/Roboto-Regular.woff) format("woff"), url(/recursosweb/fonts/roboto/Roboto-Regular.ttf) format("truetype"), url(/recursosweb/fonts/roboto/Roboto-Regular.svg#Roboto) format("svg");
  font-weight: 700;
  font-style: normal;
}
@font-face {
  font-family: "XuntaSans";
  src: url("/recursosweb/fonts/XuntaSans-Regular.woff") format("woff"), url("/recursosweb/fonts/XuntaSans-Regular.ttf") format("truetype");
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: XuntaSans;
  font-weight: 400;
  src: url(/recursosweb/fonts/xunta-sans/XuntaSans-Regular.woff) format("woff"), url(/recursosweb/fonts/xunta-sans/XuntaSans-Regular.woff) format("woff2");
}
@font-face {
  font-family: XuntaSans;
  font-style: italic;
  font-weight: 400;
  src: url(/recursosweb/fonts/xunta-sans/XuntaSans-Italic.woff) format("woff"), url(/recursosweb/fonts/xunta-sans/XuntaSans-Italic.woff) format("woff2");
}
@font-face {
  font-family: XuntaSans;
  font-weight: 700;
  src: url(/recursosweb/fonts/xunta-sans/XuntaSans-Bold.woff) format("woff"), url(/recursosweb/fonts/xunta-sans/XuntaSans-Bold.woff2) format("woff2");
}
@font-face {
  font-family: XuntaSans;
  font-style: italic;
  font-weight: 700;
  src: url(/recursosweb/fonts/xunta-sans/XuntaSans-BoldItalic.woff) format("woff"), url(/recursosweb/fonts/xunta-sans/XuntaSans-BoldItalic.woff2) format("woff2");
}
header {
  width: 100%;
  box-sizing: border-box;
  display: flex !important;
  flex-direction: row;
  align-items: center;
  background-color: #f2f8fb;
  padding-top: 15px;
  padding-bottom: 15px;
}

#app_nome {
  width: 240px;
}

#app_nome > div {
  display: inline-block;
}

#nomeAplicacion {
  padding-left: 10px;
  width: calc(240px - 45px);
}

#nomeAplicacion h1 {
  margin: 0;
  padding-top: 5px;
}

/* Foco accesible para o nome da aplicación
   O foco normalmente chega ao <a> interno; usamos :focus-within para que o contedor
   reciba tamén o estilo cando calquera elemento interno teña foco, e engadimos
   unha regra para o enlace concreto (a:focus-visible). */
#nomeAplicacion:has(a:focus-visible) {
  outline: none;
  border-radius: 4px;
  box-shadow: 0 0 0 3px #002b4a;
}

/* Cando o contedor mostra o bordo exterior, suprimimos o anel do enlace interno
   para evitar dous bordos ao mesmo tempo (só afectará ao enlace dentro de #nomeAplicacion). */
#nomeAplicacion:has(a:focus-visible) a:focus-visible {
  outline: none;
  box-shadow: none;
}

#iconoMenu {
  width: 45px;
  float: right;
}

#iconoMenu span {
  font-size: 30px;
}

#accesosDirectos {
  flex: 1;
  display: flex;
  justify-content: center;
  gap: 10px;
}

#iconoMenu a,
#accesosDirectos a {
  -webkit-transition: all 0.2s cubic-bezier(0, 0, 0.1, 1);
  -o-transition: all 0.2s cubic-bezier(0, 0, 0.1, 1);
  transition: all 0.2s cubic-bezier(0, 0, 0.1, 1);
  display: flex;
  align-items: center;
  justify-content: center;
  width: 50px;
  height: 50px;
  -webkit-box-shadow: 0 0 8px 0 rgba(0, 0, 0, 0.08);
  box-shadow: 0 0 8px 0 rgba(0, 0, 0, 0.08);
  border: 1px solid #ddd;
  border-radius: 15px;
  background-color: #fff;
  color: #007bc4;
  text-decoration: none;
  overflow: hidden;
  cursor: pointer;
}

#iconoMenu a:hover,
#accesosDirectos a:hover {
  border: 1px solid #fff;
  background-color: #007bc4;
  color: #fff;
  text-decoration: none;
  overflow: hidden;
  cursor: pointer;
}

/* Foco accesible para el icono do menú (anel interno) */
#iconoMenu a:focus-visible,
#accesosDirectos a:focus-visible {
  outline: none;
  border-radius: 12px;
  box-shadow: inset 0 0 0 3px rgba(0, 0, 0, 0.08), inset 0 0 0 2px #002b4a;
}

#iconoMenu a span.glyphicon:hover,
#iconoMenu a span.glyphicon:focus-visible {
  color: #fff;
}

#accesosDirectos a i {
  position: relative;
  display: inline-block;
  top: 0;
  left: 0;
  transition: color 0.31s ease;
  display: inline-block;
  font-size: 30px;
  -webkit-transition: all 80ms ease;
  -moz-transition: all 80ms ease;
  -ms-transition: all 80ms ease;
  -o-transition: all 80ms ease;
  transition: all 80ms ease;
  -webkit-transition: color 0.31s ease;
  -moz-transition: color 0.31s ease;
  -ms-transition: color 0.31s ease;
  -o-transition: color 0.31s ease;
  transition: color 0.31s ease;
}

#imaxeENomeUsuario {
  display: flex;
  align-items: center;
  gap: 10px;
  padding-right: 35px;
}

#imaxeENomeUsuario > img {
  border-radius: 50%;
  width: 40px;
  height: 40px;
  -webkit-transition: all 0.31s ease;
  -moz-transition: all 0.31s ease;
  -ms-transition: all 0.31s ease;
  -o-transition: all 0.31s ease;
  transition: all 0.31s ease;
}

#imaxeENomeUsuario > img:hover {
  border-radius: 0;
  border: 1px solid #fff;
  box-shadow: 0 0 8px -3px rgba(0, 0, 0, 0.6);
}

#imaxeENomeUsuario > span#cabeceiraNomeUsuario {
  color: #002b4a;
  font-size: 0.9em;
}

#botonLogin {
  width: 30px;
  display: flex;
  justify-content: flex-end;
}

#botonLogin i {
  font-size: 30px;
  color: #888;
  padding-right: 20px;
}

#botonLogin i:hover {
  transform: scale(1.05);
}

/* Foco accesible para o boton login */
#botonLogin:focus-visible,
#botonLogin a:focus-visible {
  outline: none;
  border-radius: 4px;
  box-shadow: inset 0 0 0 3px rgba(0, 0, 0, 0.08), inset 0 0 0 2px #002b4a;
}

/* Estilos para pantallas pequeñas */
@media (max-width: 650px) {
  header {
    display: grid !important;
    grid-template-areas: "logo" "fila1" "fila2";
    grid-template-columns: 1fr;
    padding-bottom: 5px;
    padding-top: 5px;
  }
  #app_nome {
    width: 100%;
  }
  #accesosDirectos,
  #botonLogin {
    align-items: center;
  }
  #app_nome {
    grid-area: logo;
  }
  #accesosDirectos,
  #botonLogin {
    grid-area: fila2;
  }
  div#imaxeENomeUsuario {
    grid-area: fila1;
  }
  #accesosDirectos {
    width: 100%;
    display: none;
    justify-content: flex-start;
    gap: 10px;
    padding-left: 3px;
    padding-top: 2px;
  }
  #botonLogin {
    display: none;
    margin-left: auto;
  }
  div#accesosDirectos a {
    width: 40px;
    height: 40px;
  }
  div#accesosDirectos a i {
    font-size: 25px;
  }
  div#botonLogin i {
    font-size: 25px;
    padding-right: 20px;
  }
  div#imaxeENomeUsuario {
    padding: 0px 10px 0 10px;
    display: flex;
  }
  div#imaxeENomeUsuario > img {
    width: 25px;
    height: 25px;
  }
  div#imaxeENomeUsuario > span#cabeceiraNomeUsuario {
    font-size: 0.99987rem;
  }
  #iconoMenu {
    width: 50px;
    margin-right: 10px;
  }
}
@media (min-width: 601px) {
  #accesosDirectos {
    display: flex;
  }
}
.botonEnLinea,
.botazul,
.botdourado,
.botnavegacion,
.botaccion,
.botperigoso {
  font-size: inherit;
  font-family: inherit;
  color: #ffffff !important;
  display: inline-block;
  font-weight: 400;
  text-align: center;
  vertical-align: middle;
  touch-action: manipulation;
  cursor: pointer;
  border: 1px solid transparent;
  white-space: nowrap;
  border-radius: 4px;
  text-decoration: none;
  text-transform: capitalize;
}

.botdourado,
.botaccion {
  margin-top: 10px;
  padding: 9px 12px;
  background-color: #8a6e00;
  height: 37px;
}

.botazul,
.botnavegacion {
  margin-top: 10px;
  padding: 9px 12px;
  background-color: #007bc4;
  height: 37px;
}

.botperigoso {
  margin-top: 10px;
  padding: 9px 12px;
  background-color: #d43e3a;
  height: 37px;
}

.botonEnLinea {
  margin-left: 10px;
  padding: 0 12px;
  background-color: #5bc0de;
  height: 26px;
}

.botdourado:hover,
.botaccion:hover {
  background-color: #574500;
}

.botazul:hover,
.botnavegacion:hover {
  background-color: #005b91;
}

.botperigoso:hover {
  background-color: #b42b27;
}

.botonEnLinea:hover {
  background-color: #31b0d5;
}

.botdourado[disabled],
.botaccion[disabled],
.botazul[disabled],
.botnavegacion[disabled],
.botperigoso[disabled],
.botonEnLinea[disabled] {
  cursor: not-allowed;
  opacity: 0.65;
}

button[disabled],
button[disabled=disabled],
input[type=submit][disabled],
input[type=submit][disabled=disabled],
input[type=button][disabled],
input[type=button][disabled=disabled] {
  cursor: not-allowed;
  opacity: 0.65;
}

.etiqueta {
  font-family: inherit;
  vertical-align: text-bottom;
  text-transform: none;
}

.textoFormulario {
  font-family: inherit;
  color: black;
  font-size: 80%;
}

.titformulario {
  font-size: 0.8em;
  font-family: inherit;
  font-weight: bold;
  color: #346ea1;
  text-transform: uppercase;
  background-image: url("/recursosweb/imaxes/formularios/frecha_fondo_formulario.gif");
  background-repeat: no-repeat;
  background-position: right center;
}

.nombreformulario {
  font-size: 0.9em;
  font-weight: bold;
  font-family: inherit;
  color: #346ea1;
  height: 2.2em;
  vertical-align: bottom;
  background-image: url("/recursosweb/imaxes/formularios/sombra_contidos1_inferior.png");
  background-repeat: no-repeat;
  background-position: left bottom;
}

.tipoformulario {
  font-size: 1.15em;
  font-weight: bold;
  font-family: inherit;
  text-transform: uppercase;
  color: #346ea1;
  height: 2.2em;
  vertical-align: bottom;
}

.formulariomenu {
  font-size: 0.8em;
  font-family: inherit;
  height: 1.15em;
  margin-top: 0em;
  margin-right: 0em;
  margin-bottom: 0em;
  margin-left: 0em;
  padding-top: 0em;
  padding-right: 0em;
  padding-bottom: 0em;
  padding-left: 0em;
  background-color: #ccdfef;
  border: 0.07em outset #000000;
}

.explicacion {
  font-size: 0.8em;
  font-family: inherit;
  font-style: italic;
  color: inherit;
  font-weight: normal;
}

.obrigatorio {
  vertical-align: middle;
  color: #a94442;
}

div.campoObrigatorio > LABEL {
  background: url("/recursosweb/imaxes/iconos/asterisco.png") center right no-repeat;
  padding-right: 13px;
}

select[disabled=disabled],
input[type=text][readonly=readonly],
input[type=password][readonly=readonly],
textarea[readonly=readonly],
select[disabled],
input[type=text][readonly],
input[type=password][readonly],
textarea[readonly] {
  font-family: inherit;
  background-color: #edeff5;
  opacity: 0.65;
  cursor: not-allowed;
}

input[type=text][disabled],
input[type=password][disabled] {
  font-family: inherit;
  background-color: #edeff5;
  opacity: 0.65;
  cursor: not-allowed;
}

input[type=checkbox][disabled] {
  cursor: not-allowed;
}

select,
input[type=text],
input[type=checkbox],
input[type=password],
textarea {
  font-family: inherit;
  padding: 3px 6px;
  font-size: 0.9em;
  color: #002b4a;
  background-color: inherit;
  border: 1px solid #ccc;
  border-radius: 6px;
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  transition: border-color ease-in-out 0.31s, box-shadow ease-in-out 0.15s;
}

/* foco visible para os elementos nos que escapaba */
input[type=text]:focus-visible,
input[type=password]:focus-visible,
input[type=checkbox]:focus-visible,
textarea:focus-visible,
select:focus-visible {
  border-color: #45baff;
  outline: none;
  box-shadow: 0 0 0 3px rgba(69, 186, 255, 0.25);
}

.ce_contabancaria_conta {
  width: 34em;
}

.ce_data {
  width: 7em;
}

.ce_doi,
.ce_die {
  width: 15em;
}

/* ESTILOS ESPECIAIS PARA AS PESTANAS DOS FORMULARIOS */
/* ******************************************************** */
/* Estilos para as pestanas: posicionamento focus e formato	*/
/* Ollo!! o estilo da pestana Activa						*/
/*	#pestanasCabeceira #<%=pestanaIdActiva%> a 			   	*/
/* está definido no LayoutPestanas.jsp				        */
/* ******************************************************** */
#pestanasCabeceira {
  float: left;
  display: block;
  width: 99%;
}

#pestanasCorpo {
  padding: 1em;
  float: left;
  width: 99%;
  position: relative;
}

ul.pestanasListaCabeceira {
  clear: both;
  float: left;
  width: 100%;
  background-color: #f2f8fb;
  margin-top: 30px;
  margin-bottom: 0;
  padding-left: 0;
}

ul.pestanasListaCabeceira li,
li.pestanasItemListaCabeceira {
  list-style: none;
  display: inline-block;
  padding: 10px 32px 10px 32px;
}

ul.pestanasListaCabeceira li a,
a.pestanasEnlaceCabeceira {
  text-decoration: none;
  padding: 10px 0 10px 0;
  font-size: 18px;
  font-weight: 300;
  color: #777;
}

/* Foco visible para pestanas: só en modo teclado */
ul.pestanasListaCabeceira li a:focus-visible,
a.pestanasEnlaceCabeceira:focus-visible {
  outline: none;
  box-shadow: 0 0 0 3px #002b4a;
  border-radius: 4px;
}

ul.pestanasListaCabeceira li a:hover,
a.pestanasEnlaceCabeceira:hover {
  border-bottom: 3px solid #47c9ff;
}

ul.pestanasListaCabeceira li a.pestanaDeshabilitada,
ul.pestanasListaCabeceira li a.pestanaDeshabilitada:hover,
a.pestanaDeshabilitada,
a.pestanaDeshabilitada:hover {
  background-color: #c4c4c4;
  cursor: not-allowed;
}

/* ESTILOS PARA AS MENSAXES DE AVISO OU ERRO */
.mensaxeErro {
  background-color: #f2dede;
  border: 1px solid;
  border-color: #ebccd1;
  color: #a94442;
}

.mensaxeAviso {
  background-color: #d9edf7;
  border: 1px solid;
  border-color: #bce8f1;
  color: #31708f;
}

.mensaxeConfirmacion {
  background-color: #dff0d8;
  border: 1px solid;
  border-color: #d6e9c6;
  color: #3c763d;
}

.mensaxeAdvertencia {
  background-color: #fcf8e3;
  border: 1px solid;
  border-color: #faebcc;
  color: #8a6d3b;
}

.mensaxeAviso,
.mensaxeErro,
.mensaxeConfirmacion,
.mensaxeAdvertencia {
  clear: right;
  display: block;
  font-weight: 700;
  padding: 10px;
  margin: 20px 0 20px 0;
  white-space: normal !important;
}

div.mensaxeAviso,
div.mensaxeErro,
div.mensaxeConfirmacion,
div.mensaxeAdvertencia {
  min-height: 60px;
}

.mensaxeErro p,
.mensaxeAviso p,
.mensaxeConfirmacion p,
.mensaxeAdvertencia p {
  margin: 0 0 0 50px;
}

.mensaxeErro span.glyphicon,
.mensaxeAviso span.glyphicon,
.mensaxeConfirmacion span.glyphicon,
.mensaxeAdvertencia span.glyphicon {
  float: left;
}

.estiloListado .mensaxeAviso,
.estiloListado .mensaxeErro,
.estiloListado .mensaxeConfirmacion,
.estiloListado .mensaxeAdvertencia,
.LayoutCamposHorizontal div .mensaxeAviso,
.LayoutCamposHorizontal div .mensaxeErro,
.LayoutCamposHorizontal div .mensaxeConfirmacion,
.LayoutCamposHorizontal div .mensaxeAdvertencia,
.LayoutCamposVertical div .mensaxeAviso,
.LayoutCamposVertical div .mensaxeErro,
.LayoutCamposVertical div .mensaxeConfirmacion,
.LayoutCamposVertical div .mensaxeAdvertencia {
  display: inline-block;
  width: auto;
  font-weight: normal !important;
  font-size: small !important;
  line-height: 100%;
  padding: 1px;
  margin: 0;
  background-image: none;
}

ul.mensaxeCampo {
  display: inline;
  list-style-type: none;
  margin: 0;
  padding: 0;
}

#erros {
  float: none;
}

/* ************************************** */
/* ESTILOS PARA O DISPLAYTAG */
/* ************************************** */
table.estiloListado {
  width: 100%;
  margin-bottom: 1em;
  clear: both;
  border-collapse: collapse;
  border-spacing: 0;
}

table.estiloListado caption {
  font-weight: bold;
  font-size: 1.25em;
  margin-bottom: 0.5em;
  color: #1d71b8;
}

table.estiloListado th {
  color: #1d71b8;
  border-bottom: 2px solid #ddd;
  background-color: #fff;
}

table.estiloListado td {
  text-align: center;
  border-top: 1px solid #ddd;
  padding: 4px;
}

table.estiloListado tr.impar {
  background-color: #f9f9f9;
}

table.estiloListado tr:hover {
  background-color: #e8e8e8;
}

span.pagebanner {
  padding: 0.3em 0.04em 0.3em 0.04em;
  width: 100%;
  float: left;
}

span.pagelinks {
  padding: 0.5em 0.04em 0.5em 0.04em;
  width: 100%;
  float: right;
  text-align: right;
}

.pagelinks > strong {
  border: 1px solid #dddddd;
  padding: 6px 12px;
  margin: 0;
  color: #1d71b8;
  background-color: #fff;
  text-decoration: none;
  cursor: default;
}

.pagelinks > strong:hover {
  color: #134876;
  background-color: #eee;
}

.pagelinks > strong.currentPage {
  color: #fff;
  background-color: #1d71b8;
  border-color: #1d71b8;
}

strong.goToFirstPage,
a.goToFirstPage {
  border-bottom-left-radius: 4px;
  border-top-left-radius: 4px;
}

strong.goToLastPage,
a.goToLastPage {
  border-bottom-right-radius: 4px;
  border-top-right-radius: 4px;
}

.pagelinks > a {
  border: 1px solid #dddddd;
  padding: 6px 12px;
  margin: 0;
  color: #1d71b8;
  background-color: #fff;
  text-decoration: none;
}

.pagelinks > a:hover {
  color: #134876;
  background-color: #eee;
}

/**
 * Define a disposición dos elementos englobados no bloque que use esta clase.
 */
.LayoutCamposHorizontal {
  clear: both;
  float: left;
  position: relative;
  width: 100%;
  padding: 0.1em 0;
}

/**
 * Define a separación e o fluxo respecto o pai de cada DIV contedor disposto nun LayoutHorizontal.
 */
.LayoutCamposHorizontal DIV {
  float: left;
  margin-right: 2em;
}

.LayoutCamposHorizontal > div {
  margin-right: 3%;
}

.AnchoMetade .LayoutCamposHorizontal > div {
  margin-right: 6%;
}

.LayoutCamposHorizontal DIV.EtiquetaArriba {
  float: none;
  margin-right: 0;
  line-height: 0.9em;
}

/**
 * Define o comportamento dos Layouts ao estaren anidados.
 * Recolle os elementos anidados directamente na última capa da regla (Vertical ou Horizontal)
 */
.LayoutCamposHorizontal .LayoutCamposVertical > DIV {
  clear: left;
}

.LayoutCamposVertical .LayoutCamposHorizontal > DIV {
  clear: none;
}

/**
 * Tódolos labels pertencentes a un DIV pertencente a un DIV de tipo LayoutCamposXXX deben desprazar ós controis
 * asociados para quedar por encima deles.
 *
 */
DIV.LayoutCamposHorizontal > DIV > LABEL,
DIV.LayoutCamposVertical > DIV > LABEL {
  clear: left;
  display: block;
}

/**
 * Sobreescribe o display: block para as label con estilo "etiqueta".
 * Soluciona o problema de maquetación dos controis "camposedu".
 */
DIV.LayoutCamposHorizontal > DIV > LABEL.etiqueta,
DIV.LayoutCamposVertical > DIV > LABEL.etiqueta {
  display: inline;
}

/**
 * Alinea os controis de tipo check e radio ao medio do seu control pai.
 */
.LayoutCamposVertical INPUT[type=checkbox],
.LayoutCamposVertical INPUT[type=radio],
.LayoutCamposHorizontal INPUT[type=checkbox],
.LayoutCamposHorizontal INPUT[type=radio] {
  vertical-align: middle;
}

/**
 * As labels dos controis radio e check deben ter unha marxe pola dereita,
 * para separalas de posibles controis situados nese lado.
 * 
 * A disposición dos controis de tipo check e radio debe ser ó lado da label.
 * Para iso, sobreescribimos a propiedade display da label.
 */
.LayoutCamposVertical INPUT[type=checkbox] + LABEL,
.LayoutCamposVertical INPUT[type=radio] + LABEL,
.LayoutCamposHorizontal INPUT[type=radio] + LABEL,
.LayoutCamposHorizontal INPUT[type=checkbox] + LABEL {
  margin-right: 1em;
  clear: none;
  display: inline;
}

/**
 * Propiedades para o fieldset/div da dereita que non defina clase AnchoMetade.
 */
.campos + FIELDSET, .campos + DIV, .AnchoMetade + FIELDSET, .AnchoMetade + DIV {
  margin-left: 0;
  padding-top: 1em;
}

.campos, .AnchoMetade {
  position: relative;
  float: left;
  width: 45%;
  /**
   * v1.68
   * O modo de disposición pasa a ser table para evitar a solapación dos elementos
   * de bloque incluídos baixo un DIV que declare esta clase.
   */
  display: table;
  margin-left: 0;
  /**
   * v1.79
   * Reducimos o marxen pola dereita.
   */
  margin-right: 0.5em;
  padding-top: 1em;
}

.campos_doble, .AnchoTotal {
  position: relative;
  float: left;
  width: 100%;
  padding: 0.1em 0;
  margin: 0.1em 0;
}

.AnchoTotal {
  overflow-x: auto;
}

/* Evita o clipping do dropdown de Chosen (posición absoluta) dentro de AnchoTotal */
.AnchoTotal:has(.chosen-container.chosen-with-drop) {
  overflow: visible;
}

/**
	No modo estricto, os fieldsets adaptan o ancho automaticamente se teñen un pai que defina anchura.
*/
FIELDSET.AnchoTotal {
  width: 98%;
  margin-left: 2px;
  /** HACK <IE7 **/
  float: none;
}

/***********************************************************/
/*            PARA O VISUALIZADOR DE INFORMES              */
/***********************************************************/
.contenedorInforme {
  width: 100%;
  height: 90%;
}

.informeEstandar {
  width: 100%;
  height: 100vh;
}

.informeMultipleAnchoMetade {
  width: 47%;
  height: 70vh;
  float: left;
}

/* *************************************************** */
/* Estilos por defecto para as novas de axudaplicacion */
/* *************************************************** */
.tituloNovas {
  background-color: #346ea1;
  font-size: 1em;
  text-align: left;
  width: 100%;
  padding: 0em;
}

a.tituloNovas {
  color: #ffffff;
}

.detalleNovas {
  text-align: justify;
  color: #000000;
  font-size: 90%;
  margin: 2em !important;
}

ul.detalleNovas {
  text-align: justify;
  color: #000000;
  font-size: 100%;
  margin: 2.5em;
}

.marqueeNovas {
  padding: 0.5em;
  border: 0.18em dotted #c4c4c4;
  background-color: #ccdfef;
  height: 3em;
}

.cabeceraNovas {
  color: #346ea1;
  font-size: 1.3em;
  text-align: center;
}

.enlaceNovas,
.enlaceNovas a {
  color: #346ea1;
  font-size: 90%;
  font-weight: normal;
}

.enlaceNovas a {
  font-size: 100%;
}

.textoTituloNovas {
  margin: 0;
  padding: 0.3em;
  font-size: 90%;
  margin-left: 1em;
  font-weight: normal;
}

.mensaxeAxuda {
  color: #224767;
  background-color: white;
  padding: 1em;
  position: relative;
  margin-top: 1em;
  border-left: 4px solid #007bc4;
  padding-left: 1em;
  padding-right: 1em;
  padding-bottom: 0.1em;
  padding-top: 0.1em;
}

.contidoAxuda {
  color: #224767;
  font-size: 80%;
}

.axudaPregunta {
  padding: 0.5em;
}

a.axudaPregunta {
  color: white;
  font-size: 100%;
  font-weight: normal;
}

h2.axudaPregunta {
  background-color: #346ea1;
  color: #ffffff;
  font-size: 90%;
  font-weight: normal;
  text-align: left;
  margin: 1em;
}

.axudaResposta {
  text-align: justify;
  color: #000000;
  font-size: 90%;
  margin: 2em;
}

table.configuracion caption {
  background-color: #e6dee6;
  color: #193752;
  font-weight: bold;
}

table.configuracion {
  padding-left: 15em;
  font-size: x-small;
  padding-right: 15em;
}

.elemento {
  text-align: center;
}

.seccion {
  background-color: #346ea1;
  color: #193752;
  text-align: center;
  font-weight: bold;
}

.seccion a {
  color: #193752 !important;
}

td.elemento {
  background-color: #a6c6e2;
  border-style: solid;
  border-color: black;
  border-width: 0.1em;
}

td.chave {
  font-weight: bold;
}

td.valor {
  font-style: italic;
}

.positivo {
  color: #104010;
}

.negativo {
  color: #7d0505;
}

.positivo,
.negativo {
  font-weight: bold;
}

@-webkit-keyframes fade-in {
  from {
    opacity: 0;
    visibility: hidden;
  }
  to {
    opacity: 0.5;
    visibility: visible;
  }
}
@-moz-keyframes fade-in {
  from {
    opacity: 0;
    visibility: hidden;
  }
  to {
    opacity: 0.5;
    visibility: visible;
  }
}
@-o-keyframes fade-in {
  from {
    opacity: 0;
    visibility: hidden;
  }
  to {
    opacity: 0.5;
    visibility: visible;
  }
}
@keyframes fade-in {
  from {
    opacity: 0;
    visibility: hidden;
  }
  to {
    opacity: 0.5;
    visibility: visible;
  }
}
@-webkit-keyframes fade-out {
  from {
    opacity: 0.5;
    visibility: visible;
  }
  to {
    opacity: 0;
    visibility: hidden;
  }
}
@-moz-keyframes fade-out {
  from {
    opacity: 0.5;
    visibility: visible;
  }
  to {
    opacity: 0;
    visibility: hidden;
  }
}
@-o-keyframes fade-out {
  from {
    opacity: 0.5;
    visibility: visible;
  }
  to {
    opacity: 0;
    visibility: hidden;
  }
}
@keyframes fade-out {
  from {
    opacity: 0.5;
    visibility: visible;
  }
  to {
    opacity: 0;
    visibility: hidden;
  }
}
.fade-in-animation {
  display: block !important;
  -webkit-animation: fade-in 0.2s linear 0s forwards;
  -o-animation: fade-in 0.2s linear 0s forwards;
  animation: fade-in 0.2s linear 0s forwards;
}

.fade-out-animation {
  -webkit-animation: fade-out 0.4s linear 0s forwards;
  -o-animation: fade-out 0.4s linear 0s forwards;
  animation: fade-out 0.4s linear 0s forwards;
}

#page-loader {
  position: fixed;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  background-color: #1184B9;
  opacity: 0.5;
  z-index: 5000;
}

#page-loader:after {
  content: "";
  opacity: 0.7;
  position: absolute;
  top: 50%;
  left: 50%;
  height: 70px;
  width: 70px;
  margin-top: -35px;
  margin-left: -35px;
  background-image: url(/recursosweb/imaxes/loader/loader1.png);
  background-size: 100% 100%;
  background-position: 0 0;
  background-repeat: no-repeat;
  -webkit-animation: big-o 1.3s infinite linear;
  -o-animation: big-o 1.3s infinite linear;
  animation: big-o 1.3s infinite linear;
}

#page-loader .dot {
  opacity: 0.7;
  position: absolute;
  top: 50%;
  left: 50%;
  height: 70px;
  width: 70px;
  margin-top: -35px;
  margin-left: -35px;
  background-image: url(/recursosweb/imaxes/loader/loader2.png);
  background-size: 100% 100%;
  background-position: 0 0;
  background-repeat: no-repeat;
}

#page-loader .dot:nth-child(1) {
  -webkit-animation: dot1 1.3s infinite ease-in-out;
  -o-animation: dot1 1.3s infinite ease-in-out;
  animation: dot1 1.3s infinite ease-in-out;
}

#page-loader .dot:nth-child(2) {
  -webkit-animation: dot2 1.3s infinite ease-in-out;
  -o-animation: dot2 1.3s infinite ease-in-out;
  animation: dot2 1.3s infinite ease-in-out;
}

@-webkit-keyframes dot1 {
  10% {
    opacity: 0.7;
    -webkit-transform: rotate(0);
    -ms-transform: rotate(0);
    -o-transform: rotate(0);
    transform: rotate(0);
  }
  50% {
    opacity: 0.2;
  }
  100% {
    opacity: 0.7;
    -webkit-transform: rotate(360deg);
    -ms-transform: rotate(360deg);
    -o-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
@-moz-keyframes dot1 {
  10% {
    opacity: 0.7;
    -webkit-transform: rotate(0);
    -ms-transform: rotate(0);
    -o-transform: rotate(0);
    transform: rotate(0);
  }
  50% {
    opacity: 0.2;
  }
  100% {
    opacity: 0.7;
    -webkit-transform: rotate(360deg);
    -ms-transform: rotate(360deg);
    -o-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
@-o-keyframes dot1 {
  10% {
    opacity: 0.7;
    -webkit-transform: rotate(0);
    -ms-transform: rotate(0);
    -o-transform: rotate(0);
    transform: rotate(0);
  }
  50% {
    opacity: 0.2;
  }
  100% {
    opacity: 0.7;
    -webkit-transform: rotate(360deg);
    -ms-transform: rotate(360deg);
    -o-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
@keyframes dot1 {
  10% {
    opacity: 0.7;
    -webkit-transform: rotate(0);
    -ms-transform: rotate(0);
    -o-transform: rotate(0);
    transform: rotate(0);
  }
  50% {
    opacity: 0.2;
  }
  100% {
    opacity: 0.7;
    -webkit-transform: rotate(360deg);
    -ms-transform: rotate(360deg);
    -o-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
@-webkit-keyframes dot2 {
  10% {
    opacity: 0.1;
    -webkit-transform: rotate(0);
    -ms-transform: rotate(0);
    -o-transform: rotate(0);
    transform: rotate(0);
  }
  50% {
    opacity: 0.7;
  }
  100% {
    opacity: 0.1;
    -webkit-transform: rotate(-360deg);
    -ms-transform: rotate(-360deg);
    -o-transform: rotate(-360deg);
    transform: rotate(-360deg);
  }
}
@-moz-keyframes dot2 {
  10% {
    opacity: 0.1;
    -webkit-transform: rotate(0);
    -ms-transform: rotate(0);
    -o-transform: rotate(0);
    transform: rotate(0);
  }
  50% {
    opacity: 0.7;
  }
  100% {
    opacity: 0.1;
    -webkit-transform: rotate(-360deg);
    -ms-transform: rotate(-360deg);
    -o-transform: rotate(-360deg);
    transform: rotate(-360deg);
  }
}
@-o-keyframes dot2 {
  10% {
    opacity: 0.1;
    -webkit-transform: rotate(0);
    -ms-transform: rotate(0);
    -o-transform: rotate(0);
    transform: rotate(0);
  }
  50% {
    opacity: 0.7;
  }
  100% {
    opacity: 0.1;
    -webkit-transform: rotate(-360deg);
    -ms-transform: rotate(-360deg);
    -o-transform: rotate(-360deg);
    transform: rotate(-360deg);
  }
}
@keyframes dot2 {
  10% {
    opacity: 0.1;
    -webkit-transform: rotate(0);
    -ms-transform: rotate(0);
    -o-transform: rotate(0);
    transform: rotate(0);
  }
  50% {
    opacity: 0.7;
  }
  100% {
    opacity: 0.1;
    -webkit-transform: rotate(-360deg);
    -ms-transform: rotate(-360deg);
    -o-transform: rotate(-360deg);
    transform: rotate(-360deg);
  }
}
footer {
  font-size: 0.75em;
  color: #fff;
  margin-left: 0px;
  margin-right: 0px;
  background-color: #007bc4;
  clear: both;
  min-height: 70px;
  display: none;
}

.footerLogo {
  display: inline-block;
  width: 370px;
  padding-top: 20px;
  padding-right: 10px;
  padding-left: 50px;
  vertical-align: top;
  height: 70px;
}

.footerLogo img {
  width: 250px;
  border: 0;
}

/* Foco accesible para o logo: anel interior branco para evitar recorte e sen afectar o layout */
.footerLogo img:focus-visible,
.footerLogo img:focus,
.footerLogo a:focus-visible img,
.footerLogo a:focus img {
  /* Usamos outline en vez de box-shadow inset para poder separalo do elemento
     (outline-offset) e así ampliar o tamaño do rectángulo de foco mantendo o
     mesmo grosor do borde visual. Outline non afecta ao layout. */
  outline: 3px solid #ffffff;
  outline-offset: 6px;
  border-radius: 4px;
}

.footerInfo {
  color: inherit;
  display: inline-block;
  width: calc(99% - 770px);
  padding-top: 7px;
  padding-right: 10px;
  padding-bottom: 0;
  padding-left: 10px;
  vertical-align: top;
  height: 70px;
}

.footerContact {
  color: inherit;
  display: inline-block;
  width: 400px;
  vertical-align: middle;
  text-align: right;
  float: right;
  padding-left: 0px;
  padding-top: 25px;
  height: 70px;
}

.footerContact li {
  display: inline;
  padding-left: 5px;
  padding-right: 5px;
}

.footerContact li a {
  text-decoration: none;
  color: inherit;
}

/* Foco accesible para enlaces de contacto */
.footerContact li a:focus-visible {
  /* Outline separado do elemento para ampliar o recadro de foco sen aumentar grosor */
  outline: 3px solid #ffffff;
  outline-offset: 6px;
  border-radius: 3px;
}

.divEdu-menu {
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 240px;
  background-color: #f2f8fb;
  display: inline-block;
  float: left;
  overflow: auto;
  -webkit-transition: all 0.31s ease;
  -moz-transition: all 0.31s ease;
  -ms-transition: all 0.31s ease;
  -o-transition: all 0.31s ease;
  transition: all 0.31s ease;
  font-size: 1.1875rem;
}

.divEdu-menuOculto {
  width: 0px;
}

.divEdu-menu ul {
  padding-left: 0px;
  max-height: 0px;
  visibility: hidden;
  pointer-events: none;
}

/* Accesibilidade / comportamento inicial:
   O problema detectado era que tamén o UL raíz quedaba colapsado (max-height:0, visibility:hidden, pointer-events:none)
   antes de que o JS engadira clases, provocando que o menú completo desaparecese en certas aplicacións.
   Solución: só ocultamos por defecto os submenús ANIDADOS. O UL raíz permanece visible e interactivo.
   Isto evita ter que comentar as liñas anteriores e mantén a lóxica existente de animación para os niveis internos. */
.divEdu-menu > ul {
  /* O raíz debe ser sempre visible ao inicializar */
  max-height: none;
  visibility: visible;
  pointer-events: auto;
}

.divEdu-menu > ul:not(.subMenuVisible) {
  /* Aseguramos que, se por calquera razón o JS engade/substitúe clases, o raíz non se colapsa accidentalmente */
  max-height: none;
}

.divEdu-menu ul ul { /* só submenús (niveis > 1) quedan inicialmente pechados */
  max-height: 0px;
  visibility: hidden;
  pointer-events: none;
}

/* Aumentamos especificidade para contrarrestar a regra anterior e permitir apertura dos submenús anidados */
.divEdu-menu ul ul.subMenuVisible {
  max-height: 1600px;
  visibility: visible;
  pointer-events: auto;
}

ul.subMenuAnimado {
  transition: all 0.2s cubic-bezier(0, 0, 0.1, 1);
  -webkit-transition: all 0.2s cubic-bezier(0, 0, 0.1, 1);
  -moz-transition: all 0.2s cubic-bezier(0, 0, 0.1, 1);
  -ms-transition: all 0.2s cubic-bezier(0, 0, 0.1, 1);
  -o-transition: all 0.2s cubic-bezier(0, 0, 0.1, 1);
}

ul.subMenuVisible {
  max-height: 1600px;
  visibility: visible;
  pointer-events: auto;
}

.divEdu-menu ul li {
  color: #007bc4;
  float: none;
  position: relative;
  display: block;
  min-height: 40px;
  white-space: nowrap;
  overflow: hidden;
  font-weight: 700;
}

.divEdu-menu ul li a::after {
  content: "";
  position: absolute;
  top: 3px;
  right: 0;
  bottom: 3px;
  left: auto;
  -webkit-transition: all 0.2s cubic-bezier(0, 0, 0.1, 1);
  -o-transition: all 0.2s cubic-bezier(0, 0, 0.1, 1);
  transition: all 0.2s cubic-bezier(0, 0, 0.1, 1);
  background-color: #002b4a;
  width: 7px;
  border-radius: 10px;
  opacity: 0;
  display: block;
}

.divEdu-menu ul li a:hover::after {
  opacity: 1;
}

.divEdu-menu ul li ul li a:hover::after {
  background-color: #007bc4;
  top: 4px;
  right: 0;
  bottom: 4px;
}

.divEdu-menu ul li a:hover,
.divEdu-menu ul li a:focus {
  color: #002b4a;
  background-color: #f2f8fb;
}

/* Accesibilidade: mostrar un contorno visible cando o foco chega por teclado (tabulador).
   Usamos :focus-visible para non mostrar o contorno en clics con rato en navegadores que o soporten.
   Engadimos unha sombra suave para maior contraste sen alterar a cor de fondo. */
.divEdu-menu ul li a:focus-visible {
  /* Usamos un anel interno (inset) para que non sexa recortado polos contedores con overflow */
  outline: none;
  border-radius: 4px;
  /* Anel interno: sombra escura sutil + cor principal como segundo anel */
  box-shadow: inset 0 0 0 3px rgba(0, 0, 0, 0.12), inset 0 0 0 2px #002b4a;
}

.divEdu-menu ul li ul li a:hover .divEdu-menu ul li ul li a:focus {
  color: #007bc4;
}

.divEdu-menu li.seleccionado a {
  color: #002b4a;
  text-decoration-line: underline;
  text-decoration-style: dotted;
  text-underline-offset: 0.2em;
}

.divEdu-menu li:not(.seleccionado) a {
  text-decoration-line: none;
}

.divEdu-menu li ul li.seleccionado a {
  text-decoration-line: none;
  font-weight: 700;
}

.divEdu-menu li ul li:not(.seleccionado) a {
  text-decoration-line: none;
  font-weight: 400;
}

.divEdu-menu ul li a {
  color: inherit;
  display: block;
  font-size: 0.9em;
  padding: 10px 10px 10px 10px;
  text-decoration: none;
  text-overflow: ellipsis;
  overflow: hidden;
}

.divEdu-menu ul li ul li a {
  padding-left: 20px;
  font-size: 0.99987rem;
  color: #002b4a;
  font-weight: 400;
}

.divEdu-menu ul li ul li ul li a {
  padding-left: 40px;
}

.divEdu-menu ul li ul li ul li ul li a {
  padding-left: 60px;
}

.divEdu-menu ul li ul li ul li ul li ul li a {
  padding-left: 80px;
}

.divEdu-menu ul li a abbr {
  text-decoration: none;
  line-height: 0;
  vertical-align: middle;
  position: relative;
}

.divEdu-menu a span.fa-angle-up {
  border-width: 0 0.1em 0.1em 0;
  color: inherit;
  position: absolute;
  right: 10px;
  font-size: 1.2em;
}

span.fa-angle-up-animado {
  -webkit-transition: all 0.31s linear;
  -moz-transition: all 0.31s linear;
  -ms-transition: all 0.31s linear;
  -o-transition: all 0.31s linear;
  transition: all 0.31s linear;
}

.divEdu-menu ul li.seleccionado > a span.fa-angle-up {
  -webkit-transform: rotate(-180deg);
  -ms-transform: rotate(-180deg);
  -o-transform: rotate(-180deg);
  transform: rotate(-180deg);
}

@media all and (min-width: 1024px) {
  #imaxeENomeUsuario {
    display: flex;
  }
  .informacionContexto {
    display: block;
  }
  .footerInfo {
    display: inline-block;
  }
}
@media all and (max-width: 1023px) {
  #imaxeENomeUsuario {
    display: none;
  }
  .informacionContexto {
    display: none;
  }
  .footerInfo {
    display: none;
  }
}
@media screen and (min-height: 700px) {
  #contenedorPrincipal {
    min-height: calc(100% - 150px);
  }
}
@media screen and (max-height: 699px) {
  #contenedorPrincipal {
    min-height: calc(100% - 150px);
  }
}
@media all and (min-width: 651px) {
  .footerContact {
    display: inline-block;
  }
}
@media all and (max-width: 650px) {
  .footerContact {
    display: none;
  }
  .divEdu-menu {
    width: 100%;
    z-index: 2010;
    box-shadow: 0 0 8px 0 rgba(0, 0, 0, 0.08);
  }
  .divEdu-menuOculto {
    width: 0px !important;
  }
  .divEdu-menu ul li ul li a {
    font-size: 0.9em;
  }
}
@media print {
  #page-loader {
    display: none;
  }
}
/* ESTILOS PARA AS LISTAS */
.lista {
  font-size: 0.7em;
  color: black;
  font-weight: normal;
  text-decoration: none;
  vertical-align: top;
}

TD.lista a {
  font-size: 0.8em;
  color: rgb(52.4703389831, 110.3686440678, 161.0296610169);
  font-weight: bold;
  text-decoration: none;
  vertical-align: top;
}

TD.lista a:hover {
  font-size: 0.8em;
  color: black;
  font-weight: bold;
  text-decoration: none;
  vertical-align: top;
}

TD.lista a:active {
  font-size: 0.8em;
  color: rgb(52.4703389831, 110.3686440678, 161.0296610169);
  font-weight: bold;
  text-decoration: none;
  vertical-align: top;
}

.listaresul {
  font-size: 0.8em;
  color: black;
  font-weight: normal;
  text-decoration: none;
  vertical-align: top;
}

TD.listaresul a {
  font-size: 0.8em;
  color: rgb(52.4703389831, 110.3686440678, 161.0296610169);
  font-weight: normal;
  text-decoration: none;
  vertical-align: top;
}

TD.listaresul a:hover {
  font-size: 0.8em;
  color: black;
  font-weight: normal;
  text-decoration: none;
  vertical-align: top;
}

TD.listaresul a:active {
  font-size: 0.8em;
  color: black;
  font-weight: normal;
  text-decoration: none;
  vertical-align: top;
}

.listacabeceiro {
  font-size: 0.8em;
  color: black;
  font-weight: bold;
  text-decoration: none;
  text-transform: none;
}

TD .listacabeceiro a {
  color: rgb(52.4703389831, 110.3686440678, 161.0296610169);
  text-decoration: none;
}

TD .listacabeceiro a:active {
  color: black;
}

TD .listacabeceiro a:hover {
  color: black;
}

@-webkit-keyframes spin {
  from {
    -moz-transform: rotate(0);
    -webkit-transform: rotate(0);
    transform: rotate(0);
  }
  to {
    -moz-transform: rotate(360deg);
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
@-moz-keyframes spin {
  from {
    -moz-transform: rotate(0);
    -webkit-transform: rotate(0);
    transform: rotate(0);
  }
  to {
    -moz-transform: rotate(360deg);
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
@-o-keyframes spin {
  from {
    -moz-transform: rotate(0);
    -webkit-transform: rotate(0);
    transform: rotate(0);
  }
  to {
    -moz-transform: rotate(360deg);
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
@keyframes spin {
  from {
    -moz-transform: rotate(0);
    -webkit-transform: rotate(0);
    transform: rotate(0);
  }
  to {
    -moz-transform: rotate(360deg);
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
@-webkit-keyframes spin-reverse {
  from {
    -moz-transform: rotate(360deg);
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
  to {
    -moz-transform: rotate(0);
    -webkit-transform: rotate(0);
    transform: rotate(0);
  }
}
@-moz-keyframes spin-reverse {
  from {
    -moz-transform: rotate(360deg);
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
  to {
    -moz-transform: rotate(0);
    -webkit-transform: rotate(0);
    transform: rotate(0);
  }
}
@-o-keyframes spin-reverse {
  from {
    -moz-transform: rotate(360deg);
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
  to {
    -moz-transform: rotate(0);
    -webkit-transform: rotate(0);
    transform: rotate(0);
  }
}
@keyframes spin-reverse {
  from {
    -moz-transform: rotate(360deg);
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
  to {
    -moz-transform: rotate(0);
    -webkit-transform: rotate(0);
    transform: rotate(0);
  }
}
.spin-animation {
  -webkit-animation: spin 0.31s ease 0s;
  -o-animation: spin 0.31s ease 0s;
  animation: spin 0.31s ease 0s;
}

.spin-reverse-animation {
  -webkit-animation: spin-reverse 0.31s ease 0s;
  -o-animation: spin-reverse 0.31s ease 0s;
  animation: spin-reverse 0.31s ease 0s;
}

html,
body {
  font-family: XuntaSans, Arial, Helvetica, sans-serif;
  font-size: 16px;
  color: #444;
  background-color: #f2f8fb;
  color: #002b4a;
  margin: 0;
  height: 100%;
}

fieldset {
  overflow: visible;
  width: auto;
  padding: 0.15em 0.3em 0.2em 0.4em !important;
  margin: 0.15em;
  border: 0.1em solid #c4c4c4;
}

.chosen-container.chosen-with-drop {
  z-index: 3000;
}

.chosen-container .chosen-drop {
  z-index: 3001;
}

legend {
  display: block;
  padding: 0;
  margin-bottom: 22px;
  font-size: 1.4em;
  font-weight: 700;
  line-height: inherit;
  color: #1d71b8;
  border: 0;
}

fieldset,
input[type=button],
input[type=submit],
button,
.mensaxeAviso,
.mensaxeAxuda,
.mensaxeErro,
.mensaxeConfirmacion,
.mensaxeAdvertencia,
.botazul,
.botdourado,
.botnavegacion,
.botaccion,
.botperigoso {
  border-radius: 4px;
}

label {
  font-weight: 400;
  font-size: 0.9em;
  color: #222;
  display: inline-block;
  margin-bottom: 3px;
  margin-top: 7px;
}

label .enlaceImaxe {
  vertical-align: text-bottom;
}

a {
  color: #346ea1;
  cursor: pointer;
  outline: none;
}

a span.glyphicon,
a span.fa {
  font-size: 20px;
  color: #1d71b8;
  text-decoration: none;
}

a span.glyphicon:hover,
a span.fa:hover,
a span.glyphicon:focus,
a span.fa:focus {
  color: #134876;
}

h1,
.tituloFormulario {
  font-size: 1.6em;
  color: #1d71b8;
  display: inline-block;
}

h2 {
  font-size: 1.5em;
  color: #1d71b8;
  text-align: center;
}

a.enlaceExterno {
  background: url(/recursosweb/imaxes/iconos/external.png) center right no-repeat;
  padding-right: 13px;
}

.error {
  font-size: 80%;
  color: #7d0505;
}

.oculto {
  display: none !important;
}

.js {
  display: none;
}

.altofixo {
  height: 33em;
}

.enlaceImaxe {
  border: 0;
  vertical-align: middle;
  cursor: pointer;
}

.teclaAcceso {
  text-decoration: underline;
  cursor: help;
}

.entradillanova {
  font-size: 0.8em;
  font-weight: bold;
  color: #346ea1;
  line-height: 0.9em;
}

.textoPequenoApaisado {
  font-size: 80%;
  font-style: italic;
  font-weight: normal;
  text-align: justify;
  padding: 0.3125em 0.3125em;
  /*5px 5px;*/
}

.linkFondoBranco,
.linkFondoBranco:visited {
  font-weight: bold;
  color: #346ea1;
  text-decoration: none;
}

.linkFondoBranco:hover,
.linkFondoBranco:active,
.linkFondoBranco:focus {
  font-weight: bold;
  color: white;
  background-color: #346ea1;
}

.titulo {
  font-size: 130%;
  font-weight: bold;
  text-transform: uppercase;
  color: #346ea1;
  padding: 0.3125em 0.3125em 0.3125em 0em;
  /*5px 5px 5px 0;*/
}

.informacionContexto {
  float: right;
  margin: 0;
  max-width: 30%;
  width: 30%;
  overflow: hidden;
  text-align: right;
}

.senEspacios {
  margin: 0;
  padding: 0;
}

.camposAdaptable {
  position: relative;
  float: left;
  padding-right: 1em;
}

#contenedorPrincipal {
  width: 100%;
  position: relative;
  display: none;
}

.corpo {
  display: inline-block;
  width: calc(100% - 255px);
  margin-left: 240px;
  padding-left: 10px;
  padding-right: 10px;
  padding-bottom: 10px;
  position: relative;
  margin-bottom: 10px;
  -webkit-transition: all 0.31s ease;
  -moz-transition: all 0.31s ease;
  -ms-transition: all 0.31s ease;
  -o-transition: all 0.31s ease;
  transition: all 0.31s ease;
  border-radius: 15px;
  background-color: white;
  box-shadow: 0 0 8px 0 rgba(0, 0, 0, 0.08);
}

.corpoSenMenu {
  width: 100%;
  margin-left: 0;
}

#titulo {
  display: block;
  padding-right: 30px;
  background-color: transparent;
  min-height: 50px;
  color: #1d71b8;
}

.divTituloPaxina {
  display: block;
  padding-right: 30px;
  background-color: transparent;
  min-height: 50px;
  color: #1d71b8;
}

*,
*::after,
*::before {
  box-sizing: border-box;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
}

#imaxe {
  position: relative;
  float: right;
  margin: 0em;
  padding-left: 1.5em;
  width: 30%;
}

div#logosExtra {
  max-height: 10px;
  position: absolute;
  bottom: 0;
  right: 0;
}

.conFrechaArriba:after {
  content: " ";
  position: absolute;
  margin-top: -5px;
  border-width: 5px;
  border-style: solid;
  border-top-color: transparent;
  border-left-color: transparent;
  border-right-color: transparent;
  border-bottom-color: white;
  bottom: 100%;
  left: 50%;
}

.conFrechaAbaixo:after {
  content: " ";
  position: absolute;
  margin-top: -5px;
  border-width: 5px;
  border-style: solid;
  border-bottom-color: transparent;
  border-top-color: white;
  border-left-color: transparent;
  border-right-color: transparent;
  top: 100%;
  left: 50%;
}

.conFrechaDereita:after {
  content: " ";
  position: absolute;
  margin-top: -5px;
  border-width: 5px;
  border-style: solid;
  border-bottom-color: transparent;
  border-left-color: white;
  border-right-color: transparent;
  border-top-color: transparent;
  top: 50%;
  left: 100%;
}

.conFrechaEsquerda:after {
  content: " ";
  position: absolute;
  margin-top: -5px;
  border-width: 5px;
  border-style: solid;
  border-bottom-color: transparent;
  border-left-color: transparent;
  border-right-color: white;
  border-top-color: transparent;
  top: 50%;
  right: 100%;
}

.fa {
  font-family: var(--fa-style-family, "FontAwesome") !important;
}

.scroll-btn {
  background: #ddd;
  border: none;
  cursor: pointer;
  font-size: 20px;
  padding: 10px;
  z-index: 2;
}

.scroll-btn.izquierda {
  margin-right: 5px;
}

.scroll-btn.derecha {
  margin-left: 5px;
}

.cadro-enlace {
  width: 180px;
  height: 180px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.cadro-link {
  width: 100%;
  height: 100%;
  border: 2px solid #007BC4;
  border-radius: 18px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  color: #007BC4;
  transition: color 0.2s, border-color 0.2s;
}

.cadro-link:hover,
.cadro-link:hover i,
.cadro-link:hover h2 {
  color: #002B4A !important;
}

.cadro-link:hover {
  border-color: #002B4A !important;
}

/* Puedes añadir esto a recursosweb/css/estilos.css */
.centro-margen {
  text-align: center;
  margin-top: 1em;
}

.flex-opcions {
  display: flex;
  justify-content: center;
  gap: 3em;
  margin-top: 2em;
}

.icono-cadro {
  display: inline-block;
}

.icono-cadro i {
  font-size: 4em;
  color: inherit;
  transition: color 0.2s;
}

.titulo-cadro {
  font-size: 1.3em;
  color: inherit;
  margin-top: 0.5em;
  transition: color 0.2s;
}

.ui-button.ui-widget.combobox-button-edu {
  background: #ffffff;
  height: 2.39em;
  top: 0em;
  border-left-width: 0em;
  font-size: 0.6875em;
  color: #444;
  margin-top: 0.1em;
  align-content: space-evenly;
}

.combobox-toggle-edu.ui-state-default {
  background: #ffffff;
  height: 1.81em;
  top: -0.16em;
  border-left-width: 0em;
}

.combobox-toggle-edu.ui-state-default.combobox-toggle-edu-disabled {
  background: #edeff5;
  cursor: not-allowed;
}

.combobox-toggle-edu.ui-state-default span:first-of-type {
  font-size: 0.6875em;
  color: #444;
  margin-left: 1.3em;
  margin-top: 0.8em;
}

.ui-widget.ui-state-default.combobox-input-edu {
  background: #fff;
  border-right-width: 0em;
  padding: 0.3em 0.375em;
  padding-left: 0.65em;
  font-family: inherit;
  font-size: 0.9em;
  max-width: 31.25em;
  min-width: 25.75em;
  width: auto;
}

.ui-state-default.combobox-input-edu:disabled {
  background: #edeff5;
  cursor: not-allowed;
}

#contorno {
  background-color: #109A0F;
  text-shadow: -1px -1px #700;
  border-color: #700;
  text-align: center;
  font-size: 1.05em;
  line-height: 38px;
  padding: 0 0 0 12.66667px;
  color: #fff;
  box-shadow: -8px -1px 8px 0 rgba(0, 0, 0, 0.6);
  border-top-width: 2px;
  border-bottom-width: 2px;
  height: 42px;
}

#contorno > i {
  font-size: 1.26em;
  margin-right: 22px;
  vertical-align: -10%;
}
