/**
 * Theme Core - Text Slider styles.
 */
.tcore-text-slider {
	position: relative;
	width: 100%;
	overflow: hidden;
}

/* Minimal Swiper core layout so the widget works even if Swiper's own
   stylesheet is not separately enqueued by the active Elementor version. */
.tcore-text-slider .swiper-wrapper {
	display: flex;
	box-sizing: content-box;
	align-items: stretch;
	height: 100%;
	transition-property: transform;
}

.tcore-text-slider .swiper-slide {
	display: flex;
	align-items: center;
	flex-shrink: 0;
	width: 100%;
	height: 100%;
}

.tcore-text-slider.swiper-vertical .swiper-wrapper {
	flex-direction: column;
}

.tcore-text-slider__item {
	height: auto;
	box-sizing: border-box;
}

.tcore-text-slider .swiper-inner,
.tcore-text-slider .sw-caption {
	display: flex;
	align-items: center;
	width: 100%;
	height: 100%;
}

.tcore-text-slider .sw-caption > .container {
	width: 100%;
	max-width: 1300px;
	padding-right: 15px;
	padding-left: 15px;
}

.tcore-text-slider__link {
	display: inline-flex;
	text-decoration: none;
	color: inherit;
}

.tcore-text-slider__text {
	margin: 0;
	transition: color 0.3s ease;
}

/* Arrows */
.tcore-text-slider__arrow {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	z-index: 5;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: rgba(0, 0, 0, 0.6);
	color: #ffffff;
	cursor: pointer;
	transition: opacity 0.25s ease, background 0.25s ease;
}

.tcore-text-slider__arrow--prev {
	left: 10px;
}

.tcore-text-slider__arrow--next {
	right: 10px;
}

.tcore-text-slider__arrow.swiper-button-disabled {
	opacity: 0.4;
	cursor: default;
}

.tcore-text-slider__pagination {
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 5;
	width: 100%;
	text-align: center;
}

.tcore-text-slider__pagination .swiper-pagination-bullet {
	display: inline-block;
	width: 8px;
	height: 8px;
	margin: 0 4px;
	border-radius: 50%;
	background: currentColor;
	opacity: 0.35;
	cursor: pointer;
}

.tcore-text-slider__pagination .swiper-pagination-bullet-active {
	opacity: 1;
}

.tcore-text-slider__pagination.swiper-pagination-progressbar {
	height: 4px;
}

.tcore-text-slider__pagination .swiper-pagination-progressbar-fill {
	display: block;
	height: 100%;
	background: currentColor;
	transform-origin: left top;
}

/* Text Slider zoom effect keyframes. */
 @keyframes tcoreTextSliderZoomOut { 
     from { 
         opacity: 1 
     } 
 
     50% { 
         opacity: 0; 
         -webkit-transform: scale3d(.3,.3,.3); 
         transform: scale3d(.3,.3,.3) 
     } 
 
     to { 
         opacity: 0 
     } 
 } 
 
 @-webkit-keyframes tcoreTextSliderZoomIn { 
     from { 
         opacity: 0; 
         -webkit-transform: scale3d(.3,.3,.3); 
         transform: scale3d(.3,.3,.3) 
     } 
 
     50% { 
         opacity: 1 
     } 
 } 
 
 @keyframes tcoreTextSliderZoomIn { 
     from { 
         opacity: 0; 
         -webkit-transform: scale3d(.3,.3,.3); 
         transform: scale3d(.3,.3,.3) 
     } 
 
     50% { 
         opacity: 1 
     } 
 } 

/* Zoom In Out Effect Implementation */
.tcore-text-slider.rt-slider-effect-zoom .swiper-slide {
  opacity: 0 !important;
  z-index: 1;
  pointer-events: none;
}

.tcore-text-slider.rt-slider-effect-zoom .swiper-slide-active,
.tcore-text-slider.rt-slider-effect-zoom .swiper-slide-duplicate-active {
  opacity: 1 !important;
  z-index: 2;
  pointer-events: auto;
}

.tcore-text-slider.rt-slider-effect-zoom .swiper-slide-active .swiper-inner,
.tcore-text-slider.rt-slider-effect-zoom .swiper-slide-duplicate-active .swiper-inner {
  animation: tcoreTextSliderZoomIn 1s both;
  animation-delay: 0.3s; /* Delay to let the previous one zoom out first */
  transform-origin: center center;
}

.tcore-text-slider.rt-slider-effect-zoom .swiper-slide-prev .swiper-inner,
.tcore-text-slider.rt-slider-effect-zoom .swiper-slide-next .swiper-inner {
  animation: tcoreTextSliderZoomOut 0.8s both;
  transform-origin: center center;
}
