/* ------------------ Global Rental Styles -------------------------- */

html, body {
	height: 100%;
	width: 100%;
	padding: 0;
	margin: 0;
}
body {
	margin: 0px;
	padding: 0px;
	background: url('../img/body_bg.jpg') top center repeat-x #ffffff;
	color: #666;
}
* {
	font-family: arial, sans-serif;
	font-size: 10pt;
}

h1 {
	font-family: verdana, arial, sans-serif;
	font-size: 1.5em;
	font-weight: normal;
	color: #003366;
	border-bottom: 1px solid #003366;
	margin: .8em 0;
}
h1.error {
	color: red;
}

h2 {
	margin: 0px;
	padding: 4px;
	/*background: #cccccc;*/
	color: #003366;
}
h3 {
	margin: 0px;
	padding: 3px;
	border-bottom: 1px solid #666666;
	color: #003366;
}
td.label {
	text-align: right;
	vertical-align: top;
	font-style: italic;
}
a img {
	border: 0;
}
a {
	color: #003366;
	text-decoration: none;
}
a:hover {
	background-color: #003366;
	color: #ffffff;
	text-decoration: none;
}
#header_logo a:hover {
	background: transparent;
}

/* ------------------ Page Container / Layout ----------------------- */

#container {
	min-height: 100%;
	width: 100%;
	position: absolute;
}
#page_header {
	position: relative;
	width: 900px;
	margin: auto;
	background: url('../img/logo.jpg') top left no-repeat;
	height: 95px;
}
#header_logo h2 {
	display: none;
}
#page_container {
	width: 900px;
	margin: auto;
	border-collapse: collapse;
	margin-top: -95px;
}
#page_body, #left_col, #right_col {
	padding-top: 95px;
}
#left_col {
	float: left;
	width: 600px;
}
#right_col {
	float: left;
	width: 275px;
	padding-left: 25px;
}
#flashMessage {
	padding: 5px;
	background: #036;
	font-size: 1.2em;
	border-bottom: 4px solid red;
}
#footer_break {
	clear: both;
	height: 115px;
}
div.lang_links {
	/*float: right;*/
	position: absolute;
	right: 0;
	width: 318px;
	padding-right: 10px;
	height: 29px;
	background: url('../img/lang.jpg') top right no-repeat;
	text-align: left;
}
div.lang_links div {
	float: right;
	margin: 6px 5px 0 0;
}
div.lang_links div a {
	display: block;
	border: 1px solid white;
}
div.lang_links div a img {
	display: block;
}
div#lang_links_text {
	/*POH Added this*/
	color: #333;
	font-size: 10px;
	float: none;
	margin-left: 40px;
}
#page_footer {
	position: absolute;
	bottom: 0;
	width: 100%;
	height: 100px;
	background: url('../img/page_footer_bg.jpg') repeat-x #eee;
}


/* ------------------ Ski Display Styles ---------------------------- */

.category {
	border: 1px solid #cccccc;
	margin-bottom: 10px;
	margin-left: 40px;
	width:490px;
}
.category a:hover {
	text-decoration: underline;
	background-color: #ffffff;
}
.package {
	padding: 5px;
}
table.package_detail {
	margin-top: 5px;
}
.package form {
	margin: 0px;
}
.package label {
	display: block;
	font-size: 0.9em;
	padding-bottom: 3px;
}
.package input {
	font-size: 0.8em;
}
.package img {
	border: 1px solid silver;
	padding: 1px;
}
.ski_img {
	width: 400px;
	float:left;
}
.package_detail div.checkbox {
	clear: both;
	width: 60px;
}
.package_detail div.checkbox label {
	float: left;
	margin-right: 5px;
}
.package_detail div.checkbox input {
	margin-top: 8px;
}

/* --------------- add-to-basket form styles -------------------------- */

div.ski_form {
	margin-top: 8px;
	border: 1px solid #ddd;
	display: none;
	background: #fafafa;
}
table.ski_form {
	margin: auto;
	border-collapse: collapse;
}
.ski_form td {
	padding: 5px;
}
.ski_form div.input {
	float: left;
}
.ski_form div.checkbox {
	position: relative;
}
.ski_form div.checkbox input {
	line-height: 1em;
	position: absolute;
	bottom: 0px;
}
.ski_form div.checkbox img {
	margin-left: 1.5em;
}
.ski_form div.input label {
	display: block;
}
.ski_form div.input img {
	border: 0;
	vertical-align: top;
}
.ski_form div.text {
	width: 100px;
}
.ski_form div.text input {
	width: 94%;
}
.ski_desc {
	clear: both;
}
.ski_prices {
	text-align: center;
}
.ski_prices span {
	margin-right: 10px;
}
.ski_prices span.hidden {
	display: none;
}
span.ski_price_rrp {
	text-decoration: line-through;
}
#OrderPackageWeight {
	margin-right: 10px;
}

