/* Bevel Kit — button hover animations (Site Settings → Buttons → Button Animation, or a button's own Hover Animation). Ported from bevel-core. */
.elementor-animation-float-2px:hover {
	transform: translateY(-2px);
}

.elementor-animation-float-3px:hover {
	transform: translateY(-3px);
}

.elementor-animation-float-5px:hover {
	transform: translateY(-5px);
}

.elementor-animation-float-10px:hover {
	transform: translateY(-10px);
}

.elementor-animation-btn-switch-icon .elementor-button-content-wrapper {
	display: inline-flex;
	align-items: center;
	transition: none;
	position: relative;
}

.elementor-animation-btn-switch-icon .elementor-button-text {
	position: relative;
	z-index: 3;
	order: 2;
	transition: transform .6s cubic-bezier(.1, .75, .25, 1) 125ms;
	margin-left: 0;
	margin-right: -1em;
}

.elementor-animation-btn-switch-icon:hover .elementor-button-text {
	transform: translateX(-1.5em);
}

.elementor-animation-btn-switch-icon .elementor-button-icon {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 1em;
	width: 1em;
	transition: opacity .4s cubic-bezier(.1, .75, .25, 1) .25s,transform .6s cubic-bezier(.1, .75, .25, 1) .25s;
	z-index: 3;
}

.elementor-animation-btn-switch-icon .elementor-button-icon:first-of-type {
	order: 1;
	margin-left: 0;
	margin-right: 6px;
}

.elementor-animation-btn-switch-icon:hover .elementor-button-icon:first-of-type {
	transform: translateX(-1em);
	opacity: 0;
	transition-delay: 0s;
}

.elementor-animation-btn-switch-icon .elementor-button-icon.elementor-button-icon-cloned {
	order: 3;
	margin-left: 0;
	margin-right: 0;
	opacity: 0;
	transform: translateX(1em);
	display: inline-flex;
	transition: opacity .4s .25s,transform .6s .25s;
}

.elementor-animation-btn-switch-icon:hover .elementor-button-icon.elementor-button-icon-cloned {
	opacity: 1;
	transform: translateX(0);
	transition-delay: 225ms;
}

.elementor-animation-btn-switch-icon.btn-row-reverse:not(:hover) .elementor-button-icon.elementor-button-icon-cloned,
.elementor-animation-btn-switch-icon:not(:hover) .elementor-button-icon.elementor-button-icon-cloned {
	transition-delay: 0s!important;
}

.elementor-animation-btn-switch-icon.btn-row-reverse .elementor-button-content-wrapper {
	flex-direction: row-reverse;
}

.elementor-animation-btn-switch-icon.btn-row-reverse .elementor-button-text {
	margin-right: 0;
	margin-left: -1em;
	order: 2;
	transition: transform .6s cubic-bezier(.1, .75, .25, 1) 125ms;
}

.elementor-animation-btn-switch-icon.btn-row-reverse:hover .elementor-button-text {
	transform: translateX(1.5em);
}

.elementor-animation-btn-switch-icon.btn-row-reverse .elementor-button-icon:first-of-type {
	margin-left: 6px;
	margin-right: 0;
	order: 1;
}

.elementor-animation-btn-switch-icon.btn-row-reverse:hover .elementor-button-icon:first-of-type {
	transform: translateX(1em);
	opacity: 0;
	transition-delay: 0s;
}

.elementor-animation-btn-switch-icon.btn-row-reverse .elementor-button-icon.elementor-button-icon-cloned {
	transform: translateX(-1em);
	opacity: 0;
	order: 3;
	transition-delay: 0s;
}

.elementor-animation-btn-switch-icon.btn-row-reverse:hover .elementor-button-icon.elementor-button-icon-cloned {
	transform: translateX(0);
	opacity: 1;
	transition-delay: 225ms;
}

.elementor-button-text-flip {
	position: relative;
	overflow: hidden;
	display: flex;
	justify-content: center;
}

.elementor-button-text-flip .elementor-button-hover-text {
	opacity: 0;
	-webkit-transition: .3s;
	-o-transition: .3s;
	transition: .3s;
	position: absolute;
	left: 0;
	right: 0;
	-webkit-transform: translateY(50%);
	-ms-transform: translateY(50%);
	transform: translateY(50%);
	margin: 0 auto;
}

.elementor-button-text-flip .elementor-button-text {
	webkit-transition: 0.3s;
	-o-transition: .3s;
	transition: .3s;
}

.elementor-button:hover .elementor-button-text-flip .elementor-button-hover-text {
	opacity: 1;
	-webkit-transform: translateY(0);
	-ms-transform: translateY(0);
	transform: translateY(0);
}

.elementor-button:hover .elementor-button-text-flip .elementor-button-text {
	opacity: 0;
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	transform: translateY(-50%);
	display: block;
}

.bvl-btn-hover-bubble {
	overflow: hidden!important;
	position: relative!important;
	z-index: 1;
}

.bvl-btn-hover-bubble:hover {
	transition-delay: 0.25s;
}

.bvl-btn-hover-bubble .bvl-btn-bubble {
	position: absolute;
	width: 0;
	height: 0;
	border-radius: 50%;
	background-color: var(--bvl-btn-hover-color);
	transition: width .4s ease-in-out,height .4s ease-in-out;
	transform: translate(-50%,-50%);
	z-index: -1;
}

.bvl-btn-hover-bubble:hover .bvl-btn-bubble {
	width: 225%;
	height: calc(var(--bvl-button-width)* 2.25);
}

.bvl-btn-hover-bubble .elementor-button-content-wrapper {
	position: relative;
	z-index: 1;
}

.elementor-button.elementor-animation-btn-bg-grow:hover {
	box-shadow: 0 0 0 3px var(--bvl-btn-hover-color);
}

.elementor-button.elementor-animation-btn-bg-grow {
	transition: box-shadow .15s ease-in-out;
}

.bvl-btn-hover-active.elementor-button-wrapper {
	display: inline-flex;
}

.elementor-align-justify.elementor-widget-button .bvl-btn-hover-active.elementor-button-wrapper,
.elementor-laptop-align-justify.elementor-widget-button .bvl-btn-hover-active.elementor-button-wrapper,
.elementor-mobile-align-justify.elementor-widget-button .bvl-btn-hover-active.elementor-button-wrapper,
.elementor-tablet-align-justify.elementor-widget-button .bvl-btn-hover-active.elementor-button-wrapper {
	width: 100%;
}

.elementor-animation-btn-bubble-background {
	vertical-align: middle;
}

/* Flip Text: the second copy comes from data-title, added on the server. */
body:not(.elementor-editor-active) .elementor-animation-btn-flip-text .elementor-button-text {
	display: inline-flex;
	position: relative;
	transition: transform .3s;
	transform-origin: 50% 0;
	transform-style: preserve-3d;
}

body:not(.elementor-editor-active) .elementor-animation-btn-flip-text .elementor-button-text::before {
	position: absolute;
	height: 100%;
	width: 100%;
	top: 100%;
	left: 0;
	content: attr(data-title);
	transition: color .3s;
	transform: rotateX(-90deg);
	transform-origin: 50% 0;
}

body:not(.elementor-editor-active) .elementor-animation-btn-flip-text:hover .elementor-button-text {
	transform: rotateX(90deg) translateY(-12px);
}
