@charset "UTF-8";

@import url('https://fonts.googleapis.com/css?family=Ubuntu:400,500,700');
@import url('https://fonts.googleapis.com/css?family=Tajawal:400,500,700&display=swap');
@import url('icons.css?49');

/* AED Currency Font */
@font-face {
	font-family: 'AED-Currency';
	src: url('../../common/fonts/aed-Regular.otf') format('opentype');
	font-weight: normal;
	font-style: normal;
	font-display: swap;
}

/* AED Currency Symbol Class */
.currency-aed {
	font-family: 'AED-Currency', sans-serif;
	font-weight: normal;
	font-style: normal;
	margin: 0 !important;
	padding: 0 !important;
	text-decoration: none !important;
}

/* Price value wrapper */
.price-value {
	margin: 0 0 0 5px !important;
	padding: 0 !important;
}

/* Price display container */
.price-display {
	padding: 0 !important;
}

.js-expandCat .price-display {
	margin-left: 5px;
}

@-ms-viewport { width: device-width; }

@viewport { width: device-width; }

/* GENERAL STYLESHEET */
* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
}

html, body{
	height: 100%;
}
#wrap{
	min-height: 100%;
	display: flex;
	flex-flow: column;
}
#wrap > header,
#wrap > footer{
	flex: 0;
}
#wrap #content{
	flex: 1;
}

h1,h2,h3,h4,h5,h6 {
	font-weight: normal;
}
h1 a,h2 a,h3 a,h4 a,h5 a,h6 a {
	color: #000000;
}
h1 a:hover,h2 a:hover,h3 a:hover,h4 a:hover,h5 a:hover,h6 a:hover {
	color: var(--main-color);
}

a {
	text-decoration: none;
	color: var(--sec-color);
	cursor: pointer;
}
a:hover{
	color: #000000;
}
b{
	font-weight: normal;
}

ul {
	list-style: none;
}
ul.formatted-list{
	list-style: disc inside;
}
ol{
	list-style-position: inside;
	margin-bottom: 2em;
}
strong{
	font-weight: 700;
}
input,
textarea,
button {
	outline: none;
	border: none;
	font-family: sans-serif;
}
body[dir="rtl"] input,
body[dir="rtl"] textarea,
body[dir="rtl"] select,
body[dir="rtl"] button {
	font-family: 'Tajawal', sans-serif;
}
.touch input[type="text"],
.touch input[type="email"],
.touch input[type="password"],
.touch input[type="submit"]{
	-webkit-appearance: none;
}
input[type="text"],
input[type="email"],
input[type="password"] {
	border-radius: 5px;
	padding: 0 15px;
	height: 40px;
	font-size: 14px;
}

input[type="submit"] {
	border: none;
	cursor: pointer;
}
input[readonly]:not(#dateofbirth) {
    border-color: #aaa;
	color: #aaa;
}
center{
	margin: 0 auto;
}
img {
	border: none;
}

.pv-10 {
	padding: 10px 0;
}
.ratio-16-9 {
	display: block;
    padding-bottom: 56.25%;
    width: 100%;
    overflow: hidden;
    height: 0;
    background: #000000;
}
.ratio-16-9 img {
	display: block;
    width: 100%;
}

.center{
	text-align: center;
}
.right{
	text-align: right!important;
}
body[dir="rtl"] .right{
	text-align: left!important;
}
.isInlineBlock{
	display: inline-block!important;
}
.isRelative{
	position: relative;
}
.isBlock{
	display: block;
}
.isInlineBlock + .isInlineBlock{
	margin-left: 10px;
}
body[dir="rtl"] .isInlineBlock + .isInlineBlock{
	margin-right: 10px;
}
.valignMiddle{
	vertical-align: middle;
}
.isUnderline{
	text-decoration: underline;
}
.isInlineBlock{
	display: inline-block;
}
.overflow{
	overflow: hidden;
}
.mt30{
	margin-top: 30px;
}
.mb30{
	margin-bottom: 30px;
}
.btn i{
	font-size: 1.7em;
}
fieldset {
	border: none;
}
fieldset.picker-holder--classic .icon-calendar{
	position: absolute;
    top: 0;
    right: 0;
    line-height: 40px;
    width: 40px;
    text-align: center;
    color: #999;
    font-size: 18px;
}
body[dir="rtl"] fieldset.picker-holder--classic .icon-calendar{
    right: auto;
    left: 0;
}
font{
	font-family: sans-serif;
}
body[dir="rtl"] font{
	font-family: 'Tajawal', sans-serif;
}
body[dir="rtl"] .fancybox-close{
	right: auto;
	left: 10px;
}

.sidelink {
	padding: 5px 5px 0px 0px;
	float:right!important;
}
body[dir="rtl"] .sidelink {
	padding: 5px 0px 0px 5px;
    float: left!important;
}

.about-main {
	display: flex;
	margin: 20px 40px;
	text-align: justify;
}
.lead-paragraph {
    font-size: 1.5rem;
    line-height: 1.5;
    color: #333;
    font-weight: 500;
    margin-bottom: 1rem;
}

.details-paragraph {
    font-size: 1.1rem;
    line-height: 1.5;
    color: #444;
    padding-bottom: 2rem;
	border-bottom: 1px solid #ddd;
}

.seatnumber,
#event-info div:not(.title) span.seatnumber{
	margin-bottom: 0!important;
	background:var(--main-color);
	color:#fff;
	padding:3px 5px;
	text-align:center;
	font-size: 11px!important;
	line-height:16px!important;
	margin-right: 5px;
	border-radius:2px;
	min-width:45px;
}

.seatspickedPerCat .seatspickedpercat-display-value .seatnumber{
	white-space: normal !important;
}

body[dir="rtl"] .seatnumber,
body[dir="rtl"] #event-info div:not(.title) span.seatnumber{
	margin-right: 0;
	margin-left: 5px;
}

.scrollable {
	height: 100%;
	padding-bottom: 80px;
}
#preloader, #datespreloader{
	text-align: center;
	padding: 20px;
}

.loading{
	content: url('../i/preloader.gif') no-repeat;
	vertical-align: baseline;
	display: inline-block;
	width: 29px;
}

#langs a, #langs span {
	font-size: 18px;
    top: 4px;
    position: relative;
}

.grecaptcha-badge { 
    visibility: hidden !important;
}

.hide,
.mobile-hide {
	display: none!important;
}
.clear{
	clear: both;
}
.payment-feedback h1,
.payment-feedback h1 i {
	display: block;
	font-size: 2em;
	text-align: center;
}
h1.success{
	color: #4fb164;
	margin-bottom: 30px;
}
h1.pending{
	color: #e19824;
}
h1.fail, h2.fail {
	color: #e0173c;
}

/* Event success content styling */
.event-success-content {
/* Base typography */
font-family: 'tccc-unity-headline', 'arial', 'sans-serif' !important;
font-size: 14px !important;
line-height: 1.5 !important;
color: rgb(102, 104, 110) !important;

/* Layout and structure */
width: 100% !important;
max-width: 100% !important;
margin: 20px 0 !important;
padding: 0 !important;
overflow: hidden !important;
position: static !important;

/* Prevent layout manipulation */
float: none !important;
display: block !important;
z-index: auto !important;
transform: none !important;
box-shadow: none !important;
}

/* RTL support */
body[dir="rtl"] .event-success-content {
font-family: 'Tajawal', sans-serif !important;
text-align: right !important;
}

/* Typography elements with size restrictions */
.event-success-content h1,
.event-success-content h2,
.event-success-content h3,
.event-success-content h4,
.event-success-content h5,
.event-success-content h6 {
font-family: inherit !important;
color: var(--sec-color) !important;
font-weight: 700 !important;
margin: 15px 0 10px 0 !important;
line-height: 1.4 !important;
}

.event-success-content h1 { font-size: 18px !important; }
.event-success-content h2 { font-size: 16px !important; }
.event-success-content h3 { font-size: 15px !important; }
.event-success-content h4,
.event-success-content h5,
.event-success-content h6 { font-size: 14px !important; }

/* Text elements */
.event-success-content p {
margin-bottom: 10px !important;
font-size: 14px !important;
line-height: 1.5 !important;
}

.event-success-content ul,
.event-success-content ol {
margin: 10px 0 10px 20px !important;
padding: 0 !important;
}

.event-success-content li {
margin-bottom: 5px !important;
font-size: 14px !important;
}

/* Links styling */
.event-success-content a {
color: rgb(122, 192, 242) !important;
text-decoration: underline !important;
}

.event-success-content a:hover {
color: #000000 !important;
}

/* Reset any custom styles */
.event-success-content * {
font-family: inherit !important;
font-size: 14px !important;
box-shadow: none !important;
text-shadow: none !important;
border-radius: 0 !important;
}

/* Restrict media */
/* Additional image restrictions for event-success-content */
.event-success-content img {
max-width: 100% !important;
max-height: 300px !important; /* Limit how tall images can be */
height: auto !important;
margin: 10px auto !important; /* Center images by default */
display: block !important; /* Make images block to control spacing better */
object-fit: contain !important; /* Preserve aspect ratio without cropping */
border: none !important; /* Prevent custom borders */
box-shadow: none !important; /* Prevent custom shadows */
}

/* Prevent large image alignment issues */
.event-success-content figure {
margin: 15px 0 !important;
padding: 0 !important;
max-width: 100% !important;
text-align: center !important;
}

.event-success-content figure img {
margin: 0 auto 5px auto !important;
}

.event-success-content figure figcaption {
font-size: 12px !important;
color: rgb(102, 104, 110) !important;
text-align: center !important;
}

/* Prevent image floating that breaks layout */
.event-success-content img[align],
.event-success-content img[style*="float"] {
float: none !important;
display: block !important;
margin: 10px auto !important;
}

/* Table styling */
.event-success-content table {
width: 100% !important;
border-collapse: collapse !important;
margin: 15px 0 !important;
}

.event-success-content table td,
.event-success-content table th {
padding: 8px !important;
border: 1px solid #eee !important;
font-size: 14px !important;
}

.bignote {
	font-size: 18px;
	width: 50%;
	margin: auto;
	text-align: center;
}

.searchquery {
	font-style: italic;
	color: var(--main-color);
}

label.error, .chk label.error, .login-error, span.error {
	float: none;
	color: #e0173c;
	width: auto;
	font-size: 11px!important;
	padding: 5px 0;
	position: relative;
	text-transform: none;
	font-weight: 500!important;
}
input[type="checkbox"].checkbox.error {
	border-color: #e0173c;
}

.login-error {
	display: none;
}

.chk label.error {
	position: absolute;
	top: auto;
	margin: 20px 30px;
}body[dir="ltr"] .chk label.error{
	left: 0;
}body[dir="rtl"] .chk label.error{
	right: 0;
}

#sign-in label.error:before {
	content: "";
	position: absolute;
	top: -5px;
	border-bottom: 5px solid #eee;
	border-right: 5px solid transparent;
}body[dir="ltr"] #sign-in label.error:before {
	left: 10px;
	border-left: 5px solid transparent;
}body[dir="rtl"] #sign-in label.error:before {
	right: 10px;
	border-right: 5px solid transparent;
}

input.error,input[type="text"].defaultTextActive.error {
	background: #f6dbe0;
}
.fld-msg label{
	vertical-align: top;
	margin-top: 5px;
}
#sign-in label.error {
	width: 100%;
}

.hassub {
	position: relative;
}

.sub {
	display: none;
	font-size: 12px;
	position: absolute;
	left: 50%;
	-webkit-transform: translateX(-50%);
	-moz-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	transform: translateX(-50%);
	z-index: 201;
	background: #fff;
	border-radius: 5px;
	box-shadow: 0 10px 30px rgba(0,0,0,.3);
	padding: 12px;
	color: #000000;
	top: calc(100% + 10px);
	text-transform: none;
}
.sub:before,
.sub:after{
	content: "";
    position: absolute;
}
.sub:before {
	top: -5px;
    right: 10px;
    border-bottom: 10px solid #fff;
    border-left: 10px solid transparent;
    border-right: 10px solid transparent;
    margin-left: -5px;
}
body[dir="rtl"] .sub:before {
	left: 10px;
	right: auto;
	margin-right: -5px;
}
.sub:after{
	top: -10px;
    left: 0;
    right: 0;
    background: transparent;
    height: 10px;
}
.sub a{
	display: block;
	color: var(--main-color);
	font-weight: 700;
}
.sub a:hover{
	opacity: 1;
}
.hassub:hover .sub{
	display: block;
}

#user .sub,
#country .sub{
	white-space: nowrap;
}
#user .sub li{
	line-height: 30px;
}

.note,#main p.note {
	font-size: 12px;
	line-height: 1.5em;
}

.items-ok {
	color: #789409;
	padding: 0 5px;
}

.items-pending {
	color: #e19824;
	padding: 0 5px;
}

.items-expired {
	color: #870e24;
	padding: 0 5px;
}

.newcontent .cell {
	display:inline-block;
}

#main p,
.content li,
ol li{
	font-size: 14px;
	line-height: 20px;
	margin-bottom: 10px;
}
.content h2 {
    font-weight: 700;
    font-size: 16px;
    margin-top: 30px;
}
.content h3 {
    font-weight: 700;
    font-size: 14px;
    margin-top: 20px;
}
#main p{
	margin-bottom: 0;
}
#main p.p20 {
	margin-bottom: 20px;
}
#main p + p{
	margin-top: 2em;
}
ol li{
	margin-bottom: 0;
}
.content ul {
	margin:10px;
}
.content li {
	list-style-type: disc;
	list-style-position: inside;
}
.max-width-box{
	max-width: 700px;
	margin: 0 auto;
}

.max-width-box-payment{
	width: auto;
}

h1 {
	font-weight: 700;
}

h2 {
	color: #4c4c4c;
	font-size: 20px;
	margin-bottom: 10px;
}

h4,h3 {
	font-size: 0.813em;
}

h3 {
	font-size: 1.438em;
}

h4 a {
	color: #e0173c;
}




/* mobile first body font-size */
body {
	min-width: 20em;
	font-size: 75%;
	background: #f3f3f3;
	color: #000000;
	margin: 0;
	-webkit-font-smoothing: antialiased;
}body[dir="ltr"] {
	font-family: sans-serif;
}body[dir="rtl"]{
	font-family: 'Tajawal', sans-serif;
	direction: rtl;
}

#wrap {
	width: 100%;
}

#wrap > #content,
footer .wrap{
	padding-right: 20px;
	padding-left: 20px;
}
footer #copy img {
	vertical-align: middle;
}
body[dir="ltr"] #copy img {
	margin-left: 10px;
}body[dir="rtl"] #copy img {
	margin-right: 10px;
}
#wrap.isCentered > #content,
#wrap.isCentered > header .wrap,
#wrap.isCentered > footer .wrap,
.highlight.isCentered,
#wrap.isCentered #banner,
#wrap.isCentered #bc{
	max-width: 1340px;
	margin: 0 auto;
}
#wrap.isCentered > header .wrap.wrap-nav {
    max-width: 100%;
}
#wrap.isCentered > header .wrap.wrap-nav nav {
    max-width: 1340px;
    margin: 0 auto;
}
.highlight.centered{
	margin-top: 50px;
}

.cart-checkout{
	padding-top: 20px;
}

.footnote {
	display: block;
	font-size: .75em;
	font-weight: normal;
}


/* HEADER */
#wrap > header,
footer{
	background: var(--main-color);
	color: #fff;
}
#wrap > header:before{
	content:"";
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	right: 0;
	background: linear-gradient(90deg, rgba(255,255,255,0) 0%, rgba(255,255,255,1) 100%);
	mix-blend-mode:overlay;
	opacity: .3;
}
body[dir="rtl"] #wrap > header:before{
	background: linear-gradient(270deg, rgba(255,255,255,0) 0%, rgba(255,255,255,1) 100%);
}
#wrap > header .wrap{
	position: relative;
}
#logo {
	margin: 0 auto;
	display: block;
	height: 60px;
}body[dir="ltr"] #logo{
	padding: 10px 0 10px 60px;
}body[dir="rtl"] #logo{
	padding: 10px 60px 10px 0;
}
#logo img{
	height: 100%;
}

#search{
	background: rgba(0,0,0,.1);
    padding: 10px 20px;
    position: relative;
    border-top: 1px solid rgba(0,0,0,.1);
}
#search i{
	position: absolute;
    top: 10px;
    line-height: 35px;
    color: #999;
    width: 45px;
    text-align: center;
    font-size: 1.2em;
}body[dir="ltr"] #search i{
	left: 20px;
}body[dir="rtl"] #search i{
	right: 20px;
}
#search input[type="text"]{
	width: 100%;
    border-radius: 30px;
}body[dir="ltr"] #search input[type="text"]{
	padding-left: 40px;
}body[dir="rtl"] #search input[type="text"]{
	padding-right: 40px;
}

/* Make search icon clickable */
#search .icon-search {
	cursor: pointer;
	transition: opacity 0.2s ease;
}

#search .icon-search:hover {
	opacity: 0.7;
}

/* Search keyboard hints */
.search-kbd-hint,
.search-enter-hint {
  position: absolute;
  right: 30px;
  top: 50%;
  transform: translateY(-50%);
  background: rgba(255, 255, 255, 0.2);
  color: rgba(255, 255, 255, 0.6);
  padding: 2px 6px;
  border-radius: 3px;
  font-size: 11px;
  font-weight: 600;
  pointer-events: none;
  transition: opacity 0.2s ease;
  opacity: 0;
}

.search-enter-hint {
  right: 10px;
}

#search:hover .search-kbd-hint,
#search:hover .search-enter-hint {
  opacity: 1;
}

#search input[type="text"]:focus ~ .search-kbd-hint,
#search input[type="text"]:focus ~ .search-enter-hint {
  opacity: 0;
}

header.isWhite .search-kbd-hint,
header.isWhite .search-enter-hint {
  color: #666;
  background: #f5f5f5;
}

/* Search error message */
.search-error-msg {
	position: absolute;
	top: calc(100% + 8px);
	left: 50%;
	transform: translateX(-50%);
	background: #e74c3c;
	color: #fff;
	padding: 6px 12px;
	border-radius: 6px;
	font-size: 12px;
	white-space: nowrap;
	opacity: 0;
	visibility: hidden;
	transition: all 0.2s ease;
	z-index: 10;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

.search-error-msg.show {
	opacity: 1;
	visibility: visible;
}

.search-error-msg:before {
	content: "";
	position: absolute;
	bottom: 100%;
	left: 50%;
	transform: translateX(-50%);
	border: 5px solid transparent;
	border-bottom-color: #e74c3c;
}

/* Search Error States */
#search.error input[type="search"] {
  animation: shake 0.3s ease-in-out;
  border-color: #e74c3c;
}

/* Search Autocomplete Dropdown */
.search-autocomplete {
  position: absolute;
  top: calc(100% + 8px);
  left: 20px;
  right: 20px;
  background: rgba(255, 255, 255, 0.95);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border: 1px solid rgba(0, 0, 0, 0.1);
  border-radius: 8px;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1);
  max-height: 400px;
  overflow-y: auto;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-4px);
  transition: opacity 0.25s cubic-bezier(0.4, 0, 0.2, 1),
              visibility 0.25s cubic-bezier(0.4, 0, 0.2, 1),
              transform 0.25s cubic-bezier(0.4, 0, 0.2, 1);
  z-index: 1000;
}

.search-autocomplete.show {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

/* Autocomplete Items */
.autocomplete-item {
  display: flex;
  align-items: center;
  padding: 10px 12px;
  cursor: pointer;
  transition: all 0.15s ease;
  border-bottom: 1px solid rgba(0, 0, 0, 0.05);
  position: relative;
}

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

.autocomplete-item:hover,
.autocomplete-item.selected {
  background: rgba(52, 152, 219, 0.05);
}

.autocomplete-item.selected {
  background: rgba(52, 152, 219, 0.1);
}

/* Autocomplete Image */
.autocomplete-image {
  width: 100px;
  flex-shrink: 0;
}

/* Support aspect ratio containers in autocomplete */
.autocomplete-image .ratio-16-9,
.autocomplete-image .ratio-4-3,
.autocomplete-image .ratio-3-4,
.autocomplete-image .ratio-1-1,
.autocomplete-image .ratio-21-9 {
  position: relative;
  height: 0;
  overflow: hidden;
  border-radius: 4px;
  background: transparent;
}

.autocomplete-image .ratio-16-9 {
  padding-bottom: 100%;
}

.autocomplete-image .ratio-4-3 {
  padding-bottom: 75%;
}

.autocomplete-image .ratio-3-4 {
  padding-bottom: 133.33%;
}

.autocomplete-image .ratio-1-1 {
  padding-bottom: 100%;
}

.autocomplete-image .ratio-21-9 {
  padding-bottom: 42.86%;
}

.autocomplete-image img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

/* Autocomplete Content */
.autocomplete-content {
  flex: 1;
  min-width: 0;
}

.autocomplete-name {
  font-weight: 500;
  font-size: 14px;
  color: #333;
  margin-bottom: 2px;
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  line-height: 1.3;
}
body[dir="ltr"] .autocomplete-name {
  padding-right: 60px;
}
body[dir="rtl"] .autocomplete-name {
  padding-left: 60px;
}

.autocomplete-details {
  display: flex;
  flex-wrap: wrap;
  gap: 2px 8px;
  font-size: 12px;
  color: #666;
}

.autocomplete-venue,
.autocomplete-date {
  display: flex;
  align-items: center;
  gap: 4px;
}
body[dir="rtl"] .autocomplete-venue,
body[dir="rtl"] .autocomplete-date {
  margin-right: 0;
  margin-left: 8px;
}

.autocomplete-venue i,
.autocomplete-date i {
  font-size: 10px;
  color: #999;
}

/* Sold out badge */
.autocomplete-soldout {
  display: inline-block;
  padding: 2px 6px;
  background: #e74c3c;
  color: #fff;
  font-size: 10px;
  font-weight: 500;
  border-radius: 4px;
  margin-left: 4px;
  text-transform: uppercase;
}

/* Event type badge - top end of card */
.autocomplete-type {
  position: absolute;
  top: 10px;
  padding: 2px 6px;
  background: rgba(52, 152, 219, 0.08);
  color: #3498db;
  font-size: 9px;
  font-weight: 600;
  border-radius: 3px;
  line-height: 1.4;
  text-transform: uppercase;
  letter-spacing: 0.3px;
  z-index: 1;
}
body[dir="ltr"] .autocomplete-type {
  right: 12px;
}
body[dir="rtl"] .autocomplete-type {
  left: 12px;
}

/* Price styling - separate line */
.autocomplete-price {
  display: flex;
  align-items: center;
  gap: 4px;
  color: #27ae60;
  font-weight: 600;
  font-size: 12px;
  margin-top: 2px;
}

.autocomplete-price i {
  font-size: 10px;
  color: #27ae60;
}

/* Loading State */
.autocomplete-loading {
  padding: 16px;
  text-align: center;
  color: #666;
  font-size: 14px;
}

.autocomplete-loading i {
  margin-right: 8px;
}

/* No Results */
.autocomplete-no-results {
  padding: 16px;
  text-align: center;
  color: #999;
  font-size: 14px;
}

/* Mobile Adjustments */
@media (max-width: 480px) {
  .search-autocomplete {
    max-height: 300px;
  }

  .autocomplete-image {
    width: 50px;
  }

  .autocomplete-name {
    font-size: 14px;
  }

  .autocomplete-details {
    font-size: 11px;
  }
}

/* Dark Mode Support */
body.dark-mode .search-autocomplete {
  background: rgba(30, 30, 30, 0.95);
  border-color: rgba(255, 255, 255, 0.1);
}

body.dark-mode .autocomplete-item {
  border-bottom-color: rgba(255, 255, 255, 0.05);
}

/* Filter Chips Section */
.autocomplete-filters {
  padding: 0;
  border-bottom: 1px solid rgba(0, 0, 0, 0.08);
  background: #fafbfc;
}

/* Title inside filters section */
.autocomplete-filters .autocomplete-title {
  padding: 16px 20px 12px;
  background: #fff;
  border-bottom: 1px solid rgba(0, 0, 0, 0.08);
}

.autocomplete-filters .autocomplete-title h3 {
  font-size: 18px;
  font-weight: 600;
  color: #222;
  margin: 0;
  text-transform: uppercase;
  letter-spacing: 1px;
}

/* Filter groups */
.autocomplete-filters .filter-group {
  display: flex;
  flex-wrap: nowrap;
  padding: 16px 20px;
  margin: 0;
  gap: 8px;
  align-items: center;
  overflow-x: auto;
  overflow-y: hidden;
  justify-content: flex-start;
}

.autocomplete-filters .filter-group + .filter-group {
  padding-top: 0;
}

/* Filter labels */
.filter-label {
  font-size: 13px;
  font-weight: 600;
  color: #555;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-right: 8px;
  white-space: nowrap;
}

.filter-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 14px;
  background: #fff;
  border: 1.5px solid #e0e0e0;
  border-radius: 20px;
  font-size: 13px;
  color: #555;
  cursor: pointer;
  transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
  font-weight: 500;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
}

.filter-chip:hover {
  background: #f8f9fa;
  border-color: #bbb;
  transform: translateY(0px);
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}

