@import url('https://fonts.googleapis.com/css2?family=Inter:wght@200;300;400;700&display=swap');
@charset "utf-8";
html, body {margin:0; padding:0; height:100%; width:100%; font-family:'Inter', sans-serif; font-size:18px; scroll-behavior:smooth;}

h1 {margin-bottom:25px; text-align:center; font-size:54px;}
h2 {margin-bottom:15px; text-align:center; font-size:28px;}
h3 {margin-bottom:30px; text-align:left; font-size:30px;}
h4 {margin-bottom:30px; text-align:left; font-size:21px;}
h5 {margin-bottom:30px; text-align:center; font-size:30px;}
h6 {margin:20px 0; text-align:center; font-size:24px; color:#873e55; font-weight:700;}

* {margin:0; padding:0;}

a {text-decoration:none; -webkit-transition: all .3s ease;-moz-transition: all .3s ease;-o-transition: all .3s ease;-ms-transition: all .3s ease;transition: all .3s ease;}
a:hover {color:#2f4f4f;}
[id] {scroll-margin-top:120px;}
p {margin-bottom:15px; padding:0; text-align:left; line-height:1.6;}
p.caption {margin-bottom:25px; text-align:center; font-size:13px; font-style:italic;}
img {width:auto; max-width:100%; height:auto;}

.container {position:relative; margin-top:100vh; z-index:10;}

.banner {display:flex; position:fixed; top:0; bottom:0; align-items:center; align-content:center; justify-content:center; width:100%; height:100%; background-position:center; background-repeat:no-repeat; background-size:cover; z-index:1;}
.banner-text {display:inline-block; margin-top:15%; width:auto; max-width:900px; padding:40px 60px; background:rgba(17,32,38,0.25);}
.banner-text p {margin-bottom:0; text-align:center; font-size:27px; font-weight:500; line-height:1.2;}
.banner-text p:first-child {margin-bottom:10px; font-size:54px; font-weight:700;}
.banner-text a {display:block; width:160px; height:120px; margin:40px auto 0 auto; padding:60px 20px 20px 20px; text-align:center; font-family:'Open Sans', sans-serif; color:#fff; font-size:27px; font-weight:600; line-height:1.5; background-color:var(--light-blue); border:4px solid #fff; border-radius:50%;} 
.ph-banner-text a {display:block; width:120px; height:100px; margin:30px auto 0 auto; padding:40px 20px 20px 20px; text-align:center; font-family:'Open Sans', sans-serif; color:#fff; font-size:27px; font-weight:600; line-height:1.5; background-color:var(--light-blue); border:4px solid #fff; border-radius:50%;}
.banner-text a:hover, 
.ph-banner-text a:hover {color:#fff;background-color:var(--purple);}
.ph-banner {display:none;}

header {display:block; position:fixed; top:0; left:0; width:100%; max-height:140px; padding:10px 0 5px 0; z-index:100;}
.head-content {display:flex; width:90%; margin:0 auto; align-content:center; align-items:center; justify-content:space-between;}
.logo {}
.logo img {max-width:240px; max-height:100px;}

.phtop, .phbanner-home, .phcaption {display:none;}

.navicon {display:block; padding-left:20px; font-size:48px; cursor:pointer; font-weight:400;}

.sidenav {
    height: 100vh;
    width: 0;
    position: fixed;
    top: 0;
    left: 0;
	background-size:cover;
    overflow-x: hidden;
    transition: 0.95s;
    padding-top: 40px;
	z-index:1000;
}
ul.menu {display:block; margin:15px auto; padding-bottom:100px; width:96%; list-style:none; font-size:21px; font-weight:500; letter-spacing:0.05em;}
ul.menu li {margin-bottom:5px; text-align:center; text-transform:uppercase;}
ul.menu li a {display:block; width:70%; margin:0 auto; padding:20px 0;}

.sidenav a {outline:none; border:none;}

.closer {display:block; margin:-10px auto 40px auto; padding-bottom:5px; width:90%; cursor:pointer; overflow:hidden;}
.closer .closebtn {position: relative; float:right; margin-top:-10px; padding-right:5px; padding-bottom:25px; height:47px; font-size:64px; font-weight:400;}

.row {width:100%; padding:90px 0;}
.anchor {padding-top: 100px; margin-top: -100px;}

.row-main {display:flex; width:100%; /*margin-top:-55px;*/ padding:10px 0; align-items:stretch; align-content:center; justify-content:center;}
.main-left {display:flex; width:50%; padding:90px 0; flex-direction:column; align-items:center; align-content:center; justify-content:center;}
.main-left > div {display:inline-block; margin-left:5%; width:60%;}
.main-left h5 {font-size:16px;}
.main-right {display:flex; width:50%; padding:80px 0; align-items:center; align-content:center; justify-content:center;}
.main-right > div {display:inline-block; margin-right:10%; width:60%;}
.main-right p {font-size:20px; margin-bottom:0; line-height:1.8;}
.main-right ul {list-style:none;}
.main-right ul li::before {content: '✔'; display:inline-block; width:1.5em; margin-left: -1.5em; font-size:20px;}
.main-right ul li {margin-bottom:20px; padding-left:30px; font-size:20px; line-height:1.5;}

.content {display:flex; width:1200px; margin:0 auto; align-items:stretch; align-content:center; justify-content:space-between;}
.content > div {width:47%; align-self:center;}
.content > div p {margin-bottom:30px;}
.content > div img {display:block; margin:0 auto 10px auto;}

.content-block {display:block; width:1100px; margin:0 auto;}

ul.check, ul.circle, ul.arrow, ul.endash, ul.point, ul.cross {margin:40px 0; padding-left:30px; list-style:none;}

ul.check li::before {content: '✔'; display:inline-block; width:1.5em; margin-left: -1.5em; font-size:18px;}
ul.circle li::before {content: '•'; display:inline-block; width:1.5em; margin-left: -1.5em; font-size:18px;}
ul.arrow li::before {content: '→'; display:inline-block; width:1.5em; margin-left: -1.5em; font-size:18px;}
ul.endash li::before {content: '–'; display:inline-block; width:1.5em; margin-left: -1.5em; font-size:18px;}
ul.point li::before {content: '›'; display:inline-block; width:1.5em; margin-left: -1.5em; font-size:18px;}
ul.cross li::before {content: 'X'; display:inline-block; width:1.5em; margin-left: -1.5em; font-size:18px;}

ul.check li, ul.circle li, ul.arrow li, ul.endash li, ul.point li, ul.cross li {padding-left:30px; margin-bottom:15px; text-align:left; line-height:1.3;}

a.morelink {display:block; width:298px; margin:15px auto; padding:20px 10px; text-align:center;}

.vidContainer {
	margin:5px auto 25px auto;
	width:auto; max-width:100%;
	height:auto;
}

.videoWrapper {
	position: relative;
	padding-bottom: 56.25%; /* 16:9 */
	height: 0; line-height:0;
}
.videoWrapper iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.testi {display:flex; margin:20px 15px 0 15px; padding:20px; width:70%; flex-direction:column; align-items:center; align-content:center; background-color:#fff; border-radius:15px;}
.testi img {margin:0 auto 20px auto; width:100px; height:auto;}
.testi p {padding:0 50px; text-align:center; color:#3e7387; font-size:21px; font-weight:300; font-style:italic; line-height:1.75;}
.testi p.name {margin-top:30px; color:#873e55; font-size:16px; font-weight:600; font-style:normal; line-height:1;}
.testi-quote {padding:0 5px; font-size:24px; color:#e3ebed;}
.slider {display:block; margin:0 auto; width:auto; max-width:980px;}
.slider ul {margin:30px auto 0 auto; padding:0; list-style-type:none;}
.slider ul li {display:inline-block; margin:0 10px; padding:0; text-align:center;}

.review-link {display:flex; max-width:540px; margin:90px auto 0 auto; align-items:center; align-content:center; justify-content:space-around; flex-wrap:wrap; gap:40px;}
.review-link a {display:inline-block; width:160px; padding:15px; text-align:center; color:#fff; font-size:14px; font-weight:600; background-color:#3e7387;}
.review-link a:hover {color:#fff;background-color:#873e55;}

.booking-btn {position:fixed; right:0; top:50vh; margin:0; padding:10px 10px 10px 0; width:30px; border-top-left-radius:9px; border-bottom-left-radius:9px; cursor:pointer; z-index:1000; opacity:0.7; -webkit-transition: all .35s ease; -moz-transition: all .35s ease; transition: all .35s ease;}
.booking-btn:hover {width:60px; opacity:1;}
.booking-btn p {margin:0; padding:5px 0 0 10px; text-align:center; color:#3e7387; font-size:15px; font-weight:600; line-height:1; writing-mode: vertical-rl; text-orientation: mixed;}


.contact {display:flex; width:1200px; margin:0 auto; align-items:flex-start; align-content:flex-start; justify-content:space-between;}
.contact > div {width:47%;}
.contact > div p {margin-bottom:30px; font-size:21px;}
.contact-social {display:flex; width:80%; margin:0 auto; padding:20px 0 30px 0; /*align-items:flex-start; align-content:flex-start;*/ justify-content:space-around; /*gap:15px;*/}
.contact-social a:hover {opacity:0.75;}
.contact-social img {width:auto; max-width:40px; height:auto; padding:5px; border-radius:50%;}

.enquiry a {display:block; width:200px; height:160px; margin:60px auto 0 auto; padding:60px 20px 20px 20px; text-align:center; font-family:'Open Sans', sans-serif; color:#fff; font-size:32px; font-weight:600; line-height:1.3; background-color:var(--dark-green); border:4px solid #fff; border-radius:50%; box-shadow:0 10px 20px #000;}
.enquiry a:hover {color:white; background-color:var(--purple);}

.notices-container {position:relative; margin-top:130px; z-index:10;}
.notice-content {display:block; margin:0 auto; width:1000px;}
.notice-content h2 {margin-bottom:30px;}

address {font-size:18px; font-style:normal; text-align:center;}
address p {text-align:center;}


.btn {display:block; width:200px; margin:30px auto 0 auto; padding:20px 0 19px 0;text-align:center; font-family:'Roboto', sans-serif; font-size:16px;font-weight:400; letter-spacing:0.1em;}
.btn:hover{background-color:#e40000;}


.map {width:100%; height:0; padding-bottom:30%;position:relative; overflow:hidden;}
.map iframe, .overlay{
    left:0;
    top:0;
    height:100%;
    width:100%;
    position:absolute;
}
.overlay {z-index:10;}

footer {display:block; width:100%; padding:60px 0; background-repeat:repeat;}
.foot-content {display:flex; width:96%; margin:0 auto; align-items:center; align-content:center; justify-content:space-around;}
.foot-locations {width:30%;}
.foot-locations ul {margin-bottom:60px; display:flex; flex-wrap:wrap; align-items:flex-start; list-style:none; gap:15px;}
.foot-locations ul li {display:block; width:40%; text-align:left; font-size:14px;}
.foot-locations ul li a {color:#fff;}
.foot-locations ul li a:hover {color:var(--purple);}
.foot-contact {display:flex; flex-direction:column; align-items:center; align-content:center; gap:40px;}
.social {display:flex; align-items:center; align-content:center; justify-content:space-between; gap:40px;}
.social a:hover {opacity:0.75;}
.phone img {display:inline-block; margin-bottom:-5px; padding:0 15px;}
.phone a {display:block; width:280px; margin:10px auto; padding:15px 25px 15px 10px; text-align:center; font-size:24px; font-weight:700; letter-spacing:0.08em;}
.phone p {display: inline-block; text-align: center; margin: 0; padding: 0; line-height: 1;}
.foot-logo {display:flex; align-items:center; align-content:center; justify-content:space-between; gap:40px;}
.foot-logo img {width:auto; max-width:160px; height:auto;}
.notices a {display:inline-block; padding:5px; margin:15px; text-align:center; font-size:13px; font-weight:300;}
.notices p {text-align:center; font-size:13px;}


@media screen and (max-width:1239px) {

.main-left {padding:60px 0;}
.main-left > div {margin-left:5%; width:85%;}
.main-right {padding:60px 0;}
.main-right > div {margin-right:5%; width:85%;}
.content, .contact {width:95%;}
.content-block {width:90%;}
}

@media screen and (max-width:1023px) {
html, body {font-size:16px;}
p {margin-bottom:12px; line-height:1.5;}

ul.menu {width:94%; font-size:18px;}
ul.menu li a {width:100%;}

.row-main {margin-top:-55px; padding:10px 0; flex-direction:column;}
.main-left {width:100%;}
.main-left > div {display:inline-block; margin:0 auto; width:90%;}
.main-right {width:90%;}
.main-right > div {margin:0 auto; width:90%;}
/*.main-right p {font-size:20px; margin-bottom:0; line-height:1.8;}*/

.content, .contact {width:90%; flex-direction:column;}
.content > div, .contact > div {width:100%;}
.contact-social {margin-bottom:40px;}

ul.check li, ul.circle li, ul.arrow li, ul.endash li, ul.point li, ul.cross li {margin-bottom:12px;}

.form-box {flex:none; display:block; margin:0 auto; width:98%;}

.map {padding-bottom:40%;}

.notice-content {width:94%;}

.testi p {padding:0 20px; line-height:1.7;}

.booking-btn {display:none;}

.foot-content {display:flex; width:80%; margin:0 auto; flex-direction:column;}
.foot-locations {width:auto;}
.foot-locations ul {margin:0 auto 75px auto; justify-content:flex-start; gap:10px 15px;}
/*.foot-locations ul li {text-align:center; flex-shrink:1; background-color:grey}*/
}

@media screen and (max-width:900px) {
.banner-text p {font-size:28px;}
.banner-text p:first-child {font-size:56px;}
}

@media screen and (max-width:768px) {
	
.banner-text p {font-size:21px;}
.banner-text p:first-child {font-size:42px;}

.thanks {width:100%; padding:40px 0;}
.thanks-content {width:90%; margin:30px auto; padding:2%;}
.thanks p {font-size:18px;}
.row {padding:50px 0;}
.map {padding-bottom:50%;}

.testi p {padding:0 15px; font-size:16px; line-height:1.6;}
.testi p.name {margin-top:25px; font-size:15px;}
.testi-quote {padding:0 5px; font-size:24px; color:#e3ebed;}
}
@media screen and (max-width:600px) {
.foot-locations ul li {min-width:auto; text-align:center;}
}

@media screen and (max-width:539px) {
.review-link {margin:0 auto;}
.foot-locations ul {justify-content:center; gap:15px 30px;}
.foot-locations ul li {text-align:center;}
}

@media screen and (max-width:480px) {

	h1 {margin-bottom:15px; text-align:center; font-size:32px;}
	h2 {margin-bottom:15px; text-align:center; font-size:20px;}
	h3 {margin-bottom:24px; text-align:left; font-size:21px;}
	h4 {margin-bottom:20px; text-align:left; font-size:18px;}
	h5 {padding:25px 0; font-size:21px;}

.logo img {max-width:140px; max-height:80px;}
.navicon {font-size:40px;}

.banner {display:none;}

.ph-banner {display:flex; position:fixed; top:0; bottom:0; align-items:center; align-content:center; justify-content:center; width:100%; height:100%; background-position:center; background-repeat:no-repeat; background-size:cover; z-index:1;}
.ph-banner-text {display:inline-block; width:auto; max-width:92%; padding:90px 2% 60px 2%; background:rgba(0,0,0,0.15);}
.ph-banner-text p {margin-bottom:0; text-align:center; font-size:16px; font-weight:500; line-height:1.4;}
.ph-banner-text p:first-child {margin-bottom:20px; font-size:30px; font-weight:700;}

.logo img {max-width:200px; max-height:160px;}
.map {padding-bottom:60%;}
.phone a {width:240px; padding:10px 15px 15px 5px; font-size:18px;}

.phone img {margin-bottom:-8px;}
.phpic {display:none;}
.mail a {padding:15px 10px; font-size:16px;}

.contact > div p {font-size:18px;}
.contact-social {width:100%; gap:10px;}
.contact-social img {max-width:30px;}

.slider {max-width:96%;}

.notices a {display:block; margin:10px auto 30px auto;}
.g-recaptcha {margin:0 auto; transform:scale(0.9);-webkit-transform:scale(0.9);transform-origin:0 0;-webkit-transform-origin:0 0;}
}

@media screen and (max-width:360px) {
.slider {max-width:94%;}
a.morelink {width:270px; padding:20px 5px;}
.map {padding-bottom:70%;}
.foot-logo {flex-direction:column;}
}
