body { background: #b7bf9a; color: #000f4c; margin: 0; padding: 0; font-family: "Montserrat", Arial, Helvetica, "sans-serif"; font-size: 16px; line-height: 150%; }

.clear { clear: both; }
.hidden { display: none; }
.centered { text-align: center; }

* { font-family: "Montserrat", Arial, Helvetica, "sans-serif"; font-weight: normal; box-sizing: border-box; }
img { display: block; width: 100%; height: auto; }
a { color: #010101; text-decoration: none; cursor: pointer; }

label { display: block; padding: 1rem 0 0.5rem 0; margin: 0; font-weight: bold; }
label.normal { display: inline-block; padding: 5px 0 0 0; margin: 0 25px 0 0; font-weight: normal; }
label i { display: block; font-style: normal; color: #ccc; }
label b { color: #f00; }
input, select { display: block; width: 100%; margin: 2px 0; background: #fff8; border: 0; font-size: 16px; line-height: 22px; padding: 14px; box-shadow: 0 1px 0 0 #fff; }
textarea { display: block; width: 100%; margin: 2px 0; background: #fff8; border: 0; font-size: 16px; line-height: 22px; padding: 14px; box-shadow: 0 1px 0 0 #fff; }
input[type=checkbox], input[type=radio] { display: inline-block; width: auto; box-shadow: initial; }

a.button, button { display: inline-block; margin: 20px 0 !important; padding: 16px 20px; letter-spacing: .2em; font-weight: normal; text-transform: uppercase; font-size: 16px; line-height: 21px; background: transparent; color: rgb(64, 64, 64); border: 1px solid #808080; cursor: pointer; text-decoration: none; outline: none; }
a.button:hover, button:hover { color: #fff; box-shadow: inset 0 0 0 500px #000; }

a.logo { display: block; position: fixed; top: 2rem; left: 3rem; width: 14rem; height: 6rem; background: url("/images/adderstone-living-logo-white.png") no-repeat 0 0; background-size: contain; z-index: 101; }
a.logo strong { display: none; }
a.open.nav-trigger, nav a.close.nav-trigger { display: block; position: fixed; top: 1.5rem; right: 2rem; width: 4rem; height: 4rem; user-select: none; z-index: 99; }

nav { display: none; position: fixed; top: 0; right: 0; left: 0; width: 100vw; height: 100vh; background: #d6c1b3; background-size: cover; text-align: center; z-index: 100; overflow: auto; }
nav ul { position: absolute; top: 0; right: 0; bottom: 0; left: 0; list-style: none; margin: 0; padding: 125px 0; }
nav ul li a { display: block; color: #fff; font-size: 3rem; line-height: 6rem; }

main { position: relative; text-align: center; z-index: 1; margin: 0; padding: 0; }
main article { position: relative; margin: 0; padding: 6rem 0; }
main article.thanks { margin-top: 0; }
main article:nth-child(odd) {background: #b7bf9a; }
main article:nth-child(even) { background: #a0a783; }
main article section { position: relative; width: calc(100vw - 46rem); margin: 0 auto; padding: 4rem 0;  text-align: left; }
main article section a { color: inherit; font-weight: bold; text-decoration: underline; }
main article section fieldset { border: 1px solid #fff8; margin: 1rem 0; padding: 0 1rem 1rem 1rem; }
main article section fieldset legend { font-family: "Cy Text", Arial, Helvetica, "sans-serif"; color: inherit; padding: 0 5px; font-size: 24px; font-weight: bold; }
main article section fieldset label em { font-style: normal; font-weight: normal; color: inherit; opacity: 0.5; }
main article section fieldset label em strong { color: #f00; }
main article section ul.icons { display: flex; justify-content: space-between; gap: 2rem; flex-flow: row wrap; list-style: none; margin: 2rem 0 0 0; padding: 0; }
main article section ul.icons li { flex: 1; padding: 8rem 2rem 1rem 2rem; text-align: center; }
main article section ul.icons li:nth-of-type(1) { background: #fff url("/images/icon-house.webp") no-repeat 50% 1rem; background-size: auto 7rem; }
main article section ul.icons li:nth-of-type(2) { background: #fff url("/images/icon-handshake.webp") no-repeat 50% 1rem; background-size: auto 7rem; }
main article section ul.icons li:nth-of-type(3) { background: #fff url("/images/icon-dogwalking.webp") no-repeat 50% 1rem; background-size: auto 7rem; }
main article section .columns { display: flex; justify-content: space-between; gap: 2rem; flex-flow: row wrap; }
main article section .columns .column { flex: 1; }
main article section .columns .columns { gap: 1rem; }
main article section h1 { color: #fff; margin: 0; font-size: 3.5rem; line-height: 4rem; font-weight: bold; }
main article section h2 { color: #fff; margin: 0 0 2rem 0; font-size: 40px; line-height: 1.2em; font-weight: normal; }
main article section h3 { color: #000f4c; margin: -2rem 0 2rem 0; font-size: 2rem; line-height: 2.5rem; font-weight: normal; }
main article section p { margin: 15px 0 0 0; color: inherit; }
main article section strong { font-weight: bold; }
main article section blockquote { margin: 2rem 0 2rem -4rem; padding: 1rem 2rem 2rem 4rem; background: #808080; colour: inherit; }
main article section ul.company-logos { list-style: none; margin: 2rem 0; padding: 0; display: flex; justify-content: left; gap: 2rem; flex-flow: row wrap; }
main article section ul.company-logos li { width: calc(25% - 2rem); margin: 0 0 2rem 0; }
main article section ul.company-logos li img { height: 6rem; object-fit: contain; object-position: 0 50%; margin: 0 0 1rem 0; }
main article section .flexed { margin: 25px 0; width: 100%; display: flex; justify-content: space-between; align-items: flex-end; }
main article section .flexed .item { width: calc(50% - 25px); }
main article section .flexed .item a.image { display: inline-block; background: #f5f5f5; padding: 15px; text-align: center; }
main article section .flexed .item a.image strong { display: inline-block; padding: 15px 0 0 0; color: inherit; }
main article section .social-media { width: auto; display: flex; align-items: center; gap: 1rem; margin: 1rem 0; }
main article section .social-media .icon img { display: inline-block; width: 64px; }
main article section ul.listing { list-style: none; margin: 2rem 0 0 0; padding: 0; display: flex; flex-flow: row wrap; gap: 2rem; }
main article section ul.listing li { width: calc(50% - 2rem); padding: 1px 1rem; background: #fff3; }
main article section ul.listing li a { text-decoration: none; }
main article section ul.listing li h3, main article section ul.listing li p { margin: 1rem 0; }
main article section ul.gallery { list-style: none; margin: 50px 0 0 0; padding: 0; display: flex; flex-flow: row wrap; gap: 1rem; }
main article section ul.gallery li { width: calc(25% - 1rem); text-align: center; align-self: center; }
main article.faqs section h2 { font-size: 2rem; line-height: 2rem; margin: 2rem 0 1rem 0; }
main article.faqs section dl { margin: 0; padding: 0; }
main article.faqs section dl dt { position: relative; clear: both; cursor: pointer; user-select: none; margin: 0; padding: 0.5rem; background: #fff1 }
main article.faqs section dl dt:first-of-type { margin: 0; }
main article.faqs section dl dt a { position: relative; display: block; font-weight: normal; padding: 0.5rem 1rem; font-size: 1.5rem; line-height: 1.5rem; text-decoration: none; }
main article.faqs section dl dt a small { display: inline-block; float: right; margin-right: 30px; font-size: 13px; color: #fff; }
main article.faqs section dl dt.open a small { display: none; }
main article.faqs section dl dt a span { display: block; position: absolute; right: 1rem; top: 0.5rem; font-size: 1.5rem; font-weight: bold; height: 1.5rem; line-height: 1.5rem; color: #fff; -webkit-transform: rotate(90deg); -moz-transform: rotate(90deg); -o-transform: rotate(90deg); -ms-transform: rotate(90deg); transform: rotate(90deg); }
main article.faqs section dl dd { position: relative; margin: 0; padding: 1px 1.5rem 1rem 1.5rem; background: #fff3; }
main article.faqs section dl dd.closed { display: none; }
main article.management { padding: 50px; background: #fff; }
main article.management section { width: 100%; text-align: left; }
main article.management section h1 { margin: 0; font-family: "Cy Text", Arial, Helvetica, "sans-serif"; color: inherit; font-size: 55px; font-weight: normal; }

main footer { color: #fff; }
main footer section { padding: 5rem 0; text-align: center; line-height: 100%; }
main footer section p { margin: 0; font-size: 0.85rem; color: inherit; }
main footer section p a { color: inherit; }
main footer section .logos { width: calc(400px + 1rem); display: flex; justify-content: space-between; align-items: center; gap: 1rem; margin: 0 auto 1rem auto; }
main footer section .logos .logo { flex: 1; }
main footer section .logos .logo img { display: inline-block; width: 200px; }
main footer section .social-media { width: calc(128px + 1rem); display: flex; justify-content: space-between; align-items: center; gap: 1rem; margin: 0 auto 1rem auto; }
main footer section .social-media .icon { flex: 1; }
main footer section .social-media .icon img { display: inline-block; width: 64px; }

#cookie-bar { position: fixed; bottom: 0; left: 0; right: 0; background: #d6c1b3; font-size: 1rem; line-height: 2rem; color: rgba(255,255,255,0.75); text-align: center; padding: 10px 20px; z-index: 99; }
#cookie-bar a { color: #fff; text-decoration: none; }

.noUi-target { background: linear-gradient(-90deg, #2b2344 0%, #fff 50%, #589479 100%) !important; }

@media only screen and (max-width: 1279px) {
	main article { display: block; }
	main article section { position: relative; width: 100%; margin: 0; padding: 50px; text-align: left; }
	main article section:after { content: ""; display: table; clear: both; }
}
@media only screen and (max-width: 767px) and (orientation: portrait) {
	body { font-size: 4vw; }
	aside { display: block; position: fixed; top: 0; right: 0; left: 0; height: 145px; background: #b7bf9a; z-index: 2; }
	a.logo { top: 1.5rem; left: 1.75rem; }
	a.open.nav-trigger, nav a.close.nav-trigger { top: 0.5rem; right: 1rem; }
	nav ul { padding: 10rem 0 0 0; }
	nav ul li { margin: 0 0 10px 0; }
	nav ul li a { font-size: 10vw; line-height: 10vw; padding: 0.75rem 0; }
	main { padding: 12rem 0 0 0; }
	main article.home { padding-top: 4rem; }
	main article { padding: 2rem 0; }
	main article section { padding: 0 1.75rem; font-size: 50% !important; }
	main article section h1 { font-size: 8vw; line-height: 10vw; }
	main article section h2 { font-size: 6vw; line-height: 8vw; }
	main article section h3 { font-size: 5vw; line-height: 6vw; }
	main article section p, main article section label, main article section li, main article section table { font-size: 4vw; }
	main article section label { padding: 1rem 0 0.5rem 0; }
	main article section a { word-break: break-all; }
	main article section ul.icons li { flex: initial; width: 100%; }
	main article section ul.listing li { width: 100%; }
	main article section .columns { display: block; }
	main article section .columns .column { width: 100%; }
	main article section ul.company-logos li { width: calc(50 - 2rem); }
	main footer section { padding: 4rem 1.75rem 2rem 1.75rem; }
	main footer section p { font-size: 2.5vw; margin: 1rem 0; }
	main footer section p small { font-size: 2.5vw; }
	main footer section .logos { width: auto; display: block; justify-content: initial; align-items: initial; gap: 0; margin: 0 0 2rem 0; }
	main footer section .logos .logo { display: block; flex: initial; margin: 1rem 0; }
}