* {background-repeat: no-repeat;background-position: center center;box-sizing: border-box;}
body { margin: 0px; margin-top: 80px; padding: 0px; width: 100%; height: auto; background-color: #ffffff; color: var(--black); font-family: "arboria", sans-serif;font-weight: normal; font-size: 100%; line-height: 1.2; text-rendering: optimizeLegibility; -webkit-font-smoothing: antialiased; }
a { color: var(--dgrey); text-decoration: none; font-weight: normal; }
ul, ol { padding: 0px; margin: 0px; }
li { list-style-type: none; vertical-align: top; }
h1, h2, h3, h4, h5, h6 { margin: 0px; font-size: 100%; font-weight: bold;  padding-bottom: 15px; max-width: 100%;}
fieldset { padding: 0px; margin: 0px; border: none; }
input, textarea, select { font-size: 90%; background: transparent; border: solid #000000 1px; padding: 5px; color: var(--black); box-sizing: border-box; font-family: "arboria", sans-serif; font-size: 105%;}
input[type=text], input[type=password]  { height: 30px; }
input[type=button], input[type=submit] { cursor: pointer; background-color: #000000; color: #ffffff; padding: 10px 20px 10px 20px; }
select { height: 30px; padding-right: 30px; background-image: none; background-repeat: no-repeat; background-position: right 10px center; }
p { padding: 0px 0px 15px 0px; margin: 0px; font-family: "arboria", sans-serif; font-size: 105%;}
table { border-spacing: 0px; }
td, th { padding: 0px; text-align: left; vertical-align: top; }
.hidden { display: none; }
.spacer { clear: both; height: 0px; }
.beachshore {/* display: none; */}
.layoutcredits {display: none;}
h1, h2 {  color: var(--green); font-size: 200%;}
h3 { color: var(--green); font-size: 130%;} 
h4 { color: var(--dgrey); font-size: 100%;}
strong {color: var(--dgreen);}
.anchor {position: absolute; top: -60px;}
.util_customhtml {display: none;}


:root
{
    --green: #79a31e;
    --dgreen: #496c23;
    --black: #282828;
    --dgrey: #3D3D3D;
    --lgrey: #F3F3F3;
    --white: #ffffff;
    --blue: #B9C0DA;
    --lblue: #bfd7ea;
}


/* Header */
.nav_linklist.logo .link1 img { height: 70px; width: auto;}

.layoutheader {position: fixed; top: 0; left: 0; width: 100%; z-index: 1000; background-color: var(--white); padding: 0 20px; height: 80px; border-bottom: 1px solid var(--dgreen);}
.layoutheader a { color: var(--green); font-size: 120%; font-weight: 700; padding: 0 15px;}
.layoutheader a:hover {color: var(--dgreen);}
.layoutheader_inner {height: 80px;display: flex;align-items: center;justify-content: space-between;}
.headermenu ul { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between;}

@media(min-width: 901px) {
    .layoutheader .toggle {display: none;} 
}

@media(max-width: 900px) {
    .layoutheader .toggle {position:absolute;top: 20px;right:30px;cursor:pointer; }
    .layoutheader .toggle i {font-size: 250%; color: var(--black);}
    .layoutheader .toggleon ul{display:block; position: absolute; top: 80px; right: 0px; width: 100%; background-color: var(--lblue); z-index: 50; text-align: center; background-color: rgba(173, 216, 230, 0.9);}
    .layoutheader .toggleon li {padding: 10px 0px 10px 20px;}
    .layoutheader .toggleon li a {color: var(--dgrey); opacity: 1 !important;}
    .layoutheader .toggleoff ul {display:none;}
}


/* Banner */
.banner { height: 600px; display: flex; align-items: center; background-size: cover; background-position: top left;}

@media(min-width: 1024px) {
    .banner {max-width: 1200px;margin: 0 auto;height: 700px;}
}

@media(max-width: 800px) {
    .banner {max-height: 500px; background-position: left top;}
}

@media(max-width: 676px) {
    .banner {max-height: 400px; background-position: left top;}
}

@media(max-width: 532px) {
    .banner {max-height: 280px; background-position: left top;}
}

@media(max-width: 375px) {
    .banner {max-height: 240px; background-position: left top;}
}

/* Welcome */
.welcome {max-width: 1200px; margin: 0 auto; padding: 50px 20px; position: relative; }
.welcome .util_textbox_inner {display: flex; justify-content: space-between; align-items: top;}
.welcome .imageright { width: 400px; height: auto; margin-left: 30px; margin-top: 23px; background-size: cover;}
.welcome .content {flex: 1; }

@media(max-width: 768px) {
    .welcome .imageright {width: 300px;}
}

@media(max-width: 675px)  {
    .welcome .util_textbox_inner {display: block;}
    .welcome .imageright {height: 300px; margin: 40px auto;}
}


@media(max-width: 375px) {
    .welcome .imageright {width: 280px;}
}

/* General info */
.icons {max-width: 1200px; margin: 0 auto; padding: 50px 20px;}
.icons .items {display: flex; justify-content: center; }
.icons .items .util_textbox {margin: 0 30px; width: 250px; border-radius: 15px; border: 5px solid var(--green)}
.icons .items .content {padding: 30px 30px 0px 30px; text-align: center; }
.icons .items .content h3 {padding: 25px 0;}
.icons .items .content > p:first-of-type { height: 0; }
.icons .items .content p {font-size: 110%;}
.icons .items .content p i { font-size: 450%; color: var(--green); text-align: center; position: relative; top: -73px; background-color: var(--white);display: inline-block; padding: 0 20px;}

@media(max-width: 816px) {
    .icons {padding-top: 0px;}
    .icons .items .util_textbox {border: 3px solid var(--green); width: 200px; margin: 0 5px;}
    .icons .items .content {padding: 10px;}
    .icons .items .content p i {font-size: 200%; top: -30px;}
}

@media(max-width: 561px)  {
    .icons .items {display: block;}
    .icons .items .util_textbox {width: 100%; margin-bottom: 30px;}
    .icons .items .content h3 {padding: 10px 0;}
}


/* NHS Services */
.services {max-width: 1200px; margin: 0 auto; padding: 20px 10px 70px 20px; border-bottom: 2px solid var(--dgreen);  position: relative;}
.services h2 {width: 100%;}
.services .util_textbox_inner {display: flex;}
.services .imageleft {width: 100%; max-width: 400px; height: auto; background-size: cover; background-position: center; margin-right: 30px; margin-top: 18px;}
.services .content {max-width: 66%; line-height: 1.7;}
.services ul li { margin-left: 3px; display: flex;}
.services ul li i {color: var(--green); font-size: 120%; padding-right: 12px; margin-top: 4px;}

@media(max-width: 816px) {
    .services .util_textbox_inner {display: block;}
    .services .imageleft { background-size: cover; height: 250px; margin: 0 auto;}
    .services .content {max-width: 100%;}
    .services .content ul {columns: 2;}
}

@media(max-width: 540px) {
    .services .content ul {columns: 1;}
}


/* Pharmacist App */
.app {max-width: 1200px; margin: 0 auto; padding: 50px 20px;  border-bottom: 2px solid var(--dgreen); }
.app .util_textbox_inner { max-width: 800px; display: flex; margin: 0 auto; width: 100%;}
.app .util_textbox_inner .content {width: 66%;}
.app .imageright {  width: 300px; background-size: contain; margin-right: 30px; margin-top: 11px; margin-left: 20px;}

@media(max-width: 604px) {
    .app .util_textbox_inner {display: block; text-align: center;}
    .app .util_textbox_inner .content {width: 100%;}
    .app .imageright {height: 200px; margin: 0 auto; margin-top: 20px;}
}

/* Travel Clinic */
.travel {max-width: 1200px; margin: 0 auto; padding: 50px 20px; border-bottom: 2px solid var(--dgreen); display: flex; justify-content: center; position: relative;}
.travel .travelimg .items {display: flex; justify-content: space-around;}

.travel .image img {max-width: 390px; height: auto; width: 98%; margin: 0 auto;  margin-bottom: 20px;}
.travel ul {columns: 2;}
.travel ul li {line-height: 1.5; }
.travel ul li i { color: var(--green); font-size: 40%; margin-right: 6px; position: relative; top: -3px; }

@media(max-width: 425px) {
    .travel ul li {display: flex; margin-left: 3px;}
    .travel ul li i {margin-top: 13px;}
}


/* Conditions treated */
.conditions {max-width: 1200px; margin: 0 auto; padding: 50px 20px; border-bottom: 2px solid var(--dgreen);  position: relative;}
.conditions .util_textbox_inner {display: flex; justify-content: space-between; flex-direction: row;}
.conditions ul {columns: 2;}
.conditions ul li {line-height: 1.5; display: flex;  margin-left: 3px;}
.conditions ul li i { color: var(--green); font-size: 40%; margin-right: 6px; margin-top: 10px;}
.conditions .imageright { max-width: 400px; width: 400px; margin-left: 30px; margin-top: 23px; margin-top: 10px; background-size: cover; background-position: left center;}


@media(max-width: 800px) {
    .conditions .util_textbox_inner {flex-direction: column;}
    .conditions .imageright  { order: -1; background-size: cover; background-position: top center; height: 200px; margin: 10px auto;}
}

@media(max-width: 455px) {
    .conditions .imageright {width: 280px;}
    .conditions .util_textbox_inner h2 {text-align: center;}
}


/* Contact Us */
.contact { max-width: 1200px; margin: 0 auto; padding: 50px 20px; position: relative; }
.contact .items {display: flex; justify-content: center;}
.contact .items h4 {display: flex;}
.contact .items h4 i {color: var(--green); padding-right: 10px; font-size: 130%; }
.contact .items h4 .fa-location-dot { margin-right: 5px;}

.contact .items .contactform {width: 70%; background-color: var(--lgrey); padding: 15px; margin-right: 20px; max-height: 640px;}
.contact .items .contactform .label {display: none;}
.contact .items .contactform .input {padding-top: 20px;}
.contact .items .contactform .input input {width: 100%;  background-color: var(--white); border: none;}
.contact .items .contactform #fb-5 {height: 150px; width: 100%;  background-color: var(--white); border: none;}
.contact .form .button {background-color: var(--green); border: none; margin-top: 10px;}

.contact .items .map {overflow: hidden; flex-shrink: 1 !important; }

@media(max-width: 844px) {
    .contact .items { flex-direction: column;}
    .contact .items .contactform { width: 100%; margin-right: 0; max-height: 670px;}
    .contact .items .map { padding-top: 30px; margin: 0 auto; }
    .contact .items .map .mapbox {width: 100%; margin: 0 auto; }
    .contact .items .map .mapbox img {width: 100%; height: auto;}
}


/* Suggestions and complaints */

.suggestions { max-width: 1200px; margin: 0 auto; padding: 0px 20px 50px 20px; position: relative; min-height: calc(100vh - 330px);}
.suggestions .banner {height: 400px; background-size: cover; background-position: top 25% center; margin-bottom: 20px;}
.suggestions a {color: var(--dgreen);}

@media(max-width: 425px) {
    .suggestions .banner {height: 200px;}
}


/* Terms */
.terms, .cookies { max-width: 800px; margin: 150px auto; padding: 0px 20px 50px 20px; position: relative; min-height: calc(100vh - 330px);}


/* Footer */
.layoutfooter {background-color: var(--lgrey); }
.footer-legal, .footer-general {background-color: var(--lgrey); color: var(--dgrey); border-top: 2px solid var(--dgrey); }
.footer-general .items {display: flex; justify-content: space-between; padding: 15px;}
.footer-general .address, .footer-general .times, .footer-general .complaints  {width: 33%; text-align: center;}
.footer-legal a {color: var(--dgreen); font-weight: bold;}
.footer-legal ul {list-style-type: none; display: flex; justify-content: space-around; padding: 15px; min-height: 50px; font-weight: bold;}
.layoutfooter .beachshore {text-align: center; background-color: var(--lgrey); color: var(--dgrey); }
.layoutfooter .beachshore ul {display: flex; justify-content: space-between; margin: 0 20px; align-items: center; padding-bottom: 10px; font-size: 90%;}
.layoutfooter .beachshore ul li { padding: 10px 0;}

@media(max-width: 600px)  {
    .layoutfooter .beachshore ul {display: block;}
}

@media(max-width: 561px)  {
    .footer-general .items {display: block;}
    .footer-general .items p { padding-bottom: 0;}
    .footer-general .items ul { padding-bottom: 20px;}
    .footer-general .address, .footer-general .times, .footer-general .complaints {width: 100%;}
    .footer-legal ul {display: block; text-align: center;}
    .footer-legal ul li {padding: 3px 0;}
}