/* Lightweight hero slider for the home page — full-bleed, caption-less, mirrors live site look. */
.header_rev_slider_container{
  width:100% !important;
  height:auto !important;
  min-height:auto !important;
  overflow:visible !important;
  display:block !important;
}
.hero-slider{
  position:relative;
  width:100vw;
  margin-left:calc(50% - 50vw);
  margin-right:calc(50% - 50vw);
  aspect-ratio:1920/720;
  overflow:hidden;
  background:#0b1f15;
}
.hero-slider__track{
  position:absolute;inset:0;
  display:flex;
  transition:transform .8s cubic-bezier(.4,.2,.2,1);
  will-change:transform;
}
.hero-slider__slide{flex:0 0 100%;position:relative}
.hero-slider__slide img{
  position:absolute;inset:0;
  width:100%;height:100%;
  object-fit:cover;object-position:center;display:block;
}
.hero-slider__caption{display:none !important}
.hero-slider__arrow{
  position:absolute;top:50%;transform:translateY(-50%);
  width:44px;height:44px;border-radius:50%;
  background:rgba(0,0,0,.35);color:#fff;border:0;
  display:flex;align-items:center;justify-content:center;
  cursor:pointer;z-index:3;font-size:22px;line-height:1;
  transition:background .2s,opacity .2s;opacity:0;
}
.hero-slider:hover .hero-slider__arrow,
.hero-slider:focus-within .hero-slider__arrow{opacity:1}
.hero-slider__arrow:hover{background:#f8c300;color:#193d2b}
.hero-slider__arrow--prev{left:18px}
.hero-slider__arrow--next{right:18px}
.hero-slider__dots{
  position:absolute;left:0;right:0;bottom:14px;
  display:flex;justify-content:center;gap:8px;z-index:3;
}
.hero-slider__dot{
  width:10px;height:10px;border-radius:50%;
  background:rgba(255,255,255,.55);border:0;cursor:pointer;
  transition:background .2s,transform .2s;
  box-shadow:0 0 2px rgba(0,0,0,.4);
}
.hero-slider__dot[aria-current="true"]{background:#f8c300;transform:scale(1.3)}

@media (max-width:1200px){ .hero-slider{aspect-ratio:16/9} }
@media (max-width:768px){
  .hero-slider{aspect-ratio:16/10}
  .hero-slider__arrow{width:38px;height:38px;font-size:18px;opacity:1;background:rgba(0,0,0,.45)}
}
@media (max-width:480px){ .hero-slider{aspect-ratio:4/3} }

/* --- Fix legacy theme: parallax full-width block leaves .container un-centered, pushing inner columns offscreen left. --- */
.parallax_parent .container,
.parallax_scroll .container,
.fullwidth_element .container{margin-left:auto !important;margin-right:auto !important}

/* Cancel VC full-width breakout for .fullwidth_element so its inner columns stay aligned with the page container. */
.fullwidth_element > .wpb_column.vc_col-sm-12{margin-left:0 !important;margin-right:0 !important;width:100% !important;max-width:100% !important}
.fullwidth_element .parallax_parent,
.fullwidth_element .parallax_scroll{width:100% !important;max-width:100% !important;margin-left:auto !important;margin-right:auto !important;left:0 !important}
.fullwidth_element .padding-vertical-10,
.fullwidth_element .overlay{margin-left:auto !important;margin-right:auto !important}

/* === HERO STATIC (single fixed image) === */
.hero-static{
  position:relative;
  width:100vw;
  margin-left:calc(50% - 50vw);
  margin-right:calc(50% - 50vw);
  aspect-ratio:1920/720;
  overflow:hidden;
  background:#0b1f15;
  display:block;
}
.hero-static img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  display:block;
  filter:saturate(1.05) contrast(1.04);
}
@media (max-width: 991px){ .hero-static{ aspect-ratio:16/9; } }
@media (max-width: 600px){ .hero-static{ aspect-ratio:4/3; } }

/* === PARALLAX SECTION (services row) — use background-image directly,
       since lazy-loader JS is removed in this static export. === */
.parallax_scroll.lazy-loading-background-image[data-src*="fondopararllax"]{
  background-image: url('/wp-content/uploads/fondopararllax.jpg');
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  background-attachment: fixed;
}
@media (max-width: 991px){
  .parallax_scroll.lazy-loading-background-image[data-src*="fondopararllax"]{
    background-attachment: scroll;
  }
}

/* Full-bleed for the parallax services band */
.fullwidth_element .parallax_parent,
.fullwidth_element .parallax_scroll{
  width:100vw !important;
  max-width:100vw !important;
  margin-left:calc(50% - 50vw) !important;
  margin-right:calc(50% - 50vw) !important;
  left:0 !important;
}
.fullwidth_element .parallax_scroll > .overlay > .padding-vertical-10 > .container{
  max-width:1170px;
  margin-left:auto !important;
  margin-right:auto !important;
}
