/**
 * lussaUI-effects.css
 * [Copyrights]
 * lussa;Heroidea Inc.
 * contact@heroidea.com
 * ----------------------------
 * [用途说明]
 * 提供文本样式效果和css动画功能
 * ----------------------------
 * [当前版本]
 * 1.0.0
 * ----------------------------
 * [注意事项]
 * （1）类名、属性和{}不在同一行且换行的，可修改、增减属性及属性值
 * （2）强制连同{}书写同在一行且不换行的，不得修改、增减属性及属性值，因增减属性无意义且改变属性值后失去其本意
 * （3）基于（1）和（2），该文件内容禁止任何形式的美化
 * ----------------------------
 * [特别说明]
 * （1）该文件内容需压缩后方可发布，不得任何形式的美化发布，不得无压缩发布
 * （2）该文件内容中前置全局设置部分，不建议改动，如需改动请慎重斟酌
 * （3）升级和维护时，务必按照规范要求书写注释、书写规范格式（参照[注意事项]）
 * （4）缩进时务必使用tab&4格缩进，不得随性更动
 * （5）属性设计注释，如有必要，请在属性设置紧邻上方使用/"\*xx*\"/进行单行注释
 */

@charset "utf-8";

/**
 * =======================
 * 文本效果
 * =======================
 */

/**
 * 折弯文本
 * .lussaUI-text-crooked
 */
.lussaUI-text-crooked>span{
	width:1.8rem;
	height:1.8rem;
	display:inline-block;
	background:rgba(0,153,102,1);
	line-height:1.8rem;
	text-align:center;
	transform:skewY(-15deg);
	transform-origin:left;
	font-size:0.75rem;
	color:#fff;
}
.lussaUI-text-crooked>span.big{
	font-size:1rem;
	font-weight:bold;
}
.lussaUI-text-crooked>span:nth-child(even){
	transform:skewY(15deg);
	transform-origin:right;
}
.lussaUI-text-crooked>span:hover{
	transform:skewY(0deg);
}
.lussaUI-text-crooked>span::before{
	content:'';
	position:absolute;
	left:0;
	top:0;
	width:100%;
	height:100%;
	background:rgba(3,75,61,0.5);
	transform:skewY(15deg);
	transform-origin:left;
	z-index:-2;
}
.lussaUI-text-crooked>span:nth-child(even)::before{
	transform:skewY(-15deg);
	transform-origin:right;
}
.lussaUI-text-crooked>span::after {
	position:absolute;
	content:'';
	width:100%;
	height:100%;
	left:0;
	top:0;
	background:rgba(0,184,148,1);
	z-index:-1;
}
.lussaUI-text-crooked>span:nth-child(even)::after {
	background-color:#056653;
}

/**
 * 文本波浪线
 * .lussaUI-text-wave
 */
.lussaUI-text-wave{
	padding-bottom:0;
	transition:.3s ease-in-out;
}
.lussaUI-text-wave.init-wave{
	padding-bottom:.25rem;
	/**
	 * 自动跟随字体颜色
	 */
	background:radial-gradient(circle at .5rem -.35rem, transparent .4rem, currentColor .4rem, currentColor .45rem, transparent .45rem) repeat-x, radial-gradient(circle at .5rem 1.35rem, transparent .4rem, currentColor .4rem, currentColor .45rem, transparent .45rem) repeat-x;
	background-size:1rem 1rem;
	background-position:-.5rem calc(100% + .8rem), 0 calc(100% - .2rem);
}
.lussaUI-text-wave.use-var-color{
	/**
	 * 使用颜色变量
	 */
	background:radial-gradient(circle at .5rem -.35rem, transparent .4rem, var(--text-wave-color) .4rem, var(--text-wave-color) .45rem, transparent .45rem) repeat-x, radial-gradient(circle at .5rem 1.35rem, transparent .4rem, var(--text-wave-color) .4rem, var(--text-wave-color) .45rem, transparent .45rem) repeat-x!important;
}
.lussaUI-text-wave.anim,.lussaUI-text-wave:hover{
	padding-bottom:.25rem;
	/**
	 * 自动跟随字体颜色
	 */
	background:radial-gradient(circle at .5rem -.35rem, transparent .4rem, currentColor .4rem, currentColor .45rem, transparent .45rem) repeat-x, radial-gradient(circle at .5rem 1.35rem, transparent .4rem, currentColor .4rem, currentColor .45rem, transparent .45rem) repeat-x;
	background-size:1rem 1rem;
	background-position:-.5rem calc(100% + .8rem), 0 calc(100% - .2rem);
	animation:textWave 1s infinite linear;
}
.lussaUI-text-wave.use-var-color.anim,.lussaUI-text-wave.use-var-color:hover{
	/**
	 * 使用颜色变量
	 */
	background:radial-gradient(circle at .5rem -.35rem, transparent .4rem, var(--text-wave-color) .4rem, var(--text-wave-color) .45rem, transparent .45rem) repeat-x, radial-gradient(circle at .5rem 1.35rem, transparent .4rem, var(--text-wave-color) .4rem, var(--text-wave-color) .45rem, transparent .45rem) repeat-x!important;
}
@keyframes textWave{
	from{background-position-x:-.5rem, 0;}
	to{background-position-x:-1.5rem, -1rem;}
}

