body {
	font-family: "Merriweather", Arial, Helvetica, sans-serif;
	font-weight: 300;
	font-size: 12px;
	color: #5C5C5C;
	background: white;
	overflow-x: hidden;
}

* {
	-webkit-backface-visibility: hidden;
	-moz-backface-visibility: hidden;
	-ms-backface-visibility: hidden;
	backface-visibility: hidden;
}

a { color: black; text-decoration: none; }
a:hover { text-decoration: underline; }

h1, h2, h3, h4, h5 {
	line-height: 1.2em;
	margin: 0 0 1em;
}

.container {
	max-width: 1280px;
	margin: 0 auto;
}

header {
	background: white;
	padding: 1em;
	overflow: hidden;
	border-bottom: 1px solid #F1F1F1;
}

header a.logo {
	width: 120px;
	display: block;
	margin: 0 auto 1em;
}

header a.logo img {
	display: block;
	width: 100%;
	height: auto;
}

header .contact {
	font-family: "Lato", Arial, Helvetica, sans-serif;
	font-weight: 400;
	text-align: center;
	overflow: hidden;
	line-height: 1.4em;
	color: #AAAAAA;
}

header .contact .address {
	text-transform: uppercase;
	display: block;
	padding: 0;
}

header .contact a.tel {
	display: inline-block;
	white-space: nowrap;
	text-transform: uppercase;
	color: black;
	margin: 0 0.25em;
}

header .contact a.tel span { color: #AAAAAA; text-decoration: none; display: inline-block; margin: 0 0.5em 0 0; }
header .contact a.tel span:after { content: ":"; }

@media (min-width: 768px) {
	body { font-size: 16px; }
	header a.logo { width: 211px; margin: 1em auto 3em; }
	header .contact a.tel { margin: 0 1em; }
}

@media (min-width: 960px) {
	header { padding: 2em 1em 4em; }
}

section.main {
	padding: 2em 1em;
	background: white;
	line-height: 1.4em;
}

dl.appointment-details {
	display: block;
	padding: 0;
	margin: 1em 0 3em;
	overflow: hidden;
}

dl.appointment-details dt {
	display: block;
	padding: 0;
	margin: 0 0 1em;
	width: 8em;
	float: left;
	clear: left;
}

dl.appointment-details dt:after { content: ":"; }

dl.appointment-details dd {
	display: block;
	padding: 0;
	margin: 0 0 1em;
	float: left;
}

@media (min-width: 651px) {
	dl.appointment-details { margin: 0; }
	dl.appointment-details dt { display: none; }
	dl.appointment-details dd { width: 25%; margin-left: 0.25em; }
}

.wp-block-bookly-form { margin: 0 0 3em; }

@media (min-width: 768px) {
	section.main { padding: 4em 2em; }
}

footer {
	padding: 2em 1em;
	background: #F1F1F1;
	text-align: center;
	font-family: "Lato", Arial, Helvetica, sans-serif;
	font-weight: 400;
}

footer .copyright { margin: 0 0 0.5em; }

footer nav.social { margin: 1em 0; }

footer nav.social a {
	display: inline-block;
	margin: 0 0.25em;
	font-family: "sb-icons";
	font-weight: normal;
	font-size: 16px;
	width: 2em;
	height: 2em;
	line-height: 2em;
	text-align: center;
	color: inherit;
	text-decoration: none;
	border: 2px solid currentColor;
	border-radius: 50%;
}

footer nav.social a.twitter:before { content: "\e900"; }
footer nav.social a.facebook:before { content: "\e901"; }

footer nav.social a:hover { color: black; }

@media (min-width: 768px) {
	footer { padding: 2em 2em 5em; }
	footer .container { overflow: hidden; }
	footer .copyright { float: left; }

	footer .credit { float: left; clear: left; }

	footer nav.social { float: right; margin: 0; }
	footer nav.social a { margin: 0 0 0 0.5em; }
}

p.error {
	font-weight: bold;
	color: red;
	font-size: 2em;
}

.popout { display: none; }
dd:first-of-type:last-of-type .popout { display: block; }

.popout ol {
	margin: 1em 0;
	padding: 0;
	counter-reset: numbers;
}

.popout ol li {
	list-style: none;
	display: block;
	padding: 0 0 0 1.5em;
	margin: 0.5em 0;
	position: relative;
	counter-increment: numbers;
}

.popout ol li::before {
	content: counter(numbers) ".";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
}

@media (min-width: 651px) {
	.popout { width: 200%; }
}

[data-type="staff"] select option[value="0"] { display: none!important; visibility: hidden!important; }

h1 {
	font-weight: bold;
	text-align: center;
	color: black;
}