@charset "utf-8";
/*===========================
Base Styles
=============================*/

body {
	background: #fff;
	color: #2a2a2a;
	font-family: 'Roboto', sans-serif;
	font-style: normal;
	font-weight: 300;
}

.nav {
	font-family: 'Lato', sans-serif;
}

h1, .h1, h2, .h2, h3, .h3, h4, .h4 {
	font-family: 'Titillium Web', sans-serif;
	font-weight: 300;
}

b, strong {
    font-weight: 500;
}

/*------------------------------
Feature/Alt colours
------------------------------*/

#header, .footer-bottom, .heading-callout, .list-panel--title {
	background:#f9da08;
	}
	
.feature-panel .form-control,  .feature-panel--title, /*.bg-feature .lead,*/ .bg-feature h1, .bg-feature .h1 {
	color:#1e874a;
}

/*===========================
Header styles
=============================*/

header .navbar {
	background: transparent none repeat scroll 0% 0%;
	border: medium none;
	margin-bottom: 1.2em;
}
#header {
	padding: 1em 0 0 0;
}
	

.logo {
	margin-bottom: 0.8em;
	text-align:center;
}
.logo > a {
	display:table;
	margin: 0 auto;
}
.logo-img {
	display:block;
}

.logo-title {
    display: inline-block;
    vertical-align: bottom;
    color: #1D8749;
	padding: 0.5em;
}


.header-holder {
	text-align: center;
}

.header--btn-links a, .header--btn-links a:hover, .header--btn-links a:focus {
	color: #1D8749;
	text-decoration: none;
}
.header-link {
	margin-left: 2em;
	padding: 0.5em;
	font-weight: 500;
	white-space: nowrap;
}
.header-link:first-of-type {
	margin-left: 0;
}
.header-link:not(.tel) {
	border: 1px solid rgb(0, 0, 0);
	background: rgb(255, 255, 255) none repeat scroll 0% 0%;
	color: rgb(0, 0, 0);
}
.header--btn-links .tel {
	border: 1px solid #1D8749;
}

/*===========================
Main Nav Styles
=============================*/

.navbar-default .navbar-nav > li > a {
	padding: 0px 5px 8px;
}

.navbar-default .navbar-collapse, .navbar-default .navbar-form {
	border: none;
}
.navbar-default {
	font: 300 13px/20px;
}

.navbar-default .navbar-nav > li > a {
	padding: 5px;
	position: relative;
	display: block;
}
.navbar-default .navbar-nav > li > .btn-enquire {
	color:#005696;
}

.navbar-default .navbar-toggle:focus, .navbar-default .navbar-toggle:hover, .navbar-default .navbar-toggle .icon-bar {
	background: #1D8749;
}
.navbar-default .navbar-toggle {
	border: 1px solid #1D8749;
	float: right;
	margin: 0;
	padding: 9px 10px;
	top: 0px;
	right: 0px;
	position: absolute;
	background-color: #fff;
	background-image: none;
}
.navbar-default .navbar-toggle:focus .icon-bar, .navbar-default .navbar-toggle:hover .icon-bar {
	background: #fff;
}
.navbar-toggle {
	border-radius: 4px 4px 0 0;
}
.navbar-toggle.collapsed {
	border-radius: 4px;
}
.caret {
	margin-left: 4px;
	border-top: 5px dashed;
	margin-bottom: 0.15em;
}
.dropdown-menu > li > a:focus, .dropdown-menu > li > a:hover {
	background-color: #1D8749;
	color: #fff;
}

.feature-link {
	font-size: 1.4em;
	font-weight: 500;
	}



.navbar-default .navbar-nav > li.feature-link a:hover:after, .navbar-default .navbar-nav > li.feature-link a:focus:after {
	display:none;}

.navbar-default .navbar-nav .feature-link a, .navbar-default .navbar-nav .feature-link:hover a, .navbar-default .navbar-nav .feature-link:focus a {
	color: #1D8749;
	}

/

