/* ==================================================
   Reset CSS
================================================== */

@import url("reset.css");

/* ==================================================
   Import CSS
================================================== */

@import url("typography.css");
@import url("meanmenu.css");
@import url("flexslider.css");
@import url("animate.css");
@import url("searchbox.css");
@import url("owlcarousel.css");
@import url("fancybox.css");
@import url("buttons.css");
@import url("columns.css");
@import url("googlemap.css");
@import url("searchbox.css");

/* ==================================================
   Icon Fonts
================================================== */

@import url("fonts/fontawesome/font-awesome.css");

/* ==================================================
   Global Styles
================================================== */

*
{
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

html
{
	height: 100%;
	overflow: auto;
	
	-webkit-font-smoothing: antialiased;
	-webkit-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
}

body
{
	background: #333;
	
	text-rendering: optimizeLegibility;
	vertical-align: baseline;
}

img
{
	-webkit-backface-visibility: hidden;
	-moz-backface-visibility: hidden;
	-ms-backface-visibility: hidden;
	
	-webkit-user-select: none;
	-khtml-user-select: none;
	-moz-user-select: none;
	-o-user-select: none;
	user-select: none;
}

/* ==================================================
   Images
================================================== */

img.imgfull
{
	float: right;
	width: 100%;
	margin: 0 0 10px 0;
}

img.img645
{
	width: 100%;
	max-width: 645px;
}

img.imgright
{
	float: right;
	width: 100%;
	max-width: 320px;
	margin: 0 0 20px 20px;
}

	img.imgright.img230
	{
		width: 100%;
		max-width: 230px;
	}

img.imgleft
{
	float: left;
	width: 100%;
	max-width: 320px;
	margin: 0 20px 20px 0;
}

/* ==================================================
   Background Colours
================================================== */

.bg1
{
	background: #FFF;
}

.bg2
{
	background: #F5F5F5 url("../images/bg-grey.png") repeat fixed;
}

.bg3
{
	background: #88C543;
}

/* ==================================================
   Layout Styles
================================================== */

.container
{
	width: 100%;
	padding: 0 30px;
	min-width: 280px;
}

	.container .bodycontainer
	{
		margin: 0 auto;
		width: 100%;
		max-width: 1140px;
	}
	
.containerfull
{
	width: 100%;
	padding: 0;
	min-width: 280px;
	line-height: 28px;
}

	.containerfull .bodycontainer
	{
		margin: 0 auto;
		width: 100%;
	}
	
/* ==================================================
   Sections
================================================== */

#headercont
{
	padding: 30px 0;
}

	#headercont #logocont
	{
		float: left;
	}
	
		#headercont #logocont a img
		{
			display: block;
			width: 100%;
			max-width: 200px;
		}
	
	#headercont #headerright
	{
		float: right;
		text-align: right;
		font-family: "Hammersmith One";
		text-transform: uppercase;
		padding-top: 15px;
	}
	
		#headercont #headerright p
		{
			font-weight: 400;
			font-size: 24px;
			line-height: 24px;
			margin: 0;
			letter-spacing: -0.1px;
			color: #88C543;
		}
		
			#headercont #headerright p.tagline
			{
				margin-top: 12px;
				font-size: 25px;
				line-height: 25px;
			}
		
			#headercont #headerright p a
			{
				color: #555;
			}
		
			#headercont #headerright p.telno
			{
				font-size: 32px;
				line-height: 32px;
				margin-bottom: 5px;
				letter-spacing: -0.5px;
			}
			
				#headercont #headerright p span
				{
					font-weight: 500;
					color: #555;
				}
	
#menucont
{
	font-family: "Hammersmith One";
}

#gallerycont
{
	width: 100%;
}

#middlecont
{
	width: 100%;
	text-align: center;
	padding: 0;
	line-height: 24px;
}

	#middlecont .cwdlist
	{
		float: left;
		width: 33.33%;
	}

		#middlecont .cwdlist img
		{
			width: 100%;
			max-width: 160px;
			margin: 0 0 15px 0;
			border: 0;
			
			-webkit-border-radius: 250px;
			-moz-border-radius: 250px;
			border-radius: 250px;
		}
		
		#middlecont .cwdlist a
		{
			display: block;
			padding: 40px 15px;
			
			-webkit-transition: background 0.1s linear, padding 0.1s linear;
			-moz-transition: background 0.1s linear, padding 0.1s linear;
			-o-transition: background 0.1s linear, padding 0.1s linear;
			transition: background 0.1s linear, padding 0.1s linear;
		}
		
			#middlecont .cwdlist a:hover
			{
				background: #88C543;
				padding: 35px 15px 45px 15px;
			}

			#middlecont .cwdlist a h4
			{
				margin: 0 0 15px 0;
				font-weight: 400;
				letter-spacing: -0.3px;
				font-size: 25px;
				line-height: 25px;
				text-transform: uppercase;
				
				-webkit-transition: color 0.1s linear;
				-moz-transition: color 0.1s linear;
				-o-transition: color 0.1s linear;
				transition: color 0.1s linear;
			}
			
				#middlecont .cwdlist a:hover h4
				{
					color: #FFF;
				}
			
			#middlecont .cwdlist a p
			{
				color: #888;
				color: rgba(0,0,0,0.5);
				font-size: 16px;
				line-height: 22px;
				margin: 0;
				font-style: italic;
				
				-webkit-transition: color 0.1s linear;
				-moz-transition: color 0.1s linear;
				-o-transition: color 0.1s linear;
				transition: color 0.1s linear;
			}
			
				#middlecont .cwdlist a:hover p
				{
					color: #FFF;
				}

#maincont
{
	padding: 40px 0;
	background: url("../images/bg-maincont.png") repeat-y 30% 0;
}

#maincont.nobg
{
	background-image: none;
}

	#maincont #mainfull
	{
		float: left;
		width: 100%;
		padding: 0;
	}

	#maincont #mainleft
	{
		float: right;
		width: 30%;
		padding-right: 40px;
		
		min-height: 400px;
		height: auto !important;
		height: 400px;
	}

		/** Latest News **/
		
		#maincont #mainleft .blogpostcont
		{
			float: left;
			width: 100%;
			margin: 0 0 20px 0;
		}
		
			#maincont #mainleft .blogpostcont ul
			{
				float: left;
				width: 100%;
				margin: 0;
				list-style-type: none;
			}
			
				#maincont #mainleft .blogpostcont ul li
				{
					display: block;
				}
				
					#maincont #mainleft .blogpostcont ul li a
					{
						position: relative;
						float: left;
						width: 100%;
						padding: 8px 0;
						font-weight: 600;
						line-height: 26px;
						font-size: 18px;
					}
					
						#maincont #mainleft .blogpostcont ul li a span
						{
							position: absolute;
							top: 15px;
							left: 0;
							color: #999;
							font-size: 16px;
						}
						
							#maincont #mainleft .blogpostcont ul li a:hover
							{
								color: #333;
							}
							
								#maincont #mainleft .blogpostcont ul li a:hover span
								{
									color: #333;
								}
								
		/** Social Media Links **/
		
		#maincont #mainleft #smlinks
		{
			margin: 0 0 20px 0;
		}
		
		#maincont #mainleft #smlinks ul
		{
			float: left;
			width: 100%;
			list-style-type: none;
			
			width: -moz-calc(100% + 10px);
			width: -webkit-calc(100% + 10px);
			width: -o-calc(100% + 10px);
			width: calc(100% + 10px);
			
			margin: 0 -5px;
		}
		
			#maincont #mainleft #smlinks ul li
			{
				float: left;
				width: 33.33%;
				padding: 0 5px;
			}
			
				#maincont #mainleft #smlinks ul li a
				{
					float: left;
					width: 100%;
					color: #FFF;
					font-size: 26px;
					line-height: 60px;
					text-align: center;
					
					-webkit-transition: background 0.1s linear;
					-moz-transition: background 0.1s linear;
					-o-transition: background 0.1s linear;
					transition: background 0.1s linear;
				}
				
					#maincont #mainleft #smlinks ul li.smfacebook a
					{
						background: #3b5998;
					}
					
					#maincont #mainleft #smlinks ul li.smtwitter a
					{
						background: #00aced;
					}
					
					#maincont #mainleft #smlinks ul li.smgplus a
					{
						background: #dd4b39;
					}
					
						#maincont #mainleft #smlinks ul li a:hover
						{
							background: #333;
						}
						
		/** Feeder Form **/
		
		#maincont #mainleft #feederform
		{
			margin: 0 0 20px 0;
		}
		
			#maincont #mainleft form#quickquote ul
			{
				list-style-type: none;
				margin: 0;
			}
			
				#maincont #mainleft form#quickquote fieldset input
				{
					padding: 14px 12px;
					width: 100%;
					border: 0;
					border-left: 5px solid #DDD;
					background: #F2F2F2;
					text-align: left;
					margin: 0 0 10px 0;
					font-family: inherit;
					font-size: inherit;
					color: #333;
					
					-webkit-border-radius: 0;
					-moz-border-radius: 0;
					border-radius: 0;
					
					-webkit-appearance: none;
				}
				
					#maincont #mainleft form#quickquote fieldset input:focus
					{
						border-left: 5px solid #88C543;
					}
					
		/** Testimonials **/
		
		#maincont #mainleft #carouselcont
		{
			position: relative;
		}

			#maincont #mainleft #carouselcont .owl-customnav
			{
				position: absolute;
				top: -54px;
				right: -10px;
			}
			
				#maincont #mainleft #carouselcont .owl-customnav ul
				{
					float: left;
					width: 100%;
					list-style-type: none;
					margin: 0;
				}
				
					#maincont #mainleft #carouselcont .owl-customnav ul li
					{
						float: left;
					}
					
						#maincont #mainleft #carouselcont .owl-customnav ul li a
						{
							float: left;
							line-height: 36px;
							width: 24px;
							color: #AAA;
							margin: 0;
							font-size: 22px;
							text-align: center;
							cursor: pointer;
						}
		
							#maincont #mainleft #carouselcont .owl-customnav ul li a:hover
							{
								color: #74A839;
							}
							
			#maincont #mainleft #carouselcont .owl-carousel .item
			{
				font-style: italic;
			}
			
	#maincont #mainright
	{
		float: right;
		width: 70%;
		padding: 0 0 0 40px;
	}
	
		#maincont #mainright #imagegallery
		{
			float: right;
			width: 100%;
			max-width: 320px;
			margin: 0 0 20px 20px;
		}
	
		#maincont #mainright .submenu
		{
			float: left;
			width: 100%;
			margin: 0;
		}
		
			#maincont #mainright .submenu ul
			{
				float: left;
				width: 100%;
				margin: 0 0 15px 0;
				list-style-type: none;
			}
			
				#maincont #mainright .submenu ul li a
				{
					float: left;
					width: 100%;
					padding: 8px 12px;
					margin-bottom: 5px;
					font-weight: 400;
					border-left: 5px solid #DDD;
					color: #666;
					background: #F2F2F2;
				}
				
					#maincont #mainright .submenu ul li a:hover
					{
						border-left: 5px solid #88C543;
						color: #88C543;
					}

#footercont
{
	padding: 50px 0;
	color: #999;
	font-style: italic;
	letter-spacing: 1px;
}

	#footercont a
	{
		color: #FFF;
	}
	
	#footercont a:hover
	{
		color: #88C543;
	}
	
		#footercont #footerleft
		{
			float: left;
		}
		
			#footercont #footerleft p
			{
				margin: 0;
			}
		
			#footercont #footerleft p#backtotop a
			{
				font-size: 40px;
				line-height: 40px;
			}
		
		#footercont #footerright
		{
			float: right;
			text-align: right;
		}
		
			#footercont #footerright p
			{
				margin: 0;
			}

/* ==================================================
   Media Queries - Small Desktop
================================================== */

@media only screen and (max-width: 1200px)
{

	.container
	{
		padding: 0 28px;
	}
	
	#maincont #mainright #imagegallery
	{
		max-width: 300px;
	}

}

/* ==================================================
   Media Queries - Tablet - Landscape
================================================== */

@media only screen and (max-width: 1048px)
{
	
	.container
	{
		padding: 0 27px;
	}
	
	#maincont #mainright #imagegallery
	{
		max-width: 280px;
	}
	
}

/* ==================================================
   Media Queries - Mobile - Landscape
================================================== */

@media only screen and (max-width: 768px)
{
	
	.container
	{
		padding: 0 25px;
	}
	
	img.imgright
	{
		float: none;
		width: 100%;
		max-width: 300px;
		margin: 0 0 20px 0;
	}
	
	img.imgleft
	{
		float: none;
		width: 100%;
		max-width: 300px;
		margin: 0 0 20px 0;
	}
	
	#headercont
	{
		padding: 30px 0;
	}
	
		#headercont #logocont
		{
			float: none;
			margin: 0;
		}
		
			#headercont #logocont a img
			{
				display: block;
				width: 100%;
				max-width: 210px;
			}
			
		#headercont #headerright
		{
			float: left;
			width: 100%;
			text-align: left;
		}
			
			#headercont #headerright p
			{
				font-size: 20px;
				line-height: 20px;
				margin-top: 5px;
			}
			
				#headercont #headerright p.tagline
				{
					display: none;
				}
			
				#headercont #headerright p.telno
				{
					font-size: 28px;
					line-height: 28px;
					letter-spacing: -0.3px;
				}
				
	#gallerycont
	{
		display: none;
	}
				
	#middlecont
	{
		display: none;
	}
	
	#maincont
	{
		background-image: none;
	}
	
		#maincont #mainleft
		{
			float: left;
			width: 100%;
			padding: 20px 0 0 0;
			border-top: 1px dotted #CCC;
			
			min-height: 400px;
			height: auto !important;
			height: 400px;
		}
	
		#maincont #mainright
		{
			float: left;
			width: 100%;
			padding-left: 0;
		}
		
			#maincont #mainright #imagegallery
			{
				float: none;
				width: 100%;
				max-width: 300px;
				margin: 0 0 20px 0;
			}

			#maincont #mainright .blogpostcont ul li
			{
				padding: 20px 0;
			}

				#maincont #mainright .blogpostcont ul li p.blogtitle
				{
					margin: 0 0 10px 0;
				}

	#footercont #footerleft
	{
		float: left;
		width: 100%;
	}

	#footercont #footerright
	{
		float: left;
		width: 100%;
		text-align: left;
	}
	
}

/* ==================================================
   Media Queries - Mobile - Portrait
================================================== */

@media only screen and (max-width: 480px)
{		
	
	.container
	{
		padding: 0 20px;
	}
	
	#headercont #headerright p
	{
		font-size: 20px;
		line-height: 20px;
		letter-spacing: -0.1px;
	}
	
		#headercont #headerright p.telno
		{
			font-size: 28px;
			line-height: 28px;
			letter-spacing: -0.5px;
		}
	
		#headercont #headerright p span
		{
			display: block;
		}
	
}

