
.modtools-rtx { display:inline-block; position:relative; }
.modtools-rtx-line { display:inline-block; transition: opacity 260ms ease, transform 260ms ease, background-color 260ms ease, color 260ms ease; will-change: transform, opacity; }
.modtools-rtx-cursor { display:inline-block; margin-left: 2px; }

/* Fade */
.modtools-rtx-line.rtx-fade-out { opacity: 0; }
.modtools-rtx-line.rtx-fade-in  { opacity: 1; }

/* Swipe uses CSS variables for direction */
.modtools-rtx-line.rtx-swipe-out {
  opacity: 0;
  transform: translate(var(--rtx-x, 0), var(--rtx-y, 0));
}
.modtools-rtx-line.rtx-swipe-in {
  opacity: 1;
  transform: translate(var(--rtx-x, 0), var(--rtx-y, 0));
}

/* Cursor blink */
@keyframes rtxBlink {
  0%   { opacity: 1; }
  50%  { opacity: 0; }
  100% { opacity: 1; }
}
.rtx-cursor-blink {
  animation: rtxBlink 1s step-start infinite;
}
