
details { display: block; }

summary { display: list-item; }

[hidden] {display:none;}

html {font-size:100%; -webkit-text-size-adjust:100%; }

html, button, input, select, textarea {font-family:sans-serif;}

body {margin:0;}

a:focus {outline:thin dotted;}
a:hover, a:active {outline:0;}

h1 {
	font-size: 2em;
	line-height: 1;
	margin: 0.75em 0;
}
h2 {font-size:1.5em; margin:0.83em 0;}
h3 {font-size:1.17em; margin:1em 0;}
h4 {font-size:1em; margin:1.33em 0;}
h5 {font-size:0.83em; margin:1.67em 0;}
h6 {font-size:0.75em; margin:2.33em 0;}

abbr[title] {
	border-bottom: 1px dotted;
	text-decoration: none;
}
@supports (text-decoration-style: dotted) {
	abbr[title] {
		border-bottom: 0;
		text-decoration: underline dotted;
		text-decoration-skip: ink;
	}
}

b, strong {font-weight:bold;}

blockquote { margin: 1.5em 40px .214em; }

dfn {font-style:italic;}

mark {background:#ff0; color:#000;}

p, pre { margin: 1.5em 0 .25em; }

pre, code, kbd, samp {font-family:monospace, serif; font-size:1em;}
pre {white-space:pre; white-space:pre-wrap; word-wrap:break-word;}

q {quotes:none;}
q:before, q:after {content:''; content:none;}

small {font-size: 80%; }

sub, sup {font-size:75%; line-height:0; position:relative; vertical-align:baseline;}
sup {top:-0.5em;}
sub {bottom:-0.25em;}

dl, menu, ol, ul {margin:1em 0;}
dd {margin:0 0 0 40px;}
menu, ol, ul {padding:0 0 0 40px;}
nav ul, nav ol {list-style:none; list-style-image:none;}

img {border:0; }

figure {margin:0;}

form {margin:0;}
fieldset {border:1px solid #c0c0c0; margin:0 2px; padding:0.35em 0.625em 0.75em;}
legend {border:0; padding:0; white-space:normal;}
button, input, select, textarea {font-size:100%; margin:0; vertical-align:baseline;}
button, input {line-height:normal;}
button, input[type="button"], input[type="reset"], input[type="submit"] {cursor:pointer; -webkit-appearance:button;}
button[disabled], input[disabled] {cursor:default;}
input[type="checkbox"], input[type="radio"] {box-sizing:border-box; padding:0;}
input[type="search"] {-webkit-appearance:textfield; -moz-box-sizing:content-box; -webkit-box-sizing:content-box; box-sizing:content-box;}
input[type="search"]::-webkit-search-decoration, input[type="search"]::-webkit-search-cancel-button {-webkit-appearance:none;}
button::-moz-focus-inner, input::-moz-focus-inner {border:0; padding:0;}
textarea {overflow:auto; vertical-align:top;}

/* tables */

table {
	border: 1px solid #aaa; /* border is displayed when table cell borders are not displayed */
	border-collapse: collapse;
	border-spacing: 0;
	margin: 1.5em 0 .214em;
}

table.strict {
	table-layout: fixed;
	width: 100%;
}

td, th {
	background: #FFF;
	padding: 4px 6px;
	text-align: left;
	vertical-align: top;
}

caption {
	font-weight: 700;
	text-align: left;
}
caption.header {
	background-color: #4D4D4D;
	border: 1px solid #808080;
	color: #FFF;
	margin-bottom: 0;
	text-align: center;
}

thead > tr > th {
	background: #003E7E;
	border: 1px solid #808080;
	color: #fff;
}
thead > tr + tr > th { background: #0076C0; }
thead > tr + tr + tr th {
	background: #C8E0F8;
	color: #333;
}

thead > tr > td a,
thead > tr > th a,
tfoot > tr > td a,
tfoot > tr > th a,
thead > tr > td a:hover,
thead > tr > th a:hover,
tfoot > tr > td a:hover,
tfoot > tr > th a:hover,
thead > tr > td a:focus,
thead > tr > th a:focus,
tfoot > tr > td a:focus,
tfoot > tr > th a:focus { color: #fff; }

tbody > tr > td,
tbody > tr > th { border: 1px solid #aaa; }
tbody > tr > th { font-weight: 700; }

tbody > .altBg > td,
tbody > .altBg > th,
tbody > .alt-bg > td,
tbody > .alt-bg > th { background: #E8E8E8; }

.striped > tbody > tr:nth-child(even) > td,
.striped > tbody > tr:nth-child(even) > th { background: #E8E8E8; }
.hover > tbody > tr:hover > td,
.hover > tbody > tr:focus > td,
.hover > tbody > tr:hover > th,
.hover > tbody > tr:focus > th { background: #F8F0A0; }

tfoot > tr > td,
tfoot > tr > th {
	background: #003E7E;
	border: 1px solid #808080;
	color: #fff;
	font-size: .929em;
	font-weight: 700;
}
tfoot > tr:first-child > td,
tfoot > tr:first-child > th { border-top: 2px solid #0076c0; }

table.centered td, table.centered th, tr.centered > td, tr.centered > th, td.centered, th.centered { text-align: center; }
table.left     td, table.left     th, tr.left     > td, tr.left     > th, td.left,     th.left     { text-align: left;   }
table.right    td, table.right    th, tr.right    > td, tr.right    > th, td.right,    th.right    { text-align: right;  }


/* =================== */

html {min-height:100%; overflow-y:scroll;}
html, button, input, select, textarea { font: 1em/1.5 Lucida Grande, Lucida Sans Unicode, Lucida Sans, Futura, sans-serif; }

/* http://www.brownbatterystudios.com/sixthings/2007/03/14/lucida-hybrid-the-grande-alternative/ */
address, b, em, h1, h2, h3, h4, h4, h6, i, .nav, strong { font-family: Lucida Sans, Lucida Sans Unicode, Lucida Grande, Futura, sans-serif; }

body {
	background: #fff;
	color: #123;
}

a:link {color:#06c; text-decoration:none;}
a:visited {color:#737; text-decoration:none;}
a:hover {color:#00c; text-decoration:none;}
a:focus {color:#00c; outline:1px dashed #999;}
a:active {color:#00c;}

blockquote > p:last-child {
	font-weight:700;
	margin-top: .5em;
}

caption {font-size:1.1em; font-weight:700; text-align:inherit;}
.clear {clear:both;}
#content {
	background: #fff;
	border-top: 1px solid rgb(124, 161, 157);
	border-bottom: none;
	clear: both;
	margin: 0 auto;
	max-width: 1004px;
	min-width: 320px;
	overflow: auto;
	padding: 20px 1em 10px;
}
#copyright {
	font-size: .875em;
	padding: 1em .5em;
}

#footer {
	margin-top: 5em;
}
#footer > .wrap {
	margin: 0 auto;
	max-width: 1004px;
	text-align: center;
}

h1 {color: #fff; }
.subtitle {color:#345; font-size:1.2em;}
h1 > span {display:none;}
h2 {color:#234;}
h3 {color:#234;}
#header {
	background: rgb(124, 161, 157);
	border-bottom: 1px solid;
	height: 36px;
	margin-bottom: 80px;
	padding: 2em 0;
}
#header .wrap {
	margin: 0 auto;
	max-width: 1004px;
	min-width: 320px;
}
hr {
	background-color: rgb(124, 161, 157); border:0 none; clear:both; height:1px; margin:25px 0; width:100%;}
hr.clear {height:0; visibility:hidden;}

#imagelinks {float:left; list-style:none; margin:-10px 0 0; padding:0 12px;}
#imagelinks > li {float:left; margin-left:1em;}
#imagelinks > li:first-child {margin-left:0;}
#imagelinks > li > a {
	background-position: 10px 10px;
	background-repeat: no-repeat;
	border-radius: 6px;
	display: block;
	overflow: hidden;
	padding: 100px 0 5px;
	text-align: center;
	transition: .3s linear;
	width: 100px;
}
#imagelinks > li > a:link {color:#000; text-decoration:none;}
#imagelinks > li > a:visited {color:#5E551C;}
#imagelinks > li > a.here,
#imagelinks > li > a:hover,
#imagelinks > li > a:focus {background-color:rgba(0,0,0,.1); color:#000; box-shadow:0 0 10px rgba(0,0,0,.1); outline:0 none;}
#imagelinks > li > a.here:hover,
#imagelinks > li > a.here:focus,
#imagelinks > li > a:focus:hover {background-color:rgba(0,0,0,.15);}
#imagelinks > li > a:active {color:#5E551C;}
	#services > a {background-image:url("../images/services.jpg");}
	#portfolio > a {background-image:url("../images/portfolio.jpg");}
	#testimonials > a {background-image:url("../images/testimonials.jpg");}
	#contact > a {background-image:url("../images/contact.jpg");}

img.border {border:1px solid #333;}
img.left {float:left; margin:4px 8px 4px 0px;}
img.right {float:right; margin:4px 0 4px 8px;}

.oversized > li {margin:1em;}

#right {float:right; padding:1em 0 0 12px; right:5px;}

/* two column */
.twoColumn::after {
	clear: both;
	content: " ";
	display: table;
}
.twoColumn > div {
	box-sizing: border-box;
	float: left;
	width: 47.308%; /* ( ( 520 / 2 ) - ( 16 * .875 ) ) / 520 */
	width: calc(50% - 1em);
}
.twoColumn > div + div { float: right; }

/* three column */
.threeColumn::after {
	clear: both;
	content: " ";
	display: table;
}
.threeColumn > div {
	box-sizing: border-box;
	float: left;
	width: 30.641%; /* ( ( 520 / 3 ) - ( 16 * .875 ) ) / 520 */
	width: calc(33.333% - 1em);
}
.threeColumn > div:first-child + div { margin-left: 1.5em; }
.threeColumn > div + div + div { float: right; }

@media print {
	#address {float:none; text-align:center;}
	#imagelinks, #categories {display:none;}
}

@media (max-width: 820px) {
	.twoColumn > div,
	.twoColumn > div + div {
		float: none;
		width: auto;
	}
}
