@charset "UTF-8";

/****** Reset what we don't need ******/

img, ul, li, fieldset, h1, h2, h3, h4, p, a, input, select, textarea, button, span, dl, dt, dd {
	margin: 0;
	padding: 0;
	outline: 0;
	border: 0;
	background: none;
	font-weight: inherit;
	text-align: inherit;
	text-decoration: none;
	vertical-align: baseline;
}

/****** Main Page Elements ******/

button::-moz-focus-inner {
    padding: 0;
    border: 0
}

article, footer, header, nav, section {
	display: block;
}

ul {
	list-style-type: none;
}

img {
	vertical-align: top;
}

p {
	line-height: 1.4;
	margin-bottom: 1.2em;
}

strong {
	font-weight: 700;
}

select, input, textarea {
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

html {
	height:101%; /* Force vertical scroll bar */
}

body {
	margin: 0;
	padding: 0;
	color: #333333;
	background-color: #ffffff;
	background-image: url(../image/bg.png);
	font-family: "Ubuntu", Arial, Helvetica, Sans-Serif;
	font-size: 100%;
	font-weight: 400;
}

/****** Containers ******/

.outer {
	min-width: 1002px;
	margin-left: auto;
	margin-right: auto;
}

.inner {
	margin: 0px auto;
	width: 978px;
	font-size: 80%;
}

/****** Grid system based on the 978 grid system from http://978.gs ******/

.grid { overflow: hidden; }
.grid-1, .grid-2, .grid-3, .grid-4, .grid-5, .grid-6, .grid-7, .grid-8, .grid-9, .grid-10, .grid-11, .grid-12 { float: left; margin-left: 30px; }
.grid-1:first-child, .grid-2:first-child, .grid-3:first-child, .grid-4:first-child, .grid-5:first-child, .grid-6:first-child, .grid-7:first-child, .grid-8:first-child, .grid-9:first-child, .grid-10:first-child, .grid-11:first-child, .grid-12:first-child { margin-left: 0; }
.grid-1 { width: 54px; }
.grid-2 { width: 138px; }
.grid-3 { width: 222px; }
.grid-4 { width: 306px; }
.grid-5 { width: 390px; }
.grid-6 { width: 474px; }
.grid-7 { width: 558px; }
.grid-8 { width: 642px; }
.grid-9 { width: 726px; }
.grid-10 { width: 810px; }
.grid-11 { width: 894px; }
.grid-12 { width: 978px; }

.grid-4-2 {
	float: left;
	width: 264px;
	margin-left: 30px;
	padding: 20px 20px 10px 20px;
	border: solid 1px #c0c0c0;
	border-radius: 4px;
	background-color: #ffffff;
}

.grid-4-2:first-child {
	margin-left: 0;
}

.divide {
	padding-bottom: 2em;
	margin-bottom: 2em;
	border-bottom: dotted 1px #c0c0c0;
}

.gallery {
	margin-bottom: 2em;
}

/****** Anchors ******/

a {
	color:#000099;
	text-decoration:underline;
}

a:hover {
	color:#000000;
}

/****** Headings ******/

.heading-1 {
	padding-top: 14px;
	padding-bottom: 14px;
	padding-left: 17px;
	margin-bottom: 22px;
}

nav,
.heading-1 {
	line-height: 1;
	font-size: 120%;
	font-weight: 500;
	text-transform: uppercase;
}

.heading-2 {
	margin-bottom: 1em;
	font-size: 140%;
	font-weight: 500;
	text-transform: uppercase;
}

.heading-3 {
	margin-bottom: 0.2em;
	font-size: 100%;
	font-weight: 700;
}

/****** Lists ******/

ul.list-1 {
	list-style-type: circle;
	margin-bottom: 1.5em;
}

ul.list-1 li {
	margin-left: 2em;
	margin-bottom: 0.5em;
}

dl.definition-1 dt {
	margin-bottom: 0.2em;
	font-weight: 700;
}

dl.definition-1 dd {
	margin-bottom: 1.5em;
}

/****** Headers & Footers ******/

header {
	background-color: #ffffff;
	text-align: center;
}

header .logo {
	margin: 20px auto 25px auto;
}

footer {
	padding: 1.5em 0 0.8em 0;
	color: #ffffff;
	background-color: #191919;
	font-size: 90%;
}

footer p {
	line-height: 1;
	margin: 0 0 0.8em 0;
}

footer a {
	color: #ffffff;
	text-decoration: none;
	border-bottom: dotted 1px #ffffff;
}

footer a:hover {
	color: #ffffff;
	border-bottom: solid 1px #ffffff;
}

footer .legal {

	text-align: right;
}

/****** Navigation ******/

nav {
	overflow: hidden;
	margin-bottom: 38px;
	color: #ffffff;
	background-color: #000000;
	text-transform: uppercase;
}

nav ul li {
	line-height: 1;
	float: left;
	margin-right: 15px;
	padding-top: 14px;
	padding-bottom: 18px;
}

nav ul li:last-child {
	float: right;
	padding-left: 32px;
	margin-right: 0;
	background-image: url(../image/icon-phone.svg);
	background-position: left center;
	background-repeat: no-repeat;
	background-size: 32px 32px;
}

nav ul li a {
	padding-right: 15px;
	color: #ffffff;
	border-right: solid 1px #010101;
	box-shadow: 1px 0 0 #474747;
	text-decoration: none;
}

nav ul li a:hover {
	color: #ffffff;
	text-shadow: 0 0 3px rgba(255, 255, 255, 0.5);
}

nav ul li:last-child a,
nav ul li:nth-last-child(2) a {
	border-right: none;
	box-shadow: none;
}

/****** Content Areas ******/

.content-main {
	min-height: 400px;
	background-color: rgba(255, 255, 255, 0.7);
}

.content-main,
.content-secondary {
	padding: 1.5em 0;
}

/****** General Formatting ******/

.border-1 {
	border-top: solid 2px #585858;
	box-shadow: 
		0 -1px 0 0 #676767,
		0 -2px 0 0 #303030,
		0 -3px 0 0 #a6a6a6;
}

.gradient-1 {
	color: #ffffff;
	background: #191919; /* Old browsers */
	background: url(data: image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iIzU4NTg1OCIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjUwJSIgc3RvcC1jb2xvcj0iIzQ2NDY0NiIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjUwJSIgc3RvcC1jb2xvcj0iIzJmMmYyZiIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiMyNDI0MjQiIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+);
	background: -moz-linear-gradient(top,  #585858 0%, #464646 50%, #2f2f2f 50%, #242424 100%); /* FF3.6+ */
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#585858), color-stop(50%,#464646), color-stop(50%,#2f2f2f), color-stop(100%,#242424)); /* Chrome,Safari4+ */
	background: -webkit-linear-gradient(top,  #585858 0%,#464646 50%,#2f2f2f 50%,#242424 100%); /* Chrome10+,Safari5.1+ */
	background: -o-linear-gradient(top,  #585858 0%,#464646 50%,#2f2f2f 50%,#242424 100%); /* Opera 11.10+ */
	background: -ms-linear-gradient(top,  #585858 0%,#464646 50%,#2f2f2f 50%,#242424 100%); /* IE10+ */
	background: linear-gradient(to bottom,  #585858 0%,#464646 50%,#2f2f2f 50%,#242424 100%); /* W3C */
	box-shadow: 
		0 -1px 0 0 #303030,
		0 -2px 0 0 #a7a7a7,
		0 1px 0 0 #010101,
		0 2px 0 0 #6c6c6c;
	text-shadow: 0 -1px 0 #000000;
}

/****** Homepage ******/

.service {
	position: relative;
}

.service a h3 {
	position: absolute;
	bottom: 0;
	width: 90%;
	padding: 14px 5%;
	color: #ffffff;
	background-color: rgba(0, 0, 0, 0.75);
	text-transform: uppercase;
	font-size: 110%;
	font-weight: 500;
}

.service a:hover h3 {
	background-color: rgba(0, 0, 0, 1);
	transition: background-color 200ms linear;
}

/****** Form Elements ******/

.form-label {
	display: block;
	margin-bottom: 3px;
	font-weight: 500;
}

.form-text {
	width: 100%;
	margin: 0 0 0.5em 0;
	padding: 4px;
	color: #505050;
	background-color: #ffffff;
	border: solid 1px #a7a7a7;
	font-family: Arial, Helvetica, Sans-Serif;
	font-size: 12pt;
	text-align: left;
}

.form-text:hover {
	border: solid 1px #777777;
}

.form-text:focus {
	border: solid 1px #94bbfd;
}

.form-required {
	color: #ff0000;
	font-size: 120%;
	font-weight: 700;
}

.form-error {
	display: inline-block;
	margin-bottom:3px;
	padding: 4px;
	color: #cc0a0c;
	background-color: #fef6f3;
	border: solid 1px #cc0a0c;
	font-size: 90%;
	-webkit-border-radius: 3px;
	-moz-border-radius: 3px;
	border-radius: 3px;
}

.form-button {
	display:inline-block;
	width:auto;
	margin:0;
	padding:8px 26px;
	line-height:26px;
	white-space:nowrap;
	color:#ffffff;
	border:none;
	font-family:Arial, Helvetica, Sans-Serif;
	font-size:110%;
	font-weight:600;
	cursor:pointer;
	border-radius:6px;
	text-decoration:none;

	background: #585858; /* Old browsers */
	/* IE9 SVG, needs conditional override of 'filter' to 'none' */
	background: url(data: image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iIzU4NTg1OCIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjUwJSIgc3RvcC1jb2xvcj0iIzQ2NDY0NiIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjUwJSIgc3RvcC1jb2xvcj0iIzJmMmYyZiIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiMyNDI0MjQiIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+);
	background: -moz-linear-gradient(top,  #585858 0%, #464646 50%, #2f2f2f 50%, #242424 100%); /* FF3.6+ */
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#585858), color-stop(50%,#464646), color-stop(50%,#2f2f2f), color-stop(100%,#242424)); /* Chrome,Safari4+ */
	background: -webkit-linear-gradient(top,  #585858 0%,#464646 50%,#2f2f2f 50%,#242424 100%); /* Chrome10+,Safari5.1+ */
	background: -o-linear-gradient(top,  #585858 0%,#464646 50%,#2f2f2f 50%,#242424 100%); /* Opera 11.10+ */
	background: -ms-linear-gradient(top,  #585858 0%,#464646 50%,#2f2f2f 50%,#242424 100%); /* IE10+ */
	background: linear-gradient(to bottom,  #585858 0%,#464646 50%,#2f2f2f 50%,#242424 100%); /* W3C */
	filter: progid: DXImageTransform.Microsoft.gradient( startColorstr='#585858', endColorstr='#242424',GradientType=0 ); /* IE6-8 */
}

.form-button:hover {
	background: #515151;
	text-decoration: none;
}

#enquiry {
	height: 207px;
}

/****** User Notices & Messages ******/

.error,
.success {
	height:58px;
	line-height:58px;
	padding-left:68px;
	border-style:solid;
	border-width:1px;
	border-radius:6px;
	background-position:10px center;
	background-repeat:no-repeat;
}

.success {
	border-color:#fad42e;
	color:#7a6f3e;
	background-color:#fbec88;
	background-image:url(../image/success.png);
}

.error {
	border-color:#cc0a0c;
	color:#cc0a0c;
	background-color:#fef6f3;
	background-image:url(../image/error.png);
}

/****** Other Elements & General Formatting ******/

.right {
	text-align: right;
}

.map-canvas {
	height: 365px;
	border: solid 1px #a7a7a7;
}