[class*="elementor-widget-xpro"] a:focus, button.xpro-content-toggle-button:focus, button.xpro-elementor-search-button:focus {
	outline: 0;
}

#xpro-portfolio-html-main #wpadminbar, .xpro-elementor-gallery-filter .xpro-select-option, .xpro-gallery-popup-style-2.lg-outer .lg-pager-outer, .xpro-gallery-popup-style-4.lg-outer .lg-pager-outer {
	display: none;
}

.xpro-overlay-icon svg, .xpro-pricing-icon > svg {
	height: auto;
}

[class*="xpro-gallery-popup-style"] #lg-counter, [class*="xpro-gallery-popup-style"] .lg-toolbar .lg-icon {
	color: #dadada;
	font-weight: 500;
}

#xpro-portfolio-html-main {
	margin-top: 0 !important;
}

.xpro-box-icon-item > svg {
	width: 100%;
	height: auto;
}

.xpro-pie-chart-media svg {
	height: auto;
	width: 40px;
}

.xpro-elementor-button-media > svg {
	width: 20px;
	height: auto;
}

.xpro-align-icon-left .xpro-elementor-button-media, .xpro-promo-box-align-left > i, .xpro-promo-box-align-left > svg {
	margin-right: 5px;
}

[class*="xpro-elementor-button-hover-style-underline"]:before {
	content: "";
	position: absolute;
	background-color: #2b2b2b;
	height: 5px;
	-webkit-transition-property: all;
	-o-transition-property: all;
	transition-property: all;
	-webkit-transition-duration: .3s;
	-o-transition-duration: .3s;
	transition-duration: .3s;
	-webkit-transition-timing-function: ease-out;
	-o-transition-timing-function: ease-out;
	transition-timing-function: ease-out;
}

@-webkit-keyframes MoveUpInitial {
	to {
		-webkit-transform: translate3d(0, -105%, 0);
		transform: translate3d(0, -105%, 0);
		opacity: 0;
	}
}

@keyframes MoveUpInitial {
	to {
		-webkit-transform: translate3d(0, -105%, 0);
		transform: translate3d(0, -105%, 0);
		opacity: 0;
	}
}

@-webkit-keyframes MoveUpEnd {
	from {
		-webkit-transform: translate3d(0, 100%, 0);
		transform: translate3d(0, 100%, 0);
		opacity: 0;
	}
	
	to {
		-webkit-transform: translate3d(0, 0, 0);
		transform: translate3d(0, 0, 0);
		opacity: 1;
	}
}

@keyframes MoveUpEnd {
	from {
		-webkit-transform: translate3d(0, 100%, 0);
		transform: translate3d(0, 100%, 0);
		opacity: 0;
	}
	
	to {
		-webkit-transform: translate3d(0, 0, 0);
		transform: translate3d(0, 0, 0);
		opacity: 1;
	}
}

.xpro-team-social-icon > svg {
	width: 60px;
	height: auto;
}

.xpro-testimonial-quote svg {
	width: 40px;
	height: auto;
}

@-webkit-keyframes XproMaskFromUp {
	from {
		-webkit-clip-path: inset(0 0 100% 0);
		clip-path: inset(0 0 100% 0);
		opacity: 1;
	}
	
	to {
		-webkit-clip-path: inset(0 0 0 0);
		clip-path: inset(0 0 0 0);
		opacity: 1;
	}
}

@keyframes XproMaskFromUp {
	from {
		-webkit-clip-path: inset(0 0 100% 0);
		clip-path: inset(0 0 100% 0);
		opacity: 1;
	}
	
	to {
		-webkit-clip-path: inset(0 0 0 0);
		clip-path: inset(0 0 0 0);
		opacity: 1;
	}
}

@-webkit-keyframes XproMaskFromDown {
	from {
		-webkit-clip-path: inset(100% 0 0 0);
		clip-path: inset(100% 0 0 0);
		opacity: 1;
	}
	
	to {
		-webkit-clip-path: inset(0 0 0 0);
		clip-path: inset(0 0 0 0);
		opacity: 1;
	}
}

@keyframes XproMaskFromDown {
	from {
		-webkit-clip-path: inset(100% 0 0 0);
		clip-path: inset(100% 0 0 0);
		opacity: 1;
	}
	
	to {
		-webkit-clip-path: inset(0 0 0 0);
		clip-path: inset(0 0 0 0);
		opacity: 1;
	}
}

