/*
Theme Name: Road Traffic Management
Description: Semantic, SEO Optimised, Custom Wordpress Theme for Road Traffic Management
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% 'Source Sans Pro', sans-serif;
}
img{border-style:none}
a{text-decoration:none;color:#fcbc0f;}
a:hover{color:#fcbc0f;}
input,textarea,select{font:100% 'Source Sans Pro', sans-serif; vertical-align:middle}
form,fieldset{border-style:none;margin:0;padding:0;font:100% 'Source Sans Pro', 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;
}
.entry-content p,.entry-content ul{
	margin:0 0 1em;
}
.entry-content{
	font-size:1.7rem;
}
h1{
	font-size:3.7rem;
}
h2{
	font-size:2.4rem;
}
h3{
	font-size:1.9rem;
}
h4{
	font-size:1.5em;
}

/* =====================
Header
======================== */
.layout{
	max-width:1024px;
	margin:auto;
}
.site-branding img{ 
	display:block;
	height:83px;
	width:auto;
}
.site-branding{
	display:inline-block;
	float:left;
}
#header-right{
	float:right;
	text-align:right;
	display:inline-block;
	padding:52px 0 0;
}
#desktop-menu li{
	list-style:none;
	display:inline-block;
	margin-right:40px;
	padding-bottom:2px;
}
#desktop-menu li:hover, #desktop-menu .current-menu-item{
	border-bottom:2px solid #fcbc0f;
}
#desktop-menu li a{
	color:#000;
	font-size:1.7rem;
	font-weight:700;
}
#desktop-menu{
	display:inline-block;
	vertical-align:top;
}
.header-phone{
	display:inline-block;
	vertical-align:top;
	color:#000;
	padding-left:26px;
	background:url(images/phone.png) no-repeat left top / 21px auto;
	font-size:1.8rem;
}
#masthead{
	padding:20px 20px 30px 30px;
}

/* =====================
Footer
======================== */
#colophon{
	background:#9d9d9d;
}
.site-info{
	max-width:765px;
	margin:auto;
	color:#fff;
	font-size:1.7rem;
	padding:22px 0 30px;
}
.site-info a{
	color:#fff;
}
.site-info a:hover{
	color:#fcbc0f;
}
#footer-menu li{
	list-style:none;
	display:inline-block;
	border-right:1px solid #fff;
	padding-right:7px;
	margin-right:7px;
}
#footer-menu ul li:last-child{
	border:none;
	padding:0;
	margin:0;
}
#footer-menu{
	display:inline-block;
	float:right;
	text-align:right;
}
.footer-info{
	display:inline-block;
	float:left;
}
.footer-info span{
	margin:0 10px;
}
#copyright{
	text-align:center;
	margin:25px 0 0
}
.design-by{
	text-align:center;
	font-size:1.2rem;
	margin-top:15px;
}

/* =====================
Front / Home
======================== */
#header-image img{
	display:block;
	margin:auto;
	max-width:100%;
	height:auto;
}
#header-image{
	position:relative;
}
.header-text-wrapper{
	position:absolute;
	left:0;
	top:0;
	width:100%;
	height:100%;
	z-index:10;
}
.header-text{
	font-size:2.1rem;
	color:#fff;
	text-align:center;
	max-width:750px;
	margin:95px auto 0;
}
.header-btn{
	display:inline-block;
	line-height:45px;
	width:390px;
	border:2px solid #fff;
	color:#fff;
	margin:50px 0 0;
}
.header-btn:hover{
	color:#fcbc0f;
}
.bottom-text{
	font-size:2.1rem;
	text-align:center;
	padding:50px 0;
}
#why-choose{
	background:#f7f7f7;
	text-align:center;
	padding:30px 0 40px;
}
#why-choose li{
	list-style:none;
	float:left;
	width:15.14%;
	margin:20px 2.43% 0;
	font-size:1.6rem;
}
#why-choose .icon-wrapper{
	height:60px;
	margin:0 0 25px;
}
#why-choose .icon-wrapper img{
	display:block;
	margin:auto;
	height:100%;
	width:auto;
}
.service-home-title{
	text-align:center;
	padding:15px 0 0;
}
#home-services-wrapper{
	background:#f7f7f7;
	min-height:100px;
	padding:35px 0 20px;
}
#home-services-wrapper li{
	list-style:none;
	background:#fff;
	width:29.79%;
	margin:0 5.315% 15px 0;
	float:left;
	padding:15px 30px 15px;
	text-align:center;
}
#home-services-wrapper div li:nth-child(3n){
	margin-right:0;
}
#home-services-wrapper li img{
	display:block;
	max-width:100%;
	height:auto;
	margin:0 auto 12px;
}
#home-services-wrapper li h2{
	margin:0 0 15px;
	font-size:2.2rem;
	font-weight:600;
}
#home-services-wrapper li a{
	font-size:2rem;
}

