/*++++++++++++++++++++++++++
@name: Idento ISAGA
@author: Idento
@email: jldiaz@idento.es
@version: 2.0.1
++++++++++++++++++++++++++*/

/* --- HTML5 RESET --- */

html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    font: inherit;
    /*vertical-align: baseline;*/
    line-height: 1.8em;
}
li,ul{
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    font: inherit;
    /*vertical-align: baseline;*/
    line-height: 1.8em;
}
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
    display: block;
}

body {
    line-height: 1;
    font-family: 'Roboto', 'Helvetica', 'Arial', sans-serif;
    color: #3e3e3e;
}

/** Mensaje login incorrecto **/

.errorLogin {
    color: red;
    font-weight: bold;
}

ol,
ul {
    list-style: none;
}

blockquote,
q {
    quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
    content: '';
    content: none;
}

div#contenido-factura div.row {
    justify-content: center;
    flex-wrap: wrap;
    margin-right: 0;
    margin-left: 0;
    align-items: center;
}

div#contenido-factura div.row .div_imput {
    width: 40%;
    margin-left: 15px;
    margin-right: 15px;
}

table {
    border-collapse: collapse;
    border-spacing: 0;
}

html {
    overflow-x: hidden;
}

strong {
    font-weight: 700;
}

.text-center {
    text-align: center;
}

.text-right {
    text-align: right;
}

* {
    margin: 0;
    padding: 0;
    list-style: none;
    -webkit-font-smoothing: antialiased;
}

body {
    overflow-x: hidden;
    color: #82858C;
}

/* --- PANEL BASE --- */

body {
    background: #f4f5f7;
    position: relative;
}

body.login .bg-header,
body.login .bg-footer {
    display: none;
}

#main-board {
    width: 97%;
    margin: 0 auto;
}

body.login #main-board {
    width: 100%;
}

.full-height-wrapper {
    /*padding-top: 4vh;*/
    min-height: 100vh;
    display: flex;
    align-items: flex-start;
    justify-content: center;
}

.bg-header {
    background: url(/images/bg-header.svg);
    width: 100vw;
    background-size: cover;
    height: 37vh;
    background-position: bottom center;
    position: absolute;
    top: 0px;
    left: 0px;
    z-index: -1;
}

.bg-header .bg-map {
    background: url(/images/bg-map.svg);
    width: 100%;
    background-size: 40%;
    background-repeat: no-repeat;
    height: 100%;
    background-position: top right;
    position: absolute;
    top: -6em;
    left: 0px;
    opacity: 0.3;
    z-index: -1;
}

.bg-footer {
    background: url(/images/bg-footer.svg);
    width: 100vw;
    background-size: cover;
    height: 35vh;
    background-position: top center;
    position: absolute;
    bottom: 0px;
    left: 0px;
    z-index: -1;
}

.oculto {
    display: none;
}


/* - Cabecera - */

#main-header {
    align-items: flex-end;
    color: white;
    padding-top: 2vh;
}

#main-header .logo-box img {
    display: block;
    width: 70%;
    margin: 0 auto;
    max-width: 131px;
}

h1,
.h1 {
    font-size: 2.2em;
    font-weight: bold;
    margin-bottom: 0.2em;
}

.bread-crumb {
    font-size: 0.9em;
    font-weight: normal;
    color: white;
}

.bread-crumb a {
    font-size: 1em;
    font-weight: normal;
    color: white;
}

.login-box {
    text-align: right;
    position: relative;
    cursor: pointer;
}

#main-header .dropdown-menu{
   transform: translate3d(-8px, 29px, 0px)!important;
        left: auto!important;
     right: 0px;
        padding: 0.5rem;
    text-align: center;
}

.login-box .login {
    display: inline-block;
    width: 70%;
    vertical-align: middle;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.login-box .options {
    display: inline-block;
    width: 20%;
    vertical-align: top;
    font-size: 1.5em;
}

.login-box .icon {
    display: inline-block;
    min-width: 12%;
    margin-right: 5%;
    max-width: 35px;
    vertical-align: middle;
}

.login-box .user {
    display: inline-block;
    vertical-align: middle;
    font-size: 1em;
}


/*- Icono Tipo Negocio -*/

.texto{
    opacity: 0;
}

.iTexto:hover .texto{
    opacity: 1;
}
.iTexto:hover .fas fa-users-cog{
    opacity: 0;
}

#tabla-con-toggle td,
#tablaUsuarios td,
#tabla_periodos_cliente td {
    padding-right: 5px !important;
    padding-left: 5px !important;
    padding-top: 8px !important;
    padding-bottom: 8px !important
}

.dt-button-collection{
    margin-top: 0px !important;
    margin-left: 0px !important;
}

.dataTables_length {
    position: relative;
}


/* - Menú principal - */


#menu-top  {
    padding-left: 0;
    padding-right: 0;
    text-align: center;
}

#menu-top > .wrapper {
    background: white;
    border-radius: 10px;
    box-shadow: 0 3px 6px 0 rgba(0, 0, 0, 0.1);
    display: flex;
    margin-bottom: 10;
}


#menu-top li {
    display: inline;
    padding: 20;
    margin: auto;
}


#menu-top .wrapper-li {
    display: inline-block;
    min-height: 100%;
}


