@charset "UTF-8";
/* CSS Document */




/*////////////////BRAND ELEMENTS */
@import url('https://fonts.googleapis.com/css?family=Lato:100,100i,300,300i,400,400i,700,700i,900&display=swap');


/*////////////////COLOURS */
:root {
--darkorange:#db7c1c; /*rgb (219,124, 28) */
--darkorange80:#e29549;
--darkorange50:#edbd8d;
--darkorange20:#f8e5d2;
		
--lightorange:#f1a433; /*rgb (241,164, 51) */
--lightorange80:#f3b55c;
--lightorange50:#f7d199;
--lightorange20:#fcedd6;
	
--blue:#66afc1; /*rgb (102,175,193) */
--blue80:#85becd;
--blue50:#b2d6e0;
--blue20:#e0eff3;
	
--green:#4ead33; /*rgb (78,173,51) */
--green80:#71bd5c;
--green50:#a6d599;
--green20:#dceed6;
	
--darkgreen:#065143; /*rgb (6,81,67) */
--darkgreen80:#387469;
--darkgreen50:#82a8a1;
--darkgreen20:#cddcd9;
	
--superdarkgreen:#04342b; /*rgb (4,52,43) */
--superdarkgreen80:#365d55;
--superdarkgreen50:#819995;
--superdarkgreen20:#cdd6d5;
		
--palegrey:#F5F5F5;
--textblue:#408ca0;
--textgreen:#4ca832;

}



* {
  box-sizing: border-box;
  padding: 0;
  margin: 0;
}

body {
	font-family: 'Lato',sans-serif !important;
	font-size:14px;
	line-height:normal;
	-webkit-text-size-adjust: 100%;
  	-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
	background-color:#fff;
	font-weight:400;
}

html {
  scroll-behavior: smooth;
}
html,body{
    overflow-x: hidden;
}
h1 {
	font-size:3.2em;
	font-weight:400;
	color:var(--superdarkgreen)
}
h2{
	font-size: 2.6em;
	font-weight:400;
	padding-bottom:0.7em;
	color:var(--superdarkgreen);
}
h3{
	font-size: 2.2em;
	font-weight:400;
	color:var(--green20);
}
h4{
	/*font-size: 2em;*/
	font-size:1.4em;
	font-weight:400;
	color:var(--green);
}
h5 {
	font-size: 1.6em;
	font-weight:400;
	color:#db7c1c;
}

p {
	color:#000;
	font-size:0.9em;
	line-height:1.4em}


a {color:var(--darkorange);text-decoration:none}
a:hover {color:var(--lightorange);text-decoration:none}

a.button, .sendbutton{
  display:inline-block;
  padding:0.6em 1.8em !important;
  margin:0 0.3em 0.3em 0;
  /*border:0.1em solid var(--green80);*/
  border:0.1em solid var(--darkgreen);
  border-radius:0em;
  box-sizing:border-box;
  /*color:#fff;*/
  background-color:transparent !important;
  text-decoration:none;
  font-family: 'Lato',sans-serif !important;
  font-weight:400;
  font-size:1.1em;
  transition:all 0.2s;
  
}
.sendbutton {
	color:var(--superdarkgreen) !important;
	text-transform:uppercase;
}
a.button:hover, .sendbutton:hover{
	/*border-color:var(--darkgreen);*/
	border-color:white !important;
	color:white !important;
	background-color:rgba(6,81,67,0.8) !important;
}

.link, .linkdown {text-decoration:none;}
.link::after {
	margin-left:0.2em;
	content: "\276F";
}
.linkwhite::after {
	margin-left:0.2em;
	content: "\276F";
	color:white;
}
.linkdown::after {
	margin-left:0.2em;
	font-family:"Font Awesome 5 Free"; 
	content: "\f107";
	font-weight:900;
	color:var(--darkorange);

}
.read {font-weight:700; text-transform:uppercase}

.left {float:left}

.right {float:right}

.center {text-align:center}

.highlight{font-size:1.3em;}

.lightorange {color:var(--lightorange) !important}

.white {color:white !important}

.lightweight {font-weight:300}

.larger {font-size:1.3em}

.tiny {font-size:0.6em}

.darkorange {color:var(--darkorange); font-weight:700;}

.bordergreen {border-top:1px solid var(--superdarkgreen); margin-top:6em}


.iconholder {display: flex;  justify-content:center; align-items: center; height:100px;}
/*.iconholder img {position:absolute; top:50%; left:50%; display:block;}*/

@media (max-width:640px){
	/*body {font-size:14px}*/
	h1 {font-size:2.8em}
	h2 {font-size:2em}
	h3 {font-size:1.8em}
}

