/* ==== Global ==== */
* {
	margin: 0pt; padding: 0pt;
}

body {
	background: url(../images/main_background.png) top left;
	font-family: Verdana, Arial, "MS Trebuchet", sans-serif;
	font-size: 75%; font-weight: normal; text-decoration: none;
	color: #333;
	text-align: center;

	margin: 5px 0px;
}
.wrapper {
	width: 923px; margin: 0 auto; padding: 0pt;
}
.hide_me {
	display: none;
}
.clr {
	clear: both;
}

table td {padding:2px;}

/* Remove the border from link images by default - it annoys me */
a img {
	border: 0pt;
}
a {
	color: #0059FF; text-decoration: none;
}
a:hover {
	color: #FF2600;
}
p {
	line-height: 1.5;
	margin-bottom: 1em;
}
h1,h2,h3,h4,h5,h6 {color: #990000; margin-bottom: 15px;}
h1 {color: #FF2700; border-bottom: 1px dashed #CCC;}
ul, ol {margin-left: 3em;}
li {margin: 0;}
hr {
	margin: 0pt; padding: 0pt; border: 0pt;
	border-bottom: 1px dashed #999; margin-bottom: 10px;
}

input.button {
    padding: 0 .25em;
    width: 0;  /* IE table-cell margin fix */
    overflow: visible;
}

input.button[class] {  /* IE ignores [class] */
    width: auto;  /* cancel margin fix for other browsers */
}
label, .fake_label {
	float: left; margin-right: 10px; width: 110px; text-align: right;
}

label .required {color: red;}
label .info {font-size: 10px; color: #999;}

.errors_block h2 {
	color: #000;
}
.errors_block {
	margin-bottom: 15px; padding: 10px;
}
.error_item {font-weight: bold;}
.invalid { background: #FFB3B3;  height: 20px; }


.admin_links {color: red;}
.admin_links a { color: #000; }
.admin_links a:hover { color: red; }

/* ==== Header ==== */
#header {
	height: 240px;
	background: url(../images/header_background.png) repeat-x bottom left;
}
#header_left {
	float: left;
	background: url(../images/header_left.png) no-repeat bottom left;
	width: 213px; height: 240px;
}
#header_logo {
	float: left; margin-left: 200px; height: 240px;
}
#header_logo img {
	margin-top: 20px;
}
#header_right {
	float: right;
	position: relative;
	background: url(../images/header_right_map.png) no-repeat bottom left;
	width: 208px; height: 240px;
}
#header_right a#find_me {
	display: block; height: 240px; width: 208px; text-align: left;
}
#header_right a span {
	font-size: 15px; color: #252525; margin-left: 10px; position: absolute;
}
#header_right a:hover span {
	color: #999;
}
/* ==== Menu bar ====*/
#menu_bar {
	background: url(../images/menu_background.png) repeat-x top left;
	height: 47px;
}
#menu_left {
	float: left;
	background: url(../images/menu_left.png) no-repeat top left;
	width: 19px; height: 47px;
}
#menu_middle {text-align: left; float: left;}
#menu_right {
	float: right;
	background: url(../images/menu_right.png) no-repeat top left;
	width: 30px; height: 47px;
}
/* = menu = */
ul#menu {
	clear:both;
	display:block;
	float:left;
	list-style-image:none;
	list-style-position:outside;
	list-style-type:none;
	margin:0pt; margin-top: 4px;
}
ul#menu li {
	display:inline; float:left;padding:0px 0pt; margin-right: 5px;
}
ul#menu li a {
	display:block;
	float:left;
	position:relative;

	padding:0px 8px; height: 32px;

	font-family:Tahoma,Verdana,Arial,sans-serif;
	font-size:1.1em;
	font-weight:bold;
	color: #FFF;
}
ul#menu li a .text {
	padding-top: 7px; display: block;
}

