@supports (-webkit-touch-callout: none) {
	.form-group input[type="date"] {
		padding: 1.2rem 1rem;
		appearance: none;
		-webkit-appearance: none;
	}
	
	.form-group input[type="date"]::after {
		font-family: "Font Awesome 6 Free";
		font-weight: 400;
		color: var(--text-muted);
		content: "\f133"; 
	}
	
	.form-group select {
		appearance: none;
		-webkit-appearance: none;
	}
	
	.form-checkbox input[type="checkbox"] {
		width: .9rem !important;
	}
}

.nav-menu .sub-menu {
	display: none;
}

.nav-menu li:hover .sub-menu {
	position:absolute;
	display:flex;
	flex-direction: column;
	gap:1rem;
	list-style:none;
	background: var(--bg-darker);
	padding: 1.5rem;
	border-radius:15px;
	border-top-left-radius:0px;
	font-size: .9rem;
	transition: all 0.3s ease;
}

.NeoQRContainer {
	position:fixed;
	top:50%;
	left:50%;
	z-index:9;
	transform: translateX(-50%) translateY(-50%);
	width: 30vw;
	background:var(--bg-card);
	border-radius: 16px;
	box-shadow: var(--box-shadow);
	overflow: hidden;
}

.NeoQRContainer .NeoQrClose{
	background: var(--gradient-primary);
	border:none;
	position:absolute;
	top: 0;
	right:0;
	width:30px;
	height:30px;
	border-radius: 50%;
	display:flex;
	align-items: center;
	justify-content: center;
	z-index:99;
}

.NeoQRContainer .NeoQrClose svg > *{
	fill: var(--text-light)
}

#NeoQrReader {
	border:none !important;
}

#NeoQrReader button {
	background: var(--gradient-primary);
	border:none !important;
	padding: .7em 2em;
	border-radius: 12px;
	color: var(--text-light);
	margin-bottom: 1em;
}

.controls .form-group select {
	border-color: var(--danger);
}

.article .shop-card:first-child {
	margin-top:1em;
}

.article .shop-card {
	grid-template-columns: 60px auto;
	border-radius:12px;
	box-shadow: none;
	background: var(--bg-dark)
}

.article .shop-card:not(:last-child) {
	margin-bottom: .7em;
}

.article .shop-card .details {
	padding: .5em;
}

.article .shop-card .details h3 {
	font-size: 1em;
}

.coupon-container {
	overflow:hidden;
	overflow-y:scroll;
	max-height: 160px;
	overflow-y: scroll;
	-ms-overflow-style: none;
}

.coupon-container::-webkit-scrollbar {
  display: none;
}

.coupon {
	background: var(--bg-dark);
	border-radius: 12px;
	overflow:hidden;
	position:relative;
	height: 100%
}

.coupon .img {
	height:80px;
	background: var(--box-shadow-color);
}

.coupon .img img {
	display:block;
	height:100%;
	width:100%;
	object-fit:contain;
	object-position: center;
}

.coupon .details {
	padding:.5em;
}

.coupon .load:empty {
	display: none;
}

.coupon .load {
	position:absolute;
	width:30px;
	height:30px;
	background: var(--accent-color);
	display:flex;
	align-items:center;
	justify-content:center;
	right:0;
	border-bottom-left-radius:12px;
	opacity:.8;
}


.lang-link {
	color: var(--text-light);
	text-decoration: none;
	font-weight: 500;
	transition: all 0.3s ease;
	position: relative;
	display: inline-flex;
	gap: 5px;
	text-transform: uppercase;
	letter-spacing: 1px;
	font-size: .95rem;
	align-items: center;
}

.lang-link i {
	font-size: 1.1rem;
}

.lang-container {
	position: fixed;
	top: 50%;
	transform: translateY(-50%);
	right: 1.5rem;
}

.lang-container .option-container {
	display: none;
	position:absolute;
	background: transaparent;
	top:28px;
	transform:translateX(calc(-100% + 2.5rem));
	padding-right:2rem;
}

