lay@charset "UTF-8";
@import url('https://fonts.googleapis.com/css?family=Montserrat:300,400,700,800');
/* Site specific */
body, html {
  background: #ffffff;
  color: #222;
  font-family: 'Montserrat', sans-serif; }

h1, h2, h3, h4, h5, h6, p, ul, li, td {
  font-family: 'Montserrat', sans-serif;
  font-weight: 300;
  font-size: 1.2rem;
  line-height:1.4;}

body {
  overflow-y: scroll; 
  background-attachment:fixed;
  background-repeat:no-repeat;	
  background-size:cover
}
@media screen and (min-width:768px){
	body {
	 background-size:cover
	}
}

p, td, li {
  color: inherit;
  font-size: 1rem;
}

h1, h2, h3, h4, h5, h6 {
	font-family: 'Montserrat', sans-serif;
	font-weight: 700; 
	width:100%;
}
h1.title {
	font-size:2rem;
	padding-bottom:1rem;
	text-align:center;
	font-weight:300;
}
.button, button {
  background: #f9e154;
  color: #111; }
  .button:hover, .button:focus, button:hover, button:focus {
    background: #FFDE00;
    color: #000000; }

button {
  display: inline-block;
  vertical-align: middle;
  margin: 1rem 0 1rem;
  padding: .85em 2em;
  -webkit-appearance: none;
  border: 1px solid transparent;
  border-radius: 0;
  transition: background-color .25s ease-out,color .25s ease-out;
  font-size: .9rem;
  line-height: 1;
  text-align: center;
  cursor: pointer; }

a {
  color: #dd0000; }
  a:hover, a:focus {
    color: #222; }

*[class^='fa-'] {
  font-family: 'FontAwesome'; }

header#siteheader {
  width: 100%;
  padding: 0;
}


#mainLogo {
	margin:-1.35rem 1rem 0.75rem 0;
	display:inline-block;
}
#mainLogo img {	
	margin-top:0px;
}
@media (max-width:600px){
	#mainLogo {
		margin: -1.35rem 0.75rem 0.75rem 0.5rem;
	}
}
  
main {
  background: #ffffff;
  z-index: 20;
  position: relative; }
  main .row {
    text-align: left; 
  	width:100%;
	max-width:100rem;
	margin:0 auto;
  }
section.mapHolder {
	background-color:#C9C9C9;
}
/* MACHINE HIRE */
.machine-hire {
	text-align: left; 
  	width:100%;
	max-width:100rem;
	margin:0 auto;
	padding:2rem 1rem;
	display:flex;
	flex-wrap: wrap;
	justify-content: center;
	background:#ffffff;
}
.machineItem {
	width:95%;
	margin:2.5%;
	padding:0;
	border:solid 1px #f2f2f2;
	overflow:hidden;
	position:relative;
	cursor:pointer;
}
.machineDetails h2, .machineDetails p {
	margin:0;
	padding:0;
}
.machineDetails h2 {
	padding-top:.75rem;
}
@media (min-width:767px){
	.machineItem {
		width:22.5%;
		margin:2.5% 1.25% 0 1.25%;
	}
}
.machineItem img {
	width:100%;	
	-webkit-transition: -webkit-transform 1.5s linear;
    transition: transform 1.5s linear;
	z-index: 200;
    position: relative;
}
.machineItem.hovering img {
	-webkit-transform: scale(1.2);
    transform: scale(1.2);
}
.machineItem.hovering:after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background: rgba(255,255,255,.1);
  transition: all .3s linear;
  z-index: 300;
  cursor:pointer;
}
.machineDetails {
	z-index: 220;
    background: #ffffff;
    position: relative;
    border-top: solid 1px #f2f2f2;
	padding:.25rem .5rem .5rem .5rem;
}
.machineItem.hovering .machineDetails {
	border-top: solid 1px transparent;
}
footer {
  padding: 1.5rem 0 0 0;
  z-index: 20;
  position: relative;
  background:#ffffff;
  color: #444;
}
footer h2 {
	color: #555;
	margin-bottom:1rem;
	font-weight:300;
	font-size:2rem;
}
footer ul {
	list-style-type: none;
	display: block;
}
footer ul li {
	width:22%;
	padding:10px 1.5%;
	display:inline-block;
}
footer ul li img {
	width:100% !important;
	height:auto !important;
}
@media (min-width:767px){	
	footer ul {
		list-style-type: none;
		display: flex;
		align-items: center;
		flex-flow: row wrap;
	}
	footer ul li {
		flex: 1 1 0%;
		width:auto;
		padding:0;
	}
	footer ul li img {
		width:80% !important;
		height:auto !important;
	}
}
#map {
  width: 100%;
  min-height: 450px;
  display: block; }



