/*------------------------------------*\
	RESET
*------------------------------------*/

/* A more considered reset; more of a restart...
by Harry of CSS Wizardy fame */

:root {
    --ff-base: "Fira Sans Extra Condensed", sans-serif;
    --ff-base-weight: 600;

    --ff-display: "Noto Serif", serif;
}

html,body,div,span,applet,object,iframe,
h1,h2,h3,h4,h5,h6,p,blockquote,pre,hr,
a,abbr,address,cite,code,
del,dfn,em,img,ins,kbd,q,s,samp,
small,strong,sub,sup,tt,var,
b,u,i,
dl,dt,dd,ol,ul,li,
fieldset,form,label,legend,
table,caption,tbody,tfoot,thead,tr,th,td,
article,aside,canvas,details,figcaption,figure,
footer,header,hgroup,menu,nav,section,summary,
time,mark,audio,video{
	font-weight: normal;
	margin:0;
	padding:0;
}

article,aside,details,figcaption,figure,footer,
header,hgroup,menu,nav,section{
	display:block;
}

h1,h2,h3,h4,h5,h6{
	font-size:100%;
}

table{
	border-collapse:collapse;
	border-spacing:0;
}

strong,b,mark{
	font-weight:bold;
	font-style:inherit;
}

em,i,cite,q,address,dfn,var{
	font-style:italic;
	font-weight:inherit;
}

abbr[title],dfn[title]{
	cursor:help;
	border-bottom:1px dotted;
}

ins{
	border-bottom:1px solid;
}

a,u,ins{
	text-decoration:none;
}

del,s{
	text-decoration:line-through;
}

pre,code,samp,kbd{
	font-family:monospace;
}

small{
	font-size:0.75em;
}

img{
	border:none;
	font-style:italic;
}

input,
select,
textarea{
	font:inherit;
}

/* End of the reset */

/* ------------
Global declarations and things
--------------- */

h1,h2,h3,h4,h5,h6,
p,blockquote,pre,hr,
a,abbr,address,cite,code,
del,dfn,em,img,ins,kbd,q,s,samp,
small,strong,sub,sup,tt,var,
b,u,i,
dl,dt,dd,ol,ul,li,
fieldset,form,label,legend,
table,caption,tbody,tfoot,thead,tr,th,td,
article,aside,canvas,details,figcaption,figure,
footer,header,hgroup,menu,nav,section,summary,
time,mark,audio,video {
	-webkit-font-feature-settings:"liga", "dlig"; 
	   -moz-font-feature-settings:"liga=1, dlig=1"; 
       -moz-font-feature-settings:"liga", "dlig"; /* EDIT: new syntax for FF 15+ */ 
        -ms-font-feature-settings:"liga", "dlig"; 
         -o-font-feature-settings:"liga", "dlig"; 
            font-feature-settings:"liga", "dlig";
}

h1,h2,h3,h4,h5,h6 {
	font-size:100%;
}

/* Ye olde Clearfix */
.clearfix:after {
     visibility: hidden;
     display: block;
     font-size: 0;
     content: " ";
     clear: both;
     height: 0;
}


/* Responsify all teh imagezs */
img {
	height: auto;
	max-width: 100%;
	-ms-interpolation-mode: bicubic;
}

