/***************/
/* main layout */
/***************/
html { min-height: 100%; }

/*******************/
/* original bg top */
/*******************/
/*body { margin: 0; padding: 0; background: #a8d5f2 url(../images/bg_top.jpg) scroll no-repeat center top; min-height: 100%; }*/

/*******************/
/* ben10 bg top */
/*******************/
/*body { margin: 0; padding: 0; background: #714D71 url(../images/bg_top_ben10.jpg) scroll no-repeat center top; min-height: 100%; }*/

/*******************/
/* christmas bg top */
/*******************/
/*body { margin: 0; padding: 0; background: #212259 url(../images/bg_top_christmas.jpg) scroll no-repeat center top; min-height: 100%; }*/

/*******************/
/* winter bg top */
/*******************/
body { margin: 0; padding: 0; background: #212259 url(../images/bg_top_winter.jpg) scroll no-repeat center top; min-height: 100%; }

/*******************/
/* Fireworks bg top */
/*******************/
/*body { margin: 0; padding: 0; background: #161742 url(../images/bg_top_fireworks.jpg) scroll no-repeat center top; min-height: 100%; }*/

/*******************/
/* original bg bottom */
/*******************/
/*#body-inner { background: url(../images/bg_bottom.jpg) scroll no-repeat center bottom; min-height: 100%; }*/

/*******************/
/* ben10 bg bottom */
/*******************/
/*#body-inner { background: url(../images/bg_bottom_ben10.jpg) scroll no-repeat center bottom; min-height: 100%; }*/

/*******************/
/* christmas bg bottom */
/*******************/
#body-inner { background: url(../images/bg_bottom_christmas.jpg) scroll no-repeat center bottom; min-height: 100%; }

/*******************/
/* Fireworks bg bottom */
/*******************/
/*#body-inner { background: url(../images/bg_bottom_fireworks.jpg) scroll no-repeat center bottom; min-height: 100%; }*/



#bodyWrapper { width: 960px; margin: auto; }

/* specific link colours for this site */
a         { color: #5290e5; text-decoration: none; }
a:link    { color: #5290e5; text-decoration: none; }
a:visited { color: #5290e5; text-decoration: none; }
a:hover   { color: #194e98; text-decoration: underline; }
a:active  { color: #194e98; text-decoration: underline; }


/*******************/
/* header elements */
/*******************/
#header { margin-bottom: 18px; }

#logo { float: left; }
#header-right { float: right; width: 470px; }

/* tabs */
#tabs { float: right; margin-bottom: 24px; }
#tabs li { float: left; }
#tabs li a {
	background: url(../images/tab-bar.png) scroll no-repeat 0px 0px;
	display: block;
	height: 40px;
	overflow: hidden;
	text-indent: -9999px;
}

#tabs #tab-hotel             { background-position:    0px 0px; width:  73px; }
#tabs #tab-hospitality       { background-position:  -73px 0px; width:  98px; }
#tabs #tab-magical-christmas { background-position: -171px 0px; width: 148px; }

#tabs #tab-hotel:hover             { background-position:    0px -40px; }
#tabs #tab-hospitality:hover       { background-position:  -73px -40px; }
#tabs #tab-magical-christmas:hover { background-position: -171px -40px; }


/* social network links */
#social { float: right; margin:62px 5px 0 0; }
#social li { float: left; }
#social li a {
	background: url(../images/social-bar_christmas.png) scroll no-repeat 0px 0px;
	display: block;
	height: 52px;
	overflow: hidden;
	text-indent: -9999px;
}

#social #social-facebook { background-position:    0px 0px; width:  67px; }
#social #social-twitter  { background-position:  -67px 0px; width:  57px; }

#social #social-facebook:hover { background-position:    0px -52px; }
#social #social-twitter:hover  { background-position:  -67px -52px; }


/* social network links - Original */

/*#social { float: right; }
#social li { float: left; }
#social li a {
	background: url(../images/social-bar-free-parking.png) scroll no-repeat 0px 0px;
	display: block;
	height: 103px;
	overflow: hidden;
	text-indent: -9999px;
}

#social #social-freeparking { background-position:    0px 0px; width:  86px; }
#social #social-facebook { background-position:    -86px 0px; width:  46px; }
#social #social-twitter  { background-position:  -132px 0px; width:  47px; }

#social #social-freeparking:hover { background-position:    0px -103px; }
#social #social-facebook:hover { background-position:    -86px -103px; }
#social #social-twitter:hover  { background-position:  -132px -103px; }*/

/* main navigation */
#nav { margin-top: 0px; }
#nav li { float: left; }
#nav li a {
	background: url(../images/nav-bar-christmas.png) scroll no-repeat 0px 0px;
	display: block;
	height: 55px;
	overflow: hidden;
	text-indent: -9999px;
}

#nav #nav-home                 { background-position:    0px 0px; width:  83px; }
#nav #nav-park-guide           { background-position:  -83px 0px; width: 109px; }
#nav #nav-thomas-land          { background-position: -192px 0px; width: 133px; }
#nav #nav-thrill-rides         { background-position: -325px 0px; width: 111px; }
#nav #nav-zoo-and-conservation { background-position: -436px 0px; width: 183px; }
#nav #nav-events               { background-position: -619px 0px; width:  79px; }
#nav #nav-tickets              { background-position: -698px 0px; width:  81px; }
#nav #nav-schools              { background-position: -779px 0px; width:  88px; }
/*#nav #nav-shop                 { background-position: -814px 0px; width:  56px; }*/
#nav #nav-groups               { background-position: -867px 0px; width:  93px; }

#nav #nav-home:hover                 { background-position:    0px -55px; }
#nav #nav-park-guide:hover           { background-position:  -83px -55px; }
#nav #nav-thomas-land:hover          { background-position: -192px -55px; }
#nav #nav-thrill-rides:hover         { background-position: -325px -55px; }
#nav #nav-zoo-and-conservation:hover { background-position: -436px -55px; }
#nav #nav-events:hover               { background-position: -619px -55px; }
#nav #nav-tickets:hover              { background-position: -698px -55px; }
#nav #nav-schools:hover              { background-position: -779px -55px; }
/*#nav #nav-shop:hover                 { background-position: -814px -42px; }*/
#nav #nav-groups:hover               { background-position: -867px -55px; }

/* subnav */
#nav > li       .subnav { display: none; }
#nav > li:hover .subnav { display: block; }

#nav > li { position: relative; }

#nav .subnav {
	left: 0px;
	font-family: 'Franklin Gothic Medium', Arial, Helvetica, sans-serif;
	font-size: 1.167em;
	opacity: 0.9;
	position: absolute;
	top: 55px;
	z-index: 100;
}

#nav .subnav li { float: none; }
#nav .subnav li a {
	background: #9a0d0d !important;
	color: #fff;
	height: auto;
	overflow: hidden;
	padding: 4px 9px;
	text-indent: 0px;
	text-decoration: none;
	max-width: 400px;
	min-width: 200px;
}
#nav .subnav li a:hover { background: #c94343 !important; }

/********************/
/* content elements */
/********************/
#main { float: left;  width: 679px; padding-left: 14px; }
#side { float: right; width: 267px; }

/* main elements */

.content {
	background: transparent url(../images/content-box-top.png) no-repeat scroll left top;
	margin-left: 25px;
	margin-bottom: 20px;
	padding-top: 25px;
	width: 621px;
}
.content-inner {
	background: transparent url(../images/content-box-bottom.png) no-repeat scroll left bottom;
	min-height: 415px;
	padding: 0 25px 25px;
}

/*
#page-1 {
	background-image: url(../images/65th-banner.png);
	margin-left: -14px;
	padding-top: 0;
	width: 673px;
}
#page-1-link {
	display: block;
	height: 153px;
	width: 100%;
}
#page-1 .content-inner { margin-left: 29px; width: 571px; }

#page-2 {
	background-image: url(../images/65th-banner2.png);
	margin-left: -14px;
	padding-top: 153px;
	width: 673px;
}
#page-2 .content-inner { margin-left: 29px; width: 571px; }
*/

.flash_news { margin-bottom: 4px; }

/* flash bits */
.flash_home_gallery { margin-bottom: 5px; margin-top: -16px; margin-left: -14px; }
.flash_gallery      { margin-bottom: 10px; margin-left: -14px; }
.flash_ride         { margin-bottom: 10px; margin-left: -14px; }
.flash_zoo_gallery  { margin-bottom: 10px; margin-left: -14px; }

.flash_gallery img,
.flash_ride img,
.flash_zoo_gallery img {
	border-radius: 10px;
	-moz-border-radius: 10px;
	-o-border-radius: 10px;
	-webkit-border-radius: 10px;

	margin-left: 25px;
}

/* home pahge */
#welcome {
	background: transparent url(../images/welcome-bg.png) scroll no-repeat left top;
	color: #013c8d;
	height: 176px;
	margin-bottom: 17px;
	overflow: hidden;
	padding: 35px 25px;
	position: relative;
	width: 607px;
}
#welcome-text-1 { position: absolute; left: 17px; top: 2px; }
#welcome-text-2 { position: absolute; left: 290px; top: 0px; }
#welcome-image {
	border: 5px solid #a2c8df;

	border-radius: 13px;
	-moz-border-radius: 13px;
	-webkit-border-radius: 13px;

	float: left;
	height: 177px;
	margin-right: 15px;
	width: 242px;
}
#welcome-flash {
	float: left;
	height: 195px;
	margin-right: 16px;
	width: 275px;
}
#welcome-text { padding-top: 45px; }