/* Date/Calendar Filters */
.filter-chip.date-filter {
  background: linear-gradient(135deg, #fff9f5 0%, #fff7ed 100%);
  border-color: #ffb380;
  color: #c2410c;
  box-shadow: 0 2px 4px rgba(234, 88, 12, 0.08);
}

.filter-chip.date-filter:hover {
  background: linear-gradient(135deg, #ffedd5 0%, #fed7aa 100%);
  border-color: #fb923c;
  box-shadow: 0 4px 12px rgba(234, 88, 12, 0.15);
}

.filter-chip.date-filter.active {
  background: linear-gradient(135deg, #f97316 0%, #ea580c 100%);
  border-color: #ea580c;
  color: #fff;
  box-shadow: 0 4px 12px rgba(234, 88, 12, 0.3);
}

.filter-chip.date-filter i {
  color: #ea580c;
}

.filter-chip.date-filter.active i {
  color: #fff !important;
}

/* Genre Filters */
.filter-chip.genre-filter {
  background: #fff;
  border-color: #333;
  color: #333;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
}

.filter-chip.genre-filter:hover {
  background: #f8f9fa;
  border-color: #000;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}

.filter-chip.genre-filter.active {
  background: #000;
  border-color: #000;
  color: #fff;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25);
}

.filter-chip.genre-filter i {
  color: #555;
}

.filter-chip.genre-filter.active i {
  color: #fff !important;
}

/* Legacy support for filter chips without specific class */
.filter-chip.active {
  background: #3498db;
  border-color: #3498db;
  color: #fff;
}

.filter-chip.active i {
  color: #fff !important;
}

.filter-chip i {
  font-size: 12px;
  color: #777;
}

/* Featured Event Card (Initial Mode) */
.autocomplete-featured {
  padding: 16px 20px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.08);
}

.autocomplete-item.featured {
  display: flex !important;
  border-radius: 8px !important;
  overflow: hidden;
  background: #fff;
  min-height: 180px;
  align-items: flex-start !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
  margin: 16px 0;
}

.autocomplete-item.featured .autocomplete-image {
  width: 240px;
  min-width: 240px;
  height: 100%;
  margin-right: 0 !important;
  flex-shrink: 0;
  align-self: stretch;
  display: flex;
  align-items: center;
  justify-content: center;
}

.autocomplete-item.featured .autocomplete-image .ratio-16-9,
.autocomplete-item.featured .autocomplete-image .ratio-4-3,
.autocomplete-item.featured .autocomplete-image .ratio-3-4,
.autocomplete-item.featured .autocomplete-image .ratio-1-1,
.autocomplete-item.featured .autocomplete-image .ratio-21-9 {
  width: 100%;
}

.autocomplete-item.featured .autocomplete-name {
  font-size: 20px;
  font-weight: 600;
  margin-bottom: 8px;
  line-height: 1.3;
  white-space: normal;
  -webkit-line-clamp: 2;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.autocomplete-item.featured .autocomplete-description {
  font-size: 14px;
  line-height: 1.6;
  color: #555;
  margin-bottom: 12px;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.autocomplete-item.featured .autocomplete-details {
  font-size: 14px;
  gap: 12px;
}

.autocomplete-item.featured .autocomplete-content {
  padding: 32px 24px !important;
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}

/* Genre Groups (Initial Mode) */
.autocomplete-group {
  padding: 16px 20px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.05);
}

.autocomplete-group:last-child {
  border-bottom: none;
}

.group-header {
  font-size: 14px;
  font-weight: 600;
  color: #333;
  margin-bottom: 12px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.group-events {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
  gap: 12px;
}

/* Small Cards in Groups */
.autocomplete-group .autocomplete-item {
  padding: 12px;
  border: 1px solid rgba(0, 0, 0, 0.08);
  border-radius: 6px;
  background: #fff;
  gap: 16px;
}

.autocomplete-group .autocomplete-item .autocomplete-image {
  width: 120px;
  height: 120px;
  flex-shrink: 0;
}

.autocomplete-group .autocomplete-item .autocomplete-name {
  font-size: 14px;
}

.autocomplete-group .autocomplete-item .autocomplete-details {
  font-size: 12px;
}

/* Search Results Mode */
.search-autocomplete.search-mode {
  max-height: 500px;
}

.autocomplete-results {
  padding: 8px;
}

.autocomplete-results .autocomplete-item {
  margin-bottom: 8px;
  border-radius: 6px;
}

.autocomplete-results .autocomplete-item:last-child {
  margin-bottom: 0;
}

/* Initial Mode */
.search-autocomplete.initial-mode {
  max-height: 600px;
}

/* Scrollbar Styling */
.search-autocomplete::-webkit-scrollbar {
  width: 8px;
}

.search-autocomplete::-webkit-scrollbar-track {
  background: rgba(0, 0, 0, 0.03);
  border-radius: 4px;
}

.search-autocomplete::-webkit-scrollbar-thumb {
  background: rgba(0, 0, 0, 0.2);
  border-radius: 4px;
}

.search-autocomplete::-webkit-scrollbar-thumb:hover {
  background: rgba(0, 0, 0, 0.3);
}

/* Mobile Adjustments for New Elements */
@media (max-width: 768px) {
  /* Search popup adjustments */
  #wrap header .wrap #search_popup {
    padding: 20px 15px;
  }

  #wrap header .wrap #search_popup #search input {
    font-size: 1em;
  }

  #wrap header .wrap #search_popup #search .search-autocomplete {
    max-height: calc(100vh - 200px);
    overflow-y: auto;
  }

  /* Filter chips on mobile */
  .autocomplete-filters {
    padding: 12px 16px;
  }

  .autocomplete-filters .filter-group {
    gap: 6px;
  }

  .filter-chip {
    font-size: 11px;
    padding: 6px 12px;
  }

  .filter-chip i {
    font-size: 10px;
  }

  /* Featured event on mobile */
  .autocomplete-featured {
    padding: 0 12px !important;
  }

  .autocomplete-item.featured {
    flex-direction: column !important;
    min-height: auto !important;
    margin: 12px 0;
  }

  .autocomplete-item.featured .autocomplete-image {
    width: 100% !important;
    height: auto !important;
    margin-right: 0 !important;
    margin-bottom: 0 !important;
  }

  .autocomplete-item.featured .autocomplete-content {
    padding: 16px !important;
  }

  .autocomplete-item.featured .autocomplete-name {
    font-size: 16px;
    margin-bottom: 6px;
  }

  .autocomplete-item.featured .autocomplete-venue,
  .autocomplete-item.featured .autocomplete-date {
    font-size: 12px;
  }

  /* Event groups on mobile */
  .autocomplete-group {
    padding: 12px;
  }

  .group-header {
    font-size: 13px;
    padding: 8px 0;
  }

  .group-events {
    grid-template-columns: 1fr;
    gap: 8px;
  }

  .autocomplete-group .autocomplete-item {
    padding: 8px;
  }

  .autocomplete-group .autocomplete-item .autocomplete-image {
    width: 100px;
    height: 100px;
  }

  .autocomplete-group .autocomplete-item .autocomplete-name {
    font-size: 14px;
    margin-bottom: 4px;
  }

  .autocomplete-group .autocomplete-item .autocomplete-venue,
  .autocomplete-group .autocomplete-item .autocomplete-date {
    font-size: 11px;
  }
}

@media (max-width: 480px) {
  /* Search popup adjustments for small screens */
  #wrap header .wrap #search_popup {
    padding: 15px 10px;
  }

  .autocomplete-filters .filter-group {
    gap: 6px;
  }

  .filter-chip {
    font-size: 10px;
    padding: 4px 8px;
  }

  .filter-chip i {
    font-size: 9px;
  }

  .autocomplete-item.featured .autocomplete-name {
    font-size: 14px;
  }

  .autocomplete-group .autocomplete-item .autocomplete-image {
    width: 80px;
    height: 80px;
  }

  .autocomplete-group .autocomplete-item .autocomplete-name {
    font-size: 13px;
  }
}

/* Dark Mode for New Elements */
body.dark-mode .autocomplete-filters {
  background: rgba(255, 255, 255, 0.02);
  border-bottom-color: rgba(255, 255, 255, 0.08);
}

body.dark-mode .filter-chip {
  background: rgba(255, 255, 255, 0.05);
  border-color: rgba(255, 255, 255, 0.1);
  color: #ddd;
}

body.dark-mode .filter-chip:hover {
  background: rgba(255, 255, 255, 0.08);
}

/* Dark mode date filters */
body.dark-mode .filter-chip.date-filter {
  background: rgba(234, 88, 12, 0.15);
  border-color: rgba(234, 88, 12, 0.3);
  color: #fdba74;
}

body.dark-mode .filter-chip.date-filter:hover {
  background: rgba(234, 88, 12, 0.25);
}

body.dark-mode .filter-chip.date-filter.active {
  background: #ea580c;
  border-color: #ea580c;
  color: #fff;
}

body.dark-mode .filter-chip.date-filter i {
  color: #fdba74;
}

body.dark-mode .filter-chip.date-filter.active i {
  color: #fff !important;
}

/* Dark mode genre filters */
body.dark-mode .filter-chip.genre-filter {
  background: rgba(52, 152, 219, 0.15);
  border-color: rgba(52, 152, 219, 0.3);
  color: #93c5fd;
}

body.dark-mode .filter-chip.genre-filter:hover {
  background: rgba(52, 152, 219, 0.25);
}

body.dark-mode .filter-chip.genre-filter.active {
  background: #3498db;
  border-color: #3498db;
  color: #fff;
}

body.dark-mode .filter-chip.genre-filter i {
  color: #93c5fd;
}

body.dark-mode .filter-chip.genre-filter.active i {
  color: #fff !important;
}

/* Legacy dark mode active state */
body.dark-mode .filter-chip.active {
  background: #3498db;
  border-color: #3498db;
  color: #fff;
}

body.dark-mode .autocomplete-item.featured {
  background: rgba(255, 255, 255, 0.03);
}

body.dark-mode .group-header {
  color: #ddd;
}

body.dark-mode .autocomplete-group .autocomplete-item {
  background: rgba(255, 255, 255, 0.03);
  border-color: rgba(255, 255, 255, 0.08);
}

body.dark-mode .autocomplete-name {
  color: #eee;
}

body.dark-mode .autocomplete-details {
  color: #aaa;
}

body.dark-mode .autocomplete-item:hover,
body.dark-mode .autocomplete-item.selected {
  background: rgba(255, 255, 255, 0.05);
}

body.dark-mode .autocomplete-item.selected {
  background: rgba(255, 255, 255, 0.1);
}

/* White Header Variant */
header.isWhite .search-autocomplete {
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.12);
}

@keyframes shake {
  0%, 100% { transform: translateX(0); }
  25% { transform: translateX(-5px); }
  75% { transform: translateX(5px); }
}

#langs a.active, #darkmode a.active {
	display: none;
}

	/* WHITE HEADER */
	#wrap > header.isWhite{
		background: #fff;
		color: #666;
		box-shadow: 0 6px 30px rgba(0,0,0,.1);
	}
	header.isWhite #search input[type="text"]{
		background: #f6f6f6;
	}

/* FILTERS */
.filters-wrapper {
	display: flex;
	justify-content: flex-start;
	margin: 20px 0;
	overflow-x: auto;
	overflow-y: visible;
	padding-left: 12px;
}
.filters {
	display: flex;
	flex-wrap: nowrap;
	gap: 10px;
	justify-content: flex-start;
	align-items: center;
}
.filter {
	background-color: #ddd;
	border: 0.5px solid rgba(0, 0, 0, 0.01);
	border-radius: 4px;
	color: #333;
	padding: 8px 16px;
	cursor: pointer;
	transition: all 0.2s ease;
	text-decoration: none;
	display: inline-block;
}
.filter a {
	color: inherit;
	text-decoration: none;
}
.filter.active,
.filter.on {
	background-color: var(--main-color);
	color: #fff;
	box-shadow: 0px 5px 10px -4px rgba(0, 0, 0, 0.15);
}
.filter:not(.active):not(.on):hover {
	box-shadow: 0px 5px 10px -4px rgba(0, 0, 0, 0.15);
	background-color: var(--sec-color);
	color: #fff;
}

/* Center filters on larger screens */
@media (min-width: 1200px) {
	.filters-wrapper {
		justify-content: center;
		padding-left: 0;
	}

	.filters {
		justify-content: center;
	}
}

#crsl {
	min-height: 160px;
	max-height: 800px;
	width: 100%;
	overflow: hidden;
	position: relative;
}
#crsl a{
	color: #000000;
	display: block;
}
#crsl img{
	width: 100%;
}

#content{
	padding-top: 20px;
}
#bc + #content{
	padding-top: 0;
}

#terms {
	background: #fff;
	margin-bottom: 20px;
}

#terms label {
	padding-top:10px;
}

#terms label div[dir="rtl"],
#terms label div[dir="rtl"] label {
	font-size: 0.9rem;
}

#terms h2 {
	font-size: 18px;
}

.leaderboard {
	padding: 0px 0 20px 0;
	width: auto;
	height: auto;
	text-align: center;
}
.leaderboard img {
	width: 100%;
	height: auto;
	margin: auto;
}

/* Banner title */
.e-title {
	display: flex;
	align-items: center;

	background: #fff;
	padding: 10px;
}
.e-date,
.e-info{
	flex-direction: column;
	position: relative;
}
.e-date:before,
.e-info:before{
	content: "";
	width: 1px;
	height: 100%;
	background: #eee;
	position: absolute;
	top: 0;
}
body[dir="ltr"] .e-date:before{
	right: 0;
}body[dir="rtl"] .e-date:before{
	left: 0;
}
body[dir="ltr"] .e-info:before{
	left: -1px;
}body[dir="rtl"] .e-info:before{
	right: -1px;
}
.e-date{
	text-align: center;
}body[dir="ltr"] .e-date{
	padding-right: 20px;
}body[dir="rtl"] .e-date{
	padding-left: 20px;
}

.e-info{
	flex-grow: 2;
}body[dir="ltr"] .e-info{
	padding-left: 20px;
}body[dir="rtl"] .e-info{
	padding-right: 20px;
}

.e-title h1{
	font-size: 28px;
	font-weight: 700;
	color: #000000;
	margin-bottom: 10px;
	overflow: hidden;
    display: block;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    text-overflow: ellipsis;
}
.e-date .starting{
	font-size: 10px;
	color: #f20b0b;
	display: block;
    text-transform: lowercase;
}
.e-date .e-day {
	font-size: 22px;
	font-weight: 700;
}
.e-date .e-month {
	font-size: 15px;
	text-transform: uppercase;
	margin-top: -3px;
}
.e-date .e-year {
	font-size: 12px;
	font-weight: 400;
}
.e-info .btn{
	margin-top: 10px;
}

#articles.isGrid .e-date .e-day{
	font-size: 18px;
}
#articles.isGrid .e-date .e-month{
	font-size: 15px;
	margin-top: -3px;
}
#articles.isGrid .e-date .e-year{
	font-size: 14px;
	margin-top: 0;
}
#articles.isGrid .clear-flex{
	flex-grow: 9999;
	width: 100%;
}


.fullwhite {
	background: #fff;
	width: 100%;
}

#crsl nav {
	position: absolute;
	top: 50%;
	margin-top: -19px;
	width: 100%;
	height: 30px;
	z-index: 10;
	display: none;
}

#crsl nav ul > li {
	width: 38px;
	height: 38px;
	line-height: 38px;
	text-align: center;
	color: #fff;
	background-color: rgba(0, 0, 0, .7);
	margin: 0 20px;
	cursor: pointer;
}

#crsl-ar-left {
	display: none;
	float: left;
}

#crsl-ar-right {
	float: right;
}

#crsl-preloader {
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	margin-top: -26px;
	margin-left: -26px;
	background-color: #fff;
	padding: 10px;
	border-radius: 5px;
}

/* COUNTRY SELECTOR */
#country {
	cursor: pointer;
	z-index: 1000;
}

#country-list a{
	display: block;
}
#country-list a i {
    font-size: 1.2em;
    box-shadow: 0 2px 8px rgba(0,0,0,.2);
}body[dir="ltr"] #country-list a i {
    margin-right: 7px;
}body[dir="rtl"] #country-list a i {
    margin-left: 7px;
}

#country-list a + a{
	margin-top: 15px;
}

#country:hover #country-list {
	display: block;
}

/* Secondary nav */

#sec-nav{
	position: absolute;
    top: 0;
    font-size: 0;
}body[dir="ltr"] #sec-nav{
    right: 20px;
}body[dir="rtl"] #sec-nav{
    left: 20px;
}
#sec-nav i {
    color: #fff;
}
#sec-nav .sub i{
	color: #999;
}
#sec-nav .icon-cart{
	position: relative;
}
#sec-nav i.icon-contrast{
	font-size: 16px;
}
#sec-nav .cart-count{
	position: absolute;
    background: var(--tre-color);
    border-radius: 100%;
    width: 18px;
    height: 18px;
    line-height: 18px;
    text-align: center;
    font-size: 10px;
    color: #FFFFFF;
    top: -10px;
	font-weight: 700;
	font-family: sans-serif;
}body[dir="ltr"] #sec-nav .cart-count{
	right: -10px;
}body[dir="rtl"] #sec-nav .cart-count{
	left: -10px;
}
header .expiry{
	color: var(--tre-color);
    font-size: 9px;
    text-transform: none;
    background: #fff;
    border-radius: 5px;
    padding: 2px 4px;
    font-weight: 700;

	position: absolute;
    bottom: 5px;
    left: 50%;
    line-height: normal;
    white-space: nowrap;
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    -o-transform: translateX(-50%);
    transform: translateX(-50%);
}
header.isWhite #sec-nav i{
	color: #c2c2c2;
}
#sec-nav > div{
	display: inline-block;
    vertical-align: top;
    font-size: 22px;
    font-weight: 500;
}body[dir="ltr"] #sec-nav > div{
	margin-left: 15px;
}body[dir="rtl"] #sec-nav > div{
	margin-right: 15px;
}
#sec-nav > div > a{
	line-height: 60px;
	color: #fff;
}
header.isWhite #sec-nav > div > a{
	color: #666;
}
header.isWhite #sec-nav > div > a i{
	color: #c2c2c2;
}

/* CART */
#sec-nav nav div#cart a span,#sec-nav nav div#cart>span {
	display: none;
}

#sec-nav nav div#cart i.icon-shopping-cart {
	color: #e0173c;
	font-size: 1.4em;
}body[dir="ltr"] #sec-nav nav div#cart i.icon-shopping-cart {
	margin-left: 5px;
}body[dir="rtl"] #sec-nav nav div#cart i.icon-shopping-cart {
	margin-right: 5px;
}

header #cart {
	position: relative;
}

/* SOCIAL ICONS */

/* USER ACCOUNT: Only in mobile sign in style */

body[dir="ltr"] #user.not-signedin li {
	float: left;
	margin-right: 15px;
}body[dir="rtl"] #user.not-signedin li {
	float: right;
	margin-left: 15px;
}

#nav #user a {
	color: #d5d5d5;
	font-size: 1.2em;
	line-height: 54px;
}

#nav #user li:first-child>a {
	display: block;
}body[dir="ltr"] #nav #user li:first-child>a {
	border-right: 1px dotted #8c8c8c;
	padding-left: 0;
}body[dir="rtl"] #nav #user li:first-child>a {
	border-left: 1px dotted #8c8c8c;
	padding-right: 0;
}

body[dir="ltr"] #nav #user li:first-child>a.open {
	border-right: none;
}body[dir="rtl"] #nav #user li:first-child>a.open {
	border-left: none;
}

#nav #user a {
	padding: 0 15px;
}

#nav #user .sub a {
	padding: 0;
}body[dir="ltr"] #nav #user .sub a {
	border-right: none;
}body[dir="rtl"] #nav #user .sub a {
	border-left: none;
}

#nav a {
	font-weight: 700;
	color: #fff;
	font-size: 14px;
	text-transform: uppercase;
}

#nav a.group {
	/* color: var(--sec-color); */
	text-shadow: -1px 0 var(--sec-color), 0 1px var(--sec-color), 1px 0 var(--sec-color), 0 -1px var(--sec-color);
}

#nav a.is-active.group {
	text-shadow: none;
}

#nav #search {
	background: #fff;
	height: 45px;
	padding: 10px 0;
	position: relative;
}
#nav #search input[type="text"],
#sign-in input[type="text"],
#sign-in input[type="password"],
#sign-in input[type="email"]{
	color: #a1a1a1;
	font-size: 1.5em;
	background: none;
	border: none;
	padding: 0 10px;
	width: 85%;
}body[dir="ltr"] #nav #search input[type="text"],
body[dir="ltr"] #sign-in input[type="text"],
body[dir="ltr"] #sign-in input[type="password"],
body[dir="ltr"] #sign-in input[type="email"]{
	margin-right: 10px;
}body[dir="rtl"] #nav #search input[type="text"],
body[dir="rtl"] #sign-in input[type="text"],
body[dir="rtl"] #sign-in input[type="password"],
body[dir="rtl"] #sign-in input[type="email"]{
	margin-right: 10px;
}

#sign-in input[type="text"].error,
#sign-in input[type="password"].error,
#sign-in input[type="email"].error{
	background: #f6b9c4;
	color: #fff;
}

#nav #search input[type="submit"] {
	border: none;
	width: 33px;
	height: 23px;
	background: url(../i/search.png) no-repeat center right;
	vertical-align: top;
	position: absolute;
	top: 50%;
	margin-top: -12px;
	cursor: pointer;
}body[dir="ltr"] #nav #search input[type="submit"] {
	right: 10px;
	border-left: 1px dotted #b0b0b0;
}body[dir="rtl"] #nav #search input[type="submit"] {
	left: 10px;
	border-right: 1px dotted #b0b0b0;
}

#nav #sign-in {
	border-bottom: 1px dotted #8c8c8c;
	padding-bottom: 20px;
}

#nav #sign-in form {
	padding: 10px 0;
	position: relative;
}

#sign-in input[type="text"],
#sign-in input[type="password"],
#sign-in input[type="email"] {
	background: #fff;
	width: 100%;
	height: 30px;
	line-height: 30px;
	margin-bottom: 5px;
	font-size: 1em;
}

#sign-in input[type="submit"] {
	margin: 10px 0;
}

#sign-in a {
	display: block;
	clear: both;
	font-size: 12px;
	padding: 10px 0;
}
.no-touch #sign-in a:hover{
	color: #fff;
}

#nav #user.not-signedin #sign-in a {
	text-transform: none;
	line-height: normal;
}

#carousel {
	background: #000;
}

#tickets-listing{
	position: relative;
}

#main .fluid {
	position: relative;
}

#articles article {
	margin-bottom: 20px;
}

/* FILTERS & SORTING */
	.filters,
	.sorting {
	    display: inline-block;
	    margin-bottom: 20px;
	}

	.filters > a{
		display: none;
	}

	body[dir="ltr"] .sorting{
		float: right;
	}body[dir="rtl"] .sorting{
		float: left;
	}

	.sorting .sub {
		white-space: nowrap;
	    text-align: center;
	    line-height: 20px;
	    font-weight: 700;
	}
	.filter {
	    display: inline-block;
	    height: 30px;
	    line-height: 30px;
	    background: #dfdfdf;
	    padding: 0 20px;
	    border-radius: 30px;
	    font-size: 12px;
	    color: #000000;
	}body[dir="ltr"] .filter{
		margin-right: 10px; 
	}body[dir="rtl"] .filter{
		margin-left: 10px; 
	}
	.filter a{
		color: #000000;
	}
	.filter .icon-arrow_down {
	    font-size: .7em;
	}
	.filter.on {
    	background: var(--main-color);
	    color: #fff;
	    box-shadow: 0 5px 40px rgba(0,0,0,.3);
	}
	#calendar{
		margin-bottom: 0;
		position: relative;
	}
	.sort_link {
	    color: #999;
	    font-size: 12px;
	    line-height: 30px;
	}
	.sort_link .icon-arrow_down{
		font-size: 0.7em;
	}
	.sort_link .selection {
	    color: #000000;
	}


.festival-list{
	font-size: 0;
}
.festival-list a{
	display: block;
    width: 100%;
    font-size: 16px;
    padding: 10px 0;
}
.festival-list a img{
	width: 100%;
	display: block;
}
.festival-list a > div{
	background: #fff;
	border-radius: 5px;
	margin-top: 1px;
	padding: 15px;
	position: relative;
	box-shadow: 0 10px 20px rgba(0,0,0,.1);
}

.festival-list .date.isMultiple .angle-right{
	display: inline-block;
    width: 5px;
    height: 5px;
    border-top: 1px solid #fff;
    border-right: 1px solid #fff;
    margin: 7px;

    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    -o-transform: rotate(45deg);
    transform: rotate(45deg);
}

.festival-list .cat-title{
    font-weight: 700;
}

aside {
	display: none;
}

#mainsite{
	display: block;
	font-size: 0.9em;
}



body.event .e-title h1{
	white-space: normal;
	text-overflow: clip;
	-o-text-overflow: clip;
	overflow: visible;
	height: auto;
}
.location,
.time {
    color: #666;
    font-size: 12px;
    display: block;
}

/* EVE
NT PAGE */
#poster{
	display: none;
}
#event-desc a {
    text-decoration: underline;
}
#placemap {
	margin: 20px 0;
}
#placemap .mappreview {
	text-align: center;
}
#placemap-thumb {
	width: auto;
	position: relative;
	border: 1px solid #d9d9d9;
}
#placemap-thumb img {
	width: 200px;
}
#placemap-thumb .icon-zoom-in {
	color: #fff;
	background: var(--main-color);;
	padding: 5px 10px;
	-moz-border-radius: 2px 0px 0px 0px;
	-webkit-border-radius: 2px 0px 0px 0px;
	-o-border-radius: 2px 0px 0px 0px;
	border-radius: 2px 0px 0px 0px;
	position: absolute;
	bottom: 0;
	right: 0;
	z-index: 1;
}
.no-touch #placemap-thumb:hover{
	border-color: #999;
}
.no-touch #placemap-thumb:hover .icon-zoom-in{
	background: #333;
}

#features li {
	margin-bottom: 10px;
    font-size: 14px;
    position: relative;
    color: #666;
}body[dir="ltr"] #features li {
    padding-left: 25px;
}body[dir="rtl"] #features li {
    padding-right: 25px;
}

#features li i {
	color: #999;
    font-size: 1.2em;
    position: absolute;
    top: -1px;
}body[dir="ltr"] #features li i {
    margin-right: 10px;
    left: 0;
}body[dir="rtl"] #features li i {
    margin-left: 10px;
    right: 0;
    top: -4px;
}

body[dir="ltr"] #features li i.icon-calendar {
	margin-right: 2px;	
}body[dir="rtl"] #features li i.icon-calendar {
	margin-left: 2px;	
}

input.emiratesid {
	max-width: 150px!important;
}
.add-ical{
	font-size: 10px;
}

.image #playVideo {
	position: relative;
	float:right;
	display: flex;
	color: var(--white-color);
	padding: 8px 16px;
	border-radius: 0px;
	backdrop-filter: blur(8px);
	border: 1px solid var(--white-color);
	font-size: 13px;
	line-height: 20px;
	min-width: 100px;
	right: 20px;
	bottom: 80px;
	font-weight: normal;
	cursor: pointer;
}

body[dir=rtl] .image #playVideo {
	float: left;
	left: 20px;
	right: auto;
	
}

.image #playVideo svg {
	vertical-align: middle;
	margin-right: 5px;
	stroke: var(--white-color);
}

body[dir=rtl] .image #playVideo svg {
	-webkit-transform: scaleX(-1);
	transform: scaleX(-1);
}

.image #playVideo:hover,
.image #playVideo:hover > svg {
	background-color: var(--sec-color);
	border-color: var(--sec-color);
}

.fb_iframe_widget{
	display: flex!important;
}

.whatsapp-share {
	background: #25D366;
	color: white;
	border-radius: 5px;
	font-size: 10px;
	font-size: 10px;
	width: 60px;
	height: 20px
}
.whatsapp-share .icon-whatsapp1 {
	vertical-align: middle;
	padding: 0 5px;
}
.whatsapp-share a {
	text-decoration: none!important;
	vertical-align: middle;
	color: white!important;
	font-weight: bold;
	line-height: 20px;
}
body[dir="rtl"] .whatsapp-share a {
	margin-right: 5px;
}

/* buttons */
#btns{
	margin-bottom: 30px;
	text-align: center;
}
.btn {
	text-align: center;
	font-weight: 700;
	text-transform: uppercase;
	clear: both;
	display: inline-block;
	padding: 0 20px;
	line-height: 36px;
	cursor: pointer;
	border-radius: 5px;
	border: none;
	font-size: 12px;
	
	background: var(--sec-color);

	position: relative;

	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	-o-user-select: none;
	user-select: none;
}
.btn.isWide{
	width: 100%;
}
.btn .inner-spinner{
	position:absolute;
	left:0;
	right:0;
	width:fit-content;
	margin:0 auto;
	opacity: 0;
}
a.btn {
	color: #FFFFFF;
}
.btn-link{
	cursor: pointer;
	background: none;
	text-decoration: underline;
	font-weight: 400;
	text-transform: capitalize;
}
.btn-link:hover {
    background: none!important;
    color: var(--main-color)!important;
    text-decoration: underline!important;
}
.btn[disabled]{
	cursor: default;
	background: #ccc;
	color: #fff;
}
.btn_primary{
	background: var(--sec-color);
	color: rgba(255, 255, 255);
	border: 1px solid transparent;
}
.btn_primary.hasPrimaryColor{
	background: var(--main-color);
	color: #fff;
}
.btn_link{
	background: var(--main-color);
	color: #fff;
}
.btn_secondary{
	background: none;
	border: 1px solid #000000;
	color: #000000!important;
}
.btn_secondary:hover {
	color:#FFFFFF!important;
}

.btn_secondary.isWhite{
	border-color: #fff;
	color: #fff;
}

 /* Full-screen Spinner CSS */
.spinner {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5); /* Semi-transparent background */
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 1000; /* Ensure it appears above other elements */
}

.spinner-container {
    display: flex;
    justify-content: center;
    align-items: center;
}

.spinner-circle {
    width: 50px;
    height: 50px;
    border: 5px solid #f3f3f3; /* Light grey */
    border-top: 5px solid var(--main-color);
    border-radius: 50%;
    animation: spin 1s linear infinite;
}

@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
} 

