body {
	margin: 0;
	padding: 0;
	color: #333333;
	font-family: Arial, Helvetica, sans-serif;
	font-size: 14px;
	background: #CCCCCC;
}

img {
	border: 0;
	margin: 0;
}

p, h1, h2, h3, h4 {
	margin: 10px 0;
}

ul {
	margin: 10px 0 10px 30px;
	padding: 0;
}
ul li {
	margin: 5px 0;
	padding: 0;
}

a {
	color: #000000;
}
a:hover {
	color: #AE1833;
}

a.small {
	font-size: 12px;
}

#wrapper {
	background: #FFFFFF;
}

#header {
	position: relative;
}
#header .header-left {
	margin: 0 60% 0 0;
	padding: 10px;
	height: 92px;
	overflow: hidden;
	text-align: center;
	font-family: "Century Gothic", Arial, Helvetica, sans-serif;
	font-size: 18px;
	color: #AE1833;
	letter-spacing: 5px;
}
#header .header-left img {
	max-width: 100%;
}
#header .header-left p {
	margin: 0;
}
#header .header-right {
	position: absolute;
	top: 0;
	right: 0;
	width: 60%;
	height: 100%;
	background: #AE1833;
	border-bottom-left-radius: 20px;
	box-shadow: 5px 5px 10px #333333;
	color: #FFFFFF;
	text-align: center;
	z-index: 20;
}
#header .header-right img.header-text {
	margin: 20px 0 0;
}
#header .header-right ul.header-links {
	list-style: none;
	margin: 7px 20% 7px 0;
	padding: 0;
	font-size: 15px;
}
#header .header-right ul.header-links li {
	display: inline;
	margin: 0;
	padding: 0;
}
#header .header-right ul.header-links li a {
	color: #FFFFFF;
	text-decoration: none;
	margin: 0 5px;
	font-weight: bold;
}
#header .header-right ul.header-links li a:hover, #header .header-right ul.header-links li.active a {
	text-decoration: underline;
}
#header .basket-button {
	position: absolute;
	top: 10px;
	right: 40px;
	margin: 0;
	padding: 0;
	background: #AE1833;
	border-radius: 200px;
	box-shadow: 0 2px 10px #000000;
}
#header .basket-button:hover {
	background: #c71b3a;
}
#header .basket-button img {
	width: 35px;
	height: 35px;
}
#header .basket-button a {
	display: block;
	padding: 5px;
	color: #FFFFFF;
	text-decoration: none;
}
#header .basket-button .count {
	position: absolute;
	top: 0;
	right: 0;
	margin: 0;
	padding: 0 5px;
	background: #FFFFFF;
	color: #AE1833;
	border-radius: 200px;
	box-shadow: 0 2px 10px #000000;
}
@media(max-width: 1100px) {
	#header .basket-button {
		top: 120px;
		right: 10px;
	}
}
@media(max-width: 1000px) {
	#header .basket-button {
		top: 50px;
	}
}
@media(max-width: 650px) {
	#header .basket-button {
		top: 100px;
	}
}

#main {
	min-height: 300px;
}

#footer {
	background: #E6E6E6;
	overflow: hidden;
	padding: 0 30px;
	margin: 0 0 20px;
	font-weight: bold;
	font-size: 12px;
}
#footer .footer-left {
	float: left;
	width: 50%;
}
#footer .footer-left ul.footer-links {
	list-style: none;
	margin: 20px 0;
	padding: 0;
}
#footer .footer-left ul.footer-links li {
	display: inline;
	margin: 0;
	padding: 0;
}
#footer .footer-left ul.footer-links li a {
	color: #000000;
	text-decoration: none;
	margin: 0 5px;
}
#footer .footer-left ul.footer-links li a:hover, #footer .footer-left ul.footer-links li.active a {
	text-decoration: underline;
}
#footer .footer-left ul.accreditations {
	list-style: none;
	margin: 20px 0;
	padding: 0;
}
#footer .footer-left ul.accreditations li {
	display: inline;
	margin: 0;
	padding: 0;
}
#footer .footer-left ul.accreditations li img {
	vertical-align: middle;
	max-height: 80px;
	margin: 5px;
}
#footer .footer-right {
	float: right;
	width: 50%;
	text-align: right;
	padding: 10px 0;
}


.large-button {
	display: block;
	margin: 10px 0 15px;
	background: #AE1833;
	border: 1px solid #FFFFFF;
	border-radius: 20px;
	box-shadow: 5px 5px 10px #333333;
	font-size: 18px;
	color: #FFFFFF;
	text-decoration: none;
	line-height: 30px;
	text-align: center;
}
a.large-button:hover {
	color: #FFFFFF;
	background: #DD6874;
}

