.expand {
    overflow-y: hidden;
    overflow-x: unset;
    transition: 0.2s;
}
.loader{
	position:absolute;
	inset:0;
	background-color:inherit;
	margin:0!important;
	border-radius:var(--round);
	display:flex;
	align-items:center;
	justify-content: center;
	transition:0.2s;
	opacity:0;
}
.loader.show{opacity:1;}
.loader:after{
	content:"";
	width:10px;
	height:10px;
	border:solid 2px rgb(var(--theme));
	border-radius:99px;
	border-top-color:transparent;
	animation:spin 1s linear infinite;
}
.btn>.loader:after{border-color:#FFF;border-top-color:transparent;}select{
	color:var(--abstract-text);
}
.inputwrap .wrapflex {
    border: solid 1px var(--line);
    border-radius: var(--round);
    position: relative;
    display: flex;
    align-items: center;
    transition: 0.2s;
    padding: 0 16px;
}
.inputwrap .wrapflex>.input {
    background: none;
    border: 0;
    outline: 0;
    padding: 12px 0;
    font-family: 'Muli', sans-serif;
    box-sizing: border-box;
    height: 100%;
    width: 100%!important;
}
.input-under {
    display: flex;
    justify-content: space-between;
}
.btn,p.button>a{
    padding: 7px 12px;
    white-space: nowrap;
    position: relative;
    text-decoration: none;
    cursor: pointer;
    border-radius: 6px;
    border: solid 2px transparent;
    transition: 0.2s;
    display: inline-flex;
    align-items: center;
    user-select: none;
    justify-content: center;
	font-weight:bold;
}

p.button>a{
    display:block;
    text-align:center;
}

.btn.solid,p.button>a{
	background-color:rgb(var(--theme));
	color:#FFF;
}
.btn.solid:hover {
    box-shadow: 0 0 6px rgba(var(--theme),.5);
    transition: 0s;
}
.btn.solid:active {
    background-color:rgba(var(--theme),.8);
}
.btn.solid.disabled{
	pointer-events:none;
	opacity:0.5;
}
.inputwrap.focus .wrapflex{
	border-color:rgb(var(--theme));
}
.inputwrap .form-error{
	color:red;
	opacity:0;
	transition:0.2s;
}
.inputwrap.error .wrapflex{border-color:red;}
.inputwrap.error .form-error{opacity:1;}

.inputwrap .checkboxflex{
	display:flex;
	align-items:center;
}
.inputwrap .checkboxflex>.input{position:absolute;display:none;}
.inputwrap .checkboxflex>a{
	border: solid 1px var(--line);
    display: inline-block;
    padding: 0px 2px;
    margin-right: 9px;
    border-radius: 5px;
	color:transparent;
	transition:0.2s;
	user-select:none;
}

.inputwrap.error .checkboxflex>a{
	border:solid 2px red;
}