/**
 * 文本3D
 * .lussaUI-text-3D
 */
.lussaUI-text-3D{
	font-size:inherit;
	font-weight:800;
	letter-spacing:.2rem;
	text-shadow:.025rem 0 #999, .025rem .1rem #888, .15rem .1rem #999,
		.1rem .15rem #888, .2rem .1rem #999, .2rem .2rem #888,
		.25rem .15rem #999, .25rem .25rem #888, .35rem .2rem #999,
		.3rem .3rem #888, .4rem .25rem #999, .35rem .35rem #888,
		.45rem .3rem #999, .45rem .4rem #888, .55rem .35rem #999;
	color:#fff;
}

/**
 * 文本具有上下两种颜色
 * .lussaUI-text-richcolor
 */
.lussaUI-text-richcolor{
	position:relative;
	font-size:inherit;
}
.lussaUI-text-richcolor::before{
	content:attr(data-text);
	position:absolute;
	width:auto;
	height:50%;
	color:var(--text-rich-color);
	overflow:hidden;
}

/**
 * 文本镂空
 * .lussaUI-text-stroke
 */
.lussaUI-text-stroke{
	font-size:inherit;
	-webkit-text-stroke:.025rem currentColor;
	text-stroke:.025rem currentColor;
	-webkit-text-fill-color:transparent;
	text-fill-color:transparent;
}

/**
 * 文本垂直
 * .lussaUI-text-vertical
 * rl从右向左
 * lr从左向右（默认）
 */
.lussaUI-text-vertical.rl{
	writing-mode:vertical-rl;
}
.lussaUI-text-vertical.lr{
	writing-mode:vertical-lr;
}

/**
 * 文本闪光
 * .lussaUI-text-shine
 */
.lussaUI-text-shine{
	font-size:1rem;
	animation:textShine 2.3s infinite;
}
.lussaUI-text-shine.use-text-color{
	animation:textShineUse 2s infinite;
}
@keyframes textShine{
	0%,100%{
		text-shadow:0 0 .05rem #000, 0 0 .05rem #000;
	}
	50%{
		text-shadow:0 0 .05rem #000, 0 0 2rem #000;
	}
}
@keyframes textShineUse{
	0%,100%{
		text-shadow:0 0 .05rem #000, 0 0 .05rem var(--text-shine-color);
	}
	50%{
		text-shadow:0 0 .05rem #000, 0 0 2rem var(--text-shine-color);
	}
}

/**
 * 文本舞台灯光效果
 * .lussaUI-text-stageshine
 * --text-stageshine-color最好为rgba值
 */