.lang-container .option a {
	display: inline-flex;
	gap: 7px;
	text-decoration: none;
	color: var(--text-light);
}	

.lang-container .option {
	background: var(--bg-dark);
	padding: 1em 1em;
	border-top-left-radius: 20px;
	border-bottom-left-radius: 20px;
	border-bottom-right-radius: 20px;
	font-size:.9rem;
}

.lang-container .option .lang-link {
	padding: .4em 0 0 0;
}

.lang-container .option :first-child {
	padding: 0;
}

.lang-container .current:hover + .option-container {
	display: block;
} 

.lang-container .option-container:hover {
	display: block;
} 

.lang-flag {
	display: inline-flex;
	width: 25px;
	height: 25px;
	background-repeat: no-repeat;
	border-radius:50%;
	cursor:pointer;
	border: 1px solid var(--border-color);
}
.lang-flag.en {
	background-position: -24px -360px;
}
.lang-flag.de {
	background-position: -144px -120px;
}
.lang-flag.es {
	background-position: -168px -312px;
}
.lang-flag.zh {
	background-position: -360px -48px;
}
.lang-flag.it {
	background-position: -360px -144px;
}
.lang-flag.tl {
	background-position: -72px -264px;
}
.lang-flag.at {
	background-position: -336px 0px;
}
.lang-flag.nl {
	background-position: -360px -216px;
}

.option:hover {
	display: block;
} 

.modal-content ul {
	list-style: none;
}

.btn-submit.ft{
	border-top-left-radius: 0;
	border-top-right-radius: 0;
}

.btn-submit.sm{
	font-size: 1em;
	font-weight: 500;
	padding: .5rem 1em;
} 

.btn-submit.w-auto{
	width:auto;
}

.btn-primary.white,
.btn-submit.white{
	background: #fff !important;
	color: var(--bg-darker)
}

.btn-submit.white.disabled,
.btn-primary.white.disabled {
	background: var(--box-shadow-color) !important;
	cursor: not-allowed;
}

.qty input.xsm {
	height:30px !important;
}

.btn-primary.xsm {
	padding: .5rem .85rem;
	text-transform: inherit;
	font-size:smaller;
	font-weight:500;
	height:30px !important;
}

.f-small {
	font-size: small !important;
}

.f-smaller {
	font-size: x-small !important;
}

.form-group select:focus + label,
.form-group select:not(:placeholder-shown) + label {
	top: -10px;
	left: 10px;
	font-size: 0.8rem;
	color: var(--primary-color);
	background: var(--bg-card);
	padding: 0 0.5rem;
	border-radius: 7px;
}

select option {
  background-color: var(--bg-card) !important; 
}


.danger {
	color: var(--danger);
	margin-top: 1em;
}

.danger:empty {
	margin-top: 0em;
}

.danger ul {
	list-style: none; 
}

hr {
	border: none;
	border-bottom: 1px solid var(--border-color);
}

a.accent{
	text-decoration: none !important;
	color: var(--primary-color) !important;
}

.mfa-area .form-group  {
	width: 45px;
	font-size:larger;
}

.mfa-area .form-group input {
	font-size:larger;
	padding: .7em .2rem;
}

input[type="number"] {
  -moz-appearance: textfield;
}

input[type="number"]::-webkit-outer-spin-button,
input[type="number"]::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

