/*! HTML5 Boilerplate v5.3.0 | MIT License | https://html5boilerplate.com/ */

/*
 * What follows is the result of much research on cross-browser styling.
 * Credit left inline and big thanks to Nicolas Gallagher, Jonathan Neal,
 * Kroc Camen, and the H5BP dev community and team.
 */

/* ==========================================================================
   Base styles: opinionated defaults
   ========================================================================== */

html {
	color: #222;
	font-size: 1em;
	line-height: 1.4;
}

/*
 * Remove text-shadow in selection highlight:
 * https://twitter.com/miketaylr/status/12228805301
 *
 * These selection rule sets have to be separate.
 * Customize the background color to match your design.
 */

::-moz-selection {
	background: #b3d4fc;
	text-shadow: none;
}

::selection {
	background: #b3d4fc;
	text-shadow: none;
}

/*
 * A better looking default horizontal rule
 */

hr {
	display: block;
	height: 1px;
	border: 0;
	border-top: 1px solid #ccc;
	margin: 1em 0;
	padding: 0;
}

/*
 * Remove the gap between audio, canvas, iframes,
 * images, videos and the bottom of their containers:
 * https://github.com/h5bp/html5-boilerplate/issues/440
 */

audio,
canvas,
iframe,
img,
svg,
video {
	vertical-align: middle;
}

/*
 * Remove default fieldset styles.
 */

fieldset {
	border: 0;
	margin: 0;
	padding: 0;
}

/*
 * Allow only vertical resizing of textareas.
 */

textarea {
	resize: vertical;
}

/* ==========================================================================
   Browser Upgrade Prompt
   ========================================================================== */

.browserupgrade {
	margin: 0.2em 0;
	background: #ccc;
	color: #000;
	padding: 0.2em 0;
}

/* ==========================================================================
   Author's custom styles
   ========================================================================== */


html {box-sizing: border-box;}
*, *:before, *:after {box-sizing: inherit;}
.wrapper {padding-left: 10%; padding-right: 10%;}
.wrapper:after {clear: both; display: table; content: "";}
.mobile-menu {display: none;}
.preloader {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: #FFF;
	z-index: 999999999999999999999;
}
body {
	width: 100%;
	font-family: 'Play', sans-serif;
	font-weight: 400;
	font-size: 1rem;
	line-height: 1.5;
	color: #6F6E6E;
}
body.mceContentBody {
	padding: 0;
}
#placer {
	position: absolute;
	top: 20px;
	left: 0;
	width: 100%;
	height: 1000%;
	background: url(../images/des.jpg) no-repeat;
	background-size: contain;
	z-index: -1;
	opacity: 0.4;
	display: none;
}
h1, h2, h3, h4, h5, h6 {
	font-weight: 400;
	color: #95197D;
}
p {
	line-height: 1.4;
}
form {
	text-align: left;
	margin: 20px 0;
}
form input, 
form textarea {
	width: 100%;
	margin: 0 0 25px 0;
	border: 1px solid #DDD;
	background: #FFF;
	padding: 0 20px;
	font-size: 18px;
	height: 70px;
}
form textarea {
	height: 355px;
}
form input[type=text] {
	width: 49%;
	float: left;
	margin-right: 2%;
}
form input[type=text]:nth-of-type(2n) {
	margin-right: 0;
}
form input[type=checkbox] {
	width: 25px;
	height: 25px;
	float: left;
	clear: left;
	margin: 0 25px 0 0;
}
form .checkbox {
	margin: 0 0 25px 0;
}
form .checkbox:after {
	content: "";
	display: table;
	clear: both;
}
form .checkbox label {
	float: left;
}
form input[type=submit] {
	display: block;
	float: none;
	clear: both;
	margin: 20px auto;
	cursor: pointer;
	border: 0;
}
form select {
	width: 100%;
	margin: 0 0 25px 0;
	border: 1px solid #DDD;
	background: #FFF;
	padding: 0 20px;
	font-size: 16px;
	height: 70px;
	line-height: 70px;
}
form input.error,
form textarea.error,
form select.error {
	background: #912B45;
	color: #FFF;
}
/*form select.error {
	border: 1px solid #912B45;
	color: #912B45;
}*/
form label, form p {
	text-align: left;
	font-size: 18px;
}
form label.error {
	display: none !important;
}
#gmap {
	width: 100%;
	height: 25vw;
}
.scrolltotop {
	display: none;
	position: fixed;
	padding: 1vw 0 0.2vw;
	left: 2vw;
	bottom: 0;
	background: rgba(0,0,0,0.7);
	color: #FFF;
	font-weight: 400;
	font-size: 2vw;
	width: 4vw;
	border-radius: 4px 4px 0 0;
	text-align: center;
	line-height: 0.5;
	cursor: pointer;
}
.overlay {
	display: none;
	position: fixed;
	z-index: 1000;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	background: rgba(0,0,0,0.75);
}
.overlay-close {
	position: absolute;
	top: 10px;
	right: 10px;
	width: 20px;
	height: 20px;
}
.overlay-close:before {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	line-height: 20px;
	content: "X";
	color: #95197D;
	font-weight: 500;
	font-size: 20px;
	cursor: pointer;
}
.button {
	margin: 20px 0;
	padding: 0;
	display: block;
	line-height: 60px;
	height: 60px;
	font-size: 26px;
	text-decoration: none;
	color: #FFF;
	background: url(../images/background-button.jpg) no-repeat;
	background-position: -70px -70px;
	background-size: 120%;
	transition-duration: 200ms;
}
.button:hover {
	background-position: -70px -100px;
}


