/*input number quitar flechas*/

input[type='number']::-webkit-inner-spin-button,
input[type='number']::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

/*input number quitar flechas*/


/*Footer espacio para el Subvencionado */

.footer-logo-espacio {
    margin-bottom: 30px;
    width: 250px;
    height: auto;
}

.footer-logo-espacio img {
    max-width: 100%;
}

/*Footer espacio para el Subvencionado*/


/*contienecheckbox*/

.contienecheckbox {
    display: flex;
    align-items: center;
    text-align: left;
    margin-bottom: 10px;
}

.labelcheck {
    width: 93%;
    vertical-align: middle;
    margin: 0px;
    display: inline-block;
    font-size: 16px;
    line-height: 18px;
}

/*contienecheckbox*/

/*Loader*/

.ajax-loader {width: 79px; display: none;}
.ajax-result {margin-top:10px;}
.ajax-result .success, .ajax-result .error{clear:both; padding: 10px;border: 1px solid green;font-size: 14px;background: #a9e4a9;color:#000;text-align:center; display:none; }
.ajax-result .error{background: #f98e8e;}
.ajax-result-phone {margin-top:10px;}
.ajax-result-phone .success, .ajax-result-phone .error{clear:both; padding: 10px;border: 1px solid green;font-size: 14px;background: #a9e4a9;color:#000;text-align:center; display: none; }
.ajax-result-phone .error{background: #f98e8e;}
.ajax-result-home {margin-top:10px;}
.ajax-result-home .success, .ajax-result-home .error{clear:both; padding: 10px;border: 1px solid green;font-size: 14px;background: #a9e4a9;color:#000;text-align:center; display:none; }
.ajax-result-home .error{background: #f98e8e;}

.hpxpfck {position: absolute !important;  left: -9999px;  top: -9999px;  height: 0;  width: 0;  overflow: hidden;}

/*Loader*/

/* -----------------------------------
    Resaltar los titulos de los avisos
-------------------------------------*/

.resaltartitulos ul li {
    list-style: disc;
    margin: 15px;
}

.resaltartitulos ul {
    height: auto;
}

.resaltartitulos h1,
.resaltartitulos h2,
.resaltartitulos h3,
.resaltartitulos h4,
.resaltartitulos h5,
.resaltartitulos h6 {
    margin-top: 1.5rem;
    margin-bottom: 1.5rem;
}

/* -----------------------------------
    Resaltar los titulos de los avisos
-------------------------------------*/

/* COMIENZA EL CSS PERSONALIZADO */

.container-mood,
.container-fluid-mood {
    max-width: 1600px;
    width: 96%;
}

.padding-section {
    padding: 80px 0px;
}

.validate-background {
  background-color: #000;
  display: contents;
}

.validate-background {
  background-color: #000;
  display: contents;
}

.mr-1 {
    margin-right: .25rem;
}

.resaltartitulos.legal-notice br{
    display: none;
}

/* MENU */

.navbar-brand {
    margin-right: 0px;
}

.navbar-nav > li > a {
    text-transform: capitalize;
}

.menu_area-light .navbar-nav li.current-menu-item a.a-primary {
    color: #FE7C00;
}

.menu_area-light .navbar-nav li a:hover {
    color: #FE7C00;
}

/* BREADCRUMB */

.page-title-section ul li:last-child {
    color: #FFFFFF;
    opacity: 1;
}

.page-title-section ul li a {
    opacity: 0.80;
}

.page-title-section ul li a:hover {
    color: #FE7C00;
}

.page-title-section ul li:last-child a {
    color: #FFFFFF;
    opacity: 1;
}

.page-title-section ul li:last-child a:hover {
    color: #FE7C00;
    opacity: 1;
}

.banner-content:before {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    content: "";
    background-color: transparent;
    -webkit-transition: all 500ms ease;
    transition: all 500ms ease;
    z-index: -1;
    border-radius: 0.25rem;
}

@keyframes pulseArrowY {
    0% { transform: translateY(0); }
    50% { transform: translateY(15px); }
    100% { transform: translateY(0); }
}

.banner-arrow-down {
    color: #ffffff;
    font-size: 2rem;
    display: inline-block;
    animation: pulseArrowY 4s infinite ease-in-out;
    transition: color 0.3s ease;
}

.banner-arrow-down:hover {
    color: #FE7C00;
}

/* SECCION 1 */

.card-style1 .card-icon img {
    width: 70px;
}

.labelcheck a {
    text-decoration: underline;
}

/* TEMPLATE 1 */

.vision-content h2.text-white {
    font-size: calc(1.3rem + .6vw);
}

/* SECTION 3 */

.accordion-style .btn-link {
    color: #272727;
}

/* FOOTER */

.left-img-block:before {
    right: -17px;
}

footer.footer a {
    color: #FFF;
}

footer.footer a:hover {
    color: #FE7C00;
}

footer.footer ul.social-icon-style1 li a:hover {
    color: #FFF;
}

/* -----------------------------------
    SLIDER DE SERVICIOS — Sección 2
    Usa Owl Carousel (ya incluido en el tema).
    Se muestran 3 items en desktop, 2 en tablet, 1 en móvil.
    Las flechas nativas de Owl se ocultan y se reemplazan
    por botones personalizados posicionados sobre el wrapper.
-------------------------------------*/

/* Contenedor relativo necesario para posicionar las flechas sobre el slider */
.servicios-slider-wrapper {
    position: relative;
    padding: 0 60px; /* Espacio lateral para las flechas */
}

/* Padding inferior para que los dots de Owl no queden pegados al contenido */
/* El padding se aplica al stage-outer (no al owl-carousel) para que Owl
   calcule correctamente el ancho disponible del contenedor. */
.servicios-slider-wrapper .owl-carousel {
    padding-bottom: 0;
}

.servicios-slider-wrapper .owl-stage-outer {
    overflow: hidden;  /* Evita que los items clonados se desborden */
    padding-bottom: 0; /* El espacio para dots se maneja en .owl-dots */
}

/* Override crítico: el tema fuerza width:auto en todas las imágenes
   dentro de .owl-carousel, lo que colapsa las tarjetas del slider.
   Se restablece a width:100% solo dentro del slider de servicios. */
.servicios-slider-wrapper .owl-carousel .owl-item .card-image img {
    width: 100%;
    display: block !important;
}

/* Cada ítem del slider: sin padding lateral propio para que Owl calcule
   correctamente el ancho disponible por item. El gap entre tarjetas
   se gestiona con margin:24 en la configuración de owlCarousel() */
.servicios-slider__item {
    padding: 10px 0;
}

/* ---- Dots de Owl Carousel ---- */
/* margin-top crea el espacio entre las tarjetas y los indicadores */
.servicios-slider-wrapper .owl-dots {
    text-align: center;
    margin-top: 24px;
}

.servicios-slider-wrapper .owl-dot span {
    background: #d0d0d0 !important;
    width: 10px !important;
    height: 10px !important;
    margin: 0 5px !important;
    border-radius: 50% !important;
    transition: background 0.3s ease, transform 0.3s ease;
}

.servicios-slider-wrapper .owl-dot.active span,
.servicios-slider-wrapper .owl-dot:hover span {
    background: #FE7C00 !important;
    transform: scale(1.3);
}

/* Ocultar flechas nativas de Owl para usar las propias */
.servicios-slider-wrapper .owl-nav {
    display: none !important;
}

/* ---- Flechas de navegación personalizadas ---- */
/* Botón base: centrado verticalmente sobre el slider, excluyendo el área de dots */
.servicios-slider__nav {
    position: absolute;
    top: calc(50% - 25px); /* Ajuste visual para no contar el área de dots */
    transform: translateY(-50%);
    width: 46px;
    height: 46px;
    border-radius: 50%;
    background-color: #ffffff;
    border: 2px solid #e0e0e0;
    color: #272727;
    font-size: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    z-index: 10;
    transition: background-color 0.3s ease, border-color 0.3s ease, color 0.3s ease, box-shadow 0.3s ease;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.servicios-slider__nav:hover {
    background-color: #FE7C00;
    border-color: #FE7C00;
    color: #ffffff;
    box-shadow: 0 4px 15px rgba(254, 124, 0, 0.35);
}

/* Posición flecha anterior (izquierda) */
.servicios-slider__nav--prev {
    left: 0;
}

/* Posición flecha siguiente (derecha) */
.servicios-slider__nav--next {
    right: 0;
}

/* TERMINA EL CSS PERSONALIZADO */


/********************************************************************************************************************************
****************************************************** FOCUS PARAMETERS ********************************************************* 
*********************************************************************************************************************************/
input:focus,
textarea:focus {
    outline: 2px solid white !important;
}

*:focus-visible,
a:focus-visible img,
a:focus-visible,
a:focus-visible h2,
a:focus-visible h3 {
    outline: 4px dashed darkorange !important;
}

a.AccessibilityLinkFirstLevelWithMenu+.AccessibilityDropDownMenu[aria-expanded="true"] {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
}

/* -----------------------------------
    Estilos para la seccion de videos
-------------------------------------*/

/* Clase general para centrar los videos cuando hay menos de 3 columnas (col-4) */
.center-videos-row {
    justify-content: center;
}

.video-wrapper video,
.video-wrapper iframe {
    width: 100%;
    border-radius: 10px;
    box-shadow: 0 5px 15px rgba(0,0,0,0.1);
}

/* -----------------------------------
    Filtro de Portafolio
-------------------------------------*/
.portfolio-filter {
    margin-bottom: 30px;
}

.portfolio-filter .btn-filter {
    background: transparent;
    border: 2px solid #272727;
    color: #272727;
    padding: 8px 24px;
    margin: 5px;
    border-radius: 30px;
    font-weight: 600;
    text-transform: uppercase;
    font-size: 14px;
    transition: all 0.3s ease;
    cursor: pointer;
    outline: none;
}

.portfolio-filter .btn-filter:hover,
.portfolio-filter .btn-filter.active {
    color: #FFF;
    background-color: #FE7C00;
    border-color: #FE7C00;
    box-shadow: 0px 5px 15px rgba(254, 124, 0, 0.3);
}