#menu-top li a {
    display: block;
    color: #83858d;
    text-decoration: none;
    padding-bottom: 1em;
    padding-top: 1em;
    border-bottom: 2px solid rgba(184, 204, 209, 0.23);
}

#menu-top .wrapper-li:hover .icon-color{
    display: inline-block;
    transform: scale(1.1);
}

#menu-top li .icon {
    width: 31%;
    max-width: 50px;
    display: block;
    margin: 0 auto;
}
#menu-top .wrapper-li:hover .icon-grey{
    display: none;
    transform: scale(1.1);
}

#menu-top .wrapper-li .icon-color{
    display: none;
    height: 45px;
}

#menu-top .active .wrapper-li .icon-color{
    display: inline-block;
}

#menu-top .active .wrapper-li .icon-grey{
    display: none;
    height: 45px;
}

#menu-top .wrapper-li .icon-grey{
    display: inline-block;
    height: 45px;
}

#menu-top li a:hover,
#menu-top li a:active {
    color: #049e8c;
    text-decoration: none;
}

#menu-top li a:hover svg path,
#menu-top li a:active svg path {
    fill: #049e8c;
}

#menu-top li.active svg path {
    fill: #00ebcf;
    transition: ease 0.3s;
}

#menu-top li .wrapper-li {
    border-left: 6px solid transparent;
}

/*#main-menu > .wrapper {
    min-height: 100%;
    background: white;
    box-shadow: 0 3px 6px 0 rgba(0, 0, 0, 0.1);
    border-radius: 10px;
    padding: 2em 0em;
}*/

#main-menu ul {
    padding: 0 0;
    margin: 0 0;
    list-style: none;
}

/*#main-menu li {
    display: block;
    width: 100%;
}*/

#main-menu ul ul li {
    background: #f1f1f1;
    padding-left: 2em;
    padding-right: 0.5em;
    color: #82858c;
}

#main-menu ul ul li.active {
    background: linear-gradient(to right, #66E7D1 70%, #f1f1f1 100%);
    padding-left: 2em;
    padding-right: 0.5em;
    color: white;
    font-weight: bold;
}

#main-menu ul ul li a {
    color: #82858c;
    padding-top: 0.9em;
    padding-bottom: 0.9em;
    font-size: 0.9em;
    line-height: 1.2em;
    width: 90%;
    border: 0px;
}

#main-menu ul ul li.active a {
    color: white;
}


#main-menu li .wrapper-li {
    display: block;
    padding: 0 1.5em;
    margin: 0em 0em;
    text-align: center;
}

/*#main-menu li .icon {
    display: inline-block;
    width: 26%;
    vertical-align: middle;
    max-width: 40px;
    min-height: 20px;
}*/

/*#main-menu .wrapper-li:hover .icon-color{
    display: inline-block;
    transform: scale(1.1);
}*/

/*#main-menu .wrapper-li:hover .icon-grey{
    display: none;
    transform: scale(1.1);
}*/

/*#main-menu .wrapper-li .icon-color{
    display: none;
        height: 45px;
}*/

/*#main-menu .active .wrapper-li .icon-color{
    display: inline-block;
}*/

/*#main-menu .active .wrapper-li .icon-grey{
    display: none;
    height: 45px;
}*/

/*#main-menu .wrapper-li .icon-grey{
    display: inline-block;
    height: 45px;
}*/

/*#main-menu li.active svg path {
    fill: #00ebcf;
    transition: ease 0.3s;
}*/

#main-menu li .label {
    display: inline-block;
    color: #83858d;
    /*height: 100%;*/
    font-weight: bold;
    font-size: 15px;
    width: 71%;
    line-height: 1.3em;
    vertical-align: middle;
}

/*#main-menu li a {
    display: block;
    color: #83858d;
    text-decoration: none;
    padding-bottom: 1em;
    padding-top: 1em;
    border-bottom: 2px solid rgba(184, 204, 209, 0.23);
}*/

#main-menu li a:hover,
#main-menu li a:active {
    color: #049e8c;
    text-decoration: none;
}

#main-menu li a:hover .label,
#main-menu li a:active .label {
    color: #66E7D1;
    text-decoration: none;
}

#main-menu li a:hover svg path,
#main-menu li a:active svg path {
    fill: #049e8c;
}

#main-menu li.active .wrapper-li {
    border-left: 6px solid #66E7D1;
}

#main-menu li .wrapper-li {
    border-left: 6px solid transparent;
}

#main-menu li.active {
    color: #66E7D1;
}

#main-menu li.active .label {
    color: #66E7D1;
    font-weight: bold;
}

/* - Panel Principal - */

#main-panel {
    padding: 3vh 0;
}

#main-panel #top-panel .h2 {
    display: block;
    margin-bottom: 0;
}

#main-panel #top-panel .wrapper{
    width: 100%;
}

#main-panel #top-panel .buttons {
    margin-top: 1.5em;
}

#main-panel #top-panel {
    background: white;
    box-shadow: 0 3px 6px 0 rgba(0, 0, 0, 0.1);
    border-radius: 10px;
    display: flex;
    align-items: center;
    margin-bottom: 2vh;
    padding: 2em;
    align-items: flex-end;
}


#main-panel #top-panel .buttons .cta-button {
    margin-right: 10px;
}

#main-panel #top-panel .buttons .cta-button.derecha {
    margin-right: 0px;
}

