html, body, div, span, object, h1, h2, h3, h4, h5, p, a, abbr, em, img, strong, ol, ul, li, fieldset, form, label, legend, input, button, textarea, table, tbody, tfoot, thead, tr, th, td{ margin : 0; padding : 0; border : 0; outline : 0; font-weight : normal; font-style : inherit; font-size : 1; font-family : inherit; vertical-align: baseline; box-sizing: content-box; -moz-box-sizing: content-box; -webkit-box-sizing: content-box; }

/* normalise

*, *:after, *:before {
	box-sizing: content-box;
	margin : 0; padding : 0; border : 0; outline : 0; font-weight : inherit; font-style : inherit; font-size : 1; font-family : inherit; vertical-align: baseline;
}

*/

@font-face {
	font-family: 'FF Din';
	font-weight: 300;
	font-style: normal;
	src: local('FF Din Light'), local('FF-Din-Light'), url('../font/ff-din-light.woff') format('woff');
}

@font-face {
	font-family: 'FF Din';
	font-weight: 500;
	font-style: normal;
	src: local('FF Din Normal'), local('FF-Din-Normal'), url('../font/ff-din-normal.woff') format('woff');
}

@font-face {
	font-family: 'FF Din';
	font-weight: 700;
	font-style: normal;
	src: local('FF Din Semi Bold'), local('FF-Din-Semi-Bold'), url('../font/ff-din-semi-bold.woff') format('woff');
}

@font-face {
	font-family: 'FF Din';
	font-weight: 800;
	font-style: normal;
	src: local('FF Din Bold'), local('FF-Din-Bold'), url('../font/ff-din-bold.woff') format('woff');
}

body{
	position: relative;
	font-family: "FF Din", Optima, Segoe, "Segoe UI", Candara, Calibri, Arial, "Open Sans", sans-serif;
	font-size : 0.9em;
	line-height : 1.6;
	width : 940px;
	margin-left:auto;
	margin-right:auto;
}

h1{
	margin: 10px 0 20px 0;
}

h2,
h3,
h4,
h5{
	margin: 0 0 15px 0;
}


p,
ul,
img,
form,
table{
	margin: 0 0 10px 0;
}

a{
	color: #c40000;
	cursor: pointer;
	text-decoration: none;
}

a:hover{
	text-decoration: underline;
}

em{
	font-style: italic;
}

strong{
	font-weight : 700;
}

h1,
h2{
	text-overflow: ellipsis;
	overflow : hidden;
	white-space: nowrap;
	font-weight : 700;
	text-align: left;
	clear: both;
}

h1{
	font-size : 1.5em;
}

h2{
	font-size : 1.2em;
}

h1 a,
h2 a,
h3 a,
h4 a{
	font-weight : 700;
}

h3,h4{
	font-weight : 700;
	text-align: left;
}

li{
	margin: 0px;
	padding: 0px;
	list-style: none;
}

select{
	cursor: pointer;
}

object{
	display: block;
	margin-bottom: 10px;
}

::selection {
	background-color: #bd0e0e;
	color : #fff;
}

/* main elements */
#header{
	position: relative;
	margin: 0 0 0px;
	height : 130px;
	border-bottom : 1px solid #333;
}

#body{
	position: relative;
	margin : 20px 0 0;
	max-width : 1000px;
	text-align: justify;
}

#footer{
	position: relative;
	text-align: left;
	margin: 40px 0 0;
	min-height: 140px;
	clear : both;
	border-top : 1px solid #ccc;
}

/* header */
#logo{
	position: absolute;
	left: -18px;
	bottom : 42px;
}

#logo img{
	width : 223px;
	height : 50px;
}

#search_button{
	border : 0px;
	display : block;
	height: 28px;
	width: 28px;
	padding : 0px;
	/* margin-left : -32px; */
	background : transparent url(../image/spritemap.png) no-repeat -258px -75px;
	vertical-align : middle;
	position : absolute;
	right : -2px;
	top : -1px;
	cursor : pointer;
}

#search_form{
	position: absolute;
	right : 0px;
	bottom : 15px;
}

#search_field{
	vertical-align : middle;
	padding : 1px 32px 1px 2px;
	height: 24px;
	line-height: 24px;
	width : 180px;
}

#search_form:hover input{
	background-color: #fcfcfc;
	border: 1px solid #777;
}

#nav{
	position: absolute;
	bottom : 10px;
	left : 0px;
}

#tools{
	position: absolute;
	top : 25px;
	right : 0px;
}

#subnav{
	position: absolute;
	top : 0.5em;
	right : 0px;
}