input.btn {
	border: none;
}

.btn-l {
	line-height: 51px;
	font-size: 14px;
}
.btn-m{
	line-height: 36px;
}
.btn-s {
	line-height: 30px;
	font-size: 11px;
}

.authBtns {
	width:100%;
	margin:20px 0;
}
.authBtn {
  width: 230px;
  padding: 12px;
  border: none;
  border-radius: 5px;
  margin: 5px 5px;
  opacity: 0.85;
  display: inline-block;
  font-size: 17px;
  line-height: 20px;
  text-decoration: none; /* remove underline from anchors */
  box-shadow: 0 0 2px rgba(0,0,0,.084),0 1px 2px rgba(0,0,0,.168);
  cursor: pointer;
}
body[dir="rtl"] .authBtn {
	width: 310px;
}
.authBtn i {
	margin-right:10px;
}
.authBtn svg {
	width:20px;
	padding:0;
	margin:0;
	vertical-align: middle;
	margin-right: 10px;
}

.authBtn:hover {
	opacity: 1;
	color: white!important;
}

.auth-fb {
	background-color: #1877F2;
	color: white;
}

.auth-apple {
	background-color: #000000;
	color: white;
}

.auth-google {
	background-color: #FFFFFF;
	color: #58585b;
}
.auth-google:hover {
	background-color: #d1d1d1!important;
}

.red {
	background-color: var(--sec-color);
}
  .gray, .no-touch .btn.gray:hover{
	background-color: #b0b0b0;
	color: #fff;
	text-shadow: 0px 1px 0px rgba(0, 0, 0, .32);
}

.add-ico {
	background-image: url('../i/add-ico-btn.png');
	background-repeat: no-repeat;
	background-position: right center;
	padding-right: 1.7em;
}

.add-ico.btn-m {
	padding-right: 2.5em;
}

.add-ico.btn-s {
	padding-right: 3em;
}

.btn:not([disabled]):hover,
#popup a.btn:not([disabled]):hover{
	transition: background-color .4s ease-in-out, color .4s ease-in-out, text-shadow .4s ease-in-out;
	-moz-transition: background-color .4s ease-in-out, color .4s ease-in-out, text-shadow .4s ease-in-out;
	-webkit-transition: background-color .4s ease-in-out, color .4s ease-in-out, text-shadow .4s ease-in-out;
  	
	background-color: #000000;
	color: #fff;
	text-shadow: none;
}
  .no-touch .add-ico.btn:hover{
	background-color: #ccc;
	color: #000000;
}
/* /buttons */

/* Bloc titles */
.title,
.subTitle {
	clear: both;
    text-transform: uppercase;
    font-weight: 700;
    font-size: 16px;
    color: #666;
    position: relative;
    margin-bottom: 20px;
}
.mapNote{
	text-transform:none;
	font-weight: 200;
}
.title.isBig{
	font-size: 28px;
}
.subTitle{
	font-size: 12px;
}

.title.isBig.addon span.subTitle{
	font-size: 18px;
	display: block;
}

.title .expiry{
    display: inline-block;
    font-size: 12px;
    background: var(--tre-color);
    border-radius: 5px;
    color: #fff;
    padding: 2px 5px;
    vertical-align: middle;
}body[dir="ltr"] .title .expiry{
	margin-left: 10px;
}body[dir="rtl"] .title .expiry{
	margin-right: 10px;
}
.title .expiry i{
	font-size: 1.4em;
}
.listTitle{
	color: var(--main-color);
	margin-bottom: 15px;
	display: block;
	font-size: 14px;
}
.colTitle{
	margin-bottom: 10px;
    display: block;
    font-weight: 700;
    text-transform: uppercase;	
}
body[dir="ltr"] .listTitle.isInlineBlock{
	margin-right: 10px;
}body[dir="rtl"] .listTitle.isInlineBlock{
	margin-left: 10px;
}

.title .tabs a{
	color: #666;
	display: inline-block;
}
.title .tabs a:not(.on):hover{
	color: #000000;
}
body[dir="ltr"] .title .tabs a + a{
	margin-left: 30px;
}body[dir="rtl"] .title .tabs a + a{
	margin-right: 30px;
}
.title .tabs a.on{
	color: var(--main-color);
	position: relative;
}
.title .tabs a.on:after{
	content: "";
    position: absolute;
    bottom: -20px;
    left: 50%;
    border-bottom: 10px solid #e7e7e7;
    border-right: 10px solid transparent;
    border-left: 10px solid transparent;
    margin-left: -5px;
}

/* Tickets Listing Rows */
	#articles{
		clear: both;
	}
	#articles article {
		position: relative;
		
		background: #fff;
		border-radius: 5px;

		width: 100%;

		-webkit-transition: box-shadow 0.3s ease-in-out;
		-o-transition: box-shadow 0.3s ease-in-out;
		transition: box-shadow 0.3s ease-in-out;
	}
	#articles article a{
		color: #000000;
		display: block;
		overflow: hidden;
	}
	body[dir="ltr"] #articles:not(.isGrid) article a{
		padding: 20px 20px 25px 80px;
	}body[dir="rtl"] #articles:not(.isGrid) article a{
		padding: 20px 80px 25px 20px;
	}
	#articles article.isSoldout{
		background: rgba(255, 255, 255, .7);
	}
	#articles article.isSoldout figure,
	#articles article.isSoldout .ticket{
		opacity: .7
	}
	#articles article figure{
		margin-bottom: 10px;
	}
	#articles .e-date {
	    padding: 0;
	    width: 60px;
	    position: absolute;
	    top: 20px;
	    height: calc(100% - 40px);
	}body[dir="ltr"] #articles .e-date {
		left: 0;
	}body[dir="rtl"] #articles .e-date {
		right: 0;
	}
	#articles article .btn{
		margin-top: 20px;
	    width: auto;
	    text-align: center;
	}

	/* Ticket */
	.ticket-info {
		overflow: hidden;
	}
	.ticket h2 {
		font-size: 18px;
		font-weight: 700;
		margin-bottom: 6px;
	}
	#articles article:not(.isSoldout) a:hover .ticket h2 {
		color: var(--main-color);
	}
	.time-loc li {
		display: block;
	}
	
	
	.time-loc i {
		color: #b2b2b2;
	    font-size: 1.5em;
	}body[dir="ltr"] .time-loc i {
		margin-right: 2px;
	}body[dir="rtl"] .time-loc i {
		margin-left: 2px;
		display: inline-block;
	}body[dir="rtl"] .time-loc i + span {
		display: inline-block;
	}
	.category {
		display: inline-block;
	    background: #000000;
	    color: #fff;
	    font-size: 10px;
	    text-transform: uppercase;
	    padding: 0 14px;
	    line-height: 18px;
	    border-radius: 19px;
	    font-weight: 700;
	    margin-bottom: 5px;
	}
	.isGrid .category{
		position: absolute;
	    top: -45px;
	    background: rgba(0,0,0,.2);
	    border: 1px solid rgba(255, 255, 255, .6);
	}body[dir="ltr"] .isGrid .category{
		left: 25px;
	}body[dir="rtl"] .isGrid .category{
		right: 25px;
	}
	.desc {
	    font-size: 13px;
	    color: #000000;
	    margin-top: 7px;
	    line-height: 1.4em;
	}

	/* Tickets Listing Grid */
	#articles.isGrid .cell{
		width: 100%;
	    margin-bottom: 30px;
	}
	#articles.isGrid article{
		padding: 0;
		margin: 0;
		display: flex;
	    flex-flow: column;
		border-radius: 5px;
	}
	#articles.isGrid article figure {
	    width: 100%;
	    float: none;
	    padding: 15px;
	    margin: 0;
	}
	#articles.isGrid .ticket{
		position: relative;
    	padding-bottom: 15px;
    	
    	display: flex;
    	flex-flow: row;

    	flex: 2;
	}body[dir="ltr"] #articles.isGrid .ticket{
		padding-right: 15px;
	}body[dir="rtl"] #articles.isGrid .ticket{
		padding-left: 15px;
	}

	#articles.isGrid .e-date {
		width: auto;
	    min-width: 70px;
	    position: relative;
	    height: auto;
	    top: auto;
	}
	body[dir="ltr"] .isGrid .ticket-info{
		padding-left: 15px;
	}body[dir="rtl"] .isGrid .ticket-info{
		padding-right: 15px;
	}
	#articles.isGrid .desc{
		display: none;
	}
	#articles.isGrid .ticket h2{
		font-size: 17px;
	    overflow: hidden;
	    /* max-height: 3.8em; */
	    display: block;
	    display: -webkit-box;
	    -webkit-box-orient: vertical;
	    -webkit-line-clamp: 3;
	    text-overflow: ellipsis;
	}

.few-left {
	display: block;
    position: absolute;
    top: 16px;
    line-height: 36px;
    color: #fff;
    background: var(--tre-color);
    padding: 0 20px;
    font-size: 15px;
	text-transform: uppercase;
    z-index: 2;
    font-weight: 500;
    border-radius: 3px;
}body[dir="ltr"] .few-left {
	right: -3px;
}body[dir="rtl"] .few-left {
	left: -3px;
}

.sold-out {
	display: block;
	position: absolute;
	top: 20px;
	text-align: center;
	z-index: 2;
}body[dir="ltr"] .sold-out {
	right: 20px;
}body[dir="rtl"] .sold-out {
	left: 20px;
}
.sold-out span{
	display: block;
	color: var(--tre-color);
	text-transform: uppercase;
	font-weight: 700;
	font-size: 17px;
	border-top: 2px solid var(--tre-color);
	border-bottom: 2px solid var(--tre-color);
	line-height: 15px;
	padding: 10px 0;
}

.isGrid .sold-out,
.promo-items .sold-out {
	padding: 10px;
	border-radius: 0 0 0 5px;
	top: 0;
	background: #fff;
}
body[dir="rtl"] .isGrid .sold-out,
body[dir="rtl"] .promo-items .sold-out {
	border-radius: 0 0 5px 0!important;
}
.loadmore {
	margin-bottom: 30px;
	width: 100%;
}

.loadmore i {
	font-size: 1.8em;
}


/* FOOTER */
footer {
	clear: both;
	position: relative;
}
footer:before {
    content: "";
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,.1);
    position: absolute;
    top: 0;
}body[dir="ltr"] footer:before {
	left: 0;
}body[dir="rtl"] footer:before {
	right: 0;
}

footer .wrap{
	position: relative;
	padding-top: 20px;
}
footer a{
    color: rgba(255, 255, 255, .7);
    /* font-size: 13px; */
}
footer a:hover{
	color: #fff;
}
#sitemap dt,
#sitemap dd {
	display: inline;
	padding: 5px 0;
}

#sitemap dt {
	font-size: 14px;
	font-weight: 700;
	margin-bottom: 6px;
}

body[dir="ltr"] #sitemap dd + dd {
	margin-left: 20px;
}body[dir="rtl"] #sitemap dd + dd {
	margin-right: 20px;
}
#social dt{
	display: none;
}
#social i {
    width: 20px;
    display: inline-block;
    font-size: 2em;
    vertical-align: middle;
}
.hotline{
	margin-top: 20px
}
.hotline > div{
	display: inline;
}body[dir="ltr"] .hotline > div{
	margin-right: 10px;
}body[dir="rtl"] .hotline > div{
	margin-left: 10px;
}
.hotline-title{
	font-weight: 400;
	text-transform: uppercase;
}
.hotline-nb,
.hotline-time {
    font-weight: 700;
}

#copy{
	font-size: 11px;
    color: rgba(255, 255, 255, .5);
    padding: 20px 0;
    border-top: 1px solid rgba(0, 0, 0, .1);
    margin-top: 20px;
}

#tixity {
	cursor: pointer;
	font-size: 11px;
	color: rgba(255, 255, 255, .5);
	vertical-align: middle;
	text-align: center;
}

/* #tixity::after {
	content: '';
	position: absolute;
	width: 100%;
	transform: scaleX(0);
	height: 2px;
	bottom: 0;
	left: 0;
	background-color: var(--main-color);
	transform-origin: bottom right;
	transition: transform 0.25s ease-out;
  }
  
  #tixity:hover::after {
	transform: scaleX(1);
	transform-origin: bottom left;
  } */

#tixity img{
	margin: 0 5px;
	vertical-align: middle;
	transition: transform 0.18s ease-in-out;
	transform-origin: left top;
}

#tixity img:hover{
	transform: scale(1.1);
}

/* EVENT PAGE */
#banner {
	position: relative;
	width: 100%;
	overflow: hidden;
	padding: 0 20px 30px;
}

#banner > div.image {
	width: 100%;
	overflow: hidden;
	max-height: 800px;
}

#banner video {
	overflow: hidden;
	max-height: 871px;
	object-fit: cover;
	
}

#banner #video {
    position: static;
    order: 2;
    flex-grow: 1;
    margin-top: 20px;
    display: none;
}

#banner > div > img,
#banner video {
	width: 100%;
	height: auto;
}

.slick-track
{
    display: flex !important;
}

.slick-slide
{
    height: inherit !important;
}

#bc {
	width: 100%;
    color: #999;
    text-transform: capitalize;
    font-size: 11px;
    padding: 15px 20px;

    overflow-x: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
}

#bc li {
	display: inline-block;
	vertical-align: middle;
	line-height: 10px;
}

#bc li a {
	color: var(--main-color);
	opacity: 0.6;
}

#bc li a:hover {
	opacity: 1;
}

#bc li.here {
	color: #000000;
}
body[dir="ltr"] #bc li + li {
    padding-left: 20px;
    margin-left: 20px;
    border-left: 1px solid #999;
}body[dir="rtl"] #bc li + li {
    padding-right: 20px;
    margin-right: 20px;
    border-right: 1px solid #999;
}

.read-more{
  max-height: 400px;
  overflow: hidden;
  position: relative;
}
.rmore-btn{
	display: inline-block;
}
.read-more p{
	display: inline-block;
}
.read-more.opened{
	max-height: none !important;
}
.read-more .rmore-btn{
	text-transform: capitalize;
	font-size: 12px
}
.rmore-btn .rmore-less,
.opened .rmore-btn .rmore-more{
	display: none;
}
.opened .rmore-btn .rmore-less{
	display: inline;
}

body[dir="ltr"] #sections select.hasCustomSelect{
	left: 50%;
	margin-left: -100px;
}body[dir="rtl"] #sections select.hasCustomSelect{
	right: 50%;
	margin-right: -100px;
}

#locations{
	margin-bottom: 2em;
}

#plans .wrap {
	display: flex;
}
#plans .pane {
	width: 50%;
}
    	
	/* RADIO BUTTON */
    	
.options, #discounts, #seatchart, #datepicker{
	width: 100%;
    margin-bottom: 1.5em;
}

.discounts fieldset > label strong{
	color: #000;
}
.discounts fieldset > label + label{
	margin-top: 15px;
}
body[dir="ltr"] .discount-condition{
	padding: 3px 0 0 10px;
}body[dir="rtl"] .discount-condition{
	padding: 3px 10 0 0;
}
.discounts input[disabled] + label{
	opacity: .5;
}
#seatchart{
	position: relative;
}
#seatchart #bigMap{
	position: absolute;
	top: 0;
	text-transform: uppercase;
	font-size: 11px;
	padding: 5px 10px;
	background-color: #e0173c;
	color: #fff;
}body[dir="ltr"] #seatchart #bigMap{
	right: 0;
}body[dir="rtl"] #seatchart #bigMap{
	left: 0;
}

#seatchart #bigMap:hover{
	background-color: #353535;
}

body[dir="ltr"] #seatchart #bigMap i{
	margin-left: 10px;
}body[dir="rtl"] #seatchart #bigMap i{
	margin-right: 10px;
}

#datepicker,
#datepicker-display{
	display: none;
}
#datepicker-display{
	padding: 14px;
	margin-top: 20px;
	text-align: center;
	background: #353535;
	color: #fff;
	text-transform: uppercase;
}
#datepicker-display-title{
	font-size: 13px;
}
#datepicker-display-date{
	font-size: 26px;
	display: block;
	width: 100%;
}
.seatspickedPerCat{
	display: none;
	font-size: 12px;
}
.seatspickedPerCat.show{
	display: inline-block;
}
#seatspickedPerCat{
	display: none !important;
}

.opt-description {
	background-color: rgba(0, 0, 0, .4);
	padding: 0 10px 10px;
	font-size: 13px;
	font-weight: 700;
	position: relative;
}

.opt-description:before {
	content: "i";
    font-size: 14px;
    font-family: serif;
    text-transform: lowercase;
    padding-right: 5px;
}
.opt-description span, .opt-notice {
	text-transform: none;
	text-align: center;
	font-size: 13px;
	padding: 5px 0;
	font-weight: 400;
	height: 65px;
}

.categoryDescs {display: none;}

		

.dull,
#options li.dull a {
	background: #ccc;
}
#options li.dull{
	background: rgba(255, 255, 255, .5);
}
#options li.dull header > div:first-child{
	opacity: .5;
}
#options li .sold-out{
	position: static;
}
.radioform {display:none}
    	

body[dir="ltr"] .sn-sharing li {
	float: left;
	margin-right: 10px;
}body[dir="rtl"] .sn-sharing li {
	float: right;
	margin-left: 10px;
}

#stage>div {
	width: 100%;
	max-width: 735px;
	margin: 0 auto;
	border: 1px solid #d9d9d9;
	overflow: auto;
}

#legend {
	margin-bottom: 20px;
}

#legend li {
	display: inline-block;
	text-align: center;
	font-size: 11px;
	color: #4c4c4c;
}body[dir="ltr"] #legend li {
	margin-right: 20px;
}body[dir="rtl"] #legend li {
	margin-left: 20px;
}

body[dir="ltr"] #legend li i {
	margin-right: 5px;
}body[dir="rtl"] #legend li i {
	margin-left: 5px;
}

#legend li#seat-green i {
	color: #b2da0e;
}

#legend li#seat-yellow i {
	color: #e0d021;
}

#legend li#seat-red i {
	color: #e0173c;
}

#legend li#seat-black i {
	color: #000;
}

#legend li#seat-gray i {
	color: #7c7c7c;
}

.tag {
    border-radius: 5px;
    background: #666;
    color: #fff;
    text-transform: uppercase;
    font-weight: 700;
    font-size: 9px;
    padding: 3px 6px;
}
body[dir="ltr"] .tag + .tag{
	margin-left: 2px;
}body[dir="rtl"] .tag + .tag{
	margin-right: 2px;
}
.tag.items-ok{
	background: #4fb164;
}
.tag.items-expired {
    background: var(--tre-color);
}
.tag.item-pending{
	background: #e19824;
}
  

/* tbl*/
table {
	width: 100%;
	border-collapse: collapse;
	font-size: 14px;
}

table#tickets {
	margin-bottom: 30px;
}
table#tickets th a, table#addons th a {
	color: #FFFFFF;
}
table#tickets .actions a, 
table#addons .actions a {
	padding: 0	10px;
}
table#tickets .actions,
table#addons .actions{
	display: flex;
	justify-content: flex-end;
	align-items: center;
}
table#tickets .actions img,
table#addons .actions img {
	width: 120px;
	vertical-align: middle;
}

/* Season pass parent ticket styling */
table#tickets tr.season-pass-parent {
	background-color: #f8f8f8;
}

/* Season pass child ticket styling */
table#tickets tr.season-pass-child {
	background-color: #fff;
	border-left: 3px solid #ddd;
}
table#tickets tr.season-pass-child td:first-child {
	padding-left: 25px;
}

/* Season pass badge */
/*.season-pass-badge {
	display: inline-block;
	margin-right: 8px;
	padding: 2px 6px;
	font-size: 9px;
	font-weight: 600;
	letter-spacing: 0.5px;
	color: #fff;
	background-color: var(--main-color);
	border-radius: 2px;
	text-transform: uppercase;
	vertical-align: middle;
}
.season-pass-badge i {
	font-size: 10px;
	margin-right: 3px;
}*/

.no-touch tr:hover,
.no-touch .row:hover{
	background: #eee;
}
thead{
	background: #eee;
}
th,
.info-list dt {
	color: #444;
	font-size: 14px;
	font-weight: 700;
}body[dir="ltr"] th,
body[dir="ltr"] .info-list dt {
	clear: left;
}body[dir="rtl"] th,
body[dir="rtl"] .info-list dt {
	clear: right;
}

td,
th {
	padding: 15px 10px;
}body[dir="ltr"] td,
body[dir="ltr"] th{
	text-align: left;
}body[dir="rtl"] td,
body[dir="rtl"] th{
	text-align: right;
}

td {
	vertical-align: top;
	border-bottom: 1px solid #eee;
}

td dt {
	font-size: 14px;
	margin-bottom: 5px;
}

td dd {
	font-size: 13px;
}

td input[type='text'] {
	border: 1px solid #aaa;
	width: 37px;
	height: 25px;
	line-height: 25px;
	text-align: center;
}

.cur {
	text-transform: uppercase;
	font-size: 10px;
}

body[dir="ltr"] .tbl-thumb {
	margin-right: 10px;
	float: left;
}body[dir="rtl"] .tbl-thumb {
	margin-left: 10px;
	float: right;
}

td dl{
	max-width: 300px;
}body[dir="ltr"] td dl{
	padding-left: 40px;
}body[dir="rtl"] td dl{
	padding-right: 40px;
}

.remove {
	display: block;
	color: #999;
}
.remove:hover{
	color: var(--main-color);
}

tfoot td, .no-touch tfoot tr:hover{
	background: #585858;
}

#tbl-cart tfoot td {
	padding: 0;
	position: relative;
}

#tbl-cart tfoot td>a {
	margin: 13px;
}
#tbl-cart tbody td div{
	clear: both;
	margin-bottom: 5px;
}

aside .total-price{
	color: #fff;
}

/* CHECKOUT*/
h6 {
	text-transform: uppercase;
	font-size: 1.188em;
	color: #7d7d7d;
	margin-bottom: 10px;
}

h6 a {
	text-transform: none;
	font-size: 12px;
}body[dir="ltr"] h6 a{
	margin-left: 10px;
}body[dir="rtl"] h6 a{
	margin-right: 10px;
}

.info-list dt {
	white-space: nowrap;
	font-size: 14px;
}body[dir="ltr"] .info-list dt {
	margin-right: 20px;
}body[dir="rtl"] .info-list dt {
	float: right;
	margin-left: 20px;
}

.row {
	border-bottom: 1px solid #eee;
	padding: 15px 10px;
}
.info-list dd{
	border-bottom-color: #eee;
	font-size: 12px;
}

fieldset {
	margin-bottom: 6px;
}

label {
	display: inline-block;
}
input[type="checkbox"] + label,
input[type="radio"] + label{
	display: inline-block;
	padding-top: 2px;
}
/* custom select */
select {
	cursor: pointer;
}

span.customSelect,
.input-txt {
	font-size: 14px;
	background: #fff;
	color: #000000;
	padding: 0 15px;
	border: 1px solid #c2c2c2;
	border-radius: 5px;
	width: 100%;
	height: 40px;
	line-height: 40px;
	white-space: nowrap;
}
 .input-txt.isSmall{
 	height: 30px;
 	line-height: 30px;
 }
#promotional-banner select{
	width: 100% !important;
}
#promotional-banner span.customSelect{
	font-size: 13px;
    background: none;
    color: var(--main-color);
    border: none;
}body[dir="ltr"] #promotional-banner span.customSelect{
	padding-left: 0;
}body[dir="rtl"] #promotional-banner span.customSelect{
	padding-right: 0;
}

span.customSelect.pmethod {
	width: auto;
}

span.customSelect.changed {
	background-color: #f0dea4;
}

.customSelectInner {
	width: 100%;
	text-overflow: ellipsis;
	-o-text-overflow: ellipsis;
	overflow: hidden;
}body[dir="ltr"] .customSelectInner {
	text-align: left;
	padding-right: 20px;
}body[dir="rtl"] .customSelectInner {
	text-align: right;
	padding-left: 20px;
}

.customSelectInner:after{
	content: "\e910";
    font-family: 'icomoon';
    position: absolute;
    font-size: 12px;
}body[dir="ltr"] .customSelectInner:after{
	right: 15px;
}body[dir="rtl"] .customSelectInner:after{
	left: 15px;
}
body[dir="ltr"] .pmethod .customSelectInner {
	padding-right: 30px;
}body[dir="rtl"] .pmethod .customSelectInner {
	padding-left: 30px;
}

#edit-pos {
	background: #585858;
	overflow: hidden;
	border-radius: 5px;
	-moz-border-radius: 5px;
	-webkit-border-radius: 5px;
	position: absolute;
	top: 0;
	width: 100%;
	display: none;
	z-index: 2;
}body[dir="ltr"] #edit-pos {
	left: 0;
}body[dir="rtl"] #edit-pos {
	right: 0;
}

#edit-pos label {
	color: #fff;
	width: auto;
	display: block;
}body[dir="ltr"] #edit-pos label {
	margin-right: 10px;
}body[dir="rtl"] #edit-pos label {
	margin-left: 10px;
}

#edit-pos fieldset,#edit-pos .btns {
	padding: 10px;
	margin-bottom: 0;
}

body[dir="ltr"] #edit-pos .btns .btn {
	margin-right: 10px;
}body[dir="rtl"] #edit-pos .btns .btn {
	margin-left: 10px;
}

body[dir="ltr"] .info-list i {
	margin-right: 5px;
}body[dir="rtl"] .info-list i {
	margin-left: 5px;
}

.input-txt.input-large {
	width: 100%;
}

.chk {
	margin-bottom: 20px;
}

.form{
	margin-top: 20px;
}
.form input[type="submit"] {
    margin-top: 10px;
}
.form .chk label {
	width: auto;
	text-transform: none;
	display: block;
	margin-bottom: 10px;
}

.form #valid-success {
	font-size: 14px;
	float: right;
}

body[dir="rtl"] .form #valid-success {
	float: left;
}

.form #valid-success i {
	vertical-align: middle;
}

body[dir="ltr"] .chk label input {
	margin-right: 10px;
}body[dir="rtl"] .chk label input {
	margin-left: 10px;
}

.select-wrap {
	display: inline-block;
	position: relative;
	vertical-align: middle;
}
.mand {
	color: #e0173c;
}

.categoryoptions span.mand {
	padding-bottom: 10px;
	font-size: 14px;
	display: inline-block;
}

body[dir="ltr"] .confirm {
	margin-right: 0;
}body[dir="rtl"] .confirm {
	margin-left: 0;
}

#captcha{
	font-size: 0;
}
#captcha div {
    display: inline-block;
    vertical-align: top;
}
#captcha div:last-child{
	width: calc(100% - 120px);
}
body[dir="ltr"] #captcha img {
	margin-right: 20px;
}body[dir="rtl"] #captcha img {
	margin-left: 20px;
}

#quick-note {
	display: none;
	width: 100%;
	overflow: hidden;
	background: var(--tre-color);
	color: #fff;
	font-size: 14px;
	padding: 5px 10px;
	position: fixed;
	bottom: 0;
	left: 0;
	z-index: 9999999;
}

#quick-note i {
    font-size: 2em;
}body[dir="ltr"] #quick-note i {
    margin-right: 5px;
}body[dir="rtl"] #quick-note i {
    margin-left: 5px;
}

#quick-note a:not(.btn) {
	color: #fff;
	margin-top: 5px;
}body[dir="ltr"] #quick-note a:not(.btn) {
	float: left;
}body[dir="rtl"] #quick-note a:not(.btn) {
	float: right;
}

#quick-note li {
	padding: 10px 0;
}

  body[dir="ltr"] #btns a,
  body[dir="ltr"] .popup .btns a{
	margin-right: 20px;
  }
  body[dir="rtl"] #btns a,
  body[dir="rtl"] .popup .btns a{
	margin-left: 20px;
  }
  
  body[dir="ltr"] #btns a:only-child{
	margin-right: 0px!important;
  }body[dir="rtl"] #btns a:only-child{
	margin-left: 0px!important;
  }
  
  #btns a, #btns input, #btns button {
  	margin-bottom: 10px;
  }
  
