.elementor-widget-tp-pre-loader {
	margin: 0
}

#tp-loader-wrapper {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 12345;
	opacity: 1;
	-webkit-transition: all 0.5s, opacity 1s 0.5s ease-out;
	transition: all 0.5s, opacity 1s 0.5s ease-out
}

#tp-loader {
	display: flex;
	flex-direction: column;
	position: absolute;
	left: 50%;
	top: 50%;
	z-index: 1111;
	-webkit-transform: translate(-50%, -50%);
	-moz-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	-o-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	text-align: center;
	-webkit-transition: all 0.2s ease-in;
	transition: all 0.2s ease-in;
	align-items: center
}

.tp-loaded #tp-loader {
	opacity: 0;
	-webkit-transition: all 0.4s ease-in;
	transition: all 0.4s ease-in
}

.tp-loaded #tp-loader-wrapper {
	visibility: hidden;
	opacity: 0;
	-webkit-transition: all 1.5s, background 1.5s, opacity 1.5s ease-out;
	-moz-transition: all 1.5s, background 1.5s, opacity 1.5s ease-out;
	-o-transition: all 1.5s, background 1.5s, opacity 1.5s ease-out;
	transition: all 1.5s, background 1.5s, opacity 1.5s ease-out
}

.tp-loaded .tp-duo-move-left {
	-webkit-transform: translateX(100%);
	-ms-transform: translateX(100%);
	transform: translateX(100%)
}

.tp-loaded .tp-duo-move-right {
	-webkit-transform: translateX(-100%);
	-ms-transform: translateX(-100%);
	transform: translateX(-100%)
}

.tp-loaded .tp-duo-move-top {
	-webkit-transform: translateY(100%);
	-ms-transform: translateY(100%);
	transform: translateY(100%)
}

.tp-loaded .tp-duo-move-bottom {
	-webkit-transform: translateY(-100%);
	-ms-transform: translateY(-100%);
	transform: translateY(-100%)
}

.tp-out-loaded #tp-loader {
	opacity: 1;
	-webkit-transition: all 0.4s ease-in;
	transition: all 0.4s ease-in
}

.tp-out-loaded #tp-loader-wrapper {
	visibility: visible;
	opacity: 1;
	-webkit-transition: all 1.5s, background 1.5s, opacity 1.5s ease-out;
	-moz-transition: all 1.5s, background 1.5s, opacity 1.5s ease-out;
	-o-transition: all 1.5s, background 1.5s, opacity 1.5s ease-out;
	transition: all 1.5s, background 1.5s, opacity 1.5s ease-out
}

.tp-out-loaded .tp-out-duo-move-left {
	-webkit-transform: translateX(0);
	-ms-transform: translateX(0);
	transform: translateX(0)
}

.tp-out-loaded .tp-out-duo-move-right {
	-webkit-transform: translateX(0);
	-ms-transform: translateX(0);
	transform: translateX(0)
}

.tp-out-loaded .tp-out-duo-move-top {
	-webkit-transform: translateY(0);
	-ms-transform: translateY(0);
	transform: translateY(0)
}

.tp-out-loaded .tp-out-duo-move-bottom {
	-webkit-transform: translateY(0);
	-ms-transform: translateY(0);
	transform: translateY(0)
}

#tp-preloader-logo-img {
	position: relative;
	display: block;
	text-align: center;
	max-width: 270px;
	margin: 0 auto;
	overflow: hidden;
	width: 100%
}

#tp-preloader-img {
	position: relative;
	display: block;
	text-align: center;
	margin: 40px
}

.preloader-animated-text {
	font-size: 33px;
	color: #fff;
	text-align: center;
	position: relative;
	display: block;
	line-height: 1;
	margin: 30px 0
}

.tp-preloader-animated {
	-webkit-animation-duration: 1s;
	-moz-animation-duration: 1s;
	-o-animation-duration: 1s;
	animation-duration: 1s;
	-webkit-animation-fill-mode: both;
	-moz-animation-fill-mode: both;
	-o-animation-fill-mode: both;
	animation-fill-mode: both;
	display: inline-block;
	white-space: pre
}

.tp-loader-wrapper #tp-loader .tp-preloader-animated-text {
	position: relative;
	display: block;
	width: 100%;
	height: 100%
}

@-webkit-keyframes tp-ball-grid-pulse {
	0% {
		-webkit-transform: scale(1);
		transform: scale(1)
	}
	50% {
		-webkit-transform: scale(.5);
		transform: scale(.5);
		opacity: .7
	}
	100% {
		-webkit-transform: scale(1);
		transform: scale(1);
		opacity: 1
	}
}

@keyframes tp-ball-grid-pulse {
	0% {
		-webkit-transform: scale(1);
		transform: scale(1)
	}
	50% {
		-webkit-transform: scale(.5);
		transform: scale(.5);
		opacity: .7
	}
	100% {
		-webkit-transform: scale(1);
		transform: scale(1);
		opacity: 1
	}
}

.tp-ball-grid-pulse {
	width: 57px;
	position: relative;
	display: block;
	margin: 20px auto
}

.tp-ball-grid-pulse>div:nth-child(1) {
	-webkit-animation-delay: .19s;
	animation-delay: .19s;
	-webkit-animation-duration: .98s;
	animation-duration: .98s
}

.tp-ball-grid-pulse>div:nth-child(2) {
	-webkit-animation-delay: .48s;
	animation-delay: .48s;
	-webkit-animation-duration: 1.58s;
	animation-duration: 1.58s
}

.tp-ball-grid-pulse>div:nth-child(3) {
	-webkit-animation-delay: .58s;
	animation-delay: .58s;
	-webkit-animation-duration: 1.13s;
	animation-duration: 1.13s
}

.tp-ball-grid-pulse>div:nth-child(4) {
	-webkit-animation-delay: .63s;
	animation-delay: .63s;
	-webkit-animation-duration: .98s;
	animation-duration: .98s
}

.tp-ball-grid-pulse>div:nth-child(5) {
	-webkit-animation-delay: 60ms;
	animation-delay: 60ms;
	-webkit-animation-duration: .64s;
	animation-duration: .64s
}

.tp-ball-grid-pulse>div:nth-child(6) {
	-webkit-animation-delay: .38s;
	animation-delay: .38s;
	-webkit-animation-duration: .85s;
	animation-duration: .85s
}

.tp-ball-grid-pulse>div:nth-child(7) {
	-webkit-animation-delay: -60ms;
	animation-delay: -60ms;
	-webkit-animation-duration: 1.53s;
	animation-duration: 1.53s
}

.tp-ball-grid-pulse>div:nth-child(8) {
	-webkit-animation-delay: .57s;
	animation-delay: .57s;
	-webkit-animation-duration: .76s;
	animation-duration: .76s
}

.tp-ball-grid-pulse>div:nth-child(9) {
	-webkit-animation-delay: .73s;
	animation-delay: .73s;
	-webkit-animation-duration: .98s;
	animation-duration: .98s
}

.tp-ball-grid-pulse>div {
	width: 15px;
	-webkit-animation-fill-mode: both;
	animation-fill-mode: both;
	float: left;
	-webkit-animation-name: tp-ball-grid-pulse;
	animation-name: tp-ball-grid-pulse;
	-webkit-animation-iteration-count: infinite;
	animation-iteration-count: infinite;
	-webkit-animation-delay: 0;
	animation-delay: 0
}

.tp-ball-grid-pulse>div {
	height: 15px;
	border-radius: 100%;
	display: inline-block;
	background-color: #fff;
	margin: 2px
}

.tp-ball-triangle-path>div:nth-child(1),
.tp-ball-triangle-path>div:nth-child(2) {
	-webkit-animation-duration: 2s;
	-webkit-animation-timing-function: ease-in-out;
	-webkit-animation-iteration-count: infinite
}

@-webkit-keyframes tp-ball-triangle-path-1 {
	33% {
		-webkit-transform: translate(25px, -50px);
		transform: translate(25px, -50px)
	}
	66% {
		-webkit-transform: translate(50px, 0);
		transform: translate(50px, 0)
	}
	100% {
		-webkit-transform: translate(0, 0);
		transform: translate(0, 0)
	}
}