/* nav */
ul.subnav li,
ul.nav li{
	display: inline;
	margin: 0px;
	padding: 0px;
}

ul.nav li a:hover{
	text-decoration: underline;
}

ul.nav li.active a,
ul.subnav li.active a{
	color: #c40000;
}

#nav li a,
#subnav li a{
	font-weight : 500;
}

#nav li + li{
	margin: 0 0 0 10px;
	padding: 0 0 0 10px;
	border-left : 1px solid #222;
}

#tools li + li{
	margin: 0 0 0 10px;
	padding: 0 0 0 10px;
	border-left : 1px solid #777;
}

#tools li a{
	color: #777;
}

#tools li.active a{
	color: #c40000;
}

#subnav li + li{
	margin: 0 0 0 8px;
	padding: 0 0 0 8px;
	border-left : 1px solid #222;
}

#footer li{
	display : block;
	margin-top : 2px;
}

#footer #follow li a{
	color: #c40000;
}

/* content */
#title{
	position : relative;
}

#messages div{
	margin-bottom: 10px;
	padding : 0.4em 28px 0.4em 0.4em;
	color : #000;
	line-height : 1.6em;
	position : relative;
}

#messages .close{
	position : absolute;
	right : 2px;
	top : 0px;
}

#messages .message_error{
	background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAADCAYAAABWKLW/AAAAHUlEQVQIW2NkgIIPXFzGjCA2iCHw7dtZRhgDJAgAhegJOyTVw1QAAAAASUVORK5CYII=") repeat;
}

#messages .message_ok{
	background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAADCAYAAABWKLW/AAAAGklEQVQIW2NkgIGzDMaMYDaQAYRnGWEMkBgATw8FBG324/kAAAAASUVORK5CYII=") repeat;
}

/** footer **/
#footer .section{
	float: left;
	min-height : 200px;
	margin: 0;
	position : relative;
	width : 250px;
	padding : 0;
}

#footer .section + .section{
	border-left : 1px solid #ccc;
	margin-left: 24px;
	padding-left : 24px;
}

#follow .shares{
	margin-top : 20px;
}

#footer #follow{
	width : 340px;
}

#footer .section h4{
	margin : 10px 0px;
	font-size : 1.2em;
}

#footer .section p{
	margin : 10px 0px;
}

#footer form{
	margin : 20px 0px 10px;
}

#footer .field{
	padding : 1px 2px;
	width : 150px;
	border-top-left-radius : 0px;
	border-bottom-left-radius : 0px;
	margin-left: -4px;
}

#footer .button{
	padding : 1px 6px;
	border-top-right-radius : 0px;
	border-bottom-right-radius : 0px;
}

#up-to-date .field{
	width : 180px;
	margin-left: 0px;
	margin-bottom: 4px;
	display : block;
}

#up-to-date .button{
	display : block;
}

/* tables */
td{
	padding: 4px;
}

td a{
	font-weight: normal;
}

thead td{
	font-weight : 700;
	background-color: #eee;
}

tfoot td{
	font-weight : 700;
	background-color: #eee;
}

/* content styles */
#body img{
	border : 1px solid #eee;
}

#body img,
#body a img{
	margin: 0;
}

#body li{
	margin : 0 0 4px;
}

/* zooms */
#zoom{
	position: fixed;
	z-index: 1000;
	border: 1px solid #000;
	background-color: #fff;
	min-width: 200px;
	min-height: 200px;
}

#zoom #zoom_control,
#zoom #zoom_left,
#zoom #zoom_right{
	position: absolute;
	height: 24px;
	line-height: 24px;
	width: 50px;
	text-align: center;
	background-color: #fff;
}

#zoom #zoom_control{
	top: 10px;
	right: 10px;
}

#zoom #zoom_left{
	bottom: 10px;
	left: 10px;
}

#zoom #zoom_right{
	bottom: 10px;
	right: 10px;
}

#zoom #zoom_body{
	margin: 10px;
	padding: 0px;
}

#zoom #zoom_body h2{
	font-size: 16px;
	margin-bottom: 10px;
	padding-bottom: 5px;
	border-bottom: 1px solid #ccc;
}

#zoom #zoom_body img{
	display: block;
	padding: 0px;
	margin: 0px;
}

#zoom a{
	color : #333;
}

.loading{
	margin-top: 40px;
	text-align: center;
}

#frame{
	position: absolute;
	top: 0px;
	bottom: 0px;
	left: -1000px;
	right: -1000px;
	z-index: 100;
	background-color: #DEDEDE;
	opacity:0.8;
}

/* misc ui */
.hidden{
	display: none !important;
}

.break{
	clear: both !important;
}

