@import url('https://fonts.googleapis.com/css2?family=Lato:ital,wght@0,100;0,300;0,400;0,700;0,900;1,100;1,300;1,400;1,700;1,900&family=Rationale&display=swap');

/* TEXT */

body{
	font-size:18px;
	color: #777;
}

.dynamic-content{
	color:white;
}

.page-header > h1{
	font-size: 2.7em;
	text-shadow: 0 0 3px rgb(255 255 255 / 80%), 0 0 7px #0787ff, 0 0 10px #0787ff;
}

.item a.item-title, .item-title a{
	font-family:  "Rationale", sans-serif;
	font-size: 32px;
}


.panel-body > .row, #hosted-token-checkout{
	max-width: 100%;
	margin: 20px;
}

div.hosted-token, #token-iframe{
	max-width: 100% !important;
}

.payment-method .panel .panel-heading.active{
	background-color:#0787ff;
}

.panel{
	background-color:#0e0e0e;
}

/* dark gray text */

.dynamic-content .item .item-event-info strong{
	color:white;
}

/* light gray text */

.item .item-event-info{
	color:#0787ff;
}

/* light gray bg */

.dynamic-content .navbar-default .navbar-nav > .open > a{
	background-color:#002950 !important;
}

.input-group-addon{
	background-color: #002950;
}

@media(max-width:991px){
	.mobile-nav{
		background-color: transparent;
	}
}

/* LOGO */

.site-logo > img, .navbar-brand > img{
  display: none;
}

.site-logo, .navbar-brand{
  background: url(https://s3.amazonaws.com/production-webstore/f6cb3659-169b-4f2a-aadb-bc4a7512aefc/themes/assets/logo-header.png?638418027990000000);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: 50%;
}

.site-logo{
width: 612px;
height:91px ;
}

.navbar-brand{
width:400px;
height: 60px;
}

/* HEADER */

.site-actions{
	padding-top: 60px;
	padding-bottom: 60px;
}

.site-actions > .container{
	display: flex;
	margin-left: 15px;
}

@media(max-width:767px){
	.navbar-header{
		height: 226px;
		display: flex;
		justify-content: center;
		flex-direction: column;
align-items:  flex-end;
	}
	
	.item-event > .col-md-6{
		margin-top: 55px;
	}
	
div.grid.grid-with-separator > div.col-3.item{
	min-width: 225px;
	}
	
	.navbar-brand{
		width: 100%;
		margin-bottom: 50px;
		
	}
	
	.container > .navbar-header, .container > .navbar-collapse, .container-fluid > .navbar-header, .container-fluid > .navbar-collapse{
		margin: 0;
	}
	
	header.top-menu .navbar .navbar-nav > li > a > .icon{
		color: white;
	}
	
	li.menu-tab, .navbar-toggle{
		width:35px;
		padding: 0;
		margin-right: 10px;
		position: relative;
		top:-3px;
	}
	
.navbar-custom-wrap .navbar-custom{
		padding-right: 15px !important;
	}
	
	.navbar-default .navbar-toggle.collapsed .icon-bar{
		background-color:white !important;
		width: 35px;
		height: 2px;
position: relative;
	}
	
	.navbar-toggle.opened{
		height: 35px;
		display: flex;
		justify-content: center;
		align-items: center;
		position: relative;
		left: 5px;
		top: 3px;
	}
	
}


/* uncomment this if you want to center the logo. remove navbar-header to use original alignment for mobile

.container > .pull-left{
  float: none !important;
}

.site-actions > .container, .navbar-header{
  display: flex;
  justify-content: center;
}

*/

/* MODALS */

.modal-content, .ui-pnotify .ui-pnotify-container{
	background:#0e0e0e !important;
}

/* NAVIGATION */


/* main navigation links */

.widget-menu .main-nav li>a {
	font-family: "Rationale", sans-serif;
	white-space: normal;
    color: #fff;
    text-decoration: none;
    text-transform: uppercase;
    font-size: 32px;
    line-height: 75px;
    text-shadow: 0 0 3px rgb(255 255 255 / 50%), 0 0 7px #0787ff, 0 0 10px #0787ff;
    transition-duration: .15s !important;
	padding:6px 15px;
}


/* main navigation active and hover */

.widget-menu .main-nav li>a:hover,
.widget-menu .main-nav li>a:focus,
.widget-menu .main-nav li.active>a,
.widget-menu .main-nav li.active>a:hover {
	
	text-shadow: 0 0 3px rgb(255 255 255 / 50%), 0 0 6px rgb(255 255 255 / 70%), 0 0 8px #0787ff, 0 0 12px #0787ff, 0 0 14px #0787ff, 0 0 15px #0787ff;
	color: white;

}





/* make main nav flex */

ul.main-nav {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}

@media(max-width:991px){

	
.widget-menu ul.main-nav li a, .mobile-nav .page-header.page-header-mobile h1{
		font-size: 24px;
	}
	
	
	.widget-menu ul.main-nav{
		padding:20px;
	}
	
	.widget-menu ul.main-nav li{
		width: auto;
	}
	
}

/* widget menu (main navigation bar) */


#widgets-collapse{
	background:#002950;
	border-bottom: 1px solid #0ff;
box-shadow: 0 10px 28px 1px rgb(121 201 251 / 38%), inset 0 -10px 15px 0 rgb(121 201 251 / 36%);
}