/* Link colours */
a { }
a:link { color: #C49F4D; }
a:visited { color: #C49F4D; }
a:hover { text-decoration: underline; }
a:active { text-decoration: underline; }




.container {
	margin: 0 auto;
	max-width: 87.5em;
}


body {
    font-size: 0.95rem;
}

.header {
	background: #CA2F00;
}

.header h1 {
	color: #fff;
	/* font-family:'Charter ITC W01 Bold'; */
    font-family: var(--ff-display);
	font-size: 4.5em; /* 80px */
	padding: .6em 0 0 0;
	line-height: 1;
	text-align: center;
	text-transform: uppercase;
}

.header h2 {
	color: #C49F4D;
    font-family: var(--ff-base);
    font-weight: var(--ff-base-weight);
	font-size: 2em; /* 32px */
	line-height: 1;
	text-align: center;
	text-transform: uppercase;
}


.header_contact {
	color: #fff;
    font-family: var(--ff-base);
    font-weight: var(--ff-base-weight);
	font-size: 1.5em; /* 24px */
	line-height: 1;
	padding-bottom: 2.5em;
	padding-top: 1em;
	text-transform: uppercase;
}

.town {
	float: left;
	padding-left: 6%;
	width: 40%;
    font-weight: var(--ff-base-weight);
}

.header_tel {
	float: right;
	font-size: 1.2em;
	padding-right: 6%;
	text-align: right;
	width: 40%;
    font-weight: var(--ff-base-weight);
}

@media all and (max-width: 600px) {
	
	.header {
		padding: 1em 0;
	}
	
	.header h1 {
		font-size: 1.4em;
		padding: 0 0 .1em 0;
	}

	.header h2 {
		font-size: 1em;
		padding: 0 0 .5em 0;
	}

	.header_contact {
		padding: 0;
	}

	.town,
	.header_tel {
		float: none;
		font-size: .6em;
		line-height: 1;
		margin: 0;
		padding: 0 0 0 0;
		text-align: center;
		width: 100%;
	}

}

@media all and (min-width: 601px) and (max-width: 800px) {

	.header h1 {
		font-size: 3em;
	}

	.header_contact {
		font-size: 1.2em;
	}

}



.intro .container {
	position: relative;
}

.main {
	z-index: 12;
}

#slideshow {
    position:relative;
}

#slideshow img {
    left:0;
    height: auto;
    margin: 0 auto;
    position: absolute;
    top:0;
    width: 100%;
    z-index:8;
}

#slideshow img.active {
    z-index:10;
}

#slideshow img.last-active {
    z-index:9;
}

#slideshow img.dummy {
	position: relative;
	visibility: hidden;
}





.intro h2 {
	bottom: 2.5em;
	color: #fff;
    font-family: var(--ff-display);
    font-style: italic;
	font-size: 3em; /* 48px */
	line-height: 1;
	position: absolute;
	right: 6%;
	text-align: right;
	z-index: 12;
}

.intro em {
	display: block;
    font-family: var(--ff-display);
    /* font-weight: 700; */
	font-style: normal;
	font-size: 1.75em;
	text-transform: uppercase;
}



@media all and (max-width: 600px) {

	.intro h2 {
		background: #fff;
		bottom: auto;
		color: #222;
		font-size: 1.2em;
		margin: -2.5em 5% 0 5%;
		padding: .5em 5% 0 5%;
		position: relative;
		right: auto;
		text-align: left;
	}

}

@media all and (min-width: 601px) and (max-width: 900px) {

	.intro h2 {
		bottom: .75em;
		font-size: 2.5em;
	}

}

@media screen and (min-width: 901px) and (max-width: 1300px) and (max-height:615px) {
	.intro h2 {
		bottom: 3.5em;
	}
}

@media all and (min-width: 1300px) and (min-height:616px) {

	.intro h2 {
		bottom: 2.5em;
		font-size: 4em; /* 48px */
	}

}







.main {
	position: relative;
}

.services {
	float: left;
	margin-left: 6%;
	width: 33%;
}

.services img {
	display: block;
	margin: 3em auto;
	width: 80%;
}



.services ul {
	color: #CA2F00;
    font-family: var(--ff-base);
    font-weight: var(--ff-base-weight);
	font-size: 2em; /* 40px */
	line-height: 1em;
	list-style: none;
	padding: 0 0 1.5em 0;
	text-align: center;
	text-transform: uppercase;
}

.services li {
	margin-bottom: .5em;
    font-weight: var(--ff-base-weight);
}

.description {
	background: #fff;
	float: right;
	margin-right: 6%;
	margin-top: -5em;
	padding-top: 2em;
	width: 53%;
}


.description h2 {
	color: #C49F4D;
    font-family: var(--ff-base);
    font-weight: var(--ff-base-weight);
	font-size: 1.75em;
	padding: .25em 8% .5em 8%;
	text-transform: uppercase;
}

.description p {
    font-family: var(--ff-display);
	font-size: 1em;
	line-height: 1.5em;
	padding: 0 8% 1.5em 8%;
}