/*.button:hover {
	-webkit-box-shadow: 0px 3px 3px 0px rgba(0,0,0,0.4);
	-moz-box-shadow: 0px 3px 3px 0px rgba(0,0,0,0.4);
	box-shadow: 0px 3px 3px 0px rgba(0,0,0,0.4);
	margin: 32px 0 38px;
	background: #FFF;
}*/




header.site-header, .top-bar:after {
	display: table;
	content: " ";
	clear: both;
}
header.site-header {
	position: relative;
	width: 100%;
	margin: 0 0 1px 0;
	border-bottom: 1px solid #9A9A9A;
	/*opacity: 0.4;*/
}
.top-bar {
	background: #9A9A9A;
}
.call-us {
	float: left;
	padding: 0 30px 0 80px;
	border-right: 2px solid #FFF;
	background: url(../images/icon-telephone.svg) no-repeat left 40px center #9F218B;
	background-size: 20px;
	color: #FFF;
	line-height: 50px;
	font-size: 24px;
	text-decoration: none;
}
.strapline {
	float: left;
	padding: 0 25px;
	line-height: 50px;
	font-size: 24px;
	color: #4D4D4D;
	letter-spacing: -0.2px;
}
ul.contact-list {
	margin: 0;
	padding: 0;
	list-style: none;
	float: right;
}
ul.contact-list li {
	float: left;
	margin: 0 10px 0 0;
	line-height: 50px;
	text-align: center;
}
ul.contact-list li a {
	display: block;
	width: 50px;
	line-height: 50px;
	font-size: 20px;
	background: no-repeat center center;
	background-size: 30px;
	text-indent: -999999px;
	overflow: hidden;
}
ul.contact-list li.mmb-link {
	position: relative;
	background: #9F218B;
	color: #FFF;
	text-align: center;
	padding: 0 20px;
	border-left: 2px solid #FFF;
	border-right: 2px solid #FFF;
	cursor: pointer;
}
.mmb-login {
	position: absolute;
	left: 0;
	top: 100%;
	width: 300px;
	margin: 0;
	border: 1px solid #9F218B;
	background: #9F218B;
	padding: 20px;
	z-index: 999;
	display: none;
	cursor: auto;
}
form.mmb-login input {
	height: auto;
	line-height: 50px;
}
form.mmb-login input[type="submit"] {
	margin: 0;
	background-size: 150%;
	font-size: 22px;
}
form.mmb-login p {
	margin: 0 0 10px 0;
	padding: 0;
}
ul.contact-list li.email a {
	background-image: url(../images/icon-email.svg);
	background-position: left 20px center;
	background-size: 45px;
	padding-left: 70px;
	text-indent: 0;
	width: auto;
	color: #FFF;
	text-decoration: none;
}
ul.contact-list li.facebook a {
	background-image: url(../images/icon-facebook.svg);
}
ul.contact-list li.twitter a {
	background-image: url(../images/icon-twitter.svg);
	background-size: 36px;
}
.contact-bubble {
	float: right;
	width: 70px;
	height: 50px;
	border-left: 2px solid #FFF;
	cursor: pointer;
	background: url(../images/icon-bubble.svg) no-repeat center center #9F218B;
	background-size: 45%;
}
.contact-bubble a {
	display: block;
	width: 100%;
	height: 100%;
}






