/*! Arquetipo: Modificaciones en la maqueta  */

@import url("./fonts.css");

html{
      font-family: "XuntaSans-Regular", Roboto, sans-serif !important;
}

body {
    font-family: "XuntaSans-Regular", Roboto, sans-serif !important;
    font-size: 16px;
    line-height: 1.42857;
    color: #444;
    background-color: #fff;
    height: 100%;
    overflow-x: hidden;
}

div #cuerpo {
color: #000
}

    .tab-navigation a:focus {
        outline: 4px solid #009ee0;
        padding: 5px;
        box-shadow: 0 0 10px rgba(0, 158, 224, .6)
    }
    .tab-navigation a:focus {
        outline: 4px solid #009ee0;
        padding: 5px;
        box-shadow: 0 0 10px rgba(0, 158, 224, .6);
    }
    .btn.btn-primary.btn-rounded-lupa:focus{
        outline: 4px solid #009ee0;
        padding: 5px;
        box-shadow: 0 0 10px rgba(0, 158, 224, .6);
    }

.avoid-animation {
    animation: none;
}

header#encabezado-paxina {
    background-color: #007BC4;
    padding: 0px 10px 0;
    position: relative;
    border: none;
    border-radius: 0% !important;
    margin-right: -15px;
    margin-left: -15px;
}

#encabezado-paxina * {
    color: #FFF ;
}

#encabezado-paxina #menus-cabeceira {
    padding-right: 40px;
}

header#encabezado-paxina #logos-cabeceira {
    width: 100%;
    padding: 0;
    height: 112px;
    display: flex;
    align-items: center;
}

header#encabezado-xestion #top-menu .row .navbar-nav {
    width: auto;
}

header#encabezado-xestion #top-menu .row {
    display:flex;
    justify-content: center;
}

#logo-galicia-pe {
    text-align: left;
}

#logo-galicia-pe>a {
    position: relative;
    bottom: 5px;
    margin-right: 30px;
}

#logo-galicia-pe img {
    width: 90px;
}

header#encabezado-paxina ul#selector-idiomas {
    margin-left: 75px;
}

.header-separador{
    width: 100vw;
    background-color: white;
    height: 1px;
    margin-right: -10px;
    margin-left: -10px;
}

#header-publico{
    padding-left: 0px;
    padding-right: 0px;
}

#menu-superior, #selector-idiomas {
    float: right;
    padding: 0;
    margin-bottom: 0;
}

header#encabezado-paxina ul#selector-idiomas span, header#encabezado-paxina ul#selector-idiomas a,
header#encabezado-paxina ul#selector-idiomas-desk,
header#encabezado-paxina ul#selector-idiomas-mobile {
    padding: 17px 3px;
    font-size: .85em;
}

#selector-idiomas li {
    display: inline;
}
#selector-idiomas-mobile li {
    display: inline;
}

header#encabezado-paxina ul#selector-idiomas span, header#encabezado-paxina ul#selector-idiomas-mobile a {
    padding: 17px 3px;
    font-size: .85em;
}

#selector-idiomas .locale-activo {
    background: rgba(0,0,0,0) url("../images/sobreEncabezado.png") repeat-x scroll center top;
    opacity: 1;
}
#selector-idiomas-mobile .locale-activo {
    background: rgba(0,0,0,0) url("../images/sobreEncabezado.png") repeat-x scroll center top;
    opacity: 1;
}

header#encabezado-paxina img#logo-xunta-cabeceira {
    float: right;
    margin: 1.5625rem 1.25rem 1.5625rem 3.125rem;
    width: auto;
    height: 48px;
}

.logo-xunta-cabeceira{
    float: right;
    margin: 1.5625rem 1.25rem 1.5625rem 3.125rem;
    width: auto;
    height: 48px;
}

#top-menu .row nav {
    background-color: #007BC4;
}

#header-user-name{
    padding-right: unset !important;
}

#logos-cabeceira h1 {
    float: left;
    padding-left: 0.625rem;
    margin-top: 2.0625rem;
    height: 48px;
}

#logo-cabeceira {
    font-size: 38px;
    margin-bottom: 0.67em;
}

footer {
    background-color: #007BC4;
    height: 84px;
}

#footer-text {
    text-align: center;
}

#main-footer {
    background-color: #007BC4;
    max-width: 1075px;
    margin: 0 auto;
    height: 84px;
    display: flex;
    align-items: center;
}

#main-footer * {
    color: #FFF;
    background-color: #007BC4;
}

#main-footer-xestion {
       background-color: #666;
       margin-left: 0px;
       margin-right: 0px;
       padding: 1rem 2rem;
}

#main-footer-xestion * {
    color: #FFF;
}

#footer-logo-xacobeo {
    padding-top: 5px;
    padding-right: 40px;
    padding-left: 12px;
    text-align: right;
}

#footer-logo-xacobeo-mobile {
    padding-top: 5px;
    padding-right: 40px;
    padding-left: 12px;
    text-align: right;
}
.footer-logo-xacobeo-desk-xe{
padding-top: 0px;
padding-right: 40px;
padding-left: 0px;
}
#main-footer-xestion #footer-logo {
    display: inline-block;
    height: 36px;
    width: 170px;
    padding-top: 5px;
    padding-right: 10px;
    padding-left: 12px
}