/* --------------- mouse-over description styles ---------------------- */

div.ski_desc_hover {
	margin-top: 30px;
	margin-left: -8px;
	width: 360px;
	background: url(../img/ski_desc_bg_btm.png) no-repeat bottom left;
}
div.ski_desc_hover p
{
	min-height: 80px;
	margin: 0 0 13px 0;
	padding: 10px 23px 10px 23px;
	background: url(../img/ski_desc_bg_top.png) no-repeat top left;
}

/* -------------------- Basket Summary Styles --------------------------- */

.basket_summary {
	border: 1px solid #cccccc;
}
.basket_summary div.stay {
	padding: 6px;
}
.basket_summary div.stay table {
	margin: auto;
}
.basket_summary div.empty {
	padding: 20px 10px 20px 10px;
	color: silver;
	text-align: center;
	font-style: italic;
}
.basket_summary div.skis {
	border-bottom: 1px solid #666666;	
}
.basket_summary div.skis table {
	margin-top: 3px;
}
.basket_summary td.label {
	width: 80px;
	text-align: right;
	vertical-align: top;
	font-style: italic;
}
.basket_summary div.btn_close a {
	display:block;
	text-decoration: none;
	margin: 1px;
	font-size: 12px;
	height: 14px;
	width: 14px;
	border: 1px solid silver;
	text-align: center;
	float: right;
}
.basket_summary div.btn_close a:hover {
	color: red;
	background: silver;
}
.basket_summary div.price {
	text-align:right;
	padding: 0px 5px 5px 0px;
}
.basket_summary div.delivery {
	margin-top: 3px;
	border-bottom: 1px solid #666666;	
}
.basket_summary div.totals {
	border-top: 0px solid silver;
	font-weight: bold;
	padding: 6px;
	text-align: right;
}
.basket_summary div.buttons {
	text-align: right;
}
.basket_summary div.buttons a {
	padding: 3px;
	border: 1px solid silver;
	margin: 5px;
	display: block;
	float: right;
	text-decoration: none;
}
.basket_summary div.buttons a:hover {
	color: #0000cc;
	background: silver;
}

/* -------------------- General form styles ------------------------------*/



/* -------------------- Start Reservation Form Styles --------------------*/

.start_form {
	border: 1px solid #cccccc;
}
.start_form form {
	margin: 10px;
}
.start_form input {
	width: 120px;
}
.start_form table {
	margin: auto;
}
.start_form td {
	padding: 3px;
}
.start_form td.first {
	text-align: right;
	font-style: italic;
}
.start_form h2 a {
	display: block;
	float: right;
}
.start_form a img {
	display: block;
}
.form_holder {
}

/* ------------------ Client Details Form Styles -------------------------*/

div.OrderAddForm {
	border: 1px solid #cccccc;
	padding: 15px;
	padding-right: 0px;
	margin-bottom: 1em;
}
div.OrderAddForm.delivery {
	padding-right: 15px;
}
#OrderAddForm div.text {
	width: 240px;
	margin-right: 10px;
	padding: 3px;
	float: left;
}
#OrderAddForm div.error input, form#OrderAddForm div.error select {
	background: #ff9999;
}
#OrderAddForm div.select {
	padding: 3px;
	clear: both;
}
#OrderAddForm div.submit {
	clear: both;
	text-align: right;
}
#OrderAddForm label {
	display: block;
}
#OrderAddForm div.required label {
	font-weight: bold;
	font-style: italic;
}
#OrderAddForm div.text input {
	width: 100%;
}
#OrderAddForm div.checkbox {
	text-align: right;
	margin: -2.5em 0 -1em 0;
}
#OrderAddForm div.checkbox input {
	line-height: 0;
	vertical-align: middle;
}
#OrderAddForm div.checkbox label {
	display: inline;
	line-height: 0;
	vertical-align: middle;
}
#OrderAddForm div.textarea {
	width: 500px;
}
textarea {
	width: 100%;
	height: 6em;
}
/* ------------------- Basket View Display Styles ------------------------*/

