/* Owned slider runtime; original slide images, copy, coordinates and typography. */
.replica-slider{position:relative;display:block;overflow:hidden;width:100%;margin:0 auto;background:transparent;outline-offset:3px}
.replica-slide{position:absolute;inset:0;opacity:0;visibility:hidden;pointer-events:none}.replica-slide.is-active{opacity:1;visibility:visible;pointer-events:auto}.replica-slide-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}.replica-slide-stage{position:absolute;top:0;left:50%;transform-origin:0 0;pointer-events:none}.replica-slide-layer{position:absolute;white-space:nowrap;line-height:1;min-width:0;min-height:0;text-decoration:none}
.replica-slider-arrow{position:absolute;z-index:20;top:50%;transform:translateY(-50%);border:0;padding:0;width:40px;height:40px;min-width:40px;line-height:40px;background:rgba(0,0,0,.5);color:white;border-radius:50%;font-family:revicons;font-size:20px;cursor:pointer;box-shadow:none}.replica-slider-arrow.left{left:30px}.replica-slider-arrow.right{right:30px}.replica-slider-arrow:hover{background:#000}.replica-slider-dots{position:absolute;z-index:20;left:50%;bottom:20px;transform:translateX(-50%);display:flex;gap:5px}.replica-slider-dots button{border:0;border-radius:50%;padding:0;width:13px;height:13px;min-width:13px;min-height:13px;background:#e5e5e5;box-shadow:none;cursor:pointer}.replica-slider-dots button.is-active{background:white}.replica-slider[data-grid-width="1500"] .replica-slider-dots{gap:10px}

.replica-slider-arrow,.replica-slider-dots{opacity:0;transition:opacity .2s}.replica-slider:hover .replica-slider-arrow,.replica-slider:hover .replica-slider-dots,.replica-slider:focus-within .replica-slider-arrow,.replica-slider:focus-within .replica-slider-dots{opacity:1}.replica-slider-arrow.left{padding-right:3px}.replica-slider-arrow.right{padding-left:3px}


.replica-slider-dots button{position:relative}.replica-bullet-title{position:absolute;color:#888;font-size:12px;padding:0 10px;font-weight:600;left:50%;top:-35px;background:rgba(255,255,255,.75);visibility:hidden;transform:translateX(-50%) translateY(-10px);transition:transform .3s;line-height:20px;white-space:nowrap}.replica-bullet-title:after{width:0;height:0;border-style:solid;border-width:10px 10px 0;border-color:rgba(255,255,255,.75) transparent transparent;content:'';position:absolute;left:50%;margin-left:-10px;bottom:-10px}.replica-slider-dots button:hover .replica-bullet-title{visibility:visible;transform:translateX(-50%)}.replica-slide{transition:opacity .5s ease,visibility .5s}


/* Canvas preserves original two-dimensional image rasterization. Source image remains as accessible alt text. */
.replica-slide-photo.replica-photo-source{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.replica-slide-canvas{position:absolute;inset:0;width:100%;height:100%;background:transparent}

/* Own image/layer timelines replace the old whole-slide crossfade. Outgoing photo remains beneath incoming until the original 1000ms background fade ends. */
.replica-slide{transition:none}.replica-slide.is-leaving{opacity:1;visibility:visible;pointer-events:none}

/* Match source block pseudo-elements rather than native button text line boxes. */
.replica-slider-arrow{font-weight:400;font-style:normal;letter-spacing:normal;text-transform:none;text-align:center;font-size:0}
.replica-slider-arrow.left,.replica-slider-arrow.right{padding:0}
.replica-slider-arrow:before{position:absolute;inset:0;font-family:revicons;font-size:20px;font-weight:400;font-style:normal;color:#fff;display:block;line-height:40px;text-align:center;letter-spacing:normal;box-sizing:content-box}
.replica-slider-arrow.left:before{content:'\e82c';margin-left:-3px}
.replica-slider-arrow.right:before{content:'\e82d';margin-right:-3px}
.replica-slider-dots button{font-family:inherit;font-style:inherit;letter-spacing:inherit;box-sizing:content-box;color:#666;font-weight:400;line-height:28px;text-align:start}
.replica-bullet-title{font-family:inherit;box-sizing:border-box;text-align:start}
.replica-slider-dots button:hover{background:#fff}
.replica-slider-dots button.is-active:hover .replica-bullet-title{background:#fff}
.replica-slider-dots button.is-active:hover .replica-bullet-title:after{border-top-color:#fff}