/* =====================
Contact
======================== */
#map iframe{
	display:block;
	width:100%;
}
#map{
	margin-bottom:60px;
}
#contact-info{
	float:left;
	width:30.76%;
	font-size:1.7rem;
}
#contact-info h2{
	font-size:2.2rem;
	margin-bottom:0.5em;
}
#contact-info a{
	color:#000;
}
#contact-info p{
	margin-bottom:5px;
}
.ctel{
	display:inline-block;
	padding-left:38px;
	background:url(images/phone-b.png) no-repeat left 10px center / 15px auto;
}
.fax{
	display:inline-block;
	padding-left:38px;
	background:url(images/fax.png) no-repeat left 9px center / 17px auto;
}
.ctel24{
	display:inline-block;
	padding-left:38px;
	background:url(images/phone24.png) no-repeat left 8px center / 20px auto;
}
.email{
	text-decoration:underline;
}
#contact-info .space{
	margin-top:30px;
}
#contact-form{
	float:right;
	width:66.89%;
}
.cform li{
	list-style:none;
	width:46%;
	margin:0 8% 25px 0;
	float:left;
}
.cform li.full{
	width:100%;
	margin:5px 0 25px;
}
.cform li.short{
	width:19%;
}
.gform_body:after{
	content:' ';
	display:block;
	clear:both;
}
.cform ul li:nth-child(2n){
	margin-right:0;
}
.cform .gfield_label{
	display:none;
}
.cform input::-webkit-input-placeholder,.cform textarea::-webkit-input-placeholder {
	opacity:1;
	color:#818181;
}
.cform input:-moz-placeholder,.cform textarea:-moz-placeholder { 
	opacity:1; 
	color:#818181;
}
.cform input::-moz-placeholder,.cform textarea::-moz-placeholder { 
	opacity:1;
	color:#818181;
}
.cform input:-ms-input-placeholder ,.cform textarea:-ms-input-placeholder{  
	opacity:1; 
	color:#818181;   
}
.cform input[type='text'],.cform input[type='tel'],.cform input[type='email']{
	width:100%;
	padding:0;
	border:none;
	border-bottom:3px solid #fcbc0f;
	font-size:1.9rem;
	padding-bottom:5px;
}
.cform textarea{
	border:3px solid #fcbc0f;
	width:100%;
	font-size:1.9rem;
	padding:5px 9px ;
	height:295px;
	border-radius:3px; 
	-moz-border-radius:3px; 
	-webkit-border-radius:3px;
}
.cform input[type='submit']{
	border:3px solid #fcbc0f;
	background:none;
	color:#fcbc0f;
	font-weight:700;
	font-size:2.5rem;
	line-height:2em;
	width:270px;
	border-radius:3px; 
	-moz-border-radius:3px; 
	-webkit-border-radius:3px;
	cursor:pointer;
}
.cform .gform_footer {
	text-align:right;
}
.validation_error,.gform_confirmation_message{
	color:red;
	font-size:1.9rem;
	margin-bottom:15px;
}
.validation_message{
	color:red;
	font-size:1.2rem;
}
#contact-page{
	padding-bottom:60px;
}

