:root {
    /* Característicos del tema */
    --tema-principal: hsl(200, 100%, 40%);
    /*--tema-principal-claro: hsl(197, 36%, 75%);*/
    --tema-principal-claro: hsl(200, 40%, 60%);
    --tema-secundario: hsl(210, 57%, 43%);
    --tema-secundario-claro: hsl(210, 57%, 93%);
    --tema-contrapunto: hsl(42, 69%, 69%);
    --tema-contrapunto-claro: hsl(42, 69%, 96%);
    --tema-contrapunto-intenso: hsl(42, 69%, 59%);
    --tema-contrapunto-bis: hsl(90, 31%, 55%);
    --tema-contrapunto-bis-intenso: hsl(90, 31%, 45%);
    --tema-contrapunto-bis-claro: hsl(90, 31%, 95%);
    /* Texto */
    --texto: hsl(0, 0%, 40%);
    --texto-oscuro: hsl(0, 0%, 20%);
    --texto-claro: hsl(0, 0%, 77%);
    /* Enlaces */
    --enlaces:  hsl(200, 100%, 31%);
    --enlaces-hover:  hsl(200, 100%, 25%);
    --claro-como-enlaces: hsl(202, 54%, 91%);
    --claro-como-enlaces-oscuro: hsl(202, 46%, 81%);
    /* Botones CRUD */
    --boton-borde: 1px solid #DBDBDB;
    --boton-fondo: #DCDCDC;
    --boton-relleno: 0.5rem 1.2rem;
    --boton-borde-inferior: 1.2rem;
    --boton-borde-radio: 0.3rem;
    /* Notificaciones */
    --confirmacion: rgb(30, 158, 121);
    --neutro: rgb(31, 128, 158);
    --alerta: rgb(158, 134, 31);
    --error: rgb(158, 31, 71);
    /* Fondos */
    --fondo-oscuro: hsl(0, 0%, 27%);
    --fondo-medio: hsl(0, 0%, 65%);
    --fondo-claro: hsl(0, 0%, 96%);
    --fondo-claro-menos: hsl(0, 0%, 85%);
    --fondo-claro-menos-hsla: hsla(0, 0%, 80%, 0.5);
    --fondo-oscuro-semiopaco: hsla(0, 0%, 27%, 0.5);
    --fondo-medio-semiopaco: hsla(0, 0%, 50%, 0.5);
    --fondo-claro-semiopaco: hsla(0, 0%, 92%, 0.5);
    --fondo-muy-claro-semiopaco: hsla(0, 0%, 92%, 0.2);
    --fondo-elemento-flotante: hsla(0, 0%, 100%, 0.5);

    /* Espacios */
    --anchura-menu-principal: 25rem;
    --espaciado-areas-principales: 2rem;
    --contenido-1: calc(100vw - var(--anchura-menu-principal) - 2 * var(--espaciado-areas-principales));
    --contenido-1-5: calc(var(--contenido-1) / 5);
    --contenido-1-4: calc(var(--contenido-1) / 4);
    --contenido-1-3: calc(var(--contenido-1) / 3);
    --contenido-1-2: calc(var(--contenido-1) / 2);

    /* Tiempos */
    --animacion-estandar: 0.15s;
    --animacion-rapida: 0.08s;
    --animacion-lenta: 0.25s;


    /* Filtros color */
    --filtro-enlaces:
        invert(21%)
        sepia(83%)
        saturate(2309%)
        hue-rotate(181deg)
        brightness(99%)
        contrast(101%);

    --filtro-tema-principal:
        invert(31%)
        sepia(92%)
        saturate(1125%)
        hue-rotate(172deg)
        brightness(104%)
        contrast(101%);
}

/*
Correspondencias
--neutro
filter: invert(37%) sepia(100%) saturate(383%) hue-rotate(148deg) brightness(93%) contrast(88%);

--error
filter: invert(16%) sepia(89%) saturate(1897%) hue-rotate(319deg) brightness(97%) contrast(96%);

--confirmacion
filter: invert(52%) sepia(97%) saturate(3499%) hue-rotate(135deg) brightness(92%) contrast(76%);

--alerta
filter: invert(50%) sepia(11%) saturate(4085%) hue-rotate(15deg) brightness(101%) contrast(76%);

--enlaces
filter: invert(21%) sepia(83%) saturate(2309%) hue-rotate(181deg) brightness(99%) contrast(101%);
*/



/* Basadas en FiraSans */

/*@font-face {
  font-family: estandar;
  src: url('/fuentes/firasans_regular.ttf');
}

@font-face {
  font-family: negrita;
  src: url('/fuentes/firasans_medium.ttf');
}

@font-face {
  font-family: ligera;
  src: url('/fuentes/firasans_light.ttf');
}
@font-face {
  font-family: 'unidades';
  src: url('/fuentes/rob_regular.ttf');
}*/

/* Basadas en Roboto */

@font-face {
    font-family: estandar;
    src: url('/fuentes/RobotoCondensed-Regular.ttf');
    /*src: url('/fuentes/RobotoCondensed-Light.ttf');*/
}
@font-face {
    font-family: negrita;
    src: url('/fuentes/RobotoCondensed-Bold.ttf');
    /*src: url('/fuentes/RobotoCondensed-Regular.ttf');*/
}

/*@font-face {
  font-family: gruesa;
  src: url('/fuentes/Roboto-Black.ttf');
}*/

@font-face {
    font-family: ligera;
    src: url('/fuentes/RobotoCondensed-Light.ttf');
    /*src: url('/fuentes/RobotoCondensed-Regular.ttf');*/
}
@font-face {
    font-family: unidades;
    src: url('/fuentes/RobotoMono-Regular.ttf');
}
@font-face {
    font-family: unidadesn;
    /*src: url('/fuentes/RobotoMono-SemiBold.ttf');*/
    src: url('/fuentes/RobotoMono-VariableFont_wght.ttf');
    font-weight: 700;
}

/* Fuente secundaria */
@font-face {
    font-family: estandarbis;
    src: url('/fuentes/PlayfairDisplay-Regular.ttf');
    /*src: url('/fuentes/RobotoCondensed-Light.ttf');*/
}
@font-face {
    font-family: negritabis;
    src: url('/fuentes/PlayfairDisplay-Bold.ttf');
    /*src: url('/fuentes/RobotoCondensed-Regular.ttf');*/
}


html {
    width: 100%;

    font-size: calc(0.7rem + 0.3vw);
    line-height: calc(0.7rem + 0.3vw + 0.1rem);
    /*letter-spacing: 0.01rem;*/
    margin: 0 auto;
    color: var(--texto-oscuro);
    font-family: 'estandar', 'Arial', Helvetica, sans-serif;
    scroll-behavior: smooth;
}

body {
    display: grid;
    grid-template-columns:
        var(--anchura-menu-principal)
        calc(100vw - var(--anchura-menu-principal) - calc(var(--espaciado-areas-principales)/2));
    grid-template-rows: auto auto;
    grid-template-areas: "header contenido" "footer footer";
    transition: grid-template-columns 0.05s ease-out;
}
.lateral_escondido main {
    padding-top: 8.2rem;
}

#volver_arriba{
    /*background-image: url(/img/iconos_meteo/flecha-hacia-arriba.svg);*/
    background-image: url(/img/iconos_meteo/chevron-flecha-hacia-arriba.svg);
    background-position: center;

    background-repeat: no-repeat;
    position: fixed;
    border-radius: 2rem;
    background-color: #b04590;
    color: white;
    text-decoration: none;
    filter: invert(100%);
    display: flex;
    align-items: center;
    align-self: center;
    justify-content: center;

    width: 0;
    height: 0;
    bottom: 2.5rem;
    right: 2.5rem;
    background-size: 0;
    font-size: 0;
    opacity: 0;

    transition:
        width 0.4s ease-in,
        height 0.4s ease-in,
        bottom 0.4s ease-in,
        right 0.4s ease-in,
        background-size 0.4s ease-in,
        font-size 0.4s ease-in,
        opacity 0.4s ease-in ;
}
.desplazado #volver_arriba{
    width: 3rem;
    height: 3rem;
    bottom: 1rem;
    right: 1rem;
    font-size: 1.4rem;
    background-size: 1.2rem;
    opacity: 1;
}
.esconder{
    grid-template-columns: 100%;
    grid-template-areas: 'contenido';
    transition: all 0.3s ease;
}
/* Texto seleccionado */
/*::selection {
        background-color: rgba(150, 150, 150, 0.1);
        color: #BFB404;
}*/

