/**
 * Cleaned theme stylesheet.
 * Generated from the uploaded templates by keeping selectors used by templates
 * plus Bootstrap/DSpace/plugin runtime selectors needed by the UI.
 */

.container,
.alert-info {
max-width: 1080px;
    margin: 0 auto;
}

#content {
padding-bottom:0px;
}

#designedby {
padding: 5px;
}

#footer_feedback {
padding-top: 12px;
}

div.panel-primary div.panel-heading a {
color: white;
}

a {
color: #db2828;
}

.panel-heading,
.panel-footer,
.panel,
.alert,
.btn,
.label {
border-radius: 0px;
}

.panel-primary > .panel-heading {
background:#db2828;box-shadow:none; background-image:none; filter:none;
}

.panel-primary {
border-color: #db2828;
}

body .btn-primary,
body .btn-default,
body .btn-primary:hover,
body .btn-default:hover {
background:#db2828!important; border:0px solid #fff; box-shadow:none; background-image:none; color:#fff!important;  background-image:-webkit-gradient(linear,left 0,left 100%,from(#db2828),to(#db2828)); filter:progid:DXImageTransform.Microsoft.gradient(startColorstr="#db2828",endColorstr="#db2828",GradientType=0);
}

.panel-info > .panel-heading,
.alert-info {
background-image:none;
}

input,
button,
select,
textarea {
background: none repeat scroll 0 0 #fff;
    border: 1px solid #dcdcdc;
    display: inline;
    font-family: inherit;
    font-size: inherit;
    line-height: inherit;
    padding: 4px 5px;
    vertical-align: middle;
}

body {
font-family: "Source Sans Pro", sans-serif; color:#666;
}

h1,
h2,
h3 {
font-family: "Source Sans Pro", sans-serif; color:#db2828; font-size: 1.75rem; font-weight: 700;
}

a.logotipo {
text-decoration: none;
}

#logotipo1 {
font-weight: 200;font-size: 48px; color: #000; text-decoration: none; line-height:1;
}

#logotipo1 span {
font-weight: 600; color:#db2828;  text-decoration: none;
}

#logotipo2 {
font-weight: 300;   font-size: 18px; color:#666;
}

.header_bnc {
padding: 20px 25px; text-align: center;
}

.header_bnc_inner {
max-width: 1080px; margin: 0 auto; position: relative;
}

.header_bnc .lang-selector {
position: absolute; top: 0; right: 30px;
}

.navbar-brand {
display: none;
}

.navbar_bcn {
background: #ffffff;
    border-bottom: 1px solid #cfe1f7;
    padding: 0;
}

.navbar_bcn .container {
max-width: 1080px;
}

.navbar_bcn .container nav {
background: transparent;
}

.navbar_bcn .navbar {
padding: 0.75rem 0;
}

