@import url("https://fonts.googleapis.com/css2?family=Gloock&family=Quicksand:wght@300..700&display=swap");

* {
	font-family: "Quicksand", sans-serif;
	-webkit-text-size-adjust: 100%;
}

body {
	-webkit-text-size-adjust: 100%;
}

html {
	scrollbar-width: none;
	touch-action: manipulation;
}

.placeholder-wave {
	animation: placeholder-wave 8s linear infinite !important;
}

input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

input[type="number"] {
	-moz-appearance: textfield;
	/* Firefox */
}

.standard-theme h1,
.standard-theme h2,
.standard-theme h3,
.standard-theme h4,
.standard-theme h5 {
	font-family: "Gloock", serif;
}

.standard-theme .fineprint {
	font-size: 0.6rem;
}

.standard-theme .fineprint-2 {
	font-size: 0.8rem;
}

.standard-theme .main-app-container {
	min-height: 85px;
	padding-bottom: 55px;
	z-index: 2;
}

.standard-theme img.hero-image {
	object-fit: cover;
	width: 100%;
	top: -35%;
}

.standard-theme img.hero-image.placeholder {
	opacity: 0.8;
}

.hero-image-holder .section-title {
	z-index: 9;
}

.standard-theme .hero-image-holder:after {
	content: "";
	position: absolute;
	width: 100%;
	height: 100%;
	background: linear-gradient(0deg, #000000, transparent);
	z-index: 0;
}

.standard-theme.booking-app-home,
.standard-theme.contact-page,
.standard-theme.portal {
	background-color: #dadada;
}

.standard-theme .navbar {
	background: #ffffffb0;
	backdrop-filter: blur(20px);
	z-index: 12;
}

.standard-theme #navbarOffline:empty,
.standard-theme #navbarGeneral:empty {
	padding: 0;
}

.standard-theme .nav-item .nav-link {
	padding: 8px 16px;
}

.standard-theme .navbar-brand {
	font-size: 1rem;
	padding-right: 10px;
	border-right: 1px solid #dadada;
	margin-right: 10px;
}

.standard-theme .brand-name,
.standard-theme .brand-name a {
	font-size: 1.1rem;
	margin: 0;
	color: #333;
	text-decoration: none;
}

.standard-theme .brand-slogan {
	display: block;
	font-size: 0.6rem;
	color: #444;
}

.standard-theme .brand-logo {
	object-fit: contain;
	width: 100%;
	max-height: 30px;
	max-width: 50px;
}
.standard-theme.survey-form .brand-logo{
	max-height: 100px;
    max-width: 100px;
}

.standard-theme .addon-name {
	font-size: 14px;
	text-wrap-style: balance;
}

.standard-theme #ticket-cart {
	font-size: 14px;
	text-wrap: wrap;
	text-wrap-style: balance;
}

.standard-theme #ticket-cart .text-end {
	text-wrap: nowrap !important;
}

.app-container {
	background-color: #f1f1f1;
	transform: translateY(-65px);
}

.ticket-type {
	max-width: 100%;
	display: inline-block !important;
	background-color: #dadada;
	min-height: 10rem;
	overflow-y: visible !important;
	max-height: 600px;
	max-height: calc(100% - 15px);

}

.standard-theme.portal-dashboard .ticket-type {
	min-height: 8rem;
}

.ticket-type hr {
	margin: 0.35rem;
}

.variation-items-container {
	scroll-margin-top: 90px;
}

.ticket-helpers {
	text-shadow: 1px 1px 2px #000000a1;
	color: white;
	font-size: 0.8rem;
	position: relative !important;
	z-index: 0;
}

.ticket-helpers:after {
	background: linear-gradient(180deg, #000000de, transparent);
	content: "";
	width: 100%;
	height: 50px;
	left: 0;
	top: 0;
	position: absolute;
	z-index: -1;
	border-radius: 18px 18px 0 0 !important;
}

.ticket-event-image {
	object-fit: cover;
	height: 100%;
	z-index: 0;
	border-radius: 18px;
	/*filter: grayscale(0.8);*/
	transition: 0.3s all ease;
}

.ticket-body {
	color: white;
	z-index: 1;
	margin-top: 20px;
	background: linear-gradient(0deg, black, transparent);
	border-radius: 0 0 18px 18px;
}

.event-extra-details {
	border-radius: 0 0 18px 18px !important;
	transform: translate(0px, -15px);
	background: linear-gradient(180deg, #ffffff, #e8e8e8);
}

.event-features-table {
	font-size: 12px
}

.event-features-table td {
	background: transparent
}

.modal-ticket-cart {
	font-size: 0.8rem;
	text-wrap-style: balance;
}

.ticket-input-box,
.variation-input-box {
	width: 2.5rem;
	border: none;
	font-size: 2rem;
	text-align: center;
	padding: 0;
	background: transparent;
	color: white;
	text-shadow: 1px 1px black;
}

.ticket-input-box::placeholder,
.variation-input-box::placeholder {
	color: white;
}

.booking-app-home .variation-item {
	transition: 0.3s all ease;
}

.variation-item:hover {
	background: #a0a0a021;
}

.ticket-input-box:focus,
.variation-input-box:focus,
.ticket-input-box::placeholder:focus,
.variation-input-box::placeholder:focus {
	color: #333333;
}

.ticket-title {
	font-size: 1.2rem;
	text-align: left;
	overflow: hidden;
	text-overflow: ellipsis;
	text-shadow: 1px 1px #000000;
	text-wrap-style: balance;
}

.ticket-description {
	max-height: 3.3rem;
	overflow: hidden;
	font-size: 0.7rem;
	line-height: 15px;
	padding-right: 5px;
	padding-bottom: 2px;
}

.ticket-input-button {
	width: 3rem;
	height: 3rem;
	border-radius: 100%;
	font-size: 1.5rem;
	line-height: 2rem;
	padding: 0;
}

.standard-theme .card-header {
	border: none;
	/* border-bottom: 1px solid #dadada; */
	background: transparent;
	text-align: left;
	font-size: 0.6rem;
	font-weight: bold;
	text-transform: uppercase;
	color: #a2a2a2;
}

#mobileComponent label.ms-5 {
	margin-left: 35px !important;
}

.modal label {
	z-index: 6;
}

#tagFilters {
	scroll-snap-type: x mandatory;
	-webkit-overflow-scrolling: touch;
	overflow-x: scroll;
	scrollbar-width: none;
	scroll-padding: 0 25px 0 20px;
	width: 100%;
	padding: 5px 10px;
}