.event-hero-content h1,
.event-hero-content .detail-item span {
	display: -webkit-box;
	-webkit-line-clamp: 1;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.event-detail-card {
	background: var(--bg-card);
	border-radius: 20px;
	overflow: hidden;
	box-shadow: 0 15px 40px rgba(0, 0, 0, 0.5);
	transition: all 0.3s ease;
}

.event-detail-card:hover {
	box-shadow: 0 25px 50px var(--box-shadow-color);

}

.event-detail-card:hover img {
	transform: scale(1.05);
	transition: all 0.3s ease;
}

.event-detail-card .date {
	color: var(--text-gray);
}

.event-detail-card .date i {
	width: 20px;
	color: var(--primary-color);
}

.event-detail-card .btns > * {
	flex: none;
}

.btn-primary.sm.circle {
	padding:0;
	display:inline-flex;
	justify-content: center;
	align-items: center;
	width: 37px !important;
	min-height: 37px;
	flex: none;
	border-radius: 50%;
}

button.btn-primary {
	border: none;
	font-family: Roboto, sans-serif;
	text-align: left;
}

.btns.center {
	justify-content: center;
}

.btns.center > * {
	flex:initial;
}

.viewer {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
}

.modal-content {
  position: relative;
  display: flex;
  flex-direction: column;
  width: 100%;
  color: var(--text-light);
  pointer-events: auto;
  background-color: var(--bg-card);
  background-clip: padding-box;
  border-radius: 12px;
  outline: 0;
  box-shadow: 0 25px 50px var(--box-shadow-color);
  border: 1px solid var(--border-color);
}

.side-card {
	display:grid;
	grid-template-columns: 100px 1fr;
	gap: .8em;
}

.side-card:not(:last-child) {
	margin-bottom: 1em;
}

.side-card .img {
	background-color: var(--box-shadow-color) !important;
	width: 100%;
	height:100%;
	border-radius: 12px;
	display: flex;
	align-items: center;
}

.side-card .img img {
	object-fit:contain;
	object-position:center;
	width: 100%;
	border-radius: 12px;
	display: block;
}

.side.contact-info:not(:last-child) {
	margin-bottom: 1.5em;
}

.btn-submit.xs{
	font-size: .8em;
	font-weight: 500;
	padding: .4rem 1em;
}

.btn-submit.disabled,
.btn-primary.disabled {
	background: var(--box-shadow-color);
	cursor: not-allowed;
}

.btn-submit.disabled:hover {
	box-shadow: 0 5px 15px var(--accent-box-shadow);
}

.toast-container {
	top: 10%;
	right: 2em;
}

.toast {
	background: var(--primary-color);
	border-radius: 12px;
}

.toast.danger {
	background: var(--danger);
}

.modal .close,
.toast .close {
	background:transparent; 
	border:none;
	color: var(--text-gray);
	position: absolute;
	top:.7em;
	right:.7em;
	font-size: 16px;
	cursor:pointer;
}

@keyframes toastEnterRight {
  from {
	opacity: 0;
	transform: translateX(100%);
  }
  to {
	opacity: 1;
	transform: translateX(0);
  }
}

.toast.show {
  animation: toastEnterRight 0.4s ease forwards;
}

.shop-card,
.ticket-card {
	display:grid;
	grid-template-columns: 161px auto;
	background: var(--bg-card);
	border-radius: 20px;
	overflow: hidden;
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5);
	transition: all 0.3s ease;
	position: relative;
}

.shop-card.article {
	grid-template-columns: 125px auto;
}

.shop-card:hover {
	box-shadow: 0 5px 20px var(--box-shadow-color);
}

.shop-card:not(:last-child) {
	margin-bottom: 1.5em;
}

.shop-card img,
.ticket-card img  {
	width:100%;
	height: auto;
	object-fit: contain;
	object-position: center;
	display:block;
	border-radius: 15px;
}

.shop-card img{
	border-top-right-radius: 0px;
	border-bottom-right-radius: 0px;
}

.shop-card .img,
.ticket-card .img  {
	background: var(--box-shadow-color);
	display: flex;
	align-content: center;
	justify-content: center;
	align-items: center;
}

.ticket-card img {
	padding: 0rem;
}