@keyframes tp-ball-triangle-path-1 {
	33% {
		-webkit-transform: translate(25px, -50px);
		transform: translate(25px, -50px)
	}
	66% {
		-webkit-transform: translate(50px, 0);
		transform: translate(50px, 0)
	}
	100% {
		-webkit-transform: translate(0, 0);
		transform: translate(0, 0)
	}
}

@-webkit-keyframes tp-ball-triangle-path-2 {
	33% {
		-webkit-transform: translate(25px, 50px);
		transform: translate(25px, 50px)
	}
	66% {
		-webkit-transform: translate(-25px, 50px);
		transform: translate(-25px, 50px)
	}
	100% {
		-webkit-transform: translate(0, 0);
		transform: translate(0, 0)
	}
}

@keyframes tp-ball-triangle-path-2 {
	33% {
		-webkit-transform: translate(25px, 50px);
		transform: translate(25px, 50px)
	}
	66% {
		-webkit-transform: translate(-25px, 50px);
		transform: translate(-25px, 50px)
	}
	100% {
		-webkit-transform: translate(0, 0);
		transform: translate(0, 0)
	}
}

@-webkit-keyframes tp-ball-triangle-path-3 {
	33% {
		-webkit-transform: translate(-50px, 0);
		transform: translate(-50px, 0)
	}
	66% {
		-webkit-transform: translate(-25px, -50px);
		transform: translate(-25px, -50px)
	}
	100% {
		-webkit-transform: translate(0, 0);
		transform: translate(0, 0)
	}
}

@keyframes tp-ball-triangle-path-3 {
	33% {
		-webkit-transform: translate(-50px, 0);
		transform: translate(-50px, 0)
	}
	66% {
		-webkit-transform: translate(-25px, -50px);
		transform: translate(-25px, -50px)
	}
	100% {
		-webkit-transform: translate(0, 0);
		transform: translate(0, 0)
	}
}

.tp-ball-triangle-path {
	position: relative;
	position: relative;
	display: inline-block;
	width: 100%;
	left: 0;
	right: 0;
	text-align: center;
	margin: 70px auto
}

.tp-ball-triangle-path>div:nth-child(1) {
	-webkit-animation-name: tp-ball-triangle-path-1;
	animation-name: tp-ball-triangle-path-1;
	-webkit-animation-delay: 0;
	animation-delay: 0;
	animation-duration: 2s;
	animation-timing-function: ease-in-out;
	animation-iteration-count: infinite
}

.tp-ball-triangle-path>div:nth-child(2) {
	-webkit-animation-name: tp-ball-triangle-path-2;
	animation-name: tp-ball-triangle-path-2;
	-webkit-animation-delay: 0;
	animation-delay: 0;
	animation-duration: 2s;
	animation-timing-function: ease-in-out;
	animation-iteration-count: infinite
}

.tp-ball-triangle-path>div:nth-child(3) {
	-webkit-animation-name: tp-ball-triangle-path-3;
	animation-name: tp-ball-triangle-path-3;
	-webkit-animation-delay: 0;
	animation-delay: 0;
	-webkit-animation-duration: 2s;
	animation-duration: 2s;
	-webkit-animation-timing-function: ease-in-out;
	animation-timing-function: ease-in-out;
	-webkit-animation-iteration-count: infinite;
	animation-iteration-count: infinite
}

.tp-ball-triangle-path>div {
	-webkit-animation-fill-mode: both;
	animation-fill-mode: both;
	position: absolute;
	width: 10px;
	height: 10px;
	border-radius: 100%;
	border: 1px solid #fff;
	left: 0;
	right: 0;
	margin: 0 auto
}

@-webkit-keyframes tp-ball-scale-ripple-multiple {
	0% {
		-webkit-transform: scale(.1);
		transform: scale(.1);
		opacity: 1
	}
	70% {
		-webkit-transform: scale(1);
		transform: scale(1);
		opacity: .7
	}
	100% {
		opacity: 0
	}
}

@keyframes tp-ball-scale-ripple-multiple {
	0% {
		-webkit-transform: scale(.1);
		transform: scale(.1);
		opacity: 1
	}
	70% {
		-webkit-transform: scale(1);
		transform: scale(1);
		opacity: .7
	}
	100% {
		opacity: 0
	}
}

.tp-ball-scale-ripple-multiple {
	position: relative;
	margin: 20px 10px;
	display: block;
	text-align: center;
	width: 100%;
	z-index: 1111
}

.tp-ball-scale-ripple-multiple>div:nth-child(0) {
	-webkit-animation-delay: -.8s;
	animation-delay: -.8s
}

.tp-ball-scale-ripple-multiple>div:nth-child(1) {
	-webkit-animation-delay: -.6s;
	animation-delay: -.6s
}

.tp-ball-scale-ripple-multiple>div:nth-child(2) {
	-webkit-animation-delay: -.4s;
	animation-delay: -.4s
}

.tp-ball-scale-ripple-multiple>div:nth-child(3) {
	-webkit-animation-delay: -.2s;
	animation-delay: -.2s
}

.tp-ball-scale-ripple-multiple>div {
	position: absolute;
	top: -2px;
	left: -25px;
	right: -5px;
	width: 50px;
	height: 50px;
	border-radius: 100%;
	border: 2px solid #fff;
	-webkit-animation: tp-ball-scale-ripple-multiple 1.25s 0s infinite cubic-bezier(.21, .53, .56, .8);
	animation: tp-ball-scale-ripple-multiple 1.25s 0s infinite cubic-bezier(.21, .53, .56, .8);
	text-align: center;
	margin: 0 auto
}

@-webkit-keyframes tp-triangle-skew-spin {
	25% {
		-webkit-transform: perspective(100px) rotateX(180deg) rotateY(0);
		transform: perspective(100px) rotateX(180deg) rotateY(0)
	}
	50% {
		-webkit-transform: perspective(100px) rotateX(180deg) rotateY(180deg);
		transform: perspective(100px) rotateX(180deg) rotateY(180deg)
	}
	75% {
		-webkit-transform: perspective(100px) rotateX(0) rotateY(180deg);
		transform: perspective(100px) rotateX(0) rotateY(180deg)
	}
	100% {
		-webkit-transform: perspective(100px) rotateX(0) rotateY(0);
		transform: perspective(100px) rotateX(0) rotateY(0)
	}
}

@keyframes tp-triangle-skew-spin {
	25% {
		-webkit-transform: perspective(100px) rotateX(180deg) rotateY(0);
		transform: perspective(100px) rotateX(180deg) rotateY(0)
	}
	50% {
		-webkit-transform: perspective(100px) rotateX(180deg) rotateY(180deg);
		transform: perspective(100px) rotateX(180deg) rotateY(180deg)
	}
	75% {
		-webkit-transform: perspective(100px) rotateX(0) rotateY(180deg);
		transform: perspective(100px) rotateX(0) rotateY(180deg)
	}
	100% {
		-webkit-transform: perspective(100px) rotateX(0) rotateY(0);
		transform: perspective(100px) rotateX(0) rotateY(0)
	}
}

.tp-triangle-skew-spin {
	position: relative;
	display: block;
	text-align: center;
	margin-top: 30px;
	width: 100%
}

.tp-triangle-skew-spin>div {
	width: 0;
	height: 0;
	border-left: 20px solid transparent;
	border-right: 20px solid transparent;
	border-bottom: 20px solid #fff;
	-webkit-animation: tp-triangle-skew-spin 3s 0s cubic-bezier(.09, .57, .49, .9) infinite;
	animation: tp-triangle-skew-spin 3s 0s cubic-bezier(.09, .57, .49, .9) infinite;
	margin: 0 auto
}

.tp-rounded-triangle {
	height: 2em;
	width: 2em;
	border-radius: 100%;
	background: #fff;
	display: block;
	position: relative;
	animation: tp-rounded-triangle-spin 2s ease infinite;
	left: 0;
	right: 0;
	text-align: center;
	margin: 0 auto;
	margin-top: 80px
}

