/* TODO Las etiquetas flotantes en inputs con restricciones, necesitan javascript */
/* TODO overflow-style elipsis en texto de botones, de momento solo con btn-img */
:root {
    --fontawesome-font: "Font Awesome 5 Free";
    --fontawesome-weight: 900;
    --fontawesome-font: "Font Awesome 5 Pro";
    --fontawesome-weight: 300;
    /* Color primario */
    --umu-primario-80: #ffe0e2;
    --umu-primario-90: #f7dadb;
    --umu-primario-100: #f3cbcd;
    --umu-primario-200: #e5aaad;
    --umu-primario-300: #d77f85;
    --umu-primario-400: #ca555c;
    --umu-primario-500: #bd2a33;
    --umu-primario-600: #8e2026;
    --umu-primario-700: #5f151a;
    --umu-primario: #bd2a33;
    /* Color primario Zeplin */
    --primario-60: #fff1f2;
    --primario-70: #ffebed;
    --primario-80: #ffe0e2;
    --primario-90: #f7dadb;
    --primario-100: #f3cbcd;
    --primario-200: #e5aaad;
    --primario-300: #d77f85;
    --primario-400: #ca555c;
    --primario-500-base: #bd2a33;
    --primario-600: #8e2026;
    --primario-700: #5f151a;
    /* Gris oscuro */
    --umu-gris-oscuro-300: #767676;
    --umu-gris-oscuro-400: #666666;
    --umu-gris-oscuro-500: #555555;
    --umu-gris-oscuro-600: #434343;
    --umu-gris-oscuro-700: #323232;
    --umu-gris-oscuro: #555555;
    --umu-negro: #323232;
    /* Gris oscuro Zeplin */
    --gris-oscuro-300: #767676;
    --gris-oscuro-400: #666666;
    --gris-oscuro-500-base: #555555;
    --gris-oscuro-600: #434343;
    --gris-oscuro-700: #323232;
    /* Gris claro */
    --umu-gris-claro-100: #f8f9fb;
    --umu-gris-claro-200: #f2f5f7;
    --umu-gris-claro-300: #ebeff1;
    --umu-gris-claro-400: #e5e9ec;
    --umu-gris-claro-500: #dee3e6;
    --umu-gris-claro-600: #d8dde1;
    --umu-gris-claro-700: #cbd2d8;
    --umu-gris-claro-800: #c5cdd3;
    --umu-gris-claro-900: #bec7cf;
    --umu-gris-claro-1100: #8E959C;
    --umu-gris-claro: #f2f5f7;
    /* Gris claro Zeplin */
    --gris-claro-100: #f8f9fb;
    --gris-claro-200-base: #f2f5f7;
    --gris-claro-300: #ebeff1;
    --gris-claro-400: #e5e9ec;
    --gris-claro-500: #dee3e6;
    --gris-claro-600: #d8dde1;
    --gris-claro-700: #cbd2d8;
    --gris-claro-800: #c5cdd3;
    --gris-claro-900: #bec7cf;
    --gris-claro-1000: #a6aeb5;
    --gris-claro-1100: #8E959C;
    /* Color mensajes */
    --umu-error-100: #ff3f2d;
    --umu-error-text: #dd3636;
    /* Color mensajes Zeplin */
    --error-100-base: #ff3f2d;
    --error-text: #dd3636;
    --warn-100-base: #ff962d;
    --warn-100: #ff962d;
    --warn-text: #a85b0e;
    --success-100-base: #4bb543;
    --success-text: #107c10;
    --info-100: #006eff;
    --info-100-base: #006eff;
    --info-text: #006fe6;
    --link-text: #006fe6;
    /* Colores */
    --umu-red: 189, 42, 51;
    --umu-purple: 118, 86, 253;
    --umu-yellow: 249, 156, 21;
    --umu-green: 49, 117, 47;
    --umu-blue: 0, 120, 212;
    --umu-enlace: #006FE6;
    --umu-transparente: rgba(255, 255, 255, 0);
    --umu-icono-blanco-activo: rgba(255, 255, 255, 0.9);
    --umu-texto-enfasis-alta: rgba(255, 255, 255, 0.9);
    --umu-focus: #007bff;
    --umu-focus-shadow: #a6d5fa;
    /* Colores Zeplin */
    --azul-gestion-100: #0078d4;
    --mandarina-100: #f99c15;
    --verde-cto-100: #31752f;
    --purpura-investigacion-100: #7719aa;
    --primario-500-base: #bd2a33;
    --sidebar-width: 250px;
    --big-size-0: 48px;
    --big-size-1: 40px;
    --big-size-2: 30px;
    --big-size-3: 24px;
    --big-size-4: 20px;
    --big-size-5: 18px;
    --h-panel-size: 24px;
    --h-panel-sm-size: 20px;
    --text-size: 16px;
    --caption-size: 14px;
    --small-size: 12px;
    --tiny-size: 10px;
    --panel-padding: 36px;

    /* Sizes */
    --form-control-radius: 4px;
    /* Override um.util.css colors */
    --color-success: var(--success-text);
    --color-danger: var(--error-text);
    --color-warning: var(--warn-text);
    --border-color-danger: var(--umu-error-100);
    --border-color-warning: var(--warn-100);
}