.description p:first-of-type {
    font-family: var(--ff-display);
    /* font-weight: 700; */
    /* font-style: italic; */
	font-size: 1.25em; /* 20px */
  	line-height: 1.2em; /* 24px */
}

.description p em {
    font-family: var(--ff-display);
    font-style: italic;
	font-style: normal;
}




@media all and (max-width: 600px) {

	.services,
	.description {
		float: none;
		margin: 0;
		padding: 0;
		width: 100%;
	}

	
	.services img {
		display: block;
		margin: 2em auto .5em auto;
		width: 70%;
	}

	.services ul {
		display: none;
	}

	.services ul {
		font-size: 1.3em;
		margin: 0;
		padding: 1em 5%;
		text-align: left;
	}

	.services li {
		display: inline;
		margin: 0 1em 0 0;
	}

	.description {
		padding-top: 1em;
		padding-bottom: 2em;
	}

	.description h2 {
		font-size: 1.4em;
		padding: .5em 5% .5em 5%;
	}

	.description p {
		font-size: 1em;
		line-height: 1.3em;
		padding: 0 5% 1em 5%;
	}

	.description p:first-of-type {
		font-size: 1.1em;
	}

}

@media all and (min-width: 601px) and (max-width: 900px) {

	.services,
	.description {
		float: none;
		margin: 0;
		padding: 0;
		width: 100%;
	}

	.services img {
		display: block;
		margin: 2em auto 1em auto;
		width: 60%;
	}

	.services ul {
		font-size: 1.5em;
		margin: 0;
		padding: 1em 10%;
		text-align: left;
	}

	.services li {
		display: inline;
		margin: 0 1em 0 0;
	}

	.description {
		padding-bottom: 2.5em;
	}

	.description h2 {
		font-size: 1.6em;
		padding: .5em 10% .5em 10%;
	}

	.description p {
		font-size: 1.2em;
		padding: 0 10% 1em 10%;
	}

	.description p:first-of-type {
		font-size: 1.4em;
	}

}
 
@media all and (min-width: 901px) and (max-width: 1100px) {
	.services ul {
		font-size: 1.7em;
	}
}




@media all and (min-width: 1300px) and (min-height:616px) {


	.services ul {
		font-size: 2.3em; /* 40px */
	}
	
	.description {
		margin-top: -8em;
		padding-top: 2.5em;
		width: 53%;
	}

	.description p:first-of-type {
		font-size: 1.5em;
	}

	.description p {
		font-size: 1.25em;
	}

}

@media screen and (min-width: 900px) and (max-width: 1300px) and (max-height:615px) {

	.description {
		margin-top: -8.5em;
	}
}





.findus {
	background: #CA2F00;
	margin-top: 7em;
	padding-bottom: 3em;
}

.map { 
	float: left;
	margin: -5em 0 0 6%;
	padding: 5em 0 0 0;
	width: 43%;
}

.static_map {display: none;}

.map p {
	
	color: #fff;
    font-family: var(--ff-display);
    /* font-weight: 700; */
    font-style: italic;
	font-size: 1em;
	line-height: 1.5em;
}

.static_map p {
	
	color: #fff;
    font-family: var(--ff-display);
    /* font-weight: 700; */
    font-style: italic;
	font-size: 1em;
	line-height: 1.5em;
}

