/* GLOBAL START */
body {
	--scrollbar-width: 15px;
}

body #content {
	overflow-x: clip;
}

a {
    color: inherit;
}

body table,
body table td,
body table th {
	font-size: inherit;
	line-height: inherit;
}

body b, body strong {
    font-weight: 700;
}

.elementor-widget-heading p:last-child,
.elementor-widget-theme-post-excerpt p:last-of-type,
.elementor-widget-theme-post-content p:last-of-type,
.elementor-tab-content p:last-child,
.elementor-widget-text-editor p:last-child,
.elementor-widget-woocommerce-product-short-description p:last-child,
.jet-listing-dynamic-repeater__itemp:last-child {
	margin-bottom: 0;
}

.elementor-widget-icon,
.elementor-icon-box-icon,
.elementor-button-icon {
	line-height: 0;
}

.elementor-widget-icon .elementor-icon svg {
	transition: inherit;
}

.elementor-widget-icon-list .elementor-icon-list-icon svg {
	margin: 0 !important
}

.elementor-icon-list-item:market {
	display: none !important;
}

.elementor-button-content-wrapper {
	align-items: center;
}

.elementor-button-icon svg {
	width: auto !important;
	height: auto !important;
}

input:focus:not([type="button"]):not([type="submit"]),
textarea:focus,
.elementor-field-textual:focus {
	outline: 0 !important;
}

button:hover,
button:focus,
input[type="button"]:hover,
input[type="button"]:focus,
input[type="submit"]:hover,
input[type="submit"]:focus,
.elementor-button:hover,
.elementor-button:focus {
	text-decoration: inherit !important;
}

.grecaptcha-badge {
	display: none !important;
}

.framework-svg-auto svg {
	width: auto !important;
	height: auto !important;
}

.framework-sticky {
	position: sticky !important;
	top: 0;
}

@media screen and (max-width: 767px) {
	.framework-sticky {
		position: relative !important;
		top: auto;
	}
}
/* GLOBAL END */

/* CHECKBOX / RADIO / UPLOAD BUTTON / FORM START */
body {
	--field-group-label-font-size: inherit;
	--field-subgroup-gap: 20px;
	--field-subgroup-label-font-size: 14px;
	--radio-and-checkbox-size: 18px;
	--radio-and-checkbox-checked-size: 18px;
	--radio-and-checkbox-background-color: transparent;
	--radio-and-checkbox-checked-background-color: transparent;
	--radio-and-checkbox-border-color: #000;
	--radio-border-radius: 50%;
	--checkbox-border-radius: 4px;
	--radio-and-checkbox-margin-right: 10px;
	--messages-font-size: 14px;
	--inline-messages-font-size: 12px;
	--messages-padding: 5px 7px;
	--inline-messages-padding: 4px 6px;
	--messages-background-default: var(--e-global-color-secondary);
	--messages-background-danger: #D52B2B;
	--messages-background-success: #4D973A;
	--messages-color: var(--e-global-color-primary);
	--messages-border-radius: 4px;
}

.elementor-widget-form .elementor-field-group > label {
	font-size: var(--field-group-label-font-size);
	line-height: inherit;
}

.elementor-widget-form .elementor-field-subgroup {
	gap: var(--field-subgroup-gap);
}

.elementor-widget-form .elementor-field-subgroup label {
	font-size: var(--field-subgroup-label-font-size);
}

.elementor-field-type-acceptance .elementor-field-option,
.elementor-field-type-radio .elementor-field-option,
.elementor-field-type-checkbox .elementor-field-option {
	display: flex;
	align-items: center;
}

.elementor-field-type-acceptance .elementor-field-subgroup.elementor-subgroup-inline,
.elementor-field-type-radio .elementor-field-subgroup.elementor-subgroup-inline,
.elementor-field-type-checkbox .elementor-field-subgroup.elementor-subgroup-inline {

}

.elementor-field-type-acceptance .elementor-field-option a,
.elementor-field-type-radio .elementor-field-option a,
.elementor-field-type-checkbox .elementor-field-option a {
	color: inherit;
	text-decoration: underline;
}

.elementor-field-type-acceptance .elementor-field-option label,
.elementor-field-type-radio .elementor-field-option label,
.elementor-field-type-checkbox .elementor-field-option label {
	display: inline !important;
}