/*===========================
Content module styles
===========================*/
.content-primary-body {
	line-height:1.7em;
	}

.content-primary-body h1 {
	margin-top:0;}

.graphic-centered {
	margin:0 auto 1em;
}

.bg-feature {
	margin-bottom:2em;
}

h1, .h1 {
	font-size: 2.5em;
	padding-bottom: 0.4em;
}	

h1, .h1, h1 .small, h1 small, .h1 .small, .h1 small{
	color:#1D8749;
}

.h2, h2, h3, .h3 {
    font-weight: 300;
}

h1 .small, h1 small, .h1 .small, .h1 small {
	display:block;
	font-size: 0.5em;
	padding-top: 0.3em;
	font-weight: 300;
	}

.heading-callout--centre {
    display: table;
    margin: 0 auto 0.8em;
}
.heading-callout {
    margin-bottom: 1em;
    padding: 0.6em 0.5em;
	color:#000;
    text-align: center;
}

#main {
	padding-top: 3em;
}

#main h2 {
    font-size: 1.8em;
    line-height: 1.3em;
}

#main h3 {
    font-size: 1.3em;
	font-weight: 700;
}


#main p:not(.feature-text), #main li {
    font-size: 1.2em;
    line-height: 1.6em;
}

.feature-text{
    margin: 0 0 1em 0;
    font-size: 1.7em;
	line-height: 1.6em;
}

.feature-graphics img {
    max-height: 190px;
	display:block;
    margin: 1em auto;
}

.feature-graphic--item {
}

.separate:before {
	background:#ddd;	
	content:"";
	display:block;
	height:1px;
	margin:3em 0 2em;
}

#main a:not(.btn) {
	text-decoration:underline;
}
	
.req:after {
    content: " *";
}

.req:after, label.error {
    color: #F00;
	
}
.invalid {
	color:#a94442;
}

.news-item {
	border-bottom:1px dotted #333;
	margin-bottom:1em;
	padding-bottom:1em;
}

.news-item--title {}

.news-item--body {}

.module--search {
	/*max-width:30em;*/
}


th {
	background: rgb(255, 249, 206);
    font-weight: 500;
}

.content-primary .table th,
.content-primary .table td{
	font-size:0.9em;
	padding:0.5em;
}

.table-hover > tbody > tr:hover {
    background-color: #e3e3e3;
}

/*--------------------------------
Custom list styles
*--------------------------------*/

.list-checked {
	padding-left: 0;
	margin-bottom: 2em;
}

.list-checked li, .list-iconed .list-iconed--item {
	padding: 0px;
	list-style: outside none none;
	line-height: 1.2em;
	margin: 0px 0px 0.6em 1.4em;
}

.list-checked.list-inline li {
	margin-right:1.6em;
	}

.list-iconed .list-iconed--item {
	display: inline-block;
}
.list-iconed .list-group-item {
	border: none;
	border-radius: 0;
}

/*--------------------------------
Custom icon placement
*--------------------------------*/
.list-checked li:before, .list-iconed--item:before, .has-icon:before, .has-icon--more:after, .scrollToTop:after {
	clear: both;
	display: inline-block;
	float: none;
	/*color: #005596;*/
	font-family: "Glyphicons Halflings";
	font-style: normal;
	font-weight: normal;
	padding: 0px;
	width: 1.5em;
	margin-left: -1.5em;
	vertical-align: top;
}

td .has-icon {
    white-space: nowrap;
    margin-left: 1.2em;
}


.list-checked li:before, .has-icon:before {
	font-size: 0.8em;
}
.list-iconed--item:before, .has-icon:before {
	font-size: 1.1em;
	width: 1.2em;
	margin-left: -1.2em;
	vertical-align: middle;
}
.list-checked li:before {
	content: "\e013";
	color:#1e874a;
}

.has-icon--phone:before {
	content: "\e182";
}

.has-icon--info:before{
	content: "\e086";
}

.has-icon--more:after {
	content: "\e258\e258"; /*glyphicon-menu-right*/
	margin-left: 0.2em;
/*	vertical-align: text-top;*/
	font-size: 0.9em;
}