#order_summary table {
	width: 740px;
	border-collapse: collapse;
	border: 1px solid #cccccc;
	margin: 20px 0px 0px 25px;
}
#order_summary th {
	background: #cccccc;
	padding: 5px;
	text-align: left;
}
#order_summary td {
	vertical-align: top;
	padding: 3px 5px 3px 5px;
}
#order_summary tr.odd td {
	background: #f0f0f0;
}
#order_summary tr.even td {
	background: #e4e4e4;
}
#order_summary tr.totals td {
	border-top: 2px solid #cccccc;
	text-align: right;
}
#order_summary tr.delivery td {
	text-align: right;
}
#client_details {
	clear: both;
	padding-top: 15px;
}
#client_details table {
	width: 350px;
	margin: 10px;
	float: left;
}
#payment {
	clear: both;
	padding-top: 15px;
}
#payment h3 {
	color: red;
	border-color: red;
}
#payment form {
	margin: 20px;
}
#payment_form {
	text-align: center;
}
#stay_summary table {
	margin: 10px;
}
#stay_summary td {
	padding: 5px;
}
div.edit_link {
	clear: both;
	text-align: right;
	margin-right: 3em;
}


/* ------------------------------ Front page styles ------------------------- */

div.resorts.index #main_image {
	width: 900px;
	height: 208px;
	background-image: url(../img/head_image.jpg);
	margin-bottom: 1em;
}
div.resorts.index #resorts_list {
	width: 250px;
	float: right;
	border: 1px solid white;
}
div.resorts.index h2 {
	padding-top: 0;
	float: left;
}
div.resorts.index #resorts_list h3 {
	border: 0;
	padding: 8px;
	background: #999;
}
div.resorts.index #resorts_list ul, div.resorts.index #resorts_list li {
	margin: 0;
	padding: 0;
	list-style: none;
	background: #aaa;
}
div.resorts.index #resorts_list li a {
	border-top: 1px solid #ccc;
	display: block;
	padding: 8px;
}
div.resorts.index #content {
	float: left;
	width: 630px;
}

/* ------------------------------ Calendar Styles ----------------------------*/

div.dedokoCalClass {
	/* container div (absolute position and hide off-screen)  */
	border: 1px solid orange;
}				     
div.dedokoCalClass table {
	background: white;
	color: #666666;
	border-collapse: collapse;
}
div.dedokoCalClass table td {
	padding: 2px;
}
div.dedokoCalClass td.dedCalHeader {
	/* table cell for calendar header / links */
	background: orange;
	color: white;
	text-align: center;
}
div.dedokoCalClass a {
	/* for the links in the header */
}
td.dedCalCellDay {
	/* the cells containing the day names */
	background: #eee;
}
td.dedCalCellOff {
	/* blank (ie not in this month) day cells */
}
td.dedCalCellOn {
	/* active (ie a day in this month) day cells */
}
td.dedCalCellCurrent {
	/* currently selected day cell */
	background: #fc6;
}
td.dedCalCellOver {
	/* style to apply to active day cells on mouseover */
	cursor: pointer;
	background: orange;
	color: white;
}

/* -------------------------- resort view styles ---------------------------- */

div.resorts.view h3 {
	border: 0;
}

div.resorts.view div.resort_header {
	margin-bottom: 1em;
	position: relative;
	height: 200px;
	overflow: hidden;
}

div.resorts.view div.image {
	background: white;
}

div.resorts.view div.image_strapline {
	position: absolute;
	bottom: 0;
	padding: 10px;
	filter:alpha(opacity=60);
	-moz-opacity:.6;
	opacity:.6;
	background: #369;
	width: 880px;
	color: white;
	text-align: right;
}

div.resorts.view div.image img {
	display: block;
}

div.resorts.view div.image div.missing {
	background: #fafafa;
	border: 1px solid #eee;
	color: #999;
}

div.resorts.view div.shop_map {
	width: 420px;
	float: right;
}

div.resorts.view div.resort_content {
	width: 450px;
}

div.resorts.view div.resort_shops {
	clear: both;
}

div.resorts.view div.shop_panel {
	clear: both;
	margin-bottom: 40px;
}

div.resorts.view div.shop_left {
	width: 320px;
	float: left;
	border: 1px solid white;
	margin-bottom: 1em;
}

div.resorts.view div.shop_left h3 {
	padding: 0;
}

div.resorts.view div.shop_left p {
	margin-top: .7em;
}

div.resorts.view div.extra {
	padding: .5em .5em 0 .5em;
}

div.resorts.view div.shop_body {
	width: 550px;
	float: left;
	padding-left: 25px;
}

div.resorts.view div.booking {
	width: 320px;
	margin: 2em auto;
}

div.resorts.view a.booking {
	padding: 25px;
	display: block;
	text-align: center;
	text-decoration: none;
}

div.resorts.view a.booking span {
	font-size: 2em;
}

div.loading {
	background: url(../img/load_bar.gif) no-repeat center;
	text-align:center;
	padding: 25px;
}

div.missing {
	padding: 30px;
	text-align: center;
}