@media(min-width:991px){
	#widgets-collapse{
		height: 88px;
	}
}
/* Side menus */

.default-menu>.nav-pills>li>a{
  font-family: "Rationale", sans-serif;
	font-size: 22px;
}


/* overflow fixes */




@media(max-width:991px) {
	.widget-menu ul.main-nav li a {
		overflow: visible;
		white-space: normal;
		line-height: normal;
		text-align: left;
		width: auto;
	}
}


/* make phone nav expand accross width */

@media(max-width:767px) {
	.widget-menu ul.main-nav li {
		flex-basis: 100%;
	}
	.grid.event-grid{
		position: relative;
		left: 0;
		margin: 0;
		justify-content: center;
	}
	
	.grid.event-grid .col-3.item{
		width: unset;
	}
	
}


/* CONTENT */

/*tablet size only*/

@media(max-width:991px) and (min-width:767px){
	
	.grid.grid-with-separator{
		width: 100%;
	}
	
}

.mobile-nav ~ .container > .row{
	margin-left: unset;
	margin-right: unset;
}

/* Children */

.catalog-empty{
	padding-bottom: 35px;
}

.child-info{
	min-width: 250px;
}

#profile-children-list .grid.grid-with-separator{
justify-content: center;
}

.item-baby.col-4{
	width: unset;
	flex-basis: 50%;
}

/* Buttons */

.btn-primary, .btn-checkout, .btn-default{
	
	cursor: pointer;
padding: 14px 40px;
border-radius: 15px 0 15px 0;
color: #fff;
display: inline-block;
text-decoration: none;
font-family: 'Rationale', sans-serif;
font-size: 22px;
background-color: rgba(0,0,0,.85);
border: 1px solid #0ff;
box-shadow: 0 0 15px 7px rgb(121 201 251 / 38%), inset 0 0 15px 7px rgb(121 201 251 / 36%);
transition: all .15s ease 0s;
text-shadow: 0 0 3px rgb(255 255 255 / 50%), 0 0 8px #0787ff, 0 0 12px #0787ff;
	
}