/* Rótulos */
h1, h2, h3, h4, h5, h6 {
    font-family: 'negrita', 'Impact', Charcoal, sans-serif;
    font-weight: normal;
}

main > h1 {
    font-size: 2.618rem;
    margin: 0 0 2rem;
    /*  border-bottom: 0.2rem solid var(--texto-claro);*/
    color: var(--texto-claro);
}

h2 {
    font-size: 1.4rem;
    margin: 2rem 0 1rem;
    color: #a1a1a1;
    /*color: white;*/

    padding: 0.5rem 0;
    /*    border-radius: 0.5rem;*/
}


/* Características generales */
strong {
    font-family: 'negrita', 'Impact', Charcoal, sans-serif;
    font-weight: normal;
}

a {
    /*color: #356f92;*/
    color: var(--enlaces);
    outline: none;
}
a:hover {
    color: var(--enlaces-hover);
    outline: none;
}

ul {
    list-style-type: none;
}

li {
    list-style-type: none;
}

/* La página y sus partes */

/*header > *,
main > *,
footer > * {
        width: 100%;
        max-width: 900px;
}*/

header {
    grid-area: header;
    background-color: white;
    padding-top: 0;
    padding-bottom: 0;
    padding-left: 1rem;
    padding-right: 1rem;
    z-index: 1;
    /*! height: 100%; */

    /*! box-shadow: 0 0 0.5rem #BFB404; */
    /*! position: fixed; */
    /*! height: calc(100vh - 11rem); */
    /*! top: 0; */
    /*padding-bottom: 10rem;*/

}

main {
    grid-area: contenido;
    min-height: calc(100vh - 3.5rem);
    /*box-shadow: 0 0 0.5rem #BFB404;*/
    /*box-shadow: 0.6rem 0 0.3rem -0.4rem var(--fondo-medio) inset;*/
    /*  box-shadow: 1.2rem 0 0.5rem -1rem var(--fondo-medio) inset; /* la buena */
    /*border-left: 0.2rem solid var(--fondo-medio);*/
    background-color: var(--fondo-claro-menos);
    /*background-color: #606060;*/
    transition: padding-top 0.05s ease-out;
}

footer {
    grid-area: footer;
}

/* Menú */

/*#menu .n1 > ul {
  display: flex;
  flex-direction: column;
  position: absolute;
  top: 14rem;
  right: 0;
  left: 1rem;
   width: calc(100%); 
  overflow-y: auto;
  height: calc(100% - 25rem);
  padding-right: 1.3rem;
  padding-left: 0.3rem;
  text-align: left;
}*/

#menu .n1 > ul {
    display: flex;
    flex-direction: column;
    position: absolute;
    top: 14rem;
    right: 0;
    left: 0;
    bottom: 0;
    overflow-y: auto;
    text-align: left;
}

#menu .elemento_menu > a,
#menu .elemento_menu > span {
    position: relative;
    display: block;
    width: 100%;
    padding-top: 0.4rem;
    padding-bottom: 0.4rem;
    padding-right: 0.4rem;
    margin-top: 0.15rem;
    text-decoration: none;
    transition:
        background-color 0.1s ease-in;
}

#menu .elemento_menu.n2 {
    display: grid;
    grid-template-rows: 2.2rem;
    width: 100%;
    cursor: default;
    color: var(--texto);
}

#menu .elemento_menu.n2 span {
    position: relative;
    display: block;
    /*  padding-top: 0.6rem;
      padding-bottom: 0.3rem;*/
}

#menu .elemento_menu.n2 > span,
#menu .elemento_menu.n2 > a {
    position: relative;
    display: inline;
    align-self: end;
    /*padding: 0.3rem 0 0.3rem 2rem;*/
    padding-left: 2.5rem;
    background-repeat: no-repeat;
    /*background-size: 40px 40px;*/
    cursor: pointer;

}
/*#menu .elemento_menu.n2 > span:hover{
  color: #3f7292;
}*/


#menu .elemento_menu.n2 > ul {
    visibility: visible;
    opacity: 1;
    display: none;
    padding-top: 0.5rem;
    padding-bottom: 0.2rem;
    background-color: rgba(0, 0, 0, 0.04);
}

#menu .elemento_menu.n2:hover > ul,
#menu .elemento_menu.n2:focus-within ul {
    visibility: visible;
    opacity: 1;
    transition:
        all .1s ease-out;
    overflow: visible;
}

#menu .elemento_menu.n2 .activo > a {
    /* color: #BFB404; */
    /*  background-color: #e8f1f5;*/
    /*background-color: var(--tema-principal-claro);*/
    background-color: var(--tema-secundario-claro);
}


#menu .elemento_menu.n3 > a,
#menu .elemento_menu.n3 > span {
    padding-left: 2rem;
}

#menu .elemento_menu.n4 > a,
#menu .elemento_menu.n4 > span {
    padding-left: 3rem;
}

#menu .elemento_menu.n5 > a,
#menu .elemento_menu.n5 > span {
    padding-left: 4rem;
}

#menu .elemento_menu.n6 > a,
#menu .elemento_menu.n6 > span {
    padding-left: 5rem;
}

#menu .elemento_menu > a:hover {
    /*text-decoration: underline;*/
    /*  background-color: #e8f1f5;*/
    /*background-color: var(--tema-principal-claro);*/
    background-color: var(--tema-secundario-claro);
    border-radius: 0.3rem;
}
#menu .elemento_menu.n1 > :focus {
    outline: auto;
}

#menu .elemento_menu.n1 > :focus:hover {
    outline: none;
    animation: none;
    border-bottom: none;

}

#menu .elemento_menu.n2 > :hover,
#menu .elemento_menu.n2 > :focus {
    color: var(--texto-oscuro);
    outline: none;
}

#menu .elemento_menu.n2 :focus::before {
    /*	content: "\25B8";
      position: absolute;*/
    /*left: -0.2rem;*/
    opacity: 0.7;
}

#menu .elemento_menu.n2 :focus:hover::before {
    content: "";
}

#menu .elemento_menu.n2 > a:hover,
#menu .elemento_menu.n2 > a:focus {
    color: var(--enlaces-hover);
}




/*

#menu #elemento__ > ul .elemento_menu ul {
        margin-top: 0.4rem;
}

*/
/*
#menu li {
    list-style: none;
    padding: 0.2rem;
}
*/
/*

#menu a,
#menu span {
    font-family: 'estandar', 'Trebuchet MS', Helvetica, sans-serif;
    text-decoration: none;
}
*/
#elemento__ {
    text-align: center;
    margin-top: 2.5rem;
}

#menu #elemento__ a#enlace__ {
    color: transparent;
    background-size: contain;
    background-repeat: no-repeat;
    height: 5rem;
    background-image: url("/img/logo-ivc-n.png");
    filter: var(--filtro-tema-principal);
    background-size: 10rem;
    background-position-x: 10rem;
    background-position-y: 0;
}

#menu #elemento__ a#enlace__:hover {
    filter: var(--filtro-tema-principal);
    background-color: transparent;
}

#menu #elemento__ a#enlace__::before {
    content: "Arxiu Filmoteca Valenciana";
    position: absolute;
    width: auto;
    color: black;
    font-family: negritabis;
    width: 9rem;
    text-align: right;
    font-size: 1.4rem;
    line-height: 1.3rem;
    top: 0;
    opacity: 1;
}

/*Comportamiento mostrar/esconder menu*/
.n2 > ul{
    /*display: block;*/
}
#menu .elemento_menu.n2.mostrar > ul{
    /*background-color: red;*/
    display: block;
}
#menu .elemento_menu.n2.esconder > ul{
    display: none;
}

#menu .elemento_menu.n2.hilo_activo > ul{
    display: block;
}

#menu .elemento_menu.n2.hilo_activo > span,
#menu .elemento_menu.n2.desplegado > span {
    box-shadow: 0 0.7rem 1rem -0.6rem var(--fondo-medio);
    transition: box-shadow 0.2s ease-in;
}

#menu .elemento_menu > span::before,
#menu .elemento_menu > a::before {
    content: '';
    position: absolute;
    top: 0.2rem;
    bottom: 0;
    left: 0.2rem;
    width: 1.5rem;
    /*background-image: url("/img/iconos/sennala-punto.svg");*/
    background-repeat: no-repeat;
    background-size: 1.5rem;
    background-position: center right;
    opacity: 0.4;
}

