@charset "utf-8";

/** homepage */


.home #banner-wrapper {
	background: #fff url(../img/back-banner-home.png) left top repeat-x;
	padding-top: 5px;
}

.home #banner {
	clear: both;
	height: 271px;
	margin: 0 auto;
	width: 970px;
}

.home #banner p {
	margin: 0;
}

.home #banner img {
	float: left;
}

.home #banner-content {
	margin-left: 620px;
	padding-top: 50px;
	width: 335px;
}

.home #banner-content p.site-name {
	font-family: Arial, Helvetica, Verdana, sans-serif;
	color: #006680;
	font-size: 3.3em;
	margin-bottom: 1em;
}

.home #banner-content a {
	background: #005065 url(../img/back-homepage-button.png) 0px 0px no-repeat;
	color: #fff;
	display: inline-block;
	font-size: 125%;
	padding: 10px 20px 10px 20px;
	text-shadow: 1px 1px 1px #000;
	font-family: Arial, Helvetica, Verdana, sans-serif;
	text-decoration: none;
}

.home #banner-content a:hover,
.home #banner-content a:focus,
.home #banner-content a:active {
	background: #483448 url(../img/back-homepage-button.png) 0px -244px no-repeat;
	text-decoration: underline;
}

#content {
	overflow: visible;
}

.home #column {
	padding-top: 0px;
}

.home #column .search-box {
	margin-top: -80px;
}

.content-box {
	background: url(../img/back-box.png) left top no-repeat;
	padding: 45px 20px 15px 20px;
	min-height: 145px;
	color: #fff;
}

.content-box-bottom {
	background: url(../img/back-box-bottom.png) left top no-repeat;
	display: block;
	height: 50px;
	width: 304px;
}

.content-box h1,
.content-box h2,
.content-box h3,
.content-box h4,
.content-box h5,
.content-box h6 {
	font-size: 10px;
}

.content-box h1,
.content-box h2,
.content-box h3,
.content-box h4,
.content-box h5,
.content-box h6 {
	font-size: 200%;
	margin: 0 0 0.7em 0;
	font-weight: normal;
	font-family: Arial, Verdana, sans-serif;
	text-shadow: 1px 1px 1px #333;
}
.content-box ol,
.content-box ul {
	margin: 0;
	padding: 0;
}

.content-box ol li,
.content-box ul li {
	list-style: none;
	line-height: 150%;
	margin-bottom: .2em;
}

.content-box a {
	color: #fff;
	text-decoration: none;
}



/** featured block */

div.featured-block {
	background: #dadada url(../img/back-featured-box.png) left top repeat-x;
	margin-bottom: 1.5em;
	min-height: 128px;
	padding: 15px 15px 15px 250px;
	position: relative;
}

div.featured-block img {
	left: 0;
	position: absolute;
	top: 0;
}

div.featured-block h3 {
	margin-top: 0;
	margin-bottom: 0.6em;
}

div.featured-block p {
	font-size: 95%;
	line-height: 120%;
}

div.featured-block a {
	text-decoration: none;
} 

div.featured-block a:hover,
div.featured-block a:active,
div.featured-block a:focus {
	text-decoration: underline;
}

div.featured-block a.styled {
	margin-bottom: 0;
}




/** search resuts */
a.search-rss {
	background: url(../img/icon-rss.png) left top no-repeat;
	float: left;
	height: 20px;
	margin: 20px 10px 0 0;
	text-indent: -999px;
	vertical-align: middle;
	width: 20px;
}
a.search-rss:hover {
	background-position: top right;
}

ol.search-results,
ol.search-results ol {
	margin: 0;
	padding: 0;
}


ol.search-results li {
	background: #dededd url(../img/back-search-result.png) left top no-repeat;
	border-left: 7px solid #00718c;
	font-size: 95%;
	list-style: none;
	margin: 1px 0;
	padding: 0px 0px 0px 0px;
}

ol.search-results li li {
	background: none;
	border: none;
	color: #fff;
	line-height: 120%;
	list-style: disc;
	margin: 0 0 0.5em 0;
	padding: 0;
}

ol.search-results li a {
	text-decoration: none;
}

ol.search-results li a:hover {
	text-decoration: underline;
}

