/* Reset 
----------------------------------------------------------------------------------------------------*/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, font, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td { margin:0; padding:0; border:0; outline:0; font-weight:inherit; font-style:inherit; font-size:100%; font-family:inherit; vertical-align:baseline; }
:focus 						{ outline:0; }
body 							{ line-height:1; color:black; background:white; }
ol, ul 						{ list-style:none; }
table 						{ border-collapse:collapse; border-spacing:0; }
caption, th, td 	{ text-align:left; font-weight:normal; }
blockquote:before, 
blockquote:after,
q:before, q:after { content:""; }
blockquote, q 		{ quotes:"" ""; }
img 							{ display:block; }

/* Containers
----------------------------------------------------------------------------------------------------*/
	body		{ color:#a8acaf; background-color:#000; text-align:center; font-size:75%; line-height:1.6667; font-family:Arial, Helvetica, sans-serif; }
	.container 	{ margin-left:auto; margin-right:auto; width:960px; text-align:left; overflow:hidden; }
	.row 		{ display:block; clear:both; width:100%; overflow:hidden; position:relative; }
	
/* Grid 12 Col
----------------------------------------------------------------------------------------------------*/

.col-40, .col-120, .col-200, .col-280, .col-360, .col-440, .col-520, .col-600, .col-680, .col-760, .col-840, .col-920 { display:inline; float: left; position: relative; margin-left: 20px; margin-right: 20px;  }
	
	.col-40  {width:40px;}
	.col-120 {width:120px;}
	.col-200 {width:200px;}
	.col-280 {width:280px;}
	.col-360 {width:360px;}
	.col-440 {width:440px;}
	.col-520 {width:520px;}
	.col-600 {width:600px;}
	.col-680 {width:680px;}
	.col-760 {width:760px;}
	.col-840 {width:840px;}
	.col-920 {width:920px;}
	
		.prefix-80  {padding-left:80px;}
		.prefix-160 {padding-left:160px;}
		.prefix-240 {padding-left:240px;}
		.prefix-320 {padding-left:320px;}
		.prefix-400 {padding-left:400px;}
		.prefix-480 {padding-left:480px;}
		.prefix-560 {padding-left:560px;}
		.prefix-640 {padding-left:640px;}
		.prefix-720 {padding-left:720px;}
		.prefix-800 {padding-left:800px;}
		.prefix-880 {padding-left:880px;}
		.prefix-960 {padding-left:960px;}

.col-first 			{ margin-left:0px; }
.col-last			{ margin-right:0px; }

/*  Header 	----------------------------------------------------------------------------------------------------*/
.header 						{ margin-top:40px; color:#a7abaf; text-transform:uppercase; margin-bottom:55px;  }
	.header .rough-magic-logo 	{ float:left }
	.header .rough-magic-text	{ float:left }	
	.header .header-right		{ width:720px; float:right; position:relative; min-height:87px; display:block; }
	.header .searchbox 			{ background-image: url(../img/backgrounds/search-bg.gif); position:relative; background-repeat: no-repeat; background-position:right 0; top:0; height: 28px; width:240px; float:right }
	.header .searchbox .search  	{ background-color:transparent; border:none; color:#a7abaf; font-size:0.91em; padding:7px 5px; width:190px; margin-right:40px; position:absolute; top:0; right:0; float:right }
	.header .searchbox .gosearch	{ float:right; margin: 8px 6px; position:absolute; top:0; right:0; }
	
	.header ul					{ font-weight:bold; text-align:left; width:auto }
		.header .main-nav		{ width:720px; margin:0; position:absolute; bottom:0px; left:0px; }
		.header .active a 		{ color:#FFF !important; }
		.header ul li			{ margin-right:25px; }
		.header ul li a			{ color:#a7abaf; text-decoration:none;}
		.header ul li a:hover	{ color:#FFF; text-decoration:none }
		
/* Homepage  
----------------------------------------------------------------------------------------------------*/
#home							{ background-image: url(../img/backgrounds/homepage-bg.jpg); min-height:500px; overflow:hidden; margin-top:20px; background-repeat: no-repeat; }
	#home .intro				{ margin:40px 0 20px 40px; display:block; float:left; z-index:75; position:relative }
		#home .intro h2 		{ float:left; font-size:1.6em; z-index:77 }
		#home .intro p			{ padding-bottom:32px; clear:left; margin-right:50px; display:block; z-index:76}
		#home .intro .split		{ background-image:url(../img/backgrounds/home-intro-div.gif); background-repeat: repeat-x; background-position: 0px 0px; min-height:2px; width:400px; display:block; z-index:79 }
		#home .intro .btn-blue	{ margin-left:22px; z-index:78 }
	#home .intro .introduction	{ font-size:1.65em; line-height:1.4em; font-weight:normal; color:#FFF; position:relative; display:block; width:380px; }
		.introduction span { position:absolute; display:block; top:0px; }
		.introduction:before { display:block; padding:1px; content: attr(title); color:#161718; } 
		
	#home .intro .col { width:200px; margin-right:20px }
	#home .intro .col h2 { width:200px; margin-right:20px; font-size:1.5em; }
	#home .intro .col .btn-blue	{ margin: 0 14px; z-index:78 }
		
/*  Side Navigation
----------------------------------------------------------------------------------------------------*/

#sidenav					{ padding-top:40px; margin-left:0; border-top:1px solid #404143; }
		#sidenav ul			{ padding-left:2px; }
		#sidenav li			{ margin-bottom:12px; font-size:0.9166em }
		#sidenav li.active a	{ margin-bottom:12px; color:#FFF !important; font-weight:bold }
		#sidenav li	a		{ color:#a8acaf; text-decoration:none; }
		#sidenav li	a:link, #sidenav li a:active, #sidenav li a:visited { color:#a8acaf; text-decoration:none;}
		#sidenav li a:hover { color:#fff; text-decoration:none;}
		#sidenav ul ul		{ margin-left: 20px }
		#sidenav ul ul li	{ font-size:100%;}

/*  Internal Page Contents
----------------------------------------------------------------------------------------------------*/

#content		{ padding-top:20px; border-width: 1px 0 0 0; border-color: #404143; border-style: solid; margin-right:0; width:720px; }

	#content h2	{ font-size:3em; margin:0; color:#FFF; padding:0; }
	#content h3	{ font-size:1.5em; color:#0091a5; padding:0; }
		#content h3 a { color:#FFF; text-decoration:underline; }
	#content h4	{ font-size:1.5em; margin:0; color:#FFF; padding:0; }
	#content h5	{ font-size:1.5em; margin:0; color:#666; padding:0; }
	
	#content p	{ line-height:1.677em; font-size:1em; }
		#content p strong,
		#content p b { color:#FFF; }
		
	#content .first { margin-top:30px; }
		
	#content .img-frame { background-image:url(../img/backgrounds/homepage-bg.jpg); padding:10px; margin-bottom:20px; }
	#content .img-frame-right { background-image:url(../img/backgrounds/homepage-bg.jpg); padding:10px; margin-bottom:20px; margin-left:25px; float:right }
	#content .img-frame-left { background-image:url(../img/backgrounds/homepage-bg.jpg); padding:10px; margin-bottom:20px; margin-right:25px; margin-left:-20px; float:left }
		
	#content .img-frame img	{ border: 5px #000 solid !important; }	
	#content img.img-frame-left, #content .img-frame-left img  { border: 5px #000 solid !important; }
	#content img.img-frame-right, #content .img-frame-right img { border: 5px #000 solid !important; }
	
	#content .news-item	{ border-width: 0 0 1px 0; border-color:#202122; border-style: solid; padding-bottom:20px; margin-top:25px; position:relative}
		#content .news-item .news-item-summary	{ padding-left: 100px !important; }
		#content .news-item img 		{ border: 3px #404143 solid; margin: 7px 20px 0 0; float:left } 
		#content .news-item h4 			{ font-size:1.4em; color:#00abc4; margin:0; padding:0; }
		#content .news-item h4 a	 	{ color:#00abc4}
		#content .news-item .date		{ color:#FFF; margin:0 0 6px 0; }
		#news #content .last		{ border-width:0 0 0 0 !important; }
		
		.news h3 { margin: 0 0 50px 0 !important; }
		
	#content .gallery-item			{ border: 6px #232425 solid; width:208px; float:left; position:relative; margin-right:30px; margin-left:0 !important}
		#content .gallery-item img	{ padding:5px }
		
		#content .gallery-item .caption { position:absolute; left:0; bottom:0; background-color:#000; padding:5px 7px; font-size:0.9em; width:192px; line-height:1.6em; }
		#content .gallery-item .caption span { color:#767f88; }
		#gallery #content .last 	{ margin-right:0; }
		#gallery #content .row		{ margin-top: 30px }
		#gallery #content h3		{ margin-bottom:25px;}
		
	#content .prod-list	{ padding:10px; background-image:url(../img/backgrounds/homepage-bg.jpg); min-height:390px; width:320px; color:#FFF; position:relative; }
		#content .prod-list img		{ border: 5px #000 solid; }
		#content .prod-list .btn-blue	{ position:absolute; top:20px; right:20px; }
		#content .prod-list h4		{ background-color:#000; padding:5px 10px 7px 10px; font-size:1.1em; }
		#content .prod-list p		{ margin:13px 10px; }
		#content .prod-list .details{ color:#a8acaf; font-size:0.877em; }
		#prodlist #content			{ margin-bottom:60px; }
		#prodlist #content .row 	{ margin-top:40px; margin-bottom:60px}
		
		#prodpage #content	  { position:relative}
		#prodpage .page-titles { width:600px; display:inline-block }
		#prodpage #content h4 { margin: 1.25em 0; }
		#prodpage #content h5 { padding: 1.25em 0; }
		
		#prodpage #content .details		{ }
		#prodpage #content .details		{ margin: 0 0 60px 20px; }
		#prodpage #content .details p	{ margin-bottom:1.87em; }
		#prodpage #content .tourdates	{ width:300px }
		#prodpage #content .tourinfo	{ margin-top:38px !important }
		
		
			#prodpage blockquote { padding:15px 0; margin: 5px 25px 20px -100px; border-top: 1px solid #0091a5; border-right: 0px solid #0091a5; border-bottom: 1px solid #0091a5; border-left: 0px solid #0091a5; width:260px; float:left;  }
			#prodpage blockquote p		{ margin-bottom:0 !important; }
			#prodpage blockquote .blurb { color:#FFF; font-size:1.5em; line-height:1.6em; }
			#prodpage blockquote .quote { font-size:1.35em !important;  font-style:normal; color:#a8acaf !important; font-weight:normal; margin-bottom:0 !important; padding-top:6px; }
			
			#prodpage #content .tourinfo		{ margin-top:5px; display:block; }
			#prodpage #content .tourinfo p		{ font-size: 0.877em !important; float:right; margin-top:16px; display:inline; width:220px; text-align:right; clear:right }
			#prodpage #content .tourinfo p span	{ padding:0 7px; color:#333; }
			
			#prodpage #content .author			{ color:#6e6868; font-size: 1.125em; margin:20px 0 0 0; display:block }
			
			
			#prodpage #content .cast table	{ border:none; color:#a8acaf; width:360px; margin: 0 0 15px 0; }
			#prodpage #content .cast th, #prodpage #content .cast td
											{ border:none; padding: 1px 0; color:#a8acaf }	
											
		#prodpage #content .details { margin: 0 0 60px 20px; }
		#prodpage #content .first 	{ margin: 30px 0 60px 20px !important; }
		
	#content .subnav-archive			{ border-top:1px solid #404142; padding:20px 0; margin:20px 0; text-transform:uppercase; font-size:1.4em;}
		#content .subnav-archive ul li	{ list-style:none; float:left; border-color:#404142; border-style: solid; border-width: 0 1px 0 0; padding-right:10px; margin-right:6px; line-height:1; }
		#content .subnav-archive a 		{ color:#a8acaf; line-height:1; }
		#content .subnav-archive a:hover, #content .subnav-archive li.active a { color:#FFF; text-decoration:none}
	
	#content .archive-item { float:left; position: relative; margin-bottom:20px; }
		#content .archive-left			{ float:left }
		#content .archive-item .year	{ float:left; width:80px; font-size:3.4em; }
		#content .archive-item .year span	{  margin-left:-2px; float:left}
		#content .archive-item img		{ margin-left:80px; border: 3px #404143 solid; margin-top:16px;}
		#content .archive-item h4		{ margin-left:20px; font-size:2em; color:#0091a5; margin-top:8px; width:500px; float:left}
		#content .archive-item p	 	{ margin-left:20px; margin-bottom:8px; width:500px; float:left}
		
	#content .details li { list-style:outside; margin-left:20px; padding:2px 0; }
	
	#content .details ul { margin: 15px 10px 20px 10px; display:block }
	 	#content .details ul li { list-style-type:disc; }
	
	#content .details ol { margin: 15px 10px 20px 10px; display:block}
		#content .details ol li { list-style:decimal; }
	
	#content .search-item	{ border-width: 0 0 1px 0; border-color:#202122; border-style: solid; padding-bottom:20px; margin-top:25px;}
		#content .search-item .search-item-summary	{ }
		#content .search-item p			{ margin:4px 0; }
		#content .search-item .date		{ color:#FFF; margin:0 0 6px 0; font-size:0.95em; }
		
		.search-relevance-bg { background:#000; border:2px solid #232425; width:140px; margin-top:14px; height:4px; padding:1px; }
		.search-relevance-percent { background:#404143; height:100%; width:100%; font-size:1px; line-height:0; }
	
		
/*  Footer
----------------------------------------------------------------------------------------------------*/

.footer		{ background-image:url(../img/backgrounds/footer-bg.jpg); min-height:100px; margin-top:10px; margin-bottom:30px !important; background-repeat: no-repeat; background-position: 0px 0px; display:block; padding-bottom:20px  }
	.footer p					{ float:left; margin:25px 10px 0 0; padding:0; font-size:0.916em; display:block }
		.footer .first 			{ margin-left:40px }
		.footer p img 			{ margin:4px 0 7px 0px; }
		.footer .footer-logo	{ margin-top:20px;  }
			.footer .footer-logo img	{ float:right; margin-right:20px; }
	
/* Lists  
----------------------------------------------------------------------------------------------------*/
.horizontal						{ display:block; }	
		.horizontal li,
		.horizontal dd,
		.horizontal dt 					{ display:inline; line-height:1; }
		.horizontal a					{ font-size:1em; text-decoration:none; }
		.horizontal a:hover				{ text-decoration:underline; color:inherit; } 
		.horizontal .first 				{ border:0; padding-left:0px; }
		.horizontal .last  				{ padding-right:0px; }
		
/* Form  
----------------------------------------------------------------------------------------------------*/
#content .xform 		{ clear:both; margin:0; width:100%; overflow:hidden; margin-bottom:20px; }

	.xform  fieldset 	{ border-top:1px dotted #404143; margin-top:10px; padding:20px 0 10px 0; }
		.xform fieldset legend { padding:6px 4px 6px 2px; font-weight:bold; font-size:1.08333em; }
		.xform fieldset label { display:inline-block; line-height:1.8; vertical-align:top; text-align:right; padding:0 2%; width:28%; }
		.xform fieldset ol { margin:0; padding:0; list-style:none !important }
		.xform fieldset li { list-style:none !important; padding:5px 5px 7px 5px; margin:0; list-style-type:none !important; }
		.xform fieldset em { font-weight:bold; font-style:normal; color:#af4252; }
		.xform fieldset fieldset { border:none; margin:3px 0 0; padding:0; background:none; }
		.xform fieldset fieldset legend { padding:0 2% 5px; font-weight:normal; width:80%; font-size:1em; background:none; }
		.xform fieldset fieldset label 		{ display:block; width:auto; margin-left:32%; text-align:left; padding:0;  }	
		.xform .submit-button { margin:0; margin-left:32%; margin-top:20px; padding:5px; }
		.xform .form-info { display:block; margin-left:32%; color:#ffffff; padding:5px; }
		.xform .form-info-error { color:#af4252; }
		.xform .field-requirement { margin-left:1em; }
		.xform .form-intro { margin:0; padding:20px; }
		.xform .submit-button input { border:0; color:#fff; font-weight:normal; background-color:transparent; text-align:center; line-height:1; text-transform:uppercase; text-decoration:none; background-image:url(../img/buttons/btn-blue-01.png); background-repeat: no-repeat; background-position: 0px 0px; height: 28px; width: 106px; padding-top: 6px; padding-right: 12px; padding-bottom: 10px; padding-left: 12px; }
		.xform-leave-comment { clear:both; margin:0; margin-bottom:20px; }
		.xform-leave-comment fieldset 	{ border:none; }
		.xform img { display:inline; line-height:0; margin:0 10px; font-size:1em; vertical-align:bottom }
		
/* Paging  
----------------------------------------------------------------------------------------------------*/

.paging 	{ margin:30px 0; background-color:#232425; padding: 9px 20px; display:block; clear:both }
		.paging ul	{ overflow:hidden; width:100%; color:#FFF; font-size:1.1em;}
		.paging li	{ list-style:none; display:inline; height:24px;  }
	
		.paging .first, .paging .previous, .paging .active, .paging .go-to selection	
																{ }			
		.paging .active .next, .paging .active .last			{ }	
		
		.paging .first						{ padding-right:30px }
		.paging .previous					{ }
		.paging .next						{ }
		.paging .last						{ padding-left:30px }
		.paging .active						{ padding:0 20px 0 120px; }
		.paging .goto-selection				{ padding: 0 120px 0 20px; text-align:center }
		.paging .goto-selection label 		{ }


/* Slider  
----------------------------------------------------------------------------------------------------*/
#slider { margin:0; padding:0 }

#slider ul, #slider li{
		margin:0;
		padding:0 !important;
		list-style:none;
		}
	
	#home .scrollable .slide-details	{ width:450px; background-color:#000; padding:8px 5px 5px 5px; position:absolute; top:250px; height:30px; z-index:100; display:block;}
	#home .slide-details a				{ color:#FFF }
	#home .slide-details h3				{ float:left; margin-left:20px; color:#FFF; font-size:1.25em; }
	#home .slide-details .booking		{ float:right; font-size:0.875em }
		#home .slide-details .booking 		{ margin-right:25px; margin-top:5px; }
		#home .slide-details .booking a		{ color:#0091a5 }
		#home .slide-details .booking img	{ float:right; margin-left:10px; }
		#home .slide-details img			{ border:none; margin-top:7px; padding:0 5px; }
				
	#prodpage #content #slideshow { background-image:url(../img/backgrounds/homepage-bg.jpg); padding:10px; margin: 20px 0 35px 0; position:relative }
	#prodpage #content #slider, #prodpage #content #slider li{ width:720px;	height:410px; overflow:hidden; }
	#prodpage #content span#prevBtn{ bottom:22px; left:30px; position:absolute; }
	#prodpage #content span#nextBtn{ bottom:22px; right:30px; position:absolute; }	
			#prodpage #content #slider img	{ border: 5px #000 solid; }
			#prodpage #content #slider .caption { background-color:#000; padding:0 100px 10px 100px; font-size:0.9em; width:500px; line-height:1.6em; display:block }
			#prodpage #content #slider .caption span { color:#6d7276; margin-left:14px;}
			
/* Blog Styles */

#blog #content .comment-sum			{ position:absolute; top:30px; right:0; }
.news-item .comment-sum				{ position:absolute; top:10px; right:0; }
	#blog #content .comment-sum p		{ font-size: 0.877em !important; position:absolute; top:40px; right:0; display:inline; width:220px; text-align:right; text-transform:none; color:#0091a5 }
	#blog #content p.post-meta			{ font-size: 0.877em !important; display:inline; clear:left; color:#0091a5}
	#blog #content p.post-meta span		{ padding:0 7px; color:#333; }
	#blog .details						{ margin:20px 0 0 0; border-bottom:#404143 1px solid; padding-bottom:40px }
	#blog .details p					{ margin-bottom: 20px }

.comment-list		{ float:left; width:420px; margin-bottom:40px; }
	.comment-list h3	{ margin:20px 0; font-size:2em; }
	
	.comment-item					{ border-bottom:1px solid #404143; padding:10px 0 20px 0; min-height:90px; margin-bottom:10px }
	.comment-item .img				{ width:90px; }
	.comment-item .img p 			{ color:#535150; font-size:0.75em !important; margin:8px 0 15px 0 }
	.comment-item .img img 			{ border: #404143 4px solid}
	.comment-item .text h1			{ color:#999; }
	.comment-item .text h1 a 		{ color:#0091A5; }
	.comment-item .text h1 a:hover 	{ text-decoration:underline; }
	.comment-item .text p 			{ color:#999; }
	.comment-item .fl+.text 		{ margin-left:90px; }

.form-comment /* Extends overlay-form */	{ float:right; width:260px; position:relative; margin-bottom:40px}
	.form-comment h3 					{ margin: 20px 0; font-size:2em; }
	.form-comment p,
	.form-comment .form-intro 			{ background:none; padding:10px 0; margin:0; }
	.form-comment .form-intro em 		{ font-size:1.4em; font-weight:bold; padding:0 3px; color:#0091a5; vertical-align:bottom; }
	.form-comment fieldset 				{ border:none; margin:0; padding:0; font-size:.91667em; } 
	.form-comment fieldset li 			{ border:none; width:100%; margin:3px 0; padding:0; }
	.form-comment fieldset li label span 	{ left:7px; top:1px; width:242px; }
	.form-comment fieldset li label span em { color:#0091a5 }
	.form-comment fieldset input, 					
	.form-comment fieldset textarea 		{ width:238px; border:1px solid #ccc; padding:4px 5px; overflow:hidden; }
	.form-comment fieldset fieldset 		{ font-size:1em;}
	.form-comment fieldset fieldset label 	{ display:block; position:relative; width:auto; margin-left:0; text-align:left; padding:0; }	
	.form-comment fieldset fieldset input 	{ width:auto; margin:0 7px 0 0; }
	.form-comment .submit-button			{ margin:0; padding:10px 0; }
	.form-comment .submit-button input		{ margin:0; }
	.form-comment .form-info				{ display:block; margin-left:0; margin:10px 40px 0 0; font-size:0.877em !important; color:#999 }
	.form-comment .form-info-error			{ color:#ee1c24; }
	.form-comment .btn-blue					{ margin:18px 0 28px 0 }

/* 
    root element for the scrollable. 
    when scrolling occurs this element stays still. 
*/ 

.scrollwrap		{ position:relative; margin:10px 10px 0 0; border:5px solid #000; overflow:hidden }

div.scrollable 	{ position:relative; overflow:hidden; width:460px; height:450px; 
} 

div.scrollable div.items { 
    /* this cannot be too large */ 
    width:20000em; 
    position:absolute; 
} 
 
div.scrollable div.items div { 
    float:left; 
} 
 
a.browse {
	display:block;
	width:20px;
	height:40px;
	position:absolute;
	top:0px;
	cursor:pointer;
	font-size:1px;
	z-index:1000;
	text-decoration:none;
	text-indent:-9999em;
}


/* right */
.nextPage			{ right:0; background:url(../img/icons/right.gif) no-repeat 50% 55%;} 


/* left */
.prevPage			{ left:0; background:url(../img/icons/left.gif) no-repeat 50% 55%;}


/* disabled navigational button */
a.disabled {
	visibility:hidden !important;		
} 	

/* Shared  
----------------------------------------------------------------------------------------------------*/

h2						{ color:#FFF; font-size:1.5em; margin:0 0 20px 0; }

.clear 					{ clear:both; }


a						{ color:#0091a5; text-decoration:none }
a:hover					{ text-decoration:underline }
	
.fl						{ float:left }
.fr						{ float:right }

.btn-blue				{ background-image:url(../img/buttons/btn-blue-01.png); background-repeat: no-repeat; width:88px; min-height:18px; padding:5px 9px; text-align:center }
.btn-blue a				{ width:106px; min-height:8px; text-transform:uppercase; color:#FFF;text-align:center; }

#content table	{ border-width:1px 0 0 0; border-style: solid; border-color:#003a42; }
	#content th		{ color:#FFF; padding: 7px 0; border-width:0 0 1px 0; border-style: solid; border-color:#003a42;}
	#content td		{ padding:9px 0; border-width:0 0 1px 0; border-style: solid; border-color:#1a1a1b; }
		#content td a	{ color:#0091a5; text-decoration:none; }
		#content td a:hover	{ text-decoration:underline; }
	#content table .venue	{ color:#fff; }