@-webkit-keyframes XproMaskFromRight {
	from {
		-webkit-clip-path: inset(0 0 0 100%);
		clip-path: inset(0 0 0 100%);
		opacity: 1;
	}
	
	to {
		-webkit-clip-path: inset(0 0 0 0);
		clip-path: inset(0 0 0 0);
		opacity: 1;
	}
}

@keyframes XproMaskFromRight {
	from {
		-webkit-clip-path: inset(0 0 0 100%);
		clip-path: inset(0 0 0 100%);
		opacity: 1;
	}
	
	to {
		-webkit-clip-path: inset(0 0 0 0);
		clip-path: inset(0 0 0 0);
		opacity: 1;
	}
}

@-webkit-keyframes XproMaskFromLeft {
	from {
		-webkit-clip-path: inset(0 100% 0 0);
		clip-path: inset(0 100% 0 0);
		opacity: 1;
	}
	
	to {
		-webkit-clip-path: inset(0 0 0 0);
		clip-path: inset(0 0 0 0);
		opacity: 1;
	}
}

@keyframes XproMaskFromLeft {
	from {
		-webkit-clip-path: inset(0 100% 0 0);
		clip-path: inset(0 100% 0 0);
		opacity: 1;
	}
	
	to {
		-webkit-clip-path: inset(0 0 0 0);
		clip-path: inset(0 0 0 0);
		opacity: 1;
	}
}

[class*="xpro-anim-reveal-from"] > .e-con-inner::after, [class*="xpro-anim-reveal-from"] > .elementor-container::after, [class*="xpro-anim-reveal-from"] > .elementor-element-populated::after, [class*="xpro-anim-reveal-from"]::after {
	content: "";
	position: absolute;
	background: var(--e-global-color-primary);
	width: 100%;
	height: 100%;
	z-index: 999;
	-webkit-transition: 1.25s ease-in-out;
	-o-transition: 1.25s ease-in-out;
	transition: 1.25s ease-in-out;
}

@-webkit-keyframes XproRevealVertical {
	from {
		height: 100%;
	}
	
	to {
		height: 0;
	}
}

@keyframes XproRevealVertical {
	from {
		height: 100%;
	}
	
	to {
		height: 0;
	}
}

@-webkit-keyframes XproRevealHorizontal {
	from {
		width: 100%;
	}
	
	to {
		width: 0;
	}
}

@keyframes XproRevealHorizontal {
	from {
		width: 100%;
	}
	
	to {
		width: 0;
	}
}

@keyframes pulse {
	0% {
		box-shadow: 0 0 5px rgba(255, 255, 255, .2);
	}
	
	50% {
		box-shadow: 0 0 15px rgba(255, 255, 255, .5);
	}
	
	100% {
		box-shadow: 0 0 5px rgba(255, 255, 255, .2);
	}
}

@keyframes xpro-social-icon-slide {
	0% {
		transform: translateX(0);
	}
	
	50% {
		transform: translateX(10px);
		opacity: 0;
	}
	
	51% {
		transform: translateX(-10px);
		opacity: 0;
	}
	
	100% {
		transform: translateX(0);
		opacity: 1;
	}
}

.xpro-social-icon > svg, .xpro-social-share > svg {
	width: 18px;
	-webkit-transition: .3s ease-in-out;
	-o-transition: .3s ease-in-out;
	transition: .3s ease-in-out;
}

.xpro-unique-triangle-shape:hover.xpro-social-icon > i, .xpro-unique-triangle-shape:hover.xpro-social-icon > svg {
	-webkit-transform: rotate(-45deg);
	-ms-transform: rotate(-45deg);
	transform: rotate(-45deg);
	-webkit-transition: .3s ease-in-out;
	-o-transition: .3s ease-in-out;
	transition: .3s ease-in-out;
}

.xpro-unique-reverse-shape:hover.xpro-social-icon > i, .xpro-unique-reverse-shape:hover.xpro-social-icon > svg, .xpro-unique-reverse-shape:hover.xpro-social-share > i, .xpro-unique-reverse-shape:hover.xpro-social-share > svg {
	-webkit-transition: none;
	-o-transition: none;
	transition: none;
	opacity: 0;
	visibility: hidden;
	width: 0 !important;
}

.xpro-unique-slide-shape:hover.xpro-social-icon > i, .xpro-unique-slide-shape:hover.xpro-social-icon > svg, .xpro-unique-slide-shape:hover.xpro-social-share > i, .xpro-unique-slide-shape:hover.xpro-social-share > svg {
	-webkit-transition: .3s ease-in-out;
	-o-transition: .3s ease-in-out;
	transition: .3s ease-in-out;
	opacity: 0;
	visibility: hidden;
}