.map a { color: #fff !important; }

.static_map a { color: #fff !important; }

.map iframe {
	margin: -5em 0 0 0;
}

.static_map iframe {
	margin: 1em 0 0 0;
}



.address {
	float: right;
	margin: 0 6% 0 0;
	padding: 0 0 0 0;
	width: 40%;
}

.address h2 {
	color: #fff;
    font-family: var(--ff-display);
    /* font-weight: 700; */
	font-size: 2.4em;
	margin: 1em 0 1em 0;
	text-transform: uppercase;
}

.address p {
	color: #fff;
    font-family: var(--ff-base);
    font-weight: var(--ff-base-weight);
	font-size: 1.5em;
	line-height: 1em;
	padding: 0 0 1em 0;
	text-transform: uppercase;
}


@media all and (max-width: 600px) {

	.findus {
		margin: 0;
		padding: 0;
	}

	.map,
	.address {
		float: none;
	}

	.map {
		display: none;
	}

	.static_map {
		display: block;
		margin: -2em auto 0 auto;
		position: relative;
		width: 90%;
		z-index: 20;
	}

	.address {
		margin: 0;
		padding: 2em 0;
		width: 100%;
	}

	.address h2 {
		font-size: 1.6em;
		margin: 0;
		padding: 0 5% .5em 5%;
		text-align: center;
	}

	.address p {
		font-size: 1.2em;
		padding: 0 5% 0 5%;
		text-align: center;
	}

}

@media all and (min-width: 601px) and (max-width: 900px) {

	.findus {
		margin: 0;
		padding: 0;
	}

	.map,
	.address {
		float: none;
	}

	.map {
		display: none;
	}

	.static_map {
		display: block;
		margin: -3em auto 0 auto;
		position: relative;
		text-align: center;
		width: 90%;
		z-index: 20;
	}

	.address {
		margin: 0;
		padding: 2em 0;
		width: 100%;
	}

	.address h2 {
		font-size: 1.8em;
		margin: 0;
		padding: 0 10% .5em 10%;
		text-align: center;
	}

	.address p {
		font-size: 1.4em;
		padding: 0 10% 0 10%;
		text-align: center;
	}

}

@media all and (min-width: 1300px) {

	.map {
		width: 33%;
	}

	.address {
		width: 48.5%;
	}

}




.quotes {
	background: #C49F4D;
	padding: 3em 0 3em 0;
}

.aquote {
	float: left;
	margin-right: 4%;
	width: 25.5%;
}

.aquote p {
	color: #fff;
    font-family: var(--ff-base);
    font-weight: var(--ff-base-weight);
	font-size: 1.7em;
	line-height: 1em;
	text-transform: uppercase;
}

.first {
	padding-left: 6%;
}

.last {
	margin-right: 0;
}

.aquote p.attribute {
	color: #CA2F00;
	font-size: 1em;
	line-height: 2em;
}


@media all and (max-width: 600px) {

	.quotes {
		padding: 1.5em 0 .5em 0;
	}

	.aquote,
	.aquote.first,
	.aquote.last {
		float: none;
		margin: 0;
		padding: 0 0 1em 0;
		width: 100%;
	}

	.aquote p {
		font-size: 1.2em;
		padding: 0 5% 0 5%;
	}

}

@media all and (min-width: 601px) and (max-width: 900px) {

	.quotes {
		padding: 2.5em 0 1.5em 0;
	}

	.aquote,
	.aquote.first,
	.aquote.last {
		float: none;
		margin: 0;
		padding: 0 0 1em 0;
		width: 100%;
	}

	.aquote p {
		font-size: 2em;
		padding: 0 20% 0 20%;
	}

}





.gallery {
	padding-top: 2em;
}

.gallery_image {
	display: inline-block;
	/* *display: inline; */
	width: 25.5%;
	margin-right: 3.75%;
	vertical-align: top;
	zoom: 1;
}


@media all and (max-width: 600px) {

	.gallery {
		padding-top: 0em;
	}

	.gallery_image,
	.gallery_image.first,
	.gallery_image.last {
		display: block;
		margin: 0 auto 1em auto;
		padding: 0;
		width: 90%;
	}

}

@media all and (min-width: 601px) and (max-width: 900px) {

	.gallery {
		padding-top: 0em;
	}

	.gallery_image,
	.gallery_image.first,
	.gallery_image.last {
		display: block;
		margin: 0 auto 1em auto;
		padding: 0;
		width: 60%;
	}

}








.footer p {
	color: #CA2F00;
    font-family: var(--ff-base);
    font-weight: var(--ff-base-weight);
	font-size: 1.2em;
	padding: 1em 6%;
	text-transform: uppercase;
}

.footer p em {
	color: #666;
    font-family: var(--ff-display);
    font-style: italic;
	font-size: .7em;
	text-transform: none;
	padding: 0 1em;
}

.footer p a {
    font-family: var(--ff-base);
    font-weight: var(--ff-base-weight); 
}

@media all and (max-width: 600px) {
	.footer p {
		font-size: 1em;
	}
}