.tp-rounded-triangle:before,
.tp-rounded-triangle:after {
	content: '';
	display: block;
	position: absolute;
	height: inherit;
	width: inherit;
	background: inherit;
	border-radius: inherit;
	animation: tp-rounded-triangle-spin 2s ease infinite
}

.tp-rounded-triangle:before {
	left: -2.3em
}

.tp-rounded-triangle:after {
	left: 2.3em
}

@keyframes tp-rounded-triangle-spin {
	0% {
		top: 0;
		transform: rotate(0deg)
	}
	50% {
		top: -4em;
		transform: rotate(-180deg)
	}
	100% {
		top: 0;
		transform: rotate(-360deg)
	}
}

.tp_preloader_audio_wave {
	width: 54px;
	height: 25px;
	position: absolute;
	left: 50%;
	margin-left: -27px
}

.tp_preloader_audio_wave span {
	display: block;
	bottom: 0;
	width: 9px;
	height: 5px;
	background: #9b59b6;
	position: absolute;
	-webkit-animation: tp_preloader_1 1.5s infinite ease-in-out;
	-moz-animation: tp_preloader_1 1.5s infinite ease-in-out;
	-ms-animation: tp_preloader_1 1.5s infinite ease-in-out;
	-o-animation: tp_preloader_1 1.5s infinite ease-in-out;
	animation: tp_preloader_1 1.5s infinite ease-in-out
}

.tp_preloader_audio_wave span:nth-child(2) {
	left: 11px;
	-webkit-animation-delay: .2s;
	-moz-animation-delay: .2s;
	-ms-animation-delay: .2s;
	-o-animation-delay: .2s;
	animation-delay: .2s
}

.tp_preloader_audio_wave span:nth-child(3) {
	left: 22px;
	-webkit-animation-delay: .4s;
	-moz-animation-delay: .4s;
	-ms-animation-delay: .4s;
	-o-animation-delay: .4s;
	animation-delay: .4s
}

.tp_preloader_audio_wave span:nth-child(4) {
	left: 33px;
	-webkit-animation-delay: .6s;
	-moz-animation-delay: .6s;
	-ms-animation-delay: .6s;
	-o-animation-delay: .6s;
	animation-delay: .6s
}

.tp_preloader_audio_wave span:nth-child(5) {
	left: 44px;
	-webkit-animation-delay: .8s;
	-moz-animation-delay: .8s;
	-ms-animation-delay: .8s;
	-o-animation-delay: .8s;
	animation-delay: .8s
}

@-webkit-keyframes tp_preloader_1 {
	0% {
		height: 5px;
		-webkit-transform: translateY(0);
		background: #000
	}
	25% {
		height: 30px;
		-webkit-transform: translateY(15px);
		background: #ff214f
	}
	50% {
		height: 5px;
		-webkit-transform: translateY(0);
		background: #000
	}
	100% {
		height: 5px;
		-webkit-transform: translateY(0);
		background: #000
	}
}

@-moz-keyframes tp_preloader_1 {
	0% {
		height: 5px;
		-moz-transform: translateY(0);
		background: #000
	}
	25% {
		height: 30px;
		-moz-transform: translateY(15px);
		background: #ff214f
	}
	50% {
		height: 5px;
		-moz-transform: translateY(0);
		background: #000
	}
	100% {
		height: 5px;
		-moz-transform: translateY(0);
		background: #000
	}
}

@-ms-keyframes tp_preloader_1 {
	0% {
		height: 5px;
		-ms-transform: translateY(0);
		background: #000
	}
	25% {
		height: 30px;
		-ms-transform: translateY(15px);
		background: #ff214f
	}
	50% {
		height: 5px;
		-ms-transform: translateY(0);
		background: #000
	}
	100% {
		height: 5px;
		-ms-transform: translateY(0);
		background: #000
	}
}

@keyframes tp_preloader_1 {
	0% {
		height: 5px;
		transform: translateY(0);
		background: #000
	}
	25% {
		height: 30px;
		transform: translateY(15px);
		background: #ff214f
	}
	50% {
		height: 5px;
		transform: translateY(0);
		background: #000
	}
	100% {
		height: 5px;
		transform: translateY(0);
		background: #000
	}
}

.tp_typing_loader {
	width: 6px;
	height: 6px;
	border-radius: 50%;
	-webkit-animation: tp_typing_loader 1s linear infinite alternate;
	-moz-animation: tp_typing_loader 1s linear infinite alternate;
	animation: tp_typing_loader 1s linear infinite alternate;
	margin: 10px auto;
	position: relative;
	transform: translateX(-13px);
	margin-top: 40px
}

@-webkit-keyframes tp_typing_loader {
	0% {
		background-color: rgba(255, 255, 255, 1);
		box-shadow: 12px 0 0 0 rgba(255, 255, 255, .2), 24px 0 0 0 rgba(255, 255, 255, .2)
	}
	25% {
		background-color: rgba(255, 255, 255, .4);
		box-shadow: 12px 0 0 0 rgba(255, 255, 255, 2), 24px 0 0 0 rgba(255, 255, 255, .2)
	}
	75% {
		background-color: rgba(255, 255, 255, .4);
		box-shadow: 12px 0 0 0 rgba(255, 255, 255, .2), 24px 0 0 0 rgba(255, 255, 255, 1)
	}
}

@-moz-keyframes tp_typing_loader {
	0% {
		background-color: rgba(255, 255, 255, 1);
		box-shadow: 12px 0 0 0 rgba(255, 255, 255, .2), 24px 0 0 0 rgba(255, 255, 255, .2)
	}
	25% {
		background-color: rgba(255, 255, 255, .4);
		box-shadow: 12px 0 0 0 rgba(255, 255, 255, 2), 24px 0 0 0 rgba(255, 255, 255, .2)
	}
	75% {
		background-color: rgba(255, 255, 255, .4);
		box-shadow: 12px 0 0 0 rgba(255, 255, 255, .2), 24px 0 0 0 rgba(255, 255, 255, 1)
	}
}

@keyframes tp_typing_loader {
	0% {
		background-color: rgba(255, 255, 255, 1);
		box-shadow: 12px 0 0 0 rgba(255, 255, 255, .2), 24px 0 0 0 rgba(255, 255, 255, .2)
	}
	25% {
		background-color: rgba(255, 255, 255, .4);
		box-shadow: 12px 0 0 0 rgba(255, 255, 255, 2), 24px 0 0 0 rgba(255, 255, 255, .2)
	}
	75% {
		background-color: rgba(255, 255, 255, .4);
		box-shadow: 12px 0 0 0 rgba(255, 255, 255, .2), 24px 0 0 0 rgba(255, 255, 255, 1)
	}
}

.tp-preloader-help {
	width: 40px;
	height: 40px;
	border: 1px #fff solid;
	border-radius: 50%;
	-webkit-animation: tp_preloader_rotation 1s ease-in-out infinite;
	-moz-animation: tp_preloader_rotation 1s ease-in-out infinite;
	animation: tp_preloader_rotation 1s ease-in-out infinite;
	margin: 10px auto;
	margin-top: 40px
}

.tp-preloader-help:after {
	width: 5px;
	height: 5px;
	background-color: rgba(255, 255, 255, 1);
	border-radius: 100%;
	position: absolute;
	content: ""
}

@-webkit-keyframes tp_preloader_rotation {
	0% {
		-webkit-transform: rotate(0deg)
	}
	100% {
		-webkit-transform: rotate(360deg)
	}
}

@-moz-keyframes tp_preloader_rotation {
	0% {
		-moz-transform: rotate(0deg)
	}
	100% {
		-moz-transform: rotate(360deg)
	}
}

@keyframes tp_preloader_rotation {
	0% {
		transform: rotate(0deg)
	}
	100% {
		transform: rotate(360deg)
	}
}

.tp-preloader-cord {
	position: relative;
	display: block;
	text-align: center
}

.tp-preloader-cord .tp-cord {
	padding-top: 50%;
	width: 15px;
	transform: rotate(0deg);
	transform-origin: 50% 50%;
	display: inline-block;
	position: relative;
	margin: 0 auto;
	text-align: center
}

.tp-preloader-cord .tp-ball {
	background: #333;
	width: 15px;
	height: 15px;
	float: left;
	border-radius: 50%
}