.navbar_bcn .navbar-collapse {
width: 100%;
display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.navbar_bcn .navbar-row {
display: flex;
    flex-wrap: wrap;
    align-items: center;
    width: 100%;
    gap: 0.75rem;
    min-width: 0;
}

.navbar_bcn .navbar-row-top {
justify-content: flex-end;
}

.navbar_bcn .navbar-row-bottom {
justify-content: space-between;
}

.navbar_bcn .navbar-nav,
.navbar_bcn .navbar-nav .nav-item {
list-style: none;
    margin: 0;
    padding: 0;
    border-right: 0;
}

.navbar_bcn .navbar-nav > li > a,
.navbar_bcn .navbar-nav > li > span {
padding: 0;
}

.navbar_bcn .nav-link {
display: block;
    color: #db2828;
    font-weight: 500;
    padding: 0.5rem 0.75rem;
    border-radius: 0.375rem;
    background: transparent;
    text-decoration: none;
    transition: color 0.2s ease, background-color 0.2s ease;
    line-height: 1.2;
}

.navbar_bcn .nav-link:hover,
.navbar_bcn .nav-link:focus {
color: #0057bb;
    background-color: #dcecff;
    text-decoration: none;
}

.navbar_bcn .nav-link.active {
    color: #ffffff !important;
    background-color: #db2828;
    font-weight: 600;
}

.navbar_bcn .dropdown-item.active,
.navbar_bcn .dropdown-item:active {
    color: #ffffff;
    background-color: #db2828;
}

.navbar_bcn .navbar-text {
color: #33597f;
    font-size: 0.95rem;
    margin-bottom: 0;
}

.navbar_bcn .navbar-text strong {
color: #db2828;
    display: inline-block;
    max-width: 260px;
    overflow: hidden;
    text-overflow: ellipsis;
    vertical-align: bottom;
}

.navbar_bcn .btn.btn-success.btn-sm {
background-color: #db2828;
    border-color: #db2828;
    color: #ffffff;
    padding: 0.45rem 0.9rem;
    font-size: 0.875rem;
    border-radius: 0.375rem;
    height: auto;
}

.navbar_bcn .btn.btn-success.btn-sm:hover,
.navbar_bcn .btn.btn-success.btn-sm:focus {
background-color: #0057bb;
    border-color: #0057bb;
    color: #ffffff;
}

.navbar_bcn .navbar-toggler {
border: 1px solid #9fc4ef;
}

.navbar_bcn .navbar-toggler:focus {
box-shadow: 0 0 0 0.2rem rgba(0, 105, 225, 0.25);
}

.navbar-light .navbar-toggler-icon {
background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%280, 105, 225, 0.85%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}

.jobs-panel-offset {
margin-left: 300px;
}

@media (min-width: 992px) {
.navbar_bcn .navbar-row-bottom > .navbar-nav {
display: flex;
        flex-direction: row;
        flex-wrap: wrap;
        align-items: center;
        gap: 0.25rem;
        flex: 0 1 auto;
        min-width: 0;
}

.navbar_bcn .navbar-row-top {
flex: 0 1 auto;
}

.navbar_bcn .navbar-text {
white-space: nowrap;
}

.navbar_bcn form.d-flex {
flex: 0 0 auto;
}
}

@media (max-width: 991.98px) {
.jobs-panel-offset {
margin-left: 0;
}

.navbar_bcn .navbar-collapse {
margin-top: 0.75rem;
        padding-top: 0.75rem;
        border-top: 1px solid #cfe1f7;
}

.navbar_bcn .navbar-row-bottom {
flex-direction: column;
        align-items: stretch;
}

.navbar_bcn .navbar-nav {
display: flex;
        flex-direction: column;
        align-items: stretch;
        gap: 0.25rem;
        margin-bottom: 1rem;
        padding-left: 0;
}

.navbar_bcn .nav-link,
.navbar_bcn .nav-link.active {
width: 100%;
}

.navbar_bcn .navbar-row-top {
align-items: flex-start !important;
        justify-content: flex-end;
}

.navbar_bcn .navbar-text {
white-space: normal;
}
}

.home .container.general {
max-width: 1080px;
    padding: 0 15px;
}

.btn-success {
height: 40px; border-radius: 0px;  border:0; background-image:none;  background: #db2828;
}

.modal-content .modal-header {
background: #db2828; border: 0px;
}

.modal-content .modal-header a h4 {
color: #fff;
}

.modal-content .modal-body {
background: #f1f1f1
}

.modal-header .close {
opacity: 0.8; color: #fff;
}

#messageDialog .modal-header {
    display: flex;
    align-items: center;
    justify-content: flex-start;
}

#messageDialog .modal-header .close {
    margin: 0;
    padding: 0;
    float: none; /* Override Bootstrap's float:right */
}

#h1_messages {
    margin-bottom: 0;
}

footer {
border-top: 1px solid #e3e3e3; color: #888; margin-top: 40px; padding: 20px 0 40px;
}

.home footer {
margin-top: 0px;  float: left; width: 100%;
}

#footer_feedback {
padding-top: 0px;
}

#footer_feedback a {
display: inline-block; padding: 0 10px;
}

#footer_feedback a:first-child {
padding-left: 30px; border-right: 1px solid #e3e3e3;
}

footer .text-muted {
color:#000;
}

footer .text-muted span {
color:#444444;
}

.container.general > h2 {
font-size: 35px;font-weight: 300;  text-align: center; margin-top:0px; padding-bottom: 20px;
}

.container.general > h1 {
font-size: 35px;font-weight: 300;  text-align: center; margin-top:0px; padding-bottom: 20px;
}

.container.general > h1 + p {
margin-bottom: 20px; text-align: center;
}

.discovery-result-pagination .pagination {
margin-top: 0px;
}

.discovery-result-pagination .alert.alert-info {
background:transparent; background-image:none; border: 0px; color:#555;margin-bottom:0px; padding:0 15px; box-shadow:0 0 0 #fff;
}