.whatson-area {
	position: relative;
	border-left: 10px solid #333333;
	background: #E6E6E6;
	padding: 0 10px;
	margin: 0 0 20px;
	height: 202px;
}
.whatson-area .whatson-area-left {
	min-width: 330px;
	margin: 0 75% 0 0;
	text-align: center;
	overflow: hidden;
}
.whatson-area .whatson-area-left h1 {
	font-weight: normal;
	color: #B6B6B6;
	font-size: 60px;
	margin: 50px 0 0;
}
.whatson-area .whatson-area-left .large-button {
	margin: 0 auto 20px;
	width: 300px;
}
.whatson-area .whatson-area-right {
	position: absolute;
	top: 0;
	right: 10px;
	width: 70%;
	height: 100%;
}
.whatson-area .whatson-area-right .featured-events-wrapper {
	position: absolute;
	top: 0;
	right: 0;
	width: 104%;
	height: 200%;
	overflow: hidden;
}
.whatson-area .whatson-area-right .featured-events-wrapper .featured-events {
	position: absolute;
	top: 0;
	right: -100%;
	width: 96%;
	height: 50%;
}
.whatson-area .whatson-area-right .event {
	margin: 10px 1.5%;
	float: left;
	position: relative;
	width: 22%;
	height: 100%;
	text-align: center;
}
.whatson-area .whatson-area-right .event img {
	border: 1px solid #FFFFFF;
	border-radius: 20px;
	box-shadow: 5px 5px 10px #333333;
	max-width: 100%;
	height: 180px;
}
.whatson-area .whatson-area-right .event .date {
	position: absolute;
	bottom: -5px;
	right: 10px;
	margin: 0;
	padding: 0 20px;
	line-height: 35px;
	font-size: 12px;
	background: #AE1833;
	border: 1px solid #FFFFFF;
	color: #FFFFFF;
	font-weight: bold;
	text-align: left;
	border-radius: 20px;
	box-shadow: 5px 5px 10px #333333;
	-webkit-transform: rotate(-10deg);
	-moz-transform: rotate(-10deg);
	-o-transform: rotate(-10deg);
	-ms-transform: rotate(-10deg);
	white-space: nowrap;
}
.whatson-area .whatson-area-right .event .date strong {
	font-size: 20px;
	font-weight: bold;
}
.whatson-area .whatson-area-right .event .price {
	position: absolute;
	bottom: 10px;
	left: -20px;
	margin: 0;
	padding: 10px 5px;
	line-height: 16px;
	font-size: 10px;
	font-style: italic;
	text-align: left;
	background: #AE1833;
	border: 1px solid #FFFFFF;
	color: #FFFFFF;
	font-weight: bold;
	border-radius: 50px;
	box-shadow: 5px 5px 10px #333333;
	white-space: nowrap;
}
.whatson-area .whatson-area-right .event .price strong {
	font-size: 24px;
	font-weight: bold;
	font-style: normal;
}
.whatson-area img.whatson-arrow {
	position: absolute;
	top: 25px;
	right: 67%;
}

.content {
	padding: 20px;
	overflow: hidden;
    position: relative;
    z-index: 1;
}
.content .left-column {
	float: left;
	width: 90px;
	border-right: 2px solid #CCCCCC;
	padding-right: 10px;
	margin-right: 10px;
}
.content .right-column {
	margin-left: 112px;
}

.content table.columns {
	margin: 10px 0;
	width: 100%;
	overflow: hidden;
}
.content table.columns > tbody > tr > td {
	width: 33%;
	vertical-align: top;
	border-right: 2px solid #CCCCCC;
	padding: 56px 10px 0 10px;
	background: url(/images/arrow-column.png) top no-repeat;
}
.content table.columns > tbody > tr > td.has-bottom-button {
    position: relative;
    padding-bottom: 57px;
}
.content table.columns > tbody > tr > td:last-child {
	border-right: 0;
}
.content table.columns .bottom td {
	padding: 0 10px 0 10px;
	background: none;
}
.content table.columns > tbody > tr > td .bottom-button {
    position: absolute;
    bottom: 0;
    left: 10px;
    right: 10px;
}

