
/***********************************/
/**
/**  COLOURS
/**
/**  Headings   #000000
/**  Intro      #999999
/**  Body       #666666
/**  Orange     #FF7000
/**  Pink       #E81E75
/**  Green      #66BC29
/**  Blue       #00AEEF
/**
/***********************************/


/***********************************/
/**
/**  FONTS
/**
/***********************************/


@font-face {
    font-family: 'opensans';
    src: url('/css/fonts/opensans/opensans-medium.eot');
    src: url('/css/fonts/opensans/opensans-medium.eot?#iefix') format('embedded-opentype'),
         url('/css/fonts/opensans/opensans-medium.woff2') format('woff2'),
         url('/css/fonts/opensans/opensans-medium.woff') format('woff'),
         url('/css/fonts/opensans/opensans-medium.ttf') format('truetype'),
         url('/css/fonts/opensans/opensans-medium.svg#latoregular') format('svg');
    font-weight: normal;
    font-style: normal;
}

@font-face {
	font-family: 'Oswald';
	src: url('/css/fonts/oswald_medium_v2/Oswald-Medium-webfont.eot');
	src: url('/css/fonts/oswald_medium_v2/Oswald-Medium-webfont.eot?#iefix') format('embedded-opentype'),
		 url('/css/fonts/oswald_medium_v2/Oswald-Medium-webfont.woff') format('woff'),
		 url('/css/fonts/oswald_medium_v2/Oswald-Medium-webfont.ttf') format('truetype'),
		 url('/css/fonts/oswald_medium_v2/Oswald-Medium-webfont.svg#oswaldmedium') format('svg');
	font-weight: normal;
	font-style: normal;
}


/***********************************/
/**
/**  GLOBALS & CUSTOM RESETS
/**
/***********************************/