#tagFilters .filter-btn {
	margin-top: 1rem;
	scroll-snap-align: start;
	position: relative;
	background: #ddd;
	border-radius: 18px;
	font-size: 12px;
}

#tagFilters .filter-btn.btn.active {
	background: #495057 !important;
	color: white;
}

@media (min-width: 576px) {
	.z-sm-0 {
		z-index: 0 !important;
	}

	.standard-theme .modal-sm {
		--bs-modal-width: 330px;
	}

	.standard-theme.portal-dashboard .ticket-type {
		max-width: calc(50% - 1rem) !important;
		min-width: calc(50% - 1rem) !important;
	}
}

@media all and (max-width: 800px) {
	.success-page-v2 tr.banned-true:after {
		display: none !important;
	}

	.standard-theme.portal-dashboard .ticket-type {
		max-width: calc(33% - 1rem) !important;
		min-width: calc(33% - 1rem) !important;
	}

	.ticket-title {
		font-size: 1rem;
	}

	.v-modal-image {
		max-height: 45vh;
		height: 45vh;
	}

	.fixed-xs-bottom {
		position: fixed;
		bottom: 0;
		box-shadow: 30px -7px 20px 0 #1a498724 !important;
		left: 0;
	}

	.standard-theme .main-app-container {
		min-height: 85px;
		padding-bottom: 15px;
		z-index: 2;
	}

	#variationsContainer {
		max-height: inherit !important;
		transition: 0.3s all ease;
	}

	#variationsContainer .v-button-container {
		position: fixed;
		bottom: 0;
		width: 100%;
		left: 0;
		box-shadow: 30px -7px 20px 0 #1a498724 !important;
		z-index: 1022;
	}

	#variationsContainer .schedule-item.slots-available-0,
	#variationsContainer .schedule-item.slots-available-0 .fineprint {
		cursor: not-allowed;
		font-size: 0.4rem;
		max-width: 130px;
	}

	#select-event-variation .v-close-button {
		right: calc(50% - 15px) !important;
	}

	.footer.fixed-bottom {
		position: relative;
	}

	.standard-theme #toaster {
		top: 0;
		bottom: unset !important;
	}

	.toast-hidden {
		opacity: 0;
		pointer-events: none;
		transform: translateY(-100px) !important;
	}

	.standard-theme .marquee-section {
		top: 71px !important;
	}




	.standard-theme .col-md-8 .ticket-type {
		max-width: 100% !important;
	}

	.app-container {
		transform: translateY(-1rem) !important;
	}

	.standard-theme img.hero-image {
		top: 0;
		left: 0;
		max-width: unset;
		height: 100%;
		height: calc(100% + 56px);
	}
}

.standard-theme .footer-link {
	text-decoration: none;
	color: #dadada;
}

.footer {
	background: #0000008c !important;
	backdrop-filter: blur(4px);
	color: #f1f1f1;
}

.footer a {
	text-decoration: none;
	color: inherit;
}

.standard-theme .add-on {
	background-color: #e7e7e7;
	color: #666;
}

table {
	max-height: 500px;
}

table tfoot {
	display: table-row-group;
}

.date-control-container {
	gap: 3px;
	/*	box-shadow:1px 2px 20px 10px #ffffff5c;*/
	max-width: 100%;
	overflow-x: auto;
	overflow-anchor: visible;
	overflow-y: hidden;
	max-height: 90px;
	padding: 0.5rem 1rem 0.25rem 0.5rem;
	touch-action: pan-x;
	scroll-behavior: smooth;
	scrollbar-width: none;
	/*    background: #ffffff3b;*/
	border-radius: 10px;
	backdrop-filter: blur(2px);
}

.cal-date-container.weekend {
	border-bottom: 3px solid #ff7000;
	box-sizing: inherit;
}

.cal-date-container.today {
	background: rgba(var(--bs-success-rgb), var(--bs-text-opacity)) !important;
	color: white;
}

.cal-date-container.today .cal-date {
	color: white;
}

.cal-date-container {
	border-bottom: 3px solid #f2f2f2;
	touch-action: pan-x;
	scroll-behavior: smooth;
	border-radius: 4px;
	background: #ffffffa3;
	color: black;
	text-align: center;
	padding: 5px 1rem;
	min-height: 75px;
	user-select: none;
	cursor: pointer;
	transition: 0.3s all ease;
	scale: 0.86;
}

.cal-date-container:hover,
.cal-date-container:focus {
	background: rgba(255, 255, 255, 0.8);
	box-shadow: 0 3px 5px 2px #8585855c;
	transform: translateY(-6px);
}

.cal-date-container.active {
	background: rgba(255, 255, 255, 0.8);
	scale: 1;
}

.cal-date-container.active:hover,
.cal-date-container.active:focus {
	transform: none;
}

.cal-date-container .badge {
	box-shadow: none;
	background: #ffffff54;
	padding: 5px;
	font-size: 15px;

	animation-name: pop;
	animation-duration: 0.3s;
	top: 11px !important;
}

.cal-date-container .badge i {
	display: none;
}

.cal-date-container.active .badge {
	padding: 0;
	color: green;
	background: white;
	display: block;
}

.cal-date-container.active .badge i {
	display: block !important;
}

.cal-date-container.today.active .badge {
	padding: 0;
	color: white;
	background: green;
}

@keyframes pop {
	0% {
		font-size: 1px;
	}

	100% {
		font-size: 15px;
	}
}

/*

.cal-date-container.active {
z-index: 2;
box-shadow: 0 0px 8px 7px #8585855c;
background: white
}*/
.cal-date-container.disabled {
	user-select: none;
	background: #999;
	cursor: not-allowed;
	color: #777;
}

.cal-date-container .cal-date {
	color: #333;
	font-size: 1rem;
	font-weight: bold;
	line-height: 1rem;
}

.cal-date-container .cal-month {
	font-size: 0.8rem;
	text-transform: uppercase;
	line-height: 0.8rem;
}

.cal-date-container hr {
	border: 1px solid #999999;
	margin: 0;
	padding: 0;
}

.cal-date-container .cal-day {
	font-size: 0.6rem;
}