#menu .elemento_menu.n2 > span::before,
#menu .elemento_menu.n2 > a::before{
    content: '';
    top: 0;
    bottom: 0.2rem;
    /*padding-left: 2rem;*/
    left: 0.8rem;
    /*background-image: url("/img/iconos/emblemicons-master/label-fill.svg");*/
    /*background-image: url("/img/iconos/emblemicons-master/label.svg");*/
    background-image: url("/img/iconos/emblemicons-master/play-fill.svg");
    transition: transform 0.05s ease-in;
}
#menu .elemento_menu.n2.desplegado > span::before,
#menu .elemento_menu.n2.desplegado > a::before {
    transform: rotate(90deg);
    transition: transform 0.05s ease-in;
}

/*#menu .elemento_menu.n2 > span::before,
#menu .elemento_menu.n2 > a::before{
  background-image: url("/img/iconos/emblemicons-master/play-fill.svg");
}*/

#menu .elemento_menu.n2 > a::before{
    filter:
        invert(19%)
        sepia(98%)
        saturate(2226%)
        hue-rotate(182deg)
        brightness(101%)
        contrast(101%);
}


#menu .elemento_menu.n2 > a:hover:before,
#menu .elemento_menu.n2 > span:hover:before {
    opacity: 0.6;
}



/* Opción de salir */
#opciones_usuario_conocido {
    position: absolute;
    border-radius: 0.5rem;

    padding: 0.2rem 0.7rem;
    /*! z-index: 1; */
    /*background-color: #b8b8b8;*/
    background-color: var(--fondo-medio);
    /*! opacity: 0.3; */
    top: 10rem;
    width: calc(100% - 2rem);
    height: 2.3rem;
    display: flex;
    align-items: center;
    /*! flex-direction: row; */
    justify-content: space-evenly;
}
#opciones_usuario_conocido form {
    min-width: inherit;
}
#opciones_usuario_conocido > * {
    flex: 0 0 auto;
    /*! border-color: var(--fondo-medio-semiopaco); */
    height: 2rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
    width: calc(40% - 0.5rem);
    /*! padding: 0 2rem; */
    /*! background-color: var(--fondo-medio-semiopaco); */
    /*! border-width: 0.1rem 0.6rem; */
    /*! border-radius: 0.6rem; */
    /*! border-style: solid; */
}


form#salir {
    /*! display: inline; */
}

#opciones_usuario_conocido a,
form#salir [type="submit"] {
    font-family: 'negrita', 'Trebuchet MS', Helvetica, sans-serif;
    font-size: 0.9rem;
    color: white;
    padding-top: 0.1rem;
    padding-left: 1.2rem;
    background-size: 1rem;
    background-repeat: no-repeat;
    background-position-x: left;
    background-position-y: center;
}

#opciones_usuario_conocido a {
    text-decoration: none;
    margin-right: 1rem;
    background-image: url('/img/iconos/md-person-w.svg');
    /*background-position-y: bottom;*/
    /*filter: brightness(0.2) sepia(1) hue-rotate(180deg) saturate(5);*/
}

#opciones_usuario_conocido a:hover {
    text-decoration: underline;
}

form#salir [type="submit"] {
    display: inherit;
    border: none;
    /*color: rgb(53, 111, 146);*/
    /*font-family: estandar;*/
    margin: 0;
    padding-right: 0;
    padding-bottom: 0;
    background-color: transparent;
    background-image: url('/img/iconos/md-exit-w.svg');
    font-weight: normal;
}

form#salir [type="submit"]:hover {
    text-decoration: underline;
    cursor: pointer;
}

/* Atenúa y desatenúa los elementos de la cabecera (menú y opción de salir) */
#menu #elemento__ > ul .elemento_menu ul {
    /*opacity: 0;*/
    padding-left: 1rem;
    transition:
        opacity .3s ease-out !important;
    /*! width: calc(100% - 0.5rem); */
}

#menu #elemento__ > ul .elemento_menu span {
    /*padding-left: 1rem;*/
}

header #menu #elemento__ > ul .elemento_menu span:hover ~ ul,
header #menu #elemento__ > ul .elemento_menu ul:hover {
    /*	opacity: 1;
            transition:
                    opacity .3s ease-out;*/
}


/*#menu #elemento__ > ul .elemento_menu ul,
#opciones_usuario_conocido input[type="submit"],
#opciones_usuario_conocido a {
        opacity: 0;
        transition:
                opacity .3s ease-out;
}

header:hover #menu #elemento__ > ul .elemento_menu ul,
header:hover #opciones_usuario_conocido input[type="submit"],
header:hover #opciones_usuario_conocido a {
        opacity: 1;
        transition:
                opacity .08s ease-out;
}*/

/* Listas en general */
main article {
    /*margin: 0 0 0.7rem 0;*/
}

/* Formularios en general */



.campo,
fieldset {
    position: relative;
    margin-top: 1.1rem;
    margin-bottom: 1.1rem;
    width: 100%;
}

label {
    /* A retirar en futuras revisiones */
    display: block;
}

/*label,*/
.rotulo_campo.de_campo,
legend {
    font-family: negrita;
    /*color: #747f8a;*/
    color: var(--tema-principal-claro);

}
.rotulo_campo.de_campo{
    /*color: #127594;*/
    margin-top: 0.7rem;
}

legend {
    position: absolute;
    top: 1rem;
    font-size: 1.6rem;
    /*color: rgba(9, 65, 82, 0.2);*/
    color: var(--tema-principal-claro);
}

.rotulo_campo.bloque {
    display: block;
}

.rotulo_campo.linea {
    display: inline-block;
}

.item_lista_campo {
    margin: 0.4rem;
    position: relative;
    width: auto;
}

.item_lista_campo input {
    margin-right: 0.2rem;
}

option {
    font-family: negrita;
}



input,
select,
textarea {
    margin: 0.2rem 0;
}

input[type="file"] {
    margin: 0;
}

input[type="text"],
input[type="password"],
input[type="email"],
input[type="number"],
input[type="date"],
input[type="time"],
select,
textarea
{
    padding: 0.3rem 0.5rem;
    /*padding: 0.3rem 0.1rem;*/
    border: 1px solid transparent;
    border-radius: 0.2rem;
    background-color: var(--fondo-claro-semiopaco);
    transition:
        background-color 0.15s ease-in 0s;
}

input[type="text"]:hover,
input[type="password"]:hover,
input[type="email"]:hover,
input[type="number"]:hover,
input[type="date"]:hover,
input[type="time"]:hover,
select:hover,
textarea:hover
{
    /*padding: 0.3rem 0.5rem;*/
    background-color: hsla(0, 0%, 97%, 0.8);
    /*background-color: white;*/
    /*box-shadow: 0 0 0.4rem -0.2rem var(--tema-principal-claro);*/
}

input[type="text"]:focus,
input[type="password"]:focus,
input[type="email"]:focus,
input[type="number"]:focus,
input[type="date"]:focus,
input[type="time"]:focus,
select:focus,
textarea:focus
{
    /*padding: 0.3rem 0.5rem;*/
    /*background-color: var(--fondo-claro-menos-hsla);*/
    /*outline: 0.1rem solid var(--tema-principal-claro);*/
    box-shadow: 0 0 0.4rem 0 var(--tema-principal-claro);
    outline: none;
    background-color: white;
}

input[type="text"],
input[type="password"],
input[type="email"],
input[type="number"],
input[type="date"],
input[type="time"],
select
{
    height: 2.5rem;
}

select {
    /* Firefox */
    -moz-appearance: none;
    /* Chrome */
    -webkit-appearance: none;
}

select:hover,
select:focus {
    -moz-appearance: auto;
    -webkit-appearance: auto;
}

select::first-letter {
    text-transform: uppercase;
}
select[multiple] {
    padding: 0;
    height: auto;
}
option {
    padding: 0.3rem 0.5rem;
}

/*input[type="text"]:focus,
input[type="password"]:focus,
input[type="email"]:focus,
input[type="number"]:focus,
input[type="date"]:focus,
input[type="time"]:focus,
select:focus,
textarea:focus {
  box-shadow: 0 0 0.5rem #c9af79 inset;
}*/

input[type="password"] {
    font-size: 2rem;
}

/*input[type="submit"],
input[type="button"],
button,
.crud.crear {
    border: 1px solid var(--boton-borde);
    position: relative;
    display: inline-block;
    padding: 0.5rem 1.2rem;
    border-bottom: 0.2rem solid var(--alerta);
    border-radius: 0.3rem;
    background-color: white;
    font-family: negrita;
    text-decoration: none;
    cursor: pointer;
    color: var(--alerta);
    box-shadow:
        0 0.1rem 0.2rem -0.1rem var(--fondo-medio),
        0 0rem 0.5rem -0.3rem var(--alerta);
    transition: background-color 0.05s ease-in, border-bottom-width 0.05s ease-in, box-shadow 0.05s ease-in;
}*/