.tp-preloader-cord .tp-shadows {
	clear: left;
	padding-top: 0;
	margin-left: -2px
}

.tp-preloader-cord .tp-shadows div {
	display: inline-block;
	margin-left: 2px;
	width: 13px;
	height: 3px;
	border-radius: 50%;
	box-shadow: 0 0 3px rgba(204, 204, 204, .3);
	background: rgba(204, 204, 204, .3)
}

.tp-leftMove {
	animation: tp-leftBall .5s ease-in-out 0s infinite alternate
}

.tp-rightMove {
	animation: tp-rightBall .5s ease-in-out 0s infinite alternate
}

.tp-leftShadow {
	animation: tp-leftShadowN .5s ease-in-out 0s infinite alternate
}

.tp-rightShadow {
	animation: tp-rightShadowN .5s ease-in-out 0s infinite alternate
}

@keyframes tp-leftBall {
	0% {
		transform: rotate(0deg) translateY(0)
	}
	50% {
		transform: rotate(0deg) translateY(0)
	}
	100% {
		transform: rotate(50deg) translateY(-20px)
	}
}

@keyframes tp-rightBall {
	0% {
		transform: rotate(-50deg) translateY(-20px)
	}
	50% {
		transform: rotate(0deg) translateY(0)
	}
	100% {
		transform: rotate(0deg) translateY(0) translateX(0)
	}
}

@keyframes tp-leftShadowN {
	0% {
		transform: translateX(0)
	}
	50% {
		transform: translateX(0)
	}
	100% {
		transform: translateX(-25px)
	}
}

@keyframes tp-rightShadowN {
	0% {
		transform: translateX(25px)
	}
	50% {
		transform: translateY(0)
	}
	100% {
		transform: translateY(0)
	}
}

.tp-preloader-dot {
	position: relative;
	display: block;
	margin-top: 40px;
	text-align: center
}

.tp-preloader-dots {
	display: inline-block;
	position: relative;
	vertical-align: middle
}

.tp-preloader-dots:not(:last-child) {
	margin-right: 9px
}

.tp-preloader-dots:before,
.tp-preloader-dots:after {
	content: "";
	display: inline-block;
	width: 6px;
	height: 6px;
	border-radius: 50%;
	position: absolute
}

.tp-preloader-dots:nth-child(1):before {
	-webkit-transform: translateY(-200%);
	transform: translateY(-200%);
	-webkit-animation: tp-animBefore 1s linear infinite;
	animation: tp-animBefore 1s linear infinite;
	-webkit-animation-delay: -0.9s;
	animation-delay: -0.9s;
	background-color: red
}

.tp-preloader-dots:nth-child(1):after {
	-webkit-transform: translateY(200%);
	transform: translateY(200%);
	-webkit-animation: tp-animAfter 1s linear infinite;
	animation: tp-animAfter 1s linear infinite;
	-webkit-animation-delay: -0.9s;
	animation-delay: -0.9s;
	background-color: #777
}

.tp-preloader-dots:nth-child(2):before {
	-webkit-transform: translateY(-200%);
	transform: translateY(-200%);
	-webkit-animation: tp-animBefore 1s linear infinite;
	animation: tp-animBefore 1s linear infinite;
	-webkit-animation-delay: -1.8s;
	animation-delay: -1.8s;
	background-color: red
}

.tp-preloader-dots:nth-child(2):after {
	-webkit-transform: translateY(200%);
	transform: translateY(200%);
	-webkit-animation: tp-animAfter 1s linear infinite;
	animation: tp-animAfter 1s linear infinite;
	-webkit-animation-delay: -1.8s;
	animation-delay: -1.8s;
	background-color: #777
}

.tp-preloader-dots:nth-child(3):before {
	-webkit-transform: translateY(-200%);
	transform: translateY(-200%);
	-webkit-animation: tp-animBefore 1s linear infinite;
	animation: tp-animBefore 1s linear infinite;
	-webkit-animation-delay: -2.7s;
	animation-delay: -2.7s;
	background-color: red
}

.tp-preloader-dots:nth-child(3):after {
	-webkit-transform: translateY(200%);
	transform: translateY(200%);
	-webkit-animation: tp-animAfter 1s linear infinite;
	animation: tp-animAfter 1s linear infinite;
	-webkit-animation-delay: -2.7s;
	animation-delay: -2.7s;
	background-color: #777
}

.tp-preloader-dots:nth-child(4):before {
	-webkit-transform: translateY(-200%);
	transform: translateY(-200%);
	-webkit-animation: tp-animBefore 1s linear infinite;
	animation: tp-animBefore 1s linear infinite;
	-webkit-animation-delay: -3.6s;
	animation-delay: -3.6s;
	background-color: red
}

.tp-preloader-dots:nth-child(4):after {
	-webkit-transform: translateY(200%);
	transform: translateY(200%);
	-webkit-animation: tp-animAfter 1s linear infinite;
	animation: tp-animAfter 1s linear infinite;
	-webkit-animation-delay: -3.6s;
	animation-delay: -3.6s;
	background-color: #777
}

.tp-preloader-dots:nth-child(5):before {
	-webkit-transform: translateY(-200%);
	transform: translateY(-200%);
	-webkit-animation: tp-animBefore 1s linear infinite;
	animation: tp-animBefore 1s linear infinite;
	-webkit-animation-delay: -4.5s;
	animation-delay: -4.5s;
	background-color: red
}

.tp-preloader-dots:nth-child(5):after {
	-webkit-transform: translateY(200%);
	transform: translateY(200%);
	-webkit-animation: tp-animAfter 1s linear infinite;
	animation: tp-animAfter 1s linear infinite;
	-webkit-animation-delay: -4.5s;
	animation-delay: -4.5s;
	background-color: #777
}

.tp-preloader-dots:nth-child(6):before {
	-webkit-transform: translateY(-200%);
	transform: translateY(-200%);
	-webkit-animation: tp-animBefore 1s linear infinite;
	animation: tp-animBefore 1s linear infinite;
	-webkit-animation-delay: -5.4s;
	animation-delay: -5.4s;
	background-color: red
}

.tp-preloader-dots:nth-child(6):after {
	-webkit-transform: translateY(200%);
	transform: translateY(200%);
	-webkit-animation: tp-animAfter 1s linear infinite;
	animation: tp-animAfter 1s linear infinite;
	-webkit-animation-delay: -5.4s;
	animation-delay: -5.4s;
	background-color: #777
}

.tp-preloader-dots:nth-child(7):before {
	-webkit-transform: translateY(-200%);
	transform: translateY(-200%);
	-webkit-animation: tp-animBefore 1s linear infinite;
	animation: tp-animBefore 1s linear infinite;
	-webkit-animation-delay: -6.3s;
	animation-delay: -6.3s;
	background-color: red
}

.tp-preloader-dots:nth-child(7):after {
	-webkit-transform: translateY(200%);
	transform: translateY(200%);
	-webkit-animation: tp-animAfter 1s linear infinite;
	animation: tp-animAfter 1s linear infinite;
	-webkit-animation-delay: -6.3s;
	animation-delay: -6.3s;
	background-color: #777
}

.tp-preloader-dots:nth-child(8):before {
	-webkit-transform: translateY(-200%);
	transform: translateY(-200%);
	-webkit-animation: tp-animBefore 1s linear infinite;
	animation: tp-animBefore 1s linear infinite;
	-webkit-animation-delay: -7.2s;
	animation-delay: -7.2s;
	background-color: red
}

.tp-preloader-dots:nth-child(8):after {
	-webkit-transform: translateY(200%);
	transform: translateY(200%);
	-webkit-animation: tp-animAfter 1s linear infinite;
	animation: tp-animAfter 1s linear infinite;
	-webkit-animation-delay: -7.2s;
	animation-delay: -7.2s;
	background-color: #777
}

.tp-preloader-dots:nth-child(9):before {
	-webkit-transform: translateY(-200%);
	transform: translateY(-200%);
	-webkit-animation: tp-animBefore 1s linear infinite;
	animation: tp-animBefore 1s linear infinite;
	-webkit-animation-delay: -8.1s;
	animation-delay: -8.1s;
	background-color: red
}