#main-footer-xestion #footer-logo img {
    width: auto;
    height: 100%;
}

#main-footer-xestion #footer-info {
    overflow:hidden;
    height:50px;
    width:calc(100% - 170px);
    float:right;
    font-size:.75em;
    color:#eee;
    padding-top:7px;
    padding-right:10px;
    padding-bottom:0;
    padding-left:10px
}

#main-footer-xestion #footer-text {
    text-align: unset;
}

#main-footer-xestion #footer-info #footer-menu {
    text-align: right;
    padding-top: 10px;
}

#footer-list{
    display: -webkit-inline-box;
}

.estado-label {
    margin-top: -3px;
    margin-bottom: 15px;
}

@media (min-width: 768px) {
    .autoMaxWidth {
        margin: 0 auto;
        max-width: 1170px;
    }
}

@media (max-width: 768px) {
    #encabezado-paxina #menus-cabeceira-mobile:not(.active) {
        display: none;
    }

    #encabezado-paxina #menus-cabeceira-mobile {
        padding-right: 0;
        margin: 0 -15px;
    }

    header#encabezado-paxina ul#selector-idiomas-mobile {
        display: flex;
        align-items: center;
        justify-content: center;
        margin: 0;
        width: 100%;
    }

    header#encabezado-paxina ul#selector-idiomas-mobile > li {
        width: 100%;
    }

    header#encabezado-paxina ul#selector-idiomas-mobile > li > a {
        width: 100% !important;
        padding: 0;
    }

    header#encabezado-paxina ul#selector-idiomas-mobile > li > a > span {
        display: block;
        width: 100% !important;
        background: none;
    }

    header#encabezado-paxina ul#selector-idiomas-mobile > li > a > span.locale-activo:after {
        content: "";
        height: 2px;
        background: white;
        width: 100%;
        display: block;
        margin-top: 4px;
    }

    header#encabezado-paxina ul#selector-idiomas-mobile > li > a > span:after {
        content: "";
        height: 2px;
        background: none;
        width: 100%;
        display: block;
        margin-top: 4px;
    }
}

.modal-dialog legend {
    font-size: 20px;
}

.no-gutter {
    margin-left: 0;
    margin-right: 0;
}

.celda-accion {
    max-width: 80px;
}

.green {
    color: green;
}

.red {
    color: red;
}

.ref_cat {
    display: block;
    max-width: 80px;
    text-overflow: ellipsis;
    overflow: hidden;
}

pre {
    white-space: pre-wrap;
    word-break: normal;
}

/*Advertencias de sesion*/
.top-display .top-display-content {
    text-align: center;
    font-size: 1.05em;
    line-height: 38px;
    padding: 0 0 0 12.66667px;
    color: #fff;
    background-color: #019ee0;
    text-shadow: -1px -1px #017aad;
    box-shadow: -8px -1px 8px 0 rgba(0,0,0,.6);
    border: 0 solid #017aad;
    border-top-width: 2px;
    border-bottom-width: 2px;
}
.top-display-orange .top-display-content {
    background-color: #f0ad4e;
    text-shadow: -1px -1px #775d00;
    border-color: #775d00;
}

.no-border-right {
    border-right: 0 !important;
}

.busca {
    margin-top: 20px
}

.productFotoWrapper {
    text-align: center;
}

.origen-intro {
    padding-bottom: 20px;
    display: block;
}

.btn-rounded-lupa {
    height: 40px;
    border-radius: 18px;
    background-color: #7096b9;
    border-color: #7096b9;
    font-size: 20px;
}

.error {
    color: red;
    font-weight: bold;
    padding-top: 10px;
    padding-left: 10px;
}

.pefc-fsc-logo {
    height: 26px;
}

.pefc-fsc-logo-grande {
    height: 125px;
    padding-right: 10px;
}

.ws-nowrap {
    white-space: nowrap;
}

.fondo-inicio {
    width: 100%;
    height: 80%;
    background: url(../images/fondo_inicio.png) no-repeat bottom center,url(../maqint/2.0.4/images/error/cancer_anchor_line_bg.png) repeat-x bottom center;
    background-size: contain;
    position: absolute;
    left: 0;
    right: 0;
    background-position: center;
    z-index: -1;
}


.dl-horizontal > dl {
    margin-bottom: 10px;
}

.dl-horizontal > dl > dt {
    white-space: initial;
    word-break: normal;
    margin-bottom: 10px;
}

@media (min-width: 768px)
.dl-horizontal > dl > dt {
    float: left;
    width: 160px;
    clear: left;
    text-align: right;
    overflow: hidden;
    text-overflow: unset !important;
    white-space: unset !important;
}

#modal-eliminar{
    text-align: center !important;
}

.link-bar ul > li > a {
    text-transform: uppercase;
    text-overflow: ellipsis;
    width: auto !important;
    display: inline-block;
    overflow: hidden;
    white-space: nowrap;
    text-align:center;
}

#main-content img:not([class^='leaflet']) {
    max-width: 100%;
}
.grouped.dropdown{
    margin-inline-start: auto;
}
.link-bar {
    display: flex;
    position: relative;
    background: inherit;
    color: #000;
    width: 100%;
    box-sizing: border-box;
    line-height: initial;
    height: fit-content;
}