/* =====================
Job Application
======================== */
.intro-text{
	font-size:1.9rem;
	padding:40px 30px 0;
}
#job-form{
	background:#f7f7f7;
	position:relative;
	margin:22px 0 230px;
	padding:15px 0 0;
}
#job-form .gform_wrapper{
	max-width:1024px;
	margin:auto;
	padding:0 30px;
}
#job-form .gform_footer{
	background:#fff;
	position:absolute;
	top:100%;
	max-width:964px;
	width:100%;
	padding:25px 0 0;
}
#job-form input[type="text"], #job-form input[type="tel"], #job-form input[type="email"]{
	background:#f7f7f7;
}
#job-form textarea{
	background:#f7f7f7;
}
#job-form #field_2_12 .gfield_label{
	display:block;
	font-size:2rem;
	font-weight:700;
	margin-bottom:14px;
}
#job-form li.short{
	margin-left:8%;
	margin-right:0;
}
.cform .gender .gfield_label{
	color:#818181;
	font-size:1.9rem;
	font-weight:700;
	width:30%;
	float:left;
	display:block;
}
.cform .gender .ginput_container {
	float:left;
	width:70%;
}
.cform .gender .gfield_radio li{
	width:50%;
	margin:0;
	font-size:1.8rem;
	color:#818181;
}
.cform .gender .gfield_radio li label{
	margin-left:5px;
}
.cform .upload .gfield_label{
	display:inline-block;
	width:40%;
	font-weight:700;
	font-size:2rem;
	float:left;
}
.cform li.upload{
	margin-top:0;
}
.cform .upload .ginput_container {
	width:60%;
	float:left;
	font-size:1.9rem;
}
.cform input[type='file']::-ms-browse {
	height:30px;
	vertical-align:top;
}
.cform input[type='file']::-webkit-file-upload-button {
	height:30px;
	vertical-align:top;
}
.cform .agreement {
	font-size:1.9rem;
}
.cform .agreement li{
	width:100%;
	margin:0;
}
.cform .agreement input{
	margin:5px 15px 30px 0;
	float:left;
}

/* =====================
Single Service
======================== */
#single-service{
	padding:40px 30px 0;
}
.bottom-image img{
	display:block;
	margin:auto;
	max-width:100%;
	height:auto;
}
.book-service{
	display:block;
	width:375px;
	margin:60px auto 75px;
	border:2px solid #fcbc0f;
	color:#fcbc0f;
	font-size:2.3rem;
	line-height:2em;
	text-align:center;
}
.book-service:hover{
	color:#fcbc0f;
}

/* =====================
Services
======================== */
.services-wrapper{
	padding:40px 0 0;
}
.services-wrapper li{
	list-style:none;
	float:left;
	width:26.37%;
	margin:0 3.465% 90px;
	font-weight:600;
	font-size:1.8rem;
	position:relative;
}
.services-wrapper li img{
	display:block;
	max-width:100%;
	height:auto;
}
.services-wrapper li h2{
	margin:20px 0 10px;
}
.service-description p:before{
	content:'\2022';
	margin:0 5px 0 0;
	font-size:12px;
}
.readmore{
	display:block;
	width:150px;
	border:2px solid #fcbc0f;
	color:#fcbc0f;
	font-size:1.8rem;
	line-height:1.66em;
	text-align:center;
	font-weight:400;
	margin:15px 0 0;
}
.readmore:hover{
	color:#666;
}
.service-description{
	min-height:100px;
}

/* =====================
About
======================== */
#about-page{
	text-align:center;
	padding:0 0 60px;
}
#about-page .entry-content{
	font-size:2.1rem;
}
#about-page h1{
	line-height:1em;
	margin-top:40px ;
}


#open-tablet-menu,#mobile-menu{
	display:none;
}

