@import url('https://fonts.googleapis.com/css2?family=Roboto+Mono:wght@300;400;500;700&display=swap');

body {margin: 0; font-size: 16px; background: #fff; font-family: 'Roboto Mono', monospace; font-weight: 400; font-style: normal; display: flex; flex-direction: column; min-height: 100vh;}
input[type=text], select, textarea, button {font-family: 'Roboto Mono', monospace; }
a {color: inherit; text-decoration: underline;}
select::-ms-expand {
    display: none;
}
.container {position: relative; width: 100%; max-width: 1200px; padding: 0 40px; margin: 0 auto; box-sizing: border-box;  }
.pb::before {content: ""; display:block; padding-top: 1px; margin-bottom: 30px; }
.pa::after {content: ""; display:block; padding-bottom: 1px; margin-top: 30px; }
.main {flex: 1; flex-direction: column; justify-content: center; display: flex;}
@media screen and (max-width: 600px) {
	.container {padding: 0 20px; }
	.pb::before {margin-bottom: 20px; }
	.pa::after {margin-top: 20px; }
}

.formContainer input[type="text"], .formContainer .multiUploaderContainer .thumbs,.formContainer .checkboxContainer > a {border: 1px solid #ccc;}
.formContainer .postcodeLookupContainer .pclButton, .formContainer .multiUploaderContainer a.uploadLink {background: #6ca339; color: white;}
.formContainer .focused {box-shadow: 0 0 2px 2px rgba(108, 163, 57, 0.65);}


.alignL {text-align: left;}
.alignC {text-align: center;}
.alignR {text-align: right;}
.clear {display:block; clear: both;}
.title_XL {font-size: 56px; font-weight: 700; margin: 20px 0; line-height: 1.1 }
.title_L {font-size: 41px; font-weight: 700; margin: 20px 0; line-height: 1.1 }
.title_M{font-size: 27px; font-weight: 700; margin: 20px 0; line-height: 1.1 }
.title_S {font-size: 24px; font-weight: 700; margin: 20px 0; line-height: 1.1 }
.title_XS {font-size: 20px; font-weight: 700; margin: 20px 0; line-height: 1.1 }
.largeText {font-size: 1.3em; }
.smallText {font-size: 0.8em; }

header {position: relative; height: 140px; background: url(../img/banner.jpg) no-repeat center;background-size: cover; padding: 15px 0;}
header .logo {width: 200px; height: 100%; background: url(../img/logo.png) no-repeat center;background-size: contain; display: block; margin: 0 auto;}

a.navButton {position: absolute; top: 0; right: 0; padding: 30px 40px; z-index: 12 }
a.navButton b {position: relative; display: block; width: 40px; height: 23px; }
a.navButton b i {position: absolute; left: 0; width: 100%; height: 3px; border-radius: 2px; transition: all 0.3s; background: #333; }
a.navButton b i:nth-child(1) {top: 0; }
a.navButton b i:nth-child(2) {top: 10px; }
a.navButton b i:nth-child(3) {top: 10px; }
a.navButton b i:nth-child(4) {bottom: 0; }
a.navButton:hover b i { background: #fff; }
a.navButton.open { position: fixed; }
a.navButton.open span { background: black; outline: none; }
a.navButton.open b i {background: black;}
a.navButton.open b i:nth-child(1) { top: 50%; width: 0; left: 50%; }
a.navButton.open b i:nth-child(2) { -webkit-transform: rotate(45deg); transform: rotate(45deg); }
a.navButton.open b i:nth-child(3) { -webkit-transform: rotate(-45deg); transform: rotate(-45deg); }
a.navButton.open b i:nth-child(4) { bottom: 50%; width: 0; left: 50%; }

.nav {position: fixed; display: block; top: 0; height: 100%; width: 100%; z-index: 10; pointer-events: none; background: rgba(0,0,0,0); transition: all 0.3s;}
.nav > div {position: absolute; top: 0; right: 0; width: 0; height: 100%; overflow: hidden; transition: all 0.3s; }			
.nav > div > div {position: absolute; left: 0; top: 0; width: 300px; height: 100%; padding-top: 90px; background: #6ca539; box-sizing: border-box;  }
.nav > div > div .navContainer {position: absolute; top: 0; bottom: 55px; left: 0; width: 100%; overflow: auto; padding-top: 85px;  }
.nav > div > div .navContainer ul {padding: 0; margin: 0; width: 100%; list-style: none;border-bottom: 1px solid rgba(0,0,0,0.1);}
.nav > div > div .navContainer ul li {position: relative; padding: 0; margin: 0; border-top: 1px solid rgba(0,0,0,0.1);}
.nav > div > div .navContainer ul li a {position: relative; display: block; padding: 15px 20px; font-weight: 700; font-size: 20px; color: #212121; text-decoration: none; transition: all 0.3s; box-sizing: border-box; }
.nav > div > div .navContainer ul li a::after {content:""; position: absolute; right: 20px; top: 50%; width: 10px; height: 10px; margin-top: -5px; box-sizing: border-box; border-style: solid; border-color: #212121; border-width: 0 2px 2px 0; transform: rotate(-45deg); opacity: 0.5; transition: all 0.3s;}
.nav > div > div .navContainer ul li a:hover {padding-left: 25px; }			
.nav > div > div .navContainer ul li a:hover::after {opacity: 1;}		
.nav > div > div .socials {position: absolute; bottom: 0; left: 0; width: 100%; padding: 5px 0 20px 0; text-align: center; }
.nav > div > div .socials a {display: inline-block;  position: relative; font-size: 30px; color: #000; padding: 20px 0; line-height: 0; width: 40px; vertical-align: middle; text-align:center; border-radius: 3px; text-decoration: none; margin: 0 5px; transition: all 0.2s;}
.nav > div > div .socials a:hover {transform:scale(1.1);}
.nav > div > div .socials a.fa-facebook:before {position: absolute; bottom: 9px; right: 5px; font-size: 26px; }
.nav.open > div {width: 300px;} 
.nav.open { pointer-events: all; cursor: pointer; background: rgba(0,0,0,0.6); }
@media screen and (max-width: 600px) {
	a.navButton {padding: 25px 20px;}
	.nav > div > div .navContainer {padding-top: 70px;}
}
@media screen and (max-height: 500px) {
	.nav > div > div .navContainer ul li a {padding: 10px 20px; }
}
@media screen and (max-height: 420px) {
	.nav > div > div .navContainer ul li a {padding: 8px 20px; font-size: 18px; }
}
.banner {position: relative; padding-bottom: 23.55%; background: url("../img/banner.jpg") center no-repeat #000; background-size: cover; }
@media screen and (max-width: 1000px) {
	.banner {padding-bottom: 59.7%; background-image: url("../img/banner2.jpg");  }	
}

.buttonContainer {position: relative; margin: 20px 0;}
.buttonContainer a, .buttonContainer button {display: inline-block; position: relative;  font-size: 18px; padding: 10px 20px; min-width: 160px; background: #6ca339; color: #fff; text-align:center; border: none; outline: none; text-decoration: none; font-weight: 700; cursor: pointer; transition: all .2s ease;}
.buttonContainer a:hover, .buttonContainer button:hover {transform: translateY(-2px); box-shadow: 0px 6px 7px 0px rgb(90 90 90 / 45%);}
.formContainer.waiting .buttonContainer button:after { border: 4px solid rgba(0,0,0,0.5); border-top: 4px solid #000;  }
.formContainer .field.field_valid .validationChecks i,.formContainer .field.field_invalid .validationChecks b {display: none;}

.faqs {text-align: left; margin: 20px auto; max-width: 600px; }
.faqs .faq {margin: 10px 0; }
.faqs .faq > a {display:block; position: relative; background: #6ca339 ; border-radius: 3px;  padding: 20px 10px; color: #212121; text-decoration: none; font-weight: 700; }
.faqs .faq > a::after {content: ""; position: absolute; right: 20px; top: 50%; width: 10px; height: 10px; margin-top: -5px; box-sizing: border-box; border-style: solid; border-color: #fff; border-width: 0 2px 2px 0; transform: rotate(-45deg); opacity: 0.8;
    transition: all 0.3s;
}
.faqs .faq.open > a::after {transform: rotate(45deg);}
.faqs .faq > div {position: relative; height: 0; overflow: hidden;}
.faqs .faq > div > div {position: absolute; left: 0; bottom: 0; width: 100%; padding: 0 20px; box-sizing: border-box; background: #fff; border-radius: 4px; }
.faqs .faq > div > div:before {content: ""; display:block; padding-top: 1px; margin-bottom: 20px; }
.faqs .faq > div > div:after {content: ""; display:block; padding-bottom: 1px; margin-top: 30px; }
.faqs .faq.open > div {height: auto; }
.faqs .faq.open > div > div {position: relative;}

footer {position: relative; background: #6ca339; min-height: 150px; color: #000; font-size: 16px; }
footer .socials {margin: 20px 0;}
footer .socials a, footer .socials-flip a {position: relative; display: inline-block; vertical-align: middle; padding: 20px 0; width: 40px; border-radius: 3px; line-height: 0; color: #000; text-align: center; text-decoration: none; font-size: 30px; transition: all 0.3s;   }  
footer .socials a:hover, footer .socials-flip a:hover {transform: scale(1.1); }
footer .copyright {margin-top: 60px; font-size: 12px; color:#a7a7a7; font-family: Arial, sans-serif; }
@media screen and (max-width: 750px) {
	footer .smallTerms {max-width: 1000px; }
	footer .links {margin: 20px 0;}
	footer .links a {display:block; border-left: none; padding: 0;  }
}
@media screen and (max-width: 500px) {	
	footer .buttonContainer a {width: 100%; box-sizing: border-box;}
	footer .socials {display: flex; justify-content: space-between;}	
}

footer .flex {display: flex; justify-content: space-between;}
footer .flex .right {margin-left: 170px; display: flex; justify-content: center; align-items: center;}

footer .footer-nav ul {padding: 0;}
footer .footer-nav ul li{padding: 0; display: inline-block; }
footer .footer-nav ul li:not(:first-child){margin-left: 15px;}
footer .footer-nav ul li a{text-decoration: none; font-weight: 600; transition: all .2s ease;}
footer .footer-nav ul li a:hover {color: white;}

footer .socials-flip {display: none;}
@media screen and (max-width: 900px) {	
	footer .flex .right{display: none;}
	footer .footer-nav {text-align: center;}
	footer .footer-nav ul {margin: 0;}
	footer .footer-nav ul li {margin-bottom: 10px;}
	footer .socials-flip {display: flex; justify-content: center; align-items: center; margin: 0 auto 10px auto}	
}

table {margin: 10px 0; border: 1px solid #ccc; border-collapse: collapse}
table td, table th {padding: 5px 10px; border: 1px solid #ccc; text-align: left;}
table th {font-weight: 700;}
.tableContainer {overflow-x: auto;}

.cookie {display:none; }
.cookie.active {position: fixed; z-index: 10; display: block; overflow: hidden; bottom: 0; right: 0; width: 100%; height:100%; background: rgb(199 214 95 / 35%)}
.cookie.active .cookieInner {position: absolute; right: 0; bottom: 100%; width: 100%; background: #c7d65f; pointer-events: all; color: #000; font-size: 14px;}
.cookie.active .cookieInner .bottom {margin-top: 20px;}
.cookie.active .cookieInner:before {content: ""; padding-top: 1px; margin-bottom: 15px; display: block; }
.cookie.active .cookieInner:after {content: ""; padding-bottom: 1px; margin-top: 15px; display: block; }
.cookie.active .buttonContainer {margin: 20px 0;}
.cookie.active .cookieInner a {color: #000; }
.cookie.active .cookieInner a.cookieCta {display: inline-block; position: relative; font-size: 14px; padding: 10px 15px; background: rgb(97, 162, 41); color: #fff; text-align: center; border: none; outline: none; text-decoration: none; font-weight: 700; cursor: pointer;margin-left: 10px; }


@media screen and (max-width: 450px) {
	.cookie.active .cookieInner:before {margin-bottom: 20px; }
	.cookie.active .cookieInner:after {margin-top: 20px;  }
}


@media screen and (max-width: 450px) {
	.cookie.active .cookieInner {padding: 0 20px; border-radius: 0; }
	.cookie.active .cookieInner:before {margin-bottom: 20px; }
	.cookie.active .cookieInner:after {margin-top: 20px;  }
}
	
.addressList .title{text-align: center;}
.addressList ul { margin: 20px 0; list-style: none; padding: 0; }
.addressList li { margin: 0; padding: 0; border-bottom: 1px solid rgba(0, 0, 0, 0.2); }
.addressList li a { display: block; position: relative; margin: 0; padding: 10px 20px 10px 10px; color: #000; text-decoration: none; text-align: left; transition: all .2s ease; }
.addressList li a::after { content: ""; position: absolute; right: 15px; top: 50%; width: 10px; height: 10px; margin-top: -5px; border-color: #000; border-style: solid; border-width: 0 1px 1px 0; -webkit-box-sizing: border-box; box-sizing: border-box; -webkit-transform: rotate(-45deg); transform: rotate(-45deg); -webkit-transition: all 0.2s ease; transition: all 0.2s ease; }
.addressList li a:hover { background: #6ca339; color: #000; }
.addressList li a:hover::after {right: 10px;}

.termsCustom a{display: block; text-decoration: none; border: 1px solid #ccc; margin: 15px auto; padding: 20px;}