ul#menu li a:hover, li.active a,
.about ul#menu li.about a,
.home ul#menu li.home a,
.interfaces ul#menu li.interfaces a,
.articles ul#menu li.articles a,
.events ul#menu li.events a,
.courses ul#menu li.courses a {
	background: #FFF; color: #000 !important;
}
ul#menu li a:hover .left_corner, li.active a .left_corner,
.courses ul#menu li.courses a .left_corner,
.home ul#menu li.home a .left_corner,
.interfaces ul#menu li.interfaces a .left_corner,
.articles ul#menu li.articles a .left_corner,
.events ul#menu li.events a .left_corner,
.about ul#menu li.about a .left_corner {
	background: url(../images/menu_item_left.png) no-repeat top left;
	position: absolute; bottom: 0; left: 0; display: block; height: 32px; width: 5px;

}
ul#menu li a:hover .right_corner, li.active a .right_corner,
.courses ul#menu li.courses a .right_corner,
.about ul#menu li.about a .right_corner,
.home ul#menu li.home a .right_corner,
.interfaces ul#menu li.interfaces a .right_corner,
.articles ul#menu li.articles a .right_corner,
.events ul#menu li.events a .right_corner,
.courses ul#menu li.courses a .right_corner  {
	background: url(../images/menu_item_right.png) no-repeat top right;
	position: absolute; top: 0; right: -1px; display: block; width: 5px; height: 32px;
}

/* == Sub menu bar == */
.with_sub_menu { background: url(../images/menu_background_with_sub.png) repeat-x top left !important; }
.with_sub_menu #menu_left {	background: url(../images/menu_left_with_sub.png) no-repeat top left; }
.with_sub_menu #menu_right { background: url(../images/menu_right_with_sub.png) no-repeat top left; }

#sub_menu_bar {
	display: none;
	background: url(../images/sub_menu_background.png) repeat-x top left;
	height: 25px;
}
/* enable sub menu for certain pages (see body class tag) */
body.show_sub_menu #sub_menu_bar {display: block;}
body.show_sub_menu #menu_bar {background: url(../images/menu_background_with_sub.png) repeat-x top left !important;}
body.show_sub_menu #menu_left {	background: url(../images/menu_left_with_sub.png) no-repeat top left; }
body.show_sub_menu #menu_right{ background: url(../images/menu_right_with_sub.png) no-repeat top left; }

#sub_menu_left {
	float: left;
	background: url(../images/sub_menu_left.png) no-repeat top left;
	width: 19px; height: 25px;
}
#sub_menu_middle {text-align: left; float: left;}
#sub_menu_right {
	float: right;
	background: url(../images/sub_menu_right.png) no-repeat top left;
	width: 30px; height: 25px;
}

ul#sub_menu {
	list-style-image:none;
	list-style-position:outside;
	list-style-type:none;
	margin: 0pt; padding: 0pt;
}
ul#sub_menu li {
	margin: 0pt 8px; height: 19px;
	float: left;
}

ul#sub_menu li.active a,
.courses_index ul#sub_menu li.courses a,
.courses_basket ul#sub_menu li.basket a,
.courses_calendar ul#sub_menu li.calendar a {
  color: #111; background:none;
}
ul#sub_menu a:hover {color: #4E71D6 !important;}

#phone_number {position: absolute; right: 40px; bottom: 60px; font-size: 15px}
#email_addy {position: absolute; right: 40px; bottom: 40px; font-size: 15px}
#email_addy a:hover {color: #FFF;}

/* ==== Boxes ==== */
.box {}
.box .top {height: 25px;}
.box .top .tl {float: left;width:12px; height:25px; background: url(../images/box_tl.png) no-repeat top left;}
.box .top .trep {
    height:25px; background: url(../images/box_trep.png) repeat-x top left; margin: 0 11px 0 11px;
    padding: 4px 0px; color: #000; font-weight: bold; text-shadow:0 1px 0 #FFFFFF;
 }
.box .top .tr {float: right; width:12px; height:25px; background: url(../images/box_tr.png) no-repeat top right;}
.box .content {background: #FFF; border-left: 1px solid #D9D9D9; border-right:1px solid #D9D9D9; padding:5px;}
.box .bottom {height:12px;}
.box .bottom .bl {float: left;width:12px; height:12px; background: url(../images/box_bl.png) no-repeat bottom left;}
.box .bottom .brep {height:12px; background: url(../images/box_brep.png) repeat-x bottom left; margin: 0 11px 0 12px}
.box .bottom .br {float: right; width:12px; height:12px; background: url(../images/box_br.png) no-repeat bottom right;}
.box .box_item {height: 20px; background: #F9F9F9; padding: 3px; border-bottom: 1px solid #EEE;}
.box_sort {margin:0; padding:0; list-style: none;}
.box_sort .top {cursor: move;}

/* ==== Main Content ==== */
#main_content {
	background: url(../images/content_background.png) repeat-y top left;
	text-align: left;
	min-height: 300px;
}
.main_content_pad {padding: 20px 30px;}

body.home .main_content_pad {padding:0;}
body.home .main_content_pad .site_index_pad {padding: 20px 30px;}
.site_index_blurb {background: url(../images/frontpage_intro_background.png) repeat-x top left; height: 162px; margin-left: 13px; margin-right: 13px;}
.site_index_blurb_pad {padding: 5px; float: left; width: 650px}
.site_index_blurb_pad h1 {border: 0; color: #111;}
.site_index_gill {float: right; width: 209px;}

/* ==== Content End ==== */
#content_end {
	height: 33px;
	background: url(../images/content_end_background.png) repeat-x top left;
}
#content_end_left {
	float: left;
	background: url(../images/content_end_left.png) no-repeat top left;
	width: 22px; height: 33px;
}
#content_end_right {
	float: right;
	background: url(../images/content_end_right.png) no-repeat top left;
	width: 28px; height: 33px;
}