/* =====================
Tablet / Mobile
======================== */
@media screen and (max-width:1024px){
	#desktop-menu{
		display:none;
	}
	.site-branding img{
		height:75px;
	}
	#header-right{
		max-width:150px;
		padding:0;
	}
	#open-tablet-menu{
		display:inline-block;
		width:50px;
		position:relative;
		margin:5px 0 0;
	}
	#open-tablet-menu span{
		display:block;
		position:relative;
	}
	#open-tablet-menu span{
		display:block;
		height:5px;
		background:#fcbc0f;
		margin:3px 0;
	}
	#mobile-menu{
		position:absolute;
		top:100%;
		right:0;
		background:#fff;
		text-align:right;
		z-index:1000;
		padding:5px 5px 0;
		width:115px;
	}
	#mobile-menu.active{
		display:block;
	}
	#mobile-menu li{
		list-style:none;
		padding:6px 0;
		border-bottom:1px solid #fcbc0f;
	}
	#mobile-menu li a{
		color:#000;
		font-size:20px;
		line-height:20px;
		font-weight:700;
	}
	#tablet-menu li{
		list-style:none;
		border-bottom:1px solid #000;
		padding:8px 0;
	}
	#tablet-menu li a{
		color:#000;
		font-size:1.6rem;
	}
	.header-text{
		margin-top:40px;
		font-size:1.8rem;
	}
	h1{
		font-size:3rem;
	}
	.header-btn{
		line-height:30px;
		width:250px;
		margin:30px 0 0;
	}
	.layout{
		padding-left:20px;
		padding-right:20px;
	}
	.bottom-text{
		padding-top:20px;
		padding-bottom:20px;
	}
}

@media screen and (max-width:700px){
	#map iframe{
		height:250px;
	}
	.site-branding img{
		height:60px;
	}
	#masthead{
		padding:10px 20px 15px;
	}
	.header-text{
		margin-top:15px;
		padding:0 20px;
	}
	.header-btn{
		width:180px;
		margin-top:15px;
	}
	.header-text h1{
		margin-bottom:5px;
		font-size:2.8rem;
	}
	html{
		font-size:50%;
	}
	#home-services-wrapper li{
		margin:0 0 15px;
		width:48%;
	}
	#home-services-wrapper li:nth-child(2n){
		float:right;
	}
	.footer-info,#footer-menu{
		float:none;
		display:block;
		text-align:center;
	}
	#copyright{
		margin:15px 0 0;
	}
	.site-info{
		padding:20px 0;
	}
	#about-page h1{
		margin-top:25px;
	}
	#about-page{
		padding-bottom:30px;
	}
	.services-wrapper li{
		width:48%;
		margin:0 0 15px;
	}
	.services-wrapper li:nth-child(2n){
		float:right;
	}
}

@media screen and (max-width:500px){
	.header-text h1{
		margin-bottom:0;
		font-size:2.5rem;
	}
	.header-btn{
		margin-top:10px;
	}
	#header-image img{
		height:195px;
		max-width:none;
		margin:auto;
		margin-left:-15%;
	}
	#header-image{
		overflow:hidden;
	}
	#home-services-wrapper{
		padding:0;
	}
	#home-services-wrapper li{
		width:100%;
		float:none !important;
		margin:0;
	}
	.service-home-title{
		padding:0 20px 0;
		background:#f7f7f7 ;
		margin:0;
	}
	.service-home-title span{
		display:block;
		background:#fff;
		padding:10px 0 0;
	}
	#why-choose li{
		width:100%;
	}
	.services-wrapper li{
		width:100%;
		float:none !important;
	}
	.cform li{
		margin:0 0 15px 0;
		width:100%;
	}
	#job-form li.short{
		width:46%;
	}
	#job-form li.short{
		margin-right:4%;
		margin-left:0;
	}
	.cform .upload .gfield_label{
		width:100%;
		margin-bottom:5px;
	}
	#job-form .gform_footer{
		text-align:left;
	}
	#job-form{
		margin:20px 0 100px;
	}
	#job-form .gform_wrapper{
		padding:0 20px;
	}
	.intro-text{
		padding-top:15px;
	}
	#contact-info{
		width:100%;
	}
	#contact-form{
		width:100%;
		margin:15px 0 0;
	}
	#map{
		margin-bottom:15px;
	}
	#map iframe{
		height:180px;
	}
	#contact-info .space{
		margin-top:10px;
	}
	.service-description{
		min-height:0;
	}
}