/* ----- Theme CSS ----- */
header, nav, section, footer {
	width: 100%;
	margin: 0px;
	padding: 0px;
	position: relative;
}
#Header, #Footer, #Credibility, #Main-Menu, .siteWidth {
	max-width: 1200px;
	min-width: 300px;
	margin: 0px auto;
	padding: 0px;
	position: relative;
}
/* Selection CSS */
#Container ::selection {
	background: var(--themeOneBg);
	color: var(--fontLight);
}
/* Scroller CSS */
#Scroller a {
	background: var(--fontLight);
	border: 2px solid var(--themeOneBg);
	color: var(--fontDark);
	border-radius: 50%;
	box-shadow: inset 0 0 5px 2px rgba(0, 0, 0, 0.1);
}
/* Scroller CSS */
#gdpCookie, #gdp_popup .cc-cp-foot-byline {
	font: 400 14px/20px var(--siteFont) !important;
}
/* ----- Header ----- */
.stickyHeader {
	position: sticky !important;
	position: -webkit-sticky !important;
	position: -moz-sticky !important;
	position: -ms-sticky !important;
	position: -o-sticky !important;
}
#Header {
	display: flex;
	justify-content: space-between;
	min-height: 160px;
	padding: 25px 0px;
	align-items: center;
}
.logo a {
	display: block;
}
.appoint ul {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: flex-end;
	align-items: center;
	gap: 20px;
}
.appoint li {
	text-transform: uppercase;
	font: 400 18px/20px var(--siteFont);
}
.appoint li a {
	display: block;
}
.appoint .bookAppoint {
	font: 500 16px/18px var(--siteFont);
	background: #d1eeec;
	padding: 18px 25px;
	border-radius: 50px;
}
.appoint li a::before {
	content: '';
	display: inline-block;
	vertical-align: text-top;
	width: 20px;
	height: 20px;
	margin-right: 10px;
}
.bookAppoint a::before {
	background: url(/new-images/book-appoint-img.png) no-repeat center center;
}
.callAppoint a::before {
	background: url(/new-images/call-appoint-img.png) no-repeat center center;
}
.header-locations {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 14px;
	margin-top: 12px;
	font: 400 18px/30px var(--siteFont);
}
.header-locations a {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	padding: 0 16px;
	text-decoration: none;
	white-space: nowrap;
}
.header-locations a:hover {
	color:var(--themeTwoBg);
}
/* ----- Locations ----- */
#Locations .siteWidth {
	background: url(/new-images/map-bg.jpg) no-repeat 0px 0px;
	min-height: 884px;
}
#Locations .siteWidth .theme-L {
	background: url(/new-images/map-l-bg.jpg) no-repeat right 0px;
}
#Locations .siteWidth .theme-R {
	background: url(/new-images/map-r-bg.jpg) no-repeat left 0px;
}
.locations-directions-width {
	width: 100%;
	margin: 0 auto;
	background: #fff;
	border-radius: 100px;
	position: absolute;
	bottom: 0;
	border: 15px solid #ededed;
	padding: 70px 0px 45px 0px;
}
.locations-directions-heading {
	text-align: center;
	margin-bottom: 60px;
}
.locations-directions-label {
	margin-bottom: 15px;
	color: #4a9d8f;
	font: 600 15px/18px var(--siteFont);
	letter-spacing: 6px;
	text-transform: uppercase;
}
.locations-directions-heading h2 {
	margin: 0;
	font: 500 50px/56px var(--headingFont);
}
.locations-directions-list {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin-bottom: 58px;
}
.locations-directions-card {
	position: relative;
	padding: 0 25px;
	text-align: center;
}
.locations-directions-card:not(:last-child)::after {
	position: absolute;
	top: 50px;
	right: 0;
	width: 1px;
	height: 138px;
	background: #dedede;
	content: "";
}
.locations-directions-pin {
	position: relative;
	display: block;
	width: 22px;
	height: 22px;
	margin: 0 auto 25px;
	border: 4px solid #85c7bc;
	border-radius: 50% 50% 50% 0;
	transform: rotate(-45deg);
	transition: transform .3s ease;
}
.locations-directions-pin::before {
	position: absolute;
	top: 4px;
	left: 4px;
	width: 6px;
	height: 6px;
	border: 2px solid #7bc4b7;
	border-radius: 50%;
	content: "";
}
.locations-directions-card:hover .locations-directions-pin {
	transform: translateY(-4px) rotate(-45deg);
}
.locations-directions-card h3 {
	margin: 0 0 20px;
	font: 600 30px/34px var(--headingFont);
}
.locations-directions-card p {
	margin: 0 0 20px;
	color: #252525;
	font: 400 16px/25px var(--siteFont);
}
.locations-directions-link {
	display: inline-block;
	padding-bottom: 2px;
	border-bottom: 1px solid #4a9d8f;
	color: #4a9d8f;
	font: 600 16px/20px var(--siteFont);
	text-transform: uppercase;
	cursor: pointer;
	transition: color .3s ease, border-color .3s ease;
}
.locations-directions-link:hover {
	color: #003b39;
	border-color: #003b39;
}
.locations-directions-footer {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	align-items: center;
	gap: 20px;
	min-height: 110px;
	padding-top: 35px;
	border-top: 1px solid #ddd;
	max-width: 1030px;
	margin: 0px auto;
}
.locations-directions-contact, .locations-directions-hours {
	display: flex;
	align-items: center;
	gap: 10px;
	font: 600 18px/22px var(--siteFont);
	white-space: nowrap;
}
.locations-directions-book {
	text-align: center;
}
.locations-directions-book a {
	min-width: 267px;
	padding: 19px 30px;
	border: 0;
	border-radius: 40px;
	background: #003434;
	color: #fff;
	font: 500 15px/18px var(--siteFont);
	letter-spacing: 1px;
	text-transform: uppercase;
	cursor: pointer;
	transition: background .3s ease, transform .3s ease;
}
.locations-directions-book a:hover {
	background: #6caca1;
	transform: translateY(-2px);
}
.locations-directions-hours {
	justify-content: flex-end;
}
.locations-directions-clock {
	position: relative;
	display: inline-flex;
	flex: 0 0 23px;
	width: 23px;
	height: 26px;
	align-items: center;
	justify-content: center;
}
.locations-directions-clock::before {
	position: absolute;
	width: 23px;
	height: 26px;
	content: "";
	background: url(/new-images/hours-icon.png) no-repeat 0px 0px;
}
/* ----- Credibility ----- */
#Credibility {
	padding: 62px 0px 62px 0px;
	text-align: center;
}
/*.creds ul {
	display: flex;
	justify-content: space-between;
	gap: 20px;
	align-items: center;
}*/
/* ----- Footer ----- */
footer {
	background: var(--themeOneBg);
}
#Footer {
	padding: 40px 0px;
	text-align: center;
}
.socLogo {
	padding: 10px 0px;
}
.socLogo ul {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: center;
	gap: 5px;
}
.socLogo li {
	width: 40px;
	height: 40px;
	font: 400 16px/40px var(--siteFont);
}
.socLogo li a {
	width: 100%;
	height: 100%;
	display: block;
	border-radius: 10px;
	color: var(--fontLight);
}
.socLogo li a:hover {
	background: var(--themeTwoBg);
}
.socLogo li a::before {
	font-size: 30px;
}
.socLogo li.twitter a::before {
	content: '';
	background: url(/new-images/twitter-logo.png) no-repeat center center;
	display: block;
	height: 100%;
	background-size: auto;
}
.socLogo li span {
	display: none;
}
.footLinks {
	text-align: center;
	padding: 10px 0px;
}
.footLinks ul {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	flex-direction: row;
	gap: 10px;
}
.footLinks li {
	font: 400 14px/20px var(--siteFont);
	position: relative;
	text-transform: uppercase;
	letter-spacing: 0.7px;
}
.footLinks li:not(:last-child)::after {
	content: '';
	width: 1px;
	height: 10px;
	background: #fff;
	position: absolute;
	z-index: 0;
	right: -5px;
	top: 50%;
	transform: translateY(-50%);
}
.footLinks a {
	display: flex;
	align-items: center;
	flex-direction: row;
	flex-wrap: nowrap;
	gap: 5px;
	padding: 10px 3px;
	color: var(--fontLight);
}
.footLinks a:hover {
	color: #85c7bc;
}
.copyright {
	padding: 20px 0px;
}
.copyright h2 {
	font: 400 14px/26px var(--siteFont);
	color: #fff;
	text-transform: uppercase;
	letter-spacing: 0.9px;
}
.ypoLogo {
	padding: 10px 0px;
}
.ypoLogo a {
	display: block;
}
.footerBtm {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin: 40px 0px 20px 0px;
}
.footer-appoint a {
	min-width: 267px;
	padding: 19px 30px;
	border: 0;
	border-radius: 40px;
	background: #85c7bc;
	color: #000000;
	font: 500 15px/18px var(--siteFont);
	letter-spacing: 1px;
	text-transform: uppercase;
	cursor: pointer;
	transition: background .3s ease, transform .3s ease;
}
.footer-appoint a:hover {
	color: #fff;
	background: var(--themeThreeBg);
}
.footer-cross-links ul li {
	display: inline-block;
	padding: 0px 5px;
	color: var(--themeTwoBg);
	text-transform: uppercase;
	font-size: 14px;
	font-weight: 500;
	position: relative;
}
.footer-cross-links ul li a:hover {
	color: var(--fontLight);
}
.footer-cross-links li:not(:last-child)::after {
	content: '';
	width: 1px;
	height: 10px;
	background: #fff;
	position: absolute;
	z-index: 0;
	right: -5px;
	top: 50%;
	transform: translateY(-50%);
}
.footer-btm-links {
	padding: 20px 0px 0px 0px;
	color: #fff;
	font: 400 14px/20px var(--siteFont);
	position: relative;
	text-transform: uppercase;
	letter-spacing: 0.7px;
}
 @media screen and (max-width: 1190px) {
#Header {
	padding: 20px 20px;
}
#Credibility {
	padding: 62px 20px 62px 20px;
}
.locations-directions-width {
	width: 96%;
	left: 20px;
	right: 20px;
	margin: auto;
}
.locations-directions-footer {
	padding: 35px 20px 0px 20px;
}
.locations-directions-book {
	min-width: 300px;
}
.locations-directions-contact, .locations-directions-hours {
	font: 600 16px/22px var(--siteFont);
}
}
@media screen and (max-width: 900px) {
.locations-directions-book {
	padding: 20px 0px;
}
.locations-directions-footer {
	grid-template-columns: auto;
	padding: 30px 0px 0px 0px;
}
.locations-directions-contact, .locations-directions-hours {
	display: inline-block;
	text-align: center;
}
.locations-directions-width {
	padding: 40px 0px 40px 0px;
}
}
@media screen and (max-width: 767px) {
#Header {
	flex-direction: column;
}
.appoint {
	margin: 10px 0px 0px 0px;
}
#Footer {
	padding: 40px 20px;
}
.footerBtm {
	margin: 10px 0px 20px 0px;
	flex-direction: column;
	gap: 30px;
}
}
 @media screen and (max-width: 640px) {
header {
	position: relative;
}
.footLinks a {
	padding: 5px 10px;
}
#gdpCookie, #gdp_popup .cc-cp-foot-byline {
	font: 400 12px/20px var(--siteFont) !important;
}
.cookie-main {
	padding: 5px !important;
	line-height: unset !important;
	margin: 0px !important;
}
.cookie-main p {
	padding: 0px 0px 5px 0px !important;
	margin: 0px !important;
}
.cookie-main li.cookie-button a {
	margin: 0px !important;
}
.cookie-main li.cookie-content {
	margin: 0px !important;
}
}
 @media screen and (max-width: 639px) {
.locations-directions-list {
	display: block;
	grid-template-columns: auto;
	margin-bottom: 0px;
}
.locations-directions-card {
	margin-bottom: 30px;
}
.locations-directions-heading h2 {
	font: 500 36px/43px var(--headingFont);
}
.locations-directions-width {
	position: static;
}
#Locations .siteWidth {
	padding: 50px 0px 0px 0px;
}
}
@media screen and (max-width:550px) {
.appoint ul {
	flex-direction: column;
}
}
@media screen and (max-width:500px) {
	.header-locations {
	gap: 0px;
	font: 400 15px/30px var(--siteFont);
}
.header-locations a {
	padding: 0 6px;
}
}
