.slide-from-left-enter-active, .slide-from-left-leave-active, .slide-from-right-enter-active, .slide-from-right-leave-active {
	transform: translateX(0);
	transition: transform .3s cubic-bezier(.53, .13, .28, .98), opacity .25s;
}

.slide-from-left-enter-from, .slide-from-left-leave-to, .slide-from-right-enter-from, .slide-from-right-leave-to {
	transition: transform .3s cubic-bezier(.53, .13, .28, .98), opacity .25s;
}

.slide-from-left-leave-to {
	opacity: 0;
	transform: translateX(100%);
}

.slide-from-left-enter-from, .slide-from-right-leave-to {
	transform: translateX(-100%);
	opacity: 0;
}

.slide-from-right-enter-from {
	transform: translateX(100%);
	opacity: 0;
}

.form-popup-enter-from, .form-popup-leave-to {
	opacity: 0;
}

.fade-enter-active, .fade-leave-active {
	transition: .05s ease;
}

.fade-enter-from, .fade-leave-to {
	opacity: 0;
}

.user-bar-enter-active, .user-bar-leave-active {
	transition: .1s ease;
}

.user-bar-enter-from, .user-bar-leave-to {
	opacity: 0;
}

.ts-user-bar[v-cloak] {
	display: none;
}

.vx-popup.elementor {
	position: unset !important;
}

.ts-popup-root, .ts-user-bar-root {
	position: absolute !important;
	top: 0;
	left: 0;
	z-index: 500000 !important;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	pointer-events: none;
}

.ts-popup-content-wrapper {
	max-height: 293px;
}

.ts-sticky-top {
	position: sticky;
	top: 0;
	z-index: 999999;
	background: #fff;
}

.dropdown-popup-enter-active, .dropdown-popup-leave-active {
	transition: opacity .1s;
}

.dropdown-popup-enter-from, .dropdown-popup-leave-to {
	opacity: 0;
}

.ts-field-popup-container {
	position: relative;
	z-index: 50;
	width: 100%;
	margin: 10px 0;
	backface-visibility: hidden;
}

.ts-emoji-list .ts-form-group, .ts-popup-content-wrapper>.ts-form-group {
	padding: 15px 15px 0;
}

.ts-popup-content-wrapper>.ts-form-group:empty {
	display: none;
}

.ts-cart-controller {
	padding: 15px;
	border-top: .5px solid;
	border-color: var(--ts-shade-4);
}

.ts-field-popup {
	background: #fff;
	border: 1px solid var(--ts-shade-3);
	box-shadow: 0 2px 8px 0 rgba(99, 99, 99, .2);
	border-radius: .475rem;
	width: 100%;
	left: 0;
	top: 0;
	min-width: 230px;
	overflow: hidden;
}

.ts-field-popup.popup-md {
	min-width: 300px;
}

.ts-popup-controller {
	padding: 10px 15px;
	border-top: .5px solid;
	border-color: var(--ts-shade-4);
}

.ts-popup-controller .ts-btn {
	position: relative;
	height: auto;
}

.ts-popup-controller .ts-btn .ts-loader-wrapper {
	position: absolute;
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	opacity: 0;
}

.ts-popup-controller ul {
	grid-gap: 10px;
}

.ts-popup-controller ul li:last-child {
	margin-left: auto;
}

.ts-field-popup .uib input {
	background: transparent;
	border-radius: 0;
	border: none;
	height: 40px;
}

.ts-field-popup .uib input:focus, .ts-field-popup .uib input:hover {
	background: transparent;
}

.uib {
	border: 0 solid var(--ts-shade-4);
}

.uib.b-top {
	border-top-width: .5px;
}

.uib.b-bottom {
	border-bottom-width: .5px;
}

.ts-popup-name img {
	width: 30px;
	height: 30px;
	border-radius: 50%;
	-o-object-fit: cover;
	object-fit: cover;
	min-width: 30px;
}

.ts-search-portal .ts-filter-wrapper {
	padding: 0 !important;
	flex-wrap: wrap !important;
}

.ts-popup-root>div {
	pointer-events: all;
}