.checkboxflex>a>i{font-size:17pt;pointer-events:none;    margin-top: 1px;}
.checkboxflex>a.checked{background-color:rgb(var(--theme));border-color:transparent;}
.checkboxflex>a.checked>i{color:#FFF;}

form.disabled .inputwrap{
	opacity:0.5;
	pointer-events:none;
}
form.disabled .btn{pointer-events:none;}:root{
	--text:#687c98;
	--abstract-text:#000;
	--line:#dee7f1;
	--theme:91,138,254;
	--round:5px;
	--background:#FFFFFF;
}
body{
	display: flex;
    justify-content: center;
    align-items: center;
    inset: 0;
    position: absolute;
    overflow-y: scroll;
    overflow-x: hidden;
    padding: 0;
	color:var(--text);
	line-height:1.5;
	-webkit-tap-highlight-color: transparent;
}

.fixed{
	height:450px;
    overflow-y: scroll; 
	-webkit-overflow-scrolling: touch;
}

body.dark{
	--line:#24282c;
	--background:#0e1216;
	--abstract-text:#FFF;
	--text:#9daec6;
}
body.dark.frame{
	background:var(--background);
}

body.dark .inputwrap .input{color:#FFF;background: var(--background);}

.checkout{
	max-width:600px;
	width:100%;
	min-height:100px;
	margin:auto;
}

.checkout-border{
	border:solid 1px var(--line);
	border-radius:8px;
	padding:0;
	margin: 10px 0;
	background-color:var(--background);
	position:relative;
}

.external-text{color:#000;}
.external-text.ondark{color:#FFF;}
.external-text.ondark a{color:#FFF;}

.steps{
	justify-content: center;
    display: inline-flex;
    border: solid 1px var(--line);
    margin: 10px;
    padding: 3px 11px;
    border-radius: 5px;
}
.steps>a{
	display: inline-block;
	text-transform: capitalize;
}
.steps>a:not(:last-child){
	padding-right:15px;
}
.steps>a:not(:last-child):after{
	content:"keyboard_arrow_right";
	font-family:"Material Symbols Outlined";
	font-size:12pt;
	position:absolute;
	margin-left:5px;
	margin-top:-2px;
	color: var(--text);
	font-weight:normal;
}
.steps>a.active{
	color: rgb(var(--theme));
    font-weight: bold;
}
.link{
	text-decoration:none;
	color:rgb(var(--theme));
	border-bottom:dashed 1px;
	cursor:pointer;
}
.page-list>.btn{
	display: block;
    margin-bottom: 6px;
	padding: 20px;
}
.page-list .title{
	display:block;
	font-size:20px;
	color:rgb(var(--theme));
}
.calendar{
	margin:12px;
	text-align:center;
}

.calendar>.header{
	height:25px;
	padding-top:2px;
	font-weight:bold;
}

.calendar>div{
	width: calc(14.28% - 6px);
    display: inline-block;
    vertical-align: top;
	margin:3px;
    box-sizing: border-box;
	text-align:center;
	height:50px;
	padding-top:15px;
	border-radius:4px;
	user-select:none;
}
.calendar>.available{
	transition: 0.2s;
	cursor:pointer;
	background-color:rgba(var(--theme),1);
	color:var(--background);
	
}
.calendar>.available:hover{
	transition: 0s;
	background-color:rgb(var(--theme),.6);
}.ticket{
	padding:10px 20px;
	border-bottom:solid 1px var(--line);
}
.ticket:last-child{border:0;}

.ticket .description{
	margin-top:8px;
	overflow:hidden;
	opacity:0.9;
	max-height:37px;
}
.ticket .description>div{
	min-height:37px;
}
.ticket .description.open{
	max-height:unset;
}

.material-symbols-outlined{
	font-size:14pt;
}
.testing-banner{
	width:100%;
	background-color:red;
	padding:10px 0;
	text-align:center;
	color:white;
	border-radius:5px;
}
.testing-banner>h3,.testing-banner>p{
	margin:0;
}

.alert{
	max-height:0;
	overflow:hidden;
}
.alert.open{
	max-height:unset;
}
.alert>div{
	margin-top:15px;
	padding:16px;
	color:red;
	position:relative;
	padding-left:46px;
	background-color:rgba(255,0,0,.08);
}
.alert>div:before{
	font-family:"Material Symbols Outlined";
	content:"warning";
	position:absolute;
	left:16px;
	font-size:20px;
	margin-top:-6px;
}

.heading,.subheading{
	font-size:26px;
	color:rgb(var(--theme));
	font-weight:bold;
	padding:10px 10px;
}
.subheading{font-size:22px;}

.ticket .title,.ticket .tier{
	font-size:16px;
	color:rgb(var(--theme));
	font-weight:bold;
}
.ticket .tier{
    color: rgb(var(--theme));
    background-color: rgba(var(--theme),.1);
    padding: 0px 10px;
    border-radius: 6px;
    margin-right: 5px;
}

.ticket .price{
	text-align:right;
}
.ticket .price .fee{
	color: rgb(var(--theme));
	font-size:11px;
	margin:0;
}

.ticket .quantity{
	height: 36px;
	align-items: flex-start;
	user-select:none;
	gap:0;
}
.ticket .quantity a{padding:7px;}
.ticket .quantity a:first-child{
	border-top-right-radius:0;
	border-bottom-right-radius:0;
	margin-right:0;
}

.ticket .quantity a:last-child{
	border-top-left-radius:0;
	border-bottom-left-radius:0;
	margin-left:0;
}
.ticket .quantity .inputwrap{margin:0;}
.ticket .quantity .wrapflex{padding:0;margin:0;border-radius:0;	border-left-width:0;border-right-width:0;}
.ticket .quantity .input {
    width: 43px!important;
    height: 34.5px;
    padding: 0;
    text-align: center;
	border-radius:0;
}

.ticket .quantity .label {
    font-weight: bold;
    color: rgb(var(--theme));
    background-color: rgba(var(--theme),.1);
    padding: 8px 25px;
    border-radius: 6px;
}

.ticket .crossout{
	color:red;
	text-decoration: line-through;
}

.money{
	max-width:400px;
	margin:0 auto;
	padding:16px 0;
}
.money>div{
	padding:6px;
	padding: 3px 7px;
}
.money.dd>div{
	padding-right:30px;
}
.money>.feegroup{
	color:rgb(var(--theme));
}
.money.dd>.feegroup{
	border:solid 1px var(--line);
	cursor:pointer;
	position:relative;
}
.money.dd>.feegroup:after{
	content: "keyboard_arrow_right";
    font-family: "Material Symbols Outlined";
    position: absolute;
    right: 3px;
    top: -3px;
    font-size: 22px;
	transition:0.2s;
}
.money.dd>.feegroup.open{
	cursor:default;
}
.money.dd>.feegroup:hover:after{
	transform:rotate(90deg);
}
.money.dd>.feegroup.open:after{
	opacity:0;
}
.ticket .discount{
    text-align: center;
    font-weight: bold;
    color: rgb(var(--theme));
}

.tier-row {
    padding: 5px 10px;
    border-bottom: dashed 1px var(--line);
}
.tier-row:last-child{border:0;}

.message p{margin:0;}

.deadline{
	text-align:center;
	color:rgb(var(--theme));
	border:solid 1px var(--line);
	border-radius: 5px;
	padding:3px;
	opacity:0;
	transition:0.2s;
	width:0;
}
.deadline.open{
	opacity:1;
	width: 58px;
}

.well{
	padding:8px;
	margin:8px;
	border:solid 1px var(--line);
	border-radius:4px;
}

.checkout-loader{
	background-color:var(--background);
	position:absolute;
	inset:0;
}

.complete-icon {
    text-align: center;
    border: solid 4px;
    color: rgb(var(--theme));
    border-radius: 99px;
    font-size: 100px;
    margin: 20px auto;
    display: inline-block;
    padding: 13px;
}

.booking-protect-sales-message .booking-protect-sales-title{display:none;}

.image-view{
	width:100px;
	height:100px;
    display: inline-block;
    vertical-align: middle;
	border:solid 1px var(--line);
	border-radius: 8px;
	overflow:hidden;
	margin-right:8px;
	cursor:pointer;
}
.image-view>img{width:100%;}

.image-view.large>img{
	position:absolute;
}

.image-viewer{
	position:fixed;
	inset:0;
	background-color:rgba(0,0,0,.4);
	z-index:100;
	display:flex;
	align-items:center;
	justify-content: center;
}

.image-viewer>img{
	max-width:700px;
	align-self:center;
	width:100%;
	border-radius:10px;
}

.image-viewer>.btn{
	position:absolute;
	top:20px;
	right:20px;
	color:#000;
	
}
.image-viewer>.btn>i{
	font-size:20pt;
}

.btn.tab{
	border:solid 1px var(--line);
}
.btn.tab.active{
	border-bottom-color:rgb(var(--theme));
	border-bottom-width:2px;
	color:rgb(var(--theme));
}

.tag{
	border: solid 1px rgb(var(--theme));
    padding: 2px 8px;
    display: inline-block;
    margin-top: 2px;
    border-radius: 4px;
    color: rgb(var(--theme));
    font-weight: bold;
}

.or {
    padding: 23px 0;
    text-align: center;
    position: relative;
}
.or:before {
    content: "";
    left: 0;
    right: 0;
    border-bottom: solid 1px var(--line);
    position: absolute;
    top: 50%;
}
.or:after {
    content: "OR";
    top: 0;
    bottom: 0;
    position: absolute;
    width: 50px;
    background-color: #FFF;
    margin-left: -25px;
    top: calc(50% - 7px);
    font-size: 8pt;
}

@media screen and (min-width:799px){
	::-webkit-scrollbar {width: 6px;}
	::-webkit-scrollbar-thumb{background: #d7e1ea;}
}
.overlay{
	inset:0;
	z-index:6;
	background-color:var(--background);
	position:absolute;
	display:none;
}

@media screen and (max-width:500px){
	body{
		margin-left:5px;
		margin-right:5px;
	}
	.ticket{justify-content: right;}
	.ticket .content{
		flex-basis: auto;
		width: 100%;
	}
	.external-text span{display:none;}
}
@media screen and (max-height:400px){
	.overlay{
		display:block;
	}
}