/* CSS ANIMATION */

#canvas_digitalfall {
	position: absolute;
	top: 0;
}


/* FINGERPRINT ANIMATION */

.fp_scan .fingerprint {
	position: relative;
	width: 60px;
	height: 60px;
	mask-image: url(../images/fingerprint_round_mask.svg);
	mask-size: 60px auto;
	mask-repeat: no-repeat;
	-webkit-mask-image: url(../images/fingerprint_round_mask.svg);
	-webkit-mask-size: 60px auto;
	-webkit-mask-repeat: no-repeat;
}

.fp_scan .fingerprint::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 200px;
	background: url(../images/fp_bkg.png);
	background-size: 96px 120px;
	background-position: 0% 0%;
	background-repeat: no-repeat;
	animation: fp_animate 4s ease-in-out infinite;
}

.fp_scan .fingerprint_line {
	position: relative;
    top: -60px;
    left: -6px;
    width: 120%;
    height: 3px;
    background: #99d2f8;
    animation: fp_animate_line 4s ease-in-out infinite;
}

@keyframes fp_animate {
	0%, 100% {
		transform: translateY(-60px);
	}
	50% {
		transform: translateY(0px);
	}
}

@keyframes fp_animate_line {
	0%, 100% {
		transform: translateY(0px);
	}
	50% {
		transform: translateY(60px);
	}
}

/* DECODING TEXT ANIMATION */

.promo-text {
	width: 100%;
	text-align: center;
}

.space {
	display: inline-block;
	width: 10px;
}

.text-animation {
	display: inline-block;
	position: relative;
	color: transparent;
	text-transform: uppercase;
}

.text-animation:before {
	content: '';
	color: #fff;
	position: absolute;
	top: 50%;
	left: 50%;
	background: #99d2f8;
	width: 0;
	height: 1.2em;
	transform: translate(-50%, -55%);
}

.text-animation.state-1:before {
	width: 1px;
}

.text-animation.state-2:before {
	width: 0.9em;
}

.text-animation.state-3 {
	color: #fff;
}

.text-animation.state-3:before {
	width: 0;
}


/* MOTOR ROTATION ANIMATION */

.rotation_container {
	position: absolute;
	top: 1px;
	left: 17px;
	margin: auto auto;
	background: transparent;
	transform: rotate3d(1, 0, 0, 30deg);
	border-radius: 100px;
	width: 98px;
	height: 98px;
	z-index: 1;
}

.rotation_container:before, .rotation_container:after {
	content: '';
	position: absolute;
	border: 2px solid #000;
	border-radius: 100px;
	box-sizing: border-box;
	background: transparent;
}

.rotation_container:before {
	border-left: 4px solid #99d2f8;
	border-right: 4px solid #99d2f8;
	width: 100%;
	height: 100%;
	animation: rotation 2s linear infinite;
}

.rotation_container:after {
	border-top: 2px solid #99d2f8;
	border-bottom: 2px solid #99d2f8;
	position: absolute;
	top: 12.5%;
	left: 12.5%;
	width: 75%;
	height: 75%;
	animation: rotation 1.5s linear reverse infinite;
}

@keyframes rotation {
	to {
		transform: rotate(360deg);
	}
}