.tp-preloader-dots:nth-child(9):after {
	-webkit-transform: translateY(200%);
	transform: translateY(200%);
	-webkit-animation: tp-animAfter 1s linear infinite;
	animation: tp-animAfter 1s linear infinite;
	-webkit-animation-delay: -8.1s;
	animation-delay: -8.1s;
	background-color: #777
}

.tp-preloader-dots:nth-child(10):before {
	-webkit-transform: translateY(-200%);
	transform: translateY(-200%);
	-webkit-animation: tp-animBefore 1s linear infinite;
	animation: tp-animBefore 1s linear infinite;
	-webkit-animation-delay: -9s;
	animation-delay: -9s;
	background-color: red
}

.tp-preloader-dots:nth-child(10):after {
	-webkit-transform: translateY(200%);
	transform: translateY(200%);
	-webkit-animation: tp-animAfter 1s linear infinite;
	animation: tp-animAfter 1s linear infinite;
	-webkit-animation-delay: -9s;
	animation-delay: -9s;
	background-color: #777
}

@-webkit-keyframes tp-animBefore {
	0% {
		-webkit-transform: scale(1) translateY(-200%);
		z-index: 1
	}
	25% {
		-webkit-transform: scale(1.3) translateY(0);
		z-index: 1
	}
	50% {
		-webkit-transform: scale(1) translateY(200%);
		z-index: -1
	}
	75% {
		-webkit-transform: scale(.7) translateY(0);
		z-index: -1
	}
	100% {
		-webkit-transform: scale(1) translateY(-200%);
		z-index: -1
	}
}

@keyframes tp-animBefore {
	0% {
		transform: scale(1) translateY(-200%);
		z-index: 1
	}
	25% {
		transform: scale(1.3) translateY(0);
		z-index: 1
	}
	50% {
		transform: scale(1) translateY(200%);
		z-index: -1
	}
	75% {
		transform: scale(.7) translateY(0);
		z-index: -1
	}
	100% {
		transform: scale(1) translateY(-200%);
		z-index: -1
	}
}

@-webkit-keyframes tp-animAfter {
	0% {
		-webkit-transform: scale(1) translateY(200%);
		z-index: -1
	}
	25% {
		-webkit-transform: scale(.7) translateY(0);
		z-index: -1
	}
	50% {
		-webkit-transform: scale(1) translateY(-200%);
		z-index: 1
	}
	75% {
		-webkit-transform: scale(1.3) translateY(0);
		z-index: 1
	}
	100% {
		-webkit-transform: scale(1) translateY(200%);
		z-index: 1
	}
}

@keyframes tp-animAfter {
	0% {
		transform: scale(1) translateY(200%);
		z-index: -1
	}
	25% {
		transform: scale(.7) translateY(0);
		z-index: -1
	}
	50% {
		transform: scale(1) translateY(-200%);
		z-index: 1
	}
	75% {
		transform: scale(1.3) translateY(0);
		z-index: 1
	}
	100% {
		transform: scale(1) translateY(200%);
		z-index: 1
	}
}

.tp-tp-preloader-12-main {
	position: relative;
	display: inline-block;
	margin-left: -55px
}

.tp-preloader-12 {
	display: inline-block;
	width: 8px;
	height: 8px;
	border-radius: 4px;
	background: #ccc;
	position: absolute
}

.tp_dot_1 {
	animation: tp-animateDot1 1.5s linear infinite;
	left: 12px;
	background: #e579b8
}

.tp_dot_2 {
	animation: tp-animateDot2 1.5s linear infinite;
	animation-delay: 0.5s;
	left: 24px
}

.tp_dot_3 {
	animation: tp-animateDot3 1.5s linear infinite;
	left: 12px
}

.tp_dot_4 {
	animation: tp-animateDot4 1.5s linear infinite;
	animation-delay: 0.5s;
	left: 24px
}

@keyframes tp-animateDot1 {
	0% {
		transform: rotate(0deg) translateX(-12px)
	}
	25% {
		transform: rotate(180deg) translateX(-12px)
	}
	75% {
		transform: rotate(180deg) translateX(-12px)
	}
	100% {
		transform: rotate(360deg) translateX(-12px)
	}
}

@keyframes tp-animateDot2 {
	0% {
		transform: rotate(0deg) translateX(-12px)
	}
	25% {
		transform: rotate(-180deg) translateX(-12px)
	}
	75% {
		transform: rotate(-180deg) translateX(-12px)
	}
	100% {
		transform: rotate(-360deg) translateX(-12px)
	}
}

@keyframes tp-animateDot3 {
	0% {
		transform: rotate(0deg) translateX(12px)
	}
	25% {
		transform: rotate(180deg) translateX(12px)
	}
	75% {
		transform: rotate(180deg) translateX(12px)
	}
	100% {
		transform: rotate(360deg) translateX(12px)
	}
}

@keyframes tp-animateDot4 {
	0% {
		transform: rotate(0deg) translateX(12px)
	}
	25% {
		transform: rotate(-180deg) translateX(12px)
	}
	75% {
		transform: rotate(-180deg) translateX(12px)
	}
	100% {
		transform: rotate(-360deg) translateX(12px)
	}
}

.tp_preloader_the_shake {
	position: relative;
	width: auto;
	left: 50%;
	margin-left: -50px
}

.tp_preloader_the_shake span {
	position: absolute;
	width: 20px;
	height: 20px;
	background: #000;
	opacity: .5;
	border-radius: 20px;
	-webkit-animation: tp_preloader_4 1s infinite ease-in-out;
	-moz-animation: tp_preloader_4 1s infinite ease-in-out;
	-ms-animation: tp_preloader_4 1s infinite ease-in-out;
	-animation: tp_preloader_4 1s infinite ease-in-out
}

.tp_preloader_the_shake span:nth-child(2) {
	left: 20px;
	-webkit-animation-delay: .2s;
	-moz-animation-delay: .2s;
	-ms-animation-delay: .2s;
	animation-delay: .2s
}

.tp_preloader_the_shake span:nth-child(3) {
	left: 40px;
	-webkit-animation-delay: .4s;
	-moz-animation-delay: .4s;
	-ms-animation-delay: .4s;
	animation-delay: .4s
}

.tp_preloader_the_shake span:nth-child(4) {
	left: 60px;
	-webkit-animation-delay: .6s;
	-moz-animation-delay: .6s;
	-ms-animation-delay: .6s;
	animation-delay: .6s
}

.tp_preloader_the_shake span:nth-child(5) {
	left: 80px;
	-webkit-animation-delay: .8s;
	-moz-animation-delay: .8s;
	-ms-animation-delay: .8s;
	animation-delay: .8s
}

@-webkit-keyframes tp_preloader_4 {
	0% {
		opacity: .3;
		-webkit-transform: translateY(0);
		box-shadow: 0 0 3px rgba(0, 0, 0, .1)
	}
	50% {
		opacity: 1;
		-webkit-transform: translateY(-10px);
		background: #f1c40f;
		box-shadow: 0 20px 3px rgba(0, 0, 0, .05)
	}
	100% {
		opacity: .3;
		-webkit-transform: translateY(0);
		box-shadow: 0 0 3px rgba(0, 0, 0, .1)
	}
}

@-moz-keyframes tp_preloader_4 {
	0% {
		opacity: .3;
		-moz-transform: translateY(0);
		box-shadow: 0 0 3px rgba(0, 0, 0, .1)
	}
	50% {
		opacity: 1;
		-moz-transform: translateY(-10px);
		background: #f1c40f;
		box-shadow: 0 20px 3px rgba(0, 0, 0, .05)
	}
	100% {
		opacity: .3;
		-moz-transform: translateY(0);
		box-shadow: 0 0 3px rgba(0, 0, 0, .1)
	}
}

@-ms-keyframes tp_preloader_4 {
	0% {
		opacity: .3;
		-ms-transform: translateY(0);
		box-shadow: 0 0 3px rgba(0, 0, 0, .1)
	}
	50% {
		opacity: 1;
		-ms-transform: translateY(-10px);
		background: #f1c40f;
		box-shadow: 0 20px 3px rgba(0, 0, 0, .05)
	}
	100% {
		opacity: .3;
		-ms-transform: translateY(0);
		box-shadow: 0 0 3px rgba(0, 0, 0, .1)
	}
}