ol.search-results li div.main-info {
	background: #dededd url(../img/back-search-result.png) left top no-repeat;
	float: left;
	padding: 15px 20px 0px 20px;
	width: 349px;
}

ol.search-results li div.additional-info {
	background: #005065 url(../img/back-search-result.png) right top no-repeat;
	float: left;
	padding: 10px 10px 10px 10px;
	width: 184px;	
}

ol.search-results li div.main-info p.result-title {
	font-size: 150%;
	line-height: 120%;
}

ol.search-results li div.main-info p.location {
	line-height: 120%;
}

ol.search-results-condensed li div.main-info,
ol.search-results-condensed li div.additional-info {
	padding-bottom: 0;
	padding-top: 0;
}

ol.search-results-condensed li div.main-info p,
ol.search-results-condensed li div.main-info p.result-title {
	margin-bottom: 0;
}

ol.search-results-condensed li div.main-info p.result-title {
	margin-top: 10px;
}

ol.search-results-condensed li div.main-info .search-warning-msg {
	margin-top: 5px;
}

/** messages */
.warning-msg {
	background: #e9c0c0;
	padding: 10px;
	border: 1px solid #b40101;
	margin-bottom: 10px;
}


.warning-msg p {
	margin-bottom: 0;
}

.term-warning-msg {
	background: #e9c0c0;
    padding:3px 10px 3px 10px;
	border: 1px solid #b40101;
	width:80px;
    text-align:center;
    margin-left:350px;
    margin-top:-30px;
    font-weight:700;
}


.term-warning-msg p {
	margin-bottom: 0;
}

.search-warning-msg {
    margin-top:-15px;
    color:#b40101;
    font-weight:700;
}


.search-warning-msg p {
	margin-bottom: 0;
}

/** activity */

.activity-heading {
	margin-bottom: 10px;
	margin-top: 20px;
	min-height: 50px;
	position: relative;
}

.activity h1 {
	margin: 0;
	max-width: 425px;
}

.activity-sharing {
	right: 0;
	bottom: 0;
	position: absolute;
}

.activity-sharing-heading {
	margin-bottom: 5px;
	text-align: right;
}

.activity .summary {
	background: #dfdfdf url(../img/back-search-result.png) left top no-repeat;
	width: 100%;
	display: block;
	margin-bottom: 2em;
}


.activity .summary .contact {
	display: inline-block;
	vertical-align: top;
	padding:20px;
	position: relative;
	width: 349px;
}

.activity .summary .details {
	background: #005065 url(../img/back-search-result.png) right top no-repeat;
	display: inline-block;
	vertical-align: top;
	padding: 20px 15px 10px 30px;
	width: 164px;
}


.activity .summary .details li {
	line-height: 120%;
	list-style: disc;
	margin: 0 0 0.5em 0;
	padding: 0;
}

.activity .summary .details a {
	color: #fff;
	text-decoration: underline;
}

.activity .summary .details a:hover {
	color: #bedee6;
	text-decoration: underline;
}

p.description {
	font-size: 95%;
	clear: both;
}

.activity .term, .term .term {
	background: #f3f3f3;
	padding: 1px 15px 15px 15px;
	margin-bottom: 1em;
}	


.activity .details {
	background: #006680;
	clear: both;
	color: #fff;
	margin-bottom: 1em;
	padding: 15px;
}

.activity .action {
	background: none repeat scroll 0 0 #F0F0F0;
	border: 1px solid #D1D1D1;
	box-shadow: 0 0 5px #CCCCCC;
	-moz-box-shadow: 0 0 5px #CCCCCC;
	-webkit-box-shadow: 0 0 5px #CCCCCC;
	margin: 20px -10px -10px;
	padding: 10px;
}

.activity .action p {
	margin-bottom: 0;
}

.activity-ref {
	font-size: 1.2em;
}

.disabled-access {
	background: url(../img/disabled-access-logo.png) 0 0 no-repeat;
	color: #6D5F6C;
	display: block;
	font-size: 0.8em;
	height: 28px;
	padding-left: 33px;
	padding-top: 3px;
	text-transform: uppercase;
	width: 50px;
}

.term-disabled-access {
	position: absolute;
	right: 20px;
	top: 30px;
}

