@font-face {
  font-family: 'Proxima Nova Regular';
  src: url('../fonts/proximanova-regular-webfont.eot');
  src: url('../fonts/proximanova-regular-webfont.eot?#iefix') format('embedded-opentype'),
       url('../fonts/proximanova-regular-webfont.woff2') format('woff2'),
       url('../fonts/proximanova-regular-webfont.woff') format('woff'),
       url('../fonts/proximanova-regular-webfont.ttf')  format('truetype'),
       url('../fonts/proximanova-regular-webfont.svg#svgFontName') format('svg');
}

@font-face {
 font-family: 'Proxima Nova SemiBold';
  src: url('../fonts/proximanova-semibold-webfont.eot');
  src: url('../fonts/proximanova-semibold-webfont.eot?#iefix') format('embedded-opentype'),
       url('../fonts/proximanova-semibold-webfont.woff2') format('woff2'),
       url('../fonts/proximanova-semibold-webfont.woff') format('woff'),
       url('../fonts/proximanova-semibold-webfont.ttf')  format('truetype'),
       url('../fonts/proximanova-semibold-webfont.svg#svgFontName') format('svg');
}

@font-face {
 font-family: 'Proxima Nova Bold';
  src: url('../fonts/proximanova-bold-webfont.eot');
  src: url('../fonts/proximanova-bold-webfont.eot?#iefix') format('embedded-opentype'),
       url('../fonts/proximanova-bold-webfont.woff2') format('woff2'),
       url('../fonts/proximanova-bold-webfont.woff') format('woff'),
       url('../fonts/proximanova-bold-webfont.ttf')  format('truetype'),
       url('../fonts/proximanova-bold-webfont.svg#svgFontName') format('svg');
}

@font-face {
 font-family: 'Proxima Nova Light';
  src: url('../fonts/proximanova-light-webfont.eot');
  src: url('../fonts/proximanova-light-webfont.eot?#iefix') format('embedded-opentype'),
       url('../fonts/proximanova-light-webfont.woff2') format('woff2'),
       url('../fonts/proximanova-light-webfont.woff') format('woff'),
       url('../fonts/proximanova-light-webfont.ttf')  format('truetype'),
       url('../fonts/proximanova-light-webfont.svg#svgFontName') format('svg');
}

html, body, ul, li {
	margin: 0;
	padding: 0;
}

body {
	font-family: 'Proxima Nova Regular', Arial, sans-serif;
	font-size: 16px;
	background-color: #e8e8e8;
}

a {
	color: #547727;
}

	a:hover {
		color: #547727;
	}

p {
	margin-bottom: 30px;
}

.btn {
	font-family: 'Proxima Nova SemiBold';
	background: #eaeaea;
	border-radius: 0;
	padding: 5px 15px;
	color: #547727;
	text-transform: uppercase;
	transition: background .3s;
	font-size: 13px;
	letter-spacing: 1px;
}

	.btn:hover {
		background: #d8d8d8;
		color: #547727;
	}

.padded-wrapper {
	padding: 0 40px;
}

header {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 115px;
	border-top: 10px solid #ffffff;
	z-index: 8000;
}

	header .header-content {
		position: relative;
		border-bottom: 1px solid #ffffff;
		height: 105px;
	}

	header #logo {
		position: relative;
		top: 50%;
		-webkit-transform: translateY(-50%);
		-moz-transform: translateY(-50%);
		-ms-transform: translateY(-50%);
		transform: translateY(-50%);
	}

	header .free-quote {
		position: absolute;
		top: 0;
		right: 0;
		background: #ffffff;
		color: #547727;
		padding: 2px 15px;
		text-transform: uppercase;
		font-size: 14px;
	}

	header #trigger {
		display: none;
		position: absolute;
		top: 26px;
		right: 0px;
		height: 50px;
		width: 60px;
		cursor: pointer;
		padding: 14px;
	}

		header #trigger span {
			display: block;
			height: 4px;
			background: #ffffff;
			border-radius: 2px;
			margin-bottom: 4px;
		}

	header #main-navigation {
		position: absolute;
		bottom: 0;
		right: 0;
		transform-origin: center top;
		transition: all .7s;
	}

		header #main-navigation.open {
			-webkit-transform: perspective(800px) rotateX(0deg);
			-moz-transform: perspective(800px) rotateX(0deg);
			-ms-transform: perspective(800px) rotateX(0deg);
			transform: perspective(800px) rotateX(0deg);
		}

		header #main-navigation ul li {
			padding: 0;
		}

		header #main-navigation ul li a {
			display: block;
			padding: 5px 15px 10px 15px;
			color: #ffffff;
			text-transform: uppercase;
			font-size: 14px;
			border-left: 1px solid #ffffff;
			text-decoration: none;
			text-shadow: 0px 0px 5px rgba(0,0,0,0.0);
			transition: text-shadow .4s;
		}

		header #main-navigation ul li:first-child a { border: 0; }

			header #main-navigation ul li a:hover,
			header #main-navigation ul li a.active {
				text-shadow: 0px 0px 5px rgba(0,0,0,0.8);
			}