html { overflow-y: scroll; font-size: 62.5%; -webkit-font-smoothing: antialiased; background: #000}
body { min-height: 100vh; position: relative; }
.oldie body { width: 1180px; margin: 0 auto; }

.wrapper{ background: #ffffff url(/images/background.png) top right no-repeat; z-index: 0;}
.max_width {width: 100%; margin: 0 auto; box-sizing: border-box; }
.full_width {max-width: 1180px; margin: 0 auto; box-sizing: border-box; }
.inner_width { width: 98%; padding: 0; max-width: 1180px; margin: 0 auto; box-sizing: border-box; }
.padded { padding: 0 2%; }

input[type=text], input[type=search], textarea { -webkit-appearance: none; border-radius: 0; }
input[type=submit], input[type=number] { -webkit-appearance: none; border-radius: 0; }

hr {
	border: 0;
	border-top: 1px solid #ccc;
	margin: 2% 0;
}

*:focus { outline: none !important; }

.mobileonly { display: none !important; }
.ambiguity { display: none; }

.float_wrapper {}
.float_wrapper:after { content:""; display:table; clear:both; }

@media only screen and (max-width: 660px) {
    body { overflow-x: hidden; }
    .mobileonly { display: block !important; }
}

@media only print {
    body { width: 1180px !important; }
}

/***********************************/
/**
/**  TYPOGRAPHY
/**
/***********************************/

body, p, li, div, th, td, h1, h2, h3, h4, input, option, textarea { font-family: opensans, Arial, Helvetica, sans-serif; color: #312a32; font-weight: normal; }
p { font-size: 18px; font-size: 1.8rem; line-height: 1.4em; margin: 0 0 1.4em 0; }
p.center { text-align: center; }
li { font-size: 18px; font-size: 1.8rem; line-height: 1.4em; }
table { background: #eee; margin-bottom: 2%; }
td, th { font-size: 18px; font-size: 1.8rem; line-height: 1.2em;}

a { color: #aa0000; text-decoration: none;}
a:hover, a:active { color: #000000; text-decoration: underline; }

h1,h2,h3,h4 { font-family: Oswald, Arial, Helvetica, sans-serif; text-transform: uppercase; }

h1 { font-size: 38px; font-size: 3.8rem; line-height: 1.1em; color: #aa0000;  margin:0 0 0.5em 0; }
h2 { font-size: 28px; font-size: 2.8rem; line-height: 1.1em; color: #aa0000;  margin: 0 0 0.5em 0; }
h3 { font-size: 22px; font-size: 2.2rem; line-height: 1.25em; color: #aa0000;  margin: 0.75em 0 0.75em 0; }
h4 { font-size: 18px; font-size: 1.8rem; line-height: 1.25em; color: #aa0000;  margin: 0.75em 0 0.75em 0; }

p.intro_text { color: #000; font-size: 24px; font-size: 2.4rem; line-height: 1.2em; margin-bottom: 0.7em; }

@media only screen and (max-width: 800px) {
	html { font-size: 50%; }
}

@media only screen and (max-width: 660px) {
	h1 { font-size: 36px; font-size: 3.6rem; }
	h2 { font-size: 30px; font-size: 3.0rem; }
	h3 { font-size: 24px; font-size: 2.4rem; }
	h4 { font-size: 18px; font-size: 1.8rem; }
}


/***********************************/
/**
/**  HEADER
/**
/***********************************/

#header_bar { }

header {
	width: 100%;
	padding: 20px 0 10px 0 !important; padding: 2.0rem 0 1.0rem 0 !important;
	position: relative;
    z-index: 999;
}
header:after { content:""; display:table; clear:both; }
.call-out{
	float:right; width:40%; text-align:right; font-size: 22px;
    font-size: 2.2rem; color: #000; font-family: Oswald, Arial, Helvetica, sans-serif; text-transform: uppercase;
}

.call-out a, .call-out a:hover{
	color:#ffb60f;
	text-decoration: none;
}

	#site_logo { width: 100%; float: left; max-width: 380px; height: auto;  }
	html.oldie #site_logo { width: 100px; height: 111px; }

	#header_links { width: 88%; float: right; margin: 1% 0 0 0; padding: 0; text-align: right; }
		#header_links li { margin: 0; padding: 0; width: 32px; height: 32px; list-style: none; display: inline-block; vertical-align: top; background-image: url(/images/header-icons.png); background-repeat: no-repeat; background-size: 150% auto; font-size: 0; }
		#header_links li + li { margin-left: 6px; }
		#header_links li a { display: block; width: 100%; height: 100%; outline: none; }
		#header_links li.basket { background-position: left 33.33%; position: relative; }

		html.oldie #header_links li.basket { background-position: right -32px; }

		#header_links li.mobile_call { display: none; }
		#header_links li.mobile_menu { display: none; }

		#header_links li.basket.hasitems:after {
			content: attr(data-items);
			position: absolute;
			top: -5px; right: -5px;
			width: 20px;
			height: 20px;
			line-height: 20px;
			text-align: center;
			font-size: 11px;
			background: #d93b4c;
			color: #fff;
			-webkit-border-radius: 50%;
			-moz-border-radius: 50%;
			border-radius: 50%;
			pointer-events: none;
		}

	#site_nav { width: 100%; float: left;}
		#site_nav > ul { width: 100%; margin: 0; padding: 1% 0 0 0; text-align: left; }
		#site_nav > ul > li {
            display: inline-block;
            margin: 0; 
            padding: 0 20px 0 0;
            list-style: none;
            font-size: 22px; font-size: 2.2rem;
            line-height: 1.0em;
            color: #aa0000;
            font-family: Oswald, Arial, Helvetica, sans-serif; text-transform: uppercase;
        }


		#site_nav > ul > li > a { display: block; float: left;  text-transform: uppercase;  text-decoration: none; color: #aa0000; line-height: 1.0em; }
		#site_nav > ul > li > a:hover, #site_nav nav > ul > li > a:active { color: #000000;}
        #site_nav > ul > li:hover > a { color: #000000; }
		#site_nav > ul > li > ul {
            display: none;
            position: absolute;
			top: 100%;
            margin: 0 0 0 -0.5em;
            padding: 0.3em 0;
            min-width: 200px;
			background: #312a32;
        }
		#site_nav > ul > li + li > ul { margin-left: 1.1em; }

        #site_nav > ul > li > ul > li {
            margin: 0;
            padding: 0.4em 1.0em;
            list-style: none;
            text-align: left;
            text-transform: none;
            font-size: 0.9em;
        }
        #site_nav > ul > li > ul > li > a {
            text-decoration: none;
            color: #fff;
        }
        #site_nav > ul > li > ul > li > a:hover, #site_nav > ul > li > ul > li > a:active { color: #d93b4c; }

	@media only screen and (max-width: 1030px) {
		/*#site_logo { max-width: 80px; }*/
		#header_links li { width: 24px; height: 24px; }
		#header_links li + li { margin-left: 4px; }
		#header_links li.basket.hasitems:after { width: 16px; height: 16px; line-height: 16px; font-size: 9px; }
		#site_nav { bottom: 2.0rem; /*top:2.0rem;*/}
		#site_nav > ul{ text-align: center;}
		#site_logo { padding-left: 2%; }
		.call-out{padding-right: 2%;}
		/*#site_nav > ul > li { font-size: 16px; font-size: 1.6rem;  }*/
	}

    @media only screen and (max-width: 920px) { #site_logo { padding-left: 2%; } #site_nav { bottom: 3.0rem; } #site_nav > ul > li { font-size: 22px; font-size: 2.2rem;  } }
	@media only screen and (max-width: 800px) { #site_logo { max-width: 200px; padding-left: 2%; } #site_nav { bottom: 2.0rem; } .call-out { font-size: 22px; font-size: 2.2rem;  } }

	@media only screen and (min-width: 661px) and (max-width: 700px) {
	/*	header { padding-bottom: 0 !important; text-align: center; }
		#header_links { position: absolute; right: 0; top: 10%; }
		#site_logo { float: none; }
		#site_nav { clear: both; position: relative; bottom: auto; right: auto; width: 100%; }
		#site_nav ul { text-align: center; padding: 2% 0; } */
	}



	@media only screen and (max-width: 660px) {
		header {  padding: 3% 2% !important; width: 100% !important; position: relative; z-index: 999; }
		.call-out {display: none;}
		#site_logo { width: 50%; max-width: 500px; padding: 0; }
		#header_links { width: 50%; padding: 0.6% 0 0 0; }
			#header_links li { font-weight: normal; text-align: center; margin: 0; padding: 0; width: 20%; height: auto; list-style: none; display: inline-block; font-size: 3.4vw; background: none; }
			#header_links li + li { margin-left: 6px; }
			#header_links li a { display: block; width: 100%; height: 100%; text-decoration: none; color: #000; }
			#header_links li a:before {
				content: '';
				display: block;
				margin: 0 auto;
				width: 60%; padding-bottom: 60%;
				background-image: url(/images/header-icons.png);
				background-repeat: no-repeat; background-size: 150% auto;
			}
			#header_links li.mobile_call { display: inline-block; background-position: left 0px; }
			#header_links li.basket a:before { background-position: left 33.33%; }
			#header_links li.basket.hasitems:after { width: 2.0em; height: 2.0em; line-height: 2.1em; font-size: 2.6vw; right: 0;  }
			#header_links li.mobile_menu { display: inline-block; }
			#header_links li.mobile_menu a:before { background-position: left 100%;
				background-color: #aa0000;
;
			}

		#site_nav { width: 100%; position: absolute; margin-top: 0%; bottom: 0; left: 0; }
			#site_nav > ul { display: none; width: 100%; position: absolute; background: #312a32; padding: 0;
				-webkit-box-shadow: inset 0px 15px 15px -10px rgba(0, 0, 0, 0.2), 0px 15px 20px 0px rgba(0, 0, 0, 0.4);
				-moz-box-shadow:    inset 0px 15px 15px -10px rgba(0, 0, 0, 0.2), 0px 15px 20px 0px rgba(0, 0, 0, 0.4);
				box-shadow:         inset 0px 15px 15px -10px rgba(0, 0, 0, 0.2), 0px 15px 20px 0px rgba(0, 0, 0, 0.4);
			}
			#site_nav > ul > li { width: 100%; display: block; text-align: center; font-size: 5.0vw; padding: 0.0em 0; }
            #site_nav > ul > li + li { margin: 0; }
			#site_nav > ul > li + li:before { display: none; }
			#site_nav > ul > li > a { float: none; color: #fff; display: block; padding: 0.5em 0; border: 0; }
			#site_nav > ul > li:hover { background: rgba(0,0,0,0.2); color: #fff;  }
			#site_nav > ul > li > a:hover {color: #ffb60f;  }



				#site_nav > ul > li > ul { display: none; margin: 0; padding: 0 0 0.5em; min-width: 100%; position: relative; background: none; }
				#site_nav > ul > li + li > ul { margin: 0; }
				#site_nav > ul > li > ul > li { display: block; margin: 0; padding: 0; list-style: none; font-size: 4.0vw; padding: 0.3em 0; font-weight: 300; text-align: center; text-transform: uppercase;}
				#site_nav > ul > li > ul > li > a { color: #fff; text-decoration: none; display: block; }

	}




@media only screen and (min-width: 661px) {
	#site_nav > ul { display: block !important; }
}

#homepage_carousel { width: 98%; margin: 0 auto; position: relative;}
#homepage_carousel ul li img { width: 100%; float: left; }
#homepage_carousel ul li > div { width: 100%; position: absolute; z-index: 2; top: 0; right: 0; height: 100%; }
#homepage_carousel ul li > div > div { position: absolute; right: 1%; bottom: 16%; overflow: hidden; width: 300px; text-align: right}
#homepage_carousel a { text-decoration: none; color: #fff; }
#homepage_carousel span {
	bottom: 10px;
	font-family: Oswald, Arial, Helvetica, sans-serif; 
	display: block; 
	text-transform: uppercase; 
	font-weight: 300; 
	color: #fff; 
	font-size: 76px; 
	font-size: 6.6rem; 
	line-height: 1.0em; 
}


@media only screen and (max-width: 1298px) {
	#homepage_carousel li span:nth-of-type(1) { font-size: 2.55vw; }
	#homepage_carousel li span:nth-of-type(2) { font-size: 5.1vw; }
}
@media only screen and (max-width: 700px) {
	#homepage_carousel ul li { overflow: hidden; }
	#homepage_carousel ul li img { width: 150%; margin-left: -25%; }
	#homepage_carousel li span:nth-of-type(1) { font-size: 3.8vw; }
	#homepage_carousel li span:nth-of-type(2) { font-size: 7.6vw; }
}

/***********************************/
/**
/**  TORSO
/**
/***********************************/

.content_area {padding: 10px 0 20px 0; padding: 1.0rem 0 2.0rem 0; }

#site_torso { padding: 20px 0 10px 0; padding: 2.0rem 0 1.0rem 0; max-width: 1180px; margin: 0 auto; }
#site_torso:after { content:""; display:table; clear:both; }

@media only screen and (max-width: 800px) {
#site_torso {
padding: 2% 1% 0 1%; 
}
}

.scalable { display: block; width: auto; max-width: 99%; }

.home_left{
width: 65%;
float: left;
}

.home_right{
width: 32%;
float: right;
text-align: center;
}

.home_right img{
	padding-top: 30px;
	text-align: center;
	float: right;
	margin: 0;
	max-width: 99%;
}


@media only screen and (max-width: 800px) {
.home_left{
width: 100%;
}
.home_right{
width: 100%;}

.home_right img{
	padding-top: 0px;
float: none;
margin: 0 auto;
	}
}


	ul#breadcrumb { margin: 0 0 1.5% 0; padding: 0; }
	ul#breadcrumb li { margin: 0; padding: 0; list-style: none; font-size: 16px; font-size: 1.6rem; display: inline; font-weight: 300; text-transform: uppercase; line-height: 1.6em; }
	ul#breadcrumb li + li:before { content: '/'; display: inline-block; padding: 0 0.3em; color: #ede9e7; }
	ul#breadcrumb li a { color: #666; text-decoration: none; }
	ul#breadcrumb li a:hover,ul#breadcrumb li a:active { color: #666; text-decoration: underline; }

	@media only screen and (max-width: 660px) {
		ul#breadcrumb { display: none; }
	}

	#site_torso_aside { float: right; width: 23.5%; padding-bottom: 2%; }
		#site_torso_aside > ul { margin: 0; padding: 0; }
		#site_torso_aside > ul > li { margin: 0; padding: 0; list-style: none; }
		#site_torso_aside > ul > li > a {
			background: #312a32;
			color: #fff;
			display: block;
			font-size: 20px; font-size: 2.0rem;
			padding: 0.6em 0.8em;
			text-decoration: none;
			text-transform: uppercase;
			font-weight: 300;
		}

			#site_torso_aside > ul > li > ul { margin: 0; padding: 0; }
			#site_torso_aside > ul > li > ul > li { margin: 0; padding: 0.6em 0.2em; list-style: none; border-bottom: 1px solid #ddd;  }
			#site_torso_aside > ul > li > ul > li > a {
				color: #222;
				display: block;
				font-size: 16px; font-size: 1.6rem;
				text-decoration: none;
				text-transform: uppercase;
				font-weight: 300;
			}
			#site_torso_aside > ul > li > ul > li > a:hover, #site_torso_aside > ul > li > ul > li > a:active { text-decoration: underline; }


	#site_torso_content { float: left; width: 74.5%; padding-bottom: 2%; }
	#site_torso_content.full { width: 100%; }

#site_torso table {
	width: 100%;
	color: black;
	border-collapse: collapse;
}

