@import "elements.less";

@grey:   #F4F4F4;
@green:  #3CA329;
@blue_1: #E9ECF2;
@blue_2: #D3D9E6;
@blue_3: #3C5491;
@blue_4: #233B77;
@blue_5: #1F346A;
@blue_6: #1C2F5F;


* { .border-box; }
body {
	background: @grey;
	font-family: 'proxima-nova', helvetica;
	font-size: 15px;
}
.c {
	margin: 0 auto;
	width: 1000px;
}
.col-300, .col-650 {
	float: left;
	margin-right: 50px;
	width: 300px;
	&:last-child, .last-child {
		margin-right: 0px;
	}
}
.col-650 { width: 650px; }
#top-bar {
	background: @blue_3;
	height: 40px;
	.c {
		position: relative;
		#call-us {
			background: @blue_2;
			color: @blue_3;
			height: 40px;
			line-height: 20px;
			padding: 10px;
			position: absolute;
				top: 0;
				right: 0;
			text-align: center;
			text-transform: uppercase;
			width: 300px;
		}
	}
}
header {
	.gradient(white, @grey);
	.c {
		border-bottom: 1px solid @blue_1;
		height: 80px;
		padding: 20px 0;
		#logo {
			float: left;
			&:hover {
				.opacity(.5);
			}
		}
		ul {
			float: right;
			li {
				float: left;
				margin-left: 30px;
				position: relative;
				a {
					color: @blue_3;
					float: left;
					font-weight: 600;
					line-height: 20px;
					padding: 10px;
					text-transform: uppercase;
					text-decoration: none;
				}
				ul {
					display: none;
				}
				&:hover, &.hover {
					a {
						background: @blue_2;
					}
					ul {
						background: @blue_2;
						display: block;
						float: none;
						position: absolute;
							top: 40px;
							left: 0;
						width: 200px;
						z-index: 2;
						li {
							display: block;
							float: none;
							margin: 0;
							a {
								display: block;
								margin: 0;
								width: 100%;
								&:hover {
									background: darken(@blue_2, 5%);
									color: white;
								}
							}
						}
					}
				}
			}
		}
	}
}
#main {
	overflow: hidden;
	padding: 40px 0;
	.featured-image {
		.drop-shadow(0, 1px, 2px, 0.3);
		border: 10px solid white;
		margin-bottom: 30px;
		position: relative;
		img {
			width: 100%;
		}
		h1 {
			background: rgba(255,255,255,.9);
			color: @blue_3;
			font-size: 30px;
			padding: 10px;
			position: absolute;
				bottom: 0;
				left: 0;
				right: 0;
		}
	}
	p {
		color: #535353;
		line-height: 150%;
		margin-bottom: 20px;
		&:last-of-type {
			margin-bottom: 0;
		}
	}
	form.contact-form {
		.gradient(@blue_1, @blue_2);
		padding: 20px;
		text-align: center;
		h3 {
			background: @blue_3;
			color: white;
			font-size: 20px;
			font-weight: 600;
			margin: -20px -20px 20px -20px;
			padding: 20px;
			text-transform: uppercase;
		}
		p {
			color: @blue_3;
			line-height: 150%;
			margin-bottom: 20px;
		}
		input {
			background: white;
			border-left: 2px solid transparent;
			margin-bottom: 12px;
			padding: 10px;
			width: 100%;
			&:focus {
				border-color: @blue_3;
			}
			&[type='submit'] {
				.rounded();
				background: @green;
				border: none;
				color: white;
				display: inline-block;
				font-weight: 600;
				margin: 0 auto;
				padding: 10px 30px;
				text-transform: uppercase;
				width: auto;
				&:hover {
					.opacity(.5);
				}
			}
		}
	}
}
#what-we-do {
	background: @blue_1;
	overflow: hidden;
	padding: 40px;
	.box {
		.rounded();
		background: white;
		text-align: center;
		.top {
			.border-radius(2px, 2px, 0, 0);
			background: @blue_2 url('../images/icon.png') center center no-repeat;
			height: 150px;
			margin-bottom: 20px;
		}
		h3 {
			color: @blue_3;
			font-size: 20px;
			font-weight: 600;
			margin-bottom: 20px;
			a {
				color: @blue_3;
				text-decoration: none;
				&:hover {
					.opacity(.5);
				}
			}
		}
		p {
			color: @blue_3;
			line-height: 150%;
			margin-bottom: 20px;
			padding: 0 20px;
		}
		a.read-more {
			.rounded();
			background: @blue_3;
			color: white;
			display: inline-block;
			margin: 0 auto;
			margin-bottom: 20px;
			padding: 10px 20px;
			text-decoration: none;
			text-transform: uppercase;
			&:hover {
				.opacity(.5);
			}
		}
	}
}
#worked-with {
	background: @blue_3;
	overflow: hidden;
	padding: 40px;
	h2 {
		color: white;
	}
	.box {
		.rounded();
		background: @blue_4;
		padding: 20px;
		text-align: center;
		h3 {
			color: white;
			font-size: 20px;
			font-weight: 600;
			margin-bottom: 20px;
		}
		p {
			color: white;
			line-height: 150%;
			margin-bottom: 20px;
		}
	}
}
footer {
	background: @blue_5;
	overflow: hidden;
	padding: 40px;
	h3 {
		border-bottom: 2px solid @blue_3;
		color: white;
		font-size: 20px;
		margin-bottom: 10px;
		padding-bottom: 4px;
	}
	ul {
		li {
			margin-bottom: 8px;
			a {
				color: white;
				font-weight: 600;
				text-decoration: none;
				text-transform: uppercase;
				&:hover {
					.opacity(.5);
				}
			}
		}
		&.connect {
			li {
				a {
					display: block;
					height: 32px;
					line-height: 32px;
					img {
						float: left;
						margin-right: 8px;
					}
				}
			}
		}
	}
	p {
		color: white;
		line-height: 150%;
		margin-bottom: 30px;
	}
}
#subfooter {
	background: @blue_6;
	height: 80px;
	p {
		color: white;
		font-size: 12px;
		line-height: 80px;
	}
}