.h2,
h2 {
    font-size: 1.8em;
    font-weight: bold;
    display: inline-block;
    vertical-align: middle;
    margin-bottom: 30px;
}

#main-board #content-panel {
    background: white;
    box-shadow: 0 3px 6px 0 rgba(0, 0, 0, 0.1);
    border-radius: 10px;
    display: flex;
    flex-direction: column;
    padding: 2em 0;
}

#main-board #content-panel.content-panel-form {
    background: white;
    box-shadow: 0 3px 6px 0 rgba(0, 0, 0, 0.1);
    border-radius: 10px;
    display: flex;
    flex-direction: column;
    padding: 2em 0 0em 0;
}

#main-board #options-panel {
    background: white;
    box-shadow: 0 3px 6px 0 rgba(0, 0, 0, 0.1);
    border-radius: 10px;
    display: flex;
    flex-direction: column;
    padding: 2em 0;
}

#main-board #options-panel.options-panel-form {
    background: white;
    box-shadow: 0 3px 6px 0 rgba(0, 0, 0, 0.1);
    border-radius: 10px;
    display: flex;
    flex-direction: column;
    padding: 2em 0 0em 0;
}

.h3,
h3 {
    font-size: 1.5em;
    font-weight: bold;
    margin-bottom: 1em;
    display: inline-block;
    vertical-align: middle;
}


.h4,
h4 {
    margin-top: 1em;
    font-size: 1.2em;
    font-weight: bold;
    margin-bottom: 1em;
    display: inline-block;
    vertical-align: middle;
}

.centrar {
    text-align: center;
}

.right {
    text-align: right;
    padding-left: 20px;
}

.icono-rojo a {
    color: rgba(249, 45, 45, 0.55);
}

td .fondo-label-rojo {
    background-color: rgba(249, 73, 45, 0.55);
    color: #fff;
    border-radius: 25px;
    padding: 5px;
}

td .fondo-label-azul {
    background-color: #56bde5;
    color: #fff;
    border-radius: 25px;
    padding: 5px;
}

#main-board #content-panel.campana-fondo {
    background: white;
    box-shadow: 0 3px 6px 0 rgba(0, 0, 0, 0.1);
    border-radius: 10px;
    display: flex;
    flex-direction: column;
    padding: 0em 0 2em 0em;
}

#main-board #options-panel.campana-fondo {
    background: white;
    box-shadow: 0 3px 6px 0 rgba(0, 0, 0, 0.1);
    border-radius: 10px;
    display: flex;
    flex-direction: column;
    padding: 0em 0 2em 0em;
}

#main-board #content-panel > header.campanas-fondo {
    border-bottom: 0px solid #EAEAEC;
    padding: 0 2em;
    color: #fff;
    border-radius: 10px 10px 0px 0px;
    padding-bottom: 1.5em;
    margin-bottom: 2em;
    padding-top: 2em;
    background-image: linear-gradient(267deg, #66e7d1, #56bde5);
        align-items: center;
}

#main-board #options-panel > header.campanas-fondo {
    border-bottom: 0px solid #EAEAEC;
    padding: 0 2em;
    color: #fff;
    border-radius: 10px 10px 0px 0px;
    padding-bottom: 1.5em;
    margin-bottom: 2em;
    padding-top: 2em;
    background-image: linear-gradient(267deg, #66e7d1, #56bde5);
        align-items: center;
}

#main-board #content-panel > header.editar-header-cont{
        display: block;
}

#main-board #content-panel > header .cta-button{
   margin-left: 10px; 
}

#main-board #content-panel > header {
    border-bottom: 2px solid #EAEAEC;
    padding: 0 2em;
    padding-bottom: 1.5em;
    margin-bottom: 2em;

    display: flex;
    justify-content: space-between;
}

#main-board #content-panel > header.sin {
    border-bottom: 0px solid #EAEAEC;
    padding: 0 2em;
    padding-bottom: 1.5em;
    margin-bottom: 0em;
}

#main-board #content-panel > header .h3 {
    margin-bottom: 0em;
    display: inline;
}

#main-board #content-panel header.campanas-fondo i {
        font-size: 16px;
}

#main-board #content-panel .wrapper-padding {
    padding: 0 2em;
}

#main-board #content-panel .display-initial {
    display: initial;
}

/*----------*/
#main-board #options-panel > header.editar-header-cont{
    display: block;
}

#main-board #options-panel > header .cta-button{
margin-left: 10px; 
}

#main-board #options-panel > header {
border-bottom: 2px solid #EAEAEC;
padding: 0 2em;
padding-bottom: 1.5em;
margin-bottom: 2em;

display: flex;
justify-content: space-between;
}

#main-board #options-panel > header.sin {
border-bottom: 0px solid #EAEAEC;
padding: 0 2em;
padding-bottom: 1.5em;
margin-bottom: 0em;
}

#main-board #options-panel > header .h3 {
margin-bottom: 0em;
display: inline;
}

#main-board #options-panel header.campanas-fondo i {
    font-size: 16px;
}

#main-board #options-panel .wrapper-padding {
padding: 0 2em;
}

#main-board #options-panel .display-initial {
display: initial;
}

.filter-buttons {
    margin-bottom: 2em;
}

.filter-buttons label {
    font-weight: bold;
    vertical-align: middle;
}

.filter-buttons input[type="text"] {
    width: 100%;
}

.table-wrapper {
    overflow-x: auto;
}

