/* #Reset & Basics
================================================== */
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video
{ margin: 0; padding: 0; border: 0; font-size: 100%; font: inherit; vertical-align: baseline; }

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section
{ display: block; }
body { line-height: 1; }
ol, ul { list-style: none; }
blockquote, q { quotes: none; }
blockquote:before, blockquote:after, q:before, q:after { content: ''; content: none; }

/* #Basic Styles
================================================== */

/* Universal Box Sizing: Border Box */

* { 
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

body{
	background: #fff;
	font-family: 'Open Sans', sans-serif;
	font-size:100%;
	color: #727272;
	-webkit-font-smoothing: antialiased; /* Fix for webkit rendering */
	-webkit-text-size-adjust: 100%;
	position:relative;
}

/* #Typography
================================================== */

h1, h2, h3, h4, h5, h6
{ font-family: 'Century Gothic', sans-serif; color: #000; font-weight: normal; }

h1 a, h2 a, h3 a, h4 a, h5 a, h6 a
{ font-weight: inherit; }

h1 { font-size: 1.8em; font-weight:300; color: #000;padding-bottom: 0.8em;margin-bottom: 1.25em; border-bottom:1px solid #ececec;margin-left:0.78125%;margin-right:0.78125%; }
h2 { font-size:1.250em;color: #145300;padding-bottom: 0.8em;font-weight:300;line-height: 1.2em; }
h3 { font-size: 1.125em;font-weight: 400;color: #900014;padding-bottom: 0.8em; }
h4 { font-size: 1.2em; line-height:1.2em; color: #1a1a1a; padding-bottom: 0.8em; }
h5 { font-size: 1.6em; width: 100%; color: #108090; line-height: 1.2em; padding-bottom: 0.8em;}
h6 { font-size: 0.6em; color: #CCCCCC; line-height: 1.2em; }

p { padding-bottom: 1.25em; line-height: 1.25em; }
em { font-style: italic; }

strong {
	font-weight: 800;
}
small { font-size: 80%; }

span { color: #108090; }

hr {  border: solid #ececec; border-width: 2px 1px 0; clear: both; width: auto; height: 0; padding-bottom: 0.8em; }

/* #Links
================================================== */

a, a:visited { 
	color: #1f8000;
	text-decoration: none;
	outline: 0;
	-o-transition: all 0.25s ease-in;
	-ms-transition: all 0.25s ease-in;
	-moz-transition: all 0.25s ease-in;
	-webkit-transition: all 0.25s ease-in;
	transition: all 0.25s ease-in;
}

a:hover, a:focus { color: #145300; }

/* #Lists
================================================== */

ul { list-style: square; padding-left: 1.25em; padding-bottom:1.25em; }

ul li { line-height: 1.25em; }

.services {
}

.services li {
	width:50%;
	float:left;
}

@media only screen and (max-width: 880px) {
	
.services li {
	width:100%;
	float:none;
}
	
}

/* #Site Styles
================================================== */

/* Main Header */

#main-header{
	width:100%;
	background:#fff;
	padding:2.5em 0;
}

/* Main Header Queries */

@media only screen and (max-width: 850px) {
	
#main-header{
	padding:1em 0;
}

}

/* Main Logo */

.main-logo{
	margin:0;
	padding:0;
	text-align: center;
	margin-bottom: 2em;
}

.main-logo img{
	text-align: center;
	margin:0 auto;
}

/* Main Logo Queries */

@media only screen and (max-width: 850px) {
	
.main-logo{
	float:left;
	margin:0;
	padding-top:0.6em;
}

.main-logo img{
	float:left;
	width:220px;
	margin:0;
	padding:0;
}

}

/* Navigation */

.main-nav{
	height:auto;
	text-align:center;
	margin:0 auto;
	background:#1a1a1a;
	-moz-border-radius:4px;
	-webkit-border-radius:4px;
	border-radius:4px;
}

.main-nav ul{
	margin:0;
	padding:0;
}

.main-nav ul li:first-child{
	border-left:1px solid #333;
}

.main-nav ul li{
	display:inline-block;
	padding:0;
	margin:0;
	text-align:center;
	list-style:none;
	line-height:3em;
	border-right:1px solid #333;
}

.main-nav ul li a, a:visited{
	display:block;
	text-decoration:none;
	padding:0 1.25em;
	font-size:0.875em;
	font-weight:600;
	color:#fff;
}

.main-nav ul li a:hover, .main-nav .current{
	background:#145300;
	color:#fff;
}

#menu-toggle{
	display: none;
	text-align: center;
	height:15px;
	width:17px;
	padding-top:60px;
	text-decoration: none;
	background:url("../images/nav-icon.png") center center no-repeat;
}

#mobile-nav {
	display:none;
}

/* Main Nav Queries */

@media only screen and (max-width: 850px) {

.main-nav ul{
	display:none;
}

.main-nav ul li{
	line-height:2em;
	border:none;
}

.main-nav{
	float:right;
	background:none;
}

#menu-toggle, #mobile-nav {
	display:block;
}

ul.mob { 
	display:block;
	list-style:none outside none;
	margin:0;
	padding:0;
	width:100%;
	position:absolute;
	z-index:9999;
	right:0px;
	top:76px;
}

ul.mob li {
	display:block;
	line-height:3.125em;
	list-style:none;
	text-align:center;
	margin-right:0;
	background:#1f8000;
}

ul.mob li a {
	padding:0px 0.625em;
	text-decoration:none;
}

}

/* Main Banner */

#main-banner{
	width:100%;
	background:url(../images/banner.png) center;
	background-size:cover;
	text-align:center;
	padding:6.250em 0;
}

/* Main Banner Queries */

@media only screen and (max-width: 767px) {

#main-banner{
	padding:2.500em 0;
}

}

/* Main Content */

#main-content{
	padding:2.5em 0;
	text-align:center;
}


#main-content a, #main-content a:visited{
	color:#1f8000;
}

#main-content a:hover{
	color:#145300;
}

.main-content{
	text-align:left;
}

/* Main Content Queries */

@media only screen and (max-width: 400px) {

#main-content{
	font-size:0.9em;
}
	
}

