/*
Theme Name: Lighthouse
Description: Semantic, SEO Optimised, Custom Wordpress Theme for Lighthouse
Author: Hopping Mad Design
Author URI: http://www.hoppingmad.com.au/
*/

/* Reset */
a, abbr, acronym, address, area, b, bdo, big, blockquote, body, button, caption, cite,
code, col, colgroup, dd, del, dfn, div, dl, dt, em, fieldset, form, h1, h2, h3, h4,
h5, h6, hr, html, i, images, ins, kbd, label, legend, li, map, object, ol, p, param, pre,
q, samp, small, span, strong, sub, sup, table, tbody, td, textarea, tfoot, th, thead,
tr, tt, ul, var {margin:0;padding:0;vertical-align:baseline}
* { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box;  }

input[type=number] { -moz-appearance:textfield; }
input[type=number]::-webkit-inner-spin-button, input[type=number]::-webkit-outer-spin-button {  -webkit-appearance: none;  margin: 0; }
input[type="search"] {	-webkit-appearance: textfield; -moz-box-sizing: content-box;-webkit-box-sizing: content-box;box-sizing: content-box;}
input[type=submit]{-webkit-appearance: none;}

/* Defaults */
html,body{height:100%;margin:0; }
html{
	-webkit-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
	color:#000000; 
	font: 62.5% 'Open Sans', sans-serif;
	background:#333333;
}
img{border-style:none}
a{text-decoration:none;color:#0066cc;}
a:hover{color:#0066cc;}
input,textarea,select{font:100% 'Open Sans', sans-serif; vertical-align:middle}
form,fieldset{border-style:none;margin:0;padding:0;font:100% 'Open Sans', sans-serif;}

img.alignleft {margin: 0 10px 10px 0;}
.alignleft {float: left;}
img.alignright {margin: 0 0 10px 10px;}
.alignright {float: right;}
.aligncenter {margin:10px auto;}


.clear{clear: both;}

h1, h2, h3, h4, h5, h6{
    margin: 0 0 0.7em;
    padding: 0;
	font-weight:400;
	font-family:'Lato';
	line-height:1.2em;
}
.entry-content p,.entry-content ul{
	margin:0 0 1.2em;
}
h1{
	font-size:3rem;
}
h2{
	font-size:2.4rem;
}
h3{
	font-size:1.8rem;
}
h4{
	font-size:1.6rem;
}

/* =====================
Header
======================== */
.layout{
	max-width:1080px;
	margin:auto;
	position:relative;
}
.layout-2{
	max-width:1180px;
	margin:auto;
}
#masthead{
	background:#201f1f;
	padding:7px 0 11px;
}
.site-branding{
	display:block;
	float:left;
	width:210px;
}
.site-branding img{
	display:block;
	width:100%;
	height:auto;
}
.header-right{
	display:inline-block;
	float:right;
	text-align:right;
}
.header-phone{
	color:#fff;
	font:1.5rem 'Lato', sans-serif;
	padding:7px 0 0;
}
.header-phone a{
	color:#fff;
	font:700 1.6rem 'Open Sans', sans-serif;
	display:inline-block;
	margin-left:5px;
}
.header-phone a:before{
	content:' ';
	display:inline-block;
	width:13px;
	height:13px;
	background:url(images/phone.png) no-repeat center center / 100% auto;
	vertical-align:middle;
	margin-right:5px;
}
.header-phone .top-email:before{
	background:url(images/email.png) no-repeat center center / 100% auto;
	width:15px;
	height:15px;
}
#desktop-menu {
	margin:16px 0 0;
}
#desktop-menu li{
	list-style:none;
	text-transform:uppercase;
	display:inline-block;
	margin-left:35px;
	font-size:1.5rem;
	font-weight:700;
}
#desktop-menu li a{
	color:#fff;
	display:inline-block;
}
#desktop-menu ul li:first-child{
	margin-left:0;
}
#desktop-menu li:hover a, #desktop-menu .current-menu-item a{
	color:#0066cc;
}