/*
#top-panel .wrapper {
    width: 100%;
}*/

div.dataTables_wrapper div.dataTables_filter input {
    background: url(/images/search_icon.svg)!important;
    background-repeat: no-repeat;
    background-position: right+1em center;
    background-size: 1.1em;
}

.form-input div.rigth,
.form-input-2 div.rigth {
    line-height: 0em;
}

.form-input input[type="text"],
.form-input select {
    width: 332px;
    /*    padding: 0.2em 6em;*/
    font-size: 0.9em;
    border-radius: 25px;
    border: none;
    outline: none;
    box-shadow: 0px 0px 9px 0px rgba(93, 93, 93, 0.31);
    vertical-align: middle;
}


.form-input-2 input[type="text"],
.form-input-2 input[type="password"],
.form-input-2 input[type="email"],
.form-input-2 select,
textarea {
    width: 100%;
    font-size: 0.9em;
    border-radius: 25px;
    border: none;
    outline: none;
    box-shadow: 0px 0px 9px 0px rgba(93, 93, 93, 0.31);
    vertical-align: middle;
    padding: 0.4em 1em;
}

textarea::placeholder {
    padding: 0.4em 1em;
}

select#registros {
    width: auto;
}

input[type="text"],
select,
input[type="password"],
input[type="email"] {
    width: 100%;
    padding: 0.4em 1em;
    font-size: 0.9em;
    border-radius: 25px;
    border: none;
    outline: none;
    box-shadow: 0px 0px 7px 0px rgba(93, 93, 93, 0.27);
    vertical-align: middle;
}

#vista_borrador, #vista_revisar, #vista_serie, #vista_asignadas,#vista_tipos {
    width: 10%;
    margin: 0 2px;
}

#select_leidas, #select_prioridad {
    width: 10%;
    margin: 0 5px;
}

.filter-buttons input[type="text"],
input[type="search"] {
    padding: 0.2em 2em;
    font-size: 0.9em;
    border-radius: 25px;
    border: none;
    outline: none;
    box-shadow: 0px 0px 9px 0px rgba(93, 93, 93, 0.31);
    vertical-align: middle;
}

[type=submit]:focus,
button:focus,
a:focus {
    outline: none;
}

/* - Paginador - */

.paginator {
    text-align: center;
    margin-top: 1.5em;
}

.paginator i {
    color: #a1b0cb;
}

.paginator .number {
    background: #b8c8e4;
    padding: 0.3em 0.7em;
    color: white;
    margin: 0 0.5em;
}

.paginator .number a {
    color: white;
}

/* --- TABLAS --- */

.linea-inferior {
    border-bottom: 2px solid rgba(184, 204, 209, 0.34);
    padding-bottom: 0.5em;
    margin-bottom: 2em;
    width: 100%;
}

.table-wrapper > table ,.w-100{
    width: 100%;
}
.table-wrapper2 > table ,.w-100{
    width: 100%;
}

table {
    border-collapse: collapse;
    border-spacing: 0;
}

table thead {
    font-weight: bold;
    color: #757575;
    font-size: 0.9em;
}

 table.dataTable tbody td {
    color: #75758a;
}

table th {
    background-color: #EBEEF5;
    padding-top: 0.5em;
    padding-bottom: 0.5em;
}

.top-th {
    border-bottom: 1px solid #E3E3EC;
    padding: 0.4em 0;
}

table.dataTable thead .sorting:before, table.dataTable thead .sorting:after, table.dataTable thead .sorting_asc:before, table.dataTable thead .sorting_asc:after, table.dataTable thead .sorting_desc:before, table.dataTable thead .sorting_desc:after, table.dataTable thead .sorting_asc_disabled:before, table.dataTable thead .sorting_asc_disabled:after, table.dataTable thead .sorting_desc_disabled:before, table.dataTable thead .sorting_desc_disabled:after {
    position: absolute;
    bottom: 0.9em;
    display: none!important;
    opacity: 0.3;
}

th,
td {
    vertical-align: middle;
    border-left: 1px solid #E3E3EC;
    border-collapse: collapse;
    text-align: center;
    padding: 1em;
    font-size: 0.95em;
}
/*
table tr:nth-child(even) {
    background: #f4f5f7!important;
}
*/
.even {
    background: #f4f5f7!important;
}

th:first-child,
td:first-child {
    vertical-align: middle;
    border: 0px;
    border-collapse: collapse;
}

table.dataTable.no-footer {
    border-bottom: 0px solid #111;
}

table.dataTable.stripe tbody tr.odd,
table.dataTable.display tbody tr.odd {
    background-color: #fff;
}

div.dataTables_wrapper div.dataTables_info {
    color: #82858C;
    font-size: 12px;
}

table.dataTable thead .sorting:before,
table.dataTable thead .sorting_asc:before,
table.dataTable thead .sorting_desc:before,
table.dataTable thead .sorting_asc_disabled:before,
table.dataTable thead .sorting_desc_disabled:before {
    display: none;
}

table .btn-toolbar {
    margin: 1em 0;
}

table.dataTable.display tbody tr.even > .sorting_1,
table.dataTable.order-column.stripe tbody tr.even > .sorting_1 {
    background-color: #f4f5f7;
}

table.dataTable.display tbody tr.odd > .sorting_1,
table.dataTable.order-column.stripe tbody tr.odd > .sorting_1 {
    background-color: #fff;
}

