/* Tags */
body {
	position: relative;
	margin: 0;
	background-color: #efefef;
	font: 400 16px 'Noto Sans',Arial,Helvetica,sans-serif;
	color: #333;
}
article,aside,details,div,figcaption,figure,footer,header,hgroup,menu,nav,section {
	display: block;
	overflow: hidden;
}
a {
	color: #7EA649;
	font-weight: 700;
	text-decoration: none;
}
a:hover {
	color: #cd4975;
	text-decoration: none;
}
form {margin: 0;}
h1,h2,h3,h4 {
	margin-top: 1em;
	margin-bottom: .5em;
	color: #444;
	font-weight: 700;
}
h1:first-child,h2:first-child,h3:first-child,h4:first-child {margin-top: 0;}
h1:last-child,h2:last-child,h3:last-child,h4:last-child {margin-bottom: 0;}
h1 {
	color: #0a3e6e;
	font-size: 22px;
}
h2 {font-size: 20px;}
h3,h4 {font-size: 18px;}
img {border: 0 none;}
input, textarea, select {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	font: 400 14px 'Noto Sans',Arial,Helvetica,sans-serif;
}
input[type=text], input[type=password], textarea {
	margin: 2px 0;
	border: 1px solid #ccc;
	padding: 5px;
}
pre:first-child {
	margin-top: 30px;
}
select {
	margin: 2px 0;
	border: 1px solid #ccc;
	padding: 2px 2px 2px 0;
}
textarea {
	overflow: hidden;
	resize: none;
}
input[readonly], textarea[readonly] {
	outline: none;
	color: #444;
}
input.inputinline {
	padding: 3px 5px;
}
ol,ul {
	margin: 0;
	padding: 0;
}
li {list-style: none;}
p:first-child {margin-top: 0;}
p:last-child {margin-bottom: 0;}
table {border-collapse: collapse;}
td {padding: 0;}

/* Classes */
.alignc {text-align: center;}
.alignl {text-align: left;}
.alignr {text-align: right;}
.alignvb {vertical-align: bottom;}
.alignvbl {vertical-align: baseline;}
.alignvm {vertical-align: middle;}
.alignvt {vertical-align: top;}