.lussaUI-text-stageshine{
	font-size:2rem;
	background:-webkit-linear-gradient(left, #0f0, #00f) 0 0 no-repeat;
	background-size:8rem;
	-webkit-background-clip:text;
	-webkit-text-fill-color:rgba(255, 255, 255, 0.3);
	animation:textStageShine 2.8s infinite;
}
.lussaUI-text-stageshine.use-text-color{
	background:-webkit-linear-gradient(left, var(--text-stageshine-color1), var(--text-stageshine-color2)) 0 0 no-repeat;
	background-size:8rem;
	-webkit-background-clip:text;
	-webkit-text-fill-color:var(--text-stageshine-color);
}
@keyframes textStageShine{
	0%{
		background-position:0 0;
	}
	100%{
		background-position:100% 100%;
	}
}

/**
 * 文本缩放动效
 * .lussaUI-text-scale
 */
.lussaUI-text-scale{
	transform-origin:center;
	animation:textScale 1.5s linear infinite;
}
@keyframes textScale{
	0%{transform:scale(0.8);}
	50%{transform:scale(1.3);}
	100%{transform:scale(0.8);}
}

/**
 * 文本隐现
 * .lussaUI-text-opacity
 */
.lussaUI-text-opacity{
	animation:textOpacity 2s linear infinite;
}
@keyframes textOpacity{
	0%{opacity:1;}
	50%{opacity:.1;}
	100%{opacity:1;}
}

/**
 * 文本摆动
 * .lussaUI-text-swing
 */
.lussaUI-text-swing{
	animation:textSwing 2s linear infinite;
}
@keyframes textSwing{
	20%{transform:rotate(15deg);}
	40%{transform:rotate(-15deg);}
	60%{transform:rotate(5deg);}
	80%{transform:rotate(-5deg);}
	100%{transform:rotate(0deg);}
}

/**
 * 文本跳动
 * .lussaUI-text-jump
 */
.lussaUI-text-jump{
	animation:textJump 2s linear infinite;
}
@keyframes textJump{
	0%,100%,20%,50%,80%{transform:translateY(0);}
	40%{transform:translateY(-30);}
	60%{transform:translateY(-1.25rem);}
}

/**
 * 文本水平走动
 * .lussaUI-text-walk
 */
.lussaUI-text-walk{
	animation:textWalk 3s linear infinite alternate;
}
@keyframes textWalk{
	0%{transform:translateX(-10%);}
	100%{transform:translateX(10%);}
}

/**
 * 文本颜色渐变
 * .lussaUI-text-gradient
 */
.lussaUI-text-gradient{
	background:-webkit-linear-gradient(top, var(--text-gradient-color1), var(--text-gradient-color2));
	-webkit-background-clip:text;
	-webkit-text-fill-color:transparent;
}

/**
 * 文本模糊
 * .lussaUI-text-blur
 */
.lussaUI-text-blur{
	filter:blur(.05rem);
}

/**
 * 文本富样式模糊（可指定模糊色）
 * .lussaUI-text-richblur
 */
.lussaUI-text-richblur{
	color:transparent;
	text-shadow: 0 0 .05rem var(--text-blur-color);
}

/**
 * 文本抖动
 * .lussaUI-text-shake
 */
.lussaUI-text-shake{
	font-size:2rem;
	animation:textShake 1s linear infinite;
}
@keyframes textShake{
	0%,100%{text-shadow:-.25rem -.25rem 0.25rem rgba(0,0,0,.3), .125rem .125rem 0 rgba(0,0,0,.3);}
	25%{text-shadow:.25rem .125rem 0 rgba(0,0,0,.3), -.125rem -.25rem 0 rgba(0,0,0,.3);}
	50%{text-shadow:.125rem -.25rem .25rem rgba(0,0,0,.3), .125rem -.125rem 0 rgba(0,0,0,.3);}
	75%{text-shadow:-.125rem .125rem 0 rgba(0,0,0,.3), -.125rem .125rem .25rem rgba(0,0,0,.3);}
}

/**
 * 文本翻页
 * .lussaUI-text-flip-page
 */
.lussaUI-text-flip-page>span{
	position:relative;
	display:inline-flex;
	width:auto;
	height:auto;
	justify-content:center;
	align-items:center;
	perspective:15rem;
	transform-style:preserve-3d;
	text-shadow:0 0 rgba(255,255,255,1);
	font-size:1rem;
	font-weight:bold;
	color:#999;

}
.lussaUI-text-flip-page>span::before{
	position:absolute;
	left:0;
	top:0;
	content:''attr(data-text)'';
	width:100%;
	height:100%;
	color:#f97f51;
	text-shadow:none;
	transform-origin:left;
	transition:0.5s;
}
.lussaUI-text-flip-page>span:hover::before{
	transform:rotateY(-45deg);
}

/**
 * 文本在横线中间
 * .lussaUI-text-linebetween
 */
.lussaUI-text-linebetween{
	box-sizing:border-box;
	margin:0 auto;
	padding:0;
	position:relative!important;
	text-align:center!important;
	width:100%;
	height:auto;
	display:flex;
	justify-content:center;
	align-items:center;
	align-content:center;
	flex-flow:row nowrap;
	vertical-align:middle;
	overflow:hidden;
}
.lussaUI-text-linebetween::before,.lussaUI-text-linebetween::after{
	box-sizing:border-box;
	content:'';
	display:inline-block;
	vertical-align:middle;
	width:auto;
	height:0;
	flex:auto;
	border-bottom:.025rem #ccc solid;
	overflow:hidden;
}
.lussaUI-text-linebetween::before{
	margin:0 .6rem 0 0;
}
.lussaUI-text-linebetween::after{
	margin:0 0 0 .6rem;
}

/**
 * 文本打字机效果
 * .lussaUI-text-typing
 */
.lussaUI-text-typing{
	width:100%;
	border-right:.025rem solid transparent;
	animation:typing 2s steps(42, end), typingCursor .75s step-end infinite;
	white-space:nowrap;
	word-break:break-all;
	overflow:hidden;
}
@keyframes typing {
	from {width:0;}
	to {width:100%;}
}
@keyframes typingCursor {
	from, to {border-color:transparent;}
	50% {border-color:currentColor;}
}


/**
 * =======================
 * 形状效果
 * =======================
 */

/**
 * 实心三角
 * .lussaUI-shape-triangle
 * .hollow空心
 */
.lussaUI-shape-triangle{
	position:relative;
	width:0.25rem;
	height:0.25rem;
	overflow:hidden;
}
.lussaUI-shape-triangle::after{
	content:'';
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	background:rgba(0,0,0,0.5);
	transform-origin:center;
	overflow:hidden;
}
.lussaUI-shape-triangle.hollow::after{
	background:none;
	border-right:0.1rem solid rgba(0,0,0,0.5);
	border-top:0.1rem solid rgba(0,0,0,0.5);
	border-left:0.05rem solid transparent;
	border-bottom:.05rem solid transparent;
}
.lussaUI-shape-triangle.up{
	transform:translate3d(0, -70%, 0) rotate(45deg);
}
.lussaUI-shape-triangle.down{
	transform:translate3d(0, 70%, 0) rotate(45deg);
}
.lussaUI-shape-triangle.left{
	transform:translate3d(70%, 0, 0) rotate(45deg);
}
.lussaUI-shape-triangle.right{
	transform:translate3d(-70%, 0, 0) rotate(45deg);
}
.lussaUI-shape-triangle.hollow.up{
	transform:rotate(-45deg);
}
.lussaUI-shape-triangle.hollow.down{
	transform:rotate(135deg);
}
.lussaUI-shape-triangle.hollow.left{
	transform:rotate(-135deg);
}
.lussaUI-shape-triangle.hollow.right{
	transform:rotate(45deg);
}

/**
 * 折线提示（带提示内容）
 */
.lussaUI-line-tip{
	box-sizing:border-box;
	position:absolute;
	top:50%;
	left:30%;
	width:2rem;
	height:2rem;
	background:rgba(255,255,255,.9);
	border:.5rem solid rgba(0,0,0,.25);
	border-radius:1rem;
	transform:translate(-50%, -50%);
	white-space:nowrap!important;
	cursor:pointer;
	font-style:normal;
	font-size:inherit;
	z-index:1;
	transition:.3s ease-in-out;
}
.lussaUI-line-tip.anim{
	-webkit-animation:lineTipScale 1s linear infinite alternate-reverse forwards;
	animation:lineTipScale 1s linear infinite alternate-reverse forwards;
	transition:none!important;
}
.lussaUI-line-tip.shadow{
	box-shadow:0 0 .25rem rgba(0,0,0,.25);
}
.lussaUI-line-tip.effect:hover{
	width:2.6rem;
	height:2.6rem;
	border-radius:1.6rem;
	border-width:.5rem;
}
.lussaUI-line-tip::before,
.lussaUI-line-tip::after{
	position:absolute;
	content:'';
	display:block;
	background:linear-gradient(
		to left,
		transparent 0%,
		transparent 50%,
		rgba(255,255,255,.9) 50%,
		rgba(255,255,255,.9) 100%
	);
	background-size:.5rem .1rem;
	background-repeat:repeat-x;
	cursor:default;
	z-index:2;
	pointer-events:none!important;
	overflow:hidden;
}
.lussaUI-line-tip::before{
	width:250%;
	height:250%;
	transform:rotate(45deg);
	/*border-top:.1rem dashed #fff;*/
}
.lussaUI-line-tip::after{
	width:90%;
	height:100%;
	/*border-top:.1rem dashed #fff;*/
}
.lussaUI-line-tip.top.left::before{
	top:-176%;
	left:-321%;
	transform:rotate(45deg);
}
.lussaUI-line-tip.top.left::after{
	top:-232%;
	left:-299%;
}
.lussaUI-line-tip.top.right::before{
	top:-341%;
	left:10%;
	transform:rotate(135deg);
}
.lussaUI-line-tip.top.right::after{
	top:-229%;
	left:334%;
}
.lussaUI-line-tip.bottom.left::before{
	top:195%;
	left:-160%;
	transform:rotate(-45deg);
}
.lussaUI-line-tip.bottom.left::after{
	top:321%;
	left:-310%;
}
.lussaUI-line-tip.bottom.right::before{
	top:16%;
	left:189%;
	transform:rotate(225deg);
}
.lussaUI-line-tip.bottom.right::after{
	top:315%;
	left:339%;
}
.lussaUI-line-tip>.tip-text{
	position:absolute;
	display:block;
	/*width:min-content;*/
	min-width:1rem;
	max-width:25rem;
	/*height:min-content;*/
	min-height:.8rem;
	transform:translate(0, -50%);
	pointer-events:none!important;
	color:rgba(255,255,255,.9);
	font-size:inherit;
	text-overflow:ellipsis;
	overflow:hidden;
}
.lussaUI-line-tip.top>.tip-text{
	top:-230%;
}
.lussaUI-line-tip.bottom>.tip-text{
	top:320%;
}
.lussaUI-line-tip.left>.tip-text{
	right:450%;
}
.lussaUI-line-tip.right>.tip-text{
	left:460%;
}
@keyframes lineTipScale{
	from {
		border:.4rem solid rgba(0,0,0,.2);
	}
	to {
		border:.5rem solid rgba(0,0,0,.5);
	}
}

/**
 * 图形：三角形
 * .lussaUI-triangle
 */
.lussaUI-triangle{
	margin:0 auto;
	width:0;
	height:0;
	display:block;
	font-style:normal;
	transition:.3s ease-in-out;
	overflow:hidden;
}
.lussaUI-triangle.radius{
	border-radius:.1rem;
}
.lussaUI-triangle.up{
	border-left:.25rem solid transparent;
	border-right:.25rem solid transparent;
	border-bottom:.25rem solid #282828;
}
.lussaUI-triangle.down{
	border-top:.25rem solid #282828;
	border-left:.25rem solid transparent;
	border-right:.25rem solid transparent;
}
.lussaUI-triangle.left{
	border-left:.25rem solid #282828;
	border-top:.25rem solid transparent;
	border-bottom:.25rem solid transparent;
}
.lussaUI-triangle.left:not(.up):not(.down){
	border-right:.25rem solid #282828!important;
	border-left:0 solid transparent!important;
	border-top:.25rem solid transparent!important;
	border-bottom:.25rem solid transparent!important;
}
.lussaUI-triangle.right{
	border-right:.25rem solid #282828;
	border-top:.25rem solid transparent;
	border-bottom:.25rem solid transparent;
}
.lussaUI-triangle.right:not(.up):not(.down){
	border-left:.25rem solid #282828!important;
	border-right:0 solid transparent!important;
	border-top:.25rem solid transparent!important;
	border-bottom:.25rem solid transparent!important;
}
.lussaUI-triangle.left.up{
	border-top:.25rem solid #282828;
	border-right:.25rem solid transparent;
}
.lussaUI-triangle.left.down{
	border-bottom:.25rem solid #282828;
	border-right:.25rem solid transparent;
}
.lussaUI-triangle.right.up{
	border-top:.25rem solid #282828;
	border-left:.25rem solid transparent;
}
.lussaUI-triangle.right.down{
	border-bottom:.25rem solid #282828;
	border-left:.25rem solid transparent;
}


/**
 * =======================
 * 特别动画效果
 * =======================
 */

/**
 * 动画：复杂光影效果
 * .lussaUI-anim-richshine
 */
.lussaUI-anim-richshine{
	width:0;
	height:0;
	position:absolute;
	top:50%;
	left:50%;
	transform:translate(-50%, -50%);
	box-shadow:0 0 2.5rem .5rem rgba(255, 255, 255, 0.8), 0 0 5rem 1rem rgba(255, 255, 255, 0.8), 0 0 7.5rem 3.5rem rgba(200, 255, 200, 0.8), 0 0 10rem 5rem rgba(10, 150, 250, 0.8);
	animation:animRot 2.5s infinite ease-out;
	border-radius:1%;
}
.lussaUI-anim-richshine > .lussaUI-anim-richshine{
	animation:animRoty 5s infinite ease-in;
	width:2rem;
	height:2rem;
}
@keyframes animRot{
	0%{transform:translate(-50%, -50%) scale(0.5);}
}
@keyframes animRoty{
	0%{transform:translate(-50%, -50%) scale(0);}
	100%{transform:translate(-50%, -50%) scale(4);}
}

/**
 * 动画：光影一闪而过效果
 * .lussaUI-anim-shiner
 */
.lussaUI-anim-shiner{
	position:relative;
	width:100%;
	height:100%;
	overflow:hidden;
}
.lussaUI-anim-shiner::after{
	content:'';
	position:absolute;
	left:-100%;
	top:0;
	width:10%;
	height:100%;
	background:-webkit-linear-gradient(left,rgba(255,255,255,0) 0,rgba(255,255,255,.3) 50%,rgba(255,255,255,0) 100%);
	transform:skewX(-45deg);
	animation:animShiner 2s infinite ease-in-out alternate;
	overflow:hidden;
}
@keyframes animShiner{
	0%{left:-100%;}
	50%{left:-30%;}
	100%{left:150%;}
}

/**
 * 动画：正反面反转
 * .lussaUI-anim-flip
 */
.lussaUI-anim-flip{
	position:relative;
	width:100%;
	height:100%;	
}
.lussaUI-anim-flip>.front,.lussaUI-anim-flip>.back{
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	perspective:1000;
	transform-style:preserve-3d;
	backface-visibility:hidden;
	transition:.8s ease-in-out;
	overflow:hidden;
}
.lussaUI-anim-flip>.back{
	transform:rotateY(-180deg);
}
.lussaUI-anim-flip:hover>.front{
	transform:rotateY(-180deg);
}
.lussaUI-anim-flip:hover>.back{
	transform:rotateY(-360deg);
}

/**
 * 动画：屏幕振动
 * .lussaUI-anim-shakeslow
 */
.shakeslow{
	animation-name:shakeSlow;
	animation-duration:5s;
	animation-iteration-count:infinite;
	animation-timing-function:ease-in-out;
	animation-delay:0s;
	animation-play-state:running;
}
@keyframes shakeSlow{
	0% {transform:translate(0, 0) rotate(0deg);}
	2%{transform:translate(-.3rem, -.4rem) rotate(2.5deg);}
	4%{transform:translate(.15rem, -.45rem) rotate(-0.5deg);}
	6%{transform:translate(.15rem, -.4rem) rotate(2.5deg);}
	8%{transform:translate(0, .25rem) rotate(0.5deg);}
	10%{transform:translate(.15rem, .1rem) rotate(0.5deg);}
	12%{transform:translate(.4rem, 0) rotate(0.5deg);}
	14%{transform:translate(.2rem, .35rem) rotate(-3.5deg);}
	16%{transform:translate(-.2rem, 0) rotate(-0.5deg);}
	18%{transform:translate(.05rem, .15rem) rotate(-1.5deg);}
	20%{transform:translate(-.4rem, -.05rem) rotate(-3.5deg);}
	22%{transform:translate(.25rem, .45rem) rotate(2.5deg);}
	24%{transform:translate(-.45rem, -.5rem) rotate(-2.5deg);}
	26%{transform:translate(0, .35rem) rotate(-1.5deg);}
	28%{transform:translate(-.5rem, .35rem) rotate(2.5deg);}
	30%{transform:translate(.4rem, -.35rem) rotate(-1.5deg);}
	32%{transform:translate(0, -.4rem) rotate(-0.5deg);}
	34%{transform:translate(.45rem, .35rem) rotate(-0.5deg);}
	36%{transform:translate(-.35rem, .3rem) rotate(0.5deg);}
	38%{transform:translate(.4rem, -.5rem) rotate(-0.5deg);}
	40%{transform:translate(.4rem, 0) rotate(0.5deg);}
	42%{transform:translate(0, -.1rem) rotate(1.5deg);}
	44%{transform:translate(.25rem, -.1rem) rotate(-0.5deg);}
	46%{transform:translate(.05rem, -1.5rem) rotate(-2.5deg);}
	48%{transform:translate(.2rem, -.05rem) rotate(2.5deg);}
	50%{transform:translate(-.25rem, -.2rem) rotate(2.5deg);}
	52%{transform:translate(.15rem, .1rem) rotate(-3.5deg);}
	54%{transform:translate(.05rem, -.3rem) rotate(-0.5deg);}
	56%{transform:translate(-.15rem, -.2rem) rotate(-0.5deg);}
	58%{transform:translate(-.5rem, -.5rem) rotate(2.5deg);}
	60%{transform:translate(.4rem, .35rem) rotate(-3.5deg);}
	62%{transform:translate(.45rem, -.3rem) rotate(-3.5deg);}
	64%{transform:translate(-.25rem, .4rem) rotate(-0.5deg);}
	66%{transform:translate(.05rem, -.15rem) rotate(0.5deg);}
	68%{transform:translate(-.3rem, .45rem) rotate(1.5deg);}
	70%{transform:translate(-.25rem, .4rem) rotate(-1.5deg);}
	72%{transform:translate(-.5rem, -.1rem) rotate(2.5deg);}
	74%{transform:translate(0, -.2rem) rotate(1.5deg);}
	76%{transform:translate(-.1rem, -.25rem) rotate(0.5deg);}
	78%{transform:translate(-.1rem, .45rem) rotate(-3.5deg);}
	80%{transform:translate(.35rem, .2rem) rotate(-3.5deg);}
	82%{transform:translate(-.05rem, -.2rem) rotate(-1.5deg);}
	84%{transform:translate(.15rem, -.3rem) rotate(0.5deg);}
	86%{transform:translate(.35rem, -.4rem) rotate(-1.5deg);}
	88%{transform:translate(.2rem, -.45rem) rotate(1.5deg);}
	90%{transform:translate(.05rem, -.3rem) rotate(2.5deg);}
	92%{transform:translate(-.4rem, -.05rem) rotate(-1.5deg);}
	94%{transform:translate(-.2rem, -.05rem) rotate(0.5deg);}
	96%{transform:translate(-.3rem, .45rem) rotate(1.5deg);}
	98%{transform:translate(.35rem, .2rem) rotate(-0.5deg);}
}