input[type="submit"], input[type="button"], button, .crud.crear {
    position: relative;
    display: inline-block;
    padding: 0.6rem 2.4rem;
    font-size: 0.9rem;
    font-family: negrita;
    border: 0;
    border-radius: 0.4rem;
    background-color: #f5f1eb;
    color: #805400;
    transition: box-shadow 0.05s ease-in
}

input[type="submit"]:hover,
input[type="button"]:hover,
button:hover,
.crud.crear:hover {
    box-shadow:
        0 0.25rem 0.2rem -0.1rem var(--fondo-medio);
}


/* Casillas personalizadas */
input[type="checkbox"] {
    opacity: 0;
    position: absolute;
}
input[type="checkbox"] + label {
    padding-left: 1.4rem;
}
input[type="checkbox"] + label::before {
    content: " ";
    position: absolute;
    left: 0;
    top: 0;
    width: 1rem;
    height: 1rem;
    border: 1px solid #1D7D4C;
    background-color: white;
}
input[type="checkbox"] + label::after {
    content: " ";
    position: absolute;
    left: 0;
    top: -0.5rem;
    width: 1.7rem;
    height: 1.7rem;
    background-image: url('/img/iconos/md-checkmark-azul.svg');
    background-repeat: no-repeat;
    background-position: bottom;
    opacity: 0;
    transition:
        opacity 0.06s ease-in 0s;

}
input[type="checkbox"]:checked + label::after {
    opacity: 1;
}
input[type="checkbox"]:disabled + label::before {
    border: 1px solid #9abac9;
    background-color: rgb(250, 250, 250);
}
input[type="checkbox"]:disabled:checked + label::after {
    background-image: url('/img/iconos/md-checkmark-desactivado-azul.svg');
}


input[type="text"],
input[type="password"],
input[type="email"],
input[type="number"],
select,
textarea {
    width: 100%;
}

input[type="date"],
input[type="time"] {
    width: auto;
}

/* Círculos */
input[type="radio"] {
    opacity: 0;
    position: absolute;
}
input[type="radio"] + label {
    padding-left: 1.4rem;
}
input[type="radio"]:not(:checked) + label::before {
    content: " ";
    position: absolute;
    left: 0;
    top: 0;
    width: 1.3rem;
    height: 1.3rem;
    background-image: url('/img/iconos/ios-radio-button-off-azul.svg');
    background-repeat: no-repeat;
    /*background-size: 1rem;*/
    background-position-y: -0.1rem;
    background-position-x: -0.1rem;
}
input[type="radio"]:checked + label::after {
    content: " ";
    position: absolute;
    left: 0;
    top: 0;
    width: 1.3rem;
    height: 1.3rem;
    background-image: url('/img/iconos/ios-radio-button-on-azul.svg');
    background-repeat: no-repeat;
    /*background-size: 1rem;*/
    background-position-y: -0.1rem;
    background-position-x: -0.1rem;
}
input[type="radio"]:disabled:not(:checked) + label::before {
    content: " ";
    position: absolute;
    left: 0;
    top: 0;
    width: 1.3rem;
    height: 1.3rem;
    background-image:
        url('/img/iconos/ios-radio-button-off-desactivado-azul.svg');
    background-repeat: no-repeat;
    /*background-size: 1rem;*/
    background-position-y: -0.1rem;
    background-position-x: -0.1rem;
}
input[type="radio"]:disabled:checked + label::after {
    content: " ";
    position: absolute;
    left: 0;
    top: 0;
    width: 1.3rem;
    height: 1.3rem;
    background-image:
        url('/img/iconos/ios-radio-button-on-desactivado-azul.svg');
    background-repeat: no-repeat;
    /*background-size: 1rem;*/
    background-position-y: bottom;
    background-position-x: -0.1rem;
}

/* Selector de ficheros */
.selector_ficheros_boton {
    display: flex;
    flex-direction: column;
    justify-content: center;
    text-align: center;
    padding: 0.3rem;
    width: 10rem;
    height: 2.5rem;
    background-color: #127594;
    color: white;
    cursor: pointer;
    font-family: negrita;
    font-size: 0.9rem;
    margin-top: 0.2rem;
    margin-bottom: 0.2rem;
}

.selector_ficheros_boton:hover,
.selector_ficheros_contenedor:focus-within .selector_ficheros_boton {
    border: 0.2rem solid #9abac9;
}

.selector_ficheros_contenedor {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.selector_ficheros_contenedor input[type=file] {
    position: relative;
    height: 0;
    width: 0;
    opacity: 0;
}

/* Resalta casillas y círculos cuando hover o puntero */
input[type="checkbox"]:hover:not(:disabled) + label,
input[type="radio"]:hover:not(:disabled) + label {
    color: #127594;
}
input[type="checkbox"]:focus:not(:disabled) + label,
input[type="radio"]:focus:not(:disabled) + label {
    color: #127594;

}

/*input[type="checkbox"]:focus:not(:disabled) + label:before,
input[type="radio"]:focus:not(:disabled) + label:before {
        content: "\25B8";
        position: absolute;
        right: -2.2rem;
}*/


/* Indicadores de campo requerido */
.campo .indicador_campo_requerido,
.indicador_item_requerido {
    color: var(--error);
    padding-left: 0.1rem;
}
.indicador_item_requerido {
    font-family: negrita;
}


/* Textos de ayuda a los campos de formularios */
.campo .texto_ayuda {
    font-size: 0.9rem;
    margin-top: 0.1rem;
    opacity: 0.7;
    color: var(--texto-oscuro);
    /*font-style: italic;*/
}


/* Fieldsets */
/*fieldset {
  background-color: var(--fondo-elemento-flotante);
  padding: 1rem;
  border: none;
  border-radius: 0.3rem;
  box-shadow:
    0 -0.2rem 0.2rem -0.2rem rgba(0, 0, 0, 0.7),
    0 0.2rem 0.2rem -0.2rem rgba(0, 0, 0, 0.7),
    -0.4rem 0 0.5rem -0.5rem rgba(50, 30, 0, 0.2),
    0.4rem 0 0.5rem -0.5rem rgba(50, 30, 0, 0.2);
}*/


fieldset {
    position: relative;
    min-height: 5rem;
    border-radius: 0.3rem;
    padding: 0.5rem;
    background-color: white;
    border-style: none none solid none;
    border-bottom-width: 0.2rem;
    border-color: var(--tema-principal);

    box-shadow: 0px 0px 0.6rem -0.2rem var(--texto-claro);
}

fieldset.tiene_rotulo {
    padding-top: 4rem;
}

fieldset#acciones_workflow {
    border: none;
    grid-column: 1 / -1;
    box-shadow: none;
    background-color: transparent;
    padding-left: 0;
    padding-right: 0;
}


form {
    /*width: 90%;*/
    min-width: 300px;
    /*max-width: 700px;*/
}



/* Notificaciones */

#notificaciones {
    position: relative;
    /*! width: 50%; */
    /*  margin: 0 auto 2rem;
      padding: 1rem;*/
    /*	border-top: 1px solid rgba(255, 255, 255, 0.7);
            border-bottom: 1px solid rgba(255, 255, 255, 0.7);
            border-radius: 0.5rem/1px;
            box-shadow: 0 0 3px rgb(255, 255, 255);*/
    /*overflow: hidden;*/
    /*	background: linear-gradient(
                    rgba(255, 255, 255, .5),
                    rgba(255, 255, 255, .4),
                    rgba(255, 255, 255, .1),
                    rgba(255, 255, 255, .3));*/
    opacity: 0;
    padding-top: 1rem;
    padding-bottom: 1rem;
    margin-top: -1rem;

    transition:
        opacity 0.3s ease-in,
        padding-top 0.3s ease-in,
        padding-bottom 0.3s ease-in,
        margin-top .3s ease-out,
        margin-bottom 0.3s ease-in;

}

#notificaciones:not(:empty) {
    opacity: 1;
    margin: 0 auto 2rem;
    padding: 1rem;
}

#notificaciones::before {
    content: '';
    position: absolute;
    top: 2px;
    right: 1px;
    bottom: 2px;
    left: 1px;
    /*border-radius: 13px;*/
    /*! z-index: -1; */
    /*! background: linear-gradient(135deg,
      rgba(255, 255, 255, .6) 1%,
      rgba(255, 255, 255, .3) 24%,
      rgba(255, 255, 255, .2) 49%,
      rgba(255, 255, 255, .1) 51%,
      rgba(255, 255, 255, .1) 75%,
      rgba(255, 255, 255, .3) 95%); */
    border: 2px solid white;
    border-radius: 0.4rem;
    background-color: rgba(255, 255, 255, 0.7);
    box-shadow: 0 0.2rem 0.2rem rgba(0, 0, 0, .3);
}