.wsexcel_int .boton {
text-align:center;   display: inline-block; background:#db2828; padding:10px 35px; border-radius:10px; color:#ffffff; margin:5px 0px;
}

.listado_jobs {
max-width:1000px; margin: 0 auto;     margin-top: 26px;  background: #f5f5f5; padding: 20px;  border: 1px solid #eee; min-height:400px; margin-top:20px;
}

.listado_jobs h3 {
margin-bottom:20px; padding-bottom:20px; border-bottom: 1px solid #db2828; color:#db2828;
}

.listado_jobs table {
background:#fff; padding:10px;  border: 1px solid #eee; margin-bottom:20px; overflow-y:scroll;
                                                                                                     display: block;
}

.listado_jobs_table_td {
max-width: 200px;
    padding: 10px;
    word-wrap: break-word; /* Breaks long words */
   overflow-wrap: break-word; /* Modern equivalent */
   white-space: normal;
}

.listado_jobs .boton {
text-align:center;   display: inline-block; background:#db2828; padding:10px 35px; border-radius:10px; color:#ffffff; margin:20px 0px;
}

#form_schedule_job label {
padding: 0 10px;
}

.upload_file {
max-width:1000px; margin: 20px auto;  text-align:center;    margin-top: 26px;  background: #f5f5f5; padding: 20px;  border: 1px solid #eee;
}

.upload_file h3 {
margin-bottom:20px; padding-bottom:20px; border-bottom: 1px solid #db2828; color:#db2828;
}

.upload_file .group-span-filestyle label {
font-size:15px; border-radius:10px; padding:10px 37px; margin: 20px 0px 0;
}

.upload_file .icon-span-filestyle {
display:none;
}

.upload_file .boton_blanco {
text-align:center;   display: inline-block; background:#fff; padding:10px 35px; border-radius:10px;margin:5px 0px;
}

.upload_file  .bootstrap-filestyle {
display:block;
}

.listado_files {
max-width:1000px; margin: 0 auto;     margin-top: 26px;  background: #f5f5f5; padding: 20px;  border: 1px solid #eee; min-height:400px; margin-top:20px;
}

.listado_files h3 {
margin-bottom:20px; padding-bottom:20px; border-bottom: 1px solid #db2828; color:#db2828;
}

.listado_files table {
background:#fff; padding:10px;  border: 1px solid #eee; margin-bottom:20px;
}

.listado_files .boton {
text-align:center;   display: inline-block; background:#db2828; padding:10px 35px; border-radius:10px; color:#ffffff; margin:20px 0px;
}

.upload_file .discovery-result-results td {
padding:10px;
}

body.home .modal {
left: 50%; top:30%; width:800px; max-width:90vw; margin-left:-400px; overflow-y:auto;
}

@media (max-width: 800px) {
    body.home .modal {
        width: 90vw;
        margin-left: -45vw;
    }
}

body.home .modal-header {
min-height: 16.428571429px;
    padding: 15px;
    border-bottom:0px solid #e5e5e5;
    text-align:center;
}

body .modal-backdrop.in {
opacity: 0.8;
}

#messageDialog h1.modal-title {
color:#fff;
}

.tree-viewport {
max-height: 300px; /* Adjust this height as needed */
    overflow-y: auto;
    overflow-x: hidden; /* Prevent horizontal scroll unless necessary */
    padding: 15px;
    border: 1px solid #dee2e6;
    border-radius: 4px;
    background-color: #fff;
}

.tree-viewport::-webkit-scrollbar {
width: 8px;
}

.tree-viewport::-webkit-scrollbar-track {
background: #f1f1f1;
    border-radius: 4px;
}

.tree-viewport::-webkit-scrollbar-thumb {
background: #ccc;
    border-radius: 4px;
}

.tree-viewport::-webkit-scrollbar-thumb:hover {
background: #0d6efd; /* Highlights the bar when you scroll */
}

.tree-root ul {
list-style: none;
    padding-left: 15px;
}

.tree-group {
border-left: 1px dashed #ced4da;
    margin-left: 8px !important;
}

.tree-item {
margin-top: 5px;
    position: relative;
}

.tree-toggle {
cursor: pointer;
    color: #0d6efd; /* Bootstrap primary color */
    font-size: 0.9rem;
}

.tree-children.collapsed {
display: none;
}