/*////////////////CONTAINER */

.container-fluid, .container-fluid-slider {

	width:90%;	
	max-width:1080px;
	margin-left:auto;
	margin-right:auto;
	padding:0;
}

@media screen and (max-width: 991px) {
	.container-fluid {
	width:90%;
	margin-left:auto;
	margin-right:auto;
	}
}

@media screen and (max-width: 991px) {
	.container-fluid-slider {
	width:100%;
	margin-left:auto;
	margin-right:auto;
	}
}
.container-fluid-wide {
	width:95%;
	max-width:1080px;
	margin-left:auto;
	margin-right:auto;
	
}

@media screen and (max-width: 768px) {
	.container-fluid-wide{
		width:80%;
	}
}



/*////////////////FLEX */

/* Container for flexboxes */
.row {
  display: flex;
  flex-wrap: wrap;
  /* override stuff coming in from grid.css*/
	margin-right:0;
	margin-left:0;
}

.footer-row {
  display: flex;
  flex-wrap: wrap;
}
.services-row, .video-row {
  display: flex;
  flex-wrap: wrap;
}


/* Create three equal columns */

.column1 {
	flex: 100%;
	padding: 8px;
}

.column2 {
  flex: 50%;
  padding:8px;
}

.column3 {
  flex: 33%;
  padding:8px;
}
.column3empty {
  flex: 33%;
  padding: 0px;
}
.col3solo {
	width:33%;
	margin-left:auto;
	margin-right:auto;
	padding:0 3%;
}
.col3solo-dbl {
	width:60%;
	margin-left:auto;
	margin-right:auto;
	padding:0;
}
/* Create four equal columns */
.column4 {
  flex: 25%;
  padding: 20px;
}
/* Create five equal columns */

.column5 {
  flex: 20%;
  /*padding: 20px;*/
	padding-right:2em;
	
}


/* On screens that are 992px wide or less, go from four columns to two columns */
@media screen and (max-width: 992px) {
  .column {
    flex: 50%;
  }

}
/* On screens that are 992px wide or less, go from four columns to two columns */
@media screen and (max-width: 992px) {
  .column5 {
    flex: 50%;
  }

}
@media screen and (max-width: 600px) {
  .row {
	  flex:50%;
  }
	.col3solo {
		width:100%;
	}
	.col3solo-dbl {
		width:100%;
	}
	.column2 {
		width:100%;
		padding:8px 0;
	}
}

/**FOR SERVICES PAGES WITH VIDEOS*/
/* On screens that are 600px wide or less, make the columns stack on top of each other instead of next to each other */
@media screen and (max-width: 640px) {
  .services-row {
    flex-direction: column;
  }
	/*.column2 {
		width:100%;
		padding:8px 0;
	}*/
}
@media screen and (max-width: 900px) {
  .video-row {
    flex-direction: column;
  }
	.column2 {
		width:100%;
		padding:8px 0;
	}
}








/*////////////////CTAs */

/*This one is used where the block needs to go over something

.cta {width:100%; height:300px; position:relative;  margin-top:-200px}*/



/* Featured blog CTA*/
.cta {width:100%; height:300px; position:relative;  margin-top:0px}


/*featured blog */
.f-blog-cta {width:100%; height: 320px; background-color:var(--darkgreen);position:absolute;bottom:0px}
/*.f-blog-cta .content{width:60%;margin-top:20px; padding:0.5em 0}*/

.f-blog-cta .content{width:80%;margin-top:20px; padding:0.5em 0}


