/* ==================================================
   CSS Imports
================================================== */

@import url("reset.css");
@import url("buttons.css");
@import url("menu.css");
@import url("columns.css");

/* ==================================================
   Icon Fonts
================================================== */

@import url("fonts/fontawesome/font-awesome.css");

/* ==================================================
   Google Fonts
================================================== */

@import url("http://fonts.googleapis.com/css?family=Source+Sans+Pro:300,300italic,400,400italic,600,600italic,700,700italic");
@import url("http://fonts.googleapis.com/css?family=Montserrat:400,700");

/* ==================================================
   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: "Source Sans Pro", Arial, Verdana, Helvetica, sans-serif;
	font-size: 16px;
	color: #333;
	background: #222;
	
	text-rendering: optimizeLegibility;
	vertical-align: baseline;
}

::selection
{
	background: #2FA8D9;
	color: #FFF;
}

::-moz-selection
{
	background: #2FA8D9;
	color: #FFF;
}

a
{
	color: #2FA8D9;
	text-decoration: none;
}

a:hover
{
	color: #C13584;
}

/* ==================================================
   Images
================================================== */

img
{
	-webkit-backface-visibility: hidden;
	-moz-backface-visibility: hidden;
	-ms-backface-visibility: hidden;
}

	img.imgright
	{
		display: block;
		float: right;
		width: 100%;
		max-width: 300px;
		margin: 0 0 20px 20px;
	}
	
	img.imgleft
	{
		display: block;
		float: left;
		width: 100%;
		max-width: 300px;
		margin: 0 20px 20px 0;
	}

/* ==================================================
   Colours
================================================== */

.bg1
{
	background: #555 url("../images/bg.jpg") no-repeat fixed top center;
	background-size: cover;
}

.bg2
{
	background: #FFF;
}

.bg3
{
	background: #FFF;
	border-bottom: 1px dotted #CCC;
}

/* ==================================================
   Layout Styles
================================================== */

.container
{
	width: 100%;
	padding: 0 40px;
	min-width: 280px;
	line-height: 30px;
}

	.container .bodycontainer
	{
		margin: 0 auto;
		width: 100%;
		max-width: 1140px;
	}
	
.containerfull
{
	width: 100%;
	padding: 0 40px;
	min-width: 280px;
	line-height: 30px;
}

	.containerfull .bodycontainer
	{
		margin: 0 auto;
		width: 100%;
	}

/*--------------------*/
/* FOOTER */
/*--------------------*/

#footer{
	background-color: #242424;
	display: inline;
	float: left;
	margin-top: -6px;
	width: 100%;
}
.footer-top {
	display: inline;
	float: left;  
	width: 100%;
}
.footer-top-area{
	display: inline;
	float: left;
	text-align: center;
	width: 100%;
}
.footer-logo{
	display: inline-block;
}
.footer-social{	
	display: inline;
	float: left;
	margin: 40px 0px;
	width: 100%;
}
.footer-social a {
	border: 1px solid #505050;
	border-radius: 50%;
	color: #b8b8b8;
	display: inline-block;
	font-size: 33px;
	height: 88px;
	line-height: 88px;
	margin: 0 9px;
	text-align: center;
	width: 88px;
	-webkit-transition: all 0.5s;
	-moz-transition: all 0.5s;
	-ms-transition: all 0.5s;
	-o-transition: all 0.5s;
	transition: all 0.5s;
}
.footer-social a.facebook:hover{
	background-color: #3b5998;
	border-color: #3b5998;
	color: #fff;
}
.footer-social a.twitter:hover{
	color: #fff;
	background-color: #C13584;
	border-color: #C13584;
}
.footer-social a.google-plus:hover{
	color: #fff;
	background-color: #dd4b39;
	border-color: #dd4b39;
}
.footer-social a.youtube:hover{
	color: #fff;
	background-color: #bb0000;
	border-color: #bb0000;
}
.footer-social a.linkedin:hover{
	color: #fff;
	background-color: #141ecc;
	border-color: #141ecc;
}
.footer-social a.dribbble:hover{
	color: #fff;
	background-color: #ea4c89;
	border-color: #ea4c89;
}
.footer-bottom{
	display: inline;
	border-top: 1px solid #434343;
	float: left;
	padding: 40px 0;
	width: 100%;
	text-align: center;
}
.footer-bottom p{
	color: #fff;
	font-size: 18px;
	margin-bottom: 0px;
}


	
/* ==================================================
   Sections
================================================== */