input[type="radio"],
input[type="checkbox"] {
	appearance: none;
	background-color: var(--radio-and-checkbox-background-color) !important;
	padding: 0 !important;
	width: var(--radio-and-checkbox-size) !important;
	height: var(--radio-and-checkbox-size) !important;
	border: 1px solid var(--radio-and-checkbox-border-color) !important;
	border-radius: var(--checkbox-border-radius) !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	margin: 0 var(--radio-and-checkbox-margin-right) 0 0 !important;
	flex-shrink: 0 !important;
	outline: 0 !important;
}

input[type="radio"] {
	border-radius: var(--radio-border-radius) !important;
}

input[type="radio"]:before,
input[type="checkbox"]:before {
	content: url("data:image/svg+xml,%3Csvg width='10' height='8' viewBox='0 0 10 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M3.85522 7.74387C3.76172 7.83787 3.63422 7.89037 3.50172 7.89037C3.36922 7.89037 3.24172 7.83787 3.14822 7.74387L0.325219 4.92037C0.0322188 4.62737 0.0322188 4.15237 0.325219 3.85987L0.678719 3.50637C0.971719 3.21337 1.44622 3.21337 1.73922 3.50637L3.50172 5.26887L8.26422 0.506371C8.55722 0.213371 9.03222 0.213371 9.32472 0.506371L9.67822 0.859871C9.97122 1.15287 9.97122 1.62787 9.67822 1.92037L3.85522 7.74387Z' fill='%233BB625'/%3E%3C/svg%3E");
	width: var(--radio-and-checkbox-checked-size) !important;
	height: var(--radio-and-checkbox-checked-size) !important;
	font-size: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--radio-and-checkbox-checked-background-color) !important;
	border-radius: var(checkbox-border-radius) !important;
	transform: scale(0);
}

input[type="radio"]:before {
	border-radius: var(--radio-border-radius) !important;
}

input[type="radio"]:checked::before,
input[type="checkbox"]:checked::before {
	transform: scale(1);
}

.elementor-field-type-upload {
	flex-direction: row !important;
	justify-content: space-between !important;
	flex-wrap: nowrap !important;
	gap: var(--field-subgroup-gap);
	overflow: hidden !important;
}

.elementor-field-type-upload label {
	position: relative !important;
	display: flex !important;
	align-items: center !important;
	margin: 0 !important;
	padding: 0 !important;
	z-index: 5 !important;
	flex-shrink: 0 !important;
}

.elementor-field-type-upload input {
	border: 0 !important;
	padding: 0 !important;
	margin: 0 !important;
	color: transparent !important; /* JS needs to change this color, otherwide "No file chosen" text will appear initially and it comes from browser */
	background: none !important;
}

.elementor-field-type-upload input::file-selector-button {
	display: none !important;
}

.elementor-form .elementor-message {
	font-size: var(--messages-font-size);
	color: var(--messages-color) !important;
	border-radius: var(--messages-border-radius);
	padding: var(--messages-padding);
	margin: var(--field-subgroup-gap) 0 0;
	display: inline-flex;
	background: var(--messages-background-default);
}

.elementor-form .elementor-field-subgroup .elementor-message.elementor-help-inline.elementor-form-help-inline {
	margin: 0 0 0 calc( var(--field-subgroup-gap) / 2 );
}

.elementor-form .elementor-message.elementor-help-inline.elementor-form-help-inline {
	font-size: var(--inline-messages-font-size);
	padding: var(--inline-messages-padding);
	margin: calc( var(--field-subgroup-gap) / 2 ) 0 0;
}

.elementor-form .elementor-message:not(.elementor-form-help-inline) {
	width: 100%;
    text-align: center;
    align-items: center;
    justify-content: center;
}

.elementor-message:before {
	display: none !important;
}

.elementor-form-spinner {
	display: none !important;
}

.elementor-form .elementor-message.elementor-message-danger {
	background: var(--messages-background-danger);
}

.elementor-form .elementor-message.elementor-message-success {
	background: var(--messages-background-success);
/* 	display: none !important; */
}

.elementor-field-type-select .select-caret-down-wrapper  {
	display: none !important;
}

.select2-container--default {
	display: inline-block !important;
	margin: 0 !important;
	width: 100% !important;
}

.select2-selection__rendered {
	padding: 0 !important;
	display: inline !important;
	font-family: inherit !important;
	font-size: inherit !important;
	font-weight: inherit !important;
	line-height: inherit !important;
	color: inherit !important;
}