.details h3 {
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.shop-card .details,
.ticket-card .details {
	padding: 1em;
}

.shop-card .details .other {
	color: var(--text-gray);
}

.ticket-card {
	display:grid;
	height:100%;
	position:relative;
	box-shadow: none;
}

.ticket-card .img {
	position:relative;
}

.ticket-card .img::before {
	content: "";
	position:absolute;
	background-color: var(--bg-dark);
	width:30px;
	height:30px;
	border-radius: 50%;
	top: -15px;
	right: -15px;
	z-index:2
}

.ticket-card .img::after {
	content: "";
	position:absolute;
	background-color: var(--bg-dark);
	width:30px;
	height:30px;
	border-radius: 50%;
	bottom: -15px;
	right: -15px;
	z-index:2
}

.ticket-card .details {
	position:relative;
}

.ticket-card .details::before {
	content: "";
	position:absolute;
	border: 1px dashed var(--text-muted);
	height: 100%;
	top:0;
	left:0;
}

.details h2 {
	font-family: 'Poppins', sans-serif;
	font-size: 2rem;
	margin-bottom: 1rem;
	background: var(--gradient-primary);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
}

.controls {
	display: flex;
	justify-content: space-between;
}

.btn-grp {
	display: flex;
	gap:1em;
	 height:37px !important;
	align-self:flex-end;
}

.qty {
	display:flex;
	margin-bottom: 0px;
}

.qty .form-group{
	height:37px !important;
}

.qty input {
	width: 45px !important;
	height:37px !important;
	border-radius:0px !important;
	padding: .2rem !important;
	text-align: center;
}

.qty .minus{
	border-top-right-radius: 0;
	border-bottom-right-radius: 0;
}

.qty .add{
	border-top-left-radius: 0;
	border-bottom-left-radius: 0;
}

@media (max-width: 768px) {
	.cart i, .user i, .hamburger i {
		font-size: 22px;
	}
	.lang-container {
		position: relative;
		transform: translateY(0%);
		right: 0;
	}
	.shop-card,
	.ticket-card {
		grid-template-columns: 80px auto;
	}
	.controls {
		flex-direction: column;
	}
	.btn-grp{
		margin-top: .5em;
	}
	.toast {
		max-width: 80vw;
	}
	.shop-card.article{
		grid-template-columns: 80px auto;
	}
	.masonry {
		column-count: 2 !important;
	}
	.nav-menu li {
		text-align:center;
	}
	.nav-menu .sub-menu {
		position:relative;
		font-size: 1rem;
	}
}

@media (max-width: 480px) {
	.masonry {
		column-count: 1 !important;
	}
}

.NeoPaymentMsgContainer ol {
	margin-left:2em;
}

.NeoPicContainer img {
	border-top-left-radius: 10px;
	border-top-right-radius: 10px;
	width:100%;
	height:auto !important;
	display:block;
	margin-bottom:.5rem;
}

.NeoPicPlacehoder {
	height: 330px;
	background-color: var(--bg-input);
	border-top-left-radius: 10px;
	border-top-right-radius: 10px;
	padding: 1rem;
	margin-bottom: .5rem;
}

.toast.danger{
	color:var(--text-light);
}

.dots {
	display: -webkit-box;
	-webkit-line-clamp: 1;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.dots.l2 {
	-webkit-line-clamp: 2;
}

.dots.l3 {
	-webkit-line-clamp: 3;
}

.c-primary {
	color: var(--primary-color);
}

.c-secondary {
	color: var(--secondary-color);
}

.c-accent {
	color: var(--accent-color);
}

.c-gray {
	color: var(--text-gray);
}

.c-muted {
	color: var(--text-muted);
}

.c-light {
	color: var(--text-light);
}

.c-danger {
	color: var(--danger);
}

.cb-available {
	color: var(--neo-wp-theme-eclipse-bookable-available);
}

.cb-unavailable {
	color: var(--neo-wp-theme-eclipse-bookable-not-available);
}

.cb-partial {
	color: var(--neo-wp-theme-eclipse-bookable-partially-available);
}

.cb-no {
	color: var(--neo-wp-theme-eclipse-no-bookable);
}

.ticket-card .add-cart,
.shop-card .add-cart {
	position: absolute;
	bottom: 1em;
	right:1em;
}

.btn-submit.sm.circle {
	padding: 0;
	display: inline-flex;
	justify-content: center;
	align-items: center;
	width: 37px !important;
	height:37px;
	flex: none;
	border-radius: 50%;
}

@-webkit-keyframes placeHolderSkeleton {
	0% {
		background-position: -265px 0;
	}
	100% {
		background-position: 265px 0;
	}
}

@keyframes placeHolderSkeleton {
	0% {
		background-position: -265px 0;
	}
	100% {
		background-position: 265px 0;
	}
}

.skeleton {
	-webkit-animation-duration: 1.25s;
	animation-duration: 1.25s;
	-webkit-animation-fill-mode: forwards;
	animation-fill-mode: forwards;
	-webkit-animation-iteration-count: infinite;
	animation-iteration-count: infinite;
	-webkit-animation-name: placeHolderSkeleton;
	animation-name: placeHolderSkeleton;
	-webkit-animation-timing-function: linear;
	animation-timing-function: linear;
	background: linear-gradient(to right, var(--bg-card) 8%, var(--box-shadow-color) 18%, var(--bg-card) 33% );
	background-size: 800px 104px;
	min-height: 150px;
	position: relative;
}

.filter-tab {
  list-style: none;
  font-weight:600;
  font-size:larger;
  display: flex;
  gap: 1em;
  color: var(--text-light);
  margin-bottom: 2.5em;
  flex-wrap: wrap;
  margin-top: -1em;
}

.filter-tab li {
  margin-top: 1rem;
}

.filter-tab li input[type=radio] + label {
  position: relative;
  padding: 0 1em 1em 1em;
  opacity: .6;
  cursor: pointer;
}

.filter-tab input[type=radio] + label:hover {
  opacity: 1;
}

.filter-tab input[type=radio]:checked + label {
  opacity: 1;
}

.filter-tab input[type=radio] + label::after {
  position: absolute;
  background: var(--box-shadow-color);
  content: "";
  width: 100%;
  height:5px;
  bottom: 0;
  left: 0;
  border-radius: 10px;
}

.filter-tab input[type=radio]:checked + label::after {
  background: var(--gradient-primary);
}

.filter-tab li input[type=radio]:checked + label {
  color: var(--primary-color)
}

.ticket-card.vertical {
	grid-template-columns: auto;
}

.ticket-card.vertical::before,
.ticket-card.vertical::after{
	display:none;
}

.ticket-card.vertical .img{
	position:relative;
}

.ticket-card.vertical .img::before{
	bottom: -15px;
	left: -15px;
	top:unset;
}

.ticket-card.vertical .img::after{
	bottom: -15px;
	right: -15px;
}

.ticket-card.vertical .details::before{
	height:0px;
	width:100%
}

.ticket-card.available-0::before{
	position:absolute;
	content:"";
	background: var(--danger);
	 width:100%;
	height:100%;
	opacity:.15;
	z-index:1;
}

.ticket-card.available-0 .status{
	position:absolute;
	top:50%;
	left:50%;
	transform:translateX(-50%) translateY(-50%);
	background:var(--danger);
	padding: .5rem 1rem;
	border-radius:18px;
	text-align:center;
	z-index:3;
}

.img .status {
	position: absolute;
	display:inline-block;
	background: var(--accent-color);
	z-index: 2;
	top: 50%;
	left: 50%;
	padding: .5em 1em;
	font-weight: 600;
	border-radius: 12px;
	transform: translateX(-50%) translateY(-50%);
	opacity: .9;
	letter-spacing: 2px;
}

/*  */
.ticket-card.large {
	grid-template-columns: 350px auto
}
.ticket-card.large .details::before{
	border: 2px dashed var(--text-muted);
}

@media (max-width: 768px) {
	.ticket-card.large {
		grid-template-columns: auto
	}

	 .ticket-card.large .img::before {
		bottom: -15px;
		left: -15px;
		top:unset;
	}

	.ticket-card.large .details::before{
		height:0px;
		width:100%
	}
	
	.filter-tab {
		font-size: medium;
	}
}

.sale-card {
	background: var(--bg-card);
	border-radius :12px;
	padding: 1em;
	overflow: hidden;
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5);
	transition: all 0.3s ease;
	height: 100%;
	display:flex;
	flex-direction: column;
}

.sale-card:hover {
	box-shadow: 0 5px 20px var(--box-shadow-color);
}

a.btn-submit {
	text-decoration: none;
	font-family: Arial;
	line-height: normal;
}

.last{
	margin-top: auto;
}

.side-card.msg {
	grid-template-columns: 70px auto;
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5);
	border-radius:12px;
	cursor:pointer;
	overflow: hidden;
}