.elementor-align-right .xpro-business-hour-time, img ~ .xpro-post-grid-author-content {
	text-align: left;
}

@-webkit-keyframes xproShadowPulse {
	0% {
		-webkit-box-shadow: 0 0 0 0 rgba(0, 0, 0, .1);
		box-shadow: 0 0 0 0 rgba(0, 0, 0, .1);
	}
	
	to {
		-webkit-box-shadow: 0 0 0 30px rgba(255, 255, 255, 0);
		box-shadow: 0 0 0 30px rgba(255, 255, 255, 0);
	}
}

@keyframes xproShadowPulse {
	0% {
		-webkit-box-shadow: 0 0 0 0 rgba(0, 0, 0, .1);
		box-shadow: 0 0 0 0 rgba(0, 0, 0, .1);
	}
	
	to {
		-webkit-box-shadow: 0 0 0 30px rgba(255, 255, 255, 0);
		box-shadow: 0 0 0 30px rgba(255, 255, 255, 0);
	}
}

.xpro-block-quote-icon > svg {
	width: 30px;
	height: auto;
	fill: #6ec1e4;
}

.xpro-block-quote-layout-2 .xpro-block-quote-icon > svg {
	width: 20px;
	height: 20px;
	fill: #fff;
}

.xpro-block-quote-layout-4 .xpro-block-quote-icon > svg, .xpro-block-quote-layout-5 .xpro-block-quote-icon > svg {
	width: 60px;
	height: 60px;
	fill: #dbdbdb;
}

.xpro-block-quote-layout-7 .xpro-block-quote-icon > svg {
	width: 60px;
	height: 60px;
	fill: #707070;
	display: inline-block;
}

.xpro-block-quote-layout-8 .xpro-block-quote-icon > svg {
	width: 60px;
	height: 60px;
	fill: #707070;
}

.xpro-block-quote-layout-9 .xpro-block-quote-icon > svg {
	width: 70px;
	height: 70px;
	fill: #ddd;
}

.xpro-block-quote-layout-10 .xpro-block-quote-icon > svg {
	fill: #fff;
	width: 20px;
	height: auto;
}

@media screen and (min-width: 1025px) {
	.elementor-align-center .xpro-block-quote-layout-1 .xpro-block-quote-icon > i, .elementor-align-center .xpro-block-quote-layout-1 .xpro-block-quote-icon > svg {
		margin-bottom: 10px;
	}
	
	.elementor-align-right .xpro-block-quote-layout-1 .xpro-block-quote-icon, .elementor-align-right .xpro-block-quote-layout-10 .xpro-block-quote-icon > i, .elementor-align-right .xpro-block-quote-layout-10 .xpro-block-quote-icon > svg, .elementor-align-right .xpro-block-quote-layout-7 .xpro-block-quote-icon {
		-webkit-transform: rotateY(180deg);
		transform: rotateY(180deg);
	}
}

@-webkit-keyframes xpro-image-scroll-direction-vertical {
	0% {
		-webkit-transform: translateY(0);
		transform: translateY(0);
	}
	
	to {
		-webkit-transform: translateY(5px);
		transform: translateY(5px);
	}
}

@-webkit-keyframes xpro-image-scroll-direction-horizontal {
	0% {
		-webkit-transform: translateX(0) rotate(90deg);
		transform: translateX(0) rotate(90deg);
	}
	
	to {
		-webkit-transform: translateX(5px) rotate(90deg);
		transform: translateX(5px) rotate(90deg);
	}
}

@-webkit-keyframes spin {
	from {
		-webkit-transform: rotate(0);
	}
	
	to {
		-webkit-transform: rotate(360deg);
	}
}

@keyframes spin {
	from {
		-webkit-transform: rotate(0);
		transform: rotate(0);
	}
	
	to {
		-webkit-transform: rotate(360deg);
		transform: rotate(360deg);
	}
}

.xpro-elementor-scroll-top-btn-inner > svg, .xpro-promo-box-btn > svg {
	width: 30px;
	height: auto;
}

.xpro-promo-box-align-right > i, .xpro-promo-box-align-right > svg {
	margin-left: 5px;
}

.xpro-elementor-search-button > svg {
	width: 15px;
	height: auto;
}

@-webkit-keyframes xpro-ken-b-zoom-in {
	0% {
		-webkit-transform: scale(1);
		transform: scale(1);
	}
	
	100% {
		-webkit-transform: scale(1.2);
		transform: scale(1.2);
	}
}