#notificaciones::after {
    content: '';
    /*position: absolute;*/
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    /*! border-top: 1px solid rgba(255, 255, 255, 0.7); */
    /*! border-bottom: 1px solid rgba(255, 255, 255, 0.7); */
    /*! border-radius: 0.5rem/1px; */
    /*! box-shadow: 0 0 3px white; */

}

#notificaciones .notificacion {
    position: relative;
    padding: 0.5rem 0 0.5rem 2rem;
    /*margin-top: 0.4rem;*/
    margin-bottom: 0.2rem;
    text-shadow:
        0 0 1px white,
        1px 0 1px white,
        0 1px 1px white;
    border-radius: 0.3rem;
}

#notificaciones .notificacion:hover {
    background-color: white;
}

#notificaciones .notificacion .origen {
    font-size: 0.6rem;
    line-height: 0.8rem;
}

#notificaciones .notificacion .origen > :nth-child(1) {
    opacity: 0.4;
}
#notificaciones .notificacion .origen > :nth-child(2) {
    opacity: 0.6;
}
/*#notificaciones .notificacion .origen > :nth-child(1) {
  opacity: 0.5;
}*/

#notificaciones .notificacion .tipo_mensaje {
    font-weight: bold;
}
#notificaciones .notificacion .mensaje {
    font-weight: bold;
    line-height: 0.7rem;
}

#notificaciones.modificable_js {
}

#notificaciones.modificable_js .notificacion {
    margin-top: -5rem;
}

#notificaciones.modificable_js.visible .notificacion {
    margin-top: 0;
    transition:
        margin-top .3s ease-out;
}

#notificaciones.modificable_js.visible {
    /*height: 100%;*/

    /*  transition: 
        padding-top .3s ease-out,
        padding-bottom .3s ease-out,
        margin-top .3s ease-out .3s;*/

    z-index: 1;
}

#notificaciones.modificable_js.visible:empty {
    opacity: 0;
    /*  padding-top: 1rem;
      padding-bottom: 1rem;
      margin-top: -1rem;*/

    /*display: none;*/
}

#notificaciones .confirmacion {
    color: var(--confirmacion);
}
#notificaciones .neutro {
    color: var(--neutro);
}
#notificaciones .alerta {
    color: var(--alerta);
}
#notificaciones .error {
    color: var(--error);
}

#notificaciones .confirmacion::before,
#notificaciones .neutro::before,
#notificaciones .alerta::before,
#notificaciones .error::before {
    content: '';
    background-repeat: no-repeat;
    background-position: center top;

    position: absolute;
    left: 0.3rem;
    width: 1.3rem;
    height: 1.3rem;
}

#notificaciones .confirmacion::before {
    background-image: url('/img/iconos/md-checkmark-col.svg');
}

#notificaciones .neutro::before {
    background-image: url('/img/iconos/md-information-circle-col.svg');
}

#notificaciones .alerta::before {
    background-image: url('/img/iconos/md-warning-col.svg');
}

#notificaciones .error::before {
    background-image: url('/img/iconos/md-close-col.svg');
}

#notificaciones .cierra_notificacion {
    position: absolute;
    right: 0.4rem;
    top: 0.4rem;
    color: #888;
    height: 1.4rem;
    width: 1.4rem;
    text-align: center;
    border-radius: 50%;
    font-size: 1.1rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
    font-family: estandar;
}

#notificaciones .cierra_notificacion:hover {
    cursor: pointer;
    color: #422;
    font-family: negrita;
    box-shadow: 0 0 0.2rem #422;

}


/* Formulario de roles */
.usuario_rol_asigna_retira {
    display: grid;
    grid-template-columns: 7rem 7rem;
    grid-template-rows: 1.5rem 1.5rem;
    grid-template-areas:
        "rol accion"
        "estado accion";
    gap: 0.2rem;
    justify-content: start;
    margin-bottom: 0.5rem;
}

.usuario_rol_asigna_retira .nombre_rol,
.usuario_rol_asigna_retira .estado_usuario_rol,
.usuario_rol_asigna_retira input[type="submit"] {
    align-self: center;
}

.usuario_rol_asigna_retira .nombre_rol {
    grid-area: rol;
    align-self: end;
    font-family: negrita;
}

.usuario_rol_asigna_retira .nombre_rol::first-letter {
    text-transform: uppercase;
}

.usuario_rol_asigna_retira.retira_rol .estado_usuario_rol{
    font-family: estandar;
}

.usuario_rol_asigna_retira.asigna_rol .estado_usuario_rol{
    grid-area: estado;
    align-self: start;
    opacity: 0.4;
}

.usuario_rol_asigna_retira input[type="submit"] {
    grid-area: accion;
}

.usuario_rol_asigna_retira.asigna_rol input[type="submit"] {
    color: var(--confirmacion);
}

.usuario_rol_asigna_retira.retira_rol input[type="submit"] {
    color: var(--error);
    font-family: estandar;
}

/* Módulos */
.modulo {

}


/* Roles y permisos */
#roles_y_permisos {
    width: 100%;
    max-width: unset;
}

.grupo_rotulo {
    color: #127594;
    margin-bottom: 0;
    border-bottom: 0.5rem solid #c3d6df;
}

.permiso {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    /*margin: 0.5rem 0;*/
    padding: 0.5rem 0;
    border-bottom: 1px solid #9abac9;
}
.permiso:first-of-type {
    border-top: 0.1rem solid #9abac9;
    margin-top: 0;
}
.permiso:last-of-type {
    margin-bottom: 3rem;
}
.permiso:first-of-type:last-of-type {
}
.permiso:hover {
    background-color: rgba(255, 255, 255, 0.1);
    box-shadow:
        0 1rem 0.5rem -1rem rgba(18, 117, 148, 0.1) inset,
        0 -1rem 0.5rem -1rem rgba(18, 117, 148, 0.1) inset;
}
.permiso_descripcion {
    padding: 0.5rem 0;
    flex: 1 1 50%;
    opacity: 0.9;
}
.permiso:hover .permiso_descripcion  {
    opacity: 1;
}

.permiso_descripcion h3 {
    margin: 0 0 0.2rem 0;
    font-size: 1.05rem;
}
.asignacion_roles {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    flex: 1 0 50%;
    padding: 0 0.5rem;
}
.rol_asignado_a_permiso {
    position: relative;
    flex: 1 0 0;
}
.rol_asignado_a_permiso:hover {
    opacity: 1;
    color: black;
}
.rol_asignado_a_permiso input[type="checkbox"] + label {
    padding-top: 1.2rem;
    padding-left: 0;
    padding: calc(1.2rem + 0.5rem) 0.5rem 0.5rem 0.5rem;
    margin: 0 0.5rem;
}
.rol_asignado_a_permiso input[type="checkbox"] + label:before {
    top: 0.5rem;
    left: 1rem;
}
.rol_asignado_a_permiso input[type="checkbox"] + label:after {
    top: 0rem;
    left: 1rem;
}
.rol_asignado_a_permiso input[type="checkbox"] + label:hover {
    /*border: 2px solid rgba(18, 117, 148, 0.1);*/
    box-shadow: 0 0 0 2px rgba(18, 117, 148, 0.1);
    cursor: pointer;
}


.rol_asignado_a_permiso label:hover {
    /*	opacity: 1;*/
}
.rol_asignado_a_permiso label input {
    opacity: 0.8;
    position: relative;
}
.rol_asignado_a_permiso label:hover input {
    opacity: 1;
}



/* Pie de página */

footer {
    background-color: var(--fondo-oscuro);
    box-shadow:
        0 1rem 0.5rem -1rem rgba(0, 0, 0, 0) inset,
        1.2rem 0 0.5rem -1rem rgba(0, 0, 0, 0.1) inset;
    position: relative;
    /*! width: calc(100% + 17rem); */
    /*! left: -17rem; */
    /*! border: 1px solid red; */
    z-index: 6;
    /*! opacity: 0.5; */
    min-height: 10rem;
}

footer::before {
    content: "";
    position: absolute;
    /*left: calc(-1 * var(--anchura-menu-principal));*/
    left: 0;
    top: 0;
    width: var(--anchura-menu-principal);
    /* border: 1px solid red; */
    height: 100%;
    background-color: var(--fondo-medio);
    /* box-shadow: 0 1rem 0.5rem -1rem rgba(0, 0, 0, 0.5) inset; */
}