/* =====================
Frontpage / home
======================== */
.header-image {
	position:relative;
}
.header-image img{
	display:block;
	max-width:100%;
	margin:auto;
	height:auto;
}
.header-content-wrapper{
	position:absolute;
	top:41%;
	left:0;
	width:100%;
	-ms-transform: translateY(-50%); 
    -webkit-transform: translateY(-50%); 
    transform: translateY(-50%);
}
.header-content{
	font:3.3rem/1.48em 'Lato';
	color:#fff;
}
.content-block-1{
	background:#202020;
	color:#fff;
	padding:25px 0 40px;
}
.content-2-col{
	 -webkit-columns: 2; 
    -moz-columns: 2; 
    columns: 2;
	padding-bottom:5px;
	 -webkit-column-gap: 55px; /* Chrome, Safari, Opera */
    -moz-column-gap: 55px; /* Firefox */
    column-gap: 55px;
}
.entry-content{
	font-size:1.5rem;
	line-height:1.25em;
}
.button-wrapper{
	text-align:center;
	margin:35px 0 0;
}
.blue-button{
	display:inline-block;
	border:3px solid #106ba7;
	color:#fff;
	font-weight:700;
	font-size:2rem;
	line-height:2.25em;
	padding:0 30px;
	border-radius:3px; 
	-moz-border-radius:3px; 
	-webkit-border-radius:3px;
}
.blue-button:hover{
	color:#fff;
}
.h-banner{
	position:relative;
	background:#101226;
}
.h-banner img{
	display:block;
	max-width:100%;
	height:auto;
	margin:auto;
}
.h-banner-content-wrapper{
	position:absolute;
	top:50%;
	left:0;
	width:100%;
	-ms-transform: translateY(-50%); 
    -webkit-transform: translateY(-50%); 
    transform: translateY(-50%);
}
.h-banner-content{
	color:#fff;
	font-size:1.8rem;
	width:455px;
	border-top:6px solid #fff;
	border-bottom:6px solid #fff;
	padding:15px 0 1px;
	float:right;
	margin-right:9.72%;
	line-height:1.22;
	
}
.h-banner-content strong{
	font-weight:600;
}
.h-banner-content p{
	margin-bottom:1em;
}

/* =====================
Footer
======================== */
#colophon{
	background:#000;
	color:#fff;
	padding-bottom:45px;
}
#colophon .layout{
	position:relative;
}
#colophon a{
	color:#fff;
}
.footer-address{
	font-size:1.5rem;
	font-weight:600;
	padding-top:10px;
	line-height:1.3em;
}
.footer-address strong{
	font-weight:700;
}
.footer-address h2{
	margin-bottom:0.4em;
}
.socials a{
	display:inline-block;
	width:40px;
	height:40px;
	background:url(images/social.png) no-repeat left center / 80px auto;
	margin-right:2px;
}
.socials .linkedin{
	background-position:right center;
}
.socials{
	margin:15px 0 0;
}
.f-left{
	float:left;
	width:40.27%;
}
.f-right{
	float:right;
	width:53%;
}
#page .f-form .gfield_label{
	display:none;
}
.f-form{
	background:#333333;
	padding:3px 10px 10px;
}
#page .f-form .gform_description{
	display:block;
	color:#fff;
	font:700 1.4rem 'Open Sans', sans-serif;
	margin:0 0 19px;
}
#page .f-form .gform_heading{
	margin:0 0 0;
}
#page .f-form .gfield {
	margin:0 10px 5px 0;
	padding:0;
	width:220px;
	display:inline-block;
	vertical-align:top;
}
#page .f-form input[type='text'],#page .f-form input[type='email']{
	width:100%;
	padding:0 10px;
	margin:0;
	border:none;
	background:#000000;
	color:#fff;
	font-size:1.2rem;
	line-height:2.66em;
}
#page .f-form .gform_footer {
	padding:0;
	margin:12px 0 0;
	max-width:450px;
	text-align:right;
}
#page .f-form .gform_button{
	text-align:center;
	display:inline-block;
	background:#006699;
	border:none;
	color:#fff;
	font:700 1.4rem/2.29em 'Open Sans', sans-serif;
	width:220px;
	margin:0;
	cursor:pointer;
}
#page  .validation_message{
	padding:0;
	font-size:1.1rem;
	background:#fff;
}
.ginput_container{
	margin:0 !important;
}
#page .validation_error{
	padding:10px 0;
	font-size:1.4rem;
	background:#fff;
	max-width:450px;
	margin-bottom:10px;
}
.site-info{
	font-size:1.2rem;
	line-height:1.2em;
	margin:25px 0 10px;
}
.f-links{
	color:#fff;
	font-size:1.5rem;
	text-transform:uppercase;
}
.footer-text{
	font-size:1.1rem;
	padding-right:300px;
	line-height:1.2em;
	margin-top:10px;
}
.footer-logo{
	width:210px;
	position:absolute;
	right:0;
	bottom:0;
	display:block;
}
.footer-logo img{
	display:block;
	width:100%;
}
.design-by{
	font-size:1.2rem;
	margin-top:15px;
	position:absolute;
	left:0;
	bottom:-25px;
}