.context-bar-link, .grouped-link {
    padding: 0 10px;
    text-align: center;
    display: flex;
    align-items: center;
}

.context-bar-link:first-of-type, .grouped-link:first-of-type {
    padding-left: 0;
}

.context-bar-link.active, .grouped-link.active {
    background-color: #0A4F7F;
}

.context-bar-link:hover{
    background-color: #0A4F7F;
}
.context-bar-link a{
    text-decoration: none !important;
}
.context-bar-link a:hover{
    text-decoration: none;
}

.grouped.dropdown:hover {
    background-color: #0A4F7F;
}

.dropdown-content {
    display: none;
    flex-wrap: wrap;
    flex-direction: column;
    justify-content: center;
    position: absolute;
    background-color: #0371B3;
    min-width: 160px;
    right:0px;
    box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
    overflow-y: auto;
    z-index: 3;
    margin-top: 2px;
}
/* .dropdown-content .context-bar-link{
    width: 100%;
} */

.dropdown-content a {
    color: black;
    padding: 12px 16px;
    text-decoration: none;
    display: block;
    text-align: left;
}

.dropdown-content a:hover {background-color: #0A4F7F}

.visuallyhidden {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
}
.visuallyhidden.focusable:active,
.visuallyhidden.focusable:focus {
    clip: auto;
    height: auto;
    margin: 0;
    overflow: visible;
    position: static;
}

#publicado-check{
    width: 30px;
    height: 30px;
}

#prev-display-top span{
    opacity: 1;
}

#prev-display-top{
    text-align: center;
    font-size: 1.05em;
    line-height: 38px;
    padding: 0 0 0 12.66667px;
    color: #fff;
    background-color: rgb(170, 0, 0, 0.7);
    text-shadow: -1px -1px #700;
    border-color: #700;
    border-top-width: 2px;
    border-bottom-width: 2px;
    width: 100vw;
    position: fixed;
    left: 0px;
    top: 0px;
    display: flex;
    justify-content: center;
    pointer-events: none;
}

.bg-coche {
    mask: url(../images/car.svg) 0px -5px;
    -webkit-mask: url(../images/car.svg) 0px -5px;
    mask-size: 2em;
    -webkit-mask-size: 2em;
    display: inline-block;
}
.hiddenRow {
    padding: 0 !important;
}

a.accordion-toggle {
    cursor: pointer;
}

.accordion-toggle:not(.collapsed) > .glyphicon-chevron-right {
    -webkit-transform: rotate(450deg);
    -ms-transform: rotate(450deg);
    -o-transform: rotate(450deg);
    transform: rotate(450deg);
    transition: all .30s ease;
}


.accordion-toggle.collapsed > .glyphicon-chevron-right {
    transition: all .30s ease;
}

tr.hiddenRow>td {
    border-top: none !important;
}

.table-invisible-head {
    overflow-x: hidden;
    overflow-y: hidden;
}

.table-invisible-head thead {
    visibility: collapse;
}

.fa.fa-car.ultimo {
    position: relative;
}

.cobertura {
    color: white;
    position: absolute;
    right: var(--porc);
    background-color: white;
}

.timeline-wrapper {
    z-index: 999;
    overflow: hidden;
    position: relative;
    border-radius: 8px;
}

.timeline__hamburger-wrapper {
    position: absolute;
    width: 5rem;
    height: 5rem;
    padding: 10px;
    border-radius: 100%;
    border: 2px solid #2371b3;
    left: 15px;
    top: 15px;
    z-index: 99999;
    background: #fff;
    display: none;
    align-items: center;
    justify-content: center;
    pointer-events: all;
}

.timeline__hamburger {
    position: relative;
    width: 100%;
    height: 4px;
}

.timeline__hamburger:after, .timeline__hamburger:before {
    content: "";
    position: absolute;
    left: 0;
    width: 100%;
    height: 4px;
    background: #2371b3;
    transition: all ease-out 0.3s;
    flex: 0 0 100%;
}

.timeline__hamburger:before {
    top: 8px;
}

.timeline__hamburger:after {
    bottom: 8px;
}

.timeline__hamburger__content {
    display: block;
    width: 100%;
    height: 4px;
    background-color: #2371b3;
    transition: all ease-out 0.3s;
}

.timeline__hamburger--active {
    pointer-events: all;
}

.timeline__hamburger--active:before {
    transform: rotate(-45deg);
    top: calc(50% - 2px);
}

.timeline__hamburger--active:after {
    transform: rotate(45deg);
    top: calc(50% - 2px);
}

.timeline__hamburger--active .timeline__hamburger__content {
    opacity: 0;
}

.timeline__event {
    --bullet-size: 5rem;
    --bullet-padding: 8px;
    margin: 20px 0 20px calc(var(--bullet-size) + var(--bullet-padding));
    position: relative;
}

.timeline__event__animator {
    display: flex;
    margin: 20px 0;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 30px 60px -12px rgba(50, 50, 93, 0.25),
      0 18px 36px -18px rgba(0, 0, 0, 0.3),
      0 -12px 36px -8px rgba(0, 0, 0, 0.025);
    transition: all ease-out 0.3s;
}