@keyframes tp_preloader_4 {
	0% {
		opacity: .3;
		transform: translateY(0);
		box-shadow: 0 0 3px rgba(0, 0, 0, .1)
	}
	50% {
		opacity: 1;
		transform: translateY(-10px);
		background: #f1c40f;
		box-shadow: 0 20px 3px rgba(0, 0, 0, .05)
	}
	100% {
		opacity: .3;
		transform: translateY(0);
		box-shadow: 0 0 3px rgba(0, 0, 0, .1)
	}
}

.tp_preloader_spinning_disc_block {
	width: 30px;
	height: 30px
}

.tp_preloader_spinning_disc {
	position: relative;
	width: 30px;
	height: 30px;
	background: #000;
	border-radius: 50px;
	-webkit-animation: tp_preloader_5 1.5s infinite linear;
	-moz-animation: tp_preloader_5 1.5s infinite linear;
	-ms-animation: tp_preloader_5 1.5s infinite linear;
	animation: tp_preloader_5 1.5s infinite linear
}

.tp_preloader_spinning_disc:after {
	position: absolute;
	width: 70px;
	height: 70px;
	border-top: 10px solid #ff214f;
	border-bottom: 10px solid #ff214f;
	border-left: 10px solid transparent;
	border-right: 10px solid transparent;
	border-radius: 50px;
	content: '';
	top: -20px;
	left: -20px;
	-webkit-animation: tp_preloader_5_after 1.5s infinite linear;
	-moz-animation: tp_preloader_5_after 1.5s infinite linear;
	-ms-animation: tp_preloader_5_after 1.5s infinite linear;
	animation: tp_preloader_5_after 1.5s infinite linear;
	-webkit-box-sizing: initial;
	box-sizing: initial
}

@-webkit-keyframes tp_preloader_5 {
	0% {
		-webkit-transform: rotate(0deg)
	}
	50% {
		-webkit-transform: rotate(180deg);
		background: #000
	}
	100% {
		-webkit-transform: rotate(360deg)
	}
}

@-webkit-keyframes tp_preloader_5_after {
	0% {
		border-top: 10px solid #ff214f;
		border-bottom: 10px solid #ff214f
	}
	50% {
		border-top: 10px solid #000;
		border-bottom: 10px solid #000
	}
	100% {
		border-top: 10px solid #ff214f;
		border-bottom: 10px solid #ff214f
	}
}

@-moz-keyframes tp_preloader_5 {
	0% {
		-moz-transform: rotate(0deg)
	}
	50% {
		-moz-transform: rotate(180deg);
		background: #2ecc71
	}
	100% {
		-moz-transform: rotate(360deg)
	}
}

@-moz-keyframes tp_preloader_5_after {
	0% {
		border-top: 10px solid #ff214f;
		border-bottom: 10px solid #ff214f
	}
	50% {
		border-top: 10px solid #000;
		border-bottom: 10px solid #000
	}
	100% {
		border-top: 10px solid #ff214f;
		border-bottom: 10px solid #ff214f
	}
}

@-ms-keyframes tp_preloader_5 {
	0% {
		-ms-transform: rotate(0deg)
	}
	50% {
		-ms-transform: rotate(180deg);
		background: #2ecc71
	}
	100% {
		-ms-transform: rotate(360deg)
	}
}

@-ms-keyframes tp_preloader_5_after {
	0% {
		border-top: 10px solid #ff214f;
		border-bottom: 10px solid #ff214f
	}
	50% {
		border-top: 10px solid #000;
		border-bottom: 10px solid #000
	}
	100% {
		border-top: 10px solid #ff214f;
		border-bottom: 10px solid #ff214f
	}
}

@keyframes tp_preloader_5 {
	0% {
		transform: rotate(0deg)
	}
	50% {
		transform: rotate(180deg);
		background: #2ecc71
	}
	100% {
		transform: rotate(360deg)
	}
}

@keyframes tp_preloader_5_after {
	0% {
		border-top: 10px solid #ff214f;
		border-bottom: 10px solid #ff214f
	}
	50% {
		border-top: 10px solid #000;
		border-bottom: 10px solid #000
	}
	100% {
		border-top: 10px solid #ff214f;
		border-bottom: 10px solid #ff214f
	}
}

#tp-loader-wrapper#tp-loader-wrapper.tp-loader-wrapper.tp-preload-transion4 .tp-preload-reveal-layer-box {
	width: 100vw;
	height: 100vh;
	position: fixed;
	z-index: 1111;
	pointer-events: none;
	opacity: 0;
	-webkit-transition: unset;
	transition: unset
}

#tp-loader-wrapper.tp-loader-wrapper.tp-preload-transion4.tp-4-preload-topleft .tp-preload-reveal-layer-box,
#tp-loader-wrapper.tp-loader-wrapper.tp-preload-transion4.tp-4-preload-topright .tp-preload-reveal-layer-box,
#tp-loader-wrapper.tp-loader-wrapper.tp-preload-transion4.tp-4-preload-bottomleft .tp-preload-reveal-layer-box,
#tp-loader-wrapper.tp-loader-wrapper.tp-preload-transion4.tp-4-preload-bottomright .tp-preload-reveal-layer-box {
	top: 50%;
	left: 50%
}

#tp-loader-wrapper.tp-loader-wrapper.tp-preload-transion4.tp-4-preload-top .tp-preload-reveal-layer-box,
#tp-loader-wrapper.tp-loader-wrapper.tp-preload-transion4.tp-4-preload-bottom .tp-preload-reveal-layer-box {
	left: 0
}

#tp-loader-wrapper.tp-loader-wrapper.tp-preload-transion4.tp-4-preload-right .tp-preload-reveal-layer-box,
#tp-loader-wrapper.tp-loader-wrapper.tp-preload-transion4.tp-4-preload-left .tp-preload-reveal-layer-box {
	top: 50%;
	left: 50%
}

#tp-loader-wrapper.tp-loader-wrapper.tp-preload-transion4.tp-4-preload-top .tp-preload-reveal-layer-box {
	bottom: 100%
}

#tp-loader-wrapper.tp-loader-wrapper.tp-preload-transion4.tp-4-preload-bottom .tp-preload-reveal-layer-box {
	top: 100%
}

#tp-loader-wrapper.tp-loader-wrapper.tp-preload-transion4 .tp-preload-reveal-layer-box .tp-preload-reveal-layer {
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	background: #ddd
}

body:not(.elementor-editor-active).tp-loaded #tp-loader-wrapper.tp-preload-transion4 {
	opacity: 1;
	visibility: visible;
}

body:not(.elementor-editor-active).tp-loaded #tp-loader-wrapper.tp-preload-transion4.tppreinout {
	opacity: 1;
	visibility: hidden;
}

#tp-loader-wrapper.tp-loader-wrapper.tp-preload-transion4.tp-simple.tpprein .tp-preload-reveal-layer-box .tp-preload-reveal-layer {
	-webkit-animation: tp-simple-animation-1 1.5s cubic-bezier(.2, 1, .3, 1) forwards;
	animation: tp-simple-animation-1 1.5s cubic-bezier(.2, 1, .3, 1) forwards
}

.tp-out-loaded #tp-loader-wrapper.tp-loader-wrapper.tp-preload-transion4.tp-simple.tppreout .tp-preload-reveal-layer-box .tp-preload-reveal-layer {
	animation-direction: reverse;
	-webkit-animation: tp-simple-animation-1 1.5s cubic-bezier(.2, 1, .3, 1) backwards;
	animation: tp-simple-animation-1 1.5s cubic-bezier(.2, 1, .3, 1) backwards
}

@-webkit-keyframes tp-simple-animation-1 {
	0% {
		-webkit-transform: translate3d(0, 0, 0);
		transform: translate3d(0, 0, 0)
	}
	35%,
	65% {
		-webkit-transform: translate3d(0, -100%, 0);
		transform: translate3d(0, -100%, 0)
	}
	100% {
		-webkit-transform: translate3d(0, -200%, 0);
		transform: translate3d(0, -200%, 0)
	}
}