section#main {
	position: relative;
	min-height: 660px;
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center center;
	background-color: #ffffff;
	
	color: #787b7d;
	box-shadow: 0px 0px 100px 0px rgba(0,0,0,0.15);
}

	#main.map {
		min-height: 60px;
	}

		#main.map .content {
			padding: 55px 55px 0;
		}

	#main.home {
		background-image: url(../images/backgrounds/homepage-background.jpg);
		padding-top: 115px;
	}

/*		#main.home:before {
			content: '';
			position: absolute;
			top: 0;
			left: -100px;
			height: 450px;
			width: 100px;
			background-image: url(../images/common/left-shadow.png);
		}

		#main.home:after {
			content: '';
			position: absolute;
			top: 0;
			right: -100px;
			height: 450px;
			width: 100px;
			background-image: url(../images/common/right-shadow.png);
		}*/

		#main.home h1 {
			font-family: 'Proxima Nova Bold';
			font-size: 34px;
		}

		#main.home h2 {
			font-family: 'Proxima Nova Light';
			font-size: 24px;
		}

		#main.home .content {
			padding: 0;
			background: transparent;
			margin-top: 150px;
		}

			#main.home .content .btn {
				background: #ffffff;
			}

				#main.home .content .btn:hover {
					background: #e8e8e8;
				}

		#main .content-container {
			margin-top: -300px;
			margin-bottom: 30px;
		}

		#main.contact .content-container,
		#main.map .content-container {
			margin-top: -225px;
		}

			#main .content-container h1 {
				font-family: 'Proxima Nova SemiBold';
				color: #ffffff;
				margin: 0 0 20px 10px;
			}

			#main .content-container h2 {
				font-family: 'Proxima Nova Light';
				color: #547727;
				font-size: 21px;
			}

			#main .content-container h3 {
				font-family: 'Proxima Nova SemiBold';
				text-transform: uppercase;
				font-size: 14px;
				color: #547727;
				letter-spacing: 1px;
			}

			#main .content {
				font-family: 'Proxima Nova Light';
				font-size: 20px;
				line-height: 23px;
				color: #787b7d;
				background: #ffffff;
				padding: 55px;
			}

			#main .content-container .bio { font-size: 15px; line-height: 18px; }

			#map {
				width: 100%;
				height: 400px;
			}

footer {
	background: #9ea2a5;
	color: #ffffff;
	text-align: center;
	text-transform: uppercase;
	font-size: 13px;
	padding: 15px;
	letter-spacing: 1px;
}

.scrolloff {
	pointer-events: none;
}

