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

body #content {
	overflow-x: clip;
}

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

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

.h1-style {
	font-family: var(--e-global-typography-fafd603-font-family), Sans-serif;
    font-weight: var(--e-global-typography-fafd603-font-weight);
    line-height: var(--e-global-typography-fafd603-line-height);
}

.h1-size {
    font-size: var(--e-global-typography-fafd603-font-size);
}

.h2-style {
	font-family: var(--e-global-typography-f7b868b-font-family), Sans-serif;
    font-weight: var(--e-global-typography-f7b868b-font-weight);
    line-height: var(--e-global-typography-f7b868b-line-height);
}

.h2-size {
    font-size: var(--e-global-typography-f7b868b-font-size);
}

.h3-style {
	font-family: var(--e-global-typography-0984e7d-font-family), Sans-serif;
    font-weight: var(--e-global-typography-0984e7d-font-weight);
    line-height: var(--e-global-typography-0984e7d-line-height);
}

.h3-size {
    font-size: var(--e-global-typography-0984e7d-font-size);
}

.h4-style {
	font-family: var(--e-global-typography-aa70a77-font-family), Sans-serif;
    font-weight: var(--e-global-typography-aa70a77-font-weight);
    line-height: var(--e-global-typography-aa70a77-line-height);
}

.h4-size {
    font-size: var(--e-global-typography-aa70a77-font-size);
}

.h5-style {
	font-family: var(--e-global-typography-d9a6e17-font-family), Sans-serif;
    font-weight: var(--e-global-typography-d9a6e17-font-weight);
    line-height: var(--e-global-typography-d9a6e17-line-height);
}

.h5-size {
    font-size: var(--e-global-typography-d9a6e17-font-size);
}

.h6-style {
	font-family: var(--e-global-typography-31d2dec-font-family), Sans-serif;
    font-weight: var(--e-global-typography-31d2dec-font-weight);
    line-height: var(--e-global-typography-31d2dec-line-height);
}

.h6-size {
    font-size: var(--e-global-typography-31d2dec-font-size);
}

.sub-style {
	font-family: var(--e-global-typography-07378aa-font-family), Sans-serif;
    font-weight: var(--e-global-typography-07378aa-font-weight);
    line-height: var(--e-global-typography-07378aa-line-height);
    letter-spacing: var(--e-global-typography-07378aa-letter-spacing);
}

.sub-size {
	font-size: var(--e-global-typography-07378aa-font-size);
}

.italic-style {
	font-family: var(--e-global-typography-a425e62-font-family), Sans-serif;
    font-weight: var(--e-global-typography-a425e62-font-weight);
    font-style: var(--e-global-typography-a425e62-font-style);
}

.pagination-button-background .elementor-button-wrapper,
.form-button-background .e-form__buttons,
.button-background {
	padding: 20px !important;
	position: relative;
}