table .btn-group {
    display: block;
    width: 100%;
}

table .icon-group {
    display: flex;
    width: 100%;
}

table .btn-group .cta-button {
    /*    width: 100%;*/
    margin: 0.3em 0;
}

table.dataTable thead th,
table.dataTable thead td {
    border-bottom: 1px solid #E3E3EC;
}

.page-item.active .page-link {
    background-color: #C9D8F2;
    border-color: #C9D8F2;
}

.page-link {
    color: #556ba5;
}

.page-link:hover {
    color: #ffffff;
    text-decoration: none;
    background-color: #C9D8F2;
    border-color: #C9D8F2;
}

.dataTables_wrapper .dataTables_paginate .paginate_button {
    border: 0px solid transparent;
    padding: 0.5em 0.1em;
}

.dataTables_wrapper .dataTables_paginate .paginate_button:hover {
    background: transparent;
    border: 0px solid transparent;
}

#boton-login {
    width: 100%;
    margin: 0;
}

/*
.cta-button i {
    padding-left: 0.2em;
    padding-right: 0.2em;
    vertical-align: top;
    padding-top: 0.1em;
    font-size: 0.8em;
}
*/

.margin-top {
    margin-top: 2vh;
}


/* --- FORMULARIOS--- */

.div_imput {
    margin-bottom: 1em;
    margin-top: 0.2em;
}



.buttons-bottom {
    border-radius: 0px 0px 10px 10px;
    background-color: #F3F6FB;
    padding-bottom: 40px;
    padding-top: 40px;
    margin-top: 80px;
    padding-right: 2em;
    padding-left: 2em;
}

.buttons-bottom .cta-button {
    margin-left: 10px;
    margin-right: 10px;
    cursor: pointer!important;
}
.buttons-bottom .disabled {
    margin-left: 10px;
    margin-right: 10px;
    cursor: not-allowed !important;
}

.buttons-bottom .buttons-center {
    width: 80%;
    display: inline-block;
    text-align: center;
}


/* --- BOTONES --- */

button.dt-button {
    border: 1px solid #BBCEEF;
    background-color: #BBCEEF!important;
    padding: 11px 15px;
    color: #fff;
    border-radius: 25px;
    box-shadow: 0 0 5px 0 rgba(104, 121, 149, 0.38);
    line-height: 1em!important;
    background-image: none;
    font-size: 16px;
    cursor: pointer;
}

button.dt-button:hover {
    background: #8DA1D6!important;
    border: 1px solid #BBCEEF!important;
}

button.dt-button span {
    line-height: 16px;
}

.derecha {
    float: right;
}

#dropdownMenu {
    background: none;
    width: inherit;
}

html [type=button] {
     -webkit-appearance: none; 
}

.cta-button {
    display: inline-block!important;
    padding: 11px 15px;
    color: #fff;
    font-size: 16px;
    border-radius: 25px;
    box-shadow: 0 0 5px 0 rgba(104, 121, 149, 0.38);
    line-height: 1em;
    display: inline-block;
    background: #56BDE5;
    font-weight: normal;
    white-space: nowrap;
    border: none;
    outline: none;
    cursor: pointer;
}

.cta-button:hover {
    color: #fff;
}

.btn-secondary {
    color: #fff;
    background-color: #6c757d!important;
    border-color: #6c757d;
}

.deg-morado {
    background: linear-gradient(to right, rgba(102, 158, 231, 1) 0%, rgba(217, 116, 193, 1) 100%);
}

.deg-morado:hover {
    background: rgba(217, 116, 193, 1);
}

.bg-gris:hover {
    background: #8DA1D6;
}

.bg-gris {
    background: #BBCEEF;
}

.deg-azul {
    background: linear-gradient(to right, #556ba5, #669ee7);
}

.deg-azul:hover {
    background: #556ba5;
}

.deg-turquesa {
    background: linear-gradient(264deg, #56bde5, #66e7d1);
}

.deg-turquesa:hover {
    background: #56bde5;
}

.deg-rojo {
    background: linear-gradient(265deg, rgba(249, 45, 45, 0.83), rgba(249, 127, 45, 0.55));
}

.deg-rojo:hover {
    background: rgba(249, 45, 45, 0.83);
}

.rojo {
    background: rgba(249, 127, 45, 0.55);
}

.rojo:hover {
    background: rgba(249, 45, 45, 0.83);
    color: #fff;
}

.turquesa {
    background: #5AC7E0;
}

.azul {
    background: #556BA5;
}

.azul-claro {
    background: #C9D8F2;
}

.turquesa:hover,
.azul-claro:hover,
.azul-claro:focus,
.azul-claro:active {
    background: #8DA1D6;
    color: #fff;
}


.btn-primary {
    border: 1px solid #BBCEEF;
    background-color: #BBCEEF!important;
    padding: 11px 15px;
    color: #fff;
    border-radius: 25px;
    box-shadow: 0 0 5px 0 rgba(104, 121, 149, 0.38);
    line-height: 1em!important;
    background-image: none;
    font-size: 16px;
    cursor: pointer;
}

.btn-primary:hover {
    border: 1px solid #BBCEEF;
    background-color: #8DA1D6!important;
}

.input-estilo {
    color: #82858c;
    background-color: #fff;
}


#main-board #content-panel > header a i {
    margin-right: 0em;
}

#main-board #content-panel > header.block-colum {
    display: block!important;
}