#home-news-events { float: left; width: 303px; }

#home-news-events .item .title { border-bottom: 0; font-size: 1em; margin-bottom: 0; }
#home-news-events .item .date { float: none; }

#home-news { margin-bottom: 23px; width: 303px; }
#home-news #news-image {
	border: 3px solid #a2c8df;

	border-radius: 13px;
	-moz-border-radius: 13px;
	-webkit-border-radius: 13px;

	float: left;
	height: 111px;
	margin-right: 9px;
	width: 111px;
}
#home-news #news-content {
	background: #fff;
	background: rgba(255, 255, 255, 0.7);
	color: #013c8d;
	float: right;
	height: 107px;
	overflow: hidden;
	padding: 5px;
	width: 167px;
}
#home-news #news-content .item-content {
	font-size: 0.9167em;
}

#home-events {
	height: 112px;
	overflow: hidden;
	padding: 102px 37px 30px;
	width: 229px;
}

#home-events .title        { background: none; font-weight: bold; line-height: 1.667em; }
#home-events .date         { color: #ec666b; line-height: 1.667em; }
#home-events .item-content { color: #ce1b22; height: 75px; overflow: hidden; }
#home-events a { color: #ce1b22; text-decoraton: underline; }

#home-events.event-park        { background: transparent url(../images/event-park-home.png) scroll no-repeat left top; }
#home-events.event-hotel       { background: transparent url(../images/event-hotel-home.png) scroll no-repeat left top; }
#home-events.event-hospitality { background: transparent url(../images/event-hospitality-home.png) scroll no-repeat left top; }
#home-events.event-thomas_land { background: transparent url(../images/event-thomas_land-home.png) scroll no-repeat left top; }