.side-card.msg.active {
	box-shadow: 0 2px 5px var(--accent-color);
}

.msg-content .timeline {
	display: grid;
	grid-template-columns: 90px auto;
}

.msg-content .timeline :first-child {
	text-align:right;
	padding-right: 1em;
	position: relative;
	  padding-bottom: 1em;
}

.msg-content .timeline :first-child::before {
	content: "";
	position: absolute;
	width: 12px;
	height: 12px;
	background: var(--primary-color);
	border-radius : 50%;
	top: 0;
	right: -12px;
}

.msg-content .timeline :first-child::after {
	content: "";
	position: absolute;
	width: 2px;
	height: 100%;
	background: var(--primary-color);
	border-radius : 50%;
	top: 0;
	right: -7px;
	opacity: .7;
}

.msg-content .timeline:last-child :first-child {
	padding-bottom: 0;
}

.msg-content .timeline :last-child {
	text-align:left;
	padding-left: 1.5em;
}

.msg-content .viewer > * {
  background: transparent !important;
}

.form-group select + label span,
.form-group input + label span  {
	color:var(--danger);
}

.page-hero .hero-content h1 {
	text-transform: uppercase;
}

.contact-info.legal p {
	color: var(--text-gray);
	margin-bottom: 1rem;
	line-height: 1.5;
}

