* {
	margin: 0;
	padding: 0;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

body {
	width: 98%;
	min-width: 280px;
	margin: 15px auto 0;
	font-size: 100%; /* approx 16px */
	font-family: Poseidon, serif;
	background-color: #fff;
	text-align: center;
}

img {
	max-width: 100%;
	border: none;
}

h1, h2, h3, h4 {
	font-weight: 400;
}

h1 {
	font-size: 2rem;
}

h2 {
	font-size: 1.625rem;
}

h3 {
	font-size: 1.25rem;
}

a {
	color: #2A4D60;
}

a:hover {
	color: #BE6253;
}

.hidden {
	display: none;
}

.errors {
	color: #ff0000;
}

.thank_you {
	margin-top: 50px;
	font-size: 2em;
	font-weight: 700;
}

.clear:after {
  content: ".";
  height: 0;
  visibility: hidden;
  display: block;
  clear: both;
}

#site_nav {
	display: none;
}

/************************************
	GENERAL
*************************************/

#company_description, #services_nav, #site_nav, #portfolio, #services, #team, #contact, #tutor {
	max-width: 1024px;
}

/************************************
	TOP NAVIGATION
*************************************/

#main_nav {
	display: none;
	background-color: #2A4D60;
	position: fixed;
	width: 100%;
	top: 0;
	left: 0;
	z-index: 1000;
	text-align: center;
}

#main_nav ul {
	list-style-type: none;
	overflow: hidden;
}

#main_nav li {
	display: inline-block;
	text-align: center;
	background-color: #2A4D60;
}

#main_nav li a {
	display: block;
	font-size: 1.5rem;
	color: #fff;
	padding: 8px 50px;
	text-decoration: none;
}

#main_nav a.current {
	color: #2A4D60;
	background-color: #fff;
}

/************************************
	HEADER
*************************************/

header { 
	height: 70px;
	background-color: #2A4D60;
	margin: 15px auto 100px; 
	text-align: center;
}

.logo {
	display: inline-block;
	width: 135px;
	height: 135px;
	margin-top: 15px;
	background: url(../images/logo_m.png) no-repeat;
}

#company_description {
	margin: 0 auto 35px;
	background-color:#fff;
}

#company_description h1 {
	font-family: PoseidonBold, serif;
	margin-bottom: 0.25em;
}

/************************************
	SERVICES
*************************************/

#nav_wrapper {
	margin: 0 auto 50px;
}

#services_nav {
	width: 80%;  /* prevents services text from spreading across entire width */
	margin: 0 auto;
	padding-top: 15px;
}

.services_button {
	margin-bottom: 25px;
}

.services_button a {
	width: 137px;
	height: 135px;
	display: inline-block; /* center circle */
	margin: 0 auto 15px;
}

.services_button h4 {
	font-weight: 700;
}

a#web_design {
	background: #fff url(../images/icons.png) 0% 98% no-repeat;
}

a#web_design:hover {
	background: #fff url(../images/icons.png) 0% 2% no-repeat;
}

a#web_development {
	background: #fff url(../images/icons.png) 25% 98% no-repeat;
}

a#web_development:hover {
	background: #fff url(../images/icons.png) 25% 2% no-repeat;
}

a#crm_solutions {
	background: #fff url(../images/icons.png) 50% 98% no-repeat;
}

a#crm_solutions:hover {
	background: #fff url(../images/icons.png) 50% 2% no-repeat;
}

a#seo {
	background: #fff url(../images/icons.png) 75% 98% no-repeat;
}

a#seo:hover {
	background: #fff url(../images/icons.png) 75% 2% no-repeat;
}

a#content_creation {
	background: #fff url(../images/icons.png) 100% 98% no-repeat;
}

a#content_creation:hover {
	background: #fff url(../images/icons.png) 100% 2% no-repeat;
}

/************************************
	PORTFOLIO
*************************************/

#portfolio_wrapper {
	background-color: #f0f2f4;
	padding: 50px 0;
}

#portfolio {
	width: 90%;  /* provides some space between edges of portfolio and viewport */
	margin: 0 auto;
}

#portfolio_wrapper h2 {
	font-family: PoseidonBold, serif;
	margin-bottom: 1em;
}

.portfolio_piece {
	position: relative;
	margin-bottom: 15px;
	background-color: #fff;
}
	
.portfolio_piece_img img {
	vertical-align: middle;
	width: 100%;
	max-width: 100%;
}

.portfolio_piece:hover .portfolio_piece_img img { 
	opacity: 0.1;
}

.portfolio_piece:hover .portfolio_overlay {
	display: block;
}

.portfolio_overlay {
	display: none;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	padding: 25px;
}

