html, body{
	font-family: "Open Sans";
	font-style: normal;
	font-weight: 400;
	font-size: 12px;
	line-height:16px;
	background-image: url('http://thefirmorganisation.com/img/pattern.png');
	background-color:#20314D;
	background-repeat: no-repeat;
	background-attachment: fixed;
	-moz-transition: none;
    -webkit-transition: none;
    -o-transition: color 0 ease-in;
    transition: none;
}
#topBar{
	position:relative;
	z-index:1;
	width:100%;
}
#mainHeaderContainer, #mainContent{
	margin:0 auto;
	padding:0;
	overflow:hidden;
}
#mainHeaderContainer h1{
	margin-bottom:0;
	line-height:18px;
	font-weight:600;
}
#mainHeaderContainer p{
	font-style:italic;
}
#mainHeaderContainer #logoContainer{
	background:#fff;
}
#mainContent #headerTitle, #mainContent .contactText{
	text-align:center;
	color:#fff;
	font-size:16px;
	padding:22px 0 16px 0;
	font-weight:600;
}
#mainContent .contactText.rightAlign{
	margin-top:12px;
}
#mainContent .contactText.leftAlign{
	transition: all .4s ease-in-out;
}
#mainContent .contactText.leftAlign:hover{
	transform: scale(1.2, 1.2);
}
#mainContent .contactText{
	font-size:13px;
	padding:16px 20px;
	font-weight:400;
}
#mainContent .contactText a{
	color:#fff;
	text-decoration:underline;
}
#mainContent .contactText a:hover{
	color:cyan;
}
.boxSquare{
	width:142px;
	height:142px;
	border:1px solid #fff;
	background-color:#20314D;
	position:relative;
	margin:0 auto 16px auto;
}
.boxSquare:hover{
	background-color:#40516D;
}
.boxSquare .boxImage{
	width:140px;
	height:60px;
	margin-top:20px;
	text-align:center;
}
.boxSquare .boxCaption{
	position:absolute;
	bottom:4px;
	left:4px;
	width:132px;
	height:40px;
	overflow:hidden;
	border-top:1px solid #fff;
	text-align:center;
	color:#fff;
	padding-top:4px;
}

/* Small devices (landscape phones, 300px and up) */
@media(min-width: 300px){
	body{
		background-size: cover;
		background-position: 50% 20%; 
	}
	#topBar{
		height:auto;
		background:transparent;
	}
	#mainHeaderContainer, #mainContent{
		width:100%;
	}
	#mainHeaderContainer #logoContainer{
		text-align:center;
	}
	#mainHeaderContainer #sloganContainer{
		background:transparent;
		max-height:auto;
		text-align:center;
	}
	#mainHeaderContainer #sloganContainer h1{
		font-size:15px;
		margin-top:20px;
		color:#fff;
		padding:0 20px;
	}
	#mainHeaderContainer #sloganContainer p{
		margin-top:10px;
		font-size:14px;
		color:#fff;
		padding:0 20px;
		line-height:15px;
	}
	#mainContent .contactText.leftAlign{
		text-align:center;
	}
	#mainContent .contactText.rightAlign{
		text-align:center;
	}
}

/* Medium devices (tablets, 768px and up) */
@media(min-width: 768px){
	body{
		background-size: contain;
		background-position: 50% 50%; 
	}
	#topBar{
		height:112px;
		background:#fff;
	}
	#mainHeaderContainer, #mainContent{
		width:576px;
	}
	#mainHeaderContainer #logoContainer{
		text-align:center;
	}
	#mainHeaderContainer #sloganContainer{
		background:#fff;
		max-height:112px;
		overflow:hidden;
		text-align:left;
	}
	#mainHeaderContainer #sloganContainer h1{
		font-size:13px;
		margin-top:40px;
		color:#000;
		padding:0;
	}
	#mainHeaderContainer #sloganContainer p{
		font-size:12px;
		line-height:13px;
		color:#000;
		padding:0;
		margin-top:0;
	}
	#mainContent .contactText.leftAlign{
		text-align:left;
	}
	#mainContent .contactText.rightAlign{
		text-align:right;
	}
}