.timeline__event__animator--hidden {
    transform: translateX(calc(-100% - var(--bullet-padding) - var(--bullet-size) - 15px));
    box-shadow: none;
}

.timeline__event__title {
    font-size: 1.4rem;
    line-height: 1.4;
    text-transform: uppercase;
    margin-top: 10px;
    font-weight: 600;
    color: #2371b3;
    letter-spacing: 1.5px;
}

.timeline__event__content {
    padding: 20px;
    cursor: pointer;
    overflow: hidden;
    width: 100%;
}

.timeline__event__date {
    color: white;
    font-size: 1.5rem;
    font-weight: bolder;
    white-space: nowrap;
    padding-bottom: 5px;
    margin-right: 5px;
}

.timeline__event__image-wrapper {
    border-radius: 8px 0 0 8px;
    background: white;
    overflow: hidden;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
}
.timeline__event__image {
    transform: scale(200%);
    position: absolute;
    width: 100%;
    height: 100%; /* Fill the height */
    object-fit: cover; /* Image fills the container without stretching */
    top: 0;
    left: 0;
    cursor: pointer;
}

.timeline__event__icon {
    position: absolute;
    top: 50%;
    left: calc(-1 * (var(--bullet-size) + var(--bullet-padding)));
    transform: translateY(-50%);
    width: var(--bullet-size);
    height: var(--bullet-size);
    font-weight: bolder;
    font-size: 2.5rem;
    color: #1d71b8;
    display: flex;
    justify-content: center;
    align-items: center;
    line-height: 1;
    cursor: pointer;
    pointer-events: all;
}

.timeline__event__icon__empresa {
    border-radius: 8px 0 0 8px !important;
    background: white !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-basis: 40% !important;
    font-size: 2rem !important;
    color: #1d71b8 !important;
    background-size: 200% !important;
    background-position: center !important;
    background-repeat: space !important;
    cursor: pointer !important;
}

.timeline__event__description {
    flex-basis: 60%;
}

.timeline__event__description > .timeline__event__operation {
    font-weight: bold;
}

.timeline__event:not(.timeline_last)::after {
    content: "";
    width: 2px;
    height: 100%;
    background: #2471b8;
    position: absolute;
    top: calc(50% + var(--bullet-size) / 2);
    left: calc(-1 * (var(--bullet-padding) + var(--bullet-size) / 2 + 1px));
    z-index: -1;
}

.timeline__event::before {
    content: "";
    width: var(--bullet-size);
    height: var(--bullet-size);
    position: absolute;
    background: #fff;
    border-radius: 100%;
    left: calc(-1 * (var(--bullet-size) + var(--bullet-padding)));
    top: 50%;
    transform: translateY(-50%);
    border: 2px solid #2371b3;
}

.timeline__event.timeline_last ~ .collapse .timeline__event::after {
    content: "";
    width: 2px;
    height: 100%;
    background: #2471b8;
    position: absolute;
    top: unset;
    bottom: calc(50% + var(--bullet-size) / 2);
    left: calc(-1 * (var(--bullet-padding) + var(--bullet-size) / 2 + 1px));
    z-index: -1;
}

.timeline__event--type1 .timeline__event__image-wrapper {
    width: 150px;
}

.timeline__event--type1 > .timeline__event__title {
    color: #2371b3;
}

.timeline__event--type2 .timeline__event__image-wrapper {
    width: 130px;
}

.timeline__event--type2 .timeline__event__image {
    transform: scale(180%);
}

.timeline__event--type2 .timeline__event__title {
    color: #5bc0de;
}

.timeline__event--type2 .timeline__event__icon {
    font-size: 1em;
}

@media(max-width: 992px) {
    .timeline {
        padding-top: 5rem;
    }

    .timeline-wrapper {
        pointer-events: none;
    }

    .timeline-wrapper--opened {
        backdrop-filter: blur(10px);
        pointer-events: all;
    }

    .timeline__hamburger-wrapper {
        display: flex;
    }
}

@media(max-width: 500px) {
    .timeline__event--type1 .timeline__event__image-wrapper {
        width: 100px;
    }

    .timeline__event--type1 .timeline__event__image {
        transform: scale(320%);
    }

    .timeline__event--type2 .timeline__event__image-wrapper {
        width: 85px;
    }

    .timeline__event__title {
        font-size: 1.4rem;
    }

    .timeline__event__date {
        font-size: 1.3rem;
    }

    .timeline__event__icon {
        font-size: 2.1rem;
    }

    .timeline__event__description {
        font-size: 14px;
    }
}

.timeline-bottom-right {
    position: absolute;
    bottom: 0;
    right: 0;
    border-radius: 8px 0 8px 0 !important;
    border: none;
}

a.timeline-bottom-right {
    padding: 5px 12px;
    text-decoration: none;
    color: white;
}

.timeline__event--type1 .timeline-bottom-right {
    background-color: #1d71b8;
}

.timeline__event__icon.timeline__empty__photo {
    border-radius: 8px 0 0 8px;
    flex-basis: 0;
}

.timeline__event--type3 > .timeline__event__icon {
    display: block;
    max-width: 200px;
    min-width: 200px;
}