h1, h2 {
	color: @blue_3;
	font-size: 30px;
	margin-bottom: 30px;
}


@media screen and (max-width: 40em) {
	.c {
		width: 100%;
	}
	.col-300, .col-650 {
		float: none;
		margin-right: 0;
		width: 100%; 
	}
	.col-650 { width: 100% }
	#top-bar {
		height: auto;
		.c {
			position: relative;
			#call-us {
				height: auto;
				line-height: 20px;
				padding: 10px 0;
				position: relative;
					top: auto;
					right: auto;
				width: 100%;
			}
		}
	}
	header {
		.c {
			height: auto;
			#logo {
				float: none;
				margin: 0 auto 20px auto;
				text-align: center;
				display: block;
			}
			ul {
				float: none;
				text-align: center;
				li {
					float: none;
					margin-left: 0;
					position: relative;
					a {
						float: none;
						line-height: auto;
						padding: 5px 0;
						display: block;
					}
					ul {
						display: block;
						float: none;
						background: #d3d3d3;
						position: relative;
							top: auto;
							left: auto;
						width: 100%; 
					}
					&:hover, &.hover {
						ul {
							display: block;
							float: none;
							background: #d3d3d3;
							position: relative;
								top: auto;
								left: auto;
							width: 100%;
						}
					}
				}
			}
		}
	}
	
	#main {
		overflow: auto;
		clear: both; 
		.c {
			width: 90%;
		}
		.col-650 img {
			width: 100%;
			max-width: 451px;
		}
		.featured-image {
			margin-bottom: 20px;
			position: relative;
			h1 {
				font-size: 20px;
				padding: 5px;
			}
			img {
				max-width: 630px
			}
		}
		p {
			text-align: justify;
		}
		form.contact-form {
			margin-top: 20px;
		}
	}
	#what-we-do {
		padding: 40px 0;
		.c { 
			width: 90%;
		}
		h2 {
			text-align: center;
		}
		.box {
			margin: 5px 0;
			.top {
				.border-radius(2px, 2px, 0, 0);
				background: @blue_2 url('../images/icon.png') center center no-repeat;
				height: 150px;
				margin-bottom: 20px;
			}
		}
	}
	#worked-with .c h2 {
		text-align: center
	}
	#worked-with {
		padding: 40px 0;
		.box {
			margin: 5px 0;
		}
		.c { 
			width: 90%;
		}
	}
	footer {
		text-align: center;
		padding: 0;
		ul {
			&.connect {
				li {
					a {
						display: block;
						height: auto;
						line-height: auto;
						img {
							float: none;
							display: inline-block;
							vertical-align: middle;
						}
					}
				}
			}
		}
		.c { 
			width: 90%;
		}
	}
	footer h3 { 
		margin: 20px 0 10px 0 
	}
	#subfooter {
		height: auto;
		text-align: center;
	}
}