/** Import CSS **/

@import url("reset.css");
@import url("menu.css");
@import url("buttons.css");
@import url("gallery.css");
@import url("googlemap.css");
@import url("searchbox.css");

/** Google Fonts **/

@import url("//fonts.googleapis.com/css?family=Lato:300,300italic,400,400italic,700,700italic");
@import url("//fonts.googleapis.com/css?family=Galdeano");
@import url("//fonts.googleapis.com/css?family=Open+Sans:300,300italic,400,400italic,600,600italic,700,700italic");

/** Web Fonts **/

@import url("fonts/fontawesome/font.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
{
	font-family: "Lato", Arial, Verdana, Helvetica, sans-serif;
	font-size: 16px;
	color: #5A6161;
	padding: 0 0 20px 0;
	background: #E4E8EB;
}

::selection { background: #80A39F; color: #FFF; }
::-moz-selection { background: #80A39F; color: #FFF; }

a { color: #5A6161; text-decoration: none; }
a:hover { color: #333; }

#goomap { padding: 0; margin: 0 0 20px 0; }
#goomap .gmap3 { width: 100%; height: 300px; color: #333; }

/** Layout Styles **/

.container
{
	width: 100%;
	min-width: 280px;
	line-height: 24px;
}

	.bluebg
	{
		background: #FFF;
	}
	
	.lightbluebg
	{
		background: #80A39F;
	}
	
	/** Header **/

	.container #headercont
	{
		width: 86%;
		max-width: 980px;
		margin: 0 auto;
	}
	
		.container #headercont #headerlogo
		{
			display: table;
			float: left;
			overflow: hidden;
			width: 50%;
			height: 150px;
			text-align: left;
		}
		
			.container #headercont #headerlogo a
			{
				display: table-cell;
				vertical-align: middle;
				width: 100%;
				max-width: 400px;
			}
		
				.container #headercont #headerlogo a img
				{
					width: 100%;
					height: auto;
					max-width: 250px;
				}
				
		.container #headercont #headerright
		{
			float: left;
			width: 50%;
			padding: 50px 0 0 0;
			text-align: right;
		}
		
			.container #headercont #headerright p
			{
				font-weight: 400;
				font-size: 25px;
				line-height: 25px;
				color: #5A6161;
				margin: 0 0 2px 0;
				letter-spacing: -0.3px;
				font-weight: 400;
				font-family: "Galdeano", Arial, Helvetica, sans-serif;
			}
			
			.container #headercont #headerright p.toptelno
			{
				font-size: 35px;
				line-height: 35px;
				letter-spacing: -1.2px;
			}
			
				.container #headercont #headerright p span
				{
					color: #80A39F;
				}
		
	/** Menu **/
	
	.container #menucont
	{
		position: relative;
		width: 86%;
		max-width: 980px;
		padding: 6px 0;
		margin: 0 auto;
	}
	
		#menucont ul#socialmedia
		{
			position: absolute;
			top: 0;
			right: 0;
		}
	
		#menucont ul#socialmedia li
		{
			display: inline;
			font-size: 24px;
			margin: 0 0 0 20px;
			line-height: 54px;
		}

			#menucont ul#socialmedia li a span
			{
				color: #FFF;
			}
			
				#menucont ul#socialmedia li a:hover span
				{
					color: #FFF;
				}

	/** Main **/
	
	.container #maincont
	{
		width: 86%;
		max-width: 980px;
		margin: 0 auto;
		background: url("../images/bg-maincont.png") repeat-y 74% 0;
	}
	
		.container #maincont #loading
		{
		}
		
			.container #maincont #loading img
			{
				width: 100%;
				max-width: 100px;
				margin: 0 0 10px 0;
			}
	
			.container #maincont p { margin: 0 0 20px 0; }
			.container #maincont h1, .container #maincont h2, .container #maincont h3, .container #maincont h4, .container #maincont h5 { margin: 0 0 20px 0; color: #5A6161; font-weight: normal; letter-spacing: -0.3px; font-family: "Galdeano", Arial, Helvetica, sans-serif; }
			.container #maincont h1 { font-size: 32px; line-height: 32px; }
			.container #maincont h2 { font-size: 28px; line-height: 28px; }
			.container #maincont h3 { font-size: 26px; line-height: 26px; }
			.container #maincont h4 { font-size: 22px; line-height: 22px; }
			.container #maincont h5 { font-size: 20px; line-height: 20px; }
			.container #maincont ul { margin: 0 0 20px 35px; list-style-type: square; }
			.container #maincont ul li { padding: 0 0 0 2px; }
			.container #maincont ol { margin: 0 0 20px 35px; list-style-type: decimal; }
			.container #maincont ol li { padding: 0 0 0 2px; }
			.container #maincont hr { clear: both; border: 0; height: 0; margin: 0 0 20px 0; border-top: 1px dotted #A0BAB7; }
	


			.container #maincont #mainleft
			{
				float: left;
				width: 74%;
				padding: 25px 20px 15px 0;
				
				min-height: 400px;
				height: auto !important;
				height: 400px;
			}
			
				.container #maincont #mainleft #gallerycont
				{
					margin: 0 0 20px 0;
				}
			
				.container #maincont #mainleft img.imgleft
				{
					float: left;
					width: 100%;
					height: auto;
					max-width: 240px;
					margin: 0 25px 15px 0;
				}
				
				.container #maincont #mainleft img.imgright
				{
					float: right;
					width: 100%;
					height: auto;
					max-width: 240px;
					margin: 0 0 15px 25px;
				}
				
				.container #maincont #mainleft img.imgrightsmall
				{
					float: right;
					width: 100%;
					height: auto;
					max-width: 180px;
					margin: 0 0 15px 25px;
				}
				
					#googlewhere
					{
						margin: 0 0 20px 0;
					}
				
				.container #maincont .twocolcont
				{
					width: 100%;
					margin: 0 0 15px 0;
				}
				
					.container #maincont .twocol
					{
						float: left;
						width: 50%;
					}
						
				.container #maincont .contdetails
				{
					width: 100%;
					margin: 0 0 15px 0;
				}
				
					.container #maincont .contdetails .contcol
					{
						float: left;
						width: 50%;
					}
			
			.container #maincont #mainright
			{
				float: left;
				width: 26%;
				padding: 25px 0 15px 20px;
			}
			
				.container #maincont #mainright #feederform
				{
					margin: 0 0 25px 0;
				}
				
				.container #maincont #mainright form#quickquote ul
				{
					list-style-type: none;
					margin: 0;
				}
				
					.container #maincont #mainright form#quickquote fieldset input
					{
						padding: 9px 10px;
						width: 100%;
						border: 2px solid #FFF;
						background: #FFF;
						text-align: left;
						margin: 0 0 10px 0;
						font-family: inherit;
						font-size: 13px;
						color: #333;
						
						-webkit-border-radius: 0;
						-moz-border-radius: 0;
						border-radius: 0;
						
						-webkit-appearance: none;
					}
					
						.container #maincont #mainright form#quickquote fieldset input:focus
						{
							border: 2px solid #80A39F;
						}

				.container #maincont #mainright .sidesection
				{
					margin: 0 0 15px 0;
					padding: 0;
				}
				
					.container #maincont #mainright .sidesection h3
					{
						margin: 0 0 10px 0;
						font-size: 24px;
					}
				
					.container #maincont #mainright .sidesection .sidetop
					{
						margin: 0 0 5px 0;
					}
					
						.container #maincont #mainright .sidesection .sidetop a img
						{
							width: 100%;
						}
		
					.container #maincont #mainright .sidesection .sidebottom p
					{
						margin: 0 0 5px 0;
						line-height: 16px;
						font-size: 13px;
					}

				.container #maincont #mainright a.hoverlink
				{
					float: left;
					position: relative;
					width: 100%;
					margin: 0 0 10px 0;
				}
				
					.container #maincont #mainright a.hoverlink img
					{
						display: block;
						width: 100%;
					}

						.container #maincont #mainright .overlay
						{
							position: absolute;
							display: inline-block;
							top: 0;
							left: 0;
							width: 100%;
							height: 100%;
							background: url("../images/overlay_link.png") no-repeat center, url("../images/overlay_bg.png") repeat center;
							z-index: 40;
							opacity: 0;
							
							-moz-transition: opacity 120ms ease-in-out 0s;
							-webkit-transition: opacity 120ms ease-in-out 0s;
							-o-transition: opacity 120ms ease-in-out 0s;
						}
							
							.container #maincont #mainright .overlay:hover
							{
								opacity: 1;
							}
	
	/** Footer **/
			
	.container #footercont
	{
		width: 86%;
		max-width: 980px;
		margin: 0 auto;
		font-size: 13px;
		text-align: left;
		padding: 20px 0;
		line-height: 22px;
		border-top: 1px dotted #A0BAB7;
		color: #999;
	}
	
		.container #footercont p#logorollover
		{
			float: right;
			padding: 0 10px 0 0;
		}
	
			.container #footercont p#logorollover a
			{
				cursor: pointer;
				text-transform: uppercase;
				font-weight: 700;
				font-size: 32px;
				line-height: 32px;
			}


/** Responsive Magic **/

@media screen and (max-width: 768px)
{

	.container #headercont #headerlogo, .container #headercont #headerright
	{
		float: none;
		width: 100%;
		height: auto;
		text-align: center;
		padding: 40px 0 20px 0;
	}
	
		.container #headercont #headerlogo a img
		{
			max-width: 260px;
		}
		
		.container #headercont #headerright
		{
			padding: 0 0 30px 0;
		}
		
	#menucont ul#socialmedia li
	{
		margin: 0 0 0 15px;
	}
		
	.container #maincont
	{
		background: none;
	}
	
	.container #maincont #mainleft, .container #maincont #mainright
	{
		float: none;
		width: 100%;
		text-align: center;
		padding: 25px 0 15px 0;
		
		min-height: 300px;
		height: auto !important;
		height: 300px;
	}
	
		.container #maincont #mainleft #gallerycont
		{
			display: none;
		}
	
		.container #maincont ul { margin: 0 0 15px 0; list-style-type: none; }
		.container #maincont ul li { padding: 0; }
		.container #maincont ol { margin: 0 0 15px 0; list-style-type: none; }
		.container #maincont ol li { padding: 0; }
	
		.container #maincont #mainleft img.imgleft, .container #maincont #mainleft img.imgright, .container #maincont #mainleft img.imgrightsmall
		{
			float: none;
			width: 86%;
			margin: 0 0 15px 0;
		}
		
		.container #maincont .twocol
		{
			float: none;
			width: 100%;
		}
		
		.container #maincont .contdetails .contcol
		{
			float: none;
			width: 100%;
		}

		.container #maincont #mainright
		{
			border-top: 1px dashed #666;
			
			min-height: 100px;
			height: auto !important;
			height: 100px;
		}
		
			.container #maincont #mainright form#quickquote fieldset input
			{
				text-align: center;
			}

	.container #maincont #mainright .sidecont
	{
		padding: 20px 0 10px 0;
	}
	
		.container #maincont #mainright .sidesection h3
		{
			margin: 0 0 10px 0;
			font-size: 20px;
		}
	
		.container #maincont #mainright .sidesection
		{
			float: left;
			width: 50%;
			padding: 0 10px;
			margin: 0 0 15px 0;
		}
		
	.container #footercont
	{
		text-align: center;
	}
	
		.container #footercont p#logorollover
		{
			float: none;
			padding: 0 0 10px 0;
		}
		
}

@media screen and (max-width: 480px)
{	

	.container #headercont #headerlogo h1
	{
		font-size: 30px;
	}
	
	.container #headercont #headerright p
	{
		font-size: 20px;
	}
	
		.container #headercont #headerright p span
		{
			display: block;
		}

	.container #maincont #mainleft img.imgleft, .container #maincont #mainleft img.imgright
	{
		width: 90%;
	}

	.container #maincont #mainright .sidesection h3
	{
		margin: 0 0 10px 0;
		font-size: 24px;
	}

	.container #maincont #mainright .sidesection
	{
		clear: both;
		float: left;
		width: 100%;
		padding: 0%;
		margin: 0 0 15px 0;
	}
	
	.container #maincont #mainleft #googlewhere input#inputmapfield
	{
		margin: 0 0 10px 0;
		width: 80%;
		text-align: center;
	}

}