/* Contact Area */

#contact-area{
}

.contact-area{
	text-align: center;
	border-bottom: 4px solid #1f8000;
	font-size: 1.8em;
	color: #fff;
	padding-bottom: 0.625em;
	display: inline-block;
	text-shadow: 0 1px 0 #000;
}

.contact-area-mob{
	text-align:center;
	font-size:1.8em;
	padding:0.625em 0;
	display:none;
}

/* Contact Area Queries */

@media only screen and (max-width: 900px) {
	
.contact-area{
	font-size:1.563em;
}
	
}

@media only screen and (max-width: 767px) {
	
.contact-area{
	display:none;
}

.contact-area-mob{
	display:block;
}
	
}

/* Banner Services */

.banner-services{
	text-align:center;
	color:#fff;
	font-size:1.500em;
	text-shadow: 0 1px 0 #000;
	line-height:1.250em;
	margin-top:2.500em;	
}

/* Banner Services Queries */

@media only screen and (max-width: 400px) {

.banner-services{
	font-size:0.9em;
}
	
}

/* Gallery */

ul.gallery{
	list-style:none;
	margin:0;
	padding:0;
	text-align:left;
}

ul.gallery .gal {
	width: 23.5%;
	margin-right:2%;
	margin-bottom:2%;
	color: #ececec;
	float: left;
	display:block;
	text-align:center;
}

ul.gallery .gal:nth-of-type(4n+4){
	margin-right: 0;
}

.gal img{
	display:block;
}

/* clear col */

ul.gallery .gal:nth-of-type(4n+1){
	margin-left: 0;
	clear: left;
}

/* Gallery Queries */

/* reset cols to 2-column */
@media screen and (max-width: 768px) {

	ul.gallery .gal {
		width: 49%;
	}

	ul.gallery .gal:nth-of-type(4n+2) {
		margin-right: 0;
		clear: none;
	}

}

@media screen and (max-width: 479px) {

.gal {
	width: 100% !important;
	margin-left: 0 !important;
	clear: none !important;
}

.gal:last-child {	
	margin-bottom:none !important;	
}

}

/* Main Footer */

#main-footer{
	width:100%;
	padding:2.5em 0;
	background:#ececec;
	text-align:center;
	line-height:1.250em;
	border-top:2px solid #dfdfdf;
}

#main-footer a, #main-footer a:visited{
	color:#1f8000;
}

