/* structure */
body {
	padding-top: 5px;
	font: 500 21px 'clarika';
	color: #676e76;
}

.masthead {
	margin-bottom: 34px;
}

.masthead img {
	margin: 0 0 21px 0;
}

.footer {
	font: normal 400 13.44px 'lulo';
	letter-spacing: -1px;
	padding: 35px 43px 35px 43px;
	margin: 53px 0 40px 0;
	border-top: 7px solid #7fc6cc;
	background-color: #1c1d1d;
	color: #fffef6;
}

.footer h3 {
	font: normal 700 23.65px 'lulo';
	letter-spacing: 1.1px;
	margin: -7px 0 11px 0;
	color: #ffffff;
}

.footer a:link,
.footer a:hover, 
.footer a:active, 
.footer a:visited {
	color: #ffffff;
}

.footer > div {
	float: left;
}

.footer .hours {
	margin-right: 41px;
}

.footer .hours table td {
	border: 0;
	padding: 0;
	white-space: nowrap;
}

.footer .hours table td:nth-child(1) {
	padding-right: 20px;
}

.footer .hours table td:nth-child(3) {
	padding: 0 5px 0 5px;
}

.footer .hours .open td {
	color: #7fc6cc;
}

.footer .location {
	margin-right: 57px;
}

.footer .contact ul {
	list-style-position: outside;
	padding: 0;
}

.footer .social {
	float: right;
	text-align: right;
	font-size: 12.52px;
}

.footer .social img:not([src*="yelp"]) {
	margin-right: 19px;
}

.footer .social span {
	margin-top: 21px;
	display: block;
}

/* custom responsive footer since bootstrap grids were too rigid */
@media (max-width: 767px) {
	.footer > div:not(:last-of-type) {
		clear: both;
		margin: 0 0 35px 0;
	}

	.footer .social {
		float: left;
		text-align: left;
	}
}

/* customize the nav-justified links to be fill the entire space of the .navbar */
.masthead nav {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}

.masthead nav > a {
	padding: 0 0 2px 0;
	margin: 0 0 4px 0;
	font: normal 700 23.23px 'lulo';
	color: #7fc6cc;
	letter-spacing: -3px;
	white-space: nowrap;
}

.masthead nav > a.active,
.masthead nav > a:hover,
.masthead nav > a:focus {
	margin: 0;
	text-decoration: none;
	background: transparent;
	color: #1d1d1d;
	border-bottom: 4px solid #7fc6cc;
}

@media (max-width: 767px) {
	.masthead nav {
		justify-content: flex-start;
		flex-direction: column;
	}

	.masthead nav > a[href] {
		margin: 0 0 8px 0;
	}
}

/* content styles */
a:link,
a:hover, 
a:active, 
a:visited {
	color: #7fc6cc;
}

h1 {
	display: inline-block;
	font: normal 600 48.5px 'clarika';
	letter-spacing: 1.9px;
	color: #1d1d1d;
	margin: 0 0 31px 0;
	padding: 0 0 6px 0;
	border-bottom: 4px solid #7fc6cc;
}

h2 {
	font: normal 700 20px 'lulo';
	letter-spacing: -.1px;
	color: #1e1e1e;
	margin: -9px 0 8px 0;
}

h3 {
	font-size: 21px;
	font-weight: 600;
	margin: -5px 0 0 0;
	padding: 0;
	color: #1e1e1e;
}

p.lead {
	font: normal 600 23px 'clarika';
	color: #1d1d1d;
	margin: 0 0 47px 0;
}

/* form styles */
button.btn,
input[type=submit].btn {
	background-color: #7fc6cc;
	color: #ffffff;
	font-weight: 600;
}

button.btn:focus,
button.btn:hover,
input[type=submit].btn:focus,
input[type=submit].btn:hover {
	color: #1d1d1d;
}

button.btn-lg,
input[type=submit].btn-lg {
	font-weight: 600;
	padding: 9px 16px 11px 16px;
}

label {
	color: #1e1e1e;
}

input[type=checkbox],
input[type=radio] {
	margin: 8px 0 0 -20px;
}

.radio:first-of-type,
.checkbox:first-of-type {
	margin-top: 0;
}

fieldset {
	margin-bottom: 15px;
}

/* fonts */
@font-face {
	font-family: 'lulo';
	font-weight: 400;
	font-style: normal;
	src: url('/fonts/lulo_clean_one.otf') format('opentype');
}

@font-face {
	font-family: 'lulo';
	font-weight: 700;
	font-style: normal;
	src: url('/fonts/lulo_clean_one_bold.woff') format('woff');
}

@font-face {
	font-family: 'clarika';
	font-weight: 500;
	font-style: normal;
	src: url('/fonts/clarika_geometric_medium.woff') format('woff');
}

@font-face {
	font-family: 'clarika';
	font-weight: 500;
	font-style: italic;
	src: url('/fonts/clarika_geometric_medium_italic.woff') format('woff');
}

@font-face {
	font-family: 'clarika';
	font-weight: 600;
	font-style: normal;
	src: url('/fonts/clarika_geometric_demibold.woff') format('woff');
}