#home-events.event-park        .title { color: #cb1b22; }
#home-events.event-hotel       .title { color: #394589; }
#home-events.event-hospitality .title { color: #54026f; }
#home-events.event-thomas_land .title { color: #1274ae; }

#home-events.event-park        .date { color: #ec666b; }
#home-events.event-hotel       .date { color: #606caf; }
#home-events.event-hospitality .date { color: #b66be5; }
#home-events.event-thomas_land .date { color: #19a9e3; }

#home-events.event-park        .item-content { color: #ce1b22; }
#home-events.event-hotel       .item-content { color: #394589; }
#home-events.event-hospitality .item-content { color: #54026f; }
#home-events.event-thomas_land .item-content { color: #1274ae; }

#home-events.event-park        a { color: #ce1b22; }
#home-events.event-hotel       a { color: #394589; }
#home-events.event-hospitality a { color: #54026f; }
#home-events.event-thomas_land a { color: #1274ae; }

#home-rides {
	background: transparent url(../images/featured-ride-bg.png) scroll no-repeat left top;
	color: #fff;
	float: right;
	height: 296px;
	margin-right: 22px;
	overflow: hidden;
	padding: 58px 28px 32px;
	width: 287px;
}

#home-ride-image {
	border: 3px solid #bdffb1;

	border-radius: 13px;
	-moz-border-radius: 13px;
	-webkit-border-radius: 13px;

	height: 166px;
	overflow: hidden;
	position: relative;
	width: 281px;
}
#home-ride-name {
	background: #000;
	background: rgba(0, 0, 0, 0.8);

	border-radius-bottomleft: 10px;
	border-radius-bottomright: 10px;
	-moz-border-radius-bottomleft: 10px;
	-moz-border-radius-bottomright: 10px;
	-webkit-border-bottom-left-radius: 10px;
	-webkit-border-bottom-right-radius: 10px;

	bottom: 0px;
	color: #fff;
	display: block;
	font-family: 'Franklin Gothic Demi', Arial, Helvetica, sans-serif;
	font-size: 1.5em;
	line-height: 1.667em;
	padding: 0 10px;
	position: absolute;
	text-transform: uppercase;
	width: 261px;
}