.timeline__event--type3 > .timeline__event__content {
    width: 100%;
}

.timeline__event.timeline__event--type3::after {
    content: none;
}

.timeline__event.timeline__event--type3::before {
    content: none;
}

.info-imagen {
    width: 100%;
    padding-top: 5px;
    padding-bottom: 5px;
    cursor: initial;
    max-height: 300px;
    object-fit: contain;
}


.info-imagen-empresa {
    width: 100%;
    padding-top: 5px;
    padding-bottom: 5px;
    cursor: initial;
    max-height: 300px;
    object-fit: unset !important;
}

.info-texto {
    cursor: initial;
}

.info-empresa-principal {
    color: #0371B3;
    cursor: pointer;
}

@media(max-width: 1000px) {
  .info-imagen {
    width: 100%;
  }
}

.mapa {
    height: 100%;
    border-radius: 8px;
    z-index: 9;
}

.position-relative {
    position: relative;
}
@media(min-width: 1200px) {
    .map-position-absolute {
        position: absolute;
    }
}
.relative-positioned-tl {
    z-index: 10;
    position: relative;
}

.icon-div-grupos > span:not(.arrow-down) {
    font-size: 3em;
    font-family: Roboto, sans-serif;
    font-weight: bolder;
    color: white;
    text-align: center;
    position: relative;
    right: 11px;
    background: #1d71b8;
    border-radius: 50%;
    padding-top: 2px;
    border: 2px solid #2471b8;
    width: 42px;
    display: block;
    height: 42px;
}

.icon-div-origen > span:not(.arrow-down) {
    font-size: 3em;
    font-family: Roboto, sans-serif;
    font-weight: bolder;
    color: white;
    text-align: center;
    position: relative;
    right: 11px;
    background: #30b357;
    border-radius: 50%;
    padding-top: 2px;
    border: 2px solid #30b357;
    width: 42px;
    display: block;
    height: 42px;
}

.icon-div-grupos > .arrow-down {
    width: 0;
    height: 0;
    border-left: 13px solid transparent;
    border-right: 13px solid transparent;
    border-top: 10px solid #1d71b8;
    filter: drop-shadow(4px 2px 3px gray);
    position: relative;
    bottom: 4px;
    right: 3px;
    z-index: -1;
}

.icon-div-origen > .arrow-down {
    width: 0;
    height: 0;
    border-left: 13px solid transparent;
    border-right: 13px solid transparent;
    border-top: 10px solid #30b357;
    filter: drop-shadow(4px 2px 3px gray);
    position: relative;
    bottom: 4px;
    right: 3px;
    z-index: -1;
}

.marker-cluster-custom div {
  width: 42px;
  height: 42px;
  text-align: center;
  border-radius: 50%;
  border: solid rgba(29, 113, 184, 0.3) 6px;
  font: 21px "Helvetica Neue", Arial, Helvetica, sans-serif;
  color: #2471b8;
  background-color: rgba(29, 113, 184, 0.5);
}

.marker-cluster-custom div span {
    display:inline-block;
    padding-top: 4px;
}

.operationsLegend {
    margin-bottom: 15px;
}

.modal-dialog.modal-dialog-centered {
    -webkit-transform: translate(0,-50%);
    -o-transform: translate(0,-50%);
    transform: translate(0,-50%);
    top: calc(100% / 3.5);
    margin: 0 auto;
}

.text-white-button {
    font-size: inherit !important;
    color: #fff !important;
}

/* Estilo para el contenedor del mapa */
.mapa-container {
    width: 100%;
    height: 100vh; /* 100% de la altura de la ventana */
    position: relative;
    overflow: hidden;
}

/* Estilo para el mapa */
#mapa-operaciones {
    width: 100%;
    height: 100%; /* 100% de la altura del contenedor */
    background: #ddd;
    cursor: grab;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 9;
    touch-action: none;
}

.context-bar {
    flex: 1;
    margin-top: 1px;
    height: fit-content;
}

/* Estilos para pantallas grandes (mayores a 769px) */
@media (min-width: 770px) {
    .context-bar {
        display: inline-block; /* Asegura que los elementos estén en línea */
        justify-content: flex-start; /* Distribuye el espacio entre enlaces */
        width: auto; /* Ajusta el ancho según el contenido */
    }
}

/* Estilos para pantallas pequeñas (menores a 769px) */
@media (max-width: 770px) {
    .link-bar > section {
        display: block !important; /* Cambia el contenedor principal a bloque para que sus hijos se apilen verticalmente */
    }

    .header-search-from {
        width: 100%;
        display: block;
        order: -1;
    }

    .context-bar {
        display: flex;      /* Se establece el display a flex para activar flexbox */
        flex-direction: row;
        flex-wrap: wrap;    /* Esto permite que los elementos pasen a la siguiente línea */
        justify-content: center; /* Centra los elementos en el eje principal */
        padding: 0;
        white-space: nowrap;
        width: 100%;
        order: 1;
        list-style: none;
        margin: 0rem;
    }

    .context-bar-link {
        padding: 1em 0.5em;
        grid-column: 1 / -1;
        justify-content: center;
        align-items: center;
    }

    .context-bar-link:first-of-type {
        padding-left: 0;
    }

     .header-separador-xs{
            display: none;
        }
}