.form-check-label {
font-size: 0.9rem;
    cursor: pointer;
    user-select: none;
    padding-left: 5px;
}

#clock-bar {
margin-top: 1em; font-size: 0.9em; color: #db2828;
}

#ask_date {
cursor: pointer; text-decoration: underline; color: #db2828;
}

.schedule-datetime-grid {
display: grid;
        grid-template-columns: max-content max-content;
        gap: 2rem;
        align-items: start;
        margin-bottom: 1rem;
}

.schedule-date-column,
.schedule-time-column {
display: flex;
        flex-direction: column;
        gap: 0.5rem;
}

.schedule-date-column input[type="date"],
.schedule-time-column input[type="time"] {
width: 10rem;
        max-width: 100%;
}

.time-wheel-control {
display: flex;
        flex-direction: column;
        gap: 0.75rem;
}

.time-sliders {
display: grid;
        grid-template-columns: auto minmax(10rem, 18rem);
        gap: 0.5rem 0.75rem;
        align-items: center;
}

.time-sliders label {
display: flex;
        gap: 0.5rem;
        justify-content: space-between;
        align-items: center;
        white-space: nowrap;
}

.time-sliders input[type="range"] {
width: 9rem;
}

.time-sliders output {
min-width: 2ch;
        font-weight: bold;
        text-align: right;
}

@media (max-width: 700px) {
.schedule-datetime-grid {
grid-template-columns: 1fr;
}
}

.navbar_bcn .navbar-collapse.collapse:not(.in):not(.show) {
display: none;
}

@media (min-width: 992px) {
.navbar_bcn .navbar-collapse.collapse {
display: flex !important;
        height: auto !important;
}
}

@media (max-width: 991.98px) {
.navbar_bcn .navbar-collapse.collapse.in,
.navbar_bcn .navbar-collapse.collapse.show {
display: block;
}
}

.create_job .form-check,
.create_job .d-flex {
min-width: 0;
}

.create_job .form-check-label {
word-break: break-word;
}

.job-progress {
    font-weight: bold;
}

.job-progress-running {
    animation: job-progress-blink 1s linear infinite;
}

.job-progress-success {
    color: green;
    animation: none;
}

.job-progress-error {
    color: red;
    animation: none;
}

@keyframes job-progress-blink {
    0% {
        opacity: 1;
    }

    50% {
        opacity: 0.25;
    }

    100% {
        opacity: 1;
    }
}

.scheduled-job-timer {
    margin-top: 0.25rem;
    font-weight: bold;
    white-space: nowrap;
}


.vc-tree,
.vc-tree ul {
    list-style: none;
    margin: 0;
    padding-left: 1.25rem;
}

.vc-tree-root {
    padding-left: 0;
}

.vc-tree-node {
    margin: 0.25rem 0;
}

.vc-tree-row {
    display: flex;
    align-items: baseline;
    gap: 0.4rem;
}

.vc-tree-toggle {
    border: 0;
    background: transparent;
    cursor: pointer;
    font-weight: bold;
    padding: 0 0.25rem 0 0;
}

.vc-tree-toggle::before {
    content: "▾";
}

.vc-tree-node.is-collapsed > .vc-tree-row .vc-tree-toggle::before {
    content: "▸";
}

.vc-tree-node.is-leaf > .vc-tree-row .vc-tree-toggle::before {
    content: "•";
}

.vc-tree-node.is-collapsed > ul {
    display: none;
}

.vc-tree-label {
    cursor: pointer;
}

.vc-tree-node.is-selected > .vc-tree-row .vc-tree-label {
    font-weight: bold;
    text-decoration: underline;
}

.vc-tree-count {
    font-style: italic;
}

.vc-tree-actions {
    margin-bottom: 1rem;
}

.vc-tree-actions input {
    margin-right: 0.5rem;
}

.schedule-submit-row {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.schedule-job-timer {
    font-size: 0.9em;
    color: #555;
}

.schedule-job-timer.schedule-job-timer-warning {
    color: #db2828;
    font-weight: bold;
}

.section-quicklinks {
    max-width: 420px;
    margin-top: 0.5rem;
}

.section-quicklinks .list-group-item-action {
    color: #db2828;
    font-weight: 500;
}

.section-quicklinks .list-group-item-action:hover,
.section-quicklinks .list-group-item-action:focus {
    color: #ffffff;
    background-color: #db2828;
}