.custom-select {
    background-image: url(/images/angle-down-solid.svg)!important;
    background-repeat: no-repeat!important;
    background-position: right+1em center!important;
    background-size: 2em!important;
    padding-right: 3em!important;
    -webkit-appearance: none!important;
    -moz-appearance: none!important;
    -o-appearance: none!important;
    appearance: none!important;
    border-radius: 25px!important;
    /*z-index: 1;*/
}

.custom-select::-ms-expand {
    display: none!important;
    /*Evita que se muestre la flecha por defecto en versiones de IE*/
}

.btn-group i {
    padding-left: 5px;
}

.dataTables_wrapper .dt-buttons .dt-button {
    margin-bottom: 1em;
    margin-right: 1em;
}

.dataTables_filter,
.dataTables_length {
    margin-bottom: 1em;
}

/*.btn-group show,
.btn-group{
    z-index: 1 !important;
}*/

label {
    color: #82858C;
    font-size: 15px;
    padding-right: 20px;
    font-weight: 400;
}

.menu-colors .elem:first-child,
.menu-colors .elem:last-child {
    padding-left: 0px;
    padding-right: 0px;
}

.menu-colors .color-panel .overlay {
    position: absolute;
    width: 103%;
    height: 103%;
    top: 0px;
    left: 0px;
    opacity: 0.85;
}

.menu-colors .color-panel {
    min-height: 28em;
    background-size: cover;
    background-blend-mode: soft-light;
    background-position: center;
    box-shadow: 0 3px 6px 0 rgba(0, 0, 0, 0.1);
    border-radius: 10px;
    display: flex;
    flex-direction: column;
    padding: 2em 1em;
    position: relative;
    overflow: hidden;
    justify-content: center;
    align-items: center;
}

.menu-colors .color-panel.one {
    background-image: url('/images/color1.jpg');
}

.menu-colors .color-panel.two {
    background-image: url('/images/color2.jpg');
}

.menu-colors .color-panel.three {
    background-image: url('/images/color3.jpg');
}