.legal > * {
	word-break: break-word;
}

.legal a {
	word-break: break-all;
}

.legal ol li,
.legal ul li{
	margin-left:1.5em;

}

.legal ol,
.legal ul{
	margin-bottom:1em
}

.legal ol.root li::marker{
	font-weight:600;
	font-size: 1.17em;
}

.legal ol.root li ol li::marker{
	font-weight: normal;
	font-size: 16px;
	color: var(--text-gray)
}

.legal ol.root li ol li,
.legal ol.root li ul li{
	color: var(--text-gray)
}

img#recaptcha-image {
	width:100%;
	height:auto;
	display: block;
}

.or-separator {
	position: relative;
	overflow: hidden;
}

.or-separator::before {
	content: "";
	position:absolute;
	width: calc(50% - 1.5em);
	height:1px;
	top:50%;
	left:0;
	background: var(--border-color);
	transform: translateY(-50%);
}

.or-separator::after {
	content: "";
	position:absolute;
	width: calc(50% - 1.5em);
	height:1px;
	top:50%;
	right:0;
	background: var(--border-color);
	transform: translateY(-50%);
}

.hero-slider .btn-primary{
	font-size: 0.8rem;
	padding: .75rem 1.5rem;
}

.btn-primary.outline {
	position:relative;
}

.btn-primary.outline span {
	z-index: 1;
	position: relative;
}

.btn-primary.outline::after {
	content:"";
	position:absolute;
	background: var(--bg-dark);
	width: calc( 100% - 2px );
	height:calc( 100% - 2px );
	z-index: 0;
	top:1px;
	left:1px;
	border-radius: 30px;
}

.event-card .btn-primary.outline::after {
	background: var(--bg-card);
}

.btn-primary.outline::before {
	z-index: 1;
}

button.contact-icon:hover {
	transform: translateY(-2px);
	box-shadow: 0 10px 30px var(--box-shadow-color);
}

.event-card .event-image img,
.event-hero-image img {
	aspect-ratio: 16/9;
	width: 100%;
	height: auto;
	display: block;
}

.event-card .event-image {
	height: auto !important;
}

.points :not(:first-child).item {
	border-top: 1px solid var(--border-color);
	padding-top: .3rem
}

.points :not(:last-child).item {
	padding-bottom: .3rem
}

.points .item {
	display: flex;
	gap: .6rem;
}

.points .item .icon {
	align-self:center;
}