footer .powered_by {
    /*! margin-top: 5rem; */
    opacity: 0.5;
    left: calc(-1 * var(--anchura-menu-principal) + 2rem);
    position: absolute;
    bottom: 1.6rem;
}

footer .powered_by .cursor {
    animation: parpadea 2s infinite;
}
@keyframes parpadea{
    0% {
        color: #000;
    }
    49% {
        color: #000;
    }
    50% {
        color: transparent;
    }
    100% {
        color: transparent;
    }
}

/* Delightful subrayado */
.subray {
    text-shadow: 1px 0px 0 white, -1px 0px 0 white;
}

.subray::before {
    content: " ";
    position: absolute;
    top: 0100%;

    background-color: #356f92;
    text-shadow: 1px 0px 0 white, -1px 0px 0 white;
    width: 100%;
    height: 1px;

}
.subray:hover::before {
    animation: subrayado 0.8s;
}
@keyframes subrayado{
    0% {
        top: 100%;
        height: 1px;
    }
    25% {
        top: 0%;
        height: 100%;
        opacity: 0.5;
    }
    50% {
        top: 0%;
        height: 1px
    }
    75% {
        top: 0%;
        height: 100%;
        opacity: 0.5;
    }
    100% {
        top: 100%;
        height: 1px;
    }
}



#escondedor {
    display: none;
}

/*#escondedor {
    position: fixed;
    bottom: 0.7rem;
    left: calc(var(--anchura-menu-principal) - 3rem);
    z-index: 1000;
    height: 2rem;
    width: 2rem;
    overflow:
        hidden;
    transition:
        left 0.05s ease-out;
}

#escondedor:hover::before{
    width: 2rem;
    color: rgba(0,0,0,0.7);
}

body.lateral_escondido #escondedor{
    left: 1rem;
}

body.lateral_escondido {
    grid-template-columns: 0 auto;
}

body.lateral_escondido header {
    display: none; ! z-index: -1; 
    visibility: hidden;
    position: static;
}

body #escondedor::before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;

    border-radius: 50%;

    background-color: white;
    background-image: url('/img/iconos/ionicons-designerpack/close.svg');
    background-position: center;
    background-repeat: no-repeat;
    background-size: 100%;

    opacity: 0.3;

    transition:
        border-radius 0.05s ease-in,
        opacity 0.05s ease-in;
}

body #escondedor:hover::before {
    opacity: 1;
}

body.lateral_escondido #escondedor::before {
    border-radius: 0.2rem;
    background-image: url('/img/iconos/heroicons-master/solid/menu.svg');
}

esconder lista
.lateral_escondido #menu .elemento_menu.n2 > ul{
    visibility: hidden;
}

.lateral_escondido #menu #elemento__ a#enlace__{
    left: calc(50vw - 8.1rem);

}*/

#contenido {
    color: var(--texto);
}

/* Lista de ítems */

#contenido > .lista_items {


    display: grid;
    /* grid-template-columns: repeat(3, 1fr); */
    grid-template-columns: repeat(auto-fit, minmax(150px, 200px));
    /* grid-auto-rows: 1fr; */
    grid-gap: 2rem;

}

.item_entidad {
    position: relative;
    min-height: 5rem;
    border-radius: 0.2rem;
    padding: 0.5rem;
    background-color: var(--fondo-muy-claro-semiopaco);
    box-shadow: 0rem 0.1rem 0.2rem -0.1rem black;
}

.lista_items .item_entidad {
    background-color: rgba(255, 255, 255, 0.8);
}

.item_entidad .enlaces_crud {
    position: absolute;
    bottom: 0;
    right: 0;
}

.item_entidad *.crud {
    display: inline;
    position: absolute;
    /*  border-radius: 0.4rem 0 0.4rem 0;
      right: 0;
    */  bottom: 0;/*
      overflow: hidden;
      height: 1.2rem;*/

}

.item_entidad a.crud {
    /*position: relative;*/
    width: 1.5rem;
    color: transparent;
    right: 1.4rem !important;
}

.item_entidad a.crud::before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;

    background-repeat: no-repeat;
    background-position-y: center;
    background-position-x: center;
    background-size: 1rem;
}


.item_entidad a.ver {
    width: 1.5rem;
    color: transparent;
    right: 3rem !important;
}

.item_entidad a.modificar {
    /*width: 2rem;*/
    /*background-color: green;*/
}

.item_entidad  a.borrar {
    /*background-color: red;*/
    width: 1.5rem;
    color: transparent;
    right: 0rem !important;
}


.item_entidad a.ver::before,
.item_entidad a.modificar::before ,
.item_entidad a.borrar::before {
    opacity: 0.1;
    transition:
        opacity 0.1s ease-in 0s,
        filter 0.1s ease-in 0s;
}

.item_entidad:hover a.ver::before,
.item_entidad:hover a.modificar::before ,
.item_entidad:hover a.borrar::before {
    opacity: 0.3;
}

.item_entidad .enlaces_crud:hover a::before {
    opacity: 0.8;
}

.item_entidad a.ver::before {
    /*background-image: url(/img/iconos/eye-outline.svg);*/
    /*background-image: url(/img/iconos/ionicons-designerpack/search-sharp.svg);*/
    background-image: url(/img/iconos/heroicons-master/solid/search.svg);
    left: 0.5rem;
    /*filter: invert(58%) sepia(31%) saturate(6207%) hue-rotate(159deg) brightness(91%) contrast(101%);*/
}

.item_entidad a.modificar::before {
    /*background-image: url(/img/iconos/create-outline.svg);*/
    /*background-image: url(/img/iconos/emblemicons-master/check-blank.svg);*/
    background-image: url(/img/iconos/heroicons-master/solid/pencil-alt.svg);
    background-position-x: calc(50% + 0.1rem);
    /*filter: invert(41%) sepia(11%) saturate(2259%) hue-rotate(87deg) brightness(101%) contrast(101%);*/
}

.item_entidad a.borrar::before {
    /*background-image: url(/img/iconos/close-outline.svg);*/
    /*background-image: url(/img/iconos/ionicons-designerpack/flame-sharp.svg);*/
    /*background-image: url(/img/iconos/tabler-icons/flame.svg);*/
    background-image: url(/img/iconos/heroicons-master/solid/fire.svg);
    /*filter: invert(16%) sepia(65%) saturate(3246%) hue-rotate(346deg) brightness(81%) contrast(110%);*/
}

.item_entidad:hover a.ver::before {
    filter:
        invert(37%)
        sepia(100%)
        saturate(383%)
        hue-rotate(148deg)
        brightness(93%)
        contrast(88%);
}

.item_entidad:hover a.modificar::before {
    filter:
        invert(52%)
        sepia(97%)
        saturate(3499%)
        hue-rotate(135deg)
        brightness(92%)
        contrast(76%);
}

.item_entidad:hover a.borrar::before {
    filter:
        invert(16%)
        sepia(89%)
        saturate(1897%)
        hue-rotate(319deg)
        brightness(97%)
        contrast(96%);
}


/* Enlaces ARM en campos listar y añadir */

.campo > div > .arm {
    grid-column: 1 / -1;
    text-align: right;
    opacity: 0;

    transition: opacity 0.15s ease-in;
}

.campo:hover > div > .arm {
    opacity: 1;
}

.campo > div > article > .arm {
    opacity: 0.0;
    text-align: right;
    height: 0;
    transition:
        opacity 0.15s ease-in,
        height 0.15s ease-in;
}

.campo > div > article:hover > .arm {
    opacity: 1;
    height: 1rem;
}

.arm a {
    position: relative;
    display: inline-block;
    font-size: 0.7rem;
    text-decoration: none;
    line-height: 0.9rem;
    padding: 0.05rem 0.5rem 0.05rem 1.3rem;
    border-radius: 0.2rem;
    background-color: var(--fondo-claro);
}

.arm a:hover {
    color: white;
    background-color: var(--enlaces);
    opacity: 1;
}

.arm a:hover::before {
    filter: invert(100%);
}

.arm a::before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0.3rem;
    width: 1rem;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: 0.7rem;
    filter: var(--filtro-enlaces);
}

.arm .annadir::before {
    background-image: url("/img/iconos/heroicons-master/solid/plus-circle.svg");

}

.arm .asociar::before {
    background-image: url("/img/iconos/tabler-icons/link.svg");
}

.arm .editar::before {
    background-image: url("/img/iconos/tabler-icons/edit.svg");
}

.arm .retirar::before {
    background-image: url("/img/iconos/tabler-icons/unlink.svg");
}

.arm .borrar::before {
    background-image: url("/img/iconos/tabler-icons/x.svg");
}