#left-button {
	width: 25px;
	min-width: 25px;
	height: 25px;
	/*position: absolute;*/
	background: white;
	box-shadow: 0 0 10px #999;
	border-radius: 50px;
	top: 35px;
	left: -10px;
	z-index: 1040 !important;
	text-align: center;
	user-select: none;
	color: #999;
	cursor: pointer;
}

#right-button {
	width: 25px;
	min-width: 25px;
	height: 25px;
	/*position: absolute;*/
	background: white;
	box-shadow: 0 0 10px #999;
	border-radius: 50px;
	top: 35px;
	right: -10px;
	z-index: 1040;
	text-align: center;
	user-select: none;
	color: #999;
	cursor: pointer;
}

.ticket-input-button i {
	background: white;
	border-radius: 100%;
	max-width: 24px;
}

.add-ons-holder .form-control::placeholder,
#variationsContainer .form-control::placeholder {
	color: #999999;
}

.add-ons-holder .form-control,
#variationsContainer .form-control {
	width: 2.5rem;
	border: none;
	font-size: 2rem;
	text-align: center;
	text-shadow: none;
	padding: 0;
	background: transparent;
	color: #333333;
}

.standard-theme .input-group>.btn {
	border-radius: 0 0.8rem 0.8rem 0 !important;
}

.portal-gatekeeper .input-group>.btn {
	border-radius: 0;
}

.portal-gatekeeper .input-group>.btn:last-child {
	border-radius: 0 0.8rem 0.8rem 0 !important;
}

.addon-item-repeater:empty {
	padding: 0;
}

.addon-item-repeater .addon-item {
	border-bottom: 1px solid #dadada;
	padding: 0.5rem 0.25rem;
	min-width: 330px;
}

.addon-item-repeater .addon-item:last-child {
	border-bottom: none;
}

.card-body.variation-item-repeater .variation-item:not(.card-body.variation-item-repeater .variation-item:last-child) {
	border-bottom: 1px solid #dadada;
}

.cart-card {
	background: linear-gradient(133deg, #16503b, #0c271d);
	transition: 0.3s all ease;
}

#ticket-cart>td {
	background: transparent;
	color: #333;
	border-bottom: 1px solid rgba(255, 255, 255, 0.2);
}

#spinner {
	position: fixed;
	-webkit-user-select: none;
	user-select: none;
	top: 0;
	z-index: 9999;
	width: 100%;
	height: 100%;
	background: #00000091;
	backdrop-filter: blur(6px);
}

#pax-details-container .card,
.card {
	border: none;
	box-shadow: 2px 4px 12px #00000014;
	background: #ffffff;
	border-radius: 18px;
}

.standard-theme .rounded-corners {
	border-radius: 18px !important;
}

.standard-theme #select-event-variation .modal-content {
	border-radius: 18px;
	overflow: hidden;
}

#paymentModal .modal-content {
	background: #f1f1f1;
}

.portal-report .container:not(.navbar > .container) {
	max-width: 95%;
}

.standard-theme.portal-dashboard .ticket-type:hover .ticket-contents h1 {
	scale: 1.5;
	transition: 0.5s all ease;
}

.booking-app-home.standard-theme .ticket-type {
	transition: all 0.3s cubic-bezier(0, 0, 0.5, 1);
}

.booking-app-home.standard-theme.internal-booking-portal .ticket-type:hover * {
	scale: 1;
	animation: none;
}

.booking-app-home.standard-theme .ticket-type:hover {
	transform: scale3d(1.01, 1.01, 1.01);
	box-shadow: 0px 5px 14px 0px #0000007d !important;
}

.standard-theme.portal-dashboard .ticket-type {
	max-width: 20%;
	min-width: 12rem;
	max-width: calc(25% - 1rem) !important;
	min-width: calc(25% - 1rem) !important;
	user-select: none;
	text-wrap-style: balance;
	text-align: center;
	padding: 0 10px;
}

.standard-theme.portal-dashboard .ticket-contents:after {
	background: #ff0049c2;
	content: "";
	position: absolute;
	width: 100%;
	height: 100%;
}

.standard-theme.portal-dashboard .ticket-type:nth-child(1) .ticket-contents::after {
	background: #ff0049c2 !important;
}

.standard-theme.portal-dashboard .ticket-type:nth-child(2) .ticket-contents::after {
	background: #0d6efdd4 !important;
}

.standard-theme.portal-dashboard .ticket-type:nth-child(3) .ticket-contents::after {
	background: #f0780dcf !important;
}

.standard-theme.portal-dashboard .ticket-type:nth-child(4) .ticket-contents::after {
	background: #0d33f0cf !important;
}

.standard-theme.portal-dashboard .ticket-type:nth-child(5) .ticket-contents::after {
	background: #b30df0cf !important;
}

.standard-theme.portal-dashboard .ticket-type:nth-child(6) .ticket-contents::after {
	background: #198754d6 !important;
}

.standard-theme.portal-dashboard .ticket-type:nth-child(7) .ticket-contents::after {
	background: #212529 !important;
}

.standard-theme.portal-dashboard .ticket-type:nth-child(8) .ticket-contents::after {
	background: #0dd3aad9 !important;
}

.standard-theme.portal-dashboard .ticket-contents h1,
.standard-theme.portal-dashboard .ticket-contents small {
	color: white;
	z-index: 2;
}

#network-status {
	z-index: 9999;
}

.standard-theme #paymentModal #payment .btn,
#validateNumber,
#editNumberPortal,
#apply-discount {
	min-width: 90px;
	max-width: 90px;
}

.standard-theme #paymentModal #payment .input-group .iti.iti--allow-dropdown {
	flex-grow: 1;
}

.iti__search-input {
	padding: 6px;
	border: 1px solid #dadada;
}

.iti label.ms-5 {
	margin-left: 35px !important;
}

.standard-theme #toaster {
	box-shadow: 0 7px 8px #00000026;
	left: 0;
	z-index: 9999 !important;
	bottom: 0;
	width: 100%;
	border-radius: 0;
	margin: 0;
}

#cf-turnstile iframe,
#cf-turnstile div,
#cf-turnstile div>iframe {
	width: 100% !important;
}

.standard-theme #toaster .alert-error,
.standard-theme .alert-danger {
	background: #f70050e3;
	box-shadow: 0 0 50px 11px #59001d93 !important;
	color: white;
	border: none;
}

.standard-theme #toaster .alert-info,
.standard-theme .alert-info {
	background: #475ced;
	color: white;
	box-shadow: 0 0 50px 11px rgba(36, 46, 117, 0.5) !important;
	border: none;
}

