.sliderbox  { 
  width: 100%; 
  padding:1em;
}

.slide-in-left {
  -webkit-animation: slideInFromLeft 1s ease-in; 
  animation: slideInFromLeft 1s ease-in ; 
}

.slide-in-right {
  -webkit-animation: slideInFromRight 1s ease-in; 
  animation: slideInFromRight 1s ease-in ; 
}

@media print {
  .slide-in-right, .slide-in-left, .reveal-text, .reveal-text::after {
    animation: none;
    -webkit-animation: none;
  }

  .remark-slide-scaler {
    width: 100% !important;
    height: 100% !important;
    transform: scale(1) !important;
    top: 0 !important;
    left: 0 !important;
  }
}

@page {
  size: 1024px 768px;
  margin: 0;
}


/************* animation ****************/

@-webkit-keyframes slideInFromRight { 0% {transform: translateX(100%);}}
@keyframes slideInFromRight { 0% { transform: translateX(100%); }}
@-webkit-keyframes slideInFromLeft { 0% { transform: translateX(-100%); }}
@keyframes slideInFromLeft { 0% { transform: translateX(-100%); }}


.reveal-text,
.reveal-text::after {
	animation-delay: 1s;
	animation-iteration-count: 1;
	animation-duration: 800ms;
	animation-fill-mode: both;
	animation-timing-function: cubic-bezier(0.0, 0.0, 0.2, 1);
}

.reveal-text {
	position: relative;
	display: block;
	animation-name: reveal-text;
	white-space: nowrap;
	
	&::after {
		content: "";
		position: absolute;
		z-index: 999;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		transform: scaleX(0);
		transform-origin: 0 50%;
		pointer-events: none;
		animation-name: revealer-text;
	}
	
}


@keyframes reveal-text {
	from {
		clip-path: inset(0 100% 0 0);
	}
	to {
		clip-path: inset(0 0 0 0);
	}
}


@keyframes revealer-text {
	
	0%, 50% {
		transform-origin: 0 50%;
	}
	
	60%, 100% {
		transform-origin: 100% 50%;		
	}

	
	60% {
		transform: scaleX(1);
	}
	
	100% {
		transform: scaleX(0);
	}
}