.event-card .event-tags{
	justify-content: center;
}

.event-tags {
	display: flex;
	gap:.5rem;
	margin: .7rem 0;
	flex-wrap: wrap;
}

.event-tags .tag {
	border-radius: 15px;
	background: var(--gradient-primary);
	padding: .3rem 1rem;
	line-height:14px;
	position:relative;
	color: var(--text-light) !important;
}

.event-tags .tag > * {
	z-index:2;
	position:relative;
}

.event-tags .tag::before {
	content:"";
	position:absolute;
	width: calc(100% - 2px);
	height: calc(100% - 2px);
	left:1px;
	top:1px;
	border-radius: 15px;
	background: var(--text-muted);
	z-index:0;
}

#filter-layout > *:not(.show) {
	display: none;
}

.contact-section.u18 img{
	background: var(--box-shadow-color);
	border-radius:18px;
}

.contact-form.PT.PARENTAL_POWER,
.contact-form.P.PARENT {
	box-shadow: 0 25px 50px var(--box-shadow-color);
}
.neo-signature-pad::before {
	content: "";
	width: 86%;
	height: 2px;
	background-color: var(--border-color);
	display: block;
	position: fixed;
	bottom: 15%;
	transform: translateX(7%);
}

.u18-card {
	height: 100%;
	padding:2rem;
	background-position: center center;
	background-size:cover;
	border-radius:18px;
	text-align:center;
	display:flex;
	flex-direction:column;
	position:relative;
}

.u18-card::before{
	position:absolute;
	content:"";
	width:100%;
	height:100%;
	top:0;
	left:0;
	background:rgba(0,0,0,.2);
}

.u18-card h2 {
	font-family: 'Poppins', sans-serif;
	font-size: 1.5rem;
	margin-bottom: 1rem;
	background: var(--gradient-primary);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
	filter: drop-shadow(0px 0px 4px rgb(0, 0, 0));
	margin-bottom:2rem;
}

.u18-card p{
	text-shadow: 2px 2px 5px rgb(0, 0, 0);
	margin-bottom:2rem;
}

.u18-card a{
	margin-top: auto;
}

.img-container {
  position: relative;
  overflow: hidden;
}

.img-container img {
  display: block;
}

.progress-bar {
  position: absolute;
  top: 0;
  left: 0;
  height: 5px;
  width: 0%;
  background: var(--primary-color);
  transition: width 0.3s;
}

.img-loader{
	position: absolute !important;
	width:100px !important;
	height:auto !important;
	top: 50%;
	left: 50%;
	opacity: 1 !important;
	transform: translateX(-50%) translateY(-50%);
	background:transparent !important;
	z-index: 1;
}

.gallery .item {
	display:flex;
	justify-content:center;
	align-items:center;
	background: var(--box-shadow-color);
}

.gallery .item .desc {
	position:absolute;
	text-shadow: 2px 2px 5px rgb( 0, 0, 0 );
	text-align:center;
	z-index: 9;
}

.masonry {
	column-count: 4;
}

.masonry .item {
  margin-bottom:1rem;
  border-radius: 18px;
	overflow: hidden;
	position:relative;
	background: var(--box-shadow-color);
	border:none;
}

.masonry .item:hover .gallery-overlay {
	opacity: 1;
}

.masonry .item img.img{
	width:100%;
	height:auto !important;
	display:block;
	cursor: pointer;
	border:none;
}

.accordion .accordion-item:not(:first-child){
	border-top: 1px solid var(--border-color)
}

.accordion-button{
	position:relative;
}

.accordion-button::after  {
	z-index:9;
}

.accordion-button::before{
	content:"";
	position:absolute;
	background: var(--gradient-primary);
	width:30px;
	height:30px;
	border-radius:50%;
	right:.9rem;
	z-index:0;
}

.dot-line {
	position: relative !important;
	flex: 1;
	overflow:hidden;
}
.dot-line::after{
	position:absolute;
	width: 98%;
	content:"";
	bottom:8px;
	border-bottom: 1px dotted var(--text-light);
	margin-left: 5px;
}