#home-ride-description { height: 105px; overflow: hidden; padding: 15px 10px; }



/* sidebar elements */
#book-tickets { margin-bottom: 0px; /*position: relative; z-index: -1;*/ }
#book-tickets-sticker { display: none; /*position: absolute; left: -19px; top: -8px; display: block;*/ }

#plan-your-visit {
	background: transparent url(../images/plan-your-visit-bg.png) scroll no-repeat left top;
	height: 220px;
	line-height: 2.5em;
	margin-bottom: 14px;
	padding: 103px 0 0 53px;
	width: 191px;
}
#plan-your-visit a { display: block; padding-bottom: 13px; }

#newsletter {
	background: transparent url(../images/sign-up-to-our-newsletter.png) no-repeat scroll 0 0;
	height: 153px;
	line-height: 0.4em;
	margin-top: 7px;
	padding: 88px 15px 0;
	text-align: right;
	width: 230px;
}
#newsletter input {
	background: #fff;
	border: 1px solid #cecece;
	color: #011c40;
	font-family: 'Franklin Gothic Medium', Arial, helvetica, sans-serif;
	font-size: 1.167em;
	padding: 4px 10px;
}
#newsletter input.text { width: 208px; }

.techDetailsQ { font-family: "Franklin Gothic Medium", Arial, Helvetica; font-size: 1.167em; font-weight: bold; color: #011c40;}
.techDetailsA { font-family: "Franklin Gothic Medium", Arial, Helvetica; font-size: 1.167em; font-weight: bold; color: #576b86;}

#get-tickets-button { background: url(../images/get-tickets.png) no-repeat scroll 0 0; border: 0; height: 31px; margin: 0; margin-top: 8px; overflow: hidden; padding :0; width: 95px; }
#get-tickets-button:hover { background-position: 0 -31px; }
#get-tickets-button span { visibility: hidden; }

/* 2-4-1 Form */
#tfoForm{ margin-top:20px; }
#tfoForm label{
	display:block;
	margin-bottom:3px;
}
#tfoForm label strong{
	display:block;
	float:left;
	width:60px;
	padding-right:3px;
	font-weight:normal;
	text-align:right;
}
.submit-button {
	background: url(../images/submit.png) no-repeat scroll 0 0;
	border: 0;
	height: 31px;
	margin: 0;
	margin-top: 8px;
	overflow: hidden;
	padding :0;
	width: 95px;
}
.submit-button:hover { background-position: 0 -31px; }
.submit-button span  { visibility: hidden; }