.price-type-heading {
	background-color: #E7E7E7;
	padding: 3px 5px 0 3px;
	margin: 15px 0 15px 0;
}

.price-types-list {
	margin-bottom: 30px;
}

.price-types-list > li {
	list-style: none;
	margin-top: 5px;
	position: relative;
}

.concession-price {
	font-weight: bold;
	position: absolute;
	right: 5px;
	top: 0;
}

.activity .concession-list {
	margin-top: 5px;
}

.concession-list > li {
	margin-left: 2em;
}

.show-concessions-link {
	background: url(../img/lessons-arrow.png) left 15px no-repeat;
	padding: 15px 0 0 40px;
}

.show-concessions-link:hover {
	cursor: pointer;
}

.activity .online-booking-box {
	border: none;
	box-shadow: none;
	-moz-box-shadow: none;
	-webkit-box-shadow: none;
	margin: 0 0 20px 0;
	width: 340px;
	padding: 15px 0 15px 10px;
}

.online-booking-box .errorlist li {
	background: #681a35 url(../img/form_field_error.png) 8px center no-repeat;
	color: #fff;
	list-style-type: none;
	padding: 2px 8px 2px 31px;
	margin-bottom: 5px;
	margin-right: 24px;
}

.online-booking-box label {
	display: inline-block;
	height: 25px;
	width: 95px;
}

.online-booking-box input[type="text"] {
	border: 1px solid #A8A3A9;
	display: inline-block;
	height: 20px;
	margin-bottom: 15px;
	margin-left: 10px;
	margin-right: 30px;
	padding-right: 5px;
	text-align: center;
	width: 45px;
	vertical-align: middle;
}

.online-booking-box input[type="submit"] {
	display: inline-block;
	font-size: 1.2em;
	width: 130px;
	height: 45px;
}

.online-booking-box.active-schools-booking-box input[type="submit"] {
	display: block;
	margin: auto;
}

.activity-free-places {
	font-style: italic;
	margin-left: 50px;
	margin-top: 3px;
}

.activity ul,
.activity ul.term,
.term ul,
.term ul.term  {
	margin: 0;
	padding: 0;
}

.activity ul.term li, .term ul.term li{
	line-height: 120%;
	list-style: none;
	margin-bottom: .5em;
	padding-left: 200px;
}

.activity ul.term li strong, .term ul.term li strong {
	display: inline-block;
	margin-left: -200px;
	width: 200px;
}

.activity ul.term li a {
	display: block;
}

.activity ul.term li a:hover {
	text-decoration: underline;
}

.map {
	float: right;
	margin-left: 20px;
	margin-bottom: 20px;
}

.address {
	background: #f3f3f3;
	min-height: 280px;
}


.address img {
	border: 1px solid #d9d9d9;
	margin-bottom: 1em;
}

.venue .address,
.organisation .address {
	background: transparent;
	padding: 0 0 20px 0;
}

#address h4 {
	margin-bottom: 1em;
}


.activity ol.terms {
	margin: 0;
	padding: 0;
}

.activity ol.terms li {
	list-style: none;
	padding: 10px 100px 10px 0;
	border-bottom: 1px solid #ccc;
	position: relative;
}

.activity ol.terms li a.styled {
	position: absolute;
	top: 10px;
	right: 0px;
}

.overbooking-warning {
	font-weight: bold;
	margin-left: auto;
	margin-right: auto;
	padding-bottom: 10px;
	width: 200px;
}

.online-booking-box input.activity-watch-button {
	background: #349C39 url(../img/medium-button.png) 0px 0px repeat-x;
	display: block;
	margin-left: 75px;
	text-shadow: 1px 1px 1px #000;
	width: 170px;
}

.online-booking-box form + form {
	margin-top: 20px;
}

/** paginator */
.paginator {
	margin: 20px 0;
}

.paginator ol {
	float: left;
	margin: 0;
	padding: 0;
}

.paginator div {
	margin-left: 400px;
	text-align: right;
}


.paginator ol li {
	background: #fff;
	display: inline-block;
	font-size: 95%;
	height: 12px;
	line-height: 12px;
	list-style: none;
	margin: 0 2px;
	padding: 4px 8px;
}

.paginator ol li strong {
	background: #d1d1d1;
	margin: -4px -8px;
	padding: 4px 8px;
}