/*** General ***/
body {
    font-family: Inter, sans-serif;
    font-size: var(--text-size);
    line-height: 1.5;
    text-align: left;
    color: var(--gris-oscuro-500-base);
}
p {
    margin: 0 0 10px;
}
:focus {
    outline: 1px solid var(--umu-focus);
}
.darken-onhover {
    position: relative;
}
:hover.darken-onhover::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.25);
}
input::-ms-reveal,
input::-ms-clear {
    display: none;
}
/*** Links ***/
a {
    background-color: transparent;
}
a, a:hover, a:focus, a:visited {
    color: var(--gris-oscuro-500-base);
    text-decoration: underline;
    text-underline-offset: 2px;
}
a:focus {
    outline-offset: 0;
    /*outline: 1px solid var(--umu-focus);
    box-shadow: 0 0 0 4px var(--umu-focus-shadow);*/
    border-color: var(--umu-focus);
    outline: 4px solid var(--umu-focus-shadow);
}
a:hover {
    text-decoration: none;
}

.link,
.link-primary {
  color: var(--gris-oscuro-500-base);
  text-decoration: underline !important;
  transition: all 0.25s;
}
.link:hover,
.link-primary:hover {
  color: var(--gris-oscuro-500-base);
  background-color: #ffebed;
}

.link-secondary {
  color: var(--gris-oscuro-300) !important;
  text-decoration: underline !important;
}
.link-secondary:hover {
  color: var(--gris-oscuro-500-base) !important;
  background: none;
}

.link-highlight {
    color: var(--primario-500-base) !important;
    text-decoration: none !important;
    border-bottom: 1px dotted var(--primario-500-base);
    transition: all 0.25s;
  }
  .link-highlight:hover {
    border-bottom: 1px dotted var(--gris-oscuro-500-base);
    color: var(--gris-oscuro-500-base) !important;
    background: none;
  }

.link-classic {
  line-height: 1.5;
  color: var(--link-text) !important;
  text-decoration: none !important;
}
.link-classic:hover {
  text-decoration: underline !important;
  background: none;
}
/*** Typography ***/
h1, h2, h3, h4, h5, .titulo-pagina {
    font-family: Inter, sans-serif;
    line-height: 1.25;
    font-weight: 600;
    font-stretch: normal;
    font-style: normal;
    letter-spacing: normal;
    color: var(--gris-oscuro-500-base);
}
h1, h2, h3, h4, h5, .titulo-pagina {
    margin-top: 20px;
    margin-bottom: 10px;
}
h1, .titulo-pagina {
    font-size: var(--big-size-1);
}
h2 {
    font-size: var(--big-size-2);
}
h3 {
    font-size: var(--big-size-3);
}
h4 {
    font-size: var(--big-size-4);
}
h5 {
    font-size: var(--big-size-5);
}
.text-size-big-1 {
    font-size: var(--big-size-1) !important;
}
.text-size-big-2 {
    font-size: var(--big-size-2) !important;
}
.text-size-big-3 {
    font-size: var(--big-size-3) !important;
}
.text-size-big-4 {
    font-size: var(--big-size-4) !important;
}
.text-size-big-5 {
    font-size: var(--big-size-5) !important;
}
.text-size-body {
    font-size: var(--text-size) !important;
}
.text-size-caption {
    font-size: var(--caption-size) !important;
}
.text-size-small {
    font-size: var(--small-size) !important;
}
.text-size-tiny {
    font-size: var(--tiny-size) !important;
}
.font-weight-bold {
	font-weight: bold !important;
}
.font-weight-semi {
	font-weight: 600 !important;
}
.font-weight-medium {
	font-weight: 500 !important;
}
.font-weight-regular {
	font-weight: normal !important;
}
.text-dark {
	color: var(--umu-gris-oscuro-500) !important;
}
.text-grey {
	color: var(--umu-gris-oscuro-300) !important;
}
.text-white {
	color: rgba(255, 255, 255, 0.9) !important;
}
.text-primary {
	color: var(--umu-primario-500) !important;
}
/*** Button pad ***/
.btn-pad {
    text-align: right;
    margin: 12px -8px 0 -8px;
}
.btn-pad>.btn,
.btn-pad>.btn-group {
    margin: 8px;
}
/*** Button group ***/
.btn-group>.btn:not(:first-child) {
    margin-left: 1px;
}
.btn-group>.btn:first-child {
    border-top-left-radius: 6px;
    border-bottom-left-radius: 6px;
}
.btn-group>.btn:last-child {
    border-top-right-radius: 6px;
    border-bottom-right-radius: 6px;
}
/*** Buttons: sizes, text and icons ***/
a.btn {
    text-decoration: none !important;
}
.btn {
    box-sizing: border-box;
    display: inline-block;
    position: relative;
    white-space: nowrap;
    vertical-align: middle;
    min-width: 48px;
    background-image: none;
    font-family: Inter, sans-serif;
    font-weight: 500;
    text-align: center;
    border: solid 1px currentColor;
    border-radius: 6px;
    box-shadow: none;
    height: 48px;
    padding: 8px 16px;
    font-size: var(--text-size);
    letter-spacing: 0.23px;
    line-height: 1.25;
}
.btn-round {
    border-radius: 24px;
}
.btn:disabled {
    background-color: var(--umu-gris-claro-200) !important;
    color: rgba(0,0,0,0.38) !important;
    opacity: 1 !important;
    border: 1px solid var(--umu-gris-claro-200) !important;
    cursor: default !important;
    pointer-events: none;
}
.btn.btn-lg,
.btn-group.btn-group-lg>.btn {
    height: 48px;
    padding: 8px 16px;
    font-size: var(--text-size);
    letter-spacing: 0.23px;
    line-height: 1.25;
}
.btn.btn-md,
.btn-group.btn-group-md>.btn {
    height: 40px;
    padding: 6px 16px;
    font-size: var(--caption-size);
    letter-spacing: 0.2px;
    line-height: 1.25;
}
.btn.btn-sm,
.btn-group.btn-group-sm>.btn {
    height: 32px;
    padding: 2px 16px;
    font-size: var(--small-size);
    letter-spacing: normal;
    line-height: 1.25;
}
.btn .btn-text {
    display: inline-block;
    padding: 5px 20px;
}
.btn img.btn-icon {
    height: 100%;
}
.btn > .fal,
.btn > .fas,
.btn > .far,
.btn > .btn-icon {
    text-align: center;
    position: relative;
    margin: 0;
    font-size: 1em;
}
.btn > img.btn-icon {
    height: 100%;
}
.btn >.fal + .btn-text,
.btn >.fas + .btn-text,
.btn >.far + .btn-text,
.btn >.btn-icon + .btn-text {
    padding: 5px 12px 5px 8px;
}
/*** Button colors ***/
.btn.btn-primary,
.btn.btn-primary:visited,
.btn.btn-primary:focus,
.btn.btn-primary:active {
    background-color: var(--umu-primario-500);
    border-color: var(--umu-primario-500);
    color: white;
}
.btn.btn-primary:hover,
.open .dropdown-toggle.btn-primary {
    background-color: var(--umu-primario-400);
    border-color: var(--umu-primario-400);
}