/* =====================
What We Do
======================== */
.content-block-blue{
	background:#0066cc;
	color:#fff;
	padding:27px 0 38px;
}
.panels img{
	display:block;
	margin:auto;
	max-width:100%;
	height:auto;
}
.panels li{
	position:relative;
}
.panel-content-wrapper{
	position:absolute;
	left:0;
	top:50%;
	width:100%;
	-ms-transform: translateY(-50%); 
    -webkit-transform: translateY(-50%); 
    transform: translateY(-50%);
}
.panel-content{
	background:url(images/icon.png) no-repeat left top / 72px auto;
	color:#fff;
	max-width:480px;
	font-size:1.5rem;
	line-height:1.26em;
	padding-top:27px;
}
.panel-content p{
	margin-bottom:1em;
}
.panels ul li:nth-child(2n) .panel-content{
	float:right;
}
.panel-content h1{
	margin-bottom:0.4em;
}
.h-banner-2{
	background:#0066cc;
	height:280px;
	color:#fff;
	position:relative;
}
.btn{
	display:inline-block;
	font-size:2rem;
	font-weight:700;
	line-height:2.13em;
	text-transform:uppercase;
	padding:0 25px;
	border:3px solid #fff;
	color:#fff;
	border-radius:2px; 
	-moz-border-radius:2px; 
	-webkit-border-radius:2px;
}
.btn:hover{
	color:#fff;
}
.h-banner-2 .btn{
	top:50%;
	position:absolute;
	-ms-transform: translateY(-50%); 
    -webkit-transform: translateY(-50%); 
    transform: translateY(-50%);
}