.standard-theme #toaster .alert-success,
.standard-theme .alert-success {
	background: rgb(0 185 68);
	color: white;
	border: none;
	box-shadow: 0 0 50px 11px #037d278a !important;
}

.standard-theme #toaster.alert-warning {
	background: #ffc300;
	border: none;
	box-shadow: 0 0 50px 11px #9e79038a !important;
}

#toaster {
	transition:
		transform 0.7s ease,
		opacity 0.4s ease;
}

.toast-hidden {
	opacity: 0;
	pointer-events: none;
	transform: translateY(100px);
}

#offcanvasBanner {
	min-height: 80vh;
}

.select-event-variation {
	white-space: nowrap !important;
}

#offcanvasBanner iframe {
	margin: 0;
	padding: 0;
	border: 0;
	width: 100%;
	height: 100%;
}

/* Slide up for mobile */
.toast-slide-up {
	transform: translateY(-150%);
	opacity: 0;
}

/* Slide down for desktop */
.toast-slide-down {
	transform: translateY(150%);
	opacity: 0;
}

.standard-theme .icon-circle {
	border: 1px solid #e8e8e8;
	background: #f8f8f8;
	width: 50px;
	height: 50px;
	border-radius: 50%;
	color: #666;
	align-items: center !important;
	display: flex;
	justify-content: center !important;
}

/*Find ticket Page*/
.find-ticket {
	background: url(https://images.unsplash.com/photo-1528459801416-a9e53bbf4e17?q=80&w=1012&auto=format&fit=crop&ixlib=rb-4.1.0&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D);
	min-height: 100vh;
	height: 100dvh;
	background-size: cover;
	position: relative;
	z-index: 3;

}

body.standard-theme.find-ticket:after {
	content: "";
	background: #ffffff1f;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: -1;
	backdrop-filter: blur(71px) saturate(6.5);
}

#summary-cart {
	min-width: 400px;
	padding-top: 2rem !important;
}

.find-ticket .card .bg-light {
	background-color: #ffffff57 !important;
}

/*            .offline-portal .input-group{max-width: 375px}*/
.find-ticket #ticketOutput:empty {
	display: none;
}

.find-ticket .sidebar .brand-logo {
	max-width: 100px;
	max-height: 100px;
}

.find-ticket .card {
	background: linear-gradient(0deg, #e7eef4, transparent);
	backdrop-filter: blur(9px);
	box-shadow: 0 7px 6px 1px #0000004f;
}

.find-ticket .login-box {
	max-width: 600px;
}

.find-ticket .login-box .btn {
	min-width: 120px;
	max-width: 120px;
}

.find-ticket .login-box .input-group .iti.iti--allow-dropdown {
	flex-grow: 1;
}

/*
.find-ticket #ticketOutput:after {
	content: "";
	width: 100%;
	height: 4rem;
	background: linear-gradient(0deg, #393939, transparent);
	position: absolute;
	z-index: 1;
	display: block;
	bottom: 0;
	left: 0;
	border-radius: 0 0 1rem 1rem;
}
*/

/* Offline Mgmt Portal  */
.offline-portal {
	background: url(https://images.unsplash.com/photo-1576502200916-3808e07386a5?w=900&auto=format&fit=crop&q=60&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxzZWFyY2h8MTZ8fHBhdHRlcm58ZW58MHwwfDB8fHww);
	min-height: 100vh;
	height: 100dvh;
	background-size: cover;
}

body.offline-portal.standard-theme:after {
	content: "";
	width: 100%;
	height: 100%;
	background: #bb174f91;
	z-index: -1;
	position: absolute;
	top: 0;
	left: 0;
	backdrop-filter: blur(65px) saturate(2.5);
}

.offline-portal .sidebar,
.offline-portal .brand-name {
	color: #ffffffdb;
	text-shadow: 0 1px 5px rgba(0, 0, 0, 0.5);
	text-wrap-style: balance;
}

/*            .offline-portal .input-group{max-width: 375px}*/

.offline-portal .brand-logo {
	max-width: 100px;
	max-height: 100px;
}

.offline-portal .card {
	background: #ffffffe0;
	backdrop-filter: blur(9px);
}

.offline-portal .login-box {
	max-width: 600px;
}

.offline-portal .login-box .btn {
	min-width: 120px;
	max-width: 120px;
}

.offline-portal .login-box .input-group .iti.iti--allow-dropdown {
	flex-grow: 1;
}

.dashboard-items .card i {
	font-size: 2rem;
	margin-block: 1rem;
	transition: 0.5s all ease;
	text-shadow: 0 9px 7px #073f9133;
	height: 32px;
	width: 32px;
}

.dashboard-items .card .title {
	color: #666;
	font-size: 0.8rem;
	word-break: break-word;
	/*word-spacing: 112px;*/
	text-align: center;
}

.dashboard-items .card:hover i {
	transform: scale(1.3);
	text-shadow: 1px 19px 20px #0d6efd4a;
}

.dashboard-items .card:hover {
	background: #0d6efd;
	color: white;
}

.dashboard-items .card:hover i,
.dashboard-items .card:hover span {
	color: white;
}

.dashboard-items h1,
.dashboard-items h2,
.dashboard-items h3,
.dashboard-items h4,
.dashboard-items h5 {
	margin: 0;
}

select.dt-input {
	margin-right: 0.5rem;
}

.dt-column-title {
	text-wrap: nowrap;
	text-transform: capitalize;
}

.dt-layout-table,
.dt-layout-table .dt-layout-cell {
	width: 100%;
	overflow-y: auto;
	position: relative;
}

.dt-layout-table:after {
	content: "";
	position: absolute;
	top: 45px;
	right: 0;
	background: linear-gradient(90deg, #ffffff00, #0d6efd1f);
	width: 50px;
	height: calc(100% - 100px);
	min-height: 90px;
	padding: 0 !important;
}

table.dataTable td {
	font-family: monospace;
	font-size: 0.8rem;
}

.dataTable thead tr th.text,
.dataTable tbody tr td.text {
	text-align: left !important;
}

.dataTable thead tr th:first-child,
.dataTable tbody tr td:first-child {
	text-align: left !important;
}

.dataTable thead tr th:last-child,
.dataTable tbody tr td:last-child {
	text-align: right !important;
}

td.currency,
th.currency {
	text-align: right;
	text-wrap: nowrap;
}

table.dataTable .dt-type-numeric {
	text-wrap: nowrap;
}

.ticket-contents {
	min-height: 15rem;
	user-select: none;
	border-radius: 18px;
}

.standard-theme.portal-dashboard .ticket-contents {
	min-height: 8rem;
	user-select: none;
}

#portal-navbar i {
	margin-right: 5px;
	font-size: 1rem;
}

.portal-users table tr>td:nth-child(n + 2) {
	text-align: left;
}

.portal-users table tr>td:nth-child(n + 3),
.portal-users table tr>th:nth-child(n + 3) {
	text-align: center;
}

.portal-users #users-table_wrapper,
.portal-users .dt-container {
	overflow: hidden;
	width: 100%;
	max-width: 100%;
}

.portal-users .dtfc-fixed-start {
	box-shadow: inset -8px 0 7px #2196f31a;
}

#portal-navbar a.dropdown-item {
	font-size: 0.85rem;
	padding: 9px 20px;
}

#portal-navbar .dropdown-item i {
	margin-right: 15px;
	font-size: 1rem;
}