#tpcont.bgcolour, .menuopened #tpcont
{
	background: #2FA8D9;
}

		.menuopened #topcont #topleft p a
		{
			padding: 5px 0;
		}

#tpcont
{
	-webkit-transition: background 0.1s linear;
	-moz-transition: background 0.1s linear;
	-o-transition: background 0.1s linear;
	transition: background 0.1s linear;
}

.overlay
{
	background: rgba(0,0,0, 0.5);
}

#topcont
{
	width: 100%;
	color: #FFF;
	padding: 30px 0;
}

	#topcont #topleft
	{
		float: left;
	}
	
		#topcont #topleft p
		{
			display: inline-block;
		}
	
		#topcont #topleft p a
		{
			font-weight: 700;
			font-size: 28px;
			line-height: 40px;
			letter-spacing: 1px;
			text-transform: uppercase;
			font-family: "Montserrat";
			color: #FFF;
			padding: 5px 10px;
			background: #2FA8D9;
			
			-webkit-transition: padding 0.1s linear;
			-moz-transition: padding 0.1s linear;
			-o-transition: padding 0.1s linear;
			transition: padding 0.1s linear;
		}
	
	#topcont #topright
	{
		float: right;
	}

#headercont
{
	text-align: center;
	padding: 80px 0 130px 0;
	color: #FFF;
}

	#headercont h2
	{
		font-family: "Montserrat";
		font-size: 58px;
		line-height: 58px;
		font-weight: 700;
		text-transform: uppercase;
		margin: 0 0 20px 0;
		letter-spacing: -1.4px;
	}
	
	#headercont p
	{
		display: inline-block;
		width: 100%;
		max-width: 800px;
		font-size: 20px;
		line-height: 24px;
		font-weight: 600;
		margin: 0 0 20px 0;
	}
	
		#headercont p:last-child
		{
			margin: 0;
		}
	
#boxescont
{
	width: 100%;
	text-align: center;
	padding: 20px 0;
	line-height: 24px;
}

	#boxescont .box
	{
		float: left;
		width: 33.33%;
	}
	
		#boxescont .box a p.boxicon
		{
			margin: 0 0 20px 0;
		}

			#boxescont .box a p.boxicon span
			{
				width: 100%;
				max-width: 85px;
				line-height: 85px;
				font-size: 40px;
				color: #FFF;
				background: #2FA8D9;
				border: 0;
				
				-webkit-border-radius: 250px;
				-moz-border-radius: 250px;
				border-radius: 250px;
			}
		
		#boxescont .box 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;
		}
		
			#boxescont .box a:hover
			{
				padding: 37px 15px 43px 15px;
				color: #2FA8D9;
			}

			#boxescont .box a h3
			{
				margin: 0 0 15px 0;
				font-weight: 700;
				color: #333;
				letter-spacing: 1px;
				font-size: 25px;
				line-height: 25px;
				text-transform: uppercase;
				font-family: "Montserrat";
				
				-webkit-transition: color 0.1s linear;
				-moz-transition: color 0.1s linear;
				-o-transition: color 0.1s linear;
				transition: color 0.1s linear;
			}
			
				#boxescont .box a:hover h3
				{
					color: #2FA8D9;
				}
			
			#boxescont .box 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;
			}
			
				#boxescont .box a:hover p
				{
					color: #2FA8D9;
				}