.site-logo {
	float: left;
	width: 470px;
	max-width: 30%;
	padding: 35px 35px 35px 90px;
}
.site-nav {
	float: right;
	max-width: 70%;
}
.site-nav ul {
	margin: 0 30px 0 0;
	padding: 0;
	list-style: none;
}
.site-nav ul li {
	float: left;
	margin: 0;
	padding: 0;
	list-style: none;
}
.site-nav ul li a {
	position: relative;
	display: block;
	padding: 90px 20px 45px;
	text-decoration: none;
	font-size: 26px;
	text-align: right;
	line-height: 35px;
	color: #9A9A9A;
}
.site-nav ul li a:hover, .site-nav ul li a.active {
	color: #95197D;
}
.site-nav ul li a.active:after {
	content: "";
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translate(-50%, 0);
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 0 10px 10px 10px;
	border-color: transparent transparent #9A9A9A transparent;
}

/*.banner img {
	width: 100%;
}*/
.banner {
	position: relative;
}
.banner a {
	color: #FFF;
	text-decoration: none;
}
.banner-background {
	width: 72.5%;
}
.banner-background img {
	width: 100%;
}
.banner-message {
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	background: url(../images/background-text.png) right 0 no-repeat;
	background-size: 43.375%;
	padding: 0 6vw 7vw 0;
	text-align: right;
	vertical-align: bottom;
	display: flex;
	flex-direction: column;
	line-height: 1;
}
.banner-message p {
	margin: 0;
	padding: 0;
}
.banner-message-flex {
	margin: auto 0 0 0;
}
.banner-title {
	float: right;
	width: 35%;
	font-size: 4vw;
}
.banner-text {
	margin: 1.5% 0 0 0;
	float: right;
	clear: right;
	width: 35%;
	font-size: 3vw;
}
.banner-overlay {
	position: absolute;
	width: 25%;
	height: 100%;
	top: 0;
	left: 0;
	background: url(../images/banner-overlay.png) left 0 no-repeat;
	background-size: 100%;	
}
.banner-overlay-content {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
}
.banner-overlay-content p {
	margin: 0;
	padding: 0;
}

.banners .slick-prev, .banners .slick-next {
	position: absolute;
	top: 50%;
	z-index: 5;
	width: 5%;
	height: 10%;
}
.banners .slick-prev:before, .banners .slick-next:before {
	content: "";
}
.banners .slick-prev {
	background: url(../images/arrow-left.png) no-repeat center 0;
	background-size: contain;
	left: 2vw;
}
.banners .slick-next {
	background: url(../images/arrow-right.png) no-repeat center 0;
	background-size: contain;
	right: 2vw;
}

main.homepage-content {
	margin-bottom: 80px;
}
main.homepage-content p a {
	color: #95197D;
}
main.webpage-content {
	margin: -1px 0 80px 0;
	border-top: 5px solid #9A9A9A;
}
main.webpage-content h1 {
	font-size: 2.5em;
}
main.webpage-content h1, main.webpage-content h2, main.webpage-content h3, main.webpage-content h4 {
	text-align: center;
	padding: 0 0 15px 0;
	border-bottom: 1px solid #95197D;
}
section {
	padding-top: 60px;
	/*padding-bottom: 60px;*/
	text-align: center;	
}
section h1 {
	padding: 0 20%;
	margin: 0 0 20px 0;
	font-weight: 400;
	font-size: 48px;
	line-height: 1;
}
section h2 {
	margin: 0 0 20px 0;
	font-weight: 400;
	font-size: 30px;
	line-height: 1;
}
section p {
	font-size: 17px;
	line-height: 1.6;
	font-family: "Montserrat", sans-serif;
}