.ts-popup-root>div:after {
	pointer-events: none;
	position: fixed;
	height: 100%;
	width: 100%;
	top: 0;
	left: 0;
	content: "";
	animation-name: smooth;
	animation-fill-mode: forwards;
	animation-duration: .2s;
	opacity: 0;
	will-change: opacity;
	transform: translateZ(0);
}

.pac-container {
	border-radius: 8px;
	margin-top: 5px;
}

.pac-container:empty {
	display: none;
}

.pac-container .pac-item:first-child {
	border: none !important;
}

@media (min-width:1024px) {
	.ts-name-col {
		border-bottom: none;
	}
	
	.xs-width .ts-field-popup {
		min-width: 180px;
	}
	
	.md-width .ts-field-popup {
		min-width: 340px;
	}
	
	.md-height .ts-popup-content-wrapper {
		max-height: 370px;
	}
	
	.lg-width .ts-field-popup {
		min-width: 420px;
	}
	
	.xl-height .ts-popup-content-wrapper {
		max-height: none;
	}
	
	.xl-width .ts-field-popup {
		min-width: 640px;
	}
}

@media (max-width:1024px) {
	.slide-from-left-leave-active, .slide-from-right-leave-active {
		position: absolute;
		width: 100%;
		height: auto;
	}
	
	.has-tooltip:after {
		display: none;
	}
	
	.vx-order-head {
		gap: 10px;
	}
	
	.ts-form .ts-field-popup {
		animation-name: slide-up;
		animation-fill-mode: forwards;
		animation-duration: .4s;
		animation-timing-function: cubic-bezier(.22, .48, 0, 1);
		will-change: transform;
		will-change: transform, opacity;
	}
	
	.ts-cart-popup .ts-popup-content-wrapper {
		order: 2;
	}
	
	.hide-m {
		display: none;
	}
	
	.ts-availability-wrapper .ts-booking-date, .ts-booking-range-wrapper .ts-booking-date {
		margin-bottom: 20px;
	}
	
	.ts-field-popup .ts-popup-controller {
		border-bottom: 1px solid var(--ts-shade-4);
		border-top: none;
	}
	
	.ts-popup-content-wrapper, .ts-popup-content-wrapper .ts-term-dropdown {
		flex-grow: 1;
		display: flex;
		flex-direction: column;
	}
	
	.ts-popup-content-wrapper .ts-term-dropdown .ts-term-dropdown-lists {
		flex-grow: 1;
		display: flex;
	}
	
	.ts-popup-root>div:after {
		background: rgba(49, 49, 53, .631372549);
	}
	
	.ts-popup-content-wrapper {
		max-height: none !important;
		padding-bottom: 50px;
	}
	
	.ts-field-popup-container {
		position: fixed;
		bottom: 0;
		top: 0 !important;
		left: 0;
		right: 0;
		margin: 0 !important;
		height: 100dvh;
		display: flex;
		min-height: -webkit-fill-available;
	}
	
	.ts-field-popup-container .ts-field-popup {
		--vx-popup-height: 50dvh;
		border-radius: 0 !important;
		border: none !important;
		display: flex;
		flex-direction: column-reverse;
		justify-content: flex-end;
		min-height: var(--vx-popup-height);
		max-height: 100dvh;
		position: relative;
		align-self: end;
		max-width: 100% !important;
		min-width: 100% !important;
	}
}

.vx-full-popup .ts-field-popup {
	--vx-popup-height: 100dvh;
}

.ts-popup-content-wrapper .ts-form-group:last-child {
	padding-bottom: 15px;
}

@media (min-width:1024px) {
	.ts-field-popup {
		animation-name: smooth-reveal;
		animation-fill-mode: forwards;
		animation-duration: .5s;
		animation-timing-function: cubic-bezier(.22, .68, 0, 1);
		opacity: 0;
		will-change: transform, opacity;
	}
}

.ts-emoji-popup .ts-popup-content-wrapper {
	height: 360px;
}

.vx-noevent {
	pointer-events: none;
}

.ts-notification-list li {
	transition: .15s ease;
}

.ts-notification-list li:hover {
	background: var(--ts-shade-6);
}