@media only screen and (max-width: 1200px) {
    .cms-responsive-img {
        width: 100%;
        height: auto;
    }
}

table tr .progress {
    background-color: #dfdfdf;
}

/* Estilos para el botón de menú en pantallas pequeñas */
.menu-toggle-header {
    display: none;
    font-size: 30px;
    cursor: pointer;
    background-color: #1d71b8;
    border-style: solid;
}

.link-bar-section {
    display: flex;
    justify-content: space-between;
    width: 100%;
}

@media screen and (max-width: 770px) {
    #header-publico{
        margin-left: -10px;
        margin-right: -10px;
    }

    #header-publico nav {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 0 1rem;
        margin-bottom: 0.85rem;
    }

    #header-publico .menu-toggle-header, #header-publico .logo-xunta-cabeceira, #header-publico .context-bar {
        margin: 0;
    }

    #header-publico .logos-cabeceira {
        height: 72px;
        display: flex;
        align-items: center;
    }

    #header-publico .logos-cabeceira img {
        height: 36px !important;
    }

    #header-publico .logo-xunta-cabeceira {
        float: inherit;
        grid-column: 1 / -1;
        height: auto;
        padding: 1em 0.5rem;
    }

    #header-publico .logo-xunta-cabeceira a {
        width: 100% !important;
    }

    #header-publico .logo-xunta-cabeceira a #logo-xunta-dropdown-menu {
        height: 36px;
        width: auto;
    }

    #header-publico .menu-toggle-header {
        display: block;
        background-color: #7096b9;
        border: 1px solid transparent;
        height: 48px; /* Altura fija para el logo */
    }

    /* Ajustes para el estado hover del botón */
    #header-publico .menu-toggle-header:hover {
        background-color: #16568c;
        border-color: #11436d;
    }

    #header-publico .context-bar {
        display: none; /* Usa !important solo si es absolutamente necesario */
        width: 100%;
        text-align: left;
    }

    /* Estilos para cuando el menú esté activo */
    #header-publico .context-bar.active {
        display: grid;
        grid-template-columns: repeat(auto-fill, minmax(0, auto));
    }

    .container-dropdow-xunta{
        display: flex;
        justify-content: end;
        margin: 1rem 0;
    }
}


@media only screen and (min-width: 720px) {

    .pefc-fsc-logo-container {
        display: flex; /* Alinea los elementos hijos (imágenes) horizontalmente */
        align-items: center; /* Centra los elementos hijos verticalmente */
        justify-content: flex-start; /* Centra \los elementos hijos horizontalmente si tienen width o max-width */
        gap: 8px;
    }

    .pefc-fsc-logo-container img.pefc-fsc-logo-grande {
        max-width: 100px; /* Limita el ancho máximo pero permite escalado proporcional */
        max-height: 100px; /* Limita la altura máxima */
        width: 100%;
        display: block; /* O display:inline-block; dependiendo de tu layout */
    }

    #main-content .pefc-fsc-logo-container .pefc-logo {
        max-height: fit-content;
        max-width: 21% !important;
    }

    #main-content .pefc-fsc-logo-container .pino-galicia-logo{
        max-height: fit-content;
        max-width: 24% !important;
    }
}

.utilities-container {
    color: white; /* Color del texto del contenedor */
    padding: 20px; /* Espaciado interno del contenedor */
    text-align: start; /* Alineación del texto del contenedor */
}

.utilities-container h1.mapa-do-portal {
    background: #0371b3; /* Color de fondo azul para el título */
    color: white; /* Color del texto para el título */
    padding: 20px; /* Espaciado interno del título */
    margin: 0; /* Remueve márgenes por defecto para el título */
    text-align: start; /* Centrar el texto del título */
}

.container-mapa-web-ordered-list{
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    align-items: start;
}

.mapa-web-ordered-list {
    list-style: none;
    padding: 0.5rem;
    margin: 0.2rem;
}

.mapa-web-list-input {
    margin: 0.5rem; /* Espaciado uniforme */
    padding: 0.5rem 1rem; /* Padding para tocar con los dedos */
    background: white; /* Fondo de cada elemento de la lista */
    color: #004B85; /* Color del texto de cada elemento de la lista */
}

.mapa-web-element {
    color: #004B85; /* Color del texto de los enlaces */
    text-decoration: none; /* No subrayar los enlaces */
    display: block; /* Hace que el enlace ocupe el bloque entero */
}

.mapa-web-element:hover {
    text-decoration: underline; /* Subrayar al pasar el ratón por encima */
}

/* Estilos para pantallas medianas (tablets, por ejemplo) */
@media (min-width: 768px) {
    .mapa-web-ordered-list {
        flex-direction: row; /* Fila para pantallas más grandes */
        flex-wrap: wrap; /* Permite múltiples líneas */
        justify-content: start; /* Centra los elementos de la lista */
    }


}