section.intro p {
	padding: 0 220px;
}
section.sports .sport {
	float: left;
	margin: 0 0 25px 0;
	width: 49.375%;
	text-decoration: none;
	color: #9A9A9A;
}
section.sports .sport-image {
	position: relative;
	height: 0;
	padding-top: 58.625%;
	overflow: hidden;
}
section.sports .sport img {
	position: absolute;
	width: 100%;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	transition-duration: 400ms;
}
section.sports .sport:hover img {
	width: 105%;
}
section.sports .sport h2 {
	clear: both;
	margin: 0;
	padding: 25px 0 35px;
}
section.sports .sport:nth-child(2) {
	float: right;
}
section.sports .sport:nth-child(3n+3) {
	clear: both;
}
section.sports .sport:nth-child(n+3) {
	width: 32.5%;
	margin-right: 1.25%;
}
section.sports .sport:nth-child(3n+5) {
	margin-right: 0;
}
section.signup {
	background: url(../images/background-events.jpg) no-repeat;
	background-size: 100%;
	padding-bottom: 430px;
	/*opacity: 0.4;*/
}
section.signup form {
	margin: 0;
	text-align: center;
}
section.signup form h1 {
	color: #FFF;
}
section.signup form p {
	width: 67%;
	margin-left: auto;
	margin-right: auto;
	color: #FFF;
	font-size: 18px;
	text-align: center;
}
section.signup form input[type=text], section.signup form textarea, section.signup form select {
	height: 60px;
	line-height: 60px;
	margin: 20px 0 0 0;
	border: 1px solid #FFF;
	font-family: "Montserrat", sans-serif;
}
section.signup form textarea {
	float: right;
	width: 49%;
	height: 140px;
}
section.signup form select {
	float: right;
	width: 49%;
}
section.signup form input[type=submit] {
	float: right;
	clear: right;
	width: 49%;
	height: 60px;
	line-height: 60px;
	margin: 20px 0 0 0;
}
section.signup .alertmessage {
	color: #FFF;
}
section.gallery {
	position: relative;
	margin-top: -375px;
	z-index: 2;
}
section.gallery h1 {
	color: #FFF;
	margin-bottom: 45px;
}
section.gallery ul {
	list-style: none;
	margin: 0;
	padding: 0;
}
section.gallery ul li {
	position: relative;
	list-style: none;
	float: left;
	margin: 0 2% 2% 0;
	padding-top: 22%;
	height: 0;
	overflow: hidden;
}

section.gallery img {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 100%;
	height: 100%;
	transform: translate(-50%, -50%);
	transition-duration: 400ms;
}
section.gallery img:hover {
	width: 105%;
	height: 105%;
}

section.gallery ul li:nth-child(3n) {margin-right: 0px;}
section.gallery ul li:nth-child(1) {width: 33%;}
section.gallery ul li:nth-child(2) {width: 30%;}
section.gallery ul li:nth-child(3) {width: 33%;}
section.gallery ul li:nth-child(4) {width: 30%;}
section.gallery ul li:nth-child(5) {width: 36%;}
section.gallery ul li:nth-child(6) {width: 30%;}
section.gallery a.button {
	clear: both;
	width: 34%;
	margin-left: auto;
	margin-right: auto;
	background-size: 140%;
}
.contactaction {
	text-align: center;
}



.site-footer {
	/*margin-top: 80px;*/
	/*opacity: 0.4;*/
}
.site-footer .ancillary-bar {
	padding-top: 70px;
	padding-bottom: 70px;
	background: #CCC;
}
.site-footer .site-links {
	float: left;
	width: 25%;
}
.site-footer .site-links ul {
	margin: 0;
	padding: 0;
	list-style: none;
}
.site-footer .site-links ul li {
	display: block;
	text-align: left;
	margin: 0;
	padding: 0;
	list-style: none;
}
.site-footer .site-links ul li a {
	font-size: 18px;
	font-family: "Montserrat", sans-serif;
	color: #6F6E6E;
	line-height: 1.8;
	text-decoration: none;
}
.site-footer ul.contact-list {
	float: left;
	width: 25%;
}