.paginator ol li a {
	background: #005974 url(../img/back-button-link.png) 0px 0px repeat-x;
	color: #fff;
	height: 12px;
	margin: -4px -8px;
	padding: 4px 8px;
	text-decoration: none;
}

.paginator ol li a:hover,
.paginator ol li a:focus,
.paginator ol li a:active {
	background: #372837 url(../img/back-button-link.png) 0px -70px repeat-x;
	color: #fff;
	text-decoration: underline;
}


/* Basket page */

.basket-contents {
	margin-top: 30px;
	margin-bottom: 30px;
}

.basket-contents > li {
	list-style-type: None;
	position: relative;
}

.basket-contents > li > h2 {
	line-height: 110%;
	margin-bottom: 5px;
	max-width: 350px;
}

.basket-booking-attendees {
	margin-left: 0;
}

.basket-booking-attendees > li {
	list-style-type: None;
	max-width: 370px;
}

.booking-confirm-box,
.booking-cancel-button {
	position: absolute;
	top: 2px;
	right: 0;
}

.booking-confirm-box .button {
	float: right;
}

.remove-booking-text {
	text-align: center;
}

.basket-pay-form {
	margin-top: 40px;
	margin-left: 2em;
}

.user-message {
	background: #FAFAD2;
	border: 1px solid gray;
	padding: 5px 10px 5px 10px;
}

.user-message.error {
	background: #681a35;
	color: white;
	padding-bottom: 7px;
	padding-top: 7px;
	text-align: center;
}


/* Receipts and letters */

.receipt-contents {
	margin-left: 0;
	margin-top: 30px;
}

.receipt-contents > li {
	list-style-type: none;
	max-width: 600px;
	clear:both;
}

.receipt-contents > li + li {
	padding-top: 10px;
}

.receipt-attendees {
	margin: 0;
}

.receipt-attendees > li {
	list-style-type: none;
}

.receipt-item {
	font-weight: bold;
	width: 150px;
}

.receipt-lesson {
	margin-left: 20px;
}

.receipt .receipt-booking td {
	background: none;
	vertical-align: top;
}

.receipt h1,
.receipt h2 {
	display: inline-block;
}

.receipt-button {
	vertical-align: middle !important;
	margin-left: 10px !important;
	margin-bottom: 10px !important;
}

.receipt-print-button {
	display: none;
}

.cms .receipt-button {
	color: #fff;
}

.cec-letter-header {
	display: none;
}

.receipt .cms table td {
	border: none;
}

.print-controls {
	margin-bottom: 40px;
}

/* Watch list views */

.watch-list-form {
	margin-bottom: 60px;
}

.watch-list-form .no-places-heading {
	color: #CD000E;
}

.watch-list-form h3 {
	margin-top: 30px;
}

.watch-list-form .watch-list-add-button {
	margin-left: 162px;
	margin-top: 20px;
}

.watch-list-form .help_text {
	width: 300px;
}

.watchlist-unsubscribe-button {
	float: right;
}

.watchlist-subscription-list > li {
	clear: both;
}

/* Booking wizard */

#booking-content {
	width: 950px;
	margin: 85px auto 0px auto;
}

#booking-content hr {
	border-color: #E1E1E1;
	margin-bottom: 20px;
}

#booking-content h1 {
	color: #006575;
	font-size: 250%;
}

#booking-content h2 {
	font-size: 225%;
}

#booking-content h4 {
	clear: both;
	color: #5b425b;
	font-size: 1.6em;
	font-weight: normal;
	margin-bottom: 10px;
	padding-top: 20px;
}

#booking-content h5 {
	border-top: 1px solid #E1E1E1;
	clear: both;
	color: #5b425b;
	font-size: 1.6em;
	font-weight: normal;
	margin-bottom: 20px;
	margin-top: 20px;
	padding-top: 20px;
}

.booking-step-instructions {
	width: 550px;
	margin-bottom: 25px;
}

#booking-content fieldset,
#booking-content .review-block {
	background-color: #F3F3F3;
	padding-left: 30px;
	padding-bottom: 30px;
	padding-top: 25px;
	margin-bottom: 20px;
	width: 890px;
}

