/* Small replacements for the original plugin lifecycle; the theme stays intact. */
:root { color-scheme: light; }
.rotor-slider { display: block; height: min(45.614035vw, 520px); overflow: hidden; position: relative; background: #222; }
.rotor-slide { position: absolute; inset: 0; background-size: cover; background-position: center top; opacity: 0; visibility: hidden; transition: opacity 1s, visibility 1s; }
.rotor-slide.is-active { opacity: 1; visibility: visible; }
.rotor-shade { position: absolute; inset: 0; background: rgba(0,0,0,.5); }
.rotor-stage { position: absolute; top: 0; left: 50%; width: 1140px; height: 520px; margin-left: -570px; transform-origin: center top; transform: scale(var(--slide-scale, 1)); }
.rotor-stage .tp-caption { position: absolute; left: 50%; transform: translateX(-50%); white-space: nowrap; }
.rotor-title { top: 70px; }
.rotor-subtitle { top: 170px; }
.rotor-action { top: 300px; }
.rotor-slide.is-active .rotor-title, .rotor-slide.is-active .rotor-action { animation: caption-left .6s both; }
.rotor-slide.is-active .rotor-subtitle { animation: caption-right .6s both; }
.rotor-arrow { position: absolute; top: 50%; transform: translateY(-50%); z-index: 6; width: 30px; height: 110px; padding: 0; border: 0; background: transparent; color: white; opacity: 0; transition: opacity .2s; }
.rotor-prev { left: 0; }
.rotor-next { right: 0; }
.rotor-arrow:hover .tp-arr-allwrapper { visibility: visible; }
.rotor-slider { touch-action: pan-y; }
.rotor-slider:focus-within .rotor-progress { animation-play-state: paused; }
.rotor-slider:hover .rotor-arrow, .rotor-slider:focus-within .rotor-arrow { opacity: 1; }
.rotor-progress { position: absolute; z-index: 6; bottom: 0; left: 0; height: 5px; background: rgba(0,0,0,.15); animation: slide-progress 10s linear infinite; }
.scrollToTop { border: 0; padding: 0; }
.scrollToTop.is-visible { display: block; }
.policy-content ul { list-style: none !important; padding-left: 0 !important; }
.policy-content li { margin-bottom: .5em; }
.validation-message { color: #a94442; }
.client-error:empty { display: none; }
.form-group:has(.validation-message) .client-error { display: none; }
.table-responsive { border: 0; margin-bottom: 20px; }
.table-responsive > .table { margin-bottom: 0; }
@keyframes slide-progress { from { width: 0; } to { width: 100%; } }
@keyframes caption-left { from { opacity: 0; transform: translateX(calc(-50% - 50px)); } to { opacity: 1; transform: translateX(-50%); } }
@keyframes caption-right { from { opacity: 0; transform: translateX(calc(-50% + 50px)); } to { opacity: 1; transform: translateX(-50%); } }
@media (min-width: 768px) and (hover: hover) {
    .main-navigation li.dropdown:hover > .dropdown-menu, .main-navigation li.dropdown:focus-within > .dropdown-menu { display: block; }
}
@media (max-width: 767px) {
    .rotor-arrow { display: none; }
    /* The original masonry layout shrink-wraps small logos on phones. */
    .masonry-grid-item { width: max-content; max-width: 100%; }
    .partner-spacer { display: none; }
    .table-responsive > .table > thead > tr > th,
    .table-responsive > .table > tbody > tr > td { white-space: normal; }
    .rotor-progress { height: 2px; }
}
@media (prefers-reduced-motion: reduce) {
    .rotor-slide { transition: none; }
    .rotor-slide.is-active .tp-caption, .rotor-progress { animation: none; }
}