#offCanvas {
  background: #111;
padding-top:1.1rem;}
  #offCanvas ul {
    list-style-type: none; }
    #offCanvas ul li {
      display: block; }
      #offCanvas ul li a {
        display: block;
        padding: 0.25rem 0.75rem;
        text-shadow: 2px 2px 5px #000000;
        color: #FFDD00; }
        #offCanvas ul li a:hover, #offCanvas ul li a:focus, #offCanvas ul li a:active {
          color: #e5c600; }
	.close-button {
		right: 1rem;
		top: 0;
		font-size: 2em;
		line-height: 1;
		padding: 0rem 0.25rem;
		color:#000000;		
    	outline: none;
	}

/* side bar lists etc */
.sidebar h2 {
  font-size: 1.8rem;
  text-align: left; }

.sidebar ul {
  list-style-type: none;
  margin: 1rem 0; }
  .sidebar ul li {
    margin: 0;
    padding: 0.25rem 0;
    text-align: left;
    line-height: 1.2;
    border-top: 1px solid #ccc; }
    .sidebar ul li h3, .sidebar ul li p {
      font-size: 1rem;
      margin: 0; }




/* video standard embed wrapper */
.embed-container { 
	position: relative; padding-bottom: 56.25%;
	height: 0; overflow: hidden; max-width: 100%; height: auto; 
	margin-top:0.5rem;
	margin-bottom:2rem;
}
@media screen and (min-width:768px){
	.embed-container { 
		margin-top:0rem;
	}
}
.embed-container iframe, .embed-container object, .embed-container embed { 
	position: absolute; top: 0; left: 0; width: 100%; height: 100%; 
}

/* Homepage video intro section */
.homeLead {
	padding:0;
	background:#ffffff;
}	
.homeLead h1 {
	padding-top:2rem;
}
@media screen and (min-width:1024px){
	.homeLead {
		padding:2rem 0;
	}
	.homeLead h1 {
		padding-top:0;
	}
}
/* Added flex layout */
.homeLeadFlex {
	display:block;
}
.homeLeadFlex .flexCol {
	width:100%;
	padding:0;
}
.homeLeadFlex .flexCol .textInner {
	padding:1rem;
}
@media screen and (min-width:800px){
	.homeLeadFlex {
		display:flex;
		align-items:center;
	}
	.homeLeadFlex .flexCol {
		width:50%;
		padding:1rem;
	}
	.homeLeadFlex .flexCol .textInner {
		padding:0rem;
	}
}

/* image classes */
img.small-image {
	display:block;
}
img.large-image {
	display:none;
}
.newsFlex {
	width:100%;
	background:#f2f2f2;
	padding-top:2rem;
}
.newsFlex.caseStudies {
	background:#ffffff;
}
.newsItems {
	display:flex;
	align-items: center;
	flex-wrap:wrap;
	max-width:100rem;
	margin:0 auto;
    justify-content: center;
}
.newsItems .newsItem {
	width:95%;
	margin:0 2.5% 2.5% 2.5%;
	position:relative;
	cursor:pointer;
}
.newsItems .newsItem img {
	width:100%;
	-webkit-transition: -webkit-transform 1.5s linear;
    transition: transform 1.5s linear;
}
.newsItems .newsItem.hovering img {
	-webkit-transform: scale(1.15);
    transform: scale(1.15);
}
.newsItems .newsItem.hovering:after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background: rgba(255,255,255,.1);
  transition: all .3s linear;
  z-index: 300;
  cursor:pointer;
}
.newsItems .newsItem .category {
	position:absolute;
	top:0;
	left:0;
	width:100%;
	background:#222222;
	color:#ffffff;
	padding:.15rem;
	font-size:0.9rem;
	text-transform:uppercase;
	z-index: 999999;
}
.newsItems .newsItem .copy {
	background:rgba(50,50,50,.75);
	position:absolute;
	bottom:0;
	left:0;
	right:0;
	color:#ffffff;
	width:100%;
	display:block;
	padding:1rem;
}
.newsItems .newsItem .copy p {
	padding:0;
	margin:0;
	line-height:1.4
}
@media screen and (min-width:800px){
	.newsItems .newsItem {
		width:30%;
		margin:0 1.5% 1.5% 1.5%;
	}
}
.newsItems .newsItem .imgWrapper {
	width:100%;
	overflow:hidden;
}