@keyframes tp-simple-animation-1 {
	0% {
		-webkit-transform: translate3d(0, 0, 0);
		transform: translate3d(0, 0, 0)
	}
	35%,
	65% {
		-webkit-transform: translate3d(0, -100%, 0);
		transform: translate3d(0, -100%, 0)
	}
	100% {
		-webkit-transform: translate3d(0, -200%, 0);
		transform: translate3d(0, -200%, 0)
	}
}

#tp-loader-wrapper.tp-loader-wrapper.tp-preload-transion4.tp-duomove2.tpprein .tp-preload-reveal-layer-box .tp-preload-reveal-layer {
	-webkit-animation: tp-duomove2-animation1 1.5s cubic-bezier(.7, 0, .3, 1) forwards;
	animation: tp-duomove2-animation1 1.5s cubic-bezier(.7, 0, .3, 1) forwards
}

#tp-loader-wrapper.tp-loader-wrapper.tp-preload-transion4.tp-duomove2.tpprein .tp-preload-reveal-layer-box .tp-preload-reveal-layer:nth-child(2) {
	-webkit-animation-name: tp-duomove2-animation2;
	animation-name: tp-duomove2-animation2
}

.tp-out-loaded #tp-loader-wrapper.tp-loader-wrapper.tp-preload-transion4.tp-duomove2.tppreout .tp-preload-reveal-layer-box .tp-preload-reveal-layer {
	animation-direction: reverse;
	-webkit-animation: tp-duomove2-animation1 1.5s cubic-bezier(.7, 0, .3, 1) backwards;
	animation: tp-duomove2-animation1 1.5s cubic-bezier(.7, 0, .3, 1) backwards
}

.tp-out-loaded #tp-loader-wrapper.tp-loader-wrapper.tp-preload-transion4.tp-duomove2.tppreout .tp-preload-reveal-layer-box .tp-preload-reveal-layer:nth-child(2) {
	-webkit-animation-name: tp-duomove2-animation2;
	animation-name: tp-duomove2-animation2
}

@-webkit-keyframes tp-duomove2-animation1 {
	0% {
		-webkit-transform: translate3d(0, 0, 0);
		transform: translate3d(0, 0, 0)
	}
	30%,
	70% {
		-webkit-transform: translate3d(0, -100%, 0);
		transform: translate3d(0, -100%, 0);
		-webkit-animation-timing-function: cubic-bezier(.7, 0, .3, 1);
		animation-timing-function: cubic-bezier(.7, 0, .3, 1)
	}
	100% {
		-webkit-transform: translate3d(0, -200%, 0);
		transform: translate3d(0, -200%, 0)
	}
}

@keyframes tp-duomove2-animation1 {
	0% {
		-webkit-transform: translate3d(0, 0, 0);
		transform: translate3d(0, 0, 0)
	}
	30%,
	70% {
		-webkit-transform: translate3d(0, -100%, 0);
		transform: translate3d(0, -100%, 0);
		-webkit-animation-timing-function: cubic-bezier(.7, 0, .3, 1);
		animation-timing-function: cubic-bezier(.7, 0, .3, 1)
	}
	100% {
		-webkit-transform: translate3d(0, -200%, 0);
		transform: translate3d(0, -200%, 0)
	}
}

@-webkit-keyframes tp-duomove2-animation2 {
	0%,
	14.5% {
		-webkit-transform: translate3d(0, 0, 0);
		transform: translate3d(0, 0, 0)
	}
	37.5%,
	62.5% {
		-webkit-transform: translate3d(0, -100%, 0);
		transform: translate3d(0, -100%, 0);
		-webkit-animation-timing-function: cubic-bezier(.7, 0, .3, 1);
		animation-timing-function: cubic-bezier(.7, 0, .3, 1)
	}
	85.5%,
	100% {
		-webkit-transform: translate3d(0, -200%, 0);
		transform: translate3d(0, -200%, 0)
	}
}

@keyframes tp-duomove2-animation2 {
	0%,
	14.5% {
		-webkit-transform: translate3d(0, 0, 0);
		transform: translate3d(0, 0, 0)
	}
	37.5%,
	62.5% {
		-webkit-transform: translate3d(0, -100%, 0);
		transform: translate3d(0, -100%, 0);
		-webkit-animation-timing-function: cubic-bezier(.7, 0, .3, 1);
		animation-timing-function: cubic-bezier(.7, 0, .3, 1)
	}
	85.5%,
	100% {
		-webkit-transform: translate3d(0, -200%, 0);
		transform: translate3d(0, -200%, 0)
	}
}

#tp-loader-wrapper.tp-loader-wrapper.tp-preload-transion4.tp-tripleswoosh.tpprein .tp-preload-reveal-layer-box .tp-preload-reveal-layer {
	-webkit-animation: tp-tripleswoosh-animation1 1.5s cubic-bezier(.55, .055, .675, .19) forwards;
	animation: tp-tripleswoosh-animation1 1.5s cubic-bezier(.55, .055, .675, .19) forwards
}

#tp-loader-wrapper.tp-loader-wrapper.tp-preload-transion4.tp-tripleswoosh.tpprein .tp-preload-reveal-layer-box .tp-preload-reveal-layer:nth-child(2) {
	-webkit-animation-name: tp-tripleswoosh-animation2;
	animation-name: tp-tripleswoosh-animation2
}

#tp-loader-wrapper.tp-loader-wrapper.tp-preload-transion4.tp-tripleswoosh.tpprein .tp-preload-reveal-layer-box .tp-preload-reveal-layer:nth-child(3) {
	-webkit-animation-name: tp-tripleswoosh-animation3;
	animation-name: tp-tripleswoosh-animation3
}

.tp-out-loaded #tp-loader-wrapper.tp-loader-wrapper.tp-preload-transion4.tp-tripleswoosh.tppreout .tp-preload-reveal-layer-box .tp-preload-reveal-layer {
	animation-direction: reverse;
	-webkit-animation: tp-tripleswoosh-animation1 1.5s cubic-bezier(.55, .055, .675, .19) backwards;
	animation: tp-tripleswoosh-animation1 1.5s cubic-bezier(.55, .055, .675, .19) backwards
}

.tp-out-loaded #tp-loader-wrapper.tp-loader-wrapper.tp-preload-transion4.tp-tripleswoosh.tppreout .tp-preload-reveal-layer-box .tp-preload-reveal-layer:nth-child(2) {
	-webkit-animation-name: tp-tripleswoosh-animation2;
	animation-name: tp-tripleswoosh-animation2
}

.tp-out-loaded #tp-loader-wrapper.tp-loader-wrapper.tp-preload-transion4.tp-tripleswoosh.tppreout .tp-preload-reveal-layer-box .tp-preload-reveal-layer:nth-child(3) {
	-webkit-animation-name: tp-tripleswoosh-animation3;
	animation-name: tp-tripleswoosh-animation3
}

@-webkit-keyframes tp-tripleswoosh-animation1 {
	0% {
		-webkit-transform: translate3d(0, 0, 0);
		transform: translate3d(0, 0, 0)
	}
	25%,
	75% {
		-webkit-transform: translate3d(0, -100%, 0);
		transform: translate3d(0, -100%, 0);
		-webkit-animation-timing-function: cubic-bezier(.215, .61, .355, 1);
		animation-timing-function: cubic-bezier(.215, .61, .355, 1)
	}
	100% {
		-webkit-transform: translate3d(0, -200%, 0);
		transform: translate3d(0, -200%, 0)
	}
}

@keyframes tp-tripleswoosh-animation1 {
	0% {
		-webkit-transform: translate3d(0, 0, 0);
		transform: translate3d(0, 0, 0)
	}
	25%,
	75% {
		-webkit-transform: translate3d(0, -100%, 0);
		transform: translate3d(0, -100%, 0);
		-webkit-animation-timing-function: cubic-bezier(.215, .61, .355, 1);
		animation-timing-function: cubic-bezier(.215, .61, .355, 1)
	}
	100% {
		-webkit-transform: translate3d(0, -200%, 0);
		transform: translate3d(0, -200%, 0)
	}
}