.btn.btn-primary:hover, .btn.btn-checkout:hover, .btn.btn-primary:focus, .btn.btn-checkout:focus, .btn.btn-primary:active, .btn.btn-checkout:active{
background-color: rgba(0,0,0,.85);
border: 1px solid #b0ffff;
text-shadow: 0 0 3px rgb(255 255 255 / 50%), 0 0 6px rgb(255 255 255 / 70%), 0 0 8px #0787ff, 0 0 12px #0787ff, 0 0 14px #0787ff, 0 0 15px #0787ff;
box-shadow: 0 0 15px 7px rgb(121 201 251 / 38%), inset 0 0 15px 7px rgb(121 201 251 / 36%), 0 0 15px 7px rgb(121 201 251 / 38%), inset 0 0 15px 7px rgb(121 201 251 / 36%);
}

.input-group-btn > .btn-apply-coupon.btn-primary{
	height:auto;
}

.cart-coupons, .add-to-cart{
	display: flex;
	justify-content: center;
	align-items: center;
}

div.cart-coupons input.form-control.coupon-code{
	height: 61px;
}

/* EVENTS/AREAS */


/* Package item header */

.package-modifiers .modifier .modifier-header, .package-modifiers .modifier .modifier-content .modifier-item:hover{
	background:#002950;
}


/* Grid */

.grid-container .col-content{
background-color: rgba(0,0,0,.85);
border: 2px solid #0ff;
border-radius: 20px 0;
box-shadow: 0 0 15px 7px rgb(255 255 255 / 8%), inset 0 0 15px 7px rgb(255 255 255 / 6%);
	box-shadow: 0 0 15px 7px rgb(121 201 251 / 38%), inset 0 0 15px 7px rgb(121 201 251 / 36%);
overflow: hidden;
	margin:15px;
}

.grid.grid-with-separator{
	margin: 0;
	white-space:  normal;
	flex-wrap: wrap;
	width: 100%;
	overflow: visible !important;
}

.grid-container .col-content .col-content-flex{
	margin:20px;
}

.grid .col-3{
	min-width: 200px;
}

.grid.grid-with-separator div.col-3.item div.col-content div.row.row-mobile-controls form{
	display: flex;
	max-width: 100%;
	flex-wrap: wrap;
}

.grid.grid-with-separator div.row.row-mobile-controls form div.col-sm-6{
width: 100%;
}

@media(min-width:1300px){

.grid .col-3{
	width: 33.3%;
}
	
}

/* Tablet booking spacing */

@media(max-width:991px){
	div.col-lg-4{
		margin-top: 55px;
	}
}

.col-content .item-image-link > img{
	width: 100%;
}

.item-event-content-title{
	display: flex;
	justify-content: space-between;
	align-items: center;
}

/* overflow nav button fix */

li.dropdown.tabdrop a, .tabdrop-arrow-wrap{
  display: flex;
  align-items: center;
justify-content: center;
}

.tabdrop-arrow-wrap{
  margin-left: 10px;
}


/* event reservation button fix */

.row-mobile-controls, .col-content > .row {
	display: flex;
	flex-wrap: wrap;
	padding: 10px;
}



.row-mobile-controls .mobile-left{
	flex-basis: 100%;
}

/* input button fix */

.input-group-btn > a{
  display: flex;
  align-items: center;
  justify-content:center;
}


/* FOOTER */

footer.foot>div {
	padding-top: 35px;
	background: url(https://s3.amazonaws.com/production-webstore/f6cb3659-169b-4f2a-aadb-bc4a7512aefc/themes/assets/footer-bg.jpg?637721784780000000);
	background-position: center;
background-size: cover;
}


/* GENERIC FIXES */


/* remove extra space from unused template areas when not logged in as an administrator */

.templatearea-empty {
	display: none !important;
}


/* remove template area shadow */

.templatearea .data-templatearea-content {
	box-shadow: none !important;
}

.templatearea {
	border: 0px;
}


/* preserve spacing for pass descriptions */

.single-item .single-item-description {
	white-space: pre-line;
}

/* Make Children visible for Memberships */

#main-content-container .memberAddEnabled {
	color:white !important;
}