.f-blog-cta .content h3{font-size:1.7em; color:white !important}
.f-blog-cta .content p{font-size:1.2em; color:#fff !important; font-weight:300;}

.f-blog-cta a, .f-blog-cta .category a{color:var(--lightorange)}
.f-blog-cta a:hover, .f-blog-cta .category a:hover{color:var(--darkorange)}

.f-blog-cta .date {color:#fff; font-weight:300;font-size:0.9em}
.f-blog-cta .author {color:#fff; font-weight:300;font-size:0.9em}
.f-blog-cta .category {font-weight:300;font-size:1.4em !important; margin-bottom:0}

/*@media (max-width: 1080px) {.f-blog-cta .content{width:70%;margin-top:0.5em; padding-top:1em}}

@media (max-width: 800px) {
	.f-blog-cta {height:400px}
	.f-blog-cta .content{font-size:0.9em; width:60%;margin-top:0.5em;padding-top:2.5em}
	.f-blog-cta .category {font-size:1.4em !important;}
}
@media (max-width: 640px) {
	.f-blog-cta {height:420px;}
	.f-blog-cta .content{width:60%;margin-top:0.5em;padding-top:2.5em}
}
*/

@media (max-width: 1080px) {
	.f-blog-cta .content {width:80%;margin-top:0.5em; padding-top:1em}
}

@media (max-width: 800px) {
	.f-blog-cta {height:400px}
	.f-blog-cta .content {font-size:0.9em; width:90% !important; margin-top:0.5em;padding-top:2.5em}
	.f-blog-cta .category {font-size:1.4em !important}
}
@media (max-width: 640px) {
	.f-blog-cta {height:420px}
	.f-blog-cta .content {width:100% !important; margin-top:0.5em; margin-bottom:1em; padding-top:2.5em}
}

/*no end content
.empty-cta {width:100%; height:200px; position:relative;  margin-top:0px}
.end-green {width:100%; height: 200px; background-color:var(--darkgreen);position:absolute;bottom:0px}
.end-cta {width:100%; height:100px; position:relative;  margin-top:0}*/

.empty-cta {width:100%; height:200px; position:relative;  margin-top:0px} /*UPDATED 28/9/21 */
.end-green {width:100%; height: 200px; background-color:var(--darkgreen);position:absolute;bottom:0px} /*UPDATED 28/9/21 */
.end-cta {width:100%; height:100px; position:relative;  margin-top:0}

.empty-cta-blog {width:100%; height:200px; position:relative;  margin-top:0px} /*UPDATED 28/9/21 */
.empty-cta-blog .end-green {width:100%; height: 200px; background-color:var(--darkgreen);position:absolute;bottom:0px} /*UPDATED 28/9/21 */

/*prices link*/
.prices-cta {width:100%; height: 100px; background-color:var(--darkgreen);position:absolute;bottom:0px;}
/*.tall {height:200px;padding-top:4em}*/
/*.prices-cta .content{width:90%;margin-top:0px}*/

.tall {height:auto; padding:5em 0;} /*UPDATED 28/9/21 */
.prices-cta .content{width:70%;margin-top:0px;} /*UPDATED 28/9/21 */

.prices-cta .content h3{font-size:1.7em}
.prices-cta .content p{color:#fff; font-size:1.1em}
.prices-cta a{color:var(--lightorange)}
.prices-cta a:hover {color:var(--darkorange)}
.prices-cta h3 {color:var(--green20) !important}

@media (max-width: 1080px) {.prices-cta .content{width:65%;margin-top:-2em}}
@media (max-width: 600px) {
	.prices-cta .content{width:65%;margin-top:-3em;}
	.prices-cta .content h3{font-size:1.4em; padding-top:1em}
}

/*@media (max-width: 1080px) {.prices-cta .content{width:50%;margin-top:-2em}}
@media (max-width: 600px) {.prices-cta .content{width:50%;margin-top:-3em}}*/



.newsletter-cta {
	width:0; height:0; border-bottom: 380px solid var(--lightorange); border-left: 350px solid transparent; position:absolute;bottom:0px;right:0;
}
.newblue {
	width:0; height:0; border-bottom: 380px solid var(--blue); border-left: 350px solid transparent; position:absolute;bottom:0px;right:0;
}
.newsletter-cta .content {
	margin: 130px 1em 0 -200px; 
	float:left; 
	width:200px;}

.newsletter-cta h3 {
font-size:1.9em; font-weight:400;
-webkit-transform: rotate(-48deg);
-moz-transform: rotate(-48deg);
-o-transform: rotate(-48deg);
transform: rotate(-48deg);
margin-left:-0.8em;
margin-top:0.5em;
}

.newsletter-cta h3 a {color:var(--darkgreen) !important}
.newsletter-cta h3 a:hover {color:white !important}

.newsletter-cta .arrowimg {margin:-50px 0 30px 150px}

/*.newsletter-cta p {text-align:right; width:150px; font-size:1.1em; margin:30px 000;}*/

.newsletter-cta p {text-align:right; width:150px; font-size:1.1em; margin:70px 000;}

.newsletter-cta a {text-decoration:none; color:var(--superdarkgreen);}
.newsletter-cta a:hover {color:white}

@media (max-width: 960px) {
	.newsletter-cta {
	width:0; height:0; border-bottom: 380px solid var(--lightorange); 
	border-left: 300px solid transparent; position:absolute;bottom:0px;right:0;
	}
	.newblue {
	width:0; height:0; border-bottom: 380px solid var(--blue); 
	border-left: 300px solid transparent; position:absolute;bottom:0px;right:0;
	}
	.newsletter-cta .content {
		margin: 150px 1em 0 -190px; float:left; width:190px;
	}
	.newsletter-cta h3 {
	-webkit-transform: rotate(-52deg);
	-moz-transform: rotate(-52deg);
	-o-transform: rotate(-52deg);
	transform: rotate(-52deg);
	margin-left:-0.5em;
	margin-top:0.1em;
	}
}

@media (max-width: 600px) {
	.newsletter-cta {
	width:0; height:0; border-bottom: 380px solid var(--lightorange); 
	border-left: 160px solid transparent; position:absolute;bottom:0px;right:0;
	}
	.newblue {
	width:0; height:0; border-bottom: 380px solid var(--blue); 
	border-left: 160px solid transparent; position:absolute;bottom:0px;right:0;
	}
	.newsletter-cta .content {
	margin: 150px 1em 0 -145px; float:left; width:200px;
	}
	.newsletter-cta .arrowimg {margin:0px 0 0px 110px}
	
	.newsletter-cta h3 {
	-webkit-transform: rotate(-67deg);
	-moz-transform: rotate(-67deg);
	-o-transform: rotate(-67deg);
	transform: rotate(-67deg);
	}
	/*.newsletter-cta p {text-align:right; width:100px; font-size:0.9em;margin:35px 0px 10px 25px;}*/
	.newsletter-cta p {text-align:right; width:120px; font-size:0.9em;margin:90px 0px 10px 25px;padding-right:10px}
}



/* NEW NEWSLETTER ELEMENTS */
.overlay {
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background: rgba(0, 0, 0, 0.7);
  transition: opacity 500ms;
  visibility: hidden;
  opacity: 0;
}
.overlay:target {
  visibility: visible;
  opacity: 1;
}

.popup {
  margin: 70px auto;
  padding: 2em 1em 4em 1em !important;
  border-radius: 2px;
  width: 60%; height:auto;
  position: relative;
  transition: all 5s ease-in-out;
  background-color:var(--lightorange);
}


.popup .close {
  position: absolute;
  top: 10px;
  right: 20px;
  text-align:right;	
  transition: all 200ms;
  font-size: 50px;
  font-weight: bold;
  text-decoration: none;
  color: var(--darkgreen);
}
.popup .close:hover {
  color: var(--superdarkgreen);
}
/*.popup .content {
  max-height: 30%;
  overflow: auto;
}*/
.popup a.button {
	cursor:pointer;
	color:var(--superdarkgreen);
	border:1px solid var(--superdarkgreen);
	margin:0 0 1em 0;
}
.popup a.button:hover {
	color:white;
	border:1px solid white;
}
@media screen and (max-width: 700px){
  .popup{
    width: 90%;
  }
}


.form-group input {
	position:inherit;
	opacity:1;
}

.form-control {
    width: 80%;
    height: 50px;
    border: none;
    border-radius: 0.2em;
    box-shadow: 0px 0.5px 0px 0px #dae0e5 !important;
    color: var(--superdarkgreen);
    font-size: 1em;
}

.form-control.focus {
    border: none;
    border-color: #fff;
    border-bottom: 1px solid #000;
    outline: 0;
    box-shadow: 0 0 0 0 rgba(0, 123, 255, .25)
}


.text-muted a {
        color: var(--darkgreen);
        text-decoration: underline;
		margin-bottom:2em;
}

.text-muted a:hover {
	color:white;
}
small.para {
        font-weight: 400;
        font-size: 1.1em;
        color: var(--superdarkgreen);

}

@media (min-width:599px) {
    .modal-dialog {
        max-width: 47rem
    }

    .details {
        padding: 60px 0 40px 50px
    }

}
.newsletter-thanks {
	height:400px; padding-top:8em
}




/*dividers */

 .separator-top-white {
      width: 0;
      height: 0;
      border-top: 100px solid var(--superdarkgreen);
      border-right: 100vw solid transparent;
	 z-index:9999;
 }
@media screen and (max-width:600px){
	.separator-top-white {
	  border-top: 50px solid var(--darkgreen);
      border-right: 100vw solid transparent;
	}
}
 .separator-bottom-grey {
      width: 0;
      height: 0;
      border-bottom: 100px solid var(--darkgreen);
	  border-right: 100vw solid var(--palegrey);
	 z-index:9999;
 }
 .separator-bottom-blue {
      width: 0;
      height: 0;
      border-bottom: 100px solid var(--darkgreen);
	  border-right: 100vw solid var(--blue);
	 z-index:9999;
 }
 .separator-bottom-white {
      width: 0;
      height: 0;
      border-bottom: 100px solid var(--darkgreen);
	  border-right: 100vw solid white;
	 z-index:9999;
 }

 .separator-bottom-orange{
      width: 0;
      height: 0;
      border-bottom: 100px solid var(--darkgreen);
	  border-right: 100vw solid var(--superdarkgreen);
	 z-index:9999;
 }

 