/* =====================
Why Us
======================== */
.content-block-blue .btn{
	display:block;
	width:425px;
	margin:40px auto 0;
	text-align:center;
}
.why-us-content {
	color:#fff;
	font-size:1.5rem;
	line-height:1.2em;
	text-align:center;
	padding:24px 0 25px;
}
.why-us-content li{
	list-style:none;
	display:inline-block;
	width:310px;
	border:3px solid #fff;
	border-radius:2px; 
	-moz-border-radius:2px; 
	-webkit-border-radius:2px;
	vertical-align:top;
	padding: 20px 15px 20px;
	margin: 0 8px 25px;
	min-height:190px;
	text-align:left;
}
.why-us-content li strong{
	display:block;
	font-size:2.4rem;
	font-weight:700;
	line-height:1em;
	margin-bottom:0.7em;
}
.why-us-content ul{
	margin-top:25px;
}
.why-us-content h1{
	margin-bottom:50px;
}
.teams {
	background:#666666;
	color:#fff;
	padding:60px 0 40px;
}
.teams a{
	color:#fff;
}
.teams li{
	list-style:none;
	display:inline-block;
	width:310px;
	border:3px solid #fff;
	border-radius:2px; 
	-moz-border-radius:2px; 
	-webkit-border-radius:2px;
	padding: 20px 15px 45px;
	min-height:200px;
	vertical-align:top;
	margin:0 8px 30px;
	font-size:1.5rem;
	line-height:1.3em;
	position:relative;
	text-align:left;
}
.teams li h2{
	font-weight:700;
}
.teams .more{
	position:absolute;
	bottom:19px;
	left:15px;
}
.more{
	font-size:1.5rem;
	font-weight:700;
}
.teams ul{
	text-align:center;
}
#default-page,#contact-page,#blog-page{
	color:#fff;
	padding-top:60px;
	padding-bottom:60px;
}
#default-page .entry-content{
	font-size:1.3rem;
}
#default-page .entry-content h2,#default-page .entry-content h3, #default-page .entry-content h4{
	font-weight:700;
}
.entry-content li{
	margin-left:20px;
	padding-left:10px;
}
.c-left{
	float:left;
	width:44.9%;
}
.c-right{
	float:right;
	width:40.2%;
}
.map iframe{
	width:100%;
}
.c-form .gfield_label{
	display:none !important;
}
#page .c-form{
	max-width:940px;
	margin-top:40px;
}
#page .c-form .gfield{
	list-style:none;
	margin:0 0 25px;
	padding:0;
}
#page .c-form .left,#page .c-form .right{
	width:300px;
	display:inline-block;
	vertical-align:top;
	margin-right:20px;
}
#page .c-form .gform_body input{
	width:100%;
	border-radius:2px; 
	-moz-border-radius:2px; 
	-webkit-border-radius:2px;
	font-size:1.5rem;
	line-height:2.4em;
	padding:0 10px;
	color:#3d3d3d;
	border:none;
}
#page .c-form  textarea{
	width:100%;
	border-radius:2px; 
	-moz-border-radius:2px; 
	-webkit-border-radius:2px;
	font-size:1.5rem;
	color:#3d3d3d;
	padding:6px 10px;
	border:none;
}
::-webkit-input-placeholder {
   opacity:1;
}
:-moz-placeholder { 
   opacity:1; 
}
::-moz-placeholder { 
   opacity:1;
}
:-ms-input-placeholder {  
	opacity:1;
}
#page .c-form .gform_footer{
	margin:0;
	padding:0;
	text-align:right;
}
#page .c-form .gform_button{
	text-align:center;
	display:inline-block;
	background:#006699;
	border:none;
	color:#ffd;
	font:700 1.4rem/2.29em 'Open Sans', sans-serif;
	width:220px;
	margin:0;
	cursor:pointer;
}

/* =====================
Blog
======================== */
.blog-wrapper{
	text-align:center;

}
.blog-wrapper .layout{
	padding: 0 35px;
}
.blog-wrapper .b-post{
	list-style:none;
	display:inline-block;
	width:270px;
	color:#fff;
	margin:0 25px 15px;
	text-align:left;
	vertical-align:top;
}
.blog-wrapper .b-post a{
	color:#fff;
}
.blog-wrapper .b-post img{
	display:block;
	width:100%;
	height:auto;
}
.blog-wrapper .b-post h2{
	font-size:2.1rem;
	font-weight:700;
	margin:20px 0 9px;
} 
.bdate{
	font-size:1.4rem;
	font-weight:700;
	margin-bottom:10px;
}
.blog-wrapper .large a{
	color:#fff;
}
.blog-wrapper .large{
	text-align:left;
	float:left;
	width:68.31%;
	margin:0 0 60px;
}
.blog-wrapper .large img{
	display:block;
	width:100%;
	height:auto;
}
.blog-wrapper .large h2{
	font-size:2.6rem;
	font-weight:700;
	margin:10px 0 10px;
}
.blog-sidebar{
	text-align:left;
	width:22%;
	float:right;
	text-transform:uppercase;
}
.ar-cat li{
	list-style:none;
	margin:5px 0 ;
}
.ar-cat li a{
	color:#fff;
}
.ar-cat{
	font-size:1.5rem;
	font-weight:600;
}
.ar-cat header{
	margin-bottom:12px;
	font-size:1.7rem;
	font-weight:700;
}
.ar-cat {
	margin-bottom:35px;
}
.page-title{
	text-align:left;
}