/* ADVERT STRIP */
.advertStrip {
	background:#171945;
	color:#ffffff;
	padding:2rem 0;
}
.advertStrip h2 em, .advertStrip a {
	color:#e3147e;
	font-style:normal;
}
.advertStrip h2 {
	font-size: 2rem;
    margin-bottom: 1rem;
    padding-top: .5rem;
}
@media screen and (min-width:768px){
	.advertStrip h2 {
		margin-bottom: 1rem;
		padding-top: 2.5rem;
	}
}

.advertStrip img {
	width:100%;
	max-width:125px;
	margin:0 auto;
}

/* GET IN TOUCH */
#siteContact {
	background:#6e6e70;
	padding:2rem 0;
	color:#ffffff;
	position: relative;
}
#siteContact h2 {
	color: #ffffff;
	margin-bottom:1rem;
	font-weight:300;
	font-size:2rem;
}
#siteContact p {
	font-size:1rem;
	color:#ffffff;
}
#siteContact textarea {
	min-height:10rem
}

/* Designed in Umbraco Editor */
h1{font-family: 'Montserrat', sans-serif;
font-weight: bold;
font-size: 1.2rem;
line-height:1.2;
margin-bottom:2rem;}

h2{font-family: 'Montserrat', sans-serif;
font-weight: bold;
font-size: 1.2rem;
line-height:1.2;
margin-bottom:2rem;}

h3{font-family: 'Montserrat', sans-serif;
font-weight: bold;
font-size: 1.2rem;
line-height:1.2;
margin-bottom:2rem;}

.button{font-family: 'Montserrat', sans-serif;
font-weight: bold;
font-size: 1rem;
line-height:1.2;
background:#ff00a4;
display:inline-block}
.introBlock {font-family: 'Montserrat', sans-serif;
font-size:1.25rem;
font-weight:normal;
line-height:1.2;
color:#909090;
}
@media (min-width:1024px) {
	.introBlock {
		font-size:1.8rem;
	}
}
/* VIDEO */
.sectionVideo, .sectionImage, .fixedPageBackground {
    width: 100%;
    background-size: cover;
    background-position: 50% 50%;
    height: auto;
    min-height: 100vh;
    overflow: hidden;
	position:relative;
}
.fixedPageBackground {
	position:fixed;
	top:0;
	left:0;
}
.sectionVideo.short, .sectionImage.short, .fixedPageBackground.short {
	min-height: 60vh;
}
@media (max-width:639px) {
	.sectionVideo.mobile-short, .sectionImage.-mobile-short {
			min-height: 25rem;
	}
	.sectionVideo, .sectionImage, .fixedPageBackground {
		min-height:60vh;
		background-size:cover;
	}
}
.sectionVideo video {
    width: auto;
    min-width: 100%;
    margin-top: 0%;
    margin-left: 0%;
    height: auto;
    min-height: 100%;
}
.sectionVideo .videoHeader, .sectionImage .videoHeader{
	padding: 10rem 2rem 2rem 2rem;
    max-width: 1100px;
    margin: 0 auto;
	position: absolute;
    top: 0;
    left: 0;
}
.fixedPageBackground {
}
@media (min-width:640px) {
	.sectionVideo, .sectionImage {
		min-height: 40rem;
	}
	.sectionVideo.short, .sectionImage.short {
		min-height: 25rem;
	}
	.sectionVideo .videoHeader, .sectionImage .videoHeader{
		padding: 12rem 2rem 2rem 2rem;
	}
}
.sectionVideo .videoHeader p, .sectionImage .videoHeader p{
	font-weight: 700;
    color: #ffffff;
    text-shadow: 2px 1px 0px rgba(0, 0, 0, 0.75);
    font-size: 1.75rem;
    line-height: 1.25;
	margin:0;
}
@media screen and (min-width:768px){
	.sectionVideo .videoHeader p, .sectionImage .videoHeader p {
	 font-size: 3.65rem;
	}
}
@media screen and (min-width:1024px){
	.sectionVideo .videoHeader p, .sectionImage .videoHeader p {
	 font-size: 4.65rem;
	 line-height: 1.2;
	}
}
audio, canvas, progress, video {
    display: inline-block;
    vertical-align: baseline;
}
/*Menu Trigger*/
	#siteheader button {
		margin:0;
		background:none;
		color:#fff02a;
		font-size:2rem;
		padding:0;
		width: 50px;
		position: absolute;
		top: 2.3rem;
		right: 0;
		outline:none;
	}
	
	@media screen and (max-width:600px) {
		#siteheader button {
			top: 1.775rem;
		}
	}
	.hasMenu{
		background-color:transparent;
	}