#portal-navbar {
	font-size: 0.95rem;
	text-transform: capitalize;
}

#portal-navbar .btn-outline-secondary {
	border-color: #36363636;
}

.portal-tooltip {
	box-shadow: 5px 5px 10px rgba(0, 0, 0, 0.5);
	border-radius: 4px;
}

.chart-container {
	height: 250px;
	padding-bottom: 3rem;
}

.tile {
	max-width: 200px;
	min-width: 180px;
}

.portal-gatekeeper #activityCount {
	font-size: 5rem;
}

.portal-gatekeeper #totalTickets {
	font-size: 2.5rem;
}

.card.past::after {
	content: "Expired";
	position: absolute;
	top: 0;
	left: 15px;
	border-radius: 0 0 4px 4px;
	background: red;
	color: white;
	width: 6em;
	height: 1.2rem;
	font-size: 0.8rem;
	text-align: center;
	box-shadow: 2px 7px 11px 1px #98131363;
}

.card.today::after {
	content: "Today";
	position: absolute;
	top: 0;
	left: 15px;
	border-radius: 0 0 4px 4px;
	background: blue;
	color: white;
	width: 6em;
	height: 1.2rem;
	font-size: 0.8rem;
	text-align: center;
	box-shadow: 2px 7px 11px 1px #2196f363;
}

.card.future::after {
	content: "Upcoming";
	position: absolute;
	top: 0;

	left: 15px;
	border-radius: 0 0 4px 4px;
	background: green;
	color: white;
	width: 6em;
	height: 1.2rem;
	font-size: 0.8rem;
	text-align: center;
	box-shadow: 2px 7px 11px 1px #094b0063;
}

.card.past,
.card.today,
.card.future {
	transition: 0.3s all ease;
}

.card.past:hover,
.card.today:hover,
.card.future:hover {
	box-shadow: 0 0 10px rgba(98, 98, 98, 0.37) !important;
	z-index: 2;
	transform: scale(1.05);
}

.standard-theme .marquee-section {
	top: 121px;
	z-index: 1021 !important;
}

.portal-my-bookings .total-pax:after {
	content: "";
	width: 2rem;
	height: 2rem;
	background: #dfdfdf;
	z-index: 1;
	position: absolute;
	right: -19px;
	border-radius: 50% 0 0 50%;
	box-shadow: inset -1px -5px 10px 0 #c2c2c2;
}

.portal-my-bookings .total-pax:before {
	content: "";
	width: 2rem;
	height: 2rem;
	background: #dfdfdf;
	z-index: 1;
	position: absolute;
	left: -19px;
	border-radius: 0 50% 50% 0;
	box-shadow: inset 1px -6px 6px 0 #c2c2c2;
}

.marquee {
	overflow: hidden;
	position: relative;
	white-space: nowrap;
	text-align: right;
	min-height: 30px;
	max-height: 30px;
	line-height: 30px;
}

@keyframes scroll-left {
	0% {
		transform: translateX(100%);
	}

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

#variationsContainer .v-button-container {
	box-shadow: 30px -7px 20px 0 #1a498724;
}

#variationsContainer {
	max-height: 75vh;
	min-height: 75vh;
	overflow: hidden;
}

#variationsContainer .right-pane {
	max-height: 75vh;
	overflow: auto;
}

#variationsContainer .schedule-item {
	background: #fff;
	color: #333;
	border: 2px;
	will-change: transform, opacity, filter;
	transform-origin: left center;
	transform: scaleX(1);
	min-height: 55px;
}

.change-schedule-item {
	transform-origin: left center;
}

#variationsContainer .schedule-item[disabled] {
	background: #b7b7b7 !important;
}

#variationsContainer .schedule-item[disabled] .badge {
	background: #878787 !important;
}

#variationsContainer .schedule-item.active {
	background: #333;
	color: #fff;
}

#variationsContainer .schedule-item.slots-available-0 {
	cursor: not-allowed;
}

#variationsContainer .schedule-item .badge {
	background: #dadada;
	color: #666;
}

#variationsContainer .schedule-item.active .badge {
	background: #fff;
	color: #333;
}

.event-card-blur {
	background-color: #00000030 !important;
	backdrop-filter: blur(16px) saturate(4);
	color: white;
	text-shadow: 1px 1px 3px black;
	min-height: 50px;
	line-height: 1.25rem;
	-webkit-backdrop-filter: blur(16px) saturate(4);
	/* for Safari */
	transform: translate3d(0, 0, 0);
	/* Fix rendering glitch */
	will-change: transform, backdrop-filter;
	z-index: 9;
	padding: 5px 10px !important;
}

#v-default-tab.active {
	display: flex;
}

.mobile-pay-footer {
	z-index: 1032;
	box-shadow: 30px -7px 20px 0 #1a498724 !important;
}

.pulse,
.shadow-lg.pulse,
.shadow.pulse,
.schedule-item.active.shadow-lg,
.schedule-item.active {
	animation: pulse-animation 2s infinite;
}

@keyframes pulse-animation {
	0% {
		box-shadow: 0 0 0 0 rgba(0, 0, 0, 0.2) !important;
	}

	100% {
		box-shadow: 0 0 0 20px rgba(0, 0, 0, 0) !important;
	}
}

.blur-bg {
	background: #67676799;
	border: none;
	color: white;
	backdrop-filter: blur(13px);
}