#site_torso th, #site_torso thead td {
	color: white;
	background: #d93b4c;
	text-transform: uppercase;
	padding: 0.75em 0.5em;
	text-align: left;
	line-height: 1em;
	border: 1px solid rgba(0,0,0,0.05);
}

#site_torso td {
	padding: 0.5em;
	border: 1px solid rgba(0,0,0,0.05);
}

#site_torso div.cms_content img {
	max-width: 40%;
}


	/***********************************/
	/**  SUB ITEMS
	/***********************************/

	div.sub_item {
		float: left;
		width: 32%;
		margin: 0 2% 3% 0;
		position: relative;
	}
	div.sub_item:nth-of-type(3n) { margin-right: 0; }
	div.sub_item:nth-of-type(3n+1) { clear: both; }

		div.sub_item a { text-decoration: none; font-size: 10px; font-size: 1.0rem; }
		div.sub_item img { width: 100%; height: auto; float: left; }

        div.sub_item p { text-align: left; }
		div.sub_item p.title { clear: both; font-family: Lato, Arial, Helvetica, sans-serif;  font-size: 2.6em; padding: 0.3em 0 0 0; margin: 0; color: #312a32; text-transform: uppercase; line-height: 1.1em; }
			div.sub_item a:hover p.title { text-decoration: underline; }
		div.sub_item p.date { margin: 0 0 0.25em 0; font-size: 1.4em; }
		div.sub_item p.abstract {}
		div.sub_item p.event_type {
			position: absolute; right: 3%; top: 3%;
			font-size: 1.4em;
			color: #fff;
			text-transform: uppercase;
			padding: 0.15em 0.5em 0.2em 0.5em;
		}
		div.sub_item p.event_price { font-size: 1.6em; }
		div.sub_item p.more_dates { margin: 0 0 0.25em 0; font-size: 1.4em; }

	@media only screen and (max-width: 660px) {
		div.sub_item { width: 49%; }
		div.sub_item:nth-of-type(3n) { margin-right: 2%; }
		div.sub_item:nth-of-type(3n+1) { clear: none; }
		div.sub_item:nth-of-type(2n) { margin-right: 0; }
		div.sub_item:nth-of-type(2n+1) { clear: both; }
	}

/***********************************/
/**
/**  FOOTER
/**
/***********************************/
#newslettersignup_container { background: #d93b4c; position: relative; z-index: 1; }
#newslettersignup {
	margin: 0 auto;
	padding-left: 0;
	padding-right: 0;
	overflow: auto;
	padding-top: 0;
	padding-bottom: 0;
}

	#newslettersignup p {
		padding: 0;
		margin: 0;
		text-align: center;
		font-size: 24px; font-size: 2.4rem;
		color: #fff;
		letter-spacing: 0px;
		position: relative;
		line-height: 2.5em;
		overflow: hidden;
        font-family: Lato, Arial, Helvetica, sans-serif;
			}

		#newslettersignup p span.thanks { background: #66BC29; color: #fff; width: 0; text-align: center; overflow: hidden; display: block; position: absolute; right: 0; top: 0; text-transform: uppercase; }

		#newslettersignup input {
			position: relative;
			height: 34px; height: 3.4rem;
			line-height: 34px; line-height: 3.4rem;
			padding: 0; margin: -3px 0 0 0;
			font-size: 16px; font-size: 1.6rem;
			border: 0;
			vertical-align: middle;
			color: #312a32;
			-webkit-border-radius: 0px;
			-moz-border-radius: 0px;
			border-radius: 0px;
		}

			input#newsletter_email { background: #fff; color: #666; font-size: 16px; font-size: 1.6rem; width: 300px; padding: 0 0.5em; margin-left: 2%; }
			input#newsletter_button { background: #312a32; color: #fff; font-size: 20px; font-size: 2.0rem; padding: 0 1em; text-transform: uppercase; font-weight: normal; font-family: Lato, Arial, Helvetica, sans-serif; 

	-webkit-transition: all 0.2s ease-in-out;
	-moz-transition: all 0.2s ease-in-out;
	-o-transition: all 0.2s ease-in-out;
	transition: all 0.2s ease-in-out;
			}
			input#newsletter_button:hover { color: #fff !important; background: #66BC29; }