table.events {
	margin: 20px auto;
	width: 80%;
}
table.events td, table.events th {
	padding: 5px 10px;
	text-align: left;
}
table.events thead tr td, table.events thead tr th {
	background: #AE1833;
	color: #FFFFFF;
	font-weight: bold;
}
table.events td.right, table.events th.right {
	text-align: right;
}
table.events tbody tr.even td, table.events tbody tr.even th {
	background: #E6E6E6;
}
table.events tbody tr:hover td, table.events tbody tr:hover th {
	background: #CCCCCC;
}
table.events tbody tr.sold-out td .event-title, table.events tbody tr.sold-out th .event-title {
	text-decoration: line-through underline;
}
table.events tbody tr td .sold-out, table.events tbody tr th .sold-out {
	color: #FF0000;
	font-size: 11px;
}

.event-details {
	margin: 20px auto;
	padding: 0 10px;
	width: 80%;
	border: 2px solid #CCCCCC;
	border-radius: 20px;
}
.event-details .left-details {
	float: left;
	width: 50%;
	color: #666666;
}
.event-details .left-details .tickets-remaining {
	color: #333333;
}
.event-details .right-details {
	float: right;
	width: 50%;
}
.event-details .sold-out {
	clear: both;
	margin: 20px auto;
	width: 50%;
	color: #FF0000;
	text-align: center;
	border: 2px solid #FF0000;
	border-radius: 20px;
}
.event-details .description {
	clear: both;
	margin: 10px 0;
	overflow: hidden;
}
.event-details .description img {
	float: left;
	max-width: 300px;
	margin: 0 10px 5px 0;
}
.event-details ul.ticket-price-tiers {
	list-style: none;
    display: flex;
    flex-direction: column;
    gap: 5px;
}
.event-details ul.ticket-price-tiers ul {
	list-style: none;
    display: flex;
    flex-direction: column;
    gap: 5px;
}
.event-details ul.ticket-price-tiers li {
	margin: 0;
}
.event-details ul.ticket-price-tiers .age-range {
	float: left;
	width: 140px;
}
.event-details ul.ticket-price-tiers .price {
	font-weight: bold;
}
.event-details .book-event {
    clear: both;
    text-align: center;
    padding: 10px;
}
.event-details .book-event a {
    background: #AE1833;
    border-radius: 20px;
    box-shadow: 5px 5px 10px #333333;
    border: 1px solid #FFFFFF;
    padding: 10px;
    color: #FFFFFF;
    text-decoration: none;
}
.event-details .book-event a:hover {
    background: #DD6874;
}
.event-details.book-event .price-tier {
    padding-left: 5%;
    width: 85%;
}
.event-details.book-event .total-price {
    float: none;
    clear: both;
    text-align: right;
    font-size: 1.5em;
    font-weight: bold;
    padding: 10px 10px 0;
    width: auto;
}
.event-details.book-event .deposit-price {
	float: none;
	clear: both;
	text-align: right;
	font-size: 1.3em;
	font-weight: normal;
	padding: 10px 10px 0;
	width: auto;
}
.event-details.book-event .remaining-payment {
    font-weight: bold;
}
.event-details.book-event.pay-booking .total-price, .event-details.book-event.pay-booking .deposit-price, .event-details.book-event.pay-booking .pay-button {
    text-align: center;
}
.event-details.book-event.pay-booking .pay-button input.button {
    float: none;
    display: inline;
}

hr {
	clear: both;
	margin: 20px 0;
	border: 0;
	border-bottom: 2px solid #CCCCCC;
}