/* buttons */
.button{
	color : #c40000;
	font-weight : 700;
	line-height: 1.6em;
	width : auto !important;
	padding : 0px 8px;
	cursor : pointer;
	display: inline-block;
	text-decoration : none;
	text-align : center;
	border : 1px solid #d1cdba;
	background-color: #fbfbfb;
	background-image: -webkit-linear-gradient(top, #fbfbfb, #e8e8e8);
	background-image: linear-gradient(to bottom, #fbfbfb, #e8e8e8);
	box-shadow: rgba(0, 0, 0, 0.0976563) 0px 1px 2px 0px;
	border-radius : 2px;
	-webkit-transition: all 0.20s ease-in-out; -moz-transition: all 0.20s ease-in-out;-o-transition: all 0.20s ease-in-out;-ms-transition: all 0.20s ease-in-out;
}

.button:hover{
	color : #b20000;
	background : #e8e8e8;
	background-image: -webkit-linear-gradient(top, #fbfbfb, #d8d8d8);
	background-image: linear-gradient(to bottom, #fbfbfb, #d8d8d8);
	border: 1px solid #777;
}

.action{
	display: inline-block !important;
	height: 1.8em !important;
	line-height: 1.6em !important;
	width : auto !important;
	cursor : pointer;
	font-weight : 800 !important;
	font-size : 1.1em !important;
	padding : 0px 12px 0px !important;
	border-radius : 2px;
	-webkit-transition: all 0.20s ease-in-out;-moz-transition: all 0.20s ease-in-out;-o-transition: all 0.20s ease-in-out;-ms-transition: all 0.20s ease-in-out;
	vertical-align: middle;
}

.action:hover{
	text-decoration : none;
}

.red-action{
	color : #fff;
	background-color: #c40000;
	background-image: -webkit-linear-gradient(top, #c40000, #b20000);
	background-image: linear-gradient(to bottom, #c40000, #b20000);
	border : 1px solid #b20000;
}

.red-action:hover{
	color : #fff;
	background : #b20000;
	background-image: -webkit-linear-gradient(top, #b20000, #a00000);
	background-image: linear-gradient(to bottom, #b20000, #a00000);
	border: 1px solid #a00000;
}

.grey-action{
	color : #fff;
	background-color: #888;
	background-image: -webkit-linear-gradient(top, #888, #777);
	background-image: linear-gradient(to bottom, #888, #777);
	border : 1px solid #888;
}

.grey-action:hover{
	color : #fff;
	background-color: #777;
	background-image: -webkit-linear-gradient(top, #777, #666);
	background-image: linear-gradient(to bottom, #777, #666);
	border : 1px solid #666;
}

.more-details{
	font-weight : 700;
	line-height: 1.6em;
	font-size: 0.9em;
	width : auto !important;
	padding : 0px 4px;
	cursor : pointer;
	display: inline-block !important;
	text-decoration : none;
	text-align : center;
	border : 1px solid #d1cdba;
	color : #fff;
	position: absolute;
	bottom: 10px;
	background-color: #999;
	border : 1px solid #999;
	border-radius : 2px;
	-webkit-transition: all 0.25s ease-in-out; -moz-transition: all 0.25s ease-in-out;-o-transition: all 0.25s ease-in-out;-ms-transition: all 0.25s ease-in-out;
}

.more-details:hover{
	text-decoration : none;
	background-color: #c40000;
	border : 1px solid #c40000;
}

/** forms **/
div.row{
	margin: 14px 0 2px 0;
}

div.row label{
	font-weight : 700;
	width: 250px;
	display : block;
	margin-bottom : 4px;
}

div.row input,
div.row textarea,
div.row select{
	width : 100%;
	margin: 0px;
	padding: 0px 4px;
	display : block;
	box-sizing: border-box;
	-ms-box-sizing:content-box;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
}

div.row input,
div.row select{
	height : 2.2em;
}

div.row .button{
	height: 2em;
	line-height: 1.9em;
	display : block;
	height: 2.2em;
	line-height: 2.2em;
	padding : 0px 6px;
	margin-top : 25px;
}

input,
select,
textarea{
	border-radius : 2px;
}

div.row textarea{
	padding : 4px;
	height: 180px;
}

div.row .header{
	margin: 6px 0 12px;
}

div.row .header p{ /* field headers only, keep form header text black */
	color: #777;
}

input.error,
select.error,
textarea.error{
	border: 1px solid #c40000 !important; /* important as otherwise input losing border */
	background:  url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAADCAYAAABWKLW/AAAAHUlEQVQIW2NkgIIPXFzGjCA2iCHw7dtZRhgDJAgAhegJOyTVw1QAAAAASUVORK5CYII=") repeat;
}

select.error option{
	background-color: #fff;
}

div.feedback{
	margin-top: 10px;
}

div.feedback p.error{
	padding : 4px;
	background:  url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAADCAYAAABWKLW/AAAAHUlEQVQIW2NkgIIPXFzGjCA2iCHw7dtZRhgDJAgAhegJOyTVw1QAAAAASUVORK5CYII=") repeat;
}

.required{
	margin-left: 6px;
	color: #333;
	font-size: 0.9em;
}

.error .required{
	color: #c40000;
}

label,
input,
select{
	vertical-align : middle;
}

input[type=text],
input[type=password],
input[type=checkbox],
select{
	margin: 0px;
	padding: 0px;
	height: 1.6em;
	border: 0px;
}

input[type=text],
input[type=password],
input[type=checkbox],
textarea,
select{
	color: #333;
	background-color: #F9F9F9;
	border: 1px solid #AAAAAA;
}

input[type=text]:hover,
input[type=text]:active,
input[type=text]:focus,
input[type=password]:hover,
input[type=password]:active,
input[type=password]:focus,
input[type=checkbox]:hover,
input[type=checkbox]:active,
input[type=checkbox]:focus,
textarea:hover,
textarea:active,
textarea:focus,
select:hover,
select:active,
select:focus{
	background-color: #fcfcfc;
	border: 1px solid #777;
}

.grey{
	color : #999;
}

.darkgrey{
	color : #777;
}

/* stock grids */
.grid{
	margin : 0px;
}

.line{
	margin : 0px;
	position: relative;
}

.line + .line{
	margin-top: 30px;
}

.unit{
	width : 280px;
	padding : 0px;
	margin : 0px 0 10px 48px;
	display : inline-block;
	vertical-align : top;
}

.has-details{
	margin-bottom: 50px;
}

.unit img{
	display : block;
	padding : 0px;
	margin : 0px;
	border : 1px solid #ccc;
}

.unit .text,
.unit .title{
	margin-top : -8px;
	text-align : left;
}

.unit .title:first-of-type{
	font-weight: 700;
	margin-top : 10px;
}

.unit a{
	display: block;
}

.unit .text{
	color : #999999	;
}

.line-2 .unit:nth-child(2n + 1){
	margin-left : 0px  !important;
}

.line-3 .unit:nth-child(3n + 1){
	margin-left : 0px  !important;
}

.line-4 .unit:nth-child(4n + 1){
	margin-left : 0px  !important;
}

.line-2 .unit{
	width : 450px;
	margin-left : 40px;
}

.line-4 .unit{
	width : 200px;
	margin-left : 45px;
}

/* slideshow */
#slideshow{
	position : relative;
	overflow : hidden;
}

#slideshow .prev{
	position : absolute;
	z-index : 9000;
	margin : 0;
	display : none;
	cursor : pointer;
	top : 275px;
	left : 0px;
	height: 50px;
	width: 50px;
	background : transparent url(../image/spritemap.png) no-repeat -10px -79px;
}

#slideshow .next{
	position : absolute;
	z-index : 9000;
	margin : 0;
	display : none;
	cursor : pointer;
	top : 275px;
	right : -2px; /** why? **/
	height: 50px;
	width: 50px;
	background : transparent url(../image/spritemap.png) no-repeat -70px -79px;
}

#slideshow .prev:hover{
	background : transparent url(../image/spritemap.png) no-repeat -130px -79px;
}

#slideshow .next:hover{
	background : transparent url(../image/spritemap.png) no-repeat -190px -79px;
}

p{
	color : #333;
}

h1,
h1 a{
	color : #000;
}

h2,
h3,
h4,
h2 a,
h3 a,
h4 a{
	color : #333;
	color : #000;
}

.nav a{
	color : #000;
}

#nav a,
#subnav a{
	text-transform : uppercase;
}

.box{
	margin-bottom : 20px;
	width : 100%;
	position : relative;
}

.box + .box{
	padding-top : 10px;
}

.box img{
	border : 0px !important;
}

.box h2,
.box p,
.box form{
	margin: 10px 0 0 0;
}

.box p.title{
	height : 1.6em;
	width : 100%;
	overflow : hidden;
	white-space : nowrap;
	text-overflow : ellipsis;
	text-align : left;
}

.legend{
	position : absolute;
	bottom : 0px;
	left : 0px;
	right : 0px;
	background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAIAAAACCAYAAABytg0kAAAAEklEQVQIW2NkYGCoB2IGRhgDAAmaAQFQjrCUAAAAAElFTkSuQmCC") repeat;
	z-index : 100;
}

.prev,
.next,
.legend{
	display : none;
}

.legend h2,
.legend h3,
.legend p{
	color : #fff;
}

.legend p{
	margin : 0px;
}

.map{
	width : 455px;
	height : 300px;
	float : left;
}

.address{
	width : 470px;
	min-height : 300px;
	float : right;
}

.address h2,
.address h3{
	padding : 0px;
	margin : 0 15px;
}

.address p{
	margin : 10px 15px;
}

.two-column{
	columns : 2;
	column-gap : 2em;
	-moz-columns : 2;
	-moz-column-gap : 2em;
	-webkit-columns : 2;
	-webkit-column-gap : 2em;
	text-align : justify;
}

.close{
	display : block;
	width : 17px;
	height : 18px;
	font-size : 28px;
	float : right;
	margin-right : 4px;
	margin-top : 8px;
	cursor : pointer;
	color : #000;
	text-decoration : none;
	border : 1px solid #333;
	background : white url(../image/spritemap.png) no-repeat -301px -81px;
}

/* interact common styles */
.interact{
	margin : 20px 0;
}

.interact .shares,
.interact .tags{
	height : 24px;
}

.interact .tag{
	font-weight : 600;
	padding: 2px 4px 2px 20px;
	border : 2px solid #ccc;
	border-radius : 4px;
	color : #000;
	vertical-align : top;
	display : inline-block;
	font-size : 13px;
	background: url(../image/spritemap.png) no-repeat -470px -38px;
}

.interact .tag:hover{
	text-decoration : none;
	border : 2px solid #000;
	background: url(../image/spritemap.png) no-repeat -470px 2px;
}

.shares .share{
	height: 24px;
	width: 24px;
	margin : 0 4px 0 0;
	background : #000 url(../image/spritemap.png) no-repeat 0 0;
	border : 2px solid #000;
	border-radius : 4px;
	display : inline-block;
	-webkit-transition: all 0.20s ease-in-out; -moz-transition: all 0.20s ease-in-out;-o-transition: all 0.20s ease-in-out;-ms-transition: all 0.20s ease-in-out;
}

/* interact full */
.interact_full{
	width : 100%;
	min-height : 40px;
	clear : both;
}

.interact_full .shares{
	float : left;
	width : 250px;
	margin-top : 20px;
}

.interact_full .tags{
	margin-top : 20px;
	float : right;
	text-align : right;
	width : 690px;
}

.interact_full .tag{
	margin-left : 2px;
}

.interact_stack{
	clear : both;
}

.interact_stack .tags{
	text-align : left;
	margin-top : 12px;
}

.interact_stack .tag{
	margin-right : 2px;
	margin-bottom : 5px;
}

/* interact shares: colours and buttons */
.shares .email{
	background-position: -96px -30px;
}

.shares .email:hover{
	border-color : #666666;
	background-color : #666666;
}

.shares .facebook{
	background-position: -124px -30px;
}

.shares .facebook:hover{
	border-color : #3B5998;
	background-color : #3B5998;
}

.shares .googleplus{
	background-position: -180px -30px;
}

.shares .googleplus:hover{
	border-color : #D14836;
	background-color : #D14836;
}

.shares .pinterest{
	background-position: -236px -30px;
}

.shares .pinterest:hover{
	border-color : #CB2027;
	background-color : #CB2027;
}

.shares .tumblr{
	background-position: -348px -30px;
}

.shares .tumblr:hover{
	border-color : #2C4762;
	background-color : #2C4762;
}

.shares .twitter{
	background-position: -376px -30px;
}

.shares .twitter:hover{
	border-color : #39A9E0;
	background-color : #39A9E0;
}

.shares .instagram{
	background-position: -208px -30px;
}

.shares .instagram:hover{
	border-color : #3F729B;
	background-color : #3F729B;
}

.shares .youtube{
	background-position: -432px -30px;
}

.shares .vimeo{
	background-position: -406px -30px;
}

.shares .artsy{
	background-position: -338px -78px;
}

.shares .artsy:hover{
	border-color : #6600CC;
	background-color : #6600CC;
}

.shares .rss{
	background-position: -292px -30px;
}

.shares .rss:hover{
	border-color : #FF8300;
	background-color : #FF8300;
}

.more{
	font-weight : 700;
	color: #c40000;
	margin : 20px 0;
}

.more a{
	font-weight : 700;
	color: #c40000;
}

.more a:hover{
	text-decoration : none;
}

.no-border{
	border: 0px !important;
}

.clearfix:before,
.clearfix:after {
	content:"";
	display:table;
}
.clearfix:after {
	clear:both;
}

.geo{
	display: none;
}