.scrollToTop, .scrollToTop:after  {
	color: #fff;
	position: fixed;
	height: 50px;
	text-align:center;
	
}


.scrollToTop {
	cursor: pointer;
	background-color: rgba(0, 0, 0, 0.4);
	z-index: 1005;
	display: none;
	-webkit-backface-visibility: hidden;
	-webkit-transform: translateZ(0);
	-webkit-transition: all 0.2s ease-in-out;
	-o-transition: all 0.2s ease-in-out;
	transition: all 0.2s ease-in-out;
	border-radius:50%;
	width: 50px;
	bottom: 5px;
	right: 0;
	margin:0 5px 5px 0;
}

.scrollToTop:after {
	content: "\e113"; /*glyphicon-chevron-up*/
	display: block;
	line-height: 50px;
	vertical-align: middle;
	font-size: 1.5em;
	width: 53px;
	margin:0;

}

.nav .feature-link .has-icon--phone:before{
	margin-left: 0;
	margin-right: 0.2em;
	font-size: 1em;
}


.footer-title, .slogan-link, .feature-panel--title {
	font-weight:500;
	}





.form-control.inline-short {
	margin-bottom: 0px;
	display: inline;
	max-width: 15em;
	padding: 2px;
	font-size: 0.8em;
	margin-right: 0.4em;
}


.inline-block-align{
    padding: 0.1em;
    margin: 0px 0px 0.2em;
    vertical-align: middle;
    display: inline-block;
}


/*-------------------------
Brand/logo grid
--------------------------*/
.brands-list {
	margin: 0px;
	padding: 0px;
	list-style: outside none none;
}

.brands-list li {
    margin: 1em auto;
    padding: 0 0.5em;
    vertical-align: middle;
}

/*-------------------------
Feature panels
--------------------------*/
.feature-panel-group {
	text-align:center;
	}

.feature-panel {
	background:#cecece;
    color: #000;
    display: block;
    padding: 1em;
    margin: 0 auto;
}

.feature-panel .form-control {
	border:2px solid #9E9E9E;
	border-radius:0;
	min-width: 10em;
	
}

.feature-panel--title {
	margin-top:0.3em;
	margin-bottom:0.8em;
	font-size:1.5em;
	font-weight:bold;
}

.feature-panel--body {
	padding:0 1em;
	}

.feature-panel .btn {
	-webkit-border-radius:0;
	border-radius:0;
	min-width: 60%;
	background-color:#1D8749;
	color:#fff;
	text-transform:uppercase;
}

.feature-panel .btn:hover, .feature-panel .btn:focus {
	background-color:#18723D;
}




/*-------------------------
List panel styles
--------------------------*/
.list-panel {
	background:#2c2c2c;
	color:#dadada;
	border-radius:0;
	}

.list-panel a {
	color:#f9da08;
	}

.list-panel .list-panel--title {
	color:#2c2c2c;
	border-radius:0;
	margin-top: 0;
	}
	
.list-panel .list-group-item:not(.list-panel--title) {
	background:none;
	border-radius:0;
	}	

.list-panel a.has-icon--more {
	white-space: nowrap;
	text-transform:uppercase;
	font-size: 0.9em;
	}

.list-panel a:hover, .list-panel a:hover.has-icon--more:after {
	color:#fff;
	text-decoration:none;
  -webkit-transition: all 0.2s ease-in-out;
  -moz-transition: all 0.2s ease-in-out;
  -o-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
	}

/*-------------------------
Buttons
--------------------------*/
.btn-center{
	margin: 0.3em auto;
	display: table;
	}
	
.btn:not(.btn-action) {
	border-radius: 0;
	font-weight: 500;
	line-height: 19px;
	text-transform: uppercase;
	white-space: normal;
}

.btn-action {
    padding-left: 30px;
    padding-right: 30px;
    text-transform: uppercase;
    font-size: 24px;
    font-weight: 700;
    color: #FFF;
    border-color: #FFF;
    border-radius: 0px;
}