/* SIteheader*/
	#siteheader {
		position:absolute;
		top:0;
		left:0;
		width:100%;
		padding:0;
		z-index:99999;
	}
	#siteheader .row {
		margin: 0 auto;
    	padding: 1rem;
		max-width:100%;
	}
	#siteheader .columns{
		padding:1rem 0 0 0;
	}

p.headerPhone {
	font-weight:700;
	color:#ffffff;
	text-shadow: 2px 1px 0px rgba(0, 0, 0, 0.75);
    font-size: 1.65rem;
	padding: 6px 50px 0 0;
}
p.headerPhone a {
	color:#ffffff;
}
@media (max-width:600px){
	p.headerPhone span {
		display:none;	
	}
	p.headerPhone {
		padding: 0 50px 0 0;
    	margin-left: -5px;
		font-size:1.25rem;
	}
	#siteheader .row {
		padding: 1rem;
	}
}
/* SiteNav */
#siteNav {
	transform:translate(0, -600px);	
	transition: all 0.65s ease-in-out;
	position:absolute;
	top:0;
	right:0;	
    width: 100%;
	z-index: 9999;
}
#siteNav.active {
	transform:translate(0, -32px);
}
#siteheader #siteNav .row {
	padding:0;
}
#siteNav nav {
	border-top: solid 60px #888885;
    background: rgba(255,255,255,1);
	padding-bottom: 0.25rem;
    padding-top: 0.25rem;
}
#siteNav nav ul {
	list-style-type:none;
	margin:0;
	padding:0.5rem 0;
	line-height:1.4;
	text-align:right;
}
#siteNav nav ul li {
	text-align:right;
	padding:0.25rem 2rem .25rem 0;
}
#siteNav nav ul li ul {
	display:none;
	margin:0;
	padding:0;
}
#siteNav nav ul li.has-child.open-children {
	background:#f2f2f2;
}
#siteNav nav ul li.has-child.open-children ul {
	display:block;
}
#siteNav nav ul li ul li {
	text-align:right;
	padding:0 0 0 0;
}

#siteNav nav a {
	color:#222;
	font-size:0.8rem;
}
#siteNav nav a:hover {
	color:#000;
}
#menuClose {
	position: absolute;
    top: 1.75rem;
    right: 0.45rem;
    color: #fff02a;
    font-size: 2rem;
}

.row.case-studies {
	margin-bottom:2rem;
}
.row.case-studies .case-copy{
	margin-bottom:2rem;
	width:50%;
	padding:0 2.5%;
	float:left;
}
.row.case-studies .case-copy.right {
	float:right;
}
.row.case-studies img {
	width:45%;
	float:left;
}
.row.case-studies:after {
	clear:both;
	font-size:1px;
	width:1px;
	height:1px;
	display:block;
	visibility:hidden;
	content:'';
}
@media (max-width:600px){
	.row.case-studies .case-copy, .row.case-studies .case-copy.right, .row.case-studies img {
		width:95%;
		padding:0;
		float:none;
		margin:2.5%;
	}
}
section.caseStudy {
	padding:0 0 4rem 0;
}
.h1 p {
	font-size:2rem !important;
font-weight:normal;
line-height:1.2;
color:#909090;
}
section.caseStudy h2 {
	margin:2rem 0 0.25rem 0;
  	font-size: 1rem;
	font-weight:normal;
	color:#909090;
}
section.caseStudy img {
	width:100%
}

