.inpro-banners { --inpro-banners-width: 100%; --inpro-banners-height: 200px; --inpro-banners-radius: 0px; --inpro-banners-columns: 1; --inpro-banners-visible: var(--inpro-banners-columns); --inpro-banners-gap: 16px; position: relative; width: var(--inpro-banners-width); max-width: 100%; margin-inline: auto; line-height: 0; }
.inpro-banners, .inpro-banners *, .inpro-banners *::before, .inpro-banners *::after { box-sizing: border-box; }
.inpro-banners__viewport { position: relative; width: 100%; height: var(--inpro-banners-height); min-height: 1px; overflow: hidden; }
.inpro-banners__track { position: relative; display: flex; align-items: stretch; gap: var(--inpro-banners-gap); width: 100%; height: 100%; transition: transform .42s ease; will-change: transform; }
.inpro-banners .inpro-banners__slide { position: relative; display: block; flex: 0 0 calc((100% - (var(--inpro-banners-visible) - 1) * var(--inpro-banners-gap)) / var(--inpro-banners-visible)); width: calc((100% - (var(--inpro-banners-visible) - 1) * var(--inpro-banners-gap)) / var(--inpro-banners-visible)); min-width: 0; height: 100% !important; max-height: 100%; margin: 0; overflow: hidden; border-radius: var(--inpro-banners-radius); }
.inpro-banners .inpro-banners__image { display: block; width: 100% !important; min-width: 100%; max-width: 100% !important; height: 100% !important; min-height: 100%; max-height: 100% !important; margin: 0 !important; padding: 0; border-radius: inherit; object-fit: cover; object-position: center; image-rendering: auto; backface-visibility: hidden; transition: transform .55s cubic-bezier(.2,.65,.3,1), filter .55s ease; }
.inpro-banners.has-hover-effect .inpro-banners__slide::after { content: ""; position: absolute; top: -60%; left: -90%; z-index: 2; width: 45%; height: 220%; background: linear-gradient(110deg, transparent, rgba(255,255,255,.32), transparent); pointer-events: none; transform: rotate(12deg); transition: left .7s ease; }
.inpro-banners.has-hover-effect .inpro-banners__slide:hover .inpro-banners__image { transform: scale(1.055); filter: saturate(1.08) contrast(1.03); }
.inpro-banners.has-hover-effect .inpro-banners__slide:hover::after { left: 145%; }
.inpro-banners.is-static .inpro-banners__track { display: grid; grid-template-columns: repeat(var(--inpro-banners-visible), minmax(0, 1fr)); gap: var(--inpro-banners-gap); height: auto; transform: none !important; }
.inpro-banners.is-static .inpro-banners__viewport { height: auto; overflow: visible; }
.inpro-banners.is-static .inpro-banners__slide { height: var(--inpro-banners-height) !important; max-height: var(--inpro-banners-height); }
.inpro-banners__arrow { all: unset; box-sizing: border-box; position: absolute; top: 50%; z-index: 5; display: grid; width: 36px; height: 36px; place-items: center; border: 1px solid #e3e8ef; border-radius: 50%; background: #fff; box-shadow: 0 3px 12px rgba(16, 24, 40, .12); color: #536273; font: 28px/1 Arial, sans-serif; cursor: pointer; transform: translateY(-50%); transition: color .2s, box-shadow .2s, transform .2s; }
.inpro-banners .inpro-banners__arrow:hover,
.inpro-banners .inpro-banners__arrow:focus { color: #fff !important; box-shadow: 0 5px 16px rgba(16, 24, 40, .2); }
.inpro-banners .inpro-banners__arrow:hover span,
.inpro-banners .inpro-banners__arrow:focus span { color: #fff !important; }
.inpro-banners__arrow:focus-visible { outline: 2px solid #111c7a; outline-offset: 3px; }
.inpro-banners__arrow--prev { left: -18px; }
.inpro-banners__arrow--next { right: -18px; }
.inpro-banners__arrow span { display: block; margin-top: -3px; }
.inpro-banners:not(.has-navigation) .inpro-banners__arrow,
.inpro-banners:not(.has-navigation) .inpro-banners__dots { display: none; }
.inpro-banners__dots { position: absolute; right: 0; bottom: 10px; left: 0; z-index: 5; display: flex; justify-content: center; gap: 7px; line-height: 1; }
.inpro-banners__dots button { all: unset; box-sizing: border-box; width: 8px; height: 8px; border: 1px solid rgba(255,255,255,.95); border-radius: 50%; background: rgba(0,0,0,.28); box-shadow: 0 1px 3px rgba(0,0,0,.25); cursor: pointer; transition: width .2s, background .2s; }
.inpro-banners__dots button.is-active { width: 24px; border-radius: 10px; background: #fff; }
.elementor-widget-shortcode .inpro-banners, .elementor-shortcode .inpro-banners { width: var(--inpro-banners-width); max-width: 100%; }
@media (max-width: 767px) {
	.inpro-banners { --inpro-banners-visible: 1; width: 100%; }
	.inpro-banners__viewport, .inpro-banners.is-static .inpro-banners__slide { height: min(var(--inpro-banners-height), 55vw) !important; min-height: 100px; max-height: min(var(--inpro-banners-height), 55vw); }
	.inpro-banners__arrow { width: 32px; height: 32px; font-size: 24px; }
	.inpro-banners__arrow--prev { left: 8px; }
	.inpro-banners__arrow--next { right: 8px; }
}
@media (min-width: 768px) and (max-width: 1024px) { .inpro-banners { --inpro-banners-visible: min(2, var(--inpro-banners-columns)); } }
@media (prefers-reduced-motion: reduce) { .inpro-banners__track { transition: none; } }