/* Estilos para pantallas grandes (ordenadores de escritorio, por ejemplo) */
@media (min-width: 1024px) {
    .utilities-container {
        text-align: left; /* Alinea el texto a la izquierda */
        padding: 20px 40px; /* Aumenta el padding lateral */
    }

    .utilities-container h1.mapa-do-portal {
        background: #0371b3; /* Color de fondo azul para el título */
        color: white; /* Color del texto para el título */
        padding: 20px; /* Espaciado interno del título */
        margin: 0; /* Remueve márgenes por defecto para el título */
        text-align: start; /* Centrar el texto del título */
    }

    .mapa-web-ordered-list {
        justify-content: flex-start; /* Alinea los elementos al comienzo */
    }

    .mapa-web-list-input {
        margin: 0.5rem; /* Ajusta el margen */
    }
}

.scroll-up-button {
  position: fixed;
  bottom: 1.25rem;
  right: 0;
  cursor: pointer;
  display: none; /* Ocultar inicialmente el botón */
  z-index: 100;
  width: 3rem; /* Un valor ejemplo para el ancho */
  height: 3rem; /* Un valor ejemplo para el alto */
}

.scroll-up-button:hover {
}

@media (max-width: 770px) {
    .fixed-header {
    position: fixed;
    left: 0;
    right: 0;
    top: 0;
    z-index: 1000;
    width: 100%;
    background-color: #007BC4;
    margin: 0 !important;
    }

    #logos-cabeceira h1 {
      float: left;
      padding-left: 0.625rem;
      margin-top: 2.0625rem;
      height: 36px !important;
      width: auto !important;
      font-size: 30px !important;
    }

    .img-footer-xunta-logo{
      height: 28px;
      width: auto;
      margin-top: 0.875rem;
      margin-bottom: 0.875rem;
    }

    .img-footer-xacobeo-logo{
        height: 17px;
        width: auto;
        margin-top: 0.875rem;
        margin-bottom: 0.875rem;
    }

    #footer-info-xs {
      display: flex;
      flex-direction: column;
      justify-content: flex-start;
      align-items: flex-start;
      margin-top: 14px;
      margin-bottom: 0;
      padding: 0.875rem 0;
    }

    footer {
      height: auto !important;
      min-height: auto;
      max-height: none;
    }

    #main-footer #footer-info {
        overflow: hidden;
        height: auto;
        float: right;
        font-size: .75em;
        color: #eee;
        padding-top: 7px;
        padding-right: 10px;
        padding-bottom: 0;
        padding-left: 10px;
    }

    #main-footer {
        background-color: #007BC4;
        height: unset;
        min-height: unset;
        max-height: none;
        display: block;
    }

    #footer-logo{
        height: 100%;
    }

    #footer-logo-xacobeo {
        height: 100%;
        text-align: left;
    }

        #footer-logo {
            width: 100% !important;
            text-align-last: justify;
        }

      #footer-logo-xacobeo-mobile {
            height: 100%;
            padding-right: 12px;
            padding-left: 12px;
        }

    #footer-info-xs{
    height:100%;
    padding-left: 0.5rem;
    }

    .footer-container{
     min-height: auto;
     max-height: none;
    }

    #footer-text-xs  {
    position: relative;
    background-color: #007BC4;
    color: #fff
    }

    #footer-text-xs a {

    background-color: #007BC4;
    color: #fff
    }

    #footer-list-xs {
      list-style-type: none; /* Elimina los bullets de la lista */
      padding-left: 0;
    }

    #footer-list-xs li {
      margin: 0.875rem 0; /* Añade margen superior e inferior a cada elemento de la lista */
    }

    .hidden-xs{
    display: none;
    }

}

@media (min-width: 769px) {
  .hidden-xl.logo-xunta-cabeceira {
    display: none;
  }

  .hidden-xl {
    display: none;
  }

  /* Footer público (escritorio): primera imagen (Xunta) pegada a la izquierda,
     última imagen (Xacobeo) pegada a la derecha, y todo centrado verticalmente.
     #main-footer ya es flex con align-items:center (regla base); aquí solo se
     reparte el espacio y se centra el contenido de cada div. */
  #main-footer {
    justify-content: space-between;
  }

  #footer-logo,
  #footer-logo-xacobeo {
    display: flex;
    align-items: center;
    height: 100%;
  }

  /* Quita el desplazamiento superior que descentraba la imagen del Xacobeo. */
  #footer-logo-xacobeo {
    padding-top: 0;
  }

  /* El bloque de texto central ocupa el espacio sobrante entre ambos logos. */
  #footer-info {
    flex: 1 1 auto;
    min-width: 0;
  }

}

/* Pantalla grande */
@media screen and (min-width: 769px) {

    .container {
        margin-right: 0;
        margin-left: 0;
        max-width: 100%;
    }

    #header-publico {
        width: 100%;
    }
   .link-bar {
       display: flex;
       justify-content: space-between;
       align-items: center;
       padding: 0 1rem;
       height: 60px;
       min-height: 60px;
   }

   .link-bar-section {
       display: flex;
       align-items: center;
       width: 100%;
   }

   .menu-toggle-header {
       display: none; /* Ocultar en pantallas grandes, mostrar sólo en móviles */
   }

   .context-bar {
       display: flex; /* Opcional, si quieres que los elementos de la lista estén en línea */
       align-items: center;
       list-style: none; /* Eliminar viñetas de la lista */
       padding-left: 0; /* Eliminar padding predeterminado de la lista */
       margin-right: auto; /* Empujar todo lo demás hacia la derecha */
   }

   .header-search-from {
       margin-left: auto; /* Empujar el formulario hacia la derecha */
       display: flex;
       align-items: center;
   }

   .input-group {
       flex-grow: 1; /* Permitir que el grupo de entrada ocupe el espacio disponible */
   }


}