fieldset {
	border: 1px solid #CCCCCC;
	border-radius: 10px;
	margin: 10px 0;
	padding: 0 10px;
	overflow: hidden;
}
fieldset legend {
	font-weight: bold;
}
fieldset ol {
	list-style: none;
	margin: 5px 0;
	padding: 0;
	float: left;
	width: 100%;
}
fieldset ol li {
	margin: 5px 0;
	float: left;
	width: 100%;
}
fieldset ol li.checkbox {
	margin: 0;
}
fieldset ol li label {
	float: left;
	max-width: 25%;
	padding: 5px 0;
}
fieldset ol li.checkbox label {
	float: right;
	width: 68%;
	max-width: none;
	padding: 5px 0;
}
fieldset ol li.checkbox input.checkbox {
	float: right;
	margin: 5px;
}
fieldset ol li input.text, fieldset ol li textarea, fieldset ol li select {
	float: right;
	width: 70%;
	min-width: 70%;
	max-width: 70%;
	border: 1px solid #333333;
	border-radius: 5px;
	padding: 5px;
}
fieldset ol li select {
	width: 72%;
	min-width: 72%;
	max-width: 72%;
}
fieldset ol li input.text:hover, fieldset ol li textarea:hover, fieldset ol li select:hover, fieldset ol li input.text:focus, fieldset ol li textarea:focus, fieldset ol li select:focus {
	border: 1px solid #AE1833;
}
fieldset ol li input.text:focus, fieldset ol li textarea:focus, fieldset ol li select:focus {
	box-shadow: 5px 5px 10px #333333;
}
fieldset ol li .date-field {
	float: right;
	width: 72%;
	min-width: 72%;
	max-width: 72%;
}
fieldset ol li .date-field input.text.date {
	float: none;
	width: 50px;
	min-width: 50px;
	max-width: 50px;
}
input.button {
	display: block;
	margin: 10px 0 15px;
	padding: 0 10px;
	background: #AE1833;
	border: 1px solid #FFFFFF;
	border-radius: 20px;
	box-shadow: 5px 5px 10px #333333;
	font-size: 18px;
	color: #FFFFFF;
	text-decoration: none;
	height: 30px;
	text-align: center;
	cursor: pointer;
}
input.button:hover {
	color: #FFFFFF;
	background: #DD6874;
}
fieldset ol li input.button {
	float: right;
}
label em {
	color: #FF0000;
	font-weight: bold;
}
.steps {
	text-align: center;
}
.steps input.button {
	display: inline;
    box-shadow: none;
    background: none;
    color: #000000;
    padding: 1px 11px;
    border: 0 none;
}
.steps input.button:hover {
    background: #DD6874;
    color: #FFFFFF;
    padding: 0 10px;
    border: 1px solid #FFFFFF;
}
.steps input.button.active {
    background: #AE1833;
    box-shadow: 5px 5px 10px #333333;
    color: #FFFFFF;
    padding: 0 10px;
    border: 1px solid #FFFFFF;
}
.steps input.button.disabled {
    cursor: default;
    background: none !important;
    color: #999999 !important;
    padding: 1px 11px !important;
    border: 0 none !important;
}

.event-details.book-event.pay-booking fieldset ol li {
    text-align: center;
}
.event-details.book-event.pay-booking fieldset ol li label {
    float: none;
    display: block;
    margin: 0 auto;
    max-width: none;
}
.event-details.book-event.pay-booking fieldset ol li input.text {
    float: none;
    display: block;
    margin: 0 auto;
    width: auto;
    min-width: 0;
    max-width: none;
}

.message {
	color: #AE1833;
	font-weight: bold;
	text-align: center;
}

.table-wrapper {
	clear: both;
    overflow: auto;
    max-width: 100%;
}

.search-box {
	position: absolute;
	bottom: 10px;
	right: 10px;
	width: 20%;
	overflow: hidden;
	clear: right;
	border: 1px solid #FFFFFF;
	border-radius: 20px;
}
.search-box .search-box-text {
	margin: 0 20px 0 0;
}
.search-box .search-box-text input {
	background: none;
	border: 0;
	color: #FFFFFF;
	padding: 4px;
	margin: 0;
	height: 16px;
    width: 95%;
}
.search-box .search-box-button {
	position: absolute;
	top: 1px;
	right: 2px;
	border: 1px solid #FFFFFF;
	border-radius: 20px;
}
.search-box .search-box-button input {
	box-shadow: 0;
	border: 0;
	margin: 0;
	padding: 4px;
	width: 20px;
	height: 20px;
	box-shadow: none;
	background: url(/images/search.png) 4px 4px no-repeat;
}
.search-box .search-box-button input:hover {
	background: url(/images/search.png) 4px 4px no-repeat #DD6874;
}

@media(max-width: 1200px) {
    .whatson-area {
        height: 312px;
    }
    .whatson-area .whatson-area-left {
        min-width: 0;
        margin: 0;
        height: 110px;
    }
    .whatson-area .whatson-area-left h1 {
        font-size: 50px;
        margin-top: 0;
    }
    .whatson-area .whatson-area-right {
        position: absolute;
        top: auto;
        bottom: 0;
        left: 0;
        right: 0;
        width: auto;
        height: 202px;
    }
    .whatson-area img.whatson-arrow {
        display: none;
    }
}

@media(max-width: 1140px) {
	#header .header-right ul.header-links li a {
		margin: 0;
	}
}
@media(max-width: 1000px) {
    #header {
        padding-top: 42px;
    }
	#header .header-left {
		margin: 0;
        height: auto;
	}
	#header .header-right {
		width: 100%;
        height: 42px;
		border-bottom-left-radius: 0;
		box-shadow: 0 5px 10px #333333;
	}
    #header .header-right .header-text {
        display: none;
    }
    #header .header-right ul.header-links {
        line-height: 26px;
    }

    table.events {
         margin: 20px auto;
         width: 100%;
    }
    .event-details {
        width: auto;
    }
}