.go-back-button {
	height: 2.4rem;
	width: 2.4rem;
	font-size: 1rem;
	padding: 0;
	line-height: 1rem;
	border-radius: 50%;
}

.text-blur {
	filter: blur(3px);
	transition: filter 0.5s ease-in-out;
}

#total-collection {
	transition: 0.3s all ease;
}

.zoom-total-collection {
	zoom: 3;
	position: absolute;
	right: calc(50% - 6rem);
	top: 50%;
	font-size: 4rem;
	background: #ffffffd1;
	padding: 2rem;
	border-radius: 20%;
	box-shadow: 0 0 10px 10px #4a81634a;
	backdrop-filter: blur(10px);
	z-index: 99;
	display: block;
}

.wp-static-msg {
	text-align: justify;
	text-wrap-style: stable;
}

.mobile-footer-band {
	box-shadow: 0 -10px 10px #00000026 !important;
}

.v-modal-image {
	overflow: hidden;
	text-transform: capitalize;
}

.infra-dropdown-button~ul.dropdown-menu.show {
	max-height: 280px;
	overflow-y: scroll;
	scrollbar-width: thin;
}

.event-img-card {
	min-width: 350px;
	max-width: 465px;
}

@media only screen and (max-width: 767px) {
	.event-sideband {
		max-width: inherit !important;
	}

	#summary-cart {
		min-width: 350px !important;
	}

	.initSVG {
		transition: 0.3s all ease;
		min-height: 80vh !important;
		max-height: 80vh !important;
		height: 80vh !important;
	}

	.infra-dropdown-button~ul.dropdown-menu.show {
		position: fixed !important;
		left: 10px !important;
		width: 95% !important;
		bottom: 0 !important;
		margin-top: 0px !important;
		overflow-y: scroll !important;
		max-height: 100% !important;
		top: 0 !important;
		transform: none !important;
		z-index: 99999 !important;
	}

	.infra-dropdown-button~ul.dropdown-menu.show:before {
		content: "Select from the options below";
		text-align: center;
		display: block;
		padding: 1.5rem 0 1.5rem 0;
		color: #2196f3;
		border-bottom: groove 1px #dadada;
		font-size: 10px;
	}
}

/*sideband animation and classes*/
.event-sideband {
	background: linear-gradient(180deg, rgb(255 255 255) 1%, rgb(255 193 188) 75%, rgb(236 236 236) 100%) !important;
	color: #3a3a3a !important;
	/* animation: hueRotateAnim 5s linear infinite; */
	filter: hue-rotate(0deg);
	max-width: 74px;
}

@keyframes hueRotateAnim {
	0% {
		filter: hue-rotate(0deg);
	}

	100% {
		filter: hue-rotate(360deg);
	}
}

/* Form io classes */
.formio-form i.bi.bi-trash {
	background: red;
	color: white;
	width: 20px;
	height: 20px;
	display: inline-block;
	text-align: center;
	padding-top: 3px;
	border-radius: 20px;
}

.formio-collapse-icon.bi.bi-dash-square,
.formio-collapse-icon.bi.bi-plus-square {
	float: left;
	padding: 0.5rem 0.15rem;
}

.formio-collapse-icon.bi.bi-dash-square:after {
	content: "Minimize";
}

.formio-collapse-icon.bi.bi-plus-square:after {
	content: "Maximize";
}

.formio-collapse-icon.bi.bi-dash-square:after,
.formio-collapse-icon.bi.bi-plus-square:after {
	text-transform: math-auto;
	font-style: normal;
	margin-left: 5px;
	clear: both;
}

.formio-form legend {
	font-size: 1rem;
	font-weight: bold;
	padding-left: 1rem;
	margin: 0;
	color: #666;
}

.formio-form .formio-button-remove-row {
	position: absolute;
	background: white;
	color: red;
	border: 1px dotted red;
	border-radius: 100%;
	transition: 0.3s all ease;
	width: 30px;
	height: 30px;
	top: -10px;
	left: -30px;
	padding: 0;
}

.formio-form .formio-button-remove-row:hover {
	box-shadow: 0px 3px 11px #db11564d;
}

.formio-form .table.datagrid-table {
	overflow: hidden;
	max-width: 100%;
}

.formio-form .datagrid-table .choices__item--selectable {
	padding-right: 20px !important;
}

.formio-form tbody .formio-component.has-feedback .field-required:after {
	display: none;
}

.formio-form .formio-component-datagrid .datagrid-table,
.formio-component-datagrid .datagrid-table td,
.formio-component-datagrid .datagrid-table th {
	border: 0px solid transparent !important;
	padding: 0px;
	word-break: keep-all;
	text-wrap-style: balance;
	font-size: 10px;
}

.formio-component-submit {
	display: none !important;
}

.formio-error-wrapper {
	color: #721c24;
	background-color: #fff0f1 !important;
	border: none !important;
	border-radius: 8px;
}

.formio-form .card-header {
	border-bottom: 1px solid #dadada;
}

.formio-form label.col-form-label {
	font-size: 1rem;
}

.formio-errors .error {
	font-weight: bold;
	font-size: 1em;
}

.formio-button-add-row,
.formio-form .col-form-label {
	white-space: nowrap;
}

.formio-form .form-control {
	min-height: 58px;
}

.formio-component-file .fileSelector,
.formio-component-file .list-group-item:not(.list-group-header) {
	font-size: 14px;
}

.formio-component-content ol {
	padding-inline-start: 5px;
}

.formio-form-group {
	padding: 3px;
}

.choices__item.choices__item--selectable {
	line-height: 38px;
}

/* Animated surge badges with bolt*/
.surge {
	margin-left: 5px;
	user-select: none;
	position: realtive;
	animation: boomBoom 0.3s ease-out;
	animation-delay: 0.7s, 0;
	transition: 0.3s all ease;
	font-size: small;
	padding: 0 5px;
}

.surge.default {
	background: linear-gradient(45deg, rgb(157, 0, 0), black);
}

.surge-label {
	opacity: 0;
	width: 0 !important;
	animation: revealText 2.2s ease-in forwards;
	line-height: 1.2rem;
}

.surge-icon {
	animation: keepBleeping 3s infinite alternate;
	animation-delay: 2s;
	animation-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
	display: inline-block;
	background: rgb(57, 1, 1);
	border-radius: 100%;
}

.surge-icon i {
	animation: flashBolt 1s 1 alternate;
	color: rgb(235, 219, 0);
	background: none;
	margin-right: 2px;
}