.select2-container--default.select2-container--open.select2-container--below .select2-selection--single {
	border-bottom-right-radius: 0 !important;
	border-bottom-left-radius: 0 !important;
}

.select2-container--default.select2-container--open.select2-container--above .select2-selection--single {
	border-top-right-radius: 0 !important;
	border-top-left-radius: 0 !important;
}

select,
.select2-container--default .select2-selection--single {
	appearance: none !important;
	-webkit-appearance: none !important;
	-moz-appearance: none !important;
	background-repeat: no-repeat !important;
	background-position: calc(100% - 15px - 8px) 50% !important;
	background-size: auto !important;
	background-image: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iOCIgaGVpZ2h0PSI0IiB2aWV3Qm94PSIwIDAgOCA0IiBmaWxsPSJub25lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgo8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTcuODQwOSAwLjgxNjQxMUw0LjM4NDA5IDMuODU5OTNDNC4xNzE5NiA0LjA0NjY5IDMuODI4MDQgNC4wNDY2OSAzLjYxNTkxIDMuODU5OTNMMC4xNTkwOTYgMC44MTY0MUMtMC4wNTMwMzEgMC42Mjk2NDUgLTAuMDUzMDMxIDAuMzI2ODM5IDAuMTU5MDk2IDAuMTQwMDc0QzAuMzcxMjIzIC0wLjA0NjY5MTcgMC43MTUxNSAtMC4wNDY2OTE2IDAuOTI3Mjc3IDAuMTQwMDc0TDQgMi44NDU0Mkw3LjA3MjcyIDAuMTQwMDc0QzcuMjg0ODUgLTAuMDQ2NjkxNCA3LjYyODc4IC0wLjA0NjY5MTMgNy44NDA5IDAuMTQwMDc0QzguMDUzMDMgMC4zMjY4MzkgOC4wNTMwMyAwLjYyOTY0NiA3Ljg0MDkgMC44MTY0MTFaIiBmaWxsPSJibGFjayIvPgo8L3N2Zz4K") !important;
	outline: 0 !important;
	height: auto !important;
	min-height: 50px !important;
}

.select2-container--default .select2-selection--single .select2-selection__arrow {
	display: none !important;
}

.select2-container--default .select2-dropdown {
	background: #fff;
    border-radius: 0;
}
/* CHECKBOX / RADIO / UPLOAD BUTTON / FORM END */

/* GSAP START */
.framework-horizontal-pin {
	transition: none !important;
}

.framework-horizontal-wrapper {
	flex-wrap: nowrap !important;
	overflow: hidden !important;
}

.elementor-editor-active .framework-horizontal-wrapper {
	flex-wrap: wrap !important;
}

.framework-horizontal-element {
	flex-shrink: 0 !important;
}
/* GSAP END */

/* CUSTOM START */
.elementor-widget .elementor-icon-list-icon + .elementor-icon-list-text {
	padding-inline-start: 0;
}

.elementor-widget.elementor-widget-icon-list .elementor-icon-list-icon svg {
	margin: 0;
}

.jet-filter-label:not(:has(+ div)) {
    display: none;
}