@-webkit-keyframes tp-tripleswoosh-animation2 {
	0%,
	12.5% {
		-webkit-transform: translate3d(0, 0, 0);
		transform: translate3d(0, 0, 0)
	}
	37.5%,
	62.5% {
		-webkit-transform: translate3d(0, -100%, 0);
		transform: translate3d(0, -100%, 0);
		-webkit-animation-timing-function: cubic-bezier(.215, .61, .355, 1);
		animation-timing-function: cubic-bezier(.215, .61, .355, 1)
	}
	87.5%,
	100% {
		-webkit-transform: translate3d(0, -200%, 0);
		transform: translate3d(0, -200%, 0)
	}
}

@keyframes tp-tripleswoosh-animation2 {
	0%,
	12.5% {
		-webkit-transform: translate3d(0, 0, 0);
		transform: translate3d(0, 0, 0)
	}
	37.5%,
	62.5% {
		-webkit-transform: translate3d(0, -100%, 0);
		transform: translate3d(0, -100%, 0);
		-webkit-animation-timing-function: cubic-bezier(.215, .61, .355, 1);
		animation-timing-function: cubic-bezier(.215, .61, .355, 1)
	}
	87.5%,
	100% {
		-webkit-transform: translate3d(0, -200%, 0);
		transform: translate3d(0, -200%, 0)
	}
}

@-webkit-keyframes tp-tripleswoosh-animation3 {
	0%,
	25% {
		-webkit-transform: translate3d(0, 0, 0);
		transform: translate3d(0, 0, 0);
		-webkit-animation-timing-function: cubic-bezier(.645, .045, .355, 1);
		animation-timing-function: cubic-bezier(.645, .045, .355, 1)
	}
	75%,
	100% {
		-webkit-transform: translate3d(0, -200%, 0);
		transform: translate3d(0, -200%, 0)
	}
}

@keyframes tp-tripleswoosh-animation3 {
	0%,
	25% {
		-webkit-transform: translate3d(0, 0, 0);
		transform: translate3d(0, 0, 0);
		-webkit-animation-timing-function: cubic-bezier(.645, .045, .355, 1);
		animation-timing-function: cubic-bezier(.645, .045, .355, 1)
	}
	75%,
	100% {
		-webkit-transform: translate3d(0, -200%, 0);
		transform: translate3d(0, -200%, 0)
	}
}

.tp-preloader-wrap {
	position: relative;
	display: flex;
	min-width: 300px;
	width: 100%;
	height: 30px
}

.tp-percentage {
	z-index: 100;
	text-align: center;
	color: #fff;
	line-height: 30px;
	font-size: 15px
}

.tp-loader,
.tp-percentage {
	height: 30px;
	font-weight: 300;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
	display: flex;
	align-items: center;
	justify-content: center
}

.tp-percentage.tp-percentage-load {
	border: 2px solid #6fc784
}

.tp-loader:after,
.tp-percentage:after {
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0
}

.tp-trackbar {
	width: 100%;
	height: 100%;
	color: #fff;
	text-align: center;
	line-height: 30px;
	overflow: hidden;
	position: relative;
	opacity: .99
}

.tp-loadbar {
	width: 0%;
	height: 100%;
	background: repeating-linear-gradient(45deg, #6fc784, #6fc784 10px, #6fc784d4 10px, #6fc784d4 20px);
	position: absolute;
	top: 0;
	left: 0;
	overflow: hidden
}

.tp-glow {
	width: 0%;
	height: 0%;
	box-shadow: 0 0 60px 10px #6fc784;
	position: absolute;
	bottom: -5px;
	animation: tp-prercentage-animation 5s infinite
}

@keyframes tp-prercentage-animation {
	10% {
		opacity: .9
	}
	30% {
		opacity: .86
	}
	60% {
		opacity: .8
	}
	80% {
		opacity: .75
	}
}

.percentagelayout {
	position: fixed;
	height: 5px;
	width: 0;
	background: repeating-linear-gradient(45deg, #6fc784, #6fc784 10px, #6fc784d4 10px, #6fc784d4 20px);
	content: '';
	animation: tp-prercentage-animation 5s infinite
}

.admin-bar .tp-perc-top {
	top: 32px
}

.tp-perc-top {
	top: 0
}

.tp-perc-bottom {
	bottom: 0
}

#tp-img-loader {
	position: relative;
	z-index: 1002;
	top: auto;
	left: auto;
	display: inline-block;
	margin: 0 auto;
	padding: 0;
	border: none;
	border-radius: 0;
	background: 0 0!important;
	color: #248acc;
	width: auto;
	height: auto
}

.tp-img-loader-wrap {
	position: absolute;
	bottom: 0;
	left: 0;
	z-index: 3;
	display: block;
	width: 0%;
	height: 100%;
	transition: 0s;
	overflow: hidden;
	will-change: width, opacity;
	transform-origin: 0 0
}

.tp-img-loader-wrap .tp-img-loader-wrap-in {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	z-index: 3;
	display: block;
	width: 100%;
	height: 100%;
	background-repeat: no-repeat;
	background-size: cover;
	transition: 0s
}

.tp-loader-wrapper .tp-text-loader {
	display: inline-block;
	color: #FFF;
	position: relative;
	overflow: hidden;
	text-align: left
}

.tp-loader-wrapper .tp-text-loader .tp-text-loader-inner {
	position: absolute;
	top: 0;
	width: 0;
	height: 100%;
	overflow: hidden;
	right: auto;
	left: 0%;
	word-break: break-all
}

.tp-preloader-wrap.plcper3 .tp-percentage.tp-percentage-load {
	border: none
}

.tp-preloader-wrap.plcper3 {
	width: auto!important;
	min-width: auto!important;
	display: inline-flex;
	align-items: center
}

.tp-preloader-wrap.plcper3 div#tp-precent3 {
	position: relative
}

.tp-preloader-wrap.plcper3 span.tp-perc-prepostfix {
	color: #fff
}

.tp-preloader-wrap.plcper3 span.tp-perc-prepostfix.tp-perc-pre {
	margin-right: 10px
}

.tp-preloader-wrap.plcper3 span.tp-perc-prepostfix.tp-perc-post {
	margin-left: 10px
}

.tp-preloader-wrap4.plcper4 {
	position: relative;
	display: block;
	width: 100%;
	height: 2px;
	background-color: #ffffff7d
}

.tp-preloader-wrap4.plcper4 .tp-preloader-wrap4-in {
	height: 100%;
	margin: auto;
	background-color: #000;
	width: 0
}

.tp-preloader-wrap5.plcper5 {
	position: absolute;
	width: 100%;
	height: 100%;
	display: block
}

.tp-preloader-wrap5.plcper5 .tp-pre-5-in1,
.tp-preloader-wrap5.plcper5 .tp-pre-5-in2 {
	left: 0;
	width: 3px;
	height: 0;
	background: #fff;
	right: auto;
	position: absolute
}

.tp-preloader-wrap5.plcper5 .tp-pre-5-in2 {
	right: 0;
	left: auto;
	bottom: 0
}

.tp-preloader-wrap5.plcper5 .tp-pre-5-in3,
.tp-preloader-wrap5.plcper5 .tp-pre-5-in4 {
	top: 0;
	width: 0;
	height: 3px;
	background: #fff;
	bottom: auto;
	position: absolute
}

.tp-preloader-wrap5.plcper5 .tp-pre-5-in4 {
	top: auto;
	bottom: 0;
	right: 0
}

.tp-preloader-wrap6.plcper6 {
	position: relative;
	display: block
}

.tp-preloader-wrap6.plcper6 svg.progress-ring {
	position: relative;
	display: block;
	margin: 0 auto
}

.tp-preloader-wrap6.plcper6 .progress-ring__circle {
	transition: 0.001s stroke-dashoffset;
	transform: rotate(-90deg);
	transform-origin: 50% 50%
}

.tp-preloader-wrap6.plcper6 .progress-ring.progress-ring2 {
	z-index: -1;
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%)
}

.tp-preloader-wrap6.plcper6 .tp-percentage.tp-percentage-load {
	border: none
}