/* opening times calendar */
.calendar-wrapper { float: left; margin-right: 15px; width: 180px; }
.calendar {
	color: #383838;
	font-size: 16px;
	font-weight: bold;
	margin-bottom: 10px;
}
.calendar caption#month { color: #011c40; padding-bottom: 6px; font-size: 16px; }
.calendar th,
.calendar td { text-align: center; padding: 4px; }
.calendar th.weekday {
	background: #011c40;
	border-bottom: 4px solid #fff;
	color: #ffffff;
	font-size: 18px;
	height: 33px;
}
.calendar .xmas      { background: url(../images/calendar-dot-blue.png) no-repeat center;   color: #ffffff; }
.calendar .weekend-1 { background: url(../images/calendar-dot-lblue.png) no-repeat center;  color: #ffffff; }
.calendar .weekend-2 { background: url(../images/calendar-dot-green.png) no-repeat center;  color: #373540; }
.calendar .feb-ht    { background: url(../images/calendar-dot-yellow.png) no-repeat center; color: #373540; }
.calendar .main      { background: url(../images/calendar-dot-red.png) no-repeat center;    color: #ffffff; }
.calendar .fireworks { background: url(../images/calendar-dot-purple.png) no-repeat center; color: #ffffff; }

.key-item {
	color: #011c40;
	float: left;
	margin-bottom: 10px;
	margin-right: 14px;
	text-align: center;
	width: 181px;
}
.key-item.lastchild  { margin-right: 0; }
.key-item h2 {
	border: none;
	font-family: Arial, Helvetica, sans-serif;
	font-size: 12px;
	line-height: 24px;
}
.key-item p { font-size: 11px;}
.key-item h2.xmas      { background: url(../images/calendar-title-blue.png) no-repeat;   color: #ffffff; }
.key-item h2.weekend-1 { background: url(../images/calendar-title-lblue.png) no-repeat;  color: #ffffff; }
.key-item h2.weekend-2 { background: url(../images/calendar-title-green.png) no-repeat;  color: #373540; }
.key-item h2.feb-ht    { background: url(../images/calendar-title-yellow.png) no-repeat; color: #373540; }
.key-item h2.main      { background: url(../images/calendar-title-red.png) no-repeat;    color: #ffffff; }
.key-item h2.fireworks { background: url(../images/calendar-title-purple.png) no-repeat; color: #ffffff; }
.key-item h2.closed    { background: url(../images/calendar-title-blank.png) no-repeat;  color: #373540; }

/*********/
/* items */
/*********/
.item          { margin-bottom: 10px; }
.item .title   { font-size: 1.583em; font-weight: bold; }
.item .date    { float: right; font-style: italic; }
.item .image   { float: left; margin-right: 5px; margin-bottom: 5px; }

/* event titles */
.event .title   { padding: 0 7px; border-bottom: 0; color: #fff; line-height: 1.474em; }
.event .title a { color: #fff; }

.event-park        .title { background: transparent url(../images/event-park.png) scroll no-repeat 0 0; }
.event-hospitality .title { background: transparent url(../images/event-hospitality.png) scroll no-repeat 0 0; }
.event-hotel       .title { background: transparent url(../images/event-hotel.png) scroll no-repeat 0 0; }
.event-thomas_land .title { background: transparent url(../images/event-thomas_land.png) scroll no-repeat 0 0; }

/*******************/
/* footer elements */
/*******************/
#footer   { color: #666783; height: 115px; margin-top: 60px; }
#footer a { color: #666783; }

#footer-nav  { float: left; font-size: 1.0833em; line-height: 1em; width: 470px; margin-top:36px; }
#footer-info { float: right; font-size: 0.9167em; text-align: right; width: 480px; margin-top:36px; }

#footer-nav li {
	border-right: 1px solid #666783;
	float: left;
	margin-right: 7px;
	padding-right: 7px;
}

#footer-nav li:last-child {
	border: 0;
	margin: 0;
	padding: 0;
}


/***********************/
/* general form styles */
/***********************/
.required { color: #f00; }

/* all form elements are contained within a formrow div, with a label and
 *  then the element, this is the best way (but still not good) to emulate
 *  a table */
div.formrow {
  clear: both;
  text-align: left;
  margin-bottom: 10px;
}

div.formrow label {
  float: left;
  text-align: right;
  margin-right: 10px;
  width: 80px; /* default width for a default form, add new form ids and override */
}
div.formrow.indent { margin-left: 90px; } /* label width + label margin-right, override as above */
div.formrow label.radio {
	float: none;
	text-align: inherit;
	margin-right: 0;
	width: auto;
}

#recaptcha_widget         { margin-bottom: 15px; }
#recaptcha_image          { float: left; width: 300px; }
#recaptcha_options        { border-left: 1px solid #999; padding-left: 5px; float: left; margin-left: 10px; }
#recaptcha_response_field { width: 325px; }
#recaptcha_notice         { font-size: 0.833em; color: #555; }

/* message and error boxes, not just useful in contact form */
#messages,
#errors,
#warnings,
#info { margin-bottom: 10px; }
.message { border: 1px solid #080; background: #efe; color: #080; padding: 3px 5px; margin-bottom: 15px; float: left; } /* you may need to clearfix this */
.message.nomargin { margin-bottom: 0; } /* if before something with a margin-top */
.message.info { border-color: #880; background: #ffe; color: #880; } /* info box in yellow */
.message.warn { border-color: #f40; background: #ffe; color: #f40; } /* warning box in orange */
.message.error { border-color: #f00; background: #fee; color: #f00; } /* error box in red */