.site-footer ul.contact-list li {
	display: block;
	float: none;
	margin: 0;
	line-height: normal;
	text-align: left;
}
.site-footer ul.contact-list li:after {
	display: table;
	content: "";
	clear: both;
}
.site-footer ul.contact-list li a {
	float: left;
	display: block;
	font-size: 18px;
	font-family: "Montserrat", sans-serif;
	color: #6F6E6E;
	line-height: 1.8;
	text-decoration: none;
	width: 100%;
	overflow: hidden;
	text-indent: 0px;
	padding: 0;
}
.site-footer ul.contact-list li a.call-us {
	border: 0;
}
.site-footer ul.contact-list li a.email {
	background-image: none;
	padding-left: 0px;
	text-indent: 0;
	width: auto;
	color: #6F6E6E;
	text-decoration: none;
}
.site-footer ul.contact-list li a.call-us:before {
	content: "T: ";
	float: left;
	color: #9F218B;
	padding: 0 5px 0 0;
}
.site-footer ul.contact-list li a.email:before {
	content: "E: ";
	float: left;
	color: #9F218B;
	padding: 0 5px 0 0;
}
.site-footer ul.contact-list li.facebook, .site-footer ul.contact-list li.twitter {
	float: left;
	margin: 20px 20px 0 0;
}
.site-footer ul.contact-list li.facebook a {
	background-image: url(../images/icon-facebook.svg);
	text-indent: -999999px;
	width: 50px;
}
.site-footer ul.contact-list li.twitter a {
	background-image: url(../images/icon-twitter.svg);
	text-indent: -999999px;
	background-size: 36px;
	width: 50px;
}
.site-footer .branding {
	float: left;
	width: 25%;
	color: #9F218B;
	font-size: 22px;
}
.site-footer .branding p {
	font-size: 18px;
	color: #6F6E6E;
	font-family: "Montserrat", sans-serif;
}
.site-footer .branding img {
	width: 45%;
	margin: 15px 0 0 0;
}
.site-footer .bottom-bar {
	padding-top: 50px;
	padding-bottom: 50px;
	background: #999;
	font-family: "Montserrat", sans-serif;
	font-size: 16px;
	color: #FFF;
}
.site-footer .correl8 {
	float: right;
	width: 150px;
}
.site-footer .correl8 img {
	width: 100%;
}

.social-feed {
	position: relative;
	float: left;
	width: 45%;
	border: 1px solid #CCC;
	margin: 70px 0 0 0;
	padding: 15px;
}
.social-feed.twitter-feed {
	float: right;
}
.social-feed:before {
	content: "";
	position: absolute;
	top: -70px;
	left: 0;
	width: 50px;
	height: 50px;
	background-size: 50px;
	background-position: 0 0;
	background-repeat: no-repeat;
}
.social-feed.twitter-feed:before {
	background-image: url(../images/icon-twitter-blue.svg);
}
.social-feed.facebook-feed:before {
	background-image: url(../images/icon-facebook-blue.svg);
}

.imgGallerylink {
	display: inline-block;
	margin: 0.5%;
	width: 24%;
}
.imgGallerylink img {
	width: 100%;
}



main.categories, main.events {
	background: #EEE;
	padding: 0 0 100px;
	margin-bottom: 0px;
}
.categories .cat-header, .events .event-header {
	background: #FFF;
	padding-top: 20px;
	padding-bottom: 20px;
	overflow: hidden;
	border-bottom: 3px solid #DDD;
}
.categories .cat-header h1,
.categories .cat-header h2,
.categories .cat-header h3,
.events .event-header h1,
.events .event-header h2,
.events .event-header h3 {
	text-align: left;
	border: 0;
	padding: 0;
	margin: 0;
}
.categories .cat-container, .events .event-container, .bookings .booking-container {
	padding-top: 40px;
	padding-bottom: 40px
}
.categories .cat-filter {
	float: left;
	width: 25%;
	background: #FFF;
	padding: 20px;
	border: 1px solid #DDD;
	border-width: 1px 3px 3px 1px;
}
.categories .cat-event-list {
	float: right;
	width: 73%;
	background: #FFF;
	padding: 20px;
	border: 1px solid #DDD;
	border-width: 1px 3px 3px 1px;
}
.categories h2, .events h2 {
	margin: 0;
}