/*.crud.crear,
#contenido fieldset#acciones_workflow [type="submit"] {
  position: relative;
  display: inline-block;
  padding: 0.5rem 1.2rem 0.5rem 2.2rem;
  border-bottom: 0.2rem solid var(--alerta);
  border-radius: 0.3rem;
  background-color: white;
  font-family: negrita;
  text-decoration: none;
  cursor: pointer;
  color: var(--alerta);
  box-shadow: 0 0.1rem 0.2rem -0.1rem var(--fondo-medio);

  transition:
    background-color 0.05s ease-in,
    border-bottom-width 0.05s ease-in,
    box-shadow 0.05s ease-in;
}*/

/*.crud.crear:hover,
#contenido fieldset#acciones_workflow [type="submit"]:hover {
  background-color: var(--fondo-elemento-flotante);
  border-bottom-width: 0.25rem;
  box-shadow: 0 0.2rem 0.2rem -0.1rem var(--fondo-medio);
}*/


/*#contenido .campo.enviar::before,*/
.crud.crear::before {
    content: "";
    position: absolute;
    top: 0;
    width: 2.5rem;
    /*bottom: 0;*/
    height: 100%;
    left: 0;
    background-size: 1rem;
    background-repeat: no-repeat;
    background-position: 1rem center;
    z-index: 1;

    filter:
        invert(50%)
        sepia(11%)
        saturate(4085%)
        hue-rotate(15deg)
        brightness(101%)
        contrast(76%);
}

.crud.crear::before {
    background-image: url("/img/iconos/heroicons-master/solid/plus-circle.svg");

}

/*#contenido .campo.enviar::before {
  background-image: url("/img/iconos/heroicons-master/solid/save.svg");
  background-position-y: calc(50% - 0.15rem);
  pointer-events: none;
}*/

.crud.crear {
    margin: 1rem 0;
    position: relative;
}










/*lista eventos provisionalemnte en estandar*/

/*#contenido > .crud.crear{
  display: inline-block;
  margin: 1rem 0;
  padding: 0.5rem 1rem;
  border-radius: 0.3rem;
  background-color: #fff;
  font-family: negrita;
  text-decoration: none;
  cursor: pointer;
  color: #4176a9;
  box-shadow: 0 0.1rem 0.2rem -0.1rem #666;
  transition: color 0.05s ease-in, background-color 0.05s ease-in, box-shadow 0.05s ease-in;
  background-image: url("/img/iconos/mas.png");
  background-size: 1.3rem;
  background-repeat: no-repeat;
  padding-left: 2.3rem;
  background-position-y: center;
  background-position-x: 0.3rem;
}
#contenido > .crud.crear:hover{
  background-color: #fff;
  color: #1d81e1;
  box-shadow: 0 0.15rem 0.2rem -0.05rem #222;
}*/

/*:not(.enlaces_crud) > .crud.modificar{
  background-image: url("/img/iconos/documento.png");
  right: 6rem;
}
:not(.enlaces_crud) > .crud.borrar{
  background-image: url("/img/iconos/borrar.png");
  right: 1rem;
}
:not(.enlaces_crud) > .crud.ver{
  background-image: url("/img/iconos/ver.png");
  right: 11rem;
  padding-left: 1.7rem;
}*/
.separador_accesible {
    visibility: hidden;
    /*display: none;*/
}






/* Paginador */
.paginador {
    display: flex;
    width: 80%;
    margin-bottom: 2rem;
}
.paginador .separador_accesible {
    display: none;
}
.paginador .pagina {
    position: relative;
    flex: 1 1 0;
    height: 0;
    /* border-bottom: 0.8rem solid #a8cbd9; */
    /* padding: 0.3rem; */
    text-align: center;
    text-decoration: none;
    font-size: 0;
    display: flex;
    justify-content: center;
    width: 1px;
    background-color: var(--tema-principal-claro);
    height: 1rem;
}

.paginador .pagina.actual {
    background-color: var(--tema-principal);
}

.paginador .pagina:hover {
    cursor: pointer;
}

/*.paginador .pagina.actual {
  background-color: white;
}*/
.paginador .pagina:first-of-type {
    border-radius: 0.2rem 0 0 0.2rem;
}
.paginador .pagina:last-of-type {
    border-radius: 0 0.2rem 0.2rem 0;
}
.paginador .pagina::before {
    content: attr(data-num);
    position: absolute;
    height: 1.4rem;
    top: -0.2rem;
    /*left: -0.5rem;*/
    background-color: white;
    font-family: negrita;
    font-size: 0.7rem;
    border-radius: 0.3rem;
    /* border: 1px solid #802400; */
    padding: 0 0.3rem;
    opacity: 0;
    z-index: 1;
    box-shadow: 0 0 0.2rem #020201;
    display: flex;
    flex-direction: column;
    justify-content: center;

    font-size: 0;
    width: 1.4rem;
    border-radius: 50%;
    /* width: 1rem; */
}
.paginador .pagina:hover::before {
    opacity: 1;
}
.paginador .pagina.actual::before {
    /*background-color: pink;*/
    opacity: 1;
}

.paginador .pag_primera,
.paginador .pag_ultima,
.paginador .pag_anterior,
.paginador .pag_siguiente {
    position: relative;
    text-decoration: none;
    font-family: negrita;
    background-color: #a8cbd9;
    background-color: var(--tema-principal-claro);
    /*background-color: transparent;*/
    /*color: white;*/
    height: 1rem;
    font-size: 0.8rem;
    font-size: 0;
    padding: 0 0.2rem;
    background-repeat: no-repeat;
    background-position-y: center;
    background-size: 0.8rem 0.7rem;
    /*  border-radius: 0.2rem;*/
}

.paginador span.pag_primera,
.paginador span.pag_ultima,
.paginador span.pag_anterior,
.paginador span.pag_siguiente {
    filter: saturate(0);
    opacity: 0.6;
}

.paginador .pag_primera:hover,
.paginador .pag_ultima:hover,
.paginador .pag_anterior:hover,
.paginador .pag_siguiente:hover {
    opacity: 0.6;
}
.paginador .pag_primera {
    padding-left: 1.2rem;
    /*  background-image: url('/img/iconos/ionicons-designerpack/play-skip-back.svg');*/
    background-position-x: 0.2rem;
    border-radius: 0.3rem 0 0 0.3rem;
}
.paginador .pag_ultima {
    padding-right: 1.2rem;
    /*  background-image: url('/img/iconos/ionicons-designerpack/play-skip-forward.svg');*/
    background-position-x: calc(100% - 0.3rem);
    border-radius: 0 0.3rem 0.3rem 0;
}

.paginador .pag_anterior {
    padding-left: 1.3rem;
    /*background-image: url('/img/iconos/ionicons-designerpack/play-back.svg');*/
    background-position-x: 0.2rem;
}
.paginador .pag_siguiente {
    padding-right: 1.3rem;
    /*  background-image: url('/img/iconos/ionicons-designerpack/play-forward.svg');*/
    background-position-x: calc(100% - 0.3rem);
}

.paginador .pag_anterior,
.paginador .pag_siguiente {
    margin-left: 0.15rem;
    margin-right: 0.15rem;
}

.paginador .pag_primera::before,
.paginador .pag_anterior::before,
.paginador .pag_siguiente::before,
.paginador .pag_ultima::before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    background-color: transparent;
    background-position-y: center;
    background-position-x: center;
    background-repeat: no-repeat;
    background-size: 0.9rem;

    filter:
        invert(29%) sepia(100%) saturate(878%)
        hue-rotate(169deg) brightness(89%) contrast(102%);
    filter: invert();
    /*border: 1px solid white;*/
}

.paginador .pag_primera::before,
.paginador .pag_ultima::before {
    width: 1.4rem;
    background-size: 0.7rem;
}

.paginador .pag_anterior::before,
.paginador .pag_siguiente::before {
    width: 1.4rem;
    background-size: 0.9rem;
}


.paginador .pag_primera::before {
    background-image: url('/img/iconos/ionicons-designerpack/play-skip-back.svg');
    left: 0;
}
.paginador .pag_anterior::before {
    background-image: url('/img/iconos/ionicons-designerpack/play-back.svg');
    left: 0;
}
.paginador .pag_siguiente::before {
    background-image: url('/img/iconos/ionicons-designerpack/play-forward.svg');
    right: 0;

}
.paginador .pag_ultima::before {
    background-image: url('/img/iconos/ionicons-designerpack/play-skip-forward.svg');
    right: 0;
}