.ts-notification-list li a {
	display: flex;
	flex-wrap: nowrap;
	padding: 10px 15px;
	color: #0c162c;
	font-size: var(--e-global-typography-text-font-size);
	align-items: center;
}

.ts-notification-list li a .notification-image {
	width: 40px;
	height: 40px;
	border-radius: 50%;
	min-width: 40px;
	display: flex;
	align-items: center;
	justify-content: center;
	-o-object-fit: cover;
	object-fit: cover;
	background: var(--ts-shade-5);
	overflow: hidden;
}

.ts-notification-list li a .notification-image i {
	color: var(--ts-shade-2);
	font-size: 22px;
}

.ts-notification-list li a .notification-image img {
	-o-object-fit: cover;
	object-fit: cover;
	width: 100%;
	height: 100%;
}

.ts-notification-list li a .convo-avatar img {
	width: 40x;
	height: 40px;
	border-radius: 50%;
	min-width: 40px;
	-o-object-fit: cover;
	object-fit: cover;
}

.ts-notification-list li a .notification-details {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	flex-direction: column;
	padding-left: 10px;
	min-width: 0;
	grid-gap: 5px;
	flex-grow: 1;
}

.ts-notification-list li a .notification-details span {
	font-size: 14px;
	color: var(--ts-shade-3);
	white-space: nowrap;
	text-overflow: ellipsis;
	display: block;
	max-width: 100%;
	overflow: hidden;
}

.ts-notification-list li a .notification-details div {
	display: flex;
	flex-wrap: wrap;
}

.ts-notification-list li a .notification-details b {
	margin: 0;
	width: 100%;
	font-weight: 400;
	font-size: var(--e-global-typography-text-font-size);
	color: var(--ts-shade-1);
}

.ts-notification-list li.ts-new-notification a b {
	font-weight: 600;
}

.ts-notification-list li.ts-new-notification a .notification-image {
	background: var(--ts-accent-1);
	border: 4px solid var(--ts-accent-1);
}

.ts-notification-list li.ts-new-notification a .notification-image i {
	color: #fff;
}

.ts-notification-list li.ts-unread-notification a b, .ts-notification-list li.ts-unread-notification b {
	font-weight: 600;
}

.ts-notification-list .ts-notification-actions {
	display: flex;
	justify-content: space-between;
	padding: 0 15px 10px;
	grid-gap: 5px;
}

.ts-quicksearch-popup .ts-popup-content-wrapper {
	max-height: 512px;
}

.qs-top .ts-icon-btn {
	position: absolute;
	right: 15px;
	z-index: 10;
	top: 50%;
	transform: translateY(-50%);
}

.quick-search-list .ts-term-icon {
	width: 28px;
	height: 28px;
}

.quick-search-list>li>a {
	height: 45px;
}

.quick-cpt-select li {
	margin: 0;
}

.quick-cpt-select li a {
	padding: 7px 10px;
	border-radius: 50px;
}

.quick-cpt-select .ts-tab-active a {
	color: var(--ts-shade-1);
	background: var(--ts-shade-6);
}

.ts-slot-list {
	display: grid;
	gap: 10px;
}

.datepicker-head h3 {
	font-size: 16px;
	display: inline-flex;
	align-items: center;
	width: 100%;
	gap: 7px;
	margin: 0;
	--ts-icon-size: 22px;
	--ts-icon-color: var(--ts-shade-4);
}

.datepicker-head h3 i {
	font-size: var(--ts-icon-size);
	color: var(--ts-icon-color);
}

.datepicker-head a.ts-icon-btn {
	position: absolute;
	top: 15px;
	right: 15px;
}

.datepicker-head p {
	font-size: 15px;
	color: var(--ts-shade-3);
	margin: 0;
}

.ts-empty-user-tab {
	flex-direction: column;
	justify-content: center;
	height: 100%;
	display: flex;
	align-items: center;
	padding: 35px 0;
	--ts-icon-size: 24px;
	--ts-icon-color: var(--ts-shade-3);
}

.ts-empty-user-tab i {
	font-size: var(--ts-icon-size);
	color: var(--ts-icon-color);
}

.ts-empty-user-tab p {
	color: #525a6e;
	padding-top: 7px;
	font-size: var(--e-global-typography-text-font-size);
	text-align: center;
	line-height: 22px;
}