#booking-content .field_wrapper {
	position: relative;
}

#booking-content .field.text_input input[type=text],
#booking-content .field.password_input input {
	border: 1px solid gray;
	height: 20px;
	width: 260px;
}

#booking-content .field.select select {
	width: 266px;
}

.watch-list-form .help_text,
#booking-content .help_text {
	background-color: #D7E7E7;
	padding: 5px 0 5px 10px;
	position: absolute;
	right: 10px;
	width: 340px;
}

#booking-content .standard_form .field-and-button-line .field.text_input input[type=text] {
	width: 120px;
}

#booking-content .standard_form .field-and-button-line input.button {
	height: 25px;
	margin-bottom: 0;
	margin-left: 15px;
	margin-top: 1px;
	width: 123px;
}

.step-indicator {
	background: url(../img/back-step-unvisited.png) top left no-repeat;
	color: #675B6C;
	display: inline-block;
	height: 37px;
	font-size: 1.5em;
	margin-left: -25px;
	padding-top: 13px;
	padding-left: 60px;
	width: 190px;
}

.progress-indicator-complete {
	background: url(../img/back-step-visited.png) top left no-repeat;
	color: #fff;
}

.progress-indicator-active {
	background: url(../img/back-step-active.png) top left no-repeat;
	color: #fff;
}

.last-step-indicator {
	width: 165px;
}

.progress-bar {
	overflow: hidden;
	padding-left: 9px;
	width: 915px;
}

.previous-attendee-box {
	position: absolute;
	right: 100px;
	top: 0;
}

.previous-attendee-box > select {
	width: 200px;
}

a.tall-button {
	background: #349C39 url(../img/tall-button.png) 0px 0px repeat-x;
	font-size: 1.4em;
	height: 22px;
	margin-bottom: 30px;
	padding: 26px 0;
	width: 287px;
}

a.tall-button + .tall-button {
	margin-left: 30px;
}

a.tall-button:hover,
a.tall-button:active {
	color: #fff;
}

a.secondary-button,
input.secondary-button,
.watch-list-form .watch-list-add-button,
#booking-content .secondary-button {
	background: #005974 url(../img/back-button-link.png) 0px 0px repeat-x;
	color: #fff;
	display: inline-block;
	padding: 4px 15px;
	font-family: Arial, Helvetica, Verdana, sans-serif;
	text-shadow: #000 1px 1px 1px;
	text-decoration: none;
	margin: 0.7em 0;
}

a.secondary-button:hover,
a.secondary-button:active,
input.secondary-button:hover,
input.secondary-button:active,
#booking-content .secondary-button:hover,
#booking-content .secondary-button:active {
	background: #372837 url(../img/back-button-link.png) 0px -70px repeat-x;
	color: #fff;
	text-decoration: underline;
}


a.medium-button,
input.medium-button {
	background: #349C39 url(../img/medium-button.png) 0px 0px repeat-x;
	font-size: 1.2em;
	text-shadow: 1px 1px 1px #000;
}

#booking-content .booking-cancel {
	margin-bottom: 53px;
}

#booking-content .account-button {
	margin-left: 160px;
	margin-top: 5px;
}

.account-form-box form > fieldset > .errorlist {
	margin-bottom: 10px;
	width: 390px;
}

.forgotten-password-link {
	margin-left: 160px;
}

.concession-final-cost {
	position: absolute;
	right: 10px;
	top: -25px;
	font-size: 1.2em;
}

#booking-content .concessions_widget ul,
#booking-content .checkbox_select_multiple ul {
	margin-left: 20px;
	width: 420px;
}

#booking-content .concessions_widget li,
#booking-content .checkbox_select_multiple li {
	display: inline-block;
	list-style: none;
	vertical-align: top;
	width: 200px;
}

#booking-content .concessions_widget input,
#booking-content .checkbox_select_multiple input {
	margin-right: 10px;
}

.concession-eligibility-info {
	background-color: #D7E7E7;
	display: inline-block;
	margin-bottom: 8px;
	margin-left: 28px;
	margin-top: 5px;
	padding: 2px 0 2px 5px;
	width: 165px;
}

#booking-content .next-button,
#booking-content .previous-button {
	height: 45px;
	margin-top: 45px;
}

