/**
 * Base styles
 **/

/* Background color */
:root{
	--via-animation-duration: 5s;
}
.clix-via-slider {
	background-color: #98009b;
	background-image: radial-gradient(ellipse at center, #98009b 0%,#600065 100%);
}

/* Button colors */
.clix-via-slider .cta-button-container a {
	color: #404040;
	background-color: #ecd400;
}
.clix-via-slider .cta-button-container a:hover {
	color: #fff;
	background-color: #3b3a38;
}

/** Teaser **/
.clix-via-slider .clix-teaser {
	position: absolute;
	margin: 0 auto;
	width: 276px;
	height: 284px;
	left: 0; top: 10%; right: 0; bottom: 0;
}

/* Change of CSS / Denis / Für animierten Teaser via z-index: -20; */
.clix-via-slider .clix-teaser .image-back {
	position: absolute;
	margin: auto;
	width: 120%;
	height: 120%;
	left: -30px; top: 6px; right: 0; bottom: 0;
	z-index: -20;
}

.clix-via-slider .clix-teaser .image-front {
	position: absolute;
	margin: auto;
	width: 396px;
	height: 380px;
	left: -59px; top: -5px; right: 0; bottom: 0;
	display: none;
}

.clix-via-slider .clix-teaser .image-headline {
	position: absolute;
	margin: auto;
	width: 71px;
	height: 71px;
	right: -15px;
	top: -15px;
}

/* Dices */
.clix-via-slider .dices {
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
}
.clix-via-slider .dice-small,
.clix-via-slider .dice-medium,
.clix-via-slider .dice-big {
	position: absolute;
	left: 50%;
	top: 50%;
	width: 100%;
	height: 100%;
}
.clix-via-slider .dice-small img {
	position: relative;
	left: -30%;
	top: -55%;
	width: 144px;
	height: 145px;
}
.clix-via-slider .dice-medium img {
	position: relative;
	left: 30%;
	top: -30%;
	width: 148px;
	height: 146px;
}
.clix-via-slider .dice-big img {
	position: relative;
	left: -50%;
	top: -35%;
	width: 252px;
	height: 250px;
}

#circle-via{
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);    
    height: 115%;
    aspect-ratio: 1;
    overflow: visible;
}



.via-background1,
.via-background2,
.via-background3 {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) rotateX(0deg);
    transform-style: preserve-3d;
    backface-visibility: hidden;
    opacity: 1;
}

/* Stack order */
.via-background1 { z-index: 4; }
.via-background2 { z-index: 3; }
.via-background3 { z-index: 2; }

.clix-via-slider.slick-active .via-background1 {
    animation: rotateOut1 var(--via-animation-duration) ease-in-out infinite;
}

@keyframes rotateOut1 {
    0% {
        opacity: 1;
        transform: translate(-50%, -50%) rotateX(0deg);
    }
    25% {
        opacity: 0;
		transform: translate(-50%, -50%) rotateX(90deg);
    }
    50% {
        opacity: 1;
		z-index: 1;
		transform: translate(-50%, -50%) rotateX(0deg);
    }
    100% {
        opacity: 1;
		z-index: 4;
    }
}

.clix-via-slider.slick-active .via-background2 {
    animation: rotateOut2 var(--via-animation-duration) ease-in-out infinite;
}

@keyframes rotateOut2 {
    25% {
        opacity: 1;
        transform: translate(-50%, -50%) rotateX(0deg);
    }
    50% {
        opacity: 0;
        transform: translate(-50%, -50%) rotateX(90deg);
    }
    100% {
        opacity: 0;
    }
}

.clix-via-slider.slick-active .via-background3 {
    animation: rotateOut3 var(--via-animation-duration) ease-in-out infinite;
}

@keyframes rotateOut3 {
    50% {
        opacity: 1;
        transform: translate(-50%, -50%) rotateX(0deg);
    }
    75% {
        opacity: 0;
        transform: translate(-50%, -50%) rotateX(90deg);
    }
    100% {
        opacity: 0;
    }
}

.via-name-label, .via-prize-label{
    position: absolute;
    left: 50%;
	width: 90%;
    transform: translate(-50%, -50%);
	z-index: 6;
}

.via-name-label{top: 40%;}

.via-prize-label{top: 90%; z-index: 20; width: 110%}

.via-car, .via-boat, .via-plane{
	width: 80%;
	left: 50%;
	transform: translateX(-50%);
	opacity: 0;
}

.via-car{
	z-index: 7;
	top: 45%;
	width: 70%;
	opacity: 1;
}

.clix-via-slider.slick-active .via-car{
	animation: car-animation var(--via-animation-duration) ease infinite;
}

@keyframes car-animation {
	0%{
		top: 45%;
		opacity: 1;
	}
	10%{
		top: 45%;
		opacity: 1;
	}
	25%{
		top: 70%;
		opacity: 0;
	}
	60%{
		top: 70%;
		opacity: 0;
	}
	70%{
		top: 43%;
		opacity: 1;
	}
	72%{
		top: 45%;
		opacity: 1;
	}
	100%{
		top: 45%;
		opacity: 1;
	}
}