.menu-colors .color-panel .overlay.purple {
    background: linear-gradient(to top right, #d63bad 0%, #0588be 100%);
}

.menu-colors .color-panel .overlay.orange {
    background: linear-gradient(to top right, #e2d42f 0%, #ff8c2a 100%);
}

.menu-colors .color-panel .overlay.green {
    background: linear-gradient(to top right, #96d41c 0%, #69dea8 100%);
}

.menu-colors .color-panel .content {
    z-index: 9;
    color: white;
    text-align: center;
}

.menu-colors .color-panel .title {
    font-weight: bold;
    font-size: 1.65em;
    line-height: 1em;
    display: block;
}

.menu-colors .color-panel .data {
    font-weight: bold;
    font-size: 1.3em;
    line-height: 3.5em;
}

.color-panel .cta-button {
    font-size: 1rem;
    font-weight: bold;
    padding: 0.7em 1.5em;
    background: linear-gradient(to right, #00cae9 0%, #17d2c6 100%);
}

.color-panel .cta-button:hover {
    color: white;
    text-decoration: none;
    background: linear-gradient(to right, #06aec7 0%, #16cec2 100%);
}

.menu-colors .color-panel .wrapper-data {
    background: rgba(255, 255, 255, 0.26);
    display: block;
    width: 4.5em;
    height: 4.5em;
    vertical-align: middle;
    text-align: center;
    margin: 2em auto;
    border-radius: 100%;
    overflow: hidden;
}

.dropdown-menu {
    background: white;
    border: 0px;
    box-shadow: 0 3px 6px 0 rgba(0, 0, 0, 0.1);
    border-radius: 6px;
        padding: 0em 1em;
    font-size: 0.9em;
    color: #82858C;
}

.dropdown-menu li {
    border-bottom: 2px solid #edf3f4;
    padding: 0.7em 0;
    /*z-index: 1;*/
}

.dropdown-menu li a {
    color: #83858d;
    text-decoration: none;
    transition: ease 0.3s;
}

.dropdown-menu li a:hover,
.dropdown-menu li a:active {
    color: #515258;
}

.dropdown-menu li.delete,
.dropdown-menu li.delete a {
    color: #F92D2D;
}

.dropdown-menu li:last-child {
    border-bottom: 0px;
}

.textarea-100 {
    padding: 0.5em;
    margin: 5px 5px;
    width: 98%;
    border: none;
    box-shadow: 0px 0px 9px 0px rgba(93, 93, 93, 0.31);
    vertical-align: middle;
    border-radius: 25px;
}

.dropdown-menu i {
    padding-right: 6px;
}

.filter-buttons.tres .filter-group {
    width: 100%;
}


.form-input-2 label {
    display: block;
    padding-left: 20px;
}

.span-check {
    padding-left: 10px;
}

.button_anadir {
    position: absolute;
    top: 29px;
    right: -44px;
    color: #fff;
    border-radius: 25px;
    padding: 6px 13px;
}

.id_fecha_alta{
    font-style: oblique;
    color: darkblue;
}

/*ACCESO*/

.bg_login {
    background-image: url(/images/fondo.jpg);
    height: 100vh;
    background-size: cover;
    position: relative;
    overflow: hidden;
    align-items: center;
}

.bg_login .overlay.purple {
    background: linear-gradient(to top right, #d63bad 0%, #0588be 100%);
    position: absolute;
    width: 103%;
    height: 103%;
    top: 0px;
    left: 0px;
    opacity: 0.85;
}

.box_login_logo {
    margin-top: -150px;
}

.caja_login {
    background: white;
    box-shadow: 0 3px 6px 0 rgba(0, 0, 0, 0.1);
    border-radius: 10px;
    padding: 2em;
    position: relative;
}

.caja_img img {
    width: 150px;
    padding-bottom: 2vh;
}

.caja_login button {
    margin-left: 20px;
}

.caja_img {
    text-align: center;
}

input.login {
    background: url(/images/user-alt-solid.svg);
    background-repeat: no-repeat;
    background-position: left+1em center;
    background-size: 1.9em;
    padding: 0.7em 3.3em;
}

input.password {
    background: url(/images/unlock-alt-solid.svg);
    background-repeat: no-repeat;
    background-position: left+1em center;
    background-size: 1.9em;
    padding: 0.7em 3.3em;
}

.add-on {
    background: url(/images/unlock-alt-solid.svg);
}

.add-on:before {
    font-family: "Font Awesome 5 Free";
    content: "\f073";
    display: inline-block;
    position: absolute;
    color: #b5b5b5;
    right: -21px;
    top: 38px;
    font-weight: bold;
}

.button-cancelar{
    color: #f85d58!important;
    text-decoration: none;
    margin: 0 15px;
}

.button-cancelar:hover {
    color: red!important;
}

.derecha {
    float: right;
}

#camposFechas .cta-button{
    margin: 1rem 0;
}

#camposFechas  .submit-input-periodos{
    text-align: center;
}


/*Mensajes personalizados*/

.mensaje-acciones {
    position: fixed;
    z-index: 100 !important;
    top: 50%;
    left: 50%;
    /*¿prefijos transform?*/
    transform: translate(-50%, -50%);
    width: 35%;
    vertical-align: middle;
    height: 80px;
    line-height: 80px;
    padding: 5px;
    text-align: center;
    display: table;
}

input[type=url],
input[type=date],
input[type=number],
input[type=file],
input[type=tel] {
    width: 100%;
    border-radius: 25px;
    font-size: 0.9em;
    border: none;
    outline: none;
    box-shadow: 0px 0px 9px 0px rgba(93, 93, 93, 0.31);
    vertical-align: middle;
    padding: 0.4em 1em;
}

/* Enlaces con apariencia de boton */

a.cta-button {
    text-decoration: none;
}

.icon-group > a {
    direction: block;
    padding: 0 0.3rem;
}

/*Centrar cabeceras de las columnas en tablas*/

thead,
th {
    text-align: center;
}

.enable > i {
    color: #1ED760;
}

.disable > i {
    color: red;
}

.blurry {
    filter: blur(3px);
}

#div_factusol fieldset {
    border-radius: 4px;
    border: 1px solid #00d;
}

#div_factusol legend {
    background-color: #fff;
    border: 1px solid #00d;
    border-radius: 4px;
    color: var(--blue);
    font-size: 17px;
    font-weight: bold;
    padding: 3px 5px 3px 7px;
    width: auto;
}

.div_fieldset_fuente fieldset {
    border-radius: 4px;
    border: 1px solid #00d;
}

.div_fieldset_fuente legend {
    background-color: #fff;
    border: 1px solid #00d;
    border-radius: 4px;
    color: var(--blue);
    font-size: 17px;
    font-weight: bold;
    padding: 3px 5px 3px 7px;
    width: auto;
}

input:read-only{
    background-color: #E9ECEF;
}
/*Hace más oscuros los botones seleccionados en "columnas visibles" para tablas*/

button.dt-button.active {
    background: #556BA5 !important;
}

/* Resalta las filas por donde pasa el puntero */
table.dataTable tbody tr:hover:not(.filaRoja) {
   /*background-color:#71d1eb !important;*/
   background-color: #ffa !important;
}

.filaRoja{
    background-color: #ff9994 !important;
}

#span_principio_mes{
    font-size: 0.8em;
}

.alert-simple.alert-info{
  border: 1px solid rgba(6, 44, 241, 0.46);
    background-color: rgba(7, 73, 149, 0.12156862745098039);
    box-shadow: 0px 0px 2px #0396ff;
  transition:0.5s;
  cursor:pointer;
}

.alert-info:hover{
  background-color: rgba(7, 73, 149, 0.35);
  transition:0.5s;
}

.footer {
   position: fixed;
   left: 0;
   bottom: 0;
   width: 100%;
   text-align: center;
}

/* Chrome, Safari, Edge, Opera */
.number-input-modal::-webkit-outer-spin-button,
.number-input-modal::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

/* Firefox */
input[type=number] {
  -moz-appearance:textfield;
}

.morosidad{
    position: -webkit-sticky; /* Safari */
    position: sticky;
    top: 0;
    z-index: 999999999 !important;
    color: orange;
}

.modal-xl {
    width: 90%;
   max-width:1200px;
}

/* --- RESPONSIVE  --- */

@media only screen and (max-width: 1955px) {}

@media only screen and (max-width: 1600px) {
    .form-input input[type="text"],
    .form-input select {
        width: 232px;
    }
    .filter-group {
        margin-bottom: 13px;
    }
}

@media only screen and (max-width: 1500px) {}

@media only screen and (max-width: 1428px) {}

@media only screen and (max-width: 1245px) {}

@media only screen and (max-width: 1199px) {}

@media only screen and (max-width: 1199px) {
    .buttons-bottom .buttons {
        text-align: center;
        width: 100%;
    }
    .buttons-bottom .buttons a,
    .buttons-bottom .buttons button {
        margin-top: 10px;
    }
    .buttons-bottom .buttons-center {
        width: 80%;
    }
    #main-menu li .wrapper-li {
        margin: 0 0.5em;
    }
    /*#main-menu li .icon {
        width: 31%;
        max-width: 50px;
        display: block;
        margin: 0 auto;
    }*/
    #main-menu li .label {
        margin-top: 0.3em;
    }
    .filter-buttons label {
        font-size: 12px;
        padding-right: 1px;
    }
}