.content-primary .btn-action {
	margin-bottom:1.5em;}

.content-primary .btn-action, .modal .btn-primary {
	background-color:#005596;}

.modal .btn-primary:focus, .modal .btn-primary:hover {
	background-color:#0C0;}

.inline-block-item {
    display: inline-block;
    margin: 0 1em 1em 0;
}

/*----hover/focus state styles-----*/
a.feature-panel:hover, a.feature-panel:focus, a.feature-panel.active {
	text-decoration:none;
	background: #1D8749 none repeat scroll 0% 0%;
	}

a.feature-panel:hover > * /*.feature-panel--title*/,
a.feature-panel:focus > * /*.feature-panel--title*/,
a.feature-panel.active > * {
	color:#fff;
	}
	
a.feature-panel:hover .btn,
a.feature-panel:focus .btn,
a.feature-panel.active .btn {
	background-color:#f3f3f3;
	color: #1D8749;
}

a.feature-panel.active {
	cursor:default;
	background: #efefef;
/*	opacity:0.3;*/
	}
a.feature-panel.active .btn {
	display:none;
	}
	
a.feature-panel.active .feature-panel--title {
	color: #000;
	padding-top: 0.9em;
	padding-bottom: 0.65em;
	}

/*===========================
Slogan
===========================*/
.slogan {
	margin:1em 0 0 0;
	padding:0 15px;
	font-size:2.5em;
	background:#e9e9e9;
	text-align: center;
}

.slogan-link, .slogan-link.tel:hover, .slogan-link.tel:focus {
	color:#1D8749;
	text-decoration:none;
	}

.slogan-link.tel {
	white-space:nowrap;
	}

.slogan .btn-action {
	background: transparent;
}
.slogan .btn-action:hover, .slogan .btn-action:focus, .content-primary .btn-action:hover, .content-primary .btn-action:focus {
	background: #fff;
	color: #005596;
}
/*===========================
Footer styles
===========================*/

#footer {
	border-top:1px solid #cecece;
/*	height: 1%;*/
	padding:3.3em 0 0 0;
	width: 100%;
	overflow: hidden; /*for FF on Windows 7*/
}

.footer-item {
	margin-bottom:2em;
	}

.footer-title, .footer-nav .footer-nav-main li:first-of-type a {
	display: block;
	font-size: 1.1em;
    font-weight: 500;
	margin: 0 0 9px;
	text-transform:uppercase;
}

.footer-title, .footer-title a, .footer-nav .footer-nav-main li:first-of-type a {color:#1D8749;}

.footer-nav {
	overflow: hidden;
	margin-bottom: 10px;
}

.footer-nav a {
	color: #777777;
}

.footer-nav ul {
	margin: 0;
	padding: 0;
	list-style: outside none none;
}
.footer-nav ul li {
	font-size: 13px;
	font-weight: 300;
	margin: 0 0 10px;
	padding-left: 0;
}

/*.footer-nav .footer-nav-main li:first-of-type a{
    color: rgb(29, 135, 73);
    text-transform: uppercase;
    font-size: 1.1em;
    font-weight: 500;
}*/


.logo-list li {
	margin-bottom: 8px;
}
.logo-list li img {
	max-width: 100%;
	height: auto;
}

.footer-bottom {	
	padding: 1.2em 0 1em;
	text-align:center;
}
.footer-bottom, .footer-bottom a {
	color:#7b7b7b;

}
.footer-bottom .copyright {
	display: block;
}

.footer-bottom a {
	margin-left: 1em;
	text-decoration:underline;
}
#footer .footer-bottom a:hover, #footer .footer-bottom a:focus {
	color:#000;
}

.footer-item .embed-responsive{
	margin-bottom: 0.4em;}

/*================================================
		Media Queries
================================================*/
@media all and (min-width: 480px) {
	.footer-holder .col {
		float: left;
		width: 50%;
	}
	.feature-item-description {
		min-height: 10em;
	}	
	
	.brands-list li {
		margin: 0.5em auto;
		display: inline-block;
		vertical-align: middle;
	}
	
	.brands-list img {
		max-width: 15em;
		max-height: 5em;
	}

}

@media all and (min-width: 768px) {
	#header {
		padding: 1.3em 0 1em;
	}
	.tel:hover, .tel:focus {
		cursor:default;}
	
	.noFeatureGraphic #header {
		padding-bottom: 0;
	}
	#header .navbar {
		margin-bottom: 0;
	}

	#header logo {
		text-align:left;
	}
	
	#header .logo > a {
		margin: 0px;
	}

	.header-holder {
		padding-right:0;
	}

	.header--btn-links .header-link {
		border: none;
		float: right;
		font-size: 1.7em;
	}
	.header--btn-links .header-link:last-of-type {
		padding-right: 0;
	}
	
	
	.nav .btn-enquire {
		font-size: 1em;
		margin-bottom: 8px;
	}
	.navbar-default .navbar-nav {
		margin: 0;
		width:100%;
	}
	
	.navbar-default .navbar-nav > li {
		font-size: 1.3em;
		margin: 0.1em 0.5em;
		display: inline-block;
		float: none;
	}	
	
	.navbar-default .navbar-nav > li.feature-link {
		font-size: 1.4em;
	}

	.navbar-default .navbar-nav > li.feature-link a{
		cursor:default;
	}

	.module--search .form-group {
		margin-bottom: 15px;
		display: inline-block;
		vertical-align: top;
	}
	
	.module--search.feature-panel {
		display: table;
		margin: auto;
	}
	
	/*make search form horizontal when page layout is full width. Not when it's in a 2 col layout (does not have col-sm-12 applied)*/
	
	.content-secondary:not(.col-sm-12) .module--search .form-group {
		display:block;
	}
	
	.content-secondary:not(.col-sm-12) .module--search.feature-panel {
		display: block;
	}

	.brands-list {
		margin: 0 0 1em 0;
	}
	.slogan-link.tel {
		margin-left:0.4em;
	}

	.content-primary-body {
		padding: 2em 4em 2em 2em;
	}

	.short-input{
		max-width: 4em;
		display: inline-block;
		max-height: 2em;
	}
	
	a[href^="tel:"], a[href^="tel:"]:hover, a[href^="tel:"]:focus  { 
		color: #2a2a2a; 
		text-decoration: none;
		cursor:default;
	}
}