@media only screen and (max-width: 990px) {
    #newslettersignup p { font-size: 18px; font-size: 1.8rem; }
    #newslettersignup input { height: 30px; height: 3.0rem; line-height: 30px; line-height: 3.0rem; }
	input#newsletter_email { font-size: 16px; font-size: 1.6rem; width: 200px;  }
	input#newsletter_button { font-size: 18px; font-size: 1.8rem; }
}
@media only screen and (max-width: 660px) {
			#newslettersignup p { padding-bottom: 0.5em; line-height: 2.0em; }
			#newslettersignup p span { width: 100%; display: block; }
			#newslettersignup p span.thanks { height: 100%; line-height: 4.5; }

    #newslettersignup p { font-size: 20px; font-size: 2.0rem; }
	input#newsletter_email { font-size: 16px; }
	input#newsletter_button { font-size: 16px; }
}

footer { padding: 60px 0; padding: 2.0rem 0; position: relative; z-index: 1; background: #000 url(/images/footer_background.jpg) repeat-x; }

footer a, footer a:hover {
	color: #ffffff;
}

footer:after { content:""; display:table; clear:both; }
	#footer_left { width: 70%; float: left; }
		#footer_left p { margin: 0 0 0.75em 0; }
	#footer_right { width: 28%; float: right; }
		#footer_right p { margin: 0; text-align: right; }

	footer p { font-size: 16px; font-size: 1.6rem; color: #fff; font-weight: normal; }

	#social { margin: 0; padding: 0; text-align: left; }
	#social li { margin: 0; padding: 0; list-style: none; display: inline-block; }
	#social li + li { margin-left: 0.5em; }
	#social li img { width: 32px; height: 32px; }

@media only screen and (max-width: 660px) {
	#footer_left { width: 100%; float: none; margin-bottom: 2%; margin-top: 2%; }
	#footer_right { width: 100%; max-width: 260px; float: none; margin: 0 auto; }
	footer p { text-align: center !important; font-size: 14px; font-size: 1.4rem; }
	#social { width: 50%; margin: 0 auto; text-align: center; }
}


/***********************************/
/**
/**  PAGE SPECIFIC STUFF
/**
/***********************************/

	/***********************************/
	/**  HOMEPAGE
	/***********************************/

    div.homepage_content { margin-bottom: 2%; padding: 0; }
        div.homepage_content h1 { text-align: left; color: #aa0000; }
        div.homepage_content p { text-align: left; color: #000000; }


          div.quote_content { margin-bottom: 2%; padding: 30px 30px 30px 30px; background: #000 url(/images/darkstripe.jpg);}
        div.quote_content p { text-align: left; color: #ffffff; }

div.quote_content .home_left{
background: url(/images/quotes.png) top left no-repeat;
padding-top: 60px;
padding-left: 20px;
}


.quote{
	background: url(/images/quotes.png) top left no-repeat;
padding-top: 60px;
	display: block;
	width: 100%;
	color: #000;
	text-align: left;
}


	#home_twitter {
		margin-bottom: 3% !important;
		padding-left: 0;
		padding-right: 0;
		overflow: hidden;
		background: #fff;
		padding-top: 0;
		padding-bottom: 0;
		font-size: 14px; font-size: 1.4rem;
		height: 40px;
        position: relative;
	}

		#home_twitter_left {
            position: absolute;
            left: 0; top: 0;
			padding: 0 10px 0 50px;
			margin: 0;
			font-size: 14px; font-size: 1.4rem;
			color: #fff;
			letter-spacing: 0px;
			line-height: 40px;

			overflow: hidden;
			float: left;
			background: #d93b4c url(/images/twitter.png) no-repeat 10px center;
			background-size: 25px 25px, 100% auto;
			width: 110px;
		}
			#home_twitter_left a { color: #fff; text-decoration: none; }

		#home_twitter_right {
			padding: 0;
			margin: 0;
			position: relative;
			overflow: hidden;
			text-overflow: ellipsis;
            margin-left: 170px;
			background: #312a32;
			height: 40px;
		}

			#home_twitter_right p {
				width: 97%;
				vertical-align: middle;
				padding: 0 2% 0 1%;
				margin: 0;
				font-size: 14px; font-size: 1.4rem;
				color: #fff;
				letter-spacing: 0px;
				line-height: 40px;
				padding-top: 0.0em;
			}

            #home_twitter_right p a { color: #d93b4c; }

	@media only screen and (max-width: 660px) {
		#home_twitter_left { text-indent: -10000px; width: 0px; padding-right: 0; background-size: 25px 25px, auto 100%; }
        #home_twitter_right { margin-left: 50px; }
	}

    #home_instagram {
        background: #312a32;
        margin-bottom: 3%;
        position: relative;
    }

        #home_instagram ul { margin: 0; padding: 0; overflow: auto; }
        #home_instagram ul li {
            margin: 0;
            padding: 0;
            list-style: none;
            float: left;
            width: 10.7%;
			padding-bottom: 10.7%;
            margin: 1.6% 0 1.6% 1.6%;
			overflow: hidden;
			position: relative;
        }
        #home_instagram ul li img {
			position: absolute;
			left: 0; top: 0;
            cursor: pointer;
			width: 100%;
			-webkit-transition: all 0.1s ease-in-out;
			-moz-transition: all 0.1s ease-in-out;
			-o-transition: all 0.1s ease-in-out;
			transition: all 0.1s ease-in-out;
        }

		#home_instagram span { color: #fff; text-transform: uppercase; font-family: Lato, Arial, Helvetica, sans-serif; background: #d93b4c; background: rgba(255,112,0,0.9); position: absolute; left: 0; bottom: 0; font-size: 22px; font-size: 2.2rem; padding: 0.4em 0.6em; }

        #home_instagram > a { position: absolute; right: 0; bottom: 0; }

	@media only screen and (max-width: 1244px) {
		#home_instagram > a { font-size: 1.65vw; }
	}

        @media only screen and (max-width: 760px) {
            #home_instagram ul li { width: 14.8%; padding-bottom: 14.8%; }
            #home_instagram ul li:nth-of-type(1n+7) { display: none; }
        }
        @media only screen and (max-width: 660px) {
            #home_instagram ul li { width: 23%; padding-bottom: 20%; }
            #home_instagram ul li:nth-of-type(1n+5) { margin-top: 0; }
            #home_instagram ul li:nth-of-type(1n+7) { display: block; }
            #home_instagram > img { width: 50%; }
			#home_instagram > a { font-size: 2.0rem; position: relative; width: 100%; }
        }

	ul.home_features { margin: 0.2% 0 0 0 ; padding: 0 0 0 0; width: 100%; }
	ul.home_features:after { content:""; display:table; clear:both; }
		ul.home_features li { margin: 0.2% 0 2% 0.5%; padding: 0; list-style: none; width: 33%; float: left; position: relative; font-size: 10px; font-size: 1.0rem; }
		ul.home_features li:nth-of-type(1) { margin-left: 0; }
		ul.home_features li img { float: left; width: 100%; }
		ul.home_features li > span, ul.home_features li a > span {
            position: absolute;
            top: 50%;
            left: 0;
            text-align: center;
            -webkit-transform: translate(0%, -50%);
            -moz-transform: translate(0%, -50%);
            transform: translate(0%, -50%);
            width: 100%;
        }

        ul.home_features li p { margin: 0; text-align: center; padding: 0 2%; }
        ul.home_features li p.title { font-size: 2.2em; color: #fff; text-transform: uppercase; margin-bottom: 0.5em; }
        ul.home_features li p.title span { display: inline-block; }
        ul.home_features li p.title span:after {
            content: '';
            display: block;
            width: 100%;
            height: 0;
            border-bottom: 4px solid #fff;
        }
        ul.home_features li p.text { font-size: 1.6em; color: #fff; line-height: 1.1em; }


	@media only screen and (max-width: 1244px) {
		ul.home_features li { font-size: 0.8vw; }
	}
	@media only screen and (max-width: 660px) {
		ul.home_features li { width: 100%; float: none; display: table; margin: 0 0 2% 0 !important; background: #eee; overflow: hidden; font-size: 1.6vw; }
		ul.home_features li:nth-of-type(1) {margin-top: 2% !important;}
		ul.home_features li:nth-of-type(4) { width: 100%; }
		ul.home_features li:nth-of-type(4) img { width: 200%; margin-left: -100%; }
		ul.home_features li > a { display: table; width: 100%; text-decoration: none; }
		ul.home_features li img { width: 100%; }

        ul.home_features li > span, ul.home_features li a > span { display: table-cell; width: 66.66%; vertical-align: middle;
			position: relative; left: auto; bottom: auto; text-align: left; background: none;
            -webkit-transform: translate(0%, 0%);
            -moz-transform: translate(0%, 0%);
            transform: translate(0%, 0%);
        }

        ul.home_features li p { }
        ul.home_features li p.title { color: #333; }
        ul.home_features li p.text { color: #333; }
        ul.home_features li p.title span:after { border-bottom: 2px solid #333; }
		ul.home_features li:hover > a > span, ul.home_features li:hover > span { background: rgba(0,0,0,0.1); }
	}

	/***********************************/
	/**  CONTACT
	/***********************************/

	.contact_left { clear: both; float: left; width: 49%; }
	.contact_right { float: right; width: 49%; }
	.contact_wide { clear: both; float: left; width: 100%; }
		#map-canvas { width: 100%; height: 400px; margin-bottom: 3%; }

	@media only screen and (max-width: 640px) {
		.contact_left { clear: both; float: left; width: 100%; }
		.contact_right { clear: both; float: left; width: 100%; }
	}




/** FORM STYLES **/

.button, a.button {
	text-decoration: none;
	text-transform: uppercase;
	text-align: center;
	display: inline-block;
	background: #ffb60f;
	background: rgba(255, 182, 15, 0.8);
	padding: 0.4em 0.8em 0.4em 0.8em;
	font-family: Oswald, Arial, Helvetica, sans-serif;
	font-size: 24px; font-size: 2.4rem;
	color: #fff !important;
	-webkit-transition: all 0.2s ease-in-out;
	-moz-transition: all 0.2s ease-in-out;
	-o-transition: all 0.2s ease-in-out;
	transition: all 0.2s ease-in-out;
	border: 0;
	-webkit-border-radius: 0px;
	-moz-border-radius: 0px;
	border-radius: 0px;
    box-sizing: border-box;
    line-height: 1.7em;
}
.button.large { font-size: 28px; font-size: 2.8rem; }
.button.small { font-size: 20px; font-size: 2.0rem; padding: 0.2em 0.8em 0.3em 0.8em; }
.button.feature{
	font-size: 26px; font-size: 2.6rem;
	background: #ffb60f;
	background: rgba(255, 182, 15, .8);
	padding: 0.3em 0.8em 0.4em 0.8em;
}

.button.cta{
	width: 100%;
	background: #aa0000;
	font-size: 38px; font-size: 3.8rem;
}

.button.homeright{
	float: right;
}

@media only screen and (max-width: 800px) {
.button.homeright{
	float: none;
	margin: 0 auto;
}

	}

	@media only screen and (max-width: 660px) {
		.button.feature{ background: #ffb60f; background: rgba(255, 182, 15, 0.8);}
		}

.button:hover, a.button:hover { color: #fff !important; background: #aa0000; }

.submit_button, a.submit_button {
	text-decoration: none;
	text-transform: uppercase;
	text-align: center;
	display: inline-block;
	background: #ffb60f;
	background: rgba(255, 182, 15, 0.8);
	padding: 0.4em 0.8em 0.4em 0.8em;
	font-family: Oswald, Arial, Helvetica, sans-serif;
	font-size: 24px; font-size: 2.4rem;
	color: #fff !important;
	-webkit-transition: all 0.2s ease-in-out;
	-moz-transition: all 0.2s ease-in-out;
	-o-transition: all 0.2s ease-in-out;
	transition: all 0.2s ease-in-out;
	border: 0;
	-webkit-border-radius: 0px;
	-moz-border-radius: 0px;
	border-radius: 0px;
    box-sizing: border-box;
    line-height: 1.7em;
}
.submit_button.disabled, a.submit_button.disabled { opacity: 0.5; }
.submit_button:hover, a.submit_button:hover { color: #fff !important; background: #aa0000; }

.submit_button.small, a.submit_button.small { font-size: 18px; font-size: 1.8rem; }
.submit_button.red, a.submit_button.red { background: #d93b4c; }

.formstyle {}
.formstyle p { margin-bottom: 1.0em; }
.formstyle p.half { width: 49%; float: left; }
.formstyle p.half + p.half { clear: none; width: 49%; float: right; }
.formstyle p label { display: block; padding: 0 0 5px 0; color: #666; }
.formstyle p label em { font-size: 10px; font-size: 1.0rem; color: #d93b4c; font-style: normal; text-transform: uppercase; }
.formstyle p label.inline { display: inline; padding-left: 10px; }
.formstyle p input[type=text] { font-size: 16px; font-size: 1.6rem; border: 1px solid #bbb; padding: 5px 10px; max-width: 100%; box-sizing: border-box; }
.formstyle p select { font-size: 16px; font-size: 1.6rem; border: 1px solid #bbb; padding: 5px 10px; width: 100%; box-sizing: border-box; }
.formstyle p textarea { font-size: 16px; font-size: 1.6rem; border: 1px solid #bbb; padding: 5px 10px; max-width: 100%; box-sizing: border-box; }
.formstyle .error { border-color: #D53232 !important; }
.ambiguity { display: none; }
.formstyle p input[type=text].postcode { width: auto; max-width: 100%; }

@media only screen and (max-width: 660px) {
	input[type=text],
	input[type=password],
	input[type=radio],
	input[type=checkbox],
	input[type=search],
	select,
	textarea
	 { font-size: 16px !important; }
}


/***********************************/
/**  CAROUSEL / HERO
/***********************************/

	#page_hero { overflow: hidden; position: relative; margin-bottom: 1%; }
	#page_hero:after { content:""; display:table; clear:both; }

	#page_hero ul { margin: 0; padding: 0; }
	#page_hero ul li {  margin: 0; padding: 0; list-style: none; float: left; text-align: center; position: relative; font-size: 10px; font-size: 1.0rem; }
	#page_hero.center_mode ul li { border-left: 1px solid #fff; }

	#page_hero li img { width: 100%; height: auto; float: left; }
	#page_hero li > p, #page_hero li > a > p {
		position: absolute;
		left: 0;
		margin: 0;
		font-family: Oswald, Arial, Helvetica, sans-serif;
		color: #fff;
		padding: 0 0 0 3%;
			}

		#page_hero li > p:nth-of-type(1), #page_hero li > a > p:nth-of-type(1) { bottom: 15%; line-height: 1.0em; font-size: 4.6em; text-transform: uppercase; }
		#page_hero li > p:nth-of-type(2), #page_hero li > a > p:nth-of-type(2) { top: 85%; font-size: 1.8em; }

        @media only screen and (max-width: 1244px) {
            #page_hero ul li { font-size: 0.8vw; }
        }

			@media only screen and (max-width: 660px) {
        		#page_hero li > p:nth-of-type(1), #page_hero li > a > p:nth-of-type(1) { font-size: 6em; }
        		#page_hero li > p:nth-of-type(2), #page_hero li > a > p:nth-of-type(2) { font-size: 4em; }
            }


/***********************************/
/**  Gallery Styles
/***********************************/

			.gallery-selector{
				display: block;
			}

			.gallery-container{
				min-height: 200px;
				border:1px solid #fff;
				box-sizing: border-box;
			}
			.gallery-nav-container{
				background: #aa0000 url(/images/footer_background.jpg) bottom left repeat-x;
				height: 50px;
				padding: 0 0 40px 0;
				font-family: Oswald, Arial, Helvetica, sans-serif; text-transform: uppercase;
			}
			.gallery-nav-container ul{
				list-style: none;
				padding: 0;
				margin: 0 auto;
				width: 98%;
			}
			.gallery-nav-container ul li{
				display: inline-block;
				color: #fff;
				line-height: 40px;
				padding:0 15px 0 0;
				margin:0;
				float: left;
				text-align: center;
				cursor: pointer;
			}
			.gallery-container .grid{
				min-height: 200px;
				border:1px solid #fff;
				box-sizing: border-box;
			}
			.gallery-container .grid-sizer, .gallery-container .grid-item {
				width: 12.5%;
				/*border: 1px solid #fff;
				box-sizing: border-box;*/
				min-height: 10px;
				overflow: hidden;
				position: relative;
			}

			.gallery-container .grid-item--width2 {
				width: 25%;
			}

.gallery-container .grid-item--width2 img, .gallery-container .grid-item img{
	height: 100%;
	width: auto;
	overflow: hidden;
	position:absolute;
}

			@media only screen and (max-width: 750px) {
				.gallery-nav-container ul{
					list-style: none;
					padding: 0;
					margin: 0 auto;
					width: 100%;
				}
				.gallery-nav-container ul li{
					display: inline-block;
					color: #fff;
					line-height: 40px;
					padding:0 10px 0 0;
					margin:0 0 0 5px;
					float: left;
					font-size: 12px;
				}

				.gallery-container .grid-sizer, .gallery-container .grid-item {
				width: 20%;
				/*border: 1px solid #fff;
				box-sizing: border-box;*/
				min-height: 10px;
				overflow: hidden;
			}

			.gallery-container .grid-item--width2 {
				width: 40%;
			}

			}
			@media only screen and (max-width: 450px) {
				.gallery-container .grid{
					background: #fff;
					min-height: 200px;
					border:1px solid #fff;
					box-sizing: border-box;
				}
				.gallery-container .grid-sizer, .gallery-container .grid-item {
					width: 50%;
					border: 1px solid #fff;
					box-sizing: border-box;
					min-height: 10px;
				}
				.gallery-container .grid-item--width2 {
					width: 50%;
				}
			}

			#gallery-overlay{
				background-color: rgba(0,0,0,0.8);
				width:100%;
				height:100%;
				position: fixed;
				top: 0;
				bottom: 0;
				left: 0;
				right: 0;
				z-index: 9999;
				display: none;
			}



 .cf:before,
    .cf:after {
        content: " "; /* 1 */
        display: table; /* 2 */
    }
    .cf:after {
        clear: both;
    }

    .cf {
        *zoom: 1;
    }
    .innerstuff{
        width:70%;
        margin: 30px auto;
        padding: 0px;
        min-height: 350px;
        background: #fff;
        /*max-height: 1050px;*/
        max-height: 900px;
        position:relative;
        background-color: #000;
        background-color: rgba(0,0,0,0.8);
    }
    .innerstuff a.prev-overlay{
        position:absolute;
        left:0;
        top:calc(50% - 32px);
    }
    .innerstuff a.next-overlay{
        position:absolute;
        right:0;
        top:calc(50% - 32px);
    }
    .innerstuff a.close-overlay{
        position:absolute;
        right:0;
        top:0;
    }
    .innerstuff .left{
        width:65%;
        float: left;
        margin-bottom: -3px;
    }
    .innerstuff .left img, .innerstuff img{
        width: 100%;
    }
    .innerstuff .right{
        width:35%;
        float: right;
        padding: 10px 10px;
        box-sizing: border-box;
    }
    .innerstuff .right h1{
        width:95%;
    }

    .innerstuff h1 {
    	text-align: center;
    	margin: 0.3em 0 0.3em 0;
    }

    .overlay-button{
        background: #b3170b;
        color: #fff;
        font-size: 16px;
        font-size: 1.6rem;
        font-weight: bold;
        padding: 0.5em 1em;
        text-transform: uppercase;
        color: #fff !important;
        text-decoration: none;

    }
    @media only screen and (max-width: 450px) {
        .innerstuff .left{
            width:100%;
            float: none;
            margin-bottom: 0;
        }
        .innerstuff .right{
            width:100%;
            float: none;
            padding: 10px 10px;
        }
    }