.discounts .input-txt{
	margin: 0 10px;
	width: 150px;
}
    	
.day-row {
    border-radius: 5px;
    text-transform: uppercase;
    background: #fff;
    border: 1px solid #f3f3f3;

    display: flex;
    flex-flow: row;

    -webkit-transition: all 0.3s ease-in-out;
    -o-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
}
.day-row:hover {
    box-shadow: 0 10px 50px rgba(0,0,0,.1);
    z-index: 2;
    border-color: transparent;
    position: relative;
}

.day-row .time-box{
	display: flex;
	flex-flow: row;
	flex-wrap: wrap;
}
.day-row .date-box{
	text-align: center;
	padding: 15px 20px;
    width: 100px;

    flex-shrink: 0;
    flex-grow: 0;
}body[dir="ltr"] .day-row .date-box{
	border-right: 1px dashed #f3f3f3;
}body[dir="rtl"] .day-row .date-box{
	border-left: 1px dashed #f3f3f3;
}
.date-box > span {
    display: block;
}
.date-box .day-txt {
    font-size: 14px;
    font-weight: 700;
}
.date-box .month-txt{
	font-size: 12px;
    font-weight: 400;
}
.time-box > li{
	flex: 0;
}body[dir="ltr"] .time-box > li{
	border-right: 1px dashed #f3f3f3;
}body[dir="rtl"] .time-box > li{
	border-left: 1px dashed #f3f3f3;
}
.time-box li > a {
	display: flex;
	align-items: center;
	gap: 4px;
    padding: 15px 20px;
    font-size: 14px;
    height: 100%
}
.time-box li span{
	display: block;
	font-size: 15px;
}
.time-box li > a:not(.disabled):hover,
.event-dates.selected .day-row.selected li.selected > a{
	background-color: var(--tre-color);
	color: #fff;
}
.time-box li > a.disabled{
	color: #b2b2b2;
}
.day-row.selected{
	border-color: #d7d7d7;
}

@-moz-document url-prefix() {
	.btn-s {
		min-height: 2.5em;
	}
}

label.radio-option {
	font-size: .75em;
}
label.card-option {
	line-height: 1.5;
	padding: 0px 15px 15px 0px;
	font-weight: 400!important;
}

#payment-cards{
	display: block;
	text-transform: uppercase;
	margin-bottom: 5px;
	font-size: .75em;
}

label.radio-option span {
	text-transform: none;
	display: block;
	font-size: 11px;
}body[dir="ltr"] label.radio-option span {
	margin: 0px 0px 10px 30px;
}body[dir="rtl"] label.radio-option span {
	margin: 0px 30px 10px 0px;
}
#payment-method img {
	width: auto;
	max-height: 30px;
}
label.radio-option img {
	margin-bottom: 20px;
	display: block;
	width: 50%;
}body[dir="ltr"] label.radio-option img {
	margin-left: 30px;
}body[dir="rtl"] label.radio-option img {
	margin-right: 30px;
}

#pay-now-button {
	margin-top: 15px;
}

#pay-now-button:disabled {
	background-color: #b0b0b0;
}

.discounts h2{
	padding-top: 20px;
}

.discounts fieldset > label input.input-txt{
	display: block;
	margin: 5px 0 0 0;
}

.organiser{
	display: none;
}

.my_cart_total form{
	margin-top: 0;
}
.my_cart_total .fees label span{
	display: block;
    line-height: 1.3em;
}body[dir="ltr"] .my_cart_total .fees label span{
    padding-left: 31px;
}body[dir="rtl"] .my_cart_total .fees label span{
    padding-right: 31px;
}

#handling_desc {
	margin: 0;
	display: inline;
}
#handling_desc .price-display {
	display: inline-flex;
	align-items: center;
	margin-left: 5px;
}
#handling_desc img{
	display: inline-block;
	vertical-align: middle;
}
.chk.fees label {
	display: inline;
}
.chk.fees .price-display {
	display: inline-flex;
	align-items: center;
}
body[dir="ltr"] #insurance-img{
	margin-right: 20px;
}body[dir="rtl"] #insurance-img{
	margin-left: 20px;
}
#insurance-note{
	overflow: hidden;
}

#insurance-note small{
	font-size: 0.7em;
}

#announcements .items {
	padding: 20px 20px;
    border-radius: 5px;
	overflow: hidden;
	text-align: center;
	margin: 0px!important;
}
/* Promotional Banner */
#promotional-banner {
    padding-bottom: 10px;
}

.promo-slides{
	font-size: 0;
	text-align: center;
	margin:0px!important;
	
}
.promo-tab-content{
	padding: 20px 20px;
	background: #e7e7e7;
    border-radius: 5px;
	overflow: hidden;
	display: none;
}
.promo-tab-content:first-child{
	display: block;
}
.promo-items {
    /* overflow: hidden; */
}
.promo-item{
	display: inline-block;
	font-size: 16px;
	vertical-align: top;
	position: relative;
	padding: 10px 10px;
}body[dir="ltr"] .promo-item{
	text-align: left;
}body[dir="rtl"] .promo-item{
	text-align: right;
}
.promo-info{
	padding: 10px;
    position: relative;
    border-top: 1px dashed #e7e7e7;
    color: #999;
    font-weight: 700;
    font-size: 11px;
}
.promo-item a {
    display: block;
    background: #fff;
    border-radius: 5px;
    position: relative;
    /* overflow: hidden; */

	-webkit-transition: all .2s ease 0s;
	-moz-transition: all .2s ease 0s;
	-ms-transition: all .2s ease 0s;
	-o-transition: all .2s ease 0s;
	transition: all .2s ease 0s;
}
.promo-item a:focus{
	outline: none;
}
.promo-item a:before {
    content: "";
    width: 100%;
    height: 40%;
    position: absolute;
    bottom: 0;
    box-shadow: 0 20px 35px rgba(0,0,0,.1);

    -webkit-transition: all 0.3s ease-in-out;
    -o-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
}body[dir="ltr"] .promo-item a:before {
	left: 0;
}body[dir="rtl"] .promo-item a:before {
	right: 0;
}
.promo-item:hover a:before {
    box-shadow: 0 30px 70px rgba(0,0,0,.2);
}

.promo-info:not(.ann):before,
.promo-info:not(.ann):after {
    content: "";
    width: 20px;
    height: 20px;
    background: #e7e7e7;
    border-radius: 100%;
    position: absolute;
    top: 0;
    margin-top: -10px;
}
.promo-info:before {
    left: -10px;
}
.promo-info:after {
    right: -10px;
}
.promo-item img{
	display: block;
	width: 100%;
}
.promo-cat{
	color: #7e7e7e;
	font-size: 10px;
	text-transform: uppercase;
}
.promo-item h2 {
    color: #000000;
    margin: 0;
    font-weight: 700;
	/* overflow: hidden; */
    height: 3.2em;
    display: block;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    text-overflow: ellipsis;
	overflow: hidden;

    margin-bottom: 10px;
}
.promo-item time{
	color: #a9a9a9;
	font-size: 10px;
	display: block;
	height: 20px;
	line-height: 20px;
}
.promo-location{
	white-space: nowrap;
	text-overflow: ellipsis;
	max-width: 100%;
	overflow: hidden;
}
.promo-location .icon-pin {
	vertical-align: baseline;
}

.promo-date{
	padding: 0px 15px;
}
.promo-item.type-voucher time {
    background: #e0173c;
    padding: 0 8px;
    border-radius: 2px;
    color: #fff;
}body[dir="ltr"] .promo-item.type-voucher time {
	float: left;
}body[dir="rtl"] .promo-item.type-voucher time {
	float: right;
}
.promo-item.type-voucher time:empty{
	background: none;
}



/* EVENT PAGE OPTIONS */
#options li {
    background: #fff;
    border-radius: 5px;
    border: 1px solid #f3f3f3;
    position: relative;

    -webkit-transition: all 0.3s ease-in-out;
    -o-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
}body[dir="ltr"] #options li {
	text-align: left;
	border-left: 4px solid;
}body[dir="rtl"] #options li {
	text-align: right;
	border-right: 4px solid;
}

#options li header{
	position: relative;
}
#options li header > div:first-child{
	position: relative;
	padding: 20px;
	cursor: pointer;
	flex: 2;
}
/* #options li header.disabled .js-expandCat{
	opacity: .5;
} */

#options li header.disabled .js-expandCat .opt-title{
	opacity: .5;
}
#options li header.disabled .js-expandCat .opt-price > span {
	opacity: .5;
}

body[dir="ltr"] #options li.js-canExpand header > div:first-child{
	padding: 20px 20px 20px 40px;
}body[dir="rtl"] #options li.js-canExpand header > div:first-child{
	padding: 20px 40px 20px 20px;
}

.mini_add_to_cart, .availability_btn{
	color: #FFFFFF;
}
.mini_add_to_cart i{
	font-size: 1.7em;
}
body[dir="ltr"] #options li header .mini_add_to_cart{
	margin-left: 20px;
}body[dir="rtl"] #options li header .mini_add_to_cart{
	margin-right: 20px;
}

#options li.js-canExpand header:not(.disabled):before {
    content: "\e903";
    font-family: 'icomoon';
    position: absolute;
    color: var(--main-color);

    -webkit-transition: all 0.3s ease-in-out;
    -o-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
}body[dir="ltr"] #options li.js-canExpand header:not(.disabled):before {
	left: 16px;
}body[dir="rtl"] #options li.js-canExpand header:not(.disabled):before {
	right: 16px;

	-webkit-transform: rotate(180deg);
	-ms-transform: rotate(180deg);
	-o-transform: rotate(180deg);
	transform: rotate(180deg);
}

#options li.js-canExpand.active header:not(:has(.price-with-discount)):before {
    -webkit-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    -o-transform: rotate(90deg);
    transform: rotate(90deg);
}

/* RTL active state for items without price-with-discount */
body[dir="rtl"] #options li.js-canExpand.active header:not(:has(.price-with-discount)):before {
    -webkit-transform: rotate(270deg);
    -ms-transform: rotate(270deg);
    -o-transform: rotate(270deg);
    transform: rotate(270deg);
}
.opt-col{
	font-weight: 700;
	font-size: 17px;
}

.opt-note{
	font-size: 12px;
	margin-top: 5px;
	color: #666;
	font-weight: 400;
}
.opt-note .read-more{
	max-height: 16px;
	line-height: 1.4em;
	overflow: hidden;
}

.quantity-picker {
	display: flex;
    flex-direction: row;
    justify-content: center;
	align-items: baseline;
}
.products-addons-listing .product-category .product-category-items .product-category-item .product-category-item-options .option .quantity-picker{
	align-items: center;
}
.opt-selection .inc,
.opt-selection .dec{
	font-size: 35px;
	color: var(--main-color);
	cursor: pointer;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	-o-user-select: none;
	user-select: none;
}
.opt-selection .inc.disabled,
.opt-selection .dec.disabled{
	color: #b2b2b2;
}
.opt-selection .inc:hover,
.opt-selection .dec:hover{
	color: #000000;
}
.opt-selection input {
    width: 30px;
    text-align: center;
    font-size: 17px;
    font-weight: 700;
    background: none;
}
.opt-selection-note{
	padding-top: 2px;
	font-size: 11px;
    color: #666;
    font-weight: 400;
	text-align: center;
	display: inline;
}
.offer-tag{
    font-size: 10px;
    text-transform: uppercase;
    color: var(--tre-color);
    font-weight: 700;
    display: inline-block;
    vertical-align: middle;
}body[dir="ltr"] .offer-tag{
	margin-left: 5px;
}body[dir="rtl"] .offer-tag{
	margin-right: 5px;
}

.offer-tag i{
	font-size: 1.4em;
}
body[dir="rtl"] .offer-tag i{
    -webkit-transform: rotate(180deg);
    -ms-transform: rotate(180deg);
    -o-transform: rotate(180deg);
    transform: rotate(180deg);
    display: inline-block;
}
.subCat {
    padding: 0 25px;
    font-size: 12px;
    font-weight: 700;

    height: 0;
    overflow: hidden;

    -webkit-transition: all 0.3s ease-in-out;
    -o-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
}

#options li.js-canExpand header:before {
    top: 30px;
}

.subCatBtn{
	padding: 0 25px;
}

/* Add button always at bottom of modal details */
#product-modal .modal-product-details .subCatBtn {
	margin-top: auto;
}
.subCat .mini_add_to_cart, .availability_btn{
	margin-bottom: 20px;
}
.subCat.open{
	height: auto;
	overflow: visible;
}
.subCat section {
    border-top: 1px solid #eee;
    padding: 20px;
}

#your_selection{
	position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    background: #fff;
    z-index: 100;
    box-shadow: 0px 4px 50px rgba(0,0,0,.3);
    padding: 10px;
}
#your_selection .title{
	display: none;
}
.selection_list{
	font-size: 13px;
}
.selection_list a {
    text-decoration: underline;
}
#your_selection .btn{
	width: 100%;
}


/* LOGIN REG */
.login-reg,
.my-orders,
.white-box {
    background: #fff;
    margin: 0 0 50px 0!important;
    padding-top: 30px;
    border-radius: 6px;
    position: relative;

    justify-content: center;
}
.my_cart_total .white_box {
    margin-bottom: 10px;
    padding: 0 20px;
}
.company-info {
	padding: 0 20px;
}
.my-orders,
.white-box:not(.isSplit){
	padding: 30px;
}
.login-reg article,
.white-box.isSplit article{
    width: 100%;
    padding: 0 30px 30px;
}

.form label:not(.error){
	display: block;
	font-size: 14px;
	font-weight: 500;
	margin-bottom: 6px;
}
.form label.lbl-input{
	font-weight: 400;
    padding: 0 10px;
    background: rgba(0,0,0,.03);
    border-radius: 5px;
    font-size: 12px;
    line-height: 40px;
}
.subCat .form label{
	font-size: 12px;
	line-height: 16px;
}

.form fieldset{
	margin-bottom: 20px;
	position: relative;
    width: 100%;
}
#contact_form fieldset{
	margin-bottom: 0;
}
.form fieldset.fees{
	margin-bottom: 0;
}
.subCat .form fieldset{
	margin-bottom: 8px;
}

.form input,
.form .select-wrap{
	width: 100%;
	/* max-width: 400px; */
}
.form .select-wrap select{
	width: 100%!important;
}
.form-check {
    position: relative;
}body[dir="ltr"] .form-check {
    padding-left: 30px;
}body[dir="rtl"] .form-check {
    padding-right: 30px;
}

.form input[type="checkbox"],
.form input[type="radio"],
.categoryoptions input[type="checkbox"],
.categoryoptions input[type="radio"]{
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    display: inline-block;
    color: #666;
    background: #fff;
    height: 20px;
    width: 20px;
    cursor: pointer;
    outline: none;
    vertical-align: middle;
    border: 1px solid #c2c2c2;
    border-radius: 2px;
    position: relative;
}body[dir="ltr"] .form input[type="checkbox"],
body[dir="ltr"] .form input[type="radio"],
body[dir="ltr"] .categoryoptions input[type="checkbox"],
body[dir="ltr"] .categoryoptions input[type="radio"]{
	margin-right: 7px;
}body[dir="rtl"] .form input[type="checkbox"],
body[dir="rtl"] .form input[type="radio"],
body[dir="rtl"] .categoryoptions input[type="checkbox"],
body[dir="rtl"] .categoryoptions input[type="radio"]{
	margin-left: 7px;
}

.form-check input[type="radio"],
.form-check input[type="checkbox"]{
    position: absolute;
    top: 0;
}body[dir="ltr"] .form-check input[type="radio"],
body[dir="ltr"] .form-check input[type="checkbox"]{
    left: 0;
}body[dir="rtl"] .form-check input[type="radio"],
body[dir="rtl"] .form-check input[type="checkbox"]{
    right: 0;
}
.form input[type="radio"]{
	border-radius: 100%;
}
.form input[type="checkbox"]:checked,
.form input[type="radio"]:checked,
.categoryoptions input[type="checkbox"]:checked,
.categoryoptions input[type="radio"]:checked {
	border-color: var(--main-color); 
}

.form input[type="checkbox"]:checked::before,
.form input[type="radio"]:checked::before,
.categoryoptions input[type="checkbox"]:checked::before,
.categoryoptions input[type="radio"]:checked::before{
    content: '\e91e';
    font-family: 'icomoon' !important;
    font-size: 14px;
    position: absolute;
    left: 2px;
    top: 2px;
    color: var(--main-color);
}

.promo-box-compact .form input[type="checkbox"]:checked::before,
.promo-box-compact .form input[type="radio"]:checked::before,
.promo-box-compact .categoryoptions input[type="checkbox"]:checked::before,
.promo-box-compact .categoryoptions input[type="radio"]:checked::before {
	left: 0;
	top: 0;
}

.form .chk label {
    font-weight: 500;
    font-size: 12px;
}
.form a:not(.btn) {
    text-decoration: underline;
    font-size: 12px;
}

.white_box{
	background: #fff;
    padding: 20px;
    border-radius: 5px;
    margin-bottom: 30px;
}

/* CART PAGE */
.my_cart_items .center i{
	font-size: 30px;
	margin-bottom: 10px;
	display: block;
}	

.cart-preview{
		color: #000000;
	}
	.cart-preview dd{
		margin-top: 4px;
	}
	.cart-preview.empty {
		text-align: center;
		font-size: 12px;
	}
	.cart-preview li {
		position: relative;
		overflow: hidden;
		background: #fff;
	    border-radius: 5px;
	}

	.cart-preview li + li{
		margin-top: 10px;
	}
	.cart-preview .cart-item-title {
	    font-size: 11px;
		border-bottom: 1px dashed #ccc;
		/* white-space: nowrap;
	    text-overflow: ellipsis;
	    overflow: hidden; */
	}body[dir="ltr"] .cart-preview .cart-item-title {
		padding: 0 26px 15px 0;
	}body[dir="rtl"] .cart-preview .cart-item-title {
		padding: 0 0 15px 26px;
	}

	.my_cart_items .cart-preview li{
		background: #f3f3f3;
		padding:10px;
	}
	.my_cart_items .cart-preview .cart-item-title{
		font-size: 16px;
	    font-weight: 700;
	}
	.my_cart_items .cart-preview .time-loc{
		font-size: 12px;
		font-weight: 400;
		margin-top: 5px;
	}
	.my_cart_items .cart-preview figure{
		width: 120px;
	}body[dir="ltr"] .my_cart_items .cart-preview figure{
		margin: 15px 10px 15px 0;
		float: left;
	}body[dir="rtl"] .my_cart_items .cart-preview figure{
		margin: 15px 0 15px 10px;
		float: right;
	}

	.my_cart_items .cart-preview dl{
		margin: 15px 0;
	    font-size: 12px;
	    overflow: hidden;
	}
	.my_cart_items .cart-preview dt{
		font-weight: 700;
		color: #000000;
		font-size: 15px;
	}

	.my_cart_items .cart-preview .seats{
		display: grid;
		grid-template-columns: repeat(auto-fit,minmax(50px,max-content));
		gap: 5px;
		flex-grow: 1;
	}
	.my_cart_items .cart-preview .seats > div {
	  
	}
	.my_cart_items .cart-preview .seats > div > span{
		margin: 0;
		display: block !important;
	}
	.my_cart_items .cart-preview .expiry{
		font-size: 11px;
	    margin: 15px 0 0;
	    border-top: 1px dashed #ccc;
	    padding-top: 15px;
	    clear: both;
	
	}
	.my_cart_items .cart-preview .expiry i{
		font-size: 1.5em;
	}
	.my_cart_items .cart-preview .remove{
		position: absolute;
		font-size: 1.8em;
	    top: 10px;
	}body[dir="ltr"] .my_cart_items .cart-preview .remove{
		right: 10px;
	}body[dir="rtl"] .my_cart_items .cart-preview .remove{
		left: 10px;
	}

	#total-price .price_big{
		font-size: 25px;
	}
	#total-price .btn{
		display: block;
		margin: 10px 0;
		width: 100%;
	}
	#checkout-terms{
		margin: 10px 0;
	}
	#checkout-terms label{
		font-size: 12px;
		font-weight: 400;
	}
.step-wrap:not(:first-child) {
    margin-top: 20px;
}

/* Newsletter */
.newsletter-update {
	display: none;
	margin: 0 0 25px 0;
    overflow: hidden;
    border: 1px solid #ccc;
    border-radius: 5px;
    padding: 20px;
    position: relative;
}
.newsletter-update .icon-email{
	display: inline-block;
	font-size: 80px;
}body[dir="ltr"] .newsletter-update .icon-email{
	margin-left: -15px;
}body[dir="rtl"] .newsletter-update .icon-email{
	margin-right: -15px;
}

.newsletter-update .n-text{
	display: inline-block;
    vertical-align: middle;
}
.newsletter-update .n-text .title{
	margin: 0;
    color: #000000;
}
.newsletter-update p{
	line-height: 1.4em;
	font-size: 13px;
}
.newsletter-update .btn{
	display: block;
    width: 100%;
	margin-top: 20px;
}
.newsletter-update .n-close{
	color: #999;
    position: absolute;
    top: 10px;
    font-size: 28px;
}body[dir="ltr"] .newsletter-update .n-close{
	right: 10px;
}body[dir="rtl"] .newsletter-update .n-close{
	left: 10px;
}


/* Cookies Consent */

.cc-window{
	background: var(--sec-color)!important;
    color: #000000!important;
    font-family: "Ubuntu", sans-serif!important;

}
.cc-window.cc-banner {
	padding: 0.8em 0.8em!important;
}
.cc-message {
	font-size: 12px;
	line-height: 16px;
}
.cc-message a {
	color: #000000;
	text-decoration: underline;
}
.cc-message a:hover {
	text-decoration: none;
}
.cc-window .btn_primary{
	background: #000000!important;
    color: #fff!important;
    padding: 0 30px;
    min-width: 0!important;
    border-radius: 5px !important;
    font-size: 11px!important;
    border: 0!important;
}
.cc-window .btn_primary:hover {
	color: #000000;
	background: #fff;
}
.cc-message .cc-link{
	display: none;
}
/* .cc-window .cc-close {
	top: 28px; right: 20px; font-size: 20px;}
 */

#event-info{
	font-size: 13px;
	line-height: 20px;
}
/* Notification */
#event-info b {
	font-weight: 700;
}
#event-info #notification, .notifnote{
	padding: 10px;
    margin-bottom: 10px;
    border-radius: 5px;
    background: var(--tre-color);
}
#event-info #notification.red{
	background: #e0173c;
	color: white;
}
#notification i{
	font-size: 26px;
	color:#fff;
}body[dir="ltr"] #notification i{
	float: left;
}body[dir="rtl"] #notification i{
	float: right;
}

#notification p{
	font-size: 12px;
    overflow: hidden;
    margin-top: 5px;
    line-height: 16px;
	color:#fff;
}

#popup #notification p {
	color:#000000;
}

.main-loader{
	font-size: 25px;
}

.notifnote .icon-alert {
    display: inline-block;
    vertical-align: middle;
    margin-bottom: 2px;
}

.notifnote span.center {
    display: inline-block;
    vertical-align: middle;
    margin-left: 3px;
}

/* ERROR PAGES */
#err-pages header{
	padding: 20px;
}
#err-pages #content{
	display: flex;
	flex-flow: column;
}
#err-pages section{
	height: 100%;
    flex: 1;
    display: flex;
    align-items: center;
}
#err-pages .flex-row{
	align-items: center;
}
#err-pages i{
	font-size: 350px;
}body[dir="ltr"] #err-pages i{
    padding-right: 30px;
    text-align: right;
}body[dir="rtl"] #err-pages i{
    padding-left: 30px;
    text-align: left;
}

#err-pages .flex-col{
	flex: 1;
}
#err-pages h1{
    font-size: 150px;
    font-weight: 400;
    color: var(--main-color);
}
#err-pages.maintenance h1 {
	font-size: 50px;
	font-weight: 700;
	margin-bottom: 20px;
}
#err-pages h2{
    font-weight: 700;
    font-size: 30px;
    text-transform: uppercase;
}
#err-pages.maintenance h2{
	text-transform: none;
}
#err-pages p{
	margin-bottom: 30px;
}

.payment-feedback .promo-item a:before  {
	box-shadow: none;
}

.payment-feedback .info-list{
	max-width: 300px;
    margin: 30px auto;
    border: 1px solid #ccc;
    border-radius: 5px;
}body[dir="ltr"] .payment-feedback .info-list{
	text-align: left;
}body[dir="rtl"] .payment-feedback .info-list{
	text-align: right;
}

body[dir="ltr"] form[name="checkout-form"] {
	text-align: left;
}body[dir="rtl"] form[name="checkout-form"] {
	text-align: right;
}

form[name="checkout-form"] .btn {
	margin: 10px 0;
}

body[dir="rtl"] .intl-tel-input {
	width: 100%;
}
body[dir="rtl"] .intl-tel-input .selected-flag{padding:0 8px 0 0;}
body[dir="rtl"] .intl-tel-input input,
body[dir="rtl"] .intl-tel-input input[type=text],
body[dir="rtl"] .intl-tel-input input[type=tel]{
	padding-left: 10px;
	padding-right: 48px;
    margin-right: 0;
}
body[dir="rtl"] .intl-tel-input .selected-flag .arrow{
	left: 4px;
	right: auto;
}

.products-addons-listing .summary {
	display: none;
    inset: 0;
    padding: 45px 32px 20px !important;
    line-height: 18pt;
    background: rgba(var(--sec-color-rgb), 0.8) !important;
    height: 100%;
    color: #FFF;
    z-index: 2;
    position: absolute;
    overflow: auto;
    width: 100%;
}

/* Ensure summary is contained within its product's image area */
.products-addons-listing .product-category-item .product-details {
    position: relative;
}
.products-addons-listing .summary::-webkit-scrollbar{
	-webkit-appearance: none;
  	width: 7px;
}
.products-addons-listing .summary::-webkit-scrollbar-thumb{
	border-radius: 4px;
  	background-color: rgba(255, 255, 255, 0.5);
  	box-shadow: 0 0 1px rgba(255, 255, 255, .5);
}

.products-addons-listing .summary-icon {
    color: white;
    background-color: rgba(var(--sec-color-rgb), 0.6);
    border-radius: 100%;
    font-size: 22px;
    cursor: pointer;
    float: right;
    margin-top: 10px;
    margin-right: 10px;
    z-index: 3;
    position: relative;
	filter: drop-shadow(0px 1px 1px rgba(0, 0, 0, 0.25));
}
body[dir="rtl"] .products-addons-listing .summary-icon{
	left: 14px;
	right: auto;
}
.products-addons-listing .summary-icon.summary_close{
	display: none;
	z-index: 3;
}

/* Badge */
.promo-badge {
    background: #c40021;
    color: #fff;
    font-size: .55rem;
    font-weight: 700;
    text-transform: uppercase;
    border: 1px solid #c40021;
    border-radius: 2px;
    padding: 1px 3px;
    cursor: pointer;
    margin-left: .4rem;
	transition:background .15s ease, color .15s ease, box-shadow .15s ease;
}
.promo-badge:hover, .event-promo-badge:hover {
  background:#fff;          /* flip to white */
  color:#c40021;            /* text turns red */
  box-shadow:0 0 0 2px rgba(196,0,33,.25);  /* subtle glow */
}

.event-promo-badge {
	background: var(--main-color);
	color: white;
	border: 1px solid var(--main-color);
	padding: 0px 3px !important;
	border-radius: 2px;
	font-size: 0.65em;
	display: inline-flex;
	align-items: center;
	white-space: nowrap;
	font-weight: 700;
	text-transform: uppercase;
	margin-bottom: 2px;
}