.bggry {background-color: #fafafa;}
.bgred {background-color: #e00;}
.bgw {background-color: #fff;}

.bord {border: 1px solid #ccc;}
.bordb {border-bottom: 1px solid #ccc;}
.bordl {border-left: 1px solid #ccc;}
.bordr {border-right: 1px solid #ccc;}
.bordt {border-top: 1px solid #ccc;}

.br {margin-top: 1em;}

.clear {clear: both;}
.float {float: left;}
.floatr {float: right;}

.hide {display: none;}

.inline {display: inline;}
.inline-block {
	display: -moz-inline-stack;
	display: inline-block;
}

.m0 {margin: 0;}
.mb0 {margin-bottom: 0px;}
.mb5 {margin-bottom: 5px;}
.mb10 {margin-bottom: 10px;}
.mb20 {margin-bottom: 20px;}
.mb30 {margin-bottom: 30px;}
.ml5 {margin-left: 5px;}
.mr5 {margin-right: 5px;}
.mt0 {margin-top: 0;}
.mt2 {margin-top: 2px;}
.mt5 {margin-top: 5px;}
.mt10 {margin-top: 10px;}
.mt20 {margin-top: 20px;}
.mt30 {margin-top: 30px;}

.opacity0 {
	-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
	filter: alpha(opacity=0);
	-moz-opacity: 0;
	-khtml-opacity: 0;
	opacity: 0;
}

.pad {padding: 5px;}
.pad10 {padding: 10px;}
.pad20 {padding: 20px;}
.padb {padding-bottom: 5px;}
.padb2 {padding-bottom: 2px;}
.padb10 {padding-bottom: 10px;}
.padb20 {padding-bottom: 20px;}
.padl {padding-left: 5px;}
.padl10 {padding-left: 10px;}
.padl15 {padding-left: 15px;}
.padl20 {padding-left: 20px;}
.padr {padding-right: 5px;}
.padr10 {padding-right: 10px;}
.padr20 {padding-right: 20px;}
.padt {padding-top: 5px;}
.padt2 {padding-top: 2px;}
.padt7 {padding-top: 7px;}
.padt10 {padding-top: 10px;}
.padshort {padding: 2px 5px;}
.padv {
	padding-top: 5px;
	padding-bottom: 5px;
}

.pointer {cursor: pointer;}

.posabs {position: absolute;}
.posrel {position: relative;}

/* Text */
.small {font-size: 13px;}


/* Colours */
.white {color: #fff;}
.red {color: #c33;}
.orange {color: #f90;}
.green {color: #0d0;}
.grey {color: #aaa;}

/* Rounded corners */
.rad5 {
	-moz-border-radius: 5px;
	-webkit-border-radius: 5px;
	border-radius: 5px;
}


/* Layout */
.section {
	padding-bottom: 15px;
	background-color: #fff;
}
.main-col {
	position: relative;
	margin: 0 auto;
	width: 1020px;
}
body > header {
	overflow: visible;
	height: 150px;
	background: #fff url(/images/header-bg.png);
}
#header-logo {
	position: absolute;
	left: -10px;
	top: 0;
	z-index: 2;
	padding-top: 8px;
	width: 274px;
	height: 142px;
	background: url(/images/header-bg-logo.png);
}
#header-logo > div {
	padding: 0 42px 0 51px;
}
#header-logo a {
	display: block;
	width: 100%;
}
#header-logo img {
	width: 100%;
}
#header-right {
	overflow: hidden;
	margin-right: 20px;
	padding-left: 275px;
}
#header-title {
	float: left;
	padding-top: 12px;
}
#header-title h1 {
	margin: 0;
	font-size: 20px;
	font-weight: 700;
}
#header-contact {
	float: right;
	padding-top: 25px;
}
a#header-appointment, a#header-appointment-2 {
	display: inline-block;
	-moz-border-radius: 3px;
	-webkit-border-radius: 3px;
	border-radius: 3px;
	padding: 10px 20px;
	background-color: #7EA649;
	font-size: 20px;
	color: #fff;
}
a#header-appointment-2 {
	display: none;
	padding: 5px 10px;
	font-size: 16px;
	text-align: center;
}
a#header-appointment:hover, a#header-appointment:focus,
a#header-appointment-2:hover, a#header-appointment-2:focus {
	background-color: #cd4975;
}

#menu {
	position: relative;
	overflow: visible;
	margin-top: 20px;
	padding-left: 275px;
	font-size: 16px;
	font-weight: 700;
}
.menu-top ul {
	overflow: hidden;
}
.menu-top li {
	float: left;
}
.menu-top a {
	display: block;
	padding: 5px 25px 5px 0;
}
.menu-top a:focus,
.menu-top a:hover,
.menu-top .menu-item-current a {
	color: #cd4975;
}
.menu-sub {
	position: absolute;
	z-index: 2;
	overflow: hidden;
	display: none;
	-moz-box-shadow: 0 0 6px rgba(0, 0, 0, .5);
	-webkit-box-shadow: 0 0 6px rgba(0, 0, 0, .5);
	box-shadow: 0 0 6px rgba(0, 0, 0, .5);
	-moz-border-radius: 3px;
	-webkit-border-radius: 3px;
	border-radius: 3px;
	background-color: #efefef;
}
.menu-sub a {
	display: block;
	float: left;
	border-bottom: 1px dashed #ccc;
	padding: 5px 10px;
	width: 100%;
}
.menu-sub a:hover {
}
.menu-sub li:last-child a {
	border-bottom: none;
}

body > header div {
	overflow: visible; /* for submenus */
}

#sidebar {
	position: absolute;
	left: 25px;
	top: 0;
	-moz-border-radius: 20px;
	-webkit-border-radius: 20px;
	border-radius: 20px;
	padding: 15px;
	width: 185px;
	background-color: #efefef;
	font-size: 14px;
}
#content {
	margin-right: 20px;
	padding-left: 275px;
}

body > footer {
	padding: 20px 0;
	color: #666;
	font-size: 12px;
	text-align: center;
}
body > footer a:link,
body > footer a:visited {
	color: #ccc;
}
body > footer a:hover, body > footer a:focus {
	color: #ccc;
	text-decoration: underline;
}