/* Filters */
.filterList ul {
	padding:0;
	margin:-1rem 0 2rem 0;
	list-style-type:none;
}
.filterList ul li {
	display: block;
    color: #101010;
    padding: 0;
    margin: 0.5rem 0;
}
.filterList ul li a {
	display: block;
    color: #101010;
}
.filterList ul li a.active {
	color: #000000;
	text-decoration:underline;
}
@media screen and (min-width:1024px){
	.filterList ul li {
	display: inline-block;
    padding: 0.25rem 1rem;
    text-align: center;
    border: solid 1px #909090;
    margin: 0 0.5rem;
	}
	.filterList ul li:first-of-type {
		border:none;
	}
	.filterList a:hover {
		color: #000000;
	}
	.filterList a.active {
		color: #ffffff;
		background:#909090;
		text-decoration:none;
	}
}

section.crumbTrail {
	padding:.5rem;
	margin-bottom:1rem;
	background:#f4f4f4;
	position:relative;
}
section.crumbTrail p {
	margin:0;
	display:inline-block;
}
section.crumbTrail .subMenu {
	margin:0;
	display: inline-block;
    position: relative;
	z-index:9999;
}
section.crumbTrail .subMenu #crumbSubMenu {
	padding:.25rem;
	color:#000000;
}
section.crumbTrail .subMenu ul {
	position: absolute;
    min-width: 200px;
	list-style-type: none;
    margin: 0 0 0 0;
    padding: 4px 8px;
    width: auto;
    height: auto;
    max-height: 0px;
    overflow: hidden;
    display: block;
    transition: all .5s linear;
    background: #F4F4F4;
    border-radius: 0 0 5px 5px
}
section.crumbTrail .subMenu ul li {
	padding:.25rem 0;
}
section.crumbTrail .subMenu ul a {
	color: #000000;
    display: block;
    font-size: .85rem;
}
section.crumbTrail .subMenu ul.open {
	max-height:500px;
}
section.crumbTrail .subMenu ul.open li:first-of-type {
	border-top:solid 1px rgba(0,0,0,.25)
}
/* Content Area */
section .contentArea {
	width:100%;
	margin:0 auto;
}
@media screen and (min-width:1400px){
	section .contentArea {
		max-width:600px
	}
}
div.contentSection .row .column {
	min-height:65vh;
	display:flex;
	align-items:center;
	text-align:left;
	flex-wrap:wrap;
}
div.contentSection .row .column div.h1, div.contentSection .row .column div.description{
	width:100%;
	flex-grow:0;
	flex-shrink:0;
}
div.contentSection .row .column div.description a {
	display:inline-block;
	background:#FFF200;
	color:#111111;
	padding:.25rem .75rem;
	border-radius:4px;
}
div.contentSection .row .column div.description{
	align-self:flex-start;
	max-width:90%;
}
@media screen and (min-width:1023px){
	div.contentSection .row .column div.description{
		max-width:50%;
	}
}
div.contentSection.white .h1, div.contentSection.white p {
	color:#ffffff;
}

section.linkBoxes {
	padding:1rem 0 0 0;
	width:100%;
	background:#dddddd;
}
.linkBoxes .homeLinkBox {
	width:100%;
	margin-bottom:1rem;
	display:block;
}
.linkBoxes .homeLinkBox a {
	width:100%;
	display:block;
	position:relative;
	overflow:hidden;
}
.linkBoxes .homeLinkBox a img {
	width:100%;
	max-width:100%;
}
.linkBoxes .homeLinkBox a span {
	width:100%;
	color:#ffffff;
	background:#000000;
	position:absolute;
	left:0;
	bottom:0;
	padding:.5rem;
}
.homeCaseStudies {
	padding-top:1rem;
}
.homeCaseStudies .innerContent {
	padding:.5rem 2rem;
}
.homeCaseStudies .caseStudyLinks {
	list-style-type:none;
	margin:.5rem 0 1rem 0;
}
.homeCaseStudies .caseStudyLinks li {
	list-style-type:none;
	padding:.25rem 0;
}
.homeCaseStudies .caseStudyLinks li a {
	display:block;
	padding:.25rem 1rem;
	border: solid 1px #222222;
	background-color:#FFF200;
	text-decoration:none;
	color:#000000;
	transition: background-color .25s ease-out,color .25s ease-out;
}
.homeCaseStudies .caseStudyLinks li a:hover {
	background-color:#fff460
}