.price-with-promo {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}

/* CLOSED state (default) */
.promo-box{
	border: 2px solid #c40021;
	background: #fff;
	border-radius:8px;
	padding:12px;
	margin-top:1.25rem;
	margin-bottom: 1.25rem;
	position:relative;
  
	opacity:0;
	max-height:0;
	transition:max-height .3s ease, opacity .3s ease, padding 0.3s ease, margin 0.3s ease;
}
  
/* OPEN */
.promo-box.is-open{
	opacity:1;
}
  

.promo-close {
    position: absolute;
    top: 2px;
    right: 8px;
    background: none;
    border: 0;
    font-size: 1.5rem;
    color: rgba(0, 0, 0, 0.50);
    cursor: pointer;
    line-height: 1;
}

#list .event-promo-border {
    border: 1px solid var(--main-color);
    border-radius: 8px;
    padding: 12px !important;
}

.selection-controls .promo-box{
clear:both;            /* floats                */
flex:0 0 100%;         /* flexbox two-columns   */
grid-column: span 2;      /* CSS grid two-columns  */
width:100%;
}

.promo-box .form fieldset {margin-bottom: 0;}

.promo-box .form input[type="checkbox"]:checked::before, .promo-box .form input[type="radio"]:checked::before, .promo-box .categoryoptions input[type="checkbox"]:checked::before, .promo-box .categoryoptions input[type="radio"]:checked::before {
	left: 0px;
    top: 0px;
}
.promo-box .discounts .form fieldset label {
    font-size: 12px;
    font-weight: normal;
    gap: 0;
    flex-direction: column;
    align-items: baseline;
}
.special-h2 {
	border-bottom: 1px solid #000;
	color: #000;
	font-size: 1.4rem;
	font-weight: 700;
	line-height: normal;
	text-transform: uppercase;
}
/* ───────────────────────────────
Banner container
─────────────────────────────── */
.sectionBanner{
	display:flex;             
	align-items:center;
	padding:0 5%;
	gap:2rem;

	border-top:30px solid #FAFBFC;
	border-bottom:30px solid #FAFBFC;
	background:#000;

	width:100%;
	position:relative;
	margin: 20px 0;
}

/* ───────────────────────────────
	Text block
	─────────────────────────────── */
.promoText{
	flex:1;
	display:flex;
	flex-direction:column;
	justify-content:center;
	align-items:center;
	gap:8px;
	padding:32px;
	z-index:1;
}

.promoText h3{
	margin:0;
	font-size:clamp(1.2rem, 2.2vw + .5rem, 1.6rem);
	font-weight:800;
	text-transform:uppercase;
	color:#FFF;
	text-align: center;
}

.promoText p{
	font-size:clamp(.75rem, 1.4vw + .4rem, 1rem);
	margin:0;
	text-align:center;
	color:#FFF;
}

/* ───────────────────────────────
	Image strip on the right
	─────────────────────────────── */
.bannerArt {
	flex:1;
	display:flex;
	justify-content:flex-end;
	pointer-events:none;
}

.bannerArt img {
	position: absolute;
	right: 5%;
	top: 50%;
	height: 130%;
	transform: translateY(-50%);
	object-fit: cover;
	z-index: 0;
}
  

#choose-plan #plans #options #list li header .opt-price {
	flex-direction: row !important;
	/* gap: 0;
	align-items: center; */
}
#choose-plan #plans #options #list li header .opt-title .mappopup{
	display: none !important;
}
.js-canExpand.active .accordion-content .opt-note {
	display: block !important;
}

.js-canExpand.active .accordion-content .opt-note.opt-note-desktop{
	display: none !important;
}
#choose-plan #plans #options #list li header .opt-note-mobile{
	display: none;
}
#choose-plan #plans #options #list li.active header .opt-note-mobile{
	display: block;
	margin-top: 0;
}

#choose-plan #plans #options #list li header .opt-price .currency-dropdown-container{
	position: relative;
}
#choose-plan #plans #options #list li header .opt-price .currency-dropdown-container .conversion {
	vertical-align: baseline;
}
.forex-div{
	position: fixed;
	z-index: 125;
	width: max-content;
	user-select: none;
}
.forex-div .forex-ul{
	border: 1px solid #f3f3f3;
	background-color: white;
	padding: 0 10px;
	box-shadow: 1px 1px 0px 0px rgba(0, 0, 0, .05);
}
.forex-div .forex-ul .forex-li{
	border: 0;
	margin: 0;
	padding: 6px 0px;
	font-size: 12px;
	font-weight: 500;
	border-bottom: 1px solid rgba(0, 0, 0, .1);
	display: block;
	border-radius: 0;
	color: #7a7a7a;
}
.forex-div .forex-ul .forex-li:hover{
	background-color: transparent !important;
	box-shadow: none;
}
.forex-div .forex-ul .forex-li i {
	width: 20px;
	height: auto;
	margin-right: 8px;
	vertical-align: sub;
}
.forex-div .forex-ul .forex-li:last-child{
	border: 0;
}
#choose-plan #plans #options #list li header .opt-selection{
	padding-top: 0px !important;
	padding-bottom: 0px !important;
}
.js-canExpand.active > header.accordion ~ .accordion-content{
	margin-top: 10px;
}
#plans {
	z-index: 15;
	position: relative;
}
/* #choose-plan #plans #options #list li header .opt-selection >  :first-child{
	margin-top: 5px;
}
#choose-plan #plans #options #list li header .opt-selection > :last-child{
	margin-bottom: 5px;
} */

#orders tbody tr td{
	white-space: normal;
}

.form#user-register input[type="checkbox"] + label {
	font-size: 12px;
}

#tickets tbody tr td center{
	text-align: right;
}

#parts-selector {
	margin-bottom:10px;
}

#parts-selector li{
	background-color: var(--white-color);
	border: 1px solid var(--sec-color);
	color: var(--sec-color);
}

#parts-selector li.active {
	color:white;
	background-color: var(--sec-color);
}

#whatsapp-widget {
	bottom: 60px;
	right: 20px;
	opacity: 0;
	transition: opacity 0.5s;
	box-sizing: border-box;
	position: fixed !important;
	z-index: 999998 !important;
	direction: ltr;
	text-align: right;
  }

  #whatsapp-widget .whatsapp-icon  {
	flex-shrink: 0;
    opacity: 1;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    display: block;
    order: 2;
    padding: 5px;
    box-sizing: border-box;
    cursor: pointer;
    overflow: hidden;
    box-shadow: rgba(136, 136, 136, 0.4) 0px 1px 7px;
    transition: all 0.5s ease 0s;
    position: relative;
    z-index: 200;
    text-decoration: none !important;
    background-color: rgb(77, 194, 71) !important;
  }

/**ADDONS carousel**/
.product-details {height: 100%;flex: 1;position: relative;}
.products-addons-listing .product-category .product-category-items .product-category-item {
	display: flex;
	flex-direction: column;
	height: 100%;
}
.products-addons-listing .product-category .product-category-items .product-category-item .img-container {height: 100%!important;}
.products-xtra-controls {
    width: 100%;
    height: -webkit-fill-available;
    position: absolute;
    top: 0;
    left: 0;
    pointer-events: none;
}

.products-xtra-controls > * {
    pointer-events: auto;
}

.products-xtra-controls .download {
    background: rgba(var(--sec-color-rgb), 0.6) url(../i/threeDots.svg) no-repeat center center!important;/**THREE DOTS ICON**/
	/*background: rgba(var(--sec-color-rgb), 0.6) url(../i/download.svg) no-repeat center center!important;*//**down arrow ICON**/
    border-radius: 50%;
    height: 22px;
    width: 22px;
    background-size: 12px auto!important;
    float: right;
    margin-top: 10px;
    margin-right: 10px;
    border: 2px solid #FFF;
    padding: 3px;
	filter: drop-shadow(0px 1px 1px rgba(0, 0, 0, 0.25));
}

/*ADDONS carousel: slick Dots*/
.productsCarousel.slick-dotted.slick-slider {margin-bottom: 0;display: flex;flex-direction: row;height: 100%;}
.productsCarousel .slickList, .productsCarousel .slick-track {height: 100%;}
.productsCarousel .slick-dots {bottom: 7px;display: flex;align-items: center;justify-content: center;z-index: 2;}
.productsCarousel .slick-dots li {width: 12px;}
.productsCarousel .slick-dots li button:before {
	color: #FFF;
	opacity: 0.5;
	filter: drop-shadow(0px 1px 1px rgba(0, 0, 0, 0.25));
	width: 7px;
    height: 6px;
    padding: 6px;
	border-radius: 50%;
	line-height: 7px;
	font-size: 8px;
}
.productsCarousel .slick-dots li.slick-active button:before {background-color: rgba(255, 255, 255, .2);color: #FFF;opacity: 1;}
.productsCarousel .slick-dots li.slick-active button {cursor: default;}

/*ADDONS carousel: Next/Previous Buttons*/
.productsCarousel .slick-prev:before, .productsCarousel .slick-next:before, .modal-product-image .slick-next:before, .modal-product-image .slick-prev:before {font-family: none;content: " ";}
.productsCarousel .slick-next {right: 10px;z-index: 1;background: url(../i/slickNextArrow.svg) no-repeat center right!important;width: 17px;height: 27px;opacity: 0.75;}
.productsCarousel .slick-prev {left: 10px;z-index: 1;background: url(../i/slickPrevArrow.svg) no-repeat center right!important;width: 18px;height: 28px;opacity: 0.75}
.modal-product-image .slick-next {right: 10px;z-index: 1;background: none !important;width: 19px;height: 30px;opacity: 0.75;}
.modal-product-image .slick-prev {left: 10px;z-index: 1;background: none !important;width: 19px;height: 29px;opacity: 0.75; cursor: pointer;}

/* Position modal arrows correctly */
.modal-product-image .slick-next,
.modal-product-image .slick-prev {
  position: absolute !important;
  top: 45% !important;
  transform: translateY(-50%) !important;
  z-index: 2 !important;
}
.productsCarousel .slick-prev:hover,
.productsCarousel .slick-prev:focus,
.productsCarousel .slick-next:hover,
.productsCarousel .slick-next:focus,
.modal-product-image .slick-next:hover,
.modal-product-image .slick-next:focus,
.modal-product-image .slick-prev:hover,
.modal-product-image .slick-prev:focus { 
	background-image: inherit;
	background-color: none;
	opacity: 1
}

@media screen and (min-width: 480px){
	/* Tickets Listing Grid */
	#articles.isGrid {
	    display: flex;
	    flex-flow: row;
	    flex-wrap: wrap;
	}body[dir="ltr"] #articles.isGrid {
	    margin-left: -20px;
	}body[dir="rtl"] #articles.isGrid {
	    margin-right: -20px;
	}
	#articles.isGrid .cell{
		max-width: 50%;
		min-width: 50%;

	    flex: 1 1 0;
	}body[dir="ltr"] #articles.isGrid .cell{
	    padding-left: 20px;
	}body[dir="rtl"] #articles.isGrid .cell{
	    padding-right: 20px;
	}

	#articles.isGrid article{
	    height: 100%;
	}
}
@media (min-width:1200px){
	.promoText {flex: 2;}
	.bannerArt img {height: 170%;}
}


@media (max-width:990px){
	.sectionBanner{
	  padding:0 3%;           /* tighter gutters  */
	  gap:1.5rem;
	}
	.promoText{padding:24px;flex: 1}
	.bannerArt {display: flex;}
	.bannerArt img{
	  right:2%;               /* pull image in a bit */
	  height:110%;
	}
}

@media screen and (max-width: 768px) {

	#wrap #crsl .eventImageDesktop {
		display: none;
	}
	#wrap #crsl .eventImageMobile {
		display: block;
	}

	.my_cart_items #btns{
		display: none;
	}

	#promotional-banner .title{
		margin-bottom: 0;
	}
	.isBlock-mobile{
		display: block;
	}
	#wrap{
		padding-top: 116px;
	}
	#wrap > header{
		position: fixed;
	    top: 0;
	    left: 0;
	    right: 0;
	    z-index: 100;
	}
	#err-pages #wrap,
	#err-pages #logo{
		padding: 0;
	}
	#err-pages #wrap > header{
		position: relative;
	}
	#err-pages i,
	#err-pages h1{
		font-size: 100px;
	}
	#err-pages.maintenance h1 {
		font-size: 40px;
	}


	.isGrid .time-loc li{
		display: block;
	}body[dir="ltr"] .isGrid .time-loc li{
		margin-left: 0;
	}body[dir="rtl"] .isGrid .time-loc li{
		margin-right: 0;
	}

	.login-reg .flex-col + .flex-col,
	.white-box.isSplit .flex-col + .flex-col{
    	border-top: 2px solid #f2f2f2;
    	padding-top: 30px;
	}

	body[dir="ltr"] #about-festival p{
  		padding: 0px 0px 20px 0px;
	}body[dir="rtl"] #about-festival p{
  		padding: 0 0px 20px 0px;
	}
	#seatmapframe {
		border: 1px solid #d9d9d9;
	}
	.event #articles article {
	    margin-bottom: 0;
	}
	#event-info{
		margin-top: 40px;
	}
	.selection_list > div {
	    display: inline-block;
	    margin-bottom: 10px;
	}body[dir="ltr"] .selection_list > div {
		margin-right: 10px;
	}body[dir="rtl"] .selection_list > div {
		margin-left: 10px;
	}

	.opt-title, .opt-price {
	    width: 50%;
	    display: inline-block;
	    vertical-align: top;
	}
	body[dir="ltr"] .opt-price {
	    padding-left: 20px;
	    text-align: right;
	}body[dir="rtl"] .opt-price {
	    padding-right: 20px;
	    text-align: left;
	}

	.opt-col.opt-price{
		font-weight: 700;
		margin-bottom: 10px;
	}
	.opt-price a{
		display: block;
	}
	.opt-selection{
		text-align: center;
	    padding: 10px 20px;
	    border-top: 1px solid #eee;
	}
	#options li header .mini_add_to_cart{
		margin: 15px 0;
	}
	#options li.js-canExpand header .mini_add_to_cart{
		display: none;
	}
	.subCat .mini_add_to_cart{
		width: 100%;
	}
	.opt-selection-note{
		padding-bottom: 10px;
	}

	.subCat{
		padding: 0;
	}
	.subCat section{
		padding: 10px 25px;
	}


	.cat-options .flex-col + .flex-col{
		margin-top: 20px;
	}

	.selection_list{
		white-space: nowrap;
	    text-overflow: ellipsis;
	    overflow: hidden;
	}
	.selection_list > div{
		display: inline;
	}
	#your_selection .btn{
		margin-top: 10px;
	}
	.sold-out{
		padding: 10px;
		border-radius: 0 0 0 5px;
		top: 0;
		background: #fff;
	}body[dir="ltr"] .sold-out{
		right: 0;
	}body[dir="rtl"] .sold-out{
		left: 0;
	}

	#options li + li{
		margin-top: 10px;
	}

	.my_cart_items .cart-preview li{
		padding: 15px;
	}

	.chk label.error {
		margin: 30px 30px;
	}

	#more-menu > a{
		display: none;
	}
	#more-menu .sub{
		display: block;
		background: none;
		position: relative;
		box-shadow: none;
		border-radius: 0;
		padding: 0;
	}
	#more-menu .sub::before{
		display: none;
	}
	#more-menu .sub a {
		display: block;
		padding: 20px;
		text-align: center;
		font-weight: 700;
		font-size: 14px;
		color: #fff;
		text-transform: uppercase;
	}

	#nav #more-menu .sub a{
		color: #fff;
	}

	#more-menu .sub li:not(:last-child) a {
		border-bottom: 1px solid rgba(225,225,225,.1);
	}

	.sectionBanner{
		gap:1rem;
	  }
	  .promoText{                /* let text take more room */
		padding:20px 16px;
	  }
	  .bannerArt{
		display: none;
	  }
	  .bannerArt img{
		height:140%;
	  }
}

@media screen and (max-width: 480px) {
	
	.opt-selection	.btn{
		width: 100%;
	}

	.sectionBanner{
		flex-direction:column;
		padding:0;              /* flush to edges */
		border-top-width:20px;
		border-bottom-width:20px;
		overflow:hidden;        /* hide any side overspill in stacked mode */
	  }
	
	  .promoText{
		flex:none;
		padding:24px 16px;
		order:2;                /* text below image for a nicer reveal */
	  }
	  
	.products-addons-listing .product-category-item-title-text {
		font-size: 12px !important;
  		font-weight: 700;
	}

	.products-addons-listing .discounted-price,
	.products-addons-listing .original-price {
		font-size: 10px !important;
  		font-weight: 700;
	}

	.products-addons-listing .option-price span {
		font-size: 10px !important;
  		font-weight: 700;
	}

	.products-addons-listing .addon-button {
		font-size: 13px !important;
  		font-weight: 700;
	}

	.products-addons-listing .icon-minus,
	.products-addons-listing .icon-plus {
		font-size: 24px !important;
	}

	.product-categories .promo-box {
		margin-top: 10px !important;
		margin-bottom: 7px !important;
	}
}

.product-categories .promo-box {
	margin-top: 17px !important;
	margin-bottom: 17px !important;
}

@media screen and (min-width: 770px) and (max-width: 1022px) {
	.opt-title{
		justify-content: unset !important;
    	gap: 60% !important;
	}
}