/* XS - Mobile */
@media screen and (max-width: 767px) {
	.padded-wrapper { padding: 0; }

	.btn.small { font-size: 11px; }

	header { 
		border: 0;
		height: 80px;
		background: #c7cbce;;
	}

		header .header-content {
			height: 80px;
		}

		header .free-quote {
			font-size: 14px;
			width: 100%;
			text-align: center;
		}

		header #logo {
			display: inline-block;
			top: 50%;
			left: 0px;
			-webkit-transform: translateY(-50%);
			-moz-transform: translateY(-50%);
			-ms-transform: translateY(-50%);
			transform: translateY(-50%);
			padding: 24px 70px 0px 10px;
		}		

		header #trigger {
			display: block;
		}

		header #main-navigation {
			width: 100%;
			text-align: center;
			top: 80px;
			transform: perspective(800px) rotateX(-90deg);
		}

			header #main-navigation ul li {
				display: block;
				padding: 0;
			}

				header #main-navigation ul li a,
				header #main-navigation ul li:first-child a {
					background: #888888;
					border-left: 0;
					border-bottom: 1px solid #444;
					padding-top: 10px;
				}


	section#main {
		min-height: 450px;
		padding-top: 80px;
		padding-bottom: 20px;
		background: #ffffff;
	}

		section#main.home {
			background: #ffffff;
			padding-top: 80px;
		}

			#main.home .content { margin-top: 20px; padding: 0 15px; }

			#main.home h1 {
				font-size: 25px;
			}

			#main.home h2 {
				font-size: 18px;
			}

			#main.home .content .btn {
				background: #e8e8e8;
			}

				#main.home .content .btn:hover {
					background: #d8d8d8;
				}

			#main .content-container {
				margin: 20px 0 0 0 !important;
			}

				#main .content-container h1 {
					color: #9ea2a5;
					margin-left: 0;
				}

				#main .content,
				#main.map .content {
					padding: 0;
					background: transparent;
				}

	footer { font-size: 14px; }

	.partner { border-top: 1px solid #ccc; }
	.partner img { margin: 0 auto; }
	.partner.top { border-top: 0; }
	.partner:nth-child(odd) { clear: both; }
	.partner:nth-child(2n) { border-left: 1px solid #ccc; }
	.second-to-last { border-bottom: 1px solid #ccc; }
	.last { border-right: 1px solid #ccc; }
}

/* SM - Tablet */
@media screen and (min-width: 768px) and (max-width: 991px) {
	body { background: #e8e8e8 url(../images/common/background-shadow-sm.png) no-repeat top center; }

	header #logo { padding-left: 10px; }

	section#main { min-height: 500px; }

	#main.home .content { margin-top: 65px; }

	#main.home h1 {
		font-size: 28px;
	}

	#main.home p {
		font-size: 21px;
	}

	#main.home .content {
		width: 330px;
	}

	#main .content-container {
		margin-top: -180px;
	}

	#main.contact .content-container,
	#main.map .content-container {
		margin-top: -160px;
	}

	.partner { border-top: 1px solid #ccc; }
	.partner.top { border-top: 0; }
	.partner:nth-child(odd) { clear: both; }
	.partner:nth-child(2n) { border-left: 1px solid #ccc; }
	.second-to-last { border-bottom: 1px solid #ccc; }
	.last { border-right: 1px solid #ccc; }
}

/* MD - Desktop */
@media screen and (min-width: 992px) and (max-width: 1279px) {
	body { background: #e8e8e8 url(../images/common/background-shadow-md.png) no-repeat top center; }

	section#main { min-height: 650px; }

	#main.home .content { margin-top: 130px; }

	#main.home h1 {
		font-size: 29px;
	}

	#main .content-container {
		margin-top: -240px;
	}

	#main.contact .content-container,
	#main.map .content-container {
		margin-top: -195px;
	}

	.partner { border-top: 1px solid #ccc; }
	.partner.top { border-top: 0; }
	.partner:nth-child(odd) { clear: both; }
	.partner:nth-child(2n) { border-left: 1px solid #ccc; }
	.second-to-last { border-bottom: 1px solid #ccc; }
	.last { border-right: 1px solid #ccc; }
}

/* LG - Large Desktop */
@media screen and (min-width: 1280px) {
	body { background: #e8e8e8 url(../images/common/background-shadow-lg.png) no-repeat top center; }

	.lg-top {
		border-bottom: 1px solid #ccc;
	}

	.lg-top,
	.lg-bottom {
		border-left: 1px solid #ccc;
	}

	.lg-middle {
		border-left: 1px solid #ccc;
		border-bottom: 1px solid #ccc;
	}

		.lg-top:first-child,
		.lg-middle.first,
		.lg-bottom.first {
			border-left: 0;
			clear: both;
		}

	.last { border-right: 1px solid #ccc; }
}