.ts-cart-list li {
	display: flex;
	flex-wrap: nowrap;
	gap: 10px;
	align-items: center;
}

.ts-cart-list .cart-image {
	flex-shrink: 0;
}

.ts-cart-list .cart-image img {
	width: 40px;
	height: 40px;
	border-radius: 50%;
	display: flex;
	-o-object-fit: cover;
	object-fit: cover;
	-o-object-position: center;
	object-position: center;
}

.ts-cart-list .cart-image:empty {
	display: none;
}

.ts-cart-list .cart-item-details {
	display: flex;
	flex-direction: column;
	gap: 4px;
	flex-grow: 1;
	justify-content: center;
}

.ts-cart-list .cart-item-details a {
	color: var(--ts-shade-1);
	font-weight: 600;
}

.ts-cart-list .cart-item-details span {
	color: var(--ts-shade-2);
	font-size: 15px;
}

.ts-cart-list .cart-item-details span:empty {
	display: none;
}

.ts-cart-list .cart-stepper {
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	gap: 10px;
}

.cart-subtotal {
	display: flex;
	justify-content: space-between;
	margin-bottom: 15px;
}

.has-tooltip[data-tooltip]:after, .ts-action[data-tooltip]:after, .ts-action[tooltip-active]:after, .ts-action[tooltip-inactive]:after {
	content: attr(data-tooltip);
	opacity: 0;
	visibility: hidden;
	position: absolute;
	bottom: calc(100% + 10px);
	left: 50%;
	transform: translateX(-50%);
	padding: 6px 10px;
	border-radius: 50px;
	background-color: var(--ts-shade-1);
	color: #fff;
	font-size: 14px;
	max-width: 300px;
	text-overflow: ellipsis;
	overflow: hidden;
	white-space: nowrap;
	transition: all .14s ease;
}

.has-tooltip[data-tooltip]:hover:after, .ts-action[data-tooltip]:hover:after {
	visibility: visible;
	opacity: 1;
}

.ts-action[tooltip-inactive]:not(:has(>.ts-action-con.active)):after {
	content: attr(tooltip-inactive);
}

.ts-action[tooltip-inactive]:not(:has(>.ts-action-con.active)):hover:after {
	visibility: visible;
	opacity: 1;
}

.ts-action[tooltip-active]:has(>.ts-action-con.active):after {
	content: attr(tooltip-active);
}

.ts-action[tooltip-active]:has(>.ts-action-con.active):hover:after {
	visibility: visible;
	opacity: 1;
}

.has-tooltip {
	position: relative;
}

.voxel-highlight-element:before {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(21, 101, 192, .53);
	content: "";
	display: block;
	z-index: 1000000;
}

.e-preview--show-hidden-elements[data-elementor-device-mode=desktop] .elementor-widget-ts-map .elementor-hidden-desktop, .e-preview--show-hidden-elements[data-elementor-device-mode=desktop] .elementor-widget-ts-post-feed .elementor-hidden-desktop, .e-preview--show-hidden-elements[data-elementor-device-mode=mobile] .elementor-widget-ts-map .elementor-hidden-mobile, .e-preview--show-hidden-elements[data-elementor-device-mode=mobile] .elementor-widget-ts-post-feed .elementor-hidden-mobile, .e-preview--show-hidden-elements[data-elementor-device-mode=tablet] .elementor-widget-ts-map .elementor-hidden-tablet, .e-preview--show-hidden-elements[data-elementor-device-mode=tablet] .elementor-widget-ts-post-feed .elementor-hidden-tablet {
	display: none !important;
}

.ts-cart-update {
	animation-name: cart-update;
	animation-fill-mode: forwards;
	animation-duration: .5s;
	will-change: scale;
	transform: translateZ(0);
}