@keyframes xpro-ken-b-zoom-in {
	0% {
		-webkit-transform: scale(1);
		transform: scale(1);
	}
	
	100% {
		-webkit-transform: scale(1.2);
		transform: scale(1.2);
	}
}

@-webkit-keyframes xpro-ken-b-zoom-out {
	0% {
		-webkit-transform: scale(1.2);
		transform: scale(1.2);
	}
	
	100% {
		-webkit-transform: scale(1);
		transform: scale(1);
	}
}

@keyframes xpro-ken-b-zoom-out {
	0% {
		-webkit-transform: scale(1.2);
		transform: scale(1.2);
	}
	
	100% {
		-webkit-transform: scale(1);
		transform: scale(1);
	}
}

@keyframes lineUp {
	0% {
		transform-origin: 50% 100%;
		transform: scale3d(1, .045, 1);
	}
	
	50% {
		transform-origin: 50% 100%;
		transform: scale3d(1, 1, 1);
	}
	
	51% {
		transform-origin: 50% 0%;
		transform: scale3d(1, 1, 1);
	}
	
	100% {
		transform-origin: 50% 0%;
		transform: scale3d(1, .045, 1);
	}
}

@keyframes coverUp {
	0% {
		transform-origin: 50% 100%;
		transform: scale3d(1, .045, 1);
	}
	
	50% {
		transform-origin: 50% 100%;
		transform: scale3d(1, 1, 1);
	}
	
	51% {
		transform-origin: 50% 0;
		transform: scale3d(1, 1, 1);
	}
	
	100% {
		transform-origin: 50% 0;
		transform: scale3d(1, .045, 1);
	}
}

@keyframes rotate-move {
	30% {
		-webkit-transform: translate3d(0, -5px, 0) rotate(5deg);
		transform: translate3d(0, -5px, 0) rotate(5deg);
	}
	
	50% {
		-webkit-transform: translate3d(0, -3px, 0) rotate(-4deg);
		transform: translate3d(0, -3px, 0) rotate(-4deg);
	}
	
	80% {
		-webkit-transform: translate3d(0, 0, 0) rotate(-3deg);
		transform: translate3d(0, 0, 0) rotate(-3deg);
	}
	
	100% {
		-webkit-transform: rotate(0);
		transform: rotate(0);
	}
}

.xpro-animated-link-graphic-scribble path {
	transition: stroke-dashoffset .9s cubic-bezier(.7, 0, .3, 1);
}

.xpro-animated-link-style-21:hover .xpro-animated-link-graphic-scribble path {
	transition-timing-function: cubic-bezier(.8, 0, .7, 1);
	transition-duration: .6s;
}

.xpro-animated-link-style-21:hover .xpro-animated-link-graphic-stroke path {
	stroke-dasharray: 1;
	stroke-dashoffset: 0;
}

.xpro-animated-link-graphic-stroke path {
	stroke-dasharray: 1;
	stroke-dashoffset: 1;
}

.xpro-animated-link-style-22:hover .xpro-animated-link-graphic-stroke path {
	stroke-dashoffset: 0;
}

.xpro-animated-link-graphic-arc path {
	transition: stroke-dashoffset .4s cubic-bezier(.7, 0, .3, 1);
}

.xpro-animated-link-style-22:hover .xpro-animated-link-graphic-arc path {
	transition: .3s ease-in-out;
}

@keyframes link-hoverstate {
	0% {
		opacity: 1;
		transform: translate3d(-100%, 0, 0);
	}
	
	55% {
		transform: translate3d(100%, 0, 0);
	}
	
	56% {
		transform: translate3d(100%, calc(.5rem + 4px), 0);
	}
	
	100% {
		opacity: 1;
		transform: translate3d(0, calc(.5rem + 4px), 0);
	}
}

@-webkit-keyframes XsMaskFromUp {
	from {
		-webkit-clip-path: inset(0 0 100% 0);
		clip-path: inset(0 0 100% 0);
		opacity: 1;
	}
	
	to {
		-webkit-clip-path: inset(0 0 0 0);
		clip-path: inset(0 0 0 0);
		opacity: 1;
	}
}

@keyframes XsMaskFromUp {
	from {
		-webkit-clip-path: inset(0 0 100% 0);
		clip-path: inset(0 0 100% 0);
		opacity: 1;
	}
	
	to {
		-webkit-clip-path: inset(0 0 0 0);
		clip-path: inset(0 0 0 0);
		opacity: 1;
	}
}

