* {
	margin: 0;
	padding: 0;
	border: 0;
}

article, aside, details, figcaption, figure, footer, header, main, nav, section, summary {
    display:block;
}

body {
	font-family: roboto, sans-serif;
	font-weight: 300;
	font-style: normal;
	font-size: .9rem;
}

h1 {
	color: #ffffff;
	font-family: magistral, sans-serif;
	font-weight: 700;
	font-style: normal;
	text-transform: uppercase;
	font-size: 1.8rem;
}

h2 {
	font-family: magistral, sans-serif;
	font-weight: 700;
	font-style: normal;
	text-transform: uppercase;
	font-size: 1.2rem;
}

header {
	height: 102px;
}

main p {
	padding-top: 2%;
}

.desktop-menu {
	display:none;
}

/********************************** HAMBURGER MENU STYLES **************************/
.hamburger{
  background:none;
  position:absolute;
  top:0;
  right:0;
  line-height:45px;
  padding:6% 15px 0px 15px;
  color:#323D1F;
  border:0;
  font-size:2em;
  font-weight:bold;
  cursor:pointer;
  outline:none;
  z-index:10000000000000;
}
.cross{
  background:none;
  position:absolute;
  top:0px;
  right:0;
  padding:6% 15px 0px 15px;
  color:#323D1F;
  border:0;
  font-size:3em;
  line-height:65px;
  font-weight:bold;
  cursor:pointer;
  outline:none;
  z-index:10000000000000;
}
.menu{z-index:1000000; font-family: magistral, sans-serif; font-weight:700; width:100%; background:#cccccc;  position:absolute; top: 98px; text-align:center; font-size:1.2rem;}
.menu ul {margin: 0; padding: 0; list-style-type: none; list-style-image: none;}
.menu li {display: block;   padding:15px 0 15px 0; border-bottom:#dddddd 1px solid;}
.menu li:hover{display: block;    background:#f1f1f1; padding:15px 0 15px 0; border-bottom:#dddddd 1px solid;}
.menu ul li a { text-decoration:none;  margin: 0px; color:#323d1f;}
.menu ul li a:hover { color:#323d1f; text-decoration:none;}
.menu a{text-decoration:none; color:#323d1f;}
.menu a:hover{text-decoration:none; color:#323d1f;}
/********************************** HAMBURGER MENU STYLES END **************************/

/************ Header Styling ************/
.logo {
	width: 65%;
	max-width: 225px;
	padding: 10px 0 10px 2%;
}

/************ Hero Image & Intro Styling ************/
.hero {
	position: relative;
	text-align: center;
	top: 50%;
}

.heroimage {
	width: 100%;
}

.textontop {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.intro {
	text-align: center;
	padding: 5%;
}

.important {
	font-weight: bold;
	padding-top: 3%;
}

/************ Main Content Sections Styling ************/
.section-photo {
	width: 100%;
}

.flex {
	width: 90%;
	margin: 0 auto;
}

.text-section {
	text-align: center;
	padding: 5%;
	margin-top: -4px;
}

.location {
	text-align: center;
	padding: 10% 5%;
}

.grey {
	background-color: #cccccc;
}

/************ Contact Form Styling ************/
.form {
	width: 100%;
	background-color: #cccccc;
	padding: 7%;
}

.form input {
	width: 85%;
	height: 35px;
}

.label_input_wrap {
  display: block;
	padding-bottom: 5px;
}

.input-section {
  margin-bottom: 20px;
}

textarea {
	width: 85%;
}

label {
	font-family: magistral, sans-serif;
	font-weight: 700;
	font-style: normal;
  font-size: 1.1rem;
  color: #323d1f;
}

.submit {
	width: 65%;
}

.submit input {
	font-family: magistral, sans-serif;
	font-weight: 700;
	font-style: normal;
  font-size: 1rem;
  background: #323d1f;
  color: white;
}

.submit input:hover {
  background: #4e662f;
}

/************ Location Styling ************/
.map {
    width: 90%;
		max-width: 920px;
    padding-top: 20px;
}

/************ Footer Styling ************/
footer {
	display: flex;
}

.companyinfo {
	width: 65%;
	padding: 25px 0 0 6%;
}

.companyname {
	font-family: magistral, sans-serif;
	font-weight: 700;
	font-style: normal;
	font-size: 1rem;
	color: #323D1F;
}

.letterform {
	width: 30%;
	max-width: 175px;
	padding: 20px 15px 0 0;
	float: right;
}

/******************** START MIN-WIDTH 500PX MEDIA QUERY ******************/
@media (min-width: 500px) {
	.hamburger, .cross {
		padding-top: 5%;
	}

	h1 {
		font-size: 2.5rem;
	}

	.submit {
		width: 50%;
	}

	.companyinfo {
		padding-top: 65px;
	}
}
/******************** END MIN-WIDTH 500PX MEDIA QUERY ******************/


/******************** START MIN-WIDTH 625PX MEDIA QUERY ******************/

@media (min-width: 625px) {
	.menu, .cross, .hamburger {
		display: none;
	}

	.desktop-menu {
		display: inline;
		text-align: right;
	}

	.logo {
		float: left;
	}

	.desktop-menu li {
		display: inline;
		position: relative;
		top: 40px;
	}

	nav ul li a {
		text-decoration: none;
		font-family: magistral, sans-serif;
		font-weight: 700;
		font-style: normal;
		font-size: 1.2rem;
		color: #323d1f;
		margin-right: 4%;
	}

	/************ Start Nav Hover Effect ************/
	.desktop-menu a:hover {
		color: #4e662f;
	}

	.hvr-underline-from-left {
		display: inline-block;
		vertical-align: middle;
		transform: perspective(1px) translateZ(0);
		box-shadow: 0 0 1px rgba(0, 0, 0, 0);
		position: relative;
		overflow: hidden;
	}

	.hvr-underline-from-left:before {
		content: "";
		position: absolute;
		z-index: -1;
		left: 0;
		right: 100%;
		bottom: 0;
		background: #4e662f;
		height: 4px;
		transition-property: right;
		transition-duration: 0.3s;
		transition-timing-function: ease-out;
	}

	.hvr-underline-from-left:hover:before, .hvr-underline-from-left:focus:before, .hvr-underline-from-left:active:before {
		right: 0;
	}
	/*********** End Nav Hover Effect ***********/

	h1 {
		font-size: 2.8rem;
	}

	.intro {
		padding: 2% 5%;
	}

	.text-section {
		padding: 5%;
	}

	.location {
		padding: 6% 5%;
	}

	.form {
		width: 80%;
		max-width: 800px;
		margin: 0 auto;
	}

	.submit {
		width: 40%;
	}

	.map {
	  width: 85%;
	}

	.companyinfo {
		padding-top: 90px;
	}
	/******************** END MIN-WIDTH 625PX MEDIA QUERY ******************/


	/******************** START MIN-WIDTH 800PX MEDIA QUERY ******************/
	@media (min-width: 800px) {
		h1 {
			font-size: 3.5rem;
		}

		.flex {
			display: flex;
			padding-top: 25px;
		}

		.wrapper {
			width: 50%;
		}

		.space {
			margin-right: 3%;
		}

		.form {
			padding: 5%;
		}
	}
/******************** END MIN-WIDTH 800PX MEDIA QUERY ******************/


/******************** START MIN-WIDTH 900PX MEDIA QUERY ******************/
@media (min-width: 900px) {
	.desktop-menu li {
		top: 38px;
	}

	nav ul li a {
		font-size: 1.4rem;
		color: #323d1f;
		margin-right: 4%;
	}

	.about-photo {
		width: 50%;
	}

	.form {
		padding: 4%;
	}

	.map {
	  width: 80%;
	}
}
/******************** END MIN-WIDTH 900PX MEDIA QUERY ******************/


/******************** START MIN-WIDTH 1200PX MEDIA QUERY ******************/
@media (min-width: 1200px) {
	h1 {
		font-size: 4rem;
	}

	h2 {
		font-size: 1.5rem;
	}

	.map {
	  width: 70%;
	}
}
/******************** END MIN-WIDTH 1200PX MEDIA QUERY ******************/