#maincont
{
	width: 100%;
	padding: 45px 0;
	background: #FFF url("../images/bg-maincont.png") repeat-y 70% 0;
}

	#maincont p
	{
		margin: 0 0 20px 0;
	}
	
		#maincont p:last-child
		{
			margin: 0 0 20px 0;
		}
		
	#maincont strong
	{
		font-weight: 700;
	}

	#maincont h1, #maincont h2, #maincont h3, #maincont h4, #maincont h5, #maincont h6
	{
		margin: 0 0 20px 0;
		font-weight: 400;
		text-transform: uppercase;
		font-family: "Montserrat";
	}
	
		#maincont h1
		{
			font-size: 32px;
			line-height: 32px;
			font-weight: 700;
		}
		
		#maincont h2
		{
			font-size: 26px;
			line-height: 26px;
		}
		
		#maincont h3
		{
			font-size: 24px;
			line-height: 24px;
		}
		
		#maincont h4
		{
			font-size: 20px;
			line-height: 24px;
		}
		
		#maincont hr
		{
			clear: both;
			float: left;
			width: 100%;
			padding: 0;
			margin: 0 0 20px 0;
			border: none;
			border-top: 1px dotted #CCC;
		}
	
			#maincont #mainleft
			{
				float: left;
				width: 70%;
				padding: 0 30px 0 0;
			}
			
			#maincont #mainright
			{
				float: left;
				width: 30%;
				padding: 0 0 0 30px;
			}

#footercont
{
	padding: 50px 0;
	color: #999;
	color: rgba(255, 255, 255, 0.4);
}

	#footercont .column-10
	{
		text-align: right;
	}

	#footercont p
	{
		margin: 0;
	}

	#footercont a
	{
		color: #AAA;
	}
	
	#footercont a:hover
	{
		color: #ffffff;
	}
	
		#footercont a.scrolltop
		{
			font-size: 38px;
		}
	
		#footercont #socialmedia ul
		{
			margin: 0 0 20px 0;
		}

		#footercont #socialmedia ul li
		{
			display: inline-block;
			list-style-type: none;
			margin: 0 12px 0 0;
			padding: 0;
		}

			#footercont #socialmedia ul li a
			{
				font-size: 27px;
			}

/* ==================================================
   Responsive Media Queries - Tablets
================================================== */

@media screen and (max-width: 768px)
{

	img.imgright
	{
		float: none;
		width: 100%;
		max-width: 380px;
		margin: 0 auto 20px auto;
	}
	
	img.imgleft
	{
		float: none;
		width: 100%;
		max-width: 380px;
		margin: 0 auto 20px auto;
	}
	
	.container
	{
		padding: 0 20px;
	}
		
	.containerfull
	{
		padding: 0 20px;
	}
	
		#topcont #topleft
		{
			float: left;
			width: 100%;
		}
			
		#topcont #topright
		{
			float: left;
			width: 100%;
		}
		
		#headercont h2
		{
			font-size: 48px;
			line-height: 48px;
			letter-spacing: -1px;
		}
		
		#headercont p
		{
			font-size: 18px;
			line-height: 22px;
		}
		
		#boxescont
		{
			width: 100%;
		}

			#boxescont .box
			{
				width: 100%;
			}
				
				#boxescont .box a
				{
					padding: 20px 15px;
				}
				
					#boxescont .box a:hover
					{
						padding: 17px 15px 23px 15px;
					}
					
	#maincont
	{
		background-image: none;
		text-align: center;
	}
	
		#maincont #mainleft
		{
			float: left;
			width: 100%;
			padding: 0 0 30px 0;
		}
		
		#maincont #mainright
		{
			float: left;
			width: 100%;
			padding: 30px 0;
			border-top: 1px dotted #CCC;
		}
	
	#footercont
	{
		text-align: center;
	}
	
		#footercont .column-10
		{
			text-align: center;
			margin-top: 20px;
		}
	
		#footercont a.scrolltop
		{
			display: block;
			margin: 0;
		}
		
		#footercont #socialmedia ul li
		{
			margin: 0 10px 0 0;
		}

}

/* ==================================================
   Responsive Media Queries - Mobiles
================================================== */

@media screen and (max-width: 480px)
{		

	#headercont h2
	{
		font-size: 42px;
		line-height: 42px;
		letter-spacing: -0.8px;
	}

}