@keyframes boomBoom {
	0% {
		transform: scale(1);
	}

	50% {
		transform: scale(2);
	}

	100% {
		transform: scale(1);
	}
}

@keyframes keepBleeping {
	0% {
		transform: scale(1) rotate(0deg);
	}

	50% {
		transform: scale(1.2) rotate(-40deg);
	}

	100% {
		transform: scale(1) rotate(0deg);
	}
}

/* Bolt Flash Animation */
@keyframes flashBolt {
	0% {
		transform: scale(1) rotate(0deg);
		opacity: 1;
	}

	50% {
		transform: scale(4.3) rotate(-40deg);
		opacity: 1;
		text-shadow: 00px 10px 5px rgba(85, 79, 0, 0.438);
	}

	100% {
		transform: scale(1) rotate(0deg);
		opacity: 1;
	}
}

/* Text Reveal Animation */
@keyframes revealText {
	0% {
		width: 0;
		opacity: 0;
		display: none;
		font-size: 0px;
	}

	90% {
		width: 50;
		opacity: 0;
		display: none;
		font-size: 0px;
	}

	100% {
		width: 100%;
		opacity: 1;
		font-size: 10px;
	}
}

.avChartContainer {
	max-width: 100%;
	overflow: hidden;
	overflow-x: auto !important;
	scroll-behavior: smooth;
	white-space: nowrap !important;
	display: inline-block;
	scrollbar-width: none !important;
	touch-action: pan-x;
}

#avChart table {
	border-spacing: 0;
}

#avChart table td {
	padding: 2px;
}

/*#avChart:empty{display: none}*/
#avChart:after {
	content: "";
	background: #0000003b;
	backdrop-filter: blur(10px) saturate(1.2);
	width: 100%;
	height: 38px;
	position: absolute;
	top: 0;
	z-index: -1;
	border-bottom: 1px solid #ffffff4a;
}

.avFullWidthContainer::before {
	content: "Availability Chart";
	width: 4rem;
	height: 37px;
	position: absolute;
	top: 0;
	z-index: 12;
	color: white;
	font-size: 0.6rem;
	white-space: normal;
	word-break: break-word;
	padding-top: 5px;
	padding-left: 5px;
	text-wrap-style: pretty;
	background: #00000012;
	backdrop-filter: blur(6px);
	border-right: 1px solid #9999991a;
}

.avFullWidthContainer {
	width: 2550px;
}

#avChart {
	min-height: 140px;
	max-height: 160px;
}

/*add tabulator css*/
.portal-report .tabulator-row .tabulator-cell {
	border-right: 1px dashed #c8ddfa !important;
}

.portal-report .tabulator .tabulator-tableholder .tabulator-table .tabulator-row.tabulator-calcs.tabulator-calcs-bottom {
	border-top: 1px solid #c8ddfa !important;
}

.portal-report .tabulator .tabulator-tableholder .tabulator-table .tabulator-row.tabulator-calcs {
	background: rgb(232 239 255) !important;
}

.portal-report .tabulator-row.tabulator-group {
	border-bottom: 1px solid #c8ddfa;
	border-right: 1px solid transparent;
	border-top: 1px solid transparent;
}

.portal-report .tabulator-col,
.tabulator .tabulator-header .tabulator-col.tabulator-col-group .tabulator-col-group-cols {
	border-right: 0.5px solid #c8ddfa !important;
	border-color: #c8ddfa !important;
}

#report-table {
	margin: 30px;
}

.filters {
	margin: 20px 30px;
}

.filters input,
.filters button {
	margin-right: 10px;
}

.tabulator-col-group-header .tabulator-col-title {
	text-align: center !important;
}

/* Full table background white */
.tabulator {
	background-color: white !important;
	margin: 1rem !important;
	color: #000 !important;
	border-radius: 9px;
	border: 1px solid #dadada !important;
}

/* Header background white */
.tabulator-header {
	background-color: white !important;
	border-bottom: 1px solid #dee2e6 !important;
	/* Optional Bootstrap-like border */
}

/* Individual header columns */
.tabulator-col {
	background-color: white !important;
	color: #000 !important;
	/* Header text color */
	border-right: 1px solid #dee2e6 !important;
}

/* Table rows */
.tabulator-row {
	background-color: white !important;
	color: #000 !important;
}

/*add tabulator css*/

/*add css for cart*/
.v-child-name {
	min-width: 218px;
}

.v-child-qty {
	width: 20px;
}

/* For mobile devices (max-width 768px, adjust if needed) */
@media (max-width: 768px) {
	.v-child-name {
		min-width: 204px;
	}
}

#qr-shaded-region {
	z-index: 99999 !important
}

.portal .dropdown-select.form-select .list {
	background: #ffffff;
	transform: translateX(-25px) !important;
	box-shadow: 0px 10px 30px 6px #0000004a;
	border-radius: 10px;
	min-width: 250px !important;
}

.portal .dropdown-select .current {
	overflow: hidden;
	max-width: 250px;
	text-overflow: ellipsis;
	display: block;
	white-space: nowrap;
}

.find-ticket .status-cancelled,
.find-ticket .status-failed {
	background-color: #ffe0e0 !important
}

.find-ticket .status-success {
	background-color: #e6ffe6 !important
}

.find-ticket .btn {
	text-transform: capitalize;
}

.badge-schedule-advance {
	background-color: #0d6efd;
	/* Bootstrap primary blue */
	color: #fff;
	text-transform: capitalize;
	max-width: 70px;
}

/* temporary will move to specific file */