#logos-cabeceira::marker{
    display: none;
    color: transparent;
}

.span-footer-font-style{
    font-style: italic !important;
}

.skeleton-box {
  display: inline-block;
  position: relative;
  overflow: hidden;
  background-color: #DDDBDD;
}

.skeleton-box__bordered {
  border-radius: 8px;
}

.skeleton-box__full-width {
  width: 100%;
}

.skeleton-box::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  transform: translateX(-100%);
  background-image: linear-gradient(
    90deg,
    rgba(255, 255, 255, 0) 0,
    rgba(255, 255, 255, 0.2) 20%,
    rgba(255, 255, 255, 0.5) 60%,
    rgba(255, 255, 255, 0) 100%
    );
  animation: shimmer 5s infinite;
  content: "";
}

.skeleton-box > * {
    visibility: hidden;
}

@keyframes shimmer {
  100% {
    transform: translateX(100%);
  }
}

@media (min-width: 768px) {
}

#modal-extra-information dl.dl-horizontal {
    display: grid;
    grid-template-columns: 160px 1fr;
    column-gap: 16px;
}

#modal-extra-information .dl-horizontal dd {
    margin-left: 0px;
    overflow: hidden;
    border-bottom: solid 1px #eeeeee;
  }
#modal-extra-information .dl-horizontal dt {
    border-bottom: solid 1px #eeeeee;
  }

@media (min-width: 768px) {
    #modal-extra-information dl.dl-horizontal {
    display: grid;
    grid-template-columns: 250px 1fr;
    column-gap: 16px;
}
  #modal-extra-information .dl-horizontal dt {
    width: 100%;
    white-space: normal;
  }
}

@media (min-width: 768px) {
    .modal-dialog {
        width: 830px !important;
        margin: 30px auto;
    }
}


.spinner-icon {
  display: inline-block;
  width: 16px;
  height: 16px;
  border: 2px solid rgba(255, 255, 255, 0.4);
  border-top-color: white;
  border-radius: 50%;
  animation: spin 0.7s linear infinite;
}

@keyframes spin {
  to { transform: rotate(360deg); }
}

.glyphicon-search-traza {
    padding-left: 0.8em !important;
}


/* === FIX: Mostrar checkbox nativo con palomita === */
.checkbox label,
.checkbox-inline {
/* Anula el padding de Bootstrap y alinea bien el input + texto */
    padding-left: 0 !important;
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

/* Bootstrap 3 pone el input en absoluto y lo desplaza: anulamos eso */
.checkbox input[type="checkbox"],
.checkbox-inline input[type="checkbox"]{
    position: static !important;
    margin: 0 !important;
    appearance: auto !important;
    -webkit-appearance: checkbox !important;
    -moz-appearance: checkbox !important;
    width: 18px;
    height: 18px;
    /* Color de marca al marcar (navegadores modernos) */
    accent-color: #1d71b8;
}

/* Accesibilidad: foco visible */
.checkbox input[type="checkbox"]:focus,
.checkbox-inline input[type="checkbox"]:focus{
    outline: 2px solid rgba(29,113,184,.35);
    outline-offset: 2px;
}

/* Deshabilitados: atenuados */
.checkbox input[type="checkbox"][disabled],
.checkbox-inline input[type="checkbox"][disabled]{
    opacity: .6;
    cursor: not-allowed;
}

/* Si aún existiera algún resto del estado “Sí/No”, lo ocultamos */
.checkbox .check-state{ display: none !important; }

.a-disabled {
    pointer-events: none;
    opacity: 0.5;
}

#left-menu {
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 22.5rem;
    background-color: #19242f;
    box-shadow: inset -5px 5px 18px -5px rgba(0, 0, 0, .8);
    z-index: 5;
    overflow: auto;
}

#left-menu.menu-hidden {
    left: -17.5rem;
    overflow: visible;
}

#main-header #header-controls {
    display: inline-block;
    width: 24rem;
    border-right: 2px solid #eee;
    padding: 0 0 0 0;
}

.glyphicon-menu-hamburger:before {
    padding-right: 1rem;
}

div#header-logo {
    padding-left: 2.5rem;
}


header#encabezado-paxina ul#selector-idiomas-desk {
    margin-left: 75px;
}
#menu-superior, #selector-idiomas-desk {
    float: right;
    padding: 0 !important;
    margin-bottom: 0;
}
#encabezado-paxina #menus-cabeceira-desk {
    padding-right: 40px;
}

#selector-idiomas-desk li {
    display: inline;
}

header#encabezado-paxina ul#selector-idiomas-desk span, header#encabezado-paxina ul#selector-idiomas-desk a {
    padding: 17px 3px;
    font-size: .85em;
}
#selector-idiomas-desk .locale-activo {
    background: rgba(0, 0, 0, 0) url(../images/sobreEncabezado.png) repeat-x scroll center top;
    opacity: 1;
}

#menu-superior, #selector-idiomas {
    float: right;
    padding: 0;
}