/* Q-ZAR responsive booking improvements — September 2026. */
[data-templatearea="ContentTop"] .data-templatearea-content p {
  color: #c8d1db;
  font-size: 14px;
  line-height: 1.5;
  text-align: left !important;
  margin: 0 0 16px;
}
[data-templatearea="ContentTop"] .data-templatearea-content em { font-style: normal; }
[data-templatearea="DateTop"] .data-templatearea-content { color: #fff; }
.qzar-booking-links { display: flex; flex-wrap: wrap; gap: 12px; margin: 0 0 24px; }
.qzar-booking-links a { display: flex; align-items: center; justify-content: center; min-height: 48px; padding: 10px 18px; border: 1px solid #00ffff; border-radius: 10px 0; color: #fff; font-size: 18px; text-align: center; text-decoration: none; }
.qzar-booking-links a:first-child { background: #002950; font-weight: 700; }
.qzar-booking-links a:hover, .qzar-booking-links a:focus-visible { background: #004675; outline: 2px solid #00ffff; outline-offset: 3px; }
.qzar-home-booking { display: none; }
body:has(.widget-list) .qzar-home-booking { display: block; }
.qzar-home-booking .qzar-offer { color: #fff; font-size: 16px; margin: 0 0 20px; }
@media (max-width: 767px) {
  header.top-menu .navbar-header { height: 96px; flex-direction: row; align-items: center; justify-content: space-between; }
  header.top-menu .navbar-brand { width: 45%; max-width: 180px; height: 54px; margin: 0; flex-shrink: 1; }
  header.top-menu .navbar-custom-wrap { flex: 0 0 auto; }
  header.top-menu .navbar-custom-wrap .navbar-custom { padding-right: 0 !important; }
  header.top-menu .navbar .navbar-custom-actions > li > a { min-width: 44px; min-height: 44px; display: flex; align-items: center; justify-content: center; }
  header.top-menu .navbar-toggle, header.top-menu .navbar-toggle.opened { width: 44px; height: 44px; margin: 0; padding: 8px; top: 0; left: 0; }
  .widget-menu ul.main-nav { padding: 12px; }
  .widget-menu ul.main-nav li a { min-height: 44px; padding: 10px 12px; }
  .mobile-nav .page-header { margin: 16px 0 8px; }
  .mobile-nav > .container > .row > .col-xs-12 > .row { display: flex; flex-wrap: wrap; }
  .mobile-nav > .container > .row > .col-xs-12 > .row > .col-xs-8 { width: 50% !important; }
  .mobile-nav .mobile-nav-item { margin-bottom: 0; }
  .mobile-nav .mobile-nav-item a { min-height: 44px; display: flex; align-items: center; font-size: 14px; }
  .mobile-nav .mobile-nav-item a.disabled { color: #aeb8c5; }
  [data-templatearea="ContentTop"] .data-templatearea-content { padding: 0; }
  [data-templatearea="ContentTop"] .data-templatearea-content p { margin-bottom: 12px; }
  .item-event > .col-md-6, .item-event > .col-lg-4 { margin-top: 16px; }
  .grid.event-grid .col-3.item { width: 100%; min-width: 0; }
  .grid-container .col-content { margin: 12px 0; }
  .btn-primary, .btn-checkout, .btn-default { padding: 10px 20px; min-height: 48px; }
  input.form-control, select.form-control, textarea.form-control { font-size: 16px; }
  .datepicker table { width: 100%; }
  .item-event .event-date-picker .datepicker-inline { width: 100%; max-width: 350px; }
  .datepicker table td.day { width: auto !important; height: 44px !important; }
  .datepicker table th.prev, .datepicker table th.next { height: 44px; }
  .qzar-booking-links { gap: 10px; }
  .qzar-booking-links a { flex: 1 1 calc(50% - 10px); padding: 10px; font-size: 16px; }
  .qzar-booking-links a:first-child { flex-basis: 100%; }
}