.pagination-button-background .elementor-button-wrapper:before,
.form-button-background .e-form__buttons:before,
.button-background:before {
	background-image: linear-gradient(to top right, #E9E9E9 50%, var(--e-global-color-accent) 50%);
	content: '';
	position: absolute;
	left: 0;
	bottom: 0;
	height: 100%;
	aspect-ratio: 1/1;
	clip-path: polygon(0 2px, 0% 100%, 100% calc(100% + 2px));
	transition: .3s;
	background-size: 200% 200%;
    background-position: 0% 0%;
}

.pagination-button-background .elementor-button,
.form-button-background .elementor-button,
.button-background .elementor-button {
	position: relative;
}

.pagination-button-background.black .elementor-button-wrapper:before,
.form-button-background.black .e-form__buttons:before,
.button-background.black:before {
	background-image: linear-gradient(to top right, #1a1a1a 50%, var(--e-global-color-accent) 50%);
}

.pagination-button-background .elementor-button-wrapper.button-hovered:before,
.form-button-background .e-form__buttons.button-hovered:before,
.button-background.button-hovered:before {
	background-position: 100% 0%;
}

.elementor-widget-loop-carousel:not(.no-button-background) .elementor-swiper-button:before {
	background-image: linear-gradient(to top right, #E9E9E9 50%, var(--e-global-color-accent) 50%);
	content: '';
	position: absolute;
	left: 0;
	bottom: 0;
	height: 100%;
	aspect-ratio: 1/1;
	clip-path: polygon(0 2px, 0% 100%, 100% calc(100% + 2px));
	transition: .3s;
	background-size: 200% 200%;
    background-position: 0% 0%;
}

.elementor-widget-loop-carousel:not(.no-button-background) .elementor-swiper-button svg {
	position: relative;
}

.elementor-widget-loop-carousel:not(.no-button-background) .elementor-swiper-button-next:before {
	transform: scaleX(-1);
}

.elementor-widget-loop-carousel:not(.no-button-background) .elementor-swiper-button:hover:before,
.button-background.button-hovered:before {
	background-position: 100% 0%;
}

.elementor-swiper-button {
	outline: 0 !important;
	box-shadow: none !important;
}

.elementor-widget-heading p:last-child,
.elementor-widget-theme-post-excerpt p:last-child,
.elementor-widget-theme-post-content p:last-child,
.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 */
.elementor-field-group .elementor-field-textual::placeholder {
	opacity: 1 !important;
}

body {
	--field-group-label-font-size: inherit;
	--field-subgroup-gap: 25px 40px;
	--field-subgroup-label-font-size: 14px;
	--radio-and-checkbox-size: 19px;
	--radio-and-checkbox-checked-size: 19px;
	--radio-and-checkbox-background-color: transparent;
	--radio-and-checkbox-checked-background-color: transparent;
	--radio-and-checkbox-border-color: #fff;
	--radio-border-radius: 50%;
	--checkbox-border-radius: 50%;
	--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-labels-above .elementor-field-group:not(.elementor-field-type-radio):not(.elementor-field-type-checkbox) > label {
	margin: -6px 0 -10px 10px;
	background: #000;
	padding: 0 10px;
	z-index: 3;
	transform: translateY(3px);
}

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

.elementor-widget-form .elementor-field-subgroup {
	margin-top: 22px;
	gap: var(--field-subgroup-gap);
}


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

.elementor-widget-form .elementor-field-type-acceptance .elementor-field-subgroup {
	margin-top: 0;
}

.elementor-widget-form .elementor-field-type-acceptance label {
	display: none !important;
}

.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-radio .elementor-field-subgroup.elementor-subgroup-inline > span,
.elementor-field-type-checkbox .elementor-field-subgroup.elementor-subgroup-inline > span {
	width: calc((100% - 80px) / 3);
}

@media screen and (max-width: 767px) {
	.elementor-field-type-radio .elementor-field-subgroup.elementor-subgroup-inline > span,
	.elementor-field-type-checkbox .elementor-field-subgroup.elementor-subgroup-inline > span {
		width: calc((100% - 40px) / 2);
	}
}

.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;base64,PHN2ZyB3aWR0aD0iMTMiIGhlaWdodD0iMTMiIHZpZXdCb3g9IjAgMCAxMyAxMyIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGNpcmNsZSBjeD0iNi41IiBjeT0iNi41IiByPSI2LjUiIGZpbGw9IiNGMkFDMkYiLz4KPC9zdmc+Cg==");
	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 label:before {
	content: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA1MTIgNTEyIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiPjxwYXRoIGQ9Ik0yODggMTA5LjNMMjg4IDM1MmMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTI0Mi43LTczLjQgNzMuNGMtMTIuNSAxMi41LTMyLjggMTIuNS00NS4zIDBzLTEyLjUtMzIuOCAwLTQ1LjNsMTI4LTEyOGMxMi41LTEyLjUgMzIuOC0xMi41IDQ1LjMgMGwxMjggMTI4YzEyLjUgMTIuNSAxMi41IDMyLjggMCA0NS4zcy0zMi44IDEyLjUtNDUuMyAwTDI4OCAxMDkuM3pNNjQgMzUybDEyOCAwYzAgMzUuMyAyOC43IDY0IDY0IDY0czY0LTI4LjcgNjQtNjRsMTI4IDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAzMmMwIDM1LjMtMjguNyA2NC02NCA2NEw2NCA1MTJjLTM1LjMgMC02NC0yOC43LTY0LTY0bDAtMzJjMC0zNS4zIDI4LjctNjQgNjQtNjR6TTQzMiA0NTZhMjQgMjQgMCAxIDAgMC00OCAyNCAyNCAwIDEgMCAwIDQ4eiIgZmlsbD0iIzlDOEY0OCIvPjwvc3ZnPg==");
	font-size: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-right: var(--radio-and-checkbox-margin-right) !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 */
}

.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.elementor-message-danger {
	background: var(--messages-background-danger);
}

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

.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;
}

.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 */

/* 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;
}

body.dialog-prevent-scroll {
	padding-right: var(--scrollbar-width);
}

/* 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;
	}
}

.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 */