#main-footer a:hover{
	color:#145300;
}

.f-left{
	display:inline-block;
}

.f-break{
	display:inline-block;
}

.f-right{
	display:inline-block;
}

/* Main Footer Queries */

@media screen and (max-width: 800px) {

.f-left{
	display:block;
}

.f-break{
	display:none;
}

.f-right{
	display:block;
}

}

@media only screen and (max-width: 400px) {

#main-footer{
	font-size:0.9em;
}
	
}

/* #Page Styles
================================================== */

/* #Images
================================================== */

img, img.scale-with-grid {
	max-width:100%;
	height:auto;
}

/* Images */

.image{
	width:100%;
}

.image img{
	display:block;
}

/* Images Queries */

@media screen and (max-width: 767px) {

.image{
	margin-bottom:1.250em;
}

}

/* #Forms
================================================== */
form { margin-bottom:1.250em; }
fieldset { margin-bottom:1.250em; }

input[type="text"],
input[type="password"],
input[type="email"],
textarea,
select {
	border:1px solid #ccc;
	padding:1.250em;
	outline:none;
	font-family:'Open Sans', sans-serif;
	font-size:1em;
	color:#666;
	margin:0;
	width:100%;
	display:block;
	margin-bottom:1.250em;
	background:#fff;
}

input[type="text"]:focus,
input[type="password"]:focus,
input[type="email"]:focus,
textarea:focus {
	color: #444;
	-moz-box-shadow:0px 0px 0px 1px #49a27b;
	-webkit-box-shadow:0px 0px 0px 1px #49a27b;
	box-shadow:0px 0px 0px 1px #49a27b;
}

input[type="submit"][disabled] { background:#888; }

textarea { min-height:60px; }

label, legend {
	display:block;
	text-align:left;
	width: auto;
	margin-bottom:0.625em;
	font-weight:800;
}

#submit, #reset{
	border:none;
	cursor:pointer;
	-webkit-appearance: none;
	color:#fff;
	background:#ac2b52;
	text-align:center;
	padding: 1em;
	outline:none;
	-o-transition: background 0.25s ease-in;
	-ms-transition: background 0.25s ease-in;
	-moz-transition: background 0.25s ease-in;
	-webkit-transition: background 0.25s ease-in;
	transition: background 0.25s ease-in;
}

#submit:hover, #reset:hover{
	background:#ac4d6a;
}

input[type="checkbox"] { display:inline; }

label span, legend span {
	font-weight:normal;
	color:#444;
}

#message { margin: 10px 0; padding: 0; }

.error_message { display: block; height: 22px; line-height: 22px; background: #FBE3E4 url('../assets/error.gif') no-repeat 10px center; padding: 3px 10px 3px 35px; color:#8a1f11;border: 1px solid #FBC2C4; -webkit-border-radius:5px; }

.loader { padding: 0 10px; }

#success_page h1 { background: url('../assets/success.gif') left no-repeat; padding-left:22px; }

acronym { border-bottom:1px dotted #ccc; }


/* #Buttons
================================================== */

/* Fix for odd Mozilla border & padding issues */

button::-moz-focus-inner,
input::-moz-focus-inner {
	border: 0;
	padding: 0;
}

.button,
button,
input[type="submit"],
input[type="reset"],
input[type="button"] {
color: #fff;
text-decoration: none;
cursor: pointer;
font-family: 'Open Sans', sans-serif;
font-size:1em;
text-transform:uppercase;
font-weight:700;
-o-transition: all 0.25s ease-in;
-ms-transition: all 0.25s ease-in;
-moz-transition: all 0.25s ease-in;
-webkit-transition: all 0.25s ease-in;
transition: all 0.25s ease-in;
}

.button:hover,
button:hover,
input[type="submit"]:hover,
input[type="reset"]:hover,
input[type="button"]:hover {
color: #fff;
}

.button:visited,
button:active,
input[type="submit"]:visited,
input[type="reset"]:visited,
input[type="button"]:visited {
color: #fff;
}

/* Alt Button Styles */

.contact, .contact:visited{
	color: #fff;
	text-align:center;
	border:1px solid #fff;
	padding: 0.625em;
}

.contact:hover{
	color:#ac2b52;
	border:1px solid #ac2b52;
}
