/* Interactive replacements only. The original site styles remain authoritative. */
.replica-carousel { position: relative; }
.replica-carousel .nivo-main-image { display: block !important; position: relative !important; width: 100%; height: auto; }
.replica-carousel .nivoSlider { overflow: visible; }
.replica-carousel .nivo-directionNav button { position: absolute; top: 45%; z-index: 8; cursor: pointer; }
.theme-default .nivo-directionNav button { display: block; width: 30px; height: 30px; background: url('/legacy/images/arrows.png') no-repeat; text-indent: -9999px; border: 0; padding: 0; }
.theme-default button.nivo-nextNav { background-position: -30px 0; right: 15px; }
.theme-default button.nivo-prevNav { left: 15px; }
.theme-default .nivo-controlNav button { display: block; width: 22px; height: 22px; background: url('/legacy/images/bullets.png') no-repeat; text-indent: -9999px; border: 0; margin-right: 3px; padding: 0; float: left; cursor: pointer; }
.theme-default .nivo-controlNav button.active { background-position: 0 -22px; }
.replica-carousel-mobile, .replica-carousel-gallery { overflow: hidden; }
.replica-carousel-mobile .replica-slide, .replica-carousel-gallery .replica-slide { position: relative; }
.replica-carousel-mobile .nivo-controlNav, .replica-carousel-gallery .nivo-controlNav { position: absolute; bottom: 10px; display: flex; justify-content: center; gap: 7px; width: 100%; }
.replica-carousel-mobile .nivo-controlNav button, .replica-carousel-gallery .nivo-controlNav button { width: 10px; height: 10px; border-radius: 50%; border: 1px solid white; padding: 0; background: #777; font-size: 0; cursor: pointer; }
.replica-carousel-mobile .nivo-controlNav button.active, .replica-carousel-gallery .nivo-controlNav button.active { background: #258859; }
.replica-carousel-mobile .nivo-directionNav button, .replica-carousel-gallery .nivo-directionNav button { border: 0; background: #0007; color: white; padding: 5px; font-size: 11px; }
.replica-carousel-mobile .nivo-nextNav, .replica-carousel-gallery .nivo-nextNav { right: 0; }
.replica-carousel-mobile .nivo-prevNav, .replica-carousel-gallery .nivo-prevNav { left: 0; }
.simply-scroll-container .banners { display: flex; flex-wrap: nowrap; width: max-content; animation: clients-scroll 65s linear infinite; }
.simply-scroll-container .banners li { flex: 0 0 auto; }
.simply-scroll-container:hover .banners { animation-play-state: paused; }
@keyframes clients-scroll { 0%, 8% { transform: translateX(0); } 90%, 100% { transform: translateX(calc(-100% + 630px)); } }
.replica-lightbox { max-width: 95vw; max-height: 95vh; padding: 15px; border: 0; border-radius: 4px; box-shadow: 0 0 15px #333; }
.replica-lightbox::backdrop { background: #000b; }
.replica-lightbox img { display: block; max-width: 85vw; max-height: 80vh; }
.replica-lightbox button { position: absolute; right: 1px; top: 0; border: 0; background: white; border-radius: 50%; width: 28px; height: 28px; font-size: 24px; line-height: 20px; cursor: pointer; }
.static-map { width: 100%; height: 100%; object-fit: cover; }
.contact-notice { color: inherit; margin-top: 12px; }
.object-non-visible { opacity: 1 !important; }
.replica-service-modal { border: 0; background: transparent; width: 100%; max-width: none; height: 100%; max-height: none; margin: 0; padding: 0; }
.replica-service-modal:not([open]) { display: none; }
.replica-service-modal[open] { display: block; }
.replica-service-modal::backdrop { background: #0008; }
.static-not-found { max-width: 800px; margin: 60px auto; padding: 30px; font-family: Arial, sans-serif; color: #258859; }
.static-not-found img { max-width: 280px; }
button:focus-visible, a:focus-visible { outline: 2px solid #258859; outline-offset: 3px; }
@media (prefers-reduced-motion: reduce) { .simply-scroll-container .banners { animation: none; } }
/* Clear the legacy floated legal article so its footer stays below the text. */
#content { display: flow-root; }
/* Preserve the original company page's equal-height column spacing. */
#page6 #content { min-height: 1163px; }
.theme-default .nivo-controlNav button, .theme-default .nivo-directionNav button { box-shadow: none; border-radius: 0; }
.replica-carousel-desktop .nivo-directionNav { opacity: 0; }
.replica-carousel-desktop:hover .nivo-directionNav, .replica-carousel-desktop:focus-within .nivo-directionNav { opacity: 1; }
.boxed #nosotros > .container > .row > .col-md-8 { overflow-x: auto; }
.replica-carousel-mobile .replica-slide { aspect-ratio: 1140 / 450; }
.replica-carousel-mobile .nivo-main-image { height: 100%; object-fit: cover; object-position: center top; }
.replica-carousel-gallery .replica-slide { aspect-ratio: 2; }
.replica-carousel-gallery .nivo-main-image { height: 100%; object-fit: cover; }
.replica-carousel-mobile .nivo-directionNav, .replica-carousel-gallery .nivo-directionNav { opacity: 0; }
.replica-carousel-mobile:hover .nivo-directionNav, .replica-carousel-mobile:focus-within .nivo-directionNav,
.replica-carousel-gallery:hover .nivo-directionNav, .replica-carousel-gallery:focus-within .nivo-directionNav { opacity: 1; }
.replica-carousel-gallery .nivo-controlNav { display: none; }
.replica-carousel-gallery .replica-slide { min-height: 200px; }
/* The HTTPS mobile site displays its sans-serif fallback because the original
   Roboto/Raleway CSS links use blocked HTTP. Preserve that visible typography. */
body.boxed, .boxed h1, .boxed h2, .boxed h3, .boxed h4, .boxed h5, .boxed h6,
.boxed .navbar .navbar-nav { font-family: sans-serif; }