@media only screen and (min-width: 992px) {

	.logo-title {
		padding:0 0 0 0.5em;
	}	

	.slogan .btn-action {
		display: block;
	}
	
	.bg-feature {
		background-color:#e9e9e9;	
	}
	
	.bg-feature .module--search {
		display:block;
		margin-right:-15px;
		margin-left:-15px;
		text-align:center;
	}
}


@media only screen and (min-width: 1200px) {
	.has-feature .hero {
		height: 400px;
		padding-top: 5em;
		
	}
	
	.hero--header.h1 {
		font-size: 2.5em;
		max-width: 800px;
		}
	.navbar-default .navbar-nav {
    	margin: 2.5em 0 0;
	}

	.navbar-default .navbar-nav > li:not(.feature-link) {
		margin: 0.1em 1em 0.1em 0;
		float: left;
	}
		
	.navbar-default .navbar-nav > li.feature-link {
		float:right;
		margin: 0;
	}	

	.feature-panel--body {
		padding: 0 1.2em;
	}
	.feature-panel--title {
		font-size: 1.3em;
	}
}
@media only screen and (max-width: 991px) {
	.sm-has-height-cap {
		max-height:190px;
	}
	
}


@media only screen and (max-width: 767px) {
	.navbar {
		margin-bottom: 0;
	}
	.btn {
		font-size: 16px;
		line-height: 20px;
		margin: 0 auto;
	}
	.navbar-default .navbar-nav {
		margin: 0;
		background: #fff;
	}
	
	.navbar-default .navbar-nav > li:not(.feature-link) {
		font-size:1.1em;
	}	
	
	#nav .dropdown-menu > li > a {
		white-space: normal;
	}
	#nav .navbar-nav .open .dropdown-menu {
		background: #FEE385;
		color: #000;
	}
	#nav .navbar-nav .open:hover .dropdown-menu, #nav .navbar-nav .open:focus .dropdown-menu {
		border-top-style: none;
	}
	.navbar-default .navbar-nav > li.active a::after, .navbar-default .navbar-nav > li:hover > a:after, .navbar-default .navbar-nav > li:focus > a:after {
		display: none;
	}
	.navbar-default .navbar-nav .open .dropdown-menu > .active > a,  .navbar-default .navbar-nav > .active > a, #nav .navbar-nav > .active > a, #nav .navbar-nav > li > a:focus, #nav .navbar-nav > li > a:hover, .header--btn-links a:hover, .header--btn-links a:focus {
		background: #1D8749;
		color: #fff;
	}
	.navbar-default .navbar-nav .open .dropdown-menu > .active:focus > a,  .navbar-default .navbar-nav .open .dropdown-menu > .active:hover > a,  .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus, .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover {
		color: #fff;
		background: #1D8749 none repeat scroll 0% 0%;
	}
	.navbar-default .navbar-nav > li > a {
		text-align: left;
	}
	#nav {
		border: 1px solid #1D8749;
		border-top: none;
		border-radius: 0 0 4px 4px;
		padding: 0;
	}
	.header--btn-links {
		margin: 1.8em;
		/*margin: 0.8em 0px 1.8em;*/
		float: right;
		font-size: 1.5em;
		white-space: nowrap;
		width: auto;
	}
	.header-link {
		white-space: normal;
		margin-left: 0px;
		padding: 0.3em;
	}
	.navbar-default .navbar-nav > li > a {
		border-top: 1px dotted #ddd;
		padding: 0.8em 20px;
	}

	.navbar-default .navbar-toggle {
		border: 1px solid #1D8749;
		margin: 1em 0 0 0;
		padding: 0.9em 20px;
		background-image: none;
		float: none;
		position: static;
		width: 100%;
		background-color: #FFF;
	}
	.navbar-toggle .sr-only {
		border: 0px none;
		overflow: visible;
		padding: 0px;
		line-height: 1em;
		clip: rect(0px, 0px, 0px, 0px);
		text-align: left;
		position: static;
		width: auto;
		float: left;
		margin: 0;
		color: #1D8749;
		font-weight: 500;
	}
	.icon-bars {
		float: right;
	}
	.navbar-default .navbar-toggle:hover .sr-only, .navbar-default .navbar-toggle:focus .sr-only {
		color: #fff;
	}
	.content +.content-secondary {
		margin-top: 2em;
	}

	.sm-only-center {
		clear: both;
		float: none;
		margin: auto;
	}

	.logo img {
		display: block;
		margin: 0 auto;
	}
	
/*	.bg-feature {
		margin-bottom:2em;
	}*/

}

@media only screen and (max-width: 479px) {
	.navbar-default .navbar-toggle {
		margin-right: 0;
	}
	.header--btn-links {
		white-space: normal;
		float: none;
		clear: both;
		margin: 0;
	}
	.header-link {
		display: inline-block;
		margin: 0.25em auto;
		float: none;
	}
	
	.hero--header.h1 {
		font-size:1.7em;
		}

	.feature-band--item {
		width: 100%;
	}
	.carousel-inner .item {
		height: 280px;
	}
	.overview-panel, .xs-stack, .footer-nav-container {
		width: 100%;
	}
	
	.xs-stack-offset-0 {
		margin-left:0; /*clear ofsset*/
	}
	
	.list-checked.list-inline li {
		display:block;
	}
	
	.footer-nav-container {
		text-align:center;}
	
	.xs-stack.feature-panel {
		min-height:auto;
		}
	
	.footer-frame a, .footer-bottom a {
		display: block;
	}

}
