.ibs-tpe-gallery{position:relative;width:100%;max-width:100%;overflow:hidden;container-type:inline-size}.ibs-tpe-gallery *{box-sizing:border-box}.ibs-tpe-gallery figure{margin:0}.ibs-tpe-gallery picture{display:block;width:100%;height:100%}.ibs-tpe-gallery img{display:block;width:100%;height:100%;object-fit:cover;object-position:var(--ibs-object-position,50% 50%)}.ibs-tpe-gallery figcaption{font-size:13px;line-height:1.35;padding:7px 8px;background:#fff;color:#333}.ibs-tpe-grid .ibs-tpe-track{display:grid;grid-template-columns:repeat(var(--ibs-grid-cols),minmax(0,1fr));gap:10px}.ibs-tpe-grid .ibs-tpe-item{min-height:0;aspect-ratio:4/3;overflow:hidden;border-radius:6px}.ibs-tpe-mosaic .ibs-tpe-track{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:minmax(90px,1fr);gap:10px}.ibs-tpe-mosaic.ibs-tpe-count-5 .ibs-tpe-track{grid-template-rows:repeat(2,minmax(0,1fr));aspect-ratio:16/9}.ibs-tpe-mosaic.ibs-tpe-count-7 .ibs-tpe-track{grid-template-rows:repeat(3,minmax(0,1fr));aspect-ratio:4/3}.ibs-tpe-mosaic .ibs-tpe-item{overflow:hidden;border-radius:6px}.ibs-tpe-mosaic .ibs-tpe-item:first-child{grid-column:span 2;grid-row:span 2}.ibs-tpe-carousel .ibs-tpe-track,.ibs-tpe-slideshow .ibs-tpe-track{display:flex;transition:transform .45s ease;will-change:transform}.ibs-tpe-carousel .ibs-tpe-item,.ibs-tpe-slideshow .ibs-tpe-item{min-width:100%;height:clamp(240px,58cqw,520px);overflow:hidden}.ibs-tpe-size-fill{height:100%;min-height:220px}.ibs-tpe-size-fill>.ibs-tpe-track{height:100%;aspect-ratio:auto!important}.ibs-tpe-size-fill.ibs-tpe-mosaic>.ibs-tpe-track{grid-template-rows:repeat(2,minmax(0,1fr))}.ibs-tpe-size-fill.ibs-tpe-count-7>.ibs-tpe-track{grid-template-rows:repeat(3,minmax(0,1fr))}.ibs-tpe-size-fill.ibs-tpe-carousel .ibs-tpe-item,.ibs-tpe-size-fill.ibs-tpe-slideshow .ibs-tpe-item{height:100%}.ibs-tpe-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:4;width:38px;height:38px;border:0;border-radius:50%;background:rgba(255,255,255,.92);color:#1d5d3c;font-size:22px;line-height:1;box-shadow:0 2px 10px rgba(0,0,0,.18);cursor:pointer}.ibs-tpe-prev{left:10px}.ibs-tpe-next{right:10px}.ibs-tpe-dots{position:absolute;left:0;right:0;bottom:10px;text-align:center;z-index:4}.ibs-tpe-dot{width:9px;height:9px;border:0;border-radius:50%;margin:0 4px;background:rgba(255,255,255,.65);box-shadow:0 1px 4px rgba(0,0,0,.28);cursor:pointer}.ibs-tpe-dot.is-active{background:#1f7a50}.ibs-tpe-lightbox{position:fixed;inset:0;z-index:999999;background:rgba(0,0,0,.88);display:none;align-items:center;justify-content:center;padding:30px}.ibs-tpe-lightbox.is-open{display:flex}.ibs-tpe-lightbox img{max-width:min(1200px,92vw);max-height:84vh;object-fit:contain}.ibs-tpe-lightbox-caption{position:absolute;bottom:12px;left:50%;transform:translateX(-50%);color:#fff;background:rgba(0,0,0,.45);padding:7px 12px;border-radius:4px;max-width:88vw;text-align:center}.ibs-tpe-lb-close,.ibs-tpe-lb-prev,.ibs-tpe-lb-next{position:absolute;border:0;background:rgba(255,255,255,.14);color:#fff;cursor:pointer}.ibs-tpe-lb-close{top:14px;right:18px;font-size:32px;width:44px;height:44px;border-radius:50%}.ibs-tpe-lb-prev,.ibs-tpe-lb-next{top:50%;transform:translateY(-50%);font-size:34px;width:48px;height:64px;border-radius:6px}.ibs-tpe-lb-prev{left:16px}.ibs-tpe-lb-next{right:16px}
@container (max-width:520px){.ibs-tpe-grid .ibs-tpe-track,.ibs-tpe-mosaic .ibs-tpe-track{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:none;grid-auto-rows:auto;gap:8px;transform:none!important;transition:none!important;will-change:auto;aspect-ratio:auto!important;height:auto!important}.ibs-tpe-grid .ibs-tpe-item,.ibs-tpe-mosaic .ibs-tpe-item{min-width:0;min-height:0;height:auto;aspect-ratio:1/1;overflow:hidden;border-radius:6px}.ibs-tpe-grid .ibs-tpe-item:first-child,.ibs-tpe-mosaic .ibs-tpe-item:first-child{grid-column:span 2;grid-row:auto;aspect-ratio:16/9}.ibs-tpe-size-fill{height:auto;min-height:0}}
@media(max-width:767px){.ibs-tpe-lightbox{padding:16px}.ibs-tpe-lb-prev{left:4px}.ibs-tpe-lb-next{right:4px}}


/* IBS Gallery image protection */
.ibs-tpe-protection-standard img,.ibs-tpe-protection-protected img,.ibs-tpe-protection-high img{-webkit-user-drag:none;user-drag:none;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}
.ibs-tpe-protection-standard,.ibs-tpe-protection-protected,.ibs-tpe-protection-high{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}
.ibs-tpe-item{position:relative}
.ibs-tpe-watermark{position:absolute;inset:0;z-index:3;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(3,minmax(0,1fr));align-items:center;justify-items:center;overflow:hidden;pointer-events:none;opacity:var(--ibs-watermark-opacity,.14)}
.ibs-tpe-watermark span{display:block;color:#fff;font-size:clamp(10px,1.25cqw,15px);font-weight:700;letter-spacing:.02em;text-shadow:0 1px 3px rgba(0,0,0,.72);white-space:nowrap;transform:rotate(-24deg)}
.ibs-tpe-lb-image-wrap{position:relative;display:flex;align-items:center;justify-content:center;max-width:92vw;max-height:84vh}
.ibs-tpe-lb-image-wrap>img{max-width:min(1200px,92vw);max-height:84vh;object-fit:contain;display:block}
.ibs-tpe-lightbox-watermark{z-index:2}
.ibs-tpe-lightbox-watermark span{font-size:clamp(11px,1.25vw,18px)}
@media(max-width:767px){.ibs-tpe-watermark span{font-size:9px}.ibs-tpe-lightbox-watermark span{font-size:10px}}
@media print{.ibs-tpe-protection-standard img,.ibs-tpe-protection-protected img,.ibs-tpe-protection-high img{visibility:hidden!important}.ibs-tpe-protection-standard::after,.ibs-tpe-protection-protected::after,.ibs-tpe-protection-high::after{content:'IBS Gallery image protected';display:block;padding:18px;border:1px solid #bbb;text-align:center}}


/* v1.0.10 Classic 1 + 5: tuned replacement for the current Modula gallery.
   Rail is slightly wider and the total height is reduced to align more closely with the Cost Excludes column. */
.ibs-tpe-classic-1-5 .ibs-tpe-track{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,1fr);grid-template-rows:repeat(5,minmax(0,1fr));column-gap:clamp(3px,.80cqw,5px);row-gap:clamp(2px,.65cqw,4px);aspect-ratio:295/230;width:100%;height:auto}
.ibs-tpe-classic-1-5 .ibs-tpe-item{min-width:0;min-height:0;overflow:hidden;border:1px solid #86bd3f;border-radius:0}
.ibs-tpe-classic-1-5 .ibs-tpe-item:first-child{grid-column:1;grid-row:1/6}
.ibs-tpe-classic-1-5 .ibs-tpe-item:nth-child(2){grid-column:2;grid-row:1}.ibs-tpe-classic-1-5 .ibs-tpe-item:nth-child(3){grid-column:2;grid-row:2}.ibs-tpe-classic-1-5 .ibs-tpe-item:nth-child(4){grid-column:2;grid-row:3}.ibs-tpe-classic-1-5 .ibs-tpe-item:nth-child(5){grid-column:2;grid-row:4}.ibs-tpe-classic-1-5 .ibs-tpe-item:nth-child(6){grid-column:2;grid-row:5}
.ibs-tpe-classic-1-5 figcaption{display:none}
.ibs-tpe-size-fill.ibs-tpe-classic-1-5{height:100%;min-height:220px}.ibs-tpe-size-fill.ibs-tpe-classic-1-5>.ibs-tpe-track{height:100%;aspect-ratio:auto}
@container (max-width:520px){
  .ibs-tpe-classic-1-5 .ibs-tpe-track{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:none;grid-auto-rows:auto;gap:8px;aspect-ratio:auto;height:auto}
  .ibs-tpe-classic-1-5 .ibs-tpe-item{grid-column:auto!important;grid-row:auto!important;height:auto;aspect-ratio:1/1}
  .ibs-tpe-classic-1-5 .ibs-tpe-item:first-child{grid-column:span 2!important;aspect-ratio:4/3}
  .ibs-tpe-classic-1-5 .ibs-tpe-item:nth-child(6){grid-column:span 2!important;aspect-ratio:16/9}
  .ibs-tpe-size-fill.ibs-tpe-classic-1-5{height:auto;min-height:0}
}


/* v1.0.9 Elementor-safe hardening. These rules intentionally use !important because
   Elementor/theme widget CSS can otherwise override shortcode layout in the editor iframe. */
.ibs-tpe-gallery.ibs-tpe-classic-1-5{display:block!important;width:100%!important;max-width:100%!important;overflow:hidden!important;container-type:inline-size!important}
.ibs-tpe-gallery.ibs-tpe-classic-1-5>.ibs-tpe-track{display:grid!important;grid-template-columns:minmax(0,5fr) minmax(0,1fr)!important;grid-template-rows:repeat(5,minmax(0,1fr))!important;column-gap:clamp(3px,.80cqw,5px)!important;row-gap:clamp(2px,.65cqw,4px)!important;aspect-ratio:295/230!important;width:100%!important;height:auto!important;align-items:stretch!important}
.ibs-tpe-gallery.ibs-tpe-classic-1-5 .ibs-tpe-item{display:block!important;position:relative!important;min-width:0!important;min-height:0!important;width:auto!important;height:auto!important;margin:0!important;padding:0!important;overflow:hidden!important;border:1px solid #86bd3f!important;border-radius:0!important}
.ibs-tpe-gallery.ibs-tpe-classic-1-5 .ibs-tpe-item:first-child{grid-column:1!important;grid-row:1/6!important}
.ibs-tpe-gallery.ibs-tpe-classic-1-5 .ibs-tpe-item:nth-child(2){grid-column:2!important;grid-row:1!important}.ibs-tpe-gallery.ibs-tpe-classic-1-5 .ibs-tpe-item:nth-child(3){grid-column:2!important;grid-row:2!important}.ibs-tpe-gallery.ibs-tpe-classic-1-5 .ibs-tpe-item:nth-child(4){grid-column:2!important;grid-row:3!important}.ibs-tpe-gallery.ibs-tpe-classic-1-5 .ibs-tpe-item:nth-child(5){grid-column:2!important;grid-row:4!important}.ibs-tpe-gallery.ibs-tpe-classic-1-5 .ibs-tpe-item:nth-child(6){grid-column:2!important;grid-row:5!important}
.ibs-tpe-gallery.ibs-tpe-classic-1-5 picture{display:block!important;width:100%!important;height:100%!important;margin:0!important;padding:0!important}
.ibs-tpe-gallery.ibs-tpe-classic-1-5 img{display:block!important;width:100%!important;height:100%!important;min-width:100%!important;min-height:100%!important;max-width:none!important;object-fit:cover!important;object-position:var(--ibs-object-position,50% 50%)!important;margin:0!important;padding:0!important}
.ibs-tpe-gallery.ibs-tpe-classic-1-5 figcaption{display:none!important}
@container (max-width:520px){
 .ibs-tpe-gallery.ibs-tpe-classic-1-5>.ibs-tpe-track{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-template-rows:none!important;grid-auto-rows:auto!important;gap:8px!important;aspect-ratio:auto!important;height:auto!important}
 .ibs-tpe-gallery.ibs-tpe-classic-1-5 .ibs-tpe-item{grid-column:auto!important;grid-row:auto!important;height:auto!important;aspect-ratio:1/1!important}
 .ibs-tpe-gallery.ibs-tpe-classic-1-5 .ibs-tpe-item:first-child{grid-column:span 2!important;grid-row:auto!important;aspect-ratio:4/3!important}
 .ibs-tpe-gallery.ibs-tpe-classic-1-5 .ibs-tpe-item:nth-child(6){grid-column:span 2!important;grid-row:auto!important;aspect-ratio:16/9!important}
}

/* v1.0.10 Classic thumbnail selector affordance. */
.ibs-tpe-gallery.ibs-tpe-classic-1-5 .ibs-tpe-item:not(:first-child){cursor:pointer!important}
.ibs-tpe-gallery.ibs-tpe-classic-1-5 .ibs-tpe-item:not(:first-child):hover{outline:2px solid rgba(134,189,63,.75);outline-offset:-2px}


/* v1.0.11 Subtle coordinated framing for the IBS gallery and adjacent Cost Includes/Excludes bodies.
   Uses shadow/outline-style framing so dimensions and alignment do not change. */
.ibs-tpe-gallery{border-radius:4px;box-shadow:0 0 0 1px #b8d99a}
.ibs-tpe-cost-card-body>.elementor-widget-container{outline:1px solid #b8d99a;outline-offset:-1px;border-radius:0 0 4px 4px}

/* v1.0.17 — plugin carousels remain true carousels on every breakpoint.
   They no longer fall back to Elementor-style/static tiles on phones. */
.ibs-tpe-gallery.ibs-tpe-carousel,.ibs-tpe-gallery.ibs-tpe-slideshow{overflow:hidden!important}
.ibs-tpe-gallery.ibs-tpe-carousel>.ibs-tpe-track,.ibs-tpe-gallery.ibs-tpe-slideshow>.ibs-tpe-track{display:flex!important;grid-template-columns:none!important;grid-template-rows:none!important;gap:0!important;transition:transform .42s ease!important;will-change:transform!important;touch-action:pan-y pinch-zoom}
.ibs-tpe-gallery.ibs-tpe-carousel .ibs-tpe-item,.ibs-tpe-gallery.ibs-tpe-slideshow .ibs-tpe-item{display:block!important;flex:0 0 100%!important;min-width:100%!important;width:100%!important;height:auto!important;aspect-ratio:16/9!important;overflow:hidden!important;border-radius:4px!important}
.ibs-tpe-gallery.ibs-tpe-carousel .ibs-tpe-item img,.ibs-tpe-gallery.ibs-tpe-slideshow .ibs-tpe-item img{width:100%!important;height:100%!important;object-fit:cover!important}
.ibs-tpe-gallery.ibs-tpe-carousel>.ibs-tpe-nav,.ibs-tpe-gallery.ibs-tpe-slideshow>.ibs-tpe-nav{display:block!important}
.ibs-tpe-gallery.ibs-tpe-carousel>.ibs-tpe-dots,.ibs-tpe-gallery.ibs-tpe-slideshow>.ibs-tpe-dots{display:block!important}
@media(max-width:767px){
 .ibs-tpe-gallery.ibs-tpe-carousel .ibs-tpe-item,.ibs-tpe-gallery.ibs-tpe-slideshow .ibs-tpe-item{aspect-ratio:4/3!important}
 .ibs-tpe-gallery.ibs-tpe-carousel>.ibs-tpe-nav,.ibs-tpe-gallery.ibs-tpe-slideshow>.ibs-tpe-nav{width:36px!important;height:36px!important;font-size:20px!important}
}

/* v1.0.19 authoritative Classic 1+5 controller styles.
   Desktop/tablet = fixed 1+5 hero + rail; true mobile = native scroll-snap slider. */
@media (min-width:768px){
  .ibs-tpe-gallery.ibs-tpe-classic-1-5{overflow:hidden!important}
  .ibs-tpe-gallery.ibs-tpe-classic-1-5>.ibs-tpe-track{
    display:grid!important;
    grid-template-columns:minmax(0,5fr) minmax(0,1fr)!important;
    grid-template-rows:repeat(5,minmax(0,1fr))!important;
    column-gap:clamp(3px,.80cqw,5px)!important;
    row-gap:clamp(2px,.65cqw,4px)!important;
    width:100%!important;
    height:auto!important;
    aspect-ratio:295/230!important;
    overflow:hidden!important;
    align-items:stretch!important;
  }
  .ibs-tpe-gallery.ibs-tpe-classic-1-5 .ibs-tpe-item{
    display:block!important;
    position:relative!important;
    min-width:0!important;
    min-height:0!important;
    width:auto!important;
    height:auto!important;
    margin:0!important;
    padding:0!important;
    overflow:hidden!important;
    border:1px solid #86bd3f!important;
    border-radius:0!important;
  }
  .ibs-tpe-gallery.ibs-tpe-classic-1-5 .ibs-tpe-item:first-child{grid-column:1!important;grid-row:1/6!important}
  .ibs-tpe-gallery.ibs-tpe-classic-1-5 .ibs-tpe-item:nth-child(2){grid-column:2!important;grid-row:1!important}
  .ibs-tpe-gallery.ibs-tpe-classic-1-5 .ibs-tpe-item:nth-child(3){grid-column:2!important;grid-row:2!important}
  .ibs-tpe-gallery.ibs-tpe-classic-1-5 .ibs-tpe-item:nth-child(4){grid-column:2!important;grid-row:3!important}
  .ibs-tpe-gallery.ibs-tpe-classic-1-5 .ibs-tpe-item:nth-child(5){grid-column:2!important;grid-row:4!important}
  .ibs-tpe-gallery.ibs-tpe-classic-1-5 .ibs-tpe-item:nth-child(6){grid-column:2!important;grid-row:5!important}
  .ibs-tpe-gallery.ibs-tpe-classic-1-5 .ibs-tpe-item>picture,
  .ibs-tpe-gallery.ibs-tpe-classic-1-5 .ibs-tpe-item>img{
    display:block!important;
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:0!important;
  }
  .ibs-tpe-gallery.ibs-tpe-classic-1-5 .ibs-tpe-item>picture>img{
    display:block!important;
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:0!important;
    object-fit:cover!important;
    object-position:var(--ibs-object-position,50% 50%)!important;
  }
}

@media (max-width:767px){
  .ibs-tpe-gallery.ibs-tpe-classic-1-5{overflow:hidden!important;padding-bottom:0!important}
  .ibs-tpe-gallery.ibs-tpe-classic-1-5>.ibs-tpe-track{
    display:flex!important;
    grid-template-columns:none!important;
    grid-template-rows:none!important;
    grid-auto-rows:auto!important;
    gap:0!important;
    width:100%!important;
    height:auto!important;
    aspect-ratio:auto!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    scroll-snap-type:x mandatory!important;
    scroll-behavior:smooth!important;
    -webkit-overflow-scrolling:touch!important;
    touch-action:pan-x pan-y pinch-zoom!important;
    transform:none!important;
    transition:none!important;
    will-change:auto!important;
    scrollbar-width:none!important;
  }
  .ibs-tpe-gallery.ibs-tpe-classic-1-5>.ibs-tpe-track::-webkit-scrollbar{display:none!important;width:0!important;height:0!important}
  .ibs-tpe-gallery.ibs-tpe-classic-1-5 .ibs-tpe-item,
  .ibs-tpe-gallery.ibs-tpe-classic-1-5 .ibs-tpe-item:first-child,
  .ibs-tpe-gallery.ibs-tpe-classic-1-5 .ibs-tpe-item:nth-child(6){
    display:block!important;
    position:relative!important;
    flex:0 0 100%!important;
    min-width:100%!important;
    width:100%!important;
    max-width:100%!important;
    height:auto!important;
    aspect-ratio:4/3!important;
    grid-column:auto!important;
    grid-row:auto!important;
    margin:0!important;
    padding:0!important;
    overflow:hidden!important;
    border:1px solid #86bd3f!important;
    scroll-snap-align:start!important;
    scroll-snap-stop:always!important;
  }
  .ibs-tpe-gallery.ibs-tpe-classic-1-5 .ibs-tpe-item>picture,
  .ibs-tpe-gallery.ibs-tpe-classic-1-5 .ibs-tpe-item>img{
    display:block!important;
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:0!important;
  }
  .ibs-tpe-gallery.ibs-tpe-classic-1-5 .ibs-tpe-item>picture>img{
    display:block!important;
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:0!important;
    object-fit:cover!important;
    object-position:var(--ibs-object-position,50% 50%)!important;
  }
  .ibs-tpe-gallery.ibs-tpe-classic-1-5.ibs-tpe-mobile-slider>.ibs-tpe-nav{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    top:50%!important;
    width:38px!important;
    height:38px!important;
    min-width:38px!important;
    min-height:38px!important;
    margin:0!important;
    padding:0!important;
    transform:translateY(-50%)!important;
    border:1px solid rgba(255,255,255,.72)!important;
    border-radius:999px!important;
    background:rgba(10,14,12,.62)!important;
    color:#fff!important;
    box-shadow:0 3px 12px rgba(0,0,0,.28)!important;
    font-size:22px!important;
    line-height:1!important;
    z-index:7!important;
  }
  .ibs-tpe-gallery.ibs-tpe-classic-1-5.ibs-tpe-mobile-slider>.ibs-tpe-prev{left:8px!important}
  .ibs-tpe-gallery.ibs-tpe-classic-1-5.ibs-tpe-mobile-slider>.ibs-tpe-next{right:8px!important}
  .ibs-tpe-gallery.ibs-tpe-classic-1-5.ibs-tpe-mobile-slider>.ibs-tpe-dots{
    display:block!important;
    position:static!important;
    padding:9px 4px 6px!important;
    background:#fff!important;
    text-align:center!important;
    line-height:1!important;
  }
  .ibs-tpe-gallery.ibs-tpe-classic-1-5.ibs-tpe-mobile-slider .ibs-tpe-dot{
    width:9px!important;height:9px!important;margin:0 4px!important;padding:0!important;border:0!important;border-radius:50%!important;
    background:#c8c8c8!important;box-shadow:none!important;
  }
  .ibs-tpe-gallery.ibs-tpe-classic-1-5.ibs-tpe-mobile-slider .ibs-tpe-dot.is-active{background:#1f7a50!important}
  .ibs-tpe-gallery.ibs-tpe-classic-1-5.ibs-tpe-mobile-slider>.ibs-tpe-counter{
    position:absolute!important;right:8px!important;bottom:33px!important;z-index:8!important;
    padding:3px 7px!important;border-radius:10px!important;background:rgba(0,0,0,.58)!important;color:#fff!important;font-size:11px!important;line-height:1.2!important;
  }
}

/* v1.0.18 authoritative lightbox. Every source image is contained inside the same stage. */
html.ibs-tpe-lightbox-open,
body.ibs-tpe-lightbox-open{overflow:hidden!important;overscroll-behavior:none!important}

.ibs-tpe-runtime-lightbox{
  position:fixed!important;
  inset:0!important;
  z-index:1000000!important;
  display:none!important;
  align-items:center!important;
  justify-content:center!important;
  box-sizing:border-box!important;
  width:100vw!important;
  height:100vh!important;
  height:100dvh!important;
  margin:0!important;
  padding:24px 68px!important;
  overflow:hidden!important;
  overscroll-behavior:none!important;
  background:rgba(5,8,7,.94)!important;
}
.ibs-tpe-runtime-lightbox.is-open{display:flex!important}

.ibs-tpe-runtime-lb-stage{
  position:relative!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  box-sizing:border-box!important;
  width:min(1120px,86vw)!important;
  height:min(720px,76vh)!important;
  height:min(720px,76dvh)!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
  background:#090b0a!important;
  border:1px solid rgba(255,255,255,.12)!important;
  border-radius:8px!important;
  box-shadow:0 18px 60px rgba(0,0,0,.48)!important;
}
.ibs-tpe-runtime-lightbox .ibs-tpe-runtime-lb-stage>img{
  display:block!important;
  position:static!important;
  width:100%!important;
  height:100%!important;
  min-width:0!important;
  min-height:0!important;
  max-width:100%!important;
  max-height:100%!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  object-fit:contain!important;
  object-position:center center!important;
  background:#090b0a!important;
  box-shadow:none!important;
}

html body .ibs-tpe-runtime-lightbox button.ibs-tpe-runtime-lb-close,
html body .ibs-tpe-runtime-lightbox button.ibs-tpe-runtime-lb-prev,
html body .ibs-tpe-runtime-lightbox button.ibs-tpe-runtime-lb-next{
  all:unset!important;
  position:absolute!important;
  z-index:10!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  box-sizing:border-box!important;
  width:42px!important;
  height:42px!important;
  margin:0!important;
  padding:0!important;
  border:1px solid rgba(255,255,255,.60)!important;
  border-radius:999px!important;
  background:rgba(16,20,18,.80)!important;
  color:#fff!important;
  box-shadow:0 4px 16px rgba(0,0,0,.34)!important;
  font-family:Arial,Helvetica,sans-serif!important;
  font-weight:400!important;
  line-height:1!important;
  text-align:center!important;
  cursor:pointer!important;
  -webkit-tap-highlight-color:transparent!important;
}
html body .ibs-tpe-runtime-lightbox button.ibs-tpe-runtime-lb-close:hover,
html body .ibs-tpe-runtime-lightbox button.ibs-tpe-runtime-lb-prev:hover,
html body .ibs-tpe-runtime-lightbox button.ibs-tpe-runtime-lb-next:hover,
html body .ibs-tpe-runtime-lightbox button.ibs-tpe-runtime-lb-close:focus-visible,
html body .ibs-tpe-runtime-lightbox button.ibs-tpe-runtime-lb-prev:focus-visible,
html body .ibs-tpe-runtime-lightbox button.ibs-tpe-runtime-lb-next:focus-visible{
  background:#79b936!important;
  border-color:#9bd65b!important;
  outline:2px solid rgba(255,255,255,.78)!important;
  outline-offset:2px!important;
}
html body .ibs-tpe-runtime-lightbox button.ibs-tpe-runtime-lb-close>span{
  display:block!important;font-size:27px!important;line-height:1!important;font-weight:300!important;transform:translateY(-1px)!important;
}
html body .ibs-tpe-runtime-lightbox button.ibs-tpe-runtime-lb-prev>span,
html body .ibs-tpe-runtime-lightbox button.ibs-tpe-runtime-lb-next>span{
  display:block!important;font-size:31px!important;line-height:1!important;font-weight:300!important;transform:translateY(-1px)!important;
}
html body .ibs-tpe-runtime-lightbox button.ibs-tpe-runtime-lb-close{top:16px!important;right:16px!important}
html body .ibs-tpe-runtime-lightbox button.ibs-tpe-runtime-lb-prev{top:50%!important;left:14px!important;transform:translateY(-50%)!important}
html body .ibs-tpe-runtime-lightbox button.ibs-tpe-runtime-lb-next{top:50%!important;right:14px!important;transform:translateY(-50%)!important}


/* Desktop lightbox uses a fixed crop frame so mixed source dimensions never resize the visible photo. */
@media(min-width:1025px){
  .ibs-tpe-runtime-lightbox.ibs-tpe-runtime-lightbox-classic .ibs-tpe-runtime-lb-stage{
    width:min(1040px,82vw)!important;
    height:min(700px,76vh)!important;
    height:min(700px,76dvh)!important;
  }
  .ibs-tpe-runtime-lightbox.ibs-tpe-runtime-lightbox-classic .ibs-tpe-runtime-lb-stage>img{
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    object-position:center center!important;
  }
}

@media(max-width:1024px){
  .ibs-tpe-runtime-lightbox{padding:12px 48px!important}
  .ibs-tpe-runtime-lb-stage{
    width:min(860px,calc(100vw - 96px))!important;
    height:auto!important;
    aspect-ratio:4/3!important;
    max-height:calc(100vh - 56px)!important;
    max-height:calc(100dvh - 56px)!important;
    border-radius:6px!important;
  }
  html body .ibs-tpe-runtime-lightbox button.ibs-tpe-runtime-lb-close,
  html body .ibs-tpe-runtime-lightbox button.ibs-tpe-runtime-lb-prev,
  html body .ibs-tpe-runtime-lightbox button.ibs-tpe-runtime-lb-next{width:38px!important;height:38px!important}
  html body .ibs-tpe-runtime-lightbox button.ibs-tpe-runtime-lb-close{top:10px!important;right:10px!important}
  html body .ibs-tpe-runtime-lightbox button.ibs-tpe-runtime-lb-prev{left:7px!important}
  html body .ibs-tpe-runtime-lightbox button.ibs-tpe-runtime-lb-next{right:7px!important}
  html body .ibs-tpe-runtime-lightbox button.ibs-tpe-runtime-lb-close>span{font-size:24px!important}
  html body .ibs-tpe-runtime-lightbox button.ibs-tpe-runtime-lb-prev>span,
  html body .ibs-tpe-runtime-lightbox button.ibs-tpe-runtime-lb-next>span{font-size:28px!important}
}

@media(max-width:520px){
  .ibs-tpe-runtime-lightbox{padding:10px 14px!important}
  .ibs-tpe-runtime-lb-stage{
    width:calc(100vw - 28px)!important;
    height:auto!important;
    aspect-ratio:4/3!important;
    max-height:calc(100vh - 70px)!important;
    max-height:calc(100dvh - 70px)!important;
  }
  html body .ibs-tpe-runtime-lightbox button.ibs-tpe-runtime-lb-prev{left:5px!important}
  html body .ibs-tpe-runtime-lightbox button.ibs-tpe-runtime-lb-next{right:5px!important}
}