.btn.btn-secondary,
.btn.btn-secondary:visited,
.btn.btn-secondary:focus,
.btn.btn-secondary:active {
    background-color: var(--umu-gris-claro-300);
    border-color: var(--umu-gris-claro-300);
    color: var(--umu-gris-oscuro-400);
}
.btn.btn-secondary:hover,
.open .dropdown-toggle.btn.btn-secondary {
    background-color: var(--umu-gris-claro-500);
}

.btn.btn-outline-primary,
.btn.btn-outline-primary:visited,
.btn.btn-outline-primary:focus {
    background-color: white;
    border-color: var(--umu-primario-400);
    color: var(--umu-primario-500);
}
.btn.btn-outline-primary:hover,
.open .dropdown-toggle.btn-outline-primary {
    background-color: var(--umu-primario-80);
    border-color: var(--umu-primario-500);
}
.btn.btn-outline-primary:active {
    background-color: var(--umu-primario-100);
    color: var(--umu-primario-500);
}

.btn.btn-img {
    text-align: left;
    padding-left: 0px;
    box-shadow: 0 1px 10px 0 rgba(0, 0, 0, 0.12), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 2px 4px -1px rgba(0, 0, 0, 0.2);
}
.btn.btn-img > .btn-icon {
    box-sizing: content-box;
    float: left;
    background-color: white;
    border: solid 1px white;
    border-right: 0px;
    border-radius: 6px 0px 0px 6px;
    padding: 7px 16px 7px 15px;
    max-height: calc(100% + 2px);
    width: calc(118px - 32px);
    height: auto;
    top: -9px;
    left: -1px;
    object-fit: contain;
}
.btn.btn-img > .btn-text {
    max-width: calc(100% - 118px);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.btn.btn-img > .btn-text {
    padding-left: 16px;
}
.btn.btn-img,
.btn.btn-img:visited,
.btn.btn-img:focus,
.btn.btn-img:active {
    background-color: var(--gris-claro-200-base);
    border-color: var(--gris-claro-200-base);
    color: var(--umu-gris-oscuro-500);
}
.btn.btn-img:hover {
    background-color: var(--umu-gris-claro-500);
    border-color: var(--umu-gris-claro-500);
}
.btn.btn-img:hover > .btn-icon {
    background-color: var(--gris-claro-200-base);
    border-color: var(--gris-claro-200-base);
}
.btn.btn-img:focus:not(:disabled) > .btn-icon {
    border-color: var(--umu-focus);
}

.btn.btn-success {
    border-color: var(--success-text) !important;
    background-color: var(--success-text) !important;
    color: white !important;
}
.btn.btn-info {
    border-color: var(--info-text) !important;
    background-color: var(--info-text) !important;
    color: white !important;
}
.btn.btn-warning {
    background-color: #ffe5ca !important;
    border-color: #ffe5ca !important;
    color: var(--warn-text) !important;
}
.btn.btn-danger {
    border-color: var(--umu-error-text) !important;
    background-color: var(--umu-error-text) !important;
    color: white !important;
}

.btn.btn-primary:focus,
.btn.btn-secondary:focus,
.btn.btn-outline-primary:focus,
.btn.btn-outline-secondary:focus,
.btn.btn-img:focus,
.btn:focus {
    outline-offset: 0px;
    outline: 4px solid var(--umu-focus-shadow);
    border-color: var(--umu-focus);
    /*box-shadow: 0 0 0 4px var(--umu-focus-shadow);*/
}
/*** Form labels ***/
label,
.has-success .control-label,
.has-warning .control-label,
.has-error .control-label {
    color: var(--gris-oscuro-500-base);
}
label {
    font-size: var(--caption-size);
    font-weight: 600;
    line-height: 1.5;
    margin-bottom: 4px;
    background: none;
    border: 0;
    display: inline-block;
}
label.required:not(.disabled)::after {
    margin-left: 0.4em;
    color: var(--umu-error-text);
    content: "*";
}
label.disabled {
    color: #AAA;
    opacity: 0.45;
}
label .accesskey {
    text-decoration: inherit !important;
}
/*** Form floating label ***/
/* TODO deprecar .float-label */
.form-group.form-floating label,
.input-group.form-floating label,
.form-group.float-label label,
.input-group.float-label label {
    margin: 0;
	font-family: Inter, sans-serif;
	font-size: var(--caption-size);
	font-weight: normal;
	line-height: 1;
	color: rgba(0, 0, 0, 0.6);
	position: absolute;
	pointer-events: none;
	left: 16px;
	top: 50%;
	margin-top: -0.5em;
	transition: 0.3s ease all;
	-moz-transition: 0.3s ease all;
	-webkit-transition: 0.3s ease all;
    z-index: 10;
}
input.form-control.input-float-label ~ label,   /* special case requires javascript */
.form-group.form-floating input.form-control:not(:invalid) ~ label,
.form-group.form-floating input.form-control:focus ~ label,
.form-group.form-floating input.form-control:-webkit-autofill ~ label,
.input-group.form-floating input.form-control:not(:invalid) ~ label,
.input-group.form-floating input.form-control:focus ~ label,
.input-group.form-floating input.form-control:-webkit-autofill ~ label,
.form-group.float-label input.form-control:not(:invalid) ~ label,
.form-group.float-label input.form-control:focus ~ label,
.form-group.float-label input.form-control:-webkit-autofill ~ label,
.input-group.float-label input.form-control:not(:invalid) ~ label,
.input-group.float-label input.form-control:focus ~ label,
.input-group.float-label input.form-control:-webkit-autofill ~ label {
    top: -5px;
    left: 12px;
    font-size: 12px;
    padding: 5px;
    font-weight: 600;
    line-height: 1;
    color: var(--gris-oscuro-500-base);
    background-color: white;
    background: -moz-linear-gradient(top, rgba(255,255,255,1) 0%, rgba(255,255,255,1) 70%, rgba(255,255,255,0) 70%, rgba(255,255,255,0) 100%); /* FF3.6-15 */
    background: -webkit-linear-gradient(top, rgba(255,255,255,1) 0%,rgba(255,255,255,1) 70%,rgba(255,255,255,0) 70%,rgba(255,255,255,0) 100%); /* Chrome10-25,Safari5.1-6 */
    background: linear-gradient(to bottom, rgba(255,255,255,1) 0%,rgba(255,255,255,1) 70%,rgba(255,255,255,0) 70%,rgba(255,255,255,0) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
}
/*** Forms with and without icons ***/
/* TODO eleiminar .form-text, en BS3 se usa .help-block */
.help-block,
.form-text {
    border: none;
    padding: unset;
    margin: 8px 0 0 0;
    background: none;
    font-size: 12px;
    font-weight: 500;
    line-height: 1.5;
}
.form-group,
.input-group {
    position: relative;
}
.form-control,
.input-group {
    height: auto;
    font-family: Inter, sans-serif;
    font-size: var(--text-size);
    font-weight: normal;
    color: var(--umu-gris-oscuro-500);
    transition: none;
    width: 100%;
}
.form-control {
    cursor: text;
    background: none #ffffff;
    padding: 5px 15px;
    line-height: 1.5;
    box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
    display: table-cell;
    border: solid 1px var(--umu-gris-claro-1100);
    border-radius: var(--form-control-radius);
}
.input-code input:hover:not(:disabled):not(:focus),
.form-control:hover:not(:disabled):not(:focus) {
    border-color: var(--umu-gris-oscuro-500) !important;
}
.input-code input:focus:not(:disabled),
.form-control:focus:not(:disabled) {
    outline-offset: 0px;
    outline: 4px solid var(--umu-focus-shadow);
    border-color: var(--umu-focus);
    /*box-shadow: 0 0 0 4px var(--umu-focus-shadow);*/
}
.input-code:disabled input,
.form-control:disabled {
    border-color: var(--umu-gris-claro-1100) !important;
    background-color: inherit !important;
    color: var(--gris-oscuro-500-base) !important;
    opacity: 0.45;
    cursor: default;
}
.form-group.has-success input:not(:disabled) {
    border-color: var(--umu-gris-claro-1100) !important;
}
.input-group:not(.input-group-seamless) .input-group-addon,
.input-group:not(.input-group-seamless) .input-group-append,
.input-group:not(.input-group-seamless) .input-group-pepend {
    -webkit-touch-callout: none; /* iOS Safari */
    -webkit-user-select: none; /* Safari */
    -khtml-user-select: none; /* Konqueror HTML */
    -moz-user-select: none; /* Old versions of Firefox */
    -ms-user-select: none; /* Internet Explorer/Edge */
    user-select: none; /* Non-prefixed version, currently supported by Chrome, Edge, Opera and Firefox */
}
.input-group:not(.input-group-seamless) .form-control:not(:first-child):not(:last-child),
.input-group:not(.input-group-seamless) .input-group-addon:not(:first-child):not(:last-child),
.input-group:not(.input-group-seamless) .input-group-button:not(:first-child):not(:last-child),
.input-group:not(.input-group-seamless) .input-group-append:not(:first-child):not(:last-child),
.input-group:not(.input-group-seamless) .input-group-prepend:not(:first-child):not(:last-child) {
    border-radius: 0 !important;
}
.input-group:not(.input-group-seamless) .form-control:first-child,
.input-group:not(.input-group-seamless) .input-group-addon:first-child,
.input-group:not(.input-group-seamless) .input-group-button:first-child
.input-group:not(.input-group-seamless) .input-group-append:first-child,
.input-group:not(.input-group-seamless) .input-group-prepend:first-child {
    border-top-left-radius: var(--form-control-radius);
    border-bottom-left-radius: var(--form-control-radius);
}
.input-group:not(.input-group-seamless) .form-control:last-child,
.input-group:not(.input-group-seamless) .input-group-addon:last-child,
.input-group:not(.input-group-seamless) .input-group-button:last-child,
.input-group:not(.input-group-seamless) .input-group-append:last-child,
.input-group:not(.input-group-seamless) .input-group-prepend:last-child {
    border-top-right-radius: var(--form-control-radius);
    border-bottom-right-radius: var(--form-control-radius);
}
.input-group:not(.input-group-seamless) .input-group-prepend:not(:last-child) {
    border-right: 0px !important;
}
.input-group:not(.input-group-seamless) .input-group-append:not(:first-child) {
    border-left: 0px !important;
}
.input-group:not(.input-group-seamless) > .input-group-addon,
.input-group:not(.input-group-seamless) > .input-group-prepend,
.input-group:not(.input-group-seamless) > .input-group-append {
    font-size: inherit;
    font-style: inherit;
    display: table-cell;
    background-color: var(--gris-claro-200-base);
    border: solid 1px var(--umu-gris-claro-1100);
    min-width: auto;
    width: 1px;
    white-space: nowrap;
    vertical-align: middle;
    text-align: center;
    padding: 9px;
    line-height: 16px;
}
/*** Forms large size ***/
/* TODO revisr el .input-group-btn */
.form-group-lg .form-control,
.input-group-lg > .form-control,
.input-group-lg > .input-group-btn > .btn,
.form-control-lg {
    height: auto !important;
    padding: 11px 15px;
    font-size: var(--text-size);
    line-height: 1.5 !important;
}
.form-group-lg .input-group:not(.input-group-seamless) > .input-group-addon,
.form-group-lg .input-group:not(.input-group-seamless) > .input-group-prepend,
.form-group-lg .input-group:not(.input-group-seamless) > .input-group-append,
.input-group-lg:not(.input-group-seamless) > .input-group-addon,
.input-group-lg:not(.input-group-seamless) > .input-group-prepend,
.input-group-lg:not(.input-group-seamless) > .input-group-append {
    padding: 11px 15px;
}
/*** Input group seamless (icons inside input) ***/
.input-group.input-group-seamless > .form-control {
    border-radius: var(--form-control-radius) !important;
}
.input-group.input-group-seamless > .input-group-prepend,
.input-group.input-group-seamless > .input-group-append {
    font-size: inherit;
    font-style: inherit;
    position: absolute;
    z-index: 10;
    background-color: transparent;
    border: 0;
    line-height: 1;
    font-style: normal;
    text-align: center;
    min-width: 1em;
    top: 50%;
    margin-top: -0.5em;
    padding: 0px;
    font-weight: var(--fontawesome-weight);
}
.input-group.input-group-seamless > .input-group-prepend {
    left: 15px;
}
.input-group.input-group-seamless > .input-group-append {
    right: 15px;
}
.input-group.input-group-seamless > .input-group-prepend ~ .form-control {
    padding-left: 38px;
}
.input-group.input-group-seamless > .input-group-append ~ .form-control {
    padding-right: 38px;
}
.input-group.input-group-seamless.input-group-lg > .input-group-prepend ~ .form-control,
.input-group.input-group-seamless > .input-group-prepend ~ .form-control.form-control-lg {
    padding-left: 50px;
}
.input-group.input-group-seamless.input-group-lg > .input-group-append ~ .form-control,
.input-group.input-group-seamless > .input-group-append ~ .form-control.form-control-lg {
    padding-right: 50px;
}
button.password-toggle::after {
    font-weight: var(--fontawesome-weight);
    font-family: var(--fontawesome-font);
    content: "\f070";
}
button.password-toggle.password-show::after {
    font-weight: var(--fontawesome-weight);
    font-family: var(--fontawesome-font);
    content: "\f06e";
}
/*** Forms input code ***/
.input-code {
    display: flex;
    justify-content: center;
    gap: 0.75rem;
}
.input-code input {
    box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
    border: solid 1px var(--umu-gris-claro-1100);
    border-radius: var(--form-control-radius);
    color: var(--umu-primario-600);
    text-align: center;
    height: auto !important;
    line-height: 1.5 !important;
    font-weight: bold;
    font-size: var(--big-size-4);
    width: calc((2 * 11px) + var(--big-size-4));
    padding: 11px 11px;
}
.input-code:disabled input {
    color: var(--umu-primario-400) !important;
}
.input-code input[type=number] {
    -webkit-appearance: none;
    -moz-appearance: textfield;
    appearance: textfield;
}
.input-code input::-webkit-outer-spin-button,
.input-code input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}
/*** Progress bar ***/
.progress {
    background: var(--umu-gris-claro-400);
    font-size: var(--caption-size);
}
.progress,
.progress-bar {
    border-radius: 8px;
    box-shadow: none;
}
.progress-sm {
    height: 6px;;
}
.progress-bar {
    background: var(--primario-500-base);
}
.progress-bar-info {
    background: var(--info-100);
}
.progress-bar-success {
    background: var(--success-100-base);
}
.progress-bar-warning {
    background: var(--warn-100-base);
}
.progress-bar-danger {
    background: var(--error-100-base)
}
/*** Detail ***/
details > summary {
    cursor: pointer
}
.details-info.details-icon summary::before {
    float: left;
    margin: 0 8px 0 0;
    font-family: var(--fontawesome-font);
    font-weight: var(--fontawesome-weight);
    font-style: normal;
    font-variant: normal;
    color: var(--info-text);
    height: 1em;
    content: '\f05a'
}
/*** Alerts ***/
.alert {
    position: relative;
    margin: 10px 0;
    padding: 16px 24px 16px 24px;
    border: none;
    border-radius: 6px;
    font-weight: 400;
}
.alert-dismissible {
    padding-right: 24px;
}
.alert-dismissible .close {
    position: relative;
    top: -2px;
    right: -12px;
}
.alert-info,
.alert-info > *.close {
    background-color: #e5f0ff;
    color: var(--info-text);
}
.alert-success,
.alert-success > *.close {
    background-color: #d2ecd0;
    color: var(--success-text);
}
.alert-danger,
.alert-danger > *.close {
    background-color: #ffebea;
    color: var(--error-text);
}
.alert-warning,
.alert-warning > *.close {
    background-color: #fff4ea;
    color: var(--warn-text);
}
.alert > ul {
    padding: 0;
    margin: 0 25px;
    list-style: none;
}
.alert > .alert-heading {
    font-weight: bold;
    font-size: inherit;
    color: inherit;
    margin-top: 0px;
}
.alert .alert-icon {
    float: left;
    margin: 0 8px 0 0;
    font-family: var(--fontawesome-font);
    font-weight: var(--fontawesome-weight);
    font-style: normal;
    font-variant: normal;
    height: 1em;
}
.alert-info .alert-icon::before {
    content: '\f05a'
}
.alert-success .alert-icon::before {
    content: '\f058'
}
.alert-warning .alert-icon::before {
    content: '\f071'
}
.alert-danger .alert-icon::before {
    content: '\f057'
}
/*** Cards ***/
.card {
	box-shadow: 0 1px 10px 0 rgba(0, 0, 0, 0.12), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 2px 4px -1px rgba(0, 0, 0, 0.2);
	border-radius: 6px;
	border: 0;
	background-color: white;
    color: var(--gris-oscuro-500-base);
}
.card .card-header {
    display: flex;
    border: none;
    border-radius: 6px 6px 0px 0px;
}
.card .card-header > .icon-link {
    display: block;
    width: 100%;
    text-align: center;
    font-size: 84px;
    padding: 53px 34px 62px;
    border-radius: 6px 6px 0 0;
}
.card .card-body {
    overflow: auto;
    padding: 24px;
}
.card .card-footer {
    padding: 16px var(--panel-padding);
    margin: 0px;
    border: none;
    border-top: solid 1px var(--gris-claro-500);
    background-color: initial;
}
.card .card-title {
    display: block;
    margin-bottom: 8px;
    font-size: 18px;
    font-weight: 600;
    line-height: 1.5;
}
.card.darken-onhover:hover::after {
    border-radius: 6px;
}
.card:hover > .card-header.darken-onhover::after {
    border-radius: 6px 6px 0 0;
}
a.card-action {
    display: inline-block;
    border: 0;
    border-radius: 6px;
}
a.card-action:hover > .card {
    box-shadow: 0 3px 14px 2px rgba(0, 0, 0, 0.12), 0 8px 10px 1px rgba(0, 0, 0, 0.14), 0 5px 5px -3px rgba(0, 0, 0, 0.2);
    cursor: pointer;
}
a.card-action.card-btn-img > .card > .card-body{
    text-align: center;
}
a.card-action.card-btn-img > .card > .card-body > img {
    margin: auto;
    height: 22px;
}
/*** Modal ***/
.modal-dialog {
    max-width: 600;
}
.modal-content {
    border-radius: 4px;
}
.modal .modal-header,
.modal .modal-body,
.modal .modal-footer {
    border: none;
    color: var(--gris-oscuro-500-base);
}
.modal .modal-header {
    padding: 11px 22px 11px 24px;
    font-weight: bold;
}
.modal .modal-body {
    padding: 24px;
}
.modal .modal-footer {
    border-top: solid 2px var(--gris-claro-500);;
    padding: 11px 16px 14px 16px;
}
.modal .modal-header > .modal-title {
    font-size: var(--h-panel-sm-size);
    font-weight: 500;
    line-height: 1.5;
    color: var(--umu-gris-oscuro-500);
}
/*** Panels ***/
.panel {
    padding: 0px;
    border: none;
    border-radius: 6px;
    box-shadow: 0 2px 8px 0 rgba(7, 18, 37, 0.2);
    background-color: white;
    color: var(--gris-oscuro-500-base);
    margin-bottom: 16px;
}
.panel .panel-heading,
.panel .panel-header {
    padding: 17px 24px 17px var(--panel-padding);
    margin: 0px;
    border: none;
    border-radius: 6px 6px 0px 0px;
    font-weight: bold;
    background-color: var(--umu-gris-claro-200);
}
.panel .panel-heading > .panel-title,
.panel .panel-header > .panel-title {
    margin: 0px 8px 0px 0px;
    font-size: var(--h-panel-size);
    font-weight: 600;
    line-height: 1.5;
    color: var(--umu-gris-oscuro-500);
    width: 100%;
}
/*//REVIEW Revisar esto que no debería estar aquí --- */
.panel .panel-heading > h2.panel-title,
.panel .panel-header > h2.panel-title {
    font-size: var(--h-panel-sm-size);
}
/* --- */
.panel .panel-body {
    padding: var(--panel-padding);
    margin: 0px;
}
.card .card-body > .card-title,
.modal .modal-body > .modal-title,
.panel .panel-body > .panel-title {
    display: block;
    margin: 0px 8px 10px 0px;
    font-size: 18px;
    font-weight: 600;
    line-height: 1.5;
}
.panel .panel-footer {
    padding: 16px var(--panel-padding);
    margin: 0px;
    border: none;
    border-top: solid 1px var(--gris-claro-500);
    background-color: initial;
}
/*** Accordion ***/
.accordion {
    margin: 0px;
}
.accordion>.panel {
    box-shadow: 0 1px 10px 0 rgba(0, 0, 0, 0.12), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 2px 4px -1px rgba(0, 0, 0, 0.2);
}
.accordion>.panel>.panel-heading,
.accordion>.panel>.panel-header {
    width: 100%;
    display: flex;
    padding: 16px 59px 16px calc(var(--panel-padding) - 1px);
    border: 1px solid var(--umu-gris-claro-200);
    background-color: var(--umu-gris-claro-200);
    color: var(--gris-oscuro-500-base);
    font-size: var(--h-panel-size);
    font-weight: 600;
    line-height: 1.5;
    margin-bottom: 0px;
}
.accordion>.panel>button.panel-heading:focus,
.accordion>.panel>button.panel-header:focus {
    outline-offset: 0;
    outline: 4px solid var(--umu-focus-shadow);
    border-color: var(--umu-focus) !important;
    /*box-shadow: 0 0 0 5px var(--umu-focus-shadow);*/
}
.accordion>.panel>button.panel-heading,
.accordion>.panel>button.panel-header {
    position: relative;
    border-radius: 6px 6px 0px 0px;
}
.accordion>.panel>button.panel-heading.collapsed,
.accordion>.panel>button.panel-header.collapsed {
    border-radius: 6px;
}
.accordion>.panel>button.panel-heading:hover,
.accordion>.panel>button.panel-header:hover {
    border: 1px solid var(--gris-oscuro-500-base);
}
.accordion>.panel>button.panel-heading::after,
.accordion>.panel>button.panel-header::after {
    position: absolute;
    left: unset;
    right: 27px;
    top: 50%;
    margin-top: -8px;
    width: 24px;
    height: 24px;
    color: var(--umu-gris-oscuro-500);
    font-family: var(--fontawesome-font);
    font-weight: var(--fontawesome-weight);
    font-style: normal;
    font-variant: normal;
    font-size: 20px;
    line-height: 1;
    content: "\f077";
}
.accordion>.panel>button.panel-heading.collapsed::after,
.accordion>.panel>button.panel-header.collapsed::after {
    content: "\f078";
}
/*** Nav steps ***/
.nav-steps {
    display: table;
    table-layout: fixed;
    width: 100%;
}
.nav-steps > .nav-item {
    display: table-cell;
    width: 100%;
    height: 32px;
    padding: 0px;
    text-align: center;
}
.nav-steps .nav-link {
    font: normal normal 500 16px/1 Inter, sans-serif;
    line-height: 1.5;
    padding: 0;
    text-decoration: none !important;
    background-color: transparent !important;
    color: var(--primario-500-base);
    min-width: 32px;
    height: 32px;
}
.nav-steps.nav-disabled .nav-link,
.nav-item.nav-disabled .nav-link {
    pointer-events: none;
    cursor: pointer;
}
/* bar */
.nav-steps > .nav-item::before,
.nav-steps > .nav-item::after {
    position: absolute;
    left: 0px;
    top: calc(50% - 3px);
    border-top: 6px solid var(--primario-500-base);
    content: " ";
}

.nav-steps > .nav-item:not(:first-child)::before {
    left: 0;
    right: 50%;
}
.nav-steps > .nav-item:not(:last-child)::after {
    left: calc(50% + 16px);
    right: 0;
}
.nav-steps > .nav-item.active::after,
.nav-steps > .nav-item.active ~ .nav-item::before,
.nav-steps > .nav-item.active ~ .nav-item::after {
    border-color: var(--gris-claro-400);
}
/* circle */
.nav-steps > .nav-item .nav-step-number {
    display: inline-block;
    border: 2px solid var(--primario-500-base);
    border-radius: 50%;
    width: 32px;
    height: 32px;
    background-color: var(--primario-500-base);
    color: var(--primario-500-base);
    padding: 4px;
    padding-top: 2px;
}
.nav-steps > .nav-item.active .nav-step-number {
    border-color: var(--primario-500-base);
    background-color: white;
    color: var(--primario-500-base);
}
.nav-steps > .nav-item.active ~ .nav-item .nav-step-number {
    border-color: var(--gris-claro-400);
    background-color: var(--gris-claro-400);
    color: var(--gris-oscuro-500-base);
}
/* check */
.nav-steps > .nav-item:not(.active) .nav-step-number::before {
    position: absolute;
    font-family: var(--fontawesome-font);
    font-weight: var(--fontawesome-weight);
    background-color: var(--primario-500-base);
    color: white;
    content: "\f00c";
    left: calc(50% - 8px);
}
.nav-steps > .nav-item.active ~ .nav-item .nav-step-number::before {
    content: "";
    background-color: transparent;
    color: transparent;
}
/*** Dropdown menú */
.dropdown-menu {
    padding: 0;
    min-width: 160px;
    font-size: var(--text-size);
    line-height: 1.3;
    box-shadow: 0 1px 5px 0 rgba(0, 0, 0, 0.2), 0 3px 4px 0 rgba(0, 0, 0, 0.12), 0 2px 4px 0 rgba(0, 0, 0, 0.14) !important;
    border: 0;
    border-radius: 2px !important; /* navbar.less interfiere */
}
.dropdown-menu > li {
    color: var(--umu-gris-oscuro-500);
}
.dropdown-menu > li > a {
    line-height: 1.5;
    padding: 6px 16px;
    color: var(--umu-gris-oscuro-500);
    border-radius: 0;
}
.dropdown-menu > li:first-child > a {
    border-top-left-radius: 2px;
    border-top-right-radius: 2px;
}
.dropdown-menu > li:last-child > a {
    border-bottom-left-radius: 2px;
    border-bottom-right-radius: 2px;
}
.dropdown-menu > li > a:hover {
    color: var(--umu-gris-oscuro-500);
    background-color: var(--umu-gris-claro-200);
}
.dropdown-menu > li > a:active {
    background-color: transparent;
}
a.dropdown-toggle:focus,
.dropdown-menu > li > a:focus {
    /*outline: 1px solid var(--umu-focus);*/
    border-color: var(--umu-focus);
    outline: 4px solid var(--umu-focus-shadow);
}
/*** Footer ***/
footer .navbar-default {
    background-color: transparent;
}
footer > .navbar:first-child a {
    text-decoration: none !important;
}
footer > .navbar {
    border: 0px;
    border-top: solid 1px var(--gris-claro-500);
}
footer .navbar-nav > li > a,
footer .navbar-nav > li > span {
    display: block;
    padding: 8px 16px;
}
footer > .navbar {
    padding: 16px;
    margin: 0;
}
/* Footer desktop version */
@media screen and (min-width: 768px) {
    footer > .navbar:first-child {
        border-top: 0px;
    }
    footer > .navbar {
        padding: 0px;
    }
    footer .navbar-nav {
        margin: 0 auto;
        float: none;
        display: table;
        /*min-width: 766px;
        max-width: 1024px;
        width: 100%;*/
    }
    footer .navbar-nav > li {
        /*float: none;
        display: table-cell;*/
        text-align: center;
        padding: 24px 32px;
        padding-top: 24px;
        padding-bottom: 24px;
    }
    footer .navbar-nav > li > a,
    footer .navbar-nav > li > span {
        padding: 0px;
    }
    footer .dropdown-menu {
        top: 48px;
        left: 32px;
    }
}
/*** Media screen xs (< 576px) ***/
@media screen and (max-width: 576px) {
    :root {
        --big-size-0: 40px;
        --big-size-1: 30px;
        --big-size-2: 24px;
        --big-size-3: 20px;
        --big-size-4: 18px;
        --big-size-5: 16px;
        --h-panel-size: 20px;
        --h-panel-sm-size: 18px;
        --text-size: 14px;
        --caption-size: 12px;
        --small-size: 10px;
        --panel-padding: 16px;
    }
}
/* Printing */
@media print {
    .panel-header {
        text-align: left !important;
    }
    #logoUM {
        text-align: left !important;
    }
}