@-webkit-keyframes XsMaskFromDown {
	from {
		-webkit-clip-path: inset(100% 0 0 0);
		clip-path: inset(100% 0 0 0);
		opacity: 1;
	}
	
	to {
		-webkit-clip-path: inset(0 0 0 0);
		clip-path: inset(0 0 0 0);
		opacity: 1;
	}
}

@keyframes XsMaskFromDown {
	from {
		-webkit-clip-path: inset(100% 0 0 0);
		clip-path: inset(100% 0 0 0);
		opacity: 1;
	}
	
	to {
		-webkit-clip-path: inset(0 0 0 0);
		clip-path: inset(0 0 0 0);
		opacity: 1;
	}
}

@-webkit-keyframes XsMaskFromRight {
	from {
		-webkit-clip-path: inset(0 0 0 100%);
		clip-path: inset(0 0 0 100%);
		opacity: 1;
	}
	
	to {
		-webkit-clip-path: inset(0 0 0 0);
		clip-path: inset(0 0 0 0);
		opacity: 1;
	}
}

@keyframes XsMaskFromRight {
	from {
		-webkit-clip-path: inset(0 0 0 100%);
		clip-path: inset(0 0 0 100%);
		opacity: 1;
	}
	
	to {
		-webkit-clip-path: inset(0 0 0 0);
		clip-path: inset(0 0 0 0);
		opacity: 1;
	}
}

@-webkit-keyframes XsMaskFromLeft {
	from {
		-webkit-clip-path: inset(0 100% 0 0);
		clip-path: inset(0 100% 0 0);
		opacity: 1;
	}
	
	to {
		-webkit-clip-path: inset(0 0 0 0);
		clip-path: inset(0 0 0 0);
		opacity: 1;
	}
}

@keyframes XsMaskFromLeft {
	from {
		-webkit-clip-path: inset(0 100% 0 0);
		clip-path: inset(0 100% 0 0);
		opacity: 1;
	}
	
	to {
		-webkit-clip-path: inset(0 0 0 0);
		clip-path: inset(0 0 0 0);
		opacity: 1;
	}
}

[class*="x-reveal"] {
	position: relative;
	-webkit-animation-name: fadeIn;
	animation-name: fadeIn;
}

[class*="x-reveal"]::after {
	content: "";
	position: absolute;
	background: #fff;
	width: 100%;
	height: 100%;
	z-index: 999;
	top: 0;
	left: 0;
}

@-webkit-keyframes XsRevealVertical {
	from {
		height: 100%;
	}
	
	to {
		height: 0;
	}
}

@keyframes XsRevealVertical {
	from {
		height: 100%;
	}
	
	to {
		height: 0;
	}
}

@-webkit-keyframes XsRevealHorizontal {
	from {
		width: 100%;
	}
	
	to {
		width: 0;
	}
}

@keyframes XsRevealHorizontal {
	from {
		width: 100%;
	}
	
	to {
		width: 0;
	}
}

@keyframes XsBlurIn {
	from {
		filter: blur(20px);
		opacity: 0;
	}
}

@keyframes XsBlurInLeft {
	from {
		transform: translateX(50px);
		filter: blur(20px);
		opacity: 0;
	}
}

@keyframes XsBlurInRight {
	from {
		transform: translateX(-50px);
		filter: blur(20px);
		opacity: 0;
	}
}

@keyframes XsBlurInTop {
	from {
		transform: translateY(50px);
		filter: blur(20px);
		opacity: 0;
	}
}

@keyframes XsBlurInBottom {
	from {
		transform: translateY(-50px);
		filter: blur(20px);
		opacity: 0;
	}
}

@-webkit-keyframes XsCharFwd {
	0% {
		letter-spacing: -.5em;
		-webkit-transform: translateZ(-700px);
		transform: translateZ(-700px);
		opacity: 0;
	}
	
	40% {
		opacity: .6;
	}
	
	100% {
		-webkit-transform: translateZ(0);
		transform: translateZ(0);
		opacity: 1;
	}
}

@keyframes XsCharFwd {
	0% {
		letter-spacing: -.5em;
		-webkit-transform: translateZ(-700px);
		transform: translateZ(-700px);
		opacity: 0;
	}
	
	40% {
		opacity: .6;
	}
	
	100% {
		-webkit-transform: translateZ(0);
		transform: translateZ(0);
		opacity: 1;
	}
}