@media(max-width: 800px) {
    .content table.columns {
        display: block;
    }
    .content table.columns > tbody > tr {
        display: block;
    }
	.content table.columns > tbody > tr > td {
        display: block;
        width: auto;
        border-right: 0;
        border-bottom: 2px solid #CCCCCC;
    }
}

@media(max-width: 750px) {
    .whatson-area {
        height: 211px;
    }
    .whatson-area .whatson-area-right {
        height: 101px;
    }
    .whatson-area .whatson-area-right .event img {
        height: 90px;
    }
    .whatson-area .whatson-area-right .event .date {
        right: 0;
        font-size: 10px;
        line-height: 25px;
        padding: 0 10px;
    }
    .whatson-area .whatson-area-right .event .date strong {
        font-size: 16px;
    }
    .whatson-area .whatson-area-right .event .price {
        left: -10px;
        font-size: 8px;
        padding: 5px;
    }
    .whatson-area .whatson-area-right .event .price strong {
        font-size: 20px;
    }
}

@media(max-width: 650px) {
    #header {
        padding-top: 84px;
    }
    #header .header-left {
        font-size: 3vw;
    }
    #header .header-right {
        height: 84px;
    }
    #header .header-right ul.header-links {
        margin-right: 0;
        font-size: 2.8vw;
    }
    #header .header-right .search-box {
        width: auto;
        left: 10px;
    }

    #footer .footer-left {
        float: none;
        width: auto;
        text-align: center;
    }
    #footer .footer-right {
        float: none;
        width: auto;
    }

    .event-details .sold-out {
        width: auto;
    }
    .event-details .left-details {
        float: none;
        width: auto;
    }
    .event-details .right-details {
        float: none;
        width: auto;
    }
    .event-details .description img {
        float: none;
        display: block;
        max-width: 100%;
        margin: 0 auto 5px;
    }
}

@media(max-width: 450px) {
    .whatson-area .whatson-area-right .event .date {
        display: none;
    }
}

.previous-link {
	float: left;
}
.next-link {
	float: right;
}

#cookies-accept {
	position: relative;
	z-index: 2;
	background: #FFFFFF;
	background: rgba(255, 255, 255, 0.8);
	border-bottom: 1px solid #FFFFFF;
	padding: 1px 10px;
	text-align: left;
	box-shadow: 0 0 10px rgba(0, 0, 0, 0.27);
}
#cookies-accept .wrapper {
	padding-right: 12em;
}
#cookies-accept a.button {
	position: absolute;
	bottom: 10px;
	right: 10px;
	background: #ae1833;
	color: #FFFFFF;
	text-decoration: none;
	font-weight: bold;
	padding: 10px;
	border-radius: 5px;
}

.faq {
	list-style: none;
	margin: 0;
	padding: 0;
}
.faq li {
	margin: 0;
	padding: 40px 0;
	border-bottom: 1px solid #CCCCCC;
}
.faq li:last-child {
	border-bottom: 0 none;
}
.faq-question {
	font-size: 1.2em;
	display: block;
	font-weight: bold;
}
.faq-answer {
	display: block;
}

.all-room-types {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin: 10px 0;
}
.all-room-types .room-type {
	flex-grow: 1;
	flex-shrink: 0;
	text-align: center;
	background: #EEEEEE;
	border: 1px solid #CCCCCC;
	border-radius: 10px;
	padding: 10px;
}
.all-room-types .room-type .room-name {
	font-weight: bold;
	border-bottom: 1px solid #CCCCCC;
	padding-bottom: 5px;
	margin-bottom: 5px;
}

.toggle-buttons {
	width: 80%;
	display: flex;
	border-radius: 10px;
	background:	#EEEEEE;
	margin: 20px auto;
	gap: 10px;
}
.toggle-buttons .toggle-button {
	flex-basis: 0;
	flex-grow: 1;
	padding: 20px;
	border-radius: 10px;
	text-align: center;
	text-decoration: none;
	font-weight: bold;
	color: #000000;
}
.toggle-buttons .toggle-button:hover {
	color: #000000;
	background: #e1a4af;
}
.toggle-buttons .toggle-button.active {
	position: relative;
	color: #FFFFFF;
	background: #AE1833;
	box-shadow: 5px 5px 10px #333333;
	z-index: 1;
}
@media(max-width: 900px) {
	.toggle-buttons {
		width: auto;
	}
}

.toggle-buttons + .table-wrapper {
	margin-top: -20px;
}