/* ==========================================================================
   General
/* ========================================================================== */

a {
	color: #FF0000;
	text-decoration: none;
}

a:hover {
	color: #333;
}

p {
	margin:0 0 15px;
	padding:0;
}

h2 {
	color: #c28f2c;
	font-size:28px;
}

h3 {
	font-size:20px;
}

a.btn {
	text-decoration:none;
}

.alignleft {
	float:left;
	margin:0 20px 10px 0;
}

.alignright {
	float:right;
	margin:0 0 10px 20px;
}

.aligncenter {
	display: block;
	margin: auto;
}

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

img, iframe {
	max-width:100%;
}

.one-half {
	float:left;
	width:50%;
}

.red {
	color: #FF0000;
}


/* ==========================================================================
   Layout
/* ========================================================================== */

html, body {
	height: 100%;
}

body {
	color: #333;
	font-weight: 400;
	font-size: 16px;
	font-family: 'Open Sans', sans-serif;
	-webkit-font-smoothing:antialiased;
	text-rendering: optimizeLegibility;
}


/* ==========================================================================
   Header
/* ========================================================================== */

.fixed-header {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	z-index:900;
	background:rgba(0,0,0,0.2);
	transition: all .4s ease 0s;
}

.fixed-header.scrolled {
	background:rgba(0,0,0,0.8);
}

.header-wrapper {
	height: 140px;
}

.header {
	position: relative;
}

.logo {
	position: absolute;
	left: 50%;
	top: 10px;
	height: 120px;
	margin-left: -126px;
}

.logo img {
	max-height: 100%;
}


/* ==========================================================================
   Navigation
/* ========================================================================== */

.nav-container {
}

.nav {
	position:relative;
	margin:55px 0 0;
	padding:0;
	list-style:none;
}

.nav li {
	display:inline-block;
	position:relative;
	margin: 0 10px;
}

.nav > li > a {
	display:block;
	padding:0 5px 4px;
	color:#fff;
	line-height:28px;
	font-size:14px;
	font-weight:600;
	text-transform:uppercase;
	transition:.2s;
	text-shadow: 1px 1px 1px rgba(0,0,0,0.5);
	border-bottom: 1px solid transparent;
}

.nav > li > a:active {
	color:#fff;
}

.nav > li.current-menu-item a {
	border-bottom: 1px solid #FF0000;
}

.nav > li:hover > a {
	color: #FF0000;
	border-bottom: 1px solid #FF0000;
	background-color:transparent;
}

.nav > li > a:before,
.nav > li > a:after {
	display:block;
	position:absolute;
	content:'';
	top:0;
	width:8px;
	height:100%;
}

.nav li ul {
	display:none;
	position:absolute;
	left:0;
	top:100%;
	min-width:100%;
	margin:-1px 0 0;
	padding:0;
	list-style:none;
	border-top: 1px solid #FF0000;
}

.nav li ul li {
	display:block;
	position:relative;
	margin: 0;
}

.nav li ul li a {
	display:block;
	padding:0 10px;
	line-height:40px;
	color:#666;
	font-size:13px;
	font-weight:700;
	background-color:#eee;
	border-bottom:1px solid #ccc;
	transition:.2s;
	white-space:nowrap;
	text-decoration:none;
	text-align:left;
}

.nav li ul li:hover > a {
	color:#333;
	background-color:#ddd;
	border-bottom:1px solid #bbb;
}

.nav li ul li ul {
	left:100%;
	top:0;
}

.nav li ul li ul li a {
	border-left:1px solid #bbb;
}

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

.nav li ul li a span {
	float:right;
}
	

.slicknav_menu { display:none; }

/* ==========================================================================
   Home
/* ========================================================================== */

.slides {
	height:80%;
}

.slide {
	width:100%;
	height:100%;
	background-size:cover;
	background-position:center;
}

.tagline {
	height: 100px;
	font-size: 30px;
	text-align: center;
	padding: 30px 20px;
	color: #fff;
	font-weight: bold;
	background: url(../img/road-bg.jpg) left center repeat-x;
}

.tagline span {
	background: #000;
}

.locations {
	padding-top: 40px;
	padding-bottom: 40px;
}

.locations h2 {
	color: #f00;
	text-transform: uppercase;
}

.map-home {
	padding-top: 65%;
	background: url(../img/map.jpg) center/cover;
}

.black-wrapper {
	background: #000;
}

.intro {
	padding-top: 40px;
	padding-bottom: 30px;
	color: #fff;
}

.intro h2 {
	color: #f00;
	font-size: 30px;
	margin: 0 0 20px;
}

.services {
	padding-top: 40px;
	padding-bottom: 10px;
}

.services h2,
.aerials h2 {
	text-align: center;
	margin: 0 0 30px;
	color: #f00;
	font-size: 40px;
	text-transform: uppercase;
}

.service {
	position: relative;
	margin-bottom: 30px;
}

.service-photo {
	position: relative;
	padding-top: 60%;
}

.service-photo a {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	overflow: hidden;
	white-space: nowrap;
	text-indent: 150%;
	background-position: center;
	background-size: cover;
	z-index: 1;
}

.service-name {
	text-align: center;
	padding: 5px 10px;
	font-weight: bold;
}