.cat-filter label {
	display: block;
	margin: 0 0 10px 0;
	cursor: pointer;
}
.cat-filter label:hover {
	color: #9F218B;
}
.cat-filter input[type=checkbox] {
	float: left;
	margin: 6px 10px 0 0;
}
div.cat-event-list h2 {
	text-align: left;
}
.cat-event-list .event-sorting {
	display: none;
	float: right;
	padding: 5px;
	margin: 5px 0 0 0;
}
.cat-event-list .event-block h3 {
	text-align: left;
	border: 0;
	color: #6F6E6E;
	font-weight: 600;
}
.cat-event-list .event {
	display: none;
	background: #F6F6F6;
	text-decoration: none;
	color: #6F6E6E;
	margin: 0 0 40px 0;
	font-family: "Montserrat", sans-serif;
}
.cat-event-list .event.visible {
	display: block;
}
.cat-event-list .event:after {
	content: "";
	display: table;
	clear: both;
}
.cat-event-list .event .event-info {
	padding: 10px;
    border-image: linear-gradient(to right, #F6F6F6, #F6F6F6);
    border-image-slice: 1;
    border-image-width: 2px 2px 0 2px;
}
.cat-event-list .event:hover .event-info {
    border-image: linear-gradient(to right, #149BB9, #A3237A);
    border-image-slice: 1;
    border-image-width: 2px 2px 0 2px;
}
.cat-event-list .event:hover .button {
	background-position: -70px -100px;
}
.cat-event-list .event h4 {
	text-align: left;
	border: 0;
	color: #6F6E6E;
	font-weight: 600;
	margin: 0;
	padding: 0;
}
.cat-event-list .event .event-cat {
	float: right;
	font-weight: 600;
}
.cat-event-list .event .event-price {
	text-align: right;
	font-weight: 600;
}
.cat-event-list .event .event-link {
	margin: 0;
	line-height: 1;
	height: auto;
	font-size: 16px;
	text-align: right;
	padding: 10px;
}
.cat-event-list .events-none {
	display: none;
	font-style: italic;
}
.cat-event-list .events-none.visible {
	display: block;
}


.sidebar-container {
	float: left;
	width: 25%;
}
.events .event-sidebar {
	float: left;
	clear: left;
	margin: 0 0 20px 0;
	width: 25%;
	background: #FFF;
	padding: 20px;
	border: 1px solid #DDD;
	border-width: 1px 3px 3px 1px;
}
.events .event-sidebar img {
	width: 100%;
}
.sidebar-container .event-sidebar {
	width: 100%;
}
.booking-container .form-container {
	float: right;
	width: 73%;
}
.events .event-contents {
	float: right;
	margin: 0 0 20px 0;
	width: 73%;
	background: #FFF;
	padding: 20px;
	border: 1px solid #DDD;
	border-width: 1px 3px 3px 1px;
}
.booking-container .form-container .event-contents {
	width: 100%;
}
.events .event-link {
	margin: 0 0 20px 0;
	padding: 10px;
	line-height: 1;
	height: auto;
	font-size: 18px;
	background-size: 130%;
}
.events .booking-link {
	margin: 0;
}
.events .event-sidebar h2, .events .event-sidebar h3 {
	margin: 0 0 10px 0;
	padding: 0;
	text-align: left;
	border: 0;
	line-height: 1;
}
.events .event-sidebar h2 {
	font-size: 20px;
	margin-top: 20px;
}

.event-form {
	font-size: 18px;
}
.event-form label {
	float: left;
	clear: both;
	width: 20%;
	margin: 0 0 10px;
	line-height: 30px;
}
.event-form p {
	clear: both;
}
.contact-information label, .booking-information label {
	width: 30%;
}
.booking-information .booking-pax div {
	min-height: 30px;
	margin: 0 0 10px 0;
}
.event-form .event-form-element {
	float: right;
	width: 80%;
	margin: 0 0 10px;
	padding-left: 10px;
}
.contact-information .event-form-element, .booking-information .event-form-element {
	width: 70%;
}
.event-form select, .event-form input:not([type=submit]) {
	height: 30px;
	padding: 2px 5px;
	margin: 0;
}
.event-price-summary {
	text-align: center;
	font-weight: 600;
	font-size: 20px;
}
.event-form-room-container {
	display: table;
	width: 100%;
	border-right: 1px solid #DDD;
	border-bottom: 1px solid #DDD;
}
.bookings .event-form-room-container {
	margin: 20px 0;
}
.event-form-room-selection {
	display: table-row;
	width: 100%;
	/*border-right: 1px solid #DDD;*/
}
.event-form-room-heading {
	display: table-cell;
	padding: 5px 10px;
	/*text-align: center;*/
	font-weight: 600;
	border: 1px solid #DDD;
	border-right: 0px;
	border-bottom: 0px;
}
.event-form-room-heading:last-of-type {
	/*border-right: 1px solid #DDD;*/
}
.event-form-room-content {
	display: table-cell;
	padding: 5px 10px;
	border: 1px solid #DDD;
	border-right: 0px;
	border-bottom: 0px;
}
.event-form-pax .event-form-room-content:nth-child(n+3) {
	border-left-color: #FFF;
}
.event-form-pax {
	display: none;
}
.event-form .event-sidebar {
	font-size: 1rem;
}
.event-form .booking-pax {
	/*margin: 10px 0 0 0;*/
	padding: 0 10px 20px 0;
	border-bottom: 1px dashed #CCC;
}
.event-form .booking-pax:last-child {
	border: 0;
	padding-bottom: 0;
}
.event-form .booking-pax::after {
	content: " ";
	display: table;
	clear: both;
}
.event-form .booking-pax .event-form-element {
	float: left;
	width: 25%;
	margin: 10px 0 0 0;
}
.event-form .booking-pax > .event-form-element:nth-child(-n+2) {
	width: 12.5%;
}
.event-form .booking-pax.flight-only > .event-form-element:nth-child(-n+2) {
	width: 25%;
}
.event-form .booking-pax .event-form-element label {
	width: 100%;
}
.event-form .booking-pax .event-form-element select.date-select {
	float: left;
	width: 32.666%;
	margin-right: 1%;
}
.event-form .booking-pax .event-form-element select.date-select:nth-of-type(3n) {
	margin-right: 0%;
}
.event-form .booking-pax .passport-information {
	/*display: none;*/
}
.event-form .booking-pax .passport-toggle {
	clear: both;
	margin: 10px 0 0;
	font-size: 12px;
	text-align: right;
	cursor: pointer;
	text-decoration: underline;
	display: none;
}

.payment-information input[type=radio] {
	float: left;
	width: 25px;
}

label#Rooms-error {
	display: block !important;
	width: 100%;
	padding: 10px 0;
	color: #912B45;
	font-weight: 600;
}
.room-container.error, .room-container.error .event-form-room-heading, .room-container.error .event-form-room-content {
	border-color: #912B45;
}

.reservations-table {
	width: 100%;
	margin: 30px 0;
	border-color: #CCC;
}
table.reservations-table th, table.reservations-table td {
	border-color: #CCC;
}

.mmb-information {
	float: left;
}
.mmb-information::after {
	content: " ";
	display: table;
	clear: both;
}
.mmb-row {
	border-bottom: 1px dashed #95197D;
	font-size: 18px;
	line-height: 40px;
}
.mmb-row::after {
	content: " ";
	display: table;
	clear: both;
}
.mmb-row label {
	float: left;
	clear: left;
	width: 300px;
	font-weight: bold;
}
.mmb-row div {
	float: left;
	width: 400px;
}
.mmb-sidebar {
	float: right;
	width: 400px;
	border: 1px solid #95197D;
	padding: 0 20px 20px;
}
.mmb-sidebar h2 {
}
.mmb-payment {
	float: left;
	clear: left;
	width: 700px;
	border: 1px solid #95197D;
	margin: 40px 0 20px 0;
	padding: 0 20px 20px;	
}
.mmb-payment label {
	float: left;
	width: 40%;
	line-height: 52px;
}
form .mmb-payment input, form .mmb-payment select {
	width: 60%;
	font-size: 16px;
	padding: 10px;
	margin: 0 0 10px 0;
	border: 1px solid #EEE;
	border-left: 5px solid #EEE;
	line-height: 30px;
	height: 52px;
}
form .mmb-payment input:focus, form .mmb-payment select:focus {
	border-color: #95197D;
}
form .mmb-payment input[type=checkbox], form .mmb-payment input[type=radio] {
	width: auto;
	float: left;
	clear: left;
	height: 20px;
	line-height: 1;
}
form .mmb-payment span {
	float: left;
	line-height: 20px;
	margin-left: 15px;
}
form .mmb-payment input.button {
	float: left;
	width: 100%;
	font-size: 28px;
	border: 0;
	cursor: pointer;
	margin: 20px 0 0 0;
}
.mmb-passports {
	clear: both;
}
.mmb-passports .warning {
	color: #f00;
	font-weight: bold;
}
.mmb-passport {
	border: 1px solid #95197D;
}
.mmb-passport::after {
	content: " ";
	display: table;
	clear: both;
}
.mmb-passport .mmb-passport-title {
	background: #EEE;
	border-bottom: 1px solid #95197D;
	color: #95197D;
	font-weight: 500;
	padding: 10px;
	font-size: 20px;
	cursor: pointer;
}
.mmb-passport-column {
	float: left;
	width: 50%;
	padding: 10px;
	display: none;
}
form .mmb-passport input[type=text], form .mmb-passport select {
	width: 60%;
	font-size: 16px;
	padding: 10px;
	margin: 0 0 10px 0;
	border: 1px solid #EEE;
	border-left: 5px solid #EEE;
	line-height: 30px;
	height: 52px;
}
form .mmb-passport input[type=text]:focus, form .mmb-passport select:focus {
	border-color: #95197D;
}
.mmb-passport select {
	float: left;
	width: 25%;
	margin-left: 1%;
}
.mmb-passport select.mmb-select-full {
	width: 100%;
	margin-left: 0;
}
.mmb-passport-label {
	float: left;
	width: 40%;
	line-height: 52px;
}

.passport-needed {
	border-color: #df4226;
	background: rgba(255,0,0,0.1);
}
.passport-needed .mmb-passport-title {
	background: #df4226;
	color: #FFF;
	border-color: #df4226;
}

.mmb-save {
	border: 0px;
	padding: 0 40px;
	cursor: pointer;
	float: right;
}

.booking-queue-message {
	position: sticky;
	top: 0;
	margin: 0 0 20px;
	padding: 20px;
	background: #EE3333;
	color: #FFF;
	font-size: 18px;
}
.queue-position-waiting,
.queue-position-active,
.queue-length-container {
	margin: 0 0 10px;
}
.queue-position-active,
.queue-warning-submitted {
	display: none;
}
.queue-position-waiting,
.queue-position-active {
	padding: 0 0 10px;
	font-size: 20px;
	border-bottom: 1px solid #FFF;
}

/* ==========================================================================
   Helper classes
   ========================================================================== */

/*
 * Hide visually and from screen readers
 */

.hidden {
	display: none !important;
}

/*
 * Hide only visually, but have it available for screen readers:
 * http://snook.ca/archives/html_and_css/hiding-content-for-accessibility
 */

.visuallyhidden {
	border: 0;
	clip: rect(0 0 0 0);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px;
}

/*
 * Extends the .visuallyhidden class to allow the element
 * to be focusable when navigated to via the keyboard:
 * https://www.drupal.org/node/897638
 */

.visuallyhidden.focusable:active,
.visuallyhidden.focusable:focus {
	clip: auto;
	height: auto;
	margin: 0;
	overflow: visible;
	position: static;
	width: auto;
}

/*
 * Hide visually and from screen readers, but maintain layout
 */

.invisible {
	visibility: hidden;
}

/*
 * Clearfix: contain floats
 *
 * For modern browsers
 * 1. The space content is one way to avoid an Opera bug when the
 *    `contenteditable` attribute is included anywhere else in the document.
 *    Otherwise it causes space to appear at the top and bottom of elements
 *    that receive the `clearfix` class.
 * 2. The use of `table` rather than `block` is only necessary if using
 *    `:before` to contain the top-margins of child elements.
 */

.clearfix:before,
.clearfix:after {
	content: " "; /* 1 */
	display: table; /* 2 */
}

.clearfix:after {
	clear: both;
}

/* ==========================================================================
   EXAMPLE Media Queries for Responsive Design.
   These examples override the primary ('mobile first') styles.
   Modify as content requires.
   ========================================================================== */

@media only screen and (min-width: 35em) {
	/* Style adjustments for viewports that meet the condition */
}

@media print,
	   (-webkit-min-device-pixel-ratio: 1.25),
	   (min-resolution: 1.25dppx),
	   (min-resolution: 120dpi) {
	/* Style adjustments for high resolution devices */
}

/* ==========================================================================
   Print styles.
   Inlined to avoid the additional HTTP request:
   http://www.phpied.com/delay-loading-your-print-css/
   ========================================================================== */

@media print {
	*,
	*:before,
	*:after,
	*:first-letter,
	*:first-line {
		background: transparent !important;
		color: #000 !important; /* Black prints faster:
								   http://www.sanbeiji.com/archives/953 */
		box-shadow: none !important;
		text-shadow: none !important;
	}

	a,
	a:visited {
		text-decoration: underline;
	}

	a[href]:after {
		content: " (" attr(href) ")";
	}

	abbr[title]:after {
		content: " (" attr(title) ")";
	}

	/*
	 * Don't show links that are fragment identifiers,
	 * or use the `javascript:` pseudo protocol
	 */

	a[href^="#"]:after,
	a[href^="javascript:"]:after {
		content: "";
	}

	pre,
	blockquote {
		border: 1px solid #999;
		page-break-inside: avoid;
	}

	/*
	 * Printing Tables:
	 * http://css-discuss.incutio.com/wiki/Printing_Tables
	 */

	thead {
		display: table-header-group;
	}

	tr,
	img {
		page-break-inside: avoid;
	}

	img {
		max-width: 100% !important;
	}

	p,
	h2,
	h3 {
		orphans: 3;
		widows: 3;
	}

	h2,
	h3 {
		page-break-after: avoid;
	}
}

.booking-highlight-message {
	background: orange;
	color:  white;
	padding: 10px 15px;
	a {
		color: white;
	}
}