/* Content */
a.button {
	display: inline-block;
	-moz-border-radius: 3px;
	-webkit-border-radius: 3px;
	border-radius: 3px;
	padding: 5px 10px;
	background-color: #7EA649;
	font-size: 16px;
	color: #fff;
	text-align: center;
}
a.button:hover, a.button:focus {
	background-color: #cd4975;
}

#content ol,
#content ul {
	margin-left: 2em;
}
#content ol li {
	list-style: decimal;
}
#content ul li {
	margin: .5em 0;
	list-style: disc;
}

.side-box {
	float: right;
	border: 1px dashed #cd4975;
	padding: 15px;
	background-color: #eedaeb;
	font-size: 90%;
}
.side-box h2 {
	font-size: 16px;
}

.photo-right {
	float: right;
	padding: 0 0 20px 20px;
}

/* Home */
.home-notice {
	margin-bottom: 20px;
	padding: 20px;
	background: #fafafa;
}
.home-promos {
	position: relative;
	padding-bottom: 56.25%;
	width: 100%;
}
.home-promo {
	position: absolute;
	left: 0;
	top: 0;
	z-index: 1;
	width: 100%;
	height: 100%;
}
.home-promo img {
	width: 100%;
}
.home-promo-slogan {
	/*position: absolute;
	left: 50%;
	top: 0;
	z-index: 2;*/
	display: none;
}
.home-promo-slogan h2 {
	font-size: 36px;
}
.home-promo-slogan p {
	font-size: 18px;
}
.home-promo-arrow {
	display: none;
	position: absolute;
	bottom: 10px;
	z-index: 3;
}


/* Contact */
#contact-left {
	float: left;
	width: 55%;
}
#contact-right {
	float: right;
	width: 41%;
}
#contact h3 {
	margin: .5em 0 0.1em 0;
}


/* Messages */
.message {
	background-color: #e00;
	margin: 10px 0;
	padding: 10px;
	color: #fff;
}
.message a:link, .message a:visited {color:#fff; text-decoration:underline;}
.message a:hover, .message a:focus {color:#fff; text-decoration:none;}
.message b, .message strong {font-weight: 700;}


@media only screen and (max-width:1040px) {
	.main-col {
		width: 100%;
	}
}
@media only screen and (max-width:900px) {
	a#header-appointment {
		display: none;
	}
	a#header-appointment-2 {
		display: inline-block;
	}
	.photo-right {
		width: 40%;
	}
	#contact-left {
		float: none;
		width: auto;
	}
	#contact-right {
		float: none;
		margin-top: 20px;
		width: auto;
	}
}
@media only screen and (max-width:775px) {
	body > header {
		overflow: hidden;
		height: auto;
		background: #efefef none;
	}
	body > header div	{
		overflow: hidden;
	}
	#header-logo {
		width: 30%;
		max-width: 190px;
		height: auto;
		background: none;
	}
	#header-logo > div {
		padding: 0 0 0 20px;
	}
	#header-right {
		overflow: hidden;
		margin-right: 0;
		padding-left: 32%;
	}
	#header-contact {
		clear: both;
		float: none;
		padding-top: 10px;
	}
	a#header-appointment {
		display: inline-block;
		padding: 5px 10px;
		font-size: 14px;
	}
	a#header-appointment-2 {
		display: none;
	}
	#menu {
		overflow: hidden;
		margin-top: 10px;
		padding-left: 10px;
		background-color: #fff;
	}
	.menu-top a {
		padding: 5px 20px 5px 0;
	}
	
	.section {
		padding-bottom: 0;
	}
	#content {
		margin: 20px 10px;
		padding-left: 0;
	}
	#sidebar {
		position: relative;
		left: 0;
		top: 0;
		-moz-border-radius: 0;
		-webkit-border-radius: 0;
		border-radius: 0;
		padding: 15px 10px;
		width: auto;
		background-color: #777;
		color: #fff;
	}
	#sidebar a {
		color: #a4cf6a;
	}
}
@media only screen and (max-width:505px) {
	#header-title {
		font-size: 13px;
	}
	#header-title h1 {
		font-size: 18px;
	}
}