.service-shadow {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	z-index: -1;
}

.service-shadow::before,
.service-shadow::after {
	position: absolute;
	bottom: 15px;
	height: 20%;
	left: 10px;
	max-height: 100px;
	max-width: 460px;
	width: 60%;
	content: '';
	opacity: .4;
	box-shadow: 0 17px 10px rgba(0,0,0,.7);
	-webkit-transform: rotate(-3deg);
	-ms-transform: rotate(-3deg);
	transform: rotate(-3deg);
}

.service-shadow::after {
	left: auto;
	right: 10px;
	-webkit-transform: rotate(3deg);
	-ms-transform: rotate(3deg);
	transform: rotate(3deg);
}

.grey-wrapper {
	padding: 40px 0;
	background: #f3f3f3;
}

.vid-container {
	padding-top: 65%;
	position: relative;
}

.vid-container iframe {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
}


.widgets {
	padding-top: 40px;
	padding-bottom: 40px;
}

/* ==========================================================================
   Content / Backend
/* ========================================================================== */

.static-wrapper {
	position:relative;
	height:300px;
	background:url(../img/slide-1.jpg) center/cover no-repeat;
}

.featured-image {
	height:300px;
	background-position:center;
	background-size:cover;
}

.content-wrapper {
}

.content {
	background:#fff;
	padding:40px;
	min-height: 400px;
}

.content h3 {
	margin: 0 0 10px;
}



/* ==========================================================================
   Posts
/* ========================================================================== */

.blog article,
.category article,
.archive article,
.search article {
	margin-bottom:30px;
	padding-bottom:30px;
	border-bottom:1px dotted #aaa;
}

.blog .entry-content,
.category .entry-content,
.archive .entry-content,
.search .entry-content,
.single .entry-content {
	margin-top:20px;
}

.page .entry-content img {
	height: auto;
}

h1.page-title {
	margin:0 0 30px;
}

h2.single-title {
	margin:0 0 15px;
}

h2.single-title a {
	text-decoration:none;
}

.main-col,
.main-col-blog {
	float:left;
	width:74%;
	padding-right:4%;
	border-right:1px dotted #aaa;
}

.main-col-blog {
	width:64%;
}

.post-meta {
	font-size:14px;
	font-style:italic;
}

.main-col .article-footer {
	padding-top:30px;
	font-size:12px;
	border-top:1px dotted #eaeaea;
}

/* Sidebar */

.sidebar {
	float:right;
	width:22%;
}

.sidebar-blog {
	float:right;
	width:32%;
}

.sidebar-blog h2.widget-title {
	margin:0 0 20px 0;
	line-height:40px;
	font-size:22px;
}

.widget_archive label, .widget_search label span {
	display:none;
}

.main-sidebar {
	float:right;
	width:34%;
	padding-top:100px;
}

.sidebar-nav {
	margin:0;
	padding:0;
	list-style:none;
}

.sidebar-nav li {
}

.sidebar-nav li a {
	display:block;
	padding:0 10px;
	margin-bottom:5px;
	line-height:30px;
	background:#f9f9f9;
}

.sidebar-nav li ul {
	margin:0;
	padding:0;
	list-style:none;
}

.sidebar-nav li ul li a {
	line-height:25px;
	padding:0 25px;
	background:#fcfcfc;
}


/* Pagination */

.pagination {
	margin-top:20px;
}

.pagination ul {
	margin:0;
	padding:0;
	list-style:none;
	font-size:14px;
}

.pagination li {
	float:left;
}

.pagination li span,
.pagination li a {
	display:block;
	padding:5px 10px;
	margin-right:2px;
	background:#e2e2e2;
	text-decoration:none;
}

.pagination li span {
	background:#f3f3f3;
}

.pagination .next,
.pagination .prev {
	position:relative;
	top:auto;
	margin:0 2px 0 0;
	right:auto;
	left:auto;
}


/* ==========================================================================
   Forms
/* ========================================================================== */

.form-container {
	width:400px;
}

.form-group {
	margin-bottom:5px !important;
}

.error {
	color:#c00;
}
.success {
	color:#090;
}

.wpcf7 br {
	display: none;
}

/* ==========================================================================
   Footer
/* ========================================================================== */

.footer-wrapper {
	padding: 20px 0;
	background: #000;
}

.footer {
	font-size: 12px;
	color: #fff;
}

.footer-center {
	text-align: center;
	font-size: 14px;
}

.footer-right {
	text-align: right;
}

.footer a:hover {
	color: #fff;
}

/* ==========================================================================
   Helpers
/* ========================================================================== */


.cf:before,
.cf:after {
    content: " ";
    display: table;
}

.cf:after {
    clear: both;
}

.cf {
    *zoom: 1;
}

.placeholder {
  color: #aaa;
}

/* ==========================================================================
   Responsive
/* ========================================================================== */

@media (max-width: 1200px) {
	.nav li a { font-size: 12px; }
}

@media (max-width: 992px) {
	.fixed-header { position: relative; background:#000; z-index: 1; }
	.slicknav_menu { display: block; }
	.nav-container { display: none; }
}

@media (max-width: 767px) {
	.footer-left, .footer-center, .footer-right { text-align: center; margin-bottom: 10px; }
}

@media (max-width: 568px) {
}