@media only screen and (max-width: 991px) {
    .form-input input[type="text"],
    .form-input select {
        width: 70%;
    }
    .div_imput label {
        width: auto;
    }
    #main-panel #top-panel .buttons .cta-button {
        margin-bottom: 10px;
    }
    .h2,
    h2 {
        font-size: 1.3em;
        word-break: break-word;
    }
    .h3,
    h3 {
        font-size: 1.2em;
    }
    #main-board #content-panel > header .h3 {
        display: inline;
    }
    .buttons a.derecha {
        float: none;
    }
    .bg-header .bg-map {
        display: none;
    }
    .add-on:before {
        font-family: "Font Awesome 5 Free";
        content: "\f073";
        display: inline-block;
        position: absolute;
        color: #b5b5b5;
        right: 33px;
        top: 35px;
        font-weight: bold;
    }
    .button_anadir {
        display: inline-block;
        border-radius: 25px;
        position: inherit;
        margin-top: 16px;
        margin-bottom: 20px;
    }
    .button_anadir i {
        padding-right: 5px;
    }
    .oculto {
        display: inherit;
    }
    div.dataTables_wrapper div.dataTables_length,
    div.dataTables_wrapper div.dataTables_filter,
    div.dataTables_wrapper div.dataTables_info,
    div.dataTables_wrapper div.dataTables_paginate {
        text-align: center!important;
            float: none;

    }
    div.dt-buttons {
    float: none !important;
    text-align: center;
}
    #main-menu li .wrapper-li {
    padding: 0;
    margin: 0em 0em;
}
    #main-menu li .icon {
    width: 52%;
    max-width: 50px;
}

}




@media only screen and (max-width: 767px) {

    .buttons-bottom .buttons a {
        display: block;
    }
    .bg-header {
        background-position: right+37% top;
        background-size: cover;
        height: 55vh;
    }
    .panel-box {
        text-align: center;
    }
    .login-box {
        text-align: center;
        margin-top: 2em;
    }
    #main-header .logo-box img {
        max-width: 105px;
    }
    h1,
    .h1 {
        text-align: center;
        font-size: 1.5em;
        margin-top: 0.5em;
    }
    .login-box .login {
        text-align: left;
        font-size: 0.9em;
    }
    .login-box .options {
        text-align: right;
    }
    .login-box .icon {
        max-width: 29px;
    }
    #main-menu {
        padding: 0 0;
        margin-bottom: 1em;
        margin-top: 0.5em;
    }
    #main-menu > .wrapper {
        padding: 0em;
    }
    #main-menu ul {
        display: flex;
    }
    #main-menu li .wrapper-li {
        margin: 0 0;
        border-bottom: 0px;
    }
    #main-menu li .label {
        display: none;
    }
    #main-menu li .icon {
        display: inline-block;
        width: 60%;
    }
    #main-menu li.active {
        border: 0px;
    }
    #main-menu li.active svg {
        fill: currentColor;
    }
    #main-panel #top-panel {
        margin-bottom: 4vh;
        padding: 1.3em 2em;
    }
    #main-menu li .wrapper-li {
        border-left: none !important;
    }
    #main-menu li a {
        border-bottom: 0px !important;
    }
    .h2,
    h2 {
        font-size: 1em;
    }
    .menu-colors .elem {
        min-width: 100%;
        margin-bottom: 2em;
        padding: 0 0;
    }
    #main-menu ul ul {
        position: absolute;
        left: 0px;
        bottom: 0px;
        width: 100%;
        height: 4em;
    }
    #main-menu ul ul li {
        padding: 0 1em;
        text-align: center;
    }
    #main-menu ul ul {
        position: absolute;
        z-index: 3;
        flex-direction: column;
        box-shadow: 1px 3px 0px 0 rgba(0, 0, 0, 0.1);
        display: none;
    }
    .box_login_logo {
        margin-top: 0px;
    }
    #main-menu li .wrapper-li {
        margin: 0em 0em;
        padding: 0 0em;
    }
    .buttons-bottom {
    padding-bottom: 20px;
    padding-top: 20px;
    margin-top: 40px;
}
    #main-board #content-panel > header .cta-button {
    margin-bottom: 10px;
}
    #main-board {
    width: 87%;
    margin: 0 auto;
}
}

@media only screen and (max-width: 576px) {
    .div_imput label {
        width: 100%;
    }
    .form-input .div_imput {
        text-align: center;
    }
}

@media only screen and (max-width: 479px) {}

@media only screen and (max-width: 384px) {}