.via-boat{
	z-index: 7;
	width: 60%;
}

.clix-via-slider.slick-active .via-boat{
	animation: boat-animation var(--via-animation-duration) ease infinite;
}

@keyframes boat-animation {
	0%{
		top: 70%;
		opacity: 0;
	}
	35%{
		top: 70%;
		opacity: 0;
	}
	45%{
		top: 43%;
		opacity: 1;
	}
	47%{
		top: 45%;
		opacity: 1;
	}
	60%{
		top: 45%;
		opacity: 1;
	}
	70%{
		top: 70%;
		opacity: 0;
	}
	100%{
		top: 70%;
		opacity: 0;
	}
}

.via-plane{
	z-index: 15
}

.clix-via-slider.slick-active .via-plane{
	animation: plane-animation var(--via-animation-duration) ease infinite;
}

@keyframes plane-animation {
	0%{
		top: 50%;
		opacity: 0;
	}
	10%{
		top: 50%;
		opacity: 0;
	}
	20%{
		top: -16%;
		opacity: 1;
	}
	22%{
		top: -14%;
		opacity: 1;
	}
	35%{
		top: -14%;
		opacity: 1;
	}
	45%{
		top: 50%;
		opacity: 0;
	}
	100%{
		top: 50%;
		opacity: 0;
	}
}

/**
 * Desktop styles
 **/
@media screen and (min-width: 1021px) {
	/* Button position and size */
	.clix-via-slider .cta-button-container {
		bottom: 60px;
	}
	.clix-via-slider .cta-button-container a {
		padding: 20px 60px;
	}

	.clix-via-slider .clix-logo {
		position: absolute;
		bottom: 40px;
		right: 0;
		width: 276px;
	}
}

.via-car, .via-plane, .via-boat{
	position: absolute;
}

/**
 * Tablet styles
 **/
@media screen and (min-width: 768px) and (max-width: 1020.9px) {
	/* Button position and size */
	.clix-via-slider .cta-button-container {
		bottom: 70px;
	}
	.clix-via-slider .cta-button-container a {
		padding: 20px 60px;
	}

	.clix-via-slider .clix-logo {
		position: absolute;
		bottom: 40px;
		right: 0;
		width: 200px;
	}
	
}

/**
 * Mobile styles
 **/
@media screen and (max-width: 767.9px) {
	/* Button position and size */
	.clix-via-slider .cta-button-container {
		bottom: 15%;
	}
	.clix-via-slider .cta-button-container a {
		padding: 12px 25px;
	}

	.clix-via-slider .clix-logo {
		position: absolute;
		bottom: 70px;
		right: 10px;
		width: 85px;
	}


	#circle-via {
		height: 85%;
		top: 20%;
	}
	
	.clix-via-slider {
		margin: auto;
		width: 193px;
		height: 199px;
		top: -30%
	}

	.clix-via-slider .dice-small img {
		top: -50%;
		width: 58px;
		height: 58px;
	}
	.clix-via-slider .dice-medium img {
		top: 0;
		width: 59px;
		height: 58px;
	}
	.clix-via-slider .dice-big img {
		width: 101px;
		height: 100px;
	}
	
	.clix-via-slider .image-front {
	width: 242px;
	height: 242px;
	top: 30px;
	left: -28px;
	}
	
	.clix-via-slider .image-back {
		position: absolute;
		margin: auto;
		width: 112%;
		height: 112%;
		left: -10px;
		top: 40px;
		right: 0;
		bottom: 0;
	}
		
		
	.clix-via-slider .dices {
		display: none;
	}

}


.clix-via-slider.slick-active .dice-small img {
	animation: float-small-dice 1s ease-in-out 0s infinite forwards;
	animation-direction: alternate;
}

.clix-via-slider.slick-active .dice-medium img {
	animation: float-small-dice 1s ease-in-out 0.4s infinite forwards;
	animation-direction: alternate;
}

.clix-via-slider.slick-active .dice-big img {
	animation: float-small-dice 1s ease-in-out 0.7s infinite forwards;
	animation-direction: alternate;
}

@keyframes teaser-pulse {
	0% { transform:scale(1); }
	25% { transform:scale(0.9); }
	50% { transform:scale(1.1); }
	100% { transform:scale(1); }
}

@keyframes show-dices {
	0% { transform:scale(0) }
	100% { transform:scale(1) }
}

@keyframes float-small-dice {
	0% { transform:translate3d(0, -3px, 0) }
	100% { transform:translate3d(0, 3px, 0) }
}

@keyframes float-medium-dice {
	0% { transform:translate3d(0, -4px, 0) }
	100% { transform:translate3d(0, 4px, 0) }
}

@keyframes float-big-dice {
	0% { transform:translate3d(0, -8px, 0) }
	100% { transform:translate3d(0, 8px, 0) }
}