@media screen and (min-width: 769px) {
	.discounts fieldset > label input.input-txt{
		display: inline-block;		
	}body[dir="ltr"] .discounts fieldset > label input.input-txt{
		margin: -10px 0 0 10px;
	}body[dir="rtl"] .discounts fieldset > label input.input-txt{
		margin: -10px 10px 0 0;
	}


	.event-info{
		padding: 10px;
	}
	#placemap .mappreview{
		text-align: left;
	}
	body[dir="rtl"] #placemap .mappreview {
		text-align: right;
	}
	
	.form .halfCol-wrap{
		margin: 0 -10px;
		font-size: 0;
	}
	.form fieldset.halfCol {
	    width: 50%;
	    padding: 0 10px;
	    display: inline-block;
	    vertical-align: top;
	}
	.user-name-fields{
		font-size: 0;
	}
	.user-name-fields > fieldset{
		display: inline-block;
	    width: 80px;
	    vertical-align: top;
	}body[dir="ltr"] .user-name-fields > fieldset{
		margin-right: 20px;
	}body[dir="rtl"] .user-name-fields > fieldset{
		margin-left: 20px;
	}

	.user-name-fields .halfCol-wrap{
		display: inline-block;
	    width: calc(100% - 80px);
	    vertical-align: top;
	}
	#banner + #content {
		padding-top: 0px;
	}

	body[dir="ltr"] .newsletter-update{
		padding: 10px 20px 10px 0;
	}body[dir="rtl"] .newsletter-update{
		padding: 10px 0 10px 20px;
	}

	.newsletter-update .icon-email{
		font-size: 130px;
	}body[dir="ltr"] .newsletter-update .icon-email{
		margin-left: 0;
	}body[dir="rtl"] .newsletter-update .icon-email{
		margin-right: 0;
	}

	.newsletter-update .btn{
		max-width: 150px;
	    margin-top: 10px;
	}

	.loadmore{
		display: block;
		width: auto;
		margin: 30px auto;
		flex-basis: 30%;
	}
	#promotional-banner select{
		display: none;
	}
	#promotional-banner .select-wrap{
		display: none;
	}

	.promo-info{
		height: 170px;
		padding: 20px;
	}

	.e-info .btn {
		position: absolute;
		margin-top: 0;
		bottom: 50%;
	    -webkit-transform: translateY(50%);
	    -ms-transform: translateY(50%);
	    -o-transform: translateY(50%);
	    transform: translateY(50%);
	}body[dir="ltr"] .e-info .btn {
		right: 30px;
	}body[dir="rtl"] .e-info .btn {
		left: 30px;
	}

	.day-row .date-box{
		padding: 10px 25px;
	    width: fit-content;
	}
	.date-box .day-txt {
	    font-size: 17px;
	}
	.date-box .month-txt{
		font-size: 14px;
	}
	.time-box li > a {
	    padding: 20px 25px;
	    font-size: 17px;
	}

	.white_box{
	    padding: 30px;
	}
	.my_cart_total .white_box {
	    padding: 0 20px;
	}
	.flex-row {
	    display: flex;
	    flex-flow: row;
	}body[dir="ltr"] .flex-row {
		margin-left: -30px;
	}body[dir="rtl"] .flex-row {
		margin-right: -30px;
	}

	.flex-col {
	    margin: 0;
	}body[dir="ltr"] .flex-col {
	    padding-left: 30px;
	}body[dir="rtl"] .flex-col {
	    padding-right: 30px;
	}

	.login-reg article,
	.white-box.isSplit article{
		max-width: 500px;
	}
	.login-reg .flex-col + .flex-col:before,
	.white-box.isSplit .flex-col + .flex-col:before{
	    content: "";
	    position: absolute;
	    top: 0;
	    left: 50%;
	    background: #f2f2f2;
	    width: 4px;
	    height: 100%;
	    margin-left: -2px;
	}


	.header-stick #wrap{
		padding-top: 120px;
	}
	.header-stick #wrap > header{
		position: fixed;
		top: 0;
		left: 0;
		right: 0;
		z-index: 110;
	}
	header .wrap{
		padding-right: 20px;
    	padding-left: 20px;
	}
	#wrap.isCentered > #content,
	#wrap.isCentered > header .wrap,
	#wrap.isCentered > footer .wrap,
	.highlight.isCentered{
		padding-right: 40px;
		padding-left: 40px;
	}
	#wrap.isCentered > header .wrap.wrap-nav nav{
		padding: 0 40px;
	}
	.highlight.isCentered {
		margin-top: 40px;
	}
	.mobile-hide{
		display: initial!important;
	}
	.cart-checkout{
		padding-top: 40px;
	}
	/* #options ul {
		overflow: hidden;
	} */
	.filters > a{
		display: inline-block;
	}
	.filter{
		-webkit-transition: all 0.3s ease-in-out;
		-o-transition: all 0.3s ease-in-out;
		transition: all 0.3s ease-in-out;
	}
	.filter:not(.on):hover {
	    box-shadow: 0 5px 30px rgba(0,0,0,.1);
	    background: #fff;
	}
	
	body {
		font-size: 100%;
		margin: 0;
	}
	h1 {
		font-size: 2em;
	}

	/* HEADER */
	#wrap > header {
		position: relative;
	}

	#logo {
		width: auto;
		display: inline-block;
		vertical-align: middle;
		height: auto;
		margin:0;
	}
	body[dir="ltr"] #logo,
	body[dir="rtl"] #logo{
		padding: 0;
	}

	#logo img{
	height: auto;
	display: block;
	margin: 0;
	max-height: 50px;
	max-width: 200px;
	order: 2;
	align-content: center;
	}

	#search{
		display: inline-block;
	    vertical-align: middle;
	    height: 75px;
	    padding: 20px;
	    font-size: 14px;
	    position: relative;
	    background: none;
	    border-top: none;
	}
	#search i{
	    top: 20px;
	    width: 35px;
	}
	#search input[type="text"]{
	    height: 35px;
	    border: none;
	    border-radius: 5px;
	    width: 250px;
	    background: #fff;
	}body[dir="ltr"] #search input[type="text"]{
		padding-left: 35px;
	}body[dir="rtl"] #search input[type="text"]{
		padding-right: 35px;
	}


	/* MAIN NAV */
	#nav {
		clear: both;
		font-size: 80%;
		overflow: visible;

		white-space: nowrap;
		display: flex;
	}
	.wrap-nav {
	    border-top: 1px solid rgba(0,0,0,.1);
	}
	header:not(.isWhite) .wrap-nav {
	    background: rgba(0,0,0,.1);
	}
	#nav a {
		color: #fff;
		font-size: 14px;
		font-weight: 700;
		line-height: 45px;
		display: inline-block;
		vertical-align: middle;
		position: relative;
	}
	header.isWhite #nav a{
		color: #444;
		font-size: 13px;
    	font-weight: 700;
	}
	body[dir="ltr"] #nav a + a{
		margin-left: 50px;
	}body[dir="rtl"] #nav a + a{
		margin-right: 50px;
	}

	#nav a.is-active:after,
	#nav a:hover:after {
	    content: "";
	    height: 3px;
	    width: 100%;
	    position: absolute;
	    bottom: 0;
	    left: 0;
	    right: 0;
	    background: var(--sec-color);
	}
	#nav a.is-active{
		color: var(--sec-color);
	}

	#nav #more-menu{
		margin-left: 50px;
		position: relative;
	}
	#nav #more-menu::after{
		position: absolute;
		content: '';
		right: -50%;
		border-top: 6px solid #fff;
		border-left: 6px solid transparent;
		border-right: 6px solid transparent;
		top: 45%;
	}
	#nav #more-menu .sub{
		background-color: var(--main-color);
		left: 100%;
		border-top-left-radius: 0;
		border-top-right-radius: 0;
	}

	#nav #more-menu .sub::before{
		display: none;
	}

	/* Secondary nav */
	#sec-nav{
		position: relative;
	}body[dir="ltr"] #sec-nav{
		float: right;
		right: auto;
	}body[dir="rtl"] #sec-nav{
		float: left;
		left: auto;
	}

	#sec-nav > div{
    	height: 74px;
	}body[dir="ltr"] #sec-nav > div{
		margin-left: 20px;
	}body[dir="rtl"] #sec-nav > div{
		margin-right: 20px;
	}

	#sec-nav > div{
		line-height: 74px;
	}

	#sec-nav i {
	    font-size: 22px;
	    vertical-align: middle;
	    position: relative;
	}
	#sec-nav i.icon-arrow_down{
		font-size: 0.8em;
    	vertical-align: middle;
		padding-left: 3px;
	}
	
	
	#user.not-signedin li>a,
	#nav #user a {
		text-transform: uppercase;
		font-size: 0.750em;
		color: #7a7a7a;
		padding: 0 10px;
	}
	body[dir="ltr"] #sec-nav nav div>a,
	body[dir="ltr"] #user.not-signedin li>a,
	body[dir="ltr"] #nav #user a {
		border-left: 1px dotted #8c8c8c;
	}
	body[dir="rtl"] #sec-nav nav div>a,
	body[dir="rtl"] #user.not-signedin li>a,
	body[dir="rtl"] #nav #user a {
		border-right: 1px dotted #8c8c8c;
	}

	.no-touch #user.not-signedin li > a:hover{
		color: #000000;
	}
	.no-touch #user.not-signedin li.hassub:hover > a, 
	.no-touch #user.not-signedin li.hassub > a:hover{
		color: #D2D2D2;
	}
	#sec-nav nav div.signedin>a,
	#nav #user.signedin>a {
		color: #e0173c;
	}
	body[dir="ltr"] #sec-nav nav div.signedin>a,
	body[dir="ltr"] #nav #user.signedin>a {
		border-left: 0;
		padding: 0 10px 0 3px;
	}
	body[dir="rtl"] #sec-nav nav div.signedin>a,
	body[dir="rtl"] #nav #user.signedin>a {
		border-right: 0;
		padding: 0 3px 0 10px;
	}

	#sec-nav nav div.signedin a i,
	#nav #user.signedin a i {
		color: #afafaf;
		font-size: 1.3em;
	}body[dir="ltr"] #sec-nav nav div.signedin a i,
	body[dir="ltr"] #nav #user.signedin a i {
		margin-left: 5px;
	}body[dir="rtl"] #sec-nav nav div.signedin a i,
	body[dir="rtl"] #nav #user.signedin a i {
		margin-right: 5px;
	}

	#user.signedin span {
		font-size: 16px;
	}body[dir="ltr"] #user.signedin span{
		padding-left: 10px;
	}body[dir="rtl"] #user.signedin span{
		padding-right: 10px;
	}

	body[dir="ltr"] #sec-nav nav div>a {
		border-left: 1px dotted #8c8c8c;
	}body[dir="rtl"] #sec-nav nav div>a {
		border-right: 1px dotted #8c8c8c;
	}
	
	.no-touch #sec-nav nav div > a:hover{
		color: #000000;
	}
	#sec-nav nav div#cart .expiry {
		display: inline;
	}
	#sec-nav nav div#cart i.icon-shopping-cart {
		color: #e0173c;
		font-size: 1.4em;
	}body[dir="ltr"] #sec-nav nav div#cart i.icon-shopping-cart {
		margin-left: 5px;
	}body[dir="rtl"] #sec-nav nav div#cart i.icon-shopping-cart {
		margin-right: 5px;
	}
	
	header.isWhite #sec-nav .expiry{
		background: var(--tre-color);
		color: #fff;
	}
	.cart-item-types {
		font-size: 11px;
	}

	
	header .sub{
		top: auto;
		line-height: normal;
		white-space: nowrap;
	}

	
	aside .cart-preview{
		max-height: 500px;
		overflow-y: auto;
		overflow-x: hidden;
	}
	.sub.cart-preview {
		padding: 10px 16px;
		right: 0;
		left: auto;
		transform: translateX(0);
	}
	body[dir="rtl"] .sub.cart-preview {
		right: auto;
		left: 0;
	}
	  
	.sub.cart-preview li{
		background: #eee;
	}
	body[dir="ltr"] .cart-preview .cart-item-title {
	    padding: 8px 26px 8px 6px;
	}body[dir="rtl"] .cart-preview .cart-item-title {
	    padding: 8px 6px 8px 26px;
	}

	.cart-preview figure{
		width: 90px;
	    margin: 7px;
	}body[dir="ltr"] .cart-preview figure{
		float: left;
	}body[dir="rtl"] .cart-preview figure{
		float: right;
	}

	.cart-preview dl {
		margin: 7px;
	    color: #000000;
	    font-size: 12px;
	}body[dir="ltr"] .cart-preview dl {
		float: left;
	}body[dir="rtl"] .cart-preview dl {
		float: right;
	}
	.cart-preview dt {
	    color: var(--main-color);
	    font-weight: 700;
	}
	.cart-preview .remove {
		position: absolute;
	    top: 3px;
	    font-size: 1.2em;
	}body[dir="ltr"] .cart-preview .remove {
	    right: 4px;
	}body[dir="rtl"] .cart-preview .remove {
	    left: 4px;
	}

	body[dir="ltr"] .cart-preview .cart-item-title .isBlock-mobile{
		margin-left: 10px;
	}body[dir="rtl"] .cart-preview .cart-item-title .isBlock-mobile{
		margin-right: 10px;
	}

	.cart-preview .total-price {
	    text-align: center;
	    background: none;
	    height: auto;
	    float: none;
	    padding: 0;
	    margin-top: 10px;
	}body[dir="ltr"] .cart-preview .total-price {
		border-left: none;
		text-align: left;
	}body[dir="rtl"] .cart-preview .total-price {
		border-right: none;
		text-align: right;
	}

	body[dir="ltr"] .cart-preview .total-price strong{
		float: right;
	}body[dir="rtl"] .cart-preview .total-price strong{
		float: left;
	}

	.cart-preview .total-price a {
		display: inline-block;
		margin: 0 5px;
    	width: calc(50% - 10px);
	}
	.cart-preview .total-price .btns {
		display: block;
		margin: 10px -5px 0;
		text-align: center;
	}
	aside .cart-preview .total-price a.btn_secondary{
		color: #fff;
		border-color: #fff;
	}

	.mini-cart .expiry{
		text-align: center;
	    font-size: 12px;
	    padding-top: 15px;
	}
	.mini-cart .expiry i{
		font-size: 20px;
	}
	
	header .cart-preview:not(.empty){
		width: 350px;
	}
	.no-touch header #cart:hover .cart-preview{
		display: block;
	}


	/* sec nav sub menus*/
	
	#sign-in.sub {
		width: 230px;
	}
	body[dir="ltr"] #sign-in.sub{
		right: auto;
		left: 0;
	}body[dir="rtl"] #sign-in.sub{
		left: auto;
		right: 0;
	}
	
	.no-touch #sec-nav nav div.signedin.hassub a:hover{
		color: #fff;
	}
	#user {
		background: none;
		height: auto;
	}body[dir="ltr"] #user {
		padding-left: 0
	}body[dir="rtl"] #user {
		padding-right: 0
	}

	#nav #user a {
		line-height: normal;
	}
	body[dir="ltr"] #nav #user li:first-child a {
		border-right: none;
	}body[dir="rtl"] #nav #user li:first-child a {
		border-left: none;
	}

	#nav #user a {
		padding: 0;
	}
	body[dir="ltr"] #user.not-signedin li {
		margin-right: 0;
	}body[dir="rtl"] #user.not-signedin li {
		margin-left: 0;
	}

	body[dir="ltr"] .e-title .location i {
		margin-right: 6px;
	}body[dir="rtl"] .e-title .location i {
		margin-left: 6px;
		display: inline-block;
	}

	#articles article{
		margin-bottom: 40px;
	}
	/* Tickets Listing Rows */
	body[dir="ltr"] #articles:not(.isGrid) article a {
		padding: 20px 30px 20px 135px;
	}body[dir="rtl"] #articles:not(.isGrid) article a {
		padding: 20px 135px 20px 30px;
	}

	#articles article:not(.isSoldout):hover{
		box-shadow: 0 30px 60px rgba(0,0,0,.1);
	}
	#articles article figure{
		width: 220px;
		margin-bottom: 0px;
	}body[dir="ltr"] #articles article figure{
		float: left;
	    margin-right: 20px;
	}body[dir="rtl"] #articles article figure{
		float: right;
	    margin-left: 20px;
	}

	#articles article .ticket{
		/* overflow: hidden; */
	}
	#articles .e-date {
	    width: 104px;
	    top: 35px;
	    height: calc(100% - 70px);
	}
	#articles article .btn{
		width: auto;
		margin-top: 0;
		position: absolute;
    	bottom: 30px;
	}body[dir="ltr"] #articles article .btn{
		right: 20px;
	}body[dir="rtl"] #articles article .btn{
		left: 20px;
	}

	#articles article .btn,
	.e-info .btn{
	    height: 0;
	    overflow: hidden;
	    opacity: 0;

	    -webkit-transition: all 0.3s ease-in-out;
	    -o-transition: all 0.3s ease-in-out;
	    transition: all 0.3s ease-in-out;
	}
	
	#articles:not(.isGrid) article:hover .btn{
		height: 37px;
	}
	#crsl div:hover .e-info .btn{
		height: 51px;
	}
	#articles:not(.isGrid) article:hover .btn,
	#crsl div:hover .e-info .btn{
	    opacity: 1;
	}

	#articles.isGrid .cell{
		max-width: 33.33%;
		min-width: 33.33%;
	}
	.hasSidebar #articles.isGrid .cell{
		max-width: 50%;
		min-width: 50%;
	}

	/* Ticket */
	.ticket h2 {
		font-size: 24px;
	}

	#articles.isGrid .ticket h2{
		font-size: 17px;
	}
	.time-loc li,
	#articles:not(.isGrid) .time-loc li:first-child {
		display: block;
	}
	#articles:not(.isGrid) .time-loc li{
		display: inline-block;
	}

	body[dir="ltr"] #articles:not(.isGrid) .time-loc li.location {
		margin-left: 10px;
	}body[dir="rtl"] #articles:not(.isGrid) .time-loc li.location {
		margin-right: 10px;
	}

	.time-loc .min-price {
		font-size: 12px;
	}

	.time-loc .min-price.has-discount .promo-icon {
		display: inline-block;
		transform: rotate(-45deg);
		color: #e74c3c;
		margin-right: 4px;
		vertical-align: top;
	}

	.time-loc .min-price.has-discount .discounted-price {
		font-weight: bold;
		color: #e74c3c;
	}

	.time-loc .min-price.has-discount .original-price {
		text-decoration: line-through;
		opacity: 0.6;
		font-size: 0.9em;
		margin-left: 4px;
	}

	.time-loc .category{
		margin-bottom: 0;
	}

	.min-price.category{
		left: unset !important;
		right: 14px;
		color: var(--main-color) !important;
		border: 0.5px solid var(--main-color) !important;
        background-color: transparent !important;
	}

	.desc {
	    margin-top: 3px;
	    height: 40px;
	    overflow: hidden;
	}body[dir="ltr"] .desc {
		padding-right: 119px;
	}body[dir="rtl"] .desc {
		padding-left: 119px;
	}

	/* Tickets Listing Grid */
	body[dir="ltr"] #articles.isGrid {
	    margin-left: -30px;
	}body[dir="rtl"] #articles.isGrid {
	    margin-right: -30px;
	}
	body[dir="ltr"] #articles.isGrid .cell{
	    padding-left: 30px;
	}body[dir="rtl"] #articles.isGrid .cell{
	    padding-right: 30px;
	}
	
	.isGrid .time-loc{
		white-space: nowrap;
		text-overflow: ellipsis;
		overflow: hidden;
	}
	body[dir="ltr"] #articles:not(.isGrid) .time-loc .location{
		margin-left: 5px;
	}body[dir="rtl"] #articles:not(.isGrid) .time-loc .location{
		margin-right: 5px;
	}
	
  	body[dir="ltr"] #about-festival p{
		padding: 0px 0px 20px 0px;
  	}body[dir="rtl"] #about-festival p{
		padding: 0px 0px 20px 0px;
  	}
	

	#poster {
		display: block;
		max-width: 150px;
	    width: 40%;
	}body[dir="ltr"] #poster {
		float: left;
	    margin: 0 20px 20px 0;
	}body[dir="rtl"] #poster {
		float: right;
	    margin: 0 0 20px 20px;
	}

	#edit-pos label {
		display: inline;
	}
	body[dir="ltr"] #edit-pos fieldset {
		border-right: 1px solid #797979;
		border-left: 1px solid #3d3d3d;
	}body[dir="rtl"] #edit-pos fieldset {
		border-left: 1px solid #797979;
		border-right: 1px solid #3d3d3d;
	}

	body[dir="ltr"] #edit-pos fieldset:first-child {
		border-left: none;
	}body[dir="rtl"] #edit-pos fieldset:first-child {
		border-right: none;
	}

	body[dir="ltr"] #edit-pos .btns {
		border-left: 1px solid #3d3d3d;
	}body[dir="rtl"] #edit-pos .btns {
		border-right: 1px solid #3d3d3d;
	}

	body[dir="ltr"] #edit-pos fieldset,
	body[dir="ltr"] #edit-pos .btns {
		float: left;
	}body[dir="rtl"] #edit-pos fieldset,
	body[dir="rtl"] #edit-pos .btns {
		float: right;
	}

	.nb-tickets .button {
		width: 31px;
		height: 31px;
	}
	
	#maintenance #banner {
		background: #fff;
		padding-top: 40px;
	}
	
	body[dir="ltr"] #insurance-img{
		float: left;
	}body[dir="rtl"] #insurance-img{
		float: left;
	}
	
	body[dir="ltr"] #allianz{
		float: right;
	}body[dir="rtl"] #allianz{
		float: left;
	}

	.festival-list{
		margin: 0 -10px 20px;
	}
	.festival-list a{
		display: inline-block;
	    width: 25%;
	    vertical-align: top;
	    font-size: 16px;
	    padding: 10px;
  	}
	.festival-list a > div{
		height: 70px;
		position: relative;

		-webkit-transition: background .2s ease;
		-moz-transition: background .2s ease;
		-ms-transition: background .2s ease;
		-o-transition: background .2s ease;
		transition: background .2s ease;
	}body[dir="ltr"] .festival-list a > div{
		padding: 0 0 0 20px;
	}body[dir="rtl"] .festival-list a > div{
		padding: 0 20px 0 0;
	}

	.festival-list .cat-title{
	    line-height: 70px;
	    white-space: nowrap;
	    overflow: hidden;
	    text-overflow: ellipsis;
	}
	.festival-list .date.isMultiple .angle-right{
	    width: 10px;
	    height: 10px;
	    margin: 10px;
	}
	.festival-list a > div .date {
	    position: absolute;
	    top: 0;
	    height: 90px;
	    background: rgba(0,0,0,.1);
	    padding: 17px 20px;
	    font-size: 16px;
	}body[dir="ltr"] .festival-list a > div .date {
		right: 0;
		border-left: 1px solid rgba(0,0,0,.1);
		text-align: right;
	}body[dir="rtl"] .festival-list a > div .date {
		left: 0;
		border-right: 1px solid rgba(0,0,0,.1);
		text-align: left;
	}

	.festival-list .date.isMultiple {
	    padding: 10px 20px;
	}
	.festival-list time {
	    display: inline-block;
	    vertical-align: top;
	}
	.festival-list time .day {
	    display: block;
	    font-size: 32px;
	}
	.festival-list .date.isMultiple .month {
	    display: block;
	}
	
	#wrap #crsl .eventImageDesktop {
		display: block;
	}
	#wrap #crsl .eventImageMobile {
		display: none;
	}
	
	/* FOOTER */
	footer .wrap{
		overflow: hidden;
		padding-top: 40px;

		display: flex;
	    flex-flow: row wrap;
	}
	.footer-right img{
		max-width: 100px;
	}
	#sitemap{
		display: flex;
	    flex-direction: row;
	    flex: 1 auto;
	}
	.footer-right{
	    flex: 0 auto;
	    display: flex;
	    flex-direction: column;
	    justify-content: space-between;
	}body[dir="ltr"] .footer-right{
		text-align: right;
	}body[dir="rtl"] .footer-right{
		text-align: left;
	}
	
	body[dir="ltr"] #sitemap dl + dl{
		margin-left: 60px;
	}body[dir="rtl"] #sitemap dl + dl{
		margin-right: 60px;
	}

	body[dir="ltr"] #sitemap dd + dd {
		margin-left: 0;
	}body[dir="rtl"] #sitemap dd + dd {
		margin-right: 0;
	}

  	#sitemap dt, #sitemap dd, #sitemap dl#ev-type, #sitemap dl#corp dt{
		display: block;
	}
	#social i {
	    font-size: 1.2em;
	}
	#social span {
	    display: inline-block;
	}
	
	#social dt{
		display: block;
	}
	.hotline{
		margin-top: 0
	}
	.hotline > div{
		display: block;
	}body[dir="ltr"] .hotline > div{
		margin-right: 0px;
	}body[dir="rtl"] .hotline > div{
		margin-left: 0px;
	}

	.hotline-title{
		font-size: 17px;
	}
	.hotline-nb {
	    font-size: 23px;
	}
	.hotline-time {
	    font-size: 13px;
	}
	
	body[dir="ltr"] #tixity {
		text-align: right;
	}
	body[dir="rtl"] #tixity {
		text-align: left;
	}

	#copy {
		flex: 1 100%;
	}body[dir="ltr"] #copy {
		text-align: right;
	}body[dir="rtl"] #copy {
		text-align: left;
	}

	#copy img {
		display: block;
	}body[dir="ltr"] #copy img {
		float: right;
		margin-left: 10px;
	}body[dir="rtl"] #copy img {
		float: left;
		margin-right: 10px;
	}


	/* EVENT PAGE OPTIONS */
	#options li.active {
	    border: 1px solid rgba(0,0,0,.2);
	}body[dir="ltr"] #options li.active {
		border-left-width: 4px;
	}body[dir="rtl"] #options li.active {
		border-right-width: 4px;
	}

#options li header,
#options li header > div:first-child{
	display: flex;
    flex-flow: row;
    flex-wrap: wrap;
    padding: 0;
}
body[dir="ltr"] #options li header > div:first-child,
body[dir="ltr"] #options li.js-canExpand header > div:first-child{
	padding: 30px 200px 30px 50px;
}body[dir="rtl"] #options li header > div:first-child,
body[dir="rtl"] #options li.js-canExpand header > div:first-child{
	padding: 30px 50px 30px 200px;
}

#options li:hover {
    box-shadow: 0 10px 50px rgba(0,0,0,.1);
    z-index: 2;
    border-color: transparent;
}
body[dir="ltr"] #options li.js-canExpand header:before {
	left: 18px;
	top: 50%;
	transform: translateY(-50%);
}body[dir="rtl"] #options li.js-canExpand header:before {
	right: 18px;
	top: 50%;
	transform: translateY(-50%) rotate(180deg);
}

/* Improved centering for accordion arrow when there's a discount/price-line */
body[dir="ltr"] #options li.js-canExpand header:has(.price-with-discount):before {
	top: 60%;
}body[dir="rtl"] #options li.js-canExpand header:has(.price-with-discount):before {
	top: 60%;
}

/* Active state rotation for items with price-with-discount */
body[dir="ltr"] #options li.js-canExpand.active header:has(.price-with-discount):before {
	transform: translateY(-50%) rotate(90deg);
}body[dir="rtl"] #options li.js-canExpand.active header:has(.price-with-discount):before {
	transform: translateY(-50%) rotate(270deg);
}

.opt-title{
	flex: 1;
}
.opt-price{
	flex: 2;
	font-weight: 700;
	margin: 0;
	line-height: 29px;
}
.opt-note{	
	/* flex: 1 100%; */
	margin-bottom: -15px;
}body[dir="ltr"] .opt-note{	
	padding-right: 40%;
}body[dir="rtl"] .opt-note{	
	padding-left: 40%;
}

.opt-selection {
    position: absolute;
    top: 22px;
    padding: 0 30px;
}body[dir="ltr"] .opt-selection {
    text-align: right;
    right: 0;
}body[dir="rtl"] .opt-selection {
    text-align: left;
    left: 0;
}

.opt-selection .inc,
.opt-selection .dec{
	font-size: 28px;
}
.subCat section {
    padding: 25px;
}
#your_selection .title{
	display: block;
	margin: 0;
}
#your_selection{
    display: flex;
    flex-flow: row;
    padding: 10px 50px;
    align-items: center;
}
.selection_list{
	flex: 1;
}
#your_selection .btn{
	width: auto;
	padding: 0 40px;
}

	/* CART PAGE */
	.cart_wrap{
		display: flex;
		align-items: start;
	}
	.my_cart_items{
		flex: 2;
	}
		
		.my_cart_items .cart-preview .cart-item-title{
			padding: 15px 20px;
		}
		.my_cart_items .cart-preview figure{
			width: 150px;
			margin: 20px;
		}
		.my_cart_items .cart-preview dl{
			font-size: 13px;
		}
		.my_cart_items .cart-preview dt{
			font-size: 18px;
		}

		.cart-preview .icon-bin, .cart-preview .time-loc i:not(:first-child){
			font-size: 18px!important;
			padding: 0 0 0 5px;
		}

		
		.my_cart_items .cart-preview .expiry{
			font-size: 11px;
		    background: #000000;
		    color: #fff;
		    padding: 3px 10px;
		    border-radius: 5px;
		    margin: 15px;
		    text-align: center;
			border-top: none;
		}body[dir="ltr"] .my_cart_items .cart-preview .expiry{
			float: right;
		}body[dir="rtl"] .my_cart_items .cart-preview .expiry{
			float: left;
		}

		.my_cart_items .cart-preview .remove{
		    top: 15px;
		}body[dir="ltr"] .my_cart_items .cart-preview .remove{
			right: 15px;
		}body[dir="rtl"] .my_cart_items .cart-preview .remove{
			left: 15px;
		}

	.my_cart_total{
		width: 300px;
    	margin-bottom: 20px;
	}body[dir="ltr"] .my_cart_total{
		margin-left: 30px;
	}body[dir="rtl"] .my_cart_total{
		margin-right: 30px;
	}
		#total-price .price_big{
			font-size: 25px;
		}
		#total-price .btn{
			display: block;
			margin: 10px 0;
			width: 100%;
		}
	
		#total-price .btn_primary{
			color: #fff;
		}
		
	
}

	@media screen and (max-width: 767px){
		.promo-item {
			width: 90%;
		}
	}

	@media screen and (min-width: 768px) and (max-width: 1023px){
		.promo-item {
			width: 50%;
		}
	}

  @media screen and (min-width: 1024px){

  	.login-reg,
  	.white-box.isSplit{
  		padding-top: 60px;
  	}
  	.login-reg article,
  	.white-box.isSplit article{
	    padding: 0 60px 30px;
	}
  

  	.promo-item{
		width: 20%;
		padding: 0 10px;
		/* max-width: 250px; */
	}
  	
  	/*header */
	#nav {
		overflow: visible;
	}
	
	#nav #search input[type="text"] {
		font-size: 1.125em;
		width: 180px;
	}
	#country {
		line-height: 35px;
	}
	#country span {
		display: inline;
	}
	#user.signedin {
/*		border-left: 1px dotted #8c8c8c;
		padding-left: 10px;*/
	}
	#sec-nav nav div#cart .cart-item-types {
		display: inline;
	}

	#content.hasSidebar	#main {
		width: 100%;
	}body[dir="ltr"] #content.hasSidebar	#main {
		float: left;
		margin-right: -342px;
	}body[dir="rtl"] #content.hasSidebar	#main {
		float: right;
		margin-left: -342px;
	}

	#content.hasSidebar	aside {
		display: block;
		width: 342px;
	}body[dir="ltr"] #content.hasSidebar aside {
		float: right;
	}body[dir="rtl"] #content.hasSidebar aside {
		float: left;
	}

	aside > *{
		margin-bottom: 35px;
	}

	body[dir="ltr"] #content.hasSidebar	#main .fluid {
		margin-right: 342px;
	}body[dir="rtl"] #content.hasSidebar	#main .fluid {
		margin-left: 342px;
	}

	.leaderboard img {
		width: 80%;
	}


	/* Banner title */
	.e-title {
		padding: 20px 30px;
	}
	#banner .e-title {
	    bottom: 80px;
	    padding: 0 20px;
	}body[dir="ltr"] #banner .e-title {
		left: 80px;
	}body[dir="rtl"] #banner .e-title {
		right: 80px;
	}

	.e-date{
		text-align: center;
	}body[dir="ltr"] .e-date{
		padding-right: 20px;
	}body[dir="rtl"] .e-date{
		padding-left: 20px;
	}

	body[dir="ltr"] .e-info{
		padding-left: 25px;
	}body[dir="rtl"] .e-info{
		padding-right: 25px;
	}

	.e-title h1{
		font-size: 38px;
		height: auto;
    	text-overflow: initial;
    	-webkit-line-clamp: unset;
	}
	.e-date .starting{
		font-size: 11px;
	}
	.e-date .e-day {
		font-size: 22px;
	}
	.e-date .e-month {
		font-size: 20px;
		margin-top: -6px;
	}
	.e-date .e-year {
		font-size: 18px;
		margin-top: -2px;
	}

	
	
	.voucher .e-title > div{
		min-height: 0;
	}body[dir="ltr"] .voucher .e-title > div{
		border-left: none;
	}body[dir="rtl"] .voucher .e-title > div{
		border-right: none;
	}

	/* EVENT PAGE */
	#event-desc{
		display: flex;
    	flex-flow: row;
	}
	#event-details{
		max-width: 80%;
		flex: 1;
	}
	#event-info{
		flex: 2;
		width: 100%;
	}body[dir="ltr"] #event-info{
		padding-left: 30px;
	    margin-left: 30px;
		border-left: 1px solid #c2c2c2;
	}body[dir="rtl"] #event-info{
		padding-right: 30px;
	    margin-right: 30px;
		border-right: 1px solid #c2c2c2;
	}

	.step-wrap:not(:first-child) {
	    margin-top: 40px;
	}

	#pos{
		margin-bottom: 40px;
	}

	body[dir="ltr"] aside {
		padding: 40px 0 40px 30px;
	}body[dir="rtl"] aside {
		padding: 40px 30px 40px 0;
	}

	.bloc {
		background: #fff;
		padding: 10px;
		margin: 0 0 5px;
		-webkit-box-shadow: 1px 1px 0px 0px rgba(0, 0, 0, .05);
		-moz-box-shadow: 1px 1px 0px 0px rgba(0, 0, 0, .05);
		-o-box-shadow: 1px 1px 0px 0px rgba(0, 0, 0, .05);
		box-shadow: 1px 1px 0px 0px rgba(0, 0, 0, .05);
		overflow: hidden;
	}
	.side-blocs .bloc {
		width: 133px;
	}body[dir="ltr"] .side-blocs .bloc {
		float: left;
		margin: 0 10px 10px 0;
	}body[dir="rtl"] .side-blocs .bloc {
		float: right;
		margin: 0 0 10px 10px;
	}

	body[dir="ltr"] .side-blocs .bloc:nth-child(odd) {
		margin-right: 0;
	}body[dir="rtl"] .side-blocs .bloc:nth-child(odd) {
		margin-left: 0;
	}

	.bloc h4 {
		width: 113px;
		overflow: hidden;
	}
	.bloc h4 a {
  		width: 113px;
  		overflow: hidden;
  		white-space: nowrap;
  		text-overflow: ellipsis;
  		-o-text-overflow: ellipsis;
  		display: block;
	 }
	.bloc img {
		display: block;
		margin-top: 6px;
		opacity: .8;
		-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=80)";
		transition: opacity .25s ease-in-out;
		-moz-transition: opacity .25s ease-in-out;
		-webkit-transition: opacity .25s ease-in-out;
		width: 113px;
	}
	.bloc dt {
		font-size: 0.85em;
		color: #000000;
		margin-bottom: 4px;
	}
	.bloc dd {
		color: #4c4c4c;
		font-size: 0.813em;
	}
  	.no-touch .bloc:hover{
		-webkit-box-shadow: 1px 1px 0px 0px rgba(0, 0, 0, .2);
		-moz-box-shadow: 1px 1px 0px 0px rgba(0, 0, 0, .2);
		-o-box-shadow: 1px 1px 0px 0px rgba(0, 0, 0, .2);
		box-shadow: 1px 1px 0px 0px rgba(0, 0, 0, .2);
	}
  	.no-touch .bloc:hover img{
		opacity: 1;
	}
	.bloc .date {
		font-size: 0.625em;
		color: #4c4c4c;
		display: block;
	}
	.event-ad {
		display: block;
		width: 276px;
		overflow: hidden;
		-webkit-box-shadow: 2px 2px 0px 0px rgba(0, 0, 0, .2);
		-moz-box-shadow: 2px 2px 0px 0px rgba(0, 0, 0, .2);
		-o-box-shadow: 2px 2px 0px 0px rgba(0, 0, 0, .2);
		box-shadow: 2px 2px 0px 0px rgba(0, 0, 0, .2);
		position: relative;
		margin: 40px 0;
	}
	.event-ad img {
		max-width: 276px;
		display: block;
		opacity: 1;
		transition: opacity .25s ease-in-out;
		-moz-transition: opacity .25s ease-in-out;
		-webkit-transition: opacity .25s ease-in-out;
	}
	.event-ad h3 {
		position: absolute;
		bottom: 15px;
		z-index: 1;
		color: #fff;
		text-transform: uppercase;
		text-shadow: 0px 1px 0px rgba(0, 0, 0, .4);
		font-size: 1.250em;
	}body[dir="ltr"] .event-ad h3 {
		right: 15px;
		text-align: right;
	}body[dir="rtl"] .event-ad h3 {
		left: 15px;
		text-align: left;
	}

	.event-ad h3 span {
		background: #e0173c;
		box-shadow: 0.2em 0 0 #e0173c, -0.2em 0 0 #e0173c;
		-moz-box-shadow: 0.2em 0 0 #e0173c, -0.2em 0 0 #e0173c;
		-webkit-box-shadow: 0.2em 0 0 #e0173c, -0.2em 0 0 #e0173c;
		-o-box-shadow: 0.2em 0 0 #e0173c, -0.2em 0 0 #e0173c;
		border-radius: 5px;
		-moz-border-radius: 5px;
		-webkit-border-radius: 5px;
		-o-border-radius: 5px;
		transition: background .25s ease-in-out;
		-moz-transition: background .25s ease-in-out;
		-webkit-transition: background .25s ease-in-out;
	}
	.event-ad .date {
		position: absolute;
		bottom: 10px;
		z-index: 1;
		background: #000;
		box-shadow: 0.2em 0 0 #000, -0.2em 0 0 #000;
		-moz-box-shadow: 0.2em 0 0 #000, -0.2em 0 0 #000;
		-webkit-box-shadow: 0.2em 0 0 #000, -0.2em 0 0 #000;
		-o-box-shadow: 0.2em 0 0 #000, -0.2em 0 0 #000;
		color: #fff;
		font-size: 0.875em;
		line-height: 1.5em;
		border-radius: 5px;
		-moz-border-radius: 5px;
		-webkit-border-radius: 5px;
		-o-border-radius: 5px;
	}body[dir="ltr"] .event-ad .date {
		right: 13px;
	}body[dir="rtl"] .event-ad .date {
		left: 13px;
	}

  	.no-touch .event-ad:hover img{
		opacity: .8;
		-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=80)";
	}

  	.no-touch .event-ad:hover h3 span{
		background: #9e1029;
		box-shadow: 0.2em 0 0 #9e1029, -0.2em 0 0 #9e1029;
		-moz-box-shadow: 0.2em 0 0 #9e1029, -0.2em 0 0 #9e1029;
		-webkit-box-shadow: 0.2em 0 0 #9e1029, -0.2em 0 0 #9e1029;
		-o-box-shadow: 0.2em 0 0 #9e1029, -0.2em 0 0 #9e1029;
	}
	
	
	/* ASIDE */
		/* MINI CART */
		.mini-cart {
		    background: var(--main-color);
		    position: relative;
		    border-radius: 5px;
		    overflow: hidden;
		    padding: 20px 30px;
		    color: #fff;
		}
		.mini-cart:before {
		    content: "";
		    position: absolute;
		    width: 100%;
		    height: 100%;
		    top: 0;
		    /*background: rgba(0,0,0,.3);*/
		}body[dir="ltr"] .mini-cart:before {
			left: 0;
		}body[dir="rtl"] .mini-cart:before {
			right: 0;
		}

		.mini-cart > * {
		    position: relative;
		}
		.side-title {
		    font-weight: 700;
		    font-size: 18px;
		    margin-bottom: 20px;
		}
		.mini-cart .side-title i{
			font-size: 1.2em;
		}body[dir="ltr"] .mini-cart .side-title i{
			margin-right: 10px;
		}body[dir="rtl"] .mini-cart .side-title i{
			margin-left: 10px;
		}
		.empty-cart {
		    font-size: 14px;
		}
	
		/* AD */
		.ad{
			background: #e7e7e7;
			border-radius: 5px;
			padding: 7px 0;
			text-align: center;
		}
		.ad > *, .leaderboard > * {
			margin: 0 auto;
		}
	
	body[dir="ltr"] #maintenance footer div#fb-like {
		border-left: none;
		padding: 0 2% 0 0;
	}body[dir="rtl"] #maintenance footer div#fb-like {
		border-right: none;
		padding: 0 0 0 2%;
	}
	
	#video {
		display: block;
		position: absolute;
		top: 4em;
		width: 290px;
		height: 190px;
	}body[dir="ltr"] #video {
		right: 4em;
	}body[dir="rtl"] #video {
		left: 4em;
	}
	
	#orders {
		font-size: 0.750em;
	}

	.subCatBtn{
		padding: 0;
		display: block;
		text-align: center;
	}

	/* event block categories */
	#choose-plan #plans #options #list li header .opt-price{
		width: 220px !important;
		margin-right: 10px;
	}

	#choose-plan #plans #options #list li header .opt-note-mobile{
		display: none;
	}
	#choose-plan #plans #options #list li.active header .opt-note-mobile{
		display: none;
	}
	.js-canExpand.active .accordion-content .opt-note.opt-note-desktop{
		display: block !important;
	}
	.js-canExpand.active > header.accordion ~ .accordion-content{
		margin-top: 0;
	}

	.products-addons-listing .product-category .product-category-items .product-category-item .img-container .summary-icon{
		font-size: 18px;
		white-space: nowrap !important;
	}
}