.bottom-buttons .next-button,
#booking-content .next-button {
	float: right;
	margin-right: 10px;
}

#booking-content .previous-button {
	float: left;
}

.next-step-info {
	color: #5D465E;
	float: right;
	font-size: 1.2em;
	margin-right: 10px;
}

.review-block .field_wrapper {
	margin-bottom: 10px;
}

.review-block .field_name {
	clear: both;
	float: left;
	font-weight: bold;
}

.review-block .inner_wrapper {
	margin-left: 180px;
}

.review-block .field {
	float: none;
}

#booking-content .review-activity-name {
	font-size: 1.8em;
	margin-top: 0;
}

.attendee-details {
	position: relative;
}

.edit-attendee-button {
	background: none;
	border: none;
	color: #00718c;
	cursor: pointer;
	font-size: 1.2em;
	left: 175px;
	outline: none;
	position: absolute;
	top: 22px;
}

.edit-attendee-button:hover,
.edit-attendee-button:active {
	background: none;
	color: #5b425b;
	text-decoration: underline;
}

.booking-attendee-cost {
	font-weight: bold;
	position: absolute;
	right: 20px;
	top: 26px;
}

.booking-item-cost {
	font-size: 1.2em;
	font-weight: bold;
	margin-right: 20px;
	padding-top: 10px;
	text-align: right;
	text-transform: uppercase;
}

.booking-total-cost {
	float: right;
	font-size: 1.4em;
	font-weight: bold;
	margin-right: 50px;
	text-transform: uppercase;
}

.terms-box {
	background-color: #D7E7E7;
	clear: both;
	float: right;
	margin-top: 30px;
	margin-right: 30px;
	padding: 20px 25px 20px 30px;
	width: 470px;
}

#booking-content .terms-box .next-button {
	margin-top: 25px;
}

#booking-content .terms-form .previous-button {
	clear: right;
	margin-top: -30px;
	margin-bottom: 30px;
}

#booking-content .terms-form label[for=id_terms_accepted] {
	margin-left: 5px;
}

.bottom-buttons {
	border-top: 1px solid #E1E1E1;
	clear: both;
	margin-bottom: 50px;
	padding-top: 20px;
}

.booking-cancel-options {
	margin-bottom: 40px;
}

.booking-cancel-text {
	font-size: 1.4em;
}

/* Booking questionnaire */

.questionnaire-form .no_label .inner_wrapper {
	margin-left: 160px;
}

.questionnaire-form .no_label .inner_wrapper .field {
	float: none;
}

.questionnaire-form input[type=submit] {
	margin-left: 160px;
}

.questionnaire-link {
	border-top: 2px solid gray;
	border-bottom: 2px solid gray;
	font-size: 1.2em;
	margin-bottom: 30px;
	margin-top: 60px;
	padding: 10px;
	text-align: center;
}

/* Payment manual notification page */

.transaction-notification-steps {
	counter-reset: notification-step-counter;
}

.transaction-notification-steps > li {
	background-color: #dcdcdc;
	list-style: none;
	padding-bottom: 20px;
	padding-left: 10px;
	padding-top: 25px;
}

.transaction-notification-steps > li:before {
	content: counter(notification-step-counter, decimal) '.';
	counter-increment: notification-step-counter;
	float: left;
	margin-top: -20px;
}

.transaction-notification-steps form {
	margin-bottom: 30px;
}

.transaction-notification-steps .inner_wrapper {
	display: inline-block;
}

.transaction-notification-steps label {
	display: inline-block;
	font-weight: bold;
	margin-left: 50px;
	width: 170px;
	vertical-align: middle;
}

.transaction-notification-steps .field_wrapper,
.transaction-notification-steps input[type=submit]{
	display: inline-block;
	margin: 0;
}

.transaction-notification-steps select,
.transaction-notification-steps input[type=text]{
	width: 100px;
}

.transaction-notification-steps input[type=submit]{
	margin-left: 10px;
	width: 190px;
}

.transaction-notification-steps .field {
	float: none;
}

.transaction-notification-steps > li > p {
	font-size: 1.5em;
	margin-left: 30px;
	margin-top: 15px;
}

.transaction-notification-steps > .transaction-step-even {
	background-color: #e7e7e7;
}