.framework-frame:before {
	content: '' !important;
    position: absolute !important;
    inset: -1px !important;
    background: linear-gradient(270deg, #C15DFA 0%, #4512BE 100%) border-box !important;
    mask: linear-gradient(#000 0 0) padding-box, linear-gradient(#000 0 0) !important;
    mask-composite: exclude !important;
    border: 1px solid transparent !important;
	border-radius: 10px !important;
}

.framework-frame {
	border-style: solid;
    border-width: 1px 1px 1px 1px;
    border-color: var(--e-global-color-0cb55a5);
    border-radius: 10px 10px 10px 10px;
}

.elementor-button:before {
	content: '' !important;
    position: absolute !important;
    inset: -1px !important;
    background: linear-gradient(270deg, #C15DFA 0%, #4512BE 100%) border-box !important;
    mask: linear-gradient(#000 0 0) padding-box, linear-gradient(#000 0 0) !important;
    mask-composite: exclude !important;
    border: 1px solid transparent !important;
	border-radius: 10px !important;
}

.elementor-button {
	position: relative;
	--btnBG1: #000;
    --btnBG2: #000;
	background-image: none !important;
	background: radial-gradient(110% 110% at 50% -10%, var(--btnBG1) 0%, var(--btnBG2) 100%) !important;
	transition: all .3s !important;
}

.elementor-button:hover,
.elementor-button:focus {
	--btnBG1: #200858 !important;
    --btnBG2: #C15DFA !important;
}

.framework-textual-button {
	font-size: 0;
}

.framework-textual-button .elementor-button {
	padding: 0 !important;
	border: 0 !important;
	background: none !important;
}

.framework-textual-button .elementor-button:before {
	display: none !important;
}

.framework-gradient {
	background-image: -webkit-linear-gradient(0deg, var( --e-global-color-accent ) 0%, var( --e-global-color-c27402c ) 50%, currentColor 50%);
	background-size: 200%;
	transition: .3s background-position;
	transition-delay: .75s;
	background-position: 0;
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent
}

.framework-gradient.dark {
	background-image: -webkit-linear-gradient(0deg, var( --e-global-color-accent ) 0%, var( --e-global-color-0cb55a5 ) 50%, currentColor 50%);
}

.framework-gradient.appear {
	background-position: 100%;
}

.animated .framework-gradient {
	background-position: 0
}

.framework-gradient-hover .elementor-heading-title {
    background-image: -webkit-linear-gradient(0deg, var(--e-global-color-accent) 0%, var(--e-global-color-c27402c) 50%, currentColor 50%);
    background-size: 200%;
    transition: .5s background-position !important;
    background-position: 100%;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.framework-gradient-hover.framework-single-item:hover .elementor-heading-title {
	background-position: 0;
}

.e-loop-item:hover .framework-gradient-hover .elementor-heading-title {
	background-position: 0;
}

.framework-gradient-menu-hover a {
	background-image: -webkit-linear-gradient(0deg, var(--e-global-color-accent) 0%, var(--e-global-color-c27402c) 50%, currentColor 50%);
    background-size: 200%;
    transition: .5s background-position !important;
    background-position: 100%;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.framework-gradient-menu-hover a:hover {
	background-position: 0;
}

.framework-horizontal-client-item {
	--gap: 30px;
	--speed: 20s;
	--animation: horizontal-marquee;
	will-change: transform;
	backface-visibility: hidden;
	animation: var(--animation) var(--speed) linear infinite;
}

.framework-horizontal-client-holder.reverse .framework-horizontal-client-item {
	--animation: horizontal-marquee-reverse;
}

.framework-horizontal-client-holder.reverse .framework-horizontal-client-item img {
	filter: brightness(0);
}

body:not(.elementor-editor-active) .framework-horizontal-client-holder:not(.marquee-in-viewport) .framework-horizontal-client-item,
.framework-horizontal-client-holder:hover .framework-horizontal-client-item,
.framework-horizontal-client-holder:focus .framework-horizontal-client-item {
	animation-play-state: paused !important;
    will-change: auto !important;
}

.framework-horizontal-client-holder:after {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	height: 100%;
	width: 100%;
	pointer-events: none;
	z-index: 5;
	background: linear-gradient(to right, transparent 90%, #000 100% );
}

.framework-vertical-marquee {
    overflow: hidden;
	height: 80vh;
	--gap: 30px;
	--speed: 40s;
}

@media screen and (max-width: 1024px) {
	.framework-vertical-marquee {
		height: auto;
	}
}

.framework-vertical-marquee:after {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	height: 100%;
	width: 100%;
	pointer-events: none;
	z-index: 5;
	background: linear-gradient(to bottom, #000 0%, transparent 10%, transparent 90%, #000 100% );
}

.framework-vertical-marquee .elementor-widget-loop-grid {
	--animation: vertical-marquee;
}

.framework-vertical-marquee.reverse .elementor-widget-loop-grid {
	--animation: vertical-marquee-reverse;
}

@media screen and (max-width: 1024px) {
	.framework-vertical-marquee:after {
		background: linear-gradient(to right, #000 0%, transparent 10%, transparent 90%, #000 100% );
	}
	
	.framework-vertical-marquee .elementor-widget-loop-grid {
		--animation: horizontal-marquee;
		flex-shrink: 0 !important;
		max-width: none !important;
        width: auto !important;
	}
	
	.framework-vertical-marquee .elementor-widget-loop-grid .e-loop-item {
		max-width: calc(45vw - 12px ) !important;
	}
	
	.framework-vertical-marquee .elementor-widget-loop-grid .e-loop-item > .elementor-element {
		height: 100%;
	}

	.framework-vertical-marquee.reverse .elementor-widget-loop-grid {
		--animation: horizontal-marquee-reverse;
	}
	
	.framework-vertical-marquee .elementor-widget-loop-grid .elementor-grid {
		display: flex;
		flex-direction: row;
		flex-wrap: nowrap;
	}
}

@media screen and (max-width: 767px) {
	.framework-vertical-marquee:after {
		display: none !important;
	}
	
	.framework-vertical-marquee .elementor-widget-loop-grid .e-loop-item {
		max-width: 90vw !important;
	}
}

@keyframes vertical-marquee {
    0% {
        transform: translateY(0%) translateZ(0);
    }

    100% {
        transform: translateY(-100%) translateZ(0);
    }
}

@keyframes vertical-marquee-reverse {
    0% {
        transform: translateY(-100%) translateZ(0);
    }

    100% {
        transform: translateY(0%) translateZ(0);
    }
}

@keyframes horizontal-marquee {
    0% {
        transform: translateX(0%) translateZ(0);
    }

    100% {
        transform: translateX(-100%) translateZ(0);
    }
}

@keyframes horizontal-marquee-reverse {
    0% {
        transform: translateX(-100%) translateZ(0);
    }

    100% {
        transform: translateX(0%) translateZ(0);
    }
}
.framework-vertical-marquee .elementor-widget-loop-grid {
	will-change: transform;
	backface-visibility: hidden;
	animation: var(--animation) var(--speed) linear infinite;
}

body:not(.elementor-editor-active) .framework-vertical-marquee:not(.marquee-in-viewport) .elementor-widget-loop-grid,
.framework-vertical-marquee:hover .elementor-widget-loop-grid,
.framework-vertical-marquee:focus .elementor-widget-loop-grid {
	animation-play-state: paused !important;
    will-change: auto !important;
}

.framework-image-holder {
	overflow: hidden;
}

.framework-image-holder img {
	transition: .3s;
	will-change: transform;
}

.e-loop-item:hover .framework-image-holder img,
.e-loop-item:focus .framework-image-holder img {
	transform: scale(1.025);
}

.flatpickr-current-month .flatpickr-monthDropdown-months {
	background: none !important;
	padding: 0 !important;
	font-size: 16px !important;
	line-height: initial !important;
	font-weight: 400 !important;
	color: #000 !important;
	min-height: auto !important;
	margin: 0 !important;
}

.flatpickr-current-month input.cur-year {
	padding: 0 !important;
	font-size: 16px !important;
	line-height: initial !important;
	font-weight: 400 !important;
	color: #000 !important;
	border-radius: 0 !important;
    background: none !important;
}

.flatpickr-current-month .numInputWrapper {
	font-size: 16px !important;
	line-height: initial !important;
	border: 0 !important;
	border-radius: 0 !important;
}

.framework-form-sent-title {
	color: var(--e-global-color-accent);
    font-family: var(--e-global-typography-31af2f5-font-family), Sans-serif;
    font-size: var(--e-global-typography-31af2f5-font-size);
    font-weight: var(--e-global-typography-31af2f5-font-weight);
    line-height: var(--e-global-typography-31af2f5-line-height);
	text-align: center;
}

.framework-form-sent-text {
	text-align: center;
	margin-top: 24px;
}

.framework-absolute-badge,
.e-n-accordion-item-title-text > span {
	position: absolute;
	top: 0;
	right: 10px;
	transform: translateY(-50%);
	border-radius: 100px;
	font-size: 12px;
	font-weight: 700;
	background: var( --e-global-color-accent );
	padding: 7px 6px;
	z-index: 5;
}

.e-n-accordion .framework-left-column,
.e-n-accordion .framework-right-column {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.framework-item-wrap {
	position: relative;
}
/* CUSTOM END */

/* ELEMENTOR ADDITIONAL ANIMATIONS START */
.fadeInTopFixed {
	-webkit-animation-name: fadeInTopFixed;
	animation-name: fadeInTopFixed;
}

@keyframes fadeInTopFixed {
	from {
		opacity: 0;
		-webkit-transform: translate3d(0,25px,0);
		transform: translate3d(0,25px,0);
	}
	to {
		opacity: 1;
		-webkit-transform: none;
		transform: none;
	}
}

.fadeInLeftFixed {
	-webkit-animation-name: fadeInLeftFixed;
	animation-name: fadeInLeftFixed;
}

@keyframes fadeInLeftFixed {
	from {
		opacity: 0;
		-webkit-transform: translate3d(-25px,0,0);
		transform: translate3d(-25px,0,0);
	}
	to {
		opacity: 1;
		-webkit-transform: none;
		transform: none;
	}
}

.fadeInRightFixed {
	-webkit-animation-name: fadeInRightFixed;
	animation-name: fadeInRightFixed;
}

@keyframes fadeInRightFixed {
	from {
		opacity: 0;
		-webkit-transform: translate3d(25px,0,0);
		transform: translate3d(25px,0,0);
	}
	to {
		opacity: 1;
		-webkit-transform: none;
		transform: none;
	}
}

.clipInTop {
	-webkit-animation-name: clipInTop;
	animation-name: clipInTop;
}

@keyframes clipInTop {
	from {
		-webkit-clip-path: polygon(0 0, 100% 0, 100% 0%, 0 0%);
		clip-path: polygon(0 0, 100% 0, 100% 0%, 0 0%);
	}
	to {
		-webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 0% 100%);
		clip-path: polygon(0 0, 100% 0, 100% 100%, 0% 100%);
	}
}

.clipInBottom {
	-webkit-animation-name: clipInBottom;
	animation-name: clipInBottom;
}

@keyframes clipInBottom {
	from {
		-webkit-clip-path: polygon(0 100%, 100% 100%, 100% 100%, 0% 100%);
		clip-path: polygon(0 100%, 100% 100%, 100% 100%, 0% 100%);
	}
	to {
		-webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 0% 100%);
		clip-path: polygon(0 0, 100% 0, 100% 100%, 0% 100%);
	}
}

.clipInLeft {
	-webkit-animation-name: clipInLeft;
	animation-name: clipInLeft;
}

@keyframes clipInLeft {
	from {
		-webkit-clip-path: polygon(0 0, 0 0, 0 100%, 0 100%);
		clip-path: polygon(0 0, 0 0, 0 100%, 0 100%);
	}
	to {
		-webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 0% 100%);
		clip-path: polygon(0 0, 100% 0, 100% 100%, 0% 100%);
	}
}

.clipInRight {
	-webkit-animation-name: clipInRight;
	animation-name: clipInRight;
}

@keyframes clipInRight {
	from {
		-webkit-clip-path: polygon(100% 0, 100% 0, 100% 100%, 100% 100%);
		clip-path: polygon(100% 0, 100% 0, 100% 100%, 100% 100%);
	}
	to {
		-webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 0% 100%);
		clip-path: polygon(0 0, 100% 0, 100% 100%, 0% 100%);
	}
}
/* ELEMENTOR ADDITIONAL ANIMATIONS END */

.framework-text-marquee-holder {
	display: flex;
    white-space: nowrap;
    font-size: 0;
    position: relative;
    overflow: hidden;
	--gap: 30px;
	--speed: 10s;
	--animation: text-marquee;
}

.framework-text-marquee-reverse .framework-text-marquee-holder {
	--animation: text-marquee-reverse;
}

@keyframes text-marquee {
    0% {
        -webkit-transform: translateX(0%) translateZ(0);
        transform: translateX(0%) translateZ(0);
    }

    100% {
        -webkit-transform: translateX(-100%) translateZ(0);
        transform: translateX(-100%) translateZ(0);
    }
}

@keyframes text-marquee-reverse {
    0% {
		-webkit-transform: translateX(-100%) translateZ(0);
        transform: translateX(-100%) translateZ(0);
    }

    100% {
        -webkit-transform: translateX(0%) translateZ(0);
        transform: translateX(0%) translateZ(0);
    }
}

.framework-text-marquee-element {
	display: flex;
	font-size: 50px;
	will-change: transform;
	backface-visibility: hidden;
	animation: var(--animation) var(--speed) linear infinite;
}

body:not(.elementor-editor-active) .framework-text-marquee-holder:not(.marquee-in-viewport) .framework-text-marquee-element {
	animation-play-state: paused !important;
    will-change: auto !important;
}

.framework-text-marquee-element > span {
	padding: 0 calc( var(--gap) / 2 );
}

.framework-text-marquee-outlined .framework-text-marquee-element > span:nth-child(odd) {
    -webkit-text-stroke-width: 1px;
    stroke-width: 1px;
    -webkit-text-stroke-color: var(--outline-color);
    stroke: var(--outline-color);
}