.portfolio_overlay h3 {
	color: #2A4D60;
	text-align: left;
	margin-bottom: 0.25em;
	font-size: 2rem;
}

.portfolio_overlay p {
	text-align: left;
	margin-bottom: 1em;
	font-size: 1.125rem;
}

.portfolio_overlay_text {
	margin-top: 0px !important;
}
	
.portfolio_overlay_links {
	text-align: center;
}

.portfolio_overlay_links a {
	display: inline-block;
	opacity: 1.0;
	padding: 0.5em 1em;
	text-decoration: none;
	-moz-border-radius: 5px;
	-webkit-border-radius: 5px;
	border-radius: 5px;
}

.portfolio_overlay_links a.site_link {
	background-color: #2A4D60;
}

.portfolio_overlay_links a.site_link:hover {
	background-color: #BE6253;
}

.portfolio_overlay_links a span {
	font-size: 1.25rem;
	color: #fff;
}

/************************************
	SERVICE DESCRIPTIONS
*************************************/

#services_wrapper {
	padding: 50px 0;
}

#services {
	width: 90%;
	margin: 0 auto;
}

#services_wrapper h2 {
	font-family: PoseidonBold, serif;
	margin-bottom: 1em;
}

.service {
	margin-bottom: 10px;
}

.service h3 {
	cursor: pointer;   /* so visitor knows to click to expand */
	position: relative;  /* for expand and collapse buttons */
	line-height: 2.50em;
	font-size: 1.25em;
	color: #fff;
	font-weight: 400;
	background: #2A4D60 url(../images/m_accordion_icons.jpg) 3% -900% no-repeat;
	-moz-border-radius: 5px;
	-webkit-border-radius: 5px;
	border-radius: 5px;
}

.service h3.collapse {
	background: #2A4D60 url(../images/m_accordion_icons.jpg) 3% 1200% no-repeat;
}

.service_description {
	text-align: left;
	padding: 0.5em 1.5em;
	border: 1px dashed #2A4D60;
	background-color: #fff;
}

.service_description p {
	color: #404040;
	margin-bottom: 1em;
}

/************************************
	TEAM
*************************************/

#team_wrapper {
	padding: 50px 0;
	background-color: #f0f2f4;
}

#team {
	width: 90%;
	margin: 0 auto;
}

#team_wrapper h2 {
	font-family: PoseidonBold, serif;
	margin-bottom: 1em;
}

.bio_wrap {
	margin-bottom: 25px;
}

.team_pics {
	display: inline-block; 
	max-width: 315px;
}

.team_pics img {
	width: 100%;
	max-width: 100%;
	margin-top: -2px;
}

.bio h3 {
	color: #2A4D60;
}

.bio h4 {
	font-weight: 700;
	color: #404040;
	margin-bottom: 1em;
}

.bio p {
	margin-bottom: 1em;
}

/******* TUTORING *********/
#tutoring {
	padding: 50px 0;
}

#tutor{
	min-width: 252px;
	margin: 0 auto;
}

#tutor h2 {
    font-family: PoseidonBold, serif;
    margin-bottom: 1em;
}

/************************************
	CONTACT US
*************************************/
#contact_wrapper {
	padding: 50px 0;
	margin-bottom: 50px;
	background-color: #f0f2f4;
}

#contact{
	min-width: 252px;
	margin: 0 auto;
}

#contact_wrapper h2 {
	font-family: PoseidonBold, serif;
	margin-bottom: 1em;
	text-align: center;
}

#f_contact {
	display: inline-block;
	min-width: 252px;
	margin: 0 auto;
}

#f_contact label {
	display: none;
}

#f_contact input[type="text"] {
	width: 250px;
	padding: 15px;
	margin: 7px 0;
	font: inherit;
	border: 1px solid #ccc;
	-moz-border-radius: 5px;
	-webkit-border-radius: 5px;
	border-radius: 5px;
}

#f_contact textarea {
	width: 250px;
	height: 150px;
	padding: 15px;
	margin: 7px 0 15px;
	font: inherit;
	border: 1px solid #ccc;
	-moz-border-radius: 5px;
	-webkit-border-radius: 5px;
	border-radius: 5px;
}

#f_contact input[type="submit"] {
	padding: 0.5em 1em;
	font-family: PoseidonBold;
	font-weight: 100;
	font-size: 1.25rem;
	color: #fff;
	cursor: pointer;
	background-color: #2A4D60;
	border: medium none !important;
	-moz-border-radius: 5px;
	-webkit-border-radius: 5px;
	border-radius: 5px;
	-webkit-appearance: none;
}

/************************************
	FOOTER
*************************************/

footer {
	color: #000;
	margin-bottom: 50px;
	text-align: center;
}