body {margin: 0; font-size: 16px; background: #ffffff; font-family: 'Roboto Slab', serif; font-weight: 400; font-style: normal;}
input[type=text], select, textarea, button {font-family: 'Roboto Slab', serif; }
a {color: inherit; text-decoration: underline; word-wrap: break-word;}
select::-ms-expand {
    display: none;
}
.container {position: relative; width: 100%; max-width: 1000px; 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 {min-height: calc(100vh - 235px); }
@media screen and (max-width: 600px) {
	.container {padding: 0 20px; }
	.pb::before {margin-bottom: 20px; }
	.pa::after {margin-top: 20px; }
}

.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.9em; }

header {position: relative; height: 85px;  background: #ffffff; }

a.navButton {position: absolute; top: 0; right: 0; padding: 20px 40px; z-index: 12 }
a.navButton b {position: relative; display: block; width: 30px; height: 23px; }
a.navButton b i {position: absolute; left: 0; width: 100%; height: 3px; border-radius: 2px; transition: all 0.3s; background: var(--blue); }
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: var(--blue); }
a.navButton.open { position: fixed; }
a.navButton.open span { background: black; outline: none; }
a.navButton.open b i {background: var(--blue);}
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: #ccc; 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: 22px; color: #fff; padding: 15px 0; line-height: 0; width: 30px; vertical-align: middle; text-align:center; background: #222; border-radius: 3px; text-decoration: none; margin: 0 5px; transition: all 0.2s;}
.nav > div > div .socials a:hover {transform:scale(1.1); background: #111;}
.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: 20px 12px;}
	.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: #000; color: #fff; text-align:center; border: none; outline: none; text-decoration: none; font-weight: 700; cursor: pointer; }
.formContainer.waiting .buttonContainer button:after { border: 4px solid rgba(0,0,0,0.5); border-top: 4px solid #000;  }

.faqs {text-align: left; margin: 20px auto; max-width: 600px; }
.faqs .faq {margin: 10px 0; }
.faqs .faq > a {display:block; position: relative; background: #ffc20e ; border-radius: 3px;  padding: 30px 20px; color: #212121; text-decoration: none; font-weight: 700; }
.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: #f4f6f8; 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: #333; min-height: 150px; color: #fff; }
footer .legal {opacity: .85; font-size: 14px;}
footer ul {padding: 0; margin: 15px auto; text-align: center; margin-top: 0;}
footer ul li {list-style: none; margin: 0; padding: 0; display: inline-block; margin: 10px;}
footer ul li a{text-decoration: none; transition: all .3s; font-weight: 600; font-size: 18px;}
footer ul li a:hover {color: white;}

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;}

.cookie {display:none; }
.cookie.active {position: fixed; z-index: 10; display: block; overflow: hidden; bottom: 0; right: 0; width: 100%; height:100%; background: rgb(0 0 0 / 40%)}
.cookie.active .cookieInner {position: absolute; right: 0; bottom: 100%; width: 100%; background: #333; pointer-events: all; color: #fff; 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: #fff; }
.cookie.active .cookieInner a.cookieCta {display: inline-block; position: relative; font-size: 17px; padding: 10px 20px; border-radius: 0; margin-top: 10px; background: transparent; border: 2px solid #fff; color: #fff; text-align: center; outline: none; text-decoration: none; font-weight: 700; cursor: pointer;margin-left: 10px; cursor: pointer;}

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

#modal.cookies .inner {max-width: 900px;}
#modal.cookies .inner .formContainer{max-width: 100%;}
#modal.cookies .inner .formContainer label{font-size: 16px; margin-left: 10px; margin-top: -2px; padding-right: 15px;}


.formContainer .field.switch .checkboxContainer > a {width: 34px; height: 20px; border-radius: 10px; transition: all 0.2s; background: #cb3525; border: none; outline: none; box-shadow: none; }
.formContainer .field.switch .checkboxContainer > a i {position: absolute; top: 3px; left: 3px; background: #fff;width: 16px; height: 14px; border-radius: 7px; transition: all 0.2s;}
.formContainer .field.switch .checkboxContainer.checked > a {background: #7cab29 }
.formContainer .field.switch .checkboxContainer.checked > a i {left: 16px; }

.formContainer .field.switch .checkboxContainer > a i:before {display: none;}
.formContainer .field.switch .checkboxContainer > a i:after {display: none;}

.formContainer .field.field_cookiesEssential.switch .checkboxContainer {pointer-events: none;}
.formContainer .field.field_cookiesEssential.switch .checkboxContainer > a {border-color:  #c2c3c5; background: #c2c3c5; pointer-events: none;}
.formContainer .field.field_cookiesEssential.switch .checkboxContainer > a i {background: #fff;}
#modal.cookies .inner .formContainer label .concertina > div {display: flex; justify-content: space-between;}
#modal.cookies .inner .formContainer label .concertina > div > div{padding-right: 15px;}
#modal.cookies .inner .formContainer label .concertina a {pointer-events: all; white-space: nowrap; flex-grow: 0;}
#modal.cookies .inner .formContainer label .concertina .opener {position: relative; display:block; height: 0; overflow: hidden; }
#modal.cookies .inner .formContainer label .concertina .opener > div {position: absolute; bottom: 0; left: 0; width: 100%;}
#modal.cookies .inner .formContainer label .concertina.open .opener {height: auto;}
#modal.cookies .inner .formContainer label .concertina.open .opener > div {position: relative;}
@media screen and (max-width: 550px) {
	#modal.cookies .inner .formContainer label .concertina > div {flex-direction: column;}
	
}

.cookies .buttons {display:flex; justify-content: space-between; margin: 40px 0;}
.cookies .buttons > button {display:block; padding: 20px 5px; min-width: 48%; min-width: calc(50% - 15px); color: #333; border: 1px solid #1c2025; text-decoration: none; text-align:center; font-weight: 700; background: white; font-family: inherit; font-size: 18px; cursor: pointer;}
.cookies .buttons > button:last-child {background: #1c2025; color: #fff;}
@media screen and (max-width: 750px) {
	.cookies .buttons {display:block; }
	.cookies .buttons > button {width: 100%; min-width: 0; margin: 5px 0; padding: 10px 5px;  }
	
}

#modal.cookies .inner {max-width: 900px;}
#modal.cookies .inner .formContainer{max-width: 100%;}
.validationChecks {display: none !important;}

.addressList ul li { text-decoration: none; list-style: none; padding-block: 8px; padding-left:8px; }
.addressList ul li:nth-child(odd) { background-color: #e2dddd; }
.addressList ul li:hover { background-color: #b0a8a8; }
.addressList ul { padding-left: 0;}
.addressList .title { font-weight: bold; }
.addressList ul li a { width: 100%; height: 100%; display: block; }
.postcodeLookupContainer .pclManualLink { max-width: 200px;}
.formContainer .focused { box-shadow: 0 0 2px 2px #999999; }
.postcodeLookupContainer .pclButton { color: #ffffff;}