@media screen and (min-width: 1250px) {
	#articles article figure{
		width: 250px;
	}
	#wrap > #content,
	#wrap > header .wrap,
	footer .wrap,
	.highlight.centered{
		padding-right: 40px;
		padding-left: 40px;
	}
	#banner{
		padding: 0 40px 40px;
	}
	#bc{
		padding: 15px 40px;
	}
	
	#sec-nav nav div#cart a span {
		display: inline;
	}

	#options #list.blocs_2-3 li{
		width: 26%;
	}
	
	.promo-item a:hover {
	    background: #fff;
	}
	.promo-item a:hover h2{
	    color: var(--main-color);
	}

	#articles.isGrid .cell{
		max-width: 25%;
		min-width: 25%;
	}
	.hasSidebar #articles.isGrid .cell{
		max-width: 50%;
		min-width: 50%;
	}
}

@media screen and (min-width: 1280px) {
	.time-loc {
		margin-top: 10px;
	}
	.seatspickedPerCat .seatspickedpercat-display-value:not(.selected-section-title){
		flex-grow: 1;
		display: grid !important;
		grid-template-columns: repeat(auto-fit,minmax(50px,max-content)) !important;
	}
	#tickets tbody tr td center{
		text-align: center;
	}
	
}

@media screen and (min-width: 1310px) {
	#nav {
		font-size: 100%;
	}
	
	.festival-list a{
	    font-size: 20px;
	}

	#articles.isGrid .cell{
		max-width: 25%;
		min-width: 25%;
	}

	.leaderboard img {
		width: 50%;
	}
}  
  
  .cf:before,
  .cf:after {
	content: " "; /* 1 */
	display: table; /* 2 */
}

.cf:after {
	clear: both;
}

.cf {
	/* zoom: 1; */
}

.notice{
	background: var(--sec-color);
	color: #fff !important;
	border-top: 1px solid rgba(255, 255, 255, .1);
}

#warning-text a {
	margin: 0px;
	float:none;
}

.hide,.hidden {
	display: none;
}

/*Grapes*/
.seatmapimage {
	vertical-align: middle;
}body[dir="ltr"] .seatmapimage {
	padding-left: 10px;
	padding-right: 5px;
}body[dir="rtl"] .seatmapimage {
	padding-right: 10px;
	padding-left: 5px;
}

.seatmapLegentWrapper{
	margin-top: 10px;
	font-size: 10px;
}

/*seatmap*/
#seatchart{
	overflow: hidden;
	display:none;
}

#seatswrapper {
	width: 100%;
	height: auto;
	overflow: auto;
	border: 1px solid #d9d9d9;
}

#seatchart table{
  		background: #fff;
  		
}
.no-touch #seatchart table tr:hover, #searchart table tr:nth-of-type(even), #seatchart td, #seatswrapper td{
  		background: #fff;
}
.fancybox-inner #map-content{
	text-align: center;
}


.pointer {
	cursor: pointer;
}

.center {
	text-align: center;
}

.strikeout {
    text-decoration: line-through;
}


#seatscounter {
	color: red;
}
#maxseatscounter {
	color:green;
}

#reservedseatscounter {
	color:#e19824;
}

#user-shipment label {
	padding-top: 15px;
}

#user-shipment dt, #user-shipment dd {
	padding: 5px;
	clear:left;
}

.info-list dd {
	text-align: right;
}


body[dir="rtl"] #user-shipment dt, 
body[dir="rtl"] #user-shipment dd {
	clear:right;
}
/* Order list items display */
.and-more {
	font-size: 0.85em;
	color: #666;
	font-style: italic;
	font-weight: normal;
}

/* Discount badge and pricing styles */
.price-with-discount {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 2px;
}

.price-line {
	display: flex;
	align-items: center;
	gap: 8px;
}

.original-price {
	/* text-decoration: line-through; */
	color: #999;
	font-size: 0.9em;
	opacity: 0.7;
}

.original-price .price-value {
	text-decoration: line-through;
}

.discounted-price {
	font-weight: bold;
	font-size: 1.1em;
}

.discount-badge {
	background: white;
	color: var(--main-color);
	border: 1px solid var(--main-color);
	padding: 2px 6px !important;
	border-radius: 3px;
	font-size: 10px;
	display: inline-flex;
	align-items: center;
	gap: 2px;
	white-space: nowrap;
	margin-bottom: 2px;
}

.product-category-item-title .discount-badge {
	margin-bottom: 1px;
}

.discount-name {
	font-weight: 700;
	padding-bottom: 1px;
}

.discount-amount {
	font-weight: 700;
	font-size: 0.9em;
	padding-bottom: 0.5px;
}

@media (max-width: 768px) {
	.price-with-discount {
		align-items: center;
	}
	
	.category-line .discount-badge {
		color: white;
		background-color: var(--main-color);
		font-weight: 700 !important;
		margin-left: 5px;
	}
	
	.discount-badge {
		font-size: 0.6em;
		padding: 1px 3px;
	}

	.promo-badge, .event-promo-badge {
		font-size: 0.6em;
		padding: 1px 3px;
	}
}

/* Discount badge and pricing styles */
.price-with-discount {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 2px;
}

.price-line {
	display: flex;
	align-items: center;
	gap: 8px;
}

.original-price {
	/* text-decoration: line-through; */
	color: #999;
	font-size: 0.9em;
}

.discounted-price {
	font-weight: bold;
  	font-size: 1.1em;
}


/* Align currency converter icon with price line when discount is present */
.price-with-discount + .currency-dropdown-container {
	display: flex;
	align-items: center;
	margin-top: -12px;
	position: relative;
	z-index: 1;
}

.price-with-discount + .currency-dropdown-container .conversion {
	vertical-align: middle;
}

@media (max-width: 768px) {
	.price-with-discount {
		align-items: flex-start;
	}
	
	.discount-badge {
		font-size: 0.6em;
		padding: 1px 3px;
	}
}


/* Discount pricing styles for products */
.product-category-item-price .pricing-with-discount,
.option-price .pricing-with-discount {
	display: flex;
	flex-direction: row;
	gap: 12px
	/* align-items: flex-end; */
}

.product-category-item-price .original-price,
.option-price .original-price {
	/* text-decoration: line-through; */
	color: #999;
	font-size: 0.9em;
	opacity: 0.7;
}

.product-category-item-price .discount-info {
	font-size: 0.8em;
	color: #fff;
	margin: 2px 0;
}

.option-price .discount-info {
	font-size: 0.8em;
	color: #000;
	margin: 2px 0;
}

.product-category-item-price .discount-name,
.option-price .discount-name {
  	font-weight: 600;
}

.product-category-item-price .discount-amount,
.option-price .discount-amount {
	margin-left: 4px;
	opacity: 0.8;
}

.product-category-item-price .discounted-price {
	font-weight: 700;
	color: #eee;
	font-size: 1.1em;
}

.option-price .discounted-price {
	font-weight: 700;
	color: #000;
	font-size: 1.1em;
}



/* ===============================================
   PRODUCT CARD SYSTEM
   =============================================== */

/* Base Card Layout */
.product-card-modal {
  padding: 20px 0;
}

.product-card-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: 32px;
  margin: 0 auto;
  padding: 0 40px;
}

.product-card {
  background: #fff;
  border-radius: 8px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
  cursor: pointer;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.product-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);
}

/* Product Card Image */
.product-card-image {
  position: relative;
  width: 100%;
  padding-top: 75%; /* 4:3 aspect ratio */
}

.product-card-image img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s ease;
}

/* Badges overlaying image */
.product-card-badges {
  position: absolute;
  top: 8px;
  left: 8px;
  display: flex;
  gap: 4px;
  z-index: 1;
}

.product-card-badges .badge {
  font-size: 10px;
  padding: 4px 8px;
  border-radius: 4px;
  text-transform: uppercase;
  font-weight: 600;
  line-height: 1;
  color: #fff;
}

.product-card-badges .badge.promo {
  background: var(--main-color);
}

.product-card-badges .badge.discount {
  background: var(--main-color);
}

/* Card Content Structure */
.product-card-content {
  padding: 16px;
  display: flex;
  flex-direction: column;
  flex: 1;
}


/* Card Typography */
.product-card-title {
  color: #333;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.3;
  margin: 0 0 8px 0;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  line-clamp: 2;
  -webkit-line-clamp: 2;
  overflow: hidden;
  text-overflow: ellipsis;
}


.product-card-subtitle {
  color: #6c757d;
  font-size: 14px;
  font-weight: 400;
}

/* Price styling */
.product-card-price {
  margin-top: auto;
  display: flex;
  align-items: baseline;
  gap: 8px;
}

.product-card-price .price-new {
  font-size: 18px;
  font-weight: 700;
  color: #000;
}

.category-price-inline .price-new {
  font-size: 14px;
  font-weight: 700;
}

.product-card-price .price-old,
.category-price-inline .price-old{
  font-weight: 700;
  font-size: 14px;
  color: #888;
}

.product-card-price .price-old .price-value,
.category-price-inline .price-old .price-value{
  text-decoration: line-through;
}

.product-card-price .select-text {
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 1px;
  color: #333;
}

/* ===================================== 
   COMPACT TABS STYLING 
   ===================================== */

/* Tab Container */
.tabs-container.products-addons-compact {
  background: #fff;
}

/* Tab Navigation */
.tabs-nav-compact {
  display: flex;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  margin-bottom: 20px;
}

.tab-nav-compact {
  color: var(--sec-color);
  font-size: 19px;
  text-transform: uppercase;
  background: none;
  border: none;
  cursor: pointer;
  position: relative;
  background-color: transparent;
  padding: 5px 20px;
  white-space: nowrap;
  transition: all 0.2s ease;
    z-index: 0;

}

.tab-nav-compact::before {
  content: '';
  display: inline-block;
  position: absolute;
  left: 0;
  top: 50%;
  height: 100%;
  width: 0;
  background: var(--main-color);
  transform: skew(-30deg) translateY(-50%);
  z-index: -1;
  transition: all 0.3s;
}

.tab-nav-compact.active::before {
  width: 48%;
}

/* Tab Content */
.tabs-content-compact {
  background: #fff;
  border-radius: 0 0 8px 8px;
  padding-top: 20px;
  padding-bottom: 20px;
}

.tab-pane-compact {
  display: none;
  padding-top: 20px;
}

.tab-pane-compact.active {
  display: block;
}

/* Mobile Responsive */
@media screen and (max-width: 768px) {
  .tabs-nav-compact {
    margin-bottom: 16px;
  }
  
  .tab-nav-compact {
    font-size: 14px;
    padding: 4px 16px;
  }
  
  .tab-pane-compact {
    padding-top: 16px;
  }
}

@media screen and (max-width: 480px) {
  .tabs-nav-compact {
    margin-bottom: 12px;
  }
  
  .tab-nav-compact {
    font-size: 12px;
    padding: 4px 12px;
  }
  
  .tab-pane-compact {
    padding-top: 12px;
  }
  
  .product-type-title-compact {
    font-size: 16px;
    margin: 16px 0 10px 0;
  }
  
  .product-type-section-compact {
    margin-bottom: 20px;
  }
}

/* ===============================================
   PRODUCT TYPE GROUPING - COMPACT THEME
   =============================================== */

.product-type-section-compact {
  margin-bottom: 30px;
}

.product-type-section-compact:last-child {
  margin-bottom: 0;
}

.product-type-title-compact {
  font-size: 18px;
  font-weight: 600;
  color: #333;
  margin: 0 0 15px 0;
  padding-bottom: 5px;
  border-bottom: 2px solid #f0f0f0;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.product-type-cards-compact {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 20px;
}

/* Override the parent grid for product type sections */
.product-card-grid .product-type-section-compact {
  grid-column: 1 / -1;
  display: block;
  margin-bottom: 30px;
}

.product-card-grid .product-type-title-compact {
  display: block;
  width: 100%;
  margin-bottom: 15px;
}

/* Responsive adjustments for product type grouping */
@media screen and (max-width: 768px) {
  .product-type-cards-compact {
    grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
    row-gap: 15px;
    column-gap: 20px;
  }
  
  .product-type-title-compact {
    font-size: 16px;
    margin-bottom: 12px;
  }
  
  .product-type-section-compact {
    margin-bottom: 25px;
  }
  
  .product-card-grid .product-type-section-compact {
    margin-bottom: 25px;
  }
}

/* ===============================================
   CATEGORY SELECTION INTERFACE
   =============================================== */

/* Category description styling */
.category-description-inline {
  width: 95%;
  font-size: 10px;
  color: #666;
  font-weight: normal;
  line-height: 1.4;
  margin-top: 4px;
  display: block;
}

/* Category List Structure */
.categories-selection .drawer-product-description {
  color: #666;
  font-size: 14px;
  line-height: 1.4;
  margin-bottom: 20px;
}

/* Multi-category modal now uses same structure as single category */
.categories-selection .modal-product-description {
  color: #666;
  font-size: 14px;
  line-height: 1.5;
}

.categories-list-container {
  background: #fff;
  border: 1px solid #eee;
  border-radius: 8px;
  overflow-y: auto;
}

#product-drawer .categories-list-container {
	margin-bottom: 25px;
}

.categories-list {
  display: flex;
  flex-direction: column;
}

.category-line {
  border-bottom: 1px solid #f0f0f0;
  display: flex;
  flex-direction: column;
  min-height: 60px;
  padding: 12px 16px;
}

.category-line:last-child {
  border-bottom: none;
}

.category-content {
  align-items: center;
  display: flex;
  justify-content: space-between;
  width: 100%;
}

/* Category Information */
.category-info-inline {
  display: flex;
  flex: 1;
  flex-direction: column;
  min-width: 0;
}

.category-name-inline {
  color: #333;
  font-size: 14px;
  font-weight: 600;
  margin-bottom: 4px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.category-price-inline {
  align-items: center;
  display: flex;
  font-size: 13px;
  gap: 8px;
}

.category-price-inline .price-discounted,
.category-price-inline .price-current {
  color: #333;
  font-weight: 700;
}

.category-price-inline .price-original {
  color: #999;
  font-weight: 500;
  text-decoration: line-through;
}

/* Category Controls */
.category-controls-inline {
  align-items: center;
  display: flex;
  flex-shrink: 0;
  gap: 12px;
}

.modal-category-picker,
.drawer-category-picker {
  align-items: center;
  display: flex;
  gap: 6px;
}

.modal-category-picker input,
.drawer-category-picker input {
  font-size: 18px;
  padding: 6px;
  text-align: center;
  width: 45px;
  font-weight: 600;
}

.modal-category-picker .modal-addon-button,
.drawer-category-picker .drawer-addon-button {
  background: #fff;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 26px;
  height: 28px;
  transition: all 0.2s ease;
  width: 28px;
}

.modal-category-add-to-cart,
.drawer-category-add-to-cart {
  border-radius: 6px;
  font-size: 14px;
  font-weight: 600;
  min-width: 80px;
  padding: 8px 16px;
}

.modal-category-add-to-cart:disabled,
.drawer-category-add-to-cart:disabled {
  cursor: not-allowed;
  opacity: 0.5;
}

/* Global Add Button */
.global-add-button-container {
  display: flex;
  justify-content: center;
}

/* ===============================================
   PRODUCT MODAL SYSTEM
   =============================================== */

/* Modal Container */
.product-modal-content {
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 20px 60px rgba(0,0,0,0.1);
  display: flex;
  flex-direction: column;
  height: 60vh !important;
  max-height: 60vh !important;
  min-height: 300px;
  overflow-y: auto !important;
  position: relative;
}

.product-modal-body {
  align-items: stretch;
  box-sizing: border-box;
  display: flex;
  flex: 1;
  gap: 0;
  height: 100%;
  min-height: 300px;
  padding: 0;
  width: 100%;
}

/* Modal Image Section */
.modal-product-image {
  align-items: stretch;
  align-self: stretch;
  background: #f8f9fa;
  border-radius: 8px 0 0 8px;
  display: flex;
  flex: 0 0 45%;
  flex-direction: column;
  min-height: 300px;
  order: 1;
  position: relative;
  overflow: hidden;
  padding: 20px 0;
  position: relative;
}

/* Main image display area */
.modal-image-main {
  align-items: center;
  display: flex;
  flex: 1;
  justify-content: center;
  position: relative;
  overflow: hidden;
}

/* Center image when no gallery is present */
.modal-product-image .modal-product-img {
  max-height: 100%;
  max-width: 100%;
  object-fit: contain;
}

/* Gallery thumbnails at bottom */
.modal-image-gallery {
  background: rgba(0, 0, 0, 0.05);
  border-top: 1px solid #e9ecef;
  flex-shrink: 0;
  height: 80px;
  margin: 0 -20px -20px -20px;
  overflow: hidden;
  padding: 8px;
}

.modal-gallery-thumbnails {
  align-items: center;
  display: flex;
  gap: 8px;
  height: 100%;
  justify-content: center;
  overflow-x: auto;
  padding: 4px 0;
}

.modal-gallery-thumbnail {
  border: 2px solid transparent;
  border-radius: 6px;
  cursor: pointer;
  flex-shrink: 0;
  height: 56px;
  overflow: hidden;
  transition: border-color 0.3s ease;
  width: 56px;
}

.modal-gallery-thumbnail:hover {
  border-color: #ccc;
}

.modal-gallery-thumbnail.active {
  border-color: var(--main-color);
}

.modal-gallery-thumbnail img,
.modal-gallery-thumbnail video {
  height: 100%;
  object-fit: cover;
  width: 100%;
}


.modal-product-image::before {
  background-image: var(--product-bg-image);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  bottom: 0;
  content: '';
  filter: blur(20px);
  left: 0;
  opacity: 0.15;
  position: absolute;
  right: 0;
  top: 0;
  transform: scale(1.1);
  z-index: 1;
}

.modal-product-image img {
  border-radius: 3px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.1);
  height: auto;
  max-height: 100%;
  max-width: 100%;
  object-fit: contain;
  object-position: center;
  position: relative;
  width: auto;
  z-index: 2;
}

/* Modal Content Section */
.modal-product-details {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: 20px;
  height: auto;
  min-height: 300px;
  min-width: 0;
  order: 2;
  overflow-y: visible;
  padding: 5px 30px;
  width: 100%;
}

.modal-product-title {
  color: #333;
  font-size: 20px;
  font-weight: 600;
  margin: 0 0 12px 0;
}

.modal-product-description {
  color: #666;
  font-size: 13px;
  line-height: 1.4;
}

/* Modal Controls */
.modal-title-row,
.drawer-title-row {
  align-items: center;
  display: flex;
  gap: 8px;
}

.modal-price-quantity,
.drawer-price-quantity {
  align-items: center;
  display: flex;
  gap: 15px;
  justify-content: space-between;
}

.modal-quantity-price-row {
  align-items: center;
  display: flex;
  justify-content: space-between;
  margin-bottom: 15px;
  width: 100%;
}

.modal-price-value {
  color: #333;
  font-size: 20px;
  font-weight: 700;
}

.modal-price-value .current-price {
  margin-right: 10px;
}

#product-modal .modal-price-value,
#product-drawer .drawer-price-value {
  font-size: 1em;
}

/* Quantity Picker */
.modal-quantity-picker {
  align-items: center;
  background: transparent;
  border: none;
  border-radius: 8px;
  display: flex;
  gap: 15px;
  padding: 0;
}

.modal-quantity-picker .modal-addon-button,
.drawer-quantity-picker .drawer-addon-button {
  align-items: center;
  color: #333;
  cursor: pointer;
  display: flex;
  font-size: 26px;
  font-weight: bold;
  height: 26px;
  justify-content: center;
  transition: all 0.2s ease;
  width: 26px;
}

.modal-quantity-picker input {
  background: transparent;
  border: none;
  color: #333;
  font-size: 20px;
  font-weight: 600;
  margin: 0;
  text-align: center;
  width: 40px;
}

/* Modal Actions */
.modal-add-section {
  display: flex;
  justify-content: center;
}

.modal-add-section .btn {
  border-radius: 6px;
  font-size: 14px;
  font-weight: 600;
  min-width: 100px;
  padding: 8px 20px;
}

/* Utility */
.no-products-message {
  color: #6c757d;
  font-size: 16px;
  padding: 40px 20px;
  text-align: center;
}

/* ===============================================
   RESPONSIVE DESIGN - MOBILE TO DESKTOP
   =============================================== */

/* Mobile Small (≤480px) */
@media screen and (max-width: 480px) {
  .product-card-grid {
    grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
    gap: 24px;
    padding: 0 16px;
  }
  
  .product-card-title {
    font-size: 13px;
  }
  
  .product-card-price .price-new {
    font-size: 16px;
  }
  
  .product-card-price .price-old {
	font-weight: 700;
    font-size: 12px;
  }
  
  .product-card-price .select-text {
    font-size: 14px;
  }
}

/* Mobile & Tablet (≤768px) */
@media screen and (max-width: 768px) {
  .product-card-grid {
    grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
    row-gap: 15px;
	column-gap: 20px;
    padding: 20px 20px;
  }
  
  .product-card-content {
    padding: 12px;
  }
  
  .product-card-title {
    font-size: 13px;
	white-space: unset;
  }
  
  .product-card-subtitle {
    font-size: 12px;
  }
  
  .product-card-price .price-new {
    font-size: 12px;
  }
  
  .product-card-price .price-old {
	font-weight: 700;
    font-size: 11px;
  }
  
  .product-card-price .select-text {
    font-size: 15px;
  }
  
  /* Modal adjustments for mobile */
  .product-modal-content {
    margin: 10px;
    max-width: calc(100vw - 20px);
  }
  
  .product-modal-body {
    flex-direction: column;
    gap: 16px;
    padding: 16px;
  }
  
  .modal-product-image {
    flex: none;
    height: 200px;
    width: 100%;
  }
  
  .modal-product-details {
    padding-top: 0;
  }
  
  .modal-quantity-price-row {
    align-items: center;
    flex-direction: column;
    gap: 15px;
  }
  
  .modal-product-price {
    margin-left: 0;
  }
  
  /* Category controls mobile adjustments */
  .category-line {
    min-height: 55px;
    padding: 10px 12px;
  }
  
  .category-name-inline {
    font-size: 13px;
  }
  
  .category-price-inline {
    font-size: 12px;
  }
  
  .category-controls-inline {
    gap: 8px;
  }
}

/* Desktop Large (≥1200px) */
@media screen and (min-width: 1200px) {
  .product-card-grid {
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 36px;
  }
  
  .product-card-content {
    padding: 18px;
  }
  
  .product-card-title {
    font-size: 18px;
    margin-bottom: 12px;
  }
}

/* Desktop Ultra-wide (≥1920px) */
@media screen and (min-width: 1920px) {
  .product-card-grid {
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
    gap: 40px;
  }
}


/* ===============================================
   PRODUCT DRAWER - MOBILE BOTTOM DRAWER
   =============================================== */

/* Drawer Overlay & Container */
.product-drawer-overlay {
  background: rgba(0, 0, 0, 0.5);
  height: 100%;
  left: 0;
  opacity: 0;
  pointer-events: none;
  position: fixed;
  top: 0;
  transition: opacity 0.3s ease;
  width: 100%;
  z-index: 1000;
}

.product-drawer-overlay.active {
  opacity: 1;
  pointer-events: all;
}

.product-drawer-container {
  background: #fff;
  border-radius: 16px 16px 0 0;
  bottom: 0;
  left: 0;
  max-height: 80vh;
  overflow: hidden;
  position: absolute;
  right: 0;
  transform: translateY(100%);
  transition: transform 0.3s ease;
}

.product-drawer-overlay.active .product-drawer-container {
  transform: translateY(0);
}