.list-group-item.schedule-item.premium::before {
	content: "Premium";
	width: auto;
	position: absolute;
	background: linear-gradient(122deg, #b77d3a, #ffa0a0);
	height: 14px;
	top: 0px;
	left: 0px;
	border-radius: 8px 0 8px 0;
	font-size: 0.5rem;
	color: white;
	padding: 0px 8px;
	display: block;
	z-index: 1;
}

.badge-schedule-current {
	background-color: #198754;
	/* Bootstrap success green */
	color: #fff;
	text-transform: capitalize;
	max-width: 70px;
}

.badge-schedule-tatkal {
	background-color: #dc3545;
	/* Bootstrap danger red */
	color: #fff;
	text-transform: capitalize;
	max-width: 70px;
}

.badge-schedule-premium {
	background-color: #e46b0f;
	/* Bootstrap danger red */
	color: #fff;
	text-transform: capitalize;
	max-width: 70px;
}

.success-page-v2 tr.banned-true td:before {
	content: "--";
}

.success-page-v2 tr.banned-true td:after {
	content: "--";
}

.success-page-v2 tr.banned-true td {
	background: #dddddd !important;
	color: #808080;
	font-weight: bold;
	text-decoration: line-through;
}

.success-page-v2 tr.banned-true {
	position: relative;
}

.success-page-v2 tr.banned-true:after {
	content: "Banned visitor";
	position: absolute;
	top: 0;
	left: -40px;
	color: red;
	font-weight: bold;
	background: #ffffff;
	border-radius: 5px;
	max-width: 40px;
	text-align: center;
}







.success-page-v2 tr.cancelled-true td:before {
	content: "--";
}

.success-page-v2 tr.bacancellednned-true td:after {
	content: "--";
}

.success-page-v2 tr.cancelled-true td {
	background: #dddddd !important;
	color: #808080;
	font-weight: bold;
	text-decoration: line-through;
}

.success-page-v2 tr.cancelled-true {
	position: relative;
}

.success-page-v2 tr.cancelled-true:after {
	content: "Cancelled";
	position: absolute;
	top: 0;
	left: -40px;
	color: red;
	font-weight: bold;
	background: #ffffff;
	border-radius: 5px;
	max-width: 40px;
	text-align: center;
}




.success-page-v2 .seat-numbers {
	font-size: 12px;
	display: block;
	text-transform: uppercase;
	font-weight: bold;
	color: black !important;
	letter-spacing: 1.2px;
	text-align: center;
	border-radius: 10px;
	order: initial;
	background: yellow;
}

#ph-id:empty {
	display: none
}

/* .combo-event::before {
  content: "🎁 ";
  display: inline-block;
  margin-right: 6px;
  font-size: 1.1em;
} */

.standard-theme.portal-gatekeeper-offline .btn.cameraQR,
.standard-theme.portal-gatekeeper .btn.cameraQR {
	border-radius: 0px !important;
	width: 50px;
	height: 60px;
	align-self: center;
	text-align: center;
}

.combo-event:before {
	content: "Offers Available";
	background: linear-gradient(232deg, #bc28ff, #db0f23);
	width: 230px;
	height: 22px;
	position: absolute;
	top: 100px;
	left: -12px;
	z-index: -1;
	transform: rotate(-30deg);
	text-align: center;
	transform-origin: left;
	color: white;
	text-shadow: none;
	padding-right: 64px;
	box-shadow: 2px 5px 10px black;
}

.ticket-helpers.combo-event:after {
	background: linear-gradient(180deg, #1575d5e8, transparent);
}

.master-overlay {
	user-select: none !important;
	pointer-events: none !important;
	z-index: 999999999999 !important;
	min-height: 110vh !important;
	width: 100vw !important;
}

.instructions-page .form-check {
	display: none !important;
}

#crossSellCanvas.tinyscreen {
	max-width: 360px;
	max-height: 360px;
	margin: 0 auto;
	align-self: anchor-center;
	max-height: fit-content;
}

/* Full background animation layer */
#retroCanvas {
	position: absolute;
	border-radius: 8px;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 0;
	background: radial-gradient(circle at center, #0a0a0a 0%, #000 100%);
}

/* Offcanvas content styling */
#upsell-icon {
	font-size: 1.5rem;
	translate: 0 -25px;
	background: #ff007c;
	padding: 0.5rem;
	text-align: center;
	width: 50px;
	border-radius: 49px;
	height: 50px;
	vertical-align: middle;
	display: flex;
	flex-direction: column;
	justify-content: center;
	color: white;
	align-self: self-start;
	margin-left: 12px;
}

#upsell-image {
	max-width: 100%;
	max-height: 300px;
	min-height: 300px;

}

#crossSellCanvas .offcanvas-body {
	position: relative;
	border-radius: 8px;
	user-select: none;
	z-index: 1;
	max-height: 300px;
	color: black;
	background: rgba(255, 255, 255, 0.652);
	backdrop-filter: blur(15px) saturate(2);
	text-align: center;
	max-height: fit-content;
	width: 100%;
}

#crossSellCanvas .offcanvas-body .content {}

#crossSellCanvas::before {
	content: '' mj;
	position: absolute;
	width: 100%;
	height: 100%;
	background: rgba(64, 64, 64, 0.278);
	top: 0;
	left: 0;
	z-index: 1;
}


#crossSellCanvas .offcanvas {
	background: transparent;
	overflow: hidden;
}

#crossSellCanvas .offcanvas-backdrop.show {
	opacity: 0.7;
	background: rgba(0, 0, 0, 0.9);
	color: rgb(155, 255, 230);
}

.track-my-ride.standard-theme #map {
	height: 100vh;
	width: 100%;

}
.track-my-ride.standard-theme .leaflet-control-attribution {
	display: none !important;
  }
/* Transparent overlay for errors */
.track-my-ride.standard-theme #overlayMessage {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.55);
	color: #fff;
	font-size: 1.5rem;
	font-weight: 600;
	z-index: 999;
	text-align: center;
	padding: 20px;
}
.track-my-ride.standard-theme .leaflet-tile {
    filter: saturate(1%) brightness(100%);
}

.track-my-ride.standard-theme .pulse-marker {
	width: 16px;
	height: 16px;
	background: #ff0018;
	border-radius: 50%;
	position: absolute !important;
	animation: pulseRed 1.5s infinite;
}

.track-my-ride.standard-theme .pulse-blue-marker {
	width: 16px;
	height: 16px;
	background: #00aaff;
	border-radius: 50%;
	position: absolute !important;
	top: -8px;
	left: -8px;
	animation: pulseBlue 1.5s infinite;
}

@keyframes pulseRed {
	0% {
		box-shadow: 0 0 0 0 #ff0018;
	}

	70% {
		box-shadow: 0 0 0 12px rgba(0, 255, 0, 0);
	}

	100% {
		box-shadow: 0 0 0 0 rgba(0, 255, 0, 0);
	}
}

@keyframes pulseBlue {
	0% {
		box-shadow: 0 0 0 0 rgba(0, 0, 255, 0.7);
	}

	70% {
		box-shadow: 0 0 0 12px rgba(0, 255, 0, 0);
	}

	100% {
		box-shadow: 0 0 0 0 rgba(0, 255, 0, 0);
	}
}