#open-tablet-menu,.slideshow-nav,.header-image .header-image-mobile{
	display:none;
}

/* =====================
Slide menu defautl style
======================== */
.sidr{display:none;position:absolute;position:fixed;top:0;height:100%;z-index:500;width:320px;overflow-x:none;overflow-y:auto;background:#000;padding-top:46px;}
.sidr .sidr-inner{padding:0 0 15px}
.sidr.right{left:auto;right:-320px}
.sidr.left{left:-320px;right:auto}

/* 1024  */
@media screen and (max-width:1024px){
	.layout{
		padding-left:20px;
		padding-right:20px;
	}
	.design-by{
		left:20px;
	}
	.footer-logo{
		right:20px;
	}
	.h-banner-2 .btn{
		display:none;
	}
}

/* 960  */
@media screen and (max-width:960px){
	#desktop-menu{
		display:none;
	}
	.header-right .header-phone{
		display:none;
	}
	#open-tablet-menu{
		display:block;
		width:35px;
		margin:28px 0 0;
	}
	#open-tablet-menu span{
		display:block;
		background:#fff;
		height:4px;
		margin:4px 0;
	}
	.header-image img{
		height:500px;
		width:auto;
		max-width:none;
		left:50%;
		-ms-transform: translateX(-50%); 
		-webkit-transform: translateX(-50%); 
		transform: translateX(-50%);
		margin:0;
		position:relative;
	}
	.header-image{
		overflow:hidden;
	}
	#mobile-menu{
		padding:50px 30px 0;
	}
	#mobile-menu li{
		list-style:none;
		color:#fff;
		font-size:1.5rem;
		font-weight:700;
		margin-bottom:15px;
		text-transform:uppercase;
	}
	#mobile-menu li a{
		color:#fff;
	}
	#mobile-menu .header-phone{
		padding-top:12px;
	}
	#mobile-menu .header-phone a{
		margin-top:7px;
	}
	#mobile-menu .current-menu-item a{
		color:#0066cc;
	}
	#page .f-form .gform_footer	{
		text-align:left;
	}
}