.paginador .multiplicador {
    margin-left: 1rem;
    display: flex;
    position: relative;
}
.paginador .multiplicador:hover::before {
    content: 'concentración de ítems';
    position: absolute;
    top: 1.3rem;
    left: 0;
    width: 100%;
    text-align: center;
    line-height: 0.9rem;
    font-size: 0.8rem;
    color: rgb(149, 15, 193);
}
.paginador .multiplicador .multi {
    text-decoration: none;
    border-radius: 50%;
    margin: 0 0.15rem;
    width: 1rem;
    height: 1rem;
    font-size: 0;
    text-align: center;
    position: relative;
}
.paginador .multiplicador .multi:hover::before {
    content: attr(data-multiplicador);
    position: absolute;
    display: block;
    bottom: 1.1rem;
    font-size: 0.7rem;
    line-height: 0.9rem;
    font-family: negrita;
    left: -0.2rem;
    background-color: rgba(0, 0, 0, 0.75);
    color: white;
    padding: 0.2rem 0.4rem;
    border-radius: 0.3rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
}


.paginador .multiplicador .multi:nth-child(1) {
    background-color: rgba(201, 17, 217, 0.4);
}

.paginador .multiplicador .multi:nth-child(3) {
    background-color: rgba(201, 17, 217, 0.5);
}

.paginador .multiplicador .multi:nth-child(5) {
    background-color: rgba(201, 17, 217, 0.6);
}

.paginador .multiplicador .multi:nth-child(7) {
    background-color: rgba(201, 17, 217, 0.7);
}

.paginador .multiplicador .multi:nth-child(9) {
    background-color: rgba(201, 17, 217, 0.8);
}

.paginador .multiplicador .multi:nth-child(11) {
    background-color: rgba(201, 17, 217, 0.9);
}

.paginador .multiplicador .multi:nth-child(13) {
    background-color: rgba(201, 17, 217, 1);
}

.paginador .multiplicador .multi.aqui {
    background-color: #a8cbd9;
}


/*pruebaloader*/
@media (max-width: 450px){
    .loader{
        padding: 0;
    }
}

/* Datepicker */
div.ui-datepicker {
    background-color: white;
    padding: 0.5rem;
    border: 1px solid #d0d0d0;
}
div.ui-datepicker th {
    font-family: estandar;
    font-weight: normal;
    font-size: 0.75rem;
    opacity: 0.5;
}
div.ui-datepicker td {
    text-align: center;
    position: relative;
    height: 2rem;
    width: 2rem;
}
div.ui-datepicker th:nth-child(6),
div.ui-datepicker th:nth-child(7),
div.ui-datepicker td:nth-child(6) a,
div.ui-datepicker td:nth-child(7) a {
    color: red;
}
div.ui-datepicker td a {
    font-size: 0.8rem;
    color: #666;
    text-decoration: none;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    padding-top: 0.5rem;
    border-radius: 0.2rem;
}

div.ui-datepicker td a:hover {
    background-color: #EEE;
}

.ui-datepicker-title {
    font-family: negrita;
    text-align: center;
    margin-bottom: 0.5rem;
}
.ui-datepicker-prev {
    position: absolute;
    left: 1rem;
}
.ui-datepicker-next {
    position: absolute;
    right: 1rem;
}

/*
 * Extras para campos
 */

/*
Opciones (clases):
  inserta_summa
  summa_en_linea
  contenedor_buscable
  contenedor_limitado
  contenedor_encogible 
*/

/* Elementos summa de campos checkbox y select */
.summa_seleccionados {
    display: none;
    max-height: 10rem;
}
.inserta_summa .summa_seleccionados {
    display: block;
}

.inserta_summa .summa_seleccionados:not(:empty) {
    margin-bottom: 0.2rem;
}

.summa_item {
    position: relative;
    display: flex;
    /*border: 0.1rem solid transparent;*/
    border: none;
    padding: 0.1rem 0.3rem;
    border-radius: 0.3rem;
    margin-right: 0.2rem;
    margin-bottom: 0.2rem;
    width: max-content;
    transition:
        background-color var(--animacion-estandar) ease-in 0s,
        border var(--animacion-estandar) ease-in 0s;
    background-color: white;
    font-size: 0.9rem;
}
.summa_item .summa_valor {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.summa_en_linea .summa_item {
    display: inline-flex;
    max-width: 100%;
}
.summa_item_retira {
    padding-left: 0.3rem;
    font-family: negrita;
    opacity: 0.1;
    transition:
        opacity var(--animacion-estandar) ease-in 0s,
        color var(--animacion-estandar) ease-in 0s;
}
.summa_item:hover {
    /*  border-color: var(--fondo-medio-semiopaco);
      background-color: var(--fondo-claro);*/
    cursor: default;
}
.summa_item:hover .summa_item_retira {
    opacity: 1;
}
.summa_item_retira:hover {
    cursor: pointer;
    color: var(--error);
}

.campo.contenedor_limitado div.contenedor_opciones,
.campo.contenedor_limitado select[multiple].contenedor_opciones {
    height: 8rem;
    max-height: 8rem;
    overflow-y: auto;
    width: 100%;
    background-color: white;
    border: 1px solid #97b2c3;
    transition:
        height var(--animacion-estandar) ease-in var(--animacion-estandar);
}

.campo.contenedor_limitado.contenedor_encogible div.contenedor_opciones,
.campo.contenedor_limitado.contenedor_encogible select[multiple].contenedor_opciones {
    height: 0;
    padding: 0;
}

/* Buscadores por campo checkbox/select */
/*.caja_busqueda {
  display: none;
}

.contenedor_buscable .caja_busqueda {
  position: relative;
  background-color: transparent;
  padding-left: 2rem;
}*/

.caja_busqueda_envoltura {
    position: relative;
}

input[type="text"].caja_busqueda {
    display: none;
    position: relative;
    background-color: transparent;
    background-image: url('/img/iconos/keyboard.svg');
    background-position: 0.3rem 0.2rem;
    background-size: 1.3rem;
    background-repeat: no-repeat;
    height: auto;
    padding-left: 2rem;
    padding-right: 1.7rem;
    padding-bottom: 0;
    border: none;
    filter:
        invert(80%)
        sepia(21%)
        saturate(300%)
        hue-rotate(160deg)
        brightness(83%)
        contrast(92%);
}

.contenedor_buscable input[type="text"].caja_busqueda {
    display: block;
}

input[type="text"].caja_busqueda::placeholder {
    opacity: 1;
}

input[type="text"].caja_busqueda:focus,
input[type="text"].caja_busqueda:focus-visible {
    box-shadow: none;
    outline: none;
    filter: invert(44%) sepia(21%) saturate(695%) hue-rotate(159deg) brightness(94%) contrast(87%);
}

/*.contenedor_encogible input[type="text"].caja_busqueda:focus-within ~ div.contenedor_opciones,
.contenedor_encogible input[type="text"].caja_busqueda:focus-within ~ select[multiple].contenedor_opciones,
.contenedor_encogible div.contenedor_opciones:focus-within,
.contenedor_encogible select[multiple].contenedor_opciones:focus-within {
  height: 8rem;
}*/

.campo.contenedor_limitado.contenedor_encogible.enfocado div.contenedor_opciones {
    height: 8rem;
}

.limpia_caja_busqueda {
    position: absolute;
    right: 0;
    top: 0;
    width: 1.5rem;
    height: auto;
    padding: 0.3rem 0 0 0;
    margin-top: 0.2rem;
    color: transparent;
    background-image: url(/img/iconos/heroicons-master/outline/backspace.svg);
    background-repeat: no-repeat;
    background-position: left 0.2rem;
    background-size: 1.4rem;
    opacity: 0.3;
    cursor: pointer;
}

.limpia_caja_busqueda:hover {
    opacity: 0.6;
}


/*
 * Momento
 */

.momento_propuesta_interactiva {
    font-family: unidadesn;
    padding: 0.1rem;
}

.momento_fecha_confirmada {
    color: var(--confirmacion);
}

.momento_fecha_tentativa {
    color: var(--neutro);
}

.momento_fecha_no_valida {
    color: var(--error);
}

#finicio_elemento_interactivo,
#ffin_elemento_interactivo {
    margin-top: 0.3rem;
}


/* Específicos */

#agente_elegido.cabas_seleccionados:empty::before {
    content: attr(data-vacio_txt);

    position: relative;
    min-height: 5rem;
    border-radius: 0.2rem;
    padding: 0.5rem;
    background-color: var(--fondo-muy-claro-semiopaco);
    box-shadow: 0rem 0.1rem 0.2rem -0.1rem black;

    color: var(--texto-claro);
    font-style: italic;

}