/* Drawer Handle */
.product-drawer-handle {
  background: #ddd;
  border-radius: 2px;
  cursor: pointer;
  height: 4px;
  margin: 12px auto 8px;
  width: 40px;
}

/* Drawer Content */
.product-drawer-content {
  max-height: calc(80vh - 32px);
  overflow-y: auto;
  padding: 16px 20px 20px;
  position: relative;
}

/* Scroll Indicators */
.product-drawer-content::after {
  background: rgba(240, 240, 240, 0.8);
  border-radius: 50%;
  bottom: 8px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
  content: '';
  height: 30px;
  right: 0;
  opacity: 0;
  pointer-events: none;
  position: absolute;
  transform: translateX(-50%);
  transition: opacity 0.3s ease;
  width: 30px;
  z-index: 10;
}

.product-drawer-content.has-scroll::after {
  opacity: 1;
}

.product-drawer-content.has-scroll::before {
  animation: scroll-bounce 3s infinite;
  bottom: 12px;
  color: #666;
  content: '⌄';
  font-size: 16px;
  right: 4.5%;
  opacity: 1;
  position: absolute;
  transform: translateX(-50%);
  z-index: 11;
}

@keyframes scroll-bounce {
  0%, 20%, 50%, 80%, 100% {
    transform: translateX(-50%) translateY(0);
  }
  40% {
    transform: translateX(-50%) translateY(-4px);
  }
  60% {
    transform: translateX(-50%) translateY(-2px);
  }
}

/* Drawer Content Elements */
.drawer-product-image {
  background: #f8f9fa;
  border-radius: 12px;
  height: 250px;
  margin-bottom: 16px;
  overflow: hidden;
  width: 100%;
}

.drawer-product-image img {
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.drawer-product-details {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.drawer-product-title {
  color: #333;
  font-size: 20px;
  font-weight: 600;
  margin: 0;
}

.drawer-product-description {
  color: #666;
  font-size: 14px;
  line-height: 1.5;
  margin-bottom: 10px;
}

/* Drawer Pricing */
.drawer-price-quantity {
  margin-bottom: 10px;
}

.drawer-price-quantity .discounted-price {
  margin-right: 5px;
}

.drawer-quantity-price-row {
  align-items: center;
  display: flex;
  justify-content: space-between;
  margin: 15px 0;
}

.drawer-price-value {
  color: #333;
  font-size: 24px;
  font-weight: 700;
}

/* Drawer Quantity Picker */
.drawer-quantity-picker {
  align-items: center;
  background: transparent;
  border: none;
  display: flex;
  gap: 15px;
  padding: 0;
  margin-bottom: 25px;
}

.drawer-quantity-picker .addon-button {
  align-items: center;
  background: #f5f5f5;
  border: 1px solid #333;
  border-radius: 8px;
  color: #333;
  cursor: pointer;
  display: flex;
  font-size: 30px;
  font-weight: bold;
  height: 40px;
  justify-content: center;
  transition: all 0.2s ease;
  width: 40px;
}

.drawer-quantity-picker .addon-button:hover {
  background: #333;
  color: white;
}

.drawer-quantity-picker input {
  background: transparent;
  border: none;
  color: #333;
  font-size: 18px;
  font-weight: 600;
  margin: 0;
  text-align: center;
  width: 50px;
}

/* Drawer Actions */
.drawer-add-section {
  display: flex;
  justify-content: center;
  margin-top: 15px;
}

.drawer-add-section .btn {
  border-radius: 8px;
  font-size: 16px;
  font-weight: 600;
  max-width: 200px;
  min-width: 140px;
  padding: 12px 32px;
  width: auto;
}


.product-drawer-content .discount-content {
  max-height: none !important;
  overflow: visible !important;
}

/* Global Drawer State */
body.drawer-open {
  overflow: hidden;
}

/* Color Override for Add to Cart Buttons */
#product-modal .addon_mini_add_to_cart,
#product-drawer .addon_mini_add_to_cart {
  color: #fff;
}

#product-modal {
  height: 60vh !important;
  max-height: 60vh !important;
  overflow: hidden !important;
}

/* Modal Layout Structure for Single Category */
.modal-product-details {
  display: flex;
  flex-direction: column;
  height: 100%;
  overflow-y: auto;
}

.modal-title-section {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  flex-shrink: 0;
  padding: 0 16px 16px 16px;
  border-bottom: 1px solid #eee;
  gap: 8px;
}

/* Multi-category modal title spacing */
.categories-selection .modal-title-section {
  padding-top: 20px;
}

.modal-title-section .modal-product-title {
  margin: 0;
}

.modal-title-section .discount-badge,
.modal-categories-section .discount-badge {
  background: var(--main-color);
  color: white;
  padding: 4px;
  border-radius: 2px;
  font-size: 0.55rem;
  font-weight: 600;
  text-transform: uppercase;
  line-height: 1;
  display: flex;
  align-items: center;
  gap: 6px;
  flex-shrink: 0;
  margin: 4px 0 0 10px;
}

.modal-categories-section .discount-badge {
	padding: 2px 3px;
}
.modal-title-section .promo-badge-compact {
  flex-shrink: 0;
}

.modal-content-area {
  flex: 1;
  display: flex;
  flex-direction: column;
  overflow-y: auto;
  padding: 0 16px;
}

.modal-summary-section {
  margin-bottom: 16px;
}

.modal-summary-section .modal-product-description {
  color: #666;
  font-size: 14px;
  line-height: 1.5;
}

/* When promo section is hidden, remove extra spacing */
.modal-content-area .modal-promo-section[style*="display: none"] {
  margin: 0;
  padding: 0;
}

.modal-promo-section {
  margin-bottom: 16px;
}

.modal-categories-section {
  margin-bottom: 16px;
}

.modal-price-quantity {
  margin-bottom: 16px;
  padding-top: 16px;
  border-top: 1px solid #eee;
}

/* Conditional border classes for modal-price-quantity */
.modal-price-quantity.no-border {
  border-top: none;
  padding-top: 0;
}

.modal-price-quantity.toggle-border {
  border-top: 1px solid #eee;
  transition: border-top 0.3s ease, padding-top 0.3s ease;
}

.modal-price-quantity.toggle-border.hidden-border {
  border-top: none;
  padding-top: 0;
}

/* Remove old global-add-button-container styling since we're using modal-add-section */
.global-add-button-container {
  display: none;
}

.modal-add-section {
  position: sticky;
  bottom: 0;
  background: #fff;
  border-top: 1px solid #eee;
  flex-shrink: 0;
  padding: 16px;
  z-index: 10;
}

/* Auto-open promo box for single category */
.promo-box-auto-open {
  display: block !important;
  opacity: 1 !important;
  max-height: none !important;
  overflow: visible !important;
}

/* ===============================================
   COMPACT THEME PROMO BOX SYSTEM
   =============================================== */


.promo-badge-compact {
	height: fit-content;
    background: var(--main-color);
    color: #fff;
    font-size: .55rem;
    font-weight: 700;
    text-transform: uppercase;
    border: 1px solid var(--main-color);
    border-radius: 2px;
    padding: 2px 6px;
    cursor: pointer;
    margin-left: .4rem;
	transition:background .15s ease, color .15s ease, box-shadow .15s ease;
}
.promo-badge-compact:hover {
  background:#fff;          /* flip to white */
  color: var(--main-color);            /* text turns primary color */
  box-shadow:0 0 0 2px var(--primary-color-25);  /* subtle glow */
}

.promo-badge-compact[aria-expanded="true"] {
  background: var(--main-color); /* Keep same color when opened */
  color: #fff;
}

/* Compact theme promo box - same styles as default but different class */
.promo-box-compact {
	background: #fff;
	border-radius: 8px;
	padding: 0 12px 0 12px;
  border: 1px solid var(--main-color);
  margin: 0;
  overflow: hidden;
  position: relative;
  max-height: 0;
  opacity: 0;
  transform: translateY(-15px);
  transition: border-color 0.1s ease;
}

.promo-box-compact.is-open {
  border: 2px solid var(--main-color);
  animation: slideDown 0.5s ease forwards;
}

.promo-box-compact.is-closing {
  border: 2px solid var(--main-color);
  animation: slideUp 0.5s ease forwards;
}

/* Compact theme promo close button - same styles as default */
.promo-close-compact {
  background: none;
  border: none;
  color: #999;
  cursor: pointer;
  font-size: 18px;
  line-height: 1;
  padding: 8px;
  position: absolute;
  right: 8px;
  top: 8px;
  transition: color 0.2s ease;
  z-index: 2;
}

.promo-close-compact:hover {
  color: #666;
}

/* Compact theme discount content - same styles as default */
.discount-content-compact {
  padding: 5px;
}

.discount-content-compact fieldset {
  margin-bottom: 10px !important;
}

/* Auto-open promo box for compact theme */
.promo-box-compact-auto-open {
  display: block !important;
  opacity: 1 !important;
  max-height: none !important;
  overflow: visible !important;
}

.modal-title-section .promo-badge-compact {
	margin-top: 5px;
}

/* Promo box compact animations */
@keyframes slideDown {
  0% {
    max-height: 0;
    opacity: 0;
    transform: translateY(-15px);
    margin-top: 0;
    margin-bottom: 0;
    padding-top: 0;
    padding-bottom: 0;
    border-width: 1px;
  }
  50% {
    opacity: 0.8;
    margin-top: 6px;
    margin-bottom: 6px;
    padding-top: 6px;
    padding-bottom: 6px;
    border-width: 1.5px;
  }
  100% {
    max-height: 400px;
    opacity: 1;
    transform: translateY(0);
    margin-top: 12px;
    margin-bottom: 12px;
    padding-top: 12px;
    padding-bottom: 12px;
    border-width: 2px;
  }
}

@keyframes slideUp {
  0% {
    max-height: 400px;
    opacity: 1;
    transform: translateY(0);
    margin-top: 12px;
    margin-bottom: 12px;
    padding-top: 12px;
    padding-bottom: 12px;
    border-width: 2px;
  }
  50% {
    opacity: 0.3;
    margin-top: 6px;
    margin-bottom: 6px;
    padding-top: 6px;
    padding-bottom: 6px;
    border-width: 1.5px;
  }
  100% {
    max-height: 0;
    opacity: 0;
    transform: translateY(-15px);
    margin-top: 0;
    margin-bottom: 0;
    padding-top: 0;
    padding-bottom: 0;
    border-width: 1px;
  }
}

/* ===============================================
   MODAL GALLERY/CAROUSEL STYLES
   =============================================== */

/* Gallery thumbnail container */
.modal-gallery-thumbnail {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 60px;
  height: 60px;
  border-radius: 4px;
  overflow: hidden;
  cursor: pointer;
  position: relative;
  border: 2px solid transparent;
  transition: border-color 0.2s ease;
}

.modal-gallery-thumbnail:hover {
  border-color: #ccc;
}

.modal-gallery-thumbnail.active {
  border-color: var(--main-color);
}

/* Thumbnail image */
.modal-gallery-thumbnail img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  position: relative;
  z-index: 2;
}

/* Faded background image */
.modal-gallery-thumbnail::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-image: var(--thumb-bg-image);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  opacity: 0.3;
  filter: blur(1px);
  z-index: 1;
}

/* Gallery thumbnails container */
.modal-gallery-thumbnails {
  display: flex;
  gap: 8px;
  justify-content: center;
  padding: 16px;
  background: rgba(248, 249, 250, 0.8);
  border-radius: 8px;
}

/* ===============================================
   DRAWER CAROUSEL STYLES
   =============================================== */

/* Drawer image container with carousel */
.drawer-product-image {
  position: relative;
  margin-bottom: 20px;
}

/* Drawer image slider */
.drawer-image-slider {
  position: relative;
  width: 100%;
  height: auto;
}

.drawer-slide {
  position: relative;
  width: 100%;
  height: 300px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.drawer-slide img {
  width: 100%;
  height: 300px;
  max-height: 300px;
  object-fit: cover;
  border-radius: 8px;
}

.drawer-slide video {
  width: 100%;
  height: auto;
  max-height: 300px;
  border-radius: 8px;
}

/* Override slick default arrow positioning for drawer - match working carousel pattern */
.drawer-product-image .slick-prev:before, 
.drawer-product-image .slick-next:before,
.drawer-product-image .drawer-carousel-prev:before,
.drawer-product-image .drawer-carousel-next:before {
  font-family: none;
  content: " ";
}

/* Style both slick-generated arrows and our custom arrows */
.drawer-product-image .slick-next,
.drawer-product-image .drawer-carousel-next {
  right: 10px;
  z-index: 10;
  background: none !important;
  width: 19px;
  height: 30px;
  opacity: 0.75;
  position: absolute !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  border: none !important;
  display: block !important;
  cursor: pointer !important;
}

.drawer-product-image .slick-prev,
.drawer-product-image .drawer-carousel-prev {
  left: 10px;
  z-index: 10;
  background: none !important;
  width: 19px;
  height: 29px;
  opacity: 0.75;
  position: absolute !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  border: none !important;
  display: block !important;
  cursor: pointer !important;
}

.drawer-product-image .slick-prev:hover,
.drawer-product-image .slick-next:hover,
.drawer-product-image .drawer-carousel-prev:hover,
.drawer-product-image .drawer-carousel-next:hover {
  opacity: 1;
}

/* Drawer carousel dots styling */
.drawer-product-image .drawer-carousel-dots {
  position: absolute;
  bottom: 15px;
  left: 50%;
  transform: translateX(-50%);
  display: flex !important;
  gap: 8px;
  list-style: none;
  margin: 0;
  padding: 0;
  z-index: 5;
}

.drawer-product-image .drawer-carousel-dots li {
  display: block;
  width: 8px;
  height: 8px;
  margin: 0;
  padding: 0;
  cursor: pointer;
}

.drawer-product-image .drawer-carousel-dots li button {
  width: 8px;
  height: 8px;
  border: none;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.5);
  cursor: pointer;
  padding: 0;
  margin: 0;
  font-size: 0;
  line-height: 0;
  transition: all 0.3s ease;
  display: block;
}

.drawer-product-image .drawer-carousel-dots li button:hover {
  background: rgba(255, 255, 255, 0.8);
}

.drawer-product-image .drawer-carousel-dots li.slick-active button {
  background: rgba(255, 255, 255, 1);
  transform: scale(1.3);
}

/* Hide dots when there's only one image */
.drawer-product-image .drawer-image-slider:not(.slick-initialized) ~ .drawer-carousel-dots {
  display: none !important;
}

/* Hide arrows when there's only one image */
.drawer-product-image .drawer-image-slider:not(.slick-initialized) ~ .drawer-carousel-prev,
.drawer-product-image .drawer-image-slider:not(.slick-initialized) ~ .drawer-carousel-next {
  display: none !important;
}

/* Also hide arrows by default until slick initializes them */
.drawer-product-image .drawer-carousel-prev,
.drawer-product-image .drawer-carousel-next {
  display: none;
}

/* Only show arrows when slick carousel is active */
.drawer-product-image .slick-prev,
.drawer-product-image .slick-next {
  display: block !important;
}

/* Sticky add button in drawer */
.drawer-product-details .subCatBtn {
  position: sticky;
  bottom: 0;
}

/* Promo and Discount Badge Styles */
.promo-badge {
    background: var(--main-color);
    color: #fff;
    font-size: .55rem;
    font-weight: 700;
    text-transform: uppercase;
    border: 1px solid var(--main-color);
    border-radius: 2px;
    padding: 1px 3px;
    cursor: pointer;
    margin-left: .4rem;
    transition: background .15s ease, color .15s ease, box-shadow .15s ease;
}

.promo-badge:hover {
    background: #fff;
    color: var(--main-color);
    box-shadow: 0 0 0 2px rgba(var(--main-color-rgb), 0.25);
}

/* Promo box and list title styles */
.promo-box {
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    background: #fff;
    padding: 12px;
    margin: 12px 0;
    transition: all 0.3s ease;
}

.promo-box.is-open {
    border: 2px solid var(--main-color);
}

.listTitle {
    color: var(--main-color);
    font-weight: 700;
    font-size: 14px;
    margin-bottom: 10px;
    text-transform: uppercase;
}

/* Drawer scroll indicator */
.drawer-scroll-indicator {
  position: fixed;
  bottom: 20px;
  right: 20px;
  width: 40px;
  height: 40px;
  background: rgba(0, 0, 0, 0.6);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  z-index: 15;
  transition: all 0.3s ease;
  opacity: 0;
  visibility: hidden;
}

.drawer-scroll-indicator.visible {
  opacity: 1;
  visibility: visible;
}

.drawer-scroll-indicator:hover {
  background: rgba(0, 0, 0, 0.8);
  transform: scale(1.1);
}

.drawer-scroll-indicator::before {
  content: '';
  width: 0;
  height: 0;
  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
  border-top: 8px solid white;
}

/* Download button styles */
.drawer-download-btn {
    position: absolute;
    top: 10px;
    right: 10px;
    display: none;
    background-color: rgba(0,0,0,0.7);
    color: white;
    padding: 8px;
    border-radius: 50%;
    text-decoration: none;
    font-size: 18px;
    z-index: 10;
    width: 36px;
    height: 36px;
    align-items: center;
    justify-content: center;
}

.modal-download-btn {
    background-color: rgba(0,0,0,0.7);
    color: white;
    padding: 4px;
    border-radius: 50%;
    text-decoration: none;
    font-size: 24px;
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.modal-download-btn[style*="display: none"] {
    display: none !important;
}
.modal-download-btn:hover,
.drawer-download-btn:hover {
    background-color: rgba(0,0,0,0.9);
    color: white;
    text-decoration: none;
}

.modal-product-details input,
.product-drawer-content input {
	background-color: transparent;
}

/* Soldout product card styling */
.product-card.soldout {
    position: relative;
    pointer-events: none;
}

.product-card.soldout .product-card-image img,
.product-card.soldout .product-card-content {
    opacity: 0.6;
}

.product-card.soldout .product-card-badges {
    opacity: 1;
}

.product-card.soldout::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(0, 0, 0, 0.1);
    pointer-events: none;
}

.product-card.soldout .product-card-content {
    color: #999;
}

.product-card.soldout .product-card-title {
    color: #666;
}

.product-card.soldout .product-card-price {
    color: #999;
}


.badge.soldout {
    background-color: #dc3545;
    color: white;
    font-weight: bold;
    z-index: 2;
}


/* Individual category */
.category-line.soldout {
    background-color: rgba(0, 0, 0, 0.05);
    pointer-events: none;
    border-radius: 8px;
    position: relative;
}

.category-line.soldout .category-info-inline,
.category-line.soldout .category-controls-inline {
    opacity: 0.5;
}

.category-line.soldout .quantity-picker {
    pointer-events: none;
}

.category-line.soldout .modal-addon-button,
.category-line.soldout .drawer-addon-button {
    cursor: not-allowed;
    opacity: 0.5;
}

/* soldout cards can't be clicked */
.product-card.soldout {
    cursor: not-allowed;
}

.product-card.soldout:hover {
    transform: none;
    box-shadow: none;
}

/* Improved Date Filters Styling */
.listing .title.isBig {
	align-items: center;
	gap: 15px;
	flex-wrap: wrap;
}

.listing .title.isBig .clear-filters-btn {
	display: inline-flex;
	align-items: normal;
	gap: 6px;
	color: #999;
	text-decoration: none;
	transition: all 0.2s ease;
	font-size: 14px;
	font-weight: 600;
	text-transform: uppercase;
	line-height: 1;
	margin-left: 10px;
	flex-shrink: 0;
	cursor: pointer;
}

.listing .title.isBig .clear-filters-btn i {
	font-size: 16px;
}

.listing .title.isBig .clear-filters-btn:hover {
	color: var(--main-color);
}

.listing .filters-wrapper {
	position: relative;
	margin-bottom: 30px;
}

.listing .filters {
	display: flex;
	align-items: center;
	gap: 10px;
	flex-wrap: nowrap;
}

.listing .filters::-webkit-scrollbar {
	display: none; /* Chrome, Safari, Opera */
}

.listing .filter {
	height: 38px;
	background: #f5f5f5;
	padding: 0 22px;
	border-radius: 19px;
	font-size: 13px;
	color: #666;
	transition: all 0.2s ease;
	border: 1px solid #e0e0e0;
	cursor: pointer;
	text-decoration: none;
	font-weight: 500;
	white-space: nowrap;
	flex-shrink: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

.listing .filter:hover {
	background: #e8e8e8;
	color: #333;
	border-color: #d0d0d0;
}

.listing .filter.active {
	background: var(--main-color);
	color: #fff;
	border-color: var(--main-color);
	box-shadow: 0 2px 8px rgba(0, 149, 218, 0.3);
}

.listing .filter.active:hover {
	background: var(--sec-color);
	border-color: var(--sec-color);
}

.listing #calendar span {
	pointer-events: none;
}

.listing #calendar #picker_classic {
	position: absolute !important;
	inset: 0 !important;
	top: 0 !important;
	left: 0 !important;
	right: 0 !important;
	bottom: 0 !important;
	opacity: 0 !important;
	width: 100% !important;
	height: 100% !important;
	padding: 0 !important;
	border: 0 !important;
	cursor: pointer !important;
	pointer-events: none;
}

.listing #calendar.active {
	background: var(--main-color);
	color: #fff;
	border-color: var(--main-color);
}

.listing #calendar.active span {
	color: #fff;
}

.listing .filter .icon-arrow_down {
	margin-left: 5px;
	font-size: 0.7em;
}

/* Fix calendar dropdown z-index/overflow issue */
	.listing .filters-wrapper {
	overflow: visible;
}

.listing #calendar {
	position: relative;
	z-index: 11;
	min-width: 150px;
	text-align: center;
}

/* Desktop: Center dropdown below button with arrow */
.listing #calendar .pickadate__holder {
	z-index: 10001;
	position: absolute !important;
	top: 100% !important;
	/* Reset any left/right set by pickadate and center using calc */
	right: auto !important;
	margin-left: -130px !important; /* Half of holder width (260px / 2) */
	margin-top: 10px;
	width: 260px !important;
	transform: none !important;
}

/* Arrow pointing up to button - centered in the dropdown */
.listing #calendar .pickadate__holder--opened::before {
	content: '';
	position: absolute;
	top: -8px;
	left: 50%;
	transform: translateX(-50%);
	width: 0;
	height: 0;
	border-left: 10px solid transparent;
	border-right: 10px solid transparent;
	border-bottom: 10px solid #fff;
	z-index: 1;
}

.listing #calendar .pickadate__holder--opened .pickadate__frame {
	top: 0 !important;
	border-radius: 12px;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
	overflow: hidden;
}

/* RTL adjustments for desktop - same centering logic */
body[dir="rtl"] .listing #calendar .pickadate__holder {
	left: 50% !important;
	right: auto !important;
	margin-left: -130px !important;
	margin-right: 0 !important;
}

/* Mobile optimization for filters */
@media (max-width: 1024px) {
	.listing .filters-wrapper {
		overflow-x: auto;
		-ms-overflow-style: none;
		scrollbar-width: none;
	}

	.listing .filters-wrapper::-webkit-scrollbar {
		display: none;
	}

	.listing .filters-wrapper.calendar-open {
		overflow: clip !important;
	}

	.listing #calendar .pickadate__holder--opened {
		position: fixed !important;
		inset: 0 !important;
		width: 100% !important;
		height: 100% !important;
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		margin-left: 0 !important;
		margin-top: 0 !important;
		z-index: 100000 !important;
		background: rgba(0, 0, 0, 0.5) !important;
	}

	/* Hide arrow on mobile */
	.listing #calendar .pickadate__holder--opened::before,
	.listing #calendar .pickadate__holder--opened::after,
	.listing #calendar .pickadate__holder--opened .pickadate__frame::before {
		display: none !important;
	}

	.listing #calendar .pickadate__holder--opened .pickadate__frame {
		position: relative !important;
		top: auto !important;
		left: auto !important;
		max-width: 320px;
		width: 90%;
		max-height: none !important;
		overflow: visible !important;
		margin: 0 auto;
		border-radius: 12px;
		box-shadow: 0 10px 40px rgba(0, 0, 0, 0.3);
		background: #fff;
		transition: none !important;
	}

	/* RTL mobile adjustments */
	body[dir="rtl"] .listing #calendar .pickadate__holder--opened {
		margin-left: 0 !important;
		margin-right: 0 !important;
	}
}

/* Today's date styling in calendar picker */
.picker-holder--classic .pickadate__day--today {
	position: relative;
	color: var(--main-color);
	font-weight: bold;
}
.picker-holder--classic .pickadate__day--today:before {
	content: " ";
	position: absolute;
	top: 2px;
	right: 2px;
	width: 0;
	height: 0;
	border-top: .5em solid var(--main-color);
	border-left: .5em solid transparent;
}
.picker-holder--classic .pickadate__holder--focused .pickadate__day--highlighted.pickadate__day--today:before{
	border-top-color: #455505;
}
.picker-holder--classic .pickadate__day--range-start,
.picker-holder--classic .pickadate__day--range-start:hover,
.picker-holder--classic .pickadate__day--range-end,
.picker-holder--classic .pickadate__day--range-end:hover {
	background-color: var(--text-dark);
	color: var(--white-color);
}
.picker-holder--classic .pickadate__day--in-range {
	background-color: rgba(0, 0, 0, 0.08);
}

/* Date Filters Loading State */
.listing #articles {
	transition: opacity 0.3s ease;
}

.listing #articles.loading {
	opacity: 0.5;
	pointer-events: none;
}

/* Filter Active State Animation */
.listing .filter.active {
	animation: filterActivePulse 0.3s ease;
}

@keyframes filterActivePulse {
	0% { transform: scale(1); }
	50% { transform: scale(1.05); }
	100% { transform: scale(1); }
}


/* ============================================
   SEASON PASS STYLES
   ============================================ */

/* Season Pass Badge - displayed on event cards */
.season-pass-badge {
    position: absolute;
    top: 10px;
    right: 10px;
    background: linear-gradient(135deg, #f40009 0%, #c40007 100%);
    color: white;
    padding: 5px 12px;
    border-radius: 4px;
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    z-index: 10;
    box-shadow: 0 2px 4px rgba(0,0,0,0.2);
}

.season-pass-badge span {
    display: block;
}

/* Season Pass Info notification on event detail page */
#season-pass-info {
    margin-top: 20px;
    margin-bottom: 20px;
    padding: 15px 20px;
    background: #fff5f5;
    border: 1px solid #f40009;
    border-radius: 6px;
    text-align: center;
}

#season-pass-info i {
    color: #f40009;
    margin-right: 10px;
    font-size: 18px;
    vertical-align: middle;
}

#season-pass-info .btn {
    margin-left: 15px;
    display: inline-block;
}

/* Mobile responsive adjustments */
@media (max-width: 768px) {
    .season-pass-badge {
        font-size: 10px;
        padding: 4px 8px;
        top: 8px;
        right: 8px;
    }

    #season-pass-info .btn {
        margin-left: 0;
        margin-top: 10px;
        display: block;
        width: 100%;
    }
}

/* Included in Season Pass Badge (for events that are part of season passes) */
.included-in-season-pass {
    position: absolute;
    top: 10px;
    right: 10px;
    background: linear-gradient(135deg, #f40009 0%, #c40007 100%);
    color: white;
    padding: 5px 12px;
    border-radius: 4px;
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    z-index: 10;
    box-shadow: 0 2px 4px rgba(0,0,0,0.2);
}

@media (max-width: 768px) {
    .included-in-season-pass {
        font-size: 9px;
        padding: 4px 8px;
        top: 35px;
        right: 8px;
    }
}
/* GA Eye Preview Icon */
.ga-eye-preview {
    display: flex;
    padding: 3.5px 8px;
    border: 1px solid var(--main-color);
    background: white;
}

.ga-eye-preview i {
    color: var(--main-color);
}

.event-banner-gallery:not(.slick-initialized){
	display: none;
}