/* 700  */
@media screen and (max-width:700px){
	.content-2-col{
		-webkit-columns: auto ;
		-moz-columns: auto ;
		columns: auto ;
	}
	.header-content{
		text-align:center;
	}
	.h-banner-content{
		float:none;
		margin:auto;
		width:100%;
		max-width:455px;
	}
	.h-banner{
		overflow:hidden;
		height:340px;
	}
	.h-banner img{
		height:100%;
		width:auto;
		left:50%;
		position:relative;
		-ms-transform: translateX(-50%); 
    -webkit-transform: translateX(-50%); 
    transform: translateX(-50%);
	max-width:none;
	}
	.f-right,.f-left{
		float:none;
		width:100%;
	}
	.f-form{
		margin-bottom:15px;
	}
	.panels ul li:nth-child(2n) .panel-content{
		float:none;
	}
	.panel-content{
		margin:auto;
		text-align:center;
		background:none;
		padding:0;
	}
	.panel-content h1{
		background:url(images/icon.png) no-repeat left top / 72px auto;
		padding-top:27px;
		display:inline-block;
	}
	.panels img{
		height:100%;
		width:auto;
		max-width:none;
		position:relative;
		left:50%;
		-ms-transform: translateX(-50%); 
    -webkit-transform: translateX(-50%); 
    transform: translateX(-50%);
	}
	.panels li{
		overflow:hidden;
		height:375px;
	}
	.h-banner-2 .btn{
		display:inline-block;
		-ms-transform: none;
		-webkit-transform: none;
		transform: none;
		left:auto;
		top:auto;
		position:relative;
		margin:0 0 39px;
	}
	.h-banner-2{
		height:auto;
		text-align:center;
		padding:25px 0 40px;
	}
	.h-banner-2 .h-banner-content-wrapper{
		-ms-transform: none;
		-webkit-transform: none;
		transform: none;
		position:relative;
		width:100%;
		height:100%;
		left:auto;
		top:auto;
	}
	.blog-wrapper .layout{
		padding:0 20px;
	}
	.blog-wrapper .b-post{
		margin:0 20px 0 0;
		float:left;
	}
	.blog-wrapper .large{
		float:none;
		width:100%;
		margin-bottom:25px;
	}
	.blog-sidebar{
		float:none;
		width:100%;
		margin-bottom:50px;
	}
	.ar-cat{
		margin-bottom:10px;
	}
	.ar-cat ul{
		display:none;
		background:#000;
		text-align:center;
		padding:1px 0 15px;
	}
	.ar-cat header{
		background:#000;
		text-align:center;
		padding:5px 0;
		margin:0;
	}
	.ar-cat header span{
		display:inline-block;
		width:12px;
		height:12px;
		background:url(images/arrow.png) no-repeat center center / 100% auto;
		margin-left:10px;
	}
	.ar-cat.active header span{
		-ms-transform: rotate(180deg); 
		-webkit-transform: rotate(180deg); 
		transform: rotate(180deg);
	}
	.ar-cat.active ul{
		display:block;
	}
	#colophon{
		padding-top:5px;
	}
	.c-left,.c-right{
		width:100%;
	}
	.map{
		margin-top:20px;
	}
	#page .c-form .left, #page .c-form .right{
		margin:0 0 20px 0;
	}
	#page .c-form .left{
		margin-right:20px;
	}
	.footer-logo{
		display:none;
	}
	.footer-text{
		padding:0;
	}
}

/* 500  */
@media screen and (max-width:500px){
	.site-branding{
		width:200px;
	} 
	.header-image img{
		height:400px;
	}
	.f-form{
		padding:1px 20px 10px;
	}
	.footer-address{
		font-size:1.4rem;
	}
	.why-us-content h1{
		margin-bottom:25px;
	}
	.why-us-content li{
		margin-bottom:15px;
	}
	.header-content{
		font-size:2.6rem;
		line-height:1.2em;
	}
	.teams{
		padding:30px 0;
	}
	.teams li{
		margin-bottom:15px;
	}
	#default-page, #contact-page, #blog-page{
		padding-top:30px;
		padding-bottom:30px;
	}
	#page .c-form .left, #page .c-form .right{
		margin-right:0;
		width:100%;
	}
	#page .c-form .gform_button{
		width:100%;
	}
	.slideshow-nav{
		display:block;
		width:22px;
		height:37px;
		background:url(images/nav.png) no-repeat left center / 200% auto;
		position:absolute;
		bottom:170px;
		z-index:100;
	}
	.slideshow-nav.prev{
		left:0;
	}
	.slideshow-nav.next{
		background-position:right center;
		right:0;
	}
	.blog-wrapper ul{
		position:relative;
	}
	#blog-list{
		width:280px;
		margin:auto;
		padding-bottom:1px;
	}
	#blog-list .b-post{
		margin:0;
		float:none;
	}
	.content-block-blue .btn{
		width:100%;
	}
	.header-image .header-image-mobile{
		display:block;
		left:0;
	}
	.header-image .header-image-desktop{
		display:none;
	}
}



