.ts-notice {
	width: 300px;
	background: #fff;
	color: var(--ts-shade-1);
	position: fixed;
	left: 50%;
	transform: translateX(-50%);
	z-index: 1000000;
	border-radius: 8px;
	bottom: 100px;
	border: .5px solid var(--ts-shade-4);
	align-items: center;
	box-shadow: 0 1px 2px rgba(0, 0, 0, .1);
	animation-name: vxup;
	animation-fill-mode: forwards;
	animation-duration: .2s;
	transition-timing-function: cubic-bezier(0, 1, .5, 1);
	flex-wrap: wrap;
	overflow: hidden;
	--al-info: var(--ts-accent-1);
	--al-error: #f43b3b;
	--al-success: #2fba62;
	--al-warning: #f7a309;
}

.ts-notice .alert-msg {
	padding: 20px;
	text-align: center;
}

.ts-notice .notice-close {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.ts-notice.ts-notice-success .alert-ic svg:first-child {
	display: flex;
	fill: var(--al-success);
}

.ts-notice.ts-notice-error .alert-ic svg:nth-child(2) {
	display: flex;
	fill: var(--al-error);
}

.ts-notice.ts-notice-info .alert-ic svg:nth-child(3) {
	display: flex;
	fill: var(--al-info);
}

.ts-notice.ts-notice-warning .alert-ic svg:nth-child(4) {
	display: flex;
	fill: var(--al-warning);
}

.alert-ic {
	width: 30px;
	height: 30px;
	min-width: 30px;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: auto;
	margin-bottom: 15px;
}

.a-btn {
	display: flex;
	justify-content: space-between;
	width: 100%;
	--alert-divider: var(--ts-shade-4);
}

.a-btn a {
	text-decoration: none;
	border-radius: 0;
	height: 100%;
	flex-grow: 1;
	border-top: .5px solid var(--alert-divider);
	border-right: .5px solid var(--alert-divider);
}

.a-btn a:last-child {
	border-right: none;
}

.vx-dialog {
	margin-left: auto;
}

.vx-dialog>svg {
	width: 16px;
	height: 16px;
	fill: var(--ts-shade-3);
	display: flex;
}

.vx-dialog:hover .vx-dialog-content {
	display: block;
}

.vx-dialog:hover>svg {
	fill: var(--ts-shade-2);
}

.vx-dialog-content {
	display: none;
	position: absolute;
	width: 220px;
	padding: 12px;
	background: #fff;
	border: 1px solid var(--ts-shade-3);
	box-shadow: 0 1px 2px rgba(0, 0, 0, .1);
	z-index: 99999;
	border-radius: .375rem;
	max-height: 220px;
	right: 0;
	font-size: 14px;
	color: var(--ts-shade-2);
	white-space: pre-wrap;
	overflow-y: scroll;
}

.is-required~.vx-dialog {
	margin-left: unset;
}

.ts-autocomplete-dropdown.active, .ts-autocomplete-dropdown:active, .ts-autocomplete-dropdown:focus {
	display: block;
}

.ts-autocomplete-dropdown {
	position: absolute;
	z-index: 500000;
	display: none;
	background: #fff;
	border: 1px solid var(--ts-shade-4);
	border-radius: 10px;
	margin-top: 10px;
	overflow: hidden;
}

.ts-autocomplete-dropdown .suggestions-list {
	width: 100%;
}

.ts-autocomplete-dropdown .suggestions-list:empty {
	display: none;
}

.ts-autocomplete-dropdown .ts-autocomplete-attrib {
	display: flex;
	justify-content: flex-end;
	padding: 5px 10px;
}

.ts-autocomplete-dropdown .ts-autocomplete-attrib img {
	width: auto;
	height: 14px;
}

.ts-autocomplete-dropdown:not(:has(.suggestion)) {
	display: none;
}

.ts-autocomplete-dropdown.active .suggestions-list {
	top: 0;
}

.ts-autocomplete-dropdown .suggestion {
	padding: 8px;
	font-size: var(--e-global-typography-text-font-size);
	color: var(--ts-shade-1);
	cursor: pointer;
	border-bottom: 1px solid var(--ts-shade-4);
	transition: background .2s;
}

.ts-autocomplete-dropdown .suggestion:last-child {
	border-bottom: 0;
}

.ts-autocomplete-dropdown .suggestion.active, .ts-autocomplete-dropdown .suggestion:focus, .ts-autocomplete-dropdown .suggestion:hover {
	background: var(--ts-shade-6);
}