/* =========== Different pages ============= */

/* ==== Front Page ==== */

#fp_info {margin-top: 10px; width: 600px}

.kwicks {
	/* recommended styles for kwicks ul container */
	list-style: none;
	position: relative;
	margin: 0;
	padding: 0;
}
.kwicks li{
	/* these are required, but the values are up to you (must be pixel) */
	width: 200px;
	height: 300px;
	cursor: pointer;
	position: relative;

	/*do not change these */
	display: block;
	overflow: hidden;
	padding: 0;  /* if you need padding, do so with an inner div (or implement your own box-model hack) */
}
.kwicks.horizontal li {
	/* This is optional and will be disregarded by the script.  However, it should be provided for non-JS enabled browsers. */
	margin-right: 5px; /*Set to same as spacing option. */
	float: left;
}
.kwicks.vertical  li{
	/* This is optional and will be disregarded by the script.  However, it should be provided for non-JS enabled browsers. */
	margin-bottom: 5px; /*Set to same as spacing option. */
}

/* Preload kwick active iamges */
#preload_kwick1 {background: url(../images/kwick1_active.jpg); background-repeat: no-repeat; background-position: -1000px -1000px;}
#preload_kwick2 {background: url(../images/kwick2_active.jpg); background-repeat: no-repeat; background-position: -1000px -1000px;}
#preload_kwick3 {background: url(../images/kwick3_active.jpg); background-repeat: no-repeat; background-position: -1000px -1000px;}

#kwick_1 { background: url(../images/kwick1.jpg) no-repeat }
#kwick_1.active { background: url(../images/kwick1_active.jpg) no-repeat }
#kwick_2 {background: url(../images/kwick2.jpg) no-repeat}
#kwick_2.active {background: url(../images/kwick2_active.jpg) no-repeat}
#kwick_3 {background: url(../images/kwick3.jpg) no-repeat top right}
#kwick_3.active {background: url(../images/kwick3_active.jpg) no-repeat top right}
.kwicks.horizontal #kwick_3 {
	margin-right: none; /* cancel margin on last kiwck (if you set a margin above) */
}
.kwicks.vertical #kwick_3 {
	margin-bottom: none; /* cancel margin on last kiwck (if you set a margin above) */
}


/*.kwicks .bigLetter {
	font-size: 12px;
	width: 110px;
	height: 120px;
	color: #000;
	float: left; margin-top: 270px; margin-left: 10px; font-weight: bold;
}
*/
.kwicks .bigLetter {
	position: absolute; bottom: 12px; left: 10px;
	font-size: 12px; 	color: #000; font-weight: bold;
}
.kwicks .bigLetter a {color: #000;}
.kwicks li.active .bigLetter a {color: red;}
.kwicks .smallLetters {
	display: none;
	text-align: right; font-weight: bold;
	width: 200px;
	color: #000;
	font-size: 16px;
	margin-top: 13px;  margin-right: 10px;
	float: right;
}
.kwicks li.active .smallLetters {
	display: block;
}
#front_page_photos a {outline: none;}
#front_page_photos a img  { border: 1px solid #FFF;  }
#front_page_photos a:hover img { border: 1px solid #000; }
#latest_show_photo a img {border: 1px solid #AAA;width: 180px; height: 152px;}
#latest_show_photo a:hover img {border: 1px solid #000;}

.fp_sb_item {width: 230px;}

/* ==== Contact page ==== */
.contact_label {
	float: left;
	margin-right:5px;
	width:100px;

	text-align: left; font-weight: normal;
}
.contact_field {
	float: left;
	font-weight: bold;
}
.contact_space_of_label {
	margin-left: 150px;
}
.contact_space {
	clear: both;
	margin-bottom: 1em;
}
#live_map {
	border: 1px solid #000; margin-left: 30px;
}

/* ==== Galleries ==== */
.gallery_item {float: left; margin:0px 30px 15px 0px; text-align: center}
.gallery_item h3 {margin-bottom: 5px;}
.gallery_item img {border: 1px solid #999;}
.gallery_item .info {font-size: 10px;}

.photo_item {float: left; margin:0px 10px 15px 0px; text-align: center}
.photo_item img {border: 1px solid #999;}
.photo_item a:hover img {border: 1px solid red;}
/* ==== Courses ==== */
#courses_table {
	border: 1px solid #636363;
}
#courses_table th {
	background: url(../images/courses_table_header.png) repeat-x;
	height: 35px;
	border-right: 1px solid #636363;
	border-bottom: 1px solid #636363;
	color: #FFF;
	text-align: center !important;
}

#courses_table th.start {
	width: 250px;
	text-align: left;
	padding-left: 5px;

}

#courses_table th.middle {
	width: 40px;
	font-weight: normal;
}

#courses_table th.end {
	font-weight: normal;
	width: 40px;
	border-right: 0;
}

#courses_table td {
	padding: 5pt 1px;
	border-right: 1px solid #878787;
	border-bottom: 1px solid #878787;
	text-align: center;
}

#courses_table td .course_date {
	background: #FFF;
	padding: 2px; border: 1px solid #999;
	margin-bottom: 5px;
	width: 30px;
}


#courses_table td.start {

	text-align: left; font-size: 15px;
}
#courses_table td.start a {font-size: 10px;}
#courses_table td.middle {
	padding-bottom: 0px;
}
#courses_table td.end {
	border-right: 0;
}
#courses_table td.new_year {
  background-image: url('../images/calendar_new_year.png');
}
#courses_table td.bottom, #courses_table tr.bottom td {
	border-bottom: 0;
}

#tooltip.pretty {
	border: none;
	width: 210px;
	padding:20px;
	height: 135px;
	opacity: 0.8;
	background: url('../images/shadow.png');
}
#tooltip.pretty h3 {
	margin-bottom: 0.75em;
	font-size: 12pt;
	width: 220px;
	text-align: center;
}
#tooltip.pretty div { width: 220px; text-align: left; }

#tooltip.fancy {
	background: url('../images/shadow2.png');
	padding-top: 5em;
	height: 100px;
}
#tooltip.fancy.viewport-right {
	background: url('../images/shadow2-reverse.png');
}

/* ==== Category === */
/* jquery sortable list */
ul.sortable { list-style: none; margin-left: 0px; }
ul.sortable li { background: #FCAFAF; color: #000; width: 350px; margin: 5px; font-size: 12px; font-family: Arial; padding: 3px; cursor: move; }
ul.sortable li.sel { background: #FF2700; color: #FFF;  }

/* ==== Events ==== */
ol#event_list {
	background: transparent url(../images/events_list.png) repeat-y scroll right top;
	float:left;
	left:30px;
	margin:0px;
	padding:8px 0pt;
	position:relative;
	width:250px;
}
ol#event_list li {
background:transparent url(../images/event_item.png) repeat-y scroll right top;
color:#555555;
cursor:pointer;
font-size:11pt;
line-height:40px;
list-style-position:inside;
}

ol#event_list li.current {
background:transparent url(../images/event_item_selected.png) no-repeat scroll right top;
color:#FF2700;
}
ol#event_list li.current a {color:#FF2700;}

#event_list_content {
	float: left; margin-left: 60px; padding-top: 10px;
}
.event_content {float: left; width: 320px;}
.event_info_box {border: 1px solid #CCC; background: #F2F2F2; padding: 10px; float: right; width: 200px;}
.event_date_range {font-weight: bold; margin-bottom: 10px;}

#photos a, .photos a {outline: none; margin: 5px;}
#photos a img, .photos a img {border: 1px solid #FFF;}
#photos a.sel img, .photos a.sel img {border: 1px solid red !important;}
#photos a:hover img, .photos a:hover img {border: 1px solid #333;}


/* Booking */
ul.notice {color: